diff --git a/notes/.obsidian/plugins/dataview/main.js b/notes/.obsidian/plugins/dataview/main.js index 6532358..82a0608 100644 --- a/notes/.obsidian/plugins/dataview/main.js +++ b/notes/.obsidian/plugins/dataview/main.js @@ -9330,6 +9330,10 @@ function parseFrontmatter(value) { } return result; } + else if (value instanceof Date) { + let dateParse = DateTime.fromJSDate(value); + return dateParse; + } else { let object = value; let result = {}; @@ -12390,7 +12394,7 @@ function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) { }; } -var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdGhlc2UgYXJlbid0IHJlYWxseSBwcml2YXRlLCBidXQgbm9yIGFyZSB0aGV5IHJlYWxseSB1c2VmdWwgdG8gZG9jdW1lbnQKCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBMdXhvbkVycm9yIGV4dGVuZHMgRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3IgewogICAgY29uc3RydWN0b3IocmVhc29uKSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIERhdGVUaW1lOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHsKICAgIGNvbnN0cnVjdG9yKHJlYXNvbikgewogICAgICBzdXBlcihgSW52YWxpZCBJbnRlcnZhbDogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24pIHsKICAgICAgc3VwZXIoYEludmFsaWQgRHVyYXRpb246ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkVW5pdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3Rvcih1bml0KSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIHVuaXQgJHt1bml0fWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkQXJndW1lbnRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBab25lSXNBYnN0cmFjdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoIlpvbmUgaXMgYW4gYWJzdHJhY3QgY2xhc3MiKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGNvbnN0IG4gPSAibnVtZXJpYyIsCiAgICBzID0gInNob3J0IiwKICAgIGwgPSAibG9uZyI7CgogIGNvbnN0IERBVEVfU0hPUlQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IG4sCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRURfV0lUSF9XRUVLREFZID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBzLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogcywKICB9OwoKICBjb25zdCBEQVRFX0ZVTEwgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IGwsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9IVUdFID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICB9OwoKICBjb25zdCBUSU1FX1NJTVBMRSA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgVElNRV9XSVRIX1NFQ09ORFMgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgdGltZVpvbmVOYW1lOiBzLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgY29uc3QgVElNRV8yNF9TSU1QTEUgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfU0VDT05EUyA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICBob3VyQ3ljbGU6ICJoMjMiLAogIH07CgogIGNvbnN0IFRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogbCwKICB9OwoKICBjb25zdCBEQVRFVElNRV9TSE9SVCA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbiwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBuLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHNlY29uZDogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICB3ZWVrZGF5OiBzLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IHMsCiAgfTsKCiAgY29uc3QgREFURVRJTUVfSFVHRSA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIHdlZWtkYXk6IGwsCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgdGltZVpvbmVOYW1lOiBsLAogIH07CgogIGNvbnN0IERBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgLyoqCiAgICogQGludGVyZmFjZQogICAqLwogIGNsYXNzIFpvbmUgewogICAgLyoqCiAgICAgKiBUaGUgdHlwZSBvZiB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB0eXBlKCkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIG5hbWUgb2YgdGhpcyB6b25lLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICBnZXQgaWFuYU5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLm5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG9mZnNldCBpcyBrbm93biB0byBiZSBmaXhlZCBmb3IgdGhlIHdob2xlIHllYXIuCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBuYW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmZvcm1hdCAtIFdoYXQgc3R5bGUgb2Ygb2Zmc2V0IHRvIHJldHVybi4gQWNjZXB0cyAnbG9uZycgb3IgJ3Nob3J0Jy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmxvY2FsZSAtIFdoYXQgbG9jYWxlIHRvIHJldHVybiB0aGUgb2Zmc2V0IG5hbWUgaW4uCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIG9mZnNldE5hbWUodHMsIG9wdHMpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG9mZnNldCdzIHZhbHVlIGFzIGEgc3RyaW5nCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBvZmZzZXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgLSBXaGF0IHN0eWxlIG9mIG9mZnNldCB0byByZXR1cm4uCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHkKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC4KICAgICAqIEBhYnN0cmFjdAogICAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBjb21wdXRlIHRoZSBvZmZzZXQKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgZXF1YWwgdG8gYW5vdGhlciB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7Wm9uZX0gb3RoZXJab25lIC0gdGhlIHpvbmUgdG8gY29tcGFyZQogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgZXF1YWxzKG90aGVyWm9uZSkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIHZhbGlkLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CiAgfQoKICBsZXQgc2luZ2xldG9uJDEgPSBudWxsOwoKICAvKioKICAgKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUgewogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGxvY2FsIHpvbmUKICAgICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgaW5zdGFuY2UoKSB7CiAgICAgIGlmIChzaW5nbGV0b24kMSA9PT0gbnVsbCkgewogICAgICAgIHNpbmdsZXRvbiQxID0gbmV3IFN5c3RlbVpvbmUoKTsKICAgICAgfQogICAgICByZXR1cm4gc2luZ2xldG9uJDE7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCB0eXBlKCkgewogICAgICByZXR1cm4gInN5c3RlbSI7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBuYW1lKCkgewogICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVW5pdmVyc2FsKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkgewogICAgICByZXR1cm4gcGFyc2Vab25lSW5mbyh0cywgZm9ybWF0LCBsb2NhbGUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHJldHVybiAtbmV3IERhdGUodHMpLmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAic3lzdGVtIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgbGV0IGR0ZkNhY2hlID0ge307CiAgZnVuY3Rpb24gbWFrZURURih6b25lKSB7CiAgICBpZiAoIWR0ZkNhY2hlW3pvbmVdKSB7CiAgICAgIGR0ZkNhY2hlW3pvbmVdID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIiwgewogICAgICAgIGhvdXIxMjogZmFsc2UsCiAgICAgICAgdGltZVpvbmU6IHpvbmUsCiAgICAgICAgeWVhcjogIm51bWVyaWMiLAogICAgICAgIG1vbnRoOiAiMi1kaWdpdCIsCiAgICAgICAgZGF5OiAiMi1kaWdpdCIsCiAgICAgICAgaG91cjogIjItZGlnaXQiLAogICAgICAgIG1pbnV0ZTogIjItZGlnaXQiLAogICAgICAgIHNlY29uZDogIjItZGlnaXQiLAogICAgICAgIGVyYTogInNob3J0IiwKICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gZHRmQ2FjaGVbem9uZV07CiAgfQoKICBjb25zdCB0eXBlVG9Qb3MgPSB7CiAgICB5ZWFyOiAwLAogICAgbW9udGg6IDEsCiAgICBkYXk6IDIsCiAgICBlcmE6IDMsCiAgICBob3VyOiA0LAogICAgbWludXRlOiA1LAogICAgc2Vjb25kOiA2LAogIH07CgogIGZ1bmN0aW9uIGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSkgewogICAgY29uc3QgZm9ybWF0dGVkID0gZHRmLmZvcm1hdChkYXRlKS5yZXBsYWNlKC9cdTIwMEUvZywgIiIpLAogICAgICBwYXJzZWQgPSAvKFxkKylcLyhcZCspXC8oXGQrKSAoQUR8QkMpLD8gKFxkKyk6KFxkKyk6KFxkKykvLmV4ZWMoZm9ybWF0dGVkKSwKICAgICAgWywgZk1vbnRoLCBmRGF5LCBmWWVhciwgZmFkT3JCYywgZkhvdXIsIGZNaW51dGUsIGZTZWNvbmRdID0gcGFyc2VkOwogICAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07CiAgfQoKICBmdW5jdGlvbiBwYXJ0c09mZnNldChkdGYsIGRhdGUpIHsKICAgIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXRUb1BhcnRzKGRhdGUpOwogICAgY29uc3QgZmlsbGVkID0gW107CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykgewogICAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBmb3JtYXR0ZWRbaV07CiAgICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTsKCiAgICAgIGlmICh0eXBlID09PSAiZXJhIikgewogICAgICAgIGZpbGxlZFtwb3NdID0gdmFsdWU7CiAgICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHsKICAgICAgICBmaWxsZWRbcG9zXSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmaWxsZWQ7CiAgfQoKICBsZXQgaWFuYVpvbmVDYWNoZSA9IHt9OwogIC8qKgogICAqIEEgem9uZSBpZGVudGlmaWVkIGJ5IGFuIElBTkEgaWRlbnRpZmllciwgbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgSUFOQVpvbmUgZXh0ZW5kcyBab25lIHsKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWUKICAgICAqIEByZXR1cm4ge0lBTkFab25lfQogICAgICovCiAgICBzdGF0aWMgY3JlYXRlKG5hbWUpIHsKICAgICAgaWYgKCFpYW5hWm9uZUNhY2hlW25hbWVdKSB7CiAgICAgICAgaWFuYVpvbmVDYWNoZVtuYW1lXSA9IG5ldyBJQU5BWm9uZShuYW1lKTsKICAgICAgfQogICAgICByZXR1cm4gaWFuYVpvbmVDYWNoZVtuYW1lXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7CiAgICAgIGlhbmFab25lQ2FjaGUgPSB7fTsKICAgICAgZHRmQ2FjaGUgPSB7fTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlzIGEgdmFsaWQgc3BlY2lmaWVyLiBUaGlzIG9ubHkgY2hlY2tzIHRoZSBzdHJpbmcncyBmb3JtYXQsIG5vdCB0aGF0IHRoZSBzcGVjaWZpZXIgaWRlbnRpZmllcyBhIGtub3duIHpvbmU7IHNlZSBpc1ZhbGlkWm9uZSBmb3IgdGhhdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIHN0cmluZyB0byBjaGVjayB2YWxpZGl0eSBvbgogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiQW1lcmljYS9OZXdfWW9yayIpIC8vPT4gdHJ1ZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiU3BvcnR+fmJsb3JwIikgLy89PiBmYWxzZQogICAgICogQGRlcHJlY2F0ZWQgVGhpcyBtZXRob2QgcmV0dXJucyBmYWxzZSBmb3Igc29tZSB2YWxpZCBJQU5BIG5hbWVzLiBVc2UgaXNWYWxpZFpvbmUgaW5zdGVhZC4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkU3BlY2lmaWVyKHMpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZFpvbmUocyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHByb3ZpZGVkIHN0cmluZyBpZGVudGlmaWVzIGEgcmVhbCB6b25lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gem9uZSAtIFRoZSBzdHJpbmcgdG8gY2hlY2sKICAgICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKCJBbWVyaWNhL05ld19Zb3JrIikgLy89PiB0cnVlCiAgICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZSgiRmFudGFzaWEvQ2FzdGxlIikgLy89PiBmYWxzZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoIlNwb3J0fn5ibG9ycCIpIC8vPT4gZmFsc2UKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkWm9uZSh6b25lKSB7CiAgICAgIGlmICghem9uZSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICB0cnkgewogICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIsIHsgdGltZVpvbmU6IHpvbmUgfSkuZm9ybWF0KCk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdHJ1Y3RvcihuYW1lKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy56b25lTmFtZSA9IG5hbWU7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJpYW5hIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IG5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7CiAgICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSwgdGhpcy5uYW1lKTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh0aGlzLm9mZnNldCh0cyksIGZvcm1hdCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldCh0cykgewogICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpOwoKICAgICAgaWYgKGlzTmFOKGRhdGUpKSByZXR1cm4gTmFOOwoKICAgICAgY29uc3QgZHRmID0gbWFrZURURih0aGlzLm5hbWUpOwogICAgICBsZXQgW3llYXIsIG1vbnRoLCBkYXksIGFkT3JCYywgaG91ciwgbWludXRlLCBzZWNvbmRdID0gZHRmLmZvcm1hdFRvUGFydHMKICAgICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkKICAgICAgICA6IGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSk7CgogICAgICBpZiAoYWRPckJjID09PSAiQkMiKSB7CiAgICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7CiAgICAgIH0KCiAgICAgIC8vIGJlY2F1c2Ugd2UncmUgdXNpbmcgaG91cjEyIGFuZCBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMDI1NTY0JmNhbj0yJnE9JTIyMjQlM0EwMCUyMiUyMGRhdGV0aW1lZm9ybWF0CiAgICAgIGNvbnN0IGFkanVzdGVkSG91ciA9IGhvdXIgPT09IDI0ID8gMCA6IGhvdXI7CgogICAgICBjb25zdCBhc1VUQyA9IG9ialRvTG9jYWxUUyh7CiAgICAgICAgeWVhciwKICAgICAgICBtb250aCwKICAgICAgICBkYXksCiAgICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLAogICAgICAgIG1pbnV0ZSwKICAgICAgICBzZWNvbmQsCiAgICAgICAgbWlsbGlzZWNvbmQ6IDAsCiAgICAgIH0pOwoKICAgICAgbGV0IGFzVFMgPSArZGF0ZTsKICAgICAgY29uc3Qgb3ZlciA9IGFzVFMgJSAxMDAwOwogICAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjsKICAgICAgcmV0dXJuIChhc1VUQyAtIGFzVFMpIC8gKDYwICogMTAwMCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAiaWFuYSIgJiYgb3RoZXJab25lLm5hbWUgPT09IHRoaXMubmFtZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0aGlzLnZhbGlkOwogICAgfQogIH0KCiAgLy8gdG9kbyAtIHJlbWFwIGNhY2hpbmcKCiAgbGV0IGludGxMRkNhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkTEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBkdGYgPSBpbnRsTEZDYWNoZVtrZXldOwogICAgaWYgKCFkdGYpIHsKICAgICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTEZDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsRFRDYWNoZSA9IHt9OwogIGZ1bmN0aW9uIGdldENhY2hlZERURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkgewogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pOwogICAgbGV0IGR0ZiA9IGludGxEVENhY2hlW2tleV07CiAgICBpZiAoIWR0ZikgewogICAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsRFRDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsTnVtQ2FjaGUgPSB7fTsKICBmdW5jdGlvbiBnZXRDYWNoZWRJTkYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBpbmYgPSBpbnRsTnVtQ2FjaGVba2V5XTsKICAgIGlmICghaW5mKSB7CiAgICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTnVtQ2FjaGVba2V5XSA9IGluZjsKICAgIH0KICAgIHJldHVybiBpbmY7CiAgfQoKICBsZXQgaW50bFJlbENhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkUlRGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7CiAgICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9ucwogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgY2FjaGVLZXlPcHRzXSk7CiAgICBsZXQgaW5mID0gaW50bFJlbENhY2hlW2tleV07CiAgICBpZiAoIWluZikgewogICAgICBpbmYgPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQobG9jU3RyaW5nLCBvcHRzKTsKICAgICAgaW50bFJlbENhY2hlW2tleV0gPSBpbmY7CiAgICB9CiAgICByZXR1cm4gaW5mOwogIH0KCiAgbGV0IHN5c0xvY2FsZUNhY2hlID0gbnVsbDsKICBmdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7CiAgICBpZiAoc3lzTG9jYWxlQ2FjaGUpIHsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfSBlbHNlIHsKICAgICAgc3lzTG9jYWxlQ2FjaGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VMb2NhbGVTdHJpbmcobG9jYWxlU3RyKSB7CiAgICAvLyBJIHJlYWxseSB3YW50IHRvIGF2b2lkIHdyaXRpbmcgYSBCQ1AgNDcgcGFyc2VyCiAgICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDcKICAgIC8vIEluc3RlYWQsIHdlJ2xsIGRvIHRoaXM6CgogICAgLy8gYSkgaWYgdGhlIHN0cmluZyBoYXMgbm8gLXUgZXh0ZW5zaW9ucywganVzdCBsZWF2ZSBpdCBhbG9uZQogICAgLy8gYikgaWYgaXQgZG9lcywgdXNlIEludGwgdG8gcmVzb2x2ZSBldmVyeXRoaW5nCiAgICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXUKCiAgICAvLyBwcml2YXRlIHN1YnRhZ3MgYW5kIHVuaWNvZGUgc3VidGFncyBoYXZlIG9yZGVyaW5nIHJlcXVpcmVtZW50cywKICAgIC8vIGFuZCB3ZSdyZSBub3QgcHJvcGVybHkgcGFyc2luZyB0aGlzLCBzbyBqdXN0IHN0cmlwIG91dCB0aGUKICAgIC8vIHByaXZhdGUgb25lcyBpZiB0aGV5IGV4aXN0LgogICAgY29uc3QgeEluZGV4ID0gbG9jYWxlU3RyLmluZGV4T2YoIi14LSIpOwogICAgaWYgKHhJbmRleCAhPT0gLTEpIHsKICAgICAgbG9jYWxlU3RyID0gbG9jYWxlU3RyLnN1YnN0cmluZygwLCB4SW5kZXgpOwogICAgfQoKICAgIGNvbnN0IHVJbmRleCA9IGxvY2FsZVN0ci5pbmRleE9mKCItdS0iKTsKICAgIGlmICh1SW5kZXggPT09IC0xKSB7CiAgICAgIHJldHVybiBbbG9jYWxlU3RyXTsKICAgIH0gZWxzZSB7CiAgICAgIGxldCBvcHRpb25zOwogICAgICBsZXQgc2VsZWN0ZWRTdHI7CiAgICAgIHRyeSB7CiAgICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gbG9jYWxlU3RyOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTsKICAgICAgICBvcHRpb25zID0gZ2V0Q2FjaGVkRFRGKHNtYWxsZXIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gc21hbGxlcjsKICAgICAgfQoKICAgICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zOwogICAgICByZXR1cm4gW3NlbGVjdGVkU3RyLCBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyXTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGludGxDb25maWdTdHJpbmcobG9jYWxlU3RyLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSB7CiAgICBpZiAob3V0cHV0Q2FsZW5kYXIgfHwgbnVtYmVyaW5nU3lzdGVtKSB7CiAgICAgIGlmICghbG9jYWxlU3RyLmluY2x1ZGVzKCItdS0iKSkgewogICAgICAgIGxvY2FsZVN0ciArPSAiLXUiOwogICAgICB9CgogICAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1jYS0ke291dHB1dENhbGVuZGFyfWA7CiAgICAgIH0KCiAgICAgIGlmIChudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gOwogICAgICB9CiAgICAgIHJldHVybiBsb2NhbGVTdHI7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbG9jYWxlU3RyOwogICAgfQogIH0KCiAgZnVuY3Rpb24gbWFwTW9udGhzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMjsgaSsrKSB7CiAgICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpOwogICAgICBtcy5wdXNoKGYoZHQpKTsKICAgIH0KICAgIHJldHVybiBtczsKICB9CgogIGZ1bmN0aW9uIG1hcFdlZWtkYXlzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHsKICAgICAgY29uc3QgZHQgPSBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzICsgaSk7CiAgICAgIG1zLnB1c2goZihkdCkpOwogICAgfQogICAgcmV0dXJuIG1zOwogIH0KCiAgZnVuY3Rpb24gbGlzdFN0dWZmKGxvYywgbGVuZ3RoLCBkZWZhdWx0T0ssIGVuZ2xpc2hGbiwgaW50bEZuKSB7CiAgICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7CgogICAgaWYgKG1vZGUgPT09ICJlcnJvciIpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICJlbiIpIHsKICAgICAgcmV0dXJuIGVuZ2xpc2hGbihsZW5ndGgpOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGludGxGbihsZW5ndGgpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHsKICAgIGlmIChsb2MubnVtYmVyaW5nU3lzdGVtICYmIGxvYy5udW1iZXJpbmdTeXN0ZW0gIT09ICJsYXRuIikgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gKAogICAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09ICJsYXRuIiB8fAogICAgICAgICFsb2MubG9jYWxlIHx8CiAgICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKCJlbiIpIHx8CiAgICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jLmludGwpLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmluZ1N5c3RlbSA9PT0gImxhdG4iCiAgICAgICk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBQb2x5TnVtYmVyRm9ybWF0dGVyIHsKICAgIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7CiAgICAgIHRoaXMucGFkVG8gPSBvcHRzLnBhZFRvIHx8IDA7CiAgICAgIHRoaXMuZmxvb3IgPSBvcHRzLmZsb29yIHx8IGZhbHNlOwoKICAgICAgY29uc3QgeyBwYWRUbywgZmxvb3IsIC4uLm90aGVyT3B0cyB9ID0gb3B0czsKCiAgICAgIGlmICghZm9yY2VTaW1wbGUgfHwgT2JqZWN0LmtleXMob3RoZXJPcHRzKS5sZW5ndGggPiAwKSB7CiAgICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9OwogICAgICAgIGlmIChvcHRzLnBhZFRvID4gMCkgaW50bE9wdHMubWluaW11bUludGVnZXJEaWdpdHMgPSBvcHRzLnBhZFRvOwogICAgICAgIHRoaXMuaW5mID0gZ2V0Q2FjaGVkSU5GKGludGwsIGludGxPcHRzKTsKICAgICAgfQogICAgfQoKICAgIGZvcm1hdChpKSB7CiAgICAgIGlmICh0aGlzLmluZikgewogICAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpOwogICAgICAgIHJldHVybiB0aGlzLmluZi5mb3JtYXQoZml4ZWQpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzCiAgICAgICAgY29uc3QgZml4ZWQgPSB0aGlzLmZsb29yID8gTWF0aC5mbG9vcihpKSA6IHJvdW5kVG8oaSwgMyk7CiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KGZpeGVkLCB0aGlzLnBhZFRvKTsKICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY2xhc3MgUG9seURhdGVGb3JtYXR0ZXIgewogICAgY29uc3RydWN0b3IoZHQsIGludGwsIG9wdHMpIHsKICAgICAgdGhpcy5vcHRzID0gb3B0czsKCiAgICAgIGxldCB6ID0gdW5kZWZpbmVkOwogICAgICBpZiAoZHQuem9uZS5pc1VuaXZlcnNhbCkgewogICAgICAgIC8vIFVUQy04IG9yIEV0Yy9VVEMtOCBhcmUgbm90IHBhcnQgb2YgdHpkYXRhLCBvbmx5IEV0Yy9HTVQrOCBhbmQgdGhlIGxpa2UuCiAgICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczoKICAgICAgICAvLyAxLiBSZXByZXNlbnRpbmcgb2Zmc2V0IDAgd2hlbiBVVEMgaXMgdXNlZCB0byBtYWludGFpbiBwcmV2aW91cyBiZWhhdmlvciBhbmQgZG9lcyBub3QgYmVjb21lIEdNVC4KICAgICAgICAvLyAyLiBVbnN1cHBvcnRlZCBieSB0aGUgYnJvd3NlcjoKICAgICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjLwogICAgICAgIC8vICAgIC0gPCBFdGMvR01ULTE0LCA+IEV0Yy9HTVQrMTIsIGFuZCAzMC1taW51dGUgb3IgNDUtbWludXRlIG9mZnNldHMgYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YQogICAgICAgIGNvbnN0IGdtdE9mZnNldCA9IC0xICogKGR0Lm9mZnNldCAvIDYwKTsKICAgICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gOwogICAgICAgIGlmIChkdC5vZmZzZXQgIT09IDAgJiYgSUFOQVpvbmUuY3JlYXRlKG9mZnNldFopLnZhbGlkKSB7CiAgICAgICAgICB6ID0gb2Zmc2V0WjsKICAgICAgICAgIHRoaXMuZHQgPSBkdDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gTm90IGFsbCBmaXhlZC1vZmZzZXQgem9uZXMgbGlrZSBFdGMvKzQ6MzAgYXJlIHByZXNlbnQgaW4gdHpkYXRhLgogICAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6CiAgICAgICAgICAvLyAxLiBUaGUgZm9ybWF0IG9wdGlvbnMgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBXZSBjYW4ndCBkbyB0aGF0LCBzbyB0aGUgYmVzdAogICAgICAgICAgLy8gd2UgY2FuIGRvIGlzIGZvcm1hdCB0aGUgZGF0ZSBpbiBVVEMuCiAgICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbQogICAgICAgICAgLy8gdGhlIHRpbWUgYW5kIHRlbGwgdGhlIGZvcm1hdHRlciB0byBzaG93IGl0IHRvIHVzIGluIFVUQywgc28gdGhhdCB0aGUgdGltZSBpcyByaWdodAogICAgICAgICAgLy8gYW5kIHRoZSBiYWQgem9uZSBkb2Vzbid0IHNob3cgdXAuCiAgICAgICAgICB6ID0gIlVUQyI7CiAgICAgICAgICBpZiAob3B0cy50aW1lWm9uZU5hbWUpIHsKICAgICAgICAgICAgdGhpcy5kdCA9IGR0OwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5kdCA9IGR0Lm9mZnNldCA9PT0gMCA/IGR0IDogRGF0ZVRpbWUuZnJvbU1pbGxpcyhkdC50cyArIGR0Lm9mZnNldCAqIDYwICogMTAwMCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGR0LnpvbmUudHlwZSA9PT0gInN5c3RlbSIpIHsKICAgICAgICB0aGlzLmR0ID0gZHQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5kdCA9IGR0OwogICAgICAgIHogPSBkdC56b25lLm5hbWU7CiAgICAgIH0KCiAgICAgIGNvbnN0IGludGxPcHRzID0geyAuLi50aGlzLm9wdHMgfTsKICAgICAgaW50bE9wdHMudGltZVpvbmUgPSBpbnRsT3B0cy50aW1lWm9uZSB8fCB6OwogICAgICB0aGlzLmR0ZiA9IGdldENhY2hlZERURihpbnRsLCBpbnRsT3B0cyk7CiAgICB9CgogICAgZm9ybWF0KCkgewogICAgICByZXR1cm4gdGhpcy5kdGYuZm9ybWF0KHRoaXMuZHQudG9KU0RhdGUoKSk7CiAgICB9CgogICAgZm9ybWF0VG9QYXJ0cygpIHsKICAgICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTsKICAgIH0KCiAgICByZXNvbHZlZE9wdGlvbnMoKSB7CiAgICAgIHJldHVybiB0aGlzLmR0Zi5yZXNvbHZlZE9wdGlvbnMoKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgY2xhc3MgUG9seVJlbEZvcm1hdHRlciB7CiAgICBjb25zdHJ1Y3RvcihpbnRsLCBpc0VuZ2xpc2gsIG9wdHMpIHsKICAgICAgdGhpcy5vcHRzID0geyBzdHlsZTogImxvbmciLCAuLi5vcHRzIH07CiAgICAgIGlmICghaXNFbmdsaXNoICYmIGhhc1JlbGF0aXZlKCkpIHsKICAgICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTsKICAgICAgfQogICAgfQoKICAgIGZvcm1hdChjb3VudCwgdW5pdCkgewogICAgICBpZiAodGhpcy5ydGYpIHsKICAgICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0KGNvdW50LCB1bml0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCB0aGlzLm9wdHMubnVtZXJpYywgdGhpcy5vcHRzLnN0eWxlICE9PSAibG9uZyIpOwogICAgICB9CiAgICB9CgogICAgZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCkgewogICAgICBpZiAodGhpcy5ydGYpIHsKICAgICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBMb2NhbGUgewogICAgc3RhdGljIGZyb21PcHRzKG9wdHMpIHsKICAgICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTsKICAgIH0KCiAgICBzdGF0aWMgY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciwgZGVmYXVsdFRvRU4gPSBmYWxzZSkgewogICAgICBjb25zdCBzcGVjaWZpZWRMb2NhbGUgPSBsb2NhbGUgfHwgU2V0dGluZ3MuZGVmYXVsdExvY2FsZTsKICAgICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHMKICAgICAgY29uc3QgbG9jYWxlUiA9IHNwZWNpZmllZExvY2FsZSB8fCAoZGVmYXVsdFRvRU4gPyAiZW4tVVMiIDogc3lzdGVtTG9jYWxlKCkpOwogICAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07CiAgICAgIGNvbnN0IG91dHB1dENhbGVuZGFyUiA9IG91dHB1dENhbGVuZGFyIHx8IFNldHRpbmdzLmRlZmF1bHRPdXRwdXRDYWxlbmRhcjsKICAgICAgcmV0dXJuIG5ldyBMb2NhbGUobG9jYWxlUiwgbnVtYmVyaW5nU3lzdGVtUiwgb3V0cHV0Q2FsZW5kYXJSLCBzcGVjaWZpZWRMb2NhbGUpOwogICAgfQoKICAgIHN0YXRpYyByZXNldENhY2hlKCkgewogICAgICBzeXNMb2NhbGVDYWNoZSA9IG51bGw7CiAgICAgIGludGxEVENhY2hlID0ge307CiAgICAgIGludGxOdW1DYWNoZSA9IHt9OwogICAgICBpbnRsUmVsQ2FjaGUgPSB7fTsKICAgIH0KCiAgICBzdGF0aWMgZnJvbU9iamVjdCh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciB9ID0ge30pIHsKICAgICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTsKICAgIH0KCiAgICBjb25zdHJ1Y3Rvcihsb2NhbGUsIG51bWJlcmluZywgb3V0cHV0Q2FsZW5kYXIsIHNwZWNpZmllZExvY2FsZSkgewogICAgICBjb25zdCBbcGFyc2VkTG9jYWxlLCBwYXJzZWROdW1iZXJpbmdTeXN0ZW0sIHBhcnNlZE91dHB1dENhbGVuZGFyXSA9IHBhcnNlTG9jYWxlU3RyaW5nKGxvY2FsZSk7CgogICAgICB0aGlzLmxvY2FsZSA9IHBhcnNlZExvY2FsZTsKICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7CiAgICAgIHRoaXMub3V0cHV0Q2FsZW5kYXIgPSBvdXRwdXRDYWxlbmRhciB8fCBwYXJzZWRPdXRwdXRDYWxlbmRhciB8fCBudWxsOwogICAgICB0aGlzLmludGwgPSBpbnRsQ29uZmlnU3RyaW5nKHRoaXMubG9jYWxlLCB0aGlzLm51bWJlcmluZ1N5c3RlbSwgdGhpcy5vdXRwdXRDYWxlbmRhcik7CgogICAgICB0aGlzLndlZWtkYXlzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07CiAgICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07CiAgICAgIHRoaXMubWVyaWRpZW1DYWNoZSA9IG51bGw7CiAgICAgIHRoaXMuZXJhQ2FjaGUgPSB7fTsKCiAgICAgIHRoaXMuc3BlY2lmaWVkTG9jYWxlID0gc3BlY2lmaWVkTG9jYWxlOwogICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDsKICAgIH0KCiAgICBnZXQgZmFzdE51bWJlcnMoKSB7CiAgICAgIGlmICh0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID09IG51bGwpIHsKICAgICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMuZmFzdE51bWJlcnNDYWNoZWQ7CiAgICB9CgogICAgbGlzdGluZ01vZGUoKSB7CiAgICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7CiAgICAgIGNvbnN0IGhhc05vV2VpcmRuZXNzID0KICAgICAgICAodGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG51bGwgfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09ICJsYXRuIikgJiYKICAgICAgICAodGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gbnVsbCB8fCB0aGlzLm91dHB1dENhbGVuZGFyID09PSAiZ3JlZ29yeSIpOwogICAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gImVuIiA6ICJpbnRsIjsKICAgIH0KCiAgICBjbG9uZShhbHRzKSB7CiAgICAgIGlmICghYWx0cyB8fCBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhbHRzKS5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gTG9jYWxlLmNyZWF0ZSgKICAgICAgICAgIGFsdHMubG9jYWxlIHx8IHRoaXMuc3BlY2lmaWVkTG9jYWxlLAogICAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sCiAgICAgICAgICBhbHRzLm91dHB1dENhbGVuZGFyIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIsCiAgICAgICAgICBhbHRzLmRlZmF1bHRUb0VOIHx8IGZhbHNlCiAgICAgICAgKTsKICAgICAgfQogICAgfQoKICAgIHJlZGVmYXVsdFRvRU4oYWx0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7CiAgICB9CgogICAgcmVkZWZhdWx0VG9TeXN0ZW0oYWx0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IGZhbHNlIH0pOwogICAgfQoKICAgIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7CiAgICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIG1vbnRocywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogIm51bWVyaWMiIH0gOiB7IG1vbnRoOiBsZW5ndGggfSwKICAgICAgICAgIGZvcm1hdFN0ciA9IGZvcm1hdCA/ICJmb3JtYXQiIDogInN0YW5kYWxvbmUiOwogICAgICAgIGlmICghdGhpcy5tb250aHNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHsKICAgICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCAibW9udGgiKSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgd2Vla2RheXMobGVuZ3RoLCBmb3JtYXQgPSBmYWxzZSwgZGVmYXVsdE9LID0gdHJ1ZSkgewogICAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCB3ZWVrZGF5cywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQKICAgICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogIm51bWVyaWMiLCBtb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiB9CiAgICAgICAgICAgIDogeyB3ZWVrZGF5OiBsZW5ndGggfSwKICAgICAgICAgIGZvcm1hdFN0ciA9IGZvcm1hdCA/ICJmb3JtYXQiIDogInN0YW5kYWxvbmUiOwogICAgICAgIGlmICghdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSkgewogICAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT4KICAgICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCAid2Vla2RheSIpCiAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgbWVyaWRpZW1zKGRlZmF1bHRPSyA9IHRydWUpIHsKICAgICAgcmV0dXJuIGxpc3RTdHVmZigKICAgICAgICB0aGlzLAogICAgICAgIHVuZGVmaW5lZCwKICAgICAgICBkZWZhdWx0T0ssCiAgICAgICAgKCkgPT4gbWVyaWRpZW1zLAogICAgICAgICgpID0+IHsKICAgICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvCiAgICAgICAgICAvLyBmb3IgQU0gYW5kIFBNLiBUaGlzIGlzIHByb2JhYmx5IHdyb25nLCBidXQgaXQncyBtYWtlcyBwYXJzaW5nIHdheSBlYXNpZXIuCiAgICAgICAgICBpZiAoIXRoaXMubWVyaWRpZW1DYWNoZSkgewogICAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiAibnVtZXJpYyIsIGhvdXJDeWNsZTogImgxMiIgfTsKICAgICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcCgKICAgICAgICAgICAgICAoZHQpID0+IHRoaXMuZXh0cmFjdChkdCwgaW50bCwgImRheXBlcmlvZCIpCiAgICAgICAgICAgICk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHRoaXMubWVyaWRpZW1DYWNoZTsKICAgICAgICB9CiAgICAgICk7CiAgICB9CgogICAgZXJhcyhsZW5ndGgsIGRlZmF1bHRPSyA9IHRydWUpIHsKICAgICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgZXJhcywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSB7IGVyYTogbGVuZ3RoIH07CgogICAgICAgIC8vIFRoaXMgaXMgcHJvYmxlbWF0aWMuIERpZmZlcmVudCBjYWxlbmRhcnMgYXJlIGdvaW5nIHRvIGRlZmluZSBlcmFzIHRvdGFsbHkgZGlmZmVyZW50bHkuIFdoYXQgSSBuZWVkIGlzIHRoZSBtaW5pbXVtIHNldCBvZiBkYXRlcwogICAgICAgIC8vIHRvIGRlZmluaXRlbHkgZW51bWVyYXRlIHRoZW0uCiAgICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHsKICAgICAgICAgIHRoaXMuZXJhQ2FjaGVbbGVuZ3RoXSA9IFtEYXRlVGltZS51dGMoLTQwLCAxLCAxKSwgRGF0ZVRpbWUudXRjKDIwMTcsIDEsIDEpXS5tYXAoKGR0KSA9PgogICAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsICJlcmEiKQogICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aGlzLmVyYUNhY2hlW2xlbmd0aF07CiAgICAgIH0pOwogICAgfQoKICAgIGV4dHJhY3QoZHQsIGludGxPcHRzLCBmaWVsZCkgewogICAgICBjb25zdCBkZiA9IHRoaXMuZHRGb3JtYXR0ZXIoZHQsIGludGxPcHRzKSwKICAgICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLAogICAgICAgIG1hdGNoaW5nID0gcmVzdWx0cy5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZmllbGQpOwogICAgICByZXR1cm4gbWF0Y2hpbmcgPyBtYXRjaGluZy52YWx1ZSA6IG51bGw7CiAgICB9CgogICAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkgewogICAgICAvLyB0aGlzIGZvcmNlc2ltcGxlIG9wdGlvbiBpcyBuZXZlciB1c2VkICh0aGUgb25seSBjYWxsZXIgc2hvcnQtY2lyY3VpdHMgb24gaXQsIGJ1dCBpdCBzZWVtcyBzYWZlciB0byBsZWF2ZSkKICAgICAgLy8gKGluIGNvbnRyYXN0LCB0aGUgcmVzdCBvZiB0aGUgY29uZGl0aW9uIGlzIHVzZWQgaGVhdmlseSkKICAgICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTsKICAgIH0KCiAgICBkdEZvcm1hdHRlcihkdCwgaW50bE9wdHMgPSB7fSkgewogICAgICByZXR1cm4gbmV3IFBvbHlEYXRlRm9ybWF0dGVyKGR0LCB0aGlzLmludGwsIGludGxPcHRzKTsKICAgIH0KCiAgICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiBuZXcgUG9seVJlbEZvcm1hdHRlcih0aGlzLmludGwsIHRoaXMuaXNFbmdsaXNoKCksIG9wdHMpOwogICAgfQoKICAgIGxpc3RGb3JtYXR0ZXIob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpOwogICAgfQoKICAgIGlzRW5nbGlzaCgpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB0aGlzLmxvY2FsZSA9PT0gImVuIiB8fAogICAgICAgIHRoaXMubG9jYWxlLnRvTG93ZXJDYXNlKCkgPT09ICJlbi11cyIgfHwKICAgICAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmludGwpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZS5zdGFydHNXaXRoKCJlbi11cyIpCiAgICAgICk7CiAgICB9CgogICAgZXF1YWxzKG90aGVyKSB7CiAgICAgIHJldHVybiAoCiAgICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJgogICAgICAgIHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBvdGhlci5udW1iZXJpbmdTeXN0ZW0gJiYKICAgICAgICB0aGlzLm91dHB1dENhbGVuZGFyID09PSBvdGhlci5vdXRwdXRDYWxlbmRhcgogICAgICApOwogICAgfQogIH0KCiAgbGV0IHNpbmdsZXRvbiA9IG51bGw7CgogIC8qKgogICAqIEEgem9uZSB3aXRoIGEgZml4ZWQgb2Zmc2V0IChtZWFuaW5nIG5vIERTVCkKICAgKiBAaW1wbGVtZW50cyB7Wm9uZX0KICAgKi8KICBjbGFzcyBGaXhlZE9mZnNldFpvbmUgZXh0ZW5kcyBab25lIHsKICAgIC8qKgogICAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQwogICAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfQogICAgICovCiAgICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkgewogICAgICBpZiAoc2luZ2xldG9uID09PSBudWxsKSB7CiAgICAgICAgc2luZ2xldG9uID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZSgwKTsKICAgICAgfQogICAgICByZXR1cm4gc2luZ2xldG9uOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2Zmc2V0IC0gVGhlIG9mZnNldCBpbiBtaW51dGVzCiAgICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBpbnN0YW5jZShvZmZzZXQpIHsKICAgICAgcmV0dXJuIG9mZnNldCA9PT0gMCA/IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZSA6IG5ldyBGaXhlZE9mZnNldFpvbmUob2Zmc2V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBpbnN0YW5jZSBvZiBGaXhlZE9mZnNldFpvbmUgZnJvbSBhIFVUQyBvZmZzZXQgc3RyaW5nLCBsaWtlICJVVEMrNiIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcigiVVRDKzYiKQogICAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKCJVVEMrMDYiKQogICAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKCJVVEMtNjowMCIpCiAgICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7CiAgICAgIGlmIChzKSB7CiAgICAgICAgY29uc3QgciA9IHMubWF0Y2goL151dGMoPzooWystXVxkezEsMn0pKD86OihcZHsyfSkpPyk/JC9pKTsKICAgICAgICBpZiAocikgewogICAgICAgICAgcmV0dXJuIG5ldyBGaXhlZE9mZnNldFpvbmUoc2lnbmVkT2Zmc2V0KHJbMV0sIHJbMl0pKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgY29uc3RydWN0b3Iob2Zmc2V0KSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy5maXhlZCA9IG9mZnNldDsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IHR5cGUoKSB7CiAgICAgIHJldHVybiAiZml4ZWQiOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuZml4ZWQgPT09IDAgPyAiVVRDIiA6IGBVVEMke2Zvcm1hdE9mZnNldCh0aGlzLmZpeGVkLCAibmFycm93Iil9YDsKICAgIH0KCiAgICBnZXQgaWFuYU5hbWUoKSB7CiAgICAgIGlmICh0aGlzLmZpeGVkID09PSAwKSB7CiAgICAgICAgcmV0dXJuICJFdGMvVVRDIjsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgIm5hcnJvdyIpfWA7CiAgICAgIH0KICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMubmFtZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh0aGlzLmZpeGVkLCBmb3JtYXQpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXQoKSB7CiAgICAgIHJldHVybiB0aGlzLmZpeGVkOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBlcXVhbHMob3RoZXJab25lKSB7CiAgICAgIHJldHVybiBvdGhlclpvbmUudHlwZSA9PT0gImZpeGVkIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIC8qKgogICAqIEEgem9uZSB0aGF0IGZhaWxlZCB0byBwYXJzZS4gWW91IHNob3VsZCBuZXZlciBuZWVkIHRvIGluc3RhbnRpYXRlIHRoaXMuCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgSW52YWxpZFpvbmUgZXh0ZW5kcyBab25lIHsKICAgIGNvbnN0cnVjdG9yKHpvbmVOYW1lKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiAgQHByaXZhdGUgKi8KICAgICAgdGhpcy56b25lTmFtZSA9IHpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJpbnZhbGlkIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IG5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSgpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGZvcm1hdE9mZnNldCgpIHsKICAgICAgcmV0dXJuICIiOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXQoKSB7CiAgICAgIHJldHVybiBOYU47CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscygpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHsKICAgIGlmIChpc1VuZGVmaW5lZChpbnB1dCkgfHwgaW5wdXQgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIGRlZmF1bHRab25lOwogICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHsKICAgICAgcmV0dXJuIGlucHV0OwogICAgfSBlbHNlIGlmIChpc1N0cmluZyhpbnB1dCkpIHsKICAgICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7CiAgICAgIGlmIChsb3dlcmVkID09PSAiZGVmYXVsdCIpIHJldHVybiBkZWZhdWx0Wm9uZTsKICAgICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gImxvY2FsIiB8fCBsb3dlcmVkID09PSAic3lzdGVtIikgcmV0dXJuIFN5c3RlbVpvbmUuaW5zdGFuY2U7CiAgICAgIGVsc2UgaWYgKGxvd2VyZWQgPT09ICJ1dGMiIHx8IGxvd2VyZWQgPT09ICJnbXQiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlOwogICAgICBlbHNlIHJldHVybiBGaXhlZE9mZnNldFpvbmUucGFyc2VTcGVjaWZpZXIobG93ZXJlZCkgfHwgSUFOQVpvbmUuY3JlYXRlKGlucHV0KTsKICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoaW5wdXQpKSB7CiAgICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpOwogICAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQgPT09ICJvYmplY3QiICYmIGlucHV0Lm9mZnNldCAmJiB0eXBlb2YgaW5wdXQub2Zmc2V0ID09PSAibnVtYmVyIikgewogICAgICAvLyBUaGlzIGlzIGR1bWIsIGJ1dCB0aGUgaW5zdGFuY2VvZiBjaGVjayBhYm92ZSBkb2Vzbid0IHNlZW0gdG8gcmVhbGx5IHdvcmsKICAgICAgLy8gc28gd2UncmUgZHVjayBjaGVja2luZyBpdAogICAgICByZXR1cm4gaW5wdXQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmV3IEludmFsaWRab25lKGlucHV0KTsKICAgIH0KICB9CgogIGxldCBub3cgPSAoKSA9PiBEYXRlLm5vdygpLAogICAgZGVmYXVsdFpvbmUgPSAic3lzdGVtIiwKICAgIGRlZmF1bHRMb2NhbGUgPSBudWxsLAogICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bGwsCiAgICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLAogICAgdHdvRGlnaXRDdXRvZmZZZWFyID0gNjAsCiAgICB0aHJvd09uSW52YWxpZDsKCiAgLyoqCiAgICogU2V0dGluZ3MgY29udGFpbnMgc3RhdGljIGdldHRlcnMgYW5kIHNldHRlcnMgdGhhdCBjb250cm9sIEx1eG9uJ3Mgb3ZlcmFsbCBiZWhhdmlvci4gTHV4b24gaXMgYSBzaW1wbGUgbGlicmFyeSB3aXRoIGZldyBvcHRpb25zLCBidXQgdGhlIG9uZXMgaXQgZG9lcyBoYXZlIGxpdmUgaGVyZS4KICAgKi8KICBjbGFzcyBTZXR0aW5ncyB7CiAgICAvKioKICAgICAqIEdldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuCiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgbm93KCkgewogICAgICByZXR1cm4gbm93OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjYWxsYmFjayBmb3IgcmV0dXJuaW5nIHRoZSBjdXJyZW50IHRpbWVzdGFtcC4KICAgICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50CiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiBEYXRlLm5vdygpICsgMzAwMCAvLyBwcmV0ZW5kIGl0IGlzIDMgc2Vjb25kcyBpbiB0aGUgZnV0dXJlCiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWUKICAgICAqLwogICAgc3RhdGljIHNldCBub3cobikgewogICAgICBub3cgPSBuOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSB0byBjcmVhdGUgRGF0ZVRpbWVzIGluLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogVXNlIHRoZSB2YWx1ZSAic3lzdGVtIiB0byByZXNldCB0aGlzIHZhbHVlIHRvIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgc2V0IGRlZmF1bHRab25lKHpvbmUpIHsKICAgICAgZGVmYXVsdFpvbmUgPSB6b25lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSBvYmplY3QgY3VycmVudGx5IHVzZWQgdG8gY3JlYXRlIERhdGVUaW1lcy4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUgKHRoZSBvbmUgc2V0IG9uIHRoZSBtYWNoaW5lIHRoYXQgcnVucyB0aGlzIGNvZGUpLgogICAgICogQHR5cGUge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgZGVmYXVsdFpvbmUoKSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TG9jYWxlKCkgewogICAgICByZXR1cm4gZGVmYXVsdExvY2FsZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIHNldCBkZWZhdWx0TG9jYWxlKGxvY2FsZSkgewogICAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IG51bWJlcmluZyBzeXN0ZW0gdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbShudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBvdXRwdXQgY2FsZW5kYXIgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIoKSB7CiAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKG91dHB1dENhbGVuZGFyKSB7CiAgICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjdXRvZmYgeWVhciBhZnRlciB3aGljaCBhIHN0cmluZyBlbmNvZGluZyBhIHllYXIgYXMgdHdvIGRpZ2l0cyBpcyBpbnRlcnByZXRlZCB0byBvY2N1ciBpbiB0aGUgY3VycmVudCBjZW50dXJ5LgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgc3RhdGljIGdldCB0d29EaWdpdEN1dG9mZlllYXIoKSB7CiAgICAgIHJldHVybiB0d29EaWdpdEN1dG9mZlllYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGN1dG9mZiB5ZWFyIGFmdGVyIHdoaWNoIGEgc3RyaW5nIGVuY29kaW5nIGEgeWVhciBhcyB0d28gZGlnaXRzIGlzIGludGVycHJldGVkIHRvIG9jY3VyIGluIHRoZSBjdXJyZW50IGNlbnR1cnkuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gMCAvLyBjdXQtb2ZmIHllYXIgaXMgMCwgc28gYWxsICd5eScgYXJlIGludGVycHJldHRlZCBhcyBjdXJyZW50IGNlbnR1cnkKICAgICAqIEBleGFtcGxlIFNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDUwIC8vICc0OScgLT4gMTk0OTsgJzUwJyAtPiAyMDUwCiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy50d29EaWdpdEN1dG9mZlllYXIgPSAxOTUwIC8vIGludGVycHJldHRlZCBhcyA1MAogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gMjA1MCAvLyBBTFNPIGludGVycHJldHRlZCBhcyA1MAogICAgICovCiAgICBzdGF0aWMgc2V0IHR3b0RpZ2l0Q3V0b2ZmWWVhcihjdXRvZmZZZWFyKSB7CiAgICAgIHR3b0RpZ2l0Q3V0b2ZmWWVhciA9IGN1dG9mZlllYXIgJSAxMDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgZ2V0IHRocm93T25JbnZhbGlkKCkgewogICAgICByZXR1cm4gdGhyb3dPbkludmFsaWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgc2V0IHRocm93T25JbnZhbGlkKHQpIHsKICAgICAgdGhyb3dPbkludmFsaWQgPSB0OwogICAgfQoKICAgIC8qKgogICAgICogUmVzZXQgTHV4b24ncyBnbG9iYWwgY2FjaGVzLiBTaG91bGQgb25seSBiZSBuZWNlc3NhcnkgaW4gdGVzdGluZyBzY2VuYXJpb3MuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBzdGF0aWMgcmVzZXRDYWNoZXMoKSB7CiAgICAgIExvY2FsZS5yZXNldENhY2hlKCk7CiAgICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTsKICAgIH0KICB9CgogIC8qCiAgICBUaGlzIGlzIGp1c3QgYSBqdW5rIGRyYXdlciwgY29udGFpbmluZyBhbnl0aGluZyB1c2VkIGFjcm9zcyBtdWx0aXBsZSBjbGFzc2VzLgogICAgQmVjYXVzZSBMdXhvbiBpcyBzbWFsbChpc2gpLCB0aGlzIHNob3VsZCBzdGF5IHNtYWxsIGFuZCB3ZSB3b24ndCB3b3JyeSBhYm91dCBzcGxpdHRpbmcKICAgIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS4KICAqLwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICAvLyBUWVBFUwoKICBmdW5jdGlvbiBpc1VuZGVmaW5lZChvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJ1bmRlZmluZWQiOwogIH0KCiAgZnVuY3Rpb24gaXNOdW1iZXIobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAibnVtYmVyIjsKICB9CgogIGZ1bmN0aW9uIGlzSW50ZWdlcihvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJudW1iZXIiICYmIG8gJSAxID09PSAwOwogIH0KCiAgZnVuY3Rpb24gaXNTdHJpbmcobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAic3RyaW5nIjsKICB9CgogIGZ1bmN0aW9uIGlzRGF0ZShvKSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pID09PSAiW29iamVjdCBEYXRlXSI7CiAgfQoKICAvLyBDQVBBQklMSVRJRVMKCiAgZnVuY3Rpb24gaGFzUmVsYXRpdmUoKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gdHlwZW9mIEludGwgIT09ICJ1bmRlZmluZWQiICYmICEhSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQ7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CgogIC8vIE9CSkVDVFMgQU5EIEFSUkFZUwoKICBmdW5jdGlvbiBtYXliZUFycmF5KHRoaW5nKSB7CiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107CiAgfQoKICBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkgewogICAgaWYgKGFyci5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0KICAgIHJldHVybiBhcnIucmVkdWNlKChiZXN0LCBuZXh0KSA9PiB7CiAgICAgIGNvbnN0IHBhaXIgPSBbYnkobmV4dCksIG5leHRdOwogICAgICBpZiAoIWJlc3QpIHsKICAgICAgICByZXR1cm4gcGFpcjsKICAgICAgfSBlbHNlIGlmIChjb21wYXJlKGJlc3RbMF0sIHBhaXJbMF0pID09PSBiZXN0WzBdKSB7CiAgICAgICAgcmV0dXJuIGJlc3Q7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhaXI7CiAgICAgIH0KICAgIH0sIG51bGwpWzFdOwogIH0KCiAgZnVuY3Rpb24gcGljayhvYmosIGtleXMpIHsKICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYSwgaykgPT4gewogICAgICBhW2tdID0gb2JqW2tdOwogICAgICByZXR1cm4gYTsKICAgIH0sIHt9KTsKICB9CgogIGZ1bmN0aW9uIGhhc093blByb3BlcnR5KG9iaiwgcHJvcCkgewogICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApOwogIH0KCiAgLy8gTlVNQkVSUyBBTkQgU1RSSU5HUwoKICBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHsKICAgIHJldHVybiBpc0ludGVnZXIodGhpbmcpICYmIHRoaW5nID49IGJvdHRvbSAmJiB0aGluZyA8PSB0b3A7CiAgfQoKICAvLyB4ICUgbiBidXQgdGFrZXMgdGhlIHNpZ24gb2YgbiBpbnN0ZWFkIG9mIHgKICBmdW5jdGlvbiBmbG9vck1vZCh4LCBuKSB7CiAgICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTsKICB9CgogIGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikgewogICAgY29uc3QgaXNOZWcgPSBpbnB1dCA8IDA7CiAgICBsZXQgcGFkZGVkOwogICAgaWYgKGlzTmVnKSB7CiAgICAgIHBhZGRlZCA9ICItIiArICgiIiArIC1pbnB1dCkucGFkU3RhcnQobiwgIjAiKTsKICAgIH0gZWxzZSB7CiAgICAgIHBhZGRlZCA9ICgiIiArIGlucHV0KS5wYWRTdGFydChuLCAiMCIpOwogICAgfQogICAgcmV0dXJuIHBhZGRlZDsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSW50ZWdlcihzdHJpbmcpIHsKICAgIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09ICIiKSB7CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZUZsb2F0aW5nKHN0cmluZykgewogICAgaWYgKGlzVW5kZWZpbmVkKHN0cmluZykgfHwgc3RyaW5nID09PSBudWxsIHx8IHN0cmluZyA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZU1pbGxpcyhmcmFjdGlvbikgewogICAgLy8gUmV0dXJuIHVuZGVmaW5lZCAoaW5zdGVhZCBvZiAwKSBpbiB0aGVzZSBjYXNlcywgd2hlcmUgZnJhY3Rpb24gaXMgbm90IHNldAogICAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IGYgPSBwYXJzZUZsb2F0KCIwLiIgKyBmcmFjdGlvbikgKiAxMDAwOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihmKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHJvdW5kVG8obnVtYmVyLCBkaWdpdHMsIHRvd2FyZFplcm8gPSBmYWxzZSkgewogICAgY29uc3QgZmFjdG9yID0gMTAgKiogZGlnaXRzLAogICAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kOwogICAgcmV0dXJuIHJvdW5kZXIobnVtYmVyICogZmFjdG9yKSAvIGZhY3RvcjsKICB9CgogIC8vIERBVEUgQkFTSUNTCgogIGZ1bmN0aW9uIGlzTGVhcFllYXIoeWVhcikgewogICAgcmV0dXJuIHllYXIgJSA0ID09PSAwICYmICh5ZWFyICUgMTAwICE9PSAwIHx8IHllYXIgJSA0MDAgPT09IDApOwogIH0KCiAgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTsKICB9CgogIGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7CiAgICBjb25zdCBtb2RNb250aCA9IGZsb29yTW9kKG1vbnRoIC0gMSwgMTIpICsgMSwKICAgICAgbW9kWWVhciA9IHllYXIgKyAobW9udGggLSBtb2RNb250aCkgLyAxMjsKCiAgICBpZiAobW9kTW9udGggPT09IDIpIHsKICAgICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIFszMSwgbnVsbCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdW21vZE1vbnRoIC0gMV07CiAgICB9CiAgfQoKICAvLyBjb3ZlcnQgYSBjYWxlbmRhciBvYmplY3QgdG8gYSBsb2NhbCB0aW1lc3RhbXAgKGVwb2NoLCBidXQgd2l0aCB0aGUgb2Zmc2V0IGJha2VkIGluKQogIGZ1bmN0aW9uIG9ialRvTG9jYWxUUyhvYmopIHsKICAgIGxldCBkID0gRGF0ZS5VVEMoCiAgICAgIG9iai55ZWFyLAogICAgICBvYmoubW9udGggLSAxLAogICAgICBvYmouZGF5LAogICAgICBvYmouaG91ciwKICAgICAgb2JqLm1pbnV0ZSwKICAgICAgb2JqLnNlY29uZCwKICAgICAgb2JqLm1pbGxpc2Vjb25kCiAgICApOwoKICAgIC8vIGZvciBsZWdhY3kgcmVhc29ucywgeWVhcnMgYmV0d2VlbiAwIGFuZCA5OSBhcmUgaW50ZXJwcmV0ZWQgYXMgMTlYWDsgcmV2ZXJ0IHRoYXQKICAgIGlmIChvYmoueWVhciA8IDEwMCAmJiBvYmoueWVhciA+PSAwKSB7CiAgICAgIGQgPSBuZXcgRGF0ZShkKTsKICAgICAgZC5zZXRVVENGdWxsWWVhcihkLmdldFVUQ0Z1bGxZZWFyKCkgLSAxOTAwKTsKICAgIH0KICAgIHJldHVybiArZDsKICB9CgogIGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikgewogICAgY29uc3QgcDEgPQogICAgICAgICh3ZWVrWWVhciArCiAgICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLQogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDEwMCkgKwogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDQwMCkpICUKICAgICAgICA3LAogICAgICBsYXN0ID0gd2Vla1llYXIgLSAxLAogICAgICBwMiA9IChsYXN0ICsgTWF0aC5mbG9vcihsYXN0IC8gNCkgLSBNYXRoLmZsb29yKGxhc3QgLyAxMDApICsgTWF0aC5mbG9vcihsYXN0IC8gNDAwKSkgJSA3OwogICAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1MjsKICB9CgogIGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHsKICAgIGlmICh5ZWFyID4gOTkpIHsKICAgICAgcmV0dXJuIHllYXI7CiAgICB9IGVsc2UgcmV0dXJuIHllYXIgPiBTZXR0aW5ncy50d29EaWdpdEN1dG9mZlllYXIgPyAxOTAwICsgeWVhciA6IDIwMDAgKyB5ZWFyOwogIH0KCiAgLy8gUEFSU0lORwoKICBmdW5jdGlvbiBwYXJzZVpvbmVJbmZvKHRzLCBvZmZzZXRGb3JtYXQsIGxvY2FsZSwgdGltZVpvbmUgPSBudWxsKSB7CiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpLAogICAgICBpbnRsT3B0cyA9IHsKICAgICAgICBob3VyQ3ljbGU6ICJoMjMiLAogICAgICAgIHllYXI6ICJudW1lcmljIiwKICAgICAgICBtb250aDogIjItZGlnaXQiLAogICAgICAgIGRheTogIjItZGlnaXQiLAogICAgICAgIGhvdXI6ICIyLWRpZ2l0IiwKICAgICAgICBtaW51dGU6ICIyLWRpZ2l0IiwKICAgICAgfTsKCiAgICBpZiAodGltZVpvbmUpIHsKICAgICAgaW50bE9wdHMudGltZVpvbmUgPSB0aW1lWm9uZTsKICAgIH0KCiAgICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07CgogICAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZCkKICAgICAgLmZvcm1hdFRvUGFydHMoZGF0ZSkKICAgICAgLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSAidGltZXpvbmVuYW1lIik7CiAgICByZXR1cm4gcGFyc2VkID8gcGFyc2VkLnZhbHVlIDogbnVsbDsKICB9CgogIC8vIHNpZ25lZE9mZnNldCgnLTUnLCAnMzAnKSAtPiAtMzMwCiAgZnVuY3Rpb24gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cikgewogICAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7CgogICAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTAKICAgIGlmIChOdW1iZXIuaXNOYU4ob2ZmSG91cikpIHsKICAgICAgb2ZmSG91ciA9IDA7CiAgICB9CgogICAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCwKICAgICAgb2ZmTWluU2lnbmVkID0gb2ZmSG91ciA8IDAgfHwgT2JqZWN0LmlzKG9mZkhvdXIsIC0wKSA/IC1vZmZNaW4gOiBvZmZNaW47CiAgICByZXR1cm4gb2ZmSG91ciAqIDYwICsgb2ZmTWluU2lnbmVkOwogIH0KCiAgLy8gQ09FUkNJT04KCiAgZnVuY3Rpb24gYXNOdW1iZXIodmFsdWUpIHsKICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7CiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAiYm9vbGVhbiIgfHwgdmFsdWUgPT09ICIiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKQogICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEludmFsaWQgdW5pdCB2YWx1ZSAke3ZhbHVlfWApOwogICAgcmV0dXJuIG51bWVyaWNWYWx1ZTsKICB9CgogIGZ1bmN0aW9uIG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZXIpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTsKICAgIGZvciAoY29uc3QgdSBpbiBvYmopIHsKICAgICAgaWYgKGhhc093blByb3BlcnR5KG9iaiwgdSkpIHsKICAgICAgICBjb25zdCB2ID0gb2JqW3VdOwogICAgICAgIGlmICh2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbCkgY29udGludWU7CiAgICAgICAgbm9ybWFsaXplZFtub3JtYWxpemVyKHUpXSA9IGFzTnVtYmVyKHYpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdE9mZnNldChvZmZzZXQsIGZvcm1hdCkgewogICAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksCiAgICAgIG1pbnV0ZXMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAlIDYwKSksCiAgICAgIHNpZ24gPSBvZmZzZXQgPj0gMCA/ICIrIiA6ICItIjsKCiAgICBzd2l0Y2ggKGZvcm1hdCkgewogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9OiR7cGFkU3RhcnQobWludXRlcywgMil9YDsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke2hvdXJzfSR7bWludXRlcyA+IDAgPyBgOiR7bWludXRlc31gIDogIiJ9YDsKICAgICAgY2FzZSAidGVjaGllIjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX0ke3BhZFN0YXJ0KG1pbnV0ZXMsIDIpfWA7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlIGZvcm1hdCAke2Zvcm1hdH0gaXMgb3V0IG9mIHJhbmdlIGZvciBwcm9wZXJ0eSBmb3JtYXRgKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHRpbWVPYmplY3Qob2JqKSB7CiAgICByZXR1cm4gcGljayhvYmosIFsiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0pOwogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY29uc3QgbW9udGhzTG9uZyA9IFsKICAgICJKYW51YXJ5IiwKICAgICJGZWJydWFyeSIsCiAgICAiTWFyY2giLAogICAgIkFwcmlsIiwKICAgICJNYXkiLAogICAgIkp1bmUiLAogICAgIkp1bHkiLAogICAgIkF1Z3VzdCIsCiAgICAiU2VwdGVtYmVyIiwKICAgICJPY3RvYmVyIiwKICAgICJOb3ZlbWJlciIsCiAgICAiRGVjZW1iZXIiLAogIF07CgogIGNvbnN0IG1vbnRoc1Nob3J0ID0gWwogICAgIkphbiIsCiAgICAiRmViIiwKICAgICJNYXIiLAogICAgIkFwciIsCiAgICAiTWF5IiwKICAgICJKdW4iLAogICAgIkp1bCIsCiAgICAiQXVnIiwKICAgICJTZXAiLAogICAgIk9jdCIsCiAgICAiTm92IiwKICAgICJEZWMiLAogIF07CgogIGNvbnN0IG1vbnRoc05hcnJvdyA9IFsiSiIsICJGIiwgIk0iLCAiQSIsICJNIiwgIkoiLCAiSiIsICJBIiwgIlMiLCAiTyIsICJOIiwgIkQiXTsKCiAgZnVuY3Rpb24gbW9udGhzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc05hcnJvd107CiAgICAgIGNhc2UgInNob3J0IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc1Nob3J0XTsKICAgICAgY2FzZSAibG9uZyI6CiAgICAgICAgcmV0dXJuIFsuLi5tb250aHNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgY2FzZSAiMi1kaWdpdCI6CiAgICAgICAgcmV0dXJuIFsiMDEiLCAiMDIiLCAiMDMiLCAiMDQiLCAiMDUiLCAiMDYiLCAiMDciLCAiMDgiLCAiMDkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGNvbnN0IHdlZWtkYXlzTG9uZyA9IFsKICAgICJNb25kYXkiLAogICAgIlR1ZXNkYXkiLAogICAgIldlZG5lc2RheSIsCiAgICAiVGh1cnNkYXkiLAogICAgIkZyaWRheSIsCiAgICAiU2F0dXJkYXkiLAogICAgIlN1bmRheSIsCiAgXTsKCiAgY29uc3Qgd2Vla2RheXNTaG9ydCA9IFsiTW9uIiwgIlR1ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiLCAiU3VuIl07CgogIGNvbnN0IHdlZWtkYXlzTmFycm93ID0gWyJNIiwgIlQiLCAiVyIsICJUIiwgIkYiLCAiUyIsICJTIl07CgogIGZ1bmN0aW9uIHdlZWtkYXlzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLndlZWtkYXlzTmFycm93XTsKICAgICAgY2FzZSAic2hvcnQiOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNTaG9ydF07CiAgICAgIGNhc2UgImxvbmciOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyJdOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgY29uc3QgbWVyaWRpZW1zID0gWyJBTSIsICJQTSJdOwoKICBjb25zdCBlcmFzTG9uZyA9IFsiQmVmb3JlIENocmlzdCIsICJBbm5vIERvbWluaSJdOwoKICBjb25zdCBlcmFzU2hvcnQgPSBbIkJDIiwgIkFEIl07CgogIGNvbnN0IGVyYXNOYXJyb3cgPSBbIkIiLCAiQSJdOwoKICBmdW5jdGlvbiBlcmFzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNOYXJyb3ddOwogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIFsuLi5lcmFzU2hvcnRdOwogICAgICBjYXNlICJsb25nIjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNMb25nXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIG1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpIHsKICAgIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHsKICAgIHJldHVybiB3ZWVrZGF5cyhsZW5ndGgpW2R0LndlZWtkYXkgLSAxXTsKICB9CgogIGZ1bmN0aW9uIG1vbnRoRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkgewogICAgcmV0dXJuIG1vbnRocyhsZW5ndGgpW2R0Lm1vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiBlcmFGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7CiAgICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gImFsd2F5cyIsIG5hcnJvdyA9IGZhbHNlKSB7CiAgICBjb25zdCB1bml0cyA9IHsKICAgICAgeWVhcnM6IFsieWVhciIsICJ5ci4iXSwKICAgICAgcXVhcnRlcnM6IFsicXVhcnRlciIsICJxdHIuIl0sCiAgICAgIG1vbnRoczogWyJtb250aCIsICJtby4iXSwKICAgICAgd2Vla3M6IFsid2VlayIsICJ3ay4iXSwKICAgICAgZGF5czogWyJkYXkiLCAiZGF5IiwgImRheXMiXSwKICAgICAgaG91cnM6IFsiaG91ciIsICJoci4iXSwKICAgICAgbWludXRlczogWyJtaW51dGUiLCAibWluLiJdLAogICAgICBzZWNvbmRzOiBbInNlY29uZCIsICJzZWMuIl0sCiAgICB9OwoKICAgIGNvbnN0IGxhc3RhYmxlID0gWyJob3VycyIsICJtaW51dGVzIiwgInNlY29uZHMiXS5pbmRleE9mKHVuaXQpID09PSAtMTsKCiAgICBpZiAobnVtZXJpYyA9PT0gImF1dG8iICYmIGxhc3RhYmxlKSB7CiAgICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gImRheXMiOwogICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvbW9ycm93IiA6IGBuZXh0ICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgICBjYXNlIC0xOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInllc3RlcmRheSIgOiBgbGFzdCAke3VuaXRzW3VuaXRdWzBdfWA7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvZGF5IiA6IGB0aGlzICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgfQogICAgfQoKICAgIGNvbnN0IGlzSW5QYXN0ID0gT2JqZWN0LmlzKGNvdW50LCAtMCkgfHwgY291bnQgPCAwLAogICAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSwKICAgICAgc2luZ3VsYXIgPSBmbXRWYWx1ZSA9PT0gMSwKICAgICAgbGlsVW5pdHMgPSB1bml0c1t1bml0XSwKICAgICAgZm10VW5pdCA9IG5hcnJvdwogICAgICAgID8gc2luZ3VsYXIKICAgICAgICAgID8gbGlsVW5pdHNbMV0KICAgICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV0KICAgICAgICA6IHNpbmd1bGFyCiAgICAgICAgPyB1bml0c1t1bml0XVswXQogICAgICAgIDogdW5pdDsKICAgIHJldHVybiBpc0luUGFzdCA/IGAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9IGFnb2AgOiBgaW4gJHtmbXRWYWx1ZX0gJHtmbXRVbml0fWA7CiAgfQoKICBmdW5jdGlvbiBzdHJpbmdpZnlUb2tlbnMoc3BsaXRzLCB0b2tlblRvU3RyaW5nKSB7CiAgICBsZXQgcyA9ICIiOwogICAgZm9yIChjb25zdCB0b2tlbiBvZiBzcGxpdHMpIHsKICAgICAgaWYgKHRva2VuLmxpdGVyYWwpIHsKICAgICAgICBzICs9IHRva2VuLnZhbDsKICAgICAgfSBlbHNlIHsKICAgICAgICBzICs9IHRva2VuVG9TdHJpbmcodG9rZW4udmFsKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHM7CiAgfQoKICBjb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0gewogICAgRDogREFURV9TSE9SVCwKICAgIEREOiBEQVRFX01FRCwKICAgIERERDogREFURV9GVUxMLAogICAgRERERDogREFURV9IVUdFLAogICAgdDogVElNRV9TSU1QTEUsCiAgICB0dDogVElNRV9XSVRIX1NFQ09ORFMsCiAgICB0dHQ6IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQsCiAgICB0dHR0OiBUSU1FX1dJVEhfTE9OR19PRkZTRVQsCiAgICBUOiBUSU1FXzI0X1NJTVBMRSwKICAgIFRUOiBUSU1FXzI0X1dJVEhfU0VDT05EUywKICAgIFRUVDogVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCwKICAgIFRUVFQ6IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCwKICAgIGY6IERBVEVUSU1FX1NIT1JULAogICAgZmY6IERBVEVUSU1FX01FRCwKICAgIGZmZjogREFURVRJTUVfRlVMTCwKICAgIGZmZmY6IERBVEVUSU1FX0hVR0UsCiAgICBGOiBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMsCiAgICBGRjogREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUywKICAgIEZGRjogREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMsCiAgICBGRkZGOiBEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUywKICB9OwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBGb3JtYXR0ZXIgewogICAgc3RhdGljIGNyZWF0ZShsb2NhbGUsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpOwogICAgfQoKICAgIHN0YXRpYyBwYXJzZUZvcm1hdChmbXQpIHsKICAgICAgbGV0IGN1cnJlbnQgPSBudWxsLAogICAgICAgIGN1cnJlbnRGdWxsID0gIiIsCiAgICAgICAgYnJhY2tldGVkID0gZmFsc2U7CiAgICAgIGNvbnN0IHNwbGl0cyA9IFtdOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZtdC5sZW5ndGg7IGkrKykgewogICAgICAgIGNvbnN0IGMgPSBmbXQuY2hhckF0KGkpOwogICAgICAgIGlmIChjID09PSAiJyIpIHsKICAgICAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pOwogICAgICAgICAgfQogICAgICAgICAgY3VycmVudCA9IG51bGw7CiAgICAgICAgICBjdXJyZW50RnVsbCA9ICIiOwogICAgICAgICAgYnJhY2tldGVkID0gIWJyYWNrZXRlZDsKICAgICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkgewogICAgICAgICAgY3VycmVudEZ1bGwgKz0gYzsKICAgICAgICB9IGVsc2UgaWYgKGMgPT09IGN1cnJlbnQpIHsKICAgICAgICAgIGN1cnJlbnRGdWxsICs9IGM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7CiAgICAgICAgICB9CiAgICAgICAgICBjdXJyZW50RnVsbCA9IGM7CiAgICAgICAgICBjdXJyZW50ID0gYzsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBzcGxpdHM7CiAgICB9CgogICAgc3RhdGljIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pIHsKICAgICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dOwogICAgfQoKICAgIGNvbnN0cnVjdG9yKGxvY2FsZSwgZm9ybWF0T3B0cykgewogICAgICB0aGlzLm9wdHMgPSBmb3JtYXRPcHRzOwogICAgICB0aGlzLmxvYyA9IGxvY2FsZTsKICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSBudWxsOwogICAgfQoKICAgIGZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBvcHRzKSB7CiAgICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkgewogICAgICAgIHRoaXMuc3lzdGVtTG9jID0gdGhpcy5sb2MucmVkZWZhdWx0VG9TeXN0ZW0oKTsKICAgICAgfQogICAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTsKICAgICAgcmV0dXJuIGRmLmZvcm1hdCgpOwogICAgfQoKICAgIGZvcm1hdERhdGVUaW1lKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5mb3JtYXQoKTsKICAgIH0KCiAgICBmb3JtYXREYXRlVGltZVBhcnRzKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5mb3JtYXRUb1BhcnRzKCk7CiAgICB9CgogICAgZm9ybWF0SW50ZXJ2YWwoaW50ZXJ2YWwsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBkZiA9IHRoaXMubG9jLmR0Rm9ybWF0dGVyKGludGVydmFsLnN0YXJ0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTsKICAgICAgcmV0dXJuIGRmLmR0Zi5mb3JtYXRSYW5nZShpbnRlcnZhbC5zdGFydC50b0pTRGF0ZSgpLCBpbnRlcnZhbC5lbmQudG9KU0RhdGUoKSk7CiAgICB9CgogICAgcmVzb2x2ZWRPcHRpb25zKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5yZXNvbHZlZE9wdGlvbnMoKTsKICAgIH0KCiAgICBudW0obiwgcCA9IDApIHsKICAgICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5CiAgICAgIGlmICh0aGlzLm9wdHMuZm9yY2VTaW1wbGUpIHsKICAgICAgICByZXR1cm4gcGFkU3RhcnQobiwgcCk7CiAgICAgIH0KCiAgICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9OwoKICAgICAgaWYgKHAgPiAwKSB7CiAgICAgICAgb3B0cy5wYWRUbyA9IHA7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLmxvYy5udW1iZXJGb3JtYXR0ZXIob3B0cykuZm9ybWF0KG4pOwogICAgfQoKICAgIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7CiAgICAgIGNvbnN0IGtub3duRW5nbGlzaCA9IHRoaXMubG9jLmxpc3RpbmdNb2RlKCkgPT09ICJlbiIsCiAgICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gImdyZWdvcnkiLAogICAgICAgIHN0cmluZyA9IChvcHRzLCBleHRyYWN0KSA9PiB0aGlzLmxvYy5leHRyYWN0KGR0LCBvcHRzLCBleHRyYWN0KSwKICAgICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4gewogICAgICAgICAgaWYgKGR0LmlzT2Zmc2V0Rml4ZWQgJiYgZHQub2Zmc2V0ID09PSAwICYmIG9wdHMuYWxsb3daKSB7CiAgICAgICAgICAgIHJldHVybiAiWiI7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGR0LmlzVmFsaWQgPyBkdC56b25lLmZvcm1hdE9mZnNldChkdC50cywgb3B0cy5mb3JtYXQpIDogIiI7CiAgICAgICAgfSwKICAgICAgICBtZXJpZGllbSA9ICgpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2gKICAgICAgICAgICAgPyBtZXJpZGllbUZvckRhdGVUaW1lKGR0KQogICAgICAgICAgICA6IHN0cmluZyh7IGhvdXI6ICJudW1lcmljIiwgaG91ckN5Y2xlOiAiaDEyIiB9LCAiZGF5cGVyaW9kIiksCiAgICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PgogICAgICAgICAga25vd25FbmdsaXNoCiAgICAgICAgICAgID8gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKQogICAgICAgICAgICA6IHN0cmluZyhzdGFuZGFsb25lID8geyBtb250aDogbGVuZ3RoIH0gOiB7IG1vbnRoOiBsZW5ndGgsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpLAogICAgICAgIHdlZWtkYXkgPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PgogICAgICAgICAga25vd25FbmdsaXNoCiAgICAgICAgICAgID8gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpCiAgICAgICAgICAgIDogc3RyaW5nKAogICAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6ICJsb25nIiwgZGF5OiAibnVtZXJpYyIgfSwKICAgICAgICAgICAgICAgICJ3ZWVrZGF5IgogICAgICAgICAgICAgICksCiAgICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4gewogICAgICAgICAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKTsKICAgICAgICAgIGlmIChmb3JtYXRPcHRzKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGVyYSA9IChsZW5ndGgpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2ggPyBlcmFGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSA6IHN0cmluZyh7IGVyYTogbGVuZ3RoIH0sICJlcmEiKSwKICAgICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7CiAgICAgICAgICAvLyBXaGVyZSBwb3NzaWJsZTogaHR0cDovL2NsZHIudW5pY29kZS5vcmcvdHJhbnNsYXRpb24vZGF0ZS10aW1lLTEvZGF0ZS10aW1lI1RPQy1TdGFuZGFsb25lLXZzLi1Gb3JtYXQtU3R5bGVzCiAgICAgICAgICBzd2l0Y2ggKHRva2VuKSB7CiAgICAgICAgICAgIC8vIG1zCiAgICAgICAgICAgIGNhc2UgIlMiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7CiAgICAgICAgICAgIGNhc2UgInUiOgogICAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoCiAgICAgICAgICAgIGNhc2UgIlNTUyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTsKICAgICAgICAgICAgLy8gc2Vjb25kcwogICAgICAgICAgICBjYXNlICJzIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuc2Vjb25kKTsKICAgICAgICAgICAgY2FzZSAic3MiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQsIDIpOwogICAgICAgICAgICAvLyBmcmFjdGlvbmFsIHNlY29uZHMKICAgICAgICAgICAgY2FzZSAidXUiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGR0Lm1pbGxpc2Vjb25kIC8gMTApLCAyKTsKICAgICAgICAgICAgY2FzZSAidXV1IjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwMCkpOwogICAgICAgICAgICAvLyBtaW51dGVzCiAgICAgICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpOwogICAgICAgICAgICBjYXNlICJtbSI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7CiAgICAgICAgICAgIC8vIGhvdXJzCiAgICAgICAgICAgIGNhc2UgImgiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMik7CiAgICAgICAgICAgIGNhc2UgImhoIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciAlIDEyID09PSAwID8gMTIgOiBkdC5ob3VyICUgMTIsIDIpOwogICAgICAgICAgICBjYXNlICJIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91cik7CiAgICAgICAgICAgIGNhc2UgIkhIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciwgMik7CiAgICAgICAgICAgIC8vIG9mZnNldAogICAgICAgICAgICBjYXNlICJaIjoKICAgICAgICAgICAgICAvLyBsaWtlICs2CiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogIm5hcnJvdyIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTsKICAgICAgICAgICAgY2FzZSAiWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2OjAwCiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogInNob3J0IiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2MDAKICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHsgZm9ybWF0OiAidGVjaGllIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWlpaIjoKICAgICAgICAgICAgICAvLyBsaWtlIEVTVAogICAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiAic2hvcnQiLCBsb2NhbGU6IHRoaXMubG9jLmxvY2FsZSB9KTsKICAgICAgICAgICAgY2FzZSAiWlpaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgRWFzdGVybiBTdGFuZGFyZCBUaW1lCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmUub2Zmc2V0TmFtZShkdC50cywgeyBmb3JtYXQ6ICJsb25nIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7CiAgICAgICAgICAgIC8vIHpvbmUKICAgICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmVOYW1lOwogICAgICAgICAgICAvLyBtZXJpZGllbXMKICAgICAgICAgICAgY2FzZSAiYSI6CiAgICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7CiAgICAgICAgICAgIC8vIGRhdGVzCiAgICAgICAgICAgIGNhc2UgImQiOgogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlciA/IHN0cmluZyh7IGRheTogIm51bWVyaWMiIH0sICJkYXkiKSA6IHRoaXMubnVtKGR0LmRheSk7CiAgICAgICAgICAgIGNhc2UgImRkIjoKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6ICIyLWRpZ2l0IiB9LCAiZGF5IikgOiB0aGlzLm51bShkdC5kYXksIDIpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiYyI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtkYXkpOwogICAgICAgICAgICBjYXNlICJjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXMnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoInNob3J0IiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgImNjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiY2NjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1QnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIGZvcm1hdAogICAgICAgICAgICBjYXNlICJFIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7CiAgICAgICAgICAgIGNhc2UgIkVFRSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAnVHVlcycKICAgICAgICAgICAgICByZXR1cm4gd2Vla2RheSgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUVFIjoKICAgICAgICAgICAgICAvLyBsaWtlICdUJwogICAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KCJuYXJyb3ciLCBmYWxzZSk7CiAgICAgICAgICAgIC8vIG1vbnRocyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoKTsKICAgICAgICAgICAgY2FzZSAiTEwiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDEsIGRvZXNuJ3Qgc2VlbSB0byB3b3JrCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAiMi1kaWdpdCIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiTExMTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5CiAgICAgICAgICAgICAgcmV0dXJuIG1vbnRoKCJsb25nIiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgIkxMTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEoKICAgICAgICAgICAgICByZXR1cm4gbW9udGgoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyBtb250aHMgLSBmb3JtYXQKICAgICAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIgfSwgIm1vbnRoIikKICAgICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpOwogICAgICAgICAgICBjYXNlICJNTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMQogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogIjItZGlnaXQiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTU1NIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIk1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSmFudWFyeQogICAgICAgICAgICAgIHJldHVybiBtb250aCgibG9uZyIsIGZhbHNlKTsKICAgICAgICAgICAgY2FzZSAiTU1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSgogICAgICAgICAgICAgIHJldHVybiBtb250aCgibmFycm93IiwgZmFsc2UpOwogICAgICAgICAgICAvLyB5ZWFycwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICAvLyBsaWtlIDIwMTQKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyB5ZWFyOiAibnVtZXJpYyIgfSwgInllYXIiKSA6IHRoaXMubnVtKGR0LnllYXIpOwogICAgICAgICAgICBjYXNlICJ5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxNAogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiAiMi1kaWdpdCIgfSwgInllYXIiKQogICAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAieXl5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDQpOwogICAgICAgICAgICBjYXNlICJ5eXl5eXkiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDYpOwogICAgICAgICAgICAvLyBlcmFzCiAgICAgICAgICAgIGNhc2UgIkciOgogICAgICAgICAgICAgIC8vIGxpa2UgQUQKICAgICAgICAgICAgICByZXR1cm4gZXJhKCJzaG9ydCIpOwogICAgICAgICAgICBjYXNlICJHRyI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbm5vIERvbWluaQogICAgICAgICAgICAgIHJldHVybiBlcmEoImxvbmciKTsKICAgICAgICAgICAgY2FzZSAiR0dHR0ciOgogICAgICAgICAgICAgIHJldHVybiBlcmEoIm5hcnJvdyIpOwogICAgICAgICAgICBjYXNlICJrayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAia2trayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLCA0KTsKICAgICAgICAgICAgY2FzZSAiVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIpOwogICAgICAgICAgICBjYXNlICJXVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIsIDIpOwogICAgICAgICAgICBjYXNlICJvIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCk7CiAgICAgICAgICAgIGNhc2UgIm9vbyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm9yZGluYWwsIDMpOwogICAgICAgICAgICBjYXNlICJxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQucXVhcnRlcik7CiAgICAgICAgICAgIGNhc2UgInFxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpOwogICAgICAgICAgICBjYXNlICJYIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTsKICAgICAgICAgICAgY2FzZSAieCI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICByZXR1cm4gbWF5YmVNYWNybyh0b2tlbik7CiAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksIHRva2VuVG9TdHJpbmcpOwogICAgfQoKICAgIGZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyhkdXIsIGZtdCkgewogICAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHsKICAgICAgICAgIHN3aXRjaCAodG9rZW5bMF0pIHsKICAgICAgICAgICAgY2FzZSAiUyI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaWxsaXNlY29uZCI7CiAgICAgICAgICAgIGNhc2UgInMiOgogICAgICAgICAgICAgIHJldHVybiAic2Vjb25kIjsKICAgICAgICAgICAgY2FzZSAibSI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaW51dGUiOwogICAgICAgICAgICBjYXNlICJoIjoKICAgICAgICAgICAgICByZXR1cm4gImhvdXIiOwogICAgICAgICAgICBjYXNlICJkIjoKICAgICAgICAgICAgICByZXR1cm4gImRheSI7CiAgICAgICAgICAgIGNhc2UgInciOgogICAgICAgICAgICAgIHJldHVybiAid2VlayI7CiAgICAgICAgICAgIGNhc2UgIk0iOgogICAgICAgICAgICAgIHJldHVybiAibW9udGgiOwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICByZXR1cm4gInllYXIiOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9rZW5Ub1N0cmluZyA9IChsaWxkdXIpID0+ICh0b2tlbikgPT4gewogICAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTsKICAgICAgICAgIGlmIChtYXBwZWQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGxpbGR1ci5nZXQobWFwcGVkKSwgdG9rZW4ubGVuZ3RoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRva2VucyA9IEZvcm1hdHRlci5wYXJzZUZvcm1hdChmbXQpLAogICAgICAgIHJlYWxUb2tlbnMgPSB0b2tlbnMucmVkdWNlKAogICAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLAogICAgICAgICAgW10KICAgICAgICApLAogICAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7CiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnModG9rZW5zLCB0b2tlblRvU3RyaW5nKGNvbGxhcHNlZCkpOwogICAgfQogIH0KCiAgY2xhc3MgSW52YWxpZCB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24sIGV4cGxhbmF0aW9uKSB7CiAgICAgIHRoaXMucmVhc29uID0gcmVhc29uOwogICAgICB0aGlzLmV4cGxhbmF0aW9uID0gZXhwbGFuYXRpb247CiAgICB9CgogICAgdG9NZXNzYWdlKCkgewogICAgICBpZiAodGhpcy5leHBsYW5hdGlvbikgewogICAgICAgIHJldHVybiBgJHt0aGlzLnJlYXNvbn06ICR7dGhpcy5leHBsYW5hdGlvbn1gOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLnJlYXNvbjsKICAgICAgfQogICAgfQogIH0KCiAgLyoKICAgKiBUaGlzIGZpbGUgaGFuZGxlcyBwYXJzaW5nIGZvciB3ZWxsLXNwZWNpZmllZCBmb3JtYXRzLiBIZXJlJ3MgaG93IGl0IHdvcmtzOgogICAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLgogICAqIEFuIGV4dHJhY3RvciBpcyBqdXN0IGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHJlZ2V4IG1hdGNoIGFycmF5IGFuZCByZXR1cm5zIGEgeyB5ZWFyOiAuLi4sIG1vbnRoOiAuLi4gfSBvYmplY3QKICAgKiBwYXJzZSgpIGRvZXMgdGhlIHdvcmsgb2YgZXhlY3V0aW5nIHRoZSByZWdleCBhbmQgYXBwbHlpbmcgdGhlIGV4dHJhY3Rvci4gSXQgdGFrZXMgbXVsdGlwbGUgcmVnZXgvZXh0cmFjdG9yIHBhaXJzIHRvIHRyeSBpbiBzZXF1ZW5jZS4KICAgKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgImN1cnNvciIgcmVwcmVzZW50aW5nIHRoZSBvZmZzZXQgaW4gdGhlIG1hdGNoIHRvIGxvb2sgYXQuIFRoaXMgbWFrZXMgaXQgZWFzeSB0byBjb21iaW5lIGV4dHJhY3RvcnMuCiAgICogY29tYmluZUV4dHJhY3RvcnMoKSBkb2VzIHRoZSB3b3JrIG9mIGNvbWJpbmluZyB0aGVtLCBrZWVwaW5nIHRyYWNrIG9mIHRoZSBjdXJzb3IgdGhyb3VnaCBtdWx0aXBsZSBleHRyYWN0aW9ucy4KICAgKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS4KICAgKi8KCiAgY29uc3QgaWFuYVJlZ2V4ID0gL1tBLVphLXpfKy1dezEsMjU2fSg/Ojo/XC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcL1tBLVphLXowLTlfKy1dezEsMjU2fSk/KT8vOwoKICBmdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7CiAgICBjb25zdCBmdWxsID0gcmVnZXhlcy5yZWR1Y2UoKGYsIHIpID0+IGYgKyByLnNvdXJjZSwgIiIpOwogICAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7CiAgfQoKICBmdW5jdGlvbiBjb21iaW5lRXh0cmFjdG9ycyguLi5leHRyYWN0b3JzKSB7CiAgICByZXR1cm4gKG0pID0+CiAgICAgIGV4dHJhY3RvcnMKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFttZXJnZWRWYWxzLCBtZXJnZWRab25lLCBjdXJzb3JdLCBleCkgPT4gewogICAgICAgICAgICBjb25zdCBbdmFsLCB6b25lLCBuZXh0XSA9IGV4KG0sIGN1cnNvcik7CiAgICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTsKICAgICAgICAgIH0sCiAgICAgICAgICBbe30sIG51bGwsIDFdCiAgICAgICAgKQogICAgICAgIC5zbGljZSgwLCAyKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlKHMsIC4uLnBhdHRlcm5zKSB7CiAgICBpZiAocyA9PSBudWxsKSB7CiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07CiAgICB9CgogICAgZm9yIChjb25zdCBbcmVnZXgsIGV4dHJhY3Rvcl0gb2YgcGF0dGVybnMpIHsKICAgICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7CiAgICAgIGlmIChtKSB7CiAgICAgICAgcmV0dXJuIGV4dHJhY3RvcihtKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIFtudWxsLCBudWxsXTsKICB9CgogIGZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHsKICAgIHJldHVybiAobWF0Y2gsIGN1cnNvcikgPT4gewogICAgICBjb25zdCByZXQgPSB7fTsKICAgICAgbGV0IGk7CgogICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIHJldFtrZXlzW2ldXSA9IHBhcnNlSW50ZWdlcihtYXRjaFtjdXJzb3IgKyBpXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldOwogICAgfTsKICB9CgogIC8vIElTTyBhbmQgU1FMIHBhcnNpbmcKICBjb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8pLzsKICBjb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcWygke2lhbmFSZWdleC5zb3VyY2V9KVxcXSk/KT9gOwogIGNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlsuLF0oXGR7MSwzMH0pKT8pPyk/LzsKICBjb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7CiAgY29uc3QgaXNvVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzpUJHtpc29UaW1lUmVnZXguc291cmNlfSk/YCk7CiAgY29uc3QgaXNvWW1kUmVnZXggPSAvKFsrLV1cZHs2fXxcZHs0fSkoPzotPyhcZFxkKSg/Oi0/KFxkXGQpKT8pPy87CiAgY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcZHs0fSktP1coXGRcZCkoPzotPyhcZCkpPy87CiAgY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcZHs0fSktPyhcZHszfSkvOwogIGNvbnN0IGV4dHJhY3RJU09XZWVrRGF0YSA9IHNpbXBsZVBhcnNlKCJ3ZWVrWWVhciIsICJ3ZWVrTnVtYmVyIiwgIndlZWtEYXkiKTsKICBjb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZSgieWVhciIsICJvcmRpbmFsIik7CiAgY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxkezR9KS0oXGRcZCktKFxkXGQpLzsgLy8gZHVtYmVkLWRvd24gdmVyc2lvbiBvZiB0aGUgSVNPIG9uZQogIGNvbnN0IHNxbFRpbWVSZWdleCA9IFJlZ0V4cCgKICAgIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YAogICk7CiAgY29uc3Qgc3FsVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzogJHtzcWxUaW1lUmVnZXguc291cmNlfSk/YCk7CgogIGZ1bmN0aW9uIGludChtYXRjaCwgcG9zLCBmYWxsYmFjaykgewogICAgY29uc3QgbSA9IG1hdGNoW3Bvc107CiAgICByZXR1cm4gaXNVbmRlZmluZWQobSkgPyBmYWxsYmFjayA6IHBhcnNlSW50ZWdlcihtKTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJU09ZbWQobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgeWVhcjogaW50KG1hdGNoLCBjdXJzb3IpLAogICAgICBtb250aDogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAxKSwKICAgICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpLAogICAgfTsKCiAgICByZXR1cm4gW2l0ZW0sIG51bGwsIGN1cnNvciArIDNdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgaG91cnM6IGludChtYXRjaCwgY3Vyc29yLCAwKSwKICAgICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSwKICAgICAgc2Vjb25kczogaW50KG1hdGNoLCBjdXJzb3IgKyAyLCAwKSwKICAgICAgbWlsbGlzZWNvbmRzOiBwYXJzZU1pbGxpcyhtYXRjaFtjdXJzb3IgKyAzXSksCiAgICB9OwoKICAgIHJldHVybiBbaXRlbSwgbnVsbCwgY3Vyc29yICsgNF07CiAgfQoKICBmdW5jdGlvbiBleHRyYWN0SVNPT2Zmc2V0KG1hdGNoLCBjdXJzb3IpIHsKICAgIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLAogICAgICBmdWxsT2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG1hdGNoW2N1cnNvciArIDFdLCBtYXRjaFtjdXJzb3IgKyAyXSksCiAgICAgIHpvbmUgPSBsb2NhbCA/IG51bGwgOiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoZnVsbE9mZnNldCk7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJQU5BWm9uZShtYXRjaCwgY3Vyc29yKSB7CiAgICBjb25zdCB6b25lID0gbWF0Y2hbY3Vyc29yXSA/IElBTkFab25lLmNyZWF0ZShtYXRjaFtjdXJzb3JdKSA6IG51bGw7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTsKICB9CgogIC8vIElTTyB0aW1lIHBhcnNpbmcKCiAgY29uc3QgaXNvVGltZU9ubHkgPSBSZWdFeHAoYF5UPyR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JGApOwoKICAvLyBJU08gZHVyYXRpb24gcGFyc2luZwoKICBjb25zdCBpc29EdXJhdGlvbiA9CiAgICAvXi0/UCg/Oig/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVkpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KU0pPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVcpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KUQpPyg/OlQoPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylIKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylNKT8oPzooLT9cZHsxLDIwfSkoPzpbLixdKC0/XGR7MSwyMH0pKT9TKT8pPykkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7CiAgICBjb25zdCBbcywgeWVhclN0ciwgbW9udGhTdHIsIHdlZWtTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIsIG1pbGxpc2Vjb25kc1N0cl0gPQogICAgICBtYXRjaDsKCiAgICBjb25zdCBoYXNOZWdhdGl2ZVByZWZpeCA9IHNbMF0gPT09ICItIjsKICAgIGNvbnN0IG5lZ2F0aXZlU2Vjb25kcyA9IHNlY29uZFN0ciAmJiBzZWNvbmRTdHJbMF0gPT09ICItIjsKCiAgICBjb25zdCBtYXliZU5lZ2F0ZSA9IChudW0sIGZvcmNlID0gZmFsc2UpID0+CiAgICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtOwoKICAgIHJldHVybiBbCiAgICAgIHsKICAgICAgICB5ZWFyczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh5ZWFyU3RyKSksCiAgICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksCiAgICAgICAgd2Vla3M6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcod2Vla1N0cikpLAogICAgICAgIGRheXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoZGF5U3RyKSksCiAgICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLAogICAgICAgIG1pbnV0ZXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcobWludXRlU3RyKSksCiAgICAgICAgc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhzZWNvbmRTdHIpLCBzZWNvbmRTdHIgPT09ICItMCIpLAogICAgICAgIG1pbGxpc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VNaWxsaXMobWlsbGlzZWNvbmRzU3RyKSwgbmVnYXRpdmVTZWNvbmRzKSwKICAgICAgfSwKICAgIF07CiAgfQoKICAvLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmsKICAvLyBhbmQgbm90IGp1c3QgdGhhdCB3ZSdyZSBpbiAtMjQwICpyaWdodCBub3cqLiBCdXQgc2luY2UgSSBkb24ndCB0aGluayB0aGVzZSBhcmUgdXNlZCB0aGF0IG9mdGVuCiAgLy8gSSdtIGp1c3QgZ29pbmcgdG8gaWdub3JlIHRoYXQKICBjb25zdCBvYnNPZmZzZXRzID0gewogICAgR01UOiAwLAogICAgRURUOiAtNCAqIDYwLAogICAgRVNUOiAtNSAqIDYwLAogICAgQ0RUOiAtNSAqIDYwLAogICAgQ1NUOiAtNiAqIDYwLAogICAgTURUOiAtNiAqIDYwLAogICAgTVNUOiAtNyAqIDYwLAogICAgUERUOiAtNyAqIDYwLAogICAgUFNUOiAtOCAqIDYwLAogIH07CgogIGZ1bmN0aW9uIGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKSB7CiAgICBjb25zdCByZXN1bHQgPSB7CiAgICAgIHllYXI6IHllYXJTdHIubGVuZ3RoID09PSAyID8gdW50cnVuY2F0ZVllYXIocGFyc2VJbnRlZ2VyKHllYXJTdHIpKSA6IHBhcnNlSW50ZWdlcih5ZWFyU3RyKSwKICAgICAgbW9udGg6IG1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSwKICAgICAgZGF5OiBwYXJzZUludGVnZXIoZGF5U3RyKSwKICAgICAgaG91cjogcGFyc2VJbnRlZ2VyKGhvdXJTdHIpLAogICAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpLAogICAgfTsKCiAgICBpZiAoc2Vjb25kU3RyKSByZXN1bHQuc2Vjb25kID0gcGFyc2VJbnRlZ2VyKHNlY29uZFN0cik7CiAgICBpZiAod2Vla2RheVN0cikgewogICAgICByZXN1bHQud2Vla2RheSA9CiAgICAgICAgd2Vla2RheVN0ci5sZW5ndGggPiAzCiAgICAgICAgICA/IHdlZWtkYXlzTG9uZy5pbmRleE9mKHdlZWtkYXlTdHIpICsgMQogICAgICAgICAgOiB3ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICAvLyBSRkMgMjgyMi81MzIyCiAgY29uc3QgcmZjMjgyMiA9CiAgICAvXig/OihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLFxzKT8oXGR7MSwyfSlccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylccyhcZHsyLDR9KVxzKFxkXGQpOihcZFxkKSg/OjooXGRcZCkpP1xzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXGRcZCkoXGRcZCkpKSQvOwoKICBmdW5jdGlvbiBleHRyYWN0UkZDMjgyMihtYXRjaCkgewogICAgY29uc3QgWwogICAgICAgICwKICAgICAgICB3ZWVrZGF5U3RyLAogICAgICAgIGRheVN0ciwKICAgICAgICBtb250aFN0ciwKICAgICAgICB5ZWFyU3RyLAogICAgICAgIGhvdXJTdHIsCiAgICAgICAgbWludXRlU3RyLAogICAgICAgIHNlY29uZFN0ciwKICAgICAgICBvYnNPZmZzZXQsCiAgICAgICAgbWlsT2Zmc2V0LAogICAgICAgIG9mZkhvdXJTdHIsCiAgICAgICAgb2ZmTWludXRlU3RyLAogICAgICBdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKCiAgICBsZXQgb2Zmc2V0OwogICAgaWYgKG9ic09mZnNldCkgewogICAgICBvZmZzZXQgPSBvYnNPZmZzZXRzW29ic09mZnNldF07CiAgICB9IGVsc2UgaWYgKG1pbE9mZnNldCkgewogICAgICBvZmZzZXQgPSAwOwogICAgfSBlbHNlIHsKICAgICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7CiAgICB9CgogICAgcmV0dXJuIFtyZXN1bHQsIG5ldyBGaXhlZE9mZnNldFpvbmUob2Zmc2V0KV07CiAgfQoKICBmdW5jdGlvbiBwcmVwcm9jZXNzUkZDMjgyMihzKSB7CiAgICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQogICAgcmV0dXJuIHMKICAgICAgLnJlcGxhY2UoL1woW14oKV0qXCl8W1xuXHRdL2csICIgIikKICAgICAgLnJlcGxhY2UoLyhcc1xzKykvZywgIiAiKQogICAgICAudHJpbSgpOwogIH0KCiAgLy8gaHR0cCBkYXRlCgogIGNvbnN0IHJmYzExMjMgPQogICAgICAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLCAoXGRcZCkgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoXGR7NH0pIChcZFxkKTooXGRcZCk6KFxkXGQpIEdNVCQvLAogICAgcmZjODUwID0KICAgICAgL14oTW9uZGF5fFR1ZXNkYXl8V2VkbmVzZGF5fFRodXJzZGF5fEZyaWRheXxTYXR1cmRheXxTdW5kYXkpLCAoXGRcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXGRcZCkgKFxkXGQpOihcZFxkKTooXGRcZCkgR01UJC8sCiAgICBhc2NpaSA9CiAgICAgIC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1bikgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoIFxkfFxkXGQpIChcZFxkKTooXGRcZCk6KFxkXGQpIChcZHs0fSkkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdFJGQzExMjNPcjg1MChtYXRjaCkgewogICAgY29uc3QgWywgd2Vla2RheVN0ciwgZGF5U3RyLCBtb250aFN0ciwgeWVhclN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHJdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKICAgIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdEFTQ0lJKG1hdGNoKSB7CiAgICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCwKICAgICAgcmVzdWx0ID0gZnJvbVN0cmluZ3Mod2Vla2RheVN0ciwgeWVhclN0ciwgbW9udGhTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIpOwogICAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07CiAgfQoKICBjb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvV2Vla1dpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29XZWVrUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29PcmRpbmFsUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpOwoKICBjb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1ltZCwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoCiAgICBleHRyYWN0SVNPV2Vla0RhdGEsCiAgICBleHRyYWN0SVNPVGltZSwKICAgIGV4dHJhY3RJU09PZmZzZXQsCiAgICBleHRyYWN0SUFOQVpvbmUKICApOwogIGNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09PcmRpbmFsRGF0YSwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CgogIC8qCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gcGFyc2VJU09EYXRlKHMpIHsKICAgIHJldHVybiBwYXJzZSgKICAgICAgcywKICAgICAgW2lzb1ltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSwKICAgICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLAogICAgICBbaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWVdLAogICAgICBbaXNvVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lQW5kT2Zmc2V0XQogICAgKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykgewogICAgcmV0dXJuIHBhcnNlKHByZXByb2Nlc3NSRkMyODIyKHMpLCBbcmZjMjgyMiwgZXh0cmFjdFJGQzI4MjJdKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSFRUUERhdGUocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbcmZjMTEyMywgZXh0cmFjdFJGQzExMjNPcjg1MF0sCiAgICAgIFtyZmM4NTAsIGV4dHJhY3RSRkMxMTIzT3I4NTBdLAogICAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV0KICAgICk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUlTT0R1cmF0aW9uKHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvRHVyYXRpb24sIGV4dHJhY3RJU09EdXJhdGlvbl0pOwogIH0KCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpOwoKICBmdW5jdGlvbiBwYXJzZUlTT1RpbWVPbmx5KHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pOwogIH0KCiAgY29uc3Qgc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFltZFJlZ2V4LCBzcWxUaW1lRXh0ZW5zaW9uUmVnZXgpOwogIGNvbnN0IHNxbFRpbWVDb21iaW5lZFJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsVGltZVJlZ2V4KTsKCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPZmZzZXRBbmRJQU5BWm9uZSA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1RpbWUsCiAgICBleHRyYWN0SVNPT2Zmc2V0LAogICAgZXh0cmFjdElBTkFab25lCiAgKTsKCiAgZnVuY3Rpb24gcGFyc2VTUUwocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT1ltZFRpbWVBbmRPZmZzZXRdLAogICAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdCiAgICApOwogIH0KCiAgY29uc3QgSU5WQUxJRCQyID0gIkludmFsaWQgRHVyYXRpb24iOwoKICAvLyB1bml0IGNvbnZlcnNpb24gY29uc3RhbnRzCiAgY29uc3QgbG93T3JkZXJNYXRyaXggPSB7CiAgICAgIHdlZWtzOiB7CiAgICAgICAgZGF5czogNywKICAgICAgICBob3VyczogNyAqIDI0LAogICAgICAgIG1pbnV0ZXM6IDcgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiA3ICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgZGF5czogewogICAgICAgIGhvdXJzOiAyNCwKICAgICAgICBtaW51dGVzOiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCwKICAgICAgICBtaWxsaXNlY29uZHM6IDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCiAgICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sCiAgICAgIG1pbnV0ZXM6IHsgc2Vjb25kczogNjAsIG1pbGxpc2Vjb25kczogNjAgKiAxMDAwIH0sCiAgICAgIHNlY29uZHM6IHsgbWlsbGlzZWNvbmRzOiAxMDAwIH0sCiAgICB9LAogICAgY2FzdWFsTWF0cml4ID0gewogICAgICB5ZWFyczogewogICAgICAgIHF1YXJ0ZXJzOiA0LAogICAgICAgIG1vbnRoczogMTIsCiAgICAgICAgd2Vla3M6IDUyLAogICAgICAgIGRheXM6IDM2NSwKICAgICAgICBob3VyczogMzY1ICogMjQsCiAgICAgICAgbWludXRlczogMzY1ICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogMTMsCiAgICAgICAgZGF5czogOTEsCiAgICAgICAgaG91cnM6IDkxICogMjQsCiAgICAgICAgbWludXRlczogOTEgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLAogICAgICAgIG1pbGxpc2Vjb25kczogOTEgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogNCwKICAgICAgICBkYXlzOiAzMCwKICAgICAgICBob3VyczogMzAgKiAyNCwKICAgICAgICBtaW51dGVzOiAzMCAqIDI0ICogNjAsCiAgICAgICAgc2Vjb25kczogMzAgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCgogICAgICAuLi5sb3dPcmRlck1hdHJpeCwKICAgIH0sCiAgICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCwKICAgIGRheXNJbk1vbnRoQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQ4MDAsCiAgICBhY2N1cmF0ZU1hdHJpeCA9IHsKICAgICAgeWVhcnM6IHsKICAgICAgICBxdWFydGVyczogNCwKICAgICAgICBtb250aHM6IDEyLAogICAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LAogICAgICAgIGRheXM6IGRheXNJblllYXJBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luWWVhckFjY3VyYXRlICogMjQsCiAgICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsCiAgICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlIC8gNCwKICAgICAgICBob3VyczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0KSAvIDQsCiAgICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCwKICAgICAgICBzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwKSAvIDQsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCkgLyA0LAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogZGF5c0luTW9udGhBY2N1cmF0ZSAvIDcsCiAgICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luTW9udGhBY2N1cmF0ZSAqIDI0LAogICAgICAgIG1pbnV0ZXM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgLi4ubG93T3JkZXJNYXRyaXgsCiAgICB9OwoKICAvLyB1bml0cyBvcmRlcmVkIGJ5IHNpemUKICBjb25zdCBvcmRlcmVkVW5pdHMkMSA9IFsKICAgICJ5ZWFycyIsCiAgICAicXVhcnRlcnMiLAogICAgIm1vbnRocyIsCiAgICAid2Vla3MiLAogICAgImRheXMiLAogICAgImhvdXJzIiwKICAgICJtaW51dGVzIiwKICAgICJzZWNvbmRzIiwKICAgICJtaWxsaXNlY29uZHMiLAogIF07CgogIGNvbnN0IHJldmVyc2VVbml0cyA9IG9yZGVyZWRVbml0cyQxLnNsaWNlKDApLnJldmVyc2UoKTsKCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zICJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXMiCiAgZnVuY3Rpb24gY2xvbmUkMShkdXIsIGFsdHMsIGNsZWFyID0gZmFsc2UpIHsKICAgIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHMKICAgIGNvbnN0IGNvbmYgPSB7CiAgICAgIHZhbHVlczogY2xlYXIgPyBhbHRzLnZhbHVlcyA6IHsgLi4uZHVyLnZhbHVlcywgLi4uKGFsdHMudmFsdWVzIHx8IHt9KSB9LAogICAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLAogICAgICBjb252ZXJzaW9uQWNjdXJhY3k6IGFsdHMuY29udmVyc2lvbkFjY3VyYWN5IHx8IGR1ci5jb252ZXJzaW9uQWNjdXJhY3ksCiAgICAgIG1hdHJpeDogYWx0cy5tYXRyaXggfHwgZHVyLm1hdHJpeCwKICAgIH07CiAgICByZXR1cm4gbmV3IER1cmF0aW9uKGNvbmYpOwogIH0KCiAgZnVuY3Rpb24gYW50aVRydW5jKG4pIHsKICAgIHJldHVybiBuIDwgMCA/IE1hdGguZmxvb3IobikgOiBNYXRoLmNlaWwobik7CiAgfQoKICAvLyBOQjogbXV0YXRlcyBwYXJhbWV0ZXJzCiAgZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7CiAgICBjb25zdCBjb252ID0gbWF0cml4W3RvVW5pdF1bZnJvbVVuaXRdLAogICAgICByYXcgPSBmcm9tTWFwW2Zyb21Vbml0XSAvIGNvbnYsCiAgICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSwKICAgICAgLy8gb2ssIHNvIHRoaXMgaXMgd2lsZCwgYnV0IHNlZSB0aGUgbWF0cml4IGluIHRoZSB0ZXN0cwogICAgICBhZGRlZCA9CiAgICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7CiAgICB0b01hcFt0b1VuaXRdICs9IGFkZGVkOwogICAgZnJvbU1hcFtmcm9tVW5pdF0gLT0gYWRkZWQgKiBjb252OwogIH0KCiAgLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVycwogIGZ1bmN0aW9uIG5vcm1hbGl6ZVZhbHVlcyhtYXRyaXgsIHZhbHMpIHsKICAgIHJldmVyc2VVbml0cy5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7CiAgICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHsKICAgICAgICBpZiAocHJldmlvdXMpIHsKICAgICAgICAgIGNvbnZlcnQobWF0cml4LCB2YWxzLCBwcmV2aW91cywgdmFscywgY3VycmVudCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjdXJyZW50OwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBwcmV2aW91czsKICAgICAgfQogICAgfSwgbnVsbCk7CiAgfQoKICAvLyBSZW1vdmUgYWxsIHByb3BlcnRpZXMgd2l0aCBhIHZhbHVlIG9mIDAgZnJvbSBhbiBvYmplY3QKICBmdW5jdGlvbiByZW1vdmVaZXJvZXModmFscykgewogICAgY29uc3QgbmV3VmFscyA9IHt9OwogICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFscykpIHsKICAgICAgaWYgKHZhbHVlICE9PSAwKSB7CiAgICAgICAgbmV3VmFsc1trZXldID0gdmFsdWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBuZXdWYWxzOwogIH0KCiAgLyoqCiAgICogQSBEdXJhdGlvbiBvYmplY3QgcmVwcmVzZW50cyBhIHBlcmlvZCBvZiB0aW1lLCBsaWtlICIyIG1vbnRocyIgb3IgIjEgZGF5LCAxIGhvdXIiLiBDb25jZXB0dWFsbHksIGl0J3MganVzdCBhIG1hcCBvZiB1bml0cyB0byB0aGVpciBxdWFudGl0aWVzLCBhY2NvbXBhbmllZCBieSBzb21lIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBhbmQgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHBhcnNpbmcsIGludGVycm9nYXRpbmcsIHRyYW5zZm9ybWluZywgYW5kIGZvcm1hdHRpbmcgdGhlbS4gVGhleSBjYW4gYmUgdXNlZCBvbiB0aGVpciBvd24gb3IgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlciBMdXhvbiB0eXBlczsgZm9yIGV4YW1wbGUsIHlvdSBjYW4gdXNlIHtAbGluayBEYXRlVGltZSNwbHVzfSB0byBhZGQgYSBEdXJhdGlvbiBvYmplY3QgdG8gYSBEYXRlVGltZSwgcHJvZHVjaW5nIGFub3RoZXIgRGF0ZVRpbWUuCiAgICoKICAgKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOgogICAqCiAgICogKiAqKkNyZWF0aW9uKiogVG8gY3JlYXRlIGEgRHVyYXRpb24sIHVzZSB7QGxpbmsgRHVyYXRpb24uZnJvbU1pbGxpc30sIHtAbGluayBEdXJhdGlvbi5mcm9tT2JqZWN0fSwgb3Ige0BsaW5rIER1cmF0aW9uLmZyb21JU099LgogICAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy4KICAgKiAqICoqQ29uZmlndXJhdGlvbioqIFNlZSAge0BsaW5rIER1cmF0aW9uI2xvY2FsZX0gYW5kIHtAbGluayBEdXJhdGlvbiNudW1iZXJpbmdTeXN0ZW19IGFjY2Vzc29ycy4KICAgKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgbmV3IER1cmF0aW9ucyBvdXQgb2Ygb2xkIG9uZXMgdXNlIHtAbGluayBEdXJhdGlvbiNwbHVzfSwge0BsaW5rIER1cmF0aW9uI21pbnVzfSwge0BsaW5rIER1cmF0aW9uI25vcm1hbGl6ZX0sIHtAbGluayBEdXJhdGlvbiNzZXR9LCB7QGxpbmsgRHVyYXRpb24jcmVjb25maWd1cmV9LCB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30sIGFuZCB7QGxpbmsgRHVyYXRpb24jbmVnYXRlfS4KICAgKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn0KICAgKgogICAqIFRoZXJlJ3MgYXJlIG1vcmUgbWV0aG9kcyBkb2N1bWVudGVkIGJlbG93LiBJbiBhZGRpdGlvbiwgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc3VidGxlciB0b3BpY3MgbGlrZSBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgdmFsaWRpdHksIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi4KICAgKi8KICBjbGFzcyBEdXJhdGlvbiB7CiAgICAvKioKICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09ICJsb25ndGVybSIgfHwgZmFsc2U7CiAgICAgIGxldCBtYXRyaXggPSBhY2N1cmF0ZSA/IGFjY3VyYXRlTWF0cml4IDogY2FzdWFsTWF0cml4OwoKICAgICAgaWYgKGNvbmZpZy5tYXRyaXgpIHsKICAgICAgICBtYXRyaXggPSBjb25maWcubWF0cml4OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuY29udmVyc2lvbkFjY3VyYWN5ID0gYWNjdXJhdGUgPyAibG9uZ3Rlcm0iIDogImNhc3VhbCI7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGNvbmZpZy5pbnZhbGlkIHx8IG51bGw7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubWF0cml4ID0gbWF0cml4OwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgRHVyYXRpb24gZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMuCiAgICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbU1pbGxpcyhjb3VudCwgb3B0cykgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbGxpc2Vjb25kczogY291bnQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEdXJhdGlvbiBmcm9tIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIElmIHRoaXMgb2JqZWN0IGlzIGVtcHR5IHRoZW4gYSB6ZXJvIG1pbGxpc2Vjb25kcyBkdXJhdGlvbiBpcyByZXR1cm5lZC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai55ZWFycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5xdWFydGVycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla3MKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5cwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGVzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnNlY29uZHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdHM9W11dIC0gb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhpcyBEdXJhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBjdXN0b20gY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHsKICAgICAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKAogICAgICAgICAgYER1cmF0aW9uLmZyb21PYmplY3Q6IGFyZ3VtZW50IGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgZ290ICR7CiAgICAgICAgICBvYmogPT09IG51bGwgPyAibnVsbCIgOiB0eXBlb2Ygb2JqCiAgICAgICAgfWAKICAgICAgICApOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IER1cmF0aW9uKHsKICAgICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgICAgY29udmVyc2lvbkFjY3VyYWN5OiBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSwKICAgICAgICBtYXRyaXg6IG9wdHMubWF0cml4LAogICAgICB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gRHVyYXRpb25MaWtlLgogICAgICoKICAgICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZQogICAgICogT25lIG9mOgogICAgICogLSBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHMKICAgICAqIC0gRHVyYXRpb24gaW5zdGFuY2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbkxpa2UpIHsKICAgICAgaWYgKGlzTnVtYmVyKGR1cmF0aW9uTGlrZSkpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgaWYgKER1cmF0aW9uLmlzRHVyYXRpb24oZHVyYXRpb25MaWtlKSkgewogICAgICAgIHJldHVybiBkdXJhdGlvbkxpa2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gIm9iamVjdCIpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBVbmtub3duIGR1cmF0aW9uIGFyZ3VtZW50ICR7ZHVyYXRpb25MaWtlfSBvZiB0eXBlICR7dHlwZW9mIGR1cmF0aW9uTGlrZX1gCiAgICAgICAgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRleHQgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBwcmVzZXQgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI0R1cmF0aW9ucwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUFQyM0gnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjMgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDVZM00nKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogNSwgbW9udGhzOiAzIH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBwYXJzaW5nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgcHJlc2V0IGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm1hdHJpeD1PYmplY3RdIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExOjIyOjMzLjQ0NCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMjIsIHNlY29uZHM6IDMzLCBtaWxsaXNlY29uZHM6IDQ0NCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJ1QxMTowMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTEwMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09UaW1lT25seSh0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRHVyYXRpb24uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBkYXRldGltZSBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHsKICAgICAgaWYgKCFyZWFzb24pIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRHVyYXRpb24gaXMgaW52YWxpZCIpOwogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pOwoKICAgICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWREdXJhdGlvbkVycm9yKGludmFsaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRHVyYXRpb24oeyBpbnZhbGlkIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7CiAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgICAgeWVhcjogInllYXJzIiwKICAgICAgICB5ZWFyczogInllYXJzIiwKICAgICAgICBxdWFydGVyOiAicXVhcnRlcnMiLAogICAgICAgIHF1YXJ0ZXJzOiAicXVhcnRlcnMiLAogICAgICAgIG1vbnRoOiAibW9udGhzIiwKICAgICAgICBtb250aHM6ICJtb250aHMiLAogICAgICAgIHdlZWs6ICJ3ZWVrcyIsCiAgICAgICAgd2Vla3M6ICJ3ZWVrcyIsCiAgICAgICAgZGF5OiAiZGF5cyIsCiAgICAgICAgZGF5czogImRheXMiLAogICAgICAgIGhvdXI6ICJob3VycyIsCiAgICAgICAgaG91cnM6ICJob3VycyIsCiAgICAgICAgbWludXRlOiAibWludXRlcyIsCiAgICAgICAgbWludXRlczogIm1pbnV0ZXMiLAogICAgICAgIHNlY29uZDogInNlY29uZHMiLAogICAgICAgIHNlY29uZHM6ICJzZWNvbmRzIiwKICAgICAgICBtaWxsaXNlY29uZDogIm1pbGxpc2Vjb25kcyIsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAibWlsbGlzZWNvbmRzIiwKICAgICAgfVt1bml0ID8gdW5pdC50b0xvd2VyQ2FzZSgpIDogdW5pdF07CgogICAgICBpZiAoIW5vcm1hbGl6ZWQpIHRocm93IG5ldyBJbnZhbGlkVW5pdEVycm9yKHVuaXQpOwoKICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYSBEdXJhdGlvbi4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0R1cmF0aW9uKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCAgdGhlIGxvY2FsZSBvZiBhIER1cmF0aW9uLCBzdWNoICdlbi1HQicKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBsb2NhbGUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBudW1iZXJpbmcgc3lzdGVtIG9mIGEgRHVyYXRpb24sIHN1Y2ggJ2JlbmcnLiBUaGUgbnVtYmVyaW5nIHN5c3RlbSBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyB0aGUgRHVyYXRpb24KICAgICAqCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOgogICAgICogKiBgU2AgZm9yIG1pbGxpc2Vjb25kcwogICAgICogKiBgc2AgZm9yIHNlY29uZHMKICAgICAqICogYG1gIGZvciBtaW51dGVzCiAgICAgKiAqIGBoYCBmb3IgaG91cnMKICAgICAqICogYGRgIGZvciBkYXlzCiAgICAgKiAqIGB3YCBmb3Igd2Vla3MKICAgICAqICogYE1gIGZvciBtb250aHMKICAgICAqICogYHlgIGZvciB5ZWFycwogICAgICogTm90ZXM6CiAgICAgKiAqIEFkZCBwYWRkaW5nIGJ5IHJlcGVhdGluZyB0aGUgdG9rZW4sIGUuZy4gInl5IiBwYWRzIHRoZSB5ZWFycyB0byB0d28gZGlnaXRzLCAiaGhoaCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzCiAgICAgKiAqIFRva2VucyBjYW4gYmUgZXNjYXBlZCBieSB3cmFwcGluZyB3aXRoIHNpbmdsZSBxdW90ZXMuCiAgICAgKiAqIFRoZSBkdXJhdGlvbiB3aWxsIGJlIGNvbnZlcnRlZCB0byB0aGUgc2V0IG9mIHVuaXRzIGluIHRoZSBmb3JtYXQgc3RyaW5nIHVzaW5nIHtAbGluayBEdXJhdGlvbiNzaGlmdFRvfSBhbmQgdGhlIER1cmF0aW9ucydzIGNvbnZlcnNpb24gYWNjdXJhY3kgc2V0dGluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmZsb29yPXRydWVdIC0gZmxvb3IgbnVtZXJpY2FsIHZhbHVlcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5IGQgcyIpIC8vPT4gIjEgNiAyIgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5eSBkZCBzc3MiKSAvLz0+ICIwMSAwNiAwMDIiCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoIk0gUyIpIC8vPT4gIjEyIDUxODQwMjAwMCIKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9Gb3JtYXQoZm10LCBvcHRzID0ge30pIHsKICAgICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdAogICAgICBjb25zdCBmbXRPcHRzID0gewogICAgICAgIC4uLm9wdHMsCiAgICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLAogICAgICB9OwogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KQogICAgICAgIDogSU5WQUxJRCQyOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIER1cmF0aW9uIHdpdGggYWxsIHVuaXRzIGluY2x1ZGVkLgogICAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdAogICAgICogQHBhcmFtIG9wdHMgLSBPbiBvcHRpb24gb2JqZWN0IHRvIG92ZXJyaWRlIHRoZSBmb3JtYXR0aW5nLiBBY2NlcHRzIHRoZSBzYW1lIGtleXMgYXMgdGhlIG9wdGlvbnMgcGFyYW1ldGVyIG9mIHRoZSBuYXRpdmUgYEludC5OdW1iZXJGb3JtYXRgIGNvbnN0cnVjdG9yLCBhcyB3ZWxsIGFzIGBsaXN0U3R5bGVgLgogICAgICogQGV4YW1wbGUKICAgICAqIGBgYGpzCiAgICAgKiB2YXIgZHVyID0gRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEsIGhvdXJzOiA1LCBtaW51dGVzOiA2IH0pCiAgICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnCiAgICAgKiBkdXIudG9IdW1hbih7IGxpc3RTdHlsZTogImxvbmciIH0pIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCBhbmQgNiBtaW51dGVzJwogICAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogInNob3J0IiB9KSAvLz0+ICcxIGRheSwgNSBociwgNiBtaW4nCiAgICAgKiBgYGAKICAgICAqLwogICAgdG9IdW1hbihvcHRzID0ge30pIHsKICAgICAgY29uc3QgbCA9IG9yZGVyZWRVbml0cyQxCiAgICAgICAgLm1hcCgodW5pdCkgPT4gewogICAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07CiAgICAgICAgICBpZiAoaXNVbmRlZmluZWQodmFsKSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0aGlzLmxvYwogICAgICAgICAgICAubnVtYmVyRm9ybWF0dGVyKHsgc3R5bGU6ICJ1bml0IiwgdW5pdERpc3BsYXk6ICJsb25nIiwgLi4ub3B0cywgdW5pdDogdW5pdC5zbGljZSgwLCAtMSkgfSkKICAgICAgICAgICAgLmZvcm1hdCh2YWwpOwogICAgICAgIH0pCiAgICAgICAgLmZpbHRlcigobikgPT4gbik7CgogICAgICByZXR1cm4gdGhpcy5sb2MKICAgICAgICAubGlzdEZvcm1hdHRlcih7IHR5cGU6ICJjb25qdW5jdGlvbiIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCAibmFycm93IiwgLi4ub3B0cyB9KQogICAgICAgIC5mb3JtYXQobCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGlzIER1cmF0aW9uJ3MgdmFsdWVzLgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvT2JqZWN0KCkgLy89PiB7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgdG9PYmplY3QoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307CiAgICAgIHJldHVybiB7IC4uLnRoaXMudmFsdWVzIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjRHVyYXRpb25zCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDMsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDNZVDQ1UycKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UycKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDUgfSkudG9JU08oKSAvLz0+ICdQNU0nCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogNSB9KS50b0lTTygpIC8vPT4gJ1BUNU0nCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPKCkgewogICAgICAvLyB3ZSBjb3VsZCB1c2UgdGhlIGZvcm1hdHRlciwgYnV0IHRoaXMgaXMgYW4gZWFzaWVyIHdheSB0byBnZXQgdGhlIG1pbmltdW0gc3RyaW5nCiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKCiAgICAgIGxldCBzID0gIlAiOwogICAgICBpZiAodGhpcy55ZWFycyAhPT0gMCkgcyArPSB0aGlzLnllYXJzICsgIlkiOwogICAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgIk0iOwogICAgICBpZiAodGhpcy53ZWVrcyAhPT0gMCkgcyArPSB0aGlzLndlZWtzICsgIlciOwogICAgICBpZiAodGhpcy5kYXlzICE9PSAwKSBzICs9IHRoaXMuZGF5cyArICJEIjsKICAgICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMCkKICAgICAgICBzICs9ICJUIjsKICAgICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArICJIIjsKICAgICAgaWYgKHRoaXMubWludXRlcyAhPT0gMCkgcyArPSB0aGlzLm1pbnV0ZXMgKyAiTSI7CiAgICAgIGlmICh0aGlzLnNlY29uZHMgIT09IDAgfHwgdGhpcy5taWxsaXNlY29uZHMgIT09IDApCiAgICAgICAgLy8gdGhpcyB3aWxsIGhhbmRsZSAiZmxvYXRpbmcgcG9pbnQgbWFkbmVzcyIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXMKICAgICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81ODgwMDQvaXMtZmxvYXRpbmctcG9pbnQtbWF0aC1icm9rZW4KICAgICAgICBzICs9IHJvdW5kVG8odGhpcy5zZWNvbmRzICsgdGhpcy5taWxsaXNlY29uZHMgLyAxMDAwLCAzKSArICJTIjsKICAgICAgaWYgKHMgPT09ICJQIikgcyArPSAiVDBTIjsKICAgICAgcmV0dXJuIHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuCiAgICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIHJldHVybiBudWxsIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkLCBuZWdhdGl2ZSwgb3IgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIDI0IGhvdXJzLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lcwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzTWlsbGlzZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeAogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSgpIC8vPT4gJzExOjAwOjAwLjAwMCcKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IHN1cHByZXNzU2Vjb25kczogdHJ1ZSB9KSAvLz0+ICcxMTowMCcKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgaW5jbHVkZVByZWZpeDogdHJ1ZSB9KSAvLz0+ICdUMTE6MDA6MDAuMDAwJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09UaW1lKG9wdHMgPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7CgogICAgICBjb25zdCBtaWxsaXMgPSB0aGlzLnRvTWlsbGlzKCk7CiAgICAgIGlmIChtaWxsaXMgPCAwIHx8IG1pbGxpcyA+PSA4NjQwMDAwMCkgcmV0dXJuIG51bGw7CgogICAgICBvcHRzID0gewogICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSwKICAgICAgICBzdXBwcmVzc1NlY29uZHM6IGZhbHNlLAogICAgICAgIGluY2x1ZGVQcmVmaXg6IGZhbHNlLAogICAgICAgIGZvcm1hdDogImV4dGVuZGVkIiwKICAgICAgICAuLi5vcHRzLAogICAgICB9OwoKICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiKTsKCiAgICAgIGxldCBmbXQgPSBvcHRzLmZvcm1hdCA9PT0gImJhc2ljIiA/ICJoaG1tIiA6ICJoaDptbSI7CgogICAgICBpZiAoIW9wdHMuc3VwcHJlc3NTZWNvbmRzIHx8IHZhbHVlLnNlY29uZHMgIT09IDAgfHwgdmFsdWUubWlsbGlzZWNvbmRzICE9PSAwKSB7CiAgICAgICAgZm10ICs9IG9wdHMuZm9ybWF0ID09PSAiYmFzaWMiID8gInNzIiA6ICI6c3MiOwogICAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHsKICAgICAgICAgIGZtdCArPSAiLlNTUyI7CiAgICAgICAgfQogICAgICB9CgogICAgICBsZXQgc3RyID0gdmFsdWUudG9Gb3JtYXQoZm10KTsKCiAgICAgIGlmIChvcHRzLmluY2x1ZGVQcmVmaXgpIHsKICAgICAgICBzdHIgPSAiVCIgKyBzdHI7CiAgICAgIH0KCiAgICAgIHJldHVybiBzdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0pTT04oKSB7CiAgICAgIHJldHVybiB0aGlzLnRvSVNPKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU3RyaW5nKCkgewogICAgICByZXR1cm4gdGhpcy50b0lTTygpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdG9NaWxsaXMoKSB7CiAgICAgIHJldHVybiB0aGlzLmFzKCJtaWxsaXNlY29uZHMiKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gbWlsbGlzZWNvbmRzIHZhbHVlIG9mIHRoaXMgRHVyYXRpb24uIEFsaWFzIG9mIHtAbGluayB0b01pbGxpc30KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdmFsdWVPZigpIHsKICAgICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBsb25nZXIgYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gYWRkLiBFaXRoZXIgYSBMdXhvbiBEdXJhdGlvbiwgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCB0aGUgb2JqZWN0IGFyZ3VtZW50IHRvIER1cmF0aW9uLmZyb21PYmplY3QoKQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHBsdXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksCiAgICAgICAgcmVzdWx0ID0ge307CgogICAgICBmb3IgKGNvbnN0IGsgb2Ygb3JkZXJlZFVuaXRzJDEpIHsKICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkoZHVyLnZhbHVlcywgaykgfHwgaGFzT3duUHJvcGVydHkodGhpcy52YWx1ZXMsIGspKSB7CiAgICAgICAgICByZXN1bHRba10gPSBkdXIuZ2V0KGspICsgdGhpcy5nZXQoayk7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogTWFrZSB0aGlzIER1cmF0aW9uIHNob3J0ZXIgYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgbWludXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CiAgICAgIHJldHVybiB0aGlzLnBsdXMoZHVyLm5lZ2F0ZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNjYWxlIHRoaXMgRHVyYXRpb24gYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCB1bml0LiBBcml0eSBpcyAxIG9yIDI6IHRoZSB2YWx1ZSBvZiB0aGUgdW5pdCBhbmQsIG9wdGlvbmFsbHksIHRoZSB1bml0IG5hbWUuIE11c3QgcmV0dXJuIGEgbnVtYmVyLgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH0KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgbWludXRlczogMzAgfSkubWFwVW5pdHMoKHgsIHUpID0+IHUgPT09ICJob3VycyIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG1hcFVuaXRzKGZuKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgcmVzdWx0ID0ge307CiAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHsKICAgICAgICByZXN1bHRba10gPSBhc051bWJlcihmbih0aGlzLnZhbHVlc1trXSwgaykpOwogICAgICB9CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIHsgdmFsdWVzOiByZXN1bHQgfSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIGEgdW5pdCBzdWNoIGFzICdtaW51dGUnIG9yICdkYXknCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDIKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAyLCBkYXlzOiAzfSkuZ2V0KCdtb250aHMnKSAvLz0+IDAKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAyLCBkYXlzOiAzfSkuZ2V0KCdkYXlzJykgLy89PiAzCiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCh1bml0KSB7CiAgICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzCiAgICAgKiBAZXhhbXBsZSBkdXIuc2V0KHsgeWVhcnM6IDIwMTcgfSkKICAgICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSkKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzZXQodmFsdWVzKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKCiAgICAgIGNvbnN0IG1peGVkID0geyAuLi50aGlzLnZhbHVlcywgLi4ubm9ybWFsaXplT2JqZWN0KHZhbHVlcywgRHVyYXRpb24ubm9ybWFsaXplVW5pdCkgfTsKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IG1peGVkIH0pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZSBhbmQvb3IgbnVtYmVyaW5nU3lzdGVtLiAgUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQGV4YW1wbGUgZHVyLnJlY29uZmlndXJlKHsgbG9jYWxlOiAnZW4tR0InIH0pCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgcmVjb25maWd1cmUoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgY29udmVyc2lvbkFjY3VyYWN5LCBtYXRyaXggfSA9IHt9KSB7CiAgICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0gfSk7CiAgICAgIGNvbnN0IG9wdHMgPSB7IGxvYywgbWF0cml4LCBjb252ZXJzaW9uQWNjdXJhY3kgfTsKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgZHVyYXRpb24gaW4gdGhlIHNwZWNpZmllZCB1bml0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdkYXlzJykgLy89PiAzNjUKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ21vbnRocycpIC8vPT4gMTIKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjUKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgYXModW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5zaGlmdFRvKHVuaXQpLmdldCh1bml0KSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDIsIGRheXM6IDUwMDAgfSkubm9ybWFsaXplKCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDE1LCBkYXlzOiAyNTUgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMiwgbWludXRlczogLTQ1IH0pLm5vcm1hbGl6ZSgpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMTUgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG5vcm1hbGl6ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gdGhpcy50b09iamVjdCgpOwogICAgICBub3JtYWxpemVWYWx1ZXModGhpcy5tYXRyaXgsIHZhbHMpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2NhbGUgdW5pdHMgdG8gaXRzIGxhcmdlc3QgcmVwcmVzZW50YXRpb24KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IDkwMDAwIH0pLnJlc2NhbGUoKS50b09iamVjdCgpIC8vPT4geyBtaW51dGVzOiAxLCBzZWNvbmRzOiAzMCB9CiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgcmVzY2FsZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gcmVtb3ZlWmVyb2VzKHRoaXMubm9ybWFsaXplKCkuc2hpZnRUb0FsbCgpLnRvT2JqZWN0KCkpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhpcyBEdXJhdGlvbiBpbnRvIGl0cyByZXByZXNlbnRhdGlvbiBpbiBhIGRpZmZlcmVudCBzZXQgb2YgdW5pdHMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEsIHNlY29uZHM6IDMwIH0pLnNoaWZ0VG8oJ21pbnV0ZXMnLCAnbWlsbGlzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgbWludXRlczogNjAsIG1pbGxpc2Vjb25kczogMzAwMDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHNoaWZ0VG8oLi4udW5pdHMpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CgogICAgICB1bml0cyA9IHVuaXRzLm1hcCgodSkgPT4gRHVyYXRpb24ubm9ybWFsaXplVW5pdCh1KSk7CgogICAgICBjb25zdCBidWlsdCA9IHt9LAogICAgICAgIGFjY3VtdWxhdGVkID0ge30sCiAgICAgICAgdmFscyA9IHRoaXMudG9PYmplY3QoKTsKICAgICAgbGV0IGxhc3RVbml0OwoKICAgICAgZm9yIChjb25zdCBrIG9mIG9yZGVyZWRVbml0cyQxKSB7CiAgICAgICAgaWYgKHVuaXRzLmluZGV4T2YoaykgPj0gMCkgewogICAgICAgICAgbGFzdFVuaXQgPSBrOwoKICAgICAgICAgIGxldCBvd24gPSAwOwoKICAgICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdAogICAgICAgICAgZm9yIChjb25zdCBhayBpbiBhY2N1bXVsYXRlZCkgewogICAgICAgICAgICBvd24gKz0gdGhpcy5tYXRyaXhbYWtdW2tdICogYWNjdW11bGF0ZWRbYWtdOwogICAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIHBsdXMgYW55dGhpbmcgdGhhdCdzIGFscmVhZHkgaW4gdGhpcyB1bml0CiAgICAgICAgICBpZiAoaXNOdW1iZXIodmFsc1trXSkpIHsKICAgICAgICAgICAgb3duICs9IHZhbHNba107CiAgICAgICAgICB9CgogICAgICAgICAgY29uc3QgaSA9IE1hdGgudHJ1bmMob3duKTsKICAgICAgICAgIGJ1aWx0W2tdID0gaTsKICAgICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwOwoKICAgICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpcwogICAgICAgICAgZm9yIChjb25zdCBkb3duIGluIHZhbHMpIHsKICAgICAgICAgICAgaWYgKG9yZGVyZWRVbml0cyQxLmluZGV4T2YoZG93bikgPiBvcmRlcmVkVW5pdHMkMS5pbmRleE9mKGspKSB7CiAgICAgICAgICAgICAgY29udmVydCh0aGlzLm1hdHJpeCwgdmFscywgZG93biwgYnVpbHQsIGspOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAvLyBvdGhlcndpc2UsIGtlZXAgaXQgaW4gdGhlIHdpbmdzIHRvIGJvaWwgaXQgbGF0ZXIKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7CiAgICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBhbnl0aGluZyBsZWZ0b3ZlciBiZWNvbWVzIHRoZSBkZWNpbWFsIGZvciB0aGUgbGFzdCB1bml0CiAgICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHkKICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWNjdW11bGF0ZWQpIHsKICAgICAgICBpZiAoYWNjdW11bGF0ZWRba2V5XSAhPT0gMCkgewogICAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9CiAgICAgICAgICAgIGtleSA9PT0gbGFzdFVuaXQgPyBhY2N1bXVsYXRlZFtrZXldIDogYWNjdW11bGF0ZWRba2V5XSAvIHRoaXMubWF0cml4W2xhc3RVbml0XVtrZXldOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IGJ1aWx0IH0sIHRydWUpLm5vcm1hbGl6ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogU2hpZnQgdGhpcyBEdXJhdGlvbiB0byBhbGwgYXZhaWxhYmxlIHVuaXRzLgogICAgICogU2FtZSBhcyBzaGlmdFRvKCJ5ZWFycyIsICJtb250aHMiLCAid2Vla3MiLCAiZGF5cyIsICJob3VycyIsICJtaW51dGVzIiwgInNlY29uZHMiLCAibWlsbGlzZWNvbmRzIikKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzaGlmdFRvQWxsKCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIHJldHVybiB0aGlzLnNoaWZ0VG8oCiAgICAgICAgInllYXJzIiwKICAgICAgICAibW9udGhzIiwKICAgICAgICAid2Vla3MiLAogICAgICAgICJkYXlzIiwKICAgICAgICAiaG91cnMiLAogICAgICAgICJtaW51dGVzIiwKICAgICAgICAic2Vjb25kcyIsCiAgICAgICAgIm1pbGxpc2Vjb25kcyIKICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbmVnYXRpdmUgb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG5lZ2F0ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBuZWdhdGVkID0ge307CiAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHsKICAgICAgICBuZWdhdGVkW2tdID0gdGhpcy52YWx1ZXNba10gPT09IDAgPyAwIDogLXRoaXMudmFsdWVzW2tdOwogICAgICB9CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIHsgdmFsdWVzOiBuZWdhdGVkIH0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB5ZWFycy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB5ZWFycygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnllYXJzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHF1YXJ0ZXJzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHF1YXJ0ZXJzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMucXVhcnRlcnMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbW9udGhzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1vbnRocygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1vbnRocyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB3ZWVrcwogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHdlZWtzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMud2Vla3MgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5cy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXlzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuZGF5cyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBob3Vycy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBob3VycygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmhvdXJzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbnV0ZXMuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbWludXRlcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1pbnV0ZXMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc2Vjb25kcy4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0IHNlY29uZHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5zZWNvbmRzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kcy4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbGxpc2Vjb25kcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1pbGxpc2Vjb25kcyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkLiBJbnZhbGlkIGR1cmF0aW9ucyBhcmUgcmV0dXJuZWQgYnkgZGlmZiBvcGVyYXRpb25zCiAgICAgKiBvbiBpbnZhbGlkIERhdGVUaW1lcyBvciBJbnRlcnZhbHMuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIER1cmF0aW9uIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEdXJhdGlvbiBpcyB2YWxpZAogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogRXF1YWxpdHkgY2hlY2sKICAgICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LgogICAgICogQHBhcmFtIHtEdXJhdGlvbn0gb3RoZXIKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGVxdWFscyhvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCAhb3RoZXIuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYgKCF0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7CiAgICAgICAgLy8gQ29uc2lkZXIgMCBhbmQgdW5kZWZpbmVkIGFzIGVxdWFsCiAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQgfHwgdjEgPT09IDApIHJldHVybiB2MiA9PT0gdW5kZWZpbmVkIHx8IHYyID09PSAwOwogICAgICAgIHJldHVybiB2MSA9PT0gdjI7CiAgICAgIH0KCiAgICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMkMSkgewogICAgICAgIGlmICghZXEodGhpcy52YWx1ZXNbdV0sIG90aGVyLnZhbHVlc1t1XSkpIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfQoKICBjb25zdCBJTlZBTElEJDEgPSAiSW52YWxpZCBJbnRlcnZhbCI7CgogIC8vIGNoZWNrcyBpZiB0aGUgc3RhcnQgaXMgZXF1YWwgdG8gb3IgYmVmb3JlIHRoZSBlbmQKICBmdW5jdGlvbiB2YWxpZGF0ZVN0YXJ0RW5kKHN0YXJ0LCBlbmQpIHsKICAgIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHsKICAgICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydCIpOwogICAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkgewogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgibWlzc2luZyBvciBpbnZhbGlkIGVuZCIpOwogICAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkgewogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgKICAgICAgICAiZW5kIGJlZm9yZSBzdGFydCIsCiAgICAgICAgYFRoZSBlbmQgb2YgYW4gaW50ZXJ2YWwgbXVzdCBiZSBhZnRlciBpdHMgc3RhcnQsIGJ1dCB5b3UgaGFkIHN0YXJ0PSR7c3RhcnQudG9JU08oKX0gYW5kIGVuZD0ke2VuZC50b0lTTygpfWAKICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgLyoqCiAgICogQW4gSW50ZXJ2YWwgb2JqZWN0IHJlcHJlc2VudHMgYSBoYWxmLW9wZW4gaW50ZXJ2YWwgb2YgdGltZSwgd2hlcmUgZWFjaCBlbmRwb2ludCBpcyBhIHtAbGluayBEYXRlVGltZX0uIENvbmNlcHR1YWxseSwgaXQncyBhIGNvbnRhaW5lciBmb3IgdGhvc2UgdHdvIGVuZHBvaW50cywgYWNjb21wYW5pZWQgYnkgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHBhcnNpbmcsIGludGVycm9nYXRpbmcsIGNvbXBhcmluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLgogICAqCiAgICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDoKICAgKgogICAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhbiBJbnRlcnZhbCwgdXNlIHtAbGluayBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzfSwge0BsaW5rIEludGVydmFsLmFmdGVyfSwge0BsaW5rIEludGVydmFsLmJlZm9yZX0sIG9yIHtAbGluayBJbnRlcnZhbC5mcm9tSVNPfS4KICAgKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC4KICAgKiAqICoqSW50ZXJyb2dhdGlvbioqIFRvIGFuYWx5emUgdGhlIEludGVydmFsLCB1c2Uge0BsaW5rIEludGVydmFsI2NvdW50fSwge0BsaW5rIEludGVydmFsI2xlbmd0aH0sIHtAbGluayBJbnRlcnZhbCNoYXNTYW1lfSwge0BsaW5rIEludGVydmFsI2NvbnRhaW5zfSwge0BsaW5rIEludGVydmFsI2lzQWZ0ZXJ9LCBvciB7QGxpbmsgSW50ZXJ2YWwjaXNCZWZvcmV9LgogICAqICogKipUcmFuc2Zvcm1hdGlvbioqIFRvIGNyZWF0ZSBvdGhlciBJbnRlcnZhbHMgb3V0IG9mIHRoaXMgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI3NldH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEF0fSwge0BsaW5rIEludGVydmFsI3NwbGl0Qnl9LCB7QGxpbmsgSW50ZXJ2YWwjZGl2aWRlRXF1YWxseX0sIHtAbGluayBJbnRlcnZhbC5tZXJnZX0sIHtAbGluayBJbnRlcnZhbC54b3J9LCB7QGxpbmsgSW50ZXJ2YWwjdW5pb259LCB7QGxpbmsgSW50ZXJ2YWwjaW50ZXJzZWN0aW9ufSwgb3Ige0BsaW5rIEludGVydmFsI2RpZmZlcmVuY2V9LgogICAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9CiAgICogKiAqKk91dHB1dCoqIFRvIGNvbnZlcnQgdGhlIEludGVydmFsIGludG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCBzZWUge0BsaW5rIEludGVydmFsI3RvU3RyaW5nfSwge0BsaW5rIEludGVydmFsI3RvTG9jYWxlU3RyaW5nfSwge0BsaW5rIEludGVydmFsI3RvSVNPfSwge0BsaW5rIEludGVydmFsI3RvSVNPRGF0ZX0sIHtAbGluayBJbnRlcnZhbCN0b0lTT1RpbWV9LCB7QGxpbmsgSW50ZXJ2YWwjdG9Gb3JtYXR9LCBhbmQge0BsaW5rIEludGVydmFsI3RvRHVyYXRpb259LgogICAqLwogIGNsYXNzIEludGVydmFsIHsKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3RydWN0b3IoY29uZmlnKSB7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMucyA9IGNvbmZpZy5zdGFydDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5lID0gY29uZmlnLmVuZDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5pbnZhbGlkID0gY29uZmlnLmludmFsaWQgfHwgbnVsbDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5pc0x1eG9uSW50ZXJ2YWwgPSB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgSW50ZXJ2YWwuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHsKICAgICAgaWYgKCFyZWFzb24pIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgSW50ZXJ2YWwgaXMgaW52YWxpZCIpOwogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pOwoKICAgICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRJbnRlcnZhbEVycm9yKGludmFsaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoeyBpbnZhbGlkIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhIHN0YXJ0IERhdGVUaW1lIGFuZCBhbiBlbmQgRGF0ZVRpbWUuIEluY2x1c2l2ZSBvZiB0aGUgc3RhcnQgYnV0IG5vdCB0aGUgZW5kLgogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gc3RhcnQKICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZAogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHsKICAgICAgY29uc3QgYnVpbHRTdGFydCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpLAogICAgICAgIGJ1aWx0RW5kID0gZnJpZW5kbHlEYXRlVGltZShlbmQpOwoKICAgICAgY29uc3QgdmFsaWRhdGVFcnJvciA9IHZhbGlkYXRlU3RhcnRFbmQoYnVpbHRTdGFydCwgYnVpbHRFbmQpOwoKICAgICAgaWYgKHZhbGlkYXRlRXJyb3IgPT0gbnVsbCkgewogICAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoewogICAgICAgICAgc3RhcnQ6IGJ1aWx0U3RhcnQsCiAgICAgICAgICBlbmQ6IGJ1aWx0RW5kLAogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB2YWxpZGF0ZUVycm9yOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhIHN0YXJ0IERhdGVUaW1lIGFuZCBhIER1cmF0aW9uIHRvIGV4dGVuZCB0by4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0CiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwuCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGFmdGVyKHN0YXJ0LCBkdXJhdGlvbikgewogICAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKSwKICAgICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpOwogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdCwgZHQucGx1cyhkdXIpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLgogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gZW5kCiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwuCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGJlZm9yZShlbmQsIGR1cmF0aW9uKSB7CiAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLAogICAgICAgIGR0ID0gZnJpZW5kbHlEYXRlVGltZShlbmQpOwogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdC5taW51cyhkdXIpLCBkdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhbiBJU08gODYwMSBzdHJpbmcuCiAgICAgKiBBY2NlcHRzIGA8c3RhcnQ+LzxlbmQ+YCwgYDxzdGFydD4vPGR1cmF0aW9uPmAsIGFuZCBgPGR1cmF0aW9uPi88ZW5kPmAgZm9ybWF0cy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBvcHRpb25zIHRvIHBhc3Mge0BsaW5rIERhdGVUaW1lI2Zyb21JU099IGFuZCBvcHRpb25hbGx5IHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfQogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPKHRleHQsIG9wdHMpIHsKICAgICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgIiIpLnNwbGl0KCIvIiwgMik7CiAgICAgIGlmIChzICYmIGUpIHsKICAgICAgICBsZXQgc3RhcnQsIHN0YXJ0SXNWYWxpZDsKICAgICAgICB0cnkgewogICAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpOwogICAgICAgICAgc3RhcnRJc1ZhbGlkID0gc3RhcnQuaXNWYWxpZDsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGxldCBlbmQsIGVuZElzVmFsaWQ7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7CiAgICAgICAgICBlbmRJc1ZhbGlkID0gZW5kLmlzVmFsaWQ7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKHN0YXJ0SXNWYWxpZCAmJiBlbmRJc1ZhbGlkKSB7CiAgICAgICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzdGFydCwgZW5kKTsKICAgICAgICB9CgogICAgICAgIGlmIChzdGFydElzVmFsaWQpIHsKICAgICAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21JU08oZSwgb3B0cyk7CiAgICAgICAgICBpZiAoZHVyLmlzVmFsaWQpIHsKICAgICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZW5kSXNWYWxpZCkgewogICAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTsKICAgICAgICAgIGlmIChkdXIuaXNWYWxpZCkgewogICAgICAgICAgICByZXR1cm4gSW50ZXJ2YWwuYmVmb3JlKGVuZCwgZHVyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBJbnRlcnZhbC4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0ludGVydmFsKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHN0YXJ0IG9mIHRoZSBJbnRlcnZhbAogICAgICogQHR5cGUge0RhdGVUaW1lfQogICAgICovCiAgICBnZXQgc3RhcnQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZW5kIG9mIHRoZSBJbnRlcnZhbAogICAgICogQHR5cGUge0RhdGVUaW1lfQogICAgICovCiAgICBnZXQgZW5kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGlzIEludGVydmFsJ3MgZW5kIGlzIGF0IGxlYXN0IGl0cyBzdGFydCwgbWVhbmluZyB0aGF0IHRoZSBJbnRlcnZhbCBpc24ndCAnYmFja3dhcmRzJy4KICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIEludGVydmFsIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBJbnRlcnZhbCBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgSW50ZXJ2YWwgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbCBpbiB0aGUgc3BlY2lmaWVkIHVuaXQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgbGVuZ3RoKHVuaXQgPSAibWlsbGlzZWNvbmRzIikgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy50b0R1cmF0aW9uKC4uLlt1bml0XSkuZ2V0KHVuaXQpIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY291bnQgb2YgbWludXRlcywgaG91cnMsIGRheXMsIG1vbnRocywgb3IgeWVhcnMgaW5jbHVkZWQgaW4gdGhlIEludGVydmFsLCBldmVuIGluIHBhcnQuCiAgICAgKiBVbmxpa2Uge0BsaW5rIEludGVydmFsI2xlbmd0aH0gdGhpcyBjb3VudHMgc2VjdGlvbnMgb2YgdGhlIGNhbGVuZGFyLCBub3QgcGVyaW9kcyBvZiB0aW1lLCBlLmcuIHNwZWNpZnlpbmcgJ2RheScKICAgICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3VuaXQ9J21pbGxpc2Vjb25kcyddIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgY291bnQodW5pdCA9ICJtaWxsaXNlY29uZHMiKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOOwogICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnQuc3RhcnRPZih1bml0KSwKICAgICAgICBlbmQgPSB0aGlzLmVuZC5zdGFydE9mKHVuaXQpOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGFuZCBlbmQgYXJlIGJvdGggaW4gdGhlIHNhbWUgdW5pdCBvZiB0aW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb24KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc1NhbWUodW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5pc0VtcHR5KCkgfHwgdGhpcy5lLm1pbnVzKDEpLmhhc1NhbWUodGhpcy5zLCB1bml0KSA6IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0VtcHR5KCkgewogICAgICByZXR1cm4gdGhpcy5zLnZhbHVlT2YoKSA9PT0gdGhpcy5lLnZhbHVlT2YoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGlzQWZ0ZXIoZGF0ZVRpbWUpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTsKICAgICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBiZWZvcmUgdGhlIHNwZWNpZmllZCBEYXRlVGltZS4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0JlZm9yZShkYXRlVGltZSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gdGhpcy5lIDw9IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBjb250YWlucyB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGNvbnRhaW5zKGRhdGVUaW1lKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gZGF0ZVRpbWUgJiYgdGhpcy5lID4gZGF0ZVRpbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0cyIgdGhlIHN0YXJ0IGFuZC9vciBlbmQgZGF0ZXMuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZXMgLSB0aGUgdmFsdWVzIHRvIHNldAogICAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSB2YWx1ZXMuZW5kIC0gdGhlIGVuZGluZyBEYXRlVGltZQogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHNldCh7IHN0YXJ0LCBlbmQgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgYXQgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIERhdGVUaW1lcwogICAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC4KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzcGxpdEF0KC4uLmRhdGVUaW1lcykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdOwogICAgICBjb25zdCBzb3J0ZWQgPSBkYXRlVGltZXMKICAgICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSkKICAgICAgICAgIC5maWx0ZXIoKGQpID0+IHRoaXMuY29udGFpbnMoZCkpCiAgICAgICAgICAuc29ydCgpLAogICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpID0gMDsKCiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLAogICAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaSArPSAxOwogICAgICB9CgogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgaW50byBzbWFsbGVyIEludGVydmFscywgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIGxlbmd0aC4KICAgICAqIExlZnQgb3ZlciB0aW1lIGlzIGdyb3VwZWQgaW50byBhIHNtYWxsZXIgaW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLgogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHNwbGl0QnkoZHVyYXRpb24pIHsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CgogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCAhZHVyLmlzVmFsaWQgfHwgZHVyLmFzKCJtaWxsaXNlY29uZHMiKSA9PT0gMCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpZHggPSAxLAogICAgICAgIG5leHQ7CgogICAgICBjb25zdCByZXN1bHRzID0gW107CiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0YXJ0LnBsdXMoZHVyLm1hcFVuaXRzKCh4KSA9PiB4ICogaWR4KSk7CiAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaWR4ICs9IDE7CiAgICAgIH0KCiAgICAgIHJldHVybiByZXN1bHRzOwogICAgfQoKICAgIC8qKgogICAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlck9mUGFydHMgLSBUaGUgbnVtYmVyIG9mIEludGVydmFscyB0byBkaXZpZGUgdGhlIEludGVydmFsIGludG8uCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgZGl2aWRlRXF1YWxseShudW1iZXJPZlBhcnRzKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107CiAgICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBvdmVybGFwcyB3aXRoIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBvdmVybGFwcyhvdGhlcikgewogICAgICByZXR1cm4gdGhpcy5lID4gb3RoZXIucyAmJiB0aGlzLnMgPCBvdGhlci5lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgYWJ1dHNTdGFydChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsJ3Mgc3RhcnQgaXMgYWRqYWNlbnQgdG8gdGhlIHNwZWNpZmllZCBJbnRlcnZhbCdzIGVuZC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBhYnV0c0VuZChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK290aGVyLmUgPT09ICt0aGlzLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGVuZ3VsZnMgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlbmd1bGZzKG90aGVyKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gb3RoZXIucyAmJiB0aGlzLmUgPj0gb3RoZXIuZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLnMuZXF1YWxzKG90aGVyLnMpICYmIHRoaXMuZS5lcXVhbHMob3RoZXIuZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1heGltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1pbmltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuCiAgICAgKiBSZXR1cm5zIG51bGwgaWYgdGhlIGludGVyc2VjdGlvbiBpcyBlbXB0eSwgbWVhbmluZywgdGhlIGludGVydmFscyBkb24ndCBpbnRlcnNlY3QuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIGludGVyc2VjdGlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPiBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CgogICAgICBpZiAocyA+PSBlKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuCiAgICAgKiBTcGVjaWZpY2FsbHksIHRoZSByZXN1bHRpbmcgSW50ZXJ2YWwgaGFzIHRoZSBtaW5pbXVtIHN0YXJ0IHRpbWUgYW5kIHRoZSBtYXhpbXVtIGVuZCB0aW1lIG9mIHRoZSB0d28gSW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXIKICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICB1bmlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPCBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lID4gb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CiAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpOwogICAgfQoKICAgIC8qKgogICAgICogTWVyZ2UgYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIGludG8gYSBlcXVpdmFsZW50IG1pbmltYWwgc2V0IG9mIEludGVydmFscy4KICAgICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuCiAgICAgKiBAcGFyYW0ge0FycmF5fSBpbnRlcnZhbHMKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbWVyZ2UoaW50ZXJ2YWxzKSB7CiAgICAgIGNvbnN0IFtmb3VuZCwgZmluYWxdID0gaW50ZXJ2YWxzCiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucykKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFtzb2ZhciwgY3VycmVudF0sIGl0ZW0pID0+IHsKICAgICAgICAgICAgaWYgKCFjdXJyZW50KSB7CiAgICAgICAgICAgICAgcmV0dXJuIFtzb2ZhciwgaXRlbV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5vdmVybGFwcyhpdGVtKSB8fCBjdXJyZW50LmFidXRzU3RhcnQoaXRlbSkpIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLmNvbmNhdChbY3VycmVudF0pLCBpdGVtXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIFtbXSwgbnVsbF0KICAgICAgICApOwogICAgICBpZiAoZmluYWwpIHsKICAgICAgICBmb3VuZC5wdXNoKGZpbmFsKTsKICAgICAgfQogICAgICByZXR1cm4gZm91bmQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHN0YXRpYyB4b3IoaW50ZXJ2YWxzKSB7CiAgICAgIGxldCBzdGFydCA9IG51bGwsCiAgICAgICAgY3VycmVudENvdW50ID0gMDsKICAgICAgY29uc3QgcmVzdWx0cyA9IFtdLAogICAgICAgIGVuZHMgPSBpbnRlcnZhbHMubWFwKChpKSA9PiBbCiAgICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogInMiIH0sCiAgICAgICAgICB7IHRpbWU6IGkuZSwgdHlwZTogImUiIH0sCiAgICAgICAgXSksCiAgICAgICAgZmxhdHRlbmVkID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi5lbmRzKSwKICAgICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTsKCiAgICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHsKICAgICAgICBjdXJyZW50Q291bnQgKz0gaS50eXBlID09PSAicyIgPyAxIDogLTE7CgogICAgICAgIGlmIChjdXJyZW50Q291bnQgPT09IDEpIHsKICAgICAgICAgIHN0YXJ0ID0gaS50aW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoc3RhcnQgJiYgK3N0YXJ0ICE9PSAraS50aW1lKSB7CiAgICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBzdGFydCA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBzcGFuIG9mIHRpbWUgaW4gdGhpcyBJbnRlcnZhbCB0aGF0IGRvZXNuJ3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7CiAgICAgIHJldHVybiBJbnRlcnZhbC54b3IoW3RoaXNdLmNvbmNhdChpbnRlcnZhbHMpKQogICAgICAgIC5tYXAoKGkpID0+IHRoaXMuaW50ZXJzZWN0aW9uKGkpKQogICAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBJbnRlcnZhbCBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1N0cmluZygpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEJDE7CiAgICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IOKAkyAke3RoaXMuZS50b0lTTygpfSlgOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxvY2FsaXplZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoaXMgSW50ZXJ2YWwuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUKICAgICAqIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3IgYW5kIGFueSBwcmVzZXRzIGRlZmluZWQgYnkgTHV4b24sIHN1Y2ggYXMKICAgICAqIHtAbGluayBEYXRlVGltZS5EQVRFX0ZVTEx9IG9yIHtAbGluayBEYXRlVGltZS5USU1FX1NJTVBMRX0uIFRoZSBleGFjdCBiZWhhdmlvciBvZiB0aGlzIG1ldGhvZAogICAgICogaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb24gb2YgdGhlCiAgICAgKiBJbnRlcnZhbCBpbiB0aGUgYXNzaWduZWQgbG9jYWxlLiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbgogICAgICogc3BlY2lmaWVkLgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlVGltZUZvcm1hdAogICAgICogQHBhcmFtIHtPYmplY3R9IFtmb3JtYXRPcHRzPURhdGVUaW1lLkRBVEVfU0hPUlRdIC0gRWl0aGVyIGEgRGF0ZVRpbWUgcHJlc2V0IG9yCiAgICAgKiBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHN0YXJ0IERhdGVUaW1lLgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDExLzcvMjAyMiDigJMgMTEvOC8yMDIyCiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tSVNPKCcyMDIyLTExLTA3VDA5OjAwWi8yMDIyLTExLTA4VDA5OjAwWicpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gTm92ZW1iZXIgNyDigJMgOCwgMjAyMgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFX0ZVTEwsIHsgbG9jYWxlOiAnZnItRlInIH0pOyAvLz0+IDfigJM4IG5vdmVtYnJlIDIwMjIKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuVElNRV9TSU1QTEUpOyAvLz0+IDY6MDAg4oCTIDg6MDAgUE0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoeyB3ZWVrZGF5OiAnc2hvcnQnLCBtb250aDogJ3Nob3J0JywgZGF5OiAnMi1kaWdpdCcsIGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcgfSk7IC8vPT4gTW9uLCBOb3YgMDcsIDY6MDAg4oCTIDg6MDAgcAogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gREFURV9TSE9SVCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5zLmxvYy5jbG9uZShvcHRzKSwgZm9ybWF0T3B0cykuZm9ybWF0SW50ZXJ2YWwodGhpcykKICAgICAgICA6IElOVkFMSUQkMTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBUaGUgc2FtZSBvcHRpb25zIGFzIHtAbGluayBEYXRlVGltZSN0b0lTT30KICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU08ob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBkYXRlIG9mIHRoaXMgSW50ZXJ2YWwuCiAgICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT0RhdGUoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvSVNPRGF0ZSgpfS8ke3RoaXMuZS50b0lTT0RhdGUoKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRpbWUgb2YgdGhpcyBJbnRlcnZhbC4KICAgICAqIFRoZSBkYXRlIGNvbXBvbmVudHMgYXJlIGlnbm9yZWQuCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIFRoZSBzYW1lIG9wdGlvbnMgYXMge0BsaW5rIERhdGVUaW1lI3RvSVNPfQogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT1RpbWUob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTT1RpbWUob3B0cyl9LyR7dGhpcy5lLnRvSVNPVGltZShvcHRzKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBmb3JtYXQKICAgICAqIHN0cmluZy4gKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBJbnRlcnZhbCN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZQogICAgICogZm9ybWF0dGluZyB0b29sLgogICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGVGb3JtYXQgLSBUaGUgZm9ybWF0IHN0cmluZy4gVGhpcyBzdHJpbmcgZm9ybWF0cyB0aGUgc3RhcnQgYW5kIGVuZCB0aW1lLgogICAgICogU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcg4oCTICddIC0gQSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZAogICAgICogcmVwcmVzZW50YXRpb25zLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0Zvcm1hdChkYXRlRm9ybWF0LCB7IHNlcGFyYXRvciA9ICIg4oCTICIgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvRm9ybWF0KGRhdGVGb3JtYXQpfSR7c2VwYXJhdG9yfSR7dGhpcy5lLnRvRm9ybWF0KGRhdGVGb3JtYXQpfWA7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLgogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjcmVhdGlvbiBvZiB0aGUgRHVyYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbigpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogODg0ODkyNTcgfQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbignZGF5cycpLnRvT2JqZWN0KCkgLy89PiB7IGRheXM6IDEuMDI0MTgxMjE1Mjc3Nzc3OCB9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oWydob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnXSkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDI0LCBtaW51dGVzOiAzNCwgc2Vjb25kczogNDkuMjU3IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ3NlY29uZHMnKS50b09iamVjdCgpIC8vPT4geyBzZWNvbmRzOiA4ODQ4OS4yNTcgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHRvRHVyYXRpb24odW5pdCwgb3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKHRoaXMuaW52YWxpZFJlYXNvbik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSdW4gbWFwRm4gb24gdGhlIGludGVydmFsIHN0YXJ0IGFuZCBlbmQsIHJldHVybmluZyBhIG5ldyBJbnRlcnZhbCBmcm9tIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWVzCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGbgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS5tYXBFbmRwb2ludHMoZW5kcG9pbnQgPT4gZW5kcG9pbnQudG9VVEMoKSkKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpCiAgICAgKi8KICAgIG1hcEVuZHBvaW50cyhtYXBGbikgewogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTsKICAgIH0KICB9CgogIC8qKgogICAqIFRoZSBJbmZvIGNsYXNzIGNvbnRhaW5zIHN0YXRpYyBtZXRob2RzIGZvciByZXRyaWV2aW5nIGdlbmVyYWwgdGltZSBhbmQgZGF0ZSByZWxhdGVkIGRhdGEuIEZvciBleGFtcGxlLCBpdCBoYXMgbWV0aG9kcyBmb3IgZmluZGluZyBvdXQgaWYgYSB0aW1lIHpvbmUgaGFzIGEgRFNULCBmb3IgbGlzdGluZyB0aGUgbW9udGhzIGluIGFueSBzdXBwb3J0ZWQgbG9jYWxlLCBhbmQgZm9yIGRpc2NvdmVyaW5nIHdoaWNoIG9mIEx1eG9uIGZlYXR1cmVzIGFyZSBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICovCiAgY2xhc3MgSW5mbyB7CiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgem9uZSBjb250YWlucyBhIERTVC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7CiAgICAgIGNvbnN0IHByb3RvID0gRGF0ZVRpbWUubm93KCkuc2V0Wm9uZSh6b25lKS5zZXQoeyBtb250aDogMTIgfSk7CgogICAgICByZXR1cm4gIXpvbmUuaXNVbml2ZXJzYWwgJiYgcHJvdG8ub2Zmc2V0ICE9PSBwcm90by5zZXQoeyBtb250aDogNiB9KS5vZmZzZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB6b25lIC0gWm9uZSB0byBjaGVjawogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgc3RhdGljIGlzVmFsaWRJQU5BWm9uZSh6b25lKSB7CiAgICAgIHJldHVybiBJQU5BWm9uZS5pc1ZhbGlkWm9uZSh6b25lKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIHRoZSBpbnB1dCBpbnRvIGEge0BsaW5rIFpvbmV9IGluc3RhbmNlLgogICAgICoKICAgICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSB2YWxpZCB0aW1lIHpvbmUgbmFtZSwgYSBab25lIGluc3RhbmNlCiAgICAgKiAgIHdpdGggdGhhdCBuYW1lIGlzIHJldHVybmVkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lCiAgICAgKiAgIGluc3RhbmNlIHdpdGgge0BsaW5rIFpvbmUjaXNWYWxpZH0gPT0gZmFsc2UgaXMgcmV0dXJuZWQuCiAgICAgKiAqIElmIGBpbnB1dCBpcyBhIG51bWJlciwgYSBab25lIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBmaXhlZCBvZmZzZXQKICAgICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC4KICAgICAqICogSWYgYGlucHV0YCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAsIHRoZSBkZWZhdWx0IHpvbmUgaXMgcmV0dXJuZWQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfG51bWJlcn0gW2lucHV0XSAtIHRoZSB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQKICAgICAqIEByZXR1cm4ge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBub3JtYWxpemVab25lKGlucHV0KSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2Ygc3RhbmRhbG9uZSBtb250aCBuYW1lcy4KICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdsb25nJ10gLSB0aGUgbGVuZ3RoIG9mIHRoZSBtb250aCByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibnVtZXJpYyIsICIyLWRpZ2l0IiwgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcj0nZ3JlZ29yeSddIC0gdGhlIGNhbGVuZGFyCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnKVswXSAvLz0+ICdKYW4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycpWzBdIC8vPT4gJzEnCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycsIHsgbG9jYWxlOiAnYXInIH0pWzBdIC8vPT4gJ9mhJwogICAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ2xvbmcnLCB7IG91dHB1dENhbGVuZGFyOiAnaXNsYW1pYycgfSlbMF0gLy89PiAnUmFiacq7IEknCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1vbnRocygKICAgICAgbGVuZ3RoID0gImxvbmciLAogICAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gImdyZWdvcnkiIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZm9ybWF0IG1vbnRoIG5hbWVzLgogICAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jbW9udGhzfQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJudW1lcmljIiwgIjItZGlnaXQiLCAibmFycm93IiwgInNob3J0IiwgImxvbmciCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtPW51bGxdIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm91dHB1dENhbGVuZGFyPSdncmVnb3J5J10gLSB0aGUgY2FsZW5kYXIKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbW9udGhzRm9ybWF0KAogICAgICBsZW5ndGggPSAibG9uZyIsCiAgICAgIHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCwgbG9jT2JqID0gbnVsbCwgb3V0cHV0Q2FsZW5kYXIgPSAiZ3JlZ29yeSIgfSA9IHt9CiAgICApIHsKICAgICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpKS5tb250aHMobGVuZ3RoLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgd2Vla2RheSByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibmFycm93IiwgInNob3J0IiwgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoKVswXSAvLz0+ICdNb25kYXknCiAgICAgKiBAZXhhbXBsZSBJbmZvLndlZWtkYXlzKCdzaG9ydCcpWzBdIC8vPT4gJ01vbicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAn2KfZhNin2KvZhtmK2YYnCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9ICJsb25nIiwgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fSkgewogICAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBmb3JtYXQgd2VlayBuYW1lcy4KICAgICAqIEZvcm1hdCB3ZWVrZGF5cyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIHdlZWtkYXlzIGluIHRoYXQgdGhleSdyZSBtZWFudCB0byBhcHBlYXIgbmV4dCB0byBtb3JlIGRhdGUgaW5mb3JtYXRpb24uIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jd2Vla2RheXN9CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgbW9udGggcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT1udWxsXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoCiAgICAgIGxlbmd0aCA9ICJsb25nIiwKICAgICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG51bGwpKS53ZWVrZGF5cyhsZW5ndGgsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIGFycmF5IG9mIG1lcmlkaWVtcy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGUKICAgICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKCkgLy89PiBbICdBTScsICdQTScgXQogICAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoeyBsb2NhbGU6ICdteScgfSkgLy89PiBbICfhgJThgLbhgJThgIDhgLonLCAn4YCK4YCU4YCxJyBdCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1lcmlkaWVtcyh7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZXJhcywgc3VjaCBhcyBbJ0JDJywgJ0FEJ10uIFRoZSBsb2NhbGUgY2FuIGJlIHNwZWNpZmllZCwgYnV0IHRoZSBjYWxlbmRhciBzeXN0ZW0gaXMgYWx3YXlzIEdyZWdvcmlhbi4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJzaG9ydCIgb3IgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCkgLy89PiBbICdCQycsICdBRCcgXQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdCiAgICAgKiBAZXhhbXBsZSBJbmZvLmVyYXMoJ2xvbmcnLCB7IGxvY2FsZTogJ2ZyJyB9KSAvLz0+IFsgJ2F2YW50IErDqXN1cy1DaHJpc3QnLCAnYXByw6hzIErDqXN1cy1DaHJpc3QnIF0KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgZXJhcyhsZW5ndGggPSAic2hvcnQiLCB7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgImdyZWdvcnkiKS5lcmFzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC4KICAgICAqIFNvbWUgZmVhdHVyZXMgb2YgTHV4b24gYXJlIG5vdCBhdmFpbGFibGUgaW4gYWxsIGVudmlyb25tZW50cy4gRm9yIGV4YW1wbGUsIG9uIG9sZGVyIGJyb3dzZXJzLCByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcgc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBmaWd1cmUgb3V0IGlmIHRoYXQncyB0aGUgY2FzZS4KICAgICAqIEtleXM6CiAgICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcKICAgICAqIEBleGFtcGxlIEluZm8uZmVhdHVyZXMoKSAvLz0+IHsgcmVsYXRpdmU6IGZhbHNlIH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGZlYXR1cmVzKCkgewogICAgICByZXR1cm4geyByZWxhdGl2ZTogaGFzUmVsYXRpdmUoKSB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikgewogICAgY29uc3QgdXRjRGF5U3RhcnQgPSAoZHQpID0+IGR0LnRvVVRDKDAsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KS5zdGFydE9mKCJkYXkiKS52YWx1ZU9mKCksCiAgICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7CiAgICByZXR1cm4gTWF0aC5mbG9vcihEdXJhdGlvbi5mcm9tTWlsbGlzKG1zKS5hcygiZGF5cyIpKTsKICB9CgogIGZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7CiAgICBjb25zdCBkaWZmZXJzID0gWwogICAgICBbInllYXJzIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sCiAgICAgIFsicXVhcnRlcnMiLCAoYSwgYikgPT4gYi5xdWFydGVyIC0gYS5xdWFydGVyICsgKGIueWVhciAtIGEueWVhcikgKiA0XSwKICAgICAgWyJtb250aHMiLCAoYSwgYikgPT4gYi5tb250aCAtIGEubW9udGggKyAoYi55ZWFyIC0gYS55ZWFyKSAqIDEyXSwKICAgICAgWwogICAgICAgICJ3ZWVrcyIsCiAgICAgICAgKGEsIGIpID0+IHsKICAgICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpOwogICAgICAgICAgcmV0dXJuIChkYXlzIC0gKGRheXMgJSA3KSkgLyA3OwogICAgICAgIH0sCiAgICAgIF0sCiAgICAgIFsiZGF5cyIsIGRheURpZmZdLAogICAgXTsKCiAgICBjb25zdCByZXN1bHRzID0ge307CiAgICBjb25zdCBlYXJsaWVyID0gY3Vyc29yOwogICAgbGV0IGxvd2VzdE9yZGVyLCBoaWdoV2F0ZXI7CgogICAgZm9yIChjb25zdCBbdW5pdCwgZGlmZmVyXSBvZiBkaWZmZXJzKSB7CiAgICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHsKICAgICAgICBsb3dlc3RPcmRlciA9IHVuaXQ7CgogICAgICAgIHJlc3VsdHNbdW5pdF0gPSBkaWZmZXIoY3Vyc29yLCBsYXRlcik7CiAgICAgICAgaGlnaFdhdGVyID0gZWFybGllci5wbHVzKHJlc3VsdHMpOwoKICAgICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHsKICAgICAgICAgIHJlc3VsdHNbdW5pdF0tLTsKICAgICAgICAgIGN1cnNvciA9IGVhcmxpZXIucGx1cyhyZXN1bHRzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3Vyc29yID0gaGlnaFdhdGVyOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTsKICB9CgogIGZ1bmN0aW9uIGRpZmYgKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykgewogICAgbGV0IFtjdXJzb3IsIHJlc3VsdHMsIGhpZ2hXYXRlciwgbG93ZXN0T3JkZXJdID0gaGlnaE9yZGVyRGlmZnMoZWFybGllciwgbGF0ZXIsIHVuaXRzKTsKCiAgICBjb25zdCByZW1haW5pbmdNaWxsaXMgPSBsYXRlciAtIGN1cnNvcjsKCiAgICBjb25zdCBsb3dlck9yZGVyVW5pdHMgPSB1bml0cy5maWx0ZXIoCiAgICAgICh1KSA9PiBbImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiXS5pbmRleE9mKHUpID49IDAKICAgICk7CgogICAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPT09IDApIHsKICAgICAgaWYgKGhpZ2hXYXRlciA8IGxhdGVyKSB7CiAgICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pOwogICAgICB9CgogICAgICBpZiAoaGlnaFdhdGVyICE9PSBjdXJzb3IpIHsKICAgICAgICByZXN1bHRzW2xvd2VzdE9yZGVyXSA9IChyZXN1bHRzW2xvd2VzdE9yZGVyXSB8fCAwKSArIHJlbWFpbmluZ01pbGxpcyAvIChoaWdoV2F0ZXIgLSBjdXJzb3IpOwogICAgICB9CiAgICB9CgogICAgY29uc3QgZHVyYXRpb24gPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHJlc3VsdHMsIG9wdHMpOwoKICAgIGlmIChsb3dlck9yZGVyVW5pdHMubGVuZ3RoID4gMCkgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhyZW1haW5pbmdNaWxsaXMsIG9wdHMpCiAgICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKQogICAgICAgIC5wbHVzKGR1cmF0aW9uKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBkdXJhdGlvbjsKICAgIH0KICB9CgogIGNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7CiAgICBhcmFiOiAiW1x1MDY2MC1cdTA2NjldIiwKICAgIGFyYWJleHQ6ICJbXHUwNkYwLVx1MDZGOV0iLAogICAgYmFsaTogIltcdTFCNTAtXHUxQjU5XSIsCiAgICBiZW5nOiAiW1x1MDlFNi1cdTA5RUZdIiwKICAgIGRldmE6ICJbXHUwOTY2LVx1MDk2Rl0iLAogICAgZnVsbHdpZGU6ICJbXHVGRjEwLVx1RkYxOV0iLAogICAgZ3VqcjogIltcdTBBRTYtXHUwQUVGXSIsCiAgICBoYW5pZGVjOiAiW+OAh3zkuIB85LqMfOS4iXzlm5t85LqUfOWFrXzkuIN85YWrfOS5nV0iLAogICAga2htcjogIltcdTE3RTAtXHUxN0U5XSIsCiAgICBrbmRhOiAiW1x1MENFNi1cdTBDRUZdIiwKICAgIGxhb286ICJbXHUwRUQwLVx1MEVEOV0iLAogICAgbGltYjogIltcdTE5NDYtXHUxOTRGXSIsCiAgICBtbHltOiAiW1x1MEQ2Ni1cdTBENkZdIiwKICAgIG1vbmc6ICJbXHUxODEwLVx1MTgxOV0iLAogICAgbXltcjogIltcdTEwNDAtXHUxMDQ5XSIsCiAgICBvcnlhOiAiW1x1MEI2Ni1cdTBCNkZdIiwKICAgIHRhbWxkZWM6ICJbXHUwQkU2LVx1MEJFRl0iLAogICAgdGVsdTogIltcdTBDNjYtXHUwQzZGXSIsCiAgICB0aGFpOiAiW1x1MEU1MC1cdTBFNTldIiwKICAgIHRpYnQ6ICJbXHUwRjIwLVx1MEYyOV0iLAogICAgbGF0bjogIlxcZCIsCiAgfTsKCiAgY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0gewogICAgYXJhYjogWzE2MzIsIDE2NDFdLAogICAgYXJhYmV4dDogWzE3NzYsIDE3ODVdLAogICAgYmFsaTogWzY5OTIsIDcwMDFdLAogICAgYmVuZzogWzI1MzQsIDI1NDNdLAogICAgZGV2YTogWzI0MDYsIDI0MTVdLAogICAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLAogICAgZ3VqcjogWzI3OTAsIDI3OTldLAogICAga2htcjogWzYxMTIsIDYxMjFdLAogICAga25kYTogWzMzMDIsIDMzMTFdLAogICAgbGFvbzogWzM3OTIsIDM4MDFdLAogICAgbGltYjogWzY0NzAsIDY0NzldLAogICAgbWx5bTogWzM0MzAsIDM0MzldLAogICAgbW9uZzogWzYxNjAsIDYxNjldLAogICAgbXltcjogWzQxNjAsIDQxNjldLAogICAgb3J5YTogWzI5MTgsIDI5MjddLAogICAgdGFtbGRlYzogWzMwNDYsIDMwNTVdLAogICAgdGVsdTogWzMxNzQsIDMxODNdLAogICAgdGhhaTogWzM2NjQsIDM2NzNdLAogICAgdGlidDogWzM4NzIsIDM4ODFdLAogIH07CgogIGNvbnN0IGhhbmlkZWNDaGFycyA9IG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYy5yZXBsYWNlKC9bXFt8XF1dL2csICIiKS5zcGxpdCgiIik7CgogIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKHN0cikgewogICAgbGV0IHZhbHVlID0gcGFyc2VJbnQoc3RyLCAxMCk7CiAgICBpZiAoaXNOYU4odmFsdWUpKSB7CiAgICAgIHZhbHVlID0gIiI7CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY29uc3QgY29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpOwoKICAgICAgICBpZiAoc3RyW2ldLnNlYXJjaChudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMpICE9PSAtMSkgewogICAgICAgICAgdmFsdWUgKz0gaGFuaWRlY0NoYXJzLmluZGV4T2Yoc3RyW2ldKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbnVtYmVyaW5nU3lzdGVtc1VURjE2KSB7CiAgICAgICAgICAgIGNvbnN0IFttaW4sIG1heF0gPSBudW1iZXJpbmdTeXN0ZW1zVVRGMTZba2V5XTsKICAgICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7CiAgICAgICAgICAgICAgdmFsdWUgKz0gY29kZSAtIG1pbjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gIiIpIHsKICAgIHJldHVybiBuZXcgUmVnRXhwKGAke251bWJlcmluZ1N5c3RlbXNbbnVtYmVyaW5nU3lzdGVtIHx8ICJsYXRuIl19JHthcHBlbmR9YCk7CiAgfQoKICBjb25zdCBNSVNTSU5HX0ZUUCA9ICJtaXNzaW5nIEludGwuRGF0ZVRpbWVGb3JtYXQuZm9ybWF0VG9QYXJ0cyBzdXBwb3J0IjsKCiAgZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHBvc3QocGFyc2VEaWdpdHMocykpIH07CiAgfQoKICBjb25zdCBOQlNQID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxNjApOwogIGNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gOwogIGNvbnN0IHNwYWNlT3JOQlNQUmVnRXhwID0gbmV3IFJlZ0V4cChzcGFjZU9yTkJTUCwgImciKTsKCiAgZnVuY3Rpb24gZml4TGlzdFJlZ2V4KHMpIHsKICAgIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbAogICAgLy8gbWFrZSBzcGFjZSBhbmQgbm9uIGJyZWFrYWJsZSBzcGFjZSBjaGFyYWN0ZXJzIGludGVyY2hhbmdlYWJsZQogICAgcmV0dXJuIHMucmVwbGFjZSgvXC4vZywgIlxcLj8iKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7CiAgfQoKICBmdW5jdGlvbiBzdHJpcEluc2Vuc2l0aXZpdGllcyhzKSB7CiAgICByZXR1cm4gcwogICAgICAucmVwbGFjZSgvXC4vZywgIiIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsCiAgICAgIC5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCAiICIpIC8vIGludGVyY2hhbmdlIHNwYWNlIGFuZCBuYnNwCiAgICAgIC50b0xvd2VyQ2FzZSgpOwogIH0KCiAgZnVuY3Rpb24gb25lT2Yoc3RyaW5ncywgc3RhcnRJbmRleCkgewogICAgaWYgKHN0cmluZ3MgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gewogICAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKCJ8IikpLAogICAgICAgIGRlc2VyOiAoW3NdKSA9PgogICAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LAogICAgICB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHsKICAgIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFssIGgsIG1dKSA9PiBzaWduZWRPZmZzZXQoaCwgbSksIGdyb3VwcyB9OwogIH0KCiAgZnVuY3Rpb24gc2ltcGxlKHJlZ2V4KSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTsKICB9CgogIGZ1bmN0aW9uIGVzY2FwZVRva2VuKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywgIlxcJCYiKTsKICB9CgogIGZ1bmN0aW9uIHVuaXRGb3JUb2tlbih0b2tlbiwgbG9jKSB7CiAgICBjb25zdCBvbmUgPSBkaWdpdFJlZ2V4KGxvYyksCiAgICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCAiezJ9IiksCiAgICAgIHRocmVlID0gZGlnaXRSZWdleChsb2MsICJ7M30iKSwKICAgICAgZm91ciA9IGRpZ2l0UmVnZXgobG9jLCAiezR9IiksCiAgICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezZ9IiksCiAgICAgIG9uZU9yVHdvID0gZGlnaXRSZWdleChsb2MsICJ7MSwyfSIpLAogICAgICBvbmVUb1RocmVlID0gZGlnaXRSZWdleChsb2MsICJ7MSwzfSIpLAogICAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezEsNn0iKSwKICAgICAgb25lVG9OaW5lID0gZGlnaXRSZWdleChsb2MsICJ7MSw5fSIpLAogICAgICB0d29Ub0ZvdXIgPSBkaWdpdFJlZ2V4KGxvYywgInsyLDR9IiksCiAgICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezQsNn0iKSwKICAgICAgbGl0ZXJhbCA9ICh0KSA9PiAoeyByZWdleDogUmVnRXhwKGVzY2FwZVRva2VuKHQudmFsKSksIGRlc2VyOiAoW3NdKSA9PiBzLCBsaXRlcmFsOiB0cnVlIH0pLAogICAgICB1bml0YXRlID0gKHQpID0+IHsKICAgICAgICBpZiAodG9rZW4ubGl0ZXJhbCkgewogICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7CiAgICAgICAgfQogICAgICAgIHN3aXRjaCAodC52YWwpIHsKICAgICAgICAgIC8vIGVyYQogICAgICAgICAgY2FzZSAiRyI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MuZXJhcygic2hvcnQiLCBmYWxzZSksIDApOwogICAgICAgICAgY2FzZSAiR0ciOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoImxvbmciLCBmYWxzZSksIDApOwogICAgICAgICAgLy8geWVhcnMKICAgICAgICAgIGNhc2UgInkiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVUb1NpeCk7CiAgICAgICAgICBjYXNlICJ5eSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3b1RvRm91ciwgdW50cnVuY2F0ZVllYXIpOwogICAgICAgICAgY2FzZSAieXl5eSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KGZvdXIpOwogICAgICAgICAgY2FzZSAieXl5eXkiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyVG9TaXgpOwogICAgICAgICAgY2FzZSAieXl5eXl5IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQoc2l4KTsKICAgICAgICAgIC8vIG1vbnRocwogICAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIk1NIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIk1NTSI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJzaG9ydCIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJNTU1NIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tb250aHMoImxvbmciLCB0cnVlLCBmYWxzZSksIDEpOwogICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIkxMIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIkxMTCI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJzaG9ydCIsIGZhbHNlLCBmYWxzZSksIDEpOwogICAgICAgICAgY2FzZSAiTExMTCI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJsb25nIiwgZmFsc2UsIGZhbHNlKSwgMSk7CiAgICAgICAgICAvLyBkYXRlcwogICAgICAgICAgY2FzZSAiZCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgImRkIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIC8vIG9yZGluYWxzCiAgICAgICAgICBjYXNlICJvIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7CiAgICAgICAgICBjYXNlICJvb28iOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7CiAgICAgICAgICAvLyB0aW1lCiAgICAgICAgICBjYXNlICJISCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICBjYXNlICJIIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAiaGgiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAiaCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIm1tIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJxIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAicXEiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAicyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgInNzIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIlMiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVUb1RocmVlKTsKICAgICAgICAgIGNhc2UgIlNTUyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHRocmVlKTsKICAgICAgICAgIGNhc2UgInUiOgogICAgICAgICAgICByZXR1cm4gc2ltcGxlKG9uZVRvTmluZSk7CiAgICAgICAgICBjYXNlICJ1dSI6CiAgICAgICAgICAgIHJldHVybiBzaW1wbGUob25lT3JUd28pOwogICAgICAgICAgY2FzZSAidXV1IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lKTsKICAgICAgICAgIC8vIG1lcmlkaWVtCiAgICAgICAgICBjYXNlICJhIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tZXJpZGllbXMoKSwgMCk7CiAgICAgICAgICAvLyB3ZWVrWWVhciAoaykKICAgICAgICAgIGNhc2UgImtra2siOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTsKICAgICAgICAgIGNhc2UgImtrIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7CiAgICAgICAgICAvLyB3ZWVrTnVtYmVyIChXKQogICAgICAgICAgY2FzZSAiVyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIldXIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIC8vIHdlZWtkYXlzCiAgICAgICAgICBjYXNlICJFIjoKICAgICAgICAgIGNhc2UgImMiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpOwogICAgICAgICAgY2FzZSAiRUVFIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cygic2hvcnQiLCBmYWxzZSwgZmFsc2UpLCAxKTsKICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKCJsb25nIiwgZmFsc2UsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJjY2MiOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKCJzaG9ydCIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJjY2NjIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cygibG9uZyIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICAvLyBvZmZzZXQvem9uZQogICAgICAgICAgY2FzZSAiWiI6CiAgICAgICAgICBjYXNlICJaWiI6CiAgICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKD86Oigke3R3by5zb3VyY2V9KSk/YCksIDIpOwogICAgICAgICAgY2FzZSAiWlpaIjoKICAgICAgICAgICAgcmV0dXJuIG9mZnNldChuZXcgUmVnRXhwKGAoWystXSR7b25lT3JUd28uc291cmNlfSkoJHt0d28uc291cmNlfSk/YCksIDIpOwogICAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmcKICAgICAgICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIGZpZ3VyZSBvdXQgd2hhdCB0aGV5IGFyZQogICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgIHJldHVybiBzaW1wbGUoL1thLXpfKy0vXXsxLDI1Nn0/L2kpOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7CiAgICAgICAgfQogICAgICB9OwoKICAgIGNvbnN0IHVuaXQgPSB1bml0YXRlKHRva2VuKSB8fCB7CiAgICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLAogICAgfTsKCiAgICB1bml0LnRva2VuID0gdG9rZW47CgogICAgcmV0dXJuIHVuaXQ7CiAgfQoKICBjb25zdCBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbCA9IHsKICAgIHllYXI6IHsKICAgICAgIjItZGlnaXQiOiAieXkiLAogICAgICBudW1lcmljOiAieXl5eXkiLAogICAgfSwKICAgIG1vbnRoOiB7CiAgICAgIG51bWVyaWM6ICJNIiwKICAgICAgIjItZGlnaXQiOiAiTU0iLAogICAgICBzaG9ydDogIk1NTSIsCiAgICAgIGxvbmc6ICJNTU1NIiwKICAgIH0sCiAgICBkYXk6IHsKICAgICAgbnVtZXJpYzogImQiLAogICAgICAiMi1kaWdpdCI6ICJkZCIsCiAgICB9LAogICAgd2Vla2RheTogewogICAgICBzaG9ydDogIkVFRSIsCiAgICAgIGxvbmc6ICJFRUVFIiwKICAgIH0sCiAgICBkYXlwZXJpb2Q6ICJhIiwKICAgIGRheVBlcmlvZDogImEiLAogICAgaG91cjogewogICAgICBudW1lcmljOiAiaCIsCiAgICAgICIyLWRpZ2l0IjogImhoIiwKICAgIH0sCiAgICBtaW51dGU6IHsKICAgICAgbnVtZXJpYzogIm0iLAogICAgICAiMi1kaWdpdCI6ICJtbSIsCiAgICB9LAogICAgc2Vjb25kOiB7CiAgICAgIG51bWVyaWM6ICJzIiwKICAgICAgIjItZGlnaXQiOiAic3MiLAogICAgfSwKICAgIHRpbWVab25lTmFtZTogewogICAgICBsb25nOiAiWlpaWloiLAogICAgICBzaG9ydDogIlpaWiIsCiAgICB9LAogIH07CgogIGZ1bmN0aW9uIHRva2VuRm9yUGFydChwYXJ0LCBmb3JtYXRPcHRzKSB7CiAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0OwoKICAgIGlmICh0eXBlID09PSAibGl0ZXJhbCIpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBsaXRlcmFsOiB0cnVlLAogICAgICAgIHZhbDogdmFsdWUsCiAgICAgIH07CiAgICB9CgogICAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdOwoKICAgIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTsKICAgIGlmICh0eXBlb2YgdmFsID09PSAib2JqZWN0IikgewogICAgICB2YWwgPSB2YWxbc3R5bGVdOwogICAgfQoKICAgIGlmICh2YWwpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBsaXRlcmFsOiBmYWxzZSwKICAgICAgICB2YWwsCiAgICAgIH07CiAgICB9CgogICAgcmV0dXJuIHVuZGVmaW5lZDsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkUmVnZXgodW5pdHMpIHsKICAgIGNvbnN0IHJlID0gdW5pdHMubWFwKCh1KSA9PiB1LnJlZ2V4KS5yZWR1Y2UoKGYsIHIpID0+IGAke2Z9KCR7ci5zb3VyY2V9KWAsICIiKTsKICAgIHJldHVybiBbYF4ke3JlfSRgLCB1bml0c107CiAgfQoKICBmdW5jdGlvbiBtYXRjaChpbnB1dCwgcmVnZXgsIGhhbmRsZXJzKSB7CiAgICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpOwoKICAgIGlmIChtYXRjaGVzKSB7CiAgICAgIGNvbnN0IGFsbCA9IHt9OwogICAgICBsZXQgbWF0Y2hJbmRleCA9IDE7CiAgICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykgewogICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShoYW5kbGVycywgaSkpIHsKICAgICAgICAgIGNvbnN0IGggPSBoYW5kbGVyc1tpXSwKICAgICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxOwogICAgICAgICAgaWYgKCFoLmxpdGVyYWwgJiYgaC50b2tlbikgewogICAgICAgICAgICBhbGxbaC50b2tlbi52YWxbMF1dID0gaC5kZXNlcihtYXRjaGVzLnNsaWNlKG1hdGNoSW5kZXgsIG1hdGNoSW5kZXggKyBncm91cHMpKTsKICAgICAgICAgIH0KICAgICAgICAgIG1hdGNoSW5kZXggKz0gZ3JvdXBzOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gW21hdGNoZXMsIGFsbF07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gW21hdGNoZXMsIHt9XTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcykgewogICAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4gewogICAgICBzd2l0Y2ggKHRva2VuKSB7CiAgICAgICAgY2FzZSAiUyI6CiAgICAgICAgICByZXR1cm4gIm1pbGxpc2Vjb25kIjsKICAgICAgICBjYXNlICJzIjoKICAgICAgICAgIHJldHVybiAic2Vjb25kIjsKICAgICAgICBjYXNlICJtIjoKICAgICAgICAgIHJldHVybiAibWludXRlIjsKICAgICAgICBjYXNlICJoIjoKICAgICAgICBjYXNlICJIIjoKICAgICAgICAgIHJldHVybiAiaG91ciI7CiAgICAgICAgY2FzZSAiZCI6CiAgICAgICAgICByZXR1cm4gImRheSI7CiAgICAgICAgY2FzZSAibyI6CiAgICAgICAgICByZXR1cm4gIm9yZGluYWwiOwogICAgICAgIGNhc2UgIkwiOgogICAgICAgIGNhc2UgIk0iOgogICAgICAgICAgcmV0dXJuICJtb250aCI7CiAgICAgICAgY2FzZSAieSI6CiAgICAgICAgICByZXR1cm4gInllYXIiOwogICAgICAgIGNhc2UgIkUiOgogICAgICAgIGNhc2UgImMiOgogICAgICAgICAgcmV0dXJuICJ3ZWVrZGF5IjsKICAgICAgICBjYXNlICJXIjoKICAgICAgICAgIHJldHVybiAid2Vla051bWJlciI7CiAgICAgICAgY2FzZSAiayI6CiAgICAgICAgICByZXR1cm4gIndlZWtZZWFyIjsKICAgICAgICBjYXNlICJxIjoKICAgICAgICAgIHJldHVybiAicXVhcnRlciI7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICB9OwoKICAgIGxldCB6b25lID0gbnVsbDsKICAgIGxldCBzcGVjaWZpY09mZnNldDsKICAgIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy56KSkgewogICAgICB6b25lID0gSUFOQVpvbmUuY3JlYXRlKG1hdGNoZXMueik7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7CiAgICAgIGlmICghem9uZSkgewogICAgICAgIHpvbmUgPSBuZXcgRml4ZWRPZmZzZXRab25lKG1hdGNoZXMuWik7CiAgICAgIH0KICAgICAgc3BlY2lmaWNPZmZzZXQgPSBtYXRjaGVzLlo7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnEpKSB7CiAgICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxOwogICAgfQoKICAgIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5oKSkgewogICAgICBpZiAobWF0Y2hlcy5oIDwgMTIgJiYgbWF0Y2hlcy5hID09PSAxKSB7CiAgICAgICAgbWF0Y2hlcy5oICs9IDEyOwogICAgICB9IGVsc2UgaWYgKG1hdGNoZXMuaCA9PT0gMTIgJiYgbWF0Y2hlcy5hID09PSAwKSB7CiAgICAgICAgbWF0Y2hlcy5oID0gMDsKICAgICAgfQogICAgfQoKICAgIGlmIChtYXRjaGVzLkcgPT09IDAgJiYgbWF0Y2hlcy55KSB7CiAgICAgIG1hdGNoZXMueSA9IC1tYXRjaGVzLnk7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7CiAgICAgIG1hdGNoZXMuUyA9IHBhcnNlTWlsbGlzKG1hdGNoZXMudSk7CiAgICB9CgogICAgY29uc3QgdmFscyA9IE9iamVjdC5rZXlzKG1hdGNoZXMpLnJlZHVjZSgociwgaykgPT4gewogICAgICBjb25zdCBmID0gdG9GaWVsZChrKTsKICAgICAgaWYgKGYpIHsKICAgICAgICByW2ZdID0gbWF0Y2hlc1trXTsKICAgICAgfQoKICAgICAgcmV0dXJuIHI7CiAgICB9LCB7fSk7CgogICAgcmV0dXJuIFt2YWxzLCB6b25lLCBzcGVjaWZpY09mZnNldF07CiAgfQoKICBsZXQgZHVtbXlEYXRlVGltZUNhY2hlID0gbnVsbDsKCiAgZnVuY3Rpb24gZ2V0RHVtbXlEYXRlVGltZSgpIHsKICAgIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7CiAgICAgIGR1bW15RGF0ZVRpbWVDYWNoZSA9IERhdGVUaW1lLmZyb21NaWxsaXMoMTU1NTU1NTU1NTU1NSk7CiAgICB9CgogICAgcmV0dXJuIGR1bW15RGF0ZVRpbWVDYWNoZTsKICB9CgogIGZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7CiAgICBpZiAodG9rZW4ubGl0ZXJhbCkgewogICAgICByZXR1cm4gdG9rZW47CiAgICB9CgogICAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7CiAgICBjb25zdCB0b2tlbnMgPSBmb3JtYXRPcHRzVG9Ub2tlbnMoZm9ybWF0T3B0cywgbG9jYWxlKTsKCiAgICBpZiAodG9rZW5zID09IG51bGwgfHwgdG9rZW5zLmluY2x1ZGVzKHVuZGVmaW5lZCkpIHsKICAgICAgcmV0dXJuIHRva2VuOwogICAgfQoKICAgIHJldHVybiB0b2tlbnM7CiAgfQoKICBmdW5jdGlvbiBleHBhbmRNYWNyb1Rva2Vucyh0b2tlbnMsIGxvY2FsZSkgewogICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTsKICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGZ1bmN0aW9uIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZSwgaW5wdXQsIGZvcm1hdCkgewogICAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksCiAgICAgIHVuaXRzID0gdG9rZW5zLm1hcCgodCkgPT4gdW5pdEZvclRva2VuKHQsIGxvY2FsZSkpLAogICAgICBkaXNxdWFsaWZ5aW5nVW5pdCA9IHVuaXRzLmZpbmQoKHQpID0+IHQuaW52YWxpZFJlYXNvbik7CgogICAgaWYgKGRpc3F1YWxpZnlpbmdVbml0KSB7CiAgICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IFtyZWdleFN0cmluZywgaGFuZGxlcnNdID0gYnVpbGRSZWdleCh1bml0cyksCiAgICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsICJpIiksCiAgICAgICAgW3Jhd01hdGNoZXMsIG1hdGNoZXNdID0gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycyksCiAgICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlcwogICAgICAgICAgPyBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpCiAgICAgICAgICA6IFtudWxsLCBudWxsLCB1bmRlZmluZWRdOwogICAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgImEiKSAmJiBoYXNPd25Qcm9wZXJ0eShtYXRjaGVzLCAiSCIpKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKAogICAgICAgICAgIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0IgogICAgICAgICk7CiAgICAgIH0KICAgICAgcmV0dXJuIHsgaW5wdXQsIHRva2VucywgcmVnZXgsIHJhd01hdGNoZXMsIG1hdGNoZXMsIHJlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQgfTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHsKICAgIGNvbnN0IHsgcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZFJlYXNvbiB9ID0gZXhwbGFpbkZyb21Ub2tlbnMobG9jYWxlLCBpbnB1dCwgZm9ybWF0KTsKICAgIHJldHVybiBbcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZFJlYXNvbl07CiAgfQoKICBmdW5jdGlvbiBmb3JtYXRPcHRzVG9Ub2tlbnMoZm9ybWF0T3B0cywgbG9jYWxlKSB7CiAgICBpZiAoIWZvcm1hdE9wdHMpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpOwogICAgY29uc3QgcGFydHMgPSBmb3JtYXR0ZXIuZm9ybWF0RGF0ZVRpbWVQYXJ0cyhnZXREdW1teURhdGVUaW1lKCkpOwogICAgcmV0dXJuIHBhcnRzLm1hcCgocCkgPT4gdG9rZW5Gb3JQYXJ0KHAsIGZvcm1hdE9wdHMpKTsKICB9CgogIGNvbnN0IG5vbkxlYXBMYWRkZXIgPSBbMCwgMzEsIDU5LCA5MCwgMTIwLCAxNTEsIDE4MSwgMjEyLCAyNDMsIDI3MywgMzA0LCAzMzRdLAogICAgbGVhcExhZGRlciA9IFswLCAzMSwgNjAsIDkxLCAxMjEsIDE1MiwgMTgyLCAyMTMsIDI0NCwgMjc0LCAzMDUsIDMzNV07CgogIGZ1bmN0aW9uIHVuaXRPdXRPZlJhbmdlKHVuaXQsIHZhbHVlKSB7CiAgICByZXR1cm4gbmV3IEludmFsaWQoCiAgICAgICJ1bml0IG91dCBvZiByYW5nZSIsCiAgICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYAogICAgKTsKICB9CgogIGZ1bmN0aW9uIGRheU9mV2Vlayh5ZWFyLCBtb250aCwgZGF5KSB7CiAgICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTsKCiAgICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHsKICAgICAgZC5zZXRVVENGdWxsWWVhcihkLmdldFVUQ0Z1bGxZZWFyKCkgLSAxOTAwKTsKICAgIH0KCiAgICBjb25zdCBqcyA9IGQuZ2V0VVRDRGF5KCk7CgogICAgcmV0dXJuIGpzID09PSAwID8gNyA6IGpzOwogIH0KCiAgZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkgewogICAgcmV0dXJuIGRheSArIChpc0xlYXBZZWFyKHllYXIpID8gbGVhcExhZGRlciA6IG5vbkxlYXBMYWRkZXIpW21vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpIHsKICAgIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLAogICAgICBtb250aDAgPSB0YWJsZS5maW5kSW5kZXgoKGkpID0+IGkgPCBvcmRpbmFsKSwKICAgICAgZGF5ID0gb3JkaW5hbCAtIHRhYmxlW21vbnRoMF07CiAgICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub1dlZWsoZ3JlZ09iaikgewogICAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLAogICAgICBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSksCiAgICAgIHdlZWtkYXkgPSBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSk7CgogICAgbGV0IHdlZWtOdW1iZXIgPSBNYXRoLmZsb29yKChvcmRpbmFsIC0gd2Vla2RheSArIDEwKSAvIDcpLAogICAgICB3ZWVrWWVhcjsKCiAgICBpZiAod2Vla051bWJlciA8IDEpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyIC0gMTsKICAgICAgd2Vla051bWJlciA9IHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyICsgMTsKICAgICAgd2Vla051bWJlciA9IDE7CiAgICB9IGVsc2UgewogICAgICB3ZWVrWWVhciA9IHllYXI7CiAgICB9CgogICAgcmV0dXJuIHsgd2Vla1llYXIsIHdlZWtOdW1iZXIsIHdlZWtkYXksIC4uLnRpbWVPYmplY3QoZ3JlZ09iaikgfTsKICB9CgogIGZ1bmN0aW9uIHdlZWtUb0dyZWdvcmlhbih3ZWVrRGF0YSkgewogICAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsCiAgICAgIHdlZWtkYXlPZkphbjQgPSBkYXlPZldlZWsod2Vla1llYXIsIDEsIDQpLAogICAgICB5ZWFySW5EYXlzID0gZGF5c0luWWVhcih3ZWVrWWVhcik7CgogICAgbGV0IG9yZGluYWwgPSB3ZWVrTnVtYmVyICogNyArIHdlZWtkYXkgLSB3ZWVrZGF5T2ZKYW40IC0gMywKICAgICAgeWVhcjsKCiAgICBpZiAob3JkaW5hbCA8IDEpIHsKICAgICAgeWVhciA9IHdlZWtZZWFyIC0gMTsKICAgICAgb3JkaW5hbCArPSBkYXlzSW5ZZWFyKHllYXIpOwogICAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykgewogICAgICB5ZWFyID0gd2Vla1llYXIgKyAxOwogICAgICBvcmRpbmFsIC09IGRheXNJblllYXIod2Vla1llYXIpOwogICAgfSBlbHNlIHsKICAgICAgeWVhciA9IHdlZWtZZWFyOwogICAgfQoKICAgIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTsKICAgIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07CiAgfQoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHsKICAgIGNvbnN0IHsgeWVhciwgbW9udGgsIGRheSB9ID0gZ3JlZ0RhdGE7CiAgICBjb25zdCBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSk7CiAgICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9OwogIH0KCiAgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7CiAgICBjb25zdCB7IHllYXIsIG9yZGluYWwgfSA9IG9yZGluYWxEYXRhOwogICAgY29uc3QgeyBtb250aCwgZGF5IH0gPSB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpOwogICAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHsKICAgIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoud2Vla1llYXIpLAogICAgICB2YWxpZFdlZWsgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla051bWJlciwgMSwgd2Vla3NJbldlZWtZZWFyKG9iai53ZWVrWWVhcikpLAogICAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7CgogICAgaWYgKCF2YWxpZFllYXIpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrWWVhciIsIG9iai53ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrIiwgb2JqLndlZWspOwogICAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgid2Vla2RheSIsIG9iai53ZWVrZGF5KTsKICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE9yZGluYWwgPSBpbnRlZ2VyQmV0d2VlbihvYmoub3JkaW5hbCwgMSwgZGF5c0luWWVhcihvYmoueWVhcikpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkT3JkaW5hbCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm9yZGluYWwiLCBvYmoub3JkaW5hbCk7CiAgICB9IGVsc2UgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE1vbnRoID0gaW50ZWdlckJldHdlZW4ob2JqLm1vbnRoLCAxLCAxMiksCiAgICAgIHZhbGlkRGF5ID0gaW50ZWdlckJldHdlZW4ob2JqLmRheSwgMSwgZGF5c0luTW9udGgob2JqLnllYXIsIG9iai5tb250aCkpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkTW9udGgpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtb250aCIsIG9iai5tb250aCk7CiAgICB9IGVsc2UgaWYgKCF2YWxpZERheSkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoImRheSIsIG9iai5kYXkpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRUaW1lRGF0YShvYmopIHsKICAgIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7CiAgICBjb25zdCB2YWxpZEhvdXIgPQogICAgICAgIGludGVnZXJCZXR3ZWVuKGhvdXIsIDAsIDIzKSB8fAogICAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSwKICAgICAgdmFsaWRNaW51dGUgPSBpbnRlZ2VyQmV0d2VlbihtaW51dGUsIDAsIDU5KSwKICAgICAgdmFsaWRTZWNvbmQgPSBpbnRlZ2VyQmV0d2VlbihzZWNvbmQsIDAsIDU5KSwKICAgICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpOwoKICAgIGlmICghdmFsaWRIb3VyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgiaG91ciIsIGhvdXIpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtaW51dGUiLCBtaW51dGUpOwogICAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJzZWNvbmQiLCBzZWNvbmQpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm1pbGxpc2Vjb25kIiwgbWlsbGlzZWNvbmQpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGNvbnN0IElOVkFMSUQgPSAiSW52YWxpZCBEYXRlVGltZSI7CiAgY29uc3QgTUFYX0RBVEUgPSA4LjY0ZTE1OwoKICBmdW5jdGlvbiB1bnN1cHBvcnRlZFpvbmUoem9uZSkgewogICAgcmV0dXJuIG5ldyBJbnZhbGlkKCJ1bnN1cHBvcnRlZCB6b25lIiwgYHRoZSB6b25lICIke3pvbmUubmFtZX0iIGlzIG5vdCBzdXBwb3J0ZWRgKTsKICB9CgogIC8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlCiAgZnVuY3Rpb24gcG9zc2libHlDYWNoZWRXZWVrRGF0YShkdCkgewogICAgaWYgKGR0LndlZWtEYXRhID09PSBudWxsKSB7CiAgICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpOwogICAgfQogICAgcmV0dXJuIGR0LndlZWtEYXRhOwogIH0KCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCAibWFrZSBhIG5ldyBvYmplY3Qgd2l0aCB0aGVzZSBtb2RpZmljYXRpb25zIi4gYWxsICJzZXR0ZXJzIiByZWFsbHkgdXNlIHRoaXMKICAvLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllcwogIGZ1bmN0aW9uIGNsb25lKGluc3QsIGFsdHMpIHsKICAgIGNvbnN0IGN1cnJlbnQgPSB7CiAgICAgIHRzOiBpbnN0LnRzLAogICAgICB6b25lOiBpbnN0LnpvbmUsCiAgICAgIGM6IGluc3QuYywKICAgICAgbzogaW5zdC5vLAogICAgICBsb2M6IGluc3QubG9jLAogICAgICBpbnZhbGlkOiBpbnN0LmludmFsaWQsCiAgICB9OwogICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7IC4uLmN1cnJlbnQsIC4uLmFsdHMsIG9sZDogY3VycmVudCB9KTsKICB9CgogIC8vIGZpbmQgdGhlIHJpZ2h0IG9mZnNldCBhIGdpdmVuIGxvY2FsIHRpbWUuIFRoZSBvIGlucHV0IGlzIG91ciBndWVzcywgd2hpY2ggZGV0ZXJtaW5lcyB3aGljaAogIC8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpCiAgZnVuY3Rpb24gZml4T2Zmc2V0KGxvY2FsVFMsIG8sIHR6KSB7CiAgICAvLyBPdXIgVVRDIHRpbWUgaXMganVzdCBhIGd1ZXNzIGJlY2F1c2Ugb3VyIG9mZnNldCBpcyBqdXN0IGEgZ3Vlc3MKICAgIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwOwoKICAgIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHMKICAgIGNvbnN0IG8yID0gdHoub2Zmc2V0KHV0Y0d1ZXNzKTsKCiAgICAvLyBJZiBzbywgb2Zmc2V0IGRpZG4ndCBjaGFuZ2UgYW5kIHdlJ3JlIGRvbmUKICAgIGlmIChvID09PSBvMikgewogICAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTsKICAgIH0KCiAgICAvLyBJZiBub3QsIGNoYW5nZSB0aGUgdHMgYnkgdGhlIGRpZmZlcmVuY2UgaW4gdGhlIG9mZnNldAogICAgdXRjR3Vlc3MgLT0gKG8yIC0gbykgKiA2MCAqIDEwMDA7CgogICAgLy8gSWYgdGhhdCBnaXZlcyB1cyB0aGUgbG9jYWwgdGltZSB3ZSB3YW50LCB3ZSdyZSBkb25lCiAgICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7CiAgICBpZiAobzIgPT09IG8zKSB7CiAgICAgIHJldHVybiBbdXRjR3Vlc3MsIG8yXTsKICAgIH0KCiAgICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lCiAgICByZXR1cm4gW2xvY2FsVFMgLSBNYXRoLm1pbihvMiwgbzMpICogNjAgKiAxMDAwLCBNYXRoLm1heChvMiwgbzMpXTsKICB9CgogIC8vIGNvbnZlcnQgYW4gZXBvY2ggdGltZXN0YW1wIGludG8gYSBjYWxlbmRhciBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gb2Zmc2V0CiAgZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7CiAgICB0cyArPSBvZmZzZXQgKiA2MCAqIDEwMDA7CgogICAgY29uc3QgZCA9IG5ldyBEYXRlKHRzKTsKCiAgICByZXR1cm4gewogICAgICB5ZWFyOiBkLmdldFVUQ0Z1bGxZZWFyKCksCiAgICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLAogICAgICBkYXk6IGQuZ2V0VVRDRGF0ZSgpLAogICAgICBob3VyOiBkLmdldFVUQ0hvdXJzKCksCiAgICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksCiAgICAgIHNlY29uZDogZC5nZXRVVENTZWNvbmRzKCksCiAgICAgIG1pbGxpc2Vjb25kOiBkLmdldFVUQ01pbGxpc2Vjb25kcygpLAogICAgfTsKICB9CgogIC8vIGNvbnZlcnQgYSBjYWxlbmRhciBvYmplY3QgdG8gYSBlcG9jaCB0aW1lc3RhbXAKICBmdW5jdGlvbiBvYmpUb1RTKG9iaiwgb2Zmc2V0LCB6b25lKSB7CiAgICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpOwogIH0KCiAgLy8gY3JlYXRlIGEgbmV3IERUIGluc3RhbmNlIGJ5IGFkZGluZyBhIGR1cmF0aW9uLCBhZGp1c3RpbmcgZm9yIERTVHMKICBmdW5jdGlvbiBhZGp1c3RUaW1lKGluc3QsIGR1cikgewogICAgY29uc3Qgb1ByZSA9IGluc3QubywKICAgICAgeWVhciA9IGluc3QuYy55ZWFyICsgTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICBtb250aCA9IGluc3QuYy5tb250aCArIE1hdGgudHJ1bmMoZHVyLm1vbnRocykgKyBNYXRoLnRydW5jKGR1ci5xdWFydGVycykgKiAzLAogICAgICBjID0gewogICAgICAgIC4uLmluc3QuYywKICAgICAgICB5ZWFyLAogICAgICAgIG1vbnRoLAogICAgICAgIGRheToKICAgICAgICAgIE1hdGgubWluKGluc3QuYy5kYXksIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSkgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIud2Vla3MpICogNywKICAgICAgfSwKICAgICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsKICAgICAgICB5ZWFyczogZHVyLnllYXJzIC0gTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICAgIHF1YXJ0ZXJzOiBkdXIucXVhcnRlcnMgLSBNYXRoLnRydW5jKGR1ci5xdWFydGVycyksCiAgICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSwKICAgICAgICB3ZWVrczogZHVyLndlZWtzIC0gTWF0aC50cnVuYyhkdXIud2Vla3MpLAogICAgICAgIGRheXM6IGR1ci5kYXlzIC0gTWF0aC50cnVuYyhkdXIuZGF5cyksCiAgICAgICAgaG91cnM6IGR1ci5ob3VycywKICAgICAgICBtaW51dGVzOiBkdXIubWludXRlcywKICAgICAgICBzZWNvbmRzOiBkdXIuc2Vjb25kcywKICAgICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsCiAgICAgIH0pLmFzKCJtaWxsaXNlY29uZHMiKSwKICAgICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTsKCiAgICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpOwoKICAgIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkgewogICAgICB0cyArPSBtaWxsaXNUb0FkZDsKICAgICAgLy8gdGhhdCBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIG9mZnNldCBieSBnb2luZyBvdmVyIGEgRFNULCBidXQgd2Ugd2FudCB0byBrZWVwIHRoZSB0cyB0aGUgc2FtZQogICAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7CiAgICB9CgogICAgcmV0dXJuIHsgdHMsIG8gfTsKICB9CgogIC8vIGhlbHBlciB1c2VmdWwgaW4gdHVybmluZyB0aGUgcmVzdWx0cyBvZiBwYXJzaW5nIGludG8gcmVhbCBkYXRlcwogIC8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnMKICBmdW5jdGlvbiBwYXJzZURhdGFUb0RhdGVUaW1lKHBhcnNlZCwgcGFyc2VkWm9uZSwgb3B0cywgZm9ybWF0LCB0ZXh0LCBzcGVjaWZpY09mZnNldCkgewogICAgY29uc3QgeyBzZXRab25lLCB6b25lIH0gPSBvcHRzOwogICAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkgewogICAgICBjb25zdCBpbnRlcnByZXRhdGlvblpvbmUgPSBwYXJzZWRab25lIHx8IHpvbmUsCiAgICAgICAgaW5zdCA9IERhdGVUaW1lLmZyb21PYmplY3QocGFyc2VkLCB7CiAgICAgICAgICAuLi5vcHRzLAogICAgICAgICAgem9uZTogaW50ZXJwcmV0YXRpb25ab25lLAogICAgICAgICAgc3BlY2lmaWNPZmZzZXQsCiAgICAgICAgfSk7CiAgICAgIHJldHVybiBzZXRab25lID8gaW5zdCA6IGluc3Quc2V0Wm9uZSh6b25lKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKAogICAgICAgIG5ldyBJbnZhbGlkKCJ1bnBhcnNhYmxlIiwgYHRoZSBpbnB1dCAiJHt0ZXh0fSIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApCiAgICAgICk7CiAgICB9CiAgfQoKICAvLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXIKICAvLyBoZWxwcyBoYW5kbGUgdGhlIGRldGFpbHMKICBmdW5jdGlvbiB0b1RlY2hGb3JtYXQoZHQsIGZvcm1hdCwgYWxsb3daID0gdHJ1ZSkgewogICAgcmV0dXJuIGR0LmlzVmFsaWQKICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKExvY2FsZS5jcmVhdGUoImVuLVVTIiksIHsKICAgICAgICAgIGFsbG93WiwKICAgICAgICAgIGZvcmNlU2ltcGxlOiB0cnVlLAogICAgICAgIH0pLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm9ybWF0KQogICAgICA6IG51bGw7CiAgfQoKICBmdW5jdGlvbiB0b0lTT0RhdGUobywgZXh0ZW5kZWQpIHsKICAgIGNvbnN0IGxvbmdGb3JtYXQgPSBvLmMueWVhciA+IDk5OTkgfHwgby5jLnllYXIgPCAwOwogICAgbGV0IGMgPSAiIjsKICAgIGlmIChsb25nRm9ybWF0ICYmIG8uYy55ZWFyID49IDApIGMgKz0gIisiOwogICAgYyArPSBwYWRTdGFydChvLmMueWVhciwgbG9uZ0Zvcm1hdCA/IDYgOiA0KTsKCiAgICBpZiAoZXh0ZW5kZWQpIHsKICAgICAgYyArPSAiLSI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1vbnRoKTsKICAgICAgYyArPSAiLSI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLmRheSk7CiAgICB9IGVsc2UgewogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLmRheSk7CiAgICB9CiAgICByZXR1cm4gYzsKICB9CgogIGZ1bmN0aW9uIHRvSVNPVGltZSgKICAgIG8sCiAgICBleHRlbmRlZCwKICAgIHN1cHByZXNzU2Vjb25kcywKICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLAogICAgaW5jbHVkZU9mZnNldCwKICAgIGV4dGVuZGVkWm9uZQogICkgewogICAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7CiAgICBpZiAoZXh0ZW5kZWQpIHsKICAgICAgYyArPSAiOiI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbnV0ZSk7CiAgICAgIGlmIChvLmMuc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc1NlY29uZHMpIHsKICAgICAgICBjICs9ICI6IjsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTsKICAgIH0KCiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7CgogICAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykgewogICAgICAgIGMgKz0gIi4iOwogICAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTsKICAgICAgfQogICAgfQoKICAgIGlmIChpbmNsdWRlT2Zmc2V0KSB7CiAgICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkgewogICAgICAgIGMgKz0gIloiOwogICAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHsKICAgICAgICBjICs9ICItIjsKICAgICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7CiAgICAgICAgYyArPSAiOiI7CiAgICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpOwogICAgICB9IGVsc2UgewogICAgICAgIGMgKz0gIisiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gLyA2MCkpOwogICAgICAgIGMgKz0gIjoiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gJSA2MCkpOwogICAgICB9CiAgICB9CgogICAgaWYgKGV4dGVuZGVkWm9uZSkgewogICAgICBjICs9ICJbIiArIG8uem9uZS5pYW5hTmFtZSArICJdIjsKICAgIH0KICAgIHJldHVybiBjOwogIH0KCiAgLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzCiAgY29uc3QgZGVmYXVsdFVuaXRWYWx1ZXMgPSB7CiAgICAgIG1vbnRoOiAxLAogICAgICBkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7CiAgICAgIHdlZWtOdW1iZXI6IDEsCiAgICAgIHdlZWtkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXMgPSB7CiAgICAgIG9yZGluYWw6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH07CgogIC8vIFVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzLCBzb3J0ZWQgYnkgYmlnbmVzcwogIGNvbnN0IG9yZGVyZWRVbml0cyA9IFsieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0sCiAgICBvcmRlcmVkV2Vla1VuaXRzID0gWwogICAgICAid2Vla1llYXIiLAogICAgICAid2Vla051bWJlciIsCiAgICAgICJ3ZWVrZGF5IiwKICAgICAgImhvdXIiLAogICAgICAibWludXRlIiwKICAgICAgInNlY29uZCIsCiAgICAgICJtaWxsaXNlY29uZCIsCiAgICBdLAogICAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFsieWVhciIsICJvcmRpbmFsIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCJdOwoKICAvLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHMKICBmdW5jdGlvbiBub3JtYWxpemVVbml0KHVuaXQpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgIHllYXI6ICJ5ZWFyIiwKICAgICAgeWVhcnM6ICJ5ZWFyIiwKICAgICAgbW9udGg6ICJtb250aCIsCiAgICAgIG1vbnRoczogIm1vbnRoIiwKICAgICAgZGF5OiAiZGF5IiwKICAgICAgZGF5czogImRheSIsCiAgICAgIGhvdXI6ICJob3VyIiwKICAgICAgaG91cnM6ICJob3VyIiwKICAgICAgbWludXRlOiAibWludXRlIiwKICAgICAgbWludXRlczogIm1pbnV0ZSIsCiAgICAgIHF1YXJ0ZXI6ICJxdWFydGVyIiwKICAgICAgcXVhcnRlcnM6ICJxdWFydGVyIiwKICAgICAgc2Vjb25kOiAic2Vjb25kIiwKICAgICAgc2Vjb25kczogInNlY29uZCIsCiAgICAgIG1pbGxpc2Vjb25kOiAibWlsbGlzZWNvbmQiLAogICAgICBtaWxsaXNlY29uZHM6ICJtaWxsaXNlY29uZCIsCiAgICAgIHdlZWtkYXk6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla2RheXM6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrc251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrbnVtYmVyczogIndlZWtOdW1iZXIiLAogICAgICB3ZWVreWVhcjogIndlZWtZZWFyIiwKICAgICAgd2Vla3llYXJzOiAid2Vla1llYXIiLAogICAgICBvcmRpbmFsOiAib3JkaW5hbCIsCiAgICB9W3VuaXQudG9Mb3dlckNhc2UoKV07CgogICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTsKCiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIC8vIHRoaXMgaXMgYSBkdW1iZWQgZG93biB2ZXJzaW9uIG9mIGZyb21PYmplY3QoKSB0aGF0IHJ1bnMgYWJvdXQgNjAlIGZhc3RlcgogIC8vIGJ1dCBkb2Vzbid0IGRvIGFueSB2YWxpZGF0aW9uLCBtYWtlcyBhIGJ1bmNoIG9mIGFzc3VtcHRpb25zIGFib3V0IHdoYXQgdW5pdHMKICAvLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLgogIGZ1bmN0aW9uIHF1aWNrRFQob2JqLCBvcHRzKSB7CiAgICBjb25zdCB6b25lID0gbm9ybWFsaXplWm9uZShvcHRzLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgIHRzTm93ID0gU2V0dGluZ3Mubm93KCk7CgogICAgbGV0IHRzLCBvOwoKICAgIC8vIGFzc3VtZSB3ZSBoYXZlIHRoZSBoaWdoZXItb3JkZXIgdW5pdHMKICAgIGlmICghaXNVbmRlZmluZWQob2JqLnllYXIpKSB7CiAgICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHsKICAgICAgICBpZiAoaXNVbmRlZmluZWQob2JqW3VdKSkgewogICAgICAgICAgb2JqW3VdID0gZGVmYXVsdFVuaXRWYWx1ZXNbdV07CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB8fCBoYXNJbnZhbGlkVGltZURhdGEob2JqKTsKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgY29uc3Qgb2Zmc2V0UHJvdmlzID0gem9uZS5vZmZzZXQodHNOb3cpOwogICAgICBbdHMsIG9dID0gb2JqVG9UUyhvYmosIG9mZnNldFByb3Zpcywgem9uZSk7CiAgICB9IGVsc2UgewogICAgICB0cyA9IHRzTm93OwogICAgfQoKICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyB0cywgem9uZSwgbG9jLCBvIH0pOwogIH0KCiAgZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHsKICAgIGNvbnN0IHJvdW5kID0gaXNVbmRlZmluZWQob3B0cy5yb3VuZCkgPyB0cnVlIDogb3B0cy5yb3VuZCwKICAgICAgZm9ybWF0ID0gKGMsIHVuaXQpID0+IHsKICAgICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTsKICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBlbmQubG9jLmNsb25lKG9wdHMpLnJlbEZvcm1hdHRlcihvcHRzKTsKICAgICAgICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdChjLCB1bml0KTsKICAgICAgfSwKICAgICAgZGlmZmVyID0gKHVuaXQpID0+IHsKICAgICAgICBpZiAob3B0cy5jYWxlbmRhcnkpIHsKICAgICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7CiAgICAgICAgICAgIHJldHVybiBlbmQuc3RhcnRPZih1bml0KS5kaWZmKHN0YXJ0LnN0YXJ0T2YodW5pdCksIHVuaXQpLmdldCh1bml0KTsKICAgICAgICAgIH0gZWxzZSByZXR1cm4gMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGVuZC5kaWZmKHN0YXJ0LCB1bml0KS5nZXQodW5pdCk7CiAgICAgICAgfQogICAgICB9OwoKICAgIGlmIChvcHRzLnVuaXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdChkaWZmZXIob3B0cy51bml0KSwgb3B0cy51bml0KTsKICAgIH0KCiAgICBmb3IgKGNvbnN0IHVuaXQgb2Ygb3B0cy51bml0cykgewogICAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTsKICAgICAgaWYgKE1hdGguYWJzKGNvdW50KSA+PSAxKSB7CiAgICAgICAgcmV0dXJuIGZvcm1hdChjb3VudCwgdW5pdCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmb3JtYXQoc3RhcnQgPiBlbmQgPyAtMCA6IDAsIG9wdHMudW5pdHNbb3B0cy51bml0cy5sZW5ndGggLSAxXSk7CiAgfQoKICBmdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7CiAgICBsZXQgb3B0cyA9IHt9LAogICAgICBhcmdzOwogICAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSAib2JqZWN0IikgewogICAgICBvcHRzID0gYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdOwogICAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgYXJncyA9IEFycmF5LmZyb20oYXJnTGlzdCk7CiAgICB9CiAgICByZXR1cm4gW29wdHMsIGFyZ3NdOwogIH0KCiAgLyoqCiAgICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLgogICAqCiAgICogQSBEYXRlVGltZSBjb21wcmlzZXMgb2Y6CiAgICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC4KICAgKiAqIEEgdGltZSB6b25lLiBFYWNoIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBzcGVjaWZpYyB6b25lIChieSBkZWZhdWx0IHRoZSBsb2NhbCBzeXN0ZW0ncyB6b25lKS4KICAgKiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0aGF0IGVmZmVjdCBob3cgb3V0cHV0IHN0cmluZ3MgYXJlIGZvcm1hdHRlZCwgc3VjaCBhcyBgbG9jYWxlYCwgYG51bWJlcmluZ1N5c3RlbWAsIGFuZCBgb3V0cHV0Q2FsZW5kYXJgLgogICAqCiAgICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgZnVuY3Rpb25hbGl0eSBpdCBwcm92aWRlczoKICAgKgogICAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZS5sb2NhbH0sIHtAbGluayBEYXRlVGltZS51dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZS5mcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lLmZyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZS5mcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lLmZyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSlNEYXRlfS4KICAgKiAqICoqR3JlZ29yaWFuIGNhbGVuZGFyIGFuZCB0aW1lKio6IFRvIGV4YW1pbmUgdGhlIEdyZWdvcmlhbiBwcm9wZXJ0aWVzIG9mIGEgRGF0ZVRpbWUgaW5kaXZpZHVhbGx5IChpLmUgYXMgb3Bwb3NlZCB0byBjb2xsZWN0aXZlbHkgdGhyb3VnaCB7QGxpbmsgRGF0ZVRpbWUjdG9PYmplY3R9KSwgdXNlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjeWVhcn0sIHtAbGluayBEYXRlVGltZSNtb250aH0sCiAgICoge0BsaW5rIERhdGVUaW1lI2RheX0sIHtAbGluayBEYXRlVGltZSNob3VyfSwge0BsaW5rIERhdGVUaW1lI21pbnV0ZX0sIHtAbGluayBEYXRlVGltZSNzZWNvbmR9LCB7QGxpbmsgRGF0ZVRpbWUjbWlsbGlzZWNvbmR9IGFjY2Vzc29ycy4KICAgKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLgogICAqICogKipDb25maWd1cmF0aW9uKiogU2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjbG9jYWxlfSBhbmQge0BsaW5rIERhdGVUaW1lI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLgogICAqICogKipUcmFuc2Zvcm1hdGlvbioqOiBUbyB0cmFuc2Zvcm0gdGhlIERhdGVUaW1lIGludG8gb3RoZXIgRGF0ZVRpbWVzLCB1c2Uge0BsaW5rIERhdGVUaW1lI3NldH0sIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0sIHtAbGluayBEYXRlVGltZSNzZXRab25lfSwge0BsaW5rIERhdGVUaW1lI3NldExvY2FsZX0sIHtAbGluayBEYXRlVGltZS5wbHVzfSwge0BsaW5rIERhdGVUaW1lI21pbnVzfSwge0BsaW5rIERhdGVUaW1lI2VuZE9mfSwge0BsaW5rIERhdGVUaW1lI3N0YXJ0T2Z9LCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9LCBhbmQge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9LgogICAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uCiAgICoKICAgKiBUaGVyZSdzIHBsZW50eSBvdGhlcnMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24sIHRpbWUgem9uZXMsIGFsdGVybmF0aXZlIGNhbGVuZGFycywgdmFsaWRpdHksIGFuZCBzbyBvbiwgc2VlIHRoZSBleHRlcm5hbCBkb2N1bWVudGF0aW9uLgogICAqLwogIGNsYXNzIERhdGVUaW1lIHsKICAgIC8qKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7CgogICAgICBsZXQgaW52YWxpZCA9CiAgICAgICAgY29uZmlnLmludmFsaWQgfHwKICAgICAgICAoTnVtYmVyLmlzTmFOKGNvbmZpZy50cykgPyBuZXcgSW52YWxpZCgiaW52YWxpZCBpbnB1dCIpIDogbnVsbCkgfHwKICAgICAgICAoIXpvbmUuaXNWYWxpZCA/IHVuc3VwcG9ydGVkWm9uZSh6b25lKSA6IG51bGwpOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnRzID0gaXNVbmRlZmluZWQoY29uZmlnLnRzKSA/IFNldHRpbmdzLm5vdygpIDogY29uZmlnLnRzOwoKICAgICAgbGV0IGMgPSBudWxsLAogICAgICAgIG8gPSBudWxsOwogICAgICBpZiAoIWludmFsaWQpIHsKICAgICAgICBjb25zdCB1bmNoYW5nZWQgPSBjb25maWcub2xkICYmIGNvbmZpZy5vbGQudHMgPT09IHRoaXMudHMgJiYgY29uZmlnLm9sZC56b25lLmVxdWFscyh6b25lKTsKCiAgICAgICAgaWYgKHVuY2hhbmdlZCkgewogICAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc3Qgb3QgPSB6b25lLm9mZnNldCh0aGlzLnRzKTsKICAgICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTsKICAgICAgICAgIGludmFsaWQgPSBOdW1iZXIuaXNOYU4oYy55ZWFyKSA/IG5ldyBJbnZhbGlkKCJpbnZhbGlkIGlucHV0IikgOiBudWxsOwogICAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYzsKICAgICAgICAgIG8gPSBpbnZhbGlkID8gbnVsbCA6IG90OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5fem9uZSA9IHpvbmU7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGludmFsaWQ7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMud2Vla0RhdGEgPSBudWxsOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmMgPSBjOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLm8gPSBvOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7CiAgICB9CgogICAgLy8gQ09OU1RSVUNUCgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFudCwgaW4gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS4KICAgICAqCiAgICAgKiBVc2UgU2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdCB2YWx1ZXMgaWYgbmVlZGVkLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oKSAvL34+IG5vdyBpbiB0aGUgSVNPIGZvcm1hdAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBub3coKSB7CiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbG9jYWwgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWQKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFtkYXk9MV0gLSBUaGUgZGF5IG9mIHRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiBub3cKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKHsgem9uZTogIkFtZXJpY2EvTmV3X1lvcmsiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6ICJmciIgfSkgICAgIC8vfj4gMjAxNy0wMy0xMlQwMDowMDowMCwgd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiAidXRjIiB9KSAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMCwgaW4gVVRDCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSkgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBsb2NhbCgpIHsKICAgICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSwKICAgICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7CiAgICAgIHJldHVybiBxdWlja0RUKHsgeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0sIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3llYXJdIC0gVGhlIGNhbGVuZGFyIHllYXIuIElmIG9taXR0ZWQgKGFzIGluLCBjYWxsIGB1dGMoKWAgd2l0aCBubyBhcmd1bWVudHMpLCB0aGUgY3VycmVudCB0aW1lIHdpbGwgYmUgdXNlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vdwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAxLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6ICJmciIgfSkgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWiB3aXRoIGEgRnJlbmNoIGxvY2FsZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTApICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6ICJmciIgfSkgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NVogd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgdXRjKCkgewogICAgICBjb25zdCBbb3B0cywgYXJnc10gPSBsYXN0T3B0cyhhcmd1bWVudHMpLAogICAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJnczsKCiAgICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTsKICAgICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLgogICAgICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gYSBKYXZhU2NyaXB0IERhdGUgb2JqZWN0CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG8KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHsKICAgICAgY29uc3QgdHMgPSBpc0RhdGUoZGF0ZSkgPyBkYXRlLnZhbHVlT2YoKSA6IE5hTjsKICAgICAgaWYgKE51bWJlci5pc05hTih0cykpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiaW52YWxpZCBpbnB1dCIpOwogICAgICB9CgogICAgICBjb25zdCB6b25lVG9Vc2UgPSBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpOwogICAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IERhdGVUaW1lKHsKICAgICAgICB0czogdHMsCiAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVEMKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRpb25zLnpvbmU9J2xvY2FsJ10gLSB0aGUgem9uZSB0byBwbGFjZSB0aGUgRGF0ZVRpbWUgaW50bwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tTWlsbGlzKG1pbGxpc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBmcm9tTWlsbGlzIHJlcXVpcmVzIGEgbnVtZXJpY2FsIGlucHV0LCBidXQgcmVjZWl2ZWQgYSAke3R5cGVvZiBtaWxsaXNlY29uZHN9IHdpdGggdmFsdWUgJHttaWxsaXNlY29uZHN9YAogICAgICAgICk7CiAgICAgIH0gZWxzZSBpZiAobWlsbGlzZWNvbmRzIDwgLU1BWF9EQVRFIHx8IG1pbGxpc2Vjb25kcyA+IE1BWF9EQVRFKSB7CiAgICAgICAgLy8gdGhpcyBpc24ndCBwZXJmZWN0IGJlY2F1c2UgYmVjYXVzZSB3ZSBjYW4gc3RpbGwgZW5kIHVwIG91dCBvZiByYW5nZSBiZWNhdXNlIG9mIGFkZGl0aW9uYWwgc2hpZnRpbmcsIGJ1dCBpdCdzIGEgc3RhcnQKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiVGltZXN0YW1wIG91dCBvZiByYW5nZSIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IG1pbGxpc2Vjb25kcywKICAgICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksCiAgICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLAogICAgICAgIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzZWNvbmRzIC0gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAxOTcwIFVUQwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZQogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdGlvbnMuem9uZT0nbG9jYWwnXSAtIHRoZSB6b25lIHRvIHBsYWNlIHRoZSBEYXRlVGltZSBpbnRvCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubG9jYWxlXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc3RhdGljIGZyb21TZWNvbmRzKHNlY29uZHMsIG9wdGlvbnMgPSB7fSkgewogICAgICBpZiAoIWlzTnVtYmVyKHNlY29uZHMpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tU2Vjb25kcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IHNlY29uZHMgKiAxMDAwLAogICAgICAgICAgem9uZTogbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcicgYW5kICdob3VyJyB3aXRoIHJlYXNvbmFibGUgZGVmYXVsdHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqIC0gdGhlIG9iamVjdCB0byBjcmVhdGUgdGhlIERhdGVUaW1lIGZyb20KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1vbnRoIC0gYSBtb250aCwgMS0xMgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5kYXkgLSBhIGRheSBvZiB0aGUgbW9udGgsIDEtMzEsIGRlcGVuZGluZyBvbiB0aGUgbW9udGgKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLndlZWtZZWFyIC0gYW4gSVNPIHdlZWsgeWVhcgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrTnVtYmVyIC0gYW4gSVNPIHdlZWsgbnVtYmVyLCBiZXR3ZWVuIDEgYW5kIDUyIG9yIDUzLCBkZXBlbmRpbmcgb24gdGhlIHllYXIKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VyIC0gaG91ciBvZiB0aGUgZGF5LCAwLTIzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZSAtIG1pbnV0ZSBvZiB0aGUgaG91ciwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taWxsaXNlY29uZCAtIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIDAtOTk5CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogMTk4MiwgbW9udGg6IDUsIGRheTogMjV9KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IDE5ODIgfSkudG9JU09EYXRlKCkgLy89PiAnMTk4Mi0wMS0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDYKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ3V0YycgfSksCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgaG91cjogMTAsIG1pbnV0ZTogMjYsIHNlY29uZDogNiB9LCB7IHpvbmU6ICdsb2NhbCcgfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgd2Vla1llYXI6IDIwMTYsIHdlZWtOdW1iZXI6IDIsIHdlZWtkYXk6IDMgfSkudG9JU09EYXRlKCkgLy89PiAnMjAxNi0wMS0xMycKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbU9iamVjdChvYmosIG9wdHMgPSB7fSkgewogICAgICBvYmogPSBvYmogfHwge307CiAgICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICAgIGlmICghem9uZVRvVXNlLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7CiAgICAgIH0KCiAgICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksCiAgICAgICAgb2Zmc2V0UHJvdmlzID0gIWlzVW5kZWZpbmVkKG9wdHMuc3BlY2lmaWNPZmZzZXQpCiAgICAgICAgICA/IG9wdHMuc3BlY2lmaWNPZmZzZXQKICAgICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksCiAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGNvbnRhaW5zT3JkaW5hbCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm9yZGluYWwpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSwKICAgICAgICBjb250YWluc0dyZWdvciA9IGNvbnRhaW5zR3JlZ29yWWVhciB8fCBjb250YWluc0dyZWdvck1ELAogICAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLAogICAgICAgIGxvYyA9IExvY2FsZS5mcm9tT2JqZWN0KG9wdHMpOwoKICAgICAgLy8gY2FzZXM6CiAgICAgIC8vIGp1c3QgYSB3ZWVrZGF5IC0+IHRoaXMgd2VlaydzIGluc3RhbmNlIG9mIHRoYXQgd2Vla2RheSwgbm8gd29ycmllcwogICAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3IKICAgICAgLy8gKGdyZWdvcmlhbiBtb250aCBvciBkYXkpICsgb3JkaW5hbCAtPiBlcnJvcgogICAgICAvLyBvdGhlcndpc2UganVzdCB1c2Ugd2Vla3Mgb3Igb3JkaW5hbHMgb3IgZ3JlZ29yaWFuLCBkZXBlbmRpbmcgb24gd2hhdCdzIHNwZWNpZmllZAoKICAgICAgaWYgKChjb250YWluc0dyZWdvciB8fCBjb250YWluc09yZGluYWwpICYmIGRlZmluaXRlV2Vla0RlZikgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigKICAgICAgICAgICJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzIgogICAgICAgICk7CiAgICAgIH0KCiAgICAgIGlmIChjb250YWluc0dyZWdvck1EICYmIGNvbnRhaW5zT3JkaW5hbCkgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigiQ2FuJ3QgbWl4IG9yZGluYWwgZGF0ZXMgd2l0aCBtb250aC9kYXkiKTsKICAgICAgfQoKICAgICAgY29uc3QgdXNlV2Vla0RhdGEgPSBkZWZpbml0ZVdlZWtEZWYgfHwgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiAhY29udGFpbnNHcmVnb3IpOwoKICAgICAgLy8gY29uZmlndXJlIG91cnNlbHZlcyB0byBkZWFsIHdpdGggZ3JlZ29yaWFuIGRhdGVzIG9yIHdlZWsgc3R1ZmYKICAgICAgbGV0IHVuaXRzLAogICAgICAgIGRlZmF1bHRWYWx1ZXMsCiAgICAgICAgb2JqTm93ID0gdHNUb09iaih0c05vdywgb2Zmc2V0UHJvdmlzKTsKICAgICAgaWYgKHVzZVdlZWtEYXRhKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0V2Vla1VuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9XZWVrKG9iak5vdyk7CiAgICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkT3JkaW5hbFVuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkVW5pdHM7CiAgICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzOwogICAgICB9CgogICAgICAvLyBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIG1pc3Npbmcgc3R1ZmYKICAgICAgbGV0IGZvdW5kRmlyc3QgPSBmYWxzZTsKICAgICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7CiAgICAgICAgY29uc3QgdiA9IG5vcm1hbGl6ZWRbdV07CiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh2KSkgewogICAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChmb3VuZEZpcnN0KSB7CiAgICAgICAgICBub3JtYWxpemVkW3VdID0gZGVmYXVsdFZhbHVlc1t1XTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9ybWFsaXplZFt1XSA9IG9iak5vd1t1XTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlCiAgICAgIGNvbnN0IGhpZ2hlck9yZGVySW52YWxpZCA9IHVzZVdlZWtEYXRhCiAgICAgICAgICA/IGhhc0ludmFsaWRXZWVrRGF0YShub3JtYWxpemVkKQogICAgICAgICAgOiBjb250YWluc09yZGluYWwKICAgICAgICAgID8gaGFzSW52YWxpZE9yZGluYWxEYXRhKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG5vcm1hbGl6ZWQpLAogICAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpOwoKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgLy8gY29tcHV0ZSB0aGUgYWN0dWFsIHRpbWUKICAgICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGEKICAgICAgICAgID8gd2Vla1RvR3JlZ29yaWFuKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGNvbnRhaW5zT3JkaW5hbAogICAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZCkKICAgICAgICAgIDogbm9ybWFsaXplZCwKICAgICAgICBbdHNGaW5hbCwgb2Zmc2V0RmluYWxdID0gb2JqVG9UUyhncmVnb3JpYW4sIG9mZnNldFByb3Zpcywgem9uZVRvVXNlKSwKICAgICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHsKICAgICAgICAgIHRzOiB0c0ZpbmFsLAogICAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgICAgbzogb2Zmc2V0RmluYWwsCiAgICAgICAgICBsb2MsCiAgICAgICAgfSk7CgogICAgICAvLyBncmVnb3JpYW4gZGF0YSArIHdlZWtkYXkgc2VydmVzIG9ubHkgdG8gdmFsaWRhdGUKICAgICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoCiAgICAgICAgICAibWlzbWF0Y2hlZCB3ZWVrZGF5IiwKICAgICAgICAgIGB5b3UgY2FuJ3Qgc3BlY2lmeSBib3RoIGEgd2Vla2RheSBvZiAke25vcm1hbGl6ZWQud2Vla2RheX0gYW5kIGEgZGF0ZSBvZiAke2luc3QudG9JU08oKX1gCiAgICAgICAgKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGluc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIElTTyA4NjAxIHN0cmluZwogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJywge3pvbmU6ICd1dGMnfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtVzA1LTQnKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJJU08gODYwMSIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBSRkMgMjgyMiBzdHJpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIFJGQyAyODIyIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgdGhlIG9mZnNldCBpcyBhbHdheXMgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJ0ZyaSwgMjUgTm92IDIwMTYgMTM6MjM6MTIgKzA2MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJzI1IE5vdiAyMDE2IDEzOjIzIFonKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tUkZDMjgyMih0ZXh0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlJGQyAyODIyIiwgdGV4dCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIEhUVFAgaGVhZGVyIGRhdGUKICAgICAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMy5odG1sI3NlYzMuMy4xCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSBIVFRQIGRhdGVzIGFyZSBhbHdheXMgaW4gVVRDLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuLCAwNiBOb3YgMTk5NCAwODo0OTozNyBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUhUVFAoJ1N1bmRheSwgMDYtTm92LTk0IDA4OjQ5OjM3IEdNVCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JykKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IFt2YWxzLCBwYXJzZWRab25lXSA9IHBhcnNlSFRUUERhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJIVFRQIiwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIGlucHV0IHN0cmluZyBhbmQgZm9ybWF0IHN0cmluZy4KICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCB0aGUgc3RyaW5nIGlzIGV4cGVjdGVkIHRvIGJlIGluIChzZWUgdGhlIGxpbmsgYmVsb3cgZm9yIHRoZSBmb3JtYXRzKQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSBEYXRlVGltZSB0byB0aGlzIHpvbmUKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZSB3aGVuIHBhcnNpbmcuIFdpbGwgYWxzbyBzZXQgdGhlIHJlc3VsdGluZyBEYXRlVGltZSB0byB0aGlzIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tRm9ybWF0KHRleHQsIGZtdCwgb3B0cyA9IHt9KSB7CiAgICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXQiKTsKICAgICAgfQoKICAgICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLAogICAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHsKICAgICAgICAgIGxvY2FsZSwKICAgICAgICAgIG51bWJlcmluZ1N5c3RlbSwKICAgICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLAogICAgICAgIH0pLAogICAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7CiAgICAgIGlmIChpbnZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgYGZvcm1hdCAke2ZtdH1gLCB0ZXh0LCBzcGVjaWZpY09mZnNldCk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0IGluc3RlYWQKICAgICAqLwogICAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodGV4dCwgZm10LCBvcHRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWUKICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nIGl0c2VsZiwgaWYgaXQgc3BlY2lmaWVzIG9uZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JykKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDInKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJywgeyBzZXRab25lOiB0cnVlIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcwOToxMjozNC4zNDInKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tU1FMKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZVNRTCh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlNRTCIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbZXhwbGFuYXRpb249bnVsbF0gLSBsb25nZXIgZXhwbGFuYXRpb24sIG1heSBpbmNsdWRlIHBhcmFtZXRlcnMgYW5kIG90aGVyIHVzZWZ1bCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgaW52YWxpZChyZWFzb24sIGV4cGxhbmF0aW9uID0gbnVsbCkgewogICAgICBpZiAoIXJlYXNvbikgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEYXRlVGltZSBpcyBpbnZhbGlkIik7CiAgICAgIH0KCiAgICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7CgogICAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7IGludmFsaWQgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBEYXRlVGltZS4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkRhdGVUaW1lKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2R1Y2UgdGhlIGZvcm1hdCBzdHJpbmcgZm9yIGEgc2V0IG9mIG9wdGlvbnMKICAgICAqIEBwYXJhbSBmb3JtYXRPcHRzCiAgICAgKiBAcGFyYW0gbG9jYWxlT3B0cwogICAgICogQHJldHVybnMge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIHBhcnNlRm9ybWF0Rm9yT3B0cyhmb3JtYXRPcHRzLCBsb2NhbGVPcHRzID0ge30pIHsKICAgICAgY29uc3QgdG9rZW5MaXN0ID0gZm9ybWF0T3B0c1RvVG9rZW5zKGZvcm1hdE9wdHMsIExvY2FsZS5mcm9tT2JqZWN0KGxvY2FsZU9wdHMpKTsKICAgICAgcmV0dXJuICF0b2tlbkxpc3QgPyBudWxsIDogdG9rZW5MaXN0Lm1hcCgodCkgPT4gKHQgPyB0LnZhbCA6IG51bGwpKS5qb2luKCIiKTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2R1Y2UgdGhlIHRoZSBmdWxseSBleHBhbmRlZCBmb3JtYXQgdG9rZW4gZm9yIHRoZSBsb2NhbGUKICAgICAqIERvZXMgTk9UIHF1b3RlIGNoYXJhY3RlcnMsIHNvIHF1b3RlZCB0b2tlbnMgd2lsbCBub3Qgcm91bmQgdHJpcCBjb3JyZWN0bHkKICAgICAqIEBwYXJhbSBmbXQKICAgICAqIEBwYXJhbSBsb2NhbGVPcHRzCiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgZXhwYW5kRm9ybWF0KGZtdCwgbG9jYWxlT3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IGV4cGFuZGVkID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksIExvY2FsZS5mcm9tT2JqZWN0KGxvY2FsZU9wdHMpKTsKICAgICAgcmV0dXJuIGV4cGFuZGVkLm1hcCgodCkgPT4gdC52YWwpLmpvaW4oIiIpOwogICAgfQoKICAgIC8vIElORk8KCiAgICAvKioKICAgICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDcsIDQpLmdldCgnbW9udGgnKTsgLy89PiA3CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA3LCA0KS5nZXQoJ2RheScpOyAvLz0+IDQKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0KHVuaXQpIHsKICAgICAgcmV0dXJuIHRoaXNbdW5pdF07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIERhdGVUaW1lIGlzIHZhbGlkLiBJbnZhbGlkIERhdGVUaW1lcyBvY2N1ciB3aGVuOgogICAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwCiAgICAgKiAqIFRoZSBEYXRlVGltZSB3YXMgY3JlYXRlZCBieSBhbiBvcGVyYXRpb24gb24gYW5vdGhlciBpbnZhbGlkIGRhdGUKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIERhdGVUaW1lIGlzIHZhbGlkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBEYXRlVGltZSBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsb2NhbGUgb2YgYSBEYXRlVGltZSwgc3VjaCAnZW4tR0InLiBUaGUgbG9jYWxlIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZQogICAgICoKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBsb2NhbGUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBudW1iZXJpbmcgc3lzdGVtIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2JlbmcnLiBUaGUgbnVtYmVyaW5nIHN5c3RlbSBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyB0aGUgRGF0ZVRpbWUKICAgICAqCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZQogICAgICoKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBvdXRwdXRDYWxlbmRhcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMubG9jLm91dHB1dENhbGVuZGFyIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgdGltZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIERhdGVUaW1lLgogICAgICogQHR5cGUge1pvbmV9CiAgICAgKi8KICAgIGdldCB6b25lKCkgewogICAgICByZXR1cm4gdGhpcy5fem9uZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbmFtZSBvZiB0aGUgdGltZSB6b25lLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IHpvbmVOYW1lKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy56b25lLm5hbWUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB5ZWFyCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkueWVhciAvLz0+IDIwMTcKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB5ZWFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHF1YXJ0ZXIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHF1YXJ0ZXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmNlaWwodGhpcy5jLm1vbnRoIC8gMykgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5tb250aCAvLz0+IDUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBtb250aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5tb250aCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5IG9mIHRoZSBtb250aCAoMS0zMGlzaCkuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkuZGF5IC8vPT4gMjUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXkoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBob3VyIG9mIHRoZSBkYXkgKDAtMjMpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5CiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgaG91cigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5ob3VyIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwKS5taW51dGUgLy89PiAzMAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbnV0ZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5taW51dGUgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNlY29uZCBvZiB0aGUgbWludXRlICgwLTU5KS4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1LCA5LCAzMCwgNTIpLnNlY29uZCAvLz0+IDUyCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgc2Vjb25kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCAoMC05OTkpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbGxpc2Vjb25kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLm1pbGxpc2Vjb25kIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB3ZWVrIHllYXIKICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTIsIDMxKS53ZWVrWWVhciAvLz0+IDIwMTUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrWWVhcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdlZWsgbnVtYmVyIG9mIHRoZSB3ZWVrIHllYXIgKDEtNTJpc2gpLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkud2Vla051bWJlciAvLz0+IDIxCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgd2Vla051bWJlcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla051bWJlciA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5IG9mIHRoZSB3ZWVrLgogICAgICogMSBpcyBNb25kYXkgYW5kIDcgaXMgU3VuZGF5CiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDExLCAzMSkud2Vla2RheSAvLz0+IDQKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrZGF5KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gcG9zc2libHlDYWNoZWRXZWVrRGF0YSh0aGlzKS53ZWVrZGF5IDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBvcmRpbmFsIChtZWFuaW5nIHRoZSBkYXkgb2YgdGhlIHllYXIpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkub3JkaW5hbCAvLz0+IDE0NQogICAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX0KICAgICAqLwogICAgZ2V0IG9yZGluYWwoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCBtb250aCBuYW1lLCBzdWNoIGFzICdPY3QnLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAxMCwgMzApLm1vbnRoU2hvcnQgLy89PiBPY3QKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBtb250aFNob3J0KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby5tb250aHMoInNob3J0IiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIGxvbmcgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0b2JlcicuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhMb25nIC8vPT4gT2N0b2JlcgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG1vbnRoTG9uZygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKCJsb25nIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIHNob3J0IHdlZWtkYXksIHN1Y2ggYXMgJ01vbicuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkud2Vla2RheVNob3J0IC8vPT4gTW9uCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgd2Vla2RheVNob3J0KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby53ZWVrZGF5cygic2hvcnQiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIHdlZWtkYXksIHN1Y2ggYXMgJ01vbmRheScuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkud2Vla2RheUxvbmcgLy89PiBNb25kYXkKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB3ZWVrZGF5TG9uZygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoImxvbmciLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBVVEMgb2Zmc2V0IG9mIHRoaXMgRGF0ZVRpbWUgaW4gbWludXRlcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkub2Zmc2V0IC8vPT4gMAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG9mZnNldCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/ICt0aGlzLm8gOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNob3J0IGh1bWFuIG5hbWUgZm9yIHRoZSB6b25lJ3MgY3VycmVudCBvZmZzZXQsIGZvciBleGFtcGxlICJFU1QiIG9yICJFRFQiLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgb2Zmc2V0TmFtZVNob3J0KCkgewogICAgICBpZiAodGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHsKICAgICAgICAgIGZvcm1hdDogInNob3J0IiwKICAgICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSAiRWFzdGVybiBTdGFuZGFyZCBUaW1lIiBvciAiRWFzdGVybiBEYXlsaWdodCBUaW1lIi4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG9mZnNldE5hbWVMb25nKCkgewogICAgICBpZiAodGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHsKICAgICAgICAgIGZvcm1hdDogImxvbmciLAogICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSwKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgdGhpcyB6b25lJ3Mgb2Zmc2V0IGV2ZXIgY2hhbmdlcywgYXMgaW4gYSBEU1QuCiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzT2Zmc2V0Rml4ZWQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgdGhlIERhdGVUaW1lIGlzIGluIGEgRFNULgogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc0luRFNUKCkgewogICAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAoCiAgICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDEsIGRheTogMSB9KS5vZmZzZXQgfHwKICAgICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogNSB9KS5vZmZzZXQKICAgICAgICApOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE2KS5pc0luTGVhcFllYXIgLy89PiB0cnVlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDEzKS5pc0luTGVhcFllYXIgLy89PiBmYWxzZQogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc0luTGVhcFllYXIoKSB7CiAgICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGlzIERhdGVUaW1lJ3MgbW9udGgKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDMpLmRheXNJbk1vbnRoIC8vPT4gMzEKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXlzSW5Nb250aCgpIHsKICAgICAgcmV0dXJuIGRheXNJbk1vbnRoKHRoaXMueWVhciwgdGhpcy5tb250aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGlzIERhdGVUaW1lJ3MgeWVhcgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNikuZGF5c0luWWVhciAvLz0+IDM2NgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGRheXNJblllYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBkYXlzSW5ZZWFyKHRoaXMueWVhcikgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXIKICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAwNCkud2Vla3NJbldlZWtZZWFyIC8vPT4gNTMKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgd2Vla3NJbldlZWtZZWFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gd2Vla3NJbldlZWtZZWFyKHRoaXMud2Vla1llYXIpIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLgogICAgICogVGhpcyBpcyB1c2VmdWwgaW4gdW5kZXJzdGFuZGluZyB0aGUgYmVoYXZpb3Igb2YgZm9ybWF0dGluZyBtZXRob2RzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIHRoZSBzYW1lIG9wdGlvbnMgYXMgdG9Mb2NhbGVTdHJpbmcKICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgcmVzb2x2ZWRMb2NhbGVPcHRpb25zKG9wdHMgPSB7fSkgewogICAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZSgKICAgICAgICB0aGlzLmxvYy5jbG9uZShvcHRzKSwKICAgICAgICBvcHRzCiAgICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpOwogICAgICByZXR1cm4geyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXI6IGNhbGVuZGFyIH07CiAgICB9CgogICAgLy8gVFJBTlNGT1JNCgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGUgRGF0ZVRpbWUncyB6b25lIHRvIFVUQy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICoKICAgICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKQogICAgICogQHBhcmFtIHtudW1iZXJ9IFtvZmZzZXQ9MF0gLSBvcHRpb25hbGx5LCBhbiBvZmZzZXQgZnJvbSBVVEMgaW4gbWludXRlcwogICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzPXt9XSAtIG9wdGlvbnMgdG8gcGFzcyB0byBgc2V0Wm9uZSgpYAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHRvVVRDKG9mZnNldCA9IDAsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKgogICAgICogRXF1aXZhbGVudCB0byBgc2V0Wm9uZSgnbG9jYWwnKWAKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICB0b0xvY2FsKCkgewogICAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS4KICAgICAqCiAgICAgKiBCeSBkZWZhdWx0LCB0aGUgc2V0dGVyIGtlZXBzIHRoZSB1bmRlcmx5aW5nIHRpbWUgdGhlIHNhbWUgKGFzIGluLCB0aGUgc2FtZSB0aW1lc3RhbXApLCBidXQgdGhlIG5ldyBpbnN0YW5jZSB3aWxsIHJlcG9ydCBkaWZmZXJlbnQgbG9jYWwgdGltZXMgYW5kIGNvbnNpZGVyIERTVHMgd2hlbiBtYWtpbmcgY29tcHV0YXRpb25zLCBhcyB3aXRoIHtAbGluayBEYXRlVGltZSNwbHVzfS4gWW91IG1heSB3aXNoIHRvIHVzZSB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbH0gYW5kIHtAbGluayBEYXRlVGltZSN0b1VUQ30gd2hpY2ggcHJvdmlkZSBzaW1wbGUgY29udmVuaWVuY2Ugd3JhcHBlcnMgZm9yIGNvbW1vbmx5IHVzZWQgem9uZXMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5rZWVwTG9jYWxUaW1lPWZhbHNlXSAtIElmIHRydWUsIGFkanVzdCB0aGUgdW5kZXJseWluZyB0aW1lIHNvIHRoYXQgdGhlIGxvY2FsIHRpbWUgc3RheXMgdGhlIHNhbWUsIGJ1dCBpbiB0aGUgdGFyZ2V0IHpvbmUuIFlvdSBzaG91bGQgcmFyZWx5IG5lZWQgdGhpcy4KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzZXRab25lKHpvbmUsIHsga2VlcExvY2FsVGltZSA9IGZhbHNlLCBrZWVwQ2FsZW5kYXJUaW1lID0gZmFsc2UgfSA9IHt9KSB7CiAgICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTsKICAgICAgaWYgKHpvbmUuZXF1YWxzKHRoaXMuem9uZSkpIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmUpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzOwogICAgICAgIGlmIChrZWVwTG9jYWxUaW1lIHx8IGtlZXBDYWxlbmRhclRpbWUpIHsKICAgICAgICAgIGNvbnN0IG9mZnNldEd1ZXNzID0gem9uZS5vZmZzZXQodGhpcy50cyk7CiAgICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTsKICAgICAgICAgIFtuZXdUU10gPSBvYmpUb1RTKGFzT2JqLCBvZmZzZXRHdWVzcywgem9uZSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvciBvdXRwdXRDYWxlbmRhci4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BlcnRpZXMgLSB0aGUgcHJvcGVydGllcyB0byBzZXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkgewogICAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciB9KTsKICAgICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgbG9jIH0pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZS4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkuc2V0TG9jYWxlKCdlbi1HQicpCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc2V0TG9jYWxlKGxvY2FsZSkgewogICAgICByZXR1cm4gdGhpcy5yZWNvbmZpZ3VyZSh7IGxvY2FsZSB9KTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSB2YWx1ZXMgb2Ygc3BlY2lmaWVkIHVuaXRzLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciAic2V0dGluZyIgbWV0YWRhdGEsIHNlZSB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0uCiAgICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnMKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IGhvdXI6IDgsIG1pbnV0ZTogMzAgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHdlZWtkYXk6IDUgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHNldCh2YWx1ZXMpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZU9iamVjdCh2YWx1ZXMsIG5vcm1hbGl6ZVVuaXQpLAogICAgICAgIHNldHRpbmdXZWVrU3R1ZmYgPQogICAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8CiAgICAgICAgICAhaXNVbmRlZmluZWQobm9ybWFsaXplZC53ZWVrTnVtYmVyKSB8fAogICAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla2RheSksCiAgICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksCiAgICAgICAgY29udGFpbnNHcmVnb3JZZWFyID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQueWVhciksCiAgICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsCiAgICAgICAgZGVmaW5pdGVXZWVrRGVmID0gbm9ybWFsaXplZC53ZWVrWWVhciB8fCBub3JtYWxpemVkLndlZWtOdW1iZXI7CgogICAgICBpZiAoKGNvbnRhaW5zR3JlZ29yIHx8IGNvbnRhaW5zT3JkaW5hbCkgJiYgZGVmaW5pdGVXZWVrRGVmKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKAogICAgICAgICAgIkNhbid0IG1peCB3ZWVrWWVhci93ZWVrTnVtYmVyIHVuaXRzIHdpdGggeWVhci9tb250aC9kYXkgb3Igb3JkaW5hbHMiCiAgICAgICAgKTsKICAgICAgfQoKICAgICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheSIpOwogICAgICB9CgogICAgICBsZXQgbWl4ZWQ7CiAgICAgIGlmIChzZXR0aW5nV2Vla1N0dWZmKSB7CiAgICAgICAgbWl4ZWQgPSB3ZWVrVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub1dlZWsodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTsKICAgICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkgewogICAgICAgIG1peGVkID0gb3JkaW5hbFRvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9PcmRpbmFsKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9OwoKICAgICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsCiAgICAgICAgLy8gdXNlIHRoZSBsYXN0IGRheSBvZiB0aGUgcmlnaHQgbW9udGgKICAgICAgICBpZiAoaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpKSB7CiAgICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBbdHMsIG9dID0gb2JqVG9UUyhtaXhlZCwgdGhpcy5vLCB0aGlzLnpvbmUpOwogICAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lCiAgICAgKgogICAgICogQWRkaW5nIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBvciBtaWxsaXNlY29uZHMgaW5jcmVhc2VzIHRoZSB0aW1lc3RhbXAgYnkgdGhlIHJpZ2h0IG51bWJlciBvZiBtaWxsaXNlY29uZHMuIEFkZGluZyBkYXlzLCBtb250aHMsIG9yIHllYXJzIHNoaWZ0cyB0aGUgY2FsZW5kYXIsIGFjY291bnRpbmcgZm9yIERTVHMgYW5kIGxlYXAgeWVhcnMgYWxvbmcgdGhlIHdheS4gVGh1cywgYGR0LnBsdXMoeyBob3VyczogMjQgfSlgIG1heSByZXN1bHQgaW4gYSBkaWZmZXJlbnQgdGltZSB0aGFuIGBkdC5wbHVzKHsgZGF5czogMSB9KWAgaWYgdGhlcmUncyBhIERTVCBzaGlmdCBpbiBiZXR3ZWVuLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gYWRkLiBFaXRoZXIgYSBMdXhvbiBEdXJhdGlvbiwgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCB0aGUgb2JqZWN0IGFyZ3VtZW50IHRvIER1cmF0aW9uLmZyb21PYmplY3QoKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IG1pbnV0ZXM6IDE1IH0pIC8vfj4gaW4gMTUgbWludXRlcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkgLy9+PiB0aGlzIHRpbWUgdG9tb3Jyb3cKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBob3VyczogMywgbWludXRlczogMTMgfSkgLy9+PiBpbiAzIGhyLCAxMyBtaW4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSkgLy9+PiBpbiAzIGhyLCAxMyBtaW4KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBwbHVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpOwogICAgfQoKICAgIC8qKgogICAgICogU3VidHJhY3QgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZQogICAgICogU2VlIHtAbGluayBEYXRlVGltZSNwbHVzfQogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpCiAgICAgQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIG1pbnVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbikubmVnYXRlKCk7CiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBUaGUgdW5pdCB0byBnbyB0byB0aGUgYmVnaW5uaW5nIG9mLiBDYW4gYmUgJ3llYXInLCAncXVhcnRlcicsICdtb250aCcsICd3ZWVrJywgJ2RheScsICdob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnLCBvciAnbWlsbGlzZWNvbmQnLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignbW9udGgnKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMy0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3dlZWsnKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMy0wMycsIHdlZWtzIGFsd2F5cyBzdGFydCBvbiBNb25kYXlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuc3RhcnRPZignZGF5JykudG9JU09UaW1lKCk7IC8vPT4gJzAwOjAwLjAwMC0wNTowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCcKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGFydE9mKHVuaXQpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBvID0ge30sCiAgICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpOwogICAgICBzd2l0Y2ggKG5vcm1hbGl6ZWRVbml0KSB7CiAgICAgICAgY2FzZSAieWVhcnMiOgogICAgICAgICAgby5tb250aCA9IDE7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgInF1YXJ0ZXJzIjoKICAgICAgICBjYXNlICJtb250aHMiOgogICAgICAgICAgby5kYXkgPSAxOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJ3ZWVrcyI6CiAgICAgICAgY2FzZSAiZGF5cyI6CiAgICAgICAgICBvLmhvdXIgPSAwOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJob3VycyI6CiAgICAgICAgICBvLm1pbnV0ZSA9IDA7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgIm1pbnV0ZXMiOgogICAgICAgICAgby5zZWNvbmQgPSAwOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJzZWNvbmRzIjoKICAgICAgICAgIG8ubWlsbGlzZWNvbmQgPSAwOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgLy8gbm8gZGVmYXVsdCwgaW52YWxpZCB1bml0cyB0aHJvdyBpbiBub3JtYWxpemVVbml0KCkKICAgICAgfQoKICAgICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSAid2Vla3MiKSB7CiAgICAgICAgby53ZWVrZGF5ID0gMTsKICAgICAgfQoKICAgICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSAicXVhcnRlcnMiKSB7CiAgICAgICAgY29uc3QgcSA9IE1hdGguY2VpbCh0aGlzLm1vbnRoIC8gMyk7CiAgICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMuc2V0KG8pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhpcyBEYXRlVGltZSB0byB0aGUgZW5kIChtZWFuaW5nIHRoZSBsYXN0IG1pbGxpc2Vjb25kKSBvZiBhIHVuaXQgb2YgdGltZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBUaGUgdW5pdCB0byBnbyB0byB0aGUgZW5kIG9mLiBDYW4gYmUgJ3llYXInLCAncXVhcnRlcicsICdtb250aCcsICd3ZWVrJywgJ2RheScsICdob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnLCBvciAnbWlsbGlzZWNvbmQnLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzKS5lbmRPZigneWVhcicpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMTItMzFUMjM6NTk6NTkuOTk5LTA1OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ3dlZWsnKS50b0lTTygpOyAvLyA9PiAnMjAxNC0wMy0wOVQyMzo1OTo1OS45OTktMDU6MDAnLCB3ZWVrcyBzdGFydCBvbiBNb25kYXlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLmVuZE9mKCdob3VyJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0wM1QwNTo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgZW5kT2YodW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSkKICAgICAgICAgICAgLnN0YXJ0T2YodW5pdCkKICAgICAgICAgICAgLm1pbnVzKDEpCiAgICAgICAgOiB0aGlzOwogICAgfQoKICAgIC8vIE9VVFBVVAoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBmb3JtYXQgc3RyaW5nLgogICAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS4KICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJykgLy89PiAnMjAxNyBBcHIgMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2ZyJykudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJykgLy89PiAnMjAxNyBhdnIuIDIyJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6ICJmciIgfSkgLy89PiAnMjAxNyBhdnIuIDIyJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoIkhIICdob3VycyBhbmQnIG1tICdtaW51dGVzJyIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLnJlZGVmYXVsdFRvRU4ob3B0cykpLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyh0aGlzLCBmbXQpCiAgICAgICAgOiBJTlZBTElEOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxvY2FsaXplZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoaXMgZGF0ZS4gQWNjZXB0cyB0aGUgc2FtZSBvcHRpb25zIGFzIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIGFuZCBhbnkgcHJlc2V0cyBkZWZpbmVkIGJ5IEx1eG9uLCBzdWNoIGFzIGBEYXRlVGltZS5EQVRFX0ZVTExgIG9yIGBEYXRlVGltZS5USU1FX1NJTVBMRWAuCiAgICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb24KICAgICAqIG9mIHRoZSBEYXRlVGltZSBpbiB0aGUgYXNzaWduZWQgbG9jYWxlLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0CiAgICAgKiBAcGFyYW0gZm9ybWF0T3B0cyB7T2JqZWN0fSAtIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3Igb3B0aW9ucyBhbmQgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdHMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBvbiB0aGlzIERhdGVUaW1lCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxNwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdlbi1nYicpLnRvTG9jYWxlU3RyaW5nKCk7IC8vPT4gJzIwLzA0LzIwMTcnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFX0ZVTEwpOyAvLz0+ICdBcHJpbCAyMCwgMjAxNycKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCwgeyBsb2NhbGU6ICdmcicgfSk7IC8vPT4gJzI4IGFvw7t0IDIwMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuREFURVRJTUVfU0hPUlQpOyAvLz0+ICc0LzIwLzIwMTcsIDExOjMyIEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyB3ZWVrZGF5OiAnbG9uZycsIG1vbnRoOiAnbG9uZycsIGRheTogJzItZGlnaXQnIH0pOyAvLz0+ICdUaHVyc2RheSwgQXByaWwgMjAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTogJzItZGlnaXQnLCBob3VyQ3ljbGU6ICdoMjMnIH0pOyAvLz0+ICcxMTozMicKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9Mb2NhbGVTdHJpbmcoZm9ybWF0T3B0cyA9IERBVEVfU0hPUlQsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLmNsb25lKG9wdHMpLCBmb3JtYXRPcHRzKS5mb3JtYXREYXRlVGltZSh0aGlzKQogICAgICAgIDogSU5WQUxJRDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZm9ybWF0ICJwYXJ0cyIsIG1lYW5pbmcgaW5kaXZpZHVhbCB0b2tlbnMgYWxvbmcgd2l0aCBtZXRhZGF0YS4gVGhpcyBpcyBhbGxvd3MgY2FsbGVycyB0byBwb3N0LXByb2Nlc3MgaW5kaXZpZHVhbCBzZWN0aW9ucyBvZiB0aGUgZm9ybWF0dGVkIG91dHB1dC4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlVGltZUZvcm1hdC9mb3JtYXRUb1BhcnRzCiAgICAgKiBAcGFyYW0gb3B0cyB7T2JqZWN0fSAtIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3Igb3B0aW9ucywgc2FtZSBhcyBgdG9Mb2NhbGVTdHJpbmdgLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFsKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnZGF5JywgdmFsdWU6ICcyNScgfSwKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbGl0ZXJhbCcsIHZhbHVlOiAnLycgfSwKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdsaXRlcmFsJywgdmFsdWU6ICcvJyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICd5ZWFyJywgdmFsdWU6ICcxOTgyJyB9CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdCiAgICAgKi8KICAgIHRvTG9jYWxlUGFydHMob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIG9wdHMpLmZvcm1hdERhdGVUaW1lUGFydHModGhpcykKICAgICAgICA6IFtdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMAogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0PXRydWVdIC0gaW5jbHVkZSB0aGUgb2Zmc2V0LCBzdWNoIGFzICdaJyBvciAnLTA0OjAwJwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9ZmFsc2VdIC0gYWRkIHRoZSB0aW1lIHpvbmUgZm9ybWF0IGV4dGVuc2lvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oKSAvLz0+ICcyMDE3LTA0LTIyVDIwOjQ3OjA1LjMzNS0wNDowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNy0wNC0yMlQyMDo0NzowNS4zMzUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPKHsKICAgICAgZm9ybWF0ID0gImV4dGVuZGVkIiwKICAgICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsCiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsCiAgICAgIGluY2x1ZGVPZmZzZXQgPSB0cnVlLAogICAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSwKICAgIH0gPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBjb25zdCBleHQgPSBmb3JtYXQgPT09ICJleHRlbmRlZCI7CgogICAgICBsZXQgYyA9IHRvSVNPRGF0ZSh0aGlzLCBleHQpOwogICAgICBjICs9ICJUIjsKICAgICAgYyArPSB0b0lTT1RpbWUodGhpcywgZXh0LCBzdXBwcmVzc1NlY29uZHMsIHN1cHByZXNzTWlsbGlzZWNvbmRzLCBpbmNsdWRlT2Zmc2V0LCBleHRlbmRlZFpvbmUpOwogICAgICByZXR1cm4gYzsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lJ3MgZGF0ZSBjb21wb25lbnQKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNScKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09EYXRlKHsgZm9ybWF0ID0gImV4dGVuZGVkIiB9ID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCBmb3JtYXQgPT09ICJleHRlbmRlZCIpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB3ZWVrIGRhdGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygxOTgyLCA1LCAyNSkudG9JU09XZWVrRGF0ZSgpIC8vPT4gJzE5ODItVzIxLTInCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPV2Vla0RhdGUoKSB7CiAgICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgImtra2stJ1cnV1ctYyIpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudAogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzTWlsbGlzZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmV4dGVuZGVkWm9uZT10cnVlXSAtIGFkZCB0aGUgdGltZSB6b25lIGZvcm1hdCBleHRlbnNpb24KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQgfSkudG9JU09UaW1lKCkgLy89PiAnMDc6MzQ6MTkuMzYxWicKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMDczNDE5LjM2MVonCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDA3OjM0OjE5LjM2MVonCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPVGltZSh7CiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsCiAgICAgIHN1cHByZXNzU2Vjb25kcyA9IGZhbHNlLAogICAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSwKICAgICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLAogICAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSwKICAgICAgZm9ybWF0ID0gImV4dGVuZGVkIiwKICAgIH0gPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBsZXQgYyA9IGluY2x1ZGVQcmVmaXggPyAiVCIgOiAiIjsKICAgICAgcmV0dXJuICgKICAgICAgICBjICsKICAgICAgICB0b0lTT1RpbWUoCiAgICAgICAgICB0aGlzLAogICAgICAgICAgZm9ybWF0ID09PSAiZXh0ZW5kZWQiLAogICAgICAgICAgc3VwcHJlc3NTZWNvbmRzLAogICAgICAgICAgc3VwcHJlc3NNaWxsaXNlY29uZHMsCiAgICAgICAgICBpbmNsdWRlT2Zmc2V0LAogICAgICAgICAgZXh0ZW5kZWRab25lCiAgICAgICAgKQogICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBSRkMgMjgyMi1jb21wYXRpYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9SRkMyODIyKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAwMDowMDowMCAtMDQwMCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9SRkMyODIyKCkgewogICAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMsICJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzIFpaWiIsIGZhbHNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIEhUVFAgaGVhZGVycy4gVGhlIG91dHB1dCBpcyBhbHdheXMgZXhwcmVzc2VkIGluIEdNVC4KICAgICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy4KICAgICAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMy5odG1sI3NlYzMuMy4xCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvSFRUUCgpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgR01UJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSFRUUCgpIHsKICAgICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLnRvVVRDKCksICJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnIik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTERhdGUoKSAvLz0+ICcyMDE0LTA3LTEzJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTERhdGUoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBUaW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0PXRydWVdIC0gaW5jbHVkZSB0aGUgb2Zmc2V0LCBzdWNoIGFzICdaJyBvciAnLTA0OjAwJwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSAtMDQ6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvU1FMKHsgaW5jbHVkZVpvbmU6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSBBbWVyaWNhL05ld19Zb3JrJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTFRpbWUoeyBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSwgaW5jbHVkZVpvbmUgPSBmYWxzZSwgaW5jbHVkZU9mZnNldFNwYWNlID0gdHJ1ZSB9ID0ge30pIHsKICAgICAgbGV0IGZtdCA9ICJISDptbTpzcy5TU1MiOwoKICAgICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHsKICAgICAgICBpZiAoaW5jbHVkZU9mZnNldFNwYWNlKSB7CiAgICAgICAgICBmbXQgKz0gIiAiOwogICAgICAgIH0KICAgICAgICBpZiAoaW5jbHVkZVpvbmUpIHsKICAgICAgICAgIGZtdCArPSAieiI7CiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlT2Zmc2V0KSB7CiAgICAgICAgICBmbXQgKz0gIlpaIjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlVGltZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVab25lPWZhbHNlXSAtIGluY2x1ZGUgdGhlIHpvbmUsIHN1Y2ggYXMgJ0FtZXJpY2EvTmV3X1lvcmsnLiBPdmVycmlkZXMgaW5jbHVkZU9mZnNldC4KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCcKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUwoKSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCBaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKCkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAgLTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9TUUwoeyBpbmNsdWRlWm9uZTogdHJ1ZSB9KSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCBBbWVyaWNhL05ld19Zb3JrJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTChvcHRzID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgcmV0dXJuIGAke3RoaXMudG9TUUxEYXRlKCl9ICR7dGhpcy50b1NRTFRpbWUob3B0cyl9YDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU3RyaW5nKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy50b0lTTygpIDogSU5WQUxJRDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9CiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHZhbHVlT2YoKSB7CiAgICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdG9NaWxsaXMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICB0b1NlY29uZHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIC8gMTAwMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICB0b1VuaXhJbnRlZ2VyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gTWF0aC5mbG9vcih0aGlzLnRzIC8gMTAwMCkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0pTT04oKSB7CiAgICAgIHJldHVybiB0aGlzLnRvSVNPKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7RGF0ZX0KICAgICAqLwogICAgdG9CU09OKCkgewogICAgICByZXR1cm4gdGhpcy50b0pTRGF0ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi4KICAgICAqIEBwYXJhbSBvcHRzIC0gb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVDb25maWc9ZmFsc2VdIC0gaW5jbHVkZSBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZXMgaW4gdGhlIG91dHB1dAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgdG9PYmplY3Qob3B0cyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307CgogICAgICBjb25zdCBiYXNlID0geyAuLi50aGlzLmMgfTsKCiAgICAgIGlmIChvcHRzLmluY2x1ZGVDb25maWcpIHsKICAgICAgICBiYXNlLm91dHB1dENhbGVuZGFyID0gdGhpcy5vdXRwdXRDYWxlbmRhcjsKICAgICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTsKICAgICAgICBiYXNlLmxvY2FsZSA9IHRoaXMubG9jLmxvY2FsZTsKICAgICAgfQogICAgICByZXR1cm4gYmFzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IERhdGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7RGF0ZX0KICAgICAqLwogICAgdG9KU0RhdGUoKSB7CiAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTsKICAgIH0KCiAgICAvLyBDT01QQVJFCgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gRGF0ZVRpbWVzIGFzIGEgRHVyYXRpb24uCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG8KICAgICAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBbdW5pdD1bJ21pbGxpc2Vjb25kcyddXSAtIHRoZSB1bml0IG9yIGFycmF5IG9mIHVuaXRzIChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byBpbmNsdWRlIGluIHRoZSBkdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBleGFtcGxlCiAgICAgKiB2YXIgaTEgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgyLTA1LTI1VDA5OjQ1JyksCiAgICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7CiAgICAgKiBpMi5kaWZmKGkxKS50b09iamVjdCgpIC8vPT4geyBtaWxsaXNlY29uZHM6IDQzODA3NTAwMDAwIH0KICAgICAqIGkyLmRpZmYoaTEsICdob3VycycpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMjE2OC43NSB9CiAgICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH0KICAgICAqIGkyLmRpZmYoaTEsIFsnbW9udGhzJywgJ2RheXMnLCAnaG91cnMnXSkudG9PYmplY3QoKSAvLz0+IHsgbW9udGhzOiAxNiwgZGF5czogMTksIGhvdXJzOiAwLjc1IH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBkaWZmKG90aGVyRGF0ZVRpbWUsIHVuaXQgPSAibWlsbGlzZWNvbmRzIiwgb3B0cyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZCgiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWUiKTsKICAgICAgfQoKICAgICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9OwoKICAgICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSwKICAgICAgICBvdGhlcklzTGF0ZXIgPSBvdGhlckRhdGVUaW1lLnZhbHVlT2YoKSA+IHRoaXMudmFsdWVPZigpLAogICAgICAgIGVhcmxpZXIgPSBvdGhlcklzTGF0ZXIgPyB0aGlzIDogb3RoZXJEYXRlVGltZSwKICAgICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLAogICAgICAgIGRpZmZlZCA9IGRpZmYoZWFybGllciwgbGF0ZXIsIHVuaXRzLCBkdXJPcHRzKTsKCiAgICAgIHJldHVybiBvdGhlcklzTGF0ZXIgPyBkaWZmZWQubmVnYXRlKCkgOiBkaWZmZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuCiAgICAgKiBTZWUge0BsaW5rIERhdGVUaW1lI2RpZmZ9CiAgICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBkaWZmTm93KHVuaXQgPSAibWlsbGlzZWNvbmRzIiwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIEludGVydmFsIHNwYW5uaW5nIGJldHdlZW4gdGhpcyBEYXRlVGltZSBhbmQgYW5vdGhlciBEYXRlVGltZQogICAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgdW50aWwob3RoZXJEYXRlVGltZSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyh0aGlzLCBvdGhlckRhdGVUaW1lKSA6IHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLgogICAgICogSGlnaGVyLW9yZGVyIHVuaXRzIG11c3QgYWxzbyBiZSBpZGVudGljYWwgZm9yIHRoaXMgZnVuY3Rpb24gdG8gcmV0dXJuIGB0cnVlYC4KICAgICAqIE5vdGUgdGhhdCB0aW1lIHpvbmVzIGFyZSAqKmlnbm9yZWQqKiBpbiB0aGlzIGNvbXBhcmlzb24sIHdoaWNoIGNvbXBhcmVzIHRoZSAqKmxvY2FsKiogY2FsZW5kYXIgdGltZS4gVXNlIHtAbGluayBEYXRlVGltZSNzZXRab25lfSB0byBjb252ZXJ0IG9uZSBvZiB0aGUgZGF0ZXMgaWYgbmVlZGVkLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNoZWNrIHNhbWVuZXNzIG9uCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5oYXNTYW1lKG90aGVyRFQsICdkYXknKTsgLy9+PiB0cnVlIGlmIG90aGVyRFQgaXMgaW4gdGhlIHNhbWUgY3VycmVudCBjYWxlbmRhciBkYXkKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc1NhbWUob3RoZXJEYXRlVGltZSwgdW5pdCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwoKICAgICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpOwogICAgICBjb25zdCBhZGp1c3RlZFRvWm9uZSA9IHRoaXMuc2V0Wm9uZShvdGhlckRhdGVUaW1lLnpvbmUsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KTsKICAgICAgcmV0dXJuIGFkanVzdGVkVG9ab25lLnN0YXJ0T2YodW5pdCkgPD0gaW5wdXRNcyAmJiBpbnB1dE1zIDw9IGFkanVzdGVkVG9ab25lLmVuZE9mKHVuaXQpOwogICAgfQoKICAgIC8qKgogICAgICogRXF1YWxpdHkgY2hlY2sKICAgICAqIFR3byBEYXRlVGltZXMgYXJlIGVxdWFsIGlmIGFuZCBvbmx5IGlmIHRoZXkgcmVwcmVzZW50IHRoZSBzYW1lIG1pbGxpc2Vjb25kLCBoYXZlIHRoZSBzYW1lIHpvbmUgYW5kIGxvY2F0aW9uLCBhbmQgYXJlIGJvdGggdmFsaWQuCiAgICAgKiBUbyBjb21wYXJlIGp1c3QgdGhlIG1pbGxpc2Vjb25kIHZhbHVlcywgdXNlIGArZHQxID09PSArZHQyYC4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB0aGlzLmlzVmFsaWQgJiYKICAgICAgICBvdGhlci5pc1ZhbGlkICYmCiAgICAgICAgdGhpcy52YWx1ZU9mKCkgPT09IG90aGVyLnZhbHVlT2YoKSAmJgogICAgICAgIHRoaXMuem9uZS5lcXVhbHMob3RoZXIuem9uZSkgJiYKICAgICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKQogICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgImluIHR3byBkYXlzIi4gQ2FuIG9ubHkgaW50ZXJuYXRpb25hbGl6ZSBpZiB5b3VyCiAgICAgKiBwbGF0Zm9ybSBzdXBwb3J0cyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdC4gUm91bmRzIGRvd24gYnkgZGVmYXVsdC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0CiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBbb3B0aW9ucy5iYXNlPURhdGVUaW1lLm5vdygpXSAtIHRoZSBEYXRlVGltZSB0byB1c2UgYXMgdGhlIGJhc2lzIHRvIHdoaWNoIHRoaXMgdGltZSBpcyBjb21wYXJlZC4gRGVmYXVsdHMgdG8gbm93LgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnN0eWxlPSJsb25nIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgImxvbmciLCAic2hvcnQiLCBvciAibmFycm93IgogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IG9wdGlvbnMudW5pdCAtIHVzZSBhIHNwZWNpZmljIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHM7IGlmIG9taXR0ZWQsIG9yIGFuIGFycmF5LCB0aGUgbWV0aG9kIHdpbGwgcGljayB0aGUgYmVzdCB1bml0LiBVc2UgYW4gYXJyYXkgb3Igb25lIG9mICJ5ZWFycyIsICJxdWFydGVycyIsICJtb250aHMiLCAid2Vla3MiLCAiZGF5cyIsICJob3VycyIsICJtaW51dGVzIiwgb3IgInNlY29uZHMiCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnJvdW5kPXRydWVdIC0gd2hldGhlciB0byByb3VuZCB0aGUgbnVtYmVycyBpbiB0aGUgb3V0cHV0LgogICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLnBhZGRpbmc9MF0gLSBwYWRkaW5nIGluIG1pbGxpc2Vjb25kcy4gVGhpcyBhbGxvd3MgeW91IHRvIHJvdW5kIHVwIHRoZSByZXN1bHQgaWYgaXQgZml0cyBpbnNpZGUgdGhlIHRocmVzaG9sZC4gRG9uJ3QgdXNlIGluIGNvbWJpbmF0aW9uIHdpdGgge3JvdW5kOiBmYWxzZX0gYmVjYXVzZSB0aGUgZGVjaW1hbCBvdXRwdXQgd2lsbCBpbmNsdWRlIHRoZSBwYWRkaW5nLgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSBvdmVycmlkZSB0aGUgbnVtYmVyaW5nU3lzdGVtIG9mIHRoaXMgRGF0ZVRpbWUuIFRoZSBJbnRsIHN5c3RlbSBtYXkgY2hvb3NlIG5vdCB0byBob25vciB0aGlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiAiaW4gMSBkYXkiCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoImVzIikudG9SZWxhdGl2ZSh7IGRheXM6IDEgfSkgLy89PiAiZGVudHJvIGRlIDEgZMOtYSIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6ICJmciIgfSkgLy89PiAiZGFucyAyMyBoZXVyZXMiCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gIjIgZGF5cyBhZ28iCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSh7IHVuaXQ6ICJob3VycyIgfSkgLy89PiAiNDggaG91cnMgYWdvIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBob3VyczogMzYgfSkudG9SZWxhdGl2ZSh7IHJvdW5kOiBmYWxzZSB9KSAvLz0+ICIxLjUgZGF5cyBhZ28iCiAgICAgKi8KICAgIHRvUmVsYXRpdmUob3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKICAgICAgY29uc3QgYmFzZSA9IG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwKICAgICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nID8gKHRoaXMgPCBiYXNlID8gLW9wdGlvbnMucGFkZGluZyA6IG9wdGlvbnMucGFkZGluZykgOiAwOwogICAgICBsZXQgdW5pdHMgPSBbInllYXJzIiwgIm1vbnRocyIsICJkYXlzIiwgImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyJdOwogICAgICBsZXQgdW5pdCA9IG9wdGlvbnMudW5pdDsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy51bml0KSkgewogICAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0OwogICAgICAgIHVuaXQgPSB1bmRlZmluZWQ7CiAgICAgIH0KICAgICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHsKICAgICAgICAuLi5vcHRpb25zLAogICAgICAgIG51bWVyaWM6ICJhbHdheXMiLAogICAgICAgIHVuaXRzLAogICAgICAgIHVuaXQsCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGRhdGUgcmVsYXRpdmUgdG8gdG9kYXksIHN1Y2ggYXMgInllc3RlcmRheSIgb3IgIm5leHQgbW9udGgiLgogICAgICogT25seSBpbnRlcm5hdGlvbmFsaXplcyBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0cyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0CiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBbb3B0aW9ucy5iYXNlPURhdGVUaW1lLm5vdygpXSAtIHRoZSBEYXRlVGltZSB0byB1c2UgYXMgdGhlIGJhc2lzIHRvIHdoaWNoIHRoaXMgdGltZSBpcyBjb21wYXJlZC4gRGVmYXVsdHMgdG8gbm93LgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgInllYXJzIiwgInF1YXJ0ZXJzIiwgIm1vbnRocyIsICJ3ZWVrcyIsIG9yICJkYXlzIgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZUNhbGVuZGFyKCkgLy89PiAidG9tb3Jyb3ciCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoImVzIikucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gIiJtYcOxYW5hIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZUNhbGVuZGFyKHsgbG9jYWxlOiAiZnIiIH0pIC8vPT4gImRlbWFpbiIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgZGF5czogMiB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+ICIyIGRheXMgYWdvIgogICAgICovCiAgICB0b1JlbGF0aXZlQ2FsZW5kYXIob3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKCiAgICAgIHJldHVybiBkaWZmUmVsYXRpdmUob3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLCB0aGlzLCB7CiAgICAgICAgLi4ub3B0aW9ucywKICAgICAgICBudW1lcmljOiAiYXV0byIsCiAgICAgICAgdW5pdHM6IFsieWVhcnMiLCAibW9udGhzIiwgImRheXMiXSwKICAgICAgICBjYWxlbmRhcnk6IHRydWUsCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBtaW4gb2Ygc2V2ZXJhbCBkYXRlIHRpbWVzCiAgICAgKiBAcGFyYW0gey4uLkRhdGVUaW1lfSBkYXRlVGltZXMgLSB0aGUgRGF0ZVRpbWVzIGZyb20gd2hpY2ggdG8gY2hvb3NlIHRoZSBtaW5pbXVtCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50CiAgICAgKi8KICAgIHN0YXRpYyBtaW4oLi4uZGF0ZVRpbWVzKSB7CiAgICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXMiKTsKICAgICAgfQogICAgICByZXR1cm4gYmVzdEJ5KGRhdGVUaW1lcywgKGkpID0+IGkudmFsdWVPZigpLCBNYXRoLm1pbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXMKICAgICAqIEBwYXJhbSB7Li4uRGF0ZVRpbWV9IGRhdGVUaW1lcyAtIHRoZSBEYXRlVGltZXMgZnJvbSB3aGljaCB0byBjaG9vc2UgdGhlIG1heGltdW0KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfSB0aGUgbWF4IERhdGVUaW1lLCBvciB1bmRlZmluZWQgaWYgY2FsbGVkIHdpdGggbm8gYXJndW1lbnQKICAgICAqLwogICAgc3RhdGljIG1heCguLi5kYXRlVGltZXMpIHsKICAgICAgaWYgKCFkYXRlVGltZXMuZXZlcnkoRGF0ZVRpbWUuaXNEYXRlVGltZSkpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm1heCByZXF1aXJlcyBhbGwgYXJndW1lbnRzIGJlIERhdGVUaW1lcyIpOwogICAgICB9CiAgICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTsKICAgIH0KCiAgICAvLyBNSVNDCgogICAgLyoqCiAgICAgKiBFeHBsYWluIGhvdyBhIHN0cmluZyB3b3VsZCBiZSBwYXJzZWQgYnkgZnJvbUZvcm1hdCgpCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHRoZSBzdHJpbmcgaXMgZXhwZWN0ZWQgdG8gYmUgaW4gKHNlZSBkZXNjcmlwdGlvbikKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0YWtlbiBieSBmcm9tRm9ybWF0KCkKICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGZyb21Gb3JtYXRFeHBsYWluKHRleHQsIGZtdCwgb3B0aW9ucyA9IHt9KSB7CiAgICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucywKICAgICAgICBsb2NhbGVUb1VzZSA9IExvY2FsZS5mcm9tT3B0cyh7CiAgICAgICAgICBsb2NhbGUsCiAgICAgICAgICBudW1iZXJpbmdTeXN0ZW0sCiAgICAgICAgICBkZWZhdWx0VG9FTjogdHJ1ZSwKICAgICAgICB9KTsKICAgICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXRFeHBsYWluIGluc3RlYWQKICAgICAqLwogICAgc3RhdGljIGZyb21TdHJpbmdFeHBsYWluKHRleHQsIGZtdCwgb3B0aW9ucyA9IHt9KSB7CiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMpOwogICAgfQoKICAgIC8vIEZPUk1BVCBQUkVTRVRTCgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlIDEwLzE0LzE5ODMKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9TSE9SVCgpIHsKICAgICAgcmV0dXJuIERBVEVfU0hPUlQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3QgMTQsIDE5ODMnCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVfTUVEKCkgewogICAgICByZXR1cm4gREFURV9NRUQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkgewogICAgICByZXR1cm4gREFURV9NRURfV0lUSF9XRUVLREFZOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9GVUxMKCkgewogICAgICByZXR1cm4gREFURV9GVUxMOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnVHVlc2RheSwgT2N0b2JlciAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9IVUdFKCkgewogICAgICByZXR1cm4gREFURV9IVUdFOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7CiAgICAgIHJldHVybiBUSU1FX1NJTVBMRTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gVElNRV9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NIT1JUX09GRlNFVCgpIHsKICAgICAgcmV0dXJuIFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV9XSVRIX0xPTkdfT0ZGU0VUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9TSU1QTEUoKSB7CiAgICAgIHJldHVybiBUSU1FXzI0X1NJTVBMRTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzJywgYWx3YXlzIDI0LWhvdXIuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gVElNRV8yNF9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHsKICAgICAgcmV0dXJuIFRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVCgpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX1NIT1JUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3QgMTQsIDE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfTUVEKCkgewogICAgICByZXR1cm4gREFURVRJTUVfTUVEOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzLCA5OjMwOjMzIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkgewogICAgICByZXR1cm4gREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzAgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTEwoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9GVUxMOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUzsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX0hVR0U7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmlkYXksIE9jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRWFzdGVybiBEYXlsaWdodCBUaW1lJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGZyaWVuZGx5RGF0ZVRpbWUoZGF0ZVRpbWVpc2gpIHsKICAgIGlmIChEYXRlVGltZS5pc0RhdGVUaW1lKGRhdGVUaW1laXNoKSkgewogICAgICByZXR1cm4gZGF0ZVRpbWVpc2g7CiAgICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIGRhdGVUaW1laXNoLnZhbHVlT2YgJiYgaXNOdW1iZXIoZGF0ZVRpbWVpc2gudmFsdWVPZigpKSkgewogICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUpTRGF0ZShkYXRlVGltZWlzaCk7CiAgICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gIm9iamVjdCIpIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoZGF0ZVRpbWVpc2gpOwogICAgfSBlbHNlIHsKICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKAogICAgICAgIGBVbmtub3duIGRhdGV0aW1lIGFyZ3VtZW50OiAke2RhdGVUaW1laXNofSwgb2YgdHlwZSAke3R5cGVvZiBkYXRlVGltZWlzaH1gCiAgICAgICk7CiAgICB9CiAgfQoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAvLyBRdWVyeSBTZXR0aW5ncyAvLw0KICAvLy8vLy8vLy8vLy8vLy8vLy8vLw0KICBjb25zdCBERUZBVUxUX1FVRVJZX1NFVFRJTkdTID0gew0KICAgICAgcmVuZGVyTnVsbEFzOiAiXFwtIiwNCiAgICAgIHRhc2tDb21wbGV0aW9uVHJhY2tpbmc6IGZhbHNlLA0KICAgICAgdGFza0NvbXBsZXRpb25Vc2VFbW9qaVNob3J0aGFuZDogZmFsc2UsDQogICAgICB0YXNrQ29tcGxldGlvblRleHQ6ICJjb21wbGV0aW9uIiwNCiAgICAgIHRhc2tDb21wbGV0aW9uRGF0ZUZvcm1hdDogInl5eXktTU0tZGQiLA0KICAgICAgcmVjdXJzaXZlU3ViVGFza0NvbXBsZXRpb246IGZhbHNlLA0KICAgICAgd2Fybk9uRW1wdHlSZXN1bHQ6IHRydWUsDQogICAgICByZWZyZXNoRW5hYmxlZDogdHJ1ZSwNCiAgICAgIHJlZnJlc2hJbnRlcnZhbDogMjUwMCwNCiAgICAgIGRlZmF1bHREYXRlRm9ybWF0OiAiTU1NTSBkZCwgeXl5eSIsDQogICAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6ICJoOm1tIGEgLSBNTU1NIGRkLCB5eXl5IiwNCiAgICAgIG1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoOiA0LA0KICAgICAgdGFibGVJZENvbHVtbk5hbWU6ICJGaWxlIiwNCiAgICAgIHRhYmxlR3JvdXBDb2x1bW5OYW1lOiAiR3JvdXAiLA0KICAgICAgc2hvd1Jlc3VsdENvdW50OiB0cnVlLA0KICB9Ow0KICBjb25zdCBERUZBVUxUX0VYUE9SVF9TRVRUSU5HUyA9IHsNCiAgICAgIGFsbG93SHRtbDogdHJ1ZSwNCiAgfTsNCiAgLyoqIERlZmF1bHQgc2V0dGluZ3MgZm9yIGRhdGF2aWV3IG9uIGluc3RhbGwuICovDQogICh7DQogICAgICAuLi5ERUZBVUxUX1FVRVJZX1NFVFRJTkdTLA0KICAgICAgLi4uREVGQVVMVF9FWFBPUlRfU0VUVElOR1MsDQogICAgICAuLi57DQogICAgICAgICAgaW5saW5lUXVlcnlQcmVmaXg6ICI9IiwNCiAgICAgICAgICBpbmxpbmVKc1F1ZXJ5UHJlZml4OiAiJD0iLA0KICAgICAgICAgIGlubGluZVF1ZXJpZXNJbkNvZGVibG9ja3M6IHRydWUsDQogICAgICAgICAgZW5hYmxlSW5saW5lRGF0YXZpZXc6IHRydWUsDQogICAgICAgICAgZW5hYmxlRGF0YXZpZXdKczogZmFsc2UsDQogICAgICAgICAgZW5hYmxlSW5saW5lRGF0YXZpZXdKczogZmFsc2UsDQogICAgICAgICAgcHJldHR5UmVuZGVySW5saW5lRmllbGRzOiB0cnVlLA0KICAgICAgICAgIGRhdGF2aWV3SnNLZXl3b3JkOiAiZGF0YXZpZXdqcyIsDQogICAgICB9LA0KICB9KTsKCiAgLyoqIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLiAqLw0KICBjbGFzcyBTdWNjZXNzIHsNCiAgICAgIGNvbnN0cnVjdG9yKHZhbHVlKSB7DQogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOw0KICAgICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IHRydWU7DQogICAgICB9DQogICAgICBtYXAoZikgew0KICAgICAgICAgIHJldHVybiBuZXcgU3VjY2VzcyhmKHRoaXMudmFsdWUpKTsNCiAgICAgIH0NCiAgICAgIGZsYXRNYXAoZikgew0KICAgICAgICAgIHJldHVybiBmKHRoaXMudmFsdWUpOw0KICAgICAgfQ0KICAgICAgbWFwRXJyKGYpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIGJpbWFwKHN1Y2MsIF9mYWlsKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubWFwKHN1Y2MpOw0KICAgICAgfQ0KICAgICAgb3JFbHNlKF92YWx1ZSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlOw0KICAgICAgfQ0KICAgICAgY2FzdCgpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIG9yRWxzZVRocm93KF9tZXNzYWdlKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7DQogICAgICB9DQogIH0NCiAgLyoqIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLiAqLw0KICBjbGFzcyBGYWlsdXJlIHsNCiAgICAgIGNvbnN0cnVjdG9yKGVycm9yKSB7DQogICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yOw0KICAgICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlOw0KICAgICAgfQ0KICAgICAgbWFwKF9mKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICB9DQogICAgICBmbGF0TWFwKF9mKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICB9DQogICAgICBtYXBFcnIoZikgew0KICAgICAgICAgIHJldHVybiBuZXcgRmFpbHVyZShmKHRoaXMuZXJyb3IpKTsNCiAgICAgIH0NCiAgICAgIGJpbWFwKF9zdWNjLCBmYWlsKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpOw0KICAgICAgfQ0KICAgICAgb3JFbHNlKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICAgICAgfQ0KICAgICAgY2FzdCgpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIG9yRWxzZVRocm93KG1lc3NhZ2UpIHsNCiAgICAgICAgICBpZiAobWVzc2FnZSkNCiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UodGhpcy5lcnJvcikpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCIiICsgdGhpcy5lcnJvcik7DQogICAgICB9DQogIH0NCiAgLyoqIE1vbmFkaWMgJ1Jlc3VsdCcgdHlwZSB3aGljaCBlbmNhcHN1bGF0ZXMgd2hldGhlciBhIHByb2NlZHVyZSBzdWNjZWVkZWQgb3IgZmFpbGVkLCBhcyB3ZWxsIGFzIGl0J3MgcmV0dXJuIHZhbHVlLiAqLw0KICB2YXIgUmVzdWx0Ow0KICAoZnVuY3Rpb24gKFJlc3VsdCkgew0KICAgICAgLyoqIENvbnN0cnVjdCBhIG5ldyBzdWNjZXNzIHJlc3VsdCB3cmFwcGluZyB0aGUgZ2l2ZW4gdmFsdWUuICovDQogICAgICBmdW5jdGlvbiBzdWNjZXNzKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTsNCiAgICAgIH0NCiAgICAgIFJlc3VsdC5zdWNjZXNzID0gc3VjY2VzczsNCiAgICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgZmFpbHVyZSB2YWx1ZSB3cmFwcGluZyB0aGUgZ2l2ZW4gZXJyb3IuICovDQogICAgICBmdW5jdGlvbiBmYWlsdXJlKGVycm9yKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTsNCiAgICAgIH0NCiAgICAgIFJlc3VsdC5mYWlsdXJlID0gZmFpbHVyZTsNCiAgICAgIC8qKiBKb2luIHR3byByZXN1bHRzIHdpdGggYSBiaS1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IHJlc3VsdC4gKi8NCiAgICAgIGZ1bmN0aW9uIGZsYXRNYXAyKGZpcnN0LCBzZWNvbmQsIGYpIHsNCiAgICAgICAgICBpZiAoZmlyc3Quc3VjY2Vzc2Z1bCkgew0KICAgICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpDQogICAgICAgICAgICAgICAgICByZXR1cm4gZihmaXJzdC52YWx1ZSwgc2Vjb25kLnZhbHVlKTsNCiAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoc2Vjb25kLmVycm9yKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmYWlsdXJlKGZpcnN0LmVycm9yKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBSZXN1bHQuZmxhdE1hcDIgPSBmbGF0TWFwMjsNCiAgICAgIC8qKiBKb2luIHR3byByZXN1bHRzIHdpdGggYSBiaS1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IHJlc3VsdC4gKi8NCiAgICAgIGZ1bmN0aW9uIG1hcDIoZmlyc3QsIHNlY29uZCwgZikgew0KICAgICAgICAgIHJldHVybiBmbGF0TWFwMihmaXJzdCwgc2Vjb25kLCAoYSwgYikgPT4gc3VjY2VzcyhmKGEsIGIpKSk7DQogICAgICB9DQogICAgICBSZXN1bHQubWFwMiA9IG1hcDI7DQogIH0pKFJlc3VsdCB8fCAoUmVzdWx0ID0ge30pKTsKCiAgdmFyIGNvbW1vbmpzR2xvYmFsID0gdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsVGhpcyA6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge307CgogIHZhciBwYXJzaW1tb25fdW1kX21pbiA9IHtleHBvcnRzOiB7fX07CgogIChmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7CiAgIWZ1bmN0aW9uKG4sdCl7bW9kdWxlLmV4cG9ydHM9dCgpO30oInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6Y29tbW9uanNHbG9iYWwsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9e307ZnVuY3Rpb24gcihlKXtpZih0W2VdKXJldHVybiB0W2VdLmV4cG9ydHM7dmFyIHU9dFtlXT17aTplLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIG5bZV0uY2FsbCh1LmV4cG9ydHMsdSx1LmV4cG9ydHMsciksdS5sPSEwLHUuZXhwb3J0c31yZXR1cm4gci5tPW4sci5jPXQsci5kPWZ1bmN0aW9uKG4sdCxlKXtyLm8obix0KXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sdCx7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0OmV9KTt9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7fSxyLm49ZnVuY3Rpb24obil7dmFyIHQ9biYmbi5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIG4uZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gbn07cmV0dXJuIHIuZCh0LCJhIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD0iIixyKHIucz0wKX0oW2Z1bmN0aW9uKG4sdCxyKXtmdW5jdGlvbiBlKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIGUpKXJldHVybiBuZXcgZShuKTt0aGlzLl89bjt9dmFyIHU9ZS5wcm90b3R5cGU7ZnVuY3Rpb24gbyhuLHQpe2Zvcih2YXIgcj0wO3I8bjtyKyspdChyKTt9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KTt9KTt9KGZ1bmN0aW9uKHIsZSx1KXt0PW4odCxyLGUsdSk7fSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4gKG48PDEmNjU1MzUpPj44fSx0KSl9KHIuYnVmKX07fSkscn1mdW5jdGlvbiBjKCl7cmV0dXJuICJ1bmRlZmluZWQiIT10eXBlb2YgQnVmZmVyfWZ1bmN0aW9uIHMoKXtpZighYygpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuIil9ZnVuY3Rpb24gbChuKXtzKCk7dmFyIHQ9aShmdW5jdGlvbihuLHQpe3JldHVybiBuK3R9LDAsbik7aWYodCU4IT0wKXRocm93IG5ldyBFcnJvcigiVGhlIGJpdHMgWyIrbi5qb2luKCIsICIpKyJdIGFkZCB1cCB0byAiK3QrIiB3aGljaCBpcyBub3QgYW4gZXZlbiBudW1iZXIgb2YgYnl0ZXM7IHRoZSB0b3RhbCBzaG91bGQgYmUgZGl2aXNpYmxlIGJ5IDgiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rIiBiaXQgcmFuZ2UgcmVxdWVzdGVkIGV4Y2VlZHMgNDggYml0ICg2IGJ5dGUpIE51bWJlciBtYXguIik7cmV0dXJuIG5ldyBlKGZ1bmN0aW9uKHQscil7dmFyIGU9dStyO3JldHVybiBlPnQubGVuZ3RoP3gocix1LnRvU3RyaW5nKCkrIiBieXRlcyIpOmIoZSxpKGZ1bmN0aW9uKG4sdCl7dmFyIHI9Zih0LG4uYnVmKTtyZXR1cm4ge2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0KyIgYnl0ZXMgZm9yICIrbik6YihlK3Qsci5zbGljZShlLGUrdCkpfSl9ZnVuY3Rpb24gcChuLHQpe2lmKCJudW1iZXIiIT10eXBlb2Yocj10KXx8TWF0aC5mbG9vcihyKSE9PXJ8fHQ8MHx8dD42KXRocm93IG5ldyBFcnJvcihuKyIgcmVxdWlyZXMgaW50ZWdlciBsZW5ndGggaW4gcmFuZ2UgWzAsIDZdLiIpO3ZhciByO31mdW5jdGlvbiBkKG4pe3JldHVybiBwKCJ1aW50QkUiLG4pLGgoInVpbnRCRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkVUludEJFKDAsbil9KX1mdW5jdGlvbiB2KG4pe3JldHVybiBwKCJ1aW50TEUiLG4pLGgoInVpbnRMRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkVUludExFKDAsbil9KX1mdW5jdGlvbiBnKG4pe3JldHVybiBwKCJpbnRCRSIsbiksaCgiaW50QkUoIituKyIpIixuKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVhZEludEJFKDAsbil9KX1mdW5jdGlvbiBtKG4pe3JldHVybiBwKCJpbnRMRSIsbiksaCgiaW50TEUoIituKyIpIixuKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVhZEludExFKDAsbil9KX1mdW5jdGlvbiB5KG4pe3JldHVybiBuIGluc3RhbmNlb2YgZX1mdW5jdGlvbiBFKG4pe3JldHVybiAiW29iamVjdCBBcnJheV0iPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJuIHtzdGF0dXM6ITAsaW5kZXg6bix2YWx1ZTp0LGZ1cnRoZXN0Oi0xLGV4cGVjdGVkOltdfX1mdW5jdGlvbiB4KG4sdCl7cmV0dXJuIEUodCl8fCh0PVt0XSkse3N0YXR1czohMSxpbmRleDotMSx2YWx1ZTpudWxsLGZ1cnRoZXN0Om4sZXhwZWN0ZWQ6dH19ZnVuY3Rpb24gQihuLHQpe2lmKCF0KXJldHVybiBuO2lmKG4uZnVydGhlc3Q+dC5mdXJ0aGVzdClyZXR1cm4gbjt2YXIgcj1uLmZ1cnRoZXN0PT09dC5mdXJ0aGVzdD9mdW5jdGlvbihuLHQpe2lmKGZ1bmN0aW9uKCl7aWYodm9pZCAwIT09ZS5fc3VwcG9ydHNTZXQpcmV0dXJuIGUuX3N1cHBvcnRzU2V0O3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0O3JldHVybiBlLl9zdXBwb3J0c1NldD1uLG59KCkmJkFycmF5LmZyb20pe2Zvcih2YXIgcj1uZXcgU2V0KG4pLHU9MDt1PHQubGVuZ3RoO3UrKylyLmFkZCh0W3VdKTt2YXIgbz1BcnJheS5mcm9tKHIpO3JldHVybiBvLnNvcnQoKSxvfWZvcih2YXIgaT17fSxhPTA7YTxuLmxlbmd0aDthKyspaVtuW2FdXT0hMDtmb3IodmFyIGY9MDtmPHQubGVuZ3RoO2YrKylpW3RbZl1dPSEwO3ZhciBjPVtdO2Zvcih2YXIgcyBpbiBpKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChpLHMpJiZjLnB1c2gocyk7cmV0dXJuIGMuc29ydCgpLGN9KG4uZXhwZWN0ZWQsdC5leHBlY3RlZCk6dC5leHBlY3RlZDtyZXR1cm4ge3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm4ge29mZnNldDp0LGxpbmU6LTEsY29sdW1uOi0xfTtuIGluIGp8fChqW25dPXt9KTtmb3IodmFyIHI9altuXSxlPTAsdT0wLG89MCxpPXQ7aT49MDspe2lmKGkgaW4gcil7ZT1yW2ldLmxpbmUsMD09PW8mJihvPXJbaV0ubGluZVN0YXJ0KTticmVha30oIlxuIj09PW4uY2hhckF0KGkpfHwiXHIiPT09bi5jaGFyQXQoaSkmJiJcbiIhPT1uLmNoYXJBdChpKzEpKSYmKHUrKywwPT09byYmKG89aSsxKSksaS0tO312YXIgYT1lK3UsZj10LW87cmV0dXJuIHJbdF09e2xpbmU6YSxsaW5lU3RhcnQ6b30se29mZnNldDp0LGxpbmU6YSsxLGNvbHVtbjpmKzF9fWZ1bmN0aW9uIF8obil7aWYoIXkobikpdGhyb3cgbmV3IEVycm9yKCJub3QgYSBwYXJzZXI6ICIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVybiAic3RyaW5nIj09dHlwZW9mIG4/bi5jaGFyQXQodCk6blt0XX1mdW5jdGlvbiBPKG4pe2lmKCJudW1iZXIiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoIm5vdCBhIG51bWJlcjogIituKX1mdW5jdGlvbiBrKG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcigibm90IGEgZnVuY3Rpb246ICIrbil9ZnVuY3Rpb24gUChuKXtpZigic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJub3QgYSBzdHJpbmc6ICIrbil9dmFyIHE9MixBPTMsST04LEY9NSpJLE09NCpJLHo9IiAgIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJuIHtmcm9tOm4tdD4wP24tdDowLHRvOm4rcj5lP2U6bityfX1mdW5jdGlvbiBEKG4sdCl7dmFyIHIsZSx1LG8sZixjPXQuaW5kZXgscz1jLm9mZnNldCxsPTE7aWYocz09PW4ubGVuZ3RoKXJldHVybiAiR290IHRoZSBlbmQgb2YgdGhlIGlucHV0IjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsIjAiKX0sbil9LGZ1bmN0aW9uKG4sdCl7dmFyIHI9bi5sZW5ndGgsZT1bXSx1PTA7aWYocjw9dClyZXR1cm4gW24uc2xpY2UoKV07Zm9yKHZhciBvPTA7bzxyO28rKyllW3VdfHxlLnB1c2goW10pLGVbdV0ucHVzaChuW29dKSwobysxKSV0PT0wJiZ1Kys7cmV0dXJuIGV9KG4uc2xpY2UoZC5mcm9tLGQudG8pLnRvSlNPTigpLmRhdGEsSSkpO289ZnVuY3Rpb24obil7cmV0dXJuIDA9PT1uLmZyb20mJjE9PT1uLnRvP3tmcm9tOm4uZnJvbSx0bzpuLnRvfTp7ZnJvbTpuLmZyb20vSSx0bzpNYXRoLmZsb29yKG4udG8vSSl9fShkKSxlPWgvSSxyPTMqcCxwPj00JiYocis9MSksbD0yLHU9YShmdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg8PTQ/bi5qb2luKCIgIik6bi5zbGljZSgwLDQpLmpvaW4oIiAiKSsiICAiK24uc2xpY2UoNCkuam9pbigiICIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mik7fWVsc2Uge3ZhciBnPW4uc3BsaXQoL1xyXG58W1xuXHJcdTIwMjhcdTIwMjldLyk7cj1jLmNvbHVtbi0xLGU9Yy5saW5lLTEsbz1XKGUscSxBLGcubGVuZ3RoKSx1PWcuc2xpY2Uoby5mcm9tLG8udG8pLGY9by50by50b1N0cmluZygpLmxlbmd0aDt9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT8iPiAiOno7cmV0dXJuIGk9dyhuKT9VKCg4KihvLmZyb20rdSkpLnRvU3RyaW5nKDE2KSxmLCIwIik6VSgoby5mcm9tK3UrMSkudG9TdHJpbmcoKSxmLCIgIiksW10uY29uY2F0KHQsW2MraSsiIHwgIitlXSxhP1t6K1IoIiAiLGYpKyIgfCAiK1UoIiIsciwiICIpK1IoIl4iLGwpXTpbXSl9LFtdLHUpLmpvaW4oIlxuIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybiBbIlxuIiwiLS0gUEFSU0lORyBGQUlMRUQgIitSKCItIiw1MCksIlxuXG4iLEQobix0KSwiXG5cbiIsKHI9dC5leHBlY3RlZCwxPT09ci5sZW5ndGg/IkV4cGVjdGVkOlxuXG4iK3JbMF06IkV4cGVjdGVkIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBcblxuIityLmpvaW4oIiwgIikpLCJcbiJdLmpvaW4oIiIpO3ZhciByO31mdW5jdGlvbiBHKG4pe3JldHVybiB2b2lkIDAhPT1uLmZsYWdzP24uZmxhZ3M6W24uZ2xvYmFsPyJnIjoiIixuLmlnbm9yZUNhc2U/ImkiOiIiLG4ubXVsdGlsaW5lPyJtIjoiIixuLnVuaWNvZGU/InUiOiIiLG4uc3RpY2t5PyJ5IjoiIl0uam9pbigiIil9ZnVuY3Rpb24gQygpe2Zvcih2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyksdD1uLmxlbmd0aCxyPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe2Zvcih2YXIgdSxvPW5ldyBBcnJheSh0KSxpPTA7aTx0O2krPTEpe2lmKCEodT1CKG5baV0uXyhyLGUpLHUpKS5zdGF0dXMpcmV0dXJuIHU7b1tpXT11LnZhbHVlLGU9dS5pbmRleDt9cmV0dXJuIEIoYihlLG8pLHUpfSl9ZnVuY3Rpb24gSigpe3ZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZigwPT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJzZXFNYXAgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50Iik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoInplcm8gYWx0ZXJuYXRlcyIpO2Zvcih2YXIgcj0wO3I8dDtyKz0xKV8obltyXSk7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGUsdT0wO3U8bi5sZW5ndGg7dSs9MSlpZigoZT1CKG5bdV0uXyh0LHIpLGUpKS5zdGF0dXMpcmV0dXJuIGU7cmV0dXJuIGV9KX1mdW5jdGlvbiBWKG4sdCl7cmV0dXJuIEgobix0KS5vcihYKFtdKSl9ZnVuY3Rpb24gSChuLHQpe3JldHVybiBfKG4pLF8odCksSihuLHQudGhlbihuKS5tYW55KCksZnVuY3Rpb24obix0KXtyZXR1cm4gW25dLmNvbmNhdCh0KX0pfWZ1bmN0aW9uIEsobil7UChuKTt2YXIgdD0iJyIrbisiJyI7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT1lK24ubGVuZ3RoLG89ci5zbGljZShlLHUpO3JldHVybiBvPT09bj9iKHUsbyk6eChlLHQpfSl9ZnVuY3Rpb24gUShuLHQpeyFmdW5jdGlvbihuKXtpZighKG4gaW5zdGFuY2VvZiBSZWdFeHApKXRocm93IG5ldyBFcnJvcigibm90IGEgcmVnZXhwOiAiK24pO2Zvcih2YXIgdD1HKG4pLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGU9dC5jaGFyQXQocik7aWYoImkiIT09ZSYmIm0iIT09ZSYmInUiIT09ZSYmInMiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnICInK2UrJyI6ICcrbil9fShuKSxhcmd1bWVudHMubGVuZ3RoPj0yP08odCk6dD0wO3ZhciByPWZ1bmN0aW9uKG4pe3JldHVybiBSZWdFeHAoIl4oPzoiK24uc291cmNlKyIpIixHKG4pKX0obiksdT0iIituO3JldHVybiBlKGZ1bmN0aW9uKG4sZSl7dmFyIG89ci5leGVjKG4uc2xpY2UoZSkpO2lmKG8pe2lmKDA8PXQmJnQ8PW8ubGVuZ3RoKXt2YXIgaT1vWzBdLGE9b1t0XTtyZXR1cm4gYihlK2kubGVuZ3RoLGEpfXJldHVybiB4KGUsInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvICIrby5sZW5ndGgrIikgaW4gIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT0iIixlfSk7aWYoInN0cmluZyI9PXR5cGVvZiBuKXJldHVybiBaKEsobikpO2lmKG4gaW5zdGFuY2VvZiBSZWdFeHApcmV0dXJuIFooUShuKSk7dGhyb3cgbmV3IEVycm9yKCJub3QgYSBzdHJpbmcsIHJlZ2V4cCwgb3IgcGFyc2VyOiAiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCAiJyt1KyciJyk6YihyLG51bGwpfSl9ZnVuY3Rpb24gbm4obil7cmV0dXJuIGsobiksZShmdW5jdGlvbih0LHIpe3ZhciBlPUwodCxyKTtyZXR1cm4gcjx0Lmxlbmd0aCYmbihlKT9iKHIrMSxlKTp4KHIsImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgIituKX0pfWZ1bmN0aW9uIHRuKG4sdCl7YXJndW1lbnRzLmxlbmd0aDwyJiYodD1uLG49dm9pZCAwKTt2YXIgcj1lKGZ1bmN0aW9uKG4sZSl7cmV0dXJuIHIuXz10KCkuXyxyLl8obixlKX0pO3JldHVybiBuP3IuZGVzYyhuKTpyfWZ1bmN0aW9uIHJuKCl7cmV0dXJuIFkoImZhbnRhc3ktbGFuZC9lbXB0eSIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoInN0cmluZyIhPXR5cGVvZiBuJiYhdyhuKSl0aHJvdyBuZXcgRXJyb3IoIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnQiKTt2YXIgdCxyPXRoaXMuc2tpcChhbikuXyhuLDApO3JldHVybiB0PXIuc3RhdHVzP3tzdGF0dXM6ITAsdmFsdWU6ci52YWx1ZX06e3N0YXR1czohMSxpbmRleDpTKG4sci5mdXJ0aGVzdCksZXhwZWN0ZWQ6ci5leHBlY3RlZH0sZGVsZXRlIGpbbl0sdH0sdS50cnlQYXJzZT1mdW5jdGlvbihuKXt2YXIgdD10aGlzLnBhcnNlKG4pO2lmKHQuc3RhdHVzKXJldHVybiB0LnZhbHVlO3ZhciByPU4obix0KSxlPW5ldyBFcnJvcihyKTt0aHJvdyBlLnR5cGU9IlBhcnNpbW1vbkVycm9yIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKCJpbmZpbml0ZSBsb29wIGRldGVjdGVkIGluIC5tYW55KCkgcGFyc2VyIC0tLSBjYWxsaW5nIC5tYW55KCkgb24gYSBwYXJzZXIgd2hpY2ggY2FuIGFjY2VwdCB6ZXJvIGNoYXJhY3RlcnMgaXMgdXN1YWxseSB0aGUgY2F1c2UiKTtyPXUuaW5kZXgsZS5wdXNoKHUudmFsdWUpO319KX0sdS50aWVXaXRoPWZ1bmN0aW9uKG4pe3JldHVybiBQKG4pLHRoaXMubWFwKGZ1bmN0aW9uKHQpe2lmKGZ1bmN0aW9uKG4pe2lmKCFFKG4pKXRocm93IG5ldyBFcnJvcigibm90IGFuIGFycmF5OiAiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuICIifSl9LHUudGllPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGllV2l0aCgiIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSk7fWZvcig7Zjx0JiYoYT1CKGk9ci5fKGUsdSksYSksaS5zdGF0dXMpO2YrPTEpdT1pLmluZGV4LG8ucHVzaChpLnZhbHVlKTtyZXR1cm4gQihiKHUsbyksYSl9KX0sdS5yZXN1bHQ9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sdS5hdE1vc3Q9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudGltZXMoMCxuKX0sdS5hdExlYXN0PWZ1bmN0aW9uKG4pe3JldHVybiBKKHRoaXMudGltZXMobiksdGhpcy5tYW55KCksZnVuY3Rpb24obix0KXtyZXR1cm4gbi5jb25jYXQodCl9KX0sdS5tYXA9ZnVuY3Rpb24obil7ayhuKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0IoYih1LmluZGV4LG4odS52YWx1ZSkpLHUpOnV9KX0sdS5jb250cmFtYXA9ZnVuY3Rpb24obil7ayhuKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5wYXJzZShuKHIuc2xpY2UoZSkpKTtyZXR1cm4gdS5zdGF0dXM/YihlK3IubGVuZ3RoLHUudmFsdWUpOnV9KX0sdS5wcm9tYXA9ZnVuY3Rpb24obix0KXtyZXR1cm4gayhuKSxrKHQpLHRoaXMuY29udHJhbWFwKG4pLm1hcCh0KX0sdS5za2lwPWZ1bmN0aW9uKG4pe3JldHVybiBDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSl9LHUubWFyaz1mdW5jdGlvbigpe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24obix0LHIpe3JldHVybiB7c3RhcnQ6bix2YWx1ZTp0LGVuZDpyfX0pfSx1Lm5vZGU9ZnVuY3Rpb24obil7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbih0LHIsZSl7cmV0dXJuIHtuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbImZhbnRhc3ktbGFuZC9hcCJdPXUuYXAsdVsiZmFudGFzeS1sYW5kL2NoYWluIl09dS5jaGFpbix1WyJmYW50YXN5LWxhbmQvY29uY2F0Il09dS5jb25jYXQsdVsiZmFudGFzeS1sYW5kL2VtcHR5Il09dS5lbXB0eSx1WyJmYW50YXN5LWxhbmQvb2YiXT11Lm9mLHVbImZhbnRhc3ktbGFuZC9tYXAiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LCJhbnkgY2hhcmFjdGVyL2J5dGUiKTpiKHQrMSxMKG4sdCkpfSksb249ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKG4ubGVuZ3RoLG4uc2xpY2UodCkpfSksYW49ZShmdW5jdGlvbihuLHQpe3JldHVybiB0PG4ubGVuZ3RoP3godCwiRU9GIik6Yih0LG51bGwpfSksZm49USgvWzAtOV0vKS5kZXNjKCJhIGRpZ2l0IiksY249USgvWzAtOV0qLykuZGVzYygib3B0aW9uYWwgZGlnaXRzIiksc249USgvW2Etel0vaSkuZGVzYygiYSBsZXR0ZXIiKSxsbj1RKC9bYS16XSovaSkuZGVzYygib3B0aW9uYWwgbGV0dGVycyIpLGhuPVEoL1xzKi8pLmRlc2MoIm9wdGlvbmFsIHdoaXRlc3BhY2UiKSxwbj1RKC9ccysvKS5kZXNjKCJ3aGl0ZXNwYWNlIiksZG49SygiXHIiKSx2bj1LKCJcbiIpLGduPUsoIlxyXG4iKSxtbj1UKGduLHZuLGRuKS5kZXNjKCJuZXdsaW5lIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pO30ocik7cmV0dXJuIHR9LGUuY3JsZj1nbixlLmN1c3RvbT1mdW5jdGlvbihuKXtyZXR1cm4gZShuKGIseCkpfSxlLmRpZ2l0PWZuLGUuZGlnaXRzPWNuLGUuZW1wdHk9cm4sZS5lbmQ9eW4sZS5lb2Y9YW4sZS5mYWlsPVksZS5mb3JtYXRFcnJvcj1OLGUuaW5kZXg9ZW4sZS5pc1BhcnNlcj15LGUubGF6eT10bixlLmxldHRlcj1zbixlLmxldHRlcnM9bG4sZS5sZj12bixlLmxvb2thaGVhZD1aLGUubWFrZUZhaWx1cmU9eCxlLm1ha2VTdWNjZXNzPWIsZS5uZXdsaW5lPW1uLGUubm9uZU9mPWZ1bmN0aW9uKG4pe3JldHVybiBubihmdW5jdGlvbih0KXtyZXR1cm4gbi5pbmRleE9mKHQpPDB9KS5kZXNjKCJub25lIG9mICciK24rIiciKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoIiIpLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdPSInIit0W3JdKyInIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rIi0iK3QpfSxlLnJlZ2V4PVEsZS5yZWdleHA9USxlLnNlcEJ5PVYsZS5zZXBCeTE9SCxlLnNlcT1DLGUuc2VxTWFwPUosZS5zZXFPYmo9ZnVuY3Rpb24oKXtmb3IodmFyIG4sdD17fSxyPTAsdT0obj1hcmd1bWVudHMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobikpLG89dS5sZW5ndGgsaT0wO2k8bztpKz0xKXt2YXIgYT11W2ldO2lmKCF5KGEpKXtpZihFKGEpJiYyPT09YS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgYVswXSYmeShhWzFdKSl7dmFyIGY9YVswXTtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxmKSl0aHJvdyBuZXcgRXJyb3IoInNlcU9iajogZHVwbGljYXRlIGtleSAiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcigic2VxT2JqIGFyZ3VtZW50cyBtdXN0IGJlIHBhcnNlcnMgb3IgW3N0cmluZywgcGFyc2VyXSBhcnJheSBwYWlycy4iKX19aWYoMD09PXIpdGhyb3cgbmV3IEVycm9yKCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvIik7cmV0dXJuIGUoZnVuY3Rpb24obix0KXtmb3IodmFyIHIsZT17fSxpPTA7aTxvO2krPTEpe3ZhciBhLGY7aWYoRSh1W2ldKT8oYT11W2ldWzBdLGY9dVtpXVsxXSk6KGE9bnVsbCxmPXVbaV0pLCEocj1CKGYuXyhuLHQpLHIpKS5zdGF0dXMpcmV0dXJuIHI7YSYmKGVbYV09ci52YWx1ZSksdD1yLmluZGV4O31yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVsiZmFudGFzeS1sYW5kL2VtcHR5Il09cm4sZVsiZmFudGFzeS1sYW5kL29mIl09WCxlLkJpbmFyeT17Yml0U2VxOmwsYml0U2VxT2JqOmZ1bmN0aW9uKG4pe3MoKTt2YXIgdD17fSxyPTAsZT1hKGZ1bmN0aW9uKG4pe2lmKEUobikpe3ZhciBlPW47aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiWyIrZS5qb2luKCIsICIpKyJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCAiK2UubGVuZ3RoKTtpZihQKGVbMF0pLE8oZVsxXSksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZVswXSkpdGhyb3cgbmV3IEVycm9yKCJkdXBsaWNhdGUga2V5IGluIGJpdFNlcU9iajogIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcigiYml0U2VxT2JqIGV4cGVjdHMgYXQgbGVhc3Qgb25lIG5hbWVkIHBhaXIsIGdvdCBbIituLmpvaW4oIiwgIikrIl0iKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuIFt0LG5bcl1dfSx1KSl9KX0sYnl0ZTpmdW5jdGlvbihuKXtpZihzKCksTyhuKSxuPjI1NSl0aHJvdyBuZXcgRXJyb3IoIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yICgiK24rIj0weCIrbi50b1N0cmluZygxNikrIikgaXMgbGFyZ2VyIGluIHZhbHVlIHRoYW4gYSBzaW5nbGUgYnl0ZS4iKTt2YXIgdD0obj4xNT8iMHgiOiIweDAiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaCgiYnVmZmVyIixuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEJ1ZmZlci5mcm9tKG4pfSl9LGVuY29kZWRTdHJpbmc6ZnVuY3Rpb24obix0KXtyZXR1cm4gaCgic3RyaW5nIix0KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcobil9KX0sdWludEJFOmQsdWludDhCRTpkKDEpLHVpbnQxNkJFOmQoMiksdWludDMyQkU6ZCg0KSx1aW50TEU6dix1aW50OExFOnYoMSksdWludDE2TEU6digyKSx1aW50MzJMRTp2KDQpLGludEJFOmcsaW50OEJFOmcoMSksaW50MTZCRTpnKDIpLGludDMyQkU6Zyg0KSxpbnRMRTptLGludDhMRTptKDEpLGludDE2TEU6bSgyKSxpbnQzMkxFOm0oNCksZmxvYXRCRTpoKCJmbG9hdEJFIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoImZsb2F0TEUiLDQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRmxvYXRMRSgwKX0pLGRvdWJsZUJFOmgoImRvdWJsZUJFIiw4KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZERvdWJsZUJFKDApfSksZG91YmxlTEU6aCgiZG91YmxlTEUiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWU7fV0pfSk7CiAgfShwYXJzaW1tb25fdW1kX21pbikpOwoKICB2YXIgZW1vamlSZWdleCA9ICgpID0+IHsKICAJLy8gaHR0cHM6Ly9tdGhzLmJlL2Vtb2ppCiAgCXJldHVybiAvKD86WyMqMC05XVx1RkUwRj9cdTIwRTN8W1x4QTlceEFFXHUyMDNDXHUyMDQ5XHUyMTIyXHUyMTM5XHUyMTk0LVx1MjE5OVx1MjFBOVx1MjFBQVx1MjMxQVx1MjMxQlx1MjMyOFx1MjNDRlx1MjNFRC1cdTIzRUZcdTIzRjFcdTIzRjJcdTIzRjgtXHUyM0ZBXHUyNEMyXHUyNUFBXHUyNUFCXHUyNUI2XHUyNUMwXHUyNUZCXHUyNUZDXHUyNUZFXHUyNjAwLVx1MjYwNFx1MjYwRVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyQVx1MjYyRVx1MjYyRlx1MjYzOC1cdTI2M0FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjVGXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdCXHUyNjdFXHUyNjdGXHUyNjkyXHUyNjk0LVx1MjY5N1x1MjY5OVx1MjY5Qlx1MjY5Q1x1MjZBMFx1MjZBN1x1MjZBQVx1MjZCMFx1MjZCMVx1MjZCRFx1MjZCRVx1MjZDNFx1MjZDOFx1MjZDRlx1MjZEMVx1MjZEM1x1MjZFOVx1MjZGMC1cdTI2RjVcdTI2RjdcdTI2RjhcdTI2RkFcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MEZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MURcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3QTFcdTI5MzRcdTI5MzVcdTJCMDUtXHUyQjA3XHUyQjFCXHUyQjFDXHUyQjU1XHUzMDMwXHUzMDNEXHUzMjk3XHUzMjk5XVx1RkUwRj98W1x1MjYxRFx1MjcwQ1x1MjcwRF0oPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1MjcwQVx1MjcwQl0oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHUyM0U5LVx1MjNFQ1x1MjNGMFx1MjNGM1x1MjVGRFx1MjY5M1x1MjZBMVx1MjZBQlx1MjZDNVx1MjZDRVx1MjZENFx1MjZFQVx1MjZGRFx1MjcwNVx1MjcyOFx1Mjc0Q1x1Mjc0RVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN0IwXHUyN0JGXHUyQjUwXXxcdTI2RjkoPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xcdTI3NjRcdUZFMEY/KD86XHUyMDBEKD86XHVEODNEXHVERDI1fFx1RDgzRVx1REU3OSkpP3xcdUQ4M0MoPzpbXHVEQzA0XHVERDcwXHVERDcxXHVERDdFXHVERDdGXHVERTAyXHVERTM3XHVERjIxXHVERjI0LVx1REYyQ1x1REYzNlx1REY3RFx1REY5Nlx1REY5N1x1REY5OS1cdURGOUJcdURGOUVcdURGOUZcdURGQ0RcdURGQ0VcdURGRDQtXHVERkRGXHVERkY1XHVERkY3XVx1RkUwRj98W1x1REY4NVx1REZDMlx1REZDN10oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVERkMzXHVERkM0XHVERkNBXSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/KD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1REZDQlx1REZDQ10oPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVEQ0NGXHVERDhFXHVERDkxLVx1REQ5QVx1REUwMVx1REUxQVx1REUyRlx1REUzMi1cdURFMzZcdURFMzgtXHVERTNBXHVERTUwXHVERTUxXHVERjAwLVx1REYyMFx1REYyRC1cdURGMzVcdURGMzctXHVERjdDXHVERjdFLVx1REY4NFx1REY4Ni1cdURGOTNcdURGQTAtXHVERkMxXHVERkM1XHVERkM2XHVERkM4XHVERkM5XHVERkNGLVx1REZEM1x1REZFMC1cdURGRjBcdURGRjgtXHVERkZGXXxcdURERTZcdUQ4M0NbXHVEREU4LVx1RERFQ1x1RERFRVx1RERGMVx1RERGMlx1RERGNFx1RERGNi1cdURERkFcdURERkNcdURERkRcdURERkZdfFx1RERFN1x1RDgzQ1tcdURERTZcdURERTdcdURERTktXHVEREVGXHVEREYxLVx1RERGNFx1RERGNi1cdURERjlcdURERkJcdURERkNcdURERkVcdURERkZdfFx1RERFOFx1RDgzQ1tcdURERTZcdURERThcdURERTlcdURERUItXHVEREVFXHVEREYwLVx1RERGNVx1RERGN1x1RERGQS1cdURERkZdfFx1RERFOVx1RDgzQ1tcdURERUFcdURERUNcdURERUZcdURERjBcdURERjJcdURERjRcdURERkZdfFx1RERFQVx1RDgzQ1tcdURERTZcdURERThcdURERUFcdURERUNcdURERURcdURERjctXHVEREZBXXxcdURERUJcdUQ4M0NbXHVEREVFLVx1RERGMFx1RERGMlx1RERGNFx1RERGN118XHVEREVDXHVEODNDW1x1RERFNlx1RERFN1x1RERFOS1cdURERUVcdURERjEtXHVEREYzXHVEREY1LVx1RERGQVx1RERGQ1x1RERGRV18XHVEREVEXHVEODNDW1x1RERGMFx1RERGMlx1RERGM1x1RERGN1x1RERGOVx1RERGQV18XHVEREVFXHVEODNDW1x1RERFOC1cdURERUFcdURERjEtXHVEREY0XHVEREY2LVx1RERGOV18XHVEREVGXHVEODNDW1x1RERFQVx1RERGMlx1RERGNFx1RERGNV18XHVEREYwXHVEODNDW1x1RERFQVx1RERFQy1cdURERUVcdURERjJcdURERjNcdURERjVcdURERjdcdURERkNcdURERkVcdURERkZdfFx1RERGMVx1RDgzQ1tcdURERTYtXHVEREU4XHVEREVFXHVEREYwXHVEREY3LVx1RERGQlx1RERGRV18XHVEREYyXHVEODNDW1x1RERFNlx1RERFOC1cdURERURcdURERjAtXHVEREZGXXxcdURERjNcdUQ4M0NbXHVEREU2XHVEREU4XHVEREVBLVx1RERFQ1x1RERFRVx1RERGMVx1RERGNFx1RERGNVx1RERGN1x1RERGQVx1RERGRl18XHVEREY0XHVEODNDXHVEREYyfFx1RERGNVx1RDgzQ1tcdURERTZcdURERUEtXHVEREVEXHVEREYwLVx1RERGM1x1RERGNy1cdURERjlcdURERkNcdURERkVdfFx1RERGNlx1RDgzQ1x1RERFNnxcdURERjdcdUQ4M0NbXHVEREVBXHVEREY0XHVEREY4XHVEREZBXHVEREZDXXxcdURERjhcdUQ4M0NbXHVEREU2LVx1RERFQVx1RERFQy1cdURERjRcdURERjctXHVEREY5XHVEREZCXHVEREZELVx1RERGRl18XHVEREY5XHVEODNDW1x1RERFNlx1RERFOFx1RERFOVx1RERFQi1cdURERURcdURERUYtXHVEREY0XHVEREY3XHVEREY5XHVEREZCXHVEREZDXHVEREZGXXxcdURERkFcdUQ4M0NbXHVEREU2XHVEREVDXHVEREYyXHVEREYzXHVEREY4XHVEREZFXHVEREZGXXxcdURERkJcdUQ4M0NbXHVEREU2XHVEREU4XHVEREVBXHVEREVDXHVEREVFXHVEREYzXHVEREZBXXxcdURERkNcdUQ4M0NbXHVEREVCXHVEREY4XXxcdURERkRcdUQ4M0NcdURERjB8XHVEREZFXHVEODNDW1x1RERFQVx1RERGOV18XHVEREZGXHVEODNDW1x1RERFNlx1RERGMlx1RERGQ118XHVERkYzXHVGRTBGPyg/Olx1MjAwRCg/Olx1MjZBN1x1RkUwRj98XHVEODNDXHVERjA4KSk/fFx1REZGNCg/Olx1MjAwRFx1MjYyMFx1RkUwRj98XHVEQjQwXHVEQzY3XHVEQjQwXHVEQzYyXHVEQjQwKD86XHVEQzY1XHVEQjQwXHVEQzZFXHVEQjQwXHVEQzY3fFx1REM3M1x1REI0MFx1REM2M1x1REI0MFx1REM3NHxcdURDNzdcdURCNDBcdURDNkNcdURCNDBcdURDNzMpXHVEQjQwXHVEQzdGKT8pfFx1RDgzRCg/OltcdURDM0ZcdURDRkRcdURENDlcdURENEFcdURENkZcdURENzBcdURENzNcdURENzYtXHVERDc5XHVERDg3XHVERDhBLVx1REQ4RFx1RERBNVx1RERBOFx1RERCMVx1RERCMlx1RERCQ1x1RERDMi1cdUREQzRcdURERDEtXHVEREQzXHVERERDLVx1RERERVx1RERFMVx1RERFM1x1RERFOFx1RERFRlx1RERGM1x1RERGQVx1REVDQlx1REVDRC1cdURFQ0ZcdURFRTAtXHVERUU1XHVERUU5XHVERUYwXHVERUYzXVx1RkUwRj98W1x1REM0Mlx1REM0M1x1REM0Ni1cdURDNTBcdURDNjZcdURDNjdcdURDNkItXHVEQzZEXHVEQzcyXHVEQzc0LVx1REM3Nlx1REM3OFx1REM3Q1x1REM4M1x1REM4NVx1REM4Rlx1REM5MVx1RENBQVx1REQ3QVx1REQ5NVx1REQ5Nlx1REU0Q1x1REU0Rlx1REVDMFx1REVDQ10oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVEQzZFXHVEQzcwXHVEQzcxXHVEQzczXHVEQzc3XHVEQzgxXHVEQzgyXHVEQzg2XHVEQzg3XHVERTQ1LVx1REU0N1x1REU0Qlx1REU0RFx1REU0RVx1REVBM1x1REVCNC1cdURFQjZdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVERDc0XHVERDkwXSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVEQzAwLVx1REMwN1x1REMwOS1cdURDMTRcdURDMTYtXHVEQzNBXHVEQzNDLVx1REMzRVx1REM0MFx1REM0NFx1REM0NVx1REM1MS1cdURDNjVcdURDNkFcdURDNzktXHVEQzdCXHVEQzdELVx1REM4MFx1REM4NFx1REM4OC1cdURDOEVcdURDOTBcdURDOTItXHVEQ0E5XHVEQ0FCLVx1RENGQ1x1RENGRi1cdUREM0RcdURENEItXHVERDRFXHVERDUwLVx1REQ2N1x1RERBNFx1RERGQi1cdURFMkRcdURFMkYtXHVERTM0XHVERTM3LVx1REU0NFx1REU0OC1cdURFNEFcdURFODAtXHVERUEyXHVERUE0LVx1REVCM1x1REVCNy1cdURFQkZcdURFQzEtXHVERUM1XHVERUQwLVx1REVEMlx1REVENS1cdURFRDdcdURFREQtXHVERURGXHVERUVCXHVERUVDXHVERUY0LVx1REVGQ1x1REZFMC1cdURGRUJcdURGRjBdfFx1REMwOCg/Olx1MjAwRFx1MkIxQik/fFx1REMxNSg/Olx1MjAwRFx1RDgzRVx1RERCQSk/fFx1REMzQig/Olx1MjAwRFx1Mjc0NFx1RkUwRj8pP3xcdURDNDFcdUZFMEY/KD86XHUyMDBEXHVEODNEXHVEREU4XHVGRTBGPyk/fFx1REM2OCg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjh8XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEKD86W1x1REM2OFx1REM2OV1cdTIwMERcdUQ4M0QoPzpcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/KXxbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/KXxcdUQ4M0VbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF0pfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFx1REM2OFx1RDgzQ1tcdURGRkMtXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OFx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEXHVEQzY4XHVEODNDW1x1REZGQlx1REZGRC1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCXHVERkZDXHVERkZFXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OFx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEXHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRV0pKSk/KSk/fFx1REM2OSg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9bXHVEQzY4XHVEQzY5XXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0QoPzpbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/fFx1REM2OVx1MjAwRFx1RDgzRCg/Olx1REM2Nig/Olx1MjAwRFx1RDgzRFx1REM2Nik/fFx1REM2Nyg/Olx1MjAwRFx1RDgzRFtcdURDNjZcdURDNjddKT8pKXxcdUQ4M0VbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF0pfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86W1x1REM2OFx1REM2OV18XHVEQzhCXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV0pXHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XVx1RDgzQ1tcdURGRkMtXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XXxcdURDOEJcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XSlcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldXHVEODNDW1x1REZGQlx1REZGRC1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCXHVERkZDXHVERkZFXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XXxcdURDOEJcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XSlcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldXHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCLVx1REZGRV0pKSk/KSk/fFx1REM2Rig/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFx1REQ3NSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFx1REUyRSg/Olx1MjAwRFx1RDgzRFx1RENBOCk/fFx1REUzNSg/Olx1MjAwRFx1RDgzRFx1RENBQik/fFx1REUzNig/Olx1MjAwRFx1RDgzQ1x1REYyQlx1RkUwRj8pPyl8XHVEODNFKD86W1x1REQwQ1x1REQwRlx1REQxOC1cdUREMUZcdUREMzAtXHVERDM0XHVERDM2XHVERDc3XHVEREI1XHVEREI2XHVEREJCXHVEREQyXHVEREQzXHVEREQ1XHVERUMzLVx1REVDNVx1REVGMFx1REVGMi1cdURFRjZdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1REQyNlx1REQzNVx1REQzNy1cdUREMzlcdUREM0RcdUREM0VcdUREQjhcdUREQjlcdUREQ0QtXHVERENGXHVEREQ0XHVEREQ2LVx1RERERF0oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFtcdUREREVcdUREREZdKD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1REQwRFx1REQwRVx1REQxMC1cdUREMTdcdUREMjAtXHVERDI1XHVERDI3LVx1REQyRlx1REQzQVx1REQzRi1cdURENDVcdURENDctXHVERDc2XHVERDc4LVx1RERCNFx1RERCN1x1RERCQVx1RERCQy1cdUREQ0NcdURERDBcdURERTAtXHVEREZGXHVERTcwLVx1REU3NFx1REU3OC1cdURFN0NcdURFODAtXHVERTg2XHVERTkwLVx1REVBQ1x1REVCMC1cdURFQkFcdURFQzAtXHVERUMyXHVERUQwLVx1REVEOVx1REVFMC1cdURFRTddfFx1REQzQyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGP3xcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xcdURERDEoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMSkpfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEKD86XHVEODNEXHVEQzhCXHUyMDBEKT9cdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZDLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQlx1REZGQ1x1REZGRVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZEXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkVdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGODRcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZCLVx1REZGRl0pKSk/KSk/fFx1REVGMSg/Olx1RDgzQyg/Olx1REZGQig/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkMtXHVERkZGXSk/fFx1REZGQyg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXSk/fFx1REZGRCg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkNcdURGRkVcdURGRkZdKT98XHVERkZFKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKT98XHVERkZGKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkVdKT8pKT8pKS9nOwogIH07CgogIC8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi8NCiAgZnVuY3Rpb24gbm9ybWFsaXplRHVyYXRpb24oZHVyKSB7DQogICAgICBpZiAoZHVyID09PSB1bmRlZmluZWQgfHwgZHVyID09PSBudWxsKQ0KICAgICAgICAgIHJldHVybiBkdXI7DQogICAgICByZXR1cm4gZHVyLnNoaWZ0VG9BbGwoKS5ub3JtYWxpemUoKTsNCiAgfQ0KICAvKiogU3RyaXAgdGhlIHRpbWUgY29tcG9uZW50cyBvZiBhIGRhdGUgdGltZSBvYmplY3QuICovDQogIGZ1bmN0aW9uIHN0cmlwVGltZShkdCkgew0KICAgICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIGR0Ow0KICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3Qoew0KICAgICAgICAgIHllYXI6IGR0LnllYXIsDQogICAgICAgICAgbW9udGg6IGR0Lm1vbnRoLA0KICAgICAgICAgIGRheTogZHQuZGF5LA0KICAgICAgfSk7DQogIH0NCiAgLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0RGF0ZShzdHIpIHsNCiAgICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxkezR9KS0oXGR7Mn0pLShcZHsyfSkvLmV4ZWMoc3RyKTsNCiAgICAgIGlmICghZGF0ZU1hdGNoKQ0KICAgICAgICAgIGRhdGVNYXRjaCA9IC8oXGR7NH0pKFxkezJ9KShcZHsyfSkvLmV4ZWMoc3RyKTsNCiAgICAgIGlmIChkYXRlTWF0Y2gpIHsNCiAgICAgICAgICBsZXQgeWVhciA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbMV0pOw0KICAgICAgICAgIGxldCBtb250aCA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbMl0pOw0KICAgICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTsNCiAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXIsIG1vbnRoLCBkYXkgfSk7DQogICAgICB9DQogICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICB9DQogIC8qKiBHZXQgdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBnaXZlbiBwYXRoIChpLmUuLCBsaWtlIGNvbXB1dGluZyAncGF0aC8uLicpLiAqLw0KICBmdW5jdGlvbiBnZXRQYXJlbnRGb2xkZXIocGF0aCkgew0KICAgICAgcmV0dXJuIHBhdGguc3BsaXQoIi8iKS5zbGljZSgwLCAtMSkuam9pbigiLyIpOw0KICB9DQogIC8qKiBHZXQgdGhlICJ0aXRsZSIgZm9yIGEgZmlsZSwgYnkgc3RyaXBwaW5nIG90aGVyIHBhcnRzIG9mIHRoZSBwYXRoIGFzIHdlbGwgYXMgdGhlIGV4dGVuc2lvbi4gKi8NCiAgZnVuY3Rpb24gZ2V0RmlsZVRpdGxlKHBhdGgpIHsNCiAgICAgIGlmIChwYXRoLmluY2x1ZGVzKCIvIikpDQogICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoIi8iKSArIDEpOw0KICAgICAgaWYgKHBhdGguZW5kc1dpdGgoIi5tZCIpKQ0KICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpOw0KICAgICAgcmV0dXJuIHBhdGg7DQogIH0NCiAgLyoqIEdldCB0aGUgZXh0ZW5zaW9uIG9mIGEgZmlsZSBmcm9tIHRoZSBmaWxlIHBhdGguICovDQogIGZ1bmN0aW9uIGdldEV4dGVuc2lvbihwYXRoKSB7DQogICAgICBpZiAoIXBhdGguaW5jbHVkZXMoIi4iKSkNCiAgICAgICAgICByZXR1cm4gIiI7DQogICAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZigiLiIpICsgMSk7DQogIH0NCiAgLyoqIFBhcnNlIGFsbCBzdWJ0YWdzIG91dCBvZiB0aGUgZ2l2ZW4gdGFnLiBJLmUuLCAjaGVsbG8vaS9hbSB3b3VsZCB5aWVsZCBbI2hlbGxvL2kvYW0sICNoZWxsby9pLCAjaGVsbG9dLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWcpIHsNCiAgICAgIGxldCByZXN1bHQgPSBbdGFnXTsNCiAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoIi8iKSkgew0KICAgICAgICAgIHRhZyA9IHRhZy5zdWJzdHJpbmcoMCwgdGFnLmxhc3RJbmRleE9mKCIvIikpOw0KICAgICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0Ow0KICB9DQogIC8qKiBBIHBhcnNpbW1vbiBwYXJzZXIgd2hpY2ggY2Fub25pY2FsaXplcyB2YXJpYWJsZSBuYW1lcyB3aGlsZSBwcm9wZXJseSByZXNwZWN0aW5nIGVtb2ppLiAqLw0KICBjb25zdCBWQVJfTkFNRV9DQU5PTklDQUxJWkVSID0gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgIiIpKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleCgvWzAtOVxwe0xldHRlcn1fLV0rL3UpLm1hcChzdHIgPT4gc3RyLnRvTG9jYWxlTG93ZXJDYXNlKCkpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLndoaXRlc3BhY2UubWFwKF8gPT4gIi0iKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbnkubWFwKF8gPT4gIiIpKQ0KICAgICAgLm1hbnkoKQ0KICAgICAgLm1hcChyZXN1bHQgPT4gcmVzdWx0LmpvaW4oIiIpKTsNCiAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhcmlhYmxlIG5hbWUgaW50byBzb21ldGhpbmcgSlMvcXVlcnkgZnJpZW5kbHkuICovDQogIGZ1bmN0aW9uIGNhbm9uaWNhbGl6ZVZhck5hbWUobmFtZSkgew0KICAgICAgcmV0dXJuIFZBUl9OQU1FX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UobmFtZSk7DQogIH0NCiAgY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVIgPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCAiIikpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4KC9bMC05XHB7TGV0dGVyfV8tXSsvdSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMud2hpdGVzcGFjZS5tYXAoXyA9PiAiICIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFueS5tYXAoXyA9PiAiICIpKQ0KICAgICAgLm1hbnkoKQ0KICAgICAgLm1hcChyZXN1bHQgPT4gew0KICAgICAgcmV0dXJuIHJlc3VsdC5qb2luKCIiKS5zcGxpdCgvXHMrLykuam9pbigiICIpLnRyaW0oKTsNCiAgfSk7DQogIC8qKg0KICAgKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljcw0KICAgKiBob3cgT2JzaWRpYW4gZG9lcyBpdCdzIG5vcm1hbGl6YXRpb24sIGNvbGxhcHNpbmcgcmVwZWF0ZWQgc3BhY2VzIGFuZCBzdHJpcHBpbmcgb3V0IGNvbnRyb2wgY2hhcmFjdGVycy4NCiAgICovDQogIGZ1bmN0aW9uIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsoaGVhZGVyKSB7DQogICAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTsNCiAgfQ0KICAvKiogUmVuZGVyIGEgZHVyYXRpb24gaW4gYSBtaW5pbWFsIGZvcm1hdCB0byBzYXZlIHNwYWNlLiAqLw0KICBmdW5jdGlvbiByZW5kZXJNaW5pbWFsRHVyYXRpb24oZHVyKSB7DQogICAgICBkdXIgPSBub3JtYWxpemVEdXJhdGlvbihkdXIpOw0KICAgICAgLy8gdG9IdW1hbiBvdXRwdXRzIHplcm8gcXVhbnRpdGllcyBlLmcuICIwIHNlY29uZHMiDQogICAgICBkdXIgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhkdXIudG9PYmplY3QoKSkuZmlsdGVyKChbLCBxdWFudGl0eV0pID0+IHF1YW50aXR5ID4gMCkpKTsNCiAgICAgIHJldHVybiBkdXIudG9IdW1hbigpOw0KICB9CgogIHZhciBWYWx1ZXM7DQogIChmdW5jdGlvbiAoVmFsdWVzKSB7DQogICAgICAvKiogQ29udmVydCBhbiBhcmJpdHJhcnkgdmFsdWUgaW50byBhIHJlYXNvbmFibGUsIE1hcmtkb3duLWZyaWVuZGx5IHN0cmluZyBpZiBwb3NzaWJsZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHRvU3RyaW5nKGZpZWxkLCBzZXR0aW5nID0gREVGQVVMVF9RVUVSWV9TRVRUSU5HUywgcmVjdXJzaXZlID0gZmFsc2UpIHsNCiAgICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7DQogICAgICAgICAgaWYgKCF3cmFwcGVkKQ0KICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5yZW5kZXJOdWxsQXM7DQogICAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5yZW5kZXJOdWxsQXM7DQogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsNCiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoNCiAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gIiIgKyB3cmFwcGVkLnZhbHVlOw0KICAgICAgICAgICAgICBjYXNlICJodG1sIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm91dGVySFRNTDsNCiAgICAgICAgICAgICAgY2FzZSAid2lkZ2V0IjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcmtkb3duKCk7DQogICAgICAgICAgICAgIGNhc2UgImxpbmsiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTsNCiAgICAgICAgICAgICAgY2FzZSAiZnVuY3Rpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICI8ZnVuY3Rpb24+IjsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9ICIiOw0KICAgICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gIlsiOw0KICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHdyYXBwZWQudmFsdWUubWFwKGYgPT4gdG9TdHJpbmcoZiwgc2V0dGluZywgdHJ1ZSkpLmpvaW4oIiwgIik7DQogICAgICAgICAgICAgICAgICBpZiAocmVjdXJzaXZlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiXSI7DQogICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgICAgICBjYXNlICJvYmplY3QiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICgieyAiICsNCiAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyh3cmFwcGVkLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGUgPT4gZVswXSArICI6ICIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oIiwgIikgKw0KICAgICAgICAgICAgICAgICAgICAgICIgfSIpOw0KICAgICAgICAgICAgICBjYXNlICJkYXRlIjoNCiAgICAgICAgICAgICAgICAgIGlmICh3cmFwcGVkLnZhbHVlLnNlY29uZCA9PSAwICYmIHdyYXBwZWQudmFsdWUuaG91ciA9PSAwICYmIHdyYXBwZWQudmFsdWUubWludXRlID09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b0Zvcm1hdChzZXR0aW5nLmRlZmF1bHREYXRlRm9ybWF0KTsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLnRvRm9ybWF0KHNldHRpbmcuZGVmYXVsdERhdGVUaW1lRm9ybWF0KTsNCiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlck1pbmltYWxEdXJhdGlvbih3cmFwcGVkLnZhbHVlKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMudG9TdHJpbmcgPSB0b1N0cmluZzsNCiAgICAgIC8qKiBXcmFwIGEgbGl0ZXJhbCB2YWx1ZSBzbyB5b3UgY2FuIHN3aXRjaCBvbiBpdCBlYXNpbHkuICovDQogICAgICBmdW5jdGlvbiB3cmFwVmFsdWUodmFsKSB7DQogICAgICAgICAgaWYgKGlzTnVsbCh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibnVsbCIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc051bWJlcih2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibnVtYmVyIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJzdHJpbmciLCB2YWx1ZTogdmFsIH07DQogICAgICAgICAgZWxzZSBpZiAoaXNCb29sZWFuKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJib29sZWFuIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzRHVyYXRpb24odmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImR1cmF0aW9uIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzRGF0ZSh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZGF0ZSIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc1dpZGdldCh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAid2lkZ2V0IiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImFycmF5IiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibGluayIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJmdW5jdGlvbiIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc0h0bWwodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImh0bWwiLCB2YWx1ZTogdmFsIH07DQogICAgICAgICAgZWxzZSBpZiAoaXNPYmplY3QodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm9iamVjdCIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICB9DQogICAgICBWYWx1ZXMud3JhcFZhbHVlID0gd3JhcFZhbHVlOw0KICAgICAgLyoqIFJlY3Vyc2l2ZWx5IG1hcCBjb21wbGV4IG9iamVjdHMgYXQgdGhlIGxlYXZlcy4gKi8NCiAgICAgIGZ1bmN0aW9uIG1hcExlYXZlcyh2YWwsIGZ1bmMpIHsNCiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWwpKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYXBMZWF2ZXModmFsdWUsIGZ1bmMpOw0KICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkpIHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdOw0KICAgICAgICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWwpDQogICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChtYXBMZWF2ZXModmFsdWUsIGZ1bmMpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmdW5jKHZhbCk7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgVmFsdWVzLm1hcExlYXZlcyA9IG1hcExlYXZlczsNCiAgICAgIC8qKiBDb21wYXJlIHR3byBhcmJpdHJhcnkgSmF2YVNjcmlwdCB2YWx1ZXMuIFByb2R1Y2VzIGEgdG90YWwgb3JkZXJpbmcgb3ZlciBBTlkgcG9zc2libGUgZGF0YXZpZXcgdmFsdWUuICovDQogICAgICBmdW5jdGlvbiBjb21wYXJlVmFsdWUodmFsMSwgdmFsMiwgbGlua05vcm1hbGl6ZXIpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iOw0KICAgICAgICAgIC8vIEhhbmRsZSB1bmRlZmluZWQvbnVsbHMgZmlyc3QuDQogICAgICAgICAgaWYgKHZhbDEgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdmFsMSA9IG51bGw7DQogICAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdmFsMiA9IG51bGw7DQogICAgICAgICAgaWYgKHZhbDEgPT09IG51bGwgJiYgdmFsMiA9PT0gbnVsbCkNCiAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgZWxzZSBpZiAodmFsMSA9PT0gbnVsbCkNCiAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpDQogICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi4NCiAgICAgICAgICBsZXQgd3JhcDEgPSB3cmFwVmFsdWUodmFsMSk7DQogICAgICAgICAgbGV0IHdyYXAyID0gd3JhcFZhbHVlKHZhbDIpOw0KICAgICAgICAgIGlmICh3cmFwMSA9PT0gdW5kZWZpbmVkICYmIHdyYXAyID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICBlbHNlIGlmICh3cmFwMiA9PT0gdW5kZWZpbmVkKQ0KICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAvLyBTaG9ydC1jaXJjdWl0IG9uIGRpZmZlcmVudCB0eXBlcyBvciBvbiByZWZlcmVuY2UgZXF1YWxpdHkuDQogICAgICAgICAgaWYgKHdyYXAxLnR5cGUgIT0gd3JhcDIudHlwZSkNCiAgICAgICAgICAgICAgcmV0dXJuIHdyYXAxLnR5cGUubG9jYWxlQ29tcGFyZSh3cmFwMi50eXBlKTsNCiAgICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAic3RyaW5nIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZS5sb2NhbGVDb21wYXJlKHdyYXAyLnZhbHVlKTsNCiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoNCiAgICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgIGNhc2UgIm51bGwiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOg0KICAgICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICBsZXQgbGluazEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBsaW5rMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZSA9IGxpbmtOb3JtYWxpemVyICE9PSBudWxsICYmIGxpbmtOb3JtYWxpemVyICE9PSB2b2lkIDAgPyBsaW5rTm9ybWFsaXplciA6ICgoeCkgPT4geCk7DQogICAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBjb21wYXJlIGJ5IGZpbGUgbmFtZSBvciBkaXNwbGF5LCBzaW5jZSB0aGF0IHdvdWxkIGJyZWFrIGxpbmsgZXF1YWxpdHkuIENvbXBhcmUgYnkgcGF0aC4NCiAgICAgICAgICAgICAgICAgIGxldCBwYXRoQ29tcGFyZSA9IG5vcm1hbGl6ZShsaW5rMS5wYXRoKS5sb2NhbGVDb21wYXJlKG5vcm1hbGl6ZShsaW5rMi5wYXRoKSk7DQogICAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkNCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aENvbXBhcmU7DQogICAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgdHlwZS4NCiAgICAgICAgICAgICAgICAgIGxldCB0eXBlQ29tcGFyZSA9IGxpbmsxLnR5cGUubG9jYWxlQ29tcGFyZShsaW5rMi50eXBlKTsNCiAgICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0eXBlQ29tcGFyZTsNCiAgICAgICAgICAgICAgICAgIC8vIFRoZW4gY29tcGFyZSBieSBzdWJwYXRoIGV4aXN0ZW5jZS4NCiAgICAgICAgICAgICAgICAgIGlmIChsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmIGxpbmsyLnN1YnBhdGgpDQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgLy8gU2luY2UgYm90aCBoYXZlIGEgc3VicGF0aCwgY29tcGFyZSBieSBzdWJwYXRoLg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICgoX2EgPSBsaW5rMS5zdWJwYXRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAiIikubG9jYWxlQ29tcGFyZSgoX2IgPSBsaW5rMi5zdWJwYXRoKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAiIik7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXAxLnZhbHVlIDwgd3JhcDIudmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICA/IC0xDQogICAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUpDQogICAgICAgICAgICAgICAgICAgICAgICAgID8gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE7DQogICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZSA8IHdyYXAyLnZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgPyAtMQ0KICAgICAgICAgICAgICAgICAgICAgIDogd3JhcDEudmFsdWUuZXF1YWxzKHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICA/IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOw0KICAgICAgICAgICAgICBjYXNlICJhcnJheSI6DQogICAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBmMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IE1hdGgubWluKGYxLmxlbmd0aCwgZjIubGVuZ3RoKTsgaW5kZXgrKykgew0KICAgICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZVZhbHVlKGYxW2luZGV4XSwgZjJbaW5kZXhdKTsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcDsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiBmMS5sZW5ndGggLSBmMi5sZW5ndGg7DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICBsZXQgbzEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpOw0KICAgICAgICAgICAgICAgICAgbGV0IGsyID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMikpOw0KICAgICAgICAgICAgICAgICAgazEuc29ydCgpOw0KICAgICAgICAgICAgICAgICAgazIuc29ydCgpOw0KICAgICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlVmFsdWUoazEsIGsyKTsNCiAgICAgICAgICAgICAgICAgIGlmIChrZXlDb21wYXJlICE9IDApDQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleUNvbXBhcmU7DQogICAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHsNCiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tcCA9IGNvbXBhcmVWYWx1ZShvMVtrZXldLCBvMltrZXldKTsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcDsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICBjYXNlICJ3aWRnZXQiOg0KICAgICAgICAgICAgICBjYXNlICJodG1sIjoNCiAgICAgICAgICAgICAgY2FzZSAiZnVuY3Rpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgVmFsdWVzLmNvbXBhcmVWYWx1ZSA9IGNvbXBhcmVWYWx1ZTsNCiAgICAgIC8qKiBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIERhdGF2ZWl3IHR5cGUgZm9yIGFuIGFyYml0cmFyeSB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHR5cGVPZih2YWwpIHsNCiAgICAgICAgICB2YXIgX2E7DQogICAgICAgICAgcmV0dXJuIChfYSA9IHdyYXBWYWx1ZSh2YWwpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHlwZTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy50eXBlT2YgPSB0eXBlT2Y7DQogICAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyAidHJ1dGh5IiAoaS5lLiwgaXMgbm9uLW51bGwgYW5kIGhhcyBkYXRhIGluIGl0KS4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzVHJ1dGh5KGZpZWxkKSB7DQogICAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpOw0KICAgICAgICAgIGlmICghd3JhcHBlZCkNCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7DQogICAgICAgICAgICAgIGNhc2UgIm51bWJlciI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZSAhPSAwOw0KICAgICAgICAgICAgICBjYXNlICJzdHJpbmciOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gISF3cmFwcGVkLnZhbHVlLnBhdGg7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9NaWxsaXMoKSAhPSAwOw0KICAgICAgICAgICAgICBjYXNlICJkdXJhdGlvbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcygic2Vjb25kcyIpICE9IDA7DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgIGNhc2UgImh0bWwiOg0KICAgICAgICAgICAgICBjYXNlICJ3aWRnZXQiOg0KICAgICAgICAgICAgICBjYXNlICJmdW5jdGlvbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMuaXNUcnV0aHkgPSBpc1RydXRoeTsNCiAgICAgIC8qKiBEZWVwIGNvcHkgYSBmaWVsZC4gKi8NCiAgICAgIGZ1bmN0aW9uIGRlZXBDb3B5KGZpZWxkKSB7DQogICAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiBmaWVsZDsNCiAgICAgICAgICBpZiAoVmFsdWVzLmlzQXJyYXkoZmllbGQpKSB7DQogICAgICAgICAgICAgIHJldHVybiBbXS5jb25jYXQoZmllbGQubWFwKHYgPT4gZGVlcENvcHkodikpKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAoVmFsdWVzLmlzT2JqZWN0KGZpZWxkKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWVsZCkpDQogICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBDb3B5KHZhbHVlKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmaWVsZDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMuZGVlcENvcHkgPSBkZWVwQ29weTsNCiAgICAgIGZ1bmN0aW9uIGlzU3RyaW5nKHZhbCkgew0KICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09ICJzdHJpbmciOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzU3RyaW5nID0gaXNTdHJpbmc7DQogICAgICBmdW5jdGlvbiBpc051bWJlcih2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PSAibnVtYmVyIjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc051bWJlciA9IGlzTnVtYmVyOw0KICAgICAgZnVuY3Rpb24gaXNEYXRlKHZhbCkgew0KICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0RhdGUgPSBpc0RhdGU7DQogICAgICBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbCkgew0KICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEdXJhdGlvbjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0R1cmF0aW9uID0gaXNEdXJhdGlvbjsNCiAgICAgIGZ1bmN0aW9uIGlzTnVsbCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzTnVsbCA9IGlzTnVsbDsNCiAgICAgIGZ1bmN0aW9uIGlzQXJyYXkodmFsKSB7DQogICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsKTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0FycmF5ID0gaXNBcnJheTsNCiAgICAgIGZ1bmN0aW9uIGlzQm9vbGVhbih2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gImJvb2xlYW4iOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzQm9vbGVhbiA9IGlzQm9vbGVhbjsNCiAgICAgIGZ1bmN0aW9uIGlzTGluayh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgTGluazsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0xpbmsgPSBpc0xpbms7DQogICAgICBmdW5jdGlvbiBpc1dpZGdldCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgV2lkZ2V0Ow0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzV2lkZ2V0ID0gaXNXaWRnZXQ7DQogICAgICBmdW5jdGlvbiBpc0h0bWwodmFsKSB7DQogICAgICAgICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0h0bWwgPSBpc0h0bWw7DQogICAgICAvKiogQ2hlY2tzIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhbiBvYmplY3QgKGFuZCBub3QgYW55IG90aGVyIGRhdGF2aWV3LXJlY29nbml6ZWQgb2JqZWN0LWxpa2UgdHlwZSkuICovDQogICAgICBmdW5jdGlvbiBpc09iamVjdCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gKHR5cGVvZiB2YWwgPT0gIm9iamVjdCIgJiYNCiAgICAgICAgICAgICAgIWlzSHRtbCh2YWwpICYmDQogICAgICAgICAgICAgICFpc1dpZGdldCh2YWwpICYmDQogICAgICAgICAgICAgICFpc0FycmF5KHZhbCkgJiYNCiAgICAgICAgICAgICAgIWlzRHVyYXRpb24odmFsKSAmJg0KICAgICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiYNCiAgICAgICAgICAgICAgIWlzTGluayh2YWwpICYmDQogICAgICAgICAgICAgIHZhbCAhPT0gdW5kZWZpbmVkICYmDQogICAgICAgICAgICAgICFpc051bGwodmFsKSk7DQogICAgICB9DQogICAgICBWYWx1ZXMuaXNPYmplY3QgPSBpc09iamVjdDsNCiAgICAgIGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsKSB7DQogICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gImZ1bmN0aW9uIjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjsNCiAgfSkoVmFsdWVzIHx8IChWYWx1ZXMgPSB7fSkpOw0KICAvLy8vLy8vLy8vLy8vLy8NCiAgLy8gR3JvdXBpbmdzIC8vDQogIC8vLy8vLy8vLy8vLy8vLw0KICB2YXIgR3JvdXBpbmdzOw0KICAoZnVuY3Rpb24gKEdyb3VwaW5ncykgew0KICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzRWxlbWVudEdyb3VwKGVudHJ5KSB7DQogICAgICAgICAgcmV0dXJuIFZhbHVlcy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmICJrZXkiIGluIGVudHJ5ICYmICJyb3dzIiBpbiBlbnRyeTsNCiAgICAgIH0NCiAgICAgIEdyb3VwaW5ncy5pc0VsZW1lbnRHcm91cCA9IGlzRWxlbWVudEdyb3VwOw0KICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovDQogICAgICBmdW5jdGlvbiBpc0dyb3VwaW5nKGVudHJ5KSB7DQogICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbnRyeSkNCiAgICAgICAgICAgICAgaWYgKCFpc0VsZW1lbnRHcm91cChlbGVtZW50KSkNCiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICAgIEdyb3VwaW5ncy5pc0dyb3VwaW5nID0gaXNHcm91cGluZzsNCiAgICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqLw0KICAgICAgZnVuY3Rpb24gY291bnQoZWxlbWVudHMpIHsNCiAgICAgICAgICBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IDA7DQogICAgICAgICAgICAgIGZvciAobGV0IHN1Ymdyb3VwIG9mIGVsZW1lbnRzKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IGNvdW50KHN1Ymdyb3VwLnJvd3MpOw0KICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzLmxlbmd0aDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBHcm91cGluZ3MuY291bnQgPSBjb3VudDsNCiAgfSkoR3JvdXBpbmdzIHx8IChHcm91cGluZ3MgPSB7fSkpOw0KICAvLy8vLy8vLy8vDQogIC8vIExJTksgLy8NCiAgLy8vLy8vLy8vLw0KICAvKiogVGhlIE9ic2lkaWFuICdsaW5rJywgdXNlZCBmb3IgdW5pcXVlbHkgZGVzY3JpYmluZyBhIGZpbGUsIGhlYWRlciwgb3IgYmxvY2suICovDQogIGNsYXNzIExpbmsgew0KICAgICAgY29uc3RydWN0b3IoZmllbGRzKSB7DQogICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpOw0KICAgICAgfQ0KICAgICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBzcGVjaWZpYyBmaWxlLiAqLw0KICAgICAgc3RhdGljIGZpbGUocGF0aCwgZW1iZWQgPSBmYWxzZSwgZGlzcGxheSkgew0KICAgICAgICAgIHJldHVybiBuZXcgTGluayh7DQogICAgICAgICAgICAgIHBhdGgsDQogICAgICAgICAgICAgIGVtYmVkLA0KICAgICAgICAgICAgICBkaXNwbGF5LA0KICAgICAgICAgICAgICBzdWJwYXRoOiB1bmRlZmluZWQsDQogICAgICAgICAgICAgIHR5cGU6ICJmaWxlIiwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgICAgIHN0YXRpYyBpbmZlcihsaW5rcGF0aCwgZW1iZWQgPSBmYWxzZSwgZGlzcGxheSkgew0KICAgICAgICAgIGlmIChsaW5rcGF0aC5pbmNsdWRlcygiI14iKSkgew0KICAgICAgICAgICAgICBsZXQgc3BsaXQgPSBsaW5rcGF0aC5zcGxpdCgiI14iKTsNCiAgICAgICAgICAgICAgcmV0dXJuIExpbmsuYmxvY2soc3BsaXRbMF0sIHNwbGl0WzFdLCBlbWJlZCwgZGlzcGxheSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKCIjIikpIHsNCiAgICAgICAgICAgICAgbGV0IHNwbGl0ID0gbGlua3BhdGguc3BsaXQoIiMiKTsNCiAgICAgICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHNwbGl0WzBdLCBzcGxpdFsxXSwgZW1iZWQsIGRpc3BsYXkpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZSBhbmQgaGVhZGVyIGluIHRoYXQgZmlsZS4gKi8NCiAgICAgIHN0YXRpYyBoZWFkZXIocGF0aCwgaGVhZGVyLCBlbWJlZCwgZGlzcGxheSkgew0KICAgICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC4NCiAgICAgICAgICByZXR1cm4gbmV3IExpbmsoew0KICAgICAgICAgICAgICBwYXRoLA0KICAgICAgICAgICAgICBlbWJlZCwNCiAgICAgICAgICAgICAgZGlzcGxheSwNCiAgICAgICAgICAgICAgc3VicGF0aDogbm9ybWFsaXplSGVhZGVyRm9yTGluayhoZWFkZXIpLA0KICAgICAgICAgICAgICB0eXBlOiAiaGVhZGVyIiwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZSBhbmQgYmxvY2sgaW4gdGhhdCBmaWxlLiAqLw0KICAgICAgc3RhdGljIGJsb2NrKHBhdGgsIGJsb2NrSWQsIGVtYmVkLCBkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHsNCiAgICAgICAgICAgICAgcGF0aCwNCiAgICAgICAgICAgICAgZW1iZWQsDQogICAgICAgICAgICAgIGRpc3BsYXksDQogICAgICAgICAgICAgIHN1YnBhdGg6IGJsb2NrSWQsDQogICAgICAgICAgICAgIHR5cGU6ICJibG9jayIsDQogICAgICAgICAgfSk7DQogICAgICB9DQogICAgICBzdGF0aWMgZnJvbU9iamVjdChvYmplY3QpIHsNCiAgICAgICAgICByZXR1cm4gbmV3IExpbmsob2JqZWN0KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDaGVja3MgZm9yIGxpbmsgZXF1YWxpdHkgKGkuZS4sIHRoYXQgdGhlIGxpbmtzIGFyZSBwb2ludGluZyB0byB0aGUgc2FtZSBleGFjdCBsb2NhdGlvbikuICovDQogICAgICBlcXVhbHMob3RoZXIpIHsNCiAgICAgICAgICBpZiAob3RoZXIgPT0gdW5kZWZpbmVkIHx8IG90aGVyID09IG51bGwpDQogICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICByZXR1cm4gdGhpcy5wYXRoID09IG90aGVyLnBhdGggJiYgdGhpcy50eXBlID09IG90aGVyLnR5cGUgJiYgdGhpcy5zdWJwYXRoID09IG90aGVyLnN1YnBhdGg7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi8NCiAgICAgIHRvU3RyaW5nKCkgew0KICAgICAgICAgIHJldHVybiB0aGlzLm1hcmtkb3duKCk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovDQogICAgICB0b09iamVjdCgpIHsNCiAgICAgICAgICByZXR1cm4geyBwYXRoOiB0aGlzLnBhdGgsIHR5cGU6IHRoaXMudHlwZSwgc3VicGF0aDogdGhpcy5zdWJwYXRoLCBkaXNwbGF5OiB0aGlzLmRpc3BsYXksIGVtYmVkOiB0aGlzLmVtYmVkIH07DQogICAgICB9DQogICAgICAvKiogVXBkYXRlIHRoaXMgbGluayB3aXRoIGEgbmV3IHBhdGguICovDQogICAgICAvL0B0cy1pZ25vcmU7IGVycm9yIGFwcGVhcmVkIGFmdGVyIHVwZGF0aW5nIE9ic2lkaWFuIHRvIDAuMTUuNDsgaXQgYWxzbyB1cGRhdGVkIG90aGVyIHBhY2thZ2VzIGJ1dCBkaWRuJ3Qgc2F5IHdoaWNoDQogICAgICB3aXRoUGF0aChwYXRoKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7DQogICAgICB9DQogICAgICAvKiogUmV0dXJuIGEgbmV3IGxpbmsgd2hpY2ggcG9pbnRzIHRvIHRoZSBzYW1lIGxvY2F0aW9uIGJ1dCB3aXRoIGEgbmV3IGRpc3BsYXkgdmFsdWUuICovDQogICAgICB3aXRoRGlzcGxheShkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgZGlzcGxheSB9KSk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCBhIGZpbGUgbGluayBpbnRvIGEgbGluayB0byBhIHNwZWNpZmljIGhlYWRlci4gKi8NCiAgICAgIHdpdGhIZWFkZXIoaGVhZGVyKSB7DQogICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpOw0KICAgICAgfQ0KICAgICAgLyoqIENvbnZlcnQgYW55IGxpbmsgaW50byBhIGxpbmsgdG8gaXRzIGZpbGUuICovDQogICAgICB0b0ZpbGUoKSB7DQogICAgICAgICAgcmV0dXJuIExpbmsuZmlsZSh0aGlzLnBhdGgsIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhbiBlbWJlZGRlZCBsaW5rLiAqLw0KICAgICAgdG9FbWJlZCgpIHsNCiAgICAgICAgICBpZiAodGhpcy5lbWJlZCkgew0KICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBsaW5rID0gbmV3IExpbmsodGhpcyk7DQogICAgICAgICAgICAgIGxpbmsuZW1iZWQgPSB0cnVlOw0KICAgICAgICAgICAgICByZXR1cm4gbGluazsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqLw0KICAgICAgZnJvbUVtYmVkKCkgew0KICAgICAgICAgIGlmICghdGhpcy5lbWJlZCkgew0KICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBsaW5rID0gbmV3IExpbmsodGhpcyk7DQogICAgICAgICAgICAgIGxpbmsuZW1iZWQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgcmV0dXJuIGxpbms7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi8NCiAgICAgIG1hcmtkb3duKCkgew0KICAgICAgICAgIGxldCByZXN1bHQgPSAodGhpcy5lbWJlZCA/ICIhIiA6ICIiKSArICJbWyIgKyB0aGlzLm9ic2lkaWFuTGluaygpOw0KICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXkpIHsNCiAgICAgICAgICAgICAgcmVzdWx0ICs9ICJ8IiArIHRoaXMuZGlzcGxheTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJlc3VsdCArPSAifCIgKyBnZXRGaWxlVGl0bGUodGhpcy5wYXRoKTsNCiAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAiaGVhZGVyIiB8fCB0aGlzLnR5cGUgPT0gImJsb2NrIikNCiAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiID4gIiArIHRoaXMuc3VicGF0aDsNCiAgICAgICAgICB9DQogICAgICAgICAgcmVzdWx0ICs9ICJdXSI7DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgICAgIC8qKiBDb252ZXJ0IHRoZSBpbm5lciBwYXJ0IG9mIHRoZSBsaW5rIHRvIHNvbWV0aGluZyB0aGF0IE9ic2lkaWFuIGNhbiBvcGVuIC8gdW5kZXJzdGFuZC4gKi8NCiAgICAgIG9ic2lkaWFuTGluaygpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iOw0KICAgICAgICAgIGNvbnN0IGVzY2FwZWQgPSB0aGlzLnBhdGgucmVwbGFjZSgifCIsICJcXHwiKTsNCiAgICAgICAgICBpZiAodGhpcy50eXBlID09ICJoZWFkZXIiKQ0KICAgICAgICAgICAgICByZXR1cm4gZXNjYXBlZCArICIjIiArICgoX2EgPSB0aGlzLnN1YnBhdGgpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXBsYWNlKCJ8IiwgIlxcfCIpKTsNCiAgICAgICAgICBpZiAodGhpcy50eXBlID09ICJibG9jayIpDQogICAgICAgICAgICAgIHJldHVybiBlc2NhcGVkICsgIiNeIiArICgoX2IgPSB0aGlzLnN1YnBhdGgpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5yZXBsYWNlKCJ8IiwgIlxcfCIpKTsNCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiBlc2NhcGVkOw0KICAgICAgfQ0KICAgICAgLyoqIFRoZSBzdHJpcHBlZCBuYW1lIG9mIHRoZSBmaWxlIHRoaXMgbGluayBwb2ludHMgdG8uICovDQogICAgICBmaWxlTmFtZSgpIHsNCiAgICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCkucmVwbGFjZSgiLm1kIiwgIiIpOw0KICAgICAgfQ0KICB9DQogIC8vLy8vLy8vLy8vLy8vLy8vDQogIC8vIFdJREdFVCBCQVNFIC8vDQogIC8vLy8vLy8vLy8vLy8vLy8vDQogIC8qKg0KICAgKiBBIHRyaXZpYWwgYmFzZSBjbGFzcyB3aGljaCBqdXN0IGRlZmluZXMgdGhlICckd2lkZ2V0JyBpZGVudGlmaWVyIHR5cGUuIFN1YnR5cGVzIG9mDQogICAqIHdpZGdldCBhcmUgcmVzcG9uc2libGUgZm9yIGFkZGluZyB3aGF0ZXZlciBtZXRhZGF0YSBpcyByZWxldmFudC4gSWYgeW91IHdhbnQgeW91ciB3aWRnZXQNCiAgICogdG8gaGF2ZSByZW5kZXJpbmcgZnVuY3Rpb25hbGl0eSAod2hpY2ggeW91IHByb2JhYmx5IGRvKSwgeW91IHNob3VsZCBleHRlbmQgYFJlbmRlcldpZGdldGAuDQogICAqLw0KICBjbGFzcyBXaWRnZXQgew0KICAgICAgY29uc3RydWN0b3IoJHdpZGdldCkgew0KICAgICAgICAgIHRoaXMuJHdpZGdldCA9ICR3aWRnZXQ7DQogICAgICB9DQogIH0NCiAgLyoqIEEgdHJpdmlhbCB3aWRnZXQgd2hpY2ggcmVuZGVycyBhIChrZXksIHZhbHVlKSBwYWlyLCBhbmQgYWxsb3dzIGFjY2Vzc2luZyB0aGUga2V5IGFuZCB2YWx1ZS4gKi8NCiAgY2xhc3MgTGlzdFBhaXJXaWRnZXQgZXh0ZW5kcyBXaWRnZXQgew0KICAgICAgY29uc3RydWN0b3Ioa2V5LCB2YWx1ZSkgew0KICAgICAgICAgIHN1cGVyKCJkYXRhdmlldzpsaXN0LXBhaXIiKTsNCiAgICAgICAgICB0aGlzLmtleSA9IGtleTsNCiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7DQogICAgICB9DQogICAgICBtYXJrZG93bigpIHsNCiAgICAgICAgICByZXR1cm4gYCR7VmFsdWVzLnRvU3RyaW5nKHRoaXMua2V5KX06ICR7VmFsdWVzLnRvU3RyaW5nKHRoaXMudmFsdWUpfWA7DQogICAgICB9DQogIH0NCiAgLyoqIEEgc2ltcGxlIHdpZGdldCB3aGljaCByZW5kZXJzIGFuIGV4dGVybmFsIGxpbmsuICovDQogIGNsYXNzIEV4dGVybmFsTGlua1dpZGdldCBleHRlbmRzIFdpZGdldCB7DQogICAgICBjb25zdHJ1Y3Rvcih1cmwsIGRpc3BsYXkpIHsNCiAgICAgICAgICBzdXBlcigiZGF0YXZpZXc6ZXh0ZXJuYWwtbGluayIpOw0KICAgICAgICAgIHRoaXMudXJsID0gdXJsOw0KICAgICAgICAgIHRoaXMuZGlzcGxheSA9IGRpc3BsYXk7DQogICAgICB9DQogICAgICBtYXJrZG93bigpIHsNCiAgICAgICAgICB2YXIgX2E7DQogICAgICAgICAgcmV0dXJuIGBbJHsoX2EgPSB0aGlzLmRpc3BsYXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRoaXMudXJsfV0oJHt0aGlzLnVybH0pYDsNCiAgICAgIH0NCiAgfQ0KICB2YXIgV2lkZ2V0czsNCiAgKGZ1bmN0aW9uIChXaWRnZXRzKSB7DQogICAgICAvKiogQ3JlYXRlIGEgbGlzdCBwYWlyIHdpZGdldCBtYXRjaGluZyB0aGUgZ2l2ZW4ga2V5IGFuZCB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIGxpc3RQYWlyKGtleSwgdmFsdWUpIHsNCiAgICAgICAgICByZXR1cm4gbmV3IExpc3RQYWlyV2lkZ2V0KGtleSwgdmFsdWUpOw0KICAgICAgfQ0KICAgICAgV2lkZ2V0cy5saXN0UGFpciA9IGxpc3RQYWlyOw0KICAgICAgLyoqIENyZWF0ZSBhbiBleHRlcm5hbCBsaW5rIHdpZGdldCB3aGljaCByZW5kZXJzIGFuIGV4dGVybmFsIE9ic2lkaWFuIGxpbmsuICovDQogICAgICBmdW5jdGlvbiBleHRlcm5hbExpbmsodXJsLCBkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBFeHRlcm5hbExpbmtXaWRnZXQodXJsLCBkaXNwbGF5KTsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuZXh0ZXJuYWxMaW5rID0gZXh0ZXJuYWxMaW5rOw0KICAgICAgLyoqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gd2lkZ2V0IGlzIGEgbGlzdCBwYWlyIHdpZGdldC4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzTGlzdFBhaXIod2lkZ2V0KSB7DQogICAgICAgICAgcmV0dXJuIHdpZGdldC4kd2lkZ2V0ID09PSAiZGF0YXZpZXc6bGlzdC1wYWlyIjsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuaXNMaXN0UGFpciA9IGlzTGlzdFBhaXI7DQogICAgICBmdW5jdGlvbiBpc0V4dGVybmFsTGluayh3aWRnZXQpIHsNCiAgICAgICAgICByZXR1cm4gd2lkZ2V0LiR3aWRnZXQgPT09ICJkYXRhdmlldzpleHRlcm5hbC1saW5rIjsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuaXNFeHRlcm5hbExpbmsgPSBpc0V4dGVybmFsTGluazsNCiAgICAgIC8qKiBEZXRlcm1pbmVzIGlmIHRoZSBnaXZlbiB3aWRnZXQgaXMgYW55IGtpbmQgb2YgYnVpbHQtaW4gd2lkZ2V0IHdpdGggc3BlY2lhbCByZW5kZXJpbmcgaGFuZGxpbmcuICovDQogICAgICBmdW5jdGlvbiBpc0J1aWx0aW4od2lkZ2V0KSB7DQogICAgICAgICAgcmV0dXJuIGlzTGlzdFBhaXIod2lkZ2V0KSB8fCBpc0V4dGVybmFsTGluayh3aWRnZXQpOw0KICAgICAgfQ0KICAgICAgV2lkZ2V0cy5pc0J1aWx0aW4gPSBpc0J1aWx0aW47DQogIH0pKFdpZGdldHMgfHwgKFdpZGdldHMgPSB7fSkpOwoKICAvKiogVXRpbGl0eSBtZXRob2RzIGZvciBjcmVhdGluZyAmIGNvbXBhcmluZyBmaWVsZHMuICovDQogIHZhciBGaWVsZHM7DQogIChmdW5jdGlvbiAoRmllbGRzKSB7DQogICAgICBmdW5jdGlvbiB2YXJpYWJsZShuYW1lKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogInZhcmlhYmxlIiwgbmFtZSB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLnZhcmlhYmxlID0gdmFyaWFibGU7DQogICAgICBmdW5jdGlvbiBsaXRlcmFsKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImxpdGVyYWwiLCB2YWx1ZSB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLmxpdGVyYWwgPSBsaXRlcmFsOw0KICAgICAgZnVuY3Rpb24gYmluYXJ5T3AobGVmdCwgb3AsIHJpZ2h0KSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJpbmFyeW9wIiwgbGVmdCwgb3AsIHJpZ2h0IH07DQogICAgICB9DQogICAgICBGaWVsZHMuYmluYXJ5T3AgPSBiaW5hcnlPcDsNCiAgICAgIGZ1bmN0aW9uIGluZGV4KG9iaiwgaW5kZXgpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiaW5kZXgiLCBvYmplY3Q6IG9iaiwgaW5kZXggfTsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pbmRleCA9IGluZGV4Ow0KICAgICAgLyoqIENvbnZlcnRzIGEgc3RyaW5nIGluIGRvdC1ub3RhdGlvbi1mb3JtYXQgaW50byBhIHZhcmlhYmxlIHdoaWNoIGluZGV4ZXMuICovDQogICAgICBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWUpIHsNCiAgICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KCIuIik7DQogICAgICAgICAgbGV0IHJlc3VsdCA9IEZpZWxkcy52YXJpYWJsZShwYXJ0c1swXSk7DQogICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykgew0KICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuaW5kZXgocmVzdWx0LCBGaWVsZHMubGl0ZXJhbChwYXJ0c1tpbmRleF0pKTsNCiAgICAgICAgICB9DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pbmRleFZhcmlhYmxlID0gaW5kZXhWYXJpYWJsZTsNCiAgICAgIGZ1bmN0aW9uIGxhbWJkYShhcmdzLCB2YWx1ZSkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsYW1iZGEiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07DQogICAgICB9DQogICAgICBGaWVsZHMubGFtYmRhID0gbGFtYmRhOw0KICAgICAgZnVuY3Rpb24gZnVuYyhmdW5jLCBhcmdzKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImZ1bmN0aW9uIiwgZnVuYywgYXJndW1lbnRzOiBhcmdzIH07DQogICAgICB9DQogICAgICBGaWVsZHMuZnVuYyA9IGZ1bmM7DQogICAgICBmdW5jdGlvbiBsaXN0KHZhbHVlcykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaXN0IiwgdmFsdWVzIH07DQogICAgICB9DQogICAgICBGaWVsZHMubGlzdCA9IGxpc3Q7DQogICAgICBmdW5jdGlvbiBvYmplY3QodmFsdWVzKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm9iamVjdCIsIHZhbHVlcyB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLm9iamVjdCA9IG9iamVjdDsNCiAgICAgIGZ1bmN0aW9uIG5lZ2F0ZShjaGlsZCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJuZWdhdGVkIiwgY2hpbGQgfTsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5uZWdhdGUgPSBuZWdhdGU7DQogICAgICBmdW5jdGlvbiBpc0NvbXBhcmVPcChvcCkgew0KICAgICAgICAgIHJldHVybiBvcCA9PSAiPD0iIHx8IG9wID09ICI8IiB8fCBvcCA9PSAiPiIgfHwgb3AgPT0gIj49IiB8fCBvcCA9PSAiIT0iIHx8IG9wID09ICI9IjsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pc0NvbXBhcmVPcCA9IGlzQ29tcGFyZU9wOw0KICAgICAgRmllbGRzLk5VTEwgPSBGaWVsZHMubGl0ZXJhbChudWxsKTsNCiAgfSkoRmllbGRzIHx8IChGaWVsZHMgPSB7fSkpOwoKICAvKiogQVNUIGltcGxlbWVudGF0aW9uIGZvciBxdWVyaWVzIG92ZXIgZGF0YSBzb3VyY2VzLiAqLw0KICAvKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgc291cmNlcy4gKi8NCiAgdmFyIFNvdXJjZXM7DQogIChmdW5jdGlvbiAoU291cmNlcykgew0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBzZWFyY2hlcyBmcm9tIGEgdGFnLiAqLw0KICAgICAgZnVuY3Rpb24gdGFnKHRhZykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJ0YWciLCB0YWcgfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMudGFnID0gdGFnOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBmZXRjaGVzIGZyb20gYSBDU1YgZmlsZS4gKi8NCiAgICAgIGZ1bmN0aW9uIGNzdihwYXRoKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImNzdiIsIHBhdGggfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMuY3N2ID0gY3N2Ow0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBzZWFyY2hlcyBmb3IgZmlsZXMgdW5kZXIgYSBmb2xkZXIgcHJlZml4LiAqLw0KICAgICAgZnVuY3Rpb24gZm9sZGVyKHByZWZpeCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJmb2xkZXIiLCBmb2xkZXI6IHByZWZpeCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5mb2xkZXIgPSBmb2xkZXI7DQogICAgICAvKiogQ3JlYXRlIGEgc291cmNlIHdoaWNoIHNlYXJjaGVzIGZvciBmaWxlcyB3aGljaCBsaW5rIHRvL2Zyb20gYSBnaXZlbiBmaWxlLiAqLw0KICAgICAgZnVuY3Rpb24gbGluayhmaWxlLCBpbmNvbWluZykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaW5rIiwgZmlsZSwgZGlyZWN0aW9uOiBpbmNvbWluZyA/ICJpbmNvbWluZyIgOiAib3V0Z29pbmciIH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmxpbmsgPSBsaW5rOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBqb2lucyB0d28gc291cmNlcyBieSBhIGxvZ2ljYWwgb3BlcmF0b3IgKGFuZC9vcikuICovDQogICAgICBmdW5jdGlvbiBiaW5hcnlPcChsZWZ0LCBvcCwgcmlnaHQpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiYmluYXJ5b3AiLCBsZWZ0LCBvcCwgcmlnaHQgfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMuYmluYXJ5T3AgPSBiaW5hcnlPcDsNCiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggdGFrZXMgdGhlIGludGVyc2VjdGlvbiBvZiB0d28gc291cmNlcy4gKi8NCiAgICAgIGZ1bmN0aW9uIGFuZChsZWZ0LCByaWdodCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJiaW5hcnlvcCIsIGxlZnQsIG9wOiAiJiIsIHJpZ2h0IH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmFuZCA9IGFuZDsNCiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggdGFrZXMgdGhlIHVuaW9uIG9mIHR3byBzb3VyY2VzLiAqLw0KICAgICAgZnVuY3Rpb24gb3IobGVmdCwgcmlnaHQpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiYmluYXJ5b3AiLCBsZWZ0LCBvcDogInwiLCByaWdodCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5vciA9IG9yOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBuZWdhdGVzIHRoZSB1bmRlcmx5aW5nIHNvdXJjZS4gKi8NCiAgICAgIGZ1bmN0aW9uIG5lZ2F0ZShjaGlsZCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJuZWdhdGUiLCBjaGlsZCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5uZWdhdGUgPSBuZWdhdGU7DQogICAgICBmdW5jdGlvbiBlbXB0eSgpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZW1wdHkiIH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmVtcHR5ID0gZW1wdHk7DQogIH0pKFNvdXJjZXMgfHwgKFNvdXJjZXMgPSB7fSkpOwoKICAvKiogRW1vamkgcmVnZXggd2l0aG91dCBhbnkgYWRkaXRpb25hbCBmbGFncy4gKi8NCiAgY29uc3QgRU1PSklfUkVHRVggPSBuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgIiIpOw0KICAvKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqLw0KICBjb25zdCBEVVJBVElPTl9UWVBFUyA9IHsNCiAgICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSwNCiAgICAgIHllYXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksDQogICAgICB5cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLA0KICAgICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksDQogICAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwNCiAgICAgIG1vbnRoczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwNCiAgICAgIG1vOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLA0KICAgICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLA0KICAgICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLA0KICAgICAgd2Vla3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIHdrOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksDQogICAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIHc6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIGRheTogRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSksDQogICAgICBkYXlzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSwNCiAgICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLA0KICAgICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLA0KICAgICAgaG91cnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIGhyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksDQogICAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIGg6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIG1pbnV0ZTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksDQogICAgICBtaW51dGVzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwNCiAgICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksDQogICAgICBtaW5zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwNCiAgICAgIG06IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLA0KICAgICAgc2Vjb25kOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwNCiAgICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLA0KICAgICAgc2VjOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwNCiAgICAgIHNlY3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLA0KICAgICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksDQogIH07DQogIC8qKiBTaG9ydGhhbmQgZm9yIGNvbW1vbiBkYXRlcyAocmVsYXRpdmUgdG8gcmlnaHQgbm93KS4gKi8NCiAgY29uc3QgREFURV9TSE9SVEhBTkRTID0gew0KICAgICAgbm93OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLA0KICAgICAgdG9kYXk6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZigiZGF5IiksDQogICAgICB5ZXN0ZXJkYXk6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkNCiAgICAgICAgICAuc3RhcnRPZigiZGF5IikNCiAgICAgICAgICAubWludXMoRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSkpLA0KICAgICAgdG9tb3Jyb3c6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkNCiAgICAgICAgICAuc3RhcnRPZigiZGF5IikNCiAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksDQogICAgICBzb3c6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZigid2VlayIpLA0KICAgICAgInN0YXJ0LW9mLXdlZWsiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoIndlZWsiKSwNCiAgICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigid2VlayIpLA0KICAgICAgImVuZC1vZi13ZWVrIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigid2VlayIpLA0KICAgICAgc295OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoInllYXIiKSwNCiAgICAgICJzdGFydC1vZi15ZWFyIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ5ZWFyIiksDQogICAgICBlb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoInllYXIiKSwNCiAgICAgICJlbmQtb2YteWVhciI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoInllYXIiKSwNCiAgICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJtb250aCIpLA0KICAgICAgInN0YXJ0LW9mLW1vbnRoIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJtb250aCIpLA0KICAgICAgZW9tOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKCJtb250aCIpLA0KICAgICAgImVuZC1vZi1tb250aCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoIm1vbnRoIiksDQogIH07DQogIC8qKg0KICAgKiBLZXl3b3JkcyB3aGljaCBjYW5ub3QgYmUgdXNlZCBhcyB2YXJpYWJsZXMgZGlyZWN0bHkuIFVzZSBgcm93Ljx0aGluZz5gIGlmIGl0IGlzIGEgdmFyaWFibGUgeW91IGhhdmUgZGVmaW5lZCBhbmQgd2FudA0KICAgKiB0byBhY2Nlc3MuDQogICAqLw0KICBjb25zdCBLRVlXT1JEUyA9IFsiRlJPTSIsICJXSEVSRSIsICJMSU1JVCIsICJHUk9VUCIsICJGTEFUVEVOIl07DQogIC8vLy8vLy8vLy8vLy8vLw0KICAvLyBVdGlsaXRpZXMgLy8NCiAgLy8vLy8vLy8vLy8vLy8vDQogIC8qKiBTcGxpdCBvbiB1bmVzY2FwZWQgcGlwZXMgaW4gYW4gaW5uZXIgbGluay4gKi8NCiAgZnVuY3Rpb24gc3BsaXRPblVuZXNjYXBlZFBpcGUobGluaykgew0KICAgICAgbGV0IHBpcGUgPSAtMTsNCiAgICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZigifCIsIHBpcGUgKyAxKSkgPj0gMCkgew0KICAgICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSAiXFwiKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICByZXR1cm4gW2xpbmsuc3Vic3RyaW5nKDAsIHBpcGUpLnJlcGxhY2UoL1xcXHwvZywgInwiKSwgbGluay5zdWJzdHJpbmcocGlwZSArIDEpXTsNCiAgICAgIH0NCiAgICAgIHJldHVybiBbbGluay5yZXBsYWNlKC9cXFx8L2csICJ8IiksIHVuZGVmaW5lZF07DQogIH0NCiAgLyoqIEF0dGVtcHQgdG8gcGFyc2UgdGhlIGluc2lkZSBvZiBhIGxpbmsgdG8gcHVsbCBvdXQgZGlzcGxheSBuYW1lLCBzdWJwYXRoLCBldGMuICovDQogIGZ1bmN0aW9uIHBhcnNlSW5uZXJMaW5rKHJhd2xpbmspIHsNCiAgICAgIGxldCBbbGluaywgZGlzcGxheV0gPSBzcGxpdE9uVW5lc2NhcGVkUGlwZShyYXdsaW5rKTsNCiAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTsNCiAgfQ0KICAvKiogQ3JlYXRlIGEgbGVmdC1hc3NvY2lhdGl2ZSBiaW5hcnkgcGFyc2VyIHdoaWNoIHBhcnNlcyB0aGUgZ2l2ZW4gc3ViLWVsZW1lbnQgYW5kIHNlcGFyYXRvci4gSGFuZGxlcyB3aGl0ZXNwYWNlLiAqLw0KICBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXIoY2hpbGQsIHNlcCwgY29tYmluZSkgew0KICAgICAgcmV0dXJuIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKGNoaWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHNlcCwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBjaGlsZCkubWFueSgpLCAoZmlyc3QsIHJlc3QpID0+IHsNCiAgICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkNCiAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0Ow0KICAgICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7DQogICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHJlc3QubGVuZ3RoOyBpbmRleCsrKSB7DQogICAgICAgICAgICAgIG5vZGUgPSBjb21iaW5lKG5vZGUsIHJlc3RbaW5kZXhdWzFdLCByZXN0W2luZGV4XVszXSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiBub2RlOw0KICAgICAgfSk7DQogIH0NCiAgZnVuY3Rpb24gY2hhaW5PcHQoYmFzZSwgLi4uZnVuY3MpIHsNCiAgICAgIHJldHVybiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmN1c3RvbSgoc3VjY2VzcywgZmFpbHVyZSkgPT4gew0KICAgICAgICAgIHJldHVybiAoaW5wdXQsIGkpID0+IHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGJhc2UuXyhpbnB1dCwgaSk7DQogICAgICAgICAgICAgIGlmICghcmVzdWx0LnN0YXR1cykNCiAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHsNCiAgICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gZnVuYyhyZXN1bHQudmFsdWUpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7DQogICAgICAgICAgICAgICAgICBpZiAoIW5leHQuc3RhdHVzKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgICAgICAgICByZXN1bHQgPSBuZXh0Ow0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgfTsNCiAgICAgIH0pOw0KICB9DQogIGNvbnN0IEVYUFJFU1NJT04gPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmNyZWF0ZUxhbmd1YWdlKHsNCiAgICAgIC8vIEEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyOyB0aGUgZGVjaW1hbCBwb2ludCBpcyBvcHRpb25hbC4NCiAgICAgIG51bWJlcjogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvLT9bMC05XSsoXC5bMC05XSspPy8pDQogICAgICAgICAgLm1hcChzdHIgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSkNCiAgICAgICAgICAuZGVzYygibnVtYmVyIiksDQogICAgICAvLyBBIHF1b3RlLXN1cnJvdW5kZWQgc3RyaW5nIHdoaWNoIHN1cHBvcnRzIGVzY2FwZSBjaGFyYWN0ZXJzICgnXCcpLg0KICAgICAgc3RyaW5nOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCciJykNCiAgICAgICAgICAudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmVzY2FwZUNoYXJhY3RlciwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5ub25lT2YoJyJcXCcpKQ0KICAgICAgICAgIC5hdExlYXN0KDApDQogICAgICAgICAgLm1hcChjaGFycyA9PiBjaGFycy5qb2luKCIiKSkpDQogICAgICAgICAgLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoJyInKSkNCiAgICAgICAgICAuZGVzYygic3RyaW5nIiksDQogICAgICBlc2NhcGVDaGFyYWN0ZXI6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIlxcIikNCiAgICAgICAgICAudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFueSkNCiAgICAgICAgICAubWFwKGVzY2FwZWQgPT4gew0KICAgICAgICAgIC8vIElmIHdlIGFyZSBlc2NhcGluZyBhIGJhY2tzbGFzaCBvciBhIHF1b3RlLCBwYXNzIGluIG9uIGluIGVzY2FwZWQgZm9ybQ0KICAgICAgICAgIGlmIChlc2NhcGVkID09PSAnIicpDQogICAgICAgICAgICAgIHJldHVybiAnIic7DQogICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICJcXCIpDQogICAgICAgICAgICAgIHJldHVybiAiXFwiOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmV0dXJuICJcXCIgKyBlc2NhcGVkOw0KICAgICAgfSksDQogICAgICAvLyBBIGJvb2xlYW4gdHJ1ZS9mYWxzZSB2YWx1ZS4NCiAgICAgIGJvb2w6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL3RydWV8ZmFsc2V8VHJ1ZXxGYWxzZS8pDQogICAgICAgICAgLm1hcChzdHIgPT4gc3RyLnRvTG93ZXJDYXNlKCkgPT0gInRydWUiKQ0KICAgICAgICAgIC5kZXNjKCJib29sZWFuICgndHJ1ZScgb3IgJ2ZhbHNlJykiKSwNCiAgICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLg0KICAgICAgdGFnOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIjIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bXlx1MjAwMC1cdTIwNkZcdTJFMDAtXHUyRTdGJyEiIyQlJigpKissLjo7PD0+P0BeYHt8fX5cW1xdXFxcc10vKS5kZXNjKCJ0ZXh0IikpLm1hbnkoKSwgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbigiIikpLmRlc2MoInRhZyAoJyNoZWxsby9zdHVmZicpIiksDQogICAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLg0KICAgICAgaWRlbnRpZmllcjogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXHB7TGV0dGVyfS91KSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bMC05XHB7TGV0dGVyfV8tXS91KSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSkubWFueSgpLCAoZmlyc3QsIHJlc3QpID0+IGZpcnN0ICsgcmVzdC5qb2luKCIiKSkuZGVzYygidmFyaWFibGUgaWRlbnRpZmllciIpLA0KICAgICAgLy8gQW4gT2JzaWRpYW4gbGluayBvZiB0aGUgZm9ybSBbWzxsaW5rPl1dLg0KICAgICAgbGluazogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXFtcWyhbXlxbXF1dKj8pXF1cXS91LCAxKQ0KICAgICAgICAgIC5tYXAobGlua0lubmVyID0+IHBhcnNlSW5uZXJMaW5rKGxpbmtJbm5lcikpDQogICAgICAgICAgLmRlc2MoImZpbGUgbGluayIpLA0KICAgICAgLy8gQW4gZW1iZWRkYWJsZSBsaW5rIHdoaWNoIGNhbiBzdGFydCB3aXRoICchJy4gVGhpcyBvdmVybGFwcyB3aXRoIHRoZSBub3JtYWwgbmVnYXRpb24gb3BlcmF0b3IsIHNvIGl0IGlzIG9ubHkNCiAgICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLg0KICAgICAgZW1iZWRMaW5rOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIhIikuYXRNb3N0KDEpLCBxLmxpbmssIChwLCBsKSA9PiB7DQogICAgICAgICAgaWYgKHAubGVuZ3RoID4gMCkNCiAgICAgICAgICAgICAgbC5lbWJlZCA9IHRydWU7DQogICAgICAgICAgcmV0dXJuIGw7DQogICAgICB9KS5kZXNjKCJmaWxlIGxpbmsiKSwNCiAgICAgIC8vIEJpbmFyeSBwbHVzIG9yIG1pbnVzIG9wZXJhdG9yLg0KICAgICAgYmluYXJ5UGx1c01pbnVzOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cK3wtLykNCiAgICAgICAgICAubWFwKHN0ciA9PiBzdHIpDQogICAgICAgICAgLmRlc2MoIicrJyBvciAnLSciKSwNCiAgICAgIC8vIEJpbmFyeSB0aW1lcyBvciBkaXZpZGUgb3BlcmF0b3IuDQogICAgICBiaW5hcnlNdWxEaXY6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1wqfFwvfCUvKQ0KICAgICAgICAgIC5tYXAoc3RyID0+IHN0cikNCiAgICAgICAgICAuZGVzYygiJyonIG9yICcvJyBvciAnJSciKSwNCiAgICAgIC8vIEJpbmFyeSBjb21wYXJpc29uIG9wZXJhdG9yLg0KICAgICAgYmluYXJ5Q29tcGFyZU9wOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC8+PXw8PXwhPXw+fDx8PS8pDQogICAgICAgICAgLm1hcChzdHIgPT4gc3RyKQ0KICAgICAgICAgIC5kZXNjKCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8JyIpLA0KICAgICAgLy8gQmluYXJ5IGJvb2xlYW4gY29tYmluYXRpb24gb3BlcmF0b3IuDQogICAgICBiaW5hcnlCb29sZWFuT3A6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL2FuZHxvcnwmfFx8L2kpDQogICAgICAgICAgLm1hcChzdHIgPT4gew0KICAgICAgICAgIGlmIChzdHIudG9Mb3dlckNhc2UoKSA9PSAiYW5kIikNCiAgICAgICAgICAgICAgcmV0dXJuICImIjsNCiAgICAgICAgICBlbHNlIGlmIChzdHIudG9Mb3dlckNhc2UoKSA9PSAib3IiKQ0KICAgICAgICAgICAgICByZXR1cm4gInwiOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmV0dXJuIHN0cjsNCiAgICAgIH0pDQogICAgICAgICAgLmRlc2MoIidhbmQnIG9yICdvciciKSwNCiAgICAgIC8vIEEgZGF0ZSB3aGljaCBjYW4gYmUgWVlZWS1NTVstRERUSEg6bW06c3NdLg0KICAgICAgcm9vdERhdGU6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1xkezR9LyksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCItIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHsNCiAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IE51bWJlci5wYXJzZUludCh5ZWFyKSwgbW9udGg6IE51bWJlci5wYXJzZUludChtb250aCkgfSk7DQogICAgICB9KS5kZXNjKCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10iKSwNCiAgICAgIGRhdGVTaG9ydGhhbmQ6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQoLi4uT2JqZWN0LmtleXMoREFURV9TSE9SVEhBTkRTKQ0KICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKQ0KICAgICAgICAgIC5tYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcpKSwNCiAgICAgIGRhdGU6IHEgPT4gY2hhaW5PcHQocS5yb290RGF0ZSwgKHltKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLSIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIGRheSkgPT4geW0uc2V0KHsgZGF5OiBOdW1iZXIucGFyc2VJbnQoZGF5KSB9KSksICh5bWQpID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJUIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoXywgaG91cikgPT4geW1kLnNldCh7IGhvdXI6IE51bWJlci5wYXJzZUludChob3VyKSB9KSksICh5bWRoKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT4geW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pKSwgKHltZGhtKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIHNlY29uZCkgPT4geW1kaG0uc2V0KHsgc2Vjb25kOiBOdW1iZXIucGFyc2VJbnQoc2Vjb25kKSB9KSksICh5bWRobXMpID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIuIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+IHltZGhtcy5zZXQoeyBtaWxsaXNlY29uZDogTnVtYmVyLnBhcnNlSW50KG1pbGxpc2Vjb25kKSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3VjY2VlZCh5bWRobXMpIC8vIHBhc3MNCiAgICAgICksIChkdCkgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIisiKS5vcihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLSIpKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1xkezEsMn0oOlxkezJ9KT8vKSwgKHBtLCBocikgPT4gZHQuc2V0Wm9uZSgiVVRDIiArIHBtICsgaHIsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJaIiksICgpID0+IGR0LnNldFpvbmUoInV0YyIsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJbIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bMC05QS1aYS16Ky1cL10rL3UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiXSIpLCAoX2EsIHpvbmUsIF9iKSA9PiBkdC5zZXRab25lKHpvbmUsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSkpKQ0KICAgICAgICAgIC5hc3NlcnQoKGR0KSA9PiBkdC5pc1ZhbGlkLCAidmFsaWQgZGF0ZSIpDQogICAgICAgICAgLmRlc2MoImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXSIpLA0KICAgICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS4NCiAgICAgIGRhdGVQbHVzOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHEuZGF0ZVNob3J0aGFuZC5tYXAoZCA9PiBEQVRFX1NIT1JUSEFORFNbZF0oKSksIHEuZGF0ZSkuZGVzYygiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdIG9yIGluIHNob3J0aGFuZCIpLA0KICAgICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLg0KICAgICAgZHVyYXRpb25UeXBlOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KC4uLk9iamVjdC5rZXlzKERVUkFUSU9OX1RZUEVTKQ0KICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKQ0KICAgICAgICAgIC5tYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcpKSwNCiAgICAgIGR1cmF0aW9uOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHEubnVtYmVyLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZHVyYXRpb25UeXBlLCAoY291bnQsIF8sIHQpID0+IERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKHggPT4geCAqIGNvdW50KSkNCiAgICAgICAgICAuc2VwQnkxKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLm9yKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSkpDQogICAgICAgICAgLm1hcChkdXJhdGlvbnMgPT4gZHVyYXRpb25zLnJlZHVjZSgocCwgYykgPT4gcC5wbHVzKGMpKSkNCiAgICAgICAgICAuZGVzYygiZHVyYXRpb24gbGlrZSA0aHIybWluIiksDQogICAgICAvLyBBIHJhdyBudWxsIHZhbHVlLg0KICAgICAgcmF3TnVsbDogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygibnVsbCIpLA0KICAgICAgLy8gU291cmNlIHBhcnNpbmcuDQogICAgICB0YWdTb3VyY2U6IHEgPT4gcS50YWcubWFwKHRhZyA9PiBTb3VyY2VzLnRhZyh0YWcpKSwNCiAgICAgIGNzdlNvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiY3N2KCIpLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5zdHJpbmcsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChfMSwgcGF0aCwgXzIpID0+IFNvdXJjZXMuY3N2KHBhdGgpKSwNCiAgICAgIGxpbmtJbmNvbWluZ1NvdXJjZTogcSA9PiBxLmxpbmsubWFwKGxpbmsgPT4gU291cmNlcy5saW5rKGxpbmsucGF0aCwgdHJ1ZSkpLA0KICAgICAgbGlua091dGdvaW5nU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJvdXRnb2luZygiKS5za2lwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEubGluaywgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBsaW5rLCBfMikgPT4gU291cmNlcy5saW5rKGxpbmsucGF0aCwgZmFsc2UpKSwNCiAgICAgIGZvbGRlclNvdXJjZTogcSA9PiBxLnN0cmluZy5tYXAoc3RyID0+IFNvdXJjZXMuZm9sZGVyKHN0cikpLA0KICAgICAgcGFyZW5zU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIoIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcS5zb3VyY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gZmllbGQpLA0KICAgICAgbmVnYXRlU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCItIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIhIikpLCBxLmF0b21Tb3VyY2UsIChfLCBzb3VyY2UpID0+IFNvdXJjZXMubmVnYXRlKHNvdXJjZSkpLA0KICAgICAgYXRvbVNvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLnBhcmVuc1NvdXJjZSwgcS5uZWdhdGVTb3VyY2UsIHEubGlua091dGdvaW5nU291cmNlLCBxLmxpbmtJbmNvbWluZ1NvdXJjZSwgcS5mb2xkZXJTb3VyY2UsIHEudGFnU291cmNlLCBxLmNzdlNvdXJjZSksDQogICAgICBiaW5hcnlPcFNvdXJjZTogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5hdG9tU291cmNlLCBxLmJpbmFyeUJvb2xlYW5PcC5tYXAocyA9PiBzKSwgU291cmNlcy5iaW5hcnlPcCksDQogICAgICBzb3VyY2U6IHEgPT4gcS5iaW5hcnlPcFNvdXJjZSwNCiAgICAgIC8vIEZpZWxkIHBhcnNpbmcuDQogICAgICB2YXJpYWJsZUZpZWxkOiBxID0+IHEuaWRlbnRpZmllcg0KICAgICAgICAgIC5jaGFpbihyID0+IHsNCiAgICAgICAgICBpZiAoS0VZV09SRFMuaW5jbHVkZXMoci50b1VwcGVyQ2FzZSgpKSkgew0KICAgICAgICAgICAgICByZXR1cm4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5mYWlsKCJWYXJpYWJsZSBmaWVsZHMgY2Fubm90IGJlIGEga2V5d29yZCAoIiArIEtFWVdPUkRTLmpvaW4oIiBvciAiKSArICIpIik7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICByZXR1cm4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdWNjZWVkKEZpZWxkcy52YXJpYWJsZShyKSk7DQogICAgICAgICAgfQ0KICAgICAgfSkNCiAgICAgICAgICAuZGVzYygidmFyaWFibGUiKSwNCiAgICAgIG51bWJlckZpZWxkOiBxID0+IHEubnVtYmVyLm1hcCh2YWwgPT4gRmllbGRzLmxpdGVyYWwodmFsKSkuZGVzYygibnVtYmVyIiksDQogICAgICBzdHJpbmdGaWVsZDogcSA9PiBxLnN0cmluZy5tYXAodmFsID0+IEZpZWxkcy5saXRlcmFsKHZhbCkpLmRlc2MoInN0cmluZyIpLA0KICAgICAgYm9vbEZpZWxkOiBxID0+IHEuYm9vbC5tYXAodmFsID0+IEZpZWxkcy5saXRlcmFsKHZhbCkpLmRlc2MoImJvb2xlYW4iKSwNCiAgICAgIGRhdGVGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiZGF0ZSgiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmRhdGVQbHVzLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChwcmVmaXgsIF8xLCBkYXRlLCBfMiwgcG9zdGZpeCkgPT4gRmllbGRzLmxpdGVyYWwoZGF0ZSkpLmRlc2MoImRhdGUiKSwNCiAgICAgIGR1cmF0aW9uRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoImR1cigiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmR1cmF0aW9uLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChwcmVmaXgsIF8xLCBkdXIsIF8yLCBwb3N0Zml4KSA9PiBGaWVsZHMubGl0ZXJhbChkdXIpKS5kZXNjKCJkdXJhdGlvbiIpLA0KICAgICAgbnVsbEZpZWxkOiBxID0+IHEucmF3TnVsbC5tYXAoXyA9PiBGaWVsZHMuTlVMTCksDQogICAgICBsaW5rRmllbGQ6IHEgPT4gcS5saW5rLm1hcChmID0+IEZpZWxkcy5saXRlcmFsKGYpKSwNCiAgICAgIGxpc3RGaWVsZDogcSA9PiBxLmZpZWxkDQogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpKQ0KICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJbIikuc2tpcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiXSIpKSkNCiAgICAgICAgICAubWFwKGwgPT4gRmllbGRzLmxpc3QobCkpDQogICAgICAgICAgLmRlc2MoImxpc3QgKCdbMSwgMiwgM10nKSIpLA0KICAgICAgb2JqZWN0RmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5pZGVudGlmaWVyLm9yKHEuc3RyaW5nKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIjoiKS50cmltKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEuZmllbGQsIChuYW1lLCBfc2VwLCB2YWx1ZSkgPT4gew0KICAgICAgICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07DQogICAgICB9KQ0KICAgICAgICAgIC5zZXBCeShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLCIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSkNCiAgICAgICAgICAud3JhcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygieyIpLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLnRoZW4ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIn0iKSkpDQogICAgICAgICAgLm1hcCh2YWxzID0+IHsNCiAgICAgICAgICBsZXQgcmVzID0ge307DQogICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykNCiAgICAgICAgICAgICAgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7DQogICAgICAgICAgcmV0dXJuIEZpZWxkcy5vYmplY3QocmVzKTsNCiAgICAgIH0pDQogICAgICAgICAgLmRlc2MoIm9iamVjdCAoJ3sgYTogMSwgYjogMiB9JykiKSwNCiAgICAgIGF0b21JbmxpbmVGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmRhdGUsIHEuZHVyYXRpb24ubWFwKGQgPT4gbm9ybWFsaXplRHVyYXRpb24oZCkpLCBxLnN0cmluZywgcS50YWcsIHEuZW1iZWRMaW5rLCBxLmJvb2wsIHEubnVtYmVyLCBxLnJhd051bGwpLA0KICAgICAgaW5saW5lRmllbGRMaXN0OiBxID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLmxvb2thaGVhZChxLmF0b21JbmxpbmVGaWVsZCkpLA0KICAgICAgaW5saW5lRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5hdG9tSW5saW5lRmllbGQsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PiBbZl0uY29uY2F0KGwpKSwgcS5hdG9tSW5saW5lRmllbGQpLA0KICAgICAgYXRvbUZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KA0KICAgICAgLy8gUGxhY2UgZW1iZWQgbGlua3MgYWJvdmUgbmVnYXRlZCBmaWVsZHMgYXMgdGhleSBhcmUgdGhlIHNwZWNpYWwgcGFyc2VyIGNhc2UgJyFbW3RoaW5nXV0nIGFuZCBhcmUgZ2VuZXJhbGx5IHVuYW1iaWdpb3VzLg0KICAgICAgcS5lbWJlZExpbmsubWFwKGwgPT4gRmllbGRzLmxpdGVyYWwobCkpLCBxLm5lZ2F0ZWRGaWVsZCwgcS5saW5rRmllbGQsIHEubGlzdEZpZWxkLCBxLm9iamVjdEZpZWxkLCBxLmxhbWJkYUZpZWxkLCBxLnBhcmVuc0ZpZWxkLCBxLmJvb2xGaWVsZCwgcS5udW1iZXJGaWVsZCwgcS5zdHJpbmdGaWVsZCwgcS5kYXRlRmllbGQsIHEuZHVyYXRpb25GaWVsZCwgcS5udWxsRmllbGQsIHEudmFyaWFibGVGaWVsZCksDQogICAgICBpbmRleEZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHEuYXRvbUZpZWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmRvdFBvc3RmaXgsIHEuaW5kZXhQb3N0Zml4LCBxLmZ1bmN0aW9uUG9zdGZpeCkubWFueSgpLCAob2JqLCBwb3N0Zml4ZXMpID0+IHsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqOw0KICAgICAgICAgIGZvciAobGV0IHBvc3Qgb2YgcG9zdGZpeGVzKSB7DQogICAgICAgICAgICAgIHN3aXRjaCAocG9zdC50eXBlKSB7DQogICAgICAgICAgICAgICAgICBjYXNlICJkb3QiOg0KICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IEZpZWxkcy5pbmRleChyZXN1bHQsIEZpZWxkcy5saXRlcmFsKHBvc3QuZmllbGQpKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgIGNhc2UgImluZGV4IjoNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuaW5kZXgocmVzdWx0LCBwb3N0LmZpZWxkKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuZnVuYyhyZXN1bHQsIHBvc3QuZmllbGRzKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgfSksDQogICAgICBuZWdhdGVkRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIiEiKSwgcS5pbmRleEZpZWxkLCAoXywgZmllbGQpID0+IEZpZWxkcy5uZWdhdGUoZmllbGQpKS5kZXNjKCJuZWdhdGVkIGZpZWxkIiksDQogICAgICBwYXJlbnNGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZmllbGQsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gZmllbGQpLA0KICAgICAgbGFtYmRhRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5pZGVudGlmaWVyDQogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpKQ0KICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIoIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKSIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCI9PiIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5maWVsZCwgKGlkZW50LCBfaWdub3JlLCB2YWx1ZSkgPT4gew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsYW1iZGEiLCBhcmd1bWVudHM6IGlkZW50LCB2YWx1ZSB9Ow0KICAgICAgfSksDQogICAgICBkb3RQb3N0Zml4OiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIuIiksIHEuaWRlbnRpZmllciwgKF8sIGZpZWxkKSA9PiB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImRvdCIsIGZpZWxkOiBmaWVsZCB9Ow0KICAgICAgfSksDQogICAgICBpbmRleFBvc3RmaXg6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIlsiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmZpZWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJdIiksIChfLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJpbmRleCIsIGZpZWxkIH07DQogICAgICB9KSwNCiAgICAgIGZ1bmN0aW9uUG9zdGZpeDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZmllbGQuc2VwQnkocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSkpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChfLCBfMSwgZmllbGRzLCBfMiwgXzMpID0+IHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZnVuY3Rpb24iLCBmaWVsZHMgfTsNCiAgICAgIH0pLA0KICAgICAgLy8gVGhlIHByZWNlZGVuY2UgaGllcmFyY2h5IG9mIG9wZXJhdG9ycyAtIG11bHRpcGx5L2RpdmlkZSwgYWRkL3N1YnRyYWN0LCBjb21wYXJlLCBhbmQgdGhlbiBib29sZWFuIG9wZXJhdGlvbnMuDQogICAgICBiaW5hcnlNdWxEaXZGaWVsZDogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5pbmRleEZpZWxkLCBxLmJpbmFyeU11bERpdiwgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeVBsdXNNaW51c0ZpZWxkOiBxID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdkZpZWxkLCBxLmJpbmFyeVBsdXNNaW51cywgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeUNvbXBhcmVGaWVsZDogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlQbHVzTWludXNGaWVsZCwgcS5iaW5hcnlDb21wYXJlT3AsIEZpZWxkcy5iaW5hcnlPcCksDQogICAgICBiaW5hcnlCb29sZWFuRmllbGQ6IHEgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5Q29tcGFyZUZpZWxkLCBxLmJpbmFyeUJvb2xlYW5PcCwgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeU9wRmllbGQ6IHEgPT4gcS5iaW5hcnlCb29sZWFuRmllbGQsDQogICAgICBmaWVsZDogcSA9PiBxLmJpbmFyeU9wRmllbGQsDQogIH0pOwoKICAvKiogUGFyc2UgaW5saW5lIGZpZWxkcyBhbmQgb3RoZXIgZW1iZWRkZWQgbWV0YWRhdGEgaW4gYSBsaW5lLiAqLw0KICAvKiogVGhlIHdyYXBwZXIgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBpbmxpbmUgZmllbGQuICovDQogIGNvbnN0IElOTElORV9GSUVMRF9XUkFQUEVSUyA9IE9iamVjdC5mcmVlemUoew0KICAgICAgIlsiOiAiXSIsDQogICAgICAiKCI6ICIpIiwNCiAgfSk7DQogIC8qKg0KICAgKiBGaW5kIGEgbWF0Y2hpbmcgY2xvc2luZyBicmFja2V0IHRoYXQgb2NjdXJzIGF0IG9yIGFmdGVyIGBzdGFydGAsIHJlc3BlY3RpbmcgbmVzdGluZyBhbmQgZXNjYXBlcy4gSWYgZm91bmQsDQogICAqIHJldHVybnMgdGhlIHZhbHVlIGNvbnRhaW5lZCB3aXRoaW4gYW5kIHRoZSBzdHJpbmcgaW5kZXggYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgdmFsdWUuDQogICAqLw0KICBmdW5jdGlvbiBmaW5kQ2xvc2luZyhsaW5lLCBzdGFydCwgb3BlbiwgY2xvc2UpIHsNCiAgICAgIGxldCBuZXN0aW5nID0gMDsNCiAgICAgIGxldCBlc2NhcGVkID0gZmFsc2U7DQogICAgICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGxpbmUubGVuZ3RoOyBpbmRleCsrKSB7DQogICAgICAgICAgbGV0IGNoYXIgPSBsaW5lLmNoYXJBdChpbmRleCk7DQogICAgICAgICAgLy8gQWxsb3dzIGZvciBkb3VibGUgZXNjYXBlcyBsaWtlICdcXCcgdG8gYmUgcmVuZGVyZWQgbm9ybWFsbHkuDQogICAgICAgICAgaWYgKGNoYXIgPT0gIlxcIikgew0KICAgICAgICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQ7DQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBJZiBlc2NhcGVkLCBpZ25vcmUgdGhlIG5leHQgY2hhcmFjdGVyIGZvciBjb21wdXRpbmcgbmVzdGluZywgcmVnYXJkbGVzcyBvZiB3aGF0IGl0IGlzLg0KICAgICAgICAgIGlmIChlc2NhcGVkKSB7DQogICAgICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChjaGFyID09IG9wZW4pDQogICAgICAgICAgICAgIG5lc3RpbmcrKzsNCiAgICAgICAgICBlbHNlIGlmIChjaGFyID09IGNsb3NlKQ0KICAgICAgICAgICAgICBuZXN0aW5nLS07DQogICAgICAgICAgLy8gT25seSBvY2N1cnMgaWYgd2UgYXJlIG9uIGEgY2xvc2UgY2hhcmFjdGVyIGFuZCB0cmhlcmUgaXMgbm8gbW9yZSBuZXN0aW5nLg0KICAgICAgICAgIGlmIChuZXN0aW5nIDwgMCkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBpbmRleCkudHJpbSgpLCBlbmRJbmRleDogaW5kZXggKyAxIH07DQogICAgICAgICAgZXNjYXBlZCA9IGZhbHNlOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgfQ0KICAvKiogRmluZCB0aGUgJzo6JyBzZXBhcmF0b3IgaW4gYW4gaW5saW5lIGZpZWxkLiAqLw0KICBmdW5jdGlvbiBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0KSB7DQogICAgICBsZXQgc2VwID0gbGluZS5pbmRleE9mKCI6OiIsIHN0YXJ0KTsNCiAgICAgIGlmIChzZXAgPCAwKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICByZXR1cm4geyBrZXk6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBzZXApLnRyaW0oKSwgdmFsdWVJbmRleDogc2VwICsgMiB9Ow0KICB9DQogIC8qKiBUcnkgdG8gY29tcGxldGVseSBwYXJzZSBhbiBpbmxpbmUgZmllbGQgc3RhcnRpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiBBc3N1ZW1zIGBzdGFydGAgaXMgb24gYSB3cmFwcGluZyBjaGFyYWN0ZXIuICovDQogIGZ1bmN0aW9uIGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIHN0YXJ0KSB7DQogICAgICBsZXQgb3BlbiA9IGxpbmUuY2hhckF0KHN0YXJ0KTsNCiAgICAgIGxldCBrZXkgPSBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0ICsgMSk7DQogICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIC8vIEZhaWwgdGhlIG1hdGNoIGlmIHdlIGZpbmQgYW55IHNlcGFyYXRvciBjaGFyYWN0ZXJzIChub3QgYWxsb3dlZCBpbiBrZXlzKS4NCiAgICAgIGZvciAobGV0IHNlcCBvZiBPYmplY3Qua2V5cyhJTkxJTkVfRklFTERfV1JBUFBFUlMpLmNvbmNhdChPYmplY3QudmFsdWVzKElOTElORV9GSUVMRF9XUkFQUEVSUykpKSB7DQogICAgICAgICAgaWYgKGtleS5rZXkuaW5jbHVkZXMoc2VwKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIH0NCiAgICAgIGxldCB2YWx1ZSA9IGZpbmRDbG9zaW5nKGxpbmUsIGtleS52YWx1ZUluZGV4LCBvcGVuLCBJTkxJTkVfRklFTERfV1JBUFBFUlNbb3Blbl0pOw0KICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIHJldHVybiB7DQogICAgICAgICAga2V5OiBrZXkua2V5LA0KICAgICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSwNCiAgICAgICAgICBzdGFydDogc3RhcnQsDQogICAgICAgICAgc3RhcnRWYWx1ZToga2V5LnZhbHVlSW5kZXgsDQogICAgICAgICAgZW5kOiB2YWx1ZS5lbmRJbmRleCwNCiAgICAgICAgICB3cmFwcGluZzogb3BlbiwNCiAgICAgIH07DQogIH0NCiAgLyoqIFBhcnNlIGEgdGV4dHVhbCBpbmxpbmUgZmllbGQgdmFsdWUgaW50byBzb21ldGhpbmcgd2UgY2FuIHdvcmsgd2l0aC4gKi8NCiAgZnVuY3Rpb24gcGFyc2VJbmxpbmVWYWx1ZSh2YWx1ZSkgew0KICAgICAgLy8gRW1wdHkgaW5saW5lIHZhbHVlcyAoaS5lLiwgbm8gdGV4dCkgc2hvdWxkIG1hcCB0byBudWxsIHRvIG1hdGNoIGxvbmctdGVybSBEYXRhdmlldyBzZW1hbnRpY3MuDQogICAgICAvLyBOdWxsIGlzIGFsc28gYSBtb3JlIHVuaXZlcnNhbCB0eXBlIHRvIGRlYWwgd2l0aCB0aGFuIHN0cmluZ3MsIHNpbmNlIGFsbCBmdW5jdGlvbnMgYWNjZXB0IG51bGxzLg0KICAgICAgaWYgKHZhbHVlLnRyaW0oKSA9PSAiIikNCiAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgIC8vIFRoZSBzdHJpcHBlZCBsaXRlcmFsIGZpZWxkIHBhcnNlciB1bmRlcnN0YW5kcyBhbGwgb2YgdGhlIG5vbi1hcnJheS9ub24tb2JqZWN0IGZpZWxkcyBhbmQgY2FuIHBhcnNlIHRoZW0gZm9yIHVzLg0KICAgICAgLy8gSW5saW5lIGZpZWxkIG9iamVjdHMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkOyBpbmxpbmUgYXJyYXkgb2JqZWN0cyBoYXZlIHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhcnNlcg0KICAgICAgLy8gc2VwYXJhdGVseS4NCiAgICAgIGxldCBpbmxpbmUgPSBFWFBSRVNTSU9OLmlubGluZUZpZWxkLnBhcnNlKHZhbHVlKTsNCiAgICAgIGlmIChpbmxpbmUuc3RhdHVzKQ0KICAgICAgICAgIHJldHVybiBpbmxpbmUudmFsdWU7DQogICAgICBlbHNlDQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICB9DQogIC8qKiBFeHRyYWN0cyBpbmxpbmUgZmllbGRzIG9mIHRoZSBmb3JtICdba2V5OjogdmFsdWVdJyBmcm9tIGEgbGluZSBvZiB0ZXh0LiBUaGlzIGlzIGRvbmUgaW4gYSByZWxhdGl2ZWx5DQogICAqICJyb2J1c3QiIHdheSB0byBhdm9pZCBmYWlsaW5nIGR1ZSB0byBiYWQgbmVzdGluZyBvciBvdGhlciBpbnRlcmZlcmluZyBNYXJrZG93biBzeW1ib2xzOg0KICAgKg0KICAgKiAtIExvb2sgZm9yIGFueSB3cmFwcGVycyAoJ1snIGFuZCAnKCcpIGluIHRoZSBsaW5lLCB0cnlpbmcgdG8gcGFyc2Ugd2hhdGV2ZXIgY29tZXMgYWZ0ZXIgaXQgYXMgYW4gaW5saW5lIGtleTo6Lg0KICAgKiAtIElmIHN1Y2Nlc3NmdWwsIHNjYW4gdW50aWwgeW91IGZpbmQgYSBtYXRjaGluZyBlbmQgYnJhY2tldCwgYW5kIHBhcnNlIHdoYXRldmVyIHJlbWFpbnMgYXMgYW4gaW5saW5lIHZhbHVlLg0KICAgKi8NCiAgZnVuY3Rpb24gZXh0cmFjdElubGluZUZpZWxkcyhsaW5lLCBpbmNsdWRlVGFza0ZpZWxkcyA9IGZhbHNlKSB7DQogICAgICBsZXQgZmllbGRzID0gW107DQogICAgICBmb3IgKGxldCB3cmFwcGVyIG9mIE9iamVjdC5rZXlzKElOTElORV9GSUVMRF9XUkFQUEVSUykpIHsNCiAgICAgICAgICBsZXQgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyKTsNCiAgICAgICAgICB3aGlsZSAoZm91bmRJbmRleCA+PSAwKSB7DQogICAgICAgICAgICAgIGxldCBwYXJzZWRGaWVsZCA9IGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIGZvdW5kSW5kZXgpOw0KICAgICAgICAgICAgICBpZiAoIXBhcnNlZEZpZWxkKSB7DQogICAgICAgICAgICAgICAgICBmb3VuZEluZGV4ID0gbGluZS5pbmRleE9mKHdyYXBwZXIsIGZvdW5kSW5kZXggKyAxKTsNCiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIGZpZWxkcy5wdXNoKHBhcnNlZEZpZWxkKTsNCiAgICAgICAgICAgICAgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyLCBwYXJzZWRGaWVsZC5lbmQpOw0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGlmIChpbmNsdWRlVGFza0ZpZWxkcykNCiAgICAgICAgICBmaWVsZHMgPSBmaWVsZHMuY29uY2F0KGV4dHJhY3RTcGVjaWFsVGFza0ZpZWxkcyhsaW5lKSk7DQogICAgICBmaWVsZHMuc29ydCgoYSwgYikgPT4gYS5zdGFydCAtIGIuc3RhcnQpOw0KICAgICAgbGV0IGZpbHRlcmVkRmllbGRzID0gW107DQogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgIGlmIChpID09IDAgfHwgZmlsdGVyZWRGaWVsZHNbZmlsdGVyZWRGaWVsZHMubGVuZ3RoIC0gMV0uZW5kIDwgZmllbGRzW2ldLnN0YXJ0KSB7DQogICAgICAgICAgICAgIGZpbHRlcmVkRmllbGRzLnB1c2goZmllbGRzW2ldKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICByZXR1cm4gZmlsdGVyZWRGaWVsZHM7DQogIH0NCiAgLyoqIFZhbGlkYXRlcyB0aGF0IGEgcmF3IGZpZWxkIG5hbWUgaGFzIGEgdmFsaWQgZm9ybS4gKi8NCiAgY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJUID0gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAobmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksICJ1IikpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvWzAtOVxwe0xldHRlcn1cd1xzXy8tXSsvdSkpDQogICAgICAubWFueSgpDQogICAgICAubWFwKHBhcnRzID0+IHBhcnRzLmpvaW4oIiIpKTsNCiAgY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJTRVIgPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvW14wLTlcd1xwe0xldHRlcn1dKi91KQ0KICAgICAgLnRoZW4oRlVMTF9MSU5FX0tFWV9QQVJUKQ0KICAgICAgLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1tfXCp+YF0qL3UpKTsNCiAgLyoqIEF0dGVtcHQgdG8gZXh0cmFjdCBhIGZ1bGwtbGluZSBmaWVsZCAoS2V5OjogVmFsdWUgY29uc3VtaW5nIHRoZSBlbnRpcmUgY29udGVudCBsaW5lKS4gKi8NCiAgZnVuY3Rpb24gZXh0cmFjdEZ1bGxMaW5lRmllbGQodGV4dCkgew0KICAgICAgbGV0IHNlcCA9IGZpbmRTZXBhcmF0b3IodGV4dCwgMCk7DQogICAgICBpZiAoIXNlcCkNCiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgLy8gV2UgbmVlZCB0byBwb3N0LXByb2Nlc3MgdGhlIGtleSB0byBkcm9wIHVubmVjZXNzYXJ5IG9wZW5pbmcgYW5ub3RhdGlvbnMgYXMgd2VsbCBhcw0KICAgICAgLy8gZHJvcCBzdXJyb3VuZGluZyBNYXJrZG93bi4NCiAgICAgIGxldCByZWFsS2V5ID0gRlVMTF9MSU5FX0tFWV9QQVJTRVIucGFyc2Uoc2VwLmtleSk7DQogICAgICBpZiAoIXJlYWxLZXkuc3RhdHVzKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICByZXR1cm4gew0KICAgICAgICAgIGtleTogcmVhbEtleS52YWx1ZSwNCiAgICAgICAgICB2YWx1ZTogdGV4dC5zdWJzdHJpbmcoc2VwLnZhbHVlSW5kZXgpLnRyaW0oKSwNCiAgICAgICAgICBzdGFydDogMCwNCiAgICAgICAgICBzdGFydFZhbHVlOiBzZXAudmFsdWVJbmRleCwNCiAgICAgICAgICBlbmQ6IHRleHQubGVuZ3RoLA0KICAgICAgfTsNCiAgfQ0KICBjb25zdCBDUkVBVEVEX0RBVEVfUkVHRVggPSAvXHV7Mjc5NX1ccyooXGR7NH0tXGR7Mn0tXGR7Mn0pL3U7DQogIGNvbnN0IERVRV9EQVRFX1JFR0VYID0gLyg/Olx1ezFGNEM1fXxcdXsxRjRDNn18XHV7MUY1RDN9XHV7RkUwRn0/KVxzKihcZHs0fS1cZHsyfS1cZHsyfSkvdTsNCiAgY29uc3QgRE9ORV9EQVRFX1JFR0VYID0gL1x1ezI3MDV9XHMqKFxkezR9LVxkezJ9LVxkezJ9KS91Ow0KICBjb25zdCBTQ0hFRFVMRURfREFURV9SRUdFWCA9IC9bXHV7MjNGM31cdXsyMzFCfV1ccyooXGR7NH0tXGR7Mn0tXGR7Mn0pL3U7DQogIGNvbnN0IFNUQVJUX0RBVEVfUkVHRVggPSAvXHV7MUY2RUJ9XHMqKFxkezR9LVxkezJ9LVxkezJ9KS91Ow0KICBjb25zdCBFTU9KSV9SRUdFWEVTID0gWw0KICAgICAgeyByZWdleDogQ1JFQVRFRF9EQVRFX1JFR0VYLCBrZXk6ICJjcmVhdGVkIiB9LA0KICAgICAgeyByZWdleDogU1RBUlRfREFURV9SRUdFWCwga2V5OiAic3RhcnQiIH0sDQogICAgICB7IHJlZ2V4OiBTQ0hFRFVMRURfREFURV9SRUdFWCwga2V5OiAic2NoZWR1bGVkIiB9LA0KICAgICAgeyByZWdleDogRFVFX0RBVEVfUkVHRVgsIGtleTogImR1ZSIgfSwNCiAgICAgIHsgcmVnZXg6IERPTkVfREFURV9SRUdFWCwga2V5OiAiY29tcGxldGlvbiIgfSwNCiAgXTsNCiAgLyoqIFBhcnNlIHNwZWNpYWwgY29tcGxldGVkL2R1ZS9kb25lIHRhc2sgZmllbGRzIHdoaWNoIGFyZSBtYXJrZWQgdmlhIGVtb2ppLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZSkgew0KICAgICAgbGV0IHJlc3VsdHMgPSBbXTsNCiAgICAgIGZvciAobGV0IHsgcmVnZXgsIGtleSB9IG9mIEVNT0pJX1JFR0VYRVMpIHsNCiAgICAgICAgICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWMobGluZSk7DQogICAgICAgICAgaWYgKCFtYXRjaCkNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgcmVzdWx0cy5wdXNoKHsNCiAgICAgICAgICAgICAga2V5LA0KICAgICAgICAgICAgICB2YWx1ZTogbWF0Y2hbMV0sDQogICAgICAgICAgICAgIHN0YXJ0OiBtYXRjaC5pbmRleCwNCiAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogbWF0Y2guaW5kZXggKyAxLA0KICAgICAgICAgICAgICBlbmQ6IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoLA0KICAgICAgICAgICAgICB3cmFwcGluZzogImVtb2ppLXNob3J0aGFuZCIsDQogICAgICAgICAgfSk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0czsNCiAgfQoKICAvKiogQWxsIGV4dHJhY3RlZCBtYXJrZG93biBmaWxlIG1ldGFkYXRhIG9idGFpbmVkIGZyb20gYSBmaWxlLiAqLw0KICBjbGFzcyBQYWdlTWV0YWRhdGEgew0KICAgICAgY29uc3RydWN0b3IocGF0aCwgaW5pdCkgew0KICAgICAgICAgIHRoaXMucGF0aCA9IHBhdGg7DQogICAgICAgICAgdGhpcy5maWVsZHMgPSBuZXcgTWFwKCk7DQogICAgICAgICAgdGhpcy5mcm9udG1hdHRlciA9IHt9Ow0KICAgICAgICAgIHRoaXMudGFncyA9IG5ldyBTZXQoKTsNCiAgICAgICAgICB0aGlzLmFsaWFzZXMgPSBuZXcgU2V0KCk7DQogICAgICAgICAgdGhpcy5saW5rcyA9IFtdOw0KICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7DQogICAgICAgICAgdGhpcy5saXN0cyA9ICh0aGlzLmxpc3RzIHx8IFtdKS5tYXAobCA9PiBuZXcgTGlzdEl0ZW0obCkpOw0KICAgICAgfQ0KICAgICAgLyoqIENhbm9uaWNhbGl6ZSByYXcgbGlua3MgYW5kIG90aGVyIGRhdGEgaW4gcGFydGlhbCBkYXRhIHdpdGggbm9ybWFsaXplcnMsIHJldHVybmluZyBhIGNvbXBsZXRlZCBvYmplY3QuICovDQogICAgICBzdGF0aWMgY2Fub25pY2FsaXplKGRhdGEsIGxpbmtOb3JtYWxpemVyKSB7DQogICAgICAgICAgLy8gTXV0YXRlIHRoZSBkYXRhIGZvciBub3csIHdoaWNoIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEgYnV0Li4uIGFsbCB3ZWxsLg0KICAgICAgICAgIGlmIChkYXRhLmZyb250bWF0dGVyKSB7DQogICAgICAgICAgICAgIGRhdGEuZnJvbnRtYXR0ZXIgPSBWYWx1ZXMubWFwTGVhdmVzKGRhdGEuZnJvbnRtYXR0ZXIsIHQgPT4gVmFsdWVzLmlzTGluayh0KSA/IGxpbmtOb3JtYWxpemVyKHQpIDogdCk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChkYXRhLmZpZWxkcykgew0KICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgZGF0YS5maWVsZHMuZW50cmllcygpKSB7DQogICAgICAgICAgICAgICAgICBkYXRhLmZpZWxkcy5zZXQoa2V5LCBWYWx1ZXMubWFwTGVhdmVzKHZhbHVlLCB0ID0+IChWYWx1ZXMuaXNMaW5rKHQpID8gbGlua05vcm1hbGl6ZXIodCkgOiB0KSkpOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChkYXRhLmxpc3RzKSB7DQogICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgZGF0YS5saXN0cykgew0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGl0ZW0uZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmllbGRzLnNldChrZXksIHZhbHVlLm1hcCh4ID0+IFZhbHVlcy5tYXBMZWF2ZXMoeCwgdCA9PiAoVmFsdWVzLmlzTGluayh0KSA/IGxpbmtOb3JtYWxpemVyKHQpIDogdCkpKSk7DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGRhdGEubGlua3MpIHsNCiAgICAgICAgICAgICAgZGF0YS5saW5rcyA9IGRhdGEubGlua3MubWFwKGwgPT4gbGlua05vcm1hbGl6ZXIobCkpOw0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBUaGlzIGlzIHByZXR0eSB1Z2x5LCBidXQgaXQncyBub3QgcG9zc2libGUgdG8gbm9ybWFsaXplIG9uIHRoZSB3b3JrZXIgdGhyZWFkIHRoYXQgZG9lcyBwYXJzaW5nLg0KICAgICAgICAgIC8vIFRoZSBiZXN0IHdheSB0byBpbXByb3ZlIHRoaXMgaXMgdG8gaW5zdGVhZCBqdXN0IGNhbm9uaWNhbGl6ZSB0aGUgZW50aXJlIGRhdGEgb2JqZWN0OyBJIGNhbiB0cnkgdG8NCiAgICAgICAgICAvLyBvcHRpbWl6ZSBgVmFsdWVzLm1hcExlYXZlc2AgdG8gb25seSBtdXRhdGUgaWYgaXQgYWN0dWFsbHkgY2hhbmdlcyB0aGluZ3MuDQogICAgICAgICAgcmV0dXJuIG5ldyBQYWdlTWV0YWRhdGEoZGF0YS5wYXRoLCBkYXRhKTsNCiAgICAgIH0NCiAgICAgIC8qKiBUaGUgbmFtZSAoYmFzZWQgb24gcGF0aCkgb2YgdGhpcyBmaWxlLiAqLw0KICAgICAgbmFtZSgpIHsNCiAgICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCk7DQogICAgICB9DQogICAgICAvKiogVGhlIGNvbnRhaW5pbmcgZm9sZGVyIChiYXNlZCBvbiBwYXRoKSBvZiB0aGlzIGZpbGUuICovDQogICAgICBmb2xkZXIoKSB7DQogICAgICAgICAgcmV0dXJuIGdldFBhcmVudEZvbGRlcih0aGlzLnBhdGgpOw0KICAgICAgfQ0KICAgICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhpcyBmaWxlIChsaWtlbHkgJ21kJykuICovDQogICAgICBleHRlbnNpb24oKSB7DQogICAgICAgICAgcmV0dXJuIGdldEV4dGVuc2lvbih0aGlzLnBhdGgpOw0KICAgICAgfQ0KICAgICAgLyoqIFJldHVybiBhIHNldCBvZiB0YWdzIEFORCBhbGwgb2YgdGhlaXIgcGFyZW50IHRhZ3MgKHNvICNoZWxsby95ZXMgd291bGQgYmVjb21lICNoZWxsbywgI2hlbGxvL3llcykuICovDQogICAgICBmdWxsVGFncygpIHsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOw0KICAgICAgICAgIGZvciAobGV0IHRhZyBvZiB0aGlzLnRhZ3MpIHsNCiAgICAgICAgICAgICAgZm9yIChsZXQgc3VidGFnIG9mIGV4dHJhY3RTdWJ0YWdzKHRhZykpDQogICAgICAgICAgICAgICAgICByZXN1bHQuYWRkKHN1YnRhZyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCBhbGwgbGlua3MgaW4gdGhpcyBmaWxlIHRvIGZpbGUgbGlua3MuICovDQogICAgICBmaWxlTGlua3MoKSB7DQogICAgICAgICAgLy8gV2Ugd2FudCB0byBtYWtlIHRoZW0gZGlzdGluY3QsIGJ1dCB3aGVyZSBsaW5rcyBhcmUgbm90IHJhdyBsaW5rcyB3ZQ0KICAgICAgICAgIC8vIG5vdyBrZWVwIHRoZSBhZGRpdGlvbmFsIG1ldGFkYXRhLg0KICAgICAgICAgIGxldCBkaXN0aW5jdExpbmtzID0gbmV3IFNldCh0aGlzLmxpbmtzKTsNCiAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkaXN0aW5jdExpbmtzKTsNCiAgICAgIH0NCiAgICAgIC8qKiBNYXAgdGhpcyBtZXRhZGF0YSB0byBhIGZ1bGwgb2JqZWN0OyB1c2VzIHRoZSBpbmRleCBmb3IgYWRkaXRpb25hbCBkYXRhIGxvb2t1cHMuICAqLw0KICAgICAgc2VyaWFsaXplKGluZGV4LCBjYWNoZSkgew0KICAgICAgICAgIC8vIENvbnZlcnQgbGlzdCBpdGVtcyB2aWEgdGhlIGNhbm9uaWNhbGl6YXRpb24gY2FjaGUuDQogICAgICAgICAgbGV0IHJlYWxDYWNoZSA9IGNhY2hlICE9PSBudWxsICYmIGNhY2hlICE9PSB2b2lkIDAgPyBjYWNoZSA6IG5ldyBMaXN0U2VyaWFsaXphdGlvbkNhY2hlKHRoaXMubGlzdHMpOw0KICAgICAgICAgIGxldCByZXN1bHQgPSB7DQogICAgICAgICAgICAgIGZpbGU6IHsNCiAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCwNCiAgICAgICAgICAgICAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIoKSwNCiAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSgpLA0KICAgICAgICAgICAgICAgICAgbGluazogTGluay5maWxlKHRoaXMucGF0aCksDQogICAgICAgICAgICAgICAgICBvdXRsaW5rczogdGhpcy5maWxlTGlua3MoKSwNCiAgICAgICAgICAgICAgICAgIGlubGlua3M6IEFycmF5LmZyb20oaW5kZXgubGlua3MuZ2V0SW52ZXJzZSh0aGlzLnBhdGgpKS5tYXAobCA9PiBMaW5rLmZpbGUobCkpLA0KICAgICAgICAgICAgICAgICAgZXRhZ3M6IEFycmF5LmZyb20odGhpcy50YWdzKSwNCiAgICAgICAgICAgICAgICAgIHRhZ3M6IEFycmF5LmZyb20odGhpcy5mdWxsVGFncygpKSwNCiAgICAgICAgICAgICAgICAgIGFsaWFzZXM6IEFycmF5LmZyb20odGhpcy5hbGlhc2VzKSwNCiAgICAgICAgICAgICAgICAgIGxpc3RzOiB0aGlzLmxpc3RzLm1hcChsID0+IHJlYWxDYWNoZS5nZXQobC5saW5lKSksDQogICAgICAgICAgICAgICAgICB0YXNrczogdGhpcy5saXN0cy5maWx0ZXIobCA9PiAhIWwudGFzaykubWFwKGwgPT4gcmVhbENhY2hlLmdldChsLmxpbmUpKSwNCiAgICAgICAgICAgICAgICAgIGN0aW1lOiB0aGlzLmN0aW1lLA0KICAgICAgICAgICAgICAgICAgY2RheTogc3RyaXBUaW1lKHRoaXMuY3RpbWUpLA0KICAgICAgICAgICAgICAgICAgbXRpbWU6IHRoaXMubXRpbWUsDQogICAgICAgICAgICAgICAgICBtZGF5OiBzdHJpcFRpbWUodGhpcy5tdGltZSksDQogICAgICAgICAgICAgICAgICBzaXplOiB0aGlzLnNpemUsDQogICAgICAgICAgICAgICAgICBzdGFycmVkOiBpbmRleC5zdGFycmVkLnN0YXJyZWQodGhpcy5wYXRoKSwNCiAgICAgICAgICAgICAgICAgIGZyb250bWF0dGVyOiBWYWx1ZXMuZGVlcENvcHkodGhpcy5mcm9udG1hdHRlciksDQogICAgICAgICAgICAgICAgICBleHQ6IHRoaXMuZXh0ZW5zaW9uKCksDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgfTsNCiAgICAgICAgICAvLyBBZGQgdGhlIGN1cnJlbnQgZGF5IGlmIHByZXNlbnQuDQogICAgICAgICAgaWYgKHRoaXMuZGF5KQ0KICAgICAgICAgICAgICByZXN1bHQuZmlsZS5kYXkgPSB0aGlzLmRheTsNCiAgICAgICAgICAvLyBUaGVuIGFwcGVuZCB0aGUgY29tcHV0ZWQgZmllbGRzLg0KICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmZpZWxkcy5lbnRyaWVzKCkpIHsNCiAgICAgICAgICAgICAgaWYgKGtleSBpbiByZXN1bHQpDQogICAgICAgICAgICAgICAgICBjb250aW51ZTsgLy8gRG9uJ3QgYWxsb3cgZmllbGRzIHRvIG92ZXJyaWRlIGV4aXN0aW5nIGtleXMuDQogICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICB9DQogIH0NCiAgLyoqIEEgbGlzdCBpdGVtIGluc2lkZSBvZiBhIGxpc3QuICovDQogIGNsYXNzIExpc3RJdGVtIHsNCiAgICAgIGNvbnN0cnVjdG9yKGluaXQpIHsNCiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpOw0KICAgICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMgfHwgbmV3IE1hcCgpOw0KICAgICAgICAgIHRoaXMudGFncyA9IHRoaXMudGFncyB8fCBuZXcgU2V0KCk7DQogICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gfHwgW107DQogICAgICAgICAgdGhpcy5saW5rcyA9IHRoaXMubGlua3MgfHwgW107DQogICAgICB9DQogICAgICBpZCgpIHsNCiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlKCkucGF0aH0tJHt0aGlzLmxpbmV9YDsNCiAgICAgIH0NCiAgICAgIGZpbGUoKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubGluay50b0ZpbGUoKTsNCiAgICAgIH0NCiAgICAgIG1hcmtkb3duKCkgew0KICAgICAgICAgIGlmICh0aGlzLnRhc2spDQogICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnN5bWJvbH0gWyR7dGhpcy50YXNrLmNvbXBsZXRlZCA/ICJ4IiA6ICIgIn1dICR7dGhpcy50ZXh0fWA7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zeW1ib2x9ICR7dGhpcy50ZXh0fWA7DQogICAgICB9DQogICAgICBjcmVhdGVkKCkgew0KICAgICAgICAgIHZhciBfYSwgX2IsIF9jOw0KICAgICAgICAgIHJldHVybiAoX2MgPSAoKF9iID0gKF9hID0gdGhpcy5maWVsZHMuZ2V0KCJjcmVhdGVkIikpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRoaXMuZmllbGRzLmdldCgiY3RpbWUiKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJjZGF5IikpKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2NbMF07DQogICAgICB9DQogICAgICBkdWUoKSB7DQogICAgICAgICAgdmFyIF9hLCBfYiwgX2M7DQogICAgICAgICAgcmV0dXJuIChfYyA9ICgoX2IgPSAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoImR1ZSIpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmZpZWxkcy5nZXQoImR1ZXRpbWUiKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJkdWVkYXkiKSkpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfY1swXTsNCiAgICAgIH0NCiAgICAgIGNvbXBsZXRlZCgpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7DQogICAgICAgICAgcmV0dXJuIChfZCA9ICgoX2MgPSAoX2IgPSAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoImNvbXBsZXRlZCIpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmZpZWxkcy5nZXQoImNvbXBsZXRpb24iKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJjb21wdGltZSIpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiB0aGlzLmZpZWxkcy5nZXQoImNvbXBkYXkiKSkpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZFswXTsNCiAgICAgIH0NCiAgICAgIHN0YXJ0KCkgew0KICAgICAgICAgIHZhciBfYTsNCiAgICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5maWVsZHMuZ2V0KCJzdGFydCIpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMF07DQogICAgICB9DQogICAgICBzY2hlZHVsZWQoKSB7DQogICAgICAgICAgdmFyIF9hOw0KICAgICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoInNjaGVkdWxlZCIpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMF07DQogICAgICB9DQogICAgICAvKiogQ3JlYXRlIGFuIEFQSS1mcmllbmRseSBjb3B5IG9mIHRoaXMgbGlzdCBpdGVtLiBEZS1kdXBsaWNhdGlvbiBpcyBkb25lIHZpYSB0aGUgcHJvdmlkZWQgY2FjaGUuICovDQogICAgICBzZXJpYWxpemUoY2FjaGUpIHsNCiAgICAgICAgICAvLyBNYXAgY2hpbGRyZW4gdG8gdGhlaXIgc2VyaWFsaXplZC9kZS1kdXBsaWNhdGVkIGVxdWl2YWxlbnRzIHJpZ2h0IGF3YXkuDQogICAgICAgICAgbGV0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5tYXAobCA9PiBjYWNoZS5nZXQobCkpLmZpbHRlcigobCkgPT4gbCAhPT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gew0KICAgICAgICAgICAgICBzeW1ib2w6IHRoaXMuc3ltYm9sLA0KICAgICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmssDQogICAgICAgICAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbiwNCiAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0LA0KICAgICAgICAgICAgICB0YWdzOiBBcnJheS5mcm9tKHRoaXMudGFncyksDQogICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZSwNCiAgICAgICAgICAgICAgbGluZUNvdW50OiB0aGlzLmxpbmVDb3VudCwNCiAgICAgICAgICAgICAgbGlzdDogdGhpcy5saXN0LA0KICAgICAgICAgICAgICBvdXRsaW5rczogQXJyYXkuZnJvbSh0aGlzLmxpbmtzKSwNCiAgICAgICAgICAgICAgcGF0aDogdGhpcy5saW5rLnBhdGgsDQogICAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbiwNCiAgICAgICAgICAgICAgdGFzazogISF0aGlzLnRhc2ssDQogICAgICAgICAgICAgIGFubm90YXRlZDogdGhpcy5maWVsZHMuc2l6ZSA+IDAsDQogICAgICAgICAgICAgIHBvc2l0aW9uOiBWYWx1ZXMuZGVlcENvcHkodGhpcy5wb3NpdGlvbiksDQogICAgICAgICAgICAgIHN1YnRhc2tzOiBjaGlsZHJlbiwNCiAgICAgICAgICAgICAgcmVhbDogISF0aGlzLnRhc2ssDQogICAgICAgICAgICAgIGhlYWRlcjogdGhpcy5zZWN0aW9uLCAvLyBAZGVwcmVjYXRlZCwgdXNlICdpdGVtLnNlY3Rpb24nIGluc3RlYWQuDQogICAgICAgICAgfTsNCiAgICAgICAgICBpZiAodGhpcy5wYXJlbnQgfHwgdGhpcy5wYXJlbnQgPT09IDApDQogICAgICAgICAgICAgIHJlc3VsdC5wYXJlbnQgPSB0aGlzLnBhcmVudDsNCiAgICAgICAgICBpZiAodGhpcy5ibG9ja0lkKQ0KICAgICAgICAgICAgICByZXN1bHQuYmxvY2tJZCA9IHRoaXMuYmxvY2tJZDsNCiAgICAgICAgICBhZGRGaWVsZHModGhpcy5maWVsZHMsIHJlc3VsdCk7DQogICAgICAgICAgaWYgKHRoaXMudGFzaykgew0KICAgICAgICAgICAgICByZXN1bHQuc3RhdHVzID0gdGhpcy50YXNrLnN0YXR1czsNCiAgICAgICAgICAgICAgcmVzdWx0LmNoZWNrZWQgPSB0aGlzLnRhc2suY2hlY2tlZDsNCiAgICAgICAgICAgICAgcmVzdWx0LmNvbXBsZXRlZCA9IHRoaXMudGFzay5jb21wbGV0ZWQ7DQogICAgICAgICAgICAgIHJlc3VsdC5mdWxseUNvbXBsZXRlZCA9IHRoaXMudGFzay5mdWxseUNvbXBsZXRlZDsNCiAgICAgICAgICAgICAgbGV0IGNyZWF0ZWQgPSB0aGlzLmNyZWF0ZWQoKSwgZHVlID0gdGhpcy5kdWUoKSwgY29tcGxldGVkID0gdGhpcy5jb21wbGV0ZWQoKSwgc3RhcnQgPSB0aGlzLnN0YXJ0KCksIHNjaGVkdWxlZCA9IHRoaXMuc2NoZWR1bGVkKCk7DQogICAgICAgICAgICAgIGlmIChjcmVhdGVkKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0LmNyZWF0ZWQgPSBWYWx1ZXMuZGVlcENvcHkoY3JlYXRlZCk7DQogICAgICAgICAgICAgIGlmIChkdWUpDQogICAgICAgICAgICAgICAgICByZXN1bHQuZHVlID0gVmFsdWVzLmRlZXBDb3B5KGR1ZSk7DQogICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQpDQogICAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGlvbiA9IFZhbHVlcy5kZWVwQ29weShjb21wbGV0ZWQpOw0KICAgICAgICAgICAgICBpZiAoc3RhcnQpDQogICAgICAgICAgICAgICAgICByZXN1bHQuc3RhcnQgPSBWYWx1ZXMuZGVlcENvcHkoc3RhcnQpOw0KICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVkKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0LnNjaGVkdWxlZCA9IFZhbHVlcy5kZWVwQ29weShzY2hlZHVsZWQpOw0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgfQ0KICB9DQogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAvLyBDb252ZXJzaW9uIC8gU2VyaWFsaXphdGlvbiBVdGlsaXRpZXMgLy8NCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogIC8qKiBEZS1kdXBsaWNhdGVzIGxpc3QgaXRlbXMgYWNyb3NzIHNlY3Rpb24gbWV0YWRhdGEgYW5kIHBhZ2UgbWV0YWRhdGEuICovDQogIGNsYXNzIExpc3RTZXJpYWxpemF0aW9uQ2FjaGUgew0KICAgICAgY29uc3RydWN0b3IobGlzdEl0ZW1zKSB7DQogICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB7fTsNCiAgICAgICAgICB0aGlzLmNhY2hlID0ge307DQogICAgICAgICAgdGhpcy5zZWVuID0gbmV3IFNldCgpOw0KICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgbGlzdEl0ZW1zKQ0KICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtc1tpdGVtLmxpbmVdID0gaXRlbTsNCiAgICAgIH0NCiAgICAgIGdldChsaW5lbm8pIHsNCiAgICAgICAgICBpZiAobGluZW5vIGluIHRoaXMuY2FjaGUpDQogICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlW2xpbmVub107DQogICAgICAgICAgZWxzZSBpZiAodGhpcy5zZWVuLmhhcyhsaW5lbm8pKSB7DQogICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBEYXRhdmlldzogRW5jb3VudGVyZWQgYSBjaXJjdWxhciBsaXN0IChsaW5lIG51bWJlciAke2xpbmVub307IGNoaWxkcmVuICR7dGhpcy5saXN0SXRlbXNbbGluZW5vXS5jaGlsZHJlbi5qb2luKCIsICIpfSlgKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgICAgICB9DQogICAgICAgICAgdGhpcy5zZWVuLmFkZChsaW5lbm8pOw0KICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmxpc3RJdGVtc1tsaW5lbm9dLnNlcmlhbGl6ZSh0aGlzKTsNCiAgICAgICAgICB0aGlzLmNhY2hlW2xpbmVub10gPSByZXN1bHQ7DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgfQ0KICBmdW5jdGlvbiBhZGRGaWVsZHMoZmllbGRzLCB0YXJnZXQpIHsNCiAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlc10gb2YgZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0KQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICB0YXJnZXRba2V5XSA9IHZhbHVlcy5sZW5ndGggPT0gMSA/IHZhbHVlc1swXSA6IHZhbHVlczsNCiAgICAgIH0NCiAgICAgIHJldHVybiB0YXJnZXQ7DQogIH0KCiAgLyoqIENvbW1vbiB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgdGFncywgbGlua3MsIGFuZCBvdGhlciBidXNpbmVzcyBmcm9tIG1ldGFkYXRhLiAqLw0KICBjb25zdCBQT1RFTlRJQUxfVEFHX01BVENIRVIgPSAvI1teXHMsO1wuOiFcPyciYCgpXFtcXVx7XH1dKy9naXU7DQogIC8qKiBFeHRyYWN0IGFsbCB0YWdzIGZyb20gdGhlIGdpdmVuIHNvdXJjZSBzdHJpbmcuICovDQogIGZ1bmN0aW9uIGV4dHJhY3RUYWdzJDEoc291cmNlKSB7DQogICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOw0KICAgICAgbGV0IG1hdGNoZXMgPSBzb3VyY2UubWF0Y2hBbGwoUE9URU5USUFMX1RBR19NQVRDSEVSKTsNCiAgICAgIGZvciAobGV0IG1hdGNoIG9mIG1hdGNoZXMpIHsNCiAgICAgICAgICBsZXQgcGFyc2VkID0gRVhQUkVTU0lPTi50YWcucGFyc2UobWF0Y2hbMF0pOw0KICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXN1bHQuYWRkKHBhcnNlZC52YWx1ZSk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0Ow0KICB9CgogIC8qKiBJbXBvcnRlciBmb3IgbWFya2Rvd24gZG9jdW1lbnRzLiAqLw0KICAvKiogRXh0cmFjdCBtYXJrZG93biBtZXRhZGF0YSBmcm9tIHRoZSBnaXZlbiBPYnNpZGlhbiBtYXJrZG93biBmaWxlLiAqLw0KICBmdW5jdGlvbiBwYXJzZVBhZ2UocGF0aCwgY29udGVudHMsIHN0YXQsIG1ldGFkYXRhKSB7DQogICAgICBsZXQgdGFncyA9IG5ldyBTZXQoKTsNCiAgICAgIGxldCBhbGlhc2VzID0gbmV3IFNldCgpOw0KICAgICAgbGV0IGZpZWxkcyA9IG5ldyBNYXAoKTsNCiAgICAgIGxldCBsaW5rcyA9IFtdOw0KICAgICAgLy8gRmlsZSB0YWdzLCBpbmNsdWRpbmcgZnJvbnQtbWF0dGVyIGFuZCBpbi1maWxlIHRhZ3MuDQogICAgICAobWV0YWRhdGEudGFncyB8fCBbXSkuZm9yRWFjaCh0ID0+IHRhZ3MuYWRkKHQudGFnLnN0YXJ0c1dpdGgoIiMiKSA/IHQudGFnIDogIiMiICsgdC50YWcpKTsNCiAgICAgIC8vIEZyb250LW1hdHRlciBmaWxlIHRhZ3MsIGFsaWFzZXMsIEFORCBmcm9udG1hdHRlciBwcm9wZXJ0aWVzLg0KICAgICAgaWYgKG1ldGFkYXRhLmZyb250bWF0dGVyKSB7DQogICAgICAgICAgZm9yIChsZXQgdGFnIG9mIGV4dHJhY3RUYWdzKG1ldGFkYXRhLmZyb250bWF0dGVyKSkgew0KICAgICAgICAgICAgICBpZiAoIXRhZy5zdGFydHNXaXRoKCIjIikpDQogICAgICAgICAgICAgICAgICB0YWcgPSAiIyIgKyB0YWc7DQogICAgICAgICAgICAgIHRhZ3MuYWRkKHRhZyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGZvciAobGV0IGFsaWFzIG9mIGV4dHJhY3RBbGlhc2VzKG1ldGFkYXRhLmZyb250bWF0dGVyKSB8fCBbXSkNCiAgICAgICAgICAgICAgYWxpYXNlcy5hZGQoYWxpYXMpOw0KICAgICAgICAgIGxldCBmcm9udEZpZWxkcyA9IHBhcnNlRnJvbnRtYXR0ZXIobWV0YWRhdGEuZnJvbnRtYXR0ZXIpOw0KICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmcm9udEZpZWxkcykpIHsNCiAgICAgICAgICAgICAgaWYgKGtleSA9PSAicG9zaXRpb24iKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIGFkZElubGluZUZpZWxkKGtleSwgdmFsdWUsIGZpZWxkcyk7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLy8gTGlua3MgaW4gbWV0YWRhdGEuDQogICAgICBjb25zdCBsaW5rc0J5TGluZSA9IHt9Ow0KICAgICAgZm9yIChsZXQgcmF3TGluayBvZiBtZXRhZGF0YS5saW5rcyB8fCBbXSkgew0KICAgICAgICAgIGNvbnN0IGxpbmsgPSBMaW5rLmluZmVyKHJhd0xpbmsubGluaywgZmFsc2UsIHJhd0xpbmsuZGlzcGxheVRleHQpOw0KICAgICAgICAgIGNvbnN0IGxpbmUgPSByYXdMaW5rLnBvc2l0aW9uLnN0YXJ0LmxpbmU7DQogICAgICAgICAgbGlua3MucHVzaChsaW5rKTsNCiAgICAgICAgICBpZiAoIShsaW5lIGluIGxpbmtzQnlMaW5lKSkNCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0gPSBbbGlua107DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBsaW5rc0J5TGluZVtsaW5lXS5wdXNoKGxpbmspOw0KICAgICAgfQ0KICAgICAgLy8gRW1iZWQgTGlua3MgaW4gbWV0YWRhdGEuDQogICAgICBmb3IgKGxldCByYXdFbWJlZCBvZiBtZXRhZGF0YS5lbWJlZHMgfHwgW10pIHsNCiAgICAgICAgICBjb25zdCBsaW5rID0gTGluay5pbmZlcihyYXdFbWJlZC5saW5rLCB0cnVlLCByYXdFbWJlZC5kaXNwbGF5VGV4dCk7DQogICAgICAgICAgY29uc3QgbGluZSA9IHJhd0VtYmVkLnBvc2l0aW9uLnN0YXJ0LmxpbmU7DQogICAgICAgICAgbGlua3MucHVzaChsaW5rKTsNCiAgICAgICAgICBpZiAoIShsaW5lIGluIGxpbmtzQnlMaW5lKSkNCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0gPSBbbGlua107DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBsaW5rc0J5TGluZVtsaW5lXS5wdXNoKGxpbmspOw0KICAgICAgfQ0KICAgICAgLy8gTWVyZ2UgZnJvbnRtYXR0ZXIgZmllbGRzIHdpdGggcGFyc2VkIGZpZWxkcy4NCiAgICAgIGxldCBtYXJrZG93bkRhdGEgPSBwYXJzZU1hcmtkb3duKHBhdGgsIGNvbnRlbnRzLnNwbGl0KCJcbiIpLCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhmaWVsZHMsIG1hcmtkb3duRGF0YS5maWVsZHMpOw0KICAgICAgLy8gU3RyaXAgInBvc2l0aW9uIiBmcm9tIGZyb250bWF0dGVyIHNpbmNlIGl0IGlzIE9ic2lkaWFuIGRldGVybWluZWQuDQogICAgICBjb25zdCBmcm9udG1hdHRlciA9IG1ldGFkYXRhLmZyb250bWF0dGVyIHx8IHt9Ow0KICAgICAgaWYgKGZyb250bWF0dGVyICYmICJwb3NpdGlvbiIgaW4gZnJvbnRtYXR0ZXIpDQogICAgICAgICAgZGVsZXRlIGZyb250bWF0dGVyWyJwb3NpdGlvbiJdOw0KICAgICAgcmV0dXJuIG5ldyBQYWdlTWV0YWRhdGEocGF0aCwgew0KICAgICAgICAgIHRhZ3MsDQogICAgICAgICAgYWxpYXNlcywNCiAgICAgICAgICBsaW5rcywNCiAgICAgICAgICBsaXN0czogbWFya2Rvd25EYXRhLmxpc3RzLA0KICAgICAgICAgIGZpZWxkczogZmluYWxpemVJbmxpbmVGaWVsZHMoZmllbGRzKSwNCiAgICAgICAgICBmcm9udG1hdHRlcjogZnJvbnRtYXR0ZXIsDQogICAgICAgICAgY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMoc3RhdC5jdGltZSksDQogICAgICAgICAgbXRpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMoc3RhdC5tdGltZSksDQogICAgICAgICAgc2l6ZTogc3RhdC5zaXplLA0KICAgICAgICAgIGRheTogZmluZERhdGUocGF0aCwgZmllbGRzKSwNCiAgICAgIH0pOw0KICB9DQogIC8qKiBFeHRyYWN0IHRhZ3MgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICovDQogIGZ1bmN0aW9uIGV4dHJhY3RUYWdzKG1ldGFkYXRhKSB7DQogICAgICBsZXQgdGFnS2V5cyA9IE9iamVjdC5rZXlzKG1ldGFkYXRhKS5maWx0ZXIodCA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gInRhZ3MiIHx8IHQudG9Mb3dlckNhc2UoKSA9PSAidGFnIik7DQogICAgICByZXR1cm4gdGFnS2V5cw0KICAgICAgICAgIC5tYXAoayA9PiBzcGxpdEZyb250bWF0dGVyVGFnT3JBbGlhcyhtZXRhZGF0YVtrXSwgL1ssXHNdKy8pKQ0KICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSkNCiAgICAgICAgICAubWFwKHN0ciA9PiAoc3RyLnN0YXJ0c1dpdGgoIiMiKSA/IHN0ciA6ICIjIiArIHN0cikpOw0KICB9DQogIC8qKiBFeHRyYWN0IGFsaWFzZXMgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICAqLw0KICBmdW5jdGlvbiBleHRyYWN0QWxpYXNlcyhtZXRhZGF0YSkgew0KICAgICAgbGV0IGFsaWFzS2V5cyA9IE9iamVjdC5rZXlzKG1ldGFkYXRhKS5maWx0ZXIodCA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gImFsaWFzIiB8fCB0LnRvTG93ZXJDYXNlKCkgPT0gImFsaWFzZXMiKTsNCiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdOw0KICAgICAgZm9yIChsZXQga2V5IG9mIGFsaWFzS2V5cykgew0KICAgICAgICAgIGNvbnN0IHZhbHVlID0gbWV0YWRhdGFba2V5XTsNCiAgICAgICAgICBpZiAoIXZhbHVlKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpDQogICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnZhbHVlLm1hcCh2ID0+ICgiIiArIHYpLnRyaW0oKSkpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4uc3BsaXRGcm9udG1hdHRlclRhZ09yQWxpYXModmFsdWUsIC8sLykpOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgfQ0KICAvKiogU3BsaXQgYSBmcm9udG1hdHRlciBsaXN0IGludG8gc2VwYXJhdGUgZWxlbWVudHM7IGhhbmRsZXMgYWN0dWFsIGxpc3RzLCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMsIGFuZCBzaW5nbGUgZWxlbWVudHMuICovDQogIGZ1bmN0aW9uIHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKGRhdGEsIG9uKSB7DQogICAgICBpZiAoZGF0YSA9PSBudWxsIHx8IGRhdGEgPT0gdW5kZWZpbmVkKQ0KICAgICAgICAgIHJldHVybiBbXTsNCiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7DQogICAgICAgICAgcmV0dXJuIGRhdGENCiAgICAgICAgICAgICAgLmZpbHRlcihzID0+ICEhcykNCiAgICAgICAgICAgICAgLm1hcChzID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKHMsIG9uKSkNCiAgICAgICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gcC5jb25jYXQoYyksIFtdKTsNCiAgICAgIH0NCiAgICAgIC8vIEZvcmNlIHRvIGEgc3RyaW5nIHRvIGhhbmRsZSBudW1iZXJzIGFuZCBzbyBvbi4NCiAgICAgIHJldHVybiAoIiIgKyBkYXRhKQ0KICAgICAgICAgIC5zcGxpdChvbikNCiAgICAgICAgICAuZmlsdGVyKHQgPT4gISF0KQ0KICAgICAgICAgIC5tYXAodCA9PiB0LnRyaW0oKSkNCiAgICAgICAgICAuZmlsdGVyKHQgPT4gdC5sZW5ndGggPiAwKTsNCiAgfQ0KICAvKiogUGFyc2UgcmF3IChuZXdsaW5lLWRlbGltaXRlZCkgbWFya2Rvd24sIHJldHVybmluZyBpbmxpbmUgZmllbGRzLCBsaXN0IGl0ZW1zLCBhbmQgb3RoZXIgbWV0YWRhdGEuICovDQogIGZ1bmN0aW9uIHBhcnNlTWFya2Rvd24ocGF0aCwgY29udGVudHMsIG1ldGFkYXRhLCBsaW5rc0J5TGluZSkgew0KICAgICAgbGV0IGZpZWxkcyA9IG5ldyBNYXAoKTsNCiAgICAgIC8vIEV4dHJhY3QgdGFzayBkYXRhIGFuZCBhcHBlbmQgdGhlIGdsb2JhbCBkYXRhIGV4dHJhY3RlZCBmcm9tIHRoZW0gdG8gb3VyIGZpZWxkcy4NCiAgICAgIGxldCBbbGlzdHMsIGV4dHJhRGF0YV0gPSBwYXJzZUxpc3RzKHBhdGgsIGNvbnRlbnRzLCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpOw0KICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVzXSBvZiBleHRyYURhdGEuZW50cmllcygpKSB7DQogICAgICAgICAgaWYgKCFmaWVsZHMuaGFzKGtleSkpDQogICAgICAgICAgICAgIGZpZWxkcy5zZXQoa2V5LCB2YWx1ZXMpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgZmllbGRzLnNldChrZXksIGZpZWxkcy5nZXQoa2V5KS5jb25jYXQodmFsdWVzKSk7DQogICAgICB9DQogICAgICAvLyBUaGUgT2JzaWRpYW4gbWV0YWRhdGEgY2FjaGUgd2lsbCB0cmFjayBsaXN0IGVsZW1lbnRzIGluc2lkZSBvZiBvdGhlciBlbGVtZW50IGdyb3VwcyAobGlrZSBhbm5vdGF0aW9ucyBhbmQNCiAgICAgIC8vIGNhbGxvdXRzKS4uLiB0aGlzIG1lYW5zIHdlIG1pZ2h0IHNlZSBtZXRhZGF0YSB0d2ljZSwgc28gc2tpcCB0aGVtIG5vdy4gVmVyeSBhbm5veWluZy4NCiAgICAgIGNvbnN0IGxpc3RMaW5lc1RvU2tpcCA9IG5ldyBTZXQoKTsNCiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaXN0cykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZS5saW5lQ291bnQ7IGkrKykNCiAgICAgICAgICAgICAgbGlzdExpbmVzVG9Ta2lwLmFkZChsaW5lLmxpbmUgKyBpKTsNCiAgICAgIH0NCiAgICAgIC8vIE9ubHkgcGFyc2UgaGVhZGluZyBhbmQgcGFyYWdyYXBoIGVsZW1lbnRzIGZvciBpbmxpbmUgZmllbGRzOyB3ZSB3aWxsIHBhcnNlIGxpc3QgbWV0YWRhdGEgc2VwYXJhdGVseS4NCiAgICAgIGZvciAobGV0IHNlY3Rpb24gb2YgbWV0YWRhdGEuc2VjdGlvbnMgfHwgW10pIHsNCiAgICAgICAgICBpZiAoc2VjdGlvbi50eXBlID09ICJsaXN0IiB8fCBzZWN0aW9uLnR5cGUgPT0gInJ1bGluZyIpDQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIGZvciAobGV0IGxpbmVubyA9IHNlY3Rpb24ucG9zaXRpb24uc3RhcnQubGluZTsgbGluZW5vIDw9IHNlY3Rpb24ucG9zaXRpb24uZW5kLmxpbmU7IGxpbmVubysrKSB7DQogICAgICAgICAgICAgIGxldCBsaW5lID0gY29udGVudHNbbGluZW5vXTsNCiAgICAgICAgICAgICAgaWYgKGxpbmUgPT0gdW5kZWZpbmVkIHx8IGxpbmUgPT0gbnVsbCkNCiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICBpZiAobGlzdExpbmVzVG9Ta2lwLmhhcyhsaW5lbm8pKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIC8vIEZhc3QgYmFpbC1vdXQgZm9yIGxpbmVzIHRoYXQgYXJlIHRvbyBsb25nIG9yIGRvIG5vdCBjb250YWluICc6OicuDQogICAgICAgICAgICAgIGlmIChsaW5lLmxlbmd0aCA+IDMyNzY4IHx8ICFsaW5lLmluY2x1ZGVzKCI6OiIpKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTsNCiAgICAgICAgICAgICAgbGV0IGlubGluZUZpZWxkcyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMobGluZSk7DQogICAgICAgICAgICAgIGlmIChpbmxpbmVGaWVsZHMubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaWZpZWxkIG9mIGlubGluZUZpZWxkcykNCiAgICAgICAgICAgICAgICAgICAgICBhZGRSYXdJbmxpbmVGaWVsZChpZmllbGQsIGZpZWxkcyk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICBsZXQgZnVsbExpbmUgPSBleHRyYWN0RnVsbExpbmVGaWVsZChsaW5lKTsNCiAgICAgICAgICAgICAgICAgIGlmIChmdWxsTGluZSkNCiAgICAgICAgICAgICAgICAgICAgICBhZGRSYXdJbmxpbmVGaWVsZChmdWxsTGluZSwgZmllbGRzKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHJldHVybiB7IGZpZWxkcywgbGlzdHMgfTsNCiAgfQ0KICAvLyBUT0RPOiBDb25zaWRlciB1c2luZyBhbiBhY3R1YWwgcGFyc2VyIGluIGxlaXUgb2YgYSBtb3JlIGV4cGVuc2l2ZSByZWdleC4NCiAgY29uc3QgTElTVF9JVEVNX1JFR0VYID0gL15bXHM+XSooXGQrXC58XGQrXCl8XCp8LXxcKylccyooXFsuezAsMX1cXSk/XHMqKC4qKSQvbXU7DQogIC8qKg0KICAgKiBQYXJzZSBsaXN0IGl0ZW1zIGZyb20gdGhlIHBhZ2UgKyBtZXRhZGF0YS4gVGhpcyByZXF1aXJlcyBzb21lIGFkZGl0aW9uYWwgcGFyc2luZyBhYm92ZSB3aGF0ZXZlciBPYnNpZGlhbiBwcm92aWRlcywNCiAgICogc2luY2UgT2JzaWRpYW4gb25seSBnaXZlcyBsaW5lIG51bWJlcnMuDQogICAqLw0KICBmdW5jdGlvbiBwYXJzZUxpc3RzKHBhdGgsIGNvbnRlbnQsIG1ldGFkYXRhLCBsaW5rc0J5TGluZSkgew0KICAgICAgdmFyIF9hOw0KICAgICAgbGV0IGNhY2hlID0ge307DQogICAgICAvLyBQbGFjZSBhbGwgb2YgdGhlIHZhbHVlcyBpbiB0aGUgY2FjaGUgYmVmb3JlIHJlc29sdmluZyBjaGlsZHJlbiAmIG1ldGFkYXRhIHJlbGF0aW9uc2hpcHMuDQogICAgICBmb3IgKGxldCByYXdFbGVtZW50IG9mIG1ldGFkYXRhLmxpc3RJdGVtcyB8fCBbXSkgew0KICAgICAgICAgIC8vIE1hdGNoIG9uIHRoZSBmaXJzdCBsaW5lIHRvIGdldCB0aGUgc3ltYm9sIGFuZCBmaXJzdCBsaW5lIG9mIHRleHQuDQogICAgICAgICAgbGV0IHJhd01hdGNoID0gTElTVF9JVEVNX1JFR0VYLmV4ZWMoY29udGVudFtyYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmVdKTsNCiAgICAgICAgICBpZiAoIXJhd01hdGNoKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICAvLyBBbmQgdGhlbiBzdHJpcCB1bm5lY2Vzc2FyeSBzcGFjaW5nIGZyb20gdGhlIHJlbWFpbmluZyBsaW5lcy4NCiAgICAgICAgICBsZXQgdGV4dFBhcnRzID0gW3Jhd01hdGNoWzNdXQ0KICAgICAgICAgICAgICAuY29uY2F0KGNvbnRlbnQuc2xpY2UocmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICsgMSwgcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSArIDEpKQ0KICAgICAgICAgICAgICAubWFwKHQgPT4gdC50cmltKCkpOw0KICAgICAgICAgIGxldCB0ZXh0V2l0aE5ld2xpbmUgPSB0ZXh0UGFydHMuam9pbigiXG4iKTsNCiAgICAgICAgICBsZXQgdGV4dE5vTmV3bGluZSA9IHRleHRQYXJ0cy5qb2luKCIgIik7DQogICAgICAgICAgLy8gRmluZCB0aGUgbGlzdCB0aGF0IHdlIGFyZSBhIHBhcnQgb2YgYnkgbGluZS4NCiAgICAgICAgICBsZXQgY29udGFpbmluZ0xpc3RJZCA9IChtZXRhZGF0YS5zZWN0aW9ucyB8fCBbXSkuZmluZEluZGV4KHMgPT4gcy50eXBlID09ICJsaXN0IiAmJg0KICAgICAgICAgICAgICBzLnBvc2l0aW9uLnN0YXJ0LmxpbmUgPD0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICYmDQogICAgICAgICAgICAgIHMucG9zaXRpb24uZW5kLmxpbmUgPj0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lKTsNCiAgICAgICAgICAvLyBGaW5kIHRoZSBzZWN0aW9uIHdlIGJlbG9uZyB0byBhcyB3ZWxsLg0KICAgICAgICAgIGxldCBzZWN0aW9uTmFtZSA9IGZpbmRQcmV2aW91c0hlYWRlcihyYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUsIG1ldGFkYXRhLmhlYWRpbmdzIHx8IFtdKTsNCiAgICAgICAgICBsZXQgc2VjdGlvbkxpbmsgPSBzZWN0aW9uTmFtZSA9PT0gdW5kZWZpbmVkID8gTGluay5maWxlKHBhdGgpIDogTGluay5oZWFkZXIocGF0aCwgc2VjdGlvbk5hbWUpOw0KICAgICAgICAgIGxldCBjbG9zZXN0TGluayA9IHJhd0VsZW1lbnQuaWQgPT09IHVuZGVmaW5lZCA/IHNlY3Rpb25MaW5rIDogTGluay5ibG9jayhwYXRoLCByYXdFbGVtZW50LmlkKTsNCiAgICAgICAgICAvLyBHYXRoZXIgYW55IGxpbmtzIHRoYXQgb2NjdXIgb24gdGhlIHNhbWUgbGluZXMgYXMgdGhlIHRhc2suDQogICAgICAgICAgY29uc3QgbGlua3MgPSBbXTsNCiAgICAgICAgICBmb3IgKGxldCBsaW5lID0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lOyBsaW5lIDw9IHJhd0VsZW1lbnQucG9zaXRpb24uZW5kLmxpbmU7IGxpbmUrKykgew0KICAgICAgICAgICAgICBpZiAobGlua3NCeUxpbmVbbGluZV0pDQogICAgICAgICAgICAgICAgICBsaW5rcy5wdXNoKC4uLmxpbmtzQnlMaW5lW2xpbmVdKTsNCiAgICAgICAgICB9DQogICAgICAgICAgLy8gQ29uc3RydWN0IHVuaXZlcnNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVsZW1lbnQgKGJlZm9yZSB0YXNrcykuDQogICAgICAgICAgbGV0IGl0ZW0gPSBuZXcgTGlzdEl0ZW0oew0KICAgICAgICAgICAgICBzeW1ib2w6IHJhd01hdGNoWzFdLA0KICAgICAgICAgICAgICBsaW5rOiBjbG9zZXN0TGluaywNCiAgICAgICAgICAgICAgbGlua3M6IGxpbmtzLA0KICAgICAgICAgICAgICBzZWN0aW9uOiBzZWN0aW9uTGluaywNCiAgICAgICAgICAgICAgdGV4dDogdGV4dFdpdGhOZXdsaW5lLA0KICAgICAgICAgICAgICB0YWdzOiBleHRyYWN0VGFncyQxKHRleHROb05ld2xpbmUpLA0KICAgICAgICAgICAgICBsaW5lOiByYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUsDQogICAgICAgICAgICAgIGxpbmVDb3VudDogcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSAtIHJhd0VsZW1lbnQucG9zaXRpb24uc3RhcnQubGluZSArIDEsDQogICAgICAgICAgICAgIGxpc3Q6IGNvbnRhaW5pbmdMaXN0SWQgPT0gLTEgPyAtMSA6IChtZXRhZGF0YS5zZWN0aW9ucyB8fCBbXSlbY29udGFpbmluZ0xpc3RJZF0ucG9zaXRpb24uc3RhcnQubGluZSwNCiAgICAgICAgICAgICAgcG9zaXRpb246IHJhd0VsZW1lbnQucG9zaXRpb24sDQogICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSwNCiAgICAgICAgICAgICAgYmxvY2tJZDogcmF3RWxlbWVudC5pZCwNCiAgICAgICAgICB9KTsNCiAgICAgICAgICBpZiAocmF3RWxlbWVudC5wYXJlbnQgPj0gMCAmJiByYXdFbGVtZW50LnBhcmVudCAhPSBpdGVtLmxpbmUpDQogICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gcmF3RWxlbWVudC5wYXJlbnQ7DQogICAgICAgICAgLy8gU2V0IHVwIHRoZSBiYXNpYyB0YXNrIGluZm9ybWF0aW9uIGZvciBub3csIHRob3VnaCB3ZSBoYXZlIHRvIHJlY29tcHV0ZSBgZnVsbHlDb21wdXRlZGAgbGF0ZXIuDQogICAgICAgICAgaWYgKHJhd0VsZW1lbnQudGFzaykgew0KICAgICAgICAgICAgICBpdGVtLnRhc2sgPSB7DQogICAgICAgICAgICAgICAgICBzdGF0dXM6IHJhd0VsZW1lbnQudGFzaywNCiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHJhd0VsZW1lbnQudGFzayAhPSAiIiAmJiByYXdFbGVtZW50LnRhc2sgIT0gIiAiLA0KICAgICAgICAgICAgICAgICAgY29tcGxldGVkOiByYXdFbGVtZW50LnRhc2sgPT0gIlgiIHx8IHJhd0VsZW1lbnQudGFzayA9PSAieCIsDQogICAgICAgICAgICAgICAgICBmdWxseUNvbXBsZXRlZDogcmF3RWxlbWVudC50YXNrID09ICJYIiB8fCByYXdFbGVtZW50LnRhc2sgPT0gIngiLA0KICAgICAgICAgICAgICB9Ow0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBFeHRyYWN0IGlubGluZSBmaWVsZHM7IGV4dHJhY3QgZnVsbC1saW5lIGZpZWxkcyBvbmx5IGlmIHdlIGFyZSBOT1QgYSB0YXNrLg0KICAgICAgICAgIGl0ZW0uZmllbGRzID0gbmV3IE1hcCgpOw0KICAgICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZXh0cmFjdElubGluZUZpZWxkcyh0ZXh0Tm9OZXdsaW5lLCB0cnVlKSkNCiAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZWxlbWVudCwgaXRlbS5maWVsZHMpOw0KICAgICAgICAgIGlmICghcmF3RWxlbWVudC50YXNrICYmIGl0ZW0uZmllbGRzLnNpemUgPT0gMCkgew0KICAgICAgICAgICAgICBsZXQgZnVsbExpbmUgPSBleHRyYWN0RnVsbExpbmVGaWVsZCh0ZXh0Tm9OZXdsaW5lKTsNCiAgICAgICAgICAgICAgaWYgKGZ1bGxMaW5lKQ0KICAgICAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZnVsbExpbmUsIGl0ZW0uZmllbGRzKTsNCiAgICAgICAgICB9DQogICAgICAgICAgY2FjaGVbaXRlbS5saW5lXSA9IGl0ZW07DQogICAgICB9DQogICAgICAvLyBUcmVlIHVwZGF0aW5nIHBhc3Nlcy4gVXBkYXRlIGNoaWxkIGxpc3RzLiBQcm9wb2dhdGUgbWV0YWRhdGEgdXAgdG8gcGFyZW50IHRhc2tzLiBVcGRhdGUgdGFzayBgZnVsbHlDb21wbGV0ZWRgLg0KICAgICAgbGV0IGxpdGVyYWxzID0gbmV3IE1hcCgpOw0KICAgICAgZm9yIChsZXQgbGlzdEl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhjYWNoZSkpIHsNCiAgICAgICAgICAvLyBQYXNzIDE6IFVwZGF0ZSBjaGlsZCBsaXN0cy4NCiAgICAgICAgICBpZiAobGlzdEl0ZW0ucGFyZW50ICE9PSB1bmRlZmluZWQgJiYgbGlzdEl0ZW0ucGFyZW50IGluIGNhY2hlKSB7DQogICAgICAgICAgICAgIGxldCBwYXJlbnQgPSBjYWNoZVtsaXN0SXRlbS5wYXJlbnRdOw0KICAgICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaChsaXN0SXRlbS5saW5lKTsNCiAgICAgICAgICB9DQogICAgICAgICAgLy8gUGFzcyAyOiBQcm9wb2dhdGUgbWV0YWRhdGEgdXAgdG8gdGhlIHBhcmVudCB0YXNrIG9yIHJvb3QgZWxlbWVudC4NCiAgICAgICAgICBpZiAoIWxpc3RJdGVtLnRhc2spIHsNCiAgICAgICAgICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhsaXRlcmFscywgbGlzdEl0ZW0uZmllbGRzKTsNCiAgICAgICAgICAgICAgLy8gVE9ETyAoYmxhY2tzbWl0aGd1KTogVGhlIGJlbG93IGNvZGUgcHJvcGVybHkgcHJvcG9nYXRlcyBtZXRhZGF0YSB1cCB0byB0aGUgbmVhcmVzdCB0YXNrLCB3aGljaCBpcyB0aGUNCiAgICAgICAgICAgICAgLy8gbW9yZSBpbnR1aXRpdmUgYmVoYXZpb3IuIEZvciBub3csIHRob3VnaCwgd2Ugd2lsbCBrZWVwIHRoZSBleGlzdGluZyBsb2dpYy4NCiAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgbGV0IHJvb3Q6IExpc3RJdGVtIHwgdW5kZWZpbmVkID0gbGlzdEl0ZW07DQogICAgICAgICAgICAgIHdoaWxlICghIXJvb3QgJiYgIXJvb3QudGFzaykgcm9vdCA9IGNhY2hlW3Jvb3QucGFyZW50ID8/IC0xXTsNCgogICAgICAgICAgICAgIC8vIElmIHRoZSByb290IGlzIG51bGwsIGFwcGVuZCB0aGlzIG1ldGFkYXRhIHRvIHRoZSByb290OyBvdGhlcndpc2UsIGFwcGVuZCB0byB0aGUgdGFzay4NCiAgICAgICAgICAgICAgbWVyZ2VGaWVsZEdyb3Vwcyhyb290ID09PSB1bmRlZmluZWQgfHwgcm9vdCA9PSBudWxsID8gbGl0ZXJhbHMgOiByb290LmZpZWxkcywgbGlzdEl0ZW0uZmllbGRzKTsNCiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICB9DQogICAgICAgICAgLy8gUGFzcyAzOiBQcm9wb2dhdGUgYGZ1bGx5Q29tcGxldGVkYCB1cCB0aGUgdGFzayB0cmVlLiBUaGlzIGlzIGEgbGl0dGxlIGxlc3MgZWZmaWNpZW50IHRoYW4ganVzdCBkb2luZyBhIHNpbXBsZQ0KICAgICAgICAgIC8vIERGUyB1c2luZyB0aGUgY2hpbGRyZW4gSURzLCBidXQgaXQncyBwcm9iYWJseSBmaW5lLg0KICAgICAgICAgIGlmIChsaXN0SXRlbS50YXNrKSB7DQogICAgICAgICAgICAgIGxldCBjdXJyID0gbGlzdEl0ZW07DQogICAgICAgICAgICAgIHdoaWxlICghIWN1cnIpIHsNCiAgICAgICAgICAgICAgICAgIGlmIChjdXJyLnRhc2spDQogICAgICAgICAgICAgICAgICAgICAgY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkID0gY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkICYmIGxpc3RJdGVtLnRhc2suY29tcGxldGVkOw0KICAgICAgICAgICAgICAgICAgY3VyciA9IGNhY2hlWyhfYSA9IGN1cnIucGFyZW50KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAtMV07DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9DQogICAgICByZXR1cm4gW09iamVjdC52YWx1ZXMoY2FjaGUpLCBsaXRlcmFsc107DQogIH0NCiAgLyoqIEF0dGVtcHQgdG8gZmluZCBhIGRhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBwYWdlIGZyb20gbWV0YWRhdGEgb3IgZmlsZW5hbWVzLiAqLw0KICBmdW5jdGlvbiBmaW5kRGF0ZShmaWxlLCBmaWVsZHMpIHsNCiAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDsNCiAgICAgIGZvciAobGV0IGtleSBvZiBmaWVsZHMua2V5cygpKSB7DQogICAgICAgICAgaWYgKCEoa2V5LnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gImRhdGUiIHx8IGtleS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICJkYXkiKSkNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgbGV0IHZhbHVlID0gZmllbGRzLmdldChrZXkpOw0KICAgICAgICAgIGlmIChWYWx1ZXMuaXNEYXRlKHZhbHVlKSkgew0KICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKFZhbHVlcy5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwICYmIFZhbHVlcy5pc0RhdGUodmFsdWVbMF0pKSB7DQogICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAoVmFsdWVzLmlzTGluayh2YWx1ZSkpIHsNCiAgICAgICAgICAgICAgbGV0IGRhdGUgPSAoX2MgPSAoX2EgPSBleHRyYWN0RGF0ZSh2YWx1ZS5wYXRoKSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZXh0cmFjdERhdGUoKF9iID0gdmFsdWUuc3VicGF0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogIiIpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBleHRyYWN0RGF0ZSgoX2QgPSB2YWx1ZS5kaXNwbGF5KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAiIik7DQogICAgICAgICAgICAgIGlmIChkYXRlKQ0KICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGU7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgcmV0dXJuIGV4dHJhY3REYXRlKGdldEZpbGVUaXRsZShmaWxlKSk7DQogIH0NCiAgLyoqIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgZnJvbnRtYXR0ZXIgaW50byBmaWVsZHMuIFdlIGhhdmUgdG8gZGFuY2UgYXJvdW5kIFlBTUwgc3RydWN0dXJlLiAqLw0KICBmdW5jdGlvbiBwYXJzZUZyb250bWF0dGVyKHZhbHVlKSB7DQogICAgICBpZiAodmFsdWUgPT0gbnVsbCkgew0KICAgICAgICAgIHJldHVybiBudWxsOw0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAib2JqZWN0Iikgew0KICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107DQogICAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwYXJzZUZyb250bWF0dGVyKGNoaWxkKSk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBvYmplY3QgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHBhcnNlRnJvbnRtYXR0ZXIob2JqZWN0W2tleV0pOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAibnVtYmVyIikgew0KICAgICAgICAgIHJldHVybiB2YWx1ZTsNCiAgICAgIH0NCiAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gImJvb2xlYW4iKSB7DQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAic3RyaW5nIikgew0KICAgICAgICAgIGxldCBkYXRlUGFyc2UgPSBFWFBSRVNTSU9OLmRhdGUucGFyc2UodmFsdWUpOw0KICAgICAgICAgIGlmIChkYXRlUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gZGF0ZVBhcnNlLnZhbHVlOw0KICAgICAgICAgIGxldCBkdXJhdGlvblBhcnNlID0gRVhQUkVTU0lPTi5kdXJhdGlvbi5wYXJzZSh2YWx1ZSk7DQogICAgICAgICAgaWYgKGR1cmF0aW9uUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gZHVyYXRpb25QYXJzZS52YWx1ZTsNCiAgICAgICAgICBsZXQgbGlua1BhcnNlID0gRVhQUkVTU0lPTi5lbWJlZExpbmsucGFyc2UodmFsdWUpOw0KICAgICAgICAgIGlmIChsaW5rUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gbGlua1BhcnNlLnZhbHVlOw0KICAgICAgICAgIHJldHVybiB2YWx1ZTsNCiAgICAgIH0NCiAgICAgIC8vIEJhY2t1cCBpZiB3ZSBkb24ndCB1bmRlcnN0YW5kIHRoZSB0eXBlLg0KICAgICAgcmV0dXJuIG51bGw7DQogIH0NCiAgLyoqIEFkZCBhIHBhcnNlZCBpbmxpbmUgZmllbGQgdG8gdGhlIG91dHB1dCBtYXAuICovDQogIGZ1bmN0aW9uIGFkZFJhd0lubGluZUZpZWxkKGZpZWxkLCBvdXRwdXQpIHsNCiAgICAgIGFkZElubGluZUZpZWxkKGZpZWxkLmtleSwgcGFyc2VJbmxpbmVWYWx1ZShmaWVsZC52YWx1ZSksIG91dHB1dCk7DQogIH0NCiAgLyoqIEFkZCBhIHJhdyBpbmxpbmUgZmllbGQgdG8gYW4gb3V0cHV0IG1hcCwgY2Fub25pY2FsaXppbmcgYXMgbmVlZGVkLiAqLw0KICBmdW5jdGlvbiBhZGRJbmxpbmVGaWVsZChrZXksIHZhbHVlLCBvdXRwdXQpIHsNCiAgICAgIHZhciBfYTsNCiAgICAgIGlmICghb3V0cHV0LmhhcyhrZXkpKQ0KICAgICAgICAgIG91dHB1dC5zZXQoa2V5LCBbdmFsdWVdKTsNCiAgICAgIGVsc2UNCiAgICAgICAgICAoX2EgPSBvdXRwdXQuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wdXNoKHZhbHVlKTsNCiAgfQ0KICAvKiogR2l2ZW4gYSByYXcgbGlzdCBvZiBpbmxpbmUgZmllbGQgdmFsdWVzLCBhZGQgbm9ybWFsaXplZCBrZXlzIGFuZCBzcXVhc2ggdGhlbS4gKi8NCiAgZnVuY3Rpb24gZmluYWxpemVJbmxpbmVGaWVsZHMoZmllbGRzKSB7DQogICAgICAvLyBDb21wdXRlIHVuaXF1ZSBub3JtYWxpemVkIGtleXMgKHRoYXQgZG8gbm90IG92ZXJsYXAgdy8gdGhlIGZpZWxkcykuDQogICAgICBsZXQgbm9ybWFsaXplZCA9IG5ldyBNYXAoKTsNCiAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlc10gb2YgZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgIGxldCBub3JtS2V5ID0gY2Fub25pY2FsaXplVmFyTmFtZShrZXkpOw0KICAgICAgICAgIGlmIChub3JtS2V5ID09ICIiIHx8IGZpZWxkcy5oYXMobm9ybUtleSkpDQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIGlmICghbm9ybWFsaXplZC5oYXMobm9ybUtleSkpDQogICAgICAgICAgICAgIG5vcm1hbGl6ZWQuc2V0KG5vcm1LZXksIHZhbHVlcyk7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBub3JtYWxpemVkLnNldChub3JtS2V5LCBub3JtYWxpemVkLmdldChub3JtS2V5KS5jb25jYXQodmFsdWVzKSk7DQogICAgICB9DQogICAgICAvLyBDb21iaW5lIG5vcm1hbGl6ZWQgKyBub3JtYWwga2V5cy4NCiAgICAgIGxldCBpbnRlcmltID0gbmV3IE1hcCgpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhpbnRlcmltLCBmaWVsZHMpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhpbnRlcmltLCBub3JtYWxpemVkKTsNCiAgICAgIC8vIEFuZCB0aGVuIGZsYXR0ZW4gdGhlbS4NCiAgICAgIGxldCByZXN1bHQgPSBuZXcgTWFwKCk7DQogICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgaW50ZXJpbS5lbnRyaWVzKCkpIHsNCiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09IDEpDQogICAgICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCB2YWx1ZVswXSk7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgfQ0KICAvKiogQ29weSBhbGwgZmllbGRzIG9mICdzb3VyY2UnIGludG8gJ3RhcmdldCcuICovDQogIGZ1bmN0aW9uIG1lcmdlRmllbGRHcm91cHModGFyZ2V0LCBzb3VyY2UpIHsNCiAgICAgIGZvciAobGV0IGtleSBvZiBzb3VyY2Uua2V5cygpKSB7DQogICAgICAgICAgaWYgKCF0YXJnZXQuaGFzKGtleSkpDQogICAgICAgICAgICAgIHRhcmdldC5zZXQoa2V5LCBzb3VyY2UuZ2V0KGtleSkpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgdGFyZ2V0LnNldChrZXksIHRhcmdldC5nZXQoa2V5KS5jb25jYXQoc291cmNlLmdldChrZXkpKSk7DQogICAgICB9DQogIH0NCiAgLyoqIEZpbmQgdGhlIGhlYWRlciB0aGF0IGlzIG1vc3QgaW1tZWRpYXRlbHkgYWJvdmUgdGhlIGdpdmVuIGxpbmUgbnVtYmVyLiAqLw0KICBmdW5jdGlvbiBmaW5kUHJldmlvdXNIZWFkZXIobGluZSwgaGVhZGVycykgew0KICAgICAgaWYgKGhlYWRlcnMubGVuZ3RoID09IDApDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIGlmIChoZWFkZXJzWzBdLnBvc2l0aW9uLnN0YXJ0LmxpbmUgPiBsaW5lKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICBsZXQgaW5kZXggPSBoZWFkZXJzLmxlbmd0aCAtIDE7DQogICAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBoZWFkZXJzW2luZGV4XS5wb3NpdGlvbi5zdGFydC5saW5lID4gbGluZSkNCiAgICAgICAgICBpbmRleC0tOw0KICAgICAgcmV0dXJuIGhlYWRlcnNbaW5kZXhdLmhlYWRpbmc7DQogIH0KCiAgLyoqIEFjdHVhbCBpbXBvcnQgaW1wbGVtZW50YXRpb24gYmFja2VuZC4gVGhpcyBtdXN0IHJlbWFpbiBzZXBhcmF0ZSBmcm9tIGBpbXBvcnQtZW50cnlgIHNpbmNlIGl0IGlzIHVzZWQgd2l0aG91dCB3ZWIgd29ya2Vycy4gKi8NCiAgZnVuY3Rpb24gcnVuSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0cywgbWV0YWRhdGEpIHsNCiAgICAgIHJldHVybiBwYXJzZVBhZ2UocGF0aCwgY29udGVudHMsIHN0YXRzLCBtZXRhZGF0YSk7DQogIH0KCiAgLyoqIFNpbXBsaWZpZXMgcGFzc2luZyBkYXRhdmlldyB2YWx1ZXMgYWNyb3NzIHRoZSBKUyB3ZWIgd29ya2VyIGJhcnJpZXIuICovDQogIHZhciBUcmFuc2ZlcmFibGU7DQogIChmdW5jdGlvbiAoVHJhbnNmZXJhYmxlKSB7DQogICAgICAvKiogQ29udmVydCBhIGxpdGVyYWwgdmFsdWUgdG8gYSBzZXJpYWxpemVyLWZyaWVuZGx5IHRyYW5zZmVyYWJsZSB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHRyYW5zZmVyYWJsZSh2YWx1ZSkgew0KICAgICAgICAgIC8vIEhhbmRsZSBzaW1wbGUgdW5pdmVyc2FsIHR5cGVzIGZpcnN0Lg0KICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgew0KICAgICAgICAgICAgICBsZXQgY29waWVkID0gbmV3IE1hcCgpOw0KICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWxdIG9mIHZhbHVlLmVudHJpZXMoKSkNCiAgICAgICAgICAgICAgICAgIGNvcGllZC5zZXQodHJhbnNmZXJhYmxlKGtleSksIHRyYW5zZmVyYWJsZSh2YWwpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIGNvcGllZDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHsNCiAgICAgICAgICAgICAgbGV0IGNvcGllZCA9IG5ldyBTZXQoKTsNCiAgICAgICAgICAgICAgZm9yIChsZXQgdmFsIG9mIHZhbHVlKQ0KICAgICAgICAgICAgICAgICAgY29waWVkLmFkZCh0cmFuc2ZlcmFibGUodmFsKSk7DQogICAgICAgICAgICAgIHJldHVybiBjb3BpZWQ7DQogICAgICAgICAgfQ0KICAgICAgICAgIGxldCB3cmFwcGVkID0gVmFsdWVzLndyYXBWYWx1ZSh2YWx1ZSk7DQogICAgICAgICAgaWYgKHdyYXBwZWQgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCB0cmFuc2ZlcmFibGUgdmFsdWU6ICIgKyB2YWx1ZSk7DQogICAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgIGNhc2UgIm51bWJlciI6DQogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgICAiX19fdHJhbnNmZXItdHlwZSI6ICJkYXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJhbnNmZXJhYmxlKHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSksDQogICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgICAgICAgICAgICB6b25lOiB3cmFwcGVkLnZhbHVlLnpvbmUuZXF1YWxzKFN5c3RlbVpvbmUuaW5zdGFuY2UpID8gdW5kZWZpbmVkIDogd3JhcHBlZC52YWx1ZS56b25lTmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgIl9fX3RyYW5zZmVyLXR5cGUiOiAiZHVyYXRpb24iLCB2YWx1ZTogdHJhbnNmZXJhYmxlKHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSkgfTsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFwKHYgPT4gdHJhbnNmZXJhYmxlKHYpKTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICByZXR1cm4geyAiX19fdHJhbnNmZXItdHlwZSI6ICJsaW5rIiwgdmFsdWU6IHRyYW5zZmVyYWJsZSh3cmFwcGVkLnZhbHVlLnRvT2JqZWN0KCkpIH07DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSkpDQogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2ZlcmFibGUodmFsdWUpOw0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBUcmFuc2ZlcmFibGUudHJhbnNmZXJhYmxlID0gdHJhbnNmZXJhYmxlOw0KICAgICAgLyoqIENvbnZlcnQgYSB0cmFuc2ZlcmFibGUgdmFsdWUgYmFjayB0byBhIGxpdGVyYWwgdmFsdWUgd2UgY2FuIHdvcmsgd2l0aC4gKi8NCiAgICAgIGZ1bmN0aW9uIHZhbHVlKHRyYW5zZmVyYWJsZSkgew0KICAgICAgICAgIGlmICh0cmFuc2ZlcmFibGUgPT09IG51bGwpIHsNCiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKHRyYW5zZmVyYWJsZSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKHRyYW5zZmVyYWJsZSBpbnN0YW5jZW9mIE1hcCkgew0KICAgICAgICAgICAgICBsZXQgcmVhbCA9IG5ldyBNYXAoKTsNCiAgICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsXSBvZiB0cmFuc2ZlcmFibGUuZW50cmllcygpKQ0KICAgICAgICAgICAgICAgICAgcmVhbC5zZXQodmFsdWUoa2V5KSwgdmFsdWUodmFsKSk7DQogICAgICAgICAgICAgIHJldHVybiByZWFsOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIGlmICh0cmFuc2ZlcmFibGUgaW5zdGFuY2VvZiBTZXQpIHsNCiAgICAgICAgICAgICAgbGV0IHJlYWwgPSBuZXcgU2V0KCk7DQogICAgICAgICAgICAgIGZvciAobGV0IHZhbCBvZiB0cmFuc2ZlcmFibGUpDQogICAgICAgICAgICAgICAgICByZWFsLmFkZCh2YWx1ZSh2YWwpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlYWw7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHJhbnNmZXJhYmxlKSkgew0KICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmZXJhYmxlLm1hcCh2ID0+IHZhbHVlKHYpKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHRyYW5zZmVyYWJsZSA9PT0gIm9iamVjdCIpIHsNCiAgICAgICAgICAgICAgaWYgKCJfX190cmFuc2Zlci10eXBlIiBpbiB0cmFuc2ZlcmFibGUpIHsNCiAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHJhbnNmZXJhYmxlWyJfX190cmFuc2Zlci10eXBlIl0pIHsNCiAgICAgICAgICAgICAgICAgICAgICBjYXNlICJkYXRlIjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGVPcHRzID0gdmFsdWUodHJhbnNmZXJhYmxlLm9wdGlvbnMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0ZURhdGEgPSB2YWx1ZSh0cmFuc2ZlcmFibGUudmFsdWUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdChkYXRlRGF0YSwgeyB6b25lOiBkYXRlT3B0cy56b25lIH0pOw0KICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QodmFsdWUodHJhbnNmZXJhYmxlLnZhbHVlKSk7DQogICAgICAgICAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaW5rLmZyb21PYmplY3QodmFsdWUodHJhbnNmZXJhYmxlLnZhbHVlKSk7DQogICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFVucmVjb2duaXplZCB0cmFuc2ZlciB0eXBlICcke3RyYW5zZmVyYWJsZVsiX19fdHJhbnNmZXItdHlwZSJdfSdgKTsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModHJhbnNmZXJhYmxlKSkNCiAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWUodmFsKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgcmV0dXJuIHRyYW5zZmVyYWJsZTsNCiAgICAgIH0NCiAgICAgIFRyYW5zZmVyYWJsZS52YWx1ZSA9IHZhbHVlOw0KICB9KShUcmFuc2ZlcmFibGUgfHwgKFRyYW5zZmVyYWJsZSA9IHt9KSk7CgogIC8qKiBFbnRyeS1wb2ludCBzY3JpcHQgdXNlZCBieSB0aGUgaW5kZXggYXMgYSB3ZWIgd29ya2VyLiAqLw0KICAvKiogQW4gaW1wb3J0IHdoaWNoIGNhbiBmYWlsIGFuZCByYWlzZSBhbiBleGNlcHRpb24sIHdoaWNoIHdpbGwgYmUgY2F1Z2h0IGJ5IHRoZSBoYW5kbGVyLiAqLw0KICBmdW5jdGlvbiBmYWlsYWJsZUltcG9ydChwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEpIHsNCiAgICAgIGlmIChtZXRhZGF0YSA9PT0gdW5kZWZpbmVkIHx8IG1ldGFkYXRhID09PSBudWxsKSB7DQogICAgICAgICAgdGhyb3cgRXJyb3IoYENhbm5vdCBpbmRleCBmaWxlLCBzaW5jZSBpdCBoYXMgbm8gT2JzaWRpYW4gZmlsZSBtZXRhZGF0YS5gKTsNCiAgICAgIH0NCiAgICAgIHJldHVybiBydW5JbXBvcnQocGF0aCwgY29udGVudHMsIHN0YXQsIG1ldGFkYXRhKTsNCiAgfQ0KICBvbm1lc3NhZ2UgPSBhc3luYyAoZXZ0KSA9PiB7DQogICAgICB0cnkgew0KICAgICAgICAgIGxldCB7IHBhdGgsIGNvbnRlbnRzLCBzdGF0LCBtZXRhZGF0YSB9ID0gZXZ0LmRhdGE7DQogICAgICAgICAgbGV0IHJlc3VsdCA9IGZhaWxhYmxlSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0LCBtZXRhZGF0YSk7DQogICAgICAgICAgcG9zdE1lc3NhZ2UoeyBwYXRoOiBldnQuZGF0YS5wYXRoLCByZXN1bHQ6IFRyYW5zZmVyYWJsZS50cmFuc2ZlcmFibGUocmVzdWx0KSB9KTsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlcnJvcikgew0KICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsNCiAgICAgICAgICBwb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgIHBhdGg6IGV2dC5kYXRhLnBhdGgsDQogICAgICAgICAgICAgIHJlc3VsdDogew0KICAgICAgICAgICAgICAgICAgJGVycm9yOiBgRmFpbGVkIHRvIGluZGV4IGZpbGU6ICR7ZXZ0LmRhdGEucGF0aH06ICR7ZXJyb3J9YCwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgfTsKCn0pKCk7Cgo=', null, false); +var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdGhlc2UgYXJlbid0IHJlYWxseSBwcml2YXRlLCBidXQgbm9yIGFyZSB0aGV5IHJlYWxseSB1c2VmdWwgdG8gZG9jdW1lbnQKCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBMdXhvbkVycm9yIGV4dGVuZHMgRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3IgewogICAgY29uc3RydWN0b3IocmVhc29uKSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIERhdGVUaW1lOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHsKICAgIGNvbnN0cnVjdG9yKHJlYXNvbikgewogICAgICBzdXBlcihgSW52YWxpZCBJbnRlcnZhbDogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24pIHsKICAgICAgc3VwZXIoYEludmFsaWQgRHVyYXRpb246ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkVW5pdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3Rvcih1bml0KSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIHVuaXQgJHt1bml0fWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkQXJndW1lbnRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBab25lSXNBYnN0cmFjdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoIlpvbmUgaXMgYW4gYWJzdHJhY3QgY2xhc3MiKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGNvbnN0IG4gPSAibnVtZXJpYyIsCiAgICBzID0gInNob3J0IiwKICAgIGwgPSAibG9uZyI7CgogIGNvbnN0IERBVEVfU0hPUlQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IG4sCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRURfV0lUSF9XRUVLREFZID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBzLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogcywKICB9OwoKICBjb25zdCBEQVRFX0ZVTEwgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IGwsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9IVUdFID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICB9OwoKICBjb25zdCBUSU1FX1NJTVBMRSA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgVElNRV9XSVRIX1NFQ09ORFMgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgdGltZVpvbmVOYW1lOiBzLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgY29uc3QgVElNRV8yNF9TSU1QTEUgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfU0VDT05EUyA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICBob3VyQ3ljbGU6ICJoMjMiLAogIH07CgogIGNvbnN0IFRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogbCwKICB9OwoKICBjb25zdCBEQVRFVElNRV9TSE9SVCA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbiwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBuLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHNlY29uZDogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICB3ZWVrZGF5OiBzLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IHMsCiAgfTsKCiAgY29uc3QgREFURVRJTUVfSFVHRSA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIHdlZWtkYXk6IGwsCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgdGltZVpvbmVOYW1lOiBsLAogIH07CgogIGNvbnN0IERBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgLyoqCiAgICogQGludGVyZmFjZQogICAqLwogIGNsYXNzIFpvbmUgewogICAgLyoqCiAgICAgKiBUaGUgdHlwZSBvZiB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB0eXBlKCkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIG5hbWUgb2YgdGhpcyB6b25lLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICBnZXQgaWFuYU5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLm5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG9mZnNldCBpcyBrbm93biB0byBiZSBmaXhlZCBmb3IgdGhlIHdob2xlIHllYXIuCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBuYW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmZvcm1hdCAtIFdoYXQgc3R5bGUgb2Ygb2Zmc2V0IHRvIHJldHVybi4gQWNjZXB0cyAnbG9uZycgb3IgJ3Nob3J0Jy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmxvY2FsZSAtIFdoYXQgbG9jYWxlIHRvIHJldHVybiB0aGUgb2Zmc2V0IG5hbWUgaW4uCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIG9mZnNldE5hbWUodHMsIG9wdHMpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG9mZnNldCdzIHZhbHVlIGFzIGEgc3RyaW5nCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBvZmZzZXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgLSBXaGF0IHN0eWxlIG9mIG9mZnNldCB0byByZXR1cm4uCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHkKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC4KICAgICAqIEBhYnN0cmFjdAogICAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBjb21wdXRlIHRoZSBvZmZzZXQKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgZXF1YWwgdG8gYW5vdGhlciB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7Wm9uZX0gb3RoZXJab25lIC0gdGhlIHpvbmUgdG8gY29tcGFyZQogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgZXF1YWxzKG90aGVyWm9uZSkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIHZhbGlkLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CiAgfQoKICBsZXQgc2luZ2xldG9uJDEgPSBudWxsOwoKICAvKioKICAgKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUgewogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGxvY2FsIHpvbmUKICAgICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgaW5zdGFuY2UoKSB7CiAgICAgIGlmIChzaW5nbGV0b24kMSA9PT0gbnVsbCkgewogICAgICAgIHNpbmdsZXRvbiQxID0gbmV3IFN5c3RlbVpvbmUoKTsKICAgICAgfQogICAgICByZXR1cm4gc2luZ2xldG9uJDE7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCB0eXBlKCkgewogICAgICByZXR1cm4gInN5c3RlbSI7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBuYW1lKCkgewogICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVW5pdmVyc2FsKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkgewogICAgICByZXR1cm4gcGFyc2Vab25lSW5mbyh0cywgZm9ybWF0LCBsb2NhbGUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHJldHVybiAtbmV3IERhdGUodHMpLmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAic3lzdGVtIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgbGV0IGR0ZkNhY2hlID0ge307CiAgZnVuY3Rpb24gbWFrZURURih6b25lKSB7CiAgICBpZiAoIWR0ZkNhY2hlW3pvbmVdKSB7CiAgICAgIGR0ZkNhY2hlW3pvbmVdID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIiwgewogICAgICAgIGhvdXIxMjogZmFsc2UsCiAgICAgICAgdGltZVpvbmU6IHpvbmUsCiAgICAgICAgeWVhcjogIm51bWVyaWMiLAogICAgICAgIG1vbnRoOiAiMi1kaWdpdCIsCiAgICAgICAgZGF5OiAiMi1kaWdpdCIsCiAgICAgICAgaG91cjogIjItZGlnaXQiLAogICAgICAgIG1pbnV0ZTogIjItZGlnaXQiLAogICAgICAgIHNlY29uZDogIjItZGlnaXQiLAogICAgICAgIGVyYTogInNob3J0IiwKICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gZHRmQ2FjaGVbem9uZV07CiAgfQoKICBjb25zdCB0eXBlVG9Qb3MgPSB7CiAgICB5ZWFyOiAwLAogICAgbW9udGg6IDEsCiAgICBkYXk6IDIsCiAgICBlcmE6IDMsCiAgICBob3VyOiA0LAogICAgbWludXRlOiA1LAogICAgc2Vjb25kOiA2LAogIH07CgogIGZ1bmN0aW9uIGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSkgewogICAgY29uc3QgZm9ybWF0dGVkID0gZHRmLmZvcm1hdChkYXRlKS5yZXBsYWNlKC9cdTIwMEUvZywgIiIpLAogICAgICBwYXJzZWQgPSAvKFxkKylcLyhcZCspXC8oXGQrKSAoQUR8QkMpLD8gKFxkKyk6KFxkKyk6KFxkKykvLmV4ZWMoZm9ybWF0dGVkKSwKICAgICAgWywgZk1vbnRoLCBmRGF5LCBmWWVhciwgZmFkT3JCYywgZkhvdXIsIGZNaW51dGUsIGZTZWNvbmRdID0gcGFyc2VkOwogICAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07CiAgfQoKICBmdW5jdGlvbiBwYXJ0c09mZnNldChkdGYsIGRhdGUpIHsKICAgIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXRUb1BhcnRzKGRhdGUpOwogICAgY29uc3QgZmlsbGVkID0gW107CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykgewogICAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBmb3JtYXR0ZWRbaV07CiAgICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTsKCiAgICAgIGlmICh0eXBlID09PSAiZXJhIikgewogICAgICAgIGZpbGxlZFtwb3NdID0gdmFsdWU7CiAgICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHsKICAgICAgICBmaWxsZWRbcG9zXSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmaWxsZWQ7CiAgfQoKICBsZXQgaWFuYVpvbmVDYWNoZSA9IHt9OwogIC8qKgogICAqIEEgem9uZSBpZGVudGlmaWVkIGJ5IGFuIElBTkEgaWRlbnRpZmllciwgbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgSUFOQVpvbmUgZXh0ZW5kcyBab25lIHsKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWUKICAgICAqIEByZXR1cm4ge0lBTkFab25lfQogICAgICovCiAgICBzdGF0aWMgY3JlYXRlKG5hbWUpIHsKICAgICAgaWYgKCFpYW5hWm9uZUNhY2hlW25hbWVdKSB7CiAgICAgICAgaWFuYVpvbmVDYWNoZVtuYW1lXSA9IG5ldyBJQU5BWm9uZShuYW1lKTsKICAgICAgfQogICAgICByZXR1cm4gaWFuYVpvbmVDYWNoZVtuYW1lXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7CiAgICAgIGlhbmFab25lQ2FjaGUgPSB7fTsKICAgICAgZHRmQ2FjaGUgPSB7fTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlzIGEgdmFsaWQgc3BlY2lmaWVyLiBUaGlzIG9ubHkgY2hlY2tzIHRoZSBzdHJpbmcncyBmb3JtYXQsIG5vdCB0aGF0IHRoZSBzcGVjaWZpZXIgaWRlbnRpZmllcyBhIGtub3duIHpvbmU7IHNlZSBpc1ZhbGlkWm9uZSBmb3IgdGhhdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIHN0cmluZyB0byBjaGVjayB2YWxpZGl0eSBvbgogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiQW1lcmljYS9OZXdfWW9yayIpIC8vPT4gdHJ1ZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiU3BvcnR+fmJsb3JwIikgLy89PiBmYWxzZQogICAgICogQGRlcHJlY2F0ZWQgVGhpcyBtZXRob2QgcmV0dXJucyBmYWxzZSBmb3Igc29tZSB2YWxpZCBJQU5BIG5hbWVzLiBVc2UgaXNWYWxpZFpvbmUgaW5zdGVhZC4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkU3BlY2lmaWVyKHMpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZFpvbmUocyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHByb3ZpZGVkIHN0cmluZyBpZGVudGlmaWVzIGEgcmVhbCB6b25lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gem9uZSAtIFRoZSBzdHJpbmcgdG8gY2hlY2sKICAgICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKCJBbWVyaWNhL05ld19Zb3JrIikgLy89PiB0cnVlCiAgICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZSgiRmFudGFzaWEvQ2FzdGxlIikgLy89PiBmYWxzZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoIlNwb3J0fn5ibG9ycCIpIC8vPT4gZmFsc2UKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkWm9uZSh6b25lKSB7CiAgICAgIGlmICghem9uZSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICB0cnkgewogICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIsIHsgdGltZVpvbmU6IHpvbmUgfSkuZm9ybWF0KCk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdHJ1Y3RvcihuYW1lKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy56b25lTmFtZSA9IG5hbWU7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJpYW5hIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IG5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7CiAgICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSwgdGhpcy5uYW1lKTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh0aGlzLm9mZnNldCh0cyksIGZvcm1hdCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldCh0cykgewogICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpOwoKICAgICAgaWYgKGlzTmFOKGRhdGUpKSByZXR1cm4gTmFOOwoKICAgICAgY29uc3QgZHRmID0gbWFrZURURih0aGlzLm5hbWUpOwogICAgICBsZXQgW3llYXIsIG1vbnRoLCBkYXksIGFkT3JCYywgaG91ciwgbWludXRlLCBzZWNvbmRdID0gZHRmLmZvcm1hdFRvUGFydHMKICAgICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkKICAgICAgICA6IGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSk7CgogICAgICBpZiAoYWRPckJjID09PSAiQkMiKSB7CiAgICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7CiAgICAgIH0KCiAgICAgIC8vIGJlY2F1c2Ugd2UncmUgdXNpbmcgaG91cjEyIGFuZCBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMDI1NTY0JmNhbj0yJnE9JTIyMjQlM0EwMCUyMiUyMGRhdGV0aW1lZm9ybWF0CiAgICAgIGNvbnN0IGFkanVzdGVkSG91ciA9IGhvdXIgPT09IDI0ID8gMCA6IGhvdXI7CgogICAgICBjb25zdCBhc1VUQyA9IG9ialRvTG9jYWxUUyh7CiAgICAgICAgeWVhciwKICAgICAgICBtb250aCwKICAgICAgICBkYXksCiAgICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLAogICAgICAgIG1pbnV0ZSwKICAgICAgICBzZWNvbmQsCiAgICAgICAgbWlsbGlzZWNvbmQ6IDAsCiAgICAgIH0pOwoKICAgICAgbGV0IGFzVFMgPSArZGF0ZTsKICAgICAgY29uc3Qgb3ZlciA9IGFzVFMgJSAxMDAwOwogICAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjsKICAgICAgcmV0dXJuIChhc1VUQyAtIGFzVFMpIC8gKDYwICogMTAwMCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAiaWFuYSIgJiYgb3RoZXJab25lLm5hbWUgPT09IHRoaXMubmFtZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0aGlzLnZhbGlkOwogICAgfQogIH0KCiAgLy8gdG9kbyAtIHJlbWFwIGNhY2hpbmcKCiAgbGV0IGludGxMRkNhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkTEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBkdGYgPSBpbnRsTEZDYWNoZVtrZXldOwogICAgaWYgKCFkdGYpIHsKICAgICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTEZDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsRFRDYWNoZSA9IHt9OwogIGZ1bmN0aW9uIGdldENhY2hlZERURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkgewogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pOwogICAgbGV0IGR0ZiA9IGludGxEVENhY2hlW2tleV07CiAgICBpZiAoIWR0ZikgewogICAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsRFRDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsTnVtQ2FjaGUgPSB7fTsKICBmdW5jdGlvbiBnZXRDYWNoZWRJTkYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBpbmYgPSBpbnRsTnVtQ2FjaGVba2V5XTsKICAgIGlmICghaW5mKSB7CiAgICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTnVtQ2FjaGVba2V5XSA9IGluZjsKICAgIH0KICAgIHJldHVybiBpbmY7CiAgfQoKICBsZXQgaW50bFJlbENhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkUlRGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7CiAgICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9ucwogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgY2FjaGVLZXlPcHRzXSk7CiAgICBsZXQgaW5mID0gaW50bFJlbENhY2hlW2tleV07CiAgICBpZiAoIWluZikgewogICAgICBpbmYgPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQobG9jU3RyaW5nLCBvcHRzKTsKICAgICAgaW50bFJlbENhY2hlW2tleV0gPSBpbmY7CiAgICB9CiAgICByZXR1cm4gaW5mOwogIH0KCiAgbGV0IHN5c0xvY2FsZUNhY2hlID0gbnVsbDsKICBmdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7CiAgICBpZiAoc3lzTG9jYWxlQ2FjaGUpIHsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfSBlbHNlIHsKICAgICAgc3lzTG9jYWxlQ2FjaGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VMb2NhbGVTdHJpbmcobG9jYWxlU3RyKSB7CiAgICAvLyBJIHJlYWxseSB3YW50IHRvIGF2b2lkIHdyaXRpbmcgYSBCQ1AgNDcgcGFyc2VyCiAgICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDcKICAgIC8vIEluc3RlYWQsIHdlJ2xsIGRvIHRoaXM6CgogICAgLy8gYSkgaWYgdGhlIHN0cmluZyBoYXMgbm8gLXUgZXh0ZW5zaW9ucywganVzdCBsZWF2ZSBpdCBhbG9uZQogICAgLy8gYikgaWYgaXQgZG9lcywgdXNlIEludGwgdG8gcmVzb2x2ZSBldmVyeXRoaW5nCiAgICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXUKCiAgICAvLyBwcml2YXRlIHN1YnRhZ3MgYW5kIHVuaWNvZGUgc3VidGFncyBoYXZlIG9yZGVyaW5nIHJlcXVpcmVtZW50cywKICAgIC8vIGFuZCB3ZSdyZSBub3QgcHJvcGVybHkgcGFyc2luZyB0aGlzLCBzbyBqdXN0IHN0cmlwIG91dCB0aGUKICAgIC8vIHByaXZhdGUgb25lcyBpZiB0aGV5IGV4aXN0LgogICAgY29uc3QgeEluZGV4ID0gbG9jYWxlU3RyLmluZGV4T2YoIi14LSIpOwogICAgaWYgKHhJbmRleCAhPT0gLTEpIHsKICAgICAgbG9jYWxlU3RyID0gbG9jYWxlU3RyLnN1YnN0cmluZygwLCB4SW5kZXgpOwogICAgfQoKICAgIGNvbnN0IHVJbmRleCA9IGxvY2FsZVN0ci5pbmRleE9mKCItdS0iKTsKICAgIGlmICh1SW5kZXggPT09IC0xKSB7CiAgICAgIHJldHVybiBbbG9jYWxlU3RyXTsKICAgIH0gZWxzZSB7CiAgICAgIGxldCBvcHRpb25zOwogICAgICBsZXQgc2VsZWN0ZWRTdHI7CiAgICAgIHRyeSB7CiAgICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gbG9jYWxlU3RyOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTsKICAgICAgICBvcHRpb25zID0gZ2V0Q2FjaGVkRFRGKHNtYWxsZXIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gc21hbGxlcjsKICAgICAgfQoKICAgICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zOwogICAgICByZXR1cm4gW3NlbGVjdGVkU3RyLCBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyXTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGludGxDb25maWdTdHJpbmcobG9jYWxlU3RyLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSB7CiAgICBpZiAob3V0cHV0Q2FsZW5kYXIgfHwgbnVtYmVyaW5nU3lzdGVtKSB7CiAgICAgIGlmICghbG9jYWxlU3RyLmluY2x1ZGVzKCItdS0iKSkgewogICAgICAgIGxvY2FsZVN0ciArPSAiLXUiOwogICAgICB9CgogICAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1jYS0ke291dHB1dENhbGVuZGFyfWA7CiAgICAgIH0KCiAgICAgIGlmIChudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gOwogICAgICB9CiAgICAgIHJldHVybiBsb2NhbGVTdHI7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbG9jYWxlU3RyOwogICAgfQogIH0KCiAgZnVuY3Rpb24gbWFwTW9udGhzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMjsgaSsrKSB7CiAgICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpOwogICAgICBtcy5wdXNoKGYoZHQpKTsKICAgIH0KICAgIHJldHVybiBtczsKICB9CgogIGZ1bmN0aW9uIG1hcFdlZWtkYXlzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHsKICAgICAgY29uc3QgZHQgPSBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzICsgaSk7CiAgICAgIG1zLnB1c2goZihkdCkpOwogICAgfQogICAgcmV0dXJuIG1zOwogIH0KCiAgZnVuY3Rpb24gbGlzdFN0dWZmKGxvYywgbGVuZ3RoLCBkZWZhdWx0T0ssIGVuZ2xpc2hGbiwgaW50bEZuKSB7CiAgICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7CgogICAgaWYgKG1vZGUgPT09ICJlcnJvciIpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgaWYgKG1vZGUgPT09ICJlbiIpIHsKICAgICAgcmV0dXJuIGVuZ2xpc2hGbihsZW5ndGgpOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIGludGxGbihsZW5ndGgpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHsKICAgIGlmIChsb2MubnVtYmVyaW5nU3lzdGVtICYmIGxvYy5udW1iZXJpbmdTeXN0ZW0gIT09ICJsYXRuIikgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gKAogICAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09ICJsYXRuIiB8fAogICAgICAgICFsb2MubG9jYWxlIHx8CiAgICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKCJlbiIpIHx8CiAgICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jLmludGwpLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmluZ1N5c3RlbSA9PT0gImxhdG4iCiAgICAgICk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBQb2x5TnVtYmVyRm9ybWF0dGVyIHsKICAgIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7CiAgICAgIHRoaXMucGFkVG8gPSBvcHRzLnBhZFRvIHx8IDA7CiAgICAgIHRoaXMuZmxvb3IgPSBvcHRzLmZsb29yIHx8IGZhbHNlOwoKICAgICAgY29uc3QgeyBwYWRUbywgZmxvb3IsIC4uLm90aGVyT3B0cyB9ID0gb3B0czsKCiAgICAgIGlmICghZm9yY2VTaW1wbGUgfHwgT2JqZWN0LmtleXMob3RoZXJPcHRzKS5sZW5ndGggPiAwKSB7CiAgICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9OwogICAgICAgIGlmIChvcHRzLnBhZFRvID4gMCkgaW50bE9wdHMubWluaW11bUludGVnZXJEaWdpdHMgPSBvcHRzLnBhZFRvOwogICAgICAgIHRoaXMuaW5mID0gZ2V0Q2FjaGVkSU5GKGludGwsIGludGxPcHRzKTsKICAgICAgfQogICAgfQoKICAgIGZvcm1hdChpKSB7CiAgICAgIGlmICh0aGlzLmluZikgewogICAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpOwogICAgICAgIHJldHVybiB0aGlzLmluZi5mb3JtYXQoZml4ZWQpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzCiAgICAgICAgY29uc3QgZml4ZWQgPSB0aGlzLmZsb29yID8gTWF0aC5mbG9vcihpKSA6IHJvdW5kVG8oaSwgMyk7CiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KGZpeGVkLCB0aGlzLnBhZFRvKTsKICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY2xhc3MgUG9seURhdGVGb3JtYXR0ZXIgewogICAgY29uc3RydWN0b3IoZHQsIGludGwsIG9wdHMpIHsKICAgICAgdGhpcy5vcHRzID0gb3B0czsKCiAgICAgIGxldCB6ID0gdW5kZWZpbmVkOwogICAgICBpZiAoZHQuem9uZS5pc1VuaXZlcnNhbCkgewogICAgICAgIC8vIFVUQy04IG9yIEV0Yy9VVEMtOCBhcmUgbm90IHBhcnQgb2YgdHpkYXRhLCBvbmx5IEV0Yy9HTVQrOCBhbmQgdGhlIGxpa2UuCiAgICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczoKICAgICAgICAvLyAxLiBSZXByZXNlbnRpbmcgb2Zmc2V0IDAgd2hlbiBVVEMgaXMgdXNlZCB0byBtYWludGFpbiBwcmV2aW91cyBiZWhhdmlvciBhbmQgZG9lcyBub3QgYmVjb21lIEdNVC4KICAgICAgICAvLyAyLiBVbnN1cHBvcnRlZCBieSB0aGUgYnJvd3NlcjoKICAgICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjLwogICAgICAgIC8vICAgIC0gPCBFdGMvR01ULTE0LCA+IEV0Yy9HTVQrMTIsIGFuZCAzMC1taW51dGUgb3IgNDUtbWludXRlIG9mZnNldHMgYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YQogICAgICAgIGNvbnN0IGdtdE9mZnNldCA9IC0xICogKGR0Lm9mZnNldCAvIDYwKTsKICAgICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gOwogICAgICAgIGlmIChkdC5vZmZzZXQgIT09IDAgJiYgSUFOQVpvbmUuY3JlYXRlKG9mZnNldFopLnZhbGlkKSB7CiAgICAgICAgICB6ID0gb2Zmc2V0WjsKICAgICAgICAgIHRoaXMuZHQgPSBkdDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gTm90IGFsbCBmaXhlZC1vZmZzZXQgem9uZXMgbGlrZSBFdGMvKzQ6MzAgYXJlIHByZXNlbnQgaW4gdHpkYXRhLgogICAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6CiAgICAgICAgICAvLyAxLiBUaGUgZm9ybWF0IG9wdGlvbnMgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBXZSBjYW4ndCBkbyB0aGF0LCBzbyB0aGUgYmVzdAogICAgICAgICAgLy8gd2UgY2FuIGRvIGlzIGZvcm1hdCB0aGUgZGF0ZSBpbiBVVEMuCiAgICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbQogICAgICAgICAgLy8gdGhlIHRpbWUgYW5kIHRlbGwgdGhlIGZvcm1hdHRlciB0byBzaG93IGl0IHRvIHVzIGluIFVUQywgc28gdGhhdCB0aGUgdGltZSBpcyByaWdodAogICAgICAgICAgLy8gYW5kIHRoZSBiYWQgem9uZSBkb2Vzbid0IHNob3cgdXAuCiAgICAgICAgICB6ID0gIlVUQyI7CiAgICAgICAgICBpZiAob3B0cy50aW1lWm9uZU5hbWUpIHsKICAgICAgICAgICAgdGhpcy5kdCA9IGR0OwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpcy5kdCA9IGR0Lm9mZnNldCA9PT0gMCA/IGR0IDogRGF0ZVRpbWUuZnJvbU1pbGxpcyhkdC50cyArIGR0Lm9mZnNldCAqIDYwICogMTAwMCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGR0LnpvbmUudHlwZSA9PT0gInN5c3RlbSIpIHsKICAgICAgICB0aGlzLmR0ID0gZHQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5kdCA9IGR0OwogICAgICAgIHogPSBkdC56b25lLm5hbWU7CiAgICAgIH0KCiAgICAgIGNvbnN0IGludGxPcHRzID0geyAuLi50aGlzLm9wdHMgfTsKICAgICAgaW50bE9wdHMudGltZVpvbmUgPSBpbnRsT3B0cy50aW1lWm9uZSB8fCB6OwogICAgICB0aGlzLmR0ZiA9IGdldENhY2hlZERURihpbnRsLCBpbnRsT3B0cyk7CiAgICB9CgogICAgZm9ybWF0KCkgewogICAgICByZXR1cm4gdGhpcy5kdGYuZm9ybWF0KHRoaXMuZHQudG9KU0RhdGUoKSk7CiAgICB9CgogICAgZm9ybWF0VG9QYXJ0cygpIHsKICAgICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTsKICAgIH0KCiAgICByZXNvbHZlZE9wdGlvbnMoKSB7CiAgICAgIHJldHVybiB0aGlzLmR0Zi5yZXNvbHZlZE9wdGlvbnMoKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgY2xhc3MgUG9seVJlbEZvcm1hdHRlciB7CiAgICBjb25zdHJ1Y3RvcihpbnRsLCBpc0VuZ2xpc2gsIG9wdHMpIHsKICAgICAgdGhpcy5vcHRzID0geyBzdHlsZTogImxvbmciLCAuLi5vcHRzIH07CiAgICAgIGlmICghaXNFbmdsaXNoICYmIGhhc1JlbGF0aXZlKCkpIHsKICAgICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTsKICAgICAgfQogICAgfQoKICAgIGZvcm1hdChjb3VudCwgdW5pdCkgewogICAgICBpZiAodGhpcy5ydGYpIHsKICAgICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0KGNvdW50LCB1bml0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCB0aGlzLm9wdHMubnVtZXJpYywgdGhpcy5vcHRzLnN0eWxlICE9PSAibG9uZyIpOwogICAgICB9CiAgICB9CgogICAgZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCkgewogICAgICBpZiAodGhpcy5ydGYpIHsKICAgICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBMb2NhbGUgewogICAgc3RhdGljIGZyb21PcHRzKG9wdHMpIHsKICAgICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTsKICAgIH0KCiAgICBzdGF0aWMgY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciwgZGVmYXVsdFRvRU4gPSBmYWxzZSkgewogICAgICBjb25zdCBzcGVjaWZpZWRMb2NhbGUgPSBsb2NhbGUgfHwgU2V0dGluZ3MuZGVmYXVsdExvY2FsZTsKICAgICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHMKICAgICAgY29uc3QgbG9jYWxlUiA9IHNwZWNpZmllZExvY2FsZSB8fCAoZGVmYXVsdFRvRU4gPyAiZW4tVVMiIDogc3lzdGVtTG9jYWxlKCkpOwogICAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07CiAgICAgIGNvbnN0IG91dHB1dENhbGVuZGFyUiA9IG91dHB1dENhbGVuZGFyIHx8IFNldHRpbmdzLmRlZmF1bHRPdXRwdXRDYWxlbmRhcjsKICAgICAgcmV0dXJuIG5ldyBMb2NhbGUobG9jYWxlUiwgbnVtYmVyaW5nU3lzdGVtUiwgb3V0cHV0Q2FsZW5kYXJSLCBzcGVjaWZpZWRMb2NhbGUpOwogICAgfQoKICAgIHN0YXRpYyByZXNldENhY2hlKCkgewogICAgICBzeXNMb2NhbGVDYWNoZSA9IG51bGw7CiAgICAgIGludGxEVENhY2hlID0ge307CiAgICAgIGludGxOdW1DYWNoZSA9IHt9OwogICAgICBpbnRsUmVsQ2FjaGUgPSB7fTsKICAgIH0KCiAgICBzdGF0aWMgZnJvbU9iamVjdCh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciB9ID0ge30pIHsKICAgICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTsKICAgIH0KCiAgICBjb25zdHJ1Y3Rvcihsb2NhbGUsIG51bWJlcmluZywgb3V0cHV0Q2FsZW5kYXIsIHNwZWNpZmllZExvY2FsZSkgewogICAgICBjb25zdCBbcGFyc2VkTG9jYWxlLCBwYXJzZWROdW1iZXJpbmdTeXN0ZW0sIHBhcnNlZE91dHB1dENhbGVuZGFyXSA9IHBhcnNlTG9jYWxlU3RyaW5nKGxvY2FsZSk7CgogICAgICB0aGlzLmxvY2FsZSA9IHBhcnNlZExvY2FsZTsKICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7CiAgICAgIHRoaXMub3V0cHV0Q2FsZW5kYXIgPSBvdXRwdXRDYWxlbmRhciB8fCBwYXJzZWRPdXRwdXRDYWxlbmRhciB8fCBudWxsOwogICAgICB0aGlzLmludGwgPSBpbnRsQ29uZmlnU3RyaW5nKHRoaXMubG9jYWxlLCB0aGlzLm51bWJlcmluZ1N5c3RlbSwgdGhpcy5vdXRwdXRDYWxlbmRhcik7CgogICAgICB0aGlzLndlZWtkYXlzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07CiAgICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07CiAgICAgIHRoaXMubWVyaWRpZW1DYWNoZSA9IG51bGw7CiAgICAgIHRoaXMuZXJhQ2FjaGUgPSB7fTsKCiAgICAgIHRoaXMuc3BlY2lmaWVkTG9jYWxlID0gc3BlY2lmaWVkTG9jYWxlOwogICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDsKICAgIH0KCiAgICBnZXQgZmFzdE51bWJlcnMoKSB7CiAgICAgIGlmICh0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID09IG51bGwpIHsKICAgICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMuZmFzdE51bWJlcnNDYWNoZWQ7CiAgICB9CgogICAgbGlzdGluZ01vZGUoKSB7CiAgICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7CiAgICAgIGNvbnN0IGhhc05vV2VpcmRuZXNzID0KICAgICAgICAodGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG51bGwgfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09ICJsYXRuIikgJiYKICAgICAgICAodGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gbnVsbCB8fCB0aGlzLm91dHB1dENhbGVuZGFyID09PSAiZ3JlZ29yeSIpOwogICAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gImVuIiA6ICJpbnRsIjsKICAgIH0KCiAgICBjbG9uZShhbHRzKSB7CiAgICAgIGlmICghYWx0cyB8fCBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhbHRzKS5sZW5ndGggPT09IDApIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gTG9jYWxlLmNyZWF0ZSgKICAgICAgICAgIGFsdHMubG9jYWxlIHx8IHRoaXMuc3BlY2lmaWVkTG9jYWxlLAogICAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sCiAgICAgICAgICBhbHRzLm91dHB1dENhbGVuZGFyIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIsCiAgICAgICAgICBhbHRzLmRlZmF1bHRUb0VOIHx8IGZhbHNlCiAgICAgICAgKTsKICAgICAgfQogICAgfQoKICAgIHJlZGVmYXVsdFRvRU4oYWx0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7CiAgICB9CgogICAgcmVkZWZhdWx0VG9TeXN0ZW0oYWx0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IGZhbHNlIH0pOwogICAgfQoKICAgIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7CiAgICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIG1vbnRocywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogIm51bWVyaWMiIH0gOiB7IG1vbnRoOiBsZW5ndGggfSwKICAgICAgICAgIGZvcm1hdFN0ciA9IGZvcm1hdCA/ICJmb3JtYXQiIDogInN0YW5kYWxvbmUiOwogICAgICAgIGlmICghdGhpcy5tb250aHNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHsKICAgICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCAibW9udGgiKSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgd2Vla2RheXMobGVuZ3RoLCBmb3JtYXQgPSBmYWxzZSwgZGVmYXVsdE9LID0gdHJ1ZSkgewogICAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCB3ZWVrZGF5cywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQKICAgICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogIm51bWVyaWMiLCBtb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiB9CiAgICAgICAgICAgIDogeyB3ZWVrZGF5OiBsZW5ndGggfSwKICAgICAgICAgIGZvcm1hdFN0ciA9IGZvcm1hdCA/ICJmb3JtYXQiIDogInN0YW5kYWxvbmUiOwogICAgICAgIGlmICghdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSkgewogICAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT4KICAgICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCAid2Vla2RheSIpCiAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgbWVyaWRpZW1zKGRlZmF1bHRPSyA9IHRydWUpIHsKICAgICAgcmV0dXJuIGxpc3RTdHVmZigKICAgICAgICB0aGlzLAogICAgICAgIHVuZGVmaW5lZCwKICAgICAgICBkZWZhdWx0T0ssCiAgICAgICAgKCkgPT4gbWVyaWRpZW1zLAogICAgICAgICgpID0+IHsKICAgICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvCiAgICAgICAgICAvLyBmb3IgQU0gYW5kIFBNLiBUaGlzIGlzIHByb2JhYmx5IHdyb25nLCBidXQgaXQncyBtYWtlcyBwYXJzaW5nIHdheSBlYXNpZXIuCiAgICAgICAgICBpZiAoIXRoaXMubWVyaWRpZW1DYWNoZSkgewogICAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiAibnVtZXJpYyIsIGhvdXJDeWNsZTogImgxMiIgfTsKICAgICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcCgKICAgICAgICAgICAgICAoZHQpID0+IHRoaXMuZXh0cmFjdChkdCwgaW50bCwgImRheXBlcmlvZCIpCiAgICAgICAgICAgICk7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHRoaXMubWVyaWRpZW1DYWNoZTsKICAgICAgICB9CiAgICAgICk7CiAgICB9CgogICAgZXJhcyhsZW5ndGgsIGRlZmF1bHRPSyA9IHRydWUpIHsKICAgICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgZXJhcywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSB7IGVyYTogbGVuZ3RoIH07CgogICAgICAgIC8vIFRoaXMgaXMgcHJvYmxlbWF0aWMuIERpZmZlcmVudCBjYWxlbmRhcnMgYXJlIGdvaW5nIHRvIGRlZmluZSBlcmFzIHRvdGFsbHkgZGlmZmVyZW50bHkuIFdoYXQgSSBuZWVkIGlzIHRoZSBtaW5pbXVtIHNldCBvZiBkYXRlcwogICAgICAgIC8vIHRvIGRlZmluaXRlbHkgZW51bWVyYXRlIHRoZW0uCiAgICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHsKICAgICAgICAgIHRoaXMuZXJhQ2FjaGVbbGVuZ3RoXSA9IFtEYXRlVGltZS51dGMoLTQwLCAxLCAxKSwgRGF0ZVRpbWUudXRjKDIwMTcsIDEsIDEpXS5tYXAoKGR0KSA9PgogICAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsICJlcmEiKQogICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB0aGlzLmVyYUNhY2hlW2xlbmd0aF07CiAgICAgIH0pOwogICAgfQoKICAgIGV4dHJhY3QoZHQsIGludGxPcHRzLCBmaWVsZCkgewogICAgICBjb25zdCBkZiA9IHRoaXMuZHRGb3JtYXR0ZXIoZHQsIGludGxPcHRzKSwKICAgICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLAogICAgICAgIG1hdGNoaW5nID0gcmVzdWx0cy5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZmllbGQpOwogICAgICByZXR1cm4gbWF0Y2hpbmcgPyBtYXRjaGluZy52YWx1ZSA6IG51bGw7CiAgICB9CgogICAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkgewogICAgICAvLyB0aGlzIGZvcmNlc2ltcGxlIG9wdGlvbiBpcyBuZXZlciB1c2VkICh0aGUgb25seSBjYWxsZXIgc2hvcnQtY2lyY3VpdHMgb24gaXQsIGJ1dCBpdCBzZWVtcyBzYWZlciB0byBsZWF2ZSkKICAgICAgLy8gKGluIGNvbnRyYXN0LCB0aGUgcmVzdCBvZiB0aGUgY29uZGl0aW9uIGlzIHVzZWQgaGVhdmlseSkKICAgICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTsKICAgIH0KCiAgICBkdEZvcm1hdHRlcihkdCwgaW50bE9wdHMgPSB7fSkgewogICAgICByZXR1cm4gbmV3IFBvbHlEYXRlRm9ybWF0dGVyKGR0LCB0aGlzLmludGwsIGludGxPcHRzKTsKICAgIH0KCiAgICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiBuZXcgUG9seVJlbEZvcm1hdHRlcih0aGlzLmludGwsIHRoaXMuaXNFbmdsaXNoKCksIG9wdHMpOwogICAgfQoKICAgIGxpc3RGb3JtYXR0ZXIob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpOwogICAgfQoKICAgIGlzRW5nbGlzaCgpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB0aGlzLmxvY2FsZSA9PT0gImVuIiB8fAogICAgICAgIHRoaXMubG9jYWxlLnRvTG93ZXJDYXNlKCkgPT09ICJlbi11cyIgfHwKICAgICAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmludGwpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZS5zdGFydHNXaXRoKCJlbi11cyIpCiAgICAgICk7CiAgICB9CgogICAgZXF1YWxzKG90aGVyKSB7CiAgICAgIHJldHVybiAoCiAgICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJgogICAgICAgIHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBvdGhlci5udW1iZXJpbmdTeXN0ZW0gJiYKICAgICAgICB0aGlzLm91dHB1dENhbGVuZGFyID09PSBvdGhlci5vdXRwdXRDYWxlbmRhcgogICAgICApOwogICAgfQogIH0KCiAgbGV0IHNpbmdsZXRvbiA9IG51bGw7CgogIC8qKgogICAqIEEgem9uZSB3aXRoIGEgZml4ZWQgb2Zmc2V0IChtZWFuaW5nIG5vIERTVCkKICAgKiBAaW1wbGVtZW50cyB7Wm9uZX0KICAgKi8KICBjbGFzcyBGaXhlZE9mZnNldFpvbmUgZXh0ZW5kcyBab25lIHsKICAgIC8qKgogICAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQwogICAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfQogICAgICovCiAgICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkgewogICAgICBpZiAoc2luZ2xldG9uID09PSBudWxsKSB7CiAgICAgICAgc2luZ2xldG9uID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZSgwKTsKICAgICAgfQogICAgICByZXR1cm4gc2luZ2xldG9uOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2Zmc2V0IC0gVGhlIG9mZnNldCBpbiBtaW51dGVzCiAgICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBpbnN0YW5jZShvZmZzZXQpIHsKICAgICAgcmV0dXJuIG9mZnNldCA9PT0gMCA/IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZSA6IG5ldyBGaXhlZE9mZnNldFpvbmUob2Zmc2V0KTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCBhbiBpbnN0YW5jZSBvZiBGaXhlZE9mZnNldFpvbmUgZnJvbSBhIFVUQyBvZmZzZXQgc3RyaW5nLCBsaWtlICJVVEMrNiIKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcigiVVRDKzYiKQogICAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKCJVVEMrMDYiKQogICAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKCJVVEMtNjowMCIpCiAgICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7CiAgICAgIGlmIChzKSB7CiAgICAgICAgY29uc3QgciA9IHMubWF0Y2goL151dGMoPzooWystXVxkezEsMn0pKD86OihcZHsyfSkpPyk/JC9pKTsKICAgICAgICBpZiAocikgewogICAgICAgICAgcmV0dXJuIG5ldyBGaXhlZE9mZnNldFpvbmUoc2lnbmVkT2Zmc2V0KHJbMV0sIHJbMl0pKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgY29uc3RydWN0b3Iob2Zmc2V0KSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy5maXhlZCA9IG9mZnNldDsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IHR5cGUoKSB7CiAgICAgIHJldHVybiAiZml4ZWQiOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuZml4ZWQgPT09IDAgPyAiVVRDIiA6IGBVVEMke2Zvcm1hdE9mZnNldCh0aGlzLmZpeGVkLCAibmFycm93Iil9YDsKICAgIH0KCiAgICBnZXQgaWFuYU5hbWUoKSB7CiAgICAgIGlmICh0aGlzLmZpeGVkID09PSAwKSB7CiAgICAgICAgcmV0dXJuICJFdGMvVVRDIjsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgIm5hcnJvdyIpfWA7CiAgICAgIH0KICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMubmFtZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh0aGlzLmZpeGVkLCBmb3JtYXQpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXQoKSB7CiAgICAgIHJldHVybiB0aGlzLmZpeGVkOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBlcXVhbHMob3RoZXJab25lKSB7CiAgICAgIHJldHVybiBvdGhlclpvbmUudHlwZSA9PT0gImZpeGVkIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIC8qKgogICAqIEEgem9uZSB0aGF0IGZhaWxlZCB0byBwYXJzZS4gWW91IHNob3VsZCBuZXZlciBuZWVkIHRvIGluc3RhbnRpYXRlIHRoaXMuCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgSW52YWxpZFpvbmUgZXh0ZW5kcyBab25lIHsKICAgIGNvbnN0cnVjdG9yKHpvbmVOYW1lKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiAgQHByaXZhdGUgKi8KICAgICAgdGhpcy56b25lTmFtZSA9IHpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJpbnZhbGlkIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IG5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSgpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGZvcm1hdE9mZnNldCgpIHsKICAgICAgcmV0dXJuICIiOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXQoKSB7CiAgICAgIHJldHVybiBOYU47CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscygpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHsKICAgIGlmIChpc1VuZGVmaW5lZChpbnB1dCkgfHwgaW5wdXQgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIGRlZmF1bHRab25lOwogICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHsKICAgICAgcmV0dXJuIGlucHV0OwogICAgfSBlbHNlIGlmIChpc1N0cmluZyhpbnB1dCkpIHsKICAgICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7CiAgICAgIGlmIChsb3dlcmVkID09PSAiZGVmYXVsdCIpIHJldHVybiBkZWZhdWx0Wm9uZTsKICAgICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gImxvY2FsIiB8fCBsb3dlcmVkID09PSAic3lzdGVtIikgcmV0dXJuIFN5c3RlbVpvbmUuaW5zdGFuY2U7CiAgICAgIGVsc2UgaWYgKGxvd2VyZWQgPT09ICJ1dGMiIHx8IGxvd2VyZWQgPT09ICJnbXQiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlOwogICAgICBlbHNlIHJldHVybiBGaXhlZE9mZnNldFpvbmUucGFyc2VTcGVjaWZpZXIobG93ZXJlZCkgfHwgSUFOQVpvbmUuY3JlYXRlKGlucHV0KTsKICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoaW5wdXQpKSB7CiAgICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpOwogICAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQgPT09ICJvYmplY3QiICYmIGlucHV0Lm9mZnNldCAmJiB0eXBlb2YgaW5wdXQub2Zmc2V0ID09PSAibnVtYmVyIikgewogICAgICAvLyBUaGlzIGlzIGR1bWIsIGJ1dCB0aGUgaW5zdGFuY2VvZiBjaGVjayBhYm92ZSBkb2Vzbid0IHNlZW0gdG8gcmVhbGx5IHdvcmsKICAgICAgLy8gc28gd2UncmUgZHVjayBjaGVja2luZyBpdAogICAgICByZXR1cm4gaW5wdXQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmV3IEludmFsaWRab25lKGlucHV0KTsKICAgIH0KICB9CgogIGxldCBub3cgPSAoKSA9PiBEYXRlLm5vdygpLAogICAgZGVmYXVsdFpvbmUgPSAic3lzdGVtIiwKICAgIGRlZmF1bHRMb2NhbGUgPSBudWxsLAogICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bGwsCiAgICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLAogICAgdHdvRGlnaXRDdXRvZmZZZWFyID0gNjAsCiAgICB0aHJvd09uSW52YWxpZDsKCiAgLyoqCiAgICogU2V0dGluZ3MgY29udGFpbnMgc3RhdGljIGdldHRlcnMgYW5kIHNldHRlcnMgdGhhdCBjb250cm9sIEx1eG9uJ3Mgb3ZlcmFsbCBiZWhhdmlvci4gTHV4b24gaXMgYSBzaW1wbGUgbGlicmFyeSB3aXRoIGZldyBvcHRpb25zLCBidXQgdGhlIG9uZXMgaXQgZG9lcyBoYXZlIGxpdmUgaGVyZS4KICAgKi8KICBjbGFzcyBTZXR0aW5ncyB7CiAgICAvKioKICAgICAqIEdldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuCiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgbm93KCkgewogICAgICByZXR1cm4gbm93OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjYWxsYmFjayBmb3IgcmV0dXJuaW5nIHRoZSBjdXJyZW50IHRpbWVzdGFtcC4KICAgICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50CiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiBEYXRlLm5vdygpICsgMzAwMCAvLyBwcmV0ZW5kIGl0IGlzIDMgc2Vjb25kcyBpbiB0aGUgZnV0dXJlCiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWUKICAgICAqLwogICAgc3RhdGljIHNldCBub3cobikgewogICAgICBub3cgPSBuOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSB0byBjcmVhdGUgRGF0ZVRpbWVzIGluLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogVXNlIHRoZSB2YWx1ZSAic3lzdGVtIiB0byByZXNldCB0aGlzIHZhbHVlIHRvIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgc2V0IGRlZmF1bHRab25lKHpvbmUpIHsKICAgICAgZGVmYXVsdFpvbmUgPSB6b25lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSBvYmplY3QgY3VycmVudGx5IHVzZWQgdG8gY3JlYXRlIERhdGVUaW1lcy4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUgKHRoZSBvbmUgc2V0IG9uIHRoZSBtYWNoaW5lIHRoYXQgcnVucyB0aGlzIGNvZGUpLgogICAgICogQHR5cGUge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgZGVmYXVsdFpvbmUoKSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TG9jYWxlKCkgewogICAgICByZXR1cm4gZGVmYXVsdExvY2FsZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIHNldCBkZWZhdWx0TG9jYWxlKGxvY2FsZSkgewogICAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IG51bWJlcmluZyBzeXN0ZW0gdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbShudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBvdXRwdXQgY2FsZW5kYXIgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIoKSB7CiAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKG91dHB1dENhbGVuZGFyKSB7CiAgICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjdXRvZmYgeWVhciBhZnRlciB3aGljaCBhIHN0cmluZyBlbmNvZGluZyBhIHllYXIgYXMgdHdvIGRpZ2l0cyBpcyBpbnRlcnByZXRlZCB0byBvY2N1ciBpbiB0aGUgY3VycmVudCBjZW50dXJ5LgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgc3RhdGljIGdldCB0d29EaWdpdEN1dG9mZlllYXIoKSB7CiAgICAgIHJldHVybiB0d29EaWdpdEN1dG9mZlllYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGN1dG9mZiB5ZWFyIGFmdGVyIHdoaWNoIGEgc3RyaW5nIGVuY29kaW5nIGEgeWVhciBhcyB0d28gZGlnaXRzIGlzIGludGVycHJldGVkIHRvIG9jY3VyIGluIHRoZSBjdXJyZW50IGNlbnR1cnkuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gMCAvLyBjdXQtb2ZmIHllYXIgaXMgMCwgc28gYWxsICd5eScgYXJlIGludGVycHJldHRlZCBhcyBjdXJyZW50IGNlbnR1cnkKICAgICAqIEBleGFtcGxlIFNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDUwIC8vICc0OScgLT4gMTk0OTsgJzUwJyAtPiAyMDUwCiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy50d29EaWdpdEN1dG9mZlllYXIgPSAxOTUwIC8vIGludGVycHJldHRlZCBhcyA1MAogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gMjA1MCAvLyBBTFNPIGludGVycHJldHRlZCBhcyA1MAogICAgICovCiAgICBzdGF0aWMgc2V0IHR3b0RpZ2l0Q3V0b2ZmWWVhcihjdXRvZmZZZWFyKSB7CiAgICAgIHR3b0RpZ2l0Q3V0b2ZmWWVhciA9IGN1dG9mZlllYXIgJSAxMDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgZ2V0IHRocm93T25JbnZhbGlkKCkgewogICAgICByZXR1cm4gdGhyb3dPbkludmFsaWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgc2V0IHRocm93T25JbnZhbGlkKHQpIHsKICAgICAgdGhyb3dPbkludmFsaWQgPSB0OwogICAgfQoKICAgIC8qKgogICAgICogUmVzZXQgTHV4b24ncyBnbG9iYWwgY2FjaGVzLiBTaG91bGQgb25seSBiZSBuZWNlc3NhcnkgaW4gdGVzdGluZyBzY2VuYXJpb3MuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBzdGF0aWMgcmVzZXRDYWNoZXMoKSB7CiAgICAgIExvY2FsZS5yZXNldENhY2hlKCk7CiAgICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTsKICAgIH0KICB9CgogIC8qCiAgICBUaGlzIGlzIGp1c3QgYSBqdW5rIGRyYXdlciwgY29udGFpbmluZyBhbnl0aGluZyB1c2VkIGFjcm9zcyBtdWx0aXBsZSBjbGFzc2VzLgogICAgQmVjYXVzZSBMdXhvbiBpcyBzbWFsbChpc2gpLCB0aGlzIHNob3VsZCBzdGF5IHNtYWxsIGFuZCB3ZSB3b24ndCB3b3JyeSBhYm91dCBzcGxpdHRpbmcKICAgIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS4KICAqLwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICAvLyBUWVBFUwoKICBmdW5jdGlvbiBpc1VuZGVmaW5lZChvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJ1bmRlZmluZWQiOwogIH0KCiAgZnVuY3Rpb24gaXNOdW1iZXIobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAibnVtYmVyIjsKICB9CgogIGZ1bmN0aW9uIGlzSW50ZWdlcihvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJudW1iZXIiICYmIG8gJSAxID09PSAwOwogIH0KCiAgZnVuY3Rpb24gaXNTdHJpbmcobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAic3RyaW5nIjsKICB9CgogIGZ1bmN0aW9uIGlzRGF0ZShvKSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pID09PSAiW29iamVjdCBEYXRlXSI7CiAgfQoKICAvLyBDQVBBQklMSVRJRVMKCiAgZnVuY3Rpb24gaGFzUmVsYXRpdmUoKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gdHlwZW9mIEludGwgIT09ICJ1bmRlZmluZWQiICYmICEhSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQ7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CgogIC8vIE9CSkVDVFMgQU5EIEFSUkFZUwoKICBmdW5jdGlvbiBtYXliZUFycmF5KHRoaW5nKSB7CiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107CiAgfQoKICBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkgewogICAgaWYgKGFyci5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0KICAgIHJldHVybiBhcnIucmVkdWNlKChiZXN0LCBuZXh0KSA9PiB7CiAgICAgIGNvbnN0IHBhaXIgPSBbYnkobmV4dCksIG5leHRdOwogICAgICBpZiAoIWJlc3QpIHsKICAgICAgICByZXR1cm4gcGFpcjsKICAgICAgfSBlbHNlIGlmIChjb21wYXJlKGJlc3RbMF0sIHBhaXJbMF0pID09PSBiZXN0WzBdKSB7CiAgICAgICAgcmV0dXJuIGJlc3Q7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhaXI7CiAgICAgIH0KICAgIH0sIG51bGwpWzFdOwogIH0KCiAgZnVuY3Rpb24gcGljayhvYmosIGtleXMpIHsKICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYSwgaykgPT4gewogICAgICBhW2tdID0gb2JqW2tdOwogICAgICByZXR1cm4gYTsKICAgIH0sIHt9KTsKICB9CgogIGZ1bmN0aW9uIGhhc093blByb3BlcnR5KG9iaiwgcHJvcCkgewogICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApOwogIH0KCiAgLy8gTlVNQkVSUyBBTkQgU1RSSU5HUwoKICBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHsKICAgIHJldHVybiBpc0ludGVnZXIodGhpbmcpICYmIHRoaW5nID49IGJvdHRvbSAmJiB0aGluZyA8PSB0b3A7CiAgfQoKICAvLyB4ICUgbiBidXQgdGFrZXMgdGhlIHNpZ24gb2YgbiBpbnN0ZWFkIG9mIHgKICBmdW5jdGlvbiBmbG9vck1vZCh4LCBuKSB7CiAgICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTsKICB9CgogIGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikgewogICAgY29uc3QgaXNOZWcgPSBpbnB1dCA8IDA7CiAgICBsZXQgcGFkZGVkOwogICAgaWYgKGlzTmVnKSB7CiAgICAgIHBhZGRlZCA9ICItIiArICgiIiArIC1pbnB1dCkucGFkU3RhcnQobiwgIjAiKTsKICAgIH0gZWxzZSB7CiAgICAgIHBhZGRlZCA9ICgiIiArIGlucHV0KS5wYWRTdGFydChuLCAiMCIpOwogICAgfQogICAgcmV0dXJuIHBhZGRlZDsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSW50ZWdlcihzdHJpbmcpIHsKICAgIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09ICIiKSB7CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZUZsb2F0aW5nKHN0cmluZykgewogICAgaWYgKGlzVW5kZWZpbmVkKHN0cmluZykgfHwgc3RyaW5nID09PSBudWxsIHx8IHN0cmluZyA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZU1pbGxpcyhmcmFjdGlvbikgewogICAgLy8gUmV0dXJuIHVuZGVmaW5lZCAoaW5zdGVhZCBvZiAwKSBpbiB0aGVzZSBjYXNlcywgd2hlcmUgZnJhY3Rpb24gaXMgbm90IHNldAogICAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IGYgPSBwYXJzZUZsb2F0KCIwLiIgKyBmcmFjdGlvbikgKiAxMDAwOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihmKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHJvdW5kVG8obnVtYmVyLCBkaWdpdHMsIHRvd2FyZFplcm8gPSBmYWxzZSkgewogICAgY29uc3QgZmFjdG9yID0gMTAgKiogZGlnaXRzLAogICAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kOwogICAgcmV0dXJuIHJvdW5kZXIobnVtYmVyICogZmFjdG9yKSAvIGZhY3RvcjsKICB9CgogIC8vIERBVEUgQkFTSUNTCgogIGZ1bmN0aW9uIGlzTGVhcFllYXIoeWVhcikgewogICAgcmV0dXJuIHllYXIgJSA0ID09PSAwICYmICh5ZWFyICUgMTAwICE9PSAwIHx8IHllYXIgJSA0MDAgPT09IDApOwogIH0KCiAgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTsKICB9CgogIGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7CiAgICBjb25zdCBtb2RNb250aCA9IGZsb29yTW9kKG1vbnRoIC0gMSwgMTIpICsgMSwKICAgICAgbW9kWWVhciA9IHllYXIgKyAobW9udGggLSBtb2RNb250aCkgLyAxMjsKCiAgICBpZiAobW9kTW9udGggPT09IDIpIHsKICAgICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIFszMSwgbnVsbCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdW21vZE1vbnRoIC0gMV07CiAgICB9CiAgfQoKICAvLyBjb3ZlcnQgYSBjYWxlbmRhciBvYmplY3QgdG8gYSBsb2NhbCB0aW1lc3RhbXAgKGVwb2NoLCBidXQgd2l0aCB0aGUgb2Zmc2V0IGJha2VkIGluKQogIGZ1bmN0aW9uIG9ialRvTG9jYWxUUyhvYmopIHsKICAgIGxldCBkID0gRGF0ZS5VVEMoCiAgICAgIG9iai55ZWFyLAogICAgICBvYmoubW9udGggLSAxLAogICAgICBvYmouZGF5LAogICAgICBvYmouaG91ciwKICAgICAgb2JqLm1pbnV0ZSwKICAgICAgb2JqLnNlY29uZCwKICAgICAgb2JqLm1pbGxpc2Vjb25kCiAgICApOwoKICAgIC8vIGZvciBsZWdhY3kgcmVhc29ucywgeWVhcnMgYmV0d2VlbiAwIGFuZCA5OSBhcmUgaW50ZXJwcmV0ZWQgYXMgMTlYWDsgcmV2ZXJ0IHRoYXQKICAgIGlmIChvYmoueWVhciA8IDEwMCAmJiBvYmoueWVhciA+PSAwKSB7CiAgICAgIGQgPSBuZXcgRGF0ZShkKTsKICAgICAgZC5zZXRVVENGdWxsWWVhcihkLmdldFVUQ0Z1bGxZZWFyKCkgLSAxOTAwKTsKICAgIH0KICAgIHJldHVybiArZDsKICB9CgogIGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikgewogICAgY29uc3QgcDEgPQogICAgICAgICh3ZWVrWWVhciArCiAgICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLQogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDEwMCkgKwogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDQwMCkpICUKICAgICAgICA3LAogICAgICBsYXN0ID0gd2Vla1llYXIgLSAxLAogICAgICBwMiA9IChsYXN0ICsgTWF0aC5mbG9vcihsYXN0IC8gNCkgLSBNYXRoLmZsb29yKGxhc3QgLyAxMDApICsgTWF0aC5mbG9vcihsYXN0IC8gNDAwKSkgJSA3OwogICAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1MjsKICB9CgogIGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHsKICAgIGlmICh5ZWFyID4gOTkpIHsKICAgICAgcmV0dXJuIHllYXI7CiAgICB9IGVsc2UgcmV0dXJuIHllYXIgPiBTZXR0aW5ncy50d29EaWdpdEN1dG9mZlllYXIgPyAxOTAwICsgeWVhciA6IDIwMDAgKyB5ZWFyOwogIH0KCiAgLy8gUEFSU0lORwoKICBmdW5jdGlvbiBwYXJzZVpvbmVJbmZvKHRzLCBvZmZzZXRGb3JtYXQsIGxvY2FsZSwgdGltZVpvbmUgPSBudWxsKSB7CiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpLAogICAgICBpbnRsT3B0cyA9IHsKICAgICAgICBob3VyQ3ljbGU6ICJoMjMiLAogICAgICAgIHllYXI6ICJudW1lcmljIiwKICAgICAgICBtb250aDogIjItZGlnaXQiLAogICAgICAgIGRheTogIjItZGlnaXQiLAogICAgICAgIGhvdXI6ICIyLWRpZ2l0IiwKICAgICAgICBtaW51dGU6ICIyLWRpZ2l0IiwKICAgICAgfTsKCiAgICBpZiAodGltZVpvbmUpIHsKICAgICAgaW50bE9wdHMudGltZVpvbmUgPSB0aW1lWm9uZTsKICAgIH0KCiAgICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07CgogICAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZCkKICAgICAgLmZvcm1hdFRvUGFydHMoZGF0ZSkKICAgICAgLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSAidGltZXpvbmVuYW1lIik7CiAgICByZXR1cm4gcGFyc2VkID8gcGFyc2VkLnZhbHVlIDogbnVsbDsKICB9CgogIC8vIHNpZ25lZE9mZnNldCgnLTUnLCAnMzAnKSAtPiAtMzMwCiAgZnVuY3Rpb24gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cikgewogICAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7CgogICAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTAKICAgIGlmIChOdW1iZXIuaXNOYU4ob2ZmSG91cikpIHsKICAgICAgb2ZmSG91ciA9IDA7CiAgICB9CgogICAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCwKICAgICAgb2ZmTWluU2lnbmVkID0gb2ZmSG91ciA8IDAgfHwgT2JqZWN0LmlzKG9mZkhvdXIsIC0wKSA/IC1vZmZNaW4gOiBvZmZNaW47CiAgICByZXR1cm4gb2ZmSG91ciAqIDYwICsgb2ZmTWluU2lnbmVkOwogIH0KCiAgLy8gQ09FUkNJT04KCiAgZnVuY3Rpb24gYXNOdW1iZXIodmFsdWUpIHsKICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7CiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAiYm9vbGVhbiIgfHwgdmFsdWUgPT09ICIiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKQogICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEludmFsaWQgdW5pdCB2YWx1ZSAke3ZhbHVlfWApOwogICAgcmV0dXJuIG51bWVyaWNWYWx1ZTsKICB9CgogIGZ1bmN0aW9uIG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZXIpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTsKICAgIGZvciAoY29uc3QgdSBpbiBvYmopIHsKICAgICAgaWYgKGhhc093blByb3BlcnR5KG9iaiwgdSkpIHsKICAgICAgICBjb25zdCB2ID0gb2JqW3VdOwogICAgICAgIGlmICh2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbCkgY29udGludWU7CiAgICAgICAgbm9ybWFsaXplZFtub3JtYWxpemVyKHUpXSA9IGFzTnVtYmVyKHYpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdE9mZnNldChvZmZzZXQsIGZvcm1hdCkgewogICAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksCiAgICAgIG1pbnV0ZXMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAlIDYwKSksCiAgICAgIHNpZ24gPSBvZmZzZXQgPj0gMCA/ICIrIiA6ICItIjsKCiAgICBzd2l0Y2ggKGZvcm1hdCkgewogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9OiR7cGFkU3RhcnQobWludXRlcywgMil9YDsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke2hvdXJzfSR7bWludXRlcyA+IDAgPyBgOiR7bWludXRlc31gIDogIiJ9YDsKICAgICAgY2FzZSAidGVjaGllIjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX0ke3BhZFN0YXJ0KG1pbnV0ZXMsIDIpfWA7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlIGZvcm1hdCAke2Zvcm1hdH0gaXMgb3V0IG9mIHJhbmdlIGZvciBwcm9wZXJ0eSBmb3JtYXRgKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHRpbWVPYmplY3Qob2JqKSB7CiAgICByZXR1cm4gcGljayhvYmosIFsiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0pOwogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY29uc3QgbW9udGhzTG9uZyA9IFsKICAgICJKYW51YXJ5IiwKICAgICJGZWJydWFyeSIsCiAgICAiTWFyY2giLAogICAgIkFwcmlsIiwKICAgICJNYXkiLAogICAgIkp1bmUiLAogICAgIkp1bHkiLAogICAgIkF1Z3VzdCIsCiAgICAiU2VwdGVtYmVyIiwKICAgICJPY3RvYmVyIiwKICAgICJOb3ZlbWJlciIsCiAgICAiRGVjZW1iZXIiLAogIF07CgogIGNvbnN0IG1vbnRoc1Nob3J0ID0gWwogICAgIkphbiIsCiAgICAiRmViIiwKICAgICJNYXIiLAogICAgIkFwciIsCiAgICAiTWF5IiwKICAgICJKdW4iLAogICAgIkp1bCIsCiAgICAiQXVnIiwKICAgICJTZXAiLAogICAgIk9jdCIsCiAgICAiTm92IiwKICAgICJEZWMiLAogIF07CgogIGNvbnN0IG1vbnRoc05hcnJvdyA9IFsiSiIsICJGIiwgIk0iLCAiQSIsICJNIiwgIkoiLCAiSiIsICJBIiwgIlMiLCAiTyIsICJOIiwgIkQiXTsKCiAgZnVuY3Rpb24gbW9udGhzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc05hcnJvd107CiAgICAgIGNhc2UgInNob3J0IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc1Nob3J0XTsKICAgICAgY2FzZSAibG9uZyI6CiAgICAgICAgcmV0dXJuIFsuLi5tb250aHNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgY2FzZSAiMi1kaWdpdCI6CiAgICAgICAgcmV0dXJuIFsiMDEiLCAiMDIiLCAiMDMiLCAiMDQiLCAiMDUiLCAiMDYiLCAiMDciLCAiMDgiLCAiMDkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGNvbnN0IHdlZWtkYXlzTG9uZyA9IFsKICAgICJNb25kYXkiLAogICAgIlR1ZXNkYXkiLAogICAgIldlZG5lc2RheSIsCiAgICAiVGh1cnNkYXkiLAogICAgIkZyaWRheSIsCiAgICAiU2F0dXJkYXkiLAogICAgIlN1bmRheSIsCiAgXTsKCiAgY29uc3Qgd2Vla2RheXNTaG9ydCA9IFsiTW9uIiwgIlR1ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiLCAiU3VuIl07CgogIGNvbnN0IHdlZWtkYXlzTmFycm93ID0gWyJNIiwgIlQiLCAiVyIsICJUIiwgIkYiLCAiUyIsICJTIl07CgogIGZ1bmN0aW9uIHdlZWtkYXlzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLndlZWtkYXlzTmFycm93XTsKICAgICAgY2FzZSAic2hvcnQiOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNTaG9ydF07CiAgICAgIGNhc2UgImxvbmciOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyJdOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgY29uc3QgbWVyaWRpZW1zID0gWyJBTSIsICJQTSJdOwoKICBjb25zdCBlcmFzTG9uZyA9IFsiQmVmb3JlIENocmlzdCIsICJBbm5vIERvbWluaSJdOwoKICBjb25zdCBlcmFzU2hvcnQgPSBbIkJDIiwgIkFEIl07CgogIGNvbnN0IGVyYXNOYXJyb3cgPSBbIkIiLCAiQSJdOwoKICBmdW5jdGlvbiBlcmFzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNOYXJyb3ddOwogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIFsuLi5lcmFzU2hvcnRdOwogICAgICBjYXNlICJsb25nIjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNMb25nXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIG1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpIHsKICAgIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHsKICAgIHJldHVybiB3ZWVrZGF5cyhsZW5ndGgpW2R0LndlZWtkYXkgLSAxXTsKICB9CgogIGZ1bmN0aW9uIG1vbnRoRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkgewogICAgcmV0dXJuIG1vbnRocyhsZW5ndGgpW2R0Lm1vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiBlcmFGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7CiAgICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gImFsd2F5cyIsIG5hcnJvdyA9IGZhbHNlKSB7CiAgICBjb25zdCB1bml0cyA9IHsKICAgICAgeWVhcnM6IFsieWVhciIsICJ5ci4iXSwKICAgICAgcXVhcnRlcnM6IFsicXVhcnRlciIsICJxdHIuIl0sCiAgICAgIG1vbnRoczogWyJtb250aCIsICJtby4iXSwKICAgICAgd2Vla3M6IFsid2VlayIsICJ3ay4iXSwKICAgICAgZGF5czogWyJkYXkiLCAiZGF5IiwgImRheXMiXSwKICAgICAgaG91cnM6IFsiaG91ciIsICJoci4iXSwKICAgICAgbWludXRlczogWyJtaW51dGUiLCAibWluLiJdLAogICAgICBzZWNvbmRzOiBbInNlY29uZCIsICJzZWMuIl0sCiAgICB9OwoKICAgIGNvbnN0IGxhc3RhYmxlID0gWyJob3VycyIsICJtaW51dGVzIiwgInNlY29uZHMiXS5pbmRleE9mKHVuaXQpID09PSAtMTsKCiAgICBpZiAobnVtZXJpYyA9PT0gImF1dG8iICYmIGxhc3RhYmxlKSB7CiAgICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gImRheXMiOwogICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvbW9ycm93IiA6IGBuZXh0ICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgICBjYXNlIC0xOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInllc3RlcmRheSIgOiBgbGFzdCAke3VuaXRzW3VuaXRdWzBdfWA7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvZGF5IiA6IGB0aGlzICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgfQogICAgfQoKICAgIGNvbnN0IGlzSW5QYXN0ID0gT2JqZWN0LmlzKGNvdW50LCAtMCkgfHwgY291bnQgPCAwLAogICAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSwKICAgICAgc2luZ3VsYXIgPSBmbXRWYWx1ZSA9PT0gMSwKICAgICAgbGlsVW5pdHMgPSB1bml0c1t1bml0XSwKICAgICAgZm10VW5pdCA9IG5hcnJvdwogICAgICAgID8gc2luZ3VsYXIKICAgICAgICAgID8gbGlsVW5pdHNbMV0KICAgICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV0KICAgICAgICA6IHNpbmd1bGFyCiAgICAgICAgPyB1bml0c1t1bml0XVswXQogICAgICAgIDogdW5pdDsKICAgIHJldHVybiBpc0luUGFzdCA/IGAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9IGFnb2AgOiBgaW4gJHtmbXRWYWx1ZX0gJHtmbXRVbml0fWA7CiAgfQoKICBmdW5jdGlvbiBzdHJpbmdpZnlUb2tlbnMoc3BsaXRzLCB0b2tlblRvU3RyaW5nKSB7CiAgICBsZXQgcyA9ICIiOwogICAgZm9yIChjb25zdCB0b2tlbiBvZiBzcGxpdHMpIHsKICAgICAgaWYgKHRva2VuLmxpdGVyYWwpIHsKICAgICAgICBzICs9IHRva2VuLnZhbDsKICAgICAgfSBlbHNlIHsKICAgICAgICBzICs9IHRva2VuVG9TdHJpbmcodG9rZW4udmFsKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHM7CiAgfQoKICBjb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0gewogICAgRDogREFURV9TSE9SVCwKICAgIEREOiBEQVRFX01FRCwKICAgIERERDogREFURV9GVUxMLAogICAgRERERDogREFURV9IVUdFLAogICAgdDogVElNRV9TSU1QTEUsCiAgICB0dDogVElNRV9XSVRIX1NFQ09ORFMsCiAgICB0dHQ6IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQsCiAgICB0dHR0OiBUSU1FX1dJVEhfTE9OR19PRkZTRVQsCiAgICBUOiBUSU1FXzI0X1NJTVBMRSwKICAgIFRUOiBUSU1FXzI0X1dJVEhfU0VDT05EUywKICAgIFRUVDogVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCwKICAgIFRUVFQ6IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCwKICAgIGY6IERBVEVUSU1FX1NIT1JULAogICAgZmY6IERBVEVUSU1FX01FRCwKICAgIGZmZjogREFURVRJTUVfRlVMTCwKICAgIGZmZmY6IERBVEVUSU1FX0hVR0UsCiAgICBGOiBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMsCiAgICBGRjogREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUywKICAgIEZGRjogREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMsCiAgICBGRkZGOiBEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUywKICB9OwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBGb3JtYXR0ZXIgewogICAgc3RhdGljIGNyZWF0ZShsb2NhbGUsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpOwogICAgfQoKICAgIHN0YXRpYyBwYXJzZUZvcm1hdChmbXQpIHsKICAgICAgbGV0IGN1cnJlbnQgPSBudWxsLAogICAgICAgIGN1cnJlbnRGdWxsID0gIiIsCiAgICAgICAgYnJhY2tldGVkID0gZmFsc2U7CiAgICAgIGNvbnN0IHNwbGl0cyA9IFtdOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZtdC5sZW5ndGg7IGkrKykgewogICAgICAgIGNvbnN0IGMgPSBmbXQuY2hhckF0KGkpOwogICAgICAgIGlmIChjID09PSAiJyIpIHsKICAgICAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pOwogICAgICAgICAgfQogICAgICAgICAgY3VycmVudCA9IG51bGw7CiAgICAgICAgICBjdXJyZW50RnVsbCA9ICIiOwogICAgICAgICAgYnJhY2tldGVkID0gIWJyYWNrZXRlZDsKICAgICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkgewogICAgICAgICAgY3VycmVudEZ1bGwgKz0gYzsKICAgICAgICB9IGVsc2UgaWYgKGMgPT09IGN1cnJlbnQpIHsKICAgICAgICAgIGN1cnJlbnRGdWxsICs9IGM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7CiAgICAgICAgICB9CiAgICAgICAgICBjdXJyZW50RnVsbCA9IGM7CiAgICAgICAgICBjdXJyZW50ID0gYzsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBzcGxpdHM7CiAgICB9CgogICAgc3RhdGljIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pIHsKICAgICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dOwogICAgfQoKICAgIGNvbnN0cnVjdG9yKGxvY2FsZSwgZm9ybWF0T3B0cykgewogICAgICB0aGlzLm9wdHMgPSBmb3JtYXRPcHRzOwogICAgICB0aGlzLmxvYyA9IGxvY2FsZTsKICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSBudWxsOwogICAgfQoKICAgIGZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBvcHRzKSB7CiAgICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkgewogICAgICAgIHRoaXMuc3lzdGVtTG9jID0gdGhpcy5sb2MucmVkZWZhdWx0VG9TeXN0ZW0oKTsKICAgICAgfQogICAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTsKICAgICAgcmV0dXJuIGRmLmZvcm1hdCgpOwogICAgfQoKICAgIGZvcm1hdERhdGVUaW1lKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5mb3JtYXQoKTsKICAgIH0KCiAgICBmb3JtYXREYXRlVGltZVBhcnRzKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5mb3JtYXRUb1BhcnRzKCk7CiAgICB9CgogICAgZm9ybWF0SW50ZXJ2YWwoaW50ZXJ2YWwsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBkZiA9IHRoaXMubG9jLmR0Rm9ybWF0dGVyKGludGVydmFsLnN0YXJ0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTsKICAgICAgcmV0dXJuIGRmLmR0Zi5mb3JtYXRSYW5nZShpbnRlcnZhbC5zdGFydC50b0pTRGF0ZSgpLCBpbnRlcnZhbC5lbmQudG9KU0RhdGUoKSk7CiAgICB9CgogICAgcmVzb2x2ZWRPcHRpb25zKGR0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5yZXNvbHZlZE9wdGlvbnMoKTsKICAgIH0KCiAgICBudW0obiwgcCA9IDApIHsKICAgICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5CiAgICAgIGlmICh0aGlzLm9wdHMuZm9yY2VTaW1wbGUpIHsKICAgICAgICByZXR1cm4gcGFkU3RhcnQobiwgcCk7CiAgICAgIH0KCiAgICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9OwoKICAgICAgaWYgKHAgPiAwKSB7CiAgICAgICAgb3B0cy5wYWRUbyA9IHA7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLmxvYy5udW1iZXJGb3JtYXR0ZXIob3B0cykuZm9ybWF0KG4pOwogICAgfQoKICAgIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7CiAgICAgIGNvbnN0IGtub3duRW5nbGlzaCA9IHRoaXMubG9jLmxpc3RpbmdNb2RlKCkgPT09ICJlbiIsCiAgICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gImdyZWdvcnkiLAogICAgICAgIHN0cmluZyA9IChvcHRzLCBleHRyYWN0KSA9PiB0aGlzLmxvYy5leHRyYWN0KGR0LCBvcHRzLCBleHRyYWN0KSwKICAgICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4gewogICAgICAgICAgaWYgKGR0LmlzT2Zmc2V0Rml4ZWQgJiYgZHQub2Zmc2V0ID09PSAwICYmIG9wdHMuYWxsb3daKSB7CiAgICAgICAgICAgIHJldHVybiAiWiI7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIGR0LmlzVmFsaWQgPyBkdC56b25lLmZvcm1hdE9mZnNldChkdC50cywgb3B0cy5mb3JtYXQpIDogIiI7CiAgICAgICAgfSwKICAgICAgICBtZXJpZGllbSA9ICgpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2gKICAgICAgICAgICAgPyBtZXJpZGllbUZvckRhdGVUaW1lKGR0KQogICAgICAgICAgICA6IHN0cmluZyh7IGhvdXI6ICJudW1lcmljIiwgaG91ckN5Y2xlOiAiaDEyIiB9LCAiZGF5cGVyaW9kIiksCiAgICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PgogICAgICAgICAga25vd25FbmdsaXNoCiAgICAgICAgICAgID8gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKQogICAgICAgICAgICA6IHN0cmluZyhzdGFuZGFsb25lID8geyBtb250aDogbGVuZ3RoIH0gOiB7IG1vbnRoOiBsZW5ndGgsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpLAogICAgICAgIHdlZWtkYXkgPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PgogICAgICAgICAga25vd25FbmdsaXNoCiAgICAgICAgICAgID8gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpCiAgICAgICAgICAgIDogc3RyaW5nKAogICAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6ICJsb25nIiwgZGF5OiAibnVtZXJpYyIgfSwKICAgICAgICAgICAgICAgICJ3ZWVrZGF5IgogICAgICAgICAgICAgICksCiAgICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4gewogICAgICAgICAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKTsKICAgICAgICAgIGlmIChmb3JtYXRPcHRzKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGVyYSA9IChsZW5ndGgpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2ggPyBlcmFGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSA6IHN0cmluZyh7IGVyYTogbGVuZ3RoIH0sICJlcmEiKSwKICAgICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7CiAgICAgICAgICAvLyBXaGVyZSBwb3NzaWJsZTogaHR0cDovL2NsZHIudW5pY29kZS5vcmcvdHJhbnNsYXRpb24vZGF0ZS10aW1lLTEvZGF0ZS10aW1lI1RPQy1TdGFuZGFsb25lLXZzLi1Gb3JtYXQtU3R5bGVzCiAgICAgICAgICBzd2l0Y2ggKHRva2VuKSB7CiAgICAgICAgICAgIC8vIG1zCiAgICAgICAgICAgIGNhc2UgIlMiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7CiAgICAgICAgICAgIGNhc2UgInUiOgogICAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoCiAgICAgICAgICAgIGNhc2UgIlNTUyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTsKICAgICAgICAgICAgLy8gc2Vjb25kcwogICAgICAgICAgICBjYXNlICJzIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuc2Vjb25kKTsKICAgICAgICAgICAgY2FzZSAic3MiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQsIDIpOwogICAgICAgICAgICAvLyBmcmFjdGlvbmFsIHNlY29uZHMKICAgICAgICAgICAgY2FzZSAidXUiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGR0Lm1pbGxpc2Vjb25kIC8gMTApLCAyKTsKICAgICAgICAgICAgY2FzZSAidXV1IjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwMCkpOwogICAgICAgICAgICAvLyBtaW51dGVzCiAgICAgICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpOwogICAgICAgICAgICBjYXNlICJtbSI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7CiAgICAgICAgICAgIC8vIGhvdXJzCiAgICAgICAgICAgIGNhc2UgImgiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMik7CiAgICAgICAgICAgIGNhc2UgImhoIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciAlIDEyID09PSAwID8gMTIgOiBkdC5ob3VyICUgMTIsIDIpOwogICAgICAgICAgICBjYXNlICJIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91cik7CiAgICAgICAgICAgIGNhc2UgIkhIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciwgMik7CiAgICAgICAgICAgIC8vIG9mZnNldAogICAgICAgICAgICBjYXNlICJaIjoKICAgICAgICAgICAgICAvLyBsaWtlICs2CiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogIm5hcnJvdyIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTsKICAgICAgICAgICAgY2FzZSAiWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2OjAwCiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogInNob3J0IiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2MDAKICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHsgZm9ybWF0OiAidGVjaGllIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWlpaIjoKICAgICAgICAgICAgICAvLyBsaWtlIEVTVAogICAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiAic2hvcnQiLCBsb2NhbGU6IHRoaXMubG9jLmxvY2FsZSB9KTsKICAgICAgICAgICAgY2FzZSAiWlpaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgRWFzdGVybiBTdGFuZGFyZCBUaW1lCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmUub2Zmc2V0TmFtZShkdC50cywgeyBmb3JtYXQ6ICJsb25nIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7CiAgICAgICAgICAgIC8vIHpvbmUKICAgICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmVOYW1lOwogICAgICAgICAgICAvLyBtZXJpZGllbXMKICAgICAgICAgICAgY2FzZSAiYSI6CiAgICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7CiAgICAgICAgICAgIC8vIGRhdGVzCiAgICAgICAgICAgIGNhc2UgImQiOgogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlciA/IHN0cmluZyh7IGRheTogIm51bWVyaWMiIH0sICJkYXkiKSA6IHRoaXMubnVtKGR0LmRheSk7CiAgICAgICAgICAgIGNhc2UgImRkIjoKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6ICIyLWRpZ2l0IiB9LCAiZGF5IikgOiB0aGlzLm51bShkdC5kYXksIDIpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiYyI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtkYXkpOwogICAgICAgICAgICBjYXNlICJjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXMnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoInNob3J0IiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgImNjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiY2NjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1QnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIGZvcm1hdAogICAgICAgICAgICBjYXNlICJFIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7CiAgICAgICAgICAgIGNhc2UgIkVFRSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAnVHVlcycKICAgICAgICAgICAgICByZXR1cm4gd2Vla2RheSgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUVFIjoKICAgICAgICAgICAgICAvLyBsaWtlICdUJwogICAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KCJuYXJyb3ciLCBmYWxzZSk7CiAgICAgICAgICAgIC8vIG1vbnRocyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoKTsKICAgICAgICAgICAgY2FzZSAiTEwiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDEsIGRvZXNuJ3Qgc2VlbSB0byB3b3JrCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAiMi1kaWdpdCIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiTExMTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5CiAgICAgICAgICAgICAgcmV0dXJuIG1vbnRoKCJsb25nIiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgIkxMTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEoKICAgICAgICAgICAgICByZXR1cm4gbW9udGgoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyBtb250aHMgLSBmb3JtYXQKICAgICAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIgfSwgIm1vbnRoIikKICAgICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpOwogICAgICAgICAgICBjYXNlICJNTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMQogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogIjItZGlnaXQiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTU1NIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIk1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSmFudWFyeQogICAgICAgICAgICAgIHJldHVybiBtb250aCgibG9uZyIsIGZhbHNlKTsKICAgICAgICAgICAgY2FzZSAiTU1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSgogICAgICAgICAgICAgIHJldHVybiBtb250aCgibmFycm93IiwgZmFsc2UpOwogICAgICAgICAgICAvLyB5ZWFycwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICAvLyBsaWtlIDIwMTQKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyB5ZWFyOiAibnVtZXJpYyIgfSwgInllYXIiKSA6IHRoaXMubnVtKGR0LnllYXIpOwogICAgICAgICAgICBjYXNlICJ5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxNAogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiAiMi1kaWdpdCIgfSwgInllYXIiKQogICAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAieXl5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDQpOwogICAgICAgICAgICBjYXNlICJ5eXl5eXkiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDYpOwogICAgICAgICAgICAvLyBlcmFzCiAgICAgICAgICAgIGNhc2UgIkciOgogICAgICAgICAgICAgIC8vIGxpa2UgQUQKICAgICAgICAgICAgICByZXR1cm4gZXJhKCJzaG9ydCIpOwogICAgICAgICAgICBjYXNlICJHRyI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbm5vIERvbWluaQogICAgICAgICAgICAgIHJldHVybiBlcmEoImxvbmciKTsKICAgICAgICAgICAgY2FzZSAiR0dHR0ciOgogICAgICAgICAgICAgIHJldHVybiBlcmEoIm5hcnJvdyIpOwogICAgICAgICAgICBjYXNlICJrayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAia2trayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLCA0KTsKICAgICAgICAgICAgY2FzZSAiVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIpOwogICAgICAgICAgICBjYXNlICJXVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIsIDIpOwogICAgICAgICAgICBjYXNlICJvIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCk7CiAgICAgICAgICAgIGNhc2UgIm9vbyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm9yZGluYWwsIDMpOwogICAgICAgICAgICBjYXNlICJxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQucXVhcnRlcik7CiAgICAgICAgICAgIGNhc2UgInFxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpOwogICAgICAgICAgICBjYXNlICJYIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTsKICAgICAgICAgICAgY2FzZSAieCI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICByZXR1cm4gbWF5YmVNYWNybyh0b2tlbik7CiAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksIHRva2VuVG9TdHJpbmcpOwogICAgfQoKICAgIGZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyhkdXIsIGZtdCkgewogICAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHsKICAgICAgICAgIHN3aXRjaCAodG9rZW5bMF0pIHsKICAgICAgICAgICAgY2FzZSAiUyI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaWxsaXNlY29uZCI7CiAgICAgICAgICAgIGNhc2UgInMiOgogICAgICAgICAgICAgIHJldHVybiAic2Vjb25kIjsKICAgICAgICAgICAgY2FzZSAibSI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaW51dGUiOwogICAgICAgICAgICBjYXNlICJoIjoKICAgICAgICAgICAgICByZXR1cm4gImhvdXIiOwogICAgICAgICAgICBjYXNlICJkIjoKICAgICAgICAgICAgICByZXR1cm4gImRheSI7CiAgICAgICAgICAgIGNhc2UgInciOgogICAgICAgICAgICAgIHJldHVybiAid2VlayI7CiAgICAgICAgICAgIGNhc2UgIk0iOgogICAgICAgICAgICAgIHJldHVybiAibW9udGgiOwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICByZXR1cm4gInllYXIiOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9rZW5Ub1N0cmluZyA9IChsaWxkdXIpID0+ICh0b2tlbikgPT4gewogICAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTsKICAgICAgICAgIGlmIChtYXBwZWQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGxpbGR1ci5nZXQobWFwcGVkKSwgdG9rZW4ubGVuZ3RoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRva2VucyA9IEZvcm1hdHRlci5wYXJzZUZvcm1hdChmbXQpLAogICAgICAgIHJlYWxUb2tlbnMgPSB0b2tlbnMucmVkdWNlKAogICAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLAogICAgICAgICAgW10KICAgICAgICApLAogICAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7CiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnModG9rZW5zLCB0b2tlblRvU3RyaW5nKGNvbGxhcHNlZCkpOwogICAgfQogIH0KCiAgY2xhc3MgSW52YWxpZCB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24sIGV4cGxhbmF0aW9uKSB7CiAgICAgIHRoaXMucmVhc29uID0gcmVhc29uOwogICAgICB0aGlzLmV4cGxhbmF0aW9uID0gZXhwbGFuYXRpb247CiAgICB9CgogICAgdG9NZXNzYWdlKCkgewogICAgICBpZiAodGhpcy5leHBsYW5hdGlvbikgewogICAgICAgIHJldHVybiBgJHt0aGlzLnJlYXNvbn06ICR7dGhpcy5leHBsYW5hdGlvbn1gOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLnJlYXNvbjsKICAgICAgfQogICAgfQogIH0KCiAgLyoKICAgKiBUaGlzIGZpbGUgaGFuZGxlcyBwYXJzaW5nIGZvciB3ZWxsLXNwZWNpZmllZCBmb3JtYXRzLiBIZXJlJ3MgaG93IGl0IHdvcmtzOgogICAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLgogICAqIEFuIGV4dHJhY3RvciBpcyBqdXN0IGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHJlZ2V4IG1hdGNoIGFycmF5IGFuZCByZXR1cm5zIGEgeyB5ZWFyOiAuLi4sIG1vbnRoOiAuLi4gfSBvYmplY3QKICAgKiBwYXJzZSgpIGRvZXMgdGhlIHdvcmsgb2YgZXhlY3V0aW5nIHRoZSByZWdleCBhbmQgYXBwbHlpbmcgdGhlIGV4dHJhY3Rvci4gSXQgdGFrZXMgbXVsdGlwbGUgcmVnZXgvZXh0cmFjdG9yIHBhaXJzIHRvIHRyeSBpbiBzZXF1ZW5jZS4KICAgKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgImN1cnNvciIgcmVwcmVzZW50aW5nIHRoZSBvZmZzZXQgaW4gdGhlIG1hdGNoIHRvIGxvb2sgYXQuIFRoaXMgbWFrZXMgaXQgZWFzeSB0byBjb21iaW5lIGV4dHJhY3RvcnMuCiAgICogY29tYmluZUV4dHJhY3RvcnMoKSBkb2VzIHRoZSB3b3JrIG9mIGNvbWJpbmluZyB0aGVtLCBrZWVwaW5nIHRyYWNrIG9mIHRoZSBjdXJzb3IgdGhyb3VnaCBtdWx0aXBsZSBleHRyYWN0aW9ucy4KICAgKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS4KICAgKi8KCiAgY29uc3QgaWFuYVJlZ2V4ID0gL1tBLVphLXpfKy1dezEsMjU2fSg/Ojo/XC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcL1tBLVphLXowLTlfKy1dezEsMjU2fSk/KT8vOwoKICBmdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7CiAgICBjb25zdCBmdWxsID0gcmVnZXhlcy5yZWR1Y2UoKGYsIHIpID0+IGYgKyByLnNvdXJjZSwgIiIpOwogICAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7CiAgfQoKICBmdW5jdGlvbiBjb21iaW5lRXh0cmFjdG9ycyguLi5leHRyYWN0b3JzKSB7CiAgICByZXR1cm4gKG0pID0+CiAgICAgIGV4dHJhY3RvcnMKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFttZXJnZWRWYWxzLCBtZXJnZWRab25lLCBjdXJzb3JdLCBleCkgPT4gewogICAgICAgICAgICBjb25zdCBbdmFsLCB6b25lLCBuZXh0XSA9IGV4KG0sIGN1cnNvcik7CiAgICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTsKICAgICAgICAgIH0sCiAgICAgICAgICBbe30sIG51bGwsIDFdCiAgICAgICAgKQogICAgICAgIC5zbGljZSgwLCAyKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlKHMsIC4uLnBhdHRlcm5zKSB7CiAgICBpZiAocyA9PSBudWxsKSB7CiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07CiAgICB9CgogICAgZm9yIChjb25zdCBbcmVnZXgsIGV4dHJhY3Rvcl0gb2YgcGF0dGVybnMpIHsKICAgICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7CiAgICAgIGlmIChtKSB7CiAgICAgICAgcmV0dXJuIGV4dHJhY3RvcihtKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIFtudWxsLCBudWxsXTsKICB9CgogIGZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHsKICAgIHJldHVybiAobWF0Y2gsIGN1cnNvcikgPT4gewogICAgICBjb25zdCByZXQgPSB7fTsKICAgICAgbGV0IGk7CgogICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIHJldFtrZXlzW2ldXSA9IHBhcnNlSW50ZWdlcihtYXRjaFtjdXJzb3IgKyBpXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldOwogICAgfTsKICB9CgogIC8vIElTTyBhbmQgU1FMIHBhcnNpbmcKICBjb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8pLzsKICBjb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcWygke2lhbmFSZWdleC5zb3VyY2V9KVxcXSk/KT9gOwogIGNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlsuLF0oXGR7MSwzMH0pKT8pPyk/LzsKICBjb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7CiAgY29uc3QgaXNvVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzpUJHtpc29UaW1lUmVnZXguc291cmNlfSk/YCk7CiAgY29uc3QgaXNvWW1kUmVnZXggPSAvKFsrLV1cZHs2fXxcZHs0fSkoPzotPyhcZFxkKSg/Oi0/KFxkXGQpKT8pPy87CiAgY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcZHs0fSktP1coXGRcZCkoPzotPyhcZCkpPy87CiAgY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcZHs0fSktPyhcZHszfSkvOwogIGNvbnN0IGV4dHJhY3RJU09XZWVrRGF0YSA9IHNpbXBsZVBhcnNlKCJ3ZWVrWWVhciIsICJ3ZWVrTnVtYmVyIiwgIndlZWtEYXkiKTsKICBjb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZSgieWVhciIsICJvcmRpbmFsIik7CiAgY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxkezR9KS0oXGRcZCktKFxkXGQpLzsgLy8gZHVtYmVkLWRvd24gdmVyc2lvbiBvZiB0aGUgSVNPIG9uZQogIGNvbnN0IHNxbFRpbWVSZWdleCA9IFJlZ0V4cCgKICAgIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YAogICk7CiAgY29uc3Qgc3FsVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzogJHtzcWxUaW1lUmVnZXguc291cmNlfSk/YCk7CgogIGZ1bmN0aW9uIGludChtYXRjaCwgcG9zLCBmYWxsYmFjaykgewogICAgY29uc3QgbSA9IG1hdGNoW3Bvc107CiAgICByZXR1cm4gaXNVbmRlZmluZWQobSkgPyBmYWxsYmFjayA6IHBhcnNlSW50ZWdlcihtKTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJU09ZbWQobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgeWVhcjogaW50KG1hdGNoLCBjdXJzb3IpLAogICAgICBtb250aDogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAxKSwKICAgICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpLAogICAgfTsKCiAgICByZXR1cm4gW2l0ZW0sIG51bGwsIGN1cnNvciArIDNdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgaG91cnM6IGludChtYXRjaCwgY3Vyc29yLCAwKSwKICAgICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSwKICAgICAgc2Vjb25kczogaW50KG1hdGNoLCBjdXJzb3IgKyAyLCAwKSwKICAgICAgbWlsbGlzZWNvbmRzOiBwYXJzZU1pbGxpcyhtYXRjaFtjdXJzb3IgKyAzXSksCiAgICB9OwoKICAgIHJldHVybiBbaXRlbSwgbnVsbCwgY3Vyc29yICsgNF07CiAgfQoKICBmdW5jdGlvbiBleHRyYWN0SVNPT2Zmc2V0KG1hdGNoLCBjdXJzb3IpIHsKICAgIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLAogICAgICBmdWxsT2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG1hdGNoW2N1cnNvciArIDFdLCBtYXRjaFtjdXJzb3IgKyAyXSksCiAgICAgIHpvbmUgPSBsb2NhbCA/IG51bGwgOiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoZnVsbE9mZnNldCk7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJQU5BWm9uZShtYXRjaCwgY3Vyc29yKSB7CiAgICBjb25zdCB6b25lID0gbWF0Y2hbY3Vyc29yXSA/IElBTkFab25lLmNyZWF0ZShtYXRjaFtjdXJzb3JdKSA6IG51bGw7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTsKICB9CgogIC8vIElTTyB0aW1lIHBhcnNpbmcKCiAgY29uc3QgaXNvVGltZU9ubHkgPSBSZWdFeHAoYF5UPyR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JGApOwoKICAvLyBJU08gZHVyYXRpb24gcGFyc2luZwoKICBjb25zdCBpc29EdXJhdGlvbiA9CiAgICAvXi0/UCg/Oig/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVkpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KU0pPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVcpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KUQpPyg/OlQoPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylIKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylNKT8oPzooLT9cZHsxLDIwfSkoPzpbLixdKC0/XGR7MSwyMH0pKT9TKT8pPykkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7CiAgICBjb25zdCBbcywgeWVhclN0ciwgbW9udGhTdHIsIHdlZWtTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIsIG1pbGxpc2Vjb25kc1N0cl0gPQogICAgICBtYXRjaDsKCiAgICBjb25zdCBoYXNOZWdhdGl2ZVByZWZpeCA9IHNbMF0gPT09ICItIjsKICAgIGNvbnN0IG5lZ2F0aXZlU2Vjb25kcyA9IHNlY29uZFN0ciAmJiBzZWNvbmRTdHJbMF0gPT09ICItIjsKCiAgICBjb25zdCBtYXliZU5lZ2F0ZSA9IChudW0sIGZvcmNlID0gZmFsc2UpID0+CiAgICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtOwoKICAgIHJldHVybiBbCiAgICAgIHsKICAgICAgICB5ZWFyczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh5ZWFyU3RyKSksCiAgICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksCiAgICAgICAgd2Vla3M6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcod2Vla1N0cikpLAogICAgICAgIGRheXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoZGF5U3RyKSksCiAgICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLAogICAgICAgIG1pbnV0ZXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcobWludXRlU3RyKSksCiAgICAgICAgc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhzZWNvbmRTdHIpLCBzZWNvbmRTdHIgPT09ICItMCIpLAogICAgICAgIG1pbGxpc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VNaWxsaXMobWlsbGlzZWNvbmRzU3RyKSwgbmVnYXRpdmVTZWNvbmRzKSwKICAgICAgfSwKICAgIF07CiAgfQoKICAvLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmsKICAvLyBhbmQgbm90IGp1c3QgdGhhdCB3ZSdyZSBpbiAtMjQwICpyaWdodCBub3cqLiBCdXQgc2luY2UgSSBkb24ndCB0aGluayB0aGVzZSBhcmUgdXNlZCB0aGF0IG9mdGVuCiAgLy8gSSdtIGp1c3QgZ29pbmcgdG8gaWdub3JlIHRoYXQKICBjb25zdCBvYnNPZmZzZXRzID0gewogICAgR01UOiAwLAogICAgRURUOiAtNCAqIDYwLAogICAgRVNUOiAtNSAqIDYwLAogICAgQ0RUOiAtNSAqIDYwLAogICAgQ1NUOiAtNiAqIDYwLAogICAgTURUOiAtNiAqIDYwLAogICAgTVNUOiAtNyAqIDYwLAogICAgUERUOiAtNyAqIDYwLAogICAgUFNUOiAtOCAqIDYwLAogIH07CgogIGZ1bmN0aW9uIGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKSB7CiAgICBjb25zdCByZXN1bHQgPSB7CiAgICAgIHllYXI6IHllYXJTdHIubGVuZ3RoID09PSAyID8gdW50cnVuY2F0ZVllYXIocGFyc2VJbnRlZ2VyKHllYXJTdHIpKSA6IHBhcnNlSW50ZWdlcih5ZWFyU3RyKSwKICAgICAgbW9udGg6IG1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSwKICAgICAgZGF5OiBwYXJzZUludGVnZXIoZGF5U3RyKSwKICAgICAgaG91cjogcGFyc2VJbnRlZ2VyKGhvdXJTdHIpLAogICAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpLAogICAgfTsKCiAgICBpZiAoc2Vjb25kU3RyKSByZXN1bHQuc2Vjb25kID0gcGFyc2VJbnRlZ2VyKHNlY29uZFN0cik7CiAgICBpZiAod2Vla2RheVN0cikgewogICAgICByZXN1bHQud2Vla2RheSA9CiAgICAgICAgd2Vla2RheVN0ci5sZW5ndGggPiAzCiAgICAgICAgICA/IHdlZWtkYXlzTG9uZy5pbmRleE9mKHdlZWtkYXlTdHIpICsgMQogICAgICAgICAgOiB3ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICAvLyBSRkMgMjgyMi81MzIyCiAgY29uc3QgcmZjMjgyMiA9CiAgICAvXig/OihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLFxzKT8oXGR7MSwyfSlccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylccyhcZHsyLDR9KVxzKFxkXGQpOihcZFxkKSg/OjooXGRcZCkpP1xzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXGRcZCkoXGRcZCkpKSQvOwoKICBmdW5jdGlvbiBleHRyYWN0UkZDMjgyMihtYXRjaCkgewogICAgY29uc3QgWwogICAgICAgICwKICAgICAgICB3ZWVrZGF5U3RyLAogICAgICAgIGRheVN0ciwKICAgICAgICBtb250aFN0ciwKICAgICAgICB5ZWFyU3RyLAogICAgICAgIGhvdXJTdHIsCiAgICAgICAgbWludXRlU3RyLAogICAgICAgIHNlY29uZFN0ciwKICAgICAgICBvYnNPZmZzZXQsCiAgICAgICAgbWlsT2Zmc2V0LAogICAgICAgIG9mZkhvdXJTdHIsCiAgICAgICAgb2ZmTWludXRlU3RyLAogICAgICBdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKCiAgICBsZXQgb2Zmc2V0OwogICAgaWYgKG9ic09mZnNldCkgewogICAgICBvZmZzZXQgPSBvYnNPZmZzZXRzW29ic09mZnNldF07CiAgICB9IGVsc2UgaWYgKG1pbE9mZnNldCkgewogICAgICBvZmZzZXQgPSAwOwogICAgfSBlbHNlIHsKICAgICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7CiAgICB9CgogICAgcmV0dXJuIFtyZXN1bHQsIG5ldyBGaXhlZE9mZnNldFpvbmUob2Zmc2V0KV07CiAgfQoKICBmdW5jdGlvbiBwcmVwcm9jZXNzUkZDMjgyMihzKSB7CiAgICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQogICAgcmV0dXJuIHMKICAgICAgLnJlcGxhY2UoL1woW14oKV0qXCl8W1xuXHRdL2csICIgIikKICAgICAgLnJlcGxhY2UoLyhcc1xzKykvZywgIiAiKQogICAgICAudHJpbSgpOwogIH0KCiAgLy8gaHR0cCBkYXRlCgogIGNvbnN0IHJmYzExMjMgPQogICAgICAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLCAoXGRcZCkgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoXGR7NH0pIChcZFxkKTooXGRcZCk6KFxkXGQpIEdNVCQvLAogICAgcmZjODUwID0KICAgICAgL14oTW9uZGF5fFR1ZXNkYXl8V2VkbmVzZGF5fFRodXJzZGF5fEZyaWRheXxTYXR1cmRheXxTdW5kYXkpLCAoXGRcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXGRcZCkgKFxkXGQpOihcZFxkKTooXGRcZCkgR01UJC8sCiAgICBhc2NpaSA9CiAgICAgIC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1bikgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoIFxkfFxkXGQpIChcZFxkKTooXGRcZCk6KFxkXGQpIChcZHs0fSkkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdFJGQzExMjNPcjg1MChtYXRjaCkgewogICAgY29uc3QgWywgd2Vla2RheVN0ciwgZGF5U3RyLCBtb250aFN0ciwgeWVhclN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHJdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKICAgIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdEFTQ0lJKG1hdGNoKSB7CiAgICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCwKICAgICAgcmVzdWx0ID0gZnJvbVN0cmluZ3Mod2Vla2RheVN0ciwgeWVhclN0ciwgbW9udGhTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIpOwogICAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07CiAgfQoKICBjb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvV2Vla1dpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29XZWVrUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29PcmRpbmFsUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpOwoKICBjb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1ltZCwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoCiAgICBleHRyYWN0SVNPV2Vla0RhdGEsCiAgICBleHRyYWN0SVNPVGltZSwKICAgIGV4dHJhY3RJU09PZmZzZXQsCiAgICBleHRyYWN0SUFOQVpvbmUKICApOwogIGNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09PcmRpbmFsRGF0YSwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CgogIC8qCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gcGFyc2VJU09EYXRlKHMpIHsKICAgIHJldHVybiBwYXJzZSgKICAgICAgcywKICAgICAgW2lzb1ltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSwKICAgICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLAogICAgICBbaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWVdLAogICAgICBbaXNvVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lQW5kT2Zmc2V0XQogICAgKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykgewogICAgcmV0dXJuIHBhcnNlKHByZXByb2Nlc3NSRkMyODIyKHMpLCBbcmZjMjgyMiwgZXh0cmFjdFJGQzI4MjJdKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSFRUUERhdGUocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbcmZjMTEyMywgZXh0cmFjdFJGQzExMjNPcjg1MF0sCiAgICAgIFtyZmM4NTAsIGV4dHJhY3RSRkMxMTIzT3I4NTBdLAogICAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV0KICAgICk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUlTT0R1cmF0aW9uKHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvRHVyYXRpb24sIGV4dHJhY3RJU09EdXJhdGlvbl0pOwogIH0KCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpOwoKICBmdW5jdGlvbiBwYXJzZUlTT1RpbWVPbmx5KHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pOwogIH0KCiAgY29uc3Qgc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFltZFJlZ2V4LCBzcWxUaW1lRXh0ZW5zaW9uUmVnZXgpOwogIGNvbnN0IHNxbFRpbWVDb21iaW5lZFJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsVGltZVJlZ2V4KTsKCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPZmZzZXRBbmRJQU5BWm9uZSA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1RpbWUsCiAgICBleHRyYWN0SVNPT2Zmc2V0LAogICAgZXh0cmFjdElBTkFab25lCiAgKTsKCiAgZnVuY3Rpb24gcGFyc2VTUUwocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT1ltZFRpbWVBbmRPZmZzZXRdLAogICAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdCiAgICApOwogIH0KCiAgY29uc3QgSU5WQUxJRCQyID0gIkludmFsaWQgRHVyYXRpb24iOwoKICAvLyB1bml0IGNvbnZlcnNpb24gY29uc3RhbnRzCiAgY29uc3QgbG93T3JkZXJNYXRyaXggPSB7CiAgICAgIHdlZWtzOiB7CiAgICAgICAgZGF5czogNywKICAgICAgICBob3VyczogNyAqIDI0LAogICAgICAgIG1pbnV0ZXM6IDcgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiA3ICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgZGF5czogewogICAgICAgIGhvdXJzOiAyNCwKICAgICAgICBtaW51dGVzOiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCwKICAgICAgICBtaWxsaXNlY29uZHM6IDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCiAgICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sCiAgICAgIG1pbnV0ZXM6IHsgc2Vjb25kczogNjAsIG1pbGxpc2Vjb25kczogNjAgKiAxMDAwIH0sCiAgICAgIHNlY29uZHM6IHsgbWlsbGlzZWNvbmRzOiAxMDAwIH0sCiAgICB9LAogICAgY2FzdWFsTWF0cml4ID0gewogICAgICB5ZWFyczogewogICAgICAgIHF1YXJ0ZXJzOiA0LAogICAgICAgIG1vbnRoczogMTIsCiAgICAgICAgd2Vla3M6IDUyLAogICAgICAgIGRheXM6IDM2NSwKICAgICAgICBob3VyczogMzY1ICogMjQsCiAgICAgICAgbWludXRlczogMzY1ICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogMTMsCiAgICAgICAgZGF5czogOTEsCiAgICAgICAgaG91cnM6IDkxICogMjQsCiAgICAgICAgbWludXRlczogOTEgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLAogICAgICAgIG1pbGxpc2Vjb25kczogOTEgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogNCwKICAgICAgICBkYXlzOiAzMCwKICAgICAgICBob3VyczogMzAgKiAyNCwKICAgICAgICBtaW51dGVzOiAzMCAqIDI0ICogNjAsCiAgICAgICAgc2Vjb25kczogMzAgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCgogICAgICAuLi5sb3dPcmRlck1hdHJpeCwKICAgIH0sCiAgICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCwKICAgIGRheXNJbk1vbnRoQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQ4MDAsCiAgICBhY2N1cmF0ZU1hdHJpeCA9IHsKICAgICAgeWVhcnM6IHsKICAgICAgICBxdWFydGVyczogNCwKICAgICAgICBtb250aHM6IDEyLAogICAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LAogICAgICAgIGRheXM6IGRheXNJblllYXJBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luWWVhckFjY3VyYXRlICogMjQsCiAgICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsCiAgICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlIC8gNCwKICAgICAgICBob3VyczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0KSAvIDQsCiAgICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCwKICAgICAgICBzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwKSAvIDQsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCkgLyA0LAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogZGF5c0luTW9udGhBY2N1cmF0ZSAvIDcsCiAgICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luTW9udGhBY2N1cmF0ZSAqIDI0LAogICAgICAgIG1pbnV0ZXM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgLi4ubG93T3JkZXJNYXRyaXgsCiAgICB9OwoKICAvLyB1bml0cyBvcmRlcmVkIGJ5IHNpemUKICBjb25zdCBvcmRlcmVkVW5pdHMkMSA9IFsKICAgICJ5ZWFycyIsCiAgICAicXVhcnRlcnMiLAogICAgIm1vbnRocyIsCiAgICAid2Vla3MiLAogICAgImRheXMiLAogICAgImhvdXJzIiwKICAgICJtaW51dGVzIiwKICAgICJzZWNvbmRzIiwKICAgICJtaWxsaXNlY29uZHMiLAogIF07CgogIGNvbnN0IHJldmVyc2VVbml0cyA9IG9yZGVyZWRVbml0cyQxLnNsaWNlKDApLnJldmVyc2UoKTsKCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zICJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXMiCiAgZnVuY3Rpb24gY2xvbmUkMShkdXIsIGFsdHMsIGNsZWFyID0gZmFsc2UpIHsKICAgIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHMKICAgIGNvbnN0IGNvbmYgPSB7CiAgICAgIHZhbHVlczogY2xlYXIgPyBhbHRzLnZhbHVlcyA6IHsgLi4uZHVyLnZhbHVlcywgLi4uKGFsdHMudmFsdWVzIHx8IHt9KSB9LAogICAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLAogICAgICBjb252ZXJzaW9uQWNjdXJhY3k6IGFsdHMuY29udmVyc2lvbkFjY3VyYWN5IHx8IGR1ci5jb252ZXJzaW9uQWNjdXJhY3ksCiAgICAgIG1hdHJpeDogYWx0cy5tYXRyaXggfHwgZHVyLm1hdHJpeCwKICAgIH07CiAgICByZXR1cm4gbmV3IER1cmF0aW9uKGNvbmYpOwogIH0KCiAgZnVuY3Rpb24gYW50aVRydW5jKG4pIHsKICAgIHJldHVybiBuIDwgMCA/IE1hdGguZmxvb3IobikgOiBNYXRoLmNlaWwobik7CiAgfQoKICAvLyBOQjogbXV0YXRlcyBwYXJhbWV0ZXJzCiAgZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7CiAgICBjb25zdCBjb252ID0gbWF0cml4W3RvVW5pdF1bZnJvbVVuaXRdLAogICAgICByYXcgPSBmcm9tTWFwW2Zyb21Vbml0XSAvIGNvbnYsCiAgICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSwKICAgICAgLy8gb2ssIHNvIHRoaXMgaXMgd2lsZCwgYnV0IHNlZSB0aGUgbWF0cml4IGluIHRoZSB0ZXN0cwogICAgICBhZGRlZCA9CiAgICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7CiAgICB0b01hcFt0b1VuaXRdICs9IGFkZGVkOwogICAgZnJvbU1hcFtmcm9tVW5pdF0gLT0gYWRkZWQgKiBjb252OwogIH0KCiAgLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVycwogIGZ1bmN0aW9uIG5vcm1hbGl6ZVZhbHVlcyhtYXRyaXgsIHZhbHMpIHsKICAgIHJldmVyc2VVbml0cy5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7CiAgICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHsKICAgICAgICBpZiAocHJldmlvdXMpIHsKICAgICAgICAgIGNvbnZlcnQobWF0cml4LCB2YWxzLCBwcmV2aW91cywgdmFscywgY3VycmVudCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjdXJyZW50OwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBwcmV2aW91czsKICAgICAgfQogICAgfSwgbnVsbCk7CiAgfQoKICAvLyBSZW1vdmUgYWxsIHByb3BlcnRpZXMgd2l0aCBhIHZhbHVlIG9mIDAgZnJvbSBhbiBvYmplY3QKICBmdW5jdGlvbiByZW1vdmVaZXJvZXModmFscykgewogICAgY29uc3QgbmV3VmFscyA9IHt9OwogICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFscykpIHsKICAgICAgaWYgKHZhbHVlICE9PSAwKSB7CiAgICAgICAgbmV3VmFsc1trZXldID0gdmFsdWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBuZXdWYWxzOwogIH0KCiAgLyoqCiAgICogQSBEdXJhdGlvbiBvYmplY3QgcmVwcmVzZW50cyBhIHBlcmlvZCBvZiB0aW1lLCBsaWtlICIyIG1vbnRocyIgb3IgIjEgZGF5LCAxIGhvdXIiLiBDb25jZXB0dWFsbHksIGl0J3MganVzdCBhIG1hcCBvZiB1bml0cyB0byB0aGVpciBxdWFudGl0aWVzLCBhY2NvbXBhbmllZCBieSBzb21lIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBhbmQgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHBhcnNpbmcsIGludGVycm9nYXRpbmcsIHRyYW5zZm9ybWluZywgYW5kIGZvcm1hdHRpbmcgdGhlbS4gVGhleSBjYW4gYmUgdXNlZCBvbiB0aGVpciBvd24gb3IgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlciBMdXhvbiB0eXBlczsgZm9yIGV4YW1wbGUsIHlvdSBjYW4gdXNlIHtAbGluayBEYXRlVGltZSNwbHVzfSB0byBhZGQgYSBEdXJhdGlvbiBvYmplY3QgdG8gYSBEYXRlVGltZSwgcHJvZHVjaW5nIGFub3RoZXIgRGF0ZVRpbWUuCiAgICoKICAgKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOgogICAqCiAgICogKiAqKkNyZWF0aW9uKiogVG8gY3JlYXRlIGEgRHVyYXRpb24sIHVzZSB7QGxpbmsgRHVyYXRpb24uZnJvbU1pbGxpc30sIHtAbGluayBEdXJhdGlvbi5mcm9tT2JqZWN0fSwgb3Ige0BsaW5rIER1cmF0aW9uLmZyb21JU099LgogICAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy4KICAgKiAqICoqQ29uZmlndXJhdGlvbioqIFNlZSAge0BsaW5rIER1cmF0aW9uI2xvY2FsZX0gYW5kIHtAbGluayBEdXJhdGlvbiNudW1iZXJpbmdTeXN0ZW19IGFjY2Vzc29ycy4KICAgKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgbmV3IER1cmF0aW9ucyBvdXQgb2Ygb2xkIG9uZXMgdXNlIHtAbGluayBEdXJhdGlvbiNwbHVzfSwge0BsaW5rIER1cmF0aW9uI21pbnVzfSwge0BsaW5rIER1cmF0aW9uI25vcm1hbGl6ZX0sIHtAbGluayBEdXJhdGlvbiNzZXR9LCB7QGxpbmsgRHVyYXRpb24jcmVjb25maWd1cmV9LCB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30sIGFuZCB7QGxpbmsgRHVyYXRpb24jbmVnYXRlfS4KICAgKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn0KICAgKgogICAqIFRoZXJlJ3MgYXJlIG1vcmUgbWV0aG9kcyBkb2N1bWVudGVkIGJlbG93LiBJbiBhZGRpdGlvbiwgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc3VidGxlciB0b3BpY3MgbGlrZSBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgdmFsaWRpdHksIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi4KICAgKi8KICBjbGFzcyBEdXJhdGlvbiB7CiAgICAvKioKICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09ICJsb25ndGVybSIgfHwgZmFsc2U7CiAgICAgIGxldCBtYXRyaXggPSBhY2N1cmF0ZSA/IGFjY3VyYXRlTWF0cml4IDogY2FzdWFsTWF0cml4OwoKICAgICAgaWYgKGNvbmZpZy5tYXRyaXgpIHsKICAgICAgICBtYXRyaXggPSBjb25maWcubWF0cml4OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuY29udmVyc2lvbkFjY3VyYWN5ID0gYWNjdXJhdGUgPyAibG9uZ3Rlcm0iIDogImNhc3VhbCI7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGNvbmZpZy5pbnZhbGlkIHx8IG51bGw7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubWF0cml4ID0gbWF0cml4OwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgRHVyYXRpb24gZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMuCiAgICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbU1pbGxpcyhjb3VudCwgb3B0cykgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbGxpc2Vjb25kczogY291bnQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEdXJhdGlvbiBmcm9tIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIElmIHRoaXMgb2JqZWN0IGlzIGVtcHR5IHRoZW4gYSB6ZXJvIG1pbGxpc2Vjb25kcyBkdXJhdGlvbiBpcyByZXR1cm5lZC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai55ZWFycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5xdWFydGVycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla3MKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5cwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGVzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnNlY29uZHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdHM9W11dIC0gb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhpcyBEdXJhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBjdXN0b20gY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHsKICAgICAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKAogICAgICAgICAgYER1cmF0aW9uLmZyb21PYmplY3Q6IGFyZ3VtZW50IGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgZ290ICR7CiAgICAgICAgICBvYmogPT09IG51bGwgPyAibnVsbCIgOiB0eXBlb2Ygb2JqCiAgICAgICAgfWAKICAgICAgICApOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IER1cmF0aW9uKHsKICAgICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgICAgY29udmVyc2lvbkFjY3VyYWN5OiBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSwKICAgICAgICBtYXRyaXg6IG9wdHMubWF0cml4LAogICAgICB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gRHVyYXRpb25MaWtlLgogICAgICoKICAgICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZQogICAgICogT25lIG9mOgogICAgICogLSBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHMKICAgICAqIC0gRHVyYXRpb24gaW5zdGFuY2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbkxpa2UpIHsKICAgICAgaWYgKGlzTnVtYmVyKGR1cmF0aW9uTGlrZSkpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgaWYgKER1cmF0aW9uLmlzRHVyYXRpb24oZHVyYXRpb25MaWtlKSkgewogICAgICAgIHJldHVybiBkdXJhdGlvbkxpa2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gIm9iamVjdCIpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBVbmtub3duIGR1cmF0aW9uIGFyZ3VtZW50ICR7ZHVyYXRpb25MaWtlfSBvZiB0eXBlICR7dHlwZW9mIGR1cmF0aW9uTGlrZX1gCiAgICAgICAgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRleHQgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBwcmVzZXQgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI0R1cmF0aW9ucwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUFQyM0gnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjMgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDVZM00nKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogNSwgbW9udGhzOiAzIH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBwYXJzaW5nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgcHJlc2V0IGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm1hdHJpeD1PYmplY3RdIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExOjIyOjMzLjQ0NCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMjIsIHNlY29uZHM6IDMzLCBtaWxsaXNlY29uZHM6IDQ0NCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJ1QxMTowMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTEwMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09UaW1lT25seSh0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRHVyYXRpb24uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBkYXRldGltZSBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHsKICAgICAgaWYgKCFyZWFzb24pIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRHVyYXRpb24gaXMgaW52YWxpZCIpOwogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pOwoKICAgICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWREdXJhdGlvbkVycm9yKGludmFsaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRHVyYXRpb24oeyBpbnZhbGlkIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7CiAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgICAgeWVhcjogInllYXJzIiwKICAgICAgICB5ZWFyczogInllYXJzIiwKICAgICAgICBxdWFydGVyOiAicXVhcnRlcnMiLAogICAgICAgIHF1YXJ0ZXJzOiAicXVhcnRlcnMiLAogICAgICAgIG1vbnRoOiAibW9udGhzIiwKICAgICAgICBtb250aHM6ICJtb250aHMiLAogICAgICAgIHdlZWs6ICJ3ZWVrcyIsCiAgICAgICAgd2Vla3M6ICJ3ZWVrcyIsCiAgICAgICAgZGF5OiAiZGF5cyIsCiAgICAgICAgZGF5czogImRheXMiLAogICAgICAgIGhvdXI6ICJob3VycyIsCiAgICAgICAgaG91cnM6ICJob3VycyIsCiAgICAgICAgbWludXRlOiAibWludXRlcyIsCiAgICAgICAgbWludXRlczogIm1pbnV0ZXMiLAogICAgICAgIHNlY29uZDogInNlY29uZHMiLAogICAgICAgIHNlY29uZHM6ICJzZWNvbmRzIiwKICAgICAgICBtaWxsaXNlY29uZDogIm1pbGxpc2Vjb25kcyIsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAibWlsbGlzZWNvbmRzIiwKICAgICAgfVt1bml0ID8gdW5pdC50b0xvd2VyQ2FzZSgpIDogdW5pdF07CgogICAgICBpZiAoIW5vcm1hbGl6ZWQpIHRocm93IG5ldyBJbnZhbGlkVW5pdEVycm9yKHVuaXQpOwoKICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYSBEdXJhdGlvbi4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0R1cmF0aW9uKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCAgdGhlIGxvY2FsZSBvZiBhIER1cmF0aW9uLCBzdWNoICdlbi1HQicKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBsb2NhbGUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBudW1iZXJpbmcgc3lzdGVtIG9mIGEgRHVyYXRpb24sIHN1Y2ggJ2JlbmcnLiBUaGUgbnVtYmVyaW5nIHN5c3RlbSBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyB0aGUgRHVyYXRpb24KICAgICAqCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOgogICAgICogKiBgU2AgZm9yIG1pbGxpc2Vjb25kcwogICAgICogKiBgc2AgZm9yIHNlY29uZHMKICAgICAqICogYG1gIGZvciBtaW51dGVzCiAgICAgKiAqIGBoYCBmb3IgaG91cnMKICAgICAqICogYGRgIGZvciBkYXlzCiAgICAgKiAqIGB3YCBmb3Igd2Vla3MKICAgICAqICogYE1gIGZvciBtb250aHMKICAgICAqICogYHlgIGZvciB5ZWFycwogICAgICogTm90ZXM6CiAgICAgKiAqIEFkZCBwYWRkaW5nIGJ5IHJlcGVhdGluZyB0aGUgdG9rZW4sIGUuZy4gInl5IiBwYWRzIHRoZSB5ZWFycyB0byB0d28gZGlnaXRzLCAiaGhoaCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzCiAgICAgKiAqIFRva2VucyBjYW4gYmUgZXNjYXBlZCBieSB3cmFwcGluZyB3aXRoIHNpbmdsZSBxdW90ZXMuCiAgICAgKiAqIFRoZSBkdXJhdGlvbiB3aWxsIGJlIGNvbnZlcnRlZCB0byB0aGUgc2V0IG9mIHVuaXRzIGluIHRoZSBmb3JtYXQgc3RyaW5nIHVzaW5nIHtAbGluayBEdXJhdGlvbiNzaGlmdFRvfSBhbmQgdGhlIER1cmF0aW9ucydzIGNvbnZlcnNpb24gYWNjdXJhY3kgc2V0dGluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmZsb29yPXRydWVdIC0gZmxvb3IgbnVtZXJpY2FsIHZhbHVlcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5IGQgcyIpIC8vPT4gIjEgNiAyIgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5eSBkZCBzc3MiKSAvLz0+ICIwMSAwNiAwMDIiCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoIk0gUyIpIC8vPT4gIjEyIDUxODQwMjAwMCIKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9Gb3JtYXQoZm10LCBvcHRzID0ge30pIHsKICAgICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdAogICAgICBjb25zdCBmbXRPcHRzID0gewogICAgICAgIC4uLm9wdHMsCiAgICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLAogICAgICB9OwogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KQogICAgICAgIDogSU5WQUxJRCQyOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIER1cmF0aW9uIHdpdGggYWxsIHVuaXRzIGluY2x1ZGVkLgogICAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdAogICAgICogQHBhcmFtIG9wdHMgLSBPbiBvcHRpb24gb2JqZWN0IHRvIG92ZXJyaWRlIHRoZSBmb3JtYXR0aW5nLiBBY2NlcHRzIHRoZSBzYW1lIGtleXMgYXMgdGhlIG9wdGlvbnMgcGFyYW1ldGVyIG9mIHRoZSBuYXRpdmUgYEludC5OdW1iZXJGb3JtYXRgIGNvbnN0cnVjdG9yLCBhcyB3ZWxsIGFzIGBsaXN0U3R5bGVgLgogICAgICogQGV4YW1wbGUKICAgICAqIGBgYGpzCiAgICAgKiB2YXIgZHVyID0gRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEsIGhvdXJzOiA1LCBtaW51dGVzOiA2IH0pCiAgICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnCiAgICAgKiBkdXIudG9IdW1hbih7IGxpc3RTdHlsZTogImxvbmciIH0pIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCBhbmQgNiBtaW51dGVzJwogICAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogInNob3J0IiB9KSAvLz0+ICcxIGRheSwgNSBociwgNiBtaW4nCiAgICAgKiBgYGAKICAgICAqLwogICAgdG9IdW1hbihvcHRzID0ge30pIHsKICAgICAgY29uc3QgbCA9IG9yZGVyZWRVbml0cyQxCiAgICAgICAgLm1hcCgodW5pdCkgPT4gewogICAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07CiAgICAgICAgICBpZiAoaXNVbmRlZmluZWQodmFsKSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0aGlzLmxvYwogICAgICAgICAgICAubnVtYmVyRm9ybWF0dGVyKHsgc3R5bGU6ICJ1bml0IiwgdW5pdERpc3BsYXk6ICJsb25nIiwgLi4ub3B0cywgdW5pdDogdW5pdC5zbGljZSgwLCAtMSkgfSkKICAgICAgICAgICAgLmZvcm1hdCh2YWwpOwogICAgICAgIH0pCiAgICAgICAgLmZpbHRlcigobikgPT4gbik7CgogICAgICByZXR1cm4gdGhpcy5sb2MKICAgICAgICAubGlzdEZvcm1hdHRlcih7IHR5cGU6ICJjb25qdW5jdGlvbiIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCAibmFycm93IiwgLi4ub3B0cyB9KQogICAgICAgIC5mb3JtYXQobCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGlzIER1cmF0aW9uJ3MgdmFsdWVzLgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvT2JqZWN0KCkgLy89PiB7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgdG9PYmplY3QoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307CiAgICAgIHJldHVybiB7IC4uLnRoaXMudmFsdWVzIH07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjRHVyYXRpb25zCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDMsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDNZVDQ1UycKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UycKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDUgfSkudG9JU08oKSAvLz0+ICdQNU0nCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogNSB9KS50b0lTTygpIC8vPT4gJ1BUNU0nCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPKCkgewogICAgICAvLyB3ZSBjb3VsZCB1c2UgdGhlIGZvcm1hdHRlciwgYnV0IHRoaXMgaXMgYW4gZWFzaWVyIHdheSB0byBnZXQgdGhlIG1pbmltdW0gc3RyaW5nCiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKCiAgICAgIGxldCBzID0gIlAiOwogICAgICBpZiAodGhpcy55ZWFycyAhPT0gMCkgcyArPSB0aGlzLnllYXJzICsgIlkiOwogICAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgIk0iOwogICAgICBpZiAodGhpcy53ZWVrcyAhPT0gMCkgcyArPSB0aGlzLndlZWtzICsgIlciOwogICAgICBpZiAodGhpcy5kYXlzICE9PSAwKSBzICs9IHRoaXMuZGF5cyArICJEIjsKICAgICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMCkKICAgICAgICBzICs9ICJUIjsKICAgICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArICJIIjsKICAgICAgaWYgKHRoaXMubWludXRlcyAhPT0gMCkgcyArPSB0aGlzLm1pbnV0ZXMgKyAiTSI7CiAgICAgIGlmICh0aGlzLnNlY29uZHMgIT09IDAgfHwgdGhpcy5taWxsaXNlY29uZHMgIT09IDApCiAgICAgICAgLy8gdGhpcyB3aWxsIGhhbmRsZSAiZmxvYXRpbmcgcG9pbnQgbWFkbmVzcyIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXMKICAgICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81ODgwMDQvaXMtZmxvYXRpbmctcG9pbnQtbWF0aC1icm9rZW4KICAgICAgICBzICs9IHJvdW5kVG8odGhpcy5zZWNvbmRzICsgdGhpcy5taWxsaXNlY29uZHMgLyAxMDAwLCAzKSArICJTIjsKICAgICAgaWYgKHMgPT09ICJQIikgcyArPSAiVDBTIjsKICAgICAgcmV0dXJuIHM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuCiAgICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIHJldHVybiBudWxsIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkLCBuZWdhdGl2ZSwgb3IgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIDI0IGhvdXJzLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lcwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzTWlsbGlzZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeAogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSgpIC8vPT4gJzExOjAwOjAwLjAwMCcKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IHN1cHByZXNzU2Vjb25kczogdHJ1ZSB9KSAvLz0+ICcxMTowMCcKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgaW5jbHVkZVByZWZpeDogdHJ1ZSB9KSAvLz0+ICdUMTE6MDA6MDAuMDAwJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09UaW1lKG9wdHMgPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7CgogICAgICBjb25zdCBtaWxsaXMgPSB0aGlzLnRvTWlsbGlzKCk7CiAgICAgIGlmIChtaWxsaXMgPCAwIHx8IG1pbGxpcyA+PSA4NjQwMDAwMCkgcmV0dXJuIG51bGw7CgogICAgICBvcHRzID0gewogICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSwKICAgICAgICBzdXBwcmVzc1NlY29uZHM6IGZhbHNlLAogICAgICAgIGluY2x1ZGVQcmVmaXg6IGZhbHNlLAogICAgICAgIGZvcm1hdDogImV4dGVuZGVkIiwKICAgICAgICAuLi5vcHRzLAogICAgICB9OwoKICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiKTsKCiAgICAgIGxldCBmbXQgPSBvcHRzLmZvcm1hdCA9PT0gImJhc2ljIiA/ICJoaG1tIiA6ICJoaDptbSI7CgogICAgICBpZiAoIW9wdHMuc3VwcHJlc3NTZWNvbmRzIHx8IHZhbHVlLnNlY29uZHMgIT09IDAgfHwgdmFsdWUubWlsbGlzZWNvbmRzICE9PSAwKSB7CiAgICAgICAgZm10ICs9IG9wdHMuZm9ybWF0ID09PSAiYmFzaWMiID8gInNzIiA6ICI6c3MiOwogICAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHsKICAgICAgICAgIGZtdCArPSAiLlNTUyI7CiAgICAgICAgfQogICAgICB9CgogICAgICBsZXQgc3RyID0gdmFsdWUudG9Gb3JtYXQoZm10KTsKCiAgICAgIGlmIChvcHRzLmluY2x1ZGVQcmVmaXgpIHsKICAgICAgICBzdHIgPSAiVCIgKyBzdHI7CiAgICAgIH0KCiAgICAgIHJldHVybiBzdHI7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0pTT04oKSB7CiAgICAgIHJldHVybiB0aGlzLnRvSVNPKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU3RyaW5nKCkgewogICAgICByZXR1cm4gdGhpcy50b0lTTygpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdG9NaWxsaXMoKSB7CiAgICAgIHJldHVybiB0aGlzLmFzKCJtaWxsaXNlY29uZHMiKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gbWlsbGlzZWNvbmRzIHZhbHVlIG9mIHRoaXMgRHVyYXRpb24uIEFsaWFzIG9mIHtAbGluayB0b01pbGxpc30KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdmFsdWVPZigpIHsKICAgICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBsb25nZXIgYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gYWRkLiBFaXRoZXIgYSBMdXhvbiBEdXJhdGlvbiwgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCB0aGUgb2JqZWN0IGFyZ3VtZW50IHRvIER1cmF0aW9uLmZyb21PYmplY3QoKQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHBsdXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksCiAgICAgICAgcmVzdWx0ID0ge307CgogICAgICBmb3IgKGNvbnN0IGsgb2Ygb3JkZXJlZFVuaXRzJDEpIHsKICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkoZHVyLnZhbHVlcywgaykgfHwgaGFzT3duUHJvcGVydHkodGhpcy52YWx1ZXMsIGspKSB7CiAgICAgICAgICByZXN1bHRba10gPSBkdXIuZ2V0KGspICsgdGhpcy5nZXQoayk7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogTWFrZSB0aGlzIER1cmF0aW9uIHNob3J0ZXIgYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgbWludXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CiAgICAgIHJldHVybiB0aGlzLnBsdXMoZHVyLm5lZ2F0ZSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNjYWxlIHRoaXMgRHVyYXRpb24gYnkgdGhlIHNwZWNpZmllZCBhbW91bnQuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtmdW5jdGlvbn0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCB1bml0LiBBcml0eSBpcyAxIG9yIDI6IHRoZSB2YWx1ZSBvZiB0aGUgdW5pdCBhbmQsIG9wdGlvbmFsbHksIHRoZSB1bml0IG5hbWUuIE11c3QgcmV0dXJuIGEgbnVtYmVyLgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH0KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgbWludXRlczogMzAgfSkubWFwVW5pdHMoKHgsIHUpID0+IHUgPT09ICJob3VycyIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG1hcFVuaXRzKGZuKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgcmVzdWx0ID0ge307CiAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHsKICAgICAgICByZXN1bHRba10gPSBhc051bWJlcihmbih0aGlzLnZhbHVlc1trXSwgaykpOwogICAgICB9CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIHsgdmFsdWVzOiByZXN1bHQgfSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIGEgdW5pdCBzdWNoIGFzICdtaW51dGUnIG9yICdkYXknCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDIKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAyLCBkYXlzOiAzfSkuZ2V0KCdtb250aHMnKSAvLz0+IDAKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAyLCBkYXlzOiAzfSkuZ2V0KCdkYXlzJykgLy89PiAzCiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCh1bml0KSB7CiAgICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzCiAgICAgKiBAZXhhbXBsZSBkdXIuc2V0KHsgeWVhcnM6IDIwMTcgfSkKICAgICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSkKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzZXQodmFsdWVzKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKCiAgICAgIGNvbnN0IG1peGVkID0geyAuLi50aGlzLnZhbHVlcywgLi4ubm9ybWFsaXplT2JqZWN0KHZhbHVlcywgRHVyYXRpb24ubm9ybWFsaXplVW5pdCkgfTsKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IG1peGVkIH0pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZSBhbmQvb3IgbnVtYmVyaW5nU3lzdGVtLiAgUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLgogICAgICogQGV4YW1wbGUgZHVyLnJlY29uZmlndXJlKHsgbG9jYWxlOiAnZW4tR0InIH0pCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgcmVjb25maWd1cmUoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgY29udmVyc2lvbkFjY3VyYWN5LCBtYXRyaXggfSA9IHt9KSB7CiAgICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0gfSk7CiAgICAgIGNvbnN0IG9wdHMgPSB7IGxvYywgbWF0cml4LCBjb252ZXJzaW9uQWNjdXJhY3kgfTsKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgZHVyYXRpb24gaW4gdGhlIHNwZWNpZmllZCB1bml0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdkYXlzJykgLy89PiAzNjUKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ21vbnRocycpIC8vPT4gMTIKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjUKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgYXModW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5zaGlmdFRvKHVuaXQpLmdldCh1bml0KSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDIsIGRheXM6IDUwMDAgfSkubm9ybWFsaXplKCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDE1LCBkYXlzOiAyNTUgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMiwgbWludXRlczogLTQ1IH0pLm5vcm1hbGl6ZSgpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMTUgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG5vcm1hbGl6ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gdGhpcy50b09iamVjdCgpOwogICAgICBub3JtYWxpemVWYWx1ZXModGhpcy5tYXRyaXgsIHZhbHMpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2NhbGUgdW5pdHMgdG8gaXRzIGxhcmdlc3QgcmVwcmVzZW50YXRpb24KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IDkwMDAwIH0pLnJlc2NhbGUoKS50b09iamVjdCgpIC8vPT4geyBtaW51dGVzOiAxLCBzZWNvbmRzOiAzMCB9CiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgcmVzY2FsZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gcmVtb3ZlWmVyb2VzKHRoaXMubm9ybWFsaXplKCkuc2hpZnRUb0FsbCgpLnRvT2JqZWN0KCkpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhpcyBEdXJhdGlvbiBpbnRvIGl0cyByZXByZXNlbnRhdGlvbiBpbiBhIGRpZmZlcmVudCBzZXQgb2YgdW5pdHMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEsIHNlY29uZHM6IDMwIH0pLnNoaWZ0VG8oJ21pbnV0ZXMnLCAnbWlsbGlzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgbWludXRlczogNjAsIG1pbGxpc2Vjb25kczogMzAwMDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHNoaWZ0VG8oLi4udW5pdHMpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CgogICAgICB1bml0cyA9IHVuaXRzLm1hcCgodSkgPT4gRHVyYXRpb24ubm9ybWFsaXplVW5pdCh1KSk7CgogICAgICBjb25zdCBidWlsdCA9IHt9LAogICAgICAgIGFjY3VtdWxhdGVkID0ge30sCiAgICAgICAgdmFscyA9IHRoaXMudG9PYmplY3QoKTsKICAgICAgbGV0IGxhc3RVbml0OwoKICAgICAgZm9yIChjb25zdCBrIG9mIG9yZGVyZWRVbml0cyQxKSB7CiAgICAgICAgaWYgKHVuaXRzLmluZGV4T2YoaykgPj0gMCkgewogICAgICAgICAgbGFzdFVuaXQgPSBrOwoKICAgICAgICAgIGxldCBvd24gPSAwOwoKICAgICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdAogICAgICAgICAgZm9yIChjb25zdCBhayBpbiBhY2N1bXVsYXRlZCkgewogICAgICAgICAgICBvd24gKz0gdGhpcy5tYXRyaXhbYWtdW2tdICogYWNjdW11bGF0ZWRbYWtdOwogICAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIHBsdXMgYW55dGhpbmcgdGhhdCdzIGFscmVhZHkgaW4gdGhpcyB1bml0CiAgICAgICAgICBpZiAoaXNOdW1iZXIodmFsc1trXSkpIHsKICAgICAgICAgICAgb3duICs9IHZhbHNba107CiAgICAgICAgICB9CgogICAgICAgICAgY29uc3QgaSA9IE1hdGgudHJ1bmMob3duKTsKICAgICAgICAgIGJ1aWx0W2tdID0gaTsKICAgICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwOwoKICAgICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpcwogICAgICAgICAgZm9yIChjb25zdCBkb3duIGluIHZhbHMpIHsKICAgICAgICAgICAgaWYgKG9yZGVyZWRVbml0cyQxLmluZGV4T2YoZG93bikgPiBvcmRlcmVkVW5pdHMkMS5pbmRleE9mKGspKSB7CiAgICAgICAgICAgICAgY29udmVydCh0aGlzLm1hdHJpeCwgdmFscywgZG93biwgYnVpbHQsIGspOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAvLyBvdGhlcndpc2UsIGtlZXAgaXQgaW4gdGhlIHdpbmdzIHRvIGJvaWwgaXQgbGF0ZXIKICAgICAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7CiAgICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107CiAgICAgICAgfQogICAgICB9CgogICAgICAvLyBhbnl0aGluZyBsZWZ0b3ZlciBiZWNvbWVzIHRoZSBkZWNpbWFsIGZvciB0aGUgbGFzdCB1bml0CiAgICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHkKICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWNjdW11bGF0ZWQpIHsKICAgICAgICBpZiAoYWNjdW11bGF0ZWRba2V5XSAhPT0gMCkgewogICAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9CiAgICAgICAgICAgIGtleSA9PT0gbGFzdFVuaXQgPyBhY2N1bXVsYXRlZFtrZXldIDogYWNjdW11bGF0ZWRba2V5XSAvIHRoaXMubWF0cml4W2xhc3RVbml0XVtrZXldOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IGJ1aWx0IH0sIHRydWUpLm5vcm1hbGl6ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogU2hpZnQgdGhpcyBEdXJhdGlvbiB0byBhbGwgYXZhaWxhYmxlIHVuaXRzLgogICAgICogU2FtZSBhcyBzaGlmdFRvKCJ5ZWFycyIsICJtb250aHMiLCAid2Vla3MiLCAiZGF5cyIsICJob3VycyIsICJtaW51dGVzIiwgInNlY29uZHMiLCAibWlsbGlzZWNvbmRzIikKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzaGlmdFRvQWxsKCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIHJldHVybiB0aGlzLnNoaWZ0VG8oCiAgICAgICAgInllYXJzIiwKICAgICAgICAibW9udGhzIiwKICAgICAgICAid2Vla3MiLAogICAgICAgICJkYXlzIiwKICAgICAgICAiaG91cnMiLAogICAgICAgICJtaW51dGVzIiwKICAgICAgICAic2Vjb25kcyIsCiAgICAgICAgIm1pbGxpc2Vjb25kcyIKICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbmVnYXRpdmUgb2YgdGhpcyBEdXJhdGlvbi4KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG5lZ2F0ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBuZWdhdGVkID0ge307CiAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHsKICAgICAgICBuZWdhdGVkW2tdID0gdGhpcy52YWx1ZXNba10gPT09IDAgPyAwIDogLXRoaXMudmFsdWVzW2tdOwogICAgICB9CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIHsgdmFsdWVzOiBuZWdhdGVkIH0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB5ZWFycy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB5ZWFycygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnllYXJzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHF1YXJ0ZXJzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHF1YXJ0ZXJzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMucXVhcnRlcnMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbW9udGhzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1vbnRocygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1vbnRocyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB3ZWVrcwogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHdlZWtzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMud2Vla3MgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5cy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXlzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuZGF5cyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBob3Vycy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBob3VycygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmhvdXJzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbnV0ZXMuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbWludXRlcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1pbnV0ZXMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc2Vjb25kcy4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0IHNlY29uZHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5zZWNvbmRzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kcy4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbGxpc2Vjb25kcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLm1pbGxpc2Vjb25kcyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkLiBJbnZhbGlkIGR1cmF0aW9ucyBhcmUgcmV0dXJuZWQgYnkgZGlmZiBvcGVyYXRpb25zCiAgICAgKiBvbiBpbnZhbGlkIERhdGVUaW1lcyBvciBJbnRlcnZhbHMuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIER1cmF0aW9uIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEdXJhdGlvbiBpcyB2YWxpZAogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogRXF1YWxpdHkgY2hlY2sKICAgICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LgogICAgICogQHBhcmFtIHtEdXJhdGlvbn0gb3RoZXIKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGVxdWFscyhvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCAhb3RoZXIuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgaWYgKCF0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7CiAgICAgICAgLy8gQ29uc2lkZXIgMCBhbmQgdW5kZWZpbmVkIGFzIGVxdWFsCiAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQgfHwgdjEgPT09IDApIHJldHVybiB2MiA9PT0gdW5kZWZpbmVkIHx8IHYyID09PSAwOwogICAgICAgIHJldHVybiB2MSA9PT0gdjI7CiAgICAgIH0KCiAgICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMkMSkgewogICAgICAgIGlmICghZXEodGhpcy52YWx1ZXNbdV0sIG90aGVyLnZhbHVlc1t1XSkpIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfQoKICBjb25zdCBJTlZBTElEJDEgPSAiSW52YWxpZCBJbnRlcnZhbCI7CgogIC8vIGNoZWNrcyBpZiB0aGUgc3RhcnQgaXMgZXF1YWwgdG8gb3IgYmVmb3JlIHRoZSBlbmQKICBmdW5jdGlvbiB2YWxpZGF0ZVN0YXJ0RW5kKHN0YXJ0LCBlbmQpIHsKICAgIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHsKICAgICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydCIpOwogICAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkgewogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgibWlzc2luZyBvciBpbnZhbGlkIGVuZCIpOwogICAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkgewogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgKICAgICAgICAiZW5kIGJlZm9yZSBzdGFydCIsCiAgICAgICAgYFRoZSBlbmQgb2YgYW4gaW50ZXJ2YWwgbXVzdCBiZSBhZnRlciBpdHMgc3RhcnQsIGJ1dCB5b3UgaGFkIHN0YXJ0PSR7c3RhcnQudG9JU08oKX0gYW5kIGVuZD0ke2VuZC50b0lTTygpfWAKICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgLyoqCiAgICogQW4gSW50ZXJ2YWwgb2JqZWN0IHJlcHJlc2VudHMgYSBoYWxmLW9wZW4gaW50ZXJ2YWwgb2YgdGltZSwgd2hlcmUgZWFjaCBlbmRwb2ludCBpcyBhIHtAbGluayBEYXRlVGltZX0uIENvbmNlcHR1YWxseSwgaXQncyBhIGNvbnRhaW5lciBmb3IgdGhvc2UgdHdvIGVuZHBvaW50cywgYWNjb21wYW5pZWQgYnkgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHBhcnNpbmcsIGludGVycm9nYXRpbmcsIGNvbXBhcmluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLgogICAqCiAgICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDoKICAgKgogICAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhbiBJbnRlcnZhbCwgdXNlIHtAbGluayBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzfSwge0BsaW5rIEludGVydmFsLmFmdGVyfSwge0BsaW5rIEludGVydmFsLmJlZm9yZX0sIG9yIHtAbGluayBJbnRlcnZhbC5mcm9tSVNPfS4KICAgKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC4KICAgKiAqICoqSW50ZXJyb2dhdGlvbioqIFRvIGFuYWx5emUgdGhlIEludGVydmFsLCB1c2Uge0BsaW5rIEludGVydmFsI2NvdW50fSwge0BsaW5rIEludGVydmFsI2xlbmd0aH0sIHtAbGluayBJbnRlcnZhbCNoYXNTYW1lfSwge0BsaW5rIEludGVydmFsI2NvbnRhaW5zfSwge0BsaW5rIEludGVydmFsI2lzQWZ0ZXJ9LCBvciB7QGxpbmsgSW50ZXJ2YWwjaXNCZWZvcmV9LgogICAqICogKipUcmFuc2Zvcm1hdGlvbioqIFRvIGNyZWF0ZSBvdGhlciBJbnRlcnZhbHMgb3V0IG9mIHRoaXMgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI3NldH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEF0fSwge0BsaW5rIEludGVydmFsI3NwbGl0Qnl9LCB7QGxpbmsgSW50ZXJ2YWwjZGl2aWRlRXF1YWxseX0sIHtAbGluayBJbnRlcnZhbC5tZXJnZX0sIHtAbGluayBJbnRlcnZhbC54b3J9LCB7QGxpbmsgSW50ZXJ2YWwjdW5pb259LCB7QGxpbmsgSW50ZXJ2YWwjaW50ZXJzZWN0aW9ufSwgb3Ige0BsaW5rIEludGVydmFsI2RpZmZlcmVuY2V9LgogICAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9CiAgICogKiAqKk91dHB1dCoqIFRvIGNvbnZlcnQgdGhlIEludGVydmFsIGludG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCBzZWUge0BsaW5rIEludGVydmFsI3RvU3RyaW5nfSwge0BsaW5rIEludGVydmFsI3RvTG9jYWxlU3RyaW5nfSwge0BsaW5rIEludGVydmFsI3RvSVNPfSwge0BsaW5rIEludGVydmFsI3RvSVNPRGF0ZX0sIHtAbGluayBJbnRlcnZhbCN0b0lTT1RpbWV9LCB7QGxpbmsgSW50ZXJ2YWwjdG9Gb3JtYXR9LCBhbmQge0BsaW5rIEludGVydmFsI3RvRHVyYXRpb259LgogICAqLwogIGNsYXNzIEludGVydmFsIHsKICAgIC8qKgogICAgICogQHByaXZhdGUKICAgICAqLwogICAgY29uc3RydWN0b3IoY29uZmlnKSB7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMucyA9IGNvbmZpZy5zdGFydDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5lID0gY29uZmlnLmVuZDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5pbnZhbGlkID0gY29uZmlnLmludmFsaWQgfHwgbnVsbDsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5pc0x1eG9uSW50ZXJ2YWwgPSB0cnVlOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgSW50ZXJ2YWwuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHsKICAgICAgaWYgKCFyZWFzb24pIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgSW50ZXJ2YWwgaXMgaW52YWxpZCIpOwogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pOwoKICAgICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRJbnRlcnZhbEVycm9yKGludmFsaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoeyBpbnZhbGlkIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhIHN0YXJ0IERhdGVUaW1lIGFuZCBhbiBlbmQgRGF0ZVRpbWUuIEluY2x1c2l2ZSBvZiB0aGUgc3RhcnQgYnV0IG5vdCB0aGUgZW5kLgogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gc3RhcnQKICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZAogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHsKICAgICAgY29uc3QgYnVpbHRTdGFydCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpLAogICAgICAgIGJ1aWx0RW5kID0gZnJpZW5kbHlEYXRlVGltZShlbmQpOwoKICAgICAgY29uc3QgdmFsaWRhdGVFcnJvciA9IHZhbGlkYXRlU3RhcnRFbmQoYnVpbHRTdGFydCwgYnVpbHRFbmQpOwoKICAgICAgaWYgKHZhbGlkYXRlRXJyb3IgPT0gbnVsbCkgewogICAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoewogICAgICAgICAgc3RhcnQ6IGJ1aWx0U3RhcnQsCiAgICAgICAgICBlbmQ6IGJ1aWx0RW5kLAogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB2YWxpZGF0ZUVycm9yOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhIHN0YXJ0IERhdGVUaW1lIGFuZCBhIER1cmF0aW9uIHRvIGV4dGVuZCB0by4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0CiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwuCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGFmdGVyKHN0YXJ0LCBkdXJhdGlvbikgewogICAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKSwKICAgICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpOwogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdCwgZHQucGx1cyhkdXIpKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLgogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gZW5kCiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwuCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGJlZm9yZShlbmQsIGR1cmF0aW9uKSB7CiAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLAogICAgICAgIGR0ID0gZnJpZW5kbHlEYXRlVGltZShlbmQpOwogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdC5taW51cyhkdXIpLCBkdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gSW50ZXJ2YWwgZnJvbSBhbiBJU08gODYwMSBzdHJpbmcuCiAgICAgKiBBY2NlcHRzIGA8c3RhcnQ+LzxlbmQ+YCwgYDxzdGFydD4vPGR1cmF0aW9uPmAsIGFuZCBgPGR1cmF0aW9uPi88ZW5kPmAgZm9ybWF0cy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBvcHRpb25zIHRvIHBhc3Mge0BsaW5rIERhdGVUaW1lI2Zyb21JU099IGFuZCBvcHRpb25hbGx5IHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfQogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPKHRleHQsIG9wdHMpIHsKICAgICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgIiIpLnNwbGl0KCIvIiwgMik7CiAgICAgIGlmIChzICYmIGUpIHsKICAgICAgICBsZXQgc3RhcnQsIHN0YXJ0SXNWYWxpZDsKICAgICAgICB0cnkgewogICAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpOwogICAgICAgICAgc3RhcnRJc1ZhbGlkID0gc3RhcnQuaXNWYWxpZDsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGxldCBlbmQsIGVuZElzVmFsaWQ7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7CiAgICAgICAgICBlbmRJc1ZhbGlkID0gZW5kLmlzVmFsaWQ7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKHN0YXJ0SXNWYWxpZCAmJiBlbmRJc1ZhbGlkKSB7CiAgICAgICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzdGFydCwgZW5kKTsKICAgICAgICB9CgogICAgICAgIGlmIChzdGFydElzVmFsaWQpIHsKICAgICAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21JU08oZSwgb3B0cyk7CiAgICAgICAgICBpZiAoZHVyLmlzVmFsaWQpIHsKICAgICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZW5kSXNWYWxpZCkgewogICAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTsKICAgICAgICAgIGlmIChkdXIuaXNWYWxpZCkgewogICAgICAgICAgICByZXR1cm4gSW50ZXJ2YWwuYmVmb3JlKGVuZCwgZHVyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBJbnRlcnZhbC4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0ludGVydmFsKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIHN0YXJ0IG9mIHRoZSBJbnRlcnZhbAogICAgICogQHR5cGUge0RhdGVUaW1lfQogICAgICovCiAgICBnZXQgc3RhcnQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZW5kIG9mIHRoZSBJbnRlcnZhbAogICAgICogQHR5cGUge0RhdGVUaW1lfQogICAgICovCiAgICBnZXQgZW5kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGlzIEludGVydmFsJ3MgZW5kIGlzIGF0IGxlYXN0IGl0cyBzdGFydCwgbWVhbmluZyB0aGF0IHRoZSBJbnRlcnZhbCBpc24ndCAnYmFja3dhcmRzJy4KICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIEludGVydmFsIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBJbnRlcnZhbCBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgSW50ZXJ2YWwgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbCBpbiB0aGUgc3BlY2lmaWVkIHVuaXQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgbGVuZ3RoKHVuaXQgPSAibWlsbGlzZWNvbmRzIikgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy50b0R1cmF0aW9uKC4uLlt1bml0XSkuZ2V0KHVuaXQpIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgY291bnQgb2YgbWludXRlcywgaG91cnMsIGRheXMsIG1vbnRocywgb3IgeWVhcnMgaW5jbHVkZWQgaW4gdGhlIEludGVydmFsLCBldmVuIGluIHBhcnQuCiAgICAgKiBVbmxpa2Uge0BsaW5rIEludGVydmFsI2xlbmd0aH0gdGhpcyBjb3VudHMgc2VjdGlvbnMgb2YgdGhlIGNhbGVuZGFyLCBub3QgcGVyaW9kcyBvZiB0aW1lLCBlLmcuIHNwZWNpZnlpbmcgJ2RheScKICAgICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3VuaXQ9J21pbGxpc2Vjb25kcyddIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgY291bnQodW5pdCA9ICJtaWxsaXNlY29uZHMiKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOOwogICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnQuc3RhcnRPZih1bml0KSwKICAgICAgICBlbmQgPSB0aGlzLmVuZC5zdGFydE9mKHVuaXQpOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGFuZCBlbmQgYXJlIGJvdGggaW4gdGhlIHNhbWUgdW5pdCBvZiB0aW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb24KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc1NhbWUodW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5pc0VtcHR5KCkgfHwgdGhpcy5lLm1pbnVzKDEpLmhhc1NhbWUodGhpcy5zLCB1bml0KSA6IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0VtcHR5KCkgewogICAgICByZXR1cm4gdGhpcy5zLnZhbHVlT2YoKSA9PT0gdGhpcy5lLnZhbHVlT2YoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGlzQWZ0ZXIoZGF0ZVRpbWUpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTsKICAgICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBiZWZvcmUgdGhlIHNwZWNpZmllZCBEYXRlVGltZS4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0JlZm9yZShkYXRlVGltZSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gdGhpcy5lIDw9IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBjb250YWlucyB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGNvbnRhaW5zKGRhdGVUaW1lKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gZGF0ZVRpbWUgJiYgdGhpcy5lID4gZGF0ZVRpbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0cyIgdGhlIHN0YXJ0IGFuZC9vciBlbmQgZGF0ZXMuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZXMgLSB0aGUgdmFsdWVzIHRvIHNldAogICAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSB2YWx1ZXMuZW5kIC0gdGhlIGVuZGluZyBEYXRlVGltZQogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHNldCh7IHN0YXJ0LCBlbmQgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgYXQgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIERhdGVUaW1lcwogICAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC4KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzcGxpdEF0KC4uLmRhdGVUaW1lcykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdOwogICAgICBjb25zdCBzb3J0ZWQgPSBkYXRlVGltZXMKICAgICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSkKICAgICAgICAgIC5maWx0ZXIoKGQpID0+IHRoaXMuY29udGFpbnMoZCkpCiAgICAgICAgICAuc29ydCgpLAogICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpID0gMDsKCiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLAogICAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaSArPSAxOwogICAgICB9CgogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgaW50byBzbWFsbGVyIEludGVydmFscywgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIGxlbmd0aC4KICAgICAqIExlZnQgb3ZlciB0aW1lIGlzIGdyb3VwZWQgaW50byBhIHNtYWxsZXIgaW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLgogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHNwbGl0QnkoZHVyYXRpb24pIHsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CgogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCAhZHVyLmlzVmFsaWQgfHwgZHVyLmFzKCJtaWxsaXNlY29uZHMiKSA9PT0gMCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpZHggPSAxLAogICAgICAgIG5leHQ7CgogICAgICBjb25zdCByZXN1bHRzID0gW107CiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0YXJ0LnBsdXMoZHVyLm1hcFVuaXRzKCh4KSA9PiB4ICogaWR4KSk7CiAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaWR4ICs9IDE7CiAgICAgIH0KCiAgICAgIHJldHVybiByZXN1bHRzOwogICAgfQoKICAgIC8qKgogICAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlck9mUGFydHMgLSBUaGUgbnVtYmVyIG9mIEludGVydmFscyB0byBkaXZpZGUgdGhlIEludGVydmFsIGludG8uCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgZGl2aWRlRXF1YWxseShudW1iZXJPZlBhcnRzKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107CiAgICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBvdmVybGFwcyB3aXRoIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBvdmVybGFwcyhvdGhlcikgewogICAgICByZXR1cm4gdGhpcy5lID4gb3RoZXIucyAmJiB0aGlzLnMgPCBvdGhlci5lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgYWJ1dHNTdGFydChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsJ3Mgc3RhcnQgaXMgYWRqYWNlbnQgdG8gdGhlIHNwZWNpZmllZCBJbnRlcnZhbCdzIGVuZC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBhYnV0c0VuZChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK290aGVyLmUgPT09ICt0aGlzLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGVuZ3VsZnMgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlbmd1bGZzKG90aGVyKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gb3RoZXIucyAmJiB0aGlzLmUgPj0gb3RoZXIuZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLnMuZXF1YWxzKG90aGVyLnMpICYmIHRoaXMuZS5lcXVhbHMob3RoZXIuZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1heGltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1pbmltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuCiAgICAgKiBSZXR1cm5zIG51bGwgaWYgdGhlIGludGVyc2VjdGlvbiBpcyBlbXB0eSwgbWVhbmluZywgdGhlIGludGVydmFscyBkb24ndCBpbnRlcnNlY3QuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIGludGVyc2VjdGlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPiBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CgogICAgICBpZiAocyA+PSBlKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuCiAgICAgKiBTcGVjaWZpY2FsbHksIHRoZSByZXN1bHRpbmcgSW50ZXJ2YWwgaGFzIHRoZSBtaW5pbXVtIHN0YXJ0IHRpbWUgYW5kIHRoZSBtYXhpbXVtIGVuZCB0aW1lIG9mIHRoZSB0d28gSW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXIKICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICB1bmlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPCBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lID4gb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CiAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpOwogICAgfQoKICAgIC8qKgogICAgICogTWVyZ2UgYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIGludG8gYSBlcXVpdmFsZW50IG1pbmltYWwgc2V0IG9mIEludGVydmFscy4KICAgICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuCiAgICAgKiBAcGFyYW0ge0FycmF5fSBpbnRlcnZhbHMKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbWVyZ2UoaW50ZXJ2YWxzKSB7CiAgICAgIGNvbnN0IFtmb3VuZCwgZmluYWxdID0gaW50ZXJ2YWxzCiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucykKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFtzb2ZhciwgY3VycmVudF0sIGl0ZW0pID0+IHsKICAgICAgICAgICAgaWYgKCFjdXJyZW50KSB7CiAgICAgICAgICAgICAgcmV0dXJuIFtzb2ZhciwgaXRlbV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5vdmVybGFwcyhpdGVtKSB8fCBjdXJyZW50LmFidXRzU3RhcnQoaXRlbSkpIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLmNvbmNhdChbY3VycmVudF0pLCBpdGVtXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIFtbXSwgbnVsbF0KICAgICAgICApOwogICAgICBpZiAoZmluYWwpIHsKICAgICAgICBmb3VuZC5wdXNoKGZpbmFsKTsKICAgICAgfQogICAgICByZXR1cm4gZm91bmQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHN0YXRpYyB4b3IoaW50ZXJ2YWxzKSB7CiAgICAgIGxldCBzdGFydCA9IG51bGwsCiAgICAgICAgY3VycmVudENvdW50ID0gMDsKICAgICAgY29uc3QgcmVzdWx0cyA9IFtdLAogICAgICAgIGVuZHMgPSBpbnRlcnZhbHMubWFwKChpKSA9PiBbCiAgICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogInMiIH0sCiAgICAgICAgICB7IHRpbWU6IGkuZSwgdHlwZTogImUiIH0sCiAgICAgICAgXSksCiAgICAgICAgZmxhdHRlbmVkID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi5lbmRzKSwKICAgICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTsKCiAgICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHsKICAgICAgICBjdXJyZW50Q291bnQgKz0gaS50eXBlID09PSAicyIgPyAxIDogLTE7CgogICAgICAgIGlmIChjdXJyZW50Q291bnQgPT09IDEpIHsKICAgICAgICAgIHN0YXJ0ID0gaS50aW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoc3RhcnQgJiYgK3N0YXJ0ICE9PSAraS50aW1lKSB7CiAgICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBzdGFydCA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBzcGFuIG9mIHRpbWUgaW4gdGhpcyBJbnRlcnZhbCB0aGF0IGRvZXNuJ3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7CiAgICAgIHJldHVybiBJbnRlcnZhbC54b3IoW3RoaXNdLmNvbmNhdChpbnRlcnZhbHMpKQogICAgICAgIC5tYXAoKGkpID0+IHRoaXMuaW50ZXJzZWN0aW9uKGkpKQogICAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBJbnRlcnZhbCBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1N0cmluZygpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEJDE7CiAgICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IOKAkyAke3RoaXMuZS50b0lTTygpfSlgOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxvY2FsaXplZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoaXMgSW50ZXJ2YWwuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUKICAgICAqIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3IgYW5kIGFueSBwcmVzZXRzIGRlZmluZWQgYnkgTHV4b24sIHN1Y2ggYXMKICAgICAqIHtAbGluayBEYXRlVGltZS5EQVRFX0ZVTEx9IG9yIHtAbGluayBEYXRlVGltZS5USU1FX1NJTVBMRX0uIFRoZSBleGFjdCBiZWhhdmlvciBvZiB0aGlzIG1ldGhvZAogICAgICogaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb24gb2YgdGhlCiAgICAgKiBJbnRlcnZhbCBpbiB0aGUgYXNzaWduZWQgbG9jYWxlLiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbgogICAgICogc3BlY2lmaWVkLgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlVGltZUZvcm1hdAogICAgICogQHBhcmFtIHtPYmplY3R9IFtmb3JtYXRPcHRzPURhdGVUaW1lLkRBVEVfU0hPUlRdIC0gRWl0aGVyIGEgRGF0ZVRpbWUgcHJlc2V0IG9yCiAgICAgKiBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHN0YXJ0IERhdGVUaW1lLgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDExLzcvMjAyMiDigJMgMTEvOC8yMDIyCiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tSVNPKCcyMDIyLTExLTA3VDA5OjAwWi8yMDIyLTExLTA4VDA5OjAwWicpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gTm92ZW1iZXIgNyDigJMgOCwgMjAyMgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFX0ZVTEwsIHsgbG9jYWxlOiAnZnItRlInIH0pOyAvLz0+IDfigJM4IG5vdmVtYnJlIDIwMjIKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuVElNRV9TSU1QTEUpOyAvLz0+IDY6MDAg4oCTIDg6MDAgUE0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoeyB3ZWVrZGF5OiAnc2hvcnQnLCBtb250aDogJ3Nob3J0JywgZGF5OiAnMi1kaWdpdCcsIGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcgfSk7IC8vPT4gTW9uLCBOb3YgMDcsIDY6MDAg4oCTIDg6MDAgcAogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gREFURV9TSE9SVCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5zLmxvYy5jbG9uZShvcHRzKSwgZm9ybWF0T3B0cykuZm9ybWF0SW50ZXJ2YWwodGhpcykKICAgICAgICA6IElOVkFMSUQkMTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBUaGUgc2FtZSBvcHRpb25zIGFzIHtAbGluayBEYXRlVGltZSN0b0lTT30KICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU08ob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBkYXRlIG9mIHRoaXMgSW50ZXJ2YWwuCiAgICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT0RhdGUoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvSVNPRGF0ZSgpfS8ke3RoaXMuZS50b0lTT0RhdGUoKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRpbWUgb2YgdGhpcyBJbnRlcnZhbC4KICAgICAqIFRoZSBkYXRlIGNvbXBvbmVudHMgYXJlIGlnbm9yZWQuCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIFRoZSBzYW1lIG9wdGlvbnMgYXMge0BsaW5rIERhdGVUaW1lI3RvSVNPfQogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT1RpbWUob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTT1RpbWUob3B0cyl9LyR7dGhpcy5lLnRvSVNPVGltZShvcHRzKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBmb3JtYXQKICAgICAqIHN0cmluZy4gKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBJbnRlcnZhbCN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZQogICAgICogZm9ybWF0dGluZyB0b29sLgogICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGVGb3JtYXQgLSBUaGUgZm9ybWF0IHN0cmluZy4gVGhpcyBzdHJpbmcgZm9ybWF0cyB0aGUgc3RhcnQgYW5kIGVuZCB0aW1lLgogICAgICogU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcg4oCTICddIC0gQSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZAogICAgICogcmVwcmVzZW50YXRpb25zLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0Zvcm1hdChkYXRlRm9ybWF0LCB7IHNlcGFyYXRvciA9ICIg4oCTICIgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvRm9ybWF0KGRhdGVGb3JtYXQpfSR7c2VwYXJhdG9yfSR7dGhpcy5lLnRvRm9ybWF0KGRhdGVGb3JtYXQpfWA7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLgogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjcmVhdGlvbiBvZiB0aGUgRHVyYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbigpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogODg0ODkyNTcgfQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbignZGF5cycpLnRvT2JqZWN0KCkgLy89PiB7IGRheXM6IDEuMDI0MTgxMjE1Mjc3Nzc3OCB9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oWydob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnXSkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDI0LCBtaW51dGVzOiAzNCwgc2Vjb25kczogNDkuMjU3IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ3NlY29uZHMnKS50b09iamVjdCgpIC8vPT4geyBzZWNvbmRzOiA4ODQ4OS4yNTcgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHRvRHVyYXRpb24odW5pdCwgb3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKHRoaXMuaW52YWxpZFJlYXNvbik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSdW4gbWFwRm4gb24gdGhlIGludGVydmFsIHN0YXJ0IGFuZCBlbmQsIHJldHVybmluZyBhIG5ldyBJbnRlcnZhbCBmcm9tIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWVzCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGbgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS5tYXBFbmRwb2ludHMoZW5kcG9pbnQgPT4gZW5kcG9pbnQudG9VVEMoKSkKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpCiAgICAgKi8KICAgIG1hcEVuZHBvaW50cyhtYXBGbikgewogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTsKICAgIH0KICB9CgogIC8qKgogICAqIFRoZSBJbmZvIGNsYXNzIGNvbnRhaW5zIHN0YXRpYyBtZXRob2RzIGZvciByZXRyaWV2aW5nIGdlbmVyYWwgdGltZSBhbmQgZGF0ZSByZWxhdGVkIGRhdGEuIEZvciBleGFtcGxlLCBpdCBoYXMgbWV0aG9kcyBmb3IgZmluZGluZyBvdXQgaWYgYSB0aW1lIHpvbmUgaGFzIGEgRFNULCBmb3IgbGlzdGluZyB0aGUgbW9udGhzIGluIGFueSBzdXBwb3J0ZWQgbG9jYWxlLCBhbmQgZm9yIGRpc2NvdmVyaW5nIHdoaWNoIG9mIEx1eG9uIGZlYXR1cmVzIGFyZSBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICovCiAgY2xhc3MgSW5mbyB7CiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgem9uZSBjb250YWlucyBhIERTVC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7CiAgICAgIGNvbnN0IHByb3RvID0gRGF0ZVRpbWUubm93KCkuc2V0Wm9uZSh6b25lKS5zZXQoeyBtb250aDogMTIgfSk7CgogICAgICByZXR1cm4gIXpvbmUuaXNVbml2ZXJzYWwgJiYgcHJvdG8ub2Zmc2V0ICE9PSBwcm90by5zZXQoeyBtb250aDogNiB9KS5vZmZzZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB6b25lIC0gWm9uZSB0byBjaGVjawogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgc3RhdGljIGlzVmFsaWRJQU5BWm9uZSh6b25lKSB7CiAgICAgIHJldHVybiBJQU5BWm9uZS5pc1ZhbGlkWm9uZSh6b25lKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIHRoZSBpbnB1dCBpbnRvIGEge0BsaW5rIFpvbmV9IGluc3RhbmNlLgogICAgICoKICAgICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSB2YWxpZCB0aW1lIHpvbmUgbmFtZSwgYSBab25lIGluc3RhbmNlCiAgICAgKiAgIHdpdGggdGhhdCBuYW1lIGlzIHJldHVybmVkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lCiAgICAgKiAgIGluc3RhbmNlIHdpdGgge0BsaW5rIFpvbmUjaXNWYWxpZH0gPT0gZmFsc2UgaXMgcmV0dXJuZWQuCiAgICAgKiAqIElmIGBpbnB1dCBpcyBhIG51bWJlciwgYSBab25lIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBmaXhlZCBvZmZzZXQKICAgICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC4KICAgICAqICogSWYgYGlucHV0YCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAsIHRoZSBkZWZhdWx0IHpvbmUgaXMgcmV0dXJuZWQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfG51bWJlcn0gW2lucHV0XSAtIHRoZSB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQKICAgICAqIEByZXR1cm4ge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBub3JtYWxpemVab25lKGlucHV0KSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2Ygc3RhbmRhbG9uZSBtb250aCBuYW1lcy4KICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdsb25nJ10gLSB0aGUgbGVuZ3RoIG9mIHRoZSBtb250aCByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibnVtZXJpYyIsICIyLWRpZ2l0IiwgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcj0nZ3JlZ29yeSddIC0gdGhlIGNhbGVuZGFyCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnKVswXSAvLz0+ICdKYW4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycpWzBdIC8vPT4gJzEnCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycsIHsgbG9jYWxlOiAnYXInIH0pWzBdIC8vPT4gJ9mhJwogICAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ2xvbmcnLCB7IG91dHB1dENhbGVuZGFyOiAnaXNsYW1pYycgfSlbMF0gLy89PiAnUmFiacq7IEknCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1vbnRocygKICAgICAgbGVuZ3RoID0gImxvbmciLAogICAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gImdyZWdvcnkiIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZm9ybWF0IG1vbnRoIG5hbWVzLgogICAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jbW9udGhzfQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJudW1lcmljIiwgIjItZGlnaXQiLCAibmFycm93IiwgInNob3J0IiwgImxvbmciCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtPW51bGxdIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm91dHB1dENhbGVuZGFyPSdncmVnb3J5J10gLSB0aGUgY2FsZW5kYXIKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbW9udGhzRm9ybWF0KAogICAgICBsZW5ndGggPSAibG9uZyIsCiAgICAgIHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCwgbG9jT2JqID0gbnVsbCwgb3V0cHV0Q2FsZW5kYXIgPSAiZ3JlZ29yeSIgfSA9IHt9CiAgICApIHsKICAgICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpKS5tb250aHMobGVuZ3RoLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgd2Vla2RheSByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibmFycm93IiwgInNob3J0IiwgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoKVswXSAvLz0+ICdNb25kYXknCiAgICAgKiBAZXhhbXBsZSBJbmZvLndlZWtkYXlzKCdzaG9ydCcpWzBdIC8vPT4gJ01vbicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAn2KfZhNin2KvZhtmK2YYnCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9ICJsb25nIiwgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fSkgewogICAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBmb3JtYXQgd2VlayBuYW1lcy4KICAgICAqIEZvcm1hdCB3ZWVrZGF5cyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIHdlZWtkYXlzIGluIHRoYXQgdGhleSdyZSBtZWFudCB0byBhcHBlYXIgbmV4dCB0byBtb3JlIGRhdGUgaW5mb3JtYXRpb24uIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jd2Vla2RheXN9CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgbW9udGggcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT1udWxsXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoCiAgICAgIGxlbmd0aCA9ICJsb25nIiwKICAgICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG51bGwpKS53ZWVrZGF5cyhsZW5ndGgsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIGFycmF5IG9mIG1lcmlkaWVtcy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGUKICAgICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKCkgLy89PiBbICdBTScsICdQTScgXQogICAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoeyBsb2NhbGU6ICdteScgfSkgLy89PiBbICfhgJThgLbhgJThgIDhgLonLCAn4YCK4YCU4YCxJyBdCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1lcmlkaWVtcyh7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZXJhcywgc3VjaCBhcyBbJ0JDJywgJ0FEJ10uIFRoZSBsb2NhbGUgY2FuIGJlIHNwZWNpZmllZCwgYnV0IHRoZSBjYWxlbmRhciBzeXN0ZW0gaXMgYWx3YXlzIEdyZWdvcmlhbi4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJzaG9ydCIgb3IgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCkgLy89PiBbICdCQycsICdBRCcgXQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdCiAgICAgKiBAZXhhbXBsZSBJbmZvLmVyYXMoJ2xvbmcnLCB7IGxvY2FsZTogJ2ZyJyB9KSAvLz0+IFsgJ2F2YW50IErDqXN1cy1DaHJpc3QnLCAnYXByw6hzIErDqXN1cy1DaHJpc3QnIF0KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgZXJhcyhsZW5ndGggPSAic2hvcnQiLCB7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgImdyZWdvcnkiKS5lcmFzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC4KICAgICAqIFNvbWUgZmVhdHVyZXMgb2YgTHV4b24gYXJlIG5vdCBhdmFpbGFibGUgaW4gYWxsIGVudmlyb25tZW50cy4gRm9yIGV4YW1wbGUsIG9uIG9sZGVyIGJyb3dzZXJzLCByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcgc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBmaWd1cmUgb3V0IGlmIHRoYXQncyB0aGUgY2FzZS4KICAgICAqIEtleXM6CiAgICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcKICAgICAqIEBleGFtcGxlIEluZm8uZmVhdHVyZXMoKSAvLz0+IHsgcmVsYXRpdmU6IGZhbHNlIH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGZlYXR1cmVzKCkgewogICAgICByZXR1cm4geyByZWxhdGl2ZTogaGFzUmVsYXRpdmUoKSB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikgewogICAgY29uc3QgdXRjRGF5U3RhcnQgPSAoZHQpID0+IGR0LnRvVVRDKDAsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KS5zdGFydE9mKCJkYXkiKS52YWx1ZU9mKCksCiAgICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7CiAgICByZXR1cm4gTWF0aC5mbG9vcihEdXJhdGlvbi5mcm9tTWlsbGlzKG1zKS5hcygiZGF5cyIpKTsKICB9CgogIGZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7CiAgICBjb25zdCBkaWZmZXJzID0gWwogICAgICBbInllYXJzIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sCiAgICAgIFsicXVhcnRlcnMiLCAoYSwgYikgPT4gYi5xdWFydGVyIC0gYS5xdWFydGVyICsgKGIueWVhciAtIGEueWVhcikgKiA0XSwKICAgICAgWyJtb250aHMiLCAoYSwgYikgPT4gYi5tb250aCAtIGEubW9udGggKyAoYi55ZWFyIC0gYS55ZWFyKSAqIDEyXSwKICAgICAgWwogICAgICAgICJ3ZWVrcyIsCiAgICAgICAgKGEsIGIpID0+IHsKICAgICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpOwogICAgICAgICAgcmV0dXJuIChkYXlzIC0gKGRheXMgJSA3KSkgLyA3OwogICAgICAgIH0sCiAgICAgIF0sCiAgICAgIFsiZGF5cyIsIGRheURpZmZdLAogICAgXTsKCiAgICBjb25zdCByZXN1bHRzID0ge307CiAgICBjb25zdCBlYXJsaWVyID0gY3Vyc29yOwogICAgbGV0IGxvd2VzdE9yZGVyLCBoaWdoV2F0ZXI7CgogICAgZm9yIChjb25zdCBbdW5pdCwgZGlmZmVyXSBvZiBkaWZmZXJzKSB7CiAgICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHsKICAgICAgICBsb3dlc3RPcmRlciA9IHVuaXQ7CgogICAgICAgIHJlc3VsdHNbdW5pdF0gPSBkaWZmZXIoY3Vyc29yLCBsYXRlcik7CiAgICAgICAgaGlnaFdhdGVyID0gZWFybGllci5wbHVzKHJlc3VsdHMpOwoKICAgICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHsKICAgICAgICAgIHJlc3VsdHNbdW5pdF0tLTsKICAgICAgICAgIGN1cnNvciA9IGVhcmxpZXIucGx1cyhyZXN1bHRzKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3Vyc29yID0gaGlnaFdhdGVyOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTsKICB9CgogIGZ1bmN0aW9uIGRpZmYgKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykgewogICAgbGV0IFtjdXJzb3IsIHJlc3VsdHMsIGhpZ2hXYXRlciwgbG93ZXN0T3JkZXJdID0gaGlnaE9yZGVyRGlmZnMoZWFybGllciwgbGF0ZXIsIHVuaXRzKTsKCiAgICBjb25zdCByZW1haW5pbmdNaWxsaXMgPSBsYXRlciAtIGN1cnNvcjsKCiAgICBjb25zdCBsb3dlck9yZGVyVW5pdHMgPSB1bml0cy5maWx0ZXIoCiAgICAgICh1KSA9PiBbImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiXS5pbmRleE9mKHUpID49IDAKICAgICk7CgogICAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPT09IDApIHsKICAgICAgaWYgKGhpZ2hXYXRlciA8IGxhdGVyKSB7CiAgICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pOwogICAgICB9CgogICAgICBpZiAoaGlnaFdhdGVyICE9PSBjdXJzb3IpIHsKICAgICAgICByZXN1bHRzW2xvd2VzdE9yZGVyXSA9IChyZXN1bHRzW2xvd2VzdE9yZGVyXSB8fCAwKSArIHJlbWFpbmluZ01pbGxpcyAvIChoaWdoV2F0ZXIgLSBjdXJzb3IpOwogICAgICB9CiAgICB9CgogICAgY29uc3QgZHVyYXRpb24gPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHJlc3VsdHMsIG9wdHMpOwoKICAgIGlmIChsb3dlck9yZGVyVW5pdHMubGVuZ3RoID4gMCkgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhyZW1haW5pbmdNaWxsaXMsIG9wdHMpCiAgICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKQogICAgICAgIC5wbHVzKGR1cmF0aW9uKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBkdXJhdGlvbjsKICAgIH0KICB9CgogIGNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7CiAgICBhcmFiOiAiW1x1MDY2MC1cdTA2NjldIiwKICAgIGFyYWJleHQ6ICJbXHUwNkYwLVx1MDZGOV0iLAogICAgYmFsaTogIltcdTFCNTAtXHUxQjU5XSIsCiAgICBiZW5nOiAiW1x1MDlFNi1cdTA5RUZdIiwKICAgIGRldmE6ICJbXHUwOTY2LVx1MDk2Rl0iLAogICAgZnVsbHdpZGU6ICJbXHVGRjEwLVx1RkYxOV0iLAogICAgZ3VqcjogIltcdTBBRTYtXHUwQUVGXSIsCiAgICBoYW5pZGVjOiAiW+OAh3zkuIB85LqMfOS4iXzlm5t85LqUfOWFrXzkuIN85YWrfOS5nV0iLAogICAga2htcjogIltcdTE3RTAtXHUxN0U5XSIsCiAgICBrbmRhOiAiW1x1MENFNi1cdTBDRUZdIiwKICAgIGxhb286ICJbXHUwRUQwLVx1MEVEOV0iLAogICAgbGltYjogIltcdTE5NDYtXHUxOTRGXSIsCiAgICBtbHltOiAiW1x1MEQ2Ni1cdTBENkZdIiwKICAgIG1vbmc6ICJbXHUxODEwLVx1MTgxOV0iLAogICAgbXltcjogIltcdTEwNDAtXHUxMDQ5XSIsCiAgICBvcnlhOiAiW1x1MEI2Ni1cdTBCNkZdIiwKICAgIHRhbWxkZWM6ICJbXHUwQkU2LVx1MEJFRl0iLAogICAgdGVsdTogIltcdTBDNjYtXHUwQzZGXSIsCiAgICB0aGFpOiAiW1x1MEU1MC1cdTBFNTldIiwKICAgIHRpYnQ6ICJbXHUwRjIwLVx1MEYyOV0iLAogICAgbGF0bjogIlxcZCIsCiAgfTsKCiAgY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0gewogICAgYXJhYjogWzE2MzIsIDE2NDFdLAogICAgYXJhYmV4dDogWzE3NzYsIDE3ODVdLAogICAgYmFsaTogWzY5OTIsIDcwMDFdLAogICAgYmVuZzogWzI1MzQsIDI1NDNdLAogICAgZGV2YTogWzI0MDYsIDI0MTVdLAogICAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLAogICAgZ3VqcjogWzI3OTAsIDI3OTldLAogICAga2htcjogWzYxMTIsIDYxMjFdLAogICAga25kYTogWzMzMDIsIDMzMTFdLAogICAgbGFvbzogWzM3OTIsIDM4MDFdLAogICAgbGltYjogWzY0NzAsIDY0NzldLAogICAgbWx5bTogWzM0MzAsIDM0MzldLAogICAgbW9uZzogWzYxNjAsIDYxNjldLAogICAgbXltcjogWzQxNjAsIDQxNjldLAogICAgb3J5YTogWzI5MTgsIDI5MjddLAogICAgdGFtbGRlYzogWzMwNDYsIDMwNTVdLAogICAgdGVsdTogWzMxNzQsIDMxODNdLAogICAgdGhhaTogWzM2NjQsIDM2NzNdLAogICAgdGlidDogWzM4NzIsIDM4ODFdLAogIH07CgogIGNvbnN0IGhhbmlkZWNDaGFycyA9IG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYy5yZXBsYWNlKC9bXFt8XF1dL2csICIiKS5zcGxpdCgiIik7CgogIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKHN0cikgewogICAgbGV0IHZhbHVlID0gcGFyc2VJbnQoc3RyLCAxMCk7CiAgICBpZiAoaXNOYU4odmFsdWUpKSB7CiAgICAgIHZhbHVlID0gIiI7CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY29uc3QgY29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpOwoKICAgICAgICBpZiAoc3RyW2ldLnNlYXJjaChudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMpICE9PSAtMSkgewogICAgICAgICAgdmFsdWUgKz0gaGFuaWRlY0NoYXJzLmluZGV4T2Yoc3RyW2ldKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbnVtYmVyaW5nU3lzdGVtc1VURjE2KSB7CiAgICAgICAgICAgIGNvbnN0IFttaW4sIG1heF0gPSBudW1iZXJpbmdTeXN0ZW1zVVRGMTZba2V5XTsKICAgICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7CiAgICAgICAgICAgICAgdmFsdWUgKz0gY29kZSAtIG1pbjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gIiIpIHsKICAgIHJldHVybiBuZXcgUmVnRXhwKGAke251bWJlcmluZ1N5c3RlbXNbbnVtYmVyaW5nU3lzdGVtIHx8ICJsYXRuIl19JHthcHBlbmR9YCk7CiAgfQoKICBjb25zdCBNSVNTSU5HX0ZUUCA9ICJtaXNzaW5nIEludGwuRGF0ZVRpbWVGb3JtYXQuZm9ybWF0VG9QYXJ0cyBzdXBwb3J0IjsKCiAgZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHBvc3QocGFyc2VEaWdpdHMocykpIH07CiAgfQoKICBjb25zdCBOQlNQID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxNjApOwogIGNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gOwogIGNvbnN0IHNwYWNlT3JOQlNQUmVnRXhwID0gbmV3IFJlZ0V4cChzcGFjZU9yTkJTUCwgImciKTsKCiAgZnVuY3Rpb24gZml4TGlzdFJlZ2V4KHMpIHsKICAgIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbAogICAgLy8gbWFrZSBzcGFjZSBhbmQgbm9uIGJyZWFrYWJsZSBzcGFjZSBjaGFyYWN0ZXJzIGludGVyY2hhbmdlYWJsZQogICAgcmV0dXJuIHMucmVwbGFjZSgvXC4vZywgIlxcLj8iKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7CiAgfQoKICBmdW5jdGlvbiBzdHJpcEluc2Vuc2l0aXZpdGllcyhzKSB7CiAgICByZXR1cm4gcwogICAgICAucmVwbGFjZSgvXC4vZywgIiIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsCiAgICAgIC5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCAiICIpIC8vIGludGVyY2hhbmdlIHNwYWNlIGFuZCBuYnNwCiAgICAgIC50b0xvd2VyQ2FzZSgpOwogIH0KCiAgZnVuY3Rpb24gb25lT2Yoc3RyaW5ncywgc3RhcnRJbmRleCkgewogICAgaWYgKHN0cmluZ3MgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gewogICAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKCJ8IikpLAogICAgICAgIGRlc2VyOiAoW3NdKSA9PgogICAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LAogICAgICB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHsKICAgIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFssIGgsIG1dKSA9PiBzaWduZWRPZmZzZXQoaCwgbSksIGdyb3VwcyB9OwogIH0KCiAgZnVuY3Rpb24gc2ltcGxlKHJlZ2V4KSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTsKICB9CgogIGZ1bmN0aW9uIGVzY2FwZVRva2VuKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywgIlxcJCYiKTsKICB9CgogIGZ1bmN0aW9uIHVuaXRGb3JUb2tlbih0b2tlbiwgbG9jKSB7CiAgICBjb25zdCBvbmUgPSBkaWdpdFJlZ2V4KGxvYyksCiAgICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCAiezJ9IiksCiAgICAgIHRocmVlID0gZGlnaXRSZWdleChsb2MsICJ7M30iKSwKICAgICAgZm91ciA9IGRpZ2l0UmVnZXgobG9jLCAiezR9IiksCiAgICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezZ9IiksCiAgICAgIG9uZU9yVHdvID0gZGlnaXRSZWdleChsb2MsICJ7MSwyfSIpLAogICAgICBvbmVUb1RocmVlID0gZGlnaXRSZWdleChsb2MsICJ7MSwzfSIpLAogICAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezEsNn0iKSwKICAgICAgb25lVG9OaW5lID0gZGlnaXRSZWdleChsb2MsICJ7MSw5fSIpLAogICAgICB0d29Ub0ZvdXIgPSBkaWdpdFJlZ2V4KGxvYywgInsyLDR9IiksCiAgICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCAiezQsNn0iKSwKICAgICAgbGl0ZXJhbCA9ICh0KSA9PiAoeyByZWdleDogUmVnRXhwKGVzY2FwZVRva2VuKHQudmFsKSksIGRlc2VyOiAoW3NdKSA9PiBzLCBsaXRlcmFsOiB0cnVlIH0pLAogICAgICB1bml0YXRlID0gKHQpID0+IHsKICAgICAgICBpZiAodG9rZW4ubGl0ZXJhbCkgewogICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7CiAgICAgICAgfQogICAgICAgIHN3aXRjaCAodC52YWwpIHsKICAgICAgICAgIC8vIGVyYQogICAgICAgICAgY2FzZSAiRyI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MuZXJhcygic2hvcnQiLCBmYWxzZSksIDApOwogICAgICAgICAgY2FzZSAiR0ciOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoImxvbmciLCBmYWxzZSksIDApOwogICAgICAgICAgLy8geWVhcnMKICAgICAgICAgIGNhc2UgInkiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVUb1NpeCk7CiAgICAgICAgICBjYXNlICJ5eSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3b1RvRm91ciwgdW50cnVuY2F0ZVllYXIpOwogICAgICAgICAgY2FzZSAieXl5eSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KGZvdXIpOwogICAgICAgICAgY2FzZSAieXl5eXkiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyVG9TaXgpOwogICAgICAgICAgY2FzZSAieXl5eXl5IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQoc2l4KTsKICAgICAgICAgIC8vIG1vbnRocwogICAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIk1NIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIk1NTSI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJzaG9ydCIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJNTU1NIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tb250aHMoImxvbmciLCB0cnVlLCBmYWxzZSksIDEpOwogICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIkxMIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIkxMTCI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJzaG9ydCIsIGZhbHNlLCBmYWxzZSksIDEpOwogICAgICAgICAgY2FzZSAiTExMTCI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJsb25nIiwgZmFsc2UsIGZhbHNlKSwgMSk7CiAgICAgICAgICAvLyBkYXRlcwogICAgICAgICAgY2FzZSAiZCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgImRkIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIC8vIG9yZGluYWxzCiAgICAgICAgICBjYXNlICJvIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7CiAgICAgICAgICBjYXNlICJvb28iOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7CiAgICAgICAgICAvLyB0aW1lCiAgICAgICAgICBjYXNlICJISCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICBjYXNlICJIIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAiaGgiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAiaCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIm1tIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJxIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAicXEiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAicyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgInNzIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIlMiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVUb1RocmVlKTsKICAgICAgICAgIGNhc2UgIlNTUyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHRocmVlKTsKICAgICAgICAgIGNhc2UgInUiOgogICAgICAgICAgICByZXR1cm4gc2ltcGxlKG9uZVRvTmluZSk7CiAgICAgICAgICBjYXNlICJ1dSI6CiAgICAgICAgICAgIHJldHVybiBzaW1wbGUob25lT3JUd28pOwogICAgICAgICAgY2FzZSAidXV1IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lKTsKICAgICAgICAgIC8vIG1lcmlkaWVtCiAgICAgICAgICBjYXNlICJhIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tZXJpZGllbXMoKSwgMCk7CiAgICAgICAgICAvLyB3ZWVrWWVhciAoaykKICAgICAgICAgIGNhc2UgImtra2siOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTsKICAgICAgICAgIGNhc2UgImtrIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7CiAgICAgICAgICAvLyB3ZWVrTnVtYmVyIChXKQogICAgICAgICAgY2FzZSAiVyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIldXIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIC8vIHdlZWtkYXlzCiAgICAgICAgICBjYXNlICJFIjoKICAgICAgICAgIGNhc2UgImMiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpOwogICAgICAgICAgY2FzZSAiRUVFIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cygic2hvcnQiLCBmYWxzZSwgZmFsc2UpLCAxKTsKICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKCJsb25nIiwgZmFsc2UsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJjY2MiOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKCJzaG9ydCIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJjY2NjIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cygibG9uZyIsIHRydWUsIGZhbHNlKSwgMSk7CiAgICAgICAgICAvLyBvZmZzZXQvem9uZQogICAgICAgICAgY2FzZSAiWiI6CiAgICAgICAgICBjYXNlICJaWiI6CiAgICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKD86Oigke3R3by5zb3VyY2V9KSk/YCksIDIpOwogICAgICAgICAgY2FzZSAiWlpaIjoKICAgICAgICAgICAgcmV0dXJuIG9mZnNldChuZXcgUmVnRXhwKGAoWystXSR7b25lT3JUd28uc291cmNlfSkoJHt0d28uc291cmNlfSk/YCksIDIpOwogICAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmcKICAgICAgICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIGZpZ3VyZSBvdXQgd2hhdCB0aGV5IGFyZQogICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgIHJldHVybiBzaW1wbGUoL1thLXpfKy0vXXsxLDI1Nn0/L2kpOwogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7CiAgICAgICAgfQogICAgICB9OwoKICAgIGNvbnN0IHVuaXQgPSB1bml0YXRlKHRva2VuKSB8fCB7CiAgICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLAogICAgfTsKCiAgICB1bml0LnRva2VuID0gdG9rZW47CgogICAgcmV0dXJuIHVuaXQ7CiAgfQoKICBjb25zdCBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbCA9IHsKICAgIHllYXI6IHsKICAgICAgIjItZGlnaXQiOiAieXkiLAogICAgICBudW1lcmljOiAieXl5eXkiLAogICAgfSwKICAgIG1vbnRoOiB7CiAgICAgIG51bWVyaWM6ICJNIiwKICAgICAgIjItZGlnaXQiOiAiTU0iLAogICAgICBzaG9ydDogIk1NTSIsCiAgICAgIGxvbmc6ICJNTU1NIiwKICAgIH0sCiAgICBkYXk6IHsKICAgICAgbnVtZXJpYzogImQiLAogICAgICAiMi1kaWdpdCI6ICJkZCIsCiAgICB9LAogICAgd2Vla2RheTogewogICAgICBzaG9ydDogIkVFRSIsCiAgICAgIGxvbmc6ICJFRUVFIiwKICAgIH0sCiAgICBkYXlwZXJpb2Q6ICJhIiwKICAgIGRheVBlcmlvZDogImEiLAogICAgaG91cjogewogICAgICBudW1lcmljOiAiaCIsCiAgICAgICIyLWRpZ2l0IjogImhoIiwKICAgIH0sCiAgICBtaW51dGU6IHsKICAgICAgbnVtZXJpYzogIm0iLAogICAgICAiMi1kaWdpdCI6ICJtbSIsCiAgICB9LAogICAgc2Vjb25kOiB7CiAgICAgIG51bWVyaWM6ICJzIiwKICAgICAgIjItZGlnaXQiOiAic3MiLAogICAgfSwKICAgIHRpbWVab25lTmFtZTogewogICAgICBsb25nOiAiWlpaWloiLAogICAgICBzaG9ydDogIlpaWiIsCiAgICB9LAogIH07CgogIGZ1bmN0aW9uIHRva2VuRm9yUGFydChwYXJ0LCBmb3JtYXRPcHRzKSB7CiAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0OwoKICAgIGlmICh0eXBlID09PSAibGl0ZXJhbCIpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBsaXRlcmFsOiB0cnVlLAogICAgICAgIHZhbDogdmFsdWUsCiAgICAgIH07CiAgICB9CgogICAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdOwoKICAgIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTsKICAgIGlmICh0eXBlb2YgdmFsID09PSAib2JqZWN0IikgewogICAgICB2YWwgPSB2YWxbc3R5bGVdOwogICAgfQoKICAgIGlmICh2YWwpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBsaXRlcmFsOiBmYWxzZSwKICAgICAgICB2YWwsCiAgICAgIH07CiAgICB9CgogICAgcmV0dXJuIHVuZGVmaW5lZDsKICB9CgogIGZ1bmN0aW9uIGJ1aWxkUmVnZXgodW5pdHMpIHsKICAgIGNvbnN0IHJlID0gdW5pdHMubWFwKCh1KSA9PiB1LnJlZ2V4KS5yZWR1Y2UoKGYsIHIpID0+IGAke2Z9KCR7ci5zb3VyY2V9KWAsICIiKTsKICAgIHJldHVybiBbYF4ke3JlfSRgLCB1bml0c107CiAgfQoKICBmdW5jdGlvbiBtYXRjaChpbnB1dCwgcmVnZXgsIGhhbmRsZXJzKSB7CiAgICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpOwoKICAgIGlmIChtYXRjaGVzKSB7CiAgICAgIGNvbnN0IGFsbCA9IHt9OwogICAgICBsZXQgbWF0Y2hJbmRleCA9IDE7CiAgICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykgewogICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShoYW5kbGVycywgaSkpIHsKICAgICAgICAgIGNvbnN0IGggPSBoYW5kbGVyc1tpXSwKICAgICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxOwogICAgICAgICAgaWYgKCFoLmxpdGVyYWwgJiYgaC50b2tlbikgewogICAgICAgICAgICBhbGxbaC50b2tlbi52YWxbMF1dID0gaC5kZXNlcihtYXRjaGVzLnNsaWNlKG1hdGNoSW5kZXgsIG1hdGNoSW5kZXggKyBncm91cHMpKTsKICAgICAgICAgIH0KICAgICAgICAgIG1hdGNoSW5kZXggKz0gZ3JvdXBzOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gW21hdGNoZXMsIGFsbF07CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gW21hdGNoZXMsIHt9XTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcykgewogICAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4gewogICAgICBzd2l0Y2ggKHRva2VuKSB7CiAgICAgICAgY2FzZSAiUyI6CiAgICAgICAgICByZXR1cm4gIm1pbGxpc2Vjb25kIjsKICAgICAgICBjYXNlICJzIjoKICAgICAgICAgIHJldHVybiAic2Vjb25kIjsKICAgICAgICBjYXNlICJtIjoKICAgICAgICAgIHJldHVybiAibWludXRlIjsKICAgICAgICBjYXNlICJoIjoKICAgICAgICBjYXNlICJIIjoKICAgICAgICAgIHJldHVybiAiaG91ciI7CiAgICAgICAgY2FzZSAiZCI6CiAgICAgICAgICByZXR1cm4gImRheSI7CiAgICAgICAgY2FzZSAibyI6CiAgICAgICAgICByZXR1cm4gIm9yZGluYWwiOwogICAgICAgIGNhc2UgIkwiOgogICAgICAgIGNhc2UgIk0iOgogICAgICAgICAgcmV0dXJuICJtb250aCI7CiAgICAgICAgY2FzZSAieSI6CiAgICAgICAgICByZXR1cm4gInllYXIiOwogICAgICAgIGNhc2UgIkUiOgogICAgICAgIGNhc2UgImMiOgogICAgICAgICAgcmV0dXJuICJ3ZWVrZGF5IjsKICAgICAgICBjYXNlICJXIjoKICAgICAgICAgIHJldHVybiAid2Vla051bWJlciI7CiAgICAgICAgY2FzZSAiayI6CiAgICAgICAgICByZXR1cm4gIndlZWtZZWFyIjsKICAgICAgICBjYXNlICJxIjoKICAgICAgICAgIHJldHVybiAicXVhcnRlciI7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICB9OwoKICAgIGxldCB6b25lID0gbnVsbDsKICAgIGxldCBzcGVjaWZpY09mZnNldDsKICAgIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy56KSkgewogICAgICB6b25lID0gSUFOQVpvbmUuY3JlYXRlKG1hdGNoZXMueik7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7CiAgICAgIGlmICghem9uZSkgewogICAgICAgIHpvbmUgPSBuZXcgRml4ZWRPZmZzZXRab25lKG1hdGNoZXMuWik7CiAgICAgIH0KICAgICAgc3BlY2lmaWNPZmZzZXQgPSBtYXRjaGVzLlo7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnEpKSB7CiAgICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxOwogICAgfQoKICAgIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5oKSkgewogICAgICBpZiAobWF0Y2hlcy5oIDwgMTIgJiYgbWF0Y2hlcy5hID09PSAxKSB7CiAgICAgICAgbWF0Y2hlcy5oICs9IDEyOwogICAgICB9IGVsc2UgaWYgKG1hdGNoZXMuaCA9PT0gMTIgJiYgbWF0Y2hlcy5hID09PSAwKSB7CiAgICAgICAgbWF0Y2hlcy5oID0gMDsKICAgICAgfQogICAgfQoKICAgIGlmIChtYXRjaGVzLkcgPT09IDAgJiYgbWF0Y2hlcy55KSB7CiAgICAgIG1hdGNoZXMueSA9IC1tYXRjaGVzLnk7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7CiAgICAgIG1hdGNoZXMuUyA9IHBhcnNlTWlsbGlzKG1hdGNoZXMudSk7CiAgICB9CgogICAgY29uc3QgdmFscyA9IE9iamVjdC5rZXlzKG1hdGNoZXMpLnJlZHVjZSgociwgaykgPT4gewogICAgICBjb25zdCBmID0gdG9GaWVsZChrKTsKICAgICAgaWYgKGYpIHsKICAgICAgICByW2ZdID0gbWF0Y2hlc1trXTsKICAgICAgfQoKICAgICAgcmV0dXJuIHI7CiAgICB9LCB7fSk7CgogICAgcmV0dXJuIFt2YWxzLCB6b25lLCBzcGVjaWZpY09mZnNldF07CiAgfQoKICBsZXQgZHVtbXlEYXRlVGltZUNhY2hlID0gbnVsbDsKCiAgZnVuY3Rpb24gZ2V0RHVtbXlEYXRlVGltZSgpIHsKICAgIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7CiAgICAgIGR1bW15RGF0ZVRpbWVDYWNoZSA9IERhdGVUaW1lLmZyb21NaWxsaXMoMTU1NTU1NTU1NTU1NSk7CiAgICB9CgogICAgcmV0dXJuIGR1bW15RGF0ZVRpbWVDYWNoZTsKICB9CgogIGZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7CiAgICBpZiAodG9rZW4ubGl0ZXJhbCkgewogICAgICByZXR1cm4gdG9rZW47CiAgICB9CgogICAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7CiAgICBjb25zdCB0b2tlbnMgPSBmb3JtYXRPcHRzVG9Ub2tlbnMoZm9ybWF0T3B0cywgbG9jYWxlKTsKCiAgICBpZiAodG9rZW5zID09IG51bGwgfHwgdG9rZW5zLmluY2x1ZGVzKHVuZGVmaW5lZCkpIHsKICAgICAgcmV0dXJuIHRva2VuOwogICAgfQoKICAgIHJldHVybiB0b2tlbnM7CiAgfQoKICBmdW5jdGlvbiBleHBhbmRNYWNyb1Rva2Vucyh0b2tlbnMsIGxvY2FsZSkgewogICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTsKICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGZ1bmN0aW9uIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZSwgaW5wdXQsIGZvcm1hdCkgewogICAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksCiAgICAgIHVuaXRzID0gdG9rZW5zLm1hcCgodCkgPT4gdW5pdEZvclRva2VuKHQsIGxvY2FsZSkpLAogICAgICBkaXNxdWFsaWZ5aW5nVW5pdCA9IHVuaXRzLmZpbmQoKHQpID0+IHQuaW52YWxpZFJlYXNvbik7CgogICAgaWYgKGRpc3F1YWxpZnlpbmdVbml0KSB7CiAgICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IFtyZWdleFN0cmluZywgaGFuZGxlcnNdID0gYnVpbGRSZWdleCh1bml0cyksCiAgICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsICJpIiksCiAgICAgICAgW3Jhd01hdGNoZXMsIG1hdGNoZXNdID0gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycyksCiAgICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlcwogICAgICAgICAgPyBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpCiAgICAgICAgICA6IFtudWxsLCBudWxsLCB1bmRlZmluZWRdOwogICAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgImEiKSAmJiBoYXNPd25Qcm9wZXJ0eShtYXRjaGVzLCAiSCIpKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKAogICAgICAgICAgIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0IgogICAgICAgICk7CiAgICAgIH0KICAgICAgcmV0dXJuIHsgaW5wdXQsIHRva2VucywgcmVnZXgsIHJhd01hdGNoZXMsIG1hdGNoZXMsIHJlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQgfTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHsKICAgIGNvbnN0IHsgcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZFJlYXNvbiB9ID0gZXhwbGFpbkZyb21Ub2tlbnMobG9jYWxlLCBpbnB1dCwgZm9ybWF0KTsKICAgIHJldHVybiBbcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZFJlYXNvbl07CiAgfQoKICBmdW5jdGlvbiBmb3JtYXRPcHRzVG9Ub2tlbnMoZm9ybWF0T3B0cywgbG9jYWxlKSB7CiAgICBpZiAoIWZvcm1hdE9wdHMpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpOwogICAgY29uc3QgcGFydHMgPSBmb3JtYXR0ZXIuZm9ybWF0RGF0ZVRpbWVQYXJ0cyhnZXREdW1teURhdGVUaW1lKCkpOwogICAgcmV0dXJuIHBhcnRzLm1hcCgocCkgPT4gdG9rZW5Gb3JQYXJ0KHAsIGZvcm1hdE9wdHMpKTsKICB9CgogIGNvbnN0IG5vbkxlYXBMYWRkZXIgPSBbMCwgMzEsIDU5LCA5MCwgMTIwLCAxNTEsIDE4MSwgMjEyLCAyNDMsIDI3MywgMzA0LCAzMzRdLAogICAgbGVhcExhZGRlciA9IFswLCAzMSwgNjAsIDkxLCAxMjEsIDE1MiwgMTgyLCAyMTMsIDI0NCwgMjc0LCAzMDUsIDMzNV07CgogIGZ1bmN0aW9uIHVuaXRPdXRPZlJhbmdlKHVuaXQsIHZhbHVlKSB7CiAgICByZXR1cm4gbmV3IEludmFsaWQoCiAgICAgICJ1bml0IG91dCBvZiByYW5nZSIsCiAgICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYAogICAgKTsKICB9CgogIGZ1bmN0aW9uIGRheU9mV2Vlayh5ZWFyLCBtb250aCwgZGF5KSB7CiAgICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTsKCiAgICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHsKICAgICAgZC5zZXRVVENGdWxsWWVhcihkLmdldFVUQ0Z1bGxZZWFyKCkgLSAxOTAwKTsKICAgIH0KCiAgICBjb25zdCBqcyA9IGQuZ2V0VVRDRGF5KCk7CgogICAgcmV0dXJuIGpzID09PSAwID8gNyA6IGpzOwogIH0KCiAgZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkgewogICAgcmV0dXJuIGRheSArIChpc0xlYXBZZWFyKHllYXIpID8gbGVhcExhZGRlciA6IG5vbkxlYXBMYWRkZXIpW21vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpIHsKICAgIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLAogICAgICBtb250aDAgPSB0YWJsZS5maW5kSW5kZXgoKGkpID0+IGkgPCBvcmRpbmFsKSwKICAgICAgZGF5ID0gb3JkaW5hbCAtIHRhYmxlW21vbnRoMF07CiAgICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub1dlZWsoZ3JlZ09iaikgewogICAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLAogICAgICBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSksCiAgICAgIHdlZWtkYXkgPSBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSk7CgogICAgbGV0IHdlZWtOdW1iZXIgPSBNYXRoLmZsb29yKChvcmRpbmFsIC0gd2Vla2RheSArIDEwKSAvIDcpLAogICAgICB3ZWVrWWVhcjsKCiAgICBpZiAod2Vla051bWJlciA8IDEpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyIC0gMTsKICAgICAgd2Vla051bWJlciA9IHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyICsgMTsKICAgICAgd2Vla051bWJlciA9IDE7CiAgICB9IGVsc2UgewogICAgICB3ZWVrWWVhciA9IHllYXI7CiAgICB9CgogICAgcmV0dXJuIHsgd2Vla1llYXIsIHdlZWtOdW1iZXIsIHdlZWtkYXksIC4uLnRpbWVPYmplY3QoZ3JlZ09iaikgfTsKICB9CgogIGZ1bmN0aW9uIHdlZWtUb0dyZWdvcmlhbih3ZWVrRGF0YSkgewogICAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsCiAgICAgIHdlZWtkYXlPZkphbjQgPSBkYXlPZldlZWsod2Vla1llYXIsIDEsIDQpLAogICAgICB5ZWFySW5EYXlzID0gZGF5c0luWWVhcih3ZWVrWWVhcik7CgogICAgbGV0IG9yZGluYWwgPSB3ZWVrTnVtYmVyICogNyArIHdlZWtkYXkgLSB3ZWVrZGF5T2ZKYW40IC0gMywKICAgICAgeWVhcjsKCiAgICBpZiAob3JkaW5hbCA8IDEpIHsKICAgICAgeWVhciA9IHdlZWtZZWFyIC0gMTsKICAgICAgb3JkaW5hbCArPSBkYXlzSW5ZZWFyKHllYXIpOwogICAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykgewogICAgICB5ZWFyID0gd2Vla1llYXIgKyAxOwogICAgICBvcmRpbmFsIC09IGRheXNJblllYXIod2Vla1llYXIpOwogICAgfSBlbHNlIHsKICAgICAgeWVhciA9IHdlZWtZZWFyOwogICAgfQoKICAgIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTsKICAgIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07CiAgfQoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHsKICAgIGNvbnN0IHsgeWVhciwgbW9udGgsIGRheSB9ID0gZ3JlZ0RhdGE7CiAgICBjb25zdCBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSk7CiAgICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9OwogIH0KCiAgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7CiAgICBjb25zdCB7IHllYXIsIG9yZGluYWwgfSA9IG9yZGluYWxEYXRhOwogICAgY29uc3QgeyBtb250aCwgZGF5IH0gPSB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpOwogICAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHsKICAgIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoud2Vla1llYXIpLAogICAgICB2YWxpZFdlZWsgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla051bWJlciwgMSwgd2Vla3NJbldlZWtZZWFyKG9iai53ZWVrWWVhcikpLAogICAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7CgogICAgaWYgKCF2YWxpZFllYXIpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrWWVhciIsIG9iai53ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrIiwgb2JqLndlZWspOwogICAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgid2Vla2RheSIsIG9iai53ZWVrZGF5KTsKICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE9yZGluYWwgPSBpbnRlZ2VyQmV0d2VlbihvYmoub3JkaW5hbCwgMSwgZGF5c0luWWVhcihvYmoueWVhcikpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkT3JkaW5hbCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm9yZGluYWwiLCBvYmoub3JkaW5hbCk7CiAgICB9IGVsc2UgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE1vbnRoID0gaW50ZWdlckJldHdlZW4ob2JqLm1vbnRoLCAxLCAxMiksCiAgICAgIHZhbGlkRGF5ID0gaW50ZWdlckJldHdlZW4ob2JqLmRheSwgMSwgZGF5c0luTW9udGgob2JqLnllYXIsIG9iai5tb250aCkpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkTW9udGgpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtb250aCIsIG9iai5tb250aCk7CiAgICB9IGVsc2UgaWYgKCF2YWxpZERheSkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoImRheSIsIG9iai5kYXkpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRUaW1lRGF0YShvYmopIHsKICAgIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7CiAgICBjb25zdCB2YWxpZEhvdXIgPQogICAgICAgIGludGVnZXJCZXR3ZWVuKGhvdXIsIDAsIDIzKSB8fAogICAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSwKICAgICAgdmFsaWRNaW51dGUgPSBpbnRlZ2VyQmV0d2VlbihtaW51dGUsIDAsIDU5KSwKICAgICAgdmFsaWRTZWNvbmQgPSBpbnRlZ2VyQmV0d2VlbihzZWNvbmQsIDAsIDU5KSwKICAgICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpOwoKICAgIGlmICghdmFsaWRIb3VyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgiaG91ciIsIGhvdXIpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtaW51dGUiLCBtaW51dGUpOwogICAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJzZWNvbmQiLCBzZWNvbmQpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm1pbGxpc2Vjb25kIiwgbWlsbGlzZWNvbmQpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGNvbnN0IElOVkFMSUQgPSAiSW52YWxpZCBEYXRlVGltZSI7CiAgY29uc3QgTUFYX0RBVEUgPSA4LjY0ZTE1OwoKICBmdW5jdGlvbiB1bnN1cHBvcnRlZFpvbmUoem9uZSkgewogICAgcmV0dXJuIG5ldyBJbnZhbGlkKCJ1bnN1cHBvcnRlZCB6b25lIiwgYHRoZSB6b25lICIke3pvbmUubmFtZX0iIGlzIG5vdCBzdXBwb3J0ZWRgKTsKICB9CgogIC8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlCiAgZnVuY3Rpb24gcG9zc2libHlDYWNoZWRXZWVrRGF0YShkdCkgewogICAgaWYgKGR0LndlZWtEYXRhID09PSBudWxsKSB7CiAgICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpOwogICAgfQogICAgcmV0dXJuIGR0LndlZWtEYXRhOwogIH0KCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCAibWFrZSBhIG5ldyBvYmplY3Qgd2l0aCB0aGVzZSBtb2RpZmljYXRpb25zIi4gYWxsICJzZXR0ZXJzIiByZWFsbHkgdXNlIHRoaXMKICAvLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllcwogIGZ1bmN0aW9uIGNsb25lKGluc3QsIGFsdHMpIHsKICAgIGNvbnN0IGN1cnJlbnQgPSB7CiAgICAgIHRzOiBpbnN0LnRzLAogICAgICB6b25lOiBpbnN0LnpvbmUsCiAgICAgIGM6IGluc3QuYywKICAgICAgbzogaW5zdC5vLAogICAgICBsb2M6IGluc3QubG9jLAogICAgICBpbnZhbGlkOiBpbnN0LmludmFsaWQsCiAgICB9OwogICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7IC4uLmN1cnJlbnQsIC4uLmFsdHMsIG9sZDogY3VycmVudCB9KTsKICB9CgogIC8vIGZpbmQgdGhlIHJpZ2h0IG9mZnNldCBhIGdpdmVuIGxvY2FsIHRpbWUuIFRoZSBvIGlucHV0IGlzIG91ciBndWVzcywgd2hpY2ggZGV0ZXJtaW5lcyB3aGljaAogIC8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpCiAgZnVuY3Rpb24gZml4T2Zmc2V0KGxvY2FsVFMsIG8sIHR6KSB7CiAgICAvLyBPdXIgVVRDIHRpbWUgaXMganVzdCBhIGd1ZXNzIGJlY2F1c2Ugb3VyIG9mZnNldCBpcyBqdXN0IGEgZ3Vlc3MKICAgIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwOwoKICAgIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHMKICAgIGNvbnN0IG8yID0gdHoub2Zmc2V0KHV0Y0d1ZXNzKTsKCiAgICAvLyBJZiBzbywgb2Zmc2V0IGRpZG4ndCBjaGFuZ2UgYW5kIHdlJ3JlIGRvbmUKICAgIGlmIChvID09PSBvMikgewogICAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTsKICAgIH0KCiAgICAvLyBJZiBub3QsIGNoYW5nZSB0aGUgdHMgYnkgdGhlIGRpZmZlcmVuY2UgaW4gdGhlIG9mZnNldAogICAgdXRjR3Vlc3MgLT0gKG8yIC0gbykgKiA2MCAqIDEwMDA7CgogICAgLy8gSWYgdGhhdCBnaXZlcyB1cyB0aGUgbG9jYWwgdGltZSB3ZSB3YW50LCB3ZSdyZSBkb25lCiAgICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7CiAgICBpZiAobzIgPT09IG8zKSB7CiAgICAgIHJldHVybiBbdXRjR3Vlc3MsIG8yXTsKICAgIH0KCiAgICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lCiAgICByZXR1cm4gW2xvY2FsVFMgLSBNYXRoLm1pbihvMiwgbzMpICogNjAgKiAxMDAwLCBNYXRoLm1heChvMiwgbzMpXTsKICB9CgogIC8vIGNvbnZlcnQgYW4gZXBvY2ggdGltZXN0YW1wIGludG8gYSBjYWxlbmRhciBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gb2Zmc2V0CiAgZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7CiAgICB0cyArPSBvZmZzZXQgKiA2MCAqIDEwMDA7CgogICAgY29uc3QgZCA9IG5ldyBEYXRlKHRzKTsKCiAgICByZXR1cm4gewogICAgICB5ZWFyOiBkLmdldFVUQ0Z1bGxZZWFyKCksCiAgICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLAogICAgICBkYXk6IGQuZ2V0VVRDRGF0ZSgpLAogICAgICBob3VyOiBkLmdldFVUQ0hvdXJzKCksCiAgICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksCiAgICAgIHNlY29uZDogZC5nZXRVVENTZWNvbmRzKCksCiAgICAgIG1pbGxpc2Vjb25kOiBkLmdldFVUQ01pbGxpc2Vjb25kcygpLAogICAgfTsKICB9CgogIC8vIGNvbnZlcnQgYSBjYWxlbmRhciBvYmplY3QgdG8gYSBlcG9jaCB0aW1lc3RhbXAKICBmdW5jdGlvbiBvYmpUb1RTKG9iaiwgb2Zmc2V0LCB6b25lKSB7CiAgICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpOwogIH0KCiAgLy8gY3JlYXRlIGEgbmV3IERUIGluc3RhbmNlIGJ5IGFkZGluZyBhIGR1cmF0aW9uLCBhZGp1c3RpbmcgZm9yIERTVHMKICBmdW5jdGlvbiBhZGp1c3RUaW1lKGluc3QsIGR1cikgewogICAgY29uc3Qgb1ByZSA9IGluc3QubywKICAgICAgeWVhciA9IGluc3QuYy55ZWFyICsgTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICBtb250aCA9IGluc3QuYy5tb250aCArIE1hdGgudHJ1bmMoZHVyLm1vbnRocykgKyBNYXRoLnRydW5jKGR1ci5xdWFydGVycykgKiAzLAogICAgICBjID0gewogICAgICAgIC4uLmluc3QuYywKICAgICAgICB5ZWFyLAogICAgICAgIG1vbnRoLAogICAgICAgIGRheToKICAgICAgICAgIE1hdGgubWluKGluc3QuYy5kYXksIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSkgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIud2Vla3MpICogNywKICAgICAgfSwKICAgICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsKICAgICAgICB5ZWFyczogZHVyLnllYXJzIC0gTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICAgIHF1YXJ0ZXJzOiBkdXIucXVhcnRlcnMgLSBNYXRoLnRydW5jKGR1ci5xdWFydGVycyksCiAgICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSwKICAgICAgICB3ZWVrczogZHVyLndlZWtzIC0gTWF0aC50cnVuYyhkdXIud2Vla3MpLAogICAgICAgIGRheXM6IGR1ci5kYXlzIC0gTWF0aC50cnVuYyhkdXIuZGF5cyksCiAgICAgICAgaG91cnM6IGR1ci5ob3VycywKICAgICAgICBtaW51dGVzOiBkdXIubWludXRlcywKICAgICAgICBzZWNvbmRzOiBkdXIuc2Vjb25kcywKICAgICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsCiAgICAgIH0pLmFzKCJtaWxsaXNlY29uZHMiKSwKICAgICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTsKCiAgICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpOwoKICAgIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkgewogICAgICB0cyArPSBtaWxsaXNUb0FkZDsKICAgICAgLy8gdGhhdCBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIG9mZnNldCBieSBnb2luZyBvdmVyIGEgRFNULCBidXQgd2Ugd2FudCB0byBrZWVwIHRoZSB0cyB0aGUgc2FtZQogICAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7CiAgICB9CgogICAgcmV0dXJuIHsgdHMsIG8gfTsKICB9CgogIC8vIGhlbHBlciB1c2VmdWwgaW4gdHVybmluZyB0aGUgcmVzdWx0cyBvZiBwYXJzaW5nIGludG8gcmVhbCBkYXRlcwogIC8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnMKICBmdW5jdGlvbiBwYXJzZURhdGFUb0RhdGVUaW1lKHBhcnNlZCwgcGFyc2VkWm9uZSwgb3B0cywgZm9ybWF0LCB0ZXh0LCBzcGVjaWZpY09mZnNldCkgewogICAgY29uc3QgeyBzZXRab25lLCB6b25lIH0gPSBvcHRzOwogICAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkgewogICAgICBjb25zdCBpbnRlcnByZXRhdGlvblpvbmUgPSBwYXJzZWRab25lIHx8IHpvbmUsCiAgICAgICAgaW5zdCA9IERhdGVUaW1lLmZyb21PYmplY3QocGFyc2VkLCB7CiAgICAgICAgICAuLi5vcHRzLAogICAgICAgICAgem9uZTogaW50ZXJwcmV0YXRpb25ab25lLAogICAgICAgICAgc3BlY2lmaWNPZmZzZXQsCiAgICAgICAgfSk7CiAgICAgIHJldHVybiBzZXRab25lID8gaW5zdCA6IGluc3Quc2V0Wm9uZSh6b25lKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKAogICAgICAgIG5ldyBJbnZhbGlkKCJ1bnBhcnNhYmxlIiwgYHRoZSBpbnB1dCAiJHt0ZXh0fSIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApCiAgICAgICk7CiAgICB9CiAgfQoKICAvLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXIKICAvLyBoZWxwcyBoYW5kbGUgdGhlIGRldGFpbHMKICBmdW5jdGlvbiB0b1RlY2hGb3JtYXQoZHQsIGZvcm1hdCwgYWxsb3daID0gdHJ1ZSkgewogICAgcmV0dXJuIGR0LmlzVmFsaWQKICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKExvY2FsZS5jcmVhdGUoImVuLVVTIiksIHsKICAgICAgICAgIGFsbG93WiwKICAgICAgICAgIGZvcmNlU2ltcGxlOiB0cnVlLAogICAgICAgIH0pLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm9ybWF0KQogICAgICA6IG51bGw7CiAgfQoKICBmdW5jdGlvbiB0b0lTT0RhdGUobywgZXh0ZW5kZWQpIHsKICAgIGNvbnN0IGxvbmdGb3JtYXQgPSBvLmMueWVhciA+IDk5OTkgfHwgby5jLnllYXIgPCAwOwogICAgbGV0IGMgPSAiIjsKICAgIGlmIChsb25nRm9ybWF0ICYmIG8uYy55ZWFyID49IDApIGMgKz0gIisiOwogICAgYyArPSBwYWRTdGFydChvLmMueWVhciwgbG9uZ0Zvcm1hdCA/IDYgOiA0KTsKCiAgICBpZiAoZXh0ZW5kZWQpIHsKICAgICAgYyArPSAiLSI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1vbnRoKTsKICAgICAgYyArPSAiLSI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLmRheSk7CiAgICB9IGVsc2UgewogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLmRheSk7CiAgICB9CiAgICByZXR1cm4gYzsKICB9CgogIGZ1bmN0aW9uIHRvSVNPVGltZSgKICAgIG8sCiAgICBleHRlbmRlZCwKICAgIHN1cHByZXNzU2Vjb25kcywKICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLAogICAgaW5jbHVkZU9mZnNldCwKICAgIGV4dGVuZGVkWm9uZQogICkgewogICAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7CiAgICBpZiAoZXh0ZW5kZWQpIHsKICAgICAgYyArPSAiOiI7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbnV0ZSk7CiAgICAgIGlmIChvLmMuc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc1NlY29uZHMpIHsKICAgICAgICBjICs9ICI6IjsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTsKICAgIH0KCiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7CgogICAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykgewogICAgICAgIGMgKz0gIi4iOwogICAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTsKICAgICAgfQogICAgfQoKICAgIGlmIChpbmNsdWRlT2Zmc2V0KSB7CiAgICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkgewogICAgICAgIGMgKz0gIloiOwogICAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHsKICAgICAgICBjICs9ICItIjsKICAgICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7CiAgICAgICAgYyArPSAiOiI7CiAgICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpOwogICAgICB9IGVsc2UgewogICAgICAgIGMgKz0gIisiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gLyA2MCkpOwogICAgICAgIGMgKz0gIjoiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gJSA2MCkpOwogICAgICB9CiAgICB9CgogICAgaWYgKGV4dGVuZGVkWm9uZSkgewogICAgICBjICs9ICJbIiArIG8uem9uZS5pYW5hTmFtZSArICJdIjsKICAgIH0KICAgIHJldHVybiBjOwogIH0KCiAgLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzCiAgY29uc3QgZGVmYXVsdFVuaXRWYWx1ZXMgPSB7CiAgICAgIG1vbnRoOiAxLAogICAgICBkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7CiAgICAgIHdlZWtOdW1iZXI6IDEsCiAgICAgIHdlZWtkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXMgPSB7CiAgICAgIG9yZGluYWw6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH07CgogIC8vIFVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzLCBzb3J0ZWQgYnkgYmlnbmVzcwogIGNvbnN0IG9yZGVyZWRVbml0cyA9IFsieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0sCiAgICBvcmRlcmVkV2Vla1VuaXRzID0gWwogICAgICAid2Vla1llYXIiLAogICAgICAid2Vla051bWJlciIsCiAgICAgICJ3ZWVrZGF5IiwKICAgICAgImhvdXIiLAogICAgICAibWludXRlIiwKICAgICAgInNlY29uZCIsCiAgICAgICJtaWxsaXNlY29uZCIsCiAgICBdLAogICAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFsieWVhciIsICJvcmRpbmFsIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCJdOwoKICAvLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHMKICBmdW5jdGlvbiBub3JtYWxpemVVbml0KHVuaXQpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgIHllYXI6ICJ5ZWFyIiwKICAgICAgeWVhcnM6ICJ5ZWFyIiwKICAgICAgbW9udGg6ICJtb250aCIsCiAgICAgIG1vbnRoczogIm1vbnRoIiwKICAgICAgZGF5OiAiZGF5IiwKICAgICAgZGF5czogImRheSIsCiAgICAgIGhvdXI6ICJob3VyIiwKICAgICAgaG91cnM6ICJob3VyIiwKICAgICAgbWludXRlOiAibWludXRlIiwKICAgICAgbWludXRlczogIm1pbnV0ZSIsCiAgICAgIHF1YXJ0ZXI6ICJxdWFydGVyIiwKICAgICAgcXVhcnRlcnM6ICJxdWFydGVyIiwKICAgICAgc2Vjb25kOiAic2Vjb25kIiwKICAgICAgc2Vjb25kczogInNlY29uZCIsCiAgICAgIG1pbGxpc2Vjb25kOiAibWlsbGlzZWNvbmQiLAogICAgICBtaWxsaXNlY29uZHM6ICJtaWxsaXNlY29uZCIsCiAgICAgIHdlZWtkYXk6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla2RheXM6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrc251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrbnVtYmVyczogIndlZWtOdW1iZXIiLAogICAgICB3ZWVreWVhcjogIndlZWtZZWFyIiwKICAgICAgd2Vla3llYXJzOiAid2Vla1llYXIiLAogICAgICBvcmRpbmFsOiAib3JkaW5hbCIsCiAgICB9W3VuaXQudG9Mb3dlckNhc2UoKV07CgogICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTsKCiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIC8vIHRoaXMgaXMgYSBkdW1iZWQgZG93biB2ZXJzaW9uIG9mIGZyb21PYmplY3QoKSB0aGF0IHJ1bnMgYWJvdXQgNjAlIGZhc3RlcgogIC8vIGJ1dCBkb2Vzbid0IGRvIGFueSB2YWxpZGF0aW9uLCBtYWtlcyBhIGJ1bmNoIG9mIGFzc3VtcHRpb25zIGFib3V0IHdoYXQgdW5pdHMKICAvLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLgogIGZ1bmN0aW9uIHF1aWNrRFQob2JqLCBvcHRzKSB7CiAgICBjb25zdCB6b25lID0gbm9ybWFsaXplWm9uZShvcHRzLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgIHRzTm93ID0gU2V0dGluZ3Mubm93KCk7CgogICAgbGV0IHRzLCBvOwoKICAgIC8vIGFzc3VtZSB3ZSBoYXZlIHRoZSBoaWdoZXItb3JkZXIgdW5pdHMKICAgIGlmICghaXNVbmRlZmluZWQob2JqLnllYXIpKSB7CiAgICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHsKICAgICAgICBpZiAoaXNVbmRlZmluZWQob2JqW3VdKSkgewogICAgICAgICAgb2JqW3VdID0gZGVmYXVsdFVuaXRWYWx1ZXNbdV07CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB8fCBoYXNJbnZhbGlkVGltZURhdGEob2JqKTsKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgY29uc3Qgb2Zmc2V0UHJvdmlzID0gem9uZS5vZmZzZXQodHNOb3cpOwogICAgICBbdHMsIG9dID0gb2JqVG9UUyhvYmosIG9mZnNldFByb3Zpcywgem9uZSk7CiAgICB9IGVsc2UgewogICAgICB0cyA9IHRzTm93OwogICAgfQoKICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyB0cywgem9uZSwgbG9jLCBvIH0pOwogIH0KCiAgZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHsKICAgIGNvbnN0IHJvdW5kID0gaXNVbmRlZmluZWQob3B0cy5yb3VuZCkgPyB0cnVlIDogb3B0cy5yb3VuZCwKICAgICAgZm9ybWF0ID0gKGMsIHVuaXQpID0+IHsKICAgICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTsKICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBlbmQubG9jLmNsb25lKG9wdHMpLnJlbEZvcm1hdHRlcihvcHRzKTsKICAgICAgICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdChjLCB1bml0KTsKICAgICAgfSwKICAgICAgZGlmZmVyID0gKHVuaXQpID0+IHsKICAgICAgICBpZiAob3B0cy5jYWxlbmRhcnkpIHsKICAgICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7CiAgICAgICAgICAgIHJldHVybiBlbmQuc3RhcnRPZih1bml0KS5kaWZmKHN0YXJ0LnN0YXJ0T2YodW5pdCksIHVuaXQpLmdldCh1bml0KTsKICAgICAgICAgIH0gZWxzZSByZXR1cm4gMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGVuZC5kaWZmKHN0YXJ0LCB1bml0KS5nZXQodW5pdCk7CiAgICAgICAgfQogICAgICB9OwoKICAgIGlmIChvcHRzLnVuaXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdChkaWZmZXIob3B0cy51bml0KSwgb3B0cy51bml0KTsKICAgIH0KCiAgICBmb3IgKGNvbnN0IHVuaXQgb2Ygb3B0cy51bml0cykgewogICAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTsKICAgICAgaWYgKE1hdGguYWJzKGNvdW50KSA+PSAxKSB7CiAgICAgICAgcmV0dXJuIGZvcm1hdChjb3VudCwgdW5pdCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmb3JtYXQoc3RhcnQgPiBlbmQgPyAtMCA6IDAsIG9wdHMudW5pdHNbb3B0cy51bml0cy5sZW5ndGggLSAxXSk7CiAgfQoKICBmdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7CiAgICBsZXQgb3B0cyA9IHt9LAogICAgICBhcmdzOwogICAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSAib2JqZWN0IikgewogICAgICBvcHRzID0gYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdOwogICAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgYXJncyA9IEFycmF5LmZyb20oYXJnTGlzdCk7CiAgICB9CiAgICByZXR1cm4gW29wdHMsIGFyZ3NdOwogIH0KCiAgLyoqCiAgICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLgogICAqCiAgICogQSBEYXRlVGltZSBjb21wcmlzZXMgb2Y6CiAgICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC4KICAgKiAqIEEgdGltZSB6b25lLiBFYWNoIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBzcGVjaWZpYyB6b25lIChieSBkZWZhdWx0IHRoZSBsb2NhbCBzeXN0ZW0ncyB6b25lKS4KICAgKiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0aGF0IGVmZmVjdCBob3cgb3V0cHV0IHN0cmluZ3MgYXJlIGZvcm1hdHRlZCwgc3VjaCBhcyBgbG9jYWxlYCwgYG51bWJlcmluZ1N5c3RlbWAsIGFuZCBgb3V0cHV0Q2FsZW5kYXJgLgogICAqCiAgICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgZnVuY3Rpb25hbGl0eSBpdCBwcm92aWRlczoKICAgKgogICAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZS5sb2NhbH0sIHtAbGluayBEYXRlVGltZS51dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZS5mcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lLmZyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZS5mcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lLmZyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSlNEYXRlfS4KICAgKiAqICoqR3JlZ29yaWFuIGNhbGVuZGFyIGFuZCB0aW1lKio6IFRvIGV4YW1pbmUgdGhlIEdyZWdvcmlhbiBwcm9wZXJ0aWVzIG9mIGEgRGF0ZVRpbWUgaW5kaXZpZHVhbGx5IChpLmUgYXMgb3Bwb3NlZCB0byBjb2xsZWN0aXZlbHkgdGhyb3VnaCB7QGxpbmsgRGF0ZVRpbWUjdG9PYmplY3R9KSwgdXNlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjeWVhcn0sIHtAbGluayBEYXRlVGltZSNtb250aH0sCiAgICoge0BsaW5rIERhdGVUaW1lI2RheX0sIHtAbGluayBEYXRlVGltZSNob3VyfSwge0BsaW5rIERhdGVUaW1lI21pbnV0ZX0sIHtAbGluayBEYXRlVGltZSNzZWNvbmR9LCB7QGxpbmsgRGF0ZVRpbWUjbWlsbGlzZWNvbmR9IGFjY2Vzc29ycy4KICAgKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLgogICAqICogKipDb25maWd1cmF0aW9uKiogU2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjbG9jYWxlfSBhbmQge0BsaW5rIERhdGVUaW1lI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLgogICAqICogKipUcmFuc2Zvcm1hdGlvbioqOiBUbyB0cmFuc2Zvcm0gdGhlIERhdGVUaW1lIGludG8gb3RoZXIgRGF0ZVRpbWVzLCB1c2Uge0BsaW5rIERhdGVUaW1lI3NldH0sIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0sIHtAbGluayBEYXRlVGltZSNzZXRab25lfSwge0BsaW5rIERhdGVUaW1lI3NldExvY2FsZX0sIHtAbGluayBEYXRlVGltZS5wbHVzfSwge0BsaW5rIERhdGVUaW1lI21pbnVzfSwge0BsaW5rIERhdGVUaW1lI2VuZE9mfSwge0BsaW5rIERhdGVUaW1lI3N0YXJ0T2Z9LCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9LCBhbmQge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9LgogICAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uCiAgICoKICAgKiBUaGVyZSdzIHBsZW50eSBvdGhlcnMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24sIHRpbWUgem9uZXMsIGFsdGVybmF0aXZlIGNhbGVuZGFycywgdmFsaWRpdHksIGFuZCBzbyBvbiwgc2VlIHRoZSBleHRlcm5hbCBkb2N1bWVudGF0aW9uLgogICAqLwogIGNsYXNzIERhdGVUaW1lIHsKICAgIC8qKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7CgogICAgICBsZXQgaW52YWxpZCA9CiAgICAgICAgY29uZmlnLmludmFsaWQgfHwKICAgICAgICAoTnVtYmVyLmlzTmFOKGNvbmZpZy50cykgPyBuZXcgSW52YWxpZCgiaW52YWxpZCBpbnB1dCIpIDogbnVsbCkgfHwKICAgICAgICAoIXpvbmUuaXNWYWxpZCA/IHVuc3VwcG9ydGVkWm9uZSh6b25lKSA6IG51bGwpOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnRzID0gaXNVbmRlZmluZWQoY29uZmlnLnRzKSA/IFNldHRpbmdzLm5vdygpIDogY29uZmlnLnRzOwoKICAgICAgbGV0IGMgPSBudWxsLAogICAgICAgIG8gPSBudWxsOwogICAgICBpZiAoIWludmFsaWQpIHsKICAgICAgICBjb25zdCB1bmNoYW5nZWQgPSBjb25maWcub2xkICYmIGNvbmZpZy5vbGQudHMgPT09IHRoaXMudHMgJiYgY29uZmlnLm9sZC56b25lLmVxdWFscyh6b25lKTsKCiAgICAgICAgaWYgKHVuY2hhbmdlZCkgewogICAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc3Qgb3QgPSB6b25lLm9mZnNldCh0aGlzLnRzKTsKICAgICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTsKICAgICAgICAgIGludmFsaWQgPSBOdW1iZXIuaXNOYU4oYy55ZWFyKSA/IG5ldyBJbnZhbGlkKCJpbnZhbGlkIGlucHV0IikgOiBudWxsOwogICAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYzsKICAgICAgICAgIG8gPSBpbnZhbGlkID8gbnVsbCA6IG90OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5fem9uZSA9IHpvbmU7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGludmFsaWQ7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMud2Vla0RhdGEgPSBudWxsOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmMgPSBjOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLm8gPSBvOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7CiAgICB9CgogICAgLy8gQ09OU1RSVUNUCgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFudCwgaW4gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS4KICAgICAqCiAgICAgKiBVc2UgU2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdCB2YWx1ZXMgaWYgbmVlZGVkLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oKSAvL34+IG5vdyBpbiB0aGUgSVNPIGZvcm1hdAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBub3coKSB7CiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbG9jYWwgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWQKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFtkYXk9MV0gLSBUaGUgZGF5IG9mIHRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiBub3cKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKHsgem9uZTogIkFtZXJpY2EvTmV3X1lvcmsiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6ICJmciIgfSkgICAgIC8vfj4gMjAxNy0wMy0xMlQwMDowMDowMCwgd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiAidXRjIiB9KSAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMCwgaW4gVVRDCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSkgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBsb2NhbCgpIHsKICAgICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSwKICAgICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7CiAgICAgIHJldHVybiBxdWlja0RUKHsgeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0sIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3llYXJdIC0gVGhlIGNhbGVuZGFyIHllYXIuIElmIG9taXR0ZWQgKGFzIGluLCBjYWxsIGB1dGMoKWAgd2l0aCBubyBhcmd1bWVudHMpLCB0aGUgY3VycmVudCB0aW1lIHdpbGwgYmUgdXNlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vdwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAxLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6ICJmciIgfSkgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWiB3aXRoIGEgRnJlbmNoIGxvY2FsZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTApICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6ICJmciIgfSkgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NVogd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgdXRjKCkgewogICAgICBjb25zdCBbb3B0cywgYXJnc10gPSBsYXN0T3B0cyhhcmd1bWVudHMpLAogICAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJnczsKCiAgICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTsKICAgICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLgogICAgICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gYSBKYXZhU2NyaXB0IERhdGUgb2JqZWN0CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG8KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHsKICAgICAgY29uc3QgdHMgPSBpc0RhdGUoZGF0ZSkgPyBkYXRlLnZhbHVlT2YoKSA6IE5hTjsKICAgICAgaWYgKE51bWJlci5pc05hTih0cykpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiaW52YWxpZCBpbnB1dCIpOwogICAgICB9CgogICAgICBjb25zdCB6b25lVG9Vc2UgPSBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpOwogICAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IERhdGVUaW1lKHsKICAgICAgICB0czogdHMsCiAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVEMKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRpb25zLnpvbmU9J2xvY2FsJ10gLSB0aGUgem9uZSB0byBwbGFjZSB0aGUgRGF0ZVRpbWUgaW50bwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tTWlsbGlzKG1pbGxpc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBmcm9tTWlsbGlzIHJlcXVpcmVzIGEgbnVtZXJpY2FsIGlucHV0LCBidXQgcmVjZWl2ZWQgYSAke3R5cGVvZiBtaWxsaXNlY29uZHN9IHdpdGggdmFsdWUgJHttaWxsaXNlY29uZHN9YAogICAgICAgICk7CiAgICAgIH0gZWxzZSBpZiAobWlsbGlzZWNvbmRzIDwgLU1BWF9EQVRFIHx8IG1pbGxpc2Vjb25kcyA+IE1BWF9EQVRFKSB7CiAgICAgICAgLy8gdGhpcyBpc24ndCBwZXJmZWN0IGJlY2F1c2UgYmVjYXVzZSB3ZSBjYW4gc3RpbGwgZW5kIHVwIG91dCBvZiByYW5nZSBiZWNhdXNlIG9mIGFkZGl0aW9uYWwgc2hpZnRpbmcsIGJ1dCBpdCdzIGEgc3RhcnQKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiVGltZXN0YW1wIG91dCBvZiByYW5nZSIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IG1pbGxpc2Vjb25kcywKICAgICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksCiAgICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLAogICAgICAgIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzZWNvbmRzIC0gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAxOTcwIFVUQwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZQogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdGlvbnMuem9uZT0nbG9jYWwnXSAtIHRoZSB6b25lIHRvIHBsYWNlIHRoZSBEYXRlVGltZSBpbnRvCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubG9jYWxlXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc3RhdGljIGZyb21TZWNvbmRzKHNlY29uZHMsIG9wdGlvbnMgPSB7fSkgewogICAgICBpZiAoIWlzTnVtYmVyKHNlY29uZHMpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tU2Vjb25kcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IHNlY29uZHMgKiAxMDAwLAogICAgICAgICAgem9uZTogbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcicgYW5kICdob3VyJyB3aXRoIHJlYXNvbmFibGUgZGVmYXVsdHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqIC0gdGhlIG9iamVjdCB0byBjcmVhdGUgdGhlIERhdGVUaW1lIGZyb20KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1vbnRoIC0gYSBtb250aCwgMS0xMgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5kYXkgLSBhIGRheSBvZiB0aGUgbW9udGgsIDEtMzEsIGRlcGVuZGluZyBvbiB0aGUgbW9udGgKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLndlZWtZZWFyIC0gYW4gSVNPIHdlZWsgeWVhcgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrTnVtYmVyIC0gYW4gSVNPIHdlZWsgbnVtYmVyLCBiZXR3ZWVuIDEgYW5kIDUyIG9yIDUzLCBkZXBlbmRpbmcgb24gdGhlIHllYXIKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VyIC0gaG91ciBvZiB0aGUgZGF5LCAwLTIzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZSAtIG1pbnV0ZSBvZiB0aGUgaG91ciwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taWxsaXNlY29uZCAtIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIDAtOTk5CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogMTk4MiwgbW9udGg6IDUsIGRheTogMjV9KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IDE5ODIgfSkudG9JU09EYXRlKCkgLy89PiAnMTk4Mi0wMS0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDYKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ3V0YycgfSksCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgaG91cjogMTAsIG1pbnV0ZTogMjYsIHNlY29uZDogNiB9LCB7IHpvbmU6ICdsb2NhbCcgfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgd2Vla1llYXI6IDIwMTYsIHdlZWtOdW1iZXI6IDIsIHdlZWtkYXk6IDMgfSkudG9JU09EYXRlKCkgLy89PiAnMjAxNi0wMS0xMycKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbU9iamVjdChvYmosIG9wdHMgPSB7fSkgewogICAgICBvYmogPSBvYmogfHwge307CiAgICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICAgIGlmICghem9uZVRvVXNlLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7CiAgICAgIH0KCiAgICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksCiAgICAgICAgb2Zmc2V0UHJvdmlzID0gIWlzVW5kZWZpbmVkKG9wdHMuc3BlY2lmaWNPZmZzZXQpCiAgICAgICAgICA/IG9wdHMuc3BlY2lmaWNPZmZzZXQKICAgICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksCiAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGNvbnRhaW5zT3JkaW5hbCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm9yZGluYWwpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSwKICAgICAgICBjb250YWluc0dyZWdvciA9IGNvbnRhaW5zR3JlZ29yWWVhciB8fCBjb250YWluc0dyZWdvck1ELAogICAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLAogICAgICAgIGxvYyA9IExvY2FsZS5mcm9tT2JqZWN0KG9wdHMpOwoKICAgICAgLy8gY2FzZXM6CiAgICAgIC8vIGp1c3QgYSB3ZWVrZGF5IC0+IHRoaXMgd2VlaydzIGluc3RhbmNlIG9mIHRoYXQgd2Vla2RheSwgbm8gd29ycmllcwogICAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3IKICAgICAgLy8gKGdyZWdvcmlhbiBtb250aCBvciBkYXkpICsgb3JkaW5hbCAtPiBlcnJvcgogICAgICAvLyBvdGhlcndpc2UganVzdCB1c2Ugd2Vla3Mgb3Igb3JkaW5hbHMgb3IgZ3JlZ29yaWFuLCBkZXBlbmRpbmcgb24gd2hhdCdzIHNwZWNpZmllZAoKICAgICAgaWYgKChjb250YWluc0dyZWdvciB8fCBjb250YWluc09yZGluYWwpICYmIGRlZmluaXRlV2Vla0RlZikgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigKICAgICAgICAgICJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzIgogICAgICAgICk7CiAgICAgIH0KCiAgICAgIGlmIChjb250YWluc0dyZWdvck1EICYmIGNvbnRhaW5zT3JkaW5hbCkgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigiQ2FuJ3QgbWl4IG9yZGluYWwgZGF0ZXMgd2l0aCBtb250aC9kYXkiKTsKICAgICAgfQoKICAgICAgY29uc3QgdXNlV2Vla0RhdGEgPSBkZWZpbml0ZVdlZWtEZWYgfHwgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiAhY29udGFpbnNHcmVnb3IpOwoKICAgICAgLy8gY29uZmlndXJlIG91cnNlbHZlcyB0byBkZWFsIHdpdGggZ3JlZ29yaWFuIGRhdGVzIG9yIHdlZWsgc3R1ZmYKICAgICAgbGV0IHVuaXRzLAogICAgICAgIGRlZmF1bHRWYWx1ZXMsCiAgICAgICAgb2JqTm93ID0gdHNUb09iaih0c05vdywgb2Zmc2V0UHJvdmlzKTsKICAgICAgaWYgKHVzZVdlZWtEYXRhKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0V2Vla1VuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9XZWVrKG9iak5vdyk7CiAgICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkT3JkaW5hbFVuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkVW5pdHM7CiAgICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzOwogICAgICB9CgogICAgICAvLyBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIG1pc3Npbmcgc3R1ZmYKICAgICAgbGV0IGZvdW5kRmlyc3QgPSBmYWxzZTsKICAgICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7CiAgICAgICAgY29uc3QgdiA9IG5vcm1hbGl6ZWRbdV07CiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh2KSkgewogICAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChmb3VuZEZpcnN0KSB7CiAgICAgICAgICBub3JtYWxpemVkW3VdID0gZGVmYXVsdFZhbHVlc1t1XTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9ybWFsaXplZFt1XSA9IG9iak5vd1t1XTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlCiAgICAgIGNvbnN0IGhpZ2hlck9yZGVySW52YWxpZCA9IHVzZVdlZWtEYXRhCiAgICAgICAgICA/IGhhc0ludmFsaWRXZWVrRGF0YShub3JtYWxpemVkKQogICAgICAgICAgOiBjb250YWluc09yZGluYWwKICAgICAgICAgID8gaGFzSW52YWxpZE9yZGluYWxEYXRhKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG5vcm1hbGl6ZWQpLAogICAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpOwoKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgLy8gY29tcHV0ZSB0aGUgYWN0dWFsIHRpbWUKICAgICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGEKICAgICAgICAgID8gd2Vla1RvR3JlZ29yaWFuKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGNvbnRhaW5zT3JkaW5hbAogICAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZCkKICAgICAgICAgIDogbm9ybWFsaXplZCwKICAgICAgICBbdHNGaW5hbCwgb2Zmc2V0RmluYWxdID0gb2JqVG9UUyhncmVnb3JpYW4sIG9mZnNldFByb3Zpcywgem9uZVRvVXNlKSwKICAgICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHsKICAgICAgICAgIHRzOiB0c0ZpbmFsLAogICAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgICAgbzogb2Zmc2V0RmluYWwsCiAgICAgICAgICBsb2MsCiAgICAgICAgfSk7CgogICAgICAvLyBncmVnb3JpYW4gZGF0YSArIHdlZWtkYXkgc2VydmVzIG9ubHkgdG8gdmFsaWRhdGUKICAgICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoCiAgICAgICAgICAibWlzbWF0Y2hlZCB3ZWVrZGF5IiwKICAgICAgICAgIGB5b3UgY2FuJ3Qgc3BlY2lmeSBib3RoIGEgd2Vla2RheSBvZiAke25vcm1hbGl6ZWQud2Vla2RheX0gYW5kIGEgZGF0ZSBvZiAke2luc3QudG9JU08oKX1gCiAgICAgICAgKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGluc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIElTTyA4NjAxIHN0cmluZwogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJywge3pvbmU6ICd1dGMnfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtVzA1LTQnKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJJU08gODYwMSIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBSRkMgMjgyMiBzdHJpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIFJGQyAyODIyIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgdGhlIG9mZnNldCBpcyBhbHdheXMgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJ0ZyaSwgMjUgTm92IDIwMTYgMTM6MjM6MTIgKzA2MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJzI1IE5vdiAyMDE2IDEzOjIzIFonKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tUkZDMjgyMih0ZXh0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlJGQyAyODIyIiwgdGV4dCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIEhUVFAgaGVhZGVyIGRhdGUKICAgICAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMy5odG1sI3NlYzMuMy4xCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSBIVFRQIGRhdGVzIGFyZSBhbHdheXMgaW4gVVRDLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuLCAwNiBOb3YgMTk5NCAwODo0OTozNyBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUhUVFAoJ1N1bmRheSwgMDYtTm92LTk0IDA4OjQ5OjM3IEdNVCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JykKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IFt2YWxzLCBwYXJzZWRab25lXSA9IHBhcnNlSFRUUERhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJIVFRQIiwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIGlucHV0IHN0cmluZyBhbmQgZm9ybWF0IHN0cmluZy4KICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCB0aGUgc3RyaW5nIGlzIGV4cGVjdGVkIHRvIGJlIGluIChzZWUgdGhlIGxpbmsgYmVsb3cgZm9yIHRoZSBmb3JtYXRzKQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSBEYXRlVGltZSB0byB0aGlzIHpvbmUKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZSB3aGVuIHBhcnNpbmcuIFdpbGwgYWxzbyBzZXQgdGhlIHJlc3VsdGluZyBEYXRlVGltZSB0byB0aGlzIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tRm9ybWF0KHRleHQsIGZtdCwgb3B0cyA9IHt9KSB7CiAgICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXQiKTsKICAgICAgfQoKICAgICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLAogICAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHsKICAgICAgICAgIGxvY2FsZSwKICAgICAgICAgIG51bWJlcmluZ1N5c3RlbSwKICAgICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLAogICAgICAgIH0pLAogICAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7CiAgICAgIGlmIChpbnZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgYGZvcm1hdCAke2ZtdH1gLCB0ZXh0LCBzcGVjaWZpY09mZnNldCk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0IGluc3RlYWQKICAgICAqLwogICAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodGV4dCwgZm10LCBvcHRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWUKICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nIGl0c2VsZiwgaWYgaXQgc3BlY2lmaWVzIG9uZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JykKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDInKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJywgeyBzZXRab25lOiB0cnVlIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcwOToxMjozNC4zNDInKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tU1FMKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZVNRTCh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlNRTCIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbZXhwbGFuYXRpb249bnVsbF0gLSBsb25nZXIgZXhwbGFuYXRpb24sIG1heSBpbmNsdWRlIHBhcmFtZXRlcnMgYW5kIG90aGVyIHVzZWZ1bCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgaW52YWxpZChyZWFzb24sIGV4cGxhbmF0aW9uID0gbnVsbCkgewogICAgICBpZiAoIXJlYXNvbikgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEYXRlVGltZSBpcyBpbnZhbGlkIik7CiAgICAgIH0KCiAgICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7CgogICAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7IGludmFsaWQgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBEYXRlVGltZS4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkRhdGVUaW1lKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2R1Y2UgdGhlIGZvcm1hdCBzdHJpbmcgZm9yIGEgc2V0IG9mIG9wdGlvbnMKICAgICAqIEBwYXJhbSBmb3JtYXRPcHRzCiAgICAgKiBAcGFyYW0gbG9jYWxlT3B0cwogICAgICogQHJldHVybnMge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIHBhcnNlRm9ybWF0Rm9yT3B0cyhmb3JtYXRPcHRzLCBsb2NhbGVPcHRzID0ge30pIHsKICAgICAgY29uc3QgdG9rZW5MaXN0ID0gZm9ybWF0T3B0c1RvVG9rZW5zKGZvcm1hdE9wdHMsIExvY2FsZS5mcm9tT2JqZWN0KGxvY2FsZU9wdHMpKTsKICAgICAgcmV0dXJuICF0b2tlbkxpc3QgPyBudWxsIDogdG9rZW5MaXN0Lm1hcCgodCkgPT4gKHQgPyB0LnZhbCA6IG51bGwpKS5qb2luKCIiKTsKICAgIH0KCiAgICAvKioKICAgICAqIFByb2R1Y2UgdGhlIHRoZSBmdWxseSBleHBhbmRlZCBmb3JtYXQgdG9rZW4gZm9yIHRoZSBsb2NhbGUKICAgICAqIERvZXMgTk9UIHF1b3RlIGNoYXJhY3RlcnMsIHNvIHF1b3RlZCB0b2tlbnMgd2lsbCBub3Qgcm91bmQgdHJpcCBjb3JyZWN0bHkKICAgICAqIEBwYXJhbSBmbXQKICAgICAqIEBwYXJhbSBsb2NhbGVPcHRzCiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgZXhwYW5kRm9ybWF0KGZtdCwgbG9jYWxlT3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IGV4cGFuZGVkID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksIExvY2FsZS5mcm9tT2JqZWN0KGxvY2FsZU9wdHMpKTsKICAgICAgcmV0dXJuIGV4cGFuZGVkLm1hcCgodCkgPT4gdC52YWwpLmpvaW4oIiIpOwogICAgfQoKICAgIC8vIElORk8KCiAgICAvKioKICAgICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDcsIDQpLmdldCgnbW9udGgnKTsgLy89PiA3CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA3LCA0KS5nZXQoJ2RheScpOyAvLz0+IDQKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgZ2V0KHVuaXQpIHsKICAgICAgcmV0dXJuIHRoaXNbdW5pdF07CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIERhdGVUaW1lIGlzIHZhbGlkLiBJbnZhbGlkIERhdGVUaW1lcyBvY2N1ciB3aGVuOgogICAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwCiAgICAgKiAqIFRoZSBEYXRlVGltZSB3YXMgY3JlYXRlZCBieSBhbiBvcGVyYXRpb24gb24gYW5vdGhlciBpbnZhbGlkIGRhdGUKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNWYWxpZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gZXJyb3IgY29kZSBpZiB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIERhdGVUaW1lIGlzIHZhbGlkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgaW52YWxpZFJlYXNvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBEYXRlVGltZSBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkRXhwbGFuYXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsb2NhbGUgb2YgYSBEYXRlVGltZSwgc3VjaCAnZW4tR0InLiBUaGUgbG9jYWxlIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZQogICAgICoKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBsb2NhbGUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBudW1iZXJpbmcgc3lzdGVtIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2JlbmcnLiBUaGUgbnVtYmVyaW5nIHN5c3RlbSBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyB0aGUgRGF0ZVRpbWUKICAgICAqCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZQogICAgICoKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBvdXRwdXRDYWxlbmRhcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMubG9jLm91dHB1dENhbGVuZGFyIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgdGltZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIERhdGVUaW1lLgogICAgICogQHR5cGUge1pvbmV9CiAgICAgKi8KICAgIGdldCB6b25lKCkgewogICAgICByZXR1cm4gdGhpcy5fem9uZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbmFtZSBvZiB0aGUgdGltZSB6b25lLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IHpvbmVOYW1lKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy56b25lLm5hbWUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB5ZWFyCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkueWVhciAvLz0+IDIwMTcKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB5ZWFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHF1YXJ0ZXIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHF1YXJ0ZXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmNlaWwodGhpcy5jLm1vbnRoIC8gMykgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5tb250aCAvLz0+IDUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBtb250aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5tb250aCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5IG9mIHRoZSBtb250aCAoMS0zMGlzaCkuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkuZGF5IC8vPT4gMjUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXkoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBob3VyIG9mIHRoZSBkYXkgKDAtMjMpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5CiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgaG91cigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5ob3VyIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwKS5taW51dGUgLy89PiAzMAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbnV0ZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5taW51dGUgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNlY29uZCBvZiB0aGUgbWludXRlICgwLTU5KS4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1LCA5LCAzMCwgNTIpLnNlY29uZCAvLz0+IDUyCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgc2Vjb25kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCAoMC05OTkpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1pbGxpc2Vjb25kKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLm1pbGxpc2Vjb25kIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB3ZWVrIHllYXIKICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTIsIDMxKS53ZWVrWWVhciAvLz0+IDIwMTUKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrWWVhcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdlZWsgbnVtYmVyIG9mIHRoZSB3ZWVrIHllYXIgKDEtNTJpc2gpLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkud2Vla051bWJlciAvLz0+IDIxCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgd2Vla051bWJlcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla051bWJlciA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGF5IG9mIHRoZSB3ZWVrLgogICAgICogMSBpcyBNb25kYXkgYW5kIDcgaXMgU3VuZGF5CiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDExLCAzMSkud2Vla2RheSAvLz0+IDQKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrZGF5KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gcG9zc2libHlDYWNoZWRXZWVrRGF0YSh0aGlzKS53ZWVrZGF5IDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBvcmRpbmFsIChtZWFuaW5nIHRoZSBkYXkgb2YgdGhlIHllYXIpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkub3JkaW5hbCAvLz0+IDE0NQogICAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX0KICAgICAqLwogICAgZ2V0IG9yZGluYWwoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCBtb250aCBuYW1lLCBzdWNoIGFzICdPY3QnLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAxMCwgMzApLm1vbnRoU2hvcnQgLy89PiBPY3QKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBtb250aFNob3J0KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby5tb250aHMoInNob3J0IiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIGxvbmcgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0b2JlcicuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhMb25nIC8vPT4gT2N0b2JlcgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG1vbnRoTG9uZygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKCJsb25nIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIHNob3J0IHdlZWtkYXksIHN1Y2ggYXMgJ01vbicuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkud2Vla2RheVNob3J0IC8vPT4gTW9uCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgd2Vla2RheVNob3J0KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby53ZWVrZGF5cygic2hvcnQiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIHdlZWtkYXksIHN1Y2ggYXMgJ01vbmRheScuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkud2Vla2RheUxvbmcgLy89PiBNb25kYXkKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB3ZWVrZGF5TG9uZygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoImxvbmciLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBVVEMgb2Zmc2V0IG9mIHRoaXMgRGF0ZVRpbWUgaW4gbWludXRlcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkub2Zmc2V0IC8vPT4gMAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG9mZnNldCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/ICt0aGlzLm8gOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHNob3J0IGh1bWFuIG5hbWUgZm9yIHRoZSB6b25lJ3MgY3VycmVudCBvZmZzZXQsIGZvciBleGFtcGxlICJFU1QiIG9yICJFRFQiLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgb2Zmc2V0TmFtZVNob3J0KCkgewogICAgICBpZiAodGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHsKICAgICAgICAgIGZvcm1hdDogInNob3J0IiwKICAgICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSAiRWFzdGVybiBTdGFuZGFyZCBUaW1lIiBvciAiRWFzdGVybiBEYXlsaWdodCBUaW1lIi4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG9mZnNldE5hbWVMb25nKCkgewogICAgICBpZiAodGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHsKICAgICAgICAgIGZvcm1hdDogImxvbmciLAogICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSwKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgdGhpcyB6b25lJ3Mgb2Zmc2V0IGV2ZXIgY2hhbmdlcywgYXMgaW4gYSBEU1QuCiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzT2Zmc2V0Rml4ZWQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHdoZXRoZXIgdGhlIERhdGVUaW1lIGlzIGluIGEgRFNULgogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc0luRFNUKCkgewogICAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAoCiAgICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDEsIGRheTogMSB9KS5vZmZzZXQgfHwKICAgICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogNSB9KS5vZmZzZXQKICAgICAgICApOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE2KS5pc0luTGVhcFllYXIgLy89PiB0cnVlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDEzKS5pc0luTGVhcFllYXIgLy89PiBmYWxzZQogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc0luTGVhcFllYXIoKSB7CiAgICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGlzIERhdGVUaW1lJ3MgbW9udGgKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDMpLmRheXNJbk1vbnRoIC8vPT4gMzEKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBkYXlzSW5Nb250aCgpIHsKICAgICAgcmV0dXJuIGRheXNJbk1vbnRoKHRoaXMueWVhciwgdGhpcy5tb250aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGlzIERhdGVUaW1lJ3MgeWVhcgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNikuZGF5c0luWWVhciAvLz0+IDM2NgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGRheXNJblllYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBkYXlzSW5ZZWFyKHRoaXMueWVhcikgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXIKICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAwNCkud2Vla3NJbldlZWtZZWFyIC8vPT4gNTMKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgd2Vla3NJbldlZWtZZWFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gd2Vla3NJbldlZWtZZWFyKHRoaXMud2Vla1llYXIpIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLgogICAgICogVGhpcyBpcyB1c2VmdWwgaW4gdW5kZXJzdGFuZGluZyB0aGUgYmVoYXZpb3Igb2YgZm9ybWF0dGluZyBtZXRob2RzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIHRoZSBzYW1lIG9wdGlvbnMgYXMgdG9Mb2NhbGVTdHJpbmcKICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgcmVzb2x2ZWRMb2NhbGVPcHRpb25zKG9wdHMgPSB7fSkgewogICAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZSgKICAgICAgICB0aGlzLmxvYy5jbG9uZShvcHRzKSwKICAgICAgICBvcHRzCiAgICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpOwogICAgICByZXR1cm4geyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXI6IGNhbGVuZGFyIH07CiAgICB9CgogICAgLy8gVFJBTlNGT1JNCgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGUgRGF0ZVRpbWUncyB6b25lIHRvIFVUQy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICoKICAgICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKQogICAgICogQHBhcmFtIHtudW1iZXJ9IFtvZmZzZXQ9MF0gLSBvcHRpb25hbGx5LCBhbiBvZmZzZXQgZnJvbSBVVEMgaW4gbWludXRlcwogICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzPXt9XSAtIG9wdGlvbnMgdG8gcGFzcyB0byBgc2V0Wm9uZSgpYAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHRvVVRDKG9mZnNldCA9IDAsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKgogICAgICogRXF1aXZhbGVudCB0byBgc2V0Wm9uZSgnbG9jYWwnKWAKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICB0b0xvY2FsKCkgewogICAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS4KICAgICAqCiAgICAgKiBCeSBkZWZhdWx0LCB0aGUgc2V0dGVyIGtlZXBzIHRoZSB1bmRlcmx5aW5nIHRpbWUgdGhlIHNhbWUgKGFzIGluLCB0aGUgc2FtZSB0aW1lc3RhbXApLCBidXQgdGhlIG5ldyBpbnN0YW5jZSB3aWxsIHJlcG9ydCBkaWZmZXJlbnQgbG9jYWwgdGltZXMgYW5kIGNvbnNpZGVyIERTVHMgd2hlbiBtYWtpbmcgY29tcHV0YXRpb25zLCBhcyB3aXRoIHtAbGluayBEYXRlVGltZSNwbHVzfS4gWW91IG1heSB3aXNoIHRvIHVzZSB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbH0gYW5kIHtAbGluayBEYXRlVGltZSN0b1VUQ30gd2hpY2ggcHJvdmlkZSBzaW1wbGUgY29udmVuaWVuY2Ugd3JhcHBlcnMgZm9yIGNvbW1vbmx5IHVzZWQgem9uZXMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5rZWVwTG9jYWxUaW1lPWZhbHNlXSAtIElmIHRydWUsIGFkanVzdCB0aGUgdW5kZXJseWluZyB0aW1lIHNvIHRoYXQgdGhlIGxvY2FsIHRpbWUgc3RheXMgdGhlIHNhbWUsIGJ1dCBpbiB0aGUgdGFyZ2V0IHpvbmUuIFlvdSBzaG91bGQgcmFyZWx5IG5lZWQgdGhpcy4KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzZXRab25lKHpvbmUsIHsga2VlcExvY2FsVGltZSA9IGZhbHNlLCBrZWVwQ2FsZW5kYXJUaW1lID0gZmFsc2UgfSA9IHt9KSB7CiAgICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTsKICAgICAgaWYgKHpvbmUuZXF1YWxzKHRoaXMuem9uZSkpIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmUpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzOwogICAgICAgIGlmIChrZWVwTG9jYWxUaW1lIHx8IGtlZXBDYWxlbmRhclRpbWUpIHsKICAgICAgICAgIGNvbnN0IG9mZnNldEd1ZXNzID0gem9uZS5vZmZzZXQodGhpcy50cyk7CiAgICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTsKICAgICAgICAgIFtuZXdUU10gPSBvYmpUb1RTKGFzT2JqLCBvZmZzZXRHdWVzcywgem9uZSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvciBvdXRwdXRDYWxlbmRhci4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtPYmplY3R9IHByb3BlcnRpZXMgLSB0aGUgcHJvcGVydGllcyB0byBzZXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkgewogICAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhciB9KTsKICAgICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgbG9jIH0pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIGxvY2FsZS4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSkuc2V0TG9jYWxlKCdlbi1HQicpCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc2V0TG9jYWxlKGxvY2FsZSkgewogICAgICByZXR1cm4gdGhpcy5yZWNvbmZpZ3VyZSh7IGxvY2FsZSB9KTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSB2YWx1ZXMgb2Ygc3BlY2lmaWVkIHVuaXRzLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciAic2V0dGluZyIgbWV0YWRhdGEsIHNlZSB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0uCiAgICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnMKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IGhvdXI6IDgsIG1pbnV0ZTogMzAgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHdlZWtkYXk6IDUgfSkKICAgICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHNldCh2YWx1ZXMpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZU9iamVjdCh2YWx1ZXMsIG5vcm1hbGl6ZVVuaXQpLAogICAgICAgIHNldHRpbmdXZWVrU3R1ZmYgPQogICAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8CiAgICAgICAgICAhaXNVbmRlZmluZWQobm9ybWFsaXplZC53ZWVrTnVtYmVyKSB8fAogICAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla2RheSksCiAgICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksCiAgICAgICAgY29udGFpbnNHcmVnb3JZZWFyID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQueWVhciksCiAgICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsCiAgICAgICAgZGVmaW5pdGVXZWVrRGVmID0gbm9ybWFsaXplZC53ZWVrWWVhciB8fCBub3JtYWxpemVkLndlZWtOdW1iZXI7CgogICAgICBpZiAoKGNvbnRhaW5zR3JlZ29yIHx8IGNvbnRhaW5zT3JkaW5hbCkgJiYgZGVmaW5pdGVXZWVrRGVmKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKAogICAgICAgICAgIkNhbid0IG1peCB3ZWVrWWVhci93ZWVrTnVtYmVyIHVuaXRzIHdpdGggeWVhci9tb250aC9kYXkgb3Igb3JkaW5hbHMiCiAgICAgICAgKTsKICAgICAgfQoKICAgICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7CiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheSIpOwogICAgICB9CgogICAgICBsZXQgbWl4ZWQ7CiAgICAgIGlmIChzZXR0aW5nV2Vla1N0dWZmKSB7CiAgICAgICAgbWl4ZWQgPSB3ZWVrVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub1dlZWsodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTsKICAgICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkgewogICAgICAgIG1peGVkID0gb3JkaW5hbFRvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9PcmRpbmFsKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9OwoKICAgICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsCiAgICAgICAgLy8gdXNlIHRoZSBsYXN0IGRheSBvZiB0aGUgcmlnaHQgbW9udGgKICAgICAgICBpZiAoaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpKSB7CiAgICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBbdHMsIG9dID0gb2JqVG9UUyhtaXhlZCwgdGhpcy5vLCB0aGlzLnpvbmUpOwogICAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIEFkZCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lCiAgICAgKgogICAgICogQWRkaW5nIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBvciBtaWxsaXNlY29uZHMgaW5jcmVhc2VzIHRoZSB0aW1lc3RhbXAgYnkgdGhlIHJpZ2h0IG51bWJlciBvZiBtaWxsaXNlY29uZHMuIEFkZGluZyBkYXlzLCBtb250aHMsIG9yIHllYXJzIHNoaWZ0cyB0aGUgY2FsZW5kYXIsIGFjY291bnRpbmcgZm9yIERTVHMgYW5kIGxlYXAgeWVhcnMgYWxvbmcgdGhlIHdheS4gVGh1cywgYGR0LnBsdXMoeyBob3VyczogMjQgfSlgIG1heSByZXN1bHQgaW4gYSBkaWZmZXJlbnQgdGltZSB0aGFuIGBkdC5wbHVzKHsgZGF5czogMSB9KWAgaWYgdGhlcmUncyBhIERTVCBzaGlmdCBpbiBiZXR3ZWVuLgogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gYWRkLiBFaXRoZXIgYSBMdXhvbiBEdXJhdGlvbiwgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCB0aGUgb2JqZWN0IGFyZ3VtZW50IHRvIER1cmF0aW9uLmZyb21PYmplY3QoKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IG1pbnV0ZXM6IDE1IH0pIC8vfj4gaW4gMTUgbWludXRlcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkgLy9+PiB0aGlzIHRpbWUgdG9tb3Jyb3cKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBob3VyczogMywgbWludXRlczogMTMgfSkgLy9+PiBpbiAzIGhyLCAxMyBtaW4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSkgLy9+PiBpbiAzIGhyLCAxMyBtaW4KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBwbHVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpOwogICAgfQoKICAgIC8qKgogICAgICogU3VidHJhY3QgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZQogICAgICogU2VlIHtAbGluayBEYXRlVGltZSNwbHVzfQogICAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpCiAgICAgQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIG1pbnVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbikubmVnYXRlKCk7CiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBUaGUgdW5pdCB0byBnbyB0byB0aGUgYmVnaW5uaW5nIG9mLiBDYW4gYmUgJ3llYXInLCAncXVhcnRlcicsICdtb250aCcsICd3ZWVrJywgJ2RheScsICdob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnLCBvciAnbWlsbGlzZWNvbmQnLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignbW9udGgnKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMy0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3dlZWsnKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMy0wMycsIHdlZWtzIGFsd2F5cyBzdGFydCBvbiBNb25kYXlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuc3RhcnRPZignZGF5JykudG9JU09UaW1lKCk7IC8vPT4gJzAwOjAwLjAwMC0wNTowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCcKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGFydE9mKHVuaXQpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBvID0ge30sCiAgICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpOwogICAgICBzd2l0Y2ggKG5vcm1hbGl6ZWRVbml0KSB7CiAgICAgICAgY2FzZSAieWVhcnMiOgogICAgICAgICAgby5tb250aCA9IDE7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgInF1YXJ0ZXJzIjoKICAgICAgICBjYXNlICJtb250aHMiOgogICAgICAgICAgby5kYXkgPSAxOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJ3ZWVrcyI6CiAgICAgICAgY2FzZSAiZGF5cyI6CiAgICAgICAgICBvLmhvdXIgPSAwOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJob3VycyI6CiAgICAgICAgICBvLm1pbnV0ZSA9IDA7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgIm1pbnV0ZXMiOgogICAgICAgICAgby5zZWNvbmQgPSAwOwogICAgICAgIC8vIGZhbGxzIHRocm91Z2gKICAgICAgICBjYXNlICJzZWNvbmRzIjoKICAgICAgICAgIG8ubWlsbGlzZWNvbmQgPSAwOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgLy8gbm8gZGVmYXVsdCwgaW52YWxpZCB1bml0cyB0aHJvdyBpbiBub3JtYWxpemVVbml0KCkKICAgICAgfQoKICAgICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSAid2Vla3MiKSB7CiAgICAgICAgby53ZWVrZGF5ID0gMTsKICAgICAgfQoKICAgICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSAicXVhcnRlcnMiKSB7CiAgICAgICAgY29uc3QgcSA9IE1hdGguY2VpbCh0aGlzLm1vbnRoIC8gMyk7CiAgICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMuc2V0KG8pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhpcyBEYXRlVGltZSB0byB0aGUgZW5kIChtZWFuaW5nIHRoZSBsYXN0IG1pbGxpc2Vjb25kKSBvZiBhIHVuaXQgb2YgdGltZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBUaGUgdW5pdCB0byBnbyB0byB0aGUgZW5kIG9mLiBDYW4gYmUgJ3llYXInLCAncXVhcnRlcicsICdtb250aCcsICd3ZWVrJywgJ2RheScsICdob3VyJywgJ21pbnV0ZScsICdzZWNvbmQnLCBvciAnbWlsbGlzZWNvbmQnLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzKS5lbmRPZigneWVhcicpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMTItMzFUMjM6NTk6NTkuOTk5LTA1OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ3dlZWsnKS50b0lTTygpOyAvLyA9PiAnMjAxNC0wMy0wOVQyMzo1OTo1OS45OTktMDU6MDAnLCB3ZWVrcyBzdGFydCBvbiBNb25kYXlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLmVuZE9mKCdob3VyJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0wM1QwNTo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgZW5kT2YodW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSkKICAgICAgICAgICAgLnN0YXJ0T2YodW5pdCkKICAgICAgICAgICAgLm1pbnVzKDEpCiAgICAgICAgOiB0aGlzOwogICAgfQoKICAgIC8vIE9VVFBVVAoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBmb3JtYXQgc3RyaW5nLgogICAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS4KICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJykgLy89PiAnMjAxNyBBcHIgMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2ZyJykudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJykgLy89PiAnMjAxNyBhdnIuIDIyJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6ICJmciIgfSkgLy89PiAnMjAxNyBhdnIuIDIyJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoIkhIICdob3VycyBhbmQnIG1tICdtaW51dGVzJyIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLnJlZGVmYXVsdFRvRU4ob3B0cykpLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyh0aGlzLCBmbXQpCiAgICAgICAgOiBJTlZBTElEOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxvY2FsaXplZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoaXMgZGF0ZS4gQWNjZXB0cyB0aGUgc2FtZSBvcHRpb25zIGFzIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIGFuZCBhbnkgcHJlc2V0cyBkZWZpbmVkIGJ5IEx1eG9uLCBzdWNoIGFzIGBEYXRlVGltZS5EQVRFX0ZVTExgIG9yIGBEYXRlVGltZS5USU1FX1NJTVBMRWAuCiAgICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb24KICAgICAqIG9mIHRoZSBEYXRlVGltZSBpbiB0aGUgYXNzaWduZWQgbG9jYWxlLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0CiAgICAgKiBAcGFyYW0gZm9ybWF0T3B0cyB7T2JqZWN0fSAtIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3Igb3B0aW9ucyBhbmQgY29uZmlndXJhdGlvbiBvcHRpb25zCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdHMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBvbiB0aGlzIERhdGVUaW1lCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxNwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdlbi1nYicpLnRvTG9jYWxlU3RyaW5nKCk7IC8vPT4gJzIwLzA0LzIwMTcnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFX0ZVTEwpOyAvLz0+ICdBcHJpbCAyMCwgMjAxNycKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCwgeyBsb2NhbGU6ICdmcicgfSk7IC8vPT4gJzI4IGFvw7t0IDIwMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuREFURVRJTUVfU0hPUlQpOyAvLz0+ICc0LzIwLzIwMTcsIDExOjMyIEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyB3ZWVrZGF5OiAnbG9uZycsIG1vbnRoOiAnbG9uZycsIGRheTogJzItZGlnaXQnIH0pOyAvLz0+ICdUaHVyc2RheSwgQXByaWwgMjAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTogJzItZGlnaXQnLCBob3VyQ3ljbGU6ICdoMjMnIH0pOyAvLz0+ICcxMTozMicKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9Mb2NhbGVTdHJpbmcoZm9ybWF0T3B0cyA9IERBVEVfU0hPUlQsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLmNsb25lKG9wdHMpLCBmb3JtYXRPcHRzKS5mb3JtYXREYXRlVGltZSh0aGlzKQogICAgICAgIDogSU5WQUxJRDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZm9ybWF0ICJwYXJ0cyIsIG1lYW5pbmcgaW5kaXZpZHVhbCB0b2tlbnMgYWxvbmcgd2l0aCBtZXRhZGF0YS4gVGhpcyBpcyBhbGxvd3MgY2FsbGVycyB0byBwb3N0LXByb2Nlc3MgaW5kaXZpZHVhbCBzZWN0aW9ucyBvZiB0aGUgZm9ybWF0dGVkIG91dHB1dC4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlVGltZUZvcm1hdC9mb3JtYXRUb1BhcnRzCiAgICAgKiBAcGFyYW0gb3B0cyB7T2JqZWN0fSAtIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3Igb3B0aW9ucywgc2FtZSBhcyBgdG9Mb2NhbGVTdHJpbmdgLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFsKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnZGF5JywgdmFsdWU6ICcyNScgfSwKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbGl0ZXJhbCcsIHZhbHVlOiAnLycgfSwKICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdsaXRlcmFsJywgdmFsdWU6ICcvJyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICd5ZWFyJywgdmFsdWU6ICcxOTgyJyB9CiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdCiAgICAgKi8KICAgIHRvTG9jYWxlUGFydHMob3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIG9wdHMpLmZvcm1hdERhdGVUaW1lUGFydHModGhpcykKICAgICAgICA6IFtdOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMAogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0PXRydWVdIC0gaW5jbHVkZSB0aGUgb2Zmc2V0LCBzdWNoIGFzICdaJyBvciAnLTA0OjAwJwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9ZmFsc2VdIC0gYWRkIHRoZSB0aW1lIHpvbmUgZm9ybWF0IGV4dGVuc2lvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oKSAvLz0+ICcyMDE3LTA0LTIyVDIwOjQ3OjA1LjMzNS0wNDowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNy0wNC0yMlQyMDo0NzowNS4zMzUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPKHsKICAgICAgZm9ybWF0ID0gImV4dGVuZGVkIiwKICAgICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsCiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsCiAgICAgIGluY2x1ZGVPZmZzZXQgPSB0cnVlLAogICAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSwKICAgIH0gPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBjb25zdCBleHQgPSBmb3JtYXQgPT09ICJleHRlbmRlZCI7CgogICAgICBsZXQgYyA9IHRvSVNPRGF0ZSh0aGlzLCBleHQpOwogICAgICBjICs9ICJUIjsKICAgICAgYyArPSB0b0lTT1RpbWUodGhpcywgZXh0LCBzdXBwcmVzc1NlY29uZHMsIHN1cHByZXNzTWlsbGlzZWNvbmRzLCBpbmNsdWRlT2Zmc2V0LCBleHRlbmRlZFpvbmUpOwogICAgICByZXR1cm4gYzsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lJ3MgZGF0ZSBjb21wb25lbnQKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmZvcm1hdD0nZXh0ZW5kZWQnXSAtIGNob29zZSBiZXR3ZWVuIHRoZSBiYXNpYyBhbmQgZXh0ZW5kZWQgZm9ybWF0CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNScKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09EYXRlKHsgZm9ybWF0ID0gImV4dGVuZGVkIiB9ID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCBmb3JtYXQgPT09ICJleHRlbmRlZCIpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB3ZWVrIGRhdGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygxOTgyLCA1LCAyNSkudG9JU09XZWVrRGF0ZSgpIC8vPT4gJzE5ODItVzIxLTInCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPV2Vla0RhdGUoKSB7CiAgICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgImtra2stJ1cnV1ctYyIpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudAogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzTWlsbGlzZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmV4dGVuZGVkWm9uZT10cnVlXSAtIGFkZCB0aGUgdGltZSB6b25lIGZvcm1hdCBleHRlbnNpb24KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQgfSkudG9JU09UaW1lKCkgLy89PiAnMDc6MzQ6MTkuMzYxWicKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMDczNDE5LjM2MVonCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDA3OjM0OjE5LjM2MVonCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSVNPVGltZSh7CiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsCiAgICAgIHN1cHByZXNzU2Vjb25kcyA9IGZhbHNlLAogICAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSwKICAgICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLAogICAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSwKICAgICAgZm9ybWF0ID0gImV4dGVuZGVkIiwKICAgIH0gPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICBsZXQgYyA9IGluY2x1ZGVQcmVmaXggPyAiVCIgOiAiIjsKICAgICAgcmV0dXJuICgKICAgICAgICBjICsKICAgICAgICB0b0lTT1RpbWUoCiAgICAgICAgICB0aGlzLAogICAgICAgICAgZm9ybWF0ID09PSAiZXh0ZW5kZWQiLAogICAgICAgICAgc3VwcHJlc3NTZWNvbmRzLAogICAgICAgICAgc3VwcHJlc3NNaWxsaXNlY29uZHMsCiAgICAgICAgICBpbmNsdWRlT2Zmc2V0LAogICAgICAgICAgZXh0ZW5kZWRab25lCiAgICAgICAgKQogICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBSRkMgMjgyMi1jb21wYXRpYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9SRkMyODIyKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAwMDowMDowMCAtMDQwMCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9SRkMyODIyKCkgewogICAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMsICJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzIFpaWiIsIGZhbHNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIEhUVFAgaGVhZGVycy4gVGhlIG91dHB1dCBpcyBhbHdheXMgZXhwcmVzc2VkIGluIEdNVC4KICAgICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy4KICAgICAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMy5odG1sI3NlYzMuMy4xCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvSFRUUCgpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgR01UJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSFRUUCgpIHsKICAgICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLnRvVVRDKCksICJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnIik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTERhdGUoKSAvLz0+ICcyMDE0LTA3LTEzJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTERhdGUoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBUaW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0PXRydWVdIC0gaW5jbHVkZSB0aGUgb2Zmc2V0LCBzdWNoIGFzICdaJyBvciAnLTA0OjAwJwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSAtMDQ6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvU1FMKHsgaW5jbHVkZVpvbmU6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSBBbWVyaWNhL05ld19Zb3JrJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTFRpbWUoeyBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSwgaW5jbHVkZVpvbmUgPSBmYWxzZSwgaW5jbHVkZU9mZnNldFNwYWNlID0gdHJ1ZSB9ID0ge30pIHsKICAgICAgbGV0IGZtdCA9ICJISDptbTpzcy5TU1MiOwoKICAgICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHsKICAgICAgICBpZiAoaW5jbHVkZU9mZnNldFNwYWNlKSB7CiAgICAgICAgICBmbXQgKz0gIiAiOwogICAgICAgIH0KICAgICAgICBpZiAoaW5jbHVkZVpvbmUpIHsKICAgICAgICAgIGZtdCArPSAieiI7CiAgICAgICAgfSBlbHNlIGlmIChpbmNsdWRlT2Zmc2V0KSB7CiAgICAgICAgICBmbXQgKz0gIlpaIjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlVGltZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVab25lPWZhbHNlXSAtIGluY2x1ZGUgdGhlIHpvbmUsIHN1Y2ggYXMgJ0FtZXJpY2EvTmV3X1lvcmsnLiBPdmVycmlkZXMgaW5jbHVkZU9mZnNldC4KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCcKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUwoKSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCBaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKCkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAgLTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9TUUwoeyBpbmNsdWRlWm9uZTogdHJ1ZSB9KSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCBBbWVyaWNhL05ld19Zb3JrJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1NRTChvcHRzID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQoKICAgICAgcmV0dXJuIGAke3RoaXMudG9TUUxEYXRlKCl9ICR7dGhpcy50b1NRTFRpbWUob3B0cyl9YDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU3RyaW5nKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy50b0lTTygpIDogSU5WQUxJRDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9CiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHZhbHVlT2YoKSB7CiAgICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS4KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdG9NaWxsaXMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICB0b1NlY29uZHMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIC8gMTAwMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICB0b1VuaXhJbnRlZ2VyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gTWF0aC5mbG9vcih0aGlzLnRzIC8gMTAwMCkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0pTT04oKSB7CiAgICAgIHJldHVybiB0aGlzLnRvSVNPKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7RGF0ZX0KICAgICAqLwogICAgdG9CU09OKCkgewogICAgICByZXR1cm4gdGhpcy50b0pTRGF0ZSgpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi4KICAgICAqIEBwYXJhbSBvcHRzIC0gb3B0aW9ucyBmb3IgZ2VuZXJhdGluZyB0aGUgb2JqZWN0CiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVDb25maWc9ZmFsc2VdIC0gaW5jbHVkZSBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZXMgaW4gdGhlIG91dHB1dAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgdG9PYmplY3Qob3B0cyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307CgogICAgICBjb25zdCBiYXNlID0geyAuLi50aGlzLmMgfTsKCiAgICAgIGlmIChvcHRzLmluY2x1ZGVDb25maWcpIHsKICAgICAgICBiYXNlLm91dHB1dENhbGVuZGFyID0gdGhpcy5vdXRwdXRDYWxlbmRhcjsKICAgICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTsKICAgICAgICBiYXNlLmxvY2FsZSA9IHRoaXMubG9jLmxvY2FsZTsKICAgICAgfQogICAgICByZXR1cm4gYmFzZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IERhdGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7RGF0ZX0KICAgICAqLwogICAgdG9KU0RhdGUoKSB7CiAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTsKICAgIH0KCiAgICAvLyBDT01QQVJFCgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gRGF0ZVRpbWVzIGFzIGEgRHVyYXRpb24uCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG8KICAgICAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBbdW5pdD1bJ21pbGxpc2Vjb25kcyddXSAtIHRoZSB1bml0IG9yIGFycmF5IG9mIHVuaXRzIChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byBpbmNsdWRlIGluIHRoZSBkdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBleGFtcGxlCiAgICAgKiB2YXIgaTEgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgyLTA1LTI1VDA5OjQ1JyksCiAgICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7CiAgICAgKiBpMi5kaWZmKGkxKS50b09iamVjdCgpIC8vPT4geyBtaWxsaXNlY29uZHM6IDQzODA3NTAwMDAwIH0KICAgICAqIGkyLmRpZmYoaTEsICdob3VycycpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMjE2OC43NSB9CiAgICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH0KICAgICAqIGkyLmRpZmYoaTEsIFsnbW9udGhzJywgJ2RheXMnLCAnaG91cnMnXSkudG9PYmplY3QoKSAvLz0+IHsgbW9udGhzOiAxNiwgZGF5czogMTksIGhvdXJzOiAwLjc1IH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBkaWZmKG90aGVyRGF0ZVRpbWUsIHVuaXQgPSAibWlsbGlzZWNvbmRzIiwgb3B0cyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZCgiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWUiKTsKICAgICAgfQoKICAgICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9OwoKICAgICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSwKICAgICAgICBvdGhlcklzTGF0ZXIgPSBvdGhlckRhdGVUaW1lLnZhbHVlT2YoKSA+IHRoaXMudmFsdWVPZigpLAogICAgICAgIGVhcmxpZXIgPSBvdGhlcklzTGF0ZXIgPyB0aGlzIDogb3RoZXJEYXRlVGltZSwKICAgICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLAogICAgICAgIGRpZmZlZCA9IGRpZmYoZWFybGllciwgbGF0ZXIsIHVuaXRzLCBkdXJPcHRzKTsKCiAgICAgIHJldHVybiBvdGhlcklzTGF0ZXIgPyBkaWZmZWQubmVnYXRlKCkgOiBkaWZmZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuCiAgICAgKiBTZWUge0BsaW5rIERhdGVUaW1lI2RpZmZ9CiAgICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBkaWZmTm93KHVuaXQgPSAibWlsbGlzZWNvbmRzIiwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIEludGVydmFsIHNwYW5uaW5nIGJldHdlZW4gdGhpcyBEYXRlVGltZSBhbmQgYW5vdGhlciBEYXRlVGltZQogICAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgdW50aWwob3RoZXJEYXRlVGltZSkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyh0aGlzLCBvdGhlckRhdGVUaW1lKSA6IHRoaXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLgogICAgICogSGlnaGVyLW9yZGVyIHVuaXRzIG11c3QgYWxzbyBiZSBpZGVudGljYWwgZm9yIHRoaXMgZnVuY3Rpb24gdG8gcmV0dXJuIGB0cnVlYC4KICAgICAqIE5vdGUgdGhhdCB0aW1lIHpvbmVzIGFyZSAqKmlnbm9yZWQqKiBpbiB0aGlzIGNvbXBhcmlzb24sIHdoaWNoIGNvbXBhcmVzIHRoZSAqKmxvY2FsKiogY2FsZW5kYXIgdGltZS4gVXNlIHtAbGluayBEYXRlVGltZSNzZXRab25lfSB0byBjb252ZXJ0IG9uZSBvZiB0aGUgZGF0ZXMgaWYgbmVlZGVkLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNoZWNrIHNhbWVuZXNzIG9uCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5oYXNTYW1lKG90aGVyRFQsICdkYXknKTsgLy9+PiB0cnVlIGlmIG90aGVyRFQgaXMgaW4gdGhlIHNhbWUgY3VycmVudCBjYWxlbmRhciBkYXkKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc1NhbWUob3RoZXJEYXRlVGltZSwgdW5pdCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwoKICAgICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpOwogICAgICBjb25zdCBhZGp1c3RlZFRvWm9uZSA9IHRoaXMuc2V0Wm9uZShvdGhlckRhdGVUaW1lLnpvbmUsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KTsKICAgICAgcmV0dXJuIGFkanVzdGVkVG9ab25lLnN0YXJ0T2YodW5pdCkgPD0gaW5wdXRNcyAmJiBpbnB1dE1zIDw9IGFkanVzdGVkVG9ab25lLmVuZE9mKHVuaXQpOwogICAgfQoKICAgIC8qKgogICAgICogRXF1YWxpdHkgY2hlY2sKICAgICAqIFR3byBEYXRlVGltZXMgYXJlIGVxdWFsIGlmIGFuZCBvbmx5IGlmIHRoZXkgcmVwcmVzZW50IHRoZSBzYW1lIG1pbGxpc2Vjb25kLCBoYXZlIHRoZSBzYW1lIHpvbmUgYW5kIGxvY2F0aW9uLCBhbmQgYXJlIGJvdGggdmFsaWQuCiAgICAgKiBUbyBjb21wYXJlIGp1c3QgdGhlIG1pbGxpc2Vjb25kIHZhbHVlcywgdXNlIGArZHQxID09PSArZHQyYC4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB0aGlzLmlzVmFsaWQgJiYKICAgICAgICBvdGhlci5pc1ZhbGlkICYmCiAgICAgICAgdGhpcy52YWx1ZU9mKCkgPT09IG90aGVyLnZhbHVlT2YoKSAmJgogICAgICAgIHRoaXMuem9uZS5lcXVhbHMob3RoZXIuem9uZSkgJiYKICAgICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKQogICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgImluIHR3byBkYXlzIi4gQ2FuIG9ubHkgaW50ZXJuYXRpb25hbGl6ZSBpZiB5b3VyCiAgICAgKiBwbGF0Zm9ybSBzdXBwb3J0cyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdC4gUm91bmRzIGRvd24gYnkgZGVmYXVsdC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0CiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBbb3B0aW9ucy5iYXNlPURhdGVUaW1lLm5vdygpXSAtIHRoZSBEYXRlVGltZSB0byB1c2UgYXMgdGhlIGJhc2lzIHRvIHdoaWNoIHRoaXMgdGltZSBpcyBjb21wYXJlZC4gRGVmYXVsdHMgdG8gbm93LgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnN0eWxlPSJsb25nIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgImxvbmciLCAic2hvcnQiLCBvciAibmFycm93IgogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IG9wdGlvbnMudW5pdCAtIHVzZSBhIHNwZWNpZmljIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHM7IGlmIG9taXR0ZWQsIG9yIGFuIGFycmF5LCB0aGUgbWV0aG9kIHdpbGwgcGljayB0aGUgYmVzdCB1bml0LiBVc2UgYW4gYXJyYXkgb3Igb25lIG9mICJ5ZWFycyIsICJxdWFydGVycyIsICJtb250aHMiLCAid2Vla3MiLCAiZGF5cyIsICJob3VycyIsICJtaW51dGVzIiwgb3IgInNlY29uZHMiCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLnJvdW5kPXRydWVdIC0gd2hldGhlciB0byByb3VuZCB0aGUgbnVtYmVycyBpbiB0aGUgb3V0cHV0LgogICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLnBhZGRpbmc9MF0gLSBwYWRkaW5nIGluIG1pbGxpc2Vjb25kcy4gVGhpcyBhbGxvd3MgeW91IHRvIHJvdW5kIHVwIHRoZSByZXN1bHQgaWYgaXQgZml0cyBpbnNpZGUgdGhlIHRocmVzaG9sZC4gRG9uJ3QgdXNlIGluIGNvbWJpbmF0aW9uIHdpdGgge3JvdW5kOiBmYWxzZX0gYmVjYXVzZSB0aGUgZGVjaW1hbCBvdXRwdXQgd2lsbCBpbmNsdWRlIHRoZSBwYWRkaW5nLgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSBvdmVycmlkZSB0aGUgbnVtYmVyaW5nU3lzdGVtIG9mIHRoaXMgRGF0ZVRpbWUuIFRoZSBJbnRsIHN5c3RlbSBtYXkgY2hvb3NlIG5vdCB0byBob25vciB0aGlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiAiaW4gMSBkYXkiCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoImVzIikudG9SZWxhdGl2ZSh7IGRheXM6IDEgfSkgLy89PiAiZGVudHJvIGRlIDEgZMOtYSIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6ICJmciIgfSkgLy89PiAiZGFucyAyMyBoZXVyZXMiCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gIjIgZGF5cyBhZ28iCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSh7IHVuaXQ6ICJob3VycyIgfSkgLy89PiAiNDggaG91cnMgYWdvIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBob3VyczogMzYgfSkudG9SZWxhdGl2ZSh7IHJvdW5kOiBmYWxzZSB9KSAvLz0+ICIxLjUgZGF5cyBhZ28iCiAgICAgKi8KICAgIHRvUmVsYXRpdmUob3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKICAgICAgY29uc3QgYmFzZSA9IG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwKICAgICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nID8gKHRoaXMgPCBiYXNlID8gLW9wdGlvbnMucGFkZGluZyA6IG9wdGlvbnMucGFkZGluZykgOiAwOwogICAgICBsZXQgdW5pdHMgPSBbInllYXJzIiwgIm1vbnRocyIsICJkYXlzIiwgImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyJdOwogICAgICBsZXQgdW5pdCA9IG9wdGlvbnMudW5pdDsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy51bml0KSkgewogICAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0OwogICAgICAgIHVuaXQgPSB1bmRlZmluZWQ7CiAgICAgIH0KICAgICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHsKICAgICAgICAuLi5vcHRpb25zLAogICAgICAgIG51bWVyaWM6ICJhbHdheXMiLAogICAgICAgIHVuaXRzLAogICAgICAgIHVuaXQsCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGRhdGUgcmVsYXRpdmUgdG8gdG9kYXksIHN1Y2ggYXMgInllc3RlcmRheSIgb3IgIm5leHQgbW9udGgiLgogICAgICogT25seSBpbnRlcm5hdGlvbmFsaXplcyBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0cyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0CiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBbb3B0aW9ucy5iYXNlPURhdGVUaW1lLm5vdygpXSAtIHRoZSBEYXRlVGltZSB0byB1c2UgYXMgdGhlIGJhc2lzIHRvIHdoaWNoIHRoaXMgdGltZSBpcyBjb21wYXJlZC4gRGVmYXVsdHMgdG8gbm93LgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgInllYXJzIiwgInF1YXJ0ZXJzIiwgIm1vbnRocyIsICJ3ZWVrcyIsIG9yICJkYXlzIgogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpcwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZUNhbGVuZGFyKCkgLy89PiAidG9tb3Jyb3ciCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoImVzIikucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gIiJtYcOxYW5hIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZUNhbGVuZGFyKHsgbG9jYWxlOiAiZnIiIH0pIC8vPT4gImRlbWFpbiIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgZGF5czogMiB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+ICIyIGRheXMgYWdvIgogICAgICovCiAgICB0b1JlbGF0aXZlQ2FsZW5kYXIob3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKCiAgICAgIHJldHVybiBkaWZmUmVsYXRpdmUob3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLCB0aGlzLCB7CiAgICAgICAgLi4ub3B0aW9ucywKICAgICAgICBudW1lcmljOiAiYXV0byIsCiAgICAgICAgdW5pdHM6IFsieWVhcnMiLCAibW9udGhzIiwgImRheXMiXSwKICAgICAgICBjYWxlbmRhcnk6IHRydWUsCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBtaW4gb2Ygc2V2ZXJhbCBkYXRlIHRpbWVzCiAgICAgKiBAcGFyYW0gey4uLkRhdGVUaW1lfSBkYXRlVGltZXMgLSB0aGUgRGF0ZVRpbWVzIGZyb20gd2hpY2ggdG8gY2hvb3NlIHRoZSBtaW5pbXVtCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50CiAgICAgKi8KICAgIHN0YXRpYyBtaW4oLi4uZGF0ZVRpbWVzKSB7CiAgICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXMiKTsKICAgICAgfQogICAgICByZXR1cm4gYmVzdEJ5KGRhdGVUaW1lcywgKGkpID0+IGkudmFsdWVPZigpLCBNYXRoLm1pbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXMKICAgICAqIEBwYXJhbSB7Li4uRGF0ZVRpbWV9IGRhdGVUaW1lcyAtIHRoZSBEYXRlVGltZXMgZnJvbSB3aGljaCB0byBjaG9vc2UgdGhlIG1heGltdW0KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfSB0aGUgbWF4IERhdGVUaW1lLCBvciB1bmRlZmluZWQgaWYgY2FsbGVkIHdpdGggbm8gYXJndW1lbnQKICAgICAqLwogICAgc3RhdGljIG1heCguLi5kYXRlVGltZXMpIHsKICAgICAgaWYgKCFkYXRlVGltZXMuZXZlcnkoRGF0ZVRpbWUuaXNEYXRlVGltZSkpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm1heCByZXF1aXJlcyBhbGwgYXJndW1lbnRzIGJlIERhdGVUaW1lcyIpOwogICAgICB9CiAgICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTsKICAgIH0KCiAgICAvLyBNSVNDCgogICAgLyoqCiAgICAgKiBFeHBsYWluIGhvdyBhIHN0cmluZyB3b3VsZCBiZSBwYXJzZWQgYnkgZnJvbUZvcm1hdCgpCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHRoZSBzdHJpbmcgaXMgZXhwZWN0ZWQgdG8gYmUgaW4gKHNlZSBkZXNjcmlwdGlvbikKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0YWtlbiBieSBmcm9tRm9ybWF0KCkKICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGZyb21Gb3JtYXRFeHBsYWluKHRleHQsIGZtdCwgb3B0aW9ucyA9IHt9KSB7CiAgICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucywKICAgICAgICBsb2NhbGVUb1VzZSA9IExvY2FsZS5mcm9tT3B0cyh7CiAgICAgICAgICBsb2NhbGUsCiAgICAgICAgICBudW1iZXJpbmdTeXN0ZW0sCiAgICAgICAgICBkZWZhdWx0VG9FTjogdHJ1ZSwKICAgICAgICB9KTsKICAgICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpOwogICAgfQoKICAgIC8qKgogICAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXRFeHBsYWluIGluc3RlYWQKICAgICAqLwogICAgc3RhdGljIGZyb21TdHJpbmdFeHBsYWluKHRleHQsIGZtdCwgb3B0aW9ucyA9IHt9KSB7CiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMpOwogICAgfQoKICAgIC8vIEZPUk1BVCBQUkVTRVRTCgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlIDEwLzE0LzE5ODMKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9TSE9SVCgpIHsKICAgICAgcmV0dXJuIERBVEVfU0hPUlQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3QgMTQsIDE5ODMnCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVfTUVEKCkgewogICAgICByZXR1cm4gREFURV9NRUQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkgewogICAgICByZXR1cm4gREFURV9NRURfV0lUSF9XRUVLREFZOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9GVUxMKCkgewogICAgICByZXR1cm4gREFURV9GVUxMOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnVHVlc2RheSwgT2N0b2JlciAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9IVUdFKCkgewogICAgICByZXR1cm4gREFURV9IVUdFOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7CiAgICAgIHJldHVybiBUSU1FX1NJTVBMRTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gVElNRV9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NIT1JUX09GRlNFVCgpIHsKICAgICAgcmV0dXJuIFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV9XSVRIX0xPTkdfT0ZGU0VUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9TSU1QTEUoKSB7CiAgICAgIHJldHVybiBUSU1FXzI0X1NJTVBMRTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzJywgYWx3YXlzIDI0LWhvdXIuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gVElNRV8yNF9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHsKICAgICAgcmV0dXJuIFRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVCgpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX1NIT1JUOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3QgMTQsIDE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfTUVEKCkgewogICAgICByZXR1cm4gREFURVRJTUVfTUVEOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzLCA5OjMwOjMzIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkgewogICAgICByZXR1cm4gREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzAgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTEwoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9GVUxMOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUzsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX0hVR0U7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmlkYXksIE9jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRWFzdGVybiBEYXlsaWdodCBUaW1lJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKCkgewogICAgICByZXR1cm4gREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGZ1bmN0aW9uIGZyaWVuZGx5RGF0ZVRpbWUoZGF0ZVRpbWVpc2gpIHsKICAgIGlmIChEYXRlVGltZS5pc0RhdGVUaW1lKGRhdGVUaW1laXNoKSkgewogICAgICByZXR1cm4gZGF0ZVRpbWVpc2g7CiAgICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIGRhdGVUaW1laXNoLnZhbHVlT2YgJiYgaXNOdW1iZXIoZGF0ZVRpbWVpc2gudmFsdWVPZigpKSkgewogICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUpTRGF0ZShkYXRlVGltZWlzaCk7CiAgICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gIm9iamVjdCIpIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoZGF0ZVRpbWVpc2gpOwogICAgfSBlbHNlIHsKICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKAogICAgICAgIGBVbmtub3duIGRhdGV0aW1lIGFyZ3VtZW50OiAke2RhdGVUaW1laXNofSwgb2YgdHlwZSAke3R5cGVvZiBkYXRlVGltZWlzaH1gCiAgICAgICk7CiAgICB9CiAgfQoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAvLyBRdWVyeSBTZXR0aW5ncyAvLw0KICAvLy8vLy8vLy8vLy8vLy8vLy8vLw0KICBjb25zdCBERUZBVUxUX1FVRVJZX1NFVFRJTkdTID0gew0KICAgICAgcmVuZGVyTnVsbEFzOiAiXFwtIiwNCiAgICAgIHRhc2tDb21wbGV0aW9uVHJhY2tpbmc6IGZhbHNlLA0KICAgICAgdGFza0NvbXBsZXRpb25Vc2VFbW9qaVNob3J0aGFuZDogZmFsc2UsDQogICAgICB0YXNrQ29tcGxldGlvblRleHQ6ICJjb21wbGV0aW9uIiwNCiAgICAgIHRhc2tDb21wbGV0aW9uRGF0ZUZvcm1hdDogInl5eXktTU0tZGQiLA0KICAgICAgcmVjdXJzaXZlU3ViVGFza0NvbXBsZXRpb246IGZhbHNlLA0KICAgICAgd2Fybk9uRW1wdHlSZXN1bHQ6IHRydWUsDQogICAgICByZWZyZXNoRW5hYmxlZDogdHJ1ZSwNCiAgICAgIHJlZnJlc2hJbnRlcnZhbDogMjUwMCwNCiAgICAgIGRlZmF1bHREYXRlRm9ybWF0OiAiTU1NTSBkZCwgeXl5eSIsDQogICAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6ICJoOm1tIGEgLSBNTU1NIGRkLCB5eXl5IiwNCiAgICAgIG1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoOiA0LA0KICAgICAgdGFibGVJZENvbHVtbk5hbWU6ICJGaWxlIiwNCiAgICAgIHRhYmxlR3JvdXBDb2x1bW5OYW1lOiAiR3JvdXAiLA0KICAgICAgc2hvd1Jlc3VsdENvdW50OiB0cnVlLA0KICB9Ow0KICBjb25zdCBERUZBVUxUX0VYUE9SVF9TRVRUSU5HUyA9IHsNCiAgICAgIGFsbG93SHRtbDogdHJ1ZSwNCiAgfTsNCiAgLyoqIERlZmF1bHQgc2V0dGluZ3MgZm9yIGRhdGF2aWV3IG9uIGluc3RhbGwuICovDQogICh7DQogICAgICAuLi5ERUZBVUxUX1FVRVJZX1NFVFRJTkdTLA0KICAgICAgLi4uREVGQVVMVF9FWFBPUlRfU0VUVElOR1MsDQogICAgICAuLi57DQogICAgICAgICAgaW5saW5lUXVlcnlQcmVmaXg6ICI9IiwNCiAgICAgICAgICBpbmxpbmVKc1F1ZXJ5UHJlZml4OiAiJD0iLA0KICAgICAgICAgIGlubGluZVF1ZXJpZXNJbkNvZGVibG9ja3M6IHRydWUsDQogICAgICAgICAgZW5hYmxlSW5saW5lRGF0YXZpZXc6IHRydWUsDQogICAgICAgICAgZW5hYmxlRGF0YXZpZXdKczogZmFsc2UsDQogICAgICAgICAgZW5hYmxlSW5saW5lRGF0YXZpZXdKczogZmFsc2UsDQogICAgICAgICAgcHJldHR5UmVuZGVySW5saW5lRmllbGRzOiB0cnVlLA0KICAgICAgICAgIGRhdGF2aWV3SnNLZXl3b3JkOiAiZGF0YXZpZXdqcyIsDQogICAgICB9LA0KICB9KTsKCiAgLyoqIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLiAqLw0KICBjbGFzcyBTdWNjZXNzIHsNCiAgICAgIGNvbnN0cnVjdG9yKHZhbHVlKSB7DQogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOw0KICAgICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IHRydWU7DQogICAgICB9DQogICAgICBtYXAoZikgew0KICAgICAgICAgIHJldHVybiBuZXcgU3VjY2VzcyhmKHRoaXMudmFsdWUpKTsNCiAgICAgIH0NCiAgICAgIGZsYXRNYXAoZikgew0KICAgICAgICAgIHJldHVybiBmKHRoaXMudmFsdWUpOw0KICAgICAgfQ0KICAgICAgbWFwRXJyKGYpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIGJpbWFwKHN1Y2MsIF9mYWlsKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubWFwKHN1Y2MpOw0KICAgICAgfQ0KICAgICAgb3JFbHNlKF92YWx1ZSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlOw0KICAgICAgfQ0KICAgICAgY2FzdCgpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIG9yRWxzZVRocm93KF9tZXNzYWdlKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7DQogICAgICB9DQogIH0NCiAgLyoqIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLiAqLw0KICBjbGFzcyBGYWlsdXJlIHsNCiAgICAgIGNvbnN0cnVjdG9yKGVycm9yKSB7DQogICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yOw0KICAgICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlOw0KICAgICAgfQ0KICAgICAgbWFwKF9mKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICB9DQogICAgICBmbGF0TWFwKF9mKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICB9DQogICAgICBtYXBFcnIoZikgew0KICAgICAgICAgIHJldHVybiBuZXcgRmFpbHVyZShmKHRoaXMuZXJyb3IpKTsNCiAgICAgIH0NCiAgICAgIGJpbWFwKF9zdWNjLCBmYWlsKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpOw0KICAgICAgfQ0KICAgICAgb3JFbHNlKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICAgICAgfQ0KICAgICAgY2FzdCgpIHsNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgIH0NCiAgICAgIG9yRWxzZVRocm93KG1lc3NhZ2UpIHsNCiAgICAgICAgICBpZiAobWVzc2FnZSkNCiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UodGhpcy5lcnJvcikpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCIiICsgdGhpcy5lcnJvcik7DQogICAgICB9DQogIH0NCiAgLyoqIE1vbmFkaWMgJ1Jlc3VsdCcgdHlwZSB3aGljaCBlbmNhcHN1bGF0ZXMgd2hldGhlciBhIHByb2NlZHVyZSBzdWNjZWVkZWQgb3IgZmFpbGVkLCBhcyB3ZWxsIGFzIGl0J3MgcmV0dXJuIHZhbHVlLiAqLw0KICB2YXIgUmVzdWx0Ow0KICAoZnVuY3Rpb24gKFJlc3VsdCkgew0KICAgICAgLyoqIENvbnN0cnVjdCBhIG5ldyBzdWNjZXNzIHJlc3VsdCB3cmFwcGluZyB0aGUgZ2l2ZW4gdmFsdWUuICovDQogICAgICBmdW5jdGlvbiBzdWNjZXNzKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTsNCiAgICAgIH0NCiAgICAgIFJlc3VsdC5zdWNjZXNzID0gc3VjY2VzczsNCiAgICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgZmFpbHVyZSB2YWx1ZSB3cmFwcGluZyB0aGUgZ2l2ZW4gZXJyb3IuICovDQogICAgICBmdW5jdGlvbiBmYWlsdXJlKGVycm9yKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTsNCiAgICAgIH0NCiAgICAgIFJlc3VsdC5mYWlsdXJlID0gZmFpbHVyZTsNCiAgICAgIC8qKiBKb2luIHR3byByZXN1bHRzIHdpdGggYSBiaS1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IHJlc3VsdC4gKi8NCiAgICAgIGZ1bmN0aW9uIGZsYXRNYXAyKGZpcnN0LCBzZWNvbmQsIGYpIHsNCiAgICAgICAgICBpZiAoZmlyc3Quc3VjY2Vzc2Z1bCkgew0KICAgICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpDQogICAgICAgICAgICAgICAgICByZXR1cm4gZihmaXJzdC52YWx1ZSwgc2Vjb25kLnZhbHVlKTsNCiAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoc2Vjb25kLmVycm9yKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmYWlsdXJlKGZpcnN0LmVycm9yKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBSZXN1bHQuZmxhdE1hcDIgPSBmbGF0TWFwMjsNCiAgICAgIC8qKiBKb2luIHR3byByZXN1bHRzIHdpdGggYSBiaS1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IHJlc3VsdC4gKi8NCiAgICAgIGZ1bmN0aW9uIG1hcDIoZmlyc3QsIHNlY29uZCwgZikgew0KICAgICAgICAgIHJldHVybiBmbGF0TWFwMihmaXJzdCwgc2Vjb25kLCAoYSwgYikgPT4gc3VjY2VzcyhmKGEsIGIpKSk7DQogICAgICB9DQogICAgICBSZXN1bHQubWFwMiA9IG1hcDI7DQogIH0pKFJlc3VsdCB8fCAoUmVzdWx0ID0ge30pKTsKCiAgdmFyIGNvbW1vbmpzR2xvYmFsID0gdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsVGhpcyA6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge307CgogIHZhciBwYXJzaW1tb25fdW1kX21pbiA9IHtleHBvcnRzOiB7fX07CgogIChmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7CiAgIWZ1bmN0aW9uKG4sdCl7bW9kdWxlLmV4cG9ydHM9dCgpO30oInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6Y29tbW9uanNHbG9iYWwsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHQ9e307ZnVuY3Rpb24gcihlKXtpZih0W2VdKXJldHVybiB0W2VdLmV4cG9ydHM7dmFyIHU9dFtlXT17aTplLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIG5bZV0uY2FsbCh1LmV4cG9ydHMsdSx1LmV4cG9ydHMsciksdS5sPSEwLHUuZXhwb3J0c31yZXR1cm4gci5tPW4sci5jPXQsci5kPWZ1bmN0aW9uKG4sdCxlKXtyLm8obix0KXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sdCx7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0OmV9KTt9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7fSxyLm49ZnVuY3Rpb24obil7dmFyIHQ9biYmbi5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIG4uZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gbn07cmV0dXJuIHIuZCh0LCJhIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD0iIixyKHIucz0wKX0oW2Z1bmN0aW9uKG4sdCxyKXtmdW5jdGlvbiBlKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIGUpKXJldHVybiBuZXcgZShuKTt0aGlzLl89bjt9dmFyIHU9ZS5wcm90b3R5cGU7ZnVuY3Rpb24gbyhuLHQpe2Zvcih2YXIgcj0wO3I8bjtyKyspdChyKTt9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KTt9KTt9KGZ1bmN0aW9uKHIsZSx1KXt0PW4odCxyLGUsdSk7fSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4gKG48PDEmNjU1MzUpPj44fSx0KSl9KHIuYnVmKX07fSkscn1mdW5jdGlvbiBjKCl7cmV0dXJuICJ1bmRlZmluZWQiIT10eXBlb2YgQnVmZmVyfWZ1bmN0aW9uIHMoKXtpZighYygpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuIil9ZnVuY3Rpb24gbChuKXtzKCk7dmFyIHQ9aShmdW5jdGlvbihuLHQpe3JldHVybiBuK3R9LDAsbik7aWYodCU4IT0wKXRocm93IG5ldyBFcnJvcigiVGhlIGJpdHMgWyIrbi5qb2luKCIsICIpKyJdIGFkZCB1cCB0byAiK3QrIiB3aGljaCBpcyBub3QgYW4gZXZlbiBudW1iZXIgb2YgYnl0ZXM7IHRoZSB0b3RhbCBzaG91bGQgYmUgZGl2aXNpYmxlIGJ5IDgiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rIiBiaXQgcmFuZ2UgcmVxdWVzdGVkIGV4Y2VlZHMgNDggYml0ICg2IGJ5dGUpIE51bWJlciBtYXguIik7cmV0dXJuIG5ldyBlKGZ1bmN0aW9uKHQscil7dmFyIGU9dStyO3JldHVybiBlPnQubGVuZ3RoP3gocix1LnRvU3RyaW5nKCkrIiBieXRlcyIpOmIoZSxpKGZ1bmN0aW9uKG4sdCl7dmFyIHI9Zih0LG4uYnVmKTtyZXR1cm4ge2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0KyIgYnl0ZXMgZm9yICIrbik6YihlK3Qsci5zbGljZShlLGUrdCkpfSl9ZnVuY3Rpb24gcChuLHQpe2lmKCJudW1iZXIiIT10eXBlb2Yocj10KXx8TWF0aC5mbG9vcihyKSE9PXJ8fHQ8MHx8dD42KXRocm93IG5ldyBFcnJvcihuKyIgcmVxdWlyZXMgaW50ZWdlciBsZW5ndGggaW4gcmFuZ2UgWzAsIDZdLiIpO3ZhciByO31mdW5jdGlvbiBkKG4pe3JldHVybiBwKCJ1aW50QkUiLG4pLGgoInVpbnRCRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkVUludEJFKDAsbil9KX1mdW5jdGlvbiB2KG4pe3JldHVybiBwKCJ1aW50TEUiLG4pLGgoInVpbnRMRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkVUludExFKDAsbil9KX1mdW5jdGlvbiBnKG4pe3JldHVybiBwKCJpbnRCRSIsbiksaCgiaW50QkUoIituKyIpIixuKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVhZEludEJFKDAsbil9KX1mdW5jdGlvbiBtKG4pe3JldHVybiBwKCJpbnRMRSIsbiksaCgiaW50TEUoIituKyIpIixuKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVhZEludExFKDAsbil9KX1mdW5jdGlvbiB5KG4pe3JldHVybiBuIGluc3RhbmNlb2YgZX1mdW5jdGlvbiBFKG4pe3JldHVybiAiW29iamVjdCBBcnJheV0iPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJuIHtzdGF0dXM6ITAsaW5kZXg6bix2YWx1ZTp0LGZ1cnRoZXN0Oi0xLGV4cGVjdGVkOltdfX1mdW5jdGlvbiB4KG4sdCl7cmV0dXJuIEUodCl8fCh0PVt0XSkse3N0YXR1czohMSxpbmRleDotMSx2YWx1ZTpudWxsLGZ1cnRoZXN0Om4sZXhwZWN0ZWQ6dH19ZnVuY3Rpb24gQihuLHQpe2lmKCF0KXJldHVybiBuO2lmKG4uZnVydGhlc3Q+dC5mdXJ0aGVzdClyZXR1cm4gbjt2YXIgcj1uLmZ1cnRoZXN0PT09dC5mdXJ0aGVzdD9mdW5jdGlvbihuLHQpe2lmKGZ1bmN0aW9uKCl7aWYodm9pZCAwIT09ZS5fc3VwcG9ydHNTZXQpcmV0dXJuIGUuX3N1cHBvcnRzU2V0O3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0O3JldHVybiBlLl9zdXBwb3J0c1NldD1uLG59KCkmJkFycmF5LmZyb20pe2Zvcih2YXIgcj1uZXcgU2V0KG4pLHU9MDt1PHQubGVuZ3RoO3UrKylyLmFkZCh0W3VdKTt2YXIgbz1BcnJheS5mcm9tKHIpO3JldHVybiBvLnNvcnQoKSxvfWZvcih2YXIgaT17fSxhPTA7YTxuLmxlbmd0aDthKyspaVtuW2FdXT0hMDtmb3IodmFyIGY9MDtmPHQubGVuZ3RoO2YrKylpW3RbZl1dPSEwO3ZhciBjPVtdO2Zvcih2YXIgcyBpbiBpKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChpLHMpJiZjLnB1c2gocyk7cmV0dXJuIGMuc29ydCgpLGN9KG4uZXhwZWN0ZWQsdC5leHBlY3RlZCk6dC5leHBlY3RlZDtyZXR1cm4ge3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm4ge29mZnNldDp0LGxpbmU6LTEsY29sdW1uOi0xfTtuIGluIGp8fChqW25dPXt9KTtmb3IodmFyIHI9altuXSxlPTAsdT0wLG89MCxpPXQ7aT49MDspe2lmKGkgaW4gcil7ZT1yW2ldLmxpbmUsMD09PW8mJihvPXJbaV0ubGluZVN0YXJ0KTticmVha30oIlxuIj09PW4uY2hhckF0KGkpfHwiXHIiPT09bi5jaGFyQXQoaSkmJiJcbiIhPT1uLmNoYXJBdChpKzEpKSYmKHUrKywwPT09byYmKG89aSsxKSksaS0tO312YXIgYT1lK3UsZj10LW87cmV0dXJuIHJbdF09e2xpbmU6YSxsaW5lU3RhcnQ6b30se29mZnNldDp0LGxpbmU6YSsxLGNvbHVtbjpmKzF9fWZ1bmN0aW9uIF8obil7aWYoIXkobikpdGhyb3cgbmV3IEVycm9yKCJub3QgYSBwYXJzZXI6ICIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVybiAic3RyaW5nIj09dHlwZW9mIG4/bi5jaGFyQXQodCk6blt0XX1mdW5jdGlvbiBPKG4pe2lmKCJudW1iZXIiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoIm5vdCBhIG51bWJlcjogIituKX1mdW5jdGlvbiBrKG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcigibm90IGEgZnVuY3Rpb246ICIrbil9ZnVuY3Rpb24gUChuKXtpZigic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJub3QgYSBzdHJpbmc6ICIrbil9dmFyIHE9MixBPTMsST04LEY9NSpJLE09NCpJLHo9IiAgIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJuIHtmcm9tOm4tdD4wP24tdDowLHRvOm4rcj5lP2U6bityfX1mdW5jdGlvbiBEKG4sdCl7dmFyIHIsZSx1LG8sZixjPXQuaW5kZXgscz1jLm9mZnNldCxsPTE7aWYocz09PW4ubGVuZ3RoKXJldHVybiAiR290IHRoZSBlbmQgb2YgdGhlIGlucHV0IjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsIjAiKX0sbil9LGZ1bmN0aW9uKG4sdCl7dmFyIHI9bi5sZW5ndGgsZT1bXSx1PTA7aWYocjw9dClyZXR1cm4gW24uc2xpY2UoKV07Zm9yKHZhciBvPTA7bzxyO28rKyllW3VdfHxlLnB1c2goW10pLGVbdV0ucHVzaChuW29dKSwobysxKSV0PT0wJiZ1Kys7cmV0dXJuIGV9KG4uc2xpY2UoZC5mcm9tLGQudG8pLnRvSlNPTigpLmRhdGEsSSkpO289ZnVuY3Rpb24obil7cmV0dXJuIDA9PT1uLmZyb20mJjE9PT1uLnRvP3tmcm9tOm4uZnJvbSx0bzpuLnRvfTp7ZnJvbTpuLmZyb20vSSx0bzpNYXRoLmZsb29yKG4udG8vSSl9fShkKSxlPWgvSSxyPTMqcCxwPj00JiYocis9MSksbD0yLHU9YShmdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg8PTQ/bi5qb2luKCIgIik6bi5zbGljZSgwLDQpLmpvaW4oIiAiKSsiICAiK24uc2xpY2UoNCkuam9pbigiICIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mik7fWVsc2Uge3ZhciBnPW4uc3BsaXQoL1xyXG58W1xuXHJcdTIwMjhcdTIwMjldLyk7cj1jLmNvbHVtbi0xLGU9Yy5saW5lLTEsbz1XKGUscSxBLGcubGVuZ3RoKSx1PWcuc2xpY2Uoby5mcm9tLG8udG8pLGY9by50by50b1N0cmluZygpLmxlbmd0aDt9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT8iPiAiOno7cmV0dXJuIGk9dyhuKT9VKCg4KihvLmZyb20rdSkpLnRvU3RyaW5nKDE2KSxmLCIwIik6VSgoby5mcm9tK3UrMSkudG9TdHJpbmcoKSxmLCIgIiksW10uY29uY2F0KHQsW2MraSsiIHwgIitlXSxhP1t6K1IoIiAiLGYpKyIgfCAiK1UoIiIsciwiICIpK1IoIl4iLGwpXTpbXSl9LFtdLHUpLmpvaW4oIlxuIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybiBbIlxuIiwiLS0gUEFSU0lORyBGQUlMRUQgIitSKCItIiw1MCksIlxuXG4iLEQobix0KSwiXG5cbiIsKHI9dC5leHBlY3RlZCwxPT09ci5sZW5ndGg/IkV4cGVjdGVkOlxuXG4iK3JbMF06IkV4cGVjdGVkIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBcblxuIityLmpvaW4oIiwgIikpLCJcbiJdLmpvaW4oIiIpO3ZhciByO31mdW5jdGlvbiBHKG4pe3JldHVybiB2b2lkIDAhPT1uLmZsYWdzP24uZmxhZ3M6W24uZ2xvYmFsPyJnIjoiIixuLmlnbm9yZUNhc2U/ImkiOiIiLG4ubXVsdGlsaW5lPyJtIjoiIixuLnVuaWNvZGU/InUiOiIiLG4uc3RpY2t5PyJ5IjoiIl0uam9pbigiIil9ZnVuY3Rpb24gQygpe2Zvcih2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyksdD1uLmxlbmd0aCxyPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe2Zvcih2YXIgdSxvPW5ldyBBcnJheSh0KSxpPTA7aTx0O2krPTEpe2lmKCEodT1CKG5baV0uXyhyLGUpLHUpKS5zdGF0dXMpcmV0dXJuIHU7b1tpXT11LnZhbHVlLGU9dS5pbmRleDt9cmV0dXJuIEIoYihlLG8pLHUpfSl9ZnVuY3Rpb24gSigpe3ZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZigwPT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJzZXFNYXAgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50Iik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoInplcm8gYWx0ZXJuYXRlcyIpO2Zvcih2YXIgcj0wO3I8dDtyKz0xKV8obltyXSk7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGUsdT0wO3U8bi5sZW5ndGg7dSs9MSlpZigoZT1CKG5bdV0uXyh0LHIpLGUpKS5zdGF0dXMpcmV0dXJuIGU7cmV0dXJuIGV9KX1mdW5jdGlvbiBWKG4sdCl7cmV0dXJuIEgobix0KS5vcihYKFtdKSl9ZnVuY3Rpb24gSChuLHQpe3JldHVybiBfKG4pLF8odCksSihuLHQudGhlbihuKS5tYW55KCksZnVuY3Rpb24obix0KXtyZXR1cm4gW25dLmNvbmNhdCh0KX0pfWZ1bmN0aW9uIEsobil7UChuKTt2YXIgdD0iJyIrbisiJyI7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT1lK24ubGVuZ3RoLG89ci5zbGljZShlLHUpO3JldHVybiBvPT09bj9iKHUsbyk6eChlLHQpfSl9ZnVuY3Rpb24gUShuLHQpeyFmdW5jdGlvbihuKXtpZighKG4gaW5zdGFuY2VvZiBSZWdFeHApKXRocm93IG5ldyBFcnJvcigibm90IGEgcmVnZXhwOiAiK24pO2Zvcih2YXIgdD1HKG4pLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGU9dC5jaGFyQXQocik7aWYoImkiIT09ZSYmIm0iIT09ZSYmInUiIT09ZSYmInMiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnICInK2UrJyI6ICcrbil9fShuKSxhcmd1bWVudHMubGVuZ3RoPj0yP08odCk6dD0wO3ZhciByPWZ1bmN0aW9uKG4pe3JldHVybiBSZWdFeHAoIl4oPzoiK24uc291cmNlKyIpIixHKG4pKX0obiksdT0iIituO3JldHVybiBlKGZ1bmN0aW9uKG4sZSl7dmFyIG89ci5leGVjKG4uc2xpY2UoZSkpO2lmKG8pe2lmKDA8PXQmJnQ8PW8ubGVuZ3RoKXt2YXIgaT1vWzBdLGE9b1t0XTtyZXR1cm4gYihlK2kubGVuZ3RoLGEpfXJldHVybiB4KGUsInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvICIrby5sZW5ndGgrIikgaW4gIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT0iIixlfSk7aWYoInN0cmluZyI9PXR5cGVvZiBuKXJldHVybiBaKEsobikpO2lmKG4gaW5zdGFuY2VvZiBSZWdFeHApcmV0dXJuIFooUShuKSk7dGhyb3cgbmV3IEVycm9yKCJub3QgYSBzdHJpbmcsIHJlZ2V4cCwgb3IgcGFyc2VyOiAiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCAiJyt1KyciJyk6YihyLG51bGwpfSl9ZnVuY3Rpb24gbm4obil7cmV0dXJuIGsobiksZShmdW5jdGlvbih0LHIpe3ZhciBlPUwodCxyKTtyZXR1cm4gcjx0Lmxlbmd0aCYmbihlKT9iKHIrMSxlKTp4KHIsImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgIituKX0pfWZ1bmN0aW9uIHRuKG4sdCl7YXJndW1lbnRzLmxlbmd0aDwyJiYodD1uLG49dm9pZCAwKTt2YXIgcj1lKGZ1bmN0aW9uKG4sZSl7cmV0dXJuIHIuXz10KCkuXyxyLl8obixlKX0pO3JldHVybiBuP3IuZGVzYyhuKTpyfWZ1bmN0aW9uIHJuKCl7cmV0dXJuIFkoImZhbnRhc3ktbGFuZC9lbXB0eSIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoInN0cmluZyIhPXR5cGVvZiBuJiYhdyhuKSl0aHJvdyBuZXcgRXJyb3IoIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnQiKTt2YXIgdCxyPXRoaXMuc2tpcChhbikuXyhuLDApO3JldHVybiB0PXIuc3RhdHVzP3tzdGF0dXM6ITAsdmFsdWU6ci52YWx1ZX06e3N0YXR1czohMSxpbmRleDpTKG4sci5mdXJ0aGVzdCksZXhwZWN0ZWQ6ci5leHBlY3RlZH0sZGVsZXRlIGpbbl0sdH0sdS50cnlQYXJzZT1mdW5jdGlvbihuKXt2YXIgdD10aGlzLnBhcnNlKG4pO2lmKHQuc3RhdHVzKXJldHVybiB0LnZhbHVlO3ZhciByPU4obix0KSxlPW5ldyBFcnJvcihyKTt0aHJvdyBlLnR5cGU9IlBhcnNpbW1vbkVycm9yIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKCJpbmZpbml0ZSBsb29wIGRldGVjdGVkIGluIC5tYW55KCkgcGFyc2VyIC0tLSBjYWxsaW5nIC5tYW55KCkgb24gYSBwYXJzZXIgd2hpY2ggY2FuIGFjY2VwdCB6ZXJvIGNoYXJhY3RlcnMgaXMgdXN1YWxseSB0aGUgY2F1c2UiKTtyPXUuaW5kZXgsZS5wdXNoKHUudmFsdWUpO319KX0sdS50aWVXaXRoPWZ1bmN0aW9uKG4pe3JldHVybiBQKG4pLHRoaXMubWFwKGZ1bmN0aW9uKHQpe2lmKGZ1bmN0aW9uKG4pe2lmKCFFKG4pKXRocm93IG5ldyBFcnJvcigibm90IGFuIGFycmF5OiAiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuICIifSl9LHUudGllPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGllV2l0aCgiIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSk7fWZvcig7Zjx0JiYoYT1CKGk9ci5fKGUsdSksYSksaS5zdGF0dXMpO2YrPTEpdT1pLmluZGV4LG8ucHVzaChpLnZhbHVlKTtyZXR1cm4gQihiKHUsbyksYSl9KX0sdS5yZXN1bHQ9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sdS5hdE1vc3Q9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudGltZXMoMCxuKX0sdS5hdExlYXN0PWZ1bmN0aW9uKG4pe3JldHVybiBKKHRoaXMudGltZXMobiksdGhpcy5tYW55KCksZnVuY3Rpb24obix0KXtyZXR1cm4gbi5jb25jYXQodCl9KX0sdS5tYXA9ZnVuY3Rpb24obil7ayhuKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0IoYih1LmluZGV4LG4odS52YWx1ZSkpLHUpOnV9KX0sdS5jb250cmFtYXA9ZnVuY3Rpb24obil7ayhuKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5wYXJzZShuKHIuc2xpY2UoZSkpKTtyZXR1cm4gdS5zdGF0dXM/YihlK3IubGVuZ3RoLHUudmFsdWUpOnV9KX0sdS5wcm9tYXA9ZnVuY3Rpb24obix0KXtyZXR1cm4gayhuKSxrKHQpLHRoaXMuY29udHJhbWFwKG4pLm1hcCh0KX0sdS5za2lwPWZ1bmN0aW9uKG4pe3JldHVybiBDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSl9LHUubWFyaz1mdW5jdGlvbigpe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24obix0LHIpe3JldHVybiB7c3RhcnQ6bix2YWx1ZTp0LGVuZDpyfX0pfSx1Lm5vZGU9ZnVuY3Rpb24obil7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbih0LHIsZSl7cmV0dXJuIHtuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbImZhbnRhc3ktbGFuZC9hcCJdPXUuYXAsdVsiZmFudGFzeS1sYW5kL2NoYWluIl09dS5jaGFpbix1WyJmYW50YXN5LWxhbmQvY29uY2F0Il09dS5jb25jYXQsdVsiZmFudGFzeS1sYW5kL2VtcHR5Il09dS5lbXB0eSx1WyJmYW50YXN5LWxhbmQvb2YiXT11Lm9mLHVbImZhbnRhc3ktbGFuZC9tYXAiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LCJhbnkgY2hhcmFjdGVyL2J5dGUiKTpiKHQrMSxMKG4sdCkpfSksb249ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKG4ubGVuZ3RoLG4uc2xpY2UodCkpfSksYW49ZShmdW5jdGlvbihuLHQpe3JldHVybiB0PG4ubGVuZ3RoP3godCwiRU9GIik6Yih0LG51bGwpfSksZm49USgvWzAtOV0vKS5kZXNjKCJhIGRpZ2l0IiksY249USgvWzAtOV0qLykuZGVzYygib3B0aW9uYWwgZGlnaXRzIiksc249USgvW2Etel0vaSkuZGVzYygiYSBsZXR0ZXIiKSxsbj1RKC9bYS16XSovaSkuZGVzYygib3B0aW9uYWwgbGV0dGVycyIpLGhuPVEoL1xzKi8pLmRlc2MoIm9wdGlvbmFsIHdoaXRlc3BhY2UiKSxwbj1RKC9ccysvKS5kZXNjKCJ3aGl0ZXNwYWNlIiksZG49SygiXHIiKSx2bj1LKCJcbiIpLGduPUsoIlxyXG4iKSxtbj1UKGduLHZuLGRuKS5kZXNjKCJuZXdsaW5lIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pO30ocik7cmV0dXJuIHR9LGUuY3JsZj1nbixlLmN1c3RvbT1mdW5jdGlvbihuKXtyZXR1cm4gZShuKGIseCkpfSxlLmRpZ2l0PWZuLGUuZGlnaXRzPWNuLGUuZW1wdHk9cm4sZS5lbmQ9eW4sZS5lb2Y9YW4sZS5mYWlsPVksZS5mb3JtYXRFcnJvcj1OLGUuaW5kZXg9ZW4sZS5pc1BhcnNlcj15LGUubGF6eT10bixlLmxldHRlcj1zbixlLmxldHRlcnM9bG4sZS5sZj12bixlLmxvb2thaGVhZD1aLGUubWFrZUZhaWx1cmU9eCxlLm1ha2VTdWNjZXNzPWIsZS5uZXdsaW5lPW1uLGUubm9uZU9mPWZ1bmN0aW9uKG4pe3JldHVybiBubihmdW5jdGlvbih0KXtyZXR1cm4gbi5pbmRleE9mKHQpPDB9KS5kZXNjKCJub25lIG9mICciK24rIiciKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoIiIpLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdPSInIit0W3JdKyInIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rIi0iK3QpfSxlLnJlZ2V4PVEsZS5yZWdleHA9USxlLnNlcEJ5PVYsZS5zZXBCeTE9SCxlLnNlcT1DLGUuc2VxTWFwPUosZS5zZXFPYmo9ZnVuY3Rpb24oKXtmb3IodmFyIG4sdD17fSxyPTAsdT0obj1hcmd1bWVudHMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobikpLG89dS5sZW5ndGgsaT0wO2k8bztpKz0xKXt2YXIgYT11W2ldO2lmKCF5KGEpKXtpZihFKGEpJiYyPT09YS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgYVswXSYmeShhWzFdKSl7dmFyIGY9YVswXTtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxmKSl0aHJvdyBuZXcgRXJyb3IoInNlcU9iajogZHVwbGljYXRlIGtleSAiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcigic2VxT2JqIGFyZ3VtZW50cyBtdXN0IGJlIHBhcnNlcnMgb3IgW3N0cmluZywgcGFyc2VyXSBhcnJheSBwYWlycy4iKX19aWYoMD09PXIpdGhyb3cgbmV3IEVycm9yKCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvIik7cmV0dXJuIGUoZnVuY3Rpb24obix0KXtmb3IodmFyIHIsZT17fSxpPTA7aTxvO2krPTEpe3ZhciBhLGY7aWYoRSh1W2ldKT8oYT11W2ldWzBdLGY9dVtpXVsxXSk6KGE9bnVsbCxmPXVbaV0pLCEocj1CKGYuXyhuLHQpLHIpKS5zdGF0dXMpcmV0dXJuIHI7YSYmKGVbYV09ci52YWx1ZSksdD1yLmluZGV4O31yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVsiZmFudGFzeS1sYW5kL2VtcHR5Il09cm4sZVsiZmFudGFzeS1sYW5kL29mIl09WCxlLkJpbmFyeT17Yml0U2VxOmwsYml0U2VxT2JqOmZ1bmN0aW9uKG4pe3MoKTt2YXIgdD17fSxyPTAsZT1hKGZ1bmN0aW9uKG4pe2lmKEUobikpe3ZhciBlPW47aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiWyIrZS5qb2luKCIsICIpKyJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCAiK2UubGVuZ3RoKTtpZihQKGVbMF0pLE8oZVsxXSksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZVswXSkpdGhyb3cgbmV3IEVycm9yKCJkdXBsaWNhdGUga2V5IGluIGJpdFNlcU9iajogIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcigiYml0U2VxT2JqIGV4cGVjdHMgYXQgbGVhc3Qgb25lIG5hbWVkIHBhaXIsIGdvdCBbIituLmpvaW4oIiwgIikrIl0iKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuIFt0LG5bcl1dfSx1KSl9KX0sYnl0ZTpmdW5jdGlvbihuKXtpZihzKCksTyhuKSxuPjI1NSl0aHJvdyBuZXcgRXJyb3IoIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yICgiK24rIj0weCIrbi50b1N0cmluZygxNikrIikgaXMgbGFyZ2VyIGluIHZhbHVlIHRoYW4gYSBzaW5nbGUgYnl0ZS4iKTt2YXIgdD0obj4xNT8iMHgiOiIweDAiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaCgiYnVmZmVyIixuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIEJ1ZmZlci5mcm9tKG4pfSl9LGVuY29kZWRTdHJpbmc6ZnVuY3Rpb24obix0KXtyZXR1cm4gaCgic3RyaW5nIix0KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcobil9KX0sdWludEJFOmQsdWludDhCRTpkKDEpLHVpbnQxNkJFOmQoMiksdWludDMyQkU6ZCg0KSx1aW50TEU6dix1aW50OExFOnYoMSksdWludDE2TEU6digyKSx1aW50MzJMRTp2KDQpLGludEJFOmcsaW50OEJFOmcoMSksaW50MTZCRTpnKDIpLGludDMyQkU6Zyg0KSxpbnRMRTptLGludDhMRTptKDEpLGludDE2TEU6bSgyKSxpbnQzMkxFOm0oNCksZmxvYXRCRTpoKCJmbG9hdEJFIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoImZsb2F0TEUiLDQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRmxvYXRMRSgwKX0pLGRvdWJsZUJFOmgoImRvdWJsZUJFIiw4KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZERvdWJsZUJFKDApfSksZG91YmxlTEU6aCgiZG91YmxlTEUiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWU7fV0pfSk7CiAgfShwYXJzaW1tb25fdW1kX21pbikpOwoKICB2YXIgZW1vamlSZWdleCA9ICgpID0+IHsKICAJLy8gaHR0cHM6Ly9tdGhzLmJlL2Vtb2ppCiAgCXJldHVybiAvKD86WyMqMC05XVx1RkUwRj9cdTIwRTN8W1x4QTlceEFFXHUyMDNDXHUyMDQ5XHUyMTIyXHUyMTM5XHUyMTk0LVx1MjE5OVx1MjFBOVx1MjFBQVx1MjMxQVx1MjMxQlx1MjMyOFx1MjNDRlx1MjNFRC1cdTIzRUZcdTIzRjFcdTIzRjJcdTIzRjgtXHUyM0ZBXHUyNEMyXHUyNUFBXHUyNUFCXHUyNUI2XHUyNUMwXHUyNUZCXHUyNUZDXHUyNUZFXHUyNjAwLVx1MjYwNFx1MjYwRVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyQVx1MjYyRVx1MjYyRlx1MjYzOC1cdTI2M0FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjVGXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdCXHUyNjdFXHUyNjdGXHUyNjkyXHUyNjk0LVx1MjY5N1x1MjY5OVx1MjY5Qlx1MjY5Q1x1MjZBMFx1MjZBN1x1MjZBQVx1MjZCMFx1MjZCMVx1MjZCRFx1MjZCRVx1MjZDNFx1MjZDOFx1MjZDRlx1MjZEMVx1MjZEM1x1MjZFOVx1MjZGMC1cdTI2RjVcdTI2RjdcdTI2RjhcdTI2RkFcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MEZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MURcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3QTFcdTI5MzRcdTI5MzVcdTJCMDUtXHUyQjA3XHUyQjFCXHUyQjFDXHUyQjU1XHUzMDMwXHUzMDNEXHUzMjk3XHUzMjk5XVx1RkUwRj98W1x1MjYxRFx1MjcwQ1x1MjcwRF0oPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1MjcwQVx1MjcwQl0oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHUyM0U5LVx1MjNFQ1x1MjNGMFx1MjNGM1x1MjVGRFx1MjY5M1x1MjZBMVx1MjZBQlx1MjZDNVx1MjZDRVx1MjZENFx1MjZFQVx1MjZGRFx1MjcwNVx1MjcyOFx1Mjc0Q1x1Mjc0RVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN0IwXHUyN0JGXHUyQjUwXXxcdTI2RjkoPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xcdTI3NjRcdUZFMEY/KD86XHUyMDBEKD86XHVEODNEXHVERDI1fFx1RDgzRVx1REU3OSkpP3xcdUQ4M0MoPzpbXHVEQzA0XHVERDcwXHVERDcxXHVERDdFXHVERDdGXHVERTAyXHVERTM3XHVERjIxXHVERjI0LVx1REYyQ1x1REYzNlx1REY3RFx1REY5Nlx1REY5N1x1REY5OS1cdURGOUJcdURGOUVcdURGOUZcdURGQ0RcdURGQ0VcdURGRDQtXHVERkRGXHVERkY1XHVERkY3XVx1RkUwRj98W1x1REY4NVx1REZDMlx1REZDN10oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVERkMzXHVERkM0XHVERkNBXSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/KD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1REZDQlx1REZDQ10oPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVEQ0NGXHVERDhFXHVERDkxLVx1REQ5QVx1REUwMVx1REUxQVx1REUyRlx1REUzMi1cdURFMzZcdURFMzgtXHVERTNBXHVERTUwXHVERTUxXHVERjAwLVx1REYyMFx1REYyRC1cdURGMzVcdURGMzctXHVERjdDXHVERjdFLVx1REY4NFx1REY4Ni1cdURGOTNcdURGQTAtXHVERkMxXHVERkM1XHVERkM2XHVERkM4XHVERkM5XHVERkNGLVx1REZEM1x1REZFMC1cdURGRjBcdURGRjgtXHVERkZGXXxcdURERTZcdUQ4M0NbXHVEREU4LVx1RERFQ1x1RERFRVx1RERGMVx1RERGMlx1RERGNFx1RERGNi1cdURERkFcdURERkNcdURERkRcdURERkZdfFx1RERFN1x1RDgzQ1tcdURERTZcdURERTdcdURERTktXHVEREVGXHVEREYxLVx1RERGNFx1RERGNi1cdURERjlcdURERkJcdURERkNcdURERkVcdURERkZdfFx1RERFOFx1RDgzQ1tcdURERTZcdURERThcdURERTlcdURERUItXHVEREVFXHVEREYwLVx1RERGNVx1RERGN1x1RERGQS1cdURERkZdfFx1RERFOVx1RDgzQ1tcdURERUFcdURERUNcdURERUZcdURERjBcdURERjJcdURERjRcdURERkZdfFx1RERFQVx1RDgzQ1tcdURERTZcdURERThcdURERUFcdURERUNcdURERURcdURERjctXHVEREZBXXxcdURERUJcdUQ4M0NbXHVEREVFLVx1RERGMFx1RERGMlx1RERGNFx1RERGN118XHVEREVDXHVEODNDW1x1RERFNlx1RERFN1x1RERFOS1cdURERUVcdURERjEtXHVEREYzXHVEREY1LVx1RERGQVx1RERGQ1x1RERGRV18XHVEREVEXHVEODNDW1x1RERGMFx1RERGMlx1RERGM1x1RERGN1x1RERGOVx1RERGQV18XHVEREVFXHVEODNDW1x1RERFOC1cdURERUFcdURERjEtXHVEREY0XHVEREY2LVx1RERGOV18XHVEREVGXHVEODNDW1x1RERFQVx1RERGMlx1RERGNFx1RERGNV18XHVEREYwXHVEODNDW1x1RERFQVx1RERFQy1cdURERUVcdURERjJcdURERjNcdURERjVcdURERjdcdURERkNcdURERkVcdURERkZdfFx1RERGMVx1RDgzQ1tcdURERTYtXHVEREU4XHVEREVFXHVEREYwXHVEREY3LVx1RERGQlx1RERGRV18XHVEREYyXHVEODNDW1x1RERFNlx1RERFOC1cdURERURcdURERjAtXHVEREZGXXxcdURERjNcdUQ4M0NbXHVEREU2XHVEREU4XHVEREVBLVx1RERFQ1x1RERFRVx1RERGMVx1RERGNFx1RERGNVx1RERGN1x1RERGQVx1RERGRl18XHVEREY0XHVEODNDXHVEREYyfFx1RERGNVx1RDgzQ1tcdURERTZcdURERUEtXHVEREVEXHVEREYwLVx1RERGM1x1RERGNy1cdURERjlcdURERkNcdURERkVdfFx1RERGNlx1RDgzQ1x1RERFNnxcdURERjdcdUQ4M0NbXHVEREVBXHVEREY0XHVEREY4XHVEREZBXHVEREZDXXxcdURERjhcdUQ4M0NbXHVEREU2LVx1RERFQVx1RERFQy1cdURERjRcdURERjctXHVEREY5XHVEREZCXHVEREZELVx1RERGRl18XHVEREY5XHVEODNDW1x1RERFNlx1RERFOFx1RERFOVx1RERFQi1cdURERURcdURERUYtXHVEREY0XHVEREY3XHVEREY5XHVEREZCXHVEREZDXHVEREZGXXxcdURERkFcdUQ4M0NbXHVEREU2XHVEREVDXHVEREYyXHVEREYzXHVEREY4XHVEREZFXHVEREZGXXxcdURERkJcdUQ4M0NbXHVEREU2XHVEREU4XHVEREVBXHVEREVDXHVEREVFXHVEREYzXHVEREZBXXxcdURERkNcdUQ4M0NbXHVEREVCXHVEREY4XXxcdURERkRcdUQ4M0NcdURERjB8XHVEREZFXHVEODNDW1x1RERFQVx1RERGOV18XHVEREZGXHVEODNDW1x1RERFNlx1RERGMlx1RERGQ118XHVERkYzXHVGRTBGPyg/Olx1MjAwRCg/Olx1MjZBN1x1RkUwRj98XHVEODNDXHVERjA4KSk/fFx1REZGNCg/Olx1MjAwRFx1MjYyMFx1RkUwRj98XHVEQjQwXHVEQzY3XHVEQjQwXHVEQzYyXHVEQjQwKD86XHVEQzY1XHVEQjQwXHVEQzZFXHVEQjQwXHVEQzY3fFx1REM3M1x1REI0MFx1REM2M1x1REI0MFx1REM3NHxcdURDNzdcdURCNDBcdURDNkNcdURCNDBcdURDNzMpXHVEQjQwXHVEQzdGKT8pfFx1RDgzRCg/OltcdURDM0ZcdURDRkRcdURENDlcdURENEFcdURENkZcdURENzBcdURENzNcdURENzYtXHVERDc5XHVERDg3XHVERDhBLVx1REQ4RFx1RERBNVx1RERBOFx1RERCMVx1RERCMlx1RERCQ1x1RERDMi1cdUREQzRcdURERDEtXHVEREQzXHVERERDLVx1RERERVx1RERFMVx1RERFM1x1RERFOFx1RERFRlx1RERGM1x1RERGQVx1REVDQlx1REVDRC1cdURFQ0ZcdURFRTAtXHVERUU1XHVERUU5XHVERUYwXHVERUYzXVx1RkUwRj98W1x1REM0Mlx1REM0M1x1REM0Ni1cdURDNTBcdURDNjZcdURDNjdcdURDNkItXHVEQzZEXHVEQzcyXHVEQzc0LVx1REM3Nlx1REM3OFx1REM3Q1x1REM4M1x1REM4NVx1REM4Rlx1REM5MVx1RENBQVx1REQ3QVx1REQ5NVx1REQ5Nlx1REU0Q1x1REU0Rlx1REVDMFx1REVDQ10oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVEQzZFXHVEQzcwXHVEQzcxXHVEQzczXHVEQzc3XHVEQzgxXHVEQzgyXHVEQzg2XHVEQzg3XHVERTQ1LVx1REU0N1x1REU0Qlx1REU0RFx1REU0RVx1REVBM1x1REVCNC1cdURFQjZdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVERDc0XHVERDkwXSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVEQzAwLVx1REMwN1x1REMwOS1cdURDMTRcdURDMTYtXHVEQzNBXHVEQzNDLVx1REMzRVx1REM0MFx1REM0NFx1REM0NVx1REM1MS1cdURDNjVcdURDNkFcdURDNzktXHVEQzdCXHVEQzdELVx1REM4MFx1REM4NFx1REM4OC1cdURDOEVcdURDOTBcdURDOTItXHVEQ0E5XHVEQ0FCLVx1RENGQ1x1RENGRi1cdUREM0RcdURENEItXHVERDRFXHVERDUwLVx1REQ2N1x1RERBNFx1RERGQi1cdURFMkRcdURFMkYtXHVERTM0XHVERTM3LVx1REU0NFx1REU0OC1cdURFNEFcdURFODAtXHVERUEyXHVERUE0LVx1REVCM1x1REVCNy1cdURFQkZcdURFQzEtXHVERUM1XHVERUQwLVx1REVEMlx1REVENS1cdURFRDdcdURFREQtXHVERURGXHVERUVCXHVERUVDXHVERUY0LVx1REVGQ1x1REZFMC1cdURGRUJcdURGRjBdfFx1REMwOCg/Olx1MjAwRFx1MkIxQik/fFx1REMxNSg/Olx1MjAwRFx1RDgzRVx1RERCQSk/fFx1REMzQig/Olx1MjAwRFx1Mjc0NFx1RkUwRj8pP3xcdURDNDFcdUZFMEY/KD86XHUyMDBEXHVEODNEXHVEREU4XHVGRTBGPyk/fFx1REM2OCg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjh8XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEKD86W1x1REM2OFx1REM2OV1cdTIwMERcdUQ4M0QoPzpcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/KXxbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/KXxcdUQ4M0VbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF0pfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFx1REM2OFx1RDgzQ1tcdURGRkMtXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OFx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEXHVEQzY4XHVEODNDW1x1REZGQlx1REZGRC1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCXHVERkZDXHVERkZFXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OFx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEXHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRV0pKSk/KSk/fFx1REM2OSg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9bXHVEQzY4XHVEQzY5XXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0QoPzpbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdURDNjYoPzpcdTIwMERcdUQ4M0RcdURDNjYpP3xcdURDNjcoPzpcdTIwMERcdUQ4M0RbXHVEQzY2XHVEQzY3XSk/fFx1REM2OVx1MjAwRFx1RDgzRCg/Olx1REM2Nig/Olx1MjAwRFx1RDgzRFx1REM2Nik/fFx1REM2Nyg/Olx1MjAwRFx1RDgzRFtcdURDNjZcdURDNjddKT8pKXxcdUQ4M0VbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF0pfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86W1x1REM2OFx1REM2OV18XHVEQzhCXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV0pXHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XVx1RDgzQ1tcdURGRkMtXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XXxcdURDOEJcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XSlcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldXHVEODNDW1x1REZGQlx1REZGRC1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCXHVERkZDXHVERkZFXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XXxcdURDOEJcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XSlcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldXHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCLVx1REZGRV0pKSk/KSk/fFx1REM2Rig/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFx1REQ3NSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFx1REUyRSg/Olx1MjAwRFx1RDgzRFx1RENBOCk/fFx1REUzNSg/Olx1MjAwRFx1RDgzRFx1RENBQik/fFx1REUzNig/Olx1MjAwRFx1RDgzQ1x1REYyQlx1RkUwRj8pPyl8XHVEODNFKD86W1x1REQwQ1x1REQwRlx1REQxOC1cdUREMUZcdUREMzAtXHVERDM0XHVERDM2XHVERDc3XHVEREI1XHVEREI2XHVEREJCXHVEREQyXHVEREQzXHVEREQ1XHVERUMzLVx1REVDNVx1REVGMFx1REVGMi1cdURFRjZdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1REQyNlx1REQzNVx1REQzNy1cdUREMzlcdUREM0RcdUREM0VcdUREQjhcdUREQjlcdUREQ0QtXHVERENGXHVEREQ0XHVEREQ2LVx1RERERF0oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFtcdUREREVcdUREREZdKD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1REQwRFx1REQwRVx1REQxMC1cdUREMTdcdUREMjAtXHVERDI1XHVERDI3LVx1REQyRlx1REQzQVx1REQzRi1cdURENDVcdURENDctXHVERDc2XHVERDc4LVx1RERCNFx1RERCN1x1RERCQVx1RERCQy1cdUREQ0NcdURERDBcdURERTAtXHVEREZGXHVERTcwLVx1REU3NFx1REU3OC1cdURFN0NcdURFODAtXHVERTg2XHVERTkwLVx1REVBQ1x1REVCMC1cdURFQkFcdURFQzAtXHVERUMyXHVERUQwLVx1REVEOVx1REVFMC1cdURFRTddfFx1REQzQyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGP3xcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xcdURERDEoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMSkpfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEKD86XHVEODNEXHVEQzhCXHUyMDBEKT9cdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZDLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQlx1REZGQ1x1REZGRVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZEXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkVdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGODRcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZCLVx1REZGRl0pKSk/KSk/fFx1REVGMSg/Olx1RDgzQyg/Olx1REZGQig/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkMtXHVERkZGXSk/fFx1REZGQyg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXSk/fFx1REZGRCg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkNcdURGRkVcdURGRkZdKT98XHVERkZFKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKT98XHVERkZGKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkVdKT8pKT8pKS9nOwogIH07CgogIC8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi8NCiAgZnVuY3Rpb24gbm9ybWFsaXplRHVyYXRpb24oZHVyKSB7DQogICAgICBpZiAoZHVyID09PSB1bmRlZmluZWQgfHwgZHVyID09PSBudWxsKQ0KICAgICAgICAgIHJldHVybiBkdXI7DQogICAgICByZXR1cm4gZHVyLnNoaWZ0VG9BbGwoKS5ub3JtYWxpemUoKTsNCiAgfQ0KICAvKiogU3RyaXAgdGhlIHRpbWUgY29tcG9uZW50cyBvZiBhIGRhdGUgdGltZSBvYmplY3QuICovDQogIGZ1bmN0aW9uIHN0cmlwVGltZShkdCkgew0KICAgICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIGR0Ow0KICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3Qoew0KICAgICAgICAgIHllYXI6IGR0LnllYXIsDQogICAgICAgICAgbW9udGg6IGR0Lm1vbnRoLA0KICAgICAgICAgIGRheTogZHQuZGF5LA0KICAgICAgfSk7DQogIH0NCiAgLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0RGF0ZShzdHIpIHsNCiAgICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxkezR9KS0oXGR7Mn0pLShcZHsyfSkvLmV4ZWMoc3RyKTsNCiAgICAgIGlmICghZGF0ZU1hdGNoKQ0KICAgICAgICAgIGRhdGVNYXRjaCA9IC8oXGR7NH0pKFxkezJ9KShcZHsyfSkvLmV4ZWMoc3RyKTsNCiAgICAgIGlmIChkYXRlTWF0Y2gpIHsNCiAgICAgICAgICBsZXQgeWVhciA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbMV0pOw0KICAgICAgICAgIGxldCBtb250aCA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbMl0pOw0KICAgICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTsNCiAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXIsIG1vbnRoLCBkYXkgfSk7DQogICAgICB9DQogICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICB9DQogIC8qKiBHZXQgdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBnaXZlbiBwYXRoIChpLmUuLCBsaWtlIGNvbXB1dGluZyAncGF0aC8uLicpLiAqLw0KICBmdW5jdGlvbiBnZXRQYXJlbnRGb2xkZXIocGF0aCkgew0KICAgICAgcmV0dXJuIHBhdGguc3BsaXQoIi8iKS5zbGljZSgwLCAtMSkuam9pbigiLyIpOw0KICB9DQogIC8qKiBHZXQgdGhlICJ0aXRsZSIgZm9yIGEgZmlsZSwgYnkgc3RyaXBwaW5nIG90aGVyIHBhcnRzIG9mIHRoZSBwYXRoIGFzIHdlbGwgYXMgdGhlIGV4dGVuc2lvbi4gKi8NCiAgZnVuY3Rpb24gZ2V0RmlsZVRpdGxlKHBhdGgpIHsNCiAgICAgIGlmIChwYXRoLmluY2x1ZGVzKCIvIikpDQogICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoIi8iKSArIDEpOw0KICAgICAgaWYgKHBhdGguZW5kc1dpdGgoIi5tZCIpKQ0KICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpOw0KICAgICAgcmV0dXJuIHBhdGg7DQogIH0NCiAgLyoqIEdldCB0aGUgZXh0ZW5zaW9uIG9mIGEgZmlsZSBmcm9tIHRoZSBmaWxlIHBhdGguICovDQogIGZ1bmN0aW9uIGdldEV4dGVuc2lvbihwYXRoKSB7DQogICAgICBpZiAoIXBhdGguaW5jbHVkZXMoIi4iKSkNCiAgICAgICAgICByZXR1cm4gIiI7DQogICAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZigiLiIpICsgMSk7DQogIH0NCiAgLyoqIFBhcnNlIGFsbCBzdWJ0YWdzIG91dCBvZiB0aGUgZ2l2ZW4gdGFnLiBJLmUuLCAjaGVsbG8vaS9hbSB3b3VsZCB5aWVsZCBbI2hlbGxvL2kvYW0sICNoZWxsby9pLCAjaGVsbG9dLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWcpIHsNCiAgICAgIGxldCByZXN1bHQgPSBbdGFnXTsNCiAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoIi8iKSkgew0KICAgICAgICAgIHRhZyA9IHRhZy5zdWJzdHJpbmcoMCwgdGFnLmxhc3RJbmRleE9mKCIvIikpOw0KICAgICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0Ow0KICB9DQogIC8qKiBBIHBhcnNpbW1vbiBwYXJzZXIgd2hpY2ggY2Fub25pY2FsaXplcyB2YXJpYWJsZSBuYW1lcyB3aGlsZSBwcm9wZXJseSByZXNwZWN0aW5nIGVtb2ppLiAqLw0KICBjb25zdCBWQVJfTkFNRV9DQU5PTklDQUxJWkVSID0gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgIiIpKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleCgvWzAtOVxwe0xldHRlcn1fLV0rL3UpLm1hcChzdHIgPT4gc3RyLnRvTG9jYWxlTG93ZXJDYXNlKCkpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLndoaXRlc3BhY2UubWFwKF8gPT4gIi0iKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbnkubWFwKF8gPT4gIiIpKQ0KICAgICAgLm1hbnkoKQ0KICAgICAgLm1hcChyZXN1bHQgPT4gcmVzdWx0LmpvaW4oIiIpKTsNCiAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhcmlhYmxlIG5hbWUgaW50byBzb21ldGhpbmcgSlMvcXVlcnkgZnJpZW5kbHkuICovDQogIGZ1bmN0aW9uIGNhbm9uaWNhbGl6ZVZhck5hbWUobmFtZSkgew0KICAgICAgcmV0dXJuIFZBUl9OQU1FX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UobmFtZSk7DQogIH0NCiAgY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVIgPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCAiIikpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4KC9bMC05XHB7TGV0dGVyfV8tXSsvdSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMud2hpdGVzcGFjZS5tYXAoXyA9PiAiICIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFueS5tYXAoXyA9PiAiICIpKQ0KICAgICAgLm1hbnkoKQ0KICAgICAgLm1hcChyZXN1bHQgPT4gew0KICAgICAgcmV0dXJuIHJlc3VsdC5qb2luKCIiKS5zcGxpdCgvXHMrLykuam9pbigiICIpLnRyaW0oKTsNCiAgfSk7DQogIC8qKg0KICAgKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljcw0KICAgKiBob3cgT2JzaWRpYW4gZG9lcyBpdCdzIG5vcm1hbGl6YXRpb24sIGNvbGxhcHNpbmcgcmVwZWF0ZWQgc3BhY2VzIGFuZCBzdHJpcHBpbmcgb3V0IGNvbnRyb2wgY2hhcmFjdGVycy4NCiAgICovDQogIGZ1bmN0aW9uIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsoaGVhZGVyKSB7DQogICAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTsNCiAgfQ0KICAvKiogUmVuZGVyIGEgZHVyYXRpb24gaW4gYSBtaW5pbWFsIGZvcm1hdCB0byBzYXZlIHNwYWNlLiAqLw0KICBmdW5jdGlvbiByZW5kZXJNaW5pbWFsRHVyYXRpb24oZHVyKSB7DQogICAgICBkdXIgPSBub3JtYWxpemVEdXJhdGlvbihkdXIpOw0KICAgICAgLy8gdG9IdW1hbiBvdXRwdXRzIHplcm8gcXVhbnRpdGllcyBlLmcuICIwIHNlY29uZHMiDQogICAgICBkdXIgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhkdXIudG9PYmplY3QoKSkuZmlsdGVyKChbLCBxdWFudGl0eV0pID0+IHF1YW50aXR5ID4gMCkpKTsNCiAgICAgIHJldHVybiBkdXIudG9IdW1hbigpOw0KICB9CgogIHZhciBWYWx1ZXM7DQogIChmdW5jdGlvbiAoVmFsdWVzKSB7DQogICAgICAvKiogQ29udmVydCBhbiBhcmJpdHJhcnkgdmFsdWUgaW50byBhIHJlYXNvbmFibGUsIE1hcmtkb3duLWZyaWVuZGx5IHN0cmluZyBpZiBwb3NzaWJsZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHRvU3RyaW5nKGZpZWxkLCBzZXR0aW5nID0gREVGQVVMVF9RVUVSWV9TRVRUSU5HUywgcmVjdXJzaXZlID0gZmFsc2UpIHsNCiAgICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7DQogICAgICAgICAgaWYgKCF3cmFwcGVkKQ0KICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5yZW5kZXJOdWxsQXM7DQogICAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5yZW5kZXJOdWxsQXM7DQogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsNCiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoNCiAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gIiIgKyB3cmFwcGVkLnZhbHVlOw0KICAgICAgICAgICAgICBjYXNlICJodG1sIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm91dGVySFRNTDsNCiAgICAgICAgICAgICAgY2FzZSAid2lkZ2V0IjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcmtkb3duKCk7DQogICAgICAgICAgICAgIGNhc2UgImxpbmsiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTsNCiAgICAgICAgICAgICAgY2FzZSAiZnVuY3Rpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICI8ZnVuY3Rpb24+IjsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9ICIiOw0KICAgICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gIlsiOw0KICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHdyYXBwZWQudmFsdWUubWFwKGYgPT4gdG9TdHJpbmcoZiwgc2V0dGluZywgdHJ1ZSkpLmpvaW4oIiwgIik7DQogICAgICAgICAgICAgICAgICBpZiAocmVjdXJzaXZlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiXSI7DQogICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgICAgICBjYXNlICJvYmplY3QiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICgieyAiICsNCiAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyh3cmFwcGVkLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGUgPT4gZVswXSArICI6ICIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oIiwgIikgKw0KICAgICAgICAgICAgICAgICAgICAgICIgfSIpOw0KICAgICAgICAgICAgICBjYXNlICJkYXRlIjoNCiAgICAgICAgICAgICAgICAgIGlmICh3cmFwcGVkLnZhbHVlLnNlY29uZCA9PSAwICYmIHdyYXBwZWQudmFsdWUuaG91ciA9PSAwICYmIHdyYXBwZWQudmFsdWUubWludXRlID09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b0Zvcm1hdChzZXR0aW5nLmRlZmF1bHREYXRlRm9ybWF0KTsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLnRvRm9ybWF0KHNldHRpbmcuZGVmYXVsdERhdGVUaW1lRm9ybWF0KTsNCiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlck1pbmltYWxEdXJhdGlvbih3cmFwcGVkLnZhbHVlKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMudG9TdHJpbmcgPSB0b1N0cmluZzsNCiAgICAgIC8qKiBXcmFwIGEgbGl0ZXJhbCB2YWx1ZSBzbyB5b3UgY2FuIHN3aXRjaCBvbiBpdCBlYXNpbHkuICovDQogICAgICBmdW5jdGlvbiB3cmFwVmFsdWUodmFsKSB7DQogICAgICAgICAgaWYgKGlzTnVsbCh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibnVsbCIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc051bWJlcih2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibnVtYmVyIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJzdHJpbmciLCB2YWx1ZTogdmFsIH07DQogICAgICAgICAgZWxzZSBpZiAoaXNCb29sZWFuKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJib29sZWFuIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzRHVyYXRpb24odmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImR1cmF0aW9uIiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzRGF0ZSh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZGF0ZSIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc1dpZGdldCh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAid2lkZ2V0IiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImFycmF5IiwgdmFsdWU6IHZhbCB9Ow0KICAgICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKQ0KICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibGluayIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpDQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJmdW5jdGlvbiIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlIGlmIChpc0h0bWwodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImh0bWwiLCB2YWx1ZTogdmFsIH07DQogICAgICAgICAgZWxzZSBpZiAoaXNPYmplY3QodmFsKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm9iamVjdCIsIHZhbHVlOiB2YWwgfTsNCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICB9DQogICAgICBWYWx1ZXMud3JhcFZhbHVlID0gd3JhcFZhbHVlOw0KICAgICAgLyoqIFJlY3Vyc2l2ZWx5IG1hcCBjb21wbGV4IG9iamVjdHMgYXQgdGhlIGxlYXZlcy4gKi8NCiAgICAgIGZ1bmN0aW9uIG1hcExlYXZlcyh2YWwsIGZ1bmMpIHsNCiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWwpKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYXBMZWF2ZXModmFsdWUsIGZ1bmMpOw0KICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkpIHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdOw0KICAgICAgICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWwpDQogICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChtYXBMZWF2ZXModmFsdWUsIGZ1bmMpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmdW5jKHZhbCk7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgVmFsdWVzLm1hcExlYXZlcyA9IG1hcExlYXZlczsNCiAgICAgIC8qKiBDb21wYXJlIHR3byBhcmJpdHJhcnkgSmF2YVNjcmlwdCB2YWx1ZXMuIFByb2R1Y2VzIGEgdG90YWwgb3JkZXJpbmcgb3ZlciBBTlkgcG9zc2libGUgZGF0YXZpZXcgdmFsdWUuICovDQogICAgICBmdW5jdGlvbiBjb21wYXJlVmFsdWUodmFsMSwgdmFsMiwgbGlua05vcm1hbGl6ZXIpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iOw0KICAgICAgICAgIC8vIEhhbmRsZSB1bmRlZmluZWQvbnVsbHMgZmlyc3QuDQogICAgICAgICAgaWYgKHZhbDEgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdmFsMSA9IG51bGw7DQogICAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdmFsMiA9IG51bGw7DQogICAgICAgICAgaWYgKHZhbDEgPT09IG51bGwgJiYgdmFsMiA9PT0gbnVsbCkNCiAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgZWxzZSBpZiAodmFsMSA9PT0gbnVsbCkNCiAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpDQogICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi4NCiAgICAgICAgICBsZXQgd3JhcDEgPSB3cmFwVmFsdWUodmFsMSk7DQogICAgICAgICAgbGV0IHdyYXAyID0gd3JhcFZhbHVlKHZhbDIpOw0KICAgICAgICAgIGlmICh3cmFwMSA9PT0gdW5kZWZpbmVkICYmIHdyYXAyID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICBlbHNlIGlmICh3cmFwMiA9PT0gdW5kZWZpbmVkKQ0KICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAvLyBTaG9ydC1jaXJjdWl0IG9uIGRpZmZlcmVudCB0eXBlcyBvciBvbiByZWZlcmVuY2UgZXF1YWxpdHkuDQogICAgICAgICAgaWYgKHdyYXAxLnR5cGUgIT0gd3JhcDIudHlwZSkNCiAgICAgICAgICAgICAgcmV0dXJuIHdyYXAxLnR5cGUubG9jYWxlQ29tcGFyZSh3cmFwMi50eXBlKTsNCiAgICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAic3RyaW5nIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZS5sb2NhbGVDb21wYXJlKHdyYXAyLnZhbHVlKTsNCiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoNCiAgICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgIGNhc2UgIm51bGwiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOg0KICAgICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICBsZXQgbGluazEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBsaW5rMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZSA9IGxpbmtOb3JtYWxpemVyICE9PSBudWxsICYmIGxpbmtOb3JtYWxpemVyICE9PSB2b2lkIDAgPyBsaW5rTm9ybWFsaXplciA6ICgoeCkgPT4geCk7DQogICAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBjb21wYXJlIGJ5IGZpbGUgbmFtZSBvciBkaXNwbGF5LCBzaW5jZSB0aGF0IHdvdWxkIGJyZWFrIGxpbmsgZXF1YWxpdHkuIENvbXBhcmUgYnkgcGF0aC4NCiAgICAgICAgICAgICAgICAgIGxldCBwYXRoQ29tcGFyZSA9IG5vcm1hbGl6ZShsaW5rMS5wYXRoKS5sb2NhbGVDb21wYXJlKG5vcm1hbGl6ZShsaW5rMi5wYXRoKSk7DQogICAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkNCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aENvbXBhcmU7DQogICAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgdHlwZS4NCiAgICAgICAgICAgICAgICAgIGxldCB0eXBlQ29tcGFyZSA9IGxpbmsxLnR5cGUubG9jYWxlQ29tcGFyZShsaW5rMi50eXBlKTsNCiAgICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0eXBlQ29tcGFyZTsNCiAgICAgICAgICAgICAgICAgIC8vIFRoZW4gY29tcGFyZSBieSBzdWJwYXRoIGV4aXN0ZW5jZS4NCiAgICAgICAgICAgICAgICAgIGlmIChsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmIGxpbmsyLnN1YnBhdGgpDQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgLy8gU2luY2UgYm90aCBoYXZlIGEgc3VicGF0aCwgY29tcGFyZSBieSBzdWJwYXRoLg0KICAgICAgICAgICAgICAgICAgcmV0dXJuICgoX2EgPSBsaW5rMS5zdWJwYXRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAiIikubG9jYWxlQ29tcGFyZSgoX2IgPSBsaW5rMi5zdWJwYXRoKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAiIik7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXAxLnZhbHVlIDwgd3JhcDIudmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICA/IC0xDQogICAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUpDQogICAgICAgICAgICAgICAgICAgICAgICAgID8gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE7DQogICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoNCiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZSA8IHdyYXAyLnZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgPyAtMQ0KICAgICAgICAgICAgICAgICAgICAgIDogd3JhcDEudmFsdWUuZXF1YWxzKHdyYXAyLnZhbHVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICA/IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOw0KICAgICAgICAgICAgICBjYXNlICJhcnJheSI6DQogICAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBmMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IE1hdGgubWluKGYxLmxlbmd0aCwgZjIubGVuZ3RoKTsgaW5kZXgrKykgew0KICAgICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZVZhbHVlKGYxW2luZGV4XSwgZjJbaW5kZXhdKTsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcDsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiBmMS5sZW5ndGggLSBmMi5sZW5ndGg7DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICBsZXQgbzEgPSB3cmFwMS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlOw0KICAgICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpOw0KICAgICAgICAgICAgICAgICAgbGV0IGsyID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMikpOw0KICAgICAgICAgICAgICAgICAgazEuc29ydCgpOw0KICAgICAgICAgICAgICAgICAgazIuc29ydCgpOw0KICAgICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlVmFsdWUoazEsIGsyKTsNCiAgICAgICAgICAgICAgICAgIGlmIChrZXlDb21wYXJlICE9IDApDQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleUNvbXBhcmU7DQogICAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHsNCiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tcCA9IGNvbXBhcmVWYWx1ZShvMVtrZXldLCBvMltrZXldKTsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcDsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICBjYXNlICJ3aWRnZXQiOg0KICAgICAgICAgICAgICBjYXNlICJodG1sIjoNCiAgICAgICAgICAgICAgY2FzZSAiZnVuY3Rpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgVmFsdWVzLmNvbXBhcmVWYWx1ZSA9IGNvbXBhcmVWYWx1ZTsNCiAgICAgIC8qKiBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIERhdGF2ZWl3IHR5cGUgZm9yIGFuIGFyYml0cmFyeSB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHR5cGVPZih2YWwpIHsNCiAgICAgICAgICB2YXIgX2E7DQogICAgICAgICAgcmV0dXJuIChfYSA9IHdyYXBWYWx1ZSh2YWwpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHlwZTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy50eXBlT2YgPSB0eXBlT2Y7DQogICAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyAidHJ1dGh5IiAoaS5lLiwgaXMgbm9uLW51bGwgYW5kIGhhcyBkYXRhIGluIGl0KS4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzVHJ1dGh5KGZpZWxkKSB7DQogICAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpOw0KICAgICAgICAgIGlmICghd3JhcHBlZCkNCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7DQogICAgICAgICAgICAgIGNhc2UgIm51bWJlciI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZSAhPSAwOw0KICAgICAgICAgICAgICBjYXNlICJzdHJpbmciOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gISF3cmFwcGVkLnZhbHVlLnBhdGg7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9NaWxsaXMoKSAhPSAwOw0KICAgICAgICAgICAgICBjYXNlICJkdXJhdGlvbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcygic2Vjb25kcyIpICE9IDA7DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubGVuZ3RoID4gMDsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgIGNhc2UgImh0bWwiOg0KICAgICAgICAgICAgICBjYXNlICJ3aWRnZXQiOg0KICAgICAgICAgICAgICBjYXNlICJmdW5jdGlvbiI6DQogICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMuaXNUcnV0aHkgPSBpc1RydXRoeTsNCiAgICAgIC8qKiBEZWVwIGNvcHkgYSBmaWVsZC4gKi8NCiAgICAgIGZ1bmN0aW9uIGRlZXBDb3B5KGZpZWxkKSB7DQogICAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpDQogICAgICAgICAgICAgIHJldHVybiBmaWVsZDsNCiAgICAgICAgICBpZiAoVmFsdWVzLmlzQXJyYXkoZmllbGQpKSB7DQogICAgICAgICAgICAgIHJldHVybiBbXS5jb25jYXQoZmllbGQubWFwKHYgPT4gZGVlcENvcHkodikpKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAoVmFsdWVzLmlzT2JqZWN0KGZpZWxkKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWVsZCkpDQogICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBDb3B5KHZhbHVlKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJldHVybiBmaWVsZDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBWYWx1ZXMuZGVlcENvcHkgPSBkZWVwQ29weTsNCiAgICAgIGZ1bmN0aW9uIGlzU3RyaW5nKHZhbCkgew0KICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09ICJzdHJpbmciOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzU3RyaW5nID0gaXNTdHJpbmc7DQogICAgICBmdW5jdGlvbiBpc051bWJlcih2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PSAibnVtYmVyIjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc051bWJlciA9IGlzTnVtYmVyOw0KICAgICAgZnVuY3Rpb24gaXNEYXRlKHZhbCkgew0KICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0RhdGUgPSBpc0RhdGU7DQogICAgICBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbCkgew0KICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEdXJhdGlvbjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0R1cmF0aW9uID0gaXNEdXJhdGlvbjsNCiAgICAgIGZ1bmN0aW9uIGlzTnVsbCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzTnVsbCA9IGlzTnVsbDsNCiAgICAgIGZ1bmN0aW9uIGlzQXJyYXkodmFsKSB7DQogICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsKTsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0FycmF5ID0gaXNBcnJheTsNCiAgICAgIGZ1bmN0aW9uIGlzQm9vbGVhbih2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gImJvb2xlYW4iOw0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzQm9vbGVhbiA9IGlzQm9vbGVhbjsNCiAgICAgIGZ1bmN0aW9uIGlzTGluayh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgTGluazsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0xpbmsgPSBpc0xpbms7DQogICAgICBmdW5jdGlvbiBpc1dpZGdldCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgV2lkZ2V0Ow0KICAgICAgfQ0KICAgICAgVmFsdWVzLmlzV2lkZ2V0ID0gaXNXaWRnZXQ7DQogICAgICBmdW5jdGlvbiBpc0h0bWwodmFsKSB7DQogICAgICAgICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0h0bWwgPSBpc0h0bWw7DQogICAgICAvKiogQ2hlY2tzIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhbiBvYmplY3QgKGFuZCBub3QgYW55IG90aGVyIGRhdGF2aWV3LXJlY29nbml6ZWQgb2JqZWN0LWxpa2UgdHlwZSkuICovDQogICAgICBmdW5jdGlvbiBpc09iamVjdCh2YWwpIHsNCiAgICAgICAgICByZXR1cm4gKHR5cGVvZiB2YWwgPT0gIm9iamVjdCIgJiYNCiAgICAgICAgICAgICAgIWlzSHRtbCh2YWwpICYmDQogICAgICAgICAgICAgICFpc1dpZGdldCh2YWwpICYmDQogICAgICAgICAgICAgICFpc0FycmF5KHZhbCkgJiYNCiAgICAgICAgICAgICAgIWlzRHVyYXRpb24odmFsKSAmJg0KICAgICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiYNCiAgICAgICAgICAgICAgIWlzTGluayh2YWwpICYmDQogICAgICAgICAgICAgIHZhbCAhPT0gdW5kZWZpbmVkICYmDQogICAgICAgICAgICAgICFpc051bGwodmFsKSk7DQogICAgICB9DQogICAgICBWYWx1ZXMuaXNPYmplY3QgPSBpc09iamVjdDsNCiAgICAgIGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsKSB7DQogICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gImZ1bmN0aW9uIjsNCiAgICAgIH0NCiAgICAgIFZhbHVlcy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjsNCiAgfSkoVmFsdWVzIHx8IChWYWx1ZXMgPSB7fSkpOw0KICAvLy8vLy8vLy8vLy8vLy8NCiAgLy8gR3JvdXBpbmdzIC8vDQogIC8vLy8vLy8vLy8vLy8vLw0KICB2YXIgR3JvdXBpbmdzOw0KICAoZnVuY3Rpb24gKEdyb3VwaW5ncykgew0KICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzRWxlbWVudEdyb3VwKGVudHJ5KSB7DQogICAgICAgICAgcmV0dXJuIFZhbHVlcy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmICJrZXkiIGluIGVudHJ5ICYmICJyb3dzIiBpbiBlbnRyeTsNCiAgICAgIH0NCiAgICAgIEdyb3VwaW5ncy5pc0VsZW1lbnRHcm91cCA9IGlzRWxlbWVudEdyb3VwOw0KICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovDQogICAgICBmdW5jdGlvbiBpc0dyb3VwaW5nKGVudHJ5KSB7DQogICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbnRyeSkNCiAgICAgICAgICAgICAgaWYgKCFpc0VsZW1lbnRHcm91cChlbGVtZW50KSkNCiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICAgIEdyb3VwaW5ncy5pc0dyb3VwaW5nID0gaXNHcm91cGluZzsNCiAgICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqLw0KICAgICAgZnVuY3Rpb24gY291bnQoZWxlbWVudHMpIHsNCiAgICAgICAgICBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IDA7DQogICAgICAgICAgICAgIGZvciAobGV0IHN1Ymdyb3VwIG9mIGVsZW1lbnRzKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IGNvdW50KHN1Ymdyb3VwLnJvd3MpOw0KICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzLmxlbmd0aDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBHcm91cGluZ3MuY291bnQgPSBjb3VudDsNCiAgfSkoR3JvdXBpbmdzIHx8IChHcm91cGluZ3MgPSB7fSkpOw0KICAvLy8vLy8vLy8vDQogIC8vIExJTksgLy8NCiAgLy8vLy8vLy8vLw0KICAvKiogVGhlIE9ic2lkaWFuICdsaW5rJywgdXNlZCBmb3IgdW5pcXVlbHkgZGVzY3JpYmluZyBhIGZpbGUsIGhlYWRlciwgb3IgYmxvY2suICovDQogIGNsYXNzIExpbmsgew0KICAgICAgY29uc3RydWN0b3IoZmllbGRzKSB7DQogICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBmaWVsZHMpOw0KICAgICAgfQ0KICAgICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBzcGVjaWZpYyBmaWxlLiAqLw0KICAgICAgc3RhdGljIGZpbGUocGF0aCwgZW1iZWQgPSBmYWxzZSwgZGlzcGxheSkgew0KICAgICAgICAgIHJldHVybiBuZXcgTGluayh7DQogICAgICAgICAgICAgIHBhdGgsDQogICAgICAgICAgICAgIGVtYmVkLA0KICAgICAgICAgICAgICBkaXNwbGF5LA0KICAgICAgICAgICAgICBzdWJwYXRoOiB1bmRlZmluZWQsDQogICAgICAgICAgICAgIHR5cGU6ICJmaWxlIiwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgICAgIHN0YXRpYyBpbmZlcihsaW5rcGF0aCwgZW1iZWQgPSBmYWxzZSwgZGlzcGxheSkgew0KICAgICAgICAgIGlmIChsaW5rcGF0aC5pbmNsdWRlcygiI14iKSkgew0KICAgICAgICAgICAgICBsZXQgc3BsaXQgPSBsaW5rcGF0aC5zcGxpdCgiI14iKTsNCiAgICAgICAgICAgICAgcmV0dXJuIExpbmsuYmxvY2soc3BsaXRbMF0sIHNwbGl0WzFdLCBlbWJlZCwgZGlzcGxheSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKCIjIikpIHsNCiAgICAgICAgICAgICAgbGV0IHNwbGl0ID0gbGlua3BhdGguc3BsaXQoIiMiKTsNCiAgICAgICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHNwbGl0WzBdLCBzcGxpdFsxXSwgZW1iZWQsIGRpc3BsYXkpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZSBhbmQgaGVhZGVyIGluIHRoYXQgZmlsZS4gKi8NCiAgICAgIHN0YXRpYyBoZWFkZXIocGF0aCwgaGVhZGVyLCBlbWJlZCwgZGlzcGxheSkgew0KICAgICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC4NCiAgICAgICAgICByZXR1cm4gbmV3IExpbmsoew0KICAgICAgICAgICAgICBwYXRoLA0KICAgICAgICAgICAgICBlbWJlZCwNCiAgICAgICAgICAgICAgZGlzcGxheSwNCiAgICAgICAgICAgICAgc3VicGF0aDogbm9ybWFsaXplSGVhZGVyRm9yTGluayhoZWFkZXIpLA0KICAgICAgICAgICAgICB0eXBlOiAiaGVhZGVyIiwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZSBhbmQgYmxvY2sgaW4gdGhhdCBmaWxlLiAqLw0KICAgICAgc3RhdGljIGJsb2NrKHBhdGgsIGJsb2NrSWQsIGVtYmVkLCBkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHsNCiAgICAgICAgICAgICAgcGF0aCwNCiAgICAgICAgICAgICAgZW1iZWQsDQogICAgICAgICAgICAgIGRpc3BsYXksDQogICAgICAgICAgICAgIHN1YnBhdGg6IGJsb2NrSWQsDQogICAgICAgICAgICAgIHR5cGU6ICJibG9jayIsDQogICAgICAgICAgfSk7DQogICAgICB9DQogICAgICBzdGF0aWMgZnJvbU9iamVjdChvYmplY3QpIHsNCiAgICAgICAgICByZXR1cm4gbmV3IExpbmsob2JqZWN0KTsNCiAgICAgIH0NCiAgICAgIC8qKiBDaGVja3MgZm9yIGxpbmsgZXF1YWxpdHkgKGkuZS4sIHRoYXQgdGhlIGxpbmtzIGFyZSBwb2ludGluZyB0byB0aGUgc2FtZSBleGFjdCBsb2NhdGlvbikuICovDQogICAgICBlcXVhbHMob3RoZXIpIHsNCiAgICAgICAgICBpZiAob3RoZXIgPT0gdW5kZWZpbmVkIHx8IG90aGVyID09IG51bGwpDQogICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICByZXR1cm4gdGhpcy5wYXRoID09IG90aGVyLnBhdGggJiYgdGhpcy50eXBlID09IG90aGVyLnR5cGUgJiYgdGhpcy5zdWJwYXRoID09IG90aGVyLnN1YnBhdGg7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi8NCiAgICAgIHRvU3RyaW5nKCkgew0KICAgICAgICAgIHJldHVybiB0aGlzLm1hcmtkb3duKCk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovDQogICAgICB0b09iamVjdCgpIHsNCiAgICAgICAgICByZXR1cm4geyBwYXRoOiB0aGlzLnBhdGgsIHR5cGU6IHRoaXMudHlwZSwgc3VicGF0aDogdGhpcy5zdWJwYXRoLCBkaXNwbGF5OiB0aGlzLmRpc3BsYXksIGVtYmVkOiB0aGlzLmVtYmVkIH07DQogICAgICB9DQogICAgICAvKiogVXBkYXRlIHRoaXMgbGluayB3aXRoIGEgbmV3IHBhdGguICovDQogICAgICAvL0B0cy1pZ25vcmU7IGVycm9yIGFwcGVhcmVkIGFmdGVyIHVwZGF0aW5nIE9ic2lkaWFuIHRvIDAuMTUuNDsgaXQgYWxzbyB1cGRhdGVkIG90aGVyIHBhY2thZ2VzIGJ1dCBkaWRuJ3Qgc2F5IHdoaWNoDQogICAgICB3aXRoUGF0aChwYXRoKSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7DQogICAgICB9DQogICAgICAvKiogUmV0dXJuIGEgbmV3IGxpbmsgd2hpY2ggcG9pbnRzIHRvIHRoZSBzYW1lIGxvY2F0aW9uIGJ1dCB3aXRoIGEgbmV3IGRpc3BsYXkgdmFsdWUuICovDQogICAgICB3aXRoRGlzcGxheShkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgZGlzcGxheSB9KSk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCBhIGZpbGUgbGluayBpbnRvIGEgbGluayB0byBhIHNwZWNpZmljIGhlYWRlci4gKi8NCiAgICAgIHdpdGhIZWFkZXIoaGVhZGVyKSB7DQogICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpOw0KICAgICAgfQ0KICAgICAgLyoqIENvbnZlcnQgYW55IGxpbmsgaW50byBhIGxpbmsgdG8gaXRzIGZpbGUuICovDQogICAgICB0b0ZpbGUoKSB7DQogICAgICAgICAgcmV0dXJuIExpbmsuZmlsZSh0aGlzLnBhdGgsIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhbiBlbWJlZGRlZCBsaW5rLiAqLw0KICAgICAgdG9FbWJlZCgpIHsNCiAgICAgICAgICBpZiAodGhpcy5lbWJlZCkgew0KICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBsaW5rID0gbmV3IExpbmsodGhpcyk7DQogICAgICAgICAgICAgIGxpbmsuZW1iZWQgPSB0cnVlOw0KICAgICAgICAgICAgICByZXR1cm4gbGluazsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqLw0KICAgICAgZnJvbUVtYmVkKCkgew0KICAgICAgICAgIGlmICghdGhpcy5lbWJlZCkgew0KICAgICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBsaW5rID0gbmV3IExpbmsodGhpcyk7DQogICAgICAgICAgICAgIGxpbmsuZW1iZWQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgcmV0dXJuIGxpbms7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi8NCiAgICAgIG1hcmtkb3duKCkgew0KICAgICAgICAgIGxldCByZXN1bHQgPSAodGhpcy5lbWJlZCA/ICIhIiA6ICIiKSArICJbWyIgKyB0aGlzLm9ic2lkaWFuTGluaygpOw0KICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXkpIHsNCiAgICAgICAgICAgICAgcmVzdWx0ICs9ICJ8IiArIHRoaXMuZGlzcGxheTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIHJlc3VsdCArPSAifCIgKyBnZXRGaWxlVGl0bGUodGhpcy5wYXRoKTsNCiAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAiaGVhZGVyIiB8fCB0aGlzLnR5cGUgPT0gImJsb2NrIikNCiAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiID4gIiArIHRoaXMuc3VicGF0aDsNCiAgICAgICAgICB9DQogICAgICAgICAgcmVzdWx0ICs9ICJdXSI7DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgICAgIC8qKiBDb252ZXJ0IHRoZSBpbm5lciBwYXJ0IG9mIHRoZSBsaW5rIHRvIHNvbWV0aGluZyB0aGF0IE9ic2lkaWFuIGNhbiBvcGVuIC8gdW5kZXJzdGFuZC4gKi8NCiAgICAgIG9ic2lkaWFuTGluaygpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iOw0KICAgICAgICAgIGNvbnN0IGVzY2FwZWQgPSB0aGlzLnBhdGgucmVwbGFjZSgifCIsICJcXHwiKTsNCiAgICAgICAgICBpZiAodGhpcy50eXBlID09ICJoZWFkZXIiKQ0KICAgICAgICAgICAgICByZXR1cm4gZXNjYXBlZCArICIjIiArICgoX2EgPSB0aGlzLnN1YnBhdGgpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXBsYWNlKCJ8IiwgIlxcfCIpKTsNCiAgICAgICAgICBpZiAodGhpcy50eXBlID09ICJibG9jayIpDQogICAgICAgICAgICAgIHJldHVybiBlc2NhcGVkICsgIiNeIiArICgoX2IgPSB0aGlzLnN1YnBhdGgpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5yZXBsYWNlKCJ8IiwgIlxcfCIpKTsNCiAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgIHJldHVybiBlc2NhcGVkOw0KICAgICAgfQ0KICAgICAgLyoqIFRoZSBzdHJpcHBlZCBuYW1lIG9mIHRoZSBmaWxlIHRoaXMgbGluayBwb2ludHMgdG8uICovDQogICAgICBmaWxlTmFtZSgpIHsNCiAgICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCkucmVwbGFjZSgiLm1kIiwgIiIpOw0KICAgICAgfQ0KICB9DQogIC8vLy8vLy8vLy8vLy8vLy8vDQogIC8vIFdJREdFVCBCQVNFIC8vDQogIC8vLy8vLy8vLy8vLy8vLy8vDQogIC8qKg0KICAgKiBBIHRyaXZpYWwgYmFzZSBjbGFzcyB3aGljaCBqdXN0IGRlZmluZXMgdGhlICckd2lkZ2V0JyBpZGVudGlmaWVyIHR5cGUuIFN1YnR5cGVzIG9mDQogICAqIHdpZGdldCBhcmUgcmVzcG9uc2libGUgZm9yIGFkZGluZyB3aGF0ZXZlciBtZXRhZGF0YSBpcyByZWxldmFudC4gSWYgeW91IHdhbnQgeW91ciB3aWRnZXQNCiAgICogdG8gaGF2ZSByZW5kZXJpbmcgZnVuY3Rpb25hbGl0eSAod2hpY2ggeW91IHByb2JhYmx5IGRvKSwgeW91IHNob3VsZCBleHRlbmQgYFJlbmRlcldpZGdldGAuDQogICAqLw0KICBjbGFzcyBXaWRnZXQgew0KICAgICAgY29uc3RydWN0b3IoJHdpZGdldCkgew0KICAgICAgICAgIHRoaXMuJHdpZGdldCA9ICR3aWRnZXQ7DQogICAgICB9DQogIH0NCiAgLyoqIEEgdHJpdmlhbCB3aWRnZXQgd2hpY2ggcmVuZGVycyBhIChrZXksIHZhbHVlKSBwYWlyLCBhbmQgYWxsb3dzIGFjY2Vzc2luZyB0aGUga2V5IGFuZCB2YWx1ZS4gKi8NCiAgY2xhc3MgTGlzdFBhaXJXaWRnZXQgZXh0ZW5kcyBXaWRnZXQgew0KICAgICAgY29uc3RydWN0b3Ioa2V5LCB2YWx1ZSkgew0KICAgICAgICAgIHN1cGVyKCJkYXRhdmlldzpsaXN0LXBhaXIiKTsNCiAgICAgICAgICB0aGlzLmtleSA9IGtleTsNCiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7DQogICAgICB9DQogICAgICBtYXJrZG93bigpIHsNCiAgICAgICAgICByZXR1cm4gYCR7VmFsdWVzLnRvU3RyaW5nKHRoaXMua2V5KX06ICR7VmFsdWVzLnRvU3RyaW5nKHRoaXMudmFsdWUpfWA7DQogICAgICB9DQogIH0NCiAgLyoqIEEgc2ltcGxlIHdpZGdldCB3aGljaCByZW5kZXJzIGFuIGV4dGVybmFsIGxpbmsuICovDQogIGNsYXNzIEV4dGVybmFsTGlua1dpZGdldCBleHRlbmRzIFdpZGdldCB7DQogICAgICBjb25zdHJ1Y3Rvcih1cmwsIGRpc3BsYXkpIHsNCiAgICAgICAgICBzdXBlcigiZGF0YXZpZXc6ZXh0ZXJuYWwtbGluayIpOw0KICAgICAgICAgIHRoaXMudXJsID0gdXJsOw0KICAgICAgICAgIHRoaXMuZGlzcGxheSA9IGRpc3BsYXk7DQogICAgICB9DQogICAgICBtYXJrZG93bigpIHsNCiAgICAgICAgICB2YXIgX2E7DQogICAgICAgICAgcmV0dXJuIGBbJHsoX2EgPSB0aGlzLmRpc3BsYXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRoaXMudXJsfV0oJHt0aGlzLnVybH0pYDsNCiAgICAgIH0NCiAgfQ0KICB2YXIgV2lkZ2V0czsNCiAgKGZ1bmN0aW9uIChXaWRnZXRzKSB7DQogICAgICAvKiogQ3JlYXRlIGEgbGlzdCBwYWlyIHdpZGdldCBtYXRjaGluZyB0aGUgZ2l2ZW4ga2V5IGFuZCB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIGxpc3RQYWlyKGtleSwgdmFsdWUpIHsNCiAgICAgICAgICByZXR1cm4gbmV3IExpc3RQYWlyV2lkZ2V0KGtleSwgdmFsdWUpOw0KICAgICAgfQ0KICAgICAgV2lkZ2V0cy5saXN0UGFpciA9IGxpc3RQYWlyOw0KICAgICAgLyoqIENyZWF0ZSBhbiBleHRlcm5hbCBsaW5rIHdpZGdldCB3aGljaCByZW5kZXJzIGFuIGV4dGVybmFsIE9ic2lkaWFuIGxpbmsuICovDQogICAgICBmdW5jdGlvbiBleHRlcm5hbExpbmsodXJsLCBkaXNwbGF5KSB7DQogICAgICAgICAgcmV0dXJuIG5ldyBFeHRlcm5hbExpbmtXaWRnZXQodXJsLCBkaXNwbGF5KTsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuZXh0ZXJuYWxMaW5rID0gZXh0ZXJuYWxMaW5rOw0KICAgICAgLyoqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gd2lkZ2V0IGlzIGEgbGlzdCBwYWlyIHdpZGdldC4gKi8NCiAgICAgIGZ1bmN0aW9uIGlzTGlzdFBhaXIod2lkZ2V0KSB7DQogICAgICAgICAgcmV0dXJuIHdpZGdldC4kd2lkZ2V0ID09PSAiZGF0YXZpZXc6bGlzdC1wYWlyIjsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuaXNMaXN0UGFpciA9IGlzTGlzdFBhaXI7DQogICAgICBmdW5jdGlvbiBpc0V4dGVybmFsTGluayh3aWRnZXQpIHsNCiAgICAgICAgICByZXR1cm4gd2lkZ2V0LiR3aWRnZXQgPT09ICJkYXRhdmlldzpleHRlcm5hbC1saW5rIjsNCiAgICAgIH0NCiAgICAgIFdpZGdldHMuaXNFeHRlcm5hbExpbmsgPSBpc0V4dGVybmFsTGluazsNCiAgICAgIC8qKiBEZXRlcm1pbmVzIGlmIHRoZSBnaXZlbiB3aWRnZXQgaXMgYW55IGtpbmQgb2YgYnVpbHQtaW4gd2lkZ2V0IHdpdGggc3BlY2lhbCByZW5kZXJpbmcgaGFuZGxpbmcuICovDQogICAgICBmdW5jdGlvbiBpc0J1aWx0aW4od2lkZ2V0KSB7DQogICAgICAgICAgcmV0dXJuIGlzTGlzdFBhaXIod2lkZ2V0KSB8fCBpc0V4dGVybmFsTGluayh3aWRnZXQpOw0KICAgICAgfQ0KICAgICAgV2lkZ2V0cy5pc0J1aWx0aW4gPSBpc0J1aWx0aW47DQogIH0pKFdpZGdldHMgfHwgKFdpZGdldHMgPSB7fSkpOwoKICAvKiogVXRpbGl0eSBtZXRob2RzIGZvciBjcmVhdGluZyAmIGNvbXBhcmluZyBmaWVsZHMuICovDQogIHZhciBGaWVsZHM7DQogIChmdW5jdGlvbiAoRmllbGRzKSB7DQogICAgICBmdW5jdGlvbiB2YXJpYWJsZShuYW1lKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogInZhcmlhYmxlIiwgbmFtZSB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLnZhcmlhYmxlID0gdmFyaWFibGU7DQogICAgICBmdW5jdGlvbiBsaXRlcmFsKHZhbHVlKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImxpdGVyYWwiLCB2YWx1ZSB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLmxpdGVyYWwgPSBsaXRlcmFsOw0KICAgICAgZnVuY3Rpb24gYmluYXJ5T3AobGVmdCwgb3AsIHJpZ2h0KSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJpbmFyeW9wIiwgbGVmdCwgb3AsIHJpZ2h0IH07DQogICAgICB9DQogICAgICBGaWVsZHMuYmluYXJ5T3AgPSBiaW5hcnlPcDsNCiAgICAgIGZ1bmN0aW9uIGluZGV4KG9iaiwgaW5kZXgpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiaW5kZXgiLCBvYmplY3Q6IG9iaiwgaW5kZXggfTsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pbmRleCA9IGluZGV4Ow0KICAgICAgLyoqIENvbnZlcnRzIGEgc3RyaW5nIGluIGRvdC1ub3RhdGlvbi1mb3JtYXQgaW50byBhIHZhcmlhYmxlIHdoaWNoIGluZGV4ZXMuICovDQogICAgICBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWUpIHsNCiAgICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KCIuIik7DQogICAgICAgICAgbGV0IHJlc3VsdCA9IEZpZWxkcy52YXJpYWJsZShwYXJ0c1swXSk7DQogICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykgew0KICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuaW5kZXgocmVzdWx0LCBGaWVsZHMubGl0ZXJhbChwYXJ0c1tpbmRleF0pKTsNCiAgICAgICAgICB9DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pbmRleFZhcmlhYmxlID0gaW5kZXhWYXJpYWJsZTsNCiAgICAgIGZ1bmN0aW9uIGxhbWJkYShhcmdzLCB2YWx1ZSkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsYW1iZGEiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07DQogICAgICB9DQogICAgICBGaWVsZHMubGFtYmRhID0gbGFtYmRhOw0KICAgICAgZnVuY3Rpb24gZnVuYyhmdW5jLCBhcmdzKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImZ1bmN0aW9uIiwgZnVuYywgYXJndW1lbnRzOiBhcmdzIH07DQogICAgICB9DQogICAgICBGaWVsZHMuZnVuYyA9IGZ1bmM7DQogICAgICBmdW5jdGlvbiBsaXN0KHZhbHVlcykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaXN0IiwgdmFsdWVzIH07DQogICAgICB9DQogICAgICBGaWVsZHMubGlzdCA9IGxpc3Q7DQogICAgICBmdW5jdGlvbiBvYmplY3QodmFsdWVzKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm9iamVjdCIsIHZhbHVlcyB9Ow0KICAgICAgfQ0KICAgICAgRmllbGRzLm9iamVjdCA9IG9iamVjdDsNCiAgICAgIGZ1bmN0aW9uIG5lZ2F0ZShjaGlsZCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJuZWdhdGVkIiwgY2hpbGQgfTsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5uZWdhdGUgPSBuZWdhdGU7DQogICAgICBmdW5jdGlvbiBpc0NvbXBhcmVPcChvcCkgew0KICAgICAgICAgIHJldHVybiBvcCA9PSAiPD0iIHx8IG9wID09ICI8IiB8fCBvcCA9PSAiPiIgfHwgb3AgPT0gIj49IiB8fCBvcCA9PSAiIT0iIHx8IG9wID09ICI9IjsNCiAgICAgIH0NCiAgICAgIEZpZWxkcy5pc0NvbXBhcmVPcCA9IGlzQ29tcGFyZU9wOw0KICAgICAgRmllbGRzLk5VTEwgPSBGaWVsZHMubGl0ZXJhbChudWxsKTsNCiAgfSkoRmllbGRzIHx8IChGaWVsZHMgPSB7fSkpOwoKICAvKiogQVNUIGltcGxlbWVudGF0aW9uIGZvciBxdWVyaWVzIG92ZXIgZGF0YSBzb3VyY2VzLiAqLw0KICAvKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgc291cmNlcy4gKi8NCiAgdmFyIFNvdXJjZXM7DQogIChmdW5jdGlvbiAoU291cmNlcykgew0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBzZWFyY2hlcyBmcm9tIGEgdGFnLiAqLw0KICAgICAgZnVuY3Rpb24gdGFnKHRhZykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJ0YWciLCB0YWcgfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMudGFnID0gdGFnOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBmZXRjaGVzIGZyb20gYSBDU1YgZmlsZS4gKi8NCiAgICAgIGZ1bmN0aW9uIGNzdihwYXRoKSB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImNzdiIsIHBhdGggfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMuY3N2ID0gY3N2Ow0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBzZWFyY2hlcyBmb3IgZmlsZXMgdW5kZXIgYSBmb2xkZXIgcHJlZml4LiAqLw0KICAgICAgZnVuY3Rpb24gZm9sZGVyKHByZWZpeCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJmb2xkZXIiLCBmb2xkZXI6IHByZWZpeCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5mb2xkZXIgPSBmb2xkZXI7DQogICAgICAvKiogQ3JlYXRlIGEgc291cmNlIHdoaWNoIHNlYXJjaGVzIGZvciBmaWxlcyB3aGljaCBsaW5rIHRvL2Zyb20gYSBnaXZlbiBmaWxlLiAqLw0KICAgICAgZnVuY3Rpb24gbGluayhmaWxlLCBpbmNvbWluZykgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaW5rIiwgZmlsZSwgZGlyZWN0aW9uOiBpbmNvbWluZyA/ICJpbmNvbWluZyIgOiAib3V0Z29pbmciIH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmxpbmsgPSBsaW5rOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBqb2lucyB0d28gc291cmNlcyBieSBhIGxvZ2ljYWwgb3BlcmF0b3IgKGFuZC9vcikuICovDQogICAgICBmdW5jdGlvbiBiaW5hcnlPcChsZWZ0LCBvcCwgcmlnaHQpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiYmluYXJ5b3AiLCBsZWZ0LCBvcCwgcmlnaHQgfTsNCiAgICAgIH0NCiAgICAgIFNvdXJjZXMuYmluYXJ5T3AgPSBiaW5hcnlPcDsNCiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggdGFrZXMgdGhlIGludGVyc2VjdGlvbiBvZiB0d28gc291cmNlcy4gKi8NCiAgICAgIGZ1bmN0aW9uIGFuZChsZWZ0LCByaWdodCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJiaW5hcnlvcCIsIGxlZnQsIG9wOiAiJiIsIHJpZ2h0IH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmFuZCA9IGFuZDsNCiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggdGFrZXMgdGhlIHVuaW9uIG9mIHR3byBzb3VyY2VzLiAqLw0KICAgICAgZnVuY3Rpb24gb3IobGVmdCwgcmlnaHQpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiYmluYXJ5b3AiLCBsZWZ0LCBvcDogInwiLCByaWdodCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5vciA9IG9yOw0KICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBuZWdhdGVzIHRoZSB1bmRlcmx5aW5nIHNvdXJjZS4gKi8NCiAgICAgIGZ1bmN0aW9uIG5lZ2F0ZShjaGlsZCkgew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJuZWdhdGUiLCBjaGlsZCB9Ow0KICAgICAgfQ0KICAgICAgU291cmNlcy5uZWdhdGUgPSBuZWdhdGU7DQogICAgICBmdW5jdGlvbiBlbXB0eSgpIHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZW1wdHkiIH07DQogICAgICB9DQogICAgICBTb3VyY2VzLmVtcHR5ID0gZW1wdHk7DQogIH0pKFNvdXJjZXMgfHwgKFNvdXJjZXMgPSB7fSkpOwoKICAvKiogRW1vamkgcmVnZXggd2l0aG91dCBhbnkgYWRkaXRpb25hbCBmbGFncy4gKi8NCiAgY29uc3QgRU1PSklfUkVHRVggPSBuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgIiIpOw0KICAvKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqLw0KICBjb25zdCBEVVJBVElPTl9UWVBFUyA9IHsNCiAgICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSwNCiAgICAgIHllYXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksDQogICAgICB5cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLA0KICAgICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksDQogICAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwNCiAgICAgIG1vbnRoczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwNCiAgICAgIG1vOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLA0KICAgICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLA0KICAgICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLA0KICAgICAgd2Vla3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIHdrOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksDQogICAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIHc6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwNCiAgICAgIGRheTogRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSksDQogICAgICBkYXlzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSwNCiAgICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLA0KICAgICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLA0KICAgICAgaG91cnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIGhyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksDQogICAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIGg6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwNCiAgICAgIG1pbnV0ZTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksDQogICAgICBtaW51dGVzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwNCiAgICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksDQogICAgICBtaW5zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwNCiAgICAgIG06IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLA0KICAgICAgc2Vjb25kOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwNCiAgICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLA0KICAgICAgc2VjOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwNCiAgICAgIHNlY3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLA0KICAgICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksDQogIH07DQogIC8qKiBTaG9ydGhhbmQgZm9yIGNvbW1vbiBkYXRlcyAocmVsYXRpdmUgdG8gcmlnaHQgbm93KS4gKi8NCiAgY29uc3QgREFURV9TSE9SVEhBTkRTID0gew0KICAgICAgbm93OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLA0KICAgICAgdG9kYXk6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZigiZGF5IiksDQogICAgICB5ZXN0ZXJkYXk6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkNCiAgICAgICAgICAuc3RhcnRPZigiZGF5IikNCiAgICAgICAgICAubWludXMoRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSkpLA0KICAgICAgdG9tb3Jyb3c6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkNCiAgICAgICAgICAuc3RhcnRPZigiZGF5IikNCiAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksDQogICAgICBzb3c6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZigid2VlayIpLA0KICAgICAgInN0YXJ0LW9mLXdlZWsiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoIndlZWsiKSwNCiAgICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigid2VlayIpLA0KICAgICAgImVuZC1vZi13ZWVrIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigid2VlayIpLA0KICAgICAgc295OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoInllYXIiKSwNCiAgICAgICJzdGFydC1vZi15ZWFyIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ5ZWFyIiksDQogICAgICBlb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoInllYXIiKSwNCiAgICAgICJlbmQtb2YteWVhciI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoInllYXIiKSwNCiAgICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJtb250aCIpLA0KICAgICAgInN0YXJ0LW9mLW1vbnRoIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJtb250aCIpLA0KICAgICAgZW9tOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKCJtb250aCIpLA0KICAgICAgImVuZC1vZi1tb250aCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoIm1vbnRoIiksDQogIH07DQogIC8qKg0KICAgKiBLZXl3b3JkcyB3aGljaCBjYW5ub3QgYmUgdXNlZCBhcyB2YXJpYWJsZXMgZGlyZWN0bHkuIFVzZSBgcm93Ljx0aGluZz5gIGlmIGl0IGlzIGEgdmFyaWFibGUgeW91IGhhdmUgZGVmaW5lZCBhbmQgd2FudA0KICAgKiB0byBhY2Nlc3MuDQogICAqLw0KICBjb25zdCBLRVlXT1JEUyA9IFsiRlJPTSIsICJXSEVSRSIsICJMSU1JVCIsICJHUk9VUCIsICJGTEFUVEVOIl07DQogIC8vLy8vLy8vLy8vLy8vLw0KICAvLyBVdGlsaXRpZXMgLy8NCiAgLy8vLy8vLy8vLy8vLy8vDQogIC8qKiBTcGxpdCBvbiB1bmVzY2FwZWQgcGlwZXMgaW4gYW4gaW5uZXIgbGluay4gKi8NCiAgZnVuY3Rpb24gc3BsaXRPblVuZXNjYXBlZFBpcGUobGluaykgew0KICAgICAgbGV0IHBpcGUgPSAtMTsNCiAgICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZigifCIsIHBpcGUgKyAxKSkgPj0gMCkgew0KICAgICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSAiXFwiKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICByZXR1cm4gW2xpbmsuc3Vic3RyaW5nKDAsIHBpcGUpLnJlcGxhY2UoL1xcXHwvZywgInwiKSwgbGluay5zdWJzdHJpbmcocGlwZSArIDEpXTsNCiAgICAgIH0NCiAgICAgIHJldHVybiBbbGluay5yZXBsYWNlKC9cXFx8L2csICJ8IiksIHVuZGVmaW5lZF07DQogIH0NCiAgLyoqIEF0dGVtcHQgdG8gcGFyc2UgdGhlIGluc2lkZSBvZiBhIGxpbmsgdG8gcHVsbCBvdXQgZGlzcGxheSBuYW1lLCBzdWJwYXRoLCBldGMuICovDQogIGZ1bmN0aW9uIHBhcnNlSW5uZXJMaW5rKHJhd2xpbmspIHsNCiAgICAgIGxldCBbbGluaywgZGlzcGxheV0gPSBzcGxpdE9uVW5lc2NhcGVkUGlwZShyYXdsaW5rKTsNCiAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTsNCiAgfQ0KICAvKiogQ3JlYXRlIGEgbGVmdC1hc3NvY2lhdGl2ZSBiaW5hcnkgcGFyc2VyIHdoaWNoIHBhcnNlcyB0aGUgZ2l2ZW4gc3ViLWVsZW1lbnQgYW5kIHNlcGFyYXRvci4gSGFuZGxlcyB3aGl0ZXNwYWNlLiAqLw0KICBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXIoY2hpbGQsIHNlcCwgY29tYmluZSkgew0KICAgICAgcmV0dXJuIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKGNoaWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHNlcCwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBjaGlsZCkubWFueSgpLCAoZmlyc3QsIHJlc3QpID0+IHsNCiAgICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkNCiAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0Ow0KICAgICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7DQogICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHJlc3QubGVuZ3RoOyBpbmRleCsrKSB7DQogICAgICAgICAgICAgIG5vZGUgPSBjb21iaW5lKG5vZGUsIHJlc3RbaW5kZXhdWzFdLCByZXN0W2luZGV4XVszXSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiBub2RlOw0KICAgICAgfSk7DQogIH0NCiAgZnVuY3Rpb24gY2hhaW5PcHQoYmFzZSwgLi4uZnVuY3MpIHsNCiAgICAgIHJldHVybiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmN1c3RvbSgoc3VjY2VzcywgZmFpbHVyZSkgPT4gew0KICAgICAgICAgIHJldHVybiAoaW5wdXQsIGkpID0+IHsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGJhc2UuXyhpbnB1dCwgaSk7DQogICAgICAgICAgICAgIGlmICghcmVzdWx0LnN0YXR1cykNCiAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHsNCiAgICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gZnVuYyhyZXN1bHQudmFsdWUpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7DQogICAgICAgICAgICAgICAgICBpZiAoIW5leHQuc3RhdHVzKQ0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgICAgICAgICByZXN1bHQgPSBuZXh0Ow0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgfTsNCiAgICAgIH0pOw0KICB9DQogIGNvbnN0IEVYUFJFU1NJT04gPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmNyZWF0ZUxhbmd1YWdlKHsNCiAgICAgIC8vIEEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyOyB0aGUgZGVjaW1hbCBwb2ludCBpcyBvcHRpb25hbC4NCiAgICAgIG51bWJlcjogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvLT9bMC05XSsoXC5bMC05XSspPy8pDQogICAgICAgICAgLm1hcChzdHIgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSkNCiAgICAgICAgICAuZGVzYygibnVtYmVyIiksDQogICAgICAvLyBBIHF1b3RlLXN1cnJvdW5kZWQgc3RyaW5nIHdoaWNoIHN1cHBvcnRzIGVzY2FwZSBjaGFyYWN0ZXJzICgnXCcpLg0KICAgICAgc3RyaW5nOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCciJykNCiAgICAgICAgICAudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmVzY2FwZUNoYXJhY3RlciwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5ub25lT2YoJyJcXCcpKQ0KICAgICAgICAgIC5hdExlYXN0KDApDQogICAgICAgICAgLm1hcChjaGFycyA9PiBjaGFycy5qb2luKCIiKSkpDQogICAgICAgICAgLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoJyInKSkNCiAgICAgICAgICAuZGVzYygic3RyaW5nIiksDQogICAgICBlc2NhcGVDaGFyYWN0ZXI6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIlxcIikNCiAgICAgICAgICAudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFueSkNCiAgICAgICAgICAubWFwKGVzY2FwZWQgPT4gew0KICAgICAgICAgIC8vIElmIHdlIGFyZSBlc2NhcGluZyBhIGJhY2tzbGFzaCBvciBhIHF1b3RlLCBwYXNzIGluIG9uIGluIGVzY2FwZWQgZm9ybQ0KICAgICAgICAgIGlmIChlc2NhcGVkID09PSAnIicpDQogICAgICAgICAgICAgIHJldHVybiAnIic7DQogICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICJcXCIpDQogICAgICAgICAgICAgIHJldHVybiAiXFwiOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmV0dXJuICJcXCIgKyBlc2NhcGVkOw0KICAgICAgfSksDQogICAgICAvLyBBIGJvb2xlYW4gdHJ1ZS9mYWxzZSB2YWx1ZS4NCiAgICAgIGJvb2w6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL3RydWV8ZmFsc2V8VHJ1ZXxGYWxzZS8pDQogICAgICAgICAgLm1hcChzdHIgPT4gc3RyLnRvTG93ZXJDYXNlKCkgPT0gInRydWUiKQ0KICAgICAgICAgIC5kZXNjKCJib29sZWFuICgndHJ1ZScgb3IgJ2ZhbHNlJykiKSwNCiAgICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLg0KICAgICAgdGFnOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIjIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bXlx1MjAwMC1cdTIwNkZcdTJFMDAtXHUyRTdGJyEiIyQlJigpKissLjo7PD0+P0BeYHt8fX5cW1xdXFxcc10vKS5kZXNjKCJ0ZXh0IikpLm1hbnkoKSwgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbigiIikpLmRlc2MoInRhZyAoJyNoZWxsby9zdHVmZicpIiksDQogICAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLg0KICAgICAgaWRlbnRpZmllcjogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXHB7TGV0dGVyfS91KSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bMC05XHB7TGV0dGVyfV8tXS91KSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSkubWFueSgpLCAoZmlyc3QsIHJlc3QpID0+IGZpcnN0ICsgcmVzdC5qb2luKCIiKSkuZGVzYygidmFyaWFibGUgaWRlbnRpZmllciIpLA0KICAgICAgLy8gQW4gT2JzaWRpYW4gbGluayBvZiB0aGUgZm9ybSBbWzxsaW5rPl1dLg0KICAgICAgbGluazogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXFtcWyhbXlxbXF1dKj8pXF1cXS91LCAxKQ0KICAgICAgICAgIC5tYXAobGlua0lubmVyID0+IHBhcnNlSW5uZXJMaW5rKGxpbmtJbm5lcikpDQogICAgICAgICAgLmRlc2MoImZpbGUgbGluayIpLA0KICAgICAgLy8gQW4gZW1iZWRkYWJsZSBsaW5rIHdoaWNoIGNhbiBzdGFydCB3aXRoICchJy4gVGhpcyBvdmVybGFwcyB3aXRoIHRoZSBub3JtYWwgbmVnYXRpb24gb3BlcmF0b3IsIHNvIGl0IGlzIG9ubHkNCiAgICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLg0KICAgICAgZW1iZWRMaW5rOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIhIikuYXRNb3N0KDEpLCBxLmxpbmssIChwLCBsKSA9PiB7DQogICAgICAgICAgaWYgKHAubGVuZ3RoID4gMCkNCiAgICAgICAgICAgICAgbC5lbWJlZCA9IHRydWU7DQogICAgICAgICAgcmV0dXJuIGw7DQogICAgICB9KS5kZXNjKCJmaWxlIGxpbmsiKSwNCiAgICAgIC8vIEJpbmFyeSBwbHVzIG9yIG1pbnVzIG9wZXJhdG9yLg0KICAgICAgYmluYXJ5UGx1c01pbnVzOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cK3wtLykNCiAgICAgICAgICAubWFwKHN0ciA9PiBzdHIpDQogICAgICAgICAgLmRlc2MoIicrJyBvciAnLSciKSwNCiAgICAgIC8vIEJpbmFyeSB0aW1lcyBvciBkaXZpZGUgb3BlcmF0b3IuDQogICAgICBiaW5hcnlNdWxEaXY6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1wqfFwvfCUvKQ0KICAgICAgICAgIC5tYXAoc3RyID0+IHN0cikNCiAgICAgICAgICAuZGVzYygiJyonIG9yICcvJyBvciAnJSciKSwNCiAgICAgIC8vIEJpbmFyeSBjb21wYXJpc29uIG9wZXJhdG9yLg0KICAgICAgYmluYXJ5Q29tcGFyZU9wOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC8+PXw8PXwhPXw+fDx8PS8pDQogICAgICAgICAgLm1hcChzdHIgPT4gc3RyKQ0KICAgICAgICAgIC5kZXNjKCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8JyIpLA0KICAgICAgLy8gQmluYXJ5IGJvb2xlYW4gY29tYmluYXRpb24gb3BlcmF0b3IuDQogICAgICBiaW5hcnlCb29sZWFuT3A6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL2FuZHxvcnwmfFx8L2kpDQogICAgICAgICAgLm1hcChzdHIgPT4gew0KICAgICAgICAgIGlmIChzdHIudG9Mb3dlckNhc2UoKSA9PSAiYW5kIikNCiAgICAgICAgICAgICAgcmV0dXJuICImIjsNCiAgICAgICAgICBlbHNlIGlmIChzdHIudG9Mb3dlckNhc2UoKSA9PSAib3IiKQ0KICAgICAgICAgICAgICByZXR1cm4gInwiOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmV0dXJuIHN0cjsNCiAgICAgIH0pDQogICAgICAgICAgLmRlc2MoIidhbmQnIG9yICdvciciKSwNCiAgICAgIC8vIEEgZGF0ZSB3aGljaCBjYW4gYmUgWVlZWS1NTVstRERUSEg6bW06c3NdLg0KICAgICAgcm9vdERhdGU6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1xkezR9LyksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCItIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHsNCiAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IE51bWJlci5wYXJzZUludCh5ZWFyKSwgbW9udGg6IE51bWJlci5wYXJzZUludChtb250aCkgfSk7DQogICAgICB9KS5kZXNjKCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10iKSwNCiAgICAgIGRhdGVTaG9ydGhhbmQ6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQoLi4uT2JqZWN0LmtleXMoREFURV9TSE9SVEhBTkRTKQ0KICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKQ0KICAgICAgICAgIC5tYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcpKSwNCiAgICAgIGRhdGU6IHEgPT4gY2hhaW5PcHQocS5yb290RGF0ZSwgKHltKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLSIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIGRheSkgPT4geW0uc2V0KHsgZGF5OiBOdW1iZXIucGFyc2VJbnQoZGF5KSB9KSksICh5bWQpID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJUIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoXywgaG91cikgPT4geW1kLnNldCh7IGhvdXI6IE51bWJlci5wYXJzZUludChob3VyKSB9KSksICh5bWRoKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT4geW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pKSwgKHltZGhtKSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKF8sIHNlY29uZCkgPT4geW1kaG0uc2V0KHsgc2Vjb25kOiBOdW1iZXIucGFyc2VJbnQoc2Vjb25kKSB9KSksICh5bWRobXMpID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIuIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9cZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+IHltZGhtcy5zZXQoeyBtaWxsaXNlY29uZDogTnVtYmVyLnBhcnNlSW50KG1pbGxpc2Vjb25kKSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3VjY2VlZCh5bWRobXMpIC8vIHBhc3MNCiAgICAgICksIChkdCkgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIisiKS5vcihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLSIpKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1xkezEsMn0oOlxkezJ9KT8vKSwgKHBtLCBocikgPT4gZHQuc2V0Wm9uZSgiVVRDIiArIHBtICsgaHIsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJaIiksICgpID0+IGR0LnNldFpvbmUoInV0YyIsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJbIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMucmVnZXhwKC9bMC05QS1aYS16Ky1cL10rL3UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiXSIpLCAoX2EsIHpvbmUsIF9iKSA9PiBkdC5zZXRab25lKHpvbmUsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSkpKQ0KICAgICAgICAgIC5hc3NlcnQoKGR0KSA9PiBkdC5pc1ZhbGlkLCAidmFsaWQgZGF0ZSIpDQogICAgICAgICAgLmRlc2MoImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXSIpLA0KICAgICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS4NCiAgICAgIGRhdGVQbHVzOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHEuZGF0ZVNob3J0aGFuZC5tYXAoZCA9PiBEQVRFX1NIT1JUSEFORFNbZF0oKSksIHEuZGF0ZSkuZGVzYygiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdIG9yIGluIHNob3J0aGFuZCIpLA0KICAgICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLg0KICAgICAgZHVyYXRpb25UeXBlOiBfID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KC4uLk9iamVjdC5rZXlzKERVUkFUSU9OX1RZUEVTKQ0KICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKQ0KICAgICAgICAgIC5tYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcpKSwNCiAgICAgIGR1cmF0aW9uOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHEubnVtYmVyLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZHVyYXRpb25UeXBlLCAoY291bnQsIF8sIHQpID0+IERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKHggPT4geCAqIGNvdW50KSkNCiAgICAgICAgICAuc2VwQnkxKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLm9yKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSkpDQogICAgICAgICAgLm1hcChkdXJhdGlvbnMgPT4gZHVyYXRpb25zLnJlZHVjZSgocCwgYykgPT4gcC5wbHVzKGMpKSkNCiAgICAgICAgICAuZGVzYygiZHVyYXRpb24gbGlrZSA0aHIybWluIiksDQogICAgICAvLyBBIHJhdyBudWxsIHZhbHVlLg0KICAgICAgcmF3TnVsbDogXyA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygibnVsbCIpLA0KICAgICAgLy8gU291cmNlIHBhcnNpbmcuDQogICAgICB0YWdTb3VyY2U6IHEgPT4gcS50YWcubWFwKHRhZyA9PiBTb3VyY2VzLnRhZyh0YWcpKSwNCiAgICAgIGNzdlNvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiY3N2KCIpLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5zdHJpbmcsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChfMSwgcGF0aCwgXzIpID0+IFNvdXJjZXMuY3N2KHBhdGgpKSwNCiAgICAgIGxpbmtJbmNvbWluZ1NvdXJjZTogcSA9PiBxLmxpbmsubWFwKGxpbmsgPT4gU291cmNlcy5saW5rKGxpbmsucGF0aCwgdHJ1ZSkpLA0KICAgICAgbGlua091dGdvaW5nU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJvdXRnb2luZygiKS5za2lwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEubGluaywgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBsaW5rLCBfMikgPT4gU291cmNlcy5saW5rKGxpbmsucGF0aCwgZmFsc2UpKSwNCiAgICAgIGZvbGRlclNvdXJjZTogcSA9PiBxLnN0cmluZy5tYXAoc3RyID0+IFNvdXJjZXMuZm9sZGVyKHN0cikpLA0KICAgICAgcGFyZW5zU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIoIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcS5zb3VyY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gZmllbGQpLA0KICAgICAgbmVnYXRlU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCItIiksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIhIikpLCBxLmF0b21Tb3VyY2UsIChfLCBzb3VyY2UpID0+IFNvdXJjZXMubmVnYXRlKHNvdXJjZSkpLA0KICAgICAgYXRvbVNvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLnBhcmVuc1NvdXJjZSwgcS5uZWdhdGVTb3VyY2UsIHEubGlua091dGdvaW5nU291cmNlLCBxLmxpbmtJbmNvbWluZ1NvdXJjZSwgcS5mb2xkZXJTb3VyY2UsIHEudGFnU291cmNlLCBxLmNzdlNvdXJjZSksDQogICAgICBiaW5hcnlPcFNvdXJjZTogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5hdG9tU291cmNlLCBxLmJpbmFyeUJvb2xlYW5PcC5tYXAocyA9PiBzKSwgU291cmNlcy5iaW5hcnlPcCksDQogICAgICBzb3VyY2U6IHEgPT4gcS5iaW5hcnlPcFNvdXJjZSwNCiAgICAgIC8vIEZpZWxkIHBhcnNpbmcuDQogICAgICB2YXJpYWJsZUZpZWxkOiBxID0+IHEuaWRlbnRpZmllcg0KICAgICAgICAgIC5jaGFpbihyID0+IHsNCiAgICAgICAgICBpZiAoS0VZV09SRFMuaW5jbHVkZXMoci50b1VwcGVyQ2FzZSgpKSkgew0KICAgICAgICAgICAgICByZXR1cm4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5mYWlsKCJWYXJpYWJsZSBmaWVsZHMgY2Fubm90IGJlIGEga2V5d29yZCAoIiArIEtFWVdPUkRTLmpvaW4oIiBvciAiKSArICIpIik7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICByZXR1cm4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdWNjZWVkKEZpZWxkcy52YXJpYWJsZShyKSk7DQogICAgICAgICAgfQ0KICAgICAgfSkNCiAgICAgICAgICAuZGVzYygidmFyaWFibGUiKSwNCiAgICAgIG51bWJlckZpZWxkOiBxID0+IHEubnVtYmVyLm1hcCh2YWwgPT4gRmllbGRzLmxpdGVyYWwodmFsKSkuZGVzYygibnVtYmVyIiksDQogICAgICBzdHJpbmdGaWVsZDogcSA9PiBxLnN0cmluZy5tYXAodmFsID0+IEZpZWxkcy5saXRlcmFsKHZhbCkpLmRlc2MoInN0cmluZyIpLA0KICAgICAgYm9vbEZpZWxkOiBxID0+IHEuYm9vbC5tYXAodmFsID0+IEZpZWxkcy5saXRlcmFsKHZhbCkpLmRlc2MoImJvb2xlYW4iKSwNCiAgICAgIGRhdGVGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiZGF0ZSgiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmRhdGVQbHVzLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChwcmVmaXgsIF8xLCBkYXRlLCBfMiwgcG9zdGZpeCkgPT4gRmllbGRzLmxpdGVyYWwoZGF0ZSkpLmRlc2MoImRhdGUiKSwNCiAgICAgIGR1cmF0aW9uRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoImR1cigiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmR1cmF0aW9uLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChwcmVmaXgsIF8xLCBkdXIsIF8yLCBwb3N0Zml4KSA9PiBGaWVsZHMubGl0ZXJhbChkdXIpKS5kZXNjKCJkdXJhdGlvbiIpLA0KICAgICAgbnVsbEZpZWxkOiBxID0+IHEucmF3TnVsbC5tYXAoXyA9PiBGaWVsZHMuTlVMTCksDQogICAgICBsaW5rRmllbGQ6IHEgPT4gcS5saW5rLm1hcChmID0+IEZpZWxkcy5saXRlcmFsKGYpKSwNCiAgICAgIGxpc3RGaWVsZDogcSA9PiBxLmZpZWxkDQogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpKQ0KICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJbIikuc2tpcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UudGhlbihwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiXSIpKSkNCiAgICAgICAgICAubWFwKGwgPT4gRmllbGRzLmxpc3QobCkpDQogICAgICAgICAgLmRlc2MoImxpc3QgKCdbMSwgMiwgM10nKSIpLA0KICAgICAgb2JqZWN0RmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5pZGVudGlmaWVyLm9yKHEuc3RyaW5nKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIjoiKS50cmltKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEuZmllbGQsIChuYW1lLCBfc2VwLCB2YWx1ZSkgPT4gew0KICAgICAgICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07DQogICAgICB9KQ0KICAgICAgICAgIC5zZXBCeShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiLCIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSkNCiAgICAgICAgICAud3JhcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygieyIpLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLnRoZW4ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIn0iKSkpDQogICAgICAgICAgLm1hcCh2YWxzID0+IHsNCiAgICAgICAgICBsZXQgcmVzID0ge307DQogICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykNCiAgICAgICAgICAgICAgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7DQogICAgICAgICAgcmV0dXJuIEZpZWxkcy5vYmplY3QocmVzKTsNCiAgICAgIH0pDQogICAgICAgICAgLmRlc2MoIm9iamVjdCAoJ3sgYTogMSwgYjogMiB9JykiKSwNCiAgICAgIGF0b21JbmxpbmVGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmRhdGUsIHEuZHVyYXRpb24ubWFwKGQgPT4gbm9ybWFsaXplRHVyYXRpb24oZCkpLCBxLnN0cmluZywgcS50YWcsIHEuZW1iZWRMaW5rLCBxLmJvb2wsIHEubnVtYmVyLCBxLnJhd051bGwpLA0KICAgICAgaW5saW5lRmllbGRMaXN0OiBxID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLmxvb2thaGVhZChxLmF0b21JbmxpbmVGaWVsZCkpLA0KICAgICAgaW5saW5lRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5hdG9tSW5saW5lRmllbGQsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PiBbZl0uY29uY2F0KGwpKSwgcS5hdG9tSW5saW5lRmllbGQpLA0KICAgICAgYXRvbUZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuYWx0KA0KICAgICAgLy8gUGxhY2UgZW1iZWQgbGlua3MgYWJvdmUgbmVnYXRlZCBmaWVsZHMgYXMgdGhleSBhcmUgdGhlIHNwZWNpYWwgcGFyc2VyIGNhc2UgJyFbW3RoaW5nXV0nIGFuZCBhcmUgZ2VuZXJhbGx5IHVuYW1iaWdpb3VzLg0KICAgICAgcS5lbWJlZExpbmsubWFwKGwgPT4gRmllbGRzLmxpdGVyYWwobCkpLCBxLm5lZ2F0ZWRGaWVsZCwgcS5saW5rRmllbGQsIHEubGlzdEZpZWxkLCBxLm9iamVjdEZpZWxkLCBxLmxhbWJkYUZpZWxkLCBxLnBhcmVuc0ZpZWxkLCBxLmJvb2xGaWVsZCwgcS5udW1iZXJGaWVsZCwgcS5zdHJpbmdGaWVsZCwgcS5kYXRlRmllbGQsIHEuZHVyYXRpb25GaWVsZCwgcS5udWxsRmllbGQsIHEudmFyaWFibGVGaWVsZCksDQogICAgICBpbmRleEZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHEuYXRvbUZpZWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLmFsdChxLmRvdFBvc3RmaXgsIHEuaW5kZXhQb3N0Zml4LCBxLmZ1bmN0aW9uUG9zdGZpeCkubWFueSgpLCAob2JqLCBwb3N0Zml4ZXMpID0+IHsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqOw0KICAgICAgICAgIGZvciAobGV0IHBvc3Qgb2YgcG9zdGZpeGVzKSB7DQogICAgICAgICAgICAgIHN3aXRjaCAocG9zdC50eXBlKSB7DQogICAgICAgICAgICAgICAgICBjYXNlICJkb3QiOg0KICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IEZpZWxkcy5pbmRleChyZXN1bHQsIEZpZWxkcy5saXRlcmFsKHBvc3QuZmllbGQpKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgIGNhc2UgImluZGV4IjoNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuaW5kZXgocmVzdWx0LCBwb3N0LmZpZWxkKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuZnVuYyhyZXN1bHQsIHBvc3QuZmllbGRzKTsNCiAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgfSksDQogICAgICBuZWdhdGVkRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIiEiKSwgcS5pbmRleEZpZWxkLCAoXywgZmllbGQpID0+IEZpZWxkcy5uZWdhdGUoZmllbGQpKS5kZXNjKCJuZWdhdGVkIGZpZWxkIiksDQogICAgICBwYXJlbnNGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZmllbGQsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gZmllbGQpLA0KICAgICAgbGFtYmRhRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocS5pZGVudGlmaWVyDQogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpKQ0KICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIoIikudHJpbShwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKSIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSksIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCI9PiIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5maWVsZCwgKGlkZW50LCBfaWdub3JlLCB2YWx1ZSkgPT4gew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsYW1iZGEiLCBhcmd1bWVudHM6IGlkZW50LCB2YWx1ZSB9Ow0KICAgICAgfSksDQogICAgICBkb3RQb3N0Zml4OiBxID0+IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIuIiksIHEuaWRlbnRpZmllciwgKF8sIGZpZWxkKSA9PiB7DQogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImRvdCIsIGZpZWxkOiBmaWVsZCB9Ow0KICAgICAgfSksDQogICAgICBpbmRleFBvc3RmaXg6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIlsiKSwgcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmZpZWxkLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCJdIiksIChfLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gew0KICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJpbmRleCIsIGZpZWxkIH07DQogICAgICB9KSwNCiAgICAgIGZ1bmN0aW9uUG9zdGZpeDogcSA9PiBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuZmllbGQuc2VwQnkocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMub3B0V2hpdGVzcGFjZSkpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMuc3RyaW5nKCIpIiksIChfLCBfMSwgZmllbGRzLCBfMiwgXzMpID0+IHsNCiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZnVuY3Rpb24iLCBmaWVsZHMgfTsNCiAgICAgIH0pLA0KICAgICAgLy8gVGhlIHByZWNlZGVuY2UgaGllcmFyY2h5IG9mIG9wZXJhdG9ycyAtIG11bHRpcGx5L2RpdmlkZSwgYWRkL3N1YnRyYWN0LCBjb21wYXJlLCBhbmQgdGhlbiBib29sZWFuIG9wZXJhdGlvbnMuDQogICAgICBiaW5hcnlNdWxEaXZGaWVsZDogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5pbmRleEZpZWxkLCBxLmJpbmFyeU11bERpdiwgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeVBsdXNNaW51c0ZpZWxkOiBxID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdkZpZWxkLCBxLmJpbmFyeVBsdXNNaW51cywgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeUNvbXBhcmVGaWVsZDogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlQbHVzTWludXNGaWVsZCwgcS5iaW5hcnlDb21wYXJlT3AsIEZpZWxkcy5iaW5hcnlPcCksDQogICAgICBiaW5hcnlCb29sZWFuRmllbGQ6IHEgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5Q29tcGFyZUZpZWxkLCBxLmJpbmFyeUJvb2xlYW5PcCwgRmllbGRzLmJpbmFyeU9wKSwNCiAgICAgIGJpbmFyeU9wRmllbGQ6IHEgPT4gcS5iaW5hcnlCb29sZWFuRmllbGQsDQogICAgICBmaWVsZDogcSA9PiBxLmJpbmFyeU9wRmllbGQsDQogIH0pOwoKICAvKiogUGFyc2UgaW5saW5lIGZpZWxkcyBhbmQgb3RoZXIgZW1iZWRkZWQgbWV0YWRhdGEgaW4gYSBsaW5lLiAqLw0KICAvKiogVGhlIHdyYXBwZXIgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBpbmxpbmUgZmllbGQuICovDQogIGNvbnN0IElOTElORV9GSUVMRF9XUkFQUEVSUyA9IE9iamVjdC5mcmVlemUoew0KICAgICAgIlsiOiAiXSIsDQogICAgICAiKCI6ICIpIiwNCiAgfSk7DQogIC8qKg0KICAgKiBGaW5kIGEgbWF0Y2hpbmcgY2xvc2luZyBicmFja2V0IHRoYXQgb2NjdXJzIGF0IG9yIGFmdGVyIGBzdGFydGAsIHJlc3BlY3RpbmcgbmVzdGluZyBhbmQgZXNjYXBlcy4gSWYgZm91bmQsDQogICAqIHJldHVybnMgdGhlIHZhbHVlIGNvbnRhaW5lZCB3aXRoaW4gYW5kIHRoZSBzdHJpbmcgaW5kZXggYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgdmFsdWUuDQogICAqLw0KICBmdW5jdGlvbiBmaW5kQ2xvc2luZyhsaW5lLCBzdGFydCwgb3BlbiwgY2xvc2UpIHsNCiAgICAgIGxldCBuZXN0aW5nID0gMDsNCiAgICAgIGxldCBlc2NhcGVkID0gZmFsc2U7DQogICAgICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGxpbmUubGVuZ3RoOyBpbmRleCsrKSB7DQogICAgICAgICAgbGV0IGNoYXIgPSBsaW5lLmNoYXJBdChpbmRleCk7DQogICAgICAgICAgLy8gQWxsb3dzIGZvciBkb3VibGUgZXNjYXBlcyBsaWtlICdcXCcgdG8gYmUgcmVuZGVyZWQgbm9ybWFsbHkuDQogICAgICAgICAgaWYgKGNoYXIgPT0gIlxcIikgew0KICAgICAgICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQ7DQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBJZiBlc2NhcGVkLCBpZ25vcmUgdGhlIG5leHQgY2hhcmFjdGVyIGZvciBjb21wdXRpbmcgbmVzdGluZywgcmVnYXJkbGVzcyBvZiB3aGF0IGl0IGlzLg0KICAgICAgICAgIGlmIChlc2NhcGVkKSB7DQogICAgICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChjaGFyID09IG9wZW4pDQogICAgICAgICAgICAgIG5lc3RpbmcrKzsNCiAgICAgICAgICBlbHNlIGlmIChjaGFyID09IGNsb3NlKQ0KICAgICAgICAgICAgICBuZXN0aW5nLS07DQogICAgICAgICAgLy8gT25seSBvY2N1cnMgaWYgd2UgYXJlIG9uIGEgY2xvc2UgY2hhcmFjdGVyIGFuZCB0cmhlcmUgaXMgbm8gbW9yZSBuZXN0aW5nLg0KICAgICAgICAgIGlmIChuZXN0aW5nIDwgMCkNCiAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBpbmRleCkudHJpbSgpLCBlbmRJbmRleDogaW5kZXggKyAxIH07DQogICAgICAgICAgZXNjYXBlZCA9IGZhbHNlOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgfQ0KICAvKiogRmluZCB0aGUgJzo6JyBzZXBhcmF0b3IgaW4gYW4gaW5saW5lIGZpZWxkLiAqLw0KICBmdW5jdGlvbiBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0KSB7DQogICAgICBsZXQgc2VwID0gbGluZS5pbmRleE9mKCI6OiIsIHN0YXJ0KTsNCiAgICAgIGlmIChzZXAgPCAwKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICByZXR1cm4geyBrZXk6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBzZXApLnRyaW0oKSwgdmFsdWVJbmRleDogc2VwICsgMiB9Ow0KICB9DQogIC8qKiBUcnkgdG8gY29tcGxldGVseSBwYXJzZSBhbiBpbmxpbmUgZmllbGQgc3RhcnRpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiBBc3N1ZW1zIGBzdGFydGAgaXMgb24gYSB3cmFwcGluZyBjaGFyYWN0ZXIuICovDQogIGZ1bmN0aW9uIGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIHN0YXJ0KSB7DQogICAgICBsZXQgb3BlbiA9IGxpbmUuY2hhckF0KHN0YXJ0KTsNCiAgICAgIGxldCBrZXkgPSBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0ICsgMSk7DQogICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIC8vIEZhaWwgdGhlIG1hdGNoIGlmIHdlIGZpbmQgYW55IHNlcGFyYXRvciBjaGFyYWN0ZXJzIChub3QgYWxsb3dlZCBpbiBrZXlzKS4NCiAgICAgIGZvciAobGV0IHNlcCBvZiBPYmplY3Qua2V5cyhJTkxJTkVfRklFTERfV1JBUFBFUlMpLmNvbmNhdChPYmplY3QudmFsdWVzKElOTElORV9GSUVMRF9XUkFQUEVSUykpKSB7DQogICAgICAgICAgaWYgKGtleS5rZXkuaW5jbHVkZXMoc2VwKSkNCiAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIH0NCiAgICAgIGxldCB2YWx1ZSA9IGZpbmRDbG9zaW5nKGxpbmUsIGtleS52YWx1ZUluZGV4LCBvcGVuLCBJTkxJTkVfRklFTERfV1JBUFBFUlNbb3Blbl0pOw0KICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIHJldHVybiB7DQogICAgICAgICAga2V5OiBrZXkua2V5LA0KICAgICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSwNCiAgICAgICAgICBzdGFydDogc3RhcnQsDQogICAgICAgICAgc3RhcnRWYWx1ZToga2V5LnZhbHVlSW5kZXgsDQogICAgICAgICAgZW5kOiB2YWx1ZS5lbmRJbmRleCwNCiAgICAgICAgICB3cmFwcGluZzogb3BlbiwNCiAgICAgIH07DQogIH0NCiAgLyoqIFBhcnNlIGEgdGV4dHVhbCBpbmxpbmUgZmllbGQgdmFsdWUgaW50byBzb21ldGhpbmcgd2UgY2FuIHdvcmsgd2l0aC4gKi8NCiAgZnVuY3Rpb24gcGFyc2VJbmxpbmVWYWx1ZSh2YWx1ZSkgew0KICAgICAgLy8gRW1wdHkgaW5saW5lIHZhbHVlcyAoaS5lLiwgbm8gdGV4dCkgc2hvdWxkIG1hcCB0byBudWxsIHRvIG1hdGNoIGxvbmctdGVybSBEYXRhdmlldyBzZW1hbnRpY3MuDQogICAgICAvLyBOdWxsIGlzIGFsc28gYSBtb3JlIHVuaXZlcnNhbCB0eXBlIHRvIGRlYWwgd2l0aCB0aGFuIHN0cmluZ3MsIHNpbmNlIGFsbCBmdW5jdGlvbnMgYWNjZXB0IG51bGxzLg0KICAgICAgaWYgKHZhbHVlLnRyaW0oKSA9PSAiIikNCiAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgIC8vIFRoZSBzdHJpcHBlZCBsaXRlcmFsIGZpZWxkIHBhcnNlciB1bmRlcnN0YW5kcyBhbGwgb2YgdGhlIG5vbi1hcnJheS9ub24tb2JqZWN0IGZpZWxkcyBhbmQgY2FuIHBhcnNlIHRoZW0gZm9yIHVzLg0KICAgICAgLy8gSW5saW5lIGZpZWxkIG9iamVjdHMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkOyBpbmxpbmUgYXJyYXkgb2JqZWN0cyBoYXZlIHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhcnNlcg0KICAgICAgLy8gc2VwYXJhdGVseS4NCiAgICAgIGxldCBpbmxpbmUgPSBFWFBSRVNTSU9OLmlubGluZUZpZWxkLnBhcnNlKHZhbHVlKTsNCiAgICAgIGlmIChpbmxpbmUuc3RhdHVzKQ0KICAgICAgICAgIHJldHVybiBpbmxpbmUudmFsdWU7DQogICAgICBlbHNlDQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICB9DQogIC8qKiBFeHRyYWN0cyBpbmxpbmUgZmllbGRzIG9mIHRoZSBmb3JtICdba2V5OjogdmFsdWVdJyBmcm9tIGEgbGluZSBvZiB0ZXh0LiBUaGlzIGlzIGRvbmUgaW4gYSByZWxhdGl2ZWx5DQogICAqICJyb2J1c3QiIHdheSB0byBhdm9pZCBmYWlsaW5nIGR1ZSB0byBiYWQgbmVzdGluZyBvciBvdGhlciBpbnRlcmZlcmluZyBNYXJrZG93biBzeW1ib2xzOg0KICAgKg0KICAgKiAtIExvb2sgZm9yIGFueSB3cmFwcGVycyAoJ1snIGFuZCAnKCcpIGluIHRoZSBsaW5lLCB0cnlpbmcgdG8gcGFyc2Ugd2hhdGV2ZXIgY29tZXMgYWZ0ZXIgaXQgYXMgYW4gaW5saW5lIGtleTo6Lg0KICAgKiAtIElmIHN1Y2Nlc3NmdWwsIHNjYW4gdW50aWwgeW91IGZpbmQgYSBtYXRjaGluZyBlbmQgYnJhY2tldCwgYW5kIHBhcnNlIHdoYXRldmVyIHJlbWFpbnMgYXMgYW4gaW5saW5lIHZhbHVlLg0KICAgKi8NCiAgZnVuY3Rpb24gZXh0cmFjdElubGluZUZpZWxkcyhsaW5lLCBpbmNsdWRlVGFza0ZpZWxkcyA9IGZhbHNlKSB7DQogICAgICBsZXQgZmllbGRzID0gW107DQogICAgICBmb3IgKGxldCB3cmFwcGVyIG9mIE9iamVjdC5rZXlzKElOTElORV9GSUVMRF9XUkFQUEVSUykpIHsNCiAgICAgICAgICBsZXQgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyKTsNCiAgICAgICAgICB3aGlsZSAoZm91bmRJbmRleCA+PSAwKSB7DQogICAgICAgICAgICAgIGxldCBwYXJzZWRGaWVsZCA9IGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIGZvdW5kSW5kZXgpOw0KICAgICAgICAgICAgICBpZiAoIXBhcnNlZEZpZWxkKSB7DQogICAgICAgICAgICAgICAgICBmb3VuZEluZGV4ID0gbGluZS5pbmRleE9mKHdyYXBwZXIsIGZvdW5kSW5kZXggKyAxKTsNCiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIGZpZWxkcy5wdXNoKHBhcnNlZEZpZWxkKTsNCiAgICAgICAgICAgICAgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyLCBwYXJzZWRGaWVsZC5lbmQpOw0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGlmIChpbmNsdWRlVGFza0ZpZWxkcykNCiAgICAgICAgICBmaWVsZHMgPSBmaWVsZHMuY29uY2F0KGV4dHJhY3RTcGVjaWFsVGFza0ZpZWxkcyhsaW5lKSk7DQogICAgICBmaWVsZHMuc29ydCgoYSwgYikgPT4gYS5zdGFydCAtIGIuc3RhcnQpOw0KICAgICAgbGV0IGZpbHRlcmVkRmllbGRzID0gW107DQogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgIGlmIChpID09IDAgfHwgZmlsdGVyZWRGaWVsZHNbZmlsdGVyZWRGaWVsZHMubGVuZ3RoIC0gMV0uZW5kIDwgZmllbGRzW2ldLnN0YXJ0KSB7DQogICAgICAgICAgICAgIGZpbHRlcmVkRmllbGRzLnB1c2goZmllbGRzW2ldKTsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICByZXR1cm4gZmlsdGVyZWRGaWVsZHM7DQogIH0NCiAgLyoqIFZhbGlkYXRlcyB0aGF0IGEgcmF3IGZpZWxkIG5hbWUgaGFzIGEgdmFsaWQgZm9ybS4gKi8NCiAgY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJUID0gcGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAobmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksICJ1IikpLCBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvWzAtOVxwe0xldHRlcn1cd1xzXy8tXSsvdSkpDQogICAgICAubWFueSgpDQogICAgICAubWFwKHBhcnRzID0+IHBhcnRzLmpvaW4oIiIpKTsNCiAgY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJTRVIgPSBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzLnJlZ2V4cCgvW14wLTlcd1xwe0xldHRlcn1dKi91KQ0KICAgICAgLnRoZW4oRlVMTF9MSU5FX0tFWV9QQVJUKQ0KICAgICAgLnNraXAocGFyc2ltbW9uX3VtZF9taW4uZXhwb3J0cy5yZWdleHAoL1tfXCp+YF0qL3UpKTsNCiAgLyoqIEF0dGVtcHQgdG8gZXh0cmFjdCBhIGZ1bGwtbGluZSBmaWVsZCAoS2V5OjogVmFsdWUgY29uc3VtaW5nIHRoZSBlbnRpcmUgY29udGVudCBsaW5lKS4gKi8NCiAgZnVuY3Rpb24gZXh0cmFjdEZ1bGxMaW5lRmllbGQodGV4dCkgew0KICAgICAgbGV0IHNlcCA9IGZpbmRTZXBhcmF0b3IodGV4dCwgMCk7DQogICAgICBpZiAoIXNlcCkNCiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgLy8gV2UgbmVlZCB0byBwb3N0LXByb2Nlc3MgdGhlIGtleSB0byBkcm9wIHVubmVjZXNzYXJ5IG9wZW5pbmcgYW5ub3RhdGlvbnMgYXMgd2VsbCBhcw0KICAgICAgLy8gZHJvcCBzdXJyb3VuZGluZyBNYXJrZG93bi4NCiAgICAgIGxldCByZWFsS2V5ID0gRlVMTF9MSU5FX0tFWV9QQVJTRVIucGFyc2Uoc2VwLmtleSk7DQogICAgICBpZiAoIXJlYWxLZXkuc3RhdHVzKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICByZXR1cm4gew0KICAgICAgICAgIGtleTogcmVhbEtleS52YWx1ZSwNCiAgICAgICAgICB2YWx1ZTogdGV4dC5zdWJzdHJpbmcoc2VwLnZhbHVlSW5kZXgpLnRyaW0oKSwNCiAgICAgICAgICBzdGFydDogMCwNCiAgICAgICAgICBzdGFydFZhbHVlOiBzZXAudmFsdWVJbmRleCwNCiAgICAgICAgICBlbmQ6IHRleHQubGVuZ3RoLA0KICAgICAgfTsNCiAgfQ0KICBjb25zdCBDUkVBVEVEX0RBVEVfUkVHRVggPSAvXHV7Mjc5NX1ccyooXGR7NH0tXGR7Mn0tXGR7Mn0pL3U7DQogIGNvbnN0IERVRV9EQVRFX1JFR0VYID0gLyg/Olx1ezFGNEM1fXxcdXsxRjRDNn18XHV7MUY1RDN9XHV7RkUwRn0/KVxzKihcZHs0fS1cZHsyfS1cZHsyfSkvdTsNCiAgY29uc3QgRE9ORV9EQVRFX1JFR0VYID0gL1x1ezI3MDV9XHMqKFxkezR9LVxkezJ9LVxkezJ9KS91Ow0KICBjb25zdCBTQ0hFRFVMRURfREFURV9SRUdFWCA9IC9bXHV7MjNGM31cdXsyMzFCfV1ccyooXGR7NH0tXGR7Mn0tXGR7Mn0pL3U7DQogIGNvbnN0IFNUQVJUX0RBVEVfUkVHRVggPSAvXHV7MUY2RUJ9XHMqKFxkezR9LVxkezJ9LVxkezJ9KS91Ow0KICBjb25zdCBFTU9KSV9SRUdFWEVTID0gWw0KICAgICAgeyByZWdleDogQ1JFQVRFRF9EQVRFX1JFR0VYLCBrZXk6ICJjcmVhdGVkIiB9LA0KICAgICAgeyByZWdleDogU1RBUlRfREFURV9SRUdFWCwga2V5OiAic3RhcnQiIH0sDQogICAgICB7IHJlZ2V4OiBTQ0hFRFVMRURfREFURV9SRUdFWCwga2V5OiAic2NoZWR1bGVkIiB9LA0KICAgICAgeyByZWdleDogRFVFX0RBVEVfUkVHRVgsIGtleTogImR1ZSIgfSwNCiAgICAgIHsgcmVnZXg6IERPTkVfREFURV9SRUdFWCwga2V5OiAiY29tcGxldGlvbiIgfSwNCiAgXTsNCiAgLyoqIFBhcnNlIHNwZWNpYWwgY29tcGxldGVkL2R1ZS9kb25lIHRhc2sgZmllbGRzIHdoaWNoIGFyZSBtYXJrZWQgdmlhIGVtb2ppLiAqLw0KICBmdW5jdGlvbiBleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZSkgew0KICAgICAgbGV0IHJlc3VsdHMgPSBbXTsNCiAgICAgIGZvciAobGV0IHsgcmVnZXgsIGtleSB9IG9mIEVNT0pJX1JFR0VYRVMpIHsNCiAgICAgICAgICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWMobGluZSk7DQogICAgICAgICAgaWYgKCFtYXRjaCkNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgcmVzdWx0cy5wdXNoKHsNCiAgICAgICAgICAgICAga2V5LA0KICAgICAgICAgICAgICB2YWx1ZTogbWF0Y2hbMV0sDQogICAgICAgICAgICAgIHN0YXJ0OiBtYXRjaC5pbmRleCwNCiAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogbWF0Y2guaW5kZXggKyAxLA0KICAgICAgICAgICAgICBlbmQ6IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoLA0KICAgICAgICAgICAgICB3cmFwcGluZzogImVtb2ppLXNob3J0aGFuZCIsDQogICAgICAgICAgfSk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0czsNCiAgfQoKICAvKiogQWxsIGV4dHJhY3RlZCBtYXJrZG93biBmaWxlIG1ldGFkYXRhIG9idGFpbmVkIGZyb20gYSBmaWxlLiAqLw0KICBjbGFzcyBQYWdlTWV0YWRhdGEgew0KICAgICAgY29uc3RydWN0b3IocGF0aCwgaW5pdCkgew0KICAgICAgICAgIHRoaXMucGF0aCA9IHBhdGg7DQogICAgICAgICAgdGhpcy5maWVsZHMgPSBuZXcgTWFwKCk7DQogICAgICAgICAgdGhpcy5mcm9udG1hdHRlciA9IHt9Ow0KICAgICAgICAgIHRoaXMudGFncyA9IG5ldyBTZXQoKTsNCiAgICAgICAgICB0aGlzLmFsaWFzZXMgPSBuZXcgU2V0KCk7DQogICAgICAgICAgdGhpcy5saW5rcyA9IFtdOw0KICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7DQogICAgICAgICAgdGhpcy5saXN0cyA9ICh0aGlzLmxpc3RzIHx8IFtdKS5tYXAobCA9PiBuZXcgTGlzdEl0ZW0obCkpOw0KICAgICAgfQ0KICAgICAgLyoqIENhbm9uaWNhbGl6ZSByYXcgbGlua3MgYW5kIG90aGVyIGRhdGEgaW4gcGFydGlhbCBkYXRhIHdpdGggbm9ybWFsaXplcnMsIHJldHVybmluZyBhIGNvbXBsZXRlZCBvYmplY3QuICovDQogICAgICBzdGF0aWMgY2Fub25pY2FsaXplKGRhdGEsIGxpbmtOb3JtYWxpemVyKSB7DQogICAgICAgICAgLy8gTXV0YXRlIHRoZSBkYXRhIGZvciBub3csIHdoaWNoIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEgYnV0Li4uIGFsbCB3ZWxsLg0KICAgICAgICAgIGlmIChkYXRhLmZyb250bWF0dGVyKSB7DQogICAgICAgICAgICAgIGRhdGEuZnJvbnRtYXR0ZXIgPSBWYWx1ZXMubWFwTGVhdmVzKGRhdGEuZnJvbnRtYXR0ZXIsIHQgPT4gVmFsdWVzLmlzTGluayh0KSA/IGxpbmtOb3JtYWxpemVyKHQpIDogdCk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChkYXRhLmZpZWxkcykgew0KICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgZGF0YS5maWVsZHMuZW50cmllcygpKSB7DQogICAgICAgICAgICAgICAgICBkYXRhLmZpZWxkcy5zZXQoa2V5LCBWYWx1ZXMubWFwTGVhdmVzKHZhbHVlLCB0ID0+IChWYWx1ZXMuaXNMaW5rKHQpID8gbGlua05vcm1hbGl6ZXIodCkgOiB0KSkpOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChkYXRhLmxpc3RzKSB7DQogICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgZGF0YS5saXN0cykgew0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGl0ZW0uZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmllbGRzLnNldChrZXksIHZhbHVlLm1hcCh4ID0+IFZhbHVlcy5tYXBMZWF2ZXMoeCwgdCA9PiAoVmFsdWVzLmlzTGluayh0KSA/IGxpbmtOb3JtYWxpemVyKHQpIDogdCkpKSk7DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGRhdGEubGlua3MpIHsNCiAgICAgICAgICAgICAgZGF0YS5saW5rcyA9IGRhdGEubGlua3MubWFwKGwgPT4gbGlua05vcm1hbGl6ZXIobCkpOw0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBUaGlzIGlzIHByZXR0eSB1Z2x5LCBidXQgaXQncyBub3QgcG9zc2libGUgdG8gbm9ybWFsaXplIG9uIHRoZSB3b3JrZXIgdGhyZWFkIHRoYXQgZG9lcyBwYXJzaW5nLg0KICAgICAgICAgIC8vIFRoZSBiZXN0IHdheSB0byBpbXByb3ZlIHRoaXMgaXMgdG8gaW5zdGVhZCBqdXN0IGNhbm9uaWNhbGl6ZSB0aGUgZW50aXJlIGRhdGEgb2JqZWN0OyBJIGNhbiB0cnkgdG8NCiAgICAgICAgICAvLyBvcHRpbWl6ZSBgVmFsdWVzLm1hcExlYXZlc2AgdG8gb25seSBtdXRhdGUgaWYgaXQgYWN0dWFsbHkgY2hhbmdlcyB0aGluZ3MuDQogICAgICAgICAgcmV0dXJuIG5ldyBQYWdlTWV0YWRhdGEoZGF0YS5wYXRoLCBkYXRhKTsNCiAgICAgIH0NCiAgICAgIC8qKiBUaGUgbmFtZSAoYmFzZWQgb24gcGF0aCkgb2YgdGhpcyBmaWxlLiAqLw0KICAgICAgbmFtZSgpIHsNCiAgICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCk7DQogICAgICB9DQogICAgICAvKiogVGhlIGNvbnRhaW5pbmcgZm9sZGVyIChiYXNlZCBvbiBwYXRoKSBvZiB0aGlzIGZpbGUuICovDQogICAgICBmb2xkZXIoKSB7DQogICAgICAgICAgcmV0dXJuIGdldFBhcmVudEZvbGRlcih0aGlzLnBhdGgpOw0KICAgICAgfQ0KICAgICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhpcyBmaWxlIChsaWtlbHkgJ21kJykuICovDQogICAgICBleHRlbnNpb24oKSB7DQogICAgICAgICAgcmV0dXJuIGdldEV4dGVuc2lvbih0aGlzLnBhdGgpOw0KICAgICAgfQ0KICAgICAgLyoqIFJldHVybiBhIHNldCBvZiB0YWdzIEFORCBhbGwgb2YgdGhlaXIgcGFyZW50IHRhZ3MgKHNvICNoZWxsby95ZXMgd291bGQgYmVjb21lICNoZWxsbywgI2hlbGxvL3llcykuICovDQogICAgICBmdWxsVGFncygpIHsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOw0KICAgICAgICAgIGZvciAobGV0IHRhZyBvZiB0aGlzLnRhZ3MpIHsNCiAgICAgICAgICAgICAgZm9yIChsZXQgc3VidGFnIG9mIGV4dHJhY3RTdWJ0YWdzKHRhZykpDQogICAgICAgICAgICAgICAgICByZXN1bHQuYWRkKHN1YnRhZyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICB9DQogICAgICAvKiogQ29udmVydCBhbGwgbGlua3MgaW4gdGhpcyBmaWxlIHRvIGZpbGUgbGlua3MuICovDQogICAgICBmaWxlTGlua3MoKSB7DQogICAgICAgICAgLy8gV2Ugd2FudCB0byBtYWtlIHRoZW0gZGlzdGluY3QsIGJ1dCB3aGVyZSBsaW5rcyBhcmUgbm90IHJhdyBsaW5rcyB3ZQ0KICAgICAgICAgIC8vIG5vdyBrZWVwIHRoZSBhZGRpdGlvbmFsIG1ldGFkYXRhLg0KICAgICAgICAgIGxldCBkaXN0aW5jdExpbmtzID0gbmV3IFNldCh0aGlzLmxpbmtzKTsNCiAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkaXN0aW5jdExpbmtzKTsNCiAgICAgIH0NCiAgICAgIC8qKiBNYXAgdGhpcyBtZXRhZGF0YSB0byBhIGZ1bGwgb2JqZWN0OyB1c2VzIHRoZSBpbmRleCBmb3IgYWRkaXRpb25hbCBkYXRhIGxvb2t1cHMuICAqLw0KICAgICAgc2VyaWFsaXplKGluZGV4LCBjYWNoZSkgew0KICAgICAgICAgIC8vIENvbnZlcnQgbGlzdCBpdGVtcyB2aWEgdGhlIGNhbm9uaWNhbGl6YXRpb24gY2FjaGUuDQogICAgICAgICAgbGV0IHJlYWxDYWNoZSA9IGNhY2hlICE9PSBudWxsICYmIGNhY2hlICE9PSB2b2lkIDAgPyBjYWNoZSA6IG5ldyBMaXN0U2VyaWFsaXphdGlvbkNhY2hlKHRoaXMubGlzdHMpOw0KICAgICAgICAgIGxldCByZXN1bHQgPSB7DQogICAgICAgICAgICAgIGZpbGU6IHsNCiAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCwNCiAgICAgICAgICAgICAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIoKSwNCiAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSgpLA0KICAgICAgICAgICAgICAgICAgbGluazogTGluay5maWxlKHRoaXMucGF0aCksDQogICAgICAgICAgICAgICAgICBvdXRsaW5rczogdGhpcy5maWxlTGlua3MoKSwNCiAgICAgICAgICAgICAgICAgIGlubGlua3M6IEFycmF5LmZyb20oaW5kZXgubGlua3MuZ2V0SW52ZXJzZSh0aGlzLnBhdGgpKS5tYXAobCA9PiBMaW5rLmZpbGUobCkpLA0KICAgICAgICAgICAgICAgICAgZXRhZ3M6IEFycmF5LmZyb20odGhpcy50YWdzKSwNCiAgICAgICAgICAgICAgICAgIHRhZ3M6IEFycmF5LmZyb20odGhpcy5mdWxsVGFncygpKSwNCiAgICAgICAgICAgICAgICAgIGFsaWFzZXM6IEFycmF5LmZyb20odGhpcy5hbGlhc2VzKSwNCiAgICAgICAgICAgICAgICAgIGxpc3RzOiB0aGlzLmxpc3RzLm1hcChsID0+IHJlYWxDYWNoZS5nZXQobC5saW5lKSksDQogICAgICAgICAgICAgICAgICB0YXNrczogdGhpcy5saXN0cy5maWx0ZXIobCA9PiAhIWwudGFzaykubWFwKGwgPT4gcmVhbENhY2hlLmdldChsLmxpbmUpKSwNCiAgICAgICAgICAgICAgICAgIGN0aW1lOiB0aGlzLmN0aW1lLA0KICAgICAgICAgICAgICAgICAgY2RheTogc3RyaXBUaW1lKHRoaXMuY3RpbWUpLA0KICAgICAgICAgICAgICAgICAgbXRpbWU6IHRoaXMubXRpbWUsDQogICAgICAgICAgICAgICAgICBtZGF5OiBzdHJpcFRpbWUodGhpcy5tdGltZSksDQogICAgICAgICAgICAgICAgICBzaXplOiB0aGlzLnNpemUsDQogICAgICAgICAgICAgICAgICBzdGFycmVkOiBpbmRleC5zdGFycmVkLnN0YXJyZWQodGhpcy5wYXRoKSwNCiAgICAgICAgICAgICAgICAgIGZyb250bWF0dGVyOiBWYWx1ZXMuZGVlcENvcHkodGhpcy5mcm9udG1hdHRlciksDQogICAgICAgICAgICAgICAgICBleHQ6IHRoaXMuZXh0ZW5zaW9uKCksDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgfTsNCiAgICAgICAgICAvLyBBZGQgdGhlIGN1cnJlbnQgZGF5IGlmIHByZXNlbnQuDQogICAgICAgICAgaWYgKHRoaXMuZGF5KQ0KICAgICAgICAgICAgICByZXN1bHQuZmlsZS5kYXkgPSB0aGlzLmRheTsNCiAgICAgICAgICAvLyBUaGVuIGFwcGVuZCB0aGUgY29tcHV0ZWQgZmllbGRzLg0KICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmZpZWxkcy5lbnRyaWVzKCkpIHsNCiAgICAgICAgICAgICAgaWYgKGtleSBpbiByZXN1bHQpDQogICAgICAgICAgICAgICAgICBjb250aW51ZTsgLy8gRG9uJ3QgYWxsb3cgZmllbGRzIHRvIG92ZXJyaWRlIGV4aXN0aW5nIGtleXMuDQogICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICB9DQogIH0NCiAgLyoqIEEgbGlzdCBpdGVtIGluc2lkZSBvZiBhIGxpc3QuICovDQogIGNsYXNzIExpc3RJdGVtIHsNCiAgICAgIGNvbnN0cnVjdG9yKGluaXQpIHsNCiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpOw0KICAgICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMgfHwgbmV3IE1hcCgpOw0KICAgICAgICAgIHRoaXMudGFncyA9IHRoaXMudGFncyB8fCBuZXcgU2V0KCk7DQogICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gfHwgW107DQogICAgICAgICAgdGhpcy5saW5rcyA9IHRoaXMubGlua3MgfHwgW107DQogICAgICB9DQogICAgICBpZCgpIHsNCiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlKCkucGF0aH0tJHt0aGlzLmxpbmV9YDsNCiAgICAgIH0NCiAgICAgIGZpbGUoKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMubGluay50b0ZpbGUoKTsNCiAgICAgIH0NCiAgICAgIG1hcmtkb3duKCkgew0KICAgICAgICAgIGlmICh0aGlzLnRhc2spDQogICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnN5bWJvbH0gWyR7dGhpcy50YXNrLmNvbXBsZXRlZCA/ICJ4IiA6ICIgIn1dICR7dGhpcy50ZXh0fWA7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zeW1ib2x9ICR7dGhpcy50ZXh0fWA7DQogICAgICB9DQogICAgICBjcmVhdGVkKCkgew0KICAgICAgICAgIHZhciBfYSwgX2IsIF9jOw0KICAgICAgICAgIHJldHVybiAoX2MgPSAoKF9iID0gKF9hID0gdGhpcy5maWVsZHMuZ2V0KCJjcmVhdGVkIikpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRoaXMuZmllbGRzLmdldCgiY3RpbWUiKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJjZGF5IikpKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2NbMF07DQogICAgICB9DQogICAgICBkdWUoKSB7DQogICAgICAgICAgdmFyIF9hLCBfYiwgX2M7DQogICAgICAgICAgcmV0dXJuIChfYyA9ICgoX2IgPSAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoImR1ZSIpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmZpZWxkcy5nZXQoImR1ZXRpbWUiKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJkdWVkYXkiKSkpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfY1swXTsNCiAgICAgIH0NCiAgICAgIGNvbXBsZXRlZCgpIHsNCiAgICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7DQogICAgICAgICAgcmV0dXJuIChfZCA9ICgoX2MgPSAoX2IgPSAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoImNvbXBsZXRlZCIpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmZpZWxkcy5nZXQoImNvbXBsZXRpb24iKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogdGhpcy5maWVsZHMuZ2V0KCJjb21wdGltZSIpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiB0aGlzLmZpZWxkcy5nZXQoImNvbXBkYXkiKSkpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZFswXTsNCiAgICAgIH0NCiAgICAgIHN0YXJ0KCkgew0KICAgICAgICAgIHZhciBfYTsNCiAgICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5maWVsZHMuZ2V0KCJzdGFydCIpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMF07DQogICAgICB9DQogICAgICBzY2hlZHVsZWQoKSB7DQogICAgICAgICAgdmFyIF9hOw0KICAgICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmZpZWxkcy5nZXQoInNjaGVkdWxlZCIpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMF07DQogICAgICB9DQogICAgICAvKiogQ3JlYXRlIGFuIEFQSS1mcmllbmRseSBjb3B5IG9mIHRoaXMgbGlzdCBpdGVtLiBEZS1kdXBsaWNhdGlvbiBpcyBkb25lIHZpYSB0aGUgcHJvdmlkZWQgY2FjaGUuICovDQogICAgICBzZXJpYWxpemUoY2FjaGUpIHsNCiAgICAgICAgICAvLyBNYXAgY2hpbGRyZW4gdG8gdGhlaXIgc2VyaWFsaXplZC9kZS1kdXBsaWNhdGVkIGVxdWl2YWxlbnRzIHJpZ2h0IGF3YXkuDQogICAgICAgICAgbGV0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5tYXAobCA9PiBjYWNoZS5nZXQobCkpLmZpbHRlcigobCkgPT4gbCAhPT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICBsZXQgcmVzdWx0ID0gew0KICAgICAgICAgICAgICBzeW1ib2w6IHRoaXMuc3ltYm9sLA0KICAgICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmssDQogICAgICAgICAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbiwNCiAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0LA0KICAgICAgICAgICAgICB0YWdzOiBBcnJheS5mcm9tKHRoaXMudGFncyksDQogICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZSwNCiAgICAgICAgICAgICAgbGluZUNvdW50OiB0aGlzLmxpbmVDb3VudCwNCiAgICAgICAgICAgICAgbGlzdDogdGhpcy5saXN0LA0KICAgICAgICAgICAgICBvdXRsaW5rczogQXJyYXkuZnJvbSh0aGlzLmxpbmtzKSwNCiAgICAgICAgICAgICAgcGF0aDogdGhpcy5saW5rLnBhdGgsDQogICAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbiwNCiAgICAgICAgICAgICAgdGFzazogISF0aGlzLnRhc2ssDQogICAgICAgICAgICAgIGFubm90YXRlZDogdGhpcy5maWVsZHMuc2l6ZSA+IDAsDQogICAgICAgICAgICAgIHBvc2l0aW9uOiBWYWx1ZXMuZGVlcENvcHkodGhpcy5wb3NpdGlvbiksDQogICAgICAgICAgICAgIHN1YnRhc2tzOiBjaGlsZHJlbiwNCiAgICAgICAgICAgICAgcmVhbDogISF0aGlzLnRhc2ssDQogICAgICAgICAgICAgIGhlYWRlcjogdGhpcy5zZWN0aW9uLCAvLyBAZGVwcmVjYXRlZCwgdXNlICdpdGVtLnNlY3Rpb24nIGluc3RlYWQuDQogICAgICAgICAgfTsNCiAgICAgICAgICBpZiAodGhpcy5wYXJlbnQgfHwgdGhpcy5wYXJlbnQgPT09IDApDQogICAgICAgICAgICAgIHJlc3VsdC5wYXJlbnQgPSB0aGlzLnBhcmVudDsNCiAgICAgICAgICBpZiAodGhpcy5ibG9ja0lkKQ0KICAgICAgICAgICAgICByZXN1bHQuYmxvY2tJZCA9IHRoaXMuYmxvY2tJZDsNCiAgICAgICAgICBhZGRGaWVsZHModGhpcy5maWVsZHMsIHJlc3VsdCk7DQogICAgICAgICAgaWYgKHRoaXMudGFzaykgew0KICAgICAgICAgICAgICByZXN1bHQuc3RhdHVzID0gdGhpcy50YXNrLnN0YXR1czsNCiAgICAgICAgICAgICAgcmVzdWx0LmNoZWNrZWQgPSB0aGlzLnRhc2suY2hlY2tlZDsNCiAgICAgICAgICAgICAgcmVzdWx0LmNvbXBsZXRlZCA9IHRoaXMudGFzay5jb21wbGV0ZWQ7DQogICAgICAgICAgICAgIHJlc3VsdC5mdWxseUNvbXBsZXRlZCA9IHRoaXMudGFzay5mdWxseUNvbXBsZXRlZDsNCiAgICAgICAgICAgICAgbGV0IGNyZWF0ZWQgPSB0aGlzLmNyZWF0ZWQoKSwgZHVlID0gdGhpcy5kdWUoKSwgY29tcGxldGVkID0gdGhpcy5jb21wbGV0ZWQoKSwgc3RhcnQgPSB0aGlzLnN0YXJ0KCksIHNjaGVkdWxlZCA9IHRoaXMuc2NoZWR1bGVkKCk7DQogICAgICAgICAgICAgIGlmIChjcmVhdGVkKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0LmNyZWF0ZWQgPSBWYWx1ZXMuZGVlcENvcHkoY3JlYXRlZCk7DQogICAgICAgICAgICAgIGlmIChkdWUpDQogICAgICAgICAgICAgICAgICByZXN1bHQuZHVlID0gVmFsdWVzLmRlZXBDb3B5KGR1ZSk7DQogICAgICAgICAgICAgIGlmIChjb21wbGV0ZWQpDQogICAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGlvbiA9IFZhbHVlcy5kZWVwQ29weShjb21wbGV0ZWQpOw0KICAgICAgICAgICAgICBpZiAoc3RhcnQpDQogICAgICAgICAgICAgICAgICByZXN1bHQuc3RhcnQgPSBWYWx1ZXMuZGVlcENvcHkoc3RhcnQpOw0KICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVkKQ0KICAgICAgICAgICAgICAgICAgcmVzdWx0LnNjaGVkdWxlZCA9IFZhbHVlcy5kZWVwQ29weShzY2hlZHVsZWQpOw0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgfQ0KICB9DQogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KICAvLyBDb252ZXJzaW9uIC8gU2VyaWFsaXphdGlvbiBVdGlsaXRpZXMgLy8NCiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogIC8qKiBEZS1kdXBsaWNhdGVzIGxpc3QgaXRlbXMgYWNyb3NzIHNlY3Rpb24gbWV0YWRhdGEgYW5kIHBhZ2UgbWV0YWRhdGEuICovDQogIGNsYXNzIExpc3RTZXJpYWxpemF0aW9uQ2FjaGUgew0KICAgICAgY29uc3RydWN0b3IobGlzdEl0ZW1zKSB7DQogICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB7fTsNCiAgICAgICAgICB0aGlzLmNhY2hlID0ge307DQogICAgICAgICAgdGhpcy5zZWVuID0gbmV3IFNldCgpOw0KICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgbGlzdEl0ZW1zKQ0KICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtc1tpdGVtLmxpbmVdID0gaXRlbTsNCiAgICAgIH0NCiAgICAgIGdldChsaW5lbm8pIHsNCiAgICAgICAgICBpZiAobGluZW5vIGluIHRoaXMuY2FjaGUpDQogICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlW2xpbmVub107DQogICAgICAgICAgZWxzZSBpZiAodGhpcy5zZWVuLmhhcyhsaW5lbm8pKSB7DQogICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBEYXRhdmlldzogRW5jb3VudGVyZWQgYSBjaXJjdWxhciBsaXN0IChsaW5lIG51bWJlciAke2xpbmVub307IGNoaWxkcmVuICR7dGhpcy5saXN0SXRlbXNbbGluZW5vXS5jaGlsZHJlbi5qb2luKCIsICIpfSlgKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgICAgICB9DQogICAgICAgICAgdGhpcy5zZWVuLmFkZChsaW5lbm8pOw0KICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmxpc3RJdGVtc1tsaW5lbm9dLnNlcmlhbGl6ZSh0aGlzKTsNCiAgICAgICAgICB0aGlzLmNhY2hlW2xpbmVub10gPSByZXN1bHQ7DQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgIH0NCiAgfQ0KICBmdW5jdGlvbiBhZGRGaWVsZHMoZmllbGRzLCB0YXJnZXQpIHsNCiAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlc10gb2YgZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0KQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICB0YXJnZXRba2V5XSA9IHZhbHVlcy5sZW5ndGggPT0gMSA/IHZhbHVlc1swXSA6IHZhbHVlczsNCiAgICAgIH0NCiAgICAgIHJldHVybiB0YXJnZXQ7DQogIH0KCiAgLyoqIENvbW1vbiB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgdGFncywgbGlua3MsIGFuZCBvdGhlciBidXNpbmVzcyBmcm9tIG1ldGFkYXRhLiAqLw0KICBjb25zdCBQT1RFTlRJQUxfVEFHX01BVENIRVIgPSAvI1teXHMsO1wuOiFcPyciYCgpXFtcXVx7XH1dKy9naXU7DQogIC8qKiBFeHRyYWN0IGFsbCB0YWdzIGZyb20gdGhlIGdpdmVuIHNvdXJjZSBzdHJpbmcuICovDQogIGZ1bmN0aW9uIGV4dHJhY3RUYWdzJDEoc291cmNlKSB7DQogICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOw0KICAgICAgbGV0IG1hdGNoZXMgPSBzb3VyY2UubWF0Y2hBbGwoUE9URU5USUFMX1RBR19NQVRDSEVSKTsNCiAgICAgIGZvciAobGV0IG1hdGNoIG9mIG1hdGNoZXMpIHsNCiAgICAgICAgICBsZXQgcGFyc2VkID0gRVhQUkVTU0lPTi50YWcucGFyc2UobWF0Y2hbMF0pOw0KICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXN1bHQuYWRkKHBhcnNlZC52YWx1ZSk7DQogICAgICB9DQogICAgICByZXR1cm4gcmVzdWx0Ow0KICB9CgogIC8qKiBJbXBvcnRlciBmb3IgbWFya2Rvd24gZG9jdW1lbnRzLiAqLw0KICAvKiogRXh0cmFjdCBtYXJrZG93biBtZXRhZGF0YSBmcm9tIHRoZSBnaXZlbiBPYnNpZGlhbiBtYXJrZG93biBmaWxlLiAqLw0KICBmdW5jdGlvbiBwYXJzZVBhZ2UocGF0aCwgY29udGVudHMsIHN0YXQsIG1ldGFkYXRhKSB7DQogICAgICBsZXQgdGFncyA9IG5ldyBTZXQoKTsNCiAgICAgIGxldCBhbGlhc2VzID0gbmV3IFNldCgpOw0KICAgICAgbGV0IGZpZWxkcyA9IG5ldyBNYXAoKTsNCiAgICAgIGxldCBsaW5rcyA9IFtdOw0KICAgICAgLy8gRmlsZSB0YWdzLCBpbmNsdWRpbmcgZnJvbnQtbWF0dGVyIGFuZCBpbi1maWxlIHRhZ3MuDQogICAgICAobWV0YWRhdGEudGFncyB8fCBbXSkuZm9yRWFjaCh0ID0+IHRhZ3MuYWRkKHQudGFnLnN0YXJ0c1dpdGgoIiMiKSA/IHQudGFnIDogIiMiICsgdC50YWcpKTsNCiAgICAgIC8vIEZyb250LW1hdHRlciBmaWxlIHRhZ3MsIGFsaWFzZXMsIEFORCBmcm9udG1hdHRlciBwcm9wZXJ0aWVzLg0KICAgICAgaWYgKG1ldGFkYXRhLmZyb250bWF0dGVyKSB7DQogICAgICAgICAgZm9yIChsZXQgdGFnIG9mIGV4dHJhY3RUYWdzKG1ldGFkYXRhLmZyb250bWF0dGVyKSkgew0KICAgICAgICAgICAgICBpZiAoIXRhZy5zdGFydHNXaXRoKCIjIikpDQogICAgICAgICAgICAgICAgICB0YWcgPSAiIyIgKyB0YWc7DQogICAgICAgICAgICAgIHRhZ3MuYWRkKHRhZyk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGZvciAobGV0IGFsaWFzIG9mIGV4dHJhY3RBbGlhc2VzKG1ldGFkYXRhLmZyb250bWF0dGVyKSB8fCBbXSkNCiAgICAgICAgICAgICAgYWxpYXNlcy5hZGQoYWxpYXMpOw0KICAgICAgICAgIGxldCBmcm9udEZpZWxkcyA9IHBhcnNlRnJvbnRtYXR0ZXIobWV0YWRhdGEuZnJvbnRtYXR0ZXIpOw0KICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmcm9udEZpZWxkcykpIHsNCiAgICAgICAgICAgICAgaWYgKGtleSA9PSAicG9zaXRpb24iKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIGFkZElubGluZUZpZWxkKGtleSwgdmFsdWUsIGZpZWxkcyk7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgLy8gTGlua3MgaW4gbWV0YWRhdGEuDQogICAgICBjb25zdCBsaW5rc0J5TGluZSA9IHt9Ow0KICAgICAgZm9yIChsZXQgcmF3TGluayBvZiBtZXRhZGF0YS5saW5rcyB8fCBbXSkgew0KICAgICAgICAgIGNvbnN0IGxpbmsgPSBMaW5rLmluZmVyKHJhd0xpbmsubGluaywgZmFsc2UsIHJhd0xpbmsuZGlzcGxheVRleHQpOw0KICAgICAgICAgIGNvbnN0IGxpbmUgPSByYXdMaW5rLnBvc2l0aW9uLnN0YXJ0LmxpbmU7DQogICAgICAgICAgbGlua3MucHVzaChsaW5rKTsNCiAgICAgICAgICBpZiAoIShsaW5lIGluIGxpbmtzQnlMaW5lKSkNCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0gPSBbbGlua107DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBsaW5rc0J5TGluZVtsaW5lXS5wdXNoKGxpbmspOw0KICAgICAgfQ0KICAgICAgLy8gRW1iZWQgTGlua3MgaW4gbWV0YWRhdGEuDQogICAgICBmb3IgKGxldCByYXdFbWJlZCBvZiBtZXRhZGF0YS5lbWJlZHMgfHwgW10pIHsNCiAgICAgICAgICBjb25zdCBsaW5rID0gTGluay5pbmZlcihyYXdFbWJlZC5saW5rLCB0cnVlLCByYXdFbWJlZC5kaXNwbGF5VGV4dCk7DQogICAgICAgICAgY29uc3QgbGluZSA9IHJhd0VtYmVkLnBvc2l0aW9uLnN0YXJ0LmxpbmU7DQogICAgICAgICAgbGlua3MucHVzaChsaW5rKTsNCiAgICAgICAgICBpZiAoIShsaW5lIGluIGxpbmtzQnlMaW5lKSkNCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0gPSBbbGlua107DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBsaW5rc0J5TGluZVtsaW5lXS5wdXNoKGxpbmspOw0KICAgICAgfQ0KICAgICAgLy8gTWVyZ2UgZnJvbnRtYXR0ZXIgZmllbGRzIHdpdGggcGFyc2VkIGZpZWxkcy4NCiAgICAgIGxldCBtYXJrZG93bkRhdGEgPSBwYXJzZU1hcmtkb3duKHBhdGgsIGNvbnRlbnRzLnNwbGl0KCJcbiIpLCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhmaWVsZHMsIG1hcmtkb3duRGF0YS5maWVsZHMpOw0KICAgICAgLy8gU3RyaXAgInBvc2l0aW9uIiBmcm9tIGZyb250bWF0dGVyIHNpbmNlIGl0IGlzIE9ic2lkaWFuIGRldGVybWluZWQuDQogICAgICBjb25zdCBmcm9udG1hdHRlciA9IG1ldGFkYXRhLmZyb250bWF0dGVyIHx8IHt9Ow0KICAgICAgaWYgKGZyb250bWF0dGVyICYmICJwb3NpdGlvbiIgaW4gZnJvbnRtYXR0ZXIpDQogICAgICAgICAgZGVsZXRlIGZyb250bWF0dGVyWyJwb3NpdGlvbiJdOw0KICAgICAgcmV0dXJuIG5ldyBQYWdlTWV0YWRhdGEocGF0aCwgew0KICAgICAgICAgIHRhZ3MsDQogICAgICAgICAgYWxpYXNlcywNCiAgICAgICAgICBsaW5rcywNCiAgICAgICAgICBsaXN0czogbWFya2Rvd25EYXRhLmxpc3RzLA0KICAgICAgICAgIGZpZWxkczogZmluYWxpemVJbmxpbmVGaWVsZHMoZmllbGRzKSwNCiAgICAgICAgICBmcm9udG1hdHRlcjogZnJvbnRtYXR0ZXIsDQogICAgICAgICAgY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMoc3RhdC5jdGltZSksDQogICAgICAgICAgbXRpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMoc3RhdC5tdGltZSksDQogICAgICAgICAgc2l6ZTogc3RhdC5zaXplLA0KICAgICAgICAgIGRheTogZmluZERhdGUocGF0aCwgZmllbGRzKSwNCiAgICAgIH0pOw0KICB9DQogIC8qKiBFeHRyYWN0IHRhZ3MgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICovDQogIGZ1bmN0aW9uIGV4dHJhY3RUYWdzKG1ldGFkYXRhKSB7DQogICAgICBsZXQgdGFnS2V5cyA9IE9iamVjdC5rZXlzKG1ldGFkYXRhKS5maWx0ZXIodCA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gInRhZ3MiIHx8IHQudG9Mb3dlckNhc2UoKSA9PSAidGFnIik7DQogICAgICByZXR1cm4gdGFnS2V5cw0KICAgICAgICAgIC5tYXAoayA9PiBzcGxpdEZyb250bWF0dGVyVGFnT3JBbGlhcyhtZXRhZGF0YVtrXSwgL1ssXHNdKy8pKQ0KICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSkNCiAgICAgICAgICAubWFwKHN0ciA9PiAoc3RyLnN0YXJ0c1dpdGgoIiMiKSA/IHN0ciA6ICIjIiArIHN0cikpOw0KICB9DQogIC8qKiBFeHRyYWN0IGFsaWFzZXMgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICAqLw0KICBmdW5jdGlvbiBleHRyYWN0QWxpYXNlcyhtZXRhZGF0YSkgew0KICAgICAgbGV0IGFsaWFzS2V5cyA9IE9iamVjdC5rZXlzKG1ldGFkYXRhKS5maWx0ZXIodCA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gImFsaWFzIiB8fCB0LnRvTG93ZXJDYXNlKCkgPT0gImFsaWFzZXMiKTsNCiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdOw0KICAgICAgZm9yIChsZXQga2V5IG9mIGFsaWFzS2V5cykgew0KICAgICAgICAgIGNvbnN0IHZhbHVlID0gbWV0YWRhdGFba2V5XTsNCiAgICAgICAgICBpZiAoIXZhbHVlKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpDQogICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnZhbHVlLm1hcCh2ID0+ICgiIiArIHYpLnRyaW0oKSkpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4uc3BsaXRGcm9udG1hdHRlclRhZ09yQWxpYXModmFsdWUsIC8sLykpOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgfQ0KICAvKiogU3BsaXQgYSBmcm9udG1hdHRlciBsaXN0IGludG8gc2VwYXJhdGUgZWxlbWVudHM7IGhhbmRsZXMgYWN0dWFsIGxpc3RzLCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMsIGFuZCBzaW5nbGUgZWxlbWVudHMuICovDQogIGZ1bmN0aW9uIHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKGRhdGEsIG9uKSB7DQogICAgICBpZiAoZGF0YSA9PSBudWxsIHx8IGRhdGEgPT0gdW5kZWZpbmVkKQ0KICAgICAgICAgIHJldHVybiBbXTsNCiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7DQogICAgICAgICAgcmV0dXJuIGRhdGENCiAgICAgICAgICAgICAgLmZpbHRlcihzID0+ICEhcykNCiAgICAgICAgICAgICAgLm1hcChzID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKHMsIG9uKSkNCiAgICAgICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gcC5jb25jYXQoYyksIFtdKTsNCiAgICAgIH0NCiAgICAgIC8vIEZvcmNlIHRvIGEgc3RyaW5nIHRvIGhhbmRsZSBudW1iZXJzIGFuZCBzbyBvbi4NCiAgICAgIHJldHVybiAoIiIgKyBkYXRhKQ0KICAgICAgICAgIC5zcGxpdChvbikNCiAgICAgICAgICAuZmlsdGVyKHQgPT4gISF0KQ0KICAgICAgICAgIC5tYXAodCA9PiB0LnRyaW0oKSkNCiAgICAgICAgICAuZmlsdGVyKHQgPT4gdC5sZW5ndGggPiAwKTsNCiAgfQ0KICAvKiogUGFyc2UgcmF3IChuZXdsaW5lLWRlbGltaXRlZCkgbWFya2Rvd24sIHJldHVybmluZyBpbmxpbmUgZmllbGRzLCBsaXN0IGl0ZW1zLCBhbmQgb3RoZXIgbWV0YWRhdGEuICovDQogIGZ1bmN0aW9uIHBhcnNlTWFya2Rvd24ocGF0aCwgY29udGVudHMsIG1ldGFkYXRhLCBsaW5rc0J5TGluZSkgew0KICAgICAgbGV0IGZpZWxkcyA9IG5ldyBNYXAoKTsNCiAgICAgIC8vIEV4dHJhY3QgdGFzayBkYXRhIGFuZCBhcHBlbmQgdGhlIGdsb2JhbCBkYXRhIGV4dHJhY3RlZCBmcm9tIHRoZW0gdG8gb3VyIGZpZWxkcy4NCiAgICAgIGxldCBbbGlzdHMsIGV4dHJhRGF0YV0gPSBwYXJzZUxpc3RzKHBhdGgsIGNvbnRlbnRzLCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpOw0KICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVzXSBvZiBleHRyYURhdGEuZW50cmllcygpKSB7DQogICAgICAgICAgaWYgKCFmaWVsZHMuaGFzKGtleSkpDQogICAgICAgICAgICAgIGZpZWxkcy5zZXQoa2V5LCB2YWx1ZXMpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgZmllbGRzLnNldChrZXksIGZpZWxkcy5nZXQoa2V5KS5jb25jYXQodmFsdWVzKSk7DQogICAgICB9DQogICAgICAvLyBUaGUgT2JzaWRpYW4gbWV0YWRhdGEgY2FjaGUgd2lsbCB0cmFjayBsaXN0IGVsZW1lbnRzIGluc2lkZSBvZiBvdGhlciBlbGVtZW50IGdyb3VwcyAobGlrZSBhbm5vdGF0aW9ucyBhbmQNCiAgICAgIC8vIGNhbGxvdXRzKS4uLiB0aGlzIG1lYW5zIHdlIG1pZ2h0IHNlZSBtZXRhZGF0YSB0d2ljZSwgc28gc2tpcCB0aGVtIG5vdy4gVmVyeSBhbm5veWluZy4NCiAgICAgIGNvbnN0IGxpc3RMaW5lc1RvU2tpcCA9IG5ldyBTZXQoKTsNCiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaXN0cykgew0KICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZS5saW5lQ291bnQ7IGkrKykNCiAgICAgICAgICAgICAgbGlzdExpbmVzVG9Ta2lwLmFkZChsaW5lLmxpbmUgKyBpKTsNCiAgICAgIH0NCiAgICAgIC8vIE9ubHkgcGFyc2UgaGVhZGluZyBhbmQgcGFyYWdyYXBoIGVsZW1lbnRzIGZvciBpbmxpbmUgZmllbGRzOyB3ZSB3aWxsIHBhcnNlIGxpc3QgbWV0YWRhdGEgc2VwYXJhdGVseS4NCiAgICAgIGZvciAobGV0IHNlY3Rpb24gb2YgbWV0YWRhdGEuc2VjdGlvbnMgfHwgW10pIHsNCiAgICAgICAgICBpZiAoc2VjdGlvbi50eXBlID09ICJsaXN0IiB8fCBzZWN0aW9uLnR5cGUgPT0gInJ1bGluZyIpDQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIGZvciAobGV0IGxpbmVubyA9IHNlY3Rpb24ucG9zaXRpb24uc3RhcnQubGluZTsgbGluZW5vIDw9IHNlY3Rpb24ucG9zaXRpb24uZW5kLmxpbmU7IGxpbmVubysrKSB7DQogICAgICAgICAgICAgIGxldCBsaW5lID0gY29udGVudHNbbGluZW5vXTsNCiAgICAgICAgICAgICAgaWYgKGxpbmUgPT0gdW5kZWZpbmVkIHx8IGxpbmUgPT0gbnVsbCkNCiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICBpZiAobGlzdExpbmVzVG9Ta2lwLmhhcyhsaW5lbm8pKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIC8vIEZhc3QgYmFpbC1vdXQgZm9yIGxpbmVzIHRoYXQgYXJlIHRvbyBsb25nIG9yIGRvIG5vdCBjb250YWluICc6OicuDQogICAgICAgICAgICAgIGlmIChsaW5lLmxlbmd0aCA+IDMyNzY4IHx8ICFsaW5lLmluY2x1ZGVzKCI6OiIpKQ0KICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTsNCiAgICAgICAgICAgICAgbGV0IGlubGluZUZpZWxkcyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMobGluZSk7DQogICAgICAgICAgICAgIGlmIChpbmxpbmVGaWVsZHMubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaWZpZWxkIG9mIGlubGluZUZpZWxkcykNCiAgICAgICAgICAgICAgICAgICAgICBhZGRSYXdJbmxpbmVGaWVsZChpZmllbGQsIGZpZWxkcyk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICBsZXQgZnVsbExpbmUgPSBleHRyYWN0RnVsbExpbmVGaWVsZChsaW5lKTsNCiAgICAgICAgICAgICAgICAgIGlmIChmdWxsTGluZSkNCiAgICAgICAgICAgICAgICAgICAgICBhZGRSYXdJbmxpbmVGaWVsZChmdWxsTGluZSwgZmllbGRzKTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHJldHVybiB7IGZpZWxkcywgbGlzdHMgfTsNCiAgfQ0KICAvLyBUT0RPOiBDb25zaWRlciB1c2luZyBhbiBhY3R1YWwgcGFyc2VyIGluIGxlaXUgb2YgYSBtb3JlIGV4cGVuc2l2ZSByZWdleC4NCiAgY29uc3QgTElTVF9JVEVNX1JFR0VYID0gL15bXHM+XSooXGQrXC58XGQrXCl8XCp8LXxcKylccyooXFsuezAsMX1cXSk/XHMqKC4qKSQvbXU7DQogIC8qKg0KICAgKiBQYXJzZSBsaXN0IGl0ZW1zIGZyb20gdGhlIHBhZ2UgKyBtZXRhZGF0YS4gVGhpcyByZXF1aXJlcyBzb21lIGFkZGl0aW9uYWwgcGFyc2luZyBhYm92ZSB3aGF0ZXZlciBPYnNpZGlhbiBwcm92aWRlcywNCiAgICogc2luY2UgT2JzaWRpYW4gb25seSBnaXZlcyBsaW5lIG51bWJlcnMuDQogICAqLw0KICBmdW5jdGlvbiBwYXJzZUxpc3RzKHBhdGgsIGNvbnRlbnQsIG1ldGFkYXRhLCBsaW5rc0J5TGluZSkgew0KICAgICAgdmFyIF9hOw0KICAgICAgbGV0IGNhY2hlID0ge307DQogICAgICAvLyBQbGFjZSBhbGwgb2YgdGhlIHZhbHVlcyBpbiB0aGUgY2FjaGUgYmVmb3JlIHJlc29sdmluZyBjaGlsZHJlbiAmIG1ldGFkYXRhIHJlbGF0aW9uc2hpcHMuDQogICAgICBmb3IgKGxldCByYXdFbGVtZW50IG9mIG1ldGFkYXRhLmxpc3RJdGVtcyB8fCBbXSkgew0KICAgICAgICAgIC8vIE1hdGNoIG9uIHRoZSBmaXJzdCBsaW5lIHRvIGdldCB0aGUgc3ltYm9sIGFuZCBmaXJzdCBsaW5lIG9mIHRleHQuDQogICAgICAgICAgbGV0IHJhd01hdGNoID0gTElTVF9JVEVNX1JFR0VYLmV4ZWMoY29udGVudFtyYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmVdKTsNCiAgICAgICAgICBpZiAoIXJhd01hdGNoKQ0KICAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgICAvLyBBbmQgdGhlbiBzdHJpcCB1bm5lY2Vzc2FyeSBzcGFjaW5nIGZyb20gdGhlIHJlbWFpbmluZyBsaW5lcy4NCiAgICAgICAgICBsZXQgdGV4dFBhcnRzID0gW3Jhd01hdGNoWzNdXQ0KICAgICAgICAgICAgICAuY29uY2F0KGNvbnRlbnQuc2xpY2UocmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICsgMSwgcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSArIDEpKQ0KICAgICAgICAgICAgICAubWFwKHQgPT4gdC50cmltKCkpOw0KICAgICAgICAgIGxldCB0ZXh0V2l0aE5ld2xpbmUgPSB0ZXh0UGFydHMuam9pbigiXG4iKTsNCiAgICAgICAgICBsZXQgdGV4dE5vTmV3bGluZSA9IHRleHRQYXJ0cy5qb2luKCIgIik7DQogICAgICAgICAgLy8gRmluZCB0aGUgbGlzdCB0aGF0IHdlIGFyZSBhIHBhcnQgb2YgYnkgbGluZS4NCiAgICAgICAgICBsZXQgY29udGFpbmluZ0xpc3RJZCA9IChtZXRhZGF0YS5zZWN0aW9ucyB8fCBbXSkuZmluZEluZGV4KHMgPT4gcy50eXBlID09ICJsaXN0IiAmJg0KICAgICAgICAgICAgICBzLnBvc2l0aW9uLnN0YXJ0LmxpbmUgPD0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICYmDQogICAgICAgICAgICAgIHMucG9zaXRpb24uZW5kLmxpbmUgPj0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lKTsNCiAgICAgICAgICAvLyBGaW5kIHRoZSBzZWN0aW9uIHdlIGJlbG9uZyB0byBhcyB3ZWxsLg0KICAgICAgICAgIGxldCBzZWN0aW9uTmFtZSA9IGZpbmRQcmV2aW91c0hlYWRlcihyYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUsIG1ldGFkYXRhLmhlYWRpbmdzIHx8IFtdKTsNCiAgICAgICAgICBsZXQgc2VjdGlvbkxpbmsgPSBzZWN0aW9uTmFtZSA9PT0gdW5kZWZpbmVkID8gTGluay5maWxlKHBhdGgpIDogTGluay5oZWFkZXIocGF0aCwgc2VjdGlvbk5hbWUpOw0KICAgICAgICAgIGxldCBjbG9zZXN0TGluayA9IHJhd0VsZW1lbnQuaWQgPT09IHVuZGVmaW5lZCA/IHNlY3Rpb25MaW5rIDogTGluay5ibG9jayhwYXRoLCByYXdFbGVtZW50LmlkKTsNCiAgICAgICAgICAvLyBHYXRoZXIgYW55IGxpbmtzIHRoYXQgb2NjdXIgb24gdGhlIHNhbWUgbGluZXMgYXMgdGhlIHRhc2suDQogICAgICAgICAgY29uc3QgbGlua3MgPSBbXTsNCiAgICAgICAgICBmb3IgKGxldCBsaW5lID0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lOyBsaW5lIDw9IHJhd0VsZW1lbnQucG9zaXRpb24uZW5kLmxpbmU7IGxpbmUrKykgew0KICAgICAgICAgICAgICBpZiAobGlua3NCeUxpbmVbbGluZV0pDQogICAgICAgICAgICAgICAgICBsaW5rcy5wdXNoKC4uLmxpbmtzQnlMaW5lW2xpbmVdKTsNCiAgICAgICAgICB9DQogICAgICAgICAgLy8gQ29uc3RydWN0IHVuaXZlcnNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVsZW1lbnQgKGJlZm9yZSB0YXNrcykuDQogICAgICAgICAgbGV0IGl0ZW0gPSBuZXcgTGlzdEl0ZW0oew0KICAgICAgICAgICAgICBzeW1ib2w6IHJhd01hdGNoWzFdLA0KICAgICAgICAgICAgICBsaW5rOiBjbG9zZXN0TGluaywNCiAgICAgICAgICAgICAgbGlua3M6IGxpbmtzLA0KICAgICAgICAgICAgICBzZWN0aW9uOiBzZWN0aW9uTGluaywNCiAgICAgICAgICAgICAgdGV4dDogdGV4dFdpdGhOZXdsaW5lLA0KICAgICAgICAgICAgICB0YWdzOiBleHRyYWN0VGFncyQxKHRleHROb05ld2xpbmUpLA0KICAgICAgICAgICAgICBsaW5lOiByYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUsDQogICAgICAgICAgICAgIGxpbmVDb3VudDogcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSAtIHJhd0VsZW1lbnQucG9zaXRpb24uc3RhcnQubGluZSArIDEsDQogICAgICAgICAgICAgIGxpc3Q6IGNvbnRhaW5pbmdMaXN0SWQgPT0gLTEgPyAtMSA6IChtZXRhZGF0YS5zZWN0aW9ucyB8fCBbXSlbY29udGFpbmluZ0xpc3RJZF0ucG9zaXRpb24uc3RhcnQubGluZSwNCiAgICAgICAgICAgICAgcG9zaXRpb246IHJhd0VsZW1lbnQucG9zaXRpb24sDQogICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSwNCiAgICAgICAgICAgICAgYmxvY2tJZDogcmF3RWxlbWVudC5pZCwNCiAgICAgICAgICB9KTsNCiAgICAgICAgICBpZiAocmF3RWxlbWVudC5wYXJlbnQgPj0gMCAmJiByYXdFbGVtZW50LnBhcmVudCAhPSBpdGVtLmxpbmUpDQogICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gcmF3RWxlbWVudC5wYXJlbnQ7DQogICAgICAgICAgLy8gU2V0IHVwIHRoZSBiYXNpYyB0YXNrIGluZm9ybWF0aW9uIGZvciBub3csIHRob3VnaCB3ZSBoYXZlIHRvIHJlY29tcHV0ZSBgZnVsbHlDb21wdXRlZGAgbGF0ZXIuDQogICAgICAgICAgaWYgKHJhd0VsZW1lbnQudGFzaykgew0KICAgICAgICAgICAgICBpdGVtLnRhc2sgPSB7DQogICAgICAgICAgICAgICAgICBzdGF0dXM6IHJhd0VsZW1lbnQudGFzaywNCiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHJhd0VsZW1lbnQudGFzayAhPSAiIiAmJiByYXdFbGVtZW50LnRhc2sgIT0gIiAiLA0KICAgICAgICAgICAgICAgICAgY29tcGxldGVkOiByYXdFbGVtZW50LnRhc2sgPT0gIlgiIHx8IHJhd0VsZW1lbnQudGFzayA9PSAieCIsDQogICAgICAgICAgICAgICAgICBmdWxseUNvbXBsZXRlZDogcmF3RWxlbWVudC50YXNrID09ICJYIiB8fCByYXdFbGVtZW50LnRhc2sgPT0gIngiLA0KICAgICAgICAgICAgICB9Ow0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyBFeHRyYWN0IGlubGluZSBmaWVsZHM7IGV4dHJhY3QgZnVsbC1saW5lIGZpZWxkcyBvbmx5IGlmIHdlIGFyZSBOT1QgYSB0YXNrLg0KICAgICAgICAgIGl0ZW0uZmllbGRzID0gbmV3IE1hcCgpOw0KICAgICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZXh0cmFjdElubGluZUZpZWxkcyh0ZXh0Tm9OZXdsaW5lLCB0cnVlKSkNCiAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZWxlbWVudCwgaXRlbS5maWVsZHMpOw0KICAgICAgICAgIGlmICghcmF3RWxlbWVudC50YXNrICYmIGl0ZW0uZmllbGRzLnNpemUgPT0gMCkgew0KICAgICAgICAgICAgICBsZXQgZnVsbExpbmUgPSBleHRyYWN0RnVsbExpbmVGaWVsZCh0ZXh0Tm9OZXdsaW5lKTsNCiAgICAgICAgICAgICAgaWYgKGZ1bGxMaW5lKQ0KICAgICAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZnVsbExpbmUsIGl0ZW0uZmllbGRzKTsNCiAgICAgICAgICB9DQogICAgICAgICAgY2FjaGVbaXRlbS5saW5lXSA9IGl0ZW07DQogICAgICB9DQogICAgICAvLyBUcmVlIHVwZGF0aW5nIHBhc3Nlcy4gVXBkYXRlIGNoaWxkIGxpc3RzLiBQcm9wb2dhdGUgbWV0YWRhdGEgdXAgdG8gcGFyZW50IHRhc2tzLiBVcGRhdGUgdGFzayBgZnVsbHlDb21wbGV0ZWRgLg0KICAgICAgbGV0IGxpdGVyYWxzID0gbmV3IE1hcCgpOw0KICAgICAgZm9yIChsZXQgbGlzdEl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhjYWNoZSkpIHsNCiAgICAgICAgICAvLyBQYXNzIDE6IFVwZGF0ZSBjaGlsZCBsaXN0cy4NCiAgICAgICAgICBpZiAobGlzdEl0ZW0ucGFyZW50ICE9PSB1bmRlZmluZWQgJiYgbGlzdEl0ZW0ucGFyZW50IGluIGNhY2hlKSB7DQogICAgICAgICAgICAgIGxldCBwYXJlbnQgPSBjYWNoZVtsaXN0SXRlbS5wYXJlbnRdOw0KICAgICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaChsaXN0SXRlbS5saW5lKTsNCiAgICAgICAgICB9DQogICAgICAgICAgLy8gUGFzcyAyOiBQcm9wb2dhdGUgbWV0YWRhdGEgdXAgdG8gdGhlIHBhcmVudCB0YXNrIG9yIHJvb3QgZWxlbWVudC4NCiAgICAgICAgICBpZiAoIWxpc3RJdGVtLnRhc2spIHsNCiAgICAgICAgICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhsaXRlcmFscywgbGlzdEl0ZW0uZmllbGRzKTsNCiAgICAgICAgICAgICAgLy8gVE9ETyAoYmxhY2tzbWl0aGd1KTogVGhlIGJlbG93IGNvZGUgcHJvcGVybHkgcHJvcG9nYXRlcyBtZXRhZGF0YSB1cCB0byB0aGUgbmVhcmVzdCB0YXNrLCB3aGljaCBpcyB0aGUNCiAgICAgICAgICAgICAgLy8gbW9yZSBpbnR1aXRpdmUgYmVoYXZpb3IuIEZvciBub3csIHRob3VnaCwgd2Ugd2lsbCBrZWVwIHRoZSBleGlzdGluZyBsb2dpYy4NCiAgICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgbGV0IHJvb3Q6IExpc3RJdGVtIHwgdW5kZWZpbmVkID0gbGlzdEl0ZW07DQogICAgICAgICAgICAgIHdoaWxlICghIXJvb3QgJiYgIXJvb3QudGFzaykgcm9vdCA9IGNhY2hlW3Jvb3QucGFyZW50ID8/IC0xXTsNCgogICAgICAgICAgICAgIC8vIElmIHRoZSByb290IGlzIG51bGwsIGFwcGVuZCB0aGlzIG1ldGFkYXRhIHRvIHRoZSByb290OyBvdGhlcndpc2UsIGFwcGVuZCB0byB0aGUgdGFzay4NCiAgICAgICAgICAgICAgbWVyZ2VGaWVsZEdyb3Vwcyhyb290ID09PSB1bmRlZmluZWQgfHwgcm9vdCA9PSBudWxsID8gbGl0ZXJhbHMgOiByb290LmZpZWxkcywgbGlzdEl0ZW0uZmllbGRzKTsNCiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICB9DQogICAgICAgICAgLy8gUGFzcyAzOiBQcm9wb2dhdGUgYGZ1bGx5Q29tcGxldGVkYCB1cCB0aGUgdGFzayB0cmVlLiBUaGlzIGlzIGEgbGl0dGxlIGxlc3MgZWZmaWNpZW50IHRoYW4ganVzdCBkb2luZyBhIHNpbXBsZQ0KICAgICAgICAgIC8vIERGUyB1c2luZyB0aGUgY2hpbGRyZW4gSURzLCBidXQgaXQncyBwcm9iYWJseSBmaW5lLg0KICAgICAgICAgIGlmIChsaXN0SXRlbS50YXNrKSB7DQogICAgICAgICAgICAgIGxldCBjdXJyID0gbGlzdEl0ZW07DQogICAgICAgICAgICAgIHdoaWxlICghIWN1cnIpIHsNCiAgICAgICAgICAgICAgICAgIGlmIChjdXJyLnRhc2spDQogICAgICAgICAgICAgICAgICAgICAgY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkID0gY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkICYmIGxpc3RJdGVtLnRhc2suY29tcGxldGVkOw0KICAgICAgICAgICAgICAgICAgY3VyciA9IGNhY2hlWyhfYSA9IGN1cnIucGFyZW50KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAtMV07DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICB9DQogICAgICByZXR1cm4gW09iamVjdC52YWx1ZXMoY2FjaGUpLCBsaXRlcmFsc107DQogIH0NCiAgLyoqIEF0dGVtcHQgdG8gZmluZCBhIGRhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBwYWdlIGZyb20gbWV0YWRhdGEgb3IgZmlsZW5hbWVzLiAqLw0KICBmdW5jdGlvbiBmaW5kRGF0ZShmaWxlLCBmaWVsZHMpIHsNCiAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDsNCiAgICAgIGZvciAobGV0IGtleSBvZiBmaWVsZHMua2V5cygpKSB7DQogICAgICAgICAgaWYgKCEoa2V5LnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gImRhdGUiIHx8IGtleS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICJkYXkiKSkNCiAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgbGV0IHZhbHVlID0gZmllbGRzLmdldChrZXkpOw0KICAgICAgICAgIGlmIChWYWx1ZXMuaXNEYXRlKHZhbHVlKSkgew0KICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKFZhbHVlcy5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwICYmIFZhbHVlcy5pc0RhdGUodmFsdWVbMF0pKSB7DQogICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAoVmFsdWVzLmlzTGluayh2YWx1ZSkpIHsNCiAgICAgICAgICAgICAgbGV0IGRhdGUgPSAoX2MgPSAoX2EgPSBleHRyYWN0RGF0ZSh2YWx1ZS5wYXRoKSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZXh0cmFjdERhdGUoKF9iID0gdmFsdWUuc3VicGF0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogIiIpKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBleHRyYWN0RGF0ZSgoX2QgPSB2YWx1ZS5kaXNwbGF5KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAiIik7DQogICAgICAgICAgICAgIGlmIChkYXRlKQ0KICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGU7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgcmV0dXJuIGV4dHJhY3REYXRlKGdldEZpbGVUaXRsZShmaWxlKSk7DQogIH0NCiAgLyoqIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgZnJvbnRtYXR0ZXIgaW50byBmaWVsZHMuIFdlIGhhdmUgdG8gZGFuY2UgYXJvdW5kIFlBTUwgc3RydWN0dXJlLiAqLw0KICBmdW5jdGlvbiBwYXJzZUZyb250bWF0dGVyKHZhbHVlKSB7DQogICAgICBpZiAodmFsdWUgPT0gbnVsbCkgew0KICAgICAgICAgIHJldHVybiBudWxsOw0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAib2JqZWN0Iikgew0KICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgew0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107DQogICAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwYXJzZUZyb250bWF0dGVyKGNoaWxkKSk7DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7DQogICAgICAgICAgICAgIGxldCBkYXRlUGFyc2UgPSBEYXRlVGltZS5mcm9tSlNEYXRlKHZhbHVlKTsNCiAgICAgICAgICAgICAgcmV0dXJuIGRhdGVQYXJzZTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgIGxldCBvYmplY3QgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHBhcnNlRnJvbnRtYXR0ZXIob2JqZWN0W2tleV0pOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAibnVtYmVyIikgew0KICAgICAgICAgIHJldHVybiB2YWx1ZTsNCiAgICAgIH0NCiAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gImJvb2xlYW4iKSB7DQogICAgICAgICAgcmV0dXJuIHZhbHVlOw0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAic3RyaW5nIikgew0KICAgICAgICAgIGxldCBkYXRlUGFyc2UgPSBFWFBSRVNTSU9OLmRhdGUucGFyc2UodmFsdWUpOw0KICAgICAgICAgIGlmIChkYXRlUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gZGF0ZVBhcnNlLnZhbHVlOw0KICAgICAgICAgIGxldCBkdXJhdGlvblBhcnNlID0gRVhQUkVTU0lPTi5kdXJhdGlvbi5wYXJzZSh2YWx1ZSk7DQogICAgICAgICAgaWYgKGR1cmF0aW9uUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gZHVyYXRpb25QYXJzZS52YWx1ZTsNCiAgICAgICAgICBsZXQgbGlua1BhcnNlID0gRVhQUkVTU0lPTi5lbWJlZExpbmsucGFyc2UodmFsdWUpOw0KICAgICAgICAgIGlmIChsaW5rUGFyc2Uuc3RhdHVzKQ0KICAgICAgICAgICAgICByZXR1cm4gbGlua1BhcnNlLnZhbHVlOw0KICAgICAgICAgIHJldHVybiB2YWx1ZTsNCiAgICAgIH0NCiAgICAgIC8vIEJhY2t1cCBpZiB3ZSBkb24ndCB1bmRlcnN0YW5kIHRoZSB0eXBlLg0KICAgICAgcmV0dXJuIG51bGw7DQogIH0NCiAgLyoqIEFkZCBhIHBhcnNlZCBpbmxpbmUgZmllbGQgdG8gdGhlIG91dHB1dCBtYXAuICovDQogIGZ1bmN0aW9uIGFkZFJhd0lubGluZUZpZWxkKGZpZWxkLCBvdXRwdXQpIHsNCiAgICAgIGFkZElubGluZUZpZWxkKGZpZWxkLmtleSwgcGFyc2VJbmxpbmVWYWx1ZShmaWVsZC52YWx1ZSksIG91dHB1dCk7DQogIH0NCiAgLyoqIEFkZCBhIHJhdyBpbmxpbmUgZmllbGQgdG8gYW4gb3V0cHV0IG1hcCwgY2Fub25pY2FsaXppbmcgYXMgbmVlZGVkLiAqLw0KICBmdW5jdGlvbiBhZGRJbmxpbmVGaWVsZChrZXksIHZhbHVlLCBvdXRwdXQpIHsNCiAgICAgIHZhciBfYTsNCiAgICAgIGlmICghb3V0cHV0LmhhcyhrZXkpKQ0KICAgICAgICAgIG91dHB1dC5zZXQoa2V5LCBbdmFsdWVdKTsNCiAgICAgIGVsc2UNCiAgICAgICAgICAoX2EgPSBvdXRwdXQuZ2V0KGtleSkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wdXNoKHZhbHVlKTsNCiAgfQ0KICAvKiogR2l2ZW4gYSByYXcgbGlzdCBvZiBpbmxpbmUgZmllbGQgdmFsdWVzLCBhZGQgbm9ybWFsaXplZCBrZXlzIGFuZCBzcXVhc2ggdGhlbS4gKi8NCiAgZnVuY3Rpb24gZmluYWxpemVJbmxpbmVGaWVsZHMoZmllbGRzKSB7DQogICAgICAvLyBDb21wdXRlIHVuaXF1ZSBub3JtYWxpemVkIGtleXMgKHRoYXQgZG8gbm90IG92ZXJsYXAgdy8gdGhlIGZpZWxkcykuDQogICAgICBsZXQgbm9ybWFsaXplZCA9IG5ldyBNYXAoKTsNCiAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlc10gb2YgZmllbGRzLmVudHJpZXMoKSkgew0KICAgICAgICAgIGxldCBub3JtS2V5ID0gY2Fub25pY2FsaXplVmFyTmFtZShrZXkpOw0KICAgICAgICAgIGlmIChub3JtS2V5ID09ICIiIHx8IGZpZWxkcy5oYXMobm9ybUtleSkpDQogICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgIGlmICghbm9ybWFsaXplZC5oYXMobm9ybUtleSkpDQogICAgICAgICAgICAgIG5vcm1hbGl6ZWQuc2V0KG5vcm1LZXksIHZhbHVlcyk7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICBub3JtYWxpemVkLnNldChub3JtS2V5LCBub3JtYWxpemVkLmdldChub3JtS2V5KS5jb25jYXQodmFsdWVzKSk7DQogICAgICB9DQogICAgICAvLyBDb21iaW5lIG5vcm1hbGl6ZWQgKyBub3JtYWwga2V5cy4NCiAgICAgIGxldCBpbnRlcmltID0gbmV3IE1hcCgpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhpbnRlcmltLCBmaWVsZHMpOw0KICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhpbnRlcmltLCBub3JtYWxpemVkKTsNCiAgICAgIC8vIEFuZCB0aGVuIGZsYXR0ZW4gdGhlbS4NCiAgICAgIGxldCByZXN1bHQgPSBuZXcgTWFwKCk7DQogICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgaW50ZXJpbS5lbnRyaWVzKCkpIHsNCiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09IDEpDQogICAgICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCB2YWx1ZVswXSk7DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgfQ0KICAvKiogQ29weSBhbGwgZmllbGRzIG9mICdzb3VyY2UnIGludG8gJ3RhcmdldCcuICovDQogIGZ1bmN0aW9uIG1lcmdlRmllbGRHcm91cHModGFyZ2V0LCBzb3VyY2UpIHsNCiAgICAgIGZvciAobGV0IGtleSBvZiBzb3VyY2Uua2V5cygpKSB7DQogICAgICAgICAgaWYgKCF0YXJnZXQuaGFzKGtleSkpDQogICAgICAgICAgICAgIHRhcmdldC5zZXQoa2V5LCBzb3VyY2UuZ2V0KGtleSkpOw0KICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgdGFyZ2V0LnNldChrZXksIHRhcmdldC5nZXQoa2V5KS5jb25jYXQoc291cmNlLmdldChrZXkpKSk7DQogICAgICB9DQogIH0NCiAgLyoqIEZpbmQgdGhlIGhlYWRlciB0aGF0IGlzIG1vc3QgaW1tZWRpYXRlbHkgYWJvdmUgdGhlIGdpdmVuIGxpbmUgbnVtYmVyLiAqLw0KICBmdW5jdGlvbiBmaW5kUHJldmlvdXNIZWFkZXIobGluZSwgaGVhZGVycykgew0KICAgICAgaWYgKGhlYWRlcnMubGVuZ3RoID09IDApDQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgIGlmIChoZWFkZXJzWzBdLnBvc2l0aW9uLnN0YXJ0LmxpbmUgPiBsaW5lKQ0KICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICBsZXQgaW5kZXggPSBoZWFkZXJzLmxlbmd0aCAtIDE7DQogICAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBoZWFkZXJzW2luZGV4XS5wb3NpdGlvbi5zdGFydC5saW5lID4gbGluZSkNCiAgICAgICAgICBpbmRleC0tOw0KICAgICAgcmV0dXJuIGhlYWRlcnNbaW5kZXhdLmhlYWRpbmc7DQogIH0KCiAgLyoqIEFjdHVhbCBpbXBvcnQgaW1wbGVtZW50YXRpb24gYmFja2VuZC4gVGhpcyBtdXN0IHJlbWFpbiBzZXBhcmF0ZSBmcm9tIGBpbXBvcnQtZW50cnlgIHNpbmNlIGl0IGlzIHVzZWQgd2l0aG91dCB3ZWIgd29ya2Vycy4gKi8NCiAgZnVuY3Rpb24gcnVuSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0cywgbWV0YWRhdGEpIHsNCiAgICAgIHJldHVybiBwYXJzZVBhZ2UocGF0aCwgY29udGVudHMsIHN0YXRzLCBtZXRhZGF0YSk7DQogIH0KCiAgLyoqIFNpbXBsaWZpZXMgcGFzc2luZyBkYXRhdmlldyB2YWx1ZXMgYWNyb3NzIHRoZSBKUyB3ZWIgd29ya2VyIGJhcnJpZXIuICovDQogIHZhciBUcmFuc2ZlcmFibGU7DQogIChmdW5jdGlvbiAoVHJhbnNmZXJhYmxlKSB7DQogICAgICAvKiogQ29udmVydCBhIGxpdGVyYWwgdmFsdWUgdG8gYSBzZXJpYWxpemVyLWZyaWVuZGx5IHRyYW5zZmVyYWJsZSB2YWx1ZS4gKi8NCiAgICAgIGZ1bmN0aW9uIHRyYW5zZmVyYWJsZSh2YWx1ZSkgew0KICAgICAgICAgIC8vIEhhbmRsZSBzaW1wbGUgdW5pdmVyc2FsIHR5cGVzIGZpcnN0Lg0KICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgew0KICAgICAgICAgICAgICBsZXQgY29waWVkID0gbmV3IE1hcCgpOw0KICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWxdIG9mIHZhbHVlLmVudHJpZXMoKSkNCiAgICAgICAgICAgICAgICAgIGNvcGllZC5zZXQodHJhbnNmZXJhYmxlKGtleSksIHRyYW5zZmVyYWJsZSh2YWwpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIGNvcGllZDsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHsNCiAgICAgICAgICAgICAgbGV0IGNvcGllZCA9IG5ldyBTZXQoKTsNCiAgICAgICAgICAgICAgZm9yIChsZXQgdmFsIG9mIHZhbHVlKQ0KICAgICAgICAgICAgICAgICAgY29waWVkLmFkZCh0cmFuc2ZlcmFibGUodmFsKSk7DQogICAgICAgICAgICAgIHJldHVybiBjb3BpZWQ7DQogICAgICAgICAgfQ0KICAgICAgICAgIGxldCB3cmFwcGVkID0gVmFsdWVzLndyYXBWYWx1ZSh2YWx1ZSk7DQogICAgICAgICAgaWYgKHdyYXBwZWQgPT09IHVuZGVmaW5lZCkNCiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCB0cmFuc2ZlcmFibGUgdmFsdWU6ICIgKyB2YWx1ZSk7DQogICAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHsNCiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6DQogICAgICAgICAgICAgIGNhc2UgIm51bWJlciI6DQogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7DQogICAgICAgICAgICAgIGNhc2UgImRhdGUiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgICAiX19fdHJhbnNmZXItdHlwZSI6ICJkYXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJhbnNmZXJhYmxlKHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSksDQogICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgICAgICAgICAgICAgICB6b25lOiB3cmFwcGVkLnZhbHVlLnpvbmUuZXF1YWxzKFN5c3RlbVpvbmUuaW5zdGFuY2UpID8gdW5kZWZpbmVkIDogd3JhcHBlZC52YWx1ZS56b25lTmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgIl9fX3RyYW5zZmVyLXR5cGUiOiAiZHVyYXRpb24iLCB2YWx1ZTogdHJhbnNmZXJhYmxlKHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSkgfTsNCiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOg0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFwKHYgPT4gdHJhbnNmZXJhYmxlKHYpKTsNCiAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICByZXR1cm4geyAiX19fdHJhbnNmZXItdHlwZSI6ICJsaW5rIiwgdmFsdWU6IHRyYW5zZmVyYWJsZSh3cmFwcGVkLnZhbHVlLnRvT2JqZWN0KCkpIH07DQogICAgICAgICAgICAgIGNhc2UgIm9iamVjdCI6DQogICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSkpDQogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2ZlcmFibGUodmFsdWUpOw0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICBUcmFuc2ZlcmFibGUudHJhbnNmZXJhYmxlID0gdHJhbnNmZXJhYmxlOw0KICAgICAgLyoqIENvbnZlcnQgYSB0cmFuc2ZlcmFibGUgdmFsdWUgYmFjayB0byBhIGxpdGVyYWwgdmFsdWUgd2UgY2FuIHdvcmsgd2l0aC4gKi8NCiAgICAgIGZ1bmN0aW9uIHZhbHVlKHRyYW5zZmVyYWJsZSkgew0KICAgICAgICAgIGlmICh0cmFuc2ZlcmFibGUgPT09IG51bGwpIHsNCiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKHRyYW5zZmVyYWJsZSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKHRyYW5zZmVyYWJsZSBpbnN0YW5jZW9mIE1hcCkgew0KICAgICAgICAgICAgICBsZXQgcmVhbCA9IG5ldyBNYXAoKTsNCiAgICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsXSBvZiB0cmFuc2ZlcmFibGUuZW50cmllcygpKQ0KICAgICAgICAgICAgICAgICAgcmVhbC5zZXQodmFsdWUoa2V5KSwgdmFsdWUodmFsKSk7DQogICAgICAgICAgICAgIHJldHVybiByZWFsOw0KICAgICAgICAgIH0NCiAgICAgICAgICBlbHNlIGlmICh0cmFuc2ZlcmFibGUgaW5zdGFuY2VvZiBTZXQpIHsNCiAgICAgICAgICAgICAgbGV0IHJlYWwgPSBuZXcgU2V0KCk7DQogICAgICAgICAgICAgIGZvciAobGV0IHZhbCBvZiB0cmFuc2ZlcmFibGUpDQogICAgICAgICAgICAgICAgICByZWFsLmFkZCh2YWx1ZSh2YWwpKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlYWw7DQogICAgICAgICAgfQ0KICAgICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHJhbnNmZXJhYmxlKSkgew0KICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmZXJhYmxlLm1hcCh2ID0+IHZhbHVlKHYpKTsNCiAgICAgICAgICB9DQogICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHRyYW5zZmVyYWJsZSA9PT0gIm9iamVjdCIpIHsNCiAgICAgICAgICAgICAgaWYgKCJfX190cmFuc2Zlci10eXBlIiBpbiB0cmFuc2ZlcmFibGUpIHsNCiAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHJhbnNmZXJhYmxlWyJfX190cmFuc2Zlci10eXBlIl0pIHsNCiAgICAgICAgICAgICAgICAgICAgICBjYXNlICJkYXRlIjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGVPcHRzID0gdmFsdWUodHJhbnNmZXJhYmxlLm9wdGlvbnMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGF0ZURhdGEgPSB2YWx1ZSh0cmFuc2ZlcmFibGUudmFsdWUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdChkYXRlRGF0YSwgeyB6b25lOiBkYXRlT3B0cy56b25lIH0pOw0KICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QodmFsdWUodHJhbnNmZXJhYmxlLnZhbHVlKSk7DQogICAgICAgICAgICAgICAgICAgICAgY2FzZSAibGluayI6DQogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaW5rLmZyb21PYmplY3QodmFsdWUodHJhbnNmZXJhYmxlLnZhbHVlKSk7DQogICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFVucmVjb2duaXplZCB0cmFuc2ZlciB0eXBlICcke3RyYW5zZmVyYWJsZVsiX19fdHJhbnNmZXItdHlwZSJdfSdgKTsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307DQogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModHJhbnNmZXJhYmxlKSkNCiAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWUodmFsKTsNCiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgICB9DQogICAgICAgICAgcmV0dXJuIHRyYW5zZmVyYWJsZTsNCiAgICAgIH0NCiAgICAgIFRyYW5zZmVyYWJsZS52YWx1ZSA9IHZhbHVlOw0KICB9KShUcmFuc2ZlcmFibGUgfHwgKFRyYW5zZmVyYWJsZSA9IHt9KSk7CgogIC8qKiBFbnRyeS1wb2ludCBzY3JpcHQgdXNlZCBieSB0aGUgaW5kZXggYXMgYSB3ZWIgd29ya2VyLiAqLw0KICAvKiogQW4gaW1wb3J0IHdoaWNoIGNhbiBmYWlsIGFuZCByYWlzZSBhbiBleGNlcHRpb24sIHdoaWNoIHdpbGwgYmUgY2F1Z2h0IGJ5IHRoZSBoYW5kbGVyLiAqLw0KICBmdW5jdGlvbiBmYWlsYWJsZUltcG9ydChwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEpIHsNCiAgICAgIGlmIChtZXRhZGF0YSA9PT0gdW5kZWZpbmVkIHx8IG1ldGFkYXRhID09PSBudWxsKSB7DQogICAgICAgICAgdGhyb3cgRXJyb3IoYENhbm5vdCBpbmRleCBmaWxlLCBzaW5jZSBpdCBoYXMgbm8gT2JzaWRpYW4gZmlsZSBtZXRhZGF0YS5gKTsNCiAgICAgIH0NCiAgICAgIHJldHVybiBydW5JbXBvcnQocGF0aCwgY29udGVudHMsIHN0YXQsIG1ldGFkYXRhKTsNCiAgfQ0KICBvbm1lc3NhZ2UgPSBhc3luYyAoZXZ0KSA9PiB7DQogICAgICB0cnkgew0KICAgICAgICAgIGxldCB7IHBhdGgsIGNvbnRlbnRzLCBzdGF0LCBtZXRhZGF0YSB9ID0gZXZ0LmRhdGE7DQogICAgICAgICAgbGV0IHJlc3VsdCA9IGZhaWxhYmxlSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0LCBtZXRhZGF0YSk7DQogICAgICAgICAgcG9zdE1lc3NhZ2UoeyBwYXRoOiBldnQuZGF0YS5wYXRoLCByZXN1bHQ6IFRyYW5zZmVyYWJsZS50cmFuc2ZlcmFibGUocmVzdWx0KSB9KTsNCiAgICAgIH0NCiAgICAgIGNhdGNoIChlcnJvcikgew0KICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsNCiAgICAgICAgICBwb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgIHBhdGg6IGV2dC5kYXRhLnBhdGgsDQogICAgICAgICAgICAgIHJlc3VsdDogew0KICAgICAgICAgICAgICAgICAgJGVycm9yOiBgRmFpbGVkIHRvIGluZGV4IGZpbGU6ICR7ZXZ0LmRhdGEucGF0aH06ICR7ZXJyb3J9YCwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgfTsKCn0pKCk7Cgo=', null, false); /* eslint-enable */ /** Controls and creates Dataview file importers, allowing for asynchronous loading and parsing of files. */ @@ -13265,6 +13269,24 @@ var DefaultFunctions; return (_d = resolved === null || resolved === void 0 ? void 0 : resolved.file) === null || _d === void 0 ? void 0 : _d.day; } return null; + }) + .add2("string", "string", (d, f) => { + if (f === "x" || f === "X") { + let match = NUMBER_REGEX.exec(d); + if (match) + return DateTime.fromMillis(Number.parseInt(match[0]) * (f === "X" ? 1000 : 1)); + else { + throw Error("Not a number for format( (${ f }): ${ d }"); + } + } + else { + let parsedDate = DateTime.fromFormat(d, f); + if (parsedDate.isValid) + return parsedDate; + else { + throw Error(`Can't handle format (${f}) on date string (${d})`); + } + } }) .add1("null", () => null) .vectorize(1, [0]) @@ -13703,6 +13725,17 @@ var DefaultFunctions; }); }) .build(); + // Concatenates sub-array elements into a new array + DefaultFunctions.flat = new FunctionBuilder("flat") + .add1("array", a => { + return a.flat(); + }) + .add2("array", "number", (a, n) => { + // @ts-ignore + return a.flat(n); + }) + .add1("null", () => null) + .build(); })(DefaultFunctions || (DefaultFunctions = {})); /** Default function implementations for the expression evaluator. */ const DEFAULT_FUNCTIONS = { @@ -13750,6 +13783,7 @@ const DEFAULT_FUNCTIONS = { containsword: DefaultFunctions.containsword, reverse: DefaultFunctions.reverse, sort: DefaultFunctions.sort, + flat: DefaultFunctions.flat, // Aggregation operations like reduce. reduce: DefaultFunctions.reduce, join: DefaultFunctions.join, @@ -18906,7 +18940,6 @@ class DataviewApi { break; } childComponent.load(); - childComponent.onload(); } /** * Execute the given DataviewJS query, rendering results into the given container using the components lifecycle. @@ -19152,9 +19185,10 @@ class InlineWidget extends view.WidgetType { if (event.shiftKey) { // Set the cursor after the element so that it doesn't select starting from the last cursor position. if (currentPos) { - //@ts-ignore - const { editor } = this.view.state.field(obsidian.editorEditorField).state.field(obsidian.editorViewField); - editor.setCursor(editor.offsetToPos(currentPos)); + const { editor } = this.view.state.field(obsidian.editorInfoField); + if (editor) { + editor.setCursor(editor.offsetToPos(currentPos)); + } } return false; } @@ -19162,75 +19196,188 @@ class InlineWidget extends view.WidgetType { return true; } } -function getCssClasses(nodeName) { +function getCssClasses(props) { const classes = []; - if (nodeName.includes("strong")) { + if (props.has("strong")) { classes.push("cm-strong"); } - if (nodeName.includes("em")) { + if (props.has("em")) { classes.push("cm-em"); } - if (nodeName.includes("highlight")) { + if (props.has("highlight")) { classes.push("cm-highlight"); } - if (nodeName.includes("strikethrough")) { + if (props.has("strikethrough")) { classes.push("cm-strikethrough"); } - if (nodeName.includes("comment")) { + if (props.has("comment")) { classes.push("cm-comment"); } return classes; } -function inlineRender(view$1, index, dvSettings, api) { - // still doesn't work as expected for tables and callouts - if (!index.initialized) - return; - const currentFile = app.workspace.getActiveFile(); - if (!currentFile) - return; - const widgets = []; - const selection = view$1.state.selection; - /* before: - * em for italics - * highlight for highlight - * after: - * strong for bold - * strikethrough for strikethrough - */ - const regex = new RegExp(".*?_?inline-code_?.*"); - const PREAMBLE = "const dataview=this;const dv=this;"; - for (const { from, to } of view$1.visibleRanges) { - language.syntaxTree(view$1.state).iterate({ - from, - to, - enter: ({ node }) => { - const type = node.type; - // markdown formatting symbols - if (type.name.includes("formatting")) - return; - // current node is not inline code - if (!regex.test(type.name)) +function inlinePlugin(app, index, settings, api) { + return view.ViewPlugin.fromClass(class { + constructor(view$1) { + var _a; + this.component = new obsidian.Component(); + this.component.load(); + this.decorations = (_a = this.inlineRender(view$1)) !== null && _a !== void 0 ? _a : view.Decoration.none; + } + update(update) { + var _a; + // only activate in LP and not source mode + if (!update.state.field(obsidian.editorLivePreviewField)) { + this.decorations = view.Decoration.none; + return; + } + if (update.docChanged) { + this.decorations = this.decorations.map(update.changes); + this.updateTree(update.view); + } + else if (update.selectionSet) { + this.updateTree(update.view); + } + else if (update.viewportChanged /*|| update.selectionSet*/) { + this.decorations = (_a = this.inlineRender(update.view)) !== null && _a !== void 0 ? _a : view.Decoration.none; + } + } + updateTree(view) { + for (const { from, to } of view.visibleRanges) { + language.syntaxTree(view.state).iterate({ + from, + to, + enter: ({ node }) => { + const { render, isQuery } = this.renderNode(view, node); + if (!render && isQuery) { + this.removeDeco(node); + return; + } + else if (!render) { + return; + } + else if (render) { + this.addDeco(node, view); + } + }, + }); + } + } + removeDeco(node) { + this.decorations.between(node.from - 1, node.to + 1, (from, to, value) => { + this.decorations = this.decorations.update({ + filterFrom: from, + filterTo: to, + filter: (from, to, value) => false, + }); + }); + } + addDeco(node, view) { + var _a; + const from = node.from - 1; + const to = node.to + 1; + let exists = false; + this.decorations.between(from, to, (from, to, value) => { + exists = true; + }); + if (!exists) { + const currentFile = app.workspace.getActiveFile(); + if (!currentFile) return; + const newDeco = (_a = this.renderWidget(node, view, currentFile)) === null || _a === void 0 ? void 0 : _a.value; + if (newDeco) { + this.decorations = this.decorations.update({ + add: [{ from: from, to: to, value: newDeco }], + }); + } + } + } + // checks whether a node should get rendered/unrendered + renderNode(view, node) { + const type = node.type; + // current node is inline code + const tokenProps = type.prop(language.tokenClassNodeProp); + const props = new Set(tokenProps === null || tokenProps === void 0 ? void 0 : tokenProps.split(" ")); + if (props.has("inline-code") && !props.has("formatting")) { // contains the position of inline code const start = node.from; const end = node.to; // don't continue if current cursor position and inline code node (including formatting // symbols) overlap - if (selectionAndRangeOverlap(selection, start - 1, end + 1)) - return; - const text = view$1.state.doc.sliceString(start, end); - let code = ""; - let result = ""; - const el = createSpan({ - cls: ["dataview", "dataview-inline"], + const selection = view.state.selection; + if (selectionAndRangeOverlap(selection, start - 1, end + 1)) { + if (this.isInlineQuery(view, start, end)) { + return { render: false, isQuery: true }; + } + else { + return { render: false, isQuery: false }; + } + } + else if (this.isInlineQuery(view, start, end)) { + return { render: true, isQuery: true }; + } + } + return { render: false, isQuery: false }; + } + isInlineQuery(view, start, end) { + const text = view.state.doc.sliceString(start, end); + const isInlineQuery = text.startsWith(settings.inlineQueryPrefix) || text.startsWith(settings.inlineJsQueryPrefix); + return isInlineQuery; + } + inlineRender(view$1) { + // still doesn't work as expected for tables and callouts + if (!index.initialized) + return; + const currentFile = app.workspace.getActiveFile(); + if (!currentFile) + return; + const widgets = []; + /* before: + * em for italics + * highlight for highlight + * after: + * strong for bold + * strikethrough for strikethrough + */ + for (const { from, to } of view$1.visibleRanges) { + language.syntaxTree(view$1.state).iterate({ + from, + to, + enter: ({ node }) => { + if (!this.renderNode(view$1, node).render) + return; + const widget = this.renderWidget(node, view$1, currentFile); + if (widget) { + widgets.push(widget); + } + }, }); - /* If the query result is predefined text (e.g. in the case of errors), set innerText to it. - * Otherwise, pass on an empty element and fill it in later. - * This is necessary because {@link InlineWidget.toDOM} is synchronous but some rendering - * asynchronous. - */ - if (dvSettings.inlineQueryPrefix.length > 0 && text.startsWith(dvSettings.inlineQueryPrefix)) { - code = text.substring(dvSettings.inlineQueryPrefix.length).trim(); + } + return view.Decoration.set(widgets, true); + } + renderWidget(node, view$1, currentFile) { + const type = node.type; + // contains the position of inline code + const start = node.from; + const end = node.to; + // safety net against unclosed inline code + if (view$1.state.doc.sliceString(end, end + 1) === "\n") { + return; + } + const text = view$1.state.doc.sliceString(start, end); + let code = ""; + let result = ""; + const PREAMBLE = "const dataview=this;const dv=this;"; + const el = createSpan({ + cls: ["dataview", "dataview-inline"], + }); + /* If the query result is predefined text (e.g. in the case of errors), set innerText to it. + * Otherwise, pass on an empty element and fill it in later. + * This is necessary because {@link InlineWidget.toDOM} is synchronous but some rendering + * asynchronous. + */ + if (text.startsWith(settings.inlineQueryPrefix)) { + if (settings.enableInlineDataview) { + code = text.substring(settings.inlineQueryPrefix.length).trim(); const field = tryOrPropogate(() => parseField(code)); if (!field.successful) { result = `Dataview (inline field '${code}'): ${field.error}`; @@ -19238,7 +19385,7 @@ function inlineRender(view$1, index, dvSettings, api) { } else { const fieldValue = field.value; - const intermediateResult = tryOrPropogate(() => executeInline(fieldValue, currentFile.path, index, dvSettings)); + const intermediateResult = tryOrPropogate(() => executeInline(fieldValue, currentFile.path, index, settings)); if (!intermediateResult.successful) { result = `Dataview (for inline query '${fieldValue}'): ${intermediateResult.error}`; el.innerText = result; @@ -19246,74 +19393,61 @@ function inlineRender(view$1, index, dvSettings, api) { else { const { value } = intermediateResult; result = value; - renderValue(result, el, currentFile.path, null, dvSettings); + renderValue(result, el, currentFile.path, this.component, settings); } } } - else if (dvSettings.inlineJsQueryPrefix.length > 0 && - text.startsWith(dvSettings.inlineJsQueryPrefix)) { - if (dvSettings.enableInlineDataviewJs) { - code = text.substring(dvSettings.inlineJsQueryPrefix.length).trim(); - try { - // for setting the correct context for dv/dataview - const myEl = createDiv(); - const dvInlineApi = new DataviewInlineApi(api, null, myEl, currentFile.path); - if (code.includes("await")) { - evalInContext("(async () => { " + PREAMBLE + code + " })()").then((result) => { - renderValue(result, el, currentFile.path, null, dvSettings); - }); - } - else { - result = evalInContext(PREAMBLE + code); - renderValue(result, el, currentFile.path, null, dvSettings); - } - function evalInContext(script) { - return function () { - return eval(script); - }.call(dvInlineApi); - } + else { + result = "(disabled; enable in settings)"; + el.innerText = result; + } + } + else if (text.startsWith(settings.inlineJsQueryPrefix)) { + if (settings.enableInlineDataviewJs) { + code = text.substring(settings.inlineJsQueryPrefix.length).trim(); + try { + // for setting the correct context for dv/dataview + const myEl = createDiv(); + const dvInlineApi = new DataviewInlineApi(api, this.component, myEl, currentFile.path); + if (code.includes("await")) { + evalInContext("(async () => { " + PREAMBLE + code + " })()").then((result) => { + renderValue(result, el, currentFile.path, this.component, settings); + }); } - catch (e) { - result = `Dataview (for inline JS query '${code}'): ${e}`; - el.innerText = result; + else { + result = evalInContext(PREAMBLE + code); + renderValue(result, el, currentFile.path, this.component, settings); + } + function evalInContext(script) { + return function () { + return eval(script); + }.call(dvInlineApi); } } - else { - result = "(disabled; enable in settings)"; + catch (e) { + result = `Dataview (for inline JS query '${code}'): ${e}`; el.innerText = result; } } else { - return; + result = "(disabled; enable in settings)"; + el.innerText = result; } - const classes = getCssClasses(type.name); - widgets.push(view.Decoration.replace({ - widget: new InlineWidget(classes, code, el, view$1), - inclusive: false, - block: false, - }).range(start - 1, end + 1)); - }, - }); - } - return view.Decoration.set(widgets, true); -} -function inlinePlugin(index, settings, api) { - return view.ViewPlugin.fromClass(class { - constructor(view$1) { - var _a; - this.decorations = (_a = inlineRender(view$1, index, settings, api)) !== null && _a !== void 0 ? _a : view.Decoration.none; - } - update(update) { - var _a; - // only activate in LP and not source mode - //@ts-ignore - if (!update.state.field(obsidian.editorLivePreviewField)) { - this.decorations = view.Decoration.none; + } + else { return; } - if (update.docChanged || update.viewportChanged || update.selectionSet) { - this.decorations = (_a = inlineRender(update.view, index, settings, api)) !== null && _a !== void 0 ? _a : view.Decoration.none; - } + const tokenProps = type.prop(language.tokenClassNodeProp); + const props = new Set(tokenProps === null || tokenProps === void 0 ? void 0 : tokenProps.split(" ")); + const classes = getCssClasses(props); + return view.Decoration.replace({ + widget: new InlineWidget(classes, code, el, view$1), + inclusive: false, + block: false, + }).range(start - 1, end + 1); + } + destroy() { + this.component.unload(); } }, { decorations: v => v.decorations }); } @@ -19366,8 +19500,10 @@ class DataviewPlugin extends obsidian.Plugin { } }); // editor extension for inline queries - this.cmExtension = [inlinePlugin(this.index, this.settings, this.api)]; - this.registerEditorExtension(this.cmExtension); + if (this.settings.enableInlineDataview || this.settings.enableInlineDataviewJs) { + this.cmExtension = [inlinePlugin(this.app, this.index, this.settings, this.api)]; + this.registerEditorExtension(this.cmExtension); + } // Dataview "force refresh" operation. this.addCommand({ id: "dataview-force-refresh-views", @@ -19749,4 +19885,4 @@ class GeneralSettingsTab extends obsidian.PluginSettingTab { } module.exports = DataviewPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9lcnJvcnMuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvc3lzdGVtWm9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvSUFOQVpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvbG9jYWxlLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy96b25lcy9maXhlZE9mZnNldFpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ludmFsaWRab25lLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL3pvbmVVdGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9zZXR0aW5ncy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC91dGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2VuZ2xpc2guanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0dGVyLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2ludmFsaWQuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvcmVnZXhQYXJzZXIuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2R1cmF0aW9uLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbnRlcnZhbC5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW5mby5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9kaWZmLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZ2l0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC90b2tlblBhcnNlci5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9jb252ZXJzaW9ucy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZGF0ZXRpbWUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2x1eG9uLmpzIiwiLi4vc3JjL3NldHRpbmdzLnRzIiwiLi4vc3JjL2FwaS9yZXN1bHQudHMiLCIuLi9ub2RlX21vZHVsZXMvcGFyc2ltbW9uL2J1aWxkL3BhcnNpbW1vbi51bWQubWluLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Vtb2ppLXJlZ2V4L2luZGV4LmpzIiwiLi4vc3JjL3V0aWwvbm9ybWFsaXplLnRzIiwiLi4vc3JjL2RhdGEtbW9kZWwvdmFsdWUudHMiLCIuLi9zcmMvYXBpL2RhdGEtYXJyYXkudHMiLCIuLi9zcmMvdXRpbC9sb2NhbGUudHMiLCIuLi9zcmMvdWkvcmVuZGVyLnRzIiwiLi4vbm9kZV9tb2R1bGVzL3BhcGFwYXJzZS9wYXBhcGFyc2UubWluLmpzIiwiLi4vc3JjL2V4cHJlc3Npb24vZmllbGQudHMiLCIuLi9zcmMvZGF0YS1pbmRleC9zb3VyY2UudHMiLCIuLi9zcmMvZXhwcmVzc2lvbi9wYXJzZS50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC9pbmxpbmUtZmllbGQudHMiLCIuLi9zcmMvZGF0YS1tb2RlbC9tYXJrZG93bi50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC9tYXJrZG93bi1maWxlLnRzIiwiLi4vc3JjL2RhdGEtaW1wb3J0L2Nzdi50cyIsIi4uL3NyYy9kYXRhLW1vZGVsL3RyYW5zZmVyYWJsZS50cyIsIi4uL25vZGVfbW9kdWxlcy9sb2NhbGZvcmFnZS9kaXN0L2xvY2FsZm9yYWdlLmpzIiwiLi4vc3JjL2RhdGEtaW1wb3J0L3BlcnNpc3Rlci50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC93ZWItd29ya2VyL2ltcG9ydC1tYW5hZ2VyLnRzIiwiLi4vc3JjL2RhdGEtaW5kZXgvaW5kZXgudHMiLCIuLi9zcmMvZGF0YS1pbmRleC9yZXNvbHZlci50cyIsIi4uL3NyYy9leHByZXNzaW9uL2Z1bmN0aW9ucy50cyIsIi4uL3NyYy9leHByZXNzaW9uL2JpbmFyeW9wLnRzIiwiLi4vc3JjL2V4cHJlc3Npb24vY29udGV4dC50cyIsIi4uL3NyYy9xdWVyeS9lbmdpbmUudHMiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFyZS12ZXJzaW9ucy9pbmRleC5tanMiLCIuLi9ub2RlX21vZHVsZXMvcHJlYWN0L2Rpc3QvcHJlYWN0Lm1vZHVsZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanMiLCIuLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9kaXN0L2NvbXBhdC5tb2R1bGUuanMiLCIuLi9zcmMvdXRpbC9tZWRpYS50cyIsIi4uL3NyYy91aS9tYXJrZG93bi50c3giLCIuLi9zcmMvdWkvdmlld3MvdGFzay12aWV3LnRzeCIsIi4uL3NyYy91aS92aWV3cy9saXN0LXZpZXcudHN4IiwiLi4vc3JjL3VpL3ZpZXdzL3RhYmxlLXZpZXcudHN4IiwiLi4vc3JjL3F1ZXJ5L3F1ZXJ5LnRzIiwiLi4vc3JjL3F1ZXJ5L3BhcnNlLnRzIiwiLi4vbm9kZV9tb2R1bGVzL29ic2lkaWFuLWNhbGVuZGFyLXVpL2Rpc3QvaW5kZXgubWpzIiwiLi4vc3JjL3VpL3JlZnJlc2hhYmxlLXZpZXcudHMiLCIuLi9zcmMvdWkvdmlld3MvY2FsZW5kYXItdmlldy50cyIsIi4uL3NyYy9hcGkvaW5saW5lLWFwaS50cyIsIi4uL3NyYy91aS92aWV3cy9qcy12aWV3LnRzIiwiLi4vc3JjL3VpL2V4cG9ydC9tYXJrZG93bi50cyIsIi4uL3NyYy9hcGkvcGx1Z2luLWFwaS50cyIsIi4uL3NyYy91aS92aWV3cy9pbmxpbmUtdmlldy50cyIsIi4uL3NyYy91aS92aWV3cy9pbmxpbmUtZmllbGQudHN4IiwiLi4vc3JjL3VpL2xwLXJlbmRlci50cyIsIi4uL3NyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJuIiwicyIsImwiLCJzaW5nbGV0b24iLCJFbmdsaXNoLmZvcm1hdFJlbGF0aXZlVGltZSIsIkVuZ2xpc2gubW9udGhzIiwiRW5nbGlzaC53ZWVrZGF5cyIsIkVuZ2xpc2gubWVyaWRpZW1zIiwiRW5nbGlzaC5lcmFzIiwiRm9ybWF0cy5EQVRFX1NIT1JUIiwiRm9ybWF0cy5EQVRFX01FRCIsIkZvcm1hdHMuREFURV9GVUxMIiwiRm9ybWF0cy5EQVRFX0hVR0UiLCJGb3JtYXRzLlRJTUVfU0lNUExFIiwiRm9ybWF0cy5USU1FX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCIsIkZvcm1hdHMuVElNRV9XSVRIX0xPTkdfT0ZGU0VUIiwiRm9ybWF0cy5USU1FXzI0X1NJTVBMRSIsIkZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMiLCJGb3JtYXRzLlRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQiLCJGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCIsIkZvcm1hdHMuREFURVRJTUVfU0hPUlQiLCJGb3JtYXRzLkRBVEVUSU1FX01FRCIsIkZvcm1hdHMuREFURVRJTUVfRlVMTCIsIkZvcm1hdHMuREFURVRJTUVfSFVHRSIsIkZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTIiwiRm9ybWF0cy5EQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTIiwiRm9ybWF0cy5EQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMiLCJFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLm1vbnRoRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLndlZWtkYXlGb3JEYXRlVGltZSIsIkVuZ2xpc2guZXJhRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLm1vbnRoc1Nob3J0IiwiRW5nbGlzaC53ZWVrZGF5c0xvbmciLCJFbmdsaXNoLndlZWtkYXlzU2hvcnQiLCJJTlZBTElEIiwib3JkZXJlZFVuaXRzIiwiY2xvbmUiLCJGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSIsIkZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSIsInRoaXMiLCJQLmFsdCIsIlAucmVnZXgiLCJQLndoaXRlc3BhY2UiLCJQLmFueSIsIk1hcmtkb3duUmVuZGVyZXIiLCJQLnNlcU1hcCIsIlAuc2VxIiwiUC5vcHRXaGl0ZXNwYWNlIiwiUC5jdXN0b20iLCJQLmNyZWF0ZUxhbmd1YWdlIiwiUC5yZWdleHAiLCJQLnN0cmluZyIsIlAubm9uZU9mIiwiUC5zdWNjZWVkIiwiUC5mYWlsIiwiTGlzdEl0ZW0iLCJQYXBhLnBhcnNlIiwicmVxdWlyZSIsImdsb2JhbCIsIkNvbXBvbmVudCIsIkRhdGF2aWV3SW1wb3J0V29ya2VyIiwiVEZpbGUiLCJURm9sZGVyIiwidSIsInQiLCJvIiwiciIsImYiLCJlIiwiYyIsImEiLCJoIiwidiIsInkiLCJwIiwiZCIsIl8iLCJrIiwiYiIsIm0iLCJnIiwiaiIsInoiLCJ3IiwieCIsIlAiLCJOIiwiTSIsIkEiLCJDIiwiSCIsIiQiLCJUIiwiSSIsIk8iLCJMIiwiUyIsInEiLCJCIiwiRCIsIkYiLCJpIiwiY3JlYXRlQ29udGV4dCIsInVzZVJlZiIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsInVzZVN0YXRlIiwiTWFya2Rvd25SZW5kZXJDaGlsZCIsInJlbmRlciIsInVubW91bnRDb21wb25lbnRBdE5vZGUiLCJQbGF0Zm9ybSIsIlJlc3VsdENvdW50IiwiUC5zZXBCeSIsIldpZGdldFR5cGUiLCJlZGl0b3JFZGl0b3JGaWVsZCIsImVkaXRvclZpZXdGaWVsZCIsInZpZXciLCJzeW50YXhUcmVlIiwiRGVjb3JhdGlvbiIsIlZpZXdQbHVnaW4iLCJlZGl0b3JMaXZlUHJldmlld0ZpZWxkIiwiUGx1Z2luIiwiZGVib3VuY2UiLCJQbHVnaW5TZXR0aW5nVGFiIiwiU2V0dGluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sVUFBVSxTQUFTLEtBQUssQ0FBQyxFQUFFO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTSxvQkFBb0IsU0FBUyxVQUFVLENBQUM7QUFDckQsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ3RCLElBQUksS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNLG9CQUFvQixTQUFTLFVBQVUsQ0FBQztBQUNyRCxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUU7QUFDdEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU0sb0JBQW9CLFNBQVMsVUFBVSxDQUFDO0FBQ3JELEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtBQUN0QixJQUFJLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTSw2QkFBNkIsU0FBUyxVQUFVLENBQUMsRUFBRTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU0sZ0JBQWdCLFNBQVMsVUFBVSxDQUFDO0FBQ2pELEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRTtBQUNwQixJQUFJLEtBQUssQ0FBQyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU0sb0JBQW9CLFNBQVMsVUFBVSxDQUFDLEVBQUU7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNLG1CQUFtQixTQUFTLFVBQVUsQ0FBQztBQUNwRCxFQUFFLFdBQVcsR0FBRztBQUNoQixJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3ZDLEdBQUc7QUFDSDs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxHQUFDLEdBQUcsU0FBUztBQUNuQixFQUFFQyxHQUFDLEdBQUcsT0FBTztBQUNiLEVBQUVDLEdBQUMsR0FBRyxNQUFNLENBQUM7QUFDYjtBQUNPLE1BQU0sVUFBVSxHQUFHO0FBQzFCLEVBQUUsSUFBSSxFQUFFRixHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVBLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUEsR0FBQztBQUNSLENBQUMsQ0FBQztBQUNGO0FBQ08sTUFBTSxRQUFRLEdBQUc7QUFDeEIsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLEtBQUssRUFBRUMsR0FBQztBQUNWLEVBQUUsR0FBRyxFQUFFRCxHQUFDO0FBQ1IsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLHFCQUFxQixHQUFHO0FBQ3JDLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVDLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUQsR0FBQztBQUNSLEVBQUUsT0FBTyxFQUFFQyxHQUFDO0FBQ1osQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLFNBQVMsR0FBRztBQUN6QixFQUFFLElBQUksRUFBRUQsR0FBQztBQUNULEVBQUUsS0FBSyxFQUFFRSxHQUFDO0FBQ1YsRUFBRSxHQUFHLEVBQUVGLEdBQUM7QUFDUixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sU0FBUyxHQUFHO0FBQ3pCLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVFLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUYsR0FBQztBQUNSLEVBQUUsT0FBTyxFQUFFRSxHQUFDO0FBQ1osQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLFdBQVcsR0FBRztBQUMzQixFQUFFLElBQUksRUFBRUYsR0FBQztBQUNULEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLGlCQUFpQixHQUFHO0FBQ2pDLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLENBQUMsQ0FBQztBQUNGO0FBQ08sTUFBTSxzQkFBc0IsR0FBRztBQUN0QyxFQUFFLElBQUksRUFBRUEsR0FBQztBQUNULEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLFlBQVksRUFBRUMsR0FBQztBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0scUJBQXFCLEdBQUc7QUFDckMsRUFBRSxJQUFJLEVBQUVELEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxZQUFZLEVBQUVFLEdBQUM7QUFDakIsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLGNBQWMsR0FBRztBQUM5QixFQUFFLElBQUksRUFBRUYsR0FBQztBQUNULEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxTQUFTLEVBQUUsS0FBSztBQUNsQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sb0JBQW9CLEdBQUc7QUFDcEMsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxTQUFTLEVBQUUsS0FBSztBQUNsQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0seUJBQXlCLEdBQUc7QUFDekMsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxTQUFTLEVBQUUsS0FBSztBQUNsQixFQUFFLFlBQVksRUFBRUMsR0FBQztBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sd0JBQXdCLEdBQUc7QUFDeEMsRUFBRSxJQUFJLEVBQUVELEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxTQUFTLEVBQUUsS0FBSztBQUNsQixFQUFFLFlBQVksRUFBRUUsR0FBQztBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sY0FBYyxHQUFHO0FBQzlCLEVBQUUsSUFBSSxFQUFFRixHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVBLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUEsR0FBQztBQUNSLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sMkJBQTJCLEdBQUc7QUFDM0MsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLEtBQUssRUFBRUEsR0FBQztBQUNWLEVBQUUsR0FBRyxFQUFFQSxHQUFDO0FBQ1IsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLFlBQVksR0FBRztBQUM1QixFQUFFLElBQUksRUFBRUEsR0FBQztBQUNULEVBQUUsS0FBSyxFQUFFQyxHQUFDO0FBQ1YsRUFBRSxHQUFHLEVBQUVELEdBQUM7QUFDUixFQUFFLElBQUksRUFBRUEsR0FBQztBQUNULEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLHlCQUF5QixHQUFHO0FBQ3pDLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVDLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUQsR0FBQztBQUNSLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLENBQUMsQ0FBQztBQUNGO0FBQ08sTUFBTSx5QkFBeUIsR0FBRztBQUN6QyxFQUFFLElBQUksRUFBRUEsR0FBQztBQUNULEVBQUUsS0FBSyxFQUFFQyxHQUFDO0FBQ1YsRUFBRSxHQUFHLEVBQUVELEdBQUM7QUFDUixFQUFFLE9BQU8sRUFBRUMsR0FBQztBQUNaLEVBQUUsSUFBSSxFQUFFRCxHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sYUFBYSxHQUFHO0FBQzdCLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxLQUFLLEVBQUVFLEdBQUM7QUFDVixFQUFFLEdBQUcsRUFBRUYsR0FBQztBQUNSLEVBQUUsSUFBSSxFQUFFQSxHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLFlBQVksRUFBRUMsR0FBQztBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sMEJBQTBCLEdBQUc7QUFDMUMsRUFBRSxJQUFJLEVBQUVELEdBQUM7QUFDVCxFQUFFLEtBQUssRUFBRUUsR0FBQztBQUNWLEVBQUUsR0FBRyxFQUFFRixHQUFDO0FBQ1IsRUFBRSxJQUFJLEVBQUVBLEdBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRUEsR0FBQztBQUNYLEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxZQUFZLEVBQUVDLEdBQUM7QUFDakIsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLGFBQWEsR0FBRztBQUM3QixFQUFFLElBQUksRUFBRUQsR0FBQztBQUNULEVBQUUsS0FBSyxFQUFFRSxHQUFDO0FBQ1YsRUFBRSxHQUFHLEVBQUVGLEdBQUM7QUFDUixFQUFFLE9BQU8sRUFBRUUsR0FBQztBQUNaLEVBQUUsSUFBSSxFQUFFRixHQUFDO0FBQ1QsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLFlBQVksRUFBRUUsR0FBQztBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sMEJBQTBCLEdBQUc7QUFDMUMsRUFBRSxJQUFJLEVBQUVGLEdBQUM7QUFDVCxFQUFFLEtBQUssRUFBRUUsR0FBQztBQUNWLEVBQUUsR0FBRyxFQUFFRixHQUFDO0FBQ1IsRUFBRSxPQUFPLEVBQUVFLEdBQUM7QUFDWixFQUFFLElBQUksRUFBRUYsR0FBQztBQUNULEVBQUUsTUFBTSxFQUFFQSxHQUFDO0FBQ1gsRUFBRSxNQUFNLEVBQUVBLEdBQUM7QUFDWCxFQUFFLFlBQVksRUFBRUUsR0FBQztBQUNqQixDQUFDOztBQzdLRDtBQUNBO0FBQ0E7QUFDZSxNQUFNLElBQUksQ0FBQztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxJQUFJLElBQUksR0FBRztBQUNiLElBQUksTUFBTSxJQUFJLG1CQUFtQixFQUFFLENBQUM7QUFDcEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsSUFBSSxJQUFJLEdBQUc7QUFDYixJQUFJLE1BQU0sSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQ3BDLEdBQUc7QUFDSDtBQUNBLEVBQUUsSUFBSSxRQUFRLEdBQUc7QUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsSUFBSSxXQUFXLEdBQUc7QUFDcEIsSUFBSSxNQUFNLElBQUksbUJBQW1CLEVBQUUsQ0FBQztBQUNwQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFO0FBQ3ZCLElBQUksTUFBTSxJQUFJLG1CQUFtQixFQUFFLENBQUM7QUFDcEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDM0IsSUFBSSxNQUFNLElBQUksbUJBQW1CLEVBQUUsQ0FBQztBQUNwQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7QUFDYixJQUFJLE1BQU0sSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQ3BDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtBQUNwQixJQUFJLE1BQU0sSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQ3BDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksT0FBTyxHQUFHO0FBQ2hCLElBQUksTUFBTSxJQUFJLG1CQUFtQixFQUFFLENBQUM7QUFDcEMsR0FBRztBQUNIOztBQ3ZGQSxJQUFJQyxXQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFNLFVBQVUsU0FBUyxJQUFJLENBQUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFdBQVcsUUFBUSxHQUFHO0FBQ3hCLElBQUksSUFBSUEsV0FBUyxLQUFLLElBQUksRUFBRTtBQUM1QixNQUFNQSxXQUFTLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUNuQyxLQUFLO0FBQ0wsSUFBSSxPQUFPQSxXQUFTLENBQUM7QUFDckIsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHO0FBQ2IsSUFBSSxPQUFPLFFBQVEsQ0FBQztBQUNwQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxJQUFJLEdBQUc7QUFDYixJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ2hFLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxJQUFJLFdBQVcsR0FBRztBQUNwQixJQUFJLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO0FBQ3JDLElBQUksT0FBTyxhQUFhLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDM0IsSUFBSSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO0FBQ2IsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztBQUM3QyxHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtBQUNwQixJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFDdkMsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLElBQUksT0FBTyxHQUFHO0FBQ2hCLElBQUksT0FBTyxJQUFJLENBQUM7QUFDaEIsR0FBRztBQUNIOztBQ3pEQSxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDbEIsU0FBUyxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ3ZCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUN2QixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO0FBQ3RELE1BQU0sTUFBTSxFQUFFLEtBQUs7QUFDbkIsTUFBTSxRQUFRLEVBQUUsSUFBSTtBQUNwQixNQUFNLElBQUksRUFBRSxTQUFTO0FBQ3JCLE1BQU0sS0FBSyxFQUFFLFNBQVM7QUFDdEIsTUFBTSxHQUFHLEVBQUUsU0FBUztBQUNwQixNQUFNLElBQUksRUFBRSxTQUFTO0FBQ3JCLE1BQU0sTUFBTSxFQUFFLFNBQVM7QUFDdkIsTUFBTSxNQUFNLEVBQUUsU0FBUztBQUN2QixNQUFNLEdBQUcsRUFBRSxPQUFPO0FBQ2xCLEtBQUssQ0FBQyxDQUFDO0FBQ1AsR0FBRztBQUNILEVBQUUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUNEO0FBQ0EsTUFBTSxTQUFTLEdBQUc7QUFDbEIsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNULEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDVixFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ1IsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNSLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDVCxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ1gsRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUNYLENBQUMsQ0FBQztBQUNGO0FBQ0EsU0FBUyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRTtBQUNoQyxFQUFFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7QUFDM0QsSUFBSSxNQUFNLEdBQUcsaURBQWlELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztBQUM5RSxJQUFJLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3ZFLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFDRDtBQUNBLFNBQVMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDaEMsRUFBRSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDLEVBQUUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxJQUFJLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQztBQUNBLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO0FBQ3hCLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUMxQixLQUFLLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNsQyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBQ0Q7QUFDQSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFNLFFBQVEsU0FBUyxJQUFJLENBQUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRTtBQUN0QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDOUIsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0MsS0FBSztBQUNMLElBQUksT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sVUFBVSxHQUFHO0FBQ3RCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUN2QixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDbEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUU7QUFDN0IsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFO0FBQzNCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNmLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMLElBQUksSUFBSTtBQUNSLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3BFLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQ2hCLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRTtBQUNwQixJQUFJLEtBQUssRUFBRSxDQUFDO0FBQ1o7QUFDQSxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3pCO0FBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUMsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHO0FBQ2IsSUFBSSxPQUFPLE1BQU0sQ0FBQztBQUNsQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxJQUFJLEdBQUc7QUFDYixJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUN6QixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxXQUFXLEdBQUc7QUFDcEIsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtBQUNyQyxJQUFJLE9BQU8sYUFBYSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDM0IsSUFBSSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO0FBQ2IsSUFBSSxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QjtBQUNBLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUM7QUFDaEM7QUFDQSxJQUFJLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWE7QUFDNUUsUUFBUSxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztBQUM5QixRQUFRLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0I7QUFDQSxJQUFJLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtBQUN6QixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pDLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSSxNQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDaEQ7QUFDQSxJQUFJLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQztBQUMvQixNQUFNLElBQUk7QUFDVixNQUFNLEtBQUs7QUFDWCxNQUFNLEdBQUc7QUFDVCxNQUFNLElBQUksRUFBRSxZQUFZO0FBQ3hCLE1BQU0sTUFBTTtBQUNaLE1BQU0sTUFBTTtBQUNaLE1BQU0sV0FBVyxFQUFFLENBQUM7QUFDcEIsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDckIsSUFBSSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQzdCLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFDM0MsSUFBSSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDeEMsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUU7QUFDcEIsSUFBSSxPQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztBQUNyRSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxPQUFPLEdBQUc7QUFDaEIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDdEIsR0FBRztBQUNIOztBQ3RMQTtBQUNBO0FBQ0EsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLFNBQVMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzNDLEVBQUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2hELEVBQUUsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNaLElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzNCLEdBQUc7QUFDSCxFQUFFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUNEO0FBQ0EsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLFNBQVMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzVDLEVBQUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2hELEVBQUUsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNaLElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkQsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzNCLEdBQUc7QUFDSCxFQUFFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUNEO0FBQ0EsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFNBQVMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzVDLEVBQUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2hELEVBQUUsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNaLElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVCLEdBQUc7QUFDSCxFQUFFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUNEO0FBQ0EsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFNBQVMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzVDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztBQUN6QyxFQUFFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN4RCxFQUFFLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVCLEdBQUc7QUFDSCxFQUFFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUNEO0FBQ0EsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQzFCLFNBQVMsWUFBWSxHQUFHO0FBQ3hCLEVBQUUsSUFBSSxjQUFjLEVBQUU7QUFDdEIsSUFBSSxPQUFPLGNBQWMsQ0FBQztBQUMxQixHQUFHLE1BQU07QUFDVCxJQUFJLGNBQWMsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7QUFDeEUsSUFBSSxPQUFPLGNBQWMsQ0FBQztBQUMxQixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsU0FBUyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxFQUFFLElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO0FBQ3JCLElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9DLEdBQUc7QUFDSDtBQUNBLEVBQUUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxFQUFFLElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO0FBQ3JCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZCLEdBQUcsTUFBTTtBQUNULElBQUksSUFBSSxPQUFPLENBQUM7QUFDaEIsSUFBSSxJQUFJLFdBQVcsQ0FBQztBQUNwQixJQUFJLElBQUk7QUFDUixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDMUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUNoQixNQUFNLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3JELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFDNUIsS0FBSztBQUNMO0FBQ0EsSUFBSSxNQUFNLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNsRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQSxTQUFTLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFO0FBQ3RFLEVBQUUsSUFBSSxjQUFjLElBQUksZUFBZSxFQUFFO0FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDcEMsTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDO0FBQ3hCLEtBQUs7QUFDTDtBQUNBLElBQUksSUFBSSxjQUFjLEVBQUU7QUFDeEIsTUFBTSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUMzQyxLQUFLO0FBQ0w7QUFDQSxJQUFJLElBQUksZUFBZSxFQUFFO0FBQ3pCLE1BQU0sU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUMsS0FBSztBQUNMLElBQUksT0FBTyxTQUFTLENBQUM7QUFDckIsR0FBRyxNQUFNO0FBQ1QsSUFBSSxPQUFPLFNBQVMsQ0FBQztBQUNyQixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFO0FBQ3RCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ2hCLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoQyxJQUFJLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4QyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkIsR0FBRztBQUNILEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBQ0Q7QUFDQSxTQUFTLFdBQVcsQ0FBQyxDQUFDLEVBQUU7QUFDeEIsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDaEIsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQy9CLElBQUksTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5QyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkIsR0FBRztBQUNILEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBQ0Q7QUFDQSxTQUFTLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0FBQzlELEVBQUUsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQztBQUNBLEVBQUUsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO0FBQ3hCLElBQUksT0FBTyxJQUFJLENBQUM7QUFDaEIsR0FBRyxNQUFNLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtBQUM1QixJQUFJLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLEdBQUcsTUFBTTtBQUNULElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBLFNBQVMsbUJBQW1CLENBQUMsR0FBRyxFQUFFO0FBQ2xDLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxlQUFlLEtBQUssTUFBTSxFQUFFO0FBQzdELElBQUksT0FBTyxLQUFLLENBQUM7QUFDakIsR0FBRyxNQUFNO0FBQ1QsSUFBSTtBQUNKLE1BQU0sR0FBRyxDQUFDLGVBQWUsS0FBSyxNQUFNO0FBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTTtBQUNqQixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztBQUNqQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsZUFBZSxLQUFLLE1BQU07QUFDcEYsTUFBTTtBQUNOLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sbUJBQW1CLENBQUM7QUFDMUIsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQztBQUNyQztBQUNBLElBQUksTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDaEQ7QUFDQSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQzNELE1BQU0sTUFBTSxRQUFRLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7QUFDdkQsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JFLE1BQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUU7QUFDWixJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNsQixNQUFNLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkQsTUFBTSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLEtBQUssTUFBTTtBQUNYO0FBQ0EsTUFBTSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvRCxNQUFNLE9BQU8sUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekMsS0FBSztBQUNMLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0saUJBQWlCLENBQUM7QUFDeEIsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7QUFDOUIsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztBQUNyQjtBQUNBLElBQUksSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO0FBQ3RCLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLE9BQU8sR0FBRyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RixNQUFNLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUU7QUFDN0QsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLFFBQVEsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsT0FBTyxNQUFNO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbEIsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDL0IsVUFBVSxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN2QixTQUFTLE1BQU07QUFDZixVQUFVLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUM5RixTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUssTUFBTSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtBQUMxQyxNQUFNLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ25CLEtBQUssTUFBTTtBQUNYLE1BQU0sSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDbkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDdkIsS0FBSztBQUNMO0FBQ0EsSUFBSSxNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3RDLElBQUksUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztBQUMvQyxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM1QyxHQUFHO0FBQ0g7QUFDQSxFQUFFLE1BQU0sR0FBRztBQUNYLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDL0MsR0FBRztBQUNIO0FBQ0EsRUFBRSxhQUFhLEdBQUc7QUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN0RCxHQUFHO0FBQ0g7QUFDQSxFQUFFLGVBQWUsR0FBRztBQUNwQixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUN0QyxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QixFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRTtBQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7QUFDM0MsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFdBQVcsRUFBRSxFQUFFO0FBQ3JDLE1BQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFDLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3RCLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ2xCLE1BQU0sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDMUMsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPQyxrQkFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0FBQ3BHLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQzdCLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ2xCLE1BQU0sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLEVBQUUsQ0FBQztBQUNoQixLQUFLO0FBQ0wsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTSxNQUFNLENBQUM7QUFDNUIsRUFBRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUU7QUFDeEIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25HLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRTtBQUM5RSxJQUFJLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDO0FBQzdEO0FBQ0EsSUFBSSxNQUFNLE9BQU8sR0FBRyxlQUFlLEtBQUssV0FBVyxHQUFHLE9BQU8sR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQ2hGLElBQUksTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLElBQUksUUFBUSxDQUFDLHNCQUFzQixDQUFDO0FBQ2hGLElBQUksTUFBTSxlQUFlLEdBQUcsY0FBYyxJQUFJLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztBQUM3RSxJQUFJLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNuRixHQUFHO0FBQ0g7QUFDQSxFQUFFLE9BQU8sVUFBVSxHQUFHO0FBQ3RCLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztBQUMxQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDckIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN0QixHQUFHO0FBQ0g7QUFDQSxFQUFFLE9BQU8sVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLEVBQUU7QUFDdEUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNsRSxHQUFHO0FBQ0g7QUFDQSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUU7QUFDbEUsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEc7QUFDQSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO0FBQy9CLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLElBQUkscUJBQXFCLElBQUksSUFBSSxDQUFDO0FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLElBQUksb0JBQW9CLElBQUksSUFBSSxDQUFDO0FBQ3pFLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3pGO0FBQ0EsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDeEQsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDdEQsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztBQUM5QixJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCO0FBQ0EsSUFBSSxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztBQUMzQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFDbEMsR0FBRztBQUNIO0FBQ0EsRUFBRSxJQUFJLFdBQVcsR0FBRztBQUNwQixJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtBQUN4QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6RCxLQUFLO0FBQ0w7QUFDQSxJQUFJLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0FBQ2xDLEdBQUc7QUFDSDtBQUNBLEVBQUUsV0FBVyxHQUFHO0FBQ2hCLElBQUksTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzFDLElBQUksTUFBTSxjQUFjO0FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLE1BQU07QUFDdkUsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQzFFLElBQUksT0FBTyxZQUFZLElBQUksY0FBYyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7QUFDMUQsR0FBRztBQUNIO0FBQ0EsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0FBQ2hFLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLE1BQU0sQ0FBQyxNQUFNO0FBQzFCLFFBQVEsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZTtBQUMzQyxRQUFRLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWU7QUFDcEQsUUFBUSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjO0FBQ2xELFFBQVEsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLO0FBQ2pDLE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzNCLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDdEQsR0FBRztBQUNIO0FBQ0EsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQy9CLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDdkQsR0FBRztBQUNIO0FBQ0EsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRTtBQUNuRCxJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFQyxNQUFjLEVBQUUsTUFBTTtBQUNwRSxNQUFNLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUNqRixRQUFRLFNBQVMsR0FBRyxNQUFNLEdBQUcsUUFBUSxHQUFHLFlBQVksQ0FBQztBQUNyRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO0FBQ2hELFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDakcsT0FBTztBQUNQLE1BQU0sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELEtBQUssQ0FBQyxDQUFDO0FBQ1AsR0FBRztBQUNIO0FBQ0EsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRTtBQUNyRCxJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFQyxRQUFnQixFQUFFLE1BQU07QUFDdEUsTUFBTSxNQUFNLElBQUksR0FBRyxNQUFNO0FBQ3pCLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO0FBQy9FLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9CLFFBQVEsU0FBUyxHQUFHLE1BQU0sR0FBRyxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBQ3JELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDbEQsUUFBUSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLEVBQUU7QUFDL0QsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDO0FBQzNDLFNBQVMsQ0FBQztBQUNWLE9BQU87QUFDUCxNQUFNLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuRCxLQUFLLENBQUMsQ0FBQztBQUNQLEdBQUc7QUFDSDtBQUNBLEVBQUUsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLEVBQUU7QUFDOUIsSUFBSSxPQUFPLFNBQVM7QUFDcEIsTUFBTSxJQUFJO0FBQ1YsTUFBTSxTQUFTO0FBQ2YsTUFBTSxTQUFTO0FBQ2YsTUFBTSxNQUFNQyxTQUFpQjtBQUM3QixNQUFNLE1BQU07QUFDWjtBQUNBO0FBQ0EsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtBQUNqQyxVQUFVLE1BQU0sSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDN0QsVUFBVSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNsRyxZQUFZLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUM7QUFDdkQsV0FBVyxDQUFDO0FBQ1osU0FBUztBQUNUO0FBQ0EsUUFBUSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7QUFDbEMsT0FBTztBQUNQLEtBQUssQ0FBQztBQUNOLEdBQUc7QUFDSDtBQUNBLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsSUFBSSxFQUFFO0FBQ2pDLElBQUksT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUVDLElBQVksRUFBRSxNQUFNO0FBQ2xFLE1BQU0sTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUNsQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQzNGLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztBQUN2QyxTQUFTLENBQUM7QUFDVixPQUFPO0FBQ1A7QUFDQSxNQUFNLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQyxLQUFLLENBQUMsQ0FBQztBQUNQLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0FBQy9CLElBQUksTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO0FBQzdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUU7QUFDbEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3JFLElBQUksT0FBTyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7QUFDNUMsR0FBRztBQUNIO0FBQ0EsRUFBRSxlQUFlLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUM3QjtBQUNBO0FBQ0EsSUFBSSxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDMUYsR0FBRztBQUNIO0FBQ0EsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUU7QUFDakMsSUFBSSxPQUFPLElBQUksaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUQsR0FBRztBQUNIO0FBQ0EsRUFBRSxZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUMxQixJQUFJLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRSxHQUFHO0FBQ0g7QUFDQSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzNCLElBQUksT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN4QyxHQUFHO0FBQ0g7QUFDQSxFQUFFLFNBQVMsR0FBRztBQUNkLElBQUk7QUFDSixNQUFNLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSTtBQUMxQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTztBQUMzQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7QUFDckYsTUFBTTtBQUNOLEdBQUc7QUFDSDtBQUNBLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUNoQixJQUFJO0FBQ0osTUFBTSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO0FBQ2xDLE1BQU0sSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLENBQUMsZUFBZTtBQUNwRCxNQUFNLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLGNBQWM7QUFDbEQsTUFBTTtBQUNOLEdBQUc7QUFDSDs7QUNoZEEsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFNLGVBQWUsU0FBUyxJQUFJLENBQUM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFdBQVcsV0FBVyxHQUFHO0FBQzNCLElBQUksSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO0FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLEtBQUs7QUFDTCxJQUFJLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sUUFBUSxDQUFDLE1BQU0sRUFBRTtBQUMxQixJQUFJLE9BQU8sTUFBTSxLQUFLLENBQUMsR0FBRyxlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3BGLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sY0FBYyxDQUFDLENBQUMsRUFBRTtBQUMzQixJQUFJLElBQUksQ0FBQyxFQUFFO0FBQ1gsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakUsTUFBTSxJQUFJLENBQUMsRUFBRTtBQUNiLFFBQVEsT0FBTyxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsT0FBTztBQUNQLEtBQUs7QUFDTCxJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUc7QUFDSDtBQUNBLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtBQUN0QixJQUFJLEtBQUssRUFBRSxDQUFDO0FBQ1o7QUFDQSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxJQUFJLElBQUksR0FBRztBQUNiLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHO0FBQ2IsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsR0FBRztBQUNIO0FBQ0EsRUFBRSxJQUFJLFFBQVEsR0FBRztBQUNqQixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7QUFDMUIsTUFBTSxPQUFPLFNBQVMsQ0FBQztBQUN2QixLQUFLLE1BQU07QUFDWCxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxVQUFVLEdBQUc7QUFDZixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztBQUNyQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDM0IsSUFBSSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxJQUFJLFdBQVcsR0FBRztBQUNwQixJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxNQUFNLEdBQUc7QUFDWCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztBQUN0QixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtBQUNwQixJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3hFLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxJQUFJLE9BQU8sR0FBRztBQUNoQixJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUc7QUFDSDs7QUNuR0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFNLFdBQVcsU0FBUyxJQUFJLENBQUM7QUFDOUMsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFO0FBQ3hCLElBQUksS0FBSyxFQUFFLENBQUM7QUFDWjtBQUNBLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7QUFDN0IsR0FBRztBQUNIO0FBQ0E7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHO0FBQ2IsSUFBSSxPQUFPLFNBQVMsQ0FBQztBQUNyQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxJQUFJLEdBQUc7QUFDYixJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUN6QixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsSUFBSSxXQUFXLEdBQUc7QUFDcEIsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsVUFBVSxHQUFHO0FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQztBQUNoQixHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsWUFBWSxHQUFHO0FBQ2pCLElBQUksT0FBTyxFQUFFLENBQUM7QUFDZCxHQUFHO0FBQ0g7QUFDQTtBQUNBLEVBQUUsTUFBTSxHQUFHO0FBQ1gsSUFBSSxPQUFPLEdBQUcsQ0FBQztBQUNmLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxNQUFNLEdBQUc7QUFDWCxJQUFJLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLEdBQUc7QUFDSDtBQUNBO0FBQ0EsRUFBRSxJQUFJLE9BQU8sR0FBRztBQUNoQixJQUFJLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLEdBQUc7QUFDSDs7QUNwREE7QUFDQTtBQUNBO0FBU0E7QUFDTyxTQUFTLGFBQWEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO0FBRWxELEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtBQUM1QyxJQUFJLE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLEdBQUcsTUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7QUFDcEMsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDOUIsSUFBSSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDeEMsSUFBSSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsT0FBTyxXQUFXLENBQUM7QUFDbEQsU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDckYsU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssRUFBRSxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUM7QUFDeEYsU0FBUyxPQUFPLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRixHQUFHLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDOUIsSUFBSSxPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0MsR0FBRyxNQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRTtBQUM1RjtBQUNBO0FBQ0EsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixHQUFHLE1BQU07QUFDVCxJQUFJLE9BQU8sSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEMsR0FBRztBQUNIOztBQzNCQSxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDMUIsRUFBRSxXQUFXLEdBQUcsUUFBUTtBQUN4QixFQUFFLGFBQWEsR0FBRyxJQUFJO0FBQ3RCLEVBQUUsc0JBQXNCLEdBQUcsSUFBSTtBQUMvQixFQUFFLHFCQUFxQixHQUFHLElBQUk7QUFDOUIsRUFBRSxrQkFBa0IsR0FBRyxFQUFFO0FBQ3pCLEVBQUUsY0FBYyxDQUFDO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTSxRQUFRLENBQUM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFdBQVcsR0FBRyxHQUFHO0FBQ25CLElBQUksT0FBTyxHQUFHLENBQUM7QUFDZixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQ3BCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNaLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFdBQVcsV0FBVyxDQUFDLElBQUksRUFBRTtBQUMvQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDdkIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsV0FBVyxXQUFXLEdBQUc7QUFDM0IsSUFBSSxPQUFPLGFBQWEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzNELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLGFBQWEsR0FBRztBQUM3QixJQUFJLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLGFBQWEsQ0FBQyxNQUFNLEVBQUU7QUFDbkMsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBQzNCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLHNCQUFzQixHQUFHO0FBQ3RDLElBQUksT0FBTyxzQkFBc0IsQ0FBQztBQUNsQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsV0FBVyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUU7QUFDckQsSUFBSSxzQkFBc0IsR0FBRyxlQUFlLENBQUM7QUFDN0MsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFdBQVcscUJBQXFCLEdBQUc7QUFDckMsSUFBSSxPQUFPLHFCQUFxQixDQUFDO0FBQ2pDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLHFCQUFxQixDQUFDLGNBQWMsRUFBRTtBQUNuRCxJQUFJLHFCQUFxQixHQUFHLGNBQWMsQ0FBQztBQUMzQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsV0FBVyxrQkFBa0IsR0FBRztBQUNsQyxJQUFJLE9BQU8sa0JBQWtCLENBQUM7QUFDOUIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsV0FBVyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUU7QUFDNUMsSUFBSSxrQkFBa0IsR0FBRyxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBQzFDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLGNBQWMsR0FBRztBQUM5QixJQUFJLE9BQU8sY0FBYyxDQUFDO0FBQzFCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLGNBQWMsQ0FBQyxDQUFDLEVBQUU7QUFDL0IsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLFdBQVcsR0FBRztBQUN2QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUN4QixJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUMxQixHQUFHO0FBQ0g7O0FDbkpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVMsV0FBVyxDQUFDLENBQUMsRUFBRTtBQUMvQixFQUFFLE9BQU8sT0FBTyxDQUFDLEtBQUssV0FBVyxDQUFDO0FBQ2xDLENBQUM7QUFDRDtBQUNPLFNBQVMsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUM1QixFQUFFLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQy9CLENBQUM7QUFDRDtBQUNPLFNBQVMsU0FBUyxDQUFDLENBQUMsRUFBRTtBQUM3QixFQUFFLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFDRDtBQUNPLFNBQVMsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUM1QixFQUFFLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQy9CLENBQUM7QUFDRDtBQUNPLFNBQVMsTUFBTSxDQUFDLENBQUMsRUFBRTtBQUMxQixFQUFFLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLGVBQWUsQ0FBQztBQUMvRCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ08sU0FBUyxXQUFXLEdBQUc7QUFDOUIsRUFBRSxJQUFJO0FBQ04sSUFBSSxPQUFPLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0FBQ3BFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUNkLElBQUksT0FBTyxLQUFLLENBQUM7QUFDakIsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDTyxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUU7QUFDbEMsRUFBRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUNEO0FBQ08sU0FBUyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDekMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0FBQ3hCLElBQUksT0FBTyxTQUFTLENBQUM7QUFDckIsR0FBRztBQUNILEVBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSztBQUNwQyxJQUFJLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtBQUNmLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsS0FBSyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDdEQsTUFBTSxPQUFPLElBQUksQ0FBQztBQUNsQixLQUFLLE1BQU07QUFDWCxNQUFNLE9BQU8sSUFBSSxDQUFDO0FBQ2xCLEtBQUs7QUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZCxDQUFDO0FBQ0Q7QUFDTyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO0FBQ2hDLEVBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSztBQUMvQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUNiLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUM7QUFDRDtBQUNPLFNBQVMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDMUMsRUFBRSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNPLFNBQVMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ25ELEVBQUUsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDO0FBQzdELENBQUM7QUFDRDtBQUNBO0FBQ08sU0FBUyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUMvQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBQ0Q7QUFDTyxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUN2QyxFQUFFLE1BQU0sS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDMUIsRUFBRSxJQUFJLE1BQU0sQ0FBQztBQUNiLEVBQUUsSUFBSSxLQUFLLEVBQUU7QUFDYixJQUFJLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNsRCxHQUFHLE1BQU07QUFDVCxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMzQyxHQUFHO0FBQ0gsRUFBRSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBQ0Q7QUFDTyxTQUFTLFlBQVksQ0FBQyxNQUFNLEVBQUU7QUFDckMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7QUFDL0QsSUFBSSxPQUFPLFNBQVMsQ0FBQztBQUNyQixHQUFHLE1BQU07QUFDVCxJQUFJLE9BQU8sUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNoQyxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ08sU0FBUyxhQUFhLENBQUMsTUFBTSxFQUFFO0FBQ3RDLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLEtBQUssRUFBRSxFQUFFO0FBQy9ELElBQUksT0FBTyxTQUFTLENBQUM7QUFDckIsR0FBRyxNQUFNO0FBQ1QsSUFBSSxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ08sU0FBUyxXQUFXLENBQUMsUUFBUSxFQUFFO0FBQ3RDO0FBQ0EsRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUU7QUFDckUsSUFBSSxPQUFPLFNBQVMsQ0FBQztBQUNyQixHQUFHLE1BQU07QUFDVCxJQUFJLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ2pELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDTyxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsR0FBRyxLQUFLLEVBQUU7QUFDNUQsRUFBRSxNQUFNLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTTtBQUM3QixJQUFJLE9BQU8sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ25ELEVBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUMzQyxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ08sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQ2pDLEVBQUUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFDRDtBQUNPLFNBQVMsVUFBVSxDQUFDLElBQUksRUFBRTtBQUNqQyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDdEMsQ0FBQztBQUNEO0FBQ08sU0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN6QyxFQUFFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7QUFDOUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7QUFDN0M7QUFDQSxFQUFFLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRTtBQUN0QixJQUFJLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDekMsR0FBRyxNQUFNO0FBQ1QsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDNUUsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ08sU0FBUyxZQUFZLENBQUMsR0FBRyxFQUFFO0FBQ2xDLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUc7QUFDbEIsSUFBSSxHQUFHLENBQUMsSUFBSTtBQUNaLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQ2pCLElBQUksR0FBRyxDQUFDLEdBQUc7QUFDWCxJQUFJLEdBQUcsQ0FBQyxJQUFJO0FBQ1osSUFBSSxHQUFHLENBQUMsTUFBTTtBQUNkLElBQUksR0FBRyxDQUFDLE1BQU07QUFDZCxJQUFJLEdBQUcsQ0FBQyxXQUFXO0FBQ25CLEdBQUcsQ0FBQztBQUNKO0FBQ0E7QUFDQSxFQUFFLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUU7QUFDdkMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoRCxHQUFHO0FBQ0gsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQztBQUNEO0FBQ08sU0FBUyxlQUFlLENBQUMsUUFBUSxFQUFFO0FBQzFDLEVBQUUsTUFBTSxFQUFFO0FBQ1YsTUFBTSxDQUFDLFFBQVE7QUFDZixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUNoQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNsQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNsQyxNQUFNLENBQUM7QUFDUCxJQUFJLElBQUksR0FBRyxRQUFRLEdBQUcsQ0FBQztBQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0YsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUFDRDtBQUNPLFNBQVMsY0FBYyxDQUFDLElBQUksRUFBRTtBQUNyQyxFQUFFLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUNqQixJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUcsTUFBTSxPQUFPLElBQUksR0FBRyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQy9FLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDTyxTQUFTLGFBQWEsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFO0FBQ3pFLEVBQUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzNCLElBQUksUUFBUSxHQUFHO0FBQ2YsTUFBTSxTQUFTLEVBQUUsS0FBSztBQUN0QixNQUFNLElBQUksRUFBRSxTQUFTO0FBQ3JCLE1BQU0sS0FBSyxFQUFFLFNBQVM7QUFDdEIsTUFBTSxHQUFHLEVBQUUsU0FBUztBQUNwQixNQUFNLElBQUksRUFBRSxTQUFTO0FBQ3JCLE1BQU0sTUFBTSxFQUFFLFNBQVM7QUFDdkIsS0FBSyxDQUFDO0FBQ047QUFDQSxFQUFFLElBQUksUUFBUSxFQUFFO0FBQ2hCLElBQUksUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7QUFDakMsR0FBRztBQUNIO0FBQ0EsRUFBRSxNQUFNLFFBQVEsR0FBRyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQztBQUMvRDtBQUNBLEVBQUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7QUFDMUQsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO0FBQ3hCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUM7QUFDMUQsRUFBRSxPQUFPLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztBQUN0QyxDQUFDO0FBQ0Q7QUFDQTtBQUNPLFNBQVMsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUU7QUFDdkQsRUFBRSxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pDO0FBQ0E7QUFDQSxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM3QixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDaEIsR0FBRztBQUNIO0FBQ0EsRUFBRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7QUFDaEQsSUFBSSxZQUFZLEdBQUcsT0FBTyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUM1RSxFQUFFLE9BQU8sT0FBTyxHQUFHLEVBQUUsR0FBRyxZQUFZLENBQUM7QUFDckMsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNPLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtBQUNoQyxFQUFFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQyxFQUFFLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7QUFDOUUsSUFBSSxNQUFNLElBQUksb0JBQW9CLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsRUFBRSxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBQ0Q7QUFDTyxTQUFTLGVBQWUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO0FBQ2pELEVBQUUsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLEVBQUUsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUU7QUFDdkIsSUFBSSxJQUFJLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEMsTUFBTSxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsTUFBTSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTO0FBQ2xELE1BQU0sVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUUsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUNEO0FBQ08sU0FBUyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtBQUM3QyxFQUFFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDakQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztBQUMvQyxJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDbkM7QUFDQSxFQUFFLFFBQVEsTUFBTTtBQUNoQixJQUFJLEtBQUssT0FBTztBQUNoQixNQUFNLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLElBQUksS0FBSyxRQUFRO0FBQ2pCLE1BQU0sT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEUsSUFBSSxLQUFLLFFBQVE7QUFDakIsTUFBTSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkUsSUFBSTtBQUNKLE1BQU0sTUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDO0FBQ3pGLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDTyxTQUFTLFVBQVUsQ0FBQyxHQUFHLEVBQUU7QUFDaEMsRUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQ2hFOztBQ3ZRQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU0sVUFBVSxHQUFHO0FBQzFCLEVBQUUsU0FBUztBQUNYLEVBQUUsVUFBVTtBQUNaLEVBQUUsT0FBTztBQUNULEVBQUUsT0FBTztBQUNULEVBQUUsS0FBSztBQUNQLEVBQUUsTUFBTTtBQUNSLEVBQUUsTUFBTTtBQUNSLEVBQUUsUUFBUTtBQUNWLEVBQUUsV0FBVztBQUNiLEVBQUUsU0FBUztBQUNYLEVBQUUsVUFBVTtBQUNaLEVBQUUsVUFBVTtBQUNaLENBQUMsQ0FBQztBQUNGO0FBQ08sTUFBTSxXQUFXLEdBQUc7QUFDM0IsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsRUFBRSxLQUFLO0FBQ1AsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDekY7QUFDTyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDL0IsRUFBRSxRQUFRLE1BQU07QUFDaEIsSUFBSSxLQUFLLFFBQVE7QUFDakIsTUFBTSxPQUFPLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztBQUMvQixJQUFJLEtBQUssT0FBTztBQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0FBQzlCLElBQUksS0FBSyxNQUFNO0FBQ2YsTUFBTSxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUM3QixJQUFJLEtBQUssU0FBUztBQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdFLElBQUksS0FBSyxTQUFTO0FBQ2xCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEYsSUFBSTtBQUNKLE1BQU0sT0FBTyxJQUFJLENBQUM7QUFDbEIsR0FBRztBQUNILENBQUM7QUFDRDtBQUNPLE1BQU0sWUFBWSxHQUFHO0FBQzVCLEVBQUUsUUFBUTtBQUNWLEVBQUUsU0FBUztBQUNYLEVBQUUsV0FBVztBQUNiLEVBQUUsVUFBVTtBQUNaLEVBQUUsUUFBUTtBQUNWLEVBQUUsVUFBVTtBQUNaLEVBQUUsUUFBUTtBQUNWLENBQUMsQ0FBQztBQUNGO0FBQ08sTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvRTtBQUNPLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDbEU7QUFDTyxTQUFTLFFBQVEsQ0FBQyxNQUFNLEVBQUU7QUFDakMsRUFBRSxRQUFRLE1BQU07QUFDaEIsSUFBSSxLQUFLLFFBQVE7QUFDakIsTUFBTSxPQUFPLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztBQUNqQyxJQUFJLEtBQUssT0FBTztBQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBQ2hDLElBQUksS0FBSyxNQUFNO0FBQ2YsTUFBTSxPQUFPLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztBQUMvQixJQUFJLEtBQUssU0FBUztBQUNsQixNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNqRCxJQUFJO0FBQ0osTUFBTSxPQUFPLElBQUksQ0FBQztBQUNsQixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ08sTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEM7QUFDTyxNQUFNLFFBQVEsR0FBRyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUN6RDtBQUNPLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RDO0FBQ08sTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDckM7QUFDTyxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDN0IsRUFBRSxRQUFRLE1BQU07QUFDaEIsSUFBSSxLQUFLLFFBQVE7QUFDakIsTUFBTSxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUM3QixJQUFJLEtBQUssT0FBTztBQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQzVCLElBQUksS0FBSyxNQUFNO0FBQ2YsTUFBTSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUMzQixJQUFJO0FBQ0osTUFBTSxPQUFPLElBQUksQ0FBQztBQUNsQixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ08sU0FBUyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7QUFDeEMsRUFBRSxPQUFPLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUNEO0FBQ08sU0FBUyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFO0FBQy9DLEVBQUUsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBQ0Q7QUFDTyxTQUFTLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDN0MsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFDRDtBQUNPLFNBQVMsY0FBYyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7QUFDM0MsRUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUNEO0FBQ08sU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sR0FBRyxRQUFRLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRTtBQUNwRixFQUFFLE1BQU0sS0FBSyxHQUFHO0FBQ2hCLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztBQUMxQixJQUFJLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7QUFDakMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0FBQzVCLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztBQUMxQixJQUFJLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0FBQ2hDLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztBQUMxQixJQUFJLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7QUFDL0IsSUFBSSxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0FBQy9CLEdBQUcsQ0FBQztBQUNKO0FBQ0EsRUFBRSxNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3hFO0FBQ0EsRUFBRSxJQUFJLE9BQU8sS0FBSyxNQUFNLElBQUksUUFBUSxFQUFFO0FBQ3RDLElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLE1BQU0sQ0FBQztBQUNsQyxJQUFJLFFBQVEsS0FBSztBQUNqQixNQUFNLEtBQUssQ0FBQztBQUNaLFFBQVEsT0FBTyxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNiLFFBQVEsT0FBTyxLQUFLLEdBQUcsV0FBVyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsTUFBTSxLQUFLLENBQUM7QUFDWixRQUFRLE9BQU8sS0FBSyxHQUFHLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTFELEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7QUFDcEQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDOUIsSUFBSSxRQUFRLEdBQUcsUUFBUSxLQUFLLENBQUM7QUFDN0IsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztBQUMxQixJQUFJLE9BQU8sR0FBRyxNQUFNO0FBQ3BCLFFBQVEsUUFBUTtBQUNoQixVQUFVLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDckIsVUFBVSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwQyxRQUFRLFFBQVE7QUFDaEIsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLFFBQVEsSUFBSSxDQUFDO0FBQ2IsRUFBRSxPQUFPLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9FOztBQ2pLQSxTQUFTLGVBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFO0FBQ2hELEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ2IsRUFBRSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtBQUM5QixJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUN2QixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3JCLEtBQUssTUFBTTtBQUNYLE1BQU0sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUNEO0FBQ0EsTUFBTSxzQkFBc0IsR0FBRztBQUMvQixFQUFFLENBQUMsRUFBRUMsVUFBa0I7QUFDdkIsRUFBRSxFQUFFLEVBQUVDLFFBQWdCO0FBQ3RCLEVBQUUsR0FBRyxFQUFFQyxTQUFpQjtBQUN4QixFQUFFLElBQUksRUFBRUMsU0FBaUI7QUFDekIsRUFBRSxDQUFDLEVBQUVDLFdBQW1CO0FBQ3hCLEVBQUUsRUFBRSxFQUFFQyxpQkFBeUI7QUFDL0IsRUFBRSxHQUFHLEVBQUVDLHNCQUE4QjtBQUNyQyxFQUFFLElBQUksRUFBRUMscUJBQTZCO0FBQ3JDLEVBQUUsQ0FBQyxFQUFFQyxjQUFzQjtBQUMzQixFQUFFLEVBQUUsRUFBRUMsb0JBQTRCO0FBQ2xDLEVBQUUsR0FBRyxFQUFFQyx5QkFBaUM7QUFDeEMsRUFBRSxJQUFJLEVBQUVDLHdCQUFnQztBQUN4QyxFQUFFLENBQUMsRUFBRUMsY0FBc0I7QUFDM0IsRUFBRSxFQUFFLEVBQUVDLFlBQW9CO0FBQzFCLEVBQUUsR0FBRyxFQUFFQyxhQUFxQjtBQUM1QixFQUFFLElBQUksRUFBRUMsYUFBcUI7QUFDN0IsRUFBRSxDQUFDLEVBQUVDLDJCQUFtQztBQUN4QyxFQUFFLEVBQUUsRUFBRUMseUJBQWlDO0FBQ3ZDLEVBQUUsR0FBRyxFQUFFQywwQkFBa0M7QUFDekMsRUFBRSxJQUFJLEVBQUVDLDBCQUFrQztBQUMxQyxDQUFDLENBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTSxTQUFTLENBQUM7QUFDL0IsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUNuQyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxXQUFXLENBQUMsR0FBRyxFQUFFO0FBQzFCLElBQUksSUFBSSxPQUFPLEdBQUcsSUFBSTtBQUN0QixNQUFNLFdBQVcsR0FBRyxFQUFFO0FBQ3RCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUN4QixJQUFJLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUN0QixJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3pDLE1BQU0sTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRTtBQUNyQixRQUFRLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDcEMsVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNoRSxTQUFTO0FBQ1QsUUFBUSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFFBQVEsV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN6QixRQUFRLFNBQVMsR0FBRyxDQUFDLFNBQVMsQ0FBQztBQUMvQixPQUFPLE1BQU0sSUFBSSxTQUFTLEVBQUU7QUFDNUIsUUFBUSxXQUFXLElBQUksQ0FBQyxDQUFDO0FBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxPQUFPLEVBQUU7QUFDaEMsUUFBUSxXQUFXLElBQUksQ0FBQyxDQUFDO0FBQ3pCLE9BQU8sTUFBTTtBQUNiLFFBQVEsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtBQUNwQyxVQUFVLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzVELFNBQVM7QUFDVCxRQUFRLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDeEIsUUFBUSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ3BCLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxJQUFJLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDaEMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUM1RCxLQUFLO0FBQ0w7QUFDQSxJQUFJLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDdkMsSUFBSSxPQUFPLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLEdBQUc7QUFDSDtBQUNBLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUU7QUFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztBQUMzQixJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO0FBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDMUIsR0FBRztBQUNIO0FBQ0EsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFO0FBQ3BDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtBQUNqQyxNQUFNLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0FBQ3BELEtBQUs7QUFDTCxJQUFJLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekUsSUFBSSxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN2QixHQUFHO0FBQ0g7QUFDQSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUNoQyxJQUFJLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbkUsSUFBSSxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN2QixHQUFHO0FBQ0g7QUFDQSxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQ3JDLElBQUksTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRSxJQUFJLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQzlCLEdBQUc7QUFDSDtBQUNBLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQ3RDLElBQUksTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDL0UsSUFBSSxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ2xGLEdBQUc7QUFDSDtBQUNBLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQ2pDLElBQUksTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRSxJQUFJLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQ2hDLEdBQUc7QUFDSDtBQUNBLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQ2hCO0FBQ0EsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQy9CLE1BQU0sT0FBTyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVCLEtBQUs7QUFDTDtBQUNBLElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNsQztBQUNBLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQ2YsTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNyQixLQUFLO0FBQ0w7QUFDQSxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELEdBQUc7QUFDSDtBQUNBLEVBQUUsd0JBQXdCLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtBQUNwQyxJQUFJLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSTtBQUN4RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFNBQVM7QUFDN0YsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDO0FBQ3JFLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxLQUFLO0FBQy9CLFFBQVEsSUFBSSxFQUFFLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDaEUsVUFBVSxPQUFPLEdBQUcsQ0FBQztBQUNyQixTQUFTO0FBQ1Q7QUFDQSxRQUFRLE9BQU8sRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUUsT0FBTztBQUNQLE1BQU0sUUFBUSxHQUFHO0FBQ2pCLFFBQVEsWUFBWTtBQUNwQixZQUFZQyxtQkFBMkIsQ0FBQyxFQUFFLENBQUM7QUFDM0MsWUFBWSxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRSxXQUFXLENBQUM7QUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVTtBQUNqQyxRQUFRLFlBQVk7QUFDcEIsWUFBWUMsZ0JBQXdCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztBQUNoRCxZQUFZLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUM7QUFDL0YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVTtBQUNuQyxRQUFRLFlBQVk7QUFDcEIsWUFBWUMsa0JBQTBCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztBQUNsRCxZQUFZLE1BQU07QUFDbEIsY0FBYyxVQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTtBQUNuRyxjQUFjLFNBQVM7QUFDdkIsYUFBYTtBQUNiLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBSyxLQUFLO0FBQzlCLFFBQVEsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25FLFFBQVEsSUFBSSxVQUFVLEVBQUU7QUFDeEIsVUFBVSxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDOUQsU0FBUyxNQUFNO0FBQ2YsVUFBVSxPQUFPLEtBQUssQ0FBQztBQUN2QixTQUFTO0FBQ1QsT0FBTztBQUNQLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTtBQUNuQixRQUFRLFlBQVksR0FBR0MsY0FBc0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssQ0FBQztBQUMxRixNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssS0FBSztBQUNqQztBQUNBLFFBQVEsUUFBUSxLQUFLO0FBQ3JCO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzVDLFVBQVUsS0FBSyxHQUFHLENBQUM7QUFDbkI7QUFDQSxVQUFVLEtBQUssS0FBSztBQUNwQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLFVBQVUsS0FBSyxJQUFJO0FBQ25CLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUM7QUFDQSxVQUFVLEtBQUssSUFBSTtBQUNuQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEUsVUFBVSxLQUFLLEtBQUs7QUFDcEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDOUQ7QUFDQSxVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdkMsVUFBVSxLQUFLLElBQUk7QUFDbkIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQztBQUNBLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNwRSxVQUFVLEtBQUssSUFBSTtBQUNuQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQyxVQUFVLEtBQUssSUFBSTtBQUNuQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEI7QUFDQSxZQUFZLE9BQU8sWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ2hGLFVBQVUsS0FBSyxJQUFJO0FBQ25CO0FBQ0EsWUFBWSxPQUFPLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUMvRSxVQUFVLEtBQUssS0FBSztBQUNwQjtBQUNBLFlBQVksT0FBTyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDaEYsVUFBVSxLQUFLLE1BQU07QUFDckI7QUFDQSxZQUFZLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUMzRixVQUFVLEtBQUssT0FBTztBQUN0QjtBQUNBLFlBQVksT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzFGO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEI7QUFDQSxZQUFZLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztBQUMvQjtBQUNBLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxRQUFRLEVBQUUsQ0FBQztBQUM5QjtBQUNBLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0YsVUFBVSxLQUFLLElBQUk7QUFDbkIsWUFBWSxPQUFPLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEc7QUFDQSxVQUFVLEtBQUssR0FBRztBQUNsQjtBQUNBLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxVQUFVLEtBQUssS0FBSztBQUNwQjtBQUNBLFlBQVksT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFDLFVBQVUsS0FBSyxNQUFNO0FBQ3JCO0FBQ0EsWUFBWSxPQUFPLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekMsVUFBVSxLQUFLLE9BQU87QUFDdEI7QUFDQSxZQUFZLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzQztBQUNBLFVBQVUsS0FBSyxHQUFHO0FBQ2xCO0FBQ0EsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3hDLFVBQVUsS0FBSyxLQUFLO0FBQ3BCO0FBQ0EsWUFBWSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0MsVUFBVSxLQUFLLE1BQU07QUFDckI7QUFDQSxZQUFZLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxQyxVQUFVLEtBQUssT0FBTztBQUN0QjtBQUNBLFlBQVksT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVDO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEI7QUFDQSxZQUFZLE9BQU8sb0JBQW9CO0FBQ3ZDLGdCQUFnQixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUM7QUFDckUsZ0JBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLFVBQVUsS0FBSyxJQUFJO0FBQ25CO0FBQ0EsWUFBWSxPQUFPLG9CQUFvQjtBQUN2QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDO0FBQ3JFLGdCQUFnQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdEMsVUFBVSxLQUFLLEtBQUs7QUFDcEI7QUFDQSxZQUFZLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN4QyxVQUFVLEtBQUssTUFBTTtBQUNyQjtBQUNBLFlBQVksT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLFVBQVUsS0FBSyxPQUFPO0FBQ3RCO0FBQ0EsWUFBWSxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekM7QUFDQSxVQUFVLEtBQUssR0FBRztBQUNsQjtBQUNBLFlBQVksT0FBTyxvQkFBb0I7QUFDdkMsZ0JBQWdCLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUM7QUFDckQsZ0JBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLFVBQVUsS0FBSyxJQUFJO0FBQ25CO0FBQ0EsWUFBWSxPQUFPLG9CQUFvQjtBQUN2QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sQ0FBQztBQUNyRCxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLFVBQVUsS0FBSyxLQUFLO0FBQ3BCO0FBQ0EsWUFBWSxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekMsVUFBVSxLQUFLLE1BQU07QUFDckI7QUFDQSxZQUFZLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QyxVQUFVLEtBQUssT0FBTztBQUN0QjtBQUNBLFlBQVksT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFDO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEI7QUFDQSxZQUFZLE9BQU8sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xHLFVBQVUsS0FBSyxJQUFJO0FBQ25CO0FBQ0EsWUFBWSxPQUFPLG9CQUFvQjtBQUN2QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQztBQUNuRCxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFELFVBQVUsS0FBSyxNQUFNO0FBQ3JCO0FBQ0EsWUFBWSxPQUFPLG9CQUFvQjtBQUN2QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQztBQUNuRCxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLFVBQVUsS0FBSyxRQUFRO0FBQ3ZCO0FBQ0EsWUFBWSxPQUFPLG9CQUFvQjtBQUN2QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQztBQUNuRCxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JDO0FBQ0EsVUFBVSxLQUFLLEdBQUc7QUFDbEI7QUFDQSxZQUFZLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLFVBQVUsS0FBSyxJQUFJO0FBQ25CO0FBQ0EsWUFBWSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixVQUFVLEtBQUssT0FBTztBQUN0QixZQUFZLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pDLFVBQVUsS0FBSyxJQUFJO0FBQ25CLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakUsVUFBVSxLQUFLLE1BQU07QUFDckIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1QyxVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0MsVUFBVSxLQUFLLElBQUk7QUFDbkIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QyxVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDeEMsVUFBVSxLQUFLLEtBQUs7QUFDcEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzQyxVQUFVLEtBQUssR0FBRztBQUNsQjtBQUNBLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxVQUFVLEtBQUssSUFBSTtBQUNuQjtBQUNBLFlBQVksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDM0MsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDdEQsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLFVBQVU7QUFDVixZQUFZLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLFNBQVM7QUFDVCxPQUFPLENBQUM7QUFDUjtBQUNBLElBQUksT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUN0RSxHQUFHO0FBQ0g7QUFDQSxFQUFFLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDckMsSUFBSSxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssS0FBSztBQUNwQyxRQUFRLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN4QixVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sYUFBYSxDQUFDO0FBQ2pDLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxRQUFRLENBQUM7QUFDNUIsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLFFBQVEsQ0FBQztBQUM1QixVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sTUFBTSxDQUFDO0FBQzFCLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxLQUFLLENBQUM7QUFDekIsVUFBVSxLQUFLLEdBQUc7QUFDbEIsWUFBWSxPQUFPLE1BQU0sQ0FBQztBQUMxQixVQUFVLEtBQUssR0FBRztBQUNsQixZQUFZLE9BQU8sT0FBTyxDQUFDO0FBQzNCLFVBQVUsS0FBSyxHQUFHO0FBQ2xCLFlBQVksT0FBTyxNQUFNLENBQUM7QUFDMUIsVUFBVTtBQUNWLFlBQVksT0FBTyxJQUFJLENBQUM7QUFDeEIsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEtBQUssS0FBSztBQUM3QyxRQUFRLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQyxRQUFRLElBQUksTUFBTSxFQUFFO0FBQ3BCLFVBQVUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVELFNBQVMsTUFBTTtBQUNmLFVBQVUsT0FBTyxLQUFLLENBQUM7QUFDdkIsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztBQUN6QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTTtBQUNoQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxRSxRQUFRLEVBQUU7QUFDVixPQUFPO0FBQ1AsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsSUFBSSxPQUFPLGVBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDN0QsR0FBRztBQUNIOztBQzVZZSxNQUFNLE9BQU8sQ0FBQztBQUM3QixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO0FBQ25DLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztBQUNuQyxHQUFHO0FBQ0g7QUFDQSxFQUFFLFNBQVMsR0FBRztBQUNkLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQzFCLE1BQU0sT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDbkQsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDekIsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sU0FBUyxHQUFHLDhFQUE4RSxDQUFDO0FBQ2pHO0FBQ0EsU0FBUyxjQUFjLENBQUMsR0FBRyxPQUFPLEVBQUU7QUFDcEMsRUFBRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxRCxFQUFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFDRDtBQUNBLFNBQVMsaUJBQWlCLENBQUMsR0FBRyxVQUFVLEVBQUU7QUFDMUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNYLElBQUksVUFBVTtBQUNkLE9BQU8sTUFBTTtBQUNiLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLO0FBQ2xELFVBQVUsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsRCxVQUFVLE9BQU8sQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RSxTQUFTO0FBQ1QsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JCLE9BQU87QUFDUCxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFO0FBQy9CLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO0FBQ2pCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN4QixHQUFHO0FBQ0g7QUFDQSxFQUFFLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxRQUFRLEVBQUU7QUFDN0MsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLElBQUksSUFBSSxDQUFDLEVBQUU7QUFDWCxNQUFNLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUM7QUFDRDtBQUNBLFNBQVMsV0FBVyxDQUFDLEdBQUcsSUFBSSxFQUFFO0FBQzlCLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUs7QUFDNUIsSUFBSSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDbkIsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNWO0FBQ0EsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDdEMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxLQUFLO0FBQ0wsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkMsR0FBRyxDQUFDO0FBQ0osQ0FBQztBQUNEO0FBQ0E7QUFDQSxNQUFNLFdBQVcsR0FBRyxpQ0FBaUMsQ0FBQztBQUN0RCxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3RGLE1BQU0sZ0JBQWdCLEdBQUcscURBQXFELENBQUM7QUFDL0UsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sV0FBVyxHQUFHLDZDQUE2QyxDQUFDO0FBQ2xFLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUFDO0FBQ25ELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDO0FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDNUUsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDO0FBQzVDLE1BQU0sWUFBWSxHQUFHLE1BQU07QUFDM0IsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUNoRixDQUFDLENBQUM7QUFDRixNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckU7QUFDQSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtBQUNuQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QixFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUNEO0FBQ0EsU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN0QyxFQUFFLE1BQU0sSUFBSSxHQUFHO0FBQ2YsSUFBSSxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7QUFDNUIsSUFBSSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwQyxJQUFJLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLEdBQUcsQ0FBQztBQUNKO0FBQ0EsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUNEO0FBQ0EsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN2QyxFQUFFLE1BQU0sSUFBSSxHQUFHO0FBQ2YsSUFBSSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ2hDLElBQUksT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEMsSUFBSSxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QyxJQUFJLFlBQVksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxHQUFHLENBQUM7QUFDSjtBQUNBLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFDRDtBQUNBLFNBQVMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN6QyxFQUFFLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDcEQsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNuRSxJQUFJLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0QsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUNEO0FBQ0EsU0FBUyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUN4QyxFQUFFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNyRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLE1BQU0sV0FBVztBQUNqQixFQUFFLDhQQUE4UCxDQUFDO0FBQ2pRO0FBQ0EsU0FBUyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7QUFDbkMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUM7QUFDL0YsSUFBSSxLQUFLLENBQUM7QUFDVjtBQUNBLEVBQUUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQ3pDLEVBQUUsTUFBTSxlQUFlLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7QUFDNUQ7QUFDQSxFQUFFLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxLQUFLO0FBQ3pDLElBQUksR0FBRyxLQUFLLFNBQVMsS0FBSyxLQUFLLEtBQUssR0FBRyxJQUFJLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDNUU7QUFDQSxFQUFFLE9BQU87QUFDVCxJQUFJO0FBQ0osTUFBTSxLQUFLLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoRCxNQUFNLE1BQU0sRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sS0FBSyxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEQsTUFBTSxJQUFJLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QyxNQUFNLEtBQUssRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hELE1BQU0sT0FBTyxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDcEQsTUFBTSxPQUFPLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEtBQUssSUFBSSxDQUFDO0FBQ3hFLE1BQU0sWUFBWSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsZUFBZSxDQUFDO0FBQzlFLEtBQUs7QUFDTCxHQUFHLENBQUM7QUFDSixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLFVBQVUsR0FBRztBQUNuQixFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ1IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRTtBQUNkLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUU7QUFDZCxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0FBQ2QsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRTtBQUNkLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUU7QUFDZCxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0FBQ2QsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRTtBQUNkLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUU7QUFDZCxDQUFDLENBQUM7QUFDRjtBQUNBLFNBQVMsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRTtBQUMzRixFQUFFLE1BQU0sTUFBTSxHQUFHO0FBQ2pCLElBQUksSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO0FBQzlGLElBQUksS0FBSyxFQUFFQyxXQUFtQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQ3BELElBQUksR0FBRyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7QUFDN0IsSUFBSSxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQztBQUMvQixJQUFJLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDO0FBQ25DLEdBQUcsQ0FBQztBQUNKO0FBQ0EsRUFBRSxJQUFJLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6RCxFQUFFLElBQUksVUFBVSxFQUFFO0FBQ2xCLElBQUksTUFBTSxDQUFDLE9BQU87QUFDbEIsTUFBTSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7QUFDM0IsVUFBVUMsWUFBb0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztBQUN0RCxVQUFVQyxhQUFxQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEQsR0FBRztBQUNIO0FBQ0EsRUFBRSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBQ0Q7QUFDQTtBQUNBLE1BQU0sT0FBTztBQUNiLEVBQUUsaU1BQWlNLENBQUM7QUFDcE07QUFDQSxTQUFTLGNBQWMsQ0FBQyxLQUFLLEVBQUU7QUFDL0IsRUFBRSxNQUFNO0FBQ1I7QUFDQSxNQUFNLFVBQVU7QUFDaEIsTUFBTSxNQUFNO0FBQ1osTUFBTSxRQUFRO0FBQ2QsTUFBTSxPQUFPO0FBQ2IsTUFBTSxPQUFPO0FBQ2IsTUFBTSxTQUFTO0FBQ2YsTUFBTSxTQUFTO0FBQ2YsTUFBTSxTQUFTO0FBQ2YsTUFBTSxTQUFTO0FBQ2YsTUFBTSxVQUFVO0FBQ2hCLE1BQU0sWUFBWTtBQUNsQixLQUFLLEdBQUcsS0FBSztBQUNiLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMvRjtBQUNBLEVBQUUsSUFBSSxNQUFNLENBQUM7QUFDYixFQUFFLElBQUksU0FBUyxFQUFFO0FBQ2pCLElBQUksTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNuQyxHQUFHLE1BQU0sSUFBSSxTQUFTLEVBQUU7QUFDeEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsR0FBRyxNQUFNO0FBQ1QsSUFBSSxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRCxHQUFHO0FBQ0g7QUFDQSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBQ0Q7QUFDQSxTQUFTLGlCQUFpQixDQUFDLENBQUMsRUFBRTtBQUM5QjtBQUNBLEVBQUUsT0FBTyxDQUFDO0FBQ1YsS0FBSyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDO0FBQ3ZDLEtBQUssT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUM7QUFDN0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxNQUFNLE9BQU87QUFDYixJQUFJLDRIQUE0SDtBQUNoSSxFQUFFLE1BQU07QUFDUixJQUFJLHdKQUF3SjtBQUM1SixFQUFFLEtBQUs7QUFDUCxJQUFJLDJIQUEySCxDQUFDO0FBQ2hJO0FBQ0EsU0FBUyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7QUFDcEMsRUFBRSxNQUFNLEdBQUcsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSztBQUN4RixJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDL0YsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBQ0Q7QUFDQSxTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUU7QUFDN0IsRUFBRSxNQUFNLEdBQUcsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSztBQUN4RixJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDL0YsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBQ0Q7QUFDQSxNQUFNLDRCQUE0QixHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUN4RixNQUFNLDZCQUE2QixHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUMxRixNQUFNLGdDQUFnQyxHQUFHLGNBQWMsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUNoRyxNQUFNLG9CQUFvQixHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxRDtBQUNBLE1BQU0sMEJBQTBCLEdBQUcsaUJBQWlCO0FBQ3BELEVBQUUsYUFBYTtBQUNmLEVBQUUsY0FBYztBQUNoQixFQUFFLGdCQUFnQjtBQUNsQixFQUFFLGVBQWU7QUFDakIsQ0FBQyxDQUFDO0FBQ0YsTUFBTSwyQkFBMkIsR0FBRyxpQkFBaUI7QUFDckQsRUFBRSxrQkFBa0I7QUFDcEIsRUFBRSxjQUFjO0FBQ2hCLEVBQUUsZ0JBQWdCO0FBQ2xCLEVBQUUsZUFBZTtBQUNqQixDQUFDLENBQUM7QUFDRixNQUFNLDRCQUE0QixHQUFHLGlCQUFpQjtBQUN0RCxFQUFFLHFCQUFxQjtBQUN2QixFQUFFLGNBQWM7QUFDaEIsRUFBRSxnQkFBZ0I7QUFDbEIsRUFBRSxlQUFlO0FBQ2pCLENBQUMsQ0FBQztBQUNGLE1BQU0sdUJBQXVCLEdBQUcsaUJBQWlCO0FBQ2pELEVBQUUsY0FBYztBQUNoQixFQUFFLGdCQUFnQjtBQUNsQixFQUFFLGVBQWU7QUFDakIsQ0FBQyxDQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVMsWUFBWSxDQUFDLENBQUMsRUFBRTtBQUNoQyxFQUFFLE9BQU8sS0FBSztBQUNkLElBQUksQ0FBQztBQUNMLElBQUksQ0FBQyw0QkFBNEIsRUFBRSwwQkFBMEIsQ0FBQztBQUM5RCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsMkJBQTJCLENBQUM7QUFDaEUsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLDRCQUE0QixDQUFDO0FBQ3BFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSx1QkFBdUIsQ0FBQztBQUNuRCxHQUFHLENBQUM7QUFDSixDQUFDO0FBQ0Q7QUFDTyxTQUFTLGdCQUFnQixDQUFDLENBQUMsRUFBRTtBQUNwQyxFQUFFLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUNEO0FBQ08sU0FBUyxhQUFhLENBQUMsQ0FBQyxFQUFFO0FBQ2pDLEVBQUUsT0FBTyxLQUFLO0FBQ2QsSUFBSSxDQUFDO0FBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztBQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDO0FBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO0FBQ3pCLEdBQUcsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNPLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFO0FBQ3BDLEVBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBQ0Q7QUFDQSxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzdEO0FBQ08sU0FBUyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUU7QUFDcEMsRUFBRSxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFDRDtBQUNBLE1BQU0sNEJBQTRCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzFEO0FBQ0EsTUFBTSwrQkFBK0IsR0FBRyxpQkFBaUI7QUFDekQsRUFBRSxjQUFjO0FBQ2hCLEVBQUUsZ0JBQWdCO0FBQ2xCLEVBQUUsZUFBZTtBQUNqQixDQUFDLENBQUM7QUFDRjtBQUNPLFNBQVMsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUM1QixFQUFFLE9BQU8sS0FBSztBQUNkLElBQUksQ0FBQztBQUNMLElBQUksQ0FBQyw0QkFBNEIsRUFBRSwwQkFBMEIsQ0FBQztBQUM5RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsK0JBQStCLENBQUM7QUFDM0QsR0FBRyxDQUFDO0FBQ0o7O0FDL1RBLE1BQU1DLFNBQU8sR0FBRyxrQkFBa0IsQ0FBQztBQUNuQztBQUNBO0FBQ08sTUFBTSxjQUFjLEdBQUc7QUFDOUIsSUFBSSxLQUFLLEVBQUU7QUFDWCxNQUFNLElBQUksRUFBRSxDQUFDO0FBQ2IsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUU7QUFDbkIsTUFBTSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQzFCLE1BQU0sT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDL0IsTUFBTSxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDM0MsS0FBSztBQUNMLElBQUksSUFBSSxFQUFFO0FBQ1YsTUFBTSxLQUFLLEVBQUUsRUFBRTtBQUNmLE1BQU0sT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFO0FBQ3RCLE1BQU0sT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUMzQixNQUFNLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJO0FBQ3ZDLEtBQUs7QUFDTCxJQUFJLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFO0FBQzFFLElBQUksT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRTtBQUNyRCxJQUFJLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7QUFDbkMsR0FBRztBQUNILEVBQUUsWUFBWSxHQUFHO0FBQ2pCLElBQUksS0FBSyxFQUFFO0FBQ1gsTUFBTSxRQUFRLEVBQUUsQ0FBQztBQUNqQixNQUFNLE1BQU0sRUFBRSxFQUFFO0FBQ2hCLE1BQU0sS0FBSyxFQUFFLEVBQUU7QUFDZixNQUFNLElBQUksRUFBRSxHQUFHO0FBQ2YsTUFBTSxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUU7QUFDckIsTUFBTSxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQzVCLE1BQU0sT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDakMsTUFBTSxZQUFZLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDN0MsS0FBSztBQUNMLElBQUksUUFBUSxFQUFFO0FBQ2QsTUFBTSxNQUFNLEVBQUUsQ0FBQztBQUNmLE1BQU0sS0FBSyxFQUFFLEVBQUU7QUFDZixNQUFNLElBQUksRUFBRSxFQUFFO0FBQ2QsTUFBTSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUU7QUFDcEIsTUFBTSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQzNCLE1BQU0sT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDaEMsTUFBTSxZQUFZLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDNUMsS0FBSztBQUNMLElBQUksTUFBTSxFQUFFO0FBQ1osTUFBTSxLQUFLLEVBQUUsQ0FBQztBQUNkLE1BQU0sSUFBSSxFQUFFLEVBQUU7QUFDZCxNQUFNLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRTtBQUNwQixNQUFNLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDM0IsTUFBTSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUNoQyxNQUFNLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSTtBQUM1QyxLQUFLO0FBQ0w7QUFDQSxJQUFJLEdBQUcsY0FBYztBQUNyQixHQUFHO0FBQ0gsRUFBRSxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsR0FBRztBQUNyQyxFQUFFLG1CQUFtQixHQUFHLFFBQVEsR0FBRyxJQUFJO0FBQ3ZDLEVBQUUsY0FBYyxHQUFHO0FBQ25CLElBQUksS0FBSyxFQUFFO0FBQ1gsTUFBTSxRQUFRLEVBQUUsQ0FBQztBQUNqQixNQUFNLE1BQU0sRUFBRSxFQUFFO0FBQ2hCLE1BQU0sS0FBSyxFQUFFLGtCQUFrQixHQUFHLENBQUM7QUFDbkMsTUFBTSxJQUFJLEVBQUUsa0JBQWtCO0FBQzlCLE1BQU0sS0FBSyxFQUFFLGtCQUFrQixHQUFHLEVBQUU7QUFDcEMsTUFBTSxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDM0MsTUFBTSxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ2hELE1BQU0sWUFBWSxFQUFFLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDNUQsS0FBSztBQUNMLElBQUksUUFBUSxFQUFFO0FBQ2QsTUFBTSxNQUFNLEVBQUUsQ0FBQztBQUNmLE1BQU0sS0FBSyxFQUFFLGtCQUFrQixHQUFHLEVBQUU7QUFDcEMsTUFBTSxJQUFJLEVBQUUsa0JBQWtCLEdBQUcsQ0FBQztBQUNsQyxNQUFNLEtBQUssRUFBRSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsSUFBSSxDQUFDO0FBQzFDLE1BQU0sT0FBTyxFQUFFLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0FBQ2pELE1BQU0sT0FBTyxFQUFFLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztBQUN0RCxNQUFNLFlBQVksRUFBRSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDO0FBQ2xFLEtBQUs7QUFDTCxJQUFJLE1BQU0sRUFBRTtBQUNaLE1BQU0sS0FBSyxFQUFFLG1CQUFtQixHQUFHLENBQUM7QUFDcEMsTUFBTSxJQUFJLEVBQUUsbUJBQW1CO0FBQy9CLE1BQU0sS0FBSyxFQUFFLG1CQUFtQixHQUFHLEVBQUU7QUFDckMsTUFBTSxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDNUMsTUFBTSxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ2pELE1BQU0sWUFBWSxFQUFFLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFDN0QsS0FBSztBQUNMLElBQUksR0FBRyxjQUFjO0FBQ3JCLEdBQUcsQ0FBQztBQUNKO0FBQ0E7QUFDQSxNQUFNQyxjQUFZLEdBQUc7QUFDckIsRUFBRSxPQUFPO0FBQ1QsRUFBRSxVQUFVO0FBQ1osRUFBRSxRQUFRO0FBQ1YsRUFBRSxPQUFPO0FBQ1QsRUFBRSxNQUFNO0FBQ1IsRUFBRSxPQUFPO0FBQ1QsRUFBRSxTQUFTO0FBQ1gsRUFBRSxTQUFTO0FBQ1gsRUFBRSxjQUFjO0FBQ2hCLENBQUMsQ0FBQztBQUNGO0FBQ0EsTUFBTSxZQUFZLEdBQUdBLGNBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDckQ7QUFDQTtBQUNBLFNBQVNDLE9BQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUU7QUFDekM7QUFDQSxFQUFFLE1BQU0sSUFBSSxHQUFHO0FBQ2YsSUFBSSxNQUFNLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFO0FBQzNFLElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDaEMsSUFBSSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksR0FBRyxDQUFDLGtCQUFrQjtBQUN6RSxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNO0FBQ3JDLEdBQUcsQ0FBQztBQUNKLEVBQUUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBQ0Q7QUFDQSxTQUFTLFNBQVMsQ0FBQyxDQUFDLEVBQUU7QUFDdEIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFDRDtBQUNBO0FBQ0EsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtBQUMzRCxFQUFFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDdkMsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUk7QUFDbEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxRDtBQUNBLElBQUksS0FBSztBQUNULE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDekIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztBQUNwQyxDQUFDO0FBQ0Q7QUFDQTtBQUNBLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDdkMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sS0FBSztBQUM3QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7QUFDckMsTUFBTSxJQUFJLFFBQVEsRUFBRTtBQUNwQixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkQsT0FBTztBQUNQLE1BQU0sT0FBTyxPQUFPLENBQUM7QUFDckIsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLFFBQVEsQ0FBQztBQUN0QixLQUFLO0FBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUNEO0FBQ0E7QUFDQSxTQUFTLFlBQVksQ0FBQyxJQUFJLEVBQUU7QUFDNUIsRUFBRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDckIsRUFBRSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNuRCxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtBQUNyQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDM0IsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTSxRQUFRLENBQUM7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ3RCLElBQUksTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixLQUFLLFVBQVUsSUFBSSxLQUFLLENBQUM7QUFDdkUsSUFBSSxJQUFJLE1BQU0sR0FBRyxRQUFRLEdBQUcsY0FBYyxHQUFHLFlBQVksQ0FBQztBQUMxRDtBQUNBLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDN0IsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztBQUMxQztBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7QUFDaEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ2pDLElBQUksT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtBQUNoRCxNQUFNLE1BQU0sSUFBSSxvQkFBb0I7QUFDcEMsUUFBUSxDQUFDLDREQUE0RDtBQUNyRSxVQUFVLEdBQUcsS0FBSyxJQUFJLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRztBQUM1QyxTQUFTLENBQUM7QUFDVixPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0w7QUFDQSxJQUFJLE9BQU8sSUFBSSxRQUFRLENBQUM7QUFDeEIsTUFBTSxNQUFNLEVBQUUsZUFBZSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDO0FBQzFELE1BQU0sR0FBRyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQ2xDLE1BQU0sa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtBQUNqRCxNQUFNLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtBQUN6QixLQUFLLENBQUMsQ0FBQztBQUNQLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLGdCQUFnQixDQUFDLFlBQVksRUFBRTtBQUN4QyxJQUFJLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFO0FBQ2hDLE1BQU0sT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQy9DLEtBQUssTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7QUFDbEQsTUFBTSxPQUFPLFlBQVksQ0FBQztBQUMxQixLQUFLLE1BQU0sSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUU7QUFDakQsTUFBTSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDL0MsS0FBSyxNQUFNO0FBQ1gsTUFBTSxNQUFNLElBQUksb0JBQW9CO0FBQ3BDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sWUFBWSxDQUFDLENBQUM7QUFDbEYsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7QUFDN0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUMsSUFBSSxJQUFJLE1BQU0sRUFBRTtBQUNoQixNQUFNLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7QUFDL0YsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO0FBQ2pDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDLElBQUksSUFBSSxNQUFNLEVBQUU7QUFDaEIsTUFBTSxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLEtBQUssTUFBTTtBQUNYLE1BQU0sT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0FBQy9GLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFO0FBQzdDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNqQixNQUFNLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0FBQ3pGLEtBQUs7QUFDTDtBQUNBLElBQUksTUFBTSxPQUFPLEdBQUcsTUFBTSxZQUFZLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzFGO0FBQ0EsSUFBSSxJQUFJLFFBQVEsQ0FBQyxjQUFjLEVBQUU7QUFDakMsTUFBTSxNQUFNLElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDOUMsS0FBSyxNQUFNO0FBQ1gsTUFBTSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN2QyxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUU7QUFDN0IsSUFBSSxNQUFNLFVBQVUsR0FBRztBQUN2QixNQUFNLElBQUksRUFBRSxPQUFPO0FBQ25CLE1BQU0sS0FBSyxFQUFFLE9BQU87QUFDcEIsTUFBTSxPQUFPLEVBQUUsVUFBVTtBQUN6QixNQUFNLFFBQVEsRUFBRSxVQUFVO0FBQzFCLE1BQU0sS0FBSyxFQUFFLFFBQVE7QUFDckIsTUFBTSxNQUFNLEVBQUUsUUFBUTtBQUN0QixNQUFNLElBQUksRUFBRSxPQUFPO0FBQ25CLE1BQU0sS0FBSyxFQUFFLE9BQU87QUFDcEIsTUFBTSxHQUFHLEVBQUUsTUFBTTtBQUNqQixNQUFNLElBQUksRUFBRSxNQUFNO0FBQ2xCLE1BQU0sSUFBSSxFQUFFLE9BQU87QUFDbkIsTUFBTSxLQUFLLEVBQUUsT0FBTztBQUNwQixNQUFNLE1BQU0sRUFBRSxTQUFTO0FBQ3ZCLE1BQU0sT0FBTyxFQUFFLFNBQVM7QUFDeEIsTUFBTSxNQUFNLEVBQUUsU0FBUztBQUN2QixNQUFNLE9BQU8sRUFBRSxTQUFTO0FBQ3hCLE1BQU0sV0FBVyxFQUFFLGNBQWM7QUFDakMsTUFBTSxZQUFZLEVBQUUsY0FBYztBQUNsQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN4QztBQUNBLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEQ7QUFDQSxJQUFJLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sVUFBVSxDQUFDLENBQUMsRUFBRTtBQUN2QixJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsS0FBSyxLQUFLLENBQUM7QUFDN0MsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksTUFBTSxHQUFHO0FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2pELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksZUFBZSxHQUFHO0FBQ3hCLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztBQUMxRCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQzNCO0FBQ0EsSUFBSSxNQUFNLE9BQU8sR0FBRztBQUNwQixNQUFNLEdBQUcsSUFBSTtBQUNiLE1BQU0sS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSztBQUN6RCxLQUFLLENBQUM7QUFDTixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU87QUFDdkIsUUFBUSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztBQUMvRSxRQUFRRixTQUFPLENBQUM7QUFDaEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFO0FBQ3JCLElBQUksTUFBTSxDQUFDLEdBQUdDLGNBQVk7QUFDMUIsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUs7QUFDckIsUUFBUSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RDLFFBQVEsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7QUFDOUIsVUFBVSxPQUFPLElBQUksQ0FBQztBQUN0QixTQUFTO0FBQ1QsUUFBUSxPQUFPLElBQUksQ0FBQyxHQUFHO0FBQ3ZCLFdBQVcsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEcsV0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkIsT0FBTyxDQUFDO0FBQ1IsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDeEI7QUFDQSxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUc7QUFDbkIsT0FBTyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0FBQ3pGLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFFBQVEsR0FBRztBQUNiLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDakMsSUFBSSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDOUIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLEtBQUssR0FBRztBQUNWO0FBQ0EsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQztBQUNuQztBQUNBLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ2hCLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDaEQsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUM3RixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQ2hELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7QUFDOUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQztBQUMvRixNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQ2hELElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEQsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQztBQUNyRDtBQUNBO0FBQ0EsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ3JFLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDOUIsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUNiLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtB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QUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPQSxTQUFPLENBQUM7QUFDdEMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxHQUFHO0FBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPQSxTQUFPLENBQUM7QUFDdEMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6RCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRTtBQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU9BLFNBQU8sQ0FBQztBQUN0QyxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakUsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsR0FBRyxLQUFLLEVBQUUsR0FBRyxF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SUFBSSxDQUFDLENBQUM7QUFDZixNQUFNLElBQUk7QUFDVixNQUFNLEtBQUs7QUFDWCxNQUFNLEdBQUc7QUFDVCxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0RCxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM1QixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7QUFDakMsS0FBSztBQUNMLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFDdEMsTUFBTSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDOUMsTUFBTSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDdkQsTUFBTSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDakQsTUFBTSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDOUMsTUFBTSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDM0MsTUFBTSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7QUFDdEIsTUFBTSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87QUFDMUIsTUFBTSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87QUFDMUIsTUFBTSxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7QUFDcEMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLGNB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RyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsR0FBRyxNQUFNO0FBQ1QsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO0FBQ2YsR0FBRztBQUNIO0FBQ0EsRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBQ0Q7QUFDQSxTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRTtBQUN4QyxFQUFFLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLO0FBQzNELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSztBQUMxQixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUQsTUFBTSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLEtBQUs7QUFDTCxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSztBQUN2QixNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUMxQixRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtBQUN2QyxVQUFVLE9BQU8sR0FBRyxD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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTSxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrRkFBK0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkVBQTJFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFNLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdJQUFnSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FB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LENBQUMsRUFBRSxDQUFjLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxZQUFZLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGNBQWMsWUFBWSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLFlBQVksTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDLGtOQUFrTixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLDREQUE0RCxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFB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UUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVuQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN2QyxLQUFLLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUV0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUN6QyxDQUFDO0FBRUY7QUFDTyxNQUFNLGVBQWUsR0FBRztBQUMzQixJQUFBLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDM0IsSUFBQSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUM1QyxJQUFBLFNBQVMsRUFBRSxNQUNQLFFBQVEsQ0FBQyxLQUFLLEVBQUU7U0FDWCxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNoRCxJQUFBLFFBQVEsRUFBRSxNQUNOLFFBQVEsQ0FBQyxLQUFLLEVBQUU7U0FDWCxPQUFPLENBQUMsS0FBSyxDQUFD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LEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFFLENBQUM7O1lBQ3BGLE9BQU8sQ0FBQSxFQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFFLENBQUM7S0FDN0M7SUFFTSxPQUFPLEdBQUE7O0FBQ1YsUUFBQSxPQUFPLENBQUEsRUFBQSxJQUFDLENBQUEsRUFBQSxHQUFBLENBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQUcsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsQ0FBQyxDQUFDLENBQUM7S0FDbkc7SUFFTSxHQUFHLEdBQUE7O0FBQ04sUUFBQSxPQUFPLENBQUEsRUFBQSxJQUFDLENBQUEsRUFBQSxHQUFBLENBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQUcsSUFBQSxJQUFBLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsQ0FBQyxDQUFDLENBQUM7S0FDbkc7SUFFTSxTQUFTLEdB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QUFJLENBQUM7QUFDN0IsU0FBQSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxHQUFHLEdBQWlCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQztBQUN0RCxTQUFBLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0IsU0FBQSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLFNBQUEsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2xHLFNBQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssZ0JBQUEsQ0FBQSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDekMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxnQkFBQSxDQUFBLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLEdBQUcsR0FBaUIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO0FBQ3RELFNBQUEsSUFBSSxDQUFDLEdBQUcsRUFBRSxN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QUNyRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsUUFBUSxHQUFpQixJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUM7QUFDaEUsU0FBQSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvRCxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsT0FBTyxHQUFpQixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUM7U0FDOUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzlELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEIsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxRQUFRLEdBQWlCLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQztTQUNoRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDNUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbkYsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwQixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2QixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFNBQVMsR0FBaUIsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDO0FBQ2xFLFNBQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDbEYsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwQixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2QixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFFBQVEsR0FBaUIsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDO0FBQ2hFLFNBQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUk7UUFDeEQsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUN6RSxTQUFBO0FBQU0sYUFBQTtBQUNILFlBQUEsT0FBTyxHQUFHLENBQUM7QUFDZCxTQUFBO0FBQ0wsS0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxnQkFBQSxDQUFBLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNqRixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQztBQUNqRCxTQUFBLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RCxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQztBQUNsRCxTQUFBLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUM7QUFDOUMsU0FBQSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQztBQUM1RSxTQUFBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUM7QUFDOUMsU0FBQSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxD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QUFDLENBQUM7QUFDN0QsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxHQUFHLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO1NBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxTQUFBLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsSUFBSSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQztTQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxTQUFBLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksS0FBSyxD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QUFJLENBQUEsQ0FBQSxFQUFJLEVBQUUsQ0FBSSxDQUFBLEVBQUEsS0FBSyxFQUFFLENBQUM7S0FDbkM7QUFDSixDQUFBO0FBRUQ7QUFDTSxTQUFVLGVBQWUsQ0FBQyxjQUFxQyxFQUFBO0FBQ2pFLElBQUEsUUFDSSxlQUFlLENBQUMsTUFBTSxFQUFFOztTQUVuQixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7O1NBRWpFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUUzRSxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFbEQsU0FBQSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pGLFNBQUEsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRixTQUFBLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUUzRSxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUk7UUFDcEMsT0FBTyxpQkFBaUIsQ0FDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUN4RixDQUFDO0FBQ04sS0FBQyxDQUFDO1NBQ0QsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZELFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzs7U0FFMUQsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0UsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsU0FBQSxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLFNBQUEsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7U0FFNUYsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBTSxFQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7O1NBRWhGLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUVwRSxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUN0RDtBQUNOOztBQzdJQTtBQXNCQTs7O0FBR0c7TUFDVSxPQUFPLENBQUE7QUFDaEI7OztBQUdHO0FBQ0gsSUFBQSxXQUFBLENBQ1csV0FBd0IsRUFDeEIsUUFBdUIsRUFDdkIsT0FBQSxHQUFt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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9DLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBU0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFVixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRS9ELEdBQUMsQ0FBQyxLQUFLLEVBQUVBLEdBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMwRSxHQUFDLEVBQUUsQ0FBQyxPQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBT0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWYsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDZ0IsR0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFZCxHQUFDLEdBQUdsRSxHQUFDLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDa0UsR0FBQyxDQUFDbEUsR0FBQyxDQUFDLGlCQUFpQixHQUFHaUUsR0FBQyxFQUFFZSxHQUFDLEVBQUMsQ0FBQyxTQUFTQSxHQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDaEIsR0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUNBLEdBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ1csR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQ0osR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUNLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUVkLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDSSxHQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQ0UsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNGLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDUSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFYixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ2dCLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUNSLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFNUYsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTMkYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBQyxDQUFDQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNELEdBQUMsQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyx5QkFBeUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBU0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDN0YsR0FBQyxDQUFDLEtBQUssQ0FBQ0EsR0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTNEYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUYsR0FBQyxDQUFDLEtBQUssQ0FBQ0EsR0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTaUYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNqRixHQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJNEUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDa0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQ3hCLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUN0RSxHQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQ3NFLEdBQUMsQ0FBQ0EsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBR0ssR0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQ1EsR0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUNZLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDL0YsR0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTa0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2xGLEdBQUMsQ0FBQyxHQUFHLEVBQUVBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTK0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTNCLEdBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUdxQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDTixHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUVOLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVOLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFbUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDdkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTc0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUd0RixHQUFDLENBQUMsT0FBTyxFQUFFQSxHQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUV1RixHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUN2RixHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXNGLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUVmLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLFNBQVN1QixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNoRyxHQUFDLENBQUMsRUFBRSxFQUFFQSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUNpRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDVCxHQUFDLENBQUNHLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRVAsR0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUNjLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU2UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLEdBQUMsRUFBQyxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUIsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTMEIsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDaEMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUNZLEdBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ1YsR0FBQyxDQUFDLEtBQUssQ0FBQ3JFLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMrRCxHQUFDLENBQUMsQ0FBQyxDQUF1RGEsR0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUNOLEdBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDUyxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDSCxHQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNHLEdBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUNILEdBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDRCxHQUFDLENBQUNYLEdBQUMsQ0FBQyxFQUFFLENBQUNDLEdBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQ2UsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNiLEdBQUMsQ0FBQyxDQUFDOztBQ0FuaVQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDckUsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxFQUFFQSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNxRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3JGLEdBQUMsQ0FBQyxHQUFHLEVBQUUrRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMvRSxHQUFDLENBQUMsR0FBRyxFQUFFK0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9BLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVNXLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTWSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVNSLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM5RixHQUFDLENBQUMsYUFBYSxFQUFFQSxHQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQWlLLFNBQVNzRixHQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDbkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNrRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDbkYsR0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHQSxHQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFc0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUN0RixHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNrRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUVDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDbkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQ2tGLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFbEYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxTQUFTa0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FDQWgvRCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUNwRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUl1RSxHQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNDLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQ0ksR0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNKLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPeEUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUN3RSxHQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUlELEdBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFdkUsR0FBQyxDQUFDeUUsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDekUsR0FBQyxDQUFDeUUsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUNFLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMzRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixHQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSXVFLEdBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQ0ssR0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQywyT0FBMk8sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQ0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT0ssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDVCxHQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQ0EsR0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ0MsR0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNJLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNKLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRyxDQUFDLENBQUksSUFBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFhLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU94RSxHQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMwRSxHQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBR0MsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFJLElB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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9lcnJvcnMuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvc3lzdGVtWm9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvSUFOQVpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvbG9jYWxlLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy96b25lcy9maXhlZE9mZnNldFpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ludmFsaWRab25lLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL3pvbmVVdGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9zZXR0aW5ncy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC91dGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2VuZ2xpc2guanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0dGVyLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2ludmFsaWQuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvcmVnZXhQYXJzZXIuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2R1cmF0aW9uLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbnRlcnZhbC5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW5mby5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9kaWZmLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZ2l0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC90b2tlblBhcnNlci5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9jb252ZXJzaW9ucy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZGF0ZXRpbWUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2x1eG9uLmpzIiwiLi4vc3JjL3NldHRpbmdzLnRzIiwiLi4vc3JjL2FwaS9yZXN1bHQudHMiLCIuLi9ub2RlX21vZHVsZXMvcGFyc2ltbW9uL2J1aWxkL3BhcnNpbW1vbi51bWQubWluLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Vtb2ppLXJlZ2V4L2luZGV4LmpzIiwiLi4vc3JjL3V0aWwvbm9ybWFsaXplLnRzIiwiLi4vc3JjL2RhdGEtbW9kZWwvdmFsdWUudHMiLCIuLi9zcmMvYXBpL2RhdGEtYXJyYXkudHMiLCIuLi9zcmMvdXRpbC9sb2NhbGUudHMiLCIuLi9zcmMvdWkvcmVuZGVyLnRzIiwiLi4vbm9kZV9tb2R1bGVzL3BhcGFwYXJzZS9wYXBhcGFyc2UubWluLmpzIiwiLi4vc3JjL2V4cHJlc3Npb24vZmllbGQudHMiLCIuLi9zcmMvZGF0YS1pbmRleC9zb3VyY2UudHMiLCIuLi9zcmMvZXhwcmVzc2lvbi9wYXJzZS50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC9pbmxpbmUtZmllbGQudHMiLCIuLi9zcmMvZGF0YS1tb2RlbC9tYXJrZG93bi50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC9tYXJrZG93bi1maWxlLnRzIiwiLi4vc3JjL2RhdGEtaW1wb3J0L2Nzdi50cyIsIi4uL3NyYy9kYXRhLW1vZGVsL3RyYW5zZmVyYWJsZS50cyIsIi4uL25vZGVfbW9kdWxlcy9sb2NhbGZvcmFnZS9kaXN0L2xvY2FsZm9yYWdlLmpzIiwiLi4vc3JjL2RhdGEtaW1wb3J0L3BlcnNpc3Rlci50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC93ZWItd29ya2VyL2ltcG9ydC1tYW5hZ2VyLnRzIiwiLi4vc3JjL2RhdGEtaW5kZXgvaW5kZXgudHMiLCIuLi9zcmMvZGF0YS1pbmRleC9yZXNvbHZlci50cyIsIi4uL3NyYy9leHByZXNzaW9uL2Z1bmN0aW9ucy50cyIsIi4uL3NyYy9leHByZXNzaW9uL2JpbmFyeW9wLnRzIiwiLi4vc3JjL2V4cHJlc3Npb24vY29udGV4dC50cyIsIi4uL3NyYy9xdWVyeS9lbmdpbmUudHMiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFyZS12ZXJzaW9ucy9pbmRleC5tanMiLCIuLi9ub2RlX21vZHVsZXMvcHJlYWN0L2Rpc3QvcHJlYWN0Lm1vZHVsZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9wcmVhY3QvaG9va3MvZGlzdC9ob29rcy5tb2R1bGUuanMiLCIuLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9kaXN0L2NvbXBhdC5tb2R1bGUuanMiLCIuLi9zcmMvdXRpbC9tZWRpYS50cyIsIi4uL3NyYy91aS9tYXJrZG93bi50c3giLCIuLi9zcmMvdWkvdmlld3MvdGFzay12aWV3LnRzeCIsIi4uL3NyYy91aS92aWV3cy9saXN0LXZpZXcudHN4IiwiLi4vc3JjL3VpL3ZpZXdzL3RhYmxlLXZpZXcudHN4IiwiLi4vc3JjL3F1ZXJ5L3F1ZXJ5LnRzIiwiLi4vc3JjL3F1ZXJ5L3BhcnNlLnRzIiwiLi4vbm9kZV9tb2R1bGVzL29ic2lkaWFuLWNhbGVuZGFyLXVpL2Rpc3QvaW5kZXgubWpzIiwiLi4vc3JjL3VpL3JlZnJlc2hhYmxlLXZpZXcudHMiLCIuLi9zcmMvdWkvdmlld3MvY2FsZW5kYXItdmlldy50cyIsIi4uL3NyYy9hcGkvaW5saW5lLWFwaS50cyIsIi4uL3NyYy91aS92aWV3cy9qcy12aWV3LnRzIiwiLi4vc3JjL3VpL2V4cG9ydC9tYXJrZG93bi50cyIsIi4uL3NyYy9hcGkvcGx1Z2luLWFwaS50cyIsIi4uL3NyYy91aS92aWV3cy9pbmxpbmUtdmlldy50cyIsIi4uL3NyYy91aS92aWV3cy9pbmxpbmUtZmllbGQudHN4IiwiLi4vc3JjL3VpL2xwLXJlbmRlci50cyIsIi4uL3NyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJuIiwicyIsImwiLCJzaW5nbGV0b24iLCJFbmdsaXNoLmZvcm1hdFJlbGF0aXZlVGltZSIsIkVuZ2xpc2gubW9udGhzIiwiRW5nbGlzaC53ZWVrZGF5cyIsIkVuZ2xpc2gubWVyaWRpZW1zIiwiRW5nbGlzaC5lcmFzIiwiRm9ybWF0cy5EQVRFX1NIT1JUIiwiRm9ybWF0cy5EQVRFX01FRCIsIkZvcm1hdHMuREFURV9GVUxMIiwiRm9ybWF0cy5EQVRFX0hVR0UiLCJGb3JtYXRzLlRJTUVfU0lNUExFIiwiRm9ybWF0cy5USU1FX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCIsIkZvcm1hdHMuVElNRV9XSVRIX0xPTkdfT0ZGU0VUIiwiRm9ybWF0cy5USU1FXzI0X1NJTVBMRSIsIkZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMiLCJGb3JtYXRzLlRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQiLCJGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCIsIkZvcm1hdHMuREFURVRJTUVfU0hPUlQiLCJGb3JtYXRzLkRBVEVUSU1FX01FRCIsIkZvcm1hdHMuREFURVRJTUVfRlVMTCIsIkZvcm1hdHMuREFURVRJTUVfSFVHRSIsIkZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTIiwiRm9ybWF0cy5EQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTIiwiRm9ybWF0cy5EQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMiLCJFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLm1vbnRoRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLndlZWtkYXlGb3JEYXRlVGltZSIsIkVuZ2xpc2guZXJhRm9yRGF0ZVRpbWUiLCJFbmdsaXNoLm1vbnRoc1Nob3J0IiwiRW5nbGlzaC53ZWVrZGF5c0xvbmciLCJFbmdsaXNoLndlZWtkYXlzU2hvcnQiLCJJTlZBTElEIiwib3JkZXJlZFVuaXRzIiwiY2xvbmUiLCJGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSIsIkZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSIsInRoaXMiLCJQLmFsdCIsIlAucmVnZXgiLCJQLndoaXRlc3BhY2UiLCJQLmFueSIsIk1hcmtkb3duUmVuZGVyZXIiLCJQLnNlcU1hcCIsIlAuc2VxIiwiUC5vcHRXaGl0ZXNwYWNlIiwiUC5jdXN0b20iLCJQLmNyZWF0ZUxhbmd1YWdlIiwiUC5yZWdleHAiLCJQLnN0cmluZyIsIlAubm9uZU9mIiwiUC5zdWNjZWVkIiwiUC5mYWlsIiwiTGlzdEl0ZW0iLCJQYXBhLnBhcnNlIiwicmVxdWlyZSIsImdsb2JhbCIsIkNvbXBvbmVudCIsIkRhdGF2aWV3SW1wb3J0V29ya2VyIiwiVEZpbGUiLCJURm9sZGVyIiwidSIsInQiLCJvIiwiciIsImYiLCJlIiwiYyIsImEiLCJoIiwidiIsInkiLCJwIiwiZCIsIl8iLCJrIiwiYiIsIm0iLCJnIiwiaiIsInoiLCJ3IiwieCIsIlAiLCJOIiwiTSIsIkEiLCJDIiwiSCIsIiQiLCJUIiwiSSIsIk8iLCJMIiwiUyIsInEiLCJCIiwiRCIsIkYiLCJpIiwiY3JlYXRlQ29udGV4dCIsInVzZVJlZiIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsInVzZVN0YXRlIiwiTWFya2Rvd25SZW5kZXJDaGlsZCIsInJlbmRlciIsInVubW91bnRDb21wb25lbnRBdE5vZGUiLCJQbGF0Zm9ybSIsIlJlc3VsdENvdW50IiwiUC5zZXBCeSIsIldpZGdldFR5cGUiLCJlZGl0b3JJbmZvRmllbGQiLCJWaWV3UGx1Z2luIiwidmlldyIsIkRlY29yYXRpb24iLCJlZGl0b3JMaXZlUHJldmlld0ZpZWxkIiwic3ludGF4VHJlZSIsInRva2VuQ2xhc3NOb2RlUHJvcCIsIlBsdWdpbiIsImRlYm91bmNlIiwiUGx1Z2luU2V0dGluZ1RhYiIsIlNldHRpbmciXSwibWFwcGluZ3MiOiI7Ozs7OztB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QVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUMzQixHQUFHO0FBQ0gsRUFBRSxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFDRDtBQUNBLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUNyQixTQUFTLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUM1QyxFQUFFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNoRCxFQUFFLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUMzQixHQUFHO0FBQ0gsRUFBRSxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFDRDtBQUNBLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN0QixTQUFTLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRTtBQUM1QyxFQUFFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNoRCxFQUFFLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJ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QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTtBQUNkLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBT0EsU0FBTyxDQUFDO0FBQ3RDLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsR0FBRztBQUNkLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBT0EsU0FBTyxDQUFDO0FBQ3RDLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDekQsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUU7QUFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPQSxTQUFPLENBQUM7QUFDdEMsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLEdBQUcsS0FBSyxFQUFFLEdBQUcs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LElBQUksQ0FBQyxDQUFDO0FBQ2YsTUFBTSxJQUFJO0FBQ1YsTUFBTSxLQUFLO0FBQ1gsTUFBTSxHQUFHO0FBQ1QsUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEQsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDNUIsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ2pDLEtBQUs7QUFDTCxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0FBQzlDLE1BQU0sUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQ3ZELE1BQU0sTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQ2pELE1BQU0sS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0FBQzlDLE1BQU0sSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQzNDLE1BQU0sS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO0FBQ3RCLE1BQU0sT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO0FBQzFCLE1BQU0sT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO0FBQzFCLE1BQU0sWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO0FBQ3BDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUM7QUFDekIsSUFBSSxPQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCO0FBQ0EsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwRDtBQUNBLEVBQUUsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQztBQUN0QjtBQUNBLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzdCLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNuQixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsU0FBUyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtBQUNyRixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQ2pDLEVBQUUsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0FBQ2xELElBQUksTUFBTSxrQkFBa0IsR0FBRyxVQUFVLElBQUksSUFBSTtBQUNqRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtBQUN6QyxRQUFRLEdBQUcsSUFBSTtBQUNmLFFBQVEsSUFBSSxFQUFFLGtCQUFrQjtBQUNoQyxRQUFRLGNBQWM7QUFDdEIsT0FBTyxDQUFDLENBQUM7QUFDVCxJQUFJLE9BQU8sT0FBTyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9DLEdBQUcsTUFBTTtBQUNULElBQUksT0FBTyxRQUFRLENBQUMsT0FBTztBQUMzQixNQUFNLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNuRixLQUFLLENBQUM7QUFDTixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLFNBQVMsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBRTtBQUNqRCxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU87QUFDbkIsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDL0MsUUFBUSxNQUFNO0FBQ2QsUUFBUSxXQUFXLEVBQUUsSUFBSTtBQUN6QixPQUFPLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO0FBQzdDLE1BQU0sSUFBSSxDQUFDO0FBQ1gsQ0FBQztBQUNEO0FBQ0EsU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRTtBQUNoQyxFQUFFLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7QUFDckQsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDYixFQUFFLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO0FBQzVDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzlDO0FBQ0EsRUFBRSxJQUFJLFFBQVEsRUFBRTtBQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDYixJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDYixJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixHQUFHLE1BQU07QUFDVCxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QixJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixHQUFHO0FBQ0gsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFDRDtBQUNBLFNBQVMsU0FBUztBQUNsQixFQUFFLENBQUM7QUFDSCxFQUFFLFFBQVE7QUFDVixFQUFFLGVBQWU7QUFDakIsRUFBRSxvQkFBb0I7QUFDdEIsRUFBRSxhQUFhO0FBQ2YsRUFBRSxZQUFZO0FBQ2QsRUFBRTtBQUNGLEVBQUUsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0IsRUFBRSxJQUFJLFFBQVEsRUFBRTtBQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDYixJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO0FBQzlDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNmLEtBQUs7QUFDTCxHQUFHLE1BQU07QUFDVCxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO0FBQzVDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCO0FBQ0EsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO0FBQ3hELE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNmLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4QyxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0EsRUFBRSxJQUFJLGFBQWEsRUFBRTtBQUNyQixJQUFJLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtBQUM1RCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUN4QixNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzQyxLQUFLLE1BQU07QUFDWCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDO0FBQ2YsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUksWUFBWSxFQUFFO0FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDckMsR0FBRztBQUNILEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBQ0Q7QUFDQTtBQUNBLE1BQU0saUJBQWlCLEdBQUc7QUFDMUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUNaLElBQUksR0FBRyxFQUFFLENBQUM7QUFDVixJQUFJLElBQUksRUFBRSxDQUFDO0FBQ1gsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUNiLElBQUksTUFBTSxFQUFFLENBQUM7QUFDYixJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLEdBQUc7QUFDSCxFQUFFLHFCQUFxQixHQUFHO0FBQzFCLElBQUksVUFBVSxFQUFFLENBQUM7QUFDakIsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNkLElBQUksSUFBSSxFQUFFLENBQUM7QUFDWCxJQUFJLE1BQU0sRUFBRSxDQUFDO0FBQ2IsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUNiLElBQUksV0FBVyxFQUFFLENBQUM7QUFDbEIsR0FBRztBQUNILEVBQUUsd0JBQXdCLEdBQUc7QUFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNkLElBQUksSUFBSSxFQUFFLENBQUM7QUFDWCxJQUFJLE1BQU0sRUFBRSxDQUFDO0FBQ2IsSUFBSSxNQUFNLEVBQUUsQ0FBQztBQUNiLElBQUksV0FBVyxFQUFFLENBQUM7QUFDbEIsR0FBRyxDQUFDO0FBQ0o7QUFDQTtBQUNBLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO0FBQ3hGLEVBQUUsZ0JBQWdCLEdBQUc7QUFDckIsSUFBSSxVQUFVO0FBQ2QsSUFBSSxZQUFZO0FBQ2hCLElBQUksU0FBUztBQUNiLElBQUksTUFBTTtBQUNWLElBQUksUUFBUTtBQUNaLElBQUksUUFBUTtBQUNaLElBQUksYUFBYTtBQUNqQixHQUFHO0FBQ0gsRUFBRSxtQkFBbUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDdkY7QUFDQTtBQUNBLFNBQVMsYUFBYSxDQUFDLElBQUksRUFBRTtBQUM3QixFQUFFLE1BQU0sVUFBVSxHQUFHO0FBQ3JCLElBQUksSUFBSSxFQUFFLE1BQU07QUFDaEIsSUFBSSxLQUFLLEVBQUUsTUFBTTtBQUNqQixJQUFJLEtBQUssRUFBRSxPQUFPO0FBQ2xCLElBQUksTUFBTSxFQUFFLE9BQU87QUFDbkIsSUFBSSxHQUFHLEVBQUUsS0FBSztBQUNkLElBQUksSUFBSSxFQUFFLEtBQUs7QUFDZixJQUFJLElBQUksRUFBRSxNQUFNO0FBQ2hCLElBQUksS0FBSyxFQUFFLE1BQU07QUFDakIsSUFBSSxNQUFNLEVBQUUsUUFBUTtBQUNwQixJQUFJLE9BQU8sRUFBRSxRQUFRO0FBQ3JCLElBQUksT0FBTyxFQUFFLFNBQVM7QUFDdEIsSUFBSSxRQUFRLEVBQUUsU0FBUztBQUN2QixJQUFJLE1BQU0sRUFBRSxRQUFRO0FBQ3BCLElBQUksT0FBTyxFQUFFLFFBQVE7QUFDckIsSUFBSSxXQUFXLEVBQUUsYUFBYTtBQUM5QixJQUFJLFlBQVksRUFBRSxhQUFhO0FBQy9CLElBQUksT0FBTyxFQUFFLFNBQVM7QUFDdEIsSUFBSSxRQUFRLEVBQUUsU0FBUztBQUN2QixJQUFJLFVBQVUsRUFBRSxZQUFZO0FBQzVCLElBQUksV0FBVyxFQUFFLFlBQVk7QUFDN0IsSUFBSSxXQUFXLEVBQUUsWUFBWTtBQUM3QixJQUFJLFFBQVEsRUFBRSxVQUFVO0FBQ3hCLElBQUksU0FBUyxFQUFFLFVBQVU7QUFDekIsSUFBSSxPQUFPLEVBQUUsU0FBUztBQUN0QixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDeEI7QUFDQSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3BEO0FBQ0EsRUFBRSxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO0FBQzVCLEVBQUUsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztBQUM3RCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztBQUNqQyxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDM0I7QUFDQSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNaO0FBQ0E7QUFDQSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQzlCLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUU7QUFDbEMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMvQixRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsSUFBSSxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1RSxJQUFJLElBQUksT0FBTyxFQUFFO0FBQ2pCLE1BQU0sT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZDLEtBQUs7QUFDTDtBQUNBLElBQUksTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLEdBQUcsTUFBTTtBQUNULElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztBQUNmLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUNEO0FBQ0EsU0FBUyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDeEMsRUFBRSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSztBQUMzRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUs7QUFDMUIsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVELE1BQU0sTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9ELE1BQU0sT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2QyxLQUFLO0FBQ0wsSUFBSSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUs7QUFDdkIsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDMUIsUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7QUFDdkMsVUFBVSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdFLFNBQVMsTUFBTSxPQUFPLENBQUMsQ0FBQztBQUN4QixPQUFPLE1BQU07QUFDYixRQUFRLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9DLE9BQU87QUFDUCxLQUFLLENBQUM7QUFDTjtBQUNBLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO0FBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEQsR0FBRztBQUNIO0FBQ0EsRUFBRSxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7QUFDakMsSUFBSSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQzlCLE1BQU0sT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pDLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUNEO0FBQ0EsU0FBUyxRQUFRLENBQUMsT0FBTyxFQUFFO0FBQzNCLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtBQUNmLElBQUksSUFBSSxDQUFDO0FBQ1QsRUFBRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO0FBQzdFLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVELEdBQUcsTUFBTTtBQUNULElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0IsR0FBRztBQUNILEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTSxRQUFRLENBQUM7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ3RCLElBQUksTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDO0FBQ3JEO0FBQ0EsSUFBSSxJQUFJLE9BQU87QUFDZixNQUFNLE1BQU0sQ0FBQyxPQUFPO0FBQ3BCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3JFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNsRTtBQUNBLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSTtBQUNoQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDbEIsTUFBTSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hHO0FBQ0EsTUFBTSxJQUFJLFNBQVMsRUFBRTtBQUNyQixRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxPQUFPLE1BQU07QUFDYixRQUFRLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDLFFBQVEsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM3RSxRQUFRLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUMvQixRQUFRLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNoQyxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztBQUN0QjtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUMzQjtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZjtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztBQUNoQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sR0FBRyxHQUFHO0FBQ2YsSUFBSSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVCLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsT0FBTyxLQUFLLEdBQUc7QUFDakIsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7QUFDNUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNuRSxJQUFJLE9BQU8sT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEYsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxPQUFPLEdBQUcsR0FBRztBQUNmLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO0FBQzVDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDbkU7QUFDQSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztBQUM1QyxJQUFJLE9BQU8sT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEYsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFO0FBQ3hDLElBQUksTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDbkQsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDMUIsTUFBTSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDL0MsS0FBSztBQUNMO0FBQ0EsSUFBSSxNQUFNLFNBQVMsR0FBRyxhQUFh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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU0sV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0ZBQStGLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLDJFQUEyRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsMERBQTBELENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTSwwQkFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxNQUFNLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnSUFBZ0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENB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UyxDQUFDLEVBQUUsQ0FBYyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsWUFBWSxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxjQUFjLFlBQVksTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtEQUFrRCxDQUFDLENBQUMsQ0FBQyxrTkFBa04sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyw0REFBNEQsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsNkNBQTZDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVB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LFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdEMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFcEMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdEMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFbkMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdkMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdEMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFcEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDM0MsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDNUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFdEMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDM0MsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDNUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Q0FDekMsQ0FBQztBQUVGO0FBQ08sTUFBTSxlQUFlLEdBQUc7QUFDM0IsSUFBQSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFO0FBQzNCLElBQUEsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDNUMsSUFBQSxTQUFTLEVBQUUsTUFDUCxRQUFRLENBQUMsS0FBSyxFQUFFO1NBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUNkLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEQsSUFBQSxRQUFRLEVBQUUsTUFDTixRQUFRLENBQUMsS0FBSyxFQUFFO1NBQ1gsT0FBTyxDQUFDLEtBQUssQ0FB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RyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBRSxDQUFDOztZQUNwRixPQUFPLENBQUEsRUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBRSxDQUFDO0tBQzdDO0lBRU0sT0FBTyxHQUFBOztBQUNWLFFBQUEsT0FBTyxDQUFBLEVBQUEsSUFBQyxDQUFBLEVBQUEsR0FBQSxDQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFHLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLENBQUMsQ0FBQyxDQUFDO0tBQ25HO0lBRU0sR0FBRyxHQUFBOztBQUNOLFFBQUEsT0FBTyxDQUFBLEVBQUEsSUFBQyxDQUFBLEVBQUEsR0FBQSxDQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFHLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLENBQUMsQ0FBQyxDQUFDO0tBQ25HO0lBRU0sU0FBUyxH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QUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU9BLGVBQU8sRUFBRSxVQUFVLEVBQUVBLGVBQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDcjFCLENBQUMsVUFBVSxNQUFNLENBQUM7QUFFbEIsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztBQUN4RTtBQUNBLElBQUksYUFBYSxDQUFDO0FBQ2xCO0FBQ0E7QUFDQSxFQUFFLElBQUksUUFBUSxFQUFFO0FBQ2hCLElBQUksSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLElBQUksSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDMUMsSUFBSSxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNyRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO0FBQzlCLE1BQU0sYUFBYSxFQUFFLElBQUk7QUFDekIsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLGFBQWEsR0FBRyxZQUFZO0FBQ2hDLE1BQU0sT0FBTyxDQUFDLElBQUksSUFBSSxNQUFNLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0MsS0FBSyxDQUFDO0FBQ04sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLE9BQU8sTUFBTSxDQUFDLGNBQWMsS0FBSyxXQUFXLEVBQUU7QUFDbkYsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUM5QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztBQUN2QyxJQUFJLGFBQWEsR0FBRyxZQUFZO0FBQ2hDLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsS0FBSyxDQUFDO0FBQ04sR0FBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBSSxvQkFBb0IsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUN0RyxJQUFJLGFBQWEsR0FBRyxZQUFZO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0QsTUFBTSxRQUFRLENBQUMsa0JBQWtCLEdBQUcsWUFBWTtBQUNoRCxRQUFRLFFBQVEsRUFBRSxDQUFDO0FBQ25CO0FBQ0EsUUFBUSxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQzNDLFFBQVEsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEQsUUFBUSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3hCLE9BQU8sQ0FBQztBQUNSLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVELEtBQUssQ0FBQztBQUNOLEdBQUcsTUFBTTtBQUNULElBQUksYUFBYSxHQUFHLFlBQVk7QUFDaEMsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzlCLEtBQUssQ0FBQztBQUNOLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQSxJQUFJLFFBQVEsQ0FBQztBQUNiLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNmO0FBQ0EsU0FBUyxRQUFRLEdBQUc7QUFDcEIsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLEVBQUUsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO0FBQ2xCLEVBQUUsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN6QixFQUFFLE9BQU8sR0FBRyxFQUFFO0FBQ2QsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0FBQ3JCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ1gsSUFBSSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRTtBQUN0QixNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3BCLEtBQUs7QUFDTCxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3ZCLEdBQUc7QUFDSCxFQUFFLFFBQVEsR0FBRyxLQUFLLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDM0IsU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFO0FBQ3pCLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUMzQyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQ3BCLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPQyxjQUFNLEtBQUssV0FBVyxHQUFHQSxjQUFNLEdBQUcsT0FBTyxJQUFJLEtBQUssV0FBVyxHQUFHLElBQUksR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLEdBQUcsTUFBTSxHQUFHLEVBQUUsRUFBQztBQUN2SSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUV6QyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0I7QUFDQTtBQUNBLFNBQVMsUUFBUSxHQUFHLEVBQUU7QUFDdEI7QUFDQSxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDbEI7QUFDQSxJQUFJLFFBQVEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLElBQUksU0FBUyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDOUIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQjtBQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3pCO0FBQ0EsU0FBUyxPQUFPLENBQUMsUUFBUSxFQUFFO0FBQzNCLEVBQUUsSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLEVBQUU7QUFDdEMsSUFBSSxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDdkQsR0FBRztBQUNILEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDdkIsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUNsQixFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDeEIsRUFBRSxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUU7QUFDN0IsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUMsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxVQUFVLEVBQUU7QUFDbkQsRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQVUsV0FBVyxFQUFFLFVBQVUsRUFBRTtBQUM1RCxFQUFFLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUztBQUNuRSxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUNqRSxJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUc7QUFDSCxFQUFFLElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMvQyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7QUFDOUIsSUFBSSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsR0FBRyxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3ZFLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLEdBQUcsTUFBTTtBQUNULElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLEdBQUc7QUFDSDtBQUNBLEVBQUUsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBQ0YsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUU7QUFDckQsRUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUN6QixFQUFFLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFO0FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDbkMsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztBQUNqRCxHQUFHO0FBQ0gsRUFBRSxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsRUFBRTtBQUN4QyxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0FBQ2pDLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7QUFDL0MsR0FBRztBQUNILENBQUM7QUFDRCxTQUFTLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxVQUFVLEtBQUssRUFBRTtBQUNyRCxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFDRixTQUFTLENBQUMsU0FBUyxDQUFDLGtCQUFrQixHQUFHLFVBQVUsS0FBSyxFQUFFO0FBQzFELEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFDRixTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxVQUFVLEtBQUssRUFBRTtBQUNwRCxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFDRixTQUFTLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsS0FBSyxFQUFFO0FBQ3pELEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFDRjtBQUNBLFNBQVMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ3RDLEVBQUUsU0FBUyxDQUFDLFlBQVk7QUFDeEIsSUFBSSxJQUFJLFdBQVcsQ0FBQztBQUNwQixJQUFJLElBQUk7QUFDUixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQ2hCLE1BQU0sT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6QyxLQUFLO0FBQ0wsSUFBSSxJQUFJLFdBQVcsS0FBSyxPQUFPLEVBQUU7QUFDakMsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUM7QUFDcEYsS0FBSyxNQUFNO0FBQ1gsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM3QyxLQUFLO0FBQ0wsR0FBRyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBQ0Q7QUFDQSxRQUFRLENBQUMsT0FBTyxHQUFHLFVBQVUsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUMxQyxFQUFFLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFO0FBQ2pDLElBQUksT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0MsR0FBRztBQUNILEVBQUUsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUM5QjtBQUNBLEVBQUUsSUFBSSxRQUFRLEVBQUU7QUFDaEIsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUMsR0FBRyxNQUFNO0FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztBQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDZixJQUFJLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ2hDLElBQUksT0FBTyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUU7QUFDdEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFDRixRQUFRLENBQUMsTUFBTSxHQUFHLFVBQVUsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUN6QyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0FBQ3hCLEVBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFDdkIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNiLEVBQUUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDOUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRTtBQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLEdBQUc7QUFDSCxFQUFFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDdEI7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQzdCLEVBQUUsSUFBSSxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtBQUNuRyxJQUFJLE9BQU8sU0FBUyxRQUFRLEdBQUc7QUFDL0IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqQyxLQUFLLENBQUM7QUFDTixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsU0FBUyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO0FBQy9DO0FBQ0EsRUFBRSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDckIsRUFBRSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDMUIsSUFBSSxJQUFJLE1BQU0sRUFBRTtBQUNoQixNQUFNLE9BQU87QUFDYixLQUFLO0FBQ0wsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakMsR0FBRztBQUNIO0FBQ0EsRUFBRSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUU7QUFDNUIsSUFBSSxJQUFJLE1BQU0sRUFBRTtBQUNoQixNQUFNLE9BQU87QUFDYixLQUFLO0FBQ0wsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbEMsR0FBRztBQUNIO0FBQ0EsRUFBRSxTQUFTLFdBQVcsR0FBRztBQUN6QixJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakMsR0FBRztBQUNIO0FBQ0EsRUFBRSxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFO0FBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQixHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsU0FBUyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUMvQixFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNmLEVBQUUsSUFBSTtBQUNOLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQUMzQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDZCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBQ3pCLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDbEIsR0FBRztBQUNILEVBQUUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBQ0Q7QUFDQSxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUMxQixTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDeEIsRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7QUFDN0IsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixHQUFHO0FBQ0gsRUFBRSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUNEO0FBQ0EsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDeEIsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQ3hCLEVBQUUsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbkMsRUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFDRDtBQUNBLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQVMsR0FBRyxDQUFDLFFBQVEsRUFBRTtBQUN2QixFQUFFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUNsQixFQUFFLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGdCQUFnQixFQUFFO0FBQ3JFLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztBQUMxRCxHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDNUIsRUFBRSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7QUFDckIsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ1osSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDNUIsR0FBRztBQUNIO0FBQ0EsRUFBRSxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QixFQUFFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUNuQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2IsRUFBRSxJQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQztBQUNBLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUU7QUFDcEIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLEdBQUc7QUFDSCxFQUFFLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLEVBQUUsU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtBQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEtBQUssRUFBRTtBQUM5RCxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDbkIsUUFBUSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3RCLFFBQVEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEMsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1AsSUFBSSxTQUFTLGNBQWMsQ0FBQyxRQUFRLEVBQUU7QUFDdEMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO0FBQzNCLE1BQU0sSUFBSSxFQUFFLFFBQVEsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDekMsUUFBUSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3RCLFFBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0EsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDcEIsU0FBUyxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ3hCLEVBQUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLEVBQUUsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssZ0JBQWdCLEVBQUU7QUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0FBQzFELEdBQUc7QUFDSDtBQUNBLEVBQUUsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUM1QixFQUFFLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztBQUNyQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7QUFDWixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM1QixHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2IsRUFBRSxJQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQztBQUNBLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUU7QUFDcEIsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsR0FBRztBQUNILEVBQUUsT0FBTyxPQUFPLENBQUM7QUFDakIsRUFBRSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLFFBQVEsRUFBRTtBQUNqRCxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDbkIsUUFBUSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3RCLFFBQVEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsT0FBTztBQUNQLEtBQUssRUFBRSxVQUFVLEtBQUssRUFBRTtBQUN4QixNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDbkIsUUFBUSxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3RCLFFBQVEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEMsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1AsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDOUMsQ0FBQyxVQUFVLE1BQU0sQ0FBQztBQUVsQixJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7QUFDMUMsRUFBRSxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBQ0Q7QUFDQSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPQSxjQUFNLEtBQUssV0FBVyxHQUFHQSxjQUFNLEdBQUcsT0FBTyxJQUFJLEtBQUssV0FBVyxHQUFHLElBQUksR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLEdBQUcsTUFBTSxHQUFHLEVBQUUsRUFBQztBQUN2SSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBRTlDO0FBQ0EsSUFBSSxPQUFPLEdBQUcsT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLEdBQUcsVUFBVSxHQUFHLEVBQUUsRUFBRSxPQUFPLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLEdBQUcsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsSUFBSSxHQUFHLENBQUMsV0FBVyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssTUFBTSxDQUFDLFNBQVMsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQzdRO0FBQ0EsU0FBUyxlQUFlLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLFlBQVksV0FBVyxDQUFDLEVBQUUsRUFBRSxNQUFNLElBQUksU0FBUyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3pKO0FBQ0EsU0FBUyxNQUFNLEdBQUc7QUFDbEI7QUFDQSxJQUFJLElBQUk7QUFDUixRQUFRLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFO0FBQzlDLFlBQVksT0FBTyxTQUFTLENBQUM7QUFDN0IsU0FBUztBQUNULFFBQVEsSUFBSSxPQUFPLGVBQWUsS0FBSyxXQUFXLEVBQUU7QUFDcEQsWUFBWSxPQUFPLGVBQWUsQ0FBQztBQUNuQyxTQUFTO0FBQ1QsUUFBUSxJQUFJLE9BQU8sWUFBWSxLQUFLLFdBQVcsRUFBRTtBQUNqRCxZQUFZLE9BQU8sWUFBWSxDQUFDO0FBQ2hDLFNBQVM7QUFDVCxRQUFRLElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxFQUFFO0FBQy9DLFlBQVksT0FBTyxVQUFVLENBQUM7QUFDOUIsU0FBUztBQUNULFFBQVEsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUU7QUFDaEQsWUFBWSxPQUFPLFdBQVcsQ0FBQztBQUMvQixTQUFTO0FBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQ2hCLFFBQVEsT0FBTztBQUNmLEtBQUs7QUFDTCxDQUFDO0FBQ0Q7QUFDQSxJQUFJLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNuQjtBQUNBLFNBQVMsZ0JBQWdCLEdBQUc7QUFDNUIsSUFBSSxJQUFJO0FBQ1I7QUFDQTtBQUNBLFFBQVEsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7QUFDL0IsWUFBWSxPQUFPLEtBQUssQ0FBQztBQUN6QixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQUksUUFBUSxHQUFHLE9BQU8sWUFBWSxLQUFLLFdBQVcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyTTtBQUNBLFFBQVEsSUFBSSxRQUFRLEdBQUcsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLE9BQU8sQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssT0FBTyxTQUFTLEtBQUssV0FBVztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDO0FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUNoQixRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLEtBQUs7QUFDTCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO0FBQ3ZDO0FBQ0EsSUFBSSxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUN4QixJQUFJLFVBQVUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO0FBQ2xDLElBQUksSUFBSTtBQUNSLFFBQVEsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQ2hCLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtBQUNwQyxZQUFZLE1BQU0sQ0FBQyxDQUFDO0FBQ3BCLFNBQVM7QUFDVCxRQUFRLElBQUksT0FBTyxHQUFHLE9BQU8sV0FBVyxLQUFLLFdBQVcsR0FBRyxXQUFXLEdBQUcsT0FBTyxhQUFhLEtBQUssV0FBVyxHQUFHLGFBQWEsR0FBRyxPQUFPLGNBQWMsS0FBSyxXQUFXLEdBQUcsY0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBQzNNLFFBQVEsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNwQyxRQUFRLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDbEQsWUFBWSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVM7QUFDVCxRQUFRLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEQsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtBQUNwQztBQUNBO0FBQ0EsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDZixDQUFDO0FBQ0QsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3hCO0FBQ0EsU0FBUyxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtBQUM1QyxJQUFJLElBQUksUUFBUSxFQUFFO0FBQ2xCLFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRTtBQUN2QyxZQUFZLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbkMsU0FBUyxFQUFFLFVBQVUsS0FBSyxFQUFFO0FBQzVCLFlBQVksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVCLFNBQVMsQ0FBQyxDQUFDO0FBQ1gsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBLFNBQVMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7QUFDL0QsSUFBSSxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRTtBQUN4QyxRQUFRLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsS0FBSztBQUNMO0FBQ0EsSUFBSSxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRTtBQUM3QyxRQUFRLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN4QyxLQUFLO0FBQ0wsQ0FBQztBQUNEO0FBQ0EsU0FBUyxZQUFZLENBQUMsR0FBRyxFQUFFO0FBQzNCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtBQUNqQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLHlDQUF5QyxDQUFDLENBQUM7QUFDdEUsUUFBUSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFCLEtBQUs7QUFDTDtBQUNBLElBQUksT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBQ0Q7QUFDQSxTQUFTLFdBQVcsR0FBRztBQUN2QixJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRTtBQUNuRixRQUFRLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDL0MsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUkseUJBQXlCLEdBQUcsa0NBQWtDLENBQUM7QUFDbkUsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDM0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0FBQ3pDO0FBQ0E7QUFDQSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUM7QUFDM0IsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsdUJBQXVCLENBQUMsR0FBRyxFQUFFO0FBQ3RDLElBQUksSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztBQUM1QixJQUFJLElBQUksR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLElBQUksSUFBSSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3JDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsS0FBSztBQUNMLElBQUksT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLCtCQUErQixDQUFDLEdBQUcsRUFBRTtBQUM5QyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsVUFBVSxPQUFPLEVBQUU7QUFDNUMsUUFBUSxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3pFLFFBQVEsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwQyxRQUFRLEdBQUcsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3BFO0FBQ0EsUUFBUSxHQUFHLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFO0FBQ25DO0FBQ0E7QUFDQSxZQUFZLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUMvQixZQUFZLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztBQUNoQyxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixTQUFTLENBQUM7QUFDVjtBQUNBLFFBQVEsR0FBRyxDQUFDLFVBQVUsR0FBRyxZQUFZO0FBQ3JDLFlBQVksSUFBSSxhQUFhLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDM0UsWUFBWSxJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsRTtBQUNBO0FBQ0EsWUFBWSxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDM0YsU0FBUyxDQUFDO0FBQ1YsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWTtBQUM1QixRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JCLEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ0EsU0FBUyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7QUFDaEMsSUFBSSxJQUFJLE9BQU8sYUFBYSxLQUFLLFNBQVMsRUFBRTtBQUM1QyxRQUFRLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNoRCxLQUFLO0FBQ0wsSUFBSSxPQUFPLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRTtBQUN0RSxRQUFRLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDOUIsUUFBUSxPQUFPLGFBQWEsQ0FBQztBQUM3QixLQUFLLENBQUMsQ0FBQztBQUNQLENBQUM7QUFDRDtBQUNBLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRTtBQUNqQyxJQUFJLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUM7QUFDQTtBQUNBLElBQUksSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDL0I7QUFDQSxJQUFJLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDekUsUUFBUSxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQzVDLFFBQVEsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUMxQyxLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0E7QUFDQSxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN6RDtBQUNBO0FBQ0EsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtBQUM1QixRQUFRLFNBQVMsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDO0FBQ3RELEtBQUssTUFBTTtBQUNYLFFBQVEsU0FBUyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQy9ELFlBQVksT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7QUFDN0MsU0FBUyxDQUFDLENBQUM7QUFDWCxLQUFLO0FBQ0wsQ0FBQztBQUNEO0FBQ0EsU0FBUyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7QUFDbkMsSUFBSSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDO0FBQ0E7QUFDQSxJQUFJLElBQUksaUJBQWlCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBSSxpQkFBaUIsRUFBRTtBQUMzQixRQUFRLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3BDLFFBQVEsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7QUFDekMsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtBQUN2QyxJQUFJLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUM7QUFDQTtBQUNBLElBQUksSUFBSSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFJLGlCQUFpQixFQUFFO0FBQzNCLFFBQVEsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RDLFFBQVEsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7QUFDekMsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBLFNBQVMsY0FBYyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUU7QUFDL0MsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUNwRCxRQUFRLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUMvRTtBQUNBLFFBQVEsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFO0FBQ3ZCLFlBQVksSUFBSSxhQUFhLEVBQUU7QUFDL0IsZ0JBQWdCLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxnQkFBZ0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNsQyxhQUFhLE1BQU07QUFDbkIsZ0JBQWdCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMxQyxhQUFhO0FBQ2IsU0FBUztBQUNUO0FBQ0EsUUFBUSxJQUFJLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQztBQUNBLFFBQVEsSUFBSSxhQUFhLEVBQUU7QUFDM0IsWUFBWSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxTQUFTO0FBQ1Q7QUFDQSxRQUFRLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsRDtBQUNBLFFBQVEsSUFBSSxhQUFhLEVBQUU7QUFDM0IsWUFBWSxPQUFPLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxFQUFFO0FBQ25ELGdCQUFnQixJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0FBQ3hDLGdCQUFnQixJQUFJO0FBQ3BCLG9CQUFvQixFQUFFLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNELG9CQUFvQixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFO0FBQzNDO0FBQ0Esd0JBQXdCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3hFLHFCQUFxQjtBQUNyQixpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRTtBQUM3QixvQkFBb0IsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFO0FBQ3ZELHdCQUF3QixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2hPLHFCQUFxQixNQUFNO0FBQzNCLHdCQUF3QixNQUFNLEVBQUUsQ0FBQztBQUNqQyxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLGFBQWEsQ0FBQztBQUNkLFNBQVM7QUFDVDtBQUNBLFFBQVEsT0FBTyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsRUFBRTtBQUN2QyxZQUFZLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUMvQixZQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEMsU0FBUyxDQUFDO0FBQ1Y7QUFDQSxRQUFRLE9BQU8sQ0FBQyxTQUFTLEdBQUcsWUFBWTtBQUN4QyxZQUFZLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDcEMsWUFBWSxFQUFFLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxFQUFFO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNqQyxhQUFhLENBQUM7QUFDZCxZQUFZLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QixZQUFZLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLFNBQVMsQ0FBQztBQUNWLEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ0EsU0FBUyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUU7QUFDeEMsSUFBSSxPQUFPLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUNEO0FBQ0EsU0FBUyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUU7QUFDeEMsSUFBSSxPQUFPLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUNEO0FBQ0EsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFO0FBQ2xELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7QUFDcEIsUUFBUSxPQUFPLElBQUksQ0FBQztBQUNwQixLQUFLO0FBQ0w7QUFDQSxJQUFJLElBQUksVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzVFLElBQUksSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUN6RCxJQUFJLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7QUFDdkQ7QUFDQSxJQUFJLElBQUksV0FBVyxFQUFFO0FBQ3JCO0FBQ0E7QUFDQSxRQUFRLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxjQUFjLEVBQUU7QUFDL0MsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLG9DQUFvQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ2xLLFNBQVM7QUFDVDtBQUNBLFFBQVEsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUMzQyxLQUFLO0FBQ0w7QUFDQSxJQUFJLElBQUksU0FBUyxJQUFJLFVBQVUsRUFBRTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQUksVUFBVSxFQUFFO0FBQ3hCLFlBQVksSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ25ELFlBQVksSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRTtBQUM3QyxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7QUFDNUMsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBLFFBQVEsT0FBTyxJQUFJLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0EsSUFBSSxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBQ0Q7QUFDQTtBQUNBLFNBQVMsV0FBVyxDQUFDLElBQUksRUFBRTtBQUMzQixJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQ3BELFFBQVEsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUN0QyxRQUFRLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBQ2hDLFFBQVEsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsRUFBRTtBQUN4QyxZQUFZLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxZQUFZLE9BQU8sQ0FBQztBQUNwQixnQkFBZ0IsMkJBQTJCLEVBQUUsSUFBSTtBQUNqRCxnQkFBZ0IsSUFBSSxFQUFFLE1BQU07QUFDNUIsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtBQUMvQixhQUFhLENBQUMsQ0FBQztBQUNmLFNBQVMsQ0FBQztBQUNWLFFBQVEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hDLEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ0E7QUFDQSxTQUFTLFdBQVcsQ0FBQyxXQUFXLEVBQUU7QUFDbEMsSUFBSSxJQUFJLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDcEUsSUFBSSxPQUFPLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFDRDtBQUNBO0FBQ0EsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFO0FBQy9CLElBQUksT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDO0FBQ3RELENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxXQUFXLENBQUMsUUFBUSxFQUFFO0FBQy9CLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3BCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDckQsUUFBUSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0RDtBQUNBLFFBQVEsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtBQUM1QyxZQUFZLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztBQUNyQyxTQUFTO0FBQ1QsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBLElBQUksbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyRCxJQUFJLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsYUFBYSxDQUFDLE1BQU0sRUFBRTtBQUMvQixJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QjtBQUNBLElBQUksSUFBSSxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QyxJQUFJLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7QUFDcEM7QUFDQSxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzdDLFFBQVEsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLFFBQVEsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtBQUMvQixZQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3RDLFlBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQ3JDLFNBQVM7QUFDVCxLQUFLO0FBQ0wsSUFBSSxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNyQjtBQUNBLElBQUksT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7QUFDN0QsUUFBUSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN2QixRQUFRLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDdEM7QUFDQSxZQUFZLE9BQU8sc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEQsU0FBUztBQUNULFFBQVEsT0FBTyxFQUFFLENBQUM7QUFDbEIsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO0FBQzFCO0FBQ0E7QUFDQSxRQUFRLE1BQU0sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdEMsUUFBUSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNqRCxZQUFZLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN2QyxTQUFTO0FBQ1QsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxHQUFHLEVBQUU7QUFDL0IsUUFBUSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDdEMsUUFBUSxNQUFNLEdBQUcsQ0FBQztBQUNsQixLQUFLLENBQUMsQ0FBQztBQUNQLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxTQUFTLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtBQUM1RCxJQUFJLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtBQUMvQixRQUFRLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDcEIsS0FBSztBQUNMO0FBQ0EsSUFBSSxJQUFJO0FBQ1IsUUFBUSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9ELFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMzQixLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUU7QUFDbEIsUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRTtBQUM3RyxZQUFZLE9BQU8sU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQ3hELGdCQUFnQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO0FBQ2pLO0FBQ0Esb0JBQW9CLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtBQUNuQyx3QkFBd0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDL0QscUJBQXFCO0FBQ3JCO0FBQ0Esb0JBQW9CLE9BQU8sc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUQsaUJBQWlCO0FBQ2pCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQ2hDLGdCQUFnQixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtBQUM5RCxvQkFBb0IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzNFLGlCQUFpQixDQUFDLENBQUM7QUFDbkIsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEMsU0FBUztBQUNUO0FBQ0EsUUFBUSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdEIsS0FBSztBQUNMLENBQUM7QUFDRDtBQUNBLFNBQVMsZUFBZSxHQUFHO0FBQzNCLElBQUksT0FBTztBQUNYO0FBQ0EsUUFBUSxPQUFPLEVBQUUsRUFBRTtBQUNuQjtBQUNBLFFBQVEsRUFBRSxFQUFFLElBQUk7QUFDaEI7QUFDQSxRQUFRLE9BQU8sRUFBRSxJQUFJO0FBQ3JCO0FBQ0EsUUFBUSxrQkFBa0IsRUFBRSxFQUFFO0FBQzlCLEtBQUssQ0FBQztBQUNOLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxTQUFTLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDL0IsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDcEIsSUFBSSxJQUFJLE1BQU0sR0FBRztBQUNqQixRQUFRLEVBQUUsRUFBRSxJQUFJO0FBQ2hCLEtBQUssQ0FBQztBQUNOO0FBQ0EsSUFBSSxJQUFJLE9BQU8sRUFBRTtBQUNqQixRQUFRLEtBQUssSUFBSSxDQUFDLElBQUksT0FBTyxFQUFFO0FBQy9CLFlBQVksTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUM7QUFDQTtBQUNBLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUNwQixRQUFRLFNBQVMsR0FBRyxlQUFlLEVBQUUsQ0FBQztBQUN0QztBQUNBLFFBQVEsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUM7QUFDNUMsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQzFCLFFBQVEsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JDLFFBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7QUFDakMsS0FBSztBQUNMO0FBQ0E7QUFDQSxJQUFJLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUMxQjtBQUNBLElBQUksU0FBUyxZQUFZLEdBQUc7QUFDNUI7QUFDQTtBQUNBLFFBQVEsT0FBTyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsS0FBSztBQUNMO0FBQ0EsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDdkQsUUFBUSxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLFFBQVEsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO0FBQzdCO0FBQ0EsWUFBWSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzFFLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsSUFBSSxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDeEQsUUFBUSxNQUFNLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7QUFDakM7QUFDQSxRQUFRLE9BQU8sc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO0FBQzFCLFFBQVEsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdkIsUUFBUSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQ25FO0FBQ0EsWUFBWSxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xELFNBQVM7QUFDVCxRQUFRLE9BQU8sRUFBRSxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtBQUMxQixRQUFRLE1BQU0sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdEMsUUFBUSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztBQUM5QjtBQUNBLFFBQVEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDakQsWUFBWSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsWUFBWSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7QUFDakM7QUFDQSxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUM5QyxnQkFBZ0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUN4RCxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ0EsU0FBUyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRTtBQUNoQyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUNwQjtBQUNBLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QjtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQzNELFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQ3RDLFlBQVksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxHQUFHLEVBQUUsV0FBVyxFQUFFO0FBQ25GLGdCQUFnQixJQUFJLEdBQUcsRUFBRTtBQUN6QixvQkFBb0IsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkMsaUJBQWlCO0FBQ2pCO0FBQ0EsZ0JBQWdCLElBQUk7QUFDcEIsb0JBQW9CLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNoRixvQkFBb0IsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QztBQUNBLG9CQUFvQixHQUFHLENBQUMsU0FBUyxHQUFHLFlBQVk7QUFDaEQsd0JBQXdCLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDL0Msd0JBQXdCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtBQUNqRCw0QkFBNEIsS0FBSyxHQUFHLElBQUksQ0FBQztBQUN6Qyx5QkFBeUI7QUFDekIsd0JBQXdCLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQ25ELDRCQUE0QixLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELHlCQUF5QjtBQUN6Qix3QkFBd0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLHFCQUFxQixDQUFDO0FBQ3RCO0FBQ0Esb0JBQW9CLEdBQUcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUM5Qyx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxxQkFBcUIsQ0FBQztBQUN0QixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM1QixvQkFBb0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLGlCQUFpQjtBQUNqQixhQUFhLENBQUMsQ0FBQztBQUNmLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVCLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQSxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkMsSUFBSSxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBQ0Q7QUFDQTtBQUNBLFNBQVMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUU7QUFDckMsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDcEI7QUFDQSxJQUFJLElBQUksT0FBTyxHQUFHLElBQUksU0FBUyxDQUFDLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMzRCxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWTtBQUN0QyxZQUFZLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsR0FBRyxFQUFFLFdBQVcsRUFBRTtBQUNuRixnQkFBZ0IsSUFBSSxHQUFHLEVBQUU7QUFDekIsb0JBQW9CLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZDLGlCQUFpQjtBQUNqQjtBQUNBLGdCQUFnQixJQUFJO0FBQ3BCLG9CQUFvQixJQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDaEYsb0JBQW9CLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqRCxvQkFBb0IsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBQzVDO0FBQ0Esb0JBQW9CLEdBQUcsQ0FBQyxTQUFTLEdBQUcsWUFBWTtBQUNoRCx3QkFBd0IsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztBQUNoRDtBQUNBLHdCQUF3QixJQUFJLE1BQU0sRUFBRTtBQUNwQyw0QkFBNEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUNyRCw0QkFBNEIsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDdkQsZ0NBQWdDLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0QsNkJBQTZCO0FBQzdCLDRCQUE0QixJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRTtBQUNuRCxnQ0FBZ0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELDZCQUE2QixNQUFNO0FBQ25DLGdDQUFnQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztBQUNyRCw2QkFBNkI7QUFDN0IseUJBQXlCLE1BQU07QUFDL0IsNEJBQTRCLE9BQU8sRUFBRSxDQUFDO0FBQ3RDLHlCQUF5QjtBQUN6QixxQkFBcUIsQ0FBQztBQUN0QjtBQUNBLG9CQUFvQixHQUFHLENBQUMsT0FBTyxHQUFHLFlBQVk7QUFDOUMsd0JBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMscUJBQXFCLENBQUM7QUFDdEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDNUIsb0JBQW9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixpQkFBaUI7QUFDakIsYUFBYSxDQUFDLENBQUM7QUFDZixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0EsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDO0FBQ0EsSUFBSSxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBQ0Q7QUFDQSxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtBQUN2QyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUNwQjtBQUNBLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QjtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQzNELFFBQVEsSUFBSSxNQUFNLENBQUM7QUFDbkIsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDdEMsWUFBWSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUNsQyxZQUFZLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxlQUFlLEVBQUU7QUFDMUQsZ0JBQWdCLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLFdBQVcsRUFBRTtBQUNoRixvQkFBb0IsSUFBSSxXQUFXLEVBQUU7QUFDckMsd0JBQXdCLE9BQU8sS0FBSyxDQUFDO0FBQ3JDLHFCQUFxQjtBQUNyQixvQkFBb0IsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsaUJBQWlCLENBQUMsQ0FBQztBQUNuQixhQUFhO0FBQ2IsWUFBWSxPQUFPLEtBQUssQ0FBQztBQUN6QixTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUU7QUFDakMsWUFBWSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUU7QUFDcEYsZ0JBQWdCLElBQUksR0FBRyxFQUFFO0FBQ3pCLG9CQUFvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQixvQkFBb0IsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO0FBQ3hDLHdCQUF3QixLQUFLLEdBQUcsU0FBUyxDQUFDO0FBQzFDLHFCQUFxQjtBQUNyQjtBQUNBLG9CQUFvQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNwRDtBQUNBLG9CQUFvQixXQUFXLENBQUMsVUFBVSxHQUFHLFlBQVk7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtBQUNqRCw0QkFBNEIsS0FBSyxHQUFHLElBQUksQ0FBQztBQUN6Qyx5QkFBeUI7QUFDekI7QUFDQSx3QkFBd0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLHFCQUFxQixDQUFDO0FBQ3RCLG9CQUFvQixXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUM1RSx3QkFBd0IsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQ2hGLHdCQUF3QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMscUJBQXFCLENBQUM7QUFDdEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDNUIsb0JBQW9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixpQkFBaUI7QUFDakIsYUFBYSxDQUFDLENBQUM7QUFDZixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0EsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsU0FBUyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRTtBQUNuQyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUNwQjtBQUNBLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QjtBQUNBLElBQUksSUFBSSxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQzNELFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZO0FBQ3RDLFlBQVksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLEVBQUUsV0FBVyxFQUFFO0FBQ3BGLGdCQUFnQixJQUFJLEdBQUcsRUFBRTtBQUN6QixvQkFBb0IsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkMsaUJBQWlCO0FBQ2pCO0FBQ0EsZ0JBQWdCLElBQUk7QUFDcEIsb0JBQW9CLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuRCxvQkFBb0IsV0FBVyxDQUFDLFVBQVUsR0FBRyxZQUFZO0FBQ3pELHdCQUF3QixPQUFPLEVBQUUsQ0FBQztBQUNsQyxxQkFBcUIsQ0FBQztBQUN0QjtBQUNBLG9CQUFvQixXQUFXLENBQUMsT0FBTyxHQUFHLFlBQVk7QUFDdEQsd0JBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMscUJBQXFCLENBQUM7QUFDdEI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFdBQVcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUN0RCx3QkFBd0IsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQ2hGLHdCQUF3QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMscUJBQXFCLENBQUM7QUFDdEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDNUIsb0JBQW9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixpQkFBaUI7QUFDakIsYUFBYSxDQUFDLENBQUM7QUFDZixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0EsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsU0FBUyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ3pCLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3BCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDM0QsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDdEMsWUFBWSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUU7QUFDcEYsZ0JBQWdCLElBQUksR0FBRyxFQUFFO0FBQ3pCLG9CQUFvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQixvQkFBb0IsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLG9CQUFvQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDNUM7QUFDQSxvQkFBb0IsV0FBVyxDQUFDLFVBQVUsR0FBRyxZQUFZO0FBQ3pELHdCQUF3QixPQUFPLEVBQUUsQ0FBQztBQUNsQyxxQkFBcUIsQ0FBQztBQUN0QjtBQUNBLG9CQUFvQixXQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUM1RSx3QkFBd0IsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQ2hGLHdCQUF3QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEMscUJBQXFCLENBQUM7QUFDdEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDNUIsb0JBQW9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixpQkFBaUI7QUFDakIsYUFBYSxDQUFDLENBQUM7QUFDZixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0EsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsU0FBUyxNQUFNLENBQUMsUUFBUSxFQUFFO0FBQzFCLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3BCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDM0QsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDdEMsWUFBWSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUU7QUFDbkYsZ0JBQWdCLElBQUksR0FBRyxFQUFFO0FBQ3pCLG9CQUFvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQixvQkFBb0IsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLG9CQUFvQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDNUM7QUFDQSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZO0FBQ2hELHdCQUF3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLHFCQUFxQixDQUFDO0FBQ3RCO0FBQ0Esb0JBQW9CLEdBQUcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUM5Qyx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxxQkFBcUIsQ0FBQztBQUN0QixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUM1QixvQkFBb0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLGlCQUFpQjtBQUNqQixhQUFhLENBQUMsQ0FBQztBQUNmLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVCLEtBQUssQ0FBQyxDQUFDO0FBQ1A7QUFDQSxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkMsSUFBSSxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBQ0Q7QUFDQSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFO0FBQzFCLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3BCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDM0QsUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7QUFDbkIsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUI7QUFDQSxZQUFZLE9BQU87QUFDbkIsU0FBUztBQUNUO0FBQ0EsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDdEMsWUFBWSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUU7QUFDbkYsZ0JBQWdCLElBQUksR0FBRyxFQUFFO0FBQ3pCLG9CQUFvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQixvQkFBb0IsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLG9CQUFvQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7QUFDekMsb0JBQW9CLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUNwRDtBQUNBLG9CQUFvQixHQUFHLENBQUMsU0FBUyxHQUFHLFlBQVk7QUFDaEQsd0JBQXdCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDaEQsd0JBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDckM7QUFDQSw0QkFBNEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDO0FBQ0EsNEJBQTRCLE9BQU87QUFDbkMseUJBQXlCO0FBQ3pCO0FBQ0Esd0JBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUNyQztBQUNBO0FBQ0EsNEJBQTRCLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEQseUJBQXlCLE1BQU07QUFDL0IsNEJBQTRCLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDM0M7QUFDQTtBQUNBLGdDQUFnQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ2hELGdDQUFnQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELDZCQUE2QixNQUFNO0FBQ25DO0FBQ0EsZ0NBQWdDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEQsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixxQkFBcUIsQ0FBQztBQUN0QjtBQUNBLG9CQUFvQixHQUFHLENBQUMsT0FBTyxHQUFHLFlBQVk7QUFDOUMsd0JBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMscUJBQXFCLENBQUM7QUFDdEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDNUIsb0JBQW9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixpQkFBaUI7QUFDakIsYUFBYSxDQUFDLENBQUM7QUFDZixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixLQUFLLENBQUMsQ0FBQztBQUNQO0FBQ0EsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUNEO0FBQ0EsU0FBUyxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ3hCLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3BCO0FBQ0EsSUFBSSxJQUFJLE9BQU8sR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDM0QsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVk7QUFDdEMsWUFBWSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUU7QUFDbkYsZ0JBQWdCLElBQUksR0FBRyxFQUFFO0FBQ3pCLG9CQUFvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QyxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQixvQkFBb0IsSUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLG9CQUFvQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7QUFDcEQsb0JBQW9CLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNsQztBQUNBLG9CQUFvQixHQUFHLENBQUMsU0FBUyxHQUFHLFlBQVk7QUFDaEQsd0JBQXdCLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDaEQ7QUFDQSx3QkFBd0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNyQyw0QkFBNEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLDRCQUE0QixPQUFPO0FBQ25DLHlCQUF5QjtBQUN6QjtBQUNBLHdCQUF3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5Qyx3QkFBd0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7QUFDN0MscUJBQXFCLENBQUM7QUFDdEI7QUFDQSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxZQUFZO0FBQzlDLHdCQUF3QixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFDLHFCQUFxQixDQUFDO0FBQ3RCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFO0FBQzVCLG9CQUFvQixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsaUJBQWlCO0FBQ2pCLGFBQWEsQ0FBQyxDQUFDO0FBQ2YsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUIsS0FBSyxDQUFDLENBQUM7QUFDUDtBQUNBLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2QyxJQUFJLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFDRDtBQUNBLFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7QUFDekMsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxJQUFJLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN0QyxJQUFJLE9BQU8sR0FBRyxPQUFPLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxJQUFJLEVBQUUsQ0FBQztBQUM3RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ3ZCLFFBQVEsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDMUQsUUFBUSxPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQztBQUN6RSxLQUFLO0FBQ0w7QUFDQSxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUNwQixJQUFJLElBQUksT0FBTyxDQUFDO0FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7QUFDdkIsUUFBUSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3hELEtBQUssTUFBTTtBQUNYLFFBQVEsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQ2pGO0FBQ0EsUUFBUSxJQUFJLFNBQVMsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtBQUM5SCxZQUFZLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckQsWUFBWSxJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0FBQzVDLFlBQVksU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDOUIsWUFBWSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyRCxnQkFBZ0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQzNDLGFBQWE7QUFDYixZQUFZLE9BQU8sRUFBRSxDQUFDO0FBQ3RCLFNBQVMsQ0FBQyxDQUFDO0FBQ1g7QUFDQSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO0FBQ2hDLFlBQVksT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7QUFDbkQsZ0JBQWdCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN6QztBQUNBLGdCQUFnQixJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pELGdCQUFnQixJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0FBQ2hEO0FBQ0EsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMzQixnQkFBZ0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDekQsb0JBQW9CLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxvQkFBb0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQzdDLGlCQUFpQjtBQUNqQjtBQUNBLGdCQUFnQixJQUFJLGFBQWEsR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDN0Usb0JBQW9CLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9EO0FBQ0Esb0JBQW9CLEdBQUcsQ0FBQyxPQUFPLEdBQUcsWUFBWTtBQUM5Qyx3QkFBd0IsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztBQUM1Qyx3QkFBd0IsSUFBSSxFQUFFLEVBQUU7QUFDaEMsNEJBQTRCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN2Qyx5QkFBeUI7QUFDekIsd0JBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMscUJBQXFCLENBQUM7QUFDdEI7QUFDQSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZO0FBQ2hEO0FBQ0E7QUFDQSx3QkFBd0IsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLHlDQUF5QyxDQUFDLENBQUM7QUFDdkkscUJBQXFCLENBQUM7QUFDdEI7QUFDQSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZO0FBQ2hELHdCQUF3QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQzVDLHdCQUF3QixJQUFJLEVBQUUsRUFBRTtBQUNoQyw0QkFBNEIsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3ZDLHlCQUF5QjtBQUN6Qix3QkFBd0IsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLHFCQUFxQixDQUFDO0FBQ3RCLGlCQUFpQixDQUFDLENBQUM7QUFDbkI7QUFDQSxnQkFBZ0IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO0FBQ3hELG9CQUFvQixTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN0QyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0Qsd0JBQXdCLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCx3QkFBd0IsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNELHFCQUFxQjtBQUNyQixpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsR0FBRyxFQUFFO0FBQzNDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUNyRyxvQkFBb0IsTUFBTSxHQUFHLENBQUM7QUFDOUIsaUJBQWlCLENBQUMsQ0FBQztBQUNuQixhQUFhLENBQUMsQ0FBQztBQUNmLFNBQVMsTUFBTTtBQUNmLFlBQVksT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7QUFDbkQsZ0JBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtBQUN0RSxvQkFBb0IsT0FBTztBQUMzQixpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDaEQ7QUFDQSxnQkFBZ0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDO0FBQ0EsZ0JBQWdCLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekQsZ0JBQWdCLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7QUFDaEQ7QUFDQSxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzNCLGdCQUFnQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6RCxvQkFBb0IsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLG9CQUFvQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDN0Msb0JBQW9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztBQUN4RCxpQkFBaUI7QUFDakI7QUFDQSxnQkFBZ0IsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDakYsb0JBQW9CLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqRTtBQUNBLG9CQUFvQixHQUFHLENBQUMsT0FBTyxHQUFHLFVBQVUsR0FBRyxFQUFFO0FBQ2pELHdCQUF3QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQzVDLHdCQUF3QixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDbkMsd0JBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxxQkFBcUIsQ0FBQztBQUN0QjtBQUNBLG9CQUFvQixHQUFHLENBQUMsZUFBZSxHQUFHLFlBQVk7QUFDdEQsd0JBQXdCLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDNUMsd0JBQXdCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDaEUscUJBQXFCLENBQUM7QUFDdEI7QUFDQSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZO0FBQ2hELHdCQUF3QixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQzVDLHdCQUF3QixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDbkMsd0JBQXdCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwQyxxQkFBcUIsQ0FBQztBQUN0QixpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CO0FBQ0EsZ0JBQWdCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO0FBQzVELG9CQUFvQixTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN0QyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0Qsd0JBQXdCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCx3QkFBd0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ2pELHdCQUF3QixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUQscUJBQXFCO0FBQ3JCLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxHQUFHLEVBQUU7QUFDM0Msb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQ3JHLG9CQUFvQixNQUFNLEdBQUcsQ0FBQztBQUM5QixpQkFBaUIsQ0FBQyxDQUFDO0FBQ25CLGFBQWEsQ0FBQyxDQUFDO0FBQ2YsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2QyxJQUFJLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFDRDtBQUNBLElBQUksWUFBWSxHQUFHO0FBQ25CLElBQUksT0FBTyxFQUFFLGNBQWM7QUFDM0IsSUFBSSxZQUFZLEVBQUUsWUFBWTtBQUM5QixJQUFJLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtBQUNoQyxJQUFJLE9BQU8sRUFBRSxPQUFPO0FBQ3BCLElBQUksT0FBTyxFQUFFLE9BQU87QUFDcEIsSUFBSSxPQUFPLEVBQUUsT0FBTztBQUNwQixJQUFJLFVBQVUsRUFBRSxVQUFVO0FBQzFCLElBQUksS0FBSyxFQUFFLEtBQUs7QUFDaEIsSUFBSSxNQUFNLEVBQUUsTUFBTTtBQUNsQixJQUFJLEdBQUcsRUFBRSxHQUFHO0FBQ1osSUFBSSxJQUFJLEVBQUUsSUFBSTtBQUNkLElBQUksWUFBWSxFQUFFLFlBQVk7QUFDOUIsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxTQUFTLGFBQWEsR0FBRztBQUN6QixJQUFJLE9BQU8sT0FBTyxZQUFZLEtBQUssVUFBVSxDQUFDO0FBQzlDLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksVUFBVSxHQUFHLGtFQUFrRSxDQUFDO0FBQ3BGO0FBQ0EsSUFBSSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUM5QyxJQUFJLHNCQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQzdEO0FBQ0EsSUFBSSxpQkFBaUIsR0FBRyxXQUFXLENBQUM7QUFDcEMsSUFBSSx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7QUFDeEQ7QUFDQTtBQUNBLElBQUksZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBQzlCLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUN2QixJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUM7QUFDNUIsSUFBSSxlQUFlLEdBQUcsTUFBTSxDQUFDO0FBQzdCLElBQUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLElBQUksZUFBZSxHQUFHLE1BQU0sQ0FBQztBQUM3QixJQUFJLGVBQWUsR0FBRyxNQUFNLENBQUM7QUFDN0IsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUFDOUIsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUFDOUIsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDL0IsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDL0IsSUFBSSw2QkFBNkIsR0FBRyx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7QUFDdkY7QUFDQSxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUMzQztBQUNBLFNBQVMsY0FBYyxDQUFDLGdCQUFnQixFQUFFO0FBQzFDO0FBQ0EsSUFBSSxJQUFJLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0FBQ3RELElBQUksSUFBSSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0FBQ3RDLElBQUksSUFBSSxDQUFDLENBQUM7QUFDVixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLElBQUksSUFBSSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7QUFDL0M7QUFDQSxJQUFJLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtBQUMvRCxRQUFRLFlBQVksRUFBRSxDQUFDO0FBQ3ZCLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO0FBQ25FLFlBQVksWUFBWSxFQUFFLENBQUM7QUFDM0IsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLElBQUksSUFBSSxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDL0MsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QztBQUNBLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNqQyxRQUFRLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsUUFBUSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxRQUFRLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELFFBQVEsUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0Q7QUFDQTtBQUNBLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxJQUFJLENBQUMsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQ25ELFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQzFELFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3pELEtBQUs7QUFDTCxJQUFJLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxTQUFTLGNBQWMsQ0FBQyxNQUFNLEVBQUU7QUFDaEM7QUFDQSxJQUFJLElBQUksS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLElBQUksSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQzFCLElBQUksSUFBSSxDQUFDLENBQUM7QUFDVjtBQUNBLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDMUM7QUFDQSxRQUFRLFlBQVksSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xELFFBQVEsWUFBWSxJQUFJLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUUsUUFBUSxZQUFZLElBQUksVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakYsUUFBUSxZQUFZLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDdEQsS0FBSztBQUNMO0FBQ0EsSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUNoQyxRQUFRLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNoRixLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDdkMsUUFBUSxZQUFZLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDakYsS0FBSztBQUNMO0FBQ0EsSUFBSSxPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FB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RSxJQUFJLElBQUksQ0FBQztBQUN4QixTQUFBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixTQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdEYsU0FBQSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEcsU0FBQSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLGdCQUFBLENBQUEsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLFNBQUEsS0FBSyxFQUFFLENBQUM7O0FBR0EsSUFBQSxnQkFBQSxDQUFBLEtBQUssR0FBaUIsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDO1NBQzFELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM5QixTQUFB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RSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxTQUFTLEdBQWlCLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQztBQUNsRSxTQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xGLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEIsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxRQUFRLEdBQWlCLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQztBQUNoRSxTQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVB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LEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsU0FBQSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RCxTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDekMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsU0FBQSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEs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QUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFbEQsU0FBQSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pGLFNBQUEsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRixTQUFBLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUUzRSxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUk7UUFDcEMsT0FBTyxpQkFBaUIsQ0FDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUN4RixDQUFDO0FBQ04sS0FBQyxDQUFDO1NBQ0QsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZELFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzs7U0FFMUQsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0UsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUUsU0FBQSxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLFNBQUEsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7U0FFNUYsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBTSxFQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7O1NBRWhGLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUVwRSxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFB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QyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9DLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBU0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFVixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRS9ELEdBQUMsQ0FBQyxLQUFLLEVBQUVBLEdBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMwRSxHQUFDLEVBQUUsQ0FBQyxPQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBT0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWYsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDZ0IsR0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFZCxHQUFDLEdBQUdsRSxHQUFDLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDa0UsR0FBQyxDQUFDbEUsR0FBQyxDQUFDLGlCQUFpQixHQUFHaUUsR0FBQyxFQUFFZSxHQUFDLEVBQUMsQ0FBQyxTQUFTQSxHQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDaEIsR0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUNBLEdBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ1csR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQ0osR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUNLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUVkLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDSSxHQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQ0UsR0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNGLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDUSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFYixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ2dCLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUNSLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNTLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFNUYsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTMkYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBQyxDQUFDQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNELEdBQUMsQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyx5QkFBeUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBU0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDN0YsR0FBQyxDQUFDLEtBQUssQ0FBQ0EsR0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTNEYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUYsR0FBQyxDQUFDLEtBQUssQ0FBQ0EsR0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTaUYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNqRixHQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJNEUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDa0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQ3hCLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUN0RSxHQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQ3NFLEdBQUMsQ0FBQ0EsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBR0ssR0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQ1EsR0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUNZLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDL0YsR0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTa0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2xGLEdBQUMsQ0FBQyxHQUFHLEVBQUVBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTK0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTNCLEdBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUdxQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDTixHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUVOLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVOLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFbUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTSCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDdkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTc0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUd0RixHQUFDLENBQUMsT0FBTyxFQUFFQSxHQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUV1RixHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUN2RixHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXNGLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUVmLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLFNBQVN1QixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNoRyxHQUFDLENBQUMsRUFBRSxFQUFFQSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUNpRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDVCxHQUFDLENBQUNHLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRVAsR0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUNjLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU2UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLEdBQUMsRUFBQyxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUIsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTMEIsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDaEMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUNZLEdBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ1YsR0FBQyxDQUFDLEtBQUssQ0FBQ3JFLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMrRCxHQUFDLENBQUMsQ0FBQyxDQUF1RGEsR0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUNOLEdBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDUyxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDSCxHQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNHLEdBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUNILEdBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDRCxHQUFDLENBQUNYLEdBQUMsQ0FBQyxFQUFFLENBQUNDLEdBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQ2UsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNiLEdBQUMsQ0FBQyxDQUFDOztBQ0FuaVQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDckUsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxFQUFFQSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNxRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3JGLEdBQUMsQ0FBQyxHQUFHLEVBQUUrRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMvRSxHQUFDLENBQUMsR0FBRyxFQUFFK0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9BLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVNXLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTWSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVNSLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM5RixHQUFDLENBQUMsYUFBYSxFQUFFQSxHQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQWlLLFNBQVNzRixHQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDbkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNrRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQ0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDbkYsR0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHQSxHQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFc0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUN0RixHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNrRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUVDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDbkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQ2tGLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFbEYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxTQUFTa0YsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FDQWgvRCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUNwRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUl1RSxHQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNDLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQ0ksR0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNKLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPeEUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUN3RSxHQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUlELEdBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFdkUsR0FBQyxDQUFDeUUsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDekUsR0FBQyxDQUFDeUUsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUNFLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMzRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixHQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSXVFLEdBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQ0ssR0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQywyT0FBMk8sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQ0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT0ssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDVCxHQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQ0EsR0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ0MsR0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNJLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNKLEdBQUMsQ0FBQyxHQUFHLENBQUNBLEdBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBRyxDQUFDLENBQUksSUFBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFhLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU94RSxHQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMwRSxHQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FB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QUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzdCLFFBQUEsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7QUFDL0MsWUFBQSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFMUUsWUFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25CLFlBQUEsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1RCxTQUFBO0FBQ0QsUUFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pCLEtBQUE7OztBQUlELElBQUEsSUFBSSxLQUFLLEdBQUcsQ0FBSyxFQUFBLEVBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzs7SUFFdkcsS0FBSyxJQUFJLENBQUssRUFBQSxFQUFBLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBLElBQUEsQ0FBTSxDQUFDOztBQUUxRSxJQUFBLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFB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RyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzVCLFNBQUMsQ0FBQyxDQUFDO0tBQ047O0FBR08sSUFBQSxjQUFjLENBQUMsVUFBeUIsRUFBQTs7QUFFNUMsUUFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDdEQsWUFBQSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQUcsZ0JBQUEsVUFBVSxDQUFDLElBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFNLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkcsU0FBQTtBQUVELFFBQUEsT0FBTyxVQUFVLENBQUM7S0FDckI7Ozs7QUFNRDs7O0FBR0c7QUFDSSxJQUFBLEtBQUssQ0FBQyxHQUFZLEVBQUE7QUFDckIsUUFBQSxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO0FBQUUsWUFBQSxPQUFPLEdBQUcsQ0FBQztBQUMzQyxRQUFBLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsRSxRQUFBLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMvQzs7QUFHTSxJQUFBLE9BQU8sQ0FBQyxHQUFZLEVBQUE7QUFDdkIsUUFBQSxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUMzRDs7QUFHTSxJQUFBLFdBQVcsQ0FBQyxHQUFZLEVBQUE7QUFDM0IsUUFBQSxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDckM7O0FBR00sSUFB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 diff --git a/notes/.obsidian/plugins/dataview/manifest.json b/notes/.obsidian/plugins/dataview/manifest.json index 82d5c91..76d9e26 100644 --- a/notes/.obsidian/plugins/dataview/manifest.json +++ b/notes/.obsidian/plugins/dataview/manifest.json @@ -1,7 +1,7 @@ { "id": "dataview", "name": "Dataview", - "version": "0.5.55", + "version": "0.5.56", "minAppVersion": "0.13.11", "description": "Complex data views for the data-obsessed.", "author": "Michael Brenan ", diff --git a/notes/.obsidian/plugins/hotkey-helper/main.js b/notes/.obsidian/plugins/hotkey-helper/main.js index 73e17d1..b2c4db0 100644 --- a/notes/.obsidian/plugins/hotkey-helper/main.js +++ b/notes/.obsidian/plugins/hotkey-helper/main.js @@ -1,2 +1,2 @@ -var V=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Y=(i,s)=>{for(var t in s)V(i,t,{get:s[t],enumerable:!0})},R=(i,s,t,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of Q(s))!X.call(i,n)&&n!==t&&V(i,n,{get:()=>s[n],enumerable:!(e=Z(s,n))||e.enumerable});return i},D=(i,s,t)=>(R(i,s,"default"),t&&R(t,s,"default"));var tt=i=>R(V({},"__esModule",{value:!0}),i);var ct={};Y(ct,{default:()=>O});module.exports=tt(ct);var w=require("obsidian");function k(i,s){let t=Object.keys(s).map(e=>et(i,e,s[e]));return t.length===1?t[0]:function(){t.forEach(e=>e())}}function et(i,s,t){let e=i[s],n=i.hasOwnProperty(s),o=t(e);return e&&Object.setPrototypeOf(o,e),Object.setPrototypeOf(r,o),i[s]=r,u;function r(...l){return o===e&&i[s]===r&&u(),o.apply(this,l)}function u(){i[s]===r&&(n?i[s]=e:delete i[s]),o!==e&&(o=e,Object.setPrototypeOf(r,e||Function))}}function F(i,s){return i.then(s,s)}function N(i){let s=Promise.resolve();function t(...e){return s=new Promise((n,o)=>{F(s,()=>{i.apply(this,e).then(n,o)})})}return t.after=function(){return s=new Promise((e,n)=>{F(s,e)})},t}var f={};D(f,require("obsidian"));var M=Symbol.for("v1.to-use.peak-dev.org"),H=Symbol.for("v1.factory.to-use.peak-dev.org"),S,T,b=function(){return Object.defineProperties(i(),{this:{get(){if(S)return S;throw new TypeError("No current context")}},me:{value:M},factory:{value:H}});function i(n){let o=new Map;o.prev=n;let r=Object.assign(n?l=>{let a=o.get(l);if(!a){for(let d=o.prev;d;d=d.prev)if(a=d.get(l)){a=Object.assign(Object.assign({},a),{s:a.s||1});break}a=a||{s:2,v:t},o.set(l,a)}let p,g,y;for(;;)switch(a.s){case 0:return S===r&&T&&T.push(l),a.v;case 1:if(p=a.d,!p||u(()=>p.k.every(d=>r(d)===p.c(d)))){a.s=0;break}a.v=p.f;case 2:a.s=4;try{s(o,l,0,u(g=a.v,l,y=[])),y.length&&(a.d={c:r,f:g,k:y});break}catch(d){a.s=3,a.v=d,a.d=null}case 3:throw a.v;case 4:throw new Error(`Factory ${String(a.v)} didn't resolve ${String(l)}`)}}:l=>b.this(l),{def(l,a){return s(o,l,2,a),r},set(l,a){return s(o,l,1,a),r},fork(l){let a=i(o);return l!=null?a(l):a}});return n?r.use=r:r;function u(l,a,p){let g=S,y=T;try{return S=r,T=p,l(a)}finally{S=g,T=y}}}function s(n,o,r,u){if(n.has(o)){let l=n.get(o);if(!l.s)throw new Error(`Already read: ${String(o)}`);l.s=r,l.v=u,l.d=null}else n.set(o,{s:r,v:u})}function t(n){if(typeof n[M]=="function")return n[M](n);if(e(n))return typeof n.prototype[H]=="function"?n.prototype[H]():new n;throw new ReferenceError(`No config for ${String(n)}`)}function e(n){return typeof n=="function"&&n.prototype!==void 0&&(Object.getPrototypeOf(n.prototype)!==Object.prototype||Object.getOwnPropertyNames(n.prototype).length>1||n.toString().startsWith("class"))}}();var K,E=(K=window.queueMicrotask)!=null?K:(i=>s=>i.then(s))(Promise.resolve());b.def(f.Plugin,()=>{throw new Error("Plugin not created yet")});var P=class extends f.Component{constructor(){super(...arguments);this.use=b.service(this)}};b.service=function(i){return b(L).addChild(i),b.this};b.plugin=function(i){let s=b.fork().set(f.Plugin,i).set(i.constructor,i);return i.addChild(s.use(L)),s};var L=class extends f.Component{constructor(){super(...arguments);this.children=new Set([this])}onload(){this.loaded=!0}onunload(){this.loaded=!1,this.children.clear()}addChild(t){return this.children.has(t)||(this.children.add(t),this.loaded?E(()=>super.addChild(t)):super.addChild(t)),t}};function W(i,s){i._loaded&&i.removeChild(s)}function z(i,s){let t=new f.Component;t.onload=()=>{W(i,t),s()},i.addChild(t)}function $(i){let s=app.workspace;switch(i==null?void 0:i.getRoot()){case s.rootSplit:case s.floatingSplit:case s.leftSplit:case s.rightSplit:return!0;default:return!1}}var B=2,jt=Symbol.for(`v${B}.layout-storage-events.ophidian.peak-dev.org`);var At=`ophidian-layout-storage:v${B}:item-load`,Dt=`ophidian-layout-storage:v${B}:item-save`;var q=class extends f.Component{constructor(t,e){super();this.use=t;this.container=e;this.win=this.container.win}[b.factory](){return new j(this.constructor)}static onload(t){}static onunload(t){}},j=class extends P{constructor(t){super();this.factory=t;this.instances=new Map;this.watching=!1;this.layoutReadyCallbacks=[]}onload(){var t,e;this.registerEvent(app.workspace.on("layout-change",()=>{app.workspace.layoutReady&&this.layoutReadyCallbacks.length&&(this.layoutReadyCallbacks.forEach(E),this.layoutReadyCallbacks=[])})),(e=(t=this.factory).onload)==null||e.call(t,this.use)}onLeafChange(t,e){return this.onLayoutReady(()=>t.call(e,app.workspace.activeLeaf)),app.workspace.on("active-leaf-change",n=>{app.workspace.layoutReady&&t.call(e,n)})}onLayoutReady(t){app.workspace.layoutReady?E(t):this.layoutReadyCallbacks.push(t)}onunload(){var t,e;(e=(t=this.factory).onunload)==null||e.call(t,this.use)}watch(){if(!this._loaded)z(this,()=>this.watch());else if(!this.watching){let{workspace:t}=app,e=this;this.watching=!0,this.registerEvent(t.on("window-open",n=>{this.onLayoutReady(()=>this.forContainer(n))})),this.register(k(t,{clearLayout(n){return async function(){try{return await n.call(this)}finally{e.onLayoutReady(()=>e.forAll())}}}})),this.onLayoutReady(()=>this.forAll())}return this}forWindow(t=(n=>(n=window.activeWindow)!=null?n:window)(),e=!0){let o=it(t);if(o)return this.forContainer(o,e)}forContainer(t,e=!0){t=t.getContainer();let n=this.instances.get(t);return!n&&e&&(n=new this.factory(this.use,t),n&&(this.instances.set(t,n),this.addChild(n),t.component.addChild(n),n.register(()=>{W(this,n),W(t.component,n),this.instances.delete(t)}))),n}forDom(t,e=!0){return this.forWindow(ot(t),e)}forLeaf(t=app.workspace.activeLeaf,e=!0){if($(t))return this.forContainer(t.getContainer(),e)}forView(t,e=!0){return this.forLeaf(t.leaf,e)}forAll(t=!0){return nt().map(e=>this.forContainer(e,t)).filter(e=>e)}};function nt(){return[app.workspace.rootSplit].concat(app.workspace.floatingSplit.children)}function ot(i){return i.win||(i.ownerDocument||i).defaultView||window}function it(i){if(i===window)return app.workspace.rootSplit;let{floatingSplit:s}=app.workspace;if(s){for(let t of s.children)if(i===t.win)return t}}function _(i,s,t,e,n){return i.on(s,t,e,n),()=>i.off(s,t,e,n)}function G(){let i,s,t=new Promise((e,n)=>{i=e,s=n});return{resolve:i,reject:s,promise:t}}function A(i,s,t,e){let{resolve:n,promise:o}=G(),r=new class extends f.FuzzySuggestModal{getItemText(l){var a;return(a=s==null?void 0:s(l))!=null?a:""+l}getItems(){return i}onChooseItem(l,a){n({item:l,event:a})}onClose(){super.onClose(),E(()=>n({item:null,event:null}))}}(app);return t&&r.setPlaceholder(t),e==null||e(r),r.open(),o}function st(i){return w.Keymap.compileModifiers(i.modifiers)+","+i.key.toLowerCase()}function rt(i){return i==="plugins"||i==="community-plugins"}function U(){var i;return J()&&rt((i=app.setting.activeTab)==null?void 0:i.id)}function J(){return app.setting.containerEl.parentElement!==null}function at(i){return i instanceof w.Modal&&i.hasOwnProperty("autoload")&&typeof i.showPlugin=="function"&&typeof i.updateSearch=="function"&&typeof i.searchEl=="object"}function lt(i){var s;return i instanceof w.Modal&&typeof i.setAutoOpen=="function"&&typeof((s=i.search)==null?void 0:s.inputEl)=="object"}var O=class extends w.Plugin{constructor(){super(...arguments);this.lastSearch={};this.hotkeyButtons={};this.globalsAdded=!1;this.searchInput=null;this.commandsByPlugin={};this.assignedKeyCount={}}onload(){let t=this.app.workspace,e=this,n=t;this.registerEvent(n.on("plugin-settings:before-display",(u,l)=>{this.hotkeyButtons={},this.globalsAdded=!1,this.searchInput=null;let a=k(w.Setting.prototype,{addSearch(p){return function(g){return a(),p.call(this,y=>{e.searchInput=y,g==null||g(y)})}}});E(a)})),this.registerEvent(n.on("plugin-settings:after-display",()=>this.refreshButtons(!0))),this.registerEvent(n.on("plugin-settings:plugin-control",(u,l,a,p)=>{this.globalsAdded||this.addGlobals(p,u.settingEl)}));let o=(0,w.debounce)(this.refreshButtons.bind(this),50,!0);function r(u){return function(...l){return o(),u.apply(this,l)}}this.register(k(app.commands,{addCommand:r,removeCommand:r})),this.register(k(app.setting,{addSettingTab:r,removeSettingTab:r})),t.onLayoutReady(this.whenReady.bind(this)),this.registerObsidianProtocolHandler("goto-plugin",({id:u,show:l})=>{t.onLayoutReady(()=>{this.gotoPlugin(u,l)})})}whenReady(){var g,y;let t=this.app,e=this,n=(y=(g=t.internalPlugins.plugins["command-palette"])==null?void 0:g.instance)==null?void 0:y.modal;if(n){this.register(k(n,{onChooseItem(c){return function(m,C){return w.Keymap.isModEvent(C)?(E(()=>e.showHotkeysFor(m.name)),!1):c.call(this,m,C)}}}));let d=n.modalEl.find(".prompt-instructions .prompt-instruction");d&&createDiv("prompt-instruction",c=>{c.createSpan({cls:"prompt-instruction-command",text:w.Keymap.compileModifiers(["Mod"])+"+\u21B5"}),c.appendText(" "),c.createSpan({text:"to configure hotkey(s)"}),this.register(()=>c.detach())}).insertAfter(d)}let o=this.getSettingsTab("plugins"),r=this.getSettingsTab("community-plugins");o&&this.register(k(o,{display:this.addPluginSettingEvents.bind(this,o.id)})),r&&this.register(k(r,{display:this.addPluginSettingEvents.bind(this,r.id)}));let u=()=>this.enhanceViewer();r&&this.register(_(r.containerEl,"click",".mod-cta, .installed-plugins-container .setting-item-info",u,!0)),this.register(k(t.workspace.protocolHandlers,{get(d){return function(h){return h==="show-plugin"&&u(),d.call(this,h)}}}));function l(){U()&&t.setting.openTabById(t.setting.activeTab.id)}l(),this.register(()=>E(l));let a=this.getSettingsTab("hotkeys");a&&this.register(k(a,{display(d){return function(){var c,h;d.call(this),(h=(c=this.searchInputEl)!=null?c:this.searchComponent.inputEl)==null||h.focus()}},updateHotkeyVisibility(d){return function(){var C;let c=(C=this.searchInputEl)!=null?C:this.searchComponent.inputEl;if(!c)return d.call(this);let h=c.value,m=t.commands.commands;try{if(h.endsWith(":")&&!h.contains(" ")){let v=m,x=Object.fromEntries(Object.entries(t.commands.commands).filter(([I,ut])=>(I+":").startsWith(h)));c.value="",t.commands.commands=new Proxy(m,{ownKeys(){try{return Object.keys(v)}finally{v=x}}})}return d.call(this)}finally{c.value=h,t.commands.commands=m}}}})),this.addCommand({id:"open-plugins",name:"Open the Community Plugins settings",callback:()=>this.showSettings("community-plugins")||!0}),this.addCommand({id:"browse-plugins",name:"Browse or search the Community Plugins catalog",callback:()=>this.gotoPlugin()});let p=new Intl.Collator(void 0,{usage:"sort",sensitivity:"base",numeric:!0}).compare;this.addCommand({id:"open-settings",name:"Open settings for plugin...",callback:async()=>{let{item:d}=await A(t.setting.pluginTabs.concat(t.setting.settingTabs).sort((c,h)=>p(c.name,h.name)),c=>c.name,"Select a plugin to open its settings...");d&&(t.setting.open(),t.setting.openTabById(d.id))}}),this.addCommand({id:"open-hotkeys",name:"Open hotkeys for plugin...",callback:async()=>{var m,C;let d=this.refreshCommands(),c=Object.values(t.plugins.plugins).map(v=>v.manifest).concat(Object.entries(t.internalPlugins.plugins).map(([v,{instance:{name:x},_loaded:I}])=>({id:v,name:x,enabled:I})).filter(v=>v.enabled)).concat([{id:"app",name:"App"},{id:"editor",name:((m=this.getSettingsTab("editor"))==null?void 0:m.name)||"Editor"},{id:"workspace",name:((C=this.getSettingsTab("file"))==null?void 0:C.name)||"Files & Links"}]).filter(v=>{var x;return(x=d[v.id])==null?void 0:x.length}),{item:h}=await A(c.sort((v,x)=>p(v.name,x.name)),v=>v.name,"Select a plugin to open its hotkeys...");h&&this.showHotkeysFor(h.id+":")}})}createExtraButtons(t,e,n){e.id!=="app"&&t.addExtraButton(o=>{o.setIcon("gear"),o.onClick(()=>this.showConfigFor(e.id.replace(/^workspace$/,"file"))),o.setTooltip("Options"),o.extraSettingsEl.toggle(n)}),t.addExtraButton(o=>{o.setIcon("any-key"),o.onClick(()=>this.showHotkeysFor(e.id+":")),o.extraSettingsEl.toggle(n),this.hotkeyButtons[e.id]=o})}addGlobals(t,e){var l,a,p;this.globalsAdded=!0;let n=e.parentElement,o;if(t!=="plugins"||this.searchInput)(l=o=this.searchInput)==null||l.onChange(u);else{let g=new w.Setting(n).addSearch(y=>{o=y,y.setPlaceholder("Filter plugins...").onChange(u)});o.containerEl.style.margin="0",n.createDiv("hotkey-search-container").append(o.containerEl),g.settingEl.detach()}t==="community-plugins"&&o.inputEl.addEventListener("keyup",g=>{if(g.keyCode===13&&!w.Keymap.getModifiers(g))return this.gotoPlugin(),!1});let r=this;function u(g){let y=(r.lastSearch[t]=g).toLowerCase();function d(c){if(!c)return!1;let h=c.textContent=c.textContent,m=h.toLowerCase().indexOf(y);return~m?(c.textContent=h.substr(0,m),c.createSpan("suggestion-highlight").textContent=h.substr(m,y.length),c.insertAdjacentText("beforeend",h.substr(m+y.length)),!0):!1}n.findAll(".setting-item").forEach(c=>{var v;let h=d(c.find(".setting-item-name")),m=d((v=c.find(".setting-item-description > div:last-child"))!=null?v:c.find(".setting-item-description")),C=d(c.find(".setting-item-description > div:nth-child(2)"));c.toggle(h||m||C)})}if(E(()=>{!o||(o&&typeof r.lastSearch[t]=="string"&&(o.setValue(r.lastSearch[t]),o.onChanged()),w.Platform.isMobile||o.inputEl.select())}),n.append(e),t==="plugins"){let g=((a=this.getSettingsTab("editor"))==null?void 0:a.name)||"Editor",y=((p=this.getSettingsTab("file"))==null?void 0:p.name)||"Files & Links";this.createExtraButtons(new w.Setting(e.parentElement).setName("App").setDesc("Miscellaneous application commands (always enabled)"),{id:"app",name:"App"},!0),this.createExtraButtons(new w.Setting(e.parentElement).setName(g).setDesc("Core editing commands (always enabled)"),{id:"editor",name:g},!0),this.createExtraButtons(new w.Setting(e.parentElement).setName(y).setDesc("Core file and pane management commands (always enabled)"),{id:"workspace",name:y},!0),e.parentElement.append(e)}}enhanceViewer(){let t=this;setTimeout(k(w.Modal.prototype,{open(e){return function(...n){return lt(this)&&(E(()=>{t.lastSearch["community-plugins"]&&(this.search.inputEl.value=t.lastSearch["community-plugins"],this.search.inputEl.dispatchEvent(new Event("input")))}),t.currentViewer=this,k(this,{close(o){return function(...r){return t.currentViewer=null,o.apply(this,r)}},showItem(o){return async function(r){let u=await o.call(this,r);if(t.app.plugins.plugins[r.id]){let l=i18next.t("setting.hotkeys.name"),a=this.detailsEl.find("button").parentElement;for(let p of a.findAll("button"))p.textContent===l&&(t.hotkeyButtons[r.id]={setTooltip(g){return p.title=g,this},extraSettingsEl:p});t.refreshButtons(!0)}return u}}})),at(this)&&(E(()=>{if(t.lastSearch["community-plugins"]){let o=this.searchResultEl.cloneNode();this.searchContainerEl.replaceChild(o,this.searchResultEl),this.searchResultEl=o,this.searchEl.value=t.lastSearch["community-plugins"],this.searchEl.dispatchEvent(new Event("input"))}this.searchEl.select()}),t.currentViewer=this,k(this,{updateSearch:N,close(o){return function(...r){return t.currentViewer=null,o.apply(this,r)}},showPlugin(o){return async function(r){let u=await o.call(this,r);if(t.app.plugins.plugins[r.id]){let l=i18next.t("setting.hotkeys.name"),a=this.pluginContentEl.find("button").parentElement;for(let p of a.findAll("button"))p.textContent===l&&(t.hotkeyButtons[r.id]={setTooltip(g){return p.title=g,this},extraSettingsEl:p});t.refreshButtons(!0)}return u}}})),e.apply(this,n)}}}),0)}getSettingsTab(t){return app.setting.settingTabs.filter(e=>e.id===t).shift()}addPluginSettingEvents(t,e){let n=this.app,o=this,r=!1;function u(l,...a){r=!0;try{n.workspace.trigger(l,...a)}catch(p){console.error(p)}r=!1}return function(...a){if(r)return;u("plugin-settings:before-display",this,t);let p;t==="plugins"?p=Object.entries(n.internalPlugins.plugins).map(([c,{instance:{name:h,hiddenFromList:m},_loaded:C}])=>!m&&{id:c,name:h,enabled:C}).filter(c=>c):p=Object.values(n.plugins.manifests),p.sort((c,h)=>c.name.localeCompare(h.name));let g=0,y="",d=k(w.Setting.prototype,{addExtraButton(c){return function(h){if(!r&&(t==="plugins"||this.descEl.childElementCount)&&(p[g]||{}).name===this.nameEl.textContent){let m=p[g++];y=m.id,u("plugin-settings:plugin-control",this,m,m.enabled,t)}return c.call(this,function(m){h(m),!r&&m.extraSettingsEl.find("svg.any-key, svg.lucide-plus-circle")&&y&&(o.hotkeyButtons[y]=m,m.onClick(o.showHotkeysFor.bind(o,y+":")))})}}});try{return e.apply(this,a)}finally{d(),u("plugin-settings:after-display",this)}}}gotoPlugin(t,e="info"){if(t&&e==="hotkeys")return this.showHotkeysFor(t+":");if(t&&e==="config"){this.showConfigFor(t)||this.app.setting.close();return}this.showSettings("community-plugins");let n=k(w.Modal.prototype,{open(o){return function(...r){var u;return n(),t&&(this.autoload=t,(u=this.setAutoOpen)==null||u.call(this,t)),o.apply(this,r)}}});this.app.setting.activeTab.containerEl.find(".mod-cta").click()}showSettings(t){var e,n;if((e=this.currentViewer)==null||e.close(),J()||app.setting.open(),t)return app.setting.openTabById(t),((n=app.setting.activeTab)==null?void 0:n.id)===t?app.setting.activeTab:!1}showHotkeysFor(t){var n,o;let e=this.showSettings("hotkeys");e&&((n=e.searchInputEl)!=null?n:e.searchComponent.inputEl)&&e.updateHotkeyVisibility&&(((o=e.searchInputEl)!=null?o:e.searchComponent.inputEl).value=t,e.updateHotkeyVisibility())}showConfigFor(t){return this.showSettings(t)?!0:(new w.Notice(`No settings tab for "${t}": it may not be installed or might not have settings.`),!1)}pluginEnabled(t){var e;return((e=app.internalPlugins.plugins[t])==null?void 0:e._loaded)||app.plugins.plugins[t]}refreshCommands(){let t=app.hotkeyManager;return this.assignedKeyCount={},this.commandsByPlugin=Object.values(app.commands.commands).reduce((e,n)=>{let o=n.id.split(":",2).shift(),r=(t.getHotkeys(n.id)||t.getDefaultHotkeys(n.id)||[]).map(st);return r.forEach(u=>this.assignedKeyCount[u]=1+(this.assignedKeyCount[u]||0)),(e[o]||(e[o]=[])).push({hotkeys:r,cmd:n}),e},{})}refreshButtons(t=!1){var n;if(!U()&&!t)return;this.refreshCommands();let e=Object.values(app.setting.pluginTabs).reduce((o,r)=>(o[r.id]=r,o),{});e.workspace=e.editor=!0;for(let o of Object.keys(this.hotkeyButtons||{})){let r=this.hotkeyButtons[o];if(!this.commandsByPlugin[o]||((n=app.internalPlugins.plugins[o])==null?void 0:n.enabled)===!1){r.extraSettingsEl.hide();continue}let u=this.commandsByPlugin[o].filter(a=>a.hotkeys.length),l=u.filter(a=>a.hotkeys.filter(p=>this.assignedKeyCount[p]>1).length).length;r.setTooltip(`Configure hotkeys -(${u.length}/${this.commandsByPlugin[o].length} assigned${l?"; "+l+" conflicting":""})`),r.extraSettingsEl.toggleClass("mod-error",!!l),r.extraSettingsEl.show()}}}; +var M=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Y=(i,s)=>{for(var t in s)M(i,t,{get:s[t],enumerable:!0})},R=(i,s,t,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of Q(s))!X.call(i,n)&&n!==t&&M(i,n,{get:()=>s[n],enumerable:!(e=Z(s,n))||e.enumerable});return i},K=(i,s,t)=>(R(i,s,"default"),t&&R(t,s,"default"));var tt=i=>R(M({},"__esModule",{value:!0}),i);var ct={};Y(ct,{default:()=>I});module.exports=tt(ct);var w=require("obsidian");function E(i,s){let t=Object.keys(s).map(e=>et(i,e,s[e]));return t.length===1?t[0]:function(){t.forEach(e=>e())}}function et(i,s,t){let e=i[s],n=i.hasOwnProperty(s),o=t(e);return e&&Object.setPrototypeOf(o,e),Object.setPrototypeOf(r,o),i[s]=r,c;function r(...l){return o===e&&i[s]===r&&c(),o.apply(this,l)}function c(){i[s]===r&&(n?i[s]=e:delete i[s]),o!==e&&(o=e,Object.setPrototypeOf(r,e||Function))}}function F(i,s){return i.then(s,s)}function N(i){let s=Promise.resolve();function t(...e){return s=new Promise((n,o)=>{F(s,()=>{i.apply(this,e).then(n,o)})})}return t.after=function(){return s=new Promise((e,n)=>{F(s,e)})},t}var d={};K(d,require("obsidian"));var B=Symbol.for("v1.to-use.peak-dev.org"),H=Symbol.for("v1.factory.to-use.peak-dev.org"),S,T,b=function(){return Object.defineProperties(i(),{this:{get(){if(S)return S;throw new TypeError("No current context")}},me:{value:B},factory:{value:H}});function i(n){let o=new Map;o.prev=n;let r=Object.assign(n?l=>{let a=o.get(l);if(!a){for(let f=o.prev;f;f=f.prev)if(a=f.get(l)){a=Object.assign(Object.assign({},a),{s:a.s||1});break}a=a||{s:2,v:t},o.set(l,a)}let p,g,y;for(;;)switch(a.s){case 0:return S===r&&T&&T.push(l),a.v;case 1:if(p=a.d,!p||c(()=>p.k.every(f=>r(f)===p.c(f)))){a.s=0;break}a.v=p.f;case 2:a.s=4;try{s(o,l,0,c(g=a.v,l,y=[])),y.length&&(a.d={c:r,f:g,k:y});break}catch(f){a.s=3,a.v=f,a.d=null}case 3:throw a.v;case 4:throw new Error(`Factory ${String(a.v)} didn't resolve ${String(l)}`)}}:l=>b.this(l),{def(l,a){return s(o,l,2,a),r},set(l,a){return s(o,l,1,a),r},fork(l){let a=i(o);return l!=null?a(l):a}});return n?r.use=r:r;function c(l,a,p){let g=S,y=T;try{return S=r,T=p,l(a)}finally{S=g,T=y}}}function s(n,o,r,c){if(n.has(o)){let l=n.get(o);if(!l.s)throw new Error(`Already read: ${String(o)}`);l.s=r,l.v=c,l.d=null}else n.set(o,{s:r,v:c})}function t(n){if(typeof n[B]=="function")return n[B](n);if(e(n))return typeof n.prototype[H]=="function"?n.prototype[H]():new n;throw new ReferenceError(`No config for ${String(n)}`)}function e(n){return typeof n=="function"&&n.prototype!==void 0&&(Object.getPrototypeOf(n.prototype)!==Object.prototype||Object.getOwnPropertyNames(n.prototype).length>1||n.toString().startsWith("class"))}}();var $,C=($=window.queueMicrotask)!=null?$:(i=>s=>i.then(s))(Promise.resolve());b.def(d.Plugin,()=>{throw new Error("Plugin not created yet")});var P=class extends d.Component{constructor(){super(...arguments);this.use=b.service(this)}};b.service=function(i){return b(L).addChild(i),b.this};b.plugin=function(i){let s=b.fork().set(d.Plugin,i).set(i.constructor,i);return i.addChild(s.use(L)),s};var L=class extends d.Component{constructor(){super(...arguments);this.children=new Set([this])}onload(){this.loaded=!0}onunload(){this.loaded=!1,this.children.clear()}addChild(t){return this.children.has(t)||(this.children.add(t),this.loaded?C(()=>super.addChild(t)):super.addChild(t)),t}};function W(i,s){i._loaded&&i.removeChild(s)}function z(i,s){let t=new d.Component;t.onload=()=>{W(i,t),s()},i.addChild(t)}function q(i){let s=app.workspace;switch(i==null?void 0:i.getRoot()){case s.rootSplit:case s.floatingSplit:case s.leftSplit:case s.rightSplit:return!0;default:return!1}}var A=2,Dt=Symbol.for(`v${A}.layout-storage-events.ophidian.peak-dev.org`);var jt=`ophidian-layout-storage:v${A}:item-load`,Kt=`ophidian-layout-storage:v${A}:item-save`;var _=class extends d.Component{constructor(t,e){super();this.use=t;this.container=e;this.win=this.container.win}[b.factory](){return new D(this.constructor)}static onload(t){}static onunload(t){}},D=class extends P{constructor(t){super();this.factory=t;this.instances=new Map;this.watching=!1;this.layoutReadyCallbacks=[]}onload(){var t,e;this.registerEvent(app.workspace.on("layout-change",()=>{app.workspace.layoutReady&&this.layoutReadyCallbacks.length&&(this.layoutReadyCallbacks.forEach(C),this.layoutReadyCallbacks=[])})),(e=(t=this.factory).onload)==null||e.call(t,this.use)}onLeafChange(t,e){return this.onLayoutReady(()=>t.call(e,app.workspace.activeLeaf)),app.workspace.on("active-leaf-change",n=>{app.workspace.layoutReady&&t.call(e,n)})}onLayoutReady(t){app.workspace.layoutReady?C(t):this.layoutReadyCallbacks.push(t)}onunload(){var t,e;(e=(t=this.factory).onunload)==null||e.call(t,this.use)}watch(){if(!this._loaded)z(this,()=>this.watch());else if(!this.watching){let{workspace:t}=app,e=this;this.watching=!0,this.registerEvent(t.on("window-open",n=>{this.onLayoutReady(()=>this.forContainer(n))})),this.register(E(t,{clearLayout(n){return async function(){try{return await n.call(this)}finally{e.onLayoutReady(()=>e.forAll())}}}})),this.onLayoutReady(()=>this.forAll())}return this}forWindow(t=(n=>(n=window.activeWindow)!=null?n:window)(),e=!0){let o=it(t);if(o)return this.forContainer(o,e)}forContainer(t,e=!0){t=t.getContainer();let n=this.instances.get(t);return!n&&e&&(n=new this.factory(this.use,t),n&&(this.instances.set(t,n),this.addChild(n),t.component.addChild(n),n.register(()=>{W(this,n),W(t.component,n),this.instances.delete(t)}))),n}forDom(t,e=!0){return this.forWindow(ot(t),e)}forLeaf(t=app.workspace.activeLeaf,e=!0){if(q(t))return this.forContainer(t.getContainer(),e)}forView(t,e=!0){return this.forLeaf(t.leaf,e)}forAll(t=!0){return nt().map(e=>this.forContainer(e,t)).filter(e=>e)}};function nt(){return[app.workspace.rootSplit].concat(app.workspace.floatingSplit.children)}function ot(i){return i.win||(i.ownerDocument||i).defaultView||window}function it(i){if(i===window)return app.workspace.rootSplit;let{floatingSplit:s}=app.workspace;if(s){for(let t of s.children)if(i===t.win)return t}}function G(i,s,t,e,n){return i.on(s,t,e,n),()=>i.off(s,t,e,n)}function O(){let i,s,t=new Promise((e,n)=>{i=e,s=n});return{resolve:i,reject:s,promise:t}}function j(i,s,t,e){let{resolve:n,promise:o}=O(),r=new class extends d.FuzzySuggestModal{getItemText(l){var a;return(a=s==null?void 0:s(l))!=null?a:""+l}getItems(){return i}onChooseItem(l,a){n({item:l,event:a})}onClose(){super.onClose(),C(()=>n({item:null,event:null}))}}(app);return t&&r.setPlaceholder(t),e==null||e(r),r.open(),o}function rt(i){return w.Keymap.compileModifiers(i.modifiers)+","+i.key.toLowerCase()}function at(i){return i==="plugins"||i==="community-plugins"}function U(){var i;return J()&&at((i=app.setting.activeTab)==null?void 0:i.id)}function J(){return app.setting.containerEl.parentElement!==null}function lt(i){return i instanceof w.Modal&&i.hasOwnProperty("autoload")&&typeof i.showPlugin=="function"&&typeof i.updateSearch=="function"&&typeof i.searchEl=="object"}function ut(i){var s;return i instanceof w.Modal&&typeof i.setAutoOpen=="function"&&typeof((s=i.search)==null?void 0:s.inputEl)=="object"}var I=class extends w.Plugin{constructor(){super(...arguments);this.lastSearch={};this.hotkeyButtons={};this.globalsAdded=!1;this.searchInput=null;this.commandsByPlugin={};this.assignedKeyCount={}}onload(){let t=this.app.workspace,e=this,n=t;this.registerEvent(n.on("plugin-settings:before-display",(c,l)=>{this.hotkeyButtons={},this.globalsAdded=!1,this.searchInput=null;let a=E(w.Setting.prototype,{addSearch(p){return function(g){return a(),p.call(this,y=>{e.searchInput=y,g==null||g(y)})}}});C(a)})),this.registerEvent(n.on("plugin-settings:after-display",()=>this.refreshButtons(!0))),this.registerEvent(n.on("plugin-settings:plugin-control",(c,l,a,p)=>{this.globalsAdded||this.addGlobals(p,c.settingEl)}));let o=(0,w.debounce)(this.refreshButtons.bind(this),50,!0);function r(c){return function(...l){return o(),c.apply(this,l)}}this.register(E(app.commands,{addCommand:r,removeCommand:r})),this.register(E(app.setting,{addSettingTab:r,removeSettingTab:r})),t.onLayoutReady(this.whenReady.bind(this)),this.registerObsidianProtocolHandler("goto-plugin",({id:c,show:l})=>{t.onLayoutReady(()=>{this.gotoPlugin(c,l)})})}whenReady(){var g,y;let t=this.app,e=this,n=(y=(g=t.internalPlugins.plugins["command-palette"])==null?void 0:g.instance)==null?void 0:y.modal;if(n){this.register(E(n,{onChooseItem(u){return function(m,k){return w.Keymap.isModEvent(k)?(C(()=>e.showHotkeysFor(m.name)),!1):u.call(this,m,k)}}}));let f=n.modalEl.find(".prompt-instructions .prompt-instruction");f&&createDiv("prompt-instruction",u=>{u.createSpan({cls:"prompt-instruction-command",text:w.Keymap.compileModifiers(["Mod"])+"+\u21B5"}),u.appendText(" "),u.createSpan({text:"to configure hotkey(s)"}),this.register(()=>u.detach())}).insertAfter(f)}let o=this.getSettingsTab("plugins"),r=this.getSettingsTab("community-plugins");o&&this.register(E(o,{display:this.addPluginSettingEvents.bind(this,o.id)})),r&&this.register(E(r,{display:this.addPluginSettingEvents.bind(this,r.id)}));let c=()=>this.enhanceViewer();r&&this.register(G(r.containerEl,"click",".mod-cta, .installed-plugins-container .setting-item-info",c,!0)),this.register(E(t.workspace.protocolHandlers,{get(f){return function(h){return h==="show-plugin"&&c(),f.call(this,h)}}}));function l(){U()&&t.setting.openTabById(t.setting.activeTab.id)}l(),this.register(()=>C(l));let a=this.getSettingsTab("hotkeys");a&&this.register(E(a,{display(f){return function(){var u,h;f.call(this),(h=(u=this.searchInputEl)!=null?u:this.searchComponent.inputEl)==null||h.focus()}},updateHotkeyVisibility(f){return function(){var k;let u=(k=this.searchInputEl)!=null?k:this.searchComponent.inputEl;if(!u)return f.call(this);let h=u.value,m=t.commands.commands;try{if(h.endsWith(":")&&!h.contains(" ")){let v=m,x=Object.fromEntries(Object.entries(t.commands.commands).filter(([V,pt])=>(V+":").startsWith(h)));u.value="",t.commands.commands=new Proxy(m,{ownKeys(){try{return Object.keys(v)}finally{v=x}}})}return f.call(this)}finally{u.value=h,t.commands.commands=m}}}})),this.addCommand({id:"open-plugins",name:"Open the Community Plugins settings",callback:()=>this.showSettings("community-plugins")||!0}),this.addCommand({id:"browse-plugins",name:"Browse or search the Community Plugins catalog",callback:()=>this.gotoPlugin()});let p=new Intl.Collator(void 0,{usage:"sort",sensitivity:"base",numeric:!0}).compare;this.addCommand({id:"open-settings",name:"Open settings for plugin...",callback:async()=>{let{item:f}=await j(t.setting.pluginTabs.concat(t.setting.settingTabs).sort((u,h)=>p(u.name,h.name)),u=>u.name,"Select a plugin to open its settings...");f&&(t.setting.open(),t.setting.openTabById(f.id))}}),this.addCommand({id:"open-hotkeys",name:"Open hotkeys for plugin...",callback:async()=>{var m,k;let f=this.refreshCommands(),u=Object.values(t.plugins.plugins).map(v=>v.manifest).concat(Object.entries(t.internalPlugins.plugins).map(([v,{instance:{name:x},_loaded:V}])=>({id:v,name:x,enabled:V})).filter(v=>v.enabled)).concat([{id:"app",name:"App"},{id:"editor",name:((m=this.getSettingsTab("editor"))==null?void 0:m.name)||"Editor"},{id:"workspace",name:((k=this.getSettingsTab("file"))==null?void 0:k.name)||"Files & Links"}]).filter(v=>{var x;return(x=f[v.id])==null?void 0:x.length}),{item:h}=await j(u.sort((v,x)=>p(v.name,x.name)),v=>v.name,"Select a plugin to open its hotkeys...");h&&this.showHotkeysFor(h.id+":")}})}createExtraButtons(t,e,n){e.id!=="app"&&t.addExtraButton(o=>{o.setIcon("gear"),o.onClick(()=>this.showConfigFor(e.id.replace(/^workspace$/,"file"))),o.setTooltip("Options"),o.extraSettingsEl.toggle(n)}),t.addExtraButton(o=>{o.setIcon("any-key"),o.onClick(()=>this.showHotkeysFor(e.id+":")),o.extraSettingsEl.toggle(n),this.hotkeyButtons[e.id]=o})}addGlobals(t,e){var l,a,p;this.globalsAdded=!0;let n=e.parentElement,o;if(t!=="plugins"||this.searchInput)(l=o=this.searchInput)==null||l.onChange(c);else{let g=new w.Setting(n).addSearch(y=>{o=y,y.setPlaceholder("Filter plugins...").onChange(c)});o.containerEl.style.margin="0",n.createDiv("hotkey-search-container").append(o.containerEl),g.settingEl.detach()}t==="community-plugins"&&o.inputEl.addEventListener("keydown",g=>{if(g.keyCode===13&&!w.Keymap.getModifiers(g))return this.gotoPlugin(),!1});let r=this;function c(g){let y=(r.lastSearch[t]=g).toLowerCase();function f(u){if(!u)return!1;let h=u.textContent=u.textContent,m=h.toLowerCase().indexOf(y);return~m?(u.textContent=h.substr(0,m),u.createSpan("suggestion-highlight").textContent=h.substr(m,y.length),u.insertAdjacentText("beforeend",h.substr(m+y.length)),!0):!1}n.findAll(".setting-item").forEach(u=>{var v;let h=f(u.find(".setting-item-name")),m=f((v=u.find(".setting-item-description > div:last-child"))!=null?v:u.find(".setting-item-description")),k=f(u.find(".setting-item-description > div:nth-child(2)"));u.toggle(h||m||k)})}if(C(()=>{!o||(o&&typeof r.lastSearch[t]=="string"&&(o.setValue(r.lastSearch[t]),o.onChanged()),w.Platform.isMobile||o.inputEl.select())}),n.append(e),t==="plugins"){let g=((a=this.getSettingsTab("editor"))==null?void 0:a.name)||"Editor",y=((p=this.getSettingsTab("file"))==null?void 0:p.name)||"Files & Links";this.createExtraButtons(new w.Setting(e.parentElement).setName("App").setDesc("Miscellaneous application commands (always enabled)"),{id:"app",name:"App"},!0),this.createExtraButtons(new w.Setting(e.parentElement).setName(g).setDesc("Core editing commands (always enabled)"),{id:"editor",name:g},!0),this.createExtraButtons(new w.Setting(e.parentElement).setName(y).setDesc("Core file and pane management commands (always enabled)"),{id:"workspace",name:y},!0),e.parentElement.append(e)}}enhanceViewer(){let t=this;setTimeout(E(w.Modal.prototype,{open(e){return function(...n){return ut(this)&&(C(()=>{t.lastSearch["community-plugins"]&&(this.search.inputEl.value=t.lastSearch["community-plugins"],this.search.inputEl.dispatchEvent(new Event("input")))}),t.currentViewer=this,E(this,{close(o){return function(...r){return t.currentViewer=null,o.apply(this,r)}},showItem(o){return async function(r){let c=await o.call(this,r);if(t.app.plugins.plugins[r.id]){let l=i18next.t("setting.hotkeys.name"),a=this.detailsEl.find("button").parentElement;for(let p of a.findAll("button"))p.textContent===l&&(t.hotkeyButtons[r.id]={setTooltip(g){return p.title=g,this},extraSettingsEl:p});t.refreshButtons(!0)}return c}}})),lt(this)&&(C(()=>{if(t.lastSearch["community-plugins"]){let o=this.searchResultEl.cloneNode();this.searchContainerEl.replaceChild(o,this.searchResultEl),this.searchResultEl=o,this.searchEl.value=t.lastSearch["community-plugins"],this.searchEl.dispatchEvent(new Event("input"))}this.searchEl.select()}),t.currentViewer=this,E(this,{updateSearch:N,close(o){return function(...r){return t.currentViewer=null,o.apply(this,r)}},showPlugin(o){return async function(r){let c=await o.call(this,r);if(t.app.plugins.plugins[r.id]){let l=i18next.t("setting.hotkeys.name"),a=this.pluginContentEl.find("button").parentElement;for(let p of a.findAll("button"))p.textContent===l&&(t.hotkeyButtons[r.id]={setTooltip(g){return p.title=g,this},extraSettingsEl:p});t.refreshButtons(!0)}return c}}})),e.apply(this,n)}}}),0)}getSettingsTab(t){return app.setting.settingTabs.filter(e=>e.id===t).shift()}addPluginSettingEvents(t,e){let n=this.app,o=this,r=!1;function c(l,...a){r=!0;try{n.workspace.trigger(l,...a)}catch(p){console.error(p)}r=!1}return function(...a){if(r)return;c("plugin-settings:before-display",this,t);let p;t==="plugins"?p=Object.entries(n.internalPlugins.plugins).map(([u,{instance:{name:h,hiddenFromList:m},_loaded:k}])=>!m&&{id:u,name:h,enabled:k}).filter(u=>u):p=Object.values(n.plugins.manifests),p.sort((u,h)=>u.name.localeCompare(h.name));let g=0,y="",f=E(w.Setting.prototype,{addExtraButton(u){return function(h){if(!r&&(t==="plugins"||this.descEl.childElementCount)&&(p[g]||{}).name===this.nameEl.textContent){let m=p[g++];y=m.id,c("plugin-settings:plugin-control",this,m,m.enabled,t)}return u.call(this,function(m){h(m),!r&&m.extraSettingsEl.find("svg.any-key, svg.lucide-plus-circle")&&y&&(o.hotkeyButtons[y]=m,m.onClick(o.showHotkeysFor.bind(o,y+":")))})}}});try{return e.apply(this,a)}finally{f(),c("plugin-settings:after-display",this)}}}gotoPlugin(t,e="info"){if(t&&e==="hotkeys")return this.showHotkeysFor(t+":");if(t&&e==="config"){this.showConfigFor(t)||this.app.setting.close();return}this.showSettings("community-plugins");let n=E(w.Modal.prototype,{open(o){return function(...r){var c;return n(),t&&(this.autoload=t,(c=this.setAutoOpen)==null||c.call(this,t)),o.apply(this,r)}}});this.app.setting.activeTab.containerEl.find(".mod-cta").click()}showSettings(t){var e,n,o;if((e=this.currentViewer)==null||e.close(),J()||app.setting.open(),t)return((n=app.setting.activeTab)==null?void 0:n.id)!==t&&app.setting.openTabById(t),((o=app.setting.activeTab)==null?void 0:o.id)===t?app.setting.activeTab:!1}showHotkeysFor(t){var n,o;let e=this.showSettings("hotkeys");e&&((n=e.searchInputEl)!=null?n:e.searchComponent.inputEl)&&e.updateHotkeyVisibility&&(((o=e.searchInputEl)!=null?o:e.searchComponent.inputEl).value=t,e.updateHotkeyVisibility())}showConfigFor(t){return this.showSettings(t)?!0:(new w.Notice(`No settings tab for "${t}": it may not be installed or might not have settings.`),!1)}pluginEnabled(t){var e;return((e=app.internalPlugins.plugins[t])==null?void 0:e._loaded)||app.plugins.plugins[t]}refreshCommands(){let t=app.hotkeyManager;return this.assignedKeyCount={},this.commandsByPlugin=Object.values(app.commands.commands).reduce((e,n)=>{let o=n.id.split(":",2).shift(),r=(t.getHotkeys(n.id)||t.getDefaultHotkeys(n.id)||[]).map(rt);return r.forEach(c=>this.assignedKeyCount[c]=1+(this.assignedKeyCount[c]||0)),(e[o]||(e[o]=[])).push({hotkeys:r,cmd:n}),e},{})}refreshButtons(t=!1){var n;if(!U()&&!t)return;this.refreshCommands();let e=Object.values(app.setting.pluginTabs).reduce((o,r)=>(o[r.id]=r,o),{});e.workspace=e.editor=!0;for(let o of Object.keys(this.hotkeyButtons||{})){let r=this.hotkeyButtons[o];if(!this.commandsByPlugin[o]||((n=app.internalPlugins.plugins[o])==null?void 0:n.enabled)===!1){r.extraSettingsEl.hide();continue}let c=this.commandsByPlugin[o].filter(a=>a.hotkeys.length),l=c.filter(a=>a.hotkeys.filter(p=>this.assignedKeyCount[p]>1).length).length;r.setTooltip(`Configure hotkeys +(${c.length}/${this.commandsByPlugin[o].length} assigned${l?"; "+l+" conflicting":""})`),r.extraSettingsEl.toggleClass("mod-error",!!l),r.extraSettingsEl.show()}}}; diff --git a/notes/.obsidian/plugins/hotkey-helper/manifest.json b/notes/.obsidian/plugins/hotkey-helper/manifest.json index c1b3a00..5a4a5c5 100644 --- a/notes/.obsidian/plugins/hotkey-helper/manifest.json +++ b/notes/.obsidian/plugins/hotkey-helper/manifest.json @@ -1,8 +1,8 @@ { "id": "hotkey-helper", "name": "Hotkey Helper", - "version": "0.3.17", - "minAppVersion": "0.15.9", + "version": "0.3.18", + "minAppVersion": "1.2.8", "description": "Easily see and access any plugin's settings or hotkey assignments (and conflicts) from the Community Plugins tab", "author": "PJ Eby", "authorUrl": "https://github.com/pjeby" diff --git a/notes/.obsidian/plugins/obsidian-chartsview-plugin/main.js b/notes/.obsidian/plugins/obsidian-chartsview-plugin/main.js index 5f11a6c..0d8d78e 100644 --- a/notes/.obsidian/plugins/obsidian-chartsview-plugin/main.js +++ b/notes/.obsidian/plugins/obsidian-chartsview-plugin/main.js @@ -3,137 +3,137 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var I2t=Object.create;var sw=Object.defineProperty,L2t=Object.defineProperties,O2t=Object.getOwnPropertyDescriptor,D2t=Object.getOwnPropertyDescriptors,P2t=Object.getOwnPropertyNames,T9=Object.getOwnPropertySymbols,k2t=Object.getPrototypeOf,I9=Object.prototype.hasOwnProperty,R2t=Object.prototype.propertyIsEnumerable;var L9=(r,e,t)=>e in r?sw(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wl=(r,e)=>{for(var t in e||(e={}))I9.call(e,t)&&L9(r,t,e[t]);if(T9)for(var t of T9(e))R2t.call(e,t)&&L9(r,t,e[t]);return r},PI=(r,e)=>L2t(r,D2t(e)),O9=r=>sw(r,"__esModule",{value:!0});var ft=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Dn=(r,e)=>{O9(r);for(var t in e)sw(r,t,{get:e[t],enumerable:!0})},N2t=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of P2t(e))!I9.call(r,n)&&n!=="default"&&sw(r,n,{get:()=>e[n],enumerable:!(t=O2t(e,n))||t.enumerable});return r},U=r=>N2t(O9(sw(r!=null?I2t(k2t(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var ya=(r,e,t)=>new Promise((n,i)=>{var a=l=>{try{s(t.next(l))}catch(u){i(u)}},o=l=>{try{s(t.throw(l))}catch(u){i(u)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(a,o);s((t=t.apply(r,e)).next())});var yw=ft((Xme,$I)=>{var wq,Eq,Aq,Mq,Tq,Iq,Lq,Oq,Dq,KI,T3,Pq,kq,Rq,cb,Nq,Fq,Bq,Gq,zq,Uq,jq,Wq,ZI;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof $I=="object"&&typeof $I.exports=="object"?r(t(e,t($I.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])};wq=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");e(n,i);function a(){this.constructor=n}n.prototype=i===null?Object.create(i):(a.prototype=i.prototype,new a)},Eq=Object.assign||function(n){for(var i,a=1,o=arguments.length;a=0;f--)(u=n[f])&&(l=(s<3?u(l):s>3?u(i,a,l):u(i,a))||l);return s>3&&l&&Object.defineProperty(i,a,l),l},Tq=function(n,i){return function(a,o){i(a,o,n)}},Iq=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},Lq=function(n,i,a,o){function s(l){return l instanceof a?l:new a(function(u){u(l)})}return new(a||(a=Promise))(function(l,u){function f(d){try{h(o.next(d))}catch(p){u(p)}}function c(d){try{h(o.throw(d))}catch(p){u(p)}}function h(d){d.done?l(d.value):s(d.value).then(f,c)}h((o=o.apply(n,i||[])).next())})},Oq=function(n,i){var a={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},o,s,l,u;return u={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function f(h){return function(d){return c([h,d])}}function c(h){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,s&&(l=h[0]&2?s.return:h[0]?s.throw||((l=s.return)&&l.call(s),0):s.next)&&!(l=l.call(s,h[1])).done)return l;switch(s=0,l&&(h=[h[0]&2,l.value]),h[0]){case 0:case 1:l=h;break;case 4:return a.label++,{value:h[1],done:!1};case 5:a.label++,s=h[1],h=[0];continue;case 7:h=a.ops.pop(),a.trys.pop();continue;default:if(l=a.trys,!(l=l.length>0&&l[l.length-1])&&(h[0]===6||h[0]===2)){a=0;continue}if(h[0]===3&&(!l||h[1]>l[0]&&h[1]=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},T3=function(n,i){var a=typeof Symbol=="function"&&n[Symbol.iterator];if(!a)return n;var o=a.call(n),s,l=[],u;try{for(;(i===void 0||i-- >0)&&!(s=o.next()).done;)l.push(s.value)}catch(f){u={error:f}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(u)throw u.error}}return l},Pq=function(){for(var n=[],i=0;i1||f(v,m)})})}function f(v,m){try{c(o[v](m))}catch(g){p(l[0][3],g)}}function c(v){v.value instanceof cb?Promise.resolve(v.value.v).then(h,d):p(l[0][2],v)}function h(v){f("next",v)}function d(v){f("throw",v)}function p(v,m){v(m),l.shift(),l.length&&f(l[0][0],l[0][1])}},Fq=function(n){var i,a;return i={},o("next"),o("throw",function(s){throw s}),o("return"),i[Symbol.iterator]=function(){return this},i;function o(s,l){i[s]=n[s]?function(u){return(a=!a)?{value:cb(n[s](u)),done:s==="return"}:l?l(u):u}:l}},Bq=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],a;return i?i.call(n):(n=typeof KI=="function"?KI(n):n[Symbol.iterator](),a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a);function o(l){a[l]=n[l]&&function(u){return new Promise(function(f,c){u=n[l](u),s(f,c,u.done,u.value)})}}function s(l,u,f,c){Promise.resolve(c).then(function(h){l({value:h,done:f})},u)}},Gq=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var t=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};zq=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var a in n)a!=="default"&&Object.prototype.hasOwnProperty.call(n,a)&&ZI(i,n,a);return t(i,n),i},Uq=function(n){return n&&n.__esModule?n:{default:n}},jq=function(n,i,a,o){if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?o:a==="a"?o.call(n):o?o.value:i.get(n)},Wq=function(n,i,a,o,s){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!s:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?s.call(n,a):s?s.value=a:i.set(n,a),a},r("__extends",wq),r("__assign",Eq),r("__rest",Aq),r("__decorate",Mq),r("__param",Tq),r("__metadata",Iq),r("__awaiter",Lq),r("__generator",Oq),r("__exportStar",Dq),r("__createBinding",ZI),r("__values",KI),r("__read",T3),r("__spread",Pq),r("__spreadArrays",kq),r("__spreadArray",Rq),r("__await",cb),r("__asyncGenerator",Nq),r("__asyncDelegator",Fq),r("__asyncValues",Bq),r("__makeTemplateObject",Gq),r("__importStar",zq),r("__importDefault",Uq),r("__classPrivateFieldGet",jq),r("__classPrivateFieldSet",Wq)})});var Al=ft(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var RDt=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)};I3.default=RDt});var QI=ft(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var NDt=Al(),FDt=function(r,e){return NDt.default(r)?r.indexOf(e)>-1:!1};L3.default=FDt});var D3=ft(O3=>{"use strict";Object.defineProperty(O3,"__esModule",{value:!0});var BDt=Al(),GDt=function(r,e){if(!BDt.default(r))return r;for(var t=[],n=0;n{"use strict";Object.defineProperty(P3,"__esModule",{value:!0});var zDt=D3(),UDt=QI(),jDt=function(r,e){return e===void 0&&(e=[]),zDt.default(r,function(t){return!UDt.default(e,t)})};P3.default=jDt});var Hu=ft(k3=>{"use strict";Object.defineProperty(k3,"__esModule",{value:!0});var WDt={}.toString,VDt=function(r,e){return WDt.call(r)==="[object "+e+"]"};k3.default=VDt});var Ml=ft(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});var HDt=Hu();R3.default=function(r){return HDt.default(r,"Function")}});var tp=ft(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var YDt=function(r){return r==null};N3.default=YDt});var Fa=ft(F3=>{"use strict";Object.defineProperty(F3,"__esModule",{value:!0});var XDt=Hu();F3.default=function(r){return Array.isArray?Array.isArray(r):XDt.default(r,"Array")}});var xw=ft(B3=>{"use strict";Object.defineProperty(B3,"__esModule",{value:!0});B3.default=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"}});var My=ft(G3=>{"use strict";Object.defineProperty(G3,"__esModule",{value:!0});var qDt=Fa(),KDt=xw();function ZDt(r,e){if(!!r){var t;if(qDt.default(r))for(var n=0,i=r.length;n{"use strict";Object.defineProperty(z3,"__esModule",{value:!0});var $Dt=My(),QDt=Ml(),JDt=Object.keys?function(r){return Object.keys(r)}:function(r){var e=[];return $Dt.default(r,function(t,n){QDt.default(r)&&n==="prototype"||e.push(n)}),e};z3.default=JDt});var W3=ft(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var tPt=tp(),ePt=U3();function rPt(r,e){var t=ePt.default(e),n=t.length;if(tPt.default(r))return!n;for(var i=0;i{"use strict";Object.defineProperty(V3,"__esModule",{value:!0});var nPt=function(r){return typeof r=="object"&&r!==null};V3.default=nPt});var hb=ft(H3=>{"use strict";Object.defineProperty(H3,"__esModule",{value:!0});var iPt=JI(),aPt=Hu(),oPt=function(r){if(!iPt.default(r)||!aPt.default(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e};H3.default=oPt});var Yq=ft(Y3=>{"use strict";Object.defineProperty(Y3,"__esModule",{value:!0});var sPt=Ml(),lPt=W3(),uPt=Fa(),fPt=hb();function cPt(r,e){if(!uPt.default(r))return null;var t;if(sPt.default(e)&&(t=e),fPt.default(e)&&(t=function(i){return lPt.default(i,e)}),t){for(var n=0;n{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});function hPt(r,e,t){t===void 0&&(t=0);for(var n=t;n{"use strict";Object.defineProperty(q3,"__esModule",{value:!0});var dPt=tp(),pPt=Fa(),vPt=function(r,e){for(var t=null,n=0;n{"use strict";Object.defineProperty(K3,"__esModule",{value:!0});var mPt=Fa(),gPt=function(r){if(!mPt.default(r))return[];for(var e=[],t=0;t{"use strict";Object.defineProperty(Z3,"__esModule",{value:!0});var yPt=Fa(),Zq=function(r,e){if(e===void 0&&(e=[]),!yPt.default(r))e.push(r);else for(var t=0;t{"use strict";Object.defineProperty($3,"__esModule",{value:!0});var xPt=Fa();$3.default=function(r){if(!!xPt.default(r))return r.reduce(function(e,t){return Math.max(e,t)},r[0])}});var tG=ft(J3=>{"use strict";Object.defineProperty(J3,"__esModule",{value:!0});var bPt=Fa();J3.default=function(r){if(!!bPt.default(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])}});var Qq=ft(eG=>{"use strict";Object.defineProperty(eG,"__esModule",{value:!0});var _Pt=Fa(),SPt=Q3(),CPt=tG(),wPt=function(r){var e=r.filter(function(o){return!isNaN(o)});if(!e.length)return{min:0,max:0};if(_Pt.default(r[0])){for(var t=[],n=0;n{"use strict";Object.defineProperty(rG,"__esModule",{value:!0});var Jq=Array.prototype,EPt=Jq.splice,APt=Jq.indexOf,MPt=function(r){for(var e=[],t=1;t-1;)EPt.call(r,a,1);return r};rG.default=MPt});var iG=ft(nG=>{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});var TPt=Al(),IPt=Array.prototype.splice,LPt=function(e,t){if(!TPt.default(e))return[];for(var n=e?t.length:0,i=n-1;n--;){var a=void 0,o=t[n];(n===i||o!==a)&&(a=o,IPt.call(e,o,1))}return e};nG.default=LPt});var oG=ft(aG=>{"use strict";Object.defineProperty(aG,"__esModule",{value:!0});var OPt=My(),DPt=Fa(),PPt=hb(),kPt=function(r,e,t){if(!DPt.default(r)&&!PPt.default(r))return r;var n=t;return OPt.default(r,function(i,a){n=e(n,i,a)}),n};aG.default=kPt});var eK=ft(sG=>{"use strict";Object.defineProperty(sG,"__esModule",{value:!0});var RPt=Al(),NPt=iG(),FPt=function(r,e){var t=[];if(!RPt.default(r))return t;for(var n=-1,i=[],a=r.length;++n{"use strict";Object.defineProperty(lG,"__esModule",{value:!0});var BPt=Hu();lG.default=function(r){return BPt.default(r,"String")}});var rK=ft(uG=>{"use strict";Object.defineProperty(uG,"__esModule",{value:!0});var GPt=Fa(),zPt=Jc(),UPt=Ml();function jPt(r,e){var t;if(UPt.default(e))t=function(i,a){return e(i)-e(a)};else{var n=[];zPt.default(e)?n.push(e):GPt.default(e)&&(n=e),t=function(i,a){for(var o=0;oa[s])return 1;if(i[s]{"use strict";Object.defineProperty(fG,"__esModule",{value:!0});function WPt(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n{"use strict";Object.defineProperty(hG,"__esModule",{value:!0});var VPt=cG(),HPt=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(dG,"__esModule",{value:!0});var YPt=Fa(),XPt=tp();dG.default=function(r,e){for(var t=[],n={},i=0;i{"use strict";Object.defineProperty(pG,"__esModule",{value:!0});var qPt=Al();function KPt(r){if(qPt.default(r))return r[0]}pG.default=KPt});var oK=ft(vG=>{"use strict";Object.defineProperty(vG,"__esModule",{value:!0});var ZPt=Al();function $Pt(r){if(ZPt.default(r)){var e=r;return e[e.length-1]}}vG.default=$Pt});var sK=ft(mG=>{"use strict";Object.defineProperty(mG,"__esModule",{value:!0});var QPt=Fa(),JPt=Jc();function tkt(r,e){return QPt.default(r)||JPt.default(r)?r[0]===e:!1}mG.default=tkt});var lK=ft(gG=>{"use strict";Object.defineProperty(gG,"__esModule",{value:!0});var ekt=Fa(),rkt=Jc();function nkt(r,e){return ekt.default(r)||rkt.default(r)?r[r.length-1]===e:!1}gG.default=nkt});var uK=ft(yG=>{"use strict";Object.defineProperty(yG,"__esModule",{value:!0});var ikt=function(r,e){for(var t=0;t{"use strict";Object.defineProperty(xG,"__esModule",{value:!0});var akt=function(r,e){for(var t=0;t{"use strict";Object.defineProperty(bG,"__esModule",{value:!0});var okt=Fa(),skt=Ml(),lkt=Object.prototype.hasOwnProperty;function ukt(r,e){if(!e||!okt.default(r))return{};for(var t={},n=skt.default(e)?e:function(s){return s[e]},i,a=0;a{"use strict";Object.defineProperty(SG,"__esModule",{value:!0});var fkt=Fa(),ckt=Ml(),hkt=_G();function dkt(r,e){if(!e)return{0:r};if(!ckt.default(e)){var t=fkt.default(e)?e:e.replace(/\s+/g,"").split("*");e=function(n){for(var i="_",a=0,o=t.length;a{"use strict";Object.defineProperty(wG,"__esModule",{value:!0});var pkt=CG();wG.default=function(r,e){if(!e)return[r];var t=pkt.default(r,e),n=[];for(var i in t)n.push(t[i]);return n}});var hK=ft(EG=>{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});function vkt(r,e){return r["_wrap_"+e]}EG.default=vkt});var dK=ft(AG=>{"use strict";Object.defineProperty(AG,"__esModule",{value:!0});function mkt(r,e){if(r["_wrap_"+e])return r["_wrap_"+e];var t=function(n){r[e](n)};return r["_wrap_"+e]=t,t}AG.default=mkt});var vK=ft(MG=>{"use strict";Object.defineProperty(MG,"__esModule",{value:!0});var pK={};function gkt(r){var e=pK[r];if(!e){for(var t=r.toString(16),n=t.length;n<6;n++)t="0"+t;e="#"+t,pK[r]=e}return e}MG.default=gkt});var mK=ft(TG=>{"use strict";Object.defineProperty(TG,"__esModule",{value:!0});var ykt=Fa();function xkt(r){var e=0,t=0,n=0,i=0;return ykt.default(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}TG.default=xkt});var gK=ft(IG=>{"use strict";Object.defineProperty(IG,"__esModule",{value:!0});var bkt=function(r,e,t){return rt?t:r};IG.default=bkt});var yK=ft(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var _kt=function(r,e){var t=e.toString(),n=t.indexOf(".");if(n===-1)return Math.round(r);var i=t.substr(n+1).length;return i>20&&(i=20),parseFloat(r.toFixed(i))};LG.default=_kt});var th=ft(OG=>{"use strict";Object.defineProperty(OG,"__esModule",{value:!0});var Skt=Hu(),Ckt=function(r){return Skt.default(r,"Number")};OG.default=Ckt});var xK=ft(DG=>{"use strict";Object.defineProperty(DG,"__esModule",{value:!0});var wkt=th(),Ekt=function(r){return wkt.default(r)&&r%1!=0};DG.default=Ekt});var bK=ft(PG=>{"use strict";Object.defineProperty(PG,"__esModule",{value:!0});var Akt=th(),Mkt=function(r){return Akt.default(r)&&r%2==0};PG.default=Mkt});var _K=ft(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});var Tkt=th(),Ikt=Number.isInteger?Number.isInteger:function(r){return Tkt.default(r)&&r%1==0};kG.default=Ikt});var SK=ft(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});var Lkt=th(),Okt=function(r){return Lkt.default(r)&&r<0};RG.default=Okt});var CK=ft(NG=>{"use strict";Object.defineProperty(NG,"__esModule",{value:!0});var Dkt=1e-5;function Pkt(r,e,t){return t===void 0&&(t=Dkt),Math.abs(r-e){"use strict";Object.defineProperty(FG,"__esModule",{value:!0});var kkt=th(),Rkt=function(r){return kkt.default(r)&&r%2!=0};FG.default=Rkt});var EK=ft(BG=>{"use strict";Object.defineProperty(BG,"__esModule",{value:!0});var Nkt=th(),Fkt=function(r){return Nkt.default(r)&&r>0};BG.default=Fkt});var AK=ft(GG=>{"use strict";Object.defineProperty(GG,"__esModule",{value:!0});var Bkt=Fa(),Gkt=Ml();GG.default=function(r,e){if(!!Bkt.default(r)){for(var t,n=-1/0,i=0;in&&(t=a,n=o)}return t}}});var MK=ft(zG=>{"use strict";Object.defineProperty(zG,"__esModule",{value:!0});var zkt=Fa(),Ukt=Ml();zG.default=function(r,e){if(!!zkt.default(r)){for(var t,n=1/0,i=0;i{"use strict";Object.defineProperty(UG,"__esModule",{value:!0});var jkt=function(r,e){return(r%e+e)%e};UG.default=jkt});var IK=ft(jG=>{"use strict";Object.defineProperty(jG,"__esModule",{value:!0});var Wkt=180/Math.PI,Vkt=function(r){return Wkt*r};jG.default=Vkt});var LK=ft(WG=>{"use strict";Object.defineProperty(WG,"__esModule",{value:!0});WG.default=parseInt});var OK=ft(VG=>{"use strict";Object.defineProperty(VG,"__esModule",{value:!0});var Hkt=Math.PI/180,Ykt=function(r){return Hkt*r};VG.default=Ykt});var DK=ft(HG=>{"use strict";Object.defineProperty(HG,"__esModule",{value:!0});var Xkt=My();HG.default=Xkt.default});var XG=ft(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});YG.default=function(r,e){return r.hasOwnProperty(e)}});var PK=ft(qG=>{"use strict";Object.defineProperty(qG,"__esModule",{value:!0});var qkt=XG();qG.default=qkt.default});var t2=ft(KG=>{"use strict";Object.defineProperty(KG,"__esModule",{value:!0});var Kkt=My(),Zkt=Ml(),$kt=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return Kkt.default(r,function(t,n){Zkt.default(r)&&n==="prototype"||e.push(t)}),e};KG.default=$kt});var kK=ft(ZG=>{"use strict";Object.defineProperty(ZG,"__esModule",{value:!0});var Qkt=QI(),Jkt=t2();ZG.default=function(r,e){return Qkt.default(Jkt.default(r),e)}});var Ty=ft($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});var tRt=tp();$G.default=function(r){return tRt.default(r)?"":r.toString()}});var RK=ft(QG=>{"use strict";Object.defineProperty(QG,"__esModule",{value:!0});var eRt=Ty(),rRt=function(r){return eRt.default(r).toLowerCase()};QG.default=rRt});var NK=ft(JG=>{"use strict";Object.defineProperty(JG,"__esModule",{value:!0});var nRt=Ty(),iRt=function(r){var e=nRt.default(r);return e.charAt(0).toLowerCase()+e.substring(1)};JG.default=iRt});var FK=ft(t5=>{"use strict";Object.defineProperty(t5,"__esModule",{value:!0});function aRt(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}t5.default=aRt});var BK=ft(e5=>{"use strict";Object.defineProperty(e5,"__esModule",{value:!0});var oRt=Ty(),sRt=function(r){return oRt.default(r).toUpperCase()};e5.default=sRt});var GK=ft(r5=>{"use strict";Object.defineProperty(r5,"__esModule",{value:!0});var lRt=Ty(),uRt=function(r){var e=lRt.default(r);return e.charAt(0).toUpperCase()+e.substring(1)};r5.default=uRt});var i5=ft(n5=>{"use strict";Object.defineProperty(n5,"__esModule",{value:!0});var fRt={}.toString,cRt=function(r){return fRt.call(r).replace(/^\[object /,"").replace(/]$/,"")};n5.default=cRt});var zK=ft(a5=>{"use strict";Object.defineProperty(a5,"__esModule",{value:!0});var hRt=Hu(),dRt=function(r){return hRt.default(r,"Arguments")};a5.default=dRt});var UK=ft(o5=>{"use strict";Object.defineProperty(o5,"__esModule",{value:!0});var pRt=Hu(),vRt=function(r){return pRt.default(r,"Boolean")};o5.default=vRt});var jK=ft(s5=>{"use strict";Object.defineProperty(s5,"__esModule",{value:!0});var mRt=Hu(),gRt=function(r){return mRt.default(r,"Date")};s5.default=gRt});var WK=ft(l5=>{"use strict";Object.defineProperty(l5,"__esModule",{value:!0});var yRt=Hu(),xRt=function(r){return yRt.default(r,"Error")};l5.default=xRt});var VK=ft(u5=>{"use strict";Object.defineProperty(u5,"__esModule",{value:!0});var bRt=th();function _Rt(r){return bRt.default(r)&&isFinite(r)}u5.default=_Rt});var HK=ft(f5=>{"use strict";Object.defineProperty(f5,"__esModule",{value:!0});var SRt=function(r){return r===null};f5.default=SRt});var h5=ft(c5=>{"use strict";Object.defineProperty(c5,"__esModule",{value:!0});var CRt=Object.prototype,wRt=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||CRt;return r===t};c5.default=wRt});var YK=ft(d5=>{"use strict";Object.defineProperty(d5,"__esModule",{value:!0});var ERt=Hu(),ARt=function(r){return ERt.default(r,"RegExp")};d5.default=ARt});var XK=ft(p5=>{"use strict";Object.defineProperty(p5,"__esModule",{value:!0});var MRt=function(r){return r===void 0};p5.default=MRt});var qK=ft(v5=>{"use strict";Object.defineProperty(v5,"__esModule",{value:!0});var TRt=function(r){return r instanceof Element||r instanceof HTMLDocument};v5.default=TRt});var KK=ft(m5=>{"use strict";Object.defineProperty(m5,"__esModule",{value:!0});function IRt(r){var e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16)};return e(r)}m5.default=IRt});var ZK=ft(g5=>{"use strict";Object.defineProperty(g5,"__esModule",{value:!0});function LRt(r){var e=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout;e(r)}g5.default=LRt});var e2=ft(x5=>{"use strict";Object.defineProperty(x5,"__esModule",{value:!0});function y5(r,e){for(var t in e)e.hasOwnProperty(t)&&t!=="constructor"&&e[t]!==void 0&&(r[t]=e[t])}function ORt(r,e,t,n){return e&&y5(r,e),t&&y5(r,t),n&&y5(r,n),r}x5.default=ORt});var $K=ft(b5=>{"use strict";Object.defineProperty(b5,"__esModule",{value:!0});var DRt=e2(),PRt=Ml(),kRt=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(S5,"__esModule",{value:!0});var RRt=Fa(),_5=function(r){if(typeof r!="object"||r===null)return r;var e;if(RRt.default(r)){e=[];for(var t=0,n=r.length;t{"use strict";Object.defineProperty(C5,"__esModule",{value:!0});function NRt(r,e,t){var n;return function(){var i=this,a=arguments,o=function(){n=null,t||r.apply(i,a)},s=t&&!n;clearTimeout(n),n=setTimeout(o,e),s&&r.apply(i,a)}}C5.default=NRt});var E5=ft(w5=>{"use strict";Object.defineProperty(w5,"__esModule",{value:!0});var FRt=Ml();w5.default=function(r,e){if(!FRt.default(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i{"use strict";Object.defineProperty(A5,"__esModule",{value:!0});var BRt=Fa(),tZ=hb(),GRt=5;function eZ(r,e,t,n){t=t||0,n=n||GRt;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];a!==null&&tZ.default(a)?(tZ.default(r[i])||(r[i]={}),t{"use strict";Object.defineProperty(T5,"__esModule",{value:!0});var M5=e2(),URt=Ml(),jRt=function(r,e,t,n){URt.default(e)||(t=e,e=r,r=function(){});var i=Object.create?function(o,s){return Object.create(o,{constructor:{value:s}})}:function(o,s){function l(){}l.prototype=o;var u=new l;return u.constructor=s,u},a=i(e.prototype,r);return r.prototype=M5.default(a,r.prototype),r.superclass=i(e.prototype,e),M5.default(a,t),M5.default(r,n),r};T5.default=jRt});var iZ=ft(I5=>{"use strict";Object.defineProperty(I5,"__esModule",{value:!0});var WRt=Al(),VRt=function(r,e){if(!WRt.default(r))return-1;var t=Array.prototype.indexOf;if(t)return t.call(r,e);for(var n=-1,i=0;i{"use strict";Object.defineProperty(L5,"__esModule",{value:!0});var HRt=tp(),YRt=Al(),XRt=i5(),qRt=h5(),KRt=Object.prototype.hasOwnProperty;function ZRt(r){if(HRt.default(r))return!0;if(YRt.default(r))return!r.length;var e=XRt.default(r);if(e==="Map"||e==="Set")return!r.size;if(qRt.default(r))return!Object.keys(r).length;for(var t in r)if(KRt.call(r,t))return!1;return!0}L5.default=ZRt});var P5=ft(D5=>{"use strict";Object.defineProperty(D5,"__esModule",{value:!0});var oZ=JI(),sZ=Al(),lZ=Jc(),O5=function(r,e){if(r===e)return!0;if(!r||!e||lZ.default(r)||lZ.default(e))return!1;if(sZ.default(r)||sZ.default(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n{"use strict";Object.defineProperty(k5,"__esModule",{value:!0});var $Rt=Ml(),QRt=P5();k5.default=function(r,e,t){return $Rt.default(t)?!!t(r,e):QRt.default(r,e)}});var fZ=ft(R5=>{"use strict";Object.defineProperty(R5,"__esModule",{value:!0});var JRt=Al(),tNt=function(r,e){if(!JRt.default(r))return r;for(var t=[],n=0;n{"use strict";Object.defineProperty(N5,"__esModule",{value:!0});var eNt=tp(),rNt=xw(),nNt=function(r){return r};N5.default=function(r,e){e===void 0&&(e=nNt);var t={};return rNt.default(r)&&!eNt.default(r)&&Object.keys(r).forEach(function(n){t[n]=e(r[n],n)}),t}});var hZ=ft(F5=>{"use strict";Object.defineProperty(F5,"__esModule",{value:!0});var iNt=Jc();F5.default=function(r,e,t){for(var n=0,i=iNt.default(e)?e.split("."):e;r&&n{"use strict";Object.defineProperty(B5,"__esModule",{value:!0});var aNt=xw(),oNt=Jc(),sNt=th();B5.default=function(r,e,t){var n=r,i=oNt.default(e)?e.split("."):e;return i.forEach(function(a,o){o{"use strict";Object.defineProperty(G5,"__esModule",{value:!0});var lNt=My(),uNt=hb(),fNt=Object.prototype.hasOwnProperty;G5.default=function(r,e){if(r===null||!uNt.default(r))return{};var t={};return lNt.default(e,function(n){fNt.call(r,n)&&(t[n]=r[n])}),t}});var vZ=ft(z5=>{"use strict";Object.defineProperty(z5,"__esModule",{value:!0});var cNt=oG();z5.default=function(r,e){return cNt.default(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})}});var mZ=ft(U5=>{"use strict";Object.defineProperty(U5,"__esModule",{value:!0});U5.default=function(r,e,t){var n,i,a,o,s=0;t||(t={});var l=function(){s=t.leading===!1?0:Date.now(),n=null,o=r.apply(i,a),n||(i=a=null)},u=function(){var f=Date.now();!s&&t.leading===!1&&(s=f);var c=e-(f-s);return i=this,a=arguments,c<=0||c>e?(n&&(clearTimeout(n),n=null),s=f,o=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,c)),o};return u.cancel=function(){clearTimeout(n),s=0,n=i=a=null},u}});var gZ=ft(j5=>{"use strict";Object.defineProperty(j5,"__esModule",{value:!0});var hNt=Al();j5.default=function(r){return hNt.default(r)?Array.prototype.slice.call(r):[]}});var yZ=ft(W5=>{"use strict";Object.defineProperty(W5,"__esModule",{value:!0});var r2={};W5.default=function(r){return r=r||"g",r2[r]?r2[r]+=1:r2[r]=1,r+r2[r]}});var xZ=ft(V5=>{"use strict";Object.defineProperty(V5,"__esModule",{value:!0});V5.default=function(){}});var bZ=ft(H5=>{"use strict";Object.defineProperty(H5,"__esModule",{value:!0});H5.default=function(r){return r}});var _Z=ft(Y5=>{"use strict";Object.defineProperty(Y5,"__esModule",{value:!0});var dNt=tp(),pNt=Al();function vNt(r){return dNt.default(r)?0:pNt.default(r)?r.length:Object.keys(r).length}Y5.default=vNt});var q5=ft(X5=>{"use strict";Object.defineProperty(X5,"__esModule",{value:!0});var mNt=yw(),gNt=t2(),yNt=E5(),xNt=Jc(),n2;X5.default=yNt.default(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,o=e.fontVariant;return n2||(n2=document.createElement("canvas").getContext("2d")),n2.font=[a,o,i,t+"px",n].join(" "),n2.measureText(xNt.default(r)?r:"").width},function(r,e){return e===void 0&&(e={}),mNt.__spreadArrays([r],gNt.default(e)).join("")})});var SZ=ft(K5=>{"use strict";Object.defineProperty(K5,"__esModule",{value:!0});var bNt=Jc(),_Nt=Ty(),i2=q5();K5.default=function(r,e,t,n){n===void 0&&(n="...");var i=16,a=i2.default(n,t),o=bNt.default(r)?r:_Nt.default(r),s=e,l=[],u,f;if(i2.default(r,t)<=e)return r;for(;u=o.substr(0,i),f=i2.default(u,t),!(f+a>s&&f>s);)if(l.push(u),s-=f,o=o.substr(i),!o)return l.join("");for(;u=o.substr(0,1),f=i2.default(u,t),!(f+a>s);)if(l.push(u),s-=f,o=o.substr(1),!o)return l.join("");return""+l.join("")+n}});var CZ=ft(Z5=>{"use strict";Object.defineProperty(Z5,"__esModule",{value:!0});var SNt=function(){function r(){this.map={}}return r.prototype.has=function(e){return this.map[e]!==void 0},r.prototype.get=function(e,t){var n=this.map[e];return n===void 0?t:n},r.prototype.set=function(e,t){this.map[e]=t},r.prototype.clear=function(){this.map={}},r.prototype.delete=function(e){delete this.map[e]},r.prototype.size=function(){return Object.keys(this.map).length},r}();Z5.default=SNt});var q=ft(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});var wZ=QI();Object.defineProperty(Ee,"contains",{enumerable:!0,get:function(){return wZ.default}});Object.defineProperty(Ee,"includes",{enumerable:!0,get:function(){return wZ.default}});var CNt=Hq();Object.defineProperty(Ee,"difference",{enumerable:!0,get:function(){return CNt.default}});var wNt=Yq();Object.defineProperty(Ee,"find",{enumerable:!0,get:function(){return wNt.default}});var ENt=Xq();Object.defineProperty(Ee,"findIndex",{enumerable:!0,get:function(){return ENt.default}});var ANt=qq();Object.defineProperty(Ee,"firstValue",{enumerable:!0,get:function(){return ANt.default}});var MNt=Kq();Object.defineProperty(Ee,"flatten",{enumerable:!0,get:function(){return MNt.default}});var TNt=$q();Object.defineProperty(Ee,"flattenDeep",{enumerable:!0,get:function(){return TNt.default}});var INt=Qq();Object.defineProperty(Ee,"getRange",{enumerable:!0,get:function(){return INt.default}});var LNt=tK();Object.defineProperty(Ee,"pull",{enumerable:!0,get:function(){return LNt.default}});var ONt=iG();Object.defineProperty(Ee,"pullAt",{enumerable:!0,get:function(){return ONt.default}});var DNt=oG();Object.defineProperty(Ee,"reduce",{enumerable:!0,get:function(){return DNt.default}});var PNt=eK();Object.defineProperty(Ee,"remove",{enumerable:!0,get:function(){return PNt.default}});var kNt=rK();Object.defineProperty(Ee,"sortBy",{enumerable:!0,get:function(){return kNt.default}});var RNt=nK();Object.defineProperty(Ee,"union",{enumerable:!0,get:function(){return RNt.default}});var NNt=cG();Object.defineProperty(Ee,"uniq",{enumerable:!0,get:function(){return NNt.default}});var FNt=iK();Object.defineProperty(Ee,"valuesOfKey",{enumerable:!0,get:function(){return FNt.default}});var BNt=aK();Object.defineProperty(Ee,"head",{enumerable:!0,get:function(){return BNt.default}});var GNt=oK();Object.defineProperty(Ee,"last",{enumerable:!0,get:function(){return GNt.default}});var zNt=sK();Object.defineProperty(Ee,"startsWith",{enumerable:!0,get:function(){return zNt.default}});var UNt=lK();Object.defineProperty(Ee,"endsWith",{enumerable:!0,get:function(){return UNt.default}});var jNt=D3();Object.defineProperty(Ee,"filter",{enumerable:!0,get:function(){return jNt.default}});var WNt=uK();Object.defineProperty(Ee,"every",{enumerable:!0,get:function(){return WNt.default}});var VNt=fK();Object.defineProperty(Ee,"some",{enumerable:!0,get:function(){return VNt.default}});var HNt=cK();Object.defineProperty(Ee,"group",{enumerable:!0,get:function(){return HNt.default}});var YNt=_G();Object.defineProperty(Ee,"groupBy",{enumerable:!0,get:function(){return YNt.default}});var XNt=CG();Object.defineProperty(Ee,"groupToMap",{enumerable:!0,get:function(){return XNt.default}});var qNt=hK();Object.defineProperty(Ee,"getWrapBehavior",{enumerable:!0,get:function(){return qNt.default}});var KNt=dK();Object.defineProperty(Ee,"wrapBehavior",{enumerable:!0,get:function(){return KNt.default}});var ZNt=vK();Object.defineProperty(Ee,"number2color",{enumerable:!0,get:function(){return ZNt.default}});var $Nt=mK();Object.defineProperty(Ee,"parseRadius",{enumerable:!0,get:function(){return $Nt.default}});var QNt=gK();Object.defineProperty(Ee,"clamp",{enumerable:!0,get:function(){return QNt.default}});var JNt=yK();Object.defineProperty(Ee,"fixedBase",{enumerable:!0,get:function(){return JNt.default}});var tFt=xK();Object.defineProperty(Ee,"isDecimal",{enumerable:!0,get:function(){return tFt.default}});var eFt=bK();Object.defineProperty(Ee,"isEven",{enumerable:!0,get:function(){return eFt.default}});var rFt=_K();Object.defineProperty(Ee,"isInteger",{enumerable:!0,get:function(){return rFt.default}});var nFt=SK();Object.defineProperty(Ee,"isNegative",{enumerable:!0,get:function(){return nFt.default}});var iFt=CK();Object.defineProperty(Ee,"isNumberEqual",{enumerable:!0,get:function(){return iFt.default}});var aFt=wK();Object.defineProperty(Ee,"isOdd",{enumerable:!0,get:function(){return aFt.default}});var oFt=EK();Object.defineProperty(Ee,"isPositive",{enumerable:!0,get:function(){return oFt.default}});var sFt=Q3();Object.defineProperty(Ee,"max",{enumerable:!0,get:function(){return sFt.default}});var lFt=AK();Object.defineProperty(Ee,"maxBy",{enumerable:!0,get:function(){return lFt.default}});var uFt=tG();Object.defineProperty(Ee,"min",{enumerable:!0,get:function(){return uFt.default}});var fFt=MK();Object.defineProperty(Ee,"minBy",{enumerable:!0,get:function(){return fFt.default}});var cFt=TK();Object.defineProperty(Ee,"mod",{enumerable:!0,get:function(){return cFt.default}});var hFt=IK();Object.defineProperty(Ee,"toDegree",{enumerable:!0,get:function(){return hFt.default}});var dFt=LK();Object.defineProperty(Ee,"toInteger",{enumerable:!0,get:function(){return dFt.default}});var pFt=OK();Object.defineProperty(Ee,"toRadian",{enumerable:!0,get:function(){return pFt.default}});var vFt=DK();Object.defineProperty(Ee,"forIn",{enumerable:!0,get:function(){return vFt.default}});var mFt=XG();Object.defineProperty(Ee,"has",{enumerable:!0,get:function(){return mFt.default}});var gFt=PK();Object.defineProperty(Ee,"hasKey",{enumerable:!0,get:function(){return gFt.default}});var yFt=kK();Object.defineProperty(Ee,"hasValue",{enumerable:!0,get:function(){return yFt.default}});var xFt=U3();Object.defineProperty(Ee,"keys",{enumerable:!0,get:function(){return xFt.default}});var bFt=W3();Object.defineProperty(Ee,"isMatch",{enumerable:!0,get:function(){return bFt.default}});var _Ft=t2();Object.defineProperty(Ee,"values",{enumerable:!0,get:function(){return _Ft.default}});var SFt=RK();Object.defineProperty(Ee,"lowerCase",{enumerable:!0,get:function(){return SFt.default}});var CFt=NK();Object.defineProperty(Ee,"lowerFirst",{enumerable:!0,get:function(){return CFt.default}});var wFt=FK();Object.defineProperty(Ee,"substitute",{enumerable:!0,get:function(){return wFt.default}});var EFt=BK();Object.defineProperty(Ee,"upperCase",{enumerable:!0,get:function(){return EFt.default}});var AFt=GK();Object.defineProperty(Ee,"upperFirst",{enumerable:!0,get:function(){return AFt.default}});var MFt=i5();Object.defineProperty(Ee,"getType",{enumerable:!0,get:function(){return MFt.default}});var TFt=zK();Object.defineProperty(Ee,"isArguments",{enumerable:!0,get:function(){return TFt.default}});var IFt=Fa();Object.defineProperty(Ee,"isArray",{enumerable:!0,get:function(){return IFt.default}});var LFt=Al();Object.defineProperty(Ee,"isArrayLike",{enumerable:!0,get:function(){return LFt.default}});var OFt=UK();Object.defineProperty(Ee,"isBoolean",{enumerable:!0,get:function(){return OFt.default}});var DFt=jK();Object.defineProperty(Ee,"isDate",{enumerable:!0,get:function(){return DFt.default}});var PFt=WK();Object.defineProperty(Ee,"isError",{enumerable:!0,get:function(){return PFt.default}});var kFt=Ml();Object.defineProperty(Ee,"isFunction",{enumerable:!0,get:function(){return kFt.default}});var RFt=VK();Object.defineProperty(Ee,"isFinite",{enumerable:!0,get:function(){return RFt.default}});var NFt=tp();Object.defineProperty(Ee,"isNil",{enumerable:!0,get:function(){return NFt.default}});var FFt=HK();Object.defineProperty(Ee,"isNull",{enumerable:!0,get:function(){return FFt.default}});var BFt=th();Object.defineProperty(Ee,"isNumber",{enumerable:!0,get:function(){return BFt.default}});var GFt=xw();Object.defineProperty(Ee,"isObject",{enumerable:!0,get:function(){return GFt.default}});var zFt=JI();Object.defineProperty(Ee,"isObjectLike",{enumerable:!0,get:function(){return zFt.default}});var UFt=hb();Object.defineProperty(Ee,"isPlainObject",{enumerable:!0,get:function(){return UFt.default}});var jFt=h5();Object.defineProperty(Ee,"isPrototype",{enumerable:!0,get:function(){return jFt.default}});var WFt=YK();Object.defineProperty(Ee,"isRegExp",{enumerable:!0,get:function(){return WFt.default}});var VFt=Jc();Object.defineProperty(Ee,"isString",{enumerable:!0,get:function(){return VFt.default}});var HFt=Hu();Object.defineProperty(Ee,"isType",{enumerable:!0,get:function(){return HFt.default}});var YFt=XK();Object.defineProperty(Ee,"isUndefined",{enumerable:!0,get:function(){return YFt.default}});var XFt=qK();Object.defineProperty(Ee,"isElement",{enumerable:!0,get:function(){return XFt.default}});var qFt=KK();Object.defineProperty(Ee,"requestAnimationFrame",{enumerable:!0,get:function(){return qFt.default}});var KFt=ZK();Object.defineProperty(Ee,"clearAnimationFrame",{enumerable:!0,get:function(){return KFt.default}});var ZFt=$K();Object.defineProperty(Ee,"augment",{enumerable:!0,get:function(){return ZFt.default}});var $Ft=QK();Object.defineProperty(Ee,"clone",{enumerable:!0,get:function(){return $Ft.default}});var QFt=JK();Object.defineProperty(Ee,"debounce",{enumerable:!0,get:function(){return QFt.default}});var JFt=E5();Object.defineProperty(Ee,"memoize",{enumerable:!0,get:function(){return JFt.default}});var tBt=rZ();Object.defineProperty(Ee,"deepMix",{enumerable:!0,get:function(){return tBt.default}});var eBt=My();Object.defineProperty(Ee,"each",{enumerable:!0,get:function(){return eBt.default}});var rBt=nZ();Object.defineProperty(Ee,"extend",{enumerable:!0,get:function(){return rBt.default}});var nBt=iZ();Object.defineProperty(Ee,"indexOf",{enumerable:!0,get:function(){return nBt.default}});var iBt=aZ();Object.defineProperty(Ee,"isEmpty",{enumerable:!0,get:function(){return iBt.default}});var aBt=P5();Object.defineProperty(Ee,"isEqual",{enumerable:!0,get:function(){return aBt.default}});var oBt=uZ();Object.defineProperty(Ee,"isEqualWith",{enumerable:!0,get:function(){return oBt.default}});var sBt=fZ();Object.defineProperty(Ee,"map",{enumerable:!0,get:function(){return sBt.default}});var lBt=cZ();Object.defineProperty(Ee,"mapValues",{enumerable:!0,get:function(){return lBt.default}});var EZ=e2();Object.defineProperty(Ee,"mix",{enumerable:!0,get:function(){return EZ.default}});Object.defineProperty(Ee,"assign",{enumerable:!0,get:function(){return EZ.default}});var uBt=hZ();Object.defineProperty(Ee,"get",{enumerable:!0,get:function(){return uBt.default}});var fBt=dZ();Object.defineProperty(Ee,"set",{enumerable:!0,get:function(){return fBt.default}});var cBt=pZ();Object.defineProperty(Ee,"pick",{enumerable:!0,get:function(){return cBt.default}});var hBt=vZ();Object.defineProperty(Ee,"omit",{enumerable:!0,get:function(){return hBt.default}});var dBt=mZ();Object.defineProperty(Ee,"throttle",{enumerable:!0,get:function(){return dBt.default}});var pBt=gZ();Object.defineProperty(Ee,"toArray",{enumerable:!0,get:function(){return pBt.default}});var vBt=Ty();Object.defineProperty(Ee,"toString",{enumerable:!0,get:function(){return vBt.default}});var mBt=yZ();Object.defineProperty(Ee,"uniqueId",{enumerable:!0,get:function(){return mBt.default}});var gBt=xZ();Object.defineProperty(Ee,"noop",{enumerable:!0,get:function(){return gBt.default}});var yBt=bZ();Object.defineProperty(Ee,"identity",{enumerable:!0,get:function(){return yBt.default}});var xBt=_Z();Object.defineProperty(Ee,"size",{enumerable:!0,get:function(){return xBt.default}});var bBt=q5();Object.defineProperty(Ee,"measureTextWidth",{enumerable:!0,get:function(){return bBt.default}});var _Bt=SZ();Object.defineProperty(Ee,"getEllipsisText",{enumerable:!0,get:function(){return _Bt.default}});var SBt=CZ();Object.defineProperty(Ee,"Cache",{enumerable:!0,get:function(){return SBt.default}})});var OJ=ft((eCe,Y2)=>{var cJ,hJ,dJ,pJ,vJ,mJ,gJ,yJ,xJ,H2,xz,bJ,_J,Ab,SJ,CJ,wJ,EJ,AJ,MJ,TJ,IJ,LJ;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof Y2=="object"&&typeof Y2.exports=="object"?r(t(e,t(Y2.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])};cJ=function(t,n){e(t,n);function i(){this.constructor=t}t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},hJ=Object.assign||function(t){for(var n,i=1,a=arguments.length;i=0;u--)(l=t[u])&&(s=(o<3?l(s):o>3?l(n,i,s):l(n,i))||s);return o>3&&s&&Object.defineProperty(n,i,s),s},vJ=function(t,n){return function(i,a){n(i,a,t)}},mJ=function(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)},gJ=function(t,n,i,a){function o(s){return s instanceof i?s:new i(function(l){l(s)})}return new(i||(i=Promise))(function(s,l){function u(h){try{c(a.next(h))}catch(d){l(d)}}function f(h){try{c(a.throw(h))}catch(d){l(d)}}function c(h){h.done?s(h.value):o(h.value).then(u,f)}c((a=a.apply(t,n||[])).next())})},yJ=function(t,n){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,o,s,l;return l={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function u(c){return function(h){return f([c,h])}}function f(c){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,o&&(s=c[0]&2?o.return:c[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,c[1])).done)return s;switch(o=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(s=i.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},xz=function(t,n){var i=typeof Symbol=="function"&&t[Symbol.iterator];if(!i)return t;var a=i.call(t),o,s=[],l;try{for(;(n===void 0||n-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){l={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return s},bJ=function(){for(var t=[],n=0;n1||u(p,v)})})}function u(p,v){try{f(a[p](v))}catch(m){d(s[0][3],m)}}function f(p){p.value instanceof Ab?Promise.resolve(p.value.v).then(c,h):d(s[0][2],p)}function c(p){u("next",p)}function h(p){u("throw",p)}function d(p,v){p(v),s.shift(),s.length&&u(s[0][0],s[0][1])}},CJ=function(t){var n,i;return n={},a("next"),a("throw",function(o){throw o}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(o,s){n[o]=t[o]?function(l){return(i=!i)?{value:Ab(t[o](l)),done:o==="return"}:s?s(l):l}:s}},wJ=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],i;return n?n.call(t):(t=typeof H2=="function"?H2(t):t[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(s){i[s]=t[s]&&function(l){return new Promise(function(u,f){l=t[s](l),o(u,f,l.done,l.value)})}}function o(s,l,u,f){Promise.resolve(f).then(function(c){s({value:c,done:u})},l)}},EJ=function(t,n){return Object.defineProperty?Object.defineProperty(t,"raw",{value:n}):t.raw=n,t},AJ=function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var i in t)Object.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n.default=t,n},MJ=function(t){return t&&t.__esModule?t:{default:t}},TJ=function(t,n){if(!n.has(t))throw new TypeError("attempted to get private field on non-instance");return n.get(t)},IJ=function(t,n,i){if(!n.has(t))throw new TypeError("attempted to set private field on non-instance");return n.set(t,i),i},r("__extends",cJ),r("__assign",hJ),r("__rest",dJ),r("__decorate",pJ),r("__param",vJ),r("__metadata",mJ),r("__awaiter",gJ),r("__generator",yJ),r("__exportStar",xJ),r("__createBinding",LJ),r("__values",H2),r("__read",xz),r("__spread",bJ),r("__spreadArrays",_J),r("__await",Ab),r("__asyncGenerator",SJ),r("__asyncDelegator",CJ),r("__asyncValues",wJ),r("__makeTemplateObject",EJ),r("__importStar",AJ),r("__importDefault",MJ),r("__classPrivateFieldGet",TJ),r("__classPrivateFieldSet",IJ)})});var itt=ft((XCe,q2)=>{var BJ,GJ,zJ,UJ,jJ,WJ,VJ,HJ,YJ,X2,_z,XJ,qJ,Tb,KJ,ZJ,$J,QJ,JJ,ttt,ett,rtt,ntt;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof q2=="object"&&typeof q2.exports=="object"?r(t(e,t(q2.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])};BJ=function(t,n){e(t,n);function i(){this.constructor=t}t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},GJ=Object.assign||function(t){for(var n,i=1,a=arguments.length;i=0;u--)(l=t[u])&&(s=(o<3?l(s):o>3?l(n,i,s):l(n,i))||s);return o>3&&s&&Object.defineProperty(n,i,s),s},jJ=function(t,n){return function(i,a){n(i,a,t)}},WJ=function(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)},VJ=function(t,n,i,a){function o(s){return s instanceof i?s:new i(function(l){l(s)})}return new(i||(i=Promise))(function(s,l){function u(h){try{c(a.next(h))}catch(d){l(d)}}function f(h){try{c(a.throw(h))}catch(d){l(d)}}function c(h){h.done?s(h.value):o(h.value).then(u,f)}c((a=a.apply(t,n||[])).next())})},HJ=function(t,n){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,o,s,l;return l={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function u(c){return function(h){return f([c,h])}}function f(c){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,o&&(s=c[0]&2?o.return:c[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,c[1])).done)return s;switch(o=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(s=i.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},_z=function(t,n){var i=typeof Symbol=="function"&&t[Symbol.iterator];if(!i)return t;var a=i.call(t),o,s=[],l;try{for(;(n===void 0||n-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){l={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return s},XJ=function(){for(var t=[],n=0;n1||u(p,v)})})}function u(p,v){try{f(a[p](v))}catch(m){d(s[0][3],m)}}function f(p){p.value instanceof Tb?Promise.resolve(p.value.v).then(c,h):d(s[0][2],p)}function c(p){u("next",p)}function h(p){u("throw",p)}function d(p,v){p(v),s.shift(),s.length&&u(s[0][0],s[0][1])}},ZJ=function(t){var n,i;return n={},a("next"),a("throw",function(o){throw o}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(o,s){n[o]=t[o]?function(l){return(i=!i)?{value:Tb(t[o](l)),done:o==="return"}:s?s(l):l}:s}},$J=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],i;return n?n.call(t):(t=typeof X2=="function"?X2(t):t[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(s){i[s]=t[s]&&function(l){return new Promise(function(u,f){l=t[s](l),o(u,f,l.done,l.value)})}}function o(s,l,u,f){Promise.resolve(f).then(function(c){s({value:c,done:u})},l)}},QJ=function(t,n){return Object.defineProperty?Object.defineProperty(t,"raw",{value:n}):t.raw=n,t},JJ=function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var i in t)Object.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n.default=t,n},ttt=function(t){return t&&t.__esModule?t:{default:t}},ett=function(t,n){if(!n.has(t))throw new TypeError("attempted to get private field on non-instance");return n.get(t)},rtt=function(t,n,i){if(!n.has(t))throw new TypeError("attempted to set private field on non-instance");return n.set(t,i),i},r("__extends",BJ),r("__assign",GJ),r("__rest",zJ),r("__decorate",UJ),r("__param",jJ),r("__metadata",WJ),r("__awaiter",VJ),r("__generator",HJ),r("__exportStar",YJ),r("__createBinding",ntt),r("__values",X2),r("__read",_z),r("__spread",XJ),r("__spreadArrays",qJ),r("__await",Tb),r("__asyncGenerator",KJ),r("__asyncDelegator",ZJ),r("__asyncValues",$J),r("__makeTemplateObject",QJ),r("__importStar",JJ),r("__importDefault",ttt),r("__classPrivateFieldGet",ett),r("__classPrivateFieldSet",rtt)})});var sst=ft(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});fD.default=void 0;var HHt=1,YHt=function(){return"".concat(HHt++)};fD.default=YHt});var yj=ft(cD=>{"use strict";Object.defineProperty(cD,"__esModule",{value:!0});cD.default=void 0;var XHt=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,n=null;return function(){for(var i=this,a=arguments.length,o=new Array(a),s=0;s{"use strict";Object.defineProperty(Fm,"__esModule",{value:!0});Fm.SensorTabIndex=Fm.SensorClassName=Fm.SizeSensorId=void 0;var qHt="size-sensor-id";Fm.SizeSensorId=qHt;var KHt="size-sensor-object";Fm.SensorClassName=KHt;var ZHt="-1";Fm.SensorTabIndex=ZHt});var ust=ft(hD=>{"use strict";Object.defineProperty(hD,"__esModule",{value:!0});hD.createSensor=void 0;var $Ht=QHt(yj()),lst=xj();function QHt(r){return r&&r.__esModule?r:{default:r}}var JHt=function(e){var t=void 0,n=[],i=function(){getComputedStyle(e).position==="static"&&(e.style.position="relative");var f=document.createElement("object");return f.onload=function(){f.contentDocument.defaultView.addEventListener("resize",a),a()},f.style.display="block",f.style.position="absolute",f.style.top="0",f.style.left="0",f.style.height="100%",f.style.width="100%",f.style.overflow="hidden",f.style.pointerEvents="none",f.style.zIndex="-1",f.style.opacity="0",f.setAttribute("class",lst.SensorClassName),f.setAttribute("tabindex",lst.SensorTabIndex),f.type="text/html",e.appendChild(f),f.data="about:blank",f},a=(0,$Ht.default)(function(){n.forEach(function(u){u(e)})}),o=function(f){t||(t=i()),n.indexOf(f)===-1&&n.push(f)},s=function(){t&&t.parentNode&&(t.contentDocument&&t.contentDocument.defaultView.removeEventListener("resize",a),t.parentNode.removeChild(t),t=void 0,n=[])},l=function(f){var c=n.indexOf(f);c!==-1&&n.splice(c,1),n.length===0&&t&&s()};return{element:e,bind:o,destroy:s,unbind:l}};hD.createSensor=JHt});var fst=ft(dD=>{"use strict";Object.defineProperty(dD,"__esModule",{value:!0});dD.createSensor=void 0;var tYt=eYt(yj());function eYt(r){return r&&r.__esModule?r:{default:r}}var rYt=function(e){var t=void 0,n=[],i=(0,tYt.default)(function(){n.forEach(function(u){u(e)})}),a=function(){var f=new ResizeObserver(i);return f.observe(e),i(),f},o=function(f){t||(t=a()),n.indexOf(f)===-1&&n.push(f)},s=function(){t.disconnect(),n=[],t=void 0},l=function(f){var c=n.indexOf(f);c!==-1&&n.splice(c,1),n.length===0&&t&&s()};return{element:e,bind:o,destroy:s,unbind:l}};dD.createSensor=rYt});var cst=ft(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});pD.createSensor=void 0;var nYt=ust(),iYt=fst(),aYt=typeof ResizeObserver!="undefined"?iYt.createSensor:nYt.createSensor;pD.createSensor=aYt});var hst=ft(N1=>{"use strict";Object.defineProperty(N1,"__esModule",{value:!0});N1.removeSensor=N1.getSensor=void 0;var oYt=lYt(sst()),sYt=cst(),vD=xj();function lYt(r){return r&&r.__esModule?r:{default:r}}var rA={},uYt=function(e){var t=e.getAttribute(vD.SizeSensorId);if(t&&rA[t])return rA[t];var n=(0,oYt.default)();e.setAttribute(vD.SizeSensorId,n);var i=(0,sYt.createSensor)(e);return rA[n]=i,i};N1.getSensor=uYt;var fYt=function(e){var t=e.element.getAttribute(vD.SizeSensorId);e.element.removeAttribute(vD.SizeSensorId),e.destroy(),t&&rA[t]&&delete rA[t]};N1.removeSensor=fYt});var dst=ft(Bm=>{"use strict";Object.defineProperty(Bm,"__esModule",{value:!0});Bm.ver=Bm.clear=Bm.bind=void 0;var bj=hst(),cYt=function(e,t){var n=(0,bj.getSensor)(e);return n.bind(t),function(){n.unbind(t)}};Bm.bind=cYt;var hYt=function(e){var t=(0,bj.getSensor)(e);(0,bj.removeSensor)(t)};Bm.clear=hYt;var dYt="1.0.1";Bm.ver=dYt});var Zst=ft((RD,Kst)=>{(function(r,e){typeof RD=="object"&&typeof Kst!="undefined"?e(RD):typeof define=="function"&&define.amd?define(["exports"],e):(r=r||self,e(r.d3={}))})(RD,function(r){"use strict";function e(M,O){return t(M)||n(M,O)||i()}function t(M){if(Array.isArray(M))return M}function n(M,O){var F=[],k=!0,G=!1,D=void 0;try{for(var N=M[Symbol.iterator](),z;!(k=(z=N.next()).done)&&(F.push(z.value),!(O&&F.length===O));k=!0);}catch(j){G=!0,D=j}finally{try{!k&&N.return!=null&&N.return()}finally{if(G)throw D}}return F}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function a(M,O,F,k){M=M.filter(function(st,_t){var dt=O(st,_t),vt=F(st,_t);return dt!=null&&isFinite(dt)&&vt!=null&&isFinite(vt)}),k&&M.sort(function(st,_t){return O(st)-O(_t)});for(var G=M.length,D=new Float64Array(G),N=new Float64Array(G),z=0,j=0,W,J,et,lt=0;ltG&&(J.splice($+1,0,vt),lt=!0)}return lt}}function c(M,O,F,k){var G=k-M*M,D=Math.abs(G)<1e-24?0:(F-M*O)/G,N=O-D*M;return[N,D]}function h(){var M=function(D){return D[0]},O=function(D){return D[1]},F;function k(G){var D=0,N=0,z=0,j=0,W=0,J=0,et=F?+F[0]:1/0,lt=F?+F[1]:-1/0;o(G,M,O,function(Ut,$t){var Y=Math.log($t),it=Ut*$t;++D,N+=($t-N)/D,j+=(it-j)/D,J+=(Ut*it-J)/D,z+=($t*Y-z)/D,W+=(it*Y-W)/D,F||(Utlt&&(lt=Ut))});var $=c(j/N,z/N,W/N,J/N),st=e($,2),_t=st[0],dt=st[1];_t=Math.exp(_t);var vt=function($t){return _t*Math.exp(dt*$t)},Tt=f(et,lt,vt);return Tt.a=_t,Tt.b=dt,Tt.predict=vt,Tt.rSquared=s(G,M,O,N,vt),Tt}return k.domain=function(G){return arguments.length?(F=G,k):F},k.x=function(G){return arguments.length?(M=G,k):M},k.y=function(G){return arguments.length?(O=G,k):O},k}function d(){var M=function(D){return D[0]},O=function(D){return D[1]},F;function k(G){var D=0,N=0,z=0,j=0,W=0,J=F?+F[0]:1/0,et=F?+F[1]:-1/0;o(G,M,O,function(Tt,Ut){++D,N+=(Tt-N)/D,z+=(Ut-z)/D,j+=(Tt*Ut-j)/D,W+=(Tt*Tt-W)/D,F||(Ttet&&(et=Tt))});var lt=c(N,z,j,W),$=e(lt,2),st=$[0],_t=$[1],dt=function(Ut){return _t*Ut+st},vt=[[J,dt(J)],[et,dt(et)]];return vt.a=_t,vt.b=st,vt.predict=dt,vt.rSquared=s(G,M,O,z,dt),vt}return k.domain=function(G){return arguments.length?(F=G,k):F},k.x=function(G){return arguments.length?(M=G,k):M},k.y=function(G){return arguments.length?(O=G,k):O},k}function p(M){M.sort(function(F,k){return F-k});var O=M.length/2;return O%1==0?(M[O-1]+M[O])/2:M[Math.floor(O)]}var v=2,m=1e-12;function g(){var M=function(D){return D[0]},O=function(D){return D[1]},F=.3;function k(G){for(var D=a(G,M,O,!0),N=e(D,4),z=N[0],j=N[1],W=N[2],J=N[3],et=z.length,lt=Math.max(2,~~(F*et)),$=new Float64Array(et),st=new Float64Array(et),_t=new Float64Array(et).fill(1),dt=-1;++dt<=v;){for(var vt=[0,lt-1],Tt=0;Ttz[Y]-Ut?$t:Y,K=0,Rt=0,Xt=0,Zt=0,Ae=0,We=1/Math.abs(z[it]-Ut||1),$e=$t;$e<=Y;++$e){var V=z[$e],Te=j[$e],ne=x(Math.abs(Ut-V)*We)*_t[$e],pt=V*ne;K+=ne,Rt+=pt,Xt+=Te*ne,Zt+=Te*pt,Ae+=V*pt}var Et=c(Rt/K,Xt/K,Zt/K,Ae/K),St=e(Et,2),Wt=St[0],ee=St[1];$[Tt]=Wt+ee*Ut,st[Tt]=Math.abs(j[Tt]-$[Tt]),b(z,Tt+1,vt)}if(dt===v)break;var Ue=p(st);if(Math.abs(Ue)=1?m:(ge=1-ae*ae)*ge}return S(z,$,W,J)}return k.bandwidth=function(G){return arguments.length?(F=G,k):F},k.x=function(G){return arguments.length?(M=G,k):M},k.y=function(G){return arguments.length?(O=G,k):O},k}function x(M){return(M=1-M*M*M)*M*M}function b(M,O,F){var k=M[O],G=F[0],D=F[1]+1;if(!(D>=M.length))for(;O>G&&M[D]-k<=k-M[G];)F[0]=++G,F[1]=D,++D}function S(M,O,F,k){for(var G=M.length,D=[],N=0,z=0,j=[],W;Nlt&&(lt=$t))});var st=c(z,j,W,J),_t=e(st,2),dt=_t[0],vt=_t[1],Tt=function(Y){return vt*Math.log(Y)/$+dt},Ut=f(et,lt,Tt);return Ut.a=vt,Ut.b=dt,Ut.predict=Tt,Ut.rSquared=s(D,M,O,j,Tt),Ut}return G.domain=function(D){return arguments.length?(k=D,G):k},G.x=function(D){return arguments.length?(M=D,G):M},G.y=function(D){return arguments.length?(O=D,G):O},G.base=function(D){return arguments.length?(F=D,G):F},G}function w(){var M=function(D){return D[0]},O=function(D){return D[1]},F;function k(G){var D=a(G,M,O),N=e(D,4),z=N[0],j=N[1],W=N[2],J=N[3],et=z.length,lt=0,$=0,st=0,_t=0,dt=0,vt,Tt,Ut,$t;for(vt=0;vtRt&&(Rt=ne))});var Xt=st-lt*lt,Zt=lt*Xt-$*$,Ae=(dt*lt-_t*$)/Zt,We=(_t*Xt-dt*$)/Zt,$e=-Ae*lt,V=function(pt){return pt=pt-W,Ae*pt*pt+We*pt+$e+J},Te=f(K,Rt,V);return Te.a=Ae,Te.b=We-2*Ae*W,Te.c=$e-We*W+Ae*W*W+J,Te.predict=V,Te.rSquared=s(G,M,O,Y,V),Te}return k.domain=function(G){return arguments.length?(F=G,k):F},k.x=function(G){return arguments.length?(M=G,k):M},k.y=function(G){return arguments.length?(O=G,k):O},k}function A(){var M=function(N){return N[0]},O=function(N){return N[1]},F=3,k;function G(D){if(F===1){var N=d().x(M).y(O).domain(k)(D);return N.coefficients=[N.b,N.a],delete N.a,delete N.b,N}if(F===2){var z=w().x(M).y(O).domain(k)(D);return z.coefficients=[z.c,z.b,z.a],delete z.a,delete z.b,delete z.c,z}var j=a(D,M,O),W=e(j,4),J=W[0],et=W[1],lt=W[2],$=W[3],st=J.length,_t=[],dt=[],vt=F+1,Tt=0,Ut=0,$t=k?+k[0]:1/0,Y=k?+k[1]:-1/0;o(D,M,O,function(V,Te){++Ut,Tt+=(Te-Tt)/Ut,k||(V<$t&&($t=V),V>Y&&(Y=V))});var it,K,Rt,Xt,Zt;for(it=0;it=0;--D)for(z=O[D],j=1,G[D]+=z,N=1;N<=D;++N)j*=(D+1-N)/N,G[D-N]+=z*Math.pow(F,N)*j;return G[0]+=k,G}function P(M){var O=M.length-1,F=[],k,G,D,N,z;for(k=0;kMath.abs(M[k][N])&&(N=G);for(D=k;D=k;D--)M[D][G]-=M[D][k]*M[k][G]/M[k][k]}for(G=O-1;G>=0;--G){for(z=0,D=G+1;Dlt&&(lt=Ut))});var $=c(N,z,j,W),st=e($,2),_t=st[0],dt=st[1];_t=Math.exp(_t);var vt=function($t){return _t*Math.pow($t,dt)},Tt=f(et,lt,vt);return Tt.a=_t,Tt.b=dt,Tt.predict=vt,Tt.rSquared=s(G,M,O,J,vt),Tt}return k.domain=function(G){return arguments.length?(F=G,k):F},k.x=function(G){return arguments.length?(M=G,k):M},k.y=function(G){return arguments.length?(O=G,k):O},k}r.regressionExp=h,r.regressionLinear=d,r.regressionLoess=g,r.regressionLog=C,r.regressionPoly=A,r.regressionPow=L,r.regressionQuad=w,Object.defineProperty(r,"__esModule",{value:!0})})});var Ilt=ft((her,qm)=>{"use strict";var qD=qm.exports;qm.exports.isNumber=function(r){return typeof r=="number"};qm.exports.findMin=function(r){if(r.length===0)return 1/0;for(var e=r[0],t=1;t{"use strict";var Llt=50,Olt=2,L9t=Math.log(2),Dlt=Km.exports,vc=Ilt();function O9t(r){return 1-Math.abs(r)}Km.exports.getUnifiedMinMax=function(r,e){return Dlt.getUnifiedMinMaxMulti([r],e)};Km.exports.getUnifiedMinMaxMulti=function(r,e){e=e||{};var t=!1,n=!1,i=vc.isNumber(e.width)?e.width:Olt,a=vc.isNumber(e.size)?e.size:Llt,o=vc.isNumber(e.min)?e.min:(t=!0,vc.findMinMulti(r)),s=vc.isNumber(e.max)?e.max:(n=!0,vc.findMaxMulti(r)),l=s-o,u=l/(a-1);return t&&(o=o-2*i*u),n&&(s=s+2*i*u),{min:o,max:s}};Km.exports.create=function(r,e){if(e=e||{},!r||r.length===0)return[];var t=vc.isNumber(e.size)?e.size:Llt,n=vc.isNumber(e.width)?e.width:Olt,i=Dlt.getUnifiedMinMax(r,{size:t,width:n,min:e.min,max:e.max}),a=i.min,o=i.max,s=o-a,l=s/(t-1);if(s===0)return[{x:a,y:1}];for(var u=[],f=0;f=u.length)){var C=Math.max(S-n,0),w=S,A=Math.min(S+n,u.length-1),I=C-(S-n),P=S+n-A,L=h[-n-1+I]||0,M=h[-n-1+P]||0,O=d/(d-L-M);I>0&&(v+=O*(I-1)*p);var F=Math.max(0,S-n+1);vc.inside(0,u.length-1,F)&&(u[F].y+=O*1*p),vc.inside(0,u.length-1,w+1)&&(u[w+1].y-=O*2*p),vc.inside(0,u.length-1,A+1)&&(u[A+1].y+=O*1*p)}});var m=v,g=0,x=0;return u.forEach(function(b){g+=b.y,m+=g,b.y=m,x+=m}),x>0&&u.forEach(function(b){b.y/=x}),u};function D9t(r,e){for(var t={},n=0,i=-e;i<=e;i++)n+=r(i/e),t[i]=n;return t}Km.exports.getExpectedValueFromPdf=function(r){if(!(!r||r.length===0)){var e=0;return r.forEach(function(t){e+=t.x*t.y}),e}};Km.exports.getXWithLeftTailArea=function(r,e){if(!(!r||r.length===0)){for(var t=0,n=0,i=0;i=e));i++);return r[n].x}};Km.exports.getPerplexity=function(r){if(!(!r||r.length===0)){var e=0;return r.forEach(function(t){var n=Math.log(t.y);isFinite(n)&&(e+=t.y*n)}),e=-e/L9t,Math.pow(2,e)}}});var tW=ft((eP,qlt)=>{(function(r,e){typeof eP=="object"&&typeof qlt!="undefined"?e(eP):typeof define=="function"&&define.amd?define(["exports"],e):e(r.fmin=r.fmin||{})})(eP,function(r){"use strict";function e(d,p,v,m){m=m||{};var g=m.maxIterations||100,x=m.tolerance||1e-10,b=d(p),S=d(v),C=v-p;if(b*S>0)throw"Initial bisect points must have opposite signs";if(b===0)return p;if(S===0)return v;for(var w=0;w=0&&(p=A),Math.abs(C)=M[L-1].fx){var $=!1;if(N.fx>lt.fx?(s(z,1+A,D,-A,lt),z.fx=d(z),z.fx=1)break;for(O=1;OS+x*g*C||w>=k)F=g;else{if(Math.abs(I)<=-b*C)return g;I*(F-O)>=0&&(F=O),O=g,k=w}return 0}for(var M=0;M<10;++M){if(s(m.x,1,v.x,g,p),w=m.fx=d(m.x,m.fxprime),I=i(m.fxprime,p),w>S+x*g*C||M&&w>=A)return L(P,g,A);if(Math.abs(I)<=-b*C)return g;if(I>=0)return L(g,P,w);A=w,P=g,g*=2}return g}function f(d,p,v){var m={x:p.slice(),fx:0,fxprime:p.slice()},g={x:p.slice(),fx:0,fxprime:p.slice()},x=p.slice(),b,S,C=1,w;v=v||{},w=v.maxIterations||p.length*20,m.fx=d(m.x,m.fxprime),b=m.fxprime.slice(),o(b,m.fxprime,-1);for(var A=0;A{"use strict";Object.defineProperty(P_,"__esModule",{value:!0});P_.MESSAGE=P_.ALGORITHM=void 0;var PJt={pageRank:"pageRank",breadthFirstSearch:"breadthFirstSearch",connectedComponent:"connectedComponent",depthFirstSearch:"depthFirstSearch",detectCycle:"detectCycle",detectDirectedCycle:"detectDirectedCycle",detectAllCycles:"detectAllCycles",detectAllDirectedCycle:"detectAllDirectedCycle",detectAllUndirectedCycle:"detectAllUndirectedCycle",dijkstra:"dijkstra",findAllPath:"findAllPath",findShortestPath:"findShortestPath",floydWarshall:"floydWarshall",getAdjMatrix:"getAdjMatrix",getDegree:"getDegree",getInDegree:"getInDegree",getNeighbors:"getNeighbors",getOutDegree:"getOutDegree",labelPropagation:"labelPropagation",louvain:"louvain",GADDI:"GADDI",minimumSpanningTree:"minimumSpanningTree",SUCCESS:"SUCCESS",FAILURE:"FAILURE"};P_.ALGORITHM=PJt;var kJt={SUCCESS:"SUCCESS",FAILURE:"FAILURE"};P_.MESSAGE=kJt});var nM=ft(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});kk.default=void 0;var RJt=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];!f&&f!==0||!c&&c!==0||(a[f][c]=1,t||(a[c][f]=1))}),a},NJt=RJt;kk.default=NJt});var bht=ft(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});k_.default=k_.LinkedListNode=void 0;var FJt=function(e,t){return e===t},t8=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}();k_.LinkedListNode=t8;var BJt=function(){function r(e){e===void 0&&(e=FJt),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new t8(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new t8(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var o=this.head;o;){if(a&&a(o.value)||n!==void 0&&this.compare(o.value,n))return o;o=o.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),GJt=BJt;k_.default=GJt});var _ht=ft(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});Rk.default=void 0;var zJt=UJt(bht());function UJt(r){return r&&r.__esModule?r:{default:r}}var jJt=function(){function r(){this.linkedList=new zJt.default}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),WJt=jJt;Rk.default=WJt});var vf=ft(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.uniqueId=qh.getOutEdgesNodeId=qh.getNeighbors=qh.getEdgesByNodeId=void 0;var VJt=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var o=function(u){return u.target===e};return i.filter(o).map(function(l){return l.source})}var s=function(u){return u.source===e?u.target:u.source};return i.map(s)};qh.getNeighbors=VJt;var HJt=function(e,t){return t.filter(function(n){return n.source===e})};qh.getOutEdgesNodeId=HJt;var YJt=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})};qh.getEdgesByNodeId=YJt;var XJt=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};qh.uniqueId=XJt});var Sht=ft(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});Nk.default=void 0;var qJt=ZJt(_ht()),KJt=vf();function ZJt(r){return r&&r.__esModule?r:{default:r}}function $Jt(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next,s=o;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var QJt=function(e,t,n,i){i===void 0&&(i=!0);var a=$Jt(n),o=new qJt.default,s=e.edges,l=s===void 0?[]:s;o.enqueue(t);for(var u="",f=function(){var h=o.dequeue();a.enter({current:h,previous:u}),(0,KJt.getNeighbors)(h,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:u,current:h,next:d})&&o.enqueue(d)}),a.leave({current:h,previous:u}),u=h};!o.isEmpty();)f()},JJt=QJt;Nk.default=JJt});var e8=ft(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});k0.default=tte;k0.detectStrongConnectComponents=k0.detectConnectedComponents=void 0;var Cht=vf(),wht=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l=[],u=function d(p){l.push(p),s[p.id]=!0;for(var v=(0,Cht.getNeighbors)(p.id,a),m=function(b){var S=v[b];if(!s[S]){var C=n.filter(function(w){return w.id===S});C.length>0&&d(C[0])}},g=0;g0;)h.push(l.pop());o.push(h)}}return o};k0.detectConnectedComponents=wht;var Eht=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l={},u={},f=[],c=0,h=function m(g){l[g.id]=c,u[g.id]=c,c+=1,o.push(g),s[g.id]=!0;for(var x=(0,Cht.getNeighbors)(g.id,a,"target").filter(function(A){return n.map(function(I){return I.id}).indexOf(A)>-1}),b=function(I){var P=x[I];if(!l[P]&&l[P]!==0){var L=n.filter(function(M){return M.id===P});L.length>0&&m(L[0]),u[g.id]=Math.min(u[g.id],u[P])}else s[P]&&(u[g.id]=Math.min(u[g.id],l[P]))},S=0;S0;){var w=o.pop();if(s[w.id]=!1,C.push(w),w===g)break}C.length>0&&f.push(C)}},d=0,p=n;d{"use strict";Object.defineProperty(pg,"__esModule",{value:!0});pg.getOutDegree=pg.getInDegree=pg.default=void 0;var iM=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,o=a===void 0?[]:a;return i.forEach(function(s){t[s.id]={degree:0,inDegree:0,outDegree:0}}),o.forEach(function(s){t[s.source].degree++,t[s.source].outDegree++,t[s.target].degree++,t[s.target].inDegree++}),t},ete=iM;pg.default=ete;var rte=function(e,t){var n=iM(e);return n[t]?iM(e)[t].inDegree:0};pg.getInDegree=rte;var nte=function(e,t){var n=iM(e);return n[t]?iM(e)[t].outDegree:0};pg.getOutDegree=nte});var i8=ft(n8=>{"use strict";Object.defineProperty(n8,"__esModule",{value:!0});n8.default=ote;var ite=vf();function ate(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next;return i[o]?!1:(i[o]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}function Aht(r,e,t,n){n.enter({current:e,previous:t});var i=r.edges,a=i===void 0?[]:i;(0,ite.getNeighbors)(e,a,"target").forEach(function(o){n.allowTraversal({previous:t,current:e,next:o})&&Aht(r,o,e,n)}),n.leave({current:e,previous:t})}function ote(r,e,t){Aht(r,e,"",ate(t))}});var Dht=ft(Kh=>{"use strict";function Fk(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fk=function(t){return typeof t}:Fk=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fk(r)}Object.defineProperty(Kh,"__esModule",{value:!0});Kh.detectAllUndirectedCycle=Kh.detectAllDirectedCycle=Kh.detectAllCycles=Kh.default=void 0;var ste=ute(i8()),Mht=lte(e8()),Tht=vf();function Iht(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Iht=function(i){return i?t:e})(r)}function lte(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||Fk(r)!=="object"&&typeof r!="function")return{default:r};var t=Iht(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}function ute(r){return r&&r.__esModule?r:{default:r}}var fte=function(e){var t=null,n=e.nodes,i=n===void 0?[]:n,a={},o={},s={},l={};i.forEach(function(c){o[c.id]=c});for(var u={enter:function(h){var d=h.current,p=h.previous;if(s[d]){t={};for(var v=d,m=p;m!==d;)t[v]=m,v=m,m=a[m];t[v]=m}else s[d]=d,delete o[d],a[d]=p},leave:function(h){var d=h.current;l[d]=d,delete s[d]},allowTraversal:function(h){var d=h.next;return t?!1:!l[d]}};Object.keys(o).length;){var f=Object.keys(o)[0];(0,ste.default)(e,f,u)}return t},Lht=function(e,t,n){var i,a;n===void 0&&(n=!0);for(var o=[],s=(0,Mht.default)(e,!1),l=0,u=s;l0;)for(var m=d.pop(),g=m.id,x=(0,Tht.getNeighbors)(g,e.edges),b=function(w){var A,I=x[w],P=e.nodes.find(function(G){return G.id===I});if(I===g)o.push((A={},A[I]=m,A));else if(!(I in v))p[I]=m,d.push(P),v[I]=new Set([m]);else if(!v[g].has(P)){for(var L=!0,M=[P,m],O=p[g];v[I].size&&!v[I].has(O)&&(M.push(O),O!==p[O.id]);)O=p[O.id];if(M.push(O),t&&n?(L=!1,M.findIndex(function(G){return t.indexOf(G.id)>-1})>-1&&(L=!0)):t&&!n&&M.findIndex(function(G){return t.indexOf(G.id)>-1})>-1&&(L=!1),L){for(var F={},k=1;k0;){var k=F.pop();a.has(k)&&(a.delete(k),o[k.id].forEach(function(G){F.push(G)}),o[k.id].clear())}},c=function M(O,F,k){var G=!1;if(t&&n===!1&&t.indexOf(O.id)>-1)return G;i.push(O),a.add(O);for(var D=k[O.id],N=0;N-1});lt<$.length;lt++){var st=$[lt];st===et.id&&!(n===!1&&t.indexOf(et.id)>-1)?s.push((F={},F[et.id]=et,F)):J[et.id].push(u[st])}}return{component:W,adjList:J,minIdx:G}},b=0;b=b}),C=(0,Mht.detectStrongConnectComponents)({nodes:S,edges:e.edges}).filter(function(M){return M.length>1});if(C.length===0)break;var w=x(C),A=w.minIdx,I=w.adjList,P=w.component;if(P.length>1){P.forEach(function(M){o[M.id]=new Set});var L=l[A];if(t&&n&&t.indexOf(L.id)===-1)return s;c(L,L,I),b=A+1}else break}return s};Kh.detectAllDirectedCycle=Oht;var cte=function(e,t,n,i){return i===void 0&&(i=!0),t?Oht(e,n,i):Lht(e,n,i)};Kh.detectAllCycles=cte;var hte=fte;Kh.default=hte});var Gk=ft(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});Bk.default=void 0;var Pht=yw(),dte=q(),kht=vf(),pte=function(e,t,n){for(var i=1/0,a,o=0;oc[C.id]+O?(c[M]=c[C.id]+O,h[M]=[C.id]):c[M]===c[C.id]+O&&h[M].push(C.id)})},v=0;v{"use strict";Object.defineProperty(R_,"__esModule",{value:!0});R_.findShortestPath=R_.findAllPath=void 0;var gte=yte(Gk()),zk=vf();function yte(r){return r&&r.__esModule?r:{default:r}}var xte=function(e,t,n,i,a){var o=(0,gte.default)(e,t,i,a),s=o.length,l=o.path,u=o.allPath;return{length:s[n],path:l[n],allPath:u[n]}};R_.findShortestPath=xte;var bte=function(e,t,n,i){var a;if(t===n)return[[t]];var o=e.edges,s=o===void 0?[]:o,l=[t],u=(a={},a[t]=!0,a),f=[],c=[],h=i?(0,zk.getNeighbors)(t,s,"target"):(0,zk.getNeighbors)(t,s);for(f.push(h);l.length>0&&f.length>0;){var d=f[f.length-1];if(d.length){var p=d.shift();p&&(l.push(p),u[p]=!0,h=i?(0,zk.getNeighbors)(p,s,"target"):(0,zk.getNeighbors)(p,s),f.push(h.filter(function(g){return!u[g]})))}else{var v=l.pop();u[v]=!1,f.pop();continue}if(l[l.length-1]===n){var m=l.map(function(x){return x});c.push(m);var v=l.pop();u[v]=!1,f.pop()}}return c};R_.findAllPath=bte});var a8=ft(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});Uk.default=void 0;var _te=Ste(nM());function Ste(r){return r&&r.__esModule?r:{default:r}}var Cte=function(e,t){for(var n=(0,_te.default)(e,t),i=[],a=n.length,o=0;oi[o][l]+i[l][s]&&(i[o][s]=i[o][l]+i[l][s]);return i},wte=Cte;Uk.default=wte});var Fht=ft(jk=>{"use strict";Object.defineProperty(jk,"__esModule",{value:!0});jk.default=void 0;var Ete=Mte(nM()),Ate=vf();function Mte(r){return r&&r.__esModule?r:{default:r}}var Tte=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,o=a===void 0?[]:a,s=e.edges,l=s===void 0?[]:s,u={},f={};o.forEach(function(S,C){var w=(0,Ate.uniqueId)();S.clusterId=w,u[w]={id:w,nodes:[S]},f[S.id]={node:S,idx:C}});var c=(0,Ete.default)(e,t),h=[],d={};c.forEach(function(S,C){var w=0,A=o[C].id;d[A]={},S.forEach(function(I,P){if(!!I){w+=I;var L=o[P].id;d[A][L]=I}}),h.push(w)});for(var p=0,v=function(){var C=!1;if(o.forEach(function(w){var A={};Object.keys(d[w.id]).forEach(function(G){var D=d[w.id][G],N=f[G].node,z=N.clusterId;A[z]||(A[z]=0),A[z]+=D});var I=-1/0,P=[];if(Object.keys(A).forEach(function(G){I=0&&P.splice(L,1),P&&P.length){C=!0;var M=u[w.clusterId],O=M.nodes.indexOf(w);M.nodes.splice(O,1);var F=Math.floor(Math.random()*P.length),k=u[P[F]];k.nodes.push(w),w.clusterId=k.id}}}),!C)return"break";p++};p{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});Wk.default=void 0;var Lte=q(),Ote=function(){function r(e){this.arr=e}return r.prototype.getArr=function(){return this.arr||[]},r.prototype.add=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length))return new r(n);if(!(n==null?void 0:n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+n[a];return new r(i)}},r.prototype.subtract=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length))return new r(n);if(!(n==null?void 0:n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-n[a];return new r(i)}},r.prototype.avg=function(e){var t=[];if(e!==0)for(var n in this.arr)t[n]=this.arr[n]/e;return new r(t)},r.prototype.negate=function(){var e=[];for(var t in this.arr)e[t]=-this.arr[t];return new r(e)},r.prototype.squareEuclideanDistance=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return i}},r.prototype.euclideanDistance=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},r.prototype.normalize=function(){var e=[],t=(0,Lte.clone)(this.arr);t.sort(function(o,s){return o-s});var n=t[t.length-1],i=t[0];for(var a in this.arr)e[a]=(this.arr[a]-i)/(n-i);return new r(e)},r.prototype.norm2=function(){var e;if(!((e=this.arr)===null||e===void 0?void 0:e.length))return 0;var t=0;for(var n in this.arr)t+=Math.pow(this.arr[n],2);return Math.sqrt(t)},r.prototype.dot=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=this.arr[a]*e.arr[a];return i}else console.error("The two vectors are unequal in length.")},r.prototype.equal=function(e){var t,n=e.arr;if(((t=this.arr)===null||t===void 0?void 0:t.length)!==(n==null?void 0:n.length))return!1;for(var i in this.arr)if(this.arr[i]!==n[i])return!1;return!0},r}(),Dte=Ote;Wk.default=Dte});var Bht=ft(N_=>{"use strict";Object.defineProperty(N_,"__esModule",{value:!0});N_.secondReg=N_.dateReg=void 0;var Pte=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;N_.secondReg=Pte;var kte=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;N_.dateReg=kte});var Uht=ft(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.getPropertyWeight=Zh.getAllSortProperties=Zh.getAllProperties=Zh.default=void 0;var Vk=Bht(),s8=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=100);var n={};e.forEach(function(a){!a.properties||Object.keys(a.properties).forEach(function(o){if(o==="id"||!"".concat(a.properties[o]).match(Vk.secondReg)&&!"".concat(a.properties[o]).match(Vk.dateReg)&&isNaN(Number(a.properties[o]))){n.hasOwnProperty(o)&&delete n[o];return}n.hasOwnProperty(o)?n[o]+=1:n[o]=1})});var i=Object.keys(n).sort(function(a,o){return n[o]-n[a]});return i.length{"use strict";Object.defineProperty(aM,"__esModule",{value:!0});aM.DistanceType=void 0;var l8;aM.DistanceType=l8;(function(r){r.EuclideanDistance="euclideanDistance"})(l8||(aM.DistanceType=l8={}))});var qht=ft($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});$h.oneHot=$h.getDistance=$h.getAllKeyValueMap=$h.default=void 0;var Wht=q(),Vht=jht(),Hht=Fte(o8());function Fte(r){return r&&r.__esModule?r:{default:r}}var u8=function(e,t,n){var i=[];(t==null?void 0:t.length)?i=t:(e.forEach(function(o){i=i.concat(Object.keys(o))}),i=(0,Wht.uniq)(i));var a={};return i.forEach(function(o){var s=[];e.forEach(function(l){l[o]!==void 0&&l[o]!==""&&s.push(l[o])}),s.length&&!(n==null?void 0:n.includes(o))&&(a[o]=(0,Wht.uniq)(s))}),a};$h.getAllKeyValueMap=u8;var Yht=function(e,t,n){var i=u8(e,t,n),a=[];return e.forEach(function(o,s){var l=[];Object.keys(i).forEach(function(u){for(var f=o[u],c=i[u],h=c.findIndex(function(v){return f===v}),d=[],p=0;p{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});Hk.default=void 0;var Gte=q(),zte=Kht(nM()),oM=Kht(o8()),Ute=Uht(),jte=qht();function Kht(r){return r&&r.__esModule?r:{default:r}}var Zht=function(e,t,n,i){for(var a=t.length,o=2*i,s=0,l=0;l0&&C>w&&C-ww&&(I=l.map(function(D){return{node:D,clusterId:D.clusterId}}),P=(0,Gte.clone)(v),w=C),L||A>100)break;A++,Object.keys(v).forEach(function(D){var N=0;f.forEach(function(z){var j=z.source,W=z.target,J=m[j].node.clusterId,et=m[W].node.clusterId;(J===D&&et!==D||et===D&&J!==D)&&(N=N+(z[n]||1))}),v[D].sumTot=N}),l.forEach(function(D,N){var z=v[D.clusterId],j=0,W,J=x[N]/(2*S),et=0,lt=z.nodes;lt.forEach(function(it){var K=m[it.id].idx;et+=g[N][K]||0});var $=et-z.sumTot*J,st=lt.filter(function(it){return it.id!==D.id}),_t=[];st.forEach(function(it,K){_t[K]=c[it.originIndex]});var dt=f8(st,c)*o,vt=b[D.id];if(Object.keys(vt).forEach(function(it){var K=m[it].node,Rt=K.clusterId;if(Rt!==D.clusterId){var Xt=v[Rt],Zt=Xt.nodes;if(!(!Zt||!Zt.length)){var Ae=0;Zt.forEach(function(pt){var Et=m[pt.id].idx;Ae+=g[N][Et]||0});var We=Ae-Xt.sumTot*J,$e=Zt.concat([D]),V=[];$e.forEach(function(pt,Et){V[Et]=c[pt.originIndex]});var Te=f8($e,c)*o,ne=We-$;a&&(ne=We+Te-($+dt)),ne>j&&(j=ne,W=Xt)}}}),j>0){W.nodes.push(D);var Tt=D.clusterId;D.clusterId=W.id;var Ut=z.nodes.indexOf(D);z.nodes.splice(Ut,1);var $t=0,Y=0;f.forEach(function(it){var K=it.source,Rt=it.target,Xt=m[K].node.clusterId,Zt=m[Rt].node.clusterId;(Xt===W.id&&Zt!==W.id||Zt===W.id&&Xt!==W.id)&&($t=$t+(it[n]||1)),(Xt===Tt&&Zt!==Tt||Zt===Tt&&Xt!==Tt)&&(Y=Y+(it[n]||1))}),W.sumTot=$t,z.sumTot=Y}})}var M={},O=0;Object.keys(P).forEach(function(D){var N=P[D];if(!N.nodes||!N.nodes.length){delete P[D];return}var z=String(O+1);z!==D&&(N.id=z,N.nodes=N.nodes.map(function(j){return{id:j.id,clusterId:z}}),P[z]=N,M[D]=z,delete P[D],O++)}),I.forEach(function(D){var N=D.node,z=D.clusterId;N.clusterId=z,N.clusterId&&M[N.clusterId]&&(N.clusterId=M[N.clusterId])});var F=[],k={};f.forEach(function(D){var N=D.source,z=D.target,j=D[n]||1,W=m[N].node.clusterId,J=m[z].node.clusterId,et="".concat(W,"---").concat(J);if(k[et])k[et].weight+=j,k[et].count++;else{var lt={source:W,target:J,weight:j,count:1};k[et]=lt,F.push(lt)}});var G=[];return Object.keys(P).forEach(function(D){G.push(P[D])}),{clusters:G,clusterEdges:F}},Vte=Wte;Hk.default=Vte});var Qht=ft(Yk=>{"use strict";Object.defineProperty(Yk,"__esModule",{value:!0});Yk.default=void 0;var Hte=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t{"use strict";Object.defineProperty(Xk,"__esModule",{value:!0});Xk.default=void 0;var Xte=function(e,t){return e-t},qte=function(){function r(e){e===void 0&&(e=Xte),this.compareFn=e,this.list=[]}return r.prototype.getLeft=function(e){return 2*e+1},r.prototype.getRight=function(e){return 2*e+2},r.prototype.getParent=function(e){return e===0?null:Math.floor((e-1)/2)},r.prototype.isEmpty=function(){return this.list.length<=0},r.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},r.prototype.delMin=function(){var e=this.top(),t=this.list.pop();return this.list.length>0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),o=this.list.length;i!==null&&i0?n=i:a!==null&&a0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),Kte=qte;Xk.default=Kte});var rdt=ft(qk=>{"use strict";Object.defineProperty(qk,"__esModule",{value:!0});qk.default=void 0;var Zte=tdt(Qht()),$te=tdt(Jht()),c8=vf();function tdt(r){return r&&r.__esModule?r:{default:r}}var Qte=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var f=function(m,g){return t?m.weight-g.weight:0},c=new $te.default(f);for((0,c8.getEdgesByNodeId)(l.id,s).forEach(function(v){c.insert(v)});!c.isEmpty();){var h=c.delMin(),d=h.source,p=h.target;u.has(d)&&u.has(p)||(n.push(h),u.has(d)||(u.add(d),(0,c8.getEdgesByNodeId)(d,s).forEach(function(v){c.insert(v)})),u.has(p)||(u.add(p),(0,c8.getEdgesByNodeId)(p,s).forEach(function(v){c.insert(v)})))}return n},edt=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=s.map(function(d){return d});t&&l.sort(function(d,p){return d.weight-p.weight});for(var u=new Zte.default(a.map(function(d){return d.id}));l.length>0;){var f=l.shift(),c=f.source,h=f.target;u.connected(c,h)||(n.push(f),u.union(c,h))}return n},Jte=function(e,t,n){var i={prim:Qte,kruskal:edt};return n?i[n](e,t):edt(e,t)},tee=Jte;qk.default=tee});var ndt=ft(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});Kk.default=void 0;var eee=nee(r8()),ree=vf();function nee(r){return r&&r.__esModule?r:{default:r}}var iee=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,o=1e3,s=e.nodes,l=s===void 0?[]:s,u=e.edges,f=u===void 0?[]:u,c=l.length,h,d={},p={},v=0;v0&&i>t;){a=0;for(var v=0;v0&&(h+=p[C]/w)}d[g]=n*h,a+=d[g]}}a=(1-a)/c,i=0;for(var v=0;v{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.VACANT_NODE_LABEL=uo.VACANT_NODE_ID=uo.VACANT_GRAPH_ID=uo.VACANT_EDGE_LABEL=uo.VACANT_EDGE_ID=uo.Node=uo.Graph=uo.Edge=uo.AUTO_EDGE_ID=void 0;var idt=-1;uo.VACANT_EDGE_ID=idt;var sM=-1;uo.VACANT_NODE_ID=sM;var adt="-1";uo.VACANT_EDGE_LABEL=adt;var odt="-1";uo.VACANT_NODE_LABEL=odt;var oee=-1;uo.VACANT_GRAPH_ID=oee;var see="-1";uo.AUTO_EDGE_ID=see;var h8=function(){function r(e,t,n,i){e===void 0&&(e=idt),t===void 0&&(t=sM),n===void 0&&(n=sM),i===void 0&&(i=adt),this.id=e,this.from=t,this.to=n,this.label=i}return r}();uo.Edge=h8;var sdt=function(){function r(e,t){e===void 0&&(e=sM),t===void 0&&(t=odt),this.id=e,this.label=t,this.edges=[],this.edgeMap={}}return r.prototype.addEdge=function(e){this.edges.push(e),this.edgeMap[e.id]=e},r}();uo.Node=sdt;var lee=function(){function r(e,t,n){e===void 0&&(e=sM),t===void 0&&(t=!0),n===void 0&&(n=!1),this.id=e,this.edgeIdAutoIncrease=t,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return r.prototype.getNodeNum=function(){return this.nodes.length},r.prototype.addNode=function(e,t){if(!this.nodeMap[e]){var n=new sdt(e,t);this.nodes.push(n),this.nodeMap[e]=n,this.nodeLabelMap[t]||(this.nodeLabelMap[t]=[]),this.nodeLabelMap[t].push(e)}},r.prototype.addEdge=function(e,t,n,i){if((this.edgeIdAutoIncrease||e===void 0)&&(e=this.counter++),!(this.nodeMap[t]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[e])){var a=new h8(e,t,n,i);if(this.edges.push(a),this.edgeMap[e]=a,this.nodeMap[t].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var o=new h8(e,n,t,i);this.nodeMap[n].addEdge(o),this.edgeLabelMap[i].push(o)}}},r}();uo.Graph=lee});var cdt=ft($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});$k.default=void 0;var uee=q(),ql=ldt(),R0=function(){function r(e,t,n,i,a){this.fromNode=e,this.toNode=t,this.nodeEdgeNodeLabel={nodeLabel1:n||ql.VACANT_NODE_LABEL,edgeLabel:i||ql.VACANT_EDGE_LABEL,nodeLabel2:a||ql.VACANT_NODE_LABEL}}return r.prototype.equalTo=function(e){return this.fromNode===e.formNode&&this.toNode===e.toNode&&this.nodeEdgeNodeLabel===e.nodeEdgeNodeLabel},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r}(),udt=function(){function r(){this.rmpath=[],this.dfsEdgeList=[]}return r.prototype.equalTo=function(e){var t=this.dfsEdgeList.length,n=e.length;if(t!==n)return!1;for(var i=0;i=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,o=i.toNode;ad||i.hasNode(o[h.to])||(t.labelb;C--){var w=S(C);if(w==="break")break}if(g){var A=e.findMinLabel(m);o.dfsEdgeList.push(new R0(v,x,ql.VACANT_NODE_LABEL,A.edgeLabel,ql.VACANT_NODE_LABEL));var I=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[I]!==o.dfsEdgeList[I]?!1:c(m[A.edgeLabel].projected)}var P={};g=!1;var L=0;h.forEach(function(D){var N=new Zk(D),z=e.findForwardPureEdges(i,N.edges[d[0]],p,N);z.length>0&&(g=!0,L=v,z.forEach(function(j){var W="".concat(j.label,"-").concat(a[j.to].label);P[W]||(P[W]={projected:[],edgeLabel:j.label,nodeLabel2:a[j.to].label}),P[W].projected.push({graphId:i.id,edge:j,preNode:D})}))});for(var M=d.length,O=function(N){if(g)return"break";var z=d[N];h.forEach(function(j){var W=new Zk(j),J=e.findForwardRmpathEdges(i,W.edges[z],p,W);J.length>0&&(g=!0,L=o.dfsEdgeList[z].fromNode,J.forEach(function(et){var lt="".concat(et.label,"-").concat(a[et.to].label);P[lt]||(P[lt]={projected:[],edgeLabel:et.label,nodeLabel2:a[et.to].label}),P[lt].projected.push({graphId:i.id,edge:et,preNode:j})}))})},C=0;C=0;p--){var v=t.findBackwardEdge(c,d.edges[a[p]],d.edges[a[0]],d);if(v){var m="".concat(t.dfsCode.dfsEdgeList[a[p]].fromNode,"-").concat(v.label);u[m]||(u[m]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[p]].fromNode,edgeLabel:v.label}),u[m].projected.push({graphId:f.graphId,edge:v,preNode:f})}}if(!(i>=t.maxNodeNum)){var g=t.findForwardPureEdges(c,d.edges[a[0]],s,d);g.forEach(function(b){var S="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);l[S]||(l[S]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),l[S].projected.push({graphId:f.graphId,edge:b,preNode:f})});for(var x=function(S){var C=t.findForwardRmpathEdges(c,d.edges[a[S]],s,d);C.forEach(function(w){var A="".concat(t.dfsCode.dfsEdgeList[a[S]].fromNode,"-").concat(w.label,"-").concat(h[w.to].label);l[A]||(l[A]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[S]].fromNode,edgeLabel:w.label,nodeLabel2:h[w.to].label}),l[A].projected.push({graphId:f.graphId,edge:w,preNode:f})})},p=0;pb){var S=b;b=x,x=S}var C=g.label,w="".concat(u,"-").concat(x,"-").concat(C,"-").concat(b),A="".concat(x,"-").concat(C,"-").concat(b);if(!o[A]){var I=o[A]||0;I++,o[A]=I}l[w]={graphId:u,nodeLabel1:x,edgeLabel:C,nodeLabel2:b}})})}),Object.keys(a).forEach(function(u){var f=a[u];if(!(f{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});tR.default=void 0;var hdt=yw(),ddt=d8(a8()),vee=d8(cdt()),pdt=d8(Gk()),mee=vf();function d8(r){return r&&r.__esModule?r:{default:r}}var vdt=function(e,t,n,i){n===void 0&&(n="cluster"),i===void 0&&(i=2);var a=[],o=e.nodes;return t.forEach(function(s,l){a.push(mdt(o,s,l,n,i))}),a},mdt=function(e,t,n,i,a){var o=[n],s=[],l={};return t.forEach(function(u,f){if(u<=a&&n!==f){o.push(f),s.push(e[f]);var c=e[f][i];l[c]?(l[c].count++,l[c].dists.push(u)):l[c]={count:1,dists:[u]}}}),Object.keys(l).forEach(function(u){l[u].dists=l[u].dists.sort(function(f,c){return f-c})}),{nodeIdx:n,nodeId:e[n].id,nodeIdxs:o,neighbors:s,neighborNum:o.length-1,nodeLabelCountMap:l}},gee=function(e,t,n,i,a){var o=Math.ceil(n/t),s={},l=0;return i.forEach(function(u,f){for(var c=0,h=0,d=u.nodeIdxs,p=u.neighborNum-1;c2*t)););if(m<2*t&&(s["".concat(f,"-").concat(v)]={start:f,end:v,distance:a[f][v]},c++,l++,l>=n))return s;if(h++,h>2*t)break}if(ch&&(l=h);var d=n[c.id].inDegree;u>d&&(u=d);var p=n[c.id].outDegree;f>p&&(f=p)}),e[t]={degree:l,inDegree:u,outDegree:f}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:f}},bee=function(e,t,n,i,a,o,s){var l;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(!!u){var f=(0,ddt.default)(e,n),c=(0,ddt.default)(t,n),h=xdt(e.nodes,f,n),d=xdt(t.nodes,c,n),p=gdt(e.nodes,o),v=p.nodeMap,m=p.nodeLabelMap,g=gdt(t.nodes,o),x=g.nodeMap,b=g.nodeLabelMap;ydt(e.edges,s,v);var S=ydt(t.edges,s,x).edgeLabelMap,C=[];c==null||c.forEach(function(V){C=C.concat(V)}),a||(a=Math.max.apply(Math,(0,hdt.__spreadArray)((0,hdt.__spreadArray)([],C,!1),[2],!1))),i||(i=a);var w=vdt(e,f,o,i),A=vdt(t,c,o,i),I=Math.min(100,u*(u-1)/2),P=gee(i,u,I,w,f),L=Qk(P,w,e),M=10,O=1,F=1,k=4,G={graphs:L,nodeLabelProp:o,edgeLabelProp:s,minSupport:O,minNodeNum:F,maxNodeNum:k,directed:n},D=(0,vee.default)(G).slice(0,M),N=D.length,z=[];D.forEach(function(V,Te){z[Te]={},Object.keys(L).forEach(function(ne){var pt=L[ne],Et=Jk(pt,V,o,s);z[Te][ne]=Et})});var j=yee(z,N,D),W=j.structure,J=j.structureCountMap,et=t.nodes[0],lt=[],$=(l=t.nodes[0])===null||l===void 0?void 0:l[o],st=-1/0;t.nodes.forEach(function(V){var Te=V[o],ne=m[Te];(ne==null?void 0:ne.length)>st&&(st=ne.length,lt=ne,$=Te,et=V)});var _t={},dt={},vt={},Tt={},Ut={},$t={};Object.keys(b).forEach(function(V,Te){Ut[V]=[],n&&($t[V]=[]);var ne=-1/0,pt=b[V],Et={};pt.forEach(function(Ht){var ae=d["".concat(et.id,"-").concat(Ht.id)];if(ae&&Ut[V].push(ae),neUt[V][_n]){ma=!0;break}if(ma)return lt.splice(ae,1),"continue";var ii={};Ye.neighbors.forEach(function(En){var ci=h["".concat(ge.id,"-").concat(En.id)];ii["".concat(ge.id,"-").concat(En.id)]={start:v[ge.id].idx,end:v[En.id].idx,distance:ci}}),L=Qk(ii,w,e,L);var xi=[];Object.keys(ii).forEach(function(En){if(J[En]){xi.push(J[En]);return}var ci=L[En];J[En]=Jk(ci,W,o,s),xi.push(J[En])}),xi=xi.sort(function(En,ci){return ci-En});for(var Ki=!1,_n=0;_n<$n;_n++)if(xi[_n]=0;Ue--)ee(Ue)});var Y=[];lt==null||lt.forEach(function(V){for(var Te=v[V.id].idx,ne=mdt(e.nodes,f[Te],Te,o,a),pt=ne.neighbors,Et=pt.length,St=!1,Wt=Et-1;Wt>=0;Wt--){if(pt.length+1Ye){pt.splice(Wt,1);continue}if(n){var Ve="".concat(ee.id,"-").concat(V.id),$n=h[Ve];ge=$t[Ue].length-1;var ma=$t[Ue][ge];if($n>ma){pt.splice(Wt,1);continue}}var _n=J[Ht]?J[Ht]:xee(e,V,ee,v,ae,w,W,o,s,J,L),ii="".concat(et.id,"-").concat(Ue),xi=Tt[ii][Tt[ii].length-1];if(_n=0;ae--){var ma=$n(ae);if(ma==="break")break}if(Ve)return Y.splice(Te,1),"continue";ne.edges=Wt;var _n=(0,pdt.default)(ne,ne.nodes[0].id,!1).length;if(Object.keys(_n).reverse().forEach(function(er){if(!(er===ne.nodes[0].id||Ve)){if(_n[er]===1/0){var ai=St[er].node[o];if(Et[ai]--,Et[ai]K[ji][K[ji].length-1]){var ai=St[er].node[o];if(Et[ai]--,Et[ai]=0;ci--){var Nn=ne.nodes[ci],Ta=St[Nn.id].degree,Li=St[Nn.id].inDegree,Do=St[Nn.id].outDegree,ku=Nn[o],Po=bdt(_t,ku,x,b),ms=Po.minPatternNodeLabelDegree,$o=Po.minPatternNodeLabelInDegree,vl=Po.minPatternNodeLabelOutDegree,Ns=n?Ta=0;mo--){var Oi=Wt[mo];if(!St[Oi.source]||!St[Oi.target]){Wt.splice(mo,1);var gs=Oi[s];if(ee[gs]--,St[Oi.source]&&(St[Oi.source].degree--,St[Oi.source].outDegree--),St[Oi.target]&&(St[Oi.target].degree--,St[Oi.target].inDegree--),S[gs]&&ee[gs]=0;Zt--){var Ae=Xt(Zt);if(Ae==="break")break}for(var We=Y.length,$e=function(Te){var ne=Y[Te],pt={};ne.edges.forEach(function(Wt){var ee="".concat(Wt.source,"-").concat(Wt.target,"-").concat(Wt.label);pt[ee]?pt[ee]++:pt[ee]=1});for(var Et=function(ee){var Ue=Y[ee],Ht={};Ue.edges.forEach(function(ge){var Ye="".concat(ge.source,"-").concat(ge.target,"-").concat(ge.label);Ht[Ye]?Ht[Ye]++:Ht[Ye]=1});var ae=!0;Object.keys(Ht).length!==Object.keys(pt).length?ae=!1:Object.keys(pt).forEach(function(ge){Ht[ge]!==pt[ge]&&(ae=!1)}),ae&&Y.splice(ee,1)},St=We-1;St>Te;St--)Et(St);We=Y.length},Zt=0;Zt<=We-1;Zt++)$e(Zt);return Y}}},_ee=bee;tR.default=_ee});var wdt=ft(fo=>{"use strict";function eR(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?eR=function(t){return typeof t}:eR=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},eR(r)}Object.defineProperty(fo,"__esModule",{value:!0});Object.defineProperty(fo,"GADDI",{enumerable:!0,get:function(){return Pee.default}});Object.defineProperty(fo,"breadthFirstSearch",{enumerable:!0,get:function(){return Cee.default}});Object.defineProperty(fo,"connectedComponent",{enumerable:!0,get:function(){return wee.default}});Object.defineProperty(fo,"depthFirstSearch",{enumerable:!0,get:function(){return Aee.default}});Object.defineProperty(fo,"detectCycle",{enumerable:!0,get:function(){return Eee.default}});Object.defineProperty(fo,"dijkstra",{enumerable:!0,get:function(){return Mee.default}});Object.defineProperty(fo,"findAllPath",{enumerable:!0,get:function(){return Sdt.findAllPath}});Object.defineProperty(fo,"findShortestPath",{enumerable:!0,get:function(){return Sdt.findShortestPath}});Object.defineProperty(fo,"floydWarshall",{enumerable:!0,get:function(){return Tee.default}});Object.defineProperty(fo,"getAdjMatrix",{enumerable:!0,get:function(){return See.default}});Object.defineProperty(fo,"getDegree",{enumerable:!0,get:function(){return p8.default}});Object.defineProperty(fo,"getInDegree",{enumerable:!0,get:function(){return p8.getInDegree}});Object.defineProperty(fo,"getNeighbors",{enumerable:!0,get:function(){return kee.getNeighbors}});Object.defineProperty(fo,"getOutDegree",{enumerable:!0,get:function(){return p8.getOutDegree}});Object.defineProperty(fo,"labelPropagation",{enumerable:!0,get:function(){return Iee.default}});Object.defineProperty(fo,"louvain",{enumerable:!0,get:function(){return Lee.default}});Object.defineProperty(fo,"minimumSpanningTree",{enumerable:!0,get:function(){return Oee.default}});Object.defineProperty(fo,"pageRank",{enumerable:!0,get:function(){return Dee.default}});var See=mf(nM()),Cee=mf(Sht()),wee=mf(e8()),p8=Ree(r8()),Eee=mf(Dht()),Aee=mf(i8()),Mee=mf(Gk()),Sdt=Nht(),Tee=mf(a8()),Iee=mf(Fht()),Lee=mf($ht()),Oee=mf(rdt()),Dee=mf(ndt()),Pee=mf(_dt()),kee=vf();function Cdt(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Cdt=function(i){return i?t:e})(r)}function Ree(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||eR(r)!=="object"&&typeof r!="function")return{default:r};var t=Cdt(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}function mf(r){return r&&r.__esModule?r:{default:r}}});var Mdt=ft(nR=>{"use strict";function rR(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?rR=function(t){return typeof t}:rR=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rR(r)}Object.defineProperty(nR,"__esModule",{value:!0});nR.default=void 0;var v8=Nee(wdt()),Edt=Pk();function Adt(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Adt=function(i){return i?t:e})(r)}function Nee(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||rR(r)!=="object"&&typeof r!="function")return{default:r};var t=Adt(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}var m8=typeof self!="undefined"?self:{};m8.onmessage=function(r){var e=r.data,t=e._algorithmType,n=e.data;if(!!t){if(typeof v8[t]=="function"){var i=v8[t].apply(v8,n);m8.postMessage({_algorithmType:Edt.MESSAGE.SUCCESS,data:i});return}m8.postMessage({_algorithmType:Edt.MESSAGE.FAILURE})}};var Fee=null;nR.default=Fee});var Tdt=ft(iR=>{"use strict";Object.defineProperty(iR,"__esModule",{value:!0});iR.default=void 0;var Bee=Pk(),Gee=zee(Mdt());function zee(r){return r&&r.__esModule?r:{default:r}}var Uee=function(e){return function(){for(var t=[],n=0;n{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.pageRankAsync=Pn.minimumSpanningTreeAsync=Pn.louvainAsync=Pn.labelPropagationAsync=Pn.getOutDegreeAsync=Pn.getNeighborsAsync=Pn.getInDegreeAsync=Pn.getDegreeAsync=Pn.getAdjMatrixAsync=Pn.floydWarshallAsync=Pn.findShortestPathAsync=Pn.findAllPathAsync=Pn.dijkstraAsync=Pn.detectCycleAsync=Pn.detectAllUndirectedCycleAsync=Pn.detectAllDirectedCycleAsync=Pn.detectAllCyclesAsync=Pn.connectedComponentAsync=Pn.GADDIAsync=void 0;var wo=Wee(Tdt()),Eo=Pk();function Wee(r){return r&&r.__esModule?r:{default:r}}var Vee=function(e,t){return(0,wo.default)(Eo.ALGORITHM.getAdjMatrix).apply(void 0,[e,t])};Pn.getAdjMatrixAsync=Vee;var Hee=function(e,t){return(0,wo.default)(Eo.ALGORITHM.connectedComponent).apply(void 0,[e,t])};Pn.connectedComponentAsync=Hee;var Yee=function(e){return(0,wo.default)(Eo.ALGORITHM.getDegree)(e)};Pn.getDegreeAsync=Yee;var Xee=function(e,t){return(0,wo.default)(Eo.ALGORITHM.getInDegree)(e,t)};Pn.getInDegreeAsync=Xee;var qee=function(e,t){return(0,wo.default)(Eo.ALGORITHM.getOutDegree)(e,t)};Pn.getOutDegreeAsync=qee;var Kee=function(e){return(0,wo.default)(Eo.ALGORITHM.detectCycle)(e)};Pn.detectCycleAsync=Kee;var Zee=function(e){return(0,wo.default)(Eo.ALGORITHM.detectAllCycles)(e)};Pn.detectAllCyclesAsync=Zee;var $ee=function(e){return(0,wo.default)(Eo.ALGORITHM.detectAllDirectedCycle)(e)};Pn.detectAllDirectedCycleAsync=$ee;var Qee=function(e){return(0,wo.default)(Eo.ALGORITHM.detectAllUndirectedCycle)(e)};Pn.detectAllUndirectedCycleAsync=Qee;var Jee=function(e,t,n,i){return(0,wo.default)(Eo.ALGORITHM.dijkstra).apply(void 0,[e,t,n,i])};Pn.dijkstraAsync=Jee;var tre=function(e,t,n,i){return(0,wo.default)(Eo.ALGORITHM.findAllPath).apply(void 0,[e,t,n,i])};Pn.findAllPathAsync=tre;var ere=function(e,t,n,i,a){return(0,wo.default)(Eo.ALGORITHM.findShortestPath).apply(void 0,[e,t,n,i,a])};Pn.findShortestPathAsync=ere;var rre=function(e,t){return(0,wo.default)(Eo.ALGORITHM.floydWarshall).apply(void 0,[e,t])};Pn.floydWarshallAsync=rre;var nre=function(e,t,n,i){return i===void 0&&(i=1e3),(0,wo.default)(Eo.ALGORITHM.labelPropagation)(e,t,n,i)};Pn.labelPropagationAsync=nre;var ire=function(e,t,n,i){return(0,wo.default)(Eo.ALGORITHM.louvain)(e,t,n,i)};Pn.louvainAsync=ire;var are=function(e,t,n){return(0,wo.default)(Eo.ALGORITHM.minimumSpanningTree).apply(void 0,[e,t,n])};Pn.minimumSpanningTreeAsync=are;var ore=function(e,t,n){return(0,wo.default)(Eo.ALGORITHM.pageRank).apply(void 0,[e,t,n])};Pn.pageRankAsync=ore;var sre=function(e,t,n){return(0,wo.default)(Eo.ALGORITHM.getNeighbors).apply(void 0,[e,t,n])};Pn.getNeighborsAsync=sre;var lre=function(e,t,n,i,a,o,s){return n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),(0,wo.default)(Eo.ALGORITHM.GADDI).apply(void 0,[e,t,n,i,a,o,s])};Pn.GADDIAsync=lre});var Odt=ft(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});Object.defineProperty(ca,"GADDIAsync",{enumerable:!0,get:function(){return kn.GADDIAsync}});Object.defineProperty(ca,"connectedComponentAsync",{enumerable:!0,get:function(){return kn.connectedComponentAsync}});ca.default=void 0;Object.defineProperty(ca,"detectAllCyclesAsync",{enumerable:!0,get:function(){return kn.detectAllCyclesAsync}});Object.defineProperty(ca,"detectAllDirectedCycleAsync",{enumerable:!0,get:function(){return kn.detectAllDirectedCycleAsync}});Object.defineProperty(ca,"detectAllUndirectedCycleAsync",{enumerable:!0,get:function(){return kn.detectAllUndirectedCycleAsync}});Object.defineProperty(ca,"detectCycleAsync",{enumerable:!0,get:function(){return kn.detectCycleAsync}});ca.detectDirectedCycleAsync=void 0;Object.defineProperty(ca,"dijkstraAsync",{enumerable:!0,get:function(){return kn.dijkstraAsync}});Object.defineProperty(ca,"findAllPathAsync",{enumerable:!0,get:function(){return kn.findAllPathAsync}});Object.defineProperty(ca,"findShortestPathAsync",{enumerable:!0,get:function(){return kn.findShortestPathAsync}});Object.defineProperty(ca,"floydWarshallAsync",{enumerable:!0,get:function(){return kn.floydWarshallAsync}});Object.defineProperty(ca,"getAdjMatrixAsync",{enumerable:!0,get:function(){return kn.getAdjMatrixAsync}});Object.defineProperty(ca,"getDegreeAsync",{enumerable:!0,get:function(){return kn.getDegreeAsync}});Object.defineProperty(ca,"getInDegreeAsync",{enumerable:!0,get:function(){return kn.getInDegreeAsync}});Object.defineProperty(ca,"getNeighborsAsync",{enumerable:!0,get:function(){return kn.getNeighborsAsync}});Object.defineProperty(ca,"getOutDegreeAsync",{enumerable:!0,get:function(){return kn.getOutDegreeAsync}});Object.defineProperty(ca,"labelPropagationAsync",{enumerable:!0,get:function(){return kn.labelPropagationAsync}});Object.defineProperty(ca,"louvainAsync",{enumerable:!0,get:function(){return kn.louvainAsync}});Object.defineProperty(ca,"minimumSpanningTreeAsync",{enumerable:!0,get:function(){return kn.minimumSpanningTreeAsync}});Object.defineProperty(ca,"pageRankAsync",{enumerable:!0,get:function(){return kn.pageRankAsync}});var kn=Idt(),Ldt=kn.detectCycleAsync;ca.detectDirectedCycleAsync=Ldt;var ure={getAdjMatrixAsync:kn.getAdjMatrixAsync,connectedComponentAsync:kn.connectedComponentAsync,getDegreeAsync:kn.getDegreeAsync,getInDegreeAsync:kn.getInDegreeAsync,getOutDegreeAsync:kn.getOutDegreeAsync,detectCycleAsync:kn.detectCycleAsync,detectDirectedCycleAsync:Ldt,detectAllCyclesAsync:kn.detectAllCyclesAsync,detectAllDirectedCycleAsync:kn.detectAllDirectedCycleAsync,detectAllUndirectedCycleAsync:kn.detectAllUndirectedCycleAsync,dijkstraAsync:kn.dijkstraAsync,findAllPathAsync:kn.findAllPathAsync,findShortestPathAsync:kn.findShortestPathAsync,floydWarshallAsync:kn.floydWarshallAsync,labelPropagationAsync:kn.labelPropagationAsync,louvainAsync:kn.louvainAsync,minimumSpanningTreeAsync:kn.minimumSpanningTreeAsync,pageRankAsync:kn.pageRankAsync,getNeighborsAsync:kn.getNeighborsAsync,GADDIAsync:kn.GADDIAsync};ca.default=ure});var g8=ft((nSr,Ddt)=>{"use strict";Ddt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var kdt=ft((iSr,Pdt)=>{Pdt.exports=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}});var Fdt=ft((aSr,Ndt)=>{"use strict";var fre=kdt(),cre=Array.prototype.concat,hre=Array.prototype.slice,Rdt=Ndt.exports=function(e){for(var t=[],n=0,i=e.length;n{var lM=g8(),uM=Fdt(),Bdt=Object.hasOwnProperty,Gdt={};for(aR in lM)Bdt.call(lM,aR)&&(Gdt[lM[aR]]=aR);var aR,Au=zdt.exports={to:{},get:{}};Au.get=function(r){var e=r.substring(0,3).toLowerCase(),t,n;switch(e){case"hsl":t=Au.get.hsl(r),n="hsl";break;case"hwb":t=Au.get.hwb(r),n="hwb";break;default:t=Au.get.rgb(r),n="rgb";break}return t?{model:n,value:t}:null};Au.get.rgb=function(r){if(!r)return null;var e=/^#([a-f0-9]{3,4})$/i,t=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,i=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,a=/^(\w+)$/,o=[0,0,0,1],s,l,u;if(s=r.match(t)){for(u=s[2],s=s[1],l=0;l<3;l++){var f=l*2;o[l]=parseInt(s.slice(f,f+2),16)}u&&(o[3]=parseInt(u,16)/255)}else if(s=r.match(e)){for(s=s[1],u=s[3],l=0;l<3;l++)o[l]=parseInt(s[l]+s[l],16);u&&(o[3]=parseInt(u+u,16)/255)}else if(s=r.match(n)){for(l=0;l<3;l++)o[l]=parseInt(s[l+1],0);s[4]&&(s[5]?o[3]=parseFloat(s[4])*.01:o[3]=parseFloat(s[4]))}else if(s=r.match(i)){for(l=0;l<3;l++)o[l]=Math.round(parseFloat(s[l+1])*2.55);s[4]&&(s[5]?o[3]=parseFloat(s[4])*.01:o[3]=parseFloat(s[4]))}else return(s=r.match(a))?s[1]==="transparent"?[0,0,0,0]:Bdt.call(lM,s[1])?(o=lM[s[1]],o[3]=1,o):null:null;for(l=0;l<3;l++)o[l]=vg(o[l],0,255);return o[3]=vg(o[3],0,1),o};Au.get.hsl=function(r){if(!r)return null;var e=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=r.match(e);if(t){var n=parseFloat(t[4]),i=(parseFloat(t[1])%360+360)%360,a=vg(parseFloat(t[2]),0,100),o=vg(parseFloat(t[3]),0,100),s=vg(isNaN(n)?1:n,0,1);return[i,a,o,s]}return null};Au.get.hwb=function(r){if(!r)return null;var e=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=r.match(e);if(t){var n=parseFloat(t[4]),i=(parseFloat(t[1])%360+360)%360,a=vg(parseFloat(t[2]),0,100),o=vg(parseFloat(t[3]),0,100),s=vg(isNaN(n)?1:n,0,1);return[i,a,o,s]}return null};Au.to.hex=function(){var r=uM(arguments);return"#"+oR(r[0])+oR(r[1])+oR(r[2])+(r[3]<1?oR(Math.round(r[3]*255)):"")};Au.to.rgb=function(){var r=uM(arguments);return r.length<4||r[3]===1?"rgb("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+")":"rgba("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+", "+r[3]+")"};Au.to.rgb.percent=function(){var r=uM(arguments),e=Math.round(r[0]/255*100),t=Math.round(r[1]/255*100),n=Math.round(r[2]/255*100);return r.length<4||r[3]===1?"rgb("+e+"%, "+t+"%, "+n+"%)":"rgba("+e+"%, "+t+"%, "+n+"%, "+r[3]+")"};Au.to.hsl=function(){var r=uM(arguments);return r.length<4||r[3]===1?"hsl("+r[0]+", "+r[1]+"%, "+r[2]+"%)":"hsla("+r[0]+", "+r[1]+"%, "+r[2]+"%, "+r[3]+")"};Au.to.hwb=function(){var r=uM(arguments),e="";return r.length>=4&&r[3]!==1&&(e=", "+r[3]),"hwb("+r[0]+", "+r[1]+"%, "+r[2]+"%"+e+")"};Au.to.keyword=function(r){return Gdt[r.slice(0,3)]};function vg(r,e,t){return Math.min(Math.max(e,r),t)}function oR(r){var e=Math.round(r).toString(16).toUpperCase();return e.length<2?"0"+e:e}});var y8=ft((sSr,Hdt)=>{var N0=g8(),jdt={};for(sR in N0)N0.hasOwnProperty(sR)&&(jdt[N0[sR]]=sR);var sR,Ar=Hdt.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(tl in Ar)if(Ar.hasOwnProperty(tl)){if(!("channels"in Ar[tl]))throw new Error("missing channels property: "+tl);if(!("labels"in Ar[tl]))throw new Error("missing channel labels property: "+tl);if(Ar[tl].labels.length!==Ar[tl].channels)throw new Error("channel and label counts mismatch: "+tl);Wdt=Ar[tl].channels,Vdt=Ar[tl].labels,delete Ar[tl].channels,delete Ar[tl].labels,Object.defineProperty(Ar[tl],"channels",{value:Wdt}),Object.defineProperty(Ar[tl],"labels",{value:Vdt})}var Wdt,Vdt,tl;Ar.rgb.hsl=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i=Math.min(e,t,n),a=Math.max(e,t,n),o=a-i,s,l,u;return a===i?s=0:e===a?s=(t-n)/o:t===a?s=2+(n-e)/o:n===a&&(s=4+(e-t)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]};Ar.rgb.hsv=function(r){var e,t,n,i,a,o=r[0]/255,s=r[1]/255,l=r[2]/255,u=Math.max(o,s,l),f=u-Math.min(o,s,l),c=function(h){return(u-h)/6/f+1/2};return f===0?i=a=0:(a=f/u,e=c(o),t=c(s),n=c(l),o===u?i=n-t:s===u?i=1/3+e-n:l===u&&(i=2/3+t-e),i<0?i+=1:i>1&&(i-=1)),[i*360,a*100,u*100]};Ar.rgb.hwb=function(r){var e=r[0],t=r[1],n=r[2],i=Ar.rgb.hsl(r)[0],a=1/255*Math.min(e,Math.min(t,n));return n=1-1/255*Math.max(e,Math.max(t,n)),[i,a*100,n*100]};Ar.rgb.cmyk=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i,a,o,s;return s=Math.min(1-e,1-t,1-n),i=(1-e-s)/(1-s)||0,a=(1-t-s)/(1-s)||0,o=(1-n-s)/(1-s)||0,[i*100,a*100,o*100,s*100]};function dre(r,e){return Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2)+Math.pow(r[2]-e[2],2)}Ar.rgb.keyword=function(r){var e=jdt[r];if(e)return e;var t=1/0,n;for(var i in N0)if(N0.hasOwnProperty(i)){var a=N0[i],o=dre(r,a);o.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=e*.4124+t*.3576+n*.1805,a=e*.2126+t*.7152+n*.0722,o=e*.0193+t*.1192+n*.9505;return[i*100,a*100,o*100]};Ar.rgb.lab=function(r){var e=Ar.rgb.xyz(r),t=e[0],n=e[1],i=e[2],a,o,s;return t/=95.047,n/=100,i/=108.883,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,a=116*n-16,o=500*(t-n),s=200*(n-i),[a,o,s]};Ar.hsl.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100,i,a,o,s,l;if(t===0)return l=n*255,[l,l,l];n<.5?a=n*(1+t):a=n+t-n*t,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=e+1/3*-(u-1),o<0&&o++,o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s};Ar.hsl.hsv=function(r){var e=r[0],t=r[1]/100,n=r[2]/100,i=t,a=Math.max(n,.01),o,s;return n*=2,t*=n<=1?n:2-n,i*=a<=1?a:2-a,s=(n+t)/2,o=n===0?2*i/(a+i):2*t/(n+t),[e,o*100,s*100]};Ar.hsv.rgb=function(r){var e=r[0]/60,t=r[1]/100,n=r[2]/100,i=Math.floor(e)%6,a=e-Math.floor(e),o=255*n*(1-t),s=255*n*(1-t*a),l=255*n*(1-t*(1-a));switch(n*=255,i){case 0:return[n,l,o];case 1:return[s,n,o];case 2:return[o,n,l];case 3:return[o,s,n];case 4:return[l,o,n];case 5:return[n,o,s]}};Ar.hsv.hsl=function(r){var e=r[0],t=r[1]/100,n=r[2]/100,i=Math.max(n,.01),a,o,s;return s=(2-t)*n,a=(2-t)*i,o=t*i,o/=a<=1?a:2-a,o=o||0,s/=2,[e,o*100,s*100]};Ar.hwb.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100,i=t+n,a,o,s,l;i>1&&(t/=i,n/=i),a=Math.floor(6*e),o=1-n,s=6*e-a,(a&1)!=0&&(s=1-s),l=t+s*(o-t);var u,f,c;switch(a){default:case 6:case 0:u=o,f=l,c=t;break;case 1:u=l,f=o,c=t;break;case 2:u=t,f=o,c=l;break;case 3:u=t,f=l,c=o;break;case 4:u=l,f=t,c=o;break;case 5:u=o,f=t,c=l;break}return[u*255,f*255,c*255]};Ar.cmyk.rgb=function(r){var e=r[0]/100,t=r[1]/100,n=r[2]/100,i=r[3]/100,a,o,s;return a=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,t*(1-i)+i),s=1-Math.min(1,n*(1-i)+i),[a*255,o*255,s*255]};Ar.xyz.rgb=function(r){var e=r[0]/100,t=r[1]/100,n=r[2]/100,i,a,o;return i=e*3.2406+t*-1.5372+n*-.4986,a=e*-.9689+t*1.8758+n*.0415,o=e*.0557+t*-.204+n*1.057,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),a=Math.min(Math.max(0,a),1),o=Math.min(Math.max(0,o),1),[i*255,a*255,o*255]};Ar.xyz.lab=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return e/=95.047,t/=100,n/=108.883,e=e>.008856?Math.pow(e,1/3):7.787*e+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=116*t-16,a=500*(e-t),o=200*(t-n),[i,a,o]};Ar.lab.xyz=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;a=(e+16)/116,i=t/500+a,o=a-n/200;var s=Math.pow(a,3),l=Math.pow(i,3),u=Math.pow(o,3);return a=s>.008856?s:(a-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=u>.008856?u:(o-16/116)/7.787,i*=95.047,a*=100,o*=108.883,[i,a,o]};Ar.lab.lch=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return i=Math.atan2(n,t),a=i*360/2/Math.PI,a<0&&(a+=360),o=Math.sqrt(t*t+n*n),[e,o,a]};Ar.lch.lab=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return o=n/360*2*Math.PI,i=t*Math.cos(o),a=t*Math.sin(o),[e,i,a]};Ar.rgb.ansi16=function(r){var e=r[0],t=r[1],n=r[2],i=1 in arguments?arguments[1]:Ar.rgb.hsv(r)[2];if(i=Math.round(i/50),i===0)return 30;var a=30+(Math.round(n/255)<<2|Math.round(t/255)<<1|Math.round(e/255));return i===2&&(a+=60),a};Ar.hsv.ansi16=function(r){return Ar.rgb.ansi16(Ar.hsv.rgb(r),r[2])};Ar.rgb.ansi256=function(r){var e=r[0],t=r[1],n=r[2];if(e===t&&t===n)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;var i=16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5);return i};Ar.ansi16.rgb=function(r){var e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];var t=(~~(r>50)+1)*.5,n=(e&1)*t*255,i=(e>>1&1)*t*255,a=(e>>2&1)*t*255;return[n,i,a]};Ar.ansi256.rgb=function(r){if(r>=232){var e=(r-232)*10+8;return[e,e,e]}r-=16;var t,n=Math.floor(r/36)/5*255,i=Math.floor((t=r%36)/6)/5*255,a=t%6/5*255;return[n,i,a]};Ar.rgb.hex=function(r){var e=((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255),t=e.toString(16).toUpperCase();return"000000".substring(t.length)+t};Ar.hex.rgb=function(r){var e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var t=e[0];e[0].length===3&&(t=t.split("").map(function(s){return s+s}).join(""));var n=parseInt(t,16),i=n>>16&255,a=n>>8&255,o=n&255;return[i,a,o]};Ar.rgb.hcg=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i=Math.max(Math.max(e,t),n),a=Math.min(Math.min(e,t),n),o=i-a,s,l;return o<1?s=a/(1-o):s=0,o<=0?l=0:i===e?l=(t-n)/o%6:i===t?l=2+(n-e)/o:l=4+(e-t)/o+4,l/=6,l%=1,[l*360,o*100,s*100]};Ar.hsl.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=1,i=0;return t<.5?n=2*e*t:n=2*e*(1-t),n<1&&(i=(t-.5*n)/(1-n)),[r[0],n*100,i*100]};Ar.hsv.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=e*t,i=0;return n<1&&(i=(t-n)/(1-n)),[r[0],n*100,i*100]};Ar.hcg.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100;if(t===0)return[n*255,n*255,n*255];var i=[0,0,0],a=e%1*6,o=a%1,s=1-o,l=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-t)*n,[(t*i[0]+l)*255,(t*i[1]+l)*255,(t*i[2]+l)*255]};Ar.hcg.hsv=function(r){var e=r[1]/100,t=r[2]/100,n=e+t*(1-e),i=0;return n>0&&(i=e/n),[r[0],i*100,n*100]};Ar.hcg.hsl=function(r){var e=r[1]/100,t=r[2]/100,n=t*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[r[0],i*100,n*100]};Ar.hcg.hwb=function(r){var e=r[1]/100,t=r[2]/100,n=e+t*(1-e);return[r[0],(n-e)*100,(1-n)*100]};Ar.hwb.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=1-t,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[r[0],i*100,a*100]};Ar.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};Ar.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};Ar.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};Ar.gray.hsl=Ar.gray.hsv=function(r){return[0,0,r[0]]};Ar.gray.hwb=function(r){return[0,100,r[0]]};Ar.gray.cmyk=function(r){return[0,0,0,r[0]]};Ar.gray.lab=function(r){return[r[0],0,0]};Ar.gray.hex=function(r){var e=Math.round(r[0]/100*255)&255,t=(e<<16)+(e<<8)+e,n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n};Ar.rgb.gray=function(r){var e=(r[0]+r[1]+r[2])/3;return[e/255*100]}});var Xdt=ft((lSr,Ydt)=>{var lR=y8();function pre(){for(var r={},e=Object.keys(lR),t=e.length,n=0;n{var x8=y8(),yre=Xdt(),F_={},xre=Object.keys(x8);function bre(r){var e=function(t){return t==null?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function _re(r){var e=function(t){if(t==null)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=r(t);if(typeof n=="object")for(var i=n.length,a=0;a{"use strict";var fM=Udt(),Mu=Kdt(),b8=[].slice,Zdt=["keyword","gray","hex"],_8={};Object.keys(Mu).forEach(function(r){_8[b8.call(Mu[r].labels).sort().join("")]=r});var uR={};function us(r,e){if(!(this instanceof us))return new us(r,e);if(e&&e in Zdt&&(e=null),e&&!(e in Mu))throw new Error("Unknown model: "+e);var t,n;if(r==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(r instanceof us)this.model=r.model,this.color=r.color.slice(),this.valpha=r.valpha;else if(typeof r=="string"){var i=fM.get(r);if(i===null)throw new Error("Unable to parse color from string: "+r);this.model=i.model,n=Mu[this.model].channels,this.color=i.value.slice(0,n),this.valpha=typeof i.value[n]=="number"?i.value[n]:1}else if(r.length){this.model=e||"rgb",n=Mu[this.model].channels;var a=b8.call(r,0,n);this.color=S8(a,n),this.valpha=typeof r[n]=="number"?r[n]:1}else if(typeof r=="number")r&=16777215,this.model="rgb",this.color=[r>>16&255,r>>8&255,r&255],this.valpha=1;else{this.valpha=1;var o=Object.keys(r);"alpha"in r&&(o.splice(o.indexOf("alpha"),1),this.valpha=typeof r.alpha=="number"?r.alpha:0);var s=o.sort().join("");if(!(s in _8))throw new Error("Unable to parse color from object: "+JSON.stringify(r));this.model=_8[s];var l=Mu[this.model].labels,u=[];for(t=0;tt?(e+.05)/(t+.05):(t+.05)/(e+.05)},level:function(r){var e=this.contrast(r);return e>=7.1?"AAA":e>=4.5?"AA":""},isDark:function(){var r=this.rgb().color,e=(r[0]*299+r[1]*587+r[2]*114)/1e3;return e<128},isLight:function(){return!this.isDark()},negate:function(){for(var r=this.rgb(),e=0;e<3;e++)r.color[e]=255-r.color[e];return r},lighten:function(r){var e=this.hsl();return e.color[2]+=e.color[2]*r,e},darken:function(r){var e=this.hsl();return e.color[2]-=e.color[2]*r,e},saturate:function(r){var e=this.hsl();return e.color[1]+=e.color[1]*r,e},desaturate:function(r){var e=this.hsl();return e.color[1]-=e.color[1]*r,e},whiten:function(r){var e=this.hwb();return e.color[1]+=e.color[1]*r,e},blacken:function(r){var e=this.hwb();return e.color[2]+=e.color[2]*r,e},grayscale:function(){var r=this.rgb().color,e=r[0]*.3+r[1]*.59+r[2]*.11;return us.rgb(e,e,e)},fade:function(r){return this.alpha(this.valpha-this.valpha*r)},opaquer:function(r){return this.alpha(this.valpha+this.valpha*r)},rotate:function(r){var e=this.hsl(),t=e.color[0];return t=(t+r)%360,t=t<0?360+t:t,e.color[0]=t,e},mix:function(r,e){if(!r||!r.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof r);var t=r.rgb(),n=this.rgb(),i=e===void 0?.5:e,a=2*i-1,o=t.alpha()-n.alpha(),s=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,l=1-s;return us.rgb(s*t.red()+l*n.red(),s*t.green()+l*n.green(),s*t.blue()+l*n.blue(),t.alpha()*i+n.alpha()*(1-i))}};Object.keys(Mu).forEach(function(r){if(Zdt.indexOf(r)===-1){var e=Mu[r].channels;us.prototype[r]=function(){if(this.model===r)return new us(this);if(arguments.length)return new us(arguments,r);var t=typeof arguments[e]=="number"?e:this.valpha;return new us(wre(Mu[this.model][r].raw(this.color)).concat(t),r)},us[r]=function(t){return typeof t=="number"&&(t=S8(b8.call(arguments),e)),new us(t,r)}}});function Sre(r,e){return Number(r.toFixed(e))}function Cre(r){return function(e){return Sre(e,r)}}function ja(r,e,t){return r=Array.isArray(r)?r:[r],r.forEach(function(n){(uR[n]||(uR[n]=[]))[e]=t}),r=r[0],function(n){var i;return arguments.length?(t&&(n=t(n)),i=this[r](),i.color[e]=n,i):(i=this[r]().color[e],t&&(i=t(i)),i)}}function Ao(r){return function(e){return Math.max(0,Math.min(r,e))}}function wre(r){return Array.isArray(r)?r:[r]}function S8(r,e){for(var t=0;t{(function(r){var e=/^\s+/,t=/\s+$/,n=0,i=r.round,a=r.min,o=r.max,s=r.random;function l(Y,it){if(Y=Y||"",it=it||{},Y instanceof l)return Y;if(!(this instanceof l))return new l(Y,it);var K=u(Y);this._originalInput=Y,this._r=K.r,this._g=K.g,this._b=K.b,this._a=K.a,this._roundA=i(100*this._a)/100,this._format=it.format||K.format,this._gradientType=it.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=K.ok,this._tc_id=n++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var Y=this.toRgb();return(Y.r*299+Y.g*587+Y.b*114)/1e3},getLuminance:function(){var Y=this.toRgb(),it,K,Rt,Xt,Zt,Ae;return it=Y.r/255,K=Y.g/255,Rt=Y.b/255,it<=.03928?Xt=it/12.92:Xt=r.pow((it+.055)/1.055,2.4),K<=.03928?Zt=K/12.92:Zt=r.pow((K+.055)/1.055,2.4),Rt<=.03928?Ae=Rt/12.92:Ae=r.pow((Rt+.055)/1.055,2.4),.2126*Xt+.7152*Zt+.0722*Ae},setAlpha:function(Y){return this._a=z(Y),this._roundA=i(100*this._a)/100,this},toHsv:function(){var Y=d(this._r,this._g,this._b);return{h:Y.h*360,s:Y.s,v:Y.v,a:this._a}},toHsvString:function(){var Y=d(this._r,this._g,this._b),it=i(Y.h*360),K=i(Y.s*100),Rt=i(Y.v*100);return this._a==1?"hsv("+it+", "+K+"%, "+Rt+"%)":"hsva("+it+", "+K+"%, "+Rt+"%, "+this._roundA+")"},toHsl:function(){var Y=c(this._r,this._g,this._b);return{h:Y.h*360,s:Y.s,l:Y.l,a:this._a}},toHslString:function(){var Y=c(this._r,this._g,this._b),it=i(Y.h*360),K=i(Y.s*100),Rt=i(Y.l*100);return this._a==1?"hsl("+it+", "+K+"%, "+Rt+"%)":"hsla("+it+", "+K+"%, "+Rt+"%, "+this._roundA+")"},toHex:function(Y){return v(this._r,this._g,this._b,Y)},toHexString:function(Y){return"#"+this.toHex(Y)},toHex8:function(Y){return m(this._r,this._g,this._b,this._a,Y)},toHex8String:function(Y){return"#"+this.toHex8(Y)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(j(this._r,255)*100)+"%",g:i(j(this._g,255)*100)+"%",b:i(j(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(j(this._r,255)*100)+"%, "+i(j(this._g,255)*100)+"%, "+i(j(this._b,255)*100)+"%)":"rgba("+i(j(this._r,255)*100)+"%, "+i(j(this._g,255)*100)+"%, "+i(j(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:D[v(this._r,this._g,this._b,!0)]||!1},toFilter:function(Y){var it="#"+g(this._r,this._g,this._b,this._a),K=it,Rt=this._gradientType?"GradientType = 1, ":"";if(Y){var Xt=l(Y);K="#"+g(Xt._r,Xt._g,Xt._b,Xt._a)}return"progid:DXImageTransform.Microsoft.gradient("+Rt+"startColorstr="+it+",endColorstr="+K+")"},toString:function(Y){var it=!!Y;Y=Y||this._format;var K=!1,Rt=this._a<1&&this._a>=0,Xt=!it&&Rt&&(Y==="hex"||Y==="hex6"||Y==="hex3"||Y==="hex4"||Y==="hex8"||Y==="name");return Xt?Y==="name"&&this._a===0?this.toName():this.toRgbString():(Y==="rgb"&&(K=this.toRgbString()),Y==="prgb"&&(K=this.toPercentageRgbString()),(Y==="hex"||Y==="hex6")&&(K=this.toHexString()),Y==="hex3"&&(K=this.toHexString(!0)),Y==="hex4"&&(K=this.toHex8String(!0)),Y==="hex8"&&(K=this.toHex8String()),Y==="name"&&(K=this.toName()),Y==="hsl"&&(K=this.toHslString()),Y==="hsv"&&(K=this.toHsvString()),K||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(Y,it){var K=Y.apply(null,[this].concat([].slice.call(it)));return this._r=K._r,this._g=K._g,this._b=K._b,this.setAlpha(K._a),this},lighten:function(){return this._applyModification(C,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(A,arguments)},desaturate:function(){return this._applyModification(x,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(S,arguments)},spin:function(){return this._applyModification(I,arguments)},_applyCombination:function(Y,it){return Y.apply(null,[this].concat([].slice.call(it)))},analogous:function(){return this._applyCombination(F,arguments)},complement:function(){return this._applyCombination(P,arguments)},monochromatic:function(){return this._applyCombination(k,arguments)},splitcomplement:function(){return this._applyCombination(O,arguments)},triad:function(){return this._applyCombination(L,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},l.fromRatio=function(Y,it){if(typeof Y=="object"){var K={};for(var Rt in Y)Y.hasOwnProperty(Rt)&&(Rt==="a"?K[Rt]=Y[Rt]:K[Rt]=st(Y[Rt]));Y=K}return l(Y,it)};function u(Y){var it={r:0,g:0,b:0},K=1,Rt=null,Xt=null,Zt=null,Ae=!1,We=!1;return typeof Y=="string"&&(Y=Ut(Y)),typeof Y=="object"&&(Tt(Y.r)&&Tt(Y.g)&&Tt(Y.b)?(it=f(Y.r,Y.g,Y.b),Ae=!0,We=String(Y.r).substr(-1)==="%"?"prgb":"rgb"):Tt(Y.h)&&Tt(Y.s)&&Tt(Y.v)?(Rt=st(Y.s),Xt=st(Y.v),it=p(Y.h,Rt,Xt),Ae=!0,We="hsv"):Tt(Y.h)&&Tt(Y.s)&&Tt(Y.l)&&(Rt=st(Y.s),Zt=st(Y.l),it=h(Y.h,Rt,Zt),Ae=!0,We="hsl"),Y.hasOwnProperty("a")&&(K=Y.a)),K=z(K),{ok:Ae,format:Y.format||We,r:a(255,o(it.r,0)),g:a(255,o(it.g,0)),b:a(255,o(it.b,0)),a:K}}function f(Y,it,K){return{r:j(Y,255)*255,g:j(it,255)*255,b:j(K,255)*255}}function c(Y,it,K){Y=j(Y,255),it=j(it,255),K=j(K,255);var Rt=o(Y,it,K),Xt=a(Y,it,K),Zt,Ae,We=(Rt+Xt)/2;if(Rt==Xt)Zt=Ae=0;else{var $e=Rt-Xt;switch(Ae=We>.5?$e/(2-Rt-Xt):$e/(Rt+Xt),Rt){case Y:Zt=(it-K)/$e+(it1&&(ne-=1),ne<1/6?V+(Te-V)*6*ne:ne<1/2?Te:ne<2/3?V+(Te-V)*(2/3-ne)*6:V}if(it===0)Rt=Xt=Zt=K;else{var We=K<.5?K*(1+it):K+it-K*it,$e=2*K-We;Rt=Ae($e,We,Y+1/3),Xt=Ae($e,We,Y),Zt=Ae($e,We,Y-1/3)}return{r:Rt*255,g:Xt*255,b:Zt*255}}function d(Y,it,K){Y=j(Y,255),it=j(it,255),K=j(K,255);var Rt=o(Y,it,K),Xt=a(Y,it,K),Zt,Ae,We=Rt,$e=Rt-Xt;if(Ae=Rt===0?0:$e/Rt,Rt==Xt)Zt=0;else{switch(Rt){case Y:Zt=(it-K)/$e+(it>1)+720)%360;--it;)Rt.h=(Rt.h+Xt)%360,Zt.push(l(Rt));return Zt}function k(Y,it){it=it||6;for(var K=l(Y).toHsv(),Rt=K.h,Xt=K.s,Zt=K.v,Ae=[],We=1/it;it--;)Ae.push(l({h:Rt,s:Xt,v:Zt})),Zt=(Zt+We)%1;return Ae}l.mix=function(Y,it,K){K=K===0?0:K||50;var Rt=l(Y).toRgb(),Xt=l(it).toRgb(),Zt=K/100,Ae={r:(Xt.r-Rt.r)*Zt+Rt.r,g:(Xt.g-Rt.g)*Zt+Rt.g,b:(Xt.b-Rt.b)*Zt+Rt.b,a:(Xt.a-Rt.a)*Zt+Rt.a};return l(Ae)},l.readability=function(Y,it){var K=l(Y),Rt=l(it);return(r.max(K.getLuminance(),Rt.getLuminance())+.05)/(r.min(K.getLuminance(),Rt.getLuminance())+.05)},l.isReadable=function(Y,it,K){var Rt=l.readability(Y,it),Xt,Zt;switch(Zt=!1,Xt=$t(K),Xt.level+Xt.size){case"AAsmall":case"AAAlarge":Zt=Rt>=4.5;break;case"AAlarge":Zt=Rt>=3;break;case"AAAsmall":Zt=Rt>=7;break}return Zt},l.mostReadable=function(Y,it,K){var Rt=null,Xt=0,Zt,Ae,We,$e;K=K||{},Ae=K.includeFallbackColors,We=K.level,$e=K.size;for(var V=0;VXt&&(Xt=Zt,Rt=l(it[V]));return l.isReadable(Y,Rt,{level:We,size:$e})||!Ae?Rt:(K.includeFallbackColors=!1,l.mostReadable(Y,["#fff","#000"],K))};var G=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},D=l.hexNames=N(G);function N(Y){var it={};for(var K in Y)Y.hasOwnProperty(K)&&(it[Y[K]]=K);return it}function z(Y){return Y=parseFloat(Y),(isNaN(Y)||Y<0||Y>1)&&(Y=1),Y}function j(Y,it){et(Y)&&(Y="100%");var K=lt(Y);return Y=a(it,o(0,parseFloat(Y))),K&&(Y=parseInt(Y*it,10)/100),r.abs(Y-it)<1e-6?1:Y%it/parseFloat(it)}function W(Y){return a(1,o(0,Y))}function J(Y){return parseInt(Y,16)}function et(Y){return typeof Y=="string"&&Y.indexOf(".")!=-1&&parseFloat(Y)===1}function lt(Y){return typeof Y=="string"&&Y.indexOf("%")!=-1}function $(Y){return Y.length==1?"0"+Y:""+Y}function st(Y){return Y<=1&&(Y=Y*100+"%"),Y}function _t(Y){return r.round(parseFloat(Y)*255).toString(16)}function dt(Y){return J(Y)/255}var vt=function(){var Y="[-\\+]?\\d+%?",it="[-\\+]?\\d*\\.\\d+%?",K="(?:"+it+")|(?:"+Y+")",Rt="[\\s|\\(]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")\\s*\\)?",Xt="[\\s|\\(]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")\\s*\\)?";return{CSS_UNIT:new RegExp(K),rgb:new RegExp("rgb"+Rt),rgba:new RegExp("rgba"+Xt),hsl:new RegExp("hsl"+Rt),hsla:new RegExp("hsla"+Xt),hsv:new RegExp("hsv"+Rt),hsva:new RegExp("hsva"+Xt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Tt(Y){return!!vt.CSS_UNIT.exec(Y)}function Ut(Y){Y=Y.replace(e,"").replace(t,"").toLowerCase();var it=!1;if(G[Y])Y=G[Y],it=!0;else if(Y=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var K;return(K=vt.rgb.exec(Y))?{r:K[1],g:K[2],b:K[3]}:(K=vt.rgba.exec(Y))?{r:K[1],g:K[2],b:K[3],a:K[4]}:(K=vt.hsl.exec(Y))?{h:K[1],s:K[2],l:K[3]}:(K=vt.hsla.exec(Y))?{h:K[1],s:K[2],l:K[3],a:K[4]}:(K=vt.hsv.exec(Y))?{h:K[1],s:K[2],v:K[3]}:(K=vt.hsva.exec(Y))?{h:K[1],s:K[2],v:K[3],a:K[4]}:(K=vt.hex8.exec(Y))?{r:J(K[1]),g:J(K[2]),b:J(K[3]),a:dt(K[4]),format:it?"name":"hex8"}:(K=vt.hex6.exec(Y))?{r:J(K[1]),g:J(K[2]),b:J(K[3]),format:it?"name":"hex"}:(K=vt.hex4.exec(Y))?{r:J(K[1]+""+K[1]),g:J(K[2]+""+K[2]),b:J(K[3]+""+K[3]),a:dt(K[4]+""+K[4]),format:it?"name":"hex8"}:(K=vt.hex3.exec(Y))?{r:J(K[1]+""+K[1]),g:J(K[2]+""+K[2]),b:J(K[3]+""+K[3]),format:it?"name":"hex"}:!1}function $t(Y){var it,K;return Y=Y||{level:"AA",size:"small"},it=(Y.level||"AA").toUpperCase(),K=(Y.size||"small").toLowerCase(),it!=="AA"&&it!=="AAA"&&(it="AA"),K!=="small"&&K!=="large"&&(K="small"),{level:it,size:K}}typeof fR!="undefined"&&fR.exports?fR.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var kpt=ft((H_,xM)=>{(function(){var r,e="4.17.21",t=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",o="__lodash_hash_undefined__",s=500,l="__lodash_placeholder__",u=1,f=2,c=4,h=1,d=2,p=1,v=2,m=4,g=8,x=16,b=32,S=64,C=128,w=256,A=512,I=30,P="...",L=800,M=16,O=1,F=2,k=3,G=1/0,D=9007199254740991,N=17976931348623157e292,z=0/0,j=4294967295,W=j-1,J=j>>>1,et=[["ary",C],["bind",p],["bindKey",v],["curry",g],["curryRight",x],["flip",A],["partial",b],["partialRight",S],["rearg",w]],lt="[object Arguments]",$="[object Array]",st="[object AsyncFunction]",_t="[object Boolean]",dt="[object Date]",vt="[object DOMException]",Tt="[object Error]",Ut="[object Function]",$t="[object GeneratorFunction]",Y="[object Map]",it="[object Number]",K="[object Null]",Rt="[object Object]",Xt="[object Promise]",Zt="[object Proxy]",Ae="[object RegExp]",We="[object Set]",$e="[object String]",V="[object Symbol]",Te="[object Undefined]",ne="[object WeakMap]",pt="[object WeakSet]",Et="[object ArrayBuffer]",St="[object DataView]",Wt="[object Float32Array]",ee="[object Float64Array]",Ue="[object Int8Array]",Ht="[object Int16Array]",ae="[object Int32Array]",ge="[object Uint8Array]",Ye="[object Uint8ClampedArray]",Ve="[object Uint16Array]",$n="[object Uint32Array]",ma=/\b__p \+= '';/g,_n=/\b(__p \+=) '' \+/g,ii=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xi=/&(?:amp|lt|gt|quot|#39);/g,Ki=/[&<>"']/g,En=RegExp(xi.source),ci=RegExp(Ki.source),Nn=/<%-([\s\S]+?)%>/g,Ta=/<%([\s\S]+?)%>/g,Li=/<%=([\s\S]+?)%>/g,Do=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ku=/^\w*$/,Po=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ms=/[\\^$.*+?()[\]{}|]/g,$o=RegExp(ms.source),vl=/^\s+/,Ns=/\s/,mo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Oi=/\{\n\/\* \[wrapped with (.+)\] \*/,gs=/,? & /,er=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,vn=/\\(\\)?/g,ji=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ia=/\w*$/,Lf=/^[-+]0x[0-9a-f]+$/i,Of=/^0b[01]+$/i,eu=/^\[object .+?Constructor\]$/,Df=/^0o[0-7]+$/i,Pf=/^(?:0|[1-9]\d*)$/,kf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,hv=/($^)/,oC=/['\n\r\u2028\u2029\\]/g,dv="\\ud800-\\udfff",sC="\\u0300-\\u036f",lC="\\ufe20-\\ufe2f",OF="\\u20d0-\\u20ff",yT=sC+lC+OF,xT="\\u2700-\\u27bf",bT="a-z\\xdf-\\xf6\\xf8-\\xff",DF="\\xac\\xb1\\xd7\\xf7",PF="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",kF="\\u2000-\\u206f",RF=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",_T="A-Z\\xc0-\\xd6\\xd8-\\xde",ST="\\ufe0e\\ufe0f",CT=DF+PF+kF+RF,uC="['\u2019]",vx="["+dv+"]",fC="["+CT+"]",mx="["+yT+"]",wT="\\d+",Xg="["+xT+"]",gx="["+bT+"]",cC="[^"+dv+CT+wT+xT+bT+_T+"]",qg="\\ud83c[\\udffb-\\udfff]",NF="(?:"+mx+"|"+qg+")",ET="[^"+dv+"]",hC="(?:\\ud83c[\\udde6-\\uddff]){2}",dC="[\\ud800-\\udbff][\\udc00-\\udfff]",ko="["+_T+"]",ys="\\u200d",Kg="(?:"+gx+"|"+cC+")",FF="(?:"+ko+"|"+cC+")",AT="(?:"+uC+"(?:d|ll|m|re|s|t|ve))?",pC="(?:"+uC+"(?:D|LL|M|RE|S|T|VE))?",vC=NF+"?",MT="["+ST+"]?",BF="(?:"+ys+"(?:"+[ET,hC,dC].join("|")+")"+MT+vC+")*",mC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",GF="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",TT=MT+vC+BF,zF="(?:"+[Xg,hC,dC].join("|")+")"+TT,UF="(?:"+[ET+mx+"?",mx,hC,dC,vx].join("|")+")",jF=RegExp(uC,"g"),WF=RegExp(mx,"g"),gC=RegExp(qg+"(?="+qg+")|"+UF+TT,"g"),VF=RegExp([ko+"?"+gx+"+"+AT+"(?="+[fC,ko,"$"].join("|")+")",FF+"+"+pC+"(?="+[fC,ko+Kg,"$"].join("|")+")",ko+"?"+Kg+"+"+AT,ko+"+"+pC,GF,mC,wT,zF].join("|"),"g"),_d=RegExp("["+ys+dv+yT+ST+"]"),HF=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,YF=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yx=-1,Di={};Di[Wt]=Di[ee]=Di[Ue]=Di[Ht]=Di[ae]=Di[ge]=Di[Ye]=Di[Ve]=Di[$n]=!0,Di[lt]=Di[$]=Di[Et]=Di[_t]=Di[St]=Di[dt]=Di[Tt]=Di[Ut]=Di[Y]=Di[it]=Di[Rt]=Di[Ae]=Di[We]=Di[$e]=Di[ne]=!1;var Pi={};Pi[lt]=Pi[$]=Pi[Et]=Pi[St]=Pi[_t]=Pi[dt]=Pi[Wt]=Pi[ee]=Pi[Ue]=Pi[Ht]=Pi[ae]=Pi[Y]=Pi[it]=Pi[Rt]=Pi[Ae]=Pi[We]=Pi[$e]=Pi[V]=Pi[ge]=Pi[Ye]=Pi[Ve]=Pi[$n]=!0,Pi[Tt]=Pi[Ut]=Pi[ne]=!1;var IT={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},XF={"&":"&","<":"<",">":">",'"':""","'":"'"},yC={"&":"&","<":"<",">":">",""":'"',"'":"'"},xC={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Rc=parseFloat,xx=parseInt,bC=typeof global=="object"&&global&&global.Object===Object&&global,LT=typeof self=="object"&&self&&self.Object===Object&&self,$a=bC||LT||Function("return this")(),_C=typeof H_=="object"&&H_&&!H_.nodeType&&H_,Sd=_C&&typeof xM=="object"&&xM&&!xM.nodeType&&xM,OT=Sd&&Sd.exports===_C,SC=OT&&bC.process,ml=function(){try{var kt=Sd&&Sd.require&&Sd.require("util").types;return kt||SC&&SC.binding&&SC.binding("util")}catch(de){}}(),DT=ml&&ml.isArrayBuffer,Cd=ml&&ml.isDate,PT=ml&&ml.isMap,kT=ml&&ml.isRegExp,pv=ml&&ml.isSet,RT=ml&&ml.isTypedArray;function Qa(kt,de,te){switch(te.length){case 0:return kt.call(de);case 1:return kt.call(de,te[0]);case 2:return kt.call(de,te[0],te[1]);case 3:return kt.call(de,te[0],te[1],te[2])}return kt.apply(de,te)}function NT(kt,de,te,pr){for(var fn=-1,Qn=kt==null?0:kt.length;++fn-1}function CC(kt,de,te){for(var pr=-1,fn=kt==null?0:kt.length;++pr-1;);return te}function Ex(kt,de){for(var te=kt.length;te--&&Nf(de,kt[te],0)>-1;);return te}function gv(kt,de){for(var te=kt.length,pr=0;te--;)kt[te]===de&&++pr;return pr}var TC=mv(IT),IC=mv(XF);function LC(kt){return"\\"+xC[kt]}function OC(kt,de){return kt==null?r:kt[de]}function Ad(kt){return _d.test(kt)}function zT(kt){return HF.test(kt)}function UT(kt){for(var de,te=[];!(de=kt.next()).done;)te.push(de.value);return te}function Ax(kt){var de=-1,te=Array(kt.size);return kt.forEach(function(pr,fn){te[++de]=[fn,pr]}),te}function DC(kt,de){return function(te){return kt(de(te))}}function Ff(kt,de){for(var te=-1,pr=kt.length,fn=0,Qn=[];++te-1}function xB(y,_){var T=this.__data__,R=Rd(T,y);return R<0?(++this.size,T.push([y,_])):T[R][1]=_,this}iu.prototype.clear=Rx,iu.prototype.delete=mB,iu.prototype.get=gB,iu.prototype.has=yB,iu.prototype.set=xB;function zf(y){var _=-1,T=y==null?0:y.length;for(this.clear();++_=_?y:_)),y}function yo(y,_,T,R,X,at){var bt,At=_&u,Bt=_&f,Se=_&c;if(T&&(bt=X?T(y,R,X,at):T(y)),bt!==r)return bt;if(!Da(y))return y;var we=bn(y);if(we){if(bt=Be(y),!At)return xs(y,bt)}else{var Ne=le(y),ar=Ne==Ut||Ne==$t;if(Bv(y))return Nv(y,At);if(Ne==Rt||Ne==lt||ar&&!X){if(bt=Bt||ar?{}:me(y),!At)return Bt?vI(y,Mv(bt,y)):Kc(y,Nd(bt,y))}else{if(!Pi[Ne])return X?y:{};bt=De(y,Ne,At)}}at||(at=new au);var Mr=at.get(y);if(Mr)return Mr;at.set(y,bt),d9(y)?y.forEach(function(Qr){bt.add(yo(Qr,_,T,Qr,y,at))}):c9(y)&&y.forEach(function(Qr,Wn){bt.set(Wn,yo(Qr,_,T,Wn,y,at))});var $r=Se?Bt?iw:nw:Bt?Sl:Bo,On=we?r:$r(y);return go(On||y,function(Qr,Wn){On&&(Wn=Qr,Qr=y[Wn]),sy(bt,Wn,yo(Qr,_,T,Wn,y,at))}),bt}function WC(y){var _=Bo(y);return function(T){return Nx(T,y,_)}}function Nx(y,_,T){var R=T.length;if(y==null)return!R;for(y=hi(y);R--;){var X=T[R],at=_[X],bt=y[X];if(bt===r&&!(X in y)||!at(bt))return!1}return!0}function Fx(y,_,T){if(typeof y!="function")throw new gl(i);return yn(function(){y.apply(r,T)},_)}function Fd(y,_,T,R){var X=-1,at=bx,bt=!0,At=y.length,Bt=[],Se=_.length;if(!At)return Bt;T&&(_=Zi(_,Fs(T))),R?(at=CC,bt=!1):_.length>=t&&(at=Fc,bt=!1,_=new Pd(_));t:for(;++XX?0:X+T),R=R===r||R>X?X:Mn(R),R<0&&(R+=X),R=T>R?0:v9(R);T0&&T(At)?_>1?Ja(At,_-1,T,R,X):Rf(X,At):R||(X[X.length]=At)}return X}var fy=$C(),Bx=$C(!0);function ou(y,_){return y&&fy(y,_,Bo)}function Gx(y,_){return y&&Bx(y,_,Bo)}function cy(y,_){return Ru(_,function(T){return Kd(y[T])})}function Vc(y,_){_=su(_,y);for(var T=0,R=_.length;y!=null&&T_}function HC(y,_){return y!=null&&Jn.call(y,_)}function YC(y,_){return y!=null&&_ in hi(y)}function iI(y,_,T){return y>=Ro(_,T)&&y=120&&we.length>=120)?new Pd(bt&&we):r}we=y[0];var Ne=-1,ar=At[0];t:for(;++Ne-1;)At!==y&&ny.call(At,Bt,1),ny.call(y,Bt,1);return y}function KC(y,_){for(var T=y?_.length:0,R=T-1;T--;){var X=_[T];if(T==R||X!==at){var at=X;pe(X)?ny.call(y,X,1):Dv(y,X)}}return y}function Yx(y,_){return y+_v(GC()*(_-y+1))}function OB(y,_,T,R){for(var X=-1,at=ga(Lx((_-y)/(T||1)),0),bt=te(at);at--;)bt[R?at:++X]=y,y+=T;return bt}function Xc(y,_){var T="";if(!y||_<1||_>D)return T;do _%2&&(T+=y),_=_v(_/2),_&&(y+=y);while(_);return T}function An(y,_){return $i(Vr(y,_,Cl),y+"")}function DB(y){return eI(rb(y))}function PB(y,_){var T=rb(y);return Qi(T,Wc(_,0,T.length))}function Ov(y,_,T,R){if(!Da(y))return y;_=su(_,y);for(var X=-1,at=_.length,bt=at-1,At=y;At!=null&&++XX?0:X+_),T=T>X?X:T,T<0&&(T+=X),X=_>T?0:T-_>>>0,_>>>=0;for(var at=te(X);++R>>1,bt=y[at];bt!==null&&!cu(bt)&&(T?bt<=_:bt<_)?R=at+1:X=at}return X}return ZC(y,_,Cl,T)}function ZC(y,_,T,R){var X=0,at=y==null?0:y.length;if(at===0)return 0;_=T(_);for(var bt=_!==_,At=_===null,Bt=cu(_),Se=_===r;X=t){var Se=_?null:BB(y);if(Se)return Qg(Se);bt=!1,X=Fc,Bt=new Pd}else Bt=_?[]:At;t:for(;++R=R?y:xl(y,_,T)}var Rv=iB||function(y){return $a.clearTimeout(y)};function Nv(y,_){if(_)return y.slice();var T=y.length,R=NC?NC(T):new y.constructor(T);return y.copy(R),R}function Vd(y){var _=new y.constructor(y.byteLength);return new ry(_).set(new ry(y)),_}function _y(y,_){var T=_?Vd(y.buffer):y.buffer;return new y.constructor(T,y.byteOffset,y.byteLength)}function Sy(y){var _=new y.constructor(y.source,Ia.exec(y));return _.lastIndex=y.lastIndex,_}function hI(y){return Ev?hi(Ev.call(y)):{}}function Fv(y,_){var T=_?Vd(y.buffer):y.buffer;return new y.constructor(T,y.byteOffset,y.length)}function qc(y,_){if(y!==_){var T=y!==r,R=y===null,X=y===y,at=cu(y),bt=_!==r,At=_===null,Bt=_===_,Se=cu(_);if(!At&&!Se&&!at&&y>_||at&&bt&&Bt&&!At&&!Se||R&&bt&&Bt||!T&&Bt||!X)return 1;if(!R&&!at&&!Se&&y<_||Se&&T&&X&&!R&&!at||At&&T&&X||!bt&&X||!Bt)return-1}return 0}function dI(y,_,T){for(var R=-1,X=y.criteria,at=_.criteria,bt=X.length,At=T.length;++R=At)return Bt;var Se=T[R];return Bt*(Se=="desc"?-1:1)}}return y.index-_.index}function Zx(y,_,T,R){for(var X=-1,at=y.length,bt=T.length,At=-1,Bt=_.length,Se=ga(at-bt,0),we=te(Bt+Se),Ne=!R;++At1?T[X-1]:r,bt=X>2?T[2]:r;for(at=y.length>3&&typeof at=="function"?(X--,at):r,bt&&Le(T[0],T[1],bt)&&(at=X<3?r:at,X=1),_=hi(_);++R-1?X[at?_[bt]:bt]:r}}function $x(y){return Uu(function(_){var T=_.length,R=T,X=yl.prototype.thru;for(y&&_.reverse();R--;){var at=_[R];if(typeof at!="function")throw new gl(i);if(X&&!bt&&tb(at)=="wrapper")var bt=new yl([],!0)}for(R=bt?R:T;++R1&&ti.reverse(),we&&BtAt))return!1;var Se=at.get(y),we=at.get(_);if(Se&&we)return Se==_&&we==y;var Ne=-1,ar=!0,Mr=T&d?new Pd:r;for(at.set(y,_),at.set(_,y);++Ne1?"& ":"")+_[R],_=_.join(T>2?", ":" "),y.replace(mo,`{ +var U2t=Object.create;var fw=Object.defineProperty,j2t=Object.defineProperties,W2t=Object.getOwnPropertyDescriptor,V2t=Object.getOwnPropertyDescriptors,H2t=Object.getOwnPropertyNames,k9=Object.getOwnPropertySymbols,Y2t=Object.getPrototypeOf,R9=Object.prototype.hasOwnProperty,X2t=Object.prototype.propertyIsEnumerable;var N9=(r,e,t)=>e in r?fw(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wl=(r,e)=>{for(var t in e||(e={}))R9.call(e,t)&&N9(r,t,e[t]);if(k9)for(var t of k9(e))X2t.call(e,t)&&N9(r,t,e[t]);return r},F9=(r,e)=>j2t(r,V2t(e)),B9=r=>fw(r,"__esModule",{value:!0});var ft=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Dn=(r,e)=>{B9(r);for(var t in e)fw(r,t,{get:e[t],enumerable:!0})},q2t=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of H2t(e))!R9.call(r,n)&&n!=="default"&&fw(r,n,{get:()=>e[n],enumerable:!(t=W2t(e,n))||t.enumerable});return r},z=r=>q2t(B9(fw(r!=null?U2t(Y2t(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var xa=(r,e,t)=>new Promise((n,i)=>{var a=l=>{try{s(t.next(l))}catch(u){i(u)}},o=l=>{try{s(t.throw(l))}catch(u){i(u)}},s=l=>l.done?n(l.value):Promise.resolve(l.value).then(a,o);s((t=t.apply(r,e)).next())});var Sw=ft((dge,e2)=>{var Nq,Fq,Bq,Gq,zq,Uq,jq,Wq,Vq,JI,k3,Hq,Yq,Xq,pb,qq,Kq,Zq,$q,Qq,Jq,tK,eK,t2;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof e2=="object"&&typeof e2.exports=="object"?r(t(e,t(e2.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])};Nq=function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");e(n,i);function a(){this.constructor=n}n.prototype=i===null?Object.create(i):(a.prototype=i.prototype,new a)},Fq=Object.assign||function(n){for(var i,a=1,o=arguments.length;a=0;f--)(u=n[f])&&(l=(s<3?u(l):s>3?u(i,a,l):u(i,a))||l);return s>3&&l&&Object.defineProperty(i,a,l),l},zq=function(n,i){return function(a,o){i(a,o,n)}},Uq=function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},jq=function(n,i,a,o){function s(l){return l instanceof a?l:new a(function(u){u(l)})}return new(a||(a=Promise))(function(l,u){function f(d){try{h(o.next(d))}catch(p){u(p)}}function c(d){try{h(o.throw(d))}catch(p){u(p)}}function h(d){d.done?l(d.value):s(d.value).then(f,c)}h((o=o.apply(n,i||[])).next())})},Wq=function(n,i){var a={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},o,s,l,u;return u={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function f(h){return function(d){return c([h,d])}}function c(h){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,s&&(l=h[0]&2?s.return:h[0]?s.throw||((l=s.return)&&l.call(s),0):s.next)&&!(l=l.call(s,h[1])).done)return l;switch(s=0,l&&(h=[h[0]&2,l.value]),h[0]){case 0:case 1:l=h;break;case 4:return a.label++,{value:h[1],done:!1};case 5:a.label++,s=h[1],h=[0];continue;case 7:h=a.ops.pop(),a.trys.pop();continue;default:if(l=a.trys,!(l=l.length>0&&l[l.length-1])&&(h[0]===6||h[0]===2)){a=0;continue}if(h[0]===3&&(!l||h[1]>l[0]&&h[1]=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},k3=function(n,i){var a=typeof Symbol=="function"&&n[Symbol.iterator];if(!a)return n;var o=a.call(n),s,l=[],u;try{for(;(i===void 0||i-- >0)&&!(s=o.next()).done;)l.push(s.value)}catch(f){u={error:f}}finally{try{s&&!s.done&&(a=o.return)&&a.call(o)}finally{if(u)throw u.error}}return l},Hq=function(){for(var n=[],i=0;i1||f(v,m)})})}function f(v,m){try{c(o[v](m))}catch(g){p(l[0][3],g)}}function c(v){v.value instanceof pb?Promise.resolve(v.value.v).then(h,d):p(l[0][2],v)}function h(v){f("next",v)}function d(v){f("throw",v)}function p(v,m){v(m),l.shift(),l.length&&f(l[0][0],l[0][1])}},Kq=function(n){var i,a;return i={},o("next"),o("throw",function(s){throw s}),o("return"),i[Symbol.iterator]=function(){return this},i;function o(s,l){i[s]=n[s]?function(u){return(a=!a)?{value:pb(n[s](u)),done:s==="return"}:l?l(u):u}:l}},Zq=function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],a;return i?i.call(n):(n=typeof JI=="function"?JI(n):n[Symbol.iterator](),a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a);function o(l){a[l]=n[l]&&function(u){return new Promise(function(f,c){u=n[l](u),s(f,c,u.done,u.value)})}}function s(l,u,f,c){Promise.resolve(c).then(function(h){l({value:h,done:f})},u)}},$q=function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n};var t=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};Qq=function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var a in n)a!=="default"&&Object.prototype.hasOwnProperty.call(n,a)&&t2(i,n,a);return t(i,n),i},Jq=function(n){return n&&n.__esModule?n:{default:n}},tK=function(n,i,a,o){if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?o:a==="a"?o.call(n):o?o.value:i.get(n)},eK=function(n,i,a,o,s){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!s:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?s.call(n,a):s?s.value=a:i.set(n,a),a},r("__extends",Nq),r("__assign",Fq),r("__rest",Bq),r("__decorate",Gq),r("__param",zq),r("__metadata",Uq),r("__awaiter",jq),r("__generator",Wq),r("__exportStar",Vq),r("__createBinding",t2),r("__values",JI),r("__read",k3),r("__spread",Hq),r("__spreadArrays",Yq),r("__spreadArray",Xq),r("__await",pb),r("__asyncGenerator",qq),r("__asyncDelegator",Kq),r("__asyncValues",Zq),r("__makeTemplateObject",$q),r("__importStar",Qq),r("__importDefault",Jq),r("__classPrivateFieldGet",tK),r("__classPrivateFieldSet",eK)})});var Al=ft(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});var rPt=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)};R3.default=rPt});var r2=ft(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var nPt=Al(),iPt=function(r,e){return nPt.default(r)?r.indexOf(e)>-1:!1};N3.default=iPt});var B3=ft(F3=>{"use strict";Object.defineProperty(F3,"__esModule",{value:!0});var aPt=Al(),oPt=function(r,e){if(!aPt.default(r))return r;for(var t=[],n=0;n{"use strict";Object.defineProperty(G3,"__esModule",{value:!0});var sPt=B3(),lPt=r2(),uPt=function(r,e){return e===void 0&&(e=[]),sPt.default(r,function(t){return!lPt.default(e,t)})};G3.default=uPt});var Hu=ft(z3=>{"use strict";Object.defineProperty(z3,"__esModule",{value:!0});var fPt={}.toString,cPt=function(r,e){return fPt.call(r)==="[object "+e+"]"};z3.default=cPt});var Ml=ft(U3=>{"use strict";Object.defineProperty(U3,"__esModule",{value:!0});var hPt=Hu();U3.default=function(r){return hPt.default(r,"Function")}});var tp=ft(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var dPt=function(r){return r==null};j3.default=dPt});var Ba=ft(W3=>{"use strict";Object.defineProperty(W3,"__esModule",{value:!0});var pPt=Hu();W3.default=function(r){return Array.isArray?Array.isArray(r):pPt.default(r,"Array")}});var Cw=ft(V3=>{"use strict";Object.defineProperty(V3,"__esModule",{value:!0});V3.default=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"}});var Oy=ft(H3=>{"use strict";Object.defineProperty(H3,"__esModule",{value:!0});var vPt=Ba(),mPt=Cw();function gPt(r,e){if(!!r){var t;if(vPt.default(r))for(var n=0,i=r.length;n{"use strict";Object.defineProperty(Y3,"__esModule",{value:!0});var yPt=Oy(),xPt=Ml(),bPt=Object.keys?function(r){return Object.keys(r)}:function(r){var e=[];return yPt.default(r,function(t,n){xPt.default(r)&&n==="prototype"||e.push(n)}),e};Y3.default=bPt});var K3=ft(q3=>{"use strict";Object.defineProperty(q3,"__esModule",{value:!0});var _Pt=tp(),SPt=X3();function CPt(r,e){var t=SPt.default(e),n=t.length;if(_Pt.default(r))return!n;for(var i=0;i{"use strict";Object.defineProperty(Z3,"__esModule",{value:!0});var wPt=function(r){return typeof r=="object"&&r!==null};Z3.default=wPt});var vb=ft($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});var EPt=n2(),APt=Hu(),MPt=function(r){if(!EPt.default(r)||!APt.default(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e};$3.default=MPt});var iK=ft(Q3=>{"use strict";Object.defineProperty(Q3,"__esModule",{value:!0});var TPt=Ml(),IPt=K3(),LPt=Ba(),OPt=vb();function DPt(r,e){if(!LPt.default(r))return null;var t;if(TPt.default(e)&&(t=e),OPt.default(e)&&(t=function(i){return IPt.default(i,e)}),t){for(var n=0;n{"use strict";Object.defineProperty(J3,"__esModule",{value:!0});function PPt(r,e,t){t===void 0&&(t=0);for(var n=t;n{"use strict";Object.defineProperty(tG,"__esModule",{value:!0});var kPt=tp(),RPt=Ba(),NPt=function(r,e){for(var t=null,n=0;n{"use strict";Object.defineProperty(eG,"__esModule",{value:!0});var FPt=Ba(),BPt=function(r){if(!FPt.default(r))return[];for(var e=[],t=0;t{"use strict";Object.defineProperty(rG,"__esModule",{value:!0});var GPt=Ba(),lK=function(r,e){if(e===void 0&&(e=[]),!GPt.default(r))e.push(r);else for(var t=0;t{"use strict";Object.defineProperty(nG,"__esModule",{value:!0});var zPt=Ba();nG.default=function(r){if(!!zPt.default(r))return r.reduce(function(e,t){return Math.max(e,t)},r[0])}});var oG=ft(aG=>{"use strict";Object.defineProperty(aG,"__esModule",{value:!0});var UPt=Ba();aG.default=function(r){if(!!UPt.default(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])}});var fK=ft(sG=>{"use strict";Object.defineProperty(sG,"__esModule",{value:!0});var jPt=Ba(),WPt=iG(),VPt=oG(),HPt=function(r){var e=r.filter(function(o){return!isNaN(o)});if(!e.length)return{min:0,max:0};if(jPt.default(r[0])){for(var t=[],n=0;n{"use strict";Object.defineProperty(lG,"__esModule",{value:!0});var cK=Array.prototype,YPt=cK.splice,XPt=cK.indexOf,qPt=function(r){for(var e=[],t=1;t-1;)YPt.call(r,a,1);return r};lG.default=qPt});var fG=ft(uG=>{"use strict";Object.defineProperty(uG,"__esModule",{value:!0});var KPt=Al(),ZPt=Array.prototype.splice,$Pt=function(e,t){if(!KPt.default(e))return[];for(var n=e?t.length:0,i=n-1;n--;){var a=void 0,o=t[n];(n===i||o!==a)&&(a=o,ZPt.call(e,o,1))}return e};uG.default=$Pt});var hG=ft(cG=>{"use strict";Object.defineProperty(cG,"__esModule",{value:!0});var QPt=Oy(),JPt=Ba(),tkt=vb(),ekt=function(r,e,t){if(!JPt.default(r)&&!tkt.default(r))return r;var n=t;return QPt.default(r,function(i,a){n=e(n,i,a)}),n};cG.default=ekt});var dK=ft(dG=>{"use strict";Object.defineProperty(dG,"__esModule",{value:!0});var rkt=Al(),nkt=fG(),ikt=function(r,e){var t=[];if(!rkt.default(r))return t;for(var n=-1,i=[],a=r.length;++n{"use strict";Object.defineProperty(pG,"__esModule",{value:!0});var akt=Hu();pG.default=function(r){return akt.default(r,"String")}});var pK=ft(vG=>{"use strict";Object.defineProperty(vG,"__esModule",{value:!0});var okt=Ba(),skt=Jc(),lkt=Ml();function ukt(r,e){var t;if(lkt.default(e))t=function(i,a){return e(i)-e(a)};else{var n=[];skt.default(e)?n.push(e):okt.default(e)&&(n=e),t=function(i,a){for(var o=0;oa[s])return 1;if(i[s]{"use strict";Object.defineProperty(mG,"__esModule",{value:!0});function fkt(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n{"use strict";Object.defineProperty(yG,"__esModule",{value:!0});var ckt=gG(),hkt=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(xG,"__esModule",{value:!0});var dkt=Ba(),pkt=tp();xG.default=function(r,e){for(var t=[],n={},i=0;i{"use strict";Object.defineProperty(bG,"__esModule",{value:!0});var vkt=Al();function mkt(r){if(vkt.default(r))return r[0]}bG.default=mkt});var yK=ft(_G=>{"use strict";Object.defineProperty(_G,"__esModule",{value:!0});var gkt=Al();function ykt(r){if(gkt.default(r)){var e=r;return e[e.length-1]}}_G.default=ykt});var xK=ft(SG=>{"use strict";Object.defineProperty(SG,"__esModule",{value:!0});var xkt=Ba(),bkt=Jc();function _kt(r,e){return xkt.default(r)||bkt.default(r)?r[0]===e:!1}SG.default=_kt});var bK=ft(CG=>{"use strict";Object.defineProperty(CG,"__esModule",{value:!0});var Skt=Ba(),Ckt=Jc();function wkt(r,e){return Skt.default(r)||Ckt.default(r)?r[r.length-1]===e:!1}CG.default=wkt});var _K=ft(wG=>{"use strict";Object.defineProperty(wG,"__esModule",{value:!0});var Ekt=function(r,e){for(var t=0;t{"use strict";Object.defineProperty(EG,"__esModule",{value:!0});var Akt=function(r,e){for(var t=0;t{"use strict";Object.defineProperty(AG,"__esModule",{value:!0});var Mkt=Ba(),Tkt=Ml(),Ikt=Object.prototype.hasOwnProperty;function Lkt(r,e){if(!e||!Mkt.default(r))return{};for(var t={},n=Tkt.default(e)?e:function(s){return s[e]},i,a=0;a{"use strict";Object.defineProperty(TG,"__esModule",{value:!0});var Okt=Ba(),Dkt=Ml(),Pkt=MG();function kkt(r,e){if(!e)return{0:r};if(!Dkt.default(e)){var t=Okt.default(e)?e:e.replace(/\s+/g,"").split("*");e=function(n){for(var i="_",a=0,o=t.length;a{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var Rkt=IG();LG.default=function(r,e){if(!e)return[r];var t=Rkt.default(r,e),n=[];for(var i in t)n.push(t[i]);return n}});var wK=ft(OG=>{"use strict";Object.defineProperty(OG,"__esModule",{value:!0});function Nkt(r,e){return r["_wrap_"+e]}OG.default=Nkt});var EK=ft(DG=>{"use strict";Object.defineProperty(DG,"__esModule",{value:!0});function Fkt(r,e){if(r["_wrap_"+e])return r["_wrap_"+e];var t=function(n){r[e](n)};return r["_wrap_"+e]=t,t}DG.default=Fkt});var MK=ft(PG=>{"use strict";Object.defineProperty(PG,"__esModule",{value:!0});var AK={};function Bkt(r){var e=AK[r];if(!e){for(var t=r.toString(16),n=t.length;n<6;n++)t="0"+t;e="#"+t,AK[r]=e}return e}PG.default=Bkt});var TK=ft(kG=>{"use strict";Object.defineProperty(kG,"__esModule",{value:!0});var Gkt=Ba();function zkt(r){var e=0,t=0,n=0,i=0;return Gkt.default(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}kG.default=zkt});var IK=ft(RG=>{"use strict";Object.defineProperty(RG,"__esModule",{value:!0});var Ukt=function(r,e,t){return rt?t:r};RG.default=Ukt});var LK=ft(NG=>{"use strict";Object.defineProperty(NG,"__esModule",{value:!0});var jkt=function(r,e){var t=e.toString(),n=t.indexOf(".");if(n===-1)return Math.round(r);var i=t.substr(n+1).length;return i>20&&(i=20),parseFloat(r.toFixed(i))};NG.default=jkt});var th=ft(FG=>{"use strict";Object.defineProperty(FG,"__esModule",{value:!0});var Wkt=Hu(),Vkt=function(r){return Wkt.default(r,"Number")};FG.default=Vkt});var OK=ft(BG=>{"use strict";Object.defineProperty(BG,"__esModule",{value:!0});var Hkt=th(),Ykt=function(r){return Hkt.default(r)&&r%1!=0};BG.default=Ykt});var DK=ft(GG=>{"use strict";Object.defineProperty(GG,"__esModule",{value:!0});var Xkt=th(),qkt=function(r){return Xkt.default(r)&&r%2==0};GG.default=qkt});var PK=ft(zG=>{"use strict";Object.defineProperty(zG,"__esModule",{value:!0});var Kkt=th(),Zkt=Number.isInteger?Number.isInteger:function(r){return Kkt.default(r)&&r%1==0};zG.default=Zkt});var kK=ft(UG=>{"use strict";Object.defineProperty(UG,"__esModule",{value:!0});var $kt=th(),Qkt=function(r){return $kt.default(r)&&r<0};UG.default=Qkt});var RK=ft(jG=>{"use strict";Object.defineProperty(jG,"__esModule",{value:!0});var Jkt=1e-5;function tRt(r,e,t){return t===void 0&&(t=Jkt),Math.abs(r-e){"use strict";Object.defineProperty(WG,"__esModule",{value:!0});var eRt=th(),rRt=function(r){return eRt.default(r)&&r%2!=0};WG.default=rRt});var FK=ft(VG=>{"use strict";Object.defineProperty(VG,"__esModule",{value:!0});var nRt=th(),iRt=function(r){return nRt.default(r)&&r>0};VG.default=iRt});var BK=ft(HG=>{"use strict";Object.defineProperty(HG,"__esModule",{value:!0});var aRt=Ba(),oRt=Ml();HG.default=function(r,e){if(!!aRt.default(r)){for(var t,n=-1/0,i=0;in&&(t=a,n=o)}return t}}});var GK=ft(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var sRt=Ba(),lRt=Ml();YG.default=function(r,e){if(!!sRt.default(r)){for(var t,n=1/0,i=0;i{"use strict";Object.defineProperty(XG,"__esModule",{value:!0});var uRt=function(r,e){return(r%e+e)%e};XG.default=uRt});var UK=ft(qG=>{"use strict";Object.defineProperty(qG,"__esModule",{value:!0});var fRt=180/Math.PI,cRt=function(r){return fRt*r};qG.default=cRt});var jK=ft(KG=>{"use strict";Object.defineProperty(KG,"__esModule",{value:!0});KG.default=parseInt});var WK=ft(ZG=>{"use strict";Object.defineProperty(ZG,"__esModule",{value:!0});var hRt=Math.PI/180,dRt=function(r){return hRt*r};ZG.default=dRt});var VK=ft($G=>{"use strict";Object.defineProperty($G,"__esModule",{value:!0});var pRt=Oy();$G.default=pRt.default});var JG=ft(QG=>{"use strict";Object.defineProperty(QG,"__esModule",{value:!0});QG.default=function(r,e){return r.hasOwnProperty(e)}});var HK=ft(t5=>{"use strict";Object.defineProperty(t5,"__esModule",{value:!0});var vRt=JG();t5.default=vRt.default});var i2=ft(e5=>{"use strict";Object.defineProperty(e5,"__esModule",{value:!0});var mRt=Oy(),gRt=Ml(),yRt=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return mRt.default(r,function(t,n){gRt.default(r)&&n==="prototype"||e.push(t)}),e};e5.default=yRt});var YK=ft(r5=>{"use strict";Object.defineProperty(r5,"__esModule",{value:!0});var xRt=r2(),bRt=i2();r5.default=function(r,e){return xRt.default(bRt.default(r),e)}});var Dy=ft(n5=>{"use strict";Object.defineProperty(n5,"__esModule",{value:!0});var _Rt=tp();n5.default=function(r){return _Rt.default(r)?"":r.toString()}});var XK=ft(i5=>{"use strict";Object.defineProperty(i5,"__esModule",{value:!0});var SRt=Dy(),CRt=function(r){return SRt.default(r).toLowerCase()};i5.default=CRt});var qK=ft(a5=>{"use strict";Object.defineProperty(a5,"__esModule",{value:!0});var wRt=Dy(),ERt=function(r){var e=wRt.default(r);return e.charAt(0).toLowerCase()+e.substring(1)};a5.default=ERt});var KK=ft(o5=>{"use strict";Object.defineProperty(o5,"__esModule",{value:!0});function ARt(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}o5.default=ARt});var ZK=ft(s5=>{"use strict";Object.defineProperty(s5,"__esModule",{value:!0});var MRt=Dy(),TRt=function(r){return MRt.default(r).toUpperCase()};s5.default=TRt});var $K=ft(l5=>{"use strict";Object.defineProperty(l5,"__esModule",{value:!0});var IRt=Dy(),LRt=function(r){var e=IRt.default(r);return e.charAt(0).toUpperCase()+e.substring(1)};l5.default=LRt});var f5=ft(u5=>{"use strict";Object.defineProperty(u5,"__esModule",{value:!0});var ORt={}.toString,DRt=function(r){return ORt.call(r).replace(/^\[object /,"").replace(/]$/,"")};u5.default=DRt});var QK=ft(c5=>{"use strict";Object.defineProperty(c5,"__esModule",{value:!0});var PRt=Hu(),kRt=function(r){return PRt.default(r,"Arguments")};c5.default=kRt});var JK=ft(h5=>{"use strict";Object.defineProperty(h5,"__esModule",{value:!0});var RRt=Hu(),NRt=function(r){return RRt.default(r,"Boolean")};h5.default=NRt});var tZ=ft(d5=>{"use strict";Object.defineProperty(d5,"__esModule",{value:!0});var FRt=Hu(),BRt=function(r){return FRt.default(r,"Date")};d5.default=BRt});var eZ=ft(p5=>{"use strict";Object.defineProperty(p5,"__esModule",{value:!0});var GRt=Hu(),zRt=function(r){return GRt.default(r,"Error")};p5.default=zRt});var rZ=ft(v5=>{"use strict";Object.defineProperty(v5,"__esModule",{value:!0});var URt=th();function jRt(r){return URt.default(r)&&isFinite(r)}v5.default=jRt});var nZ=ft(m5=>{"use strict";Object.defineProperty(m5,"__esModule",{value:!0});var WRt=function(r){return r===null};m5.default=WRt});var y5=ft(g5=>{"use strict";Object.defineProperty(g5,"__esModule",{value:!0});var VRt=Object.prototype,HRt=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||VRt;return r===t};g5.default=HRt});var iZ=ft(x5=>{"use strict";Object.defineProperty(x5,"__esModule",{value:!0});var YRt=Hu(),XRt=function(r){return YRt.default(r,"RegExp")};x5.default=XRt});var aZ=ft(b5=>{"use strict";Object.defineProperty(b5,"__esModule",{value:!0});var qRt=function(r){return r===void 0};b5.default=qRt});var oZ=ft(_5=>{"use strict";Object.defineProperty(_5,"__esModule",{value:!0});var KRt=function(r){return r instanceof Element||r instanceof HTMLDocument};_5.default=KRt});var sZ=ft(S5=>{"use strict";Object.defineProperty(S5,"__esModule",{value:!0});function ZRt(r){var e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,16)};return e(r)}S5.default=ZRt});var lZ=ft(C5=>{"use strict";Object.defineProperty(C5,"__esModule",{value:!0});function $Rt(r){var e=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout;e(r)}C5.default=$Rt});var a2=ft(E5=>{"use strict";Object.defineProperty(E5,"__esModule",{value:!0});function w5(r,e){for(var t in e)e.hasOwnProperty(t)&&t!=="constructor"&&e[t]!==void 0&&(r[t]=e[t])}function QRt(r,e,t,n){return e&&w5(r,e),t&&w5(r,t),n&&w5(r,n),r}E5.default=QRt});var uZ=ft(A5=>{"use strict";Object.defineProperty(A5,"__esModule",{value:!0});var JRt=a2(),tNt=Ml(),eNt=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(T5,"__esModule",{value:!0});var rNt=Ba(),M5=function(r){if(typeof r!="object"||r===null)return r;var e;if(rNt.default(r)){e=[];for(var t=0,n=r.length;t{"use strict";Object.defineProperty(I5,"__esModule",{value:!0});function nNt(r,e,t){var n;return function(){var i=this,a=arguments,o=function(){n=null,t||r.apply(i,a)},s=t&&!n;clearTimeout(n),n=setTimeout(o,e),s&&r.apply(i,a)}}I5.default=nNt});var O5=ft(L5=>{"use strict";Object.defineProperty(L5,"__esModule",{value:!0});var iNt=Ml();L5.default=function(r,e){if(!iNt.default(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i{"use strict";Object.defineProperty(D5,"__esModule",{value:!0});var aNt=Ba(),hZ=vb(),oNt=5;function dZ(r,e,t,n){t=t||0,n=n||oNt;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];a!==null&&hZ.default(a)?(hZ.default(r[i])||(r[i]={}),t{"use strict";Object.defineProperty(k5,"__esModule",{value:!0});var P5=a2(),lNt=Ml(),uNt=function(r,e,t,n){lNt.default(e)||(t=e,e=r,r=function(){});var i=Object.create?function(o,s){return Object.create(o,{constructor:{value:s}})}:function(o,s){function l(){}l.prototype=o;var u=new l;return u.constructor=s,u},a=i(e.prototype,r);return r.prototype=P5.default(a,r.prototype),r.superclass=i(e.prototype,e),P5.default(a,t),P5.default(r,n),r};k5.default=uNt});var mZ=ft(R5=>{"use strict";Object.defineProperty(R5,"__esModule",{value:!0});var fNt=Al(),cNt=function(r,e){if(!fNt.default(r))return-1;var t=Array.prototype.indexOf;if(t)return t.call(r,e);for(var n=-1,i=0;i{"use strict";Object.defineProperty(N5,"__esModule",{value:!0});var hNt=tp(),dNt=Al(),pNt=f5(),vNt=y5(),mNt=Object.prototype.hasOwnProperty;function gNt(r){if(hNt.default(r))return!0;if(dNt.default(r))return!r.length;var e=pNt.default(r);if(e==="Map"||e==="Set")return!r.size;if(vNt.default(r))return!Object.keys(r).length;for(var t in r)if(mNt.call(r,t))return!1;return!0}N5.default=gNt});var G5=ft(B5=>{"use strict";Object.defineProperty(B5,"__esModule",{value:!0});var yZ=n2(),xZ=Al(),bZ=Jc(),F5=function(r,e){if(r===e)return!0;if(!r||!e||bZ.default(r)||bZ.default(e))return!1;if(xZ.default(r)||xZ.default(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n{"use strict";Object.defineProperty(z5,"__esModule",{value:!0});var yNt=Ml(),xNt=G5();z5.default=function(r,e,t){return yNt.default(t)?!!t(r,e):xNt.default(r,e)}});var SZ=ft(U5=>{"use strict";Object.defineProperty(U5,"__esModule",{value:!0});var bNt=Al(),_Nt=function(r,e){if(!bNt.default(r))return r;for(var t=[],n=0;n{"use strict";Object.defineProperty(j5,"__esModule",{value:!0});var SNt=tp(),CNt=Cw(),wNt=function(r){return r};j5.default=function(r,e){e===void 0&&(e=wNt);var t={};return CNt.default(r)&&!SNt.default(r)&&Object.keys(r).forEach(function(n){t[n]=e(r[n],n)}),t}});var wZ=ft(W5=>{"use strict";Object.defineProperty(W5,"__esModule",{value:!0});var ENt=Jc();W5.default=function(r,e,t){for(var n=0,i=ENt.default(e)?e.split("."):e;r&&n{"use strict";Object.defineProperty(V5,"__esModule",{value:!0});var ANt=Cw(),MNt=Jc(),TNt=th();V5.default=function(r,e,t){var n=r,i=MNt.default(e)?e.split("."):e;return i.forEach(function(a,o){o{"use strict";Object.defineProperty(H5,"__esModule",{value:!0});var INt=Oy(),LNt=vb(),ONt=Object.prototype.hasOwnProperty;H5.default=function(r,e){if(r===null||!LNt.default(r))return{};var t={};return INt.default(e,function(n){ONt.call(r,n)&&(t[n]=r[n])}),t}});var MZ=ft(Y5=>{"use strict";Object.defineProperty(Y5,"__esModule",{value:!0});var DNt=hG();Y5.default=function(r,e){return DNt.default(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})}});var TZ=ft(X5=>{"use strict";Object.defineProperty(X5,"__esModule",{value:!0});X5.default=function(r,e,t){var n,i,a,o,s=0;t||(t={});var l=function(){s=t.leading===!1?0:Date.now(),n=null,o=r.apply(i,a),n||(i=a=null)},u=function(){var f=Date.now();!s&&t.leading===!1&&(s=f);var c=e-(f-s);return i=this,a=arguments,c<=0||c>e?(n&&(clearTimeout(n),n=null),s=f,o=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,c)),o};return u.cancel=function(){clearTimeout(n),s=0,n=i=a=null},u}});var IZ=ft(q5=>{"use strict";Object.defineProperty(q5,"__esModule",{value:!0});var PNt=Al();q5.default=function(r){return PNt.default(r)?Array.prototype.slice.call(r):[]}});var LZ=ft(K5=>{"use strict";Object.defineProperty(K5,"__esModule",{value:!0});var o2={};K5.default=function(r){return r=r||"g",o2[r]?o2[r]+=1:o2[r]=1,r+o2[r]}});var OZ=ft(Z5=>{"use strict";Object.defineProperty(Z5,"__esModule",{value:!0});Z5.default=function(){}});var DZ=ft($5=>{"use strict";Object.defineProperty($5,"__esModule",{value:!0});$5.default=function(r){return r}});var PZ=ft(Q5=>{"use strict";Object.defineProperty(Q5,"__esModule",{value:!0});var kNt=tp(),RNt=Al();function NNt(r){return kNt.default(r)?0:RNt.default(r)?r.length:Object.keys(r).length}Q5.default=NNt});var t4=ft(J5=>{"use strict";Object.defineProperty(J5,"__esModule",{value:!0});var FNt=Sw(),BNt=i2(),GNt=O5(),zNt=Jc(),s2;J5.default=GNt.default(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,o=e.fontVariant;return s2||(s2=document.createElement("canvas").getContext("2d")),s2.font=[a,o,i,t+"px",n].join(" "),s2.measureText(zNt.default(r)?r:"").width},function(r,e){return e===void 0&&(e={}),FNt.__spreadArrays([r],BNt.default(e)).join("")})});var kZ=ft(e4=>{"use strict";Object.defineProperty(e4,"__esModule",{value:!0});var UNt=Jc(),jNt=Dy(),l2=t4();e4.default=function(r,e,t,n){n===void 0&&(n="...");var i=16,a=l2.default(n,t),o=UNt.default(r)?r:jNt.default(r),s=e,l=[],u,f;if(l2.default(r,t)<=e)return r;for(;u=o.substr(0,i),f=l2.default(u,t),!(f+a>s&&f>s);)if(l.push(u),s-=f,o=o.substr(i),!o)return l.join("");for(;u=o.substr(0,1),f=l2.default(u,t),!(f+a>s);)if(l.push(u),s-=f,o=o.substr(1),!o)return l.join("");return""+l.join("")+n}});var RZ=ft(r4=>{"use strict";Object.defineProperty(r4,"__esModule",{value:!0});var WNt=function(){function r(){this.map={}}return r.prototype.has=function(e){return this.map[e]!==void 0},r.prototype.get=function(e,t){var n=this.map[e];return n===void 0?t:n},r.prototype.set=function(e,t){this.map[e]=t},r.prototype.clear=function(){this.map={}},r.prototype.delete=function(e){delete this.map[e]},r.prototype.size=function(){return Object.keys(this.map).length},r}();r4.default=WNt});var q=ft(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});var NZ=r2();Object.defineProperty(Ee,"contains",{enumerable:!0,get:function(){return NZ.default}});Object.defineProperty(Ee,"includes",{enumerable:!0,get:function(){return NZ.default}});var VNt=nK();Object.defineProperty(Ee,"difference",{enumerable:!0,get:function(){return VNt.default}});var HNt=iK();Object.defineProperty(Ee,"find",{enumerable:!0,get:function(){return HNt.default}});var YNt=aK();Object.defineProperty(Ee,"findIndex",{enumerable:!0,get:function(){return YNt.default}});var XNt=oK();Object.defineProperty(Ee,"firstValue",{enumerable:!0,get:function(){return XNt.default}});var qNt=sK();Object.defineProperty(Ee,"flatten",{enumerable:!0,get:function(){return qNt.default}});var KNt=uK();Object.defineProperty(Ee,"flattenDeep",{enumerable:!0,get:function(){return KNt.default}});var ZNt=fK();Object.defineProperty(Ee,"getRange",{enumerable:!0,get:function(){return ZNt.default}});var $Nt=hK();Object.defineProperty(Ee,"pull",{enumerable:!0,get:function(){return $Nt.default}});var QNt=fG();Object.defineProperty(Ee,"pullAt",{enumerable:!0,get:function(){return QNt.default}});var JNt=hG();Object.defineProperty(Ee,"reduce",{enumerable:!0,get:function(){return JNt.default}});var tFt=dK();Object.defineProperty(Ee,"remove",{enumerable:!0,get:function(){return tFt.default}});var eFt=pK();Object.defineProperty(Ee,"sortBy",{enumerable:!0,get:function(){return eFt.default}});var rFt=vK();Object.defineProperty(Ee,"union",{enumerable:!0,get:function(){return rFt.default}});var nFt=gG();Object.defineProperty(Ee,"uniq",{enumerable:!0,get:function(){return nFt.default}});var iFt=mK();Object.defineProperty(Ee,"valuesOfKey",{enumerable:!0,get:function(){return iFt.default}});var aFt=gK();Object.defineProperty(Ee,"head",{enumerable:!0,get:function(){return aFt.default}});var oFt=yK();Object.defineProperty(Ee,"last",{enumerable:!0,get:function(){return oFt.default}});var sFt=xK();Object.defineProperty(Ee,"startsWith",{enumerable:!0,get:function(){return sFt.default}});var lFt=bK();Object.defineProperty(Ee,"endsWith",{enumerable:!0,get:function(){return lFt.default}});var uFt=B3();Object.defineProperty(Ee,"filter",{enumerable:!0,get:function(){return uFt.default}});var fFt=_K();Object.defineProperty(Ee,"every",{enumerable:!0,get:function(){return fFt.default}});var cFt=SK();Object.defineProperty(Ee,"some",{enumerable:!0,get:function(){return cFt.default}});var hFt=CK();Object.defineProperty(Ee,"group",{enumerable:!0,get:function(){return hFt.default}});var dFt=MG();Object.defineProperty(Ee,"groupBy",{enumerable:!0,get:function(){return dFt.default}});var pFt=IG();Object.defineProperty(Ee,"groupToMap",{enumerable:!0,get:function(){return pFt.default}});var vFt=wK();Object.defineProperty(Ee,"getWrapBehavior",{enumerable:!0,get:function(){return vFt.default}});var mFt=EK();Object.defineProperty(Ee,"wrapBehavior",{enumerable:!0,get:function(){return mFt.default}});var gFt=MK();Object.defineProperty(Ee,"number2color",{enumerable:!0,get:function(){return gFt.default}});var yFt=TK();Object.defineProperty(Ee,"parseRadius",{enumerable:!0,get:function(){return yFt.default}});var xFt=IK();Object.defineProperty(Ee,"clamp",{enumerable:!0,get:function(){return xFt.default}});var bFt=LK();Object.defineProperty(Ee,"fixedBase",{enumerable:!0,get:function(){return bFt.default}});var _Ft=OK();Object.defineProperty(Ee,"isDecimal",{enumerable:!0,get:function(){return _Ft.default}});var SFt=DK();Object.defineProperty(Ee,"isEven",{enumerable:!0,get:function(){return SFt.default}});var CFt=PK();Object.defineProperty(Ee,"isInteger",{enumerable:!0,get:function(){return CFt.default}});var wFt=kK();Object.defineProperty(Ee,"isNegative",{enumerable:!0,get:function(){return wFt.default}});var EFt=RK();Object.defineProperty(Ee,"isNumberEqual",{enumerable:!0,get:function(){return EFt.default}});var AFt=NK();Object.defineProperty(Ee,"isOdd",{enumerable:!0,get:function(){return AFt.default}});var MFt=FK();Object.defineProperty(Ee,"isPositive",{enumerable:!0,get:function(){return MFt.default}});var TFt=iG();Object.defineProperty(Ee,"max",{enumerable:!0,get:function(){return TFt.default}});var IFt=BK();Object.defineProperty(Ee,"maxBy",{enumerable:!0,get:function(){return IFt.default}});var LFt=oG();Object.defineProperty(Ee,"min",{enumerable:!0,get:function(){return LFt.default}});var OFt=GK();Object.defineProperty(Ee,"minBy",{enumerable:!0,get:function(){return OFt.default}});var DFt=zK();Object.defineProperty(Ee,"mod",{enumerable:!0,get:function(){return DFt.default}});var PFt=UK();Object.defineProperty(Ee,"toDegree",{enumerable:!0,get:function(){return PFt.default}});var kFt=jK();Object.defineProperty(Ee,"toInteger",{enumerable:!0,get:function(){return kFt.default}});var RFt=WK();Object.defineProperty(Ee,"toRadian",{enumerable:!0,get:function(){return RFt.default}});var NFt=VK();Object.defineProperty(Ee,"forIn",{enumerable:!0,get:function(){return NFt.default}});var FFt=JG();Object.defineProperty(Ee,"has",{enumerable:!0,get:function(){return FFt.default}});var BFt=HK();Object.defineProperty(Ee,"hasKey",{enumerable:!0,get:function(){return BFt.default}});var GFt=YK();Object.defineProperty(Ee,"hasValue",{enumerable:!0,get:function(){return GFt.default}});var zFt=X3();Object.defineProperty(Ee,"keys",{enumerable:!0,get:function(){return zFt.default}});var UFt=K3();Object.defineProperty(Ee,"isMatch",{enumerable:!0,get:function(){return UFt.default}});var jFt=i2();Object.defineProperty(Ee,"values",{enumerable:!0,get:function(){return jFt.default}});var WFt=XK();Object.defineProperty(Ee,"lowerCase",{enumerable:!0,get:function(){return WFt.default}});var VFt=qK();Object.defineProperty(Ee,"lowerFirst",{enumerable:!0,get:function(){return VFt.default}});var HFt=KK();Object.defineProperty(Ee,"substitute",{enumerable:!0,get:function(){return HFt.default}});var YFt=ZK();Object.defineProperty(Ee,"upperCase",{enumerable:!0,get:function(){return YFt.default}});var XFt=$K();Object.defineProperty(Ee,"upperFirst",{enumerable:!0,get:function(){return XFt.default}});var qFt=f5();Object.defineProperty(Ee,"getType",{enumerable:!0,get:function(){return qFt.default}});var KFt=QK();Object.defineProperty(Ee,"isArguments",{enumerable:!0,get:function(){return KFt.default}});var ZFt=Ba();Object.defineProperty(Ee,"isArray",{enumerable:!0,get:function(){return ZFt.default}});var $Ft=Al();Object.defineProperty(Ee,"isArrayLike",{enumerable:!0,get:function(){return $Ft.default}});var QFt=JK();Object.defineProperty(Ee,"isBoolean",{enumerable:!0,get:function(){return QFt.default}});var JFt=tZ();Object.defineProperty(Ee,"isDate",{enumerable:!0,get:function(){return JFt.default}});var tBt=eZ();Object.defineProperty(Ee,"isError",{enumerable:!0,get:function(){return tBt.default}});var eBt=Ml();Object.defineProperty(Ee,"isFunction",{enumerable:!0,get:function(){return eBt.default}});var rBt=rZ();Object.defineProperty(Ee,"isFinite",{enumerable:!0,get:function(){return rBt.default}});var nBt=tp();Object.defineProperty(Ee,"isNil",{enumerable:!0,get:function(){return nBt.default}});var iBt=nZ();Object.defineProperty(Ee,"isNull",{enumerable:!0,get:function(){return iBt.default}});var aBt=th();Object.defineProperty(Ee,"isNumber",{enumerable:!0,get:function(){return aBt.default}});var oBt=Cw();Object.defineProperty(Ee,"isObject",{enumerable:!0,get:function(){return oBt.default}});var sBt=n2();Object.defineProperty(Ee,"isObjectLike",{enumerable:!0,get:function(){return sBt.default}});var lBt=vb();Object.defineProperty(Ee,"isPlainObject",{enumerable:!0,get:function(){return lBt.default}});var uBt=y5();Object.defineProperty(Ee,"isPrototype",{enumerable:!0,get:function(){return uBt.default}});var fBt=iZ();Object.defineProperty(Ee,"isRegExp",{enumerable:!0,get:function(){return fBt.default}});var cBt=Jc();Object.defineProperty(Ee,"isString",{enumerable:!0,get:function(){return cBt.default}});var hBt=Hu();Object.defineProperty(Ee,"isType",{enumerable:!0,get:function(){return hBt.default}});var dBt=aZ();Object.defineProperty(Ee,"isUndefined",{enumerable:!0,get:function(){return dBt.default}});var pBt=oZ();Object.defineProperty(Ee,"isElement",{enumerable:!0,get:function(){return pBt.default}});var vBt=sZ();Object.defineProperty(Ee,"requestAnimationFrame",{enumerable:!0,get:function(){return vBt.default}});var mBt=lZ();Object.defineProperty(Ee,"clearAnimationFrame",{enumerable:!0,get:function(){return mBt.default}});var gBt=uZ();Object.defineProperty(Ee,"augment",{enumerable:!0,get:function(){return gBt.default}});var yBt=fZ();Object.defineProperty(Ee,"clone",{enumerable:!0,get:function(){return yBt.default}});var xBt=cZ();Object.defineProperty(Ee,"debounce",{enumerable:!0,get:function(){return xBt.default}});var bBt=O5();Object.defineProperty(Ee,"memoize",{enumerable:!0,get:function(){return bBt.default}});var _Bt=pZ();Object.defineProperty(Ee,"deepMix",{enumerable:!0,get:function(){return _Bt.default}});var SBt=Oy();Object.defineProperty(Ee,"each",{enumerable:!0,get:function(){return SBt.default}});var CBt=vZ();Object.defineProperty(Ee,"extend",{enumerable:!0,get:function(){return CBt.default}});var wBt=mZ();Object.defineProperty(Ee,"indexOf",{enumerable:!0,get:function(){return wBt.default}});var EBt=gZ();Object.defineProperty(Ee,"isEmpty",{enumerable:!0,get:function(){return EBt.default}});var ABt=G5();Object.defineProperty(Ee,"isEqual",{enumerable:!0,get:function(){return ABt.default}});var MBt=_Z();Object.defineProperty(Ee,"isEqualWith",{enumerable:!0,get:function(){return MBt.default}});var TBt=SZ();Object.defineProperty(Ee,"map",{enumerable:!0,get:function(){return TBt.default}});var IBt=CZ();Object.defineProperty(Ee,"mapValues",{enumerable:!0,get:function(){return IBt.default}});var FZ=a2();Object.defineProperty(Ee,"mix",{enumerable:!0,get:function(){return FZ.default}});Object.defineProperty(Ee,"assign",{enumerable:!0,get:function(){return FZ.default}});var LBt=wZ();Object.defineProperty(Ee,"get",{enumerable:!0,get:function(){return LBt.default}});var OBt=EZ();Object.defineProperty(Ee,"set",{enumerable:!0,get:function(){return OBt.default}});var DBt=AZ();Object.defineProperty(Ee,"pick",{enumerable:!0,get:function(){return DBt.default}});var PBt=MZ();Object.defineProperty(Ee,"omit",{enumerable:!0,get:function(){return PBt.default}});var kBt=TZ();Object.defineProperty(Ee,"throttle",{enumerable:!0,get:function(){return kBt.default}});var RBt=IZ();Object.defineProperty(Ee,"toArray",{enumerable:!0,get:function(){return RBt.default}});var NBt=Dy();Object.defineProperty(Ee,"toString",{enumerable:!0,get:function(){return NBt.default}});var FBt=LZ();Object.defineProperty(Ee,"uniqueId",{enumerable:!0,get:function(){return FBt.default}});var BBt=OZ();Object.defineProperty(Ee,"noop",{enumerable:!0,get:function(){return BBt.default}});var GBt=DZ();Object.defineProperty(Ee,"identity",{enumerable:!0,get:function(){return GBt.default}});var zBt=PZ();Object.defineProperty(Ee,"size",{enumerable:!0,get:function(){return zBt.default}});var UBt=t4();Object.defineProperty(Ee,"measureTextWidth",{enumerable:!0,get:function(){return UBt.default}});var jBt=kZ();Object.defineProperty(Ee,"getEllipsisText",{enumerable:!0,get:function(){return jBt.default}});var WBt=RZ();Object.defineProperty(Ee,"Cache",{enumerable:!0,get:function(){return WBt.default}})});var WJ=ft((_Ce,Z2)=>{var CJ,wJ,EJ,AJ,MJ,TJ,IJ,LJ,OJ,K2,Ez,DJ,PJ,Ib,kJ,RJ,NJ,FJ,BJ,GJ,zJ,UJ,jJ;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof Z2=="object"&&typeof Z2.exports=="object"?r(t(e,t(Z2.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])};CJ=function(t,n){e(t,n);function i(){this.constructor=t}t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},wJ=Object.assign||function(t){for(var n,i=1,a=arguments.length;i=0;u--)(l=t[u])&&(s=(o<3?l(s):o>3?l(n,i,s):l(n,i))||s);return o>3&&s&&Object.defineProperty(n,i,s),s},MJ=function(t,n){return function(i,a){n(i,a,t)}},TJ=function(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)},IJ=function(t,n,i,a){function o(s){return s instanceof i?s:new i(function(l){l(s)})}return new(i||(i=Promise))(function(s,l){function u(h){try{c(a.next(h))}catch(d){l(d)}}function f(h){try{c(a.throw(h))}catch(d){l(d)}}function c(h){h.done?s(h.value):o(h.value).then(u,f)}c((a=a.apply(t,n||[])).next())})},LJ=function(t,n){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,o,s,l;return l={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function u(c){return function(h){return f([c,h])}}function f(c){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,o&&(s=c[0]&2?o.return:c[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,c[1])).done)return s;switch(o=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(s=i.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},Ez=function(t,n){var i=typeof Symbol=="function"&&t[Symbol.iterator];if(!i)return t;var a=i.call(t),o,s=[],l;try{for(;(n===void 0||n-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){l={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return s},DJ=function(){for(var t=[],n=0;n1||u(p,v)})})}function u(p,v){try{f(a[p](v))}catch(m){d(s[0][3],m)}}function f(p){p.value instanceof Ib?Promise.resolve(p.value.v).then(c,h):d(s[0][2],p)}function c(p){u("next",p)}function h(p){u("throw",p)}function d(p,v){p(v),s.shift(),s.length&&u(s[0][0],s[0][1])}},RJ=function(t){var n,i;return n={},a("next"),a("throw",function(o){throw o}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(o,s){n[o]=t[o]?function(l){return(i=!i)?{value:Ib(t[o](l)),done:o==="return"}:s?s(l):l}:s}},NJ=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],i;return n?n.call(t):(t=typeof K2=="function"?K2(t):t[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(s){i[s]=t[s]&&function(l){return new Promise(function(u,f){l=t[s](l),o(u,f,l.done,l.value)})}}function o(s,l,u,f){Promise.resolve(f).then(function(c){s({value:c,done:u})},l)}},FJ=function(t,n){return Object.defineProperty?Object.defineProperty(t,"raw",{value:n}):t.raw=n,t},BJ=function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var i in t)Object.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n.default=t,n},GJ=function(t){return t&&t.__esModule?t:{default:t}},zJ=function(t,n){if(!n.has(t))throw new TypeError("attempted to get private field on non-instance");return n.get(t)},UJ=function(t,n,i){if(!n.has(t))throw new TypeError("attempted to set private field on non-instance");return n.set(t,i),i},r("__extends",CJ),r("__assign",wJ),r("__rest",EJ),r("__decorate",AJ),r("__param",MJ),r("__metadata",TJ),r("__awaiter",IJ),r("__generator",LJ),r("__exportStar",OJ),r("__createBinding",jJ),r("__values",K2),r("__read",Ez),r("__spread",DJ),r("__spreadArrays",PJ),r("__await",Ib),r("__asyncGenerator",kJ),r("__asyncDelegator",RJ),r("__asyncValues",NJ),r("__makeTemplateObject",FJ),r("__importStar",BJ),r("__importDefault",GJ),r("__classPrivateFieldGet",zJ),r("__classPrivateFieldSet",UJ)})});var mtt=ft((dwe,Q2)=>{var ZJ,$J,QJ,JJ,ttt,ett,rtt,ntt,itt,$2,Mz,att,ott,Ob,stt,ltt,utt,ftt,ctt,htt,dtt,ptt,vtt;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof Q2=="object"&&typeof Q2.exports=="object"?r(t(e,t(Q2.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i])};ZJ=function(t,n){e(t,n);function i(){this.constructor=t}t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},$J=Object.assign||function(t){for(var n,i=1,a=arguments.length;i=0;u--)(l=t[u])&&(s=(o<3?l(s):o>3?l(n,i,s):l(n,i))||s);return o>3&&s&&Object.defineProperty(n,i,s),s},ttt=function(t,n){return function(i,a){n(i,a,t)}},ett=function(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)},rtt=function(t,n,i,a){function o(s){return s instanceof i?s:new i(function(l){l(s)})}return new(i||(i=Promise))(function(s,l){function u(h){try{c(a.next(h))}catch(d){l(d)}}function f(h){try{c(a.throw(h))}catch(d){l(d)}}function c(h){h.done?s(h.value):o(h.value).then(u,f)}c((a=a.apply(t,n||[])).next())})},ntt=function(t,n){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,o,s,l;return l={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function u(c){return function(h){return f([c,h])}}function f(c){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,o&&(s=c[0]&2?o.return:c[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,c[1])).done)return s;switch(o=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(s=i.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},Mz=function(t,n){var i=typeof Symbol=="function"&&t[Symbol.iterator];if(!i)return t;var a=i.call(t),o,s=[],l;try{for(;(n===void 0||n-- >0)&&!(o=a.next()).done;)s.push(o.value)}catch(u){l={error:u}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return s},att=function(){for(var t=[],n=0;n1||u(p,v)})})}function u(p,v){try{f(a[p](v))}catch(m){d(s[0][3],m)}}function f(p){p.value instanceof Ob?Promise.resolve(p.value.v).then(c,h):d(s[0][2],p)}function c(p){u("next",p)}function h(p){u("throw",p)}function d(p,v){p(v),s.shift(),s.length&&u(s[0][0],s[0][1])}},ltt=function(t){var n,i;return n={},a("next"),a("throw",function(o){throw o}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(o,s){n[o]=t[o]?function(l){return(i=!i)?{value:Ob(t[o](l)),done:o==="return"}:s?s(l):l}:s}},utt=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],i;return n?n.call(t):(t=typeof $2=="function"?$2(t):t[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(s){i[s]=t[s]&&function(l){return new Promise(function(u,f){l=t[s](l),o(u,f,l.done,l.value)})}}function o(s,l,u,f){Promise.resolve(f).then(function(c){s({value:c,done:u})},l)}},ftt=function(t,n){return Object.defineProperty?Object.defineProperty(t,"raw",{value:n}):t.raw=n,t},ctt=function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var i in t)Object.hasOwnProperty.call(t,i)&&(n[i]=t[i]);return n.default=t,n},htt=function(t){return t&&t.__esModule?t:{default:t}},dtt=function(t,n){if(!n.has(t))throw new TypeError("attempted to get private field on non-instance");return n.get(t)},ptt=function(t,n,i){if(!n.has(t))throw new TypeError("attempted to set private field on non-instance");return n.set(t,i),i},r("__extends",ZJ),r("__assign",$J),r("__rest",QJ),r("__decorate",JJ),r("__param",ttt),r("__metadata",ett),r("__awaiter",rtt),r("__generator",ntt),r("__exportStar",itt),r("__createBinding",vtt),r("__values",$2),r("__read",Mz),r("__spread",att),r("__spreadArrays",ott),r("__await",Ob),r("__asyncGenerator",stt),r("__asyncDelegator",ltt),r("__asyncValues",utt),r("__makeTemplateObject",ftt),r("__importStar",ctt),r("__importDefault",htt),r("__classPrivateFieldGet",dtt),r("__classPrivateFieldSet",ptt)})});var xst=ft(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});pD.default=void 0;var hYt=1,dYt=function(){return"".concat(hYt++)};pD.default=dYt});var wj=ft(vD=>{"use strict";Object.defineProperty(vD,"__esModule",{value:!0});vD.default=void 0;var pYt=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,n=null;return function(){for(var i=this,a=arguments.length,o=new Array(a),s=0;s{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.SensorTabIndex=Gm.SensorClassName=Gm.SizeSensorId=void 0;var vYt="size-sensor-id";Gm.SizeSensorId=vYt;var mYt="size-sensor-object";Gm.SensorClassName=mYt;var gYt="-1";Gm.SensorTabIndex=gYt});var _st=ft(mD=>{"use strict";Object.defineProperty(mD,"__esModule",{value:!0});mD.createSensor=void 0;var yYt=xYt(wj()),bst=Ej();function xYt(r){return r&&r.__esModule?r:{default:r}}var bYt=function(e){var t=void 0,n=[],i=function(){getComputedStyle(e).position==="static"&&(e.style.position="relative");var f=document.createElement("object");return f.onload=function(){f.contentDocument.defaultView.addEventListener("resize",a),a()},f.style.display="block",f.style.position="absolute",f.style.top="0",f.style.left="0",f.style.height="100%",f.style.width="100%",f.style.overflow="hidden",f.style.pointerEvents="none",f.style.zIndex="-1",f.style.opacity="0",f.setAttribute("class",bst.SensorClassName),f.setAttribute("tabindex",bst.SensorTabIndex),f.type="text/html",e.appendChild(f),f.data="about:blank",f},a=(0,yYt.default)(function(){n.forEach(function(u){u(e)})}),o=function(f){t||(t=i()),n.indexOf(f)===-1&&n.push(f)},s=function(){t&&t.parentNode&&(t.contentDocument&&t.contentDocument.defaultView.removeEventListener("resize",a),t.parentNode.removeChild(t),t=void 0,n=[])},l=function(f){var c=n.indexOf(f);c!==-1&&n.splice(c,1),n.length===0&&t&&s()};return{element:e,bind:o,destroy:s,unbind:l}};mD.createSensor=bYt});var Sst=ft(gD=>{"use strict";Object.defineProperty(gD,"__esModule",{value:!0});gD.createSensor=void 0;var _Yt=SYt(wj());function SYt(r){return r&&r.__esModule?r:{default:r}}var CYt=function(e){var t=void 0,n=[],i=(0,_Yt.default)(function(){n.forEach(function(u){u(e)})}),a=function(){var f=new ResizeObserver(i);return f.observe(e),i(),f},o=function(f){t||(t=a()),n.indexOf(f)===-1&&n.push(f)},s=function(){t.disconnect(),n=[],t=void 0},l=function(f){var c=n.indexOf(f);c!==-1&&n.splice(c,1),n.length===0&&t&&s()};return{element:e,bind:o,destroy:s,unbind:l}};gD.createSensor=CYt});var Cst=ft(yD=>{"use strict";Object.defineProperty(yD,"__esModule",{value:!0});yD.createSensor=void 0;var wYt=_st(),EYt=Sst(),AYt=typeof ResizeObserver!="undefined"?EYt.createSensor:wYt.createSensor;yD.createSensor=AYt});var wst=ft(G1=>{"use strict";Object.defineProperty(G1,"__esModule",{value:!0});G1.removeSensor=G1.getSensor=void 0;var MYt=IYt(xst()),TYt=Cst(),xD=Ej();function IYt(r){return r&&r.__esModule?r:{default:r}}var oA={},LYt=function(e){var t=e.getAttribute(xD.SizeSensorId);if(t&&oA[t])return oA[t];var n=(0,MYt.default)();e.setAttribute(xD.SizeSensorId,n);var i=(0,TYt.createSensor)(e);return oA[n]=i,i};G1.getSensor=LYt;var OYt=function(e){var t=e.element.getAttribute(xD.SizeSensorId);e.element.removeAttribute(xD.SizeSensorId),e.destroy(),t&&oA[t]&&delete oA[t]};G1.removeSensor=OYt});var Est=ft(zm=>{"use strict";Object.defineProperty(zm,"__esModule",{value:!0});zm.ver=zm.clear=zm.bind=void 0;var Aj=wst(),DYt=function(e,t){var n=(0,Aj.getSensor)(e);return n.bind(t),function(){n.unbind(t)}};zm.bind=DYt;var PYt=function(e){var t=(0,Aj.getSensor)(e);(0,Aj.removeSensor)(t)};zm.clear=PYt;var kYt="1.0.1";zm.ver=kYt});var llt=ft((GD,slt)=>{(function(r,e){typeof GD=="object"&&typeof slt!="undefined"?e(GD):typeof define=="function"&&define.amd?define(["exports"],e):(r=r||self,e(r.d3={}))})(GD,function(r){"use strict";function e(M,I){return t(M)||n(M,I)||i()}function t(M){if(Array.isArray(M))return M}function n(M,I){var R=[],P=!0,F=!1,D=void 0;try{for(var G=M[Symbol.iterator](),U;!(P=(U=G.next()).done)&&(R.push(U.value),!(I&&R.length===I));P=!0);}catch(j){F=!0,D=j}finally{try{!P&&G.return!=null&&G.return()}finally{if(F)throw D}}return R}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function a(M,I,R,P){M=M.filter(function(st,_t){var dt=I(st,_t),gt=R(st,_t);return dt!=null&&isFinite(dt)&>!=null&&isFinite(gt)}),P&&M.sort(function(st,_t){return I(st)-I(_t)});for(var F=M.length,D=new Float64Array(F),G=new Float64Array(F),U=0,j=0,H,tt,et,ut=0;utF&&(tt.splice($+1,0,gt),ut=!0)}return ut}}function c(M,I,R,P){var F=P-M*M,D=Math.abs(F)<1e-24?0:(R-M*I)/F,G=I-D*M;return[G,D]}function h(){var M=function(D){return D[0]},I=function(D){return D[1]},R;function P(F){var D=0,G=0,U=0,j=0,H=0,tt=0,et=R?+R[0]:1/0,ut=R?+R[1]:-1/0;o(F,M,I,function(Ut,$t){var Y=Math.log($t),it=Ut*$t;++D,G+=($t-G)/D,j+=(it-j)/D,tt+=(Ut*it-tt)/D,U+=($t*Y-U)/D,H+=(it*Y-H)/D,R||(Utut&&(ut=Ut))});var $=c(j/G,U/G,H/G,tt/G),st=e($,2),_t=st[0],dt=st[1];_t=Math.exp(_t);var gt=function($t){return _t*Math.exp(dt*$t)},Tt=f(et,ut,gt);return Tt.a=_t,Tt.b=dt,Tt.predict=gt,Tt.rSquared=s(F,M,I,G,gt),Tt}return P.domain=function(F){return arguments.length?(R=F,P):R},P.x=function(F){return arguments.length?(M=F,P):M},P.y=function(F){return arguments.length?(I=F,P):I},P}function d(){var M=function(D){return D[0]},I=function(D){return D[1]},R;function P(F){var D=0,G=0,U=0,j=0,H=0,tt=R?+R[0]:1/0,et=R?+R[1]:-1/0;o(F,M,I,function(Tt,Ut){++D,G+=(Tt-G)/D,U+=(Ut-U)/D,j+=(Tt*Ut-j)/D,H+=(Tt*Tt-H)/D,R||(Ttet&&(et=Tt))});var ut=c(G,U,j,H),$=e(ut,2),st=$[0],_t=$[1],dt=function(Ut){return _t*Ut+st},gt=[[tt,dt(tt)],[et,dt(et)]];return gt.a=_t,gt.b=st,gt.predict=dt,gt.rSquared=s(F,M,I,U,dt),gt}return P.domain=function(F){return arguments.length?(R=F,P):R},P.x=function(F){return arguments.length?(M=F,P):M},P.y=function(F){return arguments.length?(I=F,P):I},P}function p(M){M.sort(function(R,P){return R-P});var I=M.length/2;return I%1==0?(M[I-1]+M[I])/2:M[Math.floor(I)]}var v=2,m=1e-12;function g(){var M=function(D){return D[0]},I=function(D){return D[1]},R=.3;function P(F){for(var D=a(F,M,I,!0),G=e(D,4),U=G[0],j=G[1],H=G[2],tt=G[3],et=U.length,ut=Math.max(2,~~(R*et)),$=new Float64Array(et),st=new Float64Array(et),_t=new Float64Array(et).fill(1),dt=-1;++dt<=v;){for(var gt=[0,ut-1],Tt=0;TtU[Y]-Ut?$t:Y,K=0,Rt=0,Xt=0,Zt=0,Ae=0,We=1/Math.abs(U[it]-Ut||1),$e=$t;$e<=Y;++$e){var W=U[$e],Te=j[$e],ne=x(Math.abs(Ut-W)*We)*_t[$e],pt=W*ne;K+=ne,Rt+=pt,Xt+=Te*ne,Zt+=Te*pt,Ae+=W*pt}var Et=c(Rt/K,Xt/K,Zt/K,Ae/K),St=e(Et,2),Wt=St[0],ee=St[1];$[Tt]=Wt+ee*Ut,st[Tt]=Math.abs(j[Tt]-$[Tt]),b(U,Tt+1,gt)}if(dt===v)break;var Ue=p(st);if(Math.abs(Ue)=1?m:(ge=1-ae*ae)*ge}return S(U,$,H,tt)}return P.bandwidth=function(F){return arguments.length?(R=F,P):R},P.x=function(F){return arguments.length?(M=F,P):M},P.y=function(F){return arguments.length?(I=F,P):I},P}function x(M){return(M=1-M*M*M)*M*M}function b(M,I,R){var P=M[I],F=R[0],D=R[1]+1;if(!(D>=M.length))for(;I>F&&M[D]-P<=P-M[F];)R[0]=++F,R[1]=D,++D}function S(M,I,R,P){for(var F=M.length,D=[],G=0,U=0,j=[],H;Gut&&(ut=$t))});var st=c(U,j,H,tt),_t=e(st,2),dt=_t[0],gt=_t[1],Tt=function(Y){return gt*Math.log(Y)/$+dt},Ut=f(et,ut,Tt);return Ut.a=gt,Ut.b=dt,Ut.predict=Tt,Ut.rSquared=s(D,M,I,j,Tt),Ut}return F.domain=function(D){return arguments.length?(P=D,F):P},F.x=function(D){return arguments.length?(M=D,F):M},F.y=function(D){return arguments.length?(I=D,F):I},F.base=function(D){return arguments.length?(R=D,F):R},F}function w(){var M=function(D){return D[0]},I=function(D){return D[1]},R;function P(F){var D=a(F,M,I),G=e(D,4),U=G[0],j=G[1],H=G[2],tt=G[3],et=U.length,ut=0,$=0,st=0,_t=0,dt=0,gt,Tt,Ut,$t;for(gt=0;gtRt&&(Rt=ne))});var Xt=st-ut*ut,Zt=ut*Xt-$*$,Ae=(dt*ut-_t*$)/Zt,We=(_t*Xt-dt*$)/Zt,$e=-Ae*ut,W=function(pt){return pt=pt-H,Ae*pt*pt+We*pt+$e+tt},Te=f(K,Rt,W);return Te.a=Ae,Te.b=We-2*Ae*H,Te.c=$e-We*H+Ae*H*H+tt,Te.predict=W,Te.rSquared=s(F,M,I,Y,W),Te}return P.domain=function(F){return arguments.length?(R=F,P):R},P.x=function(F){return arguments.length?(M=F,P):M},P.y=function(F){return arguments.length?(I=F,P):I},P}function A(){var M=function(G){return G[0]},I=function(G){return G[1]},R=3,P;function F(D){if(R===1){var G=d().x(M).y(I).domain(P)(D);return G.coefficients=[G.b,G.a],delete G.a,delete G.b,G}if(R===2){var U=w().x(M).y(I).domain(P)(D);return U.coefficients=[U.c,U.b,U.a],delete U.a,delete U.b,delete U.c,U}var j=a(D,M,I),H=e(j,4),tt=H[0],et=H[1],ut=H[2],$=H[3],st=tt.length,_t=[],dt=[],gt=R+1,Tt=0,Ut=0,$t=P?+P[0]:1/0,Y=P?+P[1]:-1/0;o(D,M,I,function(W,Te){++Ut,Tt+=(Te-Tt)/Ut,P||(W<$t&&($t=W),W>Y&&(Y=W))});var it,K,Rt,Xt,Zt;for(it=0;it=0;--D)for(U=I[D],j=1,F[D]+=U,G=1;G<=D;++G)j*=(D+1-G)/G,F[D-G]+=U*Math.pow(R,G)*j;return F[0]+=P,F}function k(M){var I=M.length-1,R=[],P,F,D,G,U;for(P=0;PMath.abs(M[P][G])&&(G=F);for(D=P;D=P;D--)M[D][F]-=M[D][P]*M[P][F]/M[P][P]}for(F=I-1;F>=0;--F){for(U=0,D=F+1;Dut&&(ut=Ut))});var $=c(G,U,j,H),st=e($,2),_t=st[0],dt=st[1];_t=Math.exp(_t);var gt=function($t){return _t*Math.pow($t,dt)},Tt=f(et,ut,gt);return Tt.a=_t,Tt.b=dt,Tt.predict=gt,Tt.rSquared=s(F,M,I,tt,gt),Tt}return P.domain=function(F){return arguments.length?(R=F,P):R},P.x=function(F){return arguments.length?(M=F,P):M},P.y=function(F){return arguments.length?(I=F,P):I},P}r.regressionExp=h,r.regressionLinear=d,r.regressionLoess=g,r.regressionLog=C,r.regressionPoly=A,r.regressionPow=O,r.regressionQuad=w,Object.defineProperty(r,"__esModule",{value:!0})})});var Ult=ft((Der,Zm)=>{"use strict";var QD=Zm.exports;Zm.exports.isNumber=function(r){return typeof r=="number"};Zm.exports.findMin=function(r){if(r.length===0)return 1/0;for(var e=r[0],t=1;t{"use strict";var jlt=50,Wlt=2,$9t=Math.log(2),Vlt=$m.exports,vc=Ult();function Q9t(r){return 1-Math.abs(r)}$m.exports.getUnifiedMinMax=function(r,e){return Vlt.getUnifiedMinMaxMulti([r],e)};$m.exports.getUnifiedMinMaxMulti=function(r,e){e=e||{};var t=!1,n=!1,i=vc.isNumber(e.width)?e.width:Wlt,a=vc.isNumber(e.size)?e.size:jlt,o=vc.isNumber(e.min)?e.min:(t=!0,vc.findMinMulti(r)),s=vc.isNumber(e.max)?e.max:(n=!0,vc.findMaxMulti(r)),l=s-o,u=l/(a-1);return t&&(o=o-2*i*u),n&&(s=s+2*i*u),{min:o,max:s}};$m.exports.create=function(r,e){if(e=e||{},!r||r.length===0)return[];var t=vc.isNumber(e.size)?e.size:jlt,n=vc.isNumber(e.width)?e.width:Wlt,i=Vlt.getUnifiedMinMax(r,{size:t,width:n,min:e.min,max:e.max}),a=i.min,o=i.max,s=o-a,l=s/(t-1);if(s===0)return[{x:a,y:1}];for(var u=[],f=0;f=u.length)){var C=Math.max(S-n,0),w=S,A=Math.min(S+n,u.length-1),L=C-(S-n),k=S+n-A,O=h[-n-1+L]||0,M=h[-n-1+k]||0,I=d/(d-O-M);L>0&&(v+=I*(L-1)*p);var R=Math.max(0,S-n+1);vc.inside(0,u.length-1,R)&&(u[R].y+=I*1*p),vc.inside(0,u.length-1,w+1)&&(u[w+1].y-=I*2*p),vc.inside(0,u.length-1,A+1)&&(u[A+1].y+=I*1*p)}});var m=v,g=0,x=0;return u.forEach(function(b){g+=b.y,m+=g,b.y=m,x+=m}),x>0&&u.forEach(function(b){b.y/=x}),u};function J9t(r,e){for(var t={},n=0,i=-e;i<=e;i++)n+=r(i/e),t[i]=n;return t}$m.exports.getExpectedValueFromPdf=function(r){if(!(!r||r.length===0)){var e=0;return r.forEach(function(t){e+=t.x*t.y}),e}};$m.exports.getXWithLeftTailArea=function(r,e){if(!(!r||r.length===0)){for(var t=0,n=0,i=0;i=e));i++);return r[n].x}};$m.exports.getPerplexity=function(r){if(!(!r||r.length===0)){var e=0;return r.forEach(function(t){var n=Math.log(t.y);isFinite(n)&&(e+=t.y*n)}),e=-e/$9t,Math.pow(2,e)}}});var oW=ft((aP,out)=>{(function(r,e){typeof aP=="object"&&typeof out!="undefined"?e(aP):typeof define=="function"&&define.amd?define(["exports"],e):e(r.fmin=r.fmin||{})})(aP,function(r){"use strict";function e(d,p,v,m){m=m||{};var g=m.maxIterations||100,x=m.tolerance||1e-10,b=d(p),S=d(v),C=v-p;if(b*S>0)throw"Initial bisect points must have opposite signs";if(b===0)return p;if(S===0)return v;for(var w=0;w=0&&(p=A),Math.abs(C)=M[O-1].fx){var $=!1;if(G.fx>ut.fx?(s(U,1+A,D,-A,ut),U.fx=d(U),U.fx=1)break;for(I=1;IS+x*g*C||w>=P)R=g;else{if(Math.abs(L)<=-b*C)return g;L*(R-I)>=0&&(R=I),I=g,P=w}return 0}for(var M=0;M<10;++M){if(s(m.x,1,v.x,g,p),w=m.fx=d(m.x,m.fxprime),L=i(m.fxprime,p),w>S+x*g*C||M&&w>=A)return O(k,g,A);if(Math.abs(L)<=-b*C)return g;if(L>=0)return O(g,k,w);A=w,k=g,g*=2}return g}function f(d,p,v){var m={x:p.slice(),fx:0,fxprime:p.slice()},g={x:p.slice(),fx:0,fxprime:p.slice()},x=p.slice(),b,S,C=1,w;v=v||{},w=v.maxIterations||p.length*20,m.fx=d(m.x,m.fxprime),b=m.fxprime.slice(),o(b,m.fxprime,-1);for(var A=0;A{"use strict";Object.defineProperty(N_,"__esModule",{value:!0});N_.MESSAGE=N_.ALGORITHM=void 0;var tte={pageRank:"pageRank",breadthFirstSearch:"breadthFirstSearch",connectedComponent:"connectedComponent",depthFirstSearch:"depthFirstSearch",detectCycle:"detectCycle",detectDirectedCycle:"detectDirectedCycle",detectAllCycles:"detectAllCycles",detectAllDirectedCycle:"detectAllDirectedCycle",detectAllUndirectedCycle:"detectAllUndirectedCycle",dijkstra:"dijkstra",findAllPath:"findAllPath",findShortestPath:"findShortestPath",floydWarshall:"floydWarshall",getAdjMatrix:"getAdjMatrix",getDegree:"getDegree",getInDegree:"getInDegree",getNeighbors:"getNeighbors",getOutDegree:"getOutDegree",labelPropagation:"labelPropagation",louvain:"louvain",GADDI:"GADDI",minimumSpanningTree:"minimumSpanningTree",SUCCESS:"SUCCESS",FAILURE:"FAILURE"};N_.ALGORITHM=tte;var ete={SUCCESS:"SUCCESS",FAILURE:"FAILURE"};N_.MESSAGE=ete});var sM=ft(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});Bk.default=void 0;var rte=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];!f&&f!==0||!c&&c!==0||(a[f][c]=1,t||(a[c][f]=1))}),a},nte=rte;Bk.default=nte});var Dht=ft(F_=>{"use strict";Object.defineProperty(F_,"__esModule",{value:!0});F_.default=F_.LinkedListNode=void 0;var ite=function(e,t){return e===t},o8=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}();F_.LinkedListNode=o8;var ate=function(){function r(e){e===void 0&&(e=ite),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new o8(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new o8(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var o=this.head;o;){if(a&&a(o.value)||n!==void 0&&this.compare(o.value,n))return o;o=o.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),ote=ate;F_.default=ote});var Pht=ft(Gk=>{"use strict";Object.defineProperty(Gk,"__esModule",{value:!0});Gk.default=void 0;var ste=lte(Dht());function lte(r){return r&&r.__esModule?r:{default:r}}var ute=function(){function r(){this.linkedList=new ste.default}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),fte=ute;Gk.default=fte});var vf=ft(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.uniqueId=qh.getOutEdgesNodeId=qh.getNeighbors=qh.getEdgesByNodeId=void 0;var cte=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var o=function(u){return u.target===e};return i.filter(o).map(function(l){return l.source})}var s=function(u){return u.source===e?u.target:u.source};return i.map(s)};qh.getNeighbors=cte;var hte=function(e,t){return t.filter(function(n){return n.source===e})};qh.getOutEdgesNodeId=hte;var dte=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})};qh.getEdgesByNodeId=dte;var pte=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};qh.uniqueId=pte});var kht=ft(zk=>{"use strict";Object.defineProperty(zk,"__esModule",{value:!0});zk.default=void 0;var vte=gte(Pht()),mte=vf();function gte(r){return r&&r.__esModule?r:{default:r}}function yte(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next,s=o;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var xte=function(e,t,n,i){i===void 0&&(i=!0);var a=yte(n),o=new vte.default,s=e.edges,l=s===void 0?[]:s;o.enqueue(t);for(var u="",f=function(){var h=o.dequeue();a.enter({current:h,previous:u}),(0,mte.getNeighbors)(h,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:u,current:h,next:d})&&o.enqueue(d)}),a.leave({current:h,previous:u}),u=h};!o.isEmpty();)f()},bte=xte;zk.default=bte});var s8=ft(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});B0.default=_te;B0.detectStrongConnectComponents=B0.detectConnectedComponents=void 0;var Rht=vf(),Nht=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l=[],u=function d(p){l.push(p),s[p.id]=!0;for(var v=(0,Rht.getNeighbors)(p.id,a),m=function(b){var S=v[b];if(!s[S]){var C=n.filter(function(w){return w.id===S});C.length>0&&d(C[0])}},g=0;g0;)h.push(l.pop());o.push(h)}}return o};B0.detectConnectedComponents=Nht;var Fht=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l={},u={},f=[],c=0,h=function m(g){l[g.id]=c,u[g.id]=c,c+=1,o.push(g),s[g.id]=!0;for(var x=(0,Rht.getNeighbors)(g.id,a,"target").filter(function(A){return n.map(function(L){return L.id}).indexOf(A)>-1}),b=function(L){var k=x[L];if(!l[k]&&l[k]!==0){var O=n.filter(function(M){return M.id===k});O.length>0&&m(O[0]),u[g.id]=Math.min(u[g.id],u[k])}else s[k]&&(u[g.id]=Math.min(u[g.id],l[k]))},S=0;S0;){var w=o.pop();if(s[w.id]=!1,C.push(w),w===g)break}C.length>0&&f.push(C)}},d=0,p=n;d{"use strict";Object.defineProperty(mg,"__esModule",{value:!0});mg.getOutDegree=mg.getInDegree=mg.default=void 0;var lM=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,o=a===void 0?[]:a;return i.forEach(function(s){t[s.id]={degree:0,inDegree:0,outDegree:0}}),o.forEach(function(s){t[s.source].degree++,t[s.source].outDegree++,t[s.target].degree++,t[s.target].inDegree++}),t},Ste=lM;mg.default=Ste;var Cte=function(e,t){var n=lM(e);return n[t]?lM(e)[t].inDegree:0};mg.getInDegree=Cte;var wte=function(e,t){var n=lM(e);return n[t]?lM(e)[t].outDegree:0};mg.getOutDegree=wte});var f8=ft(u8=>{"use strict";Object.defineProperty(u8,"__esModule",{value:!0});u8.default=Mte;var Ete=vf();function Ate(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next;return i[o]?!1:(i[o]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}function Bht(r,e,t,n){n.enter({current:e,previous:t});var i=r.edges,a=i===void 0?[]:i;(0,Ete.getNeighbors)(e,a,"target").forEach(function(o){n.allowTraversal({previous:t,current:e,next:o})&&Bht(r,o,e,n)}),n.leave({current:e,previous:t})}function Mte(r,e,t){Bht(r,e,"",Ate(t))}});var Vht=ft(Kh=>{"use strict";function Uk(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Uk=function(t){return typeof t}:Uk=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uk(r)}Object.defineProperty(Kh,"__esModule",{value:!0});Kh.detectAllUndirectedCycle=Kh.detectAllDirectedCycle=Kh.detectAllCycles=Kh.default=void 0;var Tte=Lte(f8()),Ght=Ite(s8()),zht=vf();function Uht(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Uht=function(i){return i?t:e})(r)}function Ite(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||Uk(r)!=="object"&&typeof r!="function")return{default:r};var t=Uht(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}function Lte(r){return r&&r.__esModule?r:{default:r}}var Ote=function(e){var t=null,n=e.nodes,i=n===void 0?[]:n,a={},o={},s={},l={};i.forEach(function(c){o[c.id]=c});for(var u={enter:function(h){var d=h.current,p=h.previous;if(s[d]){t={};for(var v=d,m=p;m!==d;)t[v]=m,v=m,m=a[m];t[v]=m}else s[d]=d,delete o[d],a[d]=p},leave:function(h){var d=h.current;l[d]=d,delete s[d]},allowTraversal:function(h){var d=h.next;return t?!1:!l[d]}};Object.keys(o).length;){var f=Object.keys(o)[0];(0,Tte.default)(e,f,u)}return t},jht=function(e,t,n){var i,a;n===void 0&&(n=!0);for(var o=[],s=(0,Ght.default)(e,!1),l=0,u=s;l0;)for(var m=d.pop(),g=m.id,x=(0,zht.getNeighbors)(g,e.edges),b=function(w){var A,L=x[w],k=e.nodes.find(function(F){return F.id===L});if(L===g)o.push((A={},A[L]=m,A));else if(!(L in v))p[L]=m,d.push(k),v[L]=new Set([m]);else if(!v[g].has(k)){for(var O=!0,M=[k,m],I=p[g];v[L].size&&!v[L].has(I)&&(M.push(I),I!==p[I.id]);)I=p[I.id];if(M.push(I),t&&n?(O=!1,M.findIndex(function(F){return t.indexOf(F.id)>-1})>-1&&(O=!0)):t&&!n&&M.findIndex(function(F){return t.indexOf(F.id)>-1})>-1&&(O=!1),O){for(var R={},P=1;P0;){var P=R.pop();a.has(P)&&(a.delete(P),o[P.id].forEach(function(F){R.push(F)}),o[P.id].clear())}},c=function M(I,R,P){var F=!1;if(t&&n===!1&&t.indexOf(I.id)>-1)return F;i.push(I),a.add(I);for(var D=P[I.id],G=0;G-1});ut<$.length;ut++){var st=$[ut];st===et.id&&!(n===!1&&t.indexOf(et.id)>-1)?s.push((R={},R[et.id]=et,R)):tt[et.id].push(u[st])}}return{component:H,adjList:tt,minIdx:F}},b=0;b=b}),C=(0,Ght.detectStrongConnectComponents)({nodes:S,edges:e.edges}).filter(function(M){return M.length>1});if(C.length===0)break;var w=x(C),A=w.minIdx,L=w.adjList,k=w.component;if(k.length>1){k.forEach(function(M){o[M.id]=new Set});var O=l[A];if(t&&n&&t.indexOf(O.id)===-1)return s;c(O,O,L),b=A+1}else break}return s};Kh.detectAllDirectedCycle=Wht;var Dte=function(e,t,n,i){return i===void 0&&(i=!0),t?Wht(e,n,i):jht(e,n,i)};Kh.detectAllCycles=Dte;var Pte=Ote;Kh.default=Pte});var Wk=ft(jk=>{"use strict";Object.defineProperty(jk,"__esModule",{value:!0});jk.default=void 0;var Hht=Sw(),kte=q(),Yht=vf(),Rte=function(e,t,n){for(var i=1/0,a,o=0;oc[C.id]+I?(c[M]=c[C.id]+I,h[M]=[C.id]):c[M]===c[C.id]+I&&h[M].push(C.id)})},v=0;v{"use strict";Object.defineProperty(B_,"__esModule",{value:!0});B_.findShortestPath=B_.findAllPath=void 0;var Bte=Gte(Wk()),Vk=vf();function Gte(r){return r&&r.__esModule?r:{default:r}}var zte=function(e,t,n,i,a){var o=(0,Bte.default)(e,t,i,a),s=o.length,l=o.path,u=o.allPath;return{length:s[n],path:l[n],allPath:u[n]}};B_.findShortestPath=zte;var Ute=function(e,t,n,i){var a;if(t===n)return[[t]];var o=e.edges,s=o===void 0?[]:o,l=[t],u=(a={},a[t]=!0,a),f=[],c=[],h=i?(0,Vk.getNeighbors)(t,s,"target"):(0,Vk.getNeighbors)(t,s);for(f.push(h);l.length>0&&f.length>0;){var d=f[f.length-1];if(d.length){var p=d.shift();p&&(l.push(p),u[p]=!0,h=i?(0,Vk.getNeighbors)(p,s,"target"):(0,Vk.getNeighbors)(p,s),f.push(h.filter(function(g){return!u[g]})))}else{var v=l.pop();u[v]=!1,f.pop();continue}if(l[l.length-1]===n){var m=l.map(function(x){return x});c.push(m);var v=l.pop();u[v]=!1,f.pop()}}return c};B_.findAllPath=Ute});var c8=ft(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});Hk.default=void 0;var jte=Wte(sM());function Wte(r){return r&&r.__esModule?r:{default:r}}var Vte=function(e,t){for(var n=(0,jte.default)(e,t),i=[],a=n.length,o=0;oi[o][l]+i[l][s]&&(i[o][s]=i[o][l]+i[l][s]);return i},Hte=Vte;Hk.default=Hte});var Kht=ft(Yk=>{"use strict";Object.defineProperty(Yk,"__esModule",{value:!0});Yk.default=void 0;var Yte=qte(sM()),Xte=vf();function qte(r){return r&&r.__esModule?r:{default:r}}var Kte=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,o=a===void 0?[]:a,s=e.edges,l=s===void 0?[]:s,u={},f={};o.forEach(function(S,C){var w=(0,Xte.uniqueId)();S.clusterId=w,u[w]={id:w,nodes:[S]},f[S.id]={node:S,idx:C}});var c=(0,Yte.default)(e,t),h=[],d={};c.forEach(function(S,C){var w=0,A=o[C].id;d[A]={},S.forEach(function(L,k){if(!!L){w+=L;var O=o[k].id;d[A][O]=L}}),h.push(w)});for(var p=0,v=function(){var C=!1;if(o.forEach(function(w){var A={};Object.keys(d[w.id]).forEach(function(F){var D=d[w.id][F],G=f[F].node,U=G.clusterId;A[U]||(A[U]=0),A[U]+=D});var L=-1/0,k=[];if(Object.keys(A).forEach(function(F){L=0&&k.splice(O,1),k&&k.length){C=!0;var M=u[w.clusterId],I=M.nodes.indexOf(w);M.nodes.splice(I,1);var R=Math.floor(Math.random()*k.length),P=u[k[R]];P.nodes.push(w),w.clusterId=P.id}}}),!C)return"break";p++};p{"use strict";Object.defineProperty(Xk,"__esModule",{value:!0});Xk.default=void 0;var $te=q(),Qte=function(){function r(e){this.arr=e}return r.prototype.getArr=function(){return this.arr||[]},r.prototype.add=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length))return new r(n);if(!(n==null?void 0:n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+n[a];return new r(i)}},r.prototype.subtract=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length))return new r(n);if(!(n==null?void 0:n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-n[a];return new r(i)}},r.prototype.avg=function(e){var t=[];if(e!==0)for(var n in this.arr)t[n]=this.arr[n]/e;return new r(t)},r.prototype.negate=function(){var e=[];for(var t in this.arr)e[t]=-this.arr[t];return new r(e)},r.prototype.squareEuclideanDistance=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return i}},r.prototype.euclideanDistance=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},r.prototype.normalize=function(){var e=[],t=(0,$te.clone)(this.arr);t.sort(function(o,s){return o-s});var n=t[t.length-1],i=t[0];for(var a in this.arr)e[a]=(this.arr[a]-i)/(n-i);return new r(e)},r.prototype.norm2=function(){var e;if(!((e=this.arr)===null||e===void 0?void 0:e.length))return 0;var t=0;for(var n in this.arr)t+=Math.pow(this.arr[n],2);return Math.sqrt(t)},r.prototype.dot=function(e){var t,n=e.arr;if(!((t=this.arr)===null||t===void 0?void 0:t.length)||!(n==null?void 0:n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=this.arr[a]*e.arr[a];return i}else console.error("The two vectors are unequal in length.")},r.prototype.equal=function(e){var t,n=e.arr;if(((t=this.arr)===null||t===void 0?void 0:t.length)!==(n==null?void 0:n.length))return!1;for(var i in this.arr)if(this.arr[i]!==n[i])return!1;return!0},r}(),Jte=Qte;Xk.default=Jte});var Zht=ft(G_=>{"use strict";Object.defineProperty(G_,"__esModule",{value:!0});G_.secondReg=G_.dateReg=void 0;var tee=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;G_.secondReg=tee;var eee=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;G_.dateReg=eee});var Jht=ft(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.getPropertyWeight=Zh.getAllSortProperties=Zh.getAllProperties=Zh.default=void 0;var qk=Zht(),d8=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=100);var n={};e.forEach(function(a){!a.properties||Object.keys(a.properties).forEach(function(o){if(o==="id"||!"".concat(a.properties[o]).match(qk.secondReg)&&!"".concat(a.properties[o]).match(qk.dateReg)&&isNaN(Number(a.properties[o]))){n.hasOwnProperty(o)&&delete n[o];return}n.hasOwnProperty(o)?n[o]+=1:n[o]=1})});var i=Object.keys(n).sort(function(a,o){return n[o]-n[a]});return i.length{"use strict";Object.defineProperty(uM,"__esModule",{value:!0});uM.DistanceType=void 0;var p8;uM.DistanceType=p8;(function(r){r.EuclideanDistance="euclideanDistance"})(p8||(uM.DistanceType=p8={}))});var odt=ft($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});$h.oneHot=$h.getDistance=$h.getAllKeyValueMap=$h.default=void 0;var edt=q(),rdt=tdt(),ndt=iee(h8());function iee(r){return r&&r.__esModule?r:{default:r}}var v8=function(e,t,n){var i=[];(t==null?void 0:t.length)?i=t:(e.forEach(function(o){i=i.concat(Object.keys(o))}),i=(0,edt.uniq)(i));var a={};return i.forEach(function(o){var s=[];e.forEach(function(l){l[o]!==void 0&&l[o]!==""&&s.push(l[o])}),s.length&&!(n==null?void 0:n.includes(o))&&(a[o]=(0,edt.uniq)(s))}),a};$h.getAllKeyValueMap=v8;var idt=function(e,t,n){var i=v8(e,t,n),a=[];return e.forEach(function(o,s){var l=[];Object.keys(i).forEach(function(u){for(var f=o[u],c=i[u],h=c.findIndex(function(v){return f===v}),d=[],p=0;p{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});Kk.default=void 0;var oee=q(),see=sdt(sM()),fM=sdt(h8()),lee=Jht(),uee=odt();function sdt(r){return r&&r.__esModule?r:{default:r}}var ldt=function(e,t,n,i){for(var a=t.length,o=2*i,s=0,l=0;l0&&C>w&&C-ww&&(L=l.map(function(D){return{node:D,clusterId:D.clusterId}}),k=(0,oee.clone)(v),w=C),O||A>100)break;A++,Object.keys(v).forEach(function(D){var G=0;f.forEach(function(U){var j=U.source,H=U.target,tt=m[j].node.clusterId,et=m[H].node.clusterId;(tt===D&&et!==D||et===D&&tt!==D)&&(G=G+(U[n]||1))}),v[D].sumTot=G}),l.forEach(function(D,G){var U=v[D.clusterId],j=0,H,tt=x[G]/(2*S),et=0,ut=U.nodes;ut.forEach(function(it){var K=m[it.id].idx;et+=g[G][K]||0});var $=et-U.sumTot*tt,st=ut.filter(function(it){return it.id!==D.id}),_t=[];st.forEach(function(it,K){_t[K]=c[it.originIndex]});var dt=m8(st,c)*o,gt=b[D.id];if(Object.keys(gt).forEach(function(it){var K=m[it].node,Rt=K.clusterId;if(Rt!==D.clusterId){var Xt=v[Rt],Zt=Xt.nodes;if(!(!Zt||!Zt.length)){var Ae=0;Zt.forEach(function(pt){var Et=m[pt.id].idx;Ae+=g[G][Et]||0});var We=Ae-Xt.sumTot*tt,$e=Zt.concat([D]),W=[];$e.forEach(function(pt,Et){W[Et]=c[pt.originIndex]});var Te=m8($e,c)*o,ne=We-$;a&&(ne=We+Te-($+dt)),ne>j&&(j=ne,H=Xt)}}}),j>0){H.nodes.push(D);var Tt=D.clusterId;D.clusterId=H.id;var Ut=U.nodes.indexOf(D);U.nodes.splice(Ut,1);var $t=0,Y=0;f.forEach(function(it){var K=it.source,Rt=it.target,Xt=m[K].node.clusterId,Zt=m[Rt].node.clusterId;(Xt===H.id&&Zt!==H.id||Zt===H.id&&Xt!==H.id)&&($t=$t+(it[n]||1)),(Xt===Tt&&Zt!==Tt||Zt===Tt&&Xt!==Tt)&&(Y=Y+(it[n]||1))}),H.sumTot=$t,U.sumTot=Y}})}var M={},I=0;Object.keys(k).forEach(function(D){var G=k[D];if(!G.nodes||!G.nodes.length){delete k[D];return}var U=String(I+1);U!==D&&(G.id=U,G.nodes=G.nodes.map(function(j){return{id:j.id,clusterId:U}}),k[U]=G,M[D]=U,delete k[D],I++)}),L.forEach(function(D){var G=D.node,U=D.clusterId;G.clusterId=U,G.clusterId&&M[G.clusterId]&&(G.clusterId=M[G.clusterId])});var R=[],P={};f.forEach(function(D){var G=D.source,U=D.target,j=D[n]||1,H=m[G].node.clusterId,tt=m[U].node.clusterId,et="".concat(H,"---").concat(tt);if(P[et])P[et].weight+=j,P[et].count++;else{var ut={source:H,target:tt,weight:j,count:1};P[et]=ut,R.push(ut)}});var F=[];return Object.keys(k).forEach(function(D){F.push(k[D])}),{clusters:F,clusterEdges:R}},cee=fee;Kk.default=cee});var fdt=ft(Zk=>{"use strict";Object.defineProperty(Zk,"__esModule",{value:!0});Zk.default=void 0;var hee=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t{"use strict";Object.defineProperty($k,"__esModule",{value:!0});$k.default=void 0;var pee=function(e,t){return e-t},vee=function(){function r(e){e===void 0&&(e=pee),this.compareFn=e,this.list=[]}return r.prototype.getLeft=function(e){return 2*e+1},r.prototype.getRight=function(e){return 2*e+2},r.prototype.getParent=function(e){return e===0?null:Math.floor((e-1)/2)},r.prototype.isEmpty=function(){return this.list.length<=0},r.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},r.prototype.delMin=function(){var e=this.top(),t=this.list.pop();return this.list.length>0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),o=this.list.length;i!==null&&i0?n=i:a!==null&&a0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),mee=vee;$k.default=mee});var pdt=ft(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});Qk.default=void 0;var gee=hdt(fdt()),yee=hdt(cdt()),g8=vf();function hdt(r){return r&&r.__esModule?r:{default:r}}var xee=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var f=function(m,g){return t?m.weight-g.weight:0},c=new yee.default(f);for((0,g8.getEdgesByNodeId)(l.id,s).forEach(function(v){c.insert(v)});!c.isEmpty();){var h=c.delMin(),d=h.source,p=h.target;u.has(d)&&u.has(p)||(n.push(h),u.has(d)||(u.add(d),(0,g8.getEdgesByNodeId)(d,s).forEach(function(v){c.insert(v)})),u.has(p)||(u.add(p),(0,g8.getEdgesByNodeId)(p,s).forEach(function(v){c.insert(v)})))}return n},ddt=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=s.map(function(d){return d});t&&l.sort(function(d,p){return d.weight-p.weight});for(var u=new gee.default(a.map(function(d){return d.id}));l.length>0;){var f=l.shift(),c=f.source,h=f.target;u.connected(c,h)||(n.push(f),u.union(c,h))}return n},bee=function(e,t,n){var i={prim:xee,kruskal:ddt};return n?i[n](e,t):ddt(e,t)},_ee=bee;Qk.default=_ee});var vdt=ft(Jk=>{"use strict";Object.defineProperty(Jk,"__esModule",{value:!0});Jk.default=void 0;var See=wee(l8()),Cee=vf();function wee(r){return r&&r.__esModule?r:{default:r}}var Eee=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,o=1e3,s=e.nodes,l=s===void 0?[]:s,u=e.edges,f=u===void 0?[]:u,c=l.length,h,d={},p={},v=0;v0&&i>t;){a=0;for(var v=0;v0&&(h+=p[C]/w)}d[g]=n*h,a+=d[g]}}a=(1-a)/c,i=0;for(var v=0;v{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.VACANT_NODE_LABEL=co.VACANT_NODE_ID=co.VACANT_GRAPH_ID=co.VACANT_EDGE_LABEL=co.VACANT_EDGE_ID=co.Node=co.Graph=co.Edge=co.AUTO_EDGE_ID=void 0;var mdt=-1;co.VACANT_EDGE_ID=mdt;var cM=-1;co.VACANT_NODE_ID=cM;var gdt="-1";co.VACANT_EDGE_LABEL=gdt;var ydt="-1";co.VACANT_NODE_LABEL=ydt;var Mee=-1;co.VACANT_GRAPH_ID=Mee;var Tee="-1";co.AUTO_EDGE_ID=Tee;var y8=function(){function r(e,t,n,i){e===void 0&&(e=mdt),t===void 0&&(t=cM),n===void 0&&(n=cM),i===void 0&&(i=gdt),this.id=e,this.from=t,this.to=n,this.label=i}return r}();co.Edge=y8;var xdt=function(){function r(e,t){e===void 0&&(e=cM),t===void 0&&(t=ydt),this.id=e,this.label=t,this.edges=[],this.edgeMap={}}return r.prototype.addEdge=function(e){this.edges.push(e),this.edgeMap[e.id]=e},r}();co.Node=xdt;var Iee=function(){function r(e,t,n){e===void 0&&(e=cM),t===void 0&&(t=!0),n===void 0&&(n=!1),this.id=e,this.edgeIdAutoIncrease=t,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return r.prototype.getNodeNum=function(){return this.nodes.length},r.prototype.addNode=function(e,t){if(!this.nodeMap[e]){var n=new xdt(e,t);this.nodes.push(n),this.nodeMap[e]=n,this.nodeLabelMap[t]||(this.nodeLabelMap[t]=[]),this.nodeLabelMap[t].push(e)}},r.prototype.addEdge=function(e,t,n,i){if((this.edgeIdAutoIncrease||e===void 0)&&(e=this.counter++),!(this.nodeMap[t]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[e])){var a=new y8(e,t,n,i);if(this.edges.push(a),this.edgeMap[e]=a,this.nodeMap[t].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var o=new y8(e,n,t,i);this.nodeMap[n].addEdge(o),this.edgeLabelMap[i].push(o)}}},r}();co.Graph=Iee});var Cdt=ft(eR=>{"use strict";Object.defineProperty(eR,"__esModule",{value:!0});eR.default=void 0;var Lee=q(),ql=bdt(),G0=function(){function r(e,t,n,i,a){this.fromNode=e,this.toNode=t,this.nodeEdgeNodeLabel={nodeLabel1:n||ql.VACANT_NODE_LABEL,edgeLabel:i||ql.VACANT_EDGE_LABEL,nodeLabel2:a||ql.VACANT_NODE_LABEL}}return r.prototype.equalTo=function(e){return this.fromNode===e.formNode&&this.toNode===e.toNode&&this.nodeEdgeNodeLabel===e.nodeEdgeNodeLabel},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r}(),_dt=function(){function r(){this.rmpath=[],this.dfsEdgeList=[]}return r.prototype.equalTo=function(e){var t=this.dfsEdgeList.length,n=e.length;if(t!==n)return!1;for(var i=0;i=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,o=i.toNode;ad||i.hasNode(o[h.to])||(t.labelb;C--){var w=S(C);if(w==="break")break}if(g){var A=e.findMinLabel(m);o.dfsEdgeList.push(new G0(v,x,ql.VACANT_NODE_LABEL,A.edgeLabel,ql.VACANT_NODE_LABEL));var L=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[L]!==o.dfsEdgeList[L]?!1:c(m[A.edgeLabel].projected)}var k={};g=!1;var O=0;h.forEach(function(D){var G=new tR(D),U=e.findForwardPureEdges(i,G.edges[d[0]],p,G);U.length>0&&(g=!0,O=v,U.forEach(function(j){var H="".concat(j.label,"-").concat(a[j.to].label);k[H]||(k[H]={projected:[],edgeLabel:j.label,nodeLabel2:a[j.to].label}),k[H].projected.push({graphId:i.id,edge:j,preNode:D})}))});for(var M=d.length,I=function(G){if(g)return"break";var U=d[G];h.forEach(function(j){var H=new tR(j),tt=e.findForwardRmpathEdges(i,H.edges[U],p,H);tt.length>0&&(g=!0,O=o.dfsEdgeList[U].fromNode,tt.forEach(function(et){var ut="".concat(et.label,"-").concat(a[et.to].label);k[ut]||(k[ut]={projected:[],edgeLabel:et.label,nodeLabel2:a[et.to].label}),k[ut].projected.push({graphId:i.id,edge:et,preNode:j})}))})},C=0;C=0;p--){var v=t.findBackwardEdge(c,d.edges[a[p]],d.edges[a[0]],d);if(v){var m="".concat(t.dfsCode.dfsEdgeList[a[p]].fromNode,"-").concat(v.label);u[m]||(u[m]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[p]].fromNode,edgeLabel:v.label}),u[m].projected.push({graphId:f.graphId,edge:v,preNode:f})}}if(!(i>=t.maxNodeNum)){var g=t.findForwardPureEdges(c,d.edges[a[0]],s,d);g.forEach(function(b){var S="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);l[S]||(l[S]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),l[S].projected.push({graphId:f.graphId,edge:b,preNode:f})});for(var x=function(S){var C=t.findForwardRmpathEdges(c,d.edges[a[S]],s,d);C.forEach(function(w){var A="".concat(t.dfsCode.dfsEdgeList[a[S]].fromNode,"-").concat(w.label,"-").concat(h[w.to].label);l[A]||(l[A]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[S]].fromNode,edgeLabel:w.label,nodeLabel2:h[w.to].label}),l[A].projected.push({graphId:f.graphId,edge:w,preNode:f})})},p=0;pb){var S=b;b=x,x=S}var C=g.label,w="".concat(u,"-").concat(x,"-").concat(C,"-").concat(b),A="".concat(x,"-").concat(C,"-").concat(b);if(!o[A]){var L=o[A]||0;L++,o[A]=L}l[w]={graphId:u,nodeLabel1:x,edgeLabel:C,nodeLabel2:b}})})}),Object.keys(a).forEach(function(u){var f=a[u];if(!(f{"use strict";Object.defineProperty(iR,"__esModule",{value:!0});iR.default=void 0;var wdt=Sw(),Edt=x8(c8()),Nee=x8(Cdt()),Adt=x8(Wk()),Fee=vf();function x8(r){return r&&r.__esModule?r:{default:r}}var Mdt=function(e,t,n,i){n===void 0&&(n="cluster"),i===void 0&&(i=2);var a=[],o=e.nodes;return t.forEach(function(s,l){a.push(Tdt(o,s,l,n,i))}),a},Tdt=function(e,t,n,i,a){var o=[n],s=[],l={};return t.forEach(function(u,f){if(u<=a&&n!==f){o.push(f),s.push(e[f]);var c=e[f][i];l[c]?(l[c].count++,l[c].dists.push(u)):l[c]={count:1,dists:[u]}}}),Object.keys(l).forEach(function(u){l[u].dists=l[u].dists.sort(function(f,c){return f-c})}),{nodeIdx:n,nodeId:e[n].id,nodeIdxs:o,neighbors:s,neighborNum:o.length-1,nodeLabelCountMap:l}},Bee=function(e,t,n,i,a){var o=Math.ceil(n/t),s={},l=0;return i.forEach(function(u,f){for(var c=0,h=0,d=u.nodeIdxs,p=u.neighborNum-1;c2*t)););if(m<2*t&&(s["".concat(f,"-").concat(v)]={start:f,end:v,distance:a[f][v]},c++,l++,l>=n))return s;if(h++,h>2*t)break}if(ch&&(l=h);var d=n[c.id].inDegree;u>d&&(u=d);var p=n[c.id].outDegree;f>p&&(f=p)}),e[t]={degree:l,inDegree:u,outDegree:f}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:f}},Uee=function(e,t,n,i,a,o,s){var l;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(!!u){var f=(0,Edt.default)(e,n),c=(0,Edt.default)(t,n),h=Odt(e.nodes,f,n),d=Odt(t.nodes,c,n),p=Idt(e.nodes,o),v=p.nodeMap,m=p.nodeLabelMap,g=Idt(t.nodes,o),x=g.nodeMap,b=g.nodeLabelMap;Ldt(e.edges,s,v);var S=Ldt(t.edges,s,x).edgeLabelMap,C=[];c==null||c.forEach(function(W){C=C.concat(W)}),a||(a=Math.max.apply(Math,(0,wdt.__spreadArray)((0,wdt.__spreadArray)([],C,!1),[2],!1))),i||(i=a);var w=Mdt(e,f,o,i),A=Mdt(t,c,o,i),L=Math.min(100,u*(u-1)/2),k=Bee(i,u,L,w,f),O=rR(k,w,e),M=10,I=1,R=1,P=4,F={graphs:O,nodeLabelProp:o,edgeLabelProp:s,minSupport:I,minNodeNum:R,maxNodeNum:P,directed:n},D=(0,Nee.default)(F).slice(0,M),G=D.length,U=[];D.forEach(function(W,Te){U[Te]={},Object.keys(O).forEach(function(ne){var pt=O[ne],Et=nR(pt,W,o,s);U[Te][ne]=Et})});var j=Gee(U,G,D),H=j.structure,tt=j.structureCountMap,et=t.nodes[0],ut=[],$=(l=t.nodes[0])===null||l===void 0?void 0:l[o],st=-1/0;t.nodes.forEach(function(W){var Te=W[o],ne=m[Te];(ne==null?void 0:ne.length)>st&&(st=ne.length,ut=ne,$=Te,et=W)});var _t={},dt={},gt={},Tt={},Ut={},$t={};Object.keys(b).forEach(function(W,Te){Ut[W]=[],n&&($t[W]=[]);var ne=-1/0,pt=b[W],Et={};pt.forEach(function(Ht){var ae=d["".concat(et.id,"-").concat(Ht.id)];if(ae&&Ut[W].push(ae),neUt[W][_n]){ga=!0;break}if(ga)return ut.splice(ae,1),"continue";var ii={};Ye.neighbors.forEach(function(En){var ci=h["".concat(ge.id,"-").concat(En.id)];ii["".concat(ge.id,"-").concat(En.id)]={start:v[ge.id].idx,end:v[En.id].idx,distance:ci}}),O=rR(ii,w,e,O);var xi=[];Object.keys(ii).forEach(function(En){if(tt[En]){xi.push(tt[En]);return}var ci=O[En];tt[En]=nR(ci,H,o,s),xi.push(tt[En])}),xi=xi.sort(function(En,ci){return ci-En});for(var Ki=!1,_n=0;_n<$n;_n++)if(xi[_n]=0;Ue--)ee(Ue)});var Y=[];ut==null||ut.forEach(function(W){for(var Te=v[W.id].idx,ne=Tdt(e.nodes,f[Te],Te,o,a),pt=ne.neighbors,Et=pt.length,St=!1,Wt=Et-1;Wt>=0;Wt--){if(pt.length+1Ye){pt.splice(Wt,1);continue}if(n){var Ve="".concat(ee.id,"-").concat(W.id),$n=h[Ve];ge=$t[Ue].length-1;var ga=$t[Ue][ge];if($n>ga){pt.splice(Wt,1);continue}}var _n=tt[Ht]?tt[Ht]:zee(e,W,ee,v,ae,w,H,o,s,tt,O),ii="".concat(et.id,"-").concat(Ue),xi=Tt[ii][Tt[ii].length-1];if(_n=0;ae--){var ga=$n(ae);if(ga==="break")break}if(Ve)return Y.splice(Te,1),"continue";ne.edges=Wt;var _n=(0,Adt.default)(ne,ne.nodes[0].id,!1).length;if(Object.keys(_n).reverse().forEach(function(er){if(!(er===ne.nodes[0].id||Ve)){if(_n[er]===1/0){var ai=St[er].node[o];if(Et[ai]--,Et[ai]K[ji][K[ji].length-1]){var ai=St[er].node[o];if(Et[ai]--,Et[ai]=0;ci--){var Nn=ne.nodes[ci],Ia=St[Nn.id].degree,Li=St[Nn.id].inDegree,ko=St[Nn.id].outDegree,ku=Nn[o],Ro=Ddt(_t,ku,x,b),ys=Ro.minPatternNodeLabelDegree,Jo=Ro.minPatternNodeLabelInDegree,vl=Ro.minPatternNodeLabelOutDegree,Fs=n?Ia=0;yo--){var Oi=Wt[yo];if(!St[Oi.source]||!St[Oi.target]){Wt.splice(yo,1);var xs=Oi[s];if(ee[xs]--,St[Oi.source]&&(St[Oi.source].degree--,St[Oi.source].outDegree--),St[Oi.target]&&(St[Oi.target].degree--,St[Oi.target].inDegree--),S[xs]&&ee[xs]=0;Zt--){var Ae=Xt(Zt);if(Ae==="break")break}for(var We=Y.length,$e=function(Te){var ne=Y[Te],pt={};ne.edges.forEach(function(Wt){var ee="".concat(Wt.source,"-").concat(Wt.target,"-").concat(Wt.label);pt[ee]?pt[ee]++:pt[ee]=1});for(var Et=function(ee){var Ue=Y[ee],Ht={};Ue.edges.forEach(function(ge){var Ye="".concat(ge.source,"-").concat(ge.target,"-").concat(ge.label);Ht[Ye]?Ht[Ye]++:Ht[Ye]=1});var ae=!0;Object.keys(Ht).length!==Object.keys(pt).length?ae=!1:Object.keys(pt).forEach(function(ge){Ht[ge]!==pt[ge]&&(ae=!1)}),ae&&Y.splice(ee,1)},St=We-1;St>Te;St--)Et(St);We=Y.length},Zt=0;Zt<=We-1;Zt++)$e(Zt);return Y}}},jee=Uee;iR.default=jee});var Ndt=ft(ho=>{"use strict";function aR(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?aR=function(t){return typeof t}:aR=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},aR(r)}Object.defineProperty(ho,"__esModule",{value:!0});Object.defineProperty(ho,"GADDI",{enumerable:!0,get:function(){return tre.default}});Object.defineProperty(ho,"breadthFirstSearch",{enumerable:!0,get:function(){return Vee.default}});Object.defineProperty(ho,"connectedComponent",{enumerable:!0,get:function(){return Hee.default}});Object.defineProperty(ho,"depthFirstSearch",{enumerable:!0,get:function(){return Xee.default}});Object.defineProperty(ho,"detectCycle",{enumerable:!0,get:function(){return Yee.default}});Object.defineProperty(ho,"dijkstra",{enumerable:!0,get:function(){return qee.default}});Object.defineProperty(ho,"findAllPath",{enumerable:!0,get:function(){return kdt.findAllPath}});Object.defineProperty(ho,"findShortestPath",{enumerable:!0,get:function(){return kdt.findShortestPath}});Object.defineProperty(ho,"floydWarshall",{enumerable:!0,get:function(){return Kee.default}});Object.defineProperty(ho,"getAdjMatrix",{enumerable:!0,get:function(){return Wee.default}});Object.defineProperty(ho,"getDegree",{enumerable:!0,get:function(){return b8.default}});Object.defineProperty(ho,"getInDegree",{enumerable:!0,get:function(){return b8.getInDegree}});Object.defineProperty(ho,"getNeighbors",{enumerable:!0,get:function(){return ere.getNeighbors}});Object.defineProperty(ho,"getOutDegree",{enumerable:!0,get:function(){return b8.getOutDegree}});Object.defineProperty(ho,"labelPropagation",{enumerable:!0,get:function(){return Zee.default}});Object.defineProperty(ho,"louvain",{enumerable:!0,get:function(){return $ee.default}});Object.defineProperty(ho,"minimumSpanningTree",{enumerable:!0,get:function(){return Qee.default}});Object.defineProperty(ho,"pageRank",{enumerable:!0,get:function(){return Jee.default}});var Wee=mf(sM()),Vee=mf(kht()),Hee=mf(s8()),b8=rre(l8()),Yee=mf(Vht()),Xee=mf(f8()),qee=mf(Wk()),kdt=qht(),Kee=mf(c8()),Zee=mf(Kht()),$ee=mf(udt()),Qee=mf(pdt()),Jee=mf(vdt()),tre=mf(Pdt()),ere=vf();function Rdt(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Rdt=function(i){return i?t:e})(r)}function rre(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||aR(r)!=="object"&&typeof r!="function")return{default:r};var t=Rdt(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}function mf(r){return r&&r.__esModule?r:{default:r}}});var Gdt=ft(sR=>{"use strict";function oR(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?oR=function(t){return typeof t}:oR=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},oR(r)}Object.defineProperty(sR,"__esModule",{value:!0});sR.default=void 0;var _8=nre(Ndt()),Fdt=Fk();function Bdt(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Bdt=function(i){return i?t:e})(r)}function nre(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||oR(r)!=="object"&&typeof r!="function")return{default:r};var t=Bdt(e);if(t&&t.has(r))return t.get(r);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var o=i?Object.getOwnPropertyDescriptor(r,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=r[a]}return n.default=r,t&&t.set(r,n),n}var S8=typeof self!="undefined"?self:{};S8.onmessage=function(r){var e=r.data,t=e._algorithmType,n=e.data;if(!!t){if(typeof _8[t]=="function"){var i=_8[t].apply(_8,n);S8.postMessage({_algorithmType:Fdt.MESSAGE.SUCCESS,data:i});return}S8.postMessage({_algorithmType:Fdt.MESSAGE.FAILURE})}};var ire=null;sR.default=ire});var zdt=ft(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});lR.default=void 0;var are=Fk(),ore=sre(Gdt());function sre(r){return r&&r.__esModule?r:{default:r}}var lre=function(e){return function(){for(var t=[],n=0;n{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.pageRankAsync=Pn.minimumSpanningTreeAsync=Pn.louvainAsync=Pn.labelPropagationAsync=Pn.getOutDegreeAsync=Pn.getNeighborsAsync=Pn.getInDegreeAsync=Pn.getDegreeAsync=Pn.getAdjMatrixAsync=Pn.floydWarshallAsync=Pn.findShortestPathAsync=Pn.findAllPathAsync=Pn.dijkstraAsync=Pn.detectCycleAsync=Pn.detectAllUndirectedCycleAsync=Pn.detectAllDirectedCycleAsync=Pn.detectAllCyclesAsync=Pn.connectedComponentAsync=Pn.GADDIAsync=void 0;var Ao=fre(zdt()),Mo=Fk();function fre(r){return r&&r.__esModule?r:{default:r}}var cre=function(e,t){return(0,Ao.default)(Mo.ALGORITHM.getAdjMatrix).apply(void 0,[e,t])};Pn.getAdjMatrixAsync=cre;var hre=function(e,t){return(0,Ao.default)(Mo.ALGORITHM.connectedComponent).apply(void 0,[e,t])};Pn.connectedComponentAsync=hre;var dre=function(e){return(0,Ao.default)(Mo.ALGORITHM.getDegree)(e)};Pn.getDegreeAsync=dre;var pre=function(e,t){return(0,Ao.default)(Mo.ALGORITHM.getInDegree)(e,t)};Pn.getInDegreeAsync=pre;var vre=function(e,t){return(0,Ao.default)(Mo.ALGORITHM.getOutDegree)(e,t)};Pn.getOutDegreeAsync=vre;var mre=function(e){return(0,Ao.default)(Mo.ALGORITHM.detectCycle)(e)};Pn.detectCycleAsync=mre;var gre=function(e){return(0,Ao.default)(Mo.ALGORITHM.detectAllCycles)(e)};Pn.detectAllCyclesAsync=gre;var yre=function(e){return(0,Ao.default)(Mo.ALGORITHM.detectAllDirectedCycle)(e)};Pn.detectAllDirectedCycleAsync=yre;var xre=function(e){return(0,Ao.default)(Mo.ALGORITHM.detectAllUndirectedCycle)(e)};Pn.detectAllUndirectedCycleAsync=xre;var bre=function(e,t,n,i){return(0,Ao.default)(Mo.ALGORITHM.dijkstra).apply(void 0,[e,t,n,i])};Pn.dijkstraAsync=bre;var _re=function(e,t,n,i){return(0,Ao.default)(Mo.ALGORITHM.findAllPath).apply(void 0,[e,t,n,i])};Pn.findAllPathAsync=_re;var Sre=function(e,t,n,i,a){return(0,Ao.default)(Mo.ALGORITHM.findShortestPath).apply(void 0,[e,t,n,i,a])};Pn.findShortestPathAsync=Sre;var Cre=function(e,t){return(0,Ao.default)(Mo.ALGORITHM.floydWarshall).apply(void 0,[e,t])};Pn.floydWarshallAsync=Cre;var wre=function(e,t,n,i){return i===void 0&&(i=1e3),(0,Ao.default)(Mo.ALGORITHM.labelPropagation)(e,t,n,i)};Pn.labelPropagationAsync=wre;var Ere=function(e,t,n,i){return(0,Ao.default)(Mo.ALGORITHM.louvain)(e,t,n,i)};Pn.louvainAsync=Ere;var Are=function(e,t,n){return(0,Ao.default)(Mo.ALGORITHM.minimumSpanningTree).apply(void 0,[e,t,n])};Pn.minimumSpanningTreeAsync=Are;var Mre=function(e,t,n){return(0,Ao.default)(Mo.ALGORITHM.pageRank).apply(void 0,[e,t,n])};Pn.pageRankAsync=Mre;var Tre=function(e,t,n){return(0,Ao.default)(Mo.ALGORITHM.getNeighbors).apply(void 0,[e,t,n])};Pn.getNeighborsAsync=Tre;var Ire=function(e,t,n,i,a,o,s){return n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),(0,Ao.default)(Mo.ALGORITHM.GADDI).apply(void 0,[e,t,n,i,a,o,s])};Pn.GADDIAsync=Ire});var Wdt=ft(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});Object.defineProperty(ha,"GADDIAsync",{enumerable:!0,get:function(){return kn.GADDIAsync}});Object.defineProperty(ha,"connectedComponentAsync",{enumerable:!0,get:function(){return kn.connectedComponentAsync}});ha.default=void 0;Object.defineProperty(ha,"detectAllCyclesAsync",{enumerable:!0,get:function(){return kn.detectAllCyclesAsync}});Object.defineProperty(ha,"detectAllDirectedCycleAsync",{enumerable:!0,get:function(){return kn.detectAllDirectedCycleAsync}});Object.defineProperty(ha,"detectAllUndirectedCycleAsync",{enumerable:!0,get:function(){return kn.detectAllUndirectedCycleAsync}});Object.defineProperty(ha,"detectCycleAsync",{enumerable:!0,get:function(){return kn.detectCycleAsync}});ha.detectDirectedCycleAsync=void 0;Object.defineProperty(ha,"dijkstraAsync",{enumerable:!0,get:function(){return kn.dijkstraAsync}});Object.defineProperty(ha,"findAllPathAsync",{enumerable:!0,get:function(){return kn.findAllPathAsync}});Object.defineProperty(ha,"findShortestPathAsync",{enumerable:!0,get:function(){return kn.findShortestPathAsync}});Object.defineProperty(ha,"floydWarshallAsync",{enumerable:!0,get:function(){return kn.floydWarshallAsync}});Object.defineProperty(ha,"getAdjMatrixAsync",{enumerable:!0,get:function(){return kn.getAdjMatrixAsync}});Object.defineProperty(ha,"getDegreeAsync",{enumerable:!0,get:function(){return kn.getDegreeAsync}});Object.defineProperty(ha,"getInDegreeAsync",{enumerable:!0,get:function(){return kn.getInDegreeAsync}});Object.defineProperty(ha,"getNeighborsAsync",{enumerable:!0,get:function(){return kn.getNeighborsAsync}});Object.defineProperty(ha,"getOutDegreeAsync",{enumerable:!0,get:function(){return kn.getOutDegreeAsync}});Object.defineProperty(ha,"labelPropagationAsync",{enumerable:!0,get:function(){return kn.labelPropagationAsync}});Object.defineProperty(ha,"louvainAsync",{enumerable:!0,get:function(){return kn.louvainAsync}});Object.defineProperty(ha,"minimumSpanningTreeAsync",{enumerable:!0,get:function(){return kn.minimumSpanningTreeAsync}});Object.defineProperty(ha,"pageRankAsync",{enumerable:!0,get:function(){return kn.pageRankAsync}});var kn=Udt(),jdt=kn.detectCycleAsync;ha.detectDirectedCycleAsync=jdt;var Lre={getAdjMatrixAsync:kn.getAdjMatrixAsync,connectedComponentAsync:kn.connectedComponentAsync,getDegreeAsync:kn.getDegreeAsync,getInDegreeAsync:kn.getInDegreeAsync,getOutDegreeAsync:kn.getOutDegreeAsync,detectCycleAsync:kn.detectCycleAsync,detectDirectedCycleAsync:jdt,detectAllCyclesAsync:kn.detectAllCyclesAsync,detectAllDirectedCycleAsync:kn.detectAllDirectedCycleAsync,detectAllUndirectedCycleAsync:kn.detectAllUndirectedCycleAsync,dijkstraAsync:kn.dijkstraAsync,findAllPathAsync:kn.findAllPathAsync,findShortestPathAsync:kn.findShortestPathAsync,floydWarshallAsync:kn.floydWarshallAsync,labelPropagationAsync:kn.labelPropagationAsync,louvainAsync:kn.louvainAsync,minimumSpanningTreeAsync:kn.minimumSpanningTreeAsync,pageRankAsync:kn.pageRankAsync,getNeighborsAsync:kn.getNeighborsAsync,GADDIAsync:kn.GADDIAsync};ha.default=Lre});var C8=ft((CSr,Vdt)=>{"use strict";Vdt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Ydt=ft((wSr,Hdt)=>{Hdt.exports=function(e){return!e||typeof e=="string"?!1:e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&e.constructor.name!=="String")}});var Kdt=ft((ESr,qdt)=>{"use strict";var Ore=Ydt(),Dre=Array.prototype.concat,Pre=Array.prototype.slice,Xdt=qdt.exports=function(e){for(var t=[],n=0,i=e.length;n{var hM=C8(),dM=Kdt(),Zdt=Object.hasOwnProperty,$dt={};for(uR in hM)Zdt.call(hM,uR)&&($dt[hM[uR]]=uR);var uR,Au=Qdt.exports={to:{},get:{}};Au.get=function(r){var e=r.substring(0,3).toLowerCase(),t,n;switch(e){case"hsl":t=Au.get.hsl(r),n="hsl";break;case"hwb":t=Au.get.hwb(r),n="hwb";break;default:t=Au.get.rgb(r),n="rgb";break}return t?{model:n,value:t}:null};Au.get.rgb=function(r){if(!r)return null;var e=/^#([a-f0-9]{3,4})$/i,t=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,n=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,i=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,a=/^(\w+)$/,o=[0,0,0,1],s,l,u;if(s=r.match(t)){for(u=s[2],s=s[1],l=0;l<3;l++){var f=l*2;o[l]=parseInt(s.slice(f,f+2),16)}u&&(o[3]=parseInt(u,16)/255)}else if(s=r.match(e)){for(s=s[1],u=s[3],l=0;l<3;l++)o[l]=parseInt(s[l]+s[l],16);u&&(o[3]=parseInt(u+u,16)/255)}else if(s=r.match(n)){for(l=0;l<3;l++)o[l]=parseInt(s[l+1],0);s[4]&&(s[5]?o[3]=parseFloat(s[4])*.01:o[3]=parseFloat(s[4]))}else if(s=r.match(i)){for(l=0;l<3;l++)o[l]=Math.round(parseFloat(s[l+1])*2.55);s[4]&&(s[5]?o[3]=parseFloat(s[4])*.01:o[3]=parseFloat(s[4]))}else return(s=r.match(a))?s[1]==="transparent"?[0,0,0,0]:Zdt.call(hM,s[1])?(o=hM[s[1]],o[3]=1,o):null:null;for(l=0;l<3;l++)o[l]=gg(o[l],0,255);return o[3]=gg(o[3],0,1),o};Au.get.hsl=function(r){if(!r)return null;var e=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=r.match(e);if(t){var n=parseFloat(t[4]),i=(parseFloat(t[1])%360+360)%360,a=gg(parseFloat(t[2]),0,100),o=gg(parseFloat(t[3]),0,100),s=gg(isNaN(n)?1:n,0,1);return[i,a,o,s]}return null};Au.get.hwb=function(r){if(!r)return null;var e=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,t=r.match(e);if(t){var n=parseFloat(t[4]),i=(parseFloat(t[1])%360+360)%360,a=gg(parseFloat(t[2]),0,100),o=gg(parseFloat(t[3]),0,100),s=gg(isNaN(n)?1:n,0,1);return[i,a,o,s]}return null};Au.to.hex=function(){var r=dM(arguments);return"#"+fR(r[0])+fR(r[1])+fR(r[2])+(r[3]<1?fR(Math.round(r[3]*255)):"")};Au.to.rgb=function(){var r=dM(arguments);return r.length<4||r[3]===1?"rgb("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+")":"rgba("+Math.round(r[0])+", "+Math.round(r[1])+", "+Math.round(r[2])+", "+r[3]+")"};Au.to.rgb.percent=function(){var r=dM(arguments),e=Math.round(r[0]/255*100),t=Math.round(r[1]/255*100),n=Math.round(r[2]/255*100);return r.length<4||r[3]===1?"rgb("+e+"%, "+t+"%, "+n+"%)":"rgba("+e+"%, "+t+"%, "+n+"%, "+r[3]+")"};Au.to.hsl=function(){var r=dM(arguments);return r.length<4||r[3]===1?"hsl("+r[0]+", "+r[1]+"%, "+r[2]+"%)":"hsla("+r[0]+", "+r[1]+"%, "+r[2]+"%, "+r[3]+")"};Au.to.hwb=function(){var r=dM(arguments),e="";return r.length>=4&&r[3]!==1&&(e=", "+r[3]),"hwb("+r[0]+", "+r[1]+"%, "+r[2]+"%"+e+")"};Au.to.keyword=function(r){return $dt[r.slice(0,3)]};function gg(r,e,t){return Math.min(Math.max(e,r),t)}function fR(r){var e=Math.round(r).toString(16).toUpperCase();return e.length<2?"0"+e:e}});var w8=ft((MSr,npt)=>{var z0=C8(),tpt={};for(cR in z0)z0.hasOwnProperty(cR)&&(tpt[z0[cR]]=cR);var cR,Ar=npt.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(tl in Ar)if(Ar.hasOwnProperty(tl)){if(!("channels"in Ar[tl]))throw new Error("missing channels property: "+tl);if(!("labels"in Ar[tl]))throw new Error("missing channel labels property: "+tl);if(Ar[tl].labels.length!==Ar[tl].channels)throw new Error("channel and label counts mismatch: "+tl);ept=Ar[tl].channels,rpt=Ar[tl].labels,delete Ar[tl].channels,delete Ar[tl].labels,Object.defineProperty(Ar[tl],"channels",{value:ept}),Object.defineProperty(Ar[tl],"labels",{value:rpt})}var ept,rpt,tl;Ar.rgb.hsl=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i=Math.min(e,t,n),a=Math.max(e,t,n),o=a-i,s,l,u;return a===i?s=0:e===a?s=(t-n)/o:t===a?s=2+(n-e)/o:n===a&&(s=4+(e-t)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]};Ar.rgb.hsv=function(r){var e,t,n,i,a,o=r[0]/255,s=r[1]/255,l=r[2]/255,u=Math.max(o,s,l),f=u-Math.min(o,s,l),c=function(h){return(u-h)/6/f+1/2};return f===0?i=a=0:(a=f/u,e=c(o),t=c(s),n=c(l),o===u?i=n-t:s===u?i=1/3+e-n:l===u&&(i=2/3+t-e),i<0?i+=1:i>1&&(i-=1)),[i*360,a*100,u*100]};Ar.rgb.hwb=function(r){var e=r[0],t=r[1],n=r[2],i=Ar.rgb.hsl(r)[0],a=1/255*Math.min(e,Math.min(t,n));return n=1-1/255*Math.max(e,Math.max(t,n)),[i,a*100,n*100]};Ar.rgb.cmyk=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i,a,o,s;return s=Math.min(1-e,1-t,1-n),i=(1-e-s)/(1-s)||0,a=(1-t-s)/(1-s)||0,o=(1-n-s)/(1-s)||0,[i*100,a*100,o*100,s*100]};function kre(r,e){return Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2)+Math.pow(r[2]-e[2],2)}Ar.rgb.keyword=function(r){var e=tpt[r];if(e)return e;var t=1/0,n;for(var i in z0)if(z0.hasOwnProperty(i)){var a=z0[i],o=kre(r,a);o.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=e*.4124+t*.3576+n*.1805,a=e*.2126+t*.7152+n*.0722,o=e*.0193+t*.1192+n*.9505;return[i*100,a*100,o*100]};Ar.rgb.lab=function(r){var e=Ar.rgb.xyz(r),t=e[0],n=e[1],i=e[2],a,o,s;return t/=95.047,n/=100,i/=108.883,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,a=116*n-16,o=500*(t-n),s=200*(n-i),[a,o,s]};Ar.hsl.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100,i,a,o,s,l;if(t===0)return l=n*255,[l,l,l];n<.5?a=n*(1+t):a=n+t-n*t,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=e+1/3*-(u-1),o<0&&o++,o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s};Ar.hsl.hsv=function(r){var e=r[0],t=r[1]/100,n=r[2]/100,i=t,a=Math.max(n,.01),o,s;return n*=2,t*=n<=1?n:2-n,i*=a<=1?a:2-a,s=(n+t)/2,o=n===0?2*i/(a+i):2*t/(n+t),[e,o*100,s*100]};Ar.hsv.rgb=function(r){var e=r[0]/60,t=r[1]/100,n=r[2]/100,i=Math.floor(e)%6,a=e-Math.floor(e),o=255*n*(1-t),s=255*n*(1-t*a),l=255*n*(1-t*(1-a));switch(n*=255,i){case 0:return[n,l,o];case 1:return[s,n,o];case 2:return[o,n,l];case 3:return[o,s,n];case 4:return[l,o,n];case 5:return[n,o,s]}};Ar.hsv.hsl=function(r){var e=r[0],t=r[1]/100,n=r[2]/100,i=Math.max(n,.01),a,o,s;return s=(2-t)*n,a=(2-t)*i,o=t*i,o/=a<=1?a:2-a,o=o||0,s/=2,[e,o*100,s*100]};Ar.hwb.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100,i=t+n,a,o,s,l;i>1&&(t/=i,n/=i),a=Math.floor(6*e),o=1-n,s=6*e-a,(a&1)!=0&&(s=1-s),l=t+s*(o-t);var u,f,c;switch(a){default:case 6:case 0:u=o,f=l,c=t;break;case 1:u=l,f=o,c=t;break;case 2:u=t,f=o,c=l;break;case 3:u=t,f=l,c=o;break;case 4:u=l,f=t,c=o;break;case 5:u=o,f=t,c=l;break}return[u*255,f*255,c*255]};Ar.cmyk.rgb=function(r){var e=r[0]/100,t=r[1]/100,n=r[2]/100,i=r[3]/100,a,o,s;return a=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,t*(1-i)+i),s=1-Math.min(1,n*(1-i)+i),[a*255,o*255,s*255]};Ar.xyz.rgb=function(r){var e=r[0]/100,t=r[1]/100,n=r[2]/100,i,a,o;return i=e*3.2406+t*-1.5372+n*-.4986,a=e*-.9689+t*1.8758+n*.0415,o=e*.0557+t*-.204+n*1.057,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a*12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),a=Math.min(Math.max(0,a),1),o=Math.min(Math.max(0,o),1),[i*255,a*255,o*255]};Ar.xyz.lab=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return e/=95.047,t/=100,n/=108.883,e=e>.008856?Math.pow(e,1/3):7.787*e+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=116*t-16,a=500*(e-t),o=200*(t-n),[i,a,o]};Ar.lab.xyz=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;a=(e+16)/116,i=t/500+a,o=a-n/200;var s=Math.pow(a,3),l=Math.pow(i,3),u=Math.pow(o,3);return a=s>.008856?s:(a-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=u>.008856?u:(o-16/116)/7.787,i*=95.047,a*=100,o*=108.883,[i,a,o]};Ar.lab.lch=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return i=Math.atan2(n,t),a=i*360/2/Math.PI,a<0&&(a+=360),o=Math.sqrt(t*t+n*n),[e,o,a]};Ar.lch.lab=function(r){var e=r[0],t=r[1],n=r[2],i,a,o;return o=n/360*2*Math.PI,i=t*Math.cos(o),a=t*Math.sin(o),[e,i,a]};Ar.rgb.ansi16=function(r){var e=r[0],t=r[1],n=r[2],i=1 in arguments?arguments[1]:Ar.rgb.hsv(r)[2];if(i=Math.round(i/50),i===0)return 30;var a=30+(Math.round(n/255)<<2|Math.round(t/255)<<1|Math.round(e/255));return i===2&&(a+=60),a};Ar.hsv.ansi16=function(r){return Ar.rgb.ansi16(Ar.hsv.rgb(r),r[2])};Ar.rgb.ansi256=function(r){var e=r[0],t=r[1],n=r[2];if(e===t&&t===n)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;var i=16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5);return i};Ar.ansi16.rgb=function(r){var e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];var t=(~~(r>50)+1)*.5,n=(e&1)*t*255,i=(e>>1&1)*t*255,a=(e>>2&1)*t*255;return[n,i,a]};Ar.ansi256.rgb=function(r){if(r>=232){var e=(r-232)*10+8;return[e,e,e]}r-=16;var t,n=Math.floor(r/36)/5*255,i=Math.floor((t=r%36)/6)/5*255,a=t%6/5*255;return[n,i,a]};Ar.rgb.hex=function(r){var e=((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255),t=e.toString(16).toUpperCase();return"000000".substring(t.length)+t};Ar.hex.rgb=function(r){var e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var t=e[0];e[0].length===3&&(t=t.split("").map(function(s){return s+s}).join(""));var n=parseInt(t,16),i=n>>16&255,a=n>>8&255,o=n&255;return[i,a,o]};Ar.rgb.hcg=function(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i=Math.max(Math.max(e,t),n),a=Math.min(Math.min(e,t),n),o=i-a,s,l;return o<1?s=a/(1-o):s=0,o<=0?l=0:i===e?l=(t-n)/o%6:i===t?l=2+(n-e)/o:l=4+(e-t)/o+4,l/=6,l%=1,[l*360,o*100,s*100]};Ar.hsl.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=1,i=0;return t<.5?n=2*e*t:n=2*e*(1-t),n<1&&(i=(t-.5*n)/(1-n)),[r[0],n*100,i*100]};Ar.hsv.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=e*t,i=0;return n<1&&(i=(t-n)/(1-n)),[r[0],n*100,i*100]};Ar.hcg.rgb=function(r){var e=r[0]/360,t=r[1]/100,n=r[2]/100;if(t===0)return[n*255,n*255,n*255];var i=[0,0,0],a=e%1*6,o=a%1,s=1-o,l=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-t)*n,[(t*i[0]+l)*255,(t*i[1]+l)*255,(t*i[2]+l)*255]};Ar.hcg.hsv=function(r){var e=r[1]/100,t=r[2]/100,n=e+t*(1-e),i=0;return n>0&&(i=e/n),[r[0],i*100,n*100]};Ar.hcg.hsl=function(r){var e=r[1]/100,t=r[2]/100,n=t*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[r[0],i*100,n*100]};Ar.hcg.hwb=function(r){var e=r[1]/100,t=r[2]/100,n=e+t*(1-e);return[r[0],(n-e)*100,(1-n)*100]};Ar.hwb.hcg=function(r){var e=r[1]/100,t=r[2]/100,n=1-t,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[r[0],i*100,a*100]};Ar.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};Ar.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};Ar.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};Ar.gray.hsl=Ar.gray.hsv=function(r){return[0,0,r[0]]};Ar.gray.hwb=function(r){return[0,100,r[0]]};Ar.gray.cmyk=function(r){return[0,0,0,r[0]]};Ar.gray.lab=function(r){return[r[0],0,0]};Ar.gray.hex=function(r){var e=Math.round(r[0]/100*255)&255,t=(e<<16)+(e<<8)+e,n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n};Ar.rgb.gray=function(r){var e=(r[0]+r[1]+r[2])/3;return[e/255*100]}});var apt=ft((TSr,ipt)=>{var hR=w8();function Rre(){for(var r={},e=Object.keys(hR),t=e.length,n=0;n{var E8=w8(),Gre=apt(),z_={},zre=Object.keys(E8);function Ure(r){var e=function(t){return t==null?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function jre(r){var e=function(t){if(t==null)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=r(t);if(typeof n=="object")for(var i=n.length,a=0;a{"use strict";var pM=Jdt(),Mu=spt(),A8=[].slice,lpt=["keyword","gray","hex"],M8={};Object.keys(Mu).forEach(function(r){M8[A8.call(Mu[r].labels).sort().join("")]=r});var dR={};function cs(r,e){if(!(this instanceof cs))return new cs(r,e);if(e&&e in lpt&&(e=null),e&&!(e in Mu))throw new Error("Unknown model: "+e);var t,n;if(r==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(r instanceof cs)this.model=r.model,this.color=r.color.slice(),this.valpha=r.valpha;else if(typeof r=="string"){var i=pM.get(r);if(i===null)throw new Error("Unable to parse color from string: "+r);this.model=i.model,n=Mu[this.model].channels,this.color=i.value.slice(0,n),this.valpha=typeof i.value[n]=="number"?i.value[n]:1}else if(r.length){this.model=e||"rgb",n=Mu[this.model].channels;var a=A8.call(r,0,n);this.color=T8(a,n),this.valpha=typeof r[n]=="number"?r[n]:1}else if(typeof r=="number")r&=16777215,this.model="rgb",this.color=[r>>16&255,r>>8&255,r&255],this.valpha=1;else{this.valpha=1;var o=Object.keys(r);"alpha"in r&&(o.splice(o.indexOf("alpha"),1),this.valpha=typeof r.alpha=="number"?r.alpha:0);var s=o.sort().join("");if(!(s in M8))throw new Error("Unable to parse color from object: "+JSON.stringify(r));this.model=M8[s];var l=Mu[this.model].labels,u=[];for(t=0;tt?(e+.05)/(t+.05):(t+.05)/(e+.05)},level:function(r){var e=this.contrast(r);return e>=7.1?"AAA":e>=4.5?"AA":""},isDark:function(){var r=this.rgb().color,e=(r[0]*299+r[1]*587+r[2]*114)/1e3;return e<128},isLight:function(){return!this.isDark()},negate:function(){for(var r=this.rgb(),e=0;e<3;e++)r.color[e]=255-r.color[e];return r},lighten:function(r){var e=this.hsl();return e.color[2]+=e.color[2]*r,e},darken:function(r){var e=this.hsl();return e.color[2]-=e.color[2]*r,e},saturate:function(r){var e=this.hsl();return e.color[1]+=e.color[1]*r,e},desaturate:function(r){var e=this.hsl();return e.color[1]-=e.color[1]*r,e},whiten:function(r){var e=this.hwb();return e.color[1]+=e.color[1]*r,e},blacken:function(r){var e=this.hwb();return e.color[2]+=e.color[2]*r,e},grayscale:function(){var r=this.rgb().color,e=r[0]*.3+r[1]*.59+r[2]*.11;return cs.rgb(e,e,e)},fade:function(r){return this.alpha(this.valpha-this.valpha*r)},opaquer:function(r){return this.alpha(this.valpha+this.valpha*r)},rotate:function(r){var e=this.hsl(),t=e.color[0];return t=(t+r)%360,t=t<0?360+t:t,e.color[0]=t,e},mix:function(r,e){if(!r||!r.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof r);var t=r.rgb(),n=this.rgb(),i=e===void 0?.5:e,a=2*i-1,o=t.alpha()-n.alpha(),s=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,l=1-s;return cs.rgb(s*t.red()+l*n.red(),s*t.green()+l*n.green(),s*t.blue()+l*n.blue(),t.alpha()*i+n.alpha()*(1-i))}};Object.keys(Mu).forEach(function(r){if(lpt.indexOf(r)===-1){var e=Mu[r].channels;cs.prototype[r]=function(){if(this.model===r)return new cs(this);if(arguments.length)return new cs(arguments,r);var t=typeof arguments[e]=="number"?e:this.valpha;return new cs(Hre(Mu[this.model][r].raw(this.color)).concat(t),r)},cs[r]=function(t){return typeof t=="number"&&(t=T8(A8.call(arguments),e)),new cs(t,r)}}});function Wre(r,e){return Number(r.toFixed(e))}function Vre(r){return function(e){return Wre(e,r)}}function Wa(r,e,t){return r=Array.isArray(r)?r:[r],r.forEach(function(n){(dR[n]||(dR[n]=[]))[e]=t}),r=r[0],function(n){var i;return arguments.length?(t&&(n=t(n)),i=this[r](),i.color[e]=n,i):(i=this[r]().color[e],t&&(i=t(i)),i)}}function To(r){return function(e){return Math.max(0,Math.min(r,e))}}function Hre(r){return Array.isArray(r)?r:[r]}function T8(r,e){for(var t=0;t{(function(r){var e=/^\s+/,t=/\s+$/,n=0,i=r.round,a=r.min,o=r.max,s=r.random;function l(Y,it){if(Y=Y||"",it=it||{},Y instanceof l)return Y;if(!(this instanceof l))return new l(Y,it);var K=u(Y);this._originalInput=Y,this._r=K.r,this._g=K.g,this._b=K.b,this._a=K.a,this._roundA=i(100*this._a)/100,this._format=it.format||K.format,this._gradientType=it.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=K.ok,this._tc_id=n++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var Y=this.toRgb();return(Y.r*299+Y.g*587+Y.b*114)/1e3},getLuminance:function(){var Y=this.toRgb(),it,K,Rt,Xt,Zt,Ae;return it=Y.r/255,K=Y.g/255,Rt=Y.b/255,it<=.03928?Xt=it/12.92:Xt=r.pow((it+.055)/1.055,2.4),K<=.03928?Zt=K/12.92:Zt=r.pow((K+.055)/1.055,2.4),Rt<=.03928?Ae=Rt/12.92:Ae=r.pow((Rt+.055)/1.055,2.4),.2126*Xt+.7152*Zt+.0722*Ae},setAlpha:function(Y){return this._a=U(Y),this._roundA=i(100*this._a)/100,this},toHsv:function(){var Y=d(this._r,this._g,this._b);return{h:Y.h*360,s:Y.s,v:Y.v,a:this._a}},toHsvString:function(){var Y=d(this._r,this._g,this._b),it=i(Y.h*360),K=i(Y.s*100),Rt=i(Y.v*100);return this._a==1?"hsv("+it+", "+K+"%, "+Rt+"%)":"hsva("+it+", "+K+"%, "+Rt+"%, "+this._roundA+")"},toHsl:function(){var Y=c(this._r,this._g,this._b);return{h:Y.h*360,s:Y.s,l:Y.l,a:this._a}},toHslString:function(){var Y=c(this._r,this._g,this._b),it=i(Y.h*360),K=i(Y.s*100),Rt=i(Y.l*100);return this._a==1?"hsl("+it+", "+K+"%, "+Rt+"%)":"hsla("+it+", "+K+"%, "+Rt+"%, "+this._roundA+")"},toHex:function(Y){return v(this._r,this._g,this._b,Y)},toHexString:function(Y){return"#"+this.toHex(Y)},toHex8:function(Y){return m(this._r,this._g,this._b,this._a,Y)},toHex8String:function(Y){return"#"+this.toHex8(Y)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(j(this._r,255)*100)+"%",g:i(j(this._g,255)*100)+"%",b:i(j(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(j(this._r,255)*100)+"%, "+i(j(this._g,255)*100)+"%, "+i(j(this._b,255)*100)+"%)":"rgba("+i(j(this._r,255)*100)+"%, "+i(j(this._g,255)*100)+"%, "+i(j(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:D[v(this._r,this._g,this._b,!0)]||!1},toFilter:function(Y){var it="#"+g(this._r,this._g,this._b,this._a),K=it,Rt=this._gradientType?"GradientType = 1, ":"";if(Y){var Xt=l(Y);K="#"+g(Xt._r,Xt._g,Xt._b,Xt._a)}return"progid:DXImageTransform.Microsoft.gradient("+Rt+"startColorstr="+it+",endColorstr="+K+")"},toString:function(Y){var it=!!Y;Y=Y||this._format;var K=!1,Rt=this._a<1&&this._a>=0,Xt=!it&&Rt&&(Y==="hex"||Y==="hex6"||Y==="hex3"||Y==="hex4"||Y==="hex8"||Y==="name");return Xt?Y==="name"&&this._a===0?this.toName():this.toRgbString():(Y==="rgb"&&(K=this.toRgbString()),Y==="prgb"&&(K=this.toPercentageRgbString()),(Y==="hex"||Y==="hex6")&&(K=this.toHexString()),Y==="hex3"&&(K=this.toHexString(!0)),Y==="hex4"&&(K=this.toHex8String(!0)),Y==="hex8"&&(K=this.toHex8String()),Y==="name"&&(K=this.toName()),Y==="hsl"&&(K=this.toHslString()),Y==="hsv"&&(K=this.toHsvString()),K||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(Y,it){var K=Y.apply(null,[this].concat([].slice.call(it)));return this._r=K._r,this._g=K._g,this._b=K._b,this.setAlpha(K._a),this},lighten:function(){return this._applyModification(C,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(A,arguments)},desaturate:function(){return this._applyModification(x,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(S,arguments)},spin:function(){return this._applyModification(L,arguments)},_applyCombination:function(Y,it){return Y.apply(null,[this].concat([].slice.call(it)))},analogous:function(){return this._applyCombination(R,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(P,arguments)},splitcomplement:function(){return this._applyCombination(I,arguments)},triad:function(){return this._applyCombination(O,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},l.fromRatio=function(Y,it){if(typeof Y=="object"){var K={};for(var Rt in Y)Y.hasOwnProperty(Rt)&&(Rt==="a"?K[Rt]=Y[Rt]:K[Rt]=st(Y[Rt]));Y=K}return l(Y,it)};function u(Y){var it={r:0,g:0,b:0},K=1,Rt=null,Xt=null,Zt=null,Ae=!1,We=!1;return typeof Y=="string"&&(Y=Ut(Y)),typeof Y=="object"&&(Tt(Y.r)&&Tt(Y.g)&&Tt(Y.b)?(it=f(Y.r,Y.g,Y.b),Ae=!0,We=String(Y.r).substr(-1)==="%"?"prgb":"rgb"):Tt(Y.h)&&Tt(Y.s)&&Tt(Y.v)?(Rt=st(Y.s),Xt=st(Y.v),it=p(Y.h,Rt,Xt),Ae=!0,We="hsv"):Tt(Y.h)&&Tt(Y.s)&&Tt(Y.l)&&(Rt=st(Y.s),Zt=st(Y.l),it=h(Y.h,Rt,Zt),Ae=!0,We="hsl"),Y.hasOwnProperty("a")&&(K=Y.a)),K=U(K),{ok:Ae,format:Y.format||We,r:a(255,o(it.r,0)),g:a(255,o(it.g,0)),b:a(255,o(it.b,0)),a:K}}function f(Y,it,K){return{r:j(Y,255)*255,g:j(it,255)*255,b:j(K,255)*255}}function c(Y,it,K){Y=j(Y,255),it=j(it,255),K=j(K,255);var Rt=o(Y,it,K),Xt=a(Y,it,K),Zt,Ae,We=(Rt+Xt)/2;if(Rt==Xt)Zt=Ae=0;else{var $e=Rt-Xt;switch(Ae=We>.5?$e/(2-Rt-Xt):$e/(Rt+Xt),Rt){case Y:Zt=(it-K)/$e+(it1&&(ne-=1),ne<1/6?W+(Te-W)*6*ne:ne<1/2?Te:ne<2/3?W+(Te-W)*(2/3-ne)*6:W}if(it===0)Rt=Xt=Zt=K;else{var We=K<.5?K*(1+it):K+it-K*it,$e=2*K-We;Rt=Ae($e,We,Y+1/3),Xt=Ae($e,We,Y),Zt=Ae($e,We,Y-1/3)}return{r:Rt*255,g:Xt*255,b:Zt*255}}function d(Y,it,K){Y=j(Y,255),it=j(it,255),K=j(K,255);var Rt=o(Y,it,K),Xt=a(Y,it,K),Zt,Ae,We=Rt,$e=Rt-Xt;if(Ae=Rt===0?0:$e/Rt,Rt==Xt)Zt=0;else{switch(Rt){case Y:Zt=(it-K)/$e+(it>1)+720)%360;--it;)Rt.h=(Rt.h+Xt)%360,Zt.push(l(Rt));return Zt}function P(Y,it){it=it||6;for(var K=l(Y).toHsv(),Rt=K.h,Xt=K.s,Zt=K.v,Ae=[],We=1/it;it--;)Ae.push(l({h:Rt,s:Xt,v:Zt})),Zt=(Zt+We)%1;return Ae}l.mix=function(Y,it,K){K=K===0?0:K||50;var Rt=l(Y).toRgb(),Xt=l(it).toRgb(),Zt=K/100,Ae={r:(Xt.r-Rt.r)*Zt+Rt.r,g:(Xt.g-Rt.g)*Zt+Rt.g,b:(Xt.b-Rt.b)*Zt+Rt.b,a:(Xt.a-Rt.a)*Zt+Rt.a};return l(Ae)},l.readability=function(Y,it){var K=l(Y),Rt=l(it);return(r.max(K.getLuminance(),Rt.getLuminance())+.05)/(r.min(K.getLuminance(),Rt.getLuminance())+.05)},l.isReadable=function(Y,it,K){var Rt=l.readability(Y,it),Xt,Zt;switch(Zt=!1,Xt=$t(K),Xt.level+Xt.size){case"AAsmall":case"AAAlarge":Zt=Rt>=4.5;break;case"AAlarge":Zt=Rt>=3;break;case"AAAsmall":Zt=Rt>=7;break}return Zt},l.mostReadable=function(Y,it,K){var Rt=null,Xt=0,Zt,Ae,We,$e;K=K||{},Ae=K.includeFallbackColors,We=K.level,$e=K.size;for(var W=0;WXt&&(Xt=Zt,Rt=l(it[W]));return l.isReadable(Y,Rt,{level:We,size:$e})||!Ae?Rt:(K.includeFallbackColors=!1,l.mostReadable(Y,["#fff","#000"],K))};var F=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},D=l.hexNames=G(F);function G(Y){var it={};for(var K in Y)Y.hasOwnProperty(K)&&(it[Y[K]]=K);return it}function U(Y){return Y=parseFloat(Y),(isNaN(Y)||Y<0||Y>1)&&(Y=1),Y}function j(Y,it){et(Y)&&(Y="100%");var K=ut(Y);return Y=a(it,o(0,parseFloat(Y))),K&&(Y=parseInt(Y*it,10)/100),r.abs(Y-it)<1e-6?1:Y%it/parseFloat(it)}function H(Y){return a(1,o(0,Y))}function tt(Y){return parseInt(Y,16)}function et(Y){return typeof Y=="string"&&Y.indexOf(".")!=-1&&parseFloat(Y)===1}function ut(Y){return typeof Y=="string"&&Y.indexOf("%")!=-1}function $(Y){return Y.length==1?"0"+Y:""+Y}function st(Y){return Y<=1&&(Y=Y*100+"%"),Y}function _t(Y){return r.round(parseFloat(Y)*255).toString(16)}function dt(Y){return tt(Y)/255}var gt=function(){var Y="[-\\+]?\\d+%?",it="[-\\+]?\\d*\\.\\d+%?",K="(?:"+it+")|(?:"+Y+")",Rt="[\\s|\\(]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")\\s*\\)?",Xt="[\\s|\\(]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")[,|\\s]+("+K+")\\s*\\)?";return{CSS_UNIT:new RegExp(K),rgb:new RegExp("rgb"+Rt),rgba:new RegExp("rgba"+Xt),hsl:new RegExp("hsl"+Rt),hsla:new RegExp("hsla"+Xt),hsv:new RegExp("hsv"+Rt),hsva:new RegExp("hsva"+Xt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Tt(Y){return!!gt.CSS_UNIT.exec(Y)}function Ut(Y){Y=Y.replace(e,"").replace(t,"").toLowerCase();var it=!1;if(F[Y])Y=F[Y],it=!0;else if(Y=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var K;return(K=gt.rgb.exec(Y))?{r:K[1],g:K[2],b:K[3]}:(K=gt.rgba.exec(Y))?{r:K[1],g:K[2],b:K[3],a:K[4]}:(K=gt.hsl.exec(Y))?{h:K[1],s:K[2],l:K[3]}:(K=gt.hsla.exec(Y))?{h:K[1],s:K[2],l:K[3],a:K[4]}:(K=gt.hsv.exec(Y))?{h:K[1],s:K[2],v:K[3]}:(K=gt.hsva.exec(Y))?{h:K[1],s:K[2],v:K[3],a:K[4]}:(K=gt.hex8.exec(Y))?{r:tt(K[1]),g:tt(K[2]),b:tt(K[3]),a:dt(K[4]),format:it?"name":"hex8"}:(K=gt.hex6.exec(Y))?{r:tt(K[1]),g:tt(K[2]),b:tt(K[3]),format:it?"name":"hex"}:(K=gt.hex4.exec(Y))?{r:tt(K[1]+""+K[1]),g:tt(K[2]+""+K[2]),b:tt(K[3]+""+K[3]),a:dt(K[4]+""+K[4]),format:it?"name":"hex8"}:(K=gt.hex3.exec(Y))?{r:tt(K[1]+""+K[1]),g:tt(K[2]+""+K[2]),b:tt(K[3]+""+K[3]),format:it?"name":"hex"}:!1}function $t(Y){var it,K;return Y=Y||{level:"AA",size:"small"},it=(Y.level||"AA").toUpperCase(),K=(Y.size||"small").toLowerCase(),it!=="AA"&&it!=="AAA"&&(it="AA"),K!=="small"&&K!=="large"&&(K="small"),{level:it,size:K}}typeof pR!="undefined"&&pR.exports?pR.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var Ypt=ft((q_,CM)=>{(function(){var r,e="4.17.21",t=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",o="__lodash_hash_undefined__",s=500,l="__lodash_placeholder__",u=1,f=2,c=4,h=1,d=2,p=1,v=2,m=4,g=8,x=16,b=32,S=64,C=128,w=256,A=512,L=30,k="...",O=800,M=16,I=1,R=2,P=3,F=1/0,D=9007199254740991,G=17976931348623157e292,U=0/0,j=4294967295,H=j-1,tt=j>>>1,et=[["ary",C],["bind",p],["bindKey",v],["curry",g],["curryRight",x],["flip",A],["partial",b],["partialRight",S],["rearg",w]],ut="[object Arguments]",$="[object Array]",st="[object AsyncFunction]",_t="[object Boolean]",dt="[object Date]",gt="[object DOMException]",Tt="[object Error]",Ut="[object Function]",$t="[object GeneratorFunction]",Y="[object Map]",it="[object Number]",K="[object Null]",Rt="[object Object]",Xt="[object Promise]",Zt="[object Proxy]",Ae="[object RegExp]",We="[object Set]",$e="[object String]",W="[object Symbol]",Te="[object Undefined]",ne="[object WeakMap]",pt="[object WeakSet]",Et="[object ArrayBuffer]",St="[object DataView]",Wt="[object Float32Array]",ee="[object Float64Array]",Ue="[object Int8Array]",Ht="[object Int16Array]",ae="[object Int32Array]",ge="[object Uint8Array]",Ye="[object Uint8ClampedArray]",Ve="[object Uint16Array]",$n="[object Uint32Array]",ga=/\b__p \+= '';/g,_n=/\b(__p \+=) '' \+/g,ii=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xi=/&(?:amp|lt|gt|quot|#39);/g,Ki=/[&<>"']/g,En=RegExp(xi.source),ci=RegExp(Ki.source),Nn=/<%-([\s\S]+?)%>/g,Ia=/<%([\s\S]+?)%>/g,Li=/<%=([\s\S]+?)%>/g,ko=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ku=/^\w*$/,Ro=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ys=/[\\^$.*+?()[\]{}|]/g,Jo=RegExp(ys.source),vl=/^\s+/,Fs=/\s/,yo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Oi=/\{\n\/\* \[wrapped with (.+)\] \*/,xs=/,? & /,er=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ai=/[()=,{}\[\]\/\s]/,vn=/\\(\\)?/g,ji=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,La=/\w*$/,Lf=/^[-+]0x[0-9a-f]+$/i,Of=/^0b[01]+$/i,eu=/^\[object .+?Constructor\]$/,Df=/^0o[0-7]+$/i,Pf=/^(?:0|[1-9]\d*)$/,kf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,pv=/($^)/,uC=/['\n\r\u2028\u2029\\]/g,vv="\\ud800-\\udfff",fC="\\u0300-\\u036f",cC="\\ufe20-\\ufe2f",RF="\\u20d0-\\u20ff",CT=fC+cC+RF,wT="\\u2700-\\u27bf",ET="a-z\\xdf-\\xf6\\xf8-\\xff",NF="\\xac\\xb1\\xd7\\xf7",FF="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",BF="\\u2000-\\u206f",GF=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",AT="A-Z\\xc0-\\xd6\\xd8-\\xde",MT="\\ufe0e\\ufe0f",TT=NF+FF+BF+GF,hC="['\u2019]",xx="["+vv+"]",dC="["+TT+"]",bx="["+CT+"]",IT="\\d+",Kg="["+wT+"]",_x="["+ET+"]",pC="[^"+vv+TT+IT+wT+ET+AT+"]",Zg="\\ud83c[\\udffb-\\udfff]",zF="(?:"+bx+"|"+Zg+")",LT="[^"+vv+"]",vC="(?:\\ud83c[\\udde6-\\uddff]){2}",mC="[\\ud800-\\udbff][\\udc00-\\udfff]",No="["+AT+"]",bs="\\u200d",$g="(?:"+_x+"|"+pC+")",UF="(?:"+No+"|"+pC+")",OT="(?:"+hC+"(?:d|ll|m|re|s|t|ve))?",gC="(?:"+hC+"(?:D|LL|M|RE|S|T|VE))?",yC=zF+"?",DT="["+MT+"]?",jF="(?:"+bs+"(?:"+[LT,vC,mC].join("|")+")"+DT+yC+")*",xC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",WF="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",PT=DT+yC+jF,VF="(?:"+[Kg,vC,mC].join("|")+")"+PT,HF="(?:"+[LT+bx+"?",bx,vC,mC,xx].join("|")+")",YF=RegExp(hC,"g"),XF=RegExp(bx,"g"),bC=RegExp(Zg+"(?="+Zg+")|"+HF+PT,"g"),qF=RegExp([No+"?"+_x+"+"+OT+"(?="+[dC,No,"$"].join("|")+")",UF+"+"+gC+"(?="+[dC,No+$g,"$"].join("|")+")",No+"?"+$g+"+"+OT,No+"+"+gC,WF,xC,IT,VF].join("|"),"g"),_d=RegExp("["+bs+vv+CT+MT+"]"),KF=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ZF=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Sx=-1,Di={};Di[Wt]=Di[ee]=Di[Ue]=Di[Ht]=Di[ae]=Di[ge]=Di[Ye]=Di[Ve]=Di[$n]=!0,Di[ut]=Di[$]=Di[Et]=Di[_t]=Di[St]=Di[dt]=Di[Tt]=Di[Ut]=Di[Y]=Di[it]=Di[Rt]=Di[Ae]=Di[We]=Di[$e]=Di[ne]=!1;var Pi={};Pi[ut]=Pi[$]=Pi[Et]=Pi[St]=Pi[_t]=Pi[dt]=Pi[Wt]=Pi[ee]=Pi[Ue]=Pi[Ht]=Pi[ae]=Pi[Y]=Pi[it]=Pi[Rt]=Pi[Ae]=Pi[We]=Pi[$e]=Pi[W]=Pi[ge]=Pi[Ye]=Pi[Ve]=Pi[$n]=!0,Pi[Tt]=Pi[Ut]=Pi[ne]=!1;var kT={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},$F={"&":"&","<":"<",">":">",'"':""","'":"'"},_C={"&":"&","<":"<",">":">",""":'"',"'":"'"},SC={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Rc=parseFloat,Cx=parseInt,CC=typeof global=="object"&&global&&global.Object===Object&&global,RT=typeof self=="object"&&self&&self.Object===Object&&self,Ja=CC||RT||Function("return this")(),wC=typeof q_=="object"&&q_&&!q_.nodeType&&q_,Sd=wC&&typeof CM=="object"&&CM&&!CM.nodeType&&CM,NT=Sd&&Sd.exports===wC,EC=NT&&CC.process,ml=function(){try{var kt=Sd&&Sd.require&&Sd.require("util").types;return kt||EC&&EC.binding&&EC.binding("util")}catch(de){}}(),FT=ml&&ml.isArrayBuffer,Cd=ml&&ml.isDate,BT=ml&&ml.isMap,GT=ml&&ml.isRegExp,mv=ml&&ml.isSet,zT=ml&&ml.isTypedArray;function to(kt,de,te){switch(te.length){case 0:return kt.call(de);case 1:return kt.call(de,te[0]);case 2:return kt.call(de,te[0],te[1]);case 3:return kt.call(de,te[0],te[1],te[2])}return kt.apply(de,te)}function UT(kt,de,te,pr){for(var fn=-1,Qn=kt==null?0:kt.length;++fn-1}function AC(kt,de,te){for(var pr=-1,fn=kt==null?0:kt.length;++pr-1;);return te}function Ix(kt,de){for(var te=kt.length;te--&&Nf(de,kt[te],0)>-1;);return te}function xv(kt,de){for(var te=kt.length,pr=0;te--;)kt[te]===de&&++pr;return pr}var OC=yv(kT),DC=yv($F);function PC(kt){return"\\"+SC[kt]}function kC(kt,de){return kt==null?r:kt[de]}function Ad(kt){return _d.test(kt)}function HT(kt){return KF.test(kt)}function YT(kt){for(var de,te=[];!(de=kt.next()).done;)te.push(de.value);return te}function Lx(kt){var de=-1,te=Array(kt.size);return kt.forEach(function(pr,fn){te[++de]=[fn,pr]}),te}function RC(kt,de){return function(te){return kt(de(te))}}function Ff(kt,de){for(var te=-1,pr=kt.length,fn=0,Qn=[];++te-1}function CB(y,_){var T=this.__data__,N=Rd(T,y);return N<0?(++this.size,T.push([y,_])):T[N][1]=_,this}iu.prototype.clear=Gx,iu.prototype.delete=bB,iu.prototype.get=_B,iu.prototype.has=SB,iu.prototype.set=CB;function zf(y){var _=-1,T=y==null?0:y.length;for(this.clear();++_=_?y:_)),y}function bo(y,_,T,N,X,at){var bt,At=_&u,Bt=_&f,Se=_&c;if(T&&(bt=X?T(y,N,X,at):T(y)),bt!==r)return bt;if(!Pa(y))return y;var we=bn(y);if(we){if(bt=Be(y),!At)return _s(y,bt)}else{var Ne=le(y),ar=Ne==Ut||Ne==$t;if(zv(y))return Bv(y,At);if(Ne==Rt||Ne==ut||ar&&!X){if(bt=Bt||ar?{}:me(y),!At)return Bt?bI(y,Iv(bt,y)):Kc(y,Nd(bt,y))}else{if(!Pi[Ne])return X?y:{};bt=Pe(y,Ne,At)}}at||(at=new au);var Mr=at.get(y);if(Mr)return Mr;at.set(y,bt),x9(y)?y.forEach(function(Qr){bt.add(bo(Qr,_,T,Qr,y,at))}):g9(y)&&y.forEach(function(Qr,Wn){bt.set(Wn,bo(Qr,_,T,Wn,y,at))});var $r=Se?Bt?sw:ow:Bt?Sl:zo,On=we?r:$r(y);return xo(On||y,function(Qr,Wn){On&&(Wn=Qr,Qr=y[Wn]),uy(bt,Wn,bo(Qr,_,T,Wn,y,at))}),bt}function YC(y){var _=zo(y);return function(T){return zx(T,y,_)}}function zx(y,_,T){var N=T.length;if(y==null)return!N;for(y=hi(y);N--;){var X=T[N],at=_[X],bt=y[X];if(bt===r&&!(X in y)||!at(bt))return!1}return!0}function Ux(y,_,T){if(typeof y!="function")throw new gl(i);return yn(function(){y.apply(r,T)},_)}function Fd(y,_,T,N){var X=-1,at=wx,bt=!0,At=y.length,Bt=[],Se=_.length;if(!At)return Bt;T&&(_=Zi(_,Bs(T))),N?(at=AC,bt=!1):_.length>=t&&(at=Fc,bt=!1,_=new Pd(_));t:for(;++XX?0:X+T),N=N===r||N>X?X:Mn(N),N<0&&(N+=X),N=T>N?0:_9(N);T0&&T(At)?_>1?eo(At,_-1,T,N,X):Rf(X,At):N||(X[X.length]=At)}return X}var hy=tw(),jx=tw(!0);function ou(y,_){return y&&hy(y,_,zo)}function Wx(y,_){return y&&jx(y,_,zo)}function dy(y,_){return Ru(_,function(T){return Kd(y[T])})}function Vc(y,_){_=su(_,y);for(var T=0,N=_.length;y!=null&&T_}function qC(y,_){return y!=null&&Jn.call(y,_)}function KC(y,_){return y!=null&&_ in hi(y)}function uI(y,_,T){return y>=Fo(_,T)&&y=120&&we.length>=120)?new Pd(bt&&we):r}we=y[0];var Ne=-1,ar=At[0];t:for(;++Ne-1;)At!==y&&ay.call(At,Bt,1),ay.call(y,Bt,1);return y}function QC(y,_){for(var T=y?_.length:0,N=T-1;T--;){var X=_[T];if(T==N||X!==at){var at=X;pe(X)?ay.call(y,X,1):kv(y,X)}}return y}function Zx(y,_){return y+Cv(jC()*(_-y+1))}function RB(y,_,T,N){for(var X=-1,at=ya(kx((_-y)/(T||1)),0),bt=te(at);at--;)bt[N?at:++X]=y,y+=T;return bt}function Xc(y,_){var T="";if(!y||_<1||_>D)return T;do _%2&&(T+=y),_=Cv(_/2),_&&(y+=y);while(_);return T}function An(y,_){return $i(Vr(y,_,Cl),y+"")}function NB(y){return oI(ob(y))}function FB(y,_){var T=ob(y);return Qi(T,Wc(_,0,T.length))}function Pv(y,_,T,N){if(!Pa(y))return y;_=su(_,y);for(var X=-1,at=_.length,bt=at-1,At=y;At!=null&&++XX?0:X+_),T=T>X?X:T,T<0&&(T+=X),X=_>T?0:T-_>>>0,_>>>=0;for(var at=te(X);++N>>1,bt=y[at];bt!==null&&!cu(bt)&&(T?bt<=_:bt<_)?N=at+1:X=at}return X}return JC(y,_,Cl,T)}function JC(y,_,T,N){var X=0,at=y==null?0:y.length;if(at===0)return 0;_=T(_);for(var bt=_!==_,At=_===null,Bt=cu(_),Se=_===r;X=t){var Se=_?null:jB(y);if(Se)return ty(Se);bt=!1,X=Fc,Bt=new Pd}else Bt=_?[]:At;t:for(;++N=N?y:xl(y,_,T)}var Fv=lB||function(y){return Ja.clearTimeout(y)};function Bv(y,_){if(_)return y.slice();var T=y.length,N=GC?GC(T):new y.constructor(T);return y.copy(N),N}function Vd(y){var _=new y.constructor(y.byteLength);return new iy(_).set(new iy(y)),_}function Cy(y,_){var T=_?Vd(y.buffer):y.buffer;return new y.constructor(T,y.byteOffset,y.byteLength)}function wy(y){var _=new y.constructor(y.source,La.exec(y));return _.lastIndex=y.lastIndex,_}function gI(y){return Mv?hi(Mv.call(y)):{}}function Gv(y,_){var T=_?Vd(y.buffer):y.buffer;return new y.constructor(T,y.byteOffset,y.length)}function qc(y,_){if(y!==_){var T=y!==r,N=y===null,X=y===y,at=cu(y),bt=_!==r,At=_===null,Bt=_===_,Se=cu(_);if(!At&&!Se&&!at&&y>_||at&&bt&&Bt&&!At&&!Se||N&&bt&&Bt||!T&&Bt||!X)return 1;if(!N&&!at&&!Se&&y<_||Se&&T&&X&&!N&&!at||At&&T&&X||!bt&&X||!Bt)return-1}return 0}function yI(y,_,T){for(var N=-1,X=y.criteria,at=_.criteria,bt=X.length,At=T.length;++N=At)return Bt;var Se=T[N];return Bt*(Se=="desc"?-1:1)}}return y.index-_.index}function tb(y,_,T,N){for(var X=-1,at=y.length,bt=T.length,At=-1,Bt=_.length,Se=ya(at-bt,0),we=te(Bt+Se),Ne=!N;++At1?T[X-1]:r,bt=X>2?T[2]:r;for(at=y.length>3&&typeof at=="function"?(X--,at):r,bt&&Le(T[0],T[1],bt)&&(at=X<3?r:at,X=1),_=hi(_);++N-1?X[at?_[bt]:bt]:r}}function eb(y){return Uu(function(_){var T=_.length,N=T,X=yl.prototype.thru;for(y&&_.reverse();N--;){var at=_[N];if(typeof at!="function")throw new gl(i);if(X&&!bt&&ib(at)=="wrapper")var bt=new yl([],!0)}for(N=bt?N:T;++N1&&ti.reverse(),we&&BtAt))return!1;var Se=at.get(y),we=at.get(_);if(Se&&we)return Se==_&&we==y;var Ne=-1,ar=!0,Mr=T&d?new Pd:r;for(at.set(y,_),at.set(_,y);++Ne1?"& ":"")+_[N],_=_.join(T>2?", ":" "),y.replace(yo,`{ /* [wrapped with `+_+`] */ -`)}function Yt(y){return bn(y)||wy(y)||!!(FC&&y&&y[FC])}function pe(y,_){var T=typeof y;return _=_==null?D:_,!!_&&(T=="number"||T!="symbol"&&Pf.test(y))&&y>-1&&y%1==0&&y<_}function Le(y,_,T){if(!Da(T))return!1;var R=typeof _;return(R=="number"?_l(T)&&pe(_,T.length):R=="string"&&_ in T)?Hf(T[_],y):!1}function ue(y,_){if(bn(y))return!1;var T=typeof y;return T=="number"||T=="symbol"||T=="boolean"||y==null||cu(y)?!0:ku.test(y)||!Do.test(y)||_!=null&&y in hi(_)}function He(y){var _=typeof y;return _=="string"||_=="number"||_=="symbol"||_=="boolean"?y!=="__proto__":y===null}function ce(y){var _=tb(y),T=tt[_];if(typeof T!="function"||!(_ in Fn.prototype))return!1;if(y===T)return!0;var R=Jx(T);return!!R&&y===R[0]}function Re(y){return!!ty&&ty in y}var he=Tx?Kd:JB;function Oe(y){var _=y&&y.constructor,T=typeof _=="function"&&_.prototype||xv;return y===T}function vr(y){return y===y&&!Da(y)}function Or(y,_){return function(T){return T==null?!1:T[y]===_&&(_!==r||y in hi(T))}}function Ge(y){var _=TI(y,function(R){return T.size===s&&T.clear(),R}),T=_.cache;return _}function Me(y,_){var T=y[1],R=_[1],X=T|R,at=X<(p|v|C),bt=R==C&&T==g||R==C&&T==w&&y[7].length<=_[8]||R==(C|w)&&_[7].length<=_[8]&&T==g;if(!(at||bt))return y;R&p&&(y[2]=_[2],X|=T&p?0:m);var At=_[3];if(At){var Bt=y[3];y[3]=Bt?Zx(Bt,At,_[4]):At,y[4]=Bt?Ff(y[3],l):_[4]}return At=_[5],At&&(Bt=y[5],y[5]=Bt?pI(Bt,At,_[6]):At,y[6]=Bt?Ff(y[5],l):_[6]),At=_[7],At&&(y[7]=At),R&C&&(y[8]=y[8]==null?_[8]:Ro(y[8],_[8])),y[9]==null&&(y[9]=_[9]),y[0]=_[0],y[1]=X,y}function fe(y){var _=[];if(y!=null)for(var T in hi(y))_.push(T);return _}function Er(y){return Jo.call(y)}function Vr(y,_,T){return _=ga(_===r?y.length-1:_,0),function(){for(var R=arguments,X=-1,at=ga(R.length-_,0),bt=te(at);++X0){if(++_>=L)return arguments[0]}else _=0;return y.apply(r,arguments)}}function Qi(y,_){var T=-1,R=y.length,X=R-1;for(_=_===r?R:_;++T<_;){var at=Yx(T,X),bt=y[at];y[at]=y[T],y[T]=bt}return y.length=_,y}var bi=Ge(function(y){var _=[];return y.charCodeAt(0)===46&&_.push(""),y.replace(Po,function(T,R,X,at){_.push(X?at.replace(vn,"$1"):R||T)}),_});function oi(y){if(typeof y=="string"||cu(y))return y;var _=y+"";return _=="0"&&1/y==-G?"-0":_}function ki(y){if(y!=null){try{return Jg.call(y)}catch(_){}try{return y+""}catch(_){}}return""}function Oa(y,_){return go(et,function(T){var R="_."+T[0];_&T[1]&&!bx(y,R)&&y.push(R)}),y.sort()}function ka(y){if(y instanceof Fn)return y.clone();var _=new yl(y.__wrapped__,y.__chain__);return _.__actions__=xs(y.__actions__),_.__index__=y.__index__,_.__values__=y.__values__,_}function eo(y,_,T){(T?Le(y,_,T):_===r)?_=1:_=ga(Mn(_),0);var R=y==null?0:y.length;if(!R||_<1)return[];for(var X=0,at=0,bt=te(Lx(R/_));X1?y[_-1]:r;return T=typeof T=="function"?(y.pop(),T):r,JX(y,T)});function t9(y){var _=tt(y);return _.__chain__=!0,_}function yMt(y,_){return _(y),y}function EI(y,_){return _(y)}var xMt=Uu(function(y){var _=y.length,T=_?y[0]:0,R=this.__wrapped__,X=function(at){return jc(at,y)};return _>1||this.__actions__.length||!(R instanceof Fn)||!pe(T)?this.thru(X):(R=R.slice(T,+T+(_?1:0)),R.__actions__.push({func:EI,args:[X],thisArg:r}),new yl(R,this.__chain__).thru(function(at){return _&&!at.length&&at.push(r),at}))});function bMt(){return t9(this)}function _Mt(){return new yl(this.value(),this.__chain__)}function SMt(){this.__values__===r&&(this.__values__=p9(this.value()));var y=this.__index__>=this.__values__.length,_=y?r:this.__values__[this.__index__++];return{done:y,value:_}}function CMt(){return this}function wMt(y){for(var _,T=this;T instanceof oy;){var R=ka(T);R.__index__=0,R.__values__=r,_?X.__wrapped__=R:_=R;var X=R;T=T.__wrapped__}return X.__wrapped__=y,_}function EMt(){var y=this.__wrapped__;if(y instanceof Fn){var _=y;return this.__actions__.length&&(_=new Fn(this)),_=_.reverse(),_.__actions__.push({func:EI,args:[ir],thisArg:r}),new yl(_,this.__chain__)}return this.thru(ir)}function AMt(){return qx(this.__wrapped__,this.__actions__)}var MMt=Cy(function(y,_,T){Jn.call(y,T)?++y[T]:Uf(y,T,1)});function TMt(y,_,T){var R=bn(y)?Nc:rI;return T&&Le(y,_,T)&&(_=r),R(y,Z(_,3))}function IMt(y,_){var T=bn(y)?Ru:VC;return T(y,Z(_,3))}var LMt=QC(ut),OMt=QC(jt);function DMt(y,_){return Ja(AI(y,_),1)}function PMt(y,_){return Ja(AI(y,_),G)}function kMt(y,_,T){return T=T===r?1:Mn(T),Ja(AI(y,_),T)}function e9(y,_){var T=bn(y)?go:Nu;return T(y,Z(_,3))}function r9(y,_){var T=bn(y)?FT:ly;return T(y,Z(_,3))}var RMt=Cy(function(y,_,T){Jn.call(y,T)?y[T].push(_):Uf(y,T,[_])});function NMt(y,_,T,R){y=_l(y)?y:rb(y),T=T&&!R?Mn(T):0;var X=y.length;return T<0&&(T=ga(X+T,0)),OI(y)?T<=X&&y.indexOf(_,T)>-1:!!X&&Nf(y,_,T)>-1}var FMt=An(function(y,_,T){var R=-1,X=typeof _=="function",at=_l(y)?te(y.length):[];return Nu(y,function(bt){at[++R]=X?Qa(_,bt,T):Tv(bt,_,T)}),at}),BMt=Cy(function(y,_,T){Uf(y,T,_)});function AI(y,_){var T=bn(y)?Zi:Hc;return T(y,Z(_,3))}function GMt(y,_,T,R){return y==null?[]:(bn(_)||(_=_==null?[]:[_]),T=R?r:T,bn(T)||(T=T==null?[]:[T]),jd(y,_,T))}var zMt=Cy(function(y,_,T){y[T?0:1].push(_)},function(){return[[],[]]});function UMt(y,_,T){var R=bn(y)?wC:EC,X=arguments.length<3;return R(y,Z(_,4),T,X,Nu)}function jMt(y,_,T){var R=bn(y)?qF:EC,X=arguments.length<3;return R(y,Z(_,4),T,X,ly)}function WMt(y,_){var T=bn(y)?Ru:VC;return T(y,II(Z(_,3)))}function VMt(y){var _=bn(y)?eI:DB;return _(y)}function HMt(y,_,T){(T?Le(y,_,T):_===r)?_=1:_=Mn(_);var R=bn(y)?MB:PB;return R(y,_)}function YMt(y){var _=bn(y)?TB:RB;return _(y)}function XMt(y){if(y==null)return 0;if(_l(y))return OI(y)?Bc(y):y.length;var _=le(y);return _==Y||_==We?y.size:zd(y).length}function qMt(y,_,T){var R=bn(y)?_x:NB;return T&&Le(y,_,T)&&(_=r),R(y,Z(_,3))}var KMt=An(function(y,_){if(y==null)return[];var T=_.length;return T>1&&Le(y,_[0],_[1])?_=[]:T>2&&Le(_[0],_[1],_[2])&&(_=[_[0]]),jd(y,Ja(_,1),[])}),MI=aB||function(){return $a.Date.now()};function ZMt(y,_){if(typeof _!="function")throw new gl(i);return y=Mn(y),function(){if(--y<1)return _.apply(this,arguments)}}function n9(y,_,T){return _=T?r:_,_=y&&_==null?y.length:_,Vf(y,C,r,r,r,r,_)}function i9(y,_){var T;if(typeof _!="function")throw new gl(i);return y=Mn(y),function(){return--y>0&&(T=_.apply(this,arguments)),y<=1&&(_=r),T}}var UB=An(function(y,_,T){var R=p;if(T.length){var X=Ff(T,B(UB));R|=b}return Vf(y,R,_,T,X)}),a9=An(function(y,_,T){var R=p|v;if(T.length){var X=Ff(T,B(a9));R|=b}return Vf(_,R,y,T,X)});function o9(y,_,T){_=T?r:_;var R=Vf(y,g,r,r,r,r,r,_);return R.placeholder=o9.placeholder,R}function s9(y,_,T){_=T?r:_;var R=Vf(y,x,r,r,r,r,r,_);return R.placeholder=s9.placeholder,R}function l9(y,_,T){var R,X,at,bt,At,Bt,Se=0,we=!1,Ne=!1,ar=!0;if(typeof y!="function")throw new gl(i);_=Wu(_)||0,Da(T)&&(we=!!T.leading,Ne="maxWait"in T,at=Ne?ga(Wu(T.maxWait)||0,_):at,ar="trailing"in T?!!T.trailing:ar);function Mr(Ya){var Yf=R,$d=X;return R=X=r,Se=Ya,bt=y.apply($d,Yf),bt}function $r(Ya){return Se=Ya,At=yn(Wn,_),we?Mr(Ya):bt}function On(Ya){var Yf=Ya-Bt,$d=Ya-Se,M9=_-Yf;return Ne?Ro(M9,at-$d):M9}function Qr(Ya){var Yf=Ya-Bt,$d=Ya-Se;return Bt===r||Yf>=_||Yf<0||Ne&&$d>=at}function Wn(){var Ya=MI();if(Qr(Ya))return ti(Ya);At=yn(Wn,On(Ya))}function ti(Ya){return At=r,ar&&R?Mr(Ya):(R=X=r,bt)}function hu(){At!==r&&Rv(At),Se=0,R=Bt=X=At=r}function Gs(){return At===r?bt:ti(MI())}function du(){var Ya=MI(),Yf=Qr(Ya);if(R=arguments,X=this,Bt=Ya,Yf){if(At===r)return $r(Bt);if(Ne)return Rv(At),At=yn(Wn,_),Mr(Bt)}return At===r&&(At=yn(Wn,_)),bt}return du.cancel=hu,du.flush=Gs,du}var $Mt=An(function(y,_){return Fx(y,1,_)}),QMt=An(function(y,_,T){return Fx(y,Wu(_)||0,T)});function JMt(y){return Vf(y,A)}function TI(y,_){if(typeof y!="function"||_!=null&&typeof _!="function")throw new gl(i);var T=function(){var R=arguments,X=_?_.apply(this,R):R[0],at=T.cache;if(at.has(X))return at.get(X);var bt=y.apply(this,R);return T.cache=at.set(X,bt)||at,bt};return T.cache=new(TI.Cache||zf),T}TI.Cache=zf;function II(y){if(typeof y!="function")throw new gl(i);return function(){var _=arguments;switch(_.length){case 0:return!y.call(this);case 1:return!y.call(this,_[0]);case 2:return!y.call(this,_[0],_[1]);case 3:return!y.call(this,_[0],_[1],_[2])}return!y.apply(this,_)}}function tTt(y){return i9(2,y)}var eTt=Kx(function(y,_){_=_.length==1&&bn(_[0])?Zi(_[0],Fs(Z())):Zi(Ja(_,1),Fs(Z()));var T=_.length;return An(function(R){for(var X=-1,at=Ro(R.length,T);++X=_}),wy=jx(function(){return arguments}())?jx:function(y){return Ra(y)&&Jn.call(y,"callee")&&!Va.call(y,"callee")},bn=te.isArray,mTt=DT?Fs(DT):oI;function _l(y){return y!=null&&LI(y.length)&&!Kd(y)}function Ha(y){return Ra(y)&&_l(y)}function gTt(y){return y===!0||y===!1||Ra(y)&&Fo(y)==_t}var Bv=sB||JB,yTt=Cd?Fs(Cd):sI;function xTt(y){return Ra(y)&&y.nodeType===1&&!ow(y)}function bTt(y){if(y==null)return!0;if(_l(y)&&(bn(y)||typeof y=="string"||typeof y.splice=="function"||Bv(y)||eb(y)||wy(y)))return!y.length;var _=le(y);if(_==Y||_==We)return!y.size;if(Oe(y))return!zd(y).length;for(var T in y)if(Jn.call(y,T))return!1;return!0}function _Tt(y,_){return Bd(y,_)}function STt(y,_,T){T=typeof T=="function"?T:r;var R=T?T(y,_):r;return R===r?Bd(y,_,r,T):!!R}function WB(y){if(!Ra(y))return!1;var _=Fo(y);return _==Tt||_==vt||typeof y.message=="string"&&typeof y.name=="string"&&!ow(y)}function CTt(y){return typeof y=="number"&&BC(y)}function Kd(y){if(!Da(y))return!1;var _=Fo(y);return _==Ut||_==$t||_==st||_==Zt}function f9(y){return typeof y=="number"&&y==Mn(y)}function LI(y){return typeof y=="number"&&y>-1&&y%1==0&&y<=D}function Da(y){var _=typeof y;return y!=null&&(_=="object"||_=="function")}function Ra(y){return y!=null&&typeof y=="object"}var c9=PT?Fs(PT):dy;function wTt(y,_){return y===_||Wx(y,_,Gt(_))}function ETt(y,_,T){return T=typeof T=="function"?T:r,Wx(y,_,Gt(_),T)}function ATt(y){return h9(y)&&y!=+y}function MTt(y){if(he(y))throw new fn(n);return py(y)}function TTt(y){return y===null}function ITt(y){return y==null}function h9(y){return typeof y=="number"||Ra(y)&&Fo(y)==it}function ow(y){if(!Ra(y)||Fo(y)!=Rt)return!1;var _=Ix(y);if(_===null)return!0;var T=Jn.call(_,"constructor")&&_.constructor;return typeof T=="function"&&T instanceof T&&Jg.call(T)==bv}var VB=kT?Fs(kT):jf;function LTt(y){return f9(y)&&y>=-D&&y<=D}var d9=pv?Fs(pv):vy;function OI(y){return typeof y=="string"||!bn(y)&&Ra(y)&&Fo(y)==$e}function cu(y){return typeof y=="symbol"||Ra(y)&&Fo(y)==V}var eb=RT?Fs(RT):Gd;function OTt(y){return y===r}function DTt(y){return Ra(y)&&le(y)==ne}function PTt(y){return Ra(y)&&Fo(y)==pt}var kTt=Qx(Wf),RTt=Qx(function(y,_){return y<=_});function p9(y){if(!y)return[];if(_l(y))return OI(y)?Qo(y):xs(y);if(nu&&y[nu])return UT(y[nu]());var _=le(y),T=_==Y?Ax:_==We?Qg:rb;return T(y)}function Zd(y){if(!y)return y===0?y:0;if(y=Wu(y),y===G||y===-G){var _=y<0?-1:1;return _*N}return y===y?y:0}function Mn(y){var _=Zd(y),T=_%1;return _===_?T?_-T:_:0}function v9(y){return y?Wc(Mn(y),0,j):0}function Wu(y){if(typeof y=="number")return y;if(cu(y))return z;if(Da(y)){var _=typeof y.valueOf=="function"?y.valueOf():y;y=Da(_)?_+"":_}if(typeof y!="string")return y===0?y:+y;y=GT(y);var T=Of.test(y);return T||Df.test(y)?xx(y.slice(2),T?2:8):Lf.test(y)?z:+y}function m9(y){return Bu(y,Sl(y))}function NTt(y){return y?Wc(Mn(y),-D,D):y===0?y:0}function wi(y){return y==null?"":Bs(y)}var FTt=Hd(function(y,_){if(Oe(_)||_l(_)){Bu(_,Bo(_),y);return}for(var T in _)Jn.call(_,T)&&sy(y,T,_[T])}),g9=Hd(function(y,_){Bu(_,Sl(_),y)}),DI=Hd(function(y,_,T,R){Bu(_,Sl(_),y,R)}),BTt=Hd(function(y,_,T,R){Bu(_,Bo(_),y,R)}),GTt=Uu(jc);function zTt(y,_){var T=Od(y);return _==null?T:Nd(T,_)}var UTt=An(function(y,_){y=hi(y);var T=-1,R=_.length,X=R>2?_[2]:r;for(X&&Le(_[0],_[1],X)&&(R=1);++T1),at}),Bu(y,iw(y),T),R&&(T=yo(T,u|f|c,GB));for(var X=_.length;X--;)Dv(T,_[X]);return T});function aIt(y,_){return x9(y,II(Z(_)))}var oIt=Uu(function(y,_){return y==null?{}:Lv(y,_)});function x9(y,_){if(y==null)return{};var T=Zi(iw(y),function(R){return[R]});return _=Z(_),lI(y,T,function(R,X){return _(R,X[0])})}function sIt(y,_,T){_=su(_,y);var R=-1,X=_.length;for(X||(X=1,y=r);++R_){var R=y;y=_,_=R}if(T||y%1||_%1){var X=GC();return Ro(y+X*(_-y+Rc("1e-"+((X+"").length-1))),_)}return Yx(y,_)}var yIt=Yd(function(y,_,T){return _=_.toLowerCase(),y+(T?S9(_):_)});function S9(y){return XB(wi(y).toLowerCase())}function C9(y){return y=wi(y),y&&y.replace(kf,TC).replace(WF,"")}function xIt(y,_,T){y=wi(y),_=Bs(_);var R=y.length;T=T===r?R:Wc(Mn(T),0,R);var X=T;return T-=_.length,T>=0&&y.slice(T,X)==_}function bIt(y){return y=wi(y),y&&ci.test(y)?y.replace(Ki,IC):y}function _It(y){return y=wi(y),y&&$o.test(y)?y.replace(ms,"\\$&"):y}var SIt=Yd(function(y,_,T){return y+(T?"-":"")+_.toLowerCase()}),CIt=Yd(function(y,_,T){return y+(T?" ":"")+_.toLowerCase()}),wIt=uu("toLowerCase");function EIt(y,_,T){y=wi(y),_=Mn(_);var R=_?Bc(y):0;if(!_||R>=_)return y;var X=(_-R)/2;return Wi(_v(X),T)+y+Wi(Lx(X),T)}function AIt(y,_,T){y=wi(y),_=Mn(_);var R=_?Bc(y):0;return _&&R<_?y+Wi(_-R,T):y}function MIt(y,_,T){y=wi(y),_=Mn(_);var R=_?Bc(y):0;return _&&R<_?Wi(_-R,T)+y:y}function TIt(y,_,T){return T||_==null?_=0:_&&(_=+_),Dx(wi(y).replace(vl,""),_||0)}function IIt(y,_,T){return(T?Le(y,_,T):_===r)?_=1:_=Mn(_),Xc(wi(y),_)}function LIt(){var y=arguments,_=wi(y[0]);return y.length<3?_:_.replace(y[1],y[2])}var OIt=Yd(function(y,_,T){return y+(T?"_":"")+_.toLowerCase()});function DIt(y,_,T){return T&&typeof T!="number"&&Le(y,_,T)&&(_=T=r),T=T===r?j:T>>>0,T?(y=wi(y),y&&(typeof _=="string"||_!=null&&!VB(_))&&(_=Bs(_),!_&&Ad(y))?lu(Qo(y),0,T):y.split(_,T)):[]}var PIt=Yd(function(y,_,T){return y+(T?" ":"")+XB(_)});function kIt(y,_,T){return y=wi(y),T=T==null?0:Wc(Mn(T),0,y.length),_=Bs(_),y.slice(T,T+_.length)==_}function RIt(y,_,T){var R=tt.templateSettings;T&&Le(y,_,T)&&(_=r),y=wi(y),_=DI({},_,R,yI);var X=DI({},_.imports,R.imports,yI),at=Bo(X),bt=$g(X,at),At,Bt,Se=0,we=_.interpolate||hv,Ne="__p += '",ar=RC((_.escape||hv).source+"|"+we.source+"|"+(we===Li?ji:hv).source+"|"+(_.evaluate||hv).source+"|$","g"),Mr="//# sourceURL="+(Jn.call(_,"sourceURL")?(_.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++yx+"]")+` -`;y.replace(ar,function(Qr,Wn,ti,hu,Gs,du){return ti||(ti=hu),Ne+=y.slice(Se,du).replace(oC,LC),Wn&&(At=!0,Ne+=`' + +`)}function Yt(y){return bn(y)||Ay(y)||!!(zC&&y&&y[zC])}function pe(y,_){var T=typeof y;return _=_==null?D:_,!!_&&(T=="number"||T!="symbol"&&Pf.test(y))&&y>-1&&y%1==0&&y<_}function Le(y,_,T){if(!Pa(T))return!1;var N=typeof _;return(N=="number"?_l(T)&&pe(_,T.length):N=="string"&&_ in T)?Hf(T[_],y):!1}function ue(y,_){if(bn(y))return!1;var T=typeof y;return T=="number"||T=="symbol"||T=="boolean"||y==null||cu(y)?!0:ku.test(y)||!ko.test(y)||_!=null&&y in hi(_)}function He(y){var _=typeof y;return _=="string"||_=="number"||_=="symbol"||_=="boolean"?y!=="__proto__":y===null}function ce(y){var _=ib(y),T=J[_];if(typeof T!="function"||!(_ in Fn.prototype))return!1;if(y===T)return!0;var N=nb(T);return!!N&&y===N[0]}function Re(y){return!!ry&&ry in y}var he=Dx?Kd:n3;function Oe(y){var _=y&&y.constructor,T=typeof _=="function"&&_.prototype||_v;return y===T}function vr(y){return y===y&&!Pa(y)}function Dr(y,_){return function(T){return T==null?!1:T[y]===_&&(_!==r||y in hi(T))}}function Ge(y){var _=PI(y,function(N){return T.size===s&&T.clear(),N}),T=_.cache;return _}function Me(y,_){var T=y[1],N=_[1],X=T|N,at=X<(p|v|C),bt=N==C&&T==g||N==C&&T==w&&y[7].length<=_[8]||N==(C|w)&&_[7].length<=_[8]&&T==g;if(!(at||bt))return y;N&p&&(y[2]=_[2],X|=T&p?0:m);var At=_[3];if(At){var Bt=y[3];y[3]=Bt?tb(Bt,At,_[4]):At,y[4]=Bt?Ff(y[3],l):_[4]}return At=_[5],At&&(Bt=y[5],y[5]=Bt?xI(Bt,At,_[6]):At,y[6]=Bt?Ff(y[5],l):_[6]),At=_[7],At&&(y[7]=At),N&C&&(y[8]=y[8]==null?_[8]:Fo(y[8],_[8])),y[9]==null&&(y[9]=_[9]),y[0]=_[0],y[1]=X,y}function fe(y){var _=[];if(y!=null)for(var T in hi(y))_.push(T);return _}function Er(y){return es.call(y)}function Vr(y,_,T){return _=ya(_===r?y.length-1:_,0),function(){for(var N=arguments,X=-1,at=ya(N.length-_,0),bt=te(at);++X0){if(++_>=O)return arguments[0]}else _=0;return y.apply(r,arguments)}}function Qi(y,_){var T=-1,N=y.length,X=N-1;for(_=_===r?N:_;++T<_;){var at=Zx(T,X),bt=y[at];y[at]=y[T],y[T]=bt}return y.length=_,y}var bi=Ge(function(y){var _=[];return y.charCodeAt(0)===46&&_.push(""),y.replace(Ro,function(T,N,X,at){_.push(X?at.replace(vn,"$1"):N||T)}),_});function oi(y){if(typeof y=="string"||cu(y))return y;var _=y+"";return _=="0"&&1/y==-F?"-0":_}function ki(y){if(y!=null){try{return ey.call(y)}catch(_){}try{return y+""}catch(_){}}return""}function Da(y,_){return xo(et,function(T){var N="_."+T[0];_&T[1]&&!wx(y,N)&&y.push(N)}),y.sort()}function Ra(y){if(y instanceof Fn)return y.clone();var _=new yl(y.__wrapped__,y.__chain__);return _.__actions__=_s(y.__actions__),_.__index__=y.__index__,_.__values__=y.__values__,_}function no(y,_,T){(T?Le(y,_,T):_===r)?_=1:_=ya(Mn(_),0);var N=y==null?0:y.length;if(!N||_<1)return[];for(var X=0,at=0,bt=te(kx(N/_));X1?y[_-1]:r;return T=typeof T=="function"?(y.pop(),T):r,a9(y,T)});function o9(y){var _=J(y);return _.__chain__=!0,_}function LMt(y,_){return _(y),y}function LI(y,_){return _(y)}var OMt=Uu(function(y){var _=y.length,T=_?y[0]:0,N=this.__wrapped__,X=function(at){return jc(at,y)};return _>1||this.__actions__.length||!(N instanceof Fn)||!pe(T)?this.thru(X):(N=N.slice(T,+T+(_?1:0)),N.__actions__.push({func:LI,args:[X],thisArg:r}),new yl(N,this.__chain__).thru(function(at){return _&&!at.length&&at.push(r),at}))});function DMt(){return o9(this)}function PMt(){return new yl(this.value(),this.__chain__)}function kMt(){this.__values__===r&&(this.__values__=b9(this.value()));var y=this.__index__>=this.__values__.length,_=y?r:this.__values__[this.__index__++];return{done:y,value:_}}function RMt(){return this}function NMt(y){for(var _,T=this;T instanceof ly;){var N=Ra(T);N.__index__=0,N.__values__=r,_?X.__wrapped__=N:_=N;var X=N;T=T.__wrapped__}return X.__wrapped__=y,_}function FMt(){var y=this.__wrapped__;if(y instanceof Fn){var _=y;return this.__actions__.length&&(_=new Fn(this)),_=_.reverse(),_.__actions__.push({func:LI,args:[ir],thisArg:r}),new yl(_,this.__chain__)}return this.thru(ir)}function BMt(){return Qx(this.__wrapped__,this.__actions__)}var GMt=Ey(function(y,_,T){Jn.call(y,T)?++y[T]:Uf(y,T,1)});function zMt(y,_,T){var N=bn(y)?Nc:sI;return T&&Le(y,_,T)&&(_=r),N(y,Z(_,3))}function UMt(y,_){var T=bn(y)?Ru:XC;return T(y,Z(_,3))}var jMt=ew(lt),WMt=ew(jt);function VMt(y,_){return eo(OI(y,_),1)}function HMt(y,_){return eo(OI(y,_),F)}function YMt(y,_,T){return T=T===r?1:Mn(T),eo(OI(y,_),T)}function s9(y,_){var T=bn(y)?xo:Nu;return T(y,Z(_,3))}function l9(y,_){var T=bn(y)?jT:fy;return T(y,Z(_,3))}var XMt=Ey(function(y,_,T){Jn.call(y,T)?y[T].push(_):Uf(y,T,[_])});function qMt(y,_,T,N){y=_l(y)?y:ob(y),T=T&&!N?Mn(T):0;var X=y.length;return T<0&&(T=ya(X+T,0)),NI(y)?T<=X&&y.indexOf(_,T)>-1:!!X&&Nf(y,_,T)>-1}var KMt=An(function(y,_,T){var N=-1,X=typeof _=="function",at=_l(y)?te(y.length):[];return Nu(y,function(bt){at[++N]=X?to(_,bt,T):Lv(bt,_,T)}),at}),ZMt=Ey(function(y,_,T){Uf(y,T,_)});function OI(y,_){var T=bn(y)?Zi:Hc;return T(y,Z(_,3))}function $Mt(y,_,T,N){return y==null?[]:(bn(_)||(_=_==null?[]:[_]),T=N?r:T,bn(T)||(T=T==null?[]:[T]),jd(y,_,T))}var QMt=Ey(function(y,_,T){y[T?0:1].push(_)},function(){return[[],[]]});function JMt(y,_,T){var N=bn(y)?MC:TC,X=arguments.length<3;return N(y,Z(_,4),T,X,Nu)}function tTt(y,_,T){var N=bn(y)?QF:TC,X=arguments.length<3;return N(y,Z(_,4),T,X,fy)}function eTt(y,_){var T=bn(y)?Ru:XC;return T(y,kI(Z(_,3)))}function rTt(y){var _=bn(y)?oI:NB;return _(y)}function nTt(y,_,T){(T?Le(y,_,T):_===r)?_=1:_=Mn(_);var N=bn(y)?OB:FB;return N(y,_)}function iTt(y){var _=bn(y)?DB:GB;return _(y)}function aTt(y){if(y==null)return 0;if(_l(y))return NI(y)?Bc(y):y.length;var _=le(y);return _==Y||_==We?y.size:zd(y).length}function oTt(y,_,T){var N=bn(y)?Ex:zB;return T&&Le(y,_,T)&&(_=r),N(y,Z(_,3))}var sTt=An(function(y,_){if(y==null)return[];var T=_.length;return T>1&&Le(y,_[0],_[1])?_=[]:T>2&&Le(_[0],_[1],_[2])&&(_=[_[0]]),jd(y,eo(_,1),[])}),DI=uB||function(){return Ja.Date.now()};function lTt(y,_){if(typeof _!="function")throw new gl(i);return y=Mn(y),function(){if(--y<1)return _.apply(this,arguments)}}function u9(y,_,T){return _=T?r:_,_=y&&_==null?y.length:_,Vf(y,C,r,r,r,r,_)}function f9(y,_){var T;if(typeof _!="function")throw new gl(i);return y=Mn(y),function(){return--y>0&&(T=_.apply(this,arguments)),y<=1&&(_=r),T}}var HB=An(function(y,_,T){var N=p;if(T.length){var X=Ff(T,B(HB));N|=b}return Vf(y,N,_,T,X)}),c9=An(function(y,_,T){var N=p|v;if(T.length){var X=Ff(T,B(c9));N|=b}return Vf(_,N,y,T,X)});function h9(y,_,T){_=T?r:_;var N=Vf(y,g,r,r,r,r,r,_);return N.placeholder=h9.placeholder,N}function d9(y,_,T){_=T?r:_;var N=Vf(y,x,r,r,r,r,r,_);return N.placeholder=d9.placeholder,N}function p9(y,_,T){var N,X,at,bt,At,Bt,Se=0,we=!1,Ne=!1,ar=!0;if(typeof y!="function")throw new gl(i);_=Wu(_)||0,Pa(T)&&(we=!!T.leading,Ne="maxWait"in T,at=Ne?ya(Wu(T.maxWait)||0,_):at,ar="trailing"in T?!!T.trailing:ar);function Mr(qa){var Yf=N,$d=X;return N=X=r,Se=qa,bt=y.apply($d,Yf),bt}function $r(qa){return Se=qa,At=yn(Wn,_),we?Mr(qa):bt}function On(qa){var Yf=qa-Bt,$d=qa-Se,P9=_-Yf;return Ne?Fo(P9,at-$d):P9}function Qr(qa){var Yf=qa-Bt,$d=qa-Se;return Bt===r||Yf>=_||Yf<0||Ne&&$d>=at}function Wn(){var qa=DI();if(Qr(qa))return ti(qa);At=yn(Wn,On(qa))}function ti(qa){return At=r,ar&&N?Mr(qa):(N=X=r,bt)}function hu(){At!==r&&Fv(At),Se=0,N=Bt=X=At=r}function zs(){return At===r?bt:ti(DI())}function du(){var qa=DI(),Yf=Qr(qa);if(N=arguments,X=this,Bt=qa,Yf){if(At===r)return $r(Bt);if(Ne)return Fv(At),At=yn(Wn,_),Mr(Bt)}return At===r&&(At=yn(Wn,_)),bt}return du.cancel=hu,du.flush=zs,du}var uTt=An(function(y,_){return Ux(y,1,_)}),fTt=An(function(y,_,T){return Ux(y,Wu(_)||0,T)});function cTt(y){return Vf(y,A)}function PI(y,_){if(typeof y!="function"||_!=null&&typeof _!="function")throw new gl(i);var T=function(){var N=arguments,X=_?_.apply(this,N):N[0],at=T.cache;if(at.has(X))return at.get(X);var bt=y.apply(this,N);return T.cache=at.set(X,bt)||at,bt};return T.cache=new(PI.Cache||zf),T}PI.Cache=zf;function kI(y){if(typeof y!="function")throw new gl(i);return function(){var _=arguments;switch(_.length){case 0:return!y.call(this);case 1:return!y.call(this,_[0]);case 2:return!y.call(this,_[0],_[1]);case 3:return!y.call(this,_[0],_[1],_[2])}return!y.apply(this,_)}}function hTt(y){return f9(2,y)}var dTt=Jx(function(y,_){_=_.length==1&&bn(_[0])?Zi(_[0],Bs(Z())):Zi(eo(_,1),Bs(Z()));var T=_.length;return An(function(N){for(var X=-1,at=Fo(N.length,T);++X=_}),Ay=Yx(function(){return arguments}())?Yx:function(y){return Na(y)&&Jn.call(y,"callee")&&!Ya.call(y,"callee")},bn=te.isArray,TTt=FT?Bs(FT):cI;function _l(y){return y!=null&&RI(y.length)&&!Kd(y)}function Xa(y){return Na(y)&&_l(y)}function ITt(y){return y===!0||y===!1||Na(y)&&Go(y)==_t}var zv=cB||n3,LTt=Cd?Bs(Cd):hI;function OTt(y){return Na(y)&&y.nodeType===1&&!uw(y)}function DTt(y){if(y==null)return!0;if(_l(y)&&(bn(y)||typeof y=="string"||typeof y.splice=="function"||zv(y)||ab(y)||Ay(y)))return!y.length;var _=le(y);if(_==Y||_==We)return!y.size;if(Oe(y))return!zd(y).length;for(var T in y)if(Jn.call(y,T))return!1;return!0}function PTt(y,_){return Bd(y,_)}function kTt(y,_,T){T=typeof T=="function"?T:r;var N=T?T(y,_):r;return N===r?Bd(y,_,r,T):!!N}function XB(y){if(!Na(y))return!1;var _=Go(y);return _==Tt||_==gt||typeof y.message=="string"&&typeof y.name=="string"&&!uw(y)}function RTt(y){return typeof y=="number"&&UC(y)}function Kd(y){if(!Pa(y))return!1;var _=Go(y);return _==Ut||_==$t||_==st||_==Zt}function m9(y){return typeof y=="number"&&y==Mn(y)}function RI(y){return typeof y=="number"&&y>-1&&y%1==0&&y<=D}function Pa(y){var _=typeof y;return y!=null&&(_=="object"||_=="function")}function Na(y){return y!=null&&typeof y=="object"}var g9=BT?Bs(BT):vy;function NTt(y,_){return y===_||Xx(y,_,Gt(_))}function FTt(y,_,T){return T=typeof T=="function"?T:r,Xx(y,_,Gt(_),T)}function BTt(y){return y9(y)&&y!=+y}function GTt(y){if(he(y))throw new fn(n);return my(y)}function zTt(y){return y===null}function UTt(y){return y==null}function y9(y){return typeof y=="number"||Na(y)&&Go(y)==it}function uw(y){if(!Na(y)||Go(y)!=Rt)return!1;var _=Px(y);if(_===null)return!0;var T=Jn.call(_,"constructor")&&_.constructor;return typeof T=="function"&&T instanceof T&&ey.call(T)==Sv}var qB=GT?Bs(GT):jf;function jTt(y){return m9(y)&&y>=-D&&y<=D}var x9=mv?Bs(mv):gy;function NI(y){return typeof y=="string"||!bn(y)&&Na(y)&&Go(y)==$e}function cu(y){return typeof y=="symbol"||Na(y)&&Go(y)==W}var ab=zT?Bs(zT):Gd;function WTt(y){return y===r}function VTt(y){return Na(y)&&le(y)==ne}function HTt(y){return Na(y)&&Go(y)==pt}var YTt=rb(Wf),XTt=rb(function(y,_){return y<=_});function b9(y){if(!y)return[];if(_l(y))return NI(y)?ts(y):_s(y);if(nu&&y[nu])return YT(y[nu]());var _=le(y),T=_==Y?Lx:_==We?ty:ob;return T(y)}function Zd(y){if(!y)return y===0?y:0;if(y=Wu(y),y===F||y===-F){var _=y<0?-1:1;return _*G}return y===y?y:0}function Mn(y){var _=Zd(y),T=_%1;return _===_?T?_-T:_:0}function _9(y){return y?Wc(Mn(y),0,j):0}function Wu(y){if(typeof y=="number")return y;if(cu(y))return U;if(Pa(y)){var _=typeof y.valueOf=="function"?y.valueOf():y;y=Pa(_)?_+"":_}if(typeof y!="string")return y===0?y:+y;y=VT(y);var T=Of.test(y);return T||Df.test(y)?Cx(y.slice(2),T?2:8):Lf.test(y)?U:+y}function S9(y){return Bu(y,Sl(y))}function qTt(y){return y?Wc(Mn(y),-D,D):y===0?y:0}function wi(y){return y==null?"":Gs(y)}var KTt=Hd(function(y,_){if(Oe(_)||_l(_)){Bu(_,zo(_),y);return}for(var T in _)Jn.call(_,T)&&uy(y,T,_[T])}),C9=Hd(function(y,_){Bu(_,Sl(_),y)}),FI=Hd(function(y,_,T,N){Bu(_,Sl(_),y,N)}),ZTt=Hd(function(y,_,T,N){Bu(_,zo(_),y,N)}),$Tt=Uu(jc);function QTt(y,_){var T=Od(y);return _==null?T:Nd(T,_)}var JTt=An(function(y,_){y=hi(y);var T=-1,N=_.length,X=N>2?_[2]:r;for(X&&Le(_[0],_[1],X)&&(N=1);++T1),at}),Bu(y,sw(y),T),N&&(T=bo(T,u|f|c,WB));for(var X=_.length;X--;)kv(T,_[X]);return T});function gIt(y,_){return E9(y,kI(Z(_)))}var yIt=Uu(function(y,_){return y==null?{}:Dv(y,_)});function E9(y,_){if(y==null)return{};var T=Zi(sw(y),function(N){return[N]});return _=Z(_),dI(y,T,function(N,X){return _(N,X[0])})}function xIt(y,_,T){_=su(_,y);var N=-1,X=_.length;for(X||(X=1,y=r);++N_){var N=y;y=_,_=N}if(T||y%1||_%1){var X=jC();return Fo(y+X*(_-y+Rc("1e-"+((X+"").length-1))),_)}return Zx(y,_)}var LIt=Yd(function(y,_,T){return _=_.toLowerCase(),y+(T?T9(_):_)});function T9(y){return $B(wi(y).toLowerCase())}function I9(y){return y=wi(y),y&&y.replace(kf,OC).replace(XF,"")}function OIt(y,_,T){y=wi(y),_=Gs(_);var N=y.length;T=T===r?N:Wc(Mn(T),0,N);var X=T;return T-=_.length,T>=0&&y.slice(T,X)==_}function DIt(y){return y=wi(y),y&&ci.test(y)?y.replace(Ki,DC):y}function PIt(y){return y=wi(y),y&&Jo.test(y)?y.replace(ys,"\\$&"):y}var kIt=Yd(function(y,_,T){return y+(T?"-":"")+_.toLowerCase()}),RIt=Yd(function(y,_,T){return y+(T?" ":"")+_.toLowerCase()}),NIt=uu("toLowerCase");function FIt(y,_,T){y=wi(y),_=Mn(_);var N=_?Bc(y):0;if(!_||N>=_)return y;var X=(_-N)/2;return Wi(Cv(X),T)+y+Wi(kx(X),T)}function BIt(y,_,T){y=wi(y),_=Mn(_);var N=_?Bc(y):0;return _&&N<_?y+Wi(_-N,T):y}function GIt(y,_,T){y=wi(y),_=Mn(_);var N=_?Bc(y):0;return _&&N<_?Wi(_-N,T)+y:y}function zIt(y,_,T){return T||_==null?_=0:_&&(_=+_),Nx(wi(y).replace(vl,""),_||0)}function UIt(y,_,T){return(T?Le(y,_,T):_===r)?_=1:_=Mn(_),Xc(wi(y),_)}function jIt(){var y=arguments,_=wi(y[0]);return y.length<3?_:_.replace(y[1],y[2])}var WIt=Yd(function(y,_,T){return y+(T?"_":"")+_.toLowerCase()});function VIt(y,_,T){return T&&typeof T!="number"&&Le(y,_,T)&&(_=T=r),T=T===r?j:T>>>0,T?(y=wi(y),y&&(typeof _=="string"||_!=null&&!qB(_))&&(_=Gs(_),!_&&Ad(y))?lu(ts(y),0,T):y.split(_,T)):[]}var HIt=Yd(function(y,_,T){return y+(T?" ":"")+$B(_)});function YIt(y,_,T){return y=wi(y),T=T==null?0:Wc(Mn(T),0,y.length),_=Gs(_),y.slice(T,T+_.length)==_}function XIt(y,_,T){var N=J.templateSettings;T&&Le(y,_,T)&&(_=r),y=wi(y),_=FI({},_,N,CI);var X=FI({},_.imports,N.imports,CI),at=zo(X),bt=Jg(X,at),At,Bt,Se=0,we=_.interpolate||pv,Ne="__p += '",ar=BC((_.escape||pv).source+"|"+we.source+"|"+(we===Li?ji:pv).source+"|"+(_.evaluate||pv).source+"|$","g"),Mr="//# sourceURL="+(Jn.call(_,"sourceURL")?(_.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Sx+"]")+` +`;y.replace(ar,function(Qr,Wn,ti,hu,zs,du){return ti||(ti=hu),Ne+=y.slice(Se,du).replace(uC,PC),Wn&&(At=!0,Ne+=`' + __e(`+Wn+`) + -'`),Gs&&(Bt=!0,Ne+=`'; -`+Gs+`; +'`),zs&&(Bt=!0,Ne+=`'; +`+zs+`; __p += '`),ti&&(Ne+=`' + ((__t = (`+ti+`)) == null ? '' : __t) + '`),Se=du+Qr.length,Qr}),Ne+=`'; `;var $r=Jn.call(_,"variable")&&_.variable;if(!$r)Ne=`with (obj) { `+Ne+` } -`;else if(ai.test($r))throw new fn(a);Ne=(Bt?Ne.replace(ma,""):Ne).replace(_n,"$1").replace(ii,"$1;"),Ne="function("+($r||"obj")+`) { +`;else if(ai.test($r))throw new fn(a);Ne=(Bt?Ne.replace(ga,""):Ne).replace(_n,"$1").replace(ii,"$1;"),Ne="function("+($r||"obj")+`) { `+($r?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(At?", __e = _.escape":"")+(Bt?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+Ne+`return __p -}`;var On=E9(function(){return Qn(at,Mr+"return "+Ne).apply(r,bt)});if(On.source=Ne,WB(On))throw On;return On}function NIt(y){return wi(y).toLowerCase()}function FIt(y){return wi(y).toUpperCase()}function BIt(y,_,T){if(y=wi(y),y&&(T||_===r))return GT(y);if(!y||!(_=Bs(_)))return y;var R=Qo(y),X=Qo(_),at=wx(R,X),bt=Ex(R,X)+1;return lu(R,at,bt).join("")}function GIt(y,_,T){if(y=wi(y),y&&(T||_===r))return y.slice(0,WT(y)+1);if(!y||!(_=Bs(_)))return y;var R=Qo(y),X=Ex(R,Qo(_))+1;return lu(R,0,X).join("")}function zIt(y,_,T){if(y=wi(y),y&&(T||_===r))return y.replace(vl,"");if(!y||!(_=Bs(_)))return y;var R=Qo(y),X=wx(R,Qo(_));return lu(R,X).join("")}function UIt(y,_){var T=I,R=P;if(Da(_)){var X="separator"in _?_.separator:X;T="length"in _?Mn(_.length):T,R="omission"in _?Bs(_.omission):R}y=wi(y);var at=y.length;if(Ad(y)){var bt=Qo(y);at=bt.length}if(T>=at)return y;var At=T-Bc(R);if(At<1)return R;var Bt=bt?lu(bt,0,At).join(""):y.slice(0,At);if(X===r)return Bt+R;if(bt&&(At+=Bt.length-At),VB(X)){if(y.slice(At).search(X)){var Se,we=Bt;for(X.global||(X=RC(X.source,wi(Ia.exec(X))+"g")),X.lastIndex=0;Se=X.exec(we);)var Ne=Se.index;Bt=Bt.slice(0,Ne===r?At:Ne)}}else if(y.indexOf(Bs(X),At)!=At){var ar=Bt.lastIndexOf(X);ar>-1&&(Bt=Bt.slice(0,ar))}return Bt+R}function jIt(y){return y=wi(y),y&&En.test(y)?y.replace(xi,$F):y}var WIt=Yd(function(y,_,T){return y+(T?" ":"")+_.toUpperCase()}),XB=uu("toUpperCase");function w9(y,_,T){return y=wi(y),_=T?r:_,_===r?zT(y)?JF(y):KF(y):y.match(_)||[]}var E9=An(function(y,_){try{return Qa(y,r,_)}catch(T){return WB(T)?T:new fn(T)}}),VIt=Uu(function(y,_){return go(_,function(T){T=oi(T),Uf(y,T,UB(y[T],y))}),y});function HIt(y){var _=y==null?0:y.length,T=Z();return y=_?Zi(y,function(R){if(typeof R[1]!="function")throw new gl(i);return[T(R[0]),R[1]]}):[],An(function(R){for(var X=-1;++X<_;){var at=y[X];if(Qa(at[0],this,R))return Qa(at[1],this,R)}})}function YIt(y){return WC(yo(y,u))}function qB(y){return function(){return y}}function XIt(y,_){return y==null||y!==y?_:y}var qIt=$x(),KIt=$x(!0);function Cl(y){return y}function KB(y){return Iv(typeof y=="function"?y:yo(y,u))}function ZIt(y){return my(yo(y,u))}function $It(y,_){return gy(y,yo(_,u))}var QIt=An(function(y,_){return function(T){return Tv(T,y,_)}}),JIt=An(function(y,_){return function(T){return Tv(y,T,_)}});function ZB(y,_,T){var R=Bo(_),X=cy(_,R);T==null&&!(Da(_)&&(X.length||!R.length))&&(T=_,_=y,y=this,X=cy(_,Bo(_)));var at=!(Da(T)&&"chain"in T)||!!T.chain,bt=Kd(y);return go(X,function(At){var Bt=_[At];y[At]=Bt,bt&&(y.prototype[At]=function(){var Se=this.__chain__;if(at||Se){var we=y(this.__wrapped__),Ne=we.__actions__=xs(this.__actions__);return Ne.push({func:Bt,args:arguments,thisArg:y}),we.__chain__=Se,we}return Bt.apply(y,Rf([this.value()],arguments))})}),y}function t2t(){return $a._===this&&($a._=VT),this}function $B(){}function e2t(y){return y=Mn(y),An(function(_){return Vx(_,y)})}var r2t=zu(Zi),n2t=zu(Nc),i2t=zu(_x);function A9(y){return ue(y)?Ed(oi(y)):LB(y)}function a2t(y){return function(_){return y==null?r:Vc(y,_)}}var o2t=tw(),s2t=tw(!0);function QB(){return[]}function JB(){return!1}function l2t(){return{}}function u2t(){return""}function f2t(){return!0}function c2t(y,_){if(y=Mn(y),y<1||y>D)return[];var T=j,R=Ro(y,j);_=Z(_),y-=j;for(var X=MC(R,_);++T0||_<0)?new Fn(T):(y<0?T=T.takeRight(-y):y&&(T=T.drop(y)),_!==r&&(_=Mn(_),T=_<0?T.dropRight(-_):T.take(_-y)),T)},Fn.prototype.takeRightWhile=function(y){return this.reverse().takeWhile(y).reverse()},Fn.prototype.toArray=function(){return this.take(j)},ou(Fn.prototype,function(y,_){var T=/^(?:filter|find|map|reject)|While$/.test(_),R=/^(?:head|last)$/.test(_),X=tt[R?"take"+(_=="last"?"Right":""):_],at=R||/^find/.test(_);!X||(tt.prototype[_]=function(){var bt=this.__wrapped__,At=R?[1]:arguments,Bt=bt instanceof Fn,Se=At[0],we=Bt||bn(bt),Ne=function(Wn){var ti=X.apply(tt,Rf([Wn],At));return R&&ar?ti[0]:ti};we&&T&&typeof Se=="function"&&Se.length!=1&&(Bt=we=!1);var ar=this.__chain__,Mr=!!this.__actions__.length,$r=at&&!ar,On=Bt&&!Mr;if(!at&&we){bt=On?bt:new Fn(this);var Qr=y.apply(bt,At);return Qr.__actions__.push({func:EI,args:[Ne],thisArg:r}),new yl(Qr,ar)}return $r&&On?y.apply(this,At):(Qr=this.thru(Ne),$r?R?Qr.value()[0]:Qr.value():Qr)})}),go(["pop","push","shift","sort","splice","unshift"],function(y){var _=Mx[y],T=/^(?:push|sort|unshift)$/.test(y)?"tap":"thru",R=/^(?:pop|shift)$/.test(y);tt.prototype[y]=function(){var X=arguments;if(R&&!this.__chain__){var at=this.value();return _.apply(bn(at)?at:[],X)}return this[T](function(bt){return _.apply(bn(bt)?bt:[],X)})}}),ou(Fn.prototype,function(y,_){var T=tt[_];if(T){var R=T.name+"";Jn.call(No,R)||(No[R]=[]),No[R].push({name:_,func:T})}}),No[Xd(r,v).name]=[{name:"wrapper",func:r}],Fn.prototype.clone=fB,Fn.prototype.reverse=cB,Fn.prototype.value=hB,tt.prototype.at=xMt,tt.prototype.chain=bMt,tt.prototype.commit=_Mt,tt.prototype.next=SMt,tt.prototype.plant=wMt,tt.prototype.reverse=EMt,tt.prototype.toJSON=tt.prototype.valueOf=tt.prototype.value=AMt,tt.prototype.first=tt.prototype.head,nu&&(tt.prototype[nu]=CMt),tt},Gc=tB();typeof define=="function"&&typeof define.amd=="object"&&define.amd?($a._=Gc,define(function(){return Gc})):Sd?((Sd.exports=Gc)._=Gc,_C._=Gc):$a._=Gc}).call(H_)});var Tu=ft((Pwr,Rpt)=>{var gR;if(typeof require=="function")try{gR=kpt()}catch(r){}gR||(gR=window._);Rpt.exports=gR});var yR=ft((kwr,Gpt)=>{"use strict";var Jr=Tu();Gpt.exports=jn;var tne="\0",U0="\0",Npt="";function jn(r){this._isDirected=Jr.has(r,"directed")?r.directed:!0,this._isMultigraph=Jr.has(r,"multigraph")?r.multigraph:!1,this._isCompound=Jr.has(r,"compound")?r.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Jr.constant(void 0),this._defaultEdgeLabelFn=Jr.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[U0]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}jn.prototype._nodeCount=0;jn.prototype._edgeCount=0;jn.prototype.isDirected=function(){return this._isDirected};jn.prototype.isMultigraph=function(){return this._isMultigraph};jn.prototype.isCompound=function(){return this._isCompound};jn.prototype.setGraph=function(r){return this._label=r,this};jn.prototype.graph=function(){return this._label};jn.prototype.setDefaultNodeLabel=function(r){return Jr.isFunction(r)||(r=Jr.constant(r)),this._defaultNodeLabelFn=r,this};jn.prototype.nodeCount=function(){return this._nodeCount};jn.prototype.nodes=function(){return Jr.keys(this._nodes)};jn.prototype.sources=function(){return Jr.filter(this.nodes(),Jr.bind(function(r){return Jr.isEmpty(this._in[r])},this))};jn.prototype.sinks=function(){return Jr.filter(this.nodes(),Jr.bind(function(r){return Jr.isEmpty(this._out[r])},this))};jn.prototype.setNodes=function(r,e){var t=arguments;return Jr.each(r,Jr.bind(function(n){t.length>1?this.setNode(n,e):this.setNode(n)},this)),this};jn.prototype.setNode=function(r,e){return Jr.has(this._nodes,r)?(arguments.length>1&&(this._nodes[r]=e),this):(this._nodes[r]=arguments.length>1?e:this._defaultNodeLabelFn(r),this._isCompound&&(this._parent[r]=U0,this._children[r]={},this._children[U0][r]=!0),this._in[r]={},this._preds[r]={},this._out[r]={},this._sucs[r]={},++this._nodeCount,this)};jn.prototype.node=function(r){return this._nodes[r]};jn.prototype.hasNode=function(r){return Jr.has(this._nodes,r)};jn.prototype.removeNode=function(r){var e=this;if(Jr.has(this._nodes,r)){var t=function(n){e.removeEdge(e._edgeObjs[n])};delete this._nodes[r],this._isCompound&&(this._removeFromParentsChildList(r),delete this._parent[r],Jr.each(this.children(r),Jr.bind(function(n){this.setParent(n)},this)),delete this._children[r]),Jr.each(Jr.keys(this._in[r]),t),delete this._in[r],delete this._preds[r],Jr.each(Jr.keys(this._out[r]),t),delete this._out[r],delete this._sucs[r],--this._nodeCount}return this};jn.prototype.setParent=function(r,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Jr.isUndefined(e))e=U0;else{e+="";for(var t=e;!Jr.isUndefined(t);t=this.parent(t))if(t===r)throw new Error("Setting "+e+" as parent of "+r+" would create create a cycle");this.setNode(e)}return this.setNode(r),this._removeFromParentsChildList(r),this._parent[r]=e,this._children[e][r]=!0,this};jn.prototype._removeFromParentsChildList=function(r){delete this._children[this._parent[r]][r]};jn.prototype.parent=function(r){if(this._isCompound){var e=this._parent[r];if(e!==U0)return e}};jn.prototype.children=function(r){if(Jr.isUndefined(r)&&(r=U0),this._isCompound){var e=this._children[r];if(e)return Jr.keys(e)}else{if(r===U0)return this.nodes();if(this.hasNode(r))return[]}};jn.prototype.predecessors=function(r){var e=this._preds[r];if(e)return Jr.keys(e)};jn.prototype.successors=function(r){var e=this._sucs[r];if(e)return Jr.keys(e)};jn.prototype.neighbors=function(r){var e=this.predecessors(r);if(e)return Jr.union(e,this.successors(r))};jn.prototype.isLeaf=function(r){var e;return this.isDirected()?e=this.successors(r):e=this.neighbors(r),e.length===0};jn.prototype.filterNodes=function(r){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Jr.each(this._nodes,Jr.bind(function(a,o){r(o)&&e.setNode(o,a)},this)),Jr.each(this._edgeObjs,Jr.bind(function(a){e.hasNode(a.v)&&e.hasNode(a.w)&&e.setEdge(a,this.edge(a))},this));var t=this,n={};function i(a){var o=t.parent(a);return o===void 0||e.hasNode(o)?(n[a]=o,o):o in n?n[o]:i(o)}return this._isCompound&&Jr.each(e.nodes(),function(a){e.setParent(a,i(a))}),e};jn.prototype.setDefaultEdgeLabel=function(r){return Jr.isFunction(r)||(r=Jr.constant(r)),this._defaultEdgeLabelFn=r,this};jn.prototype.edgeCount=function(){return this._edgeCount};jn.prototype.edges=function(){return Jr.values(this._edgeObjs)};jn.prototype.setPath=function(r,e){var t=this,n=arguments;return Jr.reduce(r,function(i,a){return n.length>1?t.setEdge(i,a,e):t.setEdge(i,a),a}),this};jn.prototype.setEdge=function(){var r,e,t,n,i=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(r=a.v,e=a.w,t=a.name,arguments.length===2&&(n=arguments[1],i=!0)):(r=a,e=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),r=""+r,e=""+e,Jr.isUndefined(t)||(t=""+t);var o=bM(this._isDirected,r,e,t);if(Jr.has(this._edgeLabels,o))return i&&(this._edgeLabels[o]=n),this;if(!Jr.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(e),this._edgeLabels[o]=i?n:this._defaultEdgeLabelFn(r,e,t);var s=ene(this._isDirected,r,e,t);return r=s.v,e=s.w,Object.freeze(s),this._edgeObjs[o]=s,Fpt(this._preds[e],r),Fpt(this._sucs[r],e),this._in[e][o]=s,this._out[r][o]=s,this._edgeCount++,this};jn.prototype.edge=function(r,e,t){var n=arguments.length===1?O8(this._isDirected,arguments[0]):bM(this._isDirected,r,e,t);return this._edgeLabels[n]};jn.prototype.hasEdge=function(r,e,t){var n=arguments.length===1?O8(this._isDirected,arguments[0]):bM(this._isDirected,r,e,t);return Jr.has(this._edgeLabels,n)};jn.prototype.removeEdge=function(r,e,t){var n=arguments.length===1?O8(this._isDirected,arguments[0]):bM(this._isDirected,r,e,t),i=this._edgeObjs[n];return i&&(r=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],Bpt(this._preds[e],r),Bpt(this._sucs[r],e),delete this._in[e][n],delete this._out[r][n],this._edgeCount--),this};jn.prototype.inEdges=function(r,e){var t=this._in[r];if(t){var n=Jr.values(t);return e?Jr.filter(n,function(i){return i.v===e}):n}};jn.prototype.outEdges=function(r,e){var t=this._out[r];if(t){var n=Jr.values(t);return e?Jr.filter(n,function(i){return i.w===e}):n}};jn.prototype.nodeEdges=function(r,e){var t=this.inEdges(r,e);if(t)return t.concat(this.outEdges(r,e))};function Fpt(r,e){r[e]?r[e]++:r[e]=1}function Bpt(r,e){--r[e]||delete r[e]}function bM(r,e,t,n){var i=""+e,a=""+t;if(!r&&i>a){var o=i;i=a,a=o}return i+Npt+a+Npt+(Jr.isUndefined(n)?tne:n)}function ene(r,e,t,n){var i=""+e,a=""+t;if(!r&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return n&&(s.name=n),s}function O8(r,e){return bM(r,e.v,e.w,e.name)}});var Upt=ft((Rwr,zpt)=>{zpt.exports="2.1.4"});var Wpt=ft((Nwr,jpt)=>{jpt.exports={Graph:yR(),version:Upt()}});var Hpt=ft((Fwr,Vpt)=>{var Jh=Tu(),rne=yR();Vpt.exports={write:nne,read:one};function nne(r){var e={options:{directed:r.isDirected(),multigraph:r.isMultigraph(),compound:r.isCompound()},nodes:ine(r),edges:ane(r)};return Jh.isUndefined(r.graph())||(e.value=Jh.clone(r.graph())),e}function ine(r){return Jh.map(r.nodes(),function(e){var t=r.node(e),n=r.parent(e),i={v:e};return Jh.isUndefined(t)||(i.value=t),Jh.isUndefined(n)||(i.parent=n),i})}function ane(r){return Jh.map(r.edges(),function(e){var t=r.edge(e),n={v:e.v,w:e.w};return Jh.isUndefined(e.name)||(n.name=e.name),Jh.isUndefined(t)||(n.value=t),n})}function one(r){var e=new rne(r.options).setGraph(r.value);return Jh.each(r.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),Jh.each(r.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}});var Xpt=ft((Bwr,Ypt)=>{var xR=Tu();Ypt.exports=sne;function sne(r){var e={},t=[],n;function i(a){xR.has(e,a)||(e[a]=!0,n.push(a),xR.each(r.successors(a),i),xR.each(r.predecessors(a),i))}return xR.each(r.nodes(),function(a){n=[],i(a),n.length&&t.push(n)}),t}});var D8=ft((Gwr,Kpt)=>{var qpt=Tu();Kpt.exports=yf;function yf(){this._arr=[],this._keyIndices={}}yf.prototype.size=function(){return this._arr.length};yf.prototype.keys=function(){return this._arr.map(function(r){return r.key})};yf.prototype.has=function(r){return qpt.has(this._keyIndices,r)};yf.prototype.priority=function(r){var e=this._keyIndices[r];if(e!==void 0)return this._arr[e].priority};yf.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};yf.prototype.add=function(r,e){var t=this._keyIndices;if(r=String(r),!qpt.has(t,r)){var n=this._arr,i=n.length;return t[r]=i,n.push({key:r,priority:e}),this._decrease(i),!0}return!1};yf.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key};yf.prototype.decrease=function(r,e){var t=this._keyIndices[r];if(e>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[t].priority+" New: "+e);this._arr[t].priority=e,this._decrease(t)};yf.prototype._heapify=function(r){var e=this._arr,t=2*r,n=t+1,i=r;t>1,!(e[n].priority{var lne=Tu(),une=D8();Zpt.exports=cne;var fne=lne.constant(1);function cne(r,e,t,n){return hne(r,String(e),t||fne,n||function(i){return r.outEdges(i)})}function hne(r,e,t,n){var i={},a=new une,o,s,l=function(u){var f=u.v!==o?u.v:u.w,c=i[f],h=t(u),d=s.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);d0&&(o=a.removeMin(),s=i[o],s.distance!==Number.POSITIVE_INFINITY);)n(o).forEach(l);return i}});var Qpt=ft((Uwr,$pt)=>{var dne=P8(),pne=Tu();$pt.exports=vne;function vne(r,e,t){return pne.transform(r.nodes(),function(n,i){n[i]=dne(r,i,e,t)},{})}});var k8=ft((jwr,tvt)=>{var Jpt=Tu();tvt.exports=mne;function mne(r){var e=0,t=[],n={},i=[];function a(o){var s=n[o]={onStack:!0,lowlink:e,index:e++};if(t.push(o),r.successors(o).forEach(function(f){Jpt.has(n,f)?n[f].onStack&&(s.lowlink=Math.min(s.lowlink,n[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,n[f].lowlink))}),s.lowlink===s.index){var l=[],u;do u=t.pop(),n[u].onStack=!1,l.push(u);while(o!==u);i.push(l)}}return r.nodes().forEach(function(o){Jpt.has(n,o)||a(o)}),i}});var rvt=ft((Wwr,evt)=>{var gne=Tu(),yne=k8();evt.exports=xne;function xne(r){return gne.filter(yne(r),function(e){return e.length>1||e.length===1&&r.hasEdge(e[0],e[0])})}});var ivt=ft((Vwr,nvt)=>{var bne=Tu();nvt.exports=Sne;var _ne=bne.constant(1);function Sne(r,e,t){return Cne(r,e||_ne,t||function(n){return r.outEdges(n)})}function Cne(r,e,t){var n={},i=r.nodes();return i.forEach(function(a){n[a]={},n[a][a]={distance:0},i.forEach(function(o){a!==o&&(n[a][o]={distance:Number.POSITIVE_INFINITY})}),t(a).forEach(function(o){var s=o.v===a?o.w:o.v,l=e(o);n[a][s]={distance:l,predecessor:a}})}),i.forEach(function(a){var o=n[a];i.forEach(function(s){var l=n[s];i.forEach(function(u){var f=l[a],c=o[u],h=l[u],d=f.distance+c.distance;d{var _M=Tu();ovt.exports=avt;avt.CycleException=R8;function avt(r){var e={},t={},n=[];function i(a){if(_M.has(t,a))throw new R8;_M.has(e,a)||(t[a]=!0,e[a]=!0,_M.each(r.predecessors(a),i),delete t[a],n.push(a))}if(_M.each(r.sinks(),i),_M.size(e)!==r.nodeCount())throw new R8;return n}function R8(){}});var uvt=ft((Ywr,lvt)=>{var svt=N8();lvt.exports=wne;function wne(r){try{svt(r)}catch(e){if(e instanceof svt.CycleException)return!1;throw e}return!0}});var F8=ft((Xwr,cvt)=>{var bR=Tu();cvt.exports=Ene;function Ene(r,e,t){bR.isArray(e)||(e=[e]);var n=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],a={};return bR.each(e,function(o){if(!r.hasNode(o))throw new Error("Graph does not have node: "+o);fvt(r,o,t==="post",a,n,i)}),i}function fvt(r,e,t,n,i,a){bR.has(n,e)||(n[e]=!0,t||a.push(e),bR.each(i(e),function(o){fvt(r,o,t,n,i,a)}),t&&a.push(e))}});var dvt=ft((qwr,hvt)=>{var Ane=F8();hvt.exports=Mne;function Mne(r,e){return Ane(r,e,"post")}});var vvt=ft((Kwr,pvt)=>{var Tne=F8();pvt.exports=Ine;function Ine(r,e){return Tne(r,e,"pre")}});var yvt=ft((Zwr,gvt)=>{var mvt=Tu(),Lne=yR(),One=D8();gvt.exports=Dne;function Dne(r,e){var t=new Lne,n={},i=new One,a;function o(l){var u=l.v===a?l.w:l.v,f=i.priority(u);if(f!==void 0){var c=e(l);c0;){if(a=i.removeMin(),mvt.has(n,a))t.setEdge(a,n[a]);else{if(s)throw new Error("Input graph is not connected: "+r);s=!0}r.nodeEdges(a).forEach(o)}return t}});var bvt=ft(($wr,xvt)=>{xvt.exports={components:Xpt(),dijkstra:P8(),dijkstraAll:Qpt(),findCycles:rvt(),floydWarshall:ivt(),isAcyclic:uvt(),postorder:dvt(),preorder:vvt(),prim:yvt(),tarjan:k8(),topsort:N8()}});var Cvt=ft((Qwr,Svt)=>{var _vt=Wpt();Svt.exports={Graph:_vt.Graph,json:Hpt(),alg:bvt(),version:_vt.version}});var Zmt=ft((OMr,cH)=>{var fH=function(r){"use strict";var e=Object.prototype,t=e.hasOwnProperty,n,i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(D,N,z){return Object.defineProperty(D,N,{value:z,enumerable:!0,configurable:!0,writable:!0}),D[N]}try{l({},"")}catch(D){l=function(N,z,j){return N[z]=j}}function u(D,N,z,j){var W=N&&N.prototype instanceof m?N:m,J=Object.create(W.prototype),et=new F(j||[]);return J._invoke=P(D,z,et),J}r.wrap=u;function f(D,N,z){try{return{type:"normal",arg:D.call(N,z)}}catch(j){return{type:"throw",arg:j}}}var c="suspendedStart",h="suspendedYield",d="executing",p="completed",v={};function m(){}function g(){}function x(){}var b={};l(b,a,function(){return this});var S=Object.getPrototypeOf,C=S&&S(S(k([])));C&&C!==e&&t.call(C,a)&&(b=C);var w=x.prototype=m.prototype=Object.create(b);g.prototype=x,l(w,"constructor",x),l(x,"constructor",g),g.displayName=l(x,s,"GeneratorFunction");function A(D){["next","throw","return"].forEach(function(N){l(D,N,function(z){return this._invoke(N,z)})})}r.isGeneratorFunction=function(D){var N=typeof D=="function"&&D.constructor;return N?N===g||(N.displayName||N.name)==="GeneratorFunction":!1},r.mark=function(D){return Object.setPrototypeOf?Object.setPrototypeOf(D,x):(D.__proto__=x,l(D,s,"GeneratorFunction")),D.prototype=Object.create(w),D},r.awrap=function(D){return{__await:D}};function I(D,N){function z(J,et,lt,$){var st=f(D[J],D,et);if(st.type==="throw")$(st.arg);else{var _t=st.arg,dt=_t.value;return dt&&typeof dt=="object"&&t.call(dt,"__await")?N.resolve(dt.__await).then(function(vt){z("next",vt,lt,$)},function(vt){z("throw",vt,lt,$)}):N.resolve(dt).then(function(vt){_t.value=vt,lt(_t)},function(vt){return z("throw",vt,lt,$)})}}var j;function W(J,et){function lt(){return new N(function($,st){z(J,et,$,st)})}return j=j?j.then(lt,lt):lt()}this._invoke=W}A(I.prototype),l(I.prototype,o,function(){return this}),r.AsyncIterator=I,r.async=function(D,N,z,j,W){W===void 0&&(W=Promise);var J=new I(u(D,N,z,j),W);return r.isGeneratorFunction(N)?J:J.next().then(function(et){return et.done?et.value:J.next()})};function P(D,N,z){var j=c;return function(J,et){if(j===d)throw new Error("Generator is already running");if(j===p){if(J==="throw")throw et;return G()}for(z.method=J,z.arg=et;;){var lt=z.delegate;if(lt){var $=L(lt,z);if($){if($===v)continue;return $}}if(z.method==="next")z.sent=z._sent=z.arg;else if(z.method==="throw"){if(j===c)throw j=p,z.arg;z.dispatchException(z.arg)}else z.method==="return"&&z.abrupt("return",z.arg);j=d;var st=f(D,N,z);if(st.type==="normal"){if(j=z.done?p:h,st.arg===v)continue;return{value:st.arg,done:z.done}}else st.type==="throw"&&(j=p,z.method="throw",z.arg=st.arg)}}}function L(D,N){var z=D.iterator[N.method];if(z===n){if(N.delegate=null,N.method==="throw"){if(D.iterator.return&&(N.method="return",N.arg=n,L(D,N),N.method==="throw"))return v;N.method="throw",N.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var j=f(z,D.iterator,N.arg);if(j.type==="throw")return N.method="throw",N.arg=j.arg,N.delegate=null,v;var W=j.arg;if(!W)return N.method="throw",N.arg=new TypeError("iterator result is not an object"),N.delegate=null,v;if(W.done)N[D.resultName]=W.value,N.next=D.nextLoc,N.method!=="return"&&(N.method="next",N.arg=n);else return W;return N.delegate=null,v}A(w),l(w,s,"Generator"),l(w,a,function(){return this}),l(w,"toString",function(){return"[object Generator]"});function M(D){var N={tryLoc:D[0]};1 in D&&(N.catchLoc=D[1]),2 in D&&(N.finallyLoc=D[2],N.afterLoc=D[3]),this.tryEntries.push(N)}function O(D){var N=D.completion||{};N.type="normal",delete N.arg,D.completion=N}function F(D){this.tryEntries=[{tryLoc:"root"}],D.forEach(M,this),this.reset(!0)}r.keys=function(D){var N=[];for(var z in D)N.push(z);return N.reverse(),function j(){for(;N.length;){var W=N.pop();if(W in D)return j.value=W,j.done=!1,j}return j.done=!0,j}};function k(D){if(D){var N=D[a];if(N)return N.call(D);if(typeof D.next=="function")return D;if(!isNaN(D.length)){var z=-1,j=function W(){for(;++z=0;--j){var W=this.tryEntries[j],J=W.completion;if(W.tryLoc==="root")return z("end");if(W.tryLoc<=this.prev){var et=t.call(W,"catchLoc"),lt=t.call(W,"finallyLoc");if(et&<){if(this.prev=0;--z){var j=this.tryEntries[z];if(j.tryLoc<=this.prev&&t.call(j,"finallyLoc")&&this.prev=0;--N){var z=this.tryEntries[N];if(z.finallyLoc===D)return this.complete(z.completion,z.afterLoc),O(z),v}},catch:function(D){for(var N=this.tryEntries.length-1;N>=0;--N){var z=this.tryEntries[N];if(z.tryLoc===D){var j=z.completion;if(j.type==="throw"){var W=j.arg;O(z)}return W}}throw new Error("illegal catch attempt")},delegateYield:function(D,N,z){return this.delegate={iterator:k(D),resultName:N,nextLoc:z},this.method==="next"&&(this.arg=n),v}},r}(typeof cH=="object"?cH.exports:{});try{regeneratorRuntime=fH}catch(r){typeof globalThis=="object"?globalThis.regeneratorRuntime=fH:Function("r","regeneratorRuntime = r")(fH)}});var Ka=ft((DMr,$mt)=>{$mt.exports=Zmt()});var To=ft(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.NON_CUSTOM_TAG_KEYS=yi.POST_CONSTRUCT=yi.DESIGN_PARAM_TYPES=yi.PARAM_TYPES=yi.TAGGED_PROP=yi.TAGGED=yi.MULTI_INJECT_TAG=yi.INJECT_TAG=yi.OPTIONAL_TAG=yi.UNMANAGED_TAG=yi.NAME_TAG=yi.NAMED_TAG=void 0;yi.NAMED_TAG="named";yi.NAME_TAG="name";yi.UNMANAGED_TAG="unmanaged";yi.OPTIONAL_TAG="optional";yi.INJECT_TAG="inject";yi.MULTI_INJECT_TAG="multi_inject";yi.TAGGED="inversify:tagged";yi.TAGGED_PROP="inversify:tagged_props";yi.PARAM_TYPES="inversify:paramtypes";yi.DESIGN_PARAM_TYPES="design:paramtypes";yi.POST_CONSTRUCT="post_construct";function Iae(){return[yi.INJECT_TAG,yi.MULTI_INJECT_TAG,yi.NAME_TAG,yi.UNMANAGED_TAG,yi.NAMED_TAG,yi.OPTIONAL_TAG]}yi.NON_CUSTOM_TAG_KEYS=Iae()});var ed=ft(Sg=>{"use strict";Object.defineProperty(Sg,"__esModule",{value:!0});Sg.TargetTypeEnum=Sg.BindingTypeEnum=Sg.BindingScopeEnum=void 0;var Lae={Request:"Request",Singleton:"Singleton",Transient:"Transient"};Sg.BindingScopeEnum=Lae;var Oae={ConstantValue:"ConstantValue",Constructor:"Constructor",DynamicValue:"DynamicValue",Factory:"Factory",Function:"Function",Instance:"Instance",Invalid:"Invalid",Provider:"Provider"};Sg.BindingTypeEnum=Oae;var Dae={ClassProperty:"ClassProperty",ConstructorArgument:"ConstructorArgument",Variable:"Variable"};Sg.TargetTypeEnum=Dae});var Cg=ft(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});IR.id=void 0;var Pae=0;function kae(){return Pae++}IR.id=kae});var egt=ft(LR=>{"use strict";Object.defineProperty(LR,"__esModule",{value:!0});LR.Binding=void 0;var tgt=ed(),Rae=Cg(),Nae=function(){function r(e,t){this.id=Rae.id(),this.activated=!1,this.serviceIdentifier=e,this.scope=t,this.type=tgt.BindingTypeEnum.Invalid,this.constraint=function(n){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null,this.dynamicValue=null}return r.prototype.clone=function(){var e=new r(this.serviceIdentifier,this.scope);return e.activated=e.scope===tgt.BindingScopeEnum.Singleton?this.activated:!1,e.implementationType=this.implementationType,e.dynamicValue=this.dynamicValue,e.scope=this.scope,e.type=this.type,e.factory=this.factory,e.provider=this.provider,e.constraint=this.constraint,e.onActivation=this.onActivation,e.cache=this.cache,e},r}();LR.Binding=Nae});var Kl=ft(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.STACK_OVERFLOW=zr.CIRCULAR_DEPENDENCY_IN_FACTORY=zr.POST_CONSTRUCT_ERROR=zr.MULTIPLE_POST_CONSTRUCT_METHODS=zr.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK=zr.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE=zr.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE=zr.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT=zr.ARGUMENTS_LENGTH_MISMATCH=zr.INVALID_DECORATOR_OPERATION=zr.INVALID_TO_SELF_VALUE=zr.INVALID_FUNCTION_BINDING=zr.INVALID_MIDDLEWARE_RETURN=zr.NO_MORE_SNAPSHOTS_AVAILABLE=zr.INVALID_BINDING_TYPE=zr.NOT_IMPLEMENTED=zr.CIRCULAR_DEPENDENCY=zr.UNDEFINED_INJECT_ANNOTATION=zr.MISSING_INJECT_ANNOTATION=zr.MISSING_INJECTABLE_ANNOTATION=zr.NOT_REGISTERED=zr.CANNOT_UNBIND=zr.AMBIGUOUS_MATCH=zr.KEY_NOT_FOUND=zr.NULL_ARGUMENT=zr.DUPLICATED_METADATA=zr.DUPLICATED_INJECTABLE_DECORATOR=void 0;zr.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.";zr.DUPLICATED_METADATA="Metadata key was used more than once in a parameter:";zr.NULL_ARGUMENT="NULL argument";zr.KEY_NOT_FOUND="Key Not Found";zr.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:";zr.CANNOT_UNBIND="Could not unbind serviceIdentifier:";zr.NOT_REGISTERED="No matching bindings found for serviceIdentifier:";zr.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:";zr.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:";var Fae=function(r){return"@inject called with undefined this could mean that the class "+r+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation."};zr.UNDEFINED_INJECT_ANNOTATION=Fae;zr.CIRCULAR_DEPENDENCY="Circular dependency found:";zr.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.";zr.INVALID_BINDING_TYPE="Invalid binding type:";zr.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore.";zr.INVALID_MIDDLEWARE_RETURN="Invalid return type in middleware. Middleware must return!";zr.INVALID_FUNCTION_BINDING="Value provided to function binding must be a function!";zr.INVALID_TO_SELF_VALUE="The toSelf function can only be applied when a constructor is used as service identifier";zr.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.";var Bae=function(){for(var r=[],e=0;e= than the number of constructor arguments of its base class.")};zr.ARGUMENTS_LENGTH_MISMATCH=Bae;zr.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT="Invalid Container constructor argument. Container options must be an object.";zr.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE="Invalid Container option. Default scope must be a string ('singleton' or 'transient').";zr.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE="Invalid Container option. Auto bind injectable must be a boolean";zr.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK="Invalid Container option. Skip base check must be a boolean";zr.MULTIPLE_POST_CONSTRUCT_METHODS="Cannot apply @postConstruct decorator multiple times in the same class";var Gae=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(OR,"__esModule",{value:!0});OR.MetadataReader=void 0;var mH=To(),Uae=function(){function r(){}return r.prototype.getConstructorMetadata=function(e){var t=Reflect.getMetadata(mH.PARAM_TYPES,e),n=Reflect.getMetadata(mH.TAGGED,e);return{compilerGeneratedMetadata:t,userGeneratedMetadata:n||{}}},r.prototype.getPropertiesMetadata=function(e){var t=Reflect.getMetadata(mH.TAGGED_PROP,e)||[];return t},r}();OR.MetadataReader=Uae});var rgt=ft(DR=>{"use strict";Object.defineProperty(DR,"__esModule",{value:!0});DR.BindingCount=void 0;var jae={MultipleBindingsAvailable:2,NoBindingsAvailable:0,OnlyOneBindingAvailable:1};DR.BindingCount=jae});var yH=ft(PR=>{"use strict";Object.defineProperty(PR,"__esModule",{value:!0});PR.isStackOverflowExeption=void 0;var Wae=Kl();function Vae(r){return r instanceof RangeError||r.message===Wae.STACK_OVERFLOW}PR.isStackOverflowExeption=Vae});var $_=ft(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.circularDependencyToException=_f.listMetadataForTarget=_f.listRegisteredBindingsForServiceIdentifier=_f.getServiceIdentifierAsString=_f.getFunctionName=void 0;var Hae=Kl();function ngt(r){if(typeof r=="function"){var e=r;return e.name}else{if(typeof r=="symbol")return r.toString();var e=r;return e}}_f.getServiceIdentifierAsString=ngt;function Yae(r,e,t){var n="",i=t(r,e);return i.length!==0&&(n=` -Registered bindings:`,i.forEach(function(a){var o="Object";a.implementationType!==null&&(o=ogt(a.implementationType)),n=n+` - `+o,a.constraint.metaData&&(n=n+" - "+a.constraint.metaData)})),n}_f.listRegisteredBindingsForServiceIdentifier=Yae;function igt(r,e){return r.parentRequest===null?!1:r.parentRequest.serviceIdentifier===e?!0:igt(r.parentRequest,e)}function Xae(r){function e(n,i){i===void 0&&(i=[]);var a=ngt(n.serviceIdentifier);return i.push(a),n.parentRequest!==null?e(n.parentRequest,i):i}var t=e(r);return t.reverse().join(" --> ")}function agt(r){r.childRequests.forEach(function(e){if(igt(e,e.serviceIdentifier)){var t=Xae(e);throw new Error(Hae.CIRCULAR_DEPENDENCY+" "+t)}else agt(e)})}_f.circularDependencyToException=agt;function qae(r,e){if(e.isTagged()||e.isNamed()){var t="",n=e.getNamedTag(),i=e.getCustomTags();return n!==null&&(t+=n.toString()+` +}`;var On=O9(function(){return Qn(at,Mr+"return "+Ne).apply(r,bt)});if(On.source=Ne,XB(On))throw On;return On}function qIt(y){return wi(y).toLowerCase()}function KIt(y){return wi(y).toUpperCase()}function ZIt(y,_,T){if(y=wi(y),y&&(T||_===r))return VT(y);if(!y||!(_=Gs(_)))return y;var N=ts(y),X=ts(_),at=Tx(N,X),bt=Ix(N,X)+1;return lu(N,at,bt).join("")}function $It(y,_,T){if(y=wi(y),y&&(T||_===r))return y.slice(0,qT(y)+1);if(!y||!(_=Gs(_)))return y;var N=ts(y),X=Ix(N,ts(_))+1;return lu(N,0,X).join("")}function QIt(y,_,T){if(y=wi(y),y&&(T||_===r))return y.replace(vl,"");if(!y||!(_=Gs(_)))return y;var N=ts(y),X=Tx(N,ts(_));return lu(N,X).join("")}function JIt(y,_){var T=L,N=k;if(Pa(_)){var X="separator"in _?_.separator:X;T="length"in _?Mn(_.length):T,N="omission"in _?Gs(_.omission):N}y=wi(y);var at=y.length;if(Ad(y)){var bt=ts(y);at=bt.length}if(T>=at)return y;var At=T-Bc(N);if(At<1)return N;var Bt=bt?lu(bt,0,At).join(""):y.slice(0,At);if(X===r)return Bt+N;if(bt&&(At+=Bt.length-At),qB(X)){if(y.slice(At).search(X)){var Se,we=Bt;for(X.global||(X=BC(X.source,wi(La.exec(X))+"g")),X.lastIndex=0;Se=X.exec(we);)var Ne=Se.index;Bt=Bt.slice(0,Ne===r?At:Ne)}}else if(y.indexOf(Gs(X),At)!=At){var ar=Bt.lastIndexOf(X);ar>-1&&(Bt=Bt.slice(0,ar))}return Bt+N}function t2t(y){return y=wi(y),y&&En.test(y)?y.replace(xi,eB):y}var e2t=Yd(function(y,_,T){return y+(T?" ":"")+_.toUpperCase()}),$B=uu("toUpperCase");function L9(y,_,T){return y=wi(y),_=T?r:_,_===r?HT(y)?nB(y):JF(y):y.match(_)||[]}var O9=An(function(y,_){try{return to(y,r,_)}catch(T){return XB(T)?T:new fn(T)}}),r2t=Uu(function(y,_){return xo(_,function(T){T=oi(T),Uf(y,T,HB(y[T],y))}),y});function n2t(y){var _=y==null?0:y.length,T=Z();return y=_?Zi(y,function(N){if(typeof N[1]!="function")throw new gl(i);return[T(N[0]),N[1]]}):[],An(function(N){for(var X=-1;++X<_;){var at=y[X];if(to(at[0],this,N))return to(at[1],this,N)}})}function i2t(y){return YC(bo(y,u))}function QB(y){return function(){return y}}function a2t(y,_){return y==null||y!==y?_:y}var o2t=eb(),s2t=eb(!0);function Cl(y){return y}function JB(y){return Ov(typeof y=="function"?y:bo(y,u))}function l2t(y){return yy(bo(y,u))}function u2t(y,_){return xy(y,bo(_,u))}var f2t=An(function(y,_){return function(T){return Lv(T,y,_)}}),c2t=An(function(y,_){return function(T){return Lv(y,T,_)}});function t3(y,_,T){var N=zo(_),X=dy(_,N);T==null&&!(Pa(_)&&(X.length||!N.length))&&(T=_,_=y,y=this,X=dy(_,zo(_)));var at=!(Pa(T)&&"chain"in T)||!!T.chain,bt=Kd(y);return xo(X,function(At){var Bt=_[At];y[At]=Bt,bt&&(y.prototype[At]=function(){var Se=this.__chain__;if(at||Se){var we=y(this.__wrapped__),Ne=we.__actions__=_s(this.__actions__);return Ne.push({func:Bt,args:arguments,thisArg:y}),we.__chain__=Se,we}return Bt.apply(y,Rf([this.value()],arguments))})}),y}function h2t(){return Ja._===this&&(Ja._=KT),this}function e3(){}function d2t(y){return y=Mn(y),An(function(_){return qx(_,y)})}var p2t=zu(Zi),v2t=zu(Nc),m2t=zu(Ex);function D9(y){return ue(y)?Ed(oi(y)):kB(y)}function g2t(y){return function(_){return y==null?r:Vc(y,_)}}var y2t=nw(),x2t=nw(!0);function r3(){return[]}function n3(){return!1}function b2t(){return{}}function _2t(){return""}function S2t(){return!0}function C2t(y,_){if(y=Mn(y),y<1||y>D)return[];var T=j,N=Fo(y,j);_=Z(_),y-=j;for(var X=LC(N,_);++T0||_<0)?new Fn(T):(y<0?T=T.takeRight(-y):y&&(T=T.drop(y)),_!==r&&(_=Mn(_),T=_<0?T.dropRight(-_):T.take(_-y)),T)},Fn.prototype.takeRightWhile=function(y){return this.reverse().takeWhile(y).reverse()},Fn.prototype.toArray=function(){return this.take(j)},ou(Fn.prototype,function(y,_){var T=/^(?:filter|find|map|reject)|While$/.test(_),N=/^(?:head|last)$/.test(_),X=J[N?"take"+(_=="last"?"Right":""):_],at=N||/^find/.test(_);!X||(J.prototype[_]=function(){var bt=this.__wrapped__,At=N?[1]:arguments,Bt=bt instanceof Fn,Se=At[0],we=Bt||bn(bt),Ne=function(Wn){var ti=X.apply(J,Rf([Wn],At));return N&&ar?ti[0]:ti};we&&T&&typeof Se=="function"&&Se.length!=1&&(Bt=we=!1);var ar=this.__chain__,Mr=!!this.__actions__.length,$r=at&&!ar,On=Bt&&!Mr;if(!at&&we){bt=On?bt:new Fn(this);var Qr=y.apply(bt,At);return Qr.__actions__.push({func:LI,args:[Ne],thisArg:r}),new yl(Qr,ar)}return $r&&On?y.apply(this,At):(Qr=this.thru(Ne),$r?N?Qr.value()[0]:Qr.value():Qr)})}),xo(["pop","push","shift","sort","splice","unshift"],function(y){var _=Ox[y],T=/^(?:push|sort|unshift)$/.test(y)?"tap":"thru",N=/^(?:pop|shift)$/.test(y);J.prototype[y]=function(){var X=arguments;if(N&&!this.__chain__){var at=this.value();return _.apply(bn(at)?at:[],X)}return this[T](function(bt){return _.apply(bn(bt)?bt:[],X)})}}),ou(Fn.prototype,function(y,_){var T=J[_];if(T){var N=T.name+"";Jn.call(Bo,N)||(Bo[N]=[]),Bo[N].push({name:_,func:T})}}),Bo[Xd(r,v).name]=[{name:"wrapper",func:r}],Fn.prototype.clone=pB,Fn.prototype.reverse=vB,Fn.prototype.value=mB,J.prototype.at=OMt,J.prototype.chain=DMt,J.prototype.commit=PMt,J.prototype.next=kMt,J.prototype.plant=NMt,J.prototype.reverse=FMt,J.prototype.toJSON=J.prototype.valueOf=J.prototype.value=BMt,J.prototype.first=J.prototype.head,nu&&(J.prototype[nu]=RMt),J},Gc=iB();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ja._=Gc,define(function(){return Gc})):Sd?((Sd.exports=Gc)._=Gc,wC._=Gc):Ja._=Gc}).call(q_)});var Tu=ft((Jwr,Xpt)=>{var _R;if(typeof require=="function")try{_R=Ypt()}catch(r){}_R||(_R=window._);Xpt.exports=_R});var SR=ft((tEr,$pt)=>{"use strict";var Jr=Tu();$pt.exports=jn;var _ne="\0",H0="\0",qpt="";function jn(r){this._isDirected=Jr.has(r,"directed")?r.directed:!0,this._isMultigraph=Jr.has(r,"multigraph")?r.multigraph:!1,this._isCompound=Jr.has(r,"compound")?r.compound:!1,this._label=void 0,this._defaultNodeLabelFn=Jr.constant(void 0),this._defaultEdgeLabelFn=Jr.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[H0]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}jn.prototype._nodeCount=0;jn.prototype._edgeCount=0;jn.prototype.isDirected=function(){return this._isDirected};jn.prototype.isMultigraph=function(){return this._isMultigraph};jn.prototype.isCompound=function(){return this._isCompound};jn.prototype.setGraph=function(r){return this._label=r,this};jn.prototype.graph=function(){return this._label};jn.prototype.setDefaultNodeLabel=function(r){return Jr.isFunction(r)||(r=Jr.constant(r)),this._defaultNodeLabelFn=r,this};jn.prototype.nodeCount=function(){return this._nodeCount};jn.prototype.nodes=function(){return Jr.keys(this._nodes)};jn.prototype.sources=function(){return Jr.filter(this.nodes(),Jr.bind(function(r){return Jr.isEmpty(this._in[r])},this))};jn.prototype.sinks=function(){return Jr.filter(this.nodes(),Jr.bind(function(r){return Jr.isEmpty(this._out[r])},this))};jn.prototype.setNodes=function(r,e){var t=arguments;return Jr.each(r,Jr.bind(function(n){t.length>1?this.setNode(n,e):this.setNode(n)},this)),this};jn.prototype.setNode=function(r,e){return Jr.has(this._nodes,r)?(arguments.length>1&&(this._nodes[r]=e),this):(this._nodes[r]=arguments.length>1?e:this._defaultNodeLabelFn(r),this._isCompound&&(this._parent[r]=H0,this._children[r]={},this._children[H0][r]=!0),this._in[r]={},this._preds[r]={},this._out[r]={},this._sucs[r]={},++this._nodeCount,this)};jn.prototype.node=function(r){return this._nodes[r]};jn.prototype.hasNode=function(r){return Jr.has(this._nodes,r)};jn.prototype.removeNode=function(r){var e=this;if(Jr.has(this._nodes,r)){var t=function(n){e.removeEdge(e._edgeObjs[n])};delete this._nodes[r],this._isCompound&&(this._removeFromParentsChildList(r),delete this._parent[r],Jr.each(this.children(r),Jr.bind(function(n){this.setParent(n)},this)),delete this._children[r]),Jr.each(Jr.keys(this._in[r]),t),delete this._in[r],delete this._preds[r],Jr.each(Jr.keys(this._out[r]),t),delete this._out[r],delete this._sucs[r],--this._nodeCount}return this};jn.prototype.setParent=function(r,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Jr.isUndefined(e))e=H0;else{e+="";for(var t=e;!Jr.isUndefined(t);t=this.parent(t))if(t===r)throw new Error("Setting "+e+" as parent of "+r+" would create create a cycle");this.setNode(e)}return this.setNode(r),this._removeFromParentsChildList(r),this._parent[r]=e,this._children[e][r]=!0,this};jn.prototype._removeFromParentsChildList=function(r){delete this._children[this._parent[r]][r]};jn.prototype.parent=function(r){if(this._isCompound){var e=this._parent[r];if(e!==H0)return e}};jn.prototype.children=function(r){if(Jr.isUndefined(r)&&(r=H0),this._isCompound){var e=this._children[r];if(e)return Jr.keys(e)}else{if(r===H0)return this.nodes();if(this.hasNode(r))return[]}};jn.prototype.predecessors=function(r){var e=this._preds[r];if(e)return Jr.keys(e)};jn.prototype.successors=function(r){var e=this._sucs[r];if(e)return Jr.keys(e)};jn.prototype.neighbors=function(r){var e=this.predecessors(r);if(e)return Jr.union(e,this.successors(r))};jn.prototype.isLeaf=function(r){var e;return this.isDirected()?e=this.successors(r):e=this.neighbors(r),e.length===0};jn.prototype.filterNodes=function(r){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Jr.each(this._nodes,Jr.bind(function(a,o){r(o)&&e.setNode(o,a)},this)),Jr.each(this._edgeObjs,Jr.bind(function(a){e.hasNode(a.v)&&e.hasNode(a.w)&&e.setEdge(a,this.edge(a))},this));var t=this,n={};function i(a){var o=t.parent(a);return o===void 0||e.hasNode(o)?(n[a]=o,o):o in n?n[o]:i(o)}return this._isCompound&&Jr.each(e.nodes(),function(a){e.setParent(a,i(a))}),e};jn.prototype.setDefaultEdgeLabel=function(r){return Jr.isFunction(r)||(r=Jr.constant(r)),this._defaultEdgeLabelFn=r,this};jn.prototype.edgeCount=function(){return this._edgeCount};jn.prototype.edges=function(){return Jr.values(this._edgeObjs)};jn.prototype.setPath=function(r,e){var t=this,n=arguments;return Jr.reduce(r,function(i,a){return n.length>1?t.setEdge(i,a,e):t.setEdge(i,a),a}),this};jn.prototype.setEdge=function(){var r,e,t,n,i=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(r=a.v,e=a.w,t=a.name,arguments.length===2&&(n=arguments[1],i=!0)):(r=a,e=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),r=""+r,e=""+e,Jr.isUndefined(t)||(t=""+t);var o=wM(this._isDirected,r,e,t);if(Jr.has(this._edgeLabels,o))return i&&(this._edgeLabels[o]=n),this;if(!Jr.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(e),this._edgeLabels[o]=i?n:this._defaultEdgeLabelFn(r,e,t);var s=Sne(this._isDirected,r,e,t);return r=s.v,e=s.w,Object.freeze(s),this._edgeObjs[o]=s,Kpt(this._preds[e],r),Kpt(this._sucs[r],e),this._in[e][o]=s,this._out[r][o]=s,this._edgeCount++,this};jn.prototype.edge=function(r,e,t){var n=arguments.length===1?F8(this._isDirected,arguments[0]):wM(this._isDirected,r,e,t);return this._edgeLabels[n]};jn.prototype.hasEdge=function(r,e,t){var n=arguments.length===1?F8(this._isDirected,arguments[0]):wM(this._isDirected,r,e,t);return Jr.has(this._edgeLabels,n)};jn.prototype.removeEdge=function(r,e,t){var n=arguments.length===1?F8(this._isDirected,arguments[0]):wM(this._isDirected,r,e,t),i=this._edgeObjs[n];return i&&(r=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],Zpt(this._preds[e],r),Zpt(this._sucs[r],e),delete this._in[e][n],delete this._out[r][n],this._edgeCount--),this};jn.prototype.inEdges=function(r,e){var t=this._in[r];if(t){var n=Jr.values(t);return e?Jr.filter(n,function(i){return i.v===e}):n}};jn.prototype.outEdges=function(r,e){var t=this._out[r];if(t){var n=Jr.values(t);return e?Jr.filter(n,function(i){return i.w===e}):n}};jn.prototype.nodeEdges=function(r,e){var t=this.inEdges(r,e);if(t)return t.concat(this.outEdges(r,e))};function Kpt(r,e){r[e]?r[e]++:r[e]=1}function Zpt(r,e){--r[e]||delete r[e]}function wM(r,e,t,n){var i=""+e,a=""+t;if(!r&&i>a){var o=i;i=a,a=o}return i+qpt+a+qpt+(Jr.isUndefined(n)?_ne:n)}function Sne(r,e,t,n){var i=""+e,a=""+t;if(!r&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return n&&(s.name=n),s}function F8(r,e){return wM(r,e.v,e.w,e.name)}});var Jpt=ft((eEr,Qpt)=>{Qpt.exports="2.1.4"});var evt=ft((rEr,tvt)=>{tvt.exports={Graph:SR(),version:Jpt()}});var nvt=ft((nEr,rvt)=>{var Jh=Tu(),Cne=SR();rvt.exports={write:wne,read:Mne};function wne(r){var e={options:{directed:r.isDirected(),multigraph:r.isMultigraph(),compound:r.isCompound()},nodes:Ene(r),edges:Ane(r)};return Jh.isUndefined(r.graph())||(e.value=Jh.clone(r.graph())),e}function Ene(r){return Jh.map(r.nodes(),function(e){var t=r.node(e),n=r.parent(e),i={v:e};return Jh.isUndefined(t)||(i.value=t),Jh.isUndefined(n)||(i.parent=n),i})}function Ane(r){return Jh.map(r.edges(),function(e){var t=r.edge(e),n={v:e.v,w:e.w};return Jh.isUndefined(e.name)||(n.name=e.name),Jh.isUndefined(t)||(n.value=t),n})}function Mne(r){var e=new Cne(r.options).setGraph(r.value);return Jh.each(r.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),Jh.each(r.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}});var avt=ft((iEr,ivt)=>{var CR=Tu();ivt.exports=Tne;function Tne(r){var e={},t=[],n;function i(a){CR.has(e,a)||(e[a]=!0,n.push(a),CR.each(r.successors(a),i),CR.each(r.predecessors(a),i))}return CR.each(r.nodes(),function(a){n=[],i(a),n.length&&t.push(n)}),t}});var B8=ft((aEr,svt)=>{var ovt=Tu();svt.exports=yf;function yf(){this._arr=[],this._keyIndices={}}yf.prototype.size=function(){return this._arr.length};yf.prototype.keys=function(){return this._arr.map(function(r){return r.key})};yf.prototype.has=function(r){return ovt.has(this._keyIndices,r)};yf.prototype.priority=function(r){var e=this._keyIndices[r];if(e!==void 0)return this._arr[e].priority};yf.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};yf.prototype.add=function(r,e){var t=this._keyIndices;if(r=String(r),!ovt.has(t,r)){var n=this._arr,i=n.length;return t[r]=i,n.push({key:r,priority:e}),this._decrease(i),!0}return!1};yf.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key};yf.prototype.decrease=function(r,e){var t=this._keyIndices[r];if(e>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[t].priority+" New: "+e);this._arr[t].priority=e,this._decrease(t)};yf.prototype._heapify=function(r){var e=this._arr,t=2*r,n=t+1,i=r;t>1,!(e[n].priority{var Ine=Tu(),Lne=B8();lvt.exports=Dne;var One=Ine.constant(1);function Dne(r,e,t,n){return Pne(r,String(e),t||One,n||function(i){return r.outEdges(i)})}function Pne(r,e,t,n){var i={},a=new Lne,o,s,l=function(u){var f=u.v!==o?u.v:u.w,c=i[f],h=t(u),d=s.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);d0&&(o=a.removeMin(),s=i[o],s.distance!==Number.POSITIVE_INFINITY);)n(o).forEach(l);return i}});var fvt=ft((sEr,uvt)=>{var kne=G8(),Rne=Tu();uvt.exports=Nne;function Nne(r,e,t){return Rne.transform(r.nodes(),function(n,i){n[i]=kne(r,i,e,t)},{})}});var z8=ft((lEr,hvt)=>{var cvt=Tu();hvt.exports=Fne;function Fne(r){var e=0,t=[],n={},i=[];function a(o){var s=n[o]={onStack:!0,lowlink:e,index:e++};if(t.push(o),r.successors(o).forEach(function(f){cvt.has(n,f)?n[f].onStack&&(s.lowlink=Math.min(s.lowlink,n[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,n[f].lowlink))}),s.lowlink===s.index){var l=[],u;do u=t.pop(),n[u].onStack=!1,l.push(u);while(o!==u);i.push(l)}}return r.nodes().forEach(function(o){cvt.has(n,o)||a(o)}),i}});var pvt=ft((uEr,dvt)=>{var Bne=Tu(),Gne=z8();dvt.exports=zne;function zne(r){return Bne.filter(Gne(r),function(e){return e.length>1||e.length===1&&r.hasEdge(e[0],e[0])})}});var mvt=ft((fEr,vvt)=>{var Une=Tu();vvt.exports=Wne;var jne=Une.constant(1);function Wne(r,e,t){return Vne(r,e||jne,t||function(n){return r.outEdges(n)})}function Vne(r,e,t){var n={},i=r.nodes();return i.forEach(function(a){n[a]={},n[a][a]={distance:0},i.forEach(function(o){a!==o&&(n[a][o]={distance:Number.POSITIVE_INFINITY})}),t(a).forEach(function(o){var s=o.v===a?o.w:o.v,l=e(o);n[a][s]={distance:l,predecessor:a}})}),i.forEach(function(a){var o=n[a];i.forEach(function(s){var l=n[s];i.forEach(function(u){var f=l[a],c=o[u],h=l[u],d=f.distance+c.distance;d{var EM=Tu();yvt.exports=gvt;gvt.CycleException=U8;function gvt(r){var e={},t={},n=[];function i(a){if(EM.has(t,a))throw new U8;EM.has(e,a)||(t[a]=!0,e[a]=!0,EM.each(r.predecessors(a),i),delete t[a],n.push(a))}if(EM.each(r.sinks(),i),EM.size(e)!==r.nodeCount())throw new U8;return n}function U8(){}});var _vt=ft((hEr,bvt)=>{var xvt=j8();bvt.exports=Hne;function Hne(r){try{xvt(r)}catch(e){if(e instanceof xvt.CycleException)return!1;throw e}return!0}});var W8=ft((dEr,Cvt)=>{var wR=Tu();Cvt.exports=Yne;function Yne(r,e,t){wR.isArray(e)||(e=[e]);var n=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],a={};return wR.each(e,function(o){if(!r.hasNode(o))throw new Error("Graph does not have node: "+o);Svt(r,o,t==="post",a,n,i)}),i}function Svt(r,e,t,n,i,a){wR.has(n,e)||(n[e]=!0,t||a.push(e),wR.each(i(e),function(o){Svt(r,o,t,n,i,a)}),t&&a.push(e))}});var Evt=ft((pEr,wvt)=>{var Xne=W8();wvt.exports=qne;function qne(r,e){return Xne(r,e,"post")}});var Mvt=ft((vEr,Avt)=>{var Kne=W8();Avt.exports=Zne;function Zne(r,e){return Kne(r,e,"pre")}});var Lvt=ft((mEr,Ivt)=>{var Tvt=Tu(),$ne=SR(),Qne=B8();Ivt.exports=Jne;function Jne(r,e){var t=new $ne,n={},i=new Qne,a;function o(l){var u=l.v===a?l.w:l.v,f=i.priority(u);if(f!==void 0){var c=e(l);c0;){if(a=i.removeMin(),Tvt.has(n,a))t.setEdge(a,n[a]);else{if(s)throw new Error("Input graph is not connected: "+r);s=!0}r.nodeEdges(a).forEach(o)}return t}});var Dvt=ft((gEr,Ovt)=>{Ovt.exports={components:avt(),dijkstra:G8(),dijkstraAll:fvt(),findCycles:pvt(),floydWarshall:mvt(),isAcyclic:_vt(),postorder:Evt(),preorder:Mvt(),prim:Lvt(),tarjan:z8(),topsort:j8()}});var Rvt=ft((yEr,kvt)=>{var Pvt=evt();kvt.exports={Graph:Pvt.Graph,json:nvt(),alg:Dvt(),version:Pvt.version}});var lgt=ft((iTr,zp)=>{function gH(r){return zp.exports=gH=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zp.exports.__esModule=!0,zp.exports.default=zp.exports,gH(r)}zp.exports=gH,zp.exports.__esModule=!0,zp.exports.default=zp.exports});var fgt=ft((aTr,Up)=>{var Kae=lgt().default;function ugt(){"use strict";Up.exports=ugt=function(){return r},Up.exports.__esModule=!0,Up.exports.default=Up.exports;var r={},e=Object.prototype,t=e.hasOwnProperty,n=Object.defineProperty||function(I,R,P){I[R]=P.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(I,R,P){return Object.defineProperty(I,R,{value:P,enumerable:!0,configurable:!0,writable:!0}),I[R]}try{l({},"")}catch(I){l=function(P,F,D){return P[F]=D}}function u(I,R,P,F){var D=R&&R.prototype instanceof h?R:h,G=Object.create(D.prototype),U=new k(F||[]);return n(G,"_invoke",{value:C(I,P,U)}),G}function f(I,R,P){try{return{type:"normal",arg:I.call(R,P)}}catch(F){return{type:"throw",arg:F}}}r.wrap=u;var c={};function h(){}function d(){}function p(){}var v={};l(v,a,function(){return this});var m=Object.getPrototypeOf,g=m&&m(m(O([])));g&&g!==e&&t.call(g,a)&&(v=g);var x=p.prototype=h.prototype=Object.create(v);function b(I){["next","throw","return"].forEach(function(R){l(I,R,function(P){return this._invoke(R,P)})})}function S(I,R){function P(D,G,U,j){var H=f(I[D],I,G);if(H.type!=="throw"){var tt=H.arg,et=tt.value;return et&&Kae(et)=="object"&&t.call(et,"__await")?R.resolve(et.__await).then(function(ut){P("next",ut,U,j)},function(ut){P("throw",ut,U,j)}):R.resolve(et).then(function(ut){tt.value=ut,U(tt)},function(ut){return P("throw",ut,U,j)})}j(H.arg)}var F;n(this,"_invoke",{value:function(G,U){function j(){return new R(function(H,tt){P(G,U,H,tt)})}return F=F?F.then(j,j):j()}})}function C(I,R,P){var F="suspendedStart";return function(D,G){if(F==="executing")throw new Error("Generator is already running");if(F==="completed"){if(D==="throw")throw G;return M()}for(P.method=D,P.arg=G;;){var U=P.delegate;if(U){var j=w(U,P);if(j){if(j===c)continue;return j}}if(P.method==="next")P.sent=P._sent=P.arg;else if(P.method==="throw"){if(F==="suspendedStart")throw F="completed",P.arg;P.dispatchException(P.arg)}else P.method==="return"&&P.abrupt("return",P.arg);F="executing";var H=f(I,R,P);if(H.type==="normal"){if(F=P.done?"completed":"suspendedYield",H.arg===c)continue;return{value:H.arg,done:P.done}}H.type==="throw"&&(F="completed",P.method="throw",P.arg=H.arg)}}}function w(I,R){var P=R.method,F=I.iterator[P];if(F===void 0)return R.delegate=null,P==="throw"&&I.iterator.return&&(R.method="return",R.arg=void 0,w(I,R),R.method==="throw")||P!=="return"&&(R.method="throw",R.arg=new TypeError("The iterator does not provide a '"+P+"' method")),c;var D=f(F,I.iterator,R.arg);if(D.type==="throw")return R.method="throw",R.arg=D.arg,R.delegate=null,c;var G=D.arg;return G?G.done?(R[I.resultName]=G.value,R.next=I.nextLoc,R.method!=="return"&&(R.method="next",R.arg=void 0),R.delegate=null,c):G:(R.method="throw",R.arg=new TypeError("iterator result is not an object"),R.delegate=null,c)}function A(I){var R={tryLoc:I[0]};1 in I&&(R.catchLoc=I[1]),2 in I&&(R.finallyLoc=I[2],R.afterLoc=I[3]),this.tryEntries.push(R)}function L(I){var R=I.completion||{};R.type="normal",delete R.arg,I.completion=R}function k(I){this.tryEntries=[{tryLoc:"root"}],I.forEach(A,this),this.reset(!0)}function O(I){if(I){var R=I[a];if(R)return R.call(I);if(typeof I.next=="function")return I;if(!isNaN(I.length)){var P=-1,F=function D(){for(;++P=0;--D){var G=this.tryEntries[D],U=G.completion;if(G.tryLoc==="root")return F("end");if(G.tryLoc<=this.prev){var j=t.call(G,"catchLoc"),H=t.call(G,"finallyLoc");if(j&&H){if(this.prev=0;--F){var D=this.tryEntries[F];if(D.tryLoc<=this.prev&&t.call(D,"finallyLoc")&&this.prev=0;--P){var F=this.tryEntries[P];if(F.finallyLoc===R)return this.complete(F.completion,F.afterLoc),L(F),c}},catch:function(R){for(var P=this.tryEntries.length-1;P>=0;--P){var F=this.tryEntries[P];if(F.tryLoc===R){var D=F.completion;if(D.type==="throw"){var G=D.arg;L(F)}return G}}throw new Error("illegal catch attempt")},delegateYield:function(R,P,F){return this.delegate={iterator:O(R),resultName:P,nextLoc:F},this.method==="next"&&(this.arg=void 0),c}},r}Up.exports=ugt,Up.exports.__esModule=!0,Up.exports.default=Up.exports});var $a=ft((oTr,cgt)=>{var PR=fgt()();cgt.exports=PR;try{regeneratorRuntime=PR}catch(r){typeof globalThis=="object"?globalThis.regeneratorRuntime=PR:Function("r","regeneratorRuntime = r")(PR)}});var Lo=ft(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.NON_CUSTOM_TAG_KEYS=yi.POST_CONSTRUCT=yi.DESIGN_PARAM_TYPES=yi.PARAM_TYPES=yi.TAGGED_PROP=yi.TAGGED=yi.MULTI_INJECT_TAG=yi.INJECT_TAG=yi.OPTIONAL_TAG=yi.UNMANAGED_TAG=yi.NAME_TAG=yi.NAMED_TAG=void 0;yi.NAMED_TAG="named";yi.NAME_TAG="name";yi.UNMANAGED_TAG="unmanaged";yi.OPTIONAL_TAG="optional";yi.INJECT_TAG="inject";yi.MULTI_INJECT_TAG="multi_inject";yi.TAGGED="inversify:tagged";yi.TAGGED_PROP="inversify:tagged_props";yi.PARAM_TYPES="inversify:paramtypes";yi.DESIGN_PARAM_TYPES="design:paramtypes";yi.POST_CONSTRUCT="post_construct";function $ae(){return[yi.INJECT_TAG,yi.MULTI_INJECT_TAG,yi.NAME_TAG,yi.UNMANAGED_TAG,yi.NAMED_TAG,yi.OPTIONAL_TAG]}yi.NON_CUSTOM_TAG_KEYS=$ae()});var ed=ft(wg=>{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});wg.TargetTypeEnum=wg.BindingTypeEnum=wg.BindingScopeEnum=void 0;var Qae={Request:"Request",Singleton:"Singleton",Transient:"Transient"};wg.BindingScopeEnum=Qae;var Jae={ConstantValue:"ConstantValue",Constructor:"Constructor",DynamicValue:"DynamicValue",Factory:"Factory",Function:"Function",Instance:"Instance",Invalid:"Invalid",Provider:"Provider"};wg.BindingTypeEnum=Jae;var toe={ClassProperty:"ClassProperty",ConstructorArgument:"ConstructorArgument",Variable:"Variable"};wg.TargetTypeEnum=toe});var Eg=ft(kR=>{"use strict";Object.defineProperty(kR,"__esModule",{value:!0});kR.id=void 0;var eoe=0;function roe(){return eoe++}kR.id=roe});var vgt=ft(RR=>{"use strict";Object.defineProperty(RR,"__esModule",{value:!0});RR.Binding=void 0;var pgt=ed(),noe=Eg(),ioe=function(){function r(e,t){this.id=noe.id(),this.activated=!1,this.serviceIdentifier=e,this.scope=t,this.type=pgt.BindingTypeEnum.Invalid,this.constraint=function(n){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null,this.dynamicValue=null}return r.prototype.clone=function(){var e=new r(this.serviceIdentifier,this.scope);return e.activated=e.scope===pgt.BindingScopeEnum.Singleton?this.activated:!1,e.implementationType=this.implementationType,e.dynamicValue=this.dynamicValue,e.scope=this.scope,e.type=this.type,e.factory=this.factory,e.provider=this.provider,e.constraint=this.constraint,e.onActivation=this.onActivation,e.cache=this.cache,e},r}();RR.Binding=ioe});var Kl=ft(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.STACK_OVERFLOW=zr.CIRCULAR_DEPENDENCY_IN_FACTORY=zr.POST_CONSTRUCT_ERROR=zr.MULTIPLE_POST_CONSTRUCT_METHODS=zr.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK=zr.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE=zr.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE=zr.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT=zr.ARGUMENTS_LENGTH_MISMATCH=zr.INVALID_DECORATOR_OPERATION=zr.INVALID_TO_SELF_VALUE=zr.INVALID_FUNCTION_BINDING=zr.INVALID_MIDDLEWARE_RETURN=zr.NO_MORE_SNAPSHOTS_AVAILABLE=zr.INVALID_BINDING_TYPE=zr.NOT_IMPLEMENTED=zr.CIRCULAR_DEPENDENCY=zr.UNDEFINED_INJECT_ANNOTATION=zr.MISSING_INJECT_ANNOTATION=zr.MISSING_INJECTABLE_ANNOTATION=zr.NOT_REGISTERED=zr.CANNOT_UNBIND=zr.AMBIGUOUS_MATCH=zr.KEY_NOT_FOUND=zr.NULL_ARGUMENT=zr.DUPLICATED_METADATA=zr.DUPLICATED_INJECTABLE_DECORATOR=void 0;zr.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.";zr.DUPLICATED_METADATA="Metadata key was used more than once in a parameter:";zr.NULL_ARGUMENT="NULL argument";zr.KEY_NOT_FOUND="Key Not Found";zr.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:";zr.CANNOT_UNBIND="Could not unbind serviceIdentifier:";zr.NOT_REGISTERED="No matching bindings found for serviceIdentifier:";zr.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:";zr.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:";var aoe=function(r){return"@inject called with undefined this could mean that the class "+r+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation."};zr.UNDEFINED_INJECT_ANNOTATION=aoe;zr.CIRCULAR_DEPENDENCY="Circular dependency found:";zr.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.";zr.INVALID_BINDING_TYPE="Invalid binding type:";zr.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore.";zr.INVALID_MIDDLEWARE_RETURN="Invalid return type in middleware. Middleware must return!";zr.INVALID_FUNCTION_BINDING="Value provided to function binding must be a function!";zr.INVALID_TO_SELF_VALUE="The toSelf function can only be applied when a constructor is used as service identifier";zr.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.";var ooe=function(){for(var r=[],e=0;e= than the number of constructor arguments of its base class.")};zr.ARGUMENTS_LENGTH_MISMATCH=ooe;zr.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT="Invalid Container constructor argument. Container options must be an object.";zr.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE="Invalid Container option. Default scope must be a string ('singleton' or 'transient').";zr.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE="Invalid Container option. Auto bind injectable must be a boolean";zr.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK="Invalid Container option. Skip base check must be a boolean";zr.MULTIPLE_POST_CONSTRUCT_METHODS="Cannot apply @postConstruct decorator multiple times in the same class";var soe=function(){for(var r=[],e=0;e{"use strict";Object.defineProperty(NR,"__esModule",{value:!0});NR.MetadataReader=void 0;var SH=Lo(),uoe=function(){function r(){}return r.prototype.getConstructorMetadata=function(e){var t=Reflect.getMetadata(SH.PARAM_TYPES,e),n=Reflect.getMetadata(SH.TAGGED,e);return{compilerGeneratedMetadata:t,userGeneratedMetadata:n||{}}},r.prototype.getPropertiesMetadata=function(e){var t=Reflect.getMetadata(SH.TAGGED_PROP,e)||[];return t},r}();NR.MetadataReader=uoe});var mgt=ft(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.BindingCount=void 0;var foe={MultipleBindingsAvailable:2,NoBindingsAvailable:0,OnlyOneBindingAvailable:1};FR.BindingCount=foe});var wH=ft(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});BR.isStackOverflowExeption=void 0;var coe=Kl();function hoe(r){return r instanceof RangeError||r.message===coe.STACK_OVERFLOW}BR.isStackOverflowExeption=hoe});var tS=ft(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.circularDependencyToException=_f.listMetadataForTarget=_f.listRegisteredBindingsForServiceIdentifier=_f.getServiceIdentifierAsString=_f.getFunctionName=void 0;var doe=Kl();function ggt(r){if(typeof r=="function"){var e=r;return e.name}else{if(typeof r=="symbol")return r.toString();var e=r;return e}}_f.getServiceIdentifierAsString=ggt;function poe(r,e,t){var n="",i=t(r,e);return i.length!==0&&(n=` +Registered bindings:`,i.forEach(function(a){var o="Object";a.implementationType!==null&&(o=bgt(a.implementationType)),n=n+` + `+o,a.constraint.metaData&&(n=n+" - "+a.constraint.metaData)})),n}_f.listRegisteredBindingsForServiceIdentifier=poe;function ygt(r,e){return r.parentRequest===null?!1:r.parentRequest.serviceIdentifier===e?!0:ygt(r.parentRequest,e)}function voe(r){function e(n,i){i===void 0&&(i=[]);var a=ggt(n.serviceIdentifier);return i.push(a),n.parentRequest!==null?e(n.parentRequest,i):i}var t=e(r);return t.reverse().join(" --> ")}function xgt(r){r.childRequests.forEach(function(e){if(ygt(e,e.serviceIdentifier)){var t=voe(e);throw new Error(doe.CIRCULAR_DEPENDENCY+" "+t)}else xgt(e)})}_f.circularDependencyToException=xgt;function moe(r,e){if(e.isTagged()||e.isNamed()){var t="",n=e.getNamedTag(),i=e.getCustomTags();return n!==null&&(t+=n.toString()+` `),i!==null&&i.forEach(function(a){t+=a.toString()+` `})," "+r+` - `+r+" - "+t}else return" "+r}_f.listMetadataForTarget=qae;function ogt(r){if(r.name)return r.name;var e=r.toString(),t=e.match(/^function\s*([^\s(]+)/);return t?t[1]:"Anonymous function: "+e}_f.getFunctionName=ogt});var sgt=ft(kR=>{"use strict";Object.defineProperty(kR,"__esModule",{value:!0});kR.Context=void 0;var Kae=Cg(),Zae=function(){function r(e){this.id=Kae.id(),this.container=e}return r.prototype.addPlan=function(e){this.plan=e},r.prototype.setCurrentRequest=function(e){this.currentRequest=e},r}();kR.Context=Zae});var Sf=ft(RR=>{"use strict";Object.defineProperty(RR,"__esModule",{value:!0});RR.Metadata=void 0;var $ae=To(),Qae=function(){function r(e,t){this.key=e,this.value=t}return r.prototype.toString=function(){return this.key===$ae.NAMED_TAG?"named: "+this.value.toString()+" ":"tagged: { key:"+this.key.toString()+", value: "+this.value+" }"},r}();RR.Metadata=Qae});var lgt=ft(NR=>{"use strict";Object.defineProperty(NR,"__esModule",{value:!0});NR.Plan=void 0;var Jae=function(){function r(e,t){this.parentContext=e,this.rootRequest=t}return r}();NR.Plan=Jae});var jp=ft(wg=>{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});wg.tagProperty=wg.tagParameter=wg.decorate=void 0;var ugt=Kl(),fgt=To();function toe(r,e,t,n){var i=fgt.TAGGED;cgt(i,r,e,n,t)}wg.tagParameter=toe;function eoe(r,e,t){var n=fgt.TAGGED_PROP;cgt(n,r.constructor,e,t)}wg.tagProperty=eoe;function cgt(r,e,t,n,i){var a={},o=typeof i=="number",s=i!==void 0&&o?i.toString():t;if(o&&t!==void 0)throw new Error(ugt.INVALID_DECORATOR_OPERATION);Reflect.hasOwnMetadata(r,e)&&(a=Reflect.getMetadata(r,e));var l=a[s];if(!Array.isArray(l))l=[];else for(var u=0,f=l;u{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0});Q_.inject=Q_.LazyServiceIdentifer=void 0;var ioe=Kl(),aoe=To(),ooe=Sf(),dgt=jp(),soe=function(){function r(e){this._cb=e}return r.prototype.unwrap=function(){return this._cb()},r}();Q_.LazyServiceIdentifer=soe;function loe(r){return function(e,t,n){if(r===void 0)throw new Error(ioe.UNDEFINED_INJECT_ANNOTATION(e.name));var i=new ooe.Metadata(aoe.INJECT_TAG,r);typeof n=="number"?dgt.tagParameter(e,t,n,i):dgt.tagProperty(e,t,i)}}Q_.inject=loe});var pgt=ft(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});FR.QueryableString=void 0;var uoe=function(){function r(e){this.str=e}return r.prototype.startsWith=function(e){return this.str.indexOf(e)===0},r.prototype.endsWith=function(e){var t="",n=e.split("").reverse().join("");return t=this.str.split("").reverse().join(""),this.startsWith.call({str:t},n)},r.prototype.contains=function(e){return this.str.indexOf(e)!==-1},r.prototype.equals=function(e){return this.str===e},r.prototype.value=function(){return this.str},r}();FR.QueryableString=uoe});var bH=ft(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});BR.Target=void 0;var Wp=To(),foe=Cg(),vgt=Sf(),coe=pgt(),hoe=function(){function r(e,t,n,i){this.id=foe.id(),this.type=e,this.serviceIdentifier=n,this.name=new coe.QueryableString(t||""),this.metadata=new Array;var a=null;typeof i=="string"?a=new vgt.Metadata(Wp.NAMED_TAG,i):i instanceof vgt.Metadata&&(a=i),a!==null&&this.metadata.push(a)}return r.prototype.hasTag=function(e){for(var t=0,n=this.metadata;t{"use strict";var GR=rd&&rd.__spreadArray||function(r,e){for(var t=0,n=e.length,i=r.length;t0,f=l.length>t.length,c=u||f?l.length:t.length,h=moe(n,e,a,s,c),d=bgt(r,t),p=GR(GR([],h),d);return p}function voe(r,e,t,n,i){var a=i[r.toString()]||[],o=Sgt(a),s=o.unmanaged!==!0,l=n[r],u=o.inject||o.multiInject;if(l=u||l,l instanceof doe.LazyServiceIdentifer&&(l=l.unwrap()),s){var f=l===Object,c=l===Function,h=l===void 0,d=f||c||h;if(!e&&d){var p=mgt.MISSING_INJECT_ANNOTATION+" argument "+r+" in class "+t+".";throw new Error(p)}var v=new ygt.Target(ggt.TargetTypeEnum.ConstructorArgument,o.targetName,l);return v.metadata=a,v}return null}function moe(r,e,t,n,i){for(var a=[],o=0;o0?s:_gt(r,t)}else return 0}rd.getBaseClassDependencyCount=_gt;function Sgt(r){var e={};return r.forEach(function(t){e[t.key.toString()]=t.value}),{inject:e[AM.INJECT_TAG],multiInject:e[AM.MULTI_INJECT_TAG],targetName:e[AM.NAME_TAG],unmanaged:e[AM.UNMANAGED_TAG]}}});var wgt=ft(zR=>{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.Request=void 0;var goe=Cg(),yoe=function(){function r(e,t,n,i,a){this.id=goe.id(),this.serviceIdentifier=e,this.parentContext=t,this.parentRequest=n,this.target=a,this.childRequests=[],this.bindings=Array.isArray(i)?i:[i],this.requestScope=n===null?new Map:null}return r.prototype.addChildRequest=function(e,t,n){var i=new r(e,this.parentContext,this,t,n);return this.childRequests.push(i),i},r}();zR.Request=yoe});var Dgt=ft(Eg=>{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.getBindingDictionary=Eg.createMockRequest=Eg.plan=void 0;var UR=rgt(),SH=Kl(),Egt=ed(),Agt=To(),xoe=yH(),J_=$_(),Mgt=sgt(),CH=Sf(),boe=lgt(),wH=Cgt(),EH=wgt(),Tgt=bH();function Igt(r){return r._bindingDictionary}Eg.getBindingDictionary=Igt;function _oe(r,e,t,n,i,a){var o=r?Agt.MULTI_INJECT_TAG:Agt.INJECT_TAG,s=new CH.Metadata(o,t),l=new Tgt.Target(e,n,t,s);if(i!==void 0){var u=new CH.Metadata(i,a);l.metadata.push(u)}return l}function Lgt(r,e,t,n,i){var a=MM(t.container,i.serviceIdentifier),o=[];return a.length===UR.BindingCount.NoBindingsAvailable&&t.container.options.autoBindInjectable&&typeof i.serviceIdentifier=="function"&&r.getConstructorMetadata(i.serviceIdentifier).compilerGeneratedMetadata&&(t.container.bind(i.serviceIdentifier).toSelf(),a=MM(t.container,i.serviceIdentifier)),e?o=a:o=a.filter(function(s){var l=new EH.Request(s.serviceIdentifier,t,n,s,i);return s.constraint(l)}),Soe(i.serviceIdentifier,o,i,t.container),o}function Soe(r,e,t,n){switch(e.length){case UR.BindingCount.NoBindingsAvailable:if(t.isOptional())return e;var i=J_.getServiceIdentifierAsString(r),a=SH.NOT_REGISTERED;throw a+=J_.listMetadataForTarget(i,t),a+=J_.listRegisteredBindingsForServiceIdentifier(n,i,MM),new Error(a);case UR.BindingCount.OnlyOneBindingAvailable:if(!t.isArray())return e;case UR.BindingCount.MultipleBindingsAvailable:default:if(t.isArray())return e;var i=J_.getServiceIdentifierAsString(r),a=SH.AMBIGUOUS_MATCH+" "+i;throw a+=J_.listRegisteredBindingsForServiceIdentifier(n,i,MM),new Error(a)}}function Ogt(r,e,t,n,i,a){var o,s;if(i===null){o=Lgt(r,e,n,null,a),s=new EH.Request(t,n,null,o,a);var l=new boe.Plan(n,s);n.addPlan(l)}else o=Lgt(r,e,n,i,a),s=i.addChildRequest(a.serviceIdentifier,o,a);o.forEach(function(u){var f=null;if(a.isArray())f=s.addChildRequest(u.serviceIdentifier,u,a);else{if(u.cache)return;f=s}if(u.type===Egt.BindingTypeEnum.Instance&&u.implementationType!==null){var c=wH.getDependencies(r,u.implementationType);if(!n.container.options.skipBaseClassChecks){var h=wH.getBaseClassDependencyCount(r,u.implementationType);if(c.length{"use strict";var Eoe=tS&&tS.__spreadArray||function(r,e){for(var t=0,n=e.length,i=r.length;t0){var i=e.filter(function(o){return o.target!==null&&o.target.type===Pgt.TargetTypeEnum.ConstructorArgument}),a=i.map(t);n=Toe(r,a),n=Moe(n,e,t)}else n=new r;return Ioe(r,n),n}tS.resolveInstance=Loe});var Fgt=ft(jR=>{"use strict";Object.defineProperty(jR,"__esModule",{value:!0});jR.resolve=void 0;var Ngt=Kl(),Vp=ed(),Ooe=yH(),Doe=$_(),Poe=Rgt(),AH=function(r,e,t){try{return t()}catch(n){throw Ooe.isStackOverflowExeption(n)?new Error(Ngt.CIRCULAR_DEPENDENCY_IN_FACTORY(r,e.toString())):n}},MH=function(r){return function(e){e.parentContext.setCurrentRequest(e);var t=e.bindings,n=e.childRequests,i=e.target&&e.target.isArray(),a=!e.parentRequest||!e.parentRequest.target||!e.target||!e.parentRequest.target.matchesArray(e.target.serviceIdentifier);if(i&&a)return n.map(function(c){var h=MH(r);return h(c)});var o=null;if(e.target.isOptional()&&t.length===0)return;var s=t[0],l=s.scope===Vp.BindingScopeEnum.Singleton,u=s.scope===Vp.BindingScopeEnum.Request;if(l&&s.activated)return s.cache;if(u&&r!==null&&r.has(s.id))return r.get(s.id);if(s.type===Vp.BindingTypeEnum.ConstantValue)o=s.cache,s.activated=!0;else if(s.type===Vp.BindingTypeEnum.Function)o=s.cache,s.activated=!0;else if(s.type===Vp.BindingTypeEnum.Constructor)o=s.implementationType;else if(s.type===Vp.BindingTypeEnum.DynamicValue&&s.dynamicValue!==null)o=AH("toDynamicValue",s.serviceIdentifier,function(){return s.dynamicValue(e.parentContext)});else if(s.type===Vp.BindingTypeEnum.Factory&&s.factory!==null)o=AH("toFactory",s.serviceIdentifier,function(){return s.factory(e.parentContext)});else if(s.type===Vp.BindingTypeEnum.Provider&&s.provider!==null)o=AH("toProvider",s.serviceIdentifier,function(){return s.provider(e.parentContext)});else if(s.type===Vp.BindingTypeEnum.Instance&&s.implementationType!==null)o=Poe.resolveInstance(s.implementationType,n,MH(r));else{var f=Doe.getServiceIdentifierAsString(e.serviceIdentifier);throw new Error(Ngt.INVALID_BINDING_TYPE+" "+f)}return typeof s.onActivation=="function"&&(o=s.onActivation(e.parentContext,o)),l&&(s.cache=o,s.activated=!0),u&&r!==null&&!r.has(s.id)&&r.set(s.id,o),o}};function koe(r){var e=MH(r.plan.rootRequest.requestScope);return e(r.plan.rootRequest)}jR.resolve=koe});var TH=ft(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.typeConstraint=nd.namedConstraint=nd.taggedConstraint=nd.traverseAncerstors=void 0;var Roe=To(),Noe=Sf(),Bgt=function(r,e){var t=r.parentRequest;return t!==null?e(t)?!0:Bgt(t,e):!1};nd.traverseAncerstors=Bgt;var Ggt=function(r){return function(e){var t=function(n){return n!==null&&n.target!==null&&n.target.matchesTag(r)(e)};return t.metaData=new Noe.Metadata(r,e),t}};nd.taggedConstraint=Ggt;var Foe=Ggt(Roe.NAMED_TAG);nd.namedConstraint=Foe;var Boe=function(r){return function(e){var t=null;if(e!==null)if(t=e.bindings[0],typeof r=="string"){var n=t.serviceIdentifier;return n===r}else{var i=e.bindings[0].implementationType;return r===i}return!1}};nd.typeConstraint=Boe});var VR=ft(WR=>{"use strict";Object.defineProperty(WR,"__esModule",{value:!0});WR.BindingWhenSyntax=void 0;var nl=HR(),Io=TH(),Goe=function(){function r(e){this._binding=e}return r.prototype.when=function(e){return this._binding.constraint=e,new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetNamed=function(e){return this._binding.constraint=Io.namedConstraint(e),new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetIsDefault=function(){return this._binding.constraint=function(e){var t=e.target!==null&&!e.target.isNamed()&&!e.target.isTagged();return t},new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetTagged=function(e,t){return this._binding.constraint=Io.taggedConstraint(e)(t),new nl.BindingOnSyntax(this._binding)},r.prototype.whenInjectedInto=function(e){return this._binding.constraint=function(t){return Io.typeConstraint(e)(t.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenParentNamed=function(e){return this._binding.constraint=function(t){return Io.namedConstraint(e)(t.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenParentTagged=function(e,t){return this._binding.constraint=function(n){return Io.taggedConstraint(e)(t)(n.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorIs=function(e){return this._binding.constraint=function(t){return Io.traverseAncerstors(t,Io.typeConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorIs=function(e){return this._binding.constraint=function(t){return!Io.traverseAncerstors(t,Io.typeConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorNamed=function(e){return this._binding.constraint=function(t){return Io.traverseAncerstors(t,Io.namedConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorNamed=function(e){return this._binding.constraint=function(t){return!Io.traverseAncerstors(t,Io.namedConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._binding.constraint=function(n){return Io.traverseAncerstors(n,Io.taggedConstraint(e)(t))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorTagged=function(e,t){return this._binding.constraint=function(n){return!Io.traverseAncerstors(n,Io.taggedConstraint(e)(t))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorMatches=function(e){return this._binding.constraint=function(t){return Io.traverseAncerstors(t,e)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorMatches=function(e){return this._binding.constraint=function(t){return!Io.traverseAncerstors(t,e)},new nl.BindingOnSyntax(this._binding)},r}();WR.BindingWhenSyntax=Goe});var HR=ft(YR=>{"use strict";Object.defineProperty(YR,"__esModule",{value:!0});YR.BindingOnSyntax=void 0;var zoe=VR(),Uoe=function(){function r(e){this._binding=e}return r.prototype.onActivation=function(e){return this._binding.onActivation=e,new zoe.BindingWhenSyntax(this._binding)},r}();YR.BindingOnSyntax=Uoe});var IH=ft(XR=>{"use strict";Object.defineProperty(XR,"__esModule",{value:!0});XR.BindingWhenOnSyntax=void 0;var joe=HR(),Woe=VR(),Voe=function(){function r(e){this._binding=e,this._bindingWhenSyntax=new Woe.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new joe.BindingOnSyntax(this._binding)}return r.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},r.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},r.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},r.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},r.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},r.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},r.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},r.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},r.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},r.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},r.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},r.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},r.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},r.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},r.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},r}();XR.BindingWhenOnSyntax=Voe});var zgt=ft(qR=>{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.BindingInSyntax=void 0;var LH=ed(),OH=IH(),Hoe=function(){function r(e){this._binding=e}return r.prototype.inRequestScope=function(){return this._binding.scope=LH.BindingScopeEnum.Request,new OH.BindingWhenOnSyntax(this._binding)},r.prototype.inSingletonScope=function(){return this._binding.scope=LH.BindingScopeEnum.Singleton,new OH.BindingWhenOnSyntax(this._binding)},r.prototype.inTransientScope=function(){return this._binding.scope=LH.BindingScopeEnum.Transient,new OH.BindingWhenOnSyntax(this._binding)},r}();qR.BindingInSyntax=Hoe});var Ugt=ft(KR=>{"use strict";Object.defineProperty(KR,"__esModule",{value:!0});KR.BindingInWhenOnSyntax=void 0;var Yoe=zgt(),Xoe=HR(),qoe=VR(),Koe=function(){function r(e){this._binding=e,this._bindingWhenSyntax=new qoe.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new Xoe.BindingOnSyntax(this._binding),this._bindingInSyntax=new Yoe.BindingInSyntax(e)}return r.prototype.inRequestScope=function(){return this._bindingInSyntax.inRequestScope()},r.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},r.prototype.inTransientScope=function(){return this._bindingInSyntax.inTransientScope()},r.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},r.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},r.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},r.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},r.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},r.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},r.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},r.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},r.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},r.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},r.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},r.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},r.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},r.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},r.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},r}();KR.BindingInWhenOnSyntax=Koe});var Vgt=ft(ZR=>{"use strict";Object.defineProperty(ZR,"__esModule",{value:!0});ZR.BindingToSyntax=void 0;var jgt=Kl(),Zl=ed(),Wgt=Ugt(),TM=IH(),Zoe=function(){function r(e){this._binding=e}return r.prototype.to=function(e){return this._binding.type=Zl.BindingTypeEnum.Instance,this._binding.implementationType=e,new Wgt.BindingInWhenOnSyntax(this._binding)},r.prototype.toSelf=function(){if(typeof this._binding.serviceIdentifier!="function")throw new Error(""+jgt.INVALID_TO_SELF_VALUE);var e=this._binding.serviceIdentifier;return this.to(e)},r.prototype.toConstantValue=function(e){return this._binding.type=Zl.BindingTypeEnum.ConstantValue,this._binding.cache=e,this._binding.dynamicValue=null,this._binding.implementationType=null,this._binding.scope=Zl.BindingScopeEnum.Singleton,new TM.BindingWhenOnSyntax(this._binding)},r.prototype.toDynamicValue=function(e){return this._binding.type=Zl.BindingTypeEnum.DynamicValue,this._binding.cache=null,this._binding.dynamicValue=e,this._binding.implementationType=null,new Wgt.BindingInWhenOnSyntax(this._binding)},r.prototype.toConstructor=function(e){return this._binding.type=Zl.BindingTypeEnum.Constructor,this._binding.implementationType=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new TM.BindingWhenOnSyntax(this._binding)},r.prototype.toFactory=function(e){return this._binding.type=Zl.BindingTypeEnum.Factory,this._binding.factory=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new TM.BindingWhenOnSyntax(this._binding)},r.prototype.toFunction=function(e){if(typeof e!="function")throw new Error(jgt.INVALID_FUNCTION_BINDING);var t=this.toConstantValue(e);return this._binding.type=Zl.BindingTypeEnum.Function,this._binding.scope=Zl.BindingScopeEnum.Singleton,t},r.prototype.toAutoFactory=function(e){return this._binding.type=Zl.BindingTypeEnum.Factory,this._binding.factory=function(t){var n=function(){return t.container.get(e)};return n},this._binding.scope=Zl.BindingScopeEnum.Singleton,new TM.BindingWhenOnSyntax(this._binding)},r.prototype.toProvider=function(e){return this._binding.type=Zl.BindingTypeEnum.Provider,this._binding.provider=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new TM.BindingWhenOnSyntax(this._binding)},r.prototype.toService=function(e){this.toDynamicValue(function(t){return t.container.get(e)})},r}();ZR.BindingToSyntax=Zoe});var Hgt=ft($R=>{"use strict";Object.defineProperty($R,"__esModule",{value:!0});$R.ContainerSnapshot=void 0;var $oe=function(){function r(){}return r.of=function(e,t){var n=new r;return n.bindings=e,n.middleware=t,n},r}();$R.ContainerSnapshot=$oe});var Ygt=ft(QR=>{"use strict";Object.defineProperty(QR,"__esModule",{value:!0});QR.Lookup=void 0;var X0=Kl(),Qoe=function(){function r(){this._map=new Map}return r.prototype.getMap=function(){return this._map},r.prototype.add=function(e,t){if(e==null)throw new Error(X0.NULL_ARGUMENT);if(t==null)throw new Error(X0.NULL_ARGUMENT);var n=this._map.get(e);n!==void 0?(n.push(t),this._map.set(e,n)):this._map.set(e,[t])},r.prototype.get=function(e){if(e==null)throw new Error(X0.NULL_ARGUMENT);var t=this._map.get(e);if(t!==void 0)return t;throw new Error(X0.KEY_NOT_FOUND)},r.prototype.remove=function(e){if(e==null)throw new Error(X0.NULL_ARGUMENT);if(!this._map.delete(e))throw new Error(X0.KEY_NOT_FOUND)},r.prototype.removeByCondition=function(e){var t=this;this._map.forEach(function(n,i){var a=n.filter(function(o){return!e(o)});a.length>0?t._map.set(i,a):t._map.delete(i)})},r.prototype.hasKey=function(e){if(e==null)throw new Error(X0.NULL_ARGUMENT);return this._map.has(e)},r.prototype.clone=function(){var e=new r;return this._map.forEach(function(t,n){t.forEach(function(i){return e.add(n,i.clone())})}),e},r.prototype.traverse=function(e){this._map.forEach(function(t,n){e(n,t)})},r}();QR.Lookup=Qoe});var qgt=ft(id=>{"use strict";var Joe=id&&id.__awaiter||function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},tse=id&&id.__generator||function(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(f){return l([u,f])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]{"use strict";Object.defineProperty(eS,"__esModule",{value:!0});eS.AsyncContainerModule=eS.ContainerModule=void 0;var Kgt=Cg(),fse=function(){function r(e){this.id=Kgt.id(),this.registry=e}return r}();eS.ContainerModule=fse;var cse=function(){function r(e){this.id=Kgt.id(),this.registry=e}return r}();eS.AsyncContainerModule=cse});var $gt=ft(tN=>{"use strict";Object.defineProperty(tN,"__esModule",{value:!0});tN.injectable=void 0;var hse=Kl(),PH=To();function dse(){return function(r){if(Reflect.hasOwnMetadata(PH.PARAM_TYPES,r))throw new Error(hse.DUPLICATED_INJECTABLE_DECORATOR);var e=Reflect.getMetadata(PH.DESIGN_PARAM_TYPES,r)||[];return Reflect.defineMetadata(PH.PARAM_TYPES,e,r),r}}tN.injectable=dse});var Jgt=ft(eN=>{"use strict";Object.defineProperty(eN,"__esModule",{value:!0});eN.tagged=void 0;var pse=Sf(),Qgt=jp();function vse(r,e){return function(t,n,i){var a=new pse.Metadata(r,e);typeof i=="number"?Qgt.tagParameter(t,n,i,a):Qgt.tagProperty(t,n,a)}}eN.tagged=vse});var eyt=ft(rN=>{"use strict";Object.defineProperty(rN,"__esModule",{value:!0});rN.named=void 0;var mse=To(),gse=Sf(),tyt=jp();function yse(r){return function(e,t,n){var i=new gse.Metadata(mse.NAMED_TAG,r);typeof n=="number"?tyt.tagParameter(e,t,n,i):tyt.tagProperty(e,t,i)}}rN.named=yse});var nyt=ft(nN=>{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.optional=void 0;var xse=To(),bse=Sf(),ryt=jp();function _se(){return function(r,e,t){var n=new bse.Metadata(xse.OPTIONAL_TAG,!0);typeof t=="number"?ryt.tagParameter(r,e,t,n):ryt.tagProperty(r,e,n)}}nN.optional=_se});var iyt=ft(iN=>{"use strict";Object.defineProperty(iN,"__esModule",{value:!0});iN.unmanaged=void 0;var Sse=To(),Cse=Sf(),wse=jp();function Ese(){return function(r,e,t){var n=new Cse.Metadata(Sse.UNMANAGED_TAG,!0);wse.tagParameter(r,e,t,n)}}iN.unmanaged=Ese});var oyt=ft(aN=>{"use strict";Object.defineProperty(aN,"__esModule",{value:!0});aN.multiInject=void 0;var Ase=To(),Mse=Sf(),ayt=jp();function Tse(r){return function(e,t,n){var i=new Mse.Metadata(Ase.MULTI_INJECT_TAG,r);typeof n=="number"?ayt.tagParameter(e,t,n,i):ayt.tagProperty(e,t,i)}}aN.multiInject=Tse});var syt=ft(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0});oN.targetName=void 0;var Ise=To(),Lse=Sf(),Ose=jp();function Dse(r){return function(e,t,n){var i=new Lse.Metadata(Ise.NAME_TAG,r);Ose.tagParameter(e,t,n,i)}}oN.targetName=Dse});var lyt=ft(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.postConstruct=void 0;var Pse=Kl(),kH=To(),kse=Sf();function Rse(){return function(r,e,t){var n=new kse.Metadata(kH.POST_CONSTRUCT,e);if(Reflect.hasOwnMetadata(kH.POST_CONSTRUCT,r.constructor))throw new Error(Pse.MULTIPLE_POST_CONSTRUCT_METHODS);Reflect.defineMetadata(kH.POST_CONSTRUCT,n,r.constructor)}}sN.postConstruct=Rse});var uyt=ft(lN=>{"use strict";Object.defineProperty(lN,"__esModule",{value:!0});lN.multiBindToService=void 0;var Nse=function(r){return function(e){return function(){for(var t=[],n=0;n{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.multiBindToService=Wr.getServiceIdentifierAsString=Wr.typeConstraint=Wr.namedConstraint=Wr.taggedConstraint=Wr.traverseAncerstors=Wr.decorate=Wr.id=Wr.MetadataReader=Wr.postConstruct=Wr.targetName=Wr.multiInject=Wr.unmanaged=Wr.optional=Wr.LazyServiceIdentifer=Wr.inject=Wr.named=Wr.tagged=Wr.injectable=Wr.ContainerModule=Wr.AsyncContainerModule=Wr.TargetTypeEnum=Wr.BindingTypeEnum=Wr.BindingScopeEnum=Wr.Container=Wr.METADATA_KEY=void 0;var Fse=To();Wr.METADATA_KEY=Fse;var Bse=qgt();Object.defineProperty(Wr,"Container",{enumerable:!0,get:function(){return Bse.Container}});var RH=ed();Object.defineProperty(Wr,"BindingScopeEnum",{enumerable:!0,get:function(){return RH.BindingScopeEnum}});Object.defineProperty(Wr,"BindingTypeEnum",{enumerable:!0,get:function(){return RH.BindingTypeEnum}});Object.defineProperty(Wr,"TargetTypeEnum",{enumerable:!0,get:function(){return RH.TargetTypeEnum}});var fyt=Zgt();Object.defineProperty(Wr,"AsyncContainerModule",{enumerable:!0,get:function(){return fyt.AsyncContainerModule}});Object.defineProperty(Wr,"ContainerModule",{enumerable:!0,get:function(){return fyt.ContainerModule}});var Gse=$gt();Object.defineProperty(Wr,"injectable",{enumerable:!0,get:function(){return Gse.injectable}});var zse=Jgt();Object.defineProperty(Wr,"tagged",{enumerable:!0,get:function(){return zse.tagged}});var Use=eyt();Object.defineProperty(Wr,"named",{enumerable:!0,get:function(){return Use.named}});var cyt=xH();Object.defineProperty(Wr,"inject",{enumerable:!0,get:function(){return cyt.inject}});Object.defineProperty(Wr,"LazyServiceIdentifer",{enumerable:!0,get:function(){return cyt.LazyServiceIdentifer}});var jse=nyt();Object.defineProperty(Wr,"optional",{enumerable:!0,get:function(){return jse.optional}});var Wse=iyt();Object.defineProperty(Wr,"unmanaged",{enumerable:!0,get:function(){return Wse.unmanaged}});var Vse=oyt();Object.defineProperty(Wr,"multiInject",{enumerable:!0,get:function(){return Vse.multiInject}});var Hse=syt();Object.defineProperty(Wr,"targetName",{enumerable:!0,get:function(){return Hse.targetName}});var Yse=lyt();Object.defineProperty(Wr,"postConstruct",{enumerable:!0,get:function(){return Yse.postConstruct}});var Xse=gH();Object.defineProperty(Wr,"MetadataReader",{enumerable:!0,get:function(){return Xse.MetadataReader}});var qse=Cg();Object.defineProperty(Wr,"id",{enumerable:!0,get:function(){return qse.id}});var Kse=jp();Object.defineProperty(Wr,"decorate",{enumerable:!0,get:function(){return Kse.decorate}});var uN=TH();Object.defineProperty(Wr,"traverseAncerstors",{enumerable:!0,get:function(){return uN.traverseAncerstors}});Object.defineProperty(Wr,"taggedConstraint",{enumerable:!0,get:function(){return uN.taggedConstraint}});Object.defineProperty(Wr,"namedConstraint",{enumerable:!0,get:function(){return uN.namedConstraint}});Object.defineProperty(Wr,"typeConstraint",{enumerable:!0,get:function(){return uN.typeConstraint}});var Zse=$_();Object.defineProperty(Wr,"getServiceIdentifierAsString",{enumerable:!0,get:function(){return Zse.getServiceIdentifierAsString}});var $se=uyt();Object.defineProperty(Wr,"multiBindToService",{enumerable:!0,get:function(){return $se.multiBindToService}})});var Sxt=ft(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});var kM=Symbol.for("INJECTION");function vN(r,e,t,n){function i(){return n&&!Reflect.hasMetadata(kM,this,e)&&Reflect.defineMetadata(kM,t(),this,e),Reflect.hasMetadata(kM,this,e)?Reflect.getMetadata(kM,this,e):t()}function a(o){Reflect.defineMetadata(kM,o,this,e)}Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:i,set:a})}function Zle(r,e){return function(t){return function(n,i){var a=function(){return r.get(t)};vN(n,i,a,e)}}}uS.makePropertyInjectDecorator=Zle;function $le(r,e){return function(t,n){return function(i,a){var o=function(){return r.getNamed(t,n)};vN(i,a,o,e)}}}uS.makePropertyInjectNamedDecorator=$le;function Qle(r,e){return function(t,n,i){return function(a,o){var s=function(){return r.getTagged(t,n,i)};vN(a,o,s,e)}}}uS.makePropertyInjectTaggedDecorator=Qle;function Jle(r,e){return function(t){return function(n,i){var a=function(){return r.getAll(t)};vN(n,i,a,e)}}}uS.makePropertyMultiInjectDecorator=Jle});var Cxt=ft(oY=>{"use strict";Object.defineProperty(oY,"__esModule",{value:!0});var mN=Sxt();function tue(r,e){e===void 0&&(e=!0);var t=mN.makePropertyInjectDecorator(r,e),n=mN.makePropertyInjectNamedDecorator(r,e),i=mN.makePropertyInjectTaggedDecorator(r,e),a=mN.makePropertyMultiInjectDecorator(r,e);return{lazyInject:t,lazyInjectNamed:n,lazyInjectTagged:i,lazyMultiInject:a}}oY.default=tue});var Ac=ft(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});var cue;(function(r){r.TextureCompressionBC="texture-compression-bc"})(cue=kr.ExtensionName||(kr.ExtensionName={}));var hue;(function(r){r.ClampToEdge="clamp-to-edge",r.Repeat="repeat",r.MirrorRepeat="mirror-repeat"})(hue=kr.AddressMode||(kr.AddressMode={}));var due;(function(r){r.UniformBuffer="uniform-buffer",r.StorageBuffer="storage-buffer",r.ReadonlyStorageBuffer="readonly-storage-buffer",r.Sampler="sampler",r.ComparisonSampler="comparison-sampler",r.SampledTexture="sampled-texture",r.ReadonlyStorageTexture="readonly-storage-texture",r.WriteonlyStorageTexture="writeonly-storage-texture"})(due=kr.BindingType||(kr.BindingType={}));var pue;(function(r){r.Zero="zero",r.One="one",r.SrcColor="src-color",r.OneMinusSrcColor="one-minus-src-color",r.SrcAlpha="src-alpha",r.OneMinusSrcAlpha="one-minus-src-alpha",r.DstColor="dst-color",r.OneMinusDstColor="one-minus-dst-color",r.DstAlpha="dst-alpha",r.OneMinusDstAlpha="one-minus-dst-alpha",r.SrcAlphaSaturated="src-alpha-saturated",r.BlendColor="blend-color",r.OneMinusBlendColor="one-minus-blend-color"})(pue=kr.BlendFactor||(kr.BlendFactor={}));var vue;(function(r){r.Add="add",r.Subtract="subtract",r.ReverseSubtract="reverse-subtract",r.Min="min",r.Max="max"})(vue=kr.BlendOperation||(kr.BlendOperation={}));var mue;(function(r){r.Never="never",r.Less="less",r.Equal="equal",r.LessEqual="less-equal",r.Greater="greater",r.NotEqual="not-equal",r.GreaterEqual="greater-equal",r.Always="always"})(mue=kr.CompareFunction||(kr.CompareFunction={}));var gue;(function(r){r.None="none",r.Front="front",r.Back="back"})(gue=kr.CullMode||(kr.CullMode={}));var yue;(function(r){r.Nearest="nearest",r.Linear="linear"})(yue=kr.FilterMode||(kr.FilterMode={}));var xue;(function(r){r.CCW="ccw",r.CW="cw"})(xue=kr.FrontFace||(kr.FrontFace={}));var bue;(function(r){r.Uint16="uint16",r.Uint32="uint32"})(bue=kr.IndexFormat||(kr.IndexFormat={}));var _ue;(function(r){r.Vertex="vertex",r.Instance="instance"})(_ue=kr.InputStepMode||(kr.InputStepMode={}));var Sue;(function(r){r.Load="load"})(Sue=kr.LoadOp||(kr.LoadOp={}));var Cue;(function(r){r.PointList="point-list",r.LineList="line-list",r.LineStrip="line-strip",r.TriangleList="triangle-list",r.TriangleStrip="triangle-strip"})(Cue=kr.PrimitiveTopology||(kr.PrimitiveTopology={}));var wue;(function(r){r.Keep="keep",r.Zero="zero",r.Replace="replace",r.Invert="invert",r.IncrementClamp="increment-clamp",r.DecrementClamp="decrement-clamp",r.IncrementWrap="increment-wrap",r.DecrementWrap="decrement-wrap"})(wue=kr.StencilOperation||(kr.StencilOperation={}));var Eue;(function(r){r.Store="store",r.Clear="clear"})(Eue=kr.StoreOp||(kr.StoreOp={}));var Aue;(function(r){r.E1d="1d",r.E2d="2d",r.E3d="3d"})(Aue=kr.TextureDimension||(kr.TextureDimension={}));var Mue;(function(r){r.R8Unorm="r8unorm",r.R8Snorm="r8snorm",r.R8Uint="r8uint",r.R8Sint="r8sint",r.R16Uint="r16uint",r.R16Sint="r16sint",r.R16Float="r16float",r.RG8Unorm="rg8unorm",r.RG8Snorm="rg8snorm",r.RG8Uint="rg8uint",r.RG8Sint="rg8sint",r.R32Uint="r32uint",r.R32Sint="r32sint",r.R32Float="r32float",r.RG16Uint="rg16uint",r.RG16Sint="rg16sint",r.RG16Float="rg16float",r.RGBA8Unorm="rgba8unorm",r.RGBA8UnormSRGB="rgba8unorm-srgb",r.RGBA8Snorm="rgba8snorm",r.RGBA8Uint="rgba8uint",r.RGBA8Sint="rgba8sint",r.BGRA8Unorm="bgra8unorm",r.BGRA8UnormSRGB="bgra8unorm-srgb",r.RGB10A2Unorm="rgb10a2unorm",r.RG11B10Float="rg11b10float",r.RG32Uint="rg32uint",r.RG32Sint="rg32sint",r.RG32Float="rg32float",r.RGBA16Uint="rgba16uint",r.RGBA16Sint="rgba16sint",r.RGBA16Float="rgba16float",r.RGBA32Uint="rgba32uint",r.RGBA32Sint="rgba32sint",r.RGBA32Float="rgba32float",r.Depth32Float="depth32float",r.Depth24Plus="depth24plus",r.Depth24PlusStencil8="depth24plus-stencil8"})(Mue=kr.TextureFormat||(kr.TextureFormat={}));var Tue;(function(r){r.Float="float",r.Sint="sint",r.Uint="uint"})(Tue=kr.TextureComponentType||(kr.TextureComponentType={}));var Iue;(function(r){r.E1d="1d",r.E2d="2d",r.E2dArray="2d-array",r.Cube="cube",r.CubeArray="cube-array",r.E3d="3d"})(Iue=kr.TextureViewDimension||(kr.TextureViewDimension={}));var Lue;(function(r){r.Uchar2="uchar2",r.Uchar4="uchar4",r.Char2="char2",r.Char4="char4",r.Uchar2Norm="uchar2norm",r.Uchar4Norm="uchar4norm",r.Char2Norm="char2norm",r.Char4Norm="char4norm",r.Ushort2="ushort2",r.Ushort4="ushort4",r.Short2="short2",r.Short4="short4",r.Ushort2Norm="ushort2norm",r.Ushort4Norm="ushort4norm",r.Short2Norm="short2norm",r.Short4Norm="short4norm",r.Half2="half2",r.Half4="half4",r.Float="float",r.Float2="float2",r.Float3="float3",r.Float4="float4",r.Uint="uint",r.Uint2="uint2",r.Uint3="uint3",r.Uint4="uint4",r.Int="int",r.Int2="int2",r.Int3="int3",r.Int4="int4"})(Lue=kr.VertexFormat||(kr.VertexFormat={}));var Oue;(function(r){r.All="all",r.StencilOnly="stencil-only",r.DepthOnly="depth-only"})(Oue=kr.TextureAspect||(kr.TextureAspect={}));var Due;(function(r){r.Error="error",r.Warning="warning",r.Info="info"})(Due=kr.CompilationMessageType||(kr.CompilationMessageType={}));var Pue;(function(r){r.Occlusion="occlusion"})(Pue=kr.QueryType||(kr.QueryType={}));var kue;(function(r){r[r.MapRead=1]="MapRead",r[r.MapWrite=2]="MapWrite",r[r.CopySrc=4]="CopySrc",r[r.CopyDst=8]="CopyDst",r[r.Index=16]="Index",r[r.Vertex=32]="Vertex",r[r.Uniform=64]="Uniform",r[r.Storage=128]="Storage",r[r.Indirect=256]="Indirect",r[r.QueryResolve=512]="QueryResolve"})(kue=kr.BufferUsage||(kr.BufferUsage={}));var Rue;(function(r){r[r.Red=1]="Red",r[r.Green=2]="Green",r[r.Blue=4]="Blue",r[r.Alpha=8]="Alpha",r[r.All=15]="All"})(Rue=kr.ColorWrite||(kr.ColorWrite={}));var Nue;(function(r){r[r.Vertex=1]="Vertex",r[r.Fragment=2]="Fragment",r[r.Compute=4]="Compute"})(Nue=kr.ShaderStage||(kr.ShaderStage={}));var Fue;(function(r){r[r.CopySrc=1]="CopySrc",r[r.CopyDst=2]="CopyDst",r[r.Sampled=4]="Sampled",r[r.Storage=8]="Storage",r[r.OutputAttachment=16]="OutputAttachment"})(Fue=kr.TextureUsage||(kr.TextureUsage={}));var Bue;(function(r){r[r.Read=1]="Read",r[r.Write=2]="Write"})(Bue=kr.MapMode||(kr.MapMode={}))});var Gbt=ft((vY,mY)=>{(function(r,e){typeof vY=="object"&&typeof mY!="undefined"?mY.exports=e():typeof define=="function"&&define.amd?define(e):r.createREGL=e()})(vY,function(){"use strict";var r=function(B){return B instanceof Uint8Array||B instanceof Uint16Array||B instanceof Uint32Array||B instanceof Int8Array||B instanceof Int16Array||B instanceof Int32Array||B instanceof Float32Array||B instanceof Float64Array||B instanceof Uint8ClampedArray},e=function(B,Z){for(var ct=Object.keys(Z),Gt=0;Gt{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.Context=void 0;var goe=Eg(),yoe=function(){function r(e){this.id=goe.id(),this.container=e}return r.prototype.addPlan=function(e){this.plan=e},r.prototype.setCurrentRequest=function(e){this.currentRequest=e},r}();GR.Context=yoe});var Sf=ft(zR=>{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.Metadata=void 0;var xoe=Lo(),boe=function(){function r(e,t){this.key=e,this.value=t}return r.prototype.toString=function(){return this.key===xoe.NAMED_TAG?"named: "+this.value.toString()+" ":"tagged: { key:"+this.key.toString()+", value: "+this.value+" }"},r}();zR.Metadata=boe});var Sgt=ft(UR=>{"use strict";Object.defineProperty(UR,"__esModule",{value:!0});UR.Plan=void 0;var _oe=function(){function r(e,t){this.parentContext=e,this.rootRequest=t}return r}();UR.Plan=_oe});var Vp=ft(Ag=>{"use strict";Object.defineProperty(Ag,"__esModule",{value:!0});Ag.tagProperty=Ag.tagParameter=Ag.decorate=void 0;var Cgt=Kl(),wgt=Lo();function Soe(r,e,t,n){var i=wgt.TAGGED;Egt(i,r,e,n,t)}Ag.tagParameter=Soe;function Coe(r,e,t){var n=wgt.TAGGED_PROP;Egt(n,r.constructor,e,t)}Ag.tagProperty=Coe;function Egt(r,e,t,n,i){var a={},o=typeof i=="number",s=i!==void 0&&o?i.toString():t;if(o&&t!==void 0)throw new Error(Cgt.INVALID_DECORATOR_OPERATION);Reflect.hasOwnMetadata(r,e)&&(a=Reflect.getMetadata(r,e));var l=a[s];if(!Array.isArray(l))l=[];else for(var u=0,f=l;u{"use strict";Object.defineProperty(eS,"__esModule",{value:!0});eS.inject=eS.LazyServiceIdentifer=void 0;var Aoe=Kl(),Moe=Lo(),Toe=Sf(),Mgt=Vp(),Ioe=function(){function r(e){this._cb=e}return r.prototype.unwrap=function(){return this._cb()},r}();eS.LazyServiceIdentifer=Ioe;function Loe(r){return function(e,t,n){if(r===void 0)throw new Error(Aoe.UNDEFINED_INJECT_ANNOTATION(e.name));var i=new Toe.Metadata(Moe.INJECT_TAG,r);typeof n=="number"?Mgt.tagParameter(e,t,n,i):Mgt.tagProperty(e,t,i)}}eS.inject=Loe});var Tgt=ft(jR=>{"use strict";Object.defineProperty(jR,"__esModule",{value:!0});jR.QueryableString=void 0;var Ooe=function(){function r(e){this.str=e}return r.prototype.startsWith=function(e){return this.str.indexOf(e)===0},r.prototype.endsWith=function(e){var t="",n=e.split("").reverse().join("");return t=this.str.split("").reverse().join(""),this.startsWith.call({str:t},n)},r.prototype.contains=function(e){return this.str.indexOf(e)!==-1},r.prototype.equals=function(e){return this.str===e},r.prototype.value=function(){return this.str},r}();jR.QueryableString=Ooe});var AH=ft(WR=>{"use strict";Object.defineProperty(WR,"__esModule",{value:!0});WR.Target=void 0;var Hp=Lo(),Doe=Eg(),Igt=Sf(),Poe=Tgt(),koe=function(){function r(e,t,n,i){this.id=Doe.id(),this.type=e,this.serviceIdentifier=n,this.name=new Poe.QueryableString(t||""),this.metadata=new Array;var a=null;typeof i=="string"?a=new Igt.Metadata(Hp.NAMED_TAG,i):i instanceof Igt.Metadata&&(a=i),a!==null&&this.metadata.push(a)}return r.prototype.hasTag=function(e){for(var t=0,n=this.metadata;t{"use strict";var VR=rd&&rd.__spreadArray||function(r,e){for(var t=0,n=e.length,i=r.length;t0,f=l.length>t.length,c=u||f?l.length:t.length,h=Boe(n,e,a,s,c),d=kgt(r,t),p=VR(VR([],h),d);return p}function Foe(r,e,t,n,i){var a=i[r.toString()]||[],o=Ngt(a),s=o.unmanaged!==!0,l=n[r],u=o.inject||o.multiInject;if(l=u||l,l instanceof Roe.LazyServiceIdentifer&&(l=l.unwrap()),s){var f=l===Object,c=l===Function,h=l===void 0,d=f||c||h;if(!e&&d){var p=Lgt.MISSING_INJECT_ANNOTATION+" argument "+r+" in class "+t+".";throw new Error(p)}var v=new Dgt.Target(Ogt.TargetTypeEnum.ConstructorArgument,o.targetName,l);return v.metadata=a,v}return null}function Boe(r,e,t,n,i){for(var a=[],o=0;o0?s:Rgt(r,t)}else return 0}rd.getBaseClassDependencyCount=Rgt;function Ngt(r){var e={};return r.forEach(function(t){e[t.key.toString()]=t.value}),{inject:e[OM.INJECT_TAG],multiInject:e[OM.MULTI_INJECT_TAG],targetName:e[OM.NAME_TAG],unmanaged:e[OM.UNMANAGED_TAG]}}});var Bgt=ft(HR=>{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.Request=void 0;var Goe=Eg(),zoe=function(){function r(e,t,n,i,a){this.id=Goe.id(),this.serviceIdentifier=e,this.parentContext=t,this.parentRequest=n,this.target=a,this.childRequests=[],this.bindings=Array.isArray(i)?i:[i],this.requestScope=n===null?new Map:null}return r.prototype.addChildRequest=function(e,t,n){var i=new r(e,this.parentContext,this,t,n);return this.childRequests.push(i),i},r}();HR.Request=zoe});var Ygt=ft(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:!0});Mg.getBindingDictionary=Mg.createMockRequest=Mg.plan=void 0;var YR=mgt(),TH=Kl(),Ggt=ed(),zgt=Lo(),Uoe=wH(),rS=tS(),Ugt=_gt(),IH=Sf(),joe=Sgt(),LH=Fgt(),OH=Bgt(),jgt=AH();function Wgt(r){return r._bindingDictionary}Mg.getBindingDictionary=Wgt;function Woe(r,e,t,n,i,a){var o=r?zgt.MULTI_INJECT_TAG:zgt.INJECT_TAG,s=new IH.Metadata(o,t),l=new jgt.Target(e,n,t,s);if(i!==void 0){var u=new IH.Metadata(i,a);l.metadata.push(u)}return l}function Vgt(r,e,t,n,i){var a=DM(t.container,i.serviceIdentifier),o=[];return a.length===YR.BindingCount.NoBindingsAvailable&&t.container.options.autoBindInjectable&&typeof i.serviceIdentifier=="function"&&r.getConstructorMetadata(i.serviceIdentifier).compilerGeneratedMetadata&&(t.container.bind(i.serviceIdentifier).toSelf(),a=DM(t.container,i.serviceIdentifier)),e?o=a:o=a.filter(function(s){var l=new OH.Request(s.serviceIdentifier,t,n,s,i);return s.constraint(l)}),Voe(i.serviceIdentifier,o,i,t.container),o}function Voe(r,e,t,n){switch(e.length){case YR.BindingCount.NoBindingsAvailable:if(t.isOptional())return e;var i=rS.getServiceIdentifierAsString(r),a=TH.NOT_REGISTERED;throw a+=rS.listMetadataForTarget(i,t),a+=rS.listRegisteredBindingsForServiceIdentifier(n,i,DM),new Error(a);case YR.BindingCount.OnlyOneBindingAvailable:if(!t.isArray())return e;case YR.BindingCount.MultipleBindingsAvailable:default:if(t.isArray())return e;var i=rS.getServiceIdentifierAsString(r),a=TH.AMBIGUOUS_MATCH+" "+i;throw a+=rS.listRegisteredBindingsForServiceIdentifier(n,i,DM),new Error(a)}}function Hgt(r,e,t,n,i,a){var o,s;if(i===null){o=Vgt(r,e,n,null,a),s=new OH.Request(t,n,null,o,a);var l=new joe.Plan(n,s);n.addPlan(l)}else o=Vgt(r,e,n,i,a),s=i.addChildRequest(a.serviceIdentifier,o,a);o.forEach(function(u){var f=null;if(a.isArray())f=s.addChildRequest(u.serviceIdentifier,u,a);else{if(u.cache)return;f=s}if(u.type===Ggt.BindingTypeEnum.Instance&&u.implementationType!==null){var c=LH.getDependencies(r,u.implementationType);if(!n.container.options.skipBaseClassChecks){var h=LH.getBaseClassDependencyCount(r,u.implementationType);if(c.length{"use strict";var Xoe=nS&&nS.__spreadArray||function(r,e){for(var t=0,n=e.length,i=r.length;t0){var i=e.filter(function(o){return o.target!==null&&o.target.type===Xgt.TargetTypeEnum.ConstructorArgument}),a=i.map(t);n=Zoe(r,a),n=Koe(n,e,t)}else n=new r;return $oe(r,n),n}nS.resolveInstance=Qoe});var $gt=ft(XR=>{"use strict";Object.defineProperty(XR,"__esModule",{value:!0});XR.resolve=void 0;var Zgt=Kl(),Yp=ed(),Joe=wH(),tse=tS(),ese=Kgt(),DH=function(r,e,t){try{return t()}catch(n){throw Joe.isStackOverflowExeption(n)?new Error(Zgt.CIRCULAR_DEPENDENCY_IN_FACTORY(r,e.toString())):n}},PH=function(r){return function(e){e.parentContext.setCurrentRequest(e);var t=e.bindings,n=e.childRequests,i=e.target&&e.target.isArray(),a=!e.parentRequest||!e.parentRequest.target||!e.target||!e.parentRequest.target.matchesArray(e.target.serviceIdentifier);if(i&&a)return n.map(function(c){var h=PH(r);return h(c)});var o=null;if(e.target.isOptional()&&t.length===0)return;var s=t[0],l=s.scope===Yp.BindingScopeEnum.Singleton,u=s.scope===Yp.BindingScopeEnum.Request;if(l&&s.activated)return s.cache;if(u&&r!==null&&r.has(s.id))return r.get(s.id);if(s.type===Yp.BindingTypeEnum.ConstantValue)o=s.cache,s.activated=!0;else if(s.type===Yp.BindingTypeEnum.Function)o=s.cache,s.activated=!0;else if(s.type===Yp.BindingTypeEnum.Constructor)o=s.implementationType;else if(s.type===Yp.BindingTypeEnum.DynamicValue&&s.dynamicValue!==null)o=DH("toDynamicValue",s.serviceIdentifier,function(){return s.dynamicValue(e.parentContext)});else if(s.type===Yp.BindingTypeEnum.Factory&&s.factory!==null)o=DH("toFactory",s.serviceIdentifier,function(){return s.factory(e.parentContext)});else if(s.type===Yp.BindingTypeEnum.Provider&&s.provider!==null)o=DH("toProvider",s.serviceIdentifier,function(){return s.provider(e.parentContext)});else if(s.type===Yp.BindingTypeEnum.Instance&&s.implementationType!==null)o=ese.resolveInstance(s.implementationType,n,PH(r));else{var f=tse.getServiceIdentifierAsString(e.serviceIdentifier);throw new Error(Zgt.INVALID_BINDING_TYPE+" "+f)}return typeof s.onActivation=="function"&&(o=s.onActivation(e.parentContext,o)),l&&(s.cache=o,s.activated=!0),u&&r!==null&&!r.has(s.id)&&r.set(s.id,o),o}};function rse(r){var e=PH(r.plan.rootRequest.requestScope);return e(r.plan.rootRequest)}XR.resolve=rse});var kH=ft(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.typeConstraint=nd.namedConstraint=nd.taggedConstraint=nd.traverseAncerstors=void 0;var nse=Lo(),ise=Sf(),Qgt=function(r,e){var t=r.parentRequest;return t!==null?e(t)?!0:Qgt(t,e):!1};nd.traverseAncerstors=Qgt;var Jgt=function(r){return function(e){var t=function(n){return n!==null&&n.target!==null&&n.target.matchesTag(r)(e)};return t.metaData=new ise.Metadata(r,e),t}};nd.taggedConstraint=Jgt;var ase=Jgt(nse.NAMED_TAG);nd.namedConstraint=ase;var ose=function(r){return function(e){var t=null;if(e!==null)if(t=e.bindings[0],typeof r=="string"){var n=t.serviceIdentifier;return n===r}else{var i=e.bindings[0].implementationType;return r===i}return!1}};nd.typeConstraint=ose});var KR=ft(qR=>{"use strict";Object.defineProperty(qR,"__esModule",{value:!0});qR.BindingWhenSyntax=void 0;var nl=ZR(),Oo=kH(),sse=function(){function r(e){this._binding=e}return r.prototype.when=function(e){return this._binding.constraint=e,new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetNamed=function(e){return this._binding.constraint=Oo.namedConstraint(e),new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetIsDefault=function(){return this._binding.constraint=function(e){var t=e.target!==null&&!e.target.isNamed()&&!e.target.isTagged();return t},new nl.BindingOnSyntax(this._binding)},r.prototype.whenTargetTagged=function(e,t){return this._binding.constraint=Oo.taggedConstraint(e)(t),new nl.BindingOnSyntax(this._binding)},r.prototype.whenInjectedInto=function(e){return this._binding.constraint=function(t){return Oo.typeConstraint(e)(t.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenParentNamed=function(e){return this._binding.constraint=function(t){return Oo.namedConstraint(e)(t.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenParentTagged=function(e,t){return this._binding.constraint=function(n){return Oo.taggedConstraint(e)(t)(n.parentRequest)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorIs=function(e){return this._binding.constraint=function(t){return Oo.traverseAncerstors(t,Oo.typeConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorIs=function(e){return this._binding.constraint=function(t){return!Oo.traverseAncerstors(t,Oo.typeConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorNamed=function(e){return this._binding.constraint=function(t){return Oo.traverseAncerstors(t,Oo.namedConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorNamed=function(e){return this._binding.constraint=function(t){return!Oo.traverseAncerstors(t,Oo.namedConstraint(e))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._binding.constraint=function(n){return Oo.traverseAncerstors(n,Oo.taggedConstraint(e)(t))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorTagged=function(e,t){return this._binding.constraint=function(n){return!Oo.traverseAncerstors(n,Oo.taggedConstraint(e)(t))},new nl.BindingOnSyntax(this._binding)},r.prototype.whenAnyAncestorMatches=function(e){return this._binding.constraint=function(t){return Oo.traverseAncerstors(t,e)},new nl.BindingOnSyntax(this._binding)},r.prototype.whenNoAncestorMatches=function(e){return this._binding.constraint=function(t){return!Oo.traverseAncerstors(t,e)},new nl.BindingOnSyntax(this._binding)},r}();qR.BindingWhenSyntax=sse});var ZR=ft($R=>{"use strict";Object.defineProperty($R,"__esModule",{value:!0});$R.BindingOnSyntax=void 0;var lse=KR(),use=function(){function r(e){this._binding=e}return r.prototype.onActivation=function(e){return this._binding.onActivation=e,new lse.BindingWhenSyntax(this._binding)},r}();$R.BindingOnSyntax=use});var RH=ft(QR=>{"use strict";Object.defineProperty(QR,"__esModule",{value:!0});QR.BindingWhenOnSyntax=void 0;var fse=ZR(),cse=KR(),hse=function(){function r(e){this._binding=e,this._bindingWhenSyntax=new cse.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new fse.BindingOnSyntax(this._binding)}return r.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},r.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},r.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},r.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},r.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},r.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},r.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},r.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},r.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},r.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},r.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},r.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},r.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},r.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},r.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},r}();QR.BindingWhenOnSyntax=hse});var tyt=ft(JR=>{"use strict";Object.defineProperty(JR,"__esModule",{value:!0});JR.BindingInSyntax=void 0;var NH=ed(),FH=RH(),dse=function(){function r(e){this._binding=e}return r.prototype.inRequestScope=function(){return this._binding.scope=NH.BindingScopeEnum.Request,new FH.BindingWhenOnSyntax(this._binding)},r.prototype.inSingletonScope=function(){return this._binding.scope=NH.BindingScopeEnum.Singleton,new FH.BindingWhenOnSyntax(this._binding)},r.prototype.inTransientScope=function(){return this._binding.scope=NH.BindingScopeEnum.Transient,new FH.BindingWhenOnSyntax(this._binding)},r}();JR.BindingInSyntax=dse});var eyt=ft(tN=>{"use strict";Object.defineProperty(tN,"__esModule",{value:!0});tN.BindingInWhenOnSyntax=void 0;var pse=tyt(),vse=ZR(),mse=KR(),gse=function(){function r(e){this._binding=e,this._bindingWhenSyntax=new mse.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new vse.BindingOnSyntax(this._binding),this._bindingInSyntax=new pse.BindingInSyntax(e)}return r.prototype.inRequestScope=function(){return this._bindingInSyntax.inRequestScope()},r.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},r.prototype.inTransientScope=function(){return this._bindingInSyntax.inTransientScope()},r.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},r.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},r.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},r.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},r.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},r.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},r.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},r.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},r.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},r.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},r.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},r.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},r.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},r.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},r.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},r.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},r}();tN.BindingInWhenOnSyntax=gse});var iyt=ft(eN=>{"use strict";Object.defineProperty(eN,"__esModule",{value:!0});eN.BindingToSyntax=void 0;var ryt=Kl(),Zl=ed(),nyt=eyt(),PM=RH(),yse=function(){function r(e){this._binding=e}return r.prototype.to=function(e){return this._binding.type=Zl.BindingTypeEnum.Instance,this._binding.implementationType=e,new nyt.BindingInWhenOnSyntax(this._binding)},r.prototype.toSelf=function(){if(typeof this._binding.serviceIdentifier!="function")throw new Error(""+ryt.INVALID_TO_SELF_VALUE);var e=this._binding.serviceIdentifier;return this.to(e)},r.prototype.toConstantValue=function(e){return this._binding.type=Zl.BindingTypeEnum.ConstantValue,this._binding.cache=e,this._binding.dynamicValue=null,this._binding.implementationType=null,this._binding.scope=Zl.BindingScopeEnum.Singleton,new PM.BindingWhenOnSyntax(this._binding)},r.prototype.toDynamicValue=function(e){return this._binding.type=Zl.BindingTypeEnum.DynamicValue,this._binding.cache=null,this._binding.dynamicValue=e,this._binding.implementationType=null,new nyt.BindingInWhenOnSyntax(this._binding)},r.prototype.toConstructor=function(e){return this._binding.type=Zl.BindingTypeEnum.Constructor,this._binding.implementationType=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new PM.BindingWhenOnSyntax(this._binding)},r.prototype.toFactory=function(e){return this._binding.type=Zl.BindingTypeEnum.Factory,this._binding.factory=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new PM.BindingWhenOnSyntax(this._binding)},r.prototype.toFunction=function(e){if(typeof e!="function")throw new Error(ryt.INVALID_FUNCTION_BINDING);var t=this.toConstantValue(e);return this._binding.type=Zl.BindingTypeEnum.Function,this._binding.scope=Zl.BindingScopeEnum.Singleton,t},r.prototype.toAutoFactory=function(e){return this._binding.type=Zl.BindingTypeEnum.Factory,this._binding.factory=function(t){var n=function(){return t.container.get(e)};return n},this._binding.scope=Zl.BindingScopeEnum.Singleton,new PM.BindingWhenOnSyntax(this._binding)},r.prototype.toProvider=function(e){return this._binding.type=Zl.BindingTypeEnum.Provider,this._binding.provider=e,this._binding.scope=Zl.BindingScopeEnum.Singleton,new PM.BindingWhenOnSyntax(this._binding)},r.prototype.toService=function(e){this.toDynamicValue(function(t){return t.container.get(e)})},r}();eN.BindingToSyntax=yse});var ayt=ft(rN=>{"use strict";Object.defineProperty(rN,"__esModule",{value:!0});rN.ContainerSnapshot=void 0;var xse=function(){function r(){}return r.of=function(e,t){var n=new r;return n.bindings=e,n.middleware=t,n},r}();rN.ContainerSnapshot=xse});var oyt=ft(nN=>{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.Lookup=void 0;var $0=Kl(),bse=function(){function r(){this._map=new Map}return r.prototype.getMap=function(){return this._map},r.prototype.add=function(e,t){if(e==null)throw new Error($0.NULL_ARGUMENT);if(t==null)throw new Error($0.NULL_ARGUMENT);var n=this._map.get(e);n!==void 0?(n.push(t),this._map.set(e,n)):this._map.set(e,[t])},r.prototype.get=function(e){if(e==null)throw new Error($0.NULL_ARGUMENT);var t=this._map.get(e);if(t!==void 0)return t;throw new Error($0.KEY_NOT_FOUND)},r.prototype.remove=function(e){if(e==null)throw new Error($0.NULL_ARGUMENT);if(!this._map.delete(e))throw new Error($0.KEY_NOT_FOUND)},r.prototype.removeByCondition=function(e){var t=this;this._map.forEach(function(n,i){var a=n.filter(function(o){return!e(o)});a.length>0?t._map.set(i,a):t._map.delete(i)})},r.prototype.hasKey=function(e){if(e==null)throw new Error($0.NULL_ARGUMENT);return this._map.has(e)},r.prototype.clone=function(){var e=new r;return this._map.forEach(function(t,n){t.forEach(function(i){return e.add(n,i.clone())})}),e},r.prototype.traverse=function(e){this._map.forEach(function(t,n){e(n,t)})},r}();nN.Lookup=bse});var lyt=ft(id=>{"use strict";var _se=id&&id.__awaiter||function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},Sse=id&&id.__generator||function(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(f){return l([u,f])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;t;)try{if(n=1,i&&(a=u[0]&2?i.return:u[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;switch(i=0,a&&(u=[u[0]&2,a.value]),u[0]){case 0:case 1:a=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,i=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]{"use strict";Object.defineProperty(iS,"__esModule",{value:!0});iS.AsyncContainerModule=iS.ContainerModule=void 0;var uyt=Eg(),Dse=function(){function r(e){this.id=uyt.id(),this.registry=e}return r}();iS.ContainerModule=Dse;var Pse=function(){function r(e){this.id=uyt.id(),this.registry=e}return r}();iS.AsyncContainerModule=Pse});var cyt=ft(aN=>{"use strict";Object.defineProperty(aN,"__esModule",{value:!0});aN.injectable=void 0;var kse=Kl(),GH=Lo();function Rse(){return function(r){if(Reflect.hasOwnMetadata(GH.PARAM_TYPES,r))throw new Error(kse.DUPLICATED_INJECTABLE_DECORATOR);var e=Reflect.getMetadata(GH.DESIGN_PARAM_TYPES,r)||[];return Reflect.defineMetadata(GH.PARAM_TYPES,e,r),r}}aN.injectable=Rse});var dyt=ft(oN=>{"use strict";Object.defineProperty(oN,"__esModule",{value:!0});oN.tagged=void 0;var Nse=Sf(),hyt=Vp();function Fse(r,e){return function(t,n,i){var a=new Nse.Metadata(r,e);typeof i=="number"?hyt.tagParameter(t,n,i,a):hyt.tagProperty(t,n,a)}}oN.tagged=Fse});var vyt=ft(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.named=void 0;var Bse=Lo(),Gse=Sf(),pyt=Vp();function zse(r){return function(e,t,n){var i=new Gse.Metadata(Bse.NAMED_TAG,r);typeof n=="number"?pyt.tagParameter(e,t,n,i):pyt.tagProperty(e,t,i)}}sN.named=zse});var gyt=ft(lN=>{"use strict";Object.defineProperty(lN,"__esModule",{value:!0});lN.optional=void 0;var Use=Lo(),jse=Sf(),myt=Vp();function Wse(){return function(r,e,t){var n=new jse.Metadata(Use.OPTIONAL_TAG,!0);typeof t=="number"?myt.tagParameter(r,e,t,n):myt.tagProperty(r,e,n)}}lN.optional=Wse});var yyt=ft(uN=>{"use strict";Object.defineProperty(uN,"__esModule",{value:!0});uN.unmanaged=void 0;var Vse=Lo(),Hse=Sf(),Yse=Vp();function Xse(){return function(r,e,t){var n=new Hse.Metadata(Vse.UNMANAGED_TAG,!0);Yse.tagParameter(r,e,t,n)}}uN.unmanaged=Xse});var byt=ft(fN=>{"use strict";Object.defineProperty(fN,"__esModule",{value:!0});fN.multiInject=void 0;var qse=Lo(),Kse=Sf(),xyt=Vp();function Zse(r){return function(e,t,n){var i=new Kse.Metadata(qse.MULTI_INJECT_TAG,r);typeof n=="number"?xyt.tagParameter(e,t,n,i):xyt.tagProperty(e,t,i)}}fN.multiInject=Zse});var _yt=ft(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.targetName=void 0;var $se=Lo(),Qse=Sf(),Jse=Vp();function tle(r){return function(e,t,n){var i=new Qse.Metadata($se.NAME_TAG,r);Jse.tagParameter(e,t,n,i)}}cN.targetName=tle});var Syt=ft(hN=>{"use strict";Object.defineProperty(hN,"__esModule",{value:!0});hN.postConstruct=void 0;var ele=Kl(),zH=Lo(),rle=Sf();function nle(){return function(r,e,t){var n=new rle.Metadata(zH.POST_CONSTRUCT,e);if(Reflect.hasOwnMetadata(zH.POST_CONSTRUCT,r.constructor))throw new Error(ele.MULTIPLE_POST_CONSTRUCT_METHODS);Reflect.defineMetadata(zH.POST_CONSTRUCT,n,r.constructor)}}hN.postConstruct=nle});var Cyt=ft(dN=>{"use strict";Object.defineProperty(dN,"__esModule",{value:!0});dN.multiBindToService=void 0;var ile=function(r){return function(e){return function(){for(var t=[],n=0;n{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.multiBindToService=Wr.getServiceIdentifierAsString=Wr.typeConstraint=Wr.namedConstraint=Wr.taggedConstraint=Wr.traverseAncerstors=Wr.decorate=Wr.id=Wr.MetadataReader=Wr.postConstruct=Wr.targetName=Wr.multiInject=Wr.unmanaged=Wr.optional=Wr.LazyServiceIdentifer=Wr.inject=Wr.named=Wr.tagged=Wr.injectable=Wr.ContainerModule=Wr.AsyncContainerModule=Wr.TargetTypeEnum=Wr.BindingTypeEnum=Wr.BindingScopeEnum=Wr.Container=Wr.METADATA_KEY=void 0;var ale=Lo();Wr.METADATA_KEY=ale;var ole=lyt();Object.defineProperty(Wr,"Container",{enumerable:!0,get:function(){return ole.Container}});var UH=ed();Object.defineProperty(Wr,"BindingScopeEnum",{enumerable:!0,get:function(){return UH.BindingScopeEnum}});Object.defineProperty(Wr,"BindingTypeEnum",{enumerable:!0,get:function(){return UH.BindingTypeEnum}});Object.defineProperty(Wr,"TargetTypeEnum",{enumerable:!0,get:function(){return UH.TargetTypeEnum}});var wyt=fyt();Object.defineProperty(Wr,"AsyncContainerModule",{enumerable:!0,get:function(){return wyt.AsyncContainerModule}});Object.defineProperty(Wr,"ContainerModule",{enumerable:!0,get:function(){return wyt.ContainerModule}});var sle=cyt();Object.defineProperty(Wr,"injectable",{enumerable:!0,get:function(){return sle.injectable}});var lle=dyt();Object.defineProperty(Wr,"tagged",{enumerable:!0,get:function(){return lle.tagged}});var ule=vyt();Object.defineProperty(Wr,"named",{enumerable:!0,get:function(){return ule.named}});var Eyt=EH();Object.defineProperty(Wr,"inject",{enumerable:!0,get:function(){return Eyt.inject}});Object.defineProperty(Wr,"LazyServiceIdentifer",{enumerable:!0,get:function(){return Eyt.LazyServiceIdentifer}});var fle=gyt();Object.defineProperty(Wr,"optional",{enumerable:!0,get:function(){return fle.optional}});var cle=yyt();Object.defineProperty(Wr,"unmanaged",{enumerable:!0,get:function(){return cle.unmanaged}});var hle=byt();Object.defineProperty(Wr,"multiInject",{enumerable:!0,get:function(){return hle.multiInject}});var dle=_yt();Object.defineProperty(Wr,"targetName",{enumerable:!0,get:function(){return dle.targetName}});var ple=Syt();Object.defineProperty(Wr,"postConstruct",{enumerable:!0,get:function(){return ple.postConstruct}});var vle=CH();Object.defineProperty(Wr,"MetadataReader",{enumerable:!0,get:function(){return vle.MetadataReader}});var mle=Eg();Object.defineProperty(Wr,"id",{enumerable:!0,get:function(){return mle.id}});var gle=Vp();Object.defineProperty(Wr,"decorate",{enumerable:!0,get:function(){return gle.decorate}});var pN=kH();Object.defineProperty(Wr,"traverseAncerstors",{enumerable:!0,get:function(){return pN.traverseAncerstors}});Object.defineProperty(Wr,"taggedConstraint",{enumerable:!0,get:function(){return pN.taggedConstraint}});Object.defineProperty(Wr,"namedConstraint",{enumerable:!0,get:function(){return pN.namedConstraint}});Object.defineProperty(Wr,"typeConstraint",{enumerable:!0,get:function(){return pN.typeConstraint}});var yle=tS();Object.defineProperty(Wr,"getServiceIdentifierAsString",{enumerable:!0,get:function(){return yle.getServiceIdentifierAsString}});var xle=Cyt();Object.defineProperty(Wr,"multiBindToService",{enumerable:!0,get:function(){return xle.multiBindToService}})});var Nxt=ft(hS=>{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});var GM=Symbol.for("INJECTION");function bN(r,e,t,n){function i(){return n&&!Reflect.hasMetadata(GM,this,e)&&Reflect.defineMetadata(GM,t(),this,e),Reflect.hasMetadata(GM,this,e)?Reflect.getMetadata(GM,this,e):t()}function a(o){Reflect.defineMetadata(GM,o,this,e)}Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:i,set:a})}function yue(r,e){return function(t){return function(n,i){var a=function(){return r.get(t)};bN(n,i,a,e)}}}hS.makePropertyInjectDecorator=yue;function xue(r,e){return function(t,n){return function(i,a){var o=function(){return r.getNamed(t,n)};bN(i,a,o,e)}}}hS.makePropertyInjectNamedDecorator=xue;function bue(r,e){return function(t,n,i){return function(a,o){var s=function(){return r.getTagged(t,n,i)};bN(a,o,s,e)}}}hS.makePropertyInjectTaggedDecorator=bue;function _ue(r,e){return function(t){return function(n,i){var a=function(){return r.getAll(t)};bN(n,i,a,e)}}}hS.makePropertyMultiInjectDecorator=_ue});var Fxt=ft(hY=>{"use strict";Object.defineProperty(hY,"__esModule",{value:!0});var _N=Nxt();function Sue(r,e){e===void 0&&(e=!0);var t=_N.makePropertyInjectDecorator(r,e),n=_N.makePropertyInjectNamedDecorator(r,e),i=_N.makePropertyInjectTaggedDecorator(r,e),a=_N.makePropertyMultiInjectDecorator(r,e);return{lazyInject:t,lazyInjectNamed:n,lazyInjectTagged:i,lazyMultiInject:a}}hY.default=Sue});var Ac=ft(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});var Pue;(function(r){r.TextureCompressionBC="texture-compression-bc"})(Pue=Rr.ExtensionName||(Rr.ExtensionName={}));var kue;(function(r){r.ClampToEdge="clamp-to-edge",r.Repeat="repeat",r.MirrorRepeat="mirror-repeat"})(kue=Rr.AddressMode||(Rr.AddressMode={}));var Rue;(function(r){r.UniformBuffer="uniform-buffer",r.StorageBuffer="storage-buffer",r.ReadonlyStorageBuffer="readonly-storage-buffer",r.Sampler="sampler",r.ComparisonSampler="comparison-sampler",r.SampledTexture="sampled-texture",r.ReadonlyStorageTexture="readonly-storage-texture",r.WriteonlyStorageTexture="writeonly-storage-texture"})(Rue=Rr.BindingType||(Rr.BindingType={}));var Nue;(function(r){r.Zero="zero",r.One="one",r.SrcColor="src-color",r.OneMinusSrcColor="one-minus-src-color",r.SrcAlpha="src-alpha",r.OneMinusSrcAlpha="one-minus-src-alpha",r.DstColor="dst-color",r.OneMinusDstColor="one-minus-dst-color",r.DstAlpha="dst-alpha",r.OneMinusDstAlpha="one-minus-dst-alpha",r.SrcAlphaSaturated="src-alpha-saturated",r.BlendColor="blend-color",r.OneMinusBlendColor="one-minus-blend-color"})(Nue=Rr.BlendFactor||(Rr.BlendFactor={}));var Fue;(function(r){r.Add="add",r.Subtract="subtract",r.ReverseSubtract="reverse-subtract",r.Min="min",r.Max="max"})(Fue=Rr.BlendOperation||(Rr.BlendOperation={}));var Bue;(function(r){r.Never="never",r.Less="less",r.Equal="equal",r.LessEqual="less-equal",r.Greater="greater",r.NotEqual="not-equal",r.GreaterEqual="greater-equal",r.Always="always"})(Bue=Rr.CompareFunction||(Rr.CompareFunction={}));var Gue;(function(r){r.None="none",r.Front="front",r.Back="back"})(Gue=Rr.CullMode||(Rr.CullMode={}));var zue;(function(r){r.Nearest="nearest",r.Linear="linear"})(zue=Rr.FilterMode||(Rr.FilterMode={}));var Uue;(function(r){r.CCW="ccw",r.CW="cw"})(Uue=Rr.FrontFace||(Rr.FrontFace={}));var jue;(function(r){r.Uint16="uint16",r.Uint32="uint32"})(jue=Rr.IndexFormat||(Rr.IndexFormat={}));var Wue;(function(r){r.Vertex="vertex",r.Instance="instance"})(Wue=Rr.InputStepMode||(Rr.InputStepMode={}));var Vue;(function(r){r.Load="load"})(Vue=Rr.LoadOp||(Rr.LoadOp={}));var Hue;(function(r){r.PointList="point-list",r.LineList="line-list",r.LineStrip="line-strip",r.TriangleList="triangle-list",r.TriangleStrip="triangle-strip"})(Hue=Rr.PrimitiveTopology||(Rr.PrimitiveTopology={}));var Yue;(function(r){r.Keep="keep",r.Zero="zero",r.Replace="replace",r.Invert="invert",r.IncrementClamp="increment-clamp",r.DecrementClamp="decrement-clamp",r.IncrementWrap="increment-wrap",r.DecrementWrap="decrement-wrap"})(Yue=Rr.StencilOperation||(Rr.StencilOperation={}));var Xue;(function(r){r.Store="store",r.Clear="clear"})(Xue=Rr.StoreOp||(Rr.StoreOp={}));var que;(function(r){r.E1d="1d",r.E2d="2d",r.E3d="3d"})(que=Rr.TextureDimension||(Rr.TextureDimension={}));var Kue;(function(r){r.R8Unorm="r8unorm",r.R8Snorm="r8snorm",r.R8Uint="r8uint",r.R8Sint="r8sint",r.R16Uint="r16uint",r.R16Sint="r16sint",r.R16Float="r16float",r.RG8Unorm="rg8unorm",r.RG8Snorm="rg8snorm",r.RG8Uint="rg8uint",r.RG8Sint="rg8sint",r.R32Uint="r32uint",r.R32Sint="r32sint",r.R32Float="r32float",r.RG16Uint="rg16uint",r.RG16Sint="rg16sint",r.RG16Float="rg16float",r.RGBA8Unorm="rgba8unorm",r.RGBA8UnormSRGB="rgba8unorm-srgb",r.RGBA8Snorm="rgba8snorm",r.RGBA8Uint="rgba8uint",r.RGBA8Sint="rgba8sint",r.BGRA8Unorm="bgra8unorm",r.BGRA8UnormSRGB="bgra8unorm-srgb",r.RGB10A2Unorm="rgb10a2unorm",r.RG11B10Float="rg11b10float",r.RG32Uint="rg32uint",r.RG32Sint="rg32sint",r.RG32Float="rg32float",r.RGBA16Uint="rgba16uint",r.RGBA16Sint="rgba16sint",r.RGBA16Float="rgba16float",r.RGBA32Uint="rgba32uint",r.RGBA32Sint="rgba32sint",r.RGBA32Float="rgba32float",r.Depth32Float="depth32float",r.Depth24Plus="depth24plus",r.Depth24PlusStencil8="depth24plus-stencil8"})(Kue=Rr.TextureFormat||(Rr.TextureFormat={}));var Zue;(function(r){r.Float="float",r.Sint="sint",r.Uint="uint"})(Zue=Rr.TextureComponentType||(Rr.TextureComponentType={}));var $ue;(function(r){r.E1d="1d",r.E2d="2d",r.E2dArray="2d-array",r.Cube="cube",r.CubeArray="cube-array",r.E3d="3d"})($ue=Rr.TextureViewDimension||(Rr.TextureViewDimension={}));var Que;(function(r){r.Uchar2="uchar2",r.Uchar4="uchar4",r.Char2="char2",r.Char4="char4",r.Uchar2Norm="uchar2norm",r.Uchar4Norm="uchar4norm",r.Char2Norm="char2norm",r.Char4Norm="char4norm",r.Ushort2="ushort2",r.Ushort4="ushort4",r.Short2="short2",r.Short4="short4",r.Ushort2Norm="ushort2norm",r.Ushort4Norm="ushort4norm",r.Short2Norm="short2norm",r.Short4Norm="short4norm",r.Half2="half2",r.Half4="half4",r.Float="float",r.Float2="float2",r.Float3="float3",r.Float4="float4",r.Uint="uint",r.Uint2="uint2",r.Uint3="uint3",r.Uint4="uint4",r.Int="int",r.Int2="int2",r.Int3="int3",r.Int4="int4"})(Que=Rr.VertexFormat||(Rr.VertexFormat={}));var Jue;(function(r){r.All="all",r.StencilOnly="stencil-only",r.DepthOnly="depth-only"})(Jue=Rr.TextureAspect||(Rr.TextureAspect={}));var tfe;(function(r){r.Error="error",r.Warning="warning",r.Info="info"})(tfe=Rr.CompilationMessageType||(Rr.CompilationMessageType={}));var efe;(function(r){r.Occlusion="occlusion"})(efe=Rr.QueryType||(Rr.QueryType={}));var rfe;(function(r){r[r.MapRead=1]="MapRead",r[r.MapWrite=2]="MapWrite",r[r.CopySrc=4]="CopySrc",r[r.CopyDst=8]="CopyDst",r[r.Index=16]="Index",r[r.Vertex=32]="Vertex",r[r.Uniform=64]="Uniform",r[r.Storage=128]="Storage",r[r.Indirect=256]="Indirect",r[r.QueryResolve=512]="QueryResolve"})(rfe=Rr.BufferUsage||(Rr.BufferUsage={}));var nfe;(function(r){r[r.Red=1]="Red",r[r.Green=2]="Green",r[r.Blue=4]="Blue",r[r.Alpha=8]="Alpha",r[r.All=15]="All"})(nfe=Rr.ColorWrite||(Rr.ColorWrite={}));var ife;(function(r){r[r.Vertex=1]="Vertex",r[r.Fragment=2]="Fragment",r[r.Compute=4]="Compute"})(ife=Rr.ShaderStage||(Rr.ShaderStage={}));var afe;(function(r){r[r.CopySrc=1]="CopySrc",r[r.CopyDst=2]="CopyDst",r[r.Sampled=4]="Sampled",r[r.Storage=8]="Storage",r[r.OutputAttachment=16]="OutputAttachment"})(afe=Rr.TextureUsage||(Rr.TextureUsage={}));var ofe;(function(r){r[r.Read=1]="Read",r[r.Write=2]="Write"})(ofe=Rr.MapMode||(Rr.MapMode={}))});var Jbt=ft((_Y,SY)=>{(function(r,e){typeof _Y=="object"&&typeof SY!="undefined"?SY.exports=e():typeof define=="function"&&define.amd?define(e):r.createREGL=e()})(_Y,function(){"use strict";var r=function(B){return B instanceof Uint8Array||B instanceof Uint16Array||B instanceof Uint32Array||B instanceof Int8Array||B instanceof Int16Array||B instanceof Int32Array||B instanceof Float32Array||B instanceof Float64Array||B instanceof Uint8ClampedArray},e=function(B,Z){for(var ct=Object.keys(Z),Gt=0;Gt=0&&(B|0)===B||i("invalid parameter type, ("+B+")"+o(Z)+". must be a nonnegative integer")}function h(B,Z,ct){Z.indexOf(B)<0&&i("invalid value"+o(ct)+". must be one of: "+Z)}var d=["gl","canvas","container","attributes","pixelRatio","extensions","optionalExtensions","profile","onDone"];function p(B){Object.keys(B).forEach(function(Z){d.indexOf(Z)<0&&i('invalid regl constructor argument "'+Z+'". must be one of '+d)})}function v(B,Z){for(B=B+"";B.length0&&Z.push(new x("unknown",0,ct))}}),Z}function A(B,Z){Z.forEach(function(ct){var Gt=B[ct.file];if(Gt){var Jt=Gt.index[ct.line];if(Jt){Jt.errors.push(ct),Gt.hasErrors=!0;return}}B.unknown.hasErrors=!0,B.unknown.lines[0].errors.push(ct)})}function I(B,Z,ct,Gt,Jt){if(!B.getShaderParameter(Z,B.COMPILE_STATUS)){var zt=B.getShaderInfoLog(Z),Vt=Gt===B.FRAGMENT_SHADER?"fragment":"vertex";G(ct,"string",Vt+" shader source must be a string",Jt);var ve=C(ct,Jt),le=w(zt);A(ve,le),Object.keys(ve).forEach(function(Ce){var ye=ve[Ce];if(!ye.hasErrors)return;var Ie=[""],Be=[""];function me(De,Ot){Ie.push(De),Be.push(Ot||"")}me("file number "+Ce+": "+ye.name+` -`,"color:red;text-decoration:underline;font-weight:bold"),ye.lines.forEach(function(De){if(De.errors.length>0){me(v(De.number,4)+"| ","background-color:yellow; font-weight:bold"),me(De.line+t,"color:red; background-color:yellow; font-weight:bold");var Ot=0;De.errors.forEach(function(Yt){var pe=Yt.message,Le=/^\s*'(.*)'\s*:\s*(.*)$/.exec(pe);if(Le){var ue=Le[1];switch(pe=Le[2],ue){case"assign":ue="=";break}Ot=Math.max(De.line.indexOf(ue,Ot),0)}else Ot=0;me(v("| ",6)),me(v("^^^",Ot+3)+t,"font-weight:bold"),me(v("| ",6)),me(pe+t,"font-weight:bold")}),me(v("| ",6)+t)}else me(v(De.number,4)+"| "),me(De.line+t,"color:red")}),typeof document!="undefined"&&!window.chrome?(Be[0]=Ie.join("%c"),console.log.apply(console,Be)):console.log(Ie.join(""))}),a.raise("Error compiling "+Vt+" shader, "+ve[0].name)}}function P(B,Z,ct,Gt,Jt){if(!B.getProgramParameter(Z,B.LINK_STATUS)){var zt=B.getProgramInfoLog(Z),Vt=C(ct,Jt),ve=C(Gt,Jt),le='Error linking program with vertex shader, "'+ve[0].name+'", and fragment shader "'+Vt[0].name+'"';typeof document!="undefined"?console.log("%c"+le+t+"%c"+zt,"color:red;text-decoration:underline;font-weight:bold","color:red"):console.log(le+t+zt),a.raise(le)}}function L(B){B._commandRef=b()}function M(B,Z,ct,Gt){L(B);function Jt(le){return le?Gt.id(le):0}B._fragId=Jt(B.static.frag),B._vertId=Jt(B.static.vert);function zt(le,Ce){Object.keys(Ce).forEach(function(ye){le[Gt.id(ye)]=!0})}var Vt=B._uniformSet={};zt(Vt,Z.static),zt(Vt,Z.dynamic);var ve=B._attributeSet={};zt(ve,ct.static),zt(ve,ct.dynamic),B._hasCount="count"in B.static||"count"in B.dynamic||"elements"in B.static||"elements"in B.dynamic}function O(B,Z){var ct=S();i(B+" in command "+(Z||b())+(ct==="unknown"?"":" called from "+ct))}function F(B,Z,ct){B||O(Z,ct||b())}function k(B,Z,ct,Gt){B in Z||O("unknown parameter ("+B+")"+o(ct)+". possible values: "+Object.keys(Z).join(),Gt||b())}function G(B,Z,ct,Gt){u(B,Z)||O("invalid parameter type"+o(ct)+". expected "+Z+", got "+typeof B,Gt||b())}function D(B){B()}function N(B,Z,ct){B.texture?h(B.texture._texture.internalformat,Z,"unsupported texture format for attachment"):h(B.renderbuffer._renderbuffer.format,ct,"unsupported renderbuffer format for attachment")}var z=33071,j=9728,W=9984,J=9985,et=9986,lt=9987,$=5120,st=5121,_t=5122,dt=5123,vt=5124,Tt=5125,Ut=5126,$t=32819,Y=32820,it=33635,K=34042,Rt=36193,Xt={};Xt[$]=Xt[st]=1,Xt[_t]=Xt[dt]=Xt[Rt]=Xt[it]=Xt[$t]=Xt[Y]=2,Xt[vt]=Xt[Tt]=Xt[Ut]=Xt[K]=4;function Zt(B,Z){return B===Y||B===$t||B===it?2:B===K?4:Xt[B]*Z}function Ae(B){return!(B&B-1)&&!!B}function We(B,Z,ct){var Gt,Jt=Z.width,zt=Z.height,Vt=Z.channels;a(Jt>0&&Jt<=ct.maxTextureSize&&zt>0&&zt<=ct.maxTextureSize,"invalid texture shape"),(B.wrapS!==z||B.wrapT!==z)&&a(Ae(Jt)&&Ae(zt),"incompatible wrap mode for texture, both width and height must be power of 2"),Z.mipmask===1?Jt!==1&&zt!==1&&a(B.minFilter!==W&&B.minFilter!==et&&B.minFilter!==J&&B.minFilter!==lt,"min filter requires mipmap"):(a(Ae(Jt)&&Ae(zt),"texture must be a square power of 2 to support mipmapping"),a(Z.mipmask===(Jt<<1)-1,"missing or incomplete mipmap data")),Z.type===Ut&&(ct.extensions.indexOf("oes_texture_float_linear")<0&&a(B.minFilter===j&&B.magFilter===j,"filter not supported, must enable oes_texture_float_linear"),a(!B.genMipmaps,"mipmap generation not supported with float textures"));var ve=Z.images;for(Gt=0;Gt<16;++Gt)if(ve[Gt]){var le=Jt>>Gt,Ce=zt>>Gt;a(Z.mipmask&1<0&&Jt<=Gt.maxTextureSize&&zt>0&&zt<=Gt.maxTextureSize,"invalid texture shape"),a(Jt===zt,"cube map must be square"),a(Z.wrapS===z&&Z.wrapT===z,"wrap mode not supported by cube map");for(var ve=0;ve>ye,me=zt>>ye;a(le.mipmask&1<1&&Z===ct&&(Z==='"'||Z==="'"))return['"'+Wt(B.substr(1,B.length-2))+'"'];var Gt=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(B);if(Gt)return ee(B.substr(0,Gt.index)).concat(ee(Gt[1])).concat(ee(B.substr(Gt.index+Gt[0].length)));var Jt=B.split(".");if(Jt.length===1)return['"'+Wt(B)+'"'];for(var zt=[],Vt=0;Vtge(ct,Z+"["+Gt+"]")));if(B instanceof St)return B;V(!1,"invalid option type in uniform "+Z)}var Ye={DynamicVariable:St,define:Ht,isDynamic:ae,unbox:ge,accessor:Ue},Ve={next:typeof requestAnimationFrame=="function"?function(B){return requestAnimationFrame(B)}:function(B){return setTimeout(B,16)},cancel:typeof cancelAnimationFrame=="function"?function(B){return cancelAnimationFrame(B)}:clearTimeout},$n=typeof performance!="undefined"&&performance.now?function(){return performance.now()}:function(){return+new Date};function ma(){var B={"":0},Z=[""];return{id:function(ct){var Gt=B[ct];return Gt||(Gt=B[ct]=Z.length,Z.push(ct),Gt)},str:function(ct){return Z[ct]}}}function _n(B,Z,ct){var Gt=document.createElement("canvas");e(Gt.style,{border:0,margin:0,padding:0,top:0,left:0}),B.appendChild(Gt),B===document.body&&(Gt.style.position="absolute",e(B.style,{margin:0,padding:0}));function Jt(){var ve=window.innerWidth,le=window.innerHeight;if(B!==document.body){var Ce=B.getBoundingClientRect();ve=Ce.right-Ce.left,le=Ce.bottom-Ce.top}Gt.width=ct*ve,Gt.height=ct*le,e(Gt.style,{width:ve+"px",height:le+"px"})}var zt;B!==document.body&&typeof ResizeObserver=="function"?(zt=new ResizeObserver(function(){setTimeout(Jt)}),zt.observe(B)):window.addEventListener("resize",Jt,!1);function Vt(){zt?zt.disconnect():window.removeEventListener("resize",Jt),B.removeChild(Gt)}return Jt(),{canvas:Gt,onDestroy:Vt}}function ii(B,Z){function ct(Gt){try{return B.getContext(Gt,Z)}catch(Jt){return null}}return ct("webgl")||ct("experimental-webgl")||ct("webgl-experimental")}function xi(B){return typeof B.nodeName=="string"&&typeof B.appendChild=="function"&&typeof B.getBoundingClientRect=="function"}function Ki(B){return typeof B.drawArrays=="function"||typeof B.drawElements=="function"}function En(B){return typeof B=="string"?B.split():(V(Array.isArray(B),"invalid extension array"),B)}function ci(B){return typeof B=="string"?(V(typeof document!="undefined","not supported outside of DOM"),document.querySelector(B)):B}function Nn(B){var Z=B||{},ct,Gt,Jt,zt,Vt={},ve=[],le=[],Ce=typeof window=="undefined"?1:window.devicePixelRatio,ye=!1,Ie=function(De){De&&V.raise(De)},Be=function(){};if(typeof Z=="string"?(V(typeof document!="undefined","selector queries only supported in DOM enviroments"),ct=document.querySelector(Z),V(ct,"invalid query string for element")):typeof Z=="object"?xi(Z)?ct=Z:Ki(Z)?(zt=Z,Jt=zt.canvas):(V.constructor(Z),"gl"in Z?zt=Z.gl:"canvas"in Z?Jt=ci(Z.canvas):"container"in Z&&(Gt=ci(Z.container)),"attributes"in Z&&(Vt=Z.attributes,V.type(Vt,"object","invalid context attributes")),"extensions"in Z&&(ve=En(Z.extensions)),"optionalExtensions"in Z&&(le=En(Z.optionalExtensions)),"onDone"in Z&&(V.type(Z.onDone,"function","invalid or missing onDone callback"),Ie=Z.onDone),"profile"in Z&&(ye=!!Z.profile),"pixelRatio"in Z&&(Ce=+Z.pixelRatio,V(Ce>0,"invalid pixel ratio"))):V.raise("invalid arguments to regl"),ct&&(ct.nodeName.toLowerCase()==="canvas"?Jt=ct:Gt=ct),!zt){if(!Jt){V(typeof document!="undefined","must manually specify webgl context outside of DOM environments");var me=_n(Gt||document.body,Ie,Ce);if(!me)return null;Jt=me.canvas,Be=me.onDestroy}Vt.premultipliedAlpha===void 0&&(Vt.premultipliedAlpha=!0),zt=ii(Jt,Vt)}return zt?{gl:zt,canvas:Jt,container:Gt,extensions:ve,optionalExtensions:le,pixelRatio:Ce,profile:ye,onDone:Ie,onDestroy:Be}:(Be(),Ie("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function Ta(B,Z){var ct={};function Gt(Vt){V.type(Vt,"string","extension name must be string");var ve=Vt.toLowerCase(),le;try{le=ct[ve]=B.getExtension(ve)}catch(Ce){}return!!le}for(var Jt=0;Jt65535)<<4,B>>>=Z,ct=(B>255)<<3,B>>>=ct,Z|=ct,ct=(B>15)<<2,B>>>=ct,Z|=ct,ct=(B>3)<<1,B>>>=ct,Z|=ct,Z|B>>1}function gs(){var B=Li(8,function(){return[]});function Z(zt){var Vt=mo(zt),ve=B[Oi(Vt)>>2];return ve.length>0?ve.pop():new ArrayBuffer(Vt)}function ct(zt){B[Oi(zt.byteLength)>>2].push(zt)}function Gt(zt,Vt){var ve=null;switch(zt){case Do:ve=new Int8Array(Z(Vt),0,Vt);break;case ku:ve=new Uint8Array(Z(Vt),0,Vt);break;case Po:ve=new Int16Array(Z(2*Vt),0,Vt);break;case ms:ve=new Uint16Array(Z(2*Vt),0,Vt);break;case $o:ve=new Int32Array(Z(4*Vt),0,Vt);break;case vl:ve=new Uint32Array(Z(4*Vt),0,Vt);break;case Ns:ve=new Float32Array(Z(4*Vt),0,Vt);break;default:return null}return ve.length!==Vt?ve.subarray(0,Vt):ve}function Jt(zt){ct(zt.buffer)}return{alloc:Z,free:ct,allocType:Gt,freeType:Jt}}var er=gs();er.zero=gs();var ai=3408,vn=3410,ji=3411,Ia=3412,Lf=3413,Of=3414,eu=3415,Df=33901,Pf=33902,kf=3379,hv=3386,oC=34921,dv=36347,sC=36348,lC=35661,OF=35660,yT=34930,xT=36349,bT=34076,DF=34024,PF=7936,kF=7937,RF=7938,_T=35724,ST=34047,CT=36063,uC=34852,vx=3553,fC=34067,mx=34069,wT=33984,Xg=6408,gx=5126,cC=5121,qg=36160,NF=36053,ET=36064,hC=16384,dC=function(B,Z){var ct=1;Z.ext_texture_filter_anisotropic&&(ct=B.getParameter(ST));var Gt=1,Jt=1;Z.webgl_draw_buffers&&(Gt=B.getParameter(uC),Jt=B.getParameter(CT));var zt=!!Z.oes_texture_float;if(zt){var Vt=B.createTexture();B.bindTexture(vx,Vt),B.texImage2D(vx,0,Xg,1,1,0,Xg,gx,null);var ve=B.createFramebuffer();if(B.bindFramebuffer(qg,ve),B.framebufferTexture2D(qg,ET,vx,Vt,0),B.bindTexture(vx,null),B.checkFramebufferStatus(qg)!==NF)zt=!1;else{B.viewport(0,0,1,1),B.clearColor(1,0,0,1),B.clear(hC);var le=er.allocType(gx,4);B.readPixels(0,0,1,1,Xg,gx,le),B.getError()?zt=!1:(B.deleteFramebuffer(ve),B.deleteTexture(Vt),zt=le[0]===1),er.freeType(le)}}var Ce=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),ye=!0;if(!Ce){var Ie=B.createTexture(),Be=er.allocType(cC,36);B.activeTexture(wT),B.bindTexture(fC,Ie),B.texImage2D(mx,0,Xg,3,3,0,Xg,cC,Be),er.freeType(Be),B.bindTexture(fC,null),B.deleteTexture(Ie),ye=!B.getError()}return{colorBits:[B.getParameter(vn),B.getParameter(ji),B.getParameter(Ia),B.getParameter(Lf)],depthBits:B.getParameter(Of),stencilBits:B.getParameter(eu),subpixelBits:B.getParameter(ai),extensions:Object.keys(Z).filter(function(me){return!!Z[me]}),maxAnisotropic:ct,maxDrawbuffers:Gt,maxColorAttachments:Jt,pointSizeDims:B.getParameter(Df),lineWidthDims:B.getParameter(Pf),maxViewportDims:B.getParameter(hv),maxCombinedTextureUnits:B.getParameter(lC),maxCubeMapSize:B.getParameter(bT),maxRenderbufferSize:B.getParameter(DF),maxTextureUnits:B.getParameter(yT),maxTextureSize:B.getParameter(kf),maxAttributes:B.getParameter(oC),maxVertexUniforms:B.getParameter(dv),maxVertexTextureUnits:B.getParameter(OF),maxVaryingVectors:B.getParameter(sC),maxFragmentUniforms:B.getParameter(xT),glsl:B.getParameter(_T),renderer:B.getParameter(kF),vendor:B.getParameter(PF),version:B.getParameter(RF),readFloat:zt,npotTextureCube:ye}};function ko(B){return!!B&&typeof B=="object"&&Array.isArray(B.shape)&&Array.isArray(B.stride)&&typeof B.offset=="number"&&B.shape.length===B.stride.length&&(Array.isArray(B.data)||r(B.data))}var ys=function(B){return Object.keys(B).map(function(Z){return B[Z]})},Kg={shape:BF,flatten:MT};function FF(B,Z,ct){for(var Gt=0;Gt0){var Re;if(Array.isArray(Yt[0])){ce=Pi(Yt);for(var he=1,Oe=1;Oe0)if(typeof he[0]=="number"){var Ge=er.allocType(ue.dtype,he.length);bC(Ge,he),ce(Ge,vr),er.freeType(Ge)}else if(Array.isArray(he[0])||r(he[0])){Or=Pi(he);var Me=Di(he,Or,ue.dtype);ce(Me,vr),er.freeType(Me)}else V.raise("invalid buffer data")}else if(ko(he)){Or=he.shape;var fe=he.stride,Er=0,Vr=0,Je=0,on=0;Or.length===1?(Er=Or[0],Vr=1,Je=fe[0],on=0):Or.length===2?(Er=Or[0],Vr=Or[1],Je=fe[0],on=fe[1]):V.raise("invalid shape");var Dr=Array.isArray(he.data)?ue.dtype:xx(he.data),Kr=er.allocType(Dr,Er*Vr);LT(Kr,he.data,Er,Vr,Je,on,he.offset),ce(Kr,vr),er.freeType(Kr)}else V.raise("invalid data for buffer subdata");return He}return pe||He(Ot),He._reglType="buffer",He._buffer=ue,He.subdata=Re,ct.profile&&(He.stats=ue.stats),He.destroy=function(){Be(ue)},He}function De(){ys(zt).forEach(function(Ot){Ot.buffer=B.createBuffer(),B.bindBuffer(Ot.type,Ot.buffer),B.bufferData(Ot.type,Ot.persistentData||Ot.byteLength,Ot.usage)})}return ct.profile&&(Z.getTotalBufferSize=function(){var Ot=0;return Object.keys(zt).forEach(function(Yt){Ot+=zt[Yt].stats.size}),Ot}),{create:me,createStream:le,destroyStream:Ce,clear:function(){ys(zt).forEach(Be),ve.forEach(Be)},getBuffer:function(Ot){return Ot&&Ot._buffer instanceof Vt?Ot._buffer:null},restore:De,_initBuffer:Ie}}var _C=0,Sd=0,OT=1,SC=1,ml=4,DT=4,Cd={points:_C,point:Sd,lines:OT,line:SC,triangles:ml,triangle:DT,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},PT=0,kT=1,pv=4,RT=5120,Qa=5121,NT=5122,go=5123,FT=5124,Nc=5125,Ru=34963,bx=35040,CC=35044;function Zi(B,Z,ct,Gt){var Jt={},zt=0,Vt={uint8:Qa,uint16:go};Z.oes_element_index_uint&&(Vt.uint32=Nc);function ve(De){this.id=zt++,Jt[this.id]=this,this.buffer=De,this.primType=pv,this.vertCount=0,this.type=0}ve.prototype.bind=function(){this.buffer.bind()};var le=[];function Ce(De){var Ot=le.pop();return Ot||(Ot=new ve(ct.create(null,Ru,!0,!1)._buffer)),Ie(Ot,De,bx,-1,-1,0,0),Ot}function ye(De){le.push(De)}function Ie(De,Ot,Yt,pe,Le,ue,He){De.buffer.bind();var ce;if(Ot){var Re=He;!He&&(!r(Ot)||ko(Ot)&&!r(Ot.data))&&(Re=Z.oes_element_index_uint?Nc:go),ct._initBuffer(De.buffer,Ot,Yt,Re,3)}else B.bufferData(Ru,ue,Yt),De.buffer.dtype=ce||Qa,De.buffer.usage=Yt,De.buffer.dimension=3,De.buffer.byteLength=ue;if(ce=He,!He){switch(De.buffer.dtype){case Qa:case RT:ce=Qa;break;case go:case NT:ce=go;break;case Nc:case FT:ce=Nc;break;default:V.raise("unsupported type for element array")}De.buffer.dtype=ce}De.type=ce,V(ce!==Nc||!!Z.oes_element_index_uint,"32 bit element buffers not supported, enable oes_element_index_uint first");var he=Le;he<0&&(he=De.buffer.byteLength,ce===go?he>>=1:ce===Nc&&(he>>=2)),De.vertCount=he;var Oe=pe;if(pe<0){Oe=pv;var vr=De.buffer.dimension;vr===1&&(Oe=PT),vr===2&&(Oe=kT),vr===3&&(Oe=pv)}De.primType=Oe}function Be(De){Gt.elementsCount--,V(De.buffer!==null,"must not double destroy elements"),delete Jt[De.id],De.buffer.destroy(),De.buffer=null}function me(De,Ot){var Yt=ct.create(null,Ru,!0),pe=new ve(Yt._buffer);Gt.elementsCount++;function Le(ue){if(!ue)Yt(),pe.primType=pv,pe.vertCount=0,pe.type=Qa;else if(typeof ue=="number")Yt(ue),pe.primType=pv,pe.vertCount=ue|0,pe.type=Qa;else{var He=null,ce=CC,Re=-1,he=-1,Oe=0,vr=0;Array.isArray(ue)||r(ue)||ko(ue)?He=ue:(V.type(ue,"object","invalid arguments for elements"),"data"in ue&&(He=ue.data,V(Array.isArray(He)||r(He)||ko(He),"invalid data for element buffer")),"usage"in ue&&(V.parameter(ue.usage,yx,"invalid element buffer usage"),ce=yx[ue.usage]),"primitive"in ue&&(V.parameter(ue.primitive,Cd,"invalid element buffer primitive"),Re=Cd[ue.primitive]),"count"in ue&&(V(typeof ue.count=="number"&&ue.count>=0,"invalid vertex count for elements"),he=ue.count|0),"type"in ue&&(V.parameter(ue.type,Vt,"invalid buffer type"),vr=Vt[ue.type]),"length"in ue?Oe=ue.length|0:(Oe=he,vr===go||vr===NT?Oe*=2:(vr===Nc||vr===FT)&&(Oe*=4))),Ie(pe,He,ce,Re,he,Oe,vr)}return Le}return Le(De),Le._reglType="elements",Le._elements=pe,Le.subdata=function(ue,He){return Yt.subdata(ue,He),Le},Le.destroy=function(){Be(pe)},Le}return{create:me,createStream:Ce,destroyStream:ye,getElements:function(De){return typeof De=="function"&&De._elements instanceof ve?De._elements:null},clear:function(){ys(Jt).forEach(Be)}}}var Rf=new Float32Array(1),wC=new Uint32Array(Rf.buffer),qF=5123;function _x(B){for(var Z=er.allocType(qF,B.length),ct=0;ct>>31<<15,zt=(Gt<<1>>>24)-127,Vt=Gt>>13&(1<<10)-1;if(zt<-24)Z[ct]=Jt;else if(zt<-14){var ve=-14-zt;Z[ct]=Jt+(Vt+(1<<10)>>ve)}else zt>15?Z[ct]=Jt+31744:Z[ct]=Jt+(zt+15<<10)+Vt}return Z}function aa(B){return Array.isArray(B)||r(B)}var BT=function(B){return!(B&B-1)&&!!B},KF=34467,ru=3553,vv=34067,Nf=34069,wd=6408,Sx=6406,Zg=6407,Ed=6409,mv=6410,EC=32854,AC=32855,Cx=36194,MC=32819,ZF=32820,GT=33635,Fs=34042,$g=6402,Fc=34041,wx=35904,Ex=35906,gv=36193,TC=33776,IC=33777,LC=33778,OC=33779,Ad=35986,zT=35987,UT=34798,Ax=35840,DC=35841,Ff=35842,Qg=35843,jT=36196,yv=5121,PC=5123,Bc=5125,Qo=5126,WT=10242,$F=10243,QF=10497,kC=33071,JF=33648,tB=10240,Gc=10241,kt=9728,de=9729,te=9984,pr=9985,fn=9986,Qn=9987,Wa=33170,hi=4352,RC=4353,eB=4354,gl=34046,Mx=3317,rB=37440,xv=37441,Tx=37443,Jg=37444,Jn=33984,nB=[te,fn,pr,Qn],ty=[0,Ed,mv,Zg,wd],Jo={};Jo[Ed]=Jo[Sx]=Jo[$g]=1,Jo[Fc]=Jo[mv]=2,Jo[Zg]=Jo[wx]=3,Jo[wd]=Jo[Ex]=4;function bv(B){return"[object "+B+"]"}var VT=bv("HTMLCanvasElement"),HT=bv("OffscreenCanvas"),ey=bv("CanvasRenderingContext2D"),Bf=bv("ImageBitmap"),ry=bv("HTMLImageElement"),NC=bv("HTMLVideoElement"),Ix=Object.keys(mC).concat([VT,HT,ey,Bf,ry,NC]),Md=[];Md[yv]=1,Md[Qo]=4,Md[gv]=2,Md[PC]=2,Md[Bc]=4;var Va=[];Va[EC]=2,Va[AC]=2,Va[Cx]=2,Va[Fc]=4,Va[TC]=.5,Va[IC]=.5,Va[LC]=1,Va[OC]=1,Va[Ad]=.5,Va[zT]=1,Va[UT]=1,Va[Ax]=.5,Va[DC]=.25,Va[Ff]=.5,Va[Qg]=.25,Va[jT]=.5;function ny(B){return Array.isArray(B)&&(B.length===0||typeof B[0]=="number")}function FC(B){if(!Array.isArray(B))return!1;var Z=B.length;return!(Z===0||!aa(B[0]))}function nu(B){return Object.prototype.toString.call(B)}function zc(B){return nu(B)===VT}function iy(B){return nu(B)===HT}function iB(B){return nu(B)===ey}function aB(B){return nu(B)===Bf}function oB(B){return nu(B)===ry}function Lx(B){return nu(B)===NC}function _v(B){if(!B)return!1;var Z=nu(B);return Ix.indexOf(Z)>=0?!0:ny(B)||FC(B)||ko(B)}function Ox(B){return mC[Object.prototype.toString.call(B)]|0}function sB(B,Z){var ct=Z.length;switch(B.type){case yv:case PC:case Bc:case Qo:var Gt=er.allocType(B.type,ct);Gt.set(Z),B.data=Gt;break;case gv:B.data=_x(Z);break;default:V.raise("unsupported texture type, must specify a typed array")}}function BC(B,Z){return er.allocType(B.type===gv?Qo:B.type,Z)}function YT(B,Z){B.type===gv?(B.data=_x(Z),er.freeType(Z)):B.data=Z}function lB(B,Z,ct,Gt,Jt,zt){for(var Vt=B.width,ve=B.height,le=B.channels,Ce=Vt*ve*le,ye=BC(B,Ce),Ie=0,Be=0;Be=1;)ve+=Vt*le*le,le/=2;return ve}else return Vt*ct*Gt}function Ro(B,Z,ct,Gt,Jt,zt,Vt){var ve={"don't care":hi,"dont care":hi,nice:eB,fast:RC},le={repeat:QF,clamp:kC,mirror:JF},Ce={nearest:kt,linear:de},ye=e({mipmap:Qn,"nearest mipmap nearest":te,"linear mipmap nearest":pr,"nearest mipmap linear":fn,"linear mipmap linear":Qn},Ce),Ie={none:0,browser:Jg},Be={uint8:yv,rgba4:MC,rgb565:GT,"rgb5 a1":ZF},me={alpha:Sx,luminance:Ed,"luminance alpha":mv,rgb:Zg,rgba:wd,rgba4:EC,"rgb5 a1":AC,rgb565:Cx},De={};Z.ext_srgb&&(me.srgb=wx,me.srgba=Ex),Z.oes_texture_float&&(Be.float32=Be.float=Qo),Z.oes_texture_half_float&&(Be.float16=Be["half float"]=gv),Z.webgl_depth_texture&&(e(me,{depth:$g,"depth stencil":Fc}),e(Be,{uint16:PC,uint32:Bc,"depth stencil":Fs})),Z.webgl_compressed_texture_s3tc&&e(De,{"rgb s3tc dxt1":TC,"rgba s3tc dxt1":IC,"rgba s3tc dxt3":LC,"rgba s3tc dxt5":OC}),Z.webgl_compressed_texture_atc&&e(De,{"rgb atc":Ad,"rgba atc explicit alpha":zT,"rgba atc interpolated alpha":UT}),Z.webgl_compressed_texture_pvrtc&&e(De,{"rgb pvrtc 4bppv1":Ax,"rgb pvrtc 2bppv1":DC,"rgba pvrtc 4bppv1":Ff,"rgba pvrtc 2bppv1":Qg}),Z.webgl_compressed_texture_etc1&&(De["rgb etc1"]=jT);var Ot=Array.prototype.slice.call(B.getParameter(KF));Object.keys(De).forEach(function(ut){var jt=De[ut];Ot.indexOf(jt)>=0&&(me[ut]=jt)});var Yt=Object.keys(me);ct.textureFormats=Yt;var pe=[];Object.keys(me).forEach(function(ut){var jt=me[ut];pe[jt]=ut});var Le=[];Object.keys(Be).forEach(function(ut){var jt=Be[ut];Le[jt]=ut});var ue=[];Object.keys(Ce).forEach(function(ut){var jt=Ce[ut];ue[jt]=ut});var He=[];Object.keys(ye).forEach(function(ut){var jt=ye[ut];He[jt]=ut});var ce=[];Object.keys(le).forEach(function(ut){var jt=le[ut];ce[jt]=ut});var Re=Yt.reduce(function(ut,jt){var Nt=me[jt];return Nt===Ed||Nt===Sx||Nt===Ed||Nt===mv||Nt===$g||Nt===Fc||Z.ext_srgb&&(Nt===wx||Nt===Ex)?ut[Nt]=Nt:Nt===AC||jt.indexOf("rgba")>=0?ut[Nt]=wd:ut[Nt]=Zg,ut},{});function he(){this.internalformat=wd,this.format=wd,this.type=yv,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=Jg,this.width=0,this.height=0,this.channels=0}function Oe(ut,jt){ut.internalformat=jt.internalformat,ut.format=jt.format,ut.type=jt.type,ut.compressed=jt.compressed,ut.premultiplyAlpha=jt.premultiplyAlpha,ut.flipY=jt.flipY,ut.unpackAlignment=jt.unpackAlignment,ut.colorSpace=jt.colorSpace,ut.width=jt.width,ut.height=jt.height,ut.channels=jt.channels}function vr(ut,jt){if(!(typeof jt!="object"||!jt)){if("premultiplyAlpha"in jt&&(V.type(jt.premultiplyAlpha,"boolean","invalid premultiplyAlpha"),ut.premultiplyAlpha=jt.premultiplyAlpha),"flipY"in jt&&(V.type(jt.flipY,"boolean","invalid texture flip"),ut.flipY=jt.flipY),"alignment"in jt&&(V.oneOf(jt.alignment,[1,2,4,8],"invalid texture unpack alignment"),ut.unpackAlignment=jt.alignment),"colorSpace"in jt&&(V.parameter(jt.colorSpace,Ie,"invalid colorSpace"),ut.colorSpace=Ie[jt.colorSpace]),"type"in jt){var Nt=jt.type;V(Z.oes_texture_float||!(Nt==="float"||Nt==="float32"),"you must enable the OES_texture_float extension in order to use floating point textures."),V(Z.oes_texture_half_float||!(Nt==="half float"||Nt==="float16"),"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures."),V(Z.webgl_depth_texture||!(Nt==="uint16"||Nt==="uint32"||Nt==="depth stencil"),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),V.parameter(Nt,Be,"invalid texture type"),ut.type=Be[Nt]}var Xe=ut.width,sn=ut.height,ot=ut.channels,Q=!1;"shape"in jt?(V(Array.isArray(jt.shape)&&jt.shape.length>=2,"shape must be an array"),Xe=jt.shape[0],sn=jt.shape[1],jt.shape.length===3&&(ot=jt.shape[2],V(ot>0&&ot<=4,"invalid number of channels"),Q=!0),V(Xe>=0&&Xe<=ct.maxTextureSize,"invalid width"),V(sn>=0&&sn<=ct.maxTextureSize,"invalid height")):("radius"in jt&&(Xe=sn=jt.radius,V(Xe>=0&&Xe<=ct.maxTextureSize,"invalid radius")),"width"in jt&&(Xe=jt.width,V(Xe>=0&&Xe<=ct.maxTextureSize,"invalid width")),"height"in jt&&(sn=jt.height,V(sn>=0&&sn<=ct.maxTextureSize,"invalid height")),"channels"in jt&&(ot=jt.channels,V(ot>0&&ot<=4,"invalid number of channels"),Q=!0)),ut.width=Xe|0,ut.height=sn|0,ut.channels=ot|0;var yt=!1;if("format"in jt){var Lt=jt.format;V(Z.webgl_depth_texture||!(Lt==="depth"||Lt==="depth stencil"),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),V.parameter(Lt,me,"invalid texture format");var Dt=ut.internalformat=me[Lt];ut.format=Re[Dt],Lt in Be&&("type"in jt||(ut.type=Be[Lt])),Lt in De&&(ut.compressed=!0),yt=!0}!Q&&yt?ut.channels=Jo[ut.format]:Q&&!yt?ut.channels!==ty[ut.format]&&(ut.format=ut.internalformat=ty[ut.channels]):yt&&Q&&V(ut.channels===Jo[ut.format],"number of channels inconsistent with specified format")}}function Or(ut){B.pixelStorei(rB,ut.flipY),B.pixelStorei(xv,ut.premultiplyAlpha),B.pixelStorei(Tx,ut.colorSpace),B.pixelStorei(Mx,ut.unpackAlignment)}function Ge(){he.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Me(ut,jt){var Nt=null;if(_v(jt)?Nt=jt:jt&&(V.type(jt,"object","invalid pixel data type"),vr(ut,jt),"x"in jt&&(ut.xOffset=jt.x|0),"y"in jt&&(ut.yOffset=jt.y|0),_v(jt.data)&&(Nt=jt.data)),V(!ut.compressed||Nt instanceof Uint8Array,"compressed texture data must be stored in a uint8array"),jt.copy){V(!Nt,"can not specify copy and data field for the same texture");var Xe=Jt.viewportWidth,sn=Jt.viewportHeight;ut.width=ut.width||Xe-ut.xOffset,ut.height=ut.height||sn-ut.yOffset,ut.needsCopy=!0,V(ut.xOffset>=0&&ut.xOffset=0&&ut.yOffset0&&ut.width<=Xe&&ut.height>0&&ut.height<=sn,"copy texture read out of bounds")}else if(!Nt)ut.width=ut.width||1,ut.height=ut.height||1,ut.channels=ut.channels||4;else if(r(Nt))ut.channels=ut.channels||4,ut.data=Nt,!("type"in jt)&&ut.type===yv&&(ut.type=Ox(Nt));else if(ny(Nt))ut.channels=ut.channels||4,sB(ut,Nt),ut.alignment=1,ut.needsFree=!0;else if(ko(Nt)){var ot=Nt.data;!Array.isArray(ot)&&ut.type===yv&&(ut.type=Ox(ot));var Q=Nt.shape,yt=Nt.stride,Lt,Dt,Ct,xt,wt,rt;Q.length===3?(Ct=Q[2],rt=yt[2]):(V(Q.length===2,"invalid ndarray pixel data, must be 2 or 3D"),Ct=1,rt=1),Lt=Q[0],Dt=Q[1],xt=yt[0],wt=yt[1],ut.alignment=1,ut.width=Lt,ut.height=Dt,ut.channels=Ct,ut.format=ut.internalformat=ty[Ct],ut.needsFree=!0,lB(ut,ot,xt,wt,rt,Nt.offset)}else if(zc(Nt)||iy(Nt)||iB(Nt))zc(Nt)||iy(Nt)?ut.element=Nt:ut.element=Nt.canvas,ut.width=ut.element.width,ut.height=ut.element.height,ut.channels=4;else if(aB(Nt))ut.element=Nt,ut.width=Nt.width,ut.height=Nt.height,ut.channels=4;else if(oB(Nt))ut.element=Nt,ut.width=Nt.naturalWidth,ut.height=Nt.naturalHeight,ut.channels=4;else if(Lx(Nt))ut.element=Nt,ut.width=Nt.videoWidth,ut.height=Nt.videoHeight,ut.channels=4;else if(FC(Nt)){var mt=ut.width||Nt[0].length,nt=ut.height||Nt.length,It=ut.channels;aa(Nt[0][0])?It=It||Nt[0][0].length:It=It||1;for(var Pt=Kg.shape(Nt),re=1,ie=0;ie=0,"oes_texture_float extension not enabled"):ut.type===gv&&V(ct.extensions.indexOf("oes_texture_half_float")>=0,"oes_texture_half_float extension not enabled")}function fe(ut,jt,Nt){var Xe=ut.element,sn=ut.data,ot=ut.internalformat,Q=ut.format,yt=ut.type,Lt=ut.width,Dt=ut.height;Or(ut),Xe?B.texImage2D(jt,Nt,Q,Q,yt,Xe):ut.compressed?B.compressedTexImage2D(jt,Nt,ot,Lt,Dt,0,sn):ut.needsCopy?(Gt(),B.copyTexImage2D(jt,Nt,Q,ut.xOffset,ut.yOffset,Lt,Dt,0)):B.texImage2D(jt,Nt,Q,Lt,Dt,0,Q,yt,sn||null)}function Er(ut,jt,Nt,Xe,sn){var ot=ut.element,Q=ut.data,yt=ut.internalformat,Lt=ut.format,Dt=ut.type,Ct=ut.width,xt=ut.height;Or(ut),ot?B.texSubImage2D(jt,sn,Nt,Xe,Lt,Dt,ot):ut.compressed?B.compressedTexSubImage2D(jt,sn,Nt,Xe,yt,Ct,xt,Q):ut.needsCopy?(Gt(),B.copyTexSubImage2D(jt,sn,Nt,Xe,ut.xOffset,ut.yOffset,Ct,xt)):B.texSubImage2D(jt,sn,Nt,Xe,Ct,xt,Lt,Dt,Q)}var Vr=[];function Je(){return Vr.pop()||new Ge}function on(ut){ut.needsFree&&er.freeType(ut.data),Ge.call(ut),Vr.push(ut)}function Dr(){he.call(this),this.genMipmaps=!1,this.mipmapHint=hi,this.mipmask=0,this.images=Array(16)}function Kr(ut,jt,Nt){var Xe=ut.images[0]=Je();ut.mipmask=1,Xe.width=ut.width=jt,Xe.height=ut.height=Nt,Xe.channels=ut.channels=4}function yn(ut,jt){var Nt=null;if(_v(jt))Nt=ut.images[0]=Je(),Oe(Nt,ut),Me(Nt,jt),ut.mipmask=1;else if(vr(ut,jt),Array.isArray(jt.mipmap))for(var Xe=jt.mipmap,sn=0;sn>=sn,Nt.height>>=sn,Me(Nt,Xe[sn]),ut.mipmask|=1<=0&&!("faces"in jt)&&(ut.genMipmaps=!0)}if("mag"in jt){var Xe=jt.mag;V.parameter(Xe,Ce),ut.magFilter=Ce[Xe]}var sn=ut.wrapS,ot=ut.wrapT;if("wrap"in jt){var Q=jt.wrap;typeof Q=="string"?(V.parameter(Q,le),sn=ot=le[Q]):Array.isArray(Q)&&(V.parameter(Q[0],le),V.parameter(Q[1],le),sn=le[Q[0]],ot=le[Q[1]])}else{if("wrapS"in jt){var yt=jt.wrapS;V.parameter(yt,le),sn=le[yt]}if("wrapT"in jt){var Lt=jt.wrapT;V.parameter(Lt,le),ot=le[Lt]}}if(ut.wrapS=sn,ut.wrapT=ot,"anisotropic"in jt){var Dt=jt.anisotropic;V(typeof Dt=="number"&&Dt>=1&&Dt<=ct.maxAnisotropic,"aniso samples must be between 1 and "),ut.anisotropic=jt.anisotropic}if("mipmap"in jt){var Ct=!1;switch(typeof jt.mipmap){case"string":V.parameter(jt.mipmap,ve,"invalid mipmap hint"),ut.mipmapHint=ve[jt.mipmap],ut.genMipmaps=!0,Ct=!0;break;case"boolean":Ct=ut.genMipmaps=jt.mipmap;break;case"object":V(Array.isArray(jt.mipmap),"invalid mipmap type"),ut.genMipmaps=!1,Ct=!0;break;default:V.raise("invalid mipmap type")}Ct&&!("min"in jt)&&(ut.minFilter=te)}}function ki(ut,jt){B.texParameteri(jt,Gc,ut.minFilter),B.texParameteri(jt,tB,ut.magFilter),B.texParameteri(jt,WT,ut.wrapS),B.texParameteri(jt,$F,ut.wrapT),Z.ext_texture_filter_anisotropic&&B.texParameteri(jt,gl,ut.anisotropic),ut.genMipmaps&&(B.hint(Wa,ut.mipmapHint),B.generateMipmap(jt))}var Oa=0,ka={},eo=ct.maxTextureUnits,oa=Array(eo).map(function(){return null});function Yr(ut){he.call(this),this.mipmask=0,this.internalformat=wd,this.id=Oa++,this.refCount=1,this.target=ut,this.texture=B.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new bi,Vt.profile&&(this.stats={size:0})}function ro(ut){B.activeTexture(Jn),B.bindTexture(ut.target,ut.texture)}function Bn(){var ut=oa[0];ut?B.bindTexture(ut.target,ut.texture):B.bindTexture(ru,null)}function br(ut){var jt=ut.texture;V(jt,"must not double destroy texture");var Nt=ut.unit,Xe=ut.target;Nt>=0&&(B.activeTexture(Jn+Nt),B.bindTexture(Xe,null),oa[Nt]=null),B.deleteTexture(jt),ut.texture=null,ut.params=null,ut.pixels=null,ut.refCount=0,delete ka[ut.id],zt.textureCount--}e(Yr.prototype,{bind:function(){var ut=this;ut.bindCount+=1;var jt=ut.unit;if(jt<0){for(var Nt=0;Nt0)continue;Xe.unit=-1}oa[Nt]=ut,jt=Nt;break}jt>=eo&&V.raise("insufficient number of texture units"),Vt.profile&&zt.maxTextureUnits>wt)-Ct,rt.height=rt.height||(Nt.height>>wt)-xt,V(Nt.type===rt.type&&Nt.format===rt.format&&Nt.internalformat===rt.internalformat,"incompatible format for texture.subimage"),V(Ct>=0&&xt>=0&&Ct+rt.width<=Nt.width&&xt+rt.height<=Nt.height,"texture.subimage write out of bounds"),V(Nt.mipmask&1<>Ct;++Ct){var xt=Lt>>Ct,wt=Dt>>Ct;if(!xt||!wt)break;B.texImage2D(ru,Ct,Nt.format,xt,wt,0,Nt.format,Nt.type,null)}return Bn(),Vt.profile&&(Nt.stats.size=ga(Nt.internalformat,Nt.type,Lt,Dt,!1,!1)),Xe}return Xe(ut,jt),Xe.subimage=sn,Xe.resize=ot,Xe._reglType="texture2d",Xe._texture=Nt,Vt.profile&&(Xe.stats=Nt.stats),Xe.destroy=function(){Nt.decRef()},Xe}function Sn(ut,jt,Nt,Xe,sn,ot){var Q=new Yr(vv);ka[Q.id]=Q,zt.cubeCount++;var yt=new Array(6);function Lt(xt,wt,rt,mt,nt,It){var Pt,re=Q.texInfo;for(bi.call(re),Pt=0;Pt<6;++Pt)yt[Pt]=cn();if(typeof xt=="number"||!xt){var ie=xt|0||1;for(Pt=0;Pt<6;++Pt)Kr(yt[Pt],ie,ie)}else if(typeof xt=="object")if(wt)yn(yt[0],xt),yn(yt[1],wt),yn(yt[2],rt),yn(yt[3],mt),yn(yt[4],nt),yn(yt[5],It);else if(oi(re,xt),vr(Q,xt),"faces"in xt){var Kt=xt.faces;for(V(Array.isArray(Kt)&&Kt.length===6,"cube faces must be a length 6 array"),Pt=0;Pt<6;++Pt)V(typeof Kt[Pt]=="object"&&!!Kt[Pt],"invalid input for cube map face"),Oe(yt[Pt],Q),yn(yt[Pt],Kt[Pt])}else for(Pt=0;Pt<6;++Pt)yn(yt[Pt],xt);else V.raise("invalid arguments to cube map");for(Oe(Q,yt[0]),ct.npotTextureCube||V(BT(Q.width)&&BT(Q.height),"your browser does not support non power or two texture dimensions"),re.genMipmaps?Q.mipmask=(yt[0].width<<1)-1:Q.mipmask=yt[0].mipmask,V.textureCube(Q,re,yt,ct),Q.internalformat=yt[0].internalformat,Lt.width=yt[0].width,Lt.height=yt[0].height,ro(Q),Pt=0;Pt<6;++Pt)$i(yt[Pt],Nf+Pt);for(ki(re,vv),Bn(),Vt.profile&&(Q.stats.size=ga(Q.internalformat,Q.type,Lt.width,Lt.height,re.genMipmaps,!0)),Lt.format=pe[Q.internalformat],Lt.type=Le[Q.type],Lt.mag=ue[re.magFilter],Lt.min=He[re.minFilter],Lt.wrapS=ce[re.wrapS],Lt.wrapT=ce[re.wrapT],Pt=0;Pt<6;++Pt)Qi(yt[Pt]);return Lt}function Dt(xt,wt,rt,mt,nt){V(!!wt,"must specify image data"),V(typeof xt=="number"&&xt===(xt|0)&&xt>=0&&xt<6,"invalid face");var It=rt|0,Pt=mt|0,re=nt|0,ie=Je();return Oe(ie,Q),ie.width=0,ie.height=0,Me(ie,wt),ie.width=ie.width||(Q.width>>re)-It,ie.height=ie.height||(Q.height>>re)-Pt,V(Q.type===ie.type&&Q.format===ie.format&&Q.internalformat===ie.internalformat,"incompatible format for texture.subimage"),V(It>=0&&Pt>=0&&It+ie.width<=Q.width&&Pt+ie.height<=Q.height,"texture.subimage write out of bounds"),V(Q.mipmask&1<>mt;++mt)B.texImage2D(Nf+rt,mt,Q.format,wt>>mt,wt>>mt,0,Q.format,Q.type,null);return Bn(),Vt.profile&&(Q.stats.size=ga(Q.internalformat,Q.type,Lt.width,Lt.height,!1,!0)),Lt}}return Lt(ut,jt,Nt,Xe,sn,ot),Lt.subimage=Dt,Lt.resize=Ct,Lt._reglType="textureCube",Lt._texture=Q,Vt.profile&&(Lt.stats=Q.stats),Lt.destroy=function(){Q.decRef()},Lt}function sa(){for(var ut=0;ut>Xe,Nt.height>>Xe,0,Nt.internalformat,Nt.type,null);else for(var sn=0;sn<6;++sn)B.texImage2D(Nf+sn,Xe,Nt.internalformat,Nt.width>>Xe,Nt.height>>Xe,0,Nt.internalformat,Nt.type,null);ki(Nt.texInfo,Nt.target)})}function qd(){for(var ut=0;ut=2,"invalid renderbuffer shape"),He=Oe[0]|0,ce=Oe[1]|0}else"radius"in he&&(He=ce=he.radius|0),"width"in he&&(He=he.width|0),"height"in he&&(ce=he.height|0);"format"in he&&(V.parameter(he.format,zt,"invalid renderbuffer format"),Re=zt[he.format])}else typeof Le=="number"?(He=Le|0,typeof ue=="number"?ce=ue|0:ce=He):Le?V.raise("invalid arguments to renderbuffer constructor"):He=ce=1;if(V(He>0&&ce>0&&He<=ct.maxRenderbufferSize&&ce<=ct.maxRenderbufferSize,"invalid renderbuffer size"),!(He===Ot.width&&ce===Ot.height&&Re===Ot.format))return Yt.width=Ot.width=He,Yt.height=Ot.height=ce,Ot.format=Re,B.bindRenderbuffer(Uc,Ot.renderbuffer),B.renderbufferStorage(Uc,Re,He,ce),V(B.getError()===0,"invalid render buffer format"),Jt.profile&&(Ot.stats.size=qT(Ot.format,Ot.width,Ot.height)),Yt.format=Vt[Ot.format],Yt}function pe(Le,ue){var He=Le|0,ce=ue|0||He;return He===Ot.width&&ce===Ot.height||(V(He>0&&ce>0&&He<=ct.maxRenderbufferSize&&ce<=ct.maxRenderbufferSize,"invalid renderbuffer size"),Yt.width=Ot.width=He,Yt.height=Ot.height=ce,B.bindRenderbuffer(Uc,Ot.renderbuffer),B.renderbufferStorage(Uc,Ot.format,He,ce),V(B.getError()===0,"invalid render buffer format"),Jt.profile&&(Ot.stats.size=qT(Ot.format,Ot.width,Ot.height))),Yt}return Yt(me,De),Yt.resize=pe,Yt._reglType="renderbuffer",Yt._renderbuffer=Ot,Jt.profile&&(Yt.stats=Ot.stats),Yt.destroy=function(){Ot.decRef()},Yt}Jt.profile&&(Gt.getTotalRenderbufferSize=function(){var me=0;return Object.keys(le).forEach(function(De){me+=le[De].stats.size}),me});function Be(){ys(le).forEach(function(me){me.renderbuffer=B.createRenderbuffer(),B.bindRenderbuffer(Uc,me.renderbuffer),B.renderbufferStorage(Uc,me.format,me.width,me.height)}),B.bindRenderbuffer(Uc,null)}return{create:Ie,clear:function(){ys(le).forEach(ye)},restore:Be}},Gf=36160,zC=36161,Id=3553,Ld=34069,Ev=36064,UC=36096,tt=36128,Od=33306,oy=36053,yl=36054,Fn=36055,fB=36057,cB=36061,hB=36193,Dd=5121,dB=5126,KT=6407,ZT=6408,pB=6402,vB=[KT,ZT],iu=[];iu[ZT]=4,iu[KT]=3;var Rx=[];Rx[Dd]=1,Rx[dB]=4,Rx[hB]=2;var mB=32854,gB=32855,yB=36194,xB=33189,zf=36168,$T=34041,bB=35907,_B=34836,SB=34842,CB=34843,Pd=[mB,gB,yB,bB,SB,CB,_B],Av={};Av[oy]="complete",Av[yl]="incomplete attachment",Av[fB]="incomplete dimensions",Av[Fn]="incomplete, missing attachment",Av[cB]="unsupported";function wB(B,Z,ct,Gt,Jt,zt){var Vt={cur:null,next:null,dirty:!1,setFBO:null},ve=["rgba"],le=["rgba4","rgb565","rgb5 a1"];Z.ext_srgb&&le.push("srgba"),Z.ext_color_buffer_half_float&&le.push("rgba16f","rgb16f"),Z.webgl_color_buffer_float&&le.push("rgba32f");var Ce=["uint8"];Z.oes_texture_half_float&&Ce.push("half float","float16"),Z.oes_texture_float&&Ce.push("float","float32");function ye(Ge,Me,fe){this.target=Ge,this.texture=Me,this.renderbuffer=fe;var Er=0,Vr=0;Me?(Er=Me.width,Vr=Me.height):fe&&(Er=fe.width,Vr=fe.height),this.width=Er,this.height=Vr}function Ie(Ge){Ge&&(Ge.texture&&Ge.texture._texture.decRef(),Ge.renderbuffer&&Ge.renderbuffer._renderbuffer.decRef())}function Be(Ge,Me,fe){if(!!Ge)if(Ge.texture){var Er=Ge.texture._texture,Vr=Math.max(1,Er.width),Je=Math.max(1,Er.height);V(Vr===Me&&Je===fe,"inconsistent width/height for supplied texture"),Er.refCount+=1}else{var on=Ge.renderbuffer._renderbuffer;V(on.width===Me&&on.height===fe,"inconsistent width/height for renderbuffer"),on.refCount+=1}}function me(Ge,Me){Me&&(Me.texture?B.framebufferTexture2D(Gf,Ge,Me.target,Me.texture._texture.texture,0):B.framebufferRenderbuffer(Gf,Ge,zC,Me.renderbuffer._renderbuffer.renderbuffer))}function De(Ge){var Me=Id,fe=null,Er=null,Vr=Ge;typeof Ge=="object"&&(Vr=Ge.data,"target"in Ge&&(Me=Ge.target|0)),V.type(Vr,"function","invalid attachment data");var Je=Vr._reglType;return Je==="texture2d"?(fe=Vr,V(Me===Id)):Je==="textureCube"?(fe=Vr,V(Me>=Ld&&Me=2,"invalid shape for framebuffer"),Kr=ro[0],yn=ro[1]}else"radius"in Yr&&(Kr=yn=Yr.radius),"width"in Yr&&(Kr=Yr.width),"height"in Yr&&(yn=Yr.height);("color"in Yr||"colors"in Yr)&&(cn=Yr.color||Yr.colors,Array.isArray(cn)&&V(cn.length===1||Z.webgl_draw_buffers,"multiple render targets not supported")),cn||("colorCount"in Yr&&(ki=Yr.colorCount|0,V(ki>0,"invalid color buffer count")),"colorTexture"in Yr&&(Qi=!!Yr.colorTexture,bi="rgba4"),"colorType"in Yr&&(oi=Yr.colorType,Qi?(V(Z.oes_texture_float||!(oi==="float"||oi==="float32"),"you must enable OES_texture_float in order to use floating point framebuffer objects"),V(Z.oes_texture_half_float||!(oi==="half float"||oi==="float16"),"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects")):oi==="half float"||oi==="float16"?(V(Z.ext_color_buffer_half_float,"you must enable EXT_color_buffer_half_float to use 16-bit render buffers"),bi="rgba16f"):(oi==="float"||oi==="float32")&&(V(Z.webgl_color_buffer_float,"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers"),bi="rgba32f"),V.oneOf(oi,Ce,"invalid color type")),"colorFormat"in Yr&&(bi=Yr.colorFormat,ve.indexOf(bi)>=0?Qi=!0:le.indexOf(bi)>=0?Qi=!1:Qi?V.oneOf(Yr.colorFormat,ve,"invalid color format for texture"):V.oneOf(Yr.colorFormat,le,"invalid color format for renderbuffer"))),("depthTexture"in Yr||"depthStencilTexture"in Yr)&&(oa=!!(Yr.depthTexture||Yr.depthStencilTexture),V(!oa||Z.webgl_depth_texture,"webgl_depth_texture extension not supported")),"depth"in Yr&&(typeof Yr.depth=="boolean"?$i=Yr.depth:(Oa=Yr.depth,La=!1)),"stencil"in Yr&&(typeof Yr.stencil=="boolean"?La=Yr.stencil:(ka=Yr.stencil,$i=!1)),"depthStencil"in Yr&&(typeof Yr.depthStencil=="boolean"?$i=La=Yr.depthStencil:(eo=Yr.depthStencil,$i=!1,La=!1))}var Bn=null,br=null,hn=null,Sn=null;if(Array.isArray(cn))Bn=cn.map(De);else if(cn)Bn=[De(cn)];else for(Bn=new Array(ki),Dr=0;Dr=0||Bn[Dr].renderbuffer&&Pd.indexOf(Bn[Dr].renderbuffer._renderbuffer.format)>=0,"framebuffer color attachment "+Dr+" is invalid"),Bn[Dr]&&Bn[Dr].texture){var ju=iu[Bn[Dr].texture._texture.format]*Rx[Bn[Dr].texture._texture.type];sa===null?sa=ju:V(sa===ju,"all color attachments much have the same number of bits per pixel.")}return Be(br,Kr,yn),V(!br||br.texture&&br.texture._texture.format===pB||br.renderbuffer&&br.renderbuffer._renderbuffer.format===xB,"invalid depth attachment for framebuffer object"),Be(hn,Kr,yn),V(!hn||hn.renderbuffer&&hn.renderbuffer._renderbuffer.format===zf,"invalid stencil attachment for framebuffer object"),Be(Sn,Kr,yn),V(!Sn||Sn.texture&&Sn.texture._texture.format===$T||Sn.renderbuffer&&Sn.renderbuffer._renderbuffer.format===$T,"invalid depth-stencil attachment for framebuffer object"),ce(fe),fe.width=Kr,fe.height=yn,fe.colorAttachments=Bn,fe.depthAttachment=br,fe.stencilAttachment=hn,fe.depthStencilAttachment=Sn,Er.color=Bn.map(Yt),Er.depth=Yt(br),Er.stencil=Yt(hn),Er.depthStencil=Yt(Sn),Er.width=fe.width,Er.height=fe.height,he(fe),Er}function Vr(Je,on){V(Vt.next!==fe,"can not resize a framebuffer which is currently in use");var Dr=Math.max(Je|0,1),Kr=Math.max(on|0||Dr,1);if(Dr===fe.width&&Kr===fe.height)return Er;for(var yn=fe.colorAttachments,$i=0;$i=2,"invalid shape for framebuffer"),V(Qi[0]===Qi[1],"cube framebuffer must be square"),Dr=Qi[0]}else"radius"in cn&&(Dr=cn.radius|0),"width"in cn?(Dr=cn.width|0,"height"in cn&&V(cn.height===Dr,"must be square")):"height"in cn&&(Dr=cn.height|0);("color"in cn||"colors"in cn)&&(Kr=cn.color||cn.colors,Array.isArray(Kr)&&V(Kr.length===1||Z.webgl_draw_buffers,"multiple render targets not supported")),Kr||("colorCount"in cn&&(La=cn.colorCount|0,V(La>0,"invalid color buffer count")),"colorType"in cn&&(V.oneOf(cn.colorType,Ce,"invalid color type"),$i=cn.colorType),"colorFormat"in cn&&(yn=cn.colorFormat,V.oneOf(cn.colorFormat,ve,"invalid color format for texture"))),"depth"in cn&&(on.depth=cn.depth),"stencil"in cn&&(on.stencil=cn.stencil),"depthStencil"in cn&&(on.depthStencil=cn.depthStencil)}var bi;if(Kr)if(Array.isArray(Kr))for(bi=[],Je=0;Je0&&(on.depth=Me[0].depth,on.stencil=Me[0].stencil,on.depthStencil=Me[0].depthStencil),Me[Je]?Me[Je](on):Me[Je]=Oe(on)}return e(fe,{width:Dr,height:Dr,color:bi})}function Er(Vr){var Je,on=Vr|0;if(V(on>0&&on<=ct.maxCubeMapSize,"invalid radius for cube fbo"),on===fe.width)return fe;var Dr=fe.color;for(Je=0;Je0,"must specify at least one attribute");var vr={},Or=Re.attributes;Or.length=Oe.length;for(var Ge=0;Ge=Er.byteLength?Vr.subdata(Er):(Vr.destroy(),Re.buffers[Ge]=null)),Re.buffers[Ge]||(Vr=Re.buffers[Ge]=Jt.create(Me,QT,!1,!0)),fe.buffer=Jt.getBuffer(Vr),fe.size=fe.buffer.dimension|0,fe.normalized=!1,fe.type=fe.buffer.dtype,fe.offset=0,fe.stride=0,fe.divisor=0,fe.state=1,vr[Ge]=1}else Jt.getBuffer(Me)?(fe.buffer=Jt.getBuffer(Me),fe.size=fe.buffer.dimension|0,fe.normalized=!1,fe.type=fe.buffer.dtype,fe.offset=0,fe.stride=0,fe.divisor=0,fe.state=1):Jt.getBuffer(Me.buffer)?(fe.buffer=Jt.getBuffer(Me.buffer),fe.size=(+Me.size||fe.buffer.dimension)|0,fe.normalized=!!Me.normalized||!1,"type"in Me?(V.parameter(Me.type,_d,"invalid buffer type"),fe.type=_d[Me.type]):fe.type=fe.buffer.dtype,fe.offset=(Me.offset||0)|0,fe.stride=(Me.stride||0)|0,fe.divisor=(Me.divisor||0)|0,fe.state=1,V(fe.size>=1&&fe.size<=4,"size must be between 1 and 4"),V(fe.offset>=0,"invalid offset"),V(fe.stride>=0&&fe.stride<=255,"stride must be between 0 and 255"),V(fe.divisor>=0,"divisor must be positive"),V(!fe.divisor||!!Z.angle_instanced_arrays,"ANGLE_instanced_arrays must be enabled to use divisor")):"x"in Me?(V(Ge>0,"first attribute must not be a constant"),fe.x=+Me.x||0,fe.y=+Me.y||0,fe.z=+Me.z||0,fe.w=+Me.w||0,fe.state=2):V(!1,"invalid attribute spec for location "+Ge)}for(var Je=0;Je1)for(var Or=0;OrOt&&(Ot=Yt.stats.uniformsCount)}),Ot},ct.getMaxAttributesCount=function(){var Ot=0;return ye.forEach(function(Yt){Yt.stats.attributesCount>Ot&&(Ot=Yt.stats.attributesCount)}),Ot});function De(){Jt={},zt={};for(var Ot=0;Ot=0,"missing vertex shader",pe),V.command(Yt>=0,"missing fragment shader",pe);var ue=Ce[Yt];ue||(ue=Ce[Yt]={});var He=ue[Ot];if(He&&(He.refCount++,!Le))return He;var ce=new Be(Yt,Ot);return ct.shaderCount++,me(ce,pe,Le),He||(ue[Ot]=ce),ye.push(ce),e(ce,{destroy:function(){if(ce.refCount--,ce.refCount<=0){B.deleteProgram(ce.program);var Re=ye.indexOf(ce);ye.splice(Re,1),ct.shaderCount--}ue[ce.vertId].refCount<=0&&(B.deleteShader(zt[ce.vertId]),delete zt[ce.vertId],delete Ce[ce.fragId][ce.vertId]),Object.keys(Ce[ce.fragId]).length||(B.deleteShader(Jt[ce.fragId]),delete Jt[ce.fragId],delete Ce[ce.fragId])}})},restore:De,shader:le,frag:-1,vert:-1}}var TB=6408,kd=5121,sy=3333,Rd=5126;function IB(B,Z,ct,Gt,Jt,zt,Vt){function ve(ye){var Ie;Z.next===null?(V(Jt.preserveDrawingBuffer,'you must create a webgl context with "preserveDrawingBuffer":true in order to read pixels from the drawing buffer'),Ie=kd):(V(Z.next.colorAttachments[0].texture!==null,"You cannot read from a renderbuffer"),Ie=Z.next.colorAttachments[0].texture._texture.type,zt.oes_texture_float?(V(Ie===kd||Ie===Rd,"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'"),Ie===Rd&&V(Vt.readFloat,"Reading 'float' values is not permitted in your browser. For a fallback, please see: https://www.npmjs.com/package/glsl-read-float")):V(Ie===kd,"Reading from a framebuffer is only allowed for the type 'uint8'"));var Be=0,me=0,De=Gt.framebufferWidth,Ot=Gt.framebufferHeight,Yt=null;r(ye)?Yt=ye:ye&&(V.type(ye,"object","invalid arguments to regl.read()"),Be=ye.x|0,me=ye.y|0,V(Be>=0&&Be=0&&me0&&De+Be<=Gt.framebufferWidth,"invalid width for read pixels"),V(Ot>0&&Ot+me<=Gt.framebufferHeight,"invalid height for read pixels"),ct();var pe=De*Ot*4;return Yt||(Ie===kd?Yt=new Uint8Array(pe):Ie===Rd&&(Yt=Yt||new Float32Array(pe))),V.isTypedArray(Yt,"data buffer for regl.read() must be a typedarray"),V(Yt.byteLength>=pe,"data buffer for regl.read() too small"),B.pixelStorei(sy,4),B.readPixels(Be,me,De,Ot,TB,Ie,Yt),Yt}function le(ye){var Ie;return Z.setFBO({framebuffer:ye.framebuffer},function(){Ie=ve(ye)}),Ie}function Ce(ye){return!ye||!("framebuffer"in ye)?ve(ye):le(ye)}return Ce}function Nd(B){return Array.prototype.slice.call(B)}function Mv(B){return Nd(B).join("")}function Uf(){var B=0,Z=[],ct=[];function Gt(Ie){for(var Be=0;Be0&&(Ie.push(Ot,"="),Ie.push.apply(Ie,Nd(arguments)),Ie.push(";")),Ot}return e(Be,{def:De,toString:function(){return Mv([me.length>0?"var "+me.join(",")+";":"",Mv(Ie)])}})}function zt(){var Ie=Jt(),Be=Jt(),me=Ie.toString,De=Be.toString;function Ot(Yt,pe){Be(Yt,pe,"=",Ie.def(Yt,pe),";")}return e(function(){Ie.apply(Ie,Nd(arguments))},{def:Ie.def,entry:Ie,exit:Be,save:Ot,set:function(Yt,pe,Le){Ot(Yt,pe),Ie(Yt,pe,"=",Le,";")},toString:function(){return me()+De()}})}function Vt(){var Ie=Mv(arguments),Be=zt(),me=zt(),De=Be.toString,Ot=me.toString;return e(Be,{then:function(){return Be.apply(Be,Nd(arguments)),this},else:function(){return me.apply(me,Nd(arguments)),this},toString:function(){var Yt=Ot();return Yt&&(Yt="else{"+Yt+"}"),Mv(["if(",Ie,"){",De(),"}",Yt])}})}var ve=Jt(),le={};function Ce(Ie,Be){var me=[];function De(){var ue="a"+me.length;return me.push(ue),ue}Be=Be||0;for(var Ot=0;Ot0&&Z.push(new x("unknown",0,ct))}}),Z}function A(B,Z){Z.forEach(function(ct){var Gt=B[ct.file];if(Gt){var Jt=Gt.index[ct.line];if(Jt){Jt.errors.push(ct),Gt.hasErrors=!0;return}}B.unknown.hasErrors=!0,B.unknown.lines[0].errors.push(ct)})}function L(B,Z,ct,Gt,Jt){if(!B.getShaderParameter(Z,B.COMPILE_STATUS)){var zt=B.getShaderInfoLog(Z),Vt=Gt===B.FRAGMENT_SHADER?"fragment":"vertex";F(ct,"string",Vt+" shader source must be a string",Jt);var ve=C(ct,Jt),le=w(zt);A(ve,le),Object.keys(ve).forEach(function(Ce){var ye=ve[Ce];if(!ye.hasErrors)return;var Ie=[""],Be=[""];function me(Pe,Ot){Ie.push(Pe),Be.push(Ot||"")}me("file number "+Ce+": "+ye.name+` +`,"color:red;text-decoration:underline;font-weight:bold"),ye.lines.forEach(function(Pe){if(Pe.errors.length>0){me(v(Pe.number,4)+"| ","background-color:yellow; font-weight:bold"),me(Pe.line+t,"color:red; background-color:yellow; font-weight:bold");var Ot=0;Pe.errors.forEach(function(Yt){var pe=Yt.message,Le=/^\s*'(.*)'\s*:\s*(.*)$/.exec(pe);if(Le){var ue=Le[1];switch(pe=Le[2],ue){case"assign":ue="=";break}Ot=Math.max(Pe.line.indexOf(ue,Ot),0)}else Ot=0;me(v("| ",6)),me(v("^^^",Ot+3)+t,"font-weight:bold"),me(v("| ",6)),me(pe+t,"font-weight:bold")}),me(v("| ",6)+t)}else me(v(Pe.number,4)+"| "),me(Pe.line+t,"color:red")}),typeof document!="undefined"&&!window.chrome?(Be[0]=Ie.join("%c"),console.log.apply(console,Be)):console.log(Ie.join(""))}),a.raise("Error compiling "+Vt+" shader, "+ve[0].name)}}function k(B,Z,ct,Gt,Jt){if(!B.getProgramParameter(Z,B.LINK_STATUS)){var zt=B.getProgramInfoLog(Z),Vt=C(ct,Jt),ve=C(Gt,Jt),le='Error linking program with vertex shader, "'+ve[0].name+'", and fragment shader "'+Vt[0].name+'"';typeof document!="undefined"?console.log("%c"+le+t+"%c"+zt,"color:red;text-decoration:underline;font-weight:bold","color:red"):console.log(le+t+zt),a.raise(le)}}function O(B){B._commandRef=b()}function M(B,Z,ct,Gt){O(B);function Jt(le){return le?Gt.id(le):0}B._fragId=Jt(B.static.frag),B._vertId=Jt(B.static.vert);function zt(le,Ce){Object.keys(Ce).forEach(function(ye){le[Gt.id(ye)]=!0})}var Vt=B._uniformSet={};zt(Vt,Z.static),zt(Vt,Z.dynamic);var ve=B._attributeSet={};zt(ve,ct.static),zt(ve,ct.dynamic),B._hasCount="count"in B.static||"count"in B.dynamic||"elements"in B.static||"elements"in B.dynamic}function I(B,Z){var ct=S();i(B+" in command "+(Z||b())+(ct==="unknown"?"":" called from "+ct))}function R(B,Z,ct){B||I(Z,ct||b())}function P(B,Z,ct,Gt){B in Z||I("unknown parameter ("+B+")"+o(ct)+". possible values: "+Object.keys(Z).join(),Gt||b())}function F(B,Z,ct,Gt){u(B,Z)||I("invalid parameter type"+o(ct)+". expected "+Z+", got "+typeof B,Gt||b())}function D(B){B()}function G(B,Z,ct){B.texture?h(B.texture._texture.internalformat,Z,"unsupported texture format for attachment"):h(B.renderbuffer._renderbuffer.format,ct,"unsupported renderbuffer format for attachment")}var U=33071,j=9728,H=9984,tt=9985,et=9986,ut=9987,$=5120,st=5121,_t=5122,dt=5123,gt=5124,Tt=5125,Ut=5126,$t=32819,Y=32820,it=33635,K=34042,Rt=36193,Xt={};Xt[$]=Xt[st]=1,Xt[_t]=Xt[dt]=Xt[Rt]=Xt[it]=Xt[$t]=Xt[Y]=2,Xt[gt]=Xt[Tt]=Xt[Ut]=Xt[K]=4;function Zt(B,Z){return B===Y||B===$t||B===it?2:B===K?4:Xt[B]*Z}function Ae(B){return!(B&B-1)&&!!B}function We(B,Z,ct){var Gt,Jt=Z.width,zt=Z.height,Vt=Z.channels;a(Jt>0&&Jt<=ct.maxTextureSize&&zt>0&&zt<=ct.maxTextureSize,"invalid texture shape"),(B.wrapS!==U||B.wrapT!==U)&&a(Ae(Jt)&&Ae(zt),"incompatible wrap mode for texture, both width and height must be power of 2"),Z.mipmask===1?Jt!==1&&zt!==1&&a(B.minFilter!==H&&B.minFilter!==et&&B.minFilter!==tt&&B.minFilter!==ut,"min filter requires mipmap"):(a(Ae(Jt)&&Ae(zt),"texture must be a square power of 2 to support mipmapping"),a(Z.mipmask===(Jt<<1)-1,"missing or incomplete mipmap data")),Z.type===Ut&&(ct.extensions.indexOf("oes_texture_float_linear")<0&&a(B.minFilter===j&&B.magFilter===j,"filter not supported, must enable oes_texture_float_linear"),a(!B.genMipmaps,"mipmap generation not supported with float textures"));var ve=Z.images;for(Gt=0;Gt<16;++Gt)if(ve[Gt]){var le=Jt>>Gt,Ce=zt>>Gt;a(Z.mipmask&1<0&&Jt<=Gt.maxTextureSize&&zt>0&&zt<=Gt.maxTextureSize,"invalid texture shape"),a(Jt===zt,"cube map must be square"),a(Z.wrapS===U&&Z.wrapT===U,"wrap mode not supported by cube map");for(var ve=0;ve>ye,me=zt>>ye;a(le.mipmask&1<1&&Z===ct&&(Z==='"'||Z==="'"))return['"'+Wt(B.substr(1,B.length-2))+'"'];var Gt=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(B);if(Gt)return ee(B.substr(0,Gt.index)).concat(ee(Gt[1])).concat(ee(B.substr(Gt.index+Gt[0].length)));var Jt=B.split(".");if(Jt.length===1)return['"'+Wt(B)+'"'];for(var zt=[],Vt=0;Vtge(ct,Z+"["+Gt+"]")));if(B instanceof St)return B;W(!1,"invalid option type in uniform "+Z)}var Ye={DynamicVariable:St,define:Ht,isDynamic:ae,unbox:ge,accessor:Ue},Ve={next:typeof requestAnimationFrame=="function"?function(B){return requestAnimationFrame(B)}:function(B){return setTimeout(B,16)},cancel:typeof cancelAnimationFrame=="function"?function(B){return cancelAnimationFrame(B)}:clearTimeout},$n=typeof performance!="undefined"&&performance.now?function(){return performance.now()}:function(){return+new Date};function ga(){var B={"":0},Z=[""];return{id:function(ct){var Gt=B[ct];return Gt||(Gt=B[ct]=Z.length,Z.push(ct),Gt)},str:function(ct){return Z[ct]}}}function _n(B,Z,ct){var Gt=document.createElement("canvas");e(Gt.style,{border:0,margin:0,padding:0,top:0,left:0}),B.appendChild(Gt),B===document.body&&(Gt.style.position="absolute",e(B.style,{margin:0,padding:0}));function Jt(){var ve=window.innerWidth,le=window.innerHeight;if(B!==document.body){var Ce=B.getBoundingClientRect();ve=Ce.right-Ce.left,le=Ce.bottom-Ce.top}Gt.width=ct*ve,Gt.height=ct*le,e(Gt.style,{width:ve+"px",height:le+"px"})}var zt;B!==document.body&&typeof ResizeObserver=="function"?(zt=new ResizeObserver(function(){setTimeout(Jt)}),zt.observe(B)):window.addEventListener("resize",Jt,!1);function Vt(){zt?zt.disconnect():window.removeEventListener("resize",Jt),B.removeChild(Gt)}return Jt(),{canvas:Gt,onDestroy:Vt}}function ii(B,Z){function ct(Gt){try{return B.getContext(Gt,Z)}catch(Jt){return null}}return ct("webgl")||ct("experimental-webgl")||ct("webgl-experimental")}function xi(B){return typeof B.nodeName=="string"&&typeof B.appendChild=="function"&&typeof B.getBoundingClientRect=="function"}function Ki(B){return typeof B.drawArrays=="function"||typeof B.drawElements=="function"}function En(B){return typeof B=="string"?B.split():(W(Array.isArray(B),"invalid extension array"),B)}function ci(B){return typeof B=="string"?(W(typeof document!="undefined","not supported outside of DOM"),document.querySelector(B)):B}function Nn(B){var Z=B||{},ct,Gt,Jt,zt,Vt={},ve=[],le=[],Ce=typeof window=="undefined"?1:window.devicePixelRatio,ye=!1,Ie=function(Pe){Pe&&W.raise(Pe)},Be=function(){};if(typeof Z=="string"?(W(typeof document!="undefined","selector queries only supported in DOM enviroments"),ct=document.querySelector(Z),W(ct,"invalid query string for element")):typeof Z=="object"?xi(Z)?ct=Z:Ki(Z)?(zt=Z,Jt=zt.canvas):(W.constructor(Z),"gl"in Z?zt=Z.gl:"canvas"in Z?Jt=ci(Z.canvas):"container"in Z&&(Gt=ci(Z.container)),"attributes"in Z&&(Vt=Z.attributes,W.type(Vt,"object","invalid context attributes")),"extensions"in Z&&(ve=En(Z.extensions)),"optionalExtensions"in Z&&(le=En(Z.optionalExtensions)),"onDone"in Z&&(W.type(Z.onDone,"function","invalid or missing onDone callback"),Ie=Z.onDone),"profile"in Z&&(ye=!!Z.profile),"pixelRatio"in Z&&(Ce=+Z.pixelRatio,W(Ce>0,"invalid pixel ratio"))):W.raise("invalid arguments to regl"),ct&&(ct.nodeName.toLowerCase()==="canvas"?Jt=ct:Gt=ct),!zt){if(!Jt){W(typeof document!="undefined","must manually specify webgl context outside of DOM environments");var me=_n(Gt||document.body,Ie,Ce);if(!me)return null;Jt=me.canvas,Be=me.onDestroy}Vt.premultipliedAlpha===void 0&&(Vt.premultipliedAlpha=!0),zt=ii(Jt,Vt)}return zt?{gl:zt,canvas:Jt,container:Gt,extensions:ve,optionalExtensions:le,pixelRatio:Ce,profile:ye,onDone:Ie,onDestroy:Be}:(Be(),Ie("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function Ia(B,Z){var ct={};function Gt(Vt){W.type(Vt,"string","extension name must be string");var ve=Vt.toLowerCase(),le;try{le=ct[ve]=B.getExtension(ve)}catch(Ce){}return!!le}for(var Jt=0;Jt65535)<<4,B>>>=Z,ct=(B>255)<<3,B>>>=ct,Z|=ct,ct=(B>15)<<2,B>>>=ct,Z|=ct,ct=(B>3)<<1,B>>>=ct,Z|=ct,Z|B>>1}function xs(){var B=Li(8,function(){return[]});function Z(zt){var Vt=yo(zt),ve=B[Oi(Vt)>>2];return ve.length>0?ve.pop():new ArrayBuffer(Vt)}function ct(zt){B[Oi(zt.byteLength)>>2].push(zt)}function Gt(zt,Vt){var ve=null;switch(zt){case ko:ve=new Int8Array(Z(Vt),0,Vt);break;case ku:ve=new Uint8Array(Z(Vt),0,Vt);break;case Ro:ve=new Int16Array(Z(2*Vt),0,Vt);break;case ys:ve=new Uint16Array(Z(2*Vt),0,Vt);break;case Jo:ve=new Int32Array(Z(4*Vt),0,Vt);break;case vl:ve=new Uint32Array(Z(4*Vt),0,Vt);break;case Fs:ve=new Float32Array(Z(4*Vt),0,Vt);break;default:return null}return ve.length!==Vt?ve.subarray(0,Vt):ve}function Jt(zt){ct(zt.buffer)}return{alloc:Z,free:ct,allocType:Gt,freeType:Jt}}var er=xs();er.zero=xs();var ai=3408,vn=3410,ji=3411,La=3412,Lf=3413,Of=3414,eu=3415,Df=33901,Pf=33902,kf=3379,pv=3386,uC=34921,vv=36347,fC=36348,cC=35661,RF=35660,CT=34930,wT=36349,ET=34076,NF=34024,FF=7936,BF=7937,GF=7938,AT=35724,MT=34047,TT=36063,hC=34852,xx=3553,dC=34067,bx=34069,IT=33984,Kg=6408,_x=5126,pC=5121,Zg=36160,zF=36053,LT=36064,vC=16384,mC=function(B,Z){var ct=1;Z.ext_texture_filter_anisotropic&&(ct=B.getParameter(MT));var Gt=1,Jt=1;Z.webgl_draw_buffers&&(Gt=B.getParameter(hC),Jt=B.getParameter(TT));var zt=!!Z.oes_texture_float;if(zt){var Vt=B.createTexture();B.bindTexture(xx,Vt),B.texImage2D(xx,0,Kg,1,1,0,Kg,_x,null);var ve=B.createFramebuffer();if(B.bindFramebuffer(Zg,ve),B.framebufferTexture2D(Zg,LT,xx,Vt,0),B.bindTexture(xx,null),B.checkFramebufferStatus(Zg)!==zF)zt=!1;else{B.viewport(0,0,1,1),B.clearColor(1,0,0,1),B.clear(vC);var le=er.allocType(_x,4);B.readPixels(0,0,1,1,Kg,_x,le),B.getError()?zt=!1:(B.deleteFramebuffer(ve),B.deleteTexture(Vt),zt=le[0]===1),er.freeType(le)}}var Ce=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),ye=!0;if(!Ce){var Ie=B.createTexture(),Be=er.allocType(pC,36);B.activeTexture(IT),B.bindTexture(dC,Ie),B.texImage2D(bx,0,Kg,3,3,0,Kg,pC,Be),er.freeType(Be),B.bindTexture(dC,null),B.deleteTexture(Ie),ye=!B.getError()}return{colorBits:[B.getParameter(vn),B.getParameter(ji),B.getParameter(La),B.getParameter(Lf)],depthBits:B.getParameter(Of),stencilBits:B.getParameter(eu),subpixelBits:B.getParameter(ai),extensions:Object.keys(Z).filter(function(me){return!!Z[me]}),maxAnisotropic:ct,maxDrawbuffers:Gt,maxColorAttachments:Jt,pointSizeDims:B.getParameter(Df),lineWidthDims:B.getParameter(Pf),maxViewportDims:B.getParameter(pv),maxCombinedTextureUnits:B.getParameter(cC),maxCubeMapSize:B.getParameter(ET),maxRenderbufferSize:B.getParameter(NF),maxTextureUnits:B.getParameter(CT),maxTextureSize:B.getParameter(kf),maxAttributes:B.getParameter(uC),maxVertexUniforms:B.getParameter(vv),maxVertexTextureUnits:B.getParameter(RF),maxVaryingVectors:B.getParameter(fC),maxFragmentUniforms:B.getParameter(wT),glsl:B.getParameter(AT),renderer:B.getParameter(BF),vendor:B.getParameter(FF),version:B.getParameter(GF),readFloat:zt,npotTextureCube:ye}};function No(B){return!!B&&typeof B=="object"&&Array.isArray(B.shape)&&Array.isArray(B.stride)&&typeof B.offset=="number"&&B.shape.length===B.stride.length&&(Array.isArray(B.data)||r(B.data))}var bs=function(B){return Object.keys(B).map(function(Z){return B[Z]})},$g={shape:jF,flatten:DT};function UF(B,Z,ct){for(var Gt=0;Gt0){var Re;if(Array.isArray(Yt[0])){ce=Pi(Yt);for(var he=1,Oe=1;Oe0)if(typeof he[0]=="number"){var Ge=er.allocType(ue.dtype,he.length);CC(Ge,he),ce(Ge,vr),er.freeType(Ge)}else if(Array.isArray(he[0])||r(he[0])){Dr=Pi(he);var Me=Di(he,Dr,ue.dtype);ce(Me,vr),er.freeType(Me)}else W.raise("invalid buffer data")}else if(No(he)){Dr=he.shape;var fe=he.stride,Er=0,Vr=0,Je=0,on=0;Dr.length===1?(Er=Dr[0],Vr=1,Je=fe[0],on=0):Dr.length===2?(Er=Dr[0],Vr=Dr[1],Je=fe[0],on=fe[1]):W.raise("invalid shape");var Pr=Array.isArray(he.data)?ue.dtype:Cx(he.data),Kr=er.allocType(Pr,Er*Vr);RT(Kr,he.data,Er,Vr,Je,on,he.offset),ce(Kr,vr),er.freeType(Kr)}else W.raise("invalid data for buffer subdata");return He}return pe||He(Ot),He._reglType="buffer",He._buffer=ue,He.subdata=Re,ct.profile&&(He.stats=ue.stats),He.destroy=function(){Be(ue)},He}function Pe(){bs(zt).forEach(function(Ot){Ot.buffer=B.createBuffer(),B.bindBuffer(Ot.type,Ot.buffer),B.bufferData(Ot.type,Ot.persistentData||Ot.byteLength,Ot.usage)})}return ct.profile&&(Z.getTotalBufferSize=function(){var Ot=0;return Object.keys(zt).forEach(function(Yt){Ot+=zt[Yt].stats.size}),Ot}),{create:me,createStream:le,destroyStream:Ce,clear:function(){bs(zt).forEach(Be),ve.forEach(Be)},getBuffer:function(Ot){return Ot&&Ot._buffer instanceof Vt?Ot._buffer:null},restore:Pe,_initBuffer:Ie}}var wC=0,Sd=0,NT=1,EC=1,ml=4,FT=4,Cd={points:wC,point:Sd,lines:NT,line:EC,triangles:ml,triangle:FT,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},BT=0,GT=1,mv=4,zT=5120,to=5121,UT=5122,xo=5123,jT=5124,Nc=5125,Ru=34963,wx=35040,AC=35044;function Zi(B,Z,ct,Gt){var Jt={},zt=0,Vt={uint8:to,uint16:xo};Z.oes_element_index_uint&&(Vt.uint32=Nc);function ve(Pe){this.id=zt++,Jt[this.id]=this,this.buffer=Pe,this.primType=mv,this.vertCount=0,this.type=0}ve.prototype.bind=function(){this.buffer.bind()};var le=[];function Ce(Pe){var Ot=le.pop();return Ot||(Ot=new ve(ct.create(null,Ru,!0,!1)._buffer)),Ie(Ot,Pe,wx,-1,-1,0,0),Ot}function ye(Pe){le.push(Pe)}function Ie(Pe,Ot,Yt,pe,Le,ue,He){Pe.buffer.bind();var ce;if(Ot){var Re=He;!He&&(!r(Ot)||No(Ot)&&!r(Ot.data))&&(Re=Z.oes_element_index_uint?Nc:xo),ct._initBuffer(Pe.buffer,Ot,Yt,Re,3)}else B.bufferData(Ru,ue,Yt),Pe.buffer.dtype=ce||to,Pe.buffer.usage=Yt,Pe.buffer.dimension=3,Pe.buffer.byteLength=ue;if(ce=He,!He){switch(Pe.buffer.dtype){case to:case zT:ce=to;break;case xo:case UT:ce=xo;break;case Nc:case jT:ce=Nc;break;default:W.raise("unsupported type for element array")}Pe.buffer.dtype=ce}Pe.type=ce,W(ce!==Nc||!!Z.oes_element_index_uint,"32 bit element buffers not supported, enable oes_element_index_uint first");var he=Le;he<0&&(he=Pe.buffer.byteLength,ce===xo?he>>=1:ce===Nc&&(he>>=2)),Pe.vertCount=he;var Oe=pe;if(pe<0){Oe=mv;var vr=Pe.buffer.dimension;vr===1&&(Oe=BT),vr===2&&(Oe=GT),vr===3&&(Oe=mv)}Pe.primType=Oe}function Be(Pe){Gt.elementsCount--,W(Pe.buffer!==null,"must not double destroy elements"),delete Jt[Pe.id],Pe.buffer.destroy(),Pe.buffer=null}function me(Pe,Ot){var Yt=ct.create(null,Ru,!0),pe=new ve(Yt._buffer);Gt.elementsCount++;function Le(ue){if(!ue)Yt(),pe.primType=mv,pe.vertCount=0,pe.type=to;else if(typeof ue=="number")Yt(ue),pe.primType=mv,pe.vertCount=ue|0,pe.type=to;else{var He=null,ce=AC,Re=-1,he=-1,Oe=0,vr=0;Array.isArray(ue)||r(ue)||No(ue)?He=ue:(W.type(ue,"object","invalid arguments for elements"),"data"in ue&&(He=ue.data,W(Array.isArray(He)||r(He)||No(He),"invalid data for element buffer")),"usage"in ue&&(W.parameter(ue.usage,Sx,"invalid element buffer usage"),ce=Sx[ue.usage]),"primitive"in ue&&(W.parameter(ue.primitive,Cd,"invalid element buffer primitive"),Re=Cd[ue.primitive]),"count"in ue&&(W(typeof ue.count=="number"&&ue.count>=0,"invalid vertex count for elements"),he=ue.count|0),"type"in ue&&(W.parameter(ue.type,Vt,"invalid buffer type"),vr=Vt[ue.type]),"length"in ue?Oe=ue.length|0:(Oe=he,vr===xo||vr===UT?Oe*=2:(vr===Nc||vr===jT)&&(Oe*=4))),Ie(pe,He,ce,Re,he,Oe,vr)}return Le}return Le(Pe),Le._reglType="elements",Le._elements=pe,Le.subdata=function(ue,He){return Yt.subdata(ue,He),Le},Le.destroy=function(){Be(pe)},Le}return{create:me,createStream:Ce,destroyStream:ye,getElements:function(Pe){return typeof Pe=="function"&&Pe._elements instanceof ve?Pe._elements:null},clear:function(){bs(Jt).forEach(Be)}}}var Rf=new Float32Array(1),MC=new Uint32Array(Rf.buffer),QF=5123;function Ex(B){for(var Z=er.allocType(QF,B.length),ct=0;ct>>31<<15,zt=(Gt<<1>>>24)-127,Vt=Gt>>13&(1<<10)-1;if(zt<-24)Z[ct]=Jt;else if(zt<-14){var ve=-14-zt;Z[ct]=Jt+(Vt+(1<<10)>>ve)}else zt>15?Z[ct]=Jt+31744:Z[ct]=Jt+(zt+15<<10)+Vt}return Z}function aa(B){return Array.isArray(B)||r(B)}var WT=function(B){return!(B&B-1)&&!!B},JF=34467,ru=3553,gv=34067,Nf=34069,wd=6408,Ax=6406,Qg=6407,Ed=6409,yv=6410,TC=32854,IC=32855,Mx=36194,LC=32819,tB=32820,VT=33635,Bs=34042,Jg=6402,Fc=34041,Tx=35904,Ix=35906,xv=36193,OC=33776,DC=33777,PC=33778,kC=33779,Ad=35986,HT=35987,YT=34798,Lx=35840,RC=35841,Ff=35842,ty=35843,XT=36196,bv=5121,NC=5123,Bc=5125,ts=5126,qT=10242,eB=10243,rB=10497,FC=33071,nB=33648,iB=10240,Gc=10241,kt=9728,de=9729,te=9984,pr=9985,fn=9986,Qn=9987,Ha=33170,hi=4352,BC=4353,aB=4354,gl=34046,Ox=3317,oB=37440,_v=37441,Dx=37443,ey=37444,Jn=33984,sB=[te,fn,pr,Qn],ry=[0,Ed,yv,Qg,wd],es={};es[Ed]=es[Ax]=es[Jg]=1,es[Fc]=es[yv]=2,es[Qg]=es[Tx]=3,es[wd]=es[Ix]=4;function Sv(B){return"[object "+B+"]"}var KT=Sv("HTMLCanvasElement"),ZT=Sv("OffscreenCanvas"),ny=Sv("CanvasRenderingContext2D"),Bf=Sv("ImageBitmap"),iy=Sv("HTMLImageElement"),GC=Sv("HTMLVideoElement"),Px=Object.keys(xC).concat([KT,ZT,ny,Bf,iy,GC]),Md=[];Md[bv]=1,Md[ts]=4,Md[xv]=2,Md[NC]=2,Md[Bc]=4;var Ya=[];Ya[TC]=2,Ya[IC]=2,Ya[Mx]=2,Ya[Fc]=4,Ya[OC]=.5,Ya[DC]=.5,Ya[PC]=1,Ya[kC]=1,Ya[Ad]=.5,Ya[HT]=1,Ya[YT]=1,Ya[Lx]=.5,Ya[RC]=.25,Ya[Ff]=.5,Ya[ty]=.25,Ya[XT]=.5;function ay(B){return Array.isArray(B)&&(B.length===0||typeof B[0]=="number")}function zC(B){if(!Array.isArray(B))return!1;var Z=B.length;return!(Z===0||!aa(B[0]))}function nu(B){return Object.prototype.toString.call(B)}function zc(B){return nu(B)===KT}function oy(B){return nu(B)===ZT}function lB(B){return nu(B)===ny}function uB(B){return nu(B)===Bf}function fB(B){return nu(B)===iy}function kx(B){return nu(B)===GC}function Cv(B){if(!B)return!1;var Z=nu(B);return Px.indexOf(Z)>=0?!0:ay(B)||zC(B)||No(B)}function Rx(B){return xC[Object.prototype.toString.call(B)]|0}function cB(B,Z){var ct=Z.length;switch(B.type){case bv:case NC:case Bc:case ts:var Gt=er.allocType(B.type,ct);Gt.set(Z),B.data=Gt;break;case xv:B.data=Ex(Z);break;default:W.raise("unsupported texture type, must specify a typed array")}}function UC(B,Z){return er.allocType(B.type===xv?ts:B.type,Z)}function $T(B,Z){B.type===xv?(B.data=Ex(Z),er.freeType(Z)):B.data=Z}function hB(B,Z,ct,Gt,Jt,zt){for(var Vt=B.width,ve=B.height,le=B.channels,Ce=Vt*ve*le,ye=UC(B,Ce),Ie=0,Be=0;Be=1;)ve+=Vt*le*le,le/=2;return ve}else return Vt*ct*Gt}function Fo(B,Z,ct,Gt,Jt,zt,Vt){var ve={"don't care":hi,"dont care":hi,nice:aB,fast:BC},le={repeat:rB,clamp:FC,mirror:nB},Ce={nearest:kt,linear:de},ye=e({mipmap:Qn,"nearest mipmap nearest":te,"linear mipmap nearest":pr,"nearest mipmap linear":fn,"linear mipmap linear":Qn},Ce),Ie={none:0,browser:ey},Be={uint8:bv,rgba4:LC,rgb565:VT,"rgb5 a1":tB},me={alpha:Ax,luminance:Ed,"luminance alpha":yv,rgb:Qg,rgba:wd,rgba4:TC,"rgb5 a1":IC,rgb565:Mx},Pe={};Z.ext_srgb&&(me.srgb=Tx,me.srgba=Ix),Z.oes_texture_float&&(Be.float32=Be.float=ts),Z.oes_texture_half_float&&(Be.float16=Be["half float"]=xv),Z.webgl_depth_texture&&(e(me,{depth:Jg,"depth stencil":Fc}),e(Be,{uint16:NC,uint32:Bc,"depth stencil":Bs})),Z.webgl_compressed_texture_s3tc&&e(Pe,{"rgb s3tc dxt1":OC,"rgba s3tc dxt1":DC,"rgba s3tc dxt3":PC,"rgba s3tc dxt5":kC}),Z.webgl_compressed_texture_atc&&e(Pe,{"rgb atc":Ad,"rgba atc explicit alpha":HT,"rgba atc interpolated alpha":YT}),Z.webgl_compressed_texture_pvrtc&&e(Pe,{"rgb pvrtc 4bppv1":Lx,"rgb pvrtc 2bppv1":RC,"rgba pvrtc 4bppv1":Ff,"rgba pvrtc 2bppv1":ty}),Z.webgl_compressed_texture_etc1&&(Pe["rgb etc1"]=XT);var Ot=Array.prototype.slice.call(B.getParameter(JF));Object.keys(Pe).forEach(function(lt){var jt=Pe[lt];Ot.indexOf(jt)>=0&&(me[lt]=jt)});var Yt=Object.keys(me);ct.textureFormats=Yt;var pe=[];Object.keys(me).forEach(function(lt){var jt=me[lt];pe[jt]=lt});var Le=[];Object.keys(Be).forEach(function(lt){var jt=Be[lt];Le[jt]=lt});var ue=[];Object.keys(Ce).forEach(function(lt){var jt=Ce[lt];ue[jt]=lt});var He=[];Object.keys(ye).forEach(function(lt){var jt=ye[lt];He[jt]=lt});var ce=[];Object.keys(le).forEach(function(lt){var jt=le[lt];ce[jt]=lt});var Re=Yt.reduce(function(lt,jt){var Nt=me[jt];return Nt===Ed||Nt===Ax||Nt===Ed||Nt===yv||Nt===Jg||Nt===Fc||Z.ext_srgb&&(Nt===Tx||Nt===Ix)?lt[Nt]=Nt:Nt===IC||jt.indexOf("rgba")>=0?lt[Nt]=wd:lt[Nt]=Qg,lt},{});function he(){this.internalformat=wd,this.format=wd,this.type=bv,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ey,this.width=0,this.height=0,this.channels=0}function Oe(lt,jt){lt.internalformat=jt.internalformat,lt.format=jt.format,lt.type=jt.type,lt.compressed=jt.compressed,lt.premultiplyAlpha=jt.premultiplyAlpha,lt.flipY=jt.flipY,lt.unpackAlignment=jt.unpackAlignment,lt.colorSpace=jt.colorSpace,lt.width=jt.width,lt.height=jt.height,lt.channels=jt.channels}function vr(lt,jt){if(!(typeof jt!="object"||!jt)){if("premultiplyAlpha"in jt&&(W.type(jt.premultiplyAlpha,"boolean","invalid premultiplyAlpha"),lt.premultiplyAlpha=jt.premultiplyAlpha),"flipY"in jt&&(W.type(jt.flipY,"boolean","invalid texture flip"),lt.flipY=jt.flipY),"alignment"in jt&&(W.oneOf(jt.alignment,[1,2,4,8],"invalid texture unpack alignment"),lt.unpackAlignment=jt.alignment),"colorSpace"in jt&&(W.parameter(jt.colorSpace,Ie,"invalid colorSpace"),lt.colorSpace=Ie[jt.colorSpace]),"type"in jt){var Nt=jt.type;W(Z.oes_texture_float||!(Nt==="float"||Nt==="float32"),"you must enable the OES_texture_float extension in order to use floating point textures."),W(Z.oes_texture_half_float||!(Nt==="half float"||Nt==="float16"),"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures."),W(Z.webgl_depth_texture||!(Nt==="uint16"||Nt==="uint32"||Nt==="depth stencil"),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),W.parameter(Nt,Be,"invalid texture type"),lt.type=Be[Nt]}var Xe=lt.width,sn=lt.height,ot=lt.channels,Q=!1;"shape"in jt?(W(Array.isArray(jt.shape)&&jt.shape.length>=2,"shape must be an array"),Xe=jt.shape[0],sn=jt.shape[1],jt.shape.length===3&&(ot=jt.shape[2],W(ot>0&&ot<=4,"invalid number of channels"),Q=!0),W(Xe>=0&&Xe<=ct.maxTextureSize,"invalid width"),W(sn>=0&&sn<=ct.maxTextureSize,"invalid height")):("radius"in jt&&(Xe=sn=jt.radius,W(Xe>=0&&Xe<=ct.maxTextureSize,"invalid radius")),"width"in jt&&(Xe=jt.width,W(Xe>=0&&Xe<=ct.maxTextureSize,"invalid width")),"height"in jt&&(sn=jt.height,W(sn>=0&&sn<=ct.maxTextureSize,"invalid height")),"channels"in jt&&(ot=jt.channels,W(ot>0&&ot<=4,"invalid number of channels"),Q=!0)),lt.width=Xe|0,lt.height=sn|0,lt.channels=ot|0;var yt=!1;if("format"in jt){var Lt=jt.format;W(Z.webgl_depth_texture||!(Lt==="depth"||Lt==="depth stencil"),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),W.parameter(Lt,me,"invalid texture format");var Dt=lt.internalformat=me[Lt];lt.format=Re[Dt],Lt in Be&&("type"in jt||(lt.type=Be[Lt])),Lt in Pe&&(lt.compressed=!0),yt=!0}!Q&&yt?lt.channels=es[lt.format]:Q&&!yt?lt.channels!==ry[lt.format]&&(lt.format=lt.internalformat=ry[lt.channels]):yt&&Q&&W(lt.channels===es[lt.format],"number of channels inconsistent with specified format")}}function Dr(lt){B.pixelStorei(oB,lt.flipY),B.pixelStorei(_v,lt.premultiplyAlpha),B.pixelStorei(Dx,lt.colorSpace),B.pixelStorei(Ox,lt.unpackAlignment)}function Ge(){he.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Me(lt,jt){var Nt=null;if(Cv(jt)?Nt=jt:jt&&(W.type(jt,"object","invalid pixel data type"),vr(lt,jt),"x"in jt&&(lt.xOffset=jt.x|0),"y"in jt&&(lt.yOffset=jt.y|0),Cv(jt.data)&&(Nt=jt.data)),W(!lt.compressed||Nt instanceof Uint8Array,"compressed texture data must be stored in a uint8array"),jt.copy){W(!Nt,"can not specify copy and data field for the same texture");var Xe=Jt.viewportWidth,sn=Jt.viewportHeight;lt.width=lt.width||Xe-lt.xOffset,lt.height=lt.height||sn-lt.yOffset,lt.needsCopy=!0,W(lt.xOffset>=0&<.xOffset=0&<.yOffset0&<.width<=Xe&<.height>0&<.height<=sn,"copy texture read out of bounds")}else if(!Nt)lt.width=lt.width||1,lt.height=lt.height||1,lt.channels=lt.channels||4;else if(r(Nt))lt.channels=lt.channels||4,lt.data=Nt,!("type"in jt)&<.type===bv&&(lt.type=Rx(Nt));else if(ay(Nt))lt.channels=lt.channels||4,cB(lt,Nt),lt.alignment=1,lt.needsFree=!0;else if(No(Nt)){var ot=Nt.data;!Array.isArray(ot)&<.type===bv&&(lt.type=Rx(ot));var Q=Nt.shape,yt=Nt.stride,Lt,Dt,Ct,xt,wt,rt;Q.length===3?(Ct=Q[2],rt=yt[2]):(W(Q.length===2,"invalid ndarray pixel data, must be 2 or 3D"),Ct=1,rt=1),Lt=Q[0],Dt=Q[1],xt=yt[0],wt=yt[1],lt.alignment=1,lt.width=Lt,lt.height=Dt,lt.channels=Ct,lt.format=lt.internalformat=ry[Ct],lt.needsFree=!0,hB(lt,ot,xt,wt,rt,Nt.offset)}else if(zc(Nt)||oy(Nt)||lB(Nt))zc(Nt)||oy(Nt)?lt.element=Nt:lt.element=Nt.canvas,lt.width=lt.element.width,lt.height=lt.element.height,lt.channels=4;else if(uB(Nt))lt.element=Nt,lt.width=Nt.width,lt.height=Nt.height,lt.channels=4;else if(fB(Nt))lt.element=Nt,lt.width=Nt.naturalWidth,lt.height=Nt.naturalHeight,lt.channels=4;else if(kx(Nt))lt.element=Nt,lt.width=Nt.videoWidth,lt.height=Nt.videoHeight,lt.channels=4;else if(zC(Nt)){var vt=lt.width||Nt[0].length,nt=lt.height||Nt.length,It=lt.channels;aa(Nt[0][0])?It=It||Nt[0][0].length:It=It||1;for(var Pt=$g.shape(Nt),re=1,ie=0;ie=0,"oes_texture_float extension not enabled"):lt.type===xv&&W(ct.extensions.indexOf("oes_texture_half_float")>=0,"oes_texture_half_float extension not enabled")}function fe(lt,jt,Nt){var Xe=lt.element,sn=lt.data,ot=lt.internalformat,Q=lt.format,yt=lt.type,Lt=lt.width,Dt=lt.height;Dr(lt),Xe?B.texImage2D(jt,Nt,Q,Q,yt,Xe):lt.compressed?B.compressedTexImage2D(jt,Nt,ot,Lt,Dt,0,sn):lt.needsCopy?(Gt(),B.copyTexImage2D(jt,Nt,Q,lt.xOffset,lt.yOffset,Lt,Dt,0)):B.texImage2D(jt,Nt,Q,Lt,Dt,0,Q,yt,sn||null)}function Er(lt,jt,Nt,Xe,sn){var ot=lt.element,Q=lt.data,yt=lt.internalformat,Lt=lt.format,Dt=lt.type,Ct=lt.width,xt=lt.height;Dr(lt),ot?B.texSubImage2D(jt,sn,Nt,Xe,Lt,Dt,ot):lt.compressed?B.compressedTexSubImage2D(jt,sn,Nt,Xe,yt,Ct,xt,Q):lt.needsCopy?(Gt(),B.copyTexSubImage2D(jt,sn,Nt,Xe,lt.xOffset,lt.yOffset,Ct,xt)):B.texSubImage2D(jt,sn,Nt,Xe,Ct,xt,Lt,Dt,Q)}var Vr=[];function Je(){return Vr.pop()||new Ge}function on(lt){lt.needsFree&&er.freeType(lt.data),Ge.call(lt),Vr.push(lt)}function Pr(){he.call(this),this.genMipmaps=!1,this.mipmapHint=hi,this.mipmask=0,this.images=Array(16)}function Kr(lt,jt,Nt){var Xe=lt.images[0]=Je();lt.mipmask=1,Xe.width=lt.width=jt,Xe.height=lt.height=Nt,Xe.channels=lt.channels=4}function yn(lt,jt){var Nt=null;if(Cv(jt))Nt=lt.images[0]=Je(),Oe(Nt,lt),Me(Nt,jt),lt.mipmask=1;else if(vr(lt,jt),Array.isArray(jt.mipmap))for(var Xe=jt.mipmap,sn=0;sn>=sn,Nt.height>>=sn,Me(Nt,Xe[sn]),lt.mipmask|=1<=0&&!("faces"in jt)&&(lt.genMipmaps=!0)}if("mag"in jt){var Xe=jt.mag;W.parameter(Xe,Ce),lt.magFilter=Ce[Xe]}var sn=lt.wrapS,ot=lt.wrapT;if("wrap"in jt){var Q=jt.wrap;typeof Q=="string"?(W.parameter(Q,le),sn=ot=le[Q]):Array.isArray(Q)&&(W.parameter(Q[0],le),W.parameter(Q[1],le),sn=le[Q[0]],ot=le[Q[1]])}else{if("wrapS"in jt){var yt=jt.wrapS;W.parameter(yt,le),sn=le[yt]}if("wrapT"in jt){var Lt=jt.wrapT;W.parameter(Lt,le),ot=le[Lt]}}if(lt.wrapS=sn,lt.wrapT=ot,"anisotropic"in jt){var Dt=jt.anisotropic;W(typeof Dt=="number"&&Dt>=1&&Dt<=ct.maxAnisotropic,"aniso samples must be between 1 and "),lt.anisotropic=jt.anisotropic}if("mipmap"in jt){var Ct=!1;switch(typeof jt.mipmap){case"string":W.parameter(jt.mipmap,ve,"invalid mipmap hint"),lt.mipmapHint=ve[jt.mipmap],lt.genMipmaps=!0,Ct=!0;break;case"boolean":Ct=lt.genMipmaps=jt.mipmap;break;case"object":W(Array.isArray(jt.mipmap),"invalid mipmap type"),lt.genMipmaps=!1,Ct=!0;break;default:W.raise("invalid mipmap type")}Ct&&!("min"in jt)&&(lt.minFilter=te)}}function ki(lt,jt){B.texParameteri(jt,Gc,lt.minFilter),B.texParameteri(jt,iB,lt.magFilter),B.texParameteri(jt,qT,lt.wrapS),B.texParameteri(jt,eB,lt.wrapT),Z.ext_texture_filter_anisotropic&&B.texParameteri(jt,gl,lt.anisotropic),lt.genMipmaps&&(B.hint(Ha,lt.mipmapHint),B.generateMipmap(jt))}var Da=0,Ra={},no=ct.maxTextureUnits,oa=Array(no).map(function(){return null});function Yr(lt){he.call(this),this.mipmask=0,this.internalformat=wd,this.id=Da++,this.refCount=1,this.target=lt,this.texture=B.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new bi,Vt.profile&&(this.stats={size:0})}function io(lt){B.activeTexture(Jn),B.bindTexture(lt.target,lt.texture)}function Bn(){var lt=oa[0];lt?B.bindTexture(lt.target,lt.texture):B.bindTexture(ru,null)}function br(lt){var jt=lt.texture;W(jt,"must not double destroy texture");var Nt=lt.unit,Xe=lt.target;Nt>=0&&(B.activeTexture(Jn+Nt),B.bindTexture(Xe,null),oa[Nt]=null),B.deleteTexture(jt),lt.texture=null,lt.params=null,lt.pixels=null,lt.refCount=0,delete Ra[lt.id],zt.textureCount--}e(Yr.prototype,{bind:function(){var lt=this;lt.bindCount+=1;var jt=lt.unit;if(jt<0){for(var Nt=0;Nt0)continue;Xe.unit=-1}oa[Nt]=lt,jt=Nt;break}jt>=no&&W.raise("insufficient number of texture units"),Vt.profile&&zt.maxTextureUnits>wt)-Ct,rt.height=rt.height||(Nt.height>>wt)-xt,W(Nt.type===rt.type&&Nt.format===rt.format&&Nt.internalformat===rt.internalformat,"incompatible format for texture.subimage"),W(Ct>=0&&xt>=0&&Ct+rt.width<=Nt.width&&xt+rt.height<=Nt.height,"texture.subimage write out of bounds"),W(Nt.mipmask&1<>Ct;++Ct){var xt=Lt>>Ct,wt=Dt>>Ct;if(!xt||!wt)break;B.texImage2D(ru,Ct,Nt.format,xt,wt,0,Nt.format,Nt.type,null)}return Bn(),Vt.profile&&(Nt.stats.size=ya(Nt.internalformat,Nt.type,Lt,Dt,!1,!1)),Xe}return Xe(lt,jt),Xe.subimage=sn,Xe.resize=ot,Xe._reglType="texture2d",Xe._texture=Nt,Vt.profile&&(Xe.stats=Nt.stats),Xe.destroy=function(){Nt.decRef()},Xe}function Sn(lt,jt,Nt,Xe,sn,ot){var Q=new Yr(gv);Ra[Q.id]=Q,zt.cubeCount++;var yt=new Array(6);function Lt(xt,wt,rt,vt,nt,It){var Pt,re=Q.texInfo;for(bi.call(re),Pt=0;Pt<6;++Pt)yt[Pt]=cn();if(typeof xt=="number"||!xt){var ie=xt|0||1;for(Pt=0;Pt<6;++Pt)Kr(yt[Pt],ie,ie)}else if(typeof xt=="object")if(wt)yn(yt[0],xt),yn(yt[1],wt),yn(yt[2],rt),yn(yt[3],vt),yn(yt[4],nt),yn(yt[5],It);else if(oi(re,xt),vr(Q,xt),"faces"in xt){var Kt=xt.faces;for(W(Array.isArray(Kt)&&Kt.length===6,"cube faces must be a length 6 array"),Pt=0;Pt<6;++Pt)W(typeof Kt[Pt]=="object"&&!!Kt[Pt],"invalid input for cube map face"),Oe(yt[Pt],Q),yn(yt[Pt],Kt[Pt])}else for(Pt=0;Pt<6;++Pt)yn(yt[Pt],xt);else W.raise("invalid arguments to cube map");for(Oe(Q,yt[0]),ct.npotTextureCube||W(WT(Q.width)&&WT(Q.height),"your browser does not support non power or two texture dimensions"),re.genMipmaps?Q.mipmask=(yt[0].width<<1)-1:Q.mipmask=yt[0].mipmask,W.textureCube(Q,re,yt,ct),Q.internalformat=yt[0].internalformat,Lt.width=yt[0].width,Lt.height=yt[0].height,io(Q),Pt=0;Pt<6;++Pt)$i(yt[Pt],Nf+Pt);for(ki(re,gv),Bn(),Vt.profile&&(Q.stats.size=ya(Q.internalformat,Q.type,Lt.width,Lt.height,re.genMipmaps,!0)),Lt.format=pe[Q.internalformat],Lt.type=Le[Q.type],Lt.mag=ue[re.magFilter],Lt.min=He[re.minFilter],Lt.wrapS=ce[re.wrapS],Lt.wrapT=ce[re.wrapT],Pt=0;Pt<6;++Pt)Qi(yt[Pt]);return Lt}function Dt(xt,wt,rt,vt,nt){W(!!wt,"must specify image data"),W(typeof xt=="number"&&xt===(xt|0)&&xt>=0&&xt<6,"invalid face");var It=rt|0,Pt=vt|0,re=nt|0,ie=Je();return Oe(ie,Q),ie.width=0,ie.height=0,Me(ie,wt),ie.width=ie.width||(Q.width>>re)-It,ie.height=ie.height||(Q.height>>re)-Pt,W(Q.type===ie.type&&Q.format===ie.format&&Q.internalformat===ie.internalformat,"incompatible format for texture.subimage"),W(It>=0&&Pt>=0&&It+ie.width<=Q.width&&Pt+ie.height<=Q.height,"texture.subimage write out of bounds"),W(Q.mipmask&1<>vt;++vt)B.texImage2D(Nf+rt,vt,Q.format,wt>>vt,wt>>vt,0,Q.format,Q.type,null);return Bn(),Vt.profile&&(Q.stats.size=ya(Q.internalformat,Q.type,Lt.width,Lt.height,!1,!0)),Lt}}return Lt(lt,jt,Nt,Xe,sn,ot),Lt.subimage=Dt,Lt.resize=Ct,Lt._reglType="textureCube",Lt._texture=Q,Vt.profile&&(Lt.stats=Q.stats),Lt.destroy=function(){Q.decRef()},Lt}function sa(){for(var lt=0;lt>Xe,Nt.height>>Xe,0,Nt.internalformat,Nt.type,null);else for(var sn=0;sn<6;++sn)B.texImage2D(Nf+sn,Xe,Nt.internalformat,Nt.width>>Xe,Nt.height>>Xe,0,Nt.internalformat,Nt.type,null);ki(Nt.texInfo,Nt.target)})}function qd(){for(var lt=0;lt=2,"invalid renderbuffer shape"),He=Oe[0]|0,ce=Oe[1]|0}else"radius"in he&&(He=ce=he.radius|0),"width"in he&&(He=he.width|0),"height"in he&&(ce=he.height|0);"format"in he&&(W.parameter(he.format,zt,"invalid renderbuffer format"),Re=zt[he.format])}else typeof Le=="number"?(He=Le|0,typeof ue=="number"?ce=ue|0:ce=He):Le?W.raise("invalid arguments to renderbuffer constructor"):He=ce=1;if(W(He>0&&ce>0&&He<=ct.maxRenderbufferSize&&ce<=ct.maxRenderbufferSize,"invalid renderbuffer size"),!(He===Ot.width&&ce===Ot.height&&Re===Ot.format))return Yt.width=Ot.width=He,Yt.height=Ot.height=ce,Ot.format=Re,B.bindRenderbuffer(Uc,Ot.renderbuffer),B.renderbufferStorage(Uc,Re,He,ce),W(B.getError()===0,"invalid render buffer format"),Jt.profile&&(Ot.stats.size=JT(Ot.format,Ot.width,Ot.height)),Yt.format=Vt[Ot.format],Yt}function pe(Le,ue){var He=Le|0,ce=ue|0||He;return He===Ot.width&&ce===Ot.height||(W(He>0&&ce>0&&He<=ct.maxRenderbufferSize&&ce<=ct.maxRenderbufferSize,"invalid renderbuffer size"),Yt.width=Ot.width=He,Yt.height=Ot.height=ce,B.bindRenderbuffer(Uc,Ot.renderbuffer),B.renderbufferStorage(Uc,Ot.format,He,ce),W(B.getError()===0,"invalid render buffer format"),Jt.profile&&(Ot.stats.size=JT(Ot.format,Ot.width,Ot.height))),Yt}return Yt(me,Pe),Yt.resize=pe,Yt._reglType="renderbuffer",Yt._renderbuffer=Ot,Jt.profile&&(Yt.stats=Ot.stats),Yt.destroy=function(){Ot.decRef()},Yt}Jt.profile&&(Gt.getTotalRenderbufferSize=function(){var me=0;return Object.keys(le).forEach(function(Pe){me+=le[Pe].stats.size}),me});function Be(){bs(le).forEach(function(me){me.renderbuffer=B.createRenderbuffer(),B.bindRenderbuffer(Uc,me.renderbuffer),B.renderbufferStorage(Uc,me.format,me.width,me.height)}),B.bindRenderbuffer(Uc,null)}return{create:Ie,clear:function(){bs(le).forEach(ye)},restore:Be}},Gf=36160,WC=36161,Id=3553,Ld=34069,Mv=36064,VC=36096,J=36128,Od=33306,ly=36053,yl=36054,Fn=36055,pB=36057,vB=36061,mB=36193,Dd=5121,gB=5126,tI=6407,eI=6408,yB=6402,xB=[tI,eI],iu=[];iu[eI]=4,iu[tI]=3;var Gx=[];Gx[Dd]=1,Gx[gB]=4,Gx[mB]=2;var bB=32854,_B=32855,SB=36194,CB=33189,zf=36168,rI=34041,wB=35907,EB=34836,AB=34842,MB=34843,Pd=[bB,_B,SB,wB,AB,MB,EB],Tv={};Tv[ly]="complete",Tv[yl]="incomplete attachment",Tv[pB]="incomplete dimensions",Tv[Fn]="incomplete, missing attachment",Tv[vB]="unsupported";function TB(B,Z,ct,Gt,Jt,zt){var Vt={cur:null,next:null,dirty:!1,setFBO:null},ve=["rgba"],le=["rgba4","rgb565","rgb5 a1"];Z.ext_srgb&&le.push("srgba"),Z.ext_color_buffer_half_float&&le.push("rgba16f","rgb16f"),Z.webgl_color_buffer_float&&le.push("rgba32f");var Ce=["uint8"];Z.oes_texture_half_float&&Ce.push("half float","float16"),Z.oes_texture_float&&Ce.push("float","float32");function ye(Ge,Me,fe){this.target=Ge,this.texture=Me,this.renderbuffer=fe;var Er=0,Vr=0;Me?(Er=Me.width,Vr=Me.height):fe&&(Er=fe.width,Vr=fe.height),this.width=Er,this.height=Vr}function Ie(Ge){Ge&&(Ge.texture&&Ge.texture._texture.decRef(),Ge.renderbuffer&&Ge.renderbuffer._renderbuffer.decRef())}function Be(Ge,Me,fe){if(!!Ge)if(Ge.texture){var Er=Ge.texture._texture,Vr=Math.max(1,Er.width),Je=Math.max(1,Er.height);W(Vr===Me&&Je===fe,"inconsistent width/height for supplied texture"),Er.refCount+=1}else{var on=Ge.renderbuffer._renderbuffer;W(on.width===Me&&on.height===fe,"inconsistent width/height for renderbuffer"),on.refCount+=1}}function me(Ge,Me){Me&&(Me.texture?B.framebufferTexture2D(Gf,Ge,Me.target,Me.texture._texture.texture,0):B.framebufferRenderbuffer(Gf,Ge,WC,Me.renderbuffer._renderbuffer.renderbuffer))}function Pe(Ge){var Me=Id,fe=null,Er=null,Vr=Ge;typeof Ge=="object"&&(Vr=Ge.data,"target"in Ge&&(Me=Ge.target|0)),W.type(Vr,"function","invalid attachment data");var Je=Vr._reglType;return Je==="texture2d"?(fe=Vr,W(Me===Id)):Je==="textureCube"?(fe=Vr,W(Me>=Ld&&Me=2,"invalid shape for framebuffer"),Kr=io[0],yn=io[1]}else"radius"in Yr&&(Kr=yn=Yr.radius),"width"in Yr&&(Kr=Yr.width),"height"in Yr&&(yn=Yr.height);("color"in Yr||"colors"in Yr)&&(cn=Yr.color||Yr.colors,Array.isArray(cn)&&W(cn.length===1||Z.webgl_draw_buffers,"multiple render targets not supported")),cn||("colorCount"in Yr&&(ki=Yr.colorCount|0,W(ki>0,"invalid color buffer count")),"colorTexture"in Yr&&(Qi=!!Yr.colorTexture,bi="rgba4"),"colorType"in Yr&&(oi=Yr.colorType,Qi?(W(Z.oes_texture_float||!(oi==="float"||oi==="float32"),"you must enable OES_texture_float in order to use floating point framebuffer objects"),W(Z.oes_texture_half_float||!(oi==="half float"||oi==="float16"),"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects")):oi==="half float"||oi==="float16"?(W(Z.ext_color_buffer_half_float,"you must enable EXT_color_buffer_half_float to use 16-bit render buffers"),bi="rgba16f"):(oi==="float"||oi==="float32")&&(W(Z.webgl_color_buffer_float,"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers"),bi="rgba32f"),W.oneOf(oi,Ce,"invalid color type")),"colorFormat"in Yr&&(bi=Yr.colorFormat,ve.indexOf(bi)>=0?Qi=!0:le.indexOf(bi)>=0?Qi=!1:Qi?W.oneOf(Yr.colorFormat,ve,"invalid color format for texture"):W.oneOf(Yr.colorFormat,le,"invalid color format for renderbuffer"))),("depthTexture"in Yr||"depthStencilTexture"in Yr)&&(oa=!!(Yr.depthTexture||Yr.depthStencilTexture),W(!oa||Z.webgl_depth_texture,"webgl_depth_texture extension not supported")),"depth"in Yr&&(typeof Yr.depth=="boolean"?$i=Yr.depth:(Da=Yr.depth,Oa=!1)),"stencil"in Yr&&(typeof Yr.stencil=="boolean"?Oa=Yr.stencil:(Ra=Yr.stencil,$i=!1)),"depthStencil"in Yr&&(typeof Yr.depthStencil=="boolean"?$i=Oa=Yr.depthStencil:(no=Yr.depthStencil,$i=!1,Oa=!1))}var Bn=null,br=null,hn=null,Sn=null;if(Array.isArray(cn))Bn=cn.map(Pe);else if(cn)Bn=[Pe(cn)];else for(Bn=new Array(ki),Pr=0;Pr=0||Bn[Pr].renderbuffer&&Pd.indexOf(Bn[Pr].renderbuffer._renderbuffer.format)>=0,"framebuffer color attachment "+Pr+" is invalid"),Bn[Pr]&&Bn[Pr].texture){var ju=iu[Bn[Pr].texture._texture.format]*Gx[Bn[Pr].texture._texture.type];sa===null?sa=ju:W(sa===ju,"all color attachments much have the same number of bits per pixel.")}return Be(br,Kr,yn),W(!br||br.texture&&br.texture._texture.format===yB||br.renderbuffer&&br.renderbuffer._renderbuffer.format===CB,"invalid depth attachment for framebuffer object"),Be(hn,Kr,yn),W(!hn||hn.renderbuffer&&hn.renderbuffer._renderbuffer.format===zf,"invalid stencil attachment for framebuffer object"),Be(Sn,Kr,yn),W(!Sn||Sn.texture&&Sn.texture._texture.format===rI||Sn.renderbuffer&&Sn.renderbuffer._renderbuffer.format===rI,"invalid depth-stencil attachment for framebuffer object"),ce(fe),fe.width=Kr,fe.height=yn,fe.colorAttachments=Bn,fe.depthAttachment=br,fe.stencilAttachment=hn,fe.depthStencilAttachment=Sn,Er.color=Bn.map(Yt),Er.depth=Yt(br),Er.stencil=Yt(hn),Er.depthStencil=Yt(Sn),Er.width=fe.width,Er.height=fe.height,he(fe),Er}function Vr(Je,on){W(Vt.next!==fe,"can not resize a framebuffer which is currently in use");var Pr=Math.max(Je|0,1),Kr=Math.max(on|0||Pr,1);if(Pr===fe.width&&Kr===fe.height)return Er;for(var yn=fe.colorAttachments,$i=0;$i=2,"invalid shape for framebuffer"),W(Qi[0]===Qi[1],"cube framebuffer must be square"),Pr=Qi[0]}else"radius"in cn&&(Pr=cn.radius|0),"width"in cn?(Pr=cn.width|0,"height"in cn&&W(cn.height===Pr,"must be square")):"height"in cn&&(Pr=cn.height|0);("color"in cn||"colors"in cn)&&(Kr=cn.color||cn.colors,Array.isArray(Kr)&&W(Kr.length===1||Z.webgl_draw_buffers,"multiple render targets not supported")),Kr||("colorCount"in cn&&(Oa=cn.colorCount|0,W(Oa>0,"invalid color buffer count")),"colorType"in cn&&(W.oneOf(cn.colorType,Ce,"invalid color type"),$i=cn.colorType),"colorFormat"in cn&&(yn=cn.colorFormat,W.oneOf(cn.colorFormat,ve,"invalid color format for texture"))),"depth"in cn&&(on.depth=cn.depth),"stencil"in cn&&(on.stencil=cn.stencil),"depthStencil"in cn&&(on.depthStencil=cn.depthStencil)}var bi;if(Kr)if(Array.isArray(Kr))for(bi=[],Je=0;Je0&&(on.depth=Me[0].depth,on.stencil=Me[0].stencil,on.depthStencil=Me[0].depthStencil),Me[Je]?Me[Je](on):Me[Je]=Oe(on)}return e(fe,{width:Pr,height:Pr,color:bi})}function Er(Vr){var Je,on=Vr|0;if(W(on>0&&on<=ct.maxCubeMapSize,"invalid radius for cube fbo"),on===fe.width)return fe;var Pr=fe.color;for(Je=0;Je0,"must specify at least one attribute");var vr={},Dr=Re.attributes;Dr.length=Oe.length;for(var Ge=0;Ge=Er.byteLength?Vr.subdata(Er):(Vr.destroy(),Re.buffers[Ge]=null)),Re.buffers[Ge]||(Vr=Re.buffers[Ge]=Jt.create(Me,nI,!1,!0)),fe.buffer=Jt.getBuffer(Vr),fe.size=fe.buffer.dimension|0,fe.normalized=!1,fe.type=fe.buffer.dtype,fe.offset=0,fe.stride=0,fe.divisor=0,fe.state=1,vr[Ge]=1}else Jt.getBuffer(Me)?(fe.buffer=Jt.getBuffer(Me),fe.size=fe.buffer.dimension|0,fe.normalized=!1,fe.type=fe.buffer.dtype,fe.offset=0,fe.stride=0,fe.divisor=0,fe.state=1):Jt.getBuffer(Me.buffer)?(fe.buffer=Jt.getBuffer(Me.buffer),fe.size=(+Me.size||fe.buffer.dimension)|0,fe.normalized=!!Me.normalized||!1,"type"in Me?(W.parameter(Me.type,_d,"invalid buffer type"),fe.type=_d[Me.type]):fe.type=fe.buffer.dtype,fe.offset=(Me.offset||0)|0,fe.stride=(Me.stride||0)|0,fe.divisor=(Me.divisor||0)|0,fe.state=1,W(fe.size>=1&&fe.size<=4,"size must be between 1 and 4"),W(fe.offset>=0,"invalid offset"),W(fe.stride>=0&&fe.stride<=255,"stride must be between 0 and 255"),W(fe.divisor>=0,"divisor must be positive"),W(!fe.divisor||!!Z.angle_instanced_arrays,"ANGLE_instanced_arrays must be enabled to use divisor")):"x"in Me?(W(Ge>0,"first attribute must not be a constant"),fe.x=+Me.x||0,fe.y=+Me.y||0,fe.z=+Me.z||0,fe.w=+Me.w||0,fe.state=2):W(!1,"invalid attribute spec for location "+Ge)}for(var Je=0;Je1)for(var Dr=0;DrOt&&(Ot=Yt.stats.uniformsCount)}),Ot},ct.getMaxAttributesCount=function(){var Ot=0;return ye.forEach(function(Yt){Yt.stats.attributesCount>Ot&&(Ot=Yt.stats.attributesCount)}),Ot});function Pe(){Jt={},zt={};for(var Ot=0;Ot=0,"missing vertex shader",pe),W.command(Yt>=0,"missing fragment shader",pe);var ue=Ce[Yt];ue||(ue=Ce[Yt]={});var He=ue[Ot];if(He&&(He.refCount++,!Le))return He;var ce=new Be(Yt,Ot);return ct.shaderCount++,me(ce,pe,Le),He||(ue[Ot]=ce),ye.push(ce),e(ce,{destroy:function(){if(ce.refCount--,ce.refCount<=0){B.deleteProgram(ce.program);var Re=ye.indexOf(ce);ye.splice(Re,1),ct.shaderCount--}ue[ce.vertId].refCount<=0&&(B.deleteShader(zt[ce.vertId]),delete zt[ce.vertId],delete Ce[ce.fragId][ce.vertId]),Object.keys(Ce[ce.fragId]).length||(B.deleteShader(Jt[ce.fragId]),delete Jt[ce.fragId],delete Ce[ce.fragId])}})},restore:Pe,shader:le,frag:-1,vert:-1}}var DB=6408,kd=5121,uy=3333,Rd=5126;function PB(B,Z,ct,Gt,Jt,zt,Vt){function ve(ye){var Ie;Z.next===null?(W(Jt.preserveDrawingBuffer,'you must create a webgl context with "preserveDrawingBuffer":true in order to read pixels from the drawing buffer'),Ie=kd):(W(Z.next.colorAttachments[0].texture!==null,"You cannot read from a renderbuffer"),Ie=Z.next.colorAttachments[0].texture._texture.type,zt.oes_texture_float?(W(Ie===kd||Ie===Rd,"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'"),Ie===Rd&&W(Vt.readFloat,"Reading 'float' values is not permitted in your browser. For a fallback, please see: https://www.npmjs.com/package/glsl-read-float")):W(Ie===kd,"Reading from a framebuffer is only allowed for the type 'uint8'"));var Be=0,me=0,Pe=Gt.framebufferWidth,Ot=Gt.framebufferHeight,Yt=null;r(ye)?Yt=ye:ye&&(W.type(ye,"object","invalid arguments to regl.read()"),Be=ye.x|0,me=ye.y|0,W(Be>=0&&Be=0&&me0&&Pe+Be<=Gt.framebufferWidth,"invalid width for read pixels"),W(Ot>0&&Ot+me<=Gt.framebufferHeight,"invalid height for read pixels"),ct();var pe=Pe*Ot*4;return Yt||(Ie===kd?Yt=new Uint8Array(pe):Ie===Rd&&(Yt=Yt||new Float32Array(pe))),W.isTypedArray(Yt,"data buffer for regl.read() must be a typedarray"),W(Yt.byteLength>=pe,"data buffer for regl.read() too small"),B.pixelStorei(uy,4),B.readPixels(Be,me,Pe,Ot,DB,Ie,Yt),Yt}function le(ye){var Ie;return Z.setFBO({framebuffer:ye.framebuffer},function(){Ie=ve(ye)}),Ie}function Ce(ye){return!ye||!("framebuffer"in ye)?ve(ye):le(ye)}return Ce}function Nd(B){return Array.prototype.slice.call(B)}function Iv(B){return Nd(B).join("")}function Uf(){var B=0,Z=[],ct=[];function Gt(Ie){for(var Be=0;Be0&&(Ie.push(Ot,"="),Ie.push.apply(Ie,Nd(arguments)),Ie.push(";")),Ot}return e(Be,{def:Pe,toString:function(){return Iv([me.length>0?"var "+me.join(",")+";":"",Iv(Ie)])}})}function zt(){var Ie=Jt(),Be=Jt(),me=Ie.toString,Pe=Be.toString;function Ot(Yt,pe){Be(Yt,pe,"=",Ie.def(Yt,pe),";")}return e(function(){Ie.apply(Ie,Nd(arguments))},{def:Ie.def,entry:Ie,exit:Be,save:Ot,set:function(Yt,pe,Le){Ot(Yt,pe),Ie(Yt,pe,"=",Le,";")},toString:function(){return me()+Pe()}})}function Vt(){var Ie=Iv(arguments),Be=zt(),me=zt(),Pe=Be.toString,Ot=me.toString;return e(Be,{then:function(){return Be.apply(Be,Nd(arguments)),this},else:function(){return me.apply(me,Nd(arguments)),this},toString:function(){var Yt=Ot();return Yt&&(Yt="else{"+Yt+"}"),Iv(["if(",Ie,"){",Pe(),"}",Yt])}})}var ve=Jt(),le={};function Ce(Ie,Be){var me=[];function Pe(){var ue="a"+me.length;return me.push(ue),ue}Be=Be||0;for(var Ot=0;Ot":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Zc={"0":0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},QC={frag:DB,vert:PB},$x={cw:dI,ccw:Zx};function Xd(B){return Array.isArray(B)||r(B)||ko(B)}function JC(B){return B.sort(function(Z,ct){return Z===jf?-1:ct===jf?1:Z=1,Gt>=2,Z)}else if(ct===ly){var Jt=B.data;return new to(Jt.thisDep,Jt.contextDep,Jt.propDep,Z)}else{if(ct===rI)return new to(!1,!1,!1,Z);if(ct===uy){for(var zt=!1,Vt=!1,ve=!1,le=0;le=1&&(Vt=!0),ye>=2&&(ve=!0)}else Ce.type===ly&&(zt=zt||Ce.data.thisDep,Vt=Vt||Ce.data.contextDep,ve=ve||Ce.data.propDep)}return new to(zt,Vt,ve,Z)}else return new to(ct===Nu,ct===Fd,ct===Fx,Z)}}var tw=new to(!1,!1,!1,function(){});function Qx(B,Z,ct,Gt,Jt,zt,Vt,ve,le,Ce,ye,Ie,Be,me,De){var Ot=Ce.Record,Yt={add:32774,subtract:32778,"reverse subtract":32779};ct.ext_blend_minmax&&(Yt.min=pI,Yt.max=xs);var pe=ct.angle_instanced_arrays,Le=ct.webgl_draw_buffers,ue={dirty:!0,profile:De.profile},He={},ce=[],Re={},he={};function Oe(ot){return ot.replace(".","_")}function vr(ot,Q,yt){var Lt=Oe(ot);ce.push(ot),He[Lt]=ue[Lt]=!!yt,Re[Lt]=Q}function Or(ot,Q,yt){var Lt=Oe(ot);ce.push(ot),Array.isArray(yt)?(ue[Lt]=yt.slice(),He[Lt]=yt.slice()):ue[Lt]=He[Lt]=yt,he[Lt]=Q}vr(nI,xl),vr(VC,RB),Or(Ja,"blendColor",[0,0,0,0]),Or(fy,"blendEquationSeparate",[Hd,Hd]),Or(Bx,"blendFuncSeparate",[Cy,vI,Cy,vI]),vr(ou,Xx,!0),Or(Gx,"depthFunc",mI),Or(cy,"depthRange",[0,1]),Or(Vc,"depthMask",!0),Or(zx,zx,[!0,!0,!0,!0]),vr(Fo,kB),Or(Ux,"cullFace",qc),Or(HC,HC,Zx),Or(YC,YC,1),vr(iI,fI),Or(hy,"polygonOffset",[0,0]),vr(aI,cI),vr(Tv,Bs),Or(jx,"sampleCoverage",[1,!1]),vr(oI,NB),Or(sI,"stencilMask",-1),Or(Bd,"stencilFunc",[Bu,0,-1]),Or(XC,"stencilOpSeparate",[Fv,Kc,Kc,Kc]),Or(dy,"stencilOpSeparate",[qc,Kc,Kc,Kc]),vr(Wx,ZC),Or(py,"scissor",[0,0,B.drawingBufferWidth,B.drawingBufferHeight]),Or(jf,jf,[0,0,B.drawingBufferWidth,B.drawingBufferHeight]);var Ge={gl:B,context:Be,strings:Z,next:He,current:ue,draw:Ie,elements:zt,buffer:Jt,shader:ye,attributes:Ce.state,vao:Ce,uniforms:le,framebuffer:ve,extensions:ct,timer:me,isBufferArgs:Xd},Me={primTypes:Cd,compareFuncs:Gu,blendFuncs:uu,blendEquations:Yt,stencilOps:Zc,glTypes:_d,orientationType:$x};V.optional(function(){Ge.isArrayLike=aa}),Le&&(Me.backBuffer=[qc],Me.drawBuffer=Li(Gt.maxDrawbuffers,function(ot){return ot===0?[0]:Li(ot,function(Q){return FB+Q})}));var fe=0;function Er(){var ot=Uf(),Q=ot.link,yt=ot.global;ot.id=fe++,ot.batchId="0";var Lt=Q(Ge),Dt=ot.shared={props:"a0"};Object.keys(Ge).forEach(function(mt){Dt[mt]=yt.def(Lt,".",mt)}),V.optional(function(){ot.CHECK=Q(V),ot.commandStr=V.guessCommand(),ot.command=Q(ot.commandStr),ot.assert=function(mt,nt,It){mt("if(!(",nt,"))",this.CHECK,".commandRaise(",Q(It),",",this.command,");")},Me.invalidBlendCombinations=Yd});var Ct=ot.next={},xt=ot.current={};Object.keys(he).forEach(function(mt){Array.isArray(ue[mt])&&(Ct[mt]=yt.def(Dt.next,".",mt),xt[mt]=yt.def(Dt.current,".",mt))});var wt=ot.constants={};Object.keys(Me).forEach(function(mt){wt[mt]=yt.def(JSON.stringify(Me[mt]))}),ot.invoke=function(mt,nt){switch(nt.type){case Nx:var It=["this",Dt.context,Dt.props,ot.batchId];return mt.def(Q(nt.data),".call(",It.slice(0,Math.max(nt.data.length+1,4)),")");case Fx:return mt.def(Dt.props,nt.data);case Fd:return mt.def(Dt.context,nt.data);case Nu:return mt.def("this",nt.data);case ly:return nt.data.append(ot,mt),nt.data.ref;case rI:return nt.data.toString();case uy:return nt.data.map(function(Pt){return ot.invoke(mt,Pt)})}},ot.attribCache={};var rt={};return ot.scopeAttrib=function(mt){var nt=Z.id(mt);if(nt in rt)return rt[nt];var It=Ce.scope[nt];It||(It=Ce.scope[nt]=new Ot);var Pt=rt[nt]=Q(It);return Pt},ot}function Vr(ot){var Q=ot.static,yt=ot.dynamic,Lt;if(vy in Q){var Dt=!!Q[vy];Lt=Wi(function(xt,wt){return Dt}),Lt.enable=Dt}else if(vy in yt){var Ct=yt[vy];Lt=bs(Ct,function(xt,wt){return xt.invoke(wt,Ct)})}return Lt}function Je(ot,Q){var yt=ot.static,Lt=ot.dynamic;if(Gd in yt){var Dt=yt[Gd];return Dt?(Dt=ve.getFramebuffer(Dt),V.command(Dt,"invalid framebuffer object"),Wi(function(xt,wt){var rt=xt.link(Dt),mt=xt.shared;wt.set(mt.framebuffer,".next",rt);var nt=mt.context;return wt.set(nt,"."+jd,rt+".width"),wt.set(nt,"."+Lv,rt+".height"),rt})):Wi(function(xt,wt){var rt=xt.shared;wt.set(rt.framebuffer,".next","null");var mt=rt.context;return wt.set(mt,"."+jd,mt+"."+KC),wt.set(mt,"."+Lv,mt+"."+Yx),"null"})}else if(Gd in Lt){var Ct=Lt[Gd];return bs(Ct,function(xt,wt){var rt=xt.invoke(wt,Ct),mt=xt.shared,nt=mt.framebuffer,It=wt.def(nt,".getFramebuffer(",rt,")");V.optional(function(){xt.assert(wt,"!"+rt+"||"+It,"invalid framebuffer object")}),wt.set(nt,".next",It);var Pt=mt.context;return wt.set(Pt,"."+jd,It+"?"+It+".width:"+Pt+"."+KC),wt.set(Pt,"."+Lv,It+"?"+It+".height:"+Pt+"."+Yx),It})}else return null}function on(ot,Q,yt){var Lt=ot.static,Dt=ot.dynamic;function Ct(rt){if(rt in Lt){var mt=Lt[rt];V.commandType(mt,"object","invalid "+rt,yt.commandStr);var nt=!0,It=mt.x|0,Pt=mt.y|0,re,ie;return"width"in mt?(re=mt.width|0,V.command(re>=0,"invalid "+rt,yt.commandStr)):nt=!1,"height"in mt?(ie=mt.height|0,V.command(ie>=0,"invalid "+rt,yt.commandStr)):nt=!1,new to(!nt&&Q&&Q.thisDep,!nt&&Q&&Q.contextDep,!nt&&Q&&Q.propDep,function(ir,Xr){var tr=ir.shared.context,Cr=re;"width"in mt||(Cr=Xr.def(tr,".",jd,"-",It));var jr=ie;return"height"in mt||(jr=Xr.def(tr,".",Lv,"-",Pt)),[It,Pt,Cr,jr]})}else if(rt in Dt){var Kt=Dt[rt],_e=bs(Kt,function(ir,Xr){var tr=ir.invoke(Xr,Kt);V.optional(function(){ir.assert(Xr,tr+"&&typeof "+tr+'==="object"',"invalid "+rt)});var Cr=ir.shared.context,jr=Xr.def(tr,".x|0"),Ln=Xr.def(tr,".y|0"),Ji=Xr.def('"width" in ',tr,"?",tr,".width|0:","(",Cr,".",jd,"-",jr,")"),ts=Xr.def('"height" in ',tr,"?",tr,".height|0:","(",Cr,".",Lv,"-",Ln,")");return V.optional(function(){ir.assert(Xr,Ji+">=0&&"+ts+">=0","invalid "+rt)}),[jr,Ln,Ji,ts]});return Q&&(_e.thisDep=_e.thisDep||Q.thisDep,_e.contextDep=_e.contextDep||Q.contextDep,_e.propDep=_e.propDep||Q.propDep),_e}else return Q?new to(Q.thisDep,Q.contextDep,Q.propDep,function(ir,Xr){var tr=ir.shared.context;return[0,0,Xr.def(tr,".",jd),Xr.def(tr,".",Lv)]}):null}var xt=Ct(jf);if(xt){var wt=xt;xt=new to(xt.thisDep,xt.contextDep,xt.propDep,function(rt,mt){var nt=wt.append(rt,mt),It=rt.shared.context;return mt.set(It,"."+lI,nt[2]),mt.set(It,"."+LB,nt[3]),nt})}return{viewport:xt,scissor_box:Ct(py)}}function Dr(ot,Q){var yt=ot.static,Lt=typeof yt[zd]=="string"&&typeof yt[Iv]=="string";if(Lt){if(Object.keys(Q.dynamic).length>0)return null;var Dt=Q.static,Ct=Object.keys(Dt);if(Ct.length>0&&typeof Dt[Ct[0]]=="number"){for(var xt=[],wt=0;wt=0,"invalid "+nt,Q.commandStr),Wi(function(ie,Kt){return It&&(ie.OFFSET=Pt),Pt})}else if(nt in Lt){var re=Lt[nt];return bs(re,function(ie,Kt){var _e=ie.invoke(Kt,re);return It&&(ie.OFFSET=_e,V.optional(function(){ie.assert(Kt,_e+">=0","invalid "+nt)})),_e})}else if(It&&Ct)return Wi(function(ie,Kt){return ie.OFFSET="0",0});return null}var rt=wt(my,!0);function mt(){if(Hc in yt){var nt=yt[Hc]|0;return V.command(typeof nt=="number"&&nt>=0,"invalid vertex count",Q.commandStr),Wi(function(){return nt})}else if(Hc in Lt){var It=Lt[Hc];return bs(It,function(ie,Kt){var _e=ie.invoke(Kt,It);return V.optional(function(){ie.assert(Kt,"typeof "+_e+'==="number"&&'+_e+">=0&&"+_e+"===("+_e+"|0)","invalid vertex count")}),_e})}else if(Ct)if(zu(Ct)){if(Ct)return rt?new to(rt.thisDep,rt.contextDep,rt.propDep,function(ie,Kt){var _e=Kt.def(ie.ELEMENTS,".vertCount-",ie.OFFSET);return V.optional(function(){ie.assert(Kt,_e+">=0","invalid vertex offset/element buffer too small")}),_e}):Wi(function(ie,Kt){return Kt.def(ie.ELEMENTS,".vertCount")});var Pt=Wi(function(){return-1});return V.optional(function(){Pt.MISSING=!0}),Pt}else{var re=new to(Ct.thisDep||rt.thisDep,Ct.contextDep||rt.contextDep,Ct.propDep||rt.propDep,function(ie,Kt){var _e=ie.ELEMENTS;return ie.OFFSET?Kt.def(_e,"?",_e,".vertCount-",ie.OFFSET,":-1"):Kt.def(_e,"?",_e,".vertCount:-1")});return V.optional(function(){re.DYNAMIC=!0}),re}return null}return{elements:Ct,primitive:xt(),count:mt(),instances:wt(gy,!1),offset:rt}}function $i(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return ce.forEach(function(Ct){var xt=Oe(Ct);function wt(rt,mt){if(Ct in yt){var nt=rt(yt[Ct]);Dt[xt]=Wi(function(){return nt})}else if(Ct in Lt){var It=Lt[Ct];Dt[xt]=bs(It,function(Pt,re){return mt(Pt,re,Pt.invoke(re,It))})}}switch(Ct){case Fo:case VC:case nI:case oI:case ou:case Wx:case iI:case aI:case Tv:case Vc:return wt(function(rt){return V.commandType(rt,"boolean",Ct,Q.commandStr),rt},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,"typeof "+nt+'==="boolean"',"invalid flag "+Ct,rt.commandStr)}),nt});case Gx:return wt(function(rt){return V.commandParameter(rt,Gu,"invalid "+Ct,Q.commandStr),Gu[rt]},function(rt,mt,nt){var It=rt.constants.compareFuncs;return V.optional(function(){rt.assert(mt,nt+" in "+It,"invalid "+Ct+", must be one of "+Object.keys(Gu))}),mt.def(It,"[",nt,"]")});case cy:return wt(function(rt){return V.command(aa(rt)&&rt.length===2&&typeof rt[0]=="number"&&typeof rt[1]=="number"&&rt[0]<=rt[1],"depth range is 2d array",Q.commandStr),rt},function(rt,mt,nt){V.optional(function(){rt.assert(mt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===2&&typeof "+nt+'[0]==="number"&&typeof '+nt+'[1]==="number"&&'+nt+"[0]<="+nt+"[1]","depth range must be a 2d array")});var It=mt.def("+",nt,"[0]"),Pt=mt.def("+",nt,"[1]");return[It,Pt]});case Bx:return wt(function(rt){V.commandType(rt,"object","blend.func",Q.commandStr);var mt="srcRGB"in rt?rt.srcRGB:rt.src,nt="srcAlpha"in rt?rt.srcAlpha:rt.src,It="dstRGB"in rt?rt.dstRGB:rt.dst,Pt="dstAlpha"in rt?rt.dstAlpha:rt.dst;return V.commandParameter(mt,uu,xt+".srcRGB",Q.commandStr),V.commandParameter(nt,uu,xt+".srcAlpha",Q.commandStr),V.commandParameter(It,uu,xt+".dstRGB",Q.commandStr),V.commandParameter(Pt,uu,xt+".dstAlpha",Q.commandStr),V.command(Yd.indexOf(mt+", "+It)===-1,"unallowed blending combination (srcRGB, dstRGB) = ("+mt+", "+It+")",Q.commandStr),[uu[mt],uu[It],uu[nt],uu[Pt]]},function(rt,mt,nt){var It=rt.constants.blendFuncs;V.optional(function(){rt.assert(mt,nt+"&&typeof "+nt+'==="object"',"invalid blend func, must be an object")});function Pt(tr,Cr){var jr=mt.def('"',tr,Cr,'" in ',nt,"?",nt,".",tr,Cr,":",nt,".",tr);return V.optional(function(){rt.assert(mt,jr+" in "+It,"invalid "+Ct+"."+tr+Cr+", must be one of "+Object.keys(uu))}),jr}var re=Pt("src","RGB"),ie=Pt("dst","RGB");V.optional(function(){var tr=rt.constants.invalidBlendCombinations;rt.assert(mt,tr+".indexOf("+re+'+", "+'+ie+") === -1 ","unallowed blending combination for (srcRGB, dstRGB)")});var Kt=mt.def(It,"[",re,"]"),_e=mt.def(It,"[",Pt("src","Alpha"),"]"),ir=mt.def(It,"[",ie,"]"),Xr=mt.def(It,"[",Pt("dst","Alpha"),"]");return[Kt,ir,_e,Xr]});case fy:return wt(function(rt){if(typeof rt=="string")return V.commandParameter(rt,Yt,"invalid "+Ct,Q.commandStr),[Yt[rt],Yt[rt]];if(typeof rt=="object")return V.commandParameter(rt.rgb,Yt,Ct+".rgb",Q.commandStr),V.commandParameter(rt.alpha,Yt,Ct+".alpha",Q.commandStr),[Yt[rt.rgb],Yt[rt.alpha]];V.commandRaise("invalid blend.equation",Q.commandStr)},function(rt,mt,nt){var It=rt.constants.blendEquations,Pt=mt.def(),re=mt.def(),ie=rt.cond("typeof ",nt,'==="string"');return V.optional(function(){function Kt(_e,ir,Xr){rt.assert(_e,Xr+" in "+It,"invalid "+ir+", must be one of "+Object.keys(Yt))}Kt(ie.then,Ct,nt),rt.assert(ie.else,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct),Kt(ie.else,Ct+".rgb",nt+".rgb"),Kt(ie.else,Ct+".alpha",nt+".alpha")}),ie.then(Pt,"=",re,"=",It,"[",nt,"];"),ie.else(Pt,"=",It,"[",nt,".rgb];",re,"=",It,"[",nt,".alpha];"),mt(ie),[Pt,re]});case Ja:return wt(function(rt){return V.command(aa(rt)&&rt.length===4,"blend.color must be a 4d array",Q.commandStr),Li(4,function(mt){return+rt[mt]})},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===4","blend.color must be a 4d array")}),Li(4,function(It){return mt.def("+",nt,"[",It,"]")})});case sI:return wt(function(rt){return V.commandType(rt,"number",xt,Q.commandStr),rt|0},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,"typeof "+nt+'==="number"',"invalid stencil.mask")}),mt.def(nt,"|0")});case Bd:return wt(function(rt){V.commandType(rt,"object",xt,Q.commandStr);var mt=rt.cmp||"keep",nt=rt.ref||0,It="mask"in rt?rt.mask:-1;return V.commandParameter(mt,Gu,Ct+".cmp",Q.commandStr),V.commandType(nt,"number",Ct+".ref",Q.commandStr),V.commandType(It,"number",Ct+".mask",Q.commandStr),[Gu[mt],nt,It]},function(rt,mt,nt){var It=rt.constants.compareFuncs;V.optional(function(){function Kt(){rt.assert(mt,Array.prototype.join.call(arguments,""),"invalid stencil.func")}Kt(nt+"&&typeof ",nt,'==="object"'),Kt('!("cmp" in ',nt,")||(",nt,".cmp in ",It,")")});var Pt=mt.def('"cmp" in ',nt,"?",It,"[",nt,".cmp]",":",Kc),re=mt.def(nt,".ref|0"),ie=mt.def('"mask" in ',nt,"?",nt,".mask|0:-1");return[Pt,re,ie]});case XC:case dy:return wt(function(rt){V.commandType(rt,"object",xt,Q.commandStr);var mt=rt.fail||"keep",nt=rt.zfail||"keep",It=rt.zpass||"keep";return V.commandParameter(mt,Zc,Ct+".fail",Q.commandStr),V.commandParameter(nt,Zc,Ct+".zfail",Q.commandStr),V.commandParameter(It,Zc,Ct+".zpass",Q.commandStr),[Ct===dy?qc:Fv,Zc[mt],Zc[nt],Zc[It]]},function(rt,mt,nt){var It=rt.constants.stencilOps;V.optional(function(){rt.assert(mt,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct)});function Pt(re){return V.optional(function(){rt.assert(mt,'!("'+re+'" in '+nt+")||("+nt+"."+re+" in "+It+")","invalid "+Ct+"."+re+", must be one of "+Object.keys(Zc))}),mt.def('"',re,'" in ',nt,"?",It,"[",nt,".",re,"]:",Kc)}return[Ct===dy?qc:Fv,Pt("fail"),Pt("zfail"),Pt("zpass")]});case hy:return wt(function(rt){V.commandType(rt,"object",xt,Q.commandStr);var mt=rt.factor|0,nt=rt.units|0;return V.commandType(mt,"number",xt+".factor",Q.commandStr),V.commandType(nt,"number",xt+".units",Q.commandStr),[mt,nt]},function(rt,mt,nt){V.optional(function(){rt.assert(mt,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct)});var It=mt.def(nt,".factor|0"),Pt=mt.def(nt,".units|0");return[It,Pt]});case Ux:return wt(function(rt){var mt=0;return rt==="front"?mt=Fv:rt==="back"&&(mt=qc),V.command(!!mt,xt,Q.commandStr),mt},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,nt+'==="front"||'+nt+'==="back"',"invalid cull.face")}),mt.def(nt,'==="front"?',Fv,":",qc)});case YC:return wt(function(rt){return V.command(typeof rt=="number"&&rt>=Gt.lineWidthDims[0]&&rt<=Gt.lineWidthDims[1],"invalid line width, must be a positive number between "+Gt.lineWidthDims[0]+" and "+Gt.lineWidthDims[1],Q.commandStr),rt},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,"typeof "+nt+'==="number"&&'+nt+">="+Gt.lineWidthDims[0]+"&&"+nt+"<="+Gt.lineWidthDims[1],"invalid line width")}),nt});case HC:return wt(function(rt){return V.commandParameter(rt,$x,xt,Q.commandStr),$x[rt]},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,nt+'==="cw"||'+nt+'==="ccw"',"invalid frontFace, must be one of cw,ccw")}),mt.def(nt+'==="cw"?'+dI+":"+Zx)});case zx:return wt(function(rt){return V.command(aa(rt)&&rt.length===4,"color.mask must be length 4 array",Q.commandStr),rt.map(function(mt){return!!mt})},function(rt,mt,nt){return V.optional(function(){rt.assert(mt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===4","invalid color.mask")}),Li(4,function(It){return"!!"+nt+"["+It+"]"})});case jx:return wt(function(rt){V.command(typeof rt=="object"&&rt,xt,Q.commandStr);var mt="value"in rt?rt.value:1,nt=!!rt.invert;return V.command(typeof mt=="number"&&mt>=0&&mt<=1,"sample.coverage.value must be a number between 0 and 1",Q.commandStr),[mt,nt]},function(rt,mt,nt){V.optional(function(){rt.assert(mt,nt+"&&typeof "+nt+'==="object"',"invalid sample.coverage")});var It=mt.def('"value" in ',nt,"?+",nt,".value:1"),Pt=mt.def("!!",nt,".invert");return[It,Pt]})}}),Dt}function La(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return Object.keys(yt).forEach(function(Ct){var xt=yt[Ct],wt;if(typeof xt=="number"||typeof xt=="boolean")wt=Wi(function(){return xt});else if(typeof xt=="function"){var rt=xt._reglType;rt==="texture2d"||rt==="textureCube"?wt=Wi(function(mt){return mt.link(xt)}):rt==="framebuffer"||rt==="framebufferCube"?(V.command(xt.color.length>0,'missing color attachment for framebuffer sent to uniform "'+Ct+'"',Q.commandStr),wt=Wi(function(mt){return mt.link(xt.color[0])})):V.commandRaise('invalid data for uniform "'+Ct+'"',Q.commandStr)}else aa(xt)?wt=Wi(function(mt){var nt=mt.global.def("[",Li(xt.length,function(It){return V.command(typeof xt[It]=="number"||typeof xt[It]=="boolean","invalid uniform "+Ct,mt.commandStr),xt[It]}),"]");return nt}):V.commandRaise('invalid or missing data for uniform "'+Ct+'"',Q.commandStr);wt.value=xt,Dt[Ct]=wt}),Object.keys(Lt).forEach(function(Ct){var xt=Lt[Ct];Dt[Ct]=bs(xt,function(wt,rt){return wt.invoke(rt,xt)})}),Dt}function cn(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return Object.keys(yt).forEach(function(Ct){var xt=yt[Ct],wt=Z.id(Ct),rt=new Ot;if(Xd(xt))rt.state=yo,rt.buffer=Jt.getBuffer(Jt.create(xt,Xc,!1,!0)),rt.type=0;else{var mt=Jt.getBuffer(xt);if(mt)rt.state=yo,rt.buffer=mt,rt.type=0;else if(V.command(typeof xt=="object"&&xt,"invalid data for attribute "+Ct,Q.commandStr),"constant"in xt){var nt=xt.constant;rt.buffer="null",rt.state=WC,typeof nt=="number"?rt.x=nt:(V.command(aa(nt)&&nt.length>0&&nt.length<=4,"invalid constant for attribute "+Ct,Q.commandStr),jc.forEach(function(ir,Xr){Xr=0,'invalid offset for attribute "'+Ct+'"',Q.commandStr);var Pt=xt.stride|0;V.command(Pt>=0&&Pt<256,'invalid stride for attribute "'+Ct+'", must be integer betweeen [0, 255]',Q.commandStr);var re=xt.size|0;V.command(!("size"in xt)||re>0&&re<=4,'invalid size for attribute "'+Ct+'", must be 1,2,3,4',Q.commandStr);var ie=!!xt.normalized,Kt=0;"type"in xt&&(V.commandParameter(xt.type,_d,"invalid type for attribute "+Ct,Q.commandStr),Kt=_d[xt.type]);var _e=xt.divisor|0;"divisor"in xt&&(V.command(_e===0||pe,'cannot specify divisor for attribute "'+Ct+'", instancing not supported',Q.commandStr),V.command(_e>=0,'invalid divisor for attribute "'+Ct+'"',Q.commandStr)),V.optional(function(){var ir=Q.commandStr,Xr=["buffer","offset","divisor","normalized","type","size","stride"];Object.keys(xt).forEach(function(tr){V.command(Xr.indexOf(tr)>=0,'unknown parameter "'+tr+'" for attribute pointer "'+Ct+'" (valid parameters are '+Xr+")",ir)})}),rt.buffer=mt,rt.state=yo,rt.size=re,rt.normalized=ie,rt.type=Kt||mt.dtype,rt.offset=It,rt.stride=Pt,rt.divisor=_e}}Dt[Ct]=Wi(function(ir,Xr){var tr=ir.attribCache;if(wt in tr)return tr[wt];var Cr={isStream:!1};return Object.keys(rt).forEach(function(jr){Cr[jr]=rt[jr]}),rt.buffer&&(Cr.buffer=ir.link(rt.buffer),Cr.type=Cr.type||Cr.buffer+".dtype"),tr[wt]=Cr,Cr})}),Object.keys(Lt).forEach(function(Ct){var xt=Lt[Ct];function wt(rt,mt){var nt=rt.invoke(mt,xt),It=rt.shared,Pt=rt.constants,re=It.isBufferArgs,ie=It.buffer;V.optional(function(){rt.assert(mt,nt+"&&(typeof "+nt+'==="object"||typeof '+nt+'==="function")&&('+re+"("+nt+")||"+ie+".getBuffer("+nt+")||"+ie+".getBuffer("+nt+".buffer)||"+re+"("+nt+'.buffer)||("constant" in '+nt+"&&(typeof "+nt+'.constant==="number"||'+It.isArrayLike+"("+nt+".constant))))",'invalid dynamic attribute "'+Ct+'"')});var Kt={isStream:mt.def(!1)},_e=new Ot;_e.state=yo,Object.keys(_e).forEach(function(Cr){Kt[Cr]=mt.def(""+_e[Cr])});var ir=Kt.buffer,Xr=Kt.type;mt("if(",re,"(",nt,")){",Kt.isStream,"=true;",ir,"=",ie,".createStream(",Xc,",",nt,");",Xr,"=",ir,".dtype;","}else{",ir,"=",ie,".getBuffer(",nt,");","if(",ir,"){",Xr,"=",ir,".dtype;",'}else if("constant" in ',nt,"){",Kt.state,"=",WC,";","if(typeof "+nt+'.constant === "number"){',Kt[jc[0]],"=",nt,".constant;",jc.slice(1).map(function(Cr){return Kt[Cr]}).join("="),"=0;","}else{",jc.map(function(Cr,jr){return Kt[Cr]+"="+nt+".constant.length>"+jr+"?"+nt+".constant["+jr+"]:0;"}).join(""),"}}else{","if(",re,"(",nt,".buffer)){",ir,"=",ie,".createStream(",Xc,",",nt,".buffer);","}else{",ir,"=",ie,".getBuffer(",nt,".buffer);","}",Xr,'="type" in ',nt,"?",Pt.glTypes,"[",nt,".type]:",ir,".dtype;",Kt.normalized,"=!!",nt,".normalized;");function tr(Cr){mt(Kt[Cr],"=",nt,".",Cr,"|0;")}return tr("size"),tr("offset"),tr("stride"),tr("divisor"),mt("}}"),mt.exit("if(",Kt.isStream,"){",ie,".destroyStream(",ir,");","}"),Kt}Dt[Ct]=bs(xt,wt)}),Dt}function Qi(ot,Q){var yt=ot.static,Lt=ot.dynamic;if(Yc in yt){var Dt=yt[Yc];return Dt!==null&&Ce.getVAO(Dt)===null&&(Dt=Ce.createVAO(Dt)),Wi(function(xt){return xt.link(Ce.getVAO(Dt))})}else if(Yc in Lt){var Ct=Lt[Yc];return bs(Ct,function(xt,wt){var rt=xt.invoke(wt,Ct);return wt.def(xt.shared.vao+".getVAO("+rt+")")})}return null}function bi(ot){var Q=ot.static,yt=ot.dynamic,Lt={};return Object.keys(Q).forEach(function(Dt){var Ct=Q[Dt];Lt[Dt]=Wi(function(xt,wt){return typeof Ct=="number"||typeof Ct=="boolean"?""+Ct:xt.link(Ct)})}),Object.keys(yt).forEach(function(Dt){var Ct=yt[Dt];Lt[Dt]=bs(Ct,function(xt,wt){return xt.invoke(wt,Ct)})}),Lt}function oi(ot,Q,yt,Lt,Dt){var Ct=ot.static,xt=ot.dynamic;V.optional(function(){var tr=[Gd,Iv,zd,Ud,Wf,my,Hc,gy,vy,Yc].concat(ce);function Cr(jr){Object.keys(jr).forEach(function(Ln){V.command(tr.indexOf(Ln)>=0,'unknown parameter "'+Ln+'"',Dt.commandStr)})}Cr(Ct),Cr(xt)});var wt=Dr(ot,Q),rt=Je(ot,Dt),mt=on(ot,rt,Dt),nt=yn(ot,Dt),It=$i(ot,Dt),Pt=Kr(ot,Dt,wt);function re(tr){var Cr=mt[tr];Cr&&(It[tr]=Cr)}re(jf),re(Oe(py));var ie=Object.keys(It).length>0,Kt={framebuffer:rt,draw:nt,shader:Pt,state:It,dirty:ie,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Kt.profile=Vr(ot,Dt),Kt.uniforms=La(yt,Dt),Kt.drawVAO=Kt.scopeVAO=Qi(ot,Dt),!Kt.drawVAO&&Pt.program&&!wt&&ct.angle_instanced_arrays){var _e=!0,ir=Pt.program.attributes.map(function(tr){var Cr=Q.static[tr];return _e=_e&&!!Cr,Cr});if(_e&&ir.length>0){var Xr=Ce.getVAO(Ce.createVAO(ir));Kt.drawVAO=new to(null,null,null,function(tr,Cr){return tr.link(Xr)}),Kt.useVAO=!0}}return wt?Kt.useVAO=!0:Kt.attributes=cn(Q,Dt),Kt.context=bi(Lt,Dt),Kt}function ki(ot,Q,yt){var Lt=ot.shared,Dt=Lt.context,Ct=ot.scope();Object.keys(yt).forEach(function(xt){Q.save(Dt,"."+xt);var wt=yt[xt],rt=wt.append(ot,Q);Array.isArray(rt)?Ct(Dt,".",xt,"=[",rt.join(),"];"):Ct(Dt,".",xt,"=",rt,";")}),Q(Ct)}function Oa(ot,Q,yt,Lt){var Dt=ot.shared,Ct=Dt.gl,xt=Dt.framebuffer,wt;Le&&(wt=Q.def(Dt.extensions,".webgl_draw_buffers"));var rt=ot.constants,mt=rt.drawBuffer,nt=rt.backBuffer,It;yt?It=yt.append(ot,Q):It=Q.def(xt,".next"),Lt||Q("if(",It,"!==",xt,".cur){"),Q("if(",It,"){",Ct,".bindFramebuffer(",$C,",",It,".framebuffer);"),Le&&Q(wt,".drawBuffersWEBGL(",mt,"[",It,".colorAttachments.length]);"),Q("}else{",Ct,".bindFramebuffer(",$C,",null);"),Le&&Q(wt,".drawBuffersWEBGL(",nt,");"),Q("}",xt,".cur=",It,";"),Lt||Q("}")}function ka(ot,Q,yt){var Lt=ot.shared,Dt=Lt.gl,Ct=ot.current,xt=ot.next,wt=Lt.current,rt=Lt.next,mt=ot.cond(wt,".dirty");ce.forEach(function(nt){var It=Oe(nt);if(!(It in yt.state)){var Pt,re;if(It in xt){Pt=xt[It],re=Ct[It];var ie=Li(ue[It].length,function(_e){return mt.def(Pt,"[",_e,"]")});mt(ot.cond(ie.map(function(_e,ir){return _e+"!=="+re+"["+ir+"]"}).join("||")).then(Dt,".",he[It],"(",ie,");",ie.map(function(_e,ir){return re+"["+ir+"]="+_e}).join(";"),";"))}else{Pt=mt.def(rt,".",It);var Kt=ot.cond(Pt,"!==",wt,".",It);mt(Kt),It in Re?Kt(ot.cond(Pt).then(Dt,".enable(",Re[It],");").else(Dt,".disable(",Re[It],");"),wt,".",It,"=",Pt,";"):Kt(Dt,".",he[It],"(",Pt,");",wt,".",It,"=",Pt,";")}}}),Object.keys(yt.state).length===0&&mt(wt,".dirty=false;"),Q(mt)}function eo(ot,Q,yt,Lt){var Dt=ot.shared,Ct=ot.current,xt=Dt.current,wt=Dt.gl;JC(Object.keys(yt)).forEach(function(rt){var mt=yt[rt];if(!(Lt&&!Lt(mt))){var nt=mt.append(ot,Q);if(Re[rt]){var It=Re[rt];zu(mt)?nt?Q(wt,".enable(",It,");"):Q(wt,".disable(",It,");"):Q(ot.cond(nt).then(wt,".enable(",It,");").else(wt,".disable(",It,");")),Q(xt,".",rt,"=",nt,";")}else if(aa(nt)){var Pt=Ct[rt];Q(wt,".",he[rt],"(",nt,");",nt.map(function(re,ie){return Pt+"["+ie+"]="+re}).join(";"),";")}else Q(wt,".",he[rt],"(",nt,");",xt,".",rt,"=",nt,";")}})}function oa(ot,Q){pe&&(ot.instancing=Q.def(ot.shared.extensions,".angle_instanced_arrays"))}function Yr(ot,Q,yt,Lt,Dt){var Ct=ot.shared,xt=ot.stats,wt=Ct.current,rt=Ct.timer,mt=yt.profile;function nt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var It,Pt;function re(tr){It=Q.def(),tr(It,"=",nt(),";"),typeof Dt=="string"?tr(xt,".count+=",Dt,";"):tr(xt,".count++;"),me&&(Lt?(Pt=Q.def(),tr(Pt,"=",rt,".getNumPendingQueries();")):tr(rt,".beginQuery(",xt,");"))}function ie(tr){tr(xt,".cpuTime+=",nt(),"-",It,";"),me&&(Lt?tr(rt,".pushScopeStats(",Pt,",",rt,".getNumPendingQueries(),",xt,");"):tr(rt,".endQuery();"))}function Kt(tr){var Cr=Q.def(wt,".profile");Q(wt,".profile=",tr,";"),Q.exit(wt,".profile=",Cr,";")}var _e;if(mt){if(zu(mt)){mt.enable?(re(Q),ie(Q.exit),Kt("true")):Kt("false");return}_e=mt.append(ot,Q),Kt(_e)}else _e=Q.def(wt,".profile");var ir=ot.block();re(ir),Q("if(",_e,"){",ir,"}");var Xr=ot.block();ie(Xr),Q.exit("if(",_e,"){",Xr,"}")}function ro(ot,Q,yt,Lt,Dt){var Ct=ot.shared;function xt(rt){switch(rt){case Dv:case Pv:case su:return 2;case yy:case xy:case Kx:return 3;case Wd:case kv:case lu:return 4;default:return 1}}function wt(rt,mt,nt){var It=Ct.gl,Pt=Q.def(rt,".location"),re=Q.def(Ct.attributes,"[",Pt,"]"),ie=nt.state,Kt=nt.buffer,_e=[nt.x,nt.y,nt.z,nt.w],ir=["buffer","normalized","offset","stride"];function Xr(){Q("if(!",re,".buffer){",It,".enableVertexAttribArray(",Pt,");}");var Cr=nt.type,jr;if(nt.size?jr=Q.def(nt.size,"||",mt):jr=mt,Q("if(",re,".type!==",Cr,"||",re,".size!==",jr,"||",ir.map(function(Ji){return re+"."+Ji+"!=="+nt[Ji]}).join("||"),"){",It,".bindBuffer(",Xc,",",Kt,".buffer);",It,".vertexAttribPointer(",[Pt,jr,Cr,nt.normalized,nt.stride,nt.offset],");",re,".type=",Cr,";",re,".size=",jr,";",ir.map(function(Ji){return re+"."+Ji+"="+nt[Ji]+";"}).join(""),"}"),pe){var Ln=nt.divisor;Q("if(",re,".divisor!==",Ln,"){",ot.instancing,".vertexAttribDivisorANGLE(",[Pt,Ln],");",re,".divisor=",Ln,";}")}}function tr(){Q("if(",re,".buffer){",It,".disableVertexAttribArray(",Pt,");",re,".buffer=null;","}if(",jc.map(function(Cr,jr){return re+"."+Cr+"!=="+_e[jr]}).join("||"),"){",It,".vertexAttrib4f(",Pt,",",_e,");",jc.map(function(Cr,jr){return re+"."+Cr+"="+_e[jr]+";"}).join(""),"}")}ie===yo?Xr():ie===WC?tr():(Q("if(",ie,"===",yo,"){"),Xr(),Q("}else{"),tr(),Q("}"))}Lt.forEach(function(rt){var mt=rt.name,nt=yt.attributes[mt],It;if(nt){if(!Dt(nt))return;It=nt.append(ot,Q)}else{if(!Dt(tw))return;var Pt=ot.scopeAttrib(mt);V.optional(function(){ot.assert(Q,Pt+".state","missing attribute "+mt)}),It={},Object.keys(new Ot).forEach(function(re){It[re]=Q.def(Pt,".",re)})}wt(ot.link(rt),xt(rt.info.type),It)})}function Bn(ot,Q,yt,Lt,Dt){for(var Ct=ot.shared,xt=Ct.gl,wt,rt=0;rt1?Q(Li(Cr,function(ts){return Array.isArray(Kt)?Kt[ts]:Kt+"["+ts+"]"})):(V(!Array.isArray(Kt),"uniform value must not be an array"),Q(Kt));Q(");")}}function br(ot,Q,yt,Lt){var Dt=ot.shared,Ct=Dt.gl,xt=Dt.draw,wt=Lt.draw;function rt(){var jr=wt.elements,Ln,Ji=Q;return jr?((jr.contextDep&&Lt.contextDynamic||jr.propDep)&&(Ji=yt),Ln=jr.append(ot,Ji)):Ln=Ji.def(xt,".",Ud),Ln&&Ji("if("+Ln+")"+Ct+".bindBuffer("+An+","+Ln+".buffer.buffer);"),Ln}function mt(){var jr=wt.count,Ln,Ji=Q;return jr?((jr.contextDep&&Lt.contextDynamic||jr.propDep)&&(Ji=yt),Ln=jr.append(ot,Ji),V.optional(function(){jr.MISSING&&ot.assert(Q,"false","missing vertex count"),jr.DYNAMIC&&ot.assert(Ji,Ln+">=0","missing vertex count")})):(Ln=Ji.def(xt,".",Hc),V.optional(function(){ot.assert(Ji,Ln+">=0","missing vertex count")})),Ln}var nt=rt();function It(jr){var Ln=wt[jr];return Ln?Ln.contextDep&&Lt.contextDynamic||Ln.propDep?Ln.append(ot,yt):Ln.append(ot,Q):Q.def(xt,".",jr)}var Pt=It(Wf),re=It(my),ie=mt();if(typeof ie=="number"){if(ie===0)return}else yt("if(",ie,"){"),yt.exit("}");var Kt,_e;pe&&(Kt=It(gy),_e=ot.instancing);var ir=nt+".type",Xr=wt.elements&&zu(wt.elements);function tr(){function jr(){yt(_e,".drawElementsInstancedANGLE(",[Pt,ie,ir,re+"<<(("+ir+"-"+Wc+")>>1)",Kt],");")}function Ln(){yt(_e,".drawArraysInstancedANGLE(",[Pt,re,ie,Kt],");")}nt?Xr?jr():(yt("if(",nt,"){"),jr(),yt("}else{"),Ln(),yt("}")):Ln()}function Cr(){function jr(){yt(Ct+".drawElements("+[Pt,ie,ir,re+"<<(("+ir+"-"+Wc+")>>1)"]+");")}function Ln(){yt(Ct+".drawArrays("+[Pt,re,ie]+");")}nt?Xr?jr():(yt("if(",nt,"){"),jr(),yt("}else{"),Ln(),yt("}")):Ln()}pe&&(typeof Kt!="number"||Kt>=0)?typeof Kt=="string"?(yt("if(",Kt,">0){"),tr(),yt("}else if(",Kt,"<0){"),Cr(),yt("}")):tr():Cr()}function hn(ot,Q,yt,Lt,Dt){var Ct=Er(),xt=Ct.proc("body",Dt);return V.optional(function(){Ct.commandStr=Q.commandStr,Ct.command=Ct.link(Q.commandStr)}),pe&&(Ct.instancing=xt.def(Ct.shared.extensions,".angle_instanced_arrays")),ot(Ct,xt,yt,Lt),Ct.compile().body}function Sn(ot,Q,yt,Lt){oa(ot,Q),yt.useVAO?yt.drawVAO?Q(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,Q),");"):Q(ot.shared.vao,".setVAO(",ot.shared.vao,".targetVAO);"):(Q(ot.shared.vao,".setVAO(null);"),ro(ot,Q,yt,Lt.attributes,function(){return!0})),Bn(ot,Q,yt,Lt.uniforms,function(){return!0}),br(ot,Q,Q,yt)}function sa(ot,Q){var yt=ot.proc("draw",1);oa(ot,yt),ki(ot,yt,Q.context),Oa(ot,yt,Q.framebuffer),ka(ot,yt,Q),eo(ot,yt,Q.state),Yr(ot,yt,Q,!1,!0);var Lt=Q.shader.progVar.append(ot,yt);if(yt(ot.shared.gl,".useProgram(",Lt,".program);"),Q.shader.program)Sn(ot,yt,Q,Q.shader.program);else{yt(ot.shared.vao,".setVAO(null);");var Dt=ot.global.def("{}"),Ct=yt.def(Lt,".id"),xt=yt.def(Dt,"[",Ct,"]");yt(ot.cond(xt).then(xt,".call(this,a0);").else(xt,"=",Dt,"[",Ct,"]=",ot.link(function(wt){return hn(Sn,ot,Q,wt,1)}),"(",Lt,");",xt,".call(this,a0);"))}Object.keys(Q.state).length>0&&yt(ot.shared.current,".dirty=true;")}function ju(ot,Q,yt,Lt){ot.batchId="a1",oa(ot,Q);function Dt(){return!0}ro(ot,Q,yt,Lt.attributes,Dt),Bn(ot,Q,yt,Lt.uniforms,Dt),br(ot,Q,Q,yt)}function qd(ot,Q,yt,Lt){oa(ot,Q);var Dt=yt.contextDep,Ct=Q.def(),xt="a0",wt="a1",rt=Q.def();ot.shared.props=rt,ot.batchId=Ct;var mt=ot.scope(),nt=ot.scope();Q(mt.entry,"for(",Ct,"=0;",Ct,"<",wt,";++",Ct,"){",rt,"=",xt,"[",Ct,"];",nt,"}",mt.exit);function It(ir){return ir.contextDep&&Dt||ir.propDep}function Pt(ir){return!It(ir)}if(yt.needsContext&&ki(ot,nt,yt.context),yt.needsFramebuffer&&Oa(ot,nt,yt.framebuffer),eo(ot,nt,yt.state,It),yt.profile&&It(yt.profile)&&Yr(ot,nt,yt,!1,!0),Lt)yt.useVAO?yt.drawVAO?It(yt.drawVAO)?nt(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,nt),");"):mt(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,mt),");"):mt(ot.shared.vao,".setVAO(",ot.shared.vao,".targetVAO);"):(mt(ot.shared.vao,".setVAO(null);"),ro(ot,mt,yt,Lt.attributes,Pt),ro(ot,nt,yt,Lt.attributes,It)),Bn(ot,mt,yt,Lt.uniforms,Pt),Bn(ot,nt,yt,Lt.uniforms,It),br(ot,mt,nt,yt);else{var re=ot.global.def("{}"),ie=yt.shader.progVar.append(ot,nt),Kt=nt.def(ie,".id"),_e=nt.def(re,"[",Kt,"]");nt(ot.shared.gl,".useProgram(",ie,".program);","if(!",_e,"){",_e,"=",re,"[",Kt,"]=",ot.link(function(ir){return hn(ju,ot,yt,ir,2)}),"(",ie,");}",_e,".call(this,a0[",Ct,"],",Ct,");")}}function ut(ot,Q){var yt=ot.proc("batch",2);ot.batchId="0",oa(ot,yt);var Lt=!1,Dt=!0;Object.keys(Q.context).forEach(function(re){Lt=Lt||Q.context[re].propDep}),Lt||(ki(ot,yt,Q.context),Dt=!1);var Ct=Q.framebuffer,xt=!1;Ct?(Ct.propDep?Lt=xt=!0:Ct.contextDep&&Lt&&(xt=!0),xt||Oa(ot,yt,Ct)):Oa(ot,yt,null),Q.state.viewport&&Q.state.viewport.propDep&&(Lt=!0);function wt(re){return re.contextDep&&Lt||re.propDep}ka(ot,yt,Q),eo(ot,yt,Q.state,function(re){return!wt(re)}),(!Q.profile||!wt(Q.profile))&&Yr(ot,yt,Q,!1,"a1"),Q.contextDep=Lt,Q.needsContext=Dt,Q.needsFramebuffer=xt;var rt=Q.shader.progVar;if(rt.contextDep&&Lt||rt.propDep)qd(ot,yt,Q,null);else{var mt=rt.append(ot,yt);if(yt(ot.shared.gl,".useProgram(",mt,".program);"),Q.shader.program)qd(ot,yt,Q,Q.shader.program);else{yt(ot.shared.vao,".setVAO(null);");var nt=ot.global.def("{}"),It=yt.def(mt,".id"),Pt=yt.def(nt,"[",It,"]");yt(ot.cond(Pt).then(Pt,".call(this,a0,a1);").else(Pt,"=",nt,"[",It,"]=",ot.link(function(re){return hn(qd,ot,Q,re,2)}),"(",mt,");",Pt,".call(this,a0,a1);"))}}Object.keys(Q.state).length>0&&yt(ot.shared.current,".dirty=true;")}function jt(ot,Q){var yt=ot.proc("scope",3);ot.batchId="a2";var Lt=ot.shared,Dt=Lt.current;ki(ot,yt,Q.context),Q.framebuffer&&Q.framebuffer.append(ot,yt),JC(Object.keys(Q.state)).forEach(function(xt){var wt=Q.state[xt],rt=wt.append(ot,yt);aa(rt)?rt.forEach(function(mt,nt){yt.set(ot.next[xt],"["+nt+"]",mt)}):yt.set(Lt.next,"."+xt,rt)}),Yr(ot,yt,Q,!0,!0),[Ud,my,Hc,gy,Wf].forEach(function(xt){var wt=Q.draw[xt];!wt||yt.set(Lt.draw,"."+xt,""+wt.append(ot,yt))}),Object.keys(Q.uniforms).forEach(function(xt){var wt=Q.uniforms[xt].append(ot,yt);Array.isArray(wt)&&(wt="["+wt.join()+"]"),yt.set(Lt.uniforms,"["+Z.id(xt)+"]",wt)}),Object.keys(Q.attributes).forEach(function(xt){var wt=Q.attributes[xt].append(ot,yt),rt=ot.scopeAttrib(xt);Object.keys(new Ot).forEach(function(mt){yt.set(rt,"."+mt,wt[mt])})}),Q.scopeVAO&&yt.set(Lt.vao,".targetVAO",Q.scopeVAO.append(ot,yt));function Ct(xt){var wt=Q.shader[xt];wt&&yt.set(Lt.shader,"."+xt,wt.append(ot,yt))}Ct(Iv),Ct(zd),Object.keys(Q.state).length>0&&(yt(Dt,".dirty=true;"),yt.exit(Dt,".dirty=true;")),yt("a1(",ot.shared.context,",a0,",ot.batchId,");")}function Nt(ot){if(!(typeof ot!="object"||aa(ot))){for(var Q=Object.keys(ot),yt=0;yt=0;--br){var hn=fe[br];hn&&hn(me,null,0)}ct.flush(),Ce&&Ce.update()}function Kr(){!on&&fe.length>0&&(on=Ve.next(Dr))}function yn(){on&&(Ve.cancel(Dr),on=null)}function $i(br){br.preventDefault(),Jt=!0,yn(),Er.forEach(function(hn){hn()})}function La(br){ct.getError(),Jt=!1,zt.restore(),ce.restore(),pe.restore(),Re.restore(),he.restore(),Oe.restore(),Le.restore(),Ce&&Ce.restore(),vr.procs.refresh(),Kr(),Vr.forEach(function(hn){hn()})}Me&&(Me.addEventListener(_I,$i,!1),Me.addEventListener(SI,La,!1));function cn(){fe.length=0,yn(),Me&&(Me.removeEventListener(_I,$i),Me.removeEventListener(SI,La)),ce.clear(),Oe.clear(),he.clear(),Re.clear(),He.clear(),pe.clear(),Le.clear(),Ce&&Ce.clear(),Je.forEach(function(br){br()})}function Qi(br){V(!!br,"invalid args to regl({...})"),V.type(br,"object","invalid args to regl({...})");function hn(Dt){var Ct=e({},Dt);delete Ct.uniforms,delete Ct.attributes,delete Ct.context,delete Ct.vao,"stencil"in Ct&&Ct.stencil.op&&(Ct.stencil.opBack=Ct.stencil.opFront=Ct.stencil.op,delete Ct.stencil.op);function xt(wt){if(wt in Ct){var rt=Ct[wt];delete Ct[wt],Object.keys(rt).forEach(function(mt){Ct[wt+"."+mt]=rt[mt]})}}return xt("blend"),xt("depth"),xt("cull"),xt("stencil"),xt("polygonOffset"),xt("scissor"),xt("sample"),"vao"in Dt&&(Ct.vao=Dt.vao),Ct}function Sn(Dt,Ct){var xt={},wt={};return Object.keys(Dt).forEach(function(rt){var mt=Dt[rt];if(Ye.isDynamic(mt)){wt[rt]=Ye.unbox(mt,rt);return}else if(Ct&&Array.isArray(mt)){for(var nt=0;nt0)return sn.call(this,yt(Dt|0),Dt|0)}else if(Array.isArray(Dt)){if(Dt.length)return sn.call(this,Dt,Dt.length)}else return Xe.call(this,Dt)}return e(Lt,{stats:jt,destroy:function(){Nt.destroy()}})}var bi=Oe.setFBO=Qi({framebuffer:Ye.define.call(null,Uu,"framebuffer")});function oi(br,hn){var Sn=0;vr.procs.poll();var sa=hn.color;sa&&(ct.clearColor(+sa[0]||0,+sa[1]||0,+sa[2]||0,+sa[3]||0),Sn|=yI),"depth"in hn&&(ct.clearDepth(+hn.depth),Sn|=xI),"stencil"in hn&&(ct.clearStencil(hn.stencil|0),Sn|=GB),V(!!Sn,"called regl.clear with no buffer specified"),ct.clear(Sn)}function ki(br){if(V(typeof br=="object"&&br,"regl.clear() takes an object as input"),"framebuffer"in br)if(br.framebuffer&&br.framebuffer_reglType==="framebufferCube")for(var hn=0;hn<6;++hn)bi(e({framebuffer:br.framebuffer.faces[hn]},br),oi);else bi(br,oi);else oi(null,br)}function Oa(br){V.type(br,"function","regl.frame() callback must be a function"),fe.push(br);function hn(){var Sn=Jx(fe,br);V(Sn>=0,"cannot cancel a frame twice");function sa(){var ju=Jx(fe,sa);fe[ju]=fe[fe.length-1],fe.length-=1,fe.length<=0&&yn()}fe[Sn]=sa}return Kr(),{cancel:hn}}function ka(){var br=Ge.viewport,hn=Ge.scissor_box;br[0]=br[1]=hn[0]=hn[1]=0,me.viewportWidth=me.framebufferWidth=me.drawingBufferWidth=br[2]=hn[2]=ct.drawingBufferWidth,me.viewportHeight=me.framebufferHeight=me.drawingBufferHeight=br[3]=hn[3]=ct.drawingBufferHeight}function eo(){me.tick+=1,me.time=Yr(),ka(),vr.procs.poll()}function oa(){Re.refresh(),ka(),vr.procs.refresh(),Ce&&Ce.update()}function Yr(){return($n()-ye)/1e3}oa();function ro(br,hn){V.type(hn,"function","listener callback must be a function");var Sn;switch(br){case"frame":return Oa(hn);case"lost":Sn=Er;break;case"restore":Sn=Vr;break;case"destroy":Sn=Je;break;default:V.raise("invalid event, must be one of frame,lost,restore,destroy")}return Sn.push(hn),{cancel:function(){for(var sa=0;sa=0},read:Or,destroy:cn,_gl:ct,_refresh:oa,poll:function(){eo(),Ce&&Ce.update()},now:Yr,stats:ve});return Z.onDone(null,Bn),Bn}return tb})});var PY=ft((n3r,p_t)=>{p_t.exports=1e-6});var kY=ft((i3r,v_t)=>{v_t.exports=mce;function mce(){var r=new Float32Array(2);return r[0]=0,r[1]=0,r}});var g_t=ft((a3r,m_t)=>{m_t.exports=gce;function gce(r){var e=new Float32Array(2);return e[0]=r[0],e[1]=r[1],e}});var x_t=ft((o3r,y_t)=>{y_t.exports=yce;function yce(r,e){var t=new Float32Array(2);return t[0]=r,t[1]=e,t}});var __t=ft((s3r,b_t)=>{b_t.exports=xce;function xce(r,e){return r[0]=e[0],r[1]=e[1],r}});var RY=ft((l3r,S_t)=>{S_t.exports=bce;function bce(r,e,t){return r[0]=e,r[1]=t,r}});var E_t=ft((u3r,w_t)=>{w_t.exports=_ce;var C_t=PY();function _ce(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=C_t*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=C_t*Math.max(1,Math.abs(n),Math.abs(a))}});var M_t=ft((f3r,A_t)=>{A_t.exports=Sce;function Sce(r,e){return r[0]===e[0]&&r[1]===e[1]}});var NY=ft((c3r,T_t)=>{T_t.exports=Cce;function Cce(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}});var FN=ft((h3r,I_t)=>{I_t.exports=wce;function wce(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}});var O_t=ft((d3r,L_t)=>{L_t.exports=FN()});var FY=ft((p3r,D_t)=>{D_t.exports=Ece;function Ece(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}});var k_t=ft((v3r,P_t)=>{P_t.exports=FY()});var BY=ft((m3r,R_t)=>{R_t.exports=Ace;function Ace(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}});var F_t=ft((g3r,N_t)=>{N_t.exports=BY()});var G_t=ft((y3r,B_t)=>{B_t.exports=Mce;function Mce(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}});var U_t=ft((x3r,z_t)=>{z_t.exports=Tce;function Tce(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}});var W_t=ft((b3r,j_t)=>{j_t.exports=Ice;function Ice(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}});var H_t=ft((_3r,V_t)=>{V_t.exports=Lce;function Lce(r,e,t){var n=Math.cos(t),i=Math.sin(t),a=e[0],o=e[1];return r[0]=a*n-o*i,r[1]=a*i+o*n,r}});var X_t=ft((S3r,Y_t)=>{Y_t.exports=Oce;function Oce(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}});var K_t=ft((C3r,q_t)=>{q_t.exports=Dce;function Dce(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}});var $_t=ft((w3r,Z_t)=>{Z_t.exports=Pce;function Pce(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}});var J_t=ft((E3r,Q_t)=>{Q_t.exports=kce;function kce(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}});var eSt=ft((A3r,tSt)=>{tSt.exports=Rce;function Rce(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}});var GY=ft((M3r,rSt)=>{rSt.exports=Nce;function Nce(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.sqrt(t*t+n*n)}});var iSt=ft((T3r,nSt)=>{nSt.exports=GY()});var zY=ft((I3r,aSt)=>{aSt.exports=Fce;function Fce(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}});var sSt=ft((L3r,oSt)=>{oSt.exports=zY()});var UY=ft((O3r,lSt)=>{lSt.exports=Bce;function Bce(r){var e=r[0],t=r[1];return Math.sqrt(e*e+t*t)}});var fSt=ft((D3r,uSt)=>{uSt.exports=UY()});var jY=ft((P3r,cSt)=>{cSt.exports=Gce;function Gce(r){var e=r[0],t=r[1];return e*e+t*t}});var dSt=ft((k3r,hSt)=>{hSt.exports=jY()});var vSt=ft((R3r,pSt)=>{pSt.exports=zce;function zce(r,e){return r[0]=-e[0],r[1]=-e[1],r}});var WY=ft((N3r,mSt)=>{mSt.exports=Uce;function Uce(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i),r[0]=e[0]*i,r[1]=e[1]*i),r}});var VY=ft((F3r,gSt)=>{gSt.exports=jce;function jce(r,e){return r[0]*e[0]+r[1]*e[1]}});var xSt=ft((B3r,ySt)=>{ySt.exports=Wce;function Wce(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}});var _St=ft((G3r,bSt)=>{bSt.exports=Vce;function Vce(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}});var CSt=ft((z3r,SSt)=>{SSt.exports=Hce;function Hce(r,e){e=e||1;var t=Math.random()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}});var ESt=ft((U3r,wSt)=>{wSt.exports=Yce;function Yce(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}});var MSt=ft((j3r,ASt)=>{ASt.exports=Xce;function Xce(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}});var ISt=ft((W3r,TSt)=>{TSt.exports=qce;function qce(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}});var OSt=ft((V3r,LSt)=>{LSt.exports=Kce;function Kce(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}});var PSt=ft((H3r,DSt)=>{DSt.exports=Zce;var yS=kY()();function Zce(r,e,t,n,i,a){var o,s;for(e||(e=2),t||(t=0),n?s=Math.min(n*e+t,r.length):s=r.length,o=t;o{kSt.exports=$ce;function $ce(r,e,t){var n=e[0]*e[0]+e[1]*e[1];if(n>t*t){var i=Math.sqrt(n);r[0]=e[0]/i*t,r[1]=e[1]/i*t}else r[0]=e[0],r[1]=e[1];return r}});var FSt=ft((X3r,NSt)=>{NSt.exports={EPSILON:PY(),create:kY(),clone:g_t(),fromValues:x_t(),copy:__t(),set:RY(),equals:E_t(),exactEquals:M_t(),add:NY(),subtract:FN(),sub:O_t(),multiply:FY(),mul:k_t(),divide:BY(),div:F_t(),inverse:G_t(),min:U_t(),max:W_t(),rotate:H_t(),floor:X_t(),ceil:K_t(),round:$_t(),scale:J_t(),scaleAndAdd:eSt(),distance:GY(),dist:iSt(),squaredDistance:zY(),sqrDist:sSt(),length:UY(),len:fSt(),squaredLength:jY(),sqrLen:dSt(),negate:vSt(),normalize:WY(),dot:VY(),cross:xSt(),lerp:_St(),random:CSt(),transformMat2:ESt(),transformMat2d:MSt(),transformMat3:ISt(),transformMat4:OSt(),forEach:PSt(),limit:RSt()}});var zSt=ft((q3r,BN)=>{var Qce=NY(),HY=RY(),BSt=WY(),Jce=FN(),the=VY(),GSt=[0,0];BN.exports.computeMiter=function(e,t,n,i,a){return Qce(e,n,i),BSt(e,e),HY(t,-e[1],e[0]),HY(GSt,-n[1],n[0]),a/the(t,GSt)};BN.exports.normal=function(e,t){return HY(e,-t[1],t[0]),e};BN.exports.direction=function(e,t,n){return Jce(e,t,n),BSt(e,e),e}});var sX=ft((eT,oX)=>{(function(e,t){typeof eT=="object"&&typeof oX=="object"?oX.exports=t():typeof define=="function"&&define.amd?define([],t):typeof eT=="object"?eT.Hierarchy=t():e.Hierarchy=t()})(typeof self!="undefined"?self:eT,function(){return function(r){var e={};function t(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return r[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=r,t.c=e,t.d=function(n,i,a){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},t.p="",t(t.s=31)}([function(r,e,t){"use strict";var n=t(4);e.a=function(i){return Array.isArray?Array.isArray(i):Object(n.a)(i,"Array")}},function(r,e,t){"use strict";var n=function(i){return i!==null&&typeof i!="function"&&isFinite(i.length)};e.a=n},function(r,e,t){"use strict";var n=t(0),i=t(13);function a(o,s){if(!!o){var l;if(Object(n.a)(o))for(var u=0,f=o.length;u-1:!1};e.a=i},function(r,e,t){"use strict";e.a=function(n){var i=typeof n;return n!==null&&i==="object"||i==="function"}},function(r,e,t){"use strict";var n=t(2),i=t(1),a=function(o,s){if(!Object(i.a)(o))return o;var l=[];return Object(n.a)(o,function(u,f){s(u,f)&&l.push(u)}),l};e.a=a},function(r,e,t){"use strict";var n=function(i){return typeof i=="object"&&i!==null};e.a=n},function(r,e,t){"use strict";e.a=i;function n(a,o){for(var s in o)o.hasOwnProperty(s)&&s!=="constructor"&&o[s]!==void 0&&(a[s]=o[s])}function i(a,o,s,l){return o&&n(a,o),s&&n(a,s),l&&n(a,l),a}},function(r,e,t){var n=t(30),i=["LR","RL","TB","BT","H","V"],a=["LR","RL","H"],o=function(u){return a.indexOf(u)>-1},s=i[0];r.exports=function(l,u,f){var c=u.direction||s;if(u.isHorizontal=o(c),c&&i.indexOf(c)===-1)throw new TypeError("Invalid direction: "+c);if(c===i[0])f(l,u);else if(c===i[1])f(l,u),l.right2left();else if(c===i[2])f(l,u);else if(c===i[3])f(l,u),l.bottom2top();else if(c===i[4]||c===i[5]){var h=n(l,u),d=h.left,p=h.right;f(d,u),f(p,u),u.isHorizontal?d.right2left():d.bottom2top(),p.translate(d.x-p.x,d.y-p.y),l.x=d.x,l.y=p.y;var v=l.getBoundingBox();u.isHorizontal?v.top<0&&l.translate(0,-v.top):v.left<0&&l.translate(-v.left,0)}var m=u.fixedRoot;return m===void 0&&(m=!0),m&&l.translate(-(l.x+l.width/2+l.hgap),-(l.y+l.height/2+l.vgap)),l}},function(r,e,t){var n=t(7),i=18,a=i*2,o=i,s={getId:function(c){return c.id||c.name},getPreH:function(c){return c.preH||0},getPreV:function(c){return c.preV||0},getHGap:function(c){return c.hgap||o},getVGap:function(c){return c.vgap||o},getChildren:function(c){return c.children},getHeight:function(c){return c.height||a},getWidth:function(c){var h=c.label||" ";return c.width||h.split("").length*i}};function l(f,c){var h=this;if(h.vgap=h.hgap=0,f instanceof l)return f;h.data=f;var d=c.getHGap(f),p=c.getVGap(f);return h.preH=c.getPreH(f),h.preV=c.getPreV(f),h.width=c.getWidth(f),h.height=c.getHeight(f),h.width+=h.preH,h.height+=h.preV,h.id=c.getId(f),h.x=h.y=0,h.depth=0,h.children||(h.children=[]),h.addGap(d,p),h}n.assign(l.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(c,h){var d=this;d.hgap+=c,d.vgap+=h,d.width+=2*c,d.height+=2*h},eachNode:function(c){for(var h=this,d=[h],p;p=d.shift();)c(p),d=p.children.concat(d)},DFTraverse:function(c){this.eachNode(c)},BFTraverse:function(c){for(var h=this,d=[h],p;p=d.shift();)c(p),d=d.concat(p.children)},getBoundingBox:function(){var c={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(h){c.left=Math.min(c.left,h.x),c.top=Math.min(c.top,h.y),c.width=Math.max(c.width,h.x+h.width),c.height=Math.max(c.height,h.y+h.height)}),c},translate:function(c,h){c===void 0&&(c=0),h===void 0&&(h=0),this.eachNode(function(d){d.x+=c,d.y+=h,d.x+=d.preH,d.y+=d.preV})},right2left:function(){var c=this,h=c.getBoundingBox();c.eachNode(function(d){d.x=d.x-(d.x-h.left)*2-d.width}),c.translate(h.width,0)},bottom2top:function(){var c=this,h=c.getBoundingBox();c.eachNode(function(d){d.y=d.y-(d.y-h.top)*2-d.height}),c.translate(0,h.height)}});function u(f,c,h){c===void 0&&(c={}),c=n.assign({},s,c);var d=new l(f,c),p=[d],v;if(!h&&!f.collapsed){for(;v=p.shift();)if(!v.data.collapsed){var m=c.getChildren(v.data),g=m?m.length:0;if(v.children=new Array(g),m&&g)for(var x=0;x-1;)i.call(s,h,1);return s};e.a=o},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(9),o=function(s,l,u){if(!Object(i.a)(s)&&!Object(a.a)(s))return s;var f=u;return Object(n.a)(s,function(c,h){f=l(f,c,h)}),f};e.a=o},function(r,e,t){"use strict";var n=t(1),i=t(21),a=function(o,s){var l=[];if(!Object(n.a)(o))return l;for(var u=-1,f=[],c=o.length;++uh[p])return 1;if(c[p]o?o:i};e.a=n},function(r,e,t){"use strict";var n=function(i,a){var o=a.toString(),s=o.indexOf(".");if(s===-1)return Math.round(i);var l=o.substr(s+1).length;return l>20&&(l=20),parseFloat(i.toFixed(l))};e.a=n},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a%1!=0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a%2==0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=Number.isInteger?Number.isInteger:function(a){return Object(n.a)(a)&&a%1==0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a<0};e.a=i},function(r,e,t){"use strict";e.a=i;var n=1e-5;function i(a,o,s){return s===void 0&&(s=n),Math.abs(a-o)0};e.a=i},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(3);e.a=function(o,s){if(!!Object(i.a)(o)){var l=o[0],u;Object(a.a)(s)?u=s(o[0]):u=o[0][s];var f;return Object(n.a)(o,function(c){Object(a.a)(s)?f=s(c):f=c[s],f>u&&(l=c,u=f)}),l}}},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(3);e.a=function(o,s){if(!!Object(i.a)(o)){var l=o[0],u;Object(a.a)(s)?u=s(o[0]):u=o[0][s];var f;return Object(n.a)(o,function(c){Object(a.a)(s)?f=s(c):f=c[s],fi?(o&&(clearTimeout(o),o=null),f=d,u=n.apply(s,l),o||(s=l=null)):!o&&a.trailing!==!1&&(o=setTimeout(c,p)),u};return h.cancel=function(){clearTimeout(o),f=0,o=s=l=null},h}},function(r,e,t){"use strict";var n=t(1);e.a=function(i){return Object(n.a)(i)?Array.prototype.slice.call(i):[]}},function(r,e,t){"use strict";var n={};e.a=function(i){return i=i||"g",n[i]?n[i]+=1:n[i]=1,i+n[i]}},function(r,e,t){"use strict";e.a=function(){}},function(r,e,t){"use strict";e.a=function(n){return n}},function(r,e,t){"use strict";e.a=a;var n=t(6),i=t(1);function a(o){return Object(n.a)(o)?0:Object(i.a)(o)?o.length:Object.keys(o).length}},function(r,e,t){"use strict";var n=function(){function i(){this.map={}}return i.prototype.has=function(a){return this.map[a]!==void 0},i.prototype.get=function(a,o){var s=this.map[a];return s===void 0?o:s},i.prototype.set=function(a,o){this.map[a]=o},i.prototype.clear=function(){this.map={}},i.prototype.delete=function(a){delete this.map[a]},i.prototype.size=function(){return Object.keys(this.map).length},i}();e.a=n},function(r,e){function t(l,u,f,c){c===void 0&&(c=[]);var h=this;h.w=l||0,h.h=u||0,h.y=f||0,h.x=0,h.c=c||[],h.cs=c.length,h.prelim=0,h.mod=0,h.shift=0,h.change=0,h.tl=null,h.tr=null,h.el=null,h.er=null,h.msel=0,h.mser=0}t.fromNode=function(l,u){if(!l)return null;var f=[];return l.children.forEach(function(c){f.push(t.fromNode(c,u))}),u?new t(l.height,l.width,l.x,f):new t(l.width,l.height,l.y,f)};function n(l,u,f){f?l.y+=u:l.x+=u,l.children.forEach(function(c){n(c,u,f)})}function i(l,u){var f=u?l.y:l.x;return l.children.forEach(function(c){f=Math.min(i(c,u),f)}),f}function a(l,u){var f=i(l,u);n(l,-f,u)}function o(l,u,f){f?u.y=l.x:u.x=l.x,l.c.forEach(function(c,h){o(c,u.children[h],f)})}function s(l,u,f){f===void 0&&(f=0),u?(l.x=f,f+=l.width):(l.y=f,f+=l.height),l.children.forEach(function(c){s(c,u,f)})}r.exports=function(l,u){u===void 0&&(u={});var f=u.isHorizontal;function c(L){if(L.cs===0){h(L);return}c(L.c[0]);for(var M=I(g(L.c[0].el),0,null),O=1;OO.low&&(O=O.nxt);var N=k+F.prelim+F.w-(D+G.prelim);N>0&&(D+=N,p(L,M,O.index,N));var z=g(F),j=g(G);z<=j&&(F=m(F),F!==null&&(k+=F.mod)),z>=j&&(G=v(G),G!==null&&(D+=G.mod))}!F&&!!G?x(L,M,G,D):!!F&&!G&&b(L,M,F,k)}function p(L,M,O,F){L.c[M].mod+=F,L.c[M].msel+=F,L.c[M].mser+=F,w(L,M,O,F)}function v(L){return L.cs===0?L.tl:L.c[0]}function m(L){return L.cs===0?L.tr:L.c[L.cs-1]}function g(L){return L.y+L.h}function x(L,M,O,F){var k=L.c[0].el;k.tl=O;var G=F-O.mod-L.c[0].msel;k.mod+=G,k.prelim-=G,L.c[0].el=L.c[M].el,L.c[0].msel=L.c[M].msel}function b(L,M,O,F){var k=L.c[M].er;k.tr=O;var G=F-O.mod-L.c[M].mser;k.mod+=G,k.prelim-=G,L.c[M].er=L.c[M-1].er,L.c[M].mser=L.c[M-1].mser}function S(L){L.prelim=(L.c[0].prelim+L.c[0].mod+L.c[L.cs-1].mod+L.c[L.cs-1].prelim+L.c[L.cs-1].w)/2-L.w/2}function C(L,M){M+=L.mod,L.x=L.prelim+M,A(L);for(var O=0;O=O.low;)O=O.nxt;return{low:L,index:M,nxt:O}}s(l,f);var P=t.fromNode(l,f);return c(P),C(P,0),o(P,l,f),a(l,f),l}},function(r,e,t){function n(c,h){c.prototype=Object.create(h.prototype),c.prototype.constructor=c,c.__proto__=h}var i=t(11),a=t(115),o=t(17),s=t(7),l=function(c){n(h,c);function h(){return c.apply(this,arguments)||this}var d=h.prototype;return d.execute=function(){var v=this;return v.rootNode.width=0,o(v.rootNode,v.options,a)},h}(i),u={};function f(c,h){return h=s.assign({},u,h),new l(c,h).execute()}r.exports=f},function(r,e,t){var n=t(7);function i(s,l){s===void 0&&(s=0),l===void 0&&(l=[]);var u=this;u.x=u.y=0,u.leftChild=u.rightChild=null,u.height=0,u.children=l}var a={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function o(s,l,u){u?(l.x=s.x,l.y=s.y):(l.x=s.y,l.y=s.x),s.children.forEach(function(f,c){o(f,l.children[c],u)})}r.exports=function(s,l){l===void 0&&(l={}),l=n.assign({},a,l);var u=0;function f(v){if(!v)return null;v.width=0,v.depth&&v.depth>u&&(u=v.depth);var m=v.children,g=m.length,x=new i(v.height,[]);return m.forEach(function(b,S){var C=f(b);x.children.push(C),S===0&&(x.leftChild=C),S===g-1&&(x.rightChild=C)}),x.originNode=v,x.isLeaf=v.isLeaf(),x}function c(v){if(v.isLeaf||v.children.length===0)v.drawingDepth=u;else{var m=v.children.map(function(x){return c(x)}),g=Math.min.apply(null,m);v.drawingDepth=g-1}return v.drawingDepth}var h;function d(v){v.x=v.drawingDepth*l.rankSep,v.isLeaf?(v.y=0,h&&(v.y=h.y+h.height+l.nodeSep,v.originNode.parent!==h.originNode.parent&&(v.y+=l.subTreeSep)),h=v):(v.children.forEach(function(m){d(m)}),v.y=(v.leftChild.y+v.rightChild.y)/2)}var p=f(s);return c(p),d(p),o(p,s,l.isHorizontal),s}},function(r,e,t){function n(d,p){d.prototype=Object.create(p.prototype),d.prototype.constructor=d,d.__proto__=p}var i=t(11),a=t(117),o=t(30),s=t(7),l=["LR","RL","H"],u=l[0],f=function(d){n(p,d);function p(){return d.apply(this,arguments)||this}var v=p.prototype;return v.execute=function(){var g=this,x=g.options,b=g.rootNode;x.isHorizontal=!0;var S=x.indent,C=S===void 0?20:S,w=x.dropCap,A=w===void 0?!0:w,I=x.direction||u;if(I&&l.indexOf(I)===-1)throw new TypeError("Invalid direction: "+I);if(I===l[0])a(b,C,A);else if(I===l[1])a(b,C,A),b.right2left();else if(I===l[2]){var P=o(b,x),L=P.left,M=P.right;a(L,C,A),L.right2left(),a(M,C,A);var O=L.getBoundingBox();M.translate(O.width,0),b.x=M.x-b.width/2}return b},p}(i),c={};function h(d,p){return p=s.assign({},c,p),new f(d,p).execute()}r.exports=h},function(r,e){function t(n,i,a,o){var s=typeof a=="function"?a(n):a*n.depth;if(!o)try{if(n.id===n.parent.children[0].id){n.x+=s,n.y=i?i.y:0;return}}catch(l){}n.x+=s,n.y=i?i.y+i.height:0}r.exports=function(n,i,a){var o=null;n.eachNode(function(s){t(s,o,i,a),o=s})}},function(r,e,t){function n(c,h){c.prototype=Object.create(h.prototype),c.prototype.constructor=c,c.__proto__=h}var i=t(11),a=t(119),o=t(17),s=t(7),l=function(c){n(h,c);function h(){return c.apply(this,arguments)||this}var d=h.prototype;return d.execute=function(){var v=this;return o(v.rootNode,v.options,a)},h}(i),u={};function f(c,h){return h=s.assign({},u,h),new l(c,h).execute()}r.exports=f},function(r,e,t){var n=t(7);function i(s,l){var u=0;return s.children.length?s.children.forEach(function(f){u+=i(f,l)}):u=s.height,s._subTreeSep=l.getSubTreeSep(s.data),s.totalHeight=Math.max(s.height,u)+2*s._subTreeSep,s.totalHeight}function a(s){var l=s.children,u=l.length;if(u){l.forEach(function(v){a(v)});var f=l[0],c=l[u-1],h=c.y-f.y+c.height,d=0;if(l.forEach(function(v){d+=v.totalHeight}),h>s.height)s.y=f.y+h/2-s.height/2;else if(l.length!==1||s.height>d){var p=s.y+(s.height-h)/2-f.y;l.forEach(function(v){v.translate(0,p)})}else s.y=(f.y+f.height/2+c.y+c.height/2)/2-s.height/2}}var o={getSubTreeSep:function(){return 0}};r.exports=function(s,l){l===void 0&&(l={}),l=n.assign({},o,l),s.parent={x:0,width:0,height:0,y:0},s.BFTraverse(function(u){u.x=u.parent.x+u.parent.width}),s.parent=null,i(s,l),s.startY=0,s.y=s.totalHeight/2-s.height/2,s.eachNode(function(u){var f=u.children,c=f.length;if(c){var h=f[0];if(h.startY=u.startY+u._subTreeSep,c===1)h.y=u.y+u.height/2-h.height/2;else{h.y=h.startY+h.totalHeight/2-h.height/2;for(var d=1;d{var Twt=[],rT=[],Jhe="insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).";function Iwt(r,e){if(e=e||{},r===void 0)throw new Error(Jhe);var t=e.prepend===!0?"prepend":"append",n=e.container!==void 0?e.container:document.querySelector("head"),i=Twt.indexOf(n);i===-1&&(i=Twt.push(n)-1,rT[i]={});var a;return rT[i]!==void 0&&rT[i][t]!==void 0?a=rT[i][t]:(a=rT[i][t]=tde(),t==="prepend"?n.insertBefore(a,n.childNodes[0]):n.appendChild(a)),r.charCodeAt(0)===65279&&(r=r.substr(1,r.length)),a.styleSheet?a.styleSheet.cssText+=r:a.textContent+=r,a}function tde(){var r=document.createElement("style");return r.setAttribute("type","text/css"),r}gX.exports=Iwt;gX.exports.insertCss=Iwt});var UAt=ft((HX,YX)=>{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof YX=="object"&&typeof HX!="undefined"?YX.exports=e():r.Papa=e()})(HX,function r(){"use strict";var e=typeof self!="undefined"?self:typeof window!="undefined"?window:e!==void 0?e:{},t=!e.document&&!!e.postMessage,n=t&&/blob:/i.test((e.location||{}).protocol),i={},a=0,o={parse:function(w,A){var I=(A=A||{}).dynamicTyping||!1;if(C(I)&&(A.dynamicTypingFunction=I,I={}),A.dynamicTyping=I,A.transform=!!C(A.transform)&&A.transform,A.worker&&o.WORKERS_SUPPORTED){var P=function(){if(!o.WORKERS_SUPPORTED)return!1;var M=(F=e.URL||e.webkitURL||null,k=r.toString(),o.BLOB_URL||(o.BLOB_URL=F.createObjectURL(new Blob(["(",k,")();"],{type:"text/javascript"})))),O=new e.Worker(M),F,k;return O.onmessage=m,O.id=a++,i[O.id]=O}();return P.userStep=A.step,P.userChunk=A.chunk,P.userComplete=A.complete,P.userError=A.error,A.step=C(A.step),A.chunk=C(A.chunk),A.complete=C(A.complete),A.error=C(A.error),delete A.worker,void P.postMessage({input:w,config:A,workerId:P.id})}var L=null;return o.NODE_STREAM_INPUT,typeof w=="string"?L=A.download?new u(A):new c(A):w.readable===!0&&C(w.read)&&C(w.on)?L=new h(A):(e.File&&w instanceof File||w instanceof Object)&&(L=new f(A)),L.stream(w)},unparse:function(w,A){var I=!1,P=!0,L=",",M=`\r -`,O='"',F=O+O,k=!1,G=null,D=!1;(function(){if(typeof A=="object"){if(typeof A.delimiter!="string"||o.BAD_DELIMITERS.filter(function(W){return A.delimiter.indexOf(W)!==-1}).length||(L=A.delimiter),(typeof A.quotes=="boolean"||typeof A.quotes=="function"||Array.isArray(A.quotes))&&(I=A.quotes),typeof A.skipEmptyLines!="boolean"&&typeof A.skipEmptyLines!="string"||(k=A.skipEmptyLines),typeof A.newline=="string"&&(M=A.newline),typeof A.quoteChar=="string"&&(O=A.quoteChar),typeof A.header=="boolean"&&(P=A.header),Array.isArray(A.columns)){if(A.columns.length===0)throw new Error("Option columns is empty");G=A.columns}A.escapeChar!==void 0&&(F=A.escapeChar+O),typeof A.escapeFormulae=="boolean"&&(D=A.escapeFormulae)}})();var N=new RegExp(p(O),"g");if(typeof w=="string"&&(w=JSON.parse(w)),Array.isArray(w)){if(!w.length||Array.isArray(w[0]))return z(null,w,k);if(typeof w[0]=="object")return z(G||Object.keys(w[0]),w,k)}else if(typeof w=="object")return typeof w.data=="string"&&(w.data=JSON.parse(w.data)),Array.isArray(w.data)&&(w.fields||(w.fields=w.meta&&w.meta.fields),w.fields||(w.fields=Array.isArray(w.data[0])?w.fields:typeof w.data[0]=="object"?Object.keys(w.data[0]):[]),Array.isArray(w.data[0])||typeof w.data[0]=="object"||(w.data=[w.data])),z(w.fields||[],w.data||[],k);throw new Error("Unable to serialize unrecognized input");function z(W,J,et){var lt="";typeof W=="string"&&(W=JSON.parse(W)),typeof J=="string"&&(J=JSON.parse(J));var $=Array.isArray(W)&&0=this._config.preview;if(n)e.postMessage({results:M,workerId:o.WORKER_ID,finished:F});else if(C(this._config.chunk)&&!I){if(this._config.chunk(M,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);M=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(M.data),this._completeResults.errors=this._completeResults.errors.concat(M.errors),this._completeResults.meta=M.meta),this._completed||!F||!C(this._config.complete)||M&&M.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),F||M&&M.meta.paused||this._nextChunk(),M}this._halted=!0},this._sendError=function(A){C(this._config.error)?this._config.error(A):n&&this._config.error&&e.postMessage({workerId:o.WORKER_ID,error:A,finished:!1})}}function u(w){var A;(w=w||{}).chunkSize||(w.chunkSize=o.RemoteChunkSize),l.call(this,w),this._nextChunk=t?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(I){this._input=I,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(A=new XMLHttpRequest,this._config.withCredentials&&(A.withCredentials=this._config.withCredentials),t||(A.onload=S(this._chunkLoaded,this),A.onerror=S(this._chunkError,this)),A.open(this._config.downloadRequestBody?"POST":"GET",this._input,!t),this._config.downloadRequestHeaders){var I=this._config.downloadRequestHeaders;for(var P in I)A.setRequestHeader(P,I[P])}if(this._config.chunkSize){var L=this._start+this._config.chunkSize-1;A.setRequestHeader("Range","bytes="+this._start+"-"+L)}try{A.send(this._config.downloadRequestBody)}catch(M){this._chunkError(M.message)}t&&A.status===0&&this._chunkError()}},this._chunkLoaded=function(){A.readyState===4&&(A.status<200||400<=A.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:A.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(I){var P=I.getResponseHeader("Content-Range");return P===null?-1:parseInt(P.substring(P.lastIndexOf("/")+1))}(A),this.parseChunk(A.responseText)))},this._chunkError=function(I){var P=A.statusText||I;this._sendError(new Error(P))}}function f(w){var A,I;(w=w||{}).chunkSize||(w.chunkSize=o.LocalChunkSize),l.call(this,w);var P=typeof FileReader!="undefined";this.stream=function(L){this._input=L,I=L.slice||L.webkitSlice||L.mozSlice,P?((A=new FileReader).onload=S(this._chunkLoaded,this),A.onerror=S(this._chunkError,this)):A=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(L.target.result)},this._chunkError=function(){this._sendError(A.error)}}function c(w){var A;l.call(this,w=w||{}),this.stream=function(I){return A=I,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var I,P=this._config.chunkSize;return P?(I=A.substring(0,P),A=A.substring(P)):(I=A,A=""),this._finished=!A,this.parseChunk(I)}}}function h(w){l.call(this,w=w||{});var A=[],I=!0,P=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(L){this._input=L,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){P&&A.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),A.length?this.parseChunk(A.shift()):I=!0},this._streamData=S(function(L){try{A.push(typeof L=="string"?L:L.toString(this._config.encoding)),I&&(I=!1,this._checkIsFinished(),this.parseChunk(A.shift()))}catch(M){this._streamError(M)}},this),this._streamError=S(function(L){this._streamCleanUp(),this._sendError(L)},this),this._streamEnd=S(function(){this._streamCleanUp(),P=!0,this._streamData("")},this),this._streamCleanUp=S(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function d(w){var A,I,P,L=Math.pow(2,53),M=-L,O=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,F=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/,k=this,G=0,D=0,N=!1,z=!1,j=[],W={data:[],errors:[],meta:{}};if(C(w.step)){var J=w.step;w.step=function(dt){if(W=dt,$())lt();else{if(lt(),W.data.length===0)return;G+=dt.data.length,w.preview&&G>w.preview?I.abort():(W.data=W.data[0],J(W,k))}}}function et(dt){return w.skipEmptyLines==="greedy"?dt.join("").trim()==="":dt.length===1&&dt[0].length===0}function lt(){if(W&&P&&(_t("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),P=!1),w.skipEmptyLines)for(var dt=0;dt=j.length?"__parsed_extra":j[Y]),w.transform&&(Rt=w.transform(Rt,K)),Rt=st(K,Rt),K==="__parsed_extra"?(it[K]=it[K]||[],it[K].push(Rt)):it[K]=Rt}return w.header&&(Y>j.length?_t("FieldMismatch","TooManyFields","Too many fields: expected "+j.length+" fields but parsed "+Y,D+$t):Y":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Zc={"0":0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ew={frag:NB,vert:FB},eb={cw:yI,ccw:tb};function Xd(B){return Array.isArray(B)||r(B)||No(B)}function rw(B){return B.sort(function(Z,ct){return Z===jf?-1:ct===jf?1:Z=1,Gt>=2,Z)}else if(ct===fy){var Jt=B.data;return new ro(Jt.thisDep,Jt.contextDep,Jt.propDep,Z)}else{if(ct===sI)return new ro(!1,!1,!1,Z);if(ct===cy){for(var zt=!1,Vt=!1,ve=!1,le=0;le=1&&(Vt=!0),ye>=2&&(ve=!0)}else Ce.type===fy&&(zt=zt||Ce.data.thisDep,Vt=Vt||Ce.data.contextDep,ve=ve||Ce.data.propDep)}return new ro(zt,Vt,ve,Z)}else return new ro(ct===Nu,ct===Fd,ct===Ux,Z)}}var nw=new ro(!1,!1,!1,function(){});function rb(B,Z,ct,Gt,Jt,zt,Vt,ve,le,Ce,ye,Ie,Be,me,Pe){var Ot=Ce.Record,Yt={add:32774,subtract:32778,"reverse subtract":32779};ct.ext_blend_minmax&&(Yt.min=xI,Yt.max=_s);var pe=ct.angle_instanced_arrays,Le=ct.webgl_draw_buffers,ue={dirty:!0,profile:Pe.profile},He={},ce=[],Re={},he={};function Oe(ot){return ot.replace(".","_")}function vr(ot,Q,yt){var Lt=Oe(ot);ce.push(ot),He[Lt]=ue[Lt]=!!yt,Re[Lt]=Q}function Dr(ot,Q,yt){var Lt=Oe(ot);ce.push(ot),Array.isArray(yt)?(ue[Lt]=yt.slice(),He[Lt]=yt.slice()):ue[Lt]=He[Lt]=yt,he[Lt]=Q}vr(lI,xl),vr(XC,GB),Dr(eo,"blendColor",[0,0,0,0]),Dr(hy,"blendEquationSeparate",[Hd,Hd]),Dr(jx,"blendFuncSeparate",[Ey,bI,Ey,bI]),vr(ou,$x,!0),Dr(Wx,"depthFunc",_I),Dr(dy,"depthRange",[0,1]),Dr(Vc,"depthMask",!0),Dr(Vx,Vx,[!0,!0,!0,!0]),vr(Go,BB),Dr(Hx,"cullFace",qc),Dr(qC,qC,tb),Dr(KC,KC,1),vr(uI,vI),Dr(py,"polygonOffset",[0,0]),vr(fI,mI),vr(Lv,Gs),Dr(Yx,"sampleCoverage",[1,!1]),vr(cI,zB),Dr(hI,"stencilMask",-1),Dr(Bd,"stencilFunc",[Bu,0,-1]),Dr(ZC,"stencilOpSeparate",[Gv,Kc,Kc,Kc]),Dr(vy,"stencilOpSeparate",[qc,Kc,Kc,Kc]),vr(Xx,JC),Dr(my,"scissor",[0,0,B.drawingBufferWidth,B.drawingBufferHeight]),Dr(jf,jf,[0,0,B.drawingBufferWidth,B.drawingBufferHeight]);var Ge={gl:B,context:Be,strings:Z,next:He,current:ue,draw:Ie,elements:zt,buffer:Jt,shader:ye,attributes:Ce.state,vao:Ce,uniforms:le,framebuffer:ve,extensions:ct,timer:me,isBufferArgs:Xd},Me={primTypes:Cd,compareFuncs:Gu,blendFuncs:uu,blendEquations:Yt,stencilOps:Zc,glTypes:_d,orientationType:eb};W.optional(function(){Ge.isArrayLike=aa}),Le&&(Me.backBuffer=[qc],Me.drawBuffer=Li(Gt.maxDrawbuffers,function(ot){return ot===0?[0]:Li(ot,function(Q){return UB+Q})}));var fe=0;function Er(){var ot=Uf(),Q=ot.link,yt=ot.global;ot.id=fe++,ot.batchId="0";var Lt=Q(Ge),Dt=ot.shared={props:"a0"};Object.keys(Ge).forEach(function(vt){Dt[vt]=yt.def(Lt,".",vt)}),W.optional(function(){ot.CHECK=Q(W),ot.commandStr=W.guessCommand(),ot.command=Q(ot.commandStr),ot.assert=function(vt,nt,It){vt("if(!(",nt,"))",this.CHECK,".commandRaise(",Q(It),",",this.command,");")},Me.invalidBlendCombinations=Yd});var Ct=ot.next={},xt=ot.current={};Object.keys(he).forEach(function(vt){Array.isArray(ue[vt])&&(Ct[vt]=yt.def(Dt.next,".",vt),xt[vt]=yt.def(Dt.current,".",vt))});var wt=ot.constants={};Object.keys(Me).forEach(function(vt){wt[vt]=yt.def(JSON.stringify(Me[vt]))}),ot.invoke=function(vt,nt){switch(nt.type){case zx:var It=["this",Dt.context,Dt.props,ot.batchId];return vt.def(Q(nt.data),".call(",It.slice(0,Math.max(nt.data.length+1,4)),")");case Ux:return vt.def(Dt.props,nt.data);case Fd:return vt.def(Dt.context,nt.data);case Nu:return vt.def("this",nt.data);case fy:return nt.data.append(ot,vt),nt.data.ref;case sI:return nt.data.toString();case cy:return nt.data.map(function(Pt){return ot.invoke(vt,Pt)})}},ot.attribCache={};var rt={};return ot.scopeAttrib=function(vt){var nt=Z.id(vt);if(nt in rt)return rt[nt];var It=Ce.scope[nt];It||(It=Ce.scope[nt]=new Ot);var Pt=rt[nt]=Q(It);return Pt},ot}function Vr(ot){var Q=ot.static,yt=ot.dynamic,Lt;if(gy in Q){var Dt=!!Q[gy];Lt=Wi(function(xt,wt){return Dt}),Lt.enable=Dt}else if(gy in yt){var Ct=yt[gy];Lt=Ss(Ct,function(xt,wt){return xt.invoke(wt,Ct)})}return Lt}function Je(ot,Q){var yt=ot.static,Lt=ot.dynamic;if(Gd in yt){var Dt=yt[Gd];return Dt?(Dt=ve.getFramebuffer(Dt),W.command(Dt,"invalid framebuffer object"),Wi(function(xt,wt){var rt=xt.link(Dt),vt=xt.shared;wt.set(vt.framebuffer,".next",rt);var nt=vt.context;return wt.set(nt,"."+jd,rt+".width"),wt.set(nt,"."+Dv,rt+".height"),rt})):Wi(function(xt,wt){var rt=xt.shared;wt.set(rt.framebuffer,".next","null");var vt=rt.context;return wt.set(vt,"."+jd,vt+"."+QC),wt.set(vt,"."+Dv,vt+"."+Zx),"null"})}else if(Gd in Lt){var Ct=Lt[Gd];return Ss(Ct,function(xt,wt){var rt=xt.invoke(wt,Ct),vt=xt.shared,nt=vt.framebuffer,It=wt.def(nt,".getFramebuffer(",rt,")");W.optional(function(){xt.assert(wt,"!"+rt+"||"+It,"invalid framebuffer object")}),wt.set(nt,".next",It);var Pt=vt.context;return wt.set(Pt,"."+jd,It+"?"+It+".width:"+Pt+"."+QC),wt.set(Pt,"."+Dv,It+"?"+It+".height:"+Pt+"."+Zx),It})}else return null}function on(ot,Q,yt){var Lt=ot.static,Dt=ot.dynamic;function Ct(rt){if(rt in Lt){var vt=Lt[rt];W.commandType(vt,"object","invalid "+rt,yt.commandStr);var nt=!0,It=vt.x|0,Pt=vt.y|0,re,ie;return"width"in vt?(re=vt.width|0,W.command(re>=0,"invalid "+rt,yt.commandStr)):nt=!1,"height"in vt?(ie=vt.height|0,W.command(ie>=0,"invalid "+rt,yt.commandStr)):nt=!1,new ro(!nt&&Q&&Q.thisDep,!nt&&Q&&Q.contextDep,!nt&&Q&&Q.propDep,function(ir,Xr){var tr=ir.shared.context,Cr=re;"width"in vt||(Cr=Xr.def(tr,".",jd,"-",It));var jr=ie;return"height"in vt||(jr=Xr.def(tr,".",Dv,"-",Pt)),[It,Pt,Cr,jr]})}else if(rt in Dt){var Kt=Dt[rt],_e=Ss(Kt,function(ir,Xr){var tr=ir.invoke(Xr,Kt);W.optional(function(){ir.assert(Xr,tr+"&&typeof "+tr+'==="object"',"invalid "+rt)});var Cr=ir.shared.context,jr=Xr.def(tr,".x|0"),Ln=Xr.def(tr,".y|0"),Ji=Xr.def('"width" in ',tr,"?",tr,".width|0:","(",Cr,".",jd,"-",jr,")"),rs=Xr.def('"height" in ',tr,"?",tr,".height|0:","(",Cr,".",Dv,"-",Ln,")");return W.optional(function(){ir.assert(Xr,Ji+">=0&&"+rs+">=0","invalid "+rt)}),[jr,Ln,Ji,rs]});return Q&&(_e.thisDep=_e.thisDep||Q.thisDep,_e.contextDep=_e.contextDep||Q.contextDep,_e.propDep=_e.propDep||Q.propDep),_e}else return Q?new ro(Q.thisDep,Q.contextDep,Q.propDep,function(ir,Xr){var tr=ir.shared.context;return[0,0,Xr.def(tr,".",jd),Xr.def(tr,".",Dv)]}):null}var xt=Ct(jf);if(xt){var wt=xt;xt=new ro(xt.thisDep,xt.contextDep,xt.propDep,function(rt,vt){var nt=wt.append(rt,vt),It=rt.shared.context;return vt.set(It,"."+dI,nt[2]),vt.set(It,"."+kB,nt[3]),nt})}return{viewport:xt,scissor_box:Ct(my)}}function Pr(ot,Q){var yt=ot.static,Lt=typeof yt[zd]=="string"&&typeof yt[Ov]=="string";if(Lt){if(Object.keys(Q.dynamic).length>0)return null;var Dt=Q.static,Ct=Object.keys(Dt);if(Ct.length>0&&typeof Dt[Ct[0]]=="number"){for(var xt=[],wt=0;wt=0,"invalid "+nt,Q.commandStr),Wi(function(ie,Kt){return It&&(ie.OFFSET=Pt),Pt})}else if(nt in Lt){var re=Lt[nt];return Ss(re,function(ie,Kt){var _e=ie.invoke(Kt,re);return It&&(ie.OFFSET=_e,W.optional(function(){ie.assert(Kt,_e+">=0","invalid "+nt)})),_e})}else if(It&&Ct)return Wi(function(ie,Kt){return ie.OFFSET="0",0});return null}var rt=wt(yy,!0);function vt(){if(Hc in yt){var nt=yt[Hc]|0;return W.command(typeof nt=="number"&&nt>=0,"invalid vertex count",Q.commandStr),Wi(function(){return nt})}else if(Hc in Lt){var It=Lt[Hc];return Ss(It,function(ie,Kt){var _e=ie.invoke(Kt,It);return W.optional(function(){ie.assert(Kt,"typeof "+_e+'==="number"&&'+_e+">=0&&"+_e+"===("+_e+"|0)","invalid vertex count")}),_e})}else if(Ct)if(zu(Ct)){if(Ct)return rt?new ro(rt.thisDep,rt.contextDep,rt.propDep,function(ie,Kt){var _e=Kt.def(ie.ELEMENTS,".vertCount-",ie.OFFSET);return W.optional(function(){ie.assert(Kt,_e+">=0","invalid vertex offset/element buffer too small")}),_e}):Wi(function(ie,Kt){return Kt.def(ie.ELEMENTS,".vertCount")});var Pt=Wi(function(){return-1});return W.optional(function(){Pt.MISSING=!0}),Pt}else{var re=new ro(Ct.thisDep||rt.thisDep,Ct.contextDep||rt.contextDep,Ct.propDep||rt.propDep,function(ie,Kt){var _e=ie.ELEMENTS;return ie.OFFSET?Kt.def(_e,"?",_e,".vertCount-",ie.OFFSET,":-1"):Kt.def(_e,"?",_e,".vertCount:-1")});return W.optional(function(){re.DYNAMIC=!0}),re}return null}return{elements:Ct,primitive:xt(),count:vt(),instances:wt(xy,!1),offset:rt}}function $i(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return ce.forEach(function(Ct){var xt=Oe(Ct);function wt(rt,vt){if(Ct in yt){var nt=rt(yt[Ct]);Dt[xt]=Wi(function(){return nt})}else if(Ct in Lt){var It=Lt[Ct];Dt[xt]=Ss(It,function(Pt,re){return vt(Pt,re,Pt.invoke(re,It))})}}switch(Ct){case Go:case XC:case lI:case cI:case ou:case Xx:case uI:case fI:case Lv:case Vc:return wt(function(rt){return W.commandType(rt,"boolean",Ct,Q.commandStr),rt},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,"typeof "+nt+'==="boolean"',"invalid flag "+Ct,rt.commandStr)}),nt});case Wx:return wt(function(rt){return W.commandParameter(rt,Gu,"invalid "+Ct,Q.commandStr),Gu[rt]},function(rt,vt,nt){var It=rt.constants.compareFuncs;return W.optional(function(){rt.assert(vt,nt+" in "+It,"invalid "+Ct+", must be one of "+Object.keys(Gu))}),vt.def(It,"[",nt,"]")});case dy:return wt(function(rt){return W.command(aa(rt)&&rt.length===2&&typeof rt[0]=="number"&&typeof rt[1]=="number"&&rt[0]<=rt[1],"depth range is 2d array",Q.commandStr),rt},function(rt,vt,nt){W.optional(function(){rt.assert(vt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===2&&typeof "+nt+'[0]==="number"&&typeof '+nt+'[1]==="number"&&'+nt+"[0]<="+nt+"[1]","depth range must be a 2d array")});var It=vt.def("+",nt,"[0]"),Pt=vt.def("+",nt,"[1]");return[It,Pt]});case jx:return wt(function(rt){W.commandType(rt,"object","blend.func",Q.commandStr);var vt="srcRGB"in rt?rt.srcRGB:rt.src,nt="srcAlpha"in rt?rt.srcAlpha:rt.src,It="dstRGB"in rt?rt.dstRGB:rt.dst,Pt="dstAlpha"in rt?rt.dstAlpha:rt.dst;return W.commandParameter(vt,uu,xt+".srcRGB",Q.commandStr),W.commandParameter(nt,uu,xt+".srcAlpha",Q.commandStr),W.commandParameter(It,uu,xt+".dstRGB",Q.commandStr),W.commandParameter(Pt,uu,xt+".dstAlpha",Q.commandStr),W.command(Yd.indexOf(vt+", "+It)===-1,"unallowed blending combination (srcRGB, dstRGB) = ("+vt+", "+It+")",Q.commandStr),[uu[vt],uu[It],uu[nt],uu[Pt]]},function(rt,vt,nt){var It=rt.constants.blendFuncs;W.optional(function(){rt.assert(vt,nt+"&&typeof "+nt+'==="object"',"invalid blend func, must be an object")});function Pt(tr,Cr){var jr=vt.def('"',tr,Cr,'" in ',nt,"?",nt,".",tr,Cr,":",nt,".",tr);return W.optional(function(){rt.assert(vt,jr+" in "+It,"invalid "+Ct+"."+tr+Cr+", must be one of "+Object.keys(uu))}),jr}var re=Pt("src","RGB"),ie=Pt("dst","RGB");W.optional(function(){var tr=rt.constants.invalidBlendCombinations;rt.assert(vt,tr+".indexOf("+re+'+", "+'+ie+") === -1 ","unallowed blending combination for (srcRGB, dstRGB)")});var Kt=vt.def(It,"[",re,"]"),_e=vt.def(It,"[",Pt("src","Alpha"),"]"),ir=vt.def(It,"[",ie,"]"),Xr=vt.def(It,"[",Pt("dst","Alpha"),"]");return[Kt,ir,_e,Xr]});case hy:return wt(function(rt){if(typeof rt=="string")return W.commandParameter(rt,Yt,"invalid "+Ct,Q.commandStr),[Yt[rt],Yt[rt]];if(typeof rt=="object")return W.commandParameter(rt.rgb,Yt,Ct+".rgb",Q.commandStr),W.commandParameter(rt.alpha,Yt,Ct+".alpha",Q.commandStr),[Yt[rt.rgb],Yt[rt.alpha]];W.commandRaise("invalid blend.equation",Q.commandStr)},function(rt,vt,nt){var It=rt.constants.blendEquations,Pt=vt.def(),re=vt.def(),ie=rt.cond("typeof ",nt,'==="string"');return W.optional(function(){function Kt(_e,ir,Xr){rt.assert(_e,Xr+" in "+It,"invalid "+ir+", must be one of "+Object.keys(Yt))}Kt(ie.then,Ct,nt),rt.assert(ie.else,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct),Kt(ie.else,Ct+".rgb",nt+".rgb"),Kt(ie.else,Ct+".alpha",nt+".alpha")}),ie.then(Pt,"=",re,"=",It,"[",nt,"];"),ie.else(Pt,"=",It,"[",nt,".rgb];",re,"=",It,"[",nt,".alpha];"),vt(ie),[Pt,re]});case eo:return wt(function(rt){return W.command(aa(rt)&&rt.length===4,"blend.color must be a 4d array",Q.commandStr),Li(4,function(vt){return+rt[vt]})},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===4","blend.color must be a 4d array")}),Li(4,function(It){return vt.def("+",nt,"[",It,"]")})});case hI:return wt(function(rt){return W.commandType(rt,"number",xt,Q.commandStr),rt|0},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,"typeof "+nt+'==="number"',"invalid stencil.mask")}),vt.def(nt,"|0")});case Bd:return wt(function(rt){W.commandType(rt,"object",xt,Q.commandStr);var vt=rt.cmp||"keep",nt=rt.ref||0,It="mask"in rt?rt.mask:-1;return W.commandParameter(vt,Gu,Ct+".cmp",Q.commandStr),W.commandType(nt,"number",Ct+".ref",Q.commandStr),W.commandType(It,"number",Ct+".mask",Q.commandStr),[Gu[vt],nt,It]},function(rt,vt,nt){var It=rt.constants.compareFuncs;W.optional(function(){function Kt(){rt.assert(vt,Array.prototype.join.call(arguments,""),"invalid stencil.func")}Kt(nt+"&&typeof ",nt,'==="object"'),Kt('!("cmp" in ',nt,")||(",nt,".cmp in ",It,")")});var Pt=vt.def('"cmp" in ',nt,"?",It,"[",nt,".cmp]",":",Kc),re=vt.def(nt,".ref|0"),ie=vt.def('"mask" in ',nt,"?",nt,".mask|0:-1");return[Pt,re,ie]});case ZC:case vy:return wt(function(rt){W.commandType(rt,"object",xt,Q.commandStr);var vt=rt.fail||"keep",nt=rt.zfail||"keep",It=rt.zpass||"keep";return W.commandParameter(vt,Zc,Ct+".fail",Q.commandStr),W.commandParameter(nt,Zc,Ct+".zfail",Q.commandStr),W.commandParameter(It,Zc,Ct+".zpass",Q.commandStr),[Ct===vy?qc:Gv,Zc[vt],Zc[nt],Zc[It]]},function(rt,vt,nt){var It=rt.constants.stencilOps;W.optional(function(){rt.assert(vt,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct)});function Pt(re){return W.optional(function(){rt.assert(vt,'!("'+re+'" in '+nt+")||("+nt+"."+re+" in "+It+")","invalid "+Ct+"."+re+", must be one of "+Object.keys(Zc))}),vt.def('"',re,'" in ',nt,"?",It,"[",nt,".",re,"]:",Kc)}return[Ct===vy?qc:Gv,Pt("fail"),Pt("zfail"),Pt("zpass")]});case py:return wt(function(rt){W.commandType(rt,"object",xt,Q.commandStr);var vt=rt.factor|0,nt=rt.units|0;return W.commandType(vt,"number",xt+".factor",Q.commandStr),W.commandType(nt,"number",xt+".units",Q.commandStr),[vt,nt]},function(rt,vt,nt){W.optional(function(){rt.assert(vt,nt+"&&typeof "+nt+'==="object"',"invalid "+Ct)});var It=vt.def(nt,".factor|0"),Pt=vt.def(nt,".units|0");return[It,Pt]});case Hx:return wt(function(rt){var vt=0;return rt==="front"?vt=Gv:rt==="back"&&(vt=qc),W.command(!!vt,xt,Q.commandStr),vt},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,nt+'==="front"||'+nt+'==="back"',"invalid cull.face")}),vt.def(nt,'==="front"?',Gv,":",qc)});case KC:return wt(function(rt){return W.command(typeof rt=="number"&&rt>=Gt.lineWidthDims[0]&&rt<=Gt.lineWidthDims[1],"invalid line width, must be a positive number between "+Gt.lineWidthDims[0]+" and "+Gt.lineWidthDims[1],Q.commandStr),rt},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,"typeof "+nt+'==="number"&&'+nt+">="+Gt.lineWidthDims[0]+"&&"+nt+"<="+Gt.lineWidthDims[1],"invalid line width")}),nt});case qC:return wt(function(rt){return W.commandParameter(rt,eb,xt,Q.commandStr),eb[rt]},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,nt+'==="cw"||'+nt+'==="ccw"',"invalid frontFace, must be one of cw,ccw")}),vt.def(nt+'==="cw"?'+yI+":"+tb)});case Vx:return wt(function(rt){return W.command(aa(rt)&&rt.length===4,"color.mask must be length 4 array",Q.commandStr),rt.map(function(vt){return!!vt})},function(rt,vt,nt){return W.optional(function(){rt.assert(vt,rt.shared.isArrayLike+"("+nt+")&&"+nt+".length===4","invalid color.mask")}),Li(4,function(It){return"!!"+nt+"["+It+"]"})});case Yx:return wt(function(rt){W.command(typeof rt=="object"&&rt,xt,Q.commandStr);var vt="value"in rt?rt.value:1,nt=!!rt.invert;return W.command(typeof vt=="number"&&vt>=0&&vt<=1,"sample.coverage.value must be a number between 0 and 1",Q.commandStr),[vt,nt]},function(rt,vt,nt){W.optional(function(){rt.assert(vt,nt+"&&typeof "+nt+'==="object"',"invalid sample.coverage")});var It=vt.def('"value" in ',nt,"?+",nt,".value:1"),Pt=vt.def("!!",nt,".invert");return[It,Pt]})}}),Dt}function Oa(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return Object.keys(yt).forEach(function(Ct){var xt=yt[Ct],wt;if(typeof xt=="number"||typeof xt=="boolean")wt=Wi(function(){return xt});else if(typeof xt=="function"){var rt=xt._reglType;rt==="texture2d"||rt==="textureCube"?wt=Wi(function(vt){return vt.link(xt)}):rt==="framebuffer"||rt==="framebufferCube"?(W.command(xt.color.length>0,'missing color attachment for framebuffer sent to uniform "'+Ct+'"',Q.commandStr),wt=Wi(function(vt){return vt.link(xt.color[0])})):W.commandRaise('invalid data for uniform "'+Ct+'"',Q.commandStr)}else aa(xt)?wt=Wi(function(vt){var nt=vt.global.def("[",Li(xt.length,function(It){return W.command(typeof xt[It]=="number"||typeof xt[It]=="boolean","invalid uniform "+Ct,vt.commandStr),xt[It]}),"]");return nt}):W.commandRaise('invalid or missing data for uniform "'+Ct+'"',Q.commandStr);wt.value=xt,Dt[Ct]=wt}),Object.keys(Lt).forEach(function(Ct){var xt=Lt[Ct];Dt[Ct]=Ss(xt,function(wt,rt){return wt.invoke(rt,xt)})}),Dt}function cn(ot,Q){var yt=ot.static,Lt=ot.dynamic,Dt={};return Object.keys(yt).forEach(function(Ct){var xt=yt[Ct],wt=Z.id(Ct),rt=new Ot;if(Xd(xt))rt.state=bo,rt.buffer=Jt.getBuffer(Jt.create(xt,Xc,!1,!0)),rt.type=0;else{var vt=Jt.getBuffer(xt);if(vt)rt.state=bo,rt.buffer=vt,rt.type=0;else if(W.command(typeof xt=="object"&&xt,"invalid data for attribute "+Ct,Q.commandStr),"constant"in xt){var nt=xt.constant;rt.buffer="null",rt.state=YC,typeof nt=="number"?rt.x=nt:(W.command(aa(nt)&&nt.length>0&&nt.length<=4,"invalid constant for attribute "+Ct,Q.commandStr),jc.forEach(function(ir,Xr){Xr=0,'invalid offset for attribute "'+Ct+'"',Q.commandStr);var Pt=xt.stride|0;W.command(Pt>=0&&Pt<256,'invalid stride for attribute "'+Ct+'", must be integer betweeen [0, 255]',Q.commandStr);var re=xt.size|0;W.command(!("size"in xt)||re>0&&re<=4,'invalid size for attribute "'+Ct+'", must be 1,2,3,4',Q.commandStr);var ie=!!xt.normalized,Kt=0;"type"in xt&&(W.commandParameter(xt.type,_d,"invalid type for attribute "+Ct,Q.commandStr),Kt=_d[xt.type]);var _e=xt.divisor|0;"divisor"in xt&&(W.command(_e===0||pe,'cannot specify divisor for attribute "'+Ct+'", instancing not supported',Q.commandStr),W.command(_e>=0,'invalid divisor for attribute "'+Ct+'"',Q.commandStr)),W.optional(function(){var ir=Q.commandStr,Xr=["buffer","offset","divisor","normalized","type","size","stride"];Object.keys(xt).forEach(function(tr){W.command(Xr.indexOf(tr)>=0,'unknown parameter "'+tr+'" for attribute pointer "'+Ct+'" (valid parameters are '+Xr+")",ir)})}),rt.buffer=vt,rt.state=bo,rt.size=re,rt.normalized=ie,rt.type=Kt||vt.dtype,rt.offset=It,rt.stride=Pt,rt.divisor=_e}}Dt[Ct]=Wi(function(ir,Xr){var tr=ir.attribCache;if(wt in tr)return tr[wt];var Cr={isStream:!1};return Object.keys(rt).forEach(function(jr){Cr[jr]=rt[jr]}),rt.buffer&&(Cr.buffer=ir.link(rt.buffer),Cr.type=Cr.type||Cr.buffer+".dtype"),tr[wt]=Cr,Cr})}),Object.keys(Lt).forEach(function(Ct){var xt=Lt[Ct];function wt(rt,vt){var nt=rt.invoke(vt,xt),It=rt.shared,Pt=rt.constants,re=It.isBufferArgs,ie=It.buffer;W.optional(function(){rt.assert(vt,nt+"&&(typeof "+nt+'==="object"||typeof '+nt+'==="function")&&('+re+"("+nt+")||"+ie+".getBuffer("+nt+")||"+ie+".getBuffer("+nt+".buffer)||"+re+"("+nt+'.buffer)||("constant" in '+nt+"&&(typeof "+nt+'.constant==="number"||'+It.isArrayLike+"("+nt+".constant))))",'invalid dynamic attribute "'+Ct+'"')});var Kt={isStream:vt.def(!1)},_e=new Ot;_e.state=bo,Object.keys(_e).forEach(function(Cr){Kt[Cr]=vt.def(""+_e[Cr])});var ir=Kt.buffer,Xr=Kt.type;vt("if(",re,"(",nt,")){",Kt.isStream,"=true;",ir,"=",ie,".createStream(",Xc,",",nt,");",Xr,"=",ir,".dtype;","}else{",ir,"=",ie,".getBuffer(",nt,");","if(",ir,"){",Xr,"=",ir,".dtype;",'}else if("constant" in ',nt,"){",Kt.state,"=",YC,";","if(typeof "+nt+'.constant === "number"){',Kt[jc[0]],"=",nt,".constant;",jc.slice(1).map(function(Cr){return Kt[Cr]}).join("="),"=0;","}else{",jc.map(function(Cr,jr){return Kt[Cr]+"="+nt+".constant.length>"+jr+"?"+nt+".constant["+jr+"]:0;"}).join(""),"}}else{","if(",re,"(",nt,".buffer)){",ir,"=",ie,".createStream(",Xc,",",nt,".buffer);","}else{",ir,"=",ie,".getBuffer(",nt,".buffer);","}",Xr,'="type" in ',nt,"?",Pt.glTypes,"[",nt,".type]:",ir,".dtype;",Kt.normalized,"=!!",nt,".normalized;");function tr(Cr){vt(Kt[Cr],"=",nt,".",Cr,"|0;")}return tr("size"),tr("offset"),tr("stride"),tr("divisor"),vt("}}"),vt.exit("if(",Kt.isStream,"){",ie,".destroyStream(",ir,");","}"),Kt}Dt[Ct]=Ss(xt,wt)}),Dt}function Qi(ot,Q){var yt=ot.static,Lt=ot.dynamic;if(Yc in yt){var Dt=yt[Yc];return Dt!==null&&Ce.getVAO(Dt)===null&&(Dt=Ce.createVAO(Dt)),Wi(function(xt){return xt.link(Ce.getVAO(Dt))})}else if(Yc in Lt){var Ct=Lt[Yc];return Ss(Ct,function(xt,wt){var rt=xt.invoke(wt,Ct);return wt.def(xt.shared.vao+".getVAO("+rt+")")})}return null}function bi(ot){var Q=ot.static,yt=ot.dynamic,Lt={};return Object.keys(Q).forEach(function(Dt){var Ct=Q[Dt];Lt[Dt]=Wi(function(xt,wt){return typeof Ct=="number"||typeof Ct=="boolean"?""+Ct:xt.link(Ct)})}),Object.keys(yt).forEach(function(Dt){var Ct=yt[Dt];Lt[Dt]=Ss(Ct,function(xt,wt){return xt.invoke(wt,Ct)})}),Lt}function oi(ot,Q,yt,Lt,Dt){var Ct=ot.static,xt=ot.dynamic;W.optional(function(){var tr=[Gd,Ov,zd,Ud,Wf,yy,Hc,xy,gy,Yc].concat(ce);function Cr(jr){Object.keys(jr).forEach(function(Ln){W.command(tr.indexOf(Ln)>=0,'unknown parameter "'+Ln+'"',Dt.commandStr)})}Cr(Ct),Cr(xt)});var wt=Pr(ot,Q),rt=Je(ot,Dt),vt=on(ot,rt,Dt),nt=yn(ot,Dt),It=$i(ot,Dt),Pt=Kr(ot,Dt,wt);function re(tr){var Cr=vt[tr];Cr&&(It[tr]=Cr)}re(jf),re(Oe(my));var ie=Object.keys(It).length>0,Kt={framebuffer:rt,draw:nt,shader:Pt,state:It,dirty:ie,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Kt.profile=Vr(ot,Dt),Kt.uniforms=Oa(yt,Dt),Kt.drawVAO=Kt.scopeVAO=Qi(ot,Dt),!Kt.drawVAO&&Pt.program&&!wt&&ct.angle_instanced_arrays){var _e=!0,ir=Pt.program.attributes.map(function(tr){var Cr=Q.static[tr];return _e=_e&&!!Cr,Cr});if(_e&&ir.length>0){var Xr=Ce.getVAO(Ce.createVAO(ir));Kt.drawVAO=new ro(null,null,null,function(tr,Cr){return tr.link(Xr)}),Kt.useVAO=!0}}return wt?Kt.useVAO=!0:Kt.attributes=cn(Q,Dt),Kt.context=bi(Lt,Dt),Kt}function ki(ot,Q,yt){var Lt=ot.shared,Dt=Lt.context,Ct=ot.scope();Object.keys(yt).forEach(function(xt){Q.save(Dt,"."+xt);var wt=yt[xt],rt=wt.append(ot,Q);Array.isArray(rt)?Ct(Dt,".",xt,"=[",rt.join(),"];"):Ct(Dt,".",xt,"=",rt,";")}),Q(Ct)}function Da(ot,Q,yt,Lt){var Dt=ot.shared,Ct=Dt.gl,xt=Dt.framebuffer,wt;Le&&(wt=Q.def(Dt.extensions,".webgl_draw_buffers"));var rt=ot.constants,vt=rt.drawBuffer,nt=rt.backBuffer,It;yt?It=yt.append(ot,Q):It=Q.def(xt,".next"),Lt||Q("if(",It,"!==",xt,".cur){"),Q("if(",It,"){",Ct,".bindFramebuffer(",tw,",",It,".framebuffer);"),Le&&Q(wt,".drawBuffersWEBGL(",vt,"[",It,".colorAttachments.length]);"),Q("}else{",Ct,".bindFramebuffer(",tw,",null);"),Le&&Q(wt,".drawBuffersWEBGL(",nt,");"),Q("}",xt,".cur=",It,";"),Lt||Q("}")}function Ra(ot,Q,yt){var Lt=ot.shared,Dt=Lt.gl,Ct=ot.current,xt=ot.next,wt=Lt.current,rt=Lt.next,vt=ot.cond(wt,".dirty");ce.forEach(function(nt){var It=Oe(nt);if(!(It in yt.state)){var Pt,re;if(It in xt){Pt=xt[It],re=Ct[It];var ie=Li(ue[It].length,function(_e){return vt.def(Pt,"[",_e,"]")});vt(ot.cond(ie.map(function(_e,ir){return _e+"!=="+re+"["+ir+"]"}).join("||")).then(Dt,".",he[It],"(",ie,");",ie.map(function(_e,ir){return re+"["+ir+"]="+_e}).join(";"),";"))}else{Pt=vt.def(rt,".",It);var Kt=ot.cond(Pt,"!==",wt,".",It);vt(Kt),It in Re?Kt(ot.cond(Pt).then(Dt,".enable(",Re[It],");").else(Dt,".disable(",Re[It],");"),wt,".",It,"=",Pt,";"):Kt(Dt,".",he[It],"(",Pt,");",wt,".",It,"=",Pt,";")}}}),Object.keys(yt.state).length===0&&vt(wt,".dirty=false;"),Q(vt)}function no(ot,Q,yt,Lt){var Dt=ot.shared,Ct=ot.current,xt=Dt.current,wt=Dt.gl;rw(Object.keys(yt)).forEach(function(rt){var vt=yt[rt];if(!(Lt&&!Lt(vt))){var nt=vt.append(ot,Q);if(Re[rt]){var It=Re[rt];zu(vt)?nt?Q(wt,".enable(",It,");"):Q(wt,".disable(",It,");"):Q(ot.cond(nt).then(wt,".enable(",It,");").else(wt,".disable(",It,");")),Q(xt,".",rt,"=",nt,";")}else if(aa(nt)){var Pt=Ct[rt];Q(wt,".",he[rt],"(",nt,");",nt.map(function(re,ie){return Pt+"["+ie+"]="+re}).join(";"),";")}else Q(wt,".",he[rt],"(",nt,");",xt,".",rt,"=",nt,";")}})}function oa(ot,Q){pe&&(ot.instancing=Q.def(ot.shared.extensions,".angle_instanced_arrays"))}function Yr(ot,Q,yt,Lt,Dt){var Ct=ot.shared,xt=ot.stats,wt=Ct.current,rt=Ct.timer,vt=yt.profile;function nt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var It,Pt;function re(tr){It=Q.def(),tr(It,"=",nt(),";"),typeof Dt=="string"?tr(xt,".count+=",Dt,";"):tr(xt,".count++;"),me&&(Lt?(Pt=Q.def(),tr(Pt,"=",rt,".getNumPendingQueries();")):tr(rt,".beginQuery(",xt,");"))}function ie(tr){tr(xt,".cpuTime+=",nt(),"-",It,";"),me&&(Lt?tr(rt,".pushScopeStats(",Pt,",",rt,".getNumPendingQueries(),",xt,");"):tr(rt,".endQuery();"))}function Kt(tr){var Cr=Q.def(wt,".profile");Q(wt,".profile=",tr,";"),Q.exit(wt,".profile=",Cr,";")}var _e;if(vt){if(zu(vt)){vt.enable?(re(Q),ie(Q.exit),Kt("true")):Kt("false");return}_e=vt.append(ot,Q),Kt(_e)}else _e=Q.def(wt,".profile");var ir=ot.block();re(ir),Q("if(",_e,"){",ir,"}");var Xr=ot.block();ie(Xr),Q.exit("if(",_e,"){",Xr,"}")}function io(ot,Q,yt,Lt,Dt){var Ct=ot.shared;function xt(rt){switch(rt){case kv:case Rv:case su:return 2;case by:case _y:case Jx:return 3;case Wd:case Nv:case lu:return 4;default:return 1}}function wt(rt,vt,nt){var It=Ct.gl,Pt=Q.def(rt,".location"),re=Q.def(Ct.attributes,"[",Pt,"]"),ie=nt.state,Kt=nt.buffer,_e=[nt.x,nt.y,nt.z,nt.w],ir=["buffer","normalized","offset","stride"];function Xr(){Q("if(!",re,".buffer){",It,".enableVertexAttribArray(",Pt,");}");var Cr=nt.type,jr;if(nt.size?jr=Q.def(nt.size,"||",vt):jr=vt,Q("if(",re,".type!==",Cr,"||",re,".size!==",jr,"||",ir.map(function(Ji){return re+"."+Ji+"!=="+nt[Ji]}).join("||"),"){",It,".bindBuffer(",Xc,",",Kt,".buffer);",It,".vertexAttribPointer(",[Pt,jr,Cr,nt.normalized,nt.stride,nt.offset],");",re,".type=",Cr,";",re,".size=",jr,";",ir.map(function(Ji){return re+"."+Ji+"="+nt[Ji]+";"}).join(""),"}"),pe){var Ln=nt.divisor;Q("if(",re,".divisor!==",Ln,"){",ot.instancing,".vertexAttribDivisorANGLE(",[Pt,Ln],");",re,".divisor=",Ln,";}")}}function tr(){Q("if(",re,".buffer){",It,".disableVertexAttribArray(",Pt,");",re,".buffer=null;","}if(",jc.map(function(Cr,jr){return re+"."+Cr+"!=="+_e[jr]}).join("||"),"){",It,".vertexAttrib4f(",Pt,",",_e,");",jc.map(function(Cr,jr){return re+"."+Cr+"="+_e[jr]+";"}).join(""),"}")}ie===bo?Xr():ie===YC?tr():(Q("if(",ie,"===",bo,"){"),Xr(),Q("}else{"),tr(),Q("}"))}Lt.forEach(function(rt){var vt=rt.name,nt=yt.attributes[vt],It;if(nt){if(!Dt(nt))return;It=nt.append(ot,Q)}else{if(!Dt(nw))return;var Pt=ot.scopeAttrib(vt);W.optional(function(){ot.assert(Q,Pt+".state","missing attribute "+vt)}),It={},Object.keys(new Ot).forEach(function(re){It[re]=Q.def(Pt,".",re)})}wt(ot.link(rt),xt(rt.info.type),It)})}function Bn(ot,Q,yt,Lt,Dt){for(var Ct=ot.shared,xt=Ct.gl,wt,rt=0;rt1?Q(Li(Cr,function(rs){return Array.isArray(Kt)?Kt[rs]:Kt+"["+rs+"]"})):(W(!Array.isArray(Kt),"uniform value must not be an array"),Q(Kt));Q(");")}}function br(ot,Q,yt,Lt){var Dt=ot.shared,Ct=Dt.gl,xt=Dt.draw,wt=Lt.draw;function rt(){var jr=wt.elements,Ln,Ji=Q;return jr?((jr.contextDep&&Lt.contextDynamic||jr.propDep)&&(Ji=yt),Ln=jr.append(ot,Ji)):Ln=Ji.def(xt,".",Ud),Ln&&Ji("if("+Ln+")"+Ct+".bindBuffer("+An+","+Ln+".buffer.buffer);"),Ln}function vt(){var jr=wt.count,Ln,Ji=Q;return jr?((jr.contextDep&&Lt.contextDynamic||jr.propDep)&&(Ji=yt),Ln=jr.append(ot,Ji),W.optional(function(){jr.MISSING&&ot.assert(Q,"false","missing vertex count"),jr.DYNAMIC&&ot.assert(Ji,Ln+">=0","missing vertex count")})):(Ln=Ji.def(xt,".",Hc),W.optional(function(){ot.assert(Ji,Ln+">=0","missing vertex count")})),Ln}var nt=rt();function It(jr){var Ln=wt[jr];return Ln?Ln.contextDep&&Lt.contextDynamic||Ln.propDep?Ln.append(ot,yt):Ln.append(ot,Q):Q.def(xt,".",jr)}var Pt=It(Wf),re=It(yy),ie=vt();if(typeof ie=="number"){if(ie===0)return}else yt("if(",ie,"){"),yt.exit("}");var Kt,_e;pe&&(Kt=It(xy),_e=ot.instancing);var ir=nt+".type",Xr=wt.elements&&zu(wt.elements);function tr(){function jr(){yt(_e,".drawElementsInstancedANGLE(",[Pt,ie,ir,re+"<<(("+ir+"-"+Wc+")>>1)",Kt],");")}function Ln(){yt(_e,".drawArraysInstancedANGLE(",[Pt,re,ie,Kt],");")}nt?Xr?jr():(yt("if(",nt,"){"),jr(),yt("}else{"),Ln(),yt("}")):Ln()}function Cr(){function jr(){yt(Ct+".drawElements("+[Pt,ie,ir,re+"<<(("+ir+"-"+Wc+")>>1)"]+");")}function Ln(){yt(Ct+".drawArrays("+[Pt,re,ie]+");")}nt?Xr?jr():(yt("if(",nt,"){"),jr(),yt("}else{"),Ln(),yt("}")):Ln()}pe&&(typeof Kt!="number"||Kt>=0)?typeof Kt=="string"?(yt("if(",Kt,">0){"),tr(),yt("}else if(",Kt,"<0){"),Cr(),yt("}")):tr():Cr()}function hn(ot,Q,yt,Lt,Dt){var Ct=Er(),xt=Ct.proc("body",Dt);return W.optional(function(){Ct.commandStr=Q.commandStr,Ct.command=Ct.link(Q.commandStr)}),pe&&(Ct.instancing=xt.def(Ct.shared.extensions,".angle_instanced_arrays")),ot(Ct,xt,yt,Lt),Ct.compile().body}function Sn(ot,Q,yt,Lt){oa(ot,Q),yt.useVAO?yt.drawVAO?Q(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,Q),");"):Q(ot.shared.vao,".setVAO(",ot.shared.vao,".targetVAO);"):(Q(ot.shared.vao,".setVAO(null);"),io(ot,Q,yt,Lt.attributes,function(){return!0})),Bn(ot,Q,yt,Lt.uniforms,function(){return!0}),br(ot,Q,Q,yt)}function sa(ot,Q){var yt=ot.proc("draw",1);oa(ot,yt),ki(ot,yt,Q.context),Da(ot,yt,Q.framebuffer),Ra(ot,yt,Q),no(ot,yt,Q.state),Yr(ot,yt,Q,!1,!0);var Lt=Q.shader.progVar.append(ot,yt);if(yt(ot.shared.gl,".useProgram(",Lt,".program);"),Q.shader.program)Sn(ot,yt,Q,Q.shader.program);else{yt(ot.shared.vao,".setVAO(null);");var Dt=ot.global.def("{}"),Ct=yt.def(Lt,".id"),xt=yt.def(Dt,"[",Ct,"]");yt(ot.cond(xt).then(xt,".call(this,a0);").else(xt,"=",Dt,"[",Ct,"]=",ot.link(function(wt){return hn(Sn,ot,Q,wt,1)}),"(",Lt,");",xt,".call(this,a0);"))}Object.keys(Q.state).length>0&&yt(ot.shared.current,".dirty=true;")}function ju(ot,Q,yt,Lt){ot.batchId="a1",oa(ot,Q);function Dt(){return!0}io(ot,Q,yt,Lt.attributes,Dt),Bn(ot,Q,yt,Lt.uniforms,Dt),br(ot,Q,Q,yt)}function qd(ot,Q,yt,Lt){oa(ot,Q);var Dt=yt.contextDep,Ct=Q.def(),xt="a0",wt="a1",rt=Q.def();ot.shared.props=rt,ot.batchId=Ct;var vt=ot.scope(),nt=ot.scope();Q(vt.entry,"for(",Ct,"=0;",Ct,"<",wt,";++",Ct,"){",rt,"=",xt,"[",Ct,"];",nt,"}",vt.exit);function It(ir){return ir.contextDep&&Dt||ir.propDep}function Pt(ir){return!It(ir)}if(yt.needsContext&&ki(ot,nt,yt.context),yt.needsFramebuffer&&Da(ot,nt,yt.framebuffer),no(ot,nt,yt.state,It),yt.profile&&It(yt.profile)&&Yr(ot,nt,yt,!1,!0),Lt)yt.useVAO?yt.drawVAO?It(yt.drawVAO)?nt(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,nt),");"):vt(ot.shared.vao,".setVAO(",yt.drawVAO.append(ot,vt),");"):vt(ot.shared.vao,".setVAO(",ot.shared.vao,".targetVAO);"):(vt(ot.shared.vao,".setVAO(null);"),io(ot,vt,yt,Lt.attributes,Pt),io(ot,nt,yt,Lt.attributes,It)),Bn(ot,vt,yt,Lt.uniforms,Pt),Bn(ot,nt,yt,Lt.uniforms,It),br(ot,vt,nt,yt);else{var re=ot.global.def("{}"),ie=yt.shader.progVar.append(ot,nt),Kt=nt.def(ie,".id"),_e=nt.def(re,"[",Kt,"]");nt(ot.shared.gl,".useProgram(",ie,".program);","if(!",_e,"){",_e,"=",re,"[",Kt,"]=",ot.link(function(ir){return hn(ju,ot,yt,ir,2)}),"(",ie,");}",_e,".call(this,a0[",Ct,"],",Ct,");")}}function lt(ot,Q){var yt=ot.proc("batch",2);ot.batchId="0",oa(ot,yt);var Lt=!1,Dt=!0;Object.keys(Q.context).forEach(function(re){Lt=Lt||Q.context[re].propDep}),Lt||(ki(ot,yt,Q.context),Dt=!1);var Ct=Q.framebuffer,xt=!1;Ct?(Ct.propDep?Lt=xt=!0:Ct.contextDep&&Lt&&(xt=!0),xt||Da(ot,yt,Ct)):Da(ot,yt,null),Q.state.viewport&&Q.state.viewport.propDep&&(Lt=!0);function wt(re){return re.contextDep&&Lt||re.propDep}Ra(ot,yt,Q),no(ot,yt,Q.state,function(re){return!wt(re)}),(!Q.profile||!wt(Q.profile))&&Yr(ot,yt,Q,!1,"a1"),Q.contextDep=Lt,Q.needsContext=Dt,Q.needsFramebuffer=xt;var rt=Q.shader.progVar;if(rt.contextDep&&Lt||rt.propDep)qd(ot,yt,Q,null);else{var vt=rt.append(ot,yt);if(yt(ot.shared.gl,".useProgram(",vt,".program);"),Q.shader.program)qd(ot,yt,Q,Q.shader.program);else{yt(ot.shared.vao,".setVAO(null);");var nt=ot.global.def("{}"),It=yt.def(vt,".id"),Pt=yt.def(nt,"[",It,"]");yt(ot.cond(Pt).then(Pt,".call(this,a0,a1);").else(Pt,"=",nt,"[",It,"]=",ot.link(function(re){return hn(qd,ot,Q,re,2)}),"(",vt,");",Pt,".call(this,a0,a1);"))}}Object.keys(Q.state).length>0&&yt(ot.shared.current,".dirty=true;")}function jt(ot,Q){var yt=ot.proc("scope",3);ot.batchId="a2";var Lt=ot.shared,Dt=Lt.current;ki(ot,yt,Q.context),Q.framebuffer&&Q.framebuffer.append(ot,yt),rw(Object.keys(Q.state)).forEach(function(xt){var wt=Q.state[xt],rt=wt.append(ot,yt);aa(rt)?rt.forEach(function(vt,nt){yt.set(ot.next[xt],"["+nt+"]",vt)}):yt.set(Lt.next,"."+xt,rt)}),Yr(ot,yt,Q,!0,!0),[Ud,yy,Hc,xy,Wf].forEach(function(xt){var wt=Q.draw[xt];!wt||yt.set(Lt.draw,"."+xt,""+wt.append(ot,yt))}),Object.keys(Q.uniforms).forEach(function(xt){var wt=Q.uniforms[xt].append(ot,yt);Array.isArray(wt)&&(wt="["+wt.join()+"]"),yt.set(Lt.uniforms,"["+Z.id(xt)+"]",wt)}),Object.keys(Q.attributes).forEach(function(xt){var wt=Q.attributes[xt].append(ot,yt),rt=ot.scopeAttrib(xt);Object.keys(new Ot).forEach(function(vt){yt.set(rt,"."+vt,wt[vt])})}),Q.scopeVAO&&yt.set(Lt.vao,".targetVAO",Q.scopeVAO.append(ot,yt));function Ct(xt){var wt=Q.shader[xt];wt&&yt.set(Lt.shader,"."+xt,wt.append(ot,yt))}Ct(Ov),Ct(zd),Object.keys(Q.state).length>0&&(yt(Dt,".dirty=true;"),yt.exit(Dt,".dirty=true;")),yt("a1(",ot.shared.context,",a0,",ot.batchId,");")}function Nt(ot){if(!(typeof ot!="object"||aa(ot))){for(var Q=Object.keys(ot),yt=0;yt=0;--br){var hn=fe[br];hn&&hn(me,null,0)}ct.flush(),Ce&&Ce.update()}function Kr(){!on&&fe.length>0&&(on=Ve.next(Pr))}function yn(){on&&(Ve.cancel(Pr),on=null)}function $i(br){br.preventDefault(),Jt=!0,yn(),Er.forEach(function(hn){hn()})}function Oa(br){ct.getError(),Jt=!1,zt.restore(),ce.restore(),pe.restore(),Re.restore(),he.restore(),Oe.restore(),Le.restore(),Ce&&Ce.restore(),vr.procs.refresh(),Kr(),Vr.forEach(function(hn){hn()})}Me&&(Me.addEventListener(AI,$i,!1),Me.addEventListener(MI,Oa,!1));function cn(){fe.length=0,yn(),Me&&(Me.removeEventListener(AI,$i),Me.removeEventListener(MI,Oa)),ce.clear(),Oe.clear(),he.clear(),Re.clear(),He.clear(),pe.clear(),Le.clear(),Ce&&Ce.clear(),Je.forEach(function(br){br()})}function Qi(br){W(!!br,"invalid args to regl({...})"),W.type(br,"object","invalid args to regl({...})");function hn(Dt){var Ct=e({},Dt);delete Ct.uniforms,delete Ct.attributes,delete Ct.context,delete Ct.vao,"stencil"in Ct&&Ct.stencil.op&&(Ct.stencil.opBack=Ct.stencil.opFront=Ct.stencil.op,delete Ct.stencil.op);function xt(wt){if(wt in Ct){var rt=Ct[wt];delete Ct[wt],Object.keys(rt).forEach(function(vt){Ct[wt+"."+vt]=rt[vt]})}}return xt("blend"),xt("depth"),xt("cull"),xt("stencil"),xt("polygonOffset"),xt("scissor"),xt("sample"),"vao"in Dt&&(Ct.vao=Dt.vao),Ct}function Sn(Dt,Ct){var xt={},wt={};return Object.keys(Dt).forEach(function(rt){var vt=Dt[rt];if(Ye.isDynamic(vt)){wt[rt]=Ye.unbox(vt,rt);return}else if(Ct&&Array.isArray(vt)){for(var nt=0;nt0)return sn.call(this,yt(Dt|0),Dt|0)}else if(Array.isArray(Dt)){if(Dt.length)return sn.call(this,Dt,Dt.length)}else return Xe.call(this,Dt)}return e(Lt,{stats:jt,destroy:function(){Nt.destroy()}})}var bi=Oe.setFBO=Qi({framebuffer:Ye.define.call(null,Uu,"framebuffer")});function oi(br,hn){var Sn=0;vr.procs.poll();var sa=hn.color;sa&&(ct.clearColor(+sa[0]||0,+sa[1]||0,+sa[2]||0,+sa[3]||0),Sn|=CI),"depth"in hn&&(ct.clearDepth(+hn.depth),Sn|=wI),"stencil"in hn&&(ct.clearStencil(hn.stencil|0),Sn|=WB),W(!!Sn,"called regl.clear with no buffer specified"),ct.clear(Sn)}function ki(br){if(W(typeof br=="object"&&br,"regl.clear() takes an object as input"),"framebuffer"in br)if(br.framebuffer&&br.framebuffer_reglType==="framebufferCube")for(var hn=0;hn<6;++hn)bi(e({framebuffer:br.framebuffer.faces[hn]},br),oi);else bi(br,oi);else oi(null,br)}function Da(br){W.type(br,"function","regl.frame() callback must be a function"),fe.push(br);function hn(){var Sn=nb(fe,br);W(Sn>=0,"cannot cancel a frame twice");function sa(){var ju=nb(fe,sa);fe[ju]=fe[fe.length-1],fe.length-=1,fe.length<=0&&yn()}fe[Sn]=sa}return Kr(),{cancel:hn}}function Ra(){var br=Ge.viewport,hn=Ge.scissor_box;br[0]=br[1]=hn[0]=hn[1]=0,me.viewportWidth=me.framebufferWidth=me.drawingBufferWidth=br[2]=hn[2]=ct.drawingBufferWidth,me.viewportHeight=me.framebufferHeight=me.drawingBufferHeight=br[3]=hn[3]=ct.drawingBufferHeight}function no(){me.tick+=1,me.time=Yr(),Ra(),vr.procs.poll()}function oa(){Re.refresh(),Ra(),vr.procs.refresh(),Ce&&Ce.update()}function Yr(){return($n()-ye)/1e3}oa();function io(br,hn){W.type(hn,"function","listener callback must be a function");var Sn;switch(br){case"frame":return Da(hn);case"lost":Sn=Er;break;case"restore":Sn=Vr;break;case"destroy":Sn=Je;break;default:W.raise("invalid event, must be one of frame,lost,restore,destroy")}return Sn.push(hn),{cancel:function(){for(var sa=0;sa=0},read:Dr,destroy:cn,_gl:ct,_refresh:oa,poll:function(){no(),Ce&&Ce.update()},now:Yr,stats:ve});return Z.onDone(null,Bn),Bn}return ib})});var GY=ft((O3r,T_t)=>{T_t.exports=1e-6});var zY=ft((D3r,I_t)=>{I_t.exports=Bce;function Bce(){var r=new Float32Array(2);return r[0]=0,r[1]=0,r}});var O_t=ft((P3r,L_t)=>{L_t.exports=Gce;function Gce(r){var e=new Float32Array(2);return e[0]=r[0],e[1]=r[1],e}});var P_t=ft((k3r,D_t)=>{D_t.exports=zce;function zce(r,e){var t=new Float32Array(2);return t[0]=r,t[1]=e,t}});var R_t=ft((R3r,k_t)=>{k_t.exports=Uce;function Uce(r,e){return r[0]=e[0],r[1]=e[1],r}});var UY=ft((N3r,N_t)=>{N_t.exports=jce;function jce(r,e,t){return r[0]=e,r[1]=t,r}});var G_t=ft((F3r,B_t)=>{B_t.exports=Wce;var F_t=GY();function Wce(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=F_t*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=F_t*Math.max(1,Math.abs(n),Math.abs(a))}});var U_t=ft((B3r,z_t)=>{z_t.exports=Vce;function Vce(r,e){return r[0]===e[0]&&r[1]===e[1]}});var jY=ft((G3r,j_t)=>{j_t.exports=Hce;function Hce(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}});var jN=ft((z3r,W_t)=>{W_t.exports=Yce;function Yce(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}});var H_t=ft((U3r,V_t)=>{V_t.exports=jN()});var WY=ft((j3r,Y_t)=>{Y_t.exports=Xce;function Xce(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}});var q_t=ft((W3r,X_t)=>{X_t.exports=WY()});var VY=ft((V3r,K_t)=>{K_t.exports=qce;function qce(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}});var $_t=ft((H3r,Z_t)=>{Z_t.exports=VY()});var J_t=ft((Y3r,Q_t)=>{Q_t.exports=Kce;function Kce(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}});var eSt=ft((X3r,tSt)=>{tSt.exports=Zce;function Zce(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}});var nSt=ft((q3r,rSt)=>{rSt.exports=$ce;function $ce(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}});var aSt=ft((K3r,iSt)=>{iSt.exports=Qce;function Qce(r,e,t){var n=Math.cos(t),i=Math.sin(t),a=e[0],o=e[1];return r[0]=a*n-o*i,r[1]=a*i+o*n,r}});var sSt=ft((Z3r,oSt)=>{oSt.exports=Jce;function Jce(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}});var uSt=ft(($3r,lSt)=>{lSt.exports=the;function the(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}});var cSt=ft((Q3r,fSt)=>{fSt.exports=ehe;function ehe(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}});var dSt=ft((J3r,hSt)=>{hSt.exports=rhe;function rhe(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}});var vSt=ft((tGr,pSt)=>{pSt.exports=nhe;function nhe(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}});var HY=ft((eGr,mSt)=>{mSt.exports=ihe;function ihe(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.sqrt(t*t+n*n)}});var ySt=ft((rGr,gSt)=>{gSt.exports=HY()});var YY=ft((nGr,xSt)=>{xSt.exports=ahe;function ahe(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}});var _St=ft((iGr,bSt)=>{bSt.exports=YY()});var XY=ft((aGr,SSt)=>{SSt.exports=ohe;function ohe(r){var e=r[0],t=r[1];return Math.sqrt(e*e+t*t)}});var wSt=ft((oGr,CSt)=>{CSt.exports=XY()});var qY=ft((sGr,ESt)=>{ESt.exports=she;function she(r){var e=r[0],t=r[1];return e*e+t*t}});var MSt=ft((lGr,ASt)=>{ASt.exports=qY()});var ISt=ft((uGr,TSt)=>{TSt.exports=lhe;function lhe(r,e){return r[0]=-e[0],r[1]=-e[1],r}});var KY=ft((fGr,LSt)=>{LSt.exports=uhe;function uhe(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i),r[0]=e[0]*i,r[1]=e[1]*i),r}});var ZY=ft((cGr,OSt)=>{OSt.exports=fhe;function fhe(r,e){return r[0]*e[0]+r[1]*e[1]}});var PSt=ft((hGr,DSt)=>{DSt.exports=che;function che(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}});var RSt=ft((dGr,kSt)=>{kSt.exports=hhe;function hhe(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}});var FSt=ft((pGr,NSt)=>{NSt.exports=dhe;function dhe(r,e){e=e||1;var t=Math.random()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}});var GSt=ft((vGr,BSt)=>{BSt.exports=phe;function phe(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}});var USt=ft((mGr,zSt)=>{zSt.exports=vhe;function vhe(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}});var WSt=ft((gGr,jSt)=>{jSt.exports=mhe;function mhe(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}});var HSt=ft((yGr,VSt)=>{VSt.exports=ghe;function ghe(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}});var XSt=ft((xGr,YSt)=>{YSt.exports=yhe;var _S=zY()();function yhe(r,e,t,n,i,a){var o,s;for(e||(e=2),t||(t=0),n?s=Math.min(n*e+t,r.length):s=r.length,o=t;o{qSt.exports=xhe;function xhe(r,e,t){var n=e[0]*e[0]+e[1]*e[1];if(n>t*t){var i=Math.sqrt(n);r[0]=e[0]/i*t,r[1]=e[1]/i*t}else r[0]=e[0],r[1]=e[1];return r}});var $St=ft((_Gr,ZSt)=>{ZSt.exports={EPSILON:GY(),create:zY(),clone:O_t(),fromValues:P_t(),copy:R_t(),set:UY(),equals:G_t(),exactEquals:U_t(),add:jY(),subtract:jN(),sub:H_t(),multiply:WY(),mul:q_t(),divide:VY(),div:$_t(),inverse:J_t(),min:eSt(),max:nSt(),rotate:aSt(),floor:sSt(),ceil:uSt(),round:cSt(),scale:dSt(),scaleAndAdd:vSt(),distance:HY(),dist:ySt(),squaredDistance:YY(),sqrDist:_St(),length:XY(),len:wSt(),squaredLength:qY(),sqrLen:MSt(),negate:ISt(),normalize:KY(),dot:ZY(),cross:PSt(),lerp:RSt(),random:FSt(),transformMat2:GSt(),transformMat2d:USt(),transformMat3:WSt(),transformMat4:HSt(),forEach:XSt(),limit:KSt()}});var tCt=ft((SGr,WN)=>{var bhe=jY(),$Y=UY(),QSt=KY(),_he=jN(),She=ZY(),JSt=[0,0];WN.exports.computeMiter=function(e,t,n,i,a){return bhe(e,n,i),QSt(e,e),$Y(t,-e[1],e[0]),$Y(JSt,-n[1],n[0]),a/She(t,JSt)};WN.exports.normal=function(e,t){return $Y(e,-t[1],t[0]),e};WN.exports.direction=function(e,t,n){return _he(e,t,n),QSt(e,e),e}});var dX=ft((oT,hX)=>{(function(e,t){typeof oT=="object"&&typeof hX=="object"?hX.exports=t():typeof define=="function"&&define.amd?define([],t):typeof oT=="object"?oT.Hierarchy=t():e.Hierarchy=t()})(typeof self!="undefined"?self:oT,function(){return function(r){var e={};function t(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return r[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=r,t.c=e,t.d=function(n,i,a){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},t.p="",t(t.s=31)}([function(r,e,t){"use strict";var n=t(4);e.a=function(i){return Array.isArray?Array.isArray(i):Object(n.a)(i,"Array")}},function(r,e,t){"use strict";var n=function(i){return i!==null&&typeof i!="function"&&isFinite(i.length)};e.a=n},function(r,e,t){"use strict";var n=t(0),i=t(13);function a(o,s){if(!!o){var l;if(Object(n.a)(o))for(var u=0,f=o.length;u-1:!1};e.a=i},function(r,e,t){"use strict";e.a=function(n){var i=typeof n;return n!==null&&i==="object"||i==="function"}},function(r,e,t){"use strict";var n=t(2),i=t(1),a=function(o,s){if(!Object(i.a)(o))return o;var l=[];return Object(n.a)(o,function(u,f){s(u,f)&&l.push(u)}),l};e.a=a},function(r,e,t){"use strict";var n=function(i){return typeof i=="object"&&i!==null};e.a=n},function(r,e,t){"use strict";e.a=i;function n(a,o){for(var s in o)o.hasOwnProperty(s)&&s!=="constructor"&&o[s]!==void 0&&(a[s]=o[s])}function i(a,o,s,l){return o&&n(a,o),s&&n(a,s),l&&n(a,l),a}},function(r,e,t){var n=t(30),i=["LR","RL","TB","BT","H","V"],a=["LR","RL","H"],o=function(u){return a.indexOf(u)>-1},s=i[0];r.exports=function(l,u,f){var c=u.direction||s;if(u.isHorizontal=o(c),c&&i.indexOf(c)===-1)throw new TypeError("Invalid direction: "+c);if(c===i[0])f(l,u);else if(c===i[1])f(l,u),l.right2left();else if(c===i[2])f(l,u);else if(c===i[3])f(l,u),l.bottom2top();else if(c===i[4]||c===i[5]){var h=n(l,u),d=h.left,p=h.right;f(d,u),f(p,u),u.isHorizontal?d.right2left():d.bottom2top(),p.translate(d.x-p.x,d.y-p.y),l.x=d.x,l.y=p.y;var v=l.getBoundingBox();u.isHorizontal?v.top<0&&l.translate(0,-v.top):v.left<0&&l.translate(-v.left,0)}var m=u.fixedRoot;return m===void 0&&(m=!0),m&&l.translate(-(l.x+l.width/2+l.hgap),-(l.y+l.height/2+l.vgap)),l}},function(r,e,t){var n=t(7),i=18,a=i*2,o=i,s={getId:function(c){return c.id||c.name},getPreH:function(c){return c.preH||0},getPreV:function(c){return c.preV||0},getHGap:function(c){return c.hgap||o},getVGap:function(c){return c.vgap||o},getChildren:function(c){return c.children},getHeight:function(c){return c.height||a},getWidth:function(c){var h=c.label||" ";return c.width||h.split("").length*i}};function l(f,c){var h=this;if(h.vgap=h.hgap=0,f instanceof l)return f;h.data=f;var d=c.getHGap(f),p=c.getVGap(f);return h.preH=c.getPreH(f),h.preV=c.getPreV(f),h.width=c.getWidth(f),h.height=c.getHeight(f),h.width+=h.preH,h.height+=h.preV,h.id=c.getId(f),h.x=h.y=0,h.depth=0,h.children||(h.children=[]),h.addGap(d,p),h}n.assign(l.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(c,h){var d=this;d.hgap+=c,d.vgap+=h,d.width+=2*c,d.height+=2*h},eachNode:function(c){for(var h=this,d=[h],p;p=d.shift();)c(p),d=p.children.concat(d)},DFTraverse:function(c){this.eachNode(c)},BFTraverse:function(c){for(var h=this,d=[h],p;p=d.shift();)c(p),d=d.concat(p.children)},getBoundingBox:function(){var c={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(h){c.left=Math.min(c.left,h.x),c.top=Math.min(c.top,h.y),c.width=Math.max(c.width,h.x+h.width),c.height=Math.max(c.height,h.y+h.height)}),c},translate:function(c,h){c===void 0&&(c=0),h===void 0&&(h=0),this.eachNode(function(d){d.x+=c,d.y+=h,d.x+=d.preH,d.y+=d.preV})},right2left:function(){var c=this,h=c.getBoundingBox();c.eachNode(function(d){d.x=d.x-(d.x-h.left)*2-d.width}),c.translate(h.width,0)},bottom2top:function(){var c=this,h=c.getBoundingBox();c.eachNode(function(d){d.y=d.y-(d.y-h.top)*2-d.height}),c.translate(0,h.height)}});function u(f,c,h){c===void 0&&(c={}),c=n.assign({},s,c);var d=new l(f,c),p=[d],v;if(!h&&!f.collapsed){for(;v=p.shift();)if(!v.data.collapsed){var m=c.getChildren(v.data),g=m?m.length:0;if(v.children=new Array(g),m&&g)for(var x=0;x-1;)i.call(s,h,1);return s};e.a=o},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(9),o=function(s,l,u){if(!Object(i.a)(s)&&!Object(a.a)(s))return s;var f=u;return Object(n.a)(s,function(c,h){f=l(f,c,h)}),f};e.a=o},function(r,e,t){"use strict";var n=t(1),i=t(21),a=function(o,s){var l=[];if(!Object(n.a)(o))return l;for(var u=-1,f=[],c=o.length;++uh[p])return 1;if(c[p]o?o:i};e.a=n},function(r,e,t){"use strict";var n=function(i,a){var o=a.toString(),s=o.indexOf(".");if(s===-1)return Math.round(i);var l=o.substr(s+1).length;return l>20&&(l=20),parseFloat(i.toFixed(l))};e.a=n},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a%1!=0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a%2==0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=Number.isInteger?Number.isInteger:function(a){return Object(n.a)(a)&&a%1==0};e.a=i},function(r,e,t){"use strict";var n=t(5),i=function(a){return Object(n.a)(a)&&a<0};e.a=i},function(r,e,t){"use strict";e.a=i;var n=1e-5;function i(a,o,s){return s===void 0&&(s=n),Math.abs(a-o)0};e.a=i},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(3);e.a=function(o,s){if(!!Object(i.a)(o)){var l=o[0],u;Object(a.a)(s)?u=s(o[0]):u=o[0][s];var f;return Object(n.a)(o,function(c){Object(a.a)(s)?f=s(c):f=c[s],f>u&&(l=c,u=f)}),l}}},function(r,e,t){"use strict";var n=t(2),i=t(0),a=t(3);e.a=function(o,s){if(!!Object(i.a)(o)){var l=o[0],u;Object(a.a)(s)?u=s(o[0]):u=o[0][s];var f;return Object(n.a)(o,function(c){Object(a.a)(s)?f=s(c):f=c[s],fi?(o&&(clearTimeout(o),o=null),f=d,u=n.apply(s,l),o||(s=l=null)):!o&&a.trailing!==!1&&(o=setTimeout(c,p)),u};return h.cancel=function(){clearTimeout(o),f=0,o=s=l=null},h}},function(r,e,t){"use strict";var n=t(1);e.a=function(i){return Object(n.a)(i)?Array.prototype.slice.call(i):[]}},function(r,e,t){"use strict";var n={};e.a=function(i){return i=i||"g",n[i]?n[i]+=1:n[i]=1,i+n[i]}},function(r,e,t){"use strict";e.a=function(){}},function(r,e,t){"use strict";e.a=function(n){return n}},function(r,e,t){"use strict";e.a=a;var n=t(6),i=t(1);function a(o){return Object(n.a)(o)?0:Object(i.a)(o)?o.length:Object.keys(o).length}},function(r,e,t){"use strict";var n=function(){function i(){this.map={}}return i.prototype.has=function(a){return this.map[a]!==void 0},i.prototype.get=function(a,o){var s=this.map[a];return s===void 0?o:s},i.prototype.set=function(a,o){this.map[a]=o},i.prototype.clear=function(){this.map={}},i.prototype.delete=function(a){delete this.map[a]},i.prototype.size=function(){return Object.keys(this.map).length},i}();e.a=n},function(r,e){function t(l,u,f,c){c===void 0&&(c=[]);var h=this;h.w=l||0,h.h=u||0,h.y=f||0,h.x=0,h.c=c||[],h.cs=c.length,h.prelim=0,h.mod=0,h.shift=0,h.change=0,h.tl=null,h.tr=null,h.el=null,h.er=null,h.msel=0,h.mser=0}t.fromNode=function(l,u){if(!l)return null;var f=[];return l.children.forEach(function(c){f.push(t.fromNode(c,u))}),u?new t(l.height,l.width,l.x,f):new t(l.width,l.height,l.y,f)};function n(l,u,f){f?l.y+=u:l.x+=u,l.children.forEach(function(c){n(c,u,f)})}function i(l,u){var f=u?l.y:l.x;return l.children.forEach(function(c){f=Math.min(i(c,u),f)}),f}function a(l,u){var f=i(l,u);n(l,-f,u)}function o(l,u,f){f?u.y=l.x:u.x=l.x,l.c.forEach(function(c,h){o(c,u.children[h],f)})}function s(l,u,f){f===void 0&&(f=0),u?(l.x=f,f+=l.width):(l.y=f,f+=l.height),l.children.forEach(function(c){s(c,u,f)})}r.exports=function(l,u){u===void 0&&(u={});var f=u.isHorizontal;function c(O){if(O.cs===0){h(O);return}c(O.c[0]);for(var M=L(g(O.c[0].el),0,null),I=1;II.low&&(I=I.nxt);var G=P+R.prelim+R.w-(D+F.prelim);G>0&&(D+=G,p(O,M,I.index,G));var U=g(R),j=g(F);U<=j&&(R=m(R),R!==null&&(P+=R.mod)),U>=j&&(F=v(F),F!==null&&(D+=F.mod))}!R&&!!F?x(O,M,F,D):!!R&&!F&&b(O,M,R,P)}function p(O,M,I,R){O.c[M].mod+=R,O.c[M].msel+=R,O.c[M].mser+=R,w(O,M,I,R)}function v(O){return O.cs===0?O.tl:O.c[0]}function m(O){return O.cs===0?O.tr:O.c[O.cs-1]}function g(O){return O.y+O.h}function x(O,M,I,R){var P=O.c[0].el;P.tl=I;var F=R-I.mod-O.c[0].msel;P.mod+=F,P.prelim-=F,O.c[0].el=O.c[M].el,O.c[0].msel=O.c[M].msel}function b(O,M,I,R){var P=O.c[M].er;P.tr=I;var F=R-I.mod-O.c[M].mser;P.mod+=F,P.prelim-=F,O.c[M].er=O.c[M-1].er,O.c[M].mser=O.c[M-1].mser}function S(O){O.prelim=(O.c[0].prelim+O.c[0].mod+O.c[O.cs-1].mod+O.c[O.cs-1].prelim+O.c[O.cs-1].w)/2-O.w/2}function C(O,M){M+=O.mod,O.x=O.prelim+M,A(O);for(var I=0;I=I.low;)I=I.nxt;return{low:O,index:M,nxt:I}}s(l,f);var k=t.fromNode(l,f);return c(k),C(k,0),o(k,l,f),a(l,f),l}},function(r,e,t){function n(c,h){c.prototype=Object.create(h.prototype),c.prototype.constructor=c,c.__proto__=h}var i=t(11),a=t(115),o=t(17),s=t(7),l=function(c){n(h,c);function h(){return c.apply(this,arguments)||this}var d=h.prototype;return d.execute=function(){var v=this;return v.rootNode.width=0,o(v.rootNode,v.options,a)},h}(i),u={};function f(c,h){return h=s.assign({},u,h),new l(c,h).execute()}r.exports=f},function(r,e,t){var n=t(7);function i(s,l){s===void 0&&(s=0),l===void 0&&(l=[]);var u=this;u.x=u.y=0,u.leftChild=u.rightChild=null,u.height=0,u.children=l}var a={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function o(s,l,u){u?(l.x=s.x,l.y=s.y):(l.x=s.y,l.y=s.x),s.children.forEach(function(f,c){o(f,l.children[c],u)})}r.exports=function(s,l){l===void 0&&(l={}),l=n.assign({},a,l);var u=0;function f(v){if(!v)return null;v.width=0,v.depth&&v.depth>u&&(u=v.depth);var m=v.children,g=m.length,x=new i(v.height,[]);return m.forEach(function(b,S){var C=f(b);x.children.push(C),S===0&&(x.leftChild=C),S===g-1&&(x.rightChild=C)}),x.originNode=v,x.isLeaf=v.isLeaf(),x}function c(v){if(v.isLeaf||v.children.length===0)v.drawingDepth=u;else{var m=v.children.map(function(x){return c(x)}),g=Math.min.apply(null,m);v.drawingDepth=g-1}return v.drawingDepth}var h;function d(v){v.x=v.drawingDepth*l.rankSep,v.isLeaf?(v.y=0,h&&(v.y=h.y+h.height+l.nodeSep,v.originNode.parent!==h.originNode.parent&&(v.y+=l.subTreeSep)),h=v):(v.children.forEach(function(m){d(m)}),v.y=(v.leftChild.y+v.rightChild.y)/2)}var p=f(s);return c(p),d(p),o(p,s,l.isHorizontal),s}},function(r,e,t){function n(d,p){d.prototype=Object.create(p.prototype),d.prototype.constructor=d,d.__proto__=p}var i=t(11),a=t(117),o=t(30),s=t(7),l=["LR","RL","H"],u=l[0],f=function(d){n(p,d);function p(){return d.apply(this,arguments)||this}var v=p.prototype;return v.execute=function(){var g=this,x=g.options,b=g.rootNode;x.isHorizontal=!0;var S=x.indent,C=S===void 0?20:S,w=x.dropCap,A=w===void 0?!0:w,L=x.direction||u;if(L&&l.indexOf(L)===-1)throw new TypeError("Invalid direction: "+L);if(L===l[0])a(b,C,A);else if(L===l[1])a(b,C,A),b.right2left();else if(L===l[2]){var k=o(b,x),O=k.left,M=k.right;a(O,C,A),O.right2left(),a(M,C,A);var I=O.getBoundingBox();M.translate(I.width,0),b.x=M.x-b.width/2}return b},p}(i),c={};function h(d,p){return p=s.assign({},c,p),new f(d,p).execute()}r.exports=h},function(r,e){function t(n,i,a,o){var s=typeof a=="function"?a(n):a*n.depth;if(!o)try{if(n.id===n.parent.children[0].id){n.x+=s,n.y=i?i.y:0;return}}catch(l){}n.x+=s,n.y=i?i.y+i.height:0}r.exports=function(n,i,a){var o=null;n.eachNode(function(s){t(s,o,i,a),o=s})}},function(r,e,t){function n(c,h){c.prototype=Object.create(h.prototype),c.prototype.constructor=c,c.__proto__=h}var i=t(11),a=t(119),o=t(17),s=t(7),l=function(c){n(h,c);function h(){return c.apply(this,arguments)||this}var d=h.prototype;return d.execute=function(){var v=this;return o(v.rootNode,v.options,a)},h}(i),u={};function f(c,h){return h=s.assign({},u,h),new l(c,h).execute()}r.exports=f},function(r,e,t){var n=t(7);function i(s,l){var u=0;return s.children.length?s.children.forEach(function(f){u+=i(f,l)}):u=s.height,s._subTreeSep=l.getSubTreeSep(s.data),s.totalHeight=Math.max(s.height,u)+2*s._subTreeSep,s.totalHeight}function a(s){var l=s.children,u=l.length;if(u){l.forEach(function(v){a(v)});var f=l[0],c=l[u-1],h=c.y-f.y+c.height,d=0;if(l.forEach(function(v){d+=v.totalHeight}),h>s.height)s.y=f.y+h/2-s.height/2;else if(l.length!==1||s.height>d){var p=s.y+(s.height-h)/2-f.y;l.forEach(function(v){v.translate(0,p)})}else s.y=(f.y+f.height/2+c.y+c.height/2)/2-s.height/2}}var o={getSubTreeSep:function(){return 0}};r.exports=function(s,l){l===void 0&&(l={}),l=n.assign({},o,l),s.parent={x:0,width:0,height:0,y:0},s.BFTraverse(function(u){u.x=u.parent.x+u.parent.width}),s.parent=null,i(s,l),s.startY=0,s.y=s.totalHeight/2-s.height/2,s.eachNode(function(u){var f=u.children,c=f.length;if(c){var h=f[0];if(h.startY=u.startY+u._subTreeSep,c===1)h.y=u.y+u.height/2-h.height/2;else{h.y=h.startY+h.totalHeight/2-h.height/2;for(var d=1;d{var jwt=[],sT=[],_de="insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).";function Wwt(r,e){if(e=e||{},r===void 0)throw new Error(_de);var t=e.prepend===!0?"prepend":"append",n=e.container!==void 0?e.container:document.querySelector("head"),i=jwt.indexOf(n);i===-1&&(i=jwt.push(n)-1,sT[i]={});var a;return sT[i]!==void 0&&sT[i][t]!==void 0?a=sT[i][t]:(a=sT[i][t]=Sde(),t==="prepend"?n.insertBefore(a,n.childNodes[0]):n.appendChild(a)),r.charCodeAt(0)===65279&&(r=r.substr(1,r.length)),a.styleSheet?a.styleSheet.cssText+=r:a.textContent+=r,a}function Sde(){var r=document.createElement("style");return r.setAttribute("type","text/css"),r}CX.exports=Wwt;CX.exports.insertCss=Wwt});var eMt=ft(($X,QX)=>{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof QX=="object"&&typeof $X!="undefined"?QX.exports=e():r.Papa=e()})($X,function r(){"use strict";var e=typeof self!="undefined"?self:typeof window!="undefined"?window:e!==void 0?e:{},t=!e.document&&!!e.postMessage,n=t&&/blob:/i.test((e.location||{}).protocol),i={},a=0,o={parse:function(w,A){var L=(A=A||{}).dynamicTyping||!1;if(C(L)&&(A.dynamicTypingFunction=L,L={}),A.dynamicTyping=L,A.transform=!!C(A.transform)&&A.transform,A.worker&&o.WORKERS_SUPPORTED){var k=function(){if(!o.WORKERS_SUPPORTED)return!1;var M=(R=e.URL||e.webkitURL||null,P=r.toString(),o.BLOB_URL||(o.BLOB_URL=R.createObjectURL(new Blob(["(",P,")();"],{type:"text/javascript"})))),I=new e.Worker(M),R,P;return I.onmessage=m,I.id=a++,i[I.id]=I}();return k.userStep=A.step,k.userChunk=A.chunk,k.userComplete=A.complete,k.userError=A.error,A.step=C(A.step),A.chunk=C(A.chunk),A.complete=C(A.complete),A.error=C(A.error),delete A.worker,void k.postMessage({input:w,config:A,workerId:k.id})}var O=null;return o.NODE_STREAM_INPUT,typeof w=="string"?O=A.download?new u(A):new c(A):w.readable===!0&&C(w.read)&&C(w.on)?O=new h(A):(e.File&&w instanceof File||w instanceof Object)&&(O=new f(A)),O.stream(w)},unparse:function(w,A){var L=!1,k=!0,O=",",M=`\r +`,I='"',R=I+I,P=!1,F=null,D=!1;(function(){if(typeof A=="object"){if(typeof A.delimiter!="string"||o.BAD_DELIMITERS.filter(function(H){return A.delimiter.indexOf(H)!==-1}).length||(O=A.delimiter),(typeof A.quotes=="boolean"||typeof A.quotes=="function"||Array.isArray(A.quotes))&&(L=A.quotes),typeof A.skipEmptyLines!="boolean"&&typeof A.skipEmptyLines!="string"||(P=A.skipEmptyLines),typeof A.newline=="string"&&(M=A.newline),typeof A.quoteChar=="string"&&(I=A.quoteChar),typeof A.header=="boolean"&&(k=A.header),Array.isArray(A.columns)){if(A.columns.length===0)throw new Error("Option columns is empty");F=A.columns}A.escapeChar!==void 0&&(R=A.escapeChar+I),typeof A.escapeFormulae=="boolean"&&(D=A.escapeFormulae)}})();var G=new RegExp(p(I),"g");if(typeof w=="string"&&(w=JSON.parse(w)),Array.isArray(w)){if(!w.length||Array.isArray(w[0]))return U(null,w,P);if(typeof w[0]=="object")return U(F||Object.keys(w[0]),w,P)}else if(typeof w=="object")return typeof w.data=="string"&&(w.data=JSON.parse(w.data)),Array.isArray(w.data)&&(w.fields||(w.fields=w.meta&&w.meta.fields),w.fields||(w.fields=Array.isArray(w.data[0])?w.fields:typeof w.data[0]=="object"?Object.keys(w.data[0]):[]),Array.isArray(w.data[0])||typeof w.data[0]=="object"||(w.data=[w.data])),U(w.fields||[],w.data||[],P);throw new Error("Unable to serialize unrecognized input");function U(H,tt,et){var ut="";typeof H=="string"&&(H=JSON.parse(H)),typeof tt=="string"&&(tt=JSON.parse(tt));var $=Array.isArray(H)&&0=this._config.preview;if(n)e.postMessage({results:M,workerId:o.WORKER_ID,finished:R});else if(C(this._config.chunk)&&!L){if(this._config.chunk(M,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);M=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(M.data),this._completeResults.errors=this._completeResults.errors.concat(M.errors),this._completeResults.meta=M.meta),this._completed||!R||!C(this._config.complete)||M&&M.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),R||M&&M.meta.paused||this._nextChunk(),M}this._halted=!0},this._sendError=function(A){C(this._config.error)?this._config.error(A):n&&this._config.error&&e.postMessage({workerId:o.WORKER_ID,error:A,finished:!1})}}function u(w){var A;(w=w||{}).chunkSize||(w.chunkSize=o.RemoteChunkSize),l.call(this,w),this._nextChunk=t?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(L){this._input=L,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(A=new XMLHttpRequest,this._config.withCredentials&&(A.withCredentials=this._config.withCredentials),t||(A.onload=S(this._chunkLoaded,this),A.onerror=S(this._chunkError,this)),A.open(this._config.downloadRequestBody?"POST":"GET",this._input,!t),this._config.downloadRequestHeaders){var L=this._config.downloadRequestHeaders;for(var k in L)A.setRequestHeader(k,L[k])}if(this._config.chunkSize){var O=this._start+this._config.chunkSize-1;A.setRequestHeader("Range","bytes="+this._start+"-"+O)}try{A.send(this._config.downloadRequestBody)}catch(M){this._chunkError(M.message)}t&&A.status===0&&this._chunkError()}},this._chunkLoaded=function(){A.readyState===4&&(A.status<200||400<=A.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:A.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(L){var k=L.getResponseHeader("Content-Range");return k===null?-1:parseInt(k.substring(k.lastIndexOf("/")+1))}(A),this.parseChunk(A.responseText)))},this._chunkError=function(L){var k=A.statusText||L;this._sendError(new Error(k))}}function f(w){var A,L;(w=w||{}).chunkSize||(w.chunkSize=o.LocalChunkSize),l.call(this,w);var k=typeof FileReader!="undefined";this.stream=function(O){this._input=O,L=O.slice||O.webkitSlice||O.mozSlice,k?((A=new FileReader).onload=S(this._chunkLoaded,this),A.onerror=S(this._chunkError,this)):A=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(O.target.result)},this._chunkError=function(){this._sendError(A.error)}}function c(w){var A;l.call(this,w=w||{}),this.stream=function(L){return A=L,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var L,k=this._config.chunkSize;return k?(L=A.substring(0,k),A=A.substring(k)):(L=A,A=""),this._finished=!A,this.parseChunk(L)}}}function h(w){l.call(this,w=w||{});var A=[],L=!0,k=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(O){this._input=O,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){k&&A.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),A.length?this.parseChunk(A.shift()):L=!0},this._streamData=S(function(O){try{A.push(typeof O=="string"?O:O.toString(this._config.encoding)),L&&(L=!1,this._checkIsFinished(),this.parseChunk(A.shift()))}catch(M){this._streamError(M)}},this),this._streamError=S(function(O){this._streamCleanUp(),this._sendError(O)},this),this._streamEnd=S(function(){this._streamCleanUp(),k=!0,this._streamData("")},this),this._streamCleanUp=S(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function d(w){var A,L,k,O=Math.pow(2,53),M=-O,I=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,R=/^(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))$/,P=this,F=0,D=0,G=!1,U=!1,j=[],H={data:[],errors:[],meta:{}};if(C(w.step)){var tt=w.step;w.step=function(dt){if(H=dt,$())ut();else{if(ut(),H.data.length===0)return;F+=dt.data.length,w.preview&&F>w.preview?L.abort():(H.data=H.data[0],tt(H,P))}}}function et(dt){return w.skipEmptyLines==="greedy"?dt.join("").trim()==="":dt.length===1&&dt[0].length===0}function ut(){if(H&&k&&(_t("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),k=!1),w.skipEmptyLines)for(var dt=0;dt=j.length?"__parsed_extra":j[Y]),w.transform&&(Rt=w.transform(Rt,K)),Rt=st(K,Rt),K==="__parsed_extra"?(it[K]=it[K]||[],it[K].push(Rt)):it[K]=Rt}return w.header&&(Y>j.length?_t("FieldMismatch","TooManyFields","Too many fields: expected "+j.length+" fields but parsed "+Y,D+$t):Y=Xt.length/2?`\r -`:"\r"}(dt,Ut)),P=!1,w.delimiter)C(w.delimiter)&&(w.delimiter=w.delimiter(dt),W.meta.delimiter=w.delimiter);else{var $t=function(it,K,Rt,Xt,Zt){var Ae,We,$e,V;Zt=Zt||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var Te=0;Te=O)return V(!0)}else for(K=G,G++;;){if((K=N.indexOf(A,K+1))===-1)return j||_t.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:st.length,index:G}),We();if(K===W-1)return We(N.substring(G,K).replace(it,A));if(A!==k||N[K+1]!==k){if(A===k||K===0||N[K-1]!==k){$t!==-1&&$t=O)return V(!0);break}_t.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:st.length,index:G}),K++}}else K++}return We();function Zt(ne){st.push(ne),vt=G}function Ae(ne){var pt=0;if(ne!==-1){var Et=N.substring(K+1,ne);Et&&Et.trim()===""&&(pt=Et.length)}return pt}function We(ne){return j||(ne===void 0&&(ne=N.substring(G)),dt.push(ne),G=W,Zt(dt),$&&Te()),V()}function $e(ne){G=ne,Zt(dt),dt=[],Y=N.indexOf(P,G)}function V(ne){return{data:st,errors:_t,meta:{delimiter:I,linebreak:P,aborted:D,truncated:!!ne,cursor:vt+(z||0)}}}function Te(){M(V()),st=[],_t=[]}},this.abort=function(){D=!0},this.getCharIndex=function(){return G}}function m(w){var A=w.data,I=i[A.workerId],P=!1;if(A.error)I.userError(A.error,A.file);else if(A.results&&A.results.data){var L={abort:function(){P=!0,g(A.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:x,resume:x};if(C(I.userStep)){for(var M=0;M{"use strict";Object.defineProperty(MF,"__esModule",{value:!0});require("obsidian");var yme=r=>{var e;return r?(e=r.plugins.plugins.dataview)===null||e===void 0?void 0:e.api:window.DataviewAPI},xme=r=>r.plugins.enabledPlugins.has("dataview");MF.getAPI=yme;MF.isPluginEnabled=xme});Dn(exports,{default:()=>QX});var t3=class extends Error{},D9=class extends t3{},P9=class extends t3{},F2t=(r,e=",")=>r.join(e),B2t={accept:"*",multiple:!1,strict:!1},k9=r=>{let{accept:e,multiple:t,strict:n}=wl(wl({},B2t),r),i=U2t({multiple:t,accept:Array.isArray(e)?F2t(e):e});return new Promise(a=>{i.onchange=()=>{a(G2t(i.files,t,n)),i.remove()},i.click()})},G2t=(r,e,t)=>new Promise((n,i)=>{if(!r)return i(new D9);let a=z2t(r,e,t);if(!a)return i(new P9);n(a)}),z2t=(r,e,t)=>!e&&t?r.length===1?r[0]:null:r.length?r:null,U2t=({accept:r,multiple:e})=>{let t=document.createElement("input");return t.type="file",t.multiple=e,t.accept=r,t};function R9(r){return typeof r=="undefined"||r===null}function j2t(r){return typeof r=="object"&&r!==null}function W2t(r){return Array.isArray(r)?r:R9(r)?[]:[r]}function V2t(r,e){var t,n,i,a;if(e)for(a=Object.keys(e),t=0,n=a.length;t=I)return W(!0)}else for(K=F,F++;;){if((K=G.indexOf(A,K+1))===-1)return j||_t.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:st.length,index:F}),We();if(K===H-1)return We(G.substring(F,K).replace(it,A));if(A!==P||G[K+1]!==P){if(A===P||K===0||G[K-1]!==P){$t!==-1&&$t=I)return W(!0);break}_t.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:st.length,index:F}),K++}}else K++}return We();function Zt(ne){st.push(ne),gt=F}function Ae(ne){var pt=0;if(ne!==-1){var Et=G.substring(K+1,ne);Et&&Et.trim()===""&&(pt=Et.length)}return pt}function We(ne){return j||(ne===void 0&&(ne=G.substring(F)),dt.push(ne),F=H,Zt(dt),$&&Te()),W()}function $e(ne){F=ne,Zt(dt),dt=[],Y=G.indexOf(k,F)}function W(ne){return{data:st,errors:_t,meta:{delimiter:L,linebreak:k,aborted:D,truncated:!!ne,cursor:gt+(U||0)}}}function Te(){M(W()),st=[],_t=[]}},this.abort=function(){D=!0},this.getCharIndex=function(){return F}}function m(w){var A=w.data,L=i[A.workerId],k=!1;if(A.error)L.userError(A.error,A.file);else if(A.results&&A.results.data){var O={abort:function(){k=!0,g(A.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:x,resume:x};if(C(L.userStep)){for(var M=0;Mi9});var i3=class extends Error{},G9=class extends i3{},z9=class extends i3{},K2t=(r,e=",")=>r.join(e),Z2t={accept:"*",multiple:!1,strict:!1},U9=r=>{let{accept:e,multiple:t,strict:n}=wl(wl({},Z2t),r),i=J2t({multiple:t,accept:Array.isArray(e)?K2t(e):e});return new Promise(a=>{i.onchange=()=>{a($2t(i.files,t,n)),i.remove()},i.click()})},$2t=(r,e,t)=>new Promise((n,i)=>{if(!r)return i(new G9);let a=Q2t(r,e,t);if(!a)return i(new z9);n(a)}),Q2t=(r,e,t)=>!e&&t?r.length===1?r[0]:null:r.length?r:null,J2t=({accept:r,multiple:e})=>{let t=document.createElement("input");return t.type="file",t.multiple=e,t.accept=r,t};function j9(r){return typeof r=="undefined"||r===null}function tLt(r){return typeof r=="object"&&r!==null}function eLt(r){return Array.isArray(r)?r:j9(r)?[]:[r]}function rLt(r,e){var t,n,i,a;if(e)for(a=Object.keys(e),t=0,n=a.length;ts&&(a=" ... ",e=n-s+a.length),t-n>s&&(o=" ...",t=n+s-o.length),{str:a+r.slice(e,t).replace(/\t/g,"\u2192")+o,pos:n-e+a.length}}function r3(r,e){return xo.repeat(" ",e-r.length)+r}function J2t(r,e){if(e=Object.create(e||null),!r.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var t=/\r?\n|\r|\0/g,n=[0],i=[],a,o=-1;a=t.exec(r.buffer);)i.push(a.index),n.push(a.index+a[0].length),r.position<=a.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var s="",l,u,f=Math.min(r.line+e.linesAfter,i.length).toString().length,c=e.maxLength-(e.indent+f+3);for(l=1;l<=e.linesBefore&&!(o-l<0);l++)u=e3(r.buffer,n[o-l],i[o-l],r.position-(n[o]-n[o-l]),c),s=xo.repeat(" ",e.indent)+r3((r.line-l+1).toString(),f)+" | "+u.str+` -`+s;for(u=e3(r.buffer,n[o],i[o],r.position,c),s+=xo.repeat(" ",e.indent)+r3((r.line+1).toString(),f)+" | "+u.str+` -`,s+=xo.repeat("-",e.indent+f+3+u.pos)+`^ -`,l=1;l<=e.linesAfter&&!(o+l>=i.length);l++)u=e3(r.buffer,n[o+l],i[o+l],r.position-(n[o]-n[o+l]),c),s+=xo.repeat(" ",e.indent)+r3((r.line+l+1).toString(),f)+" | "+u.str+` -`;return s.replace(/\n$/,"")}var tLt=J2t,eLt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],rLt=["scalar","sequence","mapping"];function nLt(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(n){e[String(n)]=t})}),e}function iLt(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(eLt.indexOf(t)===-1)throw new zs('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.options=e,this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=nLt(e.styleAliases||null),rLt.indexOf(this.kind)===-1)throw new zs('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}var es=iLt;function F9(r,e){var t=[];return r[e].forEach(function(n){var i=t.length;t.forEach(function(a,o){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=o)}),t[i]=n}),t}function aLt(){var r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,t;function n(i){i.multi?(r.multi[i.kind].push(i),r.multi.fallback.push(i)):r[i.kind][i.tag]=r.fallback[i.tag]=i}for(e=0,t=arguments.length;e=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0o"+r.toString(8):"-0o"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),yLt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function xLt(r){return!(r===null||!yLt.test(r)||r[r.length-1]==="_")}function bLt(r){var e,t;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:t*parseFloat(e,10)}var _Lt=/^[-+]?[0-9]+e/;function SLt(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xo.isNegativeZero(r))return"-0.0";return t=r.toString(10),_Lt.test(t)?t.replace("e",".e"):t}function CLt(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!=0||xo.isNegativeZero(r))}var Y9=new es("tag:yaml.org,2002:float",{kind:"scalar",resolve:xLt,construct:bLt,predicate:CLt,represent:SLt,defaultStyle:"lowercase"}),X9=j9.extend({implicit:[W9,V9,H9,Y9]}),q9=X9,K9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Z9=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function wLt(r){return r===null?!1:K9.exec(r)!==null||Z9.exec(r)!==null}function ELt(r){var e,t,n,i,a,o,s,l=0,u=null,f,c,h;if(e=K9.exec(r),e===null&&(e=Z9.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(t,n,i));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(f=+e[10],c=+(e[11]||0),u=(f*60+c)*6e4,e[9]==="-"&&(u=-u)),h=new Date(Date.UTC(t,n,i,a,o,s,l)),u&&h.setTime(h.getTime()-u),h}function ALt(r){return r.toISOString()}var $9=new es("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:wLt,construct:ELt,instanceOf:Date,represent:ALt});function MLt(r){return r==="<<"||r===null}var Q9=new es("tag:yaml.org,2002:merge",{kind:"scalar",resolve:MLt}),i3=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function TLt(r){if(r===null)return!1;var e,t,n=0,i=r.length,a=i3;for(t=0;t64)){if(e<0)return!1;n+=6}return n%8==0}function ILt(r){var e,t,n=r.replace(/[\r\n=]/g,""),i=n.length,a=i3,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(o&255)),o=o<<6|a.indexOf(n.charAt(e));return t=i%4*6,t===0?(s.push(o>>16&255),s.push(o>>8&255),s.push(o&255)):t===18?(s.push(o>>10&255),s.push(o>>2&255)):t===12&&s.push(o>>4&255),new Uint8Array(s)}function LLt(r){var e="",t=0,n,i,a=r.length,o=i3;for(n=0;n>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[n];return i=a%3,i===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):i===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):i===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function OLt(r){return Object.prototype.toString.call(r)==="[object Uint8Array]"}var J9=new es("tag:yaml.org,2002:binary",{kind:"scalar",resolve:TLt,construct:ILt,predicate:OLt,represent:LLt}),DLt=Object.prototype.hasOwnProperty,PLt=Object.prototype.toString;function kLt(r){if(r===null)return!0;var e=[],t,n,i,a,o,s=r;for(t=0,n=s.length;t>10)+55296,(r-65536&1023)+56320)}var f7=new Array(256),c7=new Array(256);for(Ay=0;Ay<256;Ay++)f7[Ay]=u7(Ay)?1:0,c7[Ay]=u7(Ay);var Ay;function ZLt(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||a3,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function h7(r,e){var t={name:r.filename,buffer:r.input.slice(0,-1),position:r.position,line:r.line,column:r.position-r.lineStart};return t.snippet=tLt(t),new zs(e,t)}function Br(r,e){throw h7(r,e)}function NI(r,e){r.onWarning&&r.onWarning.call(null,h7(r,e))}var d7={YAML:function(e,t,n){var i,a,o;e.version!==null&&Br(e,"duplication of %YAML directive"),n.length!==1&&Br(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Br(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),o=parseInt(i[2],10),a!==1&&Br(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&NI(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,a;n.length!==2&&Br(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],o7.test(i)||Br(e,"ill-formed tag handle (first argument) of the TAG directive"),Gv.call(e.tagMap,i)&&Br(e,'there is a previously declared suffix for "'+i+'" tag handle'),s7.test(a)||Br(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch(o){Br(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a}};function zv(r,e,t,n){var i,a,o,s;if(e1&&(r.result+=xo.repeat(` -`,e-1))}function $Lt(r,e,t){var n,i,a,o,s,l,u,f,c=r.kind,h=r.result,d;if(d=r.input.charCodeAt(r.position),El(d)||nb(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(i=r.input.charCodeAt(r.position+1),El(i)||t&&nb(i)))return!1;for(r.kind="scalar",r.result="",a=o=r.position,s=!1;d!==0;){if(d===58){if(i=r.input.charCodeAt(r.position+1),El(i)||t&&nb(i))break}else if(d===35){if(n=r.input.charCodeAt(r.position-1),El(n))break}else{if(r.position===r.lineStart&&FI(r)||t&&nb(d))break;if($c(d))if(l=r.line,u=r.lineStart,f=r.lineIndent,no(r,!1,-1),r.lineIndent>=e){s=!0,d=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=u,r.lineIndent=f;break}}s&&(zv(r,a,o,!1),l3(r,r.line-l),a=o=r.position,s=!1),Ey(d)||(o=r.position+1),d=r.input.charCodeAt(++r.position)}return zv(r,a,o,!1),r.result?!0:(r.kind=c,r.result=h,!1)}function QLt(r,e){var t,n,i;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,n=i=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(zv(r,n,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)n=r.position,r.position++,i=r.position;else return!0;else $c(t)?(zv(r,n,i,!0),l3(r,no(r,!1,e)),n=i=r.position):r.position===r.lineStart&&FI(r)?Br(r,"unexpected end of the document within a single quoted scalar"):(r.position++,i=r.position);Br(r,"unexpected end of the stream within a single quoted scalar")}function JLt(r,e){var t,n,i,a,o,s;if(s=r.input.charCodeAt(r.position),s!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=n=r.position;(s=r.input.charCodeAt(r.position))!==0;){if(s===34)return zv(r,t,r.position,!0),r.position++,!0;if(s===92){if(zv(r,t,r.position,!0),s=r.input.charCodeAt(++r.position),$c(s))no(r,!1,e);else if(s<256&&f7[s])r.result+=c7[s],r.position++;else if((o=XLt(s))>0){for(i=o,a=0;i>0;i--)s=r.input.charCodeAt(++r.position),(o=YLt(s))>=0?a=(a<<4)+o:Br(r,"expected hexadecimal character");r.result+=KLt(a),r.position++}else Br(r,"unknown escape sequence");t=n=r.position}else $c(s)?(zv(r,t,n,!0),l3(r,no(r,!1,e)),t=n=r.position):r.position===r.lineStart&&FI(r)?Br(r,"unexpected end of the document within a double quoted scalar"):(r.position++,n=r.position)}Br(r,"unexpected end of the stream within a double quoted scalar")}function tOt(r,e){var t=!0,n,i,a,o=r.tag,s,l=r.anchor,u,f,c,h,d,p=Object.create(null),v,m,g,x;if(x=r.input.charCodeAt(r.position),x===91)f=93,d=!1,s=[];else if(x===123)f=125,d=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),x=r.input.charCodeAt(++r.position);x!==0;){if(no(r,!0,e),x=r.input.charCodeAt(r.position),x===f)return r.position++,r.tag=o,r.anchor=l,r.kind=d?"mapping":"sequence",r.result=s,!0;t?x===44&&Br(r,"expected the node content, but found ','"):Br(r,"missed comma between flow collection entries"),m=v=g=null,c=h=!1,x===63&&(u=r.input.charCodeAt(r.position+1),El(u)&&(c=h=!0,r.position++,no(r,!0,e))),n=r.line,i=r.lineStart,a=r.position,ab(r,e,kI,!1,!0),m=r.tag,v=r.result,no(r,!0,e),x=r.input.charCodeAt(r.position),(h||r.line===n)&&x===58&&(c=!0,x=r.input.charCodeAt(++r.position),no(r,!0,e),ab(r,e,kI,!1,!0),g=r.result),d?ib(r,s,p,m,v,g,n,i,a):c?s.push(ib(r,null,p,m,v,g,n,i,a)):s.push(v),no(r,!0,e),x=r.input.charCodeAt(r.position),x===44?(t=!0,x=r.input.charCodeAt(++r.position)):t=!1}Br(r,"unexpected end of the stream within a flow collection")}function eOt(r,e){var t,n,i=o3,a=!1,o=!1,s=e,l=0,u=!1,f,c;if(c=r.input.charCodeAt(r.position),c===124)n=!1;else if(c===62)n=!0;else return!1;for(r.kind="scalar",r.result="";c!==0;)if(c=r.input.charCodeAt(++r.position),c===43||c===45)o3===i?i=c===43?a7:jLt:Br(r,"repeat of a chomping mode identifier");else if((f=qLt(c))>=0)f===0?Br(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Br(r,"repeat of an indentation width identifier"):(s=e+f-1,o=!0);else break;if(Ey(c)){do c=r.input.charCodeAt(++r.position);while(Ey(c));if(c===35)do c=r.input.charCodeAt(++r.position);while(!$c(c)&&c!==0)}for(;c!==0;){for(s3(r),r.lineIndent=0,c=r.input.charCodeAt(r.position);(!o||r.lineIndents&&(s=r.lineIndent),$c(c)){l++;continue}if(r.lineIndente)&&l!==0)Br(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(m&&(o=r.line,s=r.lineStart,l=r.position),ab(r,e,RI,!0,i)&&(m?p=r.result:v=r.result),m||(ib(r,c,h,d,p,v,o,s,l),d=p=v=null),no(r,!0,-1),x=r.input.charCodeAt(r.position)),(r.line===a||r.lineIndent>e)&&x!==0)Br(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),c=0,h=r.implicitTypes.length;c"),r.result!==null&&p.kind!==r.kind&&Br(r,"unacceptable node kind for !<"+r.tag+'> tag; it should be "'+p.kind+'", not "'+r.kind+'"'),p.resolve(r.result,r.tag)?(r.result=p.construct(r.result,r.tag),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):Br(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")}return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||f}function oOt(r){var e=r.position,t,n,i,a=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap=Object.create(null),r.anchorMap=Object.create(null);(o=r.input.charCodeAt(r.position))!==0&&(no(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(a=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!El(o);)o=r.input.charCodeAt(++r.position);for(n=r.input.slice(t,r.position),i=[],n.length<1&&Br(r,"directive name must not be less than one character in length");o!==0;){for(;Ey(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!$c(o));break}if($c(o))break;for(t=r.position;o!==0&&!El(o);)o=r.input.charCodeAt(++r.position);i.push(r.input.slice(t,r.position))}o!==0&&s3(r),Gv.call(d7,n)?d7[n](r,n,i):NI(r,'unknown document directive "'+n+'"')}if(no(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,no(r,!0,-1)):a&&Br(r,"directives end mark is expected"),ab(r,r.lineIndent-1,RI,!1,!0),no(r,!0,-1),r.checkLineBreaks&&VLt.test(r.input.slice(e,r.position))&&NI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&FI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,no(r,!0,-1));return}if(r.positions&&(a=" ... ",e=n-s+a.length),t-n>s&&(o=" ...",t=n+s-o.length),{str:a+r.slice(e,t).replace(/\t/g,"\u2192")+o,pos:n-e+a.length}}function o3(r,e){return _o.repeat(" ",e-r.length)+r}function cLt(r,e){if(e=Object.create(e||null),!r.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var t=/\r?\n|\r|\0/g,n=[0],i=[],a,o=-1;a=t.exec(r.buffer);)i.push(a.index),n.push(a.index+a[0].length),r.position<=a.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var s="",l,u,f=Math.min(r.line+e.linesAfter,i.length).toString().length,c=e.maxLength-(e.indent+f+3);for(l=1;l<=e.linesBefore&&!(o-l<0);l++)u=a3(r.buffer,n[o-l],i[o-l],r.position-(n[o]-n[o-l]),c),s=_o.repeat(" ",e.indent)+o3((r.line-l+1).toString(),f)+" | "+u.str+` +`+s;for(u=a3(r.buffer,n[o],i[o],r.position,c),s+=_o.repeat(" ",e.indent)+o3((r.line+1).toString(),f)+" | "+u.str+` +`,s+=_o.repeat("-",e.indent+f+3+u.pos)+`^ +`,l=1;l<=e.linesAfter&&!(o+l>=i.length);l++)u=a3(r.buffer,n[o+l],i[o+l],r.position-(n[o]-n[o+l]),c),s+=_o.repeat(" ",e.indent)+o3((r.line+l+1).toString(),f)+" | "+u.str+` +`;return s.replace(/\n$/,"")}var hLt=cLt,dLt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],pLt=["scalar","sequence","mapping"];function vLt(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(n){e[String(n)]=t})}),e}function mLt(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(dLt.indexOf(t)===-1)throw new Us('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.options=e,this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=vLt(e.styleAliases||null),pLt.indexOf(this.kind)===-1)throw new Us('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}var ns=mLt;function V9(r,e){var t=[];return r[e].forEach(function(n){var i=t.length;t.forEach(function(a,o){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=o)}),t[i]=n}),t}function gLt(){var r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,t;function n(i){i.multi?(r.multi[i.kind].push(i),r.multi.fallback.push(i)):r[i.kind][i.tag]=r.fallback[i.tag]=i}for(e=0,t=arguments.length;e=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0o"+r.toString(8):"-0o"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),LLt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function OLt(r){return!(r===null||!LLt.test(r)||r[r.length-1]==="_")}function DLt(r){var e,t;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:t*parseFloat(e,10)}var PLt=/^[-+]?[0-9]+e/;function kLt(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(_o.isNegativeZero(r))return"-0.0";return t=r.toString(10),PLt.test(t)?t.replace("e",".e"):t}function RLt(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!=0||_o.isNegativeZero(r))}var J9=new ns("tag:yaml.org,2002:float",{kind:"scalar",resolve:OLt,construct:DLt,predicate:RLt,represent:kLt,defaultStyle:"lowercase"}),t7=K9.extend({implicit:[Z9,$9,Q9,J9]}),e7=t7,r7=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),n7=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function NLt(r){return r===null?!1:r7.exec(r)!==null||n7.exec(r)!==null}function FLt(r){var e,t,n,i,a,o,s,l=0,u=null,f,c,h;if(e=r7.exec(r),e===null&&(e=n7.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(t,n,i));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(f=+e[10],c=+(e[11]||0),u=(f*60+c)*6e4,e[9]==="-"&&(u=-u)),h=new Date(Date.UTC(t,n,i,a,o,s,l)),u&&h.setTime(h.getTime()-u),h}function BLt(r){return r.toISOString()}var i7=new ns("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:NLt,construct:FLt,instanceOf:Date,represent:BLt});function GLt(r){return r==="<<"||r===null}var a7=new ns("tag:yaml.org,2002:merge",{kind:"scalar",resolve:GLt}),l3=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function zLt(r){if(r===null)return!1;var e,t,n=0,i=r.length,a=l3;for(t=0;t64)){if(e<0)return!1;n+=6}return n%8==0}function ULt(r){var e,t,n=r.replace(/[\r\n=]/g,""),i=n.length,a=l3,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(o&255)),o=o<<6|a.indexOf(n.charAt(e));return t=i%4*6,t===0?(s.push(o>>16&255),s.push(o>>8&255),s.push(o&255)):t===18?(s.push(o>>10&255),s.push(o>>2&255)):t===12&&s.push(o>>4&255),new Uint8Array(s)}function jLt(r){var e="",t=0,n,i,a=r.length,o=l3;for(n=0;n>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[n];return i=a%3,i===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):i===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):i===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function WLt(r){return Object.prototype.toString.call(r)==="[object Uint8Array]"}var o7=new ns("tag:yaml.org,2002:binary",{kind:"scalar",resolve:zLt,construct:ULt,predicate:WLt,represent:jLt}),VLt=Object.prototype.hasOwnProperty,HLt=Object.prototype.toString;function YLt(r){if(r===null)return!0;var e=[],t,n,i,a,o,s=r;for(t=0,n=s.length;t>10)+55296,(r-65536&1023)+56320)}var g7=new Array(256),y7=new Array(256);for(Ty=0;Ty<256;Ty++)g7[Ty]=m7(Ty)?1:0,y7[Ty]=m7(Ty);var Ty;function lOt(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||u3,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function x7(r,e){var t={name:r.filename,buffer:r.input.slice(0,-1),position:r.position,line:r.line,column:r.position-r.lineStart};return t.snippet=hLt(t),new Us(e,t)}function Br(r,e){throw x7(r,e)}function zI(r,e){r.onWarning&&r.onWarning.call(null,x7(r,e))}var b7={YAML:function(e,t,n){var i,a,o;e.version!==null&&Br(e,"duplication of %YAML directive"),n.length!==1&&Br(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Br(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),o=parseInt(i[2],10),a!==1&&Br(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&zI(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,a;n.length!==2&&Br(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],d7.test(i)||Br(e,"ill-formed tag handle (first argument) of the TAG directive"),Uv.call(e.tagMap,i)&&Br(e,'there is a previously declared suffix for "'+i+'" tag handle'),p7.test(a)||Br(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch(o){Br(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a}};function jv(r,e,t,n){var i,a,o,s;if(e1&&(r.result+=_o.repeat(` +`,e-1))}function uOt(r,e,t){var n,i,a,o,s,l,u,f,c=r.kind,h=r.result,d;if(d=r.input.charCodeAt(r.position),El(d)||sb(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(i=r.input.charCodeAt(r.position+1),El(i)||t&&sb(i)))return!1;for(r.kind="scalar",r.result="",a=o=r.position,s=!1;d!==0;){if(d===58){if(i=r.input.charCodeAt(r.position+1),El(i)||t&&sb(i))break}else if(d===35){if(n=r.input.charCodeAt(r.position-1),El(n))break}else{if(r.position===r.lineStart&&UI(r)||t&&sb(d))break;if($c(d))if(l=r.line,u=r.lineStart,f=r.lineIndent,ao(r,!1,-1),r.lineIndent>=e){s=!0,d=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=u,r.lineIndent=f;break}}s&&(jv(r,a,o,!1),h3(r,r.line-l),a=o=r.position,s=!1),My(d)||(o=r.position+1),d=r.input.charCodeAt(++r.position)}return jv(r,a,o,!1),r.result?!0:(r.kind=c,r.result=h,!1)}function fOt(r,e){var t,n,i;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,n=i=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(jv(r,n,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)n=r.position,r.position++,i=r.position;else return!0;else $c(t)?(jv(r,n,i,!0),h3(r,ao(r,!1,e)),n=i=r.position):r.position===r.lineStart&&UI(r)?Br(r,"unexpected end of the document within a single quoted scalar"):(r.position++,i=r.position);Br(r,"unexpected end of the stream within a single quoted scalar")}function cOt(r,e){var t,n,i,a,o,s;if(s=r.input.charCodeAt(r.position),s!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=n=r.position;(s=r.input.charCodeAt(r.position))!==0;){if(s===34)return jv(r,t,r.position,!0),r.position++,!0;if(s===92){if(jv(r,t,r.position,!0),s=r.input.charCodeAt(++r.position),$c(s))ao(r,!1,e);else if(s<256&&g7[s])r.result+=y7[s],r.position++;else if((o=aOt(s))>0){for(i=o,a=0;i>0;i--)s=r.input.charCodeAt(++r.position),(o=iOt(s))>=0?a=(a<<4)+o:Br(r,"expected hexadecimal character");r.result+=sOt(a),r.position++}else Br(r,"unknown escape sequence");t=n=r.position}else $c(s)?(jv(r,t,n,!0),h3(r,ao(r,!1,e)),t=n=r.position):r.position===r.lineStart&&UI(r)?Br(r,"unexpected end of the document within a double quoted scalar"):(r.position++,n=r.position)}Br(r,"unexpected end of the stream within a double quoted scalar")}function hOt(r,e){var t=!0,n,i,a,o=r.tag,s,l=r.anchor,u,f,c,h,d,p=Object.create(null),v,m,g,x;if(x=r.input.charCodeAt(r.position),x===91)f=93,d=!1,s=[];else if(x===123)f=125,d=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),x=r.input.charCodeAt(++r.position);x!==0;){if(ao(r,!0,e),x=r.input.charCodeAt(r.position),x===f)return r.position++,r.tag=o,r.anchor=l,r.kind=d?"mapping":"sequence",r.result=s,!0;t?x===44&&Br(r,"expected the node content, but found ','"):Br(r,"missed comma between flow collection entries"),m=v=g=null,c=h=!1,x===63&&(u=r.input.charCodeAt(r.position+1),El(u)&&(c=h=!0,r.position++,ao(r,!0,e))),n=r.line,i=r.lineStart,a=r.position,ub(r,e,BI,!1,!0),m=r.tag,v=r.result,ao(r,!0,e),x=r.input.charCodeAt(r.position),(h||r.line===n)&&x===58&&(c=!0,x=r.input.charCodeAt(++r.position),ao(r,!0,e),ub(r,e,BI,!1,!0),g=r.result),d?lb(r,s,p,m,v,g,n,i,a):c?s.push(lb(r,null,p,m,v,g,n,i,a)):s.push(v),ao(r,!0,e),x=r.input.charCodeAt(r.position),x===44?(t=!0,x=r.input.charCodeAt(++r.position)):t=!1}Br(r,"unexpected end of the stream within a flow collection")}function dOt(r,e){var t,n,i=f3,a=!1,o=!1,s=e,l=0,u=!1,f,c;if(c=r.input.charCodeAt(r.position),c===124)n=!1;else if(c===62)n=!0;else return!1;for(r.kind="scalar",r.result="";c!==0;)if(c=r.input.charCodeAt(++r.position),c===43||c===45)f3===i?i=c===43?h7:tOt:Br(r,"repeat of a chomping mode identifier");else if((f=oOt(c))>=0)f===0?Br(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Br(r,"repeat of an indentation width identifier"):(s=e+f-1,o=!0);else break;if(My(c)){do c=r.input.charCodeAt(++r.position);while(My(c));if(c===35)do c=r.input.charCodeAt(++r.position);while(!$c(c)&&c!==0)}for(;c!==0;){for(c3(r),r.lineIndent=0,c=r.input.charCodeAt(r.position);(!o||r.lineIndents&&(s=r.lineIndent),$c(c)){l++;continue}if(r.lineIndente)&&l!==0)Br(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(m&&(o=r.line,s=r.lineStart,l=r.position),ub(r,e,GI,!0,i)&&(m?p=r.result:v=r.result),m||(lb(r,c,h,d,p,v,o,s,l),d=p=v=null),ao(r,!0,-1),x=r.input.charCodeAt(r.position)),(r.line===a||r.lineIndent>e)&&x!==0)Br(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),c=0,h=r.implicitTypes.length;c"),r.result!==null&&p.kind!==r.kind&&Br(r,"unacceptable node kind for !<"+r.tag+'> tag; it should be "'+p.kind+'", not "'+r.kind+'"'),p.resolve(r.result,r.tag)?(r.result=p.construct(r.result,r.tag),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):Br(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")}return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||f}function yOt(r){var e=r.position,t,n,i,a=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap=Object.create(null),r.anchorMap=Object.create(null);(o=r.input.charCodeAt(r.position))!==0&&(ao(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(a=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!El(o);)o=r.input.charCodeAt(++r.position);for(n=r.input.slice(t,r.position),i=[],n.length<1&&Br(r,"directive name must not be less than one character in length");o!==0;){for(;My(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!$c(o));break}if($c(o))break;for(t=r.position;o!==0&&!El(o);)o=r.input.charCodeAt(++r.position);i.push(r.input.slice(t,r.position))}o!==0&&c3(r),Uv.call(b7,n)?b7[n](r,n,i):zI(r,'unknown document directive "'+n+'"')}if(ao(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,ao(r,!0,-1)):a&&Br(r,"directives end mark is expected"),ub(r,r.lineIndent-1,GI,!1,!0),ao(r,!0,-1),r.checkLineBreaks&&rOt.test(r.input.slice(e,r.position))&&zI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&UI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,ao(r,!0,-1));return}if(r.position=55296&&t<=56319&&e+1=56320&&n<=57343)?(t-55296)*1024+n-56320+65536:t}function T7(r){var e=/^\n* /;return e.test(r)}var I7=1,h3=2,L7=3,O7=4,ob=5;function NOt(r,e,t,n,i,a,o,s){var l,u=0,f=null,c=!1,h=!1,d=n!==-1,p=-1,v=kOt(hw(r,0))&&ROt(hw(r,r.length-1));if(e||o)for(l=0;l=65536?l+=2:l++){if(u=hw(r,l),!cw(u))return ob;v=v&&M7(u,f,s),f=u}else{for(l=0;l=65536?l+=2:l++){if(u=hw(r,l),u===uw)c=!0,d&&(h=h||l-p-1>n&&r[p+1]!==" ",p=l);else if(!cw(u))return ob;v=v&&M7(u,f,s),f=u}h=h||d&&l-p-1>n&&r[p+1]!==" "}return!c&&!h?v&&!o&&!i(r)?I7:a===fw?ob:h3:t>9&&T7(r)?ob:o?a===fw?ob:h3:h?O7:L7}function FOt(r,e,t,n,i){r.dump=function(){if(e.length===0)return r.quotingType===fw?'""':"''";if(!r.noCompatMode&&(MOt.indexOf(e)!==-1||TOt.test(e)))return r.quotingType===fw?'"'+e+'"':"'"+e+"'";var a=r.indent*Math.max(1,t),o=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-a),s=n||r.flowLevel>-1&&t>=r.flowLevel;function l(u){return POt(r,u)}switch(NOt(e,s,r.indent,o,l,r.quotingType,r.forceQuotes&&!n,i)){case I7:return e;case h3:return"'"+e.replace(/'/g,"''")+"'";case L7:return"|"+D7(e,r.indent)+P7(E7(e,a));case O7:return">"+D7(e,r.indent)+P7(E7(BOt(e,o),a));case ob:return'"'+GOt(e)+'"';default:throw new zs("impossible error: invalid scalar style")}}()}function D7(r,e){var t=T7(r)?String(e):"",n=r[r.length-1]===` +`&&(a+=t),a+=o;return a}function v3(r,e){return` +`+_o.repeat(" ",r.indent*e)}function HOt(r,e){var t,n,i;for(t=0,n=r.implicitTypes.length;t=55296&&t<=56319&&e+1=56320&&n<=57343)?(t-55296)*1024+n-56320+65536:t}function R7(r){var e=/^\n* /;return e.test(r)}var N7=1,m3=2,F7=3,B7=4,fb=5;function qOt(r,e,t,n,i,a,o,s){var l,u=0,f=null,c=!1,h=!1,d=n!==-1,p=-1,v=YOt(vw(r,0))&&XOt(vw(r,r.length-1));if(e||o)for(l=0;l=65536?l+=2:l++){if(u=vw(r,l),!pw(u))return fb;v=v&&k7(u,f,s),f=u}else{for(l=0;l=65536?l+=2:l++){if(u=vw(r,l),u===hw)c=!0,d&&(h=h||l-p-1>n&&r[p+1]!==" ",p=l);else if(!pw(u))return fb;v=v&&k7(u,f,s),f=u}h=h||d&&l-p-1>n&&r[p+1]!==" "}return!c&&!h?v&&!o&&!i(r)?N7:a===dw?fb:m3:t>9&&R7(r)?fb:o?a===dw?fb:m3:h?B7:F7}function KOt(r,e,t,n,i){r.dump=function(){if(e.length===0)return r.quotingType===dw?'""':"''";if(!r.noCompatMode&&(GOt.indexOf(e)!==-1||zOt.test(e)))return r.quotingType===dw?'"'+e+'"':"'"+e+"'";var a=r.indent*Math.max(1,t),o=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-a),s=n||r.flowLevel>-1&&t>=r.flowLevel;function l(u){return HOt(r,u)}switch(qOt(e,s,r.indent,o,l,r.quotingType,r.forceQuotes&&!n,i)){case N7:return e;case m3:return"'"+e.replace(/'/g,"''")+"'";case F7:return"|"+G7(e,r.indent)+z7(D7(e,a));case B7:return">"+G7(e,r.indent)+z7(D7(ZOt(e,o),a));case fb:return'"'+$Ot(e)+'"';default:throw new Us("impossible error: invalid scalar style")}}()}function G7(r,e){var t=R7(r)?String(e):"",n=r[r.length-1]===` `,i=n&&(r[r.length-2]===` `||r===` `),a=i?"+":n?"":"-";return t+a+` -`}function P7(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function BOt(r,e){for(var t=/(\n+)([^\n]*)/g,n=function(){var u=r.indexOf(` -`);return u=u!==-1?u:r.length,t.lastIndex=u,k7(r.slice(0,u),e)}(),i=r[0]===` +`}function z7(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function ZOt(r,e){for(var t=/(\n+)([^\n]*)/g,n=function(){var u=r.indexOf(` +`);return u=u!==-1?u:r.length,t.lastIndex=u,U7(r.slice(0,u),e)}(),i=r[0]===` `||r[0]===" ",a,o;o=t.exec(r);){var s=o[1],l=o[2];a=l[0]===" ",n+=s+(!i&&!a&&l!==""?` -`:"")+k7(l,e),i=a}return n}function k7(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,n,i=0,a,o=0,s=0,l="";n=t.exec(r);)s=n.index,s-i>e&&(a=o>i?o:s,l+=` +`:"")+U7(l,e),i=a}return n}function U7(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,n,i=0,a,o=0,s=0,l="";n=t.exec(r);)s=n.index,s-i>e&&(a=o>i?o:s,l+=` `+r.slice(i,a),i=a+1),o=s;return l+=` `,r.length-i>e&&o>i?l+=r.slice(i,o)+` -`+r.slice(o+1):l+=r.slice(i),l.slice(1)}function GOt(r){for(var e="",t=0,n,i=0;i=65536?i+=2:i++)t=hw(r,i),n=_s[t],!n&&cw(t)?(e+=r[i],t>=65536&&(e+=r[i+1])):e+=n||LOt(t);return e}function zOt(r,e,t){var n="",i=r.tag,a,o,s;for(a=0,o=t.length;a1024&&(f+="? "),f+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),!!Qd(r,e,u,!1,!1)&&(f+=r.dump,n+=f));r.tag=i,r.dump="{"+n+"}"}function jOt(r,e,t,n){var i="",a=r.tag,o=Object.keys(t),s,l,u,f,c,h;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new zs("sortKeys must be a boolean or a function");for(s=0,l=o.length;s1024,c&&(r.dump&&uw===r.dump.charCodeAt(0)?h+="?":h+="? "),h+=r.dump,c&&(h+=c3(r,e)),!!Qd(r,e+1,f,!0,c)&&(r.dump&&uw===r.dump.charCodeAt(0)?h+=":":h+=": ",h+=r.dump,i+=h));r.tag=a,r.dump=i||"{}"}function N7(r,e,t){var n,i,a,o,s,l;for(i=t?r.explicitTypes:r.implicitTypes,a=0,o=i.length;a tag resolver accepts not "'+l+'" style');r.dump=n}return!0}return!1}function Qd(r,e,t,n,i,a,o){r.tag=null,r.dump=t,N7(r,t,!1)||N7(r,t,!0);var s=y7.call(r.dump),l=n,u;n&&(n=r.flowLevel<0||r.flowLevel>e);var f=s==="[object Object]"||s==="[object Array]",c,h;if(f&&(c=r.duplicates.indexOf(t),h=c!==-1),(r.tag!==null&&r.tag!=="?"||h||r.indent!==2&&e>0)&&(i=!1),h&&r.usedDuplicates[c])r.dump="*ref_"+c;else{if(f&&h&&!r.usedDuplicates[c]&&(r.usedDuplicates[c]=!0),s==="[object Object]")n&&Object.keys(r.dump).length!==0?(jOt(r,e,r.dump,i),h&&(r.dump="&ref_"+c+r.dump)):(UOt(r,e,r.dump),h&&(r.dump="&ref_"+c+" "+r.dump));else if(s==="[object Array]")n&&r.dump.length!==0?(r.noArrayIndent&&!o&&e>0?R7(r,e-1,r.dump,i):R7(r,e,r.dump,i),h&&(r.dump="&ref_"+c+r.dump)):(zOt(r,e,r.dump),h&&(r.dump="&ref_"+c+" "+r.dump));else if(s==="[object String]")r.tag!=="?"&&FOt(r,r.dump,e,a,l);else{if(s==="[object Undefined]")return!1;if(r.skipInvalid)return!1;throw new zs("unacceptable kind of an object to dump "+s)}r.tag!==null&&r.tag!=="?"&&(u=encodeURI(r.tag[0]==="!"?r.tag.slice(1):r.tag).replace(/!/g,"%21"),r.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",r.dump=u+" "+r.dump)}return!0}function WOt(r,e){var t=[],n=[],i,a;for(d3(r,t,n),i=0,a=n.length;i2&&(o.children=arguments.length>3?dw.call(arguments,2):t),typeof r=="function"&&r.defaultProps!=null)for(a in r.defaultProps)o[a]===void 0&&(o[a]=r.defaultProps[a]);return vw(r,o,n,i,null)}function vw(r,e,t,n,i){var a={type:r,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i==null?++B7:i};return i==null&&Rr.vnode!=null&&Rr.vnode(a),a}function v3(){return{current:null}}function Ss(r){return r.children}function Vu(r,e){this.props=r,this.context=e}function sb(r,e){if(e==null)return r.__?sb(r.__,r.__.__k.indexOf(r)+1):null;for(var t;e0?vw(d.type,d.props,d.key,null,d.__v):d)!=null){if(d.__=t,d.__b=t.__b+1,(h=g[f])===null||h&&d.key==h.key&&d.type===h.type)g[f]=void 0;else for(c=0;c2&&(o.children=arguments.length>3?dw.call(arguments,2):t),vw(r.type,o,n||r.key,i||r.ref,null)}function x3(r,e){var t={__c:e="__cC"+U7++,__:r,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,a;return this.getChildContext||(i=[],(a={})[e]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(m3)},this.sub=function(o){i.push(o);var s=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),s&&s.call(o)}}),n.children}};return t.Provider.__=t.Consumer.contextType=t}dw=j7.slice,Rr={__e:function(r,e){for(var t,n,i;e=e.__;)if((t=e.__c)&&!t.__)try{if((n=t.constructor)&&n.getDerivedStateFromError!=null&&(t.setState(n.getDerivedStateFromError(r)),i=t.__d),t.componentDidCatch!=null&&(t.componentDidCatch(r),i=t.__d),i)return t.__E=t}catch(a){r=a}throw r}},B7=0,lDt=function(r){return r!=null&&r.constructor===void 0},Vu.prototype.setState=function(r,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Jd({},this.state),typeof r=="function"&&(r=r(Jd({},t),this.props)),r&&Jd(t,r),r!=null&&this.__v&&(e&&this.__h.push(e),m3(this))},Vu.prototype.forceUpdate=function(r){this.__v&&(this.__e=!0,r&&this.__h.push(r),m3(this))},Vu.prototype.render=Ss,pw=[],G7=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,UI.__r=0,U7=0;var ub,Us,eq,fb=0,b3=[],rq=Rr.__b,nq=Rr.__r,iq=Rr.diffed,aq=Rr.__c,oq=Rr.unmount;function mw(r,e){Rr.__h&&Rr.__h(Us,r,fb||e),fb=0;var t=Us.__H||(Us.__H={__:[],__h:[]});return r>=t.__.length&&t.__.push({}),t.__[r]}function WI(r){return fb=1,_3(fq,r)}function _3(r,e,t){var n=mw(ub++,2);return n.t=r,n.__c||(n.__=[t?t(e):fq(void 0,e),function(i){var a=n.t(n.__[0],i);n.__[0]!==a&&(n.__=[a,n.__[1]],n.__c.setState({}))}],n.__c=Us),n.__}function Pe(r,e){var t=mw(ub++,3);!Rr.__s&&w3(t.__H,e)&&(t.__=r,t.__H=e,Us.__H.__h.push(t))}function S3(r,e){var t=mw(ub++,4);!Rr.__s&&w3(t.__H,e)&&(t.__=r,t.__H=e,Us.__h.push(t))}function Na(r){return fb=5,VI(function(){return{current:r}},[])}function ur(r,e,t){fb=6,S3(function(){typeof r=="function"?r(e()):r&&(r.current=e())},t==null?t:t.concat(r))}function VI(r,e){var t=mw(ub++,7);return w3(t.__H,e)&&(t.__=r(),t.__H=e,t.__h=r),t.__}function HI(r,e){return fb=8,VI(function(){return r},e)}function sq(r){var e=Us.context[r.__c],t=mw(ub++,9);return t.c=r,e?(t.__==null&&(t.__=!0,e.sub(Us)),e.props.value):r.__}function lq(r,e){Rr.useDebugValue&&Rr.useDebugValue(e?e(r):r)}function dDt(){var r;for(b3.sort(function(e,t){return e.__v.__b-t.__v.__b});r=b3.pop();)if(r.__P)try{r.__H.__h.forEach(YI),r.__H.__h.forEach(C3),r.__H.__h=[]}catch(e){r.__H.__h=[],Rr.__e(e,r.__v)}}Rr.__b=function(r){Us=null,rq&&rq(r)},Rr.__r=function(r){nq&&nq(r),ub=0;var e=(Us=r.__c).__H;e&&(e.__h.forEach(YI),e.__h.forEach(C3),e.__h=[])},Rr.diffed=function(r){iq&&iq(r);var e=r.__c;e&&e.__H&&e.__H.__h.length&&(b3.push(e)!==1&&eq===Rr.requestAnimationFrame||((eq=Rr.requestAnimationFrame)||function(t){var n,i=function(){clearTimeout(a),uq&&cancelAnimationFrame(n),setTimeout(t)},a=setTimeout(i,100);uq&&(n=requestAnimationFrame(i))})(dDt)),Us=null},Rr.__c=function(r,e){e.some(function(t){try{t.__h.forEach(YI),t.__h=t.__h.filter(function(n){return!n.__||C3(n)})}catch(n){e.some(function(i){i.__h&&(i.__h=[])}),e=[],Rr.__e(n,t.__v)}}),aq&&aq(r,e)},Rr.unmount=function(r){oq&&oq(r);var e,t=r.__c;t&&t.__H&&(t.__H.__.forEach(function(n){try{YI(n)}catch(i){e=i}}),e&&Rr.__e(e,t.__v))};var uq=typeof requestAnimationFrame=="function";function YI(r){var e=Us,t=r.__c;typeof t=="function"&&(r.__c=void 0,t()),Us=e}function C3(r){var e=Us;r.__c=r.__(),Us=e}function w3(r,e){return!r||r.length!==e.length||e.some(function(t,n){return t!==r[n]})}function fq(r,e){return typeof e=="function"?e(r):e}function cq(r,e){for(var t in e)r[t]=e[t];return r}function E3(r,e){for(var t in r)if(t!=="__source"&&!(t in e))return!0;for(var n in e)if(n!=="__source"&&r[n]!==e[n])return!0;return!1}function A3(r){this.props=r}function pDt(r,e){function t(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),e?!e(this.props,i)||!o:E3(this.props,i)}function n(i){return this.shouldComponentUpdate=t,si(r,i)}return n.displayName="Memo("+(r.displayName||r.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(A3.prototype=new Vu).isPureReactComponent=!0,A3.prototype.shouldComponentUpdate=function(r,e){return E3(this.props,r)||E3(this.state,e)};var hq=Rr.__b;Rr.__b=function(r){r.type&&r.type.__f&&r.ref&&(r.props.ref=r.ref,r.ref=null),hq&&hq(r)};var vDt=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function cr(r){function e(t,n){var i=cq({},t);return delete i.ref,r(i,(n=t.ref||n)&&(typeof n!="object"||"current"in n)?n:null)}return e.$$typeof=vDt,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(r.displayName||r.name)+")",e}var dq=function(r,e){return r==null?null:Qc(Qc(r).map(e))},mDt={map:dq,forEach:dq,count:function(r){return r?Qc(r).length:0},only:function(r){var e=Qc(r);if(e.length!==1)throw"Children.only";return e[0]},toArray:Qc},gDt=Rr.__e;Rr.__e=function(r,e,t){if(r.then){for(var n,i=e;i=i.__;)if((n=i.__c)&&n.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),n.__c(r,e)}gDt(r,e,t)};var pq=Rr.unmount;function XI(){this.__u=0,this.t=null,this.__b=null}function vq(r){var e=r.__.__c;return e&&e.__e&&e.__e(r)}function yDt(r){var e,t,n;function i(a){if(e||(e=r()).then(function(o){t=o.default||o},function(o){n=o}),n)throw n;if(!t)throw e;return si(t,a)}return i.displayName="Lazy",i.__f=!0,i}function gw(){this.u=null,this.o=null}Rr.unmount=function(r){var e=r.__c;e&&e.__R&&e.__R(),e&&r.__h===!0&&(r.type=null),pq&&pq(r)},(XI.prototype=new Vu).__c=function(r,e){var t=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(t);var i=vq(n.__v),a=!1,o=function(){a||(a=!0,t.__R=null,i?i(s):s())};t.__R=o;var s=function(){if(!--n.__u){if(n.state.__e){var u=n.state.__e;n.__v.__k[0]=function c(h,d,p){return h&&(h.__v=null,h.__k=h.__k&&h.__k.map(function(v){return c(v,d,p)}),h.__c&&h.__c.__P===d&&(h.__e&&p.insertBefore(h.__e,h.__d),h.__c.__e=!0,h.__c.__P=p)),h}(u,u.__c.__P,u.__c.__O)}var f;for(n.setState({__e:n.__b=null});f=n.t.pop();)f.forceUpdate()}},l=e.__h===!0;n.__u++||l||n.setState({__e:n.__b=n.__v.__k[0]}),r.then(o,o)},XI.prototype.componentWillUnmount=function(){this.t=[]},XI.prototype.render=function(r,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function a(o,s,l){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(u){typeof u.__c=="function"&&u.__c()}),o.__c.__H=null),(o=cq({},o)).__c!=null&&(o.__c.__P===l&&(o.__c.__P=s),o.__c=null),o.__k=o.__k&&o.__k.map(function(u){return a(u,s,l)})),o}(this.__b,t,n.__O=n.__P)}this.__b=null}var i=e.__e&&si(Ss,null,r.fallback);return i&&(i.__h=null),[si(Ss,null,e.__e?null:r.children),i]};var mq=function(r,e,t){if(++t[1]===t[0]&&r.o.delete(e),r.props.revealOrder&&(r.props.revealOrder[0]!=="t"||!r.o.size))for(t=r.u;t;){for(;t.length>3;)t.pop()();if(t[1]>>1,1),e.i.removeChild(n)}}),lb(si(xDt,{context:e.context},r.__v),e.l)):e.l&&e.componentWillUnmount()}function _Dt(r,e){return si(bDt,{__v:r,i:e})}(gw.prototype=new Vu).__e=function(r){var e=this,t=vq(e.__v),n=e.o.get(r);return n[0]++,function(i){var a=function(){e.props.revealOrder?(n.push(i),mq(e,r,n)):i()};t?t(a):a()}},gw.prototype.render=function(r){this.u=null,this.o=new Map;var e=Qc(r.children);r.revealOrder&&r.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return r.children},gw.prototype.componentDidUpdate=gw.prototype.componentDidMount=function(){var r=this;this.o.forEach(function(e,t){mq(r,t,e)})};var gq=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,SDt=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,CDt=typeof document!="undefined",wDt=function(r){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(r)};function qI(r,e,t){return e.__k==null&&(e.textContent=""),lb(r,e),typeof t=="function"&&t(),r?r.__c:null}function EDt(r,e,t){return y3(r,e),typeof t=="function"&&t(),r?r.__c:null}Vu.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(r){Object.defineProperty(Vu.prototype,r,{configurable:!0,get:function(){return this["UNSAFE_"+r]},set:function(e){Object.defineProperty(this,r,{configurable:!0,writable:!0,value:e})}})});var yq=Rr.event;function ADt(){}function MDt(){return this.cancelBubble}function TDt(){return this.defaultPrevented}Rr.event=function(r){return yq&&(r=yq(r)),r.persist=ADt,r.isPropagationStopped=MDt,r.isDefaultPrevented=TDt,r.nativeEvent=r};var xq,bq={configurable:!0,get:function(){return this.class}},_q=Rr.vnode;Rr.vnode=function(r){var e=r.type,t=r.props,n=t;if(typeof e=="string"){var i=e.indexOf("-")===-1;for(var a in n={},t){var o=t[a];CDt&&a==="children"&&e==="noscript"||a==="value"&&"defaultValue"in t&&o==null||(a==="defaultValue"&&"value"in t&&t.value==null?a="value":a==="download"&&o===!0?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+e)&&!wDt(t.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp)/.test(a)?a=a.toLowerCase():i&&SDt.test(a)?a=a.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),n[a]=o)}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=Qc(t.children).forEach(function(s){s.props.selected=n.value.indexOf(s.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=Qc(t.children).forEach(function(s){s.props.selected=n.multiple?n.defaultValue.indexOf(s.props.value)!=-1:n.defaultValue==s.props.value})),r.props=n,t.class!=t.className&&(bq.enumerable="className"in t,t.className!=null&&(n.class=t.className),Object.defineProperty(n,"className",bq))}r.$$typeof=gq,_q&&_q(r)};var Sq=Rr.__r;Rr.__r=function(r){Sq&&Sq(r),xq=r.__c};var IDt={ReactCurrentDispatcher:{current:{readContext:function(r){return xq.__n[r.__c].props.value}}}};function LDt(r){return si.bind(null,r)}function Cq(r){return!!r&&r.$$typeof===gq}function ODt(r){return Cq(r)?tq.apply(null,arguments):r}function M3(r){return!!r.__k&&(lb(null,r),!0)}function DDt(r){return r&&(r.base||r.nodeType===1&&r)||null}var PDt=function(r,e){return r(e)},kDt=function(r,e){return r(e)};var ht={useState:WI,useReducer:_3,useEffect:Pe,useLayoutEffect:S3,useRef:Na,useImperativeHandle:ur,useMemo:VI,useCallback:HI,useContext:sq,useDebugValue:lq,version:"17.0.2",Children:mDt,render:qI,hydrate:EDt,unmountComponentAtNode:M3,createPortal:_Dt,createElement:si,createContext:x3,createFactory:LDt,cloneElement:ODt,createRef:v3,Fragment:Ss,isValidElement:Cq,findDOMNode:DDt,Component:Vu,PureComponent:A3,memo:pDt,forwardRef:cr,flushSync:kDt,unstable_batchedUpdates:PDt,StrictMode:Ss,Suspense:XI,SuspenseList:gw,lazy:yDt,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:IDt};var LF=U(require("obsidian"));var JE={};Dn(JE,{Action:()=>Tr,BRUSH_FILTER_EVENTS:()=>ls,Chart:()=>_E,ComponentController:()=>Bl,Coordinate:()=>hh,DIRECTION:()=>xe,ELEMENT_RANGE_HIGHLIGHT_EVENTS:()=>nf,Element:()=>e1,Event:()=>zn,Facet:()=>Hs,Geometry:()=>Uo,GeometryLabel:()=>Ch,Interaction:()=>vE,InteractionAction:()=>Tr,LAYER:()=>di,Scale:()=>qu,TooltipController:()=>Jb,Util:()=>ea,VERSION:()=>f6t,VIEW_LIFE_CIRCLE:()=>wr,View:()=>bE,getActionClass:()=>rc,getAnimation:()=>SE,getEngine:()=>a2,getFacet:()=>DL,getGeometryLabel:()=>XL,getGeometryLabelLayout:()=>qL,getInteraction:()=>xU,getShapeFactory:()=>CE,getTheme:()=>Qu,registerAction:()=>nr,registerAnimation:()=>Es,registerComponentController:()=>Ju,registerEngine:()=>_w,registerFacet:()=>fp,registerGeometry:()=>Fl,registerGeometryLabel:()=>gp,registerGeometryLabelLayout:()=>ss,registerInteraction:()=>xr,registerShape:()=>or,registerShapeFactory:()=>zo,registerTheme:()=>n0});var Vq=U(yw()),{__extends:H,__assign:E,__rest:rr,__decorate:qme,__param:Kme,__metadata:Zme,__awaiter:Xf,__generator:qf,__exportStar:$me,__createBinding:Qme,__values:Jme,__read:tge,__spread:ege,__spreadArrays:dn,__spreadArray:mn,__await:rge,__asyncGenerator:nge,__asyncDelegator:ige,__asyncValues:age,__makeTemplateObject:oge,__importStar:sge,__importDefault:lge,__classPrivateFieldGet:uge,__classPrivateFieldSet:fge}=Vq.default;var Qb=U(q());var di;(function(r){r.FORE="fore",r.MID="mid",r.BG="bg"})(di||(di={}));var xe;(function(r){r.TOP="top",r.TOP_LEFT="top-left",r.TOP_RIGHT="top-right",r.RIGHT="right",r.RIGHT_TOP="right-top",r.RIGHT_BOTTOM="right-bottom",r.LEFT="left",r.LEFT_TOP="left-top",r.LEFT_BOTTOM="left-bottom",r.BOTTOM="bottom",r.BOTTOM_LEFT="bottom-left",r.BOTTOM_RIGHT="bottom-right",r.RADIUS="radius",r.CIRCLE="circle",r.NONE="none"})(xe||(xe={}));var la;(function(r){r.AXIS="axis",r.GRID="grid",r.LEGEND="legend",r.TOOLTIP="tooltip",r.ANNOTATION="annotation",r.SLIDER="slider",r.SCROLLBAR="scrollbar",r.OTHER="other"})(la||(la={}));var Uv={FORE:3,MID:2,BG:1},wr;(function(r){r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_PAINT="beforepaint",r.AFTER_PAINT="afterpaint",r.BEFORE_CHANGE_DATA="beforechangedata",r.AFTER_CHANGE_DATA="afterchangedata",r.BEFORE_CLEAR="beforeclear",r.AFTER_CLEAR="afterclear",r.BEFORE_DESTROY="beforedestroy",r.BEFORE_CHANGE_SIZE="beforechangesize",r.AFTER_CHANGE_SIZE="afterchangesize"})(wr||(wr={}));var jv;(function(r){r.BEFORE_DRAW_ANIMATE="beforeanimate",r.AFTER_DRAW_ANIMATE="afteranimate"})(jv||(jv={}));var js;(function(r){r.MOUSE_ENTER="plot:mouseenter",r.MOUSE_DOWN="plot:mousedown",r.MOUSE_MOVE="plot:mousemove",r.MOUSE_UP="plot:mouseup",r.MOUSE_LEAVE="plot:mouseleave",r.TOUCH_START="plot:touchstart",r.TOUCH_MOVE="plot:touchmove",r.TOUCH_END="plot:touchend",r.TOUCH_CANCEL="plot:touchcancel",r.CLICK="plot:click",r.DBLCLICK="plot:dblclick",r.CONTEXTMENU="plot:contextmenu",r.LEAVE="plot:leave",r.ENTER="plot:enter"})(js||(js={}));var bw;(function(r){r.ACTIVE="active",r.INACTIVE="inactive",r.SELECTED="selected",r.DEFAULT="default"})(bw||(bw={}));var Iy=["color","shape","size"],Tn="_origin",$5=1,Q5=1,J5=.25;var AZ={};function a2(r){var e=AZ[r];if(!e)throw new Error("G engine '".concat(r,"' is not exist, please register it at first."));return e}function _w(r,e){AZ[r]=e}function Ws(r,e,t){if(r){if(typeof r.addEventListener=="function")return r.addEventListener(e,t,!1),{remove:function(){r.removeEventListener(e,t,!1)}};if(typeof r.attachEvent=="function")return r.attachEvent("on"+e,t),{remove:function(){r.detachEvent("on"+e,t)}}}}var Sw,t4,MZ,e4;function CBt(){Sw=document.createElement("table"),t4=document.createElement("tr"),MZ=/^\s*<(\w+|!)[^>]*>/,e4={tr:document.createElement("tbody"),tbody:Sw,thead:Sw,tfoot:Sw,td:t4,th:t4,"*":document.createElement("div")}}function en(r){Sw||CBt();var e=MZ.test(r)&&RegExp.$1;(!e||!(e in e4))&&(e="*");var t=e4[e];r=r.replace(/(^\s*)|(\s*$)/g,""),t.innerHTML=""+r;var n=t.childNodes[0];return t.removeChild(n),n}function io(r,e,t){var n;try{n=window.getComputedStyle?window.getComputedStyle(r,null)[e]:r.style[e]}catch(i){}finally{n=n===void 0?t:n}return n}function o2(r,e){var t=io(r,"height",e);return t==="auto"&&(t=r.offsetHeight),parseFloat(t)}function s2(r,e){var t=o2(r,e),n=parseFloat(io(r,"borderTopWidth"))||0,i=parseFloat(io(r,"paddingTop"))||0,a=parseFloat(io(r,"paddingBottom"))||0,o=parseFloat(io(r,"borderBottomWidth"))||0,s=parseFloat(io(r,"marginTop"))||0,l=parseFloat(io(r,"marginBottom"))||0;return t+n+o+i+a+s+l}function l2(r,e){var t=io(r,"width",e);return t==="auto"&&(t=r.offsetWidth),parseFloat(t)}function u2(r,e){var t=l2(r,e),n=parseFloat(io(r,"borderLeftWidth"))||0,i=parseFloat(io(r,"paddingLeft"))||0,a=parseFloat(io(r,"paddingRight"))||0,o=parseFloat(io(r,"borderRightWidth"))||0,s=parseFloat(io(r,"marginRight"))||0,l=parseFloat(io(r,"marginLeft"))||0;return t+n+o+i+a+l+s}function yr(r,e){if(r)for(var t in e)e.hasOwnProperty(t)&&(r.style[t]=e[t]);return r}function wBt(r){var e=getComputedStyle(r);return{width:(r.clientWidth||parseInt(e.width,10))-parseInt(e.paddingLeft,10)-parseInt(e.paddingRight,10),height:(r.clientHeight||parseInt(e.height,10))-parseInt(e.paddingTop,10)-parseInt(e.paddingBottom,10)}}function TZ(r){return typeof r=="number"&&!isNaN(r)}function r4(r,e,t,n){var i=t,a=n;if(e){var o=wBt(r);i=o.width?o.width:i,a=o.height?o.height:a}return{width:Math.max(TZ(i)?i:$5,$5),height:Math.max(TZ(a)?a:Q5,Q5)}}function IZ(r){var e=r.parentNode;e&&e.removeChild(r)}var Qe=U(q());var EBt="*",ABt=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0),this},r.prototype.emit=function(e){for(var t=this,n=[],i=1;in4,fillPath:()=>zBt,fillPathByDiff:()=>s4,formatPath:()=>h2,intersection:()=>NBt,parsePathArray:()=>DZ,parsePathString:()=>Ly,pathToAbsolute:()=>i4,pathToCurve:()=>a4,rectPath:()=>RZ});var Cw=U(q()),ww=` -\v\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029`,TBt=new RegExp("([a-z])["+ww+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+ww+"]*,?["+ww+"]*)+)","ig"),IBt=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+ww+"]*,?["+ww+"]*","ig"),Ly=function(r){if(!r)return null;if((0,Cw.isArray)(r))return r;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},t=[];return String(r).replace(TBt,function(n,i,a){var o=[],s=i.toLowerCase();if(a.replace(IBt,function(l,u){u&&o.push(+u)}),s==="m"&&o.length>2&&(t.push([i].concat(o.splice(0,2))),s="l",i=i==="m"?"l":"L"),s==="o"&&o.length===1&&t.push([i,o[0]]),s==="r")t.push([i].concat(o));else for(;o.length>=e[s]&&(t.push([i].concat(o.splice(0,e[s]))),!!e[s]););return r}),t},n4=function(r,e){for(var t=[],n=0,i=r.length;i-2*!e>n;n+=2){var a=[{x:+r[n-2],y:+r[n-1]},{x:+r[n],y:+r[n+1]},{x:+r[n+2],y:+r[n+3]},{x:+r[n+4],y:+r[n+5]}];e?n?i-4===n?a[3]={x:+r[0],y:+r[1]}:i-2===n&&(a[2]={x:+r[0],y:+r[1]},a[3]={x:+r[2],y:+r[3]}):a[0]={x:+r[i-2],y:+r[i-1]}:i-4===n?a[3]=a[2]:n||(a[0]={x:+r[n],y:+r[n+1]}),t.push(["C",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return t},f2=function(r,e,t,n,i){var a=[];if(i===null&&n===null&&(n=t),r=+r,e=+e,t=+t,n=+n,i!==null){var o=Math.PI/180,s=r+t*Math.cos(-n*o),l=r+t*Math.cos(-i*o),u=e+t*Math.sin(-n*o),f=e+t*Math.sin(-i*o);a=[["M",s,u],["A",t,t,0,+(i-n>180),0,l,f]]}else a=[["M",r,e],["m",0,-n],["a",t,n,0,1,1,0,2*n],["a",t,n,0,1,1,0,-2*n],["z"]];return a},i4=function(r){if(r=Ly(r),!r||!r.length)return[["M",0,0]];var e=[],t=0,n=0,i=0,a=0,o=0,s,l;r[0][0]==="M"&&(t=+r[0][1],n=+r[0][2],i=t,a=n,o++,e[0]=["M",t,n]);for(var u=r.length===3&&r[0][0]==="M"&&r[1][0].toUpperCase()==="R"&&r[2][0].toUpperCase()==="Z",f=void 0,c=void 0,h=o,d=r.length;h1&&(C=Math.sqrt(C),t=C*t,n=C*n);var w=t*t,A=n*n,I=(a===o?-1:1)*Math.sqrt(Math.abs((w*A-w*S*S-A*b*b)/(w*S*S+A*b*b)));m=I*t*S/n+(r+s)/2,g=I*-n*b/t+(e+l)/2,p=Math.asin(((e-g)/n).toFixed(9)),v=Math.asin(((l-g)/n).toFixed(9)),p=rv&&(p=p-Math.PI*2),!o&&v>p&&(v=v-Math.PI*2)}var P=v-p;if(Math.abs(P)>f){var L=v,M=s,O=l;v=p+f*(o&&v>p?1:-1),s=m+t*Math.cos(v),l=g+n*Math.sin(v),h=OZ(s,l,t,n,i,0,o,M,O,[v,L,m,g])}P=v-p;var F=Math.cos(p),k=Math.sin(p),G=Math.cos(v),D=Math.sin(v),N=Math.tan(P/4),z=4/3*t*N,j=4/3*n*N,W=[r,e],J=[r+z*k,e-j*F],et=[s+z*D,l-j*G],lt=[s,l];if(J[0]=2*W[0]-J[0],J[1]=2*W[1]-J[1],u)return[J,et,lt].concat(h);h=[J,et,lt].concat(h).join().split(",");for(var $=[],st=0,_t=h.length;st<_t;st++)$[st]=st%2?x(h[st-1],h[st],c).y:x(h[st],h[st+1],c).x;return $},a4=function(r,e){var t=i4(r),n=e&&i4(e),i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=[],s=[],l="",u="",f,c=function(b,S,C){var w,A;if(!b)return["C",S.x,S.y,S.x,S.y,S.x,S.y];switch(!(b[0]in{T:1,Q:1})&&(S.qx=S.qy=null),b[0]){case"M":S.X=b[1],S.Y=b[2];break;case"A":b=["C"].concat(OZ.apply(0,[S.x,S.y].concat(b.slice(1))));break;case"S":C==="C"||C==="S"?(w=S.x*2-S.bx,A=S.y*2-S.by):(w=S.x,A=S.y),b=["C",w,A].concat(b.slice(1));break;case"T":C==="Q"||C==="T"?(S.qx=S.x*2-S.qx,S.qy=S.y*2-S.qy):(S.qx=S.x,S.qy=S.y),b=["C"].concat(LZ(S.x,S.y,S.qx,S.qy,b[1],b[2]));break;case"Q":S.qx=b[1],S.qy=b[2],b=["C"].concat(LZ(S.x,S.y,b[1],b[2],b[3],b[4]));break;case"L":b=["C"].concat(c2(S.x,S.y,b[1],b[2]));break;case"H":b=["C"].concat(c2(S.x,S.y,b[1],S.y));break;case"V":b=["C"].concat(c2(S.x,S.y,S.x,b[1]));break;case"Z":b=["C"].concat(c2(S.x,S.y,S.X,S.Y));break;default:break}return b},h=function(b,S){if(b[S].length>7){b[S].shift();for(var C=b[S];C.length;)o[S]="A",n&&(s[S]="A"),b.splice(S++,0,["C"].concat(C.splice(0,6)));b.splice(S,1),f=Math.max(t.length,n&&n.length||0)}},d=function(b,S,C,w,A){b&&S&&b[A][0]==="M"&&S[A][0]!=="M"&&(S.splice(A,0,["M",w.x,w.y]),C.bx=0,C.by=0,C.x=b[A][1],C.y=b[A][2],f=Math.max(t.length,n&&n.length||0))};f=Math.max(t.length,n&&n.length||0);for(var p=0;p1?1:l<0?0:l;for(var u=l/2,f=12,c=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,p=0;p0&&d<1&&l.push(d);continue}var v=c*c-4*h*f,m=Math.sqrt(v);if(!(v<0)){var g=(-c+m)/(2*f);g>0&&g<1&&l.push(g);var x=(-c-m)/(2*f);x>0&&x<1&&l.push(x)}}for(var b=l.length,S=b,C;b--;)d=l[b],C=1-d,u[0][b]=C*C*C*r+3*C*C*d*t+3*C*d*d*i+d*d*d*o,u[1][b]=C*C*C*e+3*C*C*d*n+3*C*d*d*a+d*d*d*s;return u[0][S]=r,u[1][S]=e,u[0][S+1]=o,u[1][S+1]=s,u[0].length=u[1].length=S+2,{min:{x:Math.min.apply(0,u[0]),y:Math.min.apply(0,u[1])},max:{x:Math.max.apply(0,u[0]),y:Math.max.apply(0,u[1])}}},DBt=function(r,e,t,n,i,a,o,s){if(!(Math.max(r,t)Math.max(i,o)||Math.max(e,n)Math.max(a,s))){var l=(r*n-e*t)*(i-o)-(r-t)*(i*s-a*o),u=(r*n-e*t)*(a-s)-(e-n)*(i*s-a*o),f=(r-t)*(a-s)-(e-n)*(i-o);if(!!f){var c=l/f,h=u/f,d=+c.toFixed(2),p=+h.toFixed(2);if(!(d<+Math.min(r,t).toFixed(2)||d>+Math.max(r,t).toFixed(2)||d<+Math.min(i,o).toFixed(2)||d>+Math.max(i,o).toFixed(2)||p<+Math.min(e,n).toFixed(2)||p>+Math.max(e,n).toFixed(2)||p<+Math.min(a,s).toFixed(2)||p>+Math.max(a,s).toFixed(2)))return{x:c,y:h}}}},Vv=function(r,e,t){return e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height},RZ=function(r,e,t,n,i){if(i)return[["M",+r+ +i,e],["l",t-i*2,0],["a",i,i,0,0,1,i,i],["l",0,n-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-t,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-n],["a",i,i,0,0,1,i,-i],["z"]];var a=[["M",r,e],["l",t,0],["l",0,n],["l",-t,0],["z"]];return a.parsePathArray=DZ,a},o4=function(r,e,t,n){return r===null&&(r=e=t=n=0),e===null&&(e=r.y,t=r.width,n=r.height,r=r.x),{x:r,y:e,width:t,w:t,height:n,h:n,x2:r+t,y2:e+n,cx:r+t/2,cy:e+n/2,r1:Math.min(t,n)/2,r2:Math.max(t,n)/2,r0:Math.sqrt(t*t+n*n)/2,path:RZ(r,e,t,n),vb:[r,e,t,n].join(" ")}},PBt=function(r,e){return r=o4(r),e=o4(e),Vv(e,r.x,r.y)||Vv(e,r.x2,r.y)||Vv(e,r.x,r.y2)||Vv(e,r.x2,r.y2)||Vv(r,e.x,e.y)||Vv(r,e.x2,e.y)||Vv(r,e.x,e.y2)||Vv(r,e.x2,e.y2)||(r.xe.x||e.xr.x)&&(r.ye.y||e.yr.y)},NZ=function(r,e,t,n,i,a,o,s){(0,Cw.isArray)(r)||(r=[r,e,t,n,i,a,o,s]);var l=OBt.apply(null,r);return o4(l.min.x,l.min.y,l.max.x-l.min.x,l.max.y-l.min.y)},FZ=function(r,e,t,n,i,a,o,s,l){var u=1-l,f=Math.pow(u,3),c=Math.pow(u,2),h=l*l,d=h*l,p=f*r+c*3*l*t+u*3*l*l*i+d*o,v=f*e+c*3*l*n+u*3*l*l*a+d*s,m=r+2*l*(t-r)+h*(i-2*t+r),g=e+2*l*(n-e)+h*(a-2*n+e),x=t+2*l*(i-t)+h*(o-2*i+t),b=n+2*l*(a-n)+h*(s-2*a+n),S=u*r+l*t,C=u*e+l*n,w=u*i+l*o,A=u*a+l*s,I=90-Math.atan2(m-x,g-b)*180/Math.PI;return{x:p,y:v,m:{x:m,y:g},n:{x,y:b},start:{x:S,y:C},end:{x:w,y:A},alpha:I}},kBt=function(r,e,t){var n=NZ(r),i=NZ(e);if(!PBt(n,i))return t?0:[];for(var a=kZ.apply(0,r),o=kZ.apply(0,e),s=~~(a/8),l=~~(o/8),u=[],f=[],c={},h=t?0:[],d=0;d=0&&A<=1&&I>=0&&I<=1&&(t?h+=1:h.push({x:w.x,y:w.y,t1:A,t2:I}))}}return h},RBt=function(r,e,t){r=a4(r),e=a4(e);for(var n,i,a,o,s,l,u,f,c,h,d=t?0:[],p=0,v=r.length;p=3&&(c.length===3&&h.push("Q"),h=h.concat(c[1])),c.length===2&&h.push("L"),h=h.concat(c[c.length-1]),h});return f}var GBt=function(r,e,t){if(t===1)return[[].concat(r)];var n=[];if(e[0]==="L"||e[0]==="C"||e[0]==="Q")n=n.concat(BBt(r,e,t));else{var i=[].concat(r);i[0]==="M"&&(i[0]="L");for(var a=0;a<=t-1;a++)n.push(i)}return n},zBt=function(r,e){if(r.length===1)return r;var t=r.length-1,n=e.length-1,i=t/n,a=[];if(r.length===1&&r[0][0]==="M"){for(var o=0;o=0;l--)o=a[l].index,a[l].type==="add"?r.splice(o,0,[].concat(r[o])):r.splice(o,1)}n=r.length;var c=i-n;if(n0)t=l4(t,r[n-1],1);else{r[n]=e[n];break}r[n]=["Q"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;case"T":r[n]=["T"].concat(t[0]);break;case"C":if(t.length<3)if(n>0)t=l4(t,r[n-1],2);else{r[n]=e[n];break}r[n]=["C"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;case"S":if(t.length<2)if(n>0)t=l4(t,r[n-1],1);else{r[n]=e[n];break}r[n]=["S"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;default:r[n]=e[n]}return r};var VBt=function(){function r(e,t){this.bubbles=!0,this.target=null,this.currentTarget=null,this.delegateTarget=null,this.delegateObject=null,this.defaultPrevented=!1,this.propagationStopped=!1,this.shape=null,this.fromShape=null,this.toShape=null,this.propagationPath=[],this.type=e,this.name=e,this.originalEvent=t,this.timeStamp=t.timeStamp}return r.prototype.preventDefault=function(){this.defaultPrevented=!0,this.originalEvent.preventDefault&&this.originalEvent.preventDefault()},r.prototype.stopPropagation=function(){this.propagationStopped=!0},r.prototype.toString=function(){var e=this.type;return"[Event (type="+e+")]"},r.prototype.save=function(){},r.prototype.restore=function(){},r}(),Yu=VBt;var Gn=U(q());function d2(r,e){var t=r.indexOf(e);t!==-1&&r.splice(t,1)}var u4=typeof window!="undefined"&&typeof window.document!="undefined";function p2(r,e){if(r.isCanvas())return!0;for(var t=e.getParent(),n=!1;t;){if(t===r){n=!0;break}t=t.getParent()}return n}function Hv(r){return r.cfg.visible&&r.cfg.capture}var HBt=function(r){H(e,r);function e(t){var n=r.call(this)||this;n.destroyed=!1;var i=n.getDefaultCfg();return n.cfg=(0,Gn.mix)(i,t),n}return e.prototype.getDefaultCfg=function(){return{}},e.prototype.get=function(t){return this.cfg[t]},e.prototype.set=function(t,n){this.cfg[t]=n},e.prototype.destroy=function(){this.cfg={destroyed:!0},this.off(),this.destroyed=!0},e}(Wv),Oy=HBt;var GZ=function(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;nA3t,adjoint:()=>h3t,clone:()=>a3t,copy:()=>o3t,create:()=>f4,determinant:()=>d3t,equals:()=>L3t,exactEquals:()=>I3t,frob:()=>E3t,fromMat2d:()=>b3t,fromMat4:()=>i3t,fromQuat:()=>_3t,fromRotation:()=>y3t,fromScaling:()=>x3t,fromTranslation:()=>g3t,fromValues:()=>s3t,identity:()=>u3t,invert:()=>c3t,mul:()=>O3t,multiply:()=>WZ,multiplyScalar:()=>M3t,multiplyScalarAndAdd:()=>T3t,normalFromMat4:()=>S3t,projection:()=>C3t,rotate:()=>v3t,scale:()=>m3t,set:()=>l3t,str:()=>w3t,sub:()=>D3t,subtract:()=>VZ,translate:()=>p3t,transpose:()=>f3t});function f4(){var r=new Ei(9);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function i3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function a3t(r){var e=new Ei(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function o3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function s3t(r,e,t,n,i,a,o,s,l){var u=new Ei(9);return u[0]=r,u[1]=e,u[2]=t,u[3]=n,u[4]=i,u[5]=a,u[6]=o,u[7]=s,u[8]=l,u}function l3t(r,e,t,n,i,a,o,s,l,u){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=o,r[6]=s,r[7]=l,r[8]=u,r}function u3t(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function f3t(r,e){if(r===e){var t=e[1],n=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function c3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=f*o-s*u,h=-f*a+s*l,d=u*a-o*l,p=t*c+n*h+i*d;return p?(p=1/p,r[0]=c*p,r[1]=(-f*n+i*u)*p,r[2]=(s*n-i*o)*p,r[3]=h*p,r[4]=(f*t-i*l)*p,r[5]=(-s*t+i*a)*p,r[6]=d*p,r[7]=(-u*t+n*l)*p,r[8]=(o*t-n*a)*p,r):null}function h3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8];return r[0]=o*f-s*u,r[1]=i*u-n*f,r[2]=n*s-i*o,r[3]=s*l-a*f,r[4]=t*f-i*l,r[5]=i*a-t*s,r[6]=a*u-o*l,r[7]=n*l-t*u,r[8]=t*o-n*a,r}function d3t(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],o=r[5],s=r[6],l=r[7],u=r[8];return e*(u*a-o*l)+t*(-u*i+o*s)+n*(l*i-a*s)}function WZ(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=t[0],d=t[1],p=t[2],v=t[3],m=t[4],g=t[5],x=t[6],b=t[7],S=t[8];return r[0]=h*n+d*o+p*u,r[1]=h*i+d*s+p*f,r[2]=h*a+d*l+p*c,r[3]=v*n+m*o+g*u,r[4]=v*i+m*s+g*f,r[5]=v*a+m*l+g*c,r[6]=x*n+b*o+S*u,r[7]=x*i+b*s+S*f,r[8]=x*a+b*l+S*c,r}function p3t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=t[0],d=t[1];return r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=l,r[6]=h*n+d*o+u,r[7]=h*i+d*s+f,r[8]=h*a+d*l+c,r}function v3t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=Math.sin(t),d=Math.cos(t);return r[0]=d*n+h*o,r[1]=d*i+h*s,r[2]=d*a+h*l,r[3]=d*o-h*n,r[4]=d*s-h*i,r[5]=d*l-h*a,r[6]=u,r[7]=f,r[8]=c,r}function m3t(r,e,t){var n=t[0],i=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function g3t(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function y3t(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=-t,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function x3t(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function b3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function _3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t+t,s=n+n,l=i+i,u=t*o,f=n*o,c=n*s,h=i*o,d=i*s,p=i*l,v=a*o,m=a*s,g=a*l;return r[0]=1-c-p,r[3]=f-g,r[6]=h+m,r[1]=f+g,r[4]=1-u-p,r[7]=d-v,r[2]=h-m,r[5]=d+v,r[8]=1-u-c,r}function S3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15],x=t*s-n*o,b=t*l-i*o,S=t*u-a*o,C=n*l-i*s,w=n*u-a*s,A=i*u-a*l,I=f*v-c*p,P=f*m-h*p,L=f*g-d*p,M=c*m-h*v,O=c*g-d*v,F=h*g-d*m,k=x*F-b*O+S*M+C*L-w*P+A*I;return k?(k=1/k,r[0]=(s*F-l*O+u*M)*k,r[1]=(l*L-o*F-u*P)*k,r[2]=(o*O-s*L+u*I)*k,r[3]=(i*O-n*F-a*M)*k,r[4]=(t*F-i*L+a*P)*k,r[5]=(n*L-t*O-a*I)*k,r[6]=(v*A-m*w+g*C)*k,r[7]=(m*S-p*A-g*b)*k,r[8]=(p*w-v*S+g*x)*k,r):null}function C3t(r,e,t){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/t,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function w3t(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function E3t(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function A3t(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r}function VZ(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r}function M3t(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r}function T3t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r}function I3t(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]}function L3t(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=e[0],h=e[1],d=e[2],p=e[3],v=e[4],m=e[5],g=e[6],x=e[7],b=e[8];return Math.abs(t-c)<=pn*Math.max(1,Math.abs(t),Math.abs(c))&&Math.abs(n-h)<=pn*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(i-d)<=pn*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=pn*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-v)<=pn*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(s-m)<=pn*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(l-g)<=pn*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(u-x)<=pn*Math.max(1,Math.abs(u),Math.abs(x))&&Math.abs(f-b)<=pn*Math.max(1,Math.abs(f),Math.abs(b))}var O3t=WZ,D3t=VZ;var _r={};Dn(_r,{add:()=>mGt,adjoint:()=>z3t,clone:()=>k3t,copy:()=>R3t,create:()=>P3t,determinant:()=>U3t,equals:()=>bGt,exactEquals:()=>xGt,frob:()=>vGt,fromQuat:()=>aGt,fromQuat2:()=>tGt,fromRotation:()=>Z3t,fromRotationTranslation:()=>XZ,fromRotationTranslationScale:()=>nGt,fromRotationTranslationScaleOrigin:()=>iGt,fromScaling:()=>K3t,fromTranslation:()=>q3t,fromValues:()=>N3t,fromXRotation:()=>$3t,fromYRotation:()=>Q3t,fromZRotation:()=>J3t,frustum:()=>oGt,getRotation:()=>rGt,getScaling:()=>qZ,getTranslation:()=>eGt,identity:()=>HZ,invert:()=>G3t,lookAt:()=>hGt,mul:()=>_Gt,multiply:()=>YZ,multiplyScalar:()=>gGt,multiplyScalarAndAdd:()=>yGt,ortho:()=>fGt,orthoNO:()=>ZZ,orthoZO:()=>cGt,perspective:()=>sGt,perspectiveFromFieldOfView:()=>uGt,perspectiveNO:()=>KZ,perspectiveZO:()=>lGt,rotate:()=>V3t,rotateX:()=>H3t,rotateY:()=>Y3t,rotateZ:()=>X3t,scale:()=>W3t,set:()=>F3t,str:()=>pGt,sub:()=>SGt,subtract:()=>$Z,targetTo:()=>dGt,translate:()=>j3t,transpose:()=>B3t});function P3t(){var r=new Ei(16);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function k3t(r){var e=new Ei(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function R3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function N3t(r,e,t,n,i,a,o,s,l,u,f,c,h,d,p,v){var m=new Ei(16);return m[0]=r,m[1]=e,m[2]=t,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=l,m[9]=u,m[10]=f,m[11]=c,m[12]=h,m[13]=d,m[14]=p,m[15]=v,m}function F3t(r,e,t,n,i,a,o,s,l,u,f,c,h,d,p,v,m){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=o,r[6]=s,r[7]=l,r[8]=u,r[9]=f,r[10]=c,r[11]=h,r[12]=d,r[13]=p,r[14]=v,r[15]=m,r}function HZ(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function B3t(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=o,r[14]=s}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function G3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15],x=t*s-n*o,b=t*l-i*o,S=t*u-a*o,C=n*l-i*s,w=n*u-a*s,A=i*u-a*l,I=f*v-c*p,P=f*m-h*p,L=f*g-d*p,M=c*m-h*v,O=c*g-d*v,F=h*g-d*m,k=x*F-b*O+S*M+C*L-w*P+A*I;return k?(k=1/k,r[0]=(s*F-l*O+u*M)*k,r[1]=(i*O-n*F-a*M)*k,r[2]=(v*A-m*w+g*C)*k,r[3]=(h*w-c*A-d*C)*k,r[4]=(l*L-o*F-u*P)*k,r[5]=(t*F-i*L+a*P)*k,r[6]=(m*S-p*A-g*b)*k,r[7]=(f*A-h*S+d*b)*k,r[8]=(o*O-s*L+u*I)*k,r[9]=(n*L-t*O-a*I)*k,r[10]=(p*w-v*S+g*x)*k,r[11]=(c*S-f*w-d*x)*k,r[12]=(s*P-o*M-l*I)*k,r[13]=(t*M-n*P+i*I)*k,r[14]=(v*b-p*C-m*x)*k,r[15]=(f*C-c*b+h*x)*k,r):null}function z3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15];return r[0]=s*(h*g-d*m)-c*(l*g-u*m)+v*(l*d-u*h),r[1]=-(n*(h*g-d*m)-c*(i*g-a*m)+v*(i*d-a*h)),r[2]=n*(l*g-u*m)-s*(i*g-a*m)+v*(i*u-a*l),r[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+c*(i*u-a*l)),r[4]=-(o*(h*g-d*m)-f*(l*g-u*m)+p*(l*d-u*h)),r[5]=t*(h*g-d*m)-f*(i*g-a*m)+p*(i*d-a*h),r[6]=-(t*(l*g-u*m)-o*(i*g-a*m)+p*(i*u-a*l)),r[7]=t*(l*d-u*h)-o*(i*d-a*h)+f*(i*u-a*l),r[8]=o*(c*g-d*v)-f*(s*g-u*v)+p*(s*d-u*c),r[9]=-(t*(c*g-d*v)-f*(n*g-a*v)+p*(n*d-a*c)),r[10]=t*(s*g-u*v)-o*(n*g-a*v)+p*(n*u-a*s),r[11]=-(t*(s*d-u*c)-o*(n*d-a*c)+f*(n*u-a*s)),r[12]=-(o*(c*m-h*v)-f*(s*m-l*v)+p*(s*h-l*c)),r[13]=t*(c*m-h*v)-f*(n*m-i*v)+p*(n*h-i*c),r[14]=-(t*(s*m-l*v)-o*(n*m-i*v)+p*(n*l-i*s)),r[15]=t*(s*h-l*c)-o*(n*h-i*c)+f*(n*l-i*s),r}function U3t(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],o=r[5],s=r[6],l=r[7],u=r[8],f=r[9],c=r[10],h=r[11],d=r[12],p=r[13],v=r[14],m=r[15],g=e*o-t*a,x=e*s-n*a,b=e*l-i*a,S=t*s-n*o,C=t*l-i*o,w=n*l-i*s,A=u*p-f*d,I=u*v-c*d,P=u*m-h*d,L=f*v-c*p,M=f*m-h*p,O=c*m-h*v;return g*O-x*M+b*L+S*P-C*I+w*A}function YZ(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=e[9],d=e[10],p=e[11],v=e[12],m=e[13],g=e[14],x=e[15],b=t[0],S=t[1],C=t[2],w=t[3];return r[0]=b*n+S*s+C*c+w*v,r[1]=b*i+S*l+C*h+w*m,r[2]=b*a+S*u+C*d+w*g,r[3]=b*o+S*f+C*p+w*x,b=t[4],S=t[5],C=t[6],w=t[7],r[4]=b*n+S*s+C*c+w*v,r[5]=b*i+S*l+C*h+w*m,r[6]=b*a+S*u+C*d+w*g,r[7]=b*o+S*f+C*p+w*x,b=t[8],S=t[9],C=t[10],w=t[11],r[8]=b*n+S*s+C*c+w*v,r[9]=b*i+S*l+C*h+w*m,r[10]=b*a+S*u+C*d+w*g,r[11]=b*o+S*f+C*p+w*x,b=t[12],S=t[13],C=t[14],w=t[15],r[12]=b*n+S*s+C*c+w*v,r[13]=b*i+S*l+C*h+w*m,r[14]=b*a+S*u+C*d+w*g,r[15]=b*o+S*f+C*p+w*x,r}function j3t(r,e,t){var n=t[0],i=t[1],a=t[2],o,s,l,u,f,c,h,d,p,v,m,g;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(o=e[0],s=e[1],l=e[2],u=e[3],f=e[4],c=e[5],h=e[6],d=e[7],p=e[8],v=e[9],m=e[10],g=e[11],r[0]=o,r[1]=s,r[2]=l,r[3]=u,r[4]=f,r[5]=c,r[6]=h,r[7]=d,r[8]=p,r[9]=v,r[10]=m,r[11]=g,r[12]=o*n+f*i+p*a+e[12],r[13]=s*n+c*i+v*a+e[13],r[14]=l*n+h*i+m*a+e[14],r[15]=u*n+d*i+g*a+e[15]),r}function W3t(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function V3t(r,e,t,n){var i=n[0],a=n[1],o=n[2],s=Math.hypot(i,a,o),l,u,f,c,h,d,p,v,m,g,x,b,S,C,w,A,I,P,L,M,O,F,k,G;return s0?(t[0]=(s*o+f*n+l*a-u*i)*2/c,t[1]=(l*o+f*i+u*n-s*a)*2/c,t[2]=(u*o+f*a+s*i-l*n)*2/c):(t[0]=(s*o+f*n+l*a-u*i)*2,t[1]=(l*o+f*i+u*n-s*a)*2,t[2]=(u*o+f*a+s*i-l*n)*2),XZ(r,e,t),r}function eGt(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function qZ(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],o=e[5],s=e[6],l=e[8],u=e[9],f=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,o,s),r[2]=Math.hypot(l,u,f),r}function rGt(r,e){var t=new Ei(3);qZ(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],o=e[0]*n,s=e[1]*i,l=e[2]*a,u=e[4]*n,f=e[5]*i,c=e[6]*a,h=e[8]*n,d=e[9]*i,p=e[10]*a,v=o+f+p,m=0;return v>0?(m=Math.sqrt(v+1)*2,r[3]=.25*m,r[0]=(c-d)/m,r[1]=(h-l)/m,r[2]=(s-u)/m):o>f&&o>p?(m=Math.sqrt(1+o-f-p)*2,r[3]=(c-d)/m,r[0]=.25*m,r[1]=(s+u)/m,r[2]=(h+l)/m):f>p?(m=Math.sqrt(1+f-o-p)*2,r[3]=(h-l)/m,r[0]=(s+u)/m,r[1]=.25*m,r[2]=(c+d)/m):(m=Math.sqrt(1+p-o-f)*2,r[3]=(s-u)/m,r[0]=(h+l)/m,r[1]=(c+d)/m,r[2]=.25*m),r}function nGt(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,f=o+o,c=i*l,h=i*u,d=i*f,p=a*u,v=a*f,m=o*f,g=s*l,x=s*u,b=s*f,S=n[0],C=n[1],w=n[2];return r[0]=(1-(p+m))*S,r[1]=(h+b)*S,r[2]=(d-x)*S,r[3]=0,r[4]=(h-b)*C,r[5]=(1-(c+m))*C,r[6]=(v+g)*C,r[7]=0,r[8]=(d+x)*w,r[9]=(v-g)*w,r[10]=(1-(c+p))*w,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function iGt(r,e,t,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,f=o+o,c=s+s,h=a*u,d=a*f,p=a*c,v=o*f,m=o*c,g=s*c,x=l*u,b=l*f,S=l*c,C=n[0],w=n[1],A=n[2],I=i[0],P=i[1],L=i[2],M=(1-(v+g))*C,O=(d+S)*C,F=(p-b)*C,k=(d-S)*w,G=(1-(h+g))*w,D=(m+x)*w,N=(p+b)*A,z=(m-x)*A,j=(1-(h+v))*A;return r[0]=M,r[1]=O,r[2]=F,r[3]=0,r[4]=k,r[5]=G,r[6]=D,r[7]=0,r[8]=N,r[9]=z,r[10]=j,r[11]=0,r[12]=t[0]+I-(M*I+k*P+N*L),r[13]=t[1]+P-(O*I+G*P+z*L),r[14]=t[2]+L-(F*I+D*P+j*L),r[15]=1,r}function aGt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t+t,s=n+n,l=i+i,u=t*o,f=n*o,c=n*s,h=i*o,d=i*s,p=i*l,v=a*o,m=a*s,g=a*l;return r[0]=1-c-p,r[1]=f+g,r[2]=h-m,r[3]=0,r[4]=f-g,r[5]=1-u-p,r[6]=d+v,r[7]=0,r[8]=h+m,r[9]=d-v,r[10]=1-u-c,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function oGt(r,e,t,n,i,a,o){var s=1/(t-e),l=1/(i-n),u=1/(a-o);return r[0]=a*2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*s,r[9]=(i+n)*l,r[10]=(o+a)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=o*a*2*u,r[15]=0,r}function KZ(r,e,t,n,i){var a=1/Math.tan(e/2),o;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(o=1/(n-i),r[10]=(i+n)*o,r[14]=2*i*n*o):(r[10]=-1,r[14]=-2*n),r}var sGt=KZ;function lGt(r,e,t,n,i){var a=1/Math.tan(e/2),o;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(o=1/(n-i),r[10]=i*o,r[14]=i*n*o):(r[10]=-1,r[14]=-n),r}function uGt(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=-((o-s)*l*.5),r[9]=(i-a)*u*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function ZZ(r,e,t,n,i,a,o){var s=1/(e-t),l=1/(n-i),u=1/(a-o);return r[0]=-2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(e+t)*s,r[13]=(i+n)*l,r[14]=(o+a)*u,r[15]=1,r}var fGt=ZZ;function cGt(r,e,t,n,i,a,o){var s=1/(e-t),l=1/(n-i),u=1/(a-o);return r[0]=-2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=u,r[11]=0,r[12]=(e+t)*s,r[13]=(i+n)*l,r[14]=a*u,r[15]=1,r}function hGt(r,e,t,n){var i,a,o,s,l,u,f,c,h,d,p=e[0],v=e[1],m=e[2],g=n[0],x=n[1],b=n[2],S=t[0],C=t[1],w=t[2];return Math.abs(p-S)0&&(d=1/Math.sqrt(d),f*=d,c*=d,h*=d);var p=l*h-u*c,v=u*f-s*h,m=s*c-l*f;return d=p*p+v*v+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,v*=d,m*=d),r[0]=p,r[1]=v,r[2]=m,r[3]=0,r[4]=c*m-h*v,r[5]=h*p-f*m,r[6]=f*v-c*p,r[7]=0,r[8]=f,r[9]=c,r[10]=h,r[11]=0,r[12]=i,r[13]=a,r[14]=o,r[15]=1,r}function pGt(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function vGt(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function mGt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function $Z(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function gGt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function yGt(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function xGt(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function bGt(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=r[9],h=r[10],d=r[11],p=r[12],v=r[13],m=r[14],g=r[15],x=e[0],b=e[1],S=e[2],C=e[3],w=e[4],A=e[5],I=e[6],P=e[7],L=e[8],M=e[9],O=e[10],F=e[11],k=e[12],G=e[13],D=e[14],N=e[15];return Math.abs(t-x)<=pn*Math.max(1,Math.abs(t),Math.abs(x))&&Math.abs(n-b)<=pn*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(i-S)<=pn*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(a-C)<=pn*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(o-w)<=pn*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-A)<=pn*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(l-I)<=pn*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(u-P)<=pn*Math.max(1,Math.abs(u),Math.abs(P))&&Math.abs(f-L)<=pn*Math.max(1,Math.abs(f),Math.abs(L))&&Math.abs(c-M)<=pn*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(h-O)<=pn*Math.max(1,Math.abs(h),Math.abs(O))&&Math.abs(d-F)<=pn*Math.max(1,Math.abs(d),Math.abs(F))&&Math.abs(p-k)<=pn*Math.max(1,Math.abs(p),Math.abs(k))&&Math.abs(v-G)<=pn*Math.max(1,Math.abs(v),Math.abs(G))&&Math.abs(m-D)<=pn*Math.max(1,Math.abs(m),Math.abs(D))&&Math.abs(g-N)<=pn*Math.max(1,Math.abs(g),Math.abs(N))}var _Gt=YZ,SGt=$Z;var Nr={};Dn(Nr,{add:()=>j5t,calculateW:()=>O5t,clone:()=>B5t,conjugate:()=>R5t,copy:()=>z5t,create:()=>E4,dot:()=>g$,equals:()=>q5t,exactEquals:()=>X5t,exp:()=>d$,fromEuler:()=>N5t,fromMat3:()=>v$,fromValues:()=>G5t,getAngle:()=>M5t,getAxisAngle:()=>A5t,identity:()=>E5t,invert:()=>k5t,len:()=>H5t,length:()=>y$,lerp:()=>V5t,ln:()=>p$,mul:()=>W5t,multiply:()=>h$,normalize:()=>A4,pow:()=>D5t,random:()=>P5t,rotateX:()=>T5t,rotateY:()=>I5t,rotateZ:()=>L5t,rotationTo:()=>K5t,scale:()=>m$,set:()=>U5t,setAxes:()=>$5t,setAxisAngle:()=>c$,slerp:()=>_2,sqlerp:()=>Z5t,sqrLen:()=>Y5t,squaredLength:()=>x$,str:()=>F5t});var Ft={};Dn(Ft,{add:()=>AGt,angle:()=>HGt,bezier:()=>BGt,ceil:()=>MGt,clone:()=>CGt,copy:()=>wGt,create:()=>m2,cross:()=>Ew,dist:()=>JGt,distance:()=>r$,div:()=>QGt,divide:()=>e$,dot:()=>y2,equals:()=>KGt,exactEquals:()=>qGt,floor:()=>TGt,forEach:()=>r5t,fromValues:()=>g2,hermite:()=>FGt,inverse:()=>RGt,len:()=>d4,length:()=>QZ,lerp:()=>NGt,max:()=>LGt,min:()=>IGt,mul:()=>$Gt,multiply:()=>t$,negate:()=>kGt,normalize:()=>c4,random:()=>GGt,rotateX:()=>jGt,rotateY:()=>WGt,rotateZ:()=>VGt,round:()=>OGt,scale:()=>DGt,scaleAndAdd:()=>PGt,set:()=>EGt,sqrDist:()=>t5t,sqrLen:()=>e5t,squaredDistance:()=>n$,squaredLength:()=>i$,str:()=>XGt,sub:()=>ZGt,subtract:()=>JZ,transformMat3:()=>h4,transformMat4:()=>zGt,transformQuat:()=>UGt,zero:()=>YGt});function m2(){var r=new Ei(3);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function CGt(r){var e=new Ei(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function QZ(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function g2(r,e,t){var n=new Ei(3);return n[0]=r,n[1]=e,n[2]=t,n}function wGt(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function EGt(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function AGt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function JZ(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function t$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function e$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r}function MGt(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function TGt(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function IGt(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function LGt(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function OGt(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function DGt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function PGt(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r}function r$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function n$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return t*t+n*n+i*i}function i$(r){var e=r[0],t=r[1],n=r[2];return e*e+t*t+n*n}function kGt(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function RGt(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function c4(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function y2(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Ew(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return r[0]=i*l-a*s,r[1]=a*o-n*l,r[2]=n*s-i*o,r}function NGt(r,e,t,n){var i=e[0],a=e[1],o=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=o+n*(t[2]-o),r}function FGt(r,e,t,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),f=o*(3-2*a);return r[0]=e[0]*s+t[0]*l+n[0]*u+i[0]*f,r[1]=e[1]*s+t[1]*l+n[1]*u+i[1]*f,r[2]=e[2]*s+t[2]*l+n[2]*u+i[2]*f,r}function BGt(r,e,t,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,f=3*a*s,c=3*l*o,h=l*a;return r[0]=e[0]*u+t[0]*f+n[0]*c+i[0]*h,r[1]=e[1]*u+t[1]*f+n[1]*c+i[1]*h,r[2]=e[2]*u+t[2]*f+n[2]*c+i[2]*h,r}function GGt(r,e){e=e||1;var t=Tl()*2*Math.PI,n=Tl()*2-1,i=Math.sqrt(1-n*n)*e;return r[0]=Math.cos(t)*i,r[1]=Math.sin(t)*i,r[2]=n*e,r}function zGt(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[3]*n+t[7]*i+t[11]*a+t[15];return o=o||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/o,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/o,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/o,r}function h4(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function UGt(r,e,t){var n=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],f=i*u-a*l,c=a*s-n*u,h=n*l-i*s,d=i*h-a*c,p=a*f-n*h,v=n*c-i*f,m=o*2;return f*=m,c*=m,h*=m,d*=2,p*=2,v*=2,r[0]=s+f+d,r[1]=l+c+p,r[2]=u+h+v,r}function jGt(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function WGt(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function VGt(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function HGt(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],o=e[1],s=e[2],l=Math.sqrt(t*t+n*n+i*i),u=Math.sqrt(a*a+o*o+s*s),f=l*u,c=f&&y2(r,e)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function YGt(r){return r[0]=0,r[1]=0,r[2]=0,r}function XGt(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function qGt(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function KGt(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],o=e[1],s=e[2];return Math.abs(t-a)<=pn*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-o)<=pn*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=pn*Math.max(1,Math.abs(i),Math.abs(s))}var ZGt=JZ,$Gt=t$,QGt=e$,JGt=r$,t5t=n$,d4=QZ,e5t=i$,r5t=function(){var r=m2();return function(e,t,n,i,a,o){var s,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;sy4,ceil:()=>n5t,clone:()=>p4,copy:()=>m4,create:()=>a$,cross:()=>c5t,dist:()=>b5t,distance:()=>u$,div:()=>x5t,divide:()=>l$,dot:()=>_4,equals:()=>w4,exactEquals:()=>C4,floor:()=>i5t,forEach:()=>w5t,fromValues:()=>v4,inverse:()=>f5t,len:()=>S5t,length:()=>x2,lerp:()=>S4,max:()=>o5t,min:()=>a5t,mul:()=>y5t,multiply:()=>s$,negate:()=>u5t,normalize:()=>b4,random:()=>h5t,round:()=>s5t,scale:()=>x4,scaleAndAdd:()=>l5t,set:()=>g4,sqrDist:()=>_5t,sqrLen:()=>C5t,squaredDistance:()=>f$,squaredLength:()=>b2,str:()=>m5t,sub:()=>g5t,subtract:()=>o$,transformMat4:()=>d5t,transformQuat:()=>p5t,zero:()=>v5t});function a$(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function p4(r){var e=new Ei(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function v4(r,e,t,n){var i=new Ei(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function m4(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function g4(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function y4(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function o$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r}function s$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r[3]=e[3]*t[3],r}function l$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r[3]=e[3]/t[3],r}function n5t(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function i5t(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function a5t(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r}function o5t(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.max(e[3],t[3]),r}function s5t(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function x4(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function l5t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r}function u$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return Math.hypot(t,n,i,a)}function f$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return t*t+n*n+i*i+a*a}function x2(r){var e=r[0],t=r[1],n=r[2],i=r[3];return Math.hypot(e,t,n,i)}function b2(r){var e=r[0],t=r[1],n=r[2],i=r[3];return e*e+t*t+n*n+i*i}function u5t(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r}function f5t(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r[3]=1/e[3],r}function b4(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t*t+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),r[0]=t*o,r[1]=n*o,r[2]=i*o,r[3]=a*o,r}function _4(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function c5t(r,e,t,n){var i=t[0]*n[1]-t[1]*n[0],a=t[0]*n[2]-t[2]*n[0],o=t[0]*n[3]-t[3]*n[0],s=t[1]*n[2]-t[2]*n[1],l=t[1]*n[3]-t[3]*n[1],u=t[2]*n[3]-t[3]*n[2],f=e[0],c=e[1],h=e[2],d=e[3];return r[0]=c*u-h*l+d*s,r[1]=-(f*u)+h*o-d*a,r[2]=f*l-c*o+d*i,r[3]=-(f*s)+c*a-h*i,r}function S4(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=o+n*(t[2]-o),r[3]=s+n*(t[3]-s),r}function h5t(r,e){e=e||1;var t,n,i,a,o,s;do t=Tl()*2-1,n=Tl()*2-1,o=t*t+n*n;while(o>=1);do i=Tl()*2-1,a=Tl()*2-1,s=i*i+a*a;while(s>=1);var l=Math.sqrt((1-o)/s);return r[0]=e*t,r[1]=e*n,r[2]=e*i*l,r[3]=e*a*l,r}function d5t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*o,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*o,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*o,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*o,r}function p5t(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2],u=t[3],f=u*n+s*a-l*i,c=u*i+l*n-o*a,h=u*a+o*i-s*n,d=-o*n-s*i-l*a;return r[0]=f*u+d*-o+c*-l-h*-s,r[1]=c*u+d*-s+h*-o-f*-l,r[2]=h*u+d*-l+f*-s-c*-o,r[3]=e[3],r}function v5t(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}function m5t(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}function C4(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]}function w4(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=e[0],s=e[1],l=e[2],u=e[3];return Math.abs(t-o)<=pn*Math.max(1,Math.abs(t),Math.abs(o))&&Math.abs(n-s)<=pn*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-l)<=pn*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=pn*Math.max(1,Math.abs(a),Math.abs(u))}var g5t=o$,y5t=s$,x5t=l$,b5t=u$,_5t=f$,S5t=x2,C5t=b2,w5t=function(){var r=a$();return function(e,t,n,i,a,o){var s,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;spn?(r[0]=e[0]/n,r[1]=e[1]/n,r[2]=e[2]/n):(r[0]=1,r[1]=0,r[2]=0),t}function M5t(r,e){var t=g$(r,e);return Math.acos(2*t*t-1)}function h$(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=t[0],l=t[1],u=t[2],f=t[3];return r[0]=n*f+o*s+i*u-a*l,r[1]=i*f+o*l+a*s-n*u,r[2]=a*f+o*u+n*l-i*s,r[3]=o*f-n*s-i*l-a*u,r}function T5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l+o*s,r[1]=i*l+a*s,r[2]=a*l-i*s,r[3]=o*l-n*s,r}function I5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l-a*s,r[1]=i*l+o*s,r[2]=a*l+n*s,r[3]=o*l-i*s,r}function L5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l+i*s,r[1]=i*l-n*s,r[2]=a*l+o*s,r[3]=o*l-a*s,r}function O5t(r,e){var t=e[0],n=e[1],i=e[2];return r[0]=t,r[1]=n,r[2]=i,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-i*i)),r}function d$(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=Math.sqrt(t*t+n*n+i*i),s=Math.exp(a),l=o>0?s*Math.sin(o)/o:0;return r[0]=t*l,r[1]=n*l,r[2]=i*l,r[3]=s*Math.cos(o),r}function p$(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=Math.sqrt(t*t+n*n+i*i),s=o>0?Math.atan2(o,a)/o:0;return r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=.5*Math.log(t*t+n*n+i*i+a*a),r}function D5t(r,e,t){return p$(r,e),m$(r,r,t),d$(r,r),r}function _2(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=t[0],u=t[1],f=t[2],c=t[3],h,d,p,v,m;return d=i*l+a*u+o*f+s*c,d<0&&(d=-d,l=-l,u=-u,f=-f,c=-c),1-d>pn?(h=Math.acos(d),p=Math.sin(h),v=Math.sin((1-n)*h)/p,m=Math.sin(n*h)/p):(v=1-n,m=n),r[0]=v*i+m*l,r[1]=v*a+m*u,r[2]=v*o+m*f,r[3]=v*s+m*c,r}function P5t(r){var e=Tl(),t=Tl(),n=Tl(),i=Math.sqrt(1-e),a=Math.sqrt(e);return r[0]=i*Math.sin(2*Math.PI*t),r[1]=i*Math.cos(2*Math.PI*t),r[2]=a*Math.sin(2*Math.PI*n),r[3]=a*Math.cos(2*Math.PI*n),r}function k5t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t*t+n*n+i*i+a*a,s=o?1/o:0;return r[0]=-t*s,r[1]=-n*s,r[2]=-i*s,r[3]=a*s,r}function R5t(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function v$(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[o*3+o]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+o]-e[o*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[o]=(e[o*3+i]+e[i*3+o])*n}return r}function N5t(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),o=Math.cos(e),s=Math.sin(t),l=Math.cos(t),u=Math.sin(n),f=Math.cos(n);return r[0]=a*l*f-o*s*u,r[1]=o*s*f+a*l*u,r[2]=o*l*u-a*s*f,r[3]=o*l*f+a*s*u,r}function F5t(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}var B5t=p4,G5t=v4,z5t=m4,U5t=g4,j5t=y4,W5t=h$,m$=x4,g$=_4,V5t=S4,y$=x2,H5t=y$,x$=b2,Y5t=x$,A4=b4,X5t=C4,q5t=w4,K5t=function(){var r=m2(),e=g2(1,0,0),t=g2(0,1,0);return function(n,i,a){var o=y2(i,a);return o<-.999999?(Ew(r,e,i),d4(r)<1e-6&&Ew(r,t,i),c4(r,r),c$(n,r,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ew(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+o,A4(n,n))}}(),Z5t=function(){var r=E4(),e=E4();return function(t,n,i,a,o,s){return _2(r,n,o,s),_2(e,i,a,s),_2(t,r,e,2*s*(1-s)),t}}(),$5t=function(){var r=f4();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],A4(e,v$(e,r))}}();var oe={};Dn(oe,{add:()=>r4t,angle:()=>b4t,ceil:()=>n4t,clone:()=>Q5t,copy:()=>t4t,create:()=>b$,cross:()=>h4t,dist:()=>T4t,distance:()=>w$,div:()=>M4t,divide:()=>C$,dot:()=>T4,equals:()=>C4t,exactEquals:()=>I4,floor:()=>i4t,forEach:()=>O4t,fromValues:()=>J5t,inverse:()=>c4t,len:()=>w4t,length:()=>A$,lerp:()=>d4t,max:()=>o4t,min:()=>a4t,mul:()=>A4t,multiply:()=>S$,negate:()=>f4t,normalize:()=>M4,random:()=>p4t,rotate:()=>x4t,round:()=>s4t,scale:()=>l4t,scaleAndAdd:()=>u4t,set:()=>e4t,sqrDist:()=>I4t,sqrLen:()=>L4t,squaredDistance:()=>E$,squaredLength:()=>M$,str:()=>S4t,sub:()=>E4t,subtract:()=>_$,transformMat2:()=>v4t,transformMat2d:()=>m4t,transformMat3:()=>g4t,transformMat4:()=>y4t,zero:()=>_4t});function b$(){var r=new Ei(2);return Ei!=Float32Array&&(r[0]=0,r[1]=0),r}function Q5t(r){var e=new Ei(2);return e[0]=r[0],e[1]=r[1],e}function J5t(r,e){var t=new Ei(2);return t[0]=r,t[1]=e,t}function t4t(r,e){return r[0]=e[0],r[1]=e[1],r}function e4t(r,e,t){return r[0]=e,r[1]=t,r}function r4t(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function _$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function S$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function C$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function n4t(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function i4t(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function a4t(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function o4t(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}function s4t(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function l4t(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function u4t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}function w$(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.hypot(t,n)}function E$(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}function A$(r){var e=r[0],t=r[1];return Math.hypot(e,t)}function M$(r){var e=r[0],t=r[1];return e*e+t*t}function f4t(r,e){return r[0]=-e[0],r[1]=-e[1],r}function c4t(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function M4(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function T4(r,e){return r[0]*e[0]+r[1]*e[1]}function h4t(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}function d4t(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}function p4t(r,e){e=e||1;var t=Tl()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}function v4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}function m4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}function g4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}function y4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}function x4t(r,e,t,n){var i=e[0]-t[0],a=e[1]-t[1],o=Math.sin(n),s=Math.cos(n);return r[0]=i*s-a*o+t[0],r[1]=i*o+a*s+t[1],r}function b4t(r,e){var t=r[0],n=r[1],i=e[0],a=e[1],o=Math.sqrt(t*t+n*n)*Math.sqrt(i*i+a*a),s=o&&(t*i+n*a)/o;return Math.acos(Math.min(Math.max(s,-1),1))}function _4t(r){return r[0]=0,r[1]=0,r}function S4t(r){return"vec2("+r[0]+", "+r[1]+")"}function I4(r,e){return r[0]===e[0]&&r[1]===e[1]}function C4t(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=pn*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=pn*Math.max(1,Math.abs(n),Math.abs(a))}var w4t=A$,E4t=_$,A4t=S$,M4t=C$,T4t=w$,I4t=E$,L4t=M$,O4t=function(){var r=b$();return function(e,t,n,i,a,o){var s,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;sk4t,direction:()=>O$,leftRotate:()=>I$,leftScale:()=>L$,leftTranslate:()=>T$,transform:()=>P4t,vertical:()=>R4t});function T$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromTranslation(n,t),Ai.multiply(r,n,e)}function I$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromRotation(n,t),Ai.multiply(r,n,e)}function L$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromScaling(n,t),Ai.multiply(r,n,e)}function D4t(r,e,t){return Ai.multiply(r,t,e)}function P4t(r,e){for(var t=r?[].concat(r):[1,0,0,0,1,0,0,0,1],n=0,i=e.length;n=0;return t?i?Math.PI*2-n:n:i?n:Math.PI*2-n}function R4t(r,e,t){return t?(r[0]=e[1],r[1]=-1*e[0]):(r[0]=-1*e[1],r[1]=e[0]),r}function L4(r,e){var t=[],n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],l=r[5],u=r[6],f=r[7],c=r[8],h=e[0],d=e[1],p=e[2],v=e[3],m=e[4],g=e[5],x=e[6],b=e[7],S=e[8];return t[0]=h*n+d*o+p*u,t[1]=h*i+d*s+p*f,t[2]=h*a+d*l+p*c,t[3]=v*n+m*o+g*u,t[4]=v*i+m*s+g*f,t[5]=v*a+m*l+g*c,t[6]=x*n+b*o+S*u,t[7]=x*i+b*s+S*f,t[8]=x*a+b*l+S*c,t}function pu(r,e){var t=[],n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Dy(r){var e=[],t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=f*o-s*u,h=-f*a+s*l,d=u*a-o*l,p=t*c+n*h+i*d;return p?(p=1/p,e[0]=c*p,e[1]=(-f*n+i*u)*p,e[2]=(s*n-i*o)*p,e[3]=h*p,e[4]=(f*t-i*l)*p,e[5]=(-s*t+i*a)*p,e[6]=d*p,e[7]=(-u*t+n*l)*p,e[8]=(o*t-n*a)*p,e):null}var Aw=gr.transform,O4="matrix",N4t=["zIndex","capture","visible","type"],F4t=["repeat"],B4t=":",G4t="*";function z4t(r){for(var e=[],t=0;to.delay&&(0,Hn.each)(e.toAttrs,function(s,l){a.call(o.toAttrs,l)&&(delete o.toAttrs[l],delete o.fromAttrs[l])})}),r}var V4t=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;n.attrs={};var i=n.getDefaultAttrs();return(0,Hn.mix)(i,t.attrs),n.attrs=i,n.initAttrs(i),n.initAnimate(),n}return e.prototype.getDefaultCfg=function(){return{visible:!0,capture:!0,zIndex:0}},e.prototype.getDefaultAttrs=function(){return{matrix:this.getDefaultMatrix(),opacity:1}},e.prototype.onCanvasChange=function(t){},e.prototype.initAttrs=function(t){},e.prototype.initAnimate=function(){this.set("animable",!0),this.set("animating",!1)},e.prototype.isGroup=function(){return!1},e.prototype.getParent=function(){return this.get("parent")},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.attr=function(){for(var t,n=[],i=0;i0?a=W4t(a,S):i.addAnimator(this),a.push(S),this.set("animations",a),this.set("_pause",{isPaused:!1})}},e.prototype.stopAnimate=function(t){var n=this;t===void 0&&(t=!0);var i=this.get("animations");(0,Hn.each)(i,function(a){t&&(a.onFrame?n.attr(a.onFrame(1)):n.attr(a.toAttrs)),a.callback&&a.callback()}),this.set("animating",!1),this.set("animations",[])},e.prototype.pauseAnimate=function(){var t=this.get("timeline"),n=this.get("animations"),i=t.getTime();return(0,Hn.each)(n,function(a){a._paused=!0,a._pauseTime=i,a.pauseCallback&&a.pauseCallback()}),this.set("_pause",{isPaused:!0,pauseTime:i}),this},e.prototype.resumeAnimate=function(){var t=this.get("timeline"),n=t.getTime(),i=this.get("animations"),a=this.get("_pause").pauseTime;return(0,Hn.each)(i,function(o){o.startTime=o.startTime+(n-a),o._paused=!1,o._pauseTime=null,o.resumeCallback&&o.resumeCallback()}),this.set("_pause",{isPaused:!1}),this.set("animations",i),this},e.prototype.emitDelegation=function(t,n){var i=this,a=n.propagationPath,o=this.getEvents(),s;t==="mouseenter"?s=n.fromShape:t==="mouseleave"&&(s=n.toShape);for(var l=function(h){var d=a[h],p=d.get("name");if(p){if((d.isGroup()||d.isCanvas&&d.isCanvas())&&s&&p2(d,s))return"break";(0,Hn.isArray)(p)?(0,Hn.each)(p,function(v){i.emitDelegateEvent(d,v,n)}):u.emitDelegateEvent(d,p,n)}},u=this,f=0;f0)});l.length>0?((0,Gn.each)(l,function(f){var c=f.getBBox();o.push(c.minX,c.maxX),s.push(c.minY,c.maxY)}),t=(0,eh.min)(o),n=(0,eh.max)(o),i=(0,eh.min)(s),a=(0,eh.max)(s)):(t=0,n=0,i=0,a=0);var u={x:t,y:i,minX:t,minY:i,maxX:n,maxY:a,width:n-t,height:a-i};return u},e.prototype.getCanvasBBox=function(){var t=1/0,n=-1/0,i=1/0,a=-1/0,o=[],s=[],l=this.getChildren().filter(function(f){return f.get("visible")&&(!f.isGroup()||f.isGroup()&&f.getChildren().length>0)});l.length>0?((0,Gn.each)(l,function(f){var c=f.getCanvasBBox();o.push(c.minX,c.maxX),s.push(c.minY,c.maxY)}),t=(0,eh.min)(o),n=(0,eh.max)(o),i=(0,eh.min)(s),a=(0,eh.max)(s)):(t=0,n=0,i=0,a=0);var u={x:t,y:i,minX:t,minY:i,maxX:n,maxY:a,width:n-t,height:a-i};return u},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.children=[],t},e.prototype.onAttrChange=function(t,n,i){if(r.prototype.onAttrChange.call(this,t,n,i),t==="matrix"){var a=this.getTotalMatrix();this._applyChildrenMarix(a)}},e.prototype.applyMatrix=function(t){var n=this.getTotalMatrix();r.prototype.applyMatrix.call(this,t);var i=this.getTotalMatrix();i!==n&&this._applyChildrenMarix(i)},e.prototype._applyChildrenMarix=function(t){var n=this.getChildren();(0,Gn.each)(n,function(i){i.applyMatrix(t)})},e.prototype.addShape=function(){for(var t=[],n=0;n=0;s--){var l=t[s];if(Hv(l)&&(l.isGroup()?o=l.getShape(n,i,a):l.isHit(n,i)&&(o=l)),o)break}return o},e.prototype.add=function(t){var n=this.getCanvas(),i=this.getChildren(),a=this.get("timeline"),o=t.getParent();o&&H4t(o,t,!1),t.set("parent",this),n&&P$(t,n),a&&k$(t,a),i.push(t),t.onCanvasChange("add"),this._applyElementMatrix(t)},e.prototype._applyElementMatrix=function(t){var n=this.getTotalMatrix();n&&t.applyMatrix(n)},e.prototype.getChildren=function(){return this.get("children")},e.prototype.sort=function(){var t=this.getChildren();(0,Gn.each)(t,function(n,i){return n[D4]=i,n}),t.sort(Y4t(function(n,i){return n.get("zIndex")-i.get("zIndex")})),this.onCanvasChange("sort")},e.prototype.clear=function(){if(this.set("clearing",!0),!this.destroyed){for(var t=this.getChildren(),n=t.length-1;n>=0;n--)t[n].destroy();this.set("children",[]),this.onCanvasChange("clear"),this.set("clearing",!1)}},e.prototype.destroy=function(){this.get("destroyed")||(this.clear(),r.prototype.destroy.call(this))},e.prototype.getFirst=function(){return this.getChildByIndex(0)},e.prototype.getLast=function(){var t=this.getChildren();return this.getChildByIndex(t.length-1)},e.prototype.getChildByIndex=function(t){var n=this.getChildren();return n[t]},e.prototype.getCount=function(){var t=this.getChildren();return t.length},e.prototype.contain=function(t){var n=this.getChildren();return n.indexOf(t)>-1},e.prototype.removeChild=function(t,n){n===void 0&&(n=!0),this.contain(t)&&t.remove(n)},e.prototype.findAll=function(t){var n=[],i=this.getChildren();return(0,Gn.each)(i,function(a){t(a)&&n.push(a),a.isGroup()&&(n=n.concat(a.findAll(t)))}),n},e.prototype.find=function(t){var n=null,i=this.getChildren();return(0,Gn.each)(i,function(a){if(t(a)?n=a:a.isGroup()&&(n=a.find(t)),n)return!1}),n},e.prototype.findById=function(t){return this.find(function(n){return n.get("id")===t})},e.prototype.findByClassName=function(t){return this.find(function(n){return n.get("className")===t})},e.prototype.findAllByName=function(t){return this.findAll(function(n){return n.get("name")===t})},e}(S2),C2=X4t;var ky=U(q());var vb=0,Mw=0,Tw=0,R$=1e3,w2,Iw,E2=0,Py=0,A2=0,Lw=typeof performance=="object"&&performance.now?performance:Date,N$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function P4(){return Py||(N$(q4t),Py=Lw.now()+A2)}function q4t(){Py=0}function k4(){this._call=this._time=this._next=null}k4.prototype=mb.prototype={constructor:k4,restart:function(r,e,t){if(typeof r!="function")throw new TypeError("callback is not a function");t=(t==null?P4():+t)+(e==null?0:+e),!this._next&&Iw!==this&&(Iw?Iw._next=this:w2=this,Iw=this),this._call=r,this._time=t,R4()},stop:function(){this._call&&(this._call=null,this._time=1/0,R4())}};function mb(r,e,t){var n=new k4;return n.restart(r,e,t),n}function F$(){P4(),++vb;for(var r=w2,e;r;)(e=Py-r._time)>=0&&r._call.call(null,e),r=r._next;--vb}function B$(){Py=(E2=Lw.now())+A2,vb=Mw=0;try{F$()}finally{vb=0,Z4t(),Py=0}}function K4t(){var r=Lw.now(),e=r-E2;e>R$&&(A2-=e,E2=r)}function Z4t(){for(var r,e=w2,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),r=e,e=e._next):(t=e._next,e._next=null,e=r?r._next=t:w2=t);Iw=r,R4(n)}function R4(r){if(!vb){Mw&&(Mw=clearTimeout(Mw));var e=r-Py;e>24?(r<1/0&&(Mw=setTimeout(B$,r-Lw.now()-A2)),Tw&&(Tw=clearInterval(Tw))):(Tw||(E2=Lw.now(),Tw=setInterval(K4t,R$)),vb=1,N$(B$))}}var T2={};Dn(T2,{easeBack:()=>H4,easeBackIn:()=>rQ,easeBackInOut:()=>H4,easeBackOut:()=>nQ,easeBounce:()=>gb,easeBounceIn:()=>tQ,easeBounceInOut:()=>eQ,easeBounceOut:()=>gb,easeCircle:()=>j4,easeCircleIn:()=>Q$,easeCircleInOut:()=>j4,easeCircleOut:()=>J$,easeCubic:()=>F4,easeCubicIn:()=>j$,easeCubicInOut:()=>F4,easeCubicOut:()=>W$,easeElastic:()=>q4,easeElasticIn:()=>iQ,easeElasticInOut:()=>aQ,easeElasticOut:()=>q4,easeExp:()=>U4,easeExpIn:()=>Z$,easeExpInOut:()=>U4,easeExpOut:()=>$$,easeLinear:()=>G$,easePoly:()=>G4,easePolyIn:()=>V$,easePolyInOut:()=>G4,easePolyOut:()=>H$,easeQuad:()=>N4,easeQuadIn:()=>z$,easeQuadInOut:()=>N4,easeQuadOut:()=>U$,easeSin:()=>z4,easeSinIn:()=>q$,easeSinInOut:()=>z4,easeSinOut:()=>K$});function G$(r){return+r}function z$(r){return r*r}function U$(r){return r*(2-r)}function N4(r){return((r*=2)<=1?r*r:--r*(2-r)+1)/2}function j$(r){return r*r*r}function W$(r){return--r*r*r+1}function F4(r){return((r*=2)<=1?r*r*r:(r-=2)*r*r+2)/2}var B4=3,V$=function r(e){e=+e;function t(n){return Math.pow(n,e)}return t.exponent=r,t}(B4),H$=function r(e){e=+e;function t(n){return 1-Math.pow(1-n,e)}return t.exponent=r,t}(B4),G4=function r(e){e=+e;function t(n){return((n*=2)<=1?Math.pow(n,e):2-Math.pow(2-n,e))/2}return t.exponent=r,t}(B4);var Y$=Math.PI,X$=Y$/2;function q$(r){return+r==1?1:1-Math.cos(r*X$)}function K$(r){return Math.sin(r*X$)}function z4(r){return(1-Math.cos(Y$*r))/2}function rh(r){return(Math.pow(2,-10*r)-.0009765625)*1.0009775171065494}function Z$(r){return rh(1-+r)}function $$(r){return 1-rh(r)}function U4(r){return((r*=2)<=1?rh(1-r):2-rh(r-1))/2}function Q$(r){return 1-Math.sqrt(1-r*r)}function J$(r){return Math.sqrt(1- --r*r)}function j4(r){return((r*=2)<=1?1-Math.sqrt(1-r*r):Math.sqrt(1-(r-=2)*r)+1)/2}var W4=4/11,$4t=6/11,Q4t=8/11,J4t=3/4,tzt=9/11,ezt=10/11,rzt=15/16,nzt=21/22,izt=63/64,M2=1/W4/W4;function tQ(r){return 1-gb(1-r)}function gb(r){return(r=+r)>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?O2(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?O2(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=ozt.exec(r))?new vu(e[1],e[2],e[3],1):(e=szt.exec(r))?new vu(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=lzt.exec(r))?O2(e[1],e[2],e[3],e[4]):(e=uzt.exec(r))?O2(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=fzt.exec(r))?hQ(e[1],e[2]/100,e[3]/100,1):(e=czt.exec(r))?hQ(e[1],e[2]/100,e[3]/100,e[4]):oQ.hasOwnProperty(r)?uQ(oQ[r]):r==="transparent"?new vu(NaN,NaN,NaN,0):null}function uQ(r){return new vu(r>>16&255,r>>8&255,r&255,1)}function O2(r,e,t,n){return n<=0&&(r=e=t=NaN),new vu(r,e,t,n)}function dzt(r){return r instanceof Ow||(r=Yv(r)),r?(r=r.rgb(),new vu(r.r,r.g,r.b,r.opacity)):new vu}function bb(r,e,t,n){return arguments.length===1?dzt(r):new vu(r,e,t,n==null?1:n)}function vu(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}I2(vu,bb,K4(Ow,{brighter:function(r){return r=r==null?L2:Math.pow(L2,r),new vu(this.r*r,this.g*r,this.b*r,this.opacity)},darker:function(r){return r=r==null?Dw:Math.pow(Dw,r),new vu(this.r*r,this.g*r,this.b*r,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:fQ,formatHex:fQ,formatRgb:cQ,toString:cQ}));function fQ(){return"#"+Z4(this.r)+Z4(this.g)+Z4(this.b)}function cQ(){var r=this.opacity;return r=isNaN(r)?1:Math.max(0,Math.min(1,r)),(r===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(r===1?")":", "+r+")")}function Z4(r){return r=Math.max(0,Math.min(255,Math.round(r)||0)),(r<16?"0":"")+r.toString(16)}function hQ(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new ih(r,e,t,n)}function dQ(r){if(r instanceof ih)return new ih(r.h,r.s,r.l,r.opacity);if(r instanceof Ow||(r=Yv(r)),!r)return new ih;if(r instanceof ih)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),o=NaN,s=a-i,l=(a+i)/2;return s?(e===a?o=(t-n)/s+(t0&&l<1?0:o,new ih(o,s,l,r.opacity)}function pQ(r,e,t,n){return arguments.length===1?dQ(r):new ih(r,e,t,n==null?1:n)}function ih(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}I2(ih,pQ,K4(Ow,{brighter:function(r){return r=r==null?L2:Math.pow(L2,r),new ih(this.h,this.s,this.l*r,this.opacity)},darker:function(r){return r=r==null?Dw:Math.pow(Dw,r),new ih(this.h,this.s,this.l*r,this.opacity)},rgb:function(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new vu($4(r>=240?r-240:r+120,i,n),$4(r,i,n),$4(r<120?r+240:r-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var r=this.opacity;return r=isNaN(r)?1:Math.max(0,Math.min(1,r)),(r===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(r===1?")":", "+r+")")}}));function $4(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function Q4(r,e,t,n,i){var a=r*r,o=a*r;return((1-3*r+3*a-o)*e+(4-6*a+3*o)*t+(1+3*r+3*a-3*o)*n+o*i)/6}function vQ(r){var e=r.length-1;return function(t){var n=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),i=r[n],a=r[n+1],o=n>0?r[n-1]:2*i-a,s=nt&&(a=e.slice(t,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Rw(n,i)})),t=nz.lastIndex;return tu.length?(l=Ly(a[s]),u=Ly(i[s]),u=s4(u,l),u=h2(u,l),e.fromAttrs.path=u,e.toAttrs.path=l):e.pathFormatted||(l=Ly(a[s]),u=Ly(i[s]),u=h2(u,l),e.fromAttrs.path=u,e.toAttrs.path=l,e.pathFormatted=!0),n[s]=[];for(var f=0;f0){for(var s=e.animators.length-1;s>=0;s--){if(n=e.animators[s],n.destroyed){e.removeAnimator(s);continue}if(!n.isAnimatePaused()){i=n.get("animations");for(var l=i.length-1;l>=0;l--)a=i[l],t=xzt(n,a,o),t&&(i.splice(l,1),t=!1,a.callback&&a.callback())}i.length===0&&e.removeAnimator(s)}var u=e.canvas.get("autoDraw");u||e.canvas.draw()}})},r.prototype.addAnimator=function(e){this.animators.push(e)},r.prototype.removeAnimator=function(e){this.animators.splice(e,1)},r.prototype.isAnimating=function(){return!!this.animators.length},r.prototype.stop=function(){this.timer&&this.timer.stop()},r.prototype.stopAllAnimations=function(e){e===void 0&&(e=!0),this.animators.forEach(function(t){t.stopAnimate(e)}),this.animators=[],this.canvas.draw()},r.prototype.getTime=function(){return this.current},r}(),EQ=bzt;var _zt=40,AQ=0;var MQ=["mousedown","mouseup","dblclick","mouseout","mouseover","mousemove","mouseleave","mouseenter","touchstart","touchmove","touchend","dragenter","dragover","dragleave","drop","contextmenu","mousewheel"];function TQ(r,e,t){t.name=e,t.target=r,t.currentTarget=r,t.delegateTarget=r,r.emit(e,t)}function Szt(r,e,t){if(t.bubbles){var n=void 0,i=!1;if(e==="mouseenter"?(n=t.fromShape,i=!0):e==="mouseleave"&&(i=!0,n=t.toShape),r.isCanvas()&&i)return;if(n&&p2(r,n)){t.bubbles=!1;return}t.name=e,t.currentTarget=r,t.delegateTarget=r,r.emit(e,t)}}var Czt=function(){function r(e){var t=this;this.draggingShape=null,this.dragging=!1,this.currentShape=null,this.mousedownShape=null,this.mousedownPoint=null,this._eventCallback=function(n){var i=n.type;t._triggerEvent(i,n)},this._onDocumentMove=function(n){var i=t.canvas,a=i.get("el");if(a!==n.target&&(t.dragging||t.currentShape)){var o=t._getPointInfo(n);t.dragging&&t._emitEvent("drag",n,o,t.draggingShape)}},this._onDocumentMouseUp=function(n){var i=t.canvas,a=i.get("el");if(a!==n.target&&t.dragging){var o=t._getPointInfo(n);t.draggingShape&&t._emitEvent("drop",n,o,null),t._emitEvent("dragend",n,o,t.draggingShape),t._afterDrag(t.draggingShape,o,n)}},this.canvas=e.canvas}return r.prototype.init=function(){this._bindEvents()},r.prototype._bindEvents=function(){var e=this,t=this.canvas.get("el");(0,Gn.each)(MQ,function(n){t.addEventListener(n,e._eventCallback)}),document&&(document.addEventListener("mousemove",this._onDocumentMove),document.addEventListener("mouseup",this._onDocumentMouseUp))},r.prototype._clearEvents=function(){var e=this,t=this.canvas.get("el");(0,Gn.each)(MQ,function(n){t.removeEventListener(n,e._eventCallback)}),document&&(document.removeEventListener("mousemove",this._onDocumentMove),document.removeEventListener("mouseup",this._onDocumentMouseUp))},r.prototype._getEventObj=function(e,t,n,i,a,o){var s=new Yu(e,t);return s.fromShape=a,s.toShape=o,s.x=n.x,s.y=n.y,s.clientX=n.clientX,s.clientY=n.clientY,s.propagationPath.push(i),s},r.prototype._getShape=function(e,t){return this.canvas.getShape(e.x,e.y,t)},r.prototype._getPointInfo=function(e){var t=this.canvas,n=t.getClientByEvent(e),i=t.getPointByEvent(e);return{x:i.x,y:i.y,clientX:n.x,clientY:n.y}},r.prototype._triggerEvent=function(e,t){var n=this._getPointInfo(t),i=this._getShape(n,t),a=this["_on"+e],o=!1;if(a)a.call(this,n,i,t);else{var s=this.currentShape;e==="mouseenter"||e==="dragenter"||e==="mouseover"?(this._emitEvent(e,t,n,null,null,i),i&&this._emitEvent(e,t,n,i,null,i),e==="mouseenter"&&this.draggingShape&&this._emitEvent("dragenter",t,n,null)):e==="mouseleave"||e==="dragleave"||e==="mouseout"?(o=!0,s&&this._emitEvent(e,t,n,s,s,null),this._emitEvent(e,t,n,null,s,null),e==="mouseleave"&&this.draggingShape&&this._emitEvent("dragleave",t,n,null)):this._emitEvent(e,t,n,i,null,null)}if(o||(this.currentShape=i),i&&!i.get("destroyed")){var l=this.canvas,u=l.get("el");u.style.cursor=i.attr("cursor")||l.get("cursor")}},r.prototype._onmousedown=function(e,t,n){n.button===AQ&&(this.mousedownShape=t,this.mousedownPoint=e,this.mousedownTimeStamp=n.timeStamp),this._emitEvent("mousedown",n,e,t,null,null)},r.prototype._emitMouseoverEvents=function(e,t,n,i){var a=this.canvas.get("el");n!==i&&(n&&(this._emitEvent("mouseout",e,t,n,n,i),this._emitEvent("mouseleave",e,t,n,n,i),(!i||i.get("destroyed"))&&(a.style.cursor=this.canvas.get("cursor"))),i&&(this._emitEvent("mouseover",e,t,i,n,i),this._emitEvent("mouseenter",e,t,i,n,i)))},r.prototype._emitDragoverEvents=function(e,t,n,i,a){i?(i!==n&&(n&&this._emitEvent("dragleave",e,t,n,n,i),this._emitEvent("dragenter",e,t,i,n,i)),a||this._emitEvent("dragover",e,t,i)):n&&this._emitEvent("dragleave",e,t,n,n,i),a&&this._emitEvent("dragover",e,t,i)},r.prototype._afterDrag=function(e,t,n){e&&(e.set("capture",!0),this.draggingShape=null),this.dragging=!1;var i=this._getShape(t,n);i!==e&&this._emitMouseoverEvents(n,t,e,i),this.currentShape=i},r.prototype._onmouseup=function(e,t,n){if(n.button===AQ){var i=this.draggingShape;this.dragging?(i&&this._emitEvent("drop",n,e,t),this._emitEvent("dragend",n,e,i),this._afterDrag(i,e,n)):(this._emitEvent("mouseup",n,e,t),t===this.mousedownShape&&this._emitEvent("click",n,e,t),this.mousedownShape=null,this.mousedownPoint=null)}},r.prototype._ondragover=function(e,t,n){n.preventDefault();var i=this.currentShape;this._emitDragoverEvents(n,e,i,t,!0)},r.prototype._onmousemove=function(e,t,n){var i=this.canvas,a=this.currentShape,o=this.draggingShape;if(this.dragging)o&&this._emitDragoverEvents(n,e,a,t,!1),this._emitEvent("drag",n,e,o);else{var s=this.mousedownPoint;if(s){var l=this.mousedownShape,u=n.timeStamp,f=u-this.mousedownTimeStamp,c=s.clientX-e.clientX,h=s.clientY-e.clientY,d=c*c+h*h;f>120||d>_zt?l&&l.get("draggable")?(o=this.mousedownShape,o.set("capture",!1),this.draggingShape=o,this.dragging=!0,this._emitEvent("dragstart",n,e,o),this.mousedownShape=null,this.mousedownPoint=null):!l&&i.get("draggable")?(this.dragging=!0,this._emitEvent("dragstart",n,e,null),this.mousedownShape=null,this.mousedownPoint=null):(this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t)):(this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t))}else this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t)}},r.prototype._emitEvent=function(e,t,n,i,a,o){var s=this._getEventObj(e,t,n,i,a,o);if(i){s.shape=i,TQ(i,e,s);for(var l=i.getParent();l;)l.emitDelegation(e,s),s.propagationStopped||Szt(l,e,s),s.propagationPath.push(l),l=l.getParent()}else{var u=this.canvas;TQ(u,e,s)}},r.prototype.destroy=function(){this._clearEvents(),this.canvas=null,this.currentShape=null,this.draggingShape=null,this.mousedownPoint=null,this.mousedownShape=null,this.mousedownTimeStamp=null},r}(),IQ=Czt;var LQ="px",OQ=v2(),wzt=OQ&&OQ.name==="firefox",Ezt=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.initContainer(),n.initDom(),n.initEvents(),n.initTimeline(),n}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.cursor="default",t.supportCSSTransform=!1,t},e.prototype.initContainer=function(){var t=this.get("container");(0,Gn.isString)(t)&&(t=document.getElementById(t),this.set("container",t))},e.prototype.initDom=function(){var t=this.createDom();this.set("el",t);var n=this.get("container");n.appendChild(t),this.setDOMSize(this.get("width"),this.get("height"))},e.prototype.initEvents=function(){var t=new IQ({canvas:this});t.init(),this.set("eventController",t)},e.prototype.initTimeline=function(){var t=new EQ(this);this.set("timeline",t)},e.prototype.setDOMSize=function(t,n){var i=this.get("el");u4&&(i.style.width=t+LQ,i.style.height=n+LQ)},e.prototype.changeSize=function(t,n){this.setDOMSize(t,n),this.set("width",t),this.set("height",n),this.onCanvasChange("changeSize")},e.prototype.getRenderer=function(){return this.get("renderer")},e.prototype.getCursor=function(){return this.get("cursor")},e.prototype.setCursor=function(t){this.set("cursor",t);var n=this.get("el");u4&&n&&(n.style.cursor=t)},e.prototype.getPointByEvent=function(t){var n=this.get("supportCSSTransform");if(n){if(wzt&&!(0,Gn.isNil)(t.layerX)&&t.layerX!==t.offsetX)return{x:t.layerX,y:t.layerY};if(!(0,Gn.isNil)(t.offsetX))return{x:t.offsetX,y:t.offsetY}}var i=this.getClientByEvent(t),a=i.x,o=i.y;return this.getPointByClient(a,o)},e.prototype.getClientByEvent=function(t){var n=t;return t.touches&&(t.type==="touchend"?n=t.changedTouches[0]:n=t.touches[0]),{x:n.clientX,y:n.clientY}},e.prototype.getPointByClient=function(t,n){var i=this.get("el"),a=i.getBoundingClientRect();return{x:t-a.left,y:n-a.top}},e.prototype.getClientByPoint=function(t,n){var i=this.get("el"),a=i.getBoundingClientRect();return{x:t+a.left,y:n+a.top}},e.prototype.draw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.parentNode.removeChild(t)},e.prototype.clearEvents=function(){var t=this.get("eventController");t.destroy()},e.prototype.isCanvas=function(){return!0},e.prototype.getParent=function(){return null},e.prototype.destroy=function(){var t=this.get("timeline");this.get("destroyed")||(this.clear(),t&&t.stop(),this.clearEvents(),this.removeDom(),r.prototype.destroy.call(this))},e}(C2),Ry=Ezt;var Azt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.isGroup=function(){return!0},e.prototype.isEntityGroup=function(){return!1},e.prototype.clone=function(){for(var t=r.prototype.clone.call(this),n=this.getChildren(),i=0;i=t&&i.minY<=n&&i.maxY>=n},e.prototype.afterAttrsChange=function(t){r.prototype.afterAttrsChange.call(this,t),this.clearCacheBBox()},e.prototype.getBBox=function(){var t=this.cfg.bbox;return t||(t=this.calculateBBox(),this.set("bbox",t)),t},e.prototype.getCanvasBBox=function(){var t=this.cfg.canvasBBox;return t||(t=this.calculateCanvasBBox(),this.set("canvasBBox",t)),t},e.prototype.applyMatrix=function(t){r.prototype.applyMatrix.call(this,t),this.set("canvasBBox",null)},e.prototype.calculateCanvasBBox=function(){var t=this.getBBox(),n=this.getTotalMatrix(),i=t.minX,a=t.minY,o=t.maxX,s=t.maxY;if(n){var l=pu(n,[t.minX,t.minY]),u=pu(n,[t.maxX,t.minY]),f=pu(n,[t.minX,t.maxY]),c=pu(n,[t.maxX,t.maxY]);i=Math.min(l[0],u[0],f[0],c[0]),o=Math.max(l[0],u[0],f[0],c[0]),a=Math.min(l[1],u[1],f[1],c[1]),s=Math.max(l[1],u[1],f[1],c[1])}var h=this.attrs;if(h.shadowColor){var d=h.shadowBlur,p=d===void 0?0:d,v=h.shadowOffsetX,m=v===void 0?0:v,g=h.shadowOffsetY,x=g===void 0?0:g,b=i-p+m,S=o+p+m,C=a-p+x,w=s+p+x;i=Math.min(i,b),o=Math.max(o,S),a=Math.min(a,C),s=Math.max(s,w)}return{x:i,y:a,minX:i,minY:a,maxX:o,maxY:s,width:o-i,height:s-a}},e.prototype.clearCacheBBox=function(){this.set("bbox",null),this.set("canvasBBox",null)},e.prototype.isClipShape=function(){return this.get("isClipShape")},e.prototype.isInShape=function(t,n){return!1},e.prototype.isOnlyHitBox=function(){return!1},e.prototype.isHit=function(t,n){var i=this.get("startArrowShape"),a=this.get("endArrowShape"),o=[t,n,1];o=this.invertFromMatrix(o);var s=o[0],l=o[1],u=this._isInBBox(s,l);return this.isOnlyHitBox()?u:!!(u&&!this.isClipped(s,l)&&(this.isInShape(s,l)||i&&i.isHit(s,l)||a&&a.isHit(s,l)))},e}(S2),Kv=Mzt;var DQ=new Map;function Kf(r,e){DQ.set(r,e)}function Zv(r){return DQ.get(r)}function iz(r){var e=r.attr(),t=e.x,n=e.y,i=e.width,a=e.height;return{x:t,y:n,width:i,height:a}}function az(r){var e=r.attr(),t=e.x,n=e.y,i=e.r;return{x:t-i,y:n-i,width:i*2,height:i*2}}var _b={};Dn(_b,{distance:()=>xa,getBBoxByArray:()=>ep,getBBoxRange:()=>Tzt,isNumberEqual:()=>Ny,piMod:()=>rp});function R2(r){return Math.min.apply(null,r)}function N2(r){return Math.max.apply(null,r)}function xa(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function Ny(r,e){return Math.abs(r-e)<.001}function ep(r,e){var t=R2(r),n=R2(e),i=N2(r),a=N2(e);return{x:t,y:n,width:i-t,height:a-n}}function Tzt(r,e,t,n){return{minX:R2([r,t]),maxX:N2([r,t]),minY:R2([e,n]),maxY:N2([e,n])}}function rp(r){return(r+Math.PI*2)%(Math.PI*2)}var Vi={box:function(r,e,t,n){return ep([r,t],[e,n])},length:function(r,e,t,n){return xa(r,e,t,n)},pointAt:function(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}},pointDistance:function(r,e,t,n,i,a){var o=(t-r)*(i-r)+(n-e)*(a-e);if(o<0)return xa(r,e,i,a);var s=(t-r)*(t-r)+(n-e)*(n-e);return o>s?xa(t,n,i,a):this.pointToLine(r,e,t,n,i,a)},pointToLine:function(r,e,t,n,i,a){var o=[t-r,n-e];if(I4(o,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var s=[-o[1],o[0]];M4(s,s);var l=[i-r,a-e];return Math.abs(T4(l,s))},tangentAngle:function(r,e,t,n){return Math.atan2(n-e,t-r)}};var Izt=1e-4;function F2(r,e,t,n,i,a){var o,s=1/0,l=[t,n],u=20;a&&a>200&&(u=a/10);for(var f=1/u,c=f/10,h=0;h<=u;h++){var d=h*f,p=[i.apply(null,r.concat([d])),i.apply(null,e.concat([d]))],v=xa(l[0],l[1],p[0],p[1]);v=0&&v=0?[i]:[]}function RQ(r,e,t,n){return 2*(1-n)*(e-r)+2*n*(t-e)}function NQ(r,e,t,n,i,a,o){var s=$v(r,t,i,o),l=$v(e,n,a,o),u=Vi.pointAt(r,e,t,n,o),f=Vi.pointAt(t,n,i,a,o);return[[r,e,u.x,u.y,s,l],[s,l,f.x,f.y,i,a]]}function oz(r,e,t,n,i,a,o){if(o===0)return(xa(r,e,t,n)+xa(t,n,i,a)+xa(r,e,i,a))/2;var s=NQ(r,e,t,n,i,a,.5),l=s[0],u=s[1];return l.push(o-1),u.push(o-1),oz.apply(null,l)+oz.apply(null,u)}var Nw={box:function(r,e,t,n,i,a){var o=kQ(r,t,i)[0],s=kQ(e,n,a)[0],l=[r,i],u=[e,a];return o!==void 0&&l.push($v(r,t,i,o)),s!==void 0&&u.push($v(e,n,a,s)),ep(l,u)},length:function(r,e,t,n,i,a){return oz(r,e,t,n,i,a,3)},nearestPoint:function(r,e,t,n,i,a,o,s){return F2([r,t,i],[e,n,a],o,s,$v)},pointDistance:function(r,e,t,n,i,a,o,s){var l=this.nearestPoint(r,e,t,n,i,a,o,s);return xa(l.x,l.y,o,s)},interpolationAt:$v,pointAt:function(r,e,t,n,i,a,o){return{x:$v(r,t,i,o),y:$v(e,n,a,o)}},divide:function(r,e,t,n,i,a,o){return NQ(r,e,t,n,i,a,o)},tangentAngle:function(r,e,t,n,i,a,o){var s=RQ(r,t,i,o),l=RQ(e,n,a,o),u=Math.atan2(l,s);return rp(u)}};function Qv(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function FQ(r,e,t,n,i){var a=1-i;return 3*(a*a*(e-r)+2*a*i*(t-e)+i*i*(n-t))}function sz(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,o=3*e-3*r,s=[],l,u,f;if(Ny(i,0))Ny(a,0)||(l=-o/a,l>=0&&l<=1&&s.push(l));else{var c=a*a-4*i*o;Ny(c,0)?s.push(-a/(2*i)):c>0&&(f=Math.sqrt(c),l=(-a+f)/(2*i),u=(-a-f)/(2*i),l>=0&&l<=1&&s.push(l),u>=0&&u<=1&&s.push(u))}return s}function BQ(r,e,t,n,i,a,o,s,l){var u=Qv(r,t,i,o,l),f=Qv(e,n,a,s,l),c=Vi.pointAt(r,e,t,n,l),h=Vi.pointAt(t,n,i,a,l),d=Vi.pointAt(i,a,o,s,l),p=Vi.pointAt(c.x,c.y,h.x,h.y,l),v=Vi.pointAt(h.x,h.y,d.x,d.y,l);return[[r,e,c.x,c.y,p.x,p.y,u,f],[u,f,v.x,v.y,d.x,d.y,o,s]]}function lz(r,e,t,n,i,a,o,s,l){if(l===0)return PQ([r,t,i,o],[e,n,a,s]);var u=BQ(r,e,t,n,i,a,o,s,.5),f=u[0],c=u[1];return f.push(l-1),c.push(l-1),lz.apply(null,f)+lz.apply(null,c)}var np={extrema:sz,box:function(r,e,t,n,i,a,o,s){for(var l=[r,o],u=[e,s],f=sz(r,t,i,o),c=sz(e,n,a,s),h=0;h0?t:t*-1}var zQ={box:function(r,e,t,n){return{x:r-t,y:e-n,width:t*2,height:n*2}},length:function(r,e,t,n){return Math.PI*(3*(t+n)-Math.sqrt((3*t+n)*(t+3*n)))},nearestPoint:function(r,e,t,n,i,a){var o=t,s=n;if(o===0||s===0)return{x:r,y:e};for(var l=i-r,u=a-e,f=Math.abs(l),c=Math.abs(u),h=o*o,d=s*s,p=Math.PI/4,v,m,g=0;g<4;g++){v=o*Math.cos(p),m=s*Math.sin(p);var x=(h-d)*Math.pow(Math.cos(p),3)/o,b=(d-h)*Math.pow(Math.sin(p),3)/s,S=v-x,C=m-b,w=f-x,A=c-b,I=Math.hypot(C,S),P=Math.hypot(A,w),L=I*Math.asin((S*A-C*w)/(I*P)),M=L/Math.sqrt(h+d-v*v-m*m);p+=M,p=Math.min(Math.PI/2,Math.max(0,p))}return{x:r+GQ(v,l),y:e+GQ(m,u)}},pointDistance:function(r,e,t,n,i,a){var o=this.nearestPoint(r,e,t,n,i,a);return xa(o.x,o.y,i,a)},pointAt:function(r,e,t,n,i){var a=2*Math.PI*i;return{x:r+t*Math.cos(a),y:e+n*Math.sin(a)}},tangentAngle:function(r,e,t,n,i){var a=2*Math.PI*i,o=Math.atan2(n*Math.cos(a),-t*Math.sin(a));return rp(o)}};function Lzt(r,e,t,n,i,a,o,s){return-1*t*Math.cos(i)*Math.sin(s)-n*Math.sin(i)*Math.cos(s)}function Ozt(r,e,t,n,i,a,o,s){return-1*t*Math.sin(i)*Math.sin(s)+n*Math.cos(i)*Math.cos(s)}function Dzt(r,e,t){return Math.atan(-e/r*Math.tan(t))}function Pzt(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function UQ(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function jQ(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function kzt(r,e,t,n){var i=Math.atan2(n*r,t*e);return(i+Math.PI*2)%(Math.PI*2)}function WQ(r,e,t){return{x:r*Math.cos(t),y:e*Math.sin(t)}}function VQ(r,e,t){var n=Math.cos(t),i=Math.sin(t);return[r*n-e*i,r*i+e*n]}var uz={box:function(r,e,t,n,i,a,o){for(var s=Dzt(t,n,i),l=1/0,u=-1/0,f=[a,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var h=s+c;au&&(u=d)}for(var p=Pzt(t,n,i),v=1/0,m=-1/0,g=[a,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var x=p+c;am&&(m=b)}return{x:l,y:v,width:u-l,height:m-v}},length:function(r,e,t,n,i,a,o){},nearestPoint:function(r,e,t,n,i,a,o,s,l){var u=VQ(s-r,l-e,-i),f=u[0],c=u[1],h=zQ.nearestPoint(0,0,t,n,f,c),d=kzt(t,n,h.x,h.y);do&&(h=WQ(t,n,o));var p=VQ(h.x,h.y,i);return{x:p[0]+r,y:p[1]+e}},pointDistance:function(r,e,t,n,i,a,o,s,l){var u=this.nearestPoint(r,e,t,n,s,l);return xa(u.x,u.y,s,l)},pointAt:function(r,e,t,n,i,a,o,s){var l=(o-a)*s+a;return{x:UQ(r,e,t,n,i,l),y:jQ(r,e,t,n,i,l)}},tangentAngle:function(r,e,t,n,i,a,o,s){var l=(o-a)*s+a,u=Lzt(r,e,t,n,i,a,o,l),f=Ozt(r,e,t,n,i,a,o,l);return rp(Math.atan2(f,u))}};function HQ(r){for(var e=0,t=[],n=0;n1||e<0||r.length<2)return null;var t=HQ(r),n=t.segments,i=t.totalLength;if(i===0)return{x:r[0][0],y:r[0][1]};for(var a=0,o=null,s=0;s=a&&e<=a+c){var h=(e-a)/c;o=Vi.pointAt(u[0],u[1],f[0],f[1],h);break}a+=c}return o}function hz(r,e){if(e>1||e<0||r.length<2)return 0;for(var t=HQ(r),n=t.segments,i=t.totalLength,a=0,o=0,s=0;s=a&&e<=a+c){o=Math.atan2(f[1]-u[1],f[0]-u[0]);break}a+=c}return o}function dz(r,e,t){for(var n=1/0,i=0;i1){var i=Rzt(e,t);return e*n+i*(n-1)}return e}function Rzt(r,e){return e?e-r:r*.14}function KQ(r,e){var t=Fy(),n=0;if((0,Gn.isNil)(r)||r==="")return n;if(t.save(),t.font=e,(0,Gn.isString)(r)&&r.includes(` +`+r.slice(o+1):l+=r.slice(i),l.slice(1)}function $Ot(r){for(var e="",t=0,n,i=0;i=65536?i+=2:i++)t=vw(r,i),n=Cs[t],!n&&pw(t)?(e+=r[i],t>=65536&&(e+=r[i+1])):e+=n||jOt(t);return e}function QOt(r,e,t){var n="",i=r.tag,a,o,s;for(a=0,o=t.length;a1024&&(f+="? "),f+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),!!Qd(r,e,u,!1,!1)&&(f+=r.dump,n+=f));r.tag=i,r.dump="{"+n+"}"}function tDt(r,e,t,n){var i="",a=r.tag,o=Object.keys(t),s,l,u,f,c,h;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new Us("sortKeys must be a boolean or a function");for(s=0,l=o.length;s1024,c&&(r.dump&&hw===r.dump.charCodeAt(0)?h+="?":h+="? "),h+=r.dump,c&&(h+=v3(r,e)),!!Qd(r,e+1,f,!0,c)&&(r.dump&&hw===r.dump.charCodeAt(0)?h+=":":h+=": ",h+=r.dump,i+=h));r.tag=a,r.dump=i||"{}"}function W7(r,e,t){var n,i,a,o,s,l;for(i=t?r.explicitTypes:r.implicitTypes,a=0,o=i.length;a tag resolver accepts not "'+l+'" style');r.dump=n}return!0}return!1}function Qd(r,e,t,n,i,a,o){r.tag=null,r.dump=t,W7(r,t,!1)||W7(r,t,!0);var s=E7.call(r.dump),l=n,u;n&&(n=r.flowLevel<0||r.flowLevel>e);var f=s==="[object Object]"||s==="[object Array]",c,h;if(f&&(c=r.duplicates.indexOf(t),h=c!==-1),(r.tag!==null&&r.tag!=="?"||h||r.indent!==2&&e>0)&&(i=!1),h&&r.usedDuplicates[c])r.dump="*ref_"+c;else{if(f&&h&&!r.usedDuplicates[c]&&(r.usedDuplicates[c]=!0),s==="[object Object]")n&&Object.keys(r.dump).length!==0?(tDt(r,e,r.dump,i),h&&(r.dump="&ref_"+c+r.dump)):(JOt(r,e,r.dump),h&&(r.dump="&ref_"+c+" "+r.dump));else if(s==="[object Array]")n&&r.dump.length!==0?(r.noArrayIndent&&!o&&e>0?j7(r,e-1,r.dump,i):j7(r,e,r.dump,i),h&&(r.dump="&ref_"+c+r.dump)):(QOt(r,e,r.dump),h&&(r.dump="&ref_"+c+" "+r.dump));else if(s==="[object String]")r.tag!=="?"&&KOt(r,r.dump,e,a,l);else{if(s==="[object Undefined]")return!1;if(r.skipInvalid)return!1;throw new Us("unacceptable kind of an object to dump "+s)}r.tag!==null&&r.tag!=="?"&&(u=encodeURI(r.tag[0]==="!"?r.tag.slice(1):r.tag).replace(/!/g,"%21"),r.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",r.dump=u+" "+r.dump)}return!0}function eDt(r,e){var t=[],n=[],i,a;for(g3(r,t,n),i=0,a=n.length;i2&&(o.children=arguments.length>3?mw.call(arguments,2):t),typeof r=="function"&&r.defaultProps!=null)for(a in r.defaultProps)o[a]===void 0&&(o[a]=r.defaultProps[a]);return gw(r,o,n,i,null)}function gw(r,e,t,n,i){var a={type:r,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i==null?++H7:i};return i==null&&Tr.vnode!=null&&Tr.vnode(a),a}function b3(){return{current:null}}function ws(r){return r.children}function Vu(r,e){this.props=r,this.context=e}function yw(r,e){if(e==null)return r.__?yw(r.__,r.__.__k.indexOf(r)+1):null;for(var t;ee&&Iy.sort(x3));HI.__r=0}function Q7(r,e,t,n,i,a,o,s,l,u){var f,c,h,d,p,v,m,g=n&&n.__k||K7,x=g.length;for(t.__k=[],f=0;f0?gw(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)!=null){if(d.__=t,d.__b=t.__b+1,(h=g[f])===null||h&&d.key==h.key&&d.type===h.type)g[f]=void 0;else for(c=0;c=0;e--)if((t=r.__k[e])&&(n=eq(t)))return n}return null}function SDt(r,e,t,n,i){var a;for(a in t)a==="children"||a==="key"||a in e||YI(r,a,null,t[a],n);for(a in e)i&&typeof e[a]!="function"||a==="children"||a==="key"||a==="value"||a==="checked"||t[a]===e[a]||YI(r,a,e[a],t[a],n)}function rq(r,e,t){e[0]==="-"?r.setProperty(e,t==null?"":t):r[e]=t==null?"":typeof t!="number"||_Dt.test(e)?t:t+"px"}function YI(r,e,t,n,i){var a;t:if(e==="style")if(typeof t=="string")r.style.cssText=t;else{if(typeof n=="string"&&(r.style.cssText=n=""),n)for(e in n)t&&e in t||rq(r.style,e,"");if(t)for(e in t)n&&t[e]===n[e]||rq(r.style,e,t[e])}else if(e[0]==="o"&&e[1]==="n")a=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in r?e.toLowerCase().slice(2):e.slice(2),r.l||(r.l={}),r.l[e+a]=t,t?n||r.addEventListener(e,a?iq:nq,a):r.removeEventListener(e,a?iq:nq,a);else if(e!=="dangerouslySetInnerHTML"){if(i)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in r)try{r[e]=t==null?"":t;break t}catch(o){}typeof t=="function"||(t==null||t===!1&&e[4]!=="-"?r.removeAttribute(e):r.setAttribute(e,t))}}function nq(r){return this.l[r.type+!1](Tr.event?Tr.event(r):r)}function iq(r){return this.l[r.type+!0](Tr.event?Tr.event(r):r)}function S3(r,e,t,n,i,a,o,s,l){var u,f,c,h,d,p,v,m,g,x,b,S,C,w,A,L=e.type;if(e.constructor!==void 0)return null;t.__h!=null&&(l=t.__h,s=e.__e=t.__e,e.__h=null,a=[s]),(u=Tr.__b)&&u(e);try{t:if(typeof L=="function"){if(m=e.props,g=(u=L.contextType)&&n[u.__c],x=u?g?g.props.value:u.__:n,t.__c?v=(f=e.__c=t.__c).__=f.__E:("prototype"in L&&L.prototype.render?e.__c=f=new L(m,x):(e.__c=f=new Vu(m,x),f.constructor=L,f.render=wDt),g&&g.sub(f),f.props=m,f.state||(f.state={}),f.context=x,f.__n=n,c=f.__d=!0,f.__h=[],f._sb=[]),f.__s==null&&(f.__s=f.state),L.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=Jd({},f.__s)),Jd(f.__s,L.getDerivedStateFromProps(m,f.__s))),h=f.props,d=f.state,f.__v=e,c)L.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(L.getDerivedStateFromProps==null&&m!==h&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(m,x),!f.__e&&f.shouldComponentUpdate!=null&&f.shouldComponentUpdate(m,f.__s,x)===!1||e.__v===t.__v){for(e.__v!==t.__v&&(f.props=m,f.state=f.__s,f.__d=!1),f.__e=!1,e.__e=t.__e,e.__k=t.__k,e.__k.forEach(function(k){k&&(k.__=e)}),b=0;b2&&(o.children=arguments.length>3?mw.call(arguments,2):t),gw(r.type,o,n||r.key,i||r.ref,null)}function w3(r,e){var t={__c:e="__cC"+q7++,__:r,Consumer:function(n,i){return n.children(i)},Provider:function(n){var i,a;return this.getChildContext||(i=[],(a={})[e]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(function(s){s.__e=!0,_3(s)})},this.sub=function(o){i.push(o);var s=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),s&&s.call(o)}}),n.children}};return t.Provider.__=t.Consumer.contextType=t}mw=K7.slice,Tr={__e:function(r,e,t,n){for(var i,a,o;e=e.__;)if((i=e.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(r)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(r,n||{}),o=i.__d),o)return i.__E=i}catch(s){r=s}throw r}},H7=0,bDt=function(r){return r!=null&&r.constructor===void 0},Vu.prototype.setState=function(r,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Jd({},this.state),typeof r=="function"&&(r=r(Jd({},t),this.props)),r&&Jd(t,r),r!=null&&this.__v&&(e&&this._sb.push(e),_3(this))},Vu.prototype.forceUpdate=function(r){this.__v&&(this.__e=!0,r&&this.__h.push(r),_3(this))},Vu.prototype.render=ws,Iy=[],X7=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,x3=function(r,e){return r.__v.__b-e.__v.__b},HI.__r=0,q7=0;var Ly,la,E3,uq,hb=0,fq=[],XI=[],cq=Tr.__b,hq=Tr.__r,dq=Tr.diffed,pq=Tr.__c,vq=Tr.unmount;function db(r,e){Tr.__h&&Tr.__h(la,r,hb||e),hb=0;var t=la.__H||(la.__H={__:[],__h:[]});return r>=t.__.length&&t.__.push({__V:XI}),t.__[r]}function xw(r){return hb=1,A3(bq,r)}function A3(r,e,t){var n=db(Ly++,2);if(n.t=r,!n.__c&&(n.__=[t?t(e):bq(void 0,e),function(s){var l=n.__N?n.__N[0]:n.__[0],u=n.t(l,s);l!==u&&(n.__N=[u,n.__[1]],n.__c.setState({}))}],n.__c=la,!la.u)){var i=function(s,l,u){if(!n.__c.__H)return!0;var f=n.__c.__H.__.filter(function(h){return h.__c});if(f.every(function(h){return!h.__N}))return!a||a.call(this,s,l,u);var c=!1;return f.forEach(function(h){if(h.__N){var d=h.__[0];h.__=h.__N,h.__N=void 0,d!==h.__[0]&&(c=!0)}}),!(!c&&n.__c.props===s)&&(!a||a.call(this,s,l,u))};la.u=!0;var a=la.shouldComponentUpdate,o=la.componentWillUpdate;la.componentWillUpdate=function(s,l,u){if(this.__e){var f=a;a=void 0,i(s,l,u),a=f}o&&o.call(this,s,l,u)},la.shouldComponentUpdate=i}return n.__N||n.__}function De(r,e){var t=db(Ly++,3);!Tr.__s&&T3(t.__H,e)&&(t.__=r,t.i=e,la.__H.__h.push(t))}function bw(r,e){var t=db(Ly++,4);!Tr.__s&&T3(t.__H,e)&&(t.__=r,t.i=e,la.__h.push(t))}function Fa(r){return hb=5,qI(function(){return{current:r}},[])}function ur(r,e,t){hb=6,bw(function(){return typeof r=="function"?(r(e()),function(){return r(null)}):r?(r.current=e(),function(){return r.current=null}):void 0},t==null?t:t.concat(r))}function qI(r,e){var t=db(Ly++,7);return T3(t.__H,e)?(t.__V=r(),t.i=e,t.__h=r,t.__V):t.__}function KI(r,e){return hb=8,qI(function(){return r},e)}function mq(r){var e=la.context[r.__c],t=db(Ly++,9);return t.c=r,e?(t.__==null&&(t.__=!0,e.sub(la)),e.props.value):r.__}function gq(r,e){Tr.useDebugValue&&Tr.useDebugValue(e?e(r):r)}function yq(){var r=db(Ly++,11);if(!r.__){for(var e=la.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var t=e.__m||(e.__m=[0,0]);r.__="P"+t[0]+"-"+t[1]++}return r.__}function EDt(){for(var r;r=fq.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(ZI),r.__H.__h.forEach(M3),r.__H.__h=[]}catch(e){r.__H.__h=[],Tr.__e(e,r.__v)}}Tr.__b=function(r){la=null,cq&&cq(r)},Tr.__r=function(r){hq&&hq(r),Ly=0;var e=(la=r.__c).__H;e&&(E3===la?(e.__h=[],la.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.__V=XI,t.__N=t.i=void 0})):(e.__h.forEach(ZI),e.__h.forEach(M3),e.__h=[])),E3=la},Tr.diffed=function(r){dq&&dq(r);var e=r.__c;e&&e.__H&&(e.__H.__h.length&&(fq.push(e)!==1&&uq===Tr.requestAnimationFrame||((uq=Tr.requestAnimationFrame)||ADt)(EDt)),e.__H.__.forEach(function(t){t.i&&(t.__H=t.i),t.__V!==XI&&(t.__=t.__V),t.i=void 0,t.__V=XI})),E3=la=null},Tr.__c=function(r,e){e.some(function(t){try{t.__h.forEach(ZI),t.__h=t.__h.filter(function(n){return!n.__||M3(n)})}catch(n){e.some(function(i){i.__h&&(i.__h=[])}),e=[],Tr.__e(n,t.__v)}}),pq&&pq(r,e)},Tr.unmount=function(r){vq&&vq(r);var e,t=r.__c;t&&t.__H&&(t.__H.__.forEach(function(n){try{ZI(n)}catch(i){e=i}}),t.__H=void 0,e&&Tr.__e(e,t.__v))};var xq=typeof requestAnimationFrame=="function";function ADt(r){var e,t=function(){clearTimeout(n),xq&&cancelAnimationFrame(e),setTimeout(r)},n=setTimeout(t,100);xq&&(e=requestAnimationFrame(t))}function ZI(r){var e=la,t=r.__c;typeof t=="function"&&(r.__c=void 0,t()),la=e}function M3(r){var e=la;r.__c=r.__(),la=e}function T3(r,e){return!r||r.length!==e.length||e.some(function(t,n){return t!==r[n]})}function bq(r,e){return typeof e=="function"?e(r):e}function _q(r,e){for(var t in e)r[t]=e[t];return r}function I3(r,e){for(var t in r)if(t!=="__source"&&!(t in e))return!0;for(var n in e)if(n!=="__source"&&r[n]!==e[n])return!0;return!1}function L3(r,e){return r===e&&(r!==0||1/r==1/e)||r!=r&&e!=e}function O3(r){this.props=r}function MDt(r,e){function t(i){var a=this.props.ref,o=a==i.ref;return!o&&a&&(a.call?a(null):a.current=null),e?!e(this.props,i)||!o:I3(this.props,i)}function n(i){return this.shouldComponentUpdate=t,si(r,i)}return n.displayName="Memo("+(r.displayName||r.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n}(O3.prototype=new Vu).isPureReactComponent=!0,O3.prototype.shouldComponentUpdate=function(r,e){return I3(this.props,r)||I3(this.state,e)};var Sq=Tr.__b;Tr.__b=function(r){r.type&&r.type.__f&&r.ref&&(r.props.ref=r.ref,r.ref=null),Sq&&Sq(r)};var TDt=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function cr(r){function e(t){var n=_q({},t);return delete n.ref,r(n,t.ref||null)}return e.$$typeof=TDt,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(r.displayName||r.name)+")",e}var Cq=function(r,e){return r==null?null:Qc(Qc(r).map(e))},IDt={map:Cq,forEach:Cq,count:function(r){return r?Qc(r).length:0},only:function(r){var e=Qc(r);if(e.length!==1)throw"Children.only";return e[0]},toArray:Qc},LDt=Tr.__e;Tr.__e=function(r,e,t,n){if(r.then){for(var i,a=e;a=a.__;)if((i=a.__c)&&i.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),i.__c(r,e)}LDt(r,e,t,n)};var wq=Tr.unmount;function Eq(r,e,t){return r&&(r.__c&&r.__c.__H&&(r.__c.__H.__.forEach(function(n){typeof n.__c=="function"&&n.__c()}),r.__c.__H=null),(r=_q({},r)).__c!=null&&(r.__c.__P===t&&(r.__c.__P=e),r.__c=null),r.__k=r.__k&&r.__k.map(function(n){return Eq(n,e,t)})),r}function Aq(r,e,t){return r&&(r.__v=null,r.__k=r.__k&&r.__k.map(function(n){return Aq(n,e,t)}),r.__c&&r.__c.__P===e&&(r.__e&&t.insertBefore(r.__e,r.__d),r.__c.__e=!0,r.__c.__P=t)),r}function $I(){this.__u=0,this.t=null,this.__b=null}function Mq(r){var e=r.__.__c;return e&&e.__a&&e.__a(r)}function ODt(r){var e,t,n;function i(a){if(e||(e=r()).then(function(o){t=o.default||o},function(o){n=o}),n)throw n;if(!t)throw e;return si(t,a)}return i.displayName="Lazy",i.__f=!0,i}function _w(){this.u=null,this.o=null}Tr.unmount=function(r){var e=r.__c;e&&e.__R&&e.__R(),e&&r.__h===!0&&(r.type=null),wq&&wq(r)},($I.prototype=new Vu).__c=function(r,e){var t=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(t);var i=Mq(n.__v),a=!1,o=function(){a||(a=!0,t.__R=null,i?i(s):s())};t.__R=o;var s=function(){if(!--n.__u){if(n.state.__a){var u=n.state.__a;n.__v.__k[0]=Aq(u,u.__c.__P,u.__c.__O)}var f;for(n.setState({__a:n.__b=null});f=n.t.pop();)f.forceUpdate()}},l=e.__h===!0;n.__u++||l||n.setState({__a:n.__b=n.__v.__k[0]}),r.then(o,o)},$I.prototype.componentWillUnmount=function(){this.t=[]},$I.prototype.render=function(r,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=Eq(this.__b,t,n.__O=n.__P)}this.__b=null}var i=e.__a&&si(ws,null,r.fallback);return i&&(i.__h=null),[si(ws,null,e.__a?null:r.children),i]};var Tq=function(r,e,t){if(++t[1]===t[0]&&r.o.delete(e),r.props.revealOrder&&(r.props.revealOrder[0]!=="t"||!r.o.size))for(t=r.u;t;){for(;t.length>3;)t.pop()();if(t[1]>>1,1),e.i.removeChild(n)}}),cb(si(DDt,{context:e.context},r.__v),e.l)):e.l&&e.componentWillUnmount()}function kDt(r,e){var t=si(PDt,{__v:r,i:e});return t.containerInfo=e,t}(_w.prototype=new Vu).__a=function(r){var e=this,t=Mq(e.__v),n=e.o.get(r);return n[0]++,function(i){var a=function(){e.props.revealOrder?(n.push(i),Tq(e,r,n)):i()};t?t(a):a()}},_w.prototype.render=function(r){this.u=null,this.o=new Map;var e=Qc(r.children);r.revealOrder&&r.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return r.children},_w.prototype.componentDidUpdate=_w.prototype.componentDidMount=function(){var r=this;this.o.forEach(function(e,t){Tq(r,t,e)})};var Iq=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,RDt=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,NDt=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,FDt=/[A-Z0-9]/g,BDt=typeof document!="undefined",GDt=function(r){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(r)};function QI(r,e,t){return e.__k==null&&(e.textContent=""),cb(r,e),typeof t=="function"&&t(),r?r.__c:null}function zDt(r,e,t){return C3(r,e),typeof t=="function"&&t(),r?r.__c:null}Vu.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(r){Object.defineProperty(Vu.prototype,r,{configurable:!0,get:function(){return this["UNSAFE_"+r]},set:function(e){Object.defineProperty(this,r,{configurable:!0,writable:!0,value:e})}})});var Lq=Tr.event;function UDt(){}function jDt(){return this.cancelBubble}function WDt(){return this.defaultPrevented}Tr.event=function(r){return Lq&&(r=Lq(r)),r.persist=UDt,r.isPropagationStopped=jDt,r.isDefaultPrevented=WDt,r.nativeEvent=r};var D3,VDt={enumerable:!1,configurable:!0,get:function(){return this.class}},Oq=Tr.vnode;Tr.vnode=function(r){typeof r.type=="string"&&function(e){var t=e.props,n=e.type,i={};for(var a in t){var o=t[a];if(!(a==="value"&&"defaultValue"in t&&o==null||BDt&&a==="children"&&n==="noscript"||a==="class"||a==="className")){var s=a.toLowerCase();a==="defaultValue"&&"value"in t&&t.value==null?a="value":a==="download"&&o===!0?o="":s==="ondoubleclick"?a="ondblclick":s!=="onchange"||n!=="input"&&n!=="textarea"||GDt(t.type)?s==="onfocus"?a="onfocusin":s==="onblur"?a="onfocusout":NDt.test(a)?a=s:n.indexOf("-")===-1&&RDt.test(a)?a=a.replace(FDt,"-$&").toLowerCase():o===null&&(o=void 0):s=a="oninput",s==="oninput"&&i[a=s]&&(a="oninputCapture"),i[a]=o}}n=="select"&&i.multiple&&Array.isArray(i.value)&&(i.value=Qc(t.children).forEach(function(l){l.props.selected=i.value.indexOf(l.props.value)!=-1})),n=="select"&&i.defaultValue!=null&&(i.value=Qc(t.children).forEach(function(l){l.props.selected=i.multiple?i.defaultValue.indexOf(l.props.value)!=-1:i.defaultValue==l.props.value})),t.class&&!t.className?(i.class=t.class,Object.defineProperty(i,"className",VDt)):(t.className&&!t.class||t.class&&t.className)&&(i.class=i.className=t.className),e.props=i}(r),r.$$typeof=Iq,Oq&&Oq(r)};var Dq=Tr.__r;Tr.__r=function(r){Dq&&Dq(r),D3=r.__c};var Pq=Tr.diffed;Tr.diffed=function(r){Pq&&Pq(r);var e=r.props,t=r.__e;t!=null&&r.type==="textarea"&&"value"in e&&e.value!==t.value&&(t.value=e.value==null?"":e.value),D3=null};var HDt={ReactCurrentDispatcher:{current:{readContext:function(r){return D3.__n[r.__c].props.value}}}};function YDt(r){return si.bind(null,r)}function kq(r){return!!r&&r.$$typeof===Iq}function XDt(r){return kq(r)?lq.apply(null,arguments):r}function P3(r){return!!r.__k&&(cb(null,r),!0)}function qDt(r){return r&&(r.base||r.nodeType===1&&r)||null}var KDt=function(r,e){return r(e)},ZDt=function(r,e){return r(e)},$Dt=ws;function Rq(r){r()}function QDt(r){return r}function JDt(){return[!1,Rq]}var tPt=bw;function ePt(r,e){var t=e(),n=xw({h:{__:t,v:e}}),i=n[0].h,a=n[1];return bw(function(){i.__=t,i.v=e,L3(i.__,e())||a({h:i})},[r,t,e]),De(function(){return L3(i.__,i.v())||a({h:i}),r(function(){L3(i.__,i.v())||a({h:i})})},[r]),t}var ht={useState:xw,useId:yq,useReducer:A3,useEffect:De,useLayoutEffect:bw,useInsertionEffect:tPt,useTransition:JDt,useDeferredValue:QDt,useSyncExternalStore:ePt,startTransition:Rq,useRef:Fa,useImperativeHandle:ur,useMemo:qI,useCallback:KI,useContext:mq,useDebugValue:gq,version:"17.0.2",Children:IDt,render:QI,hydrate:zDt,unmountComponentAtNode:P3,createPortal:kDt,createElement:si,createContext:w3,createFactory:YDt,cloneElement:XDt,createRef:b3,Fragment:ws,isValidElement:kq,findDOMNode:qDt,Component:Vu,PureComponent:O3,memo:MDt,forwardRef:cr,flushSync:ZDt,unstable_batchedUpdates:KDt,StrictMode:$Dt,Suspense:$I,SuspenseList:_w,lazy:ODt,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:HDt};var kF=z(require("obsidian"));var nA={};Dn(nA,{Action:()=>Ir,BRUSH_FILTER_EVENTS:()=>fs,Chart:()=>EE,ComponentController:()=>Bl,Coordinate:()=>hh,DIRECTION:()=>xe,ELEMENT_RANGE_HIGHLIGHT_EVENTS:()=>nf,Element:()=>i1,Event:()=>zn,Facet:()=>Hs,Geometry:()=>Wo,GeometryLabel:()=>Ch,Interaction:()=>xE,InteractionAction:()=>Ir,LAYER:()=>di,Scale:()=>qu,TooltipController:()=>r1,Util:()=>ea,VERSION:()=>O6t,VIEW_LIFE_CIRCLE:()=>wr,View:()=>wE,getActionClass:()=>rc,getAnimation:()=>AE,getEngine:()=>u2,getFacet:()=>NL,getGeometryLabel:()=>$L,getGeometryLabelLayout:()=>QL,getInteraction:()=>EU,getShapeFactory:()=>ME,getTheme:()=>Qu,registerAction:()=>nr,registerAnimation:()=>Ms,registerComponentController:()=>Ju,registerEngine:()=>Ew,registerFacet:()=>fp,registerGeometry:()=>Fl,registerGeometryLabel:()=>gp,registerGeometryLabelLayout:()=>us,registerInteraction:()=>xr,registerShape:()=>or,registerShapeFactory:()=>jo,registerTheme:()=>s0});var rK=z(Sw()),{__extends:V,__assign:E,__rest:rr,__decorate:pge,__param:vge,__metadata:mge,__awaiter:Xf,__generator:qf,__exportStar:gge,__createBinding:yge,__values:xge,__read:bge,__spread:_ge,__spreadArrays:dn,__spreadArray:mn,__await:Sge,__asyncGenerator:Cge,__asyncDelegator:wge,__asyncValues:Ege,__makeTemplateObject:Age,__importStar:Mge,__importDefault:Tge,__classPrivateFieldGet:Ige,__classPrivateFieldSet:Lge}=rK.default;var e1=z(q());var di;(function(r){r.FORE="fore",r.MID="mid",r.BG="bg"})(di||(di={}));var xe;(function(r){r.TOP="top",r.TOP_LEFT="top-left",r.TOP_RIGHT="top-right",r.RIGHT="right",r.RIGHT_TOP="right-top",r.RIGHT_BOTTOM="right-bottom",r.LEFT="left",r.LEFT_TOP="left-top",r.LEFT_BOTTOM="left-bottom",r.BOTTOM="bottom",r.BOTTOM_LEFT="bottom-left",r.BOTTOM_RIGHT="bottom-right",r.RADIUS="radius",r.CIRCLE="circle",r.NONE="none"})(xe||(xe={}));var ua;(function(r){r.AXIS="axis",r.GRID="grid",r.LEGEND="legend",r.TOOLTIP="tooltip",r.ANNOTATION="annotation",r.SLIDER="slider",r.SCROLLBAR="scrollbar",r.OTHER="other"})(ua||(ua={}));var Wv={FORE:3,MID:2,BG:1},wr;(function(r){r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_PAINT="beforepaint",r.AFTER_PAINT="afterpaint",r.BEFORE_CHANGE_DATA="beforechangedata",r.AFTER_CHANGE_DATA="afterchangedata",r.BEFORE_CLEAR="beforeclear",r.AFTER_CLEAR="afterclear",r.BEFORE_DESTROY="beforedestroy",r.BEFORE_CHANGE_SIZE="beforechangesize",r.AFTER_CHANGE_SIZE="afterchangesize"})(wr||(wr={}));var Vv;(function(r){r.BEFORE_DRAW_ANIMATE="beforeanimate",r.AFTER_DRAW_ANIMATE="afteranimate"})(Vv||(Vv={}));var js;(function(r){r.MOUSE_ENTER="plot:mouseenter",r.MOUSE_DOWN="plot:mousedown",r.MOUSE_MOVE="plot:mousemove",r.MOUSE_UP="plot:mouseup",r.MOUSE_LEAVE="plot:mouseleave",r.TOUCH_START="plot:touchstart",r.TOUCH_MOVE="plot:touchmove",r.TOUCH_END="plot:touchend",r.TOUCH_CANCEL="plot:touchcancel",r.CLICK="plot:click",r.DBLCLICK="plot:dblclick",r.CONTEXTMENU="plot:contextmenu",r.LEAVE="plot:leave",r.ENTER="plot:enter"})(js||(js={}));var ww;(function(r){r.ACTIVE="active",r.INACTIVE="inactive",r.SELECTED="selected",r.DEFAULT="default"})(ww||(ww={}));var Py=["color","shape","size"],Tn="_origin",n4=1,i4=1,a4=.25;var BZ={};function u2(r){var e=BZ[r];if(!e)throw new Error("G engine '".concat(r,"' is not exist, please register it at first."));return e}function Ew(r,e){BZ[r]=e}function Ws(r,e,t){if(r){if(typeof r.addEventListener=="function")return r.addEventListener(e,t,!1),{remove:function(){r.removeEventListener(e,t,!1)}};if(typeof r.attachEvent=="function")return r.attachEvent("on"+e,t),{remove:function(){r.detachEvent("on"+e,t)}}}}var Aw,o4,GZ,s4;function VBt(){Aw=document.createElement("table"),o4=document.createElement("tr"),GZ=/^\s*<(\w+|!)[^>]*>/,s4={tr:document.createElement("tbody"),tbody:Aw,thead:Aw,tfoot:Aw,td:o4,th:o4,"*":document.createElement("div")}}function en(r){Aw||VBt();var e=GZ.test(r)&&RegExp.$1;(!e||!(e in s4))&&(e="*");var t=s4[e];r=r.replace(/(^\s*)|(\s*$)/g,""),t.innerHTML=""+r;var n=t.childNodes[0];return t.removeChild(n),n}function oo(r,e,t){var n;try{n=window.getComputedStyle?window.getComputedStyle(r,null)[e]:r.style[e]}catch(i){}finally{n=n===void 0?t:n}return n}function f2(r,e){var t=oo(r,"height",e);return t==="auto"&&(t=r.offsetHeight),parseFloat(t)}function c2(r,e){var t=f2(r,e),n=parseFloat(oo(r,"borderTopWidth"))||0,i=parseFloat(oo(r,"paddingTop"))||0,a=parseFloat(oo(r,"paddingBottom"))||0,o=parseFloat(oo(r,"borderBottomWidth"))||0,s=parseFloat(oo(r,"marginTop"))||0,l=parseFloat(oo(r,"marginBottom"))||0;return t+n+o+i+a+s+l}function h2(r,e){var t=oo(r,"width",e);return t==="auto"&&(t=r.offsetWidth),parseFloat(t)}function d2(r,e){var t=h2(r,e),n=parseFloat(oo(r,"borderLeftWidth"))||0,i=parseFloat(oo(r,"paddingLeft"))||0,a=parseFloat(oo(r,"paddingRight"))||0,o=parseFloat(oo(r,"borderRightWidth"))||0,s=parseFloat(oo(r,"marginRight"))||0,l=parseFloat(oo(r,"marginLeft"))||0;return t+n+o+i+a+l+s}function yr(r,e){if(r)for(var t in e)e.hasOwnProperty(t)&&(r.style[t]=e[t]);return r}function HBt(r){var e=getComputedStyle(r);return{width:(r.clientWidth||parseInt(e.width,10))-parseInt(e.paddingLeft,10)-parseInt(e.paddingRight,10),height:(r.clientHeight||parseInt(e.height,10))-parseInt(e.paddingTop,10)-parseInt(e.paddingBottom,10)}}function zZ(r){return typeof r=="number"&&!isNaN(r)}function l4(r,e,t,n){var i=t,a=n;if(e){var o=HBt(r);i=o.width?o.width:i,a=o.height?o.height:a}return{width:Math.max(zZ(i)?i:n4,n4),height:Math.max(zZ(a)?a:i4,i4)}}function UZ(r){var e=r.parentNode;e&&e.removeChild(r)}var Qe=z(q());var YBt="*",XBt=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0),this},r.prototype.emit=function(e){for(var t=this,n=[],i=1;iu4,fillPath:()=>s3t,fillPathByDiff:()=>d4,formatPath:()=>m2,intersection:()=>n3t,parsePathArray:()=>VZ,parsePathString:()=>ky,pathToAbsolute:()=>f4,pathToCurve:()=>c4,rectPath:()=>XZ});var Mw=z(q()),Tw=` +\v\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029`,KBt=new RegExp("([a-z])["+Tw+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+Tw+"]*,?["+Tw+"]*)+)","ig"),ZBt=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+Tw+"]*,?["+Tw+"]*","ig"),ky=function(r){if(!r)return null;if((0,Mw.isArray)(r))return r;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},t=[];return String(r).replace(KBt,function(n,i,a){var o=[],s=i.toLowerCase();if(a.replace(ZBt,function(l,u){u&&o.push(+u)}),s==="m"&&o.length>2&&(t.push([i].concat(o.splice(0,2))),s="l",i=i==="m"?"l":"L"),s==="o"&&o.length===1&&t.push([i,o[0]]),s==="r")t.push([i].concat(o));else for(;o.length>=e[s]&&(t.push([i].concat(o.splice(0,e[s]))),!!e[s]););return r}),t},u4=function(r,e){for(var t=[],n=0,i=r.length;i-2*!e>n;n+=2){var a=[{x:+r[n-2],y:+r[n-1]},{x:+r[n],y:+r[n+1]},{x:+r[n+2],y:+r[n+3]},{x:+r[n+4],y:+r[n+5]}];e?n?i-4===n?a[3]={x:+r[0],y:+r[1]}:i-2===n&&(a[2]={x:+r[0],y:+r[1]},a[3]={x:+r[2],y:+r[3]}):a[0]={x:+r[i-2],y:+r[i-1]}:i-4===n?a[3]=a[2]:n||(a[0]={x:+r[n],y:+r[n+1]}),t.push(["C",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return t},p2=function(r,e,t,n,i){var a=[];if(i===null&&n===null&&(n=t),r=+r,e=+e,t=+t,n=+n,i!==null){var o=Math.PI/180,s=r+t*Math.cos(-n*o),l=r+t*Math.cos(-i*o),u=e+t*Math.sin(-n*o),f=e+t*Math.sin(-i*o);a=[["M",s,u],["A",t,t,0,+(i-n>180),0,l,f]]}else a=[["M",r,e],["m",0,-n],["a",t,n,0,1,1,0,2*n],["a",t,n,0,1,1,0,-2*n],["z"]];return a},f4=function(r){if(r=ky(r),!r||!r.length)return[["M",0,0]];var e=[],t=0,n=0,i=0,a=0,o=0,s,l;r[0][0]==="M"&&(t=+r[0][1],n=+r[0][2],i=t,a=n,o++,e[0]=["M",t,n]);for(var u=r.length===3&&r[0][0]==="M"&&r[1][0].toUpperCase()==="R"&&r[2][0].toUpperCase()==="Z",f=void 0,c=void 0,h=o,d=r.length;h1&&(C=Math.sqrt(C),t=C*t,n=C*n);var w=t*t,A=n*n,L=(a===o?-1:1)*Math.sqrt(Math.abs((w*A-w*S*S-A*b*b)/(w*S*S+A*b*b)));m=L*t*S/n+(r+s)/2,g=L*-n*b/t+(e+l)/2,p=Math.asin(((e-g)/n).toFixed(9)),v=Math.asin(((l-g)/n).toFixed(9)),p=rv&&(p=p-Math.PI*2),!o&&v>p&&(v=v-Math.PI*2)}var k=v-p;if(Math.abs(k)>f){var O=v,M=s,I=l;v=p+f*(o&&v>p?1:-1),s=m+t*Math.cos(v),l=g+n*Math.sin(v),h=WZ(s,l,t,n,i,0,o,M,I,[v,O,m,g])}k=v-p;var R=Math.cos(p),P=Math.sin(p),F=Math.cos(v),D=Math.sin(v),G=Math.tan(k/4),U=4/3*t*G,j=4/3*n*G,H=[r,e],tt=[r+U*P,e-j*R],et=[s+U*D,l-j*F],ut=[s,l];if(tt[0]=2*H[0]-tt[0],tt[1]=2*H[1]-tt[1],u)return[tt,et,ut].concat(h);h=[tt,et,ut].concat(h).join().split(",");for(var $=[],st=0,_t=h.length;st<_t;st++)$[st]=st%2?x(h[st-1],h[st],c).y:x(h[st],h[st+1],c).x;return $},c4=function(r,e){var t=f4(r),n=e&&f4(e),i={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=[],s=[],l="",u="",f,c=function(b,S,C){var w,A;if(!b)return["C",S.x,S.y,S.x,S.y,S.x,S.y];switch(!(b[0]in{T:1,Q:1})&&(S.qx=S.qy=null),b[0]){case"M":S.X=b[1],S.Y=b[2];break;case"A":b=["C"].concat(WZ.apply(0,[S.x,S.y].concat(b.slice(1))));break;case"S":C==="C"||C==="S"?(w=S.x*2-S.bx,A=S.y*2-S.by):(w=S.x,A=S.y),b=["C",w,A].concat(b.slice(1));break;case"T":C==="Q"||C==="T"?(S.qx=S.x*2-S.qx,S.qy=S.y*2-S.qy):(S.qx=S.x,S.qy=S.y),b=["C"].concat(jZ(S.x,S.y,S.qx,S.qy,b[1],b[2]));break;case"Q":S.qx=b[1],S.qy=b[2],b=["C"].concat(jZ(S.x,S.y,b[1],b[2],b[3],b[4]));break;case"L":b=["C"].concat(v2(S.x,S.y,b[1],b[2]));break;case"H":b=["C"].concat(v2(S.x,S.y,b[1],S.y));break;case"V":b=["C"].concat(v2(S.x,S.y,S.x,b[1]));break;case"Z":b=["C"].concat(v2(S.x,S.y,S.X,S.Y));break;default:break}return b},h=function(b,S){if(b[S].length>7){b[S].shift();for(var C=b[S];C.length;)o[S]="A",n&&(s[S]="A"),b.splice(S++,0,["C"].concat(C.splice(0,6)));b.splice(S,1),f=Math.max(t.length,n&&n.length||0)}},d=function(b,S,C,w,A){b&&S&&b[A][0]==="M"&&S[A][0]!=="M"&&(S.splice(A,0,["M",w.x,w.y]),C.bx=0,C.by=0,C.x=b[A][1],C.y=b[A][2],f=Math.max(t.length,n&&n.length||0))};f=Math.max(t.length,n&&n.length||0);for(var p=0;p1?1:l<0?0:l;for(var u=l/2,f=12,c=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,p=0;p0&&d<1&&l.push(d);continue}var v=c*c-4*h*f,m=Math.sqrt(v);if(!(v<0)){var g=(-c+m)/(2*f);g>0&&g<1&&l.push(g);var x=(-c-m)/(2*f);x>0&&x<1&&l.push(x)}}for(var b=l.length,S=b,C;b--;)d=l[b],C=1-d,u[0][b]=C*C*C*r+3*C*C*d*t+3*C*d*d*i+d*d*d*o,u[1][b]=C*C*C*e+3*C*C*d*n+3*C*d*d*a+d*d*d*s;return u[0][S]=r,u[1][S]=e,u[0][S+1]=o,u[1][S+1]=s,u[0].length=u[1].length=S+2,{min:{x:Math.min.apply(0,u[0]),y:Math.min.apply(0,u[1])},max:{x:Math.max.apply(0,u[0]),y:Math.max.apply(0,u[1])}}},JBt=function(r,e,t,n,i,a,o,s){if(!(Math.max(r,t)Math.max(i,o)||Math.max(e,n)Math.max(a,s))){var l=(r*n-e*t)*(i-o)-(r-t)*(i*s-a*o),u=(r*n-e*t)*(a-s)-(e-n)*(i*s-a*o),f=(r-t)*(a-s)-(e-n)*(i-o);if(!!f){var c=l/f,h=u/f,d=+c.toFixed(2),p=+h.toFixed(2);if(!(d<+Math.min(r,t).toFixed(2)||d>+Math.max(r,t).toFixed(2)||d<+Math.min(i,o).toFixed(2)||d>+Math.max(i,o).toFixed(2)||p<+Math.min(e,n).toFixed(2)||p>+Math.max(e,n).toFixed(2)||p<+Math.min(a,s).toFixed(2)||p>+Math.max(a,s).toFixed(2)))return{x:c,y:h}}}},Yv=function(r,e,t){return e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height},XZ=function(r,e,t,n,i){if(i)return[["M",+r+ +i,e],["l",t-i*2,0],["a",i,i,0,0,1,i,i],["l",0,n-i*2],["a",i,i,0,0,1,-i,i],["l",i*2-t,0],["a",i,i,0,0,1,-i,-i],["l",0,i*2-n],["a",i,i,0,0,1,i,-i],["z"]];var a=[["M",r,e],["l",t,0],["l",0,n],["l",-t,0],["z"]];return a.parsePathArray=VZ,a},h4=function(r,e,t,n){return r===null&&(r=e=t=n=0),e===null&&(e=r.y,t=r.width,n=r.height,r=r.x),{x:r,y:e,width:t,w:t,height:n,h:n,x2:r+t,y2:e+n,cx:r+t/2,cy:e+n/2,r1:Math.min(t,n)/2,r2:Math.max(t,n)/2,r0:Math.sqrt(t*t+n*n)/2,path:XZ(r,e,t,n),vb:[r,e,t,n].join(" ")}},t3t=function(r,e){return r=h4(r),e=h4(e),Yv(e,r.x,r.y)||Yv(e,r.x2,r.y)||Yv(e,r.x,r.y2)||Yv(e,r.x2,r.y2)||Yv(r,e.x,e.y)||Yv(r,e.x2,e.y)||Yv(r,e.x,e.y2)||Yv(r,e.x2,e.y2)||(r.xe.x||e.xr.x)&&(r.ye.y||e.yr.y)},qZ=function(r,e,t,n,i,a,o,s){(0,Mw.isArray)(r)||(r=[r,e,t,n,i,a,o,s]);var l=QBt.apply(null,r);return h4(l.min.x,l.min.y,l.max.x-l.min.x,l.max.y-l.min.y)},KZ=function(r,e,t,n,i,a,o,s,l){var u=1-l,f=Math.pow(u,3),c=Math.pow(u,2),h=l*l,d=h*l,p=f*r+c*3*l*t+u*3*l*l*i+d*o,v=f*e+c*3*l*n+u*3*l*l*a+d*s,m=r+2*l*(t-r)+h*(i-2*t+r),g=e+2*l*(n-e)+h*(a-2*n+e),x=t+2*l*(i-t)+h*(o-2*i+t),b=n+2*l*(a-n)+h*(s-2*a+n),S=u*r+l*t,C=u*e+l*n,w=u*i+l*o,A=u*a+l*s,L=90-Math.atan2(m-x,g-b)*180/Math.PI;return{x:p,y:v,m:{x:m,y:g},n:{x,y:b},start:{x:S,y:C},end:{x:w,y:A},alpha:L}},e3t=function(r,e,t){var n=qZ(r),i=qZ(e);if(!t3t(n,i))return t?0:[];for(var a=YZ.apply(0,r),o=YZ.apply(0,e),s=~~(a/8),l=~~(o/8),u=[],f=[],c={},h=t?0:[],d=0;d=0&&A<=1&&L>=0&&L<=1&&(t?h+=1:h.push({x:w.x,y:w.y,t1:A,t2:L}))}}return h},r3t=function(r,e,t){r=c4(r),e=c4(e);for(var n,i,a,o,s,l,u,f,c,h,d=t?0:[],p=0,v=r.length;p=3&&(c.length===3&&h.push("Q"),h=h.concat(c[1])),c.length===2&&h.push("L"),h=h.concat(c[c.length-1]),h});return f}var o3t=function(r,e,t){if(t===1)return[[].concat(r)];var n=[];if(e[0]==="L"||e[0]==="C"||e[0]==="Q")n=n.concat(a3t(r,e,t));else{var i=[].concat(r);i[0]==="M"&&(i[0]="L");for(var a=0;a<=t-1;a++)n.push(i)}return n},s3t=function(r,e){if(r.length===1)return r;var t=r.length-1,n=e.length-1,i=t/n,a=[];if(r.length===1&&r[0][0]==="M"){for(var o=0;o=0;l--)o=a[l].index,a[l].type==="add"?r.splice(o,0,[].concat(r[o])):r.splice(o,1)}n=r.length;var c=i-n;if(n0)t=p4(t,r[n-1],1);else{r[n]=e[n];break}r[n]=["Q"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;case"T":r[n]=["T"].concat(t[0]);break;case"C":if(t.length<3)if(n>0)t=p4(t,r[n-1],2);else{r[n]=e[n];break}r[n]=["C"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;case"S":if(t.length<2)if(n>0)t=p4(t,r[n-1],1);else{r[n]=e[n];break}r[n]=["S"].concat(t.reduce(function(i,a){return i.concat(a)},[]));break;default:r[n]=e[n]}return r};var c3t=function(){function r(e,t){this.bubbles=!0,this.target=null,this.currentTarget=null,this.delegateTarget=null,this.delegateObject=null,this.defaultPrevented=!1,this.propagationStopped=!1,this.shape=null,this.fromShape=null,this.toShape=null,this.propagationPath=[],this.type=e,this.name=e,this.originalEvent=t,this.timeStamp=t.timeStamp}return r.prototype.preventDefault=function(){this.defaultPrevented=!0,this.originalEvent.preventDefault&&this.originalEvent.preventDefault()},r.prototype.stopPropagation=function(){this.propagationStopped=!0},r.prototype.toString=function(){var e=this.type;return"[Event (type="+e+")]"},r.prototype.save=function(){},r.prototype.restore=function(){},r}(),Yu=c3t;var Gn=z(q());function g2(r,e){var t=r.indexOf(e);t!==-1&&r.splice(t,1)}var v4=typeof window!="undefined"&&typeof window.document!="undefined";function y2(r,e){if(r.isCanvas())return!0;for(var t=e.getParent(),n=!1;t;){if(t===r){n=!0;break}t=t.getParent()}return n}function Xv(r){return r.cfg.visible&&r.cfg.capture}var h3t=function(r){V(e,r);function e(t){var n=r.call(this)||this;n.destroyed=!1;var i=n.getDefaultCfg();return n.cfg=(0,Gn.mix)(i,t),n}return e.prototype.getDefaultCfg=function(){return{}},e.prototype.get=function(t){return this.cfg[t]},e.prototype.set=function(t,n){this.cfg[t]=n},e.prototype.destroy=function(){this.cfg={destroyed:!0},this.off(),this.destroyed=!0},e}(Hv),Ry=h3t;var $Z=function(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;nX3t,adjoint:()=>P3t,clone:()=>A3t,copy:()=>M3t,create:()=>m4,determinant:()=>k3t,equals:()=>$3t,exactEquals:()=>Z3t,frob:()=>Y3t,fromMat2d:()=>U3t,fromMat4:()=>E3t,fromQuat:()=>j3t,fromRotation:()=>G3t,fromScaling:()=>z3t,fromTranslation:()=>B3t,fromValues:()=>T3t,identity:()=>L3t,invert:()=>D3t,mul:()=>Q3t,multiply:()=>e$,multiplyScalar:()=>q3t,multiplyScalarAndAdd:()=>K3t,normalFromMat4:()=>W3t,projection:()=>V3t,rotate:()=>N3t,scale:()=>F3t,set:()=>I3t,str:()=>H3t,sub:()=>J3t,subtract:()=>r$,translate:()=>R3t,transpose:()=>O3t});function m4(){var r=new Ei(9);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function E3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function A3t(r){var e=new Ei(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function M3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function T3t(r,e,t,n,i,a,o,s,l){var u=new Ei(9);return u[0]=r,u[1]=e,u[2]=t,u[3]=n,u[4]=i,u[5]=a,u[6]=o,u[7]=s,u[8]=l,u}function I3t(r,e,t,n,i,a,o,s,l,u){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=o,r[6]=s,r[7]=l,r[8]=u,r}function L3t(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function O3t(r,e){if(r===e){var t=e[1],n=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function D3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=f*o-s*u,h=-f*a+s*l,d=u*a-o*l,p=t*c+n*h+i*d;return p?(p=1/p,r[0]=c*p,r[1]=(-f*n+i*u)*p,r[2]=(s*n-i*o)*p,r[3]=h*p,r[4]=(f*t-i*l)*p,r[5]=(-s*t+i*a)*p,r[6]=d*p,r[7]=(-u*t+n*l)*p,r[8]=(o*t-n*a)*p,r):null}function P3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8];return r[0]=o*f-s*u,r[1]=i*u-n*f,r[2]=n*s-i*o,r[3]=s*l-a*f,r[4]=t*f-i*l,r[5]=i*a-t*s,r[6]=a*u-o*l,r[7]=n*l-t*u,r[8]=t*o-n*a,r}function k3t(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],o=r[5],s=r[6],l=r[7],u=r[8];return e*(u*a-o*l)+t*(-u*i+o*s)+n*(l*i-a*s)}function e$(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=t[0],d=t[1],p=t[2],v=t[3],m=t[4],g=t[5],x=t[6],b=t[7],S=t[8];return r[0]=h*n+d*o+p*u,r[1]=h*i+d*s+p*f,r[2]=h*a+d*l+p*c,r[3]=v*n+m*o+g*u,r[4]=v*i+m*s+g*f,r[5]=v*a+m*l+g*c,r[6]=x*n+b*o+S*u,r[7]=x*i+b*s+S*f,r[8]=x*a+b*l+S*c,r}function R3t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=t[0],d=t[1];return r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=l,r[6]=h*n+d*o+u,r[7]=h*i+d*s+f,r[8]=h*a+d*l+c,r}function N3t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=Math.sin(t),d=Math.cos(t);return r[0]=d*n+h*o,r[1]=d*i+h*s,r[2]=d*a+h*l,r[3]=d*o-h*n,r[4]=d*s-h*i,r[5]=d*l-h*a,r[6]=u,r[7]=f,r[8]=c,r}function F3t(r,e,t){var n=t[0],i=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function B3t(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function G3t(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=-t,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function z3t(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function U3t(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function j3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t+t,s=n+n,l=i+i,u=t*o,f=n*o,c=n*s,h=i*o,d=i*s,p=i*l,v=a*o,m=a*s,g=a*l;return r[0]=1-c-p,r[3]=f-g,r[6]=h+m,r[1]=f+g,r[4]=1-u-p,r[7]=d-v,r[2]=h-m,r[5]=d+v,r[8]=1-u-c,r}function W3t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15],x=t*s-n*o,b=t*l-i*o,S=t*u-a*o,C=n*l-i*s,w=n*u-a*s,A=i*u-a*l,L=f*v-c*p,k=f*m-h*p,O=f*g-d*p,M=c*m-h*v,I=c*g-d*v,R=h*g-d*m,P=x*R-b*I+S*M+C*O-w*k+A*L;return P?(P=1/P,r[0]=(s*R-l*I+u*M)*P,r[1]=(l*O-o*R-u*k)*P,r[2]=(o*I-s*O+u*L)*P,r[3]=(i*I-n*R-a*M)*P,r[4]=(t*R-i*O+a*k)*P,r[5]=(n*O-t*I-a*L)*P,r[6]=(v*A-m*w+g*C)*P,r[7]=(m*S-p*A-g*b)*P,r[8]=(p*w-v*S+g*x)*P,r):null}function V3t(r,e,t){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/t,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function H3t(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function Y3t(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function X3t(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r}function r$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r}function q3t(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r}function K3t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r}function Z3t(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]}function $3t(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=e[0],h=e[1],d=e[2],p=e[3],v=e[4],m=e[5],g=e[6],x=e[7],b=e[8];return Math.abs(t-c)<=pn*Math.max(1,Math.abs(t),Math.abs(c))&&Math.abs(n-h)<=pn*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(i-d)<=pn*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-p)<=pn*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-v)<=pn*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(s-m)<=pn*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(l-g)<=pn*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(u-x)<=pn*Math.max(1,Math.abs(u),Math.abs(x))&&Math.abs(f-b)<=pn*Math.max(1,Math.abs(f),Math.abs(b))}var Q3t=e$,J3t=r$;var _r={};Dn(_r,{add:()=>FGt,adjoint:()=>sGt,clone:()=>eGt,copy:()=>rGt,create:()=>tGt,determinant:()=>lGt,equals:()=>UGt,exactEquals:()=>zGt,frob:()=>NGt,fromQuat:()=>AGt,fromQuat2:()=>_Gt,fromRotation:()=>gGt,fromRotationTranslation:()=>a$,fromRotationTranslationScale:()=>wGt,fromRotationTranslationScaleOrigin:()=>EGt,fromScaling:()=>mGt,fromTranslation:()=>vGt,fromValues:()=>nGt,fromXRotation:()=>yGt,fromYRotation:()=>xGt,fromZRotation:()=>bGt,frustum:()=>MGt,getRotation:()=>CGt,getScaling:()=>o$,getTranslation:()=>SGt,identity:()=>n$,invert:()=>oGt,lookAt:()=>PGt,mul:()=>jGt,multiply:()=>i$,multiplyScalar:()=>BGt,multiplyScalarAndAdd:()=>GGt,ortho:()=>OGt,orthoNO:()=>l$,orthoZO:()=>DGt,perspective:()=>TGt,perspectiveFromFieldOfView:()=>LGt,perspectiveNO:()=>s$,perspectiveZO:()=>IGt,rotate:()=>cGt,rotateX:()=>hGt,rotateY:()=>dGt,rotateZ:()=>pGt,scale:()=>fGt,set:()=>iGt,str:()=>RGt,sub:()=>WGt,subtract:()=>u$,targetTo:()=>kGt,translate:()=>uGt,transpose:()=>aGt});function tGt(){var r=new Ei(16);return Ei!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function eGt(r){var e=new Ei(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function rGt(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function nGt(r,e,t,n,i,a,o,s,l,u,f,c,h,d,p,v){var m=new Ei(16);return m[0]=r,m[1]=e,m[2]=t,m[3]=n,m[4]=i,m[5]=a,m[6]=o,m[7]=s,m[8]=l,m[9]=u,m[10]=f,m[11]=c,m[12]=h,m[13]=d,m[14]=p,m[15]=v,m}function iGt(r,e,t,n,i,a,o,s,l,u,f,c,h,d,p,v,m){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=o,r[6]=s,r[7]=l,r[8]=u,r[9]=f,r[10]=c,r[11]=h,r[12]=d,r[13]=p,r[14]=v,r[15]=m,r}function n$(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function aGt(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=o,r[14]=s}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function oGt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15],x=t*s-n*o,b=t*l-i*o,S=t*u-a*o,C=n*l-i*s,w=n*u-a*s,A=i*u-a*l,L=f*v-c*p,k=f*m-h*p,O=f*g-d*p,M=c*m-h*v,I=c*g-d*v,R=h*g-d*m,P=x*R-b*I+S*M+C*O-w*k+A*L;return P?(P=1/P,r[0]=(s*R-l*I+u*M)*P,r[1]=(i*I-n*R-a*M)*P,r[2]=(v*A-m*w+g*C)*P,r[3]=(h*w-c*A-d*C)*P,r[4]=(l*O-o*R-u*k)*P,r[5]=(t*R-i*O+a*k)*P,r[6]=(m*S-p*A-g*b)*P,r[7]=(f*A-h*S+d*b)*P,r[8]=(o*I-s*O+u*L)*P,r[9]=(n*O-t*I-a*L)*P,r[10]=(p*w-v*S+g*x)*P,r[11]=(c*S-f*w-d*x)*P,r[12]=(s*k-o*M-l*L)*P,r[13]=(t*M-n*k+i*L)*P,r[14]=(v*b-p*C-m*x)*P,r[15]=(f*C-c*b+h*x)*P,r):null}function sGt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=e[8],c=e[9],h=e[10],d=e[11],p=e[12],v=e[13],m=e[14],g=e[15];return r[0]=s*(h*g-d*m)-c*(l*g-u*m)+v*(l*d-u*h),r[1]=-(n*(h*g-d*m)-c*(i*g-a*m)+v*(i*d-a*h)),r[2]=n*(l*g-u*m)-s*(i*g-a*m)+v*(i*u-a*l),r[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+c*(i*u-a*l)),r[4]=-(o*(h*g-d*m)-f*(l*g-u*m)+p*(l*d-u*h)),r[5]=t*(h*g-d*m)-f*(i*g-a*m)+p*(i*d-a*h),r[6]=-(t*(l*g-u*m)-o*(i*g-a*m)+p*(i*u-a*l)),r[7]=t*(l*d-u*h)-o*(i*d-a*h)+f*(i*u-a*l),r[8]=o*(c*g-d*v)-f*(s*g-u*v)+p*(s*d-u*c),r[9]=-(t*(c*g-d*v)-f*(n*g-a*v)+p*(n*d-a*c)),r[10]=t*(s*g-u*v)-o*(n*g-a*v)+p*(n*u-a*s),r[11]=-(t*(s*d-u*c)-o*(n*d-a*c)+f*(n*u-a*s)),r[12]=-(o*(c*m-h*v)-f*(s*m-l*v)+p*(s*h-l*c)),r[13]=t*(c*m-h*v)-f*(n*m-i*v)+p*(n*h-i*c),r[14]=-(t*(s*m-l*v)-o*(n*m-i*v)+p*(n*l-i*s)),r[15]=t*(s*h-l*c)-o*(n*h-i*c)+f*(n*l-i*s),r}function lGt(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],o=r[5],s=r[6],l=r[7],u=r[8],f=r[9],c=r[10],h=r[11],d=r[12],p=r[13],v=r[14],m=r[15],g=e*o-t*a,x=e*s-n*a,b=e*l-i*a,S=t*s-n*o,C=t*l-i*o,w=n*l-i*s,A=u*p-f*d,L=u*v-c*d,k=u*m-h*d,O=f*v-c*p,M=f*m-h*p,I=c*m-h*v;return g*I-x*M+b*O+S*k-C*L+w*A}function i$(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],f=e[7],c=e[8],h=e[9],d=e[10],p=e[11],v=e[12],m=e[13],g=e[14],x=e[15],b=t[0],S=t[1],C=t[2],w=t[3];return r[0]=b*n+S*s+C*c+w*v,r[1]=b*i+S*l+C*h+w*m,r[2]=b*a+S*u+C*d+w*g,r[3]=b*o+S*f+C*p+w*x,b=t[4],S=t[5],C=t[6],w=t[7],r[4]=b*n+S*s+C*c+w*v,r[5]=b*i+S*l+C*h+w*m,r[6]=b*a+S*u+C*d+w*g,r[7]=b*o+S*f+C*p+w*x,b=t[8],S=t[9],C=t[10],w=t[11],r[8]=b*n+S*s+C*c+w*v,r[9]=b*i+S*l+C*h+w*m,r[10]=b*a+S*u+C*d+w*g,r[11]=b*o+S*f+C*p+w*x,b=t[12],S=t[13],C=t[14],w=t[15],r[12]=b*n+S*s+C*c+w*v,r[13]=b*i+S*l+C*h+w*m,r[14]=b*a+S*u+C*d+w*g,r[15]=b*o+S*f+C*p+w*x,r}function uGt(r,e,t){var n=t[0],i=t[1],a=t[2],o,s,l,u,f,c,h,d,p,v,m,g;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(o=e[0],s=e[1],l=e[2],u=e[3],f=e[4],c=e[5],h=e[6],d=e[7],p=e[8],v=e[9],m=e[10],g=e[11],r[0]=o,r[1]=s,r[2]=l,r[3]=u,r[4]=f,r[5]=c,r[6]=h,r[7]=d,r[8]=p,r[9]=v,r[10]=m,r[11]=g,r[12]=o*n+f*i+p*a+e[12],r[13]=s*n+c*i+v*a+e[13],r[14]=l*n+h*i+m*a+e[14],r[15]=u*n+d*i+g*a+e[15]),r}function fGt(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function cGt(r,e,t,n){var i=n[0],a=n[1],o=n[2],s=Math.hypot(i,a,o),l,u,f,c,h,d,p,v,m,g,x,b,S,C,w,A,L,k,O,M,I,R,P,F;return s0?(t[0]=(s*o+f*n+l*a-u*i)*2/c,t[1]=(l*o+f*i+u*n-s*a)*2/c,t[2]=(u*o+f*a+s*i-l*n)*2/c):(t[0]=(s*o+f*n+l*a-u*i)*2,t[1]=(l*o+f*i+u*n-s*a)*2,t[2]=(u*o+f*a+s*i-l*n)*2),a$(r,e,t),r}function SGt(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function o$(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],o=e[5],s=e[6],l=e[8],u=e[9],f=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,o,s),r[2]=Math.hypot(l,u,f),r}function CGt(r,e){var t=new Ei(3);o$(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],o=e[0]*n,s=e[1]*i,l=e[2]*a,u=e[4]*n,f=e[5]*i,c=e[6]*a,h=e[8]*n,d=e[9]*i,p=e[10]*a,v=o+f+p,m=0;return v>0?(m=Math.sqrt(v+1)*2,r[3]=.25*m,r[0]=(c-d)/m,r[1]=(h-l)/m,r[2]=(s-u)/m):o>f&&o>p?(m=Math.sqrt(1+o-f-p)*2,r[3]=(c-d)/m,r[0]=.25*m,r[1]=(s+u)/m,r[2]=(h+l)/m):f>p?(m=Math.sqrt(1+f-o-p)*2,r[3]=(h-l)/m,r[0]=(s+u)/m,r[1]=.25*m,r[2]=(c+d)/m):(m=Math.sqrt(1+p-o-f)*2,r[3]=(s-u)/m,r[0]=(h+l)/m,r[1]=(c+d)/m,r[2]=.25*m),r}function wGt(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=i+i,u=a+a,f=o+o,c=i*l,h=i*u,d=i*f,p=a*u,v=a*f,m=o*f,g=s*l,x=s*u,b=s*f,S=n[0],C=n[1],w=n[2];return r[0]=(1-(p+m))*S,r[1]=(h+b)*S,r[2]=(d-x)*S,r[3]=0,r[4]=(h-b)*C,r[5]=(1-(c+m))*C,r[6]=(v+g)*C,r[7]=0,r[8]=(d+x)*w,r[9]=(v-g)*w,r[10]=(1-(c+p))*w,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function EGt(r,e,t,n,i){var a=e[0],o=e[1],s=e[2],l=e[3],u=a+a,f=o+o,c=s+s,h=a*u,d=a*f,p=a*c,v=o*f,m=o*c,g=s*c,x=l*u,b=l*f,S=l*c,C=n[0],w=n[1],A=n[2],L=i[0],k=i[1],O=i[2],M=(1-(v+g))*C,I=(d+S)*C,R=(p-b)*C,P=(d-S)*w,F=(1-(h+g))*w,D=(m+x)*w,G=(p+b)*A,U=(m-x)*A,j=(1-(h+v))*A;return r[0]=M,r[1]=I,r[2]=R,r[3]=0,r[4]=P,r[5]=F,r[6]=D,r[7]=0,r[8]=G,r[9]=U,r[10]=j,r[11]=0,r[12]=t[0]+L-(M*L+P*k+G*O),r[13]=t[1]+k-(I*L+F*k+U*O),r[14]=t[2]+O-(R*L+D*k+j*O),r[15]=1,r}function AGt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t+t,s=n+n,l=i+i,u=t*o,f=n*o,c=n*s,h=i*o,d=i*s,p=i*l,v=a*o,m=a*s,g=a*l;return r[0]=1-c-p,r[1]=f+g,r[2]=h-m,r[3]=0,r[4]=f-g,r[5]=1-u-p,r[6]=d+v,r[7]=0,r[8]=h+m,r[9]=d-v,r[10]=1-u-c,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function MGt(r,e,t,n,i,a,o){var s=1/(t-e),l=1/(i-n),u=1/(a-o);return r[0]=a*2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*s,r[9]=(i+n)*l,r[10]=(o+a)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=o*a*2*u,r[15]=0,r}function s$(r,e,t,n,i){var a=1/Math.tan(e/2),o;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(o=1/(n-i),r[10]=(i+n)*o,r[14]=2*i*n*o):(r[10]=-1,r[14]=-2*n),r}var TGt=s$;function IGt(r,e,t,n,i){var a=1/Math.tan(e/2),o;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(o=1/(n-i),r[10]=i*o,r[14]=i*n*o):(r[10]=-1,r[14]=-n),r}function LGt(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=-((o-s)*l*.5),r[9]=(i-a)*u*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function l$(r,e,t,n,i,a,o){var s=1/(e-t),l=1/(n-i),u=1/(a-o);return r[0]=-2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(e+t)*s,r[13]=(i+n)*l,r[14]=(o+a)*u,r[15]=1,r}var OGt=l$;function DGt(r,e,t,n,i,a,o){var s=1/(e-t),l=1/(n-i),u=1/(a-o);return r[0]=-2*s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=u,r[11]=0,r[12]=(e+t)*s,r[13]=(i+n)*l,r[14]=a*u,r[15]=1,r}function PGt(r,e,t,n){var i,a,o,s,l,u,f,c,h,d,p=e[0],v=e[1],m=e[2],g=n[0],x=n[1],b=n[2],S=t[0],C=t[1],w=t[2];return Math.abs(p-S)0&&(d=1/Math.sqrt(d),f*=d,c*=d,h*=d);var p=l*h-u*c,v=u*f-s*h,m=s*c-l*f;return d=p*p+v*v+m*m,d>0&&(d=1/Math.sqrt(d),p*=d,v*=d,m*=d),r[0]=p,r[1]=v,r[2]=m,r[3]=0,r[4]=c*m-h*v,r[5]=h*p-f*m,r[6]=f*v-c*p,r[7]=0,r[8]=f,r[9]=c,r[10]=h,r[11]=0,r[12]=i,r[13]=a,r[14]=o,r[15]=1,r}function RGt(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function NGt(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function FGt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function u$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function BGt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function GGt(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function zGt(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function UGt(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=r[9],h=r[10],d=r[11],p=r[12],v=r[13],m=r[14],g=r[15],x=e[0],b=e[1],S=e[2],C=e[3],w=e[4],A=e[5],L=e[6],k=e[7],O=e[8],M=e[9],I=e[10],R=e[11],P=e[12],F=e[13],D=e[14],G=e[15];return Math.abs(t-x)<=pn*Math.max(1,Math.abs(t),Math.abs(x))&&Math.abs(n-b)<=pn*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(i-S)<=pn*Math.max(1,Math.abs(i),Math.abs(S))&&Math.abs(a-C)<=pn*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(o-w)<=pn*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(s-A)<=pn*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(l-L)<=pn*Math.max(1,Math.abs(l),Math.abs(L))&&Math.abs(u-k)<=pn*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(f-O)<=pn*Math.max(1,Math.abs(f),Math.abs(O))&&Math.abs(c-M)<=pn*Math.max(1,Math.abs(c),Math.abs(M))&&Math.abs(h-I)<=pn*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-R)<=pn*Math.max(1,Math.abs(d),Math.abs(R))&&Math.abs(p-P)<=pn*Math.max(1,Math.abs(p),Math.abs(P))&&Math.abs(v-F)<=pn*Math.max(1,Math.abs(v),Math.abs(F))&&Math.abs(m-D)<=pn*Math.max(1,Math.abs(m),Math.abs(D))&&Math.abs(g-G)<=pn*Math.max(1,Math.abs(g),Math.abs(G))}var jGt=i$,WGt=u$;var Nr={};Dn(Nr,{add:()=>u4t,calculateW:()=>Q5t,clone:()=>a4t,conjugate:()=>r4t,copy:()=>s4t,create:()=>O4,dot:()=>I$,equals:()=>v4t,exactEquals:()=>p4t,exp:()=>E$,fromEuler:()=>n4t,fromMat3:()=>M$,fromValues:()=>o4t,getAngle:()=>q5t,getAxisAngle:()=>X5t,identity:()=>Y5t,invert:()=>e4t,len:()=>h4t,length:()=>L$,lerp:()=>c4t,ln:()=>A$,mul:()=>f4t,multiply:()=>w$,normalize:()=>D4,pow:()=>J5t,random:()=>t4t,rotateX:()=>K5t,rotateY:()=>Z5t,rotateZ:()=>$5t,rotationTo:()=>m4t,scale:()=>T$,set:()=>l4t,setAxes:()=>y4t,setAxisAngle:()=>C$,slerp:()=>E2,sqlerp:()=>g4t,sqrLen:()=>d4t,squaredLength:()=>O$,str:()=>i4t});var Ft={};Dn(Ft,{add:()=>XGt,angle:()=>h5t,bezier:()=>a5t,ceil:()=>qGt,clone:()=>VGt,copy:()=>HGt,create:()=>b2,cross:()=>Iw,dist:()=>b5t,distance:()=>p$,div:()=>x5t,divide:()=>d$,dot:()=>S2,equals:()=>m5t,exactEquals:()=>v5t,floor:()=>KGt,forEach:()=>C5t,fromValues:()=>_2,hermite:()=>i5t,inverse:()=>r5t,len:()=>x4,length:()=>f$,lerp:()=>n5t,max:()=>$Gt,min:()=>ZGt,mul:()=>y5t,multiply:()=>h$,negate:()=>e5t,normalize:()=>g4,random:()=>o5t,rotateX:()=>u5t,rotateY:()=>f5t,rotateZ:()=>c5t,round:()=>QGt,scale:()=>JGt,scaleAndAdd:()=>t5t,set:()=>YGt,sqrDist:()=>_5t,sqrLen:()=>S5t,squaredDistance:()=>v$,squaredLength:()=>m$,str:()=>p5t,sub:()=>g5t,subtract:()=>c$,transformMat3:()=>y4,transformMat4:()=>s5t,transformQuat:()=>l5t,zero:()=>d5t});function b2(){var r=new Ei(3);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function VGt(r){var e=new Ei(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function f$(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function _2(r,e,t){var n=new Ei(3);return n[0]=r,n[1]=e,n[2]=t,n}function HGt(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function YGt(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function XGt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function c$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function h$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function d$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r}function qGt(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function KGt(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function ZGt(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function $Gt(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function QGt(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function JGt(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function t5t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r}function p$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function v$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return t*t+n*n+i*i}function m$(r){var e=r[0],t=r[1],n=r[2];return e*e+t*t+n*n}function e5t(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function r5t(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function g4(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function S2(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Iw(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return r[0]=i*l-a*s,r[1]=a*o-n*l,r[2]=n*s-i*o,r}function n5t(r,e,t,n){var i=e[0],a=e[1],o=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=o+n*(t[2]-o),r}function i5t(r,e,t,n,i,a){var o=a*a,s=o*(2*a-3)+1,l=o*(a-2)+a,u=o*(a-1),f=o*(3-2*a);return r[0]=e[0]*s+t[0]*l+n[0]*u+i[0]*f,r[1]=e[1]*s+t[1]*l+n[1]*u+i[1]*f,r[2]=e[2]*s+t[2]*l+n[2]*u+i[2]*f,r}function a5t(r,e,t,n,i,a){var o=1-a,s=o*o,l=a*a,u=s*o,f=3*a*s,c=3*l*o,h=l*a;return r[0]=e[0]*u+t[0]*f+n[0]*c+i[0]*h,r[1]=e[1]*u+t[1]*f+n[1]*c+i[1]*h,r[2]=e[2]*u+t[2]*f+n[2]*c+i[2]*h,r}function o5t(r,e){e=e||1;var t=Tl()*2*Math.PI,n=Tl()*2-1,i=Math.sqrt(1-n*n)*e;return r[0]=Math.cos(t)*i,r[1]=Math.sin(t)*i,r[2]=n*e,r}function s5t(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[3]*n+t[7]*i+t[11]*a+t[15];return o=o||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/o,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/o,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/o,r}function y4(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function l5t(r,e,t){var n=t[0],i=t[1],a=t[2],o=t[3],s=e[0],l=e[1],u=e[2],f=i*u-a*l,c=a*s-n*u,h=n*l-i*s,d=i*h-a*c,p=a*f-n*h,v=n*c-i*f,m=o*2;return f*=m,c*=m,h*=m,d*=2,p*=2,v*=2,r[0]=s+f+d,r[1]=l+c+p,r[2]=u+h+v,r}function u5t(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function f5t(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function c5t(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function h5t(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],o=e[1],s=e[2],l=Math.sqrt(t*t+n*n+i*i),u=Math.sqrt(a*a+o*o+s*s),f=l*u,c=f&&S2(r,e)/f;return Math.acos(Math.min(Math.max(c,-1),1))}function d5t(r){return r[0]=0,r[1]=0,r[2]=0,r}function p5t(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function v5t(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function m5t(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],o=e[1],s=e[2];return Math.abs(t-a)<=pn*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-o)<=pn*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-s)<=pn*Math.max(1,Math.abs(i),Math.abs(s))}var g5t=c$,y5t=h$,x5t=d$,b5t=p$,_5t=v$,x4=f$,S5t=m$,C5t=function(){var r=b2();return function(e,t,n,i,a,o){var s,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;sw4,ceil:()=>w5t,clone:()=>b4,copy:()=>S4,create:()=>g$,cross:()=>D5t,dist:()=>U5t,distance:()=>_$,div:()=>z5t,divide:()=>b$,dot:()=>M4,equals:()=>L4,exactEquals:()=>I4,floor:()=>E5t,forEach:()=>H5t,fromValues:()=>_4,inverse:()=>O5t,len:()=>W5t,length:()=>C2,lerp:()=>T4,max:()=>M5t,min:()=>A5t,mul:()=>G5t,multiply:()=>x$,negate:()=>L5t,normalize:()=>A4,random:()=>P5t,round:()=>T5t,scale:()=>E4,scaleAndAdd:()=>I5t,set:()=>C4,sqrDist:()=>j5t,sqrLen:()=>V5t,squaredDistance:()=>S$,squaredLength:()=>w2,str:()=>F5t,sub:()=>B5t,subtract:()=>y$,transformMat4:()=>k5t,transformQuat:()=>R5t,zero:()=>N5t});function g$(){var r=new Ei(4);return Ei!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function b4(r){var e=new Ei(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function _4(r,e,t,n){var i=new Ei(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function S4(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function C4(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function w4(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function y$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r}function x$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r[3]=e[3]*t[3],r}function b$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r[3]=e[3]/t[3],r}function w5t(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function E5t(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function A5t(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r}function M5t(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.max(e[3],t[3]),r}function T5t(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function E4(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function I5t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r}function _$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return Math.hypot(t,n,i,a)}function S$(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return t*t+n*n+i*i+a*a}function C2(r){var e=r[0],t=r[1],n=r[2],i=r[3];return Math.hypot(e,t,n,i)}function w2(r){var e=r[0],t=r[1],n=r[2],i=r[3];return e*e+t*t+n*n+i*i}function L5t(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r}function O5t(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r[3]=1/e[3],r}function A4(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t*t+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o)),r[0]=t*o,r[1]=n*o,r[2]=i*o,r[3]=a*o,r}function M4(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function D5t(r,e,t,n){var i=t[0]*n[1]-t[1]*n[0],a=t[0]*n[2]-t[2]*n[0],o=t[0]*n[3]-t[3]*n[0],s=t[1]*n[2]-t[2]*n[1],l=t[1]*n[3]-t[3]*n[1],u=t[2]*n[3]-t[3]*n[2],f=e[0],c=e[1],h=e[2],d=e[3];return r[0]=c*u-h*l+d*s,r[1]=-(f*u)+h*o-d*a,r[2]=f*l-c*o+d*i,r[3]=-(f*s)+c*a-h*i,r}function T4(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=o+n*(t[2]-o),r[3]=s+n*(t[3]-s),r}function P5t(r,e){e=e||1;var t,n,i,a,o,s;do t=Tl()*2-1,n=Tl()*2-1,o=t*t+n*n;while(o>=1);do i=Tl()*2-1,a=Tl()*2-1,s=i*i+a*a;while(s>=1);var l=Math.sqrt((1-o)/s);return r[0]=e*t,r[1]=e*n,r[2]=e*i*l,r[3]=e*a*l,r}function k5t(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*o,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*o,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*o,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*o,r}function R5t(r,e,t){var n=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2],u=t[3],f=u*n+s*a-l*i,c=u*i+l*n-o*a,h=u*a+o*i-s*n,d=-o*n-s*i-l*a;return r[0]=f*u+d*-o+c*-l-h*-s,r[1]=c*u+d*-s+h*-o-f*-l,r[2]=h*u+d*-l+f*-s-c*-o,r[3]=e[3],r}function N5t(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}function F5t(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}function I4(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]}function L4(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],o=e[0],s=e[1],l=e[2],u=e[3];return Math.abs(t-o)<=pn*Math.max(1,Math.abs(t),Math.abs(o))&&Math.abs(n-s)<=pn*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-l)<=pn*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=pn*Math.max(1,Math.abs(a),Math.abs(u))}var B5t=y$,G5t=x$,z5t=b$,U5t=_$,j5t=S$,W5t=C2,V5t=w2,H5t=function(){var r=g$();return function(e,t,n,i,a,o){var s,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;spn?(r[0]=e[0]/n,r[1]=e[1]/n,r[2]=e[2]/n):(r[0]=1,r[1]=0,r[2]=0),t}function q5t(r,e){var t=I$(r,e);return Math.acos(2*t*t-1)}function w$(r,e,t){var n=e[0],i=e[1],a=e[2],o=e[3],s=t[0],l=t[1],u=t[2],f=t[3];return r[0]=n*f+o*s+i*u-a*l,r[1]=i*f+o*l+a*s-n*u,r[2]=a*f+o*u+n*l-i*s,r[3]=o*f-n*s-i*l-a*u,r}function K5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l+o*s,r[1]=i*l+a*s,r[2]=a*l-i*s,r[3]=o*l-n*s,r}function Z5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l-a*s,r[1]=i*l+o*s,r[2]=a*l+n*s,r[3]=o*l-i*s,r}function $5t(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(t),l=Math.cos(t);return r[0]=n*l+i*s,r[1]=i*l-n*s,r[2]=a*l+o*s,r[3]=o*l-a*s,r}function Q5t(r,e){var t=e[0],n=e[1],i=e[2];return r[0]=t,r[1]=n,r[2]=i,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-i*i)),r}function E$(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=Math.sqrt(t*t+n*n+i*i),s=Math.exp(a),l=o>0?s*Math.sin(o)/o:0;return r[0]=t*l,r[1]=n*l,r[2]=i*l,r[3]=s*Math.cos(o),r}function A$(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=Math.sqrt(t*t+n*n+i*i),s=o>0?Math.atan2(o,a)/o:0;return r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=.5*Math.log(t*t+n*n+i*i+a*a),r}function J5t(r,e,t){return A$(r,e),T$(r,r,t),E$(r,r),r}function E2(r,e,t,n){var i=e[0],a=e[1],o=e[2],s=e[3],l=t[0],u=t[1],f=t[2],c=t[3],h,d,p,v,m;return d=i*l+a*u+o*f+s*c,d<0&&(d=-d,l=-l,u=-u,f=-f,c=-c),1-d>pn?(h=Math.acos(d),p=Math.sin(h),v=Math.sin((1-n)*h)/p,m=Math.sin(n*h)/p):(v=1-n,m=n),r[0]=v*i+m*l,r[1]=v*a+m*u,r[2]=v*o+m*f,r[3]=v*s+m*c,r}function t4t(r){var e=Tl(),t=Tl(),n=Tl(),i=Math.sqrt(1-e),a=Math.sqrt(e);return r[0]=i*Math.sin(2*Math.PI*t),r[1]=i*Math.cos(2*Math.PI*t),r[2]=a*Math.sin(2*Math.PI*n),r[3]=a*Math.cos(2*Math.PI*n),r}function e4t(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],o=t*t+n*n+i*i+a*a,s=o?1/o:0;return r[0]=-t*s,r[1]=-n*s,r[2]=-i*s,r[3]=a*s,r}function r4t(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function M$(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[o*3+o]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+o]-e[o*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[o]=(e[o*3+i]+e[i*3+o])*n}return r}function n4t(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),o=Math.cos(e),s=Math.sin(t),l=Math.cos(t),u=Math.sin(n),f=Math.cos(n);return r[0]=a*l*f-o*s*u,r[1]=o*s*f+a*l*u,r[2]=o*l*u-a*s*f,r[3]=o*l*f+a*s*u,r}function i4t(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}var a4t=b4,o4t=_4,s4t=S4,l4t=C4,u4t=w4,f4t=w$,T$=E4,I$=M4,c4t=T4,L$=C2,h4t=L$,O$=w2,d4t=O$,D4=A4,p4t=I4,v4t=L4,m4t=function(){var r=b2(),e=_2(1,0,0),t=_2(0,1,0);return function(n,i,a){var o=S2(i,a);return o<-.999999?(Iw(r,e,i),x4(r)<1e-6&&Iw(r,t,i),g4(r,r),C$(n,r,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Iw(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+o,D4(n,n))}}(),g4t=function(){var r=O4(),e=O4();return function(t,n,i,a,o,s){return E2(r,n,o,s),E2(e,i,a,s),E2(t,r,e,2*s*(1-s)),t}}(),y4t=function(){var r=m4();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],D4(e,M$(e,r))}}();var oe={};Dn(oe,{add:()=>C4t,angle:()=>U4t,ceil:()=>w4t,clone:()=>x4t,copy:()=>_4t,create:()=>D$,cross:()=>P4t,dist:()=>K4t,distance:()=>N$,div:()=>q4t,divide:()=>R$,dot:()=>k4,equals:()=>V4t,exactEquals:()=>R4,floor:()=>E4t,forEach:()=>Q4t,fromValues:()=>b4t,inverse:()=>D4t,len:()=>H4t,length:()=>B$,lerp:()=>k4t,max:()=>M4t,min:()=>A4t,mul:()=>X4t,multiply:()=>k$,negate:()=>O4t,normalize:()=>P4,random:()=>R4t,rotate:()=>z4t,round:()=>T4t,scale:()=>I4t,scaleAndAdd:()=>L4t,set:()=>S4t,sqrDist:()=>Z4t,sqrLen:()=>$4t,squaredDistance:()=>F$,squaredLength:()=>G$,str:()=>W4t,sub:()=>Y4t,subtract:()=>P$,transformMat2:()=>N4t,transformMat2d:()=>F4t,transformMat3:()=>B4t,transformMat4:()=>G4t,zero:()=>j4t});function D$(){var r=new Ei(2);return Ei!=Float32Array&&(r[0]=0,r[1]=0),r}function x4t(r){var e=new Ei(2);return e[0]=r[0],e[1]=r[1],e}function b4t(r,e){var t=new Ei(2);return t[0]=r,t[1]=e,t}function _4t(r,e){return r[0]=e[0],r[1]=e[1],r}function S4t(r,e,t){return r[0]=e,r[1]=t,r}function C4t(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function P$(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function k$(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function R$(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function w4t(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function E4t(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function A4t(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function M4t(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}function T4t(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function I4t(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function L4t(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}function N$(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.hypot(t,n)}function F$(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}function B$(r){var e=r[0],t=r[1];return Math.hypot(e,t)}function G$(r){var e=r[0],t=r[1];return e*e+t*t}function O4t(r,e){return r[0]=-e[0],r[1]=-e[1],r}function D4t(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function P4(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function k4(r,e){return r[0]*e[0]+r[1]*e[1]}function P4t(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}function k4t(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}function R4t(r,e){e=e||1;var t=Tl()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}function N4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}function F4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}function B4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}function G4t(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}function z4t(r,e,t,n){var i=e[0]-t[0],a=e[1]-t[1],o=Math.sin(n),s=Math.cos(n);return r[0]=i*s-a*o+t[0],r[1]=i*o+a*s+t[1],r}function U4t(r,e){var t=r[0],n=r[1],i=e[0],a=e[1],o=Math.sqrt(t*t+n*n)*Math.sqrt(i*i+a*a),s=o&&(t*i+n*a)/o;return Math.acos(Math.min(Math.max(s,-1),1))}function j4t(r){return r[0]=0,r[1]=0,r}function W4t(r){return"vec2("+r[0]+", "+r[1]+")"}function R4(r,e){return r[0]===e[0]&&r[1]===e[1]}function V4t(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=pn*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=pn*Math.max(1,Math.abs(n),Math.abs(a))}var H4t=B$,Y4t=P$,X4t=k$,q4t=R$,K4t=N$,Z4t=F$,$4t=G$,Q4t=function(){var r=D$();return function(e,t,n,i,a,o){var s,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,s=n;sezt,direction:()=>W$,leftRotate:()=>U$,leftScale:()=>j$,leftTranslate:()=>z$,transform:()=>tzt,vertical:()=>rzt});function z$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromTranslation(n,t),Ai.multiply(r,n,e)}function U$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromRotation(n,t),Ai.multiply(r,n,e)}function j$(r,e,t){var n=[0,0,0,0,0,0,0,0,0];return Ai.fromScaling(n,t),Ai.multiply(r,n,e)}function J4t(r,e,t){return Ai.multiply(r,t,e)}function tzt(r,e){for(var t=r?[].concat(r):[1,0,0,0,1,0,0,0,1],n=0,i=e.length;n=0;return t?i?Math.PI*2-n:n:i?n:Math.PI*2-n}function rzt(r,e,t){return t?(r[0]=e[1],r[1]=-1*e[0]):(r[0]=-1*e[1],r[1]=e[0]),r}function N4(r,e){var t=[],n=r[0],i=r[1],a=r[2],o=r[3],s=r[4],l=r[5],u=r[6],f=r[7],c=r[8],h=e[0],d=e[1],p=e[2],v=e[3],m=e[4],g=e[5],x=e[6],b=e[7],S=e[8];return t[0]=h*n+d*o+p*u,t[1]=h*i+d*s+p*f,t[2]=h*a+d*l+p*c,t[3]=v*n+m*o+g*u,t[4]=v*i+m*s+g*f,t[5]=v*a+m*l+g*c,t[6]=x*n+b*o+S*u,t[7]=x*i+b*s+S*f,t[8]=x*a+b*l+S*c,t}function pu(r,e){var t=[],n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Ny(r){var e=[],t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],s=r[5],l=r[6],u=r[7],f=r[8],c=f*o-s*u,h=-f*a+s*l,d=u*a-o*l,p=t*c+n*h+i*d;return p?(p=1/p,e[0]=c*p,e[1]=(-f*n+i*u)*p,e[2]=(s*n-i*o)*p,e[3]=h*p,e[4]=(f*t-i*l)*p,e[5]=(-s*t+i*a)*p,e[6]=d*p,e[7]=(-u*t+n*l)*p,e[8]=(o*t-n*a)*p,e):null}var Lw=gr.transform,F4="matrix",nzt=["zIndex","capture","visible","type"],izt=["repeat"],azt=":",ozt="*";function szt(r){for(var e=[],t=0;to.delay&&(0,Hn.each)(e.toAttrs,function(s,l){a.call(o.toAttrs,l)&&(delete o.toAttrs[l],delete o.fromAttrs[l])})}),r}var czt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;n.attrs={};var i=n.getDefaultAttrs();return(0,Hn.mix)(i,t.attrs),n.attrs=i,n.initAttrs(i),n.initAnimate(),n}return e.prototype.getDefaultCfg=function(){return{visible:!0,capture:!0,zIndex:0}},e.prototype.getDefaultAttrs=function(){return{matrix:this.getDefaultMatrix(),opacity:1}},e.prototype.onCanvasChange=function(t){},e.prototype.initAttrs=function(t){},e.prototype.initAnimate=function(){this.set("animable",!0),this.set("animating",!1)},e.prototype.isGroup=function(){return!1},e.prototype.getParent=function(){return this.get("parent")},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.attr=function(){for(var t,n=[],i=0;i0?a=fzt(a,S):i.addAnimator(this),a.push(S),this.set("animations",a),this.set("_pause",{isPaused:!1})}},e.prototype.stopAnimate=function(t){var n=this;t===void 0&&(t=!0);var i=this.get("animations");(0,Hn.each)(i,function(a){t&&(a.onFrame?n.attr(a.onFrame(1)):n.attr(a.toAttrs)),a.callback&&a.callback()}),this.set("animating",!1),this.set("animations",[])},e.prototype.pauseAnimate=function(){var t=this.get("timeline"),n=this.get("animations"),i=t.getTime();return(0,Hn.each)(n,function(a){a._paused=!0,a._pauseTime=i,a.pauseCallback&&a.pauseCallback()}),this.set("_pause",{isPaused:!0,pauseTime:i}),this},e.prototype.resumeAnimate=function(){var t=this.get("timeline"),n=t.getTime(),i=this.get("animations"),a=this.get("_pause").pauseTime;return(0,Hn.each)(i,function(o){o.startTime=o.startTime+(n-a),o._paused=!1,o._pauseTime=null,o.resumeCallback&&o.resumeCallback()}),this.set("_pause",{isPaused:!1}),this.set("animations",i),this},e.prototype.emitDelegation=function(t,n){var i=this,a=n.propagationPath,o=this.getEvents(),s;t==="mouseenter"?s=n.fromShape:t==="mouseleave"&&(s=n.toShape);for(var l=function(h){var d=a[h],p=d.get("name");if(p){if((d.isGroup()||d.isCanvas&&d.isCanvas())&&s&&y2(d,s))return"break";(0,Hn.isArray)(p)?(0,Hn.each)(p,function(v){i.emitDelegateEvent(d,v,n)}):u.emitDelegateEvent(d,p,n)}},u=this,f=0;f0)});l.length>0?((0,Gn.each)(l,function(f){var c=f.getBBox();o.push(c.minX,c.maxX),s.push(c.minY,c.maxY)}),t=(0,eh.min)(o),n=(0,eh.max)(o),i=(0,eh.min)(s),a=(0,eh.max)(s)):(t=0,n=0,i=0,a=0);var u={x:t,y:i,minX:t,minY:i,maxX:n,maxY:a,width:n-t,height:a-i};return u},e.prototype.getCanvasBBox=function(){var t=1/0,n=-1/0,i=1/0,a=-1/0,o=[],s=[],l=this.getChildren().filter(function(f){return f.get("visible")&&(!f.isGroup()||f.isGroup()&&f.getChildren().length>0)});l.length>0?((0,Gn.each)(l,function(f){var c=f.getCanvasBBox();o.push(c.minX,c.maxX),s.push(c.minY,c.maxY)}),t=(0,eh.min)(o),n=(0,eh.max)(o),i=(0,eh.min)(s),a=(0,eh.max)(s)):(t=0,n=0,i=0,a=0);var u={x:t,y:i,minX:t,minY:i,maxX:n,maxY:a,width:n-t,height:a-i};return u},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.children=[],t},e.prototype.onAttrChange=function(t,n,i){if(r.prototype.onAttrChange.call(this,t,n,i),t==="matrix"){var a=this.getTotalMatrix();this._applyChildrenMarix(a)}},e.prototype.applyMatrix=function(t){var n=this.getTotalMatrix();r.prototype.applyMatrix.call(this,t);var i=this.getTotalMatrix();i!==n&&this._applyChildrenMarix(i)},e.prototype._applyChildrenMarix=function(t){var n=this.getChildren();(0,Gn.each)(n,function(i){i.applyMatrix(t)})},e.prototype.addShape=function(){for(var t=[],n=0;n=0;s--){var l=t[s];if(Xv(l)&&(l.isGroup()?o=l.getShape(n,i,a):l.isHit(n,i)&&(o=l)),o)break}return o},e.prototype.add=function(t){var n=this.getCanvas(),i=this.getChildren(),a=this.get("timeline"),o=t.getParent();o&&hzt(o,t,!1),t.set("parent",this),n&&H$(t,n),a&&Y$(t,a),i.push(t),t.onCanvasChange("add"),this._applyElementMatrix(t)},e.prototype._applyElementMatrix=function(t){var n=this.getTotalMatrix();n&&t.applyMatrix(n)},e.prototype.getChildren=function(){return this.get("children")},e.prototype.sort=function(){var t=this.getChildren();(0,Gn.each)(t,function(n,i){return n[B4]=i,n}),t.sort(dzt(function(n,i){return n.get("zIndex")-i.get("zIndex")})),this.onCanvasChange("sort")},e.prototype.clear=function(){if(this.set("clearing",!0),!this.destroyed){for(var t=this.getChildren(),n=t.length-1;n>=0;n--)t[n].destroy();this.set("children",[]),this.onCanvasChange("clear"),this.set("clearing",!1)}},e.prototype.destroy=function(){this.get("destroyed")||(this.clear(),r.prototype.destroy.call(this))},e.prototype.getFirst=function(){return this.getChildByIndex(0)},e.prototype.getLast=function(){var t=this.getChildren();return this.getChildByIndex(t.length-1)},e.prototype.getChildByIndex=function(t){var n=this.getChildren();return n[t]},e.prototype.getCount=function(){var t=this.getChildren();return t.length},e.prototype.contain=function(t){var n=this.getChildren();return n.indexOf(t)>-1},e.prototype.removeChild=function(t,n){n===void 0&&(n=!0),this.contain(t)&&t.remove(n)},e.prototype.findAll=function(t){var n=[],i=this.getChildren();return(0,Gn.each)(i,function(a){t(a)&&n.push(a),a.isGroup()&&(n=n.concat(a.findAll(t)))}),n},e.prototype.find=function(t){var n=null,i=this.getChildren();return(0,Gn.each)(i,function(a){if(t(a)?n=a:a.isGroup()&&(n=a.find(t)),n)return!1}),n},e.prototype.findById=function(t){return this.find(function(n){return n.get("id")===t})},e.prototype.findByClassName=function(t){return this.find(function(n){return n.get("className")===t})},e.prototype.findAllByName=function(t){return this.findAll(function(n){return n.get("name")===t})},e}(A2),M2=pzt;var By=z(q());var yb=0,Ow=0,Dw=0,X$=1e3,T2,Pw,I2=0,Fy=0,L2=0,kw=typeof performance=="object"&&performance.now?performance:Date,q$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function G4(){return Fy||(q$(vzt),Fy=kw.now()+L2)}function vzt(){Fy=0}function z4(){this._call=this._time=this._next=null}z4.prototype=xb.prototype={constructor:z4,restart:function(r,e,t){if(typeof r!="function")throw new TypeError("callback is not a function");t=(t==null?G4():+t)+(e==null?0:+e),!this._next&&Pw!==this&&(Pw?Pw._next=this:T2=this,Pw=this),this._call=r,this._time=t,U4()},stop:function(){this._call&&(this._call=null,this._time=1/0,U4())}};function xb(r,e,t){var n=new z4;return n.restart(r,e,t),n}function K$(){G4(),++yb;for(var r=T2,e;r;)(e=Fy-r._time)>=0&&r._call.call(null,e),r=r._next;--yb}function Z$(){Fy=(I2=kw.now())+L2,yb=Ow=0;try{K$()}finally{yb=0,gzt(),Fy=0}}function mzt(){var r=kw.now(),e=r-I2;e>X$&&(L2-=e,I2=r)}function gzt(){for(var r,e=T2,t,n=1/0;e;)e._call?(n>e._time&&(n=e._time),r=e,e=e._next):(t=e._next,e._next=null,e=r?r._next=t:T2=t);Pw=r,U4(n)}function U4(r){if(!yb){Ow&&(Ow=clearTimeout(Ow));var e=r-Fy;e>24?(r<1/0&&(Ow=setTimeout(Z$,r-kw.now()-L2)),Dw&&(Dw=clearInterval(Dw))):(Dw||(I2=kw.now(),Dw=setInterval(mzt,X$)),yb=1,q$(Z$))}}var D2={};Dn(D2,{easeBack:()=>$4,easeBackIn:()=>pQ,easeBackInOut:()=>$4,easeBackOut:()=>vQ,easeBounce:()=>bb,easeBounceIn:()=>hQ,easeBounceInOut:()=>dQ,easeBounceOut:()=>bb,easeCircle:()=>q4,easeCircleIn:()=>fQ,easeCircleInOut:()=>q4,easeCircleOut:()=>cQ,easeCubic:()=>W4,easeCubicIn:()=>tQ,easeCubicInOut:()=>W4,easeCubicOut:()=>eQ,easeElastic:()=>tz,easeElasticIn:()=>mQ,easeElasticInOut:()=>gQ,easeElasticOut:()=>tz,easeExp:()=>X4,easeExpIn:()=>lQ,easeExpInOut:()=>X4,easeExpOut:()=>uQ,easeLinear:()=>$$,easePoly:()=>H4,easePolyIn:()=>rQ,easePolyInOut:()=>H4,easePolyOut:()=>nQ,easeQuad:()=>j4,easeQuadIn:()=>Q$,easeQuadInOut:()=>j4,easeQuadOut:()=>J$,easeSin:()=>Y4,easeSinIn:()=>oQ,easeSinInOut:()=>Y4,easeSinOut:()=>sQ});function $$(r){return+r}function Q$(r){return r*r}function J$(r){return r*(2-r)}function j4(r){return((r*=2)<=1?r*r:--r*(2-r)+1)/2}function tQ(r){return r*r*r}function eQ(r){return--r*r*r+1}function W4(r){return((r*=2)<=1?r*r*r:(r-=2)*r*r+2)/2}var V4=3,rQ=function r(e){e=+e;function t(n){return Math.pow(n,e)}return t.exponent=r,t}(V4),nQ=function r(e){e=+e;function t(n){return 1-Math.pow(1-n,e)}return t.exponent=r,t}(V4),H4=function r(e){e=+e;function t(n){return((n*=2)<=1?Math.pow(n,e):2-Math.pow(2-n,e))/2}return t.exponent=r,t}(V4);var iQ=Math.PI,aQ=iQ/2;function oQ(r){return+r==1?1:1-Math.cos(r*aQ)}function sQ(r){return Math.sin(r*aQ)}function Y4(r){return(1-Math.cos(iQ*r))/2}function rh(r){return(Math.pow(2,-10*r)-.0009765625)*1.0009775171065494}function lQ(r){return rh(1-+r)}function uQ(r){return 1-rh(r)}function X4(r){return((r*=2)<=1?rh(1-r):2-rh(r-1))/2}function fQ(r){return 1-Math.sqrt(1-r*r)}function cQ(r){return Math.sqrt(1- --r*r)}function q4(r){return((r*=2)<=1?1-Math.sqrt(1-r*r):Math.sqrt(1-(r-=2)*r)+1)/2}var K4=4/11,yzt=6/11,xzt=8/11,bzt=3/4,_zt=9/11,Szt=10/11,Czt=15/16,wzt=21/22,Ezt=63/64,O2=1/K4/K4;function hQ(r){return 1-bb(1-r)}function bb(r){return(r=+r)>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?R2(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?R2(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Mzt.exec(r))?new vu(e[1],e[2],e[3],1):(e=Tzt.exec(r))?new vu(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Izt.exec(r))?R2(e[1],e[2],e[3],e[4]):(e=Lzt.exec(r))?R2(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Ozt.exec(r))?wQ(e[1],e[2]/100,e[3]/100,1):(e=Dzt.exec(r))?wQ(e[1],e[2]/100,e[3]/100,e[4]):yQ.hasOwnProperty(r)?_Q(yQ[r]):r==="transparent"?new vu(NaN,NaN,NaN,0):null}function _Q(r){return new vu(r>>16&255,r>>8&255,r&255,1)}function R2(r,e,t,n){return n<=0&&(r=e=t=NaN),new vu(r,e,t,n)}function kzt(r){return r instanceof Rw||(r=qv(r)),r?(r=r.rgb(),new vu(r.r,r.g,r.b,r.opacity)):new vu}function Cb(r,e,t,n){return arguments.length===1?kzt(r):new vu(r,e,t,n==null?1:n)}function vu(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}P2(vu,Cb,ez(Rw,{brighter:function(r){return r=r==null?k2:Math.pow(k2,r),new vu(this.r*r,this.g*r,this.b*r,this.opacity)},darker:function(r){return r=r==null?Nw:Math.pow(Nw,r),new vu(this.r*r,this.g*r,this.b*r,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SQ,formatHex:SQ,formatRgb:CQ,toString:CQ}));function SQ(){return"#"+rz(this.r)+rz(this.g)+rz(this.b)}function CQ(){var r=this.opacity;return r=isNaN(r)?1:Math.max(0,Math.min(1,r)),(r===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(r===1?")":", "+r+")")}function rz(r){return r=Math.max(0,Math.min(255,Math.round(r)||0)),(r<16?"0":"")+r.toString(16)}function wQ(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new ih(r,e,t,n)}function EQ(r){if(r instanceof ih)return new ih(r.h,r.s,r.l,r.opacity);if(r instanceof Rw||(r=qv(r)),!r)return new ih;if(r instanceof ih)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),o=NaN,s=a-i,l=(a+i)/2;return s?(e===a?o=(t-n)/s+(t0&&l<1?0:o,new ih(o,s,l,r.opacity)}function AQ(r,e,t,n){return arguments.length===1?EQ(r):new ih(r,e,t,n==null?1:n)}function ih(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}P2(ih,AQ,ez(Rw,{brighter:function(r){return r=r==null?k2:Math.pow(k2,r),new ih(this.h,this.s,this.l*r,this.opacity)},darker:function(r){return r=r==null?Nw:Math.pow(Nw,r),new ih(this.h,this.s,this.l*r,this.opacity)},rgb:function(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new vu(nz(r>=240?r-240:r+120,i,n),nz(r,i,n),nz(r<120?r+240:r-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var r=this.opacity;return r=isNaN(r)?1:Math.max(0,Math.min(1,r)),(r===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(r===1?")":", "+r+")")}}));function nz(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function iz(r,e,t,n,i){var a=r*r,o=a*r;return((1-3*r+3*a-o)*e+(4-6*a+3*o)*t+(1+3*r+3*a-3*o)*n+o*i)/6}function MQ(r){var e=r.length-1;return function(t){var n=t<=0?t=0:t>=1?(t=1,e-1):Math.floor(t*e),i=r[n],a=r[n+1],o=n>0?r[n-1]:2*i-a,s=nt&&(a=e.slice(t,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Gw(n,i)})),t=uz.lastIndex;return tu.length?(l=ky(a[s]),u=ky(i[s]),u=d4(u,l),u=m2(u,l),e.fromAttrs.path=u,e.toAttrs.path=l):e.pathFormatted||(l=ky(a[s]),u=ky(i[s]),u=m2(u,l),e.fromAttrs.path=u,e.toAttrs.path=l,e.pathFormatted=!0),n[s]=[];for(var f=0;f0){for(var s=e.animators.length-1;s>=0;s--){if(n=e.animators[s],n.destroyed){e.removeAnimator(s);continue}if(!n.isAnimatePaused()){i=n.get("animations");for(var l=i.length-1;l>=0;l--)a=i[l],t=zzt(n,a,o),t&&(i.splice(l,1),t=!1,a.callback&&a.callback())}i.length===0&&e.removeAnimator(s)}var u=e.canvas.get("autoDraw");u||e.canvas.draw()}})},r.prototype.addAnimator=function(e){this.animators.push(e)},r.prototype.removeAnimator=function(e){this.animators.splice(e,1)},r.prototype.isAnimating=function(){return!!this.animators.length},r.prototype.stop=function(){this.timer&&this.timer.stop()},r.prototype.stopAllAnimations=function(e){e===void 0&&(e=!0),this.animators.forEach(function(t){t.stopAnimate(e)}),this.animators=[],this.canvas.draw()},r.prototype.getTime=function(){return this.current},r}(),FQ=Uzt;var jzt=40,BQ=0;var GQ=["mousedown","mouseup","dblclick","mouseout","mouseover","mousemove","mouseleave","mouseenter","touchstart","touchmove","touchend","dragenter","dragover","dragleave","drop","contextmenu","mousewheel"];function zQ(r,e,t){t.name=e,t.target=r,t.currentTarget=r,t.delegateTarget=r,r.emit(e,t)}function Wzt(r,e,t){if(t.bubbles){var n=void 0,i=!1;if(e==="mouseenter"?(n=t.fromShape,i=!0):e==="mouseleave"&&(i=!0,n=t.toShape),r.isCanvas()&&i)return;if(n&&y2(r,n)){t.bubbles=!1;return}t.name=e,t.currentTarget=r,t.delegateTarget=r,r.emit(e,t)}}var Vzt=function(){function r(e){var t=this;this.draggingShape=null,this.dragging=!1,this.currentShape=null,this.mousedownShape=null,this.mousedownPoint=null,this._eventCallback=function(n){var i=n.type;t._triggerEvent(i,n)},this._onDocumentMove=function(n){var i=t.canvas,a=i.get("el");if(a!==n.target&&(t.dragging||t.currentShape)){var o=t._getPointInfo(n);t.dragging&&t._emitEvent("drag",n,o,t.draggingShape)}},this._onDocumentMouseUp=function(n){var i=t.canvas,a=i.get("el");if(a!==n.target&&t.dragging){var o=t._getPointInfo(n);t.draggingShape&&t._emitEvent("drop",n,o,null),t._emitEvent("dragend",n,o,t.draggingShape),t._afterDrag(t.draggingShape,o,n)}},this.canvas=e.canvas}return r.prototype.init=function(){this._bindEvents()},r.prototype._bindEvents=function(){var e=this,t=this.canvas.get("el");(0,Gn.each)(GQ,function(n){t.addEventListener(n,e._eventCallback)}),document&&(document.addEventListener("mousemove",this._onDocumentMove),document.addEventListener("mouseup",this._onDocumentMouseUp))},r.prototype._clearEvents=function(){var e=this,t=this.canvas.get("el");(0,Gn.each)(GQ,function(n){t.removeEventListener(n,e._eventCallback)}),document&&(document.removeEventListener("mousemove",this._onDocumentMove),document.removeEventListener("mouseup",this._onDocumentMouseUp))},r.prototype._getEventObj=function(e,t,n,i,a,o){var s=new Yu(e,t);return s.fromShape=a,s.toShape=o,s.x=n.x,s.y=n.y,s.clientX=n.clientX,s.clientY=n.clientY,s.propagationPath.push(i),s},r.prototype._getShape=function(e,t){return this.canvas.getShape(e.x,e.y,t)},r.prototype._getPointInfo=function(e){var t=this.canvas,n=t.getClientByEvent(e),i=t.getPointByEvent(e);return{x:i.x,y:i.y,clientX:n.x,clientY:n.y}},r.prototype._triggerEvent=function(e,t){var n=this._getPointInfo(t),i=this._getShape(n,t),a=this["_on"+e],o=!1;if(a)a.call(this,n,i,t);else{var s=this.currentShape;e==="mouseenter"||e==="dragenter"||e==="mouseover"?(this._emitEvent(e,t,n,null,null,i),i&&this._emitEvent(e,t,n,i,null,i),e==="mouseenter"&&this.draggingShape&&this._emitEvent("dragenter",t,n,null)):e==="mouseleave"||e==="dragleave"||e==="mouseout"?(o=!0,s&&this._emitEvent(e,t,n,s,s,null),this._emitEvent(e,t,n,null,s,null),e==="mouseleave"&&this.draggingShape&&this._emitEvent("dragleave",t,n,null)):this._emitEvent(e,t,n,i,null,null)}if(o||(this.currentShape=i),i&&!i.get("destroyed")){var l=this.canvas,u=l.get("el");u.style.cursor=i.attr("cursor")||l.get("cursor")}},r.prototype._onmousedown=function(e,t,n){n.button===BQ&&(this.mousedownShape=t,this.mousedownPoint=e,this.mousedownTimeStamp=n.timeStamp),this._emitEvent("mousedown",n,e,t,null,null)},r.prototype._emitMouseoverEvents=function(e,t,n,i){var a=this.canvas.get("el");n!==i&&(n&&(this._emitEvent("mouseout",e,t,n,n,i),this._emitEvent("mouseleave",e,t,n,n,i),(!i||i.get("destroyed"))&&(a.style.cursor=this.canvas.get("cursor"))),i&&(this._emitEvent("mouseover",e,t,i,n,i),this._emitEvent("mouseenter",e,t,i,n,i)))},r.prototype._emitDragoverEvents=function(e,t,n,i,a){i?(i!==n&&(n&&this._emitEvent("dragleave",e,t,n,n,i),this._emitEvent("dragenter",e,t,i,n,i)),a||this._emitEvent("dragover",e,t,i)):n&&this._emitEvent("dragleave",e,t,n,n,i),a&&this._emitEvent("dragover",e,t,i)},r.prototype._afterDrag=function(e,t,n){e&&(e.set("capture",!0),this.draggingShape=null),this.dragging=!1;var i=this._getShape(t,n);i!==e&&this._emitMouseoverEvents(n,t,e,i),this.currentShape=i},r.prototype._onmouseup=function(e,t,n){if(n.button===BQ){var i=this.draggingShape;this.dragging?(i&&this._emitEvent("drop",n,e,t),this._emitEvent("dragend",n,e,i),this._afterDrag(i,e,n)):(this._emitEvent("mouseup",n,e,t),t===this.mousedownShape&&this._emitEvent("click",n,e,t),this.mousedownShape=null,this.mousedownPoint=null)}},r.prototype._ondragover=function(e,t,n){n.preventDefault();var i=this.currentShape;this._emitDragoverEvents(n,e,i,t,!0)},r.prototype._onmousemove=function(e,t,n){var i=this.canvas,a=this.currentShape,o=this.draggingShape;if(this.dragging)o&&this._emitDragoverEvents(n,e,a,t,!1),this._emitEvent("drag",n,e,o);else{var s=this.mousedownPoint;if(s){var l=this.mousedownShape,u=n.timeStamp,f=u-this.mousedownTimeStamp,c=s.clientX-e.clientX,h=s.clientY-e.clientY,d=c*c+h*h;f>120||d>jzt?l&&l.get("draggable")?(o=this.mousedownShape,o.set("capture",!1),this.draggingShape=o,this.dragging=!0,this._emitEvent("dragstart",n,e,o),this.mousedownShape=null,this.mousedownPoint=null):!l&&i.get("draggable")?(this.dragging=!0,this._emitEvent("dragstart",n,e,null),this.mousedownShape=null,this.mousedownPoint=null):(this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t)):(this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t))}else this._emitMouseoverEvents(n,e,a,t),this._emitEvent("mousemove",n,e,t)}},r.prototype._emitEvent=function(e,t,n,i,a,o){var s=this._getEventObj(e,t,n,i,a,o);if(i){s.shape=i,zQ(i,e,s);for(var l=i.getParent();l;)l.emitDelegation(e,s),s.propagationStopped||Wzt(l,e,s),s.propagationPath.push(l),l=l.getParent()}else{var u=this.canvas;zQ(u,e,s)}},r.prototype.destroy=function(){this._clearEvents(),this.canvas=null,this.currentShape=null,this.draggingShape=null,this.mousedownPoint=null,this.mousedownShape=null,this.mousedownTimeStamp=null},r}(),UQ=Vzt;var jQ="px",WQ=x2(),Hzt=WQ&&WQ.name==="firefox",Yzt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.initContainer(),n.initDom(),n.initEvents(),n.initTimeline(),n}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.cursor="default",t.supportCSSTransform=!1,t},e.prototype.initContainer=function(){var t=this.get("container");(0,Gn.isString)(t)&&(t=document.getElementById(t),this.set("container",t))},e.prototype.initDom=function(){var t=this.createDom();this.set("el",t);var n=this.get("container");n.appendChild(t),this.setDOMSize(this.get("width"),this.get("height"))},e.prototype.initEvents=function(){var t=new UQ({canvas:this});t.init(),this.set("eventController",t)},e.prototype.initTimeline=function(){var t=new FQ(this);this.set("timeline",t)},e.prototype.setDOMSize=function(t,n){var i=this.get("el");v4&&(i.style.width=t+jQ,i.style.height=n+jQ)},e.prototype.changeSize=function(t,n){this.setDOMSize(t,n),this.set("width",t),this.set("height",n),this.onCanvasChange("changeSize")},e.prototype.getRenderer=function(){return this.get("renderer")},e.prototype.getCursor=function(){return this.get("cursor")},e.prototype.setCursor=function(t){this.set("cursor",t);var n=this.get("el");v4&&n&&(n.style.cursor=t)},e.prototype.getPointByEvent=function(t){var n=this.get("supportCSSTransform");if(n){if(Hzt&&!(0,Gn.isNil)(t.layerX)&&t.layerX!==t.offsetX)return{x:t.layerX,y:t.layerY};if(!(0,Gn.isNil)(t.offsetX))return{x:t.offsetX,y:t.offsetY}}var i=this.getClientByEvent(t),a=i.x,o=i.y;return this.getPointByClient(a,o)},e.prototype.getClientByEvent=function(t){var n=t;return t.touches&&(t.type==="touchend"?n=t.changedTouches[0]:n=t.touches[0]),{x:n.clientX,y:n.clientY}},e.prototype.getPointByClient=function(t,n){var i=this.get("el"),a=i.getBoundingClientRect();return{x:t-a.left,y:n-a.top}},e.prototype.getClientByPoint=function(t,n){var i=this.get("el"),a=i.getBoundingClientRect();return{x:t+a.left,y:n+a.top}},e.prototype.draw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.parentNode.removeChild(t)},e.prototype.clearEvents=function(){var t=this.get("eventController");t.destroy()},e.prototype.isCanvas=function(){return!0},e.prototype.getParent=function(){return null},e.prototype.destroy=function(){var t=this.get("timeline");this.get("destroyed")||(this.clear(),t&&t.stop(),this.clearEvents(),this.removeDom(),r.prototype.destroy.call(this))},e}(M2),Gy=Yzt;var Xzt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.isGroup=function(){return!0},e.prototype.isEntityGroup=function(){return!1},e.prototype.clone=function(){for(var t=r.prototype.clone.call(this),n=this.getChildren(),i=0;i=t&&i.minY<=n&&i.maxY>=n},e.prototype.afterAttrsChange=function(t){r.prototype.afterAttrsChange.call(this,t),this.clearCacheBBox()},e.prototype.getBBox=function(){var t=this.cfg.bbox;return t||(t=this.calculateBBox(),this.set("bbox",t)),t},e.prototype.getCanvasBBox=function(){var t=this.cfg.canvasBBox;return t||(t=this.calculateCanvasBBox(),this.set("canvasBBox",t)),t},e.prototype.applyMatrix=function(t){r.prototype.applyMatrix.call(this,t),this.set("canvasBBox",null)},e.prototype.calculateCanvasBBox=function(){var t=this.getBBox(),n=this.getTotalMatrix(),i=t.minX,a=t.minY,o=t.maxX,s=t.maxY;if(n){var l=pu(n,[t.minX,t.minY]),u=pu(n,[t.maxX,t.minY]),f=pu(n,[t.minX,t.maxY]),c=pu(n,[t.maxX,t.maxY]);i=Math.min(l[0],u[0],f[0],c[0]),o=Math.max(l[0],u[0],f[0],c[0]),a=Math.min(l[1],u[1],f[1],c[1]),s=Math.max(l[1],u[1],f[1],c[1])}var h=this.attrs;if(h.shadowColor){var d=h.shadowBlur,p=d===void 0?0:d,v=h.shadowOffsetX,m=v===void 0?0:v,g=h.shadowOffsetY,x=g===void 0?0:g,b=i-p+m,S=o+p+m,C=a-p+x,w=s+p+x;i=Math.min(i,b),o=Math.max(o,S),a=Math.min(a,C),s=Math.max(s,w)}return{x:i,y:a,minX:i,minY:a,maxX:o,maxY:s,width:o-i,height:s-a}},e.prototype.clearCacheBBox=function(){this.set("bbox",null),this.set("canvasBBox",null)},e.prototype.isClipShape=function(){return this.get("isClipShape")},e.prototype.isInShape=function(t,n){return!1},e.prototype.isOnlyHitBox=function(){return!1},e.prototype.isHit=function(t,n){var i=this.get("startArrowShape"),a=this.get("endArrowShape"),o=[t,n,1];o=this.invertFromMatrix(o);var s=o[0],l=o[1],u=this._isInBBox(s,l);return this.isOnlyHitBox()?u:!!(u&&!this.isClipped(s,l)&&(this.isInShape(s,l)||i&&i.isHit(s,l)||a&&a.isHit(s,l)))},e}(A2),$v=qzt;var VQ=new Map;function Kf(r,e){VQ.set(r,e)}function Qv(r){return VQ.get(r)}function fz(r){var e=r.attr(),t=e.x,n=e.y,i=e.width,a=e.height;return{x:t,y:n,width:i,height:a}}function cz(r){var e=r.attr(),t=e.x,n=e.y,i=e.r;return{x:t-i,y:n-i,width:i*2,height:i*2}}var wb={};Dn(wb,{distance:()=>ba,getBBoxByArray:()=>ep,getBBoxRange:()=>Kzt,isNumberEqual:()=>zy,piMod:()=>rp});function G2(r){return Math.min.apply(null,r)}function z2(r){return Math.max.apply(null,r)}function ba(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function zy(r,e){return Math.abs(r-e)<.001}function ep(r,e){var t=G2(r),n=G2(e),i=z2(r),a=z2(e);return{x:t,y:n,width:i-t,height:a-n}}function Kzt(r,e,t,n){return{minX:G2([r,t]),maxX:z2([r,t]),minY:G2([e,n]),maxY:z2([e,n])}}function rp(r){return(r+Math.PI*2)%(Math.PI*2)}var Vi={box:function(r,e,t,n){return ep([r,t],[e,n])},length:function(r,e,t,n){return ba(r,e,t,n)},pointAt:function(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}},pointDistance:function(r,e,t,n,i,a){var o=(t-r)*(i-r)+(n-e)*(a-e);if(o<0)return ba(r,e,i,a);var s=(t-r)*(t-r)+(n-e)*(n-e);return o>s?ba(t,n,i,a):this.pointToLine(r,e,t,n,i,a)},pointToLine:function(r,e,t,n,i,a){var o=[t-r,n-e];if(R4(o,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var s=[-o[1],o[0]];P4(s,s);var l=[i-r,a-e];return Math.abs(k4(l,s))},tangentAngle:function(r,e,t,n){return Math.atan2(n-e,t-r)}};var Zzt=1e-4;function U2(r,e,t,n,i,a){var o,s=1/0,l=[t,n],u=20;a&&a>200&&(u=a/10);for(var f=1/u,c=f/10,h=0;h<=u;h++){var d=h*f,p=[i.apply(null,r.concat([d])),i.apply(null,e.concat([d]))],v=ba(l[0],l[1],p[0],p[1]);v=0&&v=0?[i]:[]}function XQ(r,e,t,n){return 2*(1-n)*(e-r)+2*n*(t-e)}function qQ(r,e,t,n,i,a,o){var s=Jv(r,t,i,o),l=Jv(e,n,a,o),u=Vi.pointAt(r,e,t,n,o),f=Vi.pointAt(t,n,i,a,o);return[[r,e,u.x,u.y,s,l],[s,l,f.x,f.y,i,a]]}function hz(r,e,t,n,i,a,o){if(o===0)return(ba(r,e,t,n)+ba(t,n,i,a)+ba(r,e,i,a))/2;var s=qQ(r,e,t,n,i,a,.5),l=s[0],u=s[1];return l.push(o-1),u.push(o-1),hz.apply(null,l)+hz.apply(null,u)}var zw={box:function(r,e,t,n,i,a){var o=YQ(r,t,i)[0],s=YQ(e,n,a)[0],l=[r,i],u=[e,a];return o!==void 0&&l.push(Jv(r,t,i,o)),s!==void 0&&u.push(Jv(e,n,a,s)),ep(l,u)},length:function(r,e,t,n,i,a){return hz(r,e,t,n,i,a,3)},nearestPoint:function(r,e,t,n,i,a,o,s){return U2([r,t,i],[e,n,a],o,s,Jv)},pointDistance:function(r,e,t,n,i,a,o,s){var l=this.nearestPoint(r,e,t,n,i,a,o,s);return ba(l.x,l.y,o,s)},interpolationAt:Jv,pointAt:function(r,e,t,n,i,a,o){return{x:Jv(r,t,i,o),y:Jv(e,n,a,o)}},divide:function(r,e,t,n,i,a,o){return qQ(r,e,t,n,i,a,o)},tangentAngle:function(r,e,t,n,i,a,o){var s=XQ(r,t,i,o),l=XQ(e,n,a,o),u=Math.atan2(l,s);return rp(u)}};function tm(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function KQ(r,e,t,n,i){var a=1-i;return 3*(a*a*(e-r)+2*a*i*(t-e)+i*i*(n-t))}function dz(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,o=3*e-3*r,s=[],l,u,f;if(zy(i,0))zy(a,0)||(l=-o/a,l>=0&&l<=1&&s.push(l));else{var c=a*a-4*i*o;zy(c,0)?s.push(-a/(2*i)):c>0&&(f=Math.sqrt(c),l=(-a+f)/(2*i),u=(-a-f)/(2*i),l>=0&&l<=1&&s.push(l),u>=0&&u<=1&&s.push(u))}return s}function ZQ(r,e,t,n,i,a,o,s,l){var u=tm(r,t,i,o,l),f=tm(e,n,a,s,l),c=Vi.pointAt(r,e,t,n,l),h=Vi.pointAt(t,n,i,a,l),d=Vi.pointAt(i,a,o,s,l),p=Vi.pointAt(c.x,c.y,h.x,h.y,l),v=Vi.pointAt(h.x,h.y,d.x,d.y,l);return[[r,e,c.x,c.y,p.x,p.y,u,f],[u,f,v.x,v.y,d.x,d.y,o,s]]}function pz(r,e,t,n,i,a,o,s,l){if(l===0)return HQ([r,t,i,o],[e,n,a,s]);var u=ZQ(r,e,t,n,i,a,o,s,.5),f=u[0],c=u[1];return f.push(l-1),c.push(l-1),pz.apply(null,f)+pz.apply(null,c)}var np={extrema:dz,box:function(r,e,t,n,i,a,o,s){for(var l=[r,o],u=[e,s],f=dz(r,t,i,o),c=dz(e,n,a,s),h=0;h0?t:t*-1}var QQ={box:function(r,e,t,n){return{x:r-t,y:e-n,width:t*2,height:n*2}},length:function(r,e,t,n){return Math.PI*(3*(t+n)-Math.sqrt((3*t+n)*(t+3*n)))},nearestPoint:function(r,e,t,n,i,a){var o=t,s=n;if(o===0||s===0)return{x:r,y:e};for(var l=i-r,u=a-e,f=Math.abs(l),c=Math.abs(u),h=o*o,d=s*s,p=Math.PI/4,v,m,g=0;g<4;g++){v=o*Math.cos(p),m=s*Math.sin(p);var x=(h-d)*Math.pow(Math.cos(p),3)/o,b=(d-h)*Math.pow(Math.sin(p),3)/s,S=v-x,C=m-b,w=f-x,A=c-b,L=Math.hypot(C,S),k=Math.hypot(A,w),O=L*Math.asin((S*A-C*w)/(L*k)),M=O/Math.sqrt(h+d-v*v-m*m);p+=M,p=Math.min(Math.PI/2,Math.max(0,p))}return{x:r+$Q(v,l),y:e+$Q(m,u)}},pointDistance:function(r,e,t,n,i,a){var o=this.nearestPoint(r,e,t,n,i,a);return ba(o.x,o.y,i,a)},pointAt:function(r,e,t,n,i){var a=2*Math.PI*i;return{x:r+t*Math.cos(a),y:e+n*Math.sin(a)}},tangentAngle:function(r,e,t,n,i){var a=2*Math.PI*i,o=Math.atan2(n*Math.cos(a),-t*Math.sin(a));return rp(o)}};function $zt(r,e,t,n,i,a,o,s){return-1*t*Math.cos(i)*Math.sin(s)-n*Math.sin(i)*Math.cos(s)}function Qzt(r,e,t,n,i,a,o,s){return-1*t*Math.sin(i)*Math.sin(s)+n*Math.cos(i)*Math.cos(s)}function Jzt(r,e,t){return Math.atan(-e/r*Math.tan(t))}function tUt(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function JQ(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function tJ(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function eUt(r,e,t,n){var i=Math.atan2(n*r,t*e);return(i+Math.PI*2)%(Math.PI*2)}function eJ(r,e,t){return{x:r*Math.cos(t),y:e*Math.sin(t)}}function rJ(r,e,t){var n=Math.cos(t),i=Math.sin(t);return[r*n-e*i,r*i+e*n]}var vz={box:function(r,e,t,n,i,a,o){for(var s=Jzt(t,n,i),l=1/0,u=-1/0,f=[a,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var h=s+c;au&&(u=d)}for(var p=tUt(t,n,i),v=1/0,m=-1/0,g=[a,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var x=p+c;am&&(m=b)}return{x:l,y:v,width:u-l,height:m-v}},length:function(r,e,t,n,i,a,o){},nearestPoint:function(r,e,t,n,i,a,o,s,l){var u=rJ(s-r,l-e,-i),f=u[0],c=u[1],h=QQ.nearestPoint(0,0,t,n,f,c),d=eUt(t,n,h.x,h.y);do&&(h=eJ(t,n,o));var p=rJ(h.x,h.y,i);return{x:p[0]+r,y:p[1]+e}},pointDistance:function(r,e,t,n,i,a,o,s,l){var u=this.nearestPoint(r,e,t,n,s,l);return ba(u.x,u.y,s,l)},pointAt:function(r,e,t,n,i,a,o,s){var l=(o-a)*s+a;return{x:JQ(r,e,t,n,i,l),y:tJ(r,e,t,n,i,l)}},tangentAngle:function(r,e,t,n,i,a,o,s){var l=(o-a)*s+a,u=$zt(r,e,t,n,i,a,o,l),f=Qzt(r,e,t,n,i,a,o,l);return rp(Math.atan2(f,u))}};function nJ(r){for(var e=0,t=[],n=0;n1||e<0||r.length<2)return null;var t=nJ(r),n=t.segments,i=t.totalLength;if(i===0)return{x:r[0][0],y:r[0][1]};for(var a=0,o=null,s=0;s=a&&e<=a+c){var h=(e-a)/c;o=Vi.pointAt(u[0],u[1],f[0],f[1],h);break}a+=c}return o}function yz(r,e){if(e>1||e<0||r.length<2)return 0;for(var t=nJ(r),n=t.segments,i=t.totalLength,a=0,o=0,s=0;s=a&&e<=a+c){o=Math.atan2(f[1]-u[1],f[0]-u[0]);break}a+=c}return o}function xz(r,e,t){for(var n=1/0,i=0;i1){var i=rUt(e,t);return e*n+i*(n-1)}return e}function rUt(r,e){return e?e-r:r*.14}function sJ(r,e){var t=Uy(),n=0;if((0,Gn.isNil)(r)||r==="")return n;if(t.save(),t.font=e,(0,Gn.isString)(r)&&r.includes(` `)){var i=r.split(` -`);(0,Gn.each)(i,function(a){var o=t.measureText(a).width;n1){var i=t[0].charAt(0);t.splice(1,0,t[0].substr(1)),t[0]=i}(0,zy.each)(t,function(a,o){isNaN(a)||(t[o]=+a)}),e[n]=t}),e}var vz=Bzt;function zzt(r,e,t,n){var i=[],a=!!n,o,s,l,u,f,c,h;if(a){l=n[0],u=n[1];for(var d=0,p=r.length;d2&&(t.push([i].concat(o.splice(0,2))),s="l",i=i==="m"?"l":"L"),s==="o"&&o.length===1&&t.push([i,o[0]]),s==="r")t.push([i].concat(o));else for(;o.length>=e[s]&&(t.push([i].concat(o.splice(0,e[s]))),!!e[s]););return""}),t}var Hzt=/[a-z]/;function QQ(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}function jy(r){var e=Zf(r);if(!e||!e.length)return[["M",0,0]];for(var t=!1,n=0;n=0){t=!0;break}}if(!t)return e;var a=[],o=0,s=0,l=0,u=0,f=0,c,h,d=e[0];(d[0]==="M"||d[0]==="m")&&(o=+d[1],s=+d[2],l=o,u=s,f++,a[0]=["M",o,s]);for(var n=f,p=e.length;n1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var p=t*t*(h*h)+n*n*(c*c),v=p?Math.sqrt((t*t*(n*n)-p)/p):1;a===o&&(v*=-1),isNaN(v)&&(v=0);var m=n?v*t*h/n:0,g=t?v*-n*c/t:0,x=(s+u)/2+Math.cos(i)*m-Math.sin(i)*g,b=(l+f)/2+Math.sin(i)*m+Math.cos(i)*g,S=[(c-m)/t,(h-g)/n],C=[(-1*c-m)/t,(-1*h-g)/n],w=JQ([1,0],S),A=JQ(S,C);return mz(S,C)<=-1&&(A=Math.PI),mz(S,C)>=1&&(A=0),o===0&&A>0&&(A=A-2*Math.PI),o===1&&A<0&&(A=A+2*Math.PI),{cx:x,cy:b,rx:z2(r,[u,f])?0:t,ry:z2(r,[u,f])?0:n,startAngle:w,endAngle:w+A,xRotation:i,arcFlag:a,sweepFlag:o}}function tJ(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}function wb(r){r=vz(r);for(var e=[],t=null,n=null,i=null,a=0,o=r.length,s=0;s=e&&r<=t};function j2(r,e,t,n){var i=.001,a={x:t.x-r.x,y:t.y-r.y},o={x:e.x-r.x,y:e.y-r.y},s={x:n.x-t.x,y:n.y-t.y},l=o.x*s.y-o.y*s.x,u=l*l,f=o.x*o.x+o.y*o.y,c=s.x*s.x+s.y*s.y,h=null;if(u>i*f*c){var d=(a.x*s.y-a.y*s.x)/l,p=(a.x*o.y-a.y*o.x)/l;eJ(d,0,1)&&eJ(p,0,1)&&(h={x:r.x+d*o.x,y:r.y+d*o.y})}return h}var Kzt=1e-6;function gz(r){return Math.abs(r)0!=gz(s[1]-t)>0&&gz(e-(t-o[1])*(o[0]-s[0])/(o[1]-s[1])-o[0])<0&&(n=!n)}return n}var Gw=U(q());function rJ(r){for(var e=[],t=r.length,n=0;n1){var o=r[0],s=r[t-1];e.push({from:{x:s[0],y:s[1]},to:{x:o[0],y:o[1]}})}return e}function $zt(r,e){var t=!1;return(0,Gw.each)(r,function(n){if(j2(n.from,n.to,e.from,e.to))return t=!0,!1}),t}function nJ(r){var e=r.map(function(n){return n[0]}),t=r.map(function(n){return n[1]});return{minX:Math.min.apply(null,e),maxX:Math.max.apply(null,e),minY:Math.min.apply(null,t),maxY:Math.max.apply(null,t)}}function Qzt(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxYMath.PI/2?Math.PI-u:u,f=f>Math.PI/2?Math.PI-f:f;var c={xExtra:Math.cos(l/2-u)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(f-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return c}function iJ(r){var e=r.attr(),t=e.path,n=e.stroke,i=n?e.lineWidth:0,a=r.get("segments")||wb(t),o=Jzt(a,i),s=o.x,l=o.y,u=o.width,f=o.height,c={minX:s,minY:l,maxX:s+u,maxY:l+f};return c=Cb(r,c),{x:c.minX,y:c.minY,width:c.maxX-c.minX,height:c.maxY-c.minY}}function aJ(r){var e=r.attr(),t=e.x1,n=e.y1,i=e.x2,a=e.y2,o=Math.min(t,i),s=Math.max(t,i),l=Math.min(n,a),u=Math.max(n,a),f={minX:o,maxX:s,minY:l,maxY:u};return f=Cb(r,f),{x:f.minX,y:f.minY,width:f.maxX-f.minX,height:f.maxY-f.minY}}function oJ(r){var e=r.attr(),t=e.x,n=e.y,i=e.rx,a=e.ry;return{x:t-i,y:n-a,width:i*2,height:a*2}}Kf("rect",iz);Kf("image",iz);Kf("circle",az);Kf("marker",az);Kf("polyline",XQ);Kf("polygon",qQ);Kf("text",ZQ);Kf("path",iJ);Kf("line",aJ);Kf("ellipse",oJ);var tm=U(q());var yz=0,sJ=1/2,lJ=1/2,uJ=.05;var tUt=function(){function r(e){var t=e.xField,n=e.yField,i=e.adjustNames,a=i===void 0?["x","y"]:i;this.adjustNames=a,this.xField=t,this.yField=n}return r.prototype.isAdjust=function(e){return this.adjustNames.indexOf(e)>=0},r.prototype.getAdjustRange=function(e,t,n){var i=this.yField,a=n.indexOf(t),o=n.length,s,l;return!i&&this.isAdjust("y")?(s=0,l=1):o>1?(s=n[a===0?0:a-1],l=n[a===o-1?o-1:a+1],a!==0?s+=(t-s)/2:s-=(l-t)/2,a!==o-1?l-=(l-t)/2:l+=(t-n[o-2])/2):(s=t===0?0:t-.5,l=t===0?1:t+.5),{pre:s,next:l}},r.prototype.adjustData=function(e,t){var n=this,i=this.getDimValues(t);tm.each(e,function(a,o){tm.each(i,function(s,l){n.adjustDim(l,s,a,o)})})},r.prototype.groupData=function(e,t){return tm.each(e,function(n){n[t]===void 0&&(n[t]=yz)}),tm.groupBy(e,t)},r.prototype.adjustDim=function(e,t,n,i){},r.prototype.getDimValues=function(e){var t=this,n=t.xField,i=t.yField,a={},o=[];if(n&&this.isAdjust("x")&&o.push(n),i&&this.isAdjust("y")&&o.push(i),o.forEach(function(l){a[l]=tm.valuesOfKey(e,l).sort(function(u,f){return u-f})}),!i&&this.isAdjust("y")){var s="y";a[s]=[yz,1]}return a},r}(),$f=tUt;var fJ={},zw=function(r){return fJ[r.toLowerCase()]},Eb=function(r,e){if(zw(r))throw new Error("Adjust type '"+r+"' existed.");fJ[r.toLowerCase()]=e};var DJ=U(OJ()),{__extends:em,__assign:ah,__rest:rCe,__decorate:nCe,__param:iCe,__metadata:aCe,__awaiter:oCe,__generator:sCe,__exportStar:lCe,__createBinding:uCe,__values:fCe,__read:cCe,__spread:hCe,__spreadArrays:dCe,__await:pCe,__asyncGenerator:vCe,__asyncDelegator:mCe,__asyncValues:gCe,__makeTemplateObject:yCe,__importStar:xCe,__importDefault:bCe,__classPrivateFieldGet:_Ce,__classPrivateFieldSet:SCe}=DJ.default;var ua=U(q());var eUt=function(r){em(e,r);function e(t){var n=r.call(this,t)||this;n.cacheMap={},n.adjustDataArray=[],n.mergeData=[];var i=t.marginRatio,a=i===void 0?sJ:i,o=t.dodgeRatio,s=o===void 0?lJ:o,l=t.dodgeBy,u=t.intervalPadding,f=t.dodgePadding,c=t.xDimensionLength,h=t.groupNum,d=t.defaultSize,p=t.maxColumnWidth,v=t.minColumnWidth,m=t.columnWidthRatio;return n.marginRatio=a,n.dodgeRatio=s,n.dodgeBy=l,n.intervalPadding=u,n.dodgePadding=f,n.xDimensionLegenth=c,n.groupNum=h,n.defaultSize=d,n.maxColumnWidth=p,n.minColumnWidth=v,n.columnWidthRatio=m,n}return e.prototype.process=function(t){var n=ua.clone(t),i=ua.flatten(n),a=this.dodgeBy,o=a?ua.group(i,a):n;return this.cacheMap={},this.adjustDataArray=o,this.mergeData=i,this.adjustData(o,i),this.adjustDataArray=[],this.mergeData=[],n},e.prototype.adjustDim=function(t,n,i,a){var o=this,s=this.getDistribution(t),l=this.groupData(i,t);return ua.each(l,function(u,f){var c;n.length===1?c={pre:n[0]-1,next:n[0]+1}:c=o.getAdjustRange(t,parseFloat(f),n),ua.each(u,function(h){var d=h[t],p=s[d],v=p.indexOf(a);h[t]=o.getDodgeOffset(c,v,p.length)})}),[]},e.prototype.getDodgeOffset=function(t,n,i){var a=this,o=a.dodgeRatio,s=a.marginRatio,l=a.intervalPadding,u=a.dodgePadding,f=t.pre,c=t.next,h=c-f,d;if(!ua.isNil(l)&&ua.isNil(u)&&l>=0){var p=this.getIntervalOnlyOffset(i,n);d=f+p}else if(!ua.isNil(u)&&ua.isNil(l)&&u>=0){var p=this.getDodgeOnlyOffset(i,n);d=f+p}else if(!ua.isNil(l)&&!ua.isNil(u)&&l>=0&&u>=0){var p=this.getIntervalAndDodgeOffset(i,n);d=f+p}else{var v=h*o/i,m=s*v,p=1/2*(h-i*v-(i-1)*m)+((n+1)*v+n*m)-1/2*v-1/2*h;d=(f+c)/2+p}return d},e.prototype.getIntervalOnlyOffset=function(t,n){var i=this,a=i.defaultSize,o=i.intervalPadding,s=i.xDimensionLegenth,l=i.groupNum,u=i.dodgeRatio,f=i.maxColumnWidth,c=i.minColumnWidth,h=i.columnWidthRatio,d=o/s,p=(1-(l-1)*d)/l*u/(t-1),v=((1-d*(l-1))/l-p*(t-1))/t;if(v=ua.isNil(h)?v:1/l/t*h,!ua.isNil(f)){var m=f/s;v=Math.min(v,m)}if(!ua.isNil(c)){var g=c/s;v=Math.max(v,g)}v=a?a/s:v,p=((1-(l-1)*d)/l-t*v)/(t-1);var x=((1/2+n)*v+n*p+1/2*d)*l-d/2;return x},e.prototype.getDodgeOnlyOffset=function(t,n){var i=this,a=i.defaultSize,o=i.dodgePadding,s=i.xDimensionLegenth,l=i.groupNum,u=i.marginRatio,f=i.maxColumnWidth,c=i.minColumnWidth,h=i.columnWidthRatio,d=o/s,p=1*u/(l-1),v=((1-p*(l-1))/l-d*(t-1))/t;if(v=h?1/l/t*h:v,!ua.isNil(f)){var m=f/s;v=Math.min(v,m)}if(!ua.isNil(c)){var g=c/s;v=Math.max(v,g)}v=a?a/s:v,p=(1-(v*t+d*(t-1))*l)/(l-1);var x=((1/2+n)*v+n*d+1/2*p)*l-p/2;return x},e.prototype.getIntervalAndDodgeOffset=function(t,n){var i=this,a=i.intervalPadding,o=i.dodgePadding,s=i.xDimensionLegenth,l=i.groupNum,u=a/s,f=o/s,c=((1-u*(l-1))/l-f*(t-1))/t,h=((1/2+n)*c+n*f+1/2*u)*l-u/2;return h},e.prototype.getDistribution=function(t){var n=this.adjustDataArray,i=this.cacheMap,a=i[t];return a||(a={},ua.each(n,function(o,s){var l=ua.valuesOfKey(o,t);l.length||l.push(0),ua.each(l,function(u){a[u]||(a[u]=[]),a[u].push(s)})}),i[t]=a),a},e}($f),PJ=eUt;var Wy=U(q());function rUt(r,e){return(e-r)*Math.random()+r}var nUt=function(r){em(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.process=function(t){var n=Wy.clone(t),i=Wy.flatten(n);return this.adjustData(n,i),n},e.prototype.adjustDim=function(t,n,i){var a=this,o=this.groupData(i,t);return Wy.each(o,function(s,l){return a.adjustGroup(s,t,parseFloat(l),n)})},e.prototype.getAdjustOffset=function(t){var n=t.pre,i=t.next,a=(i-n)*uJ;return rUt(n+a,i-a)},e.prototype.adjustGroup=function(t,n,i,a){var o=this,s=this.getAdjustRange(n,i,a);return Wy.each(t,function(l){l[n]=o.getAdjustOffset(s)}),t},e}($f),kJ=nUt;var ip=U(q());var bz=ip.Cache,iUt=function(r){em(e,r);function e(t){var n=r.call(this,t)||this,i=t.adjustNames,a=i===void 0?["y"]:i,o=t.height,s=o===void 0?NaN:o,l=t.size,u=l===void 0?10:l,f=t.reverseOrder,c=f===void 0?!1:f;return n.adjustNames=a,n.height=s,n.size=u,n.reverseOrder=c,n}return e.prototype.process=function(t){var n=this,i=n.yField,a=n.reverseOrder,o=i?this.processStack(t):this.processOneDimStack(t);return a?this.reverse(o):o},e.prototype.reverse=function(t){return t.slice(0).reverse()},e.prototype.processStack=function(t){var n=this,i=n.xField,a=n.yField,o=n.reverseOrder,s=o?this.reverse(t):t,l=new bz,u=new bz;return s.map(function(f){return f.map(function(c){var h,d=ip.get(c,i,0),p=ip.get(c,[a]),v=d.toString();if(p=ip.isArray(p)?p[1]:p,!ip.isNil(p)){var m=p>=0?l:u;m.has(v)||m.set(v,0);var g=m.get(v),x=p+g;return m.set(v,x),ah(ah({},c),(h={},h[a]=[g,x],h))}return c})})},e.prototype.processOneDimStack=function(t){var n=this,i=this,a=i.xField,o=i.height,s=i.reverseOrder,l="y",u=s?this.reverse(t):t,f=new bz;return u.map(function(c){return c.map(function(h){var d,p=n.size,v=h[a],m=p*2/o;f.has(v)||f.set(v,m/2);var g=f.get(v);return f.set(v,g+m),ah(ah({},h),(d={},d[l]=g,d))})})},e}($f),RJ=iUt;var Cs=U(q());var aUt=function(r){em(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.process=function(t){var n=Cs.flatten(t),i=this,a=i.xField,o=i.yField,s=this.getXValuesMaxMap(n),l=Math.max.apply(Math,Object.keys(s).map(function(u){return s[u]}));return Cs.map(t,function(u){return Cs.map(u,function(f){var c,h,d=f[o],p=f[a];if(Cs.isArray(d)){var v=(l-s[p])/2;return ah(ah({},f),(c={},c[o]=Cs.map(d,function(g){return v+g}),c))}var m=(l-d)/2;return ah(ah({},f),(h={},h[o]=[m,d+m],h))})})},e.prototype.getXValuesMaxMap=function(t){var n=this,i=this,a=i.xField,o=i.yField,s=Cs.groupBy(t,function(l){return l[a]});return Cs.mapValues(s,function(l){return n.getDimMaxValue(l,o)})},e.prototype.getDimMaxValue=function(t,n){var i=Cs.map(t,function(o){return Cs.get(o,n,[])}),a=Cs.flatten(i);return Math.max.apply(Math,a)},e}($f),NJ=aUt;Eb("Dodge",PJ);Eb("Jitter",kJ);Eb("Stack",RJ);Eb("Symmetric",NJ);var Mb=U(q()),FJ=function(r,e){return(0,Mb.isString)(e)?e:r.invert(r.scale(e))},oUt=function(){function r(e){this.names=[],this.scales=[],this.linear=!1,this.values=[],this.callback=function(){return[]},this._parseCfg(e)}return r.prototype.mapping=function(){for(var e=this,t=[],n=0;n1?1:Number(e),n=r.length-1,i=Math.floor(n*t),a=n*t-i,o=r[i],s=i===n?o:r[i+1];return ott([Sz(o,s,a,0),Sz(o,s,a,1),Sz(o,s,a,2)])},K2,ltt=function(r){if(r[0]==="#"&&r.length===7)return r;K2||(K2=hUt()),K2.style.color=r;var e=document.defaultView.getComputedStyle(K2,"").getPropertyValue("color"),t=sUt.exec(e),n=t[1].split(/\s*,\s*/).map(function(i){return Number(i)});return e=ott(n),e},pUt=function(r){var e=(0,rm.isString)(r)?r.split("-"):r,t=(0,rm.map)(e,function(n){return stt(n.indexOf("#")===-1?ltt(n):n)});return function(n){return dUt(t,n)}},vUt=function(r){if(cUt(r)){var e,t=void 0;if(r[0]==="l"){var n=lUt.exec(r),i=+n[1]+90;t=n[2],e="linear-gradient("+i+"deg, "}else if(r[0]==="r"){e="radial-gradient(";var n=uUt.exec(r);t=n[4]}var a=t.match(fUt);return(0,rm.each)(a,function(o,s){var l=o.split(":");e+=l[1]+" "+l[0]*100+"%",s!==a.length-1&&(e+=", ")}),e+=")",e}return r},gu={rgb2arr:stt,gradient:pUt,toRGB:(0,rm.memoize)(ltt),toCSSGradient:vUt};var utt=U(q());var mUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="color",n.names=["color"],(0,utt.isString)(n.values)&&(n.linear=!0),n.gradient=gu.gradient(n.values),n}return e.prototype.getLinearValue=function(t){return this.gradient(t)},e}(mu),wz=mUt;var gUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="opacity",n.names=["opacity"],n}return e}(mu),ftt=gUt;var Ib=U(q());var yUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.names=["x","y"],n.type="position",n}return e.prototype.mapping=function(t,n){var i=this.scales,a=i[0],o=i[1];return(0,Ib.isNil)(t)||(0,Ib.isNil)(n)?[]:[(0,Ib.isArray)(t)?t.map(function(s){return a.scale(s)}):a.scale(t),(0,Ib.isArray)(n)?n.map(function(s){return o.scale(s)}):o.scale(n)]},e}(mu),ctt=yUt;var xUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="shape",n.names=["shape"],n}return e.prototype.getLinearValue=function(t){var n=Math.round((this.values.length-1)*t);return this.values[n]},e}(mu),htt=xUt;var bUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="size",n.names=["size"],n}return e}(mu),dtt=bUt;var Go=U(q());var ptt={};function Z2(r){return ptt[r]}function Xu(r,e){ptt[r]=e}var _Ut=function(){function r(e){this.type="base",this.isCategory=!1,this.isLinear=!1,this.isContinuous=!1,this.isIdentity=!1,this.values=[],this.range=[0,1],this.ticks=[],this.__cfg__=e,this.initCfg(),this.init()}return r.prototype.translate=function(e){return e},r.prototype.change=function(e){(0,Go.assign)(this.__cfg__,e),this.init()},r.prototype.clone=function(){return this.constructor(this.__cfg__)},r.prototype.getTicks=function(){var e=this;return(0,Go.map)(this.ticks,function(t,n){return(0,Go.isObject)(t)?t:{text:e.getText(t,n),tickValue:t,value:e.scale(t)}})},r.prototype.getText=function(e,t){var n=this.formatter,i=n?n(e,t):e;return(0,Go.isNil)(i)||!(0,Go.isFunction)(i.toString)?"":i.toString()},r.prototype.getConfig=function(e){return this.__cfg__[e]},r.prototype.init=function(){(0,Go.assign)(this,this.__cfg__),this.setDomain(),(0,Go.isEmpty)(this.getConfig("ticks"))&&(this.ticks=this.calculateTicks())},r.prototype.initCfg=function(){},r.prototype.setDomain=function(){},r.prototype.calculateTicks=function(){var e=this.tickMethod,t=[];if((0,Go.isString)(e)){var n=Z2(e);if(!n)throw new Error("There is no method to to calculate ticks!");t=n(this)}else(0,Go.isFunction)(e)&&(t=e(this));return t},r.prototype.rangeMin=function(){return this.range[0]},r.prototype.rangeMax=function(){return this.range[1]},r.prototype.calcPercent=function(e,t,n){return(0,Go.isNumber)(e)?(e-t)/(n-t):NaN},r.prototype.calcValue=function(e,t,n){return t+e*(n-t)},r}(),qu=_Ut;var Lb=U(q());var SUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="cat",t.isCategory=!0,t}return e.prototype.buildIndexMap=function(){if(!this.translateIndexMap){this.translateIndexMap=new Map;for(var t=0;tthis.max?NaN:this.values[a]},e.prototype.getText=function(t){for(var n=[],i=1;i1?t-1:t}this.translateIndexMap&&(this.translateIndexMap=void 0)},e}(qu),sh=SUt;var tL=U(q());var Ob=U(q());var Mz={};Dn(Mz,{assign:()=>am,default:()=>Az,defaultI18n:()=>Ez,format:()=>Itt,parse:()=>Ltt,setGlobalDateI18n:()=>_tt,setGlobalDateMasks:()=>Ttt});var vtt=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,nm="[1-9]\\d?",im="\\d\\d",CUt="\\d{3}",wUt="\\d{4}",Uw="[^\\s]+",mtt=/\[([^]*?)\]/gm;function gtt(r,e){for(var t=[],n=0,i=r.length;n-1?i:null}};function am(r){for(var e=[],t=1;t3?0:(r-r%10!=10?1:0)*r%10]}},$2=am({},Ez),_tt=function(r){return $2=am($2,r)},Stt=function(r){return r.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ll=function(r,e){for(e===void 0&&(e=2),r=String(r);r.length0?"-":"+")+Ll(Math.floor(Math.abs(e)/60)*100+Math.abs(e)%60,4)},Z:function(r){var e=r.getTimezoneOffset();return(e>0?"-":"+")+Ll(Math.floor(Math.abs(e)/60),2)+":"+Ll(Math.abs(e)%60,2)}},Ctt=function(r){return+r-1},wtt=[null,nm],Ett=[null,Uw],Att=["isPm",Uw,function(r,e){var t=r.toLowerCase();return t===e.amPm[0]?0:t===e.amPm[1]?1:null}],Mtt=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(r){var e=(r+"").match(/([+-]|\d\d)/gi);if(e){var t=+e[1]*60+parseInt(e[2],10);return e[0]==="+"?t:-t}return 0}],TUt={D:["day",nm],DD:["day",im],Do:["day",nm+Uw,function(r){return parseInt(r,10)}],M:["month",nm,Ctt],MM:["month",im,Ctt],YY:["year",im,function(r){var e=new Date,t=+(""+e.getFullYear()).substr(0,2);return+(""+(+r>68?t-1:t)+r)}],h:["hour",nm,void 0,"isPm"],hh:["hour",im,void 0,"isPm"],H:["hour",nm],HH:["hour",im],m:["minute",nm],mm:["minute",im],s:["second",nm],ss:["second",im],YYYY:["year",wUt],S:["millisecond","\\d",function(r){return+r*100}],SS:["millisecond",im,function(r){return+r*10}],SSS:["millisecond",CUt],d:wtt,dd:wtt,ddd:Ett,dddd:Ett,MMM:["month",Uw,ytt("monthNamesShort")],MMMM:["month",Uw,ytt("monthNames")],a:Att,A:Att,ZZ:Mtt,Z:Mtt},Q2={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},Ttt=function(r){return am(Q2,r)},Itt=function(r,e,t){if(e===void 0&&(e=Q2.default),t===void 0&&(t={}),typeof r=="number"&&(r=new Date(r)),Object.prototype.toString.call(r)!=="[object Date]"||isNaN(r.getTime()))throw new Error("Invalid Date pass to format");e=Q2[e]||e;var n=[];e=e.replace(mtt,function(a,o){return n.push(o),"@@@"});var i=am(am({},$2),t);return e=e.replace(vtt,function(a){return MUt[a](r,i)}),e.replace(/@@@/g,function(){return n.shift()})};function Ltt(r,e,t){if(t===void 0&&(t={}),typeof e!="string")throw new Error("Invalid format in fecha parse");if(e=Q2[e]||e,r.length>1e3)return null;var n=new Date,i={year:n.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},a=[],o=[],s=e.replace(mtt,function(S,C){return o.push(Stt(C)),"@@@"}),l={},u={};s=Stt(s).replace(vtt,function(S){var C=TUt[S],w=C[0],A=C[1],I=C[3];if(l[w])throw new Error("Invalid format. "+w+" specified twice in format");return l[w]=!0,I&&(u[I]=!0),a.push(C),"("+A+")"}),Object.keys(u).forEach(function(S){if(!l[S])throw new Error("Invalid format. "+S+" is required in specified format")}),s=s.replace(/@@@/g,function(){return o.shift()});var f=r.match(new RegExp(s,"i"));if(!f)return null;for(var c=am(am({},$2),t),h=1;h>>1;r(e[s])>t?o=s:a=s+1}return a}}var Dtt="format";function J2(r,e){var t=Mz[Dtt]||Az[Dtt];return t(r,e)}function Db(r){return(0,Ob.isString)(r)&&(r.indexOf("T")>0?r=new Date(r).getTime():r=new Date(r.replace(/-/gi,"/")).getTime()),(0,Ob.isDate)(r)&&(r=r.getTime()),r}var Ku=1e3,om=60*Ku,sm=60*om,lh=24*sm,Pb=lh*31,Iz=lh*365;var jw=[["HH:mm:ss",Ku],["HH:mm:ss",Ku*10],["HH:mm:ss",Ku*30],["HH:mm",om],["HH:mm",om*10],["HH:mm",om*30],["HH",sm],["HH",sm*6],["HH",sm*12],["YYYY-MM-DD",lh],["YYYY-MM-DD",lh*4],["YYYY-WW",lh*7],["YYYY-MM",Pb],["YYYY-MM",Pb*4],["YYYY-MM",Pb*6],["YYYY",lh*380]];function Ptt(r,e,t){var n=(e-r)/t,i=Ott(function(o){return o[1]})(jw,n)-1,a=jw[i];return i<0?a=jw[0]:i>=jw.length&&(a=(0,Ob.last)(jw)),a}var LUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="timeCat",t}return e.prototype.translate=function(t){t=Db(t);var n=this.values.indexOf(t);return n===-1&&((0,tL.isNumber)(t)&&t-1){var a=this.values[i],o=this.formatter;return a=o?o(a,n):J2(a,this.mask),a}return t},e.prototype.initCfg=function(){this.tickMethod="time-cat",this.mask="YYYY-MM-DD",this.tickCount=7},e.prototype.setDomain=function(){var t=this.values;(0,tL.each)(t,function(n,i){t[i]=Db(n)}),t.sort(function(n,i){return n-i}),r.prototype.setDomain.call(this)},e}(sh),ktt=LUt;var Ol=U(q());var OUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.isContinuous=!0,t}return e.prototype.scale=function(t){if((0,Ol.isNil)(t))return NaN;var n=this.rangeMin(),i=this.rangeMax(),a=this.max,o=this.min;if(a===o)return n;var s=this.getScalePercent(t);return n+s*(i-n)},e.prototype.init=function(){r.prototype.init.call(this);var t=this.ticks,n=(0,Ol.head)(t),i=(0,Ol.last)(t);nthis.max&&(this.max=i),(0,Ol.isNil)(this.minLimit)||(this.min=n),(0,Ol.isNil)(this.maxLimit)||(this.max=i)},e.prototype.setDomain=function(){var t=(0,Ol.getRange)(this.values),n=t.min,i=t.max;(0,Ol.isNil)(this.min)&&(this.min=n),(0,Ol.isNil)(this.max)&&(this.max=i),this.min>this.max&&(this.min=n,this.max=i)},e.prototype.calculateTicks=function(){var t=this,n=r.prototype.calculateTicks.call(this);return this.nice||(n=(0,Ol.filter)(n,function(i){return i>=t.min&&i<=t.max})),n},e.prototype.getScalePercent=function(t){var n=this.max,i=this.min;return(t-i)/(n-i)},e.prototype.getInvertPercent=function(t){return(t-this.rangeMin())/(this.rangeMax()-this.rangeMin())},e}(qu),lm=OUt;var DUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="linear",t.isLinear=!0,t}return e.prototype.invert=function(t){var n=this.getInvertPercent(t);return this.min+n*(this.max-this.min)},e.prototype.initCfg=function(){this.tickMethod="wilkinson-extended",this.nice=!1},e}(lm),Qf=DUt;var eL=U(q());function uh(r,e){var t=Math.E,n;return e>=0?n=Math.pow(t,Math.log(e)/r):n=Math.pow(t,Math.log(-e)/r)*-1,n}function Dl(r,e){return r===1?1:Math.log(e)/Math.log(r)}function rL(r,e,t){(0,eL.isNil)(t)&&(t=Math.max.apply(null,r));var n=t;return(0,eL.each)(r,function(i){i>0&&i1&&(n=1),n}var PUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="log",t}return e.prototype.invert=function(t){var n=this.base,i=Dl(n,this.max),a=this.rangeMin(),o=this.rangeMax()-a,s,l=this.positiveMin;if(l){if(t===0)return 0;s=Dl(n,l/n);var u=1/(i-s)*o;if(t=0?1:-1;return Math.pow(s,i)*l},e.prototype.initCfg=function(){this.tickMethod="pow",this.exponent=2,this.tickCount=5,this.nice=!0},e.prototype.getScalePercent=function(t){var n=this.max,i=this.min;if(n===i)return 0;var a=this.exponent,o=(uh(a,t)-uh(a,i))/(uh(a,n)-uh(a,i));return o},e}(lm),Ntt=kUt;var Pl=U(q());var RUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="time",t}return e.prototype.getText=function(t,n){var i=this.translate(t),a=this.formatter;return a?a(i,n):J2(i,this.mask)},e.prototype.scale=function(t){var n=t;return((0,Pl.isString)(n)||(0,Pl.isDate)(n))&&(n=this.translate(n)),r.prototype.scale.call(this,n)},e.prototype.translate=function(t){return Db(t)},e.prototype.initCfg=function(){this.tickMethod="time-pretty",this.mask="YYYY-MM-DD",this.tickCount=7,this.nice=!1},e.prototype.setDomain=function(){var t=this.values,n=this.getConfig("min"),i=this.getConfig("max");if((!(0,Pl.isNil)(n)||!(0,Pl.isNumber)(n))&&(this.min=this.translate(this.min)),(!(0,Pl.isNil)(i)||!(0,Pl.isNumber)(i))&&(this.max=this.translate(this.max)),t&&t.length){var a=[],o=1/0,s=o,l=0;(0,Pl.each)(t,function(u){var f=Db(u);if(isNaN(f))throw new TypeError("Invalid Time: "+u+" in time scale!");o>f?(s=o,o=f):s>f&&(s=f),l1&&(this.minTickInterval=s-o),(0,Pl.isNil)(n)&&(this.min=o),(0,Pl.isNil)(i)&&(this.max=l)}},e}(Qf),Ftt=RUt;var fh=U(q());var NUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="quantize",t}return e.prototype.invert=function(t){var n=this.ticks,i=n.length,a=this.getInvertPercent(t),o=Math.floor(a*(i-1));if(o>=i-1)return(0,fh.last)(n);if(o<0)return(0,fh.head)(n);var s=n[o],l=n[o+1],u=o/(i-1),f=(o+1)/(i-1);return s+(a-u)/(f-u)*(l-s)},e.prototype.initCfg=function(){this.tickMethod="r-pretty",this.tickCount=5,this.nice=!0},e.prototype.calculateTicks=function(){var t=r.prototype.calculateTicks.call(this);return this.nice||((0,fh.last)(t)!==this.max&&t.push(this.max),(0,fh.head)(t)!==this.min&&t.unshift(this.min)),t},e.prototype.getScalePercent=function(t){var n=this.ticks;if(t<(0,fh.head)(n))return 0;if(t>(0,fh.last)(n))return 1;var i=0;return(0,fh.each)(n,function(a,o){if(t>=a)i=o;else return!1}),i/(n.length-1)},e}(lm),nL=NUt;var FUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="quantile",t}return e.prototype.initCfg=function(){this.tickMethod="quantile",this.tickCount=5,this.nice=!0},e}(nL),Btt=FUt;var Gtt={};function kb(r){return Gtt[r]}function Zu(r,e){if(kb(r))throw new Error("type '"+r+"' existed.");Gtt[r]=e}var ztt=U(q());var BUt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="identity",t.isIdentity=!0,t}return e.prototype.calculateTicks=function(){return this.values},e.prototype.scale=function(t){return this.values[0]!==t&&(0,ztt.isNumber)(t)?t:this.range[0]},e.prototype.invert=function(t){var n=this.range;return tn[1]?NaN:this.values[0]},e}(qu),Utt=BUt;var ap=U(q());var ch=U(q());function um(r){return Math.abs(r)<1e-15?r:parseFloat(r.toFixed(15))}var GUt=[1,5,2,2.5,4,3];var jtt=Number.EPSILON*100;function zUt(r,e){return(r%e+e)%e}function UUt(r){return Math.round(r*1e12)/1e12}function jUt(r,e,t,n,i,a){var o=(0,ch.size)(e),s=(0,ch.indexOf)(e,r),l=0,u=zUt(n,a);return(u=0&&(l=1),1-s/(o-1)-t+l}function WUt(r,e,t){var n=(0,ch.size)(e),i=(0,ch.indexOf)(e,r),a=1;return 1-i/(n-1)-t+a}function VUt(r,e,t,n,i,a){var o=(r-1)/(a-i),s=(e-1)/(Math.max(a,n)-Math.min(t,i));return 2-Math.max(o/s,s/o)}function HUt(r,e){return r>=e?2-(r-1)/(e-1):1}function YUt(r,e,t,n){var i=e-r;return 1-.5*(Math.pow(e-n,2)+Math.pow(r-t,2))/Math.pow(.1*i,2)}function XUt(r,e,t){var n=e-r;if(t>n){var i=(t-n)/2;return 1-Math.pow(i,2)/Math.pow(.1*n,2)}return 1}function qUt(){return 1}function Ww(r,e,t,n,i,a){t===void 0&&(t=5),n===void 0&&(n=!0),i===void 0&&(i=GUt),a===void 0&&(a=[.25,.2,.5,.05]);var o=t<0?0:Math.round(t);if(Number.isNaN(r)||Number.isNaN(e)||typeof r!="number"||typeof e!="number"||!o)return{min:0,max:0,ticks:[]};if(e-r<1e-15||o===1)return{min:r,max:e,ticks:[r]};for(var s={score:-2,lmin:0,lmax:0,lstep:0},l=1;l<1/0;){for(var u=0;us.score&&(!n||A<=r&&I>=e)&&(s.lmin=A,s.lmax=I,s.lstep=P,s.score=k)}v+=1}h+=1}}l+=1}var G=um(s.lmax),D=um(s.lmin),N=um(s.lstep),z=Math.floor(UUt((G-D)/N))+1,j=new Array(z);j[0]=um(D);for(var u=1;u=a&&u<=o});return l.map(function(u){return e[u]})}return e.slice(a,o+1)}var Yy=U(q());function Lz(r){var e=r.min,t=r.max,n=r.nice,i=r.tickCount,a=new KUt;return a.domain([e,t]),n&&a.nice(i),a.ticks(i)}var Oz=5,Wtt=Math.sqrt(50),Vtt=Math.sqrt(10),Htt=Math.sqrt(2),KUt=function(){function r(){this._domain=[0,1]}return r.prototype.domain=function(e){return e?(this._domain=Array.from(e,Number),this):this._domain.slice()},r.prototype.nice=function(e){var t,n;e===void 0&&(e=Oz);var i=this._domain.slice(),a=0,o=this._domain.length-1,s=this._domain[a],l=this._domain[o],u;return l0?(s=Math.floor(s/u)*u,l=Math.ceil(l/u)*u,u=iL(s,l,e)):u<0&&(s=Math.ceil(s*u)/u,l=Math.floor(l*u)/u,u=iL(s,l,e)),u>0?(i[a]=Math.floor(s/u)*u,i[o]=Math.ceil(l/u)*u,this.domain(i)):u<0&&(i[a]=Math.ceil(s*u)/u,i[o]=Math.floor(l*u)/u,this.domain(i)),this},r.prototype.ticks=function(e){return e===void 0&&(e=Oz),ZUt(this._domain[0],this._domain[this._domain.length-1],e||Oz)},r}();function ZUt(r,e,t){var n,i=-1,a,o,s;if(e=+e,r=+r,t=+t,r===e&&t>0)return[r];if((n=e0)for(r=Math.ceil(r/s),e=Math.floor(e/s),o=new Array(a=Math.ceil(e-r+1));++i=0?(a>=Wtt?10:a>=Vtt?5:a>=Htt?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=Wtt?10:a>=Vtt?5:a>=Htt?2:1)}var aL=U(q());function Ytt(r,e,t){var n;return t==="ceil"?n=Math.ceil(r/e):t==="floor"?n=Math.floor(r/e):n=Math.round(r/e),n*e}function Vy(r,e,t){var n=Ytt(r,t,"floor"),i=Ytt(e,t,"ceil");n=(0,aL.fixedBase)(n,t),i=(0,aL.fixedBase)(i,t);for(var a=[],o=n;o<=i;o=o+t){var s=(0,aL.fixedBase)(o,t);a.push(s)}return{min:n,max:i,ticks:a}}var Hw=U(q());function Hy(r,e,t){var n,i=r.minLimit,a=r.maxLimit,o=r.min,s=r.max,l=r.tickCount,u=l===void 0?5:l,f=(0,Hw.isNil)(i)?(0,Hw.isNil)(e)?o:e:i,c=(0,Hw.isNil)(a)?(0,Hw.isNil)(t)?s:t:a;if(f>c&&(n=[f,c],c=n[0],f=n[1]),u<=2)return[f,c];for(var h=(c-f)/(u-1),d=[],p=0;p0)o=Math.floor(Dl(e,n));else{var l=rL(a,e,i);o=Math.floor(Dl(e,l))}for(var u=s-o,f=Math.ceil(u/t),c=[],h=o;h=0?1:-1;return Math.pow(o,e)*s})}function $Ut(r,e){var t=r.length*e;return e===1?r[r.length-1]:e===0?r[0]:t%1!=0?r[Math.ceil(t)-1]:r.length%2==0?(r[t-1]+r[t])/2:r[t]}function Nz(r){var e=r.tickCount,t=r.values;if(!t||!t.length)return[];for(var n=t.slice().sort(function(s,l){return s-l}),i=[],a=0;a1&&(i=i*Math.ceil(s)),n&&iIz)for(var l=oL(t),u=Math.ceil(a/Iz),f=s;f<=l+u;f=f+u)o.push(QUt(f));else if(a>Pb)for(var c=Math.ceil(a/Pb),h=Uz(e),d=JUt(e,t),f=0;f<=d+c;f=f+c)o.push(tjt(s,f+h));else if(a>lh)for(var p=new Date(e),v=p.getFullYear(),m=p.getMonth(),g=p.getDate(),x=Math.ceil(a/lh),b=ejt(e,t),f=0;fsm)for(var p=new Date(e),v=p.getFullYear(),m=p.getMonth(),x=p.getDate(),S=p.getHours(),C=Math.ceil(a/sm),w=rjt(e,t),f=0;f<=w+C;f=f+C)o.push(new Date(v,m,x,S+f).getTime());else if(a>om)for(var A=njt(e,t),I=Math.ceil(a/om),f=0;f<=A+I;f=f+I)o.push(e+f*om);else{var P=a;P=512&&console.warn("Notice: current ticks length("+o.length+') >= 512, may cause performance issues, even out of memory. Because of the configure "tickInterval"(in milliseconds, current is '+a+") is too small, increase the value to solve the problem!"),o}Xu("cat",Vw);Xu("time-cat",zz);Xu("wilkinson-extended",Pz);Xu("r-pretty",Fz);Xu("time",Bz);Xu("time-pretty",jz);Xu("log",kz);Xu("pow",Rz);Xu("quantile",Nz);Xu("d3-linear",Dz);Zu("cat",sh);Zu("category",sh);Zu("identity",Utt);Zu("linear",Qf);Zu("log",Rtt);Zu("pow",Ntt);Zu("time",Ftt);Zu("timeCat",ktt);Zu("quantize",nL);Zu("quantile",Btt);var Xtt={},Xw=function(r){return Xtt[r.toLowerCase()]},Rb=function(r,e){if(Xw(r))throw new Error("Attribute type '"+r+"' existed.");Xtt[r.toLowerCase()]=e};Rb("Color",wz);Rb("Opacity",ftt);Rb("Position",ctt);Rb("Shape",htt);Rb("Size",dtt);var qtt=U(q()),ijt=function(){function r(e){this.type="coordinate",this.isRect=!1,this.isHelix=!1,this.isPolar=!1,this.isReflectX=!1,this.isReflectY=!1;var t=e.start,n=e.end,i=e.matrix,a=i===void 0?[1,0,0,0,1,0,0,0,1]:i,o=e.isTransposed,s=o===void 0?!1:o;this.start=t,this.end=n,this.matrix=a,this.originalMatrix=mn([],a),this.isTransposed=s}return r.prototype.initial=function(){this.center={x:(this.start.x+this.end.x)/2,y:(this.start.y+this.end.y)/2},this.width=Math.abs(this.end.x-this.start.x),this.height=Math.abs(this.end.y-this.start.y)},r.prototype.update=function(e){(0,qtt.assign)(this,e),this.initial()},r.prototype.convertDim=function(e,t){var n,i=this[t],a=i.start,o=i.end;return this.isReflect(t)&&(n=[o,a],a=n[0],o=n[1]),a+e*(o-a)},r.prototype.invertDim=function(e,t){var n,i=this[t],a=i.start,o=i.end;return this.isReflect(t)&&(n=[o,a],a=n[0],o=n[1]),(e-a)/(o-a)},r.prototype.applyMatrix=function(e,t,n){n===void 0&&(n=0);var i=this.matrix,a=[e,t,n];return Ft.transformMat3(a,a,i),a},r.prototype.invertMatrix=function(e,t,n){n===void 0&&(n=0);var i=this.matrix,a=Ai.invert([0,0,0,0,0,0,0,0,0],i),o=[e,t,n];return a&&Ft.transformMat3(o,o,a),o},r.prototype.convert=function(e){var t=this.convertPoint(e),n=t.x,i=t.y,a=this.applyMatrix(n,i,1);return{x:a[0],y:a[1]}},r.prototype.invert=function(e){var t=this.invertMatrix(e.x,e.y,1);return this.invertPoint({x:t[0],y:t[1]})},r.prototype.rotate=function(e){var t=this.matrix,n=this.center;return gr.leftTranslate(t,t,[-n.x,-n.y]),gr.leftRotate(t,t,e),gr.leftTranslate(t,t,[n.x,n.y]),this},r.prototype.reflect=function(e){return e==="x"?this.isReflectX=!this.isReflectX:this.isReflectY=!this.isReflectY,this},r.prototype.scale=function(e,t){var n=this.matrix,i=this.center;return gr.leftTranslate(n,n,[-i.x,-i.y]),gr.leftScale(n,n,[e,t]),gr.leftTranslate(n,n,[i.x,i.y]),this},r.prototype.translate=function(e,t){var n=this.matrix;return gr.leftTranslate(n,n,[e,t]),this},r.prototype.transpose=function(){return this.isTransposed=!this.isTransposed,this},r.prototype.getCenter=function(){return this.center},r.prototype.getWidth=function(){return this.width},r.prototype.getHeight=function(){return this.height},r.prototype.getRadius=function(){return this.radius},r.prototype.isReflect=function(e){return e==="x"?this.isReflectX:this.isReflectY},r.prototype.resetMatrix=function(e){this.matrix=e||mn([],this.originalMatrix)},r}(),hh=ijt;var ajt=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.isRect=!0,n.type="cartesian",n.initial(),n}return e.prototype.initial=function(){r.prototype.initial.call(this);var t=this.start,n=this.end;this.x={start:t.x,end:n.x},this.y={start:t.y,end:n.y}},e.prototype.convertPoint=function(t){var n,i=t.x,a=t.y;return this.isTransposed&&(n=[a,i],i=n[0],a=n[1]),{x:this.convertDim(i,"x"),y:this.convertDim(a,"y")}},e.prototype.invertPoint=function(t){var n,i=this.invertDim(t.x,"x"),a=this.invertDim(t.y,"y");return this.isTransposed&&(n=[a,i],i=n[0],a=n[1]),{x:i,y:a}},e}(hh),Wz=ajt;var sL=U(q());var ojt=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;n.isHelix=!0,n.type="helix";var i=t.startAngle,a=i===void 0?1.25*Math.PI:i,o=t.endAngle,s=o===void 0?7.25*Math.PI:o,l=t.innerRadius,u=l===void 0?0:l,f=t.radius;return n.startAngle=a,n.endAngle=s,n.innerRadius=u,n.radius=f,n.initial(),n}return e.prototype.initial=function(){r.prototype.initial.call(this);var t=(this.endAngle-this.startAngle)/(2*Math.PI)+1,n=Math.min(this.width,this.height)/2;this.radius&&this.radius>=0&&this.radius<=1&&(n=n*this.radius),this.d=Math.floor(n*(1-this.innerRadius)/t),this.a=this.d/(Math.PI*2),this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*n,end:this.innerRadius*n+this.d*.99}},e.prototype.convertPoint=function(t){var n,i=t.x,a=t.y;this.isTransposed&&(n=[a,i],i=n[0],a=n[1]);var o=this.convertDim(i,"x"),s=this.a*o,l=this.convertDim(a,"y");return{x:this.center.x+Math.cos(o)*(s+l),y:this.center.y+Math.sin(o)*(s+l)}},e.prototype.invertPoint=function(t){var n,i=this.d+this.y.start,a=oe.subtract([0,0],[t.x,t.y],[this.center.x,this.center.y]),o=gr.angleTo(a,[1,0],!0),s=o*this.a;oe.length(a)this.width/n?(s=this.width/n,this.circleCenter={x:this.center.x-(.5-a)*this.width,y:this.center.y-(.5-o)*s*i}):(s=this.height/i,this.circleCenter={x:this.center.x-(.5-a)*s*n,y:this.center.y-(.5-o)*this.height}),this.polarRadius=this.radius,this.radius?this.radius>0&&this.radius<=1?this.polarRadius=s*this.radius:(this.radius<=0||this.radius>s)&&(this.polarRadius=s):this.polarRadius=s,this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*this.polarRadius,end:this.polarRadius}},e.prototype.getRadius=function(){return this.polarRadius},e.prototype.convertPoint=function(t){var n,i=this.getCenter(),a=t.x,o=t.y;return this.isTransposed&&(n=[o,a],a=n[0],o=n[1]),a=this.convertDim(a,"x"),o=this.convertDim(o,"y"),{x:i.x+Math.cos(a)*o,y:i.y+Math.sin(a)*o}},e.prototype.invertPoint=function(t){var n,i=this.getCenter(),a=[t.x-i.x,t.y-i.y],o=this,s=o.startAngle,l=o.endAngle;this.isReflect("x")&&(n=[l,s],s=n[0],l=n[1]);var u=[1,0,0,0,1,0,0,0,1];gr.leftRotate(u,u,s);var f=[1,0,0];Ft.transformMat3(f,f,u);var c=[f[0],f[1]],h=gr.angleTo(c,a,l0?p:-p;var v=this.invertDim(d,"y"),m={x:0,y:0};return m.x=this.isTransposed?v:p,m.y=this.isTransposed?p:v,m},e.prototype.getCenter=function(){return this.circleCenter},e.prototype.getOneBox=function(){var t=this.startAngle,n=this.endAngle;if(Math.abs(n-t)>=Math.PI*2)return{minX:-1,maxX:1,minY:-1,maxY:1};for(var i=[0,Math.cos(t),Math.cos(n)],a=[0,Math.sin(t),Math.sin(n)],o=Math.min(t,n);ofet,DataMarker:()=>det,DataRegion:()=>pet,Html:()=>get,Image:()=>het,Line:()=>set,Region:()=>cet,RegionFilter:()=>vet,Shape:()=>met,Text:()=>uet});var hL=U(q());var ao=U(q());function qw(r,e,t){var n=new Yu(e,t);n.target=r,n.propagationPath.push(r),r.emitDelegation(e,n);for(var i=r.getParent();i;)i.emitDelegation(e,n),n.propagationPath.push(i),i=i.getParent()}var Jtt=[1,0,0,0,1,0,0,0,1];function Jf(r,e,t){if(t===void 0&&(t=Jtt),!e)return null;var n=gr.transform(t,[["t",-r.x,-r.y],["r",e],["t",r.x,r.y]]);return n}function Kw(r,e){return!r.x&&!r.y?null:gr.transform(e||Jtt,[["t",r.x,r.y]])}function tet(r){var e=[1,0,0],t=[0,0,0];return Ft.transformMat3(t,e,r),Math.atan2(t[1],t[0])}function uL(r,e){var t=[0,0];return oe.transformMat3(t,e,r),t}function eet(r,e){var t=uL(r,[e.minX,e.minY]),n=uL(r,[e.maxX,e.minY]),i=uL(r,[e.minX,e.maxY]),a=uL(r,[e.maxX,e.maxY]),o=Math.min(t[0],n[0],i[0],a[0]),s=Math.max(t[0],n[0],i[0],a[0]),l=Math.min(t[1],n[1],i[1],a[1]),u=Math.max(t[1],n[1],i[1],a[1]);return{x:o,y:l,minX:o,minY:l,maxX:s,maxY:u,width:s-o,height:u-l}}function fL(r,e,t,n){if(e){var i=Jf({x:t,y:n},e,r.getMatrix());r.setMatrix(i)}}function fm(r,e,t){var n=Kw({x:e,y:t});r.attr("matrix",n)}var dh=U(q());function Ky(r){var e=0,t=0,n=0,i=0;return(0,dh.isNumber)(r)?e=t=n=i=r:(0,dh.isArray)(r)&&(e=r[0],n=(0,dh.isNil)(r[1])?r[0]:r[1],i=(0,dh.isNil)(r[2])?r[0]:r[2],t=(0,dh.isNil)(r[3])?n:r[3]),[e,n,i,t]}function Fb(r){for(var e=r.childNodes,t=e.length,n=t-1;n>=0;n--)r.removeChild(e[n])}function ret(r,e){return!!r.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))}function op(r){var e=r.start,t=r.end,n=Math.min(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.x,t.x),o=Math.max(e.y,t.y);return{x:n,y:i,minX:n,minY:i,maxX:a,maxY:o,width:a-n,height:o-i}}function net(r){var e=r.map(function(s){return s.x}),t=r.map(function(s){return s.y}),n=Math.min.apply(Math,e),i=Math.min.apply(Math,t),a=Math.max.apply(Math,e),o=Math.max.apply(Math,t);return{x:n,y:i,minX:n,minY:i,maxX:a,maxY:o,width:a-n,height:o-i}}function Bb(r,e,t,n){var i=r+t,a=e+n;return{x:r,y:e,width:t,height:n,minX:r,minY:e,maxX:isNaN(i)?0:i,maxY:isNaN(a)?0:a}}function sp(r,e,t){return(1-t)*r+e*t}function cm(r,e,t){return{x:r.x+Math.cos(t)*e,y:r.y+Math.sin(t)*e}}function ljt(r,e){var t=e.x-r.x,n=e.y-r.y;return Math.sqrt(t*t+n*n)}var Zw=function(r,e,t){return t===void 0&&(t=Math.pow(Number.EPSILON,.5)),[r,e].includes(1/0)?Math.abs(r)===Math.abs(e):Math.abs(r-e)0?(0,dh.each)(l,function(u){if(u.get("visible")){if(u.isGroup()&&u.get("children").length===0)return!0;var f=Vz(u),c=u.applyToMatrix([f.minX,f.minY,1]),h=u.applyToMatrix([f.minX,f.maxY,1]),d=u.applyToMatrix([f.maxX,f.minY,1]),p=u.applyToMatrix([f.maxX,f.maxY,1]),v=Math.min(c[0],h[0],d[0],p[0]),m=Math.max(c[0],h[0],d[0],p[0]),g=Math.min(c[1],h[1],d[1],p[1]),x=Math.max(c[1],h[1],d[1],p[1]);va&&(a=m),gs&&(s=x)}}):(i=0,a=0,o=0,s=0),n=Bb(i,o,a-i,s-o)}return t?ujt(n,t):n}function iet(r,e){if(!(!r.getClip()&&!e.getClip())){var t=e.getClip();if(!t){r.setClip(null);return}var n={type:t.get("type"),attrs:t.attr()};r.setClip(n)}}function ws(r){return r+"px"}function cL(r,e,t,n){var i=ljt(r,e),a=n/i,o=0;return t==="start"?o=0-a:t==="end"&&(o=1+a),{x:sp(r.x,e.x,o),y:sp(r.y,e.y,o)}}var yu=U(q()),fjt={none:[],point:["x","y"],region:["start","end"],points:["points"],circle:["center","radius","startAngle","endAngle"]},cjt=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.initCfg(),n}return e.prototype.getDefaultCfg=function(){return{id:"",name:"",type:"",locationType:"none",offsetX:0,offsetY:0,animate:!1,capture:!0,updateAutoRender:!1,animateOption:{appear:null,update:{duration:400,easing:"easeQuadInOut"},enter:{duration:400,easing:"easeQuadInOut"},leave:{duration:350,easing:"easeQuadIn"}},events:null,defaultCfg:{},visible:!0}},e.prototype.clear=function(){},e.prototype.update=function(t){var n=this,i=this.get("defaultCfg")||{};(0,yu.each)(t,function(a,o){var s=n.get(o),l=a;s!==a&&((0,yu.isObject)(a)&&i[o]&&(l=(0,yu.deepMix)({},i[o],a)),n.set(o,l))}),this.updateInner(t),this.afterUpdate(t)},e.prototype.updateInner=function(t){},e.prototype.afterUpdate=function(t){(0,yu.hasKey)(t,"visible")&&(t.visible?this.show():this.hide()),(0,yu.hasKey)(t,"capture")&&this.setCapture(t.capture)},e.prototype.getLayoutBBox=function(){return this.getBBox()},e.prototype.getLocationType=function(){return this.get("locationType")},e.prototype.getOffset=function(){return{offsetX:this.get("offsetX"),offsetY:this.get("offsetY")}},e.prototype.setOffset=function(t,n){this.update({offsetX:t,offsetY:n})},e.prototype.setLocation=function(t){var n=E({},t);this.update(n)},e.prototype.getLocation=function(){var t=this,n={},i=this.get("locationType"),a=fjt[i];return(0,yu.each)(a,function(o){n[o]=t.get(o)}),n},e.prototype.isList=function(){return!1},e.prototype.isSlider=function(){return!1},e.prototype.init=function(){},e.prototype.initCfg=function(){var t=this,n=this.get("defaultCfg");(0,yu.each)(n,function(i,a){var o=t.get(a);if((0,yu.isObject)(o)){var s=(0,yu.deepMix)({},i,o);t.set(a,s)}})},e}(Oy),Gb=cjt;var Zy="update_status",hjt=["visible","tip","delegateObject"],djt=["container","group","shapesMap","isRegister","isUpdating","destroyed"],pjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{container:null,shapesMap:{},group:null,capture:!0,isRegister:!1,isUpdating:!1,isInit:!0})},e.prototype.remove=function(){this.clear();var t=this.get("group");t.remove()},e.prototype.clear=function(){var t=this.get("group");t.clear(),this.set("shapesMap",{}),this.clearOffScreenCache(),this.set("isInit",!0)},e.prototype.getChildComponentById=function(t){var n=this.getElementById(t),i=n&&n.get("component");return i},e.prototype.getElementById=function(t){return this.get("shapesMap")[t]},e.prototype.getElementByLocalId=function(t){var n=this.getElementId(t);return this.getElementById(n)},e.prototype.getElementsByName=function(t){var n=[];return(0,ao.each)(this.get("shapesMap"),function(i){i.get("name")===t&&n.push(i)}),n},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateInner=function(t){this.offScreenRender(),this.get("updateAutoRender")&&this.render()},e.prototype.render=function(){var t=this.get("offScreenGroup");t||(t=this.offScreenRender());var n=this.get("group");this.updateElements(t,n),this.deleteElements(),this.applyOffset(),this.get("eventInitted")||(this.initEvent(),this.set("eventInitted",!0)),this.set("isInit",!1)},e.prototype.show=function(){var t=this.get("group");t.show(),this.set("visible",!0)},e.prototype.hide=function(){var t=this.get("group");t.hide(),this.set("visible",!1)},e.prototype.setCapture=function(t){var n=this.get("group");n.set("capture",t),this.set("capture",t)},e.prototype.destroy=function(){this.removeEvent(),this.remove(),r.prototype.destroy.call(this)},e.prototype.getBBox=function(){return this.get("group").getCanvasBBox()},e.prototype.getLayoutBBox=function(){var t=this.get("group"),n=this.getInnerLayoutBBox(),i=t.getTotalMatrix();return i&&(n=eet(i,n)),n},e.prototype.on=function(t,n,i){var a=this.get("group");return a.on(t,n,i),this},e.prototype.off=function(t,n){var i=this.get("group");return i&&i.off(t,n),this},e.prototype.emit=function(t,n){var i=this.get("group");i.emit(t,n)},e.prototype.init=function(){r.prototype.init.call(this),this.get("group")||this.initGroup(),this.offScreenRender()},e.prototype.getInnerLayoutBBox=function(){return this.get("offScreenBBox")||this.get("group").getBBox()},e.prototype.delegateEmit=function(t,n){var i=this.get("group");n.target=i,i.emit(t,n),qw(i,t,n)},e.prototype.createOffScreenGroup=function(){var t=this.get("group"),n=t.getGroupBase(),i=new n({delegateObject:this.getDelegateObject()});return i},e.prototype.applyOffset=function(){var t=this.get("offsetX"),n=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t,y:n})},e.prototype.initGroup=function(){var t=this.get("container");this.set("group",t.addGroup({id:this.get("id"),name:this.get("name"),capture:this.get("capture"),visible:this.get("visible"),isComponent:!0,component:this,delegateObject:this.getDelegateObject()}))},e.prototype.offScreenRender=function(){this.clearOffScreenCache();var t=this.createOffScreenGroup();return this.renderInner(t),this.set("offScreenGroup",t),this.set("offScreenBBox",Vz(t)),t},e.prototype.addGroup=function(t,n){this.appendDelegateObject(t,n);var i=t.addGroup(n);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addShape=function(t,n){this.appendDelegateObject(t,n);var i=t.addShape(n);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addComponent=function(t,n){var i=n.id,a=n.component,o=rr(n,["id","component"]),s=new a(E(E({},o),{id:i,container:t,updateAutoRender:this.get("updateAutoRender")}));return s.init(),s.render(),this.get("isRegister")&&this.registerElement(s.get("group")),s},e.prototype.initEvent=function(){},e.prototype.removeEvent=function(){var t=this.get("group");t.off()},e.prototype.getElementId=function(t){var n=this.get("id"),i=this.get("name");return n+"-"+i+"-"+t},e.prototype.registerElement=function(t){var n=t.get("id");this.get("shapesMap")[n]=t},e.prototype.unregisterElement=function(t){var n=t.get("id");delete this.get("shapesMap")[n]},e.prototype.moveElementTo=function(t,n){var i=Kw(n);t.attr("matrix",i)},e.prototype.addAnimation=function(t,n,i){var a=n.attr("opacity");(0,ao.isNil)(a)&&(a=1),n.attr("opacity",0),n.animate({opacity:a},i)},e.prototype.removeAnimation=function(t,n,i){n.animate({opacity:0},i)},e.prototype.updateAnimation=function(t,n,i,a){n.animate(i,a)},e.prototype.updateElements=function(t,n){var i=this,a=this.get("animate"),o=this.get("animateOption"),s=t.getChildren().slice(0),l;(0,ao.each)(s,function(u){var f=u.get("id"),c=i.getElementById(f),h=u.get("name");if(c)if(u.get("isComponent")){var d=u.get("component"),p=c.get("component"),v=(0,ao.pick)(d.cfg,(0,ao.difference)((0,ao.keys)(d.cfg),djt));p.update(v),c.set(Zy,"update")}else{var m=i.getReplaceAttrs(c,u);a&&o.update?i.updateAnimation(h,c,m,o.update):c.attr(m),u.isGroup()&&i.updateElements(u,c),(0,ao.each)(hjt,function(S){c.set(S,u.get(S))}),iet(c,u),l=c,c.set(Zy,"update")}else{n.add(u);var g=n.getChildren();if(g.splice(g.length-1,1),l){var x=g.indexOf(l);g.splice(x+1,0,u)}else g.unshift(u);if(i.registerElement(u),u.set(Zy,"add"),u.get("isComponent")){var d=u.get("component");d.set("container",n)}else u.isGroup()&&i.registerNewGroup(u);if(l=u,a){var b=i.get("isInit")?o.appear:o.enter;b&&i.addAnimation(h,u,b)}}})},e.prototype.clearUpdateStatus=function(t){var n=t.getChildren();(0,ao.each)(n,function(i){i.set(Zy,null)})},e.prototype.clearOffScreenCache=function(){var t=this.get("offScreenGroup");t&&t.destroy(),this.set("offScreenGroup",null),this.set("offScreenBBox",null)},e.prototype.getDelegateObject=function(){var t,n=this.get("name"),i=(t={},t[n]=this,t.component=this,t);return i},e.prototype.appendDelegateObject=function(t,n){var i=t.get("delegateObject");n.delegateObject||(n.delegateObject={}),(0,ao.mix)(n.delegateObject,i)},e.prototype.getReplaceAttrs=function(t,n){var i=t.attr(),a=n.attr();return(0,ao.each)(i,function(o,s){a[s]===void 0&&(a[s]=void 0)}),a},e.prototype.registerNewGroup=function(t){var n=this,i=t.getChildren();(0,ao.each)(i,function(a){n.registerElement(a),a.set(Zy,"add"),a.isGroup()&&n.registerNewGroup(a)})},e.prototype.deleteElements=function(){var t=this,n=this.get("shapesMap"),i=[];(0,ao.each)(n,function(s,l){!s.get(Zy)||s.destroyed?i.push([l,s]):s.set(Zy,null)});var a=this.get("animate"),o=this.get("animateOption");(0,ao.each)(i,function(s){var l=s[0],u=s[1];if(!u.destroyed){var f=u.get("name");if(a&&o.leave){var c=(0,ao.mix)({callback:function(){t.removeElement(u)}},o.leave);t.removeAnimation(f,u,c)}else t.removeElement(u)}delete n[l]})},e.prototype.removeElement=function(t){if(t.get("isGroup")){var n=t.get("component");n&&n.destroy()}t.remove()},e}(Gb),Yn=pjt;var Yz=U(q());var hm=U(q());var Hz="\u2026";function aet(r){for(var e=0,t=0;t0&&r.charCodeAt(e)<128?1:2}function oet(r,e,t){t===void 0&&(t="tail");var n=r.length,i="";if(t==="tail"){for(var a=0,o=0;a=19968&&s<=40869?a+=2:a+=1}a>t&&(t=a,n=i)}return r[n].getBBox().width}function $w(r){if(r.length>gjt)return yjt(r);var e=0;return(0,hm.each)(r,function(t){var n=t.getBBox(),i=n.width;e=0?h=oet(a,c,n):h=vjt,h&&(e.attr("text",h),f=!0)}return f?e.set("tip",a):e.set("tip",null),f}function pm(r,e){var t=e.x,n=e.y,i=e.content,a=e.style,o=e.id,s=e.name,l=e.rotate,u=e.maxLength,f=e.autoEllipsis,c=e.isVertical,h=e.ellipsisPosition,d=e.background,p=r.addGroup({id:o+"-group",name:s+"-group",attrs:{x:t,y:n}}),v=p.addShape({type:"text",id:o,name:s,attrs:E({x:0,y:0,text:i},a)}),m=Ky((0,Yz.get)(d,"padding",0));if(u&&f){var g=u-(m[1]+m[3]);dm(!c,v,g,h)}if(d){var x=(0,Yz.get)(d,"style",{}),b=v.getCanvasBBox(),S=b.minX,C=b.minY,w=b.width,A=b.height,I=p.addShape("rect",{id:o+"-bg",name:o+"-bg",attrs:E({x:S-m[3],y:C-m[0],width:w+m[1]+m[3],height:A+m[0]+m[2]},x)});I.toBack()}fm(p,t,n),fL(p,l,t,n)}var Gr={fontFamily:` +`);(0,Gn.each)(i,function(a){var o=t.measureText(a).width;n1){var i=t[0].charAt(0);t.splice(1,0,t[0].substr(1)),t[0]=i}(0,Vy.each)(t,function(a,o){isNaN(a)||(t[o]=+a)}),e[n]=t}),e}var _z=aUt;function sUt(r,e,t,n){var i=[],a=!!n,o,s,l,u,f,c,h;if(a){l=n[0],u=n[1];for(var d=0,p=r.length;d2&&(t.push([i].concat(o.splice(0,2))),s="l",i=i==="m"?"l":"L"),s==="o"&&o.length===1&&t.push([i,o[0]]),s==="r")t.push([i].concat(o));else for(;o.length>=e[s]&&(t.push([i].concat(o.splice(0,e[s]))),!!e[s]););return""}),t}var hUt=/[a-z]/;function fJ(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}function Yy(r){var e=Zf(r);if(!e||!e.length)return[["M",0,0]];for(var t=!1,n=0;n=0){t=!0;break}}if(!t)return e;var a=[],o=0,s=0,l=0,u=0,f=0,c,h,d=e[0];(d[0]==="M"||d[0]==="m")&&(o=+d[1],s=+d[2],l=o,u=s,f++,a[0]=["M",o,s]);for(var n=f,p=e.length;n1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var p=t*t*(h*h)+n*n*(c*c),v=p?Math.sqrt((t*t*(n*n)-p)/p):1;a===o&&(v*=-1),isNaN(v)&&(v=0);var m=n?v*t*h/n:0,g=t?v*-n*c/t:0,x=(s+u)/2+Math.cos(i)*m-Math.sin(i)*g,b=(l+f)/2+Math.sin(i)*m+Math.cos(i)*g,S=[(c-m)/t,(h-g)/n],C=[(-1*c-m)/t,(-1*h-g)/n],w=cJ([1,0],S),A=cJ(S,C);return Sz(S,C)<=-1&&(A=Math.PI),Sz(S,C)>=1&&(A=0),o===0&&A>0&&(A=A-2*Math.PI),o===1&&A<0&&(A=A+2*Math.PI),{cx:x,cy:b,rx:V2(r,[u,f])?0:t,ry:V2(r,[u,f])?0:n,startAngle:w,endAngle:w+A,xRotation:i,arcFlag:a,sweepFlag:o}}function hJ(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}function Mb(r){r=_z(r);for(var e=[],t=null,n=null,i=null,a=0,o=r.length,s=0;s=e&&r<=t};function Y2(r,e,t,n){var i=.001,a={x:t.x-r.x,y:t.y-r.y},o={x:e.x-r.x,y:e.y-r.y},s={x:n.x-t.x,y:n.y-t.y},l=o.x*s.y-o.y*s.x,u=l*l,f=o.x*o.x+o.y*o.y,c=s.x*s.x+s.y*s.y,h=null;if(u>i*f*c){var d=(a.x*s.y-a.y*s.x)/l,p=(a.x*o.y-a.y*o.x)/l;dJ(d,0,1)&&dJ(p,0,1)&&(h={x:r.x+d*o.x,y:r.y+d*o.y})}return h}var mUt=1e-6;function Cz(r){return Math.abs(r)0!=Cz(s[1]-t)>0&&Cz(e-(t-o[1])*(o[0]-s[0])/(o[1]-s[1])-o[0])<0&&(n=!n)}return n}var Ww=z(q());function pJ(r){for(var e=[],t=r.length,n=0;n1){var o=r[0],s=r[t-1];e.push({from:{x:s[0],y:s[1]},to:{x:o[0],y:o[1]}})}return e}function yUt(r,e){var t=!1;return(0,Ww.each)(r,function(n){if(Y2(n.from,n.to,e.from,e.to))return t=!0,!1}),t}function vJ(r){var e=r.map(function(n){return n[0]}),t=r.map(function(n){return n[1]});return{minX:Math.min.apply(null,e),maxX:Math.max.apply(null,e),minY:Math.min.apply(null,t),maxY:Math.max.apply(null,t)}}function xUt(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxYMath.PI/2?Math.PI-u:u,f=f>Math.PI/2?Math.PI-f:f;var c={xExtra:Math.cos(l/2-u)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(f-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return c}function mJ(r){var e=r.attr(),t=e.path,n=e.stroke,i=n?e.lineWidth:0,a=r.get("segments")||Mb(t),o=bUt(a,i),s=o.x,l=o.y,u=o.width,f=o.height,c={minX:s,minY:l,maxX:s+u,maxY:l+f};return c=Ab(r,c),{x:c.minX,y:c.minY,width:c.maxX-c.minX,height:c.maxY-c.minY}}function gJ(r){var e=r.attr(),t=e.x1,n=e.y1,i=e.x2,a=e.y2,o=Math.min(t,i),s=Math.max(t,i),l=Math.min(n,a),u=Math.max(n,a),f={minX:o,maxX:s,minY:l,maxY:u};return f=Ab(r,f),{x:f.minX,y:f.minY,width:f.maxX-f.minX,height:f.maxY-f.minY}}function yJ(r){var e=r.attr(),t=e.x,n=e.y,i=e.rx,a=e.ry;return{x:t-i,y:n-a,width:i*2,height:a*2}}Kf("rect",fz);Kf("image",fz);Kf("circle",cz);Kf("marker",cz);Kf("polyline",aJ);Kf("polygon",oJ);Kf("text",lJ);Kf("path",mJ);Kf("line",gJ);Kf("ellipse",yJ);var rm=z(q());var wz=0,xJ=1/2,bJ=1/2,_J=.05;var _Ut=function(){function r(e){var t=e.xField,n=e.yField,i=e.adjustNames,a=i===void 0?["x","y"]:i;this.adjustNames=a,this.xField=t,this.yField=n}return r.prototype.isAdjust=function(e){return this.adjustNames.indexOf(e)>=0},r.prototype.getAdjustRange=function(e,t,n){var i=this.yField,a=n.indexOf(t),o=n.length,s,l;return!i&&this.isAdjust("y")?(s=0,l=1):o>1?(s=n[a===0?0:a-1],l=n[a===o-1?o-1:a+1],a!==0?s+=(t-s)/2:s-=(l-t)/2,a!==o-1?l-=(l-t)/2:l+=(t-n[o-2])/2):(s=t===0?0:t-.5,l=t===0?1:t+.5),{pre:s,next:l}},r.prototype.adjustData=function(e,t){var n=this,i=this.getDimValues(t);rm.each(e,function(a,o){rm.each(i,function(s,l){n.adjustDim(l,s,a,o)})})},r.prototype.groupData=function(e,t){return rm.each(e,function(n){n[t]===void 0&&(n[t]=wz)}),rm.groupBy(e,t)},r.prototype.adjustDim=function(e,t,n,i){},r.prototype.getDimValues=function(e){var t=this,n=t.xField,i=t.yField,a={},o=[];if(n&&this.isAdjust("x")&&o.push(n),i&&this.isAdjust("y")&&o.push(i),o.forEach(function(l){a[l]=rm.valuesOfKey(e,l).sort(function(u,f){return u-f})}),!i&&this.isAdjust("y")){var s="y";a[s]=[wz,1]}return a},r}(),$f=_Ut;var SJ={},Vw=function(r){return SJ[r.toLowerCase()]},Tb=function(r,e){if(Vw(r))throw new Error("Adjust type '"+r+"' existed.");SJ[r.toLowerCase()]=e};var VJ=z(WJ()),{__extends:nm,__assign:ah,__rest:SCe,__decorate:CCe,__param:wCe,__metadata:ECe,__awaiter:ACe,__generator:MCe,__exportStar:TCe,__createBinding:ICe,__values:LCe,__read:OCe,__spread:DCe,__spreadArrays:PCe,__await:kCe,__asyncGenerator:RCe,__asyncDelegator:NCe,__asyncValues:FCe,__makeTemplateObject:BCe,__importStar:GCe,__importDefault:zCe,__classPrivateFieldGet:UCe,__classPrivateFieldSet:jCe}=VJ.default;var fa=z(q());var SUt=function(r){nm(e,r);function e(t){var n=r.call(this,t)||this;n.cacheMap={},n.adjustDataArray=[],n.mergeData=[];var i=t.marginRatio,a=i===void 0?xJ:i,o=t.dodgeRatio,s=o===void 0?bJ:o,l=t.dodgeBy,u=t.intervalPadding,f=t.dodgePadding,c=t.xDimensionLength,h=t.groupNum,d=t.defaultSize,p=t.maxColumnWidth,v=t.minColumnWidth,m=t.columnWidthRatio;return n.marginRatio=a,n.dodgeRatio=s,n.dodgeBy=l,n.intervalPadding=u,n.dodgePadding=f,n.xDimensionLegenth=c,n.groupNum=h,n.defaultSize=d,n.maxColumnWidth=p,n.minColumnWidth=v,n.columnWidthRatio=m,n}return e.prototype.process=function(t){var n=fa.clone(t),i=fa.flatten(n),a=this.dodgeBy,o=a?fa.group(i,a):n;return this.cacheMap={},this.adjustDataArray=o,this.mergeData=i,this.adjustData(o,i),this.adjustDataArray=[],this.mergeData=[],n},e.prototype.adjustDim=function(t,n,i,a){var o=this,s=this.getDistribution(t),l=this.groupData(i,t);return fa.each(l,function(u,f){var c;n.length===1?c={pre:n[0]-1,next:n[0]+1}:c=o.getAdjustRange(t,parseFloat(f),n),fa.each(u,function(h){var d=h[t],p=s[d],v=p.indexOf(a);h[t]=o.getDodgeOffset(c,v,p.length)})}),[]},e.prototype.getDodgeOffset=function(t,n,i){var a=this,o=a.dodgeRatio,s=a.marginRatio,l=a.intervalPadding,u=a.dodgePadding,f=t.pre,c=t.next,h=c-f,d;if(!fa.isNil(l)&&fa.isNil(u)&&l>=0){var p=this.getIntervalOnlyOffset(i,n);d=f+p}else if(!fa.isNil(u)&&fa.isNil(l)&&u>=0){var p=this.getDodgeOnlyOffset(i,n);d=f+p}else if(!fa.isNil(l)&&!fa.isNil(u)&&l>=0&&u>=0){var p=this.getIntervalAndDodgeOffset(i,n);d=f+p}else{var v=h*o/i,m=s*v,p=1/2*(h-i*v-(i-1)*m)+((n+1)*v+n*m)-1/2*v-1/2*h;d=(f+c)/2+p}return d},e.prototype.getIntervalOnlyOffset=function(t,n){var i=this,a=i.defaultSize,o=i.intervalPadding,s=i.xDimensionLegenth,l=i.groupNum,u=i.dodgeRatio,f=i.maxColumnWidth,c=i.minColumnWidth,h=i.columnWidthRatio,d=o/s,p=(1-(l-1)*d)/l*u/(t-1),v=((1-d*(l-1))/l-p*(t-1))/t;if(v=fa.isNil(h)?v:1/l/t*h,!fa.isNil(f)){var m=f/s;v=Math.min(v,m)}if(!fa.isNil(c)){var g=c/s;v=Math.max(v,g)}v=a?a/s:v,p=((1-(l-1)*d)/l-t*v)/(t-1);var x=((1/2+n)*v+n*p+1/2*d)*l-d/2;return x},e.prototype.getDodgeOnlyOffset=function(t,n){var i=this,a=i.defaultSize,o=i.dodgePadding,s=i.xDimensionLegenth,l=i.groupNum,u=i.marginRatio,f=i.maxColumnWidth,c=i.minColumnWidth,h=i.columnWidthRatio,d=o/s,p=1*u/(l-1),v=((1-p*(l-1))/l-d*(t-1))/t;if(v=h?1/l/t*h:v,!fa.isNil(f)){var m=f/s;v=Math.min(v,m)}if(!fa.isNil(c)){var g=c/s;v=Math.max(v,g)}v=a?a/s:v,p=(1-(v*t+d*(t-1))*l)/(l-1);var x=((1/2+n)*v+n*d+1/2*p)*l-p/2;return x},e.prototype.getIntervalAndDodgeOffset=function(t,n){var i=this,a=i.intervalPadding,o=i.dodgePadding,s=i.xDimensionLegenth,l=i.groupNum,u=a/s,f=o/s,c=((1-u*(l-1))/l-f*(t-1))/t,h=((1/2+n)*c+n*f+1/2*u)*l-u/2;return h},e.prototype.getDistribution=function(t){var n=this.adjustDataArray,i=this.cacheMap,a=i[t];return a||(a={},fa.each(n,function(o,s){var l=fa.valuesOfKey(o,t);l.length||l.push(0),fa.each(l,function(u){a[u]||(a[u]=[]),a[u].push(s)})}),i[t]=a),a},e}($f),HJ=SUt;var Xy=z(q());function CUt(r,e){return(e-r)*Math.random()+r}var wUt=function(r){nm(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.process=function(t){var n=Xy.clone(t),i=Xy.flatten(n);return this.adjustData(n,i),n},e.prototype.adjustDim=function(t,n,i){var a=this,o=this.groupData(i,t);return Xy.each(o,function(s,l){return a.adjustGroup(s,t,parseFloat(l),n)})},e.prototype.getAdjustOffset=function(t){var n=t.pre,i=t.next,a=(i-n)*_J;return CUt(n+a,i-a)},e.prototype.adjustGroup=function(t,n,i,a){var o=this,s=this.getAdjustRange(n,i,a);return Xy.each(t,function(l){l[n]=o.getAdjustOffset(s)}),t},e}($f),YJ=wUt;var ip=z(q());var Az=ip.Cache,EUt=function(r){nm(e,r);function e(t){var n=r.call(this,t)||this,i=t.adjustNames,a=i===void 0?["y"]:i,o=t.height,s=o===void 0?NaN:o,l=t.size,u=l===void 0?10:l,f=t.reverseOrder,c=f===void 0?!1:f;return n.adjustNames=a,n.height=s,n.size=u,n.reverseOrder=c,n}return e.prototype.process=function(t){var n=this,i=n.yField,a=n.reverseOrder,o=i?this.processStack(t):this.processOneDimStack(t);return a?this.reverse(o):o},e.prototype.reverse=function(t){return t.slice(0).reverse()},e.prototype.processStack=function(t){var n=this,i=n.xField,a=n.yField,o=n.reverseOrder,s=o?this.reverse(t):t,l=new Az,u=new Az;return s.map(function(f){return f.map(function(c){var h,d=ip.get(c,i,0),p=ip.get(c,[a]),v=d.toString();if(p=ip.isArray(p)?p[1]:p,!ip.isNil(p)){var m=p>=0?l:u;m.has(v)||m.set(v,0);var g=m.get(v),x=p+g;return m.set(v,x),ah(ah({},c),(h={},h[a]=[g,x],h))}return c})})},e.prototype.processOneDimStack=function(t){var n=this,i=this,a=i.xField,o=i.height,s=i.reverseOrder,l="y",u=s?this.reverse(t):t,f=new Az;return u.map(function(c){return c.map(function(h){var d,p=n.size,v=h[a],m=p*2/o;f.has(v)||f.set(v,m/2);var g=f.get(v);return f.set(v,g+m),ah(ah({},h),(d={},d[l]=g,d))})})},e}($f),XJ=EUt;var Es=z(q());var AUt=function(r){nm(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.process=function(t){var n=Es.flatten(t),i=this,a=i.xField,o=i.yField,s=this.getXValuesMaxMap(n),l=Math.max.apply(Math,Object.keys(s).map(function(u){return s[u]}));return Es.map(t,function(u){return Es.map(u,function(f){var c,h,d=f[o],p=f[a];if(Es.isArray(d)){var v=(l-s[p])/2;return ah(ah({},f),(c={},c[o]=Es.map(d,function(g){return v+g}),c))}var m=(l-d)/2;return ah(ah({},f),(h={},h[o]=[m,d+m],h))})})},e.prototype.getXValuesMaxMap=function(t){var n=this,i=this,a=i.xField,o=i.yField,s=Es.groupBy(t,function(l){return l[a]});return Es.mapValues(s,function(l){return n.getDimMaxValue(l,o)})},e.prototype.getDimMaxValue=function(t,n){var i=Es.map(t,function(o){return Es.get(o,n,[])}),a=Es.flatten(i);return Math.max.apply(Math,a)},e}($f),qJ=AUt;Tb("Dodge",HJ);Tb("Jitter",YJ);Tb("Stack",XJ);Tb("Symmetric",qJ);var Lb=z(q()),KJ=function(r,e){return(0,Lb.isString)(e)?e:r.invert(r.scale(e))},MUt=function(){function r(e){this.names=[],this.scales=[],this.linear=!1,this.values=[],this.callback=function(){return[]},this._parseCfg(e)}return r.prototype.mapping=function(){for(var e=this,t=[],n=0;n1?1:Number(e),n=r.length-1,i=Math.floor(n*t),a=n*t-i,o=r[i],s=i===n?o:r[i+1];return ytt([Tz(o,s,a,0),Tz(o,s,a,1),Tz(o,s,a,2)])},J2,btt=function(r){if(r[0]==="#"&&r.length===7)return r;J2||(J2=PUt()),J2.style.color=r;var e=document.defaultView.getComputedStyle(J2,"").getPropertyValue("color"),t=TUt.exec(e),n=t[1].split(/\s*,\s*/).map(function(i){return Number(i)});return e=ytt(n),e},RUt=function(r){var e=(0,im.isString)(r)?r.split("-"):r,t=(0,im.map)(e,function(n){return xtt(n.indexOf("#")===-1?btt(n):n)});return function(n){return kUt(t,n)}},NUt=function(r){if(DUt(r)){var e,t=void 0;if(r[0]==="l"){var n=IUt.exec(r),i=+n[1]+90;t=n[2],e="linear-gradient("+i+"deg, "}else if(r[0]==="r"){e="radial-gradient(";var n=LUt.exec(r);t=n[4]}var a=t.match(OUt);return(0,im.each)(a,function(o,s){var l=o.split(":");e+=l[1]+" "+l[0]*100+"%",s!==a.length-1&&(e+=", ")}),e+=")",e}return r},gu={rgb2arr:xtt,gradient:RUt,toRGB:(0,im.memoize)(btt),toCSSGradient:NUt};var _tt=z(q());var FUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="color",n.names=["color"],(0,_tt.isString)(n.values)&&(n.linear=!0),n.gradient=gu.gradient(n.values),n}return e.prototype.getLinearValue=function(t){return this.gradient(t)},e}(mu),Lz=FUt;var BUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="opacity",n.names=["opacity"],n}return e}(mu),Stt=BUt;var Db=z(q());var GUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.names=["x","y"],n.type="position",n}return e.prototype.mapping=function(t,n){var i=this.scales,a=i[0],o=i[1];return(0,Db.isNil)(t)||(0,Db.isNil)(n)?[]:[(0,Db.isArray)(t)?t.map(function(s){return a.scale(s)}):a.scale(t),(0,Db.isArray)(n)?n.map(function(s){return o.scale(s)}):o.scale(n)]},e}(mu),Ctt=GUt;var zUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="shape",n.names=["shape"],n}return e.prototype.getLinearValue=function(t){var n=Math.round((this.values.length-1)*t);return this.values[n]},e}(mu),wtt=zUt;var UUt=function(r){oh(e,r);function e(t){var n=r.call(this,t)||this;return n.type="size",n.names=["size"],n}return e}(mu),Ett=UUt;var Uo=z(q());var Att={};function tL(r){return Att[r]}function Xu(r,e){Att[r]=e}var jUt=function(){function r(e){this.type="base",this.isCategory=!1,this.isLinear=!1,this.isContinuous=!1,this.isIdentity=!1,this.values=[],this.range=[0,1],this.ticks=[],this.__cfg__=e,this.initCfg(),this.init()}return r.prototype.translate=function(e){return e},r.prototype.change=function(e){(0,Uo.assign)(this.__cfg__,e),this.init()},r.prototype.clone=function(){return this.constructor(this.__cfg__)},r.prototype.getTicks=function(){var e=this;return(0,Uo.map)(this.ticks,function(t,n){return(0,Uo.isObject)(t)?t:{text:e.getText(t,n),tickValue:t,value:e.scale(t)}})},r.prototype.getText=function(e,t){var n=this.formatter,i=n?n(e,t):e;return(0,Uo.isNil)(i)||!(0,Uo.isFunction)(i.toString)?"":i.toString()},r.prototype.getConfig=function(e){return this.__cfg__[e]},r.prototype.init=function(){(0,Uo.assign)(this,this.__cfg__),this.setDomain(),(0,Uo.isEmpty)(this.getConfig("ticks"))&&(this.ticks=this.calculateTicks())},r.prototype.initCfg=function(){},r.prototype.setDomain=function(){},r.prototype.calculateTicks=function(){var e=this.tickMethod,t=[];if((0,Uo.isString)(e)){var n=tL(e);if(!n)throw new Error("There is no method to to calculate ticks!");t=n(this)}else(0,Uo.isFunction)(e)&&(t=e(this));return t},r.prototype.rangeMin=function(){return this.range[0]},r.prototype.rangeMax=function(){return this.range[1]},r.prototype.calcPercent=function(e,t,n){return(0,Uo.isNumber)(e)?(e-t)/(n-t):NaN},r.prototype.calcValue=function(e,t,n){return t+e*(n-t)},r}(),qu=jUt;var Pb=z(q());var WUt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="cat",t.isCategory=!0,t}return e.prototype.buildIndexMap=function(){if(!this.translateIndexMap){this.translateIndexMap=new Map;for(var t=0;tthis.max?NaN:this.values[a]},e.prototype.getText=function(t){for(var n=[],i=1;i1?t-1:t}this.translateIndexMap&&(this.translateIndexMap=void 0)},e}(qu),sh=WUt;var iL=z(q());var kb=z(q());var Pz={};Dn(Pz,{assign:()=>sm,default:()=>Dz,defaultI18n:()=>Oz,format:()=>Utt,parse:()=>jtt,setGlobalDateI18n:()=>Ptt,setGlobalDateMasks:()=>ztt});var Mtt=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,am="[1-9]\\d?",om="\\d\\d",VUt="\\d{3}",HUt="\\d{4}",Hw="[^\\s]+",Ttt=/\[([^]*?)\]/gm;function Itt(r,e){for(var t=[],n=0,i=r.length;n-1?i:null}};function sm(r){for(var e=[],t=1;t3?0:(r-r%10!=10?1:0)*r%10]}},eL=sm({},Oz),Ptt=function(r){return eL=sm(eL,r)},ktt=function(r){return r.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ll=function(r,e){for(e===void 0&&(e=2),r=String(r);r.length0?"-":"+")+Ll(Math.floor(Math.abs(e)/60)*100+Math.abs(e)%60,4)},Z:function(r){var e=r.getTimezoneOffset();return(e>0?"-":"+")+Ll(Math.floor(Math.abs(e)/60),2)+":"+Ll(Math.abs(e)%60,2)}},Rtt=function(r){return+r-1},Ntt=[null,am],Ftt=[null,Hw],Btt=["isPm",Hw,function(r,e){var t=r.toLowerCase();return t===e.amPm[0]?0:t===e.amPm[1]?1:null}],Gtt=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(r){var e=(r+"").match(/([+-]|\d\d)/gi);if(e){var t=+e[1]*60+parseInt(e[2],10);return e[0]==="+"?t:-t}return 0}],KUt={D:["day",am],DD:["day",om],Do:["day",am+Hw,function(r){return parseInt(r,10)}],M:["month",am,Rtt],MM:["month",om,Rtt],YY:["year",om,function(r){var e=new Date,t=+(""+e.getFullYear()).substr(0,2);return+(""+(+r>68?t-1:t)+r)}],h:["hour",am,void 0,"isPm"],hh:["hour",om,void 0,"isPm"],H:["hour",am],HH:["hour",om],m:["minute",am],mm:["minute",om],s:["second",am],ss:["second",om],YYYY:["year",HUt],S:["millisecond","\\d",function(r){return+r*100}],SS:["millisecond",om,function(r){return+r*10}],SSS:["millisecond",VUt],d:Ntt,dd:Ntt,ddd:Ftt,dddd:Ftt,MMM:["month",Hw,Ltt("monthNamesShort")],MMMM:["month",Hw,Ltt("monthNames")],a:Btt,A:Btt,ZZ:Gtt,Z:Gtt},rL={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},ztt=function(r){return sm(rL,r)},Utt=function(r,e,t){if(e===void 0&&(e=rL.default),t===void 0&&(t={}),typeof r=="number"&&(r=new Date(r)),Object.prototype.toString.call(r)!=="[object Date]"||isNaN(r.getTime()))throw new Error("Invalid Date pass to format");e=rL[e]||e;var n=[];e=e.replace(Ttt,function(a,o){return n.push(o),"@@@"});var i=sm(sm({},eL),t);return e=e.replace(Mtt,function(a){return qUt[a](r,i)}),e.replace(/@@@/g,function(){return n.shift()})};function jtt(r,e,t){if(t===void 0&&(t={}),typeof e!="string")throw new Error("Invalid format in fecha parse");if(e=rL[e]||e,r.length>1e3)return null;var n=new Date,i={year:n.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},a=[],o=[],s=e.replace(Ttt,function(S,C){return o.push(ktt(C)),"@@@"}),l={},u={};s=ktt(s).replace(Mtt,function(S){var C=KUt[S],w=C[0],A=C[1],L=C[3];if(l[w])throw new Error("Invalid format. "+w+" specified twice in format");return l[w]=!0,L&&(u[L]=!0),a.push(C),"("+A+")"}),Object.keys(u).forEach(function(S){if(!l[S])throw new Error("Invalid format. "+S+" is required in specified format")}),s=s.replace(/@@@/g,function(){return o.shift()});var f=r.match(new RegExp(s,"i"));if(!f)return null;for(var c=sm(sm({},eL),t),h=1;h>>1;r(e[s])>t?o=s:a=s+1}return a}}var Vtt="format";function nL(r,e){var t=Pz[Vtt]||Dz[Vtt];return t(r,e)}function Rb(r){return(0,kb.isString)(r)&&(r.indexOf("T")>0?r=new Date(r).getTime():r=new Date(r.replace(/-/gi,"/")).getTime()),(0,kb.isDate)(r)&&(r=r.getTime()),r}var Ku=1e3,lm=60*Ku,um=60*lm,lh=24*um,Nb=lh*31,Rz=lh*365;var Yw=[["HH:mm:ss",Ku],["HH:mm:ss",Ku*10],["HH:mm:ss",Ku*30],["HH:mm",lm],["HH:mm",lm*10],["HH:mm",lm*30],["HH",um],["HH",um*6],["HH",um*12],["YYYY-MM-DD",lh],["YYYY-MM-DD",lh*4],["YYYY-WW",lh*7],["YYYY-MM",Nb],["YYYY-MM",Nb*4],["YYYY-MM",Nb*6],["YYYY",lh*380]];function Htt(r,e,t){var n=(e-r)/t,i=Wtt(function(o){return o[1]})(Yw,n)-1,a=Yw[i];return i<0?a=Yw[0]:i>=Yw.length&&(a=(0,kb.last)(Yw)),a}var $Ut=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="timeCat",t}return e.prototype.translate=function(t){t=Rb(t);var n=this.values.indexOf(t);return n===-1&&((0,iL.isNumber)(t)&&t-1){var a=this.values[i],o=this.formatter;return a=o?o(a,n):nL(a,this.mask),a}return t},e.prototype.initCfg=function(){this.tickMethod="time-cat",this.mask="YYYY-MM-DD",this.tickCount=7},e.prototype.setDomain=function(){var t=this.values;(0,iL.each)(t,function(n,i){t[i]=Rb(n)}),t.sort(function(n,i){return n-i}),r.prototype.setDomain.call(this)},e}(sh),Ytt=$Ut;var Ol=z(q());var QUt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.isContinuous=!0,t}return e.prototype.scale=function(t){if((0,Ol.isNil)(t))return NaN;var n=this.rangeMin(),i=this.rangeMax(),a=this.max,o=this.min;if(a===o)return n;var s=this.getScalePercent(t);return n+s*(i-n)},e.prototype.init=function(){r.prototype.init.call(this);var t=this.ticks,n=(0,Ol.head)(t),i=(0,Ol.last)(t);nthis.max&&(this.max=i),(0,Ol.isNil)(this.minLimit)||(this.min=n),(0,Ol.isNil)(this.maxLimit)||(this.max=i)},e.prototype.setDomain=function(){var t=(0,Ol.getRange)(this.values),n=t.min,i=t.max;(0,Ol.isNil)(this.min)&&(this.min=n),(0,Ol.isNil)(this.max)&&(this.max=i),this.min>this.max&&(this.min=n,this.max=i)},e.prototype.calculateTicks=function(){var t=this,n=r.prototype.calculateTicks.call(this);return this.nice||(n=(0,Ol.filter)(n,function(i){return i>=t.min&&i<=t.max})),n},e.prototype.getScalePercent=function(t){var n=this.max,i=this.min;return(t-i)/(n-i)},e.prototype.getInvertPercent=function(t){return(t-this.rangeMin())/(this.rangeMax()-this.rangeMin())},e}(qu),fm=QUt;var JUt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="linear",t.isLinear=!0,t}return e.prototype.invert=function(t){var n=this.getInvertPercent(t);return this.min+n*(this.max-this.min)},e.prototype.initCfg=function(){this.tickMethod="wilkinson-extended",this.nice=!1},e}(fm),Qf=JUt;var aL=z(q());function uh(r,e){var t=Math.E,n;return e>=0?n=Math.pow(t,Math.log(e)/r):n=Math.pow(t,Math.log(-e)/r)*-1,n}function Dl(r,e){return r===1?1:Math.log(e)/Math.log(r)}function oL(r,e,t){(0,aL.isNil)(t)&&(t=Math.max.apply(null,r));var n=t;return(0,aL.each)(r,function(i){i>0&&i1&&(n=1),n}var tjt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="log",t}return e.prototype.invert=function(t){var n=this.base,i=Dl(n,this.max),a=this.rangeMin(),o=this.rangeMax()-a,s,l=this.positiveMin;if(l){if(t===0)return 0;s=Dl(n,l/n);var u=1/(i-s)*o;if(t=0?1:-1;return Math.pow(s,i)*l},e.prototype.initCfg=function(){this.tickMethod="pow",this.exponent=2,this.tickCount=5,this.nice=!0},e.prototype.getScalePercent=function(t){var n=this.max,i=this.min;if(n===i)return 0;var a=this.exponent,o=(uh(a,t)-uh(a,i))/(uh(a,n)-uh(a,i));return o},e}(fm),qtt=ejt;var Pl=z(q());var rjt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="time",t}return e.prototype.getText=function(t,n){var i=this.translate(t),a=this.formatter;return a?a(i,n):nL(i,this.mask)},e.prototype.scale=function(t){var n=t;return((0,Pl.isString)(n)||(0,Pl.isDate)(n))&&(n=this.translate(n)),r.prototype.scale.call(this,n)},e.prototype.translate=function(t){return Rb(t)},e.prototype.initCfg=function(){this.tickMethod="time-pretty",this.mask="YYYY-MM-DD",this.tickCount=7,this.nice=!1},e.prototype.setDomain=function(){var t=this.values,n=this.getConfig("min"),i=this.getConfig("max");if((!(0,Pl.isNil)(n)||!(0,Pl.isNumber)(n))&&(this.min=this.translate(this.min)),(!(0,Pl.isNil)(i)||!(0,Pl.isNumber)(i))&&(this.max=this.translate(this.max)),t&&t.length){var a=[],o=1/0,s=o,l=0;(0,Pl.each)(t,function(u){var f=Rb(u);if(isNaN(f))throw new TypeError("Invalid Time: "+u+" in time scale!");o>f?(s=o,o=f):s>f&&(s=f),l1&&(this.minTickInterval=s-o),(0,Pl.isNil)(n)&&(this.min=o),(0,Pl.isNil)(i)&&(this.max=l)}},e}(Qf),Ktt=rjt;var fh=z(q());var njt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="quantize",t}return e.prototype.invert=function(t){var n=this.ticks,i=n.length,a=this.getInvertPercent(t),o=Math.floor(a*(i-1));if(o>=i-1)return(0,fh.last)(n);if(o<0)return(0,fh.head)(n);var s=n[o],l=n[o+1],u=o/(i-1),f=(o+1)/(i-1);return s+(a-u)/(f-u)*(l-s)},e.prototype.initCfg=function(){this.tickMethod="r-pretty",this.tickCount=5,this.nice=!0},e.prototype.calculateTicks=function(){var t=r.prototype.calculateTicks.call(this);return this.nice||((0,fh.last)(t)!==this.max&&t.push(this.max),(0,fh.head)(t)!==this.min&&t.unshift(this.min)),t},e.prototype.getScalePercent=function(t){var n=this.ticks;if(t<(0,fh.head)(n))return 0;if(t>(0,fh.last)(n))return 1;var i=0;return(0,fh.each)(n,function(a,o){if(t>=a)i=o;else return!1}),i/(n.length-1)},e}(fm),sL=njt;var ijt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="quantile",t}return e.prototype.initCfg=function(){this.tickMethod="quantile",this.tickCount=5,this.nice=!0},e}(sL),Ztt=ijt;var $tt={};function Fb(r){return $tt[r]}function Zu(r,e){if(Fb(r))throw new Error("type '"+r+"' existed.");$tt[r]=e}var Qtt=z(q());var ajt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="identity",t.isIdentity=!0,t}return e.prototype.calculateTicks=function(){return this.values},e.prototype.scale=function(t){return this.values[0]!==t&&(0,Qtt.isNumber)(t)?t:this.range[0]},e.prototype.invert=function(t){var n=this.range;return tn[1]?NaN:this.values[0]},e}(qu),Jtt=ajt;var ap=z(q());var ch=z(q());function cm(r){return Math.abs(r)<1e-15?r:parseFloat(r.toFixed(15))}var ojt=[1,5,2,2.5,4,3];var tet=Number.EPSILON*100;function sjt(r,e){return(r%e+e)%e}function ljt(r){return Math.round(r*1e12)/1e12}function ujt(r,e,t,n,i,a){var o=(0,ch.size)(e),s=(0,ch.indexOf)(e,r),l=0,u=sjt(n,a);return(u=0&&(l=1),1-s/(o-1)-t+l}function fjt(r,e,t){var n=(0,ch.size)(e),i=(0,ch.indexOf)(e,r),a=1;return 1-i/(n-1)-t+a}function cjt(r,e,t,n,i,a){var o=(r-1)/(a-i),s=(e-1)/(Math.max(a,n)-Math.min(t,i));return 2-Math.max(o/s,s/o)}function hjt(r,e){return r>=e?2-(r-1)/(e-1):1}function djt(r,e,t,n){var i=e-r;return 1-.5*(Math.pow(e-n,2)+Math.pow(r-t,2))/Math.pow(.1*i,2)}function pjt(r,e,t){var n=e-r;if(t>n){var i=(t-n)/2;return 1-Math.pow(i,2)/Math.pow(.1*n,2)}return 1}function vjt(){return 1}function Xw(r,e,t,n,i,a){t===void 0&&(t=5),n===void 0&&(n=!0),i===void 0&&(i=ojt),a===void 0&&(a=[.25,.2,.5,.05]);var o=t<0?0:Math.round(t);if(Number.isNaN(r)||Number.isNaN(e)||typeof r!="number"||typeof e!="number"||!o)return{min:0,max:0,ticks:[]};if(e-r<1e-15||o===1)return{min:r,max:e,ticks:[r]};for(var s={score:-2,lmin:0,lmax:0,lstep:0},l=1;l<1/0;){for(var u=0;us.score&&(!n||A<=r&&L>=e)&&(s.lmin=A,s.lmax=L,s.lstep=k,s.score=P)}v+=1}h+=1}}l+=1}var F=cm(s.lmax),D=cm(s.lmin),G=cm(s.lstep),U=Math.floor(ljt((F-D)/G))+1,j=new Array(U);j[0]=cm(D);for(var u=1;u=a&&u<=o});return l.map(function(u){return e[u]})}return e.slice(a,o+1)}var Zy=z(q());function Nz(r){var e=r.min,t=r.max,n=r.nice,i=r.tickCount,a=new mjt;return a.domain([e,t]),n&&a.nice(i),a.ticks(i)}var Fz=5,eet=Math.sqrt(50),ret=Math.sqrt(10),net=Math.sqrt(2),mjt=function(){function r(){this._domain=[0,1]}return r.prototype.domain=function(e){return e?(this._domain=Array.from(e,Number),this):this._domain.slice()},r.prototype.nice=function(e){var t,n;e===void 0&&(e=Fz);var i=this._domain.slice(),a=0,o=this._domain.length-1,s=this._domain[a],l=this._domain[o],u;return l0?(s=Math.floor(s/u)*u,l=Math.ceil(l/u)*u,u=lL(s,l,e)):u<0&&(s=Math.ceil(s*u)/u,l=Math.floor(l*u)/u,u=lL(s,l,e)),u>0?(i[a]=Math.floor(s/u)*u,i[o]=Math.ceil(l/u)*u,this.domain(i)):u<0&&(i[a]=Math.ceil(s*u)/u,i[o]=Math.floor(l*u)/u,this.domain(i)),this},r.prototype.ticks=function(e){return e===void 0&&(e=Fz),gjt(this._domain[0],this._domain[this._domain.length-1],e||Fz)},r}();function gjt(r,e,t){var n,i=-1,a,o,s;if(e=+e,r=+r,t=+t,r===e&&t>0)return[r];if((n=e0)for(r=Math.ceil(r/s),e=Math.floor(e/s),o=new Array(a=Math.ceil(e-r+1));++i=0?(a>=eet?10:a>=ret?5:a>=net?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=eet?10:a>=ret?5:a>=net?2:1)}var uL=z(q());function iet(r,e,t){var n;return t==="ceil"?n=Math.ceil(r/e):t==="floor"?n=Math.floor(r/e):n=Math.round(r/e),n*e}function qy(r,e,t){var n=iet(r,t,"floor"),i=iet(e,t,"ceil");n=(0,uL.fixedBase)(n,t),i=(0,uL.fixedBase)(i,t);for(var a=[],o=n;o<=i;o=o+t){var s=(0,uL.fixedBase)(o,t);a.push(s)}return{min:n,max:i,ticks:a}}var Kw=z(q());function Ky(r,e,t){var n,i=r.minLimit,a=r.maxLimit,o=r.min,s=r.max,l=r.tickCount,u=l===void 0?5:l,f=(0,Kw.isNil)(i)?(0,Kw.isNil)(e)?o:e:i,c=(0,Kw.isNil)(a)?(0,Kw.isNil)(t)?s:t:a;if(f>c&&(n=[f,c],c=n[0],f=n[1]),u<=2)return[f,c];for(var h=(c-f)/(u-1),d=[],p=0;p0)o=Math.floor(Dl(e,n));else{var l=oL(a,e,i);o=Math.floor(Dl(e,l))}for(var u=s-o,f=Math.ceil(u/t),c=[],h=o;h=0?1:-1;return Math.pow(o,e)*s})}function yjt(r,e){var t=r.length*e;return e===1?r[r.length-1]:e===0?r[0]:t%1!=0?r[Math.ceil(t)-1]:r.length%2==0?(r[t-1]+r[t])/2:r[t]}function jz(r){var e=r.tickCount,t=r.values;if(!t||!t.length)return[];for(var n=t.slice().sort(function(s,l){return s-l}),i=[],a=0;a1&&(i=i*Math.ceil(s)),n&&iRz)for(var l=fL(t),u=Math.ceil(a/Rz),f=s;f<=l+u;f=f+u)o.push(xjt(f));else if(a>Nb)for(var c=Math.ceil(a/Nb),h=Xz(e),d=bjt(e,t),f=0;f<=d+c;f=f+c)o.push(_jt(s,f+h));else if(a>lh)for(var p=new Date(e),v=p.getFullYear(),m=p.getMonth(),g=p.getDate(),x=Math.ceil(a/lh),b=Sjt(e,t),f=0;fum)for(var p=new Date(e),v=p.getFullYear(),m=p.getMonth(),x=p.getDate(),S=p.getHours(),C=Math.ceil(a/um),w=Cjt(e,t),f=0;f<=w+C;f=f+C)o.push(new Date(v,m,x,S+f).getTime());else if(a>lm)for(var A=wjt(e,t),L=Math.ceil(a/lm),f=0;f<=A+L;f=f+L)o.push(e+f*lm);else{var k=a;k=512&&console.warn("Notice: current ticks length("+o.length+') >= 512, may cause performance issues, even out of memory. Because of the configure "tickInterval"(in milliseconds, current is '+a+") is too small, increase the value to solve the problem!"),o}Xu("cat",qw);Xu("time-cat",Yz);Xu("wilkinson-extended",Gz);Xu("r-pretty",Wz);Xu("time",Vz);Xu("time-pretty",qz);Xu("log",zz);Xu("pow",Uz);Xu("quantile",jz);Xu("d3-linear",Bz);Zu("cat",sh);Zu("category",sh);Zu("identity",Jtt);Zu("linear",Qf);Zu("log",Xtt);Zu("pow",qtt);Zu("time",Ktt);Zu("timeCat",Ytt);Zu("quantize",sL);Zu("quantile",Ztt);var aet={},$w=function(r){return aet[r.toLowerCase()]},Bb=function(r,e){if($w(r))throw new Error("Attribute type '"+r+"' existed.");aet[r.toLowerCase()]=e};Bb("Color",Lz);Bb("Opacity",Stt);Bb("Position",Ctt);Bb("Shape",wtt);Bb("Size",Ett);var oet=z(q()),Ejt=function(){function r(e){this.type="coordinate",this.isRect=!1,this.isHelix=!1,this.isPolar=!1,this.isReflectX=!1,this.isReflectY=!1;var t=e.start,n=e.end,i=e.matrix,a=i===void 0?[1,0,0,0,1,0,0,0,1]:i,o=e.isTransposed,s=o===void 0?!1:o;this.start=t,this.end=n,this.matrix=a,this.originalMatrix=mn([],a),this.isTransposed=s}return r.prototype.initial=function(){this.center={x:(this.start.x+this.end.x)/2,y:(this.start.y+this.end.y)/2},this.width=Math.abs(this.end.x-this.start.x),this.height=Math.abs(this.end.y-this.start.y)},r.prototype.update=function(e){(0,oet.assign)(this,e),this.initial()},r.prototype.convertDim=function(e,t){var n,i=this[t],a=i.start,o=i.end;return this.isReflect(t)&&(n=[o,a],a=n[0],o=n[1]),a+e*(o-a)},r.prototype.invertDim=function(e,t){var n,i=this[t],a=i.start,o=i.end;return this.isReflect(t)&&(n=[o,a],a=n[0],o=n[1]),(e-a)/(o-a)},r.prototype.applyMatrix=function(e,t,n){n===void 0&&(n=0);var i=this.matrix,a=[e,t,n];return Ft.transformMat3(a,a,i),a},r.prototype.invertMatrix=function(e,t,n){n===void 0&&(n=0);var i=this.matrix,a=Ai.invert([0,0,0,0,0,0,0,0,0],i),o=[e,t,n];return a&&Ft.transformMat3(o,o,a),o},r.prototype.convert=function(e){var t=this.convertPoint(e),n=t.x,i=t.y,a=this.applyMatrix(n,i,1);return{x:a[0],y:a[1]}},r.prototype.invert=function(e){var t=this.invertMatrix(e.x,e.y,1);return this.invertPoint({x:t[0],y:t[1]})},r.prototype.rotate=function(e){var t=this.matrix,n=this.center;return gr.leftTranslate(t,t,[-n.x,-n.y]),gr.leftRotate(t,t,e),gr.leftTranslate(t,t,[n.x,n.y]),this},r.prototype.reflect=function(e){return e==="x"?this.isReflectX=!this.isReflectX:this.isReflectY=!this.isReflectY,this},r.prototype.scale=function(e,t){var n=this.matrix,i=this.center;return gr.leftTranslate(n,n,[-i.x,-i.y]),gr.leftScale(n,n,[e,t]),gr.leftTranslate(n,n,[i.x,i.y]),this},r.prototype.translate=function(e,t){var n=this.matrix;return gr.leftTranslate(n,n,[e,t]),this},r.prototype.transpose=function(){return this.isTransposed=!this.isTransposed,this},r.prototype.getCenter=function(){return this.center},r.prototype.getWidth=function(){return this.width},r.prototype.getHeight=function(){return this.height},r.prototype.getRadius=function(){return this.radius},r.prototype.isReflect=function(e){return e==="x"?this.isReflectX:this.isReflectY},r.prototype.resetMatrix=function(e){this.matrix=e||mn([],this.originalMatrix)},r}(),hh=Ejt;var Ajt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.isRect=!0,n.type="cartesian",n.initial(),n}return e.prototype.initial=function(){r.prototype.initial.call(this);var t=this.start,n=this.end;this.x={start:t.x,end:n.x},this.y={start:t.y,end:n.y}},e.prototype.convertPoint=function(t){var n,i=t.x,a=t.y;return this.isTransposed&&(n=[a,i],i=n[0],a=n[1]),{x:this.convertDim(i,"x"),y:this.convertDim(a,"y")}},e.prototype.invertPoint=function(t){var n,i=this.invertDim(t.x,"x"),a=this.invertDim(t.y,"y");return this.isTransposed&&(n=[a,i],i=n[0],a=n[1]),{x:i,y:a}},e}(hh),Kz=Ajt;var cL=z(q());var Mjt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;n.isHelix=!0,n.type="helix";var i=t.startAngle,a=i===void 0?1.25*Math.PI:i,o=t.endAngle,s=o===void 0?7.25*Math.PI:o,l=t.innerRadius,u=l===void 0?0:l,f=t.radius;return n.startAngle=a,n.endAngle=s,n.innerRadius=u,n.radius=f,n.initial(),n}return e.prototype.initial=function(){r.prototype.initial.call(this);var t=(this.endAngle-this.startAngle)/(2*Math.PI)+1,n=Math.min(this.width,this.height)/2;this.radius&&this.radius>=0&&this.radius<=1&&(n=n*this.radius),this.d=Math.floor(n*(1-this.innerRadius)/t),this.a=this.d/(Math.PI*2),this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*n,end:this.innerRadius*n+this.d*.99}},e.prototype.convertPoint=function(t){var n,i=t.x,a=t.y;this.isTransposed&&(n=[a,i],i=n[0],a=n[1]);var o=this.convertDim(i,"x"),s=this.a*o,l=this.convertDim(a,"y");return{x:this.center.x+Math.cos(o)*(s+l),y:this.center.y+Math.sin(o)*(s+l)}},e.prototype.invertPoint=function(t){var n,i=this.d+this.y.start,a=oe.subtract([0,0],[t.x,t.y],[this.center.x,this.center.y]),o=gr.angleTo(a,[1,0],!0),s=o*this.a;oe.length(a)this.width/n?(s=this.width/n,this.circleCenter={x:this.center.x-(.5-a)*this.width,y:this.center.y-(.5-o)*s*i}):(s=this.height/i,this.circleCenter={x:this.center.x-(.5-a)*s*n,y:this.center.y-(.5-o)*this.height}),this.polarRadius=this.radius,this.radius?this.radius>0&&this.radius<=1?this.polarRadius=s*this.radius:(this.radius<=0||this.radius>s)&&(this.polarRadius=s):this.polarRadius=s,this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*this.polarRadius,end:this.polarRadius}},e.prototype.getRadius=function(){return this.polarRadius},e.prototype.convertPoint=function(t){var n,i=this.getCenter(),a=t.x,o=t.y;return this.isTransposed&&(n=[o,a],a=n[0],o=n[1]),a=this.convertDim(a,"x"),o=this.convertDim(o,"y"),{x:i.x+Math.cos(a)*o,y:i.y+Math.sin(a)*o}},e.prototype.invertPoint=function(t){var n,i=this.getCenter(),a=[t.x-i.x,t.y-i.y],o=this,s=o.startAngle,l=o.endAngle;this.isReflect("x")&&(n=[l,s],s=n[0],l=n[1]);var u=[1,0,0,0,1,0,0,0,1];gr.leftRotate(u,u,s);var f=[1,0,0];Ft.transformMat3(f,f,u);var c=[f[0],f[1]],h=gr.angleTo(c,a,l0?p:-p;var v=this.invertDim(d,"y"),m={x:0,y:0};return m.x=this.isTransposed?v:p,m.y=this.isTransposed?p:v,m},e.prototype.getCenter=function(){return this.circleCenter},e.prototype.getOneBox=function(){var t=this.startAngle,n=this.endAngle;if(Math.abs(n-t)>=Math.PI*2)return{minX:-1,maxX:1,minY:-1,maxY:1};for(var i=[0,Math.cos(t),Math.cos(n)],a=[0,Math.sin(t),Math.sin(n)],o=Math.min(t,n);oCet,DataMarker:()=>Aet,DataRegion:()=>Met,Html:()=>Let,Image:()=>Eet,Line:()=>bet,Region:()=>wet,RegionFilter:()=>Tet,Shape:()=>Iet,Text:()=>_et});var mL=z(q());var so=z(q());function Qw(r,e,t){var n=new Yu(e,t);n.target=r,n.propagationPath.push(r),r.emitDelegation(e,n);for(var i=r.getParent();i;)i.emitDelegation(e,n),n.propagationPath.push(i),i=i.getParent()}var het=[1,0,0,0,1,0,0,0,1];function Jf(r,e,t){if(t===void 0&&(t=het),!e)return null;var n=gr.transform(t,[["t",-r.x,-r.y],["r",e],["t",r.x,r.y]]);return n}function Jw(r,e){return!r.x&&!r.y?null:gr.transform(e||het,[["t",r.x,r.y]])}function det(r){var e=[1,0,0],t=[0,0,0];return Ft.transformMat3(t,e,r),Math.atan2(t[1],t[0])}function dL(r,e){var t=[0,0];return oe.transformMat3(t,e,r),t}function pet(r,e){var t=dL(r,[e.minX,e.minY]),n=dL(r,[e.maxX,e.minY]),i=dL(r,[e.minX,e.maxY]),a=dL(r,[e.maxX,e.maxY]),o=Math.min(t[0],n[0],i[0],a[0]),s=Math.max(t[0],n[0],i[0],a[0]),l=Math.min(t[1],n[1],i[1],a[1]),u=Math.max(t[1],n[1],i[1],a[1]);return{x:o,y:l,minX:o,minY:l,maxX:s,maxY:u,width:s-o,height:u-l}}function pL(r,e,t,n){if(e){var i=Jf({x:t,y:n},e,r.getMatrix());r.setMatrix(i)}}function hm(r,e,t){var n=Jw({x:e,y:t});r.attr("matrix",n)}var dh=z(q());function Jy(r){var e=0,t=0,n=0,i=0;return(0,dh.isNumber)(r)?e=t=n=i=r:(0,dh.isArray)(r)&&(e=r[0],n=(0,dh.isNil)(r[1])?r[0]:r[1],i=(0,dh.isNil)(r[2])?r[0]:r[2],t=(0,dh.isNil)(r[3])?n:r[3]),[e,n,i,t]}function zb(r){for(var e=r.childNodes,t=e.length,n=t-1;n>=0;n--)r.removeChild(e[n])}function vet(r,e){return!!r.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))}function op(r){var e=r.start,t=r.end,n=Math.min(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.x,t.x),o=Math.max(e.y,t.y);return{x:n,y:i,minX:n,minY:i,maxX:a,maxY:o,width:a-n,height:o-i}}function met(r){var e=r.map(function(s){return s.x}),t=r.map(function(s){return s.y}),n=Math.min.apply(Math,e),i=Math.min.apply(Math,t),a=Math.max.apply(Math,e),o=Math.max.apply(Math,t);return{x:n,y:i,minX:n,minY:i,maxX:a,maxY:o,width:a-n,height:o-i}}function Ub(r,e,t,n){var i=r+t,a=e+n;return{x:r,y:e,width:t,height:n,minX:r,minY:e,maxX:isNaN(i)?0:i,maxY:isNaN(a)?0:a}}function sp(r,e,t){return(1-t)*r+e*t}function dm(r,e,t){return{x:r.x+Math.cos(t)*e,y:r.y+Math.sin(t)*e}}function Ijt(r,e){var t=e.x-r.x,n=e.y-r.y;return Math.sqrt(t*t+n*n)}var tE=function(r,e,t){return t===void 0&&(t=Math.pow(Number.EPSILON,.5)),[r,e].includes(1/0)?Math.abs(r)===Math.abs(e):Math.abs(r-e)0?(0,dh.each)(l,function(u){if(u.get("visible")){if(u.isGroup()&&u.get("children").length===0)return!0;var f=Zz(u),c=u.applyToMatrix([f.minX,f.minY,1]),h=u.applyToMatrix([f.minX,f.maxY,1]),d=u.applyToMatrix([f.maxX,f.minY,1]),p=u.applyToMatrix([f.maxX,f.maxY,1]),v=Math.min(c[0],h[0],d[0],p[0]),m=Math.max(c[0],h[0],d[0],p[0]),g=Math.min(c[1],h[1],d[1],p[1]),x=Math.max(c[1],h[1],d[1],p[1]);va&&(a=m),gs&&(s=x)}}):(i=0,a=0,o=0,s=0),n=Ub(i,o,a-i,s-o)}return t?Ljt(n,t):n}function get(r,e){if(!(!r.getClip()&&!e.getClip())){var t=e.getClip();if(!t){r.setClip(null);return}var n={type:t.get("type"),attrs:t.attr()};r.setClip(n)}}function As(r){return r+"px"}function vL(r,e,t,n){var i=Ijt(r,e),a=n/i,o=0;return t==="start"?o=0-a:t==="end"&&(o=1+a),{x:sp(r.x,e.x,o),y:sp(r.y,e.y,o)}}var yu=z(q()),Ojt={none:[],point:["x","y"],region:["start","end"],points:["points"],circle:["center","radius","startAngle","endAngle"]},Djt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.initCfg(),n}return e.prototype.getDefaultCfg=function(){return{id:"",name:"",type:"",locationType:"none",offsetX:0,offsetY:0,animate:!1,capture:!0,updateAutoRender:!1,animateOption:{appear:null,update:{duration:400,easing:"easeQuadInOut"},enter:{duration:400,easing:"easeQuadInOut"},leave:{duration:350,easing:"easeQuadIn"}},events:null,defaultCfg:{},visible:!0}},e.prototype.clear=function(){},e.prototype.update=function(t){var n=this,i=this.get("defaultCfg")||{};(0,yu.each)(t,function(a,o){var s=n.get(o),l=a;s!==a&&((0,yu.isObject)(a)&&i[o]&&(l=(0,yu.deepMix)({},i[o],a)),n.set(o,l))}),this.updateInner(t),this.afterUpdate(t)},e.prototype.updateInner=function(t){},e.prototype.afterUpdate=function(t){(0,yu.hasKey)(t,"visible")&&(t.visible?this.show():this.hide()),(0,yu.hasKey)(t,"capture")&&this.setCapture(t.capture)},e.prototype.getLayoutBBox=function(){return this.getBBox()},e.prototype.getLocationType=function(){return this.get("locationType")},e.prototype.getOffset=function(){return{offsetX:this.get("offsetX"),offsetY:this.get("offsetY")}},e.prototype.setOffset=function(t,n){this.update({offsetX:t,offsetY:n})},e.prototype.setLocation=function(t){var n=E({},t);this.update(n)},e.prototype.getLocation=function(){var t=this,n={},i=this.get("locationType"),a=Ojt[i];return(0,yu.each)(a,function(o){n[o]=t.get(o)}),n},e.prototype.isList=function(){return!1},e.prototype.isSlider=function(){return!1},e.prototype.init=function(){},e.prototype.initCfg=function(){var t=this,n=this.get("defaultCfg");(0,yu.each)(n,function(i,a){var o=t.get(a);if((0,yu.isObject)(o)){var s=(0,yu.deepMix)({},i,o);t.set(a,s)}})},e}(Ry),jb=Djt;var t0="update_status",Pjt=["visible","tip","delegateObject"],kjt=["container","group","shapesMap","isRegister","isUpdating","destroyed"],Rjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{container:null,shapesMap:{},group:null,capture:!0,isRegister:!1,isUpdating:!1,isInit:!0})},e.prototype.remove=function(){this.clear();var t=this.get("group");t.remove()},e.prototype.clear=function(){var t=this.get("group");t.clear(),this.set("shapesMap",{}),this.clearOffScreenCache(),this.set("isInit",!0)},e.prototype.getChildComponentById=function(t){var n=this.getElementById(t),i=n&&n.get("component");return i},e.prototype.getElementById=function(t){return this.get("shapesMap")[t]},e.prototype.getElementByLocalId=function(t){var n=this.getElementId(t);return this.getElementById(n)},e.prototype.getElementsByName=function(t){var n=[];return(0,so.each)(this.get("shapesMap"),function(i){i.get("name")===t&&n.push(i)}),n},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateInner=function(t){this.offScreenRender(),this.get("updateAutoRender")&&this.render()},e.prototype.render=function(){var t=this.get("offScreenGroup");t||(t=this.offScreenRender());var n=this.get("group");this.updateElements(t,n),this.deleteElements(),this.applyOffset(),this.get("eventInitted")||(this.initEvent(),this.set("eventInitted",!0)),this.set("isInit",!1)},e.prototype.show=function(){var t=this.get("group");t.show(),this.set("visible",!0)},e.prototype.hide=function(){var t=this.get("group");t.hide(),this.set("visible",!1)},e.prototype.setCapture=function(t){var n=this.get("group");n.set("capture",t),this.set("capture",t)},e.prototype.destroy=function(){this.removeEvent(),this.remove(),r.prototype.destroy.call(this)},e.prototype.getBBox=function(){return this.get("group").getCanvasBBox()},e.prototype.getLayoutBBox=function(){var t=this.get("group"),n=this.getInnerLayoutBBox(),i=t.getTotalMatrix();return i&&(n=pet(i,n)),n},e.prototype.on=function(t,n,i){var a=this.get("group");return a.on(t,n,i),this},e.prototype.off=function(t,n){var i=this.get("group");return i&&i.off(t,n),this},e.prototype.emit=function(t,n){var i=this.get("group");i.emit(t,n)},e.prototype.init=function(){r.prototype.init.call(this),this.get("group")||this.initGroup(),this.offScreenRender()},e.prototype.getInnerLayoutBBox=function(){return this.get("offScreenBBox")||this.get("group").getBBox()},e.prototype.delegateEmit=function(t,n){var i=this.get("group");n.target=i,i.emit(t,n),Qw(i,t,n)},e.prototype.createOffScreenGroup=function(){var t=this.get("group"),n=t.getGroupBase(),i=new n({delegateObject:this.getDelegateObject()});return i},e.prototype.applyOffset=function(){var t=this.get("offsetX"),n=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t,y:n})},e.prototype.initGroup=function(){var t=this.get("container");this.set("group",t.addGroup({id:this.get("id"),name:this.get("name"),capture:this.get("capture"),visible:this.get("visible"),isComponent:!0,component:this,delegateObject:this.getDelegateObject()}))},e.prototype.offScreenRender=function(){this.clearOffScreenCache();var t=this.createOffScreenGroup();return this.renderInner(t),this.set("offScreenGroup",t),this.set("offScreenBBox",Zz(t)),t},e.prototype.addGroup=function(t,n){this.appendDelegateObject(t,n);var i=t.addGroup(n);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addShape=function(t,n){this.appendDelegateObject(t,n);var i=t.addShape(n);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addComponent=function(t,n){var i=n.id,a=n.component,o=rr(n,["id","component"]),s=new a(E(E({},o),{id:i,container:t,updateAutoRender:this.get("updateAutoRender")}));return s.init(),s.render(),this.get("isRegister")&&this.registerElement(s.get("group")),s},e.prototype.initEvent=function(){},e.prototype.removeEvent=function(){var t=this.get("group");t.off()},e.prototype.getElementId=function(t){var n=this.get("id"),i=this.get("name");return n+"-"+i+"-"+t},e.prototype.registerElement=function(t){var n=t.get("id");this.get("shapesMap")[n]=t},e.prototype.unregisterElement=function(t){var n=t.get("id");delete this.get("shapesMap")[n]},e.prototype.moveElementTo=function(t,n){var i=Jw(n);t.attr("matrix",i)},e.prototype.addAnimation=function(t,n,i){var a=n.attr("opacity");(0,so.isNil)(a)&&(a=1),n.attr("opacity",0),n.animate({opacity:a},i)},e.prototype.removeAnimation=function(t,n,i){n.animate({opacity:0},i)},e.prototype.updateAnimation=function(t,n,i,a){n.animate(i,a)},e.prototype.updateElements=function(t,n){var i=this,a=this.get("animate"),o=this.get("animateOption"),s=t.getChildren().slice(0),l;(0,so.each)(s,function(u){var f=u.get("id"),c=i.getElementById(f),h=u.get("name");if(c)if(u.get("isComponent")){var d=u.get("component"),p=c.get("component"),v=(0,so.pick)(d.cfg,(0,so.difference)((0,so.keys)(d.cfg),kjt));p.update(v),c.set(t0,"update")}else{var m=i.getReplaceAttrs(c,u);a&&o.update?i.updateAnimation(h,c,m,o.update):c.attr(m),u.isGroup()&&i.updateElements(u,c),(0,so.each)(Pjt,function(S){c.set(S,u.get(S))}),get(c,u),l=c,c.set(t0,"update")}else{n.add(u);var g=n.getChildren();if(g.splice(g.length-1,1),l){var x=g.indexOf(l);g.splice(x+1,0,u)}else g.unshift(u);if(i.registerElement(u),u.set(t0,"add"),u.get("isComponent")){var d=u.get("component");d.set("container",n)}else u.isGroup()&&i.registerNewGroup(u);if(l=u,a){var b=i.get("isInit")?o.appear:o.enter;b&&i.addAnimation(h,u,b)}}})},e.prototype.clearUpdateStatus=function(t){var n=t.getChildren();(0,so.each)(n,function(i){i.set(t0,null)})},e.prototype.clearOffScreenCache=function(){var t=this.get("offScreenGroup");t&&t.destroy(),this.set("offScreenGroup",null),this.set("offScreenBBox",null)},e.prototype.getDelegateObject=function(){var t,n=this.get("name"),i=(t={},t[n]=this,t.component=this,t);return i},e.prototype.appendDelegateObject=function(t,n){var i=t.get("delegateObject");n.delegateObject||(n.delegateObject={}),(0,so.mix)(n.delegateObject,i)},e.prototype.getReplaceAttrs=function(t,n){var i=t.attr(),a=n.attr();return(0,so.each)(i,function(o,s){a[s]===void 0&&(a[s]=void 0)}),a},e.prototype.registerNewGroup=function(t){var n=this,i=t.getChildren();(0,so.each)(i,function(a){n.registerElement(a),a.set(t0,"add"),a.isGroup()&&n.registerNewGroup(a)})},e.prototype.deleteElements=function(){var t=this,n=this.get("shapesMap"),i=[];(0,so.each)(n,function(s,l){!s.get(t0)||s.destroyed?i.push([l,s]):s.set(t0,null)});var a=this.get("animate"),o=this.get("animateOption");(0,so.each)(i,function(s){var l=s[0],u=s[1];if(!u.destroyed){var f=u.get("name");if(a&&o.leave){var c=(0,so.mix)({callback:function(){t.removeElement(u)}},o.leave);t.removeAnimation(f,u,c)}else t.removeElement(u)}delete n[l]})},e.prototype.removeElement=function(t){if(t.get("isGroup")){var n=t.get("component");n&&n.destroy()}t.remove()},e}(jb),Yn=Rjt;var Qz=z(q());var pm=z(q());var $z="\u2026";function yet(r){for(var e=0,t=0;t0&&r.charCodeAt(e)<128?1:2}function xet(r,e,t){t===void 0&&(t="tail");var n=r.length,i="";if(t==="tail"){for(var a=0,o=0;a=19968&&s<=40869?a+=2:a+=1}a>t&&(t=a,n=i)}return r[n].getBBox().width}function eE(r){if(r.length>Bjt)return Gjt(r);var e=0;return(0,pm.each)(r,function(t){var n=t.getBBox(),i=n.width;e=0?h=xet(a,c,n):h=Njt,h&&(e.attr("text",h),f=!0)}return f?e.set("tip",a):e.set("tip",null),f}function mm(r,e){var t=e.x,n=e.y,i=e.content,a=e.style,o=e.id,s=e.name,l=e.rotate,u=e.maxLength,f=e.autoEllipsis,c=e.isVertical,h=e.ellipsisPosition,d=e.background,p=r.addGroup({id:o+"-group",name:s+"-group",attrs:{x:t,y:n}}),v=p.addShape({type:"text",id:o,name:s,attrs:E({x:0,y:0,text:i},a)}),m=Jy((0,Qz.get)(d,"padding",0));if(u&&f){var g=u-(m[1]+m[3]);vm(!c,v,g,h)}if(d){var x=(0,Qz.get)(d,"style",{}),b=v.getCanvasBBox(),S=b.minX,C=b.minY,w=b.width,A=b.height,L=p.addShape("rect",{id:o+"-bg",name:o+"-bg",attrs:E({x:S-m[3],y:C-m[0],width:w+m[1]+m[3],height:A+m[0]+m[2]},x)});L.toBack()}hm(p,t,n),pL(p,l,t,n)}var Gr={fontFamily:` BlinkMacSystemFont, "Segoe UI", Roboto,"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", - SimSun, "sans-serif"`,textColor:"#2C3542",activeTextColor:"#333333",uncheckedColor:"#D8D8D8",lineColor:"#416180",regionColor:"#CCD7EB",verticalAxisRotate:-Math.PI/4,horizontalAxisRotate:Math.PI/4};var bjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"line",locationType:"region",start:null,end:null,style:{},text:null,defaultCfg:{style:{fill:Gr.textColor,fontSize:12,textAlign:"center",textBaseline:"bottom",fontFamily:Gr.fontFamily},text:{position:"center",autoRotate:!0,content:null,offsetX:0,offsetY:0,style:{stroke:Gr.lineColor,lineWidth:1}}}})},e.prototype.renderInner=function(t){this.renderLine(t),this.get("text")&&this.renderLabel(t)},e.prototype.renderLine=function(t){var n=this.get("start"),i=this.get("end"),a=this.get("style");this.addShape(t,{type:"line",id:this.getElementId("line"),name:"annotation-line",attrs:E({x1:n.x,y1:n.y,x2:i.x,y2:i.y},a)})},e.prototype.getLabelPoint=function(t,n,i){var a;return i==="start"?a=0:i==="center"?a=.5:(0,hL.isString)(i)&&i.indexOf("%")!==-1?a=parseInt(i,10)/100:(0,hL.isNumber)(i)?a=i:a=1,(a>1||a<0)&&(a=1),{x:sp(t.x,n.x,a),y:sp(t.y,n.y,a)}},e.prototype.renderLabel=function(t){var n=this.get("text"),i=this.get("start"),a=this.get("end"),o=n.position,s=n.content,l=n.style,u=n.offsetX,f=n.offsetY,c=n.autoRotate,h=n.maxLength,d=n.autoEllipsis,p=n.ellipsisPosition,v=n.background,m=n.isVertical,g=m===void 0?!1:m,x=this.getLabelPoint(i,a,o),b=x.x+u,S=x.y+f,C={id:this.getElementId("line-text"),name:"annotation-line-text",x:b,y:S,content:s,style:l,maxLength:h,autoEllipsis:d,ellipsisPosition:p,background:v,isVertical:g};if(c){var w=[a.x-i.x,a.y-i.y];C.rotate=Math.atan2(w[1],w[0])}pm(t,C)},e}(Yn),set=bjt;var _jt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"text",locationType:"point",x:0,y:0,content:"",rotate:null,style:{},background:null,maxLength:null,autoEllipsis:!0,isVertical:!1,ellipsisPosition:"tail",defaultCfg:{style:{fill:Gr.textColor,fontSize:12,textAlign:"center",textBaseline:"middle",fontFamily:Gr.fontFamily}}})},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.renderInner=function(t){var n=this.getLocation(),i=n.x,a=n.y,o=this.get("content"),s=this.get("style"),l=this.getElementId("text"),u=this.get("name")+"-text",f=this.get("maxLength"),c=this.get("autoEllipsis"),h=this.get("isVertical"),d=this.get("ellipsisPosition"),p=this.get("background"),v=this.get("rotate"),m={id:l,name:u,x:i,y:a,content:o,style:s,maxLength:f,autoEllipsis:c,isVertical:h,ellipsisPosition:d,background:p,rotate:v};pm(t,m)},e.prototype.resetLocation=function(){var t=this.getElementByLocalId("text-group");if(t){var n=this.getLocation(),i=n.x,a=n.y,o=this.get("rotate");fm(t,i,a),fL(t,o,i,a)}},e}(Yn),uet=_jt;var Sjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"arc",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:Math.PI*3/2,style:{stroke:"#999",lineWidth:1}})},e.prototype.renderInner=function(t){this.renderArc(t)},e.prototype.getArcPath=function(){var t=this.getLocation(),n=t.center,i=t.radius,a=t.startAngle,o=t.endAngle,s=cm(n,i,a),l=cm(n,i,o),u=o-a>Math.PI?1:0,f=[["M",s.x,s.y]];if(o-a==Math.PI*2){var c=cm(n,i,a+Math.PI);f.push(["A",i,i,0,u,1,c.x,c.y]),f.push(["A",i,i,0,u,1,l.x,l.y])}else f.push(["A",i,i,0,u,1,l.x,l.y]);return f},e.prototype.renderArc=function(t){var n=this.getArcPath(),i=this.get("style");this.addShape(t,{type:"path",id:this.getElementId("arc"),name:"annotation-arc",attrs:E({path:n},i)})},e}(Yn),fet=Sjt;var Cjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"region",locationType:"region",start:null,end:null,style:{},defaultCfg:{style:{lineWidth:0,fill:Gr.regionColor,opacity:.4}}})},e.prototype.renderInner=function(t){this.renderRegion(t)},e.prototype.renderRegion=function(t){var n=this.get("start"),i=this.get("end"),a=this.get("style"),o=op({start:n,end:i});this.addShape(t,{type:"rect",id:this.getElementId("region"),name:"annotation-region",attrs:E({x:o.x,y:o.y,width:o.width,height:o.height},a)})},e}(Yn),cet=Cjt;var wjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"image",locationType:"region",start:null,end:null,src:null,style:{}})},e.prototype.renderInner=function(t){this.renderImage(t)},e.prototype.getImageAttrs=function(){var t=this.get("start"),n=this.get("end"),i=this.get("style"),a=op({start:t,end:n}),o=this.get("src");return E({x:a.x,y:a.y,img:o,width:a.width,height:a.height},i)},e.prototype.renderImage=function(t){this.addShape(t,{type:"image",id:this.getElementId("image"),name:"annotation-image",attrs:this.getImageAttrs()})},e}(Yn),het=wjt;var tc=U(q());var Ejt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"dataMarker",locationType:"point",x:0,y:0,point:{},line:{},text:{},direction:"upward",autoAdjust:!0,coordinateBBox:null,defaultCfg:{point:{display:!0,style:{r:3,fill:"#FFFFFF",stroke:"#1890FF",lineWidth:2}},line:{display:!0,length:20,style:{stroke:Gr.lineColor,lineWidth:1}},text:{content:"",display:!0,style:{fill:Gr.textColor,opacity:.65,fontSize:12,textAlign:"start",fontFamily:Gr.fontFamily}}}})},e.prototype.renderInner=function(t){(0,tc.get)(this.get("line"),"display")&&this.renderLine(t),(0,tc.get)(this.get("text"),"display")&&this.renderText(t),(0,tc.get)(this.get("point"),"display")&&this.renderPoint(t),this.get("autoAdjust")&&this.autoAdjust(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x")+this.get("offsetX"),y:this.get("y")+this.get("offsetY")})},e.prototype.renderPoint=function(t){var n=this.getShapeAttrs().point;this.addShape(t,{type:"circle",id:this.getElementId("point"),name:"annotation-point",attrs:n})},e.prototype.renderLine=function(t){var n=this.getShapeAttrs().line;this.addShape(t,{type:"path",id:this.getElementId("line"),name:"annotation-line",attrs:n})},e.prototype.renderText=function(t){var n=this.getShapeAttrs().text,i=n.x,a=n.y,o=n.text,s=rr(n,["x","y","text"]),l=this.get("text"),u=l.background,f=l.maxLength,c=l.autoEllipsis,h=l.isVertival,d=l.ellipsisPosition,p={x:i,y:a,id:this.getElementId("text"),name:"annotation-text",content:o,style:s,background:u,maxLength:f,autoEllipsis:c,isVertival:h,ellipsisPosition:d};pm(t,p)},e.prototype.autoAdjust=function(t){var n=this.get("direction"),i=this.get("x"),a=this.get("y"),o=(0,tc.get)(this.get("line"),"length",0),s=this.get("coordinateBBox"),l=t.getBBox(),u=l.minX,f=l.maxX,c=l.minY,h=l.maxY,d=t.findById(this.getElementId("text-group")),p=t.findById(this.getElementId("text")),v=t.findById(this.getElementId("line"));if(!!s){if(d){if(i+u<=s.minX){var m=s.minX-(i+u);fm(d,d.attr("x")+m,d.attr("y"))}if(i+f>=s.maxX){var m=i+f-s.maxX;fm(d,d.attr("x")-m,d.attr("y"))}}if(n==="upward"&&a+c<=s.minY||n!=="upward"&&a+h>=s.maxY){var g=void 0,x=void 0;n==="upward"&&a+c<=s.minY?(g="top",x=1):(g="bottom",x=-1),p.attr("textBaseline",g),v&&v.attr("path",[["M",0,0],["L",0,o*x]]),fm(d,d.attr("x"),(o+2)*x)}}},e.prototype.getShapeAttrs=function(){var t=(0,tc.get)(this.get("line"),"display"),n=(0,tc.get)(this.get("point"),"style",{}),i=(0,tc.get)(this.get("line"),"style",{}),a=(0,tc.get)(this.get("text"),"style",{}),o=this.get("direction"),s=t?(0,tc.get)(this.get("line"),"length",0):0,l=o==="upward"?-1:1;return{point:E({x:0,y:0},n),line:E({path:[["M",0,0],["L",0,s*l]]},i),text:E({x:0,y:(s+2)*l,text:(0,tc.get)(this.get("text"),"content",""),textBaseline:o==="upward"?"bottom":"top"},a)}},e}(Yn),det=Ejt;var Xz=U(q());var Ajt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"dataRegion",locationType:"points",points:[],lineLength:0,region:{},text:{},defaultCfg:{region:{style:{lineWidth:0,fill:Gr.regionColor,opacity:.4}},text:{content:"",style:{textAlign:"center",textBaseline:"bottom",fontSize:12,fill:Gr.textColor,fontFamily:Gr.fontFamily}}}})},e.prototype.renderInner=function(t){var n=(0,Xz.get)(this.get("region"),"style",{}),i=(0,Xz.get)(this.get("text"),"style",{}),a=this.get("lineLength")||0,o=this.get("points");if(!!o.length){var s=net(o),l=[];l.push(["M",o[0].x,s.minY-a]),o.forEach(function(f){l.push(["L",f.x,f.y])}),l.push(["L",o[o.length-1].x,o[o.length-1].y-a]),this.addShape(t,{type:"path",id:this.getElementId("region"),name:"annotation-region",attrs:E({path:l},n)});var u=E({id:this.getElementId("text"),name:"annotation-text",x:(s.minX+s.maxX)/2,y:s.minY-a},this.get("text"));pm(t,u)}},e}(Yn),pet=Ajt;var dL=U(q());var Mjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"regionFilter",locationType:"region",start:null,end:null,color:null,shape:[]})},e.prototype.renderInner=function(t){var n=this,i=this.get("start"),a=this.get("end"),o=this.addGroup(t,{id:this.getElementId("region-filter"),capture:!1});(0,dL.each)(this.get("shapes"),function(l,u){var f=l.get("type"),c=(0,dL.clone)(l.attr());n.adjustShapeAttrs(c),n.addShape(o,{id:n.getElementId("shape-"+f+"-"+u),capture:!1,type:f,attrs:c})});var s=op({start:i,end:a});o.setClip({type:"rect",attrs:{x:s.minX,y:s.minY,width:s.width,height:s.height}})},e.prototype.adjustShapeAttrs=function(t){var n=this.get("color");t.fill&&(t.fill=t.fillStyle=n),t.stroke=t.strokeStyle=n},e}(Yn),vet=Mjt;var pL=U(q());var Tjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"shape",draw:pL.noop})},e.prototype.renderInner=function(t){var n=this.get("render");(0,pL.isFunction)(n)&&n(t)},e}(Yn),met=Tjt;var zb=U(q());var $u=U(q());var Ijt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{container:null,containerTpl:"
",updateAutoRender:!0,containerClassName:"",parent:null})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.show=function(){var t=this.get("container");t.style.display="",this.set("visible",!0)},e.prototype.hide=function(){var t=this.get("container");t.style.display="none",this.set("visible",!1)},e.prototype.setCapture=function(t){var n=this.getContainer(),i=t?"auto":"none";n.style.pointerEvents=i,this.set("capture",t)},e.prototype.getBBox=function(){var t=this.getContainer(),n=parseFloat(t.style.left)||0,i=parseFloat(t.style.top)||0;return Bb(n,i,t.clientWidth,t.clientHeight)},e.prototype.clear=function(){var t=this.get("container");Fb(t)},e.prototype.destroy=function(){this.removeEvent(),this.removeDom(),r.prototype.destroy.call(this)},e.prototype.init=function(){r.prototype.init.call(this),this.initContainer(),this.initDom(),this.resetStyles(),this.applyStyles(),this.initEvent(),this.initCapture(),this.initVisible()},e.prototype.initCapture=function(){this.setCapture(this.get("capture"))},e.prototype.initVisible=function(){this.get("visible")?this.show():this.hide()},e.prototype.initDom=function(){},e.prototype.initContainer=function(){var t=this.get("container");if((0,$u.isNil)(t)){t=this.createDom();var n=this.get("parent");(0,$u.isString)(n)&&(n=document.getElementById(n),this.set("parent",n)),n.appendChild(t),this.get("containerId")&&t.setAttribute("id",this.get("containerId")),this.set("container",t)}else(0,$u.isString)(t)&&(t=document.getElementById(t),this.set("container",t));this.get("parent")||this.set("parent",t.parentNode)},e.prototype.resetStyles=function(){var t=this.get("domStyles"),n=this.get("defaultStyles");t?t=(0,$u.deepMix)({},n,t):t=n,this.set("domStyles",t)},e.prototype.applyStyles=function(){var t=this.get("domStyles");if(!!t){var n=this.getContainer();this.applyChildrenStyles(n,t);var i=this.get("containerClassName");if(i&&ret(n,i)){var a=t[i];yr(n,a)}}},e.prototype.applyChildrenStyles=function(t,n){(0,$u.each)(n,function(i,a){var o=t.getElementsByClassName(a);(0,$u.each)(o,function(s){yr(s,i)})})},e.prototype.applyStyle=function(t,n){var i=this.get("domStyles");yr(n,i[t])},e.prototype.createDom=function(){var t=this.get("containerTpl");return en(t)},e.prototype.initEvent=function(){},e.prototype.removeDom=function(){var t=this.get("container");t&&t.parentNode&&t.parentNode.removeChild(t)},e.prototype.removeEvent=function(){},e.prototype.updateInner=function(t){(0,$u.hasKey)(t,"domStyles")&&(this.resetStyles(),this.applyStyles()),this.resetPosition()},e.prototype.resetPosition=function(){},e}(Gb),vm=Ijt;var Ljt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"html",locationType:"point",x:0,y:0,containerTpl:'
',alignX:"left",alignY:"top",html:"",zIndex:7})},e.prototype.render=function(){var t=this.getContainer(),n=this.get("html");Fb(t);var i=(0,zb.isFunction)(n)?n(t):n;(0,zb.isElement)(i)?t.appendChild(i):(0,zb.isString)(i)&&t.appendChild(en(i)),this.resetPosition()},e.prototype.resetPosition=function(){var t=this.getContainer(),n=this.getLocation(),i=n.x,a=n.y,o=this.get("alignX"),s=this.get("alignY"),l=this.get("offsetX"),u=this.get("offsetY"),f=u2(t),c=s2(t),h={x:i,y:a};o==="middle"?h.x-=Math.round(f/2):o==="right"&&(h.x-=Math.round(f)),s==="middle"?h.y-=Math.round(c/2):s==="bottom"&&(h.y-=Math.round(c)),l&&(h.x+=l),u&&(h.y+=u),yr(t,{position:"absolute",left:h.x+"px",top:h.y+"px",zIndex:this.get("zIndex")})},e}(vm),get=Ljt;var eE={};Dn(eE,{Base:()=>Ub,Circle:()=>Met,Line:()=>Aet});var kl=U(q());var Xn=U(q());var vL=U(q());function Qy(r,e,t){var n=e+"Style",i=null;return(0,vL.each)(t,function(a,o){r[o]&&a[n]&&(i||(i={}),(0,vL.mix)(i,a[n]))}),i}var Ojt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"axis",ticks:[],line:{},tickLine:{},subTickLine:null,title:null,label:{},verticalFactor:1,verticalLimitLength:null,overlapOrder:["autoRotate","autoEllipsis","autoHide"],tickStates:{},optimize:{},defaultCfg:{line:{style:{lineWidth:1,stroke:Gr.lineColor}},tickLine:{style:{lineWidth:1,stroke:Gr.lineColor},alignTick:!0,length:5,displayWithLabel:!0},subTickLine:{style:{lineWidth:1,stroke:Gr.lineColor},count:4,length:2},label:{autoRotate:!0,autoHide:!1,autoEllipsis:!1,style:{fontSize:12,fill:Gr.textColor,fontFamily:Gr.fontFamily,fontWeight:"normal"},offset:10,offsetX:0,offsetY:0},title:{autoRotate:!0,spacing:5,position:"center",style:{fontSize:12,fill:Gr.textColor,textBaseline:"middle",fontFamily:Gr.fontFamily,textAlign:"center"}},tickStates:{active:{labelStyle:{fontWeight:500},tickLineStyle:{lineWidth:2}},inactive:{labelStyle:{fill:Gr.uncheckedColor}}},optimize:{enable:!0,threshold:400}},theme:{}})},e.prototype.renderInner=function(t){this.get("line")&&this.drawLine(t),this.drawTicks(t),this.get("title")&&this.drawTitle(t)},e.prototype.isList=function(){return!0},e.prototype.getItems=function(){return this.get("ticks")},e.prototype.setItems=function(t){this.update({ticks:t})},e.prototype.updateItem=function(t,n){(0,Xn.mix)(t,n),this.clear(),this.render()},e.prototype.clearItems=function(){var t=this.getElementByLocalId("label-group");t&&t.clear()},e.prototype.setItemState=function(t,n,i){t[n]=i,this.updateTickStates(t)},e.prototype.hasState=function(t,n){return!!t[n]},e.prototype.getItemStates=function(t){var n=this.get("tickStates"),i=[];return(0,Xn.each)(n,function(a,o){t[o]&&i.push(o)}),i},e.prototype.clearItemsState=function(t){var n=this,i=this.getItemsByState(t);(0,Xn.each)(i,function(a){n.setItemState(a,t,!1)})},e.prototype.getItemsByState=function(t){var n=this,i=this.getItems();return(0,Xn.filter)(i,function(a){return n.hasState(a,t)})},e.prototype.getSidePoint=function(t,n){var i=this,a=i.getSideVector(n,t);return{x:t.x+a[0],y:t.y+a[1]}},e.prototype.getTextAnchor=function(t){var n;return(0,Xn.isNumberEqual)(t[0],0)?n="center":t[0]>0?n="start":t[0]<0&&(n="end"),n},e.prototype.getTextBaseline=function(t){var n;return(0,Xn.isNumberEqual)(t[1],0)?n="middle":t[1]>0?n="top":t[1]<0&&(n="bottom"),n},e.prototype.processOverlap=function(t){},e.prototype.drawLine=function(t){var n=this.getLinePath(),i=this.get("line");this.addShape(t,{type:"path",id:this.getElementId("line"),name:"axis-line",attrs:(0,Xn.mix)({path:n},i.style)})},e.prototype.getTickLineItems=function(t){var n=this,i=[],a=this.get("tickLine"),o=a.alignTick,s=a.length,l=1,u=t.length;return u>=2&&(l=t[1].value-t[0].value),(0,Xn.each)(t,function(f){var c=f.point;o||(c=n.getTickPoint(f.value-l/2));var h=n.getSidePoint(c,s);i.push({startPoint:c,tickValue:f.value,endPoint:h,tickId:f.id,id:"tickline-"+f.id})}),i},e.prototype.getSubTickLineItems=function(t){var n=[],i=this.get("subTickLine"),a=i.count,o=t.length;if(o>=2)for(var s=0;s0){var i=(0,Xn.size)(n);if(i>t.threshold){var a=Math.ceil(i/t.threshold),o=n.filter(function(s,l){return l%a==0});this.set("ticks",o),this.set("originalTicks",n)}}},e.prototype.getLabelAttrs=function(t,n,i){var a=this.get("label"),o=a.offset,s=a.offsetX,l=a.offsetY,u=a.rotate,f=a.formatter,c=this.getSidePoint(t.point,o),h=this.getSideVector(o,c),d=f?f(t.name,t,n):t.name,p=a.style;p=(0,Xn.isFunction)(p)?(0,Xn.get)(this.get("theme"),["label","style"],{}):p;var v=(0,Xn.mix)({x:c.x+s,y:c.y+l,text:d,textAlign:this.getTextAnchor(h),textBaseline:this.getTextBaseline(h)},p);return u&&(v.matrix=Jf(c,u)),v},e.prototype.drawLabels=function(t){var n=this,i=this.get("ticks"),a=this.addGroup(t,{name:"axis-label-group",id:this.getElementId("label-group")});(0,Xn.each)(i,function(h,d){n.addShape(a,{type:"text",name:"axis-label",id:n.getElementId("label-"+h.id),attrs:n.getLabelAttrs(h,d,i),delegateObject:{tick:h,item:h,index:d}})}),this.processOverlap(a);var o=a.getChildren(),s=(0,Xn.get)(this.get("theme"),["label","style"],{}),l=this.get("label"),u=l.style,f=l.formatter;if((0,Xn.isFunction)(u)){var c=o.map(function(h){return(0,Xn.get)(h.get("delegateObject"),"tick")});(0,Xn.each)(o,function(h,d){var p=h.get("delegateObject").tick,v=f?f(p.name,p,d):p.name,m=(0,Xn.mix)({},s,u(v,d,c));h.attr(m)})}},e.prototype.getTitleAttrs=function(){var t=this.get("title"),n=t.style,i=t.position,a=t.offset,o=t.spacing,s=o===void 0?0:o,l=t.autoRotate,u=n.fontSize,f=.5;i==="start"?f=0:i==="end"&&(f=1);var c=this.getTickPoint(f),h=this.getSidePoint(c,a||s+u/2),d=(0,Xn.mix)({x:h.x,y:h.y,text:t.text},n),p=t.rotate,v=p;if((0,Xn.isNil)(p)&&l){var m=this.getAxisVector(c),g=[1,0];v=gr.angleTo(m,g,!0)}if(v){var x=Jf(h,v);d.matrix=x}return d},e.prototype.drawTitle=function(t){this.addShape(t,{type:"text",id:this.getElementId("title"),name:"axis-title",attrs:this.getTitleAttrs()})},e.prototype.applyTickStates=function(t,n){var i=this.getItemStates(t);if(i.length){var a=this.get("tickStates"),o=this.getElementId("label-"+t.id),s=n.findById(o);if(s){var l=Qy(t,"label",a);l&&s.attr(l)}var u=this.getElementId("tickline-"+t.id),f=n.findById(u);if(f){var c=Qy(t,"tickLine",a);c&&f.attr(c)}}},e.prototype.updateTickStates=function(t){var n=this.getItemStates(t),i=this.get("tickStates"),a=this.get("label"),o=this.getElementByLocalId("label-"+t.id),s=this.get("tickLine"),l=this.getElementByLocalId("tickline-"+t.id);if(n.length){if(o){var u=Qy(t,"label",i);u&&o.attr(u)}if(l){var f=Qy(t,"tickLine",i);f&&l.attr(f)}}else o&&o.attr(a.style),l&&l.attr(s.style)},e}(Yn),Ub=Ojt;var tE={};Dn(tE,{autoEllipsis:()=>Kz,autoHide:()=>$z,autoRotate:()=>Qz});var Kz={};Dn(Kz,{ellipsisHead:()=>Pjt,ellipsisMiddle:()=>kjt,ellipsisTail:()=>xet,getDefault:()=>Djt});var yet=U(q());function qz(r,e,t,n){var i=e.getChildren(),a=!1;return(0,yet.each)(i,function(o){var s=dm(r,o,t,n);a=a||s}),a}function Djt(){return xet}function Pjt(r,e,t){return qz(r,e,t,"head")}function xet(r,e,t){return qz(r,e,t,"tail")}function kjt(r,e,t){return qz(r,e,t,"middle")}var $z={};Dn($z,{equidistance:()=>Cet,equidistanceWithReverseBoth:()=>zjt,getDefault:()=>Njt,reserveBoth:()=>Gjt,reserveFirst:()=>Fjt,reserveLast:()=>Bjt});function Rjt(r){var e=r.attr("matrix");return e&&e[0]!==1}function bet(r){var e=Rjt(r)?tet(r.attr("matrix")):0;return e%360}function Zz(r,e,t,n){var i=!1,a=bet(e),o=Math.abs(r?t.attr("y")-e.attr("y"):t.attr("x")-e.attr("x")),s=(r?t.attr("y")>e.attr("y"):t.attr("x")>e.attr("x"))?e.getBBox():t.getBBox();if(r){var l=Math.abs(Math.cos(a));Zw(l,0,Math.PI/180)?i=s.width+n>o:i=s.height/l+n>o}else{var l=Math.abs(Math.sin(a));Zw(l,0,Math.PI/180)?i=s.width+n>o:i=s.height/l+n>o}return i}function Jw(r,e,t,n){var i=(n==null?void 0:n.minGap)||0,a=e.getChildren().slice().filter(function(p){return p.get("visible")});if(!a.length)return!1;var o=!1;t&&a.reverse();for(var s=a.length,l=a[0],u=l,f=1;f1){h=Math.ceil(h);for(var v=0;v2){var o=i[0],s=i[i.length-1];o.get("visible")||(o.show(),Jw(r,e,!1,n)&&(a=!0)),s.get("visible")||(s.show(),Jw(r,e,!0,n)&&(a=!0))}return a}var Qz={};Dn(Qz,{fixedAngle:()=>Eet,getDefault:()=>jjt,unfixedAngle:()=>Wjt});var mL=U(q());function Ujt(r,e){(0,mL.each)(r,function(t){var n=t.attr("x"),i=t.attr("y"),a=Jf({x:n,y:i},e);t.attr("matrix",a)})}function wet(r,e,t,n){var i=e.getChildren();if(!i.length||!r&&i.length<2)return!1;var a=$w(i),o=!1;if(r)o=!!t&&a>t;else{var s=Math.abs(i[1].attr("x")-i[0].attr("x"));o=a>s}if(o){var l=n(t,a);Ujt(i,l)}return o}function jjt(){return Eet}function Eet(r,e,t,n){return wet(r,e,t,function(){return(0,mL.isNumber)(n)?n:r?Gr.verticalAxisRotate:Gr.horizontalAxisRotate})}function Wjt(r,e,t){return wet(r,e,t,function(n,i){if(!n)return r?Gr.verticalAxisRotate:Gr.horizontalAxisRotate;if(r)return-Math.acos(n/i);var a=0;return n>i?a=Math.PI/4:(a=Math.asin(n/i),a>Math.PI/4&&(a=Math.PI/4)),a})}var Vjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getLinePath=function(){var t=this.get("start"),n=this.get("end"),i=[];return i.push(["M",t.x,t.y]),i.push(["L",n.x,n.y]),i},e.prototype.getInnerLayoutBBox=function(){var t=this.get("start"),n=this.get("end"),i=r.prototype.getInnerLayoutBBox.call(this),a=Math.min(t.x,n.x,i.x),o=Math.min(t.y,n.y,i.y),s=Math.max(t.x,n.x,i.maxX),l=Math.max(t.y,n.y,i.maxY);return{x:a,y:o,minX:a,minY:o,maxX:s,maxY:l,width:s-a,height:l-o}},e.prototype.isVertical=function(){var t=this.get("start"),n=this.get("end");return(0,kl.isNumberEqual)(t.x,n.x)},e.prototype.isHorizontal=function(){var t=this.get("start"),n=this.get("end");return(0,kl.isNumberEqual)(t.y,n.y)},e.prototype.getTickPoint=function(t){var n=this,i=n.get("start"),a=n.get("end"),o=a.x-i.x,s=a.y-i.y;return{x:i.x+o*t,y:i.y+s*t}},e.prototype.getSideVector=function(t){var n=this.getAxisVector(),i=oe.normalize([0,0],n),a=this.get("verticalFactor"),o=[i[1],i[0]*-1];return oe.scale([0,0],o,t*a)},e.prototype.getAxisVector=function(){var t=this.get("start"),n=this.get("end");return[n.x-t.x,n.y-t.y]},e.prototype.processOverlap=function(t){var n=this,i=this.isVertical(),a=this.isHorizontal();if(!(!i&&!a)){var o=this.get("label"),s=this.get("title"),l=this.get("verticalLimitLength"),u=o.offset,f=l,c=0,h=0;s&&(c=s.style.fontSize,h=s.spacing),f&&(f=f-u-h-c);var d=this.get("overlapOrder");if((0,kl.each)(d,function(m){o[m]&&n.canProcessOverlap(m)&&n.autoProcessOverlap(m,o[m],t,f)}),s&&(0,kl.isNil)(s.offset)){var p=t.getCanvasBBox(),v=i?p.width:p.height;s.offset=u+v+h+c/2}}},e.prototype.canProcessOverlap=function(t){var n=this.get("label");return t==="autoRotate"?(0,kl.isNil)(n.rotate):!0},e.prototype.autoProcessOverlap=function(t,n,i,a){var o=this,s=this.isVertical(),l=!1,u=tE[t];if(n===!0){var f=this.get("label");l=u.getDefault()(s,i,a)}else if((0,kl.isFunction)(n))l=n(s,i,a);else if((0,kl.isObject)(n)){var c=n;u[c.type]&&(l=u[c.type](s,i,a,c.cfg))}else u[n]&&(l=u[n](s,i,a));if(t==="autoRotate"){if(l){var h=i.getChildren(),d=this.get("verticalFactor");(0,kl.each)(h,function(v){var m=v.attr("textAlign");if(m==="center"){var g=d>0?"end":"start";v.attr("textAlign",g)}})}}else if(t==="autoHide"){var p=i.getChildren().slice(0);(0,kl.each)(p,function(v){v.get("visible")||(o.get("isRegister")&&o.unregisterElement(v),v.remove())})}},e}(Ub),Aet=Vjt;var ec=U(q());var Hjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",locationType:"circle",center:null,radius:null,startAngle:-Math.PI/2,endAngle:Math.PI*3/2})},e.prototype.getLinePath=function(){var t=this.get("center"),n=t.x,i=t.y,a=this.get("radius"),o=a,s=this.get("startAngle"),l=this.get("endAngle"),u=[];if(Math.abs(l-s)===Math.PI*2)u=[["M",n,i-o],["A",a,o,0,1,1,n,i+o],["A",a,o,0,1,1,n,i-o],["Z"]];else{var f=this.getCirclePoint(s),c=this.getCirclePoint(l),h=Math.abs(l-s)>Math.PI?1:0,d=s>l?0:1;u=[["M",n,i],["L",f.x,f.y],["A",a,o,0,h,d,c.x,c.y],["L",n,i]]}return u},e.prototype.getTickPoint=function(t){var n=this.get("startAngle"),i=this.get("endAngle"),a=n+(i-n)*t;return this.getCirclePoint(a)},e.prototype.getSideVector=function(t,n){var i=this.get("center"),a=[n.x-i.x,n.y-i.y],o=this.get("verticalFactor"),s=oe.length(a);return oe.scale(a,a,o*t/s),a},e.prototype.getAxisVector=function(t){var n=this.get("center"),i=[t.x-n.x,t.y-n.y];return[i[1],-1*i[0]]},e.prototype.getCirclePoint=function(t,n){var i=this.get("center");return n=n||this.get("radius"),{x:i.x+Math.cos(t)*n,y:i.y+Math.sin(t)*n}},e.prototype.canProcessOverlap=function(t){var n=this.get("label");return t==="autoRotate"?(0,ec.isNil)(n.rotate):!0},e.prototype.processOverlap=function(t){var n=this,i=this.get("label"),a=this.get("title"),o=this.get("verticalLimitLength"),s=i.offset,l=o,u=0,f=0;a&&(u=a.style.fontSize,f=a.spacing),l&&(l=l-s-f-u);var c=this.get("overlapOrder");if((0,ec.each)(c,function(d){i[d]&&n.canProcessOverlap(d)&&n.autoProcessOverlap(d,i[d],t,l)}),a&&(0,ec.isNil)(a.offset)){var h=t.getCanvasBBox().height;a.offset=s+h+f+u/2}},e.prototype.autoProcessOverlap=function(t,n,i,a){var o=this,s=!1,l=tE[t];if(a>0)if(n===!0)s=l.getDefault()(!1,i,a);else if((0,ec.isFunction)(n))s=n(!1,i,a);else if((0,ec.isObject)(n)){var u=n;l[u.type]&&(s=l[u.type](!1,i,a,u.cfg))}else l[n]&&(s=l[n](!1,i,a));if(t==="autoRotate"){if(s){var f=i.getChildren(),c=this.get("verticalFactor");(0,ec.each)(f,function(d){var p=d.attr("textAlign");if(p==="center"){var v=c>0?"end":"start";d.attr("textAlign",v)}})}}else if(t==="autoHide"){var h=i.getChildren().slice(0);(0,ec.each)(h,function(d){d.get("visible")||(o.get("isRegister")&&o.unregisterElement(d),d.remove())})}},e}(Ub),Met=Hjt;var t0={};Dn(t0,{Base:()=>jb,Circle:()=>Let,Html:()=>Det,Line:()=>Iet});var Tet=U(q());var Yjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"crosshair",type:"base",line:{},text:null,textBackground:{},capture:!1,defaultCfg:{line:{style:{lineWidth:1,stroke:Gr.lineColor}},text:{position:"start",offset:10,autoRotate:!1,content:null,style:{fill:Gr.textColor,textAlign:"center",textBaseline:"middle",fontFamily:Gr.fontFamily}},textBackground:{padding:5,style:{stroke:Gr.lineColor}}}})},e.prototype.renderInner=function(t){this.get("line")&&this.renderLine(t),this.get("text")&&(this.renderText(t),this.renderBackground(t))},e.prototype.renderText=function(t){var n=this.get("text"),i=n.style,a=n.autoRotate,o=n.content;if(!(0,Tet.isNil)(o)){var s=this.getTextPoint(),l=null;if(a){var u=this.getRotateAngle();l=Jf(s,u)}this.addShape(t,{type:"text",name:"crosshair-text",id:this.getElementId("text"),attrs:E(E(E({},s),{text:o,matrix:l}),i)})}},e.prototype.renderLine=function(t){var n=this.getLinePath(),i=this.get("line"),a=i.style;this.addShape(t,{type:"path",name:"crosshair-line",id:this.getElementId("line"),attrs:E({path:n},a)})},e.prototype.renderBackground=function(t){var n=this.getElementId("text"),i=t.findById(n),a=this.get("textBackground");if(a&&i){var o=i.getBBox(),s=Ky(a.padding),l=a.style,u=this.addShape(t,{type:"rect",name:"crosshair-text-background",id:this.getElementId("text-background"),attrs:E({x:o.x-s[3],y:o.y-s[0],width:o.width+s[1]+s[3],height:o.height+s[0]+s[2],matrix:i.attr("matrix")},l)});u.toBack()}},e}(Yn),jb=Yjt;var Xjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text").position,o=Math.atan2(i.y-n.y,i.x-n.x),s=a==="start"?o-Math.PI/2:o+Math.PI/2;return s},e.prototype.getTextPoint=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text"),o=a.position,s=a.offset;return cL(n,i,o,s)},e.prototype.getLinePath=function(){var t=this.getLocation(),n=t.start,i=t.end;return[["M",n.x,n.y],["L",i.x,i.y]]},e}(jb),Iet=Xjt;var qjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:Math.PI*3/2})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),n=t.startAngle,i=t.endAngle,a=this.get("text").position,o=a==="start"?n+Math.PI/2:i-Math.PI/2;return o},e.prototype.getTextPoint=function(){var t=this.get("text"),n=t.position,i=t.offset,a=this.getLocation(),o=a.center,s=a.radius,l=a.startAngle,u=a.endAngle,f=n==="start"?l:u,c=this.getRotateAngle()-Math.PI,h=cm(o,s,f),d=Math.cos(c)*i,p=Math.sin(c)*i;return{x:h.x+d,y:h.y+p}},e.prototype.getLinePath=function(){var t=this.getLocation(),n=t.center,i=t.radius,a=t.startAngle,o=t.endAngle,s=null;if(o-a==Math.PI*2){var l=n.x,u=n.y;s=[["M",l,u-i],["A",i,i,0,1,1,l,u+i],["A",i,i,0,1,1,l,u-i],["Z"]]}else{var f=cm(n,i,a),c=cm(n,i,o),h=Math.abs(o-a)>Math.PI?1:0,d=a>o?0:1;s=[["M",f.x,f.y],["A",i,i,0,h,d,c.x,c.y]]}return s},e}(jb),Let=qjt;var gL=U(q());var Jy="g2-crosshair",rE=Jy+"-line",nE=Jy+"-text";var iE,Oet=(iE={},iE[""+Jy]={position:"relative"},iE[""+rE]={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.25)"},iE[""+nE]={position:"absolute",color:Gr.textColor,fontFamily:Gr.fontFamily},iE);var Kjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"crosshair",type:"html",locationType:"region",start:{x:0,y:0},end:{x:0,y:0},capture:!1,text:null,containerTpl:'
',crosshairTpl:'
',textTpl:'{content}',domStyles:null,containerClassName:Jy,defaultStyles:Oet,defaultCfg:{text:{position:"start",content:null,align:"center",offset:10}}})},e.prototype.render=function(){this.resetText(),this.resetPosition()},e.prototype.initCrossHair=function(){var t=this.getContainer(),n=this.get("crosshairTpl"),i=en(n);t.appendChild(i),this.applyStyle(rE,i),this.set("crosshairEl",i)},e.prototype.getTextPoint=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text"),o=a.position,s=a.offset;return cL(n,i,o,s)},e.prototype.resetText=function(){var t=this.get("text"),n=this.get("textEl");if(t){var i=t.content;if(!n){var a=this.getContainer(),o=(0,gL.substitute)(this.get("textTpl"),t);n=en(o),a.appendChild(n),this.applyStyle(nE,n),this.set("textEl",n)}n.innerHTML=i}else n&&n.remove()},e.prototype.isVertical=function(t,n){return t.x===n.x},e.prototype.resetPosition=function(){var t=this.get("crosshairEl");t||(this.initCrossHair(),t=this.get("crosshairEl"));var n=this.get("start"),i=this.get("end"),a=Math.min(n.x,i.x),o=Math.min(n.y,i.y);this.isVertical(n,i)?yr(t,{width:"1px",height:ws(Math.abs(i.y-n.y))}):yr(t,{height:"1px",width:ws(Math.abs(i.x-n.x))}),yr(t,{top:ws(o),left:ws(a)}),this.alignText()},e.prototype.alignText=function(){var t=this.get("textEl");if(t){var n=this.get("text").align,i=t.clientWidth,a=this.getTextPoint();switch(n){case"center":a.x=a.x-i/2;break;case"right":a.x=a.x-i;case"left":break}yr(t,{top:ws(a.y),left:ws(a.x)})}},e.prototype.updateInner=function(t){(0,gL.hasKey)(t,"text")&&this.resetText(),r.prototype.updateInner.call(this,t)},e}(vm),Det=Kjt;var aE={};Dn(aE,{Base:()=>Wb,Circle:()=>Pet,Line:()=>Ret});var mm=U(q());var Zjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"grid",line:{},alternateColor:null,capture:!1,items:[],closed:!1,defaultCfg:{line:{type:"line",style:{lineWidth:1,stroke:Gr.lineColor}}}})},e.prototype.getLineType=function(){var t=this.get("line")||this.get("defaultCfg").line;return t.type},e.prototype.renderInner=function(t){this.drawGrid(t)},e.prototype.getAlternatePath=function(t,n){var i=this.getGridPath(t),a=n.slice(0).reverse(),o=this.getGridPath(a,!0),s=this.get("closed");return s?i=i.concat(o):(o[0][0]="L",i=i.concat(o),i.push(["Z"])),i},e.prototype.getPathStyle=function(){return this.get("line").style},e.prototype.drawGrid=function(t){var n=this,i=this.get("line"),a=this.get("items"),o=this.get("alternateColor"),s=null;(0,mm.each)(a,function(l,u){var f=l.id||u;if(i){var c=n.getPathStyle();c=(0,mm.isFunction)(c)?c(l,u,a):c;var h=n.getElementId("line-"+f),d=n.getGridPath(l.points);n.addShape(t,{type:"path",name:"grid-line",id:h,attrs:(0,mm.mix)({path:d},c)})}if(o&&u>0){var p=n.getElementId("region-"+f),v=u%2==0;if((0,mm.isString)(o))v&&n.drawAlternateRegion(p,t,s.points,l.points,o);else{var m=v?o[1]:o[0];n.drawAlternateRegion(p,t,s.points,l.points,m)}}s=l})},e.prototype.drawAlternateRegion=function(t,n,i,a,o){var s=this.getAlternatePath(i,a);this.addShape(n,{type:"path",id:t,name:"grid-region",attrs:{path:s,fill:o}})},e}(Yn),Wb=Zjt;var Jz=U(q());function $jt(r,e,t,n){var i=t-r,a=n-e;return Math.sqrt(i*i+a*a)}var Qjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",center:null,closed:!0})},e.prototype.getGridPath=function(t,n){var i=this.getLineType(),a=this.get("closed"),o=[];if(t.length)if(i==="circle"){var s=this.get("center"),l=t[0],u=$jt(s.x,s.y,l.x,l.y),f=n?0:1;a?(o.push(["M",s.x,s.y-u]),o.push(["A",u,u,0,0,f,s.x,s.y+u]),o.push(["A",u,u,0,0,f,s.x,s.y-u]),o.push(["Z"])):(0,Jz.each)(t,function(c,h){h===0?o.push(["M",c.x,c.y]):o.push(["A",u,u,0,0,f,c.x,c.y])})}else(0,Jz.each)(t,function(c,h){h===0?o.push(["M",c.x,c.y]):o.push(["L",c.x,c.y])}),a&&o.push(["Z"]);return o},e}(Wb),Pet=Qjt;var ket=U(q());var Jjt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line"})},e.prototype.getGridPath=function(t){var n=[];return(0,ket.each)(t,function(i,a){a===0?n.push(["M",i.x,i.y]):n.push(["L",i.x,i.y])}),n},e}(Wb),Ret=Jjt;var oE={};Dn(oE,{Base:()=>Vb,Category:()=>Fet,Continuous:()=>Get});var _i=U(q());var tWt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"legend",layout:"horizontal",locationType:"point",x:0,y:0,offsetX:0,offsetY:0,title:null,background:null})},e.prototype.getLayoutBBox=function(){var t=r.prototype.getLayoutBBox.call(this),n=this.get("maxWidth"),i=this.get("maxHeight"),a=t.width,o=t.height;return n&&(a=Math.min(a,n)),i&&(o=Math.min(o,i)),Bb(t.minX,t.minY,a,o)},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.resetLocation=function(){var t=this.get("x"),n=this.get("y"),i=this.get("offsetX"),a=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t+i,y:n+a})},e.prototype.applyOffset=function(){this.resetLocation()},e.prototype.getDrawPoint=function(){return this.get("currentPoint")},e.prototype.setDrawPoint=function(t){return this.set("currentPoint",t)},e.prototype.renderInner=function(t){this.resetDraw(),this.get("title")&&this.drawTitle(t),this.drawLegendContent(t),this.get("background")&&this.drawBackground(t)},e.prototype.drawBackground=function(t){var n=this.get("background"),i=t.getBBox(),a=Ky(n.padding),o=E({x:0,y:0,width:i.width+a[1]+a[3],height:i.height+a[0]+a[2]},n.style),s=this.addShape(t,{type:"rect",id:this.getElementId("background"),name:"legend-background",attrs:o});s.toBack()},e.prototype.drawTitle=function(t){var n=this.get("currentPoint"),i=this.get("title"),a=i.spacing,o=i.style,s=i.text,l=this.addShape(t,{type:"text",id:this.getElementId("title"),name:"legend-title",attrs:E({text:s,x:n.x,y:n.y},o)}),u=l.getBBox();this.set("currentPoint",{x:n.x,y:u.maxY+a})},e.prototype.resetDraw=function(){var t=this.get("background"),n={x:0,y:0};if(t){var i=Ky(t.padding);n.x=i[3],n.y=i[0]}this.set("currentPoint",n)},e}(Yn),Vb=tWt;var tU={marker:{style:{inactiveFill:"#000",inactiveOpacity:.45,fill:"#000",opacity:1,size:12}},text:{style:{fill:"#ccc",fontSize:12}}},yL={fill:Gr.textColor,fontSize:12,textAlign:"start",textBaseline:"middle",fontFamily:Gr.fontFamily,fontWeight:"normal",lineHeight:12},eU="navigation-arrow-right",rU="navigation-arrow-left",Net={right:90*Math.PI/180,left:(360-90)*Math.PI/180,up:0,down:180*Math.PI/180},eWt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.currentPageIndex=1,t.totalPagesCnt=1,t.pageWidth=0,t.pageHeight=0,t.startX=0,t.startY=0,t.onNavigationBack=function(){var n=t.getElementByLocalId("item-group");if(t.currentPageIndex>1){t.currentPageIndex-=1,t.updateNavigation();var i=t.getCurrentNavigationMatrix();t.get("animate")?n.animate({matrix:i},100):n.attr({matrix:i})}},t.onNavigationAfter=function(){var n=t.getElementByLocalId("item-group");if(t.currentPageIndexm&&(m=A),d==="horizontal"?(g&&gS&&(S=M.width)}),C=S,S+=h,u&&(S=Math.min(u,S),C=Math.min(u,C)),this.pageWidth=S,this.pageHeight=f-Math.max(m.height,d+w);var P=Math.floor(this.pageHeight/(d+w));(0,_i.each)(l,function(L,M){M!==0&&M%P==0&&(x+=1,g.x+=S,g.y=o),i.moveElementTo(L,g),L.getParent().setClip({type:"rect",attrs:{x:g.x,y:g.y,width:S,height:d}}),g.y+=d+w}),this.totalPagesCnt=x,this.moveElementTo(v,{x:a+C/2-m.width/2-m.minX,y:f-m.height-m.minY})}this.pageHeight&&this.pageWidth&&n.getParent().setClip({type:"rect",attrs:{x:this.startX,y:this.startY,width:this.pageWidth,height:this.pageHeight}}),s==="horizontal"&&this.get("maxRow")?this.totalPagesCnt=Math.ceil(x/this.get("maxRow")):this.totalPagesCnt=x,this.currentPageIndex>this.totalPagesCnt&&(this.currentPageIndex=1),this.updateNavigation(v),n.attr("matrix",this.getCurrentNavigationMatrix())},e.prototype.drawNavigation=function(t,n,i,a){var o={x:0,y:0},s=this.addGroup(t,{id:this.getElementId("navigation-group"),name:"legend-navigation"}),l=(0,_i.get)(a.marker,"style",{}),u=l.size,f=u===void 0?12:u,c=rr(l,["size"]),h=this.drawArrow(s,o,rU,n==="horizontal"?"up":"left",f,c);h.on("click",this.onNavigationBack);var d=h.getBBox();o.x+=d.width+2;var p=this.addShape(s,{type:"text",id:this.getElementId("navigation-text"),name:"navigation-text",attrs:E({x:o.x,y:o.y+f/2,text:i,textBaseline:"middle"},(0,_i.get)(a.text,"style"))}),v=p.getBBox();o.x+=v.width+2;var m=this.drawArrow(s,o,eU,n==="horizontal"?"down":"right",f,c);return m.on("click",this.onNavigationAfter),s},e.prototype.updateNavigation=function(t){var n=(0,_i.deepMix)({},tU,this.get("pageNavigator")),i=n.marker.style,a=i.fill,o=i.opacity,s=i.inactiveFill,l=i.inactiveOpacity,u=this.currentPageIndex+"/"+this.totalPagesCnt,f=t?t.getChildren()[1]:this.getElementByLocalId("navigation-text"),c=t?t.findById(this.getElementId(rU)):this.getElementByLocalId(rU),h=t?t.findById(this.getElementId(eU)):this.getElementByLocalId(eU);f.attr("text",u),c.attr("opacity",this.currentPageIndex===1?l:o),c.attr("fill",this.currentPageIndex===1?s:a),c.attr("cursor",this.currentPageIndex===1?"not-allowed":"pointer"),h.attr("opacity",this.currentPageIndex===this.totalPagesCnt?l:o),h.attr("fill",this.currentPageIndex===this.totalPagesCnt?s:a),h.attr("cursor",this.currentPageIndex===this.totalPagesCnt?"not-allowed":"pointer");var d=c.getBBox().maxX+2;f.attr("x",d),d+=f.getBBox().width+2,this.updateArrowPath(h,{x:d,y:0})},e.prototype.drawArrow=function(t,n,i,a,o,s){var l=n.x,u=n.y,f=this.addShape(t,{type:"path",id:this.getElementId(i),name:i,attrs:E({size:o,direction:a,path:[["M",l+o/2,u],["L",l,u+o],["L",l+o,u+o],["Z"]],cursor:"pointer"},s)});return f.attr("matrix",Jf({x:l+o/2,y:u+o/2},Net[a])),f},e.prototype.updateArrowPath=function(t,n){var i=n.x,a=n.y,o=t.attr(),s=o.size,l=o.direction,u=Jf({x:i+s/2,y:a+s/2},Net[l]);t.attr("path",[["M",i+s/2,a],["L",i,a+s],["L",i+s,a+s],["Z"]]),t.attr("matrix",u)},e.prototype.getCurrentNavigationMatrix=function(){var t=this,n=t.currentPageIndex,i=t.pageWidth,a=t.pageHeight,o=this.get("layout"),s=o==="horizontal"?{x:0,y:a*(1-n)}:{x:i*(1-n),y:0};return Kw(s)},e.prototype.applyItemStates=function(t,n){var i=this.getItemStates(t),a=i.length>0;if(a){var o=n.getChildren(),s=this.get("itemStates");(0,_i.each)(o,function(l){var u=l.get("name"),f=u.split("-")[2],c=Qy(t,f,s);c&&(l.attr(c),f==="marker"&&!(l.get("isStroke")&&l.get("isFill"))&&(l.get("isStroke")&&l.attr("fill",null),l.get("isFill")&&l.attr("stroke",null)))})}},e.prototype.getLimitItemWidth=function(){var t=this.get("itemWidth"),n=this.get("maxItemWidth");return n?t&&(n=t<=n?t:n):t&&(n=t),n},e}(Vb),Fet=eWt;var gm=U(q());var rWt=1.4,Bet=.4,nWt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"continue",min:0,max:100,value:null,colors:[],track:{},rail:{},label:{},handler:{},slidable:!0,tip:null,step:null,maxWidth:null,maxHeight:null,defaultCfg:{label:{align:"rail",spacing:5,formatter:null,style:{fontSize:12,fill:Gr.textColor,textBaseline:"middle",fontFamily:Gr.fontFamily}},handler:{size:10,style:{fill:"#fff",stroke:"#333"}},track:{},rail:{type:"color",size:20,defaultLength:100,style:{fill:"#DCDEE2"}},title:{spacing:5,style:{fill:Gr.textColor,fontSize:12,textAlign:"start",textBaseline:"top"}}}})},e.prototype.isSlider=function(){return!0},e.prototype.getValue=function(){return this.getCurrentValue()},e.prototype.getRange=function(){return{min:this.get("min"),max:this.get("max")}},e.prototype.setRange=function(t,n){this.update({min:t,max:n})},e.prototype.setValue=function(t){var n=this.getValue();this.set("value",t);var i=this.get("group");this.resetTrackClip(),this.get("slidable")&&this.resetHandlers(i),this.delegateEmit("valuechanged",{originValue:n,value:t})},e.prototype.initEvent=function(){var t=this.get("group");this.bindSliderEvent(t),this.bindRailEvent(t),this.bindTrackEvent(t)},e.prototype.drawLegendContent=function(t){this.drawRail(t),this.drawLabels(t),this.fixedElements(t),this.resetTrack(t),this.resetTrackClip(t),this.get("slidable")&&this.resetHandlers(t)},e.prototype.bindSliderEvent=function(t){this.bindHandlersEvent(t)},e.prototype.bindHandlersEvent=function(t){var n=this;t.on("legend-handler-min:drag",function(i){var a=n.getValueByCanvasPoint(i.x,i.y),o=n.getCurrentValue(),s=o[1];sa&&(s=a),n.setValue([s,a])})},e.prototype.bindRailEvent=function(t){},e.prototype.bindTrackEvent=function(t){var n=this,i=null;t.on("legend-track:dragstart",function(a){i={x:a.x,y:a.y}}),t.on("legend-track:drag",function(a){if(!!i){var o=n.getValueByCanvasPoint(i.x,i.y),s=n.getValueByCanvasPoint(a.x,a.y),l=n.getCurrentValue(),u=l[1]-l[0],f=n.getRange(),c=s-o;c<0?l[0]+c>f.min?n.setValue([l[0]+c,l[1]+c]):n.setValue([f.min,f.min+u]):c>0&&(c>0&&l[1]+co&&(c=o),c0&&this.changeRailLength(a,s,i[s]-d)}},e.prototype.changeRailLength=function(t,n,i){var a=t.getBBox(),o;n==="height"?o=this.getRailPath(a.x,a.y,a.width,i):o=this.getRailPath(a.x,a.y,i,a.height),t.attr("path",o)},e.prototype.changeRailPosition=function(t,n,i){var a=t.getBBox(),o=this.getRailPath(n,i,a.width,a.height);t.attr("path",o)},e.prototype.fixedHorizontal=function(t,n,i,a){var o=this.get("label"),s=o.align,l=o.spacing,u=i.getBBox(),f=t.getBBox(),c=n.getBBox(),h=u.height;this.fitRailLength(f,c,u,i),u=i.getBBox(),s==="rail"?(t.attr({x:a.x,y:a.y+h/2}),this.changeRailPosition(i,a.x+f.width+l,a.y),n.attr({x:a.x+f.width+u.width+l*2,y:a.y+h/2})):s==="top"?(t.attr({x:a.x,y:a.y}),n.attr({x:a.x+u.width,y:a.y}),this.changeRailPosition(i,a.x,a.y+f.height+l)):(this.changeRailPosition(i,a.x,a.y),t.attr({x:a.x,y:a.y+u.height+l}),n.attr({x:a.x+u.width,y:a.y+u.height+l}))},e.prototype.fixedVertail=function(t,n,i,a){var o=this.get("label"),s=o.align,l=o.spacing,u=i.getBBox(),f=t.getBBox(),c=n.getBBox();if(this.fitRailLength(f,c,u,i),u=i.getBBox(),s==="rail")t.attr({x:a.x,y:a.y}),this.changeRailPosition(i,a.x,a.y+f.height+l),n.attr({x:a.x,y:a.y+f.height+u.height+l*2});else if(s==="right")t.attr({x:a.x+u.width+l,y:a.y}),this.changeRailPosition(i,a.x,a.y),n.attr({x:a.x+u.width+l,y:a.y+u.height});else{var h=Math.max(f.width,c.width);t.attr({x:a.x,y:a.y}),this.changeRailPosition(i,a.x+h+l,a.y),n.attr({x:a.x,y:a.y+u.height})}},e}(Vb),Get=nWt;var wL={};Dn(wL,{Html:()=>Wet});var vh=U(q());var rs={};Dn(rs,{CONTAINER_CLASS:()=>sE,CROSSHAIR_X:()=>SL,CROSSHAIR_Y:()=>CL,LIST_CLASS:()=>uE,LIST_ITEM_CLASS:()=>xL,MARKER_CLASS:()=>bL,NAME_CLASS:()=>zet,TITLE_CLASS:()=>lE,VALUE_CLASS:()=>_L});var sE="g2-tooltip",lE="g2-tooltip-title",uE="g2-tooltip-list",xL="g2-tooltip-list-item",bL="g2-tooltip-marker",_L="g2-tooltip-value",zet="g2-tooltip-name",SL="g2-tooltip-crosshair-x",CL="g2-tooltip-crosshair-y";var ph,Uet=(ph={},ph[""+sE]={position:"absolute",visibility:"visible",zIndex:8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)",backgroundColor:"rgba(255, 255, 255, 0.9)",boxShadow:"0px 0px 10px #aeaeae",borderRadius:"3px",color:"rgb(87, 87, 87)",fontSize:"12px",fontFamily:Gr.fontFamily,lineHeight:"20px",padding:"10px 10px 6px 10px"},ph[""+lE]={marginBottom:"4px"},ph[""+uE]={margin:"0px",listStyleType:"none",padding:"0px"},ph[""+xL]={listStyleType:"none",marginBottom:"4px"},ph[""+bL]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},ph[""+_L]={display:"inline-block",float:"right",marginLeft:"30px"},ph[""+SL]={position:"absolute",width:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},ph[""+CL]={position:"absolute",height:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},ph);function iWt(r,e,t,n,i){var a={left:ri.x+i.width,top:ei.y+i.height};return a}function aWt(r,e,t,n,i,a){var o=r,s=e;switch(a){case"left":o=r-n-t,s=e-i/2;break;case"right":o=r+t,s=e-i/2;break;case"top":o=r-n/2,s=e-i-t;break;case"bottom":o=r-n/2,s=e+t;break;default:o=r+t,s=e-i-t;break}return{x:o,y:s}}function jet(r,e,t,n,i,a,o){var s=aWt(r,e,t,n,i,a);if(o){var l=iWt(s.x,s.y,n,i,o);a==="auto"?(l.right&&(s.x=Math.max(0,r-n-t)),l.top&&(s.y=Math.max(0,e-i-t))):a==="top"||a==="bottom"?(l.left&&(s.x=o.x),l.right&&(s.x=o.x+o.width-n),a==="top"&&l.top&&(s.y=e+t),a==="bottom"&&l.bottom&&(s.y=e-i-t)):(l.top&&(s.y=o.y),l.bottom&&(s.y=o.y+o.height-i),a==="left"&&l.left&&(s.x=r+t),a==="right"&&l.right&&(s.x=r-n-t))}return s}function oWt(r,e){var t=!1;return(0,vh.each)(e,function(n){if((0,vh.hasKey)(r,n))return t=!0,!1}),t}var sWt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"tooltip",type:"html",x:0,y:0,items:[],customContent:null,containerTpl:'
    ',itemTpl:'
  • - - {name}: - {value} -
  • `,xCrosshairTpl:'
    ',yCrosshairTpl:'
    ',title:null,showTitle:!0,region:null,crosshairsRegion:null,containerClassName:sE,crosshairs:null,offset:10,position:"right",domStyles:null,defaultStyles:Uet})},e.prototype.render=function(){this.get("customContent")?this.renderCustomContent():(this.resetTitle(),this.renderItems()),this.resetPosition()},e.prototype.clear=function(){this.clearCrosshairs(),this.setTitle(""),this.clearItemDoms()},e.prototype.show=function(){var t=this.getContainer();!t||this.destroyed||(this.set("visible",!0),yr(t,{visibility:"visible"}),this.setCrossHairsVisible(!0))},e.prototype.hide=function(){var t=this.getContainer();!t||this.destroyed||(this.set("visible",!1),yr(t,{visibility:"hidden"}),this.setCrossHairsVisible(!1))},e.prototype.getLocation=function(){return{x:this.get("x"),y:this.get("y")}},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetPosition()},e.prototype.setCrossHairsVisible=function(t){var n=t?"":"none",i=this.get("xCrosshairDom"),a=this.get("yCrosshairDom");i&&yr(i,{display:n}),a&&yr(a,{display:n})},e.prototype.initContainer=function(){if(r.prototype.initContainer.call(this),this.get("customContent")){this.get("container")&&this.get("container").remove();var t=this.getHtmlContentNode();this.get("parent").appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()}},e.prototype.updateInner=function(t){this.get("customContent")?this.renderCustomContent():(oWt(t,["title","showTitle"])&&this.resetTitle(),(0,vh.hasKey)(t,"items")&&this.renderItems()),r.prototype.updateInner.call(this,t)},e.prototype.initDom=function(){this.cacheDoms()},e.prototype.removeDom=function(){r.prototype.removeDom.call(this),this.clearCrosshairs()},e.prototype.resetPosition=function(){var t=this.get("x"),n=this.get("y"),i=this.get("offset"),a=this.getOffset(),o=a.offsetX,s=a.offsetY,l=this.get("position"),u=this.get("region"),f=this.getContainer(),c=this.getBBox(),h=c.width,d=c.height,p;u&&(p=op(u));var v=jet(t,n,i,h,d,l,p);yr(f,{left:ws(v.x+o),top:ws(v.y+s)}),this.resetCrosshairs()},e.prototype.renderCustomContent=function(){var t=this.getHtmlContentNode(),n=this.get("parent"),i=this.get("container");i&&i.parentNode===n?n.replaceChild(t,i):n.appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()},e.prototype.getHtmlContentNode=function(){var t,n=this.get("customContent");if(n){var i=n(this.get("title"),this.get("items"));(0,vh.isElement)(i)?t=i:t=en(i)}return t},e.prototype.cacheDoms=function(){var t=this.getContainer(),n=t.getElementsByClassName(lE)[0],i=t.getElementsByClassName(uE)[0];this.set("titleDom",n),this.set("listDom",i)},e.prototype.resetTitle=function(){var t=this.get("title"),n=this.get("showTitle");n&&t?this.setTitle(t):this.setTitle("")},e.prototype.setTitle=function(t){var n=this.get("titleDom");n&&(n.innerText=t)},e.prototype.resetCrosshairs=function(){var t=this.get("crosshairsRegion"),n=this.get("crosshairs");if(!t||!n)this.clearCrosshairs();else{var i=op(t),a=this.get("xCrosshairDom"),o=this.get("yCrosshairDom");n==="x"?(this.resetCrosshair("x",i),o&&(o.remove(),this.set("yCrosshairDom",null))):n==="y"?(this.resetCrosshair("y",i),a&&(a.remove(),this.set("xCrosshairDom",null))):(this.resetCrosshair("x",i),this.resetCrosshair("y",i)),this.setCrossHairsVisible(this.get("visible"))}},e.prototype.resetCrosshair=function(t,n){var i=this.checkCrosshair(t),a=this.get(t);t==="x"?yr(i,{left:ws(a),top:ws(n.y),height:ws(n.height)}):yr(i,{top:ws(a),left:ws(n.x),width:ws(n.width)})},e.prototype.checkCrosshair=function(t){var n=t+"CrosshairDom",i=t+"CrosshairTpl",a="CROSSHAIR_"+t.toUpperCase(),o=rs[a],s=this.get(n),l=this.get("parent");return s||(s=en(this.get(i)),this.applyStyle(o,s),l.appendChild(s),this.set(n,s)),s},e.prototype.renderItems=function(){this.clearItemDoms();var t=this.get("items"),n=this.get("itemTpl"),i=this.get("listDom");i&&((0,vh.each)(t,function(a){var o=gu.toCSSGradient(a.color),s=E(E({},a),{color:o}),l=(0,vh.substitute)(n,s),u=en(l);i.appendChild(u)}),this.applyChildrenStyles(i,this.get("domStyles")))},e.prototype.clearItemDoms=function(){this.get("listDom")&&Fb(this.get("listDom"))},e.prototype.clearCrosshairs=function(){var t=this.get("xCrosshairDom"),n=this.get("yCrosshairDom");t&&t.remove(),n&&n.remove(),this.set("xCrosshairDom",null),this.set("yCrosshairDom",null)},e}(vm),Wet=sWt;var Si=U(q());var Vet={opacity:0},Het={stroke:"#C5C5C5",strokeOpacity:.85},Yet={fill:"#CACED4",opacity:.85};var mh=U(q());function lWt(r){return(0,mh.map)(r,function(e,t){var n=t===0?"M":"L",i=e[0],a=e[1];return[n,i,a]})}function Xet(r){return lWt(r)}function uWt(r){if(r.length<=2)return Xet(r);var e=[];(0,mh.each)(r,function(o){(0,mh.isEqual)(o,e.slice(e.length-2))||e.push(o[0],o[1])});var t=Uy(e,!1),n=(0,mh.head)(r),i=n[0],a=n[1];return t.unshift(["M",i,a]),t}function qet(r,e,t,n){n===void 0&&(n=!0);var i=new Qf({values:r}),a=new sh({values:(0,mh.map)(r,function(s,l){return l})}),o=(0,mh.map)(r,function(s,l){return[a.scale(l)*e,t-i.scale(s)*t]});return n?uWt(o):Xet(o)}function fWt(r,e){var t=new Qf({values:r}),n=Math.max(0,t.min);return e-t.scale(n)*e}function Ket(r,e,t,n){var i=dn(r),a=fWt(n,t);return i.push(["L",e,a]),i.push(["L",0,a]),i.push(["Z"]),i}var Zet=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"trend",x:0,y:0,width:200,height:16,smooth:!0,isArea:!1,data:[],backgroundStyle:Vet,lineStyle:Het,areaStyle:Yet})},e.prototype.renderInner=function(t){var n=this.cfg,i=n.width,a=n.height,o=n.data,s=n.smooth,l=n.isArea,u=n.backgroundStyle,f=n.lineStyle,c=n.areaStyle;this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:E({x:0,y:0,width:i,height:a},u)});var h=qet(o,i,a,s);if(this.addShape(t,{id:this.getElementId("line"),type:"path",attrs:E({path:h},f)}),l){var d=Ket(h,i,a,o);this.addShape(t,{id:this.getElementId("area"),type:"path",attrs:E({path:d},c)})}},e.prototype.applyOffset=function(){var t=this.cfg,n=t.x,i=t.y;this.moveElementTo(this.get("group"),{x:n,y:i})},e}(Yn);var nU={fill:"#F7F7F7",stroke:"#BFBFBF",radius:2,opacity:1,cursor:"ew-resize",highLightFill:"#FFF"},iU=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"handler",x:0,y:0,width:10,height:24,style:nU})},e.prototype.renderInner=function(t){var n=this.cfg,i=n.width,a=n.height,o=n.style,s=o.fill,l=o.stroke,u=o.radius,f=o.opacity,c=o.cursor;this.addShape(t,{type:"rect",id:this.getElementId("background"),attrs:{x:0,y:0,width:i,height:a,fill:s,stroke:l,radius:u,opacity:f,cursor:c}});var h=1/3*i,d=2/3*i,p=1/4*a,v=3/4*a;this.addShape(t,{id:this.getElementId("line-left"),type:"line",attrs:{x1:h,y1:p,x2:h,y2:v,stroke:l,cursor:c}}),this.addShape(t,{id:this.getElementId("line-right"),type:"line",attrs:{x1:d,y1:p,x2:d,y2:v,stroke:l,cursor:c}})},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.bindEvents=function(){var t=this;this.get("group").on("mouseenter",function(){var n=t.get("style").highLightFill;t.getElementByLocalId("background").attr("fill",n),t.draw()}),this.get("group").on("mouseleave",function(){var n=t.get("style").fill;t.getElementByLocalId("background").attr("fill",n),t.draw()})},e.prototype.draw=function(){var t=this.get("container").get("canvas");t&&t.draw()},e}(Yn);var $et={fill:"#416180",opacity:.05},Qet={fill:"#5B8FF9",opacity:.15,cursor:"move"},fE=10,Jet={width:fE,height:24},trt={textBaseline:"middle",fill:"#000",opacity:.45},ert="sliderchange";var cE=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.onMouseDown=function(n){return function(i){t.currentTarget=n;var a=i.originalEvent;a.stopPropagation(),a.preventDefault(),t.prevX=(0,Si.get)(a,"touches.0.pageX",a.pageX),t.prevY=(0,Si.get)(a,"touches.0.pageY",a.pageY);var o=t.getContainerDOM();o.addEventListener("mousemove",t.onMouseMove),o.addEventListener("mouseup",t.onMouseUp),o.addEventListener("mouseleave",t.onMouseUp),o.addEventListener("touchmove",t.onMouseMove),o.addEventListener("touchend",t.onMouseUp),o.addEventListener("touchcancel",t.onMouseUp)}},t.onMouseMove=function(n){var i=t.cfg.width,a=[t.get("start"),t.get("end")];n.stopPropagation(),n.preventDefault();var o=(0,Si.get)(n,"touches.0.pageX",n.pageX),s=(0,Si.get)(n,"touches.0.pageY",n.pageY),l=o-t.prevX,u=t.adjustOffsetRange(l/i);t.updateStartEnd(u),t.updateUI(t.getElementByLocalId("foreground"),t.getElementByLocalId("minText"),t.getElementByLocalId("maxText")),t.prevX=o,t.prevY=s,t.draw(),t.emit(ert,[t.get("start"),t.get("end")].sort()),t.delegateEmit("valuechanged",{originValue:a,value:[t.get("start"),t.get("end")]})},t.onMouseUp=function(){t.currentTarget&&(t.currentTarget=void 0);var n=t.getContainerDOM();n&&(n.removeEventListener("mousemove",t.onMouseMove),n.removeEventListener("mouseup",t.onMouseUp),n.removeEventListener("mouseleave",t.onMouseUp),n.removeEventListener("touchmove",t.onMouseMove),n.removeEventListener("touchend",t.onMouseUp),n.removeEventListener("touchcancel",t.onMouseUp))},t}return e.prototype.setRange=function(t,n){this.set("minLimit",t),this.set("maxLimit",n);var i=this.get("start"),a=this.get("end"),o=(0,Si.clamp)(i,t,n),s=(0,Si.clamp)(a,t,n);!this.get("isInit")&&(i!==o||a!==s)&&this.setValue([o,s])},e.prototype.getRange=function(){return{min:this.get("minLimit")||0,max:this.get("maxLimit")||1}},e.prototype.setValue=function(t){var n=this.getRange();if((0,Si.isArray)(t)&&t.length===2){var i=[this.get("start"),this.get("end")];this.update({start:(0,Si.clamp)(t[0],n.min,n.max),end:(0,Si.clamp)(t[1],n.min,n.max)}),this.get("updateAutoRender")||this.render(),this.delegateEmit("valuechanged",{originValue:i,value:t})}},e.prototype.getValue=function(){return[this.get("start"),this.get("end")]},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"slider",x:0,y:0,width:100,height:16,backgroundStyle:{},foregroundStyle:{},handlerStyle:{},textStyle:{},defaultCfg:{backgroundStyle:$et,foregroundStyle:Qet,handlerStyle:Jet,textStyle:trt}})},e.prototype.update=function(t){var n=t.start,i=t.end,a=E({},t);(0,Si.isNil)(n)||(a.start=(0,Si.clamp)(n,0,1)),(0,Si.isNil)(i)||(a.end=(0,Si.clamp)(i,0,1)),r.prototype.update.call(this,a),this.minHandler=this.getChildComponentById(this.getElementId("minHandler")),this.maxHandler=this.getChildComponentById(this.getElementId("maxHandler")),this.trend=this.getChildComponentById(this.getElementId("trend"))},e.prototype.init=function(){this.set("start",(0,Si.clamp)(this.get("start"),0,1)),this.set("end",(0,Si.clamp)(this.get("end"),0,1)),r.prototype.init.call(this)},e.prototype.render=function(){r.prototype.render.call(this),this.updateUI(this.getElementByLocalId("foreground"),this.getElementByLocalId("minText"),this.getElementByLocalId("maxText"))},e.prototype.renderInner=function(t){var n=this.cfg,i=n.start,a=n.end,o=n.width,s=n.height,l=n.trendCfg,u=l===void 0?{}:l,f=n.minText,c=n.maxText,h=n.backgroundStyle,d=h===void 0?{}:h,p=n.foregroundStyle,v=p===void 0?{}:p,m=n.textStyle,g=m===void 0?{}:m,x=(0,Si.deepMix)({},nU,this.cfg.handlerStyle),b=i*o,S=a*o;(0,Si.size)((0,Si.get)(u,"data"))&&(this.trend=this.addComponent(t,E({component:Zet,id:this.getElementId("trend"),x:0,y:0,width:o,height:s},u))),this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:E({x:0,y:0,width:o,height:s},d)});var C=this.addShape(t,{id:this.getElementId("minText"),type:"text",attrs:E({y:s/2,textAlign:"right",text:f,silent:!1},g)}),w=this.addShape(t,{id:this.getElementId("maxText"),type:"text",attrs:E({y:s/2,textAlign:"left",text:c,silent:!1},g)}),A=this.addShape(t,{id:this.getElementId("foreground"),name:"foreground",type:"rect",attrs:E({y:0,height:s},v)}),I=(0,Si.get)(x,"width",fE),P=(0,Si.get)(x,"height",24);this.minHandler=this.addComponent(t,{component:iU,id:this.getElementId("minHandler"),name:"handler-min",x:0,y:(s-P)/2,width:I,height:P,cursor:"ew-resize",style:x}),this.maxHandler=this.addComponent(t,{component:iU,id:this.getElementId("maxHandler"),name:"handler-max",x:0,y:(s-P)/2,width:I,height:P,cursor:"ew-resize",style:x})},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.updateUI=function(t,n,i){var a=this.cfg,o=a.start,s=a.end,l=a.width,u=a.minText,f=a.maxText,c=a.handlerStyle,h=a.height,d=o*l,p=s*l;this.trend&&(this.trend.update({width:l,height:h}),this.get("updateAutoRender")||this.trend.render()),t.attr("x",d),t.attr("width",p-d);var v=(0,Si.get)(c,"width",fE);n.attr("text",u),i.attr("text",f);var m=this._dodgeText([d,p],n,i),g=m[0],x=m[1];this.minHandler&&(this.minHandler.update({x:d-v/2}),this.get("updateAutoRender")||this.minHandler.render()),(0,Si.each)(g,function(b,S){return n.attr(S,b)}),this.maxHandler&&(this.maxHandler.update({x:p-v/2}),this.get("updateAutoRender")||this.maxHandler.render()),(0,Si.each)(x,function(b,S){return i.attr(S,b)})},e.prototype.bindEvents=function(){var t=this.get("group");t.on("handler-min:mousedown",this.onMouseDown("minHandler")),t.on("handler-min:touchstart",this.onMouseDown("minHandler")),t.on("handler-max:mousedown",this.onMouseDown("maxHandler")),t.on("handler-max:touchstart",this.onMouseDown("maxHandler"));var n=t.findById(this.getElementId("foreground"));n.on("mousedown",this.onMouseDown("foreground")),n.on("touchstart",this.onMouseDown("foreground"))},e.prototype.adjustOffsetRange=function(t){var n=this.cfg,i=n.start,a=n.end;switch(this.currentTarget){case"minHandler":{var o=0-i,s=1-i;return Math.min(s,Math.max(o,t))}case"maxHandler":{var o=0-a,s=1-a;return Math.min(s,Math.max(o,t))}case"foreground":{var o=0-i,s=1-a;return Math.min(s,Math.max(o,t))}}},e.prototype.updateStartEnd=function(t){var n=this.cfg,i=n.start,a=n.end;switch(this.currentTarget){case"minHandler":i+=t;break;case"maxHandler":a+=t;break;case"foreground":i+=t,a+=t;break}this.set("start",i),this.set("end",a)},e.prototype._dodgeText=function(t,n,i){var a,o,s=this.cfg,l=s.handlerStyle,u=s.width,f=2,c=(0,Si.get)(l,"width",fE),h=t[0],d=t[1],p=!1;h>d&&(a=[d,h],h=a[0],d=a[1],o=[i,n],n=o[0],i=o[1],p=!0);var v=n.getBBox(),m=i.getBBox(),g=v.width>h-f?{x:h+c/2+f,textAlign:"left"}:{x:h-c/2-f,textAlign:"right"},x=m.width>u-d-f?{x:d-c/2-f,textAlign:"right"}:{x:d+c/2+f,textAlign:"left"};return p?[x,g]:[g,x]},e.prototype.draw=function(){var t=this.get("container"),n=t&&t.get("canvas");n&&n.draw()},e.prototype.getContainerDOM=function(){var t=this.get("container"),n=t&&t.get("canvas");return n&&n.get("container")},e}(Yn);var ns=U(q());var cWt={trackColor:"rgba(0,0,0,0)",thumbColor:"rgba(0,0,0,0.15)",size:8,lineCap:"round"},aU={default:cWt,hover:{thumbColor:"rgba(0,0,0,0.2)"}},EL=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.clearEvents=ns.noop,t.onStartEvent=function(n){return function(i){t.isMobile=n,i.originalEvent.preventDefault();var a=n?(0,ns.get)(i.originalEvent,"touches.0.clientX"):i.clientX,o=n?(0,ns.get)(i.originalEvent,"touches.0.clientY"):i.clientY;t.startPos=t.cfg.isHorizontal?a:o,t.bindLaterEvent()}},t.bindLaterEvent=function(){var n=t.getContainerDOM(),i=[];t.isMobile?i=[Ws(n,"touchmove",t.onMouseMove),Ws(n,"touchend",t.onMouseUp),Ws(n,"touchcancel",t.onMouseUp)]:i=[Ws(n,"mousemove",t.onMouseMove),Ws(n,"mouseup",t.onMouseUp),Ws(n,"mouseleave",t.onMouseUp)],t.clearEvents=function(){i.forEach(function(a){a.remove()})}},t.onMouseMove=function(n){var i=t.cfg,a=i.isHorizontal,o=i.thumbOffset;n.preventDefault();var s=t.isMobile?(0,ns.get)(n,"touches.0.clientX"):n.clientX,l=t.isMobile?(0,ns.get)(n,"touches.0.clientY"):n.clientY,u=a?s:l,f=u-t.startPos;t.startPos=u,t.updateThumbOffset(o+f)},t.onMouseUp=function(n){n.preventDefault(),t.clearEvents()},t.onTrackClick=function(n){var i=t.cfg,a=i.isHorizontal,o=i.x,s=i.y,l=i.thumbLen,u=t.getContainerDOM(),f=u.getBoundingClientRect(),c=n.clientX,h=n.clientY,d=a?c-f.left-o-l/2:h-f.top-s-l/2,p=t.validateRange(d);t.updateThumbOffset(p)},t.onThumbMouseOver=function(){var n=t.cfg.theme.hover.thumbColor;t.getElementByLocalId("thumb").attr("stroke",n),t.draw()},t.onThumbMouseOut=function(){var n=t.cfg.theme.default.thumbColor;t.getElementByLocalId("thumb").attr("stroke",n),t.draw()},t}return e.prototype.setRange=function(t,n){this.set("minLimit",t),this.set("maxLimit",n);var i=this.getValue(),a=(0,ns.clamp)(i,t,n);i!==a&&!this.get("isInit")&&this.setValue(a)},e.prototype.getRange=function(){var t=this.get("minLimit")||0,n=this.get("maxLimit")||1;return{min:t,max:n}},e.prototype.setValue=function(t){var n=this.getRange(),i=this.getValue();this.update({thumbOffset:(this.get("trackLen")-this.get("thumbLen"))*(0,ns.clamp)(t,n.min,n.max)}),this.delegateEmit("valuechange",{originalValue:i,value:this.getValue()})},e.prototype.getValue=function(){return(0,ns.clamp)(this.get("thumbOffset")/(this.get("trackLen")-this.get("thumbLen")),0,1)},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"scrollbar",isHorizontal:!0,minThumbLen:20,thumbOffset:0,theme:aU})},e.prototype.renderInner=function(t){this.renderTrackShape(t),this.renderThumbShape(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.renderTrackShape=function(t){var n=this.cfg,i=n.trackLen,a=n.theme,o=a===void 0?{default:{}}:a,s=(0,ns.deepMix)({},aU,o).default,l=s.lineCap,u=s.trackColor,f=s.size,c=(0,ns.get)(this.cfg,"size",f),h=this.get("isHorizontal")?{x1:0+c/2,y1:c/2,x2:i-c/2,y2:c/2,lineWidth:c,stroke:u,lineCap:l}:{x1:c/2,y1:0+c/2,x2:c/2,y2:i-c/2,lineWidth:c,stroke:u,lineCap:l};return this.addShape(t,{id:this.getElementId("track"),name:"track",type:"line",attrs:h})},e.prototype.renderThumbShape=function(t){var n=this.cfg,i=n.thumbOffset,a=n.thumbLen,o=n.theme,s=(0,ns.deepMix)({},aU,o).default,l=s.size,u=s.lineCap,f=s.thumbColor,c=(0,ns.get)(this.cfg,"size",l),h=this.get("isHorizontal")?{x1:i+c/2,y1:c/2,x2:i+a-c/2,y2:c/2,lineWidth:c,stroke:f,lineCap:u,cursor:"default"}:{x1:c/2,y1:i+c/2,x2:c/2,y2:i+a-c/2,lineWidth:c,stroke:f,lineCap:u,cursor:"default"};return this.addShape(t,{id:this.getElementId("thumb"),name:"thumb",type:"line",attrs:h})},e.prototype.bindEvents=function(){var t=this.get("group");t.on("mousedown",this.onStartEvent(!1)),t.on("mouseup",this.onMouseUp),t.on("touchstart",this.onStartEvent(!0)),t.on("touchend",this.onMouseUp);var n=t.findById(this.getElementId("track"));n.on("click",this.onTrackClick);var i=t.findById(this.getElementId("thumb"));i.on("mouseover",this.onThumbMouseOver),i.on("mouseout",this.onThumbMouseOut)},e.prototype.getContainerDOM=function(){var t=this.get("container"),n=t&&t.get("canvas");return n&&n.get("container")},e.prototype.validateRange=function(t){var n=this.cfg,i=n.thumbLen,a=n.trackLen,o=t;return t+i>a?o=a-i:t+ia.x?a.x:e,t=ta.y?a.y:n,i=i=n&&r<=i}function frt(r,e,t){if((0,TL.isString)(r))return r.padEnd(e,t);if((0,TL.isArray)(r)){var n=r.length;if(n=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.add=function(){for(var e=[],t=0;te.minX&&this.minYe.minY},r.prototype.size=function(){return this.width*this.height},r.prototype.isPointIn=function(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY},r}();function crt(r){return[[r.minX,r.minY],[r.maxX,r.minY],[r.maxX,r.maxY],[r.minX,r.maxY]]}function yh(r){if(r.isPolar&&!r.isTransposed)return(r.endAngle-r.startAngle)*r.getRadius();var e=r.convert({x:0,y:0}),t=r.convert({x:1,y:0});return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function hrt(r){if(r.isPolar){var e=r.startAngle,t=r.endAngle;return t-e==Math.PI*2}return!1}function ym(r,e){var t=r.getCenter();return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function hE(r,e){var t=!1;if(r)if(r.type==="theta"){var n=r.start,i=r.end;t=up(e.x,n.x,i.x)&&up(e.y,n.y,i.y)}else{var a=r.invert(e);t=up(a.x,0,1)&&up(a.y,0,1)}return t}function xh(r,e){var t=r.getCenter();return Math.atan2(e.y-t.y,e.x-t.x)}function IL(r,e){e===void 0&&(e=0);var t=r.start,n=r.end,i=r.getWidth(),a=r.getHeight();if(r.isPolar){var o=r.startAngle,s=r.endAngle,l=r.getCenter(),u=r.getRadius();return{type:"path",startState:{path:xu(l.x,l.y,u+e,o,o)},endState:function(c){var h=(s-o)*c+o,d=xu(l.x,l.y,u+e,o,h);return{path:d}},attrs:{path:xu(l.x,l.y,u+e,o,s)}}}var f;return r.isTransposed?f={height:a+e*2}:f={width:i+e*2},{type:"rect",startState:{x:t.x-e,y:n.y-e,width:r.isTransposed?i+e*2:0,height:r.isTransposed?0:a+e*2},endState:f,attrs:{x:t.x-e,y:n.y-e,width:i+e*2,height:a+e*2}}}function drt(r,e){e===void 0&&(e=0);var t=r.start,n=r.end,i=r.getWidth(),a=r.getHeight(),o=Math.min(t.x,n.x),s=Math.min(t.y,n.y);return ba.fromRange(o-e,s-e,o+i+e,s+a+e)}var dWt=/^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;function pWt(r){var e="linear";return dWt.test(r)?e="timeCat":(0,is.isString)(r)&&(e="cat"),e}function prt(r,e,t){var n=e||[];if((0,is.isNumber)(r)||(0,is.isNil)((0,is.firstValue)(n,r))&&(0,is.isEmpty)(t)){var i=kb("identity");return new i({field:r.toString(),values:[r]})}var a=(0,is.valuesOfKey)(n,r),o=(0,is.get)(t,"type",pWt(a[0])),s=kb(o);return new s(E({field:r,values:a},t))}function vrt(r,e){if(r.type!=="identity"&&e.type!=="identity"){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);r.change(t)}}function xm(r){return r.alias||r.field}function LL(r,e,t){var n=r.values,i=n.length,a;if(i===1)a=[.5,1];else{var o=1,s=0;hrt(e)?e.isTransposed?(o=(0,is.get)(t,"widthRatio.multiplePie",1/1.3),s=1/i*o,a=[s/2,1-s/2]):a=[0,1-1/i]:(s=1/i/2,a=[s,1-s])}return a}function mrt(r){var e=r.values.filter(function(t){return!(0,is.isNil)(t)&&!isNaN(t)});return Math.max.apply(Math,mn(mn([],e,!1),[(0,is.isNil)(r.max)?-1/0:r.max],!1))}function vWt(r){var e,t;switch(r){case xe.TOP:e={x:0,y:1},t={x:1,y:1};break;case xe.RIGHT:e={x:1,y:0},t={x:1,y:1};break;case xe.BOTTOM:e={x:0,y:0},t={x:1,y:0};break;case xe.LEFT:e={x:0,y:0},t={x:0,y:1};break;default:e=t={x:0,y:0}}return{start:e,end:t}}function mWt(r){var e,t;return r.isTransposed?(e={x:0,y:0},t={x:1,y:0}):(e={x:0,y:0},t={x:0,y:1}),{start:e,end:t}}function dE(r,e){var t={start:{x:0,y:0},end:{x:0,y:0}};r.isRect?t=vWt(e):r.isPolar&&(t=mWt(r));var n=t.start,i=t.end;return{start:r.convert(n),end:r.convert(i)}}function lU(r){var e=r.start,t=r.end;return e.x===t.x}function uU(r,e){var t=r.start,n=r.end,i=lU(r);return i?(t.y-n.y)*(e.x-t.x)>0?1:-1:(n.x-t.x)*(t.y-e.y)>0?-1:1}function pE(r,e){var t=(0,as.get)(r,["components","axis"],{});return(0,as.deepMix)({},(0,as.get)(t,["common"],{}),(0,as.deepMix)({},(0,as.get)(t,[e],{})))}function fU(r,e,t){var n=(0,as.get)(r,["components","axis"],{});return(0,as.deepMix)({},(0,as.get)(n,["common","title"],{}),(0,as.deepMix)({},(0,as.get)(n,[e,"title"],{})),t)}function OL(r){var e=r.x,t=r.y,n=r.circleCenter,i=t.start>t.end,a=r.isTransposed?r.convert({x:i?0:1,y:0}):r.convert({x:0,y:i?0:1}),o=[a.x-n.x,a.y-n.y],s=[1,0],l=a.y>n.y?oe.angle(o,s):oe.angle(o,s)*-1,u=l+(e.end-e.start),f=Math.sqrt(Math.pow(a.x-n.x,2)+Math.pow(a.y-n.y,2));return{center:n,radius:f,startAngle:l,endAngle:u}}function Yb(r,e){return(0,as.isBoolean)(r)?r===!1?!1:{}:(0,as.get)(r,[e])}function cU(r,e){return(0,as.get)(r,"position",e)}function hU(r,e){return(0,as.get)(e,["title","text"],xm(r))}var Hs=function(){function r(e,t){this.destroyed=!1,this.facets=[],this.view=e,this.cfg=(0,Vs.deepMix)({},this.getDefaultCfg(),t)}return r.prototype.init=function(){this.container||(this.container=this.createContainer());var e=this.view.getData();this.facets=this.generateFacets(e)},r.prototype.render=function(){this.renderViews()},r.prototype.update=function(){},r.prototype.clear=function(){this.clearFacetViews()},r.prototype.destroy=function(){this.clear(),this.container&&(this.container.remove(!0),this.container=void 0),this.destroyed=!0,this.view=void 0,this.facets=[]},r.prototype.facetToView=function(e){var t=e.region,n=e.data,i=e.padding,a=i===void 0?this.cfg.padding:i,o=this.view.createView({region:t,padding:a});o.data(n||[]),e.view=o,this.beforeEachView(o,e);var s=this.cfg.eachView;return s&&s(o,e),this.afterEachView(o,e),o},r.prototype.createContainer=function(){var e=this.view.getLayer(di.FORE);return e.addGroup()},r.prototype.renderViews=function(){this.createFacetViews()},r.prototype.createFacetViews=function(){var e=this;return this.facets.map(function(t){return e.facetToView(t)})},r.prototype.clearFacetViews=function(){var e=this;(0,Vs.each)(this.facets,function(t){t.view&&(e.view.removeView(t.view),t.view=void 0)})},r.prototype.parseSpacing=function(){var e=this.view.viewBBox,t=e.width,n=e.height,i=this.cfg.spacing;return i.map(function(a,o){return(0,Vs.isNumber)(a)?a/(o===0?t:n):parseFloat(a)/100})},r.prototype.getFieldValues=function(e,t){var n=[],i={};return(0,Vs.each)(e,function(a){var o=a[t];!(0,Vs.isNil)(o)&&!i[o]&&(n.push(o),i[o]=!0)}),n},r.prototype.getRegion=function(e,t,n,i){var a=this.parseSpacing(),o=a[0],s=a[1],l=(1+o)/(t===0?1:t)-o,u=(1+s)/(e===0?1:e)-s,f={x:(l+o)*n,y:(u+s)*i},c={x:f.x+l,y:f.y+u};return{start:f,end:c}},r.prototype.getDefaultCfg=function(){return{eachView:void 0,showTitle:!0,spacing:[0,0],padding:10,fields:[]}},r.prototype.getDefaultTitleCfg=function(){var e=this.view.getTheme().fontFamily;return{style:{fontSize:14,fill:"#666",fontFamily:e}}},r.prototype.processAxis=function(e,t){var n=e.getOptions(),i=n.coordinate,a=e.geometries,o=(0,Vs.get)(i,"type","rect");if(o==="rect"&&a.length){(0,Vs.isNil)(n.axes)&&(n.axes={});var s=n.axes,l=a[0].getXYFields(),u=l[0],f=l[1],c=Yb(s,u),h=Yb(s,f);c!==!1&&(n.axes[u]=this.getXAxisOption(u,s,c,t)),h!==!1&&(n.axes[f]=this.getYAxisOption(f,s,h,t))}},r.prototype.getFacetDataFilter=function(e){return function(t){return(0,Vs.every)(e,function(n){var i=n.field,a=n.value;return!(0,Vs.isNil)(a)&&i?t[i]===a:!0})}},r}();var grt={},DL=function(r){return grt[(0,dU.lowerCase)(r)]},fp=function(r,e){grt[(0,dU.lowerCase)(r)]=e};var pp=U(q());var Xa=U(q());var yrt=U(q()),gWt=function(){function r(e,t){this.context=e,this.cfg=t,e.addAction(this)}return r.prototype.applyCfg=function(e){(0,yrt.assign)(this,e)},r.prototype.init=function(){this.applyCfg(this.cfg)},r.prototype.destroy=function(){this.context.removeAction(this),this.context=null},r}(),Tr=gWt;var yWt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.execute=function(){this.callback&&this.callback(this.context)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.callback=null},e}(Tr),xrt=yWt;var brt=U(q()),pU={};function vU(r,e){var t=pU[r],n=null;if(t){var i=t.ActionClass,a=t.cfg;n=new i(e,a),n.name=r,n.init()}return n}function rc(r){var e=pU[r];return(0,brt.get)(e,"ActionClass")}function nr(r,e,t){pU[r]={ActionClass:e,cfg:t}}function _rt(r,e){var t=new xrt(e);return t.callback=r,t.name="callback",t}var jL=U(q());var nc=U(q());var PL=U(q());function xWt(r,e){var t=[];if(r.length){t.push(["M",r[0].x,r[0].y]);for(var n=1,i=r.length;n=o[u]?1:0,h=f>Math.PI?1:0,d=t.convert(s),p=ym(t,d);if(p>=.5)if(f===Math.PI*2){var v={x:(s.x+o.x)/2,y:(s.y+o.y)/2},m=t.convert(v);l.push(["A",p,p,0,h,c,m.x,m.y]),l.push(["A",p,p,0,h,c,d.x,d.y])}else l.push(["A",p,p,0,h,c,d.x,d.y]);return l}function _Wt(r){(0,PL.each)(r,function(e,t){var n=e;if(n[0].toLowerCase()==="a"){var i=r[t-1],a=r[t+1];a&&a[0].toLowerCase()==="a"?i&&i[0].toLowerCase()==="l"&&(i[0]="M"):i&&i[0].toLowerCase()==="a"&&a&&a[0].toLowerCase()==="l"&&(a[0]="M")}})}var SWt=function(r,e,t,n){var i=[],a=!!n,o,s,l,u,f,c,h;if(a){l=n[0],u=n[1];for(var d=0,p=r.length;d=e||i.height>=e?i:null}function CWt(r,e){var t=r.event,n=t.target,i=n.getCanvasBBox();return i.width>=e||i.height>=e?n.attr("path"):null}function bu(r){var e=r.event,t,n=e.target;return n&&(t=n.get("element")),t}function ic(r){var e=r.event,t=e.target,n;return t&&(n=t.get("delegateObject")),n}function kL(r){var e=r.event.gEvent;return!(e&&e.fromShape&&e.toShape&&e.fromShape.get("element")===e.toShape.get("element"))}function hp(r){return r&&r.component&&r.component.isList()}function RL(r){return r&&r.component&&r.component.isSlider()}function dp(r){var e=r.event,t=e.target;return t&&t.get("name")==="mask"}function Xb(r,e){var t=r.event.target;if(t.get("type")==="path"){var n=CWt(r,e);return n?EWt(r.view,n):void 0}var i=Ert(r,e);return i?BL(r.view,i):null}function NL(r,e,t){var n=Ert(r,t);if(!n)return null;var i=r.view,a=zL(i,e,{x:n.x,y:n.y}),o=zL(i,e,{x:n.maxX,y:n.maxY}),s={minX:a.x,minY:a.y,maxX:o.x,maxY:o.y};return BL(e,s)}function Hi(r){var e=r.geometries,t=[];return(0,nc.each)(e,function(n){var i=n.elements;t=t.concat(i)}),r.views&&r.views.length&&(0,nc.each)(r.views,function(n){t=t.concat(Hi(n))}),t}function Art(r,e,t){var n=Hi(r);return n.filter(function(i){return os(i,e)===t})}function FL(r,e){var t=r.geometries,n=[];return(0,nc.each)(t,function(i){var a=i.getElementsBy(function(o){return o.hasState(e)});n=n.concat(a)}),n}function os(r,e){var t=r.getModel(),n=t.data,i;return(0,nc.isArray)(n)?i=n[0][e]:i=n[e],i}function wWt(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxY=e.x&&r.y<=e.y&&r.maxY>e.y}function Nl(r){var e=r.parent,t=null;return e&&(t=e.views.filter(function(n){return n!==r})),t}function AWt(r,e){var t=r.getCoordinate();return t.invert(e)}function zL(r,e,t){var n=AWt(r,t);return e.getCoordinate().convert(n)}function UL(r,e,t,n){var i=!1;return(0,nc.each)(r,function(a){if(a[t]===e[t]&&a[n]===e[n])return i=!0,!1}),i}function bh(r,e){var t=r.getScaleByField(e);return!t&&r.views&&(0,nc.each)(r.views,function(n){if(t=bh(n,e),t)return!1}),t}var MWt=function(){function r(e){this.actions=[],this.event=null,this.cacheMap={},this.view=e}return r.prototype.cache=function(){for(var e=[],t=0;t=0&&t.splice(n,1)},r.prototype.getCurrentPoint=function(){var e=this.event;if(e)if(e.target instanceof HTMLElement){var t=this.view.getCanvas(),n=t.getPointByClient(e.clientX,e.clientY);return n}else return{x:e.x,y:e.y};return null},r.prototype.getCurrentShape=function(){return(0,jL.get)(this.event,["gEvent","shape"])},r.prototype.isInPlot=function(){var e=this.getCurrentPoint();return e?this.view.isPointInPlot(e):!1},r.prototype.isInShape=function(e){var t=this.getCurrentShape();return t?t.get("name")===e:!1},r.prototype.isInComponent=function(e){var t=GL(this.view),n=this.getCurrentPoint();return n?!!t.find(function(i){var a=i.getBBox();return e?i.get("name")===e&&yU(a,n):yU(a,n)}):!1},r.prototype.destroy=function(){(0,jL.each)(this.actions.slice(),function(e){e.destroy()}),this.view=null,this.event=null,this.actions=null,this.cacheMap=null},r}(),Irt=MWt;var TWt=function(){function r(e,t){this.view=e,this.cfg=t}return r.prototype.init=function(){this.initEvents()},r.prototype.initEvents=function(){},r.prototype.clearEvents=function(){},r.prototype.destroy=function(){this.clearEvents()},r}(),vE=TWt;function Lrt(r,e,t){var n=r.split(":"),i=n[0],a=e.getAction(i)||vU(i,e);if(!a)throw new Error("There is no action named ".concat(i));var o=n[1];return{action:a,methodName:o,arg:t}}function Ort(r){var e=r.action,t=r.methodName,n=r.arg;if(e[t])e[t](n);else throw new Error("Action(".concat(e.name,") doesn't have a method called ").concat(t))}var _u={START:"start",SHOW_ENABLE:"showEnable",END:"end",ROLLBACK:"rollback",PROCESSING:"processing"},IWt=function(r){H(e,r);function e(t,n){var i=r.call(this,t,n)||this;return i.callbackCaches={},i.emitCaches={},i.steps=n,i}return e.prototype.init=function(){this.initContext(),r.prototype.init.call(this)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.steps=null,this.context&&(this.context.destroy(),this.context=null),this.callbackCaches=null,this.view=null},e.prototype.initEvents=function(){var t=this;(0,Xa.each)(this.steps,function(n,i){(0,Xa.each)(n,function(a){var o=t.getActionCallback(i,a);o&&t.bindEvent(a.trigger,o)})})},e.prototype.clearEvents=function(){var t=this;(0,Xa.each)(this.steps,function(n,i){(0,Xa.each)(n,function(a){var o=t.getActionCallback(i,a);o&&t.offEvent(a.trigger,o)})})},e.prototype.initContext=function(){var t=this.view,n=new Irt(t);this.context=n;var i=this.steps;(0,Xa.each)(i,function(a){(0,Xa.each)(a,function(o){if((0,Xa.isFunction)(o.action))o.actionObject={action:_rt(o.action,n),methodName:"execute"};else if((0,Xa.isString)(o.action))o.actionObject=Lrt(o.action,n,o.arg);else if((0,Xa.isArray)(o.action)){var s=o.action,l=(0,Xa.isArray)(o.arg)?o.arg:[o.arg];o.actionObject=[],(0,Xa.each)(s,function(u,f){o.actionObject.push(Lrt(u,n,l[f]))})}})})},e.prototype.isAllowStep=function(t){var n=this.currentStepName,i=this.steps;if(n===t||t===_u.SHOW_ENABLE)return!0;if(t===_u.PROCESSING)return n===_u.START;if(t===_u.START)return n!==_u.PROCESSING;if(t===_u.END)return n===_u.PROCESSING||n===_u.START;if(t===_u.ROLLBACK){if(i[_u.END])return n===_u.END;if(n===_u.START)return!0}return!1},e.prototype.isAllowExecute=function(t,n){if(this.isAllowStep(t)){var i=this.getKey(t,n);return n.once&&this.emitCaches[i]?!1:n.isEnable?n.isEnable(this.context):!0}return!1},e.prototype.enterStep=function(t){this.currentStepName=t,this.emitCaches={}},e.prototype.afterExecute=function(t,n){t!==_u.SHOW_ENABLE&&this.currentStepName!==t&&this.enterStep(t);var i=this.getKey(t,n);this.emitCaches[i]=!0},e.prototype.getKey=function(t,n){return t+n.trigger+n.action},e.prototype.getActionCallback=function(t,n){var i=this,a=this.context,o=this.callbackCaches,s=n.actionObject;if(n.action&&s){var l=this.getKey(t,n);if(!o[l]){var u=function(f){a.event=f,i.isAllowExecute(t,n)?((0,Xa.isArray)(s)?(0,Xa.each)(s,function(c){a.event=f,Ort(c)}):(a.event=f,Ort(s)),i.afterExecute(t,n),n.callback&&(a.event=f,n.callback(a))):a.event=null};n.debounce?o[l]=(0,Xa.debounce)(u,n.debounce.wait,n.debounce.immediate):n.throttle?o[l]=(0,Xa.throttle)(u,n.throttle.wait,{leading:n.throttle.leading,trailing:n.throttle.trailing}):o[l]=u}return o[l]}return null},e.prototype.bindEvent=function(t,n){var i=t.split(":");i[0]==="window"?window.addEventListener(i[1],n):i[0]==="document"?document.addEventListener(i[1],n):this.view.on(t,n)},e.prototype.offEvent=function(t,n){var i=t.split(":");i[0]==="window"?window.removeEventListener(i[1],n):i[0]==="document"?document.removeEventListener(i[1],n):this.view.off(t,n)},e}(vE),Drt=IWt;var Prt={};function xU(r){return Prt[(0,pp.lowerCase)(r)]}function xr(r,e){Prt[(0,pp.lowerCase)(r)]=e}function krt(r,e,t){var n=xU(r);if(!n)return null;if((0,pp.isPlainObject)(n)){var i=(0,pp.mix)((0,pp.clone)(n),t);return new Drt(e,i)}else{var a=n;return new a(e,t)}}var gE=U(q());var Rrt=U(q());var bU=U(q());function LWt(r){return{title:{autoRotate:!0,position:"center",spacing:r.axisTitleSpacing,style:{fill:r.axisTitleTextFillColor,fontSize:r.axisTitleTextFontSize,lineHeight:r.axisTitleTextLineHeight,textBaseline:"middle",fontFamily:r.fontFamily}},label:{autoRotate:!1,autoEllipsis:!1,autoHide:{type:"equidistance",cfg:{minGap:6}},offset:r.axisLabelOffset,style:{fill:r.axisLabelFillColor,fontSize:r.axisLabelFontSize,lineHeight:r.axisLabelLineHeight,fontFamily:r.fontFamily}},line:{style:{lineWidth:r.axisLineBorder,stroke:r.axisLineBorderColor}},grid:{line:{type:"line",style:{stroke:r.axisGridBorderColor,lineWidth:r.axisGridBorder,lineDash:r.axisGridLineDash}},alignTick:!0,animate:!0},tickLine:{style:{lineWidth:r.axisTickLineBorder,stroke:r.axisTickLineBorderColor},alignTick:!0,length:r.axisTickLineLength},subTickLine:null,animate:!0}}function OWt(r){return{title:null,marker:{symbol:"circle",spacing:r.legendMarkerSpacing,style:{r:r.legendCircleMarkerSize,fill:r.legendMarkerColor}},itemName:{spacing:5,style:{fill:r.legendItemNameFillColor,fontFamily:r.fontFamily,fontSize:r.legendItemNameFontSize,lineHeight:r.legendItemNameLineHeight,fontWeight:r.legendItemNameFontWeight,textAlign:"start",textBaseline:"middle"}},itemStates:{active:{nameStyle:{opacity:.8}},unchecked:{nameStyle:{fill:"#D8D8D8"},markerStyle:{fill:"#D8D8D8",stroke:"#D8D8D8"}},inactive:{nameStyle:{fill:"#D8D8D8"},markerStyle:{opacity:.2}}},flipPage:!0,pageNavigator:{marker:{style:{size:r.legendPageNavigatorMarkerSize,inactiveFill:r.legendPageNavigatorMarkerInactiveFillColor,inactiveOpacity:r.legendPageNavigatorMarkerInactiveFillOpacity,fill:r.legendPageNavigatorMarkerFillColor,opacity:r.legendPageNavigatorMarkerFillOpacity}},text:{style:{fill:r.legendPageNavigatorTextFillColor,fontSize:r.legendPageNavigatorTextFontSize}}},animate:!1,maxItemWidth:200,itemSpacing:r.legendItemSpacing,itemMarginBottom:r.legendItemMarginBottom,padding:r.legendPadding}}function WL(r){var e,t={point:{default:{fill:r.pointFillColor,r:r.pointSize,stroke:r.pointBorderColor,lineWidth:r.pointBorder,fillOpacity:r.pointFillOpacity},active:{stroke:r.pointActiveBorderColor,lineWidth:r.pointActiveBorder},selected:{stroke:r.pointSelectedBorderColor,lineWidth:r.pointSelectedBorder},inactive:{fillOpacity:r.pointInactiveFillOpacity,strokeOpacity:r.pointInactiveBorderOpacity}},hollowPoint:{default:{fill:r.hollowPointFillColor,lineWidth:r.hollowPointBorder,stroke:r.hollowPointBorderColor,strokeOpacity:r.hollowPointBorderOpacity,r:r.hollowPointSize},active:{stroke:r.hollowPointActiveBorderColor,strokeOpacity:r.hollowPointActiveBorderOpacity},selected:{lineWidth:r.hollowPointSelectedBorder,stroke:r.hollowPointSelectedBorderColor,strokeOpacity:r.hollowPointSelectedBorderOpacity},inactive:{strokeOpacity:r.hollowPointInactiveBorderOpacity}},area:{default:{fill:r.areaFillColor,fillOpacity:r.areaFillOpacity,stroke:null},active:{fillOpacity:r.areaActiveFillOpacity},selected:{fillOpacity:r.areaSelectedFillOpacity},inactive:{fillOpacity:r.areaInactiveFillOpacity}},hollowArea:{default:{fill:null,stroke:r.hollowAreaBorderColor,lineWidth:r.hollowAreaBorder,strokeOpacity:r.hollowAreaBorderOpacity},active:{fill:null,lineWidth:r.hollowAreaActiveBorder},selected:{fill:null,lineWidth:r.hollowAreaSelectedBorder},inactive:{strokeOpacity:r.hollowAreaInactiveBorderOpacity}},interval:{default:{fill:r.intervalFillColor,fillOpacity:r.intervalFillOpacity},active:{stroke:r.intervalActiveBorderColor,lineWidth:r.intervalActiveBorder},selected:{stroke:r.intervalSelectedBorderColor,lineWidth:r.intervalSelectedBorder},inactive:{fillOpacity:r.intervalInactiveFillOpacity,strokeOpacity:r.intervalInactiveBorderOpacity}},hollowInterval:{default:{fill:r.hollowIntervalFillColor,stroke:r.hollowIntervalBorderColor,lineWidth:r.hollowIntervalBorder,strokeOpacity:r.hollowIntervalBorderOpacity},active:{stroke:r.hollowIntervalActiveBorderColor,lineWidth:r.hollowIntervalActiveBorder,strokeOpacity:r.hollowIntervalActiveBorderOpacity},selected:{stroke:r.hollowIntervalSelectedBorderColor,lineWidth:r.hollowIntervalSelectedBorder,strokeOpacity:r.hollowIntervalSelectedBorderOpacity},inactive:{stroke:r.hollowIntervalInactiveBorderColor,lineWidth:r.hollowIntervalInactiveBorder,strokeOpacity:r.hollowIntervalInactiveBorderOpacity}},line:{default:{stroke:r.lineBorderColor,lineWidth:r.lineBorder,strokeOpacity:r.lineBorderOpacity,fill:null,lineAppendWidth:10,lineCap:"round",lineJoin:"round"},active:{lineWidth:r.lineActiveBorder},selected:{lineWidth:r.lineSelectedBorder},inactive:{strokeOpacity:r.lineInactiveBorderOpacity}}},n=LWt(r),i=OWt(r);return{background:r.backgroundColor,defaultColor:r.brandColor,subColor:r.subColor,semanticRed:r.paletteSemanticRed,semanticGreen:r.paletteSemanticGreen,padding:"auto",fontFamily:r.fontFamily,columnWidthRatio:1/2,maxColumnWidth:null,minColumnWidth:null,roseWidthRatio:.9999999,multiplePieWidthRatio:1/1.3,colors10:r.paletteQualitative10,colors20:r.paletteQualitative20,sequenceColors:r.paletteSequence,shapes:{point:["hollow-circle","hollow-square","hollow-bowtie","hollow-diamond","hollow-hexagon","hollow-triangle","hollow-triangle-down","circle","square","bowtie","diamond","hexagon","triangle","triangle-down","cross","tick","plus","hyphen","line"],line:["line","dash","dot","smooth"],area:["area","smooth","line","smooth-line"],interval:["rect","hollow-rect","line","tick"]},sizes:[1,10],geometries:{interval:{rect:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:function(a){var o=a.geometry.coordinate;if(o.isPolar&&o.isTransposed){var s=lp(a.getModel(),o),l=s.startAngle,u=s.endAngle,f=(l+u)/2,c=7.5,h=c*Math.cos(f),d=c*Math.sin(f);return{matrix:gr.transform(null,[["t",h,d]])}}return t.interval.selected}}},"hollow-rect":{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},line:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},tick:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},funnel:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}},pyramid:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}}},line:{line:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},dot:{default:{style:E(E({},t.line.default),{lineCap:null,lineDash:[1,1]})},active:{style:E(E({},t.line.active),{lineCap:null,lineDash:[1,1]})},inactive:{style:E(E({},t.line.inactive),{lineCap:null,lineDash:[1,1]})},selected:{style:E(E({},t.line.selected),{lineCap:null,lineDash:[1,1]})}},dash:{default:{style:E(E({},t.line.default),{lineCap:null,lineDash:[5.5,1]})},active:{style:E(E({},t.line.active),{lineCap:null,lineDash:[5.5,1]})},inactive:{style:E(E({},t.line.inactive),{lineCap:null,lineDash:[5.5,1]})},selected:{style:E(E({},t.line.selected),{lineCap:null,lineDash:[5.5,1]})}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vh:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hvh:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vhv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}}},polygon:{polygon:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}}},point:{circle:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},square:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},bowtie:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},diamond:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},hexagon:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},triangle:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},"triangle-down":{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},"hollow-circle":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-square":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-bowtie":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-diamond":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-hexagon":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-triangle":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-triangle-down":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},cross:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},tick:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},plus:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},hyphen:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},line:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}}},area:{area:{default:{style:t.area.default},active:{style:t.area.active},inactive:{style:t.area.inactive},selected:{style:t.area.selected}},smooth:{default:{style:t.area.default},active:{style:t.area.active},inactive:{style:t.area.inactive},selected:{style:t.area.selected}},line:{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}},"smooth-line":{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}}},schema:{candle:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},box:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}}},edge:{line:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vhv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},arc:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}}},violin:{violin:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hollow:{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}},"hollow-smooth":{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}}}},components:{axis:{common:n,top:{position:"top",grid:null,title:null,verticalLimitLength:1/2},bottom:{position:"bottom",grid:null,title:null,verticalLimitLength:1/2},left:{position:"left",title:null,line:null,tickLine:null,verticalLimitLength:1/3},right:{position:"right",title:null,line:null,tickLine:null,verticalLimitLength:1/3},circle:{title:null,grid:(0,bU.deepMix)({},n.grid,{line:{type:"line"}})},radius:{title:null,grid:(0,bU.deepMix)({},n.grid,{line:{type:"circle"}})}},legend:{common:i,right:{layout:"vertical",padding:r.legendVerticalPadding},left:{layout:"vertical",padding:r.legendVerticalPadding},top:{layout:"horizontal",padding:r.legendHorizontalPadding},bottom:{layout:"horizontal",padding:r.legendHorizontalPadding},continuous:{title:null,background:null,track:{},rail:{type:"color",size:r.sliderRailHeight,defaultLength:r.sliderRailWidth,style:{fill:r.sliderRailFillColor,stroke:r.sliderRailBorderColor,lineWidth:r.sliderRailBorder}},label:{align:"rail",spacing:4,formatter:null,style:{fill:r.sliderLabelTextFillColor,fontSize:r.sliderLabelTextFontSize,lineHeight:r.sliderLabelTextLineHeight,textBaseline:"middle",fontFamily:r.fontFamily}},handler:{size:r.sliderHandlerWidth,style:{fill:r.sliderHandlerFillColor,stroke:r.sliderHandlerBorderColor}},slidable:!0,padding:i.padding}},tooltip:{showContent:!0,follow:!0,showCrosshairs:!1,showMarkers:!0,shared:!1,enterable:!1,position:"auto",marker:{symbol:"circle",stroke:"#fff",shadowBlur:10,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0,0,0,0.09)",lineWidth:2,r:4},crosshairs:{line:{style:{stroke:r.tooltipCrosshairsBorderColor,lineWidth:r.tooltipCrosshairsBorder}},text:null,textBackground:{padding:2,style:{fill:"rgba(0, 0, 0, 0.25)",lineWidth:0,stroke:null}},follow:!1},domStyles:(e={},e["".concat(rs.CONTAINER_CLASS)]={position:"absolute",visibility:"hidden",zIndex:8,transition:"left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s",backgroundColor:r.tooltipContainerFillColor,opacity:r.tooltipContainerFillOpacity,boxShadow:r.tooltipContainerShadow,borderRadius:"".concat(r.tooltipContainerBorderRadius,"px"),color:r.tooltipTextFillColor,fontSize:"".concat(r.tooltipTextFontSize,"px"),fontFamily:r.fontFamily,lineHeight:"".concat(r.tooltipTextLineHeight,"px"),padding:"0 12px 0 12px"},e["".concat(rs.TITLE_CLASS)]={marginBottom:"12px",marginTop:"12px"},e["".concat(rs.LIST_CLASS)]={margin:0,listStyleType:"none",padding:0},e["".concat(rs.LIST_ITEM_CLASS)]={listStyleType:"none",padding:0,marginBottom:"12px",marginTop:"12px",marginLeft:0,marginRight:0},e["".concat(rs.MARKER_CLASS)]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},e["".concat(rs.VALUE_CLASS)]={display:"inline-block",float:"right",marginLeft:"30px"},e)},annotation:{arc:{style:{stroke:r.annotationArcBorderColor,lineWidth:r.annotationArcBorder},animate:!0},line:{style:{stroke:r.annotationLineBorderColor,lineDash:r.annotationLineDash,lineWidth:r.annotationLineBorder},text:{position:"start",autoRotate:!0,style:{fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,textAlign:"start",fontFamily:r.fontFamily,textBaseline:"bottom"}},animate:!0},text:{style:{fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,textBaseline:"middle",textAlign:"start",fontFamily:r.fontFamily},animate:!0},region:{top:!1,style:{lineWidth:r.annotationRegionBorder,stroke:r.annotationRegionBorderColor,fill:r.annotationRegionFillColor,fillOpacity:r.annotationRegionFillOpacity},animate:!0},image:{top:!1,animate:!0},dataMarker:{top:!0,point:{style:{r:3,stroke:r.brandColor,lineWidth:2}},line:{style:{stroke:r.annotationLineBorderColor,lineWidth:r.annotationLineBorder},length:r.annotationDataMarkerLineLength},text:{style:{textAlign:"start",fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,fontFamily:r.fontFamily}},direction:"upward",autoAdjust:!0,animate:!0},dataRegion:{style:{region:{fill:r.annotationRegionFillColor,fillOpacity:r.annotationRegionFillOpacity},text:{textAlign:"center",textBaseline:"bottom",fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,fontFamily:r.fontFamily}},animate:!0}},slider:{common:{padding:[8,8,8,8],backgroundStyle:{fill:r.cSliderBackgroundFillColor,opacity:r.cSliderBackgroundFillOpacity},foregroundStyle:{fill:r.cSliderForegroundFillColor,opacity:r.cSliderForegroundFillOpacity},handlerStyle:{width:r.cSliderHandlerWidth,height:r.cSliderHandlerHeight,fill:r.cSliderHandlerFillColor,opacity:r.cSliderHandlerFillOpacity,stroke:r.cSliderHandlerBorderColor,lineWidth:r.cSliderHandlerBorder,radius:r.cSliderHandlerBorderRadius,highLightFill:r.cSliderHandlerHighlightFillColor},textStyle:{fill:r.cSliderTextFillColor,opacity:r.cSliderTextFillOpacity,fontSize:r.cSliderTextFontSize,lineHeight:r.cSliderTextLineHeight,fontWeight:r.cSliderTextFontWeight,stroke:r.cSliderTextBorderColor,lineWidth:r.cSliderTextBorder}}},scrollbar:{common:{padding:[8,8,8,8]},default:{style:{trackColor:r.scrollbarTrackFillColor,thumbColor:r.scrollbarThumbFillColor}},hover:{style:{thumbColor:r.scrollbarThumbHighlightFillColor}}}},labels:{offset:12,style:{fill:r.labelFillColor,fontSize:r.labelFontSize,fontFamily:r.fontFamily,stroke:r.labelBorderColor,lineWidth:r.labelBorder},fillColorDark:r.labelFillColorDark,fillColorLight:r.labelFillColorLight,autoRotate:!0},innerLabels:{style:{fill:r.innerLabelFillColor,fontSize:r.innerLabelFontSize,fontFamily:r.fontFamily,stroke:r.innerLabelBorderColor,lineWidth:r.innerLabelBorder},autoRotate:!0},overflowLabels:{style:{fill:r.overflowLabelFillColor,fontSize:r.overflowLabelFontSize,fontFamily:r.fontFamily,stroke:r.overflowLabelBorderColor,lineWidth:r.overflowLabelBorder}},pieLabels:{labelHeight:14,offset:10,labelLine:{style:{lineWidth:r.labelLineBorder}},autoRotate:!0}}}var ni={100:"#000",95:"#0D0D0D",85:"#262626",65:"#595959",45:"#8C8C8C",25:"#BFBFBF",15:"#D9D9D9",6:"#F0F0F0"},mE={100:"#FFFFFF",95:"#F2F2F2",85:"#D9D9D9",65:"#A6A6A6",45:"#737373",25:"#404040",15:"#262626",6:"#0F0F0F"},DWt=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#6F5EF9","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],PWt=["#5B8FF9","#CDDDFD","#5AD8A6","#CDF3E4","#5D7092","#CED4DE","#F6BD16","#FCEBB9","#6F5EF9","#D3CEFD","#6DC8EC","#D3EEF9","#945FB9","#DECFEA","#FF9845","#FFE0C7","#1E9493","#BBDEDE","#FF99C3","#FFE0ED"],kWt=["#B8E1FF","#9AC5FF","#7DAAFF","#5B8FF9","#3D76DD","#085EC0","#0047A5","#00318A","#001D70"],_U=function(r){r===void 0&&(r={});var e=r.backgroundColor,t=e===void 0?"transparent":e,n=r.subColor,i=n===void 0?"rgba(0,0,0,0.05)":n,a=r.paletteQualitative10,o=a===void 0?DWt:a,s=r.paletteQualitative20,l=s===void 0?PWt:s,u=r.paletteSemanticRed,f=u===void 0?"#F4664A":u,c=r.paletteSemanticGreen,h=c===void 0?"#30BF78":c,d=r.paletteSemanticYellow,p=d===void 0?"#FAAD14":d,v=r.paletteSequence,m=v===void 0?kWt:v,g=r.fontFamily,x=g===void 0?`"Segoe UI", Roboto, "Helvetica Neue", Arial, + SimSun, "sans-serif"`,textColor:"#2C3542",activeTextColor:"#333333",uncheckedColor:"#D8D8D8",lineColor:"#416180",regionColor:"#CCD7EB",verticalAxisRotate:-Math.PI/4,horizontalAxisRotate:Math.PI/4};var Ujt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"line",locationType:"region",start:null,end:null,style:{},text:null,defaultCfg:{style:{fill:Gr.textColor,fontSize:12,textAlign:"center",textBaseline:"bottom",fontFamily:Gr.fontFamily},text:{position:"center",autoRotate:!0,content:null,offsetX:0,offsetY:0,style:{stroke:Gr.lineColor,lineWidth:1}}}})},e.prototype.renderInner=function(t){this.renderLine(t),this.get("text")&&this.renderLabel(t)},e.prototype.renderLine=function(t){var n=this.get("start"),i=this.get("end"),a=this.get("style");this.addShape(t,{type:"line",id:this.getElementId("line"),name:"annotation-line",attrs:E({x1:n.x,y1:n.y,x2:i.x,y2:i.y},a)})},e.prototype.getLabelPoint=function(t,n,i){var a;return i==="start"?a=0:i==="center"?a=.5:(0,mL.isString)(i)&&i.indexOf("%")!==-1?a=parseInt(i,10)/100:(0,mL.isNumber)(i)?a=i:a=1,(a>1||a<0)&&(a=1),{x:sp(t.x,n.x,a),y:sp(t.y,n.y,a)}},e.prototype.renderLabel=function(t){var n=this.get("text"),i=this.get("start"),a=this.get("end"),o=n.position,s=n.content,l=n.style,u=n.offsetX,f=n.offsetY,c=n.autoRotate,h=n.maxLength,d=n.autoEllipsis,p=n.ellipsisPosition,v=n.background,m=n.isVertical,g=m===void 0?!1:m,x=this.getLabelPoint(i,a,o),b=x.x+u,S=x.y+f,C={id:this.getElementId("line-text"),name:"annotation-line-text",x:b,y:S,content:s,style:l,maxLength:h,autoEllipsis:d,ellipsisPosition:p,background:v,isVertical:g};if(c){var w=[a.x-i.x,a.y-i.y];C.rotate=Math.atan2(w[1],w[0])}mm(t,C)},e}(Yn),bet=Ujt;var jjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"text",locationType:"point",x:0,y:0,content:"",rotate:null,style:{},background:null,maxLength:null,autoEllipsis:!0,isVertical:!1,ellipsisPosition:"tail",defaultCfg:{style:{fill:Gr.textColor,fontSize:12,textAlign:"center",textBaseline:"middle",fontFamily:Gr.fontFamily}}})},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.renderInner=function(t){var n=this.getLocation(),i=n.x,a=n.y,o=this.get("content"),s=this.get("style"),l=this.getElementId("text"),u=this.get("name")+"-text",f=this.get("maxLength"),c=this.get("autoEllipsis"),h=this.get("isVertical"),d=this.get("ellipsisPosition"),p=this.get("background"),v=this.get("rotate"),m={id:l,name:u,x:i,y:a,content:o,style:s,maxLength:f,autoEllipsis:c,isVertical:h,ellipsisPosition:d,background:p,rotate:v};mm(t,m)},e.prototype.resetLocation=function(){var t=this.getElementByLocalId("text-group");if(t){var n=this.getLocation(),i=n.x,a=n.y,o=this.get("rotate");hm(t,i,a),pL(t,o,i,a)}},e}(Yn),_et=jjt;var Wjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"arc",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:Math.PI*3/2,style:{stroke:"#999",lineWidth:1}})},e.prototype.renderInner=function(t){this.renderArc(t)},e.prototype.getArcPath=function(){var t=this.getLocation(),n=t.center,i=t.radius,a=t.startAngle,o=t.endAngle,s=dm(n,i,a),l=dm(n,i,o),u=o-a>Math.PI?1:0,f=[["M",s.x,s.y]];if(o-a==Math.PI*2){var c=dm(n,i,a+Math.PI);f.push(["A",i,i,0,u,1,c.x,c.y]),f.push(["A",i,i,0,u,1,l.x,l.y])}else f.push(["A",i,i,0,u,1,l.x,l.y]);return f},e.prototype.renderArc=function(t){var n=this.getArcPath(),i=this.get("style");this.addShape(t,{type:"path",id:this.getElementId("arc"),name:"annotation-arc",attrs:E({path:n},i)})},e}(Yn),Cet=Wjt;var Vjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"region",locationType:"region",start:null,end:null,style:{},defaultCfg:{style:{lineWidth:0,fill:Gr.regionColor,opacity:.4}}})},e.prototype.renderInner=function(t){this.renderRegion(t)},e.prototype.renderRegion=function(t){var n=this.get("start"),i=this.get("end"),a=this.get("style"),o=op({start:n,end:i});this.addShape(t,{type:"rect",id:this.getElementId("region"),name:"annotation-region",attrs:E({x:o.x,y:o.y,width:o.width,height:o.height},a)})},e}(Yn),wet=Vjt;var Hjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"image",locationType:"region",start:null,end:null,src:null,style:{}})},e.prototype.renderInner=function(t){this.renderImage(t)},e.prototype.getImageAttrs=function(){var t=this.get("start"),n=this.get("end"),i=this.get("style"),a=op({start:t,end:n}),o=this.get("src");return E({x:a.x,y:a.y,img:o,width:a.width,height:a.height},i)},e.prototype.renderImage=function(t){this.addShape(t,{type:"image",id:this.getElementId("image"),name:"annotation-image",attrs:this.getImageAttrs()})},e}(Yn),Eet=Hjt;var tc=z(q());var Yjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"dataMarker",locationType:"point",x:0,y:0,point:{},line:{},text:{},direction:"upward",autoAdjust:!0,coordinateBBox:null,defaultCfg:{point:{display:!0,style:{r:3,fill:"#FFFFFF",stroke:"#1890FF",lineWidth:2}},line:{display:!0,length:20,style:{stroke:Gr.lineColor,lineWidth:1}},text:{content:"",display:!0,style:{fill:Gr.textColor,opacity:.65,fontSize:12,textAlign:"start",fontFamily:Gr.fontFamily}}}})},e.prototype.renderInner=function(t){(0,tc.get)(this.get("line"),"display")&&this.renderLine(t),(0,tc.get)(this.get("text"),"display")&&this.renderText(t),(0,tc.get)(this.get("point"),"display")&&this.renderPoint(t),this.get("autoAdjust")&&this.autoAdjust(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x")+this.get("offsetX"),y:this.get("y")+this.get("offsetY")})},e.prototype.renderPoint=function(t){var n=this.getShapeAttrs().point;this.addShape(t,{type:"circle",id:this.getElementId("point"),name:"annotation-point",attrs:n})},e.prototype.renderLine=function(t){var n=this.getShapeAttrs().line;this.addShape(t,{type:"path",id:this.getElementId("line"),name:"annotation-line",attrs:n})},e.prototype.renderText=function(t){var n=this.getShapeAttrs().text,i=n.x,a=n.y,o=n.text,s=rr(n,["x","y","text"]),l=this.get("text"),u=l.background,f=l.maxLength,c=l.autoEllipsis,h=l.isVertival,d=l.ellipsisPosition,p={x:i,y:a,id:this.getElementId("text"),name:"annotation-text",content:o,style:s,background:u,maxLength:f,autoEllipsis:c,isVertival:h,ellipsisPosition:d};mm(t,p)},e.prototype.autoAdjust=function(t){var n=this.get("direction"),i=this.get("x"),a=this.get("y"),o=(0,tc.get)(this.get("line"),"length",0),s=this.get("coordinateBBox"),l=t.getBBox(),u=l.minX,f=l.maxX,c=l.minY,h=l.maxY,d=t.findById(this.getElementId("text-group")),p=t.findById(this.getElementId("text")),v=t.findById(this.getElementId("line"));if(!!s){if(d){if(i+u<=s.minX){var m=s.minX-(i+u);hm(d,d.attr("x")+m,d.attr("y"))}if(i+f>=s.maxX){var m=i+f-s.maxX;hm(d,d.attr("x")-m,d.attr("y"))}}if(n==="upward"&&a+c<=s.minY||n!=="upward"&&a+h>=s.maxY){var g=void 0,x=void 0;n==="upward"&&a+c<=s.minY?(g="top",x=1):(g="bottom",x=-1),p.attr("textBaseline",g),v&&v.attr("path",[["M",0,0],["L",0,o*x]]),hm(d,d.attr("x"),(o+2)*x)}}},e.prototype.getShapeAttrs=function(){var t=(0,tc.get)(this.get("line"),"display"),n=(0,tc.get)(this.get("point"),"style",{}),i=(0,tc.get)(this.get("line"),"style",{}),a=(0,tc.get)(this.get("text"),"style",{}),o=this.get("direction"),s=t?(0,tc.get)(this.get("line"),"length",0):0,l=o==="upward"?-1:1;return{point:E({x:0,y:0},n),line:E({path:[["M",0,0],["L",0,s*l]]},i),text:E({x:0,y:(s+2)*l,text:(0,tc.get)(this.get("text"),"content",""),textBaseline:o==="upward"?"bottom":"top"},a)}},e}(Yn),Aet=Yjt;var Jz=z(q());var Xjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"dataRegion",locationType:"points",points:[],lineLength:0,region:{},text:{},defaultCfg:{region:{style:{lineWidth:0,fill:Gr.regionColor,opacity:.4}},text:{content:"",style:{textAlign:"center",textBaseline:"bottom",fontSize:12,fill:Gr.textColor,fontFamily:Gr.fontFamily}}}})},e.prototype.renderInner=function(t){var n=(0,Jz.get)(this.get("region"),"style",{}),i=(0,Jz.get)(this.get("text"),"style",{}),a=this.get("lineLength")||0,o=this.get("points");if(!!o.length){var s=met(o),l=[];l.push(["M",o[0].x,s.minY-a]),o.forEach(function(f){l.push(["L",f.x,f.y])}),l.push(["L",o[o.length-1].x,o[o.length-1].y-a]),this.addShape(t,{type:"path",id:this.getElementId("region"),name:"annotation-region",attrs:E({path:l},n)});var u=E({id:this.getElementId("text"),name:"annotation-text",x:(s.minX+s.maxX)/2,y:s.minY-a},this.get("text"));mm(t,u)}},e}(Yn),Met=Xjt;var gL=z(q());var qjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"regionFilter",locationType:"region",start:null,end:null,color:null,shape:[]})},e.prototype.renderInner=function(t){var n=this,i=this.get("start"),a=this.get("end"),o=this.addGroup(t,{id:this.getElementId("region-filter"),capture:!1});(0,gL.each)(this.get("shapes"),function(l,u){var f=l.get("type"),c=(0,gL.clone)(l.attr());n.adjustShapeAttrs(c),n.addShape(o,{id:n.getElementId("shape-"+f+"-"+u),capture:!1,type:f,attrs:c})});var s=op({start:i,end:a});o.setClip({type:"rect",attrs:{x:s.minX,y:s.minY,width:s.width,height:s.height}})},e.prototype.adjustShapeAttrs=function(t){var n=this.get("color");t.fill&&(t.fill=t.fillStyle=n),t.stroke=t.strokeStyle=n},e}(Yn),Tet=qjt;var yL=z(q());var Kjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"shape",draw:yL.noop})},e.prototype.renderInner=function(t){var n=this.get("render");(0,yL.isFunction)(n)&&n(t)},e}(Yn),Iet=Kjt;var Wb=z(q());var $u=z(q());var Zjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{container:null,containerTpl:"
    ",updateAutoRender:!0,containerClassName:"",parent:null})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.show=function(){var t=this.get("container");t.style.display="",this.set("visible",!0)},e.prototype.hide=function(){var t=this.get("container");t.style.display="none",this.set("visible",!1)},e.prototype.setCapture=function(t){var n=this.getContainer(),i=t?"auto":"none";n.style.pointerEvents=i,this.set("capture",t)},e.prototype.getBBox=function(){var t=this.getContainer(),n=parseFloat(t.style.left)||0,i=parseFloat(t.style.top)||0;return Ub(n,i,t.clientWidth,t.clientHeight)},e.prototype.clear=function(){var t=this.get("container");zb(t)},e.prototype.destroy=function(){this.removeEvent(),this.removeDom(),r.prototype.destroy.call(this)},e.prototype.init=function(){r.prototype.init.call(this),this.initContainer(),this.initDom(),this.resetStyles(),this.applyStyles(),this.initEvent(),this.initCapture(),this.initVisible()},e.prototype.initCapture=function(){this.setCapture(this.get("capture"))},e.prototype.initVisible=function(){this.get("visible")?this.show():this.hide()},e.prototype.initDom=function(){},e.prototype.initContainer=function(){var t=this.get("container");if((0,$u.isNil)(t)){t=this.createDom();var n=this.get("parent");(0,$u.isString)(n)&&(n=document.getElementById(n),this.set("parent",n)),n.appendChild(t),this.get("containerId")&&t.setAttribute("id",this.get("containerId")),this.set("container",t)}else(0,$u.isString)(t)&&(t=document.getElementById(t),this.set("container",t));this.get("parent")||this.set("parent",t.parentNode)},e.prototype.resetStyles=function(){var t=this.get("domStyles"),n=this.get("defaultStyles");t?t=(0,$u.deepMix)({},n,t):t=n,this.set("domStyles",t)},e.prototype.applyStyles=function(){var t=this.get("domStyles");if(!!t){var n=this.getContainer();this.applyChildrenStyles(n,t);var i=this.get("containerClassName");if(i&&vet(n,i)){var a=t[i];yr(n,a)}}},e.prototype.applyChildrenStyles=function(t,n){(0,$u.each)(n,function(i,a){var o=t.getElementsByClassName(a);(0,$u.each)(o,function(s){yr(s,i)})})},e.prototype.applyStyle=function(t,n){var i=this.get("domStyles");yr(n,i[t])},e.prototype.createDom=function(){var t=this.get("containerTpl");return en(t)},e.prototype.initEvent=function(){},e.prototype.removeDom=function(){var t=this.get("container");t&&t.parentNode&&t.parentNode.removeChild(t)},e.prototype.removeEvent=function(){},e.prototype.updateInner=function(t){(0,$u.hasKey)(t,"domStyles")&&(this.resetStyles(),this.applyStyles()),this.resetPosition()},e.prototype.resetPosition=function(){},e}(jb),gm=Zjt;var $jt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"annotation",type:"html",locationType:"point",x:0,y:0,containerTpl:'
    ',alignX:"left",alignY:"top",html:"",zIndex:7})},e.prototype.render=function(){var t=this.getContainer(),n=this.get("html");zb(t);var i=(0,Wb.isFunction)(n)?n(t):n;(0,Wb.isElement)(i)?t.appendChild(i):(0,Wb.isString)(i)&&t.appendChild(en(i)),this.resetPosition()},e.prototype.resetPosition=function(){var t=this.getContainer(),n=this.getLocation(),i=n.x,a=n.y,o=this.get("alignX"),s=this.get("alignY"),l=this.get("offsetX"),u=this.get("offsetY"),f=d2(t),c=c2(t),h={x:i,y:a};o==="middle"?h.x-=Math.round(f/2):o==="right"&&(h.x-=Math.round(f)),s==="middle"?h.y-=Math.round(c/2):s==="bottom"&&(h.y-=Math.round(c)),l&&(h.x+=l),u&&(h.y+=u),yr(t,{position:"absolute",left:h.x+"px",top:h.y+"px",zIndex:this.get("zIndex")})},e}(gm),Let=$jt;var aE={};Dn(aE,{Base:()=>Vb,Circle:()=>Get,Line:()=>Bet});var kl=z(q());var Xn=z(q());var xL=z(q());function r0(r,e,t){var n=e+"Style",i=null;return(0,xL.each)(t,function(a,o){r[o]&&a[n]&&(i||(i={}),(0,xL.mix)(i,a[n]))}),i}var Qjt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"axis",ticks:[],line:{},tickLine:{},subTickLine:null,title:null,label:{},verticalFactor:1,verticalLimitLength:null,overlapOrder:["autoRotate","autoEllipsis","autoHide"],tickStates:{},optimize:{},defaultCfg:{line:{style:{lineWidth:1,stroke:Gr.lineColor}},tickLine:{style:{lineWidth:1,stroke:Gr.lineColor},alignTick:!0,length:5,displayWithLabel:!0},subTickLine:{style:{lineWidth:1,stroke:Gr.lineColor},count:4,length:2},label:{autoRotate:!0,autoHide:!1,autoEllipsis:!1,style:{fontSize:12,fill:Gr.textColor,fontFamily:Gr.fontFamily,fontWeight:"normal"},offset:10,offsetX:0,offsetY:0},title:{autoRotate:!0,spacing:5,position:"center",style:{fontSize:12,fill:Gr.textColor,textBaseline:"middle",fontFamily:Gr.fontFamily,textAlign:"center"}},tickStates:{active:{labelStyle:{fontWeight:500},tickLineStyle:{lineWidth:2}},inactive:{labelStyle:{fill:Gr.uncheckedColor}}},optimize:{enable:!0,threshold:400}},theme:{}})},e.prototype.renderInner=function(t){this.get("line")&&this.drawLine(t),this.drawTicks(t),this.get("title")&&this.drawTitle(t)},e.prototype.isList=function(){return!0},e.prototype.getItems=function(){return this.get("ticks")},e.prototype.setItems=function(t){this.update({ticks:t})},e.prototype.updateItem=function(t,n){(0,Xn.mix)(t,n),this.clear(),this.render()},e.prototype.clearItems=function(){var t=this.getElementByLocalId("label-group");t&&t.clear()},e.prototype.setItemState=function(t,n,i){t[n]=i,this.updateTickStates(t)},e.prototype.hasState=function(t,n){return!!t[n]},e.prototype.getItemStates=function(t){var n=this.get("tickStates"),i=[];return(0,Xn.each)(n,function(a,o){t[o]&&i.push(o)}),i},e.prototype.clearItemsState=function(t){var n=this,i=this.getItemsByState(t);(0,Xn.each)(i,function(a){n.setItemState(a,t,!1)})},e.prototype.getItemsByState=function(t){var n=this,i=this.getItems();return(0,Xn.filter)(i,function(a){return n.hasState(a,t)})},e.prototype.getSidePoint=function(t,n){var i=this,a=i.getSideVector(n,t);return{x:t.x+a[0],y:t.y+a[1]}},e.prototype.getTextAnchor=function(t){var n;return(0,Xn.isNumberEqual)(t[0],0)?n="center":t[0]>0?n="start":t[0]<0&&(n="end"),n},e.prototype.getTextBaseline=function(t){var n;return(0,Xn.isNumberEqual)(t[1],0)?n="middle":t[1]>0?n="top":t[1]<0&&(n="bottom"),n},e.prototype.processOverlap=function(t){},e.prototype.drawLine=function(t){var n=this.getLinePath(),i=this.get("line");this.addShape(t,{type:"path",id:this.getElementId("line"),name:"axis-line",attrs:(0,Xn.mix)({path:n},i.style)})},e.prototype.getTickLineItems=function(t){var n=this,i=[],a=this.get("tickLine"),o=a.alignTick,s=a.length,l=1,u=t.length;return u>=2&&(l=t[1].value-t[0].value),(0,Xn.each)(t,function(f){var c=f.point;o||(c=n.getTickPoint(f.value-l/2));var h=n.getSidePoint(c,s);i.push({startPoint:c,tickValue:f.value,endPoint:h,tickId:f.id,id:"tickline-"+f.id})}),i},e.prototype.getSubTickLineItems=function(t){var n=[],i=this.get("subTickLine"),a=i.count,o=t.length;if(o>=2)for(var s=0;s0){var i=(0,Xn.size)(n);if(i>t.threshold){var a=Math.ceil(i/t.threshold),o=n.filter(function(s,l){return l%a==0});this.set("ticks",o),this.set("originalTicks",n)}}},e.prototype.getLabelAttrs=function(t,n,i){var a=this.get("label"),o=a.offset,s=a.offsetX,l=a.offsetY,u=a.rotate,f=a.formatter,c=this.getSidePoint(t.point,o),h=this.getSideVector(o,c),d=f?f(t.name,t,n):t.name,p=a.style;p=(0,Xn.isFunction)(p)?(0,Xn.get)(this.get("theme"),["label","style"],{}):p;var v=(0,Xn.mix)({x:c.x+s,y:c.y+l,text:d,textAlign:this.getTextAnchor(h),textBaseline:this.getTextBaseline(h)},p);return u&&(v.matrix=Jf(c,u)),v},e.prototype.drawLabels=function(t){var n=this,i=this.get("ticks"),a=this.addGroup(t,{name:"axis-label-group",id:this.getElementId("label-group")});(0,Xn.each)(i,function(h,d){n.addShape(a,{type:"text",name:"axis-label",id:n.getElementId("label-"+h.id),attrs:n.getLabelAttrs(h,d,i),delegateObject:{tick:h,item:h,index:d}})}),this.processOverlap(a);var o=a.getChildren(),s=(0,Xn.get)(this.get("theme"),["label","style"],{}),l=this.get("label"),u=l.style,f=l.formatter;if((0,Xn.isFunction)(u)){var c=o.map(function(h){return(0,Xn.get)(h.get("delegateObject"),"tick")});(0,Xn.each)(o,function(h,d){var p=h.get("delegateObject").tick,v=f?f(p.name,p,d):p.name,m=(0,Xn.mix)({},s,u(v,d,c));h.attr(m)})}},e.prototype.getTitleAttrs=function(){var t=this.get("title"),n=t.style,i=t.position,a=t.offset,o=t.spacing,s=o===void 0?0:o,l=t.autoRotate,u=n.fontSize,f=.5;i==="start"?f=0:i==="end"&&(f=1);var c=this.getTickPoint(f),h=this.getSidePoint(c,a||s+u/2),d=(0,Xn.mix)({x:h.x,y:h.y,text:t.text},n),p=t.rotate,v=p;if((0,Xn.isNil)(p)&&l){var m=this.getAxisVector(c),g=[1,0];v=gr.angleTo(m,g,!0)}if(v){var x=Jf(h,v);d.matrix=x}return d},e.prototype.drawTitle=function(t){this.addShape(t,{type:"text",id:this.getElementId("title"),name:"axis-title",attrs:this.getTitleAttrs()})},e.prototype.applyTickStates=function(t,n){var i=this.getItemStates(t);if(i.length){var a=this.get("tickStates"),o=this.getElementId("label-"+t.id),s=n.findById(o);if(s){var l=r0(t,"label",a);l&&s.attr(l)}var u=this.getElementId("tickline-"+t.id),f=n.findById(u);if(f){var c=r0(t,"tickLine",a);c&&f.attr(c)}}},e.prototype.updateTickStates=function(t){var n=this.getItemStates(t),i=this.get("tickStates"),a=this.get("label"),o=this.getElementByLocalId("label-"+t.id),s=this.get("tickLine"),l=this.getElementByLocalId("tickline-"+t.id);if(n.length){if(o){var u=r0(t,"label",i);u&&o.attr(u)}if(l){var f=r0(t,"tickLine",i);f&&l.attr(f)}}else o&&o.attr(a.style),l&&l.attr(s.style)},e}(Yn),Vb=Qjt;var iE={};Dn(iE,{autoEllipsis:()=>eU,autoHide:()=>nU,autoRotate:()=>iU});var eU={};Dn(eU,{ellipsisHead:()=>tWt,ellipsisMiddle:()=>eWt,ellipsisTail:()=>Det,getDefault:()=>Jjt});var Oet=z(q());function tU(r,e,t,n){var i=e.getChildren(),a=!1;return(0,Oet.each)(i,function(o){var s=vm(r,o,t,n);a=a||s}),a}function Jjt(){return Det}function tWt(r,e,t){return tU(r,e,t,"head")}function Det(r,e,t){return tU(r,e,t,"tail")}function eWt(r,e,t){return tU(r,e,t,"middle")}var nU={};Dn(nU,{equidistance:()=>Ret,equidistanceWithReverseBoth:()=>sWt,getDefault:()=>nWt,reserveBoth:()=>oWt,reserveFirst:()=>iWt,reserveLast:()=>aWt});function rWt(r){var e=r.attr("matrix");return e&&e[0]!==1}function Pet(r){var e=rWt(r)?det(r.attr("matrix")):0;return e%360}function rU(r,e,t,n){var i=!1,a=Pet(e),o=Math.abs(r?t.attr("y")-e.attr("y"):t.attr("x")-e.attr("x")),s=(r?t.attr("y")>e.attr("y"):t.attr("x")>e.attr("x"))?e.getBBox():t.getBBox();if(r){var l=Math.abs(Math.cos(a));tE(l,0,Math.PI/180)?i=s.width+n>o:i=s.height/l+n>o}else{var l=Math.abs(Math.sin(a));tE(l,0,Math.PI/180)?i=s.width+n>o:i=s.height/l+n>o}return i}function nE(r,e,t,n){var i=(n==null?void 0:n.minGap)||0,a=e.getChildren().slice().filter(function(p){return p.get("visible")});if(!a.length)return!1;var o=!1;t&&a.reverse();for(var s=a.length,l=a[0],u=l,f=1;f1){h=Math.ceil(h);for(var v=0;v2){var o=i[0],s=i[i.length-1];o.get("visible")||(o.show(),nE(r,e,!1,n)&&(a=!0)),s.get("visible")||(s.show(),nE(r,e,!0,n)&&(a=!0))}return a}var iU={};Dn(iU,{fixedAngle:()=>Fet,getDefault:()=>uWt,unfixedAngle:()=>fWt});var bL=z(q());function lWt(r,e){(0,bL.each)(r,function(t){var n=t.attr("x"),i=t.attr("y"),a=Jf({x:n,y:i},e);t.attr("matrix",a)})}function Net(r,e,t,n){var i=e.getChildren();if(!i.length||!r&&i.length<2)return!1;var a=eE(i),o=!1;if(r)o=!!t&&a>t;else{var s=Math.abs(i[1].attr("x")-i[0].attr("x"));o=a>s}if(o){var l=n(t,a);lWt(i,l)}return o}function uWt(){return Fet}function Fet(r,e,t,n){return Net(r,e,t,function(){return(0,bL.isNumber)(n)?n:r?Gr.verticalAxisRotate:Gr.horizontalAxisRotate})}function fWt(r,e,t){return Net(r,e,t,function(n,i){if(!n)return r?Gr.verticalAxisRotate:Gr.horizontalAxisRotate;if(r)return-Math.acos(n/i);var a=0;return n>i?a=Math.PI/4:(a=Math.asin(n/i),a>Math.PI/4&&(a=Math.PI/4)),a})}var cWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getLinePath=function(){var t=this.get("start"),n=this.get("end"),i=[];return i.push(["M",t.x,t.y]),i.push(["L",n.x,n.y]),i},e.prototype.getInnerLayoutBBox=function(){var t=this.get("start"),n=this.get("end"),i=r.prototype.getInnerLayoutBBox.call(this),a=Math.min(t.x,n.x,i.x),o=Math.min(t.y,n.y,i.y),s=Math.max(t.x,n.x,i.maxX),l=Math.max(t.y,n.y,i.maxY);return{x:a,y:o,minX:a,minY:o,maxX:s,maxY:l,width:s-a,height:l-o}},e.prototype.isVertical=function(){var t=this.get("start"),n=this.get("end");return(0,kl.isNumberEqual)(t.x,n.x)},e.prototype.isHorizontal=function(){var t=this.get("start"),n=this.get("end");return(0,kl.isNumberEqual)(t.y,n.y)},e.prototype.getTickPoint=function(t){var n=this,i=n.get("start"),a=n.get("end"),o=a.x-i.x,s=a.y-i.y;return{x:i.x+o*t,y:i.y+s*t}},e.prototype.getSideVector=function(t){var n=this.getAxisVector(),i=oe.normalize([0,0],n),a=this.get("verticalFactor"),o=[i[1],i[0]*-1];return oe.scale([0,0],o,t*a)},e.prototype.getAxisVector=function(){var t=this.get("start"),n=this.get("end");return[n.x-t.x,n.y-t.y]},e.prototype.processOverlap=function(t){var n=this,i=this.isVertical(),a=this.isHorizontal();if(!(!i&&!a)){var o=this.get("label"),s=this.get("title"),l=this.get("verticalLimitLength"),u=o.offset,f=l,c=0,h=0;s&&(c=s.style.fontSize,h=s.spacing),f&&(f=f-u-h-c);var d=this.get("overlapOrder");if((0,kl.each)(d,function(m){o[m]&&n.canProcessOverlap(m)&&n.autoProcessOverlap(m,o[m],t,f)}),s&&(0,kl.isNil)(s.offset)){var p=t.getCanvasBBox(),v=i?p.width:p.height;s.offset=u+v+h+c/2}}},e.prototype.canProcessOverlap=function(t){var n=this.get("label");return t==="autoRotate"?(0,kl.isNil)(n.rotate):!0},e.prototype.autoProcessOverlap=function(t,n,i,a){var o=this,s=this.isVertical(),l=!1,u=iE[t];if(n===!0){var f=this.get("label");l=u.getDefault()(s,i,a)}else if((0,kl.isFunction)(n))l=n(s,i,a);else if((0,kl.isObject)(n)){var c=n;u[c.type]&&(l=u[c.type](s,i,a,c.cfg))}else u[n]&&(l=u[n](s,i,a));if(t==="autoRotate"){if(l){var h=i.getChildren(),d=this.get("verticalFactor");(0,kl.each)(h,function(v){var m=v.attr("textAlign");if(m==="center"){var g=d>0?"end":"start";v.attr("textAlign",g)}})}}else if(t==="autoHide"){var p=i.getChildren().slice(0);(0,kl.each)(p,function(v){v.get("visible")||(o.get("isRegister")&&o.unregisterElement(v),v.remove())})}},e}(Vb),Bet=cWt;var ec=z(q());var hWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",locationType:"circle",center:null,radius:null,startAngle:-Math.PI/2,endAngle:Math.PI*3/2})},e.prototype.getLinePath=function(){var t=this.get("center"),n=t.x,i=t.y,a=this.get("radius"),o=a,s=this.get("startAngle"),l=this.get("endAngle"),u=[];if(Math.abs(l-s)===Math.PI*2)u=[["M",n,i-o],["A",a,o,0,1,1,n,i+o],["A",a,o,0,1,1,n,i-o],["Z"]];else{var f=this.getCirclePoint(s),c=this.getCirclePoint(l),h=Math.abs(l-s)>Math.PI?1:0,d=s>l?0:1;u=[["M",n,i],["L",f.x,f.y],["A",a,o,0,h,d,c.x,c.y],["L",n,i]]}return u},e.prototype.getTickPoint=function(t){var n=this.get("startAngle"),i=this.get("endAngle"),a=n+(i-n)*t;return this.getCirclePoint(a)},e.prototype.getSideVector=function(t,n){var i=this.get("center"),a=[n.x-i.x,n.y-i.y],o=this.get("verticalFactor"),s=oe.length(a);return oe.scale(a,a,o*t/s),a},e.prototype.getAxisVector=function(t){var n=this.get("center"),i=[t.x-n.x,t.y-n.y];return[i[1],-1*i[0]]},e.prototype.getCirclePoint=function(t,n){var i=this.get("center");return n=n||this.get("radius"),{x:i.x+Math.cos(t)*n,y:i.y+Math.sin(t)*n}},e.prototype.canProcessOverlap=function(t){var n=this.get("label");return t==="autoRotate"?(0,ec.isNil)(n.rotate):!0},e.prototype.processOverlap=function(t){var n=this,i=this.get("label"),a=this.get("title"),o=this.get("verticalLimitLength"),s=i.offset,l=o,u=0,f=0;a&&(u=a.style.fontSize,f=a.spacing),l&&(l=l-s-f-u);var c=this.get("overlapOrder");if((0,ec.each)(c,function(d){i[d]&&n.canProcessOverlap(d)&&n.autoProcessOverlap(d,i[d],t,l)}),a&&(0,ec.isNil)(a.offset)){var h=t.getCanvasBBox().height;a.offset=s+h+f+u/2}},e.prototype.autoProcessOverlap=function(t,n,i,a){var o=this,s=!1,l=iE[t];if(a>0)if(n===!0)s=l.getDefault()(!1,i,a);else if((0,ec.isFunction)(n))s=n(!1,i,a);else if((0,ec.isObject)(n)){var u=n;l[u.type]&&(s=l[u.type](!1,i,a,u.cfg))}else l[n]&&(s=l[n](!1,i,a));if(t==="autoRotate"){if(s){var f=i.getChildren(),c=this.get("verticalFactor");(0,ec.each)(f,function(d){var p=d.attr("textAlign");if(p==="center"){var v=c>0?"end":"start";d.attr("textAlign",v)}})}}else if(t==="autoHide"){var h=i.getChildren().slice(0);(0,ec.each)(h,function(d){d.get("visible")||(o.get("isRegister")&&o.unregisterElement(d),d.remove())})}},e}(Vb),Get=hWt;var i0={};Dn(i0,{Base:()=>Hb,Circle:()=>jet,Html:()=>Vet,Line:()=>Uet});var zet=z(q());var dWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"crosshair",type:"base",line:{},text:null,textBackground:{},capture:!1,defaultCfg:{line:{style:{lineWidth:1,stroke:Gr.lineColor}},text:{position:"start",offset:10,autoRotate:!1,content:null,style:{fill:Gr.textColor,textAlign:"center",textBaseline:"middle",fontFamily:Gr.fontFamily}},textBackground:{padding:5,style:{stroke:Gr.lineColor}}}})},e.prototype.renderInner=function(t){this.get("line")&&this.renderLine(t),this.get("text")&&(this.renderText(t),this.renderBackground(t))},e.prototype.renderText=function(t){var n=this.get("text"),i=n.style,a=n.autoRotate,o=n.content;if(!(0,zet.isNil)(o)){var s=this.getTextPoint(),l=null;if(a){var u=this.getRotateAngle();l=Jf(s,u)}this.addShape(t,{type:"text",name:"crosshair-text",id:this.getElementId("text"),attrs:E(E(E({},s),{text:o,matrix:l}),i)})}},e.prototype.renderLine=function(t){var n=this.getLinePath(),i=this.get("line"),a=i.style;this.addShape(t,{type:"path",name:"crosshair-line",id:this.getElementId("line"),attrs:E({path:n},a)})},e.prototype.renderBackground=function(t){var n=this.getElementId("text"),i=t.findById(n),a=this.get("textBackground");if(a&&i){var o=i.getBBox(),s=Jy(a.padding),l=a.style,u=this.addShape(t,{type:"rect",name:"crosshair-text-background",id:this.getElementId("text-background"),attrs:E({x:o.x-s[3],y:o.y-s[0],width:o.width+s[1]+s[3],height:o.height+s[0]+s[2],matrix:i.attr("matrix")},l)});u.toBack()}},e}(Yn),Hb=dWt;var pWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text").position,o=Math.atan2(i.y-n.y,i.x-n.x),s=a==="start"?o-Math.PI/2:o+Math.PI/2;return s},e.prototype.getTextPoint=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text"),o=a.position,s=a.offset;return vL(n,i,o,s)},e.prototype.getLinePath=function(){var t=this.getLocation(),n=t.start,i=t.end;return[["M",n.x,n.y],["L",i.x,i.y]]},e}(Hb),Uet=pWt;var vWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:Math.PI*3/2})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),n=t.startAngle,i=t.endAngle,a=this.get("text").position,o=a==="start"?n+Math.PI/2:i-Math.PI/2;return o},e.prototype.getTextPoint=function(){var t=this.get("text"),n=t.position,i=t.offset,a=this.getLocation(),o=a.center,s=a.radius,l=a.startAngle,u=a.endAngle,f=n==="start"?l:u,c=this.getRotateAngle()-Math.PI,h=dm(o,s,f),d=Math.cos(c)*i,p=Math.sin(c)*i;return{x:h.x+d,y:h.y+p}},e.prototype.getLinePath=function(){var t=this.getLocation(),n=t.center,i=t.radius,a=t.startAngle,o=t.endAngle,s=null;if(o-a==Math.PI*2){var l=n.x,u=n.y;s=[["M",l,u-i],["A",i,i,0,1,1,l,u+i],["A",i,i,0,1,1,l,u-i],["Z"]]}else{var f=dm(n,i,a),c=dm(n,i,o),h=Math.abs(o-a)>Math.PI?1:0,d=a>o?0:1;s=[["M",f.x,f.y],["A",i,i,0,h,d,c.x,c.y]]}return s},e}(Hb),jet=vWt;var _L=z(q());var n0="g2-crosshair",oE=n0+"-line",sE=n0+"-text";var lE,Wet=(lE={},lE[""+n0]={position:"relative"},lE[""+oE]={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.25)"},lE[""+sE]={position:"absolute",color:Gr.textColor,fontFamily:Gr.fontFamily},lE);var mWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"crosshair",type:"html",locationType:"region",start:{x:0,y:0},end:{x:0,y:0},capture:!1,text:null,containerTpl:'
    ',crosshairTpl:'
    ',textTpl:'{content}',domStyles:null,containerClassName:n0,defaultStyles:Wet,defaultCfg:{text:{position:"start",content:null,align:"center",offset:10}}})},e.prototype.render=function(){this.resetText(),this.resetPosition()},e.prototype.initCrossHair=function(){var t=this.getContainer(),n=this.get("crosshairTpl"),i=en(n);t.appendChild(i),this.applyStyle(oE,i),this.set("crosshairEl",i)},e.prototype.getTextPoint=function(){var t=this.getLocation(),n=t.start,i=t.end,a=this.get("text"),o=a.position,s=a.offset;return vL(n,i,o,s)},e.prototype.resetText=function(){var t=this.get("text"),n=this.get("textEl");if(t){var i=t.content;if(!n){var a=this.getContainer(),o=(0,_L.substitute)(this.get("textTpl"),t);n=en(o),a.appendChild(n),this.applyStyle(sE,n),this.set("textEl",n)}n.innerHTML=i}else n&&n.remove()},e.prototype.isVertical=function(t,n){return t.x===n.x},e.prototype.resetPosition=function(){var t=this.get("crosshairEl");t||(this.initCrossHair(),t=this.get("crosshairEl"));var n=this.get("start"),i=this.get("end"),a=Math.min(n.x,i.x),o=Math.min(n.y,i.y);this.isVertical(n,i)?yr(t,{width:"1px",height:As(Math.abs(i.y-n.y))}):yr(t,{height:"1px",width:As(Math.abs(i.x-n.x))}),yr(t,{top:As(o),left:As(a)}),this.alignText()},e.prototype.alignText=function(){var t=this.get("textEl");if(t){var n=this.get("text").align,i=t.clientWidth,a=this.getTextPoint();switch(n){case"center":a.x=a.x-i/2;break;case"right":a.x=a.x-i;case"left":break}yr(t,{top:As(a.y),left:As(a.x)})}},e.prototype.updateInner=function(t){(0,_L.hasKey)(t,"text")&&this.resetText(),r.prototype.updateInner.call(this,t)},e}(gm),Vet=mWt;var uE={};Dn(uE,{Base:()=>Yb,Circle:()=>Het,Line:()=>Xet});var ym=z(q());var gWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"grid",line:{},alternateColor:null,capture:!1,items:[],closed:!1,defaultCfg:{line:{type:"line",style:{lineWidth:1,stroke:Gr.lineColor}}}})},e.prototype.getLineType=function(){var t=this.get("line")||this.get("defaultCfg").line;return t.type},e.prototype.renderInner=function(t){this.drawGrid(t)},e.prototype.getAlternatePath=function(t,n){var i=this.getGridPath(t),a=n.slice(0).reverse(),o=this.getGridPath(a,!0),s=this.get("closed");return s?i=i.concat(o):(o[0][0]="L",i=i.concat(o),i.push(["Z"])),i},e.prototype.getPathStyle=function(){return this.get("line").style},e.prototype.drawGrid=function(t){var n=this,i=this.get("line"),a=this.get("items"),o=this.get("alternateColor"),s=null;(0,ym.each)(a,function(l,u){var f=l.id||u;if(i){var c=n.getPathStyle();c=(0,ym.isFunction)(c)?c(l,u,a):c;var h=n.getElementId("line-"+f),d=n.getGridPath(l.points);n.addShape(t,{type:"path",name:"grid-line",id:h,attrs:(0,ym.mix)({path:d},c)})}if(o&&u>0){var p=n.getElementId("region-"+f),v=u%2==0;if((0,ym.isString)(o))v&&n.drawAlternateRegion(p,t,s.points,l.points,o);else{var m=v?o[1]:o[0];n.drawAlternateRegion(p,t,s.points,l.points,m)}}s=l})},e.prototype.drawAlternateRegion=function(t,n,i,a,o){var s=this.getAlternatePath(i,a);this.addShape(n,{type:"path",id:t,name:"grid-region",attrs:{path:s,fill:o}})},e}(Yn),Yb=gWt;var aU=z(q());function yWt(r,e,t,n){var i=t-r,a=n-e;return Math.sqrt(i*i+a*a)}var xWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"circle",center:null,closed:!0})},e.prototype.getGridPath=function(t,n){var i=this.getLineType(),a=this.get("closed"),o=[];if(t.length)if(i==="circle"){var s=this.get("center"),l=t[0],u=yWt(s.x,s.y,l.x,l.y),f=n?0:1;a?(o.push(["M",s.x,s.y-u]),o.push(["A",u,u,0,0,f,s.x,s.y+u]),o.push(["A",u,u,0,0,f,s.x,s.y-u]),o.push(["Z"])):(0,aU.each)(t,function(c,h){h===0?o.push(["M",c.x,c.y]):o.push(["A",u,u,0,0,f,c.x,c.y])})}else(0,aU.each)(t,function(c,h){h===0?o.push(["M",c.x,c.y]):o.push(["L",c.x,c.y])}),a&&o.push(["Z"]);return o},e}(Yb),Het=xWt;var Yet=z(q());var bWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"line"})},e.prototype.getGridPath=function(t){var n=[];return(0,Yet.each)(t,function(i,a){a===0?n.push(["M",i.x,i.y]):n.push(["L",i.x,i.y])}),n},e}(Yb),Xet=bWt;var fE={};Dn(fE,{Base:()=>Xb,Category:()=>Ket,Continuous:()=>$et});var _i=z(q());var _Wt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"legend",layout:"horizontal",locationType:"point",x:0,y:0,offsetX:0,offsetY:0,title:null,background:null})},e.prototype.getLayoutBBox=function(){var t=r.prototype.getLayoutBBox.call(this),n=this.get("maxWidth"),i=this.get("maxHeight"),a=t.width,o=t.height;return n&&(a=Math.min(a,n)),i&&(o=Math.min(o,i)),Ub(t.minX,t.minY,a,o)},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.resetLocation=function(){var t=this.get("x"),n=this.get("y"),i=this.get("offsetX"),a=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t+i,y:n+a})},e.prototype.applyOffset=function(){this.resetLocation()},e.prototype.getDrawPoint=function(){return this.get("currentPoint")},e.prototype.setDrawPoint=function(t){return this.set("currentPoint",t)},e.prototype.renderInner=function(t){this.resetDraw(),this.get("title")&&this.drawTitle(t),this.drawLegendContent(t),this.get("background")&&this.drawBackground(t)},e.prototype.drawBackground=function(t){var n=this.get("background"),i=t.getBBox(),a=Jy(n.padding),o=E({x:0,y:0,width:i.width+a[1]+a[3],height:i.height+a[0]+a[2]},n.style),s=this.addShape(t,{type:"rect",id:this.getElementId("background"),name:"legend-background",attrs:o});s.toBack()},e.prototype.drawTitle=function(t){var n=this.get("currentPoint"),i=this.get("title"),a=i.spacing,o=i.style,s=i.text,l=this.addShape(t,{type:"text",id:this.getElementId("title"),name:"legend-title",attrs:E({text:s,x:n.x,y:n.y},o)}),u=l.getBBox();this.set("currentPoint",{x:n.x,y:u.maxY+a})},e.prototype.resetDraw=function(){var t=this.get("background"),n={x:0,y:0};if(t){var i=Jy(t.padding);n.x=i[3],n.y=i[0]}this.set("currentPoint",n)},e}(Yn),Xb=_Wt;var oU={marker:{style:{inactiveFill:"#000",inactiveOpacity:.45,fill:"#000",opacity:1,size:12}},text:{style:{fill:"#ccc",fontSize:12}}},SL={fill:Gr.textColor,fontSize:12,textAlign:"start",textBaseline:"middle",fontFamily:Gr.fontFamily,fontWeight:"normal",lineHeight:12},sU="navigation-arrow-right",lU="navigation-arrow-left",qet={right:90*Math.PI/180,left:(360-90)*Math.PI/180,up:0,down:180*Math.PI/180},SWt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.currentPageIndex=1,t.totalPagesCnt=1,t.pageWidth=0,t.pageHeight=0,t.startX=0,t.startY=0,t.onNavigationBack=function(){var n=t.getElementByLocalId("item-group");if(t.currentPageIndex>1){t.currentPageIndex-=1,t.updateNavigation();var i=t.getCurrentNavigationMatrix();t.get("animate")?n.animate({matrix:i},100):n.attr({matrix:i})}},t.onNavigationAfter=function(){var n=t.getElementByLocalId("item-group");if(t.currentPageIndexm&&(m=A),d==="horizontal"?(g&&gS&&(S=M.width)}),C=S,S+=h,u&&(S=Math.min(u,S),C=Math.min(u,C)),this.pageWidth=S,this.pageHeight=f-Math.max(m.height,d+w);var k=Math.floor(this.pageHeight/(d+w));(0,_i.each)(l,function(O,M){M!==0&&M%k==0&&(x+=1,g.x+=S,g.y=o),i.moveElementTo(O,g),O.getParent().setClip({type:"rect",attrs:{x:g.x,y:g.y,width:S,height:d}}),g.y+=d+w}),this.totalPagesCnt=x,this.moveElementTo(v,{x:a+C/2-m.width/2-m.minX,y:f-m.height-m.minY})}this.pageHeight&&this.pageWidth&&n.getParent().setClip({type:"rect",attrs:{x:this.startX,y:this.startY,width:this.pageWidth,height:this.pageHeight}}),s==="horizontal"&&this.get("maxRow")?this.totalPagesCnt=Math.ceil(x/this.get("maxRow")):this.totalPagesCnt=x,this.currentPageIndex>this.totalPagesCnt&&(this.currentPageIndex=1),this.updateNavigation(v),n.attr("matrix",this.getCurrentNavigationMatrix())},e.prototype.drawNavigation=function(t,n,i,a){var o={x:0,y:0},s=this.addGroup(t,{id:this.getElementId("navigation-group"),name:"legend-navigation"}),l=(0,_i.get)(a.marker,"style",{}),u=l.size,f=u===void 0?12:u,c=rr(l,["size"]),h=this.drawArrow(s,o,lU,n==="horizontal"?"up":"left",f,c);h.on("click",this.onNavigationBack);var d=h.getBBox();o.x+=d.width+2;var p=this.addShape(s,{type:"text",id:this.getElementId("navigation-text"),name:"navigation-text",attrs:E({x:o.x,y:o.y+f/2,text:i,textBaseline:"middle"},(0,_i.get)(a.text,"style"))}),v=p.getBBox();o.x+=v.width+2;var m=this.drawArrow(s,o,sU,n==="horizontal"?"down":"right",f,c);return m.on("click",this.onNavigationAfter),s},e.prototype.updateNavigation=function(t){var n=(0,_i.deepMix)({},oU,this.get("pageNavigator")),i=n.marker.style,a=i.fill,o=i.opacity,s=i.inactiveFill,l=i.inactiveOpacity,u=this.currentPageIndex+"/"+this.totalPagesCnt,f=t?t.getChildren()[1]:this.getElementByLocalId("navigation-text"),c=t?t.findById(this.getElementId(lU)):this.getElementByLocalId(lU),h=t?t.findById(this.getElementId(sU)):this.getElementByLocalId(sU);f.attr("text",u),c.attr("opacity",this.currentPageIndex===1?l:o),c.attr("fill",this.currentPageIndex===1?s:a),c.attr("cursor",this.currentPageIndex===1?"not-allowed":"pointer"),h.attr("opacity",this.currentPageIndex===this.totalPagesCnt?l:o),h.attr("fill",this.currentPageIndex===this.totalPagesCnt?s:a),h.attr("cursor",this.currentPageIndex===this.totalPagesCnt?"not-allowed":"pointer");var d=c.getBBox().maxX+2;f.attr("x",d),d+=f.getBBox().width+2,this.updateArrowPath(h,{x:d,y:0})},e.prototype.drawArrow=function(t,n,i,a,o,s){var l=n.x,u=n.y,f=this.addShape(t,{type:"path",id:this.getElementId(i),name:i,attrs:E({size:o,direction:a,path:[["M",l+o/2,u],["L",l,u+o],["L",l+o,u+o],["Z"]],cursor:"pointer"},s)});return f.attr("matrix",Jf({x:l+o/2,y:u+o/2},qet[a])),f},e.prototype.updateArrowPath=function(t,n){var i=n.x,a=n.y,o=t.attr(),s=o.size,l=o.direction,u=Jf({x:i+s/2,y:a+s/2},qet[l]);t.attr("path",[["M",i+s/2,a],["L",i,a+s],["L",i+s,a+s],["Z"]]),t.attr("matrix",u)},e.prototype.getCurrentNavigationMatrix=function(){var t=this,n=t.currentPageIndex,i=t.pageWidth,a=t.pageHeight,o=this.get("layout"),s=o==="horizontal"?{x:0,y:a*(1-n)}:{x:i*(1-n),y:0};return Jw(s)},e.prototype.applyItemStates=function(t,n){var i=this.getItemStates(t),a=i.length>0;if(a){var o=n.getChildren(),s=this.get("itemStates");(0,_i.each)(o,function(l){var u=l.get("name"),f=u.split("-")[2],c=r0(t,f,s);c&&(l.attr(c),f==="marker"&&!(l.get("isStroke")&&l.get("isFill"))&&(l.get("isStroke")&&l.attr("fill",null),l.get("isFill")&&l.attr("stroke",null)))})}},e.prototype.getLimitItemWidth=function(){var t=this.get("itemWidth"),n=this.get("maxItemWidth");return n?t&&(n=t<=n?t:n):t&&(n=t),n},e}(Xb),Ket=SWt;var xm=z(q());var CWt=1.4,Zet=.4,wWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{type:"continue",min:0,max:100,value:null,colors:[],track:{},rail:{},label:{},handler:{},slidable:!0,tip:null,step:null,maxWidth:null,maxHeight:null,defaultCfg:{label:{align:"rail",spacing:5,formatter:null,style:{fontSize:12,fill:Gr.textColor,textBaseline:"middle",fontFamily:Gr.fontFamily}},handler:{size:10,style:{fill:"#fff",stroke:"#333"}},track:{},rail:{type:"color",size:20,defaultLength:100,style:{fill:"#DCDEE2"}},title:{spacing:5,style:{fill:Gr.textColor,fontSize:12,textAlign:"start",textBaseline:"top"}}}})},e.prototype.isSlider=function(){return!0},e.prototype.getValue=function(){return this.getCurrentValue()},e.prototype.getRange=function(){return{min:this.get("min"),max:this.get("max")}},e.prototype.setRange=function(t,n){this.update({min:t,max:n})},e.prototype.setValue=function(t){var n=this.getValue();this.set("value",t);var i=this.get("group");this.resetTrackClip(),this.get("slidable")&&this.resetHandlers(i),this.delegateEmit("valuechanged",{originValue:n,value:t})},e.prototype.initEvent=function(){var t=this.get("group");this.bindSliderEvent(t),this.bindRailEvent(t),this.bindTrackEvent(t)},e.prototype.drawLegendContent=function(t){this.drawRail(t),this.drawLabels(t),this.fixedElements(t),this.resetTrack(t),this.resetTrackClip(t),this.get("slidable")&&this.resetHandlers(t)},e.prototype.bindSliderEvent=function(t){this.bindHandlersEvent(t)},e.prototype.bindHandlersEvent=function(t){var n=this;t.on("legend-handler-min:drag",function(i){var a=n.getValueByCanvasPoint(i.x,i.y),o=n.getCurrentValue(),s=o[1];sa&&(s=a),n.setValue([s,a])})},e.prototype.bindRailEvent=function(t){},e.prototype.bindTrackEvent=function(t){var n=this,i=null;t.on("legend-track:dragstart",function(a){i={x:a.x,y:a.y}}),t.on("legend-track:drag",function(a){if(!!i){var o=n.getValueByCanvasPoint(i.x,i.y),s=n.getValueByCanvasPoint(a.x,a.y),l=n.getCurrentValue(),u=l[1]-l[0],f=n.getRange(),c=s-o;c<0?l[0]+c>f.min?n.setValue([l[0]+c,l[1]+c]):n.setValue([f.min,f.min+u]):c>0&&(c>0&&l[1]+co&&(c=o),c0&&this.changeRailLength(a,s,i[s]-d)}},e.prototype.changeRailLength=function(t,n,i){var a=t.getBBox(),o;n==="height"?o=this.getRailPath(a.x,a.y,a.width,i):o=this.getRailPath(a.x,a.y,i,a.height),t.attr("path",o)},e.prototype.changeRailPosition=function(t,n,i){var a=t.getBBox(),o=this.getRailPath(n,i,a.width,a.height);t.attr("path",o)},e.prototype.fixedHorizontal=function(t,n,i,a){var o=this.get("label"),s=o.align,l=o.spacing,u=i.getBBox(),f=t.getBBox(),c=n.getBBox(),h=u.height;this.fitRailLength(f,c,u,i),u=i.getBBox(),s==="rail"?(t.attr({x:a.x,y:a.y+h/2}),this.changeRailPosition(i,a.x+f.width+l,a.y),n.attr({x:a.x+f.width+u.width+l*2,y:a.y+h/2})):s==="top"?(t.attr({x:a.x,y:a.y}),n.attr({x:a.x+u.width,y:a.y}),this.changeRailPosition(i,a.x,a.y+f.height+l)):(this.changeRailPosition(i,a.x,a.y),t.attr({x:a.x,y:a.y+u.height+l}),n.attr({x:a.x+u.width,y:a.y+u.height+l}))},e.prototype.fixedVertail=function(t,n,i,a){var o=this.get("label"),s=o.align,l=o.spacing,u=i.getBBox(),f=t.getBBox(),c=n.getBBox();if(this.fitRailLength(f,c,u,i),u=i.getBBox(),s==="rail")t.attr({x:a.x,y:a.y}),this.changeRailPosition(i,a.x,a.y+f.height+l),n.attr({x:a.x,y:a.y+f.height+u.height+l*2});else if(s==="right")t.attr({x:a.x+u.width+l,y:a.y}),this.changeRailPosition(i,a.x,a.y),n.attr({x:a.x+u.width+l,y:a.y+u.height});else{var h=Math.max(f.width,c.width);t.attr({x:a.x,y:a.y}),this.changeRailPosition(i,a.x+h+l,a.y),n.attr({x:a.x,y:a.y+u.height})}},e}(Xb),$et=wWt;var TL={};Dn(TL,{Html:()=>ert});var vh=z(q());var is={};Dn(is,{CONTAINER_CLASS:()=>cE,CROSSHAIR_X:()=>AL,CROSSHAIR_Y:()=>ML,LIST_CLASS:()=>dE,LIST_ITEM_CLASS:()=>CL,MARKER_CLASS:()=>wL,NAME_CLASS:()=>Qet,TITLE_CLASS:()=>hE,VALUE_CLASS:()=>EL});var cE="g2-tooltip",hE="g2-tooltip-title",dE="g2-tooltip-list",CL="g2-tooltip-list-item",wL="g2-tooltip-marker",EL="g2-tooltip-value",Qet="g2-tooltip-name",AL="g2-tooltip-crosshair-x",ML="g2-tooltip-crosshair-y";var ph,Jet=(ph={},ph[""+cE]={position:"absolute",visibility:"visible",zIndex:8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)",backgroundColor:"rgba(255, 255, 255, 0.9)",boxShadow:"0px 0px 10px #aeaeae",borderRadius:"3px",color:"rgb(87, 87, 87)",fontSize:"12px",fontFamily:Gr.fontFamily,lineHeight:"20px",padding:"10px 10px 6px 10px"},ph[""+hE]={marginBottom:"4px"},ph[""+dE]={margin:"0px",listStyleType:"none",padding:"0px"},ph[""+CL]={listStyleType:"none",marginBottom:"4px"},ph[""+wL]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},ph[""+EL]={display:"inline-block",float:"right",marginLeft:"30px"},ph[""+AL]={position:"absolute",width:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},ph[""+ML]={position:"absolute",height:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},ph);function EWt(r,e,t,n,i){var a={left:ri.x+i.width,top:ei.y+i.height};return a}function AWt(r,e,t,n,i,a){var o=r,s=e;switch(a){case"left":o=r-n-t,s=e-i/2;break;case"right":o=r+t,s=e-i/2;break;case"top":o=r-n/2,s=e-i-t;break;case"bottom":o=r-n/2,s=e+t;break;default:o=r+t,s=e-i-t;break}return{x:o,y:s}}function trt(r,e,t,n,i,a,o){var s=AWt(r,e,t,n,i,a);if(o){var l=EWt(s.x,s.y,n,i,o);a==="auto"?(l.right&&(s.x=Math.max(0,r-n-t)),l.top&&(s.y=Math.max(0,e-i-t))):a==="top"||a==="bottom"?(l.left&&(s.x=o.x),l.right&&(s.x=o.x+o.width-n),a==="top"&&l.top&&(s.y=e+t),a==="bottom"&&l.bottom&&(s.y=e-i-t)):(l.top&&(s.y=o.y),l.bottom&&(s.y=o.y+o.height-i),a==="left"&&l.left&&(s.x=r+t),a==="right"&&l.right&&(s.x=r-n-t))}return s}function MWt(r,e){var t=!1;return(0,vh.each)(e,function(n){if((0,vh.hasKey)(r,n))return t=!0,!1}),t}var TWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"tooltip",type:"html",x:0,y:0,items:[],customContent:null,containerTpl:'
      ',itemTpl:'
    • + + {name}: + {value} +
    • `,xCrosshairTpl:'
      ',yCrosshairTpl:'
      ',title:null,showTitle:!0,region:null,crosshairsRegion:null,containerClassName:cE,crosshairs:null,offset:10,position:"right",domStyles:null,defaultStyles:Jet})},e.prototype.render=function(){this.get("customContent")?this.renderCustomContent():(this.resetTitle(),this.renderItems()),this.resetPosition()},e.prototype.clear=function(){this.clearCrosshairs(),this.setTitle(""),this.clearItemDoms()},e.prototype.show=function(){var t=this.getContainer();!t||this.destroyed||(this.set("visible",!0),yr(t,{visibility:"visible"}),this.setCrossHairsVisible(!0))},e.prototype.hide=function(){var t=this.getContainer();!t||this.destroyed||(this.set("visible",!1),yr(t,{visibility:"hidden"}),this.setCrossHairsVisible(!1))},e.prototype.getLocation=function(){return{x:this.get("x"),y:this.get("y")}},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetPosition()},e.prototype.setCrossHairsVisible=function(t){var n=t?"":"none",i=this.get("xCrosshairDom"),a=this.get("yCrosshairDom");i&&yr(i,{display:n}),a&&yr(a,{display:n})},e.prototype.initContainer=function(){if(r.prototype.initContainer.call(this),this.get("customContent")){this.get("container")&&this.get("container").remove();var t=this.getHtmlContentNode();this.get("parent").appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()}},e.prototype.updateInner=function(t){this.get("customContent")?this.renderCustomContent():(MWt(t,["title","showTitle"])&&this.resetTitle(),(0,vh.hasKey)(t,"items")&&this.renderItems()),r.prototype.updateInner.call(this,t)},e.prototype.initDom=function(){this.cacheDoms()},e.prototype.removeDom=function(){r.prototype.removeDom.call(this),this.clearCrosshairs()},e.prototype.resetPosition=function(){var t=this.get("x"),n=this.get("y"),i=this.get("offset"),a=this.getOffset(),o=a.offsetX,s=a.offsetY,l=this.get("position"),u=this.get("region"),f=this.getContainer(),c=this.getBBox(),h=c.width,d=c.height,p;u&&(p=op(u));var v=trt(t,n,i,h,d,l,p);yr(f,{left:As(v.x+o),top:As(v.y+s)}),this.resetCrosshairs()},e.prototype.renderCustomContent=function(){var t=this.getHtmlContentNode(),n=this.get("parent"),i=this.get("container");i&&i.parentNode===n?n.replaceChild(t,i):n.appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()},e.prototype.getHtmlContentNode=function(){var t,n=this.get("customContent");if(n){var i=n(this.get("title"),this.get("items"));(0,vh.isElement)(i)?t=i:t=en(i)}return t},e.prototype.cacheDoms=function(){var t=this.getContainer(),n=t.getElementsByClassName(hE)[0],i=t.getElementsByClassName(dE)[0];this.set("titleDom",n),this.set("listDom",i)},e.prototype.resetTitle=function(){var t=this.get("title"),n=this.get("showTitle");n&&t?this.setTitle(t):this.setTitle("")},e.prototype.setTitle=function(t){var n=this.get("titleDom");n&&(n.innerText=t)},e.prototype.resetCrosshairs=function(){var t=this.get("crosshairsRegion"),n=this.get("crosshairs");if(!t||!n)this.clearCrosshairs();else{var i=op(t),a=this.get("xCrosshairDom"),o=this.get("yCrosshairDom");n==="x"?(this.resetCrosshair("x",i),o&&(o.remove(),this.set("yCrosshairDom",null))):n==="y"?(this.resetCrosshair("y",i),a&&(a.remove(),this.set("xCrosshairDom",null))):(this.resetCrosshair("x",i),this.resetCrosshair("y",i)),this.setCrossHairsVisible(this.get("visible"))}},e.prototype.resetCrosshair=function(t,n){var i=this.checkCrosshair(t),a=this.get(t);t==="x"?yr(i,{left:As(a),top:As(n.y),height:As(n.height)}):yr(i,{top:As(a),left:As(n.x),width:As(n.width)})},e.prototype.checkCrosshair=function(t){var n=t+"CrosshairDom",i=t+"CrosshairTpl",a="CROSSHAIR_"+t.toUpperCase(),o=is[a],s=this.get(n),l=this.get("parent");return s||(s=en(this.get(i)),this.applyStyle(o,s),l.appendChild(s),this.set(n,s)),s},e.prototype.renderItems=function(){this.clearItemDoms();var t=this.get("items"),n=this.get("itemTpl"),i=this.get("listDom");i&&((0,vh.each)(t,function(a){var o=gu.toCSSGradient(a.color),s=E(E({},a),{color:o}),l=(0,vh.substitute)(n,s),u=en(l);i.appendChild(u)}),this.applyChildrenStyles(i,this.get("domStyles")))},e.prototype.clearItemDoms=function(){this.get("listDom")&&zb(this.get("listDom"))},e.prototype.clearCrosshairs=function(){var t=this.get("xCrosshairDom"),n=this.get("yCrosshairDom");t&&t.remove(),n&&n.remove(),this.set("xCrosshairDom",null),this.set("yCrosshairDom",null)},e}(gm),ert=TWt;var Si=z(q());var rrt={opacity:0},nrt={stroke:"#C5C5C5",strokeOpacity:.85},irt={fill:"#CACED4",opacity:.85};var mh=z(q());function IWt(r){return(0,mh.map)(r,function(e,t){var n=t===0?"M":"L",i=e[0],a=e[1];return[n,i,a]})}function art(r){return IWt(r)}function LWt(r){if(r.length<=2)return art(r);var e=[];(0,mh.each)(r,function(o){(0,mh.isEqual)(o,e.slice(e.length-2))||e.push(o[0],o[1])});var t=Hy(e,!1),n=(0,mh.head)(r),i=n[0],a=n[1];return t.unshift(["M",i,a]),t}function ort(r,e,t,n){n===void 0&&(n=!0);var i=new Qf({values:r}),a=new sh({values:(0,mh.map)(r,function(s,l){return l})}),o=(0,mh.map)(r,function(s,l){return[a.scale(l)*e,t-i.scale(s)*t]});return n?LWt(o):art(o)}function OWt(r,e){var t=new Qf({values:r}),n=Math.max(0,t.min);return e-t.scale(n)*e}function srt(r,e,t,n){var i=dn(r),a=OWt(n,t);return i.push(["L",e,a]),i.push(["L",0,a]),i.push(["Z"]),i}var lrt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"trend",x:0,y:0,width:200,height:16,smooth:!0,isArea:!1,data:[],backgroundStyle:rrt,lineStyle:nrt,areaStyle:irt})},e.prototype.renderInner=function(t){var n=this.cfg,i=n.width,a=n.height,o=n.data,s=n.smooth,l=n.isArea,u=n.backgroundStyle,f=n.lineStyle,c=n.areaStyle;this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:E({x:0,y:0,width:i,height:a},u)});var h=ort(o,i,a,s);if(this.addShape(t,{id:this.getElementId("line"),type:"path",attrs:E({path:h},f)}),l){var d=srt(h,i,a,o);this.addShape(t,{id:this.getElementId("area"),type:"path",attrs:E({path:d},c)})}},e.prototype.applyOffset=function(){var t=this.cfg,n=t.x,i=t.y;this.moveElementTo(this.get("group"),{x:n,y:i})},e}(Yn);var uU={fill:"#F7F7F7",stroke:"#BFBFBF",radius:2,opacity:1,cursor:"ew-resize",highLightFill:"#FFF"},fU=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"handler",x:0,y:0,width:10,height:24,style:uU})},e.prototype.renderInner=function(t){var n=this.cfg,i=n.width,a=n.height,o=n.style,s=o.fill,l=o.stroke,u=o.radius,f=o.opacity,c=o.cursor;this.addShape(t,{type:"rect",id:this.getElementId("background"),attrs:{x:0,y:0,width:i,height:a,fill:s,stroke:l,radius:u,opacity:f,cursor:c}});var h=1/3*i,d=2/3*i,p=1/4*a,v=3/4*a;this.addShape(t,{id:this.getElementId("line-left"),type:"line",attrs:{x1:h,y1:p,x2:h,y2:v,stroke:l,cursor:c}}),this.addShape(t,{id:this.getElementId("line-right"),type:"line",attrs:{x1:d,y1:p,x2:d,y2:v,stroke:l,cursor:c}})},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.bindEvents=function(){var t=this;this.get("group").on("mouseenter",function(){var n=t.get("style").highLightFill;t.getElementByLocalId("background").attr("fill",n),t.draw()}),this.get("group").on("mouseleave",function(){var n=t.get("style").fill;t.getElementByLocalId("background").attr("fill",n),t.draw()})},e.prototype.draw=function(){var t=this.get("container").get("canvas");t&&t.draw()},e}(Yn);var urt={fill:"#416180",opacity:.05},frt={fill:"#5B8FF9",opacity:.15,cursor:"move"},pE=10,crt={width:pE,height:24},hrt={textBaseline:"middle",fill:"#000",opacity:.45},drt="sliderchange";var vE=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.onMouseDown=function(n){return function(i){t.currentTarget=n;var a=i.originalEvent;a.stopPropagation(),a.preventDefault(),t.prevX=(0,Si.get)(a,"touches.0.pageX",a.pageX),t.prevY=(0,Si.get)(a,"touches.0.pageY",a.pageY);var o=t.getContainerDOM();o.addEventListener("mousemove",t.onMouseMove),o.addEventListener("mouseup",t.onMouseUp),o.addEventListener("mouseleave",t.onMouseUp),o.addEventListener("touchmove",t.onMouseMove),o.addEventListener("touchend",t.onMouseUp),o.addEventListener("touchcancel",t.onMouseUp)}},t.onMouseMove=function(n){var i=t.cfg.width,a=[t.get("start"),t.get("end")];n.stopPropagation(),n.preventDefault();var o=(0,Si.get)(n,"touches.0.pageX",n.pageX),s=(0,Si.get)(n,"touches.0.pageY",n.pageY),l=o-t.prevX,u=t.adjustOffsetRange(l/i);t.updateStartEnd(u),t.updateUI(t.getElementByLocalId("foreground"),t.getElementByLocalId("minText"),t.getElementByLocalId("maxText")),t.prevX=o,t.prevY=s,t.draw(),t.emit(drt,[t.get("start"),t.get("end")].sort()),t.delegateEmit("valuechanged",{originValue:a,value:[t.get("start"),t.get("end")]})},t.onMouseUp=function(){t.currentTarget&&(t.currentTarget=void 0);var n=t.getContainerDOM();n&&(n.removeEventListener("mousemove",t.onMouseMove),n.removeEventListener("mouseup",t.onMouseUp),n.removeEventListener("mouseleave",t.onMouseUp),n.removeEventListener("touchmove",t.onMouseMove),n.removeEventListener("touchend",t.onMouseUp),n.removeEventListener("touchcancel",t.onMouseUp))},t}return e.prototype.setRange=function(t,n){this.set("minLimit",t),this.set("maxLimit",n);var i=this.get("start"),a=this.get("end"),o=(0,Si.clamp)(i,t,n),s=(0,Si.clamp)(a,t,n);!this.get("isInit")&&(i!==o||a!==s)&&this.setValue([o,s])},e.prototype.getRange=function(){return{min:this.get("minLimit")||0,max:this.get("maxLimit")||1}},e.prototype.setValue=function(t){var n=this.getRange();if((0,Si.isArray)(t)&&t.length===2){var i=[this.get("start"),this.get("end")];this.update({start:(0,Si.clamp)(t[0],n.min,n.max),end:(0,Si.clamp)(t[1],n.min,n.max)}),this.get("updateAutoRender")||this.render(),this.delegateEmit("valuechanged",{originValue:i,value:t})}},e.prototype.getValue=function(){return[this.get("start"),this.get("end")]},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"slider",x:0,y:0,width:100,height:16,backgroundStyle:{},foregroundStyle:{},handlerStyle:{},textStyle:{},defaultCfg:{backgroundStyle:urt,foregroundStyle:frt,handlerStyle:crt,textStyle:hrt}})},e.prototype.update=function(t){var n=t.start,i=t.end,a=E({},t);(0,Si.isNil)(n)||(a.start=(0,Si.clamp)(n,0,1)),(0,Si.isNil)(i)||(a.end=(0,Si.clamp)(i,0,1)),r.prototype.update.call(this,a),this.minHandler=this.getChildComponentById(this.getElementId("minHandler")),this.maxHandler=this.getChildComponentById(this.getElementId("maxHandler")),this.trend=this.getChildComponentById(this.getElementId("trend"))},e.prototype.init=function(){this.set("start",(0,Si.clamp)(this.get("start"),0,1)),this.set("end",(0,Si.clamp)(this.get("end"),0,1)),r.prototype.init.call(this)},e.prototype.render=function(){r.prototype.render.call(this),this.updateUI(this.getElementByLocalId("foreground"),this.getElementByLocalId("minText"),this.getElementByLocalId("maxText"))},e.prototype.renderInner=function(t){var n=this.cfg,i=n.start,a=n.end,o=n.width,s=n.height,l=n.trendCfg,u=l===void 0?{}:l,f=n.minText,c=n.maxText,h=n.backgroundStyle,d=h===void 0?{}:h,p=n.foregroundStyle,v=p===void 0?{}:p,m=n.textStyle,g=m===void 0?{}:m,x=(0,Si.deepMix)({},uU,this.cfg.handlerStyle),b=i*o,S=a*o;(0,Si.size)((0,Si.get)(u,"data"))&&(this.trend=this.addComponent(t,E({component:lrt,id:this.getElementId("trend"),x:0,y:0,width:o,height:s},u))),this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:E({x:0,y:0,width:o,height:s},d)});var C=this.addShape(t,{id:this.getElementId("minText"),type:"text",attrs:E({y:s/2,textAlign:"right",text:f,silent:!1},g)}),w=this.addShape(t,{id:this.getElementId("maxText"),type:"text",attrs:E({y:s/2,textAlign:"left",text:c,silent:!1},g)}),A=this.addShape(t,{id:this.getElementId("foreground"),name:"foreground",type:"rect",attrs:E({y:0,height:s},v)}),L=(0,Si.get)(x,"width",pE),k=(0,Si.get)(x,"height",24);this.minHandler=this.addComponent(t,{component:fU,id:this.getElementId("minHandler"),name:"handler-min",x:0,y:(s-k)/2,width:L,height:k,cursor:"ew-resize",style:x}),this.maxHandler=this.addComponent(t,{component:fU,id:this.getElementId("maxHandler"),name:"handler-max",x:0,y:(s-k)/2,width:L,height:k,cursor:"ew-resize",style:x})},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.updateUI=function(t,n,i){var a=this.cfg,o=a.start,s=a.end,l=a.width,u=a.minText,f=a.maxText,c=a.handlerStyle,h=a.height,d=o*l,p=s*l;this.trend&&(this.trend.update({width:l,height:h}),this.get("updateAutoRender")||this.trend.render()),t.attr("x",d),t.attr("width",p-d);var v=(0,Si.get)(c,"width",pE);n.attr("text",u),i.attr("text",f);var m=this._dodgeText([d,p],n,i),g=m[0],x=m[1];this.minHandler&&(this.minHandler.update({x:d-v/2}),this.get("updateAutoRender")||this.minHandler.render()),(0,Si.each)(g,function(b,S){return n.attr(S,b)}),this.maxHandler&&(this.maxHandler.update({x:p-v/2}),this.get("updateAutoRender")||this.maxHandler.render()),(0,Si.each)(x,function(b,S){return i.attr(S,b)})},e.prototype.bindEvents=function(){var t=this.get("group");t.on("handler-min:mousedown",this.onMouseDown("minHandler")),t.on("handler-min:touchstart",this.onMouseDown("minHandler")),t.on("handler-max:mousedown",this.onMouseDown("maxHandler")),t.on("handler-max:touchstart",this.onMouseDown("maxHandler"));var n=t.findById(this.getElementId("foreground"));n.on("mousedown",this.onMouseDown("foreground")),n.on("touchstart",this.onMouseDown("foreground"))},e.prototype.adjustOffsetRange=function(t){var n=this.cfg,i=n.start,a=n.end;switch(this.currentTarget){case"minHandler":{var o=0-i,s=1-i;return Math.min(s,Math.max(o,t))}case"maxHandler":{var o=0-a,s=1-a;return Math.min(s,Math.max(o,t))}case"foreground":{var o=0-i,s=1-a;return Math.min(s,Math.max(o,t))}}},e.prototype.updateStartEnd=function(t){var n=this.cfg,i=n.start,a=n.end;switch(this.currentTarget){case"minHandler":i+=t;break;case"maxHandler":a+=t;break;case"foreground":i+=t,a+=t;break}this.set("start",i),this.set("end",a)},e.prototype._dodgeText=function(t,n,i){var a,o,s=this.cfg,l=s.handlerStyle,u=s.width,f=2,c=(0,Si.get)(l,"width",pE),h=t[0],d=t[1],p=!1;h>d&&(a=[d,h],h=a[0],d=a[1],o=[i,n],n=o[0],i=o[1],p=!0);var v=n.getBBox(),m=i.getBBox(),g=v.width>h-f?{x:h+c/2+f,textAlign:"left"}:{x:h-c/2-f,textAlign:"right"},x=m.width>u-d-f?{x:d-c/2-f,textAlign:"right"}:{x:d+c/2+f,textAlign:"left"};return p?[x,g]:[g,x]},e.prototype.draw=function(){var t=this.get("container"),n=t&&t.get("canvas");n&&n.draw()},e.prototype.getContainerDOM=function(){var t=this.get("container"),n=t&&t.get("canvas");return n&&n.get("container")},e}(Yn);var as=z(q());var DWt={trackColor:"rgba(0,0,0,0)",thumbColor:"rgba(0,0,0,0.15)",size:8,lineCap:"round"},cU={default:DWt,hover:{thumbColor:"rgba(0,0,0,0.2)"}},IL=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.clearEvents=as.noop,t.onStartEvent=function(n){return function(i){t.isMobile=n,i.originalEvent.preventDefault();var a=n?(0,as.get)(i.originalEvent,"touches.0.clientX"):i.clientX,o=n?(0,as.get)(i.originalEvent,"touches.0.clientY"):i.clientY;t.startPos=t.cfg.isHorizontal?a:o,t.bindLaterEvent()}},t.bindLaterEvent=function(){var n=t.getContainerDOM(),i=[];t.isMobile?i=[Ws(n,"touchmove",t.onMouseMove),Ws(n,"touchend",t.onMouseUp),Ws(n,"touchcancel",t.onMouseUp)]:i=[Ws(n,"mousemove",t.onMouseMove),Ws(n,"mouseup",t.onMouseUp),Ws(n,"mouseleave",t.onMouseUp)],t.clearEvents=function(){i.forEach(function(a){a.remove()})}},t.onMouseMove=function(n){var i=t.cfg,a=i.isHorizontal,o=i.thumbOffset;n.preventDefault();var s=t.isMobile?(0,as.get)(n,"touches.0.clientX"):n.clientX,l=t.isMobile?(0,as.get)(n,"touches.0.clientY"):n.clientY,u=a?s:l,f=u-t.startPos;t.startPos=u,t.updateThumbOffset(o+f)},t.onMouseUp=function(n){n.preventDefault(),t.clearEvents()},t.onTrackClick=function(n){var i=t.cfg,a=i.isHorizontal,o=i.x,s=i.y,l=i.thumbLen,u=t.getContainerDOM(),f=u.getBoundingClientRect(),c=n.clientX,h=n.clientY,d=a?c-f.left-o-l/2:h-f.top-s-l/2,p=t.validateRange(d);t.updateThumbOffset(p)},t.onThumbMouseOver=function(){var n=t.cfg.theme.hover.thumbColor;t.getElementByLocalId("thumb").attr("stroke",n),t.draw()},t.onThumbMouseOut=function(){var n=t.cfg.theme.default.thumbColor;t.getElementByLocalId("thumb").attr("stroke",n),t.draw()},t}return e.prototype.setRange=function(t,n){this.set("minLimit",t),this.set("maxLimit",n);var i=this.getValue(),a=(0,as.clamp)(i,t,n);i!==a&&!this.get("isInit")&&this.setValue(a)},e.prototype.getRange=function(){var t=this.get("minLimit")||0,n=this.get("maxLimit")||1;return{min:t,max:n}},e.prototype.setValue=function(t){var n=this.getRange(),i=this.getValue();this.update({thumbOffset:(this.get("trackLen")-this.get("thumbLen"))*(0,as.clamp)(t,n.min,n.max)}),this.delegateEmit("valuechange",{originalValue:i,value:this.getValue()})},e.prototype.getValue=function(){return(0,as.clamp)(this.get("thumbOffset")/(this.get("trackLen")-this.get("thumbLen")),0,1)},e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return E(E({},t),{name:"scrollbar",isHorizontal:!0,minThumbLen:20,thumbOffset:0,theme:cU})},e.prototype.renderInner=function(t){this.renderTrackShape(t),this.renderThumbShape(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.renderTrackShape=function(t){var n=this.cfg,i=n.trackLen,a=n.theme,o=a===void 0?{default:{}}:a,s=(0,as.deepMix)({},cU,o).default,l=s.lineCap,u=s.trackColor,f=s.size,c=(0,as.get)(this.cfg,"size",f),h=this.get("isHorizontal")?{x1:0+c/2,y1:c/2,x2:i-c/2,y2:c/2,lineWidth:c,stroke:u,lineCap:l}:{x1:c/2,y1:0+c/2,x2:c/2,y2:i-c/2,lineWidth:c,stroke:u,lineCap:l};return this.addShape(t,{id:this.getElementId("track"),name:"track",type:"line",attrs:h})},e.prototype.renderThumbShape=function(t){var n=this.cfg,i=n.thumbOffset,a=n.thumbLen,o=n.theme,s=(0,as.deepMix)({},cU,o).default,l=s.size,u=s.lineCap,f=s.thumbColor,c=(0,as.get)(this.cfg,"size",l),h=this.get("isHorizontal")?{x1:i+c/2,y1:c/2,x2:i+a-c/2,y2:c/2,lineWidth:c,stroke:f,lineCap:u,cursor:"default"}:{x1:c/2,y1:i+c/2,x2:c/2,y2:i+a-c/2,lineWidth:c,stroke:f,lineCap:u,cursor:"default"};return this.addShape(t,{id:this.getElementId("thumb"),name:"thumb",type:"line",attrs:h})},e.prototype.bindEvents=function(){var t=this.get("group");t.on("mousedown",this.onStartEvent(!1)),t.on("mouseup",this.onMouseUp),t.on("touchstart",this.onStartEvent(!0)),t.on("touchend",this.onMouseUp);var n=t.findById(this.getElementId("track"));n.on("click",this.onTrackClick);var i=t.findById(this.getElementId("thumb"));i.on("mouseover",this.onThumbMouseOver),i.on("mouseout",this.onThumbMouseOut)},e.prototype.getContainerDOM=function(){var t=this.get("container"),n=t&&t.get("canvas");return n&&n.get("container")},e.prototype.validateRange=function(t){var n=this.cfg,i=n.thumbLen,a=n.trackLen,o=t;return t+i>a?o=a-i:t+ia.x?a.x:e,t=ta.y?a.y:n,i=i=n&&r<=i}function Srt(r,e,t){if((0,DL.isString)(r))return r.padEnd(e,t);if((0,DL.isArray)(r)){var n=r.length;if(n=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.add=function(){for(var e=[],t=0;te.minX&&this.minYe.minY},r.prototype.size=function(){return this.width*this.height},r.prototype.isPointIn=function(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY},r}();function Crt(r){return[[r.minX,r.minY],[r.maxX,r.minY],[r.maxX,r.maxY],[r.minX,r.maxY]]}function yh(r){if(r.isPolar&&!r.isTransposed)return(r.endAngle-r.startAngle)*r.getRadius();var e=r.convert({x:0,y:0}),t=r.convert({x:1,y:0});return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function wrt(r){if(r.isPolar){var e=r.startAngle,t=r.endAngle;return t-e==Math.PI*2}return!1}function bm(r,e){var t=r.getCenter();return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function mE(r,e){var t=!1;if(r)if(r.type==="theta"){var n=r.start,i=r.end;t=up(e.x,n.x,i.x)&&up(e.y,n.y,i.y)}else{var a=r.invert(e);t=up(a.x,0,1)&&up(a.y,0,1)}return t}function xh(r,e){var t=r.getCenter();return Math.atan2(e.y-t.y,e.x-t.x)}function PL(r,e){e===void 0&&(e=0);var t=r.start,n=r.end,i=r.getWidth(),a=r.getHeight();if(r.isPolar){var o=r.startAngle,s=r.endAngle,l=r.getCenter(),u=r.getRadius();return{type:"path",startState:{path:xu(l.x,l.y,u+e,o,o)},endState:function(c){var h=(s-o)*c+o,d=xu(l.x,l.y,u+e,o,h);return{path:d}},attrs:{path:xu(l.x,l.y,u+e,o,s)}}}var f;return r.isTransposed?f={height:a+e*2}:f={width:i+e*2},{type:"rect",startState:{x:t.x-e,y:n.y-e,width:r.isTransposed?i+e*2:0,height:r.isTransposed?0:a+e*2},endState:f,attrs:{x:t.x-e,y:n.y-e,width:i+e*2,height:a+e*2}}}function Ert(r,e){e===void 0&&(e=0);var t=r.start,n=r.end,i=r.getWidth(),a=r.getHeight(),o=Math.min(t.x,n.x),s=Math.min(t.y,n.y);return _a.fromRange(o-e,s-e,o+i+e,s+a+e)}var kWt=/^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;function RWt(r){var e="linear";return kWt.test(r)?e="timeCat":(0,os.isString)(r)&&(e="cat"),e}function Art(r,e,t){var n=e||[];if((0,os.isNumber)(r)||(0,os.isNil)((0,os.firstValue)(n,r))&&(0,os.isEmpty)(t)){var i=Fb("identity");return new i({field:r.toString(),values:[r]})}var a=(0,os.valuesOfKey)(n,r),o=(0,os.get)(t,"type",RWt(a[0])),s=Fb(o);return new s(E({field:r,values:a},t))}function Mrt(r,e){if(r.type!=="identity"&&e.type!=="identity"){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);r.change(t)}}function _m(r){return r.alias||r.field}function kL(r,e,t){var n=r.values,i=n.length,a;if(i===1)a=[.5,1];else{var o=1,s=0;wrt(e)?e.isTransposed?(o=(0,os.get)(t,"widthRatio.multiplePie",1/1.3),s=1/i*o,a=[s/2,1-s/2]):a=[0,1-1/i]:(s=1/i/2,a=[s,1-s])}return a}function Trt(r){var e=r.values.filter(function(t){return!(0,os.isNil)(t)&&!isNaN(t)});return Math.max.apply(Math,mn(mn([],e,!1),[(0,os.isNil)(r.max)?-1/0:r.max],!1))}function NWt(r){var e,t;switch(r){case xe.TOP:e={x:0,y:1},t={x:1,y:1};break;case xe.RIGHT:e={x:1,y:0},t={x:1,y:1};break;case xe.BOTTOM:e={x:0,y:0},t={x:1,y:0};break;case xe.LEFT:e={x:0,y:0},t={x:0,y:1};break;default:e=t={x:0,y:0}}return{start:e,end:t}}function FWt(r){var e,t;return r.isTransposed?(e={x:0,y:0},t={x:1,y:0}):(e={x:0,y:0},t={x:0,y:1}),{start:e,end:t}}function gE(r,e){var t={start:{x:0,y:0},end:{x:0,y:0}};r.isRect?t=NWt(e):r.isPolar&&(t=FWt(r));var n=t.start,i=t.end;return{start:r.convert(n),end:r.convert(i)}}function pU(r){var e=r.start,t=r.end;return e.x===t.x}function vU(r,e){var t=r.start,n=r.end,i=pU(r);return i?(t.y-n.y)*(e.x-t.x)>0?1:-1:(n.x-t.x)*(t.y-e.y)>0?-1:1}function yE(r,e){var t=(0,ss.get)(r,["components","axis"],{});return(0,ss.deepMix)({},(0,ss.get)(t,["common"],{}),(0,ss.deepMix)({},(0,ss.get)(t,[e],{})))}function mU(r,e,t){var n=(0,ss.get)(r,["components","axis"],{});return(0,ss.deepMix)({},(0,ss.get)(n,["common","title"],{}),(0,ss.deepMix)({},(0,ss.get)(n,[e,"title"],{})),t)}function RL(r){var e=r.x,t=r.y,n=r.circleCenter,i=t.start>t.end,a=r.isTransposed?r.convert({x:i?0:1,y:0}):r.convert({x:0,y:i?0:1}),o=[a.x-n.x,a.y-n.y],s=[1,0],l=a.y>n.y?oe.angle(o,s):oe.angle(o,s)*-1,u=l+(e.end-e.start),f=Math.sqrt(Math.pow(a.x-n.x,2)+Math.pow(a.y-n.y,2));return{center:n,radius:f,startAngle:l,endAngle:u}}function Kb(r,e){return(0,ss.isBoolean)(r)?r===!1?!1:{}:(0,ss.get)(r,[e])}function gU(r,e){return(0,ss.get)(r,"position",e)}function yU(r,e){return(0,ss.get)(e,["title","text"],_m(r))}var Hs=function(){function r(e,t){this.destroyed=!1,this.facets=[],this.view=e,this.cfg=(0,Vs.deepMix)({},this.getDefaultCfg(),t)}return r.prototype.init=function(){this.container||(this.container=this.createContainer());var e=this.view.getData();this.facets=this.generateFacets(e)},r.prototype.render=function(){this.renderViews()},r.prototype.update=function(){},r.prototype.clear=function(){this.clearFacetViews()},r.prototype.destroy=function(){this.clear(),this.container&&(this.container.remove(!0),this.container=void 0),this.destroyed=!0,this.view=void 0,this.facets=[]},r.prototype.facetToView=function(e){var t=e.region,n=e.data,i=e.padding,a=i===void 0?this.cfg.padding:i,o=this.view.createView({region:t,padding:a});o.data(n||[]),e.view=o,this.beforeEachView(o,e);var s=this.cfg.eachView;return s&&s(o,e),this.afterEachView(o,e),o},r.prototype.createContainer=function(){var e=this.view.getLayer(di.FORE);return e.addGroup()},r.prototype.renderViews=function(){this.createFacetViews()},r.prototype.createFacetViews=function(){var e=this;return this.facets.map(function(t){return e.facetToView(t)})},r.prototype.clearFacetViews=function(){var e=this;(0,Vs.each)(this.facets,function(t){t.view&&(e.view.removeView(t.view),t.view=void 0)})},r.prototype.parseSpacing=function(){var e=this.view.viewBBox,t=e.width,n=e.height,i=this.cfg.spacing;return i.map(function(a,o){return(0,Vs.isNumber)(a)?a/(o===0?t:n):parseFloat(a)/100})},r.prototype.getFieldValues=function(e,t){var n=[],i={};return(0,Vs.each)(e,function(a){var o=a[t];!(0,Vs.isNil)(o)&&!i[o]&&(n.push(o),i[o]=!0)}),n},r.prototype.getRegion=function(e,t,n,i){var a=this.parseSpacing(),o=a[0],s=a[1],l=(1+o)/(t===0?1:t)-o,u=(1+s)/(e===0?1:e)-s,f={x:(l+o)*n,y:(u+s)*i},c={x:f.x+l,y:f.y+u};return{start:f,end:c}},r.prototype.getDefaultCfg=function(){return{eachView:void 0,showTitle:!0,spacing:[0,0],padding:10,fields:[]}},r.prototype.getDefaultTitleCfg=function(){var e=this.view.getTheme().fontFamily;return{style:{fontSize:14,fill:"#666",fontFamily:e}}},r.prototype.processAxis=function(e,t){var n=e.getOptions(),i=n.coordinate,a=e.geometries,o=(0,Vs.get)(i,"type","rect");if(o==="rect"&&a.length){(0,Vs.isNil)(n.axes)&&(n.axes={});var s=n.axes,l=a[0].getXYFields(),u=l[0],f=l[1],c=Kb(s,u),h=Kb(s,f);c!==!1&&(n.axes[u]=this.getXAxisOption(u,s,c,t)),h!==!1&&(n.axes[f]=this.getYAxisOption(f,s,h,t))}},r.prototype.getFacetDataFilter=function(e){return function(t){return(0,Vs.every)(e,function(n){var i=n.field,a=n.value;return!(0,Vs.isNil)(a)&&i?t[i]===a:!0})}},r}();var Irt={},NL=function(r){return Irt[(0,xU.lowerCase)(r)]},fp=function(r,e){Irt[(0,xU.lowerCase)(r)]=e};var pp=z(q());var Ka=z(q());var Lrt=z(q()),BWt=function(){function r(e,t){this.context=e,this.cfg=t,e.addAction(this)}return r.prototype.applyCfg=function(e){(0,Lrt.assign)(this,e)},r.prototype.init=function(){this.applyCfg(this.cfg)},r.prototype.destroy=function(){this.context.removeAction(this),this.context=null},r}(),Ir=BWt;var GWt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.execute=function(){this.callback&&this.callback(this.context)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.callback=null},e}(Ir),Ort=GWt;var Drt=z(q()),bU={};function _U(r,e){var t=bU[r],n=null;if(t){var i=t.ActionClass,a=t.cfg;n=new i(e,a),n.name=r,n.init()}return n}function rc(r){var e=bU[r];return(0,Drt.get)(e,"ActionClass")}function nr(r,e,t){bU[r]={ActionClass:e,cfg:t}}function Prt(r,e){var t=new Ort(e);return t.callback=r,t.name="callback",t}var YL=z(q());var nc=z(q());var FL=z(q());function zWt(r,e){var t=[];if(r.length){t.push(["M",r[0].x,r[0].y]);for(var n=1,i=r.length;n=o[u]?1:0,h=f>Math.PI?1:0,d=t.convert(s),p=bm(t,d);if(p>=.5)if(f===Math.PI*2){var v={x:(s.x+o.x)/2,y:(s.y+o.y)/2},m=t.convert(v);l.push(["A",p,p,0,h,c,m.x,m.y]),l.push(["A",p,p,0,h,c,d.x,d.y])}else l.push(["A",p,p,0,h,c,d.x,d.y]);return l}function jWt(r){(0,FL.each)(r,function(e,t){var n=e;if(n[0].toLowerCase()==="a"){var i=r[t-1],a=r[t+1];a&&a[0].toLowerCase()==="a"?i&&i[0].toLowerCase()==="l"&&(i[0]="M"):i&&i[0].toLowerCase()==="a"&&a&&a[0].toLowerCase()==="l"&&(a[0]="M")}})}var WWt=function(r,e,t,n){var i=[],a=!!n,o,s,l,u,f,c,h;if(a){l=n[0],u=n[1];for(var d=0,p=r.length;d=e||i.height>=e?i:null}function VWt(r,e){var t=r.event,n=t.target,i=n.getCanvasBBox();return i.width>=e||i.height>=e?n.attr("path"):null}function bu(r){var e=r.event,t,n=e.target;return n&&(t=n.get("element")),t}function ic(r){var e=r.event,t=e.target,n;return t&&(n=t.get("delegateObject")),n}function BL(r){var e=r.event.gEvent;return!(e&&e.fromShape&&e.toShape&&e.fromShape.get("element")===e.toShape.get("element"))}function hp(r){return r&&r.component&&r.component.isList()}function GL(r){return r&&r.component&&r.component.isSlider()}function dp(r){var e=r.event,t=e.target;return t&&t.get("name")==="mask"}function Zb(r,e){var t=r.event.target;if(t.get("type")==="path"){var n=VWt(r,e);return n?YWt(r.view,n):void 0}var i=Frt(r,e);return i?jL(r.view,i):null}function zL(r,e,t){var n=Frt(r,t);if(!n)return null;var i=r.view,a=VL(i,e,{x:n.x,y:n.y}),o=VL(i,e,{x:n.maxX,y:n.maxY}),s={minX:a.x,minY:a.y,maxX:o.x,maxY:o.y};return jL(e,s)}function Hi(r){var e=r.geometries,t=[];return(0,nc.each)(e,function(n){var i=n.elements;t=t.concat(i)}),r.views&&r.views.length&&(0,nc.each)(r.views,function(n){t=t.concat(Hi(n))}),t}function Brt(r,e,t){var n=Hi(r);return n.filter(function(i){return ls(i,e)===t})}function UL(r,e){var t=r.geometries,n=[];return(0,nc.each)(t,function(i){var a=i.getElementsBy(function(o){return o.hasState(e)});n=n.concat(a)}),n}function ls(r,e){var t=r.getModel(),n=t.data,i;return(0,nc.isArray)(n)?i=n[0][e]:i=n[e],i}function HWt(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxY=e.x&&r.y<=e.y&&r.maxY>e.y}function Nl(r){var e=r.parent,t=null;return e&&(t=e.views.filter(function(n){return n!==r})),t}function XWt(r,e){var t=r.getCoordinate();return t.invert(e)}function VL(r,e,t){var n=XWt(r,t);return e.getCoordinate().convert(n)}function HL(r,e,t,n){var i=!1;return(0,nc.each)(r,function(a){if(a[t]===e[t]&&a[n]===e[n])return i=!0,!1}),i}function bh(r,e){var t=r.getScaleByField(e);return!t&&r.views&&(0,nc.each)(r.views,function(n){if(t=bh(n,e),t)return!1}),t}var qWt=function(){function r(e){this.actions=[],this.event=null,this.cacheMap={},this.view=e}return r.prototype.cache=function(){for(var e=[],t=0;t=0&&t.splice(n,1)},r.prototype.getCurrentPoint=function(){var e=this.event;if(e)if(e.target instanceof HTMLElement){var t=this.view.getCanvas(),n=t.getPointByClient(e.clientX,e.clientY);return n}else return{x:e.x,y:e.y};return null},r.prototype.getCurrentShape=function(){return(0,YL.get)(this.event,["gEvent","shape"])},r.prototype.isInPlot=function(){var e=this.getCurrentPoint();return e?this.view.isPointInPlot(e):!1},r.prototype.isInShape=function(e){var t=this.getCurrentShape();return t?t.get("name")===e:!1},r.prototype.isInComponent=function(e){var t=WL(this.view),n=this.getCurrentPoint();return n?!!t.find(function(i){var a=i.getBBox();return e?i.get("name")===e&&wU(a,n):wU(a,n)}):!1},r.prototype.destroy=function(){(0,YL.each)(this.actions.slice(),function(e){e.destroy()}),this.view=null,this.event=null,this.actions=null,this.cacheMap=null},r}(),Urt=qWt;var KWt=function(){function r(e,t){this.view=e,this.cfg=t}return r.prototype.init=function(){this.initEvents()},r.prototype.initEvents=function(){},r.prototype.clearEvents=function(){},r.prototype.destroy=function(){this.clearEvents()},r}(),xE=KWt;function jrt(r,e,t){var n=r.split(":"),i=n[0],a=e.getAction(i)||_U(i,e);if(!a)throw new Error("There is no action named ".concat(i));var o=n[1];return{action:a,methodName:o,arg:t}}function Wrt(r){var e=r.action,t=r.methodName,n=r.arg;if(e[t])e[t](n);else throw new Error("Action(".concat(e.name,") doesn't have a method called ").concat(t))}var _u={START:"start",SHOW_ENABLE:"showEnable",END:"end",ROLLBACK:"rollback",PROCESSING:"processing"},ZWt=function(r){V(e,r);function e(t,n){var i=r.call(this,t,n)||this;return i.callbackCaches={},i.emitCaches={},i.steps=n,i}return e.prototype.init=function(){this.initContext(),r.prototype.init.call(this)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.steps=null,this.context&&(this.context.destroy(),this.context=null),this.callbackCaches=null,this.view=null},e.prototype.initEvents=function(){var t=this;(0,Ka.each)(this.steps,function(n,i){(0,Ka.each)(n,function(a){var o=t.getActionCallback(i,a);o&&t.bindEvent(a.trigger,o)})})},e.prototype.clearEvents=function(){var t=this;(0,Ka.each)(this.steps,function(n,i){(0,Ka.each)(n,function(a){var o=t.getActionCallback(i,a);o&&t.offEvent(a.trigger,o)})})},e.prototype.initContext=function(){var t=this.view,n=new Urt(t);this.context=n;var i=this.steps;(0,Ka.each)(i,function(a){(0,Ka.each)(a,function(o){if((0,Ka.isFunction)(o.action))o.actionObject={action:Prt(o.action,n),methodName:"execute"};else if((0,Ka.isString)(o.action))o.actionObject=jrt(o.action,n,o.arg);else if((0,Ka.isArray)(o.action)){var s=o.action,l=(0,Ka.isArray)(o.arg)?o.arg:[o.arg];o.actionObject=[],(0,Ka.each)(s,function(u,f){o.actionObject.push(jrt(u,n,l[f]))})}})})},e.prototype.isAllowStep=function(t){var n=this.currentStepName,i=this.steps;if(n===t||t===_u.SHOW_ENABLE)return!0;if(t===_u.PROCESSING)return n===_u.START;if(t===_u.START)return n!==_u.PROCESSING;if(t===_u.END)return n===_u.PROCESSING||n===_u.START;if(t===_u.ROLLBACK){if(i[_u.END])return n===_u.END;if(n===_u.START)return!0}return!1},e.prototype.isAllowExecute=function(t,n){if(this.isAllowStep(t)){var i=this.getKey(t,n);return n.once&&this.emitCaches[i]?!1:n.isEnable?n.isEnable(this.context):!0}return!1},e.prototype.enterStep=function(t){this.currentStepName=t,this.emitCaches={}},e.prototype.afterExecute=function(t,n){t!==_u.SHOW_ENABLE&&this.currentStepName!==t&&this.enterStep(t);var i=this.getKey(t,n);this.emitCaches[i]=!0},e.prototype.getKey=function(t,n){return t+n.trigger+n.action},e.prototype.getActionCallback=function(t,n){var i=this,a=this.context,o=this.callbackCaches,s=n.actionObject;if(n.action&&s){var l=this.getKey(t,n);if(!o[l]){var u=function(f){a.event=f,i.isAllowExecute(t,n)?((0,Ka.isArray)(s)?(0,Ka.each)(s,function(c){a.event=f,Wrt(c)}):(a.event=f,Wrt(s)),i.afterExecute(t,n),n.callback&&(a.event=f,n.callback(a))):a.event=null};n.debounce?o[l]=(0,Ka.debounce)(u,n.debounce.wait,n.debounce.immediate):n.throttle?o[l]=(0,Ka.throttle)(u,n.throttle.wait,{leading:n.throttle.leading,trailing:n.throttle.trailing}):o[l]=u}return o[l]}return null},e.prototype.bindEvent=function(t,n){var i=t.split(":");i[0]==="window"?window.addEventListener(i[1],n):i[0]==="document"?document.addEventListener(i[1],n):this.view.on(t,n)},e.prototype.offEvent=function(t,n){var i=t.split(":");i[0]==="window"?window.removeEventListener(i[1],n):i[0]==="document"?document.removeEventListener(i[1],n):this.view.off(t,n)},e}(xE),Vrt=ZWt;var Hrt={};function EU(r){return Hrt[(0,pp.lowerCase)(r)]}function xr(r,e){Hrt[(0,pp.lowerCase)(r)]=e}function Yrt(r,e,t){var n=EU(r);if(!n)return null;if((0,pp.isPlainObject)(n)){var i=(0,pp.mix)((0,pp.clone)(n),t);return new Vrt(e,i)}else{var a=n;return new a(e,t)}}var _E=z(q());var Xrt=z(q());var AU=z(q());function $Wt(r){return{title:{autoRotate:!0,position:"center",spacing:r.axisTitleSpacing,style:{fill:r.axisTitleTextFillColor,fontSize:r.axisTitleTextFontSize,lineHeight:r.axisTitleTextLineHeight,textBaseline:"middle",fontFamily:r.fontFamily}},label:{autoRotate:!1,autoEllipsis:!1,autoHide:{type:"equidistance",cfg:{minGap:6}},offset:r.axisLabelOffset,style:{fill:r.axisLabelFillColor,fontSize:r.axisLabelFontSize,lineHeight:r.axisLabelLineHeight,fontFamily:r.fontFamily}},line:{style:{lineWidth:r.axisLineBorder,stroke:r.axisLineBorderColor}},grid:{line:{type:"line",style:{stroke:r.axisGridBorderColor,lineWidth:r.axisGridBorder,lineDash:r.axisGridLineDash}},alignTick:!0,animate:!0},tickLine:{style:{lineWidth:r.axisTickLineBorder,stroke:r.axisTickLineBorderColor},alignTick:!0,length:r.axisTickLineLength},subTickLine:null,animate:!0}}function QWt(r){return{title:null,marker:{symbol:"circle",spacing:r.legendMarkerSpacing,style:{r:r.legendCircleMarkerSize,fill:r.legendMarkerColor}},itemName:{spacing:5,style:{fill:r.legendItemNameFillColor,fontFamily:r.fontFamily,fontSize:r.legendItemNameFontSize,lineHeight:r.legendItemNameLineHeight,fontWeight:r.legendItemNameFontWeight,textAlign:"start",textBaseline:"middle"}},itemStates:{active:{nameStyle:{opacity:.8}},unchecked:{nameStyle:{fill:"#D8D8D8"},markerStyle:{fill:"#D8D8D8",stroke:"#D8D8D8"}},inactive:{nameStyle:{fill:"#D8D8D8"},markerStyle:{opacity:.2}}},flipPage:!0,pageNavigator:{marker:{style:{size:r.legendPageNavigatorMarkerSize,inactiveFill:r.legendPageNavigatorMarkerInactiveFillColor,inactiveOpacity:r.legendPageNavigatorMarkerInactiveFillOpacity,fill:r.legendPageNavigatorMarkerFillColor,opacity:r.legendPageNavigatorMarkerFillOpacity}},text:{style:{fill:r.legendPageNavigatorTextFillColor,fontSize:r.legendPageNavigatorTextFontSize}}},animate:!1,maxItemWidth:200,itemSpacing:r.legendItemSpacing,itemMarginBottom:r.legendItemMarginBottom,padding:r.legendPadding}}function XL(r){var e,t={point:{default:{fill:r.pointFillColor,r:r.pointSize,stroke:r.pointBorderColor,lineWidth:r.pointBorder,fillOpacity:r.pointFillOpacity},active:{stroke:r.pointActiveBorderColor,lineWidth:r.pointActiveBorder},selected:{stroke:r.pointSelectedBorderColor,lineWidth:r.pointSelectedBorder},inactive:{fillOpacity:r.pointInactiveFillOpacity,strokeOpacity:r.pointInactiveBorderOpacity}},hollowPoint:{default:{fill:r.hollowPointFillColor,lineWidth:r.hollowPointBorder,stroke:r.hollowPointBorderColor,strokeOpacity:r.hollowPointBorderOpacity,r:r.hollowPointSize},active:{stroke:r.hollowPointActiveBorderColor,strokeOpacity:r.hollowPointActiveBorderOpacity},selected:{lineWidth:r.hollowPointSelectedBorder,stroke:r.hollowPointSelectedBorderColor,strokeOpacity:r.hollowPointSelectedBorderOpacity},inactive:{strokeOpacity:r.hollowPointInactiveBorderOpacity}},area:{default:{fill:r.areaFillColor,fillOpacity:r.areaFillOpacity,stroke:null},active:{fillOpacity:r.areaActiveFillOpacity},selected:{fillOpacity:r.areaSelectedFillOpacity},inactive:{fillOpacity:r.areaInactiveFillOpacity}},hollowArea:{default:{fill:null,stroke:r.hollowAreaBorderColor,lineWidth:r.hollowAreaBorder,strokeOpacity:r.hollowAreaBorderOpacity},active:{fill:null,lineWidth:r.hollowAreaActiveBorder},selected:{fill:null,lineWidth:r.hollowAreaSelectedBorder},inactive:{strokeOpacity:r.hollowAreaInactiveBorderOpacity}},interval:{default:{fill:r.intervalFillColor,fillOpacity:r.intervalFillOpacity},active:{stroke:r.intervalActiveBorderColor,lineWidth:r.intervalActiveBorder},selected:{stroke:r.intervalSelectedBorderColor,lineWidth:r.intervalSelectedBorder},inactive:{fillOpacity:r.intervalInactiveFillOpacity,strokeOpacity:r.intervalInactiveBorderOpacity}},hollowInterval:{default:{fill:r.hollowIntervalFillColor,stroke:r.hollowIntervalBorderColor,lineWidth:r.hollowIntervalBorder,strokeOpacity:r.hollowIntervalBorderOpacity},active:{stroke:r.hollowIntervalActiveBorderColor,lineWidth:r.hollowIntervalActiveBorder,strokeOpacity:r.hollowIntervalActiveBorderOpacity},selected:{stroke:r.hollowIntervalSelectedBorderColor,lineWidth:r.hollowIntervalSelectedBorder,strokeOpacity:r.hollowIntervalSelectedBorderOpacity},inactive:{stroke:r.hollowIntervalInactiveBorderColor,lineWidth:r.hollowIntervalInactiveBorder,strokeOpacity:r.hollowIntervalInactiveBorderOpacity}},line:{default:{stroke:r.lineBorderColor,lineWidth:r.lineBorder,strokeOpacity:r.lineBorderOpacity,fill:null,lineAppendWidth:10,lineCap:"round",lineJoin:"round"},active:{lineWidth:r.lineActiveBorder},selected:{lineWidth:r.lineSelectedBorder},inactive:{strokeOpacity:r.lineInactiveBorderOpacity}}},n=$Wt(r),i=QWt(r);return{background:r.backgroundColor,defaultColor:r.brandColor,subColor:r.subColor,semanticRed:r.paletteSemanticRed,semanticGreen:r.paletteSemanticGreen,padding:"auto",fontFamily:r.fontFamily,columnWidthRatio:1/2,maxColumnWidth:null,minColumnWidth:null,roseWidthRatio:.9999999,multiplePieWidthRatio:1/1.3,colors10:r.paletteQualitative10,colors20:r.paletteQualitative20,sequenceColors:r.paletteSequence,shapes:{point:["hollow-circle","hollow-square","hollow-bowtie","hollow-diamond","hollow-hexagon","hollow-triangle","hollow-triangle-down","circle","square","bowtie","diamond","hexagon","triangle","triangle-down","cross","tick","plus","hyphen","line"],line:["line","dash","dot","smooth"],area:["area","smooth","line","smooth-line"],interval:["rect","hollow-rect","line","tick"]},sizes:[1,10],geometries:{interval:{rect:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:function(a){var o=a.geometry.coordinate;if(o.isPolar&&o.isTransposed){var s=lp(a.getModel(),o),l=s.startAngle,u=s.endAngle,f=(l+u)/2,c=7.5,h=c*Math.cos(f),d=c*Math.sin(f);return{matrix:gr.transform(null,[["t",h,d]])}}return t.interval.selected}}},"hollow-rect":{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},line:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},tick:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},funnel:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}},pyramid:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}}},line:{line:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},dot:{default:{style:E(E({},t.line.default),{lineCap:null,lineDash:[1,1]})},active:{style:E(E({},t.line.active),{lineCap:null,lineDash:[1,1]})},inactive:{style:E(E({},t.line.inactive),{lineCap:null,lineDash:[1,1]})},selected:{style:E(E({},t.line.selected),{lineCap:null,lineDash:[1,1]})}},dash:{default:{style:E(E({},t.line.default),{lineCap:null,lineDash:[5.5,1]})},active:{style:E(E({},t.line.active),{lineCap:null,lineDash:[5.5,1]})},inactive:{style:E(E({},t.line.inactive),{lineCap:null,lineDash:[5.5,1]})},selected:{style:E(E({},t.line.selected),{lineCap:null,lineDash:[5.5,1]})}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vh:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hvh:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vhv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}}},polygon:{polygon:{default:{style:t.interval.default},active:{style:t.interval.active},inactive:{style:t.interval.inactive},selected:{style:t.interval.selected}}},point:{circle:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},square:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},bowtie:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},diamond:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},hexagon:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},triangle:{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},"triangle-down":{default:{style:t.point.default},active:{style:t.point.active},inactive:{style:t.point.inactive},selected:{style:t.point.selected}},"hollow-circle":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-square":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-bowtie":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-diamond":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-hexagon":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-triangle":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},"hollow-triangle-down":{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},cross:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},tick:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},plus:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},hyphen:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}},line:{default:{style:t.hollowPoint.default},active:{style:t.hollowPoint.active},inactive:{style:t.hollowPoint.inactive},selected:{style:t.hollowPoint.selected}}},area:{area:{default:{style:t.area.default},active:{style:t.area.active},inactive:{style:t.area.inactive},selected:{style:t.area.selected}},smooth:{default:{style:t.area.default},active:{style:t.area.active},inactive:{style:t.area.inactive},selected:{style:t.area.selected}},line:{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}},"smooth-line":{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}}},schema:{candle:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}},box:{default:{style:t.hollowInterval.default},active:{style:t.hollowInterval.active},inactive:{style:t.hollowInterval.inactive},selected:{style:t.hollowInterval.selected}}},edge:{line:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},vhv:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},arc:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}}},violin:{violin:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},smooth:{default:{style:t.line.default},active:{style:t.line.active},inactive:{style:t.line.inactive},selected:{style:t.line.selected}},hollow:{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}},"hollow-smooth":{default:{style:t.hollowArea.default},active:{style:t.hollowArea.active},inactive:{style:t.hollowArea.inactive},selected:{style:t.hollowArea.selected}}}},components:{axis:{common:n,top:{position:"top",grid:null,title:null,verticalLimitLength:1/2},bottom:{position:"bottom",grid:null,title:null,verticalLimitLength:1/2},left:{position:"left",title:null,line:null,tickLine:null,verticalLimitLength:1/3},right:{position:"right",title:null,line:null,tickLine:null,verticalLimitLength:1/3},circle:{title:null,grid:(0,AU.deepMix)({},n.grid,{line:{type:"line"}})},radius:{title:null,grid:(0,AU.deepMix)({},n.grid,{line:{type:"circle"}})}},legend:{common:i,right:{layout:"vertical",padding:r.legendVerticalPadding},left:{layout:"vertical",padding:r.legendVerticalPadding},top:{layout:"horizontal",padding:r.legendHorizontalPadding},bottom:{layout:"horizontal",padding:r.legendHorizontalPadding},continuous:{title:null,background:null,track:{},rail:{type:"color",size:r.sliderRailHeight,defaultLength:r.sliderRailWidth,style:{fill:r.sliderRailFillColor,stroke:r.sliderRailBorderColor,lineWidth:r.sliderRailBorder}},label:{align:"rail",spacing:4,formatter:null,style:{fill:r.sliderLabelTextFillColor,fontSize:r.sliderLabelTextFontSize,lineHeight:r.sliderLabelTextLineHeight,textBaseline:"middle",fontFamily:r.fontFamily}},handler:{size:r.sliderHandlerWidth,style:{fill:r.sliderHandlerFillColor,stroke:r.sliderHandlerBorderColor}},slidable:!0,padding:i.padding}},tooltip:{showContent:!0,follow:!0,showCrosshairs:!1,showMarkers:!0,shared:!1,enterable:!1,position:"auto",marker:{symbol:"circle",stroke:"#fff",shadowBlur:10,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0,0,0,0.09)",lineWidth:2,r:4},crosshairs:{line:{style:{stroke:r.tooltipCrosshairsBorderColor,lineWidth:r.tooltipCrosshairsBorder}},text:null,textBackground:{padding:2,style:{fill:"rgba(0, 0, 0, 0.25)",lineWidth:0,stroke:null}},follow:!1},domStyles:(e={},e["".concat(is.CONTAINER_CLASS)]={position:"absolute",visibility:"hidden",zIndex:8,transition:"left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s",backgroundColor:r.tooltipContainerFillColor,opacity:r.tooltipContainerFillOpacity,boxShadow:r.tooltipContainerShadow,borderRadius:"".concat(r.tooltipContainerBorderRadius,"px"),color:r.tooltipTextFillColor,fontSize:"".concat(r.tooltipTextFontSize,"px"),fontFamily:r.fontFamily,lineHeight:"".concat(r.tooltipTextLineHeight,"px"),padding:"0 12px 0 12px"},e["".concat(is.TITLE_CLASS)]={marginBottom:"12px",marginTop:"12px"},e["".concat(is.LIST_CLASS)]={margin:0,listStyleType:"none",padding:0},e["".concat(is.LIST_ITEM_CLASS)]={listStyleType:"none",padding:0,marginBottom:"12px",marginTop:"12px",marginLeft:0,marginRight:0},e["".concat(is.MARKER_CLASS)]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},e["".concat(is.VALUE_CLASS)]={display:"inline-block",float:"right",marginLeft:"30px"},e)},annotation:{arc:{style:{stroke:r.annotationArcBorderColor,lineWidth:r.annotationArcBorder},animate:!0},line:{style:{stroke:r.annotationLineBorderColor,lineDash:r.annotationLineDash,lineWidth:r.annotationLineBorder},text:{position:"start",autoRotate:!0,style:{fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,textAlign:"start",fontFamily:r.fontFamily,textBaseline:"bottom"}},animate:!0},text:{style:{fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,textBaseline:"middle",textAlign:"start",fontFamily:r.fontFamily},animate:!0},region:{top:!1,style:{lineWidth:r.annotationRegionBorder,stroke:r.annotationRegionBorderColor,fill:r.annotationRegionFillColor,fillOpacity:r.annotationRegionFillOpacity},animate:!0},image:{top:!1,animate:!0},dataMarker:{top:!0,point:{style:{r:3,stroke:r.brandColor,lineWidth:2}},line:{style:{stroke:r.annotationLineBorderColor,lineWidth:r.annotationLineBorder},length:r.annotationDataMarkerLineLength},text:{style:{textAlign:"start",fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,fontFamily:r.fontFamily}},direction:"upward",autoAdjust:!0,animate:!0},dataRegion:{style:{region:{fill:r.annotationRegionFillColor,fillOpacity:r.annotationRegionFillOpacity},text:{textAlign:"center",textBaseline:"bottom",fill:r.annotationTextFillColor,stroke:r.annotationTextBorderColor,lineWidth:r.annotationTextBorder,fontSize:r.annotationTextFontSize,fontFamily:r.fontFamily}},animate:!0}},slider:{common:{padding:[8,8,8,8],backgroundStyle:{fill:r.cSliderBackgroundFillColor,opacity:r.cSliderBackgroundFillOpacity},foregroundStyle:{fill:r.cSliderForegroundFillColor,opacity:r.cSliderForegroundFillOpacity},handlerStyle:{width:r.cSliderHandlerWidth,height:r.cSliderHandlerHeight,fill:r.cSliderHandlerFillColor,opacity:r.cSliderHandlerFillOpacity,stroke:r.cSliderHandlerBorderColor,lineWidth:r.cSliderHandlerBorder,radius:r.cSliderHandlerBorderRadius,highLightFill:r.cSliderHandlerHighlightFillColor},textStyle:{fill:r.cSliderTextFillColor,opacity:r.cSliderTextFillOpacity,fontSize:r.cSliderTextFontSize,lineHeight:r.cSliderTextLineHeight,fontWeight:r.cSliderTextFontWeight,stroke:r.cSliderTextBorderColor,lineWidth:r.cSliderTextBorder}}},scrollbar:{common:{padding:[8,8,8,8]},default:{style:{trackColor:r.scrollbarTrackFillColor,thumbColor:r.scrollbarThumbFillColor}},hover:{style:{thumbColor:r.scrollbarThumbHighlightFillColor}}}},labels:{offset:12,style:{fill:r.labelFillColor,fontSize:r.labelFontSize,fontFamily:r.fontFamily,stroke:r.labelBorderColor,lineWidth:r.labelBorder},fillColorDark:r.labelFillColorDark,fillColorLight:r.labelFillColorLight,autoRotate:!0},innerLabels:{style:{fill:r.innerLabelFillColor,fontSize:r.innerLabelFontSize,fontFamily:r.fontFamily,stroke:r.innerLabelBorderColor,lineWidth:r.innerLabelBorder},autoRotate:!0},overflowLabels:{style:{fill:r.overflowLabelFillColor,fontSize:r.overflowLabelFontSize,fontFamily:r.fontFamily,stroke:r.overflowLabelBorderColor,lineWidth:r.overflowLabelBorder}},pieLabels:{labelHeight:14,offset:10,labelLine:{style:{lineWidth:r.labelLineBorder}},autoRotate:!0}}}var ni={100:"#000",95:"#0D0D0D",85:"#262626",65:"#595959",45:"#8C8C8C",25:"#BFBFBF",15:"#D9D9D9",6:"#F0F0F0"},bE={100:"#FFFFFF",95:"#F2F2F2",85:"#D9D9D9",65:"#A6A6A6",45:"#737373",25:"#404040",15:"#262626",6:"#0F0F0F"},JWt=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#6F5EF9","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],t6t=["#5B8FF9","#CDDDFD","#5AD8A6","#CDF3E4","#5D7092","#CED4DE","#F6BD16","#FCEBB9","#6F5EF9","#D3CEFD","#6DC8EC","#D3EEF9","#945FB9","#DECFEA","#FF9845","#FFE0C7","#1E9493","#BBDEDE","#FF99C3","#FFE0ED"],e6t=["#B8E1FF","#9AC5FF","#7DAAFF","#5B8FF9","#3D76DD","#085EC0","#0047A5","#00318A","#001D70"],MU=function(r){r===void 0&&(r={});var e=r.backgroundColor,t=e===void 0?"transparent":e,n=r.subColor,i=n===void 0?"rgba(0,0,0,0.05)":n,a=r.paletteQualitative10,o=a===void 0?JWt:a,s=r.paletteQualitative20,l=s===void 0?t6t:s,u=r.paletteSemanticRed,f=u===void 0?"#F4664A":u,c=r.paletteSemanticGreen,h=c===void 0?"#30BF78":c,d=r.paletteSemanticYellow,p=d===void 0?"#FAAD14":d,v=r.paletteSequence,m=v===void 0?e6t:v,g=r.fontFamily,x=g===void 0?`"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", - "Noto Color Emoji"`:g,b=r.brandColor,S=b===void 0?o[0]:b;return{backgroundColor:t,brandColor:S,subColor:i,paletteQualitative10:o,paletteQualitative20:l,paletteSemanticRed:f,paletteSemanticGreen:h,paletteSemanticYellow:p,paletteSequence:m,fontFamily:x,axisLineBorderColor:ni[25],axisLineBorder:1,axisLineDash:null,axisTitleTextFillColor:ni[65],axisTitleTextFontSize:12,axisTitleTextLineHeight:12,axisTitleTextFontWeight:"normal",axisTitleSpacing:12,axisTickLineBorderColor:ni[25],axisTickLineLength:4,axisTickLineBorder:1,axisSubTickLineBorderColor:ni[15],axisSubTickLineLength:2,axisSubTickLineBorder:1,axisLabelFillColor:ni[45],axisLabelFontSize:12,axisLabelLineHeight:12,axisLabelFontWeight:"normal",axisLabelOffset:8,axisGridBorderColor:ni[15],axisGridBorder:1,axisGridLineDash:null,legendTitleTextFillColor:ni[45],legendTitleTextFontSize:12,legendTitleTextLineHeight:21,legendTitleTextFontWeight:"normal",legendMarkerColor:S,legendMarkerSpacing:8,legendMarkerSize:4,legendCircleMarkerSize:4,legendSquareMarkerSize:4,legendLineMarkerSize:5,legendItemNameFillColor:ni[65],legendItemNameFontSize:12,legendItemNameLineHeight:12,legendItemNameFontWeight:"normal",legendItemSpacing:24,legendItemMarginBottom:12,legendPadding:[8,8,8,8],legendHorizontalPadding:[8,0,8,0],legendVerticalPadding:[0,8,0,8],legendPageNavigatorMarkerSize:12,legendPageNavigatorMarkerInactiveFillColor:ni[100],legendPageNavigatorMarkerInactiveFillOpacity:.45,legendPageNavigatorMarkerFillColor:ni[100],legendPageNavigatorMarkerFillOpacity:1,legendPageNavigatorTextFillColor:ni[45],legendPageNavigatorTextFontSize:12,sliderRailFillColor:ni[15],sliderRailBorder:0,sliderRailBorderColor:null,sliderRailWidth:100,sliderRailHeight:12,sliderLabelTextFillColor:ni[45],sliderLabelTextFontSize:12,sliderLabelTextLineHeight:12,sliderLabelTextFontWeight:"normal",sliderHandlerFillColor:ni[6],sliderHandlerWidth:10,sliderHandlerHeight:14,sliderHandlerBorder:1,sliderHandlerBorderColor:ni[25],annotationArcBorderColor:ni[15],annotationArcBorder:1,annotationLineBorderColor:ni[25],annotationLineBorder:1,annotationLineDash:null,annotationTextFillColor:ni[65],annotationTextFontSize:12,annotationTextLineHeight:12,annotationTextFontWeight:"normal",annotationTextBorderColor:null,annotationTextBorder:0,annotationRegionFillColor:ni[100],annotationRegionFillOpacity:.06,annotationRegionBorder:0,annotationRegionBorderColor:null,annotationDataMarkerLineLength:16,tooltipCrosshairsBorderColor:ni[25],tooltipCrosshairsBorder:1,tooltipCrosshairsLineDash:null,tooltipContainerFillColor:"rgb(255, 255, 255)",tooltipContainerFillOpacity:.95,tooltipContainerShadow:"0px 0px 10px #aeaeae",tooltipContainerBorderRadius:3,tooltipTextFillColor:ni[65],tooltipTextFontSize:12,tooltipTextLineHeight:12,tooltipTextFontWeight:"bold",labelFillColor:ni[65],labelFillColorDark:"#2c3542",labelFillColorLight:"#ffffff",labelFontSize:12,labelLineHeight:12,labelFontWeight:"normal",labelBorderColor:null,labelBorder:0,innerLabelFillColor:mE[100],innerLabelFontSize:12,innerLabelLineHeight:12,innerLabelFontWeight:"normal",innerLabelBorderColor:null,innerLabelBorder:0,overflowLabelFillColor:ni[65],overflowLabelFontSize:12,overflowLabelLineHeight:12,overflowLabelFontWeight:"normal",overflowLabelBorderColor:mE[100],overflowLabelBorder:1,labelLineBorder:1,labelLineBorderColor:ni[25],cSliderRailHieght:16,cSliderBackgroundFillColor:"#416180",cSliderBackgroundFillOpacity:.05,cSliderForegroundFillColor:"#5B8FF9",cSliderForegroundFillOpacity:.15,cSliderHandlerHeight:24,cSliderHandlerWidth:10,cSliderHandlerFillColor:"#F7F7F7",cSliderHandlerFillOpacity:1,cSliderHandlerHighlightFillColor:"#FFF",cSliderHandlerBorderColor:"#BFBFBF",cSliderHandlerBorder:1,cSliderHandlerBorderRadius:2,cSliderTextFillColor:"#000",cSliderTextFillOpacity:.45,cSliderTextFontSize:12,cSliderTextLineHeight:12,cSliderTextFontWeight:"normal",cSliderTextBorderColor:null,cSliderTextBorder:0,scrollbarTrackFillColor:"rgba(0,0,0,0)",scrollbarThumbFillColor:"rgba(0,0,0,0.15)",scrollbarThumbHighlightFillColor:"rgba(0,0,0,0.2)",pointFillColor:S,pointFillOpacity:.95,pointSize:4,pointBorder:1,pointBorderColor:mE[100],pointBorderOpacity:1,pointActiveBorderColor:ni[100],pointSelectedBorder:2,pointSelectedBorderColor:ni[100],pointInactiveFillOpacity:.3,pointInactiveBorderOpacity:.3,hollowPointSize:4,hollowPointBorder:1,hollowPointBorderColor:S,hollowPointBorderOpacity:.95,hollowPointFillColor:mE[100],hollowPointActiveBorder:1,hollowPointActiveBorderColor:ni[100],hollowPointActiveBorderOpacity:1,hollowPointSelectedBorder:2,hollowPointSelectedBorderColor:ni[100],hollowPointSelectedBorderOpacity:1,hollowPointInactiveBorderOpacity:.3,lineBorder:2,lineBorderColor:S,lineBorderOpacity:1,lineActiveBorder:3,lineSelectedBorder:3,lineInactiveBorderOpacity:.3,areaFillColor:S,areaFillOpacity:.25,areaActiveFillColor:S,areaActiveFillOpacity:.5,areaSelectedFillColor:S,areaSelectedFillOpacity:.5,areaInactiveFillOpacity:.3,hollowAreaBorderColor:S,hollowAreaBorder:2,hollowAreaBorderOpacity:1,hollowAreaActiveBorder:3,hollowAreaActiveBorderColor:ni[100],hollowAreaSelectedBorder:3,hollowAreaSelectedBorderColor:ni[100],hollowAreaInactiveBorderOpacity:.3,intervalFillColor:S,intervalFillOpacity:.95,intervalActiveBorder:1,intervalActiveBorderColor:ni[100],intervalActiveBorderOpacity:1,intervalSelectedBorder:2,intervalSelectedBorderColor:ni[100],intervalSelectedBorderOpacity:1,intervalInactiveBorderOpacity:.3,intervalInactiveFillOpacity:.3,hollowIntervalBorder:2,hollowIntervalBorderColor:S,hollowIntervalBorderOpacity:1,hollowIntervalFillColor:mE[100],hollowIntervalActiveBorder:2,hollowIntervalActiveBorderColor:ni[100],hollowIntervalSelectedBorder:3,hollowIntervalSelectedBorderColor:ni[100],hollowIntervalSelectedBorderOpacity:1,hollowIntervalInactiveBorderOpacity:.3}},LOe=_U();function r0(r){var e=r.styleSheet,t=e===void 0?{}:e,n=rr(r,["styleSheet"]),i=_U(t);return(0,Rrt.deepMix)({},WL(i),n)}var RWt=r0({}),SU={default:RWt};function Qu(r){return(0,gE.get)(SU,(0,gE.lowerCase)(r),SU.default)}function n0(r,e){SU[(0,gE.lowerCase)(r)]=r0(e)}var Mi=U(q());function Nrt(r,e,t){var n=t.translate(r),i=t.translate(e);return(0,Mi.isNumberEqual)(n,i)}function NWt(r,e){var t=e.coordinate,n=e.getXScale(),i=n.range,a=i[i.length-1],o=i[0],s=t.invert(r),l=s.x;return t.isPolar&&l>(1+a)/2&&(l=o),n.translate(n.invert(l))}function Frt(r,e,t){var n=t.coordinate,i=t.getYScale(),a=i.field,o=n.invert(e),s=i.invert(o.y),l=(0,Mi.find)(r,function(u){var f=u[Tn];return f[a][0]<=s&&f[a][1]>=s});return l||r[r.length-1]}var FWt=(0,Mi.memoize)(function(r){if(r.isCategory)return 1;for(var e=r.values,t=e.length,n=r.translate(e[0]),i=n,a=0;ai&&(i=s)}return(i-n)/(t-1)});function BWt(r,e,t){var n=e.getAttribute("position"),i=n.getFields(),a=e.scales,o=(0,Mi.isFunction)(t)||!t?i[0]:t,s=a[o],l=s?s.getText(r[o]):r[o]||o;return(0,Mi.isFunction)(t)?t(l,r):l}function GWt(r){var e=(0,Mi.values)(r.attributes);return(0,Mi.filter)(e,function(t){return(0,Mi.contains)(Iy,t.type)})}function Brt(r){for(var e=GWt(r),t,n=0,i=e;n=S)if(I)(0,Mi.isArray)(l)||(l=[]),l.push(P);else{l=P;break}}(0,Mi.isArray)(l)&&(l=Frt(l,r,t))}else{var L=void 0;if(!i.isLinear&&i.type!=="timeCat"){for(var p=0;pi.translate(A)||Si.max||SMath.abs(i.translate(L[Tn][o])-S)&&(b=L)}var G=FWt(t.getXScale());return!l&&Math.abs(i.translate(b[Tn][o])-S)<=G/2&&(l=b),l}function VL(r,e,t,n){t===void 0&&(t=""),n===void 0&&(n=!1);var i=r[Tn],a=BWt(i,e,t),o=e.tooltipOption,s=e.theme.defaultColor,l=[],u,f;function c(A,I){if(n||!(0,Mi.isNil)(I)&&I!==""){var P={title:a,data:i,mappingData:r,name:A,value:I,color:r.color||s,marker:!0};l.push(P)}}if((0,Mi.isObject)(o)){var h=o.fields,d=o.callback;if(d){var p=h.map(function(A){return r[Tn][A]}),v=d.apply(void 0,p),m=E({data:r[Tn],mappingData:r,title:a,color:r.color||s,marker:!0},v);l.push(m)}else for(var g=e.scales,x=0,b=h;x');L.appendChild(M);var O=r4(L,l,a,o),F=a2(h),k=new F.Canvas(E({container:M,pixelRatio:d,localRefresh:v,supportCSSTransform:b},O));return n=r.call(this,{parent:null,canvas:k,backgroundGroup:k.addGroup({zIndex:Uv.BG}),middleGroup:k.addGroup({zIndex:Uv.MID}),foregroundGroup:k.addGroup({zIndex:Uv.FORE}),padding:u,appendPadding:f,visible:g,options:w,limitInPlot:A,theme:I,syncViewPadding:P})||this,n.onResize=(0,Qb.debounce)(function(){n.forceFit()},300),n.ele=L,n.canvas=k,n.width=O.width,n.height=O.height,n.autoFit=l,n.localRefresh=v,n.renderer=h,n.wrapperElement=M,n.updateCanvasStyle(),n.bindAutoFit(),n.initDefaultInteractions(C),n}return e.prototype.initDefaultInteractions=function(t){var n=this;(0,Qb.each)(t,function(i){n.interaction(i)})},e.prototype.aria=function(t){var n="aria-label";t===!1?this.ele.removeAttribute(n):this.ele.setAttribute(n,t.label)},e.prototype.changeSize=function(t,n){return this.width===t&&this.height===n?this:(this.emit(wr.BEFORE_CHANGE_SIZE),this.width=t,this.height=n,this.canvas.changeSize(t,n),this.render(!0),this.emit(wr.AFTER_CHANGE_SIZE),this)},e.prototype.clear=function(){r.prototype.clear.call(this),this.aria(!1)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.unbindAutoFit(),this.canvas.destroy(),IZ(this.wrapperElement),this.wrapperElement=null},e.prototype.changeVisible=function(t){return r.prototype.changeVisible.call(this,t),this.wrapperElement.style.display=t?"":"none",this},e.prototype.forceFit=function(){if(!this.destroyed){var t=r4(this.ele,!0,this.width,this.height),n=t.width,i=t.height;this.changeSize(n,i)}},e.prototype.updateCanvasStyle=function(){yr(this.canvas.get("el"),{display:"inline-block",verticalAlign:"middle"})},e.prototype.bindAutoFit=function(){this.autoFit&&window.addEventListener("resize",this.onResize)},e.prototype.unbindAutoFit=function(){this.autoFit&&window.removeEventListener("resize",this.onResize)},e}(bE),_E=VWt;var Zrt=U(q()),Bl=function(){function r(e){this.visible=!0,this.components=[],this.view=e}return r.prototype.clear=function(e){(0,Zrt.each)(this.components,function(t){t.component.destroy()}),this.components=[]},r.prototype.destroy=function(){this.clear()},r.prototype.getComponents=function(){return this.components},r.prototype.changeVisible=function(e){this.visible!==e&&(this.components.forEach(function(t){e?t.component.show():t.component.hide()}),this.visible=e)},r}();var ei=U(q());function HWt(r){for(var e=[],t=function(i){var a=r[i],o=(0,ei.find)(e,function(s){return s.color===a.color&&s.name===a.name&&s.value===a.value&&s.title===a.title});o||e.push(a)},n=0;n1){for(var p=n[0],v=Math.abs(t.y-p[0].y),m=0,g=n;m'+s+"":s};return E(E({},t),{customContent:i})},e.prototype.getTitle=function(t){var n=t[0].title||t[0].name;return this.title=n,n},e.prototype.renderTooltip=function(){var t=this.view.getCanvas(),n={start:{x:0,y:0},end:{x:t.get("width"),y:t.get("height")}},i=this.getTooltipCfg(),a=new Hb(E(E({parent:t.get("el").parentNode,region:n},i),{visible:!1,crosshairs:null}));a.init(),this.tooltip=a},e.prototype.renderTooltipMarkers=function(t,n){for(var i=this.getTooltipMarkersGroup(),a=0,o=t;a-1)return;a.push(t),(t==="active"||t==="selected")&&(l==null||l.toFront())}else{if(f===-1)return;if(a.splice(f,1),t==="active"||t==="selected"){var c=this.geometry,h=c.sortZIndex,d=c.zIndexReversed,p=d?this.geometry.elements.length-this.elementIndex:this.elementIndex;h?l.setZIndex(p):l.set("zIndex",p)}}var v=o.drawShape(u,s,this.getOffscreenGroup());a.length?this.syncShapeStyle(l,v,a,null):this.syncShapeStyle(l,v,["reset"],null),v.remove(!0);var m={state:t,stateStatus:n,element:this,target:this.container};this.container.emit("statechange",m),qw(this.shape,"statechange",m)},e.prototype.clearStates=function(){var t=this,n=this.states;(0,qa.each)(n,function(i){t.setState(i,!1)}),this.states=[]},e.prototype.hasState=function(t){return this.states.includes(t)},e.prototype.getStates=function(){return this.states},e.prototype.getData=function(){return this.data},e.prototype.getModel=function(){return this.model},e.prototype.getBBox=function(){var t=this,n=t.shape,i=t.labelShape,a={x:0,y:0,minX:0,minY:0,maxX:0,maxY:0,width:0,height:0};return n&&(a=n.getCanvasBBox()),i&&i.forEach(function(o){var s=o.getCanvasBBox();a.x=Math.min(s.x,a.x),a.y=Math.min(s.y,a.y),a.minX=Math.min(s.minX,a.minX),a.minY=Math.min(s.minY,a.minY),a.maxX=Math.max(s.maxX,a.maxX),a.maxY=Math.max(s.maxY,a.maxY)}),a.width=a.maxX-a.minX,a.height=a.maxY-a.minY,a},e.prototype.getStatesStyle=function(){if(!this.statesStyle){var t=this,n=t.shapeType,i=t.geometry,a=t.shapeFactory,o=i.stateOption,s=a.defaultShapeType,l=a.theme[n]||a.theme[s];this.statesStyle=(0,qa.deepMix)({},l,o)}return this.statesStyle},e.prototype.getStateStyle=function(t,n){var i=this.getStatesStyle(),a=(0,qa.get)(i,[t,"style"],{}),o=a[n]||a;return(0,qa.isFunction)(o)?o(this):o},e.prototype.getAnimateCfg=function(t){var n=this,i=this.animate;if(i){var a=i[t];return a&&E(E({},a),{callback:function(){var o;(0,qa.isFunction)(a.callback)&&a.callback(),(o=n.geometry)===null||o===void 0||o.emit(jv.AFTER_DRAW_ANIMATE)}})}return null},e.prototype.drawShape=function(t,n){var i;n===void 0&&(n=!1);var a=this,o=a.shapeFactory,s=a.container,l=a.shapeType;if(this.shape=o.drawShape(l,t,s),this.shape){this.setShapeInfo(this.shape,t);var u=this.shape.cfg.name;u?(0,qa.isString)(u)&&(this.shape.cfg.name=["element",u]):this.shape.cfg.name=["element",this.shapeFactory.geometryType];var f=n?"enter":"appear",c=this.getAnimateCfg(f);c&&((i=this.geometry)===null||i===void 0||i.emit(jv.BEFORE_DRAW_ANIMATE),mp(this.shape,c,{coordinate:o.coordinate,toAttrs:E({},this.shape.attr())}))}},e.prototype.getOffscreenGroup=function(){if(!this.offscreenGroup){var t=this.container.getGroupBase();this.offscreenGroup=new t({})}return this.offscreenGroup},e.prototype.setShapeInfo=function(t,n){var i=this;if(t.cfg.origin=n,t.cfg.element=this,t.isGroup()){var a=t.get("children");a.forEach(function(o){i.setShapeInfo(o,n)})}},e.prototype.syncShapeStyle=function(t,n,i,a,o){var s=this,l;if(i===void 0&&(i=[]),o===void 0&&(o=0),!(!t||!n)){var u=t.get("clipShape"),f=n.get("clipShape");if(this.syncShapeStyle(u,f,i,a),t.isGroup())for(var c=t.get("children"),h=n.get("children"),d=0;d=0?a=n:i<=0?a=i:a=0,a},e.prototype.createAttrOption=function(t,n,i){if((0,sr.isNil)(n)||(0,sr.isObject)(n))(0,sr.isObject)(n)&&(0,sr.isEqual)(Object.keys(n),["values"])?(0,sr.set)(this.attributeOption,t,{fields:n.values}):(0,sr.set)(this.attributeOption,t,n);else{var a={};(0,sr.isNumber)(n)?a.values=[n]:a.fields=r1(n),i&&((0,sr.isFunction)(i)?a.callback=i:a.values=i),(0,sr.set)(this.attributeOption,t,a)}},e.prototype.initAttributes=function(){var t=this,n=this,i=n.attributes,a=n.attributeOption,o=n.theme,s=n.shapeType;this.groupScales=[];var l={},u=function(h){if(a.hasOwnProperty(h)){var d=a[h];if(!d)return{value:void 0};var p=E({},d),v=p.callback,m=p.values,g=p.fields,x=g===void 0?[]:g,b=x.map(function(C){var w=t.scales[C];return w.isCategory&&!l[C]&&Iy.includes(h)&&(t.groupScales.push(w),l[C]=!0),w});p.scales=b,h!=="position"&&b.length===1&&b[0].type==="identity"?p.values=b[0].values:!v&&!m&&(h==="size"?p.values=o.sizes:h==="shape"?p.values=o.shapes[s]||[]:h==="color"&&(b.length?p.values=b[0].values.length<=10?o.colors10:o.colors20:p.values=o.colors10));var S=Xw(h);i[h]=new S(p)}};for(var f in a){var c=u(f);if(typeof c=="object")return c.value}},e.prototype.processData=function(t){this.hasSorted=!1;for(var n=this.getAttribute("position").scales,i=n.filter(function(C){return C.isCategory}),a=this.groupData(t),o=[],s=0,l=a.length;ss&&(s=c)}var h=this.scaleDefs,d={};ot.max&&!(0,sr.get)(h,[a,"max"])&&(d.max=s),t.change(d)},e.prototype.beforeMapping=function(t){var n=t;if(this.sortable&&this.sort(n),this.generatePoints)for(var i=0,a=n.length;i1)for(var h=0;h0})}var QL=U(q());function MU(r,e,t){var n=t.data,i=t.origin,a=t.animateCfg,o=t.coordinate,s=(0,QL.get)(a,"update");r.set("data",n),r.set("origin",i),r.set("animateCfg",a),r.set("coordinate",o),r.set("visible",e.get("visible")),r.getChildren().forEach(function(l,u){var f=e.getChildByIndex(u);if(!f)r.removeChild(l),l.remove(!0);else{l.set("data",n),l.set("origin",i),l.set("animateCfg",a),l.set("coordinate",o);var c=ML(l,f);s?mp(l,s,{toAttrs:c,coordinate:o}):l.attr(c),f.isGroup()&&MU(l,f,t)}}),(0,QL.each)(e.getChildren(),function(l,u){u>=r.getCount()&&(l.destroyed||r.add(l))})}var r6t=function(){function r(e){this.shapesMap={},this.lastShapesMap={};var t=e.layout,n=e.container;this.layout=t,this.container=n}return r.prototype.render=function(e,t,n){var i=this;n===void 0&&(n=!1),this.shapesMap={};var a=this.container,o=this.createOffscreenGroup();if(e.length){for(var s=0,l=e;s0||n===1?u[s]=i*l:u[s]=i*l*-1,u},r.prototype.getLabelPoint=function(e,t,n){var i=this.getCoordinate(),a=e.content.length;function o(m,g,x){x===void 0&&(x=!1);var b=m;return(0,qn.isArray)(b)&&(e.content.length===1?x?b=lnt(b):b.length<=2?b=b[m.length-1]:b=lnt(b):b=b[g]),b}var s={content:e.content[n],x:0,y:0,start:{x:0,y:0},color:"#fff"},l=(0,qn.isArray)(t.shape)?t.shape[0]:t.shape,u=l==="funnel"||l==="pyramid";if(this.geometry.type==="polygon"){var f=urt(t.x,t.y);s.x=f[0],s.y=f[1]}else this.geometry.type==="interval"&&!u?(s.x=o(t.x,n,!0),s.y=o(t.y,n)):(s.x=o(t.x,n),s.y=o(t.y,n));if(u){var c=(0,qn.get)(t,"nextPoints"),h=(0,qn.get)(t,"points");if(c){var d=i.convert(h[1]),p=i.convert(c[1]);s.x=(d.x+p.x)/2,s.y=(d.y+p.y)/2}else if(l==="pyramid"){var d=i.convert(h[1]),p=i.convert(h[2]);s.x=(d.x+p.x)/2,s.y=(d.y+p.y)/2}}e.position&&this.setLabelPosition(s,t,n,e.position);var v=this.getLabelOffsetPoint(e,n,a);return s.start={x:s.x,y:s.y},s.x+=v.x,s.y+=v.y,s.color=t.color,s},r.prototype.getLabelAlign=function(e,t,n){var i="center",a=this.getCoordinate();if(a.isTransposed){var o=e.offset;o<0?i="right":o===0?i="center":i="left",n>1&&t===0&&(i==="right"?i="left":i==="left"&&(i="right"))}return i},r.prototype.getLabelId=function(e){var t=this.geometry,n=t.type,i=t.getXScale(),a=t.getYScale(),o=e[Tn],s=t.getElementId(e);return n==="line"||n==="area"?s+=" ".concat(o[i.field]):n==="path"&&(s+=" ".concat(o[i.field],"-").concat(o[a.field])),s},r.prototype.getLabelsRenderer=function(){var e=this.geometry,t=e.labelsContainer,n=e.labelOption,i=e.canvasRegion,a=e.animateOption,o=this.geometry.coordinate,s=this.labelsRenderer;return s||(s=new snt({container:t,layout:(0,qn.get)(n,["cfg","layout"],{type:this.defaultLayout})}),this.labelsRenderer=s),s.region=i,s.animate=a?YL("label",o):!1,s},r.prototype.getLabelCfgs=function(e){var t=this,n=this.geometry,i=n.labelOption,a=n.scales,o=n.coordinate,s=i,l=s.fields,u=s.callback,f=s.cfg,c=l.map(function(d){return a[d]}),h=[];return(0,qn.each)(e,function(d,p){var v=d[Tn],m=t.getLabelText(v,c),g;if(u){var x=l.map(function(A){return v[A]});if(g=u.apply(void 0,x),(0,qn.isNil)(g)){h.push(null);return}}var b=E(E({id:t.getLabelId(d),elementId:t.geometry.getElementId(d),data:v,mappingData:d,coordinate:o},f),g);(0,qn.isFunction)(b.position)&&(b.position=b.position(v,d,p));var S=t.getLabelOffset(b.offset||0),C=t.getDefaultLabelCfg(S,b.position);b=(0,qn.deepMix)({},C,b),b.offset=t.getLabelOffset(b.offset||0);var w=b.content;(0,qn.isFunction)(w)?b.content=w(v,d,p):(0,qn.isUndefined)(w)&&(b.content=m[0]),h.push(b)}),h},r.prototype.getLabelText=function(e,t){var n=[];return(0,qn.each)(t,function(i){var a=e[i.field];(0,qn.isArray)(a)?a=a.map(function(o){return i.getText(o)}):a=i.getText(a),(0,qn.isNil)(a)||a===""?n.push(null):n.push(a)}),n},r.prototype.getOffsetVector=function(e){e===void 0&&(e=0);var t=this.getCoordinate(),n=0;return(0,qn.isNumber)(e)&&(n=e),t.isTransposed?t.applyMatrix(n,0):t.applyMatrix(0,n)},r.prototype.getGeometryShapes=function(){var e=this.geometry,t={};return(0,qn.each)(e.elementsMap,function(n,i){t[i]=n.shape}),(0,qn.each)(e.getOffscreenGroup().getChildren(),function(n){var i=e.getElementId(n.get("origin").mappingData);t[i]=n}),t},r}(),Ch=n6t;function AE(r,e,t){if(!r)return t;var n;if(r.callback&&r.callback.length>1){var i=Array(r.callback.length-1).fill("");n=r.mapping.apply(r,mn([e],i,!1)).join("")}else n=r.mapping(e).join("");return n||t}var ta=U(q());var tf={hexagon:function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},bowtie:function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},cross:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},tick:function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},plus:function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},hyphen:function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},line:function(r,e,t){return[["M",r,e-t],["L",r,e+t]]}};var i6t=["line","cross","tick","plus","hyphen"];function a6t(r,e){return(0,ta.isFunction)(e)?e(r):(0,ta.deepMix)({},r,e)}function o6t(r,e){var t=r.symbol;if((0,ta.isString)(t)&&i6t.indexOf(t)!==-1){var n=(0,ta.get)(r,"style",{}),i=(0,ta.get)(n,"lineWidth",1),a=n.stroke||n.fill||e;r.style=(0,ta.deepMix)({},r.style,{lineWidth:i,stroke:a,fill:null})}}function unt(r){var e=r.symbol;(0,ta.isString)(e)&&tf[e]&&(r.symbol=tf[e])}function JL(r){return r.startsWith(xe.LEFT)||r.startsWith(xe.RIGHT)?"vertical":"horizontal"}function tO(r,e,t,n,i){var a=t.getScale(t.type);if(a.isCategory){var o=a.field,s=e.getAttribute("color"),l=e.getAttribute("shape"),u=r.getTheme().defaultColor,f=e.coordinate.isPolar;return a.getTicks().map(function(c,h){var d,p=c.text,v=c.value,m=p,g=a.invert(v),x=r.filterFieldData(o,[(d={},d[o]=g,d)]).length===0;(0,ta.each)(r.views,function(A){var I;A.filterFieldData(o,[(I={},I[o]=g,I)]).length||(x=!0)});var b=AE(s,g,u),S=AE(l,g,"point"),C=e.getShapeMarker(S,{color:b,isInPolar:f}),w=i;return(0,ta.isFunction)(w)&&(w=w(m,h,E({name:m,value:g},(0,ta.deepMix)({},n,C)))),C=(0,ta.deepMix)({},n,C,bo(E({},w),["style"])),o6t(C,b),w&&w.style&&(C.style=a6t(C.style,w.style)),unt(C),{id:g,name:m,value:g,marker:C,unchecked:x}})}return[]}function fnt(r,e,t){return t.map(function(n,i){var a=e;(0,ta.isFunction)(a)&&(a=a(n.name,i,(0,ta.deepMix)({},r,n)));var o=(0,ta.isFunction)(n.marker)?n.marker(n.name,i,(0,ta.deepMix)({},r,n)):n.marker,s=(0,ta.deepMix)({},r,a,o);return unt(s),n.marker=s,n})}function TU(r,e){var t=(0,ta.get)(r,["components","legend"],{});return(0,ta.deepMix)({},(0,ta.get)(t,["common"],{}),(0,ta.deepMix)({},(0,ta.get)(t,[e],{})))}var IU=U(q());function LU(r){return r?!1:r==null||isNaN(r)}function cnt(r){if((0,IU.isArray)(r))return LU(r[1].y);var e=r.y;return(0,IU.isArray)(e)?LU(e[0]):LU(e)}function bm(r,e,t){if(e===void 0&&(e=!1),t===void 0&&(t=!0),!r.length||r.length===1&&!t)return[];if(e){for(var n=[],i=0,a=r.length;i(1+a)/2&&(l=o),n.translate(n.invert(l))}function Krt(r,e,t){var n=t.coordinate,i=t.getYScale(),a=i.field,o=n.invert(e),s=i.invert(o.y),l=(0,Mi.find)(r,function(u){var f=u[Tn];return f[a][0]<=s&&f[a][1]>=s});return l||r[r.length-1]}var i6t=(0,Mi.memoize)(function(r){if(r.isCategory)return 1;for(var e=r.values,t=e.length,n=r.translate(e[0]),i=n,a=0;ai&&(i=s)}return(i-n)/(t-1)});function a6t(r,e,t){var n=e.getAttribute("position"),i=n.getFields(),a=e.scales,o=(0,Mi.isFunction)(t)||!t?i[0]:t,s=a[o],l=s?s.getText(r[o]):r[o]||o;return(0,Mi.isFunction)(t)?t(l,r):l}function o6t(r){var e=(0,Mi.values)(r.attributes);return(0,Mi.filter)(e,function(t){return(0,Mi.contains)(Py,t.type)})}function Zrt(r){for(var e=o6t(r),t,n=0,i=e;n=S)if(L)(0,Mi.isArray)(l)||(l=[]),l.push(k);else{l=k;break}}(0,Mi.isArray)(l)&&(l=Krt(l,r,t))}else{var O=void 0;if(!i.isLinear&&i.type!=="timeCat"){for(var p=0;pi.translate(A)||Si.max||SMath.abs(i.translate(O[Tn][o])-S)&&(b=O)}var F=i6t(t.getXScale());return!l&&Math.abs(i.translate(b[Tn][o])-S)<=F/2&&(l=b),l}function qL(r,e,t,n){t===void 0&&(t=""),n===void 0&&(n=!1);var i=r[Tn],a=a6t(i,e,t),o=e.tooltipOption,s=e.theme.defaultColor,l=[],u,f;function c(A,L){if(n||!(0,Mi.isNil)(L)&&L!==""){var k={title:a,data:i,mappingData:r,name:A,value:L,color:r.color||s,marker:!0};l.push(k)}}if((0,Mi.isObject)(o)){var h=o.fields,d=o.callback;if(d){var p=h.map(function(A){return r[Tn][A]}),v=d.apply(void 0,p),m=E({data:r[Tn],mappingData:r,title:a,color:r.color||s,marker:!0},v);l.push(m)}else for(var g=e.scales,x=0,b=h;x');O.appendChild(M);var I=l4(O,l,a,o),R=u2(h),P=new R.Canvas(E({container:M,pixelRatio:d,localRefresh:v,supportCSSTransform:b},I));return n=r.call(this,{parent:null,canvas:P,backgroundGroup:P.addGroup({zIndex:Wv.BG}),middleGroup:P.addGroup({zIndex:Wv.MID}),foregroundGroup:P.addGroup({zIndex:Wv.FORE}),padding:u,appendPadding:f,visible:g,options:w,limitInPlot:A,theme:L,syncViewPadding:k})||this,n.onResize=(0,e1.debounce)(function(){n.forceFit()},300),n.ele=O,n.canvas=P,n.width=I.width,n.height=I.height,n.autoFit=l,n.localRefresh=v,n.renderer=h,n.wrapperElement=M,n.updateCanvasStyle(),n.bindAutoFit(),n.initDefaultInteractions(C),n}return e.prototype.initDefaultInteractions=function(t){var n=this;(0,e1.each)(t,function(i){n.interaction(i)})},e.prototype.aria=function(t){var n="aria-label";t===!1?this.ele.removeAttribute(n):this.ele.setAttribute(n,t.label)},e.prototype.changeSize=function(t,n){return this.width===t&&this.height===n?this:(this.emit(wr.BEFORE_CHANGE_SIZE),this.width=t,this.height=n,this.canvas.changeSize(t,n),this.render(!0),this.emit(wr.AFTER_CHANGE_SIZE),this)},e.prototype.clear=function(){r.prototype.clear.call(this),this.aria(!1)},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.unbindAutoFit(),this.canvas.destroy(),UZ(this.wrapperElement),this.wrapperElement=null},e.prototype.changeVisible=function(t){return r.prototype.changeVisible.call(this,t),this.wrapperElement.style.display=t?"":"none",this},e.prototype.forceFit=function(){if(!this.destroyed){var t=l4(this.ele,!0,this.width,this.height),n=t.width,i=t.height;this.changeSize(n,i)}},e.prototype.updateCanvasStyle=function(){yr(this.canvas.get("el"),{display:"inline-block",verticalAlign:"middle"})},e.prototype.bindAutoFit=function(){this.autoFit&&window.addEventListener("resize",this.onResize)},e.prototype.unbindAutoFit=function(){this.autoFit&&window.removeEventListener("resize",this.onResize)},e}(wE),EE=c6t;var lnt=z(q()),Bl=function(){function r(e){this.visible=!0,this.components=[],this.view=e}return r.prototype.clear=function(e){(0,lnt.each)(this.components,function(t){t.component.destroy()}),this.components=[]},r.prototype.destroy=function(){this.clear()},r.prototype.getComponents=function(){return this.components},r.prototype.changeVisible=function(e){this.visible!==e&&(this.components.forEach(function(t){e?t.component.show():t.component.hide()}),this.visible=e)},r}();var ei=z(q());function h6t(r){for(var e=[],t=function(i){var a=r[i],o=(0,ei.find)(e,function(s){return s.color===a.color&&s.name===a.name&&s.value===a.value&&s.title===a.title});o||e.push(a)},n=0;n1){for(var p=n[0],v=Math.abs(t.y-p[0].y),m=0,g=n;m'+s+"":s};return E(E({},t),{customContent:i})},e.prototype.getTitle=function(t){var n=t[0].title||t[0].name;return this.title=n,n},e.prototype.renderTooltip=function(){var t=this.view.getCanvas(),n={start:{x:0,y:0},end:{x:t.get("width"),y:t.get("height")}},i=this.getTooltipCfg(),a=new qb(E(E({parent:t.get("el").parentNode,region:n},i),{visible:!1,crosshairs:null}));a.init(),this.tooltip=a},e.prototype.renderTooltipMarkers=function(t,n){for(var i=this.getTooltipMarkersGroup(),a=0,o=t;a-1)return;a.push(t),(t==="active"||t==="selected")&&(l==null||l.toFront())}else{if(f===-1)return;if(a.splice(f,1),t==="active"||t==="selected"){var c=this.geometry,h=c.sortZIndex,d=c.zIndexReversed,p=d?this.geometry.elements.length-this.elementIndex:this.elementIndex;h?l.setZIndex(p):l.set("zIndex",p)}}var v=o.drawShape(u,s,this.getOffscreenGroup());a.length?this.syncShapeStyle(l,v,a,null):this.syncShapeStyle(l,v,["reset"],null),v.remove(!0);var m={state:t,stateStatus:n,element:this,target:this.container};this.container.emit("statechange",m),Qw(this.shape,"statechange",m)},e.prototype.clearStates=function(){var t=this,n=this.states;(0,Za.each)(n,function(i){t.setState(i,!1)}),this.states=[]},e.prototype.hasState=function(t){return this.states.includes(t)},e.prototype.getStates=function(){return this.states},e.prototype.getData=function(){return this.data},e.prototype.getModel=function(){return this.model},e.prototype.getBBox=function(){var t=this,n=t.shape,i=t.labelShape,a={x:0,y:0,minX:0,minY:0,maxX:0,maxY:0,width:0,height:0};return n&&(a=n.getCanvasBBox()),i&&i.forEach(function(o){var s=o.getCanvasBBox();a.x=Math.min(s.x,a.x),a.y=Math.min(s.y,a.y),a.minX=Math.min(s.minX,a.minX),a.minY=Math.min(s.minY,a.minY),a.maxX=Math.max(s.maxX,a.maxX),a.maxY=Math.max(s.maxY,a.maxY)}),a.width=a.maxX-a.minX,a.height=a.maxY-a.minY,a},e.prototype.getStatesStyle=function(){if(!this.statesStyle){var t=this,n=t.shapeType,i=t.geometry,a=t.shapeFactory,o=i.stateOption,s=a.defaultShapeType,l=a.theme[n]||a.theme[s];this.statesStyle=(0,Za.deepMix)({},l,o)}return this.statesStyle},e.prototype.getStateStyle=function(t,n){var i=this.getStatesStyle(),a=(0,Za.get)(i,[t,"style"],{}),o=a[n]||a;return(0,Za.isFunction)(o)?o(this):o},e.prototype.getAnimateCfg=function(t){var n=this,i=this.animate;if(i){var a=i[t];return a&&E(E({},a),{callback:function(){var o;(0,Za.isFunction)(a.callback)&&a.callback(),(o=n.geometry)===null||o===void 0||o.emit(Vv.AFTER_DRAW_ANIMATE)}})}return null},e.prototype.drawShape=function(t,n){var i;n===void 0&&(n=!1);var a=this,o=a.shapeFactory,s=a.container,l=a.shapeType;if(this.shape=o.drawShape(l,t,s),this.shape){this.setShapeInfo(this.shape,t);var u=this.shape.cfg.name;u?(0,Za.isString)(u)&&(this.shape.cfg.name=["element",u]):this.shape.cfg.name=["element",this.shapeFactory.geometryType];var f=n?"enter":"appear",c=this.getAnimateCfg(f);c&&((i=this.geometry)===null||i===void 0||i.emit(Vv.BEFORE_DRAW_ANIMATE),mp(this.shape,c,{coordinate:o.coordinate,toAttrs:E({},this.shape.attr())}))}},e.prototype.getOffscreenGroup=function(){if(!this.offscreenGroup){var t=this.container.getGroupBase();this.offscreenGroup=new t({})}return this.offscreenGroup},e.prototype.setShapeInfo=function(t,n){var i=this;if(t.cfg.origin=n,t.cfg.element=this,t.isGroup()){var a=t.get("children");a.forEach(function(o){i.setShapeInfo(o,n)})}},e.prototype.syncShapeStyle=function(t,n,i,a,o){var s=this,l;if(i===void 0&&(i=[]),o===void 0&&(o=0),!(!t||!n)){var u=t.get("clipShape"),f=n.get("clipShape");if(this.syncShapeStyle(u,f,i,a),t.isGroup())for(var c=t.get("children"),h=n.get("children"),d=0;d=0?a=n:i<=0?a=i:a=0,a},e.prototype.createAttrOption=function(t,n,i){if((0,sr.isNil)(n)||(0,sr.isObject)(n))(0,sr.isObject)(n)&&(0,sr.isEqual)(Object.keys(n),["values"])?(0,sr.set)(this.attributeOption,t,{fields:n.values}):(0,sr.set)(this.attributeOption,t,n);else{var a={};(0,sr.isNumber)(n)?a.values=[n]:a.fields=a1(n),i&&((0,sr.isFunction)(i)?a.callback=i:a.values=i),(0,sr.set)(this.attributeOption,t,a)}},e.prototype.initAttributes=function(){var t=this,n=this,i=n.attributes,a=n.attributeOption,o=n.theme,s=n.shapeType;this.groupScales=[];var l={},u=function(h){if(a.hasOwnProperty(h)){var d=a[h];if(!d)return{value:void 0};var p=E({},d),v=p.callback,m=p.values,g=p.fields,x=g===void 0?[]:g,b=x.map(function(C){var w=t.scales[C];return w.isCategory&&!l[C]&&Py.includes(h)&&(t.groupScales.push(w),l[C]=!0),w});p.scales=b,h!=="position"&&b.length===1&&b[0].type==="identity"?p.values=b[0].values:!v&&!m&&(h==="size"?p.values=o.sizes:h==="shape"?p.values=o.shapes[s]||[]:h==="color"&&(b.length?p.values=b[0].values.length<=10?o.colors10:o.colors20:p.values=o.colors10));var S=$w(h);i[h]=new S(p)}};for(var f in a){var c=u(f);if(typeof c=="object")return c.value}},e.prototype.processData=function(t){this.hasSorted=!1;for(var n=this.getAttribute("position").scales,i=n.filter(function(C){return C.isCategory}),a=this.groupData(t),o=[],s=0,l=a.length;ss&&(s=c)}var h=this.scaleDefs,d={};ot.max&&!(0,sr.get)(h,[a,"max"])&&(d.max=s),t.change(d)},e.prototype.beforeMapping=function(t){var n=t;if(this.sortable&&this.sort(n),this.generatePoints)for(var i=0,a=n.length;i1)for(var h=0;h0})}var rO=z(q());function PU(r,e,t){var n=t.data,i=t.origin,a=t.animateCfg,o=t.coordinate,s=(0,rO.get)(a,"update");r.set("data",n),r.set("origin",i),r.set("animateCfg",a),r.set("coordinate",o),r.set("visible",e.get("visible")),r.getChildren().forEach(function(l,u){var f=e.getChildByIndex(u);if(!f)r.removeChild(l),l.remove(!0);else{l.set("data",n),l.set("origin",i),l.set("animateCfg",a),l.set("coordinate",o);var c=OL(l,f);s?mp(l,s,{toAttrs:c,coordinate:o}):l.attr(c),f.isGroup()&&PU(l,f,t)}}),(0,rO.each)(e.getChildren(),function(l,u){u>=r.getCount()&&(l.destroyed||r.add(l))})}var C6t=function(){function r(e){this.shapesMap={},this.lastShapesMap={};var t=e.layout,n=e.container;this.layout=t,this.container=n}return r.prototype.render=function(e,t,n){var i=this;n===void 0&&(n=!1),this.shapesMap={};var a=this.container,o=this.createOffscreenGroup();if(e.length){for(var s=0,l=e;s0||n===1?u[s]=i*l:u[s]=i*l*-1,u},r.prototype.getLabelPoint=function(e,t,n){var i=this.getCoordinate(),a=e.content.length;function o(m,g,x){x===void 0&&(x=!1);var b=m;return(0,qn.isArray)(b)&&(e.content.length===1?x?b=bnt(b):b.length<=2?b=b[m.length-1]:b=bnt(b):b=b[g]),b}var s={content:e.content[n],x:0,y:0,start:{x:0,y:0},color:"#fff"},l=(0,qn.isArray)(t.shape)?t.shape[0]:t.shape,u=l==="funnel"||l==="pyramid";if(this.geometry.type==="polygon"){var f=_rt(t.x,t.y);s.x=f[0],s.y=f[1]}else this.geometry.type==="interval"&&!u?(s.x=o(t.x,n,!0),s.y=o(t.y,n)):(s.x=o(t.x,n),s.y=o(t.y,n));if(u){var c=(0,qn.get)(t,"nextPoints"),h=(0,qn.get)(t,"points");if(c){var d=i.convert(h[1]),p=i.convert(c[1]);s.x=(d.x+p.x)/2,s.y=(d.y+p.y)/2}else if(l==="pyramid"){var d=i.convert(h[1]),p=i.convert(h[2]);s.x=(d.x+p.x)/2,s.y=(d.y+p.y)/2}}e.position&&this.setLabelPosition(s,t,n,e.position);var v=this.getLabelOffsetPoint(e,n,a);return s.start={x:s.x,y:s.y},s.x+=v.x,s.y+=v.y,s.color=t.color,s},r.prototype.getLabelAlign=function(e,t,n){var i="center",a=this.getCoordinate();if(a.isTransposed){var o=e.offset;o<0?i="right":o===0?i="center":i="left",n>1&&t===0&&(i==="right"?i="left":i==="left"&&(i="right"))}return i},r.prototype.getLabelId=function(e){var t=this.geometry,n=t.type,i=t.getXScale(),a=t.getYScale(),o=e[Tn],s=t.getElementId(e);return n==="line"||n==="area"?s+=" ".concat(o[i.field]):n==="path"&&(s+=" ".concat(o[i.field],"-").concat(o[a.field])),s},r.prototype.getLabelsRenderer=function(){var e=this.geometry,t=e.labelsContainer,n=e.labelOption,i=e.canvasRegion,a=e.animateOption,o=this.geometry.coordinate,s=this.labelsRenderer;return s||(s=new xnt({container:t,layout:(0,qn.get)(n,["cfg","layout"],{type:this.defaultLayout})}),this.labelsRenderer=s),s.region=i,s.animate=a?ZL("label",o):!1,s},r.prototype.getLabelCfgs=function(e){var t=this,n=this.geometry,i=n.labelOption,a=n.scales,o=n.coordinate,s=i,l=s.fields,u=s.callback,f=s.cfg,c=l.map(function(d){return a[d]}),h=[];return(0,qn.each)(e,function(d,p){var v=d[Tn],m=t.getLabelText(v,c),g;if(u){var x=l.map(function(A){return v[A]});if(g=u.apply(void 0,x),(0,qn.isNil)(g)){h.push(null);return}}var b=E(E({id:t.getLabelId(d),elementId:t.geometry.getElementId(d),data:v,mappingData:d,coordinate:o},f),g);(0,qn.isFunction)(b.position)&&(b.position=b.position(v,d,p));var S=t.getLabelOffset(b.offset||0),C=t.getDefaultLabelCfg(S,b.position);b=(0,qn.deepMix)({},C,b),b.offset=t.getLabelOffset(b.offset||0);var w=b.content;(0,qn.isFunction)(w)?b.content=w(v,d,p):(0,qn.isUndefined)(w)&&(b.content=m[0]),h.push(b)}),h},r.prototype.getLabelText=function(e,t){var n=[];return(0,qn.each)(t,function(i){var a=e[i.field];(0,qn.isArray)(a)?a=a.map(function(o){return i.getText(o)}):a=i.getText(a),(0,qn.isNil)(a)||a===""?n.push(null):n.push(a)}),n},r.prototype.getOffsetVector=function(e){e===void 0&&(e=0);var t=this.getCoordinate(),n=0;return(0,qn.isNumber)(e)&&(n=e),t.isTransposed?t.applyMatrix(n,0):t.applyMatrix(0,n)},r.prototype.getGeometryShapes=function(){var e=this.geometry,t={};return(0,qn.each)(e.elementsMap,function(n,i){t[i]=n.shape}),(0,qn.each)(e.getOffscreenGroup().getChildren(),function(n){var i=e.getElementId(n.get("origin").mappingData);t[i]=n}),t},r}(),Ch=w6t;function LE(r,e,t){if(!r)return t;var n;if(r.callback&&r.callback.length>1){var i=Array(r.callback.length-1).fill("");n=r.mapping.apply(r,mn([e],i,!1)).join("")}else n=r.mapping(e).join("");return n||t}var ta=z(q());var tf={hexagon:function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},bowtie:function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},cross:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},tick:function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},plus:function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},hyphen:function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},line:function(r,e,t){return[["M",r,e-t],["L",r,e+t]]}};var E6t=["line","cross","tick","plus","hyphen"];function A6t(r,e){return(0,ta.isFunction)(e)?e(r):(0,ta.deepMix)({},r,e)}function M6t(r,e){var t=r.symbol;if((0,ta.isString)(t)&&E6t.indexOf(t)!==-1){var n=(0,ta.get)(r,"style",{}),i=(0,ta.get)(n,"lineWidth",1),a=n.stroke||n.fill||e;r.style=(0,ta.deepMix)({},r.style,{lineWidth:i,stroke:a,fill:null})}}function _nt(r){var e=r.symbol;(0,ta.isString)(e)&&tf[e]&&(r.symbol=tf[e])}function nO(r){return r.startsWith(xe.LEFT)||r.startsWith(xe.RIGHT)?"vertical":"horizontal"}function iO(r,e,t,n,i){var a=t.getScale(t.type);if(a.isCategory){var o=a.field,s=e.getAttribute("color"),l=e.getAttribute("shape"),u=r.getTheme().defaultColor,f=e.coordinate.isPolar;return a.getTicks().map(function(c,h){var d,p=c.text,v=c.value,m=p,g=a.invert(v),x=r.filterFieldData(o,[(d={},d[o]=g,d)]).length===0;(0,ta.each)(r.views,function(A){var L;A.filterFieldData(o,[(L={},L[o]=g,L)]).length||(x=!0)});var b=LE(s,g,u),S=LE(l,g,"point"),C=e.getShapeMarker(S,{color:b,isInPolar:f}),w=i;return(0,ta.isFunction)(w)&&(w=w(m,h,E({name:m,value:g},(0,ta.deepMix)({},n,C)))),C=(0,ta.deepMix)({},n,C,So(E({},w),["style"])),M6t(C,b),w&&w.style&&(C.style=A6t(C.style,w.style)),_nt(C),{id:g,name:m,value:g,marker:C,unchecked:x}})}return[]}function Snt(r,e,t){return t.map(function(n,i){var a=e;(0,ta.isFunction)(a)&&(a=a(n.name,i,(0,ta.deepMix)({},r,n)));var o=(0,ta.isFunction)(n.marker)?n.marker(n.name,i,(0,ta.deepMix)({},r,n)):n.marker,s=(0,ta.deepMix)({},r,a,o);return _nt(s),n.marker=s,n})}function kU(r,e){var t=(0,ta.get)(r,["components","legend"],{});return(0,ta.deepMix)({},(0,ta.get)(t,["common"],{}),(0,ta.deepMix)({},(0,ta.get)(t,[e],{})))}var RU=z(q());function NU(r){return r?!1:r==null||isNaN(r)}function Cnt(r){if((0,RU.isArray)(r))return NU(r[1].y);var e=r.y;return(0,RU.isArray)(e)?NU(e[0]):NU(e)}function Sm(r,e,t){if(e===void 0&&(e=!1),t===void 0&&(t=!0),!r.length||r.length===1&&!t)return[];if(e){for(var n=[],i=0,a=r.length;iRy,AbstractGroup:()=>qv,AbstractShape:()=>Kv,Base:()=>Oy,Canvas:()=>Gl,Event:()=>Yu,Group:()=>l1,PathUtil:()=>pb,Shape:()=>bp,assembleFont:()=>Gy,getArcParams:()=>Sm,getBBoxMethod:()=>Zv,getOffScreenContext:()=>Fy,getTextHeight:()=>By,invert:()=>Dy,isAllowCapture:()=>Hv,multiplyVec2:()=>pu,version:()=>W6t});var bp={};Dn(bp,{Base:()=>Ba,Circle:()=>Ant,Ellipse:()=>Mnt,Image:()=>Int,Line:()=>Lnt,Marker:()=>Dnt,Path:()=>TE,Polygon:()=>knt,Polyline:()=>Rnt,Rect:()=>Nnt,Text:()=>Fnt});var ln=U(q());function dnt(){return window?window.devicePixelRatio:1}function aO(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function wh(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function _m(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxY=0&&i<1/2*Math.PI?(s={x:o.minX,y:o.minY},l={x:o.maxX,y:o.maxY}):1/2*Math.PI<=i&&i1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var p=t*t*(h*h)+n*n*(c*c),v=p?Math.sqrt((t*t*(n*n)-p)/p):1;a===o&&(v*=-1),isNaN(v)&&(v=0);var m=n?v*t*h/n:0,g=t?v*-n*c/t:0,x=(s+u)/2+Math.cos(i)*m-Math.sin(i)*g,b=(l+f)/2+Math.sin(i)*m+Math.cos(i)*g,S=[(c-m)/t,(h-g)/n],C=[(-1*c-m)/t,(-1*h-g)/n],w=xnt([1,0],S),A=xnt(S,C);return RU(S,C)<=-1&&(A=Math.PI),RU(S,C)>=1&&(A=0),o===0&&A>0&&(A=A-2*Math.PI),o===1&&A<0&&(A=A+2*Math.PI),{cx:x,cy:b,rx:kU(r,[u,f])?0:t,ry:kU(r,[u,f])?0:n,startAngle:w,endAngle:w+A,xRotation:i,arcFlag:a,sweepFlag:o}}var sO=Math.sin,lO=Math.cos,NU=Math.atan2,uO=Math.PI;function bnt(r,e,t,n,i,a,o){var s=e.stroke,l=e.lineWidth,u=t-i,f=n-a,c=NU(f,u),h=new TE({type:"path",canvas:r.get("canvas"),isArrowShape:!0,attrs:{path:"M"+10*lO(uO/6)+","+10*sO(uO/6)+" L0,0 L"+10*lO(uO/6)+",-"+10*sO(uO/6),stroke:s,lineWidth:l}});h.translate(i,a),h.rotateAtPoint(i,a,c),r.set(o?"startArrowShape":"endArrowShape",h)}function _nt(r,e,t,n,i,a,o){var s=e.startArrow,l=e.endArrow,u=e.stroke,f=e.lineWidth,c=o?s:l,h=c.d,d=c.fill,p=c.stroke,v=c.lineWidth,m=rr(c,["d","fill","stroke","lineWidth"]),g=t-i,x=n-a,b=NU(x,g);h&&(i=i-lO(b)*h,a=a-sO(b)*h);var S=new TE({type:"path",canvas:r.get("canvas"),isArrowShape:!0,attrs:E(E({},m),{stroke:p||u,lineWidth:v||f,fill:d})});S.translate(i,a),S.rotateAtPoint(i,a,b),r.set(o?"startArrowShape":"endArrowShape",S)}function Eh(r,e,t,n,i){var a=NU(n-e,t-r);return{dx:lO(a)*i,dy:sO(a)*i}}function o1(r,e,t,n,i,a){typeof e.startArrow=="object"?_nt(r,e,t,n,i,a,!0):e.startArrow?bnt(r,e,t,n,i,a,!0):r.set("startArrowShape",null)}function s1(r,e,t,n,i,a){typeof e.endArrow=="object"?_nt(r,e,t,n,i,a,!1):e.endArrow?bnt(r,e,t,n,i,a,!1):r.set("startArrowShape",null)}var Snt={fill:"fillStyle",stroke:"strokeStyle",opacity:"globalAlpha"};function xp(r,e){var t=e.attr();for(var n in t){var i=t[n],a=Snt[n]?Snt[n]:n;a==="matrix"&&i?r.transform(i[0],i[1],i[3],i[4],i[6],i[7]):a==="lineDash"&&r.setLineDash?(0,sc.isArray)(i)&&r.setLineDash(i):(a==="strokeStyle"||a==="fillStyle"?i=gnt(r,e,i):a==="globalAlpha"&&(i=i*r.globalAlpha),r[a]=i)}}function IE(r,e,t){for(var n=0;nC?S:C,M=S>C?1:S/C,O=S>C?C/S:1;e.translate(x,b),e.rotate(I),e.scale(M,O),e.arc(0,0,L,w,A,1-P),e.scale(1/M,1/O),e.rotate(-I),e.translate(-x,-b)}break}case"Z":e.closePath();break;default:break}if(h==="Z")s=l;else{var F=c.length;s=[c[F-2],c[F-1]]}}}}function cO(r,e){var t=r.get("canvas");t&&(e==="remove"&&(r._cacheCanvasBBox=r.get("cacheCanvasBBox")),r.get("hasChanged")||(r.set("hasChanged",!0),r.cfg.parent&&r.cfg.parent.get("hasChanged")||(t.refreshElement(r,e,t),t.get("autoDraw")&&t.draw())))}function _6t(r){var e;if(r.destroyed)e=r._cacheCanvasBBox;else{var t=r.get("cacheCanvasBBox"),n=t&&!!(t.width&&t.height),i=r.getCanvasBBox(),a=i&&!!(i.width&&i.height);n&&a?e=pnt(t,i):n?e=t:a&&(e=i)}return e}function wnt(r){if(!r.length)return null;var e=[],t=[],n=[],i=[];return(0,sc.each)(r,function(a){var o=_6t(a);o&&(e.push(o.minX),t.push(o.minY),n.push(o.maxX),i.push(o.maxY))}),{minX:(0,sc.min)(e),minY:(0,sc.min)(t),maxX:(0,sc.max)(n),maxY:(0,sc.max)(i)}}function Ent(r,e){return!r||!e||!_m(r,e)?null:{minX:Math.max(r.minX,e.minX),minY:Math.max(r.minY,e.minY),maxX:Math.min(r.maxX,e.maxX),maxY:Math.min(r.maxY,e.maxY)}}var Cm=U(q());var S6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onCanvasChange=function(t){cO(this,t)},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return e},e.prototype._applyClip=function(t,n){n&&(t.save(),xp(t,n),n.createPath(t),t.restore(),t.clip(),n._afterDraw())},e.prototype.cacheCanvasBBox=function(){var t=this.cfg.children,n=[],i=[];(0,Cm.each)(t,function(h){var d=h.cfg.cacheCanvasBBox;d&&h.cfg.isInView&&(n.push(d.minX,d.maxX),i.push(d.minY,d.maxY))});var a=null;if(n.length){var o=(0,Cm.min)(n),s=(0,Cm.max)(n),l=(0,Cm.min)(i),u=(0,Cm.max)(i);a={minX:o,minY:l,x:o,y:l,maxX:s,maxY:u,width:s-o,height:u-l};var f=this.cfg.canvas;if(f){var c=f.getViewRange();this.set("isInView",_m(a,c))}}else this.set("isInView",!1);this.set("cacheCanvasBBox",a)},e.prototype.draw=function(t,n){var i=this.cfg.children,a=n?this.cfg.refresh:!0;i.length&&a&&(t.save(),xp(t,this),this._applyClip(t,this.getClip()),IE(t,i,n),t.restore(),this.cacheCanvasBBox()),this.cfg.refresh=null,this.set("hasChanged",!1)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("hasChanged",!1)},e}(qv),l1=S6t;var C6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{lineWidth:1,lineAppendWidth:0,strokeOpacity:1,fillOpacity:1})},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return l1},e.prototype.onCanvasChange=function(t){cO(this,t)},e.prototype.calculateBBox=function(){var t=this.get("type"),n=this.getHitLineWidth(),i=Zv(t),a=i(this),o=n/2,s=a.x-o,l=a.y-o,u=a.x+a.width+o,f=a.y+a.height+o;return{x:s,minX:s,y:l,minY:l,width:a.width+n,height:a.height+n,maxX:u,maxY:f}},e.prototype.isFill=function(){return!!this.attrs.fill||this.isClipShape()},e.prototype.isStroke=function(){return!!this.attrs.stroke},e.prototype._applyClip=function(t,n){n&&(t.save(),xp(t,n),n.createPath(t),t.restore(),t.clip(),n._afterDraw())},e.prototype.draw=function(t,n){var i=this.cfg.clipShape;if(n){if(this.cfg.refresh===!1){this.set("hasChanged",!1);return}var a=this.getCanvasBBox();if(!_m(n,a)){this.set("hasChanged",!1),this.cfg.isInView&&this._afterDraw();return}}t.save(),xp(t,this),this._applyClip(t,i),this.drawPath(t),t.restore(),this._afterDraw()},e.prototype.getCanvasViewBox=function(){var t=this.cfg.canvas;return t?t.getViewRange():null},e.prototype.cacheCanvasBBox=function(){var t=this.getCanvasViewBox();if(t){var n=this.getCanvasBBox(),i=_m(n,t);this.set("isInView",i),i?this.set("cacheCanvasBBox",n):this.set("cacheCanvasBBox",null)}},e.prototype._afterDraw=function(){this.cacheCanvasBBox(),this.set("hasChanged",!1),this.set("refresh",null)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("isInView",null),this.set("hasChanged",!1)},e.prototype.drawPath=function(t){this.createPath(t),this.strokeAndFill(t),this.afterDrawPath(t)},e.prototype.fill=function(t){t.fill()},e.prototype.stroke=function(t){t.stroke()},e.prototype.strokeAndFill=function(t){var n=this.attrs,i=n.lineWidth,a=n.opacity,o=n.strokeOpacity,s=n.fillOpacity;this.isFill()&&(!(0,ln.isNil)(s)&&s!==1?(t.globalAlpha=s,this.fill(t),t.globalAlpha=a):this.fill(t)),this.isStroke()&&i>0&&(!(0,ln.isNil)(o)&&o!==1&&(t.globalAlpha=o),this.stroke(t)),this.afterDrawPath(t)},e.prototype.createPath=function(t){},e.prototype.afterDrawPath=function(t){},e.prototype.isInShape=function(t,n){var i=this.isStroke(),a=this.isFill(),o=this.getHitLineWidth();return this.isInStrokeOrPath(t,n,i,a,o)},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){return!1},e.prototype.getHitLineWidth=function(){if(!this.isStroke())return 0;var t=this.attrs;return t.lineWidth+t.lineAppendWidth},e}(Kv),Ba=C6t;var w6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,r:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=s.x,u=s.y,f=s.r,c=o/2,h=aO(l,u,t,n);return a&&i?h<=f+c:a?h<=f:i?h>=f-c&&h<=f+c:!1},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.r;t.beginPath(),t.arc(i,a,o,0,Math.PI*2,!1),t.closePath()},e}(Ba),Ant=w6t;function hO(r,e,t,n){return r/(t*t)+e/(n*n)}var E6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,rx:0,ry:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=o/2,u=s.x,f=s.y,c=s.rx,h=s.ry,d=(t-u)*(t-u),p=(n-f)*(n-f);return a&&i?hO(d,p,c+l,h+l)<=1:a?hO(d,p,c,h)<=1:i?hO(d,p,c-l,h-l)>=1&&hO(d,p,c+l,h+l)<=1:!1},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.rx,s=n.ry;if(t.beginPath(),t.ellipse)t.ellipse(i,a,o,s,0,0,Math.PI*2,!1);else{var l=o>s?o:s,u=o>s?1:o/s,f=o>s?s/o:1;t.save(),t.translate(i,a),t.scale(u,f),t.arc(0,0,l,0,Math.PI*2),t.restore(),t.closePath()}},e}(Ba),Mnt=E6t;function Tnt(r){return r instanceof HTMLElement&&(0,ln.isString)(r.nodeName)&&r.nodeName.toUpperCase()==="CANVAS"}var A6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0})},e.prototype.initAttrs=function(t){this._setImage(t.img)},e.prototype.isStroke=function(){return!1},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._afterLoading=function(){if(this.get("toDraw")===!0){var t=this.get("canvas");t?t.draw():this.createPath(this.get("context"))}},e.prototype._setImage=function(t){var n=this,i=this.attrs;if((0,ln.isString)(t)){var a=new Image;a.onload=function(){if(n.destroyed)return!1;n.attr("img",a),n.set("loading",!1),n._afterLoading();var o=n.get("callback");o&&o.call(n)},a.crossOrigin="Anonymous",a.src=t,this.set("loading",!0)}else t instanceof Image?(i.width||(i.width=t.width),i.height||(i.height=t.height)):Tnt(t)&&(i.width||(i.width=Number(t.getAttribute("width"))),i.height||(i.height,Number(t.getAttribute("height"))))},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),t==="img"&&this._setImage(n)},e.prototype.createPath=function(t){if(this.get("loading")){this.set("toDraw",!0),this.set("context",t);return}var n=this.attr(),i=n.x,a=n.y,o=n.width,s=n.height,l=n.sx,u=n.sy,f=n.swidth,c=n.sheight,h=n.img;(h instanceof Image||Tnt(h))&&(!(0,ln.isNil)(l)&&!(0,ln.isNil)(u)&&!(0,ln.isNil)(f)&&!(0,ln.isNil)(c)?t.drawImage(h,l,u,f,c,i,a,o,s):t.drawImage(h,i,a,o,s))},e}(Ba),Int=A6t;function Su(r,e,t,n,i,a,o){var s=Math.min(r,t),l=Math.max(r,t),u=Math.min(e,n),f=Math.max(e,n),c=i/2;return a>=s-c&&a<=l+c&&o>=u-c&&o<=f+c?Vi.pointToLine(r,e,t,n,a,o)<=i/2:!1}var M6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this.setArrow()},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),this.setArrow()},e.prototype.setArrow=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2,s=t.startArrow,l=t.endArrow;s&&o1(this,t,a,o,n,i),l&&s1(this,t,n,i,a,o)},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){if(!i||!o)return!1;var s=this.attr(),l=s.x1,u=s.y1,f=s.x2,c=s.y2;return Su(l,u,f,c,o,t,n)},e.prototype.createPath=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2,l=n.startArrow,u=n.endArrow,f={dx:0,dy:0},c={dx:0,dy:0};l&&l.d&&(f=Eh(i,a,o,s,n.startArrow.d)),u&&u.d&&(c=Eh(i,a,o,s,n.endArrow.d)),t.beginPath(),t.moveTo(i+f.dx,a+f.dy),t.lineTo(o-c.dx,s-c.dy)},e.prototype.afterDrawPath=function(t){var n=this.get("startArrowShape"),i=this.get("endArrowShape");n&&n.draw(t),i&&i.draw(t)},e.prototype.getTotalLength=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2;return Vi.length(n,i,a,o)},e.prototype.getPoint=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2;return Vi.pointAt(i,a,o,s,t)},e}(Ba),Lnt=M6t;var Ont=U(q());var T6t={circle:function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e]]},square:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},diamond:function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},triangle:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},"triangle-down":function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]}},I6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.initAttrs=function(t){this._resetParamsCache()},e.prototype._resetParamsCache=function(){this.set("paramsCache",{})},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),["symbol","x","y","r","radius"].indexOf(t)!==-1&&this._resetParamsCache()},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._getR=function(t){return(0,Ont.isNil)(t.r)?t.radius:t.r},e.prototype._getPath=function(){var t=this.attr(),n=t.x,i=t.y,a=t.symbol||"circle",o=this._getR(t),s,l;if((0,ln.isFunction)(a))s=a,l=s(n,i,o),l=jy(l);else{if(s=e.Symbols[a],!s)return console.warn(a+" marker is not supported."),null;l=s(n,i,o)}return l},e.prototype.createPath=function(t){var n=this._getPath(),i=this.get("paramsCache");fO(this,t,{path:n},i)},e.Symbols=T6t,e}(Ba),Dnt=I6t;var Em=U(q());function LE(r,e,t){var n=Fy();return r.createPath(n),n.isPointInPath(e,t)}var L6t=1e-6;function zU(r){return Math.abs(r)0!=zU(s[1]-t)>0&&zU(e-(t-o[1])*(o[0]-s[0])/(o[1]-s[1])-o[0])<0&&(n=!n)}return n}function wm(r,e,t,n,i,a,o,s){var l=(Math.atan2(s-e,o-r)+Math.PI*2)%(Math.PI*2);if(li)return!1;var u={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return aO(u.x,u.y,o,s)<=a/2}var D6t=gr.transform;function P6t(r){for(var e=!1,t=r.length,n=0;nb?x:b,P=x>b?1:x/b,L=x>b?b/x:1,M=D6t(null,[["t",-m,-g],["r",-w],["s",1/P,1/L]]);h4(A,A,M),a=wm(0,0,I,S,C,e,A[0],A[1]);break;default:break}if(a)break}}return a}function R6t(r){for(var e=r.length,t=[],n=[],i=[],a=0;a0&&n.push(i),{polygons:t,polylines:n}}var DE=E({hasArc:P6t,extractPolygons:R6t,isPointInStroke:k6t},pb);function Pnt(r,e,t){for(var n=!1,i=0;i=f[0]&&t<=f[1]&&(i=(t-f[0])/(f[1]-f[0]),a=c)});var s=o[a];if((0,Em.isNil)(s)||(0,Em.isNil)(a))return null;var l=s.length,u=o[a+1];return np.pointAt(s[l-2],s[l-1],u[1],u[2],u[3],u[4],u[5],u[6],i)},e.prototype._calculateCurve=function(){var t=this.attr().path;this.set("curve",DE.pathToCurve(t))},e.prototype._setTcache=function(){var t=0,n=0,i=[],a,o,s,l,u=this.get("curve");if(!!u){if((0,Em.each)(u,function(f,c){s=u[c+1],l=f.length,s&&(t+=np.length(f[l-2],f[l-1],s[1],s[2],s[3],s[4],s[5],s[6])||0)}),this.set("totalLength",t),t===0){this.set("tCache",[]);return}(0,Em.each)(u,function(f,c){s=u[c+1],l=f.length,s&&(a=[],a[0]=n/t,o=np.length(f[l-2],f[l-1],s[1],s[2],s[3],s[4],s[5],s[6]),n+=o||0,a[1]=n/t,i.push(a))}),this.set("tCache",i)}},e.prototype.getStartTangent=function(){var t=this.getSegments(),n;if(t.length>1){var i=t[0].currentPoint,a=t[1].currentPoint,o=t[1].startTangent;n=[],o?(n.push([i[0]-o[0],i[1]-o[1]]),n.push([i[0],i[1]])):(n.push([a[0],a[1]]),n.push([i[0],i[1]]))}return n},e.prototype.getEndTangent=function(){var t=this.getSegments(),n=t.length,i;if(n>1){var a=t[n-2].currentPoint,o=t[n-1].currentPoint,s=t[n-1].endTangent;i=[],s?(i.push([o[0]-s[0],o[1]-s[1]]),i.push([o[0],o[1]])):(i.push([a[0],a[1]]),i.push([o[0],o[1]]))}return i},e}(Ba),TE=N6t;function PE(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var o=0;o=s[0]&&t<=s[1]&&(a=(t-s[0])/(s[1]-s[0]),o=l)}),Vi.pointAt(n[o][0],n[o][1],n[o+1][0],n[o+1][1],a)},e.prototype._setTcache=function(){var t=this.attr().points;if(!(!t||t.length===0)){var n=this.getTotalLength();if(!(n<=0)){var i=0,a=[],o,s;(0,kE.each)(t,function(l,u){t[u+1]&&(o=[],o[0]=i/n,s=Vi.length(l[0],l[1],t[u+1][0],t[u+1][1]),i+=s,o[1]=i/n,a.push(o))}),this.set("tCache",a)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,n=[];return n.push([t[1][0],t[1][1]]),n.push([t[0][0],t[0][1]]),n},e.prototype.getEndTangent=function(){var t=this.attr().points,n=t.length-1,i=[];return i.push([t[n-1][0],t[n-1][1]]),i.push([t[n][0],t[n][1]]),i},e}(Ba),Rnt=B6t;function UU(r,e,t,n,i,a,o){var s=i/2;return wh(r-s,e-s,t,i,a,o)||wh(r+t-s,e-s,i,n,a,o)||wh(r+s,e+n-s,t,i,a,o)||wh(r-s,e+s,i,n,a,o)}function jU(r,e,t,n,i,a,o,s){var l=a/2;return Su(r+i,e,r+t-i,e,a,o,s)||Su(r+t,e+i,r+t,e+n-i,a,o,s)||Su(r+t-i,e+n,r+i,e+n,a,o,s)||Su(r,e+n-i,r,e+i,a,o,s)||wm(r+t-i,e+i,i,1.5*Math.PI,2*Math.PI,a,o,s)||wm(r+t-i,e+n-i,i,0,.5*Math.PI,a,o,s)||wm(r+i,e+n-i,i,.5*Math.PI,Math.PI,a,o,s)||wm(r+i,e+i,i,Math.PI,1.5*Math.PI,a,o,s)}var G6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=s.x,u=s.y,f=s.width,c=s.height,h=s.radius;if(h){var p=!1;return i&&(p=jU(l,u,f,c,h,o,t,n)),!p&&a&&(p=LE(this,t,n)),p}else{var d=o/2;if(a&&i)return wh(l-d,u-d,f+d,c+d,t,n);if(a)return wh(l,u,f,c,t,n);if(i)return UU(l,u,f,c,o,t,n)}},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.width,s=n.height,l=n.radius;if(t.beginPath(),l===0)t.rect(i,a,o,s);else{var u=ynt(l),f=u[0],c=u[1],h=u[2],d=u[3];t.moveTo(i+f,a),t.lineTo(i+o-c,a),c!==0&&t.arc(i+o-c,a+c,c,-Math.PI/2,0),t.lineTo(i+o,a+s-h),h!==0&&t.arc(i+o-h,a+s-h,h,0,Math.PI/2),t.lineTo(i+d,a+s),d!==0&&t.arc(i+d,a+s-d,d,Math.PI/2,Math.PI),t.lineTo(i,a+f),f!==0&&t.arc(i+f,a+f,f,Math.PI,Math.PI*1.5),t.closePath()}},e}(Ba),Nnt=G6t;var z6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.isOnlyHitBox=function(){return!0},e.prototype.initAttrs=function(t){this._assembleFont(),t.text&&this._setText(t.text)},e.prototype._assembleFont=function(){var t=this.attrs;t.font=Gy(t)},e.prototype._setText=function(t){var n=null;(0,ln.isString)(t)&&t.indexOf(` + "Noto Color Emoji"`:g,b=r.brandColor,S=b===void 0?o[0]:b;return{backgroundColor:t,brandColor:S,subColor:i,paletteQualitative10:o,paletteQualitative20:l,paletteSemanticRed:f,paletteSemanticGreen:h,paletteSemanticYellow:p,paletteSequence:m,fontFamily:x,axisLineBorderColor:pi[25],axisLineBorder:1,axisLineDash:null,axisTitleTextFillColor:pi[65],axisTitleTextFontSize:12,axisTitleTextLineHeight:12,axisTitleTextFontWeight:"normal",axisTitleSpacing:12,axisTickLineBorderColor:pi[25],axisTickLineLength:4,axisTickLineBorder:1,axisSubTickLineBorderColor:pi[15],axisSubTickLineLength:2,axisSubTickLineBorder:1,axisLabelFillColor:pi[45],axisLabelFontSize:12,axisLabelLineHeight:12,axisLabelFontWeight:"normal",axisLabelOffset:8,axisGridBorderColor:pi[15],axisGridBorder:1,axisGridLineDash:null,legendTitleTextFillColor:pi[45],legendTitleTextFontSize:12,legendTitleTextLineHeight:21,legendTitleTextFontWeight:"normal",legendMarkerColor:oc[0],legendMarkerSpacing:8,legendMarkerSize:4,legendCircleMarkerSize:4,legendSquareMarkerSize:4,legendLineMarkerSize:5,legendItemNameFillColor:pi[65],legendItemNameFontSize:12,legendItemNameLineHeight:12,legendItemNameFontWeight:"normal",legendItemSpacing:24,legendItemMarginBottom:12,legendSpacing:16,legendPadding:[8,8,8,8],legendHorizontalPadding:[8,0,8,0],legendVerticalPadding:[0,8,0,8],legendPageNavigatorMarkerSize:12,legendPageNavigatorMarkerInactiveFillColor:pi[45],legendPageNavigatorMarkerInactiveFillOpacity:.45,legendPageNavigatorMarkerFillColor:pi[45],legendPageNavigatorMarkerFillOpacity:1,legendPageNavigatorTextFillColor:pi[65],legendPageNavigatorTextFontSize:12,sliderRailFillColor:pi[15],sliderRailBorder:0,sliderRailBorderColor:null,sliderRailWidth:100,sliderRailHeight:12,sliderLabelTextFillColor:pi[45],sliderLabelTextFontSize:12,sliderLabelTextLineHeight:12,sliderLabelTextFontWeight:"normal",sliderHandlerFillColor:u0[6],sliderHandlerWidth:10,sliderHandlerHeight:14,sliderHandlerBorder:1,sliderHandlerBorderColor:u0[25],annotationArcBorderColor:pi[15],annotationArcBorder:1,annotationLineBorderColor:pi[25],annotationLineBorder:1,annotationLineDash:null,annotationTextFillColor:pi[65],annotationTextFontSize:12,annotationTextLineHeight:12,annotationTextFontWeight:"normal",annotationTextBorderColor:null,annotationTextBorder:0,annotationRegionFillColor:pi[100],annotationRegionFillOpacity:.06,annotationRegionBorder:0,annotationRegionBorderColor:null,annotationDataMarkerLineLength:16,tooltipCrosshairsBorderColor:pi[25],tooltipCrosshairsBorder:1,tooltipCrosshairsLineDash:null,tooltipContainerFillColor:"#1f1f1f",tooltipContainerFillOpacity:.95,tooltipContainerShadow:"0px 2px 4px rgba(0,0,0,.5)",tooltipContainerBorderRadius:3,tooltipTextFillColor:pi[65],tooltipTextFontSize:12,tooltipTextLineHeight:12,tooltipTextFontWeight:"bold",labelFillColor:pi[65],labelFillColorDark:"#2c3542",labelFillColorLight:"#ffffff",labelFontSize:12,labelLineHeight:12,labelFontWeight:"normal",labelBorderColor:null,labelBorder:0,innerLabelFillColor:u0[100],innerLabelFontSize:12,innerLabelLineHeight:12,innerLabelFontWeight:"normal",innerLabelBorderColor:null,innerLabelBorder:0,overflowLabelFillColor:pi[65],overflowLabelFillColorDark:"#2c3542",overflowLabelFillColorLight:"#ffffff",overflowLabelFontSize:12,overflowLabelLineHeight:12,overflowLabelFontWeight:"normal",overflowLabelBorderColor:u0[100],overflowLabelBorder:1,labelLineBorder:1,labelLineBorderColor:pi[25],cSliderRailHieght:16,cSliderBackgroundFillColor:"#416180",cSliderBackgroundFillOpacity:.05,cSliderForegroundFillColor:"#5B8FF9",cSliderForegroundFillOpacity:.15,cSliderHandlerHeight:24,cSliderHandlerWidth:10,cSliderHandlerFillColor:"#F7F7F7",cSliderHandlerFillOpacity:1,cSliderHandlerHighlightFillColor:"#FFF",cSliderHandlerBorderColor:"#BFBFBF",cSliderHandlerBorder:1,cSliderHandlerBorderRadius:2,cSliderTextFillColor:"#fff",cSliderTextFillOpacity:.45,cSliderTextFontSize:12,cSliderTextLineHeight:12,cSliderTextFontWeight:"normal",cSliderTextBorderColor:null,cSliderTextBorder:0,scrollbarTrackFillColor:"rgba(255,255,255,0.65)",scrollbarThumbFillColor:"rgba(0,0,0,0.35)",scrollbarThumbHighlightFillColor:"rgba(0,0,0,0.45)",pointFillColor:oc[0],pointFillOpacity:.95,pointSize:4,pointBorder:1,pointBorderColor:u0[100],pointBorderOpacity:1,pointActiveBorderColor:pi[100],pointSelectedBorder:2,pointSelectedBorderColor:pi[100],pointInactiveFillOpacity:.3,pointInactiveBorderOpacity:.3,hollowPointSize:4,hollowPointBorder:1,hollowPointBorderColor:oc[0],hollowPointBorderOpacity:.95,hollowPointFillColor:u0[100],hollowPointActiveBorder:1,hollowPointActiveBorderColor:pi[100],hollowPointActiveBorderOpacity:1,hollowPointSelectedBorder:2,hollowPointSelectedBorderColor:pi[100],hollowPointSelectedBorderOpacity:1,hollowPointInactiveBorderOpacity:.3,lineBorder:2,lineBorderColor:oc[0],lineBorderOpacity:1,lineActiveBorder:3,lineSelectedBorder:3,lineInactiveBorderOpacity:.3,areaFillColor:oc[0],areaFillOpacity:.25,areaActiveFillColor:oc[0],areaActiveFillOpacity:.5,areaSelectedFillColor:oc[0],areaSelectedFillOpacity:.5,areaInactiveFillOpacity:.3,hollowAreaBorderColor:oc[0],hollowAreaBorder:2,hollowAreaBorderOpacity:1,hollowAreaActiveBorder:3,hollowAreaActiveBorderColor:pi[100],hollowAreaSelectedBorder:3,hollowAreaSelectedBorderColor:pi[100],hollowAreaInactiveBorderOpacity:.3,intervalFillColor:oc[0],intervalFillOpacity:.95,intervalActiveBorder:1,intervalActiveBorderColor:pi[100],intervalActiveBorderOpacity:1,intervalSelectedBorder:2,intervalSelectedBorderColor:pi[100],intervalSelectedBorderOpacity:1,intervalInactiveBorderOpacity:.3,intervalInactiveFillOpacity:.3,hollowIntervalBorder:2,hollowIntervalBorderColor:oc[0],hollowIntervalBorderOpacity:1,hollowIntervalFillColor:u0[100],hollowIntervalActiveBorder:2,hollowIntervalActiveBorderColor:pi[100],hollowIntervalSelectedBorder:3,hollowIntervalSelectedBorderColor:pi[100],hollowIntervalSelectedBorderOpacity:1,hollowIntervalInactiveBorderOpacity:.3}},wnt=k6t();var ZU={};Dn(ZU,{AbstractCanvas:()=>Gy,AbstractGroup:()=>Zv,AbstractShape:()=>$v,Base:()=>Ry,Canvas:()=>Gl,Event:()=>Yu,Group:()=>c1,PathUtil:()=>gb,Shape:()=>bp,assembleFont:()=>Wy,getArcParams:()=>wm,getBBoxMethod:()=>Qv,getOffScreenContext:()=>Uy,getTextHeight:()=>jy,invert:()=>Ny,isAllowCapture:()=>Xv,multiplyVec2:()=>pu,version:()=>fVt});var bp={};Dn(bp,{Base:()=>Ga,Circle:()=>Bnt,Ellipse:()=>Gnt,Image:()=>Unt,Line:()=>jnt,Marker:()=>Vnt,Path:()=>DE,Polygon:()=>Ynt,Polyline:()=>Xnt,Rect:()=>qnt,Text:()=>Knt});var ln=z(q());function Ent(){return window?window.devicePixelRatio:1}function uO(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function wh(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function Cm(r,e){return!(e.minX>r.maxX||e.maxXr.maxY||e.maxY=0&&i<1/2*Math.PI?(s={x:o.minX,y:o.minY},l={x:o.maxX,y:o.maxY}):1/2*Math.PI<=i&&i1&&(t*=Math.sqrt(d),n*=Math.sqrt(d));var p=t*t*(h*h)+n*n*(c*c),v=p?Math.sqrt((t*t*(n*n)-p)/p):1;a===o&&(v*=-1),isNaN(v)&&(v=0);var m=n?v*t*h/n:0,g=t?v*-n*c/t:0,x=(s+u)/2+Math.cos(i)*m-Math.sin(i)*g,b=(l+f)/2+Math.sin(i)*m+Math.cos(i)*g,S=[(c-m)/t,(h-g)/n],C=[(-1*c-m)/t,(-1*h-g)/n],w=Ont([1,0],S),A=Ont(S,C);return UU(S,C)<=-1&&(A=Math.PI),UU(S,C)>=1&&(A=0),o===0&&A>0&&(A=A-2*Math.PI),o===1&&A<0&&(A=A+2*Math.PI),{cx:x,cy:b,rx:zU(r,[u,f])?0:t,ry:zU(r,[u,f])?0:n,startAngle:w,endAngle:w+A,xRotation:i,arcFlag:a,sweepFlag:o}}var cO=Math.sin,hO=Math.cos,jU=Math.atan2,dO=Math.PI;function Dnt(r,e,t,n,i,a,o){var s=e.stroke,l=e.lineWidth,u=t-i,f=n-a,c=jU(f,u),h=new DE({type:"path",canvas:r.get("canvas"),isArrowShape:!0,attrs:{path:"M"+10*hO(dO/6)+","+10*cO(dO/6)+" L0,0 L"+10*hO(dO/6)+",-"+10*cO(dO/6),stroke:s,lineWidth:l}});h.translate(i,a),h.rotateAtPoint(i,a,c),r.set(o?"startArrowShape":"endArrowShape",h)}function Pnt(r,e,t,n,i,a,o){var s=e.startArrow,l=e.endArrow,u=e.stroke,f=e.lineWidth,c=o?s:l,h=c.d,d=c.fill,p=c.stroke,v=c.lineWidth,m=rr(c,["d","fill","stroke","lineWidth"]),g=t-i,x=n-a,b=jU(x,g);h&&(i=i-hO(b)*h,a=a-cO(b)*h);var S=new DE({type:"path",canvas:r.get("canvas"),isArrowShape:!0,attrs:E(E({},m),{stroke:p||u,lineWidth:v||f,fill:d})});S.translate(i,a),S.rotateAtPoint(i,a,b),r.set(o?"startArrowShape":"endArrowShape",S)}function Eh(r,e,t,n,i){var a=jU(n-e,t-r);return{dx:hO(a)*i,dy:cO(a)*i}}function u1(r,e,t,n,i,a){typeof e.startArrow=="object"?Pnt(r,e,t,n,i,a,!0):e.startArrow?Dnt(r,e,t,n,i,a,!0):r.set("startArrowShape",null)}function f1(r,e,t,n,i,a){typeof e.endArrow=="object"?Pnt(r,e,t,n,i,a,!1):e.endArrow?Dnt(r,e,t,n,i,a,!1):r.set("startArrowShape",null)}var knt={fill:"fillStyle",stroke:"strokeStyle",opacity:"globalAlpha"};function xp(r,e){var t=e.attr();for(var n in t){var i=t[n],a=knt[n]?knt[n]:n;a==="matrix"&&i?r.transform(i[0],i[1],i[3],i[4],i[6],i[7]):a==="lineDash"&&r.setLineDash?(0,sc.isArray)(i)&&r.setLineDash(i):(a==="strokeStyle"||a==="fillStyle"?i=Int(r,e,i):a==="globalAlpha"&&(i=i*r.globalAlpha),r[a]=i)}}function PE(r,e,t){for(var n=0;nC?S:C,M=S>C?1:S/C,I=S>C?C/S:1;e.translate(x,b),e.rotate(L),e.scale(M,I),e.arc(0,0,O,w,A,1-k),e.scale(1/M,1/I),e.rotate(-L),e.translate(-x,-b)}break}case"Z":e.closePath();break;default:break}if(h==="Z")s=l;else{var R=c.length;s=[c[R-2],c[R-1]]}}}}function vO(r,e){var t=r.get("canvas");t&&(e==="remove"&&(r._cacheCanvasBBox=r.get("cacheCanvasBBox")),r.get("hasChanged")||(r.set("hasChanged",!0),r.cfg.parent&&r.cfg.parent.get("hasChanged")||(t.refreshElement(r,e,t),t.get("autoDraw")&&t.draw())))}function j6t(r){var e;if(r.destroyed)e=r._cacheCanvasBBox;else{var t=r.get("cacheCanvasBBox"),n=t&&!!(t.width&&t.height),i=r.getCanvasBBox(),a=i&&!!(i.width&&i.height);n&&a?e=Ant(t,i):n?e=t:a&&(e=i)}return e}function Nnt(r){if(!r.length)return null;var e=[],t=[],n=[],i=[];return(0,sc.each)(r,function(a){var o=j6t(a);o&&(e.push(o.minX),t.push(o.minY),n.push(o.maxX),i.push(o.maxY))}),{minX:(0,sc.min)(e),minY:(0,sc.min)(t),maxX:(0,sc.max)(n),maxY:(0,sc.max)(i)}}function Fnt(r,e){return!r||!e||!Cm(r,e)?null:{minX:Math.max(r.minX,e.minX),minY:Math.max(r.minY,e.minY),maxX:Math.min(r.maxX,e.maxX),maxY:Math.min(r.maxY,e.maxY)}}var Em=z(q());var W6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onCanvasChange=function(t){vO(this,t)},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return e},e.prototype._applyClip=function(t,n){n&&(t.save(),xp(t,n),n.createPath(t),t.restore(),t.clip(),n._afterDraw())},e.prototype.cacheCanvasBBox=function(){var t=this.cfg.children,n=[],i=[];(0,Em.each)(t,function(h){var d=h.cfg.cacheCanvasBBox;d&&h.cfg.isInView&&(n.push(d.minX,d.maxX),i.push(d.minY,d.maxY))});var a=null;if(n.length){var o=(0,Em.min)(n),s=(0,Em.max)(n),l=(0,Em.min)(i),u=(0,Em.max)(i);a={minX:o,minY:l,x:o,y:l,maxX:s,maxY:u,width:s-o,height:u-l};var f=this.cfg.canvas;if(f){var c=f.getViewRange();this.set("isInView",Cm(a,c))}}else this.set("isInView",!1);this.set("cacheCanvasBBox",a)},e.prototype.draw=function(t,n){var i=this.cfg.children,a=n?this.cfg.refresh:!0;i.length&&a&&(t.save(),xp(t,this),this._applyClip(t,this.getClip()),PE(t,i,n),t.restore(),this.cacheCanvasBBox()),this.cfg.refresh=null,this.set("hasChanged",!1)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("hasChanged",!1)},e}(Zv),c1=W6t;var V6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{lineWidth:1,lineAppendWidth:0,strokeOpacity:1,fillOpacity:1})},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return c1},e.prototype.onCanvasChange=function(t){vO(this,t)},e.prototype.calculateBBox=function(){var t=this.get("type"),n=this.getHitLineWidth(),i=Qv(t),a=i(this),o=n/2,s=a.x-o,l=a.y-o,u=a.x+a.width+o,f=a.y+a.height+o;return{x:s,minX:s,y:l,minY:l,width:a.width+n,height:a.height+n,maxX:u,maxY:f}},e.prototype.isFill=function(){return!!this.attrs.fill||this.isClipShape()},e.prototype.isStroke=function(){return!!this.attrs.stroke},e.prototype._applyClip=function(t,n){n&&(t.save(),xp(t,n),n.createPath(t),t.restore(),t.clip(),n._afterDraw())},e.prototype.draw=function(t,n){var i=this.cfg.clipShape;if(n){if(this.cfg.refresh===!1){this.set("hasChanged",!1);return}var a=this.getCanvasBBox();if(!Cm(n,a)){this.set("hasChanged",!1),this.cfg.isInView&&this._afterDraw();return}}t.save(),xp(t,this),this._applyClip(t,i),this.drawPath(t),t.restore(),this._afterDraw()},e.prototype.getCanvasViewBox=function(){var t=this.cfg.canvas;return t?t.getViewRange():null},e.prototype.cacheCanvasBBox=function(){var t=this.getCanvasViewBox();if(t){var n=this.getCanvasBBox(),i=Cm(n,t);this.set("isInView",i),i?this.set("cacheCanvasBBox",n):this.set("cacheCanvasBBox",null)}},e.prototype._afterDraw=function(){this.cacheCanvasBBox(),this.set("hasChanged",!1),this.set("refresh",null)},e.prototype.skipDraw=function(){this.set("cacheCanvasBBox",null),this.set("isInView",null),this.set("hasChanged",!1)},e.prototype.drawPath=function(t){this.createPath(t),this.strokeAndFill(t),this.afterDrawPath(t)},e.prototype.fill=function(t){t.fill()},e.prototype.stroke=function(t){t.stroke()},e.prototype.strokeAndFill=function(t){var n=this.attrs,i=n.lineWidth,a=n.opacity,o=n.strokeOpacity,s=n.fillOpacity;this.isFill()&&(!(0,ln.isNil)(s)&&s!==1?(t.globalAlpha=s,this.fill(t),t.globalAlpha=a):this.fill(t)),this.isStroke()&&i>0&&(!(0,ln.isNil)(o)&&o!==1&&(t.globalAlpha=o),this.stroke(t)),this.afterDrawPath(t)},e.prototype.createPath=function(t){},e.prototype.afterDrawPath=function(t){},e.prototype.isInShape=function(t,n){var i=this.isStroke(),a=this.isFill(),o=this.getHitLineWidth();return this.isInStrokeOrPath(t,n,i,a,o)},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){return!1},e.prototype.getHitLineWidth=function(){if(!this.isStroke())return 0;var t=this.attrs;return t.lineWidth+t.lineAppendWidth},e}($v),Ga=V6t;var H6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,r:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=s.x,u=s.y,f=s.r,c=o/2,h=uO(l,u,t,n);return a&&i?h<=f+c:a?h<=f:i?h>=f-c&&h<=f+c:!1},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.r;t.beginPath(),t.arc(i,a,o,0,Math.PI*2,!1),t.closePath()},e}(Ga),Bnt=H6t;function mO(r,e,t,n){return r/(t*t)+e/(n*n)}var Y6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,rx:0,ry:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=o/2,u=s.x,f=s.y,c=s.rx,h=s.ry,d=(t-u)*(t-u),p=(n-f)*(n-f);return a&&i?mO(d,p,c+l,h+l)<=1:a?mO(d,p,c,h)<=1:i?mO(d,p,c-l,h-l)>=1&&mO(d,p,c+l,h+l)<=1:!1},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.rx,s=n.ry;if(t.beginPath(),t.ellipse)t.ellipse(i,a,o,s,0,0,Math.PI*2,!1);else{var l=o>s?o:s,u=o>s?1:o/s,f=o>s?s/o:1;t.save(),t.translate(i,a),t.scale(u,f),t.arc(0,0,l,0,Math.PI*2),t.restore(),t.closePath()}},e}(Ga),Gnt=Y6t;function znt(r){return r instanceof HTMLElement&&(0,ln.isString)(r.nodeName)&&r.nodeName.toUpperCase()==="CANVAS"}var X6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0})},e.prototype.initAttrs=function(t){this._setImage(t.img)},e.prototype.isStroke=function(){return!1},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._afterLoading=function(){if(this.get("toDraw")===!0){var t=this.get("canvas");t?t.draw():this.createPath(this.get("context"))}},e.prototype._setImage=function(t){var n=this,i=this.attrs;if((0,ln.isString)(t)){var a=new Image;a.onload=function(){if(n.destroyed)return!1;n.attr("img",a),n.set("loading",!1),n._afterLoading();var o=n.get("callback");o&&o.call(n)},a.crossOrigin="Anonymous",a.src=t,this.set("loading",!0)}else t instanceof Image?(i.width||(i.width=t.width),i.height||(i.height=t.height)):znt(t)&&(i.width||(i.width=Number(t.getAttribute("width"))),i.height||(i.height,Number(t.getAttribute("height"))))},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),t==="img"&&this._setImage(n)},e.prototype.createPath=function(t){if(this.get("loading")){this.set("toDraw",!0),this.set("context",t);return}var n=this.attr(),i=n.x,a=n.y,o=n.width,s=n.height,l=n.sx,u=n.sy,f=n.swidth,c=n.sheight,h=n.img;(h instanceof Image||znt(h))&&(!(0,ln.isNil)(l)&&!(0,ln.isNil)(u)&&!(0,ln.isNil)(f)&&!(0,ln.isNil)(c)?t.drawImage(h,l,u,f,c,i,a,o,s):t.drawImage(h,i,a,o,s))},e}(Ga),Unt=X6t;function Su(r,e,t,n,i,a,o){var s=Math.min(r,t),l=Math.max(r,t),u=Math.min(e,n),f=Math.max(e,n),c=i/2;return a>=s-c&&a<=l+c&&o>=u-c&&o<=f+c?Vi.pointToLine(r,e,t,n,a,o)<=i/2:!1}var q6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this.setArrow()},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),this.setArrow()},e.prototype.setArrow=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2,s=t.startArrow,l=t.endArrow;s&&u1(this,t,a,o,n,i),l&&f1(this,t,n,i,a,o)},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){if(!i||!o)return!1;var s=this.attr(),l=s.x1,u=s.y1,f=s.x2,c=s.y2;return Su(l,u,f,c,o,t,n)},e.prototype.createPath=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2,l=n.startArrow,u=n.endArrow,f={dx:0,dy:0},c={dx:0,dy:0};l&&l.d&&(f=Eh(i,a,o,s,n.startArrow.d)),u&&u.d&&(c=Eh(i,a,o,s,n.endArrow.d)),t.beginPath(),t.moveTo(i+f.dx,a+f.dy),t.lineTo(o-c.dx,s-c.dy)},e.prototype.afterDrawPath=function(t){var n=this.get("startArrowShape"),i=this.get("endArrowShape");n&&n.draw(t),i&&i.draw(t)},e.prototype.getTotalLength=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2;return Vi.length(n,i,a,o)},e.prototype.getPoint=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2;return Vi.pointAt(i,a,o,s,t)},e}(Ga),jnt=q6t;var Wnt=z(q());var K6t={circle:function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e]]},square:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},diamond:function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},triangle:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},"triangle-down":function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]}},Z6t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.initAttrs=function(t){this._resetParamsCache()},e.prototype._resetParamsCache=function(){this.set("paramsCache",{})},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),["symbol","x","y","r","radius"].indexOf(t)!==-1&&this._resetParamsCache()},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._getR=function(t){return(0,Wnt.isNil)(t.r)?t.radius:t.r},e.prototype._getPath=function(){var t=this.attr(),n=t.x,i=t.y,a=t.symbol||"circle",o=this._getR(t),s,l;if((0,ln.isFunction)(a))s=a,l=s(n,i,o),l=Yy(l);else{if(s=e.Symbols[a],!s)return console.warn(a+" marker is not supported."),null;l=s(n,i,o)}return l},e.prototype.createPath=function(t){var n=this._getPath(),i=this.get("paramsCache");pO(this,t,{path:n},i)},e.Symbols=K6t,e}(Ga),Vnt=Z6t;var Mm=z(q());function kE(r,e,t){var n=Uy();return r.createPath(n),n.isPointInPath(e,t)}var $6t=1e-6;function YU(r){return Math.abs(r)<$6t?0:r<0?-1:1}function Q6t(r,e,t){return(t[0]-r[0])*(e[1]-r[1])==(e[0]-r[0])*(t[1]-r[1])&&Math.min(r[0],e[0])<=t[0]&&t[0]<=Math.max(r[0],e[0])&&Math.min(r[1],e[1])<=t[1]&&t[1]<=Math.max(r[1],e[1])}function RE(r,e,t){var n=!1,i=r.length;if(i<=2)return!1;for(var a=0;a0!=YU(s[1]-t)>0&&YU(e-(t-o[1])*(o[0]-s[0])/(o[1]-s[1])-o[0])<0&&(n=!n)}return n}function Am(r,e,t,n,i,a,o,s){var l=(Math.atan2(s-e,o-r)+Math.PI*2)%(Math.PI*2);if(li)return!1;var u={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return uO(u.x,u.y,o,s)<=a/2}var J6t=gr.transform;function tVt(r){for(var e=!1,t=r.length,n=0;nb?x:b,k=x>b?1:x/b,O=x>b?b/x:1,M=J6t(null,[["t",-m,-g],["r",-w],["s",1/k,1/O]]);y4(A,A,M),a=Am(0,0,L,S,C,e,A[0],A[1]);break;default:break}if(a)break}}return a}function rVt(r){for(var e=r.length,t=[],n=[],i=[],a=0;a0&&n.push(i),{polygons:t,polylines:n}}var NE=E({hasArc:tVt,extractPolygons:rVt,isPointInStroke:eVt},gb);function Hnt(r,e,t){for(var n=!1,i=0;i=f[0]&&t<=f[1]&&(i=(t-f[0])/(f[1]-f[0]),a=c)});var s=o[a];if((0,Mm.isNil)(s)||(0,Mm.isNil)(a))return null;var l=s.length,u=o[a+1];return np.pointAt(s[l-2],s[l-1],u[1],u[2],u[3],u[4],u[5],u[6],i)},e.prototype._calculateCurve=function(){var t=this.attr().path;this.set("curve",NE.pathToCurve(t))},e.prototype._setTcache=function(){var t=0,n=0,i=[],a,o,s,l,u=this.get("curve");if(!!u){if((0,Mm.each)(u,function(f,c){s=u[c+1],l=f.length,s&&(t+=np.length(f[l-2],f[l-1],s[1],s[2],s[3],s[4],s[5],s[6])||0)}),this.set("totalLength",t),t===0){this.set("tCache",[]);return}(0,Mm.each)(u,function(f,c){s=u[c+1],l=f.length,s&&(a=[],a[0]=n/t,o=np.length(f[l-2],f[l-1],s[1],s[2],s[3],s[4],s[5],s[6]),n+=o||0,a[1]=n/t,i.push(a))}),this.set("tCache",i)}},e.prototype.getStartTangent=function(){var t=this.getSegments(),n;if(t.length>1){var i=t[0].currentPoint,a=t[1].currentPoint,o=t[1].startTangent;n=[],o?(n.push([i[0]-o[0],i[1]-o[1]]),n.push([i[0],i[1]])):(n.push([a[0],a[1]]),n.push([i[0],i[1]]))}return n},e.prototype.getEndTangent=function(){var t=this.getSegments(),n=t.length,i;if(n>1){var a=t[n-2].currentPoint,o=t[n-1].currentPoint,s=t[n-1].endTangent;i=[],s?(i.push([o[0]-s[0],o[1]-s[1]]),i.push([o[0],o[1]])):(i.push([a[0],a[1]]),i.push([o[0],o[1]]))}return i},e}(Ga),DE=nVt;function FE(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var o=0;o=s[0]&&t<=s[1]&&(a=(t-s[0])/(s[1]-s[0]),o=l)}),Vi.pointAt(n[o][0],n[o][1],n[o+1][0],n[o+1][1],a)},e.prototype._setTcache=function(){var t=this.attr().points;if(!(!t||t.length===0)){var n=this.getTotalLength();if(!(n<=0)){var i=0,a=[],o,s;(0,BE.each)(t,function(l,u){t[u+1]&&(o=[],o[0]=i/n,s=Vi.length(l[0],l[1],t[u+1][0],t[u+1][1]),i+=s,o[1]=i/n,a.push(o))}),this.set("tCache",a)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,n=[];return n.push([t[1][0],t[1][1]]),n.push([t[0][0],t[0][1]]),n},e.prototype.getEndTangent=function(){var t=this.attr().points,n=t.length-1,i=[];return i.push([t[n-1][0],t[n-1][1]]),i.push([t[n][0],t[n][1]]),i},e}(Ga),Xnt=aVt;function XU(r,e,t,n,i,a,o){var s=i/2;return wh(r-s,e-s,t,i,a,o)||wh(r+t-s,e-s,i,n,a,o)||wh(r+s,e+n-s,t,i,a,o)||wh(r-s,e+s,i,n,a,o)}function qU(r,e,t,n,i,a,o,s){var l=a/2;return Su(r+i,e,r+t-i,e,a,o,s)||Su(r+t,e+i,r+t,e+n-i,a,o,s)||Su(r+t-i,e+n,r+i,e+n,a,o,s)||Su(r,e+n-i,r,e+i,a,o,s)||Am(r+t-i,e+i,i,1.5*Math.PI,2*Math.PI,a,o,s)||Am(r+t-i,e+n-i,i,0,.5*Math.PI,a,o,s)||Am(r+i,e+n-i,i,.5*Math.PI,Math.PI,a,o,s)||Am(r+i,e+i,i,Math.PI,1.5*Math.PI,a,o,s)}var oVt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.isInStrokeOrPath=function(t,n,i,a,o){var s=this.attr(),l=s.x,u=s.y,f=s.width,c=s.height,h=s.radius;if(h){var p=!1;return i&&(p=qU(l,u,f,c,h,o,t,n)),!p&&a&&(p=kE(this,t,n)),p}else{var d=o/2;if(a&&i)return wh(l-d,u-d,f+d,c+d,t,n);if(a)return wh(l,u,f,c,t,n);if(i)return XU(l,u,f,c,o,t,n)}},e.prototype.createPath=function(t){var n=this.attr(),i=n.x,a=n.y,o=n.width,s=n.height,l=n.radius;if(t.beginPath(),l===0)t.rect(i,a,o,s);else{var u=Lnt(l),f=u[0],c=u[1],h=u[2],d=u[3];t.moveTo(i+f,a),t.lineTo(i+o-c,a),c!==0&&t.arc(i+o-c,a+c,c,-Math.PI/2,0),t.lineTo(i+o,a+s-h),h!==0&&t.arc(i+o-h,a+s-h,h,0,Math.PI/2),t.lineTo(i+d,a+s),d!==0&&t.arc(i+d,a+s-d,d,Math.PI/2,Math.PI),t.lineTo(i,a+f),f!==0&&t.arc(i+f,a+f,f,Math.PI,Math.PI*1.5),t.closePath()}},e}(Ga),qnt=oVt;var sVt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.isOnlyHitBox=function(){return!0},e.prototype.initAttrs=function(t){this._assembleFont(),t.text&&this._setText(t.text)},e.prototype._assembleFont=function(){var t=this.attrs;t.font=Wy(t)},e.prototype._setText=function(t){var n=null;(0,ln.isString)(t)&&t.indexOf(` `)!==-1&&(n=t.split(` -`)),this.set("textArr",n)},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),t.startsWith("font")&&this._assembleFont(),t==="text"&&this._setText(n)},e.prototype._getSpaceingY=function(){var t=this.attrs,n=t.lineHeight,i=t.fontSize*1;return n?n-i:i*.14},e.prototype._drawTextArr=function(t,n,i){var a=this.attrs,o=a.textBaseline,s=a.x,l=a.y,u=a.fontSize*1,f=this._getSpaceingY(),c=By(a.text,a.fontSize,a.lineHeight),h;(0,ln.each)(n,function(d,p){h=l+p*(f+u)-c+u,o==="middle"&&(h+=c-u-(c-u)/2),o==="top"&&(h+=c-u),(0,ln.isNil)(d)||(i?t.fillText(d,s,h):t.strokeText(d,s,h))})},e.prototype._drawText=function(t,n){var i=this.attr(),a=i.x,o=i.y,s=this.get("textArr");if(s)this._drawTextArr(t,s,n);else{var l=i.text;(0,ln.isNil)(l)||(n?t.fillText(l,a,o):t.strokeText(l,a,o))}},e.prototype.strokeAndFill=function(t){var n=this.attrs,i=n.lineWidth,a=n.opacity,o=n.strokeOpacity,s=n.fillOpacity;this.isStroke()&&i>0&&(!(0,ln.isNil)(o)&&o!==1&&(t.globalAlpha=a),this.stroke(t)),this.isFill()&&(!(0,ln.isNil)(s)&&s!==1?(t.globalAlpha=s,this.fill(t),t.globalAlpha=a):this.fill(t)),this.afterDrawPath(t)},e.prototype.fill=function(t){this._drawText(t,!0)},e.prototype.stroke=function(t){this._drawText(t,!1)},e}(Ba),Fnt=z6t;function U6t(r,e){if(e){var t=Dy(e);return pu(t,r)}return r}function Bnt(r,e,t){var n=r.getTotalMatrix();if(n){var i=U6t([e,t,1],n),a=i[0],o=i[1];return[a,o]}return[e,t]}function Gnt(r,e,t){if(r.isCanvas&&r.isCanvas())return!0;if(!Hv(r)||r.cfg.isInView===!1)return!1;if(r.cfg.clipShape){var n=Bnt(r,e,t),i=n[0],a=n[1];if(r.isClipped(i,a))return!1}var o=r.cfg.cacheCanvasBBox||r.getCanvasBBox();return e>=o.minX&&e<=o.maxX&&t>=o.minY&&t<=o.maxY}function WU(r,e,t){if(!Gnt(r,e,t))return null;for(var n=null,i=r.getChildren(),a=i.length,o=a-1;o>=0;o--){var s=i[o];if(s.isGroup())n=WU(s,e,t);else if(Gnt(s,e,t)){var l=s,u=Bnt(s,e,t),f=u[0],c=u[1];l.isInShape(f,c)&&(n=s)}if(n)break}return n}var j6t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.renderer="canvas",t.autoDraw=!0,t.localRefresh=!0,t.refreshElements=[],t.clipView=!0,t.quickHit=!1,t},e.prototype.onCanvasChange=function(t){(t==="attr"||t==="sort"||t==="changeSize")&&(this.set("refreshElements",[this]),this.draw())},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return l1},e.prototype.getPixelRatio=function(){var t=this.get("pixelRatio")||dnt();return t>=1?Math.ceil(t):1},e.prototype.getViewRange=function(){return{minX:0,minY:0,maxX:this.cfg.width,maxY:this.cfg.height}},e.prototype.createDom=function(){var t=document.createElement("canvas"),n=t.getContext("2d");return this.set("context",n),t},e.prototype.setDOMSize=function(t,n){r.prototype.setDOMSize.call(this,t,n);var i=this.get("context"),a=this.get("el"),o=this.getPixelRatio();a.width=o*t,a.height=o*n,o>1&&i.scale(o,o)},e.prototype.clear=function(){r.prototype.clear.call(this),this._clearFrame();var t=this.get("context"),n=this.get("el");t.clearRect(0,0,n.width,n.height)},e.prototype.getShape=function(t,n){var i;return this.get("quickHit")?i=WU(this,t,n):i=r.prototype.getShape.call(this,t,n,null),i},e.prototype._getRefreshRegion=function(){var t=this.get("refreshElements"),n=this.getViewRange(),i;if(t.length&&t[0]===this)i=n;else if(i=wnt(t),i){i.minX=Math.floor(i.minX),i.minY=Math.floor(i.minY),i.maxX=Math.ceil(i.maxX),i.maxY=Math.ceil(i.maxY),i.maxY+=1;var a=this.get("clipView");a&&(i=Ent(i,n))}return i},e.prototype.refreshElement=function(t){var n=this.get("refreshElements");n.push(t)},e.prototype._clearFrame=function(){var t=this.get("drawFrame");t&&((0,ln.clearAnimationFrame)(t),this.set("drawFrame",null),this.set("refreshElements",[]))},e.prototype.draw=function(){var t=this.get("drawFrame");this.get("autoDraw")&&t||this._startDraw()},e.prototype._drawAll=function(){var t=this.get("context"),n=this.get("el"),i=this.getChildren();t.clearRect(0,0,n.width,n.height),xp(t,this),IE(t,i),this.set("refreshElements",[])},e.prototype._drawRegion=function(){var t=this.get("context"),n=this.get("refreshElements"),i=this.getChildren(),a=this._getRefreshRegion();a?(t.clearRect(a.minX,a.minY,a.maxX-a.minX,a.maxY-a.minY),t.save(),t.beginPath(),t.rect(a.minX,a.minY,a.maxX-a.minX,a.maxY-a.minY),t.clip(),xp(t,this),Cnt(this,i,a),IE(t,i,a),t.restore()):n.length&&BU(n),(0,ln.each)(n,function(o){o.get("hasChanged")&&o.set("hasChanged",!1)}),this.set("refreshElements",[])},e.prototype._startDraw=function(){var t=this,n=this.get("drawFrame");n||(n=(0,ln.requestAnimationFrame)(function(){t.get("localRefresh")?t._drawRegion():t._drawAll(),t.set("drawFrame",null)}),this.set("drawFrame",n))},e.prototype.skipDraw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.width=0,t.height=0,t.parentNode.removeChild(t)},e}(Ry),Gl=j6t;var W6t="0.5.12";var qU={};Dn(qU,{AbstractCanvas:()=>Ry,AbstractGroup:()=>qv,AbstractShape:()=>Kv,Base:()=>Oy,Canvas:()=>Mh,Event:()=>Yu,Group:()=>u1,PathUtil:()=>pb,Shape:()=>Sp,assembleFont:()=>Gy,getBBoxMethod:()=>Zv,getOffScreenContext:()=>Fy,getTextHeight:()=>By,invert:()=>Dy,isAllowCapture:()=>Hv,multiplyVec2:()=>pu,version:()=>_Vt});var Sp={};Dn(Sp,{Base:()=>_a,Circle:()=>Hnt,Dom:()=>Xnt,Ellipse:()=>Knt,Image:()=>Znt,Line:()=>$nt,Marker:()=>Qnt,Path:()=>Jnt,Polygon:()=>tit,Polyline:()=>eit,Rect:()=>nit,Text:()=>ait});var znt=U(q());var RE={rect:"path",circle:"circle",line:"line",path:"path",marker:"path",text:"text",polyline:"polyline",polygon:"polygon",image:"image",ellipse:"ellipse",dom:"foreignObject"},rn={opacity:"opacity",fillStyle:"fill",fill:"fill",fillOpacity:"fill-opacity",strokeStyle:"stroke",strokeOpacity:"stroke-opacity",stroke:"stroke",x:"x",y:"y",r:"r",rx:"rx",ry:"ry",width:"width",height:"height",x1:"x1",x2:"x2",y1:"y1",y2:"y2",lineCap:"stroke-linecap",lineJoin:"stroke-linejoin",lineWidth:"stroke-width",lineDash:"stroke-dasharray",lineDashOffset:"stroke-dashoffset",miterLimit:"stroke-miterlimit",font:"font",fontSize:"font-size",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",fontFamily:"font-family",startArrow:"marker-start",endArrow:"marker-end",path:"d",class:"class",id:"id",style:"style",preserveAspectRatio:"preserveAspectRatio"};function oo(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function dO(r){var e=RE[r.type],t=r.getParent();if(!e)throw new Error("the type "+r.type+" is not supported by svg");var n=oo(e);if(r.get("id")&&(n.id=r.get("id")),r.set("el",n),r.set("attrs",{}),t){var i=t.get("el");i||(i=t.createDom(),t.set("el",i)),i.appendChild(n)}return n}function pO(r,e){var t=r.get("el"),n=(0,znt.toArray)(t.children).sort(e),i=document.createDocumentFragment();n.forEach(function(a){i.appendChild(a)}),t.appendChild(i)}function Unt(r,e){var t=r.parentNode,n=Array.from(t.childNodes).filter(function(s){return s.nodeType===1&&s.nodeName.toLowerCase()!=="defs"}),i=n[e],a=n.indexOf(r);if(i){if(a>e)t.insertBefore(r,i);else if(a0&&(n?"stroke"in i?this._setColor(t,"stroke",s):"strokeStyle"in i&&this._setColor(t,"stroke",l):this._setColor(t,"stroke",s||l),f&&h.setAttribute(rn.strokeOpacity,f),c&&h.setAttribute(rn.lineWidth,c))},e.prototype._setColor=function(t,n,i){var a=this.get("el");if(!i){a.setAttribute(rn[n],"none");return}if(i=i.trim(),/^[r,R,L,l]{1}[\s]*\(/.test(i)){var o=t.find("gradient",i);o||(o=t.addGradient(i)),a.setAttribute(rn[n],"url(#"+o+")")}else if(/^[p,P]{1}[\s]*\(/.test(i)){var o=t.find("pattern",i);o||(o=t.addPattern(i)),a.setAttribute(rn[n],"url(#"+o+")")}else a.setAttribute(rn[n],i)},e.prototype.shadow=function(t,n){var i=this.attr(),a=n||i,o=a.shadowOffsetX,s=a.shadowOffsetY,l=a.shadowBlur,u=a.shadowColor;(o||s||l||u)&&jnt(this,t)},e.prototype.transform=function(t){var n=this.attr(),i=(t||n).matrix;i&&Ah(this)},e.prototype.isInShape=function(t,n){return this.isPointInPath(t,n)},e.prototype.isPointInPath=function(t,n){var i=this.get("el"),a=this.get("canvas"),o=a.get("el").getBoundingClientRect(),s=t+o.left,l=n+o.top,u=document.elementFromPoint(s,l);return!!(u&&u.isEqualNode(i))},e.prototype.getHitLineWidth=function(){var t=this.attrs,n=t.lineWidth,i=t.lineAppendWidth;return this.isStroke()?n+i:0},e}(Kv),_a=H6t;var Vnt=U(q());var Y6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="circle",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,r:0})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,Vnt.each)(n||i,function(o,s){s==="x"||s==="y"?a.setAttribute("c"+s,o):rn[s]&&a.setAttribute(rn[s],o)})},e}(_a),Hnt=Y6t;var Ynt=U(q());var X6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dom",t.canFill=!1,t.canStroke=!1,t}return e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");if((0,Ynt.each)(n||i,function(u,f){rn[f]&&a.setAttribute(rn[f],u)}),typeof i.html=="function"){var o=i.html.call(this,i);if(o instanceof Element||o instanceof HTMLDocument){for(var s=a.childNodes,l=s.length-1;l>=0;l--)a.removeChild(s[l]);a.appendChild(o)}else a.innerHTML=o}else a.innerHTML=i.html},e}(_a),Xnt=X6t;var qnt=U(q());var q6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="ellipse",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,rx:0,ry:0})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,qnt.each)(n||i,function(o,s){s==="x"||s==="y"?a.setAttribute("c"+s,o):rn[s]&&a.setAttribute(rn[s],o)})},e}(_a),Knt=q6t;var NE=U(q());var K6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="image",t.canFill=!1,t.canStroke=!1,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");(0,NE.each)(n||a,function(s,l){l==="img"?i._setImage(a.img):rn[l]&&o.setAttribute(rn[l],s)})},e.prototype.setAttr=function(t,n){this.attrs[t]=n,t==="img"&&this._setImage(n)},e.prototype._setImage=function(t){var n=this.attr(),i=this.get("el");if((0,NE.isString)(t))i.setAttribute("href",t);else if(t instanceof window.Image)n.width||(i.setAttribute("width",t.width),this.attr("width",t.width)),n.height||(i.setAttribute("height",t.height),this.attr("height",t.height)),i.setAttribute("href",t.src);else if(t instanceof HTMLElement&&(0,NE.isString)(t.nodeName)&&t.nodeName.toUpperCase()==="CANVAS")i.setAttribute("href",t.toDataURL());else if(t instanceof ImageData){var a=document.createElement("canvas");a.setAttribute("width",""+t.width),a.setAttribute("height",""+t.height),a.getContext("2d").putImageData(t,0,0),n.width||(i.setAttribute("width",""+t.width),this.attr("width",t.width)),n.height||(i.setAttribute("height",""+t.height),this.attr("height",t.height)),i.setAttribute("href",a.toDataURL())}},e}(_a),Znt=K6t;var gO=U(q());var Z6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="line",t.canFill=!1,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,gO.each)(n||i,function(o,s){if(s==="startArrow"||s==="endArrow")if(o){var l=(0,gO.isObject)(o)?t.addArrow(i,rn[s]):t.getDefaultArrow(i,rn[s]);a.setAttribute(rn[s],"url(#"+l+")")}else a.removeAttribute(rn[s]);else rn[s]&&a.setAttribute(rn[s],o)})},e.prototype.getTotalLength=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2;return Vi.length(n,i,a,o)},e.prototype.getPoint=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2;return Vi.pointAt(i,a,o,s,t)},e}(_a),$nt=Z6t;var xO=U(q());var yO={circle:function(r,e,t){return[["M",r,e],["m",-t,0],["a",t,t,0,1,0,t*2,0],["a",t,t,0,1,0,-t*2,0]]},square:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},diamond:function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},triangle:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["z"]]},triangleDown:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]}},HU={get:function(r){return yO[r]},register:function(r,e){yO[r]=e},remove:function(r){delete yO[r]},getAll:function(){return yO}};var $6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="marker",t.canFill=!0,t.canStroke=!0,t}return e.prototype.createPath=function(t){var n=this.get("el");n.setAttribute("d",this._assembleMarker())},e.prototype._assembleMarker=function(){var t=this._getPath();return(0,xO.isArray)(t)?t.map(function(n){return n.join(" ")}).join(""):t},e.prototype._getPath=function(){var t=this.attr(),n=t.x,i=t.y,a=t.r||t.radius,o=t.symbol||"circle",s;return(0,xO.isFunction)(o)?s=o:s=HU.get(o),s?s(n,i,a):(console.warn(s+" symbol is not exist."),null)},e.symbolsFactory=HU,e}(_a),Qnt=$6t;var f1=U(q());var Q6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="path",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");(0,f1.each)(n||a,function(s,l){if(l==="path"&&(0,f1.isArray)(s))o.setAttribute("d",i._formatPath(s));else if(l==="startArrow"||l==="endArrow")if(s){var u=(0,f1.isObject)(s)?t.addArrow(a,rn[l]):t.getDefaultArrow(a,rn[l]);o.setAttribute(rn[l],"url(#"+u+")")}else o.removeAttribute(rn[l]);else rn[l]&&o.setAttribute(rn[l],s)})},e.prototype._formatPath=function(t){var n=t.map(function(i){return i.join(" ")}).join("");return~n.indexOf("NaN")?"":n},e.prototype.getTotalLength=function(){var t=this.get("el");return t?t.getTotalLength():null},e.prototype.getPoint=function(t){var n=this.get("el"),i=this.getTotalLength();if(i===0)return null;var a=n?n.getPointAtLength(t*i):null;return a?{x:a.x,y:a.y}:null},e}(_a),Jnt=Q6t;var bO=U(q());var J6t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="polygon",t.canFill=!0,t.canStroke=!0,t}return e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,bO.each)(n||i,function(o,s){s==="points"&&(0,bO.isArray)(o)&&o.length>=2?a.setAttribute("points",o.map(function(l){return l[0]+","+l[1]}).join(" ")):rn[s]&&a.setAttribute(rn[s],o)})},e}(_a),tit=J6t;var Am=U(q());var tVt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="polyline",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{startArrow:!1,endArrow:!1})},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),["points"].indexOf(t)!==-1&&this._resetCache()},e.prototype._resetCache=function(){this.set("totalLength",null),this.set("tCache",null)},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,Am.each)(n||i,function(o,s){s==="points"&&(0,Am.isArray)(o)&&o.length>=2?a.setAttribute("points",o.map(function(l){return l[0]+","+l[1]}).join(" ")):rn[s]&&a.setAttribute(rn[s],o)})},e.prototype.getTotalLength=function(){var t=this.attr().points,n=this.get("totalLength");return(0,Am.isNil)(n)?(this.set("totalLength",Sb.length(t)),this.get("totalLength")):n},e.prototype.getPoint=function(t){var n=this.attr().points,i=this.get("tCache");i||(this._setTcache(),i=this.get("tCache"));var a,o;return(0,Am.each)(i,function(s,l){t>=s[0]&&t<=s[1]&&(a=(t-s[0])/(s[1]-s[0]),o=l)}),Vi.pointAt(n[o][0],n[o][1],n[o+1][0],n[o+1][1],a)},e.prototype._setTcache=function(){var t=this.attr().points;if(!(!t||t.length===0)){var n=this.getTotalLength();if(!(n<=0)){var i=0,a=[],o,s;(0,Am.each)(t,function(l,u){t[u+1]&&(o=[],o[0]=i/n,s=Vi.length(l[0],l[1],t[u+1][0],t[u+1][1]),i+=s,o[1]=i/n,a.push(o))}),this.set("tCache",a)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,n=[];return n.push([t[1][0],t[1][1]]),n.push([t[0][0],t[0][1]]),n},e.prototype.getEndTangent=function(){var t=this.attr().points,n=t.length-1,i=[];return i.push([t[n-1][0],t[n-1][1]]),i.push([t[n][0],t[n][1]]),i},e}(_a),eit=tVt;var SO=U(q());var _O=U(q());function rit(r){var e=0,t=0,n=0,i=0;return(0,_O.isArray)(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}var eVt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="rect",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el"),s=!1,l=["x","y","width","height","radius"];(0,SO.each)(n||a,function(u,f){l.indexOf(f)!==-1&&!s?(o.setAttribute("d",i._assembleRect(a)),s=!0):l.indexOf(f)===-1&&rn[f]&&o.setAttribute(rn[f],u)})},e.prototype._assembleRect=function(t){var n=t.x,i=t.y,a=t.width,o=t.height,s=t.radius;if(!s)return"M "+n+","+i+" l "+a+",0 l 0,"+o+" l"+-a+" 0 z";var l=rit(s);(0,SO.isArray)(s)?s.length===1?l.r1=l.r2=l.r3=l.r4=s[0]:s.length===2?(l.r1=l.r3=s[0],l.r2=l.r4=s[1]):s.length===3?(l.r1=s[0],l.r2=l.r4=s[1],l.r3=s[2]):(l.r1=s[0],l.r2=s[1],l.r3=s[2],l.r4=s[3]):l.r1=l.r2=l.r3=l.r4=s;var u=[["M "+(n+l.r1)+","+i],["l "+(a-l.r1-l.r2)+",0"],["a "+l.r2+","+l.r2+",0,0,1,"+l.r2+","+l.r2],["l 0,"+(o-l.r2-l.r3)],["a "+l.r3+","+l.r3+",0,0,1,"+-l.r3+","+l.r3],["l "+(l.r3+l.r4-a)+",0"],["a "+l.r4+","+l.r4+",0,0,1,"+-l.r4+","+-l.r4],["l 0,"+(l.r4+l.r1-o)],["a "+l.r1+","+l.r1+",0,0,1,"+l.r1+","+-l.r1],["z"]];return u.join(" ")},e}(_a),nit=eVt;var YU=U(q());var iit=.3,rVt={top:"before-edge",middle:"central",bottom:"after-edge",alphabetic:"baseline",hanging:"hanging"},nVt={top:"text-before-edge",middle:"central",bottom:"text-after-edge",alphabetic:"alphabetic",hanging:"hanging"},iVt={left:"left",start:"left",center:"middle",right:"end",end:"end"},aVt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="text",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");this._setFont(),(0,YU.each)(n||a,function(s,l){l==="text"?i._setText(""+s):l==="matrix"&&s?Ah(i):rn[l]&&o.setAttribute(rn[l],s)}),o.setAttribute("paint-order","stroke"),o.setAttribute("style","stroke-linecap:butt; stroke-linejoin:miter;")},e.prototype._setFont=function(){var t=this.get("el"),n=this.attr(),i=n.textBaseline,a=n.textAlign,o=v2();o&&o.name==="firefox"?t.setAttribute("dominant-baseline",nVt[i]||"alphabetic"):t.setAttribute("alignment-baseline",rVt[i]||"baseline"),t.setAttribute("text-anchor",iVt[a]||"left")},e.prototype._setText=function(t){var n=this.get("el"),i=this.attr(),a=i.x,o=i.textBaseline,s=o===void 0?"bottom":o;if(!t)n.innerHTML="";else if(~t.indexOf(` +`)),this.set("textArr",n)},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),t.startsWith("font")&&this._assembleFont(),t==="text"&&this._setText(n)},e.prototype._getSpaceingY=function(){var t=this.attrs,n=t.lineHeight,i=t.fontSize*1;return n?n-i:i*.14},e.prototype._drawTextArr=function(t,n,i){var a=this.attrs,o=a.textBaseline,s=a.x,l=a.y,u=a.fontSize*1,f=this._getSpaceingY(),c=jy(a.text,a.fontSize,a.lineHeight),h;(0,ln.each)(n,function(d,p){h=l+p*(f+u)-c+u,o==="middle"&&(h+=c-u-(c-u)/2),o==="top"&&(h+=c-u),(0,ln.isNil)(d)||(i?t.fillText(d,s,h):t.strokeText(d,s,h))})},e.prototype._drawText=function(t,n){var i=this.attr(),a=i.x,o=i.y,s=this.get("textArr");if(s)this._drawTextArr(t,s,n);else{var l=i.text;(0,ln.isNil)(l)||(n?t.fillText(l,a,o):t.strokeText(l,a,o))}},e.prototype.strokeAndFill=function(t){var n=this.attrs,i=n.lineWidth,a=n.opacity,o=n.strokeOpacity,s=n.fillOpacity;this.isStroke()&&i>0&&(!(0,ln.isNil)(o)&&o!==1&&(t.globalAlpha=a),this.stroke(t)),this.isFill()&&(!(0,ln.isNil)(s)&&s!==1?(t.globalAlpha=s,this.fill(t),t.globalAlpha=a):this.fill(t)),this.afterDrawPath(t)},e.prototype.fill=function(t){this._drawText(t,!0)},e.prototype.stroke=function(t){this._drawText(t,!1)},e}(Ga),Knt=sVt;function lVt(r,e){if(e){var t=Ny(e);return pu(t,r)}return r}function Znt(r,e,t){var n=r.getTotalMatrix();if(n){var i=lVt([e,t,1],n),a=i[0],o=i[1];return[a,o]}return[e,t]}function $nt(r,e,t){if(r.isCanvas&&r.isCanvas())return!0;if(!Xv(r)||r.cfg.isInView===!1)return!1;if(r.cfg.clipShape){var n=Znt(r,e,t),i=n[0],a=n[1];if(r.isClipped(i,a))return!1}var o=r.cfg.cacheCanvasBBox||r.getCanvasBBox();return e>=o.minX&&e<=o.maxX&&t>=o.minY&&t<=o.maxY}function KU(r,e,t){if(!$nt(r,e,t))return null;for(var n=null,i=r.getChildren(),a=i.length,o=a-1;o>=0;o--){var s=i[o];if(s.isGroup())n=KU(s,e,t);else if($nt(s,e,t)){var l=s,u=Znt(s,e,t),f=u[0],c=u[1];l.isInShape(f,c)&&(n=s)}if(n)break}return n}var uVt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){var t=r.prototype.getDefaultCfg.call(this);return t.renderer="canvas",t.autoDraw=!0,t.localRefresh=!0,t.refreshElements=[],t.clipView=!0,t.quickHit=!1,t},e.prototype.onCanvasChange=function(t){(t==="attr"||t==="sort"||t==="changeSize")&&(this.set("refreshElements",[this]),this.draw())},e.prototype.getShapeBase=function(){return bp},e.prototype.getGroupBase=function(){return c1},e.prototype.getPixelRatio=function(){var t=this.get("pixelRatio")||Ent();return t>=1?Math.ceil(t):1},e.prototype.getViewRange=function(){return{minX:0,minY:0,maxX:this.cfg.width,maxY:this.cfg.height}},e.prototype.createDom=function(){var t=document.createElement("canvas"),n=t.getContext("2d");return this.set("context",n),t},e.prototype.setDOMSize=function(t,n){r.prototype.setDOMSize.call(this,t,n);var i=this.get("context"),a=this.get("el"),o=this.getPixelRatio();a.width=o*t,a.height=o*n,o>1&&i.scale(o,o)},e.prototype.clear=function(){r.prototype.clear.call(this),this._clearFrame();var t=this.get("context"),n=this.get("el");t.clearRect(0,0,n.width,n.height)},e.prototype.getShape=function(t,n){var i;return this.get("quickHit")?i=KU(this,t,n):i=r.prototype.getShape.call(this,t,n,null),i},e.prototype._getRefreshRegion=function(){var t=this.get("refreshElements"),n=this.getViewRange(),i;if(t.length&&t[0]===this)i=n;else if(i=Nnt(t),i){i.minX=Math.floor(i.minX),i.minY=Math.floor(i.minY),i.maxX=Math.ceil(i.maxX),i.maxY=Math.ceil(i.maxY),i.maxY+=1;var a=this.get("clipView");a&&(i=Fnt(i,n))}return i},e.prototype.refreshElement=function(t){var n=this.get("refreshElements");n.push(t)},e.prototype._clearFrame=function(){var t=this.get("drawFrame");t&&((0,ln.clearAnimationFrame)(t),this.set("drawFrame",null),this.set("refreshElements",[]))},e.prototype.draw=function(){var t=this.get("drawFrame");this.get("autoDraw")&&t||this._startDraw()},e.prototype._drawAll=function(){var t=this.get("context"),n=this.get("el"),i=this.getChildren();t.clearRect(0,0,n.width,n.height),xp(t,this),PE(t,i),this.set("refreshElements",[])},e.prototype._drawRegion=function(){var t=this.get("context"),n=this.get("refreshElements"),i=this.getChildren(),a=this._getRefreshRegion();a?(t.clearRect(a.minX,a.minY,a.maxX-a.minX,a.maxY-a.minY),t.save(),t.beginPath(),t.rect(a.minX,a.minY,a.maxX-a.minX,a.maxY-a.minY),t.clip(),xp(t,this),Rnt(this,i,a),PE(t,i,a),t.restore()):n.length&&VU(n),(0,ln.each)(n,function(o){o.get("hasChanged")&&o.set("hasChanged",!1)}),this.set("refreshElements",[])},e.prototype._startDraw=function(){var t=this,n=this.get("drawFrame");n||(n=(0,ln.requestAnimationFrame)(function(){t.get("localRefresh")?t._drawRegion():t._drawAll(),t.set("drawFrame",null)}),this.set("drawFrame",n))},e.prototype.skipDraw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.width=0,t.height=0,t.parentNode.removeChild(t)},e}(Gy),Gl=uVt;var fVt="0.5.12";var tj={};Dn(tj,{AbstractCanvas:()=>Gy,AbstractGroup:()=>Zv,AbstractShape:()=>$v,Base:()=>Ry,Canvas:()=>Mh,Event:()=>Yu,Group:()=>h1,PathUtil:()=>gb,Shape:()=>Sp,assembleFont:()=>Wy,getBBoxMethod:()=>Qv,getOffScreenContext:()=>Uy,getTextHeight:()=>jy,invert:()=>Ny,isAllowCapture:()=>Xv,multiplyVec2:()=>pu,version:()=>jVt});var Sp={};Dn(Sp,{Base:()=>Sa,Circle:()=>nit,Dom:()=>ait,Ellipse:()=>sit,Image:()=>lit,Line:()=>uit,Marker:()=>fit,Path:()=>cit,Polygon:()=>hit,Polyline:()=>dit,Rect:()=>vit,Text:()=>git});var Qnt=z(q());var GE={rect:"path",circle:"circle",line:"line",path:"path",marker:"path",text:"text",polyline:"polyline",polygon:"polygon",image:"image",ellipse:"ellipse",dom:"foreignObject"},rn={opacity:"opacity",fillStyle:"fill",fill:"fill",fillOpacity:"fill-opacity",strokeStyle:"stroke",strokeOpacity:"stroke-opacity",stroke:"stroke",x:"x",y:"y",r:"r",rx:"rx",ry:"ry",width:"width",height:"height",x1:"x1",x2:"x2",y1:"y1",y2:"y2",lineCap:"stroke-linecap",lineJoin:"stroke-linejoin",lineWidth:"stroke-width",lineDash:"stroke-dasharray",lineDashOffset:"stroke-dashoffset",miterLimit:"stroke-miterlimit",font:"font",fontSize:"font-size",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",fontFamily:"font-family",startArrow:"marker-start",endArrow:"marker-end",path:"d",class:"class",id:"id",style:"style",preserveAspectRatio:"preserveAspectRatio"};function lo(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function gO(r){var e=GE[r.type],t=r.getParent();if(!e)throw new Error("the type "+r.type+" is not supported by svg");var n=lo(e);if(r.get("id")&&(n.id=r.get("id")),r.set("el",n),r.set("attrs",{}),t){var i=t.get("el");i||(i=t.createDom(),t.set("el",i)),i.appendChild(n)}return n}function yO(r,e){var t=r.get("el"),n=(0,Qnt.toArray)(t.children).sort(e),i=document.createDocumentFragment();n.forEach(function(a){i.appendChild(a)}),t.appendChild(i)}function Jnt(r,e){var t=r.parentNode,n=Array.from(t.childNodes).filter(function(s){return s.nodeType===1&&s.nodeName.toLowerCase()!=="defs"}),i=n[e],a=n.indexOf(r);if(i){if(a>e)t.insertBefore(r,i);else if(a0&&(n?"stroke"in i?this._setColor(t,"stroke",s):"strokeStyle"in i&&this._setColor(t,"stroke",l):this._setColor(t,"stroke",s||l),f&&h.setAttribute(rn.strokeOpacity,f),c&&h.setAttribute(rn.lineWidth,c))},e.prototype._setColor=function(t,n,i){var a=this.get("el");if(!i){a.setAttribute(rn[n],"none");return}if(i=i.trim(),/^[r,R,L,l]{1}[\s]*\(/.test(i)){var o=t.find("gradient",i);o||(o=t.addGradient(i)),a.setAttribute(rn[n],"url(#"+o+")")}else if(/^[p,P]{1}[\s]*\(/.test(i)){var o=t.find("pattern",i);o||(o=t.addPattern(i)),a.setAttribute(rn[n],"url(#"+o+")")}else a.setAttribute(rn[n],i)},e.prototype.shadow=function(t,n){var i=this.attr(),a=n||i,o=a.shadowOffsetX,s=a.shadowOffsetY,l=a.shadowBlur,u=a.shadowColor;(o||s||l||u)&&tit(this,t)},e.prototype.transform=function(t){var n=this.attr(),i=(t||n).matrix;i&&Ah(this)},e.prototype.isInShape=function(t,n){return this.isPointInPath(t,n)},e.prototype.isPointInPath=function(t,n){var i=this.get("el"),a=this.get("canvas"),o=a.get("el").getBoundingClientRect(),s=t+o.left,l=n+o.top,u=document.elementFromPoint(s,l);return!!(u&&u.isEqualNode(i))},e.prototype.getHitLineWidth=function(){var t=this.attrs,n=t.lineWidth,i=t.lineAppendWidth;return this.isStroke()?n+i:0},e}($v),Sa=hVt;var rit=z(q());var dVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="circle",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,r:0})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,rit.each)(n||i,function(o,s){s==="x"||s==="y"?a.setAttribute("c"+s,o):rn[s]&&a.setAttribute(rn[s],o)})},e}(Sa),nit=dVt;var iit=z(q());var pVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dom",t.canFill=!1,t.canStroke=!1,t}return e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");if((0,iit.each)(n||i,function(u,f){rn[f]&&a.setAttribute(rn[f],u)}),typeof i.html=="function"){var o=i.html.call(this,i);if(o instanceof Element||o instanceof HTMLDocument){for(var s=a.childNodes,l=s.length-1;l>=0;l--)a.removeChild(s[l]);a.appendChild(o)}else a.innerHTML=o}else a.innerHTML=i.html},e}(Sa),ait=pVt;var oit=z(q());var vVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="ellipse",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,rx:0,ry:0})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,oit.each)(n||i,function(o,s){s==="x"||s==="y"?a.setAttribute("c"+s,o):rn[s]&&a.setAttribute(rn[s],o)})},e}(Sa),sit=vVt;var zE=z(q());var mVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="image",t.canFill=!1,t.canStroke=!1,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");(0,zE.each)(n||a,function(s,l){l==="img"?i._setImage(a.img):rn[l]&&o.setAttribute(rn[l],s)})},e.prototype.setAttr=function(t,n){this.attrs[t]=n,t==="img"&&this._setImage(n)},e.prototype._setImage=function(t){var n=this.attr(),i=this.get("el");if((0,zE.isString)(t))i.setAttribute("href",t);else if(t instanceof window.Image)n.width||(i.setAttribute("width",t.width),this.attr("width",t.width)),n.height||(i.setAttribute("height",t.height),this.attr("height",t.height)),i.setAttribute("href",t.src);else if(t instanceof HTMLElement&&(0,zE.isString)(t.nodeName)&&t.nodeName.toUpperCase()==="CANVAS")i.setAttribute("href",t.toDataURL());else if(t instanceof ImageData){var a=document.createElement("canvas");a.setAttribute("width",""+t.width),a.setAttribute("height",""+t.height),a.getContext("2d").putImageData(t,0,0),n.width||(i.setAttribute("width",""+t.width),this.attr("width",t.width)),n.height||(i.setAttribute("height",""+t.height),this.attr("height",t.height)),i.setAttribute("href",a.toDataURL())}},e}(Sa),lit=mVt;var _O=z(q());var gVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="line",t.canFill=!1,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,_O.each)(n||i,function(o,s){if(s==="startArrow"||s==="endArrow")if(o){var l=(0,_O.isObject)(o)?t.addArrow(i,rn[s]):t.getDefaultArrow(i,rn[s]);a.setAttribute(rn[s],"url(#"+l+")")}else a.removeAttribute(rn[s]);else rn[s]&&a.setAttribute(rn[s],o)})},e.prototype.getTotalLength=function(){var t=this.attr(),n=t.x1,i=t.y1,a=t.x2,o=t.y2;return Vi.length(n,i,a,o)},e.prototype.getPoint=function(t){var n=this.attr(),i=n.x1,a=n.y1,o=n.x2,s=n.y2;return Vi.pointAt(i,a,o,s,t)},e}(Sa),uit=gVt;var CO=z(q());var SO={circle:function(r,e,t){return[["M",r,e],["m",-t,0],["a",t,t,0,1,0,t*2,0],["a",t,t,0,1,0,-t*2,0]]},square:function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},diamond:function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},triangle:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["z"]]},triangleDown:function(r,e,t){var n=t*Math.sin(1/3*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]}},$U={get:function(r){return SO[r]},register:function(r,e){SO[r]=e},remove:function(r){delete SO[r]},getAll:function(){return SO}};var yVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="marker",t.canFill=!0,t.canStroke=!0,t}return e.prototype.createPath=function(t){var n=this.get("el");n.setAttribute("d",this._assembleMarker())},e.prototype._assembleMarker=function(){var t=this._getPath();return(0,CO.isArray)(t)?t.map(function(n){return n.join(" ")}).join(""):t},e.prototype._getPath=function(){var t=this.attr(),n=t.x,i=t.y,a=t.r||t.radius,o=t.symbol||"circle",s;return(0,CO.isFunction)(o)?s=o:s=$U.get(o),s?s(n,i,a):(console.warn(s+" symbol is not exist."),null)},e.symbolsFactory=$U,e}(Sa),fit=yVt;var d1=z(q());var xVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="path",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");(0,d1.each)(n||a,function(s,l){if(l==="path"&&(0,d1.isArray)(s))o.setAttribute("d",i._formatPath(s));else if(l==="startArrow"||l==="endArrow")if(s){var u=(0,d1.isObject)(s)?t.addArrow(a,rn[l]):t.getDefaultArrow(a,rn[l]);o.setAttribute(rn[l],"url(#"+u+")")}else o.removeAttribute(rn[l]);else rn[l]&&o.setAttribute(rn[l],s)})},e.prototype._formatPath=function(t){var n=t.map(function(i){return i.join(" ")}).join("");return~n.indexOf("NaN")?"":n},e.prototype.getTotalLength=function(){var t=this.get("el");return t?t.getTotalLength():null},e.prototype.getPoint=function(t){var n=this.get("el"),i=this.getTotalLength();if(i===0)return null;var a=n?n.getPointAtLength(t*i):null;return a?{x:a.x,y:a.y}:null},e}(Sa),cit=xVt;var wO=z(q());var bVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="polygon",t.canFill=!0,t.canStroke=!0,t}return e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,wO.each)(n||i,function(o,s){s==="points"&&(0,wO.isArray)(o)&&o.length>=2?a.setAttribute("points",o.map(function(l){return l[0]+","+l[1]}).join(" ")):rn[s]&&a.setAttribute(rn[s],o)})},e}(Sa),hit=bVt;var Tm=z(q());var _Vt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="polyline",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{startArrow:!1,endArrow:!1})},e.prototype.onAttrChange=function(t,n,i){r.prototype.onAttrChange.call(this,t,n,i),["points"].indexOf(t)!==-1&&this._resetCache()},e.prototype._resetCache=function(){this.set("totalLength",null),this.set("tCache",null)},e.prototype.createPath=function(t,n){var i=this.attr(),a=this.get("el");(0,Tm.each)(n||i,function(o,s){s==="points"&&(0,Tm.isArray)(o)&&o.length>=2?a.setAttribute("points",o.map(function(l){return l[0]+","+l[1]}).join(" ")):rn[s]&&a.setAttribute(rn[s],o)})},e.prototype.getTotalLength=function(){var t=this.attr().points,n=this.get("totalLength");return(0,Tm.isNil)(n)?(this.set("totalLength",Eb.length(t)),this.get("totalLength")):n},e.prototype.getPoint=function(t){var n=this.attr().points,i=this.get("tCache");i||(this._setTcache(),i=this.get("tCache"));var a,o;return(0,Tm.each)(i,function(s,l){t>=s[0]&&t<=s[1]&&(a=(t-s[0])/(s[1]-s[0]),o=l)}),Vi.pointAt(n[o][0],n[o][1],n[o+1][0],n[o+1][1],a)},e.prototype._setTcache=function(){var t=this.attr().points;if(!(!t||t.length===0)){var n=this.getTotalLength();if(!(n<=0)){var i=0,a=[],o,s;(0,Tm.each)(t,function(l,u){t[u+1]&&(o=[],o[0]=i/n,s=Vi.length(l[0],l[1],t[u+1][0],t[u+1][1]),i+=s,o[1]=i/n,a.push(o))}),this.set("tCache",a)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,n=[];return n.push([t[1][0],t[1][1]]),n.push([t[0][0],t[0][1]]),n},e.prototype.getEndTangent=function(){var t=this.attr().points,n=t.length-1,i=[];return i.push([t[n-1][0],t[n-1][1]]),i.push([t[n][0],t[n][1]]),i},e}(Sa),dit=_Vt;var AO=z(q());var EO=z(q());function pit(r){var e=0,t=0,n=0,i=0;return(0,EO.isArray)(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}var SVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="rect",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el"),s=!1,l=["x","y","width","height","radius"];(0,AO.each)(n||a,function(u,f){l.indexOf(f)!==-1&&!s?(o.setAttribute("d",i._assembleRect(a)),s=!0):l.indexOf(f)===-1&&rn[f]&&o.setAttribute(rn[f],u)})},e.prototype._assembleRect=function(t){var n=t.x,i=t.y,a=t.width,o=t.height,s=t.radius;if(!s)return"M "+n+","+i+" l "+a+",0 l 0,"+o+" l"+-a+" 0 z";var l=pit(s);(0,AO.isArray)(s)?s.length===1?l.r1=l.r2=l.r3=l.r4=s[0]:s.length===2?(l.r1=l.r3=s[0],l.r2=l.r4=s[1]):s.length===3?(l.r1=s[0],l.r2=l.r4=s[1],l.r3=s[2]):(l.r1=s[0],l.r2=s[1],l.r3=s[2],l.r4=s[3]):l.r1=l.r2=l.r3=l.r4=s;var u=[["M "+(n+l.r1)+","+i],["l "+(a-l.r1-l.r2)+",0"],["a "+l.r2+","+l.r2+",0,0,1,"+l.r2+","+l.r2],["l 0,"+(o-l.r2-l.r3)],["a "+l.r3+","+l.r3+",0,0,1,"+-l.r3+","+l.r3],["l "+(l.r3+l.r4-a)+",0"],["a "+l.r4+","+l.r4+",0,0,1,"+-l.r4+","+-l.r4],["l 0,"+(l.r4+l.r1-o)],["a "+l.r1+","+l.r1+",0,0,1,"+l.r1+","+-l.r1],["z"]];return u.join(" ")},e}(Sa),vit=SVt;var QU=z(q());var mit=.3,CVt={top:"before-edge",middle:"central",bottom:"after-edge",alphabetic:"baseline",hanging:"hanging"},wVt={top:"text-before-edge",middle:"central",bottom:"text-after-edge",alphabetic:"alphabetic",hanging:"hanging"},EVt={left:"left",start:"left",center:"middle",right:"end",end:"end"},AVt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="text",t.canFill=!0,t.canStroke=!0,t}return e.prototype.getDefaultAttrs=function(){var t=r.prototype.getDefaultAttrs.call(this);return E(E({},t),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.createPath=function(t,n){var i=this,a=this.attr(),o=this.get("el");this._setFont(),(0,QU.each)(n||a,function(s,l){l==="text"?i._setText(""+s):l==="matrix"&&s?Ah(i):rn[l]&&o.setAttribute(rn[l],s)}),o.setAttribute("paint-order","stroke"),o.setAttribute("style","stroke-linecap:butt; stroke-linejoin:miter;")},e.prototype._setFont=function(){var t=this.get("el"),n=this.attr(),i=n.textBaseline,a=n.textAlign,o=x2();o&&o.name==="firefox"?t.setAttribute("dominant-baseline",wVt[i]||"alphabetic"):t.setAttribute("alignment-baseline",CVt[i]||"baseline"),t.setAttribute("text-anchor",EVt[a]||"left")},e.prototype._setText=function(t){var n=this.get("el"),i=this.attr(),a=i.x,o=i.textBaseline,s=o===void 0?"bottom":o;if(!t)n.innerHTML="";else if(~t.indexOf(` `)){var l=t.split(` -`),u=l.length-1,f="";(0,YU.each)(l,function(c,h){h===0?s==="alphabetic"?f+=''+c+"":s==="top"?f+=''+c+"":s==="middle"?f+=''+c+"":s==="bottom"?f+=''+c+"":s==="hanging"&&(f+=''+c+""):f+=''+c+""}),n.innerHTML=f}else n.innerHTML=t},e}(_a),ait=aVt;var dit=U(q());var Mm=U(q());var oVt=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,sVt=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,lVt=/[\d.]+:(#[^\s]+|[^)]+\))/gi;function oit(r){var e=r.match(lVt);if(!e)return"";var t="";return e.sort(function(n,i){return n=n.split(":"),i=i.split(":"),Number(n[0])-Number(i[0])}),(0,Mm.each)(e,function(n){n=n.split(":"),t+=''}),t}function uVt(r,e){var t=oVt.exec(r),n=(0,Mm.mod)((0,Mm.toRadian)(parseFloat(t[1])),Math.PI*2),i=t[2],a,o;n>=0&&n<.5*Math.PI?(a={x:0,y:0},o={x:1,y:1}):.5*Math.PI<=n&&n'+c+"":s==="top"?f+=''+c+"":s==="middle"?f+=''+c+"":s==="bottom"?f+=''+c+"":s==="hanging"&&(f+=''+c+""):f+=''+c+""}),n.innerHTML=f}else n.innerHTML=t},e}(Sa),git=AVt;var Eit=z(q());var Im=z(q());var MVt=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,TVt=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,IVt=/[\d.]+:(#[^\s]+|[^)]+\))/gi;function yit(r){var e=r.match(IVt);if(!e)return"";var t="";return e.sort(function(n,i){return n=n.split(":"),i=i.split(":"),Number(n[0])-Number(i[0])}),(0,Im.each)(e,function(n){n=n.split(":"),t+=''}),t}function LVt(r,e){var t=MVt.exec(r),n=(0,Im.mod)((0,Im.toRadian)(parseFloat(t[1])),Math.PI*2),i=t[2],a,o;n>=0&&n<.5*Math.PI?(a={x:0,y:0},o={x:1,y:1}):.5*Math.PI<=n&&n`;t.innerHTML=n},r}(),lit=pVt;var CO=U(q());var vVt=function(){function r(e,t){this.cfg={};var n=oo("marker"),i=(0,CO.uniqueId)("marker_");n.setAttribute("id",i);var a=oo("path");a.setAttribute("stroke",e.stroke||"none"),a.setAttribute("fill",e.fill||"none"),n.appendChild(a),n.setAttribute("overflow","visible"),n.setAttribute("orient","auto-start-reverse"),this.el=n,this.child=a,this.id=i;var o=e[t==="marker-start"?"startArrow":"endArrow"];return this.stroke=e.stroke||"#000",o===!0?this._setDefaultPath(t,a):(this.cfg=o,this._setMarker(e.lineWidth,a)),this}return r.prototype.match=function(){return!1},r.prototype._setDefaultPath=function(e,t){var n=this.el;t.setAttribute("d","M0,0 L"+10*Math.cos(Math.PI/6)+",5 L0,10"),n.setAttribute("refX",""+10*Math.cos(Math.PI/6)),n.setAttribute("refY",""+5)},r.prototype._setMarker=function(e,t){var n=this.el,i=this.cfg.path,a=this.cfg.d;(0,CO.isArray)(i)&&(i=i.map(function(o){return o.join(" ")}).join("")),t.setAttribute("d",i),n.appendChild(t),a&&n.setAttribute("refX",""+a/e)},r.prototype.update=function(e){var t=this.child;t.attr?t.attr("fill",e):t.setAttribute("fill",e)},r}(),XU=vVt;var uit=U(q());var mVt=function(){function r(e){this.type="clip",this.cfg={};var t=oo("clipPath");this.el=t,this.id=(0,uit.uniqueId)("clip_"),t.id=this.id;var n=e.cfg.el;return t.appendChild(n),this.cfg=e,this}return r.prototype.match=function(){return!1},r.prototype.remove=function(){var e=this.el;e.parentNode.removeChild(e)},r}(),fit=mVt;var cit=U(q());var gVt=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,yVt=function(){function r(e){this.cfg={};var t=oo("pattern");t.setAttribute("patternUnits","userSpaceOnUse");var n=oo("image");t.appendChild(n);var i=(0,cit.uniqueId)("pattern_");t.id=i,this.el=t,this.id=i,this.cfg=e;var a=gVt.exec(e),o=a[2];n.setAttribute("href",o);var s=new Image;o.match(/^data:/i)||(s.crossOrigin="Anonymous"),s.src=o;function l(){t.setAttribute("width",""+s.width),t.setAttribute("height",""+s.height)}return s.complete?l():(s.onload=l,s.src=s.src),this}return r.prototype.match=function(e,t){return this.cfg===t},r}(),hit=yVt;var xVt=function(){function r(e){var t=oo("defs"),n=(0,dit.uniqueId)("defs_");t.id=n,e.appendChild(t),this.children=[],this.defaultArrow={},this.el=t,this.canvas=e}return r.prototype.find=function(e,t){for(var n=this.children,i=null,a=0;a0&&(d[0][0]="L")),a=a.concat(d)}),a.push(["Z"])}return a}function Tm(r,e,t,n,i){for(var a=gn(r,e,!e,"lineWidth"),o=r.connectNulls,s=r.isInCircle,l=r.points,u=r.showSinglePoint,f=bm(l,o,u),c=[],h=0,d=f.length;ho&&(o=l),l=n[0]}));for(var p=this.scales[h],v=0,m=t;ve&&(t=t?e/(1+n/t):0,n=e-t),i+a>e&&(i=i?e/(1+a/i):0,a=e-i),[t||0,n||0,i||0,a||0]}function EO(r,e,t){var n=[];if(t.isRect){var i=t.isTransposed?{x:t.start.x,y:e[0].y}:{x:e[0].x,y:t.start.y},a=t.isTransposed?{x:t.end.x,y:e[2].y}:{x:e[3].x,y:t.end.y},o=(0,Im.get)(r,["background","style","radius"]);if(o){var s=t.isTransposed?Math.abs(e[0].y-e[2].y):e[2].x-e[1].x,l=t.isTransposed?t.getWidth():t.getHeight(),u=bit(o,Math.min(s,l)),f=u[0],c=u[1],h=u[2],d=u[3];n.push(["M",i.x,a.y+f]),f!==0&&n.push(["A",f,f,0,0,1,i.x+f,a.y]),n.push(["L",a.x-c,a.y]),c!==0&&n.push(["A",c,c,0,0,1,a.x,a.y+c]),n.push(["L",a.x,i.y-h]),h!==0&&n.push(["A",h,h,0,0,1,a.x-h,i.y]),n.push(["L",i.x+d,i.y]),d!==0&&n.push(["A",d,d,0,0,1,i.x,i.y-d])}else n.push(["M",i.x,i.y]),n.push(["L",a.x,i.y]),n.push(["L",a.x,a.y]),n.push(["L",i.x,a.y]),n.push(["L",i.x,i.y]);n.push(["z"])}if(t.isPolar){var p=t.getCenter(),v=lp(r,t),m=v.startAngle,g=v.endAngle;if(t.type!=="theta"&&!t.isTransposed)n=xu(p.x,p.y,t.getRadius(),m,g);else{var x=function(C){return Math.pow(C,2)},f=Math.sqrt(x(p.x-e[0].x)+x(p.y-e[0].y)),c=Math.sqrt(x(p.x-e[2].x)+x(p.y-e[2].y));n=xu(p.x,p.y,f,t.startAngle,t.endAngle,c)}}return n}function _it(r,e,t){var n=t.getWidth(),i=t.getHeight(),a=t.type==="rect",o=[],s=(r[2].x-r[1].x)/2,l=t.isTransposed?s*i/n:s*n/i;return e==="round"?(a?(o.push(["M",r[0].x,r[0].y+l]),o.push(["L",r[1].x,r[1].y-l]),o.push(["A",s,s,0,0,1,r[2].x,r[2].y-l]),o.push(["L",r[3].x,r[3].y+l]),o.push(["A",s,s,0,0,1,r[0].x,r[0].y+l])):(o.push(["M",r[0].x,r[0].y]),o.push(["L",r[1].x,r[1].y]),o.push(["A",s,s,0,0,1,r[2].x,r[2].y]),o.push(["L",r[3].x,r[3].y]),o.push(["A",s,s,0,0,1,r[0].x,r[0].y])),o.push(["z"])):o=BE(r),o}function AO(r,e,t){var n=[];return(0,Im.isNil)(e)?t?n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",(r[2].x+r[3].x)/2,(r[2].y+r[3].y)/2],["Z"]):n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",r[2].x,r[2].y],["L",r[3].x,r[3].y],["Z"]):n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",e[1].x,e[1].y],["L",e[0].x,e[0].y],["Z"]),n}function GE(r,e){return[e,r]}function Sit(r,e,t){var n,i,a,o,s,l,u,f=mn([],r,!0),c=f[0],h=f[1],d=f[2],p=f[3],v=typeof t=="number"?Array(4).fill(t):t,m=v[0],g=v[1],x=v[2],b=v[3];e.isTransposed&&(n=GE(h,p),h=n[0],p=n[1],i=[b,m,g,x],m=i[0],g=i[1],x=i[2],b=i[3]),e.isReflect("y")&&(a=GE(c,h),c=a[0],h=a[1],o=GE(d,p),d=o[0],p=o[1]),e.isReflect("x")&&(s=GE(c,p),c=s[0],p=s[1],l=GE(h,d),h=l[0],d=l[1]);var S=[],C=function(w){return Math.abs(w)};return u=bit([m,g,x,b],Math.min(C(p.x-c.x),C(h.y-c.y))).map(function(w){return C(w)}),m=u[0],g=u[1],x=u[2],b=u[3],c.yo&&(i=o)}return i}function TVt(r,e){if(e){var t=(0,ef.flatten)(r),n=(0,ef.valuesOfKey)(t,e);return n.length}return r.length}function p1(r){var e=r.theme,t=r.coordinate,n=r.getXScale(),i=n.values,a=r.beforeMappingData,o=i.length,s=yh(r.coordinate),l=r.intervalPadding,u=r.dodgePadding,f=r.maxColumnWidth||e.maxColumnWidth,c=r.minColumnWidth||e.minColumnWidth,h=r.columnWidthRatio||e.columnWidthRatio,d=r.multiplePieWidthRatio||e.multiplePieWidthRatio,p=r.roseWidthRatio||e.roseWidthRatio;if(n.isLinear&&i.length>1){i.sort();var v=MVt(i,n);o=(n.max-n.min)/v,i.length>o&&(o=i.length)}var m=n.range,g=1/o,x=1;if(t.isPolar?t.isTransposed&&o>1?x=d:x=p:(n.isLinear&&(g*=m[1]-m[0]),x=h),!(0,ef.isNil)(l)&&l>=0){var b=l/s;g=(1-(o-1)*b)/o}else g*=x;if(r.getAdjust("dodge")){var S=r.getAdjust("dodge"),C=S.dodgeBy,w=TVt(a,C);if(!(0,ef.isNil)(u)&&u>=0){var A=u/s;g=(g-A*(w-1))/w}else!(0,ef.isNil)(l)&&l>=0&&(g*=x),g=g/w;g=g>=0?g:0}if(!(0,ef.isNil)(f)&&f>=0){var I=f/s;g>I&&(g=I)}if(!(0,ef.isNil)(c)&&c>=0){var P=c/s;g0&&!(0,KU.get)(n,[i,"min"])&&t.change({min:0}),o<=0&&!(0,KU.get)(n,[i,"max"])&&t.change({max:0}))}},e.prototype.getDrawCfg=function(t){var n=r.prototype.getDrawCfg.call(this,t);return n.background=this.background,n},e}(Uo),Cit=IVt;var LVt=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;n.type="line";var i=t.sortable,a=i===void 0?!1:i;return n.sortable=a,n}return e}(c1),wit=LVt;var Ait=U(q());var MO=["circle","square","bowtie","diamond","hexagon","triangle","triangle-down"],Eit=["cross","tick","plus","hyphen","line"];function v1(r,e,t,n,i){var a=gn(e,i,!i,"r"),o=r.parsePoints(e.points),s=o[0];if(e.isStack)s=o[1];else if(o.length>1){for(var l=t.addGroup(),u=0,f=o;u2?"weight":"normal",a;if(r.isInCircle){var o={x:0,y:1};return i==="normal"?a=FVt(n[0],n[1],o):(t.fill=t.stroke,a=BVt(n,o)),a=this.parsePath(a),e.addShape("path",{attrs:E(E({},t),{path:a})})}else{if(i==="normal")return n=this.parsePoints(n),a=AL((n[1].x+n[0].x)/2,n[0].y,Math.abs(n[1].x-n[0].x)/2,Math.PI,Math.PI*2),e.addShape("path",{attrs:E(E({},t),{path:a})});var s=UE(n[1],n[3]),l=UE(n[2],n[0]);return a=[["M",n[0].x,n[0].y],["L",n[1].x,n[1].y],s,["L",n[3].x,n[3].y],["L",n[2].x,n[2].y],l,["Z"]],a=this.parsePath(a),t.fill=t.stroke,e.addShape("path",{attrs:E(E({},t),{path:a})})}},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});function GVt(r,e){var t=UE(r,e),n=[["M",r.x,r.y]];return n.push(t),n}or("edge","smooth",{draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=r.points,i=this.parsePath(GVt(n[0],n[1]));return e.addShape("path",{attrs:E(E({},t),{path:i})})},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});var Pit=U(q());var IO=1/3;function zVt(r,e){var t=[];t.push({x:r.x,y:r.y*(1-IO)+e.y*IO}),t.push({x:e.x,y:r.y*(1-IO)+e.y*IO}),t.push(e);var n=[["M",r.x,r.y]];return(0,Pit.each)(t,function(i){n.push(["L",i.x,i.y])}),n}or("edge","vhv",{draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=r.points,i=this.parsePath(zVt(n[0],n[1]));return e.addShape("path",{attrs:E(E({},t),{path:i})})},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});or("interval","funnel",{getPoints:function(r){return r.size=r.size*2,d1(r)},draw:function(r,e){var t=gn(r,!1,!0),n=this.parsePath(AO(r.points,r.nextPoints,!1)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});or("interval","hollow-rect",{draw:function(r,e){var t=gn(r,!0,!1),n=e,i=r==null?void 0:r.background;if(i){n=e.addGroup();var a=nO(r),o=EO(r,this.parsePoints(r.points),this.coordinate);n.addShape("path",{attrs:E(E({},a),{path:o}),zIndex:-1,name:t1})}var s=this.parsePath(BE(r.points)),l=n.addShape("path",{attrs:E(E({},t),{path:s}),name:"interval"});return i?n:l},getMarker:function(r){var e=r.color,t=r.isInPolar;return t?{symbol:"circle",style:{r:4.5,stroke:e,fill:null}}:{symbol:"square",style:{r:4,stroke:e,fill:null}}}});var ZU=U(q());function UVt(r){var e=r.x,t=r.y,n=r.y0;return(0,ZU.isArray)(t)?t.map(function(i,a){return{x:(0,ZU.isArray)(e)?e[a]:e,y:i}}):[{x:e,y:n},{x:e,y:t}]}or("interval","line",{getPoints:function(r){return UVt(r)},draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=bo(E({},t),["fill"]),i=this.parsePath(BE(r.points,!1)),a=e.addShape("path",{attrs:E(E({},n),{path:i}),name:"interval"});return a},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){return[["M",t,n-i],["L",t,n+i]]},style:{r:5,stroke:e}}}});or("interval","pyramid",{getPoints:function(r){return r.size=r.size*2,d1(r)},draw:function(r,e){var t=gn(r,!1,!0),n=this.parsePath(AO(r.points,r.nextPoints,!0)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});var kit=U(q());function jVt(r){var e=r.x,t=r.y,n=r.y0,i=r.size,a,o;(0,kit.isArray)(t)?(a=t[0],o=t[1]):(a=n,o=t);var s=e+i/2,l=e-i/2;return[{x:e,y:a},{x:e,y:o},{x:l,y:a},{x:s,y:a},{x:l,y:o},{x:s,y:o}]}function WVt(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["M",r[4].x,r[4].y],["L",r[5].x,r[5].y]]}or("interval","tick",{getPoints:function(r){return jVt(r)},draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(WVt(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){return[["M",t-i/2,n-i],["L",t+i/2,n-i],["M",t,n-i],["L",t,n+i],["M",t-i/2,n+i],["L",t+i/2,n+i]]},style:{r:5,stroke:e}}}});var LO=U(q());var VVt=function(r,e,t){var n=r.x,i=r.y,a=e.x,o=e.y,s;switch(t){case"hv":s=[{x:a,y:i}];break;case"vh":s=[{x:n,y:o}];break;case"hvh":var l=(a+n)/2;s=[{x:l,y:i},{x:l,y:o}];break;case"vhv":var u=(i+o)/2;s=[{x:n,y:u},{x:a,y:u}];break;default:break}return s};function HVt(r,e){var t=[];return(0,LO.each)(r,function(n,i){var a=r[i+1];if(t.push(n),a){var o=VVt(n,a,e);t=t.concat(o)}}),t}function YVt(r){return r.map(function(e,t){return t===0?["M",e.x,e.y]:["L",e.x,e.y]})}function XVt(r,e){var t=bm(r.points,r.connectNulls,r.showSinglePoint),n=[];return(0,LO.each)(t,function(i){var a=HVt(i,e);n=n.concat(YVt(a))}),E(E({},gn(r,!0,!1,"lineWidth")),{path:n})}(0,LO.each)(["hv","vh","hvh","vhv"],function(r){or("line",r,{draw:function(e,t){var n=XVt(e,r),i=t.addShape({type:"path",attrs:n,name:"line"});return i},getMarker:function(e){return iO(e,r)}})});var Rit=U(q());(0,Rit.each)(Eit,function(r){or("point",r,{draw:function(e,t){return v1(this,e,t,r,!0)},getMarker:function(e){var t=e.color;return{symbol:tf[r],style:{r:4.5,stroke:t,fill:null}}}})});or("point","image",{draw:function(r,e){var t=gn(r,!1,!1,"r").r,n=this.parsePoints(r.points),i=n[0];if(r.isStack)i=n[1];else if(n.length>1){for(var a=e.addGroup(),o=0,s=n;o1?e[1]:t,a=e.length>3?e[3]:n,o=e.length>2?e[2]:i;return{min:t,max:n,min1:i,max1:a,median:o}}function Bit(r,e,t){var n=t/2,i;if((0,jE.isArray)(e)){var a=Fit(e),o=a.min,s=a.max,l=a.median,u=a.min1,f=a.max1,c=r-n,h=r+n;i=[[c,s],[h,s],[r,s],[r,f],[c,u],[c,f],[h,f],[h,u],[r,u],[r,o],[c,o],[h,o],[c,l],[h,l]]}else{e=(0,jE.isNil)(e)?.5:e;var d=Fit(r),o=d.min,s=d.max,l=d.median,u=d.min1,f=d.max1,p=e-n,v=e+n;i=[[o,p],[o,v],[o,e],[u,e],[u,p],[u,v],[f,v],[f,p],[f,e],[s,e],[s,p],[s,v],[l,p],[l,v]]}return i.map(function(m){return{x:m[0],y:m[1]}})}function qVt(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["M",r[4].x,r[4].y],["L",r[5].x,r[5].y],["L",r[6].x,r[6].y],["L",r[7].x,r[7].y],["L",r[4].x,r[4].y],["Z"],["M",r[8].x,r[8].y],["L",r[9].x,r[9].y],["M",r[10].x,r[10].y],["L",r[11].x,r[11].y],["M",r[12].x,r[12].y],["L",r[13].x,r[13].y]]}or("schema","box",{getPoints:function(r){var e=r.x,t=r.y,n=r.size;return Bit(e,t,n)},draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(qVt(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n,name:"schema"})});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){var a=[n-6,n-3,n,n+3,n+6],o=Bit(t,a,i);return[["M",o[0].x+1,o[0].y],["L",o[1].x-1,o[1].y],["M",o[2].x,o[2].y],["L",o[3].x,o[3].y],["M",o[4].x,o[4].y],["L",o[5].x,o[5].y],["L",o[6].x,o[6].y],["L",o[7].x,o[7].y],["L",o[4].x,o[4].y],["Z"],["M",o[8].x,o[8].y],["L",o[9].x,o[9].y],["M",o[10].x+1,o[10].y],["L",o[11].x-1,o[11].y],["M",o[12].x,o[12].y],["L",o[13].x,o[13].y]]},style:{r:6,lineWidth:1,stroke:e}}}});var Git=U(q());function KVt(r){var e=(0,Git.isArray)(r)?r:[r],t=e.sort(function(n,i){return i-n});return frt(t,4,t[t.length-1])}function zit(r,e,t){var n=KVt(e);return[{x:r,y:n[0]},{x:r,y:n[1]},{x:r-t/2,y:n[2]},{x:r-t/2,y:n[1]},{x:r+t/2,y:n[1]},{x:r+t/2,y:n[2]},{x:r,y:n[2]},{x:r,y:n[3]}]}function ZVt(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["L",r[4].x,r[4].y],["L",r[5].x,r[5].y],["Z"],["M",r[6].x,r[6].y],["L",r[7].x,r[7].y]]}or("schema","candle",{getPoints:function(r){var e=r.x,t=r.y,n=r.size;return zit(e,t,n)},draw:function(r,e){var t=gn(r,!0,!0),n=this.parsePath(ZVt(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n,name:"schema"})});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){var a=[n+7.5,n+3,n-3,n-7.5],o=zit(t,a,i);return[["M",o[0].x,o[0].y],["L",o[1].x,o[1].y],["M",o[2].x,o[2].y],["L",o[3].x,o[3].y],["L",o[4].x,o[4].y],["L",o[5].x,o[5].y],["Z"],["M",o[6].x,o[6].y],["L",o[7].x,o[7].y]]},style:{lineWidth:1,stroke:e,fill:e,r:6}}}});var OO=U(q());function $Vt(r,e){var t=Math.abs(r[0].x-r[2].x),n=Math.abs(r[0].y-r[2].y),i=Math.min(t,n);e&&(i=(0,OO.clamp)(e,0,Math.min(t,n))),i=i/2;var a=(r[0].x+r[2].x)/2,o=(r[0].y+r[2].y)/2;return{x:a-i,y:o-i,width:i*2,height:i*2}}or("polygon","square",{draw:function(r,e){if(!(0,OO.isEmpty)(r.points)){var t=gn(r,!0,!0),n=this.parsePoints(r.points);return e.addShape("rect",{attrs:E(E({},t),$Vt(n,r.size)),name:"polygon"})}},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});or("violin","smooth",{draw:function(r,e){var t=gn(r,!0,!0),n=this.parsePath(rO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{stroke:null,r:4,fill:e}}}});or("violin","hollow",{draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(eO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{r:4,fill:null,stroke:e}}}});or("violin","hollow-smooth",{draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(rO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{r:4,fill:null,stroke:e}}}});var Xs=U(q());var QVt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getLabelValueDir=function(t){var n="y",i=t.points;return i[0][n]<=i[2][n]?1:-1},e.prototype.getLabelOffsetPoint=function(t,n,i,a){var o,s=r.prototype.getLabelOffsetPoint.call(this,t,n,i),l=this.getCoordinate(),u=l.isTransposed,f=u?"x":"y",c=this.getLabelValueDir(t.mappingData);return s=E(E({},s),(o={},o[f]=s[f]*c,o)),l.isReflect("x")&&(s=E(E({},s),{x:s.x*-1})),l.isReflect("y")&&(s=E(E({},s),{y:s.y*-1})),s},e.prototype.getThemedLabelCfg=function(t){var n=this.geometry,i=this.getDefaultLabelCfg(),a=n.theme;return(0,Xs.deepMix)({},i,a.labels,t.position==="middle"?{offset:0}:{},t)},e.prototype.setLabelPosition=function(t,n,i,a){var o=this.getCoordinate(),s=o.isTransposed,l=n.points,u=o.convert(l[0]),f=o.convert(l[2]),c=this.getLabelValueDir(n),h,d,p,v,m=(0,Xs.isArray)(n.shape)?n.shape[0]:n.shape;if(m==="funnel"||m==="pyramid"){var g=(0,Xs.get)(n,"nextPoints"),x=(0,Xs.get)(n,"points");if(g){var b=o.convert(x[0]),S=o.convert(x[1]),C=o.convert(g[0]),w=o.convert(g[1]);s?(h=Math.min(C.y,b.y),p=Math.max(C.y,b.y),d=(S.x+w.x)/2,v=(b.x+C.x)/2):(h=Math.min((S.y+w.y)/2,(b.y+C.y)/2),p=Math.max((S.y+w.y)/2,(b.y+C.y)/2),d=w.x,v=b.x)}else h=Math.min(f.y,u.y),p=Math.max(f.y,u.y),d=f.x,v=u.x}else h=Math.min(f.y,u.y),p=Math.max(f.y,u.y),d=f.x,v=u.x;switch(a){case"right":t.x=d,t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign",c>0?"left":"right");break;case"left":t.x=v,t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign",c>0?"left":"right");break;case"bottom":s&&(t.x=(d+v)/2),t.y=p,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline",c>0?"bottom":"top");break;case"middle":s&&(t.x=(d+v)/2),t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline","middle");break;case"top":s&&(t.x=(d+v)/2),t.y=h,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline",c>0?"bottom":"top");break;default:break}},e}(Ch),Uit=QVt;var o0=U(q());var qs=U(q());var DO=Math.PI/2,JVt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getLabelOffset=function(t){var n=this.getCoordinate(),i=0;if((0,qs.isNumber)(t))i=t;else if((0,qs.isString)(t)&&t.indexOf("%")!==-1){var a=n.getRadius();n.innerRadius>0&&(a=a*(1-n.innerRadius)),i=parseFloat(t)*.01*a}return i},e.prototype.getLabelItems=function(t){var n=r.prototype.getLabelItems.call(this,t),i=this.geometry.getYScale();return(0,qs.map)(n,function(a){if(a&&i){var o=i.scale((0,qs.get)(a.data,i.field));return E(E({},a),{percent:o})}return a})},e.prototype.getLabelAlign=function(t){var n=this.getCoordinate(),i;if(t.labelEmit)i=t.angle<=Math.PI/2&&t.angle>=-Math.PI/2?"left":"right";else if(!n.isTransposed)i="center";else{var a=n.getCenter(),o=t.offset;Math.abs(t.x-a.x)<1?i="center":t.angle>Math.PI||t.angle<=0?i=o>0?"left":"right":i=o>0?"right":"left"}return i},e.prototype.getLabelPoint=function(t,n,i){var a=1,o,s=t.content[i];this.isToMiddle(n)?o=this.getMiddlePoint(n.points):(t.content.length===1&&i===0?i=1:i===0&&(a=-1),o=this.getArcPoint(n,i));var l=t.offset*a,u=this.getPointAngle(o),f=t.labelEmit,c=this.getCirclePoint(u,l,o,f);return c.r===0?c.content="":(c.content=s,c.angle=u,c.color=n.color),c.rotate=t.autoRotate?this.getLabelRotate(u,l,f):t.rotate,c.start={x:o.x,y:o.y},c},e.prototype.getArcPoint=function(t,n){return n===void 0&&(n=0),!(0,qs.isArray)(t.x)&&!(0,qs.isArray)(t.y)?{x:t.x,y:t.y}:{x:(0,qs.isArray)(t.x)?t.x[n]:t.x,y:(0,qs.isArray)(t.y)?t.y[n]:t.y}},e.prototype.getPointAngle=function(t){return xh(this.getCoordinate(),t)},e.prototype.getCirclePoint=function(t,n,i,a){var o=this.getCoordinate(),s=o.getCenter(),l=ym(o,i);if(l===0)return E(E({},s),{r:l});var u=t;if(o.isTransposed&&l>n&&!a){var f=Math.asin(n/(2*l));u=t+f*2}else l=l+n;return{x:s.x+l*Math.cos(u),y:s.y+l*Math.sin(u),r:l}},e.prototype.getLabelRotate=function(t,n,i){var a=t+DO;return i&&(a-=DO),a&&(a>DO?a=a-Math.PI:a<-DO&&(a=a+Math.PI)),a},e.prototype.getMiddlePoint=function(t){var n=this.getCoordinate(),i=t.length,a={x:0,y:0};return(0,qs.each)(t,function(o){a.x+=o.x,a.y+=o.y}),a.x/=i,a.y/=i,a=n.convert(a),a},e.prototype.isToMiddle=function(t){return t.x.length>2},e}(Ch),PO=JVt;var t8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.defaultLayout="distribute",t}return e.prototype.getDefaultLabelCfg=function(t,n){var i=r.prototype.getDefaultLabelCfg.call(this,t,n);return(0,o0.deepMix)({},i,(0,o0.get)(this.geometry.theme,"pieLabels",{}))},e.prototype.getLabelOffset=function(t){return r.prototype.getLabelOffset.call(this,t)||0},e.prototype.getLabelRotate=function(t,n,i){var a;return n<0&&(a=t,a>Math.PI/2&&(a=a-Math.PI),a<-Math.PI/2&&(a=a+Math.PI)),a},e.prototype.getLabelAlign=function(t){var n=this.getCoordinate(),i=n.getCenter(),a;return t.angle<=Math.PI/2&&t.x>=i.x?a="left":a="right",t.offset<=0&&(a==="right"?a="left":a="right"),a},e.prototype.getArcPoint=function(t){return t},e.prototype.getPointAngle=function(t){var n=this.getCoordinate(),i={x:(0,o0.isArray)(t.x)?t.x[0]:t.x,y:t.y[0]},a={x:(0,o0.isArray)(t.x)?t.x[1]:t.x,y:t.y[1]},o,s=xh(n,i);if(t.points&&t.points[0].y===t.points[1].y)o=s;else{var l=xh(n,a);s>=l&&(l=l+Math.PI*2),o=s+(l-s)/2}return o},e.prototype.getCirclePoint=function(t,n){var i=this.getCoordinate(),a=i.getCenter(),o=i.getRadius()+n;return E(E({},Ri(a.x,a.y,o,t)),{angle:t,r:o})},e}(PO),jit=t8t;var Cp=U(q());var Wit=4;function e8t(r,e,t,n,i,a){var o=!0,s=n.start,l=n.end,u=Math.min(s.y,l.y),f=Math.abs(s.y-l.y),c,h=0,d=Number.MIN_VALUE,p=e.map(function(C){return C.y>h&&(h=C.y),C.yf&&(f=h-u);o;)for(p.forEach(function(C){var w=(Math.min.apply(d,C.targets)+Math.max.apply(d,C.targets))/2;C.pos=Math.min(Math.max(d,w-C.size/2),f-C.size)}),o=!1,c=p.length;c--;)if(c>0){var v=p[c-1],m=p[c];v.pos+v.size>m.pos&&(v.size+=m.size,v.targets=v.targets.concat(m.targets),v.pos+v.size>f&&(v.pos=f-v.size),p.splice(c,1),o=!0)}c=0,p.forEach(function(C){var w=u+t/2;C.targets.forEach(function(){e[c].y=C.pos+w,w+=t,c++})});for(var g={},x=0,b=r;x0){var l=14,u=o+i,f=u*2+l*2,c={start:a.start,end:a.end},h=[[],[]];r.forEach(function(d){!d||(d.textAlign==="right"?h[0].push(d):h[1].push(d))}),h.forEach(function(d,p){var v=f/l;d.length>v&&(d.sort(function(m,g){return g["..percent"]-m["..percent"]}),d.splice(v,d.length-v)),d.sort(function(m,g){return m.y-g.y}),e8t(e,d,l,c,s,p)})}(0,Cp.each)(r,function(d){if(d&&d.labelLine){var p=d.offset,v=d.angle,m=Ri(s.x,s.y,o,v),g=Ri(s.x,s.y,o+p/2,v),x=d.x+(0,Cp.get)(d,"offsetX",0),b=d.y+(0,Cp.get)(d,"offsetY",0),S={x:x-Math.cos(v)*Wit,y:b-Math.sin(v)*Wit};(0,Cp.isObject)(d.labelLine)||(d.labelLine={}),d.labelLine.path=["M ".concat(m.x),"".concat(m.y," Q").concat(g.x),"".concat(g.y," ").concat(S.x),S.y].join(",")}})}}var jo=U(q());function kO(r,e,t){var n=r.filter(function(p){return!p.invisible});n.sort(function(p,v){return p.y-v.y});var i=!0,a=t.minY,o=t.maxY,s=Math.abs(a-o),l,u=0,f=Number.MIN_VALUE,c=n.map(function(p){return p.y>u&&(u=p.y),p.ys&&(s=u-a);i;)for(c.forEach(function(p){var v=(Math.min.apply(f,p.targets)+Math.max.apply(f,p.targets))/2;p.pos=Math.min(Math.max(f,v-p.size/2),s-p.size),p.pos=Math.max(0,p.pos)}),i=!1,l=c.length;l--;)if(l>0){var h=c[l-1],d=c[l];h.pos+h.size>d.pos&&(h.size+=d.size,h.targets=h.targets.concat(d.targets),h.pos+h.size>s&&(h.pos=s-h.size),c.splice(l,1),i=!0)}l=0,c.forEach(function(p){var v=a+e/2;p.targets.forEach(function(){n[l].y=p.pos+v,v+=e,l++})})}var Hit=4;function r8t(r,e){var t=e.getCenter(),n=e.getRadius();if(r&&r.labelLine){var i=r.angle,a=r.offset,o=Ri(t.x,t.y,n,i),s=r.x+(0,jo.get)(r,"offsetX",0)*(Math.cos(i)>0?1:-1),l=r.y+(0,jo.get)(r,"offsetY",0)*(Math.sin(i)>0?1:-1),u={x:s-Math.cos(i)*Hit,y:l-Math.sin(i)*Hit},f=r.labelLine.smooth,c=[],h=u.x-t.x,d=u.y-t.y,p=Math.atan(d/h);if(h<0&&(p+=Math.PI),f===!1){(0,jo.isObject)(r.labelLine)||(r.labelLine={});var v=0;(i<0&&i>-Math.PI/2||i>Math.PI*1.5)&&u.y>o.y&&(v=1),i>=0&&io.y&&(v=1),i>=Math.PI/2&&iu.y&&(v=1),(i<-Math.PI/2||i>=Math.PI&&iu.y&&(v=1);var m=a/2>4?4:Math.max(a/2-1,0),g=Ri(t.x,t.y,n+m,i),x=Ri(t.x,t.y,n+a/2,p),b=0;c.push("M ".concat(o.x," ").concat(o.y)),c.push("L ".concat(g.x," ").concat(g.y)),c.push("A ".concat(t.x," ").concat(t.y," 0 ").concat(b," ").concat(v," ").concat(x.x," ").concat(x.y)),c.push("L ".concat(u.x," ").concat(u.y))}else{var g=Ri(t.x,t.y,n+(a/2>4?4:Math.max(a/2-1,0)),i),S=o.xMath.pow(Math.E,-16)&&c.push.apply(c,["C",u.x+S*4,u.y,2*g.x-o.x,2*g.y-o.y,o.x,o.y]),c.push("L ".concat(o.x," ").concat(o.y))}r.labelLine.path=c.join(" ")}}function Yit(r,e,t,n){var i=(0,jo.filter)(r,function(w){return!(0,jo.isNil)(w)}),a=e[0]&&e[0].get("coordinate");if(!!a){for(var o=a.getCenter(),s=a.getRadius(),l={},u=0,f=e;uI&&(w.sort(function(P,L){return L.percent-P.percent}),(0,jo.each)(w,function(P,L){L+1>I&&(l[P.id].set("visible",!1),P.invisible=!0)})),kO(w,h,C)}),(0,jo.each)(m,function(w,A){(0,jo.each)(w,function(I){var P=A===v,L=l[I.id],M=L.getChildByIndex(0);if(M){var O=s+d,F=I.y-o.y,k=Math.pow(O,2),G=Math.pow(F,2),D=k-G>0?k-G:0,N=Math.sqrt(D),z=Math.abs(Math.cos(I.angle)*O);P?I.x=o.x+Math.max(N,z):I.x=o.x-Math.max(N,z)}M&&(M.attr("y",I.y),M.attr("x",I.x)),r8t(I,a)})})}}}var Wo=U(q());var $U=4,n8t=4,Xit=4;function i8t(r,e,t){var n=e.getCenter(),i=e.getRadius(),a={x:r.x-(t?Xit:-Xit),y:r.y},o=Ri(n.x,n.y,i+$U,r.angle),s={x:a.x,y:a.y},l={x:o.x,y:o.y},u=Ri(n.x,n.y,i,r.angle),f="";if(a.y!==o.y){var c=t?4:-4;s.y=a.y,r.angle<0&&r.angle>=-Math.PI/2&&(s.x=Math.max(o.x,a.x-c),a.y0&&r.angleo.y?l.y=s.y:(l.y=o.y,l.x=Math.max(l.x,s.x-c))),r.angle>Math.PI/2&&(s.x=Math.min(o.x,a.x-c),a.y>o.y?l.y=s.y:(l.y=o.y,l.x=Math.min(l.x,s.x-c))),r.angle<-Math.PI/2&&(s.x=Math.min(o.x,a.x-c),a.ya.x||w.x===a.x&&w.y>a.y,P=(0,Wo.isNil)(w.offsetX)?n8t:w.offsetX,L=Ri(a.x,a.y,o+$U,w.angle),M=h+P;w.x=a.x+(I?1:-1)*(o+M),w.y=L.y}});var d=i.start,p=i.end,v="left",m="right",g=(0,Wo.groupBy)(r,function(w){return w.xx&&(x=Math.min(A,Math.abs(d.y-p.y)))});var b={minX:d.x,maxX:p.x,minY:a.y-x/2,maxY:a.y+x/2};(0,Wo.each)(g,function(w,A){var I=x/c;w.length>I&&(w.sort(function(P,L){return L.percent-P.percent}),(0,Wo.each)(w,function(P,L){L>I&&(s[P.id].set("visible",!1),P.invisible=!0)})),kO(w,c,b)});var S=b.minY,C=b.maxY;(0,Wo.each)(g,function(w,A){var I=A===m;(0,Wo.each)(w,function(P){var L=(0,Wo.get)(s,P&&[P.id]);if(!!L){if(P.yC){L.set("visible",!1);return}var M=L.getChildByIndex(0),O=M.getCanvasBBox(),F={x:I?O.x:O.maxX,y:O.y+O.height/2};Sh(M,P.x-F.x,P.y-F.y),P.labelLine&&i8t(P,i,I)}})})}}var Kit=U(q());function Zit(r,e,t,n){(0,Kit.each)(e,function(i){var a=n.minX,o=n.minY,s=n.maxX,l=n.maxY,u=i.getCanvasBBox(),f=u.minX,c=u.minY,h=u.maxX,d=u.maxY,p=u.x,v=u.y,m=u.width,g=u.height,x=p,b=v;(fs?x=s-m:h>s&&(x=x-(h-s)),c>l?b=l-g:d>l&&(b=b-(d-l)),(x!==p||b!==v)&&Sh(i,x-p,b-v)})}var $it=U(q());function Qit(r,e,t,n){(0,$it.each)(e,function(i,a){var o=i.getCanvasBBox(),s=t[a].getBBox();(o.minXs.maxX||o.maxY>s.maxY)&&i.remove(!0)})}var QU=U(q()),a8t=100,Jit=function(){function r(e){e===void 0&&(e={}),this.bitmap={};var t=e.xGap,n=t===void 0?1:t,i=e.yGap,a=i===void 0?8:i;this.xGap=n,this.yGap=a}return r.prototype.hasGap=function(e){for(var t=!0,n=this.bitmap,i=Math.round(e.minX),a=Math.round(e.maxX),o=Math.round(e.minY),s=Math.round(e.maxY),l=i;l<=a;l+=1){if(!n[l]){n[l]={};continue}if(l===i||l===a){for(var u=o;u<=s;u++)if(n[l][u]){t=!1;break}}else if(n[l][o]||n[l][s]){t=!1;break}}return t},r.prototype.fillGap=function(e){for(var t=this.bitmap,n=Math.round(e.minX),i=Math.round(e.maxX),a=Math.round(e.minY),o=Math.round(e.maxY),s=n;s<=i;s+=1)t[s]||(t[s]={});for(var s=n;s<=i;s+=this.xGap){for(var l=a;l<=o;l+=this.yGap)t[s][l]=!0;t[s][o]=!0}if(this.yGap!==1)for(var s=a;s<=o;s+=1)t[n][s]=!0,t[i][s]=!0;if(this.xGap!==1)for(var s=n;s<=i;s+=1)t[s][a]=!0,t[s][o]=!0},r.prototype.destroy=function(){this.bitmap={}},r}();function o8t(r,e,t){t===void 0&&(t=a8t);var n=-1,i=r.attr(),a=i.x,o=i.y,s=r.getCanvasBBox(),l=Math.sqrt(s.width*s.width+s.height*s.height),u,f=-n,c=0,h=0,d=function(g){var x=g*.1;return[x*Math.cos(x),x*Math.sin(x)]};if(e.hasGap(s))return e.fillGap(s),!0;for(var p=!1,v=0,m={};Math.min(Math.abs(c),Math.abs(h))4)return[];var e=function(i,a){return[a.x-i.x,a.y-i.y]},t=e(r[0],r[1]),n=e(r[1],r[2]);return[t,n]}function RO(r,e,t){e===void 0&&(e=0),t===void 0&&(t={x:0,y:0});var n=r.x,i=r.y;return{x:(n-t.x)*Math.cos(-e)+(i-t.y)*Math.sin(-e)+t.x,y:(t.x-n)*Math.sin(-e)+(i-t.y)*Math.cos(-e)+t.y}}function iat(r){var e=[{x:r.x,y:r.y},{x:r.x+r.width,y:r.y},{x:r.x+r.width,y:r.y+r.height},{x:r.x,y:r.y+r.height}],t=r.rotation;return t?[RO(e[0],t,e[0]),RO(e[1],t,e[0]),RO(e[2],t,e[0]),RO(e[3],t,e[0])]:e}function aat(r,e){if(r.length>4)return{min:0,max:0};var t=[];return r.forEach(function(n){t.push(l8t([n.x,n.y],e))}),{min:Math.min.apply(Math,t),max:Math.max.apply(Math,t)}}function u8t(r,e){return r.max>e.min&&r.minr.x+r.width+t||e.x+e.widthr.y+r.height+t||e.y+e.height=a.height:o.width>=a.width}function d8t(r,e,t){var n=!!r.getAdjust("stack");return n||e.every(function(i,a){var o=t[a];return h8t(r,i,o)})}function p8t(r,e,t){var n=r.coordinate,i=ba.fromObject(t.getBBox()),a=ac(e);n.isTransposed?a.attr({x:i.minX+i.width/2,textAlign:"center"}):a.attr({y:i.minY+i.height/2,textBaseline:"middle"})}function hat(r,e,t){var n;if(t.length!==0){var i=(n=t[0])===null||n===void 0?void 0:n.get("element"),a=i==null?void 0:i.geometry;if(!(!a||a.type!=="interval")){var o=d8t(a,e,t);o&&t.forEach(function(s,l){var u=e[l];p8t(a,u,s)})}}}var rf=U(q());function v8t(r){var e=500,t=[],n=Math.max(Math.floor(r.length/e),1);return(0,rf.each)(r,function(i,a){a%n==0?t.push(i):i.set("visible",!1)}),t}function dat(r,e,t){var n;if(t.length!==0){var i=(n=t[0])===null||n===void 0?void 0:n.get("element"),a=i==null?void 0:i.geometry;if(!(!a||a.type!=="interval")){var o=v8t(e),s=a.getXYFields()[0],l=[],u=[],f=(0,rf.groupBy)(o,function(v){return v.get("data")[s]}),c=(0,rf.uniq)((0,rf.map)(o,function(v){return v.get("data")[s]})),h;o.forEach(function(v){v.set("visible",!0)});var d=function(v){v&&(v.length&&u.push(v.pop()),u.push.apply(u,v))};for((0,rf.size)(c)>0&&(h=c.shift(),d(f[h])),(0,rf.size)(c)>0&&(h=c.pop(),d(f[h])),(0,rf.each)(c.reverse(),function(v){d(f[v])});u.length>0;){var p=u.shift();p.get("visible")&&(ont(p,l)?p.set("visible",!1):l.push(p))}}}}var m1=U(q());function m8t(r,e){var t=r.getXYFields()[1],n=[],i=e.sort(function(a,o){return a.get("data")[t]-a.get("data")[t]});return i.length>0&&n.push(i.shift()),i.length>0&&n.push(i.pop()),n.push.apply(n,i),n}function pat(r,e,t){return r.some(function(n){return t(n,e)})}function g8t(r,e,t){t===void 0&&(t=0);var n=Math.max(0,Math.min(r.x+r.width+t,e.x+e.width+t)-Math.max(r.x-t,e.x-t)),i=Math.max(0,Math.min(r.y+r.height+t,e.y+e.height+t)-Math.max(r.y-t,e.y-t));return n*i}function vat(r,e){return pat(r,e,function(t,n){var i=ac(t),a=ac(n);return g8t(i.getCanvasBBox(),a.getCanvasBBox(),2)>0})}function mat(r,e,t,n,i){var a,o;if(t.length!==0){var s=(a=t[0])===null||a===void 0?void 0:a.get("element"),l=s==null?void 0:s.geometry;if(!(!l||l.type!=="point")){var u=l.getXYFields(),f=u[0],c=u[1],h=(0,m1.groupBy)(e,function(v){return v.get("data")[f]}),d=[],p=i&&i.offset||((o=r[0])===null||o===void 0?void 0:o.offset)||12;(0,m1.map)((0,m1.keys)(h).reverse(),function(v){for(var m=m8t(l,h[v]);m.length;){var g=m.shift(),x=ac(g);if(pat(d,g,function(C,w){return C.get("data")[f]===w.get("data")[f]&&C.get("data")[c]===w.get("data")[c]})){x.set("visible",!1);continue}var b=vat(d,g),S=!1;if(b&&(x.attr("y",x.attr("y")+2*p),S=vat(d,g)),S){x.set("visible",!1);continue}d.push(g)}})}}}var g1=U(q());function y8t(r,e){var t=r.getXYFields()[1],n=[],i=e.sort(function(a,o){return a.get("data")[t]-a.get("data")[t]});return i.length>0&&n.push(i.shift()),i.length>0&&n.push(i.pop()),n.push.apply(n,i),n}function gat(r,e,t){return r.some(function(n){return t(n,e)})}function x8t(r,e,t){t===void 0&&(t=0);var n=Math.max(0,Math.min(r.x+r.width+t,e.x+e.width+t)-Math.max(r.x-t,e.x-t)),i=Math.max(0,Math.min(r.y+r.height+t,e.y+e.height+t)-Math.max(r.y-t,e.y-t));return n*i}function yat(r,e){return gat(r,e,function(t,n){var i=ac(t),a=ac(n);return x8t(i.getCanvasBBox(),a.getCanvasBBox(),2)>0})}function xat(r,e,t,n,i){var a,o;if(t.length!==0){var s=(a=t[0])===null||a===void 0?void 0:a.get("element"),l=s==null?void 0:s.geometry;if(!(!l||["path","line","area"].indexOf(l.type)<0)){var u=l.getXYFields(),f=u[0],c=u[1],h=(0,g1.groupBy)(e,function(v){return v.get("data")[f]}),d=[],p=i&&i.offset||((o=r[0])===null||o===void 0?void 0:o.offset)||12;(0,g1.map)((0,g1.keys)(h).reverse(),function(v){for(var m=y8t(l,h[v]);m.length;){var g=m.shift(),x=ac(g);if(gat(d,g,function(C,w){return C.get("data")[f]===w.get("data")[f]&&C.get("data")[c]===w.get("data")[c]})){x.set("visible",!1);continue}var b=yat(d,g),S=!1;if(b&&(x.attr("y",x.attr("y")+2*p),S=yat(d,g)),S){x.set("visible",!1);continue}d.push(g)}})}}}var FO=U(q());var wp=U(q());var tj;function bat(){return tj||(tj=document.createElement("canvas").getContext("2d")),tj}var NO=(0,wp.memoize)(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,o=e.fontVariant,s=bat();return s.font=[a,o,i,"".concat(t,"px"),n].join(" "),s.measureText((0,wp.isString)(r)?r:"").width},function(r,e){return e===void 0&&(e={}),mn([r],(0,wp.values)(e),!0).join("")}),_at=function(r,e,t){var n=16,i=NO("...",t),a;(0,wp.isString)(r)?a=r:a=(0,wp.toString)(r);var o=e,s=[],l,u;if(NO(r,t)<=e)return r;for(;l=a.substr(0,n),u=NO(l,t),!(u+i>o&&u>o);)if(s.push(l),o-=u,a=a.substr(n),!a)return s.join("");for(;l=a.substr(0,1),u=NO(l,t),!(u+i>o);)if(s.push(l),o-=u,a=a.substr(1),!a)return s.join("");return"".concat(s.join(""),"...")};function Sat(r,e,t,n,i){if(!(e.length<=0)){var a=(i==null?void 0:i.direction)||["top","right","bottom","left"],o=(i==null?void 0:i.action)||"translate",s=(i==null?void 0:i.margin)||0,l=e[0].get("coordinate");if(!!l){var u=drt(l,s),f=u.minX,c=u.minY,h=u.maxX,d=u.maxY;(0,FO.each)(e,function(p){var v=p.getCanvasBBox(),m=v.minX,g=v.minY,x=v.maxX,b=v.maxY,S=v.x,C=v.y,w=v.width,A=v.height,I=S,P=C;if(a.indexOf("left")>=0&&(m=0&&(g=0&&(m>h?I=h-w:x>h&&(I=I-(x-h))),a.indexOf("bottom")>=0&&(g>d?P=d-A:b>d&&(P=P-(b-d))),I!==S||P!==C){var L=I-S;if(o==="translate")Sh(p,L,P-C);else if(o==="ellipsis"){var M=p.findAll(function(O){return O.get("type")==="text"});M.forEach(function(O){var F=(0,FO.pick)(O.attr(),["fontSize","fontFamily","fontWeight","fontStyle","fontVariant"]),k=O.getCanvasBBox(),G=_at(O.attr("text"),k.width-Math.abs(L),F);O.attr("text",G)})}else p.hide()}})}}}var BO=U(q());function Cat(r,e,t){var n={fillOpacity:(0,BO.isNil)(r.attr("fillOpacity"))?1:r.attr("fillOpacity"),strokeOpacity:(0,BO.isNil)(r.attr("strokeOpacity"))?1:r.attr("strokeOpacity"),opacity:(0,BO.isNil)(r.attr("opacity"))?1:r.attr("opacity")};r.attr({fillOpacity:0,strokeOpacity:0,opacity:0}),r.animate(n,e)}function wat(r,e,t){var n={fillOpacity:0,strokeOpacity:0,opacity:0},i=e.easing,a=e.duration,o=e.delay;r.animate(n,a,i,function(){r.remove(!0)},o)}function b8t(r,e,t){var n,i=e[0],a=e[1];return r.applyToMatrix([i,a,1]),t==="x"?(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",.01,1],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",100,1],["t",i,a]])):t==="y"?(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",1,.01],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",1,100],["t",i,a]])):t==="xy"&&(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",.01,.01],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",100,100],["t",i,a]])),n}function GO(r,e,t,n,i){var a=t.start,o=t.end,s=t.getWidth(),l=t.getHeight(),u,f;i==="y"?(u=a.x+s/2,f=n.ya.x?n.x:a.x,f=a.y+l/2):i==="xy"&&(t.isPolar?(u=t.getCenter().x,f=t.getCenter().y):(u=(a.x+o.x)/2,f=(a.y+o.y)/2));var c=b8t(r,[u,f],i);r.animate({matrix:c},e)}function Eat(r,e,t){var n=t.coordinate,i=t.minYPoint;GO(r,e,n,i,"x")}function Aat(r,e,t){var n=t.coordinate,i=t.minYPoint;GO(r,e,n,i,"y")}function Mat(r,e,t){var n=t.coordinate,i=t.minYPoint;GO(r,e,n,i,"xy")}function Tat(r,e,t){var n=r.getTotalLength();r.attr("lineDash",[n]),r.animate(function(i){return{lineDashOffset:(1-i)*n}},e)}function Iat(r,e,t){var n=t.toAttrs,i=n.x,a=n.y;delete n.x,delete n.y,r.attr(n),r.animate({x:i,y:a},e)}function Lat(r,e,t){var n=r.getBBox(),i=r.get("origin").mappingData,a=i.points,o=a[0].y-a[1].y>0?n.maxX:n.minX,s=(n.minY+n.maxY)/2;r.applyToMatrix([o,s,1]);var l=gr.transform(r.getMatrix(),[["t",-o,-s],["s",.01,1],["t",o,s]]);r.setMatrix(l),r.animate({matrix:gr.transform(r.getMatrix(),[["t",-o,-s],["s",100,1],["t",o,s]])},e)}function Oat(r,e,t){var n=r.getBBox(),i=r.get("origin").mappingData,a=(n.minX+n.maxX)/2,o=i.points,s=o[0].y-o[1].y<=0?n.maxY:n.minY;r.applyToMatrix([a,s,1]);var l=gr.transform(r.getMatrix(),[["t",-a,-s],["s",1,.01],["t",a,s]]);r.setMatrix(l),r.animate({matrix:gr.transform(r.getMatrix(),[["t",-a,-s],["s",1,100],["t",a,s]])},e)}var Ep=U(q());function Dat(r,e){var t,n=Sm(r,e),i=n.startAngle,a=n.endAngle;return!(0,Ep.isNumberEqual)(i,-Math.PI*.5)&&i<-Math.PI*.5&&(i+=Math.PI*2),!(0,Ep.isNumberEqual)(a,-Math.PI*.5)&&a<-Math.PI*.5&&(a+=Math.PI*2),e[5]===0&&(t=[a,i],i=t[0],a=t[1]),(0,Ep.isNumberEqual)(i,Math.PI*1.5)&&(i=Math.PI*-.5),(0,Ep.isNumberEqual)(a,Math.PI*-.5)&&(a=Math.PI*1.5),{startAngle:i,endAngle:a}}function Pat(r){var e;return r[0]==="M"||r[0]==="L"?e=[r[1],r[2]]:(r[0]==="a"||r[0]==="A"||r[0]==="C")&&(e=[r[r.length-2],r[r.length-1]]),e}function kat(r){var e,t,n,i=r.filter(function(b){return b[0]==="A"||b[0]==="a"});if(i.length===0)return{startAngle:0,endAngle:0,radius:0,innerRadius:0};var a=i[0],o=i.length>1?i[1]:i[0],s=r.indexOf(a),l=r.indexOf(o),u=Pat(r[s-1]),f=Pat(r[l-1]),c=Dat(u,a),h=c.startAngle,d=c.endAngle,p=Dat(f,o),v=p.startAngle,m=p.endAngle;(0,Ep.isNumberEqual)(h,v)&&(0,Ep.isNumberEqual)(d,m)?(t=h,n=d):(t=Math.min(h,v),n=Math.max(d,m));var g=a[1],x=i[i.length-1][1];return g=0;s--)for(var l=this.getFacetsByLevel(t,s),u=0,f=l;u=d){var m=i.parsePosition([p[l],p[s.field]]);m&&h.push(m)}if(p[l]===c)return!1}),h},e.prototype.parsePercentPosition=function(t){var n=parseFloat(t[0])/100,i=parseFloat(t[1])/100,a=this.view.getCoordinate(),o=a.start,s=a.end,l={x:Math.min(o.x,s.x),y:Math.min(o.y,s.y)},u=a.getWidth()*n+l.x,f=a.getHeight()*i+l.y;return{x:u,y:f}},e.prototype.getCoordinateBBox=function(){var t=this.view.getCoordinate(),n=t.start,i=t.end,a=t.getWidth(),o=t.getHeight(),s={x:Math.min(n.x,i.x),y:Math.min(n.y,i.y)};return{x:s.x,y:s.y,minX:s.x,minY:s.y,maxX:s.x+a,maxY:s.y+o,width:a,height:o}},e.prototype.getAnnotationCfg=function(t,n,i){var a=this,o=this.view.getCoordinate(),s=this.view.getCanvas(),l={};if((0,Cn.isNil)(n))return null;var u=n.start,f=n.end,c=n.position,h=this.parsePosition(u),d=this.parsePosition(f),p=this.parsePosition(c);if(["arc","image","line","region","regionFilter"].includes(t)&&(!h||!d))return null;if(["text","dataMarker","html"].includes(t)&&!p)return null;if(t==="arc"){var v=n,m=v.start,g=v.end,x=rr(v,["start","end"]),b=xh(o,h),S=xh(o,d);b>S&&(S=Math.PI*2+S),l=E(E({},x),{center:o.getCenter(),radius:ym(o,h),startAngle:b,endAngle:S})}else if(t==="image"){var C=n,w=C.start,A=C.end,x=rr(C,["start","end"]);l=E(E({},x),{start:h,end:d,src:n.src})}else if(t==="line"){var I=n,P=I.start,L=I.end,x=rr(I,["start","end"]);l=E(E({},x),{start:h,end:d,text:(0,Cn.get)(n,"text",null)})}else if(t==="region"){var M=n,O=M.start,F=M.end,x=rr(M,["start","end"]);l=E(E({},x),{start:h,end:d})}else if(t==="text"){var k=this.view.getData(),G=n,D=G.position,N=G.content,x=rr(G,["position","content"]),z=N;(0,Cn.isFunction)(N)&&(z=N(k)),l=E(E(E({},p),x),{content:z})}else if(t==="dataMarker"){var j=n,W=j.position,J=j.point,et=j.line,lt=j.text,$=j.autoAdjust,st=j.direction,x=rr(j,["position","point","line","text","autoAdjust","direction"]);l=E(E(E({},x),p),{coordinateBBox:this.getCoordinateBBox(),point:J,line:et,text:lt,autoAdjust:$,direction:st})}else if(t==="dataRegion"){var _t=n,dt=_t.start,vt=_t.end,Tt=_t.region,lt=_t.text,Ut=_t.lineLength,x=rr(_t,["start","end","region","text","lineLength"]);l=E(E({},x),{points:this.getRegionPoints(dt,vt),region:Tt,text:lt,lineLength:Ut})}else if(t==="regionFilter"){var $t=n,Y=$t.start,it=$t.end,K=$t.apply,Rt=$t.color,x=rr($t,["start","end","apply","color"]),Xt=this.view.geometries,Zt=[],Ae=function(Ue){!Ue||(Ue.isGroup()?Ue.getChildren().forEach(function(Ht){return Ae(Ht)}):Zt.push(Ue))};(0,Cn.each)(Xt,function(Ue){K?(0,Cn.contains)(K,Ue.type)&&(0,Cn.each)(Ue.elements,function(Ht){Ae(Ht.shape)}):(0,Cn.each)(Ue.elements,function(Ht){Ae(Ht.shape)})}),l=E(E({},x),{color:Rt,shapes:Zt,start:h,end:d})}else if(t==="shape"){var We=n,$e=We.render,V=rr(We,["render"]),Te=function(ee){if((0,Cn.isFunction)(n.render))return $e(ee,a.view,{parsePosition:a.parsePosition.bind(a)})};l=E(E({},V),{render:Te})}else if(t==="html"){var ne=n,pt=ne.html,Et=ne.position,V=rr(ne,["html","position"]),St=function(Ue){return(0,Cn.isFunction)(pt)?pt(Ue,a.view):pt};l=E(E(E({},V),p),{parent:s.get("el").parentNode,html:St})}var Wt=(0,Cn.deepMix)({},i,E(E({},l),{top:n.top,style:n.style,offsetX:n.offsetX,offsetY:n.offsetY}));return t!=="html"&&(Wt.container=this.getComponentContainer(Wt)),Wt.animate=this.view.getOptions().animate&&Wt.animate&&(0,Cn.get)(n,"animate",Wt.animate),Wt.animateOption=(0,Cn.deepMix)({},vp,Wt.animateOption,n.animateOption),Wt},e.prototype.isTop=function(t){return(0,Cn.get)(t,"top",!0)},e.prototype.getComponentContainer=function(t){return this.isTop(t)?this.foregroundContainer:this.backgroundContainer},e.prototype.getAnnotationTheme=function(t){return(0,Cn.get)(this.view.getTheme(),["components","annotation",t],{})},e.prototype.updateOrCreate=function(t){var n=this.cache.get(this.getCacheKey(t));if(n){var i=t.type,a=this.getAnnotationTheme(i),o=this.getAnnotationCfg(i,t,a);o&&bo(o,["container"]),n.component.update(E(E({},o||{}),{visible:!!o})),(0,Cn.includes)(jO,t.type)&&n.component.render()}else n=this.createAnnotation(t),n&&(n.component.init(),(0,Cn.includes)(jO,t.type)&&n.component.render());return n},e.prototype.syncCache=function(t){var n=this,i=new Map(this.cache);return t.forEach(function(a,o){i.set(o,a)}),i.forEach(function(a,o){(0,Cn.find)(n.option,function(s){return o===n.getCacheKey(s)})||(a.component.destroy(),i.delete(o))}),i},e.prototype.getCacheKey=function(t){return t},e}(Bl),Xat=M8t;var Ci=U(q());var Ih=U(q());function nj(r,e){var t=(0,Ih.deepMix)({},(0,Ih.get)(r,["components","axis","common"]),(0,Ih.get)(r,["components","axis",e]));return(0,Ih.get)(t,["grid"],{})}function VE(r,e,t,n){var i=[],a=e.getTicks();return r.isPolar&&a.push({value:1,text:"",tickValue:""}),a.reduce(function(o,s,l){var u=s.value;if(n)i.push({points:[r.convert(t==="y"?{x:0,y:u}:{x:u,y:0}),r.convert(t==="y"?{x:1,y:u}:{x:u,y:1})]});else if(l){var f=o.value,c=(f+u)/2;i.push({points:[r.convert(t==="y"?{x:0,y:c}:{x:c,y:0}),r.convert(t==="y"?{x:1,y:c}:{x:c,y:1})]})}return s},a[0]),i}function WO(r,e,t,n,i){var a=e.values.length,o=[],s=t.getTicks();return s.reduce(function(l,u){var f=l?l.value:u.value,c=u.value,h=(f+c)/2;return i==="x"?o.push({points:[r.convert({x:n?c:h,y:0}),r.convert({x:n?c:h,y:1})]}):o.push({points:(0,Ih.map)(Array(a+1),function(d,p){return r.convert({x:p/a,y:n?c:h})})}),u},s[0]),o}function ij(r,e){var t=(0,Ih.get)(e,"grid");if(t===null)return!1;var n=(0,Ih.get)(r,"grid");return!(t===void 0&&n===null)}var Dm=["container"],qat=E(E({},vp),{appear:null}),T8t=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.cache=new Map,n.gridContainer=n.view.getLayer(di.BG).addGroup(),n.gridForeContainer=n.view.getLayer(di.FORE).addGroup(),n.axisContainer=n.view.getLayer(di.BG).addGroup(),n.axisForeContainer=n.view.getLayer(di.FORE).addGroup(),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"axis"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){this.update()},e.prototype.layout=function(){var t=this,n=this.view.getCoordinate();(0,Ci.each)(this.getComponents(),function(i){var a=i.component,o=i.direction,s=i.type,l=i.extra,u=l.dim,f=l.scale,c=l.alignTick,h;if(s===la.AXIS)n.isPolar?u==="x"?h=n.isTransposed?dE(n,o):OL(n):u==="y"&&(h=n.isTransposed?OL(n):dE(n,o)):h=dE(n,o);else if(s===la.GRID)if(n.isPolar){var d=void 0;n.isTransposed?d=u==="x"?WO(n,t.view.getYScales()[0],f,c,u):VE(n,f,u,c):d=u==="x"?VE(n,f,u,c):WO(n,t.view.getXScale(),f,c,u),h={items:d,center:t.view.getCoordinate().getCenter()}}else h={items:VE(n,f,u,c)};a.update(h)})},e.prototype.update=function(){this.option=this.view.getOptions().axes;var t=new Map;this.updateXAxes(t),this.updateYAxes(t);var n=new Map;this.cache.forEach(function(i,a){t.has(a)?n.set(a,i):i.component.destroy()}),this.cache=n},e.prototype.clear=function(){r.prototype.clear.call(this),this.cache.clear(),this.gridContainer.clear(),this.gridForeContainer.clear(),this.axisContainer.clear(),this.axisForeContainer.clear()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.gridContainer.remove(!0),this.gridForeContainer.remove(!0),this.axisContainer.remove(!0),this.axisForeContainer.remove(!0)},e.prototype.getComponents=function(){var t=[];return this.cache.forEach(function(n){t.push(n)}),t},e.prototype.updateXAxes=function(t){var n=this.view.getXScale();if(!(!n||n.isIdentity)){var i=Yb(this.option,n.field);if(i!==!1){var a=cU(i,xe.BOTTOM),o=di.BG,s="x",l=this.view.getCoordinate(),u=this.getId("axis",n.field),f=this.getId("grid",n.field);if(l.isRect){var c=this.cache.get(u);if(c){var h=this.getLineAxisCfg(n,i,a);bo(h,Dm),c.component.update(h),t.set(u,c)}else c=this.createLineAxis(n,i,o,a,s),this.cache.set(u,c),t.set(u,c);var d=this.cache.get(f);if(d){var h=this.getLineGridCfg(n,i,a,s);bo(h,Dm),d.component.update(h),t.set(f,d)}else d=this.createLineGrid(n,i,o,a,s),d&&(this.cache.set(f,d),t.set(f,d))}else if(l.isPolar){var c=this.cache.get(u);if(c){var h=l.isTransposed?this.getLineAxisCfg(n,i,xe.RADIUS):this.getCircleAxisCfg(n,i,a);bo(h,Dm),c.component.update(h),t.set(u,c)}else{if(l.isTransposed){if((0,Ci.isUndefined)(i))return;c=this.createLineAxis(n,i,o,xe.RADIUS,s)}else c=this.createCircleAxis(n,i,o,a,s);this.cache.set(u,c),t.set(u,c)}var d=this.cache.get(f);if(d){var h=l.isTransposed?this.getCircleGridCfg(n,i,xe.RADIUS,s):this.getLineGridCfg(n,i,xe.CIRCLE,s);bo(h,Dm),d.component.update(h),t.set(f,d)}else{if(l.isTransposed){if((0,Ci.isUndefined)(i))return;d=this.createCircleGrid(n,i,o,xe.RADIUS,s)}else d=this.createLineGrid(n,i,o,xe.CIRCLE,s);d&&(this.cache.set(f,d),t.set(f,d))}}}}},e.prototype.updateYAxes=function(t){var n=this,i=this.view.getYScales();(0,Ci.each)(i,function(a,o){if(!(!a||a.isIdentity)){var s=a.field,l=Yb(n.option,s);if(l!==!1){var u=di.BG,f="y",c=n.getId("axis",s),h=n.getId("grid",s),d=n.view.getCoordinate();if(d.isRect){var p=cU(l,o===0?xe.LEFT:xe.RIGHT),v=n.cache.get(c);if(v){var m=n.getLineAxisCfg(a,l,p);bo(m,Dm),v.component.update(m),t.set(c,v)}else v=n.createLineAxis(a,l,u,p,f),n.cache.set(c,v),t.set(c,v);var g=n.cache.get(h);if(g){var m=n.getLineGridCfg(a,l,p,f);bo(m,Dm),g.component.update(m),t.set(h,g)}else g=n.createLineGrid(a,l,u,p,f),g&&(n.cache.set(h,g),t.set(h,g))}else if(d.isPolar){var v=n.cache.get(c);if(v){var m=d.isTransposed?n.getCircleAxisCfg(a,l,xe.CIRCLE):n.getLineAxisCfg(a,l,xe.RADIUS);bo(m,Dm),v.component.update(m),t.set(c,v)}else{if(d.isTransposed){if((0,Ci.isUndefined)(l))return;v=n.createCircleAxis(a,l,u,xe.CIRCLE,f)}else v=n.createLineAxis(a,l,u,xe.RADIUS,f);n.cache.set(c,v),t.set(c,v)}var g=n.cache.get(h);if(g){var m=d.isTransposed?n.getLineGridCfg(a,l,xe.CIRCLE,f):n.getCircleGridCfg(a,l,xe.RADIUS,f);bo(m,Dm),g.component.update(m),t.set(h,g)}else{if(d.isTransposed){if((0,Ci.isUndefined)(l))return;g=n.createLineGrid(a,l,u,xe.CIRCLE,f)}else g=n.createCircleGrid(a,l,u,xe.RADIUS,f);g&&(n.cache.set(h,g),t.set(h,g))}}}}})},e.prototype.createLineAxis=function(t,n,i,a,o){var s={component:new rrt(this.getLineAxisCfg(t,n,a)),layer:i,direction:a===xe.RADIUS?xe.NONE:a,type:la.AXIS,extra:{dim:o,scale:t}};return s.component.set("field",t.field),s.component.init(),s},e.prototype.createLineGrid=function(t,n,i,a,o){var s=this.getLineGridCfg(t,n,a,o);if(s){var l={component:new irt(s),layer:i,direction:xe.NONE,type:la.GRID,extra:{dim:o,scale:t,alignTick:(0,Ci.get)(s,"alignTick",!0)}};return l.component.init(),l}},e.prototype.createCircleAxis=function(t,n,i,a,o){var s={component:new nrt(this.getCircleAxisCfg(t,n,a)),layer:i,direction:a,type:la.AXIS,extra:{dim:o,scale:t}};return s.component.set("field",t.field),s.component.init(),s},e.prototype.createCircleGrid=function(t,n,i,a,o){var s=this.getCircleGridCfg(t,n,a,o);if(s){var l={component:new art(s),layer:i,direction:xe.NONE,type:la.GRID,extra:{dim:o,scale:t,alignTick:(0,Ci.get)(s,"alignTick",!0)}};return l.component.init(),l}},e.prototype.getLineAxisCfg=function(t,n,i){var a=(0,Ci.get)(n,["top"])?this.axisForeContainer:this.axisContainer,o=this.view.getCoordinate(),s=dE(o,i),l=hU(t,n),u=pE(this.view.getTheme(),i),f=(0,Ci.get)(n,["title"])?(0,Ci.deepMix)({title:{style:{text:l}}},{title:fU(this.view.getTheme(),i,n.title)},n):n,c=(0,Ci.deepMix)(E(E({container:a},s),{ticks:t.getTicks().map(function(b){return{id:"".concat(b.tickValue),name:b.text,value:b.value}}),verticalFactor:o.isPolar?uU(s,o.getCenter())*-1:uU(s,o.getCenter()),theme:u}),u,f),h=this.getAnimateCfg(c),d=h.animate,p=h.animateOption;c.animateOption=p,c.animate=d;var v=lU(s),m=(0,Ci.get)(c,"verticalLimitLength",v?1/3:1/2);if(m<=1){var g=this.view.getCanvas().get("width"),x=this.view.getCanvas().get("height");c.verticalLimitLength=m*(v?g:x)}return c},e.prototype.getLineGridCfg=function(t,n,i,a){if(!!ij(pE(this.view.getTheme(),i),n)){var o=nj(this.view.getTheme(),i),s=(0,Ci.deepMix)({container:(0,Ci.get)(n,["top"])?this.gridForeContainer:this.gridContainer},o,(0,Ci.get)(n,"grid"),this.getAnimateCfg(n));return s.items=VE(this.view.getCoordinate(),t,a,(0,Ci.get)(s,"alignTick",!0)),s}},e.prototype.getCircleAxisCfg=function(t,n,i){var a=(0,Ci.get)(n,["top"])?this.axisForeContainer:this.axisContainer,o=this.view.getCoordinate(),s=t.getTicks().map(function(v){return{id:"".concat(v.tickValue),name:v.text,value:v.value}});!t.isCategory&&Math.abs(o.endAngle-o.startAngle)===Math.PI*2&&s.pop();var l=hU(t,n),u=pE(this.view.getTheme(),xe.CIRCLE),f=(0,Ci.get)(n,["title"])?(0,Ci.deepMix)({title:{style:{text:l}}},{title:fU(this.view.getTheme(),i,n.title)},n):n,c=(0,Ci.deepMix)(E(E({container:a},OL(this.view.getCoordinate())),{ticks:s,verticalFactor:1,theme:u}),u,f),h=this.getAnimateCfg(c),d=h.animate,p=h.animateOption;return c.animate=d,c.animateOption=p,c},e.prototype.getCircleGridCfg=function(t,n,i,a){if(!!ij(pE(this.view.getTheme(),i),n)){var o=nj(this.view.getTheme(),xe.RADIUS),s=(0,Ci.deepMix)({container:(0,Ci.get)(n,["top"])?this.gridForeContainer:this.gridContainer,center:this.view.getCoordinate().getCenter()},o,(0,Ci.get)(n,"grid"),this.getAnimateCfg(n)),l=(0,Ci.get)(s,"alignTick",!0),u=a==="x"?this.view.getYScales()[0]:this.view.getXScale();return s.items=WO(this.view.getCoordinate(),u,t,l,a),s}},e.prototype.getId=function(t,n){var i=this.view.getCoordinate();return"".concat(t,"-").concat(n,"-").concat(i.type)},e.prototype.getAnimateCfg=function(t){return{animate:this.view.getOptions().animate&&(0,Ci.get)(t,"animate"),animateOption:t&&t.animateOption?(0,Ci.deepMix)({},qat,t.animateOption):qat}},e}(Bl),Kat=T8t;var Vn=U(q());function uc(r,e,t){return t===xe.TOP?[r.minX+r.width/2-e.width/2,r.minY]:t===xe.BOTTOM?[r.minX+r.width/2-e.width/2,r.maxY-e.height]:t===xe.LEFT?[r.minX,r.minY+r.height/2-e.height/2]:t===xe.RIGHT?[r.maxX-e.width,r.minY+r.height/2-e.height/2]:t===xe.TOP_LEFT||t===xe.LEFT_TOP?[r.tl.x,r.tl.y]:t===xe.TOP_RIGHT||t===xe.RIGHT_TOP?[r.tr.x-e.width,r.tr.y]:t===xe.BOTTOM_LEFT||t===xe.LEFT_BOTTOM?[r.bl.x,r.bl.y-e.height]:t===xe.BOTTOM_RIGHT||t===xe.RIGHT_BOTTOM?[r.br.x-e.width,r.br.y-e.height]:[0,0]}function Zat(r,e){return(0,Vn.isBoolean)(r)?r===!1?!1:{}:(0,Vn.get)(r,[e],r)}function VO(r){return(0,Vn.get)(r,"position",xe.BOTTOM)}var I8t=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.container=n.view.getLayer(di.FORE).addGroup(),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"legend"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){this.update()},e.prototype.layout=function(){var t=this;this.layoutBBox=this.view.viewBBox,(0,Vn.each)(this.components,function(n){var i=n.component,a=n.direction,o=JL(a),s=i.get("maxWidthRatio"),l=i.get("maxHeightRatio"),u=t.getCategoryLegendSizeCfg(o,s,l),f=i.get("maxWidth"),c=i.get("maxHeight");i.update({maxWidth:Math.min(u.maxWidth,f||0),maxHeight:Math.min(u.maxHeight,c||0)});var h=i.get("padding"),d=i.getLayoutBBox(),p=new ba(d.x,d.y,d.width,d.height).expand(h),v=uc(t.view.viewBBox,p,a),m=v[0],g=v[1],x=uc(t.layoutBBox,p,a),b=x[0],S=x[1],C=0,w=0;a.startsWith("top")||a.startsWith("bottom")?(C=m,w=S):(C=b,w=g),i.setLocation({x:C+h[3],y:w+h[0]}),t.layoutBBox=t.layoutBBox.cut(p,a)})},e.prototype.update=function(){var t=this;this.option=this.view.getOptions().legends;var n={},i=function(h,d,p){var v=t.getId(p.field),m=t.getComponentById(v);if(m){var g=void 0,x=Zat(t.option,p.field);x!==!1&&((0,Vn.get)(x,"custom")?g=t.getCategoryCfg(h,d,p,x,!0):p.isLinear?g=t.getContinuousCfg(h,d,p,x):p.isCategory&&(g=t.getCategoryCfg(h,d,p,x))),g&&(bo(g,["container"]),m.direction=VO(x),m.component.update(g),n[v]=!0)}else{var b=t.createFieldLegend(h,d,p);b&&(b.component.init(),t.components.push(b),n[v]=!0)}};if((0,Vn.get)(this.option,"custom")){var a="global-custom",o=this.getComponentById(a);if(o){var s=this.getCategoryCfg(void 0,void 0,void 0,this.option,!0);bo(s,["container"]),o.component.update(s),n[a]=!0}else{var l=this.createCustomLegend(void 0,void 0,void 0,this.option);if(l){l.init();var u=di.FORE,f=VO(this.option);this.components.push({id:a,component:l,layer:u,direction:f,type:la.LEGEND,extra:void 0}),n[a]=!0}}}else this.loopLegends(i);var c=[];(0,Vn.each)(this.getComponents(),function(h){n[h.id]?c.push(h):h.component.destroy()}),this.components=c},e.prototype.clear=function(){r.prototype.clear.call(this),this.container.clear()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.container.remove(!0)},e.prototype.getGeometries=function(t){var n=this,i=t.geometries;return(0,Vn.each)(t.views,function(a){i=i.concat(n.getGeometries(a))}),i},e.prototype.loopLegends=function(t){var n=this.view.getRootView()===this.view;if(!!n){var i=this.getGeometries(this.view),a={};(0,Vn.each)(i,function(o){var s=o.getGroupAttributes();(0,Vn.each)(s,function(l){var u=l.getScale(l.type);!u||u.type==="identity"||a[u.field]||(t(o,l,u),a[u.field]=!0)})})}},e.prototype.createFieldLegend=function(t,n,i){var a,o=Zat(this.option,i.field),s=di.FORE,l=VO(o);if(o!==!1&&((0,Vn.get)(o,"custom")?a=this.createCustomLegend(t,n,i,o):i.isLinear?a=this.createContinuousLegend(t,n,i,o):i.isCategory&&(a=this.createCategoryLegend(t,n,i,o))),a)return a.set("field",i.field),{id:this.getId(i.field),component:a,layer:s,direction:l,type:la.LEGEND,extra:{scale:i}}},e.prototype.createCustomLegend=function(t,n,i,a){var o=this.getCategoryCfg(t,n,i,a,!0);return new oU(o)},e.prototype.createContinuousLegend=function(t,n,i,a){var o=this.getContinuousCfg(t,n,i,bo(a,["value"]));return new ort(o)},e.prototype.createCategoryLegend=function(t,n,i,a){var o=this.getCategoryCfg(t,n,i,a);return new oU(o)},e.prototype.getContinuousCfg=function(t,n,i,a){var o=i.getTicks(),s=(0,Vn.find)(o,function(v){return v.value===0}),l=(0,Vn.find)(o,function(v){return v.value===1}),u=o.map(function(v){var m=v.value,g=v.tickValue,x=n.mapping(i.invert(m)).join("");return{value:g,attrValue:x,color:x,scaleValue:m}});s||u.push({value:i.min,attrValue:n.mapping(i.invert(0)).join(""),color:n.mapping(i.invert(0)).join(""),scaleValue:0}),l||u.push({value:i.max,attrValue:n.mapping(i.invert(1)).join(""),color:n.mapping(i.invert(1)).join(""),scaleValue:1}),u.sort(function(v,m){return v.value-m.value});var f={min:(0,Vn.head)(u).value,max:(0,Vn.last)(u).value,colors:[],rail:{type:n.type},track:{}};n.type==="size"&&(f.track={style:{fill:n.type==="size"?this.view.getTheme().defaultColor:void 0}}),n.type==="color"&&(f.colors=u.map(function(v){return v.attrValue}));var c=this.container,h=VO(a),d=JL(h),p=(0,Vn.get)(a,"title");return p&&(p=(0,Vn.deepMix)({text:xm(i)},p)),f.container=c,f.layout=d,f.title=p,f.animateOption=vp,this.mergeLegendCfg(f,a,"continuous")},e.prototype.getCategoryCfg=function(t,n,i,a,o){var s=this.container,l=(0,Vn.get)(a,"position",xe.BOTTOM),u=TU(this.view.getTheme(),l),f=(0,Vn.get)(u,["marker"]),c=(0,Vn.get)(a,"marker"),h=JL(l),d=(0,Vn.get)(u,["pageNavigator"]),p=(0,Vn.get)(a,"pageNavigator"),v=o?fnt(f,c,a.items):tO(this.view,t,n,f,c),m=(0,Vn.get)(a,"title");m&&(m=(0,Vn.deepMix)({text:i?xm(i):""},m));var g=(0,Vn.get)(a,"maxWidthRatio"),x=(0,Vn.get)(a,"maxHeightRatio"),b=this.getCategoryLegendSizeCfg(h,g,x);b.container=s,b.layout=h,b.items=v,b.title=m,b.animateOption=vp,b.pageNavigator=(0,Vn.deepMix)({},d,p);var S=this.mergeLegendCfg(b,a,l);S.reversed&&S.items.reverse();var C=(0,Vn.get)(S,"maxItemWidth");return C&&C<=1&&(S.maxItemWidth=this.view.viewBBox.width*C),S},e.prototype.mergeLegendCfg=function(t,n,i){var a=i.split("-")[0],o=TU(this.view.getTheme(),a);return(0,Vn.deepMix)({},o,t,n)},e.prototype.getId=function(t){return"".concat(this.name,"-").concat(t)},e.prototype.getComponentById=function(t){return(0,Vn.find)(this.components,function(n){return n.id===t})},e.prototype.getCategoryLegendSizeCfg=function(t,n,i){n===void 0&&(n=J5),i===void 0&&(i=J5);var a=this.view.viewBBox,o=a.width,s=a.height;return t==="vertical"?{maxWidth:o*n,maxHeight:s}:{maxWidth:o,maxHeight:s*i}},e}(Bl),$at=I8t;var vi=U(q());var L8t=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.onChangeFn=vi.noop,n.resetMeasure=function(){n.clear()},n.onValueChange=function(i){var a=i[0],o=i[1];n.start=a,n.end=o,n.changeViewData(a,o)},n.container=n.view.getLayer(di.FORE).addGroup(),n.onChangeFn=(0,vi.throttle)(n.onValueChange,20,{leading:!0}),n.width=0,n.view.on(wr.BEFORE_CHANGE_DATA,n.resetMeasure),n.view.on(wr.BEFORE_CHANGE_SIZE,n.resetMeasure),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"slider"},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){r.prototype.destroy.call(this),this.view.off(wr.BEFORE_CHANGE_DATA,this.resetMeasure),this.view.off(wr.BEFORE_CHANGE_SIZE,this.resetMeasure)},e.prototype.init=function(){},e.prototype.render=function(){this.option=this.view.getOptions().slider;var t=this.getSliderCfg(),n=t.start,i=t.end;(0,vi.isNil)(this.start)&&(this.start=n,this.end=i);var a=this.view.getOptions().data;this.option&&!(0,vi.isEmpty)(a)?this.slider?this.slider=this.updateSlider():(this.slider=this.createSlider(),this.slider.component.on("sliderchange",this.onChangeFn)):this.slider&&(this.slider.component.destroy(),this.slider=void 0)},e.prototype.layout=function(){var t=this;if(this.option&&!this.width&&(this.measureSlider(),setTimeout(function(){t.view.destroyed||t.changeViewData(t.start,t.end)},0)),this.slider){var n=this.view.coordinateBBox.width,i=this.slider.component.get("padding"),a=i[0],o=i[1],s=i[2],l=i[3],u=this.slider.component.getLayoutBBox(),f=new ba(u.x,u.y,Math.min(u.width,n),u.height).expand(i),c=this.getMinMaxText(this.start,this.end),h=c.minText,d=c.maxText,p=uc(this.view.viewBBox,f,xe.BOTTOM),v=p[0],m=p[1],g=uc(this.view.coordinateBBox,f,xe.BOTTOM),x=g[0],b=g[1];this.slider.component.update(E(E({},this.getSliderCfg()),{x:x+l,y:m+a,width:this.width,start:this.start,end:this.end,minText:h,maxText:d})),this.view.viewBBox=this.view.viewBBox.cut(f,xe.BOTTOM)}},e.prototype.update=function(){this.render()},e.prototype.createSlider=function(){var t=this.getSliderCfg(),n=new cE(E({container:this.container},t));return n.init(),{component:n,layer:di.FORE,direction:xe.BOTTOM,type:la.SLIDER}},e.prototype.updateSlider=function(){var t=this.getSliderCfg();if(this.width){var n=this.getMinMaxText(this.start,this.end),i=n.minText,a=n.maxText;t=E(E({},t),{width:this.width,start:this.start,end:this.end,minText:i,maxText:a})}return this.slider.component.update(t),this.slider},e.prototype.measureSlider=function(){var t=this.getSliderCfg().width;this.width=t},e.prototype.getSliderCfg=function(){var t={height:16,start:0,end:1,minText:"",maxText:"",x:0,y:0,width:this.view.coordinateBBox.width};if((0,vi.isObject)(this.option)){var n=E({data:this.getData()},(0,vi.get)(this.option,"trendCfg",{}));t=(0,vi.deepMix)({},t,this.getThemeOptions(),this.option),t=E(E({},t),{trendCfg:n})}return t.start=(0,vi.clamp)(Math.min((0,vi.isNil)(t.start)?0:t.start,(0,vi.isNil)(t.end)?1:t.end),0,1),t.end=(0,vi.clamp)(Math.max((0,vi.isNil)(t.start)?0:t.start,(0,vi.isNil)(t.end)?1:t.end),0,1),t},e.prototype.getData=function(){var t=this.view.getOptions().data,n=this.view.getYScales()[0],i=this.view.getGroupScales();if(i.length){var a=i[0],o=a.field,s=a.ticks;return t.reduce(function(l,u){return u[o]===s[0]&&l.push(u[n.field]),l},[])}return t.map(function(l){return l[n.field]||0})},e.prototype.getThemeOptions=function(){var t=this.view.getTheme();return(0,vi.get)(t,["components","slider","common"],{})},e.prototype.getMinMaxText=function(t,n){var i=this.view.getOptions().data,a=this.view.getXScale(),o=!0,s=(0,vi.valuesOfKey)(i,a.field);a.isLinear&&(s=s.sort());var l=o?s:s.reverse(),u=(0,vi.size)(i);if(!a||!u)return{};var f=(0,vi.size)(l),c=Math.floor(t*(f-1)),h=Math.floor(n*(f-1)),d=(0,vi.get)(l,[c]),p=(0,vi.get)(l,[h]),v=this.getSliderCfg().formatter;return v&&(d=v(d,i[c],c),p=v(p,i[h],h)),{minText:d,maxText:p}},e.prototype.changeViewData=function(t,n){var i=this.view.getOptions().data,a=this.view.getXScale(),o=(0,vi.size)(i);if(!(!a||!o)){var s=!0,l=(0,vi.valuesOfKey)(i,a.field),u=this.view.getXScale().isLinear?l.sort(function(p,v){return Number(p)-Number(v)}):l,f=s?u:u.reverse(),c=(0,vi.size)(f),h=Math.floor(t*(c-1)),d=Math.floor(n*(c-1));this.view.filter(a.field,function(p,v){var m=f.indexOf(p);return m>-1?up(m,h,d):!0}),this.view.render(!0)}},e.prototype.getComponents=function(){return this.slider?[this.slider]:[]},e.prototype.clear=function(){this.slider&&(this.slider.component.destroy(),this.slider=void 0),this.width=0,this.start=void 0,this.end=void 0},e}(Bl),Qat=L8t;var Sa=U(q());var HO=0,Jat=8,O8t=32,D8t=20,P8t=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.onChangeFn=Sa.noop,n.resetMeasure=function(){n.clear()},n.onValueChange=function(i){var a=i.ratio,o=n.getValidScrollbarCfg().animate;n.ratio=(0,Sa.clamp)(a,0,1);var s=n.view.getOptions().animate;o||n.view.animate(!1),n.changeViewData(n.getScrollRange(),!0),n.view.animate(s)},n.container=n.view.getLayer(di.FORE).addGroup(),n.onChangeFn=(0,Sa.throttle)(n.onValueChange,20,{leading:!0}),n.trackLen=0,n.thumbLen=0,n.ratio=0,n.view.on(wr.BEFORE_CHANGE_DATA,n.resetMeasure),n.view.on(wr.BEFORE_CHANGE_SIZE,n.resetMeasure),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"scrollbar"},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){r.prototype.destroy.call(this),this.view.off(wr.BEFORE_CHANGE_DATA,this.resetMeasure),this.view.off(wr.BEFORE_CHANGE_SIZE,this.resetMeasure)},e.prototype.init=function(){},e.prototype.render=function(){this.option=this.view.getOptions().scrollbar,this.option?this.scrollbar?this.scrollbar=this.updateScrollbar():(this.scrollbar=this.createScrollbar(),this.scrollbar.component.on("scrollchange",this.onChangeFn)):this.scrollbar&&(this.scrollbar.component.destroy(),this.scrollbar=void 0)},e.prototype.layout=function(){var t=this;if(this.option&&!this.trackLen&&(this.measureScrollbar(),setTimeout(function(){t.view.destroyed||t.changeViewData(t.getScrollRange(),!0)})),this.scrollbar){var n=this.view.coordinateBBox.width,i=this.scrollbar.component.get("padding"),a=this.scrollbar.component.getLayoutBBox(),o=new ba(a.x,a.y,Math.min(a.width,n),a.height).expand(i),s=this.getScrollbarComponentCfg(),l=void 0,u=void 0;if(s.isHorizontal){var f=uc(this.view.viewBBox,o,xe.BOTTOM),c=f[0],h=f[1],d=uc(this.view.coordinateBBox,o,xe.BOTTOM),p=d[0],v=d[1];l=p,u=h}else{var m=uc(this.view.viewBBox,o,xe.RIGHT),c=m[0],h=m[1],g=uc(this.view.viewBBox,o,xe.RIGHT),p=g[0],v=g[1];l=p,u=h}l+=i[3],u+=i[0],this.trackLen?this.scrollbar.component.update(E(E({},s),{x:l,y:u,trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:(this.trackLen-this.thumbLen)*this.ratio})):this.scrollbar.component.update(E(E({},s),{x:l,y:u})),this.view.viewBBox=this.view.viewBBox.cut(o,s.isHorizontal?xe.BOTTOM:xe.RIGHT)}},e.prototype.update=function(){this.render()},e.prototype.getComponents=function(){return this.scrollbar?[this.scrollbar]:[]},e.prototype.clear=function(){this.scrollbar&&(this.scrollbar.component.destroy(),this.scrollbar=void 0),this.trackLen=0,this.thumbLen=0,this.ratio=0,this.cnt=0,this.step=0,this.data=void 0,this.xScaleCfg=void 0,this.yScalesCfg=[]},e.prototype.setValue=function(t){this.onValueChange({ratio:t})},e.prototype.getValue=function(){return this.ratio},e.prototype.getThemeOptions=function(){var t=this.view.getTheme();return(0,Sa.get)(t,["components","scrollbar","common"],{})},e.prototype.getScrollbarTheme=function(t){var n=(0,Sa.get)(this.view.getTheme(),["components","scrollbar"]),i=t||{},a=i.thumbHighlightColor,o=rr(i,["thumbHighlightColor"]);return{default:(0,Sa.deepMix)({},(0,Sa.get)(n,["default","style"],{}),o),hover:(0,Sa.deepMix)({},(0,Sa.get)(n,["hover","style"],{}),{thumbColor:a})}},e.prototype.measureScrollbar=function(){var t=this.view.getXScale(),n=this.view.getYScales().slice();this.data=this.getScrollbarData(),this.step=this.getStep(),this.cnt=this.getCnt();var i=this.getScrollbarComponentCfg(),a=i.trackLen,o=i.thumbLen;this.trackLen=a,this.thumbLen=o,this.xScaleCfg={field:t.field,values:t.values||[]},this.yScalesCfg=n},e.prototype.getScrollRange=function(){var t=Math.floor((this.cnt-this.step)*(0,Sa.clamp)(this.ratio,0,1)),n=Math.min(t+this.step-1,this.cnt-1);return[t,n]},e.prototype.changeViewData=function(t,n){var i=this,a=t[0],o=t[1],s=this.getValidScrollbarCfg().type,l=s!=="vertical",u=(0,Sa.valuesOfKey)(this.data,this.xScaleCfg.field),f=this.view.getXScale().isLinear?u.sort(function(h,d){return Number(h)-Number(d)}):u,c=l?f:f.reverse();this.yScalesCfg.forEach(function(h){i.view.scale(h.field,{formatter:h.formatter,type:h.type,min:h.min,max:h.max,tickMethod:h.tickMethod})}),this.view.filter(this.xScaleCfg.field,function(h){var d=c.indexOf(h);return d>-1?up(d,a,o):!0}),this.view.render(!0)},e.prototype.createScrollbar=function(){var t=this.getValidScrollbarCfg().type,n=t!=="vertical",i=new EL(E(E({container:this.container},this.getScrollbarComponentCfg()),{x:0,y:0}));return i.init(),{component:i,layer:di.FORE,direction:n?xe.BOTTOM:xe.RIGHT,type:la.SCROLLBAR}},e.prototype.updateScrollbar=function(){var t=this.getScrollbarComponentCfg(),n=this.trackLen?E(E({},t),{trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:(this.trackLen-this.thumbLen)*this.ratio}):E({},t);return this.scrollbar.component.update(n),this.scrollbar},e.prototype.getStep=function(){if(this.step)return this.step;var t=this.view.coordinateBBox,n=this.getValidScrollbarCfg(),i=n.type,a=n.categorySize,o=i!=="vertical";return Math.floor((o?t.width:t.height)/a)},e.prototype.getCnt=function(){if(this.cnt)return this.cnt;var t=this.view.getXScale(),n=this.getScrollbarData(),i=(0,Sa.valuesOfKey)(n,t.field);return(0,Sa.size)(i)},e.prototype.getScrollbarComponentCfg=function(){var t=this.view,n=t.coordinateBBox,i=t.viewBBox,a=this.getValidScrollbarCfg(),o=a.type,s=a.padding,l=a.width,u=a.height,f=a.style,c=o!=="vertical",h=s[0],d=s[1],p=s[2],v=s[3],m=c?{x:n.minX+v,y:i.maxY-u-p}:{x:i.maxX-l-d,y:n.minY+h},g=this.getStep(),x=this.getCnt(),b=c?n.width-v-d:n.height-h-p,S=Math.max(b*(0,Sa.clamp)(g/x,0,1),D8t);return E(E({},this.getThemeOptions()),{x:m.x,y:m.y,size:c?u:l,isHorizontal:c,trackLen:b,thumbLen:S,thumbOffset:0,theme:this.getScrollbarTheme(f)})},e.prototype.getValidScrollbarCfg=function(){var t={type:"horizontal",categorySize:O8t,width:Jat,height:Jat,padding:[0,0,0,0],animate:!0,style:{}};return(0,Sa.isObject)(this.option)&&(t=E(E({},t),this.option)),(!(0,Sa.isObject)(this.option)||!this.option.padding)&&(t.padding=t.type==="horizontal"?[HO,0,HO,0]:[0,HO,0,HO]),t},e.prototype.getScrollbarData=function(){var t=this.view.getCoordinate(),n=this.getValidScrollbarCfg(),i=this.view.getOptions().data||[];return t.isReflect("y")&&n.type==="vertical"&&(i=mn([],i,!0).reverse()),i},e}(Bl),tot=P8t;var Ga=U(q());var k8t={fill:"#CCD6EC",opacity:.3};function R8t(r,e,t){var n=Urt(r,e,t);if(n.length){n=(0,Ga.flatten)(n);for(var i=0,a=n;i1){for(var p=n[0],v=Math.abs(e.y-p[0].y),m=0,g=n;md.maxY&&(d=j)):(j.minXd.maxX&&(d=j)),p.x=Math.min(j.minX,p.minX),p.y=Math.min(j.minY,p.minY),p.width=Math.max(j.maxX,p.maxX)-p.x,p.height=Math.max(j.maxY,p.maxY)-p.y});var v=n.backgroundGroup,m=n.coordinateBBox,g=void 0;if(c.isRect){var x=n.getXScale(),b=t||{},S=b.appendRatio,C=b.appendWidth;(0,Ga.isNil)(C)&&(S=(0,Ga.isNil)(S)?x.isLinear?0:.25:S,C=c.isTransposed?S*d.height:S*h.width);var w=void 0,A=void 0,I=void 0,P=void 0;c.isTransposed?(w=m.minX,A=Math.min(d.minY,h.minY)-C,I=m.width,P=p.height+C*2):(w=Math.min(h.minX,d.minX)-C,A=m.minY,I=p.width+C*2,P=m.height),g=[["M",w,A],["L",w+I,A],["L",w+I,A+P],["L",w,A+P],["Z"]]}else{var L=(0,Ga.head)(u),M=(0,Ga.last)(u),O=lp(L.getModel(),c).startAngle,F=lp(M.getModel(),c).endAngle,k=c.getCenter(),G=c.getRadius(),D=c.innerRadius*G;g=xu(k.x,k.y,G,O,F,D)}if(this.regionPath)this.regionPath.attr("path",g),this.regionPath.show();else{var N=(0,Ga.get)(t,"style",k8t);this.regionPath=v.addShape({type:"path",name:"active-region",capture:!1,attrs:E(E({},N),{path:g})})}}}},e.prototype.hide=function(){this.regionPath&&this.regionPath.hide(),this.items=null},e.prototype.destroy=function(){this.hide(),this.regionPath&&this.regionPath.remove(!0),r.prototype.destroy.call(this)},e}(Tr),eot=N8t;var aj=U(q());var YO=U(q());var F8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.timeStamp=0,t}return e.prototype.show=function(){var t=this.context,n=t.event,i=t.view,a=i.isTooltipLocked();if(!a){var o=this.timeStamp,s=+new Date,l=(0,YO.get)(t.view.getOptions(),"tooltip.showDelay",16);if(s-o>l){var u=this.location,f={x:n.x,y:n.y};(!u||!(0,YO.isEqual)(u,f))&&this.showTooltip(i,f),this.timeStamp=s,this.location=f}}},e.prototype.hide=function(){var t=this.context.view,n=t.getController("tooltip"),i=this.context.event,a=i.clientX,o=i.clientY;n.isCursorEntered({x:a,y:o})||t.isTooltipLocked()||(this.hideTooltip(t),this.location=null)},e.prototype.showTooltip=function(t,n){t.showTooltip(n)},e.prototype.hideTooltip=function(t){t.hideTooltip()},e}(Tr),XO=F8t;var B8t=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.showTooltip=function(t,n){var i=Nl(t);(0,aj.each)(i,function(a){var o=zL(t,a,n);a.showTooltip(o)})},e.prototype.hideTooltip=function(t){var n=Nl(t);(0,aj.each)(n,function(i){i.hideTooltip()})},e}(XO),rot=B8t;var y1=U(q());var G8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.timeStamp=0,t}return e.prototype.destroy=function(){r.prototype.destroy.call(this),this.tooltip&&this.tooltip.destroy()},e.prototype.show=function(){var t=this.context,n=t.event,i=this.timeStamp,a=+new Date;if(a-i>16){var o=this.location,s={x:n.x,y:n.y};(!o||!(0,y1.isEqual)(o,s))&&this.showTooltip(s),this.timeStamp=a,this.location=s}},e.prototype.hide=function(){this.hideTooltip(),this.location=null},e.prototype.showTooltip=function(t){var n=this.context,i=n.event,a=i.target;if(a&&a.get("tip")){this.tooltip||this.renderTooltip();var o=a.get("tip");this.tooltip.update(E({title:o},t)),this.tooltip.show()}},e.prototype.hideTooltip=function(){this.tooltip&&this.tooltip.hide()},e.prototype.renderTooltip=function(){var t,n=this.context.view,i=n.canvas,a={start:{x:0,y:0},end:{x:i.get("width"),y:i.get("height")}},o=n.getTheme(),s=(0,y1.get)(o,["components","tooltip","domStyles"],{}),l=new Hb({parent:i.get("el").parentNode,region:a,visible:!1,crosshairs:null,domStyles:E({},(0,y1.deepMix)({},s,(t={},t[rs.CONTAINER_CLASS]={"max-width":"50%"},t[rs.TITLE_CLASS]={"word-break":"break-all"},t)))});l.init(),l.setCapture(!1),this.tooltip=l},e}(Tr),not=G8t;var b1=U(q());var iot=U(q());var z8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="",t}return e.prototype.hasState=function(t){return t.hasState(this.stateName)},e.prototype.setElementState=function(t,n){t.setState(this.stateName,n)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.clear=function(){var t=this.context.view;this.clearViewState(t)},e.prototype.clearViewState=function(t){var n=this,i=FL(t,this.stateName);(0,iot.each)(i,function(a){n.setElementState(a,!1)})},e}(Tr),x1=z8t;function aot(r){return(0,b1.get)(r.get("delegateObject"),"item")}var U8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.ignoreListItemStates=["unchecked"],t}return e.prototype.isItemIgnore=function(t,n){var i=this.ignoreListItemStates,a=i.filter(function(o){return n.hasState(t,o)});return!!a.length},e.prototype.setStateByComponent=function(t,n,i){var a=this.context.view,o=t.get("field"),s=Hi(a);this.setElementsStateByItem(s,o,n,i)},e.prototype.setStateByElement=function(t,n){this.setElementState(t,n)},e.prototype.isMathItem=function(t,n,i){var a=this.context.view,o=bh(a,n),s=os(t,n);return!(0,b1.isNil)(s)&&i.name===o.getText(s)},e.prototype.setElementsStateByItem=function(t,n,i,a){var o=this;(0,b1.each)(t,function(s){o.isMathItem(s,n,i)&&s.setState(o.stateName,a)})},e.prototype.setStateEnable=function(t){var n=bu(this.context);if(n)kL(this.context)&&this.setStateByElement(n,t);else{var i=ic(this.context);if(hp(i)){var a=i.item,o=i.component;if(a&&o&&!this.isItemIgnore(a,o)){var s=this.context.event.gEvent;if(s&&s.fromShape&&s.toShape&&aot(s.fromShape)===aot(s.toShape))return;this.setStateByComponent(o,a,t)}}}},e.prototype.toggle=function(){var t=bu(this.context);if(t){var n=t.hasState(this.stateName);this.setElementState(t,!n)}},e.prototype.reset=function(){this.setStateEnable(!1)},e}(x1),_1=U8t;var j8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.active=function(){this.setState()},e}(_1),oot=j8t;var S1=U(q()),W8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.cache={},t}return e.prototype.getColorScale=function(t,n){var i=n.geometry.getAttribute("color");if(!i)return null;var a=t.getScaleByField(i.getFields()[0]);return a},e.prototype.getLinkPath=function(t,n){var i=this.context.view,a=i.getCoordinate().isTransposed,o=t.shape.getCanvasBBox(),s=n.shape.getCanvasBBox(),l=a?[["M",o.minX,o.minY],["L",s.minX,s.maxY],["L",s.maxX,s.maxY],["L",o.maxX,o.minY],["Z"]]:[["M",o.maxX,o.minY],["L",s.minX,s.minY],["L",s.minX,s.maxY],["L",o.maxX,o.maxY],["Z"]];return l},e.prototype.addLinkShape=function(t,n,i,a){var o={opacity:.4,fill:n.shape.attr("fill")};t.addShape({type:"path",attrs:E(E({},(0,S1.deepMix)({},o,(0,S1.isFunction)(a)?a(o,n):a)),{path:this.getLinkPath(n,i)})})},e.prototype.linkByElement=function(t,n){var i=this,a=this.context.view,o=this.getColorScale(a,t);if(!!o){var s=os(t,o.field);if(!this.cache[s]){var l=Art(a,o.field,s),u=this.linkGroup,f=u.addGroup();this.cache[s]=f;var c=l.length;(0,S1.each)(l,function(h,d){if(d=0},n)},e}(C1),sj=$8t;var Q8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.highlight=function(){this.setState()},e.prototype.setElementState=function(t,n){var i=this.context.view,a=Hi(i);qO(a,function(o){return t===o},n)},e.prototype.clear=function(){var t=this.context.view;E1(t)},e}(w1),hot=Q8t;var J8t=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(C1),dot=J8t;var tHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(_1),pot=tHt;var eHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(w1),vot=eHt;var qE=U(q());var rHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="",t.ignoreItemStates=[],t}return e.prototype.getTriggerListInfo=function(){var t=ic(this.context),n=null;return hp(t)&&(n={item:t.item,list:t.component}),n},e.prototype.getAllowComponents=function(){var t=this,n=this.context.view,i=GL(n),a=[];return(0,qE.each)(i,function(o){o.isList()&&t.allowSetStateByElement(o)&&a.push(o)}),a},e.prototype.hasState=function(t,n){return t.hasState(n,this.stateName)},e.prototype.clearAllComponentsState=function(){var t=this,n=this.getAllowComponents();(0,qE.each)(n,function(i){i.clearItemsState(t.stateName)})},e.prototype.allowSetStateByElement=function(t){var n=t.get("field");if(!n)return!1;if(this.cfg&&this.cfg.componentNames){var i=t.get("name");if(this.cfg.componentNames.indexOf(i)===-1)return!1}var a=this.context.view,o=bh(a,n);return o&&o.isCategory},e.prototype.allowSetStateByItem=function(t,n){var i=this.ignoreItemStates;if(i.length){var a=i.filter(function(o){return n.hasState(t,o)});return a.length===0}return!0},e.prototype.setStateByElement=function(t,n,i){var a=t.get("field"),o=this.context.view,s=bh(o,a),l=os(n,a),u=s.getText(l);this.setItemsState(t,u,i)},e.prototype.setStateEnable=function(t){var n=this,i=bu(this.context);if(i){var a=this.getAllowComponents();(0,qE.each)(a,function(u){n.setStateByElement(u,i,t)})}else{var o=ic(this.context);if(hp(o)){var s=o.item,l=o.component;this.allowSetStateByElement(l)&&this.allowSetStateByItem(s,l)&&this.setItemState(l,s,t)}}},e.prototype.setItemsState=function(t,n,i){var a=this,o=t.getItems();(0,qE.each)(o,function(s){s.name===n&&a.setItemState(t,s,i)})},e.prototype.setItemState=function(t,n,i){t.setItemState(n,this.stateName,i)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.reset=function(){this.setStateEnable(!1)},e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t&&t.item){var n=t.list,i=t.item,a=this.hasState(n,i);this.setItemState(n,i,!a)}},e.prototype.clear=function(){var t=this.getTriggerListInfo();t?t.list.clearItemsState(this.stateName):this.clearAllComponentsState()},e}(Tr),zl=rHt;var nHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.active=function(){this.setState()},e}(zl),mot=nHt;var KE=U(q());var got=U(q()),yot="inactive",xot="active";function bot(r){var e=r.getItems();(0,got.each)(e,function(t){r.hasState(t,xot)&&r.setItemState(t,xot,!1),r.hasState(t,yot)&&r.setItemState(t,yot,!1)})}var ZE="inactive",s0="active",iHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName=s0,t.ignoreItemStates=["unchecked"],t}return e.prototype.setItemsState=function(t,n,i){this.setHighlightBy(t,function(a){return a.name===n},i)},e.prototype.setItemState=function(t,n,i){var a=t.getItems();this.setHighlightBy(t,function(o){return o===n},i)},e.prototype.setHighlightBy=function(t,n,i){var a=t.getItems();if(i)(0,KE.each)(a,function(l){n(l)?(t.hasState(l,ZE)&&t.setItemState(l,ZE,!1),t.setItemState(l,s0,!0)):t.hasState(l,s0)||t.setItemState(l,ZE,!0)});else{var o=t.getItemsByState(s0),s=!0;(0,KE.each)(o,function(l){if(!n(l))return s=!1,!1}),s?this.clear():(0,KE.each)(a,function(l){n(l)&&(t.hasState(l,s0)&&t.setItemState(l,s0,!1),t.setItemState(l,ZE,!0))})}},e.prototype.highlight=function(){this.setState()},e.prototype.clear=function(){var t=this.getTriggerListInfo();if(t)bot(t.list);else{var n=this.getAllowComponents();(0,KE.each)(n,function(i){i.clearItemsState(s0),i.clearItemsState(ZE)})}},e}(zl),ZO=iHt;var aHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(zl),_ot=aHt;var oHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="unchecked",t}return e.prototype.unchecked=function(){this.setState()},e}(zl),Sot=oHt;var $E=U(q());var M1="unchecked",$O="checked",sHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName=$O,t}return e.prototype.setItemState=function(t,n,i){this.setCheckedBy(t,function(a){return a===n},i)},e.prototype.setCheckedBy=function(t,n,i){var a=t.getItems();i&&(0,$E.each)(a,function(o){n(o)?(t.hasState(o,M1)&&t.setItemState(o,M1,!1),t.setItemState(o,$O,!0)):t.hasState(o,$O)||t.setItemState(o,M1,!0)})},e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t&&t.item){var n=t.list,i=t.item,a=!(0,$E.some)(n.getItems(),function(o){return n.hasState(o,M1)});a||n.hasState(i,M1)?this.setItemState(n,i,!0):this.reset()}},e.prototype.checked=function(){this.setState()},e.prototype.reset=function(){var t=this.getAllowComponents();(0,$E.each)(t,function(n){n.clearItemsState($O),n.clearItemsState(M1)})},e}(zl),Cot=sHt;var T1="unchecked",lHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t==null?void 0:t.item){var n=t.list,i=t.item,a=n.getItems(),o=a.filter(function(x){return!n.hasState(x,T1)}),s=a.filter(function(x){return n.hasState(x,T1)}),l=o[0];if(a.length===o.length)for(var u=0,f=a;u16&&o.get("name")==="legend-item-radio"){var s=this.location,l={x:n.x,y:n.y};this.timeStamp=a,this.location=l,(!s||!(0,Eot.isEqual)(s,l))&&this.showTooltip(l)}},e.prototype.hideTip=function(){this.hideTooltip(),this.location=null},e.prototype.showTooltip=function(t){var n=this.context,i=n.event,a=i.target;if(a&&a.get("tip")){this.tooltip||this.renderTooltip();var o=n.view.getCanvas().get("el").getBoundingClientRect(),s=o.x,l=o.y;this.tooltip.update(E(E({title:a.get("tip")},t),{x:t.x+s,y:t.y+l})),this.tooltip.show()}},e.prototype.hideTooltip=function(){this.tooltip&&this.tooltip.hide()},e.prototype.renderTooltip=function(){var t,n=(t={},t[rs.CONTAINER_CLASS]={padding:"6px 8px",transform:"translate(-50%, -80%)",background:"rgba(0,0,0,0.75)",color:"#fff","border-radius":"2px","z-index":100},t[rs.TITLE_CLASS]={"font-size":"12px","line-height":"14px","margin-bottom":0,"word-break":"break-all"},t);document.getElementById(lj)&&document.body.removeChild(document.getElementById(lj));var i=new Hb({parent:document.body,region:null,visible:!1,crosshairs:null,domStyles:n,containerId:lj});i.init(),i.setCapture(!1),this.tooltip=i},e}(zl),Mot=uHt;var Tot=U(q());var QO=U(q());var fHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.maskShape=null,t.points=[],t.starting=!1,t.moving=!1,t.preMovePoint=null,t.shapeType="path",t}return e.prototype.getCurrentPoint=function(){var t=this.context.event;return{x:t.x,y:t.y}},e.prototype.emitEvent=function(t){var n="mask:".concat(t),i=this.context.view,a=this.context.event;i.emit(n,{target:this.maskShape,shape:this.maskShape,points:this.points,x:a.x,y:a.y})},e.prototype.createMask=function(){var t=this.context.view,n=this.getMaskAttrs(),i=t.foregroundGroup.addShape({type:this.shapeType,name:"mask",draggable:!0,attrs:E({fill:"#C5D4EB",opacity:.3},n)});return i},e.prototype.getMaskPath=function(){return[]},e.prototype.show=function(){this.maskShape&&(this.maskShape.show(),this.emitEvent("show"))},e.prototype.start=function(t){this.starting=!0,this.moving=!1,this.points=[this.getCurrentPoint()],this.maskShape||(this.maskShape=this.createMask(),this.maskShape.set("capture",!1)),this.updateMask(t==null?void 0:t.maskStyle),this.emitEvent("start")},e.prototype.moveStart=function(){this.moving=!0,this.preMovePoint=this.getCurrentPoint()},e.prototype.move=function(){if(!(!this.moving||!this.maskShape)){var t=this.getCurrentPoint(),n=this.preMovePoint,i=t.x-n.x,a=t.y-n.y,o=this.points;(0,QO.each)(o,function(s){s.x+=i,s.y+=a}),this.updateMask(),this.emitEvent("change"),this.preMovePoint=t}},e.prototype.updateMask=function(t){var n=(0,QO.deepMix)({},this.getMaskAttrs(),t);this.maskShape.attr(n)},e.prototype.moveEnd=function(){this.moving=!1,this.preMovePoint=null},e.prototype.end=function(){this.starting=!1,this.emitEvent("end"),this.maskShape&&this.maskShape.set("capture",!0)},e.prototype.hide=function(){this.maskShape&&(this.maskShape.hide(),this.emitEvent("hide"))},e.prototype.resize=function(){this.starting&&this.maskShape&&(this.points.push(this.getCurrentPoint()),this.updateMask(),this.emitEvent("change"))},e.prototype.destroy=function(){this.points=[],this.maskShape&&this.maskShape.remove(),this.maskShape=null,this.preMovePoint=null,r.prototype.destroy.call(this)},e}(Tr),I1=fHt;var cHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.shapeType="circle",t}return e.prototype.getMaskAttrs=function(){var t=this.points,n=(0,Tot.last)(this.points),i=0,a=0,o=0;if(t.length){var s=t[0];i=qb(s,n)/2,a=(n.x+s.x)/2,o=(n.y+s.y)/2}return{x:a,y:o,r:i}},e}(I1),Iot=cHt;var l0=U(q());var JO=U(q());var hHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.shapeType="rect",t}return e.prototype.getRegion=function(){var t=this.points;return{start:(0,JO.head)(t),end:(0,JO.last)(t)}},e.prototype.getMaskAttrs=function(){var t=this.getRegion(),n=t.start,i=t.end,a=Math.min(n.x,i.x),o=Math.min(n.y,i.y),s=Math.abs(i.x-n.x),l=Math.abs(i.y-n.y);return{x:a,y:o,width:s,height:l}},e}(I1),tD=hHt;function Lot(r){r.x=(0,l0.clamp)(r.x,0,1),r.y=(0,l0.clamp)(r.y,0,1)}var dHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dim="x",t.inPlot=!0,t}return e.prototype.getRegion=function(){var t=null,n=null,i=this.points,a=this.dim,o=this.context.view.getCoordinate(),s=o.invert((0,l0.head)(i)),l=o.invert((0,l0.last)(i));return this.inPlot&&(Lot(s),Lot(l)),a==="x"?(t=o.convert({x:s.x,y:0}),n=o.convert({x:l.x,y:1})):(t=o.convert({x:0,y:s.y}),n=o.convert({x:1,y:l.y})),{start:t,end:n}},e}(tD),uj=dHt;var Oot=U(q());var pHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getMaskPath=function(){var t=this.points,n=[];return t.length&&((0,Oot.each)(t,function(i,a){a===0?n.push(["M",i.x,i.y]):n.push(["L",i.x,i.y])}),n.push(["L",t[0].x,t[0].y])),n},e.prototype.getMaskAttrs=function(){return{path:this.getMaskPath()}},e.prototype.addPoint=function(){this.resize()},e}(I1),eD=pHt;var vHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getMaskPath=function(){var t=this.points;return Trt(t,!0)},e}(eD),Dot=vHt;var mHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.setCursor=function(t){var n=this.context.view;n.getCanvas().setCursor(t)},e.prototype.default=function(){this.setCursor("default")},e.prototype.pointer=function(){this.setCursor("pointer")},e.prototype.move=function(){this.setCursor("move")},e.prototype.crosshair=function(){this.setCursor("crosshair")},e.prototype.wait=function(){this.setCursor("wait")},e.prototype.help=function(){this.setCursor("help")},e.prototype.text=function(){this.setCursor("text")},e.prototype.eResize=function(){this.setCursor("e-resize")},e.prototype.wResize=function(){this.setCursor("w-resize")},e.prototype.nResize=function(){this.setCursor("n-resize")},e.prototype.sResize=function(){this.setCursor("s-resize")},e.prototype.neResize=function(){this.setCursor("ne-resize")},e.prototype.nwResize=function(){this.setCursor("nw-resize")},e.prototype.seResize=function(){this.setCursor("se-resize")},e.prototype.swResize=function(){this.setCursor("sw-resize")},e.prototype.nsResize=function(){this.setCursor("ns-resize")},e.prototype.ewResize=function(){this.setCursor("ew-resize")},e}(Tr),Pot=mHt;var kot=U(q());var gHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filterView=function(t,n,i){var a=this;t.getScaleByField(n)&&t.filter(n,i),t.views&&t.views.length&&(0,kot.each)(t.views,function(o){a.filterView(o,n,i)})},e.prototype.filter=function(){var t=ic(this.context);if(t){var n=this.context.view,i=t.component,a=i.get("field");if(hp(t)){if(a){var o=i.getItemsByState("unchecked"),s=bh(n,a),l=o.map(function(h){return h.name});l.length?this.filterView(n,a,function(h){var d=s.getText(h);return!l.includes(d)}):this.filterView(n,a,null),n.render(!0)}}else if(RL(t)){var u=i.getValue(),f=u[0],c=u[1];this.filterView(n,a,function(h){return h>=f&&h<=c}),n.render(!0)}}},e}(Tr),Rot=gHt;function Not(r,e,t,n){var i=Math.min(t[e],n[e]),a=Math.max(t[e],n[e]),o=r.range,s=o[0],l=o[1];if(il&&(a=l),i===l&&a===l)return null;var u=r.invert(i),f=r.invert(a);if(r.isCategory){var c=r.values.indexOf(u),h=r.values.indexOf(f),d=r.values.slice(c,h+1);return function(p){return d.includes(p)}}else return function(p){return p>=u&&p<=f}}var ls;(function(r){r.FILTER="brush-filter-processing",r.RESET="brush-filter-reset",r.BEFORE_FILTER="brush-filter:beforefilter",r.AFTER_FILTER="brush-filter:afterfilter",r.BEFORE_RESET="brush-filter:beforereset",r.AFTER_RESET="brush-filter:afterreset"})(ls||(ls={}));var yHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dims=["x","y"],t.startPoint=null,t.isStarted=!1,t}return e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.start=function(){var t=this.context;this.isStarted=!0,this.startPoint=t.getCurrentPoint()},e.prototype.filter=function(){var t,n;if(dp(this.context)){var i=this.context.event.target,a=i.getCanvasBBox();t={x:a.x,y:a.y},n={x:a.maxX,y:a.maxY}}else{if(!this.isStarted)return;t=this.startPoint,n=this.context.getCurrentPoint()}if(!(Math.abs(t.x-n.x)<5||Math.abs(t.x-n.y)<5)){var o=this.context,s=o.view,l=o.event,u={view:s,event:l,dims:this.dims};s.emit(ls.BEFORE_FILTER,zn.fromData(s,ls.BEFORE_FILTER,u));var f=s.getCoordinate(),c=f.invert(n),h=f.invert(t);if(this.hasDim("x")){var d=s.getXScale(),p=Not(d,"x",c,h);this.filterView(s,d.field,p)}if(this.hasDim("y")){var v=s.getYScales()[0],p=Not(v,"y",c,h);this.filterView(s,v.field,p)}this.reRender(s,{source:ls.FILTER}),s.emit(ls.AFTER_FILTER,zn.fromData(s,ls.AFTER_FILTER,u))}},e.prototype.end=function(){this.isStarted=!1},e.prototype.reset=function(){var t=this.context.view;if(t.emit(ls.BEFORE_RESET,zn.fromData(t,ls.BEFORE_RESET,{})),this.isStarted=!1,this.hasDim("x")){var n=t.getXScale();this.filterView(t,n.field,null)}if(this.hasDim("y")){var i=t.getYScales()[0];this.filterView(t,i.field,null)}this.reRender(t,{source:ls.RESET}),t.emit(ls.AFTER_RESET,zn.fromData(t,ls.AFTER_RESET,{}))},e.prototype.filterView=function(t,n,i){t.filter(n,i)},e.prototype.reRender=function(t,n){t.render(!0,n)},e}(Tr),L1=yHt;var fj=U(q());var xHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filterView=function(t,n,i){var a=Nl(t);(0,fj.each)(a,function(o){o.filter(n,i)})},e.prototype.reRender=function(t){var n=Nl(t);(0,fj.each)(n,function(i){i.render(!0)})},e}(L1),rD=xHt;var QE=U(q());var bHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filter=function(){var t=ic(this.context),n=this.context.view,i=Hi(n);if(dp(this.context)){var a=Xb(this.context,10);a&&(0,QE.each)(i,function(p){a.includes(p)?p.show():p.hide()})}else if(t){var o=t.component,s=o.get("field");if(hp(t)){if(s){var l=o.getItemsByState("unchecked"),u=bh(n,s),f=l.map(function(p){return p.name});(0,QE.each)(i,function(p){var v=os(p,s),m=u.getText(v);f.indexOf(m)>=0?p.hide():p.show()})}}else if(RL(t)){var c=o.getValue(),h=c[0],d=c[1];(0,QE.each)(i,function(p){var v=os(p,s);v>=h&&v<=d?p.show():p.hide()})}}},e.prototype.clear=function(){var t=Hi(this.context.view);(0,QE.each)(t,function(n){n.show()})},e.prototype.reset=function(){this.clear()},e}(Tr),Fot=bHt;var u0=U(q());var _Ht=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.byRecord=!1,t}return e.prototype.filter=function(){dp(this.context)&&(this.byRecord?this.filterByRecord():this.filterByBBox())},e.prototype.filterByRecord=function(){var t=this.context.view,n=Xb(this.context,10);if(!!n){var i=t.getXScale().field,a=t.getYScales()[0].field,o=n.map(function(l){return l.getModel().data}),s=Nl(t);(0,u0.each)(s,function(l){var u=Hi(l);(0,u0.each)(u,function(f){var c=f.getModel().data;UL(o,c,i,a)?f.show():f.hide()})})}},e.prototype.filterByBBox=function(){var t=this,n=this.context.view,i=Nl(n);(0,u0.each)(i,function(a){var o=NL(t.context,a,10),s=Hi(a);o&&(0,u0.each)(s,function(l){o.includes(l)?l.show():l.hide()})})},e.prototype.reset=function(){var t=Nl(this.context.view);(0,u0.each)(t,function(n){var i=Hi(n);(0,u0.each)(i,function(a){a.show()})})},e}(Tr),cj=_Ht;var Bot=U(q());var SHt=10,CHt=5,wHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.buttonGroup=null,t.buttonCfg={name:"button",text:"button",textStyle:{x:0,y:0,fontSize:12,fill:"#333333",cursor:"pointer"},padding:[8,10],style:{fill:"#f7f7f7",stroke:"#cccccc",cursor:"pointer"},activeStyle:{fill:"#e6e6e6"}},t}return e.prototype.getButtonCfg=function(){return(0,Bot.deepMix)(this.buttonCfg,this.cfg)},e.prototype.drawButton=function(){var t=this.getButtonCfg(),n=this.context.view.foregroundGroup.addGroup({name:t.name}),i=n.addShape({type:"text",name:"button-text",attrs:E({text:t.text},t.textStyle)}),a=i.getBBox(),o=Kb(t.padding),s=n.addShape({type:"rect",name:"button-rect",attrs:E({x:a.x-o[3],y:a.y-o[0],width:a.width+o[1]+o[3],height:a.height+o[0]+o[2]},t.style)});s.toBack(),n.on("mouseenter",function(){s.attr(t.activeStyle)}),n.on("mouseleave",function(){s.attr(t.style)}),this.buttonGroup=n},e.prototype.resetPosition=function(){var t=this.context.view,n=t.getCoordinate(),i=n.convert({x:1,y:1}),a=this.buttonGroup,o=a.getBBox(),s=gr.transform(null,[["t",i.x-o.width-SHt,i.y+o.height+CHt]]);a.setMatrix(s)},e.prototype.show=function(){this.buttonGroup||this.drawButton(),this.resetPosition(),this.buttonGroup.show()},e.prototype.hide=function(){this.buttonGroup&&this.buttonGroup.hide()},e.prototype.destroy=function(){var t=this.buttonGroup;t&&t.remove(),r.prototype.destroy.call(this)},e}(Tr),Got=wHt;var EHt=4,AHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.starting=!1,t.dragStart=!1,t}return e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint()},e.prototype.drag=function(){if(!!this.startPoint){var t=this.context.getCurrentPoint(),n=this.context.view,i=this.context.event;this.dragStart?n.emit("drag",{target:i.target,x:i.x,y:i.y}):qb(t,this.startPoint)>EHt&&(n.emit("dragstart",{target:i.target,x:i.x,y:i.y}),this.dragStart=!0)}},e.prototype.end=function(){if(this.dragStart){var t=this.context.view,n=this.context.event;t.emit("dragend",{target:n.target,x:n.x,y:n.y})}this.starting=!1,this.dragStart=!1},e}(Tr),zot=AHt;var MHt=5,THt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.starting=!1,t.isMoving=!1,t.startPoint=null,t.startMatrix=null,t}return e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint(),this.startMatrix=this.context.view.middleGroup.getMatrix()},e.prototype.move=function(){if(!!this.starting){var t=this.startPoint,n=this.context.getCurrentPoint(),i=qb(t,n);if(i>MHt&&!this.isMoving&&(this.isMoving=!0),this.isMoving){var a=this.context.view,o=gr.transform(this.startMatrix,[["t",n.x-t.x,n.y-t.y]]);a.backgroundGroup.setMatrix(o),a.foregroundGroup.setMatrix(o),a.middleGroup.setMatrix(o)}}},e.prototype.end=function(){this.isMoving&&(this.isMoving=!1),this.startMatrix=null,this.starting=!1,this.startPoint=null},e.prototype.reset=function(){this.starting=!1,this.startPoint=null,this.isMoving=!1;var t=this.context.view;t.backgroundGroup.resetMatrix(),t.foregroundGroup.resetMatrix(),t.middleGroup.resetMatrix(),this.isMoving=!1},e}(Tr),Uot=THt;var hj=U(q());var jot="x",Wot="y",IHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dims=[jot,Wot],t.cfgFields=["dims"],t.cacheScaleDefs={},t}return e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.getScale=function(t){var n=this.context.view;return t==="x"?n.getXScale():n.getYScales()[0]},e.prototype.resetDim=function(t){var n=this.context.view;if(this.hasDim(t)&&this.cacheScaleDefs[t]){var i=this.getScale(t);n.scale(i.field,this.cacheScaleDefs[t]),this.cacheScaleDefs[t]=null}},e.prototype.reset=function(){this.resetDim(jot),this.resetDim(Wot);var t=this.context.view;t.render(!0)},e}(Tr),nD=IHt;var LHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.startPoint=null,t.starting=!1,t.startCache={},t}return e.prototype.start=function(){var t=this;this.startPoint=this.context.getCurrentPoint(),this.starting=!0;var n=this.dims;(0,hj.each)(n,function(i){var a=t.getScale(i),o=a.min,s=a.max,l=a.values;t.startCache[i]={min:o,max:s,values:l}})},e.prototype.end=function(){this.startPoint=null,this.starting=!1,this.startCache={}},e.prototype.translate=function(){var t=this;if(!!this.starting){var n=this.startPoint,i=this.context.view.getCoordinate(),a=this.context.getCurrentPoint(),o=i.invert(n),s=i.invert(a),l=s.x-o.x,u=s.y-o.y,f=this.context.view,c=this.dims;(0,hj.each)(c,function(h){t.translateDim(h,{x:l*-1,y:u*-1})}),f.render(!0)}},e.prototype.translateDim=function(t,n){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.translateLinear(t,i,n)}},e.prototype.translateLinear=function(t,n,i){var a=this.context.view,o=this.startCache[t],s=o.min,l=o.max,u=l-s,f=i[t]*u;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:n.nice,min:s,max:l}),a.scale(n.field,{nice:!1,min:s+f,max:l+f})},e.prototype.reset=function(){r.prototype.reset.call(this),this.startPoint=null,this.starting=!1},e}(nD),Vot=LHt;var Hot=U(q());var OHt=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.zoomRatio=.05,t}return e.prototype.zoomIn=function(){this.zoom(this.zoomRatio)},e.prototype.zoom=function(t){var n=this,i=this.dims;(0,Hot.each)(i,function(a){n.zoomDim(a,t)}),this.context.view.render(!0)},e.prototype.zoomOut=function(){this.zoom(-1*this.zoomRatio)},e.prototype.zoomDim=function(t,n){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.zoomLinear(t,i,n)}},e.prototype.zoomLinear=function(t,n,i){var a=this.context.view;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:n.nice,min:n.min,max:n.max});var o=this.cacheScaleDefs[t],s=o.max-o.min,l=n.min,u=n.max,f=i*s,c=l-f,h=u+f,d=h-c,p=d/s;h>c&&p<100&&p>.01&&a.scale(n.field,{nice:!1,min:l-f,max:u+f})},e}(nD),Yot=OHt;var f0=U(q());function DHt(r){var e=r.gEvent.originalEvent;return e.deltaY>0}var PHt=1,kHt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.scroll=function(t){var n=this.context,i=n.view,a=n.event;if(!!i.getOptions().scrollbar){var o=(t==null?void 0:t.wheelDelta)||PHt,s=i.getController("scrollbar"),l=i.getXScale(),u=i.getOptions().data,f=(0,f0.size)((0,f0.valuesOfKey)(u,l.field)),c=(0,f0.size)(l.values),h=s.getValue(),d=Math.floor((f-c)*h),p=d+(DHt(a)?o:-o),v=o/(f-c)/1e4,m=(0,f0.clamp)(p/(f-c)+v,0,1);s.setValue(m)}},e}(Tr),Xot=kHt;n0("dark",WL(hnt));_w("canvas",VU);_w("svg",qU);Fl("Polygon",Tit);Fl("Interval",Cit);Fl("Schema",Iit);Fl("Path",c1);Fl("Point",Mit);Fl("Line",wit);Fl("Area",git);Fl("Edge",yit);Fl("Heatmap",xit);Fl("Violin",Oit);gp("base",Ch);gp("interval",Uit);gp("pie",jit);gp("polar",PO);ss("overlap",eat);ss("distribute",Vit);ss("fixed-overlap",tat);ss("hide-overlap",lat);ss("limit-in-shape",Qit);ss("limit-in-canvas",Zit);ss("limit-in-plot",Sat);ss("pie-outer",Yit);ss("adjust-color",cat);ss("interval-adjust-position",hat);ss("interval-hide-overlap",dat);ss("point-adjust-position",mat);ss("pie-spider",qit);ss("path-adjust-position",xat);Es("fade-in",Cat);Es("fade-out",wat);Es("grow-in-x",Eat);Es("grow-in-xy",Mat);Es("grow-in-y",Aat);Es("scale-in-x",Lat);Es("scale-in-y",Oat);Es("wave-in",Nat);Es("zoom-in",Bat);Es("zoom-out",Gat);Es("position-update",Iat);Es("sector-path-update",Rat);Es("path-in",Tat);fp("rect",Vat);fp("mirror",Wat);fp("list",Uat);fp("matrix",jat);fp("circle",zat);fp("tree",Hat);Ju("axis",Kat);Ju("legend",$at);Ju("tooltip",Jb);Ju("annotation",Xat);Ju("slider",Qat);Ju("scrollbar",tot);nr("tooltip",XO);nr("sibling-tooltip",rot);nr("ellipsis-text",not);nr("element-active",oot);nr("element-single-active",uot);nr("element-range-active",lot);nr("element-highlight",A1);nr("element-highlight-by-x",cot);nr("element-highlight-by-color",fot);nr("element-single-highlight",hot);nr("element-range-highlight",sj);nr("element-sibling-highlight",sj,{effectSiblings:!0,effectByRecord:!0});nr("element-selected",pot);nr("element-single-selected",vot);nr("element-range-selected",dot);nr("element-link-by-color",sot);nr("active-region",eot);nr("list-active",mot);nr("list-selected",_ot);nr("list-highlight",ZO);nr("list-unchecked",Sot);nr("list-checked",Cot);nr("list-focus",wot);nr("list-radio",Mot);nr("legend-item-highlight",ZO,{componentNames:["legend"]});nr("axis-label-highlight",ZO,{componentNames:["axis"]});nr("rect-mask",tD);nr("x-rect-mask",uj,{dim:"x"});nr("y-rect-mask",uj,{dim:"y"});nr("circle-mask",Iot);nr("path-mask",eD);nr("smooth-path-mask",Dot);nr("cursor",Pot);nr("data-filter",Rot);nr("brush",L1);nr("brush-x",L1,{dims:["x"]});nr("brush-y",L1,{dims:["y"]});nr("sibling-filter",rD);nr("sibling-x-filter",rD);nr("sibling-y-filter",rD);nr("element-filter",Fot);nr("element-sibling-filter",cj);nr("element-sibling-filter-record",cj,{byRecord:!0});nr("view-drag",zot);nr("view-move",Uot);nr("scale-translate",Vot);nr("scale-zoom",Yot);nr("reset-button",Got,{name:"reset-button",text:"reset"});nr("mousewheel-scroll",Xot);function km(r){return r.isInPlot()}xr("tooltip",{start:[{trigger:"plot:mousemove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"plot:touchmove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"plot:mouseleave",action:"tooltip:hide"},{trigger:"plot:leave",action:"tooltip:hide"},{trigger:"plot:touchend",action:"tooltip:hide"}]});xr("ellipsis-text",{start:[{trigger:"legend-item-name:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"legend-item-name:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"legend-item-name:mouseleave",action:"ellipsis-text:hide"},{trigger:"legend-item-name:touchend",action:"ellipsis-text:hide"},{trigger:"axis-label:mouseleave",action:"ellipsis-text:hide"},{trigger:"axis-label:touchend",action:"ellipsis-text:hide"}]});xr("element-active",{start:[{trigger:"element:mouseenter",action:"element-active:active"}],end:[{trigger:"element:mouseleave",action:"element-active:reset"}]});xr("element-selected",{start:[{trigger:"element:click",action:"element-selected:toggle"}]});xr("element-highlight",{start:[{trigger:"element:mouseenter",action:"element-highlight:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight:reset"}]});xr("element-highlight-by-x",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-x:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-x:reset"}]});xr("element-highlight-by-color",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-color:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-color:reset"}]});xr("legend-active",{start:[{trigger:"legend-item:mouseenter",action:["list-active:active","element-active:active"]}],end:[{trigger:"legend-item:mouseleave",action:["list-active:reset","element-active:reset"]}]});xr("legend-highlight",{start:[{trigger:"legend-item:mouseenter",action:["legend-item-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"legend-item:mouseleave",action:["legend-item-highlight:reset","element-highlight:reset"]}]});xr("axis-label-highlight",{start:[{trigger:"axis-label:mouseenter",action:["axis-label-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"axis-label:mouseleave",action:["axis-label-highlight:reset","element-highlight:reset"]}]});xr("element-list-highlight",{start:[{trigger:"element:mouseenter",action:["list-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"element:mouseleave",action:["list-highlight:reset","element-highlight:reset"]}]});xr("element-range-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(r){return!r.isInShape("mask")},action:["rect-mask:start","rect-mask:show"]},{trigger:"mask:dragstart",action:["rect-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:drag",action:["rect-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end"]},{trigger:"mask:dragend",action:["rect-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(r){return!r.isInPlot()},action:["element-range-highlight:clear","rect-mask:end","rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear","rect-mask:hide"]}]});xr("brush",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:km,action:["brush:start","rect-mask:start","rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:km,action:["rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:km,action:["brush:filter","brush:end","rect-mask:end","rect-mask:hide","reset-button:show"]}],rollback:[{trigger:"reset-button:click",action:["brush:reset","reset-button:hide","cursor:crosshair"]}]});xr("brush-visible",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"plot:mousedown",action:["rect-mask:start","rect-mask:show"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end","rect-mask:hide","element-filter:filter","element-range-highlight:clear"]}],rollback:[{trigger:"dblclick",action:["element-filter:clear"]}]});xr("brush-x",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:km,action:["brush-x:start","x-rect-mask:start","x-rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:km,action:["x-rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:km,action:["brush-x:filter","brush-x:end","x-rect-mask:end","x-rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-x:reset"]}]});xr("element-path-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:km,action:"path-mask:start"},{trigger:"mousedown",isEnable:km,action:"path-mask:show"}],processing:[{trigger:"mousemove",action:"path-mask:addPoint"}],end:[{trigger:"mouseup",action:"path-mask:end"}],rollback:[{trigger:"dblclick",action:"path-mask:hide"}]});xr("element-single-selected",{start:[{trigger:"element:click",action:"element-single-selected:toggle"}]});xr("legend-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:["cursor:pointer","list-radio:show"]},{trigger:"legend-item:mouseleave",action:["cursor:default","list-radio:hide"]}],start:[{trigger:"legend-item:click",isEnable:function(r){return!r.isInShape("legend-item-radio")},action:["list-unchecked:toggle","data-filter:filter","list-radio:show"]},{trigger:"legend-item-radio:mouseenter",action:["list-radio:showTip"]},{trigger:"legend-item-radio:mouseleave",action:["list-radio:hideTip"]},{trigger:"legend-item-radio:click",action:["list-focus:toggle","data-filter:filter","list-radio:show"]}]});xr("continuous-filter",{start:[{trigger:"legend:valuechanged",action:"data-filter:filter"}]});xr("continuous-visible-filter",{start:[{trigger:"legend:valuechanged",action:"element-filter:filter"}]});xr("legend-visible-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:"cursor:pointer"},{trigger:"legend-item:mouseleave",action:"cursor:default"}],start:[{trigger:"legend-item:click",action:["list-unchecked:toggle","element-filter:filter"]}]});xr("active-region",{start:[{trigger:"plot:mousemove",action:"active-region:show"}],end:[{trigger:"plot:mouseleave",action:"active-region:hide"}]});function qot(r){return r.gEvent.preventDefault(),r.gEvent.originalEvent.deltaY>0}xr("view-zoom",{start:[{trigger:"plot:mousewheel",isEnable:function(r){return qot(r.event)},action:"scale-zoom:zoomOut",throttle:{wait:100,leading:!0,trailing:!1}},{trigger:"plot:mousewheel",isEnable:function(r){return!qot(r.event)},action:"scale-zoom:zoomIn",throttle:{wait:100,leading:!0,trailing:!1}}]});xr("sibling-tooltip",{start:[{trigger:"plot:mousemove",action:"sibling-tooltip:show"}],end:[{trigger:"plot:mouseleave",action:"sibling-tooltip:hide"}]});xr("plot-mousewheel-scroll",{start:[{trigger:"plot:mousewheel",action:"mousewheel-scroll:scroll"}]});var GA={};Dn(GA,{Area:()=>s6,Bar:()=>l6,BidirectionalBar:()=>z6,Box:()=>p6,Bullet:()=>u6,Chord:()=>C6,CirclePacking:()=>B6,Column:()=>f6,DualAxes:()=>M6,FUNNEL_CONVERSATION_FIELD:()=>So,Facet:()=>G6,Funnel:()=>c6,G2:()=>JE,Gauge:()=>y6,Heatmap:()=>m6,Histogram:()=>h6,Line:()=>d6,Liquid:()=>v6,Mix:()=>BA,MultiView:()=>BA,Pie:()=>g6,Plot:()=>ke,Progress:()=>x6,Radar:()=>b6,RadialBar:()=>P6,RingProgress:()=>_6,Rose:()=>S6,Sankey:()=>k6,Scatter:()=>w6,Stock:()=>D6,Sunburst:()=>O6,TinyArea:()=>E6,TinyColumn:()=>A6,TinyLine:()=>T6,Treemap:()=>R6,Venn:()=>F6,Violin:()=>N6,Waterfall:()=>I6,WordCloud:()=>L6,adaptors:()=>n6,default:()=>G$t,flow:()=>Fe,getCanvasPattern:()=>z1,measureTextWidth:()=>eA});var lD=U(q());function Fe(){for(var r=[],e=0;e"},key:(l===0?"top":"bottom")+"-statistic"},Hr(s,["offsetX","offsetY","rotate","style","formatter"])))}})},pj=function(r,e,t){var n=e.statistic,i=n.title,a=n.content;[i,a].forEach(function(o){if(!!o){var s=(0,Zs.isFunction)(o.style)?o.style(t):o.style;r.annotation().html(E({position:["50%","100%"],html:function(l,u){var f=u.getCoordinate(),c=u.views[0].getCoordinate(),h=c.getCenter(),d=c.getRadius(),p=Math.max(Math.sin(c.startAngle),Math.sin(c.endAngle))*d,v=h.y+p-f.y.start-parseFloat((0,Zs.get)(s,"fontSize",0)),m=f.getRadius()*f.innerRadius*2;rst(l,E({width:m+"px",transform:"translate(-50%, "+v+"px)"},est(s)));var g=u.getData();if(o.customHtml)return o.customHtml(l,u,t,g);var x=o.content;return o.formatter&&(x=o.formatter(t,g)),x?(0,Zs.isString)(x)?x:""+x:"
      "}},Hr(o,["offsetX","offsetY","rotate","style","formatter"])))}})};var P1=U(q());var vj;function nst(){return vj||(vj=document.createElement("canvas").getContext("2d")),vj}var eA=(0,P1.memoize)(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=n===void 0?"sans-serif":n,a=e.fontWeight,o=e.fontStyle,s=e.fontVariant,l=nst();l.font=[o,a,s,t+"px",i].join(" ");var u=l.measureText((0,P1.isString)(r)?r:"");return u.width},function(r,e){return e===void 0&&(e={}),dn([r],(0,P1.values)(e)).join("")});function fc(r){return typeof r=="number"&&!isNaN(r)}function mj(r,e,t){var n=Math.min(e,t),i=Math.max(e,t);return r>=n&&r<=i}var Rm=U(q());function k1(r,e){if(!r)return{};var t=r.filter(function(a){var o=(0,Rm.get)(a,[e]);return(0,Rm.isNumber)(o)&&!isNaN(o)}),n=t.every(function(a){return(0,Rm.get)(a,[e])>=0}),i=t.every(function(a){return(0,Rm.get)(a,[e])<=0});return n?{min:0}:i?{max:0}:{}}function oD(r,e,t,n,i){if(i===void 0&&(i=[]),!Array.isArray(r))return{nodes:[],links:[]};var a=[],o={},s=-1;return r.forEach(function(l){var u=l[e],f=l[t],c=l[n],h=Hr(l,i);o[u]||(o[u]=E({id:++s,name:u},h)),o[f]||(o[f]=E({id:++s,name:f},h)),a.push(E({source:o[u].id,target:o[f].id,value:c},h))}),{nodes:Object.values(o).sort(function(l,u){return l.id-u.id}),links:a}}function Oh(r,e){var t=(0,Rm.filter)(r,function(n){var i=n[e];return i===null||typeof i=="number"&&!isNaN(i)});return As(Vo.WARN,t.length===r.length,"illegal data existed in chart data."),t}var sD=U(q());function cc(r){if((0,sD.isNumber)(r))return[r,r,r,r];if((0,sD.isArray)(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function Nm(r,e,t){e===void 0&&(e="bottom"),t===void 0&&(t=25);var n=cc(r),i=[e.startsWith("top")?t:0,e.startsWith("right")?t:0,e.startsWith("bottom")?t:0,e.startsWith("left")?t:0];return[n[0]+i[0],n[1]+i[1],n[2]+i[2],n[3]+i[3]]}function R1(r){var e=r.map(function(n){return cc(n)}),t=[0,0,0,0];return e.length>0&&(t=t.map(function(n,i){return e.forEach(function(a,o){n+=e[o][i]}),n})),t}var VHt=U(q()),ist={locale:"en-US"};var uD={};function gj(r,e){uD[r]=e}function p0(r){return{get:function(e,t){return tA((0,lD.get)(uD[r],e)||(0,lD.get)(uD[ist.locale],e)||(0,lD.get)(uD["en-US"],e)||e,t)}}}var ast={locale:"en-US",general:{increase:"Increase",decrease:"Decrease",root:"Root"},statistic:{total:"Total"},conversionTag:{label:"Rate"},legend:{},tooltip:{},slider:{},scrollbar:{},waterfall:{total:"Total"}};var ost={locale:"zh-CN",general:{increase:"\u589E\u52A0",decrease:"\u51CF\u5C11",root:"\u521D\u59CB"},statistic:{total:"\u603B\u8BA1"},conversionTag:{label:"\u8F6C\u5316\u7387"},legend:{},tooltip:{},slider:{},scrollbar:{},waterfall:{total:"\u603B\u8BA1"}};var mD=U(q());var pst=U(dst());var vst="data-chart-source-type",_j=["padding","appendPadding","renderer","pixelRatio","syncViewPadding","supportCSSTransform","limitInPlot"],ke=function(r){H(e,r);function e(t,n){var i=r.call(this)||this;return i.container=typeof t=="string"?document.getElementById(t):t,i.options=gt({},i.getDefaultOptions(),n),i.createG2(),i.bindEvents(),i}return e.getDefaultOptions=function(){return{renderer:"canvas",xAxis:{nice:!0,label:{autoRotate:!1,autoHide:{type:"equidistance",cfg:{minGap:6}}}},yAxis:{nice:!0,label:{autoHide:!0,autoRotate:!1}},animation:!0}},e.prototype.createG2=function(){var t=this.options,n=t.width,i=t.height,a=t.defaultInteractions;this.chart=new _E(E(E(E(E({container:this.container,autoFit:!1},this.getChartSize(n,i)),{localRefresh:!1}),Hr(this.options,_j)),{defaultInteractions:a})),this.container.setAttribute(vst,"G2Plot")},e.prototype.getChartSize=function(t,n){var i=O1(this.container);return{width:t||i.width||400,height:n||i.height||400}},e.prototype.bindEvents=function(){var t=this;this.chart&&this.chart.on("*",function(n){(n==null?void 0:n.type)&&t.emit(n.type,n)})},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.render=function(){this.chart.clear(),this.chart.options={data:[],animate:!0},this.chart.views=[],this.execAdaptor(),this.chart.render(),this.bindSizeSensor()},e.prototype.update=function(t){this.updateOption(t),this.render()},e.prototype.updateOption=function(t){this.options=gt({},this.options,t)},e.prototype.setState=function(t,n,i){i===void 0&&(i=!0);var a=h0(this.chart);(0,mD.each)(a,function(o){n(o.getData())&&o.setState(t,i)})},e.prototype.getStates=function(){var t=h0(this.chart),n=[];return(0,mD.each)(t,function(i){var a=i.getData(),o=i.getStates();(0,mD.each)(o,function(s){n.push({data:a,state:s,geometry:i.geometry,element:i})})}),n},e.prototype.changeData=function(t){this.update({data:t})},e.prototype.changeSize=function(t,n){this.chart.changeSize(t,n)},e.prototype.addAnnotations=function(t){var n=dn(t),i=this.chart.getController("annotation"),a=i.getComponents().map(function(l){return l.extra});i.clear(!0);for(var o=function(l){var u=a[l],f=n.findIndex(function(c){return c.id&&c.id===u.id});f!==-1&&(u=gt({},u,n[f]),n.splice(f,1)),i.annotation(u)},s=0;s`;t.innerHTML=n},r}(),bit=RVt;var MO=z(q());var NVt=function(){function r(e,t){this.cfg={};var n=lo("marker"),i=(0,MO.uniqueId)("marker_");n.setAttribute("id",i);var a=lo("path");a.setAttribute("stroke",e.stroke||"none"),a.setAttribute("fill",e.fill||"none"),n.appendChild(a),n.setAttribute("overflow","visible"),n.setAttribute("orient","auto-start-reverse"),this.el=n,this.child=a,this.id=i;var o=e[t==="marker-start"?"startArrow":"endArrow"];return this.stroke=e.stroke||"#000",o===!0?this._setDefaultPath(t,a):(this.cfg=o,this._setMarker(e.lineWidth,a)),this}return r.prototype.match=function(){return!1},r.prototype._setDefaultPath=function(e,t){var n=this.el;t.setAttribute("d","M0,0 L"+10*Math.cos(Math.PI/6)+",5 L0,10"),n.setAttribute("refX",""+10*Math.cos(Math.PI/6)),n.setAttribute("refY",""+5)},r.prototype._setMarker=function(e,t){var n=this.el,i=this.cfg.path,a=this.cfg.d;(0,MO.isArray)(i)&&(i=i.map(function(o){return o.join(" ")}).join("")),t.setAttribute("d",i),n.appendChild(t),a&&n.setAttribute("refX",""+a/e)},r.prototype.update=function(e){var t=this.child;t.attr?t.attr("fill",e):t.setAttribute("fill",e)},r}(),JU=NVt;var _it=z(q());var FVt=function(){function r(e){this.type="clip",this.cfg={};var t=lo("clipPath");this.el=t,this.id=(0,_it.uniqueId)("clip_"),t.id=this.id;var n=e.cfg.el;return t.appendChild(n),this.cfg=e,this}return r.prototype.match=function(){return!1},r.prototype.remove=function(){var e=this.el;e.parentNode.removeChild(e)},r}(),Sit=FVt;var Cit=z(q());var BVt=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,GVt=function(){function r(e){this.cfg={};var t=lo("pattern");t.setAttribute("patternUnits","userSpaceOnUse");var n=lo("image");t.appendChild(n);var i=(0,Cit.uniqueId)("pattern_");t.id=i,this.el=t,this.id=i,this.cfg=e;var a=BVt.exec(e),o=a[2];n.setAttribute("href",o);var s=new Image;o.match(/^data:/i)||(s.crossOrigin="Anonymous"),s.src=o;function l(){t.setAttribute("width",""+s.width),t.setAttribute("height",""+s.height)}return s.complete?l():(s.onload=l,s.src=s.src),this}return r.prototype.match=function(e,t){return this.cfg===t},r}(),wit=GVt;var zVt=function(){function r(e){var t=lo("defs"),n=(0,Eit.uniqueId)("defs_");t.id=n,e.appendChild(t),this.children=[],this.defaultArrow={},this.el=t,this.canvas=e}return r.prototype.find=function(e,t){for(var n=this.children,i=null,a=0;a0&&(d[0][0]="L")),a=a.concat(d)}),a.push(["Z"])}return a}function Lm(r,e,t,n,i){for(var a=gn(r,e,!e,"lineWidth"),o=r.connectNulls,s=r.isInCircle,l=r.points,u=r.showSinglePoint,f=Sm(l,o,u),c=[],h=0,d=f.length;ho&&(o=l),l=n[0]}));for(var p=this.scales[h],v=0,m=t;ve&&(t=t?e/(1+n/t):0,n=e-t),i+a>e&&(i=i?e/(1+a/i):0,a=e-i),[t||0,n||0,i||0,a||0]}function IO(r,e,t){var n=[];if(t.isRect){var i=t.isTransposed?{x:t.start.x,y:e[0].y}:{x:e[0].x,y:t.start.y},a=t.isTransposed?{x:t.end.x,y:e[2].y}:{x:e[3].x,y:t.end.y},o=(0,Om.get)(r,["background","style","radius"]);if(o){var s=t.isTransposed?Math.abs(e[0].y-e[2].y):e[2].x-e[1].x,l=t.isTransposed?t.getWidth():t.getHeight(),u=Dit(o,Math.min(s,l)),f=u[0],c=u[1],h=u[2],d=u[3];n.push(["M",i.x,a.y+f]),f!==0&&n.push(["A",f,f,0,0,1,i.x+f,a.y]),n.push(["L",a.x-c,a.y]),c!==0&&n.push(["A",c,c,0,0,1,a.x,a.y+c]),n.push(["L",a.x,i.y-h]),h!==0&&n.push(["A",h,h,0,0,1,a.x-h,i.y]),n.push(["L",i.x+d,i.y]),d!==0&&n.push(["A",d,d,0,0,1,i.x,i.y-d])}else n.push(["M",i.x,i.y]),n.push(["L",a.x,i.y]),n.push(["L",a.x,a.y]),n.push(["L",i.x,a.y]),n.push(["L",i.x,i.y]);n.push(["z"])}if(t.isPolar){var p=t.getCenter(),v=lp(r,t),m=v.startAngle,g=v.endAngle;if(t.type!=="theta"&&!t.isTransposed)n=xu(p.x,p.y,t.getRadius(),m,g);else{var x=function(C){return Math.pow(C,2)},f=Math.sqrt(x(p.x-e[0].x)+x(p.y-e[0].y)),c=Math.sqrt(x(p.x-e[2].x)+x(p.y-e[2].y));n=xu(p.x,p.y,f,t.startAngle,t.endAngle,c)}}return n}function Pit(r,e,t){var n=t.getWidth(),i=t.getHeight(),a=t.type==="rect",o=[],s=(r[2].x-r[1].x)/2,l=t.isTransposed?s*i/n:s*n/i;return e==="round"?(a?(o.push(["M",r[0].x,r[0].y+l]),o.push(["L",r[1].x,r[1].y-l]),o.push(["A",s,s,0,0,1,r[2].x,r[2].y-l]),o.push(["L",r[3].x,r[3].y+l]),o.push(["A",s,s,0,0,1,r[0].x,r[0].y+l])):(o.push(["M",r[0].x,r[0].y]),o.push(["L",r[1].x,r[1].y]),o.push(["A",s,s,0,0,1,r[2].x,r[2].y]),o.push(["L",r[3].x,r[3].y]),o.push(["A",s,s,0,0,1,r[0].x,r[0].y])),o.push(["z"])):o=jE(r),o}function LO(r,e,t){var n=[];return(0,Om.isNil)(e)?t?n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",(r[2].x+r[3].x)/2,(r[2].y+r[3].y)/2],["Z"]):n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",r[2].x,r[2].y],["L",r[3].x,r[3].y],["Z"]):n.push(["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["L",e[1].x,e[1].y],["L",e[0].x,e[0].y],["Z"]),n}function WE(r,e){return[e,r]}function kit(r,e,t){var n,i,a,o,s,l,u,f=mn([],r,!0),c=f[0],h=f[1],d=f[2],p=f[3],v=typeof t=="number"?Array(4).fill(t):t,m=v[0],g=v[1],x=v[2],b=v[3];e.isTransposed&&(n=WE(h,p),h=n[0],p=n[1],i=[b,m,g,x],m=i[0],g=i[1],x=i[2],b=i[3]),e.isReflect("y")&&(a=WE(c,h),c=a[0],h=a[1],o=WE(d,p),d=o[0],p=o[1]),e.isReflect("x")&&(s=WE(c,p),c=s[0],p=s[1],l=WE(h,d),h=l[0],d=l[1]);var S=[],C=function(w){return Math.abs(w)};return u=Dit([m,g,x,b],Math.min(C(p.x-c.x),C(h.y-c.y))).map(function(w){return C(w)}),m=u[0],g=u[1],x=u[2],b=u[3],c.yo&&(i=o)}return i}function KVt(r,e){if(e){var t=(0,ef.flatten)(r),n=(0,ef.valuesOfKey)(t,e);return n.length}return r.length}function g1(r){var e=r.theme,t=r.coordinate,n=r.getXScale(),i=n.values,a=r.beforeMappingData,o=i.length,s=yh(r.coordinate),l=r.intervalPadding,u=r.dodgePadding,f=r.maxColumnWidth||e.maxColumnWidth,c=r.minColumnWidth||e.minColumnWidth,h=r.columnWidthRatio||e.columnWidthRatio,d=r.multiplePieWidthRatio||e.multiplePieWidthRatio,p=r.roseWidthRatio||e.roseWidthRatio;if(n.isLinear&&i.length>1){i.sort();var v=qVt(i,n);o=(n.max-n.min)/v,i.length>o&&(o=i.length)}var m=n.range,g=1/o,x=1;if(t.isPolar?t.isTransposed&&o>1?x=d:x=p:(n.isLinear&&(g*=m[1]-m[0]),x=h),!(0,ef.isNil)(l)&&l>=0){var b=l/s;g=(1-(o-1)*b)/o}else g*=x;if(r.getAdjust("dodge")){var S=r.getAdjust("dodge"),C=S.dodgeBy,w=KVt(a,C);if(!(0,ef.isNil)(u)&&u>=0){var A=u/s;g=(g-A*(w-1))/w}else!(0,ef.isNil)(l)&&l>=0&&(g*=x),g=g/w;g=g>=0?g:0}if(!(0,ef.isNil)(f)&&f>=0){var L=f/s;g>L&&(g=L)}if(!(0,ef.isNil)(c)&&c>=0){var k=c/s;g0&&!(0,ej.get)(n,[i,"min"])&&t.change({min:0}),o<=0&&!(0,ej.get)(n,[i,"max"])&&t.change({max:0}))}},e.prototype.getDrawCfg=function(t){var n=r.prototype.getDrawCfg.call(this,t);return n.background=this.background,n},e}(Wo),Rit=ZVt;var $Vt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;n.type="line";var i=t.sortable,a=i===void 0?!1:i;return n.sortable=a,n}return e}(p1),Nit=$Vt;var Bit=z(q());var OO=["circle","square","bowtie","diamond","hexagon","triangle","triangle-down"],Fit=["cross","tick","plus","hyphen","line"];function y1(r,e,t,n,i){var a=gn(e,i,!i,"r"),o=r.parsePoints(e.points),s=o[0];if(e.isStack)s=o[1];else if(o.length>1){for(var l=t.addGroup(),u=0,f=o;u2?"weight":"normal",a;if(r.isInCircle){var o={x:0,y:1};return i==="normal"?a=i8t(n[0],n[1],o):(t.fill=t.stroke,a=a8t(n,o)),a=this.parsePath(a),e.addShape("path",{attrs:E(E({},t),{path:a})})}else{if(i==="normal")return n=this.parsePoints(n),a=LL((n[1].x+n[0].x)/2,n[0].y,Math.abs(n[1].x-n[0].x)/2,Math.PI,Math.PI*2),e.addShape("path",{attrs:E(E({},t),{path:a})});var s=HE(n[1],n[3]),l=HE(n[2],n[0]);return a=[["M",n[0].x,n[0].y],["L",n[1].x,n[1].y],s,["L",n[3].x,n[3].y],["L",n[2].x,n[2].y],l,["Z"]],a=this.parsePath(a),t.fill=t.stroke,e.addShape("path",{attrs:E(E({},t),{path:a})})}},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});function o8t(r,e){var t=HE(r,e),n=[["M",r.x,r.y]];return n.push(t),n}or("edge","smooth",{draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=r.points,i=this.parsePath(o8t(n[0],n[1]));return e.addShape("path",{attrs:E(E({},t),{path:i})})},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});var Hit=z(q());var PO=1/3;function s8t(r,e){var t=[];t.push({x:r.x,y:r.y*(1-PO)+e.y*PO}),t.push({x:e.x,y:r.y*(1-PO)+e.y*PO}),t.push(e);var n=[["M",r.x,r.y]];return(0,Hit.each)(t,function(i){n.push(["L",i.x,i.y])}),n}or("edge","vhv",{draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=r.points,i=this.parsePath(s8t(n[0],n[1]));return e.addShape("path",{attrs:E(E({},t),{path:i})})},getMarker:function(r){return{symbol:"circle",style:{r:4.5,fill:r.color}}}});or("interval","funnel",{getPoints:function(r){return r.size=r.size*2,m1(r)},draw:function(r,e){var t=gn(r,!1,!0),n=this.parsePath(LO(r.points,r.nextPoints,!1)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});or("interval","hollow-rect",{draw:function(r,e){var t=gn(r,!0,!1),n=e,i=r==null?void 0:r.background;if(i){n=e.addGroup();var a=sO(r),o=IO(r,this.parsePoints(r.points),this.coordinate);n.addShape("path",{attrs:E(E({},a),{path:o}),zIndex:-1,name:n1})}var s=this.parsePath(jE(r.points)),l=n.addShape("path",{attrs:E(E({},t),{path:s}),name:"interval"});return i?n:l},getMarker:function(r){var e=r.color,t=r.isInPolar;return t?{symbol:"circle",style:{r:4.5,stroke:e,fill:null}}:{symbol:"square",style:{r:4,stroke:e,fill:null}}}});var rj=z(q());function l8t(r){var e=r.x,t=r.y,n=r.y0;return(0,rj.isArray)(t)?t.map(function(i,a){return{x:(0,rj.isArray)(e)?e[a]:e,y:i}}):[{x:e,y:n},{x:e,y:t}]}or("interval","line",{getPoints:function(r){return l8t(r)},draw:function(r,e){var t=gn(r,!0,!1,"lineWidth"),n=So(E({},t),["fill"]),i=this.parsePath(jE(r.points,!1)),a=e.addShape("path",{attrs:E(E({},n),{path:i}),name:"interval"});return a},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){return[["M",t,n-i],["L",t,n+i]]},style:{r:5,stroke:e}}}});or("interval","pyramid",{getPoints:function(r){return r.size=r.size*2,m1(r)},draw:function(r,e){var t=gn(r,!1,!0),n=this.parsePath(LO(r.points,r.nextPoints,!0)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});var Yit=z(q());function u8t(r){var e=r.x,t=r.y,n=r.y0,i=r.size,a,o;(0,Yit.isArray)(t)?(a=t[0],o=t[1]):(a=n,o=t);var s=e+i/2,l=e-i/2;return[{x:e,y:a},{x:e,y:o},{x:l,y:a},{x:s,y:a},{x:l,y:o},{x:s,y:o}]}function f8t(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["M",r[4].x,r[4].y],["L",r[5].x,r[5].y]]}or("interval","tick",{getPoints:function(r){return u8t(r)},draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(f8t(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n}),name:"interval"});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){return[["M",t-i/2,n-i],["L",t+i/2,n-i],["M",t,n-i],["L",t,n+i],["M",t-i/2,n+i],["L",t+i/2,n+i]]},style:{r:5,stroke:e}}}});var kO=z(q());var c8t=function(r,e,t){var n=r.x,i=r.y,a=e.x,o=e.y,s;switch(t){case"hv":s=[{x:a,y:i}];break;case"vh":s=[{x:n,y:o}];break;case"hvh":var l=(a+n)/2;s=[{x:l,y:i},{x:l,y:o}];break;case"vhv":var u=(i+o)/2;s=[{x:n,y:u},{x:a,y:u}];break;default:break}return s};function h8t(r,e){var t=[];return(0,kO.each)(r,function(n,i){var a=r[i+1];if(t.push(n),a){var o=c8t(n,a,e);t=t.concat(o)}}),t}function d8t(r){return r.map(function(e,t){return t===0?["M",e.x,e.y]:["L",e.x,e.y]})}function p8t(r,e){var t=Sm(r.points,r.connectNulls,r.showSinglePoint),n=[];return(0,kO.each)(t,function(i){var a=h8t(i,e);n=n.concat(d8t(a))}),E(E({},gn(r,!0,!1,"lineWidth")),{path:n})}(0,kO.each)(["hv","vh","hvh","vhv"],function(r){or("line",r,{draw:function(e,t){var n=p8t(e,r),i=t.addShape({type:"path",attrs:n,name:"line"});return i},getMarker:function(e){return lO(e,r)}})});var Xit=z(q());(0,Xit.each)(Fit,function(r){or("point",r,{draw:function(e,t){return y1(this,e,t,r,!0)},getMarker:function(e){var t=e.color;return{symbol:tf[r],style:{r:4.5,stroke:t,fill:null}}}})});or("point","image",{draw:function(r,e){var t=gn(r,!1,!1,"r").r,n=this.parsePoints(r.points),i=n[0];if(r.isStack)i=n[1];else if(n.length>1){for(var a=e.addGroup(),o=0,s=n;o1?e[1]:t,a=e.length>3?e[3]:n,o=e.length>2?e[2]:i;return{min:t,max:n,min1:i,max1:a,median:o}}function Zit(r,e,t){var n=t/2,i;if((0,YE.isArray)(e)){var a=Kit(e),o=a.min,s=a.max,l=a.median,u=a.min1,f=a.max1,c=r-n,h=r+n;i=[[c,s],[h,s],[r,s],[r,f],[c,u],[c,f],[h,f],[h,u],[r,u],[r,o],[c,o],[h,o],[c,l],[h,l]]}else{e=(0,YE.isNil)(e)?.5:e;var d=Kit(r),o=d.min,s=d.max,l=d.median,u=d.min1,f=d.max1,p=e-n,v=e+n;i=[[o,p],[o,v],[o,e],[u,e],[u,p],[u,v],[f,v],[f,p],[f,e],[s,e],[s,p],[s,v],[l,p],[l,v]]}return i.map(function(m){return{x:m[0],y:m[1]}})}function v8t(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["M",r[4].x,r[4].y],["L",r[5].x,r[5].y],["L",r[6].x,r[6].y],["L",r[7].x,r[7].y],["L",r[4].x,r[4].y],["Z"],["M",r[8].x,r[8].y],["L",r[9].x,r[9].y],["M",r[10].x,r[10].y],["L",r[11].x,r[11].y],["M",r[12].x,r[12].y],["L",r[13].x,r[13].y]]}or("schema","box",{getPoints:function(r){var e=r.x,t=r.y,n=r.size;return Zit(e,t,n)},draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(v8t(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n,name:"schema"})});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){var a=[n-6,n-3,n,n+3,n+6],o=Zit(t,a,i);return[["M",o[0].x+1,o[0].y],["L",o[1].x-1,o[1].y],["M",o[2].x,o[2].y],["L",o[3].x,o[3].y],["M",o[4].x,o[4].y],["L",o[5].x,o[5].y],["L",o[6].x,o[6].y],["L",o[7].x,o[7].y],["L",o[4].x,o[4].y],["Z"],["M",o[8].x,o[8].y],["L",o[9].x,o[9].y],["M",o[10].x+1,o[10].y],["L",o[11].x-1,o[11].y],["M",o[12].x,o[12].y],["L",o[13].x,o[13].y]]},style:{r:6,lineWidth:1,stroke:e}}}});var $it=z(q());function m8t(r){var e=(0,$it.isArray)(r)?r:[r],t=e.sort(function(n,i){return i-n});return Srt(t,4,t[t.length-1])}function Qit(r,e,t){var n=m8t(e);return[{x:r,y:n[0]},{x:r,y:n[1]},{x:r-t/2,y:n[2]},{x:r-t/2,y:n[1]},{x:r+t/2,y:n[1]},{x:r+t/2,y:n[2]},{x:r,y:n[2]},{x:r,y:n[3]}]}function g8t(r){return[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],["M",r[2].x,r[2].y],["L",r[3].x,r[3].y],["L",r[4].x,r[4].y],["L",r[5].x,r[5].y],["Z"],["M",r[6].x,r[6].y],["L",r[7].x,r[7].y]]}or("schema","candle",{getPoints:function(r){var e=r.x,t=r.y,n=r.size;return Qit(e,t,n)},draw:function(r,e){var t=gn(r,!0,!0),n=this.parsePath(g8t(r.points)),i=e.addShape("path",{attrs:E(E({},t),{path:n,name:"schema"})});return i},getMarker:function(r){var e=r.color;return{symbol:function(t,n,i){var a=[n+7.5,n+3,n-3,n-7.5],o=Qit(t,a,i);return[["M",o[0].x,o[0].y],["L",o[1].x,o[1].y],["M",o[2].x,o[2].y],["L",o[3].x,o[3].y],["L",o[4].x,o[4].y],["L",o[5].x,o[5].y],["Z"],["M",o[6].x,o[6].y],["L",o[7].x,o[7].y]]},style:{lineWidth:1,stroke:e,fill:e,r:6}}}});var RO=z(q());function y8t(r,e){var t=Math.abs(r[0].x-r[2].x),n=Math.abs(r[0].y-r[2].y),i=Math.min(t,n);e&&(i=(0,RO.clamp)(e,0,Math.min(t,n))),i=i/2;var a=(r[0].x+r[2].x)/2,o=(r[0].y+r[2].y)/2;return{x:a-i,y:o-i,width:i*2,height:i*2}}or("polygon","square",{draw:function(r,e){if(!(0,RO.isEmpty)(r.points)){var t=gn(r,!0,!0),n=this.parsePoints(r.points);return e.addShape("rect",{attrs:E(E({},t),y8t(n,r.size)),name:"polygon"})}},getMarker:function(r){var e=r.color;return{symbol:"square",style:{r:4,fill:e}}}});or("violin","smooth",{draw:function(r,e){var t=gn(r,!0,!0),n=this.parsePath(oO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{stroke:null,r:4,fill:e}}}});or("violin","hollow",{draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(aO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{r:4,fill:null,stroke:e}}}});or("violin","hollow-smooth",{draw:function(r,e){var t=gn(r,!0,!1),n=this.parsePath(oO(r.points));return e.addShape("path",{attrs:E(E({},t),{path:n})})},getMarker:function(r){var e=r.color;return{symbol:"circle",style:{r:4,fill:null,stroke:e}}}});var Xs=z(q());var x8t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getLabelValueDir=function(t){var n="y",i=t.points;return i[0][n]<=i[2][n]?1:-1},e.prototype.getLabelOffsetPoint=function(t,n,i,a){var o,s=r.prototype.getLabelOffsetPoint.call(this,t,n,i),l=this.getCoordinate(),u=l.isTransposed,f=u?"x":"y",c=this.getLabelValueDir(t.mappingData);return s=E(E({},s),(o={},o[f]=s[f]*c,o)),l.isReflect("x")&&(s=E(E({},s),{x:s.x*-1})),l.isReflect("y")&&(s=E(E({},s),{y:s.y*-1})),s},e.prototype.getThemedLabelCfg=function(t){var n=this.geometry,i=this.getDefaultLabelCfg(),a=n.theme;return(0,Xs.deepMix)({},i,a.labels,t.position==="middle"?{offset:0}:{},t)},e.prototype.setLabelPosition=function(t,n,i,a){var o=this.getCoordinate(),s=o.isTransposed,l=n.points,u=o.convert(l[0]),f=o.convert(l[2]),c=this.getLabelValueDir(n),h,d,p,v,m=(0,Xs.isArray)(n.shape)?n.shape[0]:n.shape;if(m==="funnel"||m==="pyramid"){var g=(0,Xs.get)(n,"nextPoints"),x=(0,Xs.get)(n,"points");if(g){var b=o.convert(x[0]),S=o.convert(x[1]),C=o.convert(g[0]),w=o.convert(g[1]);s?(h=Math.min(C.y,b.y),p=Math.max(C.y,b.y),d=(S.x+w.x)/2,v=(b.x+C.x)/2):(h=Math.min((S.y+w.y)/2,(b.y+C.y)/2),p=Math.max((S.y+w.y)/2,(b.y+C.y)/2),d=w.x,v=b.x)}else h=Math.min(f.y,u.y),p=Math.max(f.y,u.y),d=f.x,v=u.x}else h=Math.min(f.y,u.y),p=Math.max(f.y,u.y),d=f.x,v=u.x;switch(a){case"right":t.x=d,t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign",c>0?"left":"right");break;case"left":t.x=v,t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign",c>0?"left":"right");break;case"bottom":s&&(t.x=(d+v)/2),t.y=p,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline",c>0?"bottom":"top");break;case"middle":s&&(t.x=(d+v)/2),t.y=(h+p)/2,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline","middle");break;case"top":s&&(t.x=(d+v)/2),t.y=h,t.textAlign=(0,Xs.get)(t,"textAlign","center"),t.textBaseline=(0,Xs.get)(t,"textBaseline",c>0?"bottom":"top");break;default:break}},e}(Ch),Jit=x8t;var f0=z(q());var qs=z(q());var NO=Math.PI/2,b8t=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getLabelOffset=function(t){var n=this.getCoordinate(),i=0;if((0,qs.isNumber)(t))i=t;else if((0,qs.isString)(t)&&t.indexOf("%")!==-1){var a=n.getRadius();n.innerRadius>0&&(a=a*(1-n.innerRadius)),i=parseFloat(t)*.01*a}return i},e.prototype.getLabelItems=function(t){var n=r.prototype.getLabelItems.call(this,t),i=this.geometry.getYScale();return(0,qs.map)(n,function(a){if(a&&i){var o=i.scale((0,qs.get)(a.data,i.field));return E(E({},a),{percent:o})}return a})},e.prototype.getLabelAlign=function(t){var n=this.getCoordinate(),i;if(t.labelEmit)i=t.angle<=Math.PI/2&&t.angle>=-Math.PI/2?"left":"right";else if(!n.isTransposed)i="center";else{var a=n.getCenter(),o=t.offset;Math.abs(t.x-a.x)<1?i="center":t.angle>Math.PI||t.angle<=0?i=o>0?"left":"right":i=o>0?"right":"left"}return i},e.prototype.getLabelPoint=function(t,n,i){var a=1,o,s=t.content[i];this.isToMiddle(n)?o=this.getMiddlePoint(n.points):(t.content.length===1&&i===0?i=1:i===0&&(a=-1),o=this.getArcPoint(n,i));var l=t.offset*a,u=this.getPointAngle(o),f=t.labelEmit,c=this.getCirclePoint(u,l,o,f);return c.r===0?c.content="":(c.content=s,c.angle=u,c.color=n.color),c.rotate=t.autoRotate?this.getLabelRotate(u,l,f):t.rotate,c.start={x:o.x,y:o.y},c},e.prototype.getArcPoint=function(t,n){return n===void 0&&(n=0),!(0,qs.isArray)(t.x)&&!(0,qs.isArray)(t.y)?{x:t.x,y:t.y}:{x:(0,qs.isArray)(t.x)?t.x[n]:t.x,y:(0,qs.isArray)(t.y)?t.y[n]:t.y}},e.prototype.getPointAngle=function(t){return xh(this.getCoordinate(),t)},e.prototype.getCirclePoint=function(t,n,i,a){var o=this.getCoordinate(),s=o.getCenter(),l=bm(o,i);if(l===0)return E(E({},s),{r:l});var u=t;if(o.isTransposed&&l>n&&!a){var f=Math.asin(n/(2*l));u=t+f*2}else l=l+n;return{x:s.x+l*Math.cos(u),y:s.y+l*Math.sin(u),r:l}},e.prototype.getLabelRotate=function(t,n,i){var a=t+NO;return i&&(a-=NO),a&&(a>NO?a=a-Math.PI:a<-NO&&(a=a+Math.PI)),a},e.prototype.getMiddlePoint=function(t){var n=this.getCoordinate(),i=t.length,a={x:0,y:0};return(0,qs.each)(t,function(o){a.x+=o.x,a.y+=o.y}),a.x/=i,a.y/=i,a=n.convert(a),a},e.prototype.isToMiddle=function(t){return t.x.length>2},e}(Ch),FO=b8t;var _8t=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.defaultLayout="distribute",t}return e.prototype.getDefaultLabelCfg=function(t,n){var i=r.prototype.getDefaultLabelCfg.call(this,t,n);return(0,f0.deepMix)({},i,(0,f0.get)(this.geometry.theme,"pieLabels",{}))},e.prototype.getLabelOffset=function(t){return r.prototype.getLabelOffset.call(this,t)||0},e.prototype.getLabelRotate=function(t,n,i){var a;return n<0&&(a=t,a>Math.PI/2&&(a=a-Math.PI),a<-Math.PI/2&&(a=a+Math.PI)),a},e.prototype.getLabelAlign=function(t){var n=this.getCoordinate(),i=n.getCenter(),a;return t.angle<=Math.PI/2&&t.x>=i.x?a="left":a="right",t.offset<=0&&(a==="right"?a="left":a="right"),a},e.prototype.getArcPoint=function(t){return t},e.prototype.getPointAngle=function(t){var n=this.getCoordinate(),i={x:(0,f0.isArray)(t.x)?t.x[0]:t.x,y:t.y[0]},a={x:(0,f0.isArray)(t.x)?t.x[1]:t.x,y:t.y[1]},o,s=xh(n,i);if(t.points&&t.points[0].y===t.points[1].y)o=s;else{var l=xh(n,a);s>=l&&(l=l+Math.PI*2),o=s+(l-s)/2}return o},e.prototype.getCirclePoint=function(t,n){var i=this.getCoordinate(),a=i.getCenter(),o=i.getRadius()+n;return E(E({},Ri(a.x,a.y,o,t)),{angle:t,r:o})},e}(FO),tat=_8t;var Cp=z(q());var eat=4;function S8t(r,e,t,n,i,a){var o=!0,s=n.start,l=n.end,u=Math.min(s.y,l.y),f=Math.abs(s.y-l.y),c,h=0,d=Number.MIN_VALUE,p=e.map(function(C){return C.y>h&&(h=C.y),C.yf&&(f=h-u);o;)for(p.forEach(function(C){var w=(Math.min.apply(d,C.targets)+Math.max.apply(d,C.targets))/2;C.pos=Math.min(Math.max(d,w-C.size/2),f-C.size)}),o=!1,c=p.length;c--;)if(c>0){var v=p[c-1],m=p[c];v.pos+v.size>m.pos&&(v.size+=m.size,v.targets=v.targets.concat(m.targets),v.pos+v.size>f&&(v.pos=f-v.size),p.splice(c,1),o=!0)}c=0,p.forEach(function(C){var w=u+t/2;C.targets.forEach(function(){e[c].y=C.pos+w,w+=t,c++})});for(var g={},x=0,b=r;x0){var l=14,u=o+i,f=u*2+l*2,c={start:a.start,end:a.end},h=[[],[]];r.forEach(function(d){!d||(d.textAlign==="right"?h[0].push(d):h[1].push(d))}),h.forEach(function(d,p){var v=f/l;d.length>v&&(d.sort(function(m,g){return g["..percent"]-m["..percent"]}),d.splice(v,d.length-v)),d.sort(function(m,g){return m.y-g.y}),S8t(e,d,l,c,s,p)})}(0,Cp.each)(r,function(d){if(d&&d.labelLine){var p=d.offset,v=d.angle,m=Ri(s.x,s.y,o,v),g=Ri(s.x,s.y,o+p/2,v),x=d.x+(0,Cp.get)(d,"offsetX",0),b=d.y+(0,Cp.get)(d,"offsetY",0),S={x:x-Math.cos(v)*eat,y:b-Math.sin(v)*eat};(0,Cp.isObject)(d.labelLine)||(d.labelLine={}),d.labelLine.path=["M ".concat(m.x),"".concat(m.y," Q").concat(g.x),"".concat(g.y," ").concat(S.x),S.y].join(",")}})}}var Vo=z(q());function BO(r,e,t){var n=r.filter(function(p){return!p.invisible});n.sort(function(p,v){return p.y-v.y});var i=!0,a=t.minY,o=t.maxY,s=Math.abs(a-o),l,u=0,f=Number.MIN_VALUE,c=n.map(function(p){return p.y>u&&(u=p.y),p.ys&&(s=u-a);i;)for(c.forEach(function(p){var v=(Math.min.apply(f,p.targets)+Math.max.apply(f,p.targets))/2;p.pos=Math.min(Math.max(f,v-p.size/2),s-p.size),p.pos=Math.max(0,p.pos)}),i=!1,l=c.length;l--;)if(l>0){var h=c[l-1],d=c[l];h.pos+h.size>d.pos&&(h.size+=d.size,h.targets=h.targets.concat(d.targets),h.pos+h.size>s&&(h.pos=s-h.size),c.splice(l,1),i=!0)}l=0,c.forEach(function(p){var v=a+e/2;p.targets.forEach(function(){n[l].y=p.pos+v,v+=e,l++})})}var nat=4;function C8t(r,e){var t=e.getCenter(),n=e.getRadius();if(r&&r.labelLine){var i=r.angle,a=r.offset,o=Ri(t.x,t.y,n,i),s=r.x+(0,Vo.get)(r,"offsetX",0)*(Math.cos(i)>0?1:-1),l=r.y+(0,Vo.get)(r,"offsetY",0)*(Math.sin(i)>0?1:-1),u={x:s-Math.cos(i)*nat,y:l-Math.sin(i)*nat},f=r.labelLine.smooth,c=[],h=u.x-t.x,d=u.y-t.y,p=Math.atan(d/h);if(h<0&&(p+=Math.PI),f===!1){(0,Vo.isObject)(r.labelLine)||(r.labelLine={});var v=0;(i<0&&i>-Math.PI/2||i>Math.PI*1.5)&&u.y>o.y&&(v=1),i>=0&&io.y&&(v=1),i>=Math.PI/2&&iu.y&&(v=1),(i<-Math.PI/2||i>=Math.PI&&iu.y&&(v=1);var m=a/2>4?4:Math.max(a/2-1,0),g=Ri(t.x,t.y,n+m,i),x=Ri(t.x,t.y,n+a/2,p),b=0;c.push("M ".concat(o.x," ").concat(o.y)),c.push("L ".concat(g.x," ").concat(g.y)),c.push("A ".concat(t.x," ").concat(t.y," 0 ").concat(b," ").concat(v," ").concat(x.x," ").concat(x.y)),c.push("L ".concat(u.x," ").concat(u.y))}else{var g=Ri(t.x,t.y,n+(a/2>4?4:Math.max(a/2-1,0)),i),S=o.xMath.pow(Math.E,-16)&&c.push.apply(c,["C",u.x+S*4,u.y,2*g.x-o.x,2*g.y-o.y,o.x,o.y]),c.push("L ".concat(o.x," ").concat(o.y))}r.labelLine.path=c.join(" ")}}function iat(r,e,t,n){var i=(0,Vo.filter)(r,function(w){return!(0,Vo.isNil)(w)}),a=e[0]&&e[0].get("coordinate");if(!!a){for(var o=a.getCenter(),s=a.getRadius(),l={},u=0,f=e;uL&&(w.sort(function(k,O){return O.percent-k.percent}),(0,Vo.each)(w,function(k,O){O+1>L&&(l[k.id].set("visible",!1),k.invisible=!0)})),BO(w,h,C)}),(0,Vo.each)(m,function(w,A){(0,Vo.each)(w,function(L){var k=A===v,O=l[L.id],M=O.getChildByIndex(0);if(M){var I=s+d,R=L.y-o.y,P=Math.pow(I,2),F=Math.pow(R,2),D=P-F>0?P-F:0,G=Math.sqrt(D),U=Math.abs(Math.cos(L.angle)*I);k?L.x=o.x+Math.max(G,U):L.x=o.x-Math.max(G,U)}M&&(M.attr("y",L.y),M.attr("x",L.x)),C8t(L,a)})})}}}var Ho=z(q());var nj=4,w8t=4,aat=4;function E8t(r,e,t){var n=e.getCenter(),i=e.getRadius(),a={x:r.x-(t?aat:-aat),y:r.y},o=Ri(n.x,n.y,i+nj,r.angle),s={x:a.x,y:a.y},l={x:o.x,y:o.y},u=Ri(n.x,n.y,i,r.angle),f="";if(a.y!==o.y){var c=t?4:-4;s.y=a.y,r.angle<0&&r.angle>=-Math.PI/2&&(s.x=Math.max(o.x,a.x-c),a.y0&&r.angleo.y?l.y=s.y:(l.y=o.y,l.x=Math.max(l.x,s.x-c))),r.angle>Math.PI/2&&(s.x=Math.min(o.x,a.x-c),a.y>o.y?l.y=s.y:(l.y=o.y,l.x=Math.min(l.x,s.x-c))),r.angle<-Math.PI/2&&(s.x=Math.min(o.x,a.x-c),a.ya.x||w.x===a.x&&w.y>a.y,k=(0,Ho.isNil)(w.offsetX)?w8t:w.offsetX,O=Ri(a.x,a.y,o+nj,w.angle),M=h+k;w.x=a.x+(L?1:-1)*(o+M),w.y=O.y}});var d=i.start,p=i.end,v="left",m="right",g=(0,Ho.groupBy)(r,function(w){return w.xx&&(x=Math.min(A,Math.abs(d.y-p.y)))});var b={minX:d.x,maxX:p.x,minY:a.y-x/2,maxY:a.y+x/2};(0,Ho.each)(g,function(w,A){var L=x/c;w.length>L&&(w.sort(function(k,O){return O.percent-k.percent}),(0,Ho.each)(w,function(k,O){O>L&&(s[k.id].set("visible",!1),k.invisible=!0)})),BO(w,c,b)});var S=b.minY,C=b.maxY;(0,Ho.each)(g,function(w,A){var L=A===m;(0,Ho.each)(w,function(k){var O=(0,Ho.get)(s,k&&[k.id]);if(!!O){if(k.yC){O.set("visible",!1);return}var M=O.getChildByIndex(0),I=M.getCanvasBBox(),R={x:L?I.x:I.maxX,y:I.y+I.height/2};Sh(M,k.x-R.x,k.y-R.y),k.labelLine&&E8t(k,i,L)}})})}}var sat=z(q());function lat(r,e,t,n){(0,sat.each)(e,function(i){var a=n.minX,o=n.minY,s=n.maxX,l=n.maxY,u=i.getCanvasBBox(),f=u.minX,c=u.minY,h=u.maxX,d=u.maxY,p=u.x,v=u.y,m=u.width,g=u.height,x=p,b=v;(fs?x=s-m:h>s&&(x=x-(h-s)),c>l?b=l-g:d>l&&(b=b-(d-l)),(x!==p||b!==v)&&Sh(i,x-p,b-v)})}var uat=z(q());function fat(r,e,t,n){(0,uat.each)(e,function(i,a){var o=i.getCanvasBBox(),s=t[a].getBBox();(o.minXs.maxX||o.maxY>s.maxY)&&i.remove(!0)})}var ij=z(q()),A8t=100,cat=function(){function r(e){e===void 0&&(e={}),this.bitmap={};var t=e.xGap,n=t===void 0?1:t,i=e.yGap,a=i===void 0?8:i;this.xGap=n,this.yGap=a}return r.prototype.hasGap=function(e){for(var t=!0,n=this.bitmap,i=Math.round(e.minX),a=Math.round(e.maxX),o=Math.round(e.minY),s=Math.round(e.maxY),l=i;l<=a;l+=1){if(!n[l]){n[l]={};continue}if(l===i||l===a){for(var u=o;u<=s;u++)if(n[l][u]){t=!1;break}}else if(n[l][o]||n[l][s]){t=!1;break}}return t},r.prototype.fillGap=function(e){for(var t=this.bitmap,n=Math.round(e.minX),i=Math.round(e.maxX),a=Math.round(e.minY),o=Math.round(e.maxY),s=n;s<=i;s+=1)t[s]||(t[s]={});for(var s=n;s<=i;s+=this.xGap){for(var l=a;l<=o;l+=this.yGap)t[s][l]=!0;t[s][o]=!0}if(this.yGap!==1)for(var s=a;s<=o;s+=1)t[n][s]=!0,t[i][s]=!0;if(this.xGap!==1)for(var s=n;s<=i;s+=1)t[s][a]=!0,t[s][o]=!0},r.prototype.destroy=function(){this.bitmap={}},r}();function M8t(r,e,t){t===void 0&&(t=A8t);var n=-1,i=r.attr(),a=i.x,o=i.y,s=r.getCanvasBBox(),l=Math.sqrt(s.width*s.width+s.height*s.height),u,f=-n,c=0,h=0,d=function(g){var x=g*.1;return[x*Math.cos(x),x*Math.sin(x)]};if(e.hasGap(s))return e.fillGap(s),!0;for(var p=!1,v=0,m={};Math.min(Math.abs(c),Math.abs(h))4)return[];var e=function(i,a){return[a.x-i.x,a.y-i.y]},t=e(r[0],r[1]),n=e(r[1],r[2]);return[t,n]}function GO(r,e,t){e===void 0&&(e=0),t===void 0&&(t={x:0,y:0});var n=r.x,i=r.y;return{x:(n-t.x)*Math.cos(-e)+(i-t.y)*Math.sin(-e)+t.x,y:(t.x-n)*Math.sin(-e)+(i-t.y)*Math.cos(-e)+t.y}}function mat(r){var e=[{x:r.x,y:r.y},{x:r.x+r.width,y:r.y},{x:r.x+r.width,y:r.y+r.height},{x:r.x,y:r.y+r.height}],t=r.rotation;return t?[GO(e[0],t,e[0]),GO(e[1],t,e[0]),GO(e[2],t,e[0]),GO(e[3],t,e[0])]:e}function gat(r,e){if(r.length>4)return{min:0,max:0};var t=[];return r.forEach(function(n){t.push(I8t([n.x,n.y],e))}),{min:Math.min.apply(Math,t),max:Math.max.apply(Math,t)}}function L8t(r,e){return r.max>e.min&&r.minr.x+r.width+t||e.x+e.widthr.y+r.height+t||e.y+e.height=a.height:o.width>=a.width}function k8t(r,e,t){var n=!!r.getAdjust("stack");return n||e.every(function(i,a){var o=t[a];return P8t(r,i,o)})}function R8t(r,e,t){var n=r.coordinate,i=_a.fromObject(t.getBBox()),a=ac(e);n.isTransposed?a.attr({x:i.minX+i.width/2,textAlign:"center"}):a.attr({y:i.minY+i.height/2,textBaseline:"middle"})}function wat(r,e,t){var n;if(t.length!==0){var i=(n=t[0])===null||n===void 0?void 0:n.get("element"),a=i==null?void 0:i.geometry;if(!(!a||a.type!=="interval")){var o=k8t(a,e,t);o&&t.forEach(function(s,l){var u=e[l];R8t(a,u,s)})}}}var rf=z(q());function N8t(r){var e=500,t=[],n=Math.max(Math.floor(r.length/e),1);return(0,rf.each)(r,function(i,a){a%n==0?t.push(i):i.set("visible",!1)}),t}function Eat(r,e,t){var n;if(t.length!==0){var i=(n=t[0])===null||n===void 0?void 0:n.get("element"),a=i==null?void 0:i.geometry;if(!(!a||a.type!=="interval")){var o=N8t(e),s=a.getXYFields()[0],l=[],u=[],f=(0,rf.groupBy)(o,function(v){return v.get("data")[s]}),c=(0,rf.uniq)((0,rf.map)(o,function(v){return v.get("data")[s]})),h;o.forEach(function(v){v.set("visible",!0)});var d=function(v){v&&(v.length&&u.push(v.pop()),u.push.apply(u,v))};for((0,rf.size)(c)>0&&(h=c.shift(),d(f[h])),(0,rf.size)(c)>0&&(h=c.pop(),d(f[h])),(0,rf.each)(c.reverse(),function(v){d(f[v])});u.length>0;){var p=u.shift();p.get("visible")&&(ynt(p,l)?p.set("visible",!1):l.push(p))}}}}var x1=z(q());function F8t(r,e){var t=r.getXYFields()[1],n=[],i=e.sort(function(a,o){return a.get("data")[t]-a.get("data")[t]});return i.length>0&&n.push(i.shift()),i.length>0&&n.push(i.pop()),n.push.apply(n,i),n}function Aat(r,e,t){return r.some(function(n){return t(n,e)})}function B8t(r,e,t){t===void 0&&(t=0);var n=Math.max(0,Math.min(r.x+r.width+t,e.x+e.width+t)-Math.max(r.x-t,e.x-t)),i=Math.max(0,Math.min(r.y+r.height+t,e.y+e.height+t)-Math.max(r.y-t,e.y-t));return n*i}function Mat(r,e){return Aat(r,e,function(t,n){var i=ac(t),a=ac(n);return B8t(i.getCanvasBBox(),a.getCanvasBBox(),2)>0})}function Tat(r,e,t,n,i){var a,o;if(t.length!==0){var s=(a=t[0])===null||a===void 0?void 0:a.get("element"),l=s==null?void 0:s.geometry;if(!(!l||l.type!=="point")){var u=l.getXYFields(),f=u[0],c=u[1],h=(0,x1.groupBy)(e,function(v){return v.get("data")[f]}),d=[],p=i&&i.offset||((o=r[0])===null||o===void 0?void 0:o.offset)||12;(0,x1.map)((0,x1.keys)(h).reverse(),function(v){for(var m=F8t(l,h[v]);m.length;){var g=m.shift(),x=ac(g);if(Aat(d,g,function(C,w){return C.get("data")[f]===w.get("data")[f]&&C.get("data")[c]===w.get("data")[c]})){x.set("visible",!1);continue}var b=Mat(d,g),S=!1;if(b&&(x.attr("y",x.attr("y")+2*p),S=Mat(d,g)),S){x.set("visible",!1);continue}d.push(g)}})}}}var b1=z(q());function G8t(r,e){var t=r.getXYFields()[1],n=[],i=e.sort(function(a,o){return a.get("data")[t]-a.get("data")[t]});return i.length>0&&n.push(i.shift()),i.length>0&&n.push(i.pop()),n.push.apply(n,i),n}function Iat(r,e,t){return r.some(function(n){return t(n,e)})}function z8t(r,e,t){t===void 0&&(t=0);var n=Math.max(0,Math.min(r.x+r.width+t,e.x+e.width+t)-Math.max(r.x-t,e.x-t)),i=Math.max(0,Math.min(r.y+r.height+t,e.y+e.height+t)-Math.max(r.y-t,e.y-t));return n*i}function Lat(r,e){return Iat(r,e,function(t,n){var i=ac(t),a=ac(n);return z8t(i.getCanvasBBox(),a.getCanvasBBox(),2)>0})}function Oat(r,e,t,n,i){var a,o;if(t.length!==0){var s=(a=t[0])===null||a===void 0?void 0:a.get("element"),l=s==null?void 0:s.geometry;if(!(!l||["path","line","area"].indexOf(l.type)<0)){var u=l.getXYFields(),f=u[0],c=u[1],h=(0,b1.groupBy)(e,function(v){return v.get("data")[f]}),d=[],p=i&&i.offset||((o=r[0])===null||o===void 0?void 0:o.offset)||12;(0,b1.map)((0,b1.keys)(h).reverse(),function(v){for(var m=G8t(l,h[v]);m.length;){var g=m.shift(),x=ac(g);if(Iat(d,g,function(C,w){return C.get("data")[f]===w.get("data")[f]&&C.get("data")[c]===w.get("data")[c]})){x.set("visible",!1);continue}var b=Lat(d,g),S=!1;if(b&&(x.attr("y",x.attr("y")+2*p),S=Lat(d,g)),S){x.set("visible",!1);continue}d.push(g)}})}}}var UO=z(q());var wp=z(q());var oj;function Dat(){return oj||(oj=document.createElement("canvas").getContext("2d")),oj}var zO=(0,wp.memoize)(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,o=e.fontVariant,s=Dat();return s.font=[a,o,i,"".concat(t,"px"),n].join(" "),s.measureText((0,wp.isString)(r)?r:"").width},function(r,e){return e===void 0&&(e={}),mn([r],(0,wp.values)(e),!0).join("")}),Pat=function(r,e,t){var n=16,i=zO("...",t),a;(0,wp.isString)(r)?a=r:a=(0,wp.toString)(r);var o=e,s=[],l,u;if(zO(r,t)<=e)return r;for(;l=a.substr(0,n),u=zO(l,t),!(u+i>o&&u>o);)if(s.push(l),o-=u,a=a.substr(n),!a)return s.join("");for(;l=a.substr(0,1),u=zO(l,t),!(u+i>o);)if(s.push(l),o-=u,a=a.substr(1),!a)return s.join("");return"".concat(s.join(""),"...")};function kat(r,e,t,n,i){if(!(e.length<=0)){var a=(i==null?void 0:i.direction)||["top","right","bottom","left"],o=(i==null?void 0:i.action)||"translate",s=(i==null?void 0:i.margin)||0,l=e[0].get("coordinate");if(!!l){var u=Ert(l,s),f=u.minX,c=u.minY,h=u.maxX,d=u.maxY;(0,UO.each)(e,function(p){var v=p.getCanvasBBox(),m=v.minX,g=v.minY,x=v.maxX,b=v.maxY,S=v.x,C=v.y,w=v.width,A=v.height,L=S,k=C;if(a.indexOf("left")>=0&&(m=0&&(g=0&&(m>h?L=h-w:x>h&&(L=L-(x-h))),a.indexOf("bottom")>=0&&(g>d?k=d-A:b>d&&(k=k-(b-d))),L!==S||k!==C){var O=L-S;if(o==="translate")Sh(p,O,k-C);else if(o==="ellipsis"){var M=p.findAll(function(I){return I.get("type")==="text"});M.forEach(function(I){var R=(0,UO.pick)(I.attr(),["fontSize","fontFamily","fontWeight","fontStyle","fontVariant"]),P=I.getCanvasBBox(),F=Pat(I.attr("text"),P.width-Math.abs(O),R);I.attr("text",F)})}else p.hide()}})}}}var jO=z(q());function Rat(r,e,t){var n={fillOpacity:(0,jO.isNil)(r.attr("fillOpacity"))?1:r.attr("fillOpacity"),strokeOpacity:(0,jO.isNil)(r.attr("strokeOpacity"))?1:r.attr("strokeOpacity"),opacity:(0,jO.isNil)(r.attr("opacity"))?1:r.attr("opacity")};r.attr({fillOpacity:0,strokeOpacity:0,opacity:0}),r.animate(n,e)}function Nat(r,e,t){var n={fillOpacity:0,strokeOpacity:0,opacity:0},i=e.easing,a=e.duration,o=e.delay;r.animate(n,a,i,function(){r.remove(!0)},o)}function U8t(r,e,t){var n,i=e[0],a=e[1];return r.applyToMatrix([i,a,1]),t==="x"?(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",.01,1],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",100,1],["t",i,a]])):t==="y"?(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",1,.01],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",1,100],["t",i,a]])):t==="xy"&&(r.setMatrix(gr.transform(r.getMatrix(),[["t",-i,-a],["s",.01,.01],["t",i,a]])),n=gr.transform(r.getMatrix(),[["t",-i,-a],["s",100,100],["t",i,a]])),n}function WO(r,e,t,n,i){var a=t.start,o=t.end,s=t.getWidth(),l=t.getHeight(),u,f;i==="y"?(u=a.x+s/2,f=n.ya.x?n.x:a.x,f=a.y+l/2):i==="xy"&&(t.isPolar?(u=t.getCenter().x,f=t.getCenter().y):(u=(a.x+o.x)/2,f=(a.y+o.y)/2));var c=U8t(r,[u,f],i);r.animate({matrix:c},e)}function Fat(r,e,t){var n=t.coordinate,i=t.minYPoint;WO(r,e,n,i,"x")}function Bat(r,e,t){var n=t.coordinate,i=t.minYPoint;WO(r,e,n,i,"y")}function Gat(r,e,t){var n=t.coordinate,i=t.minYPoint;WO(r,e,n,i,"xy")}function zat(r,e,t){var n=r.getTotalLength();r.attr("lineDash",[n]),r.animate(function(i){return{lineDashOffset:(1-i)*n}},e)}function Uat(r,e,t){var n=t.toAttrs,i=n.x,a=n.y;delete n.x,delete n.y,r.attr(n),r.animate({x:i,y:a},e)}function jat(r,e,t){var n=r.getBBox(),i=r.get("origin").mappingData,a=i.points,o=a[0].y-a[1].y>0?n.maxX:n.minX,s=(n.minY+n.maxY)/2;r.applyToMatrix([o,s,1]);var l=gr.transform(r.getMatrix(),[["t",-o,-s],["s",.01,1],["t",o,s]]);r.setMatrix(l),r.animate({matrix:gr.transform(r.getMatrix(),[["t",-o,-s],["s",100,1],["t",o,s]])},e)}function Wat(r,e,t){var n=r.getBBox(),i=r.get("origin").mappingData,a=(n.minX+n.maxX)/2,o=i.points,s=o[0].y-o[1].y<=0?n.maxY:n.minY;r.applyToMatrix([a,s,1]);var l=gr.transform(r.getMatrix(),[["t",-a,-s],["s",1,.01],["t",a,s]]);r.setMatrix(l),r.animate({matrix:gr.transform(r.getMatrix(),[["t",-a,-s],["s",1,100],["t",a,s]])},e)}var Ep=z(q());function Vat(r,e){var t,n=wm(r,e),i=n.startAngle,a=n.endAngle;return!(0,Ep.isNumberEqual)(i,-Math.PI*.5)&&i<-Math.PI*.5&&(i+=Math.PI*2),!(0,Ep.isNumberEqual)(a,-Math.PI*.5)&&a<-Math.PI*.5&&(a+=Math.PI*2),e[5]===0&&(t=[a,i],i=t[0],a=t[1]),(0,Ep.isNumberEqual)(i,Math.PI*1.5)&&(i=Math.PI*-.5),(0,Ep.isNumberEqual)(a,Math.PI*-.5)&&(a=Math.PI*1.5),{startAngle:i,endAngle:a}}function Hat(r){var e;return r[0]==="M"||r[0]==="L"?e=[r[1],r[2]]:(r[0]==="a"||r[0]==="A"||r[0]==="C")&&(e=[r[r.length-2],r[r.length-1]]),e}function Yat(r){var e,t,n,i=r.filter(function(b){return b[0]==="A"||b[0]==="a"});if(i.length===0)return{startAngle:0,endAngle:0,radius:0,innerRadius:0};var a=i[0],o=i.length>1?i[1]:i[0],s=r.indexOf(a),l=r.indexOf(o),u=Hat(r[s-1]),f=Hat(r[l-1]),c=Vat(u,a),h=c.startAngle,d=c.endAngle,p=Vat(f,o),v=p.startAngle,m=p.endAngle;(0,Ep.isNumberEqual)(h,v)&&(0,Ep.isNumberEqual)(d,m)?(t=h,n=d):(t=Math.min(h,v),n=Math.max(d,m));var g=a[1],x=i[i.length-1][1];return g=0;s--)for(var l=this.getFacetsByLevel(t,s),u=0,f=l;u=d){var m=i.parsePosition([p[l],p[s.field]]);m&&h.push(m)}if(p[l]===c)return!1}),h},e.prototype.parsePercentPosition=function(t){var n=parseFloat(t[0])/100,i=parseFloat(t[1])/100,a=this.view.getCoordinate(),o=a.start,s=a.end,l={x:Math.min(o.x,s.x),y:Math.min(o.y,s.y)},u=a.getWidth()*n+l.x,f=a.getHeight()*i+l.y;return{x:u,y:f}},e.prototype.getCoordinateBBox=function(){var t=this.view.getCoordinate(),n=t.start,i=t.end,a=t.getWidth(),o=t.getHeight(),s={x:Math.min(n.x,i.x),y:Math.min(n.y,i.y)};return{x:s.x,y:s.y,minX:s.x,minY:s.y,maxX:s.x+a,maxY:s.y+o,width:a,height:o}},e.prototype.getAnnotationCfg=function(t,n,i){var a=this,o=this.view.getCoordinate(),s=this.view.getCanvas(),l={};if((0,Cn.isNil)(n))return null;var u=n.start,f=n.end,c=n.position,h=this.parsePosition(u),d=this.parsePosition(f),p=this.parsePosition(c);if(["arc","image","line","region","regionFilter"].includes(t)&&(!h||!d))return null;if(["text","dataMarker","html"].includes(t)&&!p)return null;if(t==="arc"){var v=n,m=v.start,g=v.end,x=rr(v,["start","end"]),b=xh(o,h),S=xh(o,d);b>S&&(S=Math.PI*2+S),l=E(E({},x),{center:o.getCenter(),radius:bm(o,h),startAngle:b,endAngle:S})}else if(t==="image"){var C=n,w=C.start,A=C.end,x=rr(C,["start","end"]);l=E(E({},x),{start:h,end:d,src:n.src})}else if(t==="line"){var L=n,k=L.start,O=L.end,x=rr(L,["start","end"]);l=E(E({},x),{start:h,end:d,text:(0,Cn.get)(n,"text",null)})}else if(t==="region"){var M=n,I=M.start,R=M.end,x=rr(M,["start","end"]);l=E(E({},x),{start:h,end:d})}else if(t==="text"){var P=this.view.getData(),F=n,D=F.position,G=F.content,x=rr(F,["position","content"]),U=G;(0,Cn.isFunction)(G)&&(U=G(P)),l=E(E(E({},p),x),{content:U})}else if(t==="dataMarker"){var j=n,H=j.position,tt=j.point,et=j.line,ut=j.text,$=j.autoAdjust,st=j.direction,x=rr(j,["position","point","line","text","autoAdjust","direction"]);l=E(E(E({},x),p),{coordinateBBox:this.getCoordinateBBox(),point:tt,line:et,text:ut,autoAdjust:$,direction:st})}else if(t==="dataRegion"){var _t=n,dt=_t.start,gt=_t.end,Tt=_t.region,ut=_t.text,Ut=_t.lineLength,x=rr(_t,["start","end","region","text","lineLength"]);l=E(E({},x),{points:this.getRegionPoints(dt,gt),region:Tt,text:ut,lineLength:Ut})}else if(t==="regionFilter"){var $t=n,Y=$t.start,it=$t.end,K=$t.apply,Rt=$t.color,x=rr($t,["start","end","apply","color"]),Xt=this.view.geometries,Zt=[],Ae=function(Ue){!Ue||(Ue.isGroup()?Ue.getChildren().forEach(function(Ht){return Ae(Ht)}):Zt.push(Ue))};(0,Cn.each)(Xt,function(Ue){K?(0,Cn.contains)(K,Ue.type)&&(0,Cn.each)(Ue.elements,function(Ht){Ae(Ht.shape)}):(0,Cn.each)(Ue.elements,function(Ht){Ae(Ht.shape)})}),l=E(E({},x),{color:Rt,shapes:Zt,start:h,end:d})}else if(t==="shape"){var We=n,$e=We.render,W=rr(We,["render"]),Te=function(ee){if((0,Cn.isFunction)(n.render))return $e(ee,a.view,{parsePosition:a.parsePosition.bind(a)})};l=E(E({},W),{render:Te})}else if(t==="html"){var ne=n,pt=ne.html,Et=ne.position,W=rr(ne,["html","position"]),St=function(Ue){return(0,Cn.isFunction)(pt)?pt(Ue,a.view):pt};l=E(E(E({},W),p),{parent:s.get("el").parentNode,html:St})}var Wt=(0,Cn.deepMix)({},i,E(E({},l),{top:n.top,style:n.style,offsetX:n.offsetX,offsetY:n.offsetY}));return t!=="html"&&(Wt.container=this.getComponentContainer(Wt)),Wt.animate=this.view.getOptions().animate&&Wt.animate&&(0,Cn.get)(n,"animate",Wt.animate),Wt.animateOption=(0,Cn.deepMix)({},vp,Wt.animateOption,n.animateOption),Wt},e.prototype.isTop=function(t){return(0,Cn.get)(t,"top",!0)},e.prototype.getComponentContainer=function(t){return this.isTop(t)?this.foregroundContainer:this.backgroundContainer},e.prototype.getAnnotationTheme=function(t){return(0,Cn.get)(this.view.getTheme(),["components","annotation",t],{})},e.prototype.updateOrCreate=function(t){var n=this.cache.get(this.getCacheKey(t));if(n){var i=t.type,a=this.getAnnotationTheme(i),o=this.getAnnotationCfg(i,t,a);o&&So(o,["container"]),n.component.update(E(E({},o||{}),{visible:!!o})),(0,Cn.includes)(YO,t.type)&&n.component.render()}else n=this.createAnnotation(t),n&&(n.component.init(),(0,Cn.includes)(YO,t.type)&&n.component.render());return n},e.prototype.syncCache=function(t){var n=this,i=new Map(this.cache);return t.forEach(function(a,o){i.set(o,a)}),i.forEach(function(a,o){(0,Cn.find)(n.option,function(s){return o===n.getCacheKey(s)})||(a.component.destroy(),i.delete(o))}),i},e.prototype.getCacheKey=function(t){return t},e}(Bl),aot=q8t;var Ci=z(q());var Ih=z(q());function uj(r,e){var t=(0,Ih.deepMix)({},(0,Ih.get)(r,["components","axis","common"]),(0,Ih.get)(r,["components","axis",e]));return(0,Ih.get)(t,["grid"],{})}function qE(r,e,t,n){var i=[],a=e.getTicks();return r.isPolar&&a.push({value:1,text:"",tickValue:""}),a.reduce(function(o,s,l){var u=s.value;if(n)i.push({points:[r.convert(t==="y"?{x:0,y:u}:{x:u,y:0}),r.convert(t==="y"?{x:1,y:u}:{x:u,y:1})]});else if(l){var f=o.value,c=(f+u)/2;i.push({points:[r.convert(t==="y"?{x:0,y:c}:{x:c,y:0}),r.convert(t==="y"?{x:1,y:c}:{x:c,y:1})]})}return s},a[0]),i}function XO(r,e,t,n,i){var a=e.values.length,o=[],s=t.getTicks();return s.reduce(function(l,u){var f=l?l.value:u.value,c=u.value,h=(f+c)/2;return i==="x"?o.push({points:[r.convert({x:n?c:h,y:0}),r.convert({x:n?c:h,y:1})]}):o.push({points:(0,Ih.map)(Array(a+1),function(d,p){return r.convert({x:p/a,y:n?c:h})})}),u},s[0]),o}function fj(r,e){var t=(0,Ih.get)(e,"grid");if(t===null)return!1;var n=(0,Ih.get)(r,"grid");return!(t===void 0&&n===null)}var km=["container"],oot=E(E({},vp),{appear:null}),K8t=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.cache=new Map,n.gridContainer=n.view.getLayer(di.BG).addGroup(),n.gridForeContainer=n.view.getLayer(di.FORE).addGroup(),n.axisContainer=n.view.getLayer(di.BG).addGroup(),n.axisForeContainer=n.view.getLayer(di.FORE).addGroup(),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"axis"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){this.update()},e.prototype.layout=function(){var t=this,n=this.view.getCoordinate();(0,Ci.each)(this.getComponents(),function(i){var a=i.component,o=i.direction,s=i.type,l=i.extra,u=l.dim,f=l.scale,c=l.alignTick,h;if(s===ua.AXIS)n.isPolar?u==="x"?h=n.isTransposed?gE(n,o):RL(n):u==="y"&&(h=n.isTransposed?RL(n):gE(n,o)):h=gE(n,o);else if(s===ua.GRID)if(n.isPolar){var d=void 0;n.isTransposed?d=u==="x"?XO(n,t.view.getYScales()[0],f,c,u):qE(n,f,u,c):d=u==="x"?qE(n,f,u,c):XO(n,t.view.getXScale(),f,c,u),h={items:d,center:t.view.getCoordinate().getCenter()}}else h={items:qE(n,f,u,c)};a.update(h)})},e.prototype.update=function(){this.option=this.view.getOptions().axes;var t=new Map;this.updateXAxes(t),this.updateYAxes(t);var n=new Map;this.cache.forEach(function(i,a){t.has(a)?n.set(a,i):i.component.destroy()}),this.cache=n},e.prototype.clear=function(){r.prototype.clear.call(this),this.cache.clear(),this.gridContainer.clear(),this.gridForeContainer.clear(),this.axisContainer.clear(),this.axisForeContainer.clear()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.gridContainer.remove(!0),this.gridForeContainer.remove(!0),this.axisContainer.remove(!0),this.axisForeContainer.remove(!0)},e.prototype.getComponents=function(){var t=[];return this.cache.forEach(function(n){t.push(n)}),t},e.prototype.updateXAxes=function(t){var n=this.view.getXScale();if(!(!n||n.isIdentity)){var i=Kb(this.option,n.field);if(i!==!1){var a=gU(i,xe.BOTTOM),o=di.BG,s="x",l=this.view.getCoordinate(),u=this.getId("axis",n.field),f=this.getId("grid",n.field);if(l.isRect){var c=this.cache.get(u);if(c){var h=this.getLineAxisCfg(n,i,a);So(h,km),c.component.update(h),t.set(u,c)}else c=this.createLineAxis(n,i,o,a,s),this.cache.set(u,c),t.set(u,c);var d=this.cache.get(f);if(d){var h=this.getLineGridCfg(n,i,a,s);So(h,km),d.component.update(h),t.set(f,d)}else d=this.createLineGrid(n,i,o,a,s),d&&(this.cache.set(f,d),t.set(f,d))}else if(l.isPolar){var c=this.cache.get(u);if(c){var h=l.isTransposed?this.getLineAxisCfg(n,i,xe.RADIUS):this.getCircleAxisCfg(n,i,a);So(h,km),c.component.update(h),t.set(u,c)}else{if(l.isTransposed){if((0,Ci.isUndefined)(i))return;c=this.createLineAxis(n,i,o,xe.RADIUS,s)}else c=this.createCircleAxis(n,i,o,a,s);this.cache.set(u,c),t.set(u,c)}var d=this.cache.get(f);if(d){var h=l.isTransposed?this.getCircleGridCfg(n,i,xe.RADIUS,s):this.getLineGridCfg(n,i,xe.CIRCLE,s);So(h,km),d.component.update(h),t.set(f,d)}else{if(l.isTransposed){if((0,Ci.isUndefined)(i))return;d=this.createCircleGrid(n,i,o,xe.RADIUS,s)}else d=this.createLineGrid(n,i,o,xe.CIRCLE,s);d&&(this.cache.set(f,d),t.set(f,d))}}}}},e.prototype.updateYAxes=function(t){var n=this,i=this.view.getYScales();(0,Ci.each)(i,function(a,o){if(!(!a||a.isIdentity)){var s=a.field,l=Kb(n.option,s);if(l!==!1){var u=di.BG,f="y",c=n.getId("axis",s),h=n.getId("grid",s),d=n.view.getCoordinate();if(d.isRect){var p=gU(l,o===0?xe.LEFT:xe.RIGHT),v=n.cache.get(c);if(v){var m=n.getLineAxisCfg(a,l,p);So(m,km),v.component.update(m),t.set(c,v)}else v=n.createLineAxis(a,l,u,p,f),n.cache.set(c,v),t.set(c,v);var g=n.cache.get(h);if(g){var m=n.getLineGridCfg(a,l,p,f);So(m,km),g.component.update(m),t.set(h,g)}else g=n.createLineGrid(a,l,u,p,f),g&&(n.cache.set(h,g),t.set(h,g))}else if(d.isPolar){var v=n.cache.get(c);if(v){var m=d.isTransposed?n.getCircleAxisCfg(a,l,xe.CIRCLE):n.getLineAxisCfg(a,l,xe.RADIUS);So(m,km),v.component.update(m),t.set(c,v)}else{if(d.isTransposed){if((0,Ci.isUndefined)(l))return;v=n.createCircleAxis(a,l,u,xe.CIRCLE,f)}else v=n.createLineAxis(a,l,u,xe.RADIUS,f);n.cache.set(c,v),t.set(c,v)}var g=n.cache.get(h);if(g){var m=d.isTransposed?n.getLineGridCfg(a,l,xe.CIRCLE,f):n.getCircleGridCfg(a,l,xe.RADIUS,f);So(m,km),g.component.update(m),t.set(h,g)}else{if(d.isTransposed){if((0,Ci.isUndefined)(l))return;g=n.createLineGrid(a,l,u,xe.CIRCLE,f)}else g=n.createCircleGrid(a,l,u,xe.RADIUS,f);g&&(n.cache.set(h,g),t.set(h,g))}}}}})},e.prototype.createLineAxis=function(t,n,i,a,o){var s={component:new prt(this.getLineAxisCfg(t,n,a)),layer:i,direction:a===xe.RADIUS?xe.NONE:a,type:ua.AXIS,extra:{dim:o,scale:t}};return s.component.set("field",t.field),s.component.init(),s},e.prototype.createLineGrid=function(t,n,i,a,o){var s=this.getLineGridCfg(t,n,a,o);if(s){var l={component:new mrt(s),layer:i,direction:xe.NONE,type:ua.GRID,extra:{dim:o,scale:t,alignTick:(0,Ci.get)(s,"alignTick",!0)}};return l.component.init(),l}},e.prototype.createCircleAxis=function(t,n,i,a,o){var s={component:new vrt(this.getCircleAxisCfg(t,n,a)),layer:i,direction:a,type:ua.AXIS,extra:{dim:o,scale:t}};return s.component.set("field",t.field),s.component.init(),s},e.prototype.createCircleGrid=function(t,n,i,a,o){var s=this.getCircleGridCfg(t,n,a,o);if(s){var l={component:new grt(s),layer:i,direction:xe.NONE,type:ua.GRID,extra:{dim:o,scale:t,alignTick:(0,Ci.get)(s,"alignTick",!0)}};return l.component.init(),l}},e.prototype.getLineAxisCfg=function(t,n,i){var a=(0,Ci.get)(n,["top"])?this.axisForeContainer:this.axisContainer,o=this.view.getCoordinate(),s=gE(o,i),l=yU(t,n),u=yE(this.view.getTheme(),i),f=(0,Ci.get)(n,["title"])?(0,Ci.deepMix)({title:{style:{text:l}}},{title:mU(this.view.getTheme(),i,n.title)},n):n,c=(0,Ci.deepMix)(E(E({container:a},s),{ticks:t.getTicks().map(function(b){return{id:"".concat(b.tickValue),name:b.text,value:b.value}}),verticalFactor:o.isPolar?vU(s,o.getCenter())*-1:vU(s,o.getCenter()),theme:u}),u,f),h=this.getAnimateCfg(c),d=h.animate,p=h.animateOption;c.animateOption=p,c.animate=d;var v=pU(s),m=(0,Ci.get)(c,"verticalLimitLength",v?1/3:1/2);if(m<=1){var g=this.view.getCanvas().get("width"),x=this.view.getCanvas().get("height");c.verticalLimitLength=m*(v?g:x)}return c},e.prototype.getLineGridCfg=function(t,n,i,a){if(!!fj(yE(this.view.getTheme(),i),n)){var o=uj(this.view.getTheme(),i),s=(0,Ci.deepMix)({container:(0,Ci.get)(n,["top"])?this.gridForeContainer:this.gridContainer},o,(0,Ci.get)(n,"grid"),this.getAnimateCfg(n));return s.items=qE(this.view.getCoordinate(),t,a,(0,Ci.get)(s,"alignTick",!0)),s}},e.prototype.getCircleAxisCfg=function(t,n,i){var a=(0,Ci.get)(n,["top"])?this.axisForeContainer:this.axisContainer,o=this.view.getCoordinate(),s=t.getTicks().map(function(v){return{id:"".concat(v.tickValue),name:v.text,value:v.value}});!t.isCategory&&Math.abs(o.endAngle-o.startAngle)===Math.PI*2&&s.pop();var l=yU(t,n),u=yE(this.view.getTheme(),xe.CIRCLE),f=(0,Ci.get)(n,["title"])?(0,Ci.deepMix)({title:{style:{text:l}}},{title:mU(this.view.getTheme(),i,n.title)},n):n,c=(0,Ci.deepMix)(E(E({container:a},RL(this.view.getCoordinate())),{ticks:s,verticalFactor:1,theme:u}),u,f),h=this.getAnimateCfg(c),d=h.animate,p=h.animateOption;return c.animate=d,c.animateOption=p,c},e.prototype.getCircleGridCfg=function(t,n,i,a){if(!!fj(yE(this.view.getTheme(),i),n)){var o=uj(this.view.getTheme(),xe.RADIUS),s=(0,Ci.deepMix)({container:(0,Ci.get)(n,["top"])?this.gridForeContainer:this.gridContainer,center:this.view.getCoordinate().getCenter()},o,(0,Ci.get)(n,"grid"),this.getAnimateCfg(n)),l=(0,Ci.get)(s,"alignTick",!0),u=a==="x"?this.view.getYScales()[0]:this.view.getXScale();return s.items=XO(this.view.getCoordinate(),u,t,l,a),s}},e.prototype.getId=function(t,n){var i=this.view.getCoordinate();return"".concat(t,"-").concat(n,"-").concat(i.type)},e.prototype.getAnimateCfg=function(t){return{animate:this.view.getOptions().animate&&(0,Ci.get)(t,"animate"),animateOption:t&&t.animateOption?(0,Ci.deepMix)({},oot,t.animateOption):oot}},e}(Bl),sot=K8t;var Vn=z(q());function uc(r,e,t){return t===xe.TOP?[r.minX+r.width/2-e.width/2,r.minY]:t===xe.BOTTOM?[r.minX+r.width/2-e.width/2,r.maxY-e.height]:t===xe.LEFT?[r.minX,r.minY+r.height/2-e.height/2]:t===xe.RIGHT?[r.maxX-e.width,r.minY+r.height/2-e.height/2]:t===xe.TOP_LEFT||t===xe.LEFT_TOP?[r.tl.x,r.tl.y]:t===xe.TOP_RIGHT||t===xe.RIGHT_TOP?[r.tr.x-e.width,r.tr.y]:t===xe.BOTTOM_LEFT||t===xe.LEFT_BOTTOM?[r.bl.x,r.bl.y-e.height]:t===xe.BOTTOM_RIGHT||t===xe.RIGHT_BOTTOM?[r.br.x-e.width,r.br.y-e.height]:[0,0]}function lot(r,e){return(0,Vn.isBoolean)(r)?r===!1?!1:{}:(0,Vn.get)(r,[e],r)}function qO(r){return(0,Vn.get)(r,"position",xe.BOTTOM)}var Z8t=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.container=n.view.getLayer(di.FORE).addGroup(),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"legend"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){this.update()},e.prototype.layout=function(){var t=this;this.layoutBBox=this.view.viewBBox,(0,Vn.each)(this.components,function(n){var i=n.component,a=n.direction,o=nO(a),s=i.get("maxWidthRatio"),l=i.get("maxHeightRatio"),u=t.getCategoryLegendSizeCfg(o,s,l),f=i.get("maxWidth"),c=i.get("maxHeight");i.update({maxWidth:Math.min(u.maxWidth,f||0),maxHeight:Math.min(u.maxHeight,c||0)});var h=i.get("padding"),d=i.getLayoutBBox(),p=new _a(d.x,d.y,d.width,d.height).expand(h),v=uc(t.view.viewBBox,p,a),m=v[0],g=v[1],x=uc(t.layoutBBox,p,a),b=x[0],S=x[1],C=0,w=0;a.startsWith("top")||a.startsWith("bottom")?(C=m,w=S):(C=b,w=g),i.setLocation({x:C+h[3],y:w+h[0]}),t.layoutBBox=t.layoutBBox.cut(p,a)})},e.prototype.update=function(){var t=this;this.option=this.view.getOptions().legends;var n={},i=function(h,d,p){var v=t.getId(p.field),m=t.getComponentById(v);if(m){var g=void 0,x=lot(t.option,p.field);x!==!1&&((0,Vn.get)(x,"custom")?g=t.getCategoryCfg(h,d,p,x,!0):p.isLinear?g=t.getContinuousCfg(h,d,p,x):p.isCategory&&(g=t.getCategoryCfg(h,d,p,x))),g&&(So(g,["container"]),m.direction=qO(x),m.component.update(g),n[v]=!0)}else{var b=t.createFieldLegend(h,d,p);b&&(b.component.init(),t.components.push(b),n[v]=!0)}};if((0,Vn.get)(this.option,"custom")){var a="global-custom",o=this.getComponentById(a);if(o){var s=this.getCategoryCfg(void 0,void 0,void 0,this.option,!0);So(s,["container"]),o.component.update(s),n[a]=!0}else{var l=this.createCustomLegend(void 0,void 0,void 0,this.option);if(l){l.init();var u=di.FORE,f=qO(this.option);this.components.push({id:a,component:l,layer:u,direction:f,type:ua.LEGEND,extra:void 0}),n[a]=!0}}}else this.loopLegends(i);var c=[];(0,Vn.each)(this.getComponents(),function(h){n[h.id]?c.push(h):h.component.destroy()}),this.components=c},e.prototype.clear=function(){r.prototype.clear.call(this),this.container.clear()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.container.remove(!0)},e.prototype.getGeometries=function(t){var n=this,i=t.geometries;return(0,Vn.each)(t.views,function(a){i=i.concat(n.getGeometries(a))}),i},e.prototype.loopLegends=function(t){var n=this.view.getRootView()===this.view;if(!!n){var i=this.getGeometries(this.view),a={};(0,Vn.each)(i,function(o){var s=o.getGroupAttributes();(0,Vn.each)(s,function(l){var u=l.getScale(l.type);!u||u.type==="identity"||a[u.field]||(t(o,l,u),a[u.field]=!0)})})}},e.prototype.createFieldLegend=function(t,n,i){var a,o=lot(this.option,i.field),s=di.FORE,l=qO(o);if(o!==!1&&((0,Vn.get)(o,"custom")?a=this.createCustomLegend(t,n,i,o):i.isLinear?a=this.createContinuousLegend(t,n,i,o):i.isCategory&&(a=this.createCategoryLegend(t,n,i,o))),a)return a.set("field",i.field),{id:this.getId(i.field),component:a,layer:s,direction:l,type:ua.LEGEND,extra:{scale:i}}},e.prototype.createCustomLegend=function(t,n,i,a){var o=this.getCategoryCfg(t,n,i,a,!0);return new hU(o)},e.prototype.createContinuousLegend=function(t,n,i,a){var o=this.getContinuousCfg(t,n,i,So(a,["value"]));return new yrt(o)},e.prototype.createCategoryLegend=function(t,n,i,a){var o=this.getCategoryCfg(t,n,i,a);return new hU(o)},e.prototype.getContinuousCfg=function(t,n,i,a){var o=i.getTicks(),s=(0,Vn.find)(o,function(v){return v.value===0}),l=(0,Vn.find)(o,function(v){return v.value===1}),u=o.map(function(v){var m=v.value,g=v.tickValue,x=n.mapping(i.invert(m)).join("");return{value:g,attrValue:x,color:x,scaleValue:m}});s||u.push({value:i.min,attrValue:n.mapping(i.invert(0)).join(""),color:n.mapping(i.invert(0)).join(""),scaleValue:0}),l||u.push({value:i.max,attrValue:n.mapping(i.invert(1)).join(""),color:n.mapping(i.invert(1)).join(""),scaleValue:1}),u.sort(function(v,m){return v.value-m.value});var f={min:(0,Vn.head)(u).value,max:(0,Vn.last)(u).value,colors:[],rail:{type:n.type},track:{}};n.type==="size"&&(f.track={style:{fill:n.type==="size"?this.view.getTheme().defaultColor:void 0}}),n.type==="color"&&(f.colors=u.map(function(v){return v.attrValue}));var c=this.container,h=qO(a),d=nO(h),p=(0,Vn.get)(a,"title");return p&&(p=(0,Vn.deepMix)({text:_m(i)},p)),f.container=c,f.layout=d,f.title=p,f.animateOption=vp,this.mergeLegendCfg(f,a,"continuous")},e.prototype.getCategoryCfg=function(t,n,i,a,o){var s=this.container,l=(0,Vn.get)(a,"position",xe.BOTTOM),u=kU(this.view.getTheme(),l),f=(0,Vn.get)(u,["marker"]),c=(0,Vn.get)(a,"marker"),h=nO(l),d=(0,Vn.get)(u,["pageNavigator"]),p=(0,Vn.get)(a,"pageNavigator"),v=o?Snt(f,c,a.items):iO(this.view,t,n,f,c),m=(0,Vn.get)(a,"title");m&&(m=(0,Vn.deepMix)({text:i?_m(i):""},m));var g=(0,Vn.get)(a,"maxWidthRatio"),x=(0,Vn.get)(a,"maxHeightRatio"),b=this.getCategoryLegendSizeCfg(h,g,x);b.container=s,b.layout=h,b.items=v,b.title=m,b.animateOption=vp,b.pageNavigator=(0,Vn.deepMix)({},d,p);var S=this.mergeLegendCfg(b,a,l);S.reversed&&S.items.reverse();var C=(0,Vn.get)(S,"maxItemWidth");return C&&C<=1&&(S.maxItemWidth=this.view.viewBBox.width*C),S},e.prototype.mergeLegendCfg=function(t,n,i){var a=i.split("-")[0],o=kU(this.view.getTheme(),a);return(0,Vn.deepMix)({},o,t,n)},e.prototype.getId=function(t){return"".concat(this.name,"-").concat(t)},e.prototype.getComponentById=function(t){return(0,Vn.find)(this.components,function(n){return n.id===t})},e.prototype.getCategoryLegendSizeCfg=function(t,n,i){n===void 0&&(n=a4),i===void 0&&(i=a4);var a=this.view.viewBBox,o=a.width,s=a.height;return t==="vertical"?{maxWidth:o*n,maxHeight:s}:{maxWidth:o,maxHeight:s*i}},e}(Bl),uot=Z8t;var vi=z(q());var $8t=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.onChangeFn=vi.noop,n.resetMeasure=function(){n.clear()},n.onValueChange=function(i){var a=i[0],o=i[1];n.start=a,n.end=o,n.changeViewData(a,o)},n.container=n.view.getLayer(di.FORE).addGroup(),n.onChangeFn=(0,vi.throttle)(n.onValueChange,20,{leading:!0}),n.width=0,n.view.on(wr.BEFORE_CHANGE_DATA,n.resetMeasure),n.view.on(wr.BEFORE_CHANGE_SIZE,n.resetMeasure),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"slider"},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){r.prototype.destroy.call(this),this.view.off(wr.BEFORE_CHANGE_DATA,this.resetMeasure),this.view.off(wr.BEFORE_CHANGE_SIZE,this.resetMeasure)},e.prototype.init=function(){},e.prototype.render=function(){this.option=this.view.getOptions().slider;var t=this.getSliderCfg(),n=t.start,i=t.end;(0,vi.isNil)(this.start)&&(this.start=n,this.end=i);var a=this.view.getOptions().data;this.option&&!(0,vi.isEmpty)(a)?this.slider?this.slider=this.updateSlider():(this.slider=this.createSlider(),this.slider.component.on("sliderchange",this.onChangeFn)):this.slider&&(this.slider.component.destroy(),this.slider=void 0)},e.prototype.layout=function(){var t=this;if(this.option&&!this.width&&(this.measureSlider(),setTimeout(function(){t.view.destroyed||t.changeViewData(t.start,t.end)},0)),this.slider){var n=this.view.coordinateBBox.width,i=this.slider.component.get("padding"),a=i[0],o=i[1],s=i[2],l=i[3],u=this.slider.component.getLayoutBBox(),f=new _a(u.x,u.y,Math.min(u.width,n),u.height).expand(i),c=this.getMinMaxText(this.start,this.end),h=c.minText,d=c.maxText,p=uc(this.view.viewBBox,f,xe.BOTTOM),v=p[0],m=p[1],g=uc(this.view.coordinateBBox,f,xe.BOTTOM),x=g[0],b=g[1];this.slider.component.update(E(E({},this.getSliderCfg()),{x:x+l,y:m+a,width:this.width,start:this.start,end:this.end,minText:h,maxText:d})),this.view.viewBBox=this.view.viewBBox.cut(f,xe.BOTTOM)}},e.prototype.update=function(){this.render()},e.prototype.createSlider=function(){var t=this.getSliderCfg(),n=new vE(E({container:this.container},t));return n.init(),{component:n,layer:di.FORE,direction:xe.BOTTOM,type:ua.SLIDER}},e.prototype.updateSlider=function(){var t=this.getSliderCfg();if(this.width){var n=this.getMinMaxText(this.start,this.end),i=n.minText,a=n.maxText;t=E(E({},t),{width:this.width,start:this.start,end:this.end,minText:i,maxText:a})}return this.slider.component.update(t),this.slider},e.prototype.measureSlider=function(){var t=this.getSliderCfg().width;this.width=t},e.prototype.getSliderCfg=function(){var t={height:16,start:0,end:1,minText:"",maxText:"",x:0,y:0,width:this.view.coordinateBBox.width};if((0,vi.isObject)(this.option)){var n=E({data:this.getData()},(0,vi.get)(this.option,"trendCfg",{}));t=(0,vi.deepMix)({},t,this.getThemeOptions(),this.option),t=E(E({},t),{trendCfg:n})}return t.start=(0,vi.clamp)(Math.min((0,vi.isNil)(t.start)?0:t.start,(0,vi.isNil)(t.end)?1:t.end),0,1),t.end=(0,vi.clamp)(Math.max((0,vi.isNil)(t.start)?0:t.start,(0,vi.isNil)(t.end)?1:t.end),0,1),t},e.prototype.getData=function(){var t=this.view.getOptions().data,n=this.view.getYScales()[0],i=this.view.getGroupScales();if(i.length){var a=i[0],o=a.field,s=a.ticks;return t.reduce(function(l,u){return u[o]===s[0]&&l.push(u[n.field]),l},[])}return t.map(function(l){return l[n.field]||0})},e.prototype.getThemeOptions=function(){var t=this.view.getTheme();return(0,vi.get)(t,["components","slider","common"],{})},e.prototype.getMinMaxText=function(t,n){var i=this.view.getOptions().data,a=this.view.getXScale(),o=!0,s=(0,vi.valuesOfKey)(i,a.field);a.isLinear&&(s=s.sort());var l=o?s:s.reverse(),u=(0,vi.size)(i);if(!a||!u)return{};var f=(0,vi.size)(l),c=Math.floor(t*(f-1)),h=Math.floor(n*(f-1)),d=(0,vi.get)(l,[c]),p=(0,vi.get)(l,[h]),v=this.getSliderCfg().formatter;return v&&(d=v(d,i[c],c),p=v(p,i[h],h)),{minText:d,maxText:p}},e.prototype.changeViewData=function(t,n){var i=this.view.getOptions().data,a=this.view.getXScale(),o=(0,vi.size)(i);if(!(!a||!o)){var s=!0,l=(0,vi.valuesOfKey)(i,a.field),u=this.view.getXScale().isLinear?l.sort(function(p,v){return Number(p)-Number(v)}):l,f=s?u:u.reverse(),c=(0,vi.size)(f),h=Math.floor(t*(c-1)),d=Math.floor(n*(c-1));this.view.filter(a.field,function(p,v){var m=f.indexOf(p);return m>-1?up(m,h,d):!0}),this.view.render(!0)}},e.prototype.getComponents=function(){return this.slider?[this.slider]:[]},e.prototype.clear=function(){this.slider&&(this.slider.component.destroy(),this.slider=void 0),this.width=0,this.start=void 0,this.end=void 0},e}(Bl),fot=$8t;var Ca=z(q());var KO=0,cot=8,Q8t=32,J8t=20,tHt=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.onChangeFn=Ca.noop,n.resetMeasure=function(){n.clear()},n.onValueChange=function(i){var a=i.ratio,o=n.getValidScrollbarCfg().animate;n.ratio=(0,Ca.clamp)(a,0,1);var s=n.view.getOptions().animate;o||n.view.animate(!1),n.changeViewData(n.getScrollRange(),!0),n.view.animate(s)},n.container=n.view.getLayer(di.FORE).addGroup(),n.onChangeFn=(0,Ca.throttle)(n.onValueChange,20,{leading:!0}),n.trackLen=0,n.thumbLen=0,n.ratio=0,n.view.on(wr.BEFORE_CHANGE_DATA,n.resetMeasure),n.view.on(wr.BEFORE_CHANGE_SIZE,n.resetMeasure),n}return Object.defineProperty(e.prototype,"name",{get:function(){return"scrollbar"},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){r.prototype.destroy.call(this),this.view.off(wr.BEFORE_CHANGE_DATA,this.resetMeasure),this.view.off(wr.BEFORE_CHANGE_SIZE,this.resetMeasure)},e.prototype.init=function(){},e.prototype.render=function(){this.option=this.view.getOptions().scrollbar,this.option?this.scrollbar?this.scrollbar=this.updateScrollbar():(this.scrollbar=this.createScrollbar(),this.scrollbar.component.on("scrollchange",this.onChangeFn)):this.scrollbar&&(this.scrollbar.component.destroy(),this.scrollbar=void 0)},e.prototype.layout=function(){var t=this;if(this.option&&!this.trackLen&&(this.measureScrollbar(),setTimeout(function(){t.view.destroyed||t.changeViewData(t.getScrollRange(),!0)})),this.scrollbar){var n=this.view.coordinateBBox.width,i=this.scrollbar.component.get("padding"),a=this.scrollbar.component.getLayoutBBox(),o=new _a(a.x,a.y,Math.min(a.width,n),a.height).expand(i),s=this.getScrollbarComponentCfg(),l=void 0,u=void 0;if(s.isHorizontal){var f=uc(this.view.viewBBox,o,xe.BOTTOM),c=f[0],h=f[1],d=uc(this.view.coordinateBBox,o,xe.BOTTOM),p=d[0],v=d[1];l=p,u=h}else{var m=uc(this.view.viewBBox,o,xe.RIGHT),c=m[0],h=m[1],g=uc(this.view.viewBBox,o,xe.RIGHT),p=g[0],v=g[1];l=p,u=h}l+=i[3],u+=i[0],this.trackLen?this.scrollbar.component.update(E(E({},s),{x:l,y:u,trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:(this.trackLen-this.thumbLen)*this.ratio})):this.scrollbar.component.update(E(E({},s),{x:l,y:u})),this.view.viewBBox=this.view.viewBBox.cut(o,s.isHorizontal?xe.BOTTOM:xe.RIGHT)}},e.prototype.update=function(){this.render()},e.prototype.getComponents=function(){return this.scrollbar?[this.scrollbar]:[]},e.prototype.clear=function(){this.scrollbar&&(this.scrollbar.component.destroy(),this.scrollbar=void 0),this.trackLen=0,this.thumbLen=0,this.ratio=0,this.cnt=0,this.step=0,this.data=void 0,this.xScaleCfg=void 0,this.yScalesCfg=[]},e.prototype.setValue=function(t){this.onValueChange({ratio:t})},e.prototype.getValue=function(){return this.ratio},e.prototype.getThemeOptions=function(){var t=this.view.getTheme();return(0,Ca.get)(t,["components","scrollbar","common"],{})},e.prototype.getScrollbarTheme=function(t){var n=(0,Ca.get)(this.view.getTheme(),["components","scrollbar"]),i=t||{},a=i.thumbHighlightColor,o=rr(i,["thumbHighlightColor"]);return{default:(0,Ca.deepMix)({},(0,Ca.get)(n,["default","style"],{}),o),hover:(0,Ca.deepMix)({},(0,Ca.get)(n,["hover","style"],{}),{thumbColor:a})}},e.prototype.measureScrollbar=function(){var t=this.view.getXScale(),n=this.view.getYScales().slice();this.data=this.getScrollbarData(),this.step=this.getStep(),this.cnt=this.getCnt();var i=this.getScrollbarComponentCfg(),a=i.trackLen,o=i.thumbLen;this.trackLen=a,this.thumbLen=o,this.xScaleCfg={field:t.field,values:t.values||[]},this.yScalesCfg=n},e.prototype.getScrollRange=function(){var t=Math.floor((this.cnt-this.step)*(0,Ca.clamp)(this.ratio,0,1)),n=Math.min(t+this.step-1,this.cnt-1);return[t,n]},e.prototype.changeViewData=function(t,n){var i=this,a=t[0],o=t[1],s=this.getValidScrollbarCfg().type,l=s!=="vertical",u=(0,Ca.valuesOfKey)(this.data,this.xScaleCfg.field),f=this.view.getXScale().isLinear?u.sort(function(h,d){return Number(h)-Number(d)}):u,c=l?f:f.reverse();this.yScalesCfg.forEach(function(h){i.view.scale(h.field,{formatter:h.formatter,type:h.type,min:h.min,max:h.max,tickMethod:h.tickMethod})}),this.view.filter(this.xScaleCfg.field,function(h){var d=c.indexOf(h);return d>-1?up(d,a,o):!0}),this.view.render(!0)},e.prototype.createScrollbar=function(){var t=this.getValidScrollbarCfg().type,n=t!=="vertical",i=new IL(E(E({container:this.container},this.getScrollbarComponentCfg()),{x:0,y:0}));return i.init(),{component:i,layer:di.FORE,direction:n?xe.BOTTOM:xe.RIGHT,type:ua.SCROLLBAR}},e.prototype.updateScrollbar=function(){var t=this.getScrollbarComponentCfg(),n=this.trackLen?E(E({},t),{trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:(this.trackLen-this.thumbLen)*this.ratio}):E({},t);return this.scrollbar.component.update(n),this.scrollbar},e.prototype.getStep=function(){if(this.step)return this.step;var t=this.view.coordinateBBox,n=this.getValidScrollbarCfg(),i=n.type,a=n.categorySize,o=i!=="vertical";return Math.floor((o?t.width:t.height)/a)},e.prototype.getCnt=function(){if(this.cnt)return this.cnt;var t=this.view.getXScale(),n=this.getScrollbarData(),i=(0,Ca.valuesOfKey)(n,t.field);return(0,Ca.size)(i)},e.prototype.getScrollbarComponentCfg=function(){var t=this.view,n=t.coordinateBBox,i=t.viewBBox,a=this.getValidScrollbarCfg(),o=a.type,s=a.padding,l=a.width,u=a.height,f=a.style,c=o!=="vertical",h=s[0],d=s[1],p=s[2],v=s[3],m=c?{x:n.minX+v,y:i.maxY-u-p}:{x:i.maxX-l-d,y:n.minY+h},g=this.getStep(),x=this.getCnt(),b=c?n.width-v-d:n.height-h-p,S=Math.max(b*(0,Ca.clamp)(g/x,0,1),J8t);return E(E({},this.getThemeOptions()),{x:m.x,y:m.y,size:c?u:l,isHorizontal:c,trackLen:b,thumbLen:S,thumbOffset:0,theme:this.getScrollbarTheme(f)})},e.prototype.getValidScrollbarCfg=function(){var t={type:"horizontal",categorySize:Q8t,width:cot,height:cot,padding:[0,0,0,0],animate:!0,style:{}};return(0,Ca.isObject)(this.option)&&(t=E(E({},t),this.option)),(!(0,Ca.isObject)(this.option)||!this.option.padding)&&(t.padding=t.type==="horizontal"?[KO,0,KO,0]:[0,KO,0,KO]),t},e.prototype.getScrollbarData=function(){var t=this.view.getCoordinate(),n=this.getValidScrollbarCfg(),i=this.view.getOptions().data||[];return t.isReflect("y")&&n.type==="vertical"&&(i=mn([],i,!0).reverse()),i},e}(Bl),hot=tHt;var za=z(q());var eHt={fill:"#CCD6EC",opacity:.3};function rHt(r,e,t){var n=Jrt(r,e,t);if(n.length){n=(0,za.flatten)(n);for(var i=0,a=n;i1){for(var p=n[0],v=Math.abs(e.y-p[0].y),m=0,g=n;md.maxY&&(d=j)):(j.minXd.maxX&&(d=j)),p.x=Math.min(j.minX,p.minX),p.y=Math.min(j.minY,p.minY),p.width=Math.max(j.maxX,p.maxX)-p.x,p.height=Math.max(j.maxY,p.maxY)-p.y});var v=n.backgroundGroup,m=n.coordinateBBox,g=void 0;if(c.isRect){var x=n.getXScale(),b=t||{},S=b.appendRatio,C=b.appendWidth;(0,za.isNil)(C)&&(S=(0,za.isNil)(S)?x.isLinear?0:.25:S,C=c.isTransposed?S*d.height:S*h.width);var w=void 0,A=void 0,L=void 0,k=void 0;c.isTransposed?(w=m.minX,A=Math.min(d.minY,h.minY)-C,L=m.width,k=p.height+C*2):(w=Math.min(h.minX,d.minX)-C,A=m.minY,L=p.width+C*2,k=m.height),g=[["M",w,A],["L",w+L,A],["L",w+L,A+k],["L",w,A+k],["Z"]]}else{var O=(0,za.head)(u),M=(0,za.last)(u),I=lp(O.getModel(),c).startAngle,R=lp(M.getModel(),c).endAngle,P=c.getCenter(),F=c.getRadius(),D=c.innerRadius*F;g=xu(P.x,P.y,F,I,R,D)}if(this.regionPath)this.regionPath.attr("path",g),this.regionPath.show();else{var G=(0,za.get)(t,"style",eHt);this.regionPath=v.addShape({type:"path",name:"active-region",capture:!1,attrs:E(E({},G),{path:g})})}}}},e.prototype.hide=function(){this.regionPath&&this.regionPath.hide(),this.items=null},e.prototype.destroy=function(){this.hide(),this.regionPath&&this.regionPath.remove(!0),r.prototype.destroy.call(this)},e}(Ir),dot=nHt;var cj=z(q());var ZO=z(q());var iHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.timeStamp=0,t}return e.prototype.show=function(){var t=this.context,n=t.event,i=t.view,a=i.isTooltipLocked();if(!a){var o=this.timeStamp,s=+new Date,l=(0,ZO.get)(t.view.getOptions(),"tooltip.showDelay",16);if(s-o>l){var u=this.location,f={x:n.x,y:n.y};(!u||!(0,ZO.isEqual)(u,f))&&this.showTooltip(i,f),this.timeStamp=s,this.location=f}}},e.prototype.hide=function(){var t=this.context.view,n=t.getController("tooltip"),i=this.context.event,a=i.clientX,o=i.clientY;n.isCursorEntered({x:a,y:o})||t.isTooltipLocked()||(this.hideTooltip(t),this.location=null)},e.prototype.showTooltip=function(t,n){t.showTooltip(n)},e.prototype.hideTooltip=function(t){t.hideTooltip()},e}(Ir),$O=iHt;var aHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.showTooltip=function(t,n){var i=Nl(t);(0,cj.each)(i,function(a){var o=VL(t,a,n);a.showTooltip(o)})},e.prototype.hideTooltip=function(t){var n=Nl(t);(0,cj.each)(n,function(i){i.hideTooltip()})},e}($O),pot=aHt;var _1=z(q());var oHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.timeStamp=0,t}return e.prototype.destroy=function(){r.prototype.destroy.call(this),this.tooltip&&this.tooltip.destroy()},e.prototype.show=function(){var t=this.context,n=t.event,i=this.timeStamp,a=+new Date;if(a-i>16){var o=this.location,s={x:n.x,y:n.y};(!o||!(0,_1.isEqual)(o,s))&&this.showTooltip(s),this.timeStamp=a,this.location=s}},e.prototype.hide=function(){this.hideTooltip(),this.location=null},e.prototype.showTooltip=function(t){var n=this.context,i=n.event,a=i.target;if(a&&a.get("tip")){this.tooltip||this.renderTooltip();var o=a.get("tip");this.tooltip.update(E({title:o},t)),this.tooltip.show()}},e.prototype.hideTooltip=function(){this.tooltip&&this.tooltip.hide()},e.prototype.renderTooltip=function(){var t,n=this.context.view,i=n.canvas,a={start:{x:0,y:0},end:{x:i.get("width"),y:i.get("height")}},o=n.getTheme(),s=(0,_1.get)(o,["components","tooltip","domStyles"],{}),l=new qb({parent:i.get("el").parentNode,region:a,visible:!1,crosshairs:null,domStyles:E({},(0,_1.deepMix)({},s,(t={},t[is.CONTAINER_CLASS]={"max-width":"50%"},t[is.TITLE_CLASS]={"word-break":"break-all"},t)))});l.init(),l.setCapture(!1),this.tooltip=l},e}(Ir),vot=oHt;var C1=z(q());var mot=z(q());var sHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="",t}return e.prototype.hasState=function(t){return t.hasState(this.stateName)},e.prototype.setElementState=function(t,n){t.setState(this.stateName,n)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.clear=function(){var t=this.context.view;this.clearViewState(t)},e.prototype.clearViewState=function(t){var n=this,i=UL(t,this.stateName);(0,mot.each)(i,function(a){n.setElementState(a,!1)})},e}(Ir),S1=sHt;function got(r){return(0,C1.get)(r.get("delegateObject"),"item")}var lHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.ignoreListItemStates=["unchecked"],t}return e.prototype.isItemIgnore=function(t,n){var i=this.ignoreListItemStates,a=i.filter(function(o){return n.hasState(t,o)});return!!a.length},e.prototype.setStateByComponent=function(t,n,i){var a=this.context.view,o=t.get("field"),s=Hi(a);this.setElementsStateByItem(s,o,n,i)},e.prototype.setStateByElement=function(t,n){this.setElementState(t,n)},e.prototype.isMathItem=function(t,n,i){var a=this.context.view,o=bh(a,n),s=ls(t,n);return!(0,C1.isNil)(s)&&i.name===o.getText(s)},e.prototype.setElementsStateByItem=function(t,n,i,a){var o=this;(0,C1.each)(t,function(s){o.isMathItem(s,n,i)&&s.setState(o.stateName,a)})},e.prototype.setStateEnable=function(t){var n=bu(this.context);if(n)BL(this.context)&&this.setStateByElement(n,t);else{var i=ic(this.context);if(hp(i)){var a=i.item,o=i.component;if(a&&o&&!this.isItemIgnore(a,o)){var s=this.context.event.gEvent;if(s&&s.fromShape&&s.toShape&&got(s.fromShape)===got(s.toShape))return;this.setStateByComponent(o,a,t)}}}},e.prototype.toggle=function(){var t=bu(this.context);if(t){var n=t.hasState(this.stateName);this.setElementState(t,!n)}},e.prototype.reset=function(){this.setStateEnable(!1)},e}(S1),w1=lHt;var uHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.active=function(){this.setState()},e}(w1),yot=uHt;var E1=z(q()),fHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.cache={},t}return e.prototype.getColorScale=function(t,n){var i=n.geometry.getAttribute("color");if(!i)return null;var a=t.getScaleByField(i.getFields()[0]);return a},e.prototype.getLinkPath=function(t,n){var i=this.context.view,a=i.getCoordinate().isTransposed,o=t.shape.getCanvasBBox(),s=n.shape.getCanvasBBox(),l=a?[["M",o.minX,o.minY],["L",s.minX,s.maxY],["L",s.maxX,s.maxY],["L",o.maxX,o.minY],["Z"]]:[["M",o.maxX,o.minY],["L",s.minX,s.minY],["L",s.minX,s.maxY],["L",o.maxX,o.maxY],["Z"]];return l},e.prototype.addLinkShape=function(t,n,i,a){var o={opacity:.4,fill:n.shape.attr("fill")};t.addShape({type:"path",attrs:E(E({},(0,E1.deepMix)({},o,(0,E1.isFunction)(a)?a(o,n):a)),{path:this.getLinkPath(n,i)})})},e.prototype.linkByElement=function(t,n){var i=this,a=this.context.view,o=this.getColorScale(a,t);if(!!o){var s=ls(t,o.field);if(!this.cache[s]){var l=Brt(a,o.field,s),u=this.linkGroup,f=u.addGroup();this.cache[s]=f;var c=l.length;(0,E1.each)(l,function(h,d){if(d=0},n)},e}(A1),dj=yHt;var xHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.highlight=function(){this.setState()},e.prototype.setElementState=function(t,n){var i=this.context.view,a=Hi(i);QO(a,function(o){return t===o},n)},e.prototype.clear=function(){var t=this.context.view;T1(t)},e}(M1),wot=xHt;var bHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(A1),Eot=bHt;var _Ht=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(w1),Aot=_Ht;var SHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(M1),Mot=SHt;var QE=z(q());var CHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="",t.ignoreItemStates=[],t}return e.prototype.getTriggerListInfo=function(){var t=ic(this.context),n=null;return hp(t)&&(n={item:t.item,list:t.component}),n},e.prototype.getAllowComponents=function(){var t=this,n=this.context.view,i=WL(n),a=[];return(0,QE.each)(i,function(o){o.isList()&&t.allowSetStateByElement(o)&&a.push(o)}),a},e.prototype.hasState=function(t,n){return t.hasState(n,this.stateName)},e.prototype.clearAllComponentsState=function(){var t=this,n=this.getAllowComponents();(0,QE.each)(n,function(i){i.clearItemsState(t.stateName)})},e.prototype.allowSetStateByElement=function(t){var n=t.get("field");if(!n)return!1;if(this.cfg&&this.cfg.componentNames){var i=t.get("name");if(this.cfg.componentNames.indexOf(i)===-1)return!1}var a=this.context.view,o=bh(a,n);return o&&o.isCategory},e.prototype.allowSetStateByItem=function(t,n){var i=this.ignoreItemStates;if(i.length){var a=i.filter(function(o){return n.hasState(t,o)});return a.length===0}return!0},e.prototype.setStateByElement=function(t,n,i){var a=t.get("field"),o=this.context.view,s=bh(o,a),l=ls(n,a),u=s.getText(l);this.setItemsState(t,u,i)},e.prototype.setStateEnable=function(t){var n=this,i=bu(this.context);if(i){var a=this.getAllowComponents();(0,QE.each)(a,function(u){n.setStateByElement(u,i,t)})}else{var o=ic(this.context);if(hp(o)){var s=o.item,l=o.component;this.allowSetStateByElement(l)&&this.allowSetStateByItem(s,l)&&this.setItemState(l,s,t)}}},e.prototype.setItemsState=function(t,n,i){var a=this,o=t.getItems();(0,QE.each)(o,function(s){s.name===n&&a.setItemState(t,s,i)})},e.prototype.setItemState=function(t,n,i){t.setItemState(n,this.stateName,i)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.reset=function(){this.setStateEnable(!1)},e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t&&t.item){var n=t.list,i=t.item,a=this.hasState(n,i);this.setItemState(n,i,!a)}},e.prototype.clear=function(){var t=this.getTriggerListInfo();t?t.list.clearItemsState(this.stateName):this.clearAllComponentsState()},e}(Ir),zl=CHt;var wHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="active",t}return e.prototype.active=function(){this.setState()},e}(zl),Tot=wHt;var JE=z(q());var Iot=z(q()),Lot="inactive",Oot="active";function Dot(r){var e=r.getItems();(0,Iot.each)(e,function(t){r.hasState(t,Oot)&&r.setItemState(t,Oot,!1),r.hasState(t,Lot)&&r.setItemState(t,Lot,!1)})}var tA="inactive",c0="active",EHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName=c0,t.ignoreItemStates=["unchecked"],t}return e.prototype.setItemsState=function(t,n,i){this.setHighlightBy(t,function(a){return a.name===n},i)},e.prototype.setItemState=function(t,n,i){var a=t.getItems();this.setHighlightBy(t,function(o){return o===n},i)},e.prototype.setHighlightBy=function(t,n,i){var a=t.getItems();if(i)(0,JE.each)(a,function(l){n(l)?(t.hasState(l,tA)&&t.setItemState(l,tA,!1),t.setItemState(l,c0,!0)):t.hasState(l,c0)||t.setItemState(l,tA,!0)});else{var o=t.getItemsByState(c0),s=!0;(0,JE.each)(o,function(l){if(!n(l))return s=!1,!1}),s?this.clear():(0,JE.each)(a,function(l){n(l)&&(t.hasState(l,c0)&&t.setItemState(l,c0,!1),t.setItemState(l,tA,!0))})}},e.prototype.highlight=function(){this.setState()},e.prototype.clear=function(){var t=this.getTriggerListInfo();if(t)Dot(t.list);else{var n=this.getAllowComponents();(0,JE.each)(n,function(i){i.clearItemsState(c0),i.clearItemsState(tA)})}},e}(zl),tD=EHt;var AHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="selected",t}return e.prototype.selected=function(){this.setState()},e}(zl),Pot=AHt;var MHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName="unchecked",t}return e.prototype.unchecked=function(){this.setState()},e}(zl),kot=MHt;var eA=z(q());var L1="unchecked",eD="checked",THt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.stateName=eD,t}return e.prototype.setItemState=function(t,n,i){this.setCheckedBy(t,function(a){return a===n},i)},e.prototype.setCheckedBy=function(t,n,i){var a=t.getItems();i&&(0,eA.each)(a,function(o){n(o)?(t.hasState(o,L1)&&t.setItemState(o,L1,!1),t.setItemState(o,eD,!0)):t.hasState(o,eD)||t.setItemState(o,L1,!0)})},e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t&&t.item){var n=t.list,i=t.item,a=!(0,eA.some)(n.getItems(),function(o){return n.hasState(o,L1)});a||n.hasState(i,L1)?this.setItemState(n,i,!0):this.reset()}},e.prototype.checked=function(){this.setState()},e.prototype.reset=function(){var t=this.getAllowComponents();(0,eA.each)(t,function(n){n.clearItemsState(eD),n.clearItemsState(L1)})},e}(zl),Rot=THt;var O1="unchecked",IHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t==null?void 0:t.item){var n=t.list,i=t.item,a=n.getItems(),o=a.filter(function(x){return!n.hasState(x,O1)}),s=a.filter(function(x){return n.hasState(x,O1)}),l=o[0];if(a.length===o.length)for(var u=0,f=a;u16&&o.get("name")==="legend-item-radio"){var s=this.location,l={x:n.x,y:n.y};this.timeStamp=a,this.location=l,(!s||!(0,Fot.isEqual)(s,l))&&this.showTooltip(l)}},e.prototype.hideTip=function(){this.hideTooltip(),this.location=null},e.prototype.showTooltip=function(t){var n=this.context,i=n.event,a=i.target;if(a&&a.get("tip")){this.tooltip||this.renderTooltip();var o=n.view.getCanvas().get("el").getBoundingClientRect(),s=o.x,l=o.y;this.tooltip.update(E(E({title:a.get("tip")},t),{x:t.x+s,y:t.y+l})),this.tooltip.show()}},e.prototype.hideTooltip=function(){this.tooltip&&this.tooltip.hide()},e.prototype.renderTooltip=function(){var t,n=(t={},t[is.CONTAINER_CLASS]={padding:"6px 8px",transform:"translate(-50%, -80%)",background:"rgba(0,0,0,0.75)",color:"#fff","border-radius":"2px","z-index":100},t[is.TITLE_CLASS]={"font-size":"12px","line-height":"14px","margin-bottom":0,"word-break":"break-all"},t);document.getElementById(pj)&&document.body.removeChild(document.getElementById(pj));var i=new qb({parent:document.body,region:null,visible:!1,crosshairs:null,domStyles:n,containerId:pj});i.init(),i.setCapture(!1),this.tooltip=i},e}(zl),Got=LHt;var zot=z(q());var rD=z(q());var OHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.maskShape=null,t.points=[],t.starting=!1,t.moving=!1,t.preMovePoint=null,t.shapeType="path",t}return e.prototype.getCurrentPoint=function(){var t=this.context.event;return{x:t.x,y:t.y}},e.prototype.emitEvent=function(t){var n="mask:".concat(t),i=this.context.view,a=this.context.event;i.emit(n,{target:this.maskShape,shape:this.maskShape,points:this.points,x:a.x,y:a.y})},e.prototype.createMask=function(){var t=this.context.view,n=this.getMaskAttrs(),i=t.foregroundGroup.addShape({type:this.shapeType,name:"mask",draggable:!0,attrs:E({fill:"#C5D4EB",opacity:.3},n)});return i},e.prototype.getMaskPath=function(){return[]},e.prototype.show=function(){this.maskShape&&(this.maskShape.show(),this.emitEvent("show"))},e.prototype.start=function(t){this.starting=!0,this.moving=!1,this.points=[this.getCurrentPoint()],this.maskShape||(this.maskShape=this.createMask(),this.maskShape.set("capture",!1)),this.updateMask(t==null?void 0:t.maskStyle),this.emitEvent("start")},e.prototype.moveStart=function(){this.moving=!0,this.preMovePoint=this.getCurrentPoint()},e.prototype.move=function(){if(!(!this.moving||!this.maskShape)){var t=this.getCurrentPoint(),n=this.preMovePoint,i=t.x-n.x,a=t.y-n.y,o=this.points;(0,rD.each)(o,function(s){s.x+=i,s.y+=a}),this.updateMask(),this.emitEvent("change"),this.preMovePoint=t}},e.prototype.updateMask=function(t){var n=(0,rD.deepMix)({},this.getMaskAttrs(),t);this.maskShape.attr(n)},e.prototype.moveEnd=function(){this.moving=!1,this.preMovePoint=null},e.prototype.end=function(){this.starting=!1,this.emitEvent("end"),this.maskShape&&this.maskShape.set("capture",!0)},e.prototype.hide=function(){this.maskShape&&(this.maskShape.hide(),this.emitEvent("hide"))},e.prototype.resize=function(){this.starting&&this.maskShape&&(this.points.push(this.getCurrentPoint()),this.updateMask(),this.emitEvent("change"))},e.prototype.destroy=function(){this.points=[],this.maskShape&&this.maskShape.remove(),this.maskShape=null,this.preMovePoint=null,r.prototype.destroy.call(this)},e}(Ir),D1=OHt;var DHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.shapeType="circle",t}return e.prototype.getMaskAttrs=function(){var t=this.points,n=(0,zot.last)(this.points),i=0,a=0,o=0;if(t.length){var s=t[0];i=$b(s,n)/2,a=(n.x+s.x)/2,o=(n.y+s.y)/2}return{x:a,y:o,r:i}},e}(D1),Uot=DHt;var h0=z(q());var nD=z(q());var PHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.shapeType="rect",t}return e.prototype.getRegion=function(){var t=this.points;return{start:(0,nD.head)(t),end:(0,nD.last)(t)}},e.prototype.getMaskAttrs=function(){var t=this.getRegion(),n=t.start,i=t.end,a=Math.min(n.x,i.x),o=Math.min(n.y,i.y),s=Math.abs(i.x-n.x),l=Math.abs(i.y-n.y);return{x:a,y:o,width:s,height:l}},e}(D1),iD=PHt;function jot(r){r.x=(0,h0.clamp)(r.x,0,1),r.y=(0,h0.clamp)(r.y,0,1)}var kHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dim="x",t.inPlot=!0,t}return e.prototype.getRegion=function(){var t=null,n=null,i=this.points,a=this.dim,o=this.context.view.getCoordinate(),s=o.invert((0,h0.head)(i)),l=o.invert((0,h0.last)(i));return this.inPlot&&(jot(s),jot(l)),a==="x"?(t=o.convert({x:s.x,y:0}),n=o.convert({x:l.x,y:1})):(t=o.convert({x:0,y:s.y}),n=o.convert({x:1,y:l.y})),{start:t,end:n}},e}(iD),vj=kHt;var Wot=z(q());var RHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getMaskPath=function(){var t=this.points,n=[];return t.length&&((0,Wot.each)(t,function(i,a){a===0?n.push(["M",i.x,i.y]):n.push(["L",i.x,i.y])}),n.push(["L",t[0].x,t[0].y])),n},e.prototype.getMaskAttrs=function(){return{path:this.getMaskPath()}},e.prototype.addPoint=function(){this.resize()},e}(D1),aD=RHt;var NHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getMaskPath=function(){var t=this.points;return zrt(t,!0)},e}(aD),Vot=NHt;var FHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.setCursor=function(t){var n=this.context.view;n.getCanvas().setCursor(t)},e.prototype.default=function(){this.setCursor("default")},e.prototype.pointer=function(){this.setCursor("pointer")},e.prototype.move=function(){this.setCursor("move")},e.prototype.crosshair=function(){this.setCursor("crosshair")},e.prototype.wait=function(){this.setCursor("wait")},e.prototype.help=function(){this.setCursor("help")},e.prototype.text=function(){this.setCursor("text")},e.prototype.eResize=function(){this.setCursor("e-resize")},e.prototype.wResize=function(){this.setCursor("w-resize")},e.prototype.nResize=function(){this.setCursor("n-resize")},e.prototype.sResize=function(){this.setCursor("s-resize")},e.prototype.neResize=function(){this.setCursor("ne-resize")},e.prototype.nwResize=function(){this.setCursor("nw-resize")},e.prototype.seResize=function(){this.setCursor("se-resize")},e.prototype.swResize=function(){this.setCursor("sw-resize")},e.prototype.nsResize=function(){this.setCursor("ns-resize")},e.prototype.ewResize=function(){this.setCursor("ew-resize")},e}(Ir),Hot=FHt;var Yot=z(q());var BHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filterView=function(t,n,i){var a=this;t.getScaleByField(n)&&t.filter(n,i),t.views&&t.views.length&&(0,Yot.each)(t.views,function(o){a.filterView(o,n,i)})},e.prototype.filter=function(){var t=ic(this.context);if(t){var n=this.context.view,i=t.component,a=i.get("field");if(hp(t)){if(a){var o=i.getItemsByState("unchecked"),s=bh(n,a),l=o.map(function(h){return h.name});l.length?this.filterView(n,a,function(h){var d=s.getText(h);return!l.includes(d)}):this.filterView(n,a,null),n.render(!0)}}else if(GL(t)){var u=i.getValue(),f=u[0],c=u[1];this.filterView(n,a,function(h){return h>=f&&h<=c}),n.render(!0)}}},e}(Ir),Xot=BHt;function qot(r,e,t,n){var i=Math.min(t[e],n[e]),a=Math.max(t[e],n[e]),o=r.range,s=o[0],l=o[1];if(il&&(a=l),i===l&&a===l)return null;var u=r.invert(i),f=r.invert(a);if(r.isCategory){var c=r.values.indexOf(u),h=r.values.indexOf(f),d=r.values.slice(c,h+1);return function(p){return d.includes(p)}}else return function(p){return p>=u&&p<=f}}var fs;(function(r){r.FILTER="brush-filter-processing",r.RESET="brush-filter-reset",r.BEFORE_FILTER="brush-filter:beforefilter",r.AFTER_FILTER="brush-filter:afterfilter",r.BEFORE_RESET="brush-filter:beforereset",r.AFTER_RESET="brush-filter:afterreset"})(fs||(fs={}));var GHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dims=["x","y"],t.startPoint=null,t.isStarted=!1,t}return e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.start=function(){var t=this.context;this.isStarted=!0,this.startPoint=t.getCurrentPoint()},e.prototype.filter=function(){var t,n;if(dp(this.context)){var i=this.context.event.target,a=i.getCanvasBBox();t={x:a.x,y:a.y},n={x:a.maxX,y:a.maxY}}else{if(!this.isStarted)return;t=this.startPoint,n=this.context.getCurrentPoint()}if(!(Math.abs(t.x-n.x)<5||Math.abs(t.x-n.y)<5)){var o=this.context,s=o.view,l=o.event,u={view:s,event:l,dims:this.dims};s.emit(fs.BEFORE_FILTER,zn.fromData(s,fs.BEFORE_FILTER,u));var f=s.getCoordinate(),c=f.invert(n),h=f.invert(t);if(this.hasDim("x")){var d=s.getXScale(),p=qot(d,"x",c,h);this.filterView(s,d.field,p)}if(this.hasDim("y")){var v=s.getYScales()[0],p=qot(v,"y",c,h);this.filterView(s,v.field,p)}this.reRender(s,{source:fs.FILTER}),s.emit(fs.AFTER_FILTER,zn.fromData(s,fs.AFTER_FILTER,u))}},e.prototype.end=function(){this.isStarted=!1},e.prototype.reset=function(){var t=this.context.view;if(t.emit(fs.BEFORE_RESET,zn.fromData(t,fs.BEFORE_RESET,{})),this.isStarted=!1,this.hasDim("x")){var n=t.getXScale();this.filterView(t,n.field,null)}if(this.hasDim("y")){var i=t.getYScales()[0];this.filterView(t,i.field,null)}this.reRender(t,{source:fs.RESET}),t.emit(fs.AFTER_RESET,zn.fromData(t,fs.AFTER_RESET,{}))},e.prototype.filterView=function(t,n,i){t.filter(n,i)},e.prototype.reRender=function(t,n){t.render(!0,n)},e}(Ir),P1=GHt;var mj=z(q());var zHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filterView=function(t,n,i){var a=Nl(t);(0,mj.each)(a,function(o){o.filter(n,i)})},e.prototype.reRender=function(t){var n=Nl(t);(0,mj.each)(n,function(i){i.render(!0)})},e}(P1),oD=zHt;var rA=z(q());var UHt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.filter=function(){var t=ic(this.context),n=this.context.view,i=Hi(n);if(dp(this.context)){var a=Zb(this.context,10);a&&(0,rA.each)(i,function(p){a.includes(p)?p.show():p.hide()})}else if(t){var o=t.component,s=o.get("field");if(hp(t)){if(s){var l=o.getItemsByState("unchecked"),u=bh(n,s),f=l.map(function(p){return p.name});(0,rA.each)(i,function(p){var v=ls(p,s),m=u.getText(v);f.indexOf(m)>=0?p.hide():p.show()})}}else if(GL(t)){var c=o.getValue(),h=c[0],d=c[1];(0,rA.each)(i,function(p){var v=ls(p,s);v>=h&&v<=d?p.show():p.hide()})}}},e.prototype.clear=function(){var t=Hi(this.context.view);(0,rA.each)(t,function(n){n.show()})},e.prototype.reset=function(){this.clear()},e}(Ir),Kot=UHt;var d0=z(q());var jHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.byRecord=!1,t}return e.prototype.filter=function(){dp(this.context)&&(this.byRecord?this.filterByRecord():this.filterByBBox())},e.prototype.filterByRecord=function(){var t=this.context.view,n=Zb(this.context,10);if(!!n){var i=t.getXScale().field,a=t.getYScales()[0].field,o=n.map(function(l){return l.getModel().data}),s=Nl(t);(0,d0.each)(s,function(l){var u=Hi(l);(0,d0.each)(u,function(f){var c=f.getModel().data;HL(o,c,i,a)?f.show():f.hide()})})}},e.prototype.filterByBBox=function(){var t=this,n=this.context.view,i=Nl(n);(0,d0.each)(i,function(a){var o=zL(t.context,a,10),s=Hi(a);o&&(0,d0.each)(s,function(l){o.includes(l)?l.show():l.hide()})})},e.prototype.reset=function(){var t=Nl(this.context.view);(0,d0.each)(t,function(n){var i=Hi(n);(0,d0.each)(i,function(a){a.show()})})},e}(Ir),gj=jHt;var Zot=z(q());var WHt=10,VHt=5,HHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.buttonGroup=null,t.buttonCfg={name:"button",text:"button",textStyle:{x:0,y:0,fontSize:12,fill:"#333333",cursor:"pointer"},padding:[8,10],style:{fill:"#f7f7f7",stroke:"#cccccc",cursor:"pointer"},activeStyle:{fill:"#e6e6e6"}},t}return e.prototype.getButtonCfg=function(){return(0,Zot.deepMix)(this.buttonCfg,this.cfg)},e.prototype.drawButton=function(){var t=this.getButtonCfg(),n=this.context.view.foregroundGroup.addGroup({name:t.name}),i=n.addShape({type:"text",name:"button-text",attrs:E({text:t.text},t.textStyle)}),a=i.getBBox(),o=Qb(t.padding),s=n.addShape({type:"rect",name:"button-rect",attrs:E({x:a.x-o[3],y:a.y-o[0],width:a.width+o[1]+o[3],height:a.height+o[0]+o[2]},t.style)});s.toBack(),n.on("mouseenter",function(){s.attr(t.activeStyle)}),n.on("mouseleave",function(){s.attr(t.style)}),this.buttonGroup=n},e.prototype.resetPosition=function(){var t=this.context.view,n=t.getCoordinate(),i=n.convert({x:1,y:1}),a=this.buttonGroup,o=a.getBBox(),s=gr.transform(null,[["t",i.x-o.width-WHt,i.y+o.height+VHt]]);a.setMatrix(s)},e.prototype.show=function(){this.buttonGroup||this.drawButton(),this.resetPosition(),this.buttonGroup.show()},e.prototype.hide=function(){this.buttonGroup&&this.buttonGroup.hide()},e.prototype.destroy=function(){var t=this.buttonGroup;t&&t.remove(),r.prototype.destroy.call(this)},e}(Ir),$ot=HHt;var YHt=4,XHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.starting=!1,t.dragStart=!1,t}return e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint()},e.prototype.drag=function(){if(!!this.startPoint){var t=this.context.getCurrentPoint(),n=this.context.view,i=this.context.event;this.dragStart?n.emit("drag",{target:i.target,x:i.x,y:i.y}):$b(t,this.startPoint)>YHt&&(n.emit("dragstart",{target:i.target,x:i.x,y:i.y}),this.dragStart=!0)}},e.prototype.end=function(){if(this.dragStart){var t=this.context.view,n=this.context.event;t.emit("dragend",{target:n.target,x:n.x,y:n.y})}this.starting=!1,this.dragStart=!1},e}(Ir),Qot=XHt;var qHt=5,KHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.starting=!1,t.isMoving=!1,t.startPoint=null,t.startMatrix=null,t}return e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint(),this.startMatrix=this.context.view.middleGroup.getMatrix()},e.prototype.move=function(){if(!!this.starting){var t=this.startPoint,n=this.context.getCurrentPoint(),i=$b(t,n);if(i>qHt&&!this.isMoving&&(this.isMoving=!0),this.isMoving){var a=this.context.view,o=gr.transform(this.startMatrix,[["t",n.x-t.x,n.y-t.y]]);a.backgroundGroup.setMatrix(o),a.foregroundGroup.setMatrix(o),a.middleGroup.setMatrix(o)}}},e.prototype.end=function(){this.isMoving&&(this.isMoving=!1),this.startMatrix=null,this.starting=!1,this.startPoint=null},e.prototype.reset=function(){this.starting=!1,this.startPoint=null,this.isMoving=!1;var t=this.context.view;t.backgroundGroup.resetMatrix(),t.foregroundGroup.resetMatrix(),t.middleGroup.resetMatrix(),this.isMoving=!1},e}(Ir),Jot=KHt;var yj=z(q());var tst="x",est="y",ZHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.dims=[tst,est],t.cfgFields=["dims"],t.cacheScaleDefs={},t}return e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.getScale=function(t){var n=this.context.view;return t==="x"?n.getXScale():n.getYScales()[0]},e.prototype.resetDim=function(t){var n=this.context.view;if(this.hasDim(t)&&this.cacheScaleDefs[t]){var i=this.getScale(t);n.scale(i.field,this.cacheScaleDefs[t]),this.cacheScaleDefs[t]=null}},e.prototype.reset=function(){this.resetDim(tst),this.resetDim(est);var t=this.context.view;t.render(!0)},e}(Ir),sD=ZHt;var $Ht=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.startPoint=null,t.starting=!1,t.startCache={},t}return e.prototype.start=function(){var t=this;this.startPoint=this.context.getCurrentPoint(),this.starting=!0;var n=this.dims;(0,yj.each)(n,function(i){var a=t.getScale(i),o=a.min,s=a.max,l=a.values;t.startCache[i]={min:o,max:s,values:l}})},e.prototype.end=function(){this.startPoint=null,this.starting=!1,this.startCache={}},e.prototype.translate=function(){var t=this;if(!!this.starting){var n=this.startPoint,i=this.context.view.getCoordinate(),a=this.context.getCurrentPoint(),o=i.invert(n),s=i.invert(a),l=s.x-o.x,u=s.y-o.y,f=this.context.view,c=this.dims;(0,yj.each)(c,function(h){t.translateDim(h,{x:l*-1,y:u*-1})}),f.render(!0)}},e.prototype.translateDim=function(t,n){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.translateLinear(t,i,n)}},e.prototype.translateLinear=function(t,n,i){var a=this.context.view,o=this.startCache[t],s=o.min,l=o.max,u=l-s,f=i[t]*u;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:n.nice,min:s,max:l}),a.scale(n.field,{nice:!1,min:s+f,max:l+f})},e.prototype.reset=function(){r.prototype.reset.call(this),this.startPoint=null,this.starting=!1},e}(sD),rst=$Ht;var nst=z(q());var QHt=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.zoomRatio=.05,t}return e.prototype.zoomIn=function(){this.zoom(this.zoomRatio)},e.prototype.zoom=function(t){var n=this,i=this.dims;(0,nst.each)(i,function(a){n.zoomDim(a,t)}),this.context.view.render(!0)},e.prototype.zoomOut=function(){this.zoom(-1*this.zoomRatio)},e.prototype.zoomDim=function(t,n){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.zoomLinear(t,i,n)}},e.prototype.zoomLinear=function(t,n,i){var a=this.context.view;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:n.nice,min:n.min,max:n.max});var o=this.cacheScaleDefs[t],s=o.max-o.min,l=n.min,u=n.max,f=i*s,c=l-f,h=u+f,d=h-c,p=d/s;h>c&&p<100&&p>.01&&a.scale(n.field,{nice:!1,min:l-f,max:u+f})},e}(sD),ist=QHt;var p0=z(q());function JHt(r){var e=r.gEvent.originalEvent;return e.deltaY>0}var tYt=1,eYt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.scroll=function(t){var n=this.context,i=n.view,a=n.event;if(!!i.getOptions().scrollbar){var o=(t==null?void 0:t.wheelDelta)||tYt,s=i.getController("scrollbar"),l=i.getXScale(),u=i.getOptions().data,f=(0,p0.size)((0,p0.valuesOfKey)(u,l.field)),c=(0,p0.size)(l.values),h=s.getValue(),d=Math.floor((f-c)*h),p=d+(JHt(a)?o:-o),v=o/(f-c)/1e4,m=(0,p0.clamp)(p/(f-c)+v,0,1);s.setValue(m)}},e}(Ir),ast=eYt;s0("dark",XL(wnt));Ew("canvas",ZU);Ew("svg",tj);Fl("Polygon",zit);Fl("Interval",Rit);Fl("Schema",Uit);Fl("Path",p1);Fl("Point",Git);Fl("Line",Nit);Fl("Area",Iit);Fl("Edge",Lit);Fl("Heatmap",Oit);Fl("Violin",Wit);gp("base",Ch);gp("interval",Jit);gp("pie",tat);gp("polar",FO);us("overlap",dat);us("distribute",rat);us("fixed-overlap",hat);us("hide-overlap",bat);us("limit-in-shape",fat);us("limit-in-canvas",lat);us("limit-in-plot",kat);us("pie-outer",iat);us("adjust-color",Cat);us("interval-adjust-position",wat);us("interval-hide-overlap",Eat);us("point-adjust-position",Tat);us("pie-spider",oat);us("path-adjust-position",Oat);Ms("fade-in",Rat);Ms("fade-out",Nat);Ms("grow-in-x",Fat);Ms("grow-in-xy",Gat);Ms("grow-in-y",Bat);Ms("scale-in-x",jat);Ms("scale-in-y",Wat);Ms("wave-in",qat);Ms("zoom-in",Zat);Ms("zoom-out",$at);Ms("position-update",Uat);Ms("sector-path-update",Xat);Ms("path-in",zat);fp("rect",rot);fp("mirror",eot);fp("list",Jat);fp("matrix",tot);fp("circle",Qat);fp("tree",not);Ju("axis",sot);Ju("legend",uot);Ju("tooltip",r1);Ju("annotation",aot);Ju("slider",fot);Ju("scrollbar",hot);nr("tooltip",$O);nr("sibling-tooltip",pot);nr("ellipsis-text",vot);nr("element-active",yot);nr("element-single-active",_ot);nr("element-range-active",bot);nr("element-highlight",I1);nr("element-highlight-by-x",Cot);nr("element-highlight-by-color",Sot);nr("element-single-highlight",wot);nr("element-range-highlight",dj);nr("element-sibling-highlight",dj,{effectSiblings:!0,effectByRecord:!0});nr("element-selected",Aot);nr("element-single-selected",Mot);nr("element-range-selected",Eot);nr("element-link-by-color",xot);nr("active-region",dot);nr("list-active",Tot);nr("list-selected",Pot);nr("list-highlight",tD);nr("list-unchecked",kot);nr("list-checked",Rot);nr("list-focus",Not);nr("list-radio",Got);nr("legend-item-highlight",tD,{componentNames:["legend"]});nr("axis-label-highlight",tD,{componentNames:["axis"]});nr("rect-mask",iD);nr("x-rect-mask",vj,{dim:"x"});nr("y-rect-mask",vj,{dim:"y"});nr("circle-mask",Uot);nr("path-mask",aD);nr("smooth-path-mask",Vot);nr("cursor",Hot);nr("data-filter",Xot);nr("brush",P1);nr("brush-x",P1,{dims:["x"]});nr("brush-y",P1,{dims:["y"]});nr("sibling-filter",oD);nr("sibling-x-filter",oD);nr("sibling-y-filter",oD);nr("element-filter",Kot);nr("element-sibling-filter",gj);nr("element-sibling-filter-record",gj,{byRecord:!0});nr("view-drag",Qot);nr("view-move",Jot);nr("scale-translate",rst);nr("scale-zoom",ist);nr("reset-button",$ot,{name:"reset-button",text:"reset"});nr("mousewheel-scroll",ast);function Nm(r){return r.isInPlot()}xr("tooltip",{start:[{trigger:"plot:mousemove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"plot:touchmove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"plot:mouseleave",action:"tooltip:hide"},{trigger:"plot:leave",action:"tooltip:hide"},{trigger:"plot:touchend",action:"tooltip:hide"}]});xr("ellipsis-text",{start:[{trigger:"legend-item-name:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"legend-item-name:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"legend-item-name:mouseleave",action:"ellipsis-text:hide"},{trigger:"legend-item-name:touchend",action:"ellipsis-text:hide"},{trigger:"axis-label:mouseleave",action:"ellipsis-text:hide"},{trigger:"axis-label:touchend",action:"ellipsis-text:hide"}]});xr("element-active",{start:[{trigger:"element:mouseenter",action:"element-active:active"}],end:[{trigger:"element:mouseleave",action:"element-active:reset"}]});xr("element-selected",{start:[{trigger:"element:click",action:"element-selected:toggle"}]});xr("element-highlight",{start:[{trigger:"element:mouseenter",action:"element-highlight:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight:reset"}]});xr("element-highlight-by-x",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-x:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-x:reset"}]});xr("element-highlight-by-color",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-color:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-color:reset"}]});xr("legend-active",{start:[{trigger:"legend-item:mouseenter",action:["list-active:active","element-active:active"]}],end:[{trigger:"legend-item:mouseleave",action:["list-active:reset","element-active:reset"]}]});xr("legend-highlight",{start:[{trigger:"legend-item:mouseenter",action:["legend-item-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"legend-item:mouseleave",action:["legend-item-highlight:reset","element-highlight:reset"]}]});xr("axis-label-highlight",{start:[{trigger:"axis-label:mouseenter",action:["axis-label-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"axis-label:mouseleave",action:["axis-label-highlight:reset","element-highlight:reset"]}]});xr("element-list-highlight",{start:[{trigger:"element:mouseenter",action:["list-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"element:mouseleave",action:["list-highlight:reset","element-highlight:reset"]}]});xr("element-range-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(r){return!r.isInShape("mask")},action:["rect-mask:start","rect-mask:show"]},{trigger:"mask:dragstart",action:["rect-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:drag",action:["rect-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end"]},{trigger:"mask:dragend",action:["rect-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(r){return!r.isInPlot()},action:["element-range-highlight:clear","rect-mask:end","rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear","rect-mask:hide"]}]});xr("brush",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Nm,action:["brush:start","rect-mask:start","rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:Nm,action:["rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Nm,action:["brush:filter","brush:end","rect-mask:end","rect-mask:hide","reset-button:show"]}],rollback:[{trigger:"reset-button:click",action:["brush:reset","reset-button:hide","cursor:crosshair"]}]});xr("brush-visible",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"plot:mousedown",action:["rect-mask:start","rect-mask:show"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end","rect-mask:hide","element-filter:filter","element-range-highlight:clear"]}],rollback:[{trigger:"dblclick",action:["element-filter:clear"]}]});xr("brush-x",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Nm,action:["brush-x:start","x-rect-mask:start","x-rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:Nm,action:["x-rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Nm,action:["brush-x:filter","brush-x:end","x-rect-mask:end","x-rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-x:reset"]}]});xr("element-path-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Nm,action:"path-mask:start"},{trigger:"mousedown",isEnable:Nm,action:"path-mask:show"}],processing:[{trigger:"mousemove",action:"path-mask:addPoint"}],end:[{trigger:"mouseup",action:"path-mask:end"}],rollback:[{trigger:"dblclick",action:"path-mask:hide"}]});xr("element-single-selected",{start:[{trigger:"element:click",action:"element-single-selected:toggle"}]});xr("legend-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:["cursor:pointer","list-radio:show"]},{trigger:"legend-item:mouseleave",action:["cursor:default","list-radio:hide"]}],start:[{trigger:"legend-item:click",isEnable:function(r){return!r.isInShape("legend-item-radio")},action:["list-unchecked:toggle","data-filter:filter","list-radio:show"]},{trigger:"legend-item-radio:mouseenter",action:["list-radio:showTip"]},{trigger:"legend-item-radio:mouseleave",action:["list-radio:hideTip"]},{trigger:"legend-item-radio:click",action:["list-focus:toggle","data-filter:filter","list-radio:show"]}]});xr("continuous-filter",{start:[{trigger:"legend:valuechanged",action:"data-filter:filter"}]});xr("continuous-visible-filter",{start:[{trigger:"legend:valuechanged",action:"element-filter:filter"}]});xr("legend-visible-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:"cursor:pointer"},{trigger:"legend-item:mouseleave",action:"cursor:default"}],start:[{trigger:"legend-item:click",action:["list-unchecked:toggle","element-filter:filter"]}]});xr("active-region",{start:[{trigger:"plot:mousemove",action:"active-region:show"}],end:[{trigger:"plot:mouseleave",action:"active-region:hide"}]});function ost(r){return r.gEvent.preventDefault(),r.gEvent.originalEvent.deltaY>0}xr("view-zoom",{start:[{trigger:"plot:mousewheel",isEnable:function(r){return ost(r.event)},action:"scale-zoom:zoomOut",throttle:{wait:100,leading:!0,trailing:!1}},{trigger:"plot:mousewheel",isEnable:function(r){return!ost(r.event)},action:"scale-zoom:zoomIn",throttle:{wait:100,leading:!0,trailing:!1}}]});xr("sibling-tooltip",{start:[{trigger:"plot:mousemove",action:"sibling-tooltip:show"}],end:[{trigger:"plot:mouseleave",action:"sibling-tooltip:hide"}]});xr("plot-mousewheel-scroll",{start:[{trigger:"plot:mousewheel",action:"mousewheel-scroll:scroll"}]});var WA={};Dn(WA,{Area:()=>d6,Bar:()=>p6,BidirectionalBar:()=>Y6,Box:()=>b6,Bullet:()=>v6,Chord:()=>I6,CirclePacking:()=>V6,Column:()=>m6,DualAxes:()=>P6,FUNNEL_CONVERSATION_FIELD:()=>wo,Facet:()=>H6,Funnel:()=>g6,G2:()=>nA,Gauge:()=>w6,Heatmap:()=>S6,Histogram:()=>y6,Line:()=>x6,Liquid:()=>_6,Mix:()=>jA,MultiView:()=>jA,Pie:()=>C6,Plot:()=>ke,Progress:()=>E6,Radar:()=>A6,RadialBar:()=>G6,RingProgress:()=>M6,Rose:()=>T6,Sankey:()=>z6,Scatter:()=>L6,Stock:()=>B6,Sunburst:()=>F6,TinyArea:()=>O6,TinyColumn:()=>D6,TinyLine:()=>k6,Treemap:()=>U6,Venn:()=>W6,Violin:()=>j6,Waterfall:()=>R6,WordCloud:()=>N6,adaptors:()=>u6,default:()=>oQt,flow:()=>Fe,getCanvasPattern:()=>W1,measureTextWidth:()=>aA});var hD=z(q());function Fe(){for(var r=[],e=0;e"},key:(l===0?"top":"bottom")+"-statistic"},Hr(s,["offsetX","offsetY","rotate","style","formatter"])))}})},bj=function(r,e,t){var n=e.statistic,i=n.title,a=n.content;[i,a].forEach(function(o){if(!!o){var s=(0,Zs.isFunction)(o.style)?o.style(t):o.style;r.annotation().html(E({position:["50%","100%"],html:function(l,u){var f=u.getCoordinate(),c=u.views[0].getCoordinate(),h=c.getCenter(),d=c.getRadius(),p=Math.max(Math.sin(c.startAngle),Math.sin(c.endAngle))*d,v=h.y+p-f.y.start-parseFloat((0,Zs.get)(s,"fontSize",0)),m=f.getRadius()*f.innerRadius*2;pst(l,E({width:m+"px",transform:"translate(-50%, "+v+"px)"},dst(s)));var g=u.getData();if(o.customHtml)return o.customHtml(l,u,t,g);var x=o.content;return o.formatter&&(x=o.formatter(t,g)),x?(0,Zs.isString)(x)?x:""+x:"
      "}},Hr(o,["offsetX","offsetY","rotate","style","formatter"])))}})};var N1=z(q());var _j;function vst(){return _j||(_j=document.createElement("canvas").getContext("2d")),_j}var aA=(0,N1.memoize)(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=n===void 0?"sans-serif":n,a=e.fontWeight,o=e.fontStyle,s=e.fontVariant,l=vst();l.font=[o,a,s,t+"px",i].join(" ");var u=l.measureText((0,N1.isString)(r)?r:"");return u.width},function(r,e){return e===void 0&&(e={}),dn([r],(0,N1.values)(e)).join("")});function fc(r){return typeof r=="number"&&!isNaN(r)}function Sj(r,e,t){var n=Math.min(e,t),i=Math.max(e,t);return r>=n&&r<=i}var Fm=z(q());function F1(r,e){if(!r)return{};var t=r.filter(function(a){var o=(0,Fm.get)(a,[e]);return(0,Fm.isNumber)(o)&&!isNaN(o)}),n=t.every(function(a){return(0,Fm.get)(a,[e])>=0}),i=t.every(function(a){return(0,Fm.get)(a,[e])<=0});return n?{min:0}:i?{max:0}:{}}function fD(r,e,t,n,i){if(i===void 0&&(i=[]),!Array.isArray(r))return{nodes:[],links:[]};var a=[],o={},s=-1;return r.forEach(function(l){var u=l[e],f=l[t],c=l[n],h=Hr(l,i);o[u]||(o[u]=E({id:++s,name:u},h)),o[f]||(o[f]=E({id:++s,name:f},h)),a.push(E({source:o[u].id,target:o[f].id,value:c},h))}),{nodes:Object.values(o).sort(function(l,u){return l.id-u.id}),links:a}}function Oh(r,e){var t=(0,Fm.filter)(r,function(n){var i=n[e];return i===null||typeof i=="number"&&!isNaN(i)});return Ts(Yo.WARN,t.length===r.length,"illegal data existed in chart data."),t}var cD=z(q());function cc(r){if((0,cD.isNumber)(r))return[r,r,r,r];if((0,cD.isArray)(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function Bm(r,e,t){e===void 0&&(e="bottom"),t===void 0&&(t=25);var n=cc(r),i=[e.startsWith("top")?t:0,e.startsWith("right")?t:0,e.startsWith("bottom")?t:0,e.startsWith("left")?t:0];return[n[0]+i[0],n[1]+i[1],n[2]+i[2],n[3]+i[3]]}function B1(r){var e=r.map(function(n){return cc(n)}),t=[0,0,0,0];return e.length>0&&(t=t.map(function(n,i){return e.forEach(function(a,o){n+=e[o][i]}),n})),t}var cYt=z(q()),mst={locale:"en-US"};var dD={};function Cj(r,e){dD[r]=e}function y0(r){return{get:function(e,t){return iA((0,hD.get)(dD[r],e)||(0,hD.get)(dD[mst.locale],e)||(0,hD.get)(dD["en-US"],e)||e,t)}}}var gst={locale:"en-US",general:{increase:"Increase",decrease:"Decrease",root:"Root"},statistic:{total:"Total"},conversionTag:{label:"Rate"},legend:{},tooltip:{},slider:{},scrollbar:{},waterfall:{total:"Total"}};var yst={locale:"zh-CN",general:{increase:"\u589E\u52A0",decrease:"\u51CF\u5C11",root:"\u521D\u59CB"},statistic:{total:"\u603B\u8BA1"},conversionTag:{label:"\u8F6C\u5316\u7387"},legend:{},tooltip:{},slider:{},scrollbar:{},waterfall:{total:"\u603B\u8BA1"}};var bD=z(q());var Ast=z(Est());var Mst="data-chart-source-type",Mj=["padding","appendPadding","renderer","pixelRatio","syncViewPadding","supportCSSTransform","limitInPlot"],ke=function(r){V(e,r);function e(t,n){var i=r.call(this)||this;return i.container=typeof t=="string"?document.getElementById(t):t,i.options=mt({},i.getDefaultOptions(),n),i.createG2(),i.bindEvents(),i}return e.getDefaultOptions=function(){return{renderer:"canvas",xAxis:{nice:!0,label:{autoRotate:!1,autoHide:{type:"equidistance",cfg:{minGap:6}}}},yAxis:{nice:!0,label:{autoHide:!0,autoRotate:!1}},animation:!0}},e.prototype.createG2=function(){var t=this.options,n=t.width,i=t.height,a=t.defaultInteractions;this.chart=new EE(E(E(E(E({container:this.container,autoFit:!1},this.getChartSize(n,i)),{localRefresh:!1}),Hr(this.options,Mj)),{defaultInteractions:a})),this.container.setAttribute(Mst,"G2Plot")},e.prototype.getChartSize=function(t,n){var i=k1(this.container);return{width:t||i.width||400,height:n||i.height||400}},e.prototype.bindEvents=function(){var t=this;this.chart&&this.chart.on("*",function(n){(n==null?void 0:n.type)&&t.emit(n.type,n)})},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.render=function(){this.chart.clear(),this.chart.options={data:[],animate:!0},this.chart.views=[],this.execAdaptor(),this.chart.render(),this.bindSizeSensor()},e.prototype.update=function(t){this.updateOption(t),this.render()},e.prototype.updateOption=function(t){this.options=mt({},this.options,t)},e.prototype.setState=function(t,n,i){i===void 0&&(i=!0);var a=m0(this.chart);(0,bD.each)(a,function(o){n(o.getData())&&o.setState(t,i)})},e.prototype.getStates=function(){var t=m0(this.chart),n=[];return(0,bD.each)(t,function(i){var a=i.getData(),o=i.getStates();(0,bD.each)(o,function(s){n.push({data:a,state:s,geometry:i.geometry,element:i})})}),n},e.prototype.changeData=function(t){this.update({data:t})},e.prototype.changeSize=function(t,n){this.chart.changeSize(t,n)},e.prototype.addAnnotations=function(t){var n=dn(t),i=this.chart.getController("annotation"),a=i.getComponents().map(function(l){return l.extra});i.clear(!0);for(var o=function(l){var u=a[l],f=n.findIndex(function(c){return c.id&&c.id===u.id});f!==-1&&(u=mt({},u,n[f]),n.splice(f,1)),i.annotation(u)},s=0;sb){var C=S/v.length,w=Math.max(1,Math.ceil(b/C)-1),A=v.slice(0,w)+"...";x.attr("text",A)}}}}function OYt(r,e,t){IYt(r,e,t),LYt(r,e,t)}function Est(r,e,t){return e===void 0&&(e=!0),t===void 0&&(t=!1),function(n){var i=n.options,a=n.chart,o=i.conversionTag,s=i.theme;return o&&!t&&(a.theme(gt({},(0,Um.isObject)(s)?s:Qu(s),{columnWidthRatio:1/3})),a.annotation().shape({render:function(l,u){var f=l.addGroup({id:a.id+"-conversion-tag-group",name:"conversion-tag-group"}),c=(0,Um.find)(a.geometries,function(p){return p.type==="interval"}),h={view:u,geometry:c,group:f,field:r,horizontal:e,options:TYt(o,e)},d=c.elements;(0,Um.each)(d,function(p,v){v>0&&OYt(h,d[v-1],p)})}})),n}}var x0={hover:"__interval-connected-area-hover__",click:"__interval-connected-area-click__"},Tj=function(r,e){return r==="hover"?[{trigger:"interval:mouseenter",action:["element-highlight-by-color:highlight","element-link-by-color:link"],arg:[null,{style:e}]}]:[{trigger:"interval:click",action:["element-highlight-by-color:clear","element-highlight-by-color:highlight","element-link-by-color:clear","element-link-by-color:unlink","element-link-by-color:link"],arg:[null,null,null,null,{style:e}]}]};xr(x0.hover,{start:Tj(x0.hover),end:[{trigger:"interval:mouseleave",action:["element-highlight-by-color:reset","element-link-by-color:unlink"]}]});xr(x0.click,{start:Tj(x0.click),end:[{trigger:"document:mousedown",action:["element-highlight-by-color:clear","element-link-by-color:clear"]}]});function Ast(r){return r===void 0&&(r=!1),function(e){var t=e.chart,n=e.options,i=n.connectedArea,a=function(){t.removeInteraction(x0.hover),t.removeInteraction(x0.click)};if(!r&&i){var o=i.trigger||"hover";a(),t.interaction(x0[o],{start:Tj(o,i.style)})}else a();return e}}var Ist=U(q());var Mst=U(q());var DYt=10,PYt=5,kYt={padding:[8,10],text:"reset",textStyle:{default:{x:0,y:0,fontSize:12,fill:"#333333",cursor:"pointer"}},buttonStyle:{default:{fill:"#f7f7f7",stroke:"#cccccc",cursor:"pointer"},active:{fill:"#e6e6e6"}}},Tst=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.buttonGroup=null,t.buttonCfg=E({name:"button"},kYt),t}return e.prototype.getButtonCfg=function(){var t=this.context.view,n=(0,Mst.get)(t,["interactions","filter-action","cfg","buttonConfig"]);return gt(this.buttonCfg,n,this.cfg)},e.prototype.drawButton=function(){var t=this.getButtonCfg(),n=this.context.view.foregroundGroup.addGroup({name:t.name}),i=this.drawText(n);this.drawBackground(n,i.getBBox()),this.buttonGroup=n},e.prototype.drawText=function(t){var n,i=this.getButtonCfg();return t.addShape({type:"text",name:"button-text",attrs:E({text:i.text},(n=i.textStyle)===null||n===void 0?void 0:n.default)})},e.prototype.drawBackground=function(t,n){var i,a=this.getButtonCfg(),o=cc(a.padding),s=t.addShape({type:"rect",name:"button-rect",attrs:E({x:n.x-o[3],y:n.y-o[0],width:n.width+o[1]+o[3],height:n.height+o[0]+o[2]},(i=a.buttonStyle)===null||i===void 0?void 0:i.default)});return s.toBack(),t.on("mouseenter",function(){var l;s.attr((l=a.buttonStyle)===null||l===void 0?void 0:l.active)}),t.on("mouseleave",function(){var l;s.attr((l=a.buttonStyle)===null||l===void 0?void 0:l.default)}),s},e.prototype.resetPosition=function(){var t=this.context.view,n=t.getCoordinate(),i=n.convert({x:1,y:1}),a=this.buttonGroup,o=a.getBBox(),s=ea.transform(null,[["t",i.x-o.width-DYt,i.y+o.height+PYt]]);a.setMatrix(s)},e.prototype.show=function(){this.buttonGroup||this.drawButton(),this.resetPosition(),this.buttonGroup.show()},e.prototype.hide=function(){this.buttonGroup&&this.buttonGroup.hide()},e.prototype.destroy=function(){var t=this.buttonGroup;t&&t.remove(),r.prototype.destroy.call(this)},e}(Tr);nr("brush-reset-button",Tst,{name:"brush-reset-button"});xr("filter-action",{});function Op(r){return r.isInPlot()}function jm(r,e,t){var n=e||"rect";switch(r){case"brush":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush:filter","brush:end",n+"-mask:end",n+"-mask:hide","brush-reset-button:show"]}],rollback:[{trigger:"brush-reset-button:click",action:["brush:reset","brush-reset-button:hide","cursor:crosshair"]}]};case"brush-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};case"brush-x":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush-x:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush-x:filter","brush-x:end",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-x:reset"]}]};case"brush-x-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};case"brush-y":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush-y:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush-y:filter","brush-y:end",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-y:reset"]}]};case"brush-y-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};default:return{}}}xr("brush",jm("brush"));xr("brush-highlight",jm("brush-highlight"));xr("brush-x",jm("brush-x","x-rect"));xr("brush-y",jm("brush-y","y-rect"));xr("brush-x-highlight",jm("brush-x-highlight","x-rect"));xr("brush-y-highlight",jm("brush-y-highlight","y-rect"));var Lst=["brush","brush-x","brush-y","brush-highlight","brush-x-highlight","brush-y-highlight"];function MD(r){var e=r.options,t=e.brush,n=(0,Ist.filter)(e.interactions||[],function(i){return Lst.indexOf(i.type)===-1});return(t==null?void 0:t.enabled)&&(Lst.forEach(function(i){var a,o=!1;switch(t.type){case"x-rect":o=i===(t.action==="highlight"?"brush-x-highlight":"brush-x");break;case"y-rect":o=i===(t.action==="highlight"?"brush-y-highlight":"brush-y");break;default:o=i===(t.action==="highlight"?"brush-highlight":"brush");break}var s={type:i,enable:o};(((a=t.mask)===null||a===void 0?void 0:a.style)||t.type)&&(s.cfg=jm(i,t.type,t.mask)),n.push(s)}),(t==null?void 0:t.action)!=="highlight"&&n.push({type:"filter-action",cfg:{buttonConfig:t.button}})),gt({},r,{options:{interactions:n}})}function RYt(r){var e=r.options,t=e.legend,n=e.seriesField,i=e.isStack;return n?t!==!1&&(t=E({position:i?"right-top":"top-left"},t)):t=!1,r.options.legend=t,r}function NYt(r){var e=r.chart,t=r.options,n=t.data,i=t.columnStyle,a=t.color,o=t.columnWidthRatio,s=t.isPercent,l=t.isGroup,u=t.isStack,f=t.xField,c=t.yField,h=t.seriesField,d=t.groupField,p=t.tooltip,v=t.shape,m=s&&l&&u?Cst(n,c,[f,d],c):Rh(n,c,f,c,s),g=[];u&&h&&!l?m.forEach(function(S){var C=g.find(function(w){return w[f]===S[f]&&w[h]===S[h]});C?C[c]+=S[c]||0:g.push(E({},S))}):g=m,e.data(g);var x=s?E({formatter:function(S){return{name:l&&u?S[h]+" - "+S[d]:S[h]||S[f],value:(Number(S[c])*100).toFixed(2)+"%"}}},p):p,b=gt({},r,{options:{data:g,widthRatio:o,tooltip:x,interval:{shape:v,style:i,color:a}}});return gi(b),b}function W1(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.xField,s=n.yField,l=n.data,u=n.isPercent,f=u?{max:1,min:0,minLimit:0,maxLimit:1}:{};return Fe(un((e={},e[o]=i,e[s]=a,e),(t={},t[o]={type:"cat"},t[s]=E(E({},k1(l,s)),f),t)))(r)}function FYt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(o,!1):e.axis(o,i),r}function BYt(r){var e=r.chart,t=r.options,n=t.legend,i=t.seriesField;return n&&i?e.legend(i,n):n===!1&&e.legend(!1),r}function GYt(r){var e=r.chart,t=r.options,n=t.label,i=t.yField,a=t.isRange,o=mi(e,"interval");if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]);o.label({fields:[i],callback:s,cfg:E({layout:(l==null?void 0:l.position)?void 0:[{type:"interval-adjust-position"},{type:"interval-hide-overlap"},{type:"adjust-color"},{type:"limit-in-plot",cfg:{action:"hide"}}]},Kn(a?E({content:function(u){var f;return(f=u[i])===null||f===void 0?void 0:f.join("-")}},l):l))})}return r}function zYt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.isGroup,a=t.isStack,o=t.groupField,s=t.data,l=t.xField,u=t.yField,f=t.seriesField;if(n===!1)e.tooltip(!1);else{var c=n;if(i&&a){var h=(c==null?void 0:c.formatter)||function(d){return{name:d[f]+" - "+d[o],value:d[u]}};c=E(E({},c),{customItems:function(d){var p=[];return(0,j1.each)(d,function(v){var m=(0,j1.filter)(s,function(g){return(0,j1.isMatch)(g,Hr(v.data,[l,f]))});m.forEach(function(g){p.push(E(E(E({},v),{value:g[u],data:g,mappingData:{_origin:g}}),h(g)))})}),p}})}e.tooltip(c)}return r}function Wm(r,e){e===void 0&&(e=!1);var t=r.options,n=t.seriesField;return Fe(RYt,lr,Xi("columnStyle"),Ms,NYt,W1,FYt,BYt,zYt,Dh,U1,GYt,MD,Pr,Sr,nn(),Est(t.yField,!e,!!n),Ast(!t.isStack),af)(r)}var Ost=gt({},ke.getDefaultOptions(),{columnWidthRatio:.6,marginRatio:1/32,tooltip:{shared:!0,showMarkers:!1,offset:20},legend:{radio:{}},interactions:[{type:"active-region"}]});var oA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="column",t}return e.getDefaultOptions=function(){return Ost},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options,i=n.yField,a=n.xField,o=n.isPercent,s=this,l=s.chart,u=s.options;W1({chart:l,options:u}),this.chart.changeData(Rh(t,i,a,i,o))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Wm},e}(ke);function UYt(r){var e=r.options,t=e.xField,n=e.yField,i=e.xAxis,a=e.yAxis,o={left:"bottom",right:"top",top:"left",bottom:"right"},s=a!==!1?E({position:o[(a==null?void 0:a.position)||"left"]},a):!1,l=i!==!1?E({position:o[(i==null?void 0:i.position)||"bottom"]},i):!1;return E(E({},r),{options:E(E({},e),{xField:n,yField:t,xAxis:s,yAxis:l})})}function jYt(r){var e=r.options,t=e.label;return t&&!t.position&&(t.position="left",t.layout||(t.layout=[{type:"interval-adjust-position"},{type:"interval-hide-overlap"},{type:"adjust-color"},{type:"limit-in-plot",cfg:{action:"hide"}}])),gt({},r,{options:{label:t}})}function WYt(r){var e=r.options,t=e.seriesField,n=e.isStack,i=e.legend;return t?i!==!1&&(i=E({position:n?"top-left":"right-top"},i||{})):i=!1,gt({},r,{options:{legend:i}})}function VYt(r){var e=r.chart;return e.coordinate({actions:[["transpose"],["reflect","y"]]}),r}function HYt(r){var e=r.chart,t=r.options,n=t.barStyle,i=t.barWidthRatio,a=t.minBarWidth,o=t.maxBarWidth,s=t.barBackground;return Wm({chart:e,options:E(E({},t),{columnStyle:n,columnWidthRatio:i,minColumnWidth:a,maxColumnWidth:o,columnBackground:s})},!0)}function TD(r){return Fe(UYt,jYt,WYt,wn,VYt,HYt)(r)}var Dst=gt({},ke.getDefaultOptions(),{barWidthRatio:.6,marginRatio:1/32,tooltip:{shared:!0,showMarkers:!1,offset:20},legend:{radio:{}},interactions:[{type:"active-region"}]});var sA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="bar",t}return e.getDefaultOptions=function(){return Dst},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options,o=a.xField,s=a.yField,l=a.isPercent,u=E(E({},a),{xField:s,yField:o});W1({chart:i,options:u}),i.changeData(Rh(t,o,s,o,l))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return TD},e}(ke);var wa=U(q());var ID=gt({},ke.getDefaultOptions(),{legend:{position:"right",radio:{}},tooltip:{shared:!1,showTitle:!1,showMarkers:!1},label:{layout:{type:"limit-in-plot",cfg:{action:"ellipsis"}}},pieStyle:{stroke:"white",lineWidth:1},statistic:{title:{style:{fontWeight:300,color:"#4B535E",textAlign:"center",fontSize:"20px",lineHeight:1}},content:{style:{fontWeight:"bold",color:"rgba(44,53,66,0.85)",textAlign:"center",fontSize:"32px",lineHeight:1}}},theme:{components:{annotation:{text:{animate:!1}}}}});var b0=U(q());function Pst(r,e){var t=null;return(0,b0.each)(r,function(n){typeof n[e]=="number"&&(t+=n[e])}),t}function kst(r,e){var t;switch(r){case"inner":return t="-30%",(0,b0.isString)(e)&&e.endsWith("%")?parseFloat(e)*.01>0?t:e:e<0?e:t;case"outer":return t=12,(0,b0.isString)(e)&&e.endsWith("%")?parseFloat(e)*.01<0?t:e:e>0?e:t;default:return e}}function V1(r,e){return(0,b0.every)(Oh(r,e),function(t){return t[e]===0})}var Rst=U(q());var YYt=[1,0,0,0,1,0,0,0,1];function lA(r,e){var t=e?dn(e):dn(YYt);return ea.transform(t,r)}var Nst=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getActiveElements=function(){var t=ea.getDelegationObject(this.context);if(t){var n=this.context.view,i=t.component,a=t.item,o=i.get("field");if(o){var s=n.geometries[0].elements;return s.filter(function(l){return l.getModel().data[o]===a.value})}}return[]},e.prototype.getActiveElementLabels=function(){var t=this.context.view,n=this.getActiveElements(),i=t.geometries[0].labelsContainer.getChildren();return i.filter(function(a){return n.find(function(o){return(0,Rst.isEqual)(o.getData(),a.get("data"))})})},e.prototype.transfrom=function(t){t===void 0&&(t=7.5);var n=this.getActiveElements(),i=this.getActiveElementLabels();n.forEach(function(a,o){var s=i[o],l=a.geometry.coordinate;if(l.isPolar&&l.isTransposed){var u=ea.getAngle(a.getModel(),l),f=u.startAngle,c=u.endAngle,h=(f+c)/2,d=t,p=d*Math.cos(h),v=d*Math.sin(h);a.shape.setMatrix(lA([["t",p,v]])),s.setMatrix(lA([["t",p,v]]))}})},e.prototype.active=function(){this.transfrom()},e.prototype.reset=function(){this.transfrom(0)},e}(Tr);var _0=U(q());function Fst(r){var e=r.event,t,n=e.target;return n&&(t=n.get("element")),t}var Bst=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getAnnotations=function(t){var n=t||this.context.view;return n.getController("annotation").option},e.prototype.getInitialAnnotation=function(){return this.initialAnnotation},e.prototype.init=function(){var t=this,n=this.context.view;n.removeInteraction("tooltip"),n.on("afterchangesize",function(){var i=t.getAnnotations(n);t.initialAnnotation=i})},e.prototype.change=function(t){var n=this.context,i=n.view,a=n.event;this.initialAnnotation||(this.initialAnnotation=this.getAnnotations());var o=(0,_0.get)(a,["data","data"]);if(a.type.match("legend-item")){var s=ea.getDelegationObject(this.context),l=i.getGroupedFields()[0];if(s&&l){var u=s.item;o=i.getData().find(function(d){return d[l]===u.value})}}if(o){var f=(0,_0.get)(t,"annotations",[]),c=(0,_0.get)(t,"statistic",{});i.getController("annotation").clear(!0),(0,_0.each)(f,function(d){typeof d=="object"&&i.annotation()[d.type](d)}),Lp(i,{statistic:c,plotType:"pie"},o),i.render(!0)}var h=Fst(this.context);h&&h.shape.toFront()},e.prototype.reset=function(){var t=this.context.view,n=t.getController("annotation");n.clear(!0);var i=this.getInitialAnnotation();(0,_0.each)(i,function(a){t.annotation()[a.type](a)}),t.render(!0)},e}(Tr);var Ij="pie-statistic";nr(Ij,Bst);xr("pie-statistic-active",{start:[{trigger:"element:mouseenter",action:"pie-statistic:change"}],end:[{trigger:"element:mouseleave",action:"pie-statistic:reset"}]});nr("pie-legend",Nst);xr("pie-legend-active",{start:[{trigger:"legend-item:mouseenter",action:"pie-legend:active"}],end:[{trigger:"legend-item:mouseleave",action:"pie-legend:reset"}]});function XYt(r){var e=r.chart,t=r.options,n=t.data,i=t.angleField,a=t.colorField,o=t.color,s=t.pieStyle,l=Oh(n,i);if(V1(l,i)){var u="$$percentage$$";l=l.map(function(c){var h;return E(E({},c),(h={},h[u]=1/l.length,h))}),e.data(l);var f=gt({},r,{options:{xField:"1",yField:u,seriesField:a,isStack:!0,interval:{color:o,style:s},args:{zIndexReversed:!0,sortZIndex:!0}}});gi(f)}else{e.data(l);var f=gt({},r,{options:{xField:"1",yField:i,seriesField:a,isStack:!0,interval:{color:o,style:s},args:{zIndexReversed:!0,sortZIndex:!0}}});gi(f)}return r}function qYt(r){var e,t=r.chart,n=r.options,i=n.meta,a=n.colorField,o=gt({},i);return t.scale(o,(e={},e[a]={type:"cat"},e)),r}function KYt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"theta",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}),r}function ZYt(r){var e=r.chart,t=r.options,n=t.label,i=t.colorField,a=t.angleField,o=e.geometries[0];if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]),u=Kn(l);if(u.content){var f=u.content;u.content=function(p,v,m){var g=p[i],x=p[a],b=e.getScaleByField(a),S=b==null?void 0:b.scale(x);return(0,wa.isFunction)(f)?f(E(E({},p),{percent:S}),v,m):(0,wa.isString)(f)?tA(f,{value:x,name:g,percentage:(0,wa.isNumber)(S)&&!(0,wa.isNil)(x)?(S*100).toFixed(2)+"%":null}):f}}var c={inner:"",outer:"pie-outer",spider:"pie-spider"},h=u.type?c[u.type]:"pie-outer",d=u.layout?(0,wa.isArray)(u.layout)?u.layout:[u.layout]:[];u.layout=(h?[{type:h}]:[]).concat(d),o.label({fields:i?[a,i]:[a],callback:s,cfg:E(E({},u),{offset:kst(u.type,u.offset),type:"pie"})})}return r}function Gst(r){var e=r.innerRadius,t=r.statistic,n=r.angleField,i=r.colorField,a=r.meta,o=r.locale,s=p0(o);if(e&&t){var l=gt({},ID.statistic,t),u=l.title,f=l.content;return u!==!1&&(u=gt({},{formatter:function(c){return c?c[i]:(0,wa.isNil)(u.content)?s.get(["statistic","total"]):u.content}},u)),f!==!1&&(f=gt({},{formatter:function(c,h){var d=c?c[n]:Pst(h,n),p=(0,wa.get)(a,[n,"formatter"])||function(v){return v};return c||(0,wa.isNil)(f.content)?p(d):f.content}},f)),gt({},{statistic:{title:u,content:f}},r)}return r}function Lj(r){var e=r.chart,t=r.options,n=Gst(t),i=n.innerRadius,a=n.statistic;return e.getController("annotation").clear(!0),Fe(nn())(r),i&&a&&Lp(e,{statistic:a,plotType:"pie"}),r}function $Yt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.colorField,a=t.angleField,o=t.data;if(n===!1)e.tooltip(n);else if(e.tooltip(gt({},n,{shared:!1})),V1(o,a)){var s=(0,wa.get)(n,"fields"),l=(0,wa.get)(n,"formatter");(0,wa.isEmpty)((0,wa.get)(n,"fields"))&&(s=[i,a],l=l||function(u){return{name:u[i],value:(0,wa.toString)(u[a])}}),e.geometries[0].tooltip(s.join("*"),m0(s,l))}return r}function QYt(r){var e=r.chart,t=r.options,n=Gst(t),i=n.interactions,a=n.statistic,o=n.annotations;return(0,wa.each)(i,function(s){var l,u;if(s.enable===!1)e.removeInteraction(s.type);else if(s.type==="pie-statistic-active"){var f=[];((l=s.cfg)===null||l===void 0?void 0:l.start)||(f=[{trigger:"element:mouseenter",action:Ij+":change",arg:{statistic:a,annotations:o}}]),(0,wa.each)((u=s.cfg)===null||u===void 0?void 0:u.start,function(c){f.push(E(E({},c),{arg:{statistic:a,annotations:o}}))}),e.interaction(s.type,gt({},s.cfg,{start:f}))}else e.interaction(s.type,s.cfg||{})}),r}function LD(r){return Fe(Xi("pieStyle"),XYt,qYt,lr,KYt,Ul,$Yt,ZYt,Ms,Lj,QYt,Sr)(r)}var uA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="pie",t}return e.getDefaultOptions=function(){return ID},e.prototype.changeData=function(t){this.chart.emit(wr.BEFORE_CHANGE_DATA,zn.fromData(this.chart,wr.BEFORE_CHANGE_DATA,null));var n=this.options,i=this.options.angleField,a=Oh(n.data,i),o=Oh(t,i);V1(a,i)||V1(o,i)?this.update({data:t}):(this.updateOption({data:t}),this.chart.data(o),Lj({chart:this.chart,options:this.options}),this.chart.render(!0)),this.chart.emit(wr.AFTER_CHANGE_DATA,zn.fromData(this.chart,wr.AFTER_CHANGE_DATA,null))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return LD},e}(ke);var H1=U(q());function JYt(r){var e=r.chart,t=r.options,n=t.data,i=t.sectorStyle,a=t.color;return e.data(n),Fe(gi)(gt({},r,{options:{marginRatio:1,interval:{style:i,color:a}}})),r}function tXt(r){var e=r.chart,t=r.options,n=t.label,i=t.xField,a=mi(e,"interval");if(n===!1)a.label(!1);else if((0,H1.isObject)(n)){var o=n.callback,s=n.fields,l=rr(n,["callback","fields"]),u=l.offset,f=l.layout;(u===void 0||u>=0)&&(f=f?(0,H1.isArray)(f)?f:[f]:[],l.layout=(0,H1.filter)(f,function(c){return c.type!=="limit-in-shape"}),l.layout.length||delete l.layout),a.label({fields:s||[i],callback:o,cfg:Kn(l)})}else As(Vo.WARN,n===null,"the label option must be an Object."),a.label({fields:[i]});return r}function eXt(r){var e=r.chart,t=r.options,n=t.legend,i=t.seriesField;return n===!1?e.legend(!1):i&&e.legend(i,n),r}function rXt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"polar",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}),r}function nXt(r){var e,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return Fe(un((e={},e[a]=n,e[o]=i,e)))(r)}function iXt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n?e.axis(a,n):e.axis(a,!1),i?e.axis(o,i):e.axis(o,!1),r}function zst(r){Fe(Xi("sectorStyle"),JYt,nXt,tXt,rXt,iXt,eXt,wn,Pr,Sr,lr,nn(),Ms)(r)}var Ust=gt({},ke.getDefaultOptions(),{xAxis:!1,yAxis:!1,legend:{position:"right",radio:{}},sectorStyle:{stroke:"#fff",lineWidth:1},label:{layout:{type:"limit-in-shape"}},tooltip:{shared:!0,showMarkers:!1},interactions:[{type:"active-region"}]});var Oj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="rose",t}return e.getDefaultOptions=function(){return Ust},e.prototype.changeData=function(t){this.updateOption({data:t}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return zst},e}(ke);var kD=U(q());var Vm=U(q());var Y1=U(q()),aXt={font:function(){return"serif"},padding:1,size:[500,500],spiral:"archimedean",timeInterval:3e3};function jst(r,e){return e=(0,Y1.assign)({},aXt,e),oXt(r,e)}function oXt(r,e){var t=xXt();["font","fontSize","fontWeight","padding","rotate","size","spiral","timeInterval","random"].forEach(function(l){(0,Y1.isNil)(e[l])||t[l](e[l])}),t.words(r),e.imageMask&&t.createMask(e.imageMask);var n=t.start(),i=n._tags;i.forEach(function(l){l.x+=e.size[0]/2,l.y+=e.size[1]/2});var a=e.size,o=a[0],s=a[1];return i.push({text:"",value:0,x:0,y:0,opacity:0}),i.push({text:"",value:0,x:o,y:s,opacity:0}),i}var Dj=Math.PI/180,fA=1<<11>>5,OD=1<<11;function sXt(r){return r.text}function lXt(){return"serif"}function Wst(){return"normal"}function uXt(r){return r.value}function fXt(){return~~(Math.random()*2)*90}function cXt(){return 1}function hXt(r,e,t,n){if(!e.sprite){var i=r.context,a=r.ratio;i.clearRect(0,0,(fA<<5)/a,OD/a);var o=0,s=0,l=0,u=t.length;for(--n;++n>5<<5,c=~~Math.max(Math.abs(v+m),Math.abs(v-m))}else f=f+31>>5<<5;if(c>l&&(l=c),o+f>=fA<<5&&(o=0,s+=l,l=0),s+c>=OD)break;i.translate((o+(f>>1))/a,(s+(c>>1))/a),e.rotate&&i.rotate(e.rotate*Dj),i.fillText(e.text,0,0),e.padding&&(i.lineWidth=2*e.padding,i.strokeText(e.text,0,0)),i.restore(),e.width=f,e.height=c,e.xoff=o,e.yoff=s,e.x1=f>>1,e.y1=c>>1,e.x0=-e.x1,e.y0=-e.y1,e.hasText=!0,o+=f}for(var x=i.getImageData(0,0,(fA<<5)/a,OD/a).data,b=[];--n>=0;)if(e=t[n],!!e.hasText){for(var f=e.width,S=f>>5,c=e.y1-e.y0,C=0;C>5),L=x[(s+I)*(fA<<5)+(o+C)<<2]?1<<31-C%32:0;b[P]|=L,w|=L}w?A=I:(e.y0++,c--,I--,s++)}e.y1=e.y0+A,e.sprite=b.slice(0,(e.y1-e.y0)*S)}}}function dXt(r,e,t){t>>=5;for(var n=r.sprite,i=r.width>>5,a=r.x-(i<<4),o=a&127,s=32-o,l=r.y1-r.y0,u=(r.y+r.y0)*t+(a>>5),f,c=0;c>>o:0))&e[u+h])return!0;u+=t}return!1}function pXt(r,e){var t=r[0],n=r[1];e.x+e.x0n.x&&(n.x=e.x+e.x1),e.y+e.y1>n.y&&(n.y=e.y+e.y1)}function vXt(r,e){return r.x+r.x1>e[0].x&&r.x+r.x0e[0].y&&r.y+r.y0>5)*r[1]),S=l.length,C=[],w=l.map(function(L,M,O){return L.text=f.call(this,L,M,O),L.font=e.call(this,L,M,O),L.style=c.call(this,L,M,O),L.weight=n.call(this,L,M,O),L.rotate=i.call(this,L,M,O),L.size=~~t.call(this,L,M,O),L.padding=a.call(this,L,M,O),L}).sort(function(L,M){return M.size-L.size}),A=-1,I=d.board?[{x:0,y:0},{x:m,y:g}]:null;P();function P(){for(var L=Date.now();Date.now()-L>1,M.y=g*(s()+.5)>>1,hXt(x,M,w,A),M.hasText&&v(b,M,I)&&(C.push(M),I?d.hasImage||pXt(I,M):I=[{x:M.x+M.x0,y:M.y+M.y0},{x:M.x+M.x1,y:M.y+M.y1}],M.x-=r[0]>>1,M.y-=r[1]>>1)}d._tags=C,d._bounds=I}return d};function p(m){m.width=m.height=1;var g=Math.sqrt(m.getContext("2d").getImageData(0,0,1,1).data.length>>2);m.width=(fA<<5)/g,m.height=OD/g;var x=m.getContext("2d");return x.fillStyle=x.strokeStyle="red",x.textAlign="center",{context:x,ratio:g}}function v(m,g,x){for(var b=g.x,S=g.y,C=Math.sqrt(r[0]*r[0]+r[1]*r[1]),w=o(r),A=s()<.5?1:-1,I,P=-A,L,M;(I=w(P+=A))&&(L=~~I[0],M=~~I[1],!(Math.min(Math.abs(L),Math.abs(M))>=C));)if(g.x=b+L,g.y=S+M,!(g.x+g.x0<0||g.y+g.y0<0||g.x+g.x1>r[0]||g.y+g.y1>r[1])&&(!x||!dXt(g,m,r[0]))&&(!x||vXt(g,x))){for(var O=g.sprite,F=g.width>>5,k=r[0]>>5,G=g.x-(F<<4),D=G&127,N=32-D,z=g.y1-g.y0,j=void 0,W=(g.y+g.y0)*k+(G>>5),J=0;J>>D:0);W+=k}return delete g.sprite,!0}return!1}return d.createMask=function(m){var g=document.createElement("canvas"),x=r[0],b=r[1];if(!(!x||!b)){var S=x>>5,C=Hst((x>>5)*b);g.width=x,g.height=b;var w=g.getContext("2d");w.drawImage(m,0,0,m.width,m.height,0,0,x,b);for(var A=w.getImageData(0,0,x,b).data,I=0;I>5),M=I*x+P<<2,O=A[M]>=250&&A[M+1]>=250&&A[M+2]>=250,F=O?1<<31-P%32:0;C[L]|=F}d.board=C,d.hasImage=!0}},d.timeInterval=function(m){u=m==null?1/0:m},d.words=function(m){l=m},d.size=function(m){r=[+m[0],+m[1]]},d.font=function(m){e=dc(m)},d.fontWeight=function(m){n=dc(m)},d.rotate=function(m){i=dc(m)},d.spiral=function(m){o=yXt[m]||m},d.fontSize=function(m){t=dc(m)},d.padding=function(m){a=dc(m)},d.random=function(m){s=dc(m)},d}function DD(r){var e=r.options,t=r.chart,n=t,i=n.width,a=n.height,o=n.padding,s=n.appendPadding,l=n.ele,u=e.data,f=e.imageMask,c=e.wordField,h=e.weightField,d=e.colorField,p=e.wordStyle,v=e.timeInterval,m=e.random,g=e.spiral,x=e.autoFit,b=x===void 0?!0:x,S=e.placementStrategy;if(!u||!u.length)return[];var C=p.fontFamily,w=p.fontWeight,A=p.padding,I=p.fontSize,P=CXt(u,h),L=[AXt(P),MXt(P)],M=u.map(function(k){return{text:k[c],value:k[h],color:k[d],datum:k}}),O={imageMask:f,font:C,fontSize:SXt(I,L),fontWeight:w,size:bXt({width:i,height:a,padding:o,appendPadding:s,autoFit:b,container:l}),padding:A,timeInterval:v,random:m,spiral:g,rotate:wXt(e)};if((0,Vm.isFunction)(S)){var F=M.map(function(k,G,D){return E(E(E({},k),{hasText:!!k.text,font:dc(O.font)(k,G,D),weight:dc(O.fontWeight)(k,G,D),rotate:dc(O.rotate)(k,G,D),size:dc(O.fontSize)(k,G,D),style:"normal"}),S.call(t,k,G,D))});return F.push({text:"",value:0,x:0,y:0,opacity:0}),F.push({text:"",value:0,x:O.size[0],y:O.size[1],opacity:0}),F}return jst(M,O)}function bXt(r){var e=r.width,t=r.height,n=r.container,i=r.autoFit,a=r.padding,o=r.appendPadding;if(i){var s=O1(n);e=s.width,t=s.height}e=e||400,t=t||400;var l=_Xt({padding:a,appendPadding:o}),u=l[0],f=l[1],c=l[2],h=l[3],d=[e-(h+f),t-(u+c)];return d}function _Xt(r){var e=cc(r.padding),t=cc(r.appendPadding),n=e[0]+t[0],i=e[1]+t[1],a=e[2]+t[2],o=e[3]+t[3];return[n,i,a,o]}function Yst(r){return new Promise(function(e,t){if(r instanceof HTMLImageElement){e(r);return}if((0,Vm.isString)(r)){var n=new Image;n.crossOrigin="anonymous",n.src=r,n.onload=function(){e(n)},n.onerror=function(){As(Vo.ERROR,!1,"image %s load failed !!!",r),t()};return}As(Vo.WARN,r===void 0,"The type of imageMask option must be String or HTMLImageElement."),t()})}function SXt(r,e){if((0,Vm.isFunction)(r))return r;if((0,Vm.isArray)(r)){var t=r[0],n=r[1];if(!e)return function(){return(n+t)/2};var i=e[0],a=e[1];return a===i?function(){return(n+t)/2}:function(s){var l=s.value;return(n-t)/(a-i)*(l-i)+t}}return function(){return r}}function CXt(r,e){return r.map(function(t){return t[e]}).filter(function(t){return typeof t=="number"&&!isNaN(t)})}function wXt(r){var e=EXt(r),t=e.rotation,n=e.rotationSteps;if(!(0,Vm.isArray)(t))return t;var i=t[0],a=t[1],o=n===1?0:(a-i)/(n-1);return function(){return a===i?a:Math.floor(Math.random()*n)*o}}function EXt(r){var e=r.wordStyle.rotationSteps;return e<1&&(As(Vo.WARN,!1,"The rotationSteps option must be greater than or equal to 1."),e=1),{rotation:r.wordStyle.rotation,rotationSteps:e}}function AXt(r){return Math.min.apply(Math,r)}function MXt(r){return Math.max.apply(Math,r)}var PD="color",Xst=gt({},ke.getDefaultOptions(),{timeInterval:2e3,legend:!1,tooltip:{showTitle:!1,showMarkers:!1,showCrosshairs:!1,fields:["text","value",PD],formatter:function(r){return{name:r.text,value:r.value}}},wordStyle:{fontFamily:"Verdana",fontWeight:"normal",padding:1,fontSize:[12,60],rotation:[0,90],rotationSteps:2,rotateRatio:.5}});function TXt(r){var e=r.chart,t=r.options,n=t.colorField,i=t.color,a=DD(r);e.data(a);var o=gt({},r,{options:{xField:"x",yField:"y",seriesField:n&&PD,rawFields:(0,kD.isFunction)(i)&&dn((0,kD.get)(t,"rawFields",[]),["datum"]),point:{color:i,shape:"word-cloud"}}}),s=Gi(o).ext;return s.geometry.label(!1),e.coordinate().reflect("y"),e.axis(!1),r}function IXt(r){return Fe(un({x:{nice:!1},y:{nice:!1}}))(r)}function LXt(r){var e=r.chart,t=r.options,n=t.legend,i=t.colorField;return n===!1?e.legend(!1):i&&e.legend(PD,n),r}function qst(r){Fe(TXt,IXt,wn,LXt,Pr,Sr,lr,Ms)(r)}or("point","word-cloud",{draw:function(r,e){var t=r.x,n=r.y,i=e.addShape("text",{attrs:E(E({},OXt(r)),{x:t,y:n})}),a=r.data.rotate;return typeof a=="number"&&ea.rotate(i,a*Math.PI/180),i}});function OXt(r){return{fontSize:r.data.size,text:r.data.text,textAlign:"center",fontFamily:r.data.font,fontWeight:r.data.weight,fill:r.color||r.defaultStyle.stroke,textBaseline:"alphabetic"}}var Pj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="word-cloud",t}return e.getDefaultOptions=function(){return Xst},e.prototype.changeData=function(t){this.updateOption({data:t}),this.options.imageMask?this.render():this.chart.changeData(DD({chart:this.chart,options:this.options}))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.render=function(){var t=this;return new Promise(function(n){var i=t.options.imageMask;if(!i){r.prototype.render.call(t),n();return}var a=function(o){t.options=E(E({},t.options),{imageMask:o||null}),r.prototype.render.call(t),n()};Yst(i).then(a).catch(a)})},e.prototype.getSchemaAdaptor=function(){return qst},e.prototype.triggerResize=function(){var t=this;this.chart.destroyed||(this.execAdaptor(),window.setTimeout(function(){r.prototype.triggerResize.call(t)}))},e}(ke);var tlt=U(q());var Wl=U(Zst()),of=U(q());var DXt={exp:Wl.regressionExp,linear:Wl.regressionLinear,loess:Wl.regressionLoess,log:Wl.regressionLog,poly:Wl.regressionPoly,pow:Wl.regressionPow,quad:Wl.regressionQuad};function $st(r,e){var t=10,n={regionStyle:[{position:{start:[r,"max"],end:["max",e]},style:{fill:"#d8d0c0",opacity:.4}},{position:{start:["min","max"],end:[r,e]},style:{fill:"#a3dda1",opacity:.4}},{position:{start:["min",e],end:[r,"min"]},style:{fill:"#d8d0c0",opacity:.4}},{position:{start:[r,e],end:["max","min"]},style:{fill:"#a3dda1",opacity:.4}}],lineStyle:{stroke:"#9ba29a",lineWidth:1},labelStyle:[{position:["max",e],offsetX:-t,offsetY:-t,style:{textAlign:"right",textBaseline:"bottom",fontSize:14,fill:"#ccc"}},{position:["min",e],offsetX:t,offsetY:-t,style:{textAlign:"left",textBaseline:"bottom",fontSize:14,fill:"#ccc"}},{position:["min",e],offsetX:t,offsetY:t,style:{textAlign:"left",textBaseline:"top",fontSize:14,fill:"#ccc"}},{position:["max",e],offsetX:-t,offsetY:t,style:{textAlign:"right",textBaseline:"top",fontSize:14,fill:"#ccc"}}]};return n}var PXt=function(r,e){var t=e.view,n=e.options,i=n.xField,a=n.yField,o=t.getScaleByField(i),s=t.getScaleByField(a),l=r.map(function(u){return t.getCoordinate().convert({x:o.scale(u[0]),y:s.scale(u[1])})});return dj(l,!1)},Qst=function(r){var e=r.options,t=e.xField,n=e.yField,i=e.data,a=e.regressionLine,o=a.type,s=o===void 0?"linear":o,l=a.algorithm,u;if(l)u=(0,of.isArray)(l)?l:l(i);else{var f=DXt[s]().x(function(c){return c[t]}).y(function(c){return c[n]});u=f(i)}return PXt(u,r)},Jst=function(r){var e,t=r.meta,n=t===void 0?{}:t,i=r.xField,a=r.yField,o=r.data,s=o[0][i],l=o[0][a],u=s>0,f=l>0;function c(h,d){var p=(0,of.get)(n,[h]);function v(g){return(0,of.get)(p,g)}var m={};return d==="x"?((0,of.isNumber)(s)&&((0,of.isNumber)(v("min"))||(m.min=u?0:s*2),(0,of.isNumber)(v("max"))||(m.max=u?s*2:0)),m):((0,of.isNumber)(l)&&((0,of.isNumber)(v("min"))||(m.min=f?0:l*2),(0,of.isNumber)(v("max"))||(m.max=f?l*2:0)),m)}return E(E({},n),(e={},e[i]=E(E({},n[i]),c(i,"x")),e[a]=E(E({},n[a]),c(a,"y")),e))};function kj(r){var e=r.data,t=e===void 0?[]:e,n=r.xField,i=r.yField;if(t.length){for(var a=!0,o=!0,s=t[0],l=void 0,u=1;u0){var s=this.view.geometries[0],l=s.dataArray,u=o[0].name,f=[];return l.forEach(function(c){c.forEach(function(h){var d=ea.getTooltipItems(h,s),p=d[0];if(!i&&p&&p.name===u){var v=(0,Rj.isNil)(a)?u:a;f.push(E(E({},p),{name:p.title,title:v}))}else if(i&&p){var v=(0,Rj.isNil)(a)?p.name||u:a;f.push(E(E({},p),{name:p.title,title:v}))}})}),f}return[]},e}(Jb);Ju("radar-tooltip",YXt);var nlt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(){var t=this.context.view;t.removeInteraction("tooltip")},e.prototype.show=function(){var t=this.context.event,n=this.getTooltipController();n.showTooltip({x:t.x,y:t.y})},e.prototype.hide=function(){var t=this.getTooltipController();t.hideTooltip()},e.prototype.getTooltipController=function(){var t=this.context.view;return t.getController("radar-tooltip")},e}(Tr);nr("radar-tooltip",nlt);xr("radar-tooltip",{start:[{trigger:"plot:mousemove",action:"radar-tooltip:show"}],end:[{trigger:"plot:mouseleave",action:"radar-tooltip:hide"}]});var Nj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="radar",t}return e.prototype.changeData=function(t){this.updateOption({data:t}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return gt({},r.prototype.getDefaultOptions.call(this),{xAxis:{label:{offset:15},grid:{line:{type:"line"}}},yAxis:{grid:{line:{type:"circle"}}},legend:{position:"top"},tooltip:{shared:!0,showCrosshairs:!0,showMarkers:!0,crosshairs:{type:"xy",line:{style:{stroke:"#565656",lineDash:[4]}},follow:!0}}})},e.prototype.getSchemaAdaptor=function(){return rlt},e}(ke);var ra=U(q());var S0=U(q());var Hm;(function(r){r.Left="Left",r.Right="Right"})(Hm||(Hm={}));var Dp;(function(r){r.Line="line",r.Column="column"})(Dp||(Dp={}));var Vl="left-axes-view",Hl="right-axes-view",ilt={nice:!0,label:{autoHide:!0,autoRotate:!1}},alt=E(E({},ilt),{position:"left"}),olt=E(E({},ilt),{position:"right",grid:null});function dA(r){return(0,S0.get)(r,"geometry")===Dp.Line}function pA(r){return(0,S0.get)(r,"geometry")===Dp.Column}function Fj(r,e,t){return pA(t)?gt({},{geometry:Dp.Column,label:t.label&&t.isRange?{content:function(n){var i;return(i=n[e])===null||i===void 0?void 0:i.join("-")}}:void 0},t):E({geometry:Dp.Line},t)}function Bj(r,e){var t=r[0],n=r[1];if((0,S0.isArray)(e)){var i=e[0],a=e[1];return[i,a]}var o=(0,S0.get)(e,t),s=(0,S0.get)(e,n);return[o,s]}function Gj(r,e){return e===Hm.Left?r===!1?!1:gt({},alt,r):e===Hm.Right?r===!1?!1:gt({},olt,r):r}var Nh=U(q());function zj(r){var e=r.view,t=r.geometryOption,n=r.yField,i=r.legend,a=(0,Nh.get)(i,"marker"),o=mi(e,dA(t)?"line":"interval");if(!t.seriesField){var s=(0,Nh.get)(e,"options.scales."+n+".alias")||n,l=o.getAttribute("color"),u=e.getTheme().defaultColor;l&&(u=ea.getMappingValue(l,s,(0,Nh.get)(l,["values",0],u)));var f=((0,Nh.isFunction)(a)?a:!(0,Nh.isEmpty)(a)&>({},{style:{stroke:u,fill:u}},a))||(dA(t)?{symbol:function(h,d,p){return[["M",h-p,d],["L",h+p,d]]},style:{lineWidth:2,r:6,stroke:u}}:{symbol:"square",style:{fill:u}});return[{value:n,name:s,marker:f,isGeometry:!0,viewId:e.id}]}var c=o.getGroupAttributes();return(0,Nh.reduce)(c,function(h,d){var p=ea.getLegendItems(e,o,d,e.getTheme(),a);return h.concat(p)},[])}var slt=U(q());function llt(r){var e=r.options,t=r.chart,n=e.geometryOption,i=n.isStack,a=n.color,o=n.seriesField,s=n.groupField,l=n.isGroup,u=["xField","yField"];if(dA(n)){jl(gt({},r,{options:E(E(E({},Hr(e,u)),n),{line:{color:n.color,style:n.lineStyle}})})),Gi(gt({},r,{options:E(E(E({},Hr(e,u)),n),{point:n.point&&E({color:a,shape:"circle"},n.point)})}));var f=[];l&&f.push({type:"dodge",dodgeBy:s||o,customOffset:0}),i&&f.push({type:"stack"}),f.length&&(0,slt.each)(t.geometries,function(c){c.adjust(f)})}return pA(n)&&Wm(gt({},r,{options:E(E(E({},Hr(e,u)),n),{widthRatio:n.columnWidthRatio,interval:E(E({},Hr(n,["color"])),{style:n.columnStyle})})})),r}var vA=U(q());var Uj=function(r,e){var t=e[0],n=e[1],i=r.getOptions().data,a=r.getXScale(),o=(0,vA.size)(i);if(!(!a||!o)){var s=!0,l=(0,vA.valuesOfKey)(i,a.field),u=s?l:l.reverse(),f=(0,vA.size)(u),c=Math.floor(t*(f-1)),h=Math.floor(n*(f-1));r.filter(a.field,function(d){var p=u.indexOf(d);return p>-1?mj(p,c,h):!0}),r.render(!0)}};function XXt(r){var e,t=r.options,n=t.geometryOptions,i=n===void 0?[]:n,a=t.xField,o=t.yField,s=(0,ra.every)(i,function(l){var u=l.geometry;return u===Dp.Line||u===void 0});return gt({},{options:{geometryOptions:[],meta:(e={},e[a]={type:"cat",sync:!0,range:s?[0,1]:void 0},e),tooltip:{showMarkers:s,showCrosshairs:s,shared:!0,crosshairs:{type:"x"}},interactions:s?[{type:"legend-visible-filter"}]:[{type:"legend-visible-filter"},{type:"active-region"}],legend:{position:"top-left"}}},r,{options:{yAxis:Bj(o,t.yAxis),geometryOptions:[Fj(a,o[0],i[0]),Fj(a,o[1],i[1])],annotations:Bj(o,t.annotations)}})}function qXt(r){var e,t,n=r.chart,i=r.options,a=i.geometryOptions,o={line:0,column:1},s=[{type:(e=a[0])===null||e===void 0?void 0:e.geometry,id:Vl},{type:(t=a[1])===null||t===void 0?void 0:t.geometry,id:Hl}];return s.sort(function(l,u){return-o[l.type]+o[u.type]}).forEach(function(l){return n.createView({id:l.id})}),r}function KXt(r){var e=r.chart,t=r.options,n=t.xField,i=t.yField,a=t.geometryOptions,o=t.data,s=t.tooltip,l=[E(E({},a[0]),{id:Vl,data:o[0],yField:i[0]}),E(E({},a[1]),{id:Hl,data:o[1],yField:i[1]})];return l.forEach(function(u){var f=u.id,c=u.data,h=u.yField,d=pA(u)&&u.isPercent,p=d?Aj(c,h,n,h):c,v=qr(e,f).data(p),m=d?E({formatter:function(g){return{name:g[u.seriesField]||h,value:(Number(g[h])*100).toFixed(2)+"%"}}},s):s;llt({chart:v,options:{xField:n,yField:h,tooltip:m,geometryOption:u}})}),r}function ZXt(r){var e,t=r.chart,n=r.options,i=n.geometryOptions,a=((e=t.getTheme())===null||e===void 0?void 0:e.colors10)||[],o=0;return t.once("beforepaint",function(){(0,ra.each)(i,function(s,l){var u=qr(t,l===0?Vl:Hl);if(!s.color){var f=u.getGroupScales(),c=(0,ra.get)(f,[0,"values","length"],1),h=a.slice(o,o+c).concat(l===0?[]:a);u.geometries.forEach(function(d){s.seriesField?d.color(s.seriesField,h):d.color(h[0])}),o+=c}}),t.render(!0)}),r}function $Xt(r){var e,t,n=r.chart,i=r.options,a=i.xAxis,o=i.yAxis,s=i.xField,l=i.yField;return un((e={},e[s]=a,e[l[0]]=o[0],e))(gt({},r,{chart:qr(n,Vl)})),un((t={},t[s]=a,t[l[1]]=o[1],t))(gt({},r,{chart:qr(n,Hl)})),r}function QXt(r){var e=r.chart,t=r.options,n=qr(e,Vl),i=qr(e,Hl),a=t.xField,o=t.yField,s=t.xAxis,l=t.yAxis;return e.axis(a,!1),e.axis(o[0],!1),e.axis(o[1],!1),n.axis(a,s),n.axis(o[0],Gj(l[0],Hm.Left)),i.axis(a,!1),i.axis(o[1],Gj(l[1],Hm.Right)),r}function JXt(r){var e=r.chart,t=r.options,n=t.tooltip,i=qr(e,Vl),a=qr(e,Hl);return e.tooltip(n),i.tooltip({shared:!0}),a.tooltip({shared:!0}),r}function t9t(r){var e=r.chart;return Pr(gt({},r,{chart:qr(e,Vl)})),Pr(gt({},r,{chart:qr(e,Hl)})),r}function e9t(r){var e=r.chart,t=r.options,n=t.annotations,i=(0,ra.get)(n,[0]),a=(0,ra.get)(n,[1]);return nn(i)(gt({},r,{chart:qr(e,Vl),options:{annotations:i}})),nn(a)(gt({},r,{chart:qr(e,Hl),options:{annotations:a}})),r}function r9t(r){var e=r.chart;return lr(gt({},r,{chart:qr(e,Vl)})),lr(gt({},r,{chart:qr(e,Hl)})),lr(r),r}function n9t(r){var e=r.chart;return Sr(gt({},r,{chart:qr(e,Vl)})),Sr(gt({},r,{chart:qr(e,Hl)})),r}function i9t(r){var e=r.chart,t=r.options,n=t.yAxis;return af(gt({},r,{chart:qr(e,Vl),options:{yAxis:n[0]}})),af(gt({},r,{chart:qr(e,Hl),options:{yAxis:n[1]}})),r}function a9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.geometryOptions,a=t.yField,o=t.data,s=qr(e,Vl),l=qr(e,Hl);if(n===!1)e.legend(!1);else if((0,ra.isObject)(n)&&n.custom===!0)e.legend(n);else{var u=(0,ra.get)(i,[0,"legend"],n),f=(0,ra.get)(i,[1,"legend"],n);e.once("beforepaint",function(){var c=o[0].length?zj({view:s,geometryOption:i[0],yField:a[0],legend:u}):[],h=o[1].length?zj({view:l,geometryOption:i[1],yField:a[1],legend:f}):[];e.legend(gt({},n,{custom:!0,items:c.concat(h)}))}),i[0].seriesField&&s.legend(i[0].seriesField,u),i[1].seriesField&&l.legend(i[1].seriesField,f),e.on("legend-item:click",function(c){var h=(0,ra.get)(c,"gEvent.delegateObject",{});if(h&&h.item){var d=h.item,p=d.value,v=d.isGeometry,m=d.viewId;if(v){var g=(0,ra.findIndex)(a,function(S){return S===p});if(g>-1){var x=(0,ra.get)(qr(e,m),"geometries");(0,ra.each)(x,function(S){S.changeVisible(!h.item.unchecked)})}}else{var b=(0,ra.get)(e.getController("legend"),"option.items",[]);(0,ra.each)(e.views,function(S){var C=S.getGroupScales();(0,ra.each)(C,function(w){w.values&&w.values.indexOf(p)>-1&&S.filter(w.field,function(A){var I=(0,ra.find)(b,function(P){return P.value===A});return!I.unchecked})}),e.render(!0)})}}})}return r}function o9t(r){var e=r.chart,t=r.options,n=t.slider,i=qr(e,Vl),a=qr(e,Hl);return n&&(i.option("slider",n),i.on("slider:valuechanged",function(o){var s=o.event,l=s.value,u=s.originValue;(0,ra.isEqual)(l,u)||Uj(a,l)}),e.once("afterpaint",function(){if(!(0,ra.isBoolean)(n)){var o=n.start,s=n.end;(o||s)&&Uj(a,[o,s])}})),r}function ult(r){return Fe(XXt,qXt,r9t,KXt,$Xt,QXt,i9t,JXt,t9t,e9t,n9t,ZXt,a9t,o9t)(r)}var jj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dual-axes",t}return e.prototype.getDefaultOptions=function(){return gt({},r.prototype.getDefaultOptions.call(this),{yAxis:[],syncViewPadding:!0})},e.prototype.getSchemaAdaptor=function(){return ult},e}(ke);var flt=U(q()),Ym="x",Pp="y",Wj={showTitle:!1,shared:!0,showMarkers:!1,customContent:function(r,e){return""+(0,flt.get)(e,[0,"data","y"],0)},containerTpl:'
      ',itemTpl:"{value}",domStyles:{"g2-tooltip":{padding:"2px 4px",fontSize:"10px"}},showCrosshairs:!0,crosshairs:{type:"x"}},clt={appendPadding:2,tooltip:E({},Wj),animation:{}};var hlt=U(q());function Cu(r){return(0,hlt.map)(r||[],function(e,t){return{x:""+t,y:e}})}function s9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.areaStyle,o=t.point,s=t.line,l=o==null?void 0:o.state,u=Cu(n);e.data(u);var f=gt({},r,{options:{xField:Ym,yField:Pp,area:{color:i,style:a},line:s,point:o}}),c=gt({},f,{options:{tooltip:!1}}),h=gt({},f,{options:{tooltip:!1,state:l}});return Ph(f),jl(c),Gi(h),e.axis(!1),e.legend(!1),r}function pc(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.data,s=Cu(o);return Fe(un((e={},e[Ym]=i,e[Pp]=a,e),(t={},t[Ym]={type:"cat"},t[Pp]=k1(s,Pp),t)))(r)}function FD(r){return Fe(Xi("areaStyle"),s9t,pc,wn,lr,Sr,nn())(r)}function l9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.lineStyle,o=t.point,s=o==null?void 0:o.state,l=Cu(n);e.data(l);var u=gt({},r,{options:{xField:Ym,yField:Pp,line:{color:i,style:a},point:o}}),f=gt({},u,{options:{tooltip:!1,state:s}});return jl(u),Gi(f),e.axis(!1),e.legend(!1),r}function BD(r){return Fe(l9t,pc,lr,wn,Sr,nn())(r)}var mA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-line",t}return e.getDefaultOptions=function(){return clt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return BD},e}(ke);function u9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.columnStyle,o=t.columnWidthRatio,s=Cu(n);e.data(s);var l=gt({},r,{options:{xField:Ym,yField:Pp,widthRatio:o,interval:{style:a,color:i}}});return gi(l),e.axis(!1),e.legend(!1),e.interaction("element-active"),r}function GD(r){return Fe(lr,Xi("columnStyle"),u9t,pc,wn,Sr,nn())(r)}var dlt=U(q()),f9t={showTitle:!1,shared:!0,showMarkers:!1,customContent:function(r,e){return""+(0,dlt.get)(e,[0,"data","y"],0)},containerTpl:'
      ',itemTpl:"{value}",domStyles:{"g2-tooltip":{padding:"2px 4px",fontSize:"10px"}}},plt={appendPadding:2,tooltip:E({},f9t),animation:{}};var gA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-column",t}return e.getDefaultOptions=function(){return plt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return GD},e}(ke);var vlt={appendPadding:2,tooltip:E({},Wj),color:"l(90) 0:#E5EDFE 1:#ffffff",areaStyle:{fillOpacity:.6},line:{size:1,color:"#5B8FF9"},animation:{}};var yA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-area",t}return e.getDefaultOptions=function(){return vlt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return FD},e}(ke);var _o=U(q());function mlt(r,e,t){if(t===1)return[0,e];var n=Math.floor(r/e);return[e*n,e*(n+1)]}function c9t(r){return Math.ceil(Math.log(r.length)/Math.LN2)+1}function zD(r,e,t,n,i){var a=(0,_o.clone)(r);(0,_o.sortBy)(a,e);var o=(0,_o.valuesOfKey)(a,e),s=(0,_o.getRange)(o),l=s.max-s.min,u=t;if(!t&&n&&(u=n>1?l/(n-1):s.max),!t&&!n){var f=c9t(o);u=l/f}var c={},h=(0,_o.groupBy)(a,i);(0,_o.isEmpty)(h)?(0,_o.each)(a,function(p){var v=p[e],m=mlt(v,u,n),g=m[0]+"-"+m[1];(0,_o.hasKey)(c,g)||(c[g]={range:m,count:0}),c[g].count+=1}):Object.keys(h).forEach(function(p){(0,_o.each)(h[p],function(v){var m=v[e],g=mlt(m,u,n),x=g[0]+"-"+g[1],b=x+"-"+p;(0,_o.hasKey)(c,b)||(c[b]={range:g,count:0},c[b][i]=p),c[b].count+=1})});var d=[];return(0,_o.each)(c,function(p){d.push(p)}),d}var xA="range",X1="count",glt=gt({},ke.getDefaultOptions(),{columnStyle:{stroke:"#FFFFFF"},tooltip:{shared:!0,showMarkers:!1},interactions:[{type:"active-region"}]});function h9t(r){var e=r.chart,t=r.options,n=t.data,i=t.binField,a=t.binNumber,o=t.binWidth,s=t.color,l=t.stackField,u=t.legend,f=t.columnStyle,c=zD(n,i,o,a,l);e.data(c);var h=gt({},r,{options:{xField:xA,yField:X1,seriesField:l,isStack:!0,interval:{color:s,style:f}}});return gi(h),u&&l&&e.legend(l,u),r}function d9t(r){var e,t=r.options,n=t.xAxis,i=t.yAxis;return Fe(un((e={},e[xA]=n,e[X1]=i,e)))(r)}function p9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis;return n===!1?e.axis(xA,!1):e.axis(xA,n),i===!1?e.axis(X1,!1):e.axis(X1,i),r}function v9t(r){var e=r.chart,t=r.options,n=t.label,i=mi(e,"interval");if(!n)i.label(!1);else{var a=n.callback,o=rr(n,["callback"]);i.label({fields:[X1],callback:a,cfg:Kn(o)})}return r}function UD(r){return Fe(lr,Xi("columnStyle"),h9t,d9t,p9t,Ms,v9t,wn,Pr,Sr)(r)}var bA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="histogram",t}return e.getDefaultOptions=function(){return glt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options,i=n.binField,a=n.binNumber,o=n.binWidth,s=n.stackField;this.chart.changeData(zD(t,i,o,a,s))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return UD},e}(ke);var blt=U(q());var Vj=["#FAAD14","#E8EDF3"],ylt={percent:.2,color:Vj,animation:{}};var xlt=U(q());function q1(r){var e=(0,xlt.clamp)(fc(r)?r:0,0,1);return[{type:"current",percent:e},{type:"target",percent:1-e}]}function Hj(r){var e=r.chart,t=r.options,n=t.percent,i=t.progressStyle,a=t.color,o=t.barWidthRatio;e.data(q1(n));var s=gt({},r,{options:{xField:"1",yField:"percent",seriesField:"type",isStack:!0,widthRatio:o,interval:{style:i,color:(0,blt.isString)(a)?[a,Vj[1]]:a},args:{zIndexReversed:!0,sortZIndex:!0}}});return gi(s),e.tooltip(!1),e.axis(!1),e.legend(!1),r}function m9t(r){var e=r.chart;return e.coordinate("rect").transpose(),r}function jD(r){return Fe(Hj,un({}),m9t,Sr,lr,nn())(r)}var _A=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="process",t}return e.getDefaultOptions=function(){return ylt},e.prototype.changeData=function(t){this.updateOption({percent:t}),this.chart.changeData(q1(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return jD},e}(ke);var WD=U(q());function g9t(r){var e=r.chart,t=r.options,n=t.innerRadius,i=t.radius;return e.coordinate("theta",{innerRadius:n,radius:i}),r}function Yj(r,e){var t=r.chart,n=r.options,i=n.innerRadius,a=n.statistic,o=n.percent,s=n.meta;if(t.getController("annotation").clear(!0),i&&a){var l=(0,WD.get)(s,["percent","formatter"])||function(f){return(f*100).toFixed(2)+"%"},u=a.content;u&&(u=gt({},u,{content:(0,WD.isNil)(u.content)?l(o):u.content})),Lp(t,{statistic:E(E({},a),{content:u}),plotType:"ring-progress"},{percent:o})}return e&&t.render(!0),r}function VD(r){return Fe(Hj,un({}),g9t,Yj,Sr,lr,nn())(r)}var _lt={percent:.2,innerRadius:.8,radius:.98,color:["#FAAD14","#E8EDF3"],statistic:{title:!1,content:{style:{fontSize:"14px",fontWeight:300,fill:"#4D4D4D",textAlign:"center",textBaseline:"middle"}}},animation:{}};var SA=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="ring-process",t}return e.getDefaultOptions=function(){return _lt},e.prototype.changeData=function(t){this.chart.emit(wr.BEFORE_CHANGE_DATA,zn.fromData(this.chart,wr.BEFORE_CHANGE_DATA,null)),this.updateOption({percent:t}),this.chart.data(q1(t)),Yj({chart:this.chart,options:this.options},!0),this.chart.emit(wr.AFTER_CHANGE_DATA,zn.fromData(this.chart,wr.AFTER_CHANGE_DATA,null))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return VD},e}(ke);var Slt=U(q());function y9t(r){var e=r.chart,t=r.options,n=t.data,i=t.type,a=t.xField,o=t.yField,s=t.colorField,l=t.sizeField,u=t.sizeRatio,f=t.shape,c=t.color,h=t.tooltip,d=t.heatmapStyle;e.data(n);var p="polygon";i==="density"&&(p="heatmap");var v=Ca(h,[a,o,s]),m=v.fields,g=v.formatter,x=1;return(u||u===0)&&(!f&&!l?console.warn("sizeRatio is not in effect: Must define shape or sizeField first"):u<0||u>1?console.warn("sizeRatio is not in effect: It must be a number in [0,1]"):x=u),Bi(gt({},r,{options:{type:p,colorField:s,tooltipFields:m,shapeField:l||"",label:void 0,mapping:{tooltip:g,shape:f&&(l?function(b){var S=n.map(function(A){return A[l]}),C=Math.min.apply(Math,S),w=Math.max.apply(Math,S);return[f,((0,Slt.get)(b,l)-C)/(w-C),x]}:function(){return[f,1,x]}),color:c||s&&e.getTheme().sequenceColors.join("-"),style:d}}})),r}function x9t(r){var e,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return Fe(un((e={},e[a]=n,e[o]=i,e)))(r)}function b9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(o,!1):e.axis(o,i),r}function _9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.colorField,a=t.sizeField,o=t.sizeLegend,s=n!==!1;return i&&e.legend(i,s?n:!1),a&&e.legend(a,o===void 0?n:o),!s&&!o&&e.legend(!1),r}function S9t(r){var e=r.chart,t=r.options,n=t.label,i=t.colorField,a=t.type,o=mi(e,a==="density"?"heatmap":"polygon");if(!n)o.label(!1);else if(i){var s=n.callback,l=rr(n,["callback"]);o.label({fields:[i],callback:s,cfg:Kn(l)})}return r}function C9t(r){var e=r.chart,t=r.options,n=t.coordinate,i=t.reflect;return n&&e.coordinate({type:n.type||"rect",cfg:n.cfg}),i&&e.coordinate().reflect(i),r}function Clt(r){return Fe(lr,Xi("heatmapStyle"),x9t,C9t,y9t,b9t,_9t,wn,S9t,nn(),Pr,Sr,Ms)(r)}var wlt=gt({},ke.getDefaultOptions(),{type:"polygon",legend:!1,coordinate:{type:"rect"},xAxis:{tickLine:null,line:null,grid:{alignTick:!1,line:{style:{lineWidth:1,lineDash:null,stroke:"#f0f0f0"}}}},yAxis:{grid:{alignTick:!1,line:{style:{lineWidth:1,lineDash:null,stroke:"#f0f0f0"}}}}});or("polygon","circle",{draw:function(r,e){var t,n,i=r.x,a=r.y,o=this.parsePoints(r.points),s=Math.abs(o[2].x-o[1].x),l=Math.abs(o[1].y-o[0].y),u=Math.min(s,l)/2,f=Number(r.shape[1]),c=Number(r.shape[2]),h=Math.sqrt(c),d=u*h*Math.sqrt(f),p=((t=r.style)===null||t===void 0?void 0:t.fill)||r.color||((n=r.defaultStyle)===null||n===void 0?void 0:n.fill),v=e.addShape("circle",{attrs:E(E(E({x:i,y:a,r:d},r.defaultStyle),r.style),{fill:p})});return v}});or("polygon","square",{draw:function(r,e){var t,n,i=r.x,a=r.y,o=this.parsePoints(r.points),s=Math.abs(o[2].x-o[1].x),l=Math.abs(o[1].y-o[0].y),u=Math.min(s,l),f=Number(r.shape[1]),c=Number(r.shape[2]),h=Math.sqrt(c),d=u*h*Math.sqrt(f),p=((t=r.style)===null||t===void 0?void 0:t.fill)||r.color||((n=r.defaultStyle)===null||n===void 0?void 0:n.fill),v=e.addShape("rect",{attrs:E(E(E({x:i-d/2,y:a-d/2,width:d,height:d},r.defaultStyle),r.style),{fill:p})});return v}});var Xj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="heatmap",t}return e.getDefaultOptions=function(){return wlt},e.prototype.getSchemaAdaptor=function(){return Clt},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var XD=U(q());var qj,Xm="$$range$$",w9t="low-q1-median-q3-high",Elt="$$y_outliers$$",HD="outliers_view",Alt=gt({},ke.getDefaultOptions(),{meta:(qj={},qj[Xm]={min:0,alias:w9t},qj),interactions:[{type:"active-region"}],tooltip:{showMarkers:!1,shared:!0},boxStyle:{lineWidth:1}});var Mlt=U(q());var YD=function(r,e){var t=r;if(Array.isArray(e)){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4];t=(0,Mlt.map)(r,function(l){return l[Xm]=[l[n],l[i],l[a],l[o],l[s]],l})}return t};function E9t(r){var e=r.chart,t=r.options,n=t.xField,i=t.yField,a=t.groupField,o=t.color,s=t.tooltip,l=t.boxStyle;e.data(YD(t.data,i));var u=(0,XD.isArray)(i)?Xm:i,f=i?(0,XD.isArray)(i)?i:[i]:[],c=s;c!==!1&&(c=gt({},{fields:(0,XD.isArray)(i)?i:[]},c));var h=Gm(gt({},r,{options:{xField:n,yField:u,seriesField:a,tooltip:c,rawFields:f,label:!1,schema:{shape:"box",color:o,style:l}}})).ext;return a&&h.geometry.adjust("dodge"),r}function A9t(r){var e=r.chart,t=r.options,n=t.xField,i=t.data,a=t.outliersField,o=t.outliersStyle,s=t.padding,l=t.label;if(!a)return r;var u=e.createView({padding:s,id:HD}),f=i.reduce(function(c,h){var d=h[a];return d.forEach(function(p){var v;return c.push(E(E({},h),(v={},v[a]=p,v)))}),c},[]);return u.data(f),Gi({chart:u,options:{xField:n,yField:a,point:{shape:"circle",style:o},label:l}}),u.axis(!1),r}function M9t(r){var e,t,n=r.chart,i=r.options,a=i.meta,o=i.xAxis,s=i.yAxis,l=i.xField,u=i.yField,f=i.outliersField,c=Array.isArray(u)?Xm:u,h={};if(f){var d=Elt;h=(e={},e[f]={sync:d,nice:!0},e[c]={sync:d,nice:!0},e)}var p=gt(h,a,(t={},t[l]=Hr(o,za),t[c]=Hr(s,za),t));return n.scale(p),r}function T9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField,s=Array.isArray(o)?Xm:o;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(Xm,!1):e.axis(s,i),r}function I9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.groupField;return i?n?e.legend(i,n):e.legend(i,{position:"bottom"}):e.legend(!1),r}function Tlt(r){return Fe(E9t,A9t,M9t,T9t,I9t,wn,Pr,Sr,lr)(r)}var Kj=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="box",t}return e.getDefaultOptions=function(){return Alt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options.yField,i=this.chart.views.find(function(a){return a.id===HD});i&&i.data(t),this.chart.changeData(YD(t,n))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Tlt},e}(ke);var mc=U(q());var Fh=U(q()),Flt=U(Plt());function klt(r,e){var t=r.length*e;if(r.length===0)throw new Error("quantile requires at least one data point.");if(e<0||e>1)throw new Error("quantiles must be between 0 and 1");return e===1?r[r.length-1]:e===0?r[0]:t%1!=0?r[Math.ceil(t)-1]:r.length%2==0?(r[t-1]+r[t])/2:r[t]}function CA(r,e,t){var n=r[e];r[e]=r[t],r[t]=n}function KD(r,e,t,n){for(t=t||0,n=n||r.length-1;n>t;){if(n-t>600){var i=n-t+1,a=e-t+1,o=Math.log(i),s=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*s*(i-s)/i);a-i/2<0&&(l*=-1);var u=Math.max(t,Math.floor(e-a*s/i+l)),f=Math.min(n,Math.floor(e+(i-a)*s/i+l));KD(r,e,u,f)}var c=r[e],h=t,d=n;for(CA(r,t,e),r[n]>c&&CA(r,t,n);hc;)d--}r[t]===c?CA(r,t,d):(d++,CA(r,d,n)),d<=e&&(t=d+1),e<=d&&(n=d-1)}}function K1(r,e){var t=r.slice();if(Array.isArray(e)){P9t(t,e);for(var n=[],i=0;ie?e:r},lighten:function(r,e){return r>e?r:e},dodge:function(r,e){return r===255?255:(r=255*(e/255)/(1-r/255),r>255?255:r)},burn:function(r,e){return e===255?255:r===0?0:255*(1-Math.min(1,(1-e/255)/(r/255)))}},V9t=function(r){if(!Ylt[r])throw new Error("unknown blend mode "+r);return Ylt[r]};function Xlt(r,e,t){t===void 0&&(t="normal");var n=W9t(V9t(t))(tP(r),tP(e)),i=tP(r),a=i[0],o=i[1],s=i[2],l=i[3],u=tP(e),f=u[0],c=u[1],h=u[2],d=u[3],p=Number((l+d*(1-l)).toFixed(2)),v=Math.round((l*(1-d)*(a/255)+l*d*(n[0]/255)+(1-l)*d*(f/255))/p*255),m=Math.round((l*(1-d)*(o/255)+l*d*(n[1]/255)+(1-l)*d*(c/255))/p*255),g=Math.round((l*(1-d)*(s/255)+l*d*(n[2]/255)+(1-l)*d*(h/255))/p*255);return"rgba("+v+", "+m+", "+g+", "+p+")"}function tP(r){var e=r.replace("/s+/g",""),t;return typeof e=="string"&&!e.startsWith("rgba")&&!e.startsWith("#")?t=gu.rgb2arr(gu.toRGB(e)).concat([1]):(e.startsWith("rgba")&&(t=e.replace("rgba(","").replace(")","").split(",")),e.startsWith("#")&&(t=gu.rgb2arr(e).concat([1])),t.map(function(n,i){return i===3?Number(n):n|0}))}var Is=U(tW());var Klt=1e-10;function wA(r,e){var t=Y9t(r),n=t.filter(function(A){return H9t(A,r)}),i=0,a=0,o,s=[];if(n.length>1){var l=iW(n);for(o=0;o-1){var v=r[c.parentIndex[p]],m=Math.atan2(c.x-v.x,c.y-v.y),g=Math.atan2(f.x-v.x,f.y-v.y),x=g-m;x<0&&(x+=2*Math.PI);var b=g-x/2,S=Eu(h,{x:v.x+v.radius*Math.sin(b),y:v.y+v.radius*Math.cos(b)});S>v.radius*2&&(S=v.radius*2),(d===null||d.width>S)&&(d={circle:v,width:S,p1:c,p2:f})}d!==null&&(s.push(d),i+=eW(d.circle.radius,d.width),f=c)}}else{var C=r[0];for(o=1;oMath.abs(C.radius-r[o].radius)){w=!0;break}w?i=a=0:(i=C.radius*C.radius*Math.PI,s.push({circle:C,p1:{x:C.x,y:C.y+C.radius},p2:{x:C.x-Klt,y:C.y+C.radius},width:C.radius*2}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=t),i+a}function H9t(r,e){for(var t=0;te[t].radius+Klt)return!1;return!0}function Y9t(r){for(var e=[],t=0;t=r+e)return 0;if(t<=Math.abs(r-e))return Math.PI*Math.min(r,e)*Math.min(r,e);var n=r-(t*t-e*e+r*r)/(2*t),i=e-(t*t-r*r+e*e)/(2*t);return eW(r,n)+eW(e,i)}function nW(r,e){var t=Eu(r,e),n=r.radius,i=e.radius;if(t>=n+i||t<=Math.abs(n-i))return[];var a=(n*n-i*i+t*t)/(2*t),o=Math.sqrt(n*n-a*a),s=r.x+a*(e.x-r.x)/t,l=r.y+a*(e.y-r.y)/t,u=-(e.y-r.y)*(o/t),f=-(e.x-r.x)*(o/t);return[{x:s+u,y:l-f},{x:s-u,y:l+f}]}function iW(r){for(var e={x:0,y:0},t=0;tu?1:-1}),n=0;n=Math.min(e[o].size,e[s].size)?c=1:a.size<=1e-10&&(c=-1),i[o][s]=i[s][o]=c}),{distances:n,constraints:i}}function K9t(r,e,t,n){var i=0,a;for(a=0;a0&&p<=c||h<0&&p>=c||(i+=2*v*v,e[2*a]+=4*v*(o-u),e[2*a+1]+=4*v*(s-f),e[2*l]+=4*v*(u-o),e[2*l+1]+=4*v*(f-s))}return i}function Z9t(r,e){var t=Q9t(r,e),n=e.lossFunction||oW;if(r.length>=8){var i=$9t(r,e),a=n(i,r),o=n(t,r);a+1e-8=Math.min(n[f].size,n[c].size)&&(u=0),i[f].push({set:c,size:l.size,weight:u}),i[c].push({set:f,size:l.size,weight:u})}var h=[];for(a in i)if(i.hasOwnProperty(a)){for(var d=0,o=0;o=o&&(a=t[n],o=s)}var l=(0,Jlt.nelderMead)(function(h){return-1*sW({x:h[0],y:h[1]},r,e)},[a.x,a.y],{maxIterations:500,minErrorDelta:1e-10}).x,u={x:l[0],y:l[1]},f=!0;for(n=0;nr[n].radius){f=!1;break}for(n=0;n0&&console.log("WARNING: area "+a+" not represented on screen")}return t}function e7t(r,e,t){var n=[],i=r-t,a=e;return n.push("M",i,a),n.push("A",t,t,0,1,0,i+2*t,a),n.push("A",t,t,0,1,0,i,a),n.join(" ")}function rut(r){var e={};wA(r,e);var t=e.arcs;if(t.length===0)return"M 0 0";if(t.length==1){var n=t[0].circle;return e7t(n.x,n.y,n.radius)}else{for(var i=[` + `,l=z1(a,o),u=l.getContext("2d");U1(u,e,a,o),BYt(u,e,s);var f=u.createPattern(l,"repeat");if(f){var c=x0(),h=j1(c,n);f.setTransform(h)}return f}var GYt={size:6,padding:1,isStagger:!0,backgroundColor:"transparent",opacity:1,rotation:0,fill:"#fff",fillOpacity:.5,stroke:"transparent",lineWidth:0};function zYt(r,e,t,n){var i=e.stroke,a=e.size,o=e.fill,s=e.lineWidth,l=e.fillOpacity;r.globalAlpha=l,r.strokeStyle=i,r.lineWidth=s,r.fillStyle=o,r.strokeRect(t-a/2,n-a/2,a,a),r.fillRect(t-a/2,n-a/2,a,a)}function Lst(r){var e=mt({},GYt,r),t=e.size,n=e.padding,i=e.isStagger,a=e.rotation,o=_D(t,n,i),s=SD(o,i),l=z1(o,o),u=l.getContext("2d");U1(u,e,o);for(var f=0,c=s;fb){var C=S/v.length,w=Math.max(1,Math.ceil(b/C)-1),A=v.slice(0,w)+"...";x.attr("text",A)}}}}function QYt(r,e,t){ZYt(r,e,t),$Yt(r,e,t)}function Fst(r,e,t){return e===void 0&&(e=!0),t===void 0&&(t=!1),function(n){var i=n.options,a=n.chart,o=i.conversionTag,s=i.theme;return o&&!t&&(a.theme(mt({},(0,Wm.isObject)(s)?s:Qu(s),{columnWidthRatio:1/3})),a.annotation().shape({render:function(l,u){var f=l.addGroup({id:a.id+"-conversion-tag-group",name:"conversion-tag-group"}),c=(0,Wm.find)(a.geometries,function(p){return p.type==="interval"}),h={view:u,geometry:c,group:f,field:r,horizontal:e,options:KYt(o,e)},d=c.elements;(0,Wm.each)(d,function(p,v){v>0&&QYt(h,d[v-1],p)})}})),n}}var C0={hover:"__interval-connected-area-hover__",click:"__interval-connected-area-click__"},kj=function(r,e){return r==="hover"?[{trigger:"interval:mouseenter",action:["element-highlight-by-color:highlight","element-link-by-color:link"],arg:[null,{style:e}]}]:[{trigger:"interval:click",action:["element-highlight-by-color:clear","element-highlight-by-color:highlight","element-link-by-color:clear","element-link-by-color:unlink","element-link-by-color:link"],arg:[null,null,null,null,{style:e}]}]};xr(C0.hover,{start:kj(C0.hover),end:[{trigger:"interval:mouseleave",action:["element-highlight-by-color:reset","element-link-by-color:unlink"]}]});xr(C0.click,{start:kj(C0.click),end:[{trigger:"document:mousedown",action:["element-highlight-by-color:clear","element-link-by-color:clear"]}]});function Bst(r){return r===void 0&&(r=!1),function(e){var t=e.chart,n=e.options,i=n.connectedArea,a=function(){t.removeInteraction(C0.hover),t.removeInteraction(C0.click)};if(!r&&i){var o=i.trigger||"hover";a(),t.interaction(C0[o],{start:kj(o,i.style)})}else a();return e}}var Ust=z(q());var Gst=z(q());var JYt=10,tXt=5,eXt={padding:[8,10],text:"reset",textStyle:{default:{x:0,y:0,fontSize:12,fill:"#333333",cursor:"pointer"}},buttonStyle:{default:{fill:"#f7f7f7",stroke:"#cccccc",cursor:"pointer"},active:{fill:"#e6e6e6"}}},zst=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.buttonGroup=null,t.buttonCfg=E({name:"button"},eXt),t}return e.prototype.getButtonCfg=function(){var t=this.context.view,n=(0,Gst.get)(t,["interactions","filter-action","cfg","buttonConfig"]);return mt(this.buttonCfg,n,this.cfg)},e.prototype.drawButton=function(){var t=this.getButtonCfg(),n=this.context.view.foregroundGroup.addGroup({name:t.name}),i=this.drawText(n);this.drawBackground(n,i.getBBox()),this.buttonGroup=n},e.prototype.drawText=function(t){var n,i=this.getButtonCfg();return t.addShape({type:"text",name:"button-text",attrs:E({text:i.text},(n=i.textStyle)===null||n===void 0?void 0:n.default)})},e.prototype.drawBackground=function(t,n){var i,a=this.getButtonCfg(),o=cc(a.padding),s=t.addShape({type:"rect",name:"button-rect",attrs:E({x:n.x-o[3],y:n.y-o[0],width:n.width+o[1]+o[3],height:n.height+o[0]+o[2]},(i=a.buttonStyle)===null||i===void 0?void 0:i.default)});return s.toBack(),t.on("mouseenter",function(){var l;s.attr((l=a.buttonStyle)===null||l===void 0?void 0:l.active)}),t.on("mouseleave",function(){var l;s.attr((l=a.buttonStyle)===null||l===void 0?void 0:l.default)}),s},e.prototype.resetPosition=function(){var t=this.context.view,n=t.getCoordinate(),i=n.convert({x:1,y:1}),a=this.buttonGroup,o=a.getBBox(),s=ea.transform(null,[["t",i.x-o.width-JYt,i.y+o.height+tXt]]);a.setMatrix(s)},e.prototype.show=function(){this.buttonGroup||this.drawButton(),this.resetPosition(),this.buttonGroup.show()},e.prototype.hide=function(){this.buttonGroup&&this.buttonGroup.hide()},e.prototype.destroy=function(){var t=this.buttonGroup;t&&t.remove(),r.prototype.destroy.call(this)},e}(Ir);nr("brush-reset-button",zst,{name:"brush-reset-button"});xr("filter-action",{});function Op(r){return r.isInPlot()}function Vm(r,e,t){var n=e||"rect";switch(r){case"brush":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush:filter","brush:end",n+"-mask:end",n+"-mask:hide","brush-reset-button:show"]}],rollback:[{trigger:"brush-reset-button:click",action:["brush:reset","brush-reset-button:hide","cursor:crosshair"]}]};case"brush-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};case"brush-x":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush-x:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush-x:filter","brush-x:end",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-x:reset"]}]};case"brush-x-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};case"brush-y":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Op,action:["brush-y:start",n+"-mask:start",n+"-mask:show"],arg:[null,{maskStyle:t==null?void 0:t.style}]}],processing:[{trigger:"mousemove",isEnable:Op,action:[n+"-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Op,action:["brush-y:filter","brush-y:end",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-y:reset"]}]};case"brush-y-highlight":return{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(i){return!i.isInShape("mask")},action:[n+"-mask:start",n+"-mask:show"],arg:[{maskStyle:t==null?void 0:t.style}]},{trigger:"mask:dragstart",action:[n+"-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:[n+"-mask:resize"]},{trigger:"mask:drag",action:[n+"-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:[n+"-mask:end"]},{trigger:"mask:dragend",action:[n+"-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(i){return!i.isInPlot()},action:["element-range-highlight:clear",n+"-mask:end",n+"-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear",n+"-mask:hide"]}]};default:return{}}}xr("brush",Vm("brush"));xr("brush-highlight",Vm("brush-highlight"));xr("brush-x",Vm("brush-x","x-rect"));xr("brush-y",Vm("brush-y","y-rect"));xr("brush-x-highlight",Vm("brush-x-highlight","x-rect"));xr("brush-y-highlight",Vm("brush-y-highlight","y-rect"));var jst=["brush","brush-x","brush-y","brush-highlight","brush-x-highlight","brush-y-highlight"];function OD(r){var e=r.options,t=e.brush,n=(0,Ust.filter)(e.interactions||[],function(i){return jst.indexOf(i.type)===-1});return(t==null?void 0:t.enabled)&&(jst.forEach(function(i){var a,o=!1;switch(t.type){case"x-rect":o=i===(t.action==="highlight"?"brush-x-highlight":"brush-x");break;case"y-rect":o=i===(t.action==="highlight"?"brush-y-highlight":"brush-y");break;default:o=i===(t.action==="highlight"?"brush-highlight":"brush");break}var s={type:i,enable:o};(((a=t.mask)===null||a===void 0?void 0:a.style)||t.type)&&(s.cfg=Vm(i,t.type,t.mask)),n.push(s)}),(t==null?void 0:t.action)!=="highlight"&&n.push({type:"filter-action",cfg:{buttonConfig:t.button}})),mt({},r,{options:{interactions:n}})}function rXt(r){var e=r.options,t=e.legend,n=e.seriesField,i=e.isStack;return n?t!==!1&&(t=E({position:i?"right-top":"top-left"},t)):t=!1,r.options.legend=t,r}function nXt(r){var e=r.chart,t=r.options,n=t.data,i=t.columnStyle,a=t.color,o=t.columnWidthRatio,s=t.isPercent,l=t.isGroup,u=t.isStack,f=t.xField,c=t.yField,h=t.seriesField,d=t.groupField,p=t.tooltip,v=t.shape,m=s&&l&&u?Rst(n,c,[f,d],c):Rh(n,c,f,c,s),g=[];u&&h&&!l?m.forEach(function(S){var C=g.find(function(w){return w[f]===S[f]&&w[h]===S[h]});C?C[c]+=S[c]||0:g.push(E({},S))}):g=m,e.data(g);var x=s?E({formatter:function(S){return{name:l&&u?S[h]+" - "+S[d]:S[h]||S[f],value:(Number(S[c])*100).toFixed(2)+"%"}}},p):p,b=mt({},r,{options:{data:g,widthRatio:o,tooltip:x,interval:{shape:v,style:i,color:a}}});return gi(b),b}function Y1(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.xField,s=n.yField,l=n.data,u=n.isPercent,f=u?{max:1,min:0,minLimit:0,maxLimit:1}:{};return Fe(un((e={},e[o]=i,e[s]=a,e),(t={},t[o]={type:"cat"},t[s]=E(E({},F1(l,s)),f),t)))(r)}function iXt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(o,!1):e.axis(o,i),r}function aXt(r){var e=r.chart,t=r.options,n=t.legend,i=t.seriesField;return n&&i?e.legend(i,n):n===!1&&e.legend(!1),r}function oXt(r){var e=r.chart,t=r.options,n=t.label,i=t.yField,a=t.isRange,o=mi(e,"interval");if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]);o.label({fields:[i],callback:s,cfg:E({layout:(l==null?void 0:l.position)?void 0:[{type:"interval-adjust-position"},{type:"interval-hide-overlap"},{type:"adjust-color"},{type:"limit-in-plot",cfg:{action:"hide"}}]},Kn(a?E({content:function(u){var f;return(f=u[i])===null||f===void 0?void 0:f.join("-")}},l):l))})}return r}function sXt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.isGroup,a=t.isStack,o=t.groupField,s=t.data,l=t.xField,u=t.yField,f=t.seriesField;if(n===!1)e.tooltip(!1);else{var c=n;if(i&&a){var h=(c==null?void 0:c.formatter)||function(d){return{name:d[f]+" - "+d[o],value:d[u]}};c=E(E({},c),{customItems:function(d){var p=[];return(0,H1.each)(d,function(v){var m=(0,H1.filter)(s,function(g){return(0,H1.isMatch)(g,Hr(v.data,[l,f]))});m.forEach(function(g){p.push(E(E(E({},v),{value:g[u],data:g,mappingData:{_origin:g}}),h(g)))})}),p}})}e.tooltip(c)}return r}function Hm(r,e){e===void 0&&(e=!1);var t=r.options,n=t.seriesField;return Fe(rXt,lr,Xi("columnStyle"),Is,nXt,Y1,iXt,aXt,sXt,Dh,V1,oXt,OD,kr,Sr,nn(),Fst(t.yField,!e,!!n),Bst(!t.isStack),af)(r)}var Wst=mt({},ke.getDefaultOptions(),{columnWidthRatio:.6,marginRatio:1/32,tooltip:{shared:!0,showMarkers:!1,offset:20},legend:{radio:{}},interactions:[{type:"active-region"}]});var fA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="column",t}return e.getDefaultOptions=function(){return Wst},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options,i=n.yField,a=n.xField,o=n.isPercent,s=this,l=s.chart,u=s.options;Y1({chart:l,options:u}),this.chart.changeData(Rh(t,i,a,i,o))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Hm},e}(ke);function lXt(r){var e=r.options,t=e.xField,n=e.yField,i=e.xAxis,a=e.yAxis,o={left:"bottom",right:"top",top:"left",bottom:"right"},s=a!==!1?E({position:o[(a==null?void 0:a.position)||"left"]},a):!1,l=i!==!1?E({position:o[(i==null?void 0:i.position)||"bottom"]},i):!1;return E(E({},r),{options:E(E({},e),{xField:n,yField:t,xAxis:s,yAxis:l})})}function uXt(r){var e=r.options,t=e.label;return t&&!t.position&&(t.position="left",t.layout||(t.layout=[{type:"interval-adjust-position"},{type:"interval-hide-overlap"},{type:"adjust-color"},{type:"limit-in-plot",cfg:{action:"hide"}}])),mt({},r,{options:{label:t}})}function fXt(r){var e=r.options,t=e.seriesField,n=e.isStack,i=e.legend;return t?i!==!1&&(i=E({position:n?"top-left":"right-top"},i||{})):i=!1,mt({},r,{options:{legend:i}})}function cXt(r){var e=r.chart;return e.coordinate({actions:[["transpose"],["reflect","y"]]}),r}function hXt(r){var e=r.chart,t=r.options,n=t.barStyle,i=t.barWidthRatio,a=t.minBarWidth,o=t.maxBarWidth,s=t.barBackground;return Hm({chart:e,options:E(E({},t),{columnStyle:n,columnWidthRatio:i,minColumnWidth:a,maxColumnWidth:o,columnBackground:s})},!0)}function DD(r){return Fe(lXt,uXt,fXt,wn,cXt,hXt)(r)}var Vst=mt({},ke.getDefaultOptions(),{barWidthRatio:.6,marginRatio:1/32,tooltip:{shared:!0,showMarkers:!1,offset:20},legend:{radio:{}},interactions:[{type:"active-region"}]});var cA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="bar",t}return e.getDefaultOptions=function(){return Vst},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options,o=a.xField,s=a.yField,l=a.isPercent,u=E(E({},a),{xField:s,yField:o});Y1({chart:i,options:u}),i.changeData(Rh(t,o,s,o,l))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return DD},e}(ke);var Ea=z(q());var PD=mt({},ke.getDefaultOptions(),{legend:{position:"right",radio:{}},tooltip:{shared:!1,showTitle:!1,showMarkers:!1},label:{layout:{type:"limit-in-plot",cfg:{action:"ellipsis"}}},pieStyle:{stroke:"white",lineWidth:1},statistic:{title:{style:{fontWeight:300,color:"#4B535E",textAlign:"center",fontSize:"20px",lineHeight:1}},content:{style:{fontWeight:"bold",color:"rgba(44,53,66,0.85)",textAlign:"center",fontSize:"32px",lineHeight:1}}},theme:{components:{annotation:{text:{animate:!1}}}}});var w0=z(q());function Hst(r,e){var t=null;return(0,w0.each)(r,function(n){typeof n[e]=="number"&&(t+=n[e])}),t}function Yst(r,e){var t;switch(r){case"inner":return t="-30%",(0,w0.isString)(e)&&e.endsWith("%")?parseFloat(e)*.01>0?t:e:e<0?e:t;case"outer":return t=12,(0,w0.isString)(e)&&e.endsWith("%")?parseFloat(e)*.01<0?t:e:e>0?e:t;default:return e}}function X1(r,e){return(0,w0.every)(Oh(r,e),function(t){return t[e]===0})}var Xst=z(q());var dXt=[1,0,0,0,1,0,0,0,1];function hA(r,e){var t=e?dn(e):dn(dXt);return ea.transform(t,r)}var qst=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getActiveElements=function(){var t=ea.getDelegationObject(this.context);if(t){var n=this.context.view,i=t.component,a=t.item,o=i.get("field");if(o){var s=n.geometries[0].elements;return s.filter(function(l){return l.getModel().data[o]===a.value})}}return[]},e.prototype.getActiveElementLabels=function(){var t=this.context.view,n=this.getActiveElements(),i=t.geometries[0].labelsContainer.getChildren();return i.filter(function(a){return n.find(function(o){return(0,Xst.isEqual)(o.getData(),a.get("data"))})})},e.prototype.transfrom=function(t){t===void 0&&(t=7.5);var n=this.getActiveElements(),i=this.getActiveElementLabels();n.forEach(function(a,o){var s=i[o],l=a.geometry.coordinate;if(l.isPolar&&l.isTransposed){var u=ea.getAngle(a.getModel(),l),f=u.startAngle,c=u.endAngle,h=(f+c)/2,d=t,p=d*Math.cos(h),v=d*Math.sin(h);a.shape.setMatrix(hA([["t",p,v]])),s.setMatrix(hA([["t",p,v]]))}})},e.prototype.active=function(){this.transfrom()},e.prototype.reset=function(){this.transfrom(0)},e}(Ir);var E0=z(q());function Kst(r){var e=r.event,t,n=e.target;return n&&(t=n.get("element")),t}var Zst=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getAnnotations=function(t){var n=t||this.context.view;return n.getController("annotation").option},e.prototype.getInitialAnnotation=function(){return this.initialAnnotation},e.prototype.init=function(){var t=this,n=this.context.view;n.removeInteraction("tooltip"),n.on("afterchangesize",function(){var i=t.getAnnotations(n);t.initialAnnotation=i})},e.prototype.change=function(t){var n=this.context,i=n.view,a=n.event;this.initialAnnotation||(this.initialAnnotation=this.getAnnotations());var o=(0,E0.get)(a,["data","data"]);if(a.type.match("legend-item")){var s=ea.getDelegationObject(this.context),l=i.getGroupedFields()[0];if(s&&l){var u=s.item;o=i.getData().find(function(d){return d[l]===u.value})}}if(o){var f=(0,E0.get)(t,"annotations",[]),c=(0,E0.get)(t,"statistic",{});i.getController("annotation").clear(!0),(0,E0.each)(f,function(d){typeof d=="object"&&i.annotation()[d.type](d)}),Lp(i,{statistic:c,plotType:"pie"},o),i.render(!0)}var h=Kst(this.context);h&&h.shape.toFront()},e.prototype.reset=function(){var t=this.context.view,n=t.getController("annotation");n.clear(!0);var i=this.getInitialAnnotation();(0,E0.each)(i,function(a){t.annotation()[a.type](a)}),t.render(!0)},e}(Ir);var Rj="pie-statistic";nr(Rj,Zst);xr("pie-statistic-active",{start:[{trigger:"element:mouseenter",action:"pie-statistic:change"}],end:[{trigger:"element:mouseleave",action:"pie-statistic:reset"}]});nr("pie-legend",qst);xr("pie-legend-active",{start:[{trigger:"legend-item:mouseenter",action:"pie-legend:active"}],end:[{trigger:"legend-item:mouseleave",action:"pie-legend:reset"}]});function pXt(r){var e=r.chart,t=r.options,n=t.data,i=t.angleField,a=t.colorField,o=t.color,s=t.pieStyle,l=Oh(n,i);if(X1(l,i)){var u="$$percentage$$";l=l.map(function(c){var h;return E(E({},c),(h={},h[u]=1/l.length,h))}),e.data(l);var f=mt({},r,{options:{xField:"1",yField:u,seriesField:a,isStack:!0,interval:{color:o,style:s},args:{zIndexReversed:!0,sortZIndex:!0}}});gi(f)}else{e.data(l);var f=mt({},r,{options:{xField:"1",yField:i,seriesField:a,isStack:!0,interval:{color:o,style:s},args:{zIndexReversed:!0,sortZIndex:!0}}});gi(f)}return r}function vXt(r){var e,t=r.chart,n=r.options,i=n.meta,a=n.colorField,o=mt({},i);return t.scale(o,(e={},e[a]={type:"cat"},e)),r}function mXt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"theta",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}),r}function gXt(r){var e=r.chart,t=r.options,n=t.label,i=t.colorField,a=t.angleField,o=e.geometries[0];if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]),u=Kn(l);if(u.content){var f=u.content;u.content=function(p,v,m){var g=p[i],x=p[a],b=e.getScaleByField(a),S=b==null?void 0:b.scale(x);return(0,Ea.isFunction)(f)?f(E(E({},p),{percent:S}),v,m):(0,Ea.isString)(f)?iA(f,{value:x,name:g,percentage:(0,Ea.isNumber)(S)&&!(0,Ea.isNil)(x)?(S*100).toFixed(2)+"%":null}):f}}var c={inner:"",outer:"pie-outer",spider:"pie-spider"},h=u.type?c[u.type]:"pie-outer",d=u.layout?(0,Ea.isArray)(u.layout)?u.layout:[u.layout]:[];u.layout=(h?[{type:h}]:[]).concat(d),o.label({fields:i?[a,i]:[a],callback:s,cfg:E(E({},u),{offset:Yst(u.type,u.offset),type:"pie"})})}return r}function $st(r){var e=r.innerRadius,t=r.statistic,n=r.angleField,i=r.colorField,a=r.meta,o=r.locale,s=y0(o);if(e&&t){var l=mt({},PD.statistic,t),u=l.title,f=l.content;return u!==!1&&(u=mt({},{formatter:function(c){return c?c[i]:(0,Ea.isNil)(u.content)?s.get(["statistic","total"]):u.content}},u)),f!==!1&&(f=mt({},{formatter:function(c,h){var d=c?c[n]:Hst(h,n),p=(0,Ea.get)(a,[n,"formatter"])||function(v){return v};return c||(0,Ea.isNil)(f.content)?p(d):f.content}},f)),mt({},{statistic:{title:u,content:f}},r)}return r}function Nj(r){var e=r.chart,t=r.options,n=$st(t),i=n.innerRadius,a=n.statistic;return e.getController("annotation").clear(!0),Fe(nn())(r),i&&a&&Lp(e,{statistic:a,plotType:"pie"}),r}function yXt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.colorField,a=t.angleField,o=t.data;if(n===!1)e.tooltip(n);else if(e.tooltip(mt({},n,{shared:!1})),X1(o,a)){var s=(0,Ea.get)(n,"fields"),l=(0,Ea.get)(n,"formatter");(0,Ea.isEmpty)((0,Ea.get)(n,"fields"))&&(s=[i,a],l=l||function(u){return{name:u[i],value:(0,Ea.toString)(u[a])}}),e.geometries[0].tooltip(s.join("*"),b0(s,l))}return r}function xXt(r){var e=r.chart,t=r.options,n=$st(t),i=n.interactions,a=n.statistic,o=n.annotations;return(0,Ea.each)(i,function(s){var l,u;if(s.enable===!1)e.removeInteraction(s.type);else if(s.type==="pie-statistic-active"){var f=[];((l=s.cfg)===null||l===void 0?void 0:l.start)||(f=[{trigger:"element:mouseenter",action:Rj+":change",arg:{statistic:a,annotations:o}}]),(0,Ea.each)((u=s.cfg)===null||u===void 0?void 0:u.start,function(c){f.push(E(E({},c),{arg:{statistic:a,annotations:o}}))}),e.interaction(s.type,mt({},s.cfg,{start:f}))}else e.interaction(s.type,s.cfg||{})}),r}function kD(r){return Fe(Xi("pieStyle"),pXt,vXt,lr,mXt,Ul,yXt,gXt,Is,Nj,xXt,Sr)(r)}var dA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="pie",t}return e.getDefaultOptions=function(){return PD},e.prototype.changeData=function(t){this.chart.emit(wr.BEFORE_CHANGE_DATA,zn.fromData(this.chart,wr.BEFORE_CHANGE_DATA,null));var n=this.options,i=this.options.angleField,a=Oh(n.data,i),o=Oh(t,i);X1(a,i)||X1(o,i)?this.update({data:t}):(this.updateOption({data:t}),this.chart.data(o),Nj({chart:this.chart,options:this.options}),this.chart.render(!0)),this.chart.emit(wr.AFTER_CHANGE_DATA,zn.fromData(this.chart,wr.AFTER_CHANGE_DATA,null))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return kD},e}(ke);var q1=z(q());function bXt(r){var e=r.chart,t=r.options,n=t.data,i=t.sectorStyle,a=t.color;return e.data(n),Fe(gi)(mt({},r,{options:{marginRatio:1,interval:{style:i,color:a}}})),r}function _Xt(r){var e=r.chart,t=r.options,n=t.label,i=t.xField,a=mi(e,"interval");if(n===!1)a.label(!1);else if((0,q1.isObject)(n)){var o=n.callback,s=n.fields,l=rr(n,["callback","fields"]),u=l.offset,f=l.layout;(u===void 0||u>=0)&&(f=f?(0,q1.isArray)(f)?f:[f]:[],l.layout=(0,q1.filter)(f,function(c){return c.type!=="limit-in-shape"}),l.layout.length||delete l.layout),a.label({fields:s||[i],callback:o,cfg:Kn(l)})}else Ts(Yo.WARN,n===null,"the label option must be an Object."),a.label({fields:[i]});return r}function SXt(r){var e=r.chart,t=r.options,n=t.legend,i=t.seriesField;return n===!1?e.legend(!1):i&&e.legend(i,n),r}function CXt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"polar",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}),r}function wXt(r){var e,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return Fe(un((e={},e[a]=n,e[o]=i,e)))(r)}function EXt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n?e.axis(a,n):e.axis(a,!1),i?e.axis(o,i):e.axis(o,!1),r}function Qst(r){Fe(Xi("sectorStyle"),bXt,wXt,_Xt,CXt,EXt,SXt,wn,kr,Sr,lr,nn(),Is)(r)}var Jst=mt({},ke.getDefaultOptions(),{xAxis:!1,yAxis:!1,legend:{position:"right",radio:{}},sectorStyle:{stroke:"#fff",lineWidth:1},label:{layout:{type:"limit-in-shape"}},tooltip:{shared:!0,showMarkers:!1},interactions:[{type:"active-region"}]});var Fj=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="rose",t}return e.getDefaultOptions=function(){return Jst},e.prototype.changeData=function(t){this.updateOption({data:t}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Qst},e}(ke);var BD=z(q());var Ym=z(q());var K1=z(q()),AXt={font:function(){return"serif"},padding:1,size:[500,500],spiral:"archimedean",timeInterval:3e3};function tlt(r,e){return e=(0,K1.assign)({},AXt,e),MXt(r,e)}function MXt(r,e){var t=zXt();["font","fontSize","fontWeight","padding","rotate","size","spiral","timeInterval","random"].forEach(function(l){(0,K1.isNil)(e[l])||t[l](e[l])}),t.words(r),e.imageMask&&t.createMask(e.imageMask);var n=t.start(),i=n._tags;i.forEach(function(l){l.x+=e.size[0]/2,l.y+=e.size[1]/2});var a=e.size,o=a[0],s=a[1];return i.push({text:"",value:0,x:0,y:0,opacity:0}),i.push({text:"",value:0,x:o,y:s,opacity:0}),i}var Bj=Math.PI/180,pA=1<<11>>5,RD=1<<11;function TXt(r){return r.text}function IXt(){return"serif"}function elt(){return"normal"}function LXt(r){return r.value}function OXt(){return~~(Math.random()*2)*90}function DXt(){return 1}function PXt(r,e,t,n){if(!e.sprite){var i=r.context,a=r.ratio;i.clearRect(0,0,(pA<<5)/a,RD/a);var o=0,s=0,l=0,u=t.length;for(--n;++n>5<<5,c=~~Math.max(Math.abs(v+m),Math.abs(v-m))}else f=f+31>>5<<5;if(c>l&&(l=c),o+f>=pA<<5&&(o=0,s+=l,l=0),s+c>=RD)break;i.translate((o+(f>>1))/a,(s+(c>>1))/a),e.rotate&&i.rotate(e.rotate*Bj),i.fillText(e.text,0,0),e.padding&&(i.lineWidth=2*e.padding,i.strokeText(e.text,0,0)),i.restore(),e.width=f,e.height=c,e.xoff=o,e.yoff=s,e.x1=f>>1,e.y1=c>>1,e.x0=-e.x1,e.y0=-e.y1,e.hasText=!0,o+=f}for(var x=i.getImageData(0,0,(pA<<5)/a,RD/a).data,b=[];--n>=0;)if(e=t[n],!!e.hasText){for(var f=e.width,S=f>>5,c=e.y1-e.y0,C=0;C>5),O=x[(s+L)*(pA<<5)+(o+C)<<2]?1<<31-C%32:0;b[k]|=O,w|=O}w?A=L:(e.y0++,c--,L--,s++)}e.y1=e.y0+A,e.sprite=b.slice(0,(e.y1-e.y0)*S)}}}function kXt(r,e,t){t>>=5;for(var n=r.sprite,i=r.width>>5,a=r.x-(i<<4),o=a&127,s=32-o,l=r.y1-r.y0,u=(r.y+r.y0)*t+(a>>5),f,c=0;c>>o:0))&e[u+h])return!0;u+=t}return!1}function RXt(r,e){var t=r[0],n=r[1];e.x+e.x0n.x&&(n.x=e.x+e.x1),e.y+e.y1>n.y&&(n.y=e.y+e.y1)}function NXt(r,e){return r.x+r.x1>e[0].x&&r.x+r.x0e[0].y&&r.y+r.y0>5)*r[1]),S=l.length,C=[],w=l.map(function(O,M,I){return O.text=f.call(this,O,M,I),O.font=e.call(this,O,M,I),O.style=c.call(this,O,M,I),O.weight=n.call(this,O,M,I),O.rotate=i.call(this,O,M,I),O.size=~~t.call(this,O,M,I),O.padding=a.call(this,O,M,I),O}).sort(function(O,M){return M.size-O.size}),A=-1,L=d.board?[{x:0,y:0},{x:m,y:g}]:null;k();function k(){for(var O=Date.now();Date.now()-O>1,M.y=g*(s()+.5)>>1,PXt(x,M,w,A),M.hasText&&v(b,M,L)&&(C.push(M),L?d.hasImage||RXt(L,M):L=[{x:M.x+M.x0,y:M.y+M.y0},{x:M.x+M.x1,y:M.y+M.y1}],M.x-=r[0]>>1,M.y-=r[1]>>1)}d._tags=C,d._bounds=L}return d};function p(m){m.width=m.height=1;var g=Math.sqrt(m.getContext("2d").getImageData(0,0,1,1).data.length>>2);m.width=(pA<<5)/g,m.height=RD/g;var x=m.getContext("2d");return x.fillStyle=x.strokeStyle="red",x.textAlign="center",{context:x,ratio:g}}function v(m,g,x){for(var b=g.x,S=g.y,C=Math.sqrt(r[0]*r[0]+r[1]*r[1]),w=o(r),A=s()<.5?1:-1,L,k=-A,O,M;(L=w(k+=A))&&(O=~~L[0],M=~~L[1],!(Math.min(Math.abs(O),Math.abs(M))>=C));)if(g.x=b+O,g.y=S+M,!(g.x+g.x0<0||g.y+g.y0<0||g.x+g.x1>r[0]||g.y+g.y1>r[1])&&(!x||!kXt(g,m,r[0]))&&(!x||NXt(g,x))){for(var I=g.sprite,R=g.width>>5,P=r[0]>>5,F=g.x-(R<<4),D=F&127,G=32-D,U=g.y1-g.y0,j=void 0,H=(g.y+g.y0)*P+(F>>5),tt=0;tt>>D:0);H+=P}return delete g.sprite,!0}return!1}return d.createMask=function(m){var g=document.createElement("canvas"),x=r[0],b=r[1];if(!(!x||!b)){var S=x>>5,C=nlt((x>>5)*b);g.width=x,g.height=b;var w=g.getContext("2d");w.drawImage(m,0,0,m.width,m.height,0,0,x,b);for(var A=w.getImageData(0,0,x,b).data,L=0;L>5),M=L*x+k<<2,I=A[M]>=250&&A[M+1]>=250&&A[M+2]>=250,R=I?1<<31-k%32:0;C[O]|=R}d.board=C,d.hasImage=!0}},d.timeInterval=function(m){u=m==null?1/0:m},d.words=function(m){l=m},d.size=function(m){r=[+m[0],+m[1]]},d.font=function(m){e=dc(m)},d.fontWeight=function(m){n=dc(m)},d.rotate=function(m){i=dc(m)},d.spiral=function(m){o=GXt[m]||m},d.fontSize=function(m){t=dc(m)},d.padding=function(m){a=dc(m)},d.random=function(m){s=dc(m)},d}function ND(r){var e=r.options,t=r.chart,n=t,i=n.width,a=n.height,o=n.padding,s=n.appendPadding,l=n.ele,u=e.data,f=e.imageMask,c=e.wordField,h=e.weightField,d=e.colorField,p=e.wordStyle,v=e.timeInterval,m=e.random,g=e.spiral,x=e.autoFit,b=x===void 0?!0:x,S=e.placementStrategy;if(!u||!u.length)return[];var C=p.fontFamily,w=p.fontWeight,A=p.padding,L=p.fontSize,k=VXt(u,h),O=[XXt(k),qXt(k)],M=u.map(function(P){return{text:P[c],value:P[h],color:P[d],datum:P}}),I={imageMask:f,font:C,fontSize:WXt(L,O),fontWeight:w,size:UXt({width:i,height:a,padding:o,appendPadding:s,autoFit:b,container:l}),padding:A,timeInterval:v,random:m,spiral:g,rotate:HXt(e)};if((0,Ym.isFunction)(S)){var R=M.map(function(P,F,D){return E(E(E({},P),{hasText:!!P.text,font:dc(I.font)(P,F,D),weight:dc(I.fontWeight)(P,F,D),rotate:dc(I.rotate)(P,F,D),size:dc(I.fontSize)(P,F,D),style:"normal"}),S.call(t,P,F,D))});return R.push({text:"",value:0,x:0,y:0,opacity:0}),R.push({text:"",value:0,x:I.size[0],y:I.size[1],opacity:0}),R}return tlt(M,I)}function UXt(r){var e=r.width,t=r.height,n=r.container,i=r.autoFit,a=r.padding,o=r.appendPadding;if(i){var s=k1(n);e=s.width,t=s.height}e=e||400,t=t||400;var l=jXt({padding:a,appendPadding:o}),u=l[0],f=l[1],c=l[2],h=l[3],d=[e-(h+f),t-(u+c)];return d}function jXt(r){var e=cc(r.padding),t=cc(r.appendPadding),n=e[0]+t[0],i=e[1]+t[1],a=e[2]+t[2],o=e[3]+t[3];return[n,i,a,o]}function ilt(r){return new Promise(function(e,t){if(r instanceof HTMLImageElement){e(r);return}if((0,Ym.isString)(r)){var n=new Image;n.crossOrigin="anonymous",n.src=r,n.onload=function(){e(n)},n.onerror=function(){Ts(Yo.ERROR,!1,"image %s load failed !!!",r),t()};return}Ts(Yo.WARN,r===void 0,"The type of imageMask option must be String or HTMLImageElement."),t()})}function WXt(r,e){if((0,Ym.isFunction)(r))return r;if((0,Ym.isArray)(r)){var t=r[0],n=r[1];if(!e)return function(){return(n+t)/2};var i=e[0],a=e[1];return a===i?function(){return(n+t)/2}:function(s){var l=s.value;return(n-t)/(a-i)*(l-i)+t}}return function(){return r}}function VXt(r,e){return r.map(function(t){return t[e]}).filter(function(t){return typeof t=="number"&&!isNaN(t)})}function HXt(r){var e=YXt(r),t=e.rotation,n=e.rotationSteps;if(!(0,Ym.isArray)(t))return t;var i=t[0],a=t[1],o=n===1?0:(a-i)/(n-1);return function(){return a===i?a:Math.floor(Math.random()*n)*o}}function YXt(r){var e=r.wordStyle.rotationSteps;return e<1&&(Ts(Yo.WARN,!1,"The rotationSteps option must be greater than or equal to 1."),e=1),{rotation:r.wordStyle.rotation,rotationSteps:e}}function XXt(r){return Math.min.apply(Math,r)}function qXt(r){return Math.max.apply(Math,r)}var FD="color",alt=mt({},ke.getDefaultOptions(),{timeInterval:2e3,legend:!1,tooltip:{showTitle:!1,showMarkers:!1,showCrosshairs:!1,fields:["text","value",FD],formatter:function(r){return{name:r.text,value:r.value}}},wordStyle:{fontFamily:"Verdana",fontWeight:"normal",padding:1,fontSize:[12,60],rotation:[0,90],rotationSteps:2,rotateRatio:.5}});function KXt(r){var e=r.chart,t=r.options,n=t.colorField,i=t.color,a=ND(r);e.data(a);var o=mt({},r,{options:{xField:"x",yField:"y",seriesField:n&&FD,rawFields:(0,BD.isFunction)(i)&&dn((0,BD.get)(t,"rawFields",[]),["datum"]),point:{color:i,shape:"word-cloud"}}}),s=Gi(o).ext;return s.geometry.label(!1),e.coordinate().reflect("y"),e.axis(!1),r}function ZXt(r){return Fe(un({x:{nice:!1},y:{nice:!1}}))(r)}function $Xt(r){var e=r.chart,t=r.options,n=t.legend,i=t.colorField;return n===!1?e.legend(!1):i&&e.legend(FD,n),r}function olt(r){Fe(KXt,ZXt,wn,$Xt,kr,Sr,lr,Is)(r)}or("point","word-cloud",{draw:function(r,e){var t=r.x,n=r.y,i=e.addShape("text",{attrs:E(E({},QXt(r)),{x:t,y:n})}),a=r.data.rotate;return typeof a=="number"&&ea.rotate(i,a*Math.PI/180),i}});function QXt(r){return{fontSize:r.data.size,text:r.data.text,textAlign:"center",fontFamily:r.data.font,fontWeight:r.data.weight,fill:r.color||r.defaultStyle.stroke,textBaseline:"alphabetic"}}var Gj=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="word-cloud",t}return e.getDefaultOptions=function(){return alt},e.prototype.changeData=function(t){this.updateOption({data:t}),this.options.imageMask?this.render():this.chart.changeData(ND({chart:this.chart,options:this.options}))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.render=function(){var t=this;return new Promise(function(n){var i=t.options.imageMask;if(!i){r.prototype.render.call(t),n();return}var a=function(o){t.options=E(E({},t.options),{imageMask:o||null}),r.prototype.render.call(t),n()};ilt(i).then(a).catch(a)})},e.prototype.getSchemaAdaptor=function(){return olt},e.prototype.triggerResize=function(){var t=this;this.chart.destroyed||(this.execAdaptor(),window.setTimeout(function(){r.prototype.triggerResize.call(t)}))},e}(ke);var hlt=z(q());var Wl=z(llt()),of=z(q());var JXt={exp:Wl.regressionExp,linear:Wl.regressionLinear,loess:Wl.regressionLoess,log:Wl.regressionLog,poly:Wl.regressionPoly,pow:Wl.regressionPow,quad:Wl.regressionQuad};function ult(r,e){var t=10,n={regionStyle:[{position:{start:[r,"max"],end:["max",e]},style:{fill:"#d8d0c0",opacity:.4}},{position:{start:["min","max"],end:[r,e]},style:{fill:"#a3dda1",opacity:.4}},{position:{start:["min",e],end:[r,"min"]},style:{fill:"#d8d0c0",opacity:.4}},{position:{start:[r,e],end:["max","min"]},style:{fill:"#a3dda1",opacity:.4}}],lineStyle:{stroke:"#9ba29a",lineWidth:1},labelStyle:[{position:["max",e],offsetX:-t,offsetY:-t,style:{textAlign:"right",textBaseline:"bottom",fontSize:14,fill:"#ccc"}},{position:["min",e],offsetX:t,offsetY:-t,style:{textAlign:"left",textBaseline:"bottom",fontSize:14,fill:"#ccc"}},{position:["min",e],offsetX:t,offsetY:t,style:{textAlign:"left",textBaseline:"top",fontSize:14,fill:"#ccc"}},{position:["max",e],offsetX:-t,offsetY:t,style:{textAlign:"right",textBaseline:"top",fontSize:14,fill:"#ccc"}}]};return n}var t9t=function(r,e){var t=e.view,n=e.options,i=n.xField,a=n.yField,o=t.getScaleByField(i),s=t.getScaleByField(a),l=r.map(function(u){return t.getCoordinate().convert({x:o.scale(u[0]),y:s.scale(u[1])})});return xj(l,!1)},flt=function(r){var e=r.options,t=e.xField,n=e.yField,i=e.data,a=e.regressionLine,o=a.type,s=o===void 0?"linear":o,l=a.algorithm,u;if(l)u=(0,of.isArray)(l)?l:l(i);else{var f=JXt[s]().x(function(c){return c[t]}).y(function(c){return c[n]});u=f(i)}return t9t(u,r)},clt=function(r){var e,t=r.meta,n=t===void 0?{}:t,i=r.xField,a=r.yField,o=r.data,s=o[0][i],l=o[0][a],u=s>0,f=l>0;function c(h,d){var p=(0,of.get)(n,[h]);function v(g){return(0,of.get)(p,g)}var m={};return d==="x"?((0,of.isNumber)(s)&&((0,of.isNumber)(v("min"))||(m.min=u?0:s*2),(0,of.isNumber)(v("max"))||(m.max=u?s*2:0)),m):((0,of.isNumber)(l)&&((0,of.isNumber)(v("min"))||(m.min=f?0:l*2),(0,of.isNumber)(v("max"))||(m.max=f?l*2:0)),m)}return E(E({},n),(e={},e[i]=E(E({},n[i]),c(i,"x")),e[a]=E(E({},n[a]),c(a,"y")),e))};function zj(r){var e=r.data,t=e===void 0?[]:e,n=r.xField,i=r.yField;if(t.length){for(var a=!0,o=!0,s=t[0],l=void 0,u=1;u0){var s=this.view.geometries[0],l=s.dataArray,u=o[0].name,f=[];return l.forEach(function(c){c.forEach(function(h){var d=ea.getTooltipItems(h,s),p=d[0];if(!i&&p&&p.name===u){var v=(0,Uj.isNil)(a)?u:a;f.push(E(E({},p),{name:p.title,title:v}))}else if(i&&p){var v=(0,Uj.isNil)(a)?p.name||u:a;f.push(E(E({},p),{name:p.title,title:v}))}})}),f}return[]},e}(r1);Ju("radar-tooltip",d9t);var vlt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(){var t=this.context.view;t.removeInteraction("tooltip")},e.prototype.show=function(){var t=this.context.event,n=this.getTooltipController();n.showTooltip({x:t.x,y:t.y})},e.prototype.hide=function(){var t=this.getTooltipController();t.hideTooltip()},e.prototype.getTooltipController=function(){var t=this.context.view;return t.getController("radar-tooltip")},e}(Ir);nr("radar-tooltip",vlt);xr("radar-tooltip",{start:[{trigger:"plot:mousemove",action:"radar-tooltip:show"}],end:[{trigger:"plot:mouseleave",action:"radar-tooltip:hide"}]});var jj=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="radar",t}return e.prototype.changeData=function(t){this.updateOption({data:t}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return mt({},r.prototype.getDefaultOptions.call(this),{xAxis:{label:{offset:15},grid:{line:{type:"line"}}},yAxis:{grid:{line:{type:"circle"}}},legend:{position:"top"},tooltip:{shared:!0,showCrosshairs:!0,showMarkers:!0,crosshairs:{type:"xy",line:{style:{stroke:"#565656",lineDash:[4]}},follow:!0}}})},e.prototype.getSchemaAdaptor=function(){return plt},e}(ke);var ra=z(q());var A0=z(q());var Xm;(function(r){r.Left="Left",r.Right="Right"})(Xm||(Xm={}));var Dp;(function(r){r.Line="line",r.Column="column"})(Dp||(Dp={}));var Vl="left-axes-view",Hl="right-axes-view",mlt={nice:!0,label:{autoHide:!0,autoRotate:!1}},glt=E(E({},mlt),{position:"left"}),ylt=E(E({},mlt),{position:"right",grid:null});function gA(r){return(0,A0.get)(r,"geometry")===Dp.Line}function yA(r){return(0,A0.get)(r,"geometry")===Dp.Column}function Wj(r,e,t){return yA(t)?mt({},{geometry:Dp.Column,label:t.label&&t.isRange?{content:function(n){var i;return(i=n[e])===null||i===void 0?void 0:i.join("-")}}:void 0},t):E({geometry:Dp.Line},t)}function Vj(r,e){var t=r[0],n=r[1];if((0,A0.isArray)(e)){var i=e[0],a=e[1];return[i,a]}var o=(0,A0.get)(e,t),s=(0,A0.get)(e,n);return[o,s]}function Hj(r,e){return e===Xm.Left?r===!1?!1:mt({},glt,r):e===Xm.Right?r===!1?!1:mt({},ylt,r):r}var Nh=z(q());function Yj(r){var e=r.view,t=r.geometryOption,n=r.yField,i=r.legend,a=(0,Nh.get)(i,"marker"),o=mi(e,gA(t)?"line":"interval");if(!t.seriesField){var s=(0,Nh.get)(e,"options.scales."+n+".alias")||n,l=o.getAttribute("color"),u=e.getTheme().defaultColor;l&&(u=ea.getMappingValue(l,s,(0,Nh.get)(l,["values",0],u)));var f=((0,Nh.isFunction)(a)?a:!(0,Nh.isEmpty)(a)&&mt({},{style:{stroke:u,fill:u}},a))||(gA(t)?{symbol:function(h,d,p){return[["M",h-p,d],["L",h+p,d]]},style:{lineWidth:2,r:6,stroke:u}}:{symbol:"square",style:{fill:u}});return[{value:n,name:s,marker:f,isGeometry:!0,viewId:e.id}]}var c=o.getGroupAttributes();return(0,Nh.reduce)(c,function(h,d){var p=ea.getLegendItems(e,o,d,e.getTheme(),a);return h.concat(p)},[])}var xlt=z(q());function blt(r){var e=r.options,t=r.chart,n=e.geometryOption,i=n.isStack,a=n.color,o=n.seriesField,s=n.groupField,l=n.isGroup,u=["xField","yField"];if(gA(n)){jl(mt({},r,{options:E(E(E({},Hr(e,u)),n),{line:{color:n.color,style:n.lineStyle}})})),Gi(mt({},r,{options:E(E(E({},Hr(e,u)),n),{point:n.point&&E({color:a,shape:"circle"},n.point)})}));var f=[];l&&f.push({type:"dodge",dodgeBy:s||o,customOffset:0}),i&&f.push({type:"stack"}),f.length&&(0,xlt.each)(t.geometries,function(c){c.adjust(f)})}return yA(n)&&Hm(mt({},r,{options:E(E(E({},Hr(e,u)),n),{widthRatio:n.columnWidthRatio,interval:E(E({},Hr(n,["color"])),{style:n.columnStyle})})})),r}var xA=z(q());var Xj=function(r,e){var t=e[0],n=e[1],i=r.getOptions().data,a=r.getXScale(),o=(0,xA.size)(i);if(!(!a||!o)){var s=!0,l=(0,xA.valuesOfKey)(i,a.field),u=s?l:l.reverse(),f=(0,xA.size)(u),c=Math.floor(t*(f-1)),h=Math.floor(n*(f-1));r.filter(a.field,function(d){var p=u.indexOf(d);return p>-1?Sj(p,c,h):!0}),r.render(!0)}};function p9t(r){var e,t=r.options,n=t.geometryOptions,i=n===void 0?[]:n,a=t.xField,o=t.yField,s=(0,ra.every)(i,function(l){var u=l.geometry;return u===Dp.Line||u===void 0});return mt({},{options:{geometryOptions:[],meta:(e={},e[a]={type:"cat",sync:!0,range:s?[0,1]:void 0},e),tooltip:{showMarkers:s,showCrosshairs:s,shared:!0,crosshairs:{type:"x"}},interactions:s?[{type:"legend-visible-filter"}]:[{type:"legend-visible-filter"},{type:"active-region"}],legend:{position:"top-left"}}},r,{options:{yAxis:Vj(o,t.yAxis),geometryOptions:[Wj(a,o[0],i[0]),Wj(a,o[1],i[1])],annotations:Vj(o,t.annotations)}})}function v9t(r){var e,t,n=r.chart,i=r.options,a=i.geometryOptions,o={line:0,column:1},s=[{type:(e=a[0])===null||e===void 0?void 0:e.geometry,id:Vl},{type:(t=a[1])===null||t===void 0?void 0:t.geometry,id:Hl}];return s.sort(function(l,u){return-o[l.type]+o[u.type]}).forEach(function(l){return n.createView({id:l.id})}),r}function m9t(r){var e=r.chart,t=r.options,n=t.xField,i=t.yField,a=t.geometryOptions,o=t.data,s=t.tooltip,l=[E(E({},a[0]),{id:Vl,data:o[0],yField:i[0]}),E(E({},a[1]),{id:Hl,data:o[1],yField:i[1]})];return l.forEach(function(u){var f=u.id,c=u.data,h=u.yField,d=yA(u)&&u.isPercent,p=d?Dj(c,h,n,h):c,v=qr(e,f).data(p),m=d?E({formatter:function(g){return{name:g[u.seriesField]||h,value:(Number(g[h])*100).toFixed(2)+"%"}}},s):s;blt({chart:v,options:{xField:n,yField:h,tooltip:m,geometryOption:u}})}),r}function g9t(r){var e,t=r.chart,n=r.options,i=n.geometryOptions,a=((e=t.getTheme())===null||e===void 0?void 0:e.colors10)||[],o=0;return t.once("beforepaint",function(){(0,ra.each)(i,function(s,l){var u=qr(t,l===0?Vl:Hl);if(!s.color){var f=u.getGroupScales(),c=(0,ra.get)(f,[0,"values","length"],1),h=a.slice(o,o+c).concat(l===0?[]:a);u.geometries.forEach(function(d){s.seriesField?d.color(s.seriesField,h):d.color(h[0])}),o+=c}}),t.render(!0)}),r}function y9t(r){var e,t,n=r.chart,i=r.options,a=i.xAxis,o=i.yAxis,s=i.xField,l=i.yField;return un((e={},e[s]=a,e[l[0]]=o[0],e))(mt({},r,{chart:qr(n,Vl)})),un((t={},t[s]=a,t[l[1]]=o[1],t))(mt({},r,{chart:qr(n,Hl)})),r}function x9t(r){var e=r.chart,t=r.options,n=qr(e,Vl),i=qr(e,Hl),a=t.xField,o=t.yField,s=t.xAxis,l=t.yAxis;return e.axis(a,!1),e.axis(o[0],!1),e.axis(o[1],!1),n.axis(a,s),n.axis(o[0],Hj(l[0],Xm.Left)),i.axis(a,!1),i.axis(o[1],Hj(l[1],Xm.Right)),r}function b9t(r){var e=r.chart,t=r.options,n=t.tooltip,i=qr(e,Vl),a=qr(e,Hl);return e.tooltip(n),i.tooltip({shared:!0}),a.tooltip({shared:!0}),r}function _9t(r){var e=r.chart;return kr(mt({},r,{chart:qr(e,Vl)})),kr(mt({},r,{chart:qr(e,Hl)})),r}function S9t(r){var e=r.chart,t=r.options,n=t.annotations,i=(0,ra.get)(n,[0]),a=(0,ra.get)(n,[1]);return nn(i)(mt({},r,{chart:qr(e,Vl),options:{annotations:i}})),nn(a)(mt({},r,{chart:qr(e,Hl),options:{annotations:a}})),r}function C9t(r){var e=r.chart;return lr(mt({},r,{chart:qr(e,Vl)})),lr(mt({},r,{chart:qr(e,Hl)})),lr(r),r}function w9t(r){var e=r.chart;return Sr(mt({},r,{chart:qr(e,Vl)})),Sr(mt({},r,{chart:qr(e,Hl)})),r}function E9t(r){var e=r.chart,t=r.options,n=t.yAxis;return af(mt({},r,{chart:qr(e,Vl),options:{yAxis:n[0]}})),af(mt({},r,{chart:qr(e,Hl),options:{yAxis:n[1]}})),r}function A9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.geometryOptions,a=t.yField,o=t.data,s=qr(e,Vl),l=qr(e,Hl);if(n===!1)e.legend(!1);else if((0,ra.isObject)(n)&&n.custom===!0)e.legend(n);else{var u=(0,ra.get)(i,[0,"legend"],n),f=(0,ra.get)(i,[1,"legend"],n);e.once("beforepaint",function(){var c=o[0].length?Yj({view:s,geometryOption:i[0],yField:a[0],legend:u}):[],h=o[1].length?Yj({view:l,geometryOption:i[1],yField:a[1],legend:f}):[];e.legend(mt({},n,{custom:!0,items:c.concat(h)}))}),i[0].seriesField&&s.legend(i[0].seriesField,u),i[1].seriesField&&l.legend(i[1].seriesField,f),e.on("legend-item:click",function(c){var h=(0,ra.get)(c,"gEvent.delegateObject",{});if(h&&h.item){var d=h.item,p=d.value,v=d.isGeometry,m=d.viewId;if(v){var g=(0,ra.findIndex)(a,function(S){return S===p});if(g>-1){var x=(0,ra.get)(qr(e,m),"geometries");(0,ra.each)(x,function(S){S.changeVisible(!h.item.unchecked)})}}else{var b=(0,ra.get)(e.getController("legend"),"option.items",[]);(0,ra.each)(e.views,function(S){var C=S.getGroupScales();(0,ra.each)(C,function(w){w.values&&w.values.indexOf(p)>-1&&S.filter(w.field,function(A){var L=(0,ra.find)(b,function(k){return k.value===A});return!L.unchecked})}),e.render(!0)})}}})}return r}function M9t(r){var e=r.chart,t=r.options,n=t.slider,i=qr(e,Vl),a=qr(e,Hl);return n&&(i.option("slider",n),i.on("slider:valuechanged",function(o){var s=o.event,l=s.value,u=s.originValue;(0,ra.isEqual)(l,u)||Xj(a,l)}),e.once("afterpaint",function(){if(!(0,ra.isBoolean)(n)){var o=n.start,s=n.end;(o||s)&&Xj(a,[o,s])}})),r}function _lt(r){return Fe(p9t,v9t,C9t,m9t,y9t,x9t,E9t,b9t,_9t,S9t,w9t,g9t,A9t,M9t)(r)}var qj=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dual-axes",t}return e.prototype.getDefaultOptions=function(){return mt({},r.prototype.getDefaultOptions.call(this),{yAxis:[],syncViewPadding:!0})},e.prototype.getSchemaAdaptor=function(){return _lt},e}(ke);var Slt=z(q()),qm="x",Pp="y",Kj={showTitle:!1,shared:!0,showMarkers:!1,customContent:function(r,e){return""+(0,Slt.get)(e,[0,"data","y"],0)},containerTpl:'
      ',itemTpl:"{value}",domStyles:{"g2-tooltip":{padding:"2px 4px",fontSize:"10px"}},showCrosshairs:!0,crosshairs:{type:"x"}},Clt={appendPadding:2,tooltip:E({},Kj),animation:{}};var wlt=z(q());function Cu(r){return(0,wlt.map)(r||[],function(e,t){return{x:""+t,y:e}})}function T9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.areaStyle,o=t.point,s=t.line,l=o==null?void 0:o.state,u=Cu(n);e.data(u);var f=mt({},r,{options:{xField:qm,yField:Pp,area:{color:i,style:a},line:s,point:o}}),c=mt({},f,{options:{tooltip:!1}}),h=mt({},f,{options:{tooltip:!1,state:l}});return Ph(f),jl(c),Gi(h),e.axis(!1),e.legend(!1),r}function pc(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.data,s=Cu(o);return Fe(un((e={},e[qm]=i,e[Pp]=a,e),(t={},t[qm]={type:"cat"},t[Pp]=F1(s,Pp),t)))(r)}function UD(r){return Fe(Xi("areaStyle"),T9t,pc,wn,lr,Sr,nn())(r)}function I9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.lineStyle,o=t.point,s=o==null?void 0:o.state,l=Cu(n);e.data(l);var u=mt({},r,{options:{xField:qm,yField:Pp,line:{color:i,style:a},point:o}}),f=mt({},u,{options:{tooltip:!1,state:s}});return jl(u),Gi(f),e.axis(!1),e.legend(!1),r}function jD(r){return Fe(I9t,pc,lr,wn,Sr,nn())(r)}var bA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-line",t}return e.getDefaultOptions=function(){return Clt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return jD},e}(ke);function L9t(r){var e=r.chart,t=r.options,n=t.data,i=t.color,a=t.columnStyle,o=t.columnWidthRatio,s=Cu(n);e.data(s);var l=mt({},r,{options:{xField:qm,yField:Pp,widthRatio:o,interval:{style:a,color:i}}});return gi(l),e.axis(!1),e.legend(!1),e.interaction("element-active"),r}function WD(r){return Fe(lr,Xi("columnStyle"),L9t,pc,wn,Sr,nn())(r)}var Elt=z(q()),O9t={showTitle:!1,shared:!0,showMarkers:!1,customContent:function(r,e){return""+(0,Elt.get)(e,[0,"data","y"],0)},containerTpl:'
      ',itemTpl:"{value}",domStyles:{"g2-tooltip":{padding:"2px 4px",fontSize:"10px"}}},Alt={appendPadding:2,tooltip:E({},O9t),animation:{}};var _A=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-column",t}return e.getDefaultOptions=function(){return Alt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return WD},e}(ke);var Mlt={appendPadding:2,tooltip:E({},Kj),color:"l(90) 0:#E5EDFE 1:#ffffff",areaStyle:{fillOpacity:.6},line:{size:1,color:"#5B8FF9"},animation:{}};var SA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="tiny-area",t}return e.getDefaultOptions=function(){return Mlt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this,i=n.chart,a=n.options;pc({chart:i,options:a}),i.changeData(Cu(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return UD},e}(ke);var Co=z(q());function Tlt(r,e,t){if(t===1)return[0,e];var n=Math.floor(r/e);return[e*n,e*(n+1)]}function D9t(r){return Math.ceil(Math.log(r.length)/Math.LN2)+1}function VD(r,e,t,n,i){var a=(0,Co.clone)(r);(0,Co.sortBy)(a,e);var o=(0,Co.valuesOfKey)(a,e),s=(0,Co.getRange)(o),l=s.max-s.min,u=t;if(!t&&n&&(u=n>1?l/(n-1):s.max),!t&&!n){var f=D9t(o);u=l/f}var c={},h=(0,Co.groupBy)(a,i);(0,Co.isEmpty)(h)?(0,Co.each)(a,function(p){var v=p[e],m=Tlt(v,u,n),g=m[0]+"-"+m[1];(0,Co.hasKey)(c,g)||(c[g]={range:m,count:0}),c[g].count+=1}):Object.keys(h).forEach(function(p){(0,Co.each)(h[p],function(v){var m=v[e],g=Tlt(m,u,n),x=g[0]+"-"+g[1],b=x+"-"+p;(0,Co.hasKey)(c,b)||(c[b]={range:g,count:0},c[b][i]=p),c[b].count+=1})});var d=[];return(0,Co.each)(c,function(p){d.push(p)}),d}var CA="range",Z1="count",Ilt=mt({},ke.getDefaultOptions(),{columnStyle:{stroke:"#FFFFFF"},tooltip:{shared:!0,showMarkers:!1},interactions:[{type:"active-region"}]});function P9t(r){var e=r.chart,t=r.options,n=t.data,i=t.binField,a=t.binNumber,o=t.binWidth,s=t.color,l=t.stackField,u=t.legend,f=t.columnStyle,c=VD(n,i,o,a,l);e.data(c);var h=mt({},r,{options:{xField:CA,yField:Z1,seriesField:l,isStack:!0,interval:{color:s,style:f}}});return gi(h),u&&l&&e.legend(l,u),r}function k9t(r){var e,t=r.options,n=t.xAxis,i=t.yAxis;return Fe(un((e={},e[CA]=n,e[Z1]=i,e)))(r)}function R9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis;return n===!1?e.axis(CA,!1):e.axis(CA,n),i===!1?e.axis(Z1,!1):e.axis(Z1,i),r}function N9t(r){var e=r.chart,t=r.options,n=t.label,i=mi(e,"interval");if(!n)i.label(!1);else{var a=n.callback,o=rr(n,["callback"]);i.label({fields:[Z1],callback:a,cfg:Kn(o)})}return r}function HD(r){return Fe(lr,Xi("columnStyle"),P9t,k9t,R9t,Is,N9t,wn,kr,Sr)(r)}var wA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="histogram",t}return e.getDefaultOptions=function(){return Ilt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options,i=n.binField,a=n.binNumber,o=n.binWidth,s=n.stackField;this.chart.changeData(VD(t,i,o,a,s))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return HD},e}(ke);var Dlt=z(q());var Zj=["#FAAD14","#E8EDF3"],Llt={percent:.2,color:Zj,animation:{}};var Olt=z(q());function $1(r){var e=(0,Olt.clamp)(fc(r)?r:0,0,1);return[{type:"current",percent:e},{type:"target",percent:1-e}]}function $j(r){var e=r.chart,t=r.options,n=t.percent,i=t.progressStyle,a=t.color,o=t.barWidthRatio;e.data($1(n));var s=mt({},r,{options:{xField:"1",yField:"percent",seriesField:"type",isStack:!0,widthRatio:o,interval:{style:i,color:(0,Dlt.isString)(a)?[a,Zj[1]]:a},args:{zIndexReversed:!0,sortZIndex:!0}}});return gi(s),e.tooltip(!1),e.axis(!1),e.legend(!1),r}function F9t(r){var e=r.chart;return e.coordinate("rect").transpose(),r}function YD(r){return Fe($j,un({}),F9t,Sr,lr,nn())(r)}var EA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="process",t}return e.getDefaultOptions=function(){return Llt},e.prototype.changeData=function(t){this.updateOption({percent:t}),this.chart.changeData($1(t))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return YD},e}(ke);var XD=z(q());function B9t(r){var e=r.chart,t=r.options,n=t.innerRadius,i=t.radius;return e.coordinate("theta",{innerRadius:n,radius:i}),r}function Qj(r,e){var t=r.chart,n=r.options,i=n.innerRadius,a=n.statistic,o=n.percent,s=n.meta;if(t.getController("annotation").clear(!0),i&&a){var l=(0,XD.get)(s,["percent","formatter"])||function(f){return(f*100).toFixed(2)+"%"},u=a.content;u&&(u=mt({},u,{content:(0,XD.isNil)(u.content)?l(o):u.content})),Lp(t,{statistic:E(E({},a),{content:u}),plotType:"ring-progress"},{percent:o})}return e&&t.render(!0),r}function qD(r){return Fe($j,un({}),B9t,Qj,Sr,lr,nn())(r)}var Plt={percent:.2,innerRadius:.8,radius:.98,color:["#FAAD14","#E8EDF3"],statistic:{title:!1,content:{style:{fontSize:"14px",fontWeight:300,fill:"#4D4D4D",textAlign:"center",textBaseline:"middle"}}},animation:{}};var AA=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="ring-process",t}return e.getDefaultOptions=function(){return Plt},e.prototype.changeData=function(t){this.chart.emit(wr.BEFORE_CHANGE_DATA,zn.fromData(this.chart,wr.BEFORE_CHANGE_DATA,null)),this.updateOption({percent:t}),this.chart.data($1(t)),Qj({chart:this.chart,options:this.options},!0),this.chart.emit(wr.AFTER_CHANGE_DATA,zn.fromData(this.chart,wr.AFTER_CHANGE_DATA,null))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return qD},e}(ke);var klt=z(q());function G9t(r){var e=r.chart,t=r.options,n=t.data,i=t.type,a=t.xField,o=t.yField,s=t.colorField,l=t.sizeField,u=t.sizeRatio,f=t.shape,c=t.color,h=t.tooltip,d=t.heatmapStyle;e.data(n);var p="polygon";i==="density"&&(p="heatmap");var v=wa(h,[a,o,s]),m=v.fields,g=v.formatter,x=1;return(u||u===0)&&(!f&&!l?console.warn("sizeRatio is not in effect: Must define shape or sizeField first"):u<0||u>1?console.warn("sizeRatio is not in effect: It must be a number in [0,1]"):x=u),Bi(mt({},r,{options:{type:p,colorField:s,tooltipFields:m,shapeField:l||"",label:void 0,mapping:{tooltip:g,shape:f&&(l?function(b){var S=n.map(function(A){return A[l]}),C=Math.min.apply(Math,S),w=Math.max.apply(Math,S);return[f,((0,klt.get)(b,l)-C)/(w-C),x]}:function(){return[f,1,x]}),color:c||s&&e.getTheme().sequenceColors.join("-"),style:d}}})),r}function z9t(r){var e,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return Fe(un((e={},e[a]=n,e[o]=i,e)))(r)}function U9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(o,!1):e.axis(o,i),r}function j9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.colorField,a=t.sizeField,o=t.sizeLegend,s=n!==!1;return i&&e.legend(i,s?n:!1),a&&e.legend(a,o===void 0?n:o),!s&&!o&&e.legend(!1),r}function W9t(r){var e=r.chart,t=r.options,n=t.label,i=t.colorField,a=t.type,o=mi(e,a==="density"?"heatmap":"polygon");if(!n)o.label(!1);else if(i){var s=n.callback,l=rr(n,["callback"]);o.label({fields:[i],callback:s,cfg:Kn(l)})}return r}function V9t(r){var e=r.chart,t=r.options,n=t.coordinate,i=t.reflect;return n&&e.coordinate({type:n.type||"rect",cfg:n.cfg}),i&&e.coordinate().reflect(i),r}function Rlt(r){return Fe(lr,Xi("heatmapStyle"),z9t,V9t,G9t,U9t,j9t,wn,W9t,nn(),kr,Sr,Is)(r)}var Nlt=mt({},ke.getDefaultOptions(),{type:"polygon",legend:!1,coordinate:{type:"rect"},xAxis:{tickLine:null,line:null,grid:{alignTick:!1,line:{style:{lineWidth:1,lineDash:null,stroke:"#f0f0f0"}}}},yAxis:{grid:{alignTick:!1,line:{style:{lineWidth:1,lineDash:null,stroke:"#f0f0f0"}}}}});or("polygon","circle",{draw:function(r,e){var t,n,i=r.x,a=r.y,o=this.parsePoints(r.points),s=Math.abs(o[2].x-o[1].x),l=Math.abs(o[1].y-o[0].y),u=Math.min(s,l)/2,f=Number(r.shape[1]),c=Number(r.shape[2]),h=Math.sqrt(c),d=u*h*Math.sqrt(f),p=((t=r.style)===null||t===void 0?void 0:t.fill)||r.color||((n=r.defaultStyle)===null||n===void 0?void 0:n.fill),v=e.addShape("circle",{attrs:E(E(E({x:i,y:a,r:d},r.defaultStyle),r.style),{fill:p})});return v}});or("polygon","square",{draw:function(r,e){var t,n,i=r.x,a=r.y,o=this.parsePoints(r.points),s=Math.abs(o[2].x-o[1].x),l=Math.abs(o[1].y-o[0].y),u=Math.min(s,l),f=Number(r.shape[1]),c=Number(r.shape[2]),h=Math.sqrt(c),d=u*h*Math.sqrt(f),p=((t=r.style)===null||t===void 0?void 0:t.fill)||r.color||((n=r.defaultStyle)===null||n===void 0?void 0:n.fill),v=e.addShape("rect",{attrs:E(E(E({x:i-d/2,y:a-d/2,width:d,height:d},r.defaultStyle),r.style),{fill:p})});return v}});var Jj=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="heatmap",t}return e.getDefaultOptions=function(){return Nlt},e.prototype.getSchemaAdaptor=function(){return Rlt},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var $D=z(q());var tW,Km="$$range$$",H9t="low-q1-median-q3-high",Flt="$$y_outliers$$",KD="outliers_view",Blt=mt({},ke.getDefaultOptions(),{meta:(tW={},tW[Km]={min:0,alias:H9t},tW),interactions:[{type:"active-region"}],tooltip:{showMarkers:!1,shared:!0},boxStyle:{lineWidth:1}});var Glt=z(q());var ZD=function(r,e){var t=r;if(Array.isArray(e)){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4];t=(0,Glt.map)(r,function(l){return l[Km]=[l[n],l[i],l[a],l[o],l[s]],l})}return t};function Y9t(r){var e=r.chart,t=r.options,n=t.xField,i=t.yField,a=t.groupField,o=t.color,s=t.tooltip,l=t.boxStyle;e.data(ZD(t.data,i));var u=(0,$D.isArray)(i)?Km:i,f=i?(0,$D.isArray)(i)?i:[i]:[],c=s;c!==!1&&(c=mt({},{fields:(0,$D.isArray)(i)?i:[]},c));var h=Um(mt({},r,{options:{xField:n,yField:u,seriesField:a,tooltip:c,rawFields:f,label:!1,schema:{shape:"box",color:o,style:l}}})).ext;return a&&h.geometry.adjust("dodge"),r}function X9t(r){var e=r.chart,t=r.options,n=t.xField,i=t.data,a=t.outliersField,o=t.outliersStyle,s=t.padding,l=t.label;if(!a)return r;var u=e.createView({padding:s,id:KD}),f=i.reduce(function(c,h){var d=h[a];return d.forEach(function(p){var v;return c.push(E(E({},h),(v={},v[a]=p,v)))}),c},[]);return u.data(f),Gi({chart:u,options:{xField:n,yField:a,point:{shape:"circle",style:o},label:l}}),u.axis(!1),r}function q9t(r){var e,t,n=r.chart,i=r.options,a=i.meta,o=i.xAxis,s=i.yAxis,l=i.xField,u=i.yField,f=i.outliersField,c=Array.isArray(u)?Km:u,h={};if(f){var d=Flt;h=(e={},e[f]={sync:d,nice:!0},e[c]={sync:d,nice:!0},e)}var p=mt(h,a,(t={},t[l]=Hr(o,Ua),t[c]=Hr(s,Ua),t));return n.scale(p),r}function K9t(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField,s=Array.isArray(o)?Km:o;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?e.axis(Km,!1):e.axis(s,i),r}function Z9t(r){var e=r.chart,t=r.options,n=t.legend,i=t.groupField;return i?n?e.legend(i,n):e.legend(i,{position:"bottom"}):e.legend(!1),r}function zlt(r){return Fe(Y9t,X9t,q9t,K9t,Z9t,wn,kr,Sr,lr)(r)}var eW=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="box",t}return e.getDefaultOptions=function(){return Blt},e.prototype.changeData=function(t){this.updateOption({data:t});var n=this.options.yField,i=this.chart.views.find(function(a){return a.id===KD});i&&i.data(t),this.chart.changeData(ZD(t,n))},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return zlt},e}(ke);var mc=z(q());var Fh=z(q()),Klt=z(Hlt());function Ylt(r,e){var t=r.length*e;if(r.length===0)throw new Error("quantile requires at least one data point.");if(e<0||e>1)throw new Error("quantiles must be between 0 and 1");return e===1?r[r.length-1]:e===0?r[0]:t%1!=0?r[Math.ceil(t)-1]:r.length%2==0?(r[t-1]+r[t])/2:r[t]}function MA(r,e,t){var n=r[e];r[e]=r[t],r[t]=n}function JD(r,e,t,n){for(t=t||0,n=n||r.length-1;n>t;){if(n-t>600){var i=n-t+1,a=e-t+1,o=Math.log(i),s=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*s*(i-s)/i);a-i/2<0&&(l*=-1);var u=Math.max(t,Math.floor(e-a*s/i+l)),f=Math.min(n,Math.floor(e+(i-a)*s/i+l));JD(r,e,u,f)}var c=r[e],h=t,d=n;for(MA(r,t,e),r[n]>c&&MA(r,t,n);hc;)d--}r[t]===c?MA(r,t,d):(d++,MA(r,d,n)),d<=e&&(t=d+1),e<=d&&(n=d-1)}}function Q1(r,e){var t=r.slice();if(Array.isArray(e)){t7t(t,e);for(var n=[],i=0;ie?e:r},lighten:function(r,e){return r>e?r:e},dodge:function(r,e){return r===255?255:(r=255*(e/255)/(1-r/255),r>255?255:r)},burn:function(r,e){return e===255?255:r===0?0:255*(1-Math.min(1,(1-e/255)/(r/255)))}},c7t=function(r){if(!iut[r])throw new Error("unknown blend mode "+r);return iut[r]};function aut(r,e,t){t===void 0&&(t="normal");var n=f7t(c7t(t))(iP(r),iP(e)),i=iP(r),a=i[0],o=i[1],s=i[2],l=i[3],u=iP(e),f=u[0],c=u[1],h=u[2],d=u[3],p=Number((l+d*(1-l)).toFixed(2)),v=Math.round((l*(1-d)*(a/255)+l*d*(n[0]/255)+(1-l)*d*(f/255))/p*255),m=Math.round((l*(1-d)*(o/255)+l*d*(n[1]/255)+(1-l)*d*(c/255))/p*255),g=Math.round((l*(1-d)*(s/255)+l*d*(n[2]/255)+(1-l)*d*(h/255))/p*255);return"rgba("+v+", "+m+", "+g+", "+p+")"}function iP(r){var e=r.replace("/s+/g",""),t;return typeof e=="string"&&!e.startsWith("rgba")&&!e.startsWith("#")?t=gu.rgb2arr(gu.toRGB(e)).concat([1]):(e.startsWith("rgba")&&(t=e.replace("rgba(","").replace(")","").split(",")),e.startsWith("#")&&(t=gu.rgb2arr(e).concat([1])),t.map(function(n,i){return i===3?Number(n):n|0}))}var Os=z(oW());var sut=1e-10;function TA(r,e){var t=d7t(r),n=t.filter(function(A){return h7t(A,r)}),i=0,a=0,o,s=[];if(n.length>1){var l=fW(n);for(o=0;o-1){var v=r[c.parentIndex[p]],m=Math.atan2(c.x-v.x,c.y-v.y),g=Math.atan2(f.x-v.x,f.y-v.y),x=g-m;x<0&&(x+=2*Math.PI);var b=g-x/2,S=Eu(h,{x:v.x+v.radius*Math.sin(b),y:v.y+v.radius*Math.cos(b)});S>v.radius*2&&(S=v.radius*2),(d===null||d.width>S)&&(d={circle:v,width:S,p1:c,p2:f})}d!==null&&(s.push(d),i+=sW(d.circle.radius,d.width),f=c)}}else{var C=r[0];for(o=1;oMath.abs(C.radius-r[o].radius)){w=!0;break}w?i=a=0:(i=C.radius*C.radius*Math.PI,s.push({circle:C,p1:{x:C.x,y:C.y+C.radius},p2:{x:C.x-sut,y:C.y+C.radius},width:C.radius*2}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=t),i+a}function h7t(r,e){for(var t=0;te[t].radius+sut)return!1;return!0}function d7t(r){for(var e=[],t=0;t=r+e)return 0;if(t<=Math.abs(r-e))return Math.PI*Math.min(r,e)*Math.min(r,e);var n=r-(t*t-e*e+r*r)/(2*t),i=e-(t*t-r*r+e*e)/(2*t);return sW(r,n)+sW(e,i)}function uW(r,e){var t=Eu(r,e),n=r.radius,i=e.radius;if(t>=n+i||t<=Math.abs(n-i))return[];var a=(n*n-i*i+t*t)/(2*t),o=Math.sqrt(n*n-a*a),s=r.x+a*(e.x-r.x)/t,l=r.y+a*(e.y-r.y)/t,u=-(e.y-r.y)*(o/t),f=-(e.x-r.x)*(o/t);return[{x:s+u,y:l-f},{x:s-u,y:l+f}]}function fW(r){for(var e={x:0,y:0},t=0;tu?1:-1}),n=0;n=Math.min(e[o].size,e[s].size)?c=1:a.size<=1e-10&&(c=-1),i[o][s]=i[s][o]=c}),{distances:n,constraints:i}}function m7t(r,e,t,n){var i=0,a;for(a=0;a0&&p<=c||h<0&&p>=c||(i+=2*v*v,e[2*a]+=4*v*(o-u),e[2*a+1]+=4*v*(s-f),e[2*l]+=4*v*(u-o),e[2*l+1]+=4*v*(f-s))}return i}function g7t(r,e){var t=x7t(r,e),n=e.lossFunction||hW;if(r.length>=8){var i=y7t(r,e),a=n(i,r),o=n(t,r);a+1e-8=Math.min(n[f].size,n[c].size)&&(u=0),i[f].push({set:c,size:l.size,weight:u}),i[c].push({set:f,size:l.size,weight:u})}var h=[];for(a in i)if(i.hasOwnProperty(a)){for(var d=0,o=0;o=o&&(a=t[n],o=s)}var l=(0,cut.nelderMead)(function(h){return-1*dW({x:h[0],y:h[1]},r,e)},[a.x,a.y],{maxIterations:500,minErrorDelta:1e-10}).x,u={x:l[0],y:l[1]},f=!0;for(n=0;nr[n].radius){f=!1;break}for(n=0;n0&&console.log("WARNING: area "+a+" not represented on screen")}return t}function S7t(r,e,t){var n=[],i=r-t,a=e;return n.push("M",i,a),n.push("A",t,t,0,1,0,i+2*t,a),n.push("A",t,t,0,1,0,i,a),n.join(" ")}function put(r){var e={};TA(r,e);var t=e.arcs;if(t.length===0)return"M 0 0";if(t.length==1){var n=t[0].circle;return S7t(n.x,n.y,n.radius)}else{for(var i=[` M`,t[0].p2.x,t[0].p2.y],a=0;as;i.push(` -A`,s,s,0,l?1:0,1,o.p1.x,o.p1.y)}return i.join(" ")}}var gc="id",EA="path",nut={appendPadding:[10,0,20,0],blendMode:"multiply",tooltip:{showTitle:!1,showMarkers:!1,fields:["id","size"],formatter:function(r){return{name:r.id,value:r.size}}},legend:{position:"top-left"},label:{style:{textAlign:"center",fill:"#fff"}},interactions:[{type:"legend-filter",enable:!1}],state:{active:{style:{stroke:"#000"}},selected:{style:{stroke:"#000",lineWidth:2}},inactive:{style:{fillOpacity:.3,strokeOpacity:.3}}},defaultInteractions:["tooltip","venn-legend-active"]};var iut=(0,rP.memoize)(function(r,e,t,n){var i=new Map,a=r.length;return e.forEach(function(o,s){if(o[n].length===1)i.set(o[gc],r[(s+a)%a]);else{var l=o[n].map(function(u){return i.get(u)});i.set(o[gc],l.slice(1).reduce(function(u,f){return Xlt(u,f,t)},l[0]))}}),i},function(){for(var r=[],e=0;e0;)u-=Math.PI*2;u=u/Math.PI/2*t;var f=a-r+u-r*2;l.push(["M",f,e]);for(var c=0,h=0;h0;)u-=Math.PI*2;u=u/Math.PI/2*t;var f=a-r+u-r*2;l.push(["M",f,e]);for(var c=0,h=0;h1?n+"_"+v:""+n},m[t]=t?c[t]:String(h),m[n]=p,m))}),s.push((d={tKey:""+a},d[t]=t?c[t]:String(h),d[a]=c[a],d)),l.push(c[i],c[n],c[a])});var u=Math.min.apply(Math,l.flat(1/0)),f=Math.max.apply(Math,l.flat(1/0));return u=u>0?0:u,o==="vertical"&&s.reverse(),{min:u,max:f,ds:s}}function J7t(r){var e=r.chart,t=r.options,n=t.bulletStyle,i=t.targetField,a=t.rangeField,o=t.measureField,s=t.xField,l=t.color,u=t.layout,f=t.size,c=t.label,h=pP(t),d=h.min,p=h.max,v=h.ds;e.data(v);var m=gt({},r,{options:{xField:s,yField:a,seriesField:"rKey",isStack:!0,label:(0,so.get)(c,"range"),interval:{color:(0,so.get)(l,"range"),style:(0,so.get)(n,"range"),size:(0,so.get)(f,"range")}}});gi(m),e.geometries[0].tooltip(!1);var g=gt({},r,{options:{xField:s,yField:o,seriesField:"mKey",isStack:!0,label:(0,so.get)(c,"measure"),interval:{color:(0,so.get)(l,"measure"),style:(0,so.get)(n,"measure"),size:(0,so.get)(f,"measure")}}});gi(g);var x=gt({},r,{options:{xField:s,yField:i,seriesField:"tKey",label:(0,so.get)(c,"target"),point:{color:(0,so.get)(l,"target"),style:(0,so.get)(n,"target"),size:(0,so.isFunction)((0,so.get)(f,"target"))?function(b){return(0,so.get)(f,"target")(b)/2}:(0,so.get)(f,"target")/2,shape:u==="horizontal"?"line":"hyphen"}}});return Gi(x),u==="horizontal"&&e.coordinate().transpose(),E(E({},r),{ext:{data:{min:d,max:p}}})}function dW(r){var e,t,n=r.options,i=r.ext,a=n.xAxis,o=n.yAxis,s=n.targetField,l=n.rangeField,u=n.measureField,f=n.xField,c=i.data;return Fe(un((e={},e[f]=a,e[u]=o,e),(t={},t[u]={min:c==null?void 0:c.min,max:c==null?void 0:c.max,sync:!0},t[s]={sync:""+u},t[l]={sync:""+u},t)))(r)}function tqt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.measureField,s=t.rangeField,l=t.targetField;return e.axis(""+s,!1),e.axis(""+l,!1),n===!1?e.axis(""+a,!1):e.axis(""+a,n),i===!1?e.axis(""+o,!1):e.axis(""+o,i),r}function eqt(r){var e=r.chart,t=r.options,n=t.legend;return e.removeInteraction("legend-filter"),e.legend(n),e.legend("rKey",!1),e.legend("mKey",!1),e.legend("tKey",!1),r}function rqt(r){var e=r.chart,t=r.options,n=t.label,i=t.measureField,a=t.targetField,o=t.rangeField,s=e.geometries,l=s[0],u=s[1],f=s[2];return(0,so.get)(n,"range")?l.label(""+o,E({layout:[{type:"limit-in-plot"}]},Kn(n.range))):l.label(!1),(0,so.get)(n,"measure")?u.label(""+i,E({layout:[{type:"limit-in-plot"}]},Kn(n.measure))):u.label(!1),(0,so.get)(n,"target")?f.label(""+a,E({layout:[{type:"limit-in-plot"}]},Kn(n.target))):f.label(!1),r}function Eut(r){Fe(J7t,dW,tqt,eqt,lr,rqt,wn,Pr,Sr)(r)}var Aut=gt({},ke.getDefaultOptions(),{layout:"horizontal",size:{range:30,measure:20,target:20},xAxis:{tickLine:!1,line:null},bulletStyle:{range:{fillOpacity:.5}},label:{measure:{position:"right"}},tooltip:{showMarkers:!1}});var pW=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="bullet",t}return e.getDefaultOptions=function(){return Aut},e.prototype.changeData=function(t){this.updateOption({data:t});var n=pP(this.options),i=n.min,a=n.max,o=n.ds;dW({options:this.options,ext:{data:{min:i,max:a}},chart:this.chart}),this.chart.changeData(o)},e.prototype.getSchemaAdaptor=function(){return Eut},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var Qm=U(q()),vW="nodeIndex",mW="childNodeCount",TA="nodeAncestor",gW="Invalid field: it must be a string!";function t_(r,e){var t=r.field,n=r.fields;if((0,Qm.isString)(t))return t;if((0,Qm.isArray)(t))return console.warn(gW),t[0];if(console.warn(gW+" will try to get fields instead."),(0,Qm.isString)(n))return n;if((0,Qm.isArray)(n)&&n.length)return n[0];if(e)return e;throw new TypeError(gW)}function e_(r){var e=[];if(r&&r.each){var t,n;r.each(function(i){var a,o;i.parent!==t?(t=i.parent,n=0):n+=1;var s=(0,Qm.filter)((((a=i.ancestors)===null||a===void 0?void 0:a.call(i))||[]).map(function(l){return e.find(function(u){return u.name===l.name})||l}),function(l){var u=l.depth;return u>0&&u1?(this.historyCache=t,this.drawBreadCrumb()):(this.historyCache=[],this.hideCrumbGroup())}},e.prototype.getButtonCfg=function(){var t=this.context.view,n=(0,lf.get)(t,["interactions","drill-down","cfg","drillDownConfig"]);return gt(this.breadCrumbCfg,n==null?void 0:n.breadCrumb,this.cfg)},e.prototype.drawBreadCrumb=function(){this.drawBreadCrumbGroup(),this.resetPosition(),this.breadCrumbGroup.show()},e.prototype.drawBreadCrumbGroup=function(){var t=this,n=this.getButtonCfg(),i=this.historyCache;this.breadCrumbGroup?this.breadCrumbGroup.clear():this.breadCrumbGroup=this.context.view.foregroundGroup.addGroup({name:Out});var a=0;i.forEach(function(o,s){var l=t.breadCrumbGroup.addShape({type:"text",id:o.id,name:Out+"_"+o.name+"_text",attrs:E(E({text:s===0&&!(0,lf.isNil)(n.rootText)?n.rootText:o.name},n.textStyle),{x:a,y:0})}),u=l.getBBox();if(a+=u.width+Iut,l.on("click",function(h){var d,p=h.target.get("id");if(p!==((d=(0,lf.last)(i))===null||d===void 0?void 0:d.id)){var v=i.slice(0,i.findIndex(function(m){return m.id===p})+1);t.backTo(v)}}),l.on("mouseenter",function(h){var d,p=h.target.get("id");p!==((d=(0,lf.last)(i))===null||d===void 0?void 0:d.id)?l.attr(n.activeTextStyle):l.attr({cursor:"default"})}),l.on("mouseleave",function(){l.attr(n.textStyle)}),sPut,hierarchy:()=>Gh,pack:()=>yP,packEnclose:()=>vP,packSiblings:()=>tft,partition:()=>bP,stratify:()=>aft,tree:()=>oft,treemap:()=>MW,treemapBinary:()=>sft,treemapDice:()=>zh,treemapResquarify:()=>uft,treemapSlice:()=>ng,treemapSliceDice:()=>lft,treemapSquarify:()=>SP});function aqt(r,e){return r.parent===e.parent?1:2}function oqt(r){return r.reduce(sqt,0)/r.length}function sqt(r,e){return r+e.x}function lqt(r){return 1+r.reduce(uqt,0)}function uqt(r,e){return Math.max(r,e.y)}function fqt(r){for(var e;e=r.children;)r=e[0];return r}function cqt(r){for(var e;e=r.children;)r=e[e.length-1];return r}function Put(){var r=aqt,e=1,t=1,n=!1;function i(a){var o,s=0;a.eachAfter(function(h){var d=h.children;d?(h.x=oqt(d),h.y=lqt(d)):(h.x=o?s+=r(h,o):0,h.y=0,o=h)});var l=fqt(a),u=cqt(a),f=l.x-r(l,u)/2,c=u.x+r(u,l)/2;return a.eachAfter(n?function(h){h.x=(h.x-a.x)*e,h.y=(a.y-h.y)*t}:function(h){h.x=(h.x-f)/(c-f)*e,h.y=(1-(a.y?h.y/a.y:1))*t})}return i.separation=function(a){return arguments.length?(r=a,i):r},i.size=function(a){return arguments.length?(n=!1,e=+a[0],t=+a[1],i):n?null:[e,t]},i.nodeSize=function(a){return arguments.length?(n=!0,e=+a[0],t=+a[1],i):n?[e,t]:null},i}function hqt(r){var e=0,t=r.children,n=t&&t.length;if(!n)e=1;else for(;--n>=0;)e+=t[n].value;r.value=e}function kut(){return this.eachAfter(hqt)}function Rut(r,e){let t=-1;for(let n of this)r.call(e,n,++t,this);return this}function Nut(r,e){for(var t=this,n=[t],i,a,o=-1;t=n.pop();)if(r.call(e,t,++o,this),i=t.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Fut(r,e){for(var t=this,n=[t],i=[],a,o,s,l=-1;t=n.pop();)if(i.push(t),a=t.children)for(o=0,s=a.length;o=0;)t+=n[i].value;e.value=t})}function zut(r){return this.eachBefore(function(e){e.children&&e.children.sort(r)})}function Uut(r){for(var e=this,t=dqt(e,r),n=[e];e!==t;)e=e.parent,n.push(e);for(var i=n.length;r!==t;)n.splice(i,0,r),r=r.parent;return n}function dqt(r,e){if(r===e)return r;var t=r.ancestors(),n=e.ancestors(),i=null;for(r=t.pop(),e=n.pop();r===e;)i=r,r=t.pop(),e=n.pop();return i}function jut(){for(var r=this,e=[r];r=r.parent;)e.push(r);return e}function Wut(){return Array.from(this)}function Vut(){var r=[];return this.eachBefore(function(e){e.children||r.push(e)}),r}function Hut(){var r=this,e=[];return r.each(function(t){t!==r&&e.push({source:t.parent,target:t})}),e}function*Yut(){var r=this,e,t=[r],n,i,a;do for(e=t.reverse(),t=[];r=e.pop();)if(yield r,n=r.children)for(i=0,a=n.length;i=0;--s)i.push(a=o[s]=new eg(o[s])),a.parent=n,a.depth=n.depth+1;return t.eachBefore(xW)}function pqt(){return Gh(this).eachBefore(gqt)}function vqt(r){return r.children}function mqt(r){return Array.isArray(r)?r[1]:null}function gqt(r){r.data.value!==void 0&&(r.value=r.data.value),r.data=r.data.data}function xW(r){var e=0;do r.height=e;while((r=r.parent)&&r.height<++e)}function eg(r){this.data=r,this.depth=this.height=0,this.parent=null}eg.prototype=Gh.prototype={constructor:eg,count:kut,each:Rut,eachAfter:Fut,eachBefore:Nut,find:But,sum:Gut,sort:zut,path:Uut,ancestors:jut,descendants:Wut,leaves:Vut,links:Hut,copy:pqt,[Symbol.iterator]:Yut};function Xut(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}function qut(r){for(var e=r.length,t,n;e;)n=Math.random()*e--|0,t=r[e],r[e]=r[n],r[n]=t;return r}function vP(r){for(var e=0,t=(r=qut(Array.from(r))).length,n=[],i,a;e0&&t*t>n*n+i*i}function bW(r,e){for(var t=0;tl?(i=(u+l-a)/(2*u),s=Math.sqrt(Math.max(0,l/u-i*i)),t.x=r.x-i*n-s*o,t.y=r.y-i*o+s*n):(i=(u+a-l)/(2*u),s=Math.sqrt(Math.max(0,a/u-i*i)),t.x=e.x+i*n-s*o,t.y=e.y+i*o+s*n)):(t.x=e.x+t.r,t.y=e.y)}function Qut(r,e){var t=r.r+e.r-1e-6,n=e.x-r.x,i=e.y-r.y;return t>0&&t*t>n*n+i*i}function Jut(r){var e=r._,t=r.next._,n=e.r+t.r,i=(e.x*t.r+t.x*e.r)/n,a=(e.y*t.r+t.y*e.r)/n;return i*i+a*a}function gP(r){this._=r,this.next=null,this.previous=null}function _W(r){if(!(i=(r=Xut(r)).length))return 0;var e,t,n,i,a,o,s,l,u,f,c;if(e=r[0],e.x=0,e.y=0,!(i>1))return e.r;if(t=r[1],e.x=-t.r,t.x=e.r,t.y=0,!(i>2))return e.r+t.r;$ut(t,e,n=r[2]),e=new gP(e),t=new gP(t),n=new gP(n),e.next=n.previous=t,t.next=e.previous=n,n.next=t.previous=e;t:for(s=3;s0)throw new Error("cycle");return l}return t.id=function(n){return arguments.length?(r=n_(n),t):r},t.parentId=function(n){return arguments.length?(e=n_(n),t):e},t}function Eqt(r,e){return r.parent===e.parent?1:2}function CW(r){var e=r.children;return e?e[0]:r.t}function wW(r){var e=r.children;return e?e[e.length-1]:r.t}function Aqt(r,e,t){var n=t/(e.i-r.i);e.c-=n,e.s+=t,r.c+=n,e.z+=t,e.m+=t}function Mqt(r){for(var e=0,t=0,n=r.children,i=n.length,a;--i>=0;)a=n[i],a.z+=e,a.m+=e,e+=a.s+(t+=a.c)}function Tqt(r,e,t){return r.a.parent===e.parent?r.a:t}function _P(r,e){this._=r,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}_P.prototype=Object.create(eg.prototype);function Iqt(r){for(var e=new _P(r,0),t,n=[e],i,a,o,s;t=n.pop();)if(a=t._.children)for(t.children=new Array(s=a.length),o=s-1;o>=0;--o)n.push(i=t.children[o]=new _P(a[o],o)),i.parent=t;return(e.parent=new _P(null,0)).children=[e],e}function oft(){var r=Eqt,e=1,t=1,n=null;function i(u){var f=Iqt(u);if(f.eachAfter(a),f.parent.m=-f.z,f.eachBefore(o),n)u.eachBefore(l);else{var c=u,h=u,d=u;u.eachBefore(function(x){x.xh.x&&(h=x),x.depth>d.depth&&(d=x)});var p=c===h?1:r(c,h)/2,v=p-c.x,m=e/(h.x+p+v),g=t/(d.depth||1);u.eachBefore(function(x){x.x=(x.x+v)*m,x.y=x.depth*g})}return u}function a(u){var f=u.children,c=u.parent.children,h=u.i?c[u.i-1]:null;if(f){Mqt(u);var d=(f[0].z+f[f.length-1].z)/2;h?(u.z=h.z+r(u._,h._),u.m=u.z-d):u.z=d}else h&&(u.z=h.z+r(u._,h._));u.parent.A=s(u,h,u.parent.A||c[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u,f,c){if(f){for(var h=u,d=u,p=f,v=h.parent.children[0],m=h.m,g=d.m,x=p.m,b=v.m,S;p=wW(p),h=CW(h),p&&h;)v=CW(v),d=wW(d),d.a=u,S=p.z+x-h.z-m+r(p._,h._),S>0&&(Aqt(Tqt(p,u,c),u,S),m+=S,g+=S),x+=p.m,m+=h.m,b+=v.m,g+=d.m;p&&!wW(d)&&(d.t=p,d.m+=x-g),h&&!CW(v)&&(v.t=h,v.m+=m-b,c=u)}return c}function l(u){u.x*=e,u.y=u.depth*t}return i.separation=function(u){return arguments.length?(r=u,i):r},i.size=function(u){return arguments.length?(n=!1,e=+u[0],t=+u[1],i):n?null:[e,t]},i.nodeSize=function(u){return arguments.length?(n=!0,e=+u[0],t=+u[1],i):n?[e,t]:null},i}function ng(r,e,t,n,i){for(var a=r.children,o,s=-1,l=a.length,u=r.value&&(i-t)/r.value;++sx&&(x=u),w=m*m*C,b=Math.max(x/w,w/g),b>S){m-=u;break}S=b}o.push(l={value:m,dice:d1?n:1)},t}(EW);function MW(){var r=SP,e=!1,t=1,n=1,i=[0],a=Rp,o=Rp,s=Rp,l=Rp,u=Rp;function f(h){return h.x0=h.y0=0,h.x1=t,h.y1=n,h.eachBefore(c),i=[0],e&&h.eachBefore(xP),h}function c(h){var d=i[h.depth],p=h.x0+d,v=h.y0+d,m=h.x1-d,g=h.y1-d;m=h-1){var x=a[c];x.x0=p,x.y0=v,x.x1=m,x.y1=g;return}for(var b=u[c],S=d/2+b,C=c+1,w=h-1;C>>1;u[A]g-v){var L=d?(p*P+m*I)/d:m;f(c,C,I,p,v,L,g),f(C,h,P,L,v,m,g)}else{var M=d?(v*P+g*I)/d:g;f(c,C,I,p,v,m,M),f(C,h,P,p,M,m,g)}}}function lft(r,e,t,n,i){(r.depth&1?ng:zh)(r,e,t,n,i)}var uft=function r(e){function t(n,i,a,o,s){if((l=n._squarify)&&l.ratio===e)for(var l,u,f,c,h=-1,d,p=l.length,v=n.value;++h1?n:1)},t}(EW);var ig=U(q());var Lqt={field:"value",size:[1,1],round:!1,padding:0,sort:function(r,e){return e.value-r.value},as:["x","y"],ignoreParentValue:!0};function fft(r,e){e=(0,ig.assign)({},Lqt,e);var t=e.as;if(!(0,ig.isArray)(t)||t.length!==2)throw new TypeError('Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!');var n;try{n=t_(e)}catch(l){console.warn(l)}var i=function(l){return bP().size(e.size).round(e.round).padding(e.padding)(Gh(l).sum(function(u){return(0,ig.size)(u.children)?e.ignoreParentValue?0:u[n]-(0,ig.reduce)(u.children,function(f,c){return f+c[n]},0):u[n]}).sort(e.sort))},a=i(r),o=t[0],s=t[1];return a.each(function(l){var u,f;l[o]=[l.x0,l.x1,l.x1,l.x0],l[s]=[l.y1,l.y1,l.y0,l.y0],l.name=l.name||((u=l.data)===null||u===void 0?void 0:u.name)||((f=l.data)===null||f===void 0?void 0:f.label),l.data.name=l.name,["x0","x1","y0","y1"].forEach(function(c){t.indexOf(c)===-1&&delete l[c]})}),e_(a)}var wP=U(q());var Oqt={field:"value",tile:"treemapSquarify",size:[1,1],round:!1,ignoreParentValue:!0,padding:0,paddingInner:0,paddingOuter:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0,as:["x","y"],sort:function(r,e){return e.value-r.value},ratio:.5*(1+Math.sqrt(5))};function Dqt(r,e){return r==="treemapSquarify"?CP[r].ratio(e):CP[r]}function EP(r,e){e=(0,wP.assign)({},Oqt,e);var t=e.as;if(!(0,wP.isArray)(t)||t.length!==2)throw new TypeError('Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!');var n;try{n=t_(e)}catch(u){console.warn(u)}var i=Dqt(e.tile,e.ratio),a=function(u){return MW().tile(i).size(e.size).round(e.round).padding(e.padding).paddingInner(e.paddingInner).paddingOuter(e.paddingOuter).paddingTop(e.paddingTop).paddingRight(e.paddingRight).paddingBottom(e.paddingBottom).paddingLeft(e.paddingLeft)(Gh(u).sum(function(f){return e.ignoreParentValue&&f.children?0:f[n]}).sort(e.sort))},o=a(r),s=t[0],l=t[1];return o.each(function(u){u[s]=[u.x0,u.x1,u.x1,u.x0],u[l]=[u.y1,u.y1,u.y0,u.y0],["x0","x1","y0","y1"].forEach(function(f){t.indexOf(f)===-1&&delete u[f]})}),e_(o)}function TW(r){var e=r.data,t=r.colorField,n=r.rawFields,i=r.hierarchyConfig,a=i===void 0?{}:i,o=a.activeDepth,s={partition:fft,treemap:EP},l=r.seriesField,u=r.type||"partition",f=s[u](e,E(E({field:l||"value"},(0,cft.omit)(a,["activeDepth"])),{type:"hierarchy."+u,as:["x","y"]})),c=[];return f.forEach(function(h){var d,p,v,m,g,x;if(h.depth===0||o>0&&h.depth>o)return null;for(var b=h.data.name,S=E({},h);S.depth>1;)b=((p=S.parent.data)===null||p===void 0?void 0:p.name)+" / "+b,S=S.parent;var C=E(E(E({},Hr(h.data,dn(n||[],[a.field]))),(d={},d[Jm]=b,d[r_]=S.data.name,d)),h);l&&(C[l]=h.data[l]||((m=(v=h.parent)===null||v===void 0?void 0:v.data)===null||m===void 0?void 0:m[l])),t&&(C[t]=h.data[t]||((x=(g=h.parent)===null||g===void 0?void 0:g.data)===null||x===void 0?void 0:x[t])),C.ext=a,C[tg]={hierarchyConfig:a,colorField:t,rawFields:n},c.push(C)}),c}function Pqt(r){var e=r.chart,t=r.options,n=t.color,i=t.colorField,a=i===void 0?r_:i,o=t.sunburstStyle,s=t.rawFields,l=s===void 0?[]:s,u=TW(t);e.data(u);var f;return o&&(f=function(c){return gt({},{fillOpacity:Math.pow(.85,c.depth)},(0,uf.isFunction)(o)?o(c):o)}),kh(gt({},r,{options:{xField:"x",yField:"y",seriesField:a,rawFields:(0,uf.uniq)(dn(Mut,l)),polygon:{color:n,style:f}}})),r}function kqt(r){var e=r.chart;return e.axis(!1),r}function Rqt(r){var e=r.chart,t=r.options,n=t.label,i=mi(e,"polygon");if(!n)i.label(!1);else{var a=n.fields,o=a===void 0?["name"]:a,s=n.callback,l=rr(n,["fields","callback"]);i.label({fields:o,callback:s,cfg:Kn(l)})}return r}function Nqt(r){var e=r.chart,t=r.options,n=t.innerRadius,i=t.radius,a=t.reflect,o=e.coordinate({type:"polar",cfg:{innerRadius:n,radius:i}});return a&&o.reflect(a),r}function Fqt(r){var e,t=r.options,n=t.hierarchyConfig,i=t.meta;return Fe(un({},(e={},e[yW]=(0,uf.get)(i,(0,uf.get)(n,["field"],"value")),e)))(r)}function Bqt(r){var e=r.chart,t=r.options,n=t.tooltip;if(n===!1)e.tooltip(!1);else{var i=n;(0,uf.get)(n,"fields")||(i=gt({},{customItems:function(a){return a.map(function(o){var s=(0,uf.get)(e.getOptions(),"scales"),l=(0,uf.get)(s,[Jm,"formatter"],function(f){return f}),u=(0,uf.get)(s,[yW,"formatter"],function(f){return f});return E(E({},o),{name:l(o.data[Jm]),value:u(o.data.value)})})}},i)),e.tooltip(i)}return r}function Gqt(r){var e=r.drilldown,t=r.interactions,n=t===void 0?[]:t;return(e==null?void 0:e.enabled)?gt({},r,{interactions:dn(n,[{type:"drill-down",cfg:{drillDownConfig:e,transformData:TW}}])}):r}function zqt(r){var e=r.chart,t=r.options,n=t.drilldown;return Pr({chart:e,options:Gqt(t)}),(n==null?void 0:n.enabled)&&(e.appendPadding=Nm(e.appendPadding,(0,uf.get)(n,["breadCrumb","position"]))),r}function hft(r){return Fe(lr,Xi("sunburstStyle"),Pqt,kqt,Fqt,Ul,Nqt,Bqt,Rqt,zqt,Sr,nn())(r)}var AP=U(q());function dft(r){var e=(0,AP.get)(r,["event","data","data"],{});return(0,AP.isArray)(e.children)&&e.children.length>0}function pft(r){var e=r.view.getCoordinate(),t=e.innerRadius;if(t){var n=r.event,i=n.x,a=n.y,o=e.center,s=o.x,l=o.y,u=e.getRadius()*t,f=Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2));return f0&&s<1){var h=f-u;c=h/a/(s/(1-s)+1-1/a)}for(var d=c/(1-s)*s,p=e.addGroup(),v=this.coordinate.getCenter(),m=this.coordinate.getRadius(),g=ea.getAngle(r,this.coordinate),x=g.startAngle,b=g.endAngle,S=x;S0?f:c},p=gt({},r,{options:{xField:i,yField:Xl,seriesField:i,rawFields:[a,a_,DA,Xl],widthRatio:l,interval:{style:u,shape:"waterfall",color:d}}}),v=gi(p).ext,m=v.geometry;return m.customInfo({leaderLine:s}),r}function Zqt(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.xField,s=n.yField,l=n.meta,u=gt({},{alias:s},(0,A0.get)(l,s));return Fe(un((e={},e[o]=i,e[s]=a,e[Xl]=a,e),gt({},l,(t={},t[Xl]=u,t[a_]=u,t[OA]=u,t))))(r)}function $qt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?(e.axis(o,!1),e.axis(Xl,!1)):(e.axis(o,i),e.axis(Xl,i)),r}function Qqt(r){var e=r.chart,t=r.options,n=t.legend,i=t.total,a=t.risingFill,o=t.fallingFill,s=t.locale,l=p0(s);if(n===!1)e.legend(!1);else{var u=[{name:l.get(["general","increase"]),value:"increase",marker:{symbol:"square",style:{r:5,fill:a}}},{name:l.get(["general","decrease"]),value:"decrease",marker:{symbol:"square",style:{r:5,fill:o}}}];i&&u.push({name:i.label||"",value:"total",marker:{symbol:"square",style:gt({},{r:5},(0,A0.get)(i,"style"))}}),e.legend(gt({},{custom:!0,position:"top",items:u},n)),e.removeInteraction("legend-filter")}return r}function Jqt(r){var e=r.chart,t=r.options,n=t.label,i=t.labelMode,a=t.xField,o=mi(e,"interval");if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]);o.label({fields:i==="absolute"?[OA,a]:[a_,a],callback:s,cfg:Kn(l)})}return r}function tKt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.xField,a=t.yField;if(n!==!1){e.tooltip(E({showCrosshairs:!1,showMarkers:!1,shared:!0,fields:[a]},n));var o=e.geometries[0];(n==null?void 0:n.formatter)?o.tooltip(i+"*"+a,n.formatter):o.tooltip(a)}else e.tooltip(!1);return r}function _ft(r){return Fe(qqt,lr,Kqt,Zqt,$qt,Qqt,tKt,Jqt,Ms,Pr,Sr,nn())(r)}var OW=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="waterfall",t}return e.getDefaultOptions=function(){return xft},e.prototype.changeData=function(t){var n=this.options,i=n.xField,a=n.yField,o=n.total;this.updateOption({data:t}),this.chart.changeData(kP(t,i,a,o))},e.prototype.getSchemaAdaptor=function(){return _ft},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);function Sft(r,e,t){var n=t.map(function(o){return o[e]}).filter(function(o){return o!==void 0}),i=n.length>0?Math.max.apply(Math,n):0,a=Math.abs(r)%360;return a?i*360/a:i}function Cft(r,e,t){var n=[];return r.forEach(function(i){var a=n.find(function(o){return o[e]===i[e]});a?a[t]+=i[t]||null:n.push(E({},i))}),n}function eKt(r){var e=r.chart,t=r.options,n=t.barStyle,i=t.color,a=t.tooltip,o=t.colorField,s=t.type,l=t.xField,u=t.yField,f=t.data,c=Oh(f,u);e.data(c);var h=gt({},r,{options:{tooltip:a,seriesField:o,interval:{style:n,color:i,shape:s==="line"?"line":"intervel"},minColumnWidth:t.minBarWidth,maxColumnWidth:t.maxBarWidth,columnBackground:t.barBackground}});return gi(h),s==="line"&&Gi({chart:e,options:{xField:l,yField:u,seriesField:o,point:{shape:"circle",color:i}}}),r}function DW(r){var e,t=r.options,n=t.yField,i=t.xField,a=t.data,o=t.isStack,s=t.isGroup,l=t.colorField,u=t.maxAngle,f=o&&!s&&l?Cft(a,i,n):a,c=Oh(f,n);return Fe(un((e={},e[n]={min:0,max:Sft(u,n,c)},e)))(r)}function rKt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"polar",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}).transpose(),r}function nKt(r){var e=r.chart,t=r.options,n=t.xField,i=t.xAxis;return e.axis(n,i),r}function iKt(r){var e=r.chart,t=r.options,n=t.label,i=t.yField,a=mi(e,"interval");if(!n)a.label(!1);else{var o=n.callback,s=rr(n,["callback"]);a.label({fields:[i],callback:o,cfg:E(E({},Kn(s)),{type:"polar"})})}return r}function wft(r){return Fe(Xi("barStyle"),eKt,DW,nKt,rKt,Pr,Sr,lr,wn,Ul,nn(),iKt)(r)}var Eft=gt({},ke.getDefaultOptions(),{interactions:[{type:"element-active"}],legend:!1,tooltip:{showMarkers:!1},xAxis:{grid:null,tickLine:null,line:null},maxAngle:240});var PW=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="radial-bar",t}return e.getDefaultOptions=function(){return Eft},e.prototype.changeData=function(t){this.updateOption({data:t}),DW({chart:this.chart,options:this.options}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return wft},e}(ke);var PA=U(q());var ff="first-axes-view",cf="second-axes-view",Np="series-field-key";var Aft=U(q());function RP(r,e,t,n,i){var a=[];e.forEach(function(c){n.forEach(function(h){var d,p=(d={},d[r]=h[r],d[t]=c,d[c]=h[c],d);a.push(p)})});var o=Object.values((0,Aft.groupBy)(a,t)),s=o[0],l=s===void 0?[]:s,u=o[1],f=u===void 0?[]:u;return i?[l.reverse(),f.reverse()]:[l,f]}function xc(r){return r!=="vertical"}function Mft(r,e,t){var n=e[0],i=e[1],a=n.autoPadding,o=i.autoPadding,s=r.__axisPosition,l=s.layout,u=s.position;if(xc(l)&&u==="top"&&(n.autoPadding=t.instance(a.top,0,a.bottom,a.left),i.autoPadding=t.instance(o.top,a.left,o.bottom,0)),xc(l)&&u==="bottom"&&(n.autoPadding=t.instance(a.top,a.right/2+5,a.bottom,a.left),i.autoPadding=t.instance(o.top,o.right,o.bottom,a.right/2+5)),!xc(l)&&u==="bottom"){var f=a.left>=o.left?a.left:o.left;n.autoPadding=t.instance(a.top,a.right,a.bottom/2+5,f),i.autoPadding=t.instance(a.bottom/2+5,o.right,o.bottom,f)}if(!xc(l)&&u==="top"){var f=a.left>=o.left?a.left:o.left;n.autoPadding=t.instance(a.top,a.right,0,f),i.autoPadding=t.instance(0,o.right,a.top,f)}}function aKt(r){var e=r.chart,t=r.options,n=t.data,i=t.xField,a=t.yField,o=t.color,s=t.barStyle,l=t.widthRatio,u=t.legend,f=t.layout,c=RP(i,a,Np,n,xc(f));u?e.legend(Np,u):u===!1&&e.legend(!1);var h,d,p=c[0],v=c[1];xc(f)?(h=e.createView({region:{start:{x:0,y:0},end:{x:.5,y:1}},id:ff}),h.coordinate().transpose().reflect("x"),d=e.createView({region:{start:{x:.5,y:0},end:{x:1,y:1}},id:cf}),d.coordinate().transpose(),h.data(p),d.data(v)):(h=e.createView({region:{start:{x:0,y:0},end:{x:1,y:.5}},id:ff}),d=e.createView({region:{start:{x:0,y:.5},end:{x:1,y:1}},id:cf}),d.coordinate().reflect("y"),h.data(p),d.data(v));var m=gt({},r,{chart:h,options:{widthRatio:l,xField:i,yField:a[0],seriesField:Np,interval:{color:o,style:s}}});gi(m);var g=gt({},r,{chart:d,options:{xField:i,yField:a[1],seriesField:Np,widthRatio:l,interval:{color:o,style:s}}});return gi(g),r}function oKt(r){var e,t,n,i=r.options,a=r.chart,o=i.xAxis,s=i.yAxis,l=i.xField,u=i.yField,f=qr(a,ff),c=qr(a,cf),h={};return(0,PA.keys)((i==null?void 0:i.meta)||{}).map(function(d){(0,PA.get)(i==null?void 0:i.meta,[d,"alias"])&&(h[d]=i.meta[d].alias)}),a.scale((e={},e[Np]={sync:!0,formatter:function(d){return(0,PA.get)(h,d,d)}},e)),un((t={},t[l]=o,t[u[0]]=s[u[0]],t))(gt({},r,{chart:f})),un((n={},n[l]=o,n[u[1]]=s[u[1]],n))(gt({},r,{chart:c})),r}function sKt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField,s=t.layout,l=qr(e,ff),u=qr(e,cf);return(n==null?void 0:n.position)==="bottom"?u.axis(a,E(E({},n),{label:{formatter:function(){return""}}})):u.axis(a,!1),n===!1?l.axis(a,!1):l.axis(a,E({position:xc(s)?"top":"bottom"},n)),i===!1?(l.axis(o[0],!1),u.axis(o[1],!1)):(l.axis(o[0],i[o[0]]),u.axis(o[1],i[o[1]])),e.__axisPosition={position:l.getOptions().axes[a].position,layout:s},r}function lKt(r){var e=r.chart;return Pr(gt({},r,{chart:qr(e,ff)})),Pr(gt({},r,{chart:qr(e,cf)})),r}function uKt(r){var e=r.chart,t=r.options,n=t.yField,i=t.yAxis;return af(gt({},r,{chart:qr(e,ff),options:{yAxis:i[n[0]]}})),af(gt({},r,{chart:qr(e,cf),options:{yAxis:i[n[1]]}})),r}function fKt(r){var e=r.chart;return lr(gt({},r,{chart:qr(e,ff)})),lr(gt({},r,{chart:qr(e,cf)})),r}function cKt(r){var e=r.chart;return Sr(gt({},r,{chart:qr(e,ff)})),Sr(gt({},r,{chart:qr(e,cf)})),r}function hKt(r){var e=this,t,n,i=r.chart,a=r.options,o=a.label,s=a.yField,l=a.layout,u=qr(i,ff),f=qr(i,cf),c=mi(u,"interval"),h=mi(f,"interval");if(!o)c.label(!1),h.label(!1);else{var d=o.callback,p=rr(o,["callback"]);p.position||(p.position="middle"),p.offset===void 0&&(p.offset=2);var v=E({},p);if(xc(l)){var m=((t=v.style)===null||t===void 0?void 0:t.textAlign)||(p.position==="middle"?"center":"left");p.style=gt({},p.style,{textAlign:m});var g={left:"right",right:"left",center:"center"};v.style=gt({},v.style,{textAlign:g[m]})}else{var x={top:"bottom",bottom:"top",middle:"middle"};typeof p.position=="string"?p.position=x[p.position]:typeof p.position=="function"&&(p.position=function(){for(var C=[],w=0;wz)throw new Error("circular link");j=W,W=new Set}if(u)for(var et=Math.max(BP(N,function(st){return st.depth})+1,0),lt=void 0,$=0;$z)throw new Error("circular link");j=W,W=new Set}}function S(D){for(var N=D.nodes,z=Math.max(BP(N,function(vt){return vt.depth})+1,0),j=(t-r-i)/(z-1),W=new Array(z).fill(0).map(function(){return[]}),J=0,et=N;J0){var it=(st/_t-$.y0)*N;$.y0+=it,$.y1+=it,O($)}}f===void 0&&J.sort(GP),J.length&&P(J,z)}}function I(D,N,z){for(var j=D.length,W=j-2;W>=0;--W){for(var J=D[W],et=0,lt=J;et0){var it=(st/_t-$.y0)*N;$.y0+=it,$.y1+=it,O($)}}f===void 0&&J.sort(GP),J.length&&P(J,z)}}function P(D,N){var z=D.length>>1,j=D[z];M(D,j.y0-o,z-1,N),L(D,j.y1+o,z+1,N),M(D,n,D.length-1,N),L(D,e,0,N)}function L(D,N,z,j){for(;z1e-6&&(W.y0+=J,W.y1+=J),N=W.y1+o}}function M(D,N,z,j){for(;z>=0;--z){var W=D[z],J=(W.y1-N)*j;J>1e-6&&(W.y0-=J,W.y1-=J),N=W.y0-o}}function O(D){var N=D.sourceLinks,z=D.targetLinks;if(c===void 0){for(var j=0,W=z;j "+i,value:a}}},nodeWidthRatio:.008,nodePaddingRatio:.01,animation:{appear:{animation:"wave-in"},enter:{animation:"wave-in"}}}},e.prototype.changeData=function(t){this.updateOption({data:t});var n=zP(this.options,this.chart.width,this.chart.height),i=n.nodes,a=n.edges,o=qr(this.chart,l_),s=qr(this.chart,u_);o.changeData(i),s.changeData(a)},e.prototype.getSchemaAdaptor=function(){return jft},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var qft=U(q());var M0=U(q()),RKt={y:0,nodeWidthRatio:.05,weight:!1,nodePaddingRatio:.1,id:function(r){return r.id},source:function(r){return r.source},target:function(r){return r.target},sourceWeight:function(r){return r.value||1},targetWeight:function(r){return r.value||1},sortBy:null};function NKt(r,e,t){(0,M0.forIn)(r,function(n,i){n.inEdges=e.filter(function(a){return""+t.target(a)==""+i}),n.outEdges=e.filter(function(a){return""+t.source(a)==""+i}),n.edges=n.outEdges.concat(n.inEdges),n.frequency=n.edges.length,n.value=0,n.inEdges.forEach(function(a){n.value+=t.targetWeight(a)}),n.outEdges.forEach(function(a){n.value+=t.sourceWeight(a)})})}function FKt(r,e){var t={weight:function(i,a){return a.value-i.value},frequency:function(i,a){return a.frequency-i.frequency},id:function(i,a){return(""+e.id(i)).localeCompare(""+e.id(a))}},n=t[e.sortBy];!n&&(0,M0.isFunction)(e.sortBy)&&(n=e.sortBy),n&&r.sort(n)}function BKt(r,e){var t=r.length;if(!t)throw new TypeError("Invalid nodes: it's empty!");if(e.weight){var n=e.nodePaddingRatio;if(n<0||n>=1)throw new TypeError("Invalid nodePaddingRatio: it must be in range [0, 1)!");var i=n/(2*t),a=e.nodeWidthRatio;if(a<=0||a>=1)throw new TypeError("Invalid nodeWidthRatio: it must be in range (0, 1)!");var o=0;r.forEach(function(l){o+=l.value}),r.forEach(function(l){l.weight=l.value/o,l.width=l.weight*(1-n),l.height=a}),r.forEach(function(l,u){for(var f=0,c=u-1;c>=0;c--)f+=r[c].width+2*i;var h=l.minX=i+f,d=l.maxX=l.minX+l.width,p=l.minY=e.y-a/2,v=l.maxY=p+a;l.x=[h,d,d,h],l.y=[p,p,v,v]})}else{var s=1/t;r.forEach(function(l,u){l.x=(u+.5)*s,l.y=e.y})}return r}function GKt(r,e,t){if(t.weight){var n={};(0,M0.forIn)(r,function(i,a){n[a]=i.value}),e.forEach(function(i){var a=t.source(i),o=t.target(i),s=r[a],l=r[o];if(s&&l){var u=n[a],f=t.sourceWeight(i),c=s.minX+(s.value-u)/s.value*s.width,h=c+f/s.value*s.width;n[a]-=f;var d=n[o],p=t.targetWeight(i),v=l.minX+(l.value-d)/l.value*l.width,m=v+p/l.value*l.width;n[o]-=p;var g=t.y;i.x=[c,h,v,m],i.y=[g,g,g,g],i.source=s,i.target=l}})}else e.forEach(function(i){var a=r[t.source(i)],o=r[t.target(i)];a&&o&&(i.x=[a.x,o.x],i.y=[a.y,o.y],i.source=a,i.target=o)});return e}function zKt(r){return(0,M0.assign)({},RKt,r)}function Hft(r,e){var t=zKt(r),n={},i=e.nodes,a=e.links;i.forEach(function(l){var u=t.id(l);n[u]=l}),NKt(n,a,t),FKt(i,t);var o=BKt(i,t),s=GKt(n,a,t);return{nodes:o,links:s}}var Yft=U(q()),qW="x",KW="y",ZW="name",$W="source",Xft={nodeStyle:{opacity:1,fillOpacity:1,lineWidth:1},edgeStyle:{opacity:.5,lineWidth:2},label:{fields:["x","name"],callback:function(r,e){var t=(r[0]+r[1])/2,n=t>.5?-4:4;return{labelEmit:!0,style:{fill:"#8c8c8c"},offsetX:n,content:e}}},tooltip:{showTitle:!1,showMarkers:!1,fields:["source","target","value","isNode"],showContent:function(r){return!(0,Yft.get)(r,[0,"data","isNode"])},formatter:function(r){var e=r.source,t=r.target,n=r.value;return{name:e+" -> "+t,value:n}}},interactions:[{type:"element-active"}],weight:!0,nodePaddingRatio:.1,nodeWidthRatio:.05};function UKt(r){var e=r.options,t=e.data,n=e.sourceField,i=e.targetField,a=e.weightField,o=e.nodePaddingRatio,s=e.nodeWidthRatio,l=e.rawFields,u=l===void 0?[]:l,f=oD(t,n,i,a),c=Hft({weight:!0,nodePaddingRatio:o,nodeWidthRatio:s},f),h=c.nodes,d=c.links,p=h.map(function(m){return E(E({},Hr(m,dn(["id","x","y","name"],u))),{isNode:!0})}),v=d.map(function(m){return E(E({source:m.source.name,target:m.target.name,name:m.source.name||m.target.name},Hr(m,dn(["x","y","value"],u))),{isNode:!1})});return E(E({},r),{ext:E(E({},r.ext),{chordData:{nodesData:p,edgesData:v}})})}function jKt(r){var e,t=r.chart;return t.scale((e={x:{sync:!0,nice:!0},y:{sync:!0,nice:!0,max:1}},e[ZW]={sync:"color"},e[$W]={sync:"color"},e)),r}function WKt(r){var e=r.chart;return e.axis(!1),r}function VKt(r){var e=r.chart;return e.legend(!1),r}function HKt(r){var e=r.chart,t=r.options,n=t.tooltip;return e.tooltip(n),r}function YKt(r){var e=r.chart;return e.coordinate("polar").reflect("y"),r}function XKt(r){var e=r.chart,t=r.options,n=r.ext.chordData.nodesData,i=t.nodeStyle,a=t.label,o=t.tooltip,s=e.createView();return s.data(n),kh({chart:s,options:{xField:qW,yField:KW,seriesField:ZW,polygon:{style:i},label:a,tooltip:o}}),r}function qKt(r){var e=r.chart,t=r.options,n=r.ext.chordData.edgesData,i=t.edgeStyle,a=t.tooltip,o=e.createView();o.data(n);var s={xField:qW,yField:KW,seriesField:$W,edge:{style:i,shape:"arc"},tooltip:a};return nA({chart:o,options:s}),r}function KKt(r){var e=r.chart,t=r.options,n=t.animation;return typeof n=="boolean"?e.animate(n):e.animate(!0),(0,qft.each)(Zot(e),function(i){i.animate(n)}),r}function Kft(r){return Fe(lr,UKt,YKt,jKt,WKt,VKt,HKt,qKt,XKt,Pr,Ms,KKt)(r)}var QW=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="chord",t}return e.getDefaultOptions=function(){return Xft},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Kft},e}(ke);var c_=U(q());var UP=U(q());var ZKt={field:"value",as:["x","y","r"],sort:function(r,e){return e.value-r.value}};function Zft(r,e){e=(0,UP.assign)({},ZKt,e);var t=e.as;if(!(0,UP.isArray)(t)||t.length!==3)throw new TypeError('Invalid as: it must be an array with 3 strings (e.g. [ "x", "y", "r" ])!');var n;try{n=t_(e)}catch(u){console.warn(u)}var i=function(u){return yP().size(e.size).padding(e.padding)(Gh(u).sum(function(f){return f[n]}).sort(e.sort))},a=i(r),o=t[0],s=t[1],l=t[2];return a.each(function(u){u[o]=u.x,u[s]=u.y,u[l]=u.r}),e_(a)}function JW(r){var e=r.data,t=r.hierarchyConfig,n=r.rawFields,i=n===void 0?[]:n,a=r.enableDrillDown,o=Zft(e,E(E({},t),{field:"value",as:["x","y","r"]})),s=[];return o.forEach(function(l){for(var u,f=l.data.name,c=E({},l);c.depth>1;)f=((u=c.parent.data)===null||u===void 0?void 0:u.name)+" / "+f,c=c.parent;if(a&&l.depth>2)return null;var h=gt({},l.data,E(E(E({},Hr(l.data,i)),{path:f}),l));h.ext=t,h[tg]={hierarchyConfig:t,rawFields:i,enableDrillDown:a},s.push(h)}),s}function t6(r,e,t){var n=R1([r,e]),i=n[0],a=n[1],o=n[2],s=n[3],l=t.width,u=t.height,f=l-(s+a),c=u-(i+o),h=Math.min(f,c),d=(f-h)/2,p=(c-h)/2,v=i+p,m=a+d,g=o+p,x=s+d,b=[v,m,g,x],S=h<0?0:h;return{finalPadding:b,finalSize:S}}var $ft=["x","y","r","name","value","path","depth"],Qft={colorField:"name",autoFit:!0,pointStyle:{lineWidth:0,stroke:"#fff"},legend:!1,hierarchyConfig:{size:[1,1],padding:0},label:{fields:["name"],layout:{type:"limit-in-shape"}},tooltip:{showMarkers:!1,showTitle:!1},drilldown:{enabled:!1}};function $Kt(r){var e=r.chart,t=Math.min(e.viewBBox.width,e.viewBBox.height);return gt({options:{size:function(n){var i=n.r;return i*t}}},r)}function QKt(r){var e=r.options,t=r.chart,n=t.viewBBox,i=e.padding,a=e.appendPadding,o=e.drilldown,s=a;if(o==null?void 0:o.enabled){var l=Nm(t.appendPadding,(0,c_.get)(o,["breadCrumb","position"]));s=R1([l,a])}var u=t6(i,s,n).finalPadding;return t.padding=u,t.appendPadding=0,r}function JKt(r){var e=r.chart,t=r.options,n=e.padding,i=e.appendPadding,a=t.color,o=t.colorField,s=t.pointStyle,l=t.hierarchyConfig,u=t.sizeField,f=t.rawFields,c=f===void 0?[]:f,h=t.drilldown,d=JW({data:t.data,hierarchyConfig:l,enableDrillDown:h==null?void 0:h.enabled,rawFields:c});e.data(d);var p=e.viewBBox,v=t6(n,i,p).finalSize,m=function(g){var x=g.r;return x*v};return u&&(m=function(g){return g[u]*v}),Gi(gt({},r,{options:{xField:"x",yField:"y",seriesField:o,sizeField:u,rawFields:dn($ft,c),point:{color:a,style:s,shape:"circle",size:m}}})),r}function tZt(r){return Fe(un({},{x:{min:0,max:1,minLimit:0,maxLimit:1,nice:!0},y:{min:0,max:1,minLimit:0,maxLimit:1,nice:!0}}))(r)}function eZt(r){var e=r.chart,t=r.options,n=t.tooltip;if(n===!1)e.tooltip(!1);else{var i=n;(0,c_.get)(n,"fields")||(i=gt({},{customItems:function(a){return a.map(function(o){var s=(0,c_.get)(e.getOptions(),"scales"),l=(0,c_.get)(s,["name","formatter"],function(f){return f}),u=(0,c_.get)(s,["value","formatter"],function(f){return f});return E(E({},o),{name:l(o.data.name),value:u(o.data.value)})})}},i)),e.tooltip(i)}return r}function rZt(r){var e=r.chart;return e.axis(!1),r}function nZt(r){var e=r.drilldown,t=r.interactions,n=t===void 0?[]:t;return(e==null?void 0:e.enabled)?gt({},r,{interactions:dn(n,[{type:"drill-down",cfg:{drillDownConfig:e,transformData:JW,enableDrillDown:!0}}])}):r}function iZt(r){var e=r.chart,t=r.options;return Pr({chart:e,options:nZt(t)}),r}function Jft(r){return Fe(Xi("pointStyle"),$Kt,QKt,lr,tZt,JKt,rZt,Ul,eZt,iZt,Sr,nn())(r)}var e6=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="circle-packing",t}return e.getDefaultOptions=function(){return Qft},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Jft},e.prototype.triggerResize=function(){this.chart.destroyed||(this.chart.forceFit(),this.chart.clear(),this.execAdaptor(),this.chart.render(!0))},e}(ke);var aZt=function(r){H(e,r);function e(t,n,i,a){var o=r.call(this,t,gt({},a,n))||this;return o.type="g2-plot",o.defaultOptions=a,o.adaptor=i,o}return e.prototype.getDefaultOptions=function(){return this.defaultOptions},e.prototype.getSchemaAdaptor=function(){return this.adaptor},e}(ke);var Wh=U(q());var tct=U(q());var oZt={line:SD,pie:LD,column:Wm,bar:TD,area:wD,gauge:PP,"tiny-line":BD,"tiny-column":GD,"tiny-area":FD,"ring-progress":VD,progress:jD,scatter:ND,histogram:UD,funnel:fP},sZt={line:iA,pie:uA,column:oA,bar:sA,area:aA,gauge:LA,"tiny-line":mA,"tiny-column":gA,"tiny-area":yA,"ring-progress":SA,progress:_A,scatter:hA,histogram:bA,funnel:MA},lZt={pie:{label:!1},column:{tooltip:{showMarkers:!1}},bar:{tooltip:{showMarkers:!1}}};function jP(r,e,t){var n=sZt[r];if(!n){console.error("could not find "+r+" plot");return}var i=oZt[r];i({chart:e,options:gt({},n.getDefaultOptions(),(0,tct.get)(lZt,r,{}),t)})}function uZt(r){var e=r.chart,t=r.options,n=t.views,i=t.legend;return(0,Wh.each)(n,function(a){var o=a.region,s=a.data,l=a.meta,u=a.axes,f=a.coordinate,c=a.interactions,h=a.annotations,d=a.tooltip,p=a.geometries,v=e.createView({region:o});v.data(s);var m={};u&&(0,Wh.each)(u,function(g,x){m[x]=Hr(g,za)}),m=gt({},l,m),v.scale(m),u?(0,Wh.each)(u,function(g,x){v.axis(x,g)}):v.axis(!1),v.coordinate(f),(0,Wh.each)(p,function(g){var x=Bi({chart:v,options:g}).ext,b=g.adjust;b&&x.geometry.adjust(b)}),(0,Wh.each)(c,function(g){g.enable===!1?v.removeInteraction(g.type):v.interaction(g.type,g.cfg)}),(0,Wh.each)(h,function(g){v.annotation()[g.type](E({},g))}),typeof a.animation=="boolean"?v.animate(!1):(v.animate(!0),(0,Wh.each)(v.geometries,function(g){g.animate(a.animation)})),d&&(v.interaction("tooltip"),v.tooltip(d))}),i?(0,Wh.each)(i,function(a,o){e.legend(o,a)}):e.legend(!1),e.tooltip(t.tooltip),r}function fZt(r){var e=r.chart,t=r.options,n=t.plots;return(0,Wh.each)(n,function(i){var a=i.type,o=i.region,s=i.options,l=s===void 0?{}:s,u=l.tooltip,f=e.createView(E({region:o},Hr(l,_j)));u&&f.interaction("tooltip"),jP(a,f,l)}),r}function ect(r){return Fe(Sr,uZt,fZt,Pr,Sr,lr,wn)(r)}var $s=U(q());var WP=U(q());function rct(r,e){var t=r.getModel(),n=t.data,i;return(0,WP.isArray)(n)?i=n[0][e]:i=n[e],i}function nct(r){var e=D1(r);(0,WP.each)(e,function(t){t.hasState("active")&&t.setState("active",!1),t.hasState("selected")&&t.setState("selected",!1),t.hasState("inactive")&&t.setState("inactive",!1)})}var cZt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getAssociationItems=function(t,n){var i,a=this.context.event,o=n||{},s=o.linkField,l=o.dim,u=[];if((i=a.data)===null||i===void 0?void 0:i.data){var f=a.data.data;(0,$s.each)(t,function(c){var h,d,p=s;if(l==="x"?p=c.getXScale().field:l==="y"?p=(h=c.getYScales().find(function(m){return m.field===p}))===null||h===void 0?void 0:h.field:p||(p=(d=c.getGroupScales()[0])===null||d===void 0?void 0:d.field),!!p){var v=(0,$s.map)(D1(c),function(m){var g=!1,x=!1,b=(0,$s.isArray)(f)?(0,$s.get)(f[0],p):(0,$s.get)(f,p);return rct(m,p)===b?g=!0:x=!0,{element:m,view:c,active:g,inactive:x}});u.push.apply(u,v)}})}return u},e.prototype.showTooltip=function(t){var n=iD(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){if(a.active){var o=a.element.shape.getCanvasBBox();a.view.showTooltip({x:o.minX+o.width/2,y:o.minY+o.height/2})}})},e.prototype.hideTooltip=function(){var t=iD(this.context.view);(0,$s.each)(t,function(n){n.hideTooltip()})},e.prototype.active=function(t){var n=d0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.active,s=a.element;o&&s.setState("active",!0)})},e.prototype.selected=function(t){var n=d0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.active,s=a.element;o&&s.setState("selected",!0)})},e.prototype.highlight=function(t){var n=d0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.inactive,s=a.element;o&&s.setState("inactive",!0)})},e.prototype.reset=function(){var t=d0(this.context.view);(0,$s.each)(t,function(n){nct(n)})},e}(Tr);nr("association",cZt);xr("association-active",{start:[{trigger:"element:mouseenter",action:"association:active"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-selected",{start:[{trigger:"element:mouseenter",action:"association:selected"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-highlight",{start:[{trigger:"element:mouseenter",action:"association:highlight"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-tooltip",{start:[{trigger:"element:mousemove",action:"association:showTooltip"}],end:[{trigger:"element:mouseleave",action:"association:hideTooltip"}]});var h_=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="mix",t}return e.prototype.getSchemaAdaptor=function(){return ect},e}(ke);var I0=U(q());var T0=U(q());function ict(r,e){var t=e.data,n=e.coordinate,i=e.interactions,a=e.annotations,o=e.animation,s=e.tooltip,l=e.axes,u=e.meta,f=e.geometries;t&&r.data(t);var c={};l&&(0,T0.each)(l,function(h,d){c[d]=Hr(h,za)}),c=gt({},u,c),r.scale(c),n&&r.coordinate(n),l===!1?r.axis(!1):(0,T0.each)(l,function(h,d){r.axis(d,h)}),(0,T0.each)(f,function(h){var d=Bi({chart:r,options:h}).ext,p=h.adjust;p&&d.geometry.adjust(p)}),(0,T0.each)(i,function(h){h.enable===!1?r.removeInteraction(h.type):r.interaction(h.type,h.cfg)}),(0,T0.each)(a,function(h){r.annotation()[h.type](E({},h))}),typeof o=="boolean"?r.animate(!1):(r.animate(!0),(0,T0.each)(r.geometries,function(h){h.animate(o)})),s?(r.interaction("tooltip"),r.tooltip(s)):s===!1&&r.removeInteraction("tooltip")}function hZt(r){var e=r.chart,t=r.options,n=t.type,i=t.data,a=t.fields,o=t.eachView,s=(0,I0.omit)(t,["type","data","fields","eachView","axes","meta","tooltip","coordinate","theme","legend","interactions","annotations"]);return e.data(i),e.facet(n,E(E({},s),{fields:a,eachView:function(l,u){var f=o(l,u);if(f.geometries)ict(l,f);else{var c=f,h=c.options;h.tooltip&&l.interaction("tooltip"),jP(c.type,l,h)}}})),r}function dZt(r){var e=r.chart,t=r.options,n=t.axes,i=t.meta,a=t.tooltip,o=t.coordinate,s=t.theme,l=t.legend,u=t.interactions,f=t.annotations,c={};return n&&(0,I0.each)(n,function(h,d){c[d]=Hr(h,za)}),c=gt({},i,c),e.scale(c),e.coordinate(o),n?(0,I0.each)(n,function(h,d){e.axis(d,h)}):e.axis(!1),a?(e.interaction("tooltip"),e.tooltip(a)):a===!1&&e.removeInteraction("tooltip"),e.legend(l),s&&e.theme(s),(0,I0.each)(u,function(h){h.enable===!1?e.removeInteraction(h.type):e.interaction(h.type,h.cfg)}),(0,I0.each)(f,function(h){e.annotation()[h.type](E({},h))}),r}function act(r){return Fe(lr,hZt,dZt)(r)}var oct={title:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}},rowTitle:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}},columnTitle:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}}};var r6=function(r){H(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="area",t}return e.getDefaultOptions=function(){return oct},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return act},e}(ke);var d_;(function(r){r.DEV="DEV",r.BETA="BETA",r.STABLE="STABLE"})(d_||(d_={}));function pZt(r,e){console.warn(r===d_.DEV?"Plot '"+e+"' is in DEV stage, just give us issues.":r===d_.BETA?"Plot '"+e+"' is in BETA stage, DO NOT use it in production env.":r===d_.STABLE?"Plot '"+e+`' is in STABLE stage, import it by "import { `+e+` } from '@antv/g2plot'".`:"invalid Stage type.")}var vZt=function(){function r(){}return Object.defineProperty(r,"MultiView",{get:function(){return pZt(d_.STABLE,"MultiView"),h_},enumerable:!1,configurable:!0}),r}();gj("en-US",ast);gj("zh-CN",ost);var n6={scale:un,legend:Ul,tooltip:wn,annotation:nn,interaction:Pr,theme:lr,animation:Sr};var FA=U(q());var mZt=function(r,e){var t=document.createElement("div");return e==="tooltip"&&(t.className="g2-tooltip"),ht.render(r,t),t},sct=mZt;var p_=function(r,e){var t={}.toString;return t.call(r)==="[object ".concat(e,"]")},i6=function(r){if(!r)return r;var e={};for(var t in r)e[t]=r[t];return e};var v_=function(r){if(!r||typeof r!="object")return r;var e;return Array.isArray(r)?e=r.map(function(t){return v_(t)}):(e={},Object.keys(r).forEach(function(t){return e[t]=v_(r[t])})),e},L0=function(r,e){for(var t=r,n=0;nzX,DagreGraph:()=>GX,DecompositionTreeGraph:()=>pAt,Edge:()=>I_,FlowAnalysisGraph:()=>dAt,FundFlowGraph:()=>yAt,G6:()=>Ur,Graph:()=>AS,IndentedTree:()=>UX,IndentedTreeGraph:()=>jX,Node:()=>hg,OrganizationGraph:()=>cAt,OrganizationTreeGraph:()=>FX,OrganizationalGraph:()=>WX,RadialGraph:()=>VX,RadialTreeGraph:()=>hAt});var m_=U(q());var U6=U(q()),hct={getDefaultCfg:function(){return{}},getEvents:function(){return{}},updateCfg:function(e){return Object.assign(this,e),!0},shouldBegin:function(){return!0},shouldUpdate:function(){return!0},shouldEnd:function(){return!0},bind:function(e){var t=this,n=this.events;this.graph=e,(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!0),(0,U6.each)(n,function(i,a){e.on(a,i)}),document.addEventListener("visibilitychange",function(){t.keydown=!1})},unbind:function(e){var t=this.events,n=e.get("canvas").get("draggable");(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!1),(0,U6.each)(t,function(i,a){e.off(a,i)}),e.get("canvas").set("draggable",n)},get:function(e){return this[e]},set:function(e,t){return this[e]=t,this}};var z$t=function(){function r(){}return r.registerBehavior=function(e,t){if(!t)throw new Error("please specify handler for this behavior: ".concat(e));var n=(0,m_.clone)(hct);Object.assign(n,t);var i=function(o){var s=this;Object.assign(this,this.getDefaultCfg(),o);var l=this.getEvents();this.events=null;var u={};l&&((0,m_.each)(l,function(f,c){u[c]=(0,m_.wrapBehavior)(s,f)}),this.events=u)};i.prototype=n,r.types[e]=i},r.hasBehavior=function(e){return!!r.types[e]},r.getBehavior=function(e){return r.types[e]},r.types={},r}(),YP=z$t;var j6=YP;var Ir=U(q());var fV={};Dn(fV,{GADDI:()=>uV,Stack:()=>S_,breadthFirstSearch:()=>W6,connectedComponent:()=>y_,cosineSimilarity:()=>jA,default:()=>EQt,depthFirstSearch:()=>x_,detectAllCycles:()=>X6,detectAllDirectedCycle:()=>ZP,detectAllUndirectedCycle:()=>KP,detectCycle:()=>$P,detectDirectedCycle:()=>Bct,dijkstra:()=>og,findAllPath:()=>K6,findShortestPath:()=>q6,floydWarshall:()=>sg,getAdjMatrix:()=>hf,getDegree:()=>Fp,getInDegree:()=>H6,getNeighbors:()=>lo,getOutDegree:()=>Y6,iLouvain:()=>tV,kCore:()=>eV,kMeans:()=>rV,labelPropagation:()=>Z6,louvain:()=>UA,minimumSpanningTree:()=>iV,nodesCosineSimilarity:()=>nV,pageRank:()=>aV});var U$t=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];!f&&f!==0||!c&&c!==0||(a[f][c]=1,t||(a[c][f]=1))}),a},hf=U$t;var j$t=function(e,t){return e===t},dct=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}();var W$t=function(){function r(e){e===void 0&&(e=j$t),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new dct(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new dct(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var o=this.head;o;){if(a&&a(o.value)||n!==void 0&&this.compare(o.value,n))return o;o=o.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),XP=W$t;var V$t=function(){function r(){this.linkedList=new XP}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),pct=V$t;var lo=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var o=function(u){return u.target===e};return i.filter(o).map(function(l){return l.source})}var s=function(u){return u.source===e?u.target:u.source};return i.map(s)},vct=function(e,t){return t.filter(function(n){return n.source===e})},g_=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},qP=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};function H$t(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next,s=o;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var Y$t=function(e,t,n,i){i===void 0&&(i=!0);var a=H$t(n),o=new pct,s=e.edges,l=s===void 0?[]:s;o.enqueue(t);for(var u="",f=function(){var h=o.dequeue();a.enter({current:h,previous:u}),lo(h,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:u,current:h,next:d})&&o.enqueue(d)}),a.leave({current:h,previous:u}),u=h};!o.isEmpty();)f()},W6=Y$t;var X$t=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l=[],u=function d(p){l.push(p),s[p.id]=!0;for(var v=lo(p.id,a),m=function(b){var S=v[b];if(!s[S]){var C=n.filter(function(w){return w.id===S});C.length>0&&d(C[0])}},g=0;g0;)h.push(l.pop());o.push(h)}}return o},V6=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l={},u={},f=[],c=0,h=function m(g){l[g.id]=c,u[g.id]=c,c+=1,o.push(g),s[g.id]=!0;for(var x=lo(g.id,a,"target").filter(function(A){return n.map(function(I){return I.id}).indexOf(A)>-1}),b=function(I){var P=x[I];if(!l[P]&&l[P]!==0){var L=n.filter(function(M){return M.id===P});L.length>0&&m(L[0]),u[g.id]=Math.min(u[g.id],u[P])}else s[P]&&(u[g.id]=Math.min(u[g.id],l[P]))},S=0;S0;){var w=o.pop();if(s[w.id]=!1,C.push(w),w===g)break}C.length>0&&f.push(C)}},d=0,p=n;d0;)for(var m=d.pop(),g=m.id,x=lo(g,e.edges),b=function(w){var A,I=x[w],P=e.nodes.find(function(G){return G.id===I});if(I===g)o.push((A={},A[I]=m,A));else if(!(I in v))p[I]=m,d.push(P),v[I]=new Set([m]);else if(!v[g].has(P)){for(var L=!0,M=[P,m],O=p[g];v[I].size&&!v[I].has(O)&&(M.push(O),O!==p[O.id]);)O=p[O.id];if(M.push(O),t&&n?(L=!1,M.findIndex(function(G){return t.indexOf(G.id)>-1})>-1&&(L=!0)):t&&!n&&M.findIndex(function(G){return t.indexOf(G.id)>-1})>-1&&(L=!1),L){for(var F={},k=1;k0;){var k=F.pop();a.has(k)&&(a.delete(k),o[k.id].forEach(function(G){F.push(G)}),o[k.id].clear())}},c=function M(O,F,k){var G=!1;if(t&&n===!1&&t.indexOf(O.id)>-1)return G;i.push(O),a.add(O);for(var D=k[O.id],N=0;N-1});lt<$.length;lt++){var st=$[lt];st===et.id&&!(n===!1&&t.indexOf(et.id)>-1)?s.push((F={},F[et.id]=et,F)):J[et.id].push(u[st])}}return{component:W,adjList:J,minIdx:G}},b=0;b=b}),C=V6({nodes:S,edges:e.edges}).filter(function(M){return M.length>1});if(C.length===0)break;var w=x(C),A=w.minIdx,I=w.adjList,P=w.component;if(P.length>1){P.forEach(function(M){o[M.id]=new Set});var L=l[A];if(t&&n&&t.indexOf(L.id)===-1)return s;c(L,L,I),b=A+1}else break}return s},X6=function(e,t,n,i){return i===void 0&&(i=!0),t?ZP(e,n,i):KP(e,n,i)},$P=K$t;var gct=U(q());var Z$t=function(e,t,n){for(var i=1/0,a,o=0;oc[C.id]+O?(c[M]=c[C.id]+O,h[M]=[C.id]):c[M]===c[C.id]+O&&h[M].push(C.id)})},v=0;v0&&f.length>0;){var d=f[f.length-1];if(d.length){var p=d.shift();p&&(l.push(p),u[p]=!0,h=i?lo(p,s,"target"):lo(p,s),f.push(h.filter(function(g){return!u[g]})))}else{var v=l.pop();u[v]=!1,f.pop();continue}if(l[l.length-1]===n){var m=l.map(function(x){return x});c.push(m);var v=l.pop();u[v]=!1,f.pop()}}return c};var Q$t=function(e,t){for(var n=hf(e,t),i=[],a=n.length,o=0;oi[o][l]+i[l][s]&&(i[o][s]=i[o][l]+i[l][s]);return i},sg=Q$t;var J$t=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,o=a===void 0?[]:a,s=e.edges,l=s===void 0?[]:s,u={},f={};o.forEach(function(S,C){var w=qP();S.clusterId=w,u[w]={id:w,nodes:[S]},f[S.id]={node:S,idx:C}});var c=hf(e,t),h=[],d={};c.forEach(function(S,C){var w=0,A=o[C].id;d[A]={},S.forEach(function(I,P){if(!!I){w+=I;var L=o[P].id;d[A][L]=I}}),h.push(w)});for(var p=0,v=function(){var C=!1;if(o.forEach(function(w){var A={};Object.keys(d[w.id]).forEach(function(G){var D=d[w.id][G],N=f[G].node,z=N.clusterId;A[z]||(A[z]=0),A[z]+=D});var I=-1/0,P=[];if(Object.keys(A).forEach(function(G){I=0&&P.splice(L,1),P&&P.length){C=!0;var M=u[w.clusterId],O=M.nodes.indexOf(w);M.nodes.splice(O,1);var F=Math.floor(Math.random()*P.length),k=u[P[F]];k.nodes.push(w),w.clusterId=k.id}}}),!C)return"break";p++};p0&&C>w&&C-ww&&(I=l.map(function(D){return{node:D,clusterId:D.clusterId}}),P=(0,bct.clone)(v),w=C),L||A>100)break;A++,Object.keys(v).forEach(function(D){var N=0;f.forEach(function(z){var j=z.source,W=z.target,J=m[j].node.clusterId,et=m[W].node.clusterId;(J===D&&et!==D||et===D&&J!==D)&&(N=N+(z[n]||1))}),v[D].sumTot=N}),l.forEach(function(D,N){var z=v[D.clusterId],j=0,W,J=x[N]/(2*S),et=0,lt=z.nodes;lt.forEach(function(it){var K=m[it.id].idx;et+=g[N][K]||0});var $=et-z.sumTot*J,st=lt.filter(function(it){return it.id!==D.id}),_t=[];st.forEach(function(it,K){_t[K]=c[it.originIndex]});var dt=J6(st,c)*o,vt=b[D.id];if(Object.keys(vt).forEach(function(it){var K=m[it].node,Rt=K.clusterId;if(Rt!==D.clusterId){var Xt=v[Rt],Zt=Xt.nodes;if(!(!Zt||!Zt.length)){var Ae=0;Zt.forEach(function(pt){var Et=m[pt.id].idx;Ae+=g[N][Et]||0});var We=Ae-Xt.sumTot*J,$e=Zt.concat([D]),V=[];$e.forEach(function(pt,Et){V[Et]=c[pt.originIndex]});var Te=J6($e,c)*o,ne=We-$;a&&(ne=We+Te-($+dt)),ne>j&&(j=ne,W=Xt)}}}),j>0){W.nodes.push(D);var Tt=D.clusterId;D.clusterId=W.id;var Ut=z.nodes.indexOf(D);z.nodes.splice(Ut,1);var $t=0,Y=0;f.forEach(function(it){var K=it.source,Rt=it.target,Xt=m[K].node.clusterId,Zt=m[Rt].node.clusterId;(Xt===W.id&&Zt!==W.id||Zt===W.id&&Xt!==W.id)&&($t=$t+(it[n]||1)),(Xt===Tt&&Zt!==Tt||Zt===Tt&&Xt!==Tt)&&(Y=Y+(it[n]||1))}),W.sumTot=$t,z.sumTot=Y}})}var M={},O=0;Object.keys(P).forEach(function(D){var N=P[D];if(!N.nodes||!N.nodes.length){delete P[D];return}var z=String(O+1);z!==D&&(N.id=z,N.nodes=N.nodes.map(function(j){return{id:j.id,clusterId:z}}),P[z]=N,M[D]=z,delete P[D],O++)}),I.forEach(function(D){var N=D.node,z=D.clusterId;N.clusterId=z,N.clusterId&&M[N.clusterId]&&(N.clusterId=M[N.clusterId])});var F=[],k={};f.forEach(function(D){var N=D.source,z=D.target,j=D[n]||1,W=m[N].node.clusterId,J=m[z].node.clusterId,et="".concat(W,"---").concat(J);if(k[et])k[et].weight+=j,k[et].count++;else{var lt={source:W,target:J,weight:j,count:1};k[et]=lt,F.push(lt)}});var G=[];return Object.keys(P).forEach(function(D){G.push(P[D])}),{clusters:G,clusterEdges:F}},UA=rQt;var nQt=function(e,t,n,i,a){return t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=1),UA(e,t,n,i,!0,a)},tV=nQt;var Sct=U(q());var iQt=function(e,t){var n;t===void 0&&(t=1);for(var i=(0,Sct.clone)(e),a=i.nodes,o=a===void 0?[]:a,s=i.edges,l=s===void 0?[]:s,u=function(){var h=Fp({nodes:o,edges:l}),d=Object.keys(h);d.sort(function(m,g){var x,b;return((x=h[m])===null||x===void 0?void 0:x.degree)-((b=h[g])===null||b===void 0?void 0:b.degree)});var p=d[0];if(!o.length||((n=h[p])===null||n===void 0?void 0:n.degree)>=t)return"break";var v=o.findIndex(function(m){return m.id===p});o.splice(v,1),l=l.filter(function(m){return!(m.source===p||m.target===p)})};;){var f=u();if(f==="break")break}return{nodes:o,edges:l}},eV=iQt;var aQt=function(e,t,n,i,a,o){t===void 0&&(t=3),n===void 0&&(n=[]),i===void 0&&(i=[]),a===void 0&&(a="properties"),o===void 0&&(o=O0.EuclideanDistance);for(var s=e.nodes,l=e.edges,u=b_(s,a),f=__(u,n,i),c=0;cm&&(m=w,g=x)}h[c]=f[g],d.push(g),p[c]=[s[g]],s[g].clusterId=String(c)}for(var A=0;;){for(var c=0;c=1e3)break}var G=[],D={};return l.forEach(function(N){var z,j,W=N.source,J=N.target,et=(z=s.find(function(_t){return _t.id===W}))===null||z===void 0?void 0:z.clusterId,lt=(j=s.find(function(_t){return _t.id===J}))===null||j===void 0?void 0:j.clusterId,$="".concat(et,"---").concat(lt);if(D[$])D[$].count++;else{var st={source:et,target:lt,count:1};D[$]=st,G.push(st)}}),{clusters:p,clusterEdges:G}},rV=aQt;var oQt=function(e,t){var n=new Ls(t),i=n.norm2(),a=new Ls(e),o=a.norm2(),s=n.dot(a),l=i*o,u=l?s/l:0;return u},jA=oQt;var Cct=U(q());var sQt=function(e,t,n,i,a){e===void 0&&(e=[]),n===void 0&&(n=[]),i===void 0&&(i=[]),a===void 0&&(a="properties");var o=(0,Cct.clone)(e.filter(function(h){return h.id!==t.id})),s=e.findIndex(function(h){return h.id===t.id}),l=b_(e,a),u=__(l,n,i),f=u[s],c=[];return o.forEach(function(h,d){if(h.id!==t.id){var p=u[d],v=jA(p,f);c.push(v),h.cosineSimilarity=v}}),o.sort(function(h,d){return d.cosineSimilarity-h.cosineSimilarity}),{allCosineSimilarity:c,similarNodes:o}},nV=sQt;var lQt=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),o=this.list.length;i!==null&&i0?n=i:a!==null&&a0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),Ect=fQt;var cQt=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var f=function(m,g){return t?m.weight-g.weight:0},c=new Ect(f);for(g_(l.id,s).forEach(function(v){c.insert(v)});!c.isEmpty();){var h=c.delMin(),d=h.source,p=h.target;u.has(d)&&u.has(p)||(n.push(h),u.has(d)||(u.add(d),g_(d,s).forEach(function(v){c.insert(v)})),u.has(p)||(u.add(p),g_(p,s).forEach(function(v){c.insert(v)})))}return n},Act=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=s.map(function(d){return d});t&&l.sort(function(d,p){return d.weight-p.weight});for(var u=new wct(a.map(function(d){return d.id}));l.length>0;){var f=l.shift(),c=f.source,h=f.target;u.connected(c,h)||(n.push(f),u.union(c,h))}return n},hQt=function(e,t,n){var i={prim:cQt,kruskal:Act};return n?i[n](e,t):Act(e,t)},iV=hQt;var dQt=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,o=1e3,s=e.nodes,l=s===void 0?[]:s,u=e.edges,f=u===void 0?[]:u,c=l.length,h,d={},p={},v=0;v0&&i>t;){a=0;for(var v=0;v0&&(h+=p[C]/w)}d[g]=n*h,a+=d[g]}}a=(1-a)/c,i=0;for(var v=0;v=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,o=i.toNode;ad||i.hasNode(o[h.to])||(t.labelb;C--){var w=S(C);if(w==="break")break}if(g){var A=e.findMinLabel(m);o.dfsEdgeList.push(new D0(v,x,bc,A.edgeLabel,bc));var I=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[I]!==o.dfsEdgeList[I]?!1:c(m[A.edgeLabel].projected)}var P={};g=!1;var L=0;h.forEach(function(D){var N=new JP(D),z=e.findForwardPureEdges(i,N.edges[d[0]],p,N);z.length>0&&(g=!0,L=v,z.forEach(function(j){var W="".concat(j.label,"-").concat(a[j.to].label);P[W]||(P[W]={projected:[],edgeLabel:j.label,nodeLabel2:a[j.to].label}),P[W].projected.push({graphId:i.id,edge:j,preNode:D})}))});for(var M=d.length,O=function(N){if(g)return"break";var z=d[N];h.forEach(function(j){var W=new JP(j),J=e.findForwardRmpathEdges(i,W.edges[z],p,W);J.length>0&&(g=!0,L=o.dfsEdgeList[z].fromNode,J.forEach(function(et){var lt="".concat(et.label,"-").concat(a[et.to].label);P[lt]||(P[lt]={projected:[],edgeLabel:et.label,nodeLabel2:a[et.to].label}),P[lt].projected.push({graphId:i.id,edge:et,preNode:j})}))})},C=0;C=0;p--){var v=t.findBackwardEdge(c,d.edges[a[p]],d.edges[a[0]],d);if(v){var m="".concat(t.dfsCode.dfsEdgeList[a[p]].fromNode,"-").concat(v.label);u[m]||(u[m]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[p]].fromNode,edgeLabel:v.label}),u[m].projected.push({graphId:f.graphId,edge:v,preNode:f})}}if(!(i>=t.maxNodeNum)){var g=t.findForwardPureEdges(c,d.edges[a[0]],s,d);g.forEach(function(b){var S="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);l[S]||(l[S]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),l[S].projected.push({graphId:f.graphId,edge:b,preNode:f})});for(var x=function(S){var C=t.findForwardRmpathEdges(c,d.edges[a[S]],s,d);C.forEach(function(w){var A="".concat(t.dfsCode.dfsEdgeList[a[S]].fromNode,"-").concat(w.label,"-").concat(h[w.to].label);l[A]||(l[A]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[S]].fromNode,edgeLabel:w.label,nodeLabel2:h[w.to].label}),l[A].projected.push({graphId:f.graphId,edge:w,preNode:f})})},p=0;pb){var S=b;b=x,x=S}var C=g.label,w="".concat(u,"-").concat(x,"-").concat(C,"-").concat(b),A="".concat(x,"-").concat(C,"-").concat(b);if(!o[A]){var I=o[A]||0;I++,o[A]=I}l[w]={graphId:u,nodeLabel1:x,edgeLabel:C,nodeLabel2:b}})})}),Object.keys(a).forEach(function(u){var f=a[u];if(!(f2*t)););if(m<2*t&&(s["".concat(f,"-").concat(v)]={start:f,end:v,distance:a[f][v]},c++,l++,l>=n))return s;if(h++,h>2*t)break}if(ch&&(l=h);var d=n[c.id].inDegree;u>d&&(u=d);var p=n[c.id].outDegree;f>p&&(f=p)}),e[t]={degree:l,inDegree:u,outDegree:f}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:f}},CQt=function(e,t,n,i,a,o,s){var l;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(!!u){var f=sg(e,n),c=sg(t,n),h=Nct(e.nodes,f,n),d=Nct(t.nodes,c,n),p=kct(e.nodes,o),v=p.nodeMap,m=p.nodeLabelMap,g=kct(t.nodes,o),x=g.nodeMap,b=g.nodeLabelMap;Rct(e.edges,s,v);var S=Rct(t.edges,s,x).edgeLabelMap,C=[];c==null||c.forEach(function(V){C=C.concat(V)}),a||(a=Math.max.apply(Math,mn(mn([],C,!1),[2],!1))),i||(i=a);var w=Dct(e,f,o,i),A=Dct(t,c,o,i),I=Math.min(100,u*(u-1)/2),P=bQt(i,u,I,w,f),L=tk(P,w,e),M=10,O=1,F=1,k=4,G={graphs:L,nodeLabelProp:o,edgeLabelProp:s,minSupport:O,minNodeNum:F,maxNodeNum:k,directed:n},D=Oct(G).slice(0,M),N=D.length,z=[];D.forEach(function(V,Te){z[Te]={},Object.keys(L).forEach(function(ne){var pt=L[ne],Et=ek(pt,V,o,s);z[Te][ne]=Et})});var j=_Qt(z,N,D),W=j.structure,J=j.structureCountMap,et=t.nodes[0],lt=[],$=(l=t.nodes[0])===null||l===void 0?void 0:l[o],st=-1/0;t.nodes.forEach(function(V){var Te=V[o],ne=m[Te];(ne==null?void 0:ne.length)>st&&(st=ne.length,lt=ne,$=Te,et=V)});var _t={},dt={},vt={},Tt={},Ut={},$t={};Object.keys(b).forEach(function(V,Te){Ut[V]=[],n&&($t[V]=[]);var ne=-1/0,pt=b[V],Et={};pt.forEach(function(Ht){var ae=d["".concat(et.id,"-").concat(Ht.id)];if(ae&&Ut[V].push(ae),neUt[V][_n]){ma=!0;break}if(ma)return lt.splice(ae,1),"continue";var ii={};Ye.neighbors.forEach(function(En){var ci=h["".concat(ge.id,"-").concat(En.id)];ii["".concat(ge.id,"-").concat(En.id)]={start:v[ge.id].idx,end:v[En.id].idx,distance:ci}}),L=tk(ii,w,e,L);var xi=[];Object.keys(ii).forEach(function(En){if(J[En]){xi.push(J[En]);return}var ci=L[En];J[En]=ek(ci,W,o,s),xi.push(J[En])}),xi=xi.sort(function(En,ci){return ci-En});for(var Ki=!1,_n=0;_n<$n;_n++)if(xi[_n]=0;Ue--)ee(Ue)});var Y=[];lt==null||lt.forEach(function(V){for(var Te=v[V.id].idx,ne=Pct(e.nodes,f[Te],Te,o,a),pt=ne.neighbors,Et=pt.length,St=!1,Wt=Et-1;Wt>=0;Wt--){if(pt.length+1Ye){pt.splice(Wt,1);continue}if(n){var Ve="".concat(ee.id,"-").concat(V.id),$n=h[Ve];ge=$t[Ue].length-1;var ma=$t[Ue][ge];if($n>ma){pt.splice(Wt,1);continue}}var _n=J[Ht]?J[Ht]:SQt(e,V,ee,v,ae,w,W,o,s,J,L),ii="".concat(et.id,"-").concat(Ue),xi=Tt[ii][Tt[ii].length-1];if(_n=0;ae--){var ma=$n(ae);if(ma==="break")break}if(Ve)return Y.splice(Te,1),"continue";ne.edges=Wt;var _n=og(ne,ne.nodes[0].id,!1).length;if(Object.keys(_n).reverse().forEach(function(er){if(!(er===ne.nodes[0].id||Ve)){if(_n[er]===1/0){var ai=St[er].node[o];if(Et[ai]--,Et[ai]K[ji][K[ji].length-1]){var ai=St[er].node[o];if(Et[ai]--,Et[ai]=0;ci--){var Nn=ne.nodes[ci],Ta=St[Nn.id].degree,Li=St[Nn.id].inDegree,Do=St[Nn.id].outDegree,ku=Nn[o],Po=Fct(_t,ku,x,b),ms=Po.minPatternNodeLabelDegree,$o=Po.minPatternNodeLabelInDegree,vl=Po.minPatternNodeLabelOutDegree,Ns=n?Ta=0;mo--){var Oi=Wt[mo];if(!St[Oi.source]||!St[Oi.target]){Wt.splice(mo,1);var gs=Oi[s];if(ee[gs]--,St[Oi.source]&&(St[Oi.source].degree--,St[Oi.source].outDegree--),St[Oi.target]&&(St[Oi.target].degree--,St[Oi.target].inDegree--),S[gs]&&ee[gs]=0;Zt--){var Ae=Xt(Zt);if(Ae==="break")break}for(var We=Y.length,$e=function(Te){var ne=Y[Te],pt={};ne.edges.forEach(function(Wt){var ee="".concat(Wt.source,"-").concat(Wt.target,"-").concat(Wt.label);pt[ee]?pt[ee]++:pt[ee]=1});for(var Et=function(ee){var Ue=Y[ee],Ht={};Ue.edges.forEach(function(ge){var Ye="".concat(ge.source,"-").concat(ge.target,"-").concat(ge.label);Ht[Ye]?Ht[Ye]++:Ht[Ye]=1});var ae=!0;Object.keys(Ht).length!==Object.keys(pt).length?ae=!1:Object.keys(pt).forEach(function(ge){Ht[ge]!==pt[ge]&&(ae=!1)}),ae&&Y.splice(ee,1)},St=We-1;St>Te;St--)Et(St);We=Y.length},Zt=0;Zt<=We-1;Zt++)$e(Zt);return Y}}},uV=CQt;var wQt=function(){function r(e){e===void 0&&(e=10),this.linkedList=new XP,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r}(),S_=wQt;var Bct=$P;var EQt={getAdjMatrix:hf,breadthFirstSearch:W6,connectedComponent:y_,getDegree:Fp,getInDegree:H6,getOutDegree:Y6,detectCycle:$P,detectDirectedCycle:Bct,detectAllCycles:X6,detectAllDirectedCycle:ZP,detectAllUndirectedCycle:KP,depthFirstSearch:x_,dijkstra:og,findAllPath:K6,findShortestPath:q6,floydWarshall:sg,labelPropagation:Z6,louvain:UA,iLouvain:tV,kCore:eV,kMeans:rV,cosineSimilarity:jA,nodesCosineSimilarity:nV,minimumSpanningTree:iV,pageRank:aV,getNeighbors:lo,Stack:S_,GADDI:uV};var CV={};Dn(CV,{Line:()=>ug,applyMatrix:()=>C_,compare:()=>AQt,distance:()=>w_,floydWarshall:()=>TQt,fractionToLine:()=>ok,getAdjMatrix:()=>IQt,getBBoxBoundLine:()=>gV,getCircleCenterByPoints:()=>ik,getCircleIntersectByPoint:()=>hV,getDegree:()=>DQt,getEllipseIntersectByPoint:()=>dV,getLineIntersect:()=>nk,getPointsCenter:()=>xV,getRectIntersectByPoint:()=>cV,intersectBBox:()=>zct,invertMatrix:()=>pV,isPointInPolygon:()=>E_,isPointsOverlap:()=>sk,isPolygonsIntersect:()=>mV,itemIntersectByLine:()=>yV,lerp:()=>SV,move:()=>ak,pointLineDistance:()=>NQt,pointLineSquareDist:()=>bV,pointRectSquareDist:()=>_V,rotate:()=>OQt,scale:()=>LQt,scaleMatrix:()=>MQt,squareDist:()=>WA,translate:()=>vV});var lg=U(q()),rk=gr.transform,AQt=function(e){return function(t,n){return t[e]-n[e]}},Gct=function(e,t,n){return e>=t&&e<=n},nk=function(e,t,n,i){var a=1e-4,o={x:n.x-e.x,y:n.y-e.y},s={x:t.x-e.x,y:t.y-e.y},l={x:i.x-n.x,y:i.y-n.y},u=s.x*l.y-s.y*l.x,f=u*u,c=1/u,h=s.x*s.x+s.y*s.y,d=l.x*l.x+l.y*l.y;if(f>a*h*d){var p=(o.x*l.y-o.y*l.x)*c,v=(o.x*s.y-o.y*s.x)*c;return!Gct(p,0,1)||!Gct(v,0,1)?null:{x:e.x+p*s.x,y:e.y+p*s.y}}return null},cV=function(e,t){var n=e.x,i=e.y,a=e.width,o=e.height,s=n+a/2,l=i+o/2,u=[],f={x:s,y:l};u.push({x:n,y:i}),u.push({x:n+a,y:i}),u.push({x:n+a,y:i+o}),u.push({x:n,y:i+o}),u.push({x:n,y:i});for(var c=null,h=1;ht[i][o]+t[o][a]&&(t[i][a]=t[i][o]+t[o][a]);return t},IQt=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];a[f][c]=1,t||(a[c][f]=1)}),a},vV=function(e,t){e.translate(t.x,t.y)},ak=function(e,t,n,i){i===void 0&&(i={duration:500});var a=e.getMatrix();a||(a=[1,0,0,0,1,0,0,0,1]);var o=e.getCanvasBBox(),s=t.x-o.minX,l=t.y-o.minY;if(n){var u=s*a[0],f=l*a[4],c=0,h=0,d=0,p=0;e.animate(function(m){return d=u*m,p=f*m,a=rk(a,[["t",d-c,p-h]]),c=d,h=p,{matrix:a}},i)}else{var v=rk(a,[["t",s,l]]);e.setMatrix(v)}},LQt=function(e,t){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var i=t;(0,lg.isArray)(t)||(i=[t,t]),(0,lg.isArray)(t)&&t.length===1&&(i=[t[0],t[0]]),n=rk(n,[["s",i[0],i[1]]]),e.setMatrix(n)},OQt=function(e,t){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),n=rk(n,[["r",t]]),e.setMatrix(n)},DQt=function(e,t,n){for(var i=[],a=0;a0!=s(f[1]-n)>0&&s(t-(n-u[1])*(u[0]-f[0])/(u[1]-f[1])-u[0])<0&&(i=!i)}return i},zct=function(e,t){return!(t.minX>e.maxX||t.maxXe.maxY||t.maxY1){var x=h[0],b=h[p-1];d.push({from:{x:b[0],y:b[1]},to:{x:x[0],y:x[1]}})}return d};if(e.length<2||t.length<2)return!1;var a=n(e),o=n(t);if(!zct(a,o))return!1;var s=!1;if((0,lg.each)(t,function(c){if(E_(e,c[0],c[1]))return s=!0,!1}),s||((0,lg.each)(e,function(c){if(E_(t,c[0],c[1]))return s=!0,!1}),s))return!0;var l=i(e),u=i(t),f=!1;return(0,lg.each)(u,function(c){if(kQt(l,c))return f=!0,!1}),f},ug=function(){function r(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}return r.prototype.getBBox=function(){var e=Math.min(this.x1,this.x2),t=Math.min(this.y1,this.y2),n=Math.max(this.x1,this.x2),i=Math.max(this.y1,this.y2),a={x:e,y:t,minX:e,minY:t,maxX:n,maxY:i,width:n-e,height:i-t};return a},r}();var gV=function(e,t){var n={top:[e.minX,e.minY,e.maxX,e.minY],left:[e.minX,e.minY,e.minX,e.maxY],bottom:[e.minX,e.maxY,e.maxX,e.maxY],right:[e.maxX,e.minY,e.maxX,e.maxY]};return n[t]},RQt=function(e,t){var n=(t.x2-t.x1)*(e.y1-t.y1)-(t.y2-t.y1)*(e.x1-t.x1),i=(e.x2-e.x1)*(e.y1-t.y1)-(e.y2-e.y1)*(e.x1-t.x1),a=(t.y2-t.y1)*(e.x2-e.x1)-(t.x2-t.x1)*(e.y2-e.y1);if(a){var o=n/a,s=i/a;if(o>=0&&o<=1&&s>=0&&s<=1)return o}return Number.POSITIVE_INFINITY},yV=function(e,t){for(var n=["top","left","bottom","right"],i=e.getBBox(),a=0,o=[],s=0;s<4;s++){var l=gV(i,n[s]),u=l[0],f=l[1],c=l[2],h=l[3];o[s]=nk({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},{x:u,y:f},{x:c,y:h}),o[s]&&(a+=1)}return[o,a]},ok=function(e,t){for(var n=["top","left","bottom","right"],i=e.getBBox(),a=Number.POSITIVE_INFINITY,o=0,s=0;s<4;s++){var l=gV(i,n[s]),u=l[0],f=l[1],c=l[2],h=l[3],d=RQt(t,new ug(u,f,c,h));d=Math.abs(d-.5),d>=0&&d<=1&&(o+=1,a=d0){for(var i=0,a=e;it.x+t.width,a=e.y>t.y+t.height,o=e.yHA,getBBox:()=>A_,getComboBBox:()=>VA,getLabelPosition:()=>TV,getLetterWidth:()=>qct,getLoopCfgs:()=>MV,getTextSize:()=>IV,plainCombosToTrees:()=>fk,reconstructTree:()=>ck,shouldRefreshEdge:()=>jQt,traverseTree:()=>Os,traverseTreeUp:()=>Hh});var fg="rgb(95, 149, 255)",FQt="rgb(255, 255, 255)",Uct="rgb(0, 0, 0)",wV="rgb(247, 250, 255)",jct="rgb(239, 244, 255)",lk="rgb(253, 253, 253)",Wct="rgb(250, 250, 250)",uk="rgb(224, 224, 224)",Vct="rgb(234, 234, 234)",BQt="rgb(245, 245, 245)",GQt="rgb(191, 213, 255)",Hct="#4572d9",zQt="rgb(223, 234, 255)",Un={mainStroke:fg,mainFill:jct,activeStroke:fg,activeFill:wV,inactiveStroke:GQt,inactiveFill:wV,selectedStroke:fg,selectedFill:FQt,highlightStroke:Hct,highlightFill:zQt,disableStroke:uk,disableFill:Wct,edgeMainStroke:uk,edgeActiveStroke:fg,edgeInactiveStroke:Vct,edgeSelectedStroke:fg,edgeHighlightStroke:fg,edgeDisableStroke:BQt,comboMainStroke:uk,comboMainFill:lk,comboActiveStroke:fg,comboActiveFill:wV,comboInactiveStroke:uk,comboInactiveFill:lk,comboSelectedStroke:fg,comboSelectedFill:lk,comboHighlightStroke:Hct,comboHighlightFill:lk,comboDisableStroke:Vct,comboDisableFill:Wct},qe={version:"0.5.3",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:Un.mainStroke,fill:jct},size:20,color:Un.mainStroke,linkPoints:{size:8,lineWidth:1,fill:Un.activeFill,stroke:Un.activeStroke}},nodeStateStyles:{active:{fill:Un.activeFill,stroke:Un.activeStroke,lineWidth:2,shadowColor:Un.mainStroke,shadowBlur:10},selected:{fill:Un.selectedFill,stroke:Un.selectedStroke,lineWidth:4,shadowColor:Un.selectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:Un.highlightFill,stroke:Un.highlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:Un.inactiveFill,stroke:Un.inactiveStroke,lineWidth:1},disable:{fill:Un.disableFill,stroke:Un.disableStroke,lineWidth:1}},edgeLabel:{style:{fill:Uct,textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Un.edgeMainStroke,lineAppendWidth:2},color:Un.edgeMainStroke},edgeStateStyles:{active:{stroke:Un.edgeActiveStroke,lineWidth:1},selected:{stroke:Un.edgeSelectedStroke,lineWidth:2,shadowColor:Un.edgeSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Un.edgeHighlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:Un.edgeInactiveStroke,lineWidth:1},disable:{stroke:Un.edgeDisableStroke,lineWidth:1}},comboLabel:{style:{fill:Uct,textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:Un.comboMainFill,lineWidth:1,stroke:Un.comboMainStroke,r:5,width:20,height:10},size:[20,5],color:Un.comboMainStroke,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:Un.comboActiveStroke,lineWidth:1,fill:Un.comboActiveFill},selected:{stroke:Un.comboSelectedStroke,lineWidth:2,fill:Un.comboSelectedFill,shadowColor:Un.comboSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Un.comboHighlightStroke,lineWidth:2,fill:Un.comboHighlightFill,"text-shape":{fontWeight:500}},inactive:{stroke:Un.comboInactiveStroke,fill:Un.comboInactiveFill,lineWidth:1},disable:{stroke:Un.comboDisableStroke,fill:Un.comboDisableFill,lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},windowFontFamily:typeof window!="undefined"&&window.getComputedStyle&&document.body&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif"};var Yct={" ":.3329986572265625,a:.5589996337890625,A:.6569992065429687,b:.58599853515625,B:.6769989013671875,c:.5469985961914062,C:.7279998779296875,d:.58599853515625,D:.705999755859375,e:.554998779296875,E:.63699951171875,f:.37299957275390627,F:.5769989013671875,g:.5909988403320312,G:.7479995727539063,h:.555999755859375,H:.7199996948242188,i:.255999755859375,I:.23699951171875,j:.26699981689453123,J:.5169998168945312,k:.5289993286132812,K:.6899993896484375,l:.23499908447265624,L:.5879989624023437,m:.854998779296875,M:.8819992065429687,n:.5589996337890625,N:.7189987182617188,o:.58599853515625,O:.7669998168945312,p:.58599853515625,P:.6419998168945312,q:.58599853515625,Q:.7669998168945312,r:.3649993896484375,R:.6759994506835938,s:.504998779296875,S:.6319992065429687,t:.354998779296875,T:.6189987182617187,u:.5599990844726562,U:.7139999389648437,v:.48199920654296874,V:.6389999389648438,w:.754998779296875,W:.929998779296875,x:.5089996337890625,X:.63699951171875,y:.4959991455078125,Y:.66199951171875,z:.48699951171875,Z:.6239990234375,"0":.6,"1":.40099945068359377,"2":.6,"3":.6,"4":.6,"5":.6,"6":.6,"7":.5469985961914062,"8":.6,"9":.6,"[":.3329986572265625,"]":.3329986572265625,",":.26399993896484375,".":.26399993896484375,";":.26399993896484375,":":.26399993896484375,"{":.3329986572265625,"}":.3329986572265625,"\\":.5,"|":.19499969482421875,"=":.604998779296875,"+":.604998779296875,"-":.604998779296875,_:.5,"`":.3329986572265625," ~":.8329986572265625,"!":.3329986572265625,"@":.8579986572265625,"#":.6,$:.6,"%":.9699996948242188,"^":.517999267578125,"&":.7259994506835937,"*":.505999755859375,"(":.3329986572265625,")":.3329986572265625,"<":.604998779296875,">":.604998779296875,"/":.5,"?":.53699951171875};var Co=U(q()),Vh=Math.PI,EV=Math.sin,AV=Math.cos,Ho=EV(Vh/8),Yo=AV(Vh/8),A_=function(e,t){var n=e.getBBox(),i={x:n.minX,y:n.minY},a={x:n.maxX,y:n.maxY};if(t){var o=t.getMatrix();o||(o=[1,0,0,0,1,0,0,0,1]),i=C_(i,o),a=C_(a,o)}var s=i.x,l=i.y,u=a.x,f=a.y;return{x:s,y:l,minX:s,minY:l,maxX:u,maxY:f,width:u-s,height:f-l}},MV=function(e){var t=e.sourceNode||e.targetNode,n=t.get("group"),i=n.getMatrix();i||(i=[1,0,0,0,1,0,0,0,1]);var a=t.getKeyShape(),o=a.getBBox(),s=e.loopCfg||{},l=s.dist||Math.max(o.width,o.height)*2,u=s.position||qe.defaultLoopPosition,f=[i[6],i[7]],c=[e.startPoint.x,e.startPoint.y],h=[e.endPoint.x,e.endPoint.y],d=o.height/2,p=o.height/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo;if(c[0]===h[0]&&c[1]===h[1]){switch(u){case"top":c=[f[0]-v,f[1]-m],h=[f[0]+g,f[1]-x];break;case"top-right":d=o.height/2,p=o.width/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]+v,f[1]-m],h=[f[0]+x,f[1]-g];break;case"right":d=o.width/2,p=o.width/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]+m,f[1]-v],h=[f[0]+x,f[1]+g];break;case"bottom-right":d=o.width/2,p=o.height/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]+m,f[1]+v],h=[f[0]+g,f[1]+x];break;case"bottom":d=o.height/2,p=o.height/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]+v,f[1]+m],h=[f[0]-g,f[1]+x];break;case"bottom-left":d=o.height/2,p=o.width/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]-v,f[1]+m],h=[f[0]-x,f[1]+g];break;case"left":d=o.width/2,p=o.width/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]-m,f[1]+v],h=[f[0]-x,f[1]-g];break;case"top-left":d=o.width/2,p=o.height/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]-m,f[1]-v],h=[f[0]-g,f[1]-x];break;default:d=o.width/2,p=o.width/2,v=d*Ho,m=d*Yo,g=p*Ho,x=p*Yo,c=[f[0]-v,f[1]-m],h=[f[0]+g,f[1]-x]}if(s.clockwise===!1){var b=[c[0],c[1]];c=[h[0],h[1]],h=[b[0],b[1]]}}var S=[c[0]-f[0],c[1]-f[1]],C=(d+l)/d,w=(p+l)/p;s.clockwise===!1&&(C=(p+l)/p,w=(d+l)/d);var A=oe.scale([0,0],S,C),I=[f[0]+A[0],f[1]+A[1]],P=[h[0]-f[0],h[1]-f[1]],L=oe.scale([0,0],P,w),M=[f[0]+L[0],f[1]+L[1]];return e.startPoint={x:c[0],y:c[1]},e.endPoint={x:h[0],y:h[1]},e.controlPoints=[{x:I[0],y:I[1]},{x:M[0],y:M[1]}],e},TV=function(e,t,n,i,a){var o=1e-4,s=[],l=e==null?void 0:e.getPoint(t);if(!l)return{x:0,y:0,angle:0};if(t1-o)s=e.getEndTangent();else{var u=e==null?void 0:e.getPoint(t+o);s.push([l.x,l.y]),s.push([u.x,u.y])}var f=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]);if(f<0&&(f+=Vh*2),n&&(l.x+=AV(f)*n,l.y+=EV(f)*n),i){var c=f-Vh/2;f>1/2*Vh&&f<3*1/2*Vh&&(c-=Vh),l.x+=AV(c)*i,l.y+=EV(c)*i}var h={x:l.x,y:l.y,angle:f};return a?(f>.5*Vh&&f<1.5*Vh&&(f-=Vh),E({rotate:f},h)):h},Xct=function r(e,t){if(t(e)===!1)return!1;if(e&&e.children){for(var n=e.children.length-1;n>=0;n--)if(!r(e.children[n],t))return!1}return!0},UQt=function r(e,t){if(e&&e.children){for(var n=e.children.length-1;n>=0;n--)if(!r(e.children[n],t))return}return t(e)!==!1},Os=function(e,t){typeof t=="function"&&Xct(e,t)},Hh=function(e,t){typeof t=="function"&&UQt(e,t)},qct=function(e,t){return t*(Yct[e]||1)},IV=function(e,t){var n=0,i=new RegExp("[\u4E00-\u9FA5]+");return e.split("").forEach(function(a){i.test(a)?n+=t:n+=qct(a,t)}),[n,t]},fk=function(e,t){var n=[],i={},a={};e.forEach(function(l){a[l.id]=l}),e.forEach(function(l,u){var f=(0,Co.clone)(l);f.itemType="combo",f.children=void 0,f.parentId===f.id?(console.warn("The parentId for combo ".concat(f.id," can not be the same as the combo's id")),delete f.parentId):f.parentId&&!a[f.parentId]&&(console.warn("The parent combo for combo ".concat(f.id," does not exist!")),delete f.parentId);var c=i[f.id];if(c){if(f.children=c.children,i[f.id]=f,c=f,!c.parentId){n.push(c);return}var h=i[c.parentId];if(h)h.children?h.children.push(f):h.children=[f];else{var d={id:c.parentId,children:[c]};i[c.parentId]=d,i[f.id]=f}return}if((0,Co.isString)(l.parentId)){var p=i[l.parentId];if(p)p.children?p.children.push(f):p.children=[f],i[f.id]=f;else{var v={id:l.parentId,children:[f]};i[v.id]=v,i[f.id]=f}}else n.push(f),i[f.id]=f});var o={};(t||[]).forEach(function(l){o[l.id]=l;var u=i[l.comboId];if(u){var f={id:l.id,comboId:l.comboId};u.children?u.children.push(f):u.children=[f],f.itemType="node",i[l.id]=f}});var s=0;return n.forEach(function(l){l.depth=s+10,Xct(l,function(u){var f,c=i[u.id].itemType;c==="node"?f=i[u.comboId]:f=i[u.parentId],f&&c==="node"?u.depth=s+1:u.depth=s+10,s-1&&i.splice(u,1),s||(a={id:t,itemType:"node",comboId:n},o[t]={children:void 0}),t){var f=!1;if(n){var c=0;(e||[]).forEach(function(d){f||Os(d,function(p){return n===p.id?(f=!0,p.children?p.children.push(a):p.children=[a],c=p.depth,a.itemType==="node"?a.depth=c+2:a.depth=c+1,!1):!0})})}else(!n||!f)&&a.itemType!=="node"&&e.push(a);var h=a.depth;Os(a,function(d){return d.itemType==="node"?h+=2:h+=1,d.depth=h,!0})}return e},VA=function(e,t,n){var i={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,x:void 0,y:void 0,width:void 0,height:void 0,centerX:void 0,centerY:void 0};if(!e||e.length===0){var a=n==null?void 0:n.getModel(),o=a||{},s=o.x,l=o.y;return{minX:s,minY:l,maxX:s,maxY:l,x:s,y:l,width:void 0,height:void 0}}return e.forEach(function(u){var f=t.findById(u.id);if(!(!f||!f.isVisible())){f.set("bboxCanvasCache",void 0);var c=f.getCanvasBBox();c.x&&i.minX>c.minX&&(i.minX=c.minX),c.y&&i.minY>c.minY&&(i.minY=c.minY),c.x&&i.maxXPV,cloneEvent:()=>VQt,formatPadding:()=>YA,isNaN:()=>XA,isViewportChanged:()=>HQt,processParallelEdges:()=>YQt,uniqueId:()=>dk});var M_=U(q());var Zct=function(r){H(e,r);function e(t,n){var i=r.call(this,t,n)||this;return i.item=n.item,i.canvasX=n.canvasX,i.canvasY=n.canvasY,i.wheelDelta=n.wheelDelta,i.detail=n.detail,i}return e}(Yu);var dk=function(e){return"".concat(e,"-").concat(Math.random()).concat(Date.now())},YA=function(e){if((0,M_.isArray)(e))switch(e.length){case 4:return e;case 3:return e.push(e[1]),e;case 2:return e.concat(e);case 1:return[e[0],e[0],e[0],e[0]];default:return[0,0,0,0]}if((0,M_.isNumber)(e))return[e,e,e,e];if((0,M_.isString)(e)){var t=parseInt(e,10);return[t,t,t,t]}return[0,0,0,0]},VQt=function(e){var t=new Zct(e.type,e);return t.clientX=e.clientX,t.clientY=e.clientY,t.x=e.x,t.y=e.y,t.target=e.target,t.currentTarget=e.currentTarget,t.bubbles=!0,t.item=e.item,t},HQt=function(e){if(!e)return!1;for(var t=9,n=[1,0,0,0,1,0,0,0,1],i=0;in&&(n=c),h>a&&(a=h)}var d=Math.floor(t),p=Math.floor(i),v=Math.ceil(n)-Math.floor(t),m=Math.ceil(a)-Math.floor(i);return{x:d,y:p,width:v,height:m,minX:t,minY:i,maxX:n,maxY:a}},YQt=function(e,t,n,i,a){t===void 0&&(t=15),n===void 0&&(n="quadratic"),i===void 0&&(i=void 0),a===void 0&&(a=void 0);for(var o=e.length,s=t*2,l=["top","top-right","right","bottom-right","bottom","bottom-left","left","top-left"],u={},f=[],c={},h=0;hf&&(c=f),e.zoom(c,s)||console.warn("zoom failed, ratio out of range, ratio: %f",c)}},r.prototype.fitViewByRules=function(e){var t=e.onlyOutOfViewPort,n=t===void 0?!1:t,i=e.direction,a=i===void 0?"both":i,o=e.ratioRule,s=o===void 0?"min":o,l=this.graph,u=this.getFormatPadding(),f=l.get("width"),c=l.get("height"),h=l.get("group");h.resetMatrix();var d=h.getCanvasBBox();if(!(d.width===0||d.height===0)){var p=this.getViewCenter(),v={x:d.x+d.width/2,y:d.y+d.height/2};l.translate(p.x-v.x,p.y-v.y);var m=(f-u[1]-u[3])/d.width,g=(c-u[0]-u[2])/d.height,x;a==="x"?x=m:a==="y"?x=g:x=s==="max"?Math.max(m,g):Math.min(m,g),n&&(x=x<1?x:1);var b=l.getZoom(),S=b*x,C=l.get("minZoom");S=0&&(a.height=o),s>=0&&(a.width=s),i.marginTop&&(a.y+=i.marginTop),i.marginLeft&&(a.x+=i.marginLeft),a}function tht(r,e){var t;e===void 0&&(e={x:0,y:0});var n=E({x:0,y:0,width:0,height:0},e);if((t=r.children)===null||t===void 0?void 0:t.length){var i=r.attrs,a=i===void 0?{}:i,o=a.marginTop,s=E({},e);o&&(s.y+=o);for(var l=0;ln.width&&(n.width=f.width+f.x),f.height+f.y>n.height&&(n.height=f.height+f.y)}}}return r.bbox=ZQt(r,e,n),r.attrs=E(E({},r.attrs),r.bbox),r}function eht(r,e){var t,n,i,a,o=(r||{}).type,s=((e==null?void 0:e.attrs)||{}).key;if(s&&r&&(r.attrs.key=s),!r&&e)return{action:"delete",val:e,type:o,key:s};if(r&&!e)return{action:"add",val:r,type:o};if(!r&&!e)return{action:"same",type:o};var l=[];if(((t=r.children)===null||t===void 0?void 0:t.length)>0||((n=e.children)===null||n===void 0?void 0:n.length)>0)for(var u=Math.max((i=r.children)===null||i===void 0?void 0:i.length,(a=e.children)===null||a===void 0?void 0:a.length),f=e.children||[],c=r.children||[],h=0;h-1)return;n.push(a)}else l>-1&&n.splice(l,1)}else if((0,Ua.isString)(t)){var u=n.filter(function(h){return h.includes(o)});u.length>0&&this.clearStates(u),s=s.filter(function(h){return!h.includes(o)}),s.push(a),this.set("states",s)}if(i){var f=this.get("model"),c=f.type;i.setState(c,e,t,this)}},r.prototype.clearStates=function(e){var t=this,n=t.getStates(),i=t.get("shapeFactory"),a=t.get("model"),o=a.type;e||(e=n),(0,Ua.isString)(e)&&(e=[e]);var s=n.filter(function(l){return e.indexOf(l)===-1});t.set("states",s),e.forEach(function(l){i.setState(o,l,!1,t)})},r.prototype.getContainer=function(){return this.get("group")},r.prototype.getKeyShape=function(){return this.get("keyShape")},r.prototype.getModel=function(){return this.get("model")},r.prototype.getType=function(){return this.get("type")},r.prototype.getID=function(){return this.get("id")},r.prototype.isItem=function(){return!0},r.prototype.getStates=function(){return this.get("states")},r.prototype.hasState=function(e){var t=this.getStates();return t.indexOf(e)>=0},r.prototype.refresh=function(e){var t=this.get("model");this.updatePosition(t),this.updateShape(e),this.afterUpdate(),this.clearCache()},r.prototype.getUpdateType=function(e){},r.prototype.update=function(e,t){t===void 0&&(t=void 0);var n=this.get("model");if(t==="move")this.updatePosition(e);else{var i=n.visible,a=e.visible;i!==a&&a!==void 0&&this.changeVisibility(a);var o={x:n.x,y:n.y};e.x=isNaN(+e.x)?n.x:+e.x,e.y=isNaN(+e.y)?n.y:+e.y;var s=this.get("styles");if(e.stateStyles){var l=e.stateStyles;(0,Ua.mix)(s,l),delete e.stateStyles}Object.assign(n,e),(o.x!==e.x||o.y!==e.y)&&this.updatePosition(e),this.updateShape(t)}this.afterUpdate(),this.clearCache()},r.prototype.updateShape=function(e){var t=this.get("shapeFactory"),n=this.get("model"),i=n.type;if(t.shouldUpdate(i)&&i===this.get("currentShape")){var a=this.getShapeCfg(n,e);t.baseUpdate(i,a,this,e),e!=="move"&&this.setOriginStyle()}else this.draw();this.restoreStates(t,i)},r.prototype.updatePosition=function(e){var t=this.get("model"),n=isNaN(+e.x)?+t.x:+e.x,i=isNaN(+e.y)?+t.y:+e.y,a=this.get("group");if(isNaN(n)||isNaN(i))return!1;t.x=n,t.y=i;var o=a.getMatrix();return o&&o[6]===n&&o[7]===i?!1:(a.resetMatrix(),vV(a,{x:n,y:i}),this.clearCache(),!0)},r.prototype.getBBox=function(){var e=this.get(zV);return e||(e=this.calculateBBox(),this.set(zV,e)),e},r.prototype.getCanvasBBox=function(){var e=this.get(UV);return e||(e=this.calculateCanvasBBox(),this.set(UV,e)),e},r.prototype.toFront=function(){var e=this.get("group");e.toFront()},r.prototype.toBack=function(){var e=this.get("group");e.toBack()},r.prototype.show=function(){this.changeVisibility(!0)},r.prototype.hide=function(){this.changeVisibility(!1)},r.prototype.changeVisibility=function(e){var t=this.get("group");e?t.show():t.hide(),this.set("visible",e)},r.prototype.isVisible=function(){return this.get("visible")},r.prototype.enableCapture=function(e){var t=this.get("group");t&&t.set("capture",e)},r.prototype.destroy=function(){if(!this.destroyed){var e=this.get("animate"),t=this.get("group");e&&t.stopAnimate(),t.shapeMap={},this.clearCache(),t.remove(),this._cfg=null,this.destroyed=!0}},r}(),vk=QQt;var mk={source:"start",target:"end"},Yh="Node",T_="Point",JQt="Anchor",tJt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){return{type:"edge",sourceNode:null,targetNode:null,startPoint:null,endPoint:null,linkCenter:!1}},e.prototype.setEnd=function(t,n){var i=mk[t]+T_,a=t+Yh,o=this.get(a);o&&!o.destroyed&&o.removeEdge(this),(0,df.isPlainObject)(n)?(this.set(i,n),this.set(a,null)):n&&(n.addEdge(this),this.set(a,n),this.set(i,null))},e.prototype.getLinkPoint=function(t,n,i){var a=mk[t]+T_,o=t+Yh,s=this.get(a);if(!s){var l=this.get(o),u=t+JQt,f=this.getPrePoint(t,i),c=n[u];(0,df.isNil)(c)||(s=l.getLinkPointByAnchor(c)),s=s||l.getLinkPoint(f),(0,df.isNil)(s.index)||this.set("".concat(t,"AnchorIndex"),s.index)}return s},e.prototype.getPrePoint=function(t,n){if(n&&n.length){var i=t==="source"?0:n.length-1;return n[i]}var a=t==="source"?"target":"source";return this.getEndPoint(a)},e.prototype.getEndPoint=function(t){var n=t+Yh,i=mk[t]+T_,a=this.get(n);return a?a.get("model"):this.get(i)},e.prototype.getControlPointsByCenter=function(t){var n=this.getEndPoint("source"),i=this.getEndPoint("target"),a=this.get("shapeFactory"),o=t.type;return a.getControlPoints(o,{startPoint:n,endPoint:i})},e.prototype.getEndCenter=function(t){var n=t+Yh,i=mk[t]+T_,a=this.get(n);if(a){var o=a.getBBox();return{x:o.centerX,y:o.centerY}}return this.get(i)},e.prototype.init=function(){r.prototype.init.call(this),this.setSource(this.get("source")),this.setTarget(this.get("target"))},e.prototype.getShapeCfg=function(t,n){var i=this,a=i.get("linkCenter"),o=(n==null?void 0:n.includes("move"))?t:r.prototype.getShapeCfg.call(this,t);if(a)o.startPoint=i.getEndCenter("source"),o.endPoint=i.getEndCenter("target");else{var s=o.controlPoints||i.getControlPointsByCenter(o);o.startPoint=i.getLinkPoint("source",t,s),o.endPoint=i.getLinkPoint("target",t,s)}return o.sourceNode=i.get("sourceNode"),o.targetNode=i.get("targetNode"),o},e.prototype.getModel=function(){var t=this.get("model"),n=this.get("source".concat(Yh)),i=this.get("target".concat(Yh));return n?delete t["source".concat(Yh)]:t.source=this.get("start".concat(T_)),i?delete t["target".concat(Yh)]:t.target=this.get("end".concat(T_)),!(0,df.isString)(t.source)&&!(0,df.isPlainObject)(t.source)&&(t.source=t.source.getID()),!(0,df.isString)(t.target)&&!(0,df.isPlainObject)(t.target)&&(t.target=t.target.getID()),t},e.prototype.setSource=function(t){this.setEnd("source",t),this.set("source",t)},e.prototype.setTarget=function(t){this.setEnd("target",t),this.set("target",t)},e.prototype.getSource=function(){return this.get("source")},e.prototype.getTarget=function(){return this.get("target")},e.prototype.updatePosition=function(){return!1},e.prototype.update=function(t,n){n===void 0&&(n=void 0);var i=this.get("model"),a=i.visible,o=t.visible;a!==o&&o!==void 0&&this.changeVisibility(o);var s=this.get("styles");if(t.stateStyles){var l=t.stateStyles;(0,df.mix)(s,l),delete t.stateStyles}Object.assign(i,t),this.updateShape(n),this.afterUpdate(),this.clearCache()},e.prototype.destroy=function(){var t=this.get("source".concat(Yh)),n=this.get("target".concat(Yh));t&&!t.destroyed&&t.removeEdge(this),n&&!n.destroyed&&n.removeEdge(this),r.prototype.destroy.call(this)},e}(vk),I_=tJt;var cg=U(q());var jV="anchorPointsCache",eJt="bboxCache",rJt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getNearestPoint=function(t,n){for(var i=0,a=t[0],o=w_(t[0],n),s=0;s-1&&n.splice(i,1)},e.prototype.clearCache=function(){this.set(eJt,null),this.set(jV,null)},e.prototype.getUpdateType=function(t){var n,i,a,o,s;if(!!t){var l=!(0,cg.isNil)(t.x),u=!(0,cg.isNil)(t.y),f=Object.keys(t);if(f.length===1&&(l||u)||f.length===2&&l&&u)return"move";if((0,cg.isNumber)(t.x)||(0,cg.isNumber)(t.y)||t.type||t.anchorPoints||t.size||(t==null?void 0:t.style)&&(((n=t==null?void 0:t.style)===null||n===void 0?void 0:n.r)||((i=t==null?void 0:t.style)===null||i===void 0?void 0:i.width)||((a=t==null?void 0:t.style)===null||a===void 0?void 0:a.height)||((o=t==null?void 0:t.style)===null||o===void 0?void 0:o.rx)||((s=t==null?void 0:t.style)===null||s===void 0?void 0:s.ry)))return"bbox|label";var c=f.includes("label")||f.includes("labelCfg");return c?"style|label":"style"}},e}(vk),hg=rJt;var iht=U(q()),aht="bboxCache",oht="bboxCanvasCache",WV="sizeCache",sht="anchorPointsCache",nJt=function(r){H(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){return{type:"combo",nodes:[],edges:[],combos:[]}},e.prototype.getShapeCfg=function(t){var n=this.get("styles"),i=this.get("bbox");if(n&&i){var a=t,o={r:Math.hypot(i.height,i.width)/2||qe.defaultCombo.size[0]/2,width:i.width||qe.defaultCombo.size[0],height:i.height||qe.defaultCombo.size[1]};a.style=E(E(E({},n),t.style),o);var s=t.padding||qe.defaultCombo.padding;return(0,iht.isNumber)(s)?(o.r+=s,o.width+=s*2,o.height+=s*2):(o.r+=s[0],o.width+=s[1]+s[3]||s[1]*2,o.height+=s[0]+s[2]||s[0]*2),this.set(WV,o),a}return t},e.prototype.calculateCanvasBBox=function(){if(!this.destroyed){var t=this.get("keyShape"),n=this.get("group"),i=A_(t,n);i.centerX=(i.minX+i.maxX)/2,i.centerY=(i.minY+i.maxY)/2;var a=this.get(WV),o=this.get(aht)||{},s=o.x,l=o.x;if(a){a.width=Math.max(a.width,i.width),a.height=Math.max(a.height,i.height);var u=t.get("type");u==="circle"?(i.width=a.r*2,i.height=a.r*2):(i.width=a.width,i.height=a.height),i.minX=i.centerX-i.width/2,i.minY=i.centerY-i.height/2,i.maxX=i.centerX+i.width/2,i.maxY=i.centerY+i.height/2}else i.width=i.maxX-i.minX,i.height=i.maxY-i.minY,i.centerX=(i.minX+i.maxX)/2,i.centerY=(i.minY+i.maxY)/2;return i.x=i.minX,i.y=i.minY,(i.x!==s||i.y!==l)&&this.set(sht,null),i}},e.prototype.getChildren=function(){var t=this;return{nodes:t.getNodes(),combos:t.getCombos()}},e.prototype.getNodes=function(){var t=this;return t.get("nodes")},e.prototype.getCombos=function(){var t=this;return t.get("combos")},e.prototype.addChild=function(t){var n=this,i=t.getType();switch(i){case"node":n.addNode(t);break;case"combo":n.addCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.addCombo=function(t){var n=this;return n.get("combos").push(t),!0},e.prototype.addNode=function(t){var n=this;return n.get("nodes").push(t),!0},e.prototype.removeChild=function(t){var n=this,i=t.getType();switch(i){case"node":n.removeNode(t);break;case"combo":n.removeCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.removeCombo=function(t){if(!!t){var n=this.getCombos(),i=n.indexOf(t);return i>-1?(n.splice(i,1),!0):!1}},e.prototype.removeNode=function(t){if(!!t){var n=this.getNodes(),i=n.indexOf(t);return i>-1?(n.splice(i,1),!0):!1}},e.prototype.getUpdateType=function(t){},e.prototype.getBBox=function(){this.set(oht,null);var t=this.calculateCanvasBBox();return t},e.prototype.clearCache=function(){this.set(aht,null),this.set(oht,null),this.set(sht,null)},e.prototype.destroy=function(){if(!this.destroyed){var t=this.get("animate"),n=this.get("group");t&&n.stopAnimate(),n.shapeMap={},this.clearCache(),this.set(WV,null),this.set("bbox",null),n.remove(),this._cfg=null,this.destroyed=!0}},e}(hg),gk=nJt;var KA="node",yk="edge",lht="vedge",ZA="combo",iJt="default",uht="Mapper",Bp="stateStyles",aJt=function(){function r(e){var t=this;this.edgeToBeUpdateMap={},this.throttleRefresh=(0,an.throttle)(function(n){var i,a=t.graph;if(!(!a||a.get("destroyed"))){var o=t.edgeToBeUpdateMap;!o||!((i=Object.keys(o))===null||i===void 0?void 0:i.length)||(Object.keys(o).forEach(function(s){var l=o[s].edge;!l||l.destroyed||l.refresh(o[s].updateType)}),t.edgeToBeUpdateMap={})}},16,{trailing:!0,leading:!0}),this.graph=e,this.destroyed=!1}return r.prototype.addItem=function(e,t){var n=this.graph,i=e===lht?yk:e,a=n.get("".concat(i,"Group"))||n.get("group"),o=(0,an.upperFirst)(i),s=null,l=n.get(i+(0,an.upperFirst)(Bp))||{},u=n.get(iJt+o);t[Bp]&&(l=t[Bp]),u&&(0,an.each)(u,function(x,b){(0,an.isObject)(x)&&!(0,an.isArray)(x)?t[b]=(0,an.deepMix)({},x,t[b]):(0,an.isArray)(x)?t[b]=t[b]||(0,an.clone)(u[b]):t[b]=t[b]||u[b]});var f=n.get(i+uht);if(f){var c=f(t);c[Bp]&&(l=c[Bp],delete c[Bp]),(0,an.each)(c,function(x,b){(0,an.isObject)(x)&&!(0,an.isArray)(x)?t[b]=(0,an.deepMix)({},t[b],x):t[b]=c[b]||t[b]})}if(n.emit("beforeadditem",{type:e,model:t}),e===yk||e===lht){var h=void 0,d=void 0;if(h=t.source,d=t.target,h&&(0,an.isString)(h)&&(h=n.findById(h)),d&&(0,an.isString)(d)&&(d=n.findById(d)),!h||!d){console.warn("The source or target node of edge ".concat(t.id," does not exist!"));return}h.getType&&h.getType()==="combo"&&(t.isComboEdge=!0),d.getType&&d.getType()==="combo"&&(t.isComboEdge=!0),s=new I_({model:t,source:h,target:d,styles:l,linkCenter:n.get("linkCenter"),group:a.addGroup()})}else if(e===KA)s=new hg({model:t,styles:l,group:a.addGroup()});else if(e===ZA){var p=t.children,v=VA(p,n);isNaN(v.x)?isNaN(t.x)&&(t.x=Math.random()*100):t.x=v.x,isNaN(v.y)?isNaN(t.y)&&(t.y=Math.random()*100):t.y=v.y;var m=a.addGroup();m.setZIndex(t.depth),s=new gk({model:t,styles:l,bbox:t.collapsed?VA([],n):v,group:m});var g=s.getModel();(p||[]).forEach(function(x){var b=n.findById(x.id);s.addChild(b),x.depth=g.depth+2}),t.collapsed&&setTimeout(function(){s.destroyed||n.collapseCombo(s)},0)}if(s)return n.get("".concat(e,"s")).push(s),n.get("itemMap")[s.get("id")]=s,n.emit("afteradditem",{item:s,model:t}),s},r.prototype.updateItem=function(e,t){var n=this,i,a,o=this.graph;if((0,an.isString)(e)&&(e=o.findById(e)),!(!e||e.destroyed)){var s="";e.getType&&(s=e.getType());var l=o.get(s+uht),u=e.getModel(),f=e.getUpdateType(t);if(l){var c=(0,an.deepMix)({},u,t),h=l(c),d=(0,an.deepMix)({},u,h,t);h[Bp]&&(e.set("styles",d[Bp]),delete d[Bp]),(0,an.each)(d,function(C,w){t[w]=C})}else(0,an.each)(t,function(C,w){u[w]&&(0,an.isObject)(C)&&!(0,an.isArray)(C)&&(t[w]=E(E({},u[w]),t[w]))});if(o.emit("beforeupdateitem",{item:e,cfg:t}),s===yk){if(t.source){var p=t.source;(0,an.isString)(p)&&(p=o.findById(p)),e.setSource(p)}if(t.target){var v=t.target;(0,an.isString)(v)&&(v=o.findById(v)),e.setTarget(v)}e.update(t)}if(s===KA||s===ZA){e.update(t,f);var m=e.getEdges(),g=(f==null?void 0:f.includes("bbox"))||f==="move";if(s===KA)f==="move"?(0,an.each)(m,function(C){n.edgeToBeUpdateMap[C.getID()]={edge:C,updateType:f},n.throttleRefresh()}):g&&(0,an.each)(m,function(C){C.refresh(f)});else if(g&&s===ZA){var x=e.get("shapeFactory"),b=u.type||"circle",S=u.animate===void 0||t.animate===void 0?(a=(i=x[b])===null||i===void 0?void 0:i.options)===null||a===void 0?void 0:a.animate:u.animate||t.animate;S?setTimeout(function(){if(!(!e||e.destroyed)){var C=e.getKeyShape();!C||C.destroyed||(0,an.each)(m,function(w){w&&!w.destroyed&&w.refresh()})}},201):(0,an.each)(m,function(C){C.refresh()})}}o.emit("afterupdateitem",{item:e,cfg:t})}},r.prototype.updateCombo=function(e,t){var n=this,i,a,o=this.graph;if((0,an.isString)(e)&&(e=o.findById(e)),!(!e||e.destroyed)){var s=e.getModel(),l=VA(t,o,e),u=l.x,f=l.y;e.set("bbox",l),e.update({x:u||s.x,y:f||s.y});var c=e.get("shapeFactory"),h=s.type||"circle",d=s.animate===void 0?(a=(i=c[h])===null||i===void 0?void 0:i.options)===null||a===void 0?void 0:a.animate:s.animate;d?setTimeout(function(){if(!(!e||e.destroyed)){var p=e.getKeyShape();!p||p.destroyed||(e.getShapeCfg(s),n.updateComboEdges(e))}},201):this.updateComboEdges(e)}},r.prototype.updateComboEdges=function(e){for(var t=e.getEdges()||[],n=0;n-1&&o.splice(s,1),a===yk){var l=n.get("v".concat(a,"s")),u=l.indexOf(e);u>-1&&l.splice(u,1)}var f=e.get("id"),c=n.get("itemMap");delete c[f];var h=n.get("comboTrees"),d=e.get("id");if(a===KA){var p=e.getModel().comboId;if(h&&p){var v=h,m=!1;h.forEach(function(w){m||Os(w,function(A){if(A.id===d&&v){var I=v.indexOf(A);return v.splice(I,1),m=!0,!1}return v=A.children,!0})})}for(var g=e.getEdges(),x=g.length-1;x>=0;x--)n.removeItem(g[x],!1);p&&n.updateCombo(p)}else if(a===ZA){var b=e.getModel().parentId,S,C=!1;(h||[]).forEach(function(A){C||Os(A,function(I){return I.id===d?(S=I,C=!0,!1):!0})}),S.removed=!0,S&&S.children&&S.children.forEach(function(A){t.removeItem(A.id)});for(var g=e.getEdges(),x=g.length;x>=0;x--)n.removeItem(g[x],!1);b&&n.updateCombo(b)}e.destroy(),n.emit("afterremoveitem",{item:i,type:a})}},r.prototype.setItemState=function(e,t,n){var i=this.graph,a=t;(0,an.isString)(n)&&(a="".concat(t,":").concat(n)),!(e.hasState(a)===n&&n||(0,an.isString)(n)&&e.hasState(a))&&(i.emit("beforeitemstatechange",{item:e,state:a,enabled:n}),e.setState(t,n),i.autoPaint(),i.emit("afteritemstatechange",{item:e,state:a,enabled:n}))},r.prototype.priorityState=function(e,t){var n=this.graph,i=e;(0,an.isString)(e)&&(i=n.findById(e)),this.setItemState(i,t,!1),this.setItemState(i,t,!0)},r.prototype.clearItemStates=function(e,t){var n=this.graph;(0,an.isString)(e)&&(e=n.findById(e)),n.emit("beforeitemstatesclear",{item:e,states:t}),e.clearStates(t),n.emit("afteritemstatesclear",{item:e,states:t})},r.prototype.refreshItem=function(e){var t=this.graph;(0,an.isString)(e)&&(e=t.findById(e)),t.emit("beforeitemrefresh",{item:e}),e.refresh(),t.emit("afteritemrefresh",{item:e})},r.prototype.addCombos=function(e,t){var n=this,i=this.graph;(e||[]).forEach(function(o){Hh(o,function(s){var l;return t.forEach(function(u){u.id===s.id&&(u.children=s.children,u.depth=s.depth,l=u)}),l&&n.addItem("combo",l),!0})});var a=i.get("comboGroup");a&&a.sort()},r.prototype.changeItemVisibility=function(e,t){var n=this,i=this.graph;if((0,an.isString)(e)&&(e=i.findById(e)),!e){console.warn("The item to be shown or hidden does not exist!");return}if(i.emit("beforeitemvisibilitychange",{item:e,visible:t}),e.changeVisibility(t),e.getType&&e.getType()===KA){var a=e.getEdges();(0,an.each)(a,function(f){t&&!(f.get("source").isVisible()&&f.get("target").isVisible())||n.changeItemVisibility(f,t)})}else if(e.getType&&e.getType()===ZA){var o=i.get("comboTrees"),s=e.get("id"),l=[],u=!1;(o||[]).forEach(function(c){u||!c.children||c.children.length===0||Os(c,function(h){return h.id===s?(l=h.children,u=!0,!1):!0})}),l&&(!t||t&&!e.getModel().collapsed)&&l.forEach(function(c){var h=i.findById(c.id);n.changeItemVisibility(h,t)});var a=e.getEdges();(0,an.each)(a,function(c){t&&!(c.get("source").isVisible()&&c.get("target").isVisible())||n.changeItemVisibility(c,t)})}return i.emit("afteritemvisibilitychange",{item:e,visible:t}),e},r.prototype.destroy=function(){this.graph=null,this.destroyed=!0},r}(),VV=aJt;var $A=U(q()),P0=null,oJt=function(){function r(e){this.graph=e,this.cachedStates={enabled:{},disabled:{}},this.destroyed=!1}return r.checkCache=function(e,t,n){if(!!n[t]){var i=n[t].indexOf(e);i>=0&&n[t].splice(i,1)}},r.cacheState=function(e,t,n){n[t]||(n[t]=[]),n[t].push(e)},r.prototype.updateState=function(e,t,n){var i=this,a=r.checkCache,o=r.cacheState;if(!e.destroyed){var s=this.cachedStates,l=s.enabled,u=s.disabled;n?(a(e,t,u),o(e,t,l)):(a(e,t,l),o(e,t,u)),P0&&clearTimeout(P0),P0=setTimeout(function(){P0=null,i.updateGraphStates()},16)}},r.prototype.updateStates=function(e,t,n){var i=this;(0,$A.isString)(t)?this.updateState(e,t,n):t.forEach(function(a){i.updateState(e,a,n)})},r.prototype.updateGraphStates=function(){var e=this.graph.get("states"),t=this.cachedStates;(0,$A.each)(t.disabled,function(n,i){e[i]&&(e[i]=e[i].filter(function(a){return n.indexOf(a)<0&&!n.destroyed}))}),(0,$A.each)(t.enabled,function(n,i){if(!e[i])e[i]=n;else{var a={};e[i].forEach(function(o){o.destroyed||(a[o.get("id")]=!0)}),n.forEach(function(o){if(!o.destroyed){var s=o.get("id");a[s]||(a[s]=!0,e[i].push(o))}})}}),this.graph.emit("graphstatechange",{states:e}),this.cachedStates={enabled:{},disabled:{}}},r.prototype.destroy=function(){this.graph=null,this.cachedStates=null,P0&&clearTimeout(P0),P0=null,this.destroyed=!0},r}(),HV=oJt;var Js=U(q());var qV={};Dn(qV,{getClosedSpline:()=>bk,getControlPoint:()=>QA,getSpline:()=>YV,paddedHull:()=>XV,pathToPoints:()=>xk,pointsToPolygon:()=>lJt,roundedHull:()=>_k});var sJt=function(e,t){return!e||!t?e:e.replace(/\\?\{([^{}]+)\}/g,function(n,i){if(n.charAt(0)==="\\")return n.slice(1);var a=t[i];return a===0&&(a="0"),a||""})},YV=function(e){var t=[];if(e.length<2)throw new Error("point length must largn than 2, now it's ".concat(e.length));for(var n=0,i=e;n0?o-1:t-1,l=oe.normalize([0,0],oe.add([0,0],a[s].v,oe.scale([0,0],a[o].v,-1)));a[o].p=oe.add([0,0],a[o].p,oe.scale([0,0],l,e))}return a.map(function(u){var f=u.p;return{x:f[0],y:f[1]}})}var dht=function(e,t,n){return(e.y-n.y)*(t.x-n.x)-(e.x-n.x)*(t.y-n.y)},KV=function(e){var t=e.map(function(s){return{x:s.getModel().x,y:s.getModel().y}});if(t.sort(function(s,l){return s.x===l.x?s.y-l.y:s.x-l.x}),t.length===1)return t;for(var n=[],i=0;i=2&&dht(n[n.length-2],n[n.length-1],t[i])<=0;)n.pop();n.push(t[i])}for(var a=[],i=t.length-1;i>=0;i--){for(;a.length>=2&&dht(a[a.length-2],a[a.length-1],t[i])<=0;)a.pop();a.push(t[i])}a.pop(),n.pop();var o=n.concat(a);return o};var uJt={maxRoutingIterations:100,maxMarchingIterations:100,pixelGroupSize:2,edgeR0:10,edgeR1:10,nodeR0:5,nodeR1:10,morphBuffer:5,threshold:.001,skip:16,nodeInfluenceFactor:1,edgeInfluenceFactor:1,negativeNodeInfluenceFactor:-.5};function fJt(r,e,t){var n=!1,i=function(l,u){return e.cells[l+u*e.width]},a=function(l,u){var f=0;return i(l-1,u-1)>=t&&(f+=1),i(l,u-1)>t&&(f+=2),i(l-1,u)>t&&(f+=4),i(l,u)>t&&(f+=8),f},o=function(l,u){for(var f=l,c=u,h,d,p=0;p-1){if(!(r[0].x!==f||r[0].y!==c))return!0}else r.push({x:f,y:c});var v=a(f,c);switch(v){case-1:return console.warn("Marched out of bounds"),!0;case 0:case 3:case 2:case 7:f++;break;case 12:case 14:case 4:f--;break;case 6:h===0&&(d===-1?f-=1:f+=1);break;case 1:case 13:case 5:c--;break;case 9:h===1&&(d===0?c-=1:c+=1);break;case 10:case 8:case 11:c++;break;default:return console.warn("Marching squares invalid state: ".concat(v)),!0}}};this.march=function(){for(var s=0;st&&a(s,l)!==15&&(n=o(s,l));return n}}var cJt=function(e,t,n){var i=Math.ceil(e/n),a=Math.ceil(t/n),o=new Float32Array(Math.max(0,i*a)).fill(0);return{cells:o,width:i,height:a}},hJt=function(e,t,n){var i=null,a=Number.POSITIVE_INFINITY;return t.forEach(function(o){var s={x:e.getModel().x,y:e.getModel().y},l={x:o.getModel().x,y:o.getModel().y},u=WA(s,l),f=new ug(s.x,s.y,l.x,l.y),c=n.reduce(function(h,d){return ok(d,f)>0?h+1:h},0);u*Math.pow(c+1,2)=0&&o=1;)C/=1.5,w=mht(p,C,m,S),A=u(w,o)||u(w,a),I=f(w,t);w&&!A&&(!S||!I)&&(o.push(new ug(d.x1,d.y1,w.x,w.y)),o.push(new ug(w.x,w.y,d.x2,d.y2)),s=!0)};x(!0),s||x(!1)}}s||a.push(d),l+=1};!s&&o.length;)c()}for(;o.length;)a.push(o.pop());return a};function pJt(r,e,t,n,i){var a=hJt(r,t,e);if(a===null)return[];var o=function(c){for(var h=[];c.length>0;){var d=c.pop();if(c.length===0){h.push(d);break}var p=c.pop(),v=new ug(d.x1,d.y1,p.x2,p.y2),m=pht(e,v);m?(h.push(d),c.push(p)):c.push(v)}return h},s=new ug(r.getModel().x,r.getModel().y,a.getModel().x,a.getModel().y),l=dJt(s,e,n,i),u=o(l);return u}var vht=function(e,t,n){var i=Object.assign(uJt,n),a=xV(e.map(function(x){return{x:x.getModel().x,y:x.getModel().y}}));e=e.sort(function(x,b){return WA({x:x.getModel().x,y:x.getModel().y},a)-WA({x:b.getModel().x,y:b.getModel().y},a)});var o=[],s=[];e.forEach(function(x){var b=pJt(x,t,o,i.maxRoutingIterations,i.morphBuffer);b.forEach(function(S){s.push(S)}),o.push(x)});for(var l=vJt(e,s,i.nodeR0),u=cJt(l.width,l.height,i.pixelGroupSize),f=[],c=[],h=0;h1)for(p=Math.floor(d.length/i.skip);p<3&&i.skip>1;)i.skip-=1,p=Math.floor(d.length/i.skip);for(var v=0,m=0;m0)i.nonMemberInfluenceFactor*=.8;else break}return c};function vJt(r,e,t){var n={minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY,maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,width:0,height:0,x:0,y:0},i=[];r.forEach(function(l){i.push(l.getBBox())}),e.forEach(function(l){i.push(l.getBBox())});for(var a=0,o=i;an.maxX?s.maxX:n.maxX)+t,n.maxY=(s.maxY>n.maxY?s.maxY:n.maxY)+t}return n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.x=n.minX,n.y=n.minY,n}function mJt(r,e,t,n,i,a){function o(d,p){var v=Math.floor((d-p)/a.pixelGroupSize);return v<0?0:v}function s(d,p){return d*a.pixelGroupSize+p}var l=(a.nodeR0-a.nodeR1)*(a.nodeR0-a.nodeR1),u=(a.edgeR0-a.edgeR1)*(a.edgeR0-a.edgeR1),f=function(p,v){var m=Math.min(o(p.minX,v+n.minX),i.width),g=Math.min(o(p.minY,v+n.minY),i.height),x=Math.min(o(p.maxX,-v+n.minX),i.width),b=Math.min(o(p.maxY,-v+n.minY),i.height);return[m,g,x,b]},c=function(p,v){for(var m=p.getBBox(),g=f(m,a.nodeR1),x=g[0],b=g[1],S=g[2],C=g[3],w=b;wl.y?n?u.topLeft:u.bottomRight:n?u.topRight:u.bottomLeft:o.ys.x?n?u.topLeft:u.bottomRight:n?u.bottomLeft:u.topRight:a.x0?this.cfg.padding+e:10+e,this.cfg.bubbleCfg={nodeR0:this.padding-e,nodeR1:this.padding-e,morphBuffer:this.padding-e}},r.prototype.setType=function(){this.type=this.cfg.type,this.members.length<3&&(this.type="round-convex"),this.type!=="round-convex"&&this.type!=="smooth-convex"&&this.type!=="bubble"&&(console.warn("The hull type should be either round-convex, smooth-convex or bubble, round-convex is used by default."),this.type="round-convex")},r.prototype.calcPath=function(e,t){var n,i,a;switch(this.type){case"round-convex":n=KV(e),a=_k(n.map(function(o){return[o.x,o.y]}),this.padding),i=Zf(a);break;case"smooth-convex":n=KV(e),n.length===2?(a=_k(n.map(function(o){return[o.x,o.y]}),this.padding),i=Zf(a)):n.length>2&&(a=XV(n.map(function(o){return[o.x,o.y]}),this.padding),i=bk(a));break;case"bubble":n=vht(e,t,this.cfg.bubbleCfg),i=n.length>=2&&bk(n);break;default:}return i},r.prototype.render=function(){this.group.addShape("path",{attrs:E({path:this.path},this.cfg.style),id:this.id,name:this.cfg.id,capture:!1}),this.group.toBack()},r.prototype.addMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e)),this.members.push(e);var t=this.nonMembers.indexOf(e);return t>-1&&this.nonMembers.splice(t,1),this.updateData(this.members,this.nonMembers),!0}},r.prototype.addNonMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e)),this.nonMembers.push(e);var t=this.members.indexOf(e);return t>-1&&this.members.splice(t,1),this.updateData(this.members,this.nonMembers),!0}},r.prototype.removeMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e));var t=this.members.indexOf(e);return t>-1?(this.members.splice(t,1),this.updateData(this.members,this.nonMembers),!0):!1}},r.prototype.removeNonMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e));var t=this.nonMembers.indexOf(e);return t>-1?(this.nonMembers.splice(t,1),this.updateData(this.members,this.nonMembers),!0):!1}},r.prototype.updateData=function(e,t){var n=this;this.group.findById(this.id).remove(),e&&(this.members=e.map(function(i){return(0,Js.isString)(i)?n.graph.findById(i):i})),t&&(this.nonMembers=t.map(function(i){return(0,Js.isString)(i)?n.graph.findById(i):i})),this.path=this.calcPath(this.members,this.nonMembers),this.render()},r.prototype.updateStyle=function(e){var t=this.group.findById(this.id);t.attr(E({},e))},r.prototype.updateCfg=function(e){var t=this;this.cfg=(0,Js.deepMix)(this.cfg,e),this.id=this.cfg.id,this.group=this.cfg.group,e.members&&(this.members=this.cfg.members.map(function(n){return(0,Js.isString)(n)?t.graph.findById(n):n})),e.nonMembers&&(this.nonMembers=this.cfg.nonMembers.map(function(n){return(0,Js.isString)(n)?t.graph.findById(n):n})),this.setPadding(),this.setType(),this.path=this.calcPath(this.members,this.nonMembers),this.render()},r.prototype.contain=function(e){var t=this,n;(0,Js.isString)(e)?n=this.graph.findById(e):n=e;var i,a=n.getKeyShape();if(n.get("type")==="path")i=xk(a.attr("path"));else{var o=a.getCanvasBBox();i=[[o.minX,o.minY],[o.maxX,o.minY],[o.maxX,o.maxY],[o.minX,o.maxY]]}return i=i.map(function(s){var l=t.graph.getPointByCanvas(s[0],s[1]);return[l.x,l.y]}),mV(i,xk(this.path))},r.prototype.destroy=function(){this.group.remove(),this.cfg=null},r}(),Sk=gJt;var JA=gr.transform,yJt="node",xJt=function(r){H(e,r);function e(t){var n=r.call(this)||this;return n.cfg=(0,Ir.deepMix)(n.getDefaultCfg(),t),n.init(),n.animating=!1,n.destroyed=!1,n.cfg.enabledStack&&(n.undoStack=new S_(n.cfg.maxStep),n.redoStack=new S_(n.cfg.maxStep)),n}return e.prototype.init=function(){this.initCanvas();var t=new RV(this),n=new DV(this),i=new VV(this),a=new HV(this);this.set({viewController:t,modeController:n,itemController:i,stateController:a}),this.initLayoutController(),this.initEventController(),this.initGroups(),this.initPlugins()},e.prototype.initGroups=function(){var t=this.get("canvas");if(!!t){var n=t.get("el"),i=(n||{}).id,a=i===void 0?"g6":i,o=t.addGroup({id:"".concat(a,"-root"),className:qe.rootContainerClassName});if(this.get("groupByTypes")){var s=o.addGroup({id:"".concat(a,"-edge"),className:qe.edgeContainerClassName}),l=o.addGroup({id:"".concat(a,"-node"),className:qe.nodeContainerClassName}),u=o.addGroup({id:"".concat(a,"-combo"),className:qe.comboContainerClassName});u.toBack(),this.set({nodeGroup:l,edgeGroup:s,comboGroup:u})}var f=o.addGroup({id:"".concat(a,"-delegate"),className:qe.delegateContainerClassName});this.set({delegateGroup:f}),this.set("group",o)}},e.prototype.getDefaultCfg=function(){return{container:void 0,width:void 0,height:void 0,renderer:"canvas",modes:{},plugins:[],data:{},fitViewPadding:10,minZoom:.2,maxZoom:10,event:!0,groupByTypes:!0,directed:!1,autoPaint:!0,nodes:[],edges:[],combos:[],vedges:[],itemMap:{},linkCenter:!1,defaultNode:{},defaultEdge:{},nodeStateStyles:{},edgeStateStyles:{},states:{},animate:!1,animateCfg:{onFrame:void 0,duration:500,easing:"easeLinear"},callback:void 0,enabledStack:!1,maxStep:10,tooltips:[]}},e.prototype.set=function(t,n){return(0,Ir.isPlainObject)(t)?this.cfg=E(E({},this.cfg),t):this.cfg[t]=n,this},e.prototype.get=function(t){var n;return(n=this.cfg)===null||n===void 0?void 0:n[t]},e.prototype.getGroup=function(){return this.get("group")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.getMinZoom=function(){return this.get("minZoom")},e.prototype.setMinZoom=function(t){return this.set("minZoom",t)},e.prototype.getMaxZoom=function(){return this.get("maxZoom")},e.prototype.setMaxZoom=function(t){return this.set("maxZoom",t)},e.prototype.getWidth=function(){return this.get("width")},e.prototype.getHeight=function(){return this.get("height")},e.prototype.clearItemStates=function(t,n){(0,Ir.isString)(t)&&(t=this.findById(t));var i=this.get("itemController");n||(n=t.get("states")),i.clearItemStates(t,n);var a=this.get("stateController");a.updateStates(t,n,!1)},e.prototype.node=function(t){typeof t=="function"&&this.set("nodeMapper",t)},e.prototype.edge=function(t){typeof t=="function"&&this.set("edgeMapper",t)},e.prototype.combo=function(t){typeof t=="function"&&this.set("comboMapper",t)},e.prototype.findById=function(t){return this.get("itemMap")[t]},e.prototype.find=function(t,n){var i,a=this.get("".concat(t,"s"));return(0,Ir.each)(a,function(o,s){if(n(o,s))return i=o,i}),i},e.prototype.findAll=function(t,n){var i=[];return(0,Ir.each)(this.get("".concat(t,"s")),function(a,o){n(a,o)&&i.push(a)}),i},e.prototype.findAllByState=function(t,n){return this.findAll(t,function(i){return i.hasState(n)})},e.prototype.getAnimateCfgWithCallback=function(t){var n=t.animateCfg,i=t.callback,a;if(!n)a={duration:500,callback:i};else if(a=(0,Ir.clone)(n),n.callback){var o=n.callback;a.callback=function(){i(),o()}}else a.callback=i;return a},e.prototype.translate=function(t,n,i,a){var o=this,s=this.get("group"),l=(0,Ir.clone)(s.getMatrix());if(l||(l=[1,0,0,0,1,0,0,0,1]),i){var u=this.getAnimateCfgWithCallback({animateCfg:a,callback:function(){return o.emit("viewportchange",{action:"translate",matrix:s.getMatrix()})}});ak(s,{x:s.getCanvasBBox().x+t,y:s.getCanvasBBox().y+n},i,u||{duration:500,easing:"easeCubic"})}else l=JA(l,[["t",t,n]]),s.setMatrix(l),this.emit("viewportchange",{action:"translate",matrix:l}),this.autoPaint()},e.prototype.moveTo=function(t,n,i,a){var o=this.get("group");ak(o,{x:t,y:n},i,a||{duration:500,easing:"easeCubic"}),this.emit("viewportchange",{action:"move",matrix:o.getMatrix()})},e.prototype.fitView=function(t,n){t&&this.set("fitViewPadding",t);var i=this.get("viewController");n?i.fitViewByRules(n):i.fitView(),this.autoPaint()},e.prototype.fitCenter=function(){var t=this.get("viewController");t.fitCenter(),this.autoPaint()},e.prototype.addBehaviors=function(t,n){var i=this.get("modeController");return i.manipulateBehaviors(t,n,!0),this},e.prototype.removeBehaviors=function(t,n){var i=this.get("modeController");return i.manipulateBehaviors(t,n,!1),this},e.prototype.updateBehavior=function(t,n,i){var a=this.get("modeController");return a.updateBehavior(t,n,i),this},e.prototype.zoom=function(t,n,i,a){var o=this,s=this.get("group"),l=(0,Ir.clone)(s.getMatrix()),u=this.get("minZoom"),f=this.get("maxZoom");if(l||(l=[1,0,0,0,1,0,0,0,1]),n?l=JA(l,[["t",-n.x,-n.y],["s",t,t],["t",n.x,n.y]]):l=JA(l,[["s",t,t]]),u&&l[0]f)return!1;if(i){var c=(0,Ir.clone)(s.getMatrix());c||(c=[1,0,0,0,1,0,0,0,1]);var h=c[0],d=h*t,p=this.getAnimateCfgWithCallback({animateCfg:a,callback:function(){return o.emit("viewportchange",{action:"zoom",matrix:s.getMatrix()})}});s.animate(function(v){if(v===1)c=l;else{var m=SV(h,d,v)/c[0];n?c=JA(c,[["t",-n.x,-n.y],["s",m,m],["t",n.x,n.y]]):c=JA(c,[["s",m,m]])}return{matrix:c}},p)}else s.setMatrix(l),this.emit("viewportchange",{action:"zoom",matrix:l}),this.autoPaint();return!0},e.prototype.zoomTo=function(t,n,i,a){var o=t/this.getZoom();return this.zoom(o,n,i,a)},e.prototype.focusItem=function(t,n,i){var a=this.get("viewController"),o=!1;n?o=!0:n===void 0&&(o=this.get("animate"));var s={};i?s=i:i===void 0&&(s=this.get("animateCfg")),a.focus(t,o,s),this.autoPaint()},e.prototype.autoPaint=function(){this.get("autoPaint")&&this.paint()},e.prototype.paint=function(){this.emit("beforepaint"),this.get("canvas").draw(),this.emit("afterpaint")},e.prototype.getPointByClient=function(t,n){var i=this.get("viewController");return i.getPointByClient(t,n)},e.prototype.getClientByPoint=function(t,n){var i=this.get("viewController");return i.getClientByPoint(t,n)},e.prototype.getPointByCanvas=function(t,n){var i=this.get("viewController");return i.getPointByCanvas(t,n)},e.prototype.getCanvasByPoint=function(t,n){var i=this.get("viewController");return i.getCanvasByPoint(t,n)},e.prototype.getGraphCenterPoint=function(){var t=this.get("group").getCanvasBBox();return{x:(t.minX+t.maxX)/2,y:(t.minY+t.maxY)/2}},e.prototype.getViewPortCenterPoint=function(){return this.getPointByCanvas(this.get("width")/2,this.get("height")/2)},e.prototype.showItem=function(t,n){n===void 0&&(n=!0);var i=this.get("itemController"),a=i.changeItemVisibility(t,!0);if(n&&this.get("enabledStack")){var o=a.getID(),s=a.getType(),l={},u={};switch(s){case"node":l.nodes=[{id:o,visible:!1}],u.nodes=[{id:o,visible:!0}];break;case"edge":l.nodes=[{id:o,visible:!1}],u.edges=[{id:o,visible:!0}];break;case"combo":l.nodes=[{id:o,visible:!1}],u.combos=[{id:o,visible:!0}];break;default:break}this.pushStack("visible",{before:l,after:u})}},e.prototype.hideItem=function(t,n){n===void 0&&(n=!0);var i=this.get("itemController"),a=i.changeItemVisibility(t,!1);if(n&&this.get("enabledStack")){var o=a.getID(),s=a.getType(),l={},u={};switch(s){case"node":l.nodes=[{id:o,visible:!0}],u.nodes=[{id:o,visible:!1}];break;case"edge":l.nodes=[{id:o,visible:!0}],u.edges=[{id:o,visible:!1}];break;case"combo":l.nodes=[{id:o,visible:!0}],u.combos=[{id:o,visible:!1}];break;default:break}this.pushStack("visible",{before:l,after:u})}},e.prototype.refreshItem=function(t){var n=this.get("itemController");n.refreshItem(t)},e.prototype.setAutoPaint=function(t){var n=this;n.set("autoPaint",t);var i=n.get("canvas");i.set("autoDraw",t)},e.prototype.remove=function(t,n){n===void 0&&(n=!0),this.removeItem(t,n)},e.prototype.removeItem=function(t,n){n===void 0&&(n=!0);var i=t;if((0,Ir.isString)(t)&&(i=this.findById(t)),!i&&(0,Ir.isString)(t))console.warn("The item to be removed does not exist!");else if(i){var a="";if(i.getType&&(a=i.getType()),n&&this.get("enabledStack")){var o=E(E({},i.getModel()),{itemType:a}),s={};switch(a){case"node":{s.nodes=[o],s.edges=[];for(var l=i.getEdges(),u=l.length-1;u>=0;u--)s.edges.push(E(E({},l[u].getModel()),{itemType:"edge"}));break}case"edge":s.edges=[o];break;case"combo":s.combos=[o];break;default:break}this.pushStack("delete",{before:s,after:{}})}if(a==="node"){var f=i.getModel();f.comboId&&this.updateComboTree(i,void 0,!1)}var c=this.get("itemController");if(c.removeItem(i),a==="combo"){var h=ck(this.get("comboTrees"));this.set("comboTrees",h)}}},e.prototype.addItem=function(t,n,i,a){i===void 0&&(i=!0),a===void 0&&(a=!0);var o=this.get("comboSorted");this.set("comboSorted",o&&!a);var s=this.get("itemController");if(!Kct(t,n))return!1;if(n.id&&this.findById(n.id)){console.warn("This item exists already. Be sure the id %c".concat(n.id,"%c is unique."),"font-size: 20px; color: red;","");return}var l,u=this.get("comboTrees");if(u||(u=[]),t==="combo"){var f=this.get("itemMap"),c=!1;if(u.forEach(function(S){c||Hh(S,function(C){if(n.parentId===C.id){c=!0;var w=E({id:n.id,depth:C.depth+2},n);C.children?C.children.push(w):C.children=[w],n.depth=w.depth,l=s.addItem(t,n)}var A=f[C.id];return c&&A&&A.getType&&A.getType()==="combo"&&s.updateCombo(A,C.children),!0})}),!c){var h=E({id:n.id,depth:0},n);n.depth=h.depth,u.push(h),l=s.addItem(t,n)}this.set("comboTrees",u)}else if(t==="node"&&(0,Ir.isString)(n.comboId)&&u){var d=this.findById(n.comboId);d&&d.getType&&d.getType()!=="combo"&&console.warn("'".concat(n.comboId,"' is not a id of a combo in the graph, the node will be added without combo.")),l=s.addItem(t,n);var p=this.get("itemMap"),v=!1,m=!1;(u||[]).forEach(function(S){m||v||Hh(S,function(C){if(C.id===n.id)return m=!0,!1;if(n.comboId===C.id&&!m){v=!0;var w=(0,Ir.clone)(n);w.itemType="node",C.children?C.children.push(w):C.children=[w],w.depth=C.depth+1}return v&&p[C.id].getType&&p[C.id].getType()==="combo"&&s.updateCombo(p[C.id],C.children),!0})})}else l=s.addItem(t,n);if(t==="node"&&n.comboId||t==="combo"&&n.parentId){var d=this.findById(n.comboId||n.parentId);d&&d.getType&&d.getType()==="combo"&&d.addChild(l)}var g=this.get("combos");if(g&&g.length>0&&this.sortCombos(),this.autoPaint(),i&&this.get("enabledStack")){var x=E(E({},l.getModel()),{itemType:t}),b={};switch(t){case"node":b.nodes=[x];break;case"edge":b.edges=[x];break;case"combo":b.combos=[x];break;default:break}this.pushStack("add",{before:{},after:b})}return l},e.prototype.add=function(t,n,i,a){return i===void 0&&(i=!0),a===void 0&&(a=!0),this.addItem(t,n,i,a)},e.prototype.updateItem=function(t,n,i){var a=this;i===void 0&&(i=!0);var o=this.get("itemController"),s;(0,Ir.isString)(t)?s=this.findById(t):s=t;var l=(0,Ir.clone)(s.getModel()),u="";s.getType&&(u=s.getType());var f=mn([],s.getStates(),!0);if(u==="combo"&&(0,Ir.each)(f,function(p){return a.setItemState(s,p,!1)}),o.updateItem(s,n),u==="combo"&&(0,Ir.each)(f,function(p){return a.setItemState(s,p,!0)}),i&&this.get("enabledStack")){var c={nodes:[],edges:[],combos:[]},h={nodes:[],edges:[],combos:[]},d=E({id:l.id},n);switch(u){case"node":c.nodes.push(l),h.nodes.push(d);break;case"edge":c.edges.push(l),h.edges.push(d);break;case"combo":c.combos.push(l),h.combos.push(d);break;default:break}u==="node"&&c.nodes.push(l),this.pushStack("update",{before:c,after:h})}},e.prototype.update=function(t,n,i){i===void 0&&(i=!0),this.updateItem(t,n,i)},e.prototype.setItemState=function(t,n,i){(0,Ir.isString)(t)&&(t=this.findById(t));var a=this.get("itemController");a.setItemState(t,n,i);var o=this.get("stateController");(0,Ir.isString)(i)?o.updateState(t,"".concat(n,":").concat(i),!0):o.updateState(t,n,i)},e.prototype.priorityState=function(t,n){var i=this.get("itemController");i.priorityState(t,n)},e.prototype.data=function(t){OV(t),this.set("data",t)},e.prototype.render=function(){var t=this;this.set("comboSorted",!1);var n=this.get("data");if(this.get("enabledStack")&&this.clearStack(),!n)throw new Error("data must be defined first");var i=n.nodes,a=i===void 0?[]:i,o=n.edges,s=o===void 0?[]:o,l=n.combos,u=l===void 0?[]:l;if(this.clear(!0),this.emit("beforerender"),(0,Ir.each)(a,function(m){t.add("node",m,!1,!1)}),u&&u.length!==0){var f=fk(u,a);this.set("comboTrees",f),t.addCombos(u)}(0,Ir.each)(s,function(m){t.add("edge",m,!1,!1)});var c=t.get("animate");(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",!1);var h=t.get("layoutController");if(h){if(h.layout(d),this.destroyed)return}else t.get("fitView")&&t.fitView(),t.get("fitCenter")&&t.fitCenter(),t.emit("afterrender"),t.set("animate",c);function d(){t.get("fitView")?t.fitView():t.get("fitCenter")&&t.fitCenter(),t.autoPaint(),t.emit("afterrender"),(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",c)}if(!this.get("groupByTypes"))if(u&&u.length!==0)this.sortCombos();else if(n.nodes&&n.edges&&n.nodes.length=0;d--)c[d].destroyed&&c.splice(d,1);u&&(i.addCombos(u),this.get("groupByTypes")||this.sortCombos()),this.diffItems("edge",l,t.edges),(0,Ir.each)(s,function(v,m){v.getType&&(v.getType()==="node"||v.getType()==="combo")||l.edges.indexOf(v)<0&&(delete s[m],i.remove(v,!1))}),this.set({nodes:l.nodes,edges:l.edges});var p=this.get("layoutController");return p&&(p.changeData(),i.get("animate")&&!p.getLayoutType()?i.positionsAnimate():i.autoPaint()),setTimeout(function(){a.set("localRefresh",o)},16),this},e.prototype.addCombos=function(t){var n=this,i=n.get("comboTrees"),a=this.get("itemController");a.addCombos(i,t)},e.prototype.createCombo=function(t,n){var i=this;this.set("comboSorted",!1);var a="",o;if(!!t){if((0,Ir.isString)(t))a=t,o={id:t};else{if(a=t.id,!a){console.warn("Create combo failed. Please assign a unique string id for the adding combo.");return}o=t}var s=n.map(function(u){var f=i.findById(u),c=f.getModel(),h="";f.getType&&(h=f.getType());var d={id:f.getID(),itemType:h};return h==="combo"?(d.parentId=a,c.parentId=a):h==="node"&&(d.comboId=a,c.comboId=a),d});o.children=s,this.addItem("combo",o,!1),this.set("comboSorted",!1);var l=this.get("comboTrees");(l||[]).forEach(function(u){Hh(u,function(f){return f.id===a?(f.itemType="combo",f.children=s,!1):!0})}),l&&this.sortCombos()}},e.prototype.uncombo=function(t){var n=this,i,a=this,o=t;if((0,Ir.isString)(t)&&(o=this.findById(t)),!o||o.getType&&o.getType()!=="combo"){console.warn("The item is not a combo!");return}var s=o.getModel().parentId,l=a.get("comboTrees");l||(l=[]);var u=this.get("itemMap"),f=o.get("id"),c,h=[],d=this.get("combos"),p=this.findById(s);if(l.forEach(function(m){c||Hh(m,function(g){var x;if(g.id===f){c=g;var b=o.getEdges();b.forEach(function(C){n.removeItem(C,!1)});var S=d.indexOf(o);d.splice(S,1),delete u[f],o.destroy(),n.emit("afterremoveitem",{item:o,type:"combo"})}if(s&&c&&g.id===s){p.removeCombo(o),h=g.children;var S=h.indexOf(c);return S!==-1&&h.splice(S,1),(x=c.children)===null||x===void 0||x.forEach(function(w){var A=n.findById(w.id),I=A.getModel();A.getType&&A.getType()==="combo"?(w.parentId=s,delete w.comboId,I.parentId=s,delete I.comboId):A.getType&&A.getType()==="node"&&(w.comboId=s,I.comboId=s),p.addChild(A),h.push(w)}),!1}return!0})}),!s&&c){var v=l.indexOf(c);l.splice(v,1),(i=c.children)===null||i===void 0||i.forEach(function(m){m.parentId=void 0;var g=n.findById(m.id).getModel();delete g.parentId,delete g.comboId,m.itemType!=="node"&&l.push(m)})}},e.prototype.updateCombos=function(){var t=this,n=this,i=this.get("comboTrees"),a=n.get("itemController"),o=n.get("itemMap");(i||[]).forEach(function(s){Hh(s,function(l){if(!l)return!0;var u=o[l.id];if(u&&u.getType&&u.getType()==="combo"){var f=mn([],u.getStates(),!0);(0,Ir.each)(f,function(c){return t.setItemState(u,c,!1)}),a.updateCombo(u,l.children),(0,Ir.each)(f,function(c){return t.setItemState(u,c,!0)})}return!0})}),n.sortCombos()},e.prototype.updateCombo=function(t){var n=this,i=this,a=t,o;if((0,Ir.isString)(t)&&(a=this.findById(t)),!a||a.getType&&a.getType()!=="combo"){console.warn("The item to be updated is not a combo!");return}o=a.get("id");var s=this.get("comboTrees"),l=i.get("itemController"),u=i.get("itemMap");(s||[]).forEach(function(f){Hh(f,function(c){if(!c)return!0;var h=u[c.id];if(o===c.id&&h&&h.getType&&h.getType()==="combo"){var d=mn([],h.getStates(),!0);(0,Ir.each)(d,function(p){h.getStateStyle(p)&&n.setItemState(h,p,!1)}),l.updateCombo(h,c.children),(0,Ir.each)(d,function(p){h.getStateStyle(p)&&n.setItemState(h,p,!0)}),o&&(o=c.parentId)}return!0})})},e.prototype.updateComboTree=function(t,n,i){i===void 0&&(i=!0);var a=this;this.set("comboSorted",!1);var o;(0,Ir.isString)(t)?o=a.findById(t):o=t;var s=o.getModel(),l=s.comboId||s.parentId,u="";if(o.getType&&(u=o.getType()),n&&u==="combo"){var f=this.get("comboTrees"),c=!0,h;if((f||[]).forEach(function(x){h||Os(x,function(b){if(!h)return b.id===o.getID()&&(h=b),!0})}),Os(h,function(x){return x.id===n?(c=!1,!1):!0}),!c){console.warn("Failed to update the combo tree! The parentId points to a descendant of the combo!");return}}if(i&&this.get("enabledStack")){var d={},p={};u==="combo"?(d.combos=[{id:s.id,parentId:s.parentId}],p.combos=[{id:s.id,parentId:n}]):u==="node"&&(d.nodes=[{id:s.id,parentId:s.comboId}],p.nodes=[{id:s.id,parentId:n}]),this.pushStack("updateComboTree",{before:d,after:p})}if(s.parentId||s.comboId){var v=this.findById(s.parentId||s.comboId);v&&v.removeChild(o)}if(u==="combo"?s.parentId=n:u==="node"&&(s.comboId=n),n){var m=this.findById(n);m&&m.addChild(o)}if(l){var m=this.findById(l);m&&m.removeChild(o)}var g=ck(this.get("comboTrees"),s.id,n);this.set("comboTrees",g),this.updateCombos()},e.prototype.save=function(){var t=[],n=[],i=[];return(0,Ir.each)(this.get("nodes"),function(a){t.push(a.getModel())}),(0,Ir.each)(this.get("edges"),function(a){n.push(a.getModel())}),(0,Ir.each)(this.get("combos"),function(a){i.push(a.getModel())}),{nodes:t,edges:n,combos:i}},e.prototype.changeSize=function(t,n){var i=this.get("viewController");return i.changeSize(t,n),this},e.prototype.refresh=function(){var t=this;if(t.emit("beforegraphrefresh"),t.get("animate"))t.positionsAnimate();else{var n=t.get("nodes"),i=t.get("edges"),a=t.get("edges");(0,Ir.each)(n,function(o){o.refresh()}),(0,Ir.each)(i,function(o){o.refresh()}),(0,Ir.each)(a,function(o){o.refresh()})}t.emit("aftergraphrefresh"),t.autoPaint()},e.prototype.getNodes=function(){return this.get("nodes")},e.prototype.getEdges=function(){return this.get("edges")},e.prototype.getCombos=function(){return this.get("combos")},e.prototype.getComboChildren=function(t){if((0,Ir.isString)(t)&&(t=this.findById(t)),!t||t.getType&&t.getType()!=="combo"){console.warn("The combo does not exist!");return}return t.getChildren()},e.prototype.positionsAnimate=function(){var t=this;t.emit("beforeanimate");var n=t.get("animateCfg"),i=n.onFrame,a=t.getNodes(),o=a.map(function(l){var u=l.getModel();return{id:u.id,x:u.x,y:u.y}});t.isAnimating()&&t.stopAnimate();var s=t.get("canvas");s.animate(function(l){(0,Ir.each)(o,function(u){var f=t.findById(u.id);if(!(!f||f.destroyed)){var c=f.get("originAttrs"),h=f.get("model");if(!c){var d=f.getContainer().getMatrix();d||(d=[1,0,0,0,1,0,0,0,1]),c={x:d[6],y:d[7]},f.set("originAttrs",c)}if(i){var p=i(f,l,u,c);f.set("model",Object.assign(h,p))}else h.x=c.x+(u.x-c.x)*l,h.y=c.y+(u.y-c.y)*l}}),t.refreshPositions()},{duration:n.duration,easing:n.easing,callback:function(){(0,Ir.each)(a,function(u){u.set("originAttrs",null)}),n.callback&&n.callback(),t.emit("afteranimate"),t.animating=!1}})},e.prototype.refreshPositions=function(){var t=this;t.emit("beforegraphrefreshposition");var n=t.get("nodes"),i=t.get("edges"),a=t.get("vedges"),o=t.get("combos"),s,l={};(0,Ir.each)(n,function(u){s=u.getModel();var f=u.get("originAttrs");if(!(f&&s.x===f.x&&s.y===f.y)){var c=u.updatePosition({x:s.x,y:s.y});l[s.id]=c,s.comboId&&(l[s.comboId]=l[s.comboId]||c)}}),o&&o.length!==0&&t.updateCombos(),(0,Ir.each)(i,function(u){var f=u.getSource().getModel(),c=u.getTarget();if(!(0,Ir.isPlainObject)(c)){var h=c.getModel();(l[f.id]||l[h.id]||u.getModel().isComboEdge)&&u.refresh()}}),(0,Ir.each)(a,function(u){u.refresh()}),t.emit("aftergraphrefreshposition"),t.autoPaint()},e.prototype.stopAnimate=function(){this.get("canvas").stopAnimate()},e.prototype.isAnimating=function(){return this.animating},e.prototype.getZoom=function(){var t=this.get("group").getMatrix();return t?t[0]:1},e.prototype.getCurrentMode=function(){var t=this.get("modeController");return t.getMode()},e.prototype.setMode=function(t){var n=this.get("modeController");return n.setMode(t),this},e.prototype.clear=function(t){var n;return t===void 0&&(t=!1),(n=this.get("canvas"))===null||n===void 0||n.clear(),this.initGroups(),this.set({itemMap:{},nodes:[],edges:[],groups:[],combos:[],comboTrees:[]}),t||this.emit("afterrender"),this},e.prototype.updateLayout=function(t,n,i){var a=this,o=this.get("layoutController");if((0,Ir.isString)(t)&&(t={type:t}),n){var s=i;s||(n==="begin"?s={x:0,y:0}:s={x:this.getWidth()/2,y:this.getHeight()/2}),s=this.getPointByCanvas(s.x,s.y);var l=["force","gForce","fruchterman"];l.includes(t.type)||!t.type&&l.includes(o==null?void 0:o.layoutType)?t.center=[s.x,s.y]:this.once("afterlayout",function(c){var h=a.getGroup().getMatrix()||[1,0,0,0,1,0,0,0,1];s.x=s.x*h[0]+h[6],s.y=s.y*h[0]+h[7];var d=a.getGroup().getCanvasBBox(),p=d.minX,v=d.maxX,m=d.minY,g=d.maxY,x={x:(p+v)/2,y:(m+g)/2};n==="begin"&&(x.x=p,x.y=m),a.translate(s.x-x.x,s.y-x.y)})}var u=this.get("layout"),f={};Object.assign(f,u,t),this.set("layout",f),o.isLayoutTypeSame(f)&&f.gpuEnabled===u.gpuEnabled?o.updateLayoutCfg(f):o.changeLayout(f)},e.prototype.destroyLayout=function(){var t=this.get("layoutController");t.destroyLayout()},e.prototype.layout=function(){var t=this.get("layoutController"),n=this.get("layout");if(!(!n||!t)){if(n.workerEnabled){t.layout();return}t.layoutMethod?t.relayout(!0):t.layout()}},e.prototype.collapseCombo=function(t){var n=this;if((0,Ir.isString)(t)&&(t=this.findById(t)),!t){console.warn("The combo to be collapsed does not exist!");return}this.emit("beforecollapseexpandcombo",{action:"expand",item:t});var i=t.getModel(),a=this.get("itemController");a.collapseCombo(t),i.collapsed=!0;var o=this.getEdges().concat(this.get("vedges")),s=[],l=[],u=this.get("comboTrees"),f=!1;(u||[]).forEach(function(d){f||Os(d,function(p){if(f&&p.depth<=i.depth)return!1;if(i.id===p.id&&(f=!0),f){var v=n.findById(p.id);v&&v.getType&&v.getType()==="combo"&&(s=s.concat(v.getNodes()),l=l.concat(v.getCombos()))}return!0})});var c={},h=[];o.forEach(function(d){if(!(d.isVisible()&&!d.getModel().isVEdge)){var p=d.getSource(),v=d.getTarget();if((s.includes(p)||l.includes(p))&&!s.includes(v)&&!l.includes(v)||p.getModel().id===i.id){var m=d.getModel();if(m.isVEdge){n.removeItem(d,!1);return}for(var g=v.getModel();!v.isVisible();){if(v=n.findById(g.parentId||g.comboId),!v||!g.parentId&&!g.comboId)return;g=v.getModel()}var x=g.id;if(c["".concat(i.id,"-").concat(x)]){c["".concat(i.id,"-").concat(x)]+=m.size||1;return}var b=n.addItem("vedge",{source:i.id,target:x,isVEdge:!0},!1);c["".concat(i.id,"-").concat(x)]=m.size||1,h.push(b)}else if(!s.includes(p)&&!l.includes(p)&&(s.includes(v)||l.includes(v))||v.getModel().id===i.id){var m=d.getModel();if(m.isVEdge){n.removeItem(d,!1);return}for(var S=p.getModel();!p.isVisible();){if(p=n.findById(S.parentId||S.comboId),!p||!S.parentId&&!S.comboId)return;S=p.getModel()}var C=S.id;if(c["".concat(C,"-").concat(i.id)]){c["".concat(C,"-").concat(i.id)]+=m.size||1;return}var b=n.addItem("vedge",{target:i.id,source:C,isVEdge:!0},!1);c["".concat(C,"-").concat(i.id)]=m.size||1,h.push(b)}}}),h.forEach(function(d){var p=d.getModel();n.updateItem(d,{size:c["".concat(p.source,"-").concat(p.target)]},!1)}),this.emit("aftercollapseexpandcombo",{action:"collapse",item:t})},e.prototype.expandCombo=function(t){var n=this;if((0,Ir.isString)(t)&&(t=this.findById(t)),!t||t.getType&&t.getType()!=="combo"){console.warn("The combo to be collapsed does not exist!");return}this.emit("beforecollapseexpandcombo",{action:"expand",item:t});var i=t.getModel(),a=this.get("itemController");a.expandCombo(t),i.collapsed=!1;var o=this.getEdges().concat(this.get("vedges")),s=[],l=[],u=this.get("comboTrees"),f=!1;(u||[]).forEach(function(d){f||Os(d,function(p){if(f&&p.depth<=i.depth)return!1;if(i.id===p.id&&(f=!0),f){var v=n.findById(p.id);v&&v.getType&&v.getType()==="combo"&&(s=s.concat(v.getNodes()),l=l.concat(v.getCombos()))}return!0})});var c={},h={};o.forEach(function(d){if(!(d.isVisible()&&!d.getModel().isVEdge)){var p=d.getSource(),v=d.getTarget(),m=p.get("id"),g=v.get("id");if((s.includes(p)||l.includes(p))&&!s.includes(v)&&!l.includes(v)||m===i.id){if(d.getModel().isVEdge){n.removeItem(d,!1);return}for(var x=v.getModel();!v.isVisible();){if(v=n.findById(x.comboId||x.parentId),!v||!x.parentId&&!x.comboId)return;x=v.getModel()}g=x.id;for(var b=p.getModel();!p.isVisible();){if(p=n.findById(b.comboId||b.parentId),!p||!b.parentId&&!b.comboId)return;if(b.comboId===i.id||b.parentId===i.id)break;b=p.getModel()}if(m=b.id,g){var S="".concat(m,"-").concat(g);if(c[S]){c[S]+=d.getModel().size||1,n.updateItem(h[S],{size:c[S]},!1);return}var C=n.addItem("vedge",{source:m,target:g,isVEdge:!0},!1);c[S]=d.getModel().size||1,h[S]=C}}else if(!s.includes(p)&&!l.includes(p)&&(s.includes(v)||l.includes(v))||g===i.id){if(d.getModel().isVEdge){n.removeItem(d,!1);return}for(var b=p.getModel();!p.isVisible();){if(p=n.findById(b.comboId||b.parentId),!p||!b.parentId&&!b.comboId)return;b=p.getModel()}m=b.id;for(var x=v.getModel();!v.isVisible();){if(v=n.findById(x.comboId||x.parentId),!v||!x.parentId&&!x.comboId)return;if(x.comboId===i.id||x.parentId===i.id)break;x=v.getModel()}if(g=x.id,m){var S="".concat(m,"-").concat(g);if(c[S]){c[S]+=d.getModel().size||1,n.updateItem(h[S],{size:c[S]},!1);return}var C=n.addItem("vedge",{target:g,source:m,isVEdge:!0},!1);c[S]=d.getModel().size||1,h[S]=C}}else(s.includes(p)||l.includes(p))&&(s.includes(v)||l.includes(v))&&p.isVisible()&&v.isVisible()&&d.show()}}),this.emit("aftercollapseexpandcombo",{action:"expand",item:t})},e.prototype.collapseExpandCombo=function(t){if((0,Ir.isString)(t)&&(t=this.findById(t)),!(!t||t.getType&&t.getType()!=="combo")){for(var n=t.getModel(),i=this.findById(n.parentId);i;){var a=i.getModel();if(a.collapsed){console.warn("Fail to expand the combo since it's ancestor combo is collapsed."),i=void 0;return}i=this.findById(a.parentId)}var o=n.collapsed;o?this.expandCombo(t):this.collapseCombo(t),this.updateCombo(t)}},e.prototype.sortCombos=function(){var t=this,n=this.get("comboSorted");if(!n){this.set("comboSorted",!0);var i=[],a={},o=this.get("comboTrees");(o||[]).forEach(function(l){Os(l,function(u){return i[u.depth]?i[u.depth].push(u.id):i[u.depth]=[u.id],a[u.id]=u.depth,!0})});var s=this.getEdges().concat(this.get("vedges"));(s||[]).forEach(function(l){var u=l.getModel(),f=a[u.source]||0,c=a[u.target]||0,h=Math.max(f,c);i[h]?i[h].push(u.id):i[h]=[u.id]}),i.forEach(function(l){if(!(!l||!l.length))for(var u=l.length-1;u>=0;u--){var f=t.findById(l[u]);f&&f.toFront()}})}},e.prototype.getNeighbors=function(t,n){var i=t;return(0,Ir.isString)(t)&&(i=this.findById(t)),i.getNeighbors(n)},e.prototype.getNodeDegree=function(t,n,i){n===void 0&&(n=void 0),i===void 0&&(i=!1);var a=t;(0,Ir.isString)(t)&&(a=this.findById(t));var o=this.get("degrees");(!o||i)&&(o=Fp(this.save()),this.set("degrees",o));var s=o[a.getID()],l=0;if(!s)return 0;switch(n){case"in":l=s.inDegree;break;case"out":l=s.outDegree;break;case"all":l=s;break;default:l=s.degree;break}return l},e.prototype.getUndoStack=function(){return this.undoStack},e.prototype.getRedoStack=function(){return this.redoStack},e.prototype.getStackData=function(){return this.get("enabledStack")?{undoStack:this.undoStack.toArray(),redoStack:this.redoStack.toArray()}:null},e.prototype.clearStack=function(){this.get("enabledStack")&&(this.undoStack.clear(),this.redoStack.clear())},e.prototype.pushStack=function(t,n,i){if(t===void 0&&(t="update"),i===void 0&&(i="undo"),!this.get("enabledStack")){console.warn("\u8BF7\u5148\u542F\u7528 undo & redo \u529F\u80FD\uFF0C\u5728\u5B9E\u4F8B\u5316 Graph \u65F6\u5019\u914D\u7F6E enabledStack: true !");return}var a=n?(0,Ir.clone)(n):{before:{},after:(0,Ir.clone)(this.save())};i==="redo"?this.redoStack.push({action:t,data:a}):this.undoStack.push({action:t,data:a}),this.emit("stackchange",{undoStack:this.undoStack,redoStack:this.redoStack})},e.prototype.getAdjMatrix=function(t,n){t===void 0&&(t=!0),n===void 0&&(n=this.get("directed"));var i=this.get("adjMatrix");return(!i||!t)&&(i=hf(this.save(),n),this.set("adjMatrix",i)),i},e.prototype.getShortestPathMatrix=function(t,n){t===void 0&&(t=!0),n===void 0&&(n=this.get("directed"));var i=this.get("adjMatrix"),a=this.get("shortestPathMatrix");return(!i||!t)&&(i=hf(this.save(),n),this.set("adjMatrix",i)),(!a||!t)&&(a=sg(this.save(),n),this.set("shortestPathMatrix",a)),a},e.prototype.on=function(t,n,i){return r.prototype.on.call(this,t,n,i)},e.prototype.destroy=function(){var t,n,i,a,o;this.clear(),this.clearStack(),(t=this.get("itemController"))===null||t===void 0||t.destroy(),(n=this.get("modeController"))===null||n===void 0||n.destroy(),(i=this.get("viewController"))===null||i===void 0||i.destroy(),(a=this.get("stateController"))===null||a===void 0||a.destroy(),(o=this.get("canvas"))===null||o===void 0||o.destroy(),this.cfg=null,this.destroyed=!0,this.redoStack=null,this.undoStack=null},e.prototype.createHull=function(t){if(!t.members||t.members.length<1){console.warn("Create hull failed! The members is empty.");return}var n=this.get("hullGroup"),i=this.get("hullMap");if(i||(i={},this.set("hullMap",i)),(!n||n.get("destroyed"))&&(n=this.get("group").addGroup({id:"hullGroup"}),n.toBack(),this.set("hullGroup",n)),i[t.id])return console.warn("Existed hull id."),i[t.id];var a=n.addGroup({id:"".concat(t.id,"-container")}),o=new Sk(this,E(E({},t),{group:a})),s=o.id;return i[s]=o,o},e.prototype.getHulls=function(){return this.get("hullMap")},e.prototype.getHullById=function(t){return this.get("hullMap")[t]},e.prototype.removeHull=function(t){var n,i;(0,Ir.isString)(t)?i=this.getHullById(t):i=t,(n=this.get("hullMap"))===null||n===void 0||delete n[i.id],i.destroy()},e.prototype.removeHulls=function(){var t=this.getHulls();!t||!Object.keys(t).length||(Object.keys(t).forEach(function(n){var i=t[n];i.destroy()}),this.set("hullMap",{}))},e}(Wv),Ck=xJt;var dg=U(q());var na=U(q());function ZV(r){return ZV=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ZV(r)}var L_=gr.transform,ght="-shape",$V="-label",wk=["startArrow","endArrow"],yht={lineWidth:1,stroke:void 0,fill:void 0,lineAppendWidth:1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,x:0,y:0,r:10,width:20,height:20,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},bJt={lineWidth:1,stroke:"#000",lineDash:void 0,startArrow:!1,endArrow:!1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},Ek={edge:bJt,node:yht,combo:yht},Ak="-label-bg",O_={options:{labelCfg:{style:{fontFamily:qe.windowFontFamily}},descriptionCfg:{style:{fontFamily:qe.windowFontFamily}}},itemType:"",type:"",getCustomConfig:function(e){return{}},getOptions:function(e,t){return t==="move"||(t==null?void 0:t.includes("bbox"))?{}:(0,na.deepMix)({},this.options,this.getCustomConfig(e)||{},e)},draw:function(e,t){t.shapeMap={},this.mergeStyle=this.getOptions(e);var n=this.drawShape(e,t);if(n.set("className",this.itemType+ght),t.shapeMap[this.itemType+ght]=n,e.label){var i=this.drawLabel(e,t);i.set("className",this.itemType+$V),t.shapeMap[this.itemType+$V]=i}return n},afterDraw:function(e,t,n){},drawShape:function(e,t){return null},drawLabel:function(e,t){var n=(this.mergeStyle||this.getOptions(e)||{}).labelCfg,i=n||{},a=this.getLabelStyle(e,i,t),o=a.rotate;delete a.rotate;var s=t.addShape("text",{attrs:a,draggable:!0,className:"text-shape",name:"text-shape",labelRelated:!0});if(t.shapeMap["text-shape"]=s,!isNaN(o)&&o!==""){var l=s.getBBox(),u=[1,0,0,0,1,0,0,0,1];if(a.rotateCenter)switch(a.rotateCenter){case"center":u=L_(u,[["t",-l.width/2,-l.height/2],["r",o],["t",l.width/2,l.height/2]]);break;case"lefttop":u=L_(u,[["t",-a.x,-a.y],["r",o],["t",a.x,a.y]]);break;case"leftcenter":u=L_(u,[["t",-a.x,-a.y-l.height/2],["r",o],["t",a.x,a.y+l.height/2]]);break;default:u=L_(u,[["t",-l.width/2,-l.height/2],["r",o],["t",l.width/2,l.height/2]]);break}else u=L_(u,[["t",-a.x,-a.y-l.height/2],["r",o],["t",a.x,a.y+l.height/2]]);s.setMatrix(u)}if(a.background){var f=this.drawLabelBg(e,t,s),c=this.itemType+Ak;f.set("classname",c),t.shapeMap[c]=f,s.toFront()}return s},drawLabelBg:function(e,t,n){var i=this.options.labelCfg,a=(0,na.mix)({},i,e.labelCfg),o=this.getLabelBgStyleByPosition(n,a),s=t.addShape("rect",{name:"text-bg-shape",attrs:o,labelRelated:!0});return t.shapeMap["text-bg-shape"]=s,s},getLabelStyleByPosition:function(e,t,n){return{text:e.label}},getLabelBgStyleByPosition:function(e,t){return{}},getLabelStyle:function(e,t,n){var i=this.getLabelStyleByPosition(e,t,n),a="".concat(this.itemType,"Label"),o=qe[a]?qe[a].style:null;return E(E(E({},o),i),t.style)},getShapeStyle:function(e){return e.style},update:function(e,t,n){this.updateShapeStyle(e,t,n),this.updateLabel(e,t,n)},updateShapeStyle:function(e,t,n){var i,a=t.getContainer(),o=t.getKeyShape(),s=(0,na.mix)({},o.attr(),e.style),l=function(c){var h,d=s[c];if((0,na.isPlainObject)(d)){var p=((i=a.shapeMap)===null||i===void 0?void 0:i[c])||a.find(function(v){return v.get("name")===c});p==null||p.attr(d)}else o.attr((h={},h[c]=d,h))};for(var u in s)l(u)},updateLabel:function(e,t,n){var i,a;if(e.label||e.label===""){var o=t.getContainer(),s=(this.mergeStyle||this.getOptions({},n)||{}).labelCfg,l=s===void 0?{}:s,u=this.itemType+$V,f=o.shapeMap[u]||o.find(function(S){return S.get("className")===u}),c=this.itemType+Ak,h=o.shapeMap[c]||o.find(function(S){return S.get("className")===c});if(f){(!n||n==="bbox|label"||this.itemType==="edge"&&n!=="style")&&(l=(0,na.deepMix)(l,e.labelCfg));var p=this.getLabelStyleByPosition(e,l,o),v=(i=e.labelCfg)===null||i===void 0?void 0:i.style,m=E(E({},p),v),g=m.rotate;if(delete m.rotate,!isNaN(g)&&g!==""){var x=[1,0,0,0,1,0,0,0,1];x=L_(x,[["t",-m.x,-m.y],["r",g],["t",m.x,m.y]]),m.matrix=x,f.attr(m)}else((a=f.getMatrix())===null||a===void 0?void 0:a[4])!==1&&f.resetMatrix(),f.attr(m);if(!h)m.background&&(h=this.drawLabelBg(e,o,f),h.set("classname",c),o.shapeMap[c]=h,f.toFront());else if(m.background){var b=this.getLabelBgStyleByPosition(f,l);h.attr(b)}else o.removeChild(h)}else{var d=this.drawLabel(e,o);d.set("className",u),o.shapeMap[u]=d}}},afterUpdate:function(e,t){},setState:function(e,t,n){var i,a,o,s=n.get("keyShape");if(!(!s||s.destroyed)){var l=n.getType(),u=(0,na.isBoolean)(t)?e:"".concat(e,":").concat(t),f=this.getStateStyle(u,n),c=n.getStateStyle(u);if(!(!c&&!f)){var h=(0,na.mix)({},c||f),d=n.getContainer(),p={x:1,y:1,cx:1,cy:1,matrix:1};if(l==="combo"&&(p.r=1,p.width=1,p.height=1),t){var v=function(D){var N,z=h[D];if((0,na.isPlainObject)(z)&&!wk.includes(D)){var j=((o=d.shapeMap)===null||o===void 0?void 0:o[D])||d.find(function(W){return W.get("name")===D});j==null||j.attr(z)}else s.attr((N={},N[D]=z,N))};for(var m in h)v(m)}else{var g=HA(n.getCurrentStatesStyle()),x=n.getModel(),b=(0,na.mix)({},x.style,HA(n.getOriginStyle())),S=s.get("name"),C=s.attr(),w={};Object.keys(C).forEach(function(G){if(G!=="img"){var D=C[G];D&&ZV(D)==="object"?w[G]=(0,na.clone)(D):w[G]=D}});var A={},I=function(D){var N=h[D];if((0,na.isPlainObject)(N)&&!wk.includes(D)){var z=d.shapeMap[D]||d.find(function(J){return J.get("name")===D});if(z){var j=HA(z.attr());(0,na.each)(N,function(J,et){if(D===S&&w[et]&&!p[et]){delete w[et];var lt=b[D][et]||Ek[l][et];s.attr(et,lt)}else if(j[et]||j[et]===0){delete j[et];var $=b[D][et]||Ek[l][et];z.attr(et,$)}}),A[D]=j}}else if(w[D]&&!p[D]){delete w[D];var W=b[D]||(b[S]?b[S][D]:void 0)||Ek[l][D];s.attr(D,W)}};for(var P in h)I(P);S?A[S]=w:(0,na.mix)(A,w);for(var m in g)if(!p[m]){var L=g[m];(!(0,na.isPlainObject)(L)||wk.includes(m))&&(S?((0,na.mix)(b[S],(a={},a[m]=L,a)),delete b[m]):(0,na.mix)(b,(i={},i[m]=L,i)),delete g[m])}var M={};(0,na.deepMix)(M,b,A,g);var O=!1,F=function(D){var N,z,j=M[D];if((0,na.isPlainObject)(j)&&!wk.includes(D)){var W=d.shapeMap[D]||d.find(function(et){return et.get("name")===D});W&&((W.get("type")==="text"||W.get("labelRelated"))&&(delete j.x,delete j.y,delete j.matrix),D===S&&(l==="combo"&&(delete j.r,delete j.width,delete j.height),O=!0),W.attr(j))}else if(!O){var J=j||Ek[l][D];l==="combo"?S||s.attr((N={},N[D]=J,N)):s.attr((z={},z[D]=J,z))}};for(var k in M)F(k)}}}},getStateStyle:function(e,t){var n=t.getModel(),i=t.getType(),a=this.getOptions(n),o=a.stateStyles,s=a.style,l=s===void 0?{}:s,u=n.stateStyles?n.stateStyles[e]:o&&o[e];return i==="combo"?(0,na.clone)(u):(0,na.mix)({},l,u)},getControlPoints:function(e){return e.controlPoints},getAnchorPoints:function(e){var t,n,i=(e==null?void 0:e.anchorPoints)||((t=this.getCustomConfig(e))===null||t===void 0?void 0:t.anchorPoints)||((n=this.options)===null||n===void 0?void 0:n.anchorPoints);return i}};var _Jt={itemType:"node",shapeType:"single-node",labelPosition:"center",offset:qe.nodeLabel.offset,getSize:function(e){var t,n=((t=this.mergeStyle)===null||t===void 0?void 0:t.size)||e.size||this.getOptions({}).size||qe.defaultNode.size;return(0,dg.isArray)(n)&&n.length===1&&(n=[n[0],n[0]]),(0,dg.isArray)(n)||(n=[n,n]),n},getLabelStyleByPosition:function(e,t){var n=t.position||this.labelPosition;if(n==="center")return{x:0,y:0,text:e.label};var i=t.offset;(0,dg.isNil)(i)&&(i=this.offset);var a=this.getSize(e),o;switch(n){case"top":o={x:0,y:-a[1]/2-i,textBaseline:"bottom"};break;case"bottom":o={x:0,y:a[1]/2+i,textBaseline:"top"};break;case"left":o={x:-a[0]/2-i,y:0,textAlign:"right"};break;default:o={x:a[0]/2+i,y:0,textAlign:"left"};break}return o.text=e.label,o},getLabelBgStyleByPosition:function(e,t){var n;if(!e)return{};var i=(n=t.style)===null||n===void 0?void 0:n.background;if(!i)return{};var a=e.getBBox(),o=YA(i.padding),s=a.width+o[1]+o[3],l=a.height+o[0]+o[2];return E(E({x:a.minX-o[3],y:a.minY-o[0]},i),{width:s,height:l})},drawShape:function(e,t){var n=this.shapeType,i=this.getShapeStyle(e),a=t.addShape(n,{attrs:i,draggable:!0,name:"node-shape"});return t.shapeMap["node-shape"]=a,a},updateLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=t.shapeMap["link-point-left"]||t.find(function(M){return M.get("className")==="link-point-left"}),a=t.shapeMap["link-point-right"]||t.find(function(M){return M.get("className")==="link-point-right"}),o=t.shapeMap["link-point-top"]||t.find(function(M){return M.get("className")==="link-point-top"}),s=t.shapeMap["link-point-bottom"]||t.find(function(M){return M.get("className")==="link-point-bottom"}),l;i&&(l=i.attr()),a&&!l&&(l=a.attr()),o&&!l&&(l=o.attr()),s&&!l&&(l=s.attr()),l||(l=n);var u=(0,dg.mix)({},l,e.linkPoints),f=u.fill,c=u.stroke,h=u.lineWidth,d=u.size/2;d||(d=u.r);var p=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},v=p.left,m=p.right,g=p.top,x=p.bottom,b=this.getSize(e),S=b[0],C=b[1],w={r:d,fill:f,stroke:c,lineWidth:h};if(i)!v&&v!==void 0?(i.remove(),delete t.shapeMap["link-point-left"]):i.attr(E(E({},w),{x:-S/2,y:0}));else if(v){var A="link-point-left";t.shapeMap[A]=t.addShape("circle",{attrs:E(E({},w),{x:-S/2,y:0}),className:A,name:A,isAnchorPoint:!0})}if(a)!m&&m!==void 0&&(a.remove(),delete t.shapeMap["link-point-right"]),a.attr(E(E({},w),{x:S/2,y:0}));else if(m){var I="link-point-right";t.shapeMap[I]=t.addShape("circle",{attrs:E(E({},w),{x:S/2,y:0}),className:I,name:I,isAnchorPoint:!0})}if(o)!g&&g!==void 0&&(o.remove(),delete t.shapeMap["link-point-top"]),o.attr(E(E({},w),{x:0,y:-C/2}));else if(g){var P="link-point-top";t.shapeMap[P]=t.addShape("circle",{attrs:E(E({},w),{x:0,y:-C/2}),className:P,name:P,isAnchorPoint:!0})}if(s)!x&&x!==void 0?(s.remove(),delete t.shapeMap["link-point-bottom"]):s.attr(E(E({},w),{x:0,y:C/2}));else if(x){var L="link-point-bottom";t.shapeMap[L]=t.addShape("circle",{attrs:E(E({},w),{x:0,y:C/2}),className:L,name:L,isAnchorPoint:!0})}},updateShape:function(e,t,n,i,a){var o=t.get("keyShape");o.attr(E({},n)),this.updateLabel(e,t,a),i&&this.updateIcon(e,t)},updateIcon:function(e,t){var n=this,i=t.getContainer(),a=(this.mergeStyle||this.getOptions(e)).icon,o=e.icon?e.icon:{show:void 0,text:void 0},s=o.show,l=o.text,u=i.shapeMap["".concat(this.type,"-icon")]||i.find(function(g){return g.get("name")==="".concat(n.type,"-icon")});if(u)if(s||s===void 0){var f=(0,dg.mix)({},u.attr(),a),c=f.width,h=c===void 0?20:c,d=f.height,p=d===void 0?20:d;(f.fontFamily==="iconfont"||f.hasOwnProperty("text"))&&(h=0,p=0),u.attr(E(E({},f),{x:-h/2,y:-p/2}))}else u.remove();else if(s){var v="".concat(this.type,"-icon");if(l)i.shapeMap[v]=i.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},a),className:v,name:v});else{var h=a.width,p=a.height;i.shapeMap[v]=i.addShape("image",{attrs:E(E({},a),{x:-h/2,y:-p/2}),className:v,name:v})}var m=i.shapeMap["node-label"]||i.find(function(g){return g.get("name")==="node-label"});m&&m.toFront()}}},SJt=E(E({},O_),_Jt);zi.registerNode("single-node",SJt);var fa=U(q());var Mk="edge-shape";function CJt(r){var e=r;return r==="start"?e="end":r==="end"&&(e="start"),e}var wJt={itemType:"edge",labelPosition:"center",refX:0,refY:0,labelAutoRotate:!1,options:{size:qe.defaultEdge.size,style:{x:0,y:0,stroke:qe.defaultEdge.style.stroke,lineAppendWidth:qe.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:qe.edgeLabel.style.fill,fontSize:qe.edgeLabel.style.fontSize,fontFamily:qe.windowFontFamily}},stateStyles:E({},qe.edgeStateStyles)},getPath:function(e){var t=[];return(0,fa.each)(e,function(n,i){i===0?t.push(["M",n.x,n.y]):t.push(["L",n.x,n.y])}),t},getShapeStyle:function(e){var t=this.options.style,n={stroke:e.color},i=(0,fa.mix)({},t,n,e.style),a=e.size||qe.defaultEdge.size;e=this.getPathPoints(e);var o=e.startPoint,s=e.endPoint,l=this.getControlPoints(e),u=[o];l&&(u=u.concat(l)),u.push(s);var f=this.getPath(u),c=(0,fa.mix)({},qe.defaultEdge.style,{stroke:qe.defaultEdge.color,lineWidth:a,path:f},i);return c},updateShapeStyle:function(e,t,n){var i,a=t.getContainer(),o=((i=t.getKeyShape)===null||i===void 0?void 0:i.call(t))||a.shapeMap["edge-shape"],s=e.size;e=this.getPathPoints(e);var l=e.startPoint,u=e.endPoint,f=this.getControlPoints(e),c=[l];f&&(c=c.concat(f)),c.push(u);var h=o.attr(),d=e.style||{};d.stroke===void 0&&(d.stroke=e.color);var p=e.sourceNode,v=e.targetNode,m={radius:d.radius};f||(m={source:p,target:v,offset:d.offset,radius:d.radius});var g=this.getPath(c,m),x={};n==="move"?x={path:g}:(h.endArrow&&d.endArrow===!1&&(e.style.endArrow={path:""}),h.startArrow&&d.startArrow===!1&&(e.style.startArrow={path:""}),x=E({},e.style),x.lineWidth===void 0&&(x.lineWdith=((0,fa.isNumber)(s)?s:s==null?void 0:s[0])||h.lineWidth),x.path===void 0&&(x.path=g),x.stroke===void 0&&(x.stroke=h.stroke||e.color)),o&&o.attr(x)},getLabelStyleByPosition:function(e,t,n){var i=t.position||this.labelPosition,a={},o=n==null?void 0:n.shapeMap[Mk],s;i==="start"?s=0:i==="end"?s=1:s=.5;var l=t.refX||this.refX,u=t.refY||this.refY;if(e.startPoint.x===e.endPoint.x&&e.startPoint.y===e.endPoint.y)return a.x=e.startPoint.x+l,a.y=e.startPoint.y+u,a.text=e.label,a;var f;(0,fa.isNil)(t.autoRotate)?f=this.labelAutoRotate:f=t.autoRotate;var c=TV(o,s,l,u,f);return a.x=c.x,a.y=c.y,a.rotate=c.rotate,a.textAlign=this._getTextAlign(i,c.angle),a.text=e.label,a},getLabelBgStyleByPosition:function(e,t){if(!e)return{};var n=e.getBBox(),i=t.style&&t.style.background;if(!i)return{};var a=i.padding,o=n.width+a[1]+a[3],s=n.height+a[0]+a[2],l=E(E({},i),{width:o,height:s,x:n.minX-a[3],y:n.minY-a[0],matrix:[1,0,0,0,1,0,0,0,1]}),u;return(0,fa.isNil)(t.autoRotate)?u=this.labelAutoRotate:u=t.autoRotate,u&&(l.matrix=e.attr("matrix")||[1,0,0,0,1,0,0,0,1]),l},_getTextAlign:function(e,t){var n="center";return t?(t=t%(Math.PI*2),e!=="center"&&(t>=0&&t<=Math.PI/2||t>=3/2*Math.PI&&t<2*Math.PI?n=e:n=CJt(e)),n):e},getControlPoints:function(e){return e.controlPoints},getPathPoints:function(e){return e},drawShape:function(e,t){var n=this.getShapeStyle(e),i=t.addShape("path",{className:Mk,name:Mk,attrs:n});return t.shapeMap[Mk]=i,i},drawLabel:function(e,t){var n=this.options.labelCfg,i=(0,fa.deepMix)({},n,e.labelCfg),a=this.getLabelStyle(e,i,t),o=a.rotate;delete a.rotate;var s=t.addShape("text",{attrs:a,name:"text-shape",labelRelated:!0});if(t.shapeMap["text-shape"]=s,!isNaN(o)&&o!==""&&s.rotateAtStart(o),a.background){var l=this.drawLabelBg(e,t,s,a,o),u=this.itemType+Ak;l.set("classname",u),t.shapeMap[u]=l,s.toFront()}return s},drawLabelBg:function(e,t,n,i,a){var o=this.options.labelCfg,s=(0,fa.deepMix)({},o,e.labelCfg),l=this.getLabelBgStyleByPosition(n,s),u=t.addShape("rect",{name:"text-bg-shape",attrs:l,labelRelated:!0});return t.shapeMap["text-bg-shape"]=u,u}},EJt=E(E({},O_),wJt);zi.registerEdge("single-edge",EJt);zi.registerEdge("line",{getControlPoints:function(){}},"single-edge");zi.registerEdge("spline",{getPath:function(e){var t=YV(e);return t}},"single-edge");zi.registerEdge("arc",{curveOffset:20,clockwise:1,getControlPoints:function(e){var t=e.startPoint,n=e.endPoint,i={x:(t.x+n.x)/2,y:(t.y+n.y)/2},a,o;if(e.controlPoints!==void 0){if(o=e.controlPoints[0],a=ik(t,o,n),t.x<=n.x&&t.y>n.y?this.clockwise=a.x>o.x?0:1:t.x<=n.x&&t.yo.x?1:0:t.x>n.x&&t.y<=n.y?this.clockwise=a.y1?n+"_"+v:""+n},m[t]=t?c[t]:String(h),m[n]=p,m))}),s.push((d={tKey:""+a},d[t]=t?c[t]:String(h),d[a]=c[a],d)),l.push(c[i],c[n],c[a])});var u=Math.min.apply(Math,l.flat(1/0)),f=Math.max.apply(Math,l.flat(1/0));return u=u>0?0:u,o==="vertical"&&s.reverse(),{min:u,max:f,ds:s}}function bqt(r){var e=r.chart,t=r.options,n=t.bulletStyle,i=t.targetField,a=t.rangeField,o=t.measureField,s=t.xField,l=t.color,u=t.layout,f=t.size,c=t.label,h=yP(t),d=h.min,p=h.max,v=h.ds;e.data(v);var m=mt({},r,{options:{xField:s,yField:a,seriesField:"rKey",isStack:!0,label:(0,uo.get)(c,"range"),interval:{color:(0,uo.get)(l,"range"),style:(0,uo.get)(n,"range"),size:(0,uo.get)(f,"range")}}});gi(m),e.geometries[0].tooltip(!1);var g=mt({},r,{options:{xField:s,yField:o,seriesField:"mKey",isStack:!0,label:(0,uo.get)(c,"measure"),interval:{color:(0,uo.get)(l,"measure"),style:(0,uo.get)(n,"measure"),size:(0,uo.get)(f,"measure")}}});gi(g);var x=mt({},r,{options:{xField:s,yField:i,seriesField:"tKey",label:(0,uo.get)(c,"target"),point:{color:(0,uo.get)(l,"target"),style:(0,uo.get)(n,"target"),size:(0,uo.isFunction)((0,uo.get)(f,"target"))?function(b){return(0,uo.get)(f,"target")(b)/2}:(0,uo.get)(f,"target")/2,shape:u==="horizontal"?"line":"hyphen"}}});return Gi(x),u==="horizontal"&&e.coordinate().transpose(),E(E({},r),{ext:{data:{min:d,max:p}}})}function xW(r){var e,t,n=r.options,i=r.ext,a=n.xAxis,o=n.yAxis,s=n.targetField,l=n.rangeField,u=n.measureField,f=n.xField,c=i.data;return Fe(un((e={},e[f]=a,e[u]=o,e),(t={},t[u]={min:c==null?void 0:c.min,max:c==null?void 0:c.max,sync:!0},t[s]={sync:""+u},t[l]={sync:""+u},t)))(r)}function _qt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.measureField,s=t.rangeField,l=t.targetField;return e.axis(""+s,!1),e.axis(""+l,!1),n===!1?e.axis(""+a,!1):e.axis(""+a,n),i===!1?e.axis(""+o,!1):e.axis(""+o,i),r}function Sqt(r){var e=r.chart,t=r.options,n=t.legend;return e.removeInteraction("legend-filter"),e.legend(n),e.legend("rKey",!1),e.legend("mKey",!1),e.legend("tKey",!1),r}function Cqt(r){var e=r.chart,t=r.options,n=t.label,i=t.measureField,a=t.targetField,o=t.rangeField,s=e.geometries,l=s[0],u=s[1],f=s[2];return(0,uo.get)(n,"range")?l.label(""+o,E({layout:[{type:"limit-in-plot"}]},Kn(n.range))):l.label(!1),(0,uo.get)(n,"measure")?u.label(""+i,E({layout:[{type:"limit-in-plot"}]},Kn(n.measure))):u.label(!1),(0,uo.get)(n,"target")?f.label(""+a,E({layout:[{type:"limit-in-plot"}]},Kn(n.target))):f.label(!1),r}function Fut(r){Fe(bqt,xW,_qt,Sqt,lr,Cqt,wn,kr,Sr)(r)}var But=mt({},ke.getDefaultOptions(),{layout:"horizontal",size:{range:30,measure:20,target:20},xAxis:{tickLine:!1,line:null},bulletStyle:{range:{fillOpacity:.5}},label:{measure:{position:"right"}},tooltip:{showMarkers:!1}});var bW=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="bullet",t}return e.getDefaultOptions=function(){return But},e.prototype.changeData=function(t){this.updateOption({data:t});var n=yP(this.options),i=n.min,a=n.max,o=n.ds;xW({options:this.options,ext:{data:{min:i,max:a}},chart:this.chart}),this.chart.changeData(o)},e.prototype.getSchemaAdaptor=function(){return Fut},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var tg=z(q()),_W="nodeIndex",SW="childNodeCount",DA="nodeAncestor",CW="Invalid field: it must be a string!";function n_(r,e){var t=r.field,n=r.fields;if((0,tg.isString)(t))return t;if((0,tg.isArray)(t))return console.warn(CW),t[0];if(console.warn(CW+" will try to get fields instead."),(0,tg.isString)(n))return n;if((0,tg.isArray)(n)&&n.length)return n[0];if(e)return e;throw new TypeError(CW)}function i_(r){var e=[];if(r&&r.each){var t,n;r.each(function(i){var a,o;i.parent!==t?(t=i.parent,n=0):n+=1;var s=(0,tg.filter)((((a=i.ancestors)===null||a===void 0?void 0:a.call(i))||[]).map(function(l){return e.find(function(u){return u.name===l.name})||l}),function(l){var u=l.depth;return u>0&&u1?(this.historyCache=t,this.drawBreadCrumb()):(this.historyCache=[],this.hideCrumbGroup())}},e.prototype.getButtonCfg=function(){var t=this.context.view,n=(0,lf.get)(t,["interactions","drill-down","cfg","drillDownConfig"]);return mt(this.breadCrumbCfg,n==null?void 0:n.breadCrumb,this.cfg)},e.prototype.drawBreadCrumb=function(){this.drawBreadCrumbGroup(),this.resetPosition(),this.breadCrumbGroup.show()},e.prototype.drawBreadCrumbGroup=function(){var t=this,n=this.getButtonCfg(),i=this.historyCache;this.breadCrumbGroup?this.breadCrumbGroup.clear():this.breadCrumbGroup=this.context.view.foregroundGroup.addGroup({name:Wut});var a=0;i.forEach(function(o,s){var l=t.breadCrumbGroup.addShape({type:"text",id:o.id,name:Wut+"_"+o.name+"_text",attrs:E(E({text:s===0&&!(0,lf.isNil)(n.rootText)?n.rootText:o.name},n.textStyle),{x:a,y:0})}),u=l.getBBox();if(a+=u.width+Uut,l.on("click",function(h){var d,p=h.target.get("id");if(p!==((d=(0,lf.last)(i))===null||d===void 0?void 0:d.id)){var v=i.slice(0,i.findIndex(function(m){return m.id===p})+1);t.backTo(v)}}),l.on("mouseenter",function(h){var d,p=h.target.get("id");p!==((d=(0,lf.last)(i))===null||d===void 0?void 0:d.id)?l.attr(n.activeTextStyle):l.attr({cursor:"default"})}),l.on("mouseleave",function(){l.attr(n.textStyle)}),sHut,hierarchy:()=>Gh,pack:()=>SP,packEnclose:()=>xP,packSiblings:()=>hft,partition:()=>wP,stratify:()=>gft,tree:()=>yft,treemap:()=>PW,treemapBinary:()=>xft,treemapDice:()=>zh,treemapResquarify:()=>_ft,treemapSlice:()=>ag,treemapSliceDice:()=>bft,treemapSquarify:()=>AP});function Aqt(r,e){return r.parent===e.parent?1:2}function Mqt(r){return r.reduce(Tqt,0)/r.length}function Tqt(r,e){return r+e.x}function Iqt(r){return 1+r.reduce(Lqt,0)}function Lqt(r,e){return Math.max(r,e.y)}function Oqt(r){for(var e;e=r.children;)r=e[0];return r}function Dqt(r){for(var e;e=r.children;)r=e[e.length-1];return r}function Hut(){var r=Aqt,e=1,t=1,n=!1;function i(a){var o,s=0;a.eachAfter(function(h){var d=h.children;d?(h.x=Mqt(d),h.y=Iqt(d)):(h.x=o?s+=r(h,o):0,h.y=0,o=h)});var l=Oqt(a),u=Dqt(a),f=l.x-r(l,u)/2,c=u.x+r(u,l)/2;return a.eachAfter(n?function(h){h.x=(h.x-a.x)*e,h.y=(a.y-h.y)*t}:function(h){h.x=(h.x-f)/(c-f)*e,h.y=(1-(a.y?h.y/a.y:1))*t})}return i.separation=function(a){return arguments.length?(r=a,i):r},i.size=function(a){return arguments.length?(n=!1,e=+a[0],t=+a[1],i):n?null:[e,t]},i.nodeSize=function(a){return arguments.length?(n=!0,e=+a[0],t=+a[1],i):n?[e,t]:null},i}function Pqt(r){var e=0,t=r.children,n=t&&t.length;if(!n)e=1;else for(;--n>=0;)e+=t[n].value;r.value=e}function Yut(){return this.eachAfter(Pqt)}function Xut(r,e){let t=-1;for(let n of this)r.call(e,n,++t,this);return this}function qut(r,e){for(var t=this,n=[t],i,a,o=-1;t=n.pop();)if(r.call(e,t,++o,this),i=t.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function Kut(r,e){for(var t=this,n=[t],i=[],a,o,s,l=-1;t=n.pop();)if(i.push(t),a=t.children)for(o=0,s=a.length;o=0;)t+=n[i].value;e.value=t})}function Qut(r){return this.eachBefore(function(e){e.children&&e.children.sort(r)})}function Jut(r){for(var e=this,t=kqt(e,r),n=[e];e!==t;)e=e.parent,n.push(e);for(var i=n.length;r!==t;)n.splice(i,0,r),r=r.parent;return n}function kqt(r,e){if(r===e)return r;var t=r.ancestors(),n=e.ancestors(),i=null;for(r=t.pop(),e=n.pop();r===e;)i=r,r=t.pop(),e=n.pop();return i}function tft(){for(var r=this,e=[r];r=r.parent;)e.push(r);return e}function eft(){return Array.from(this)}function rft(){var r=[];return this.eachBefore(function(e){e.children||r.push(e)}),r}function nft(){var r=this,e=[];return r.each(function(t){t!==r&&e.push({source:t.parent,target:t})}),e}function*ift(){var r=this,e,t=[r],n,i,a;do for(e=t.reverse(),t=[];r=e.pop();)if(yield r,n=r.children)for(i=0,a=n.length;i=0;--s)i.push(a=o[s]=new ng(o[s])),a.parent=n,a.depth=n.depth+1;return t.eachBefore(EW)}function Rqt(){return Gh(this).eachBefore(Bqt)}function Nqt(r){return r.children}function Fqt(r){return Array.isArray(r)?r[1]:null}function Bqt(r){r.data.value!==void 0&&(r.value=r.data.value),r.data=r.data.data}function EW(r){var e=0;do r.height=e;while((r=r.parent)&&r.height<++e)}function ng(r){this.data=r,this.depth=this.height=0,this.parent=null}ng.prototype=Gh.prototype={constructor:ng,count:Yut,each:Xut,eachAfter:Kut,eachBefore:qut,find:Zut,sum:$ut,sort:Qut,path:Jut,ancestors:tft,descendants:eft,leaves:rft,links:nft,copy:Rqt,[Symbol.iterator]:ift};function aft(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}function oft(r){for(var e=r.length,t,n;e;)n=Math.random()*e--|0,t=r[e],r[e]=r[n],r[n]=t;return r}function xP(r){for(var e=0,t=(r=oft(Array.from(r))).length,n=[],i,a;e0&&t*t>n*n+i*i}function AW(r,e){for(var t=0;tl?(i=(u+l-a)/(2*u),s=Math.sqrt(Math.max(0,l/u-i*i)),t.x=r.x-i*n-s*o,t.y=r.y-i*o+s*n):(i=(u+a-l)/(2*u),s=Math.sqrt(Math.max(0,a/u-i*i)),t.x=e.x+i*n-s*o,t.y=e.y+i*o+s*n)):(t.x=e.x+t.r,t.y=e.y)}function fft(r,e){var t=r.r+e.r-1e-6,n=e.x-r.x,i=e.y-r.y;return t>0&&t*t>n*n+i*i}function cft(r){var e=r._,t=r.next._,n=e.r+t.r,i=(e.x*t.r+t.x*e.r)/n,a=(e.y*t.r+t.y*e.r)/n;return i*i+a*a}function _P(r){this._=r,this.next=null,this.previous=null}function MW(r){if(!(i=(r=aft(r)).length))return 0;var e,t,n,i,a,o,s,l,u,f,c;if(e=r[0],e.x=0,e.y=0,!(i>1))return e.r;if(t=r[1],e.x=-t.r,t.x=e.r,t.y=0,!(i>2))return e.r+t.r;uft(t,e,n=r[2]),e=new _P(e),t=new _P(t),n=new _P(n),e.next=n.previous=t,t.next=e.previous=n,n.next=t.previous=e;t:for(s=3;s0)throw new Error("cycle");return l}return t.id=function(n){return arguments.length?(r=o_(n),t):r},t.parentId=function(n){return arguments.length?(e=o_(n),t):e},t}function Yqt(r,e){return r.parent===e.parent?1:2}function IW(r){var e=r.children;return e?e[0]:r.t}function LW(r){var e=r.children;return e?e[e.length-1]:r.t}function Xqt(r,e,t){var n=t/(e.i-r.i);e.c-=n,e.s+=t,r.c+=n,e.z+=t,e.m+=t}function qqt(r){for(var e=0,t=0,n=r.children,i=n.length,a;--i>=0;)a=n[i],a.z+=e,a.m+=e,e+=a.s+(t+=a.c)}function Kqt(r,e,t){return r.a.parent===e.parent?r.a:t}function EP(r,e){this._=r,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}EP.prototype=Object.create(ng.prototype);function Zqt(r){for(var e=new EP(r,0),t,n=[e],i,a,o,s;t=n.pop();)if(a=t._.children)for(t.children=new Array(s=a.length),o=s-1;o>=0;--o)n.push(i=t.children[o]=new EP(a[o],o)),i.parent=t;return(e.parent=new EP(null,0)).children=[e],e}function yft(){var r=Yqt,e=1,t=1,n=null;function i(u){var f=Zqt(u);if(f.eachAfter(a),f.parent.m=-f.z,f.eachBefore(o),n)u.eachBefore(l);else{var c=u,h=u,d=u;u.eachBefore(function(x){x.xh.x&&(h=x),x.depth>d.depth&&(d=x)});var p=c===h?1:r(c,h)/2,v=p-c.x,m=e/(h.x+p+v),g=t/(d.depth||1);u.eachBefore(function(x){x.x=(x.x+v)*m,x.y=x.depth*g})}return u}function a(u){var f=u.children,c=u.parent.children,h=u.i?c[u.i-1]:null;if(f){qqt(u);var d=(f[0].z+f[f.length-1].z)/2;h?(u.z=h.z+r(u._,h._),u.m=u.z-d):u.z=d}else h&&(u.z=h.z+r(u._,h._));u.parent.A=s(u,h,u.parent.A||c[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u,f,c){if(f){for(var h=u,d=u,p=f,v=h.parent.children[0],m=h.m,g=d.m,x=p.m,b=v.m,S;p=LW(p),h=IW(h),p&&h;)v=IW(v),d=LW(d),d.a=u,S=p.z+x-h.z-m+r(p._,h._),S>0&&(Xqt(Kqt(p,u,c),u,S),m+=S,g+=S),x+=p.m,m+=h.m,b+=v.m,g+=d.m;p&&!LW(d)&&(d.t=p,d.m+=x-g),h&&!IW(v)&&(v.t=h,v.m+=m-b,c=u)}return c}function l(u){u.x*=e,u.y=u.depth*t}return i.separation=function(u){return arguments.length?(r=u,i):r},i.size=function(u){return arguments.length?(n=!1,e=+u[0],t=+u[1],i):n?null:[e,t]},i.nodeSize=function(u){return arguments.length?(n=!0,e=+u[0],t=+u[1],i):n?[e,t]:null},i}function ag(r,e,t,n,i){for(var a=r.children,o,s=-1,l=a.length,u=r.value&&(i-t)/r.value;++sx&&(x=u),w=m*m*C,b=Math.max(x/w,w/g),b>S){m-=u;break}S=b}o.push(l={value:m,dice:d1?n:1)},t}(OW);function PW(){var r=AP,e=!1,t=1,n=1,i=[0],a=Rp,o=Rp,s=Rp,l=Rp,u=Rp;function f(h){return h.x0=h.y0=0,h.x1=t,h.y1=n,h.eachBefore(c),i=[0],e&&h.eachBefore(CP),h}function c(h){var d=i[h.depth],p=h.x0+d,v=h.y0+d,m=h.x1-d,g=h.y1-d;m=h-1){var x=a[c];x.x0=p,x.y0=v,x.x1=m,x.y1=g;return}for(var b=u[c],S=d/2+b,C=c+1,w=h-1;C>>1;u[A]g-v){var O=d?(p*k+m*L)/d:m;f(c,C,L,p,v,O,g),f(C,h,k,O,v,m,g)}else{var M=d?(v*k+g*L)/d:g;f(c,C,L,p,v,m,M),f(C,h,k,p,M,m,g)}}}function bft(r,e,t,n,i){(r.depth&1?ag:zh)(r,e,t,n,i)}var _ft=function r(e){function t(n,i,a,o,s){if((l=n._squarify)&&l.ratio===e)for(var l,u,f,c,h=-1,d,p=l.length,v=n.value;++h1?n:1)},t}(OW);var og=z(q());var $qt={field:"value",size:[1,1],round:!1,padding:0,sort:function(r,e){return e.value-r.value},as:["x","y"],ignoreParentValue:!0};function Sft(r,e){e=(0,og.assign)({},$qt,e);var t=e.as;if(!(0,og.isArray)(t)||t.length!==2)throw new TypeError('Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!');var n;try{n=n_(e)}catch(l){console.warn(l)}var i=function(l){return wP().size(e.size).round(e.round).padding(e.padding)(Gh(l).sum(function(u){return(0,og.size)(u.children)?e.ignoreParentValue?0:u[n]-(0,og.reduce)(u.children,function(f,c){return f+c[n]},0):u[n]}).sort(e.sort))},a=i(r),o=t[0],s=t[1];return a.each(function(l){var u,f;l[o]=[l.x0,l.x1,l.x1,l.x0],l[s]=[l.y1,l.y1,l.y0,l.y0],l.name=l.name||((u=l.data)===null||u===void 0?void 0:u.name)||((f=l.data)===null||f===void 0?void 0:f.label),l.data.name=l.name,["x0","x1","y0","y1"].forEach(function(c){t.indexOf(c)===-1&&delete l[c]})}),i_(a)}var TP=z(q());var Qqt={field:"value",tile:"treemapSquarify",size:[1,1],round:!1,ignoreParentValue:!0,padding:0,paddingInner:0,paddingOuter:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0,as:["x","y"],sort:function(r,e){return e.value-r.value},ratio:.5*(1+Math.sqrt(5))};function Jqt(r,e){return r==="treemapSquarify"?MP[r].ratio(e):MP[r]}function IP(r,e){e=(0,TP.assign)({},Qqt,e);var t=e.as;if(!(0,TP.isArray)(t)||t.length!==2)throw new TypeError('Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!');var n;try{n=n_(e)}catch(u){console.warn(u)}var i=Jqt(e.tile,e.ratio),a=function(u){return PW().tile(i).size(e.size).round(e.round).padding(e.padding).paddingInner(e.paddingInner).paddingOuter(e.paddingOuter).paddingTop(e.paddingTop).paddingRight(e.paddingRight).paddingBottom(e.paddingBottom).paddingLeft(e.paddingLeft)(Gh(u).sum(function(f){return e.ignoreParentValue&&f.children?0:f[n]}).sort(e.sort))},o=a(r),s=t[0],l=t[1];return o.each(function(u){u[s]=[u.x0,u.x1,u.x1,u.x0],u[l]=[u.y1,u.y1,u.y0,u.y0],["x0","x1","y0","y1"].forEach(function(f){t.indexOf(f)===-1&&delete u[f]})}),i_(o)}function kW(r){var e=r.data,t=r.colorField,n=r.rawFields,i=r.hierarchyConfig,a=i===void 0?{}:i,o=a.activeDepth,s={partition:Sft,treemap:IP},l=r.seriesField,u=r.type||"partition",f=s[u](e,E(E({field:l||"value"},(0,Cft.omit)(a,["activeDepth"])),{type:"hierarchy."+u,as:["x","y"]})),c=[];return f.forEach(function(h){var d,p,v,m,g,x;if(h.depth===0||o>0&&h.depth>o)return null;for(var b=h.data.name,S=E({},h);S.depth>1;)b=((p=S.parent.data)===null||p===void 0?void 0:p.name)+" / "+b,S=S.parent;var C=E(E(E({},Hr(h.data,dn(n||[],[a.field]))),(d={},d[eg]=b,d[a_]=S.data.name,d)),h);l&&(C[l]=h.data[l]||((m=(v=h.parent)===null||v===void 0?void 0:v.data)===null||m===void 0?void 0:m[l])),t&&(C[t]=h.data[t]||((x=(g=h.parent)===null||g===void 0?void 0:g.data)===null||x===void 0?void 0:x[t])),C.ext=a,C[rg]={hierarchyConfig:a,colorField:t,rawFields:n},c.push(C)}),c}function tKt(r){var e=r.chart,t=r.options,n=t.color,i=t.colorField,a=i===void 0?a_:i,o=t.sunburstStyle,s=t.rawFields,l=s===void 0?[]:s,u=kW(t);e.data(u);var f;return o&&(f=function(c){return mt({},{fillOpacity:Math.pow(.85,c.depth)},(0,uf.isFunction)(o)?o(c):o)}),kh(mt({},r,{options:{xField:"x",yField:"y",seriesField:a,rawFields:(0,uf.uniq)(dn(Gut,l)),polygon:{color:n,style:f}}})),r}function eKt(r){var e=r.chart;return e.axis(!1),r}function rKt(r){var e=r.chart,t=r.options,n=t.label,i=mi(e,"polygon");if(!n)i.label(!1);else{var a=n.fields,o=a===void 0?["name"]:a,s=n.callback,l=rr(n,["fields","callback"]);i.label({fields:o,callback:s,cfg:Kn(l)})}return r}function nKt(r){var e=r.chart,t=r.options,n=t.innerRadius,i=t.radius,a=t.reflect,o=e.coordinate({type:"polar",cfg:{innerRadius:n,radius:i}});return a&&o.reflect(a),r}function iKt(r){var e,t=r.options,n=t.hierarchyConfig,i=t.meta;return Fe(un({},(e={},e[wW]=(0,uf.get)(i,(0,uf.get)(n,["field"],"value")),e)))(r)}function aKt(r){var e=r.chart,t=r.options,n=t.tooltip;if(n===!1)e.tooltip(!1);else{var i=n;(0,uf.get)(n,"fields")||(i=mt({},{customItems:function(a){return a.map(function(o){var s=(0,uf.get)(e.getOptions(),"scales"),l=(0,uf.get)(s,[eg,"formatter"],function(f){return f}),u=(0,uf.get)(s,[wW,"formatter"],function(f){return f});return E(E({},o),{name:l(o.data[eg]),value:u(o.data.value)})})}},i)),e.tooltip(i)}return r}function oKt(r){var e=r.drilldown,t=r.interactions,n=t===void 0?[]:t;return(e==null?void 0:e.enabled)?mt({},r,{interactions:dn(n,[{type:"drill-down",cfg:{drillDownConfig:e,transformData:kW}}])}):r}function sKt(r){var e=r.chart,t=r.options,n=t.drilldown;return kr({chart:e,options:oKt(t)}),(n==null?void 0:n.enabled)&&(e.appendPadding=Bm(e.appendPadding,(0,uf.get)(n,["breadCrumb","position"]))),r}function wft(r){return Fe(lr,Xi("sunburstStyle"),tKt,eKt,iKt,Ul,nKt,aKt,rKt,sKt,Sr,nn())(r)}var LP=z(q());function Eft(r){var e=(0,LP.get)(r,["event","data","data"],{});return(0,LP.isArray)(e.children)&&e.children.length>0}function Aft(r){var e=r.view.getCoordinate(),t=e.innerRadius;if(t){var n=r.event,i=n.x,a=n.y,o=e.center,s=o.x,l=o.y,u=e.getRadius()*t,f=Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2));return f0&&s<1){var h=f-u;c=h/a/(s/(1-s)+1-1/a)}for(var d=c/(1-s)*s,p=e.addGroup(),v=this.coordinate.getCenter(),m=this.coordinate.getRadius(),g=ea.getAngle(r,this.coordinate),x=g.startAngle,b=g.endAngle,S=x;S0?f:c},p=mt({},r,{options:{xField:i,yField:Xl,seriesField:i,rawFields:[a,l_,NA,Xl],widthRatio:l,interval:{style:u,shape:"waterfall",color:d}}}),v=gi(p).ext,m=v.geometry;return m.customInfo({leaderLine:s}),r}function gKt(r){var e,t,n=r.options,i=n.xAxis,a=n.yAxis,o=n.xField,s=n.yField,l=n.meta,u=mt({},{alias:s},(0,L0.get)(l,s));return Fe(un((e={},e[o]=i,e[s]=a,e[Xl]=a,e),mt({},l,(t={},t[Xl]=u,t[l_]=u,t[RA]=u,t))))(r)}function yKt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField;return n===!1?e.axis(a,!1):e.axis(a,n),i===!1?(e.axis(o,!1),e.axis(Xl,!1)):(e.axis(o,i),e.axis(Xl,i)),r}function xKt(r){var e=r.chart,t=r.options,n=t.legend,i=t.total,a=t.risingFill,o=t.fallingFill,s=t.locale,l=y0(s);if(n===!1)e.legend(!1);else{var u=[{name:l.get(["general","increase"]),value:"increase",marker:{symbol:"square",style:{r:5,fill:a}}},{name:l.get(["general","decrease"]),value:"decrease",marker:{symbol:"square",style:{r:5,fill:o}}}];i&&u.push({name:i.label||"",value:"total",marker:{symbol:"square",style:mt({},{r:5},(0,L0.get)(i,"style"))}}),e.legend(mt({},{custom:!0,position:"top",items:u},n)),e.removeInteraction("legend-filter")}return r}function bKt(r){var e=r.chart,t=r.options,n=t.label,i=t.labelMode,a=t.xField,o=mi(e,"interval");if(!n)o.label(!1);else{var s=n.callback,l=rr(n,["callback"]);o.label({fields:i==="absolute"?[RA,a]:[l_,a],callback:s,cfg:Kn(l)})}return r}function _Kt(r){var e=r.chart,t=r.options,n=t.tooltip,i=t.xField,a=t.yField;if(n!==!1){e.tooltip(E({showCrosshairs:!1,showMarkers:!1,shared:!0,fields:[a]},n));var o=e.geometries[0];(n==null?void 0:n.formatter)?o.tooltip(i+"*"+a,n.formatter):o.tooltip(a)}else e.tooltip(!1);return r}function Pft(r){return Fe(vKt,lr,mKt,gKt,yKt,xKt,_Kt,bKt,Is,kr,Sr,nn())(r)}var FW=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="waterfall",t}return e.getDefaultOptions=function(){return Oft},e.prototype.changeData=function(t){var n=this.options,i=n.xField,a=n.yField,o=n.total;this.updateOption({data:t}),this.chart.changeData(BP(t,i,a,o))},e.prototype.getSchemaAdaptor=function(){return Pft},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);function kft(r,e,t){var n=t.map(function(o){return o[e]}).filter(function(o){return o!==void 0}),i=n.length>0?Math.max.apply(Math,n):0,a=Math.abs(r)%360;return a?i*360/a:i}function Rft(r,e,t){var n=[];return r.forEach(function(i){var a=n.find(function(o){return o[e]===i[e]});a?a[t]+=i[t]||null:n.push(E({},i))}),n}function SKt(r){var e=r.chart,t=r.options,n=t.barStyle,i=t.color,a=t.tooltip,o=t.colorField,s=t.type,l=t.xField,u=t.yField,f=t.data,c=Oh(f,u);e.data(c);var h=mt({},r,{options:{tooltip:a,seriesField:o,interval:{style:n,color:i,shape:s==="line"?"line":"intervel"},minColumnWidth:t.minBarWidth,maxColumnWidth:t.maxBarWidth,columnBackground:t.barBackground}});return gi(h),s==="line"&&Gi({chart:e,options:{xField:l,yField:u,seriesField:o,point:{shape:"circle",color:i}}}),r}function BW(r){var e,t=r.options,n=t.yField,i=t.xField,a=t.data,o=t.isStack,s=t.isGroup,l=t.colorField,u=t.maxAngle,f=o&&!s&&l?Rft(a,i,n):a,c=Oh(f,n);return Fe(un((e={},e[n]={min:0,max:kft(u,n,c)},e)))(r)}function CKt(r){var e=r.chart,t=r.options,n=t.radius,i=t.innerRadius,a=t.startAngle,o=t.endAngle;return e.coordinate({type:"polar",cfg:{radius:n,innerRadius:i,startAngle:a,endAngle:o}}).transpose(),r}function wKt(r){var e=r.chart,t=r.options,n=t.xField,i=t.xAxis;return e.axis(n,i),r}function EKt(r){var e=r.chart,t=r.options,n=t.label,i=t.yField,a=mi(e,"interval");if(!n)a.label(!1);else{var o=n.callback,s=rr(n,["callback"]);a.label({fields:[i],callback:o,cfg:E(E({},Kn(s)),{type:"polar"})})}return r}function Nft(r){return Fe(Xi("barStyle"),SKt,BW,wKt,CKt,kr,Sr,lr,wn,Ul,nn(),EKt)(r)}var Fft=mt({},ke.getDefaultOptions(),{interactions:[{type:"element-active"}],legend:!1,tooltip:{showMarkers:!1},xAxis:{grid:null,tickLine:null,line:null},maxAngle:240});var GW=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="radial-bar",t}return e.getDefaultOptions=function(){return Fft},e.prototype.changeData=function(t){this.updateOption({data:t}),BW({chart:this.chart,options:this.options}),this.chart.changeData(t)},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return Nft},e}(ke);var FA=z(q());var ff="first-axes-view",cf="second-axes-view",Np="series-field-key";var Bft=z(q());function GP(r,e,t,n,i){var a=[];e.forEach(function(c){n.forEach(function(h){var d,p=(d={},d[r]=h[r],d[t]=c,d[c]=h[c],d);a.push(p)})});var o=Object.values((0,Bft.groupBy)(a,t)),s=o[0],l=s===void 0?[]:s,u=o[1],f=u===void 0?[]:u;return i?[l.reverse(),f.reverse()]:[l,f]}function xc(r){return r!=="vertical"}function Gft(r,e,t){var n=e[0],i=e[1],a=n.autoPadding,o=i.autoPadding,s=r.__axisPosition,l=s.layout,u=s.position;if(xc(l)&&u==="top"&&(n.autoPadding=t.instance(a.top,0,a.bottom,a.left),i.autoPadding=t.instance(o.top,a.left,o.bottom,0)),xc(l)&&u==="bottom"&&(n.autoPadding=t.instance(a.top,a.right/2+5,a.bottom,a.left),i.autoPadding=t.instance(o.top,o.right,o.bottom,a.right/2+5)),!xc(l)&&u==="bottom"){var f=a.left>=o.left?a.left:o.left;n.autoPadding=t.instance(a.top,a.right,a.bottom/2+5,f),i.autoPadding=t.instance(a.bottom/2+5,o.right,o.bottom,f)}if(!xc(l)&&u==="top"){var f=a.left>=o.left?a.left:o.left;n.autoPadding=t.instance(a.top,a.right,0,f),i.autoPadding=t.instance(0,o.right,a.top,f)}}function AKt(r){var e=r.chart,t=r.options,n=t.data,i=t.xField,a=t.yField,o=t.color,s=t.barStyle,l=t.widthRatio,u=t.legend,f=t.layout,c=GP(i,a,Np,n,xc(f));u?e.legend(Np,u):u===!1&&e.legend(!1);var h,d,p=c[0],v=c[1];xc(f)?(h=e.createView({region:{start:{x:0,y:0},end:{x:.5,y:1}},id:ff}),h.coordinate().transpose().reflect("x"),d=e.createView({region:{start:{x:.5,y:0},end:{x:1,y:1}},id:cf}),d.coordinate().transpose(),h.data(p),d.data(v)):(h=e.createView({region:{start:{x:0,y:0},end:{x:1,y:.5}},id:ff}),d=e.createView({region:{start:{x:0,y:.5},end:{x:1,y:1}},id:cf}),d.coordinate().reflect("y"),h.data(p),d.data(v));var m=mt({},r,{chart:h,options:{widthRatio:l,xField:i,yField:a[0],seriesField:Np,interval:{color:o,style:s}}});gi(m);var g=mt({},r,{chart:d,options:{xField:i,yField:a[1],seriesField:Np,widthRatio:l,interval:{color:o,style:s}}});return gi(g),r}function MKt(r){var e,t,n,i=r.options,a=r.chart,o=i.xAxis,s=i.yAxis,l=i.xField,u=i.yField,f=qr(a,ff),c=qr(a,cf),h={};return(0,FA.keys)((i==null?void 0:i.meta)||{}).map(function(d){(0,FA.get)(i==null?void 0:i.meta,[d,"alias"])&&(h[d]=i.meta[d].alias)}),a.scale((e={},e[Np]={sync:!0,formatter:function(d){return(0,FA.get)(h,d,d)}},e)),un((t={},t[l]=o,t[u[0]]=s[u[0]],t))(mt({},r,{chart:f})),un((n={},n[l]=o,n[u[1]]=s[u[1]],n))(mt({},r,{chart:c})),r}function TKt(r){var e=r.chart,t=r.options,n=t.xAxis,i=t.yAxis,a=t.xField,o=t.yField,s=t.layout,l=qr(e,ff),u=qr(e,cf);return(n==null?void 0:n.position)==="bottom"?u.axis(a,E(E({},n),{label:{formatter:function(){return""}}})):u.axis(a,!1),n===!1?l.axis(a,!1):l.axis(a,E({position:xc(s)?"top":"bottom"},n)),i===!1?(l.axis(o[0],!1),u.axis(o[1],!1)):(l.axis(o[0],i[o[0]]),u.axis(o[1],i[o[1]])),e.__axisPosition={position:l.getOptions().axes[a].position,layout:s},r}function IKt(r){var e=r.chart;return kr(mt({},r,{chart:qr(e,ff)})),kr(mt({},r,{chart:qr(e,cf)})),r}function LKt(r){var e=r.chart,t=r.options,n=t.yField,i=t.yAxis;return af(mt({},r,{chart:qr(e,ff),options:{yAxis:i[n[0]]}})),af(mt({},r,{chart:qr(e,cf),options:{yAxis:i[n[1]]}})),r}function OKt(r){var e=r.chart;return lr(mt({},r,{chart:qr(e,ff)})),lr(mt({},r,{chart:qr(e,cf)})),r}function DKt(r){var e=r.chart;return Sr(mt({},r,{chart:qr(e,ff)})),Sr(mt({},r,{chart:qr(e,cf)})),r}function PKt(r){var e=this,t,n,i=r.chart,a=r.options,o=a.label,s=a.yField,l=a.layout,u=qr(i,ff),f=qr(i,cf),c=mi(u,"interval"),h=mi(f,"interval");if(!o)c.label(!1),h.label(!1);else{var d=o.callback,p=rr(o,["callback"]);p.position||(p.position="middle"),p.offset===void 0&&(p.offset=2);var v=E({},p);if(xc(l)){var m=((t=v.style)===null||t===void 0?void 0:t.textAlign)||(p.position==="middle"?"center":"left");p.style=mt({},p.style,{textAlign:m});var g={left:"right",right:"left",center:"center"};v.style=mt({},v.style,{textAlign:g[m]})}else{var x={top:"bottom",bottom:"top",middle:"middle"};typeof p.position=="string"?p.position=x[p.position]:typeof p.position=="function"&&(p.position=function(){for(var C=[],w=0;wU)throw new Error("circular link");j=H,H=new Set}if(u)for(var et=Math.max(jP(G,function(st){return st.depth})+1,0),ut=void 0,$=0;$U)throw new Error("circular link");j=H,H=new Set}}function S(D){for(var G=D.nodes,U=Math.max(jP(G,function(gt){return gt.depth})+1,0),j=(t-r-i)/(U-1),H=new Array(U).fill(0).map(function(){return[]}),tt=0,et=G;tt0){var it=(st/_t-$.y0)*G;$.y0+=it,$.y1+=it,I($)}}f===void 0&&tt.sort(WP),tt.length&&k(tt,U)}}function L(D,G,U){for(var j=D.length,H=j-2;H>=0;--H){for(var tt=D[H],et=0,ut=tt;et0){var it=(st/_t-$.y0)*G;$.y0+=it,$.y1+=it,I($)}}f===void 0&&tt.sort(WP),tt.length&&k(tt,U)}}function k(D,G){var U=D.length>>1,j=D[U];M(D,j.y0-o,U-1,G),O(D,j.y1+o,U+1,G),M(D,n,D.length-1,G),O(D,e,0,G)}function O(D,G,U,j){for(;U1e-6&&(H.y0+=tt,H.y1+=tt),G=H.y1+o}}function M(D,G,U,j){for(;U>=0;--U){var H=D[U],tt=(H.y1-G)*j;tt>1e-6&&(H.y0-=tt,H.y1-=tt),G=H.y0-o}}function I(D){var G=D.sourceLinks,U=D.targetLinks;if(c===void 0){for(var j=0,H=U;j "+i,value:a}}},nodeWidthRatio:.008,nodePaddingRatio:.01,animation:{appear:{animation:"wave-in"},enter:{animation:"wave-in"}}}},e.prototype.changeData=function(t){this.updateOption({data:t});var n=VP(this.options,this.chart.width,this.chart.height),i=n.nodes,a=n.edges,o=qr(this.chart,c_),s=qr(this.chart,h_);o.changeData(i),s.changeData(a)},e.prototype.getSchemaAdaptor=function(){return tct},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e}(ke);var oct=z(q());var O0=z(q()),rZt={y:0,nodeWidthRatio:.05,weight:!1,nodePaddingRatio:.1,id:function(r){return r.id},source:function(r){return r.source},target:function(r){return r.target},sourceWeight:function(r){return r.value||1},targetWeight:function(r){return r.value||1},sortBy:null};function nZt(r,e,t){(0,O0.forIn)(r,function(n,i){n.inEdges=e.filter(function(a){return""+t.target(a)==""+i}),n.outEdges=e.filter(function(a){return""+t.source(a)==""+i}),n.edges=n.outEdges.concat(n.inEdges),n.frequency=n.edges.length,n.value=0,n.inEdges.forEach(function(a){n.value+=t.targetWeight(a)}),n.outEdges.forEach(function(a){n.value+=t.sourceWeight(a)})})}function iZt(r,e){var t={weight:function(i,a){return a.value-i.value},frequency:function(i,a){return a.frequency-i.frequency},id:function(i,a){return(""+e.id(i)).localeCompare(""+e.id(a))}},n=t[e.sortBy];!n&&(0,O0.isFunction)(e.sortBy)&&(n=e.sortBy),n&&r.sort(n)}function aZt(r,e){var t=r.length;if(!t)throw new TypeError("Invalid nodes: it's empty!");if(e.weight){var n=e.nodePaddingRatio;if(n<0||n>=1)throw new TypeError("Invalid nodePaddingRatio: it must be in range [0, 1)!");var i=n/(2*t),a=e.nodeWidthRatio;if(a<=0||a>=1)throw new TypeError("Invalid nodeWidthRatio: it must be in range (0, 1)!");var o=0;r.forEach(function(l){o+=l.value}),r.forEach(function(l){l.weight=l.value/o,l.width=l.weight*(1-n),l.height=a}),r.forEach(function(l,u){for(var f=0,c=u-1;c>=0;c--)f+=r[c].width+2*i;var h=l.minX=i+f,d=l.maxX=l.minX+l.width,p=l.minY=e.y-a/2,v=l.maxY=p+a;l.x=[h,d,d,h],l.y=[p,p,v,v]})}else{var s=1/t;r.forEach(function(l,u){l.x=(u+.5)*s,l.y=e.y})}return r}function oZt(r,e,t){if(t.weight){var n={};(0,O0.forIn)(r,function(i,a){n[a]=i.value}),e.forEach(function(i){var a=t.source(i),o=t.target(i),s=r[a],l=r[o];if(s&&l){var u=n[a],f=t.sourceWeight(i),c=s.minX+(s.value-u)/s.value*s.width,h=c+f/s.value*s.width;n[a]-=f;var d=n[o],p=t.targetWeight(i),v=l.minX+(l.value-d)/l.value*l.width,m=v+p/l.value*l.width;n[o]-=p;var g=t.y;i.x=[c,h,v,m],i.y=[g,g,g,g],i.source=s,i.target=l}})}else e.forEach(function(i){var a=r[t.source(i)],o=r[t.target(i)];a&&o&&(i.x=[a.x,o.x],i.y=[a.y,o.y],i.source=a,i.target=o)});return e}function sZt(r){return(0,O0.assign)({},rZt,r)}function nct(r,e){var t=sZt(r),n={},i=e.nodes,a=e.links;i.forEach(function(l){var u=t.id(l);n[u]=l}),nZt(n,a,t),iZt(i,t);var o=aZt(i,t),s=oZt(n,a,t);return{nodes:o,links:s}}var ict=z(q()),t6="x",e6="y",r6="name",n6="source",act={nodeStyle:{opacity:1,fillOpacity:1,lineWidth:1},edgeStyle:{opacity:.5,lineWidth:2},label:{fields:["x","name"],callback:function(r,e){var t=(r[0]+r[1])/2,n=t>.5?-4:4;return{labelEmit:!0,style:{fill:"#8c8c8c"},offsetX:n,content:e}}},tooltip:{showTitle:!1,showMarkers:!1,fields:["source","target","value","isNode"],showContent:function(r){return!(0,ict.get)(r,[0,"data","isNode"])},formatter:function(r){var e=r.source,t=r.target,n=r.value;return{name:e+" -> "+t,value:n}}},interactions:[{type:"element-active"}],weight:!0,nodePaddingRatio:.1,nodeWidthRatio:.05};function lZt(r){var e=r.options,t=e.data,n=e.sourceField,i=e.targetField,a=e.weightField,o=e.nodePaddingRatio,s=e.nodeWidthRatio,l=e.rawFields,u=l===void 0?[]:l,f=fD(t,n,i,a),c=nct({weight:!0,nodePaddingRatio:o,nodeWidthRatio:s},f),h=c.nodes,d=c.links,p=h.map(function(m){return E(E({},Hr(m,dn(["id","x","y","name"],u))),{isNode:!0})}),v=d.map(function(m){return E(E({source:m.source.name,target:m.target.name,name:m.source.name||m.target.name},Hr(m,dn(["x","y","value"],u))),{isNode:!1})});return E(E({},r),{ext:E(E({},r.ext),{chordData:{nodesData:p,edgesData:v}})})}function uZt(r){var e,t=r.chart;return t.scale((e={x:{sync:!0,nice:!0},y:{sync:!0,nice:!0,max:1}},e[r6]={sync:"color"},e[n6]={sync:"color"},e)),r}function fZt(r){var e=r.chart;return e.axis(!1),r}function cZt(r){var e=r.chart;return e.legend(!1),r}function hZt(r){var e=r.chart,t=r.options,n=t.tooltip;return e.tooltip(n),r}function dZt(r){var e=r.chart;return e.coordinate("polar").reflect("y"),r}function pZt(r){var e=r.chart,t=r.options,n=r.ext.chordData.nodesData,i=t.nodeStyle,a=t.label,o=t.tooltip,s=e.createView();return s.data(n),kh({chart:s,options:{xField:t6,yField:e6,seriesField:r6,polygon:{style:i},label:a,tooltip:o}}),r}function vZt(r){var e=r.chart,t=r.options,n=r.ext.chordData.edgesData,i=t.edgeStyle,a=t.tooltip,o=e.createView();o.data(n);var s={xField:t6,yField:e6,seriesField:n6,edge:{style:i,shape:"arc"},tooltip:a};return sA({chart:o,options:s}),r}function mZt(r){var e=r.chart,t=r.options,n=t.animation;return typeof n=="boolean"?e.animate(n):e.animate(!0),(0,oct.each)(lst(e),function(i){i.animate(n)}),r}function sct(r){return Fe(lr,lZt,dZt,uZt,fZt,cZt,hZt,vZt,pZt,kr,Is,mZt)(r)}var i6=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="chord",t}return e.getDefaultOptions=function(){return act},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return sct},e}(ke);var p_=z(q());var HP=z(q());var gZt={field:"value",as:["x","y","r"],sort:function(r,e){return e.value-r.value}};function lct(r,e){e=(0,HP.assign)({},gZt,e);var t=e.as;if(!(0,HP.isArray)(t)||t.length!==3)throw new TypeError('Invalid as: it must be an array with 3 strings (e.g. [ "x", "y", "r" ])!');var n;try{n=n_(e)}catch(u){console.warn(u)}var i=function(u){return SP().size(e.size).padding(e.padding)(Gh(u).sum(function(f){return f[n]}).sort(e.sort))},a=i(r),o=t[0],s=t[1],l=t[2];return a.each(function(u){u[o]=u.x,u[s]=u.y,u[l]=u.r}),i_(a)}function a6(r){var e=r.data,t=r.hierarchyConfig,n=r.rawFields,i=n===void 0?[]:n,a=r.enableDrillDown,o=lct(e,E(E({},t),{field:"value",as:["x","y","r"]})),s=[];return o.forEach(function(l){for(var u,f=l.data.name,c=E({},l);c.depth>1;)f=((u=c.parent.data)===null||u===void 0?void 0:u.name)+" / "+f,c=c.parent;if(a&&l.depth>2)return null;var h=mt({},l.data,E(E(E({},Hr(l.data,i)),{path:f}),l));h.ext=t,h[rg]={hierarchyConfig:t,rawFields:i,enableDrillDown:a},s.push(h)}),s}function o6(r,e,t){var n=B1([r,e]),i=n[0],a=n[1],o=n[2],s=n[3],l=t.width,u=t.height,f=l-(s+a),c=u-(i+o),h=Math.min(f,c),d=(f-h)/2,p=(c-h)/2,v=i+p,m=a+d,g=o+p,x=s+d,b=[v,m,g,x],S=h<0?0:h;return{finalPadding:b,finalSize:S}}var uct=["x","y","r","name","value","path","depth"],fct={colorField:"name",autoFit:!0,pointStyle:{lineWidth:0,stroke:"#fff"},legend:!1,hierarchyConfig:{size:[1,1],padding:0},label:{fields:["name"],layout:{type:"limit-in-shape"}},tooltip:{showMarkers:!1,showTitle:!1},drilldown:{enabled:!1}};function yZt(r){var e=r.chart,t=Math.min(e.viewBBox.width,e.viewBBox.height);return mt({options:{size:function(n){var i=n.r;return i*t}}},r)}function xZt(r){var e=r.options,t=r.chart,n=t.viewBBox,i=e.padding,a=e.appendPadding,o=e.drilldown,s=a;if(o==null?void 0:o.enabled){var l=Bm(t.appendPadding,(0,p_.get)(o,["breadCrumb","position"]));s=B1([l,a])}var u=o6(i,s,n).finalPadding;return t.padding=u,t.appendPadding=0,r}function bZt(r){var e=r.chart,t=r.options,n=e.padding,i=e.appendPadding,a=t.color,o=t.colorField,s=t.pointStyle,l=t.hierarchyConfig,u=t.sizeField,f=t.rawFields,c=f===void 0?[]:f,h=t.drilldown,d=a6({data:t.data,hierarchyConfig:l,enableDrillDown:h==null?void 0:h.enabled,rawFields:c});e.data(d);var p=e.viewBBox,v=o6(n,i,p).finalSize,m=function(g){var x=g.r;return x*v};return u&&(m=function(g){return g[u]*v}),Gi(mt({},r,{options:{xField:"x",yField:"y",seriesField:o,sizeField:u,rawFields:dn(uct,c),point:{color:a,style:s,shape:"circle",size:m}}})),r}function _Zt(r){return Fe(un({},{x:{min:0,max:1,minLimit:0,maxLimit:1,nice:!0},y:{min:0,max:1,minLimit:0,maxLimit:1,nice:!0}}))(r)}function SZt(r){var e=r.chart,t=r.options,n=t.tooltip;if(n===!1)e.tooltip(!1);else{var i=n;(0,p_.get)(n,"fields")||(i=mt({},{customItems:function(a){return a.map(function(o){var s=(0,p_.get)(e.getOptions(),"scales"),l=(0,p_.get)(s,["name","formatter"],function(f){return f}),u=(0,p_.get)(s,["value","formatter"],function(f){return f});return E(E({},o),{name:l(o.data.name),value:u(o.data.value)})})}},i)),e.tooltip(i)}return r}function CZt(r){var e=r.chart;return e.axis(!1),r}function wZt(r){var e=r.drilldown,t=r.interactions,n=t===void 0?[]:t;return(e==null?void 0:e.enabled)?mt({},r,{interactions:dn(n,[{type:"drill-down",cfg:{drillDownConfig:e,transformData:a6,enableDrillDown:!0}}])}):r}function EZt(r){var e=r.chart,t=r.options;return kr({chart:e,options:wZt(t)}),r}function cct(r){return Fe(Xi("pointStyle"),yZt,xZt,lr,_Zt,bZt,CZt,Ul,SZt,EZt,Sr,nn())(r)}var s6=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="circle-packing",t}return e.getDefaultOptions=function(){return fct},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return cct},e.prototype.triggerResize=function(){this.chart.destroyed||(this.chart.forceFit(),this.chart.clear(),this.execAdaptor(),this.chart.render(!0))},e}(ke);var AZt=function(r){V(e,r);function e(t,n,i,a){var o=r.call(this,t,mt({},a,n))||this;return o.type="g2-plot",o.defaultOptions=a,o.adaptor=i,o}return e.prototype.getDefaultOptions=function(){return this.defaultOptions},e.prototype.getSchemaAdaptor=function(){return this.adaptor},e}(ke);var Wh=z(q());var hct=z(q());var MZt={line:AD,pie:kD,column:Hm,bar:DD,area:TD,gauge:FP,"tiny-line":jD,"tiny-column":WD,"tiny-area":UD,"ring-progress":qD,progress:YD,scatter:zD,histogram:HD,funnel:pP},TZt={line:lA,pie:dA,column:fA,bar:cA,area:uA,gauge:kA,"tiny-line":bA,"tiny-column":_A,"tiny-area":SA,"ring-progress":AA,progress:EA,scatter:mA,histogram:wA,funnel:OA},IZt={pie:{label:!1},column:{tooltip:{showMarkers:!1}},bar:{tooltip:{showMarkers:!1}}};function YP(r,e,t){var n=TZt[r];if(!n){console.error("could not find "+r+" plot");return}var i=MZt[r];i({chart:e,options:mt({},n.getDefaultOptions(),(0,hct.get)(IZt,r,{}),t)})}function LZt(r){var e=r.chart,t=r.options,n=t.views,i=t.legend;return(0,Wh.each)(n,function(a){var o=a.region,s=a.data,l=a.meta,u=a.axes,f=a.coordinate,c=a.interactions,h=a.annotations,d=a.tooltip,p=a.geometries,v=e.createView({region:o});v.data(s);var m={};u&&(0,Wh.each)(u,function(g,x){m[x]=Hr(g,Ua)}),m=mt({},l,m),v.scale(m),u?(0,Wh.each)(u,function(g,x){v.axis(x,g)}):v.axis(!1),v.coordinate(f),(0,Wh.each)(p,function(g){var x=Bi({chart:v,options:g}).ext,b=g.adjust;b&&x.geometry.adjust(b)}),(0,Wh.each)(c,function(g){g.enable===!1?v.removeInteraction(g.type):v.interaction(g.type,g.cfg)}),(0,Wh.each)(h,function(g){v.annotation()[g.type](E({},g))}),typeof a.animation=="boolean"?v.animate(!1):(v.animate(!0),(0,Wh.each)(v.geometries,function(g){g.animate(a.animation)})),d&&(v.interaction("tooltip"),v.tooltip(d))}),i?(0,Wh.each)(i,function(a,o){e.legend(o,a)}):e.legend(!1),e.tooltip(t.tooltip),r}function OZt(r){var e=r.chart,t=r.options,n=t.plots;return(0,Wh.each)(n,function(i){var a=i.type,o=i.region,s=i.options,l=s===void 0?{}:s,u=l.tooltip,f=e.createView(E({region:o},Hr(l,Mj)));u&&f.interaction("tooltip"),YP(a,f,l)}),r}function dct(r){return Fe(Sr,LZt,OZt,kr,Sr,lr,wn)(r)}var $s=z(q());var XP=z(q());function pct(r,e){var t=r.getModel(),n=t.data,i;return(0,XP.isArray)(n)?i=n[0][e]:i=n[e],i}function vct(r){var e=R1(r);(0,XP.each)(e,function(t){t.hasState("active")&&t.setState("active",!1),t.hasState("selected")&&t.setState("selected",!1),t.hasState("inactive")&&t.setState("inactive",!1)})}var DZt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getAssociationItems=function(t,n){var i,a=this.context.event,o=n||{},s=o.linkField,l=o.dim,u=[];if((i=a.data)===null||i===void 0?void 0:i.data){var f=a.data.data;(0,$s.each)(t,function(c){var h,d,p=s;if(l==="x"?p=c.getXScale().field:l==="y"?p=(h=c.getYScales().find(function(m){return m.field===p}))===null||h===void 0?void 0:h.field:p||(p=(d=c.getGroupScales()[0])===null||d===void 0?void 0:d.field),!!p){var v=(0,$s.map)(R1(c),function(m){var g=!1,x=!1,b=(0,$s.isArray)(f)?(0,$s.get)(f[0],p):(0,$s.get)(f,p);return pct(m,p)===b?g=!0:x=!0,{element:m,view:c,active:g,inactive:x}});u.push.apply(u,v)}})}return u},e.prototype.showTooltip=function(t){var n=lD(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){if(a.active){var o=a.element.shape.getCanvasBBox();a.view.showTooltip({x:o.minX+o.width/2,y:o.minY+o.height/2})}})},e.prototype.hideTooltip=function(){var t=lD(this.context.view);(0,$s.each)(t,function(n){n.hideTooltip()})},e.prototype.active=function(t){var n=g0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.active,s=a.element;o&&s.setState("active",!0)})},e.prototype.selected=function(t){var n=g0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.active,s=a.element;o&&s.setState("selected",!0)})},e.prototype.highlight=function(t){var n=g0(this.context.view),i=this.getAssociationItems(n,t);(0,$s.each)(i,function(a){var o=a.inactive,s=a.element;o&&s.setState("inactive",!0)})},e.prototype.reset=function(){var t=g0(this.context.view);(0,$s.each)(t,function(n){vct(n)})},e}(Ir);nr("association",DZt);xr("association-active",{start:[{trigger:"element:mouseenter",action:"association:active"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-selected",{start:[{trigger:"element:mouseenter",action:"association:selected"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-highlight",{start:[{trigger:"element:mouseenter",action:"association:highlight"}],end:[{trigger:"element:mouseleave",action:"association:reset"}]});xr("association-tooltip",{start:[{trigger:"element:mousemove",action:"association:showTooltip"}],end:[{trigger:"element:mouseleave",action:"association:hideTooltip"}]});var v_=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="mix",t}return e.prototype.getSchemaAdaptor=function(){return dct},e}(ke);var P0=z(q());var D0=z(q());function mct(r,e){var t=e.data,n=e.coordinate,i=e.interactions,a=e.annotations,o=e.animation,s=e.tooltip,l=e.axes,u=e.meta,f=e.geometries;t&&r.data(t);var c={};l&&(0,D0.each)(l,function(h,d){c[d]=Hr(h,Ua)}),c=mt({},u,c),r.scale(c),n&&r.coordinate(n),l===!1?r.axis(!1):(0,D0.each)(l,function(h,d){r.axis(d,h)}),(0,D0.each)(f,function(h){var d=Bi({chart:r,options:h}).ext,p=h.adjust;p&&d.geometry.adjust(p)}),(0,D0.each)(i,function(h){h.enable===!1?r.removeInteraction(h.type):r.interaction(h.type,h.cfg)}),(0,D0.each)(a,function(h){r.annotation()[h.type](E({},h))}),typeof o=="boolean"?r.animate(!1):(r.animate(!0),(0,D0.each)(r.geometries,function(h){h.animate(o)})),s?(r.interaction("tooltip"),r.tooltip(s)):s===!1&&r.removeInteraction("tooltip")}function PZt(r){var e=r.chart,t=r.options,n=t.type,i=t.data,a=t.fields,o=t.eachView,s=(0,P0.omit)(t,["type","data","fields","eachView","axes","meta","tooltip","coordinate","theme","legend","interactions","annotations"]);return e.data(i),e.facet(n,E(E({},s),{fields:a,eachView:function(l,u){var f=o(l,u);if(f.geometries)mct(l,f);else{var c=f,h=c.options;h.tooltip&&l.interaction("tooltip"),YP(c.type,l,h)}}})),r}function kZt(r){var e=r.chart,t=r.options,n=t.axes,i=t.meta,a=t.tooltip,o=t.coordinate,s=t.theme,l=t.legend,u=t.interactions,f=t.annotations,c={};return n&&(0,P0.each)(n,function(h,d){c[d]=Hr(h,Ua)}),c=mt({},i,c),e.scale(c),e.coordinate(o),n?(0,P0.each)(n,function(h,d){e.axis(d,h)}):e.axis(!1),a?(e.interaction("tooltip"),e.tooltip(a)):a===!1&&e.removeInteraction("tooltip"),e.legend(l),s&&e.theme(s),(0,P0.each)(u,function(h){h.enable===!1?e.removeInteraction(h.type):e.interaction(h.type,h.cfg)}),(0,P0.each)(f,function(h){e.annotation()[h.type](E({},h))}),r}function gct(r){return Fe(lr,PZt,kZt)(r)}var yct={title:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}},rowTitle:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}},columnTitle:{style:{fontSize:12,fill:"rgba(0,0,0,0.65)"}}};var l6=function(r){V(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="area",t}return e.getDefaultOptions=function(){return yct},e.prototype.getDefaultOptions=function(){return e.getDefaultOptions()},e.prototype.getSchemaAdaptor=function(){return gct},e}(ke);var m_;(function(r){r.DEV="DEV",r.BETA="BETA",r.STABLE="STABLE"})(m_||(m_={}));function RZt(r,e){console.warn(r===m_.DEV?"Plot '"+e+"' is in DEV stage, just give us issues.":r===m_.BETA?"Plot '"+e+"' is in BETA stage, DO NOT use it in production env.":r===m_.STABLE?"Plot '"+e+`' is in STABLE stage, import it by "import { `+e+` } from '@antv/g2plot'".`:"invalid Stage type.")}var NZt=function(){function r(){}return Object.defineProperty(r,"MultiView",{get:function(){return RZt(m_.STABLE,"MultiView"),v_},enumerable:!1,configurable:!0}),r}();Cj("en-US",gst);Cj("zh-CN",yst);var u6={scale:un,legend:Ul,tooltip:wn,annotation:nn,interaction:kr,theme:lr,animation:Sr};var UA=z(q());var FZt=function(r,e){var t=document.createElement("div");return e==="tooltip"&&(t.className="g2-tooltip"),ht.render(r,t),t},xct=FZt;var g_=function(r,e){var t={}.toString;return t.call(r)==="[object ".concat(e,"]")},f6=function(r){if(!r)return r;var e={};for(var t in r)e[t]=r[t];return e};var y_=function(r){if(!r||typeof r!="object")return r;var e;return Array.isArray(r)?e=r.map(function(t){return y_(t)}):(e={},Object.keys(r).forEach(function(t){return e[t]=y_(r[t])})),e},k0=function(r,e){for(var t=r,n=0;nYX,DagreGraph:()=>HX,DecompositionTreeGraph:()=>TAt,Edge:()=>D_,FlowAnalysisGraph:()=>MAt,FundFlowGraph:()=>DAt,G6:()=>Ur,Graph:()=>IS,IndentedTree:()=>XX,IndentedTreeGraph:()=>qX,Node:()=>pg,OrganizationGraph:()=>EAt,OrganizationTreeGraph:()=>WX,OrganizationalGraph:()=>KX,RadialGraph:()=>ZX,RadialTreeGraph:()=>AAt});var x_=z(q());var X6=z(q()),wct={getDefaultCfg:function(){return{}},getEvents:function(){return{}},updateCfg:function(e){return Object.assign(this,e),!0},shouldBegin:function(){return!0},shouldUpdate:function(){return!0},shouldEnd:function(){return!0},bind:function(e){var t=this,n=this.events;this.graph=e,(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!0),(0,X6.each)(n,function(i,a){e.on(a,i)}),document.addEventListener("visibilitychange",function(){t.keydown=!1})},unbind:function(e){var t=this.events,n=e.get("canvas").get("draggable");(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!1),(0,X6.each)(t,function(i,a){e.off(a,i)}),e.get("canvas").set("draggable",n)},get:function(e){return this[e]},set:function(e,t){return this[e]=t,this}};var sQt=function(){function r(){}return r.registerBehavior=function(e,t){if(!t)throw new Error("please specify handler for this behavior: ".concat(e));var n=(0,x_.clone)(wct);Object.assign(n,t);var i=function(o){var s=this;Object.assign(this,this.getDefaultCfg(),o);var l=this.getEvents();this.events=null;var u={};l&&((0,x_.each)(l,function(f,c){u[c]=(0,x_.wrapBehavior)(s,f)}),this.events=u)};i.prototype=n,r.types[e]=i},r.hasBehavior=function(e){return!!r.types[e]},r.getBehavior=function(e){return r.types[e]},r.types={},r}(),ZP=sQt;var q6=ZP;var Lr=z(q());var mV={};Dn(mV,{GADDI:()=>vV,Stack:()=>E_,breadthFirstSearch:()=>K6,connectedComponent:()=>__,cosineSimilarity:()=>YA,default:()=>YQt,depthFirstSearch:()=>S_,detectAllCycles:()=>J6,detectAllDirectedCycle:()=>tk,detectAllUndirectedCycle:()=>JP,detectCycle:()=>ek,detectDirectedCycle:()=>Zct,dijkstra:()=>lg,findAllPath:()=>eV,findShortestPath:()=>tV,floydWarshall:()=>ug,getAdjMatrix:()=>hf,getDegree:()=>Fp,getInDegree:()=>$6,getNeighbors:()=>fo,getOutDegree:()=>Q6,iLouvain:()=>oV,kCore:()=>sV,kMeans:()=>lV,labelPropagation:()=>rV,louvain:()=>HA,minimumSpanningTree:()=>fV,nodesCosineSimilarity:()=>uV,pageRank:()=>cV});var lQt=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];!f&&f!==0||!c&&c!==0||(a[f][c]=1,t||(a[c][f]=1))}),a},hf=lQt;var uQt=function(e,t){return e===t},Ect=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}();var fQt=function(){function r(e){e===void 0&&(e=uQt),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new Ect(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new Ect(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var o=this.head;o;){if(a&&a(o.value)||n!==void 0&&this.compare(o.value,n))return o;o=o.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),$P=fQt;var cQt=function(){function r(){this.linkedList=new $P}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),Act=cQt;var fo=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var o=function(u){return u.target===e};return i.filter(o).map(function(l){return l.source})}var s=function(u){return u.source===e?u.target:u.source};return i.map(s)},Mct=function(e,t){return t.filter(function(n){return n.source===e})},b_=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},QP=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};function hQt(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var o=a.next,s=o;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var dQt=function(e,t,n,i){i===void 0&&(i=!0);var a=hQt(n),o=new Act,s=e.edges,l=s===void 0?[]:s;o.enqueue(t);for(var u="",f=function(){var h=o.dequeue();a.enter({current:h,previous:u}),fo(h,l,i?"target":void 0).forEach(function(d){a.allowTraversal({previous:u,current:h,next:d})&&o.enqueue(d)}),a.leave({current:h,previous:u}),u=h};!o.isEmpty();)f()},K6=dQt;var pQt=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l=[],u=function d(p){l.push(p),s[p.id]=!0;for(var v=fo(p.id,a),m=function(b){var S=v[b];if(!s[S]){var C=n.filter(function(w){return w.id===S});C.length>0&&d(C[0])}},g=0;g0;)h.push(l.pop());o.push(h)}}return o},Z6=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,o=[],s={},l={},u={},f=[],c=0,h=function m(g){l[g.id]=c,u[g.id]=c,c+=1,o.push(g),s[g.id]=!0;for(var x=fo(g.id,a,"target").filter(function(A){return n.map(function(L){return L.id}).indexOf(A)>-1}),b=function(L){var k=x[L];if(!l[k]&&l[k]!==0){var O=n.filter(function(M){return M.id===k});O.length>0&&m(O[0]),u[g.id]=Math.min(u[g.id],u[k])}else s[k]&&(u[g.id]=Math.min(u[g.id],l[k]))},S=0;S0;){var w=o.pop();if(s[w.id]=!1,C.push(w),w===g)break}C.length>0&&f.push(C)}},d=0,p=n;d0;)for(var m=d.pop(),g=m.id,x=fo(g,e.edges),b=function(w){var A,L=x[w],k=e.nodes.find(function(F){return F.id===L});if(L===g)o.push((A={},A[L]=m,A));else if(!(L in v))p[L]=m,d.push(k),v[L]=new Set([m]);else if(!v[g].has(k)){for(var O=!0,M=[k,m],I=p[g];v[L].size&&!v[L].has(I)&&(M.push(I),I!==p[I.id]);)I=p[I.id];if(M.push(I),t&&n?(O=!1,M.findIndex(function(F){return t.indexOf(F.id)>-1})>-1&&(O=!0)):t&&!n&&M.findIndex(function(F){return t.indexOf(F.id)>-1})>-1&&(O=!1),O){for(var R={},P=1;P0;){var P=R.pop();a.has(P)&&(a.delete(P),o[P.id].forEach(function(F){R.push(F)}),o[P.id].clear())}},c=function M(I,R,P){var F=!1;if(t&&n===!1&&t.indexOf(I.id)>-1)return F;i.push(I),a.add(I);for(var D=P[I.id],G=0;G-1});ut<$.length;ut++){var st=$[ut];st===et.id&&!(n===!1&&t.indexOf(et.id)>-1)?s.push((R={},R[et.id]=et,R)):tt[et.id].push(u[st])}}return{component:H,adjList:tt,minIdx:F}},b=0;b=b}),C=Z6({nodes:S,edges:e.edges}).filter(function(M){return M.length>1});if(C.length===0)break;var w=x(C),A=w.minIdx,L=w.adjList,k=w.component;if(k.length>1){k.forEach(function(M){o[M.id]=new Set});var O=l[A];if(t&&n&&t.indexOf(O.id)===-1)return s;c(O,O,L),b=A+1}else break}return s},J6=function(e,t,n,i){return i===void 0&&(i=!0),t?tk(e,n,i):JP(e,n,i)},ek=mQt;var Ict=z(q());var gQt=function(e,t,n){for(var i=1/0,a,o=0;oc[C.id]+I?(c[M]=c[C.id]+I,h[M]=[C.id]):c[M]===c[C.id]+I&&h[M].push(C.id)})},v=0;v0&&f.length>0;){var d=f[f.length-1];if(d.length){var p=d.shift();p&&(l.push(p),u[p]=!0,h=i?fo(p,s,"target"):fo(p,s),f.push(h.filter(function(g){return!u[g]})))}else{var v=l.pop();u[v]=!1,f.pop();continue}if(l[l.length-1]===n){var m=l.map(function(x){return x});c.push(m);var v=l.pop();u[v]=!1,f.pop()}}return c};var xQt=function(e,t){for(var n=hf(e,t),i=[],a=n.length,o=0;oi[o][l]+i[l][s]&&(i[o][s]=i[o][l]+i[l][s]);return i},ug=xQt;var bQt=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,o=a===void 0?[]:a,s=e.edges,l=s===void 0?[]:s,u={},f={};o.forEach(function(S,C){var w=QP();S.clusterId=w,u[w]={id:w,nodes:[S]},f[S.id]={node:S,idx:C}});var c=hf(e,t),h=[],d={};c.forEach(function(S,C){var w=0,A=o[C].id;d[A]={},S.forEach(function(L,k){if(!!L){w+=L;var O=o[k].id;d[A][O]=L}}),h.push(w)});for(var p=0,v=function(){var C=!1;if(o.forEach(function(w){var A={};Object.keys(d[w.id]).forEach(function(F){var D=d[w.id][F],G=f[F].node,U=G.clusterId;A[U]||(A[U]=0),A[U]+=D});var L=-1/0,k=[];if(Object.keys(A).forEach(function(F){L=0&&k.splice(O,1),k&&k.length){C=!0;var M=u[w.clusterId],I=M.nodes.indexOf(w);M.nodes.splice(I,1);var R=Math.floor(Math.random()*k.length),P=u[k[R]];P.nodes.push(w),w.clusterId=P.id}}}),!C)return"break";p++};p0&&C>w&&C-ww&&(L=l.map(function(D){return{node:D,clusterId:D.clusterId}}),k=(0,Dct.clone)(v),w=C),O||A>100)break;A++,Object.keys(v).forEach(function(D){var G=0;f.forEach(function(U){var j=U.source,H=U.target,tt=m[j].node.clusterId,et=m[H].node.clusterId;(tt===D&&et!==D||et===D&&tt!==D)&&(G=G+(U[n]||1))}),v[D].sumTot=G}),l.forEach(function(D,G){var U=v[D.clusterId],j=0,H,tt=x[G]/(2*S),et=0,ut=U.nodes;ut.forEach(function(it){var K=m[it.id].idx;et+=g[G][K]||0});var $=et-U.sumTot*tt,st=ut.filter(function(it){return it.id!==D.id}),_t=[];st.forEach(function(it,K){_t[K]=c[it.originIndex]});var dt=aV(st,c)*o,gt=b[D.id];if(Object.keys(gt).forEach(function(it){var K=m[it].node,Rt=K.clusterId;if(Rt!==D.clusterId){var Xt=v[Rt],Zt=Xt.nodes;if(!(!Zt||!Zt.length)){var Ae=0;Zt.forEach(function(pt){var Et=m[pt.id].idx;Ae+=g[G][Et]||0});var We=Ae-Xt.sumTot*tt,$e=Zt.concat([D]),W=[];$e.forEach(function(pt,Et){W[Et]=c[pt.originIndex]});var Te=aV($e,c)*o,ne=We-$;a&&(ne=We+Te-($+dt)),ne>j&&(j=ne,H=Xt)}}}),j>0){H.nodes.push(D);var Tt=D.clusterId;D.clusterId=H.id;var Ut=U.nodes.indexOf(D);U.nodes.splice(Ut,1);var $t=0,Y=0;f.forEach(function(it){var K=it.source,Rt=it.target,Xt=m[K].node.clusterId,Zt=m[Rt].node.clusterId;(Xt===H.id&&Zt!==H.id||Zt===H.id&&Xt!==H.id)&&($t=$t+(it[n]||1)),(Xt===Tt&&Zt!==Tt||Zt===Tt&&Xt!==Tt)&&(Y=Y+(it[n]||1))}),H.sumTot=$t,U.sumTot=Y}})}var M={},I=0;Object.keys(k).forEach(function(D){var G=k[D];if(!G.nodes||!G.nodes.length){delete k[D];return}var U=String(I+1);U!==D&&(G.id=U,G.nodes=G.nodes.map(function(j){return{id:j.id,clusterId:U}}),k[U]=G,M[D]=U,delete k[D],I++)}),L.forEach(function(D){var G=D.node,U=D.clusterId;G.clusterId=U,G.clusterId&&M[G.clusterId]&&(G.clusterId=M[G.clusterId])});var R=[],P={};f.forEach(function(D){var G=D.source,U=D.target,j=D[n]||1,H=m[G].node.clusterId,tt=m[U].node.clusterId,et="".concat(H,"---").concat(tt);if(P[et])P[et].weight+=j,P[et].count++;else{var ut={source:H,target:tt,weight:j,count:1};P[et]=ut,R.push(ut)}});var F=[];return Object.keys(k).forEach(function(D){F.push(k[D])}),{clusters:F,clusterEdges:R}},HA=CQt;var wQt=function(e,t,n,i,a){return t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=1),HA(e,t,n,i,!0,a)},oV=wQt;var kct=z(q());var EQt=function(e,t){var n;t===void 0&&(t=1);for(var i=(0,kct.clone)(e),a=i.nodes,o=a===void 0?[]:a,s=i.edges,l=s===void 0?[]:s,u=function(){var h=Fp({nodes:o,edges:l}),d=Object.keys(h);d.sort(function(m,g){var x,b;return((x=h[m])===null||x===void 0?void 0:x.degree)-((b=h[g])===null||b===void 0?void 0:b.degree)});var p=d[0];if(!o.length||((n=h[p])===null||n===void 0?void 0:n.degree)>=t)return"break";var v=o.findIndex(function(m){return m.id===p});o.splice(v,1),l=l.filter(function(m){return!(m.source===p||m.target===p)})};;){var f=u();if(f==="break")break}return{nodes:o,edges:l}},sV=EQt;var AQt=function(e,t,n,i,a,o){t===void 0&&(t=3),n===void 0&&(n=[]),i===void 0&&(i=[]),a===void 0&&(a="properties"),o===void 0&&(o=R0.EuclideanDistance);for(var s=e.nodes,l=e.edges,u=C_(s,a),f=w_(u,n,i),c=0;cm&&(m=w,g=x)}h[c]=f[g],d.push(g),p[c]=[s[g]],s[g].clusterId=String(c)}for(var A=0;;){for(var c=0;c=1e3)break}var F=[],D={};return l.forEach(function(G){var U,j,H=G.source,tt=G.target,et=(U=s.find(function(_t){return _t.id===H}))===null||U===void 0?void 0:U.clusterId,ut=(j=s.find(function(_t){return _t.id===tt}))===null||j===void 0?void 0:j.clusterId,$="".concat(et,"---").concat(ut);if(D[$])D[$].count++;else{var st={source:et,target:ut,count:1};D[$]=st,F.push(st)}}),{clusters:p,clusterEdges:F}},lV=AQt;var MQt=function(e,t){var n=new Ds(t),i=n.norm2(),a=new Ds(e),o=a.norm2(),s=n.dot(a),l=i*o,u=l?s/l:0;return u},YA=MQt;var Rct=z(q());var TQt=function(e,t,n,i,a){e===void 0&&(e=[]),n===void 0&&(n=[]),i===void 0&&(i=[]),a===void 0&&(a="properties");var o=(0,Rct.clone)(e.filter(function(h){return h.id!==t.id})),s=e.findIndex(function(h){return h.id===t.id}),l=C_(e,a),u=w_(l,n,i),f=u[s],c=[];return o.forEach(function(h,d){if(h.id!==t.id){var p=u[d],v=YA(p,f);c.push(v),h.cosineSimilarity=v}}),o.sort(function(h,d){return d.cosineSimilarity-h.cosineSimilarity}),{allCosineSimilarity:c,similarNodes:o}},uV=TQt;var IQt=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),o=this.list.length;i!==null&&i0?n=i:a!==null&&a0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),Fct=OQt;var DQt=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var f=function(m,g){return t?m.weight-g.weight:0},c=new Fct(f);for(b_(l.id,s).forEach(function(v){c.insert(v)});!c.isEmpty();){var h=c.delMin(),d=h.source,p=h.target;u.has(d)&&u.has(p)||(n.push(h),u.has(d)||(u.add(d),b_(d,s).forEach(function(v){c.insert(v)})),u.has(p)||(u.add(p),b_(p,s).forEach(function(v){c.insert(v)})))}return n},Bct=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,o=e.edges,s=o===void 0?[]:o;if(a.length===0)return n;var l=s.map(function(d){return d});t&&l.sort(function(d,p){return d.weight-p.weight});for(var u=new Nct(a.map(function(d){return d.id}));l.length>0;){var f=l.shift(),c=f.source,h=f.target;u.connected(c,h)||(n.push(f),u.union(c,h))}return n},PQt=function(e,t,n){var i={prim:DQt,kruskal:Bct};return n?i[n](e,t):Bct(e,t)},fV=PQt;var kQt=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,o=1e3,s=e.nodes,l=s===void 0?[]:s,u=e.edges,f=u===void 0?[]:u,c=l.length,h,d={},p={},v=0;v0&&i>t;){a=0;for(var v=0;v0&&(h+=p[C]/w)}d[g]=n*h,a+=d[g]}}a=(1-a)/c,i=0;for(var v=0;v=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,o=i.toNode;ad||i.hasNode(o[h.to])||(t.labelb;C--){var w=S(C);if(w==="break")break}if(g){var A=e.findMinLabel(m);o.dfsEdgeList.push(new N0(v,x,bc,A.edgeLabel,bc));var L=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[L]!==o.dfsEdgeList[L]?!1:c(m[A.edgeLabel].projected)}var k={};g=!1;var O=0;h.forEach(function(D){var G=new nk(D),U=e.findForwardPureEdges(i,G.edges[d[0]],p,G);U.length>0&&(g=!0,O=v,U.forEach(function(j){var H="".concat(j.label,"-").concat(a[j.to].label);k[H]||(k[H]={projected:[],edgeLabel:j.label,nodeLabel2:a[j.to].label}),k[H].projected.push({graphId:i.id,edge:j,preNode:D})}))});for(var M=d.length,I=function(G){if(g)return"break";var U=d[G];h.forEach(function(j){var H=new nk(j),tt=e.findForwardRmpathEdges(i,H.edges[U],p,H);tt.length>0&&(g=!0,O=o.dfsEdgeList[U].fromNode,tt.forEach(function(et){var ut="".concat(et.label,"-").concat(a[et.to].label);k[ut]||(k[ut]={projected:[],edgeLabel:et.label,nodeLabel2:a[et.to].label}),k[ut].projected.push({graphId:i.id,edge:et,preNode:j})}))})},C=0;C=0;p--){var v=t.findBackwardEdge(c,d.edges[a[p]],d.edges[a[0]],d);if(v){var m="".concat(t.dfsCode.dfsEdgeList[a[p]].fromNode,"-").concat(v.label);u[m]||(u[m]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[p]].fromNode,edgeLabel:v.label}),u[m].projected.push({graphId:f.graphId,edge:v,preNode:f})}}if(!(i>=t.maxNodeNum)){var g=t.findForwardPureEdges(c,d.edges[a[0]],s,d);g.forEach(function(b){var S="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);l[S]||(l[S]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),l[S].projected.push({graphId:f.graphId,edge:b,preNode:f})});for(var x=function(S){var C=t.findForwardRmpathEdges(c,d.edges[a[S]],s,d);C.forEach(function(w){var A="".concat(t.dfsCode.dfsEdgeList[a[S]].fromNode,"-").concat(w.label,"-").concat(h[w.to].label);l[A]||(l[A]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[S]].fromNode,edgeLabel:w.label,nodeLabel2:h[w.to].label}),l[A].projected.push({graphId:f.graphId,edge:w,preNode:f})})},p=0;pb){var S=b;b=x,x=S}var C=g.label,w="".concat(u,"-").concat(x,"-").concat(C,"-").concat(b),A="".concat(x,"-").concat(C,"-").concat(b);if(!o[A]){var L=o[A]||0;L++,o[A]=L}l[w]={graphId:u,nodeLabel1:x,edgeLabel:C,nodeLabel2:b}})})}),Object.keys(a).forEach(function(u){var f=a[u];if(!(f2*t)););if(m<2*t&&(s["".concat(f,"-").concat(v)]={start:f,end:v,distance:a[f][v]},c++,l++,l>=n))return s;if(h++,h>2*t)break}if(ch&&(l=h);var d=n[c.id].inDegree;u>d&&(u=d);var p=n[c.id].outDegree;f>p&&(f=p)}),e[t]={degree:l,inDegree:u,outDegree:f}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:f}},VQt=function(e,t,n,i,a,o,s){var l;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(!!u){var f=ug(e,n),c=ug(t,n),h=qct(e.nodes,f,n),d=qct(t.nodes,c,n),p=Yct(e.nodes,o),v=p.nodeMap,m=p.nodeLabelMap,g=Yct(t.nodes,o),x=g.nodeMap,b=g.nodeLabelMap;Xct(e.edges,s,v);var S=Xct(t.edges,s,x).edgeLabelMap,C=[];c==null||c.forEach(function(W){C=C.concat(W)}),a||(a=Math.max.apply(Math,mn(mn([],C,!1),[2],!1))),i||(i=a);var w=Vct(e,f,o,i),A=Vct(t,c,o,i),L=Math.min(100,u*(u-1)/2),k=UQt(i,u,L,w,f),O=ik(k,w,e),M=10,I=1,R=1,P=4,F={graphs:O,nodeLabelProp:o,edgeLabelProp:s,minSupport:I,minNodeNum:R,maxNodeNum:P,directed:n},D=Wct(F).slice(0,M),G=D.length,U=[];D.forEach(function(W,Te){U[Te]={},Object.keys(O).forEach(function(ne){var pt=O[ne],Et=ak(pt,W,o,s);U[Te][ne]=Et})});var j=jQt(U,G,D),H=j.structure,tt=j.structureCountMap,et=t.nodes[0],ut=[],$=(l=t.nodes[0])===null||l===void 0?void 0:l[o],st=-1/0;t.nodes.forEach(function(W){var Te=W[o],ne=m[Te];(ne==null?void 0:ne.length)>st&&(st=ne.length,ut=ne,$=Te,et=W)});var _t={},dt={},gt={},Tt={},Ut={},$t={};Object.keys(b).forEach(function(W,Te){Ut[W]=[],n&&($t[W]=[]);var ne=-1/0,pt=b[W],Et={};pt.forEach(function(Ht){var ae=d["".concat(et.id,"-").concat(Ht.id)];if(ae&&Ut[W].push(ae),neUt[W][_n]){ga=!0;break}if(ga)return ut.splice(ae,1),"continue";var ii={};Ye.neighbors.forEach(function(En){var ci=h["".concat(ge.id,"-").concat(En.id)];ii["".concat(ge.id,"-").concat(En.id)]={start:v[ge.id].idx,end:v[En.id].idx,distance:ci}}),O=ik(ii,w,e,O);var xi=[];Object.keys(ii).forEach(function(En){if(tt[En]){xi.push(tt[En]);return}var ci=O[En];tt[En]=ak(ci,H,o,s),xi.push(tt[En])}),xi=xi.sort(function(En,ci){return ci-En});for(var Ki=!1,_n=0;_n<$n;_n++)if(xi[_n]=0;Ue--)ee(Ue)});var Y=[];ut==null||ut.forEach(function(W){for(var Te=v[W.id].idx,ne=Hct(e.nodes,f[Te],Te,o,a),pt=ne.neighbors,Et=pt.length,St=!1,Wt=Et-1;Wt>=0;Wt--){if(pt.length+1Ye){pt.splice(Wt,1);continue}if(n){var Ve="".concat(ee.id,"-").concat(W.id),$n=h[Ve];ge=$t[Ue].length-1;var ga=$t[Ue][ge];if($n>ga){pt.splice(Wt,1);continue}}var _n=tt[Ht]?tt[Ht]:WQt(e,W,ee,v,ae,w,H,o,s,tt,O),ii="".concat(et.id,"-").concat(Ue),xi=Tt[ii][Tt[ii].length-1];if(_n=0;ae--){var ga=$n(ae);if(ga==="break")break}if(Ve)return Y.splice(Te,1),"continue";ne.edges=Wt;var _n=lg(ne,ne.nodes[0].id,!1).length;if(Object.keys(_n).reverse().forEach(function(er){if(!(er===ne.nodes[0].id||Ve)){if(_n[er]===1/0){var ai=St[er].node[o];if(Et[ai]--,Et[ai]K[ji][K[ji].length-1]){var ai=St[er].node[o];if(Et[ai]--,Et[ai]=0;ci--){var Nn=ne.nodes[ci],Ia=St[Nn.id].degree,Li=St[Nn.id].inDegree,ko=St[Nn.id].outDegree,ku=Nn[o],Ro=Kct(_t,ku,x,b),ys=Ro.minPatternNodeLabelDegree,Jo=Ro.minPatternNodeLabelInDegree,vl=Ro.minPatternNodeLabelOutDegree,Fs=n?Ia=0;yo--){var Oi=Wt[yo];if(!St[Oi.source]||!St[Oi.target]){Wt.splice(yo,1);var xs=Oi[s];if(ee[xs]--,St[Oi.source]&&(St[Oi.source].degree--,St[Oi.source].outDegree--),St[Oi.target]&&(St[Oi.target].degree--,St[Oi.target].inDegree--),S[xs]&&ee[xs]=0;Zt--){var Ae=Xt(Zt);if(Ae==="break")break}for(var We=Y.length,$e=function(Te){var ne=Y[Te],pt={};ne.edges.forEach(function(Wt){var ee="".concat(Wt.source,"-").concat(Wt.target,"-").concat(Wt.label);pt[ee]?pt[ee]++:pt[ee]=1});for(var Et=function(ee){var Ue=Y[ee],Ht={};Ue.edges.forEach(function(ge){var Ye="".concat(ge.source,"-").concat(ge.target,"-").concat(ge.label);Ht[Ye]?Ht[Ye]++:Ht[Ye]=1});var ae=!0;Object.keys(Ht).length!==Object.keys(pt).length?ae=!1:Object.keys(pt).forEach(function(ge){Ht[ge]!==pt[ge]&&(ae=!1)}),ae&&Y.splice(ee,1)},St=We-1;St>Te;St--)Et(St);We=Y.length},Zt=0;Zt<=We-1;Zt++)$e(Zt);return Y}}},vV=VQt;var HQt=function(){function r(e){e===void 0&&(e=10),this.linkedList=new $P,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r}(),E_=HQt;var Zct=ek;var YQt={getAdjMatrix:hf,breadthFirstSearch:K6,connectedComponent:__,getDegree:Fp,getInDegree:$6,getOutDegree:Q6,detectCycle:ek,detectDirectedCycle:Zct,detectAllCycles:J6,detectAllDirectedCycle:tk,detectAllUndirectedCycle:JP,depthFirstSearch:S_,dijkstra:lg,findAllPath:eV,findShortestPath:tV,floydWarshall:ug,labelPropagation:rV,louvain:HA,iLouvain:oV,kCore:sV,kMeans:lV,cosineSimilarity:YA,nodesCosineSimilarity:uV,minimumSpanningTree:fV,pageRank:cV,getNeighbors:fo,Stack:E_,GADDI:vV};var IV={};Dn(IV,{Line:()=>cg,applyMatrix:()=>A_,compare:()=>XQt,distance:()=>M_,floydWarshall:()=>KQt,fractionToLine:()=>fk,getAdjMatrix:()=>ZQt,getBBoxBoundLine:()=>CV,getCircleCenterByPoints:()=>lk,getCircleIntersectByPoint:()=>yV,getDegree:()=>JQt,getEllipseIntersectByPoint:()=>xV,getLineIntersect:()=>sk,getPointsCenter:()=>EV,getRectIntersectByPoint:()=>gV,intersectBBox:()=>Qct,invertMatrix:()=>bV,isPointInPolygon:()=>T_,isPointsOverlap:()=>ck,isPolygonsIntersect:()=>SV,itemIntersectByLine:()=>wV,lerp:()=>TV,move:()=>uk,pointLineDistance:()=>nJt,pointLineSquareDist:()=>AV,pointRectSquareDist:()=>MV,rotate:()=>QQt,scale:()=>$Qt,scaleMatrix:()=>qQt,squareDist:()=>XA,translate:()=>_V});var fg=z(q()),ok=gr.transform,XQt=function(e){return function(t,n){return t[e]-n[e]}},$ct=function(e,t,n){return e>=t&&e<=n},sk=function(e,t,n,i){var a=1e-4,o={x:n.x-e.x,y:n.y-e.y},s={x:t.x-e.x,y:t.y-e.y},l={x:i.x-n.x,y:i.y-n.y},u=s.x*l.y-s.y*l.x,f=u*u,c=1/u,h=s.x*s.x+s.y*s.y,d=l.x*l.x+l.y*l.y;if(f>a*h*d){var p=(o.x*l.y-o.y*l.x)*c,v=(o.x*s.y-o.y*s.x)*c;return!$ct(p,0,1)||!$ct(v,0,1)?null:{x:e.x+p*s.x,y:e.y+p*s.y}}return null},gV=function(e,t){var n=e.x,i=e.y,a=e.width,o=e.height,s=n+a/2,l=i+o/2,u=[],f={x:s,y:l};u.push({x:n,y:i}),u.push({x:n+a,y:i}),u.push({x:n+a,y:i+o}),u.push({x:n,y:i+o}),u.push({x:n,y:i});for(var c=null,h=1;ht[i][o]+t[o][a]&&(t[i][a]=t[i][o]+t[o][a]);return t},ZQt=function(e,t){var n=e.nodes,i=e.edges,a=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,l){o[s.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(s){var l=s.source,u=s.target,f=o[l],c=o[u];a[f][c]=1,t||(a[c][f]=1)}),a},_V=function(e,t){e.translate(t.x,t.y)},uk=function(e,t,n,i){i===void 0&&(i={duration:500});var a=e.getMatrix();a||(a=[1,0,0,0,1,0,0,0,1]);var o=e.getCanvasBBox(),s=t.x-o.minX,l=t.y-o.minY;if(n){var u=s*a[0],f=l*a[4],c=0,h=0,d=0,p=0;e.animate(function(m){return d=u*m,p=f*m,a=ok(a,[["t",d-c,p-h]]),c=d,h=p,{matrix:a}},i)}else{var v=ok(a,[["t",s,l]]);e.setMatrix(v)}},$Qt=function(e,t){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var i=t;(0,fg.isArray)(t)||(i=[t,t]),(0,fg.isArray)(t)&&t.length===1&&(i=[t[0],t[0]]),n=ok(n,[["s",i[0],i[1]]]),e.setMatrix(n)},QQt=function(e,t){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),n=ok(n,[["r",t]]),e.setMatrix(n)},JQt=function(e,t,n){for(var i=[],a=0;a0!=s(f[1]-n)>0&&s(t-(n-u[1])*(u[0]-f[0])/(u[1]-f[1])-u[0])<0&&(i=!i)}return i},Qct=function(e,t){return!(t.minX>e.maxX||t.maxXe.maxY||t.maxY1){var x=h[0],b=h[p-1];d.push({from:{x:b[0],y:b[1]},to:{x:x[0],y:x[1]}})}return d};if(e.length<2||t.length<2)return!1;var a=n(e),o=n(t);if(!Qct(a,o))return!1;var s=!1;if((0,fg.each)(t,function(c){if(T_(e,c[0],c[1]))return s=!0,!1}),s||((0,fg.each)(e,function(c){if(T_(t,c[0],c[1]))return s=!0,!1}),s))return!0;var l=i(e),u=i(t),f=!1;return(0,fg.each)(u,function(c){if(eJt(l,c))return f=!0,!1}),f},cg=function(){function r(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}return r.prototype.getBBox=function(){var e=Math.min(this.x1,this.x2),t=Math.min(this.y1,this.y2),n=Math.max(this.x1,this.x2),i=Math.max(this.y1,this.y2),a={x:e,y:t,minX:e,minY:t,maxX:n,maxY:i,width:n-e,height:i-t};return a},r}();var CV=function(e,t){var n={top:[e.minX,e.minY,e.maxX,e.minY],left:[e.minX,e.minY,e.minX,e.maxY],bottom:[e.minX,e.maxY,e.maxX,e.maxY],right:[e.maxX,e.minY,e.maxX,e.maxY]};return n[t]},rJt=function(e,t){var n=(t.x2-t.x1)*(e.y1-t.y1)-(t.y2-t.y1)*(e.x1-t.x1),i=(e.x2-e.x1)*(e.y1-t.y1)-(e.y2-e.y1)*(e.x1-t.x1),a=(t.y2-t.y1)*(e.x2-e.x1)-(t.x2-t.x1)*(e.y2-e.y1);if(a){var o=n/a,s=i/a;if(o>=0&&o<=1&&s>=0&&s<=1)return o}return Number.POSITIVE_INFINITY},wV=function(e,t){for(var n=["top","left","bottom","right"],i=e.getBBox(),a=0,o=[],s=0;s<4;s++){var l=CV(i,n[s]),u=l[0],f=l[1],c=l[2],h=l[3];o[s]=sk({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},{x:u,y:f},{x:c,y:h}),o[s]&&(a+=1)}return[o,a]},fk=function(e,t){for(var n=["top","left","bottom","right"],i=e.getBBox(),a=Number.POSITIVE_INFINITY,o=0,s=0;s<4;s++){var l=CV(i,n[s]),u=l[0],f=l[1],c=l[2],h=l[3],d=rJt(t,new cg(u,f,c,h));d=Math.abs(d-.5),d>=0&&d<=1&&(o+=1,a=d0){for(var i=0,a=e;it.x+t.width,a=e.y>t.y+t.height,o=e.yKA,getBBox:()=>I_,getComboBBox:()=>qA,getLabelPosition:()=>kV,getLetterWidth:()=>oht,getLoopCfgs:()=>PV,getTextSize:()=>RV,plainCombosToTrees:()=>pk,reconstructTree:()=>vk,shouldRefreshEdge:()=>uJt,traverseTree:()=>Ps,traverseTreeUp:()=>Hh});var hg="rgb(95, 149, 255)",iJt="rgb(255, 255, 255)",Jct="rgb(0, 0, 0)",LV="rgb(247, 250, 255)",tht="rgb(239, 244, 255)",hk="rgb(253, 253, 253)",eht="rgb(250, 250, 250)",dk="rgb(224, 224, 224)",rht="rgb(234, 234, 234)",aJt="rgb(245, 245, 245)",oJt="rgb(191, 213, 255)",nht="#4572d9",sJt="rgb(223, 234, 255)",Un={mainStroke:hg,mainFill:tht,activeStroke:hg,activeFill:LV,inactiveStroke:oJt,inactiveFill:LV,selectedStroke:hg,selectedFill:iJt,highlightStroke:nht,highlightFill:sJt,disableStroke:dk,disableFill:eht,edgeMainStroke:dk,edgeActiveStroke:hg,edgeInactiveStroke:rht,edgeSelectedStroke:hg,edgeHighlightStroke:hg,edgeDisableStroke:aJt,comboMainStroke:dk,comboMainFill:hk,comboActiveStroke:hg,comboActiveFill:LV,comboInactiveStroke:dk,comboInactiveFill:hk,comboSelectedStroke:hg,comboSelectedFill:hk,comboHighlightStroke:nht,comboHighlightFill:hk,comboDisableStroke:rht,comboDisableFill:eht},qe={version:"0.5.3",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:Un.mainStroke,fill:tht},size:20,color:Un.mainStroke,linkPoints:{size:8,lineWidth:1,fill:Un.activeFill,stroke:Un.activeStroke}},nodeStateStyles:{active:{fill:Un.activeFill,stroke:Un.activeStroke,lineWidth:2,shadowColor:Un.mainStroke,shadowBlur:10},selected:{fill:Un.selectedFill,stroke:Un.selectedStroke,lineWidth:4,shadowColor:Un.selectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:Un.highlightFill,stroke:Un.highlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:Un.inactiveFill,stroke:Un.inactiveStroke,lineWidth:1},disable:{fill:Un.disableFill,stroke:Un.disableStroke,lineWidth:1}},edgeLabel:{style:{fill:Jct,textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Un.edgeMainStroke,lineAppendWidth:2},color:Un.edgeMainStroke},edgeStateStyles:{active:{stroke:Un.edgeActiveStroke,lineWidth:1},selected:{stroke:Un.edgeSelectedStroke,lineWidth:2,shadowColor:Un.edgeSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Un.edgeHighlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:Un.edgeInactiveStroke,lineWidth:1},disable:{stroke:Un.edgeDisableStroke,lineWidth:1}},comboLabel:{style:{fill:Jct,textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:Un.comboMainFill,lineWidth:1,stroke:Un.comboMainStroke,r:5,width:20,height:10},size:[20,5],color:Un.comboMainStroke,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:Un.comboActiveStroke,lineWidth:1,fill:Un.comboActiveFill},selected:{stroke:Un.comboSelectedStroke,lineWidth:2,fill:Un.comboSelectedFill,shadowColor:Un.comboSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Un.comboHighlightStroke,lineWidth:2,fill:Un.comboHighlightFill,"text-shape":{fontWeight:500}},inactive:{stroke:Un.comboInactiveStroke,fill:Un.comboInactiveFill,lineWidth:1},disable:{stroke:Un.comboDisableStroke,fill:Un.comboDisableFill,lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},windowFontFamily:typeof window!="undefined"&&window.getComputedStyle&&document.body&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif"};var iht={" ":.3329986572265625,a:.5589996337890625,A:.6569992065429687,b:.58599853515625,B:.6769989013671875,c:.5469985961914062,C:.7279998779296875,d:.58599853515625,D:.705999755859375,e:.554998779296875,E:.63699951171875,f:.37299957275390627,F:.5769989013671875,g:.5909988403320312,G:.7479995727539063,h:.555999755859375,H:.7199996948242188,i:.255999755859375,I:.23699951171875,j:.26699981689453123,J:.5169998168945312,k:.5289993286132812,K:.6899993896484375,l:.23499908447265624,L:.5879989624023437,m:.854998779296875,M:.8819992065429687,n:.5589996337890625,N:.7189987182617188,o:.58599853515625,O:.7669998168945312,p:.58599853515625,P:.6419998168945312,q:.58599853515625,Q:.7669998168945312,r:.3649993896484375,R:.6759994506835938,s:.504998779296875,S:.6319992065429687,t:.354998779296875,T:.6189987182617187,u:.5599990844726562,U:.7139999389648437,v:.48199920654296874,V:.6389999389648438,w:.754998779296875,W:.929998779296875,x:.5089996337890625,X:.63699951171875,y:.4959991455078125,Y:.66199951171875,z:.48699951171875,Z:.6239990234375,"0":.6,"1":.40099945068359377,"2":.6,"3":.6,"4":.6,"5":.6,"6":.6,"7":.5469985961914062,"8":.6,"9":.6,"[":.3329986572265625,"]":.3329986572265625,",":.26399993896484375,".":.26399993896484375,";":.26399993896484375,":":.26399993896484375,"{":.3329986572265625,"}":.3329986572265625,"\\":.5,"|":.19499969482421875,"=":.604998779296875,"+":.604998779296875,"-":.604998779296875,_:.5,"`":.3329986572265625," ~":.8329986572265625,"!":.3329986572265625,"@":.8579986572265625,"#":.6,$:.6,"%":.9699996948242188,"^":.517999267578125,"&":.7259994506835937,"*":.505999755859375,"(":.3329986572265625,")":.3329986572265625,"<":.604998779296875,">":.604998779296875,"/":.5,"?":.53699951171875};var Eo=z(q()),Vh=Math.PI,OV=Math.sin,DV=Math.cos,Xo=OV(Vh/8),qo=DV(Vh/8),I_=function(e,t){var n=e.getBBox(),i={x:n.minX,y:n.minY},a={x:n.maxX,y:n.maxY};if(t){var o=t.getMatrix();o||(o=[1,0,0,0,1,0,0,0,1]),i=A_(i,o),a=A_(a,o)}var s=i.x,l=i.y,u=a.x,f=a.y;return{x:s,y:l,minX:s,minY:l,maxX:u,maxY:f,width:u-s,height:f-l}},PV=function(e){var t=e.sourceNode||e.targetNode,n=t.get("group"),i=n.getMatrix();i||(i=[1,0,0,0,1,0,0,0,1]);var a=t.getKeyShape(),o=a.getBBox(),s=e.loopCfg||{},l=s.dist||Math.max(o.width,o.height)*2,u=s.position||qe.defaultLoopPosition,f=[i[6],i[7]],c=[e.startPoint.x,e.startPoint.y],h=[e.endPoint.x,e.endPoint.y],d=o.height/2,p=o.height/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo;if(c[0]===h[0]&&c[1]===h[1]){switch(u){case"top":c=[f[0]-v,f[1]-m],h=[f[0]+g,f[1]-x];break;case"top-right":d=o.height/2,p=o.width/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]+v,f[1]-m],h=[f[0]+x,f[1]-g];break;case"right":d=o.width/2,p=o.width/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]+m,f[1]-v],h=[f[0]+x,f[1]+g];break;case"bottom-right":d=o.width/2,p=o.height/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]+m,f[1]+v],h=[f[0]+g,f[1]+x];break;case"bottom":d=o.height/2,p=o.height/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]+v,f[1]+m],h=[f[0]-g,f[1]+x];break;case"bottom-left":d=o.height/2,p=o.width/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]-v,f[1]+m],h=[f[0]-x,f[1]+g];break;case"left":d=o.width/2,p=o.width/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]-m,f[1]+v],h=[f[0]-x,f[1]-g];break;case"top-left":d=o.width/2,p=o.height/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]-m,f[1]-v],h=[f[0]-g,f[1]-x];break;default:d=o.width/2,p=o.width/2,v=d*Xo,m=d*qo,g=p*Xo,x=p*qo,c=[f[0]-v,f[1]-m],h=[f[0]+g,f[1]-x]}if(s.clockwise===!1){var b=[c[0],c[1]];c=[h[0],h[1]],h=[b[0],b[1]]}}var S=[c[0]-f[0],c[1]-f[1]],C=(d+l)/d,w=(p+l)/p;s.clockwise===!1&&(C=(p+l)/p,w=(d+l)/d);var A=oe.scale([0,0],S,C),L=[f[0]+A[0],f[1]+A[1]],k=[h[0]-f[0],h[1]-f[1]],O=oe.scale([0,0],k,w),M=[f[0]+O[0],f[1]+O[1]];return e.startPoint={x:c[0],y:c[1]},e.endPoint={x:h[0],y:h[1]},e.controlPoints=[{x:L[0],y:L[1]},{x:M[0],y:M[1]}],e},kV=function(e,t,n,i,a){var o=1e-4,s=[],l=e==null?void 0:e.getPoint(t);if(!l)return{x:0,y:0,angle:0};if(t1-o)s=e.getEndTangent();else{var u=e==null?void 0:e.getPoint(t+o);s.push([l.x,l.y]),s.push([u.x,u.y])}var f=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]);if(f<0&&(f+=Vh*2),n&&(l.x+=DV(f)*n,l.y+=OV(f)*n),i){var c=f-Vh/2;f>1/2*Vh&&f<3*1/2*Vh&&(c-=Vh),l.x+=DV(c)*i,l.y+=OV(c)*i}var h={x:l.x,y:l.y,angle:f};return a?(f>.5*Vh&&f<1.5*Vh&&(f-=Vh),E({rotate:f},h)):h},aht=function r(e,t){if(t(e)===!1)return!1;if(e&&e.children){for(var n=e.children.length-1;n>=0;n--)if(!r(e.children[n],t))return!1}return!0},lJt=function r(e,t){if(e&&e.children){for(var n=e.children.length-1;n>=0;n--)if(!r(e.children[n],t))return}return t(e)!==!1},Ps=function(e,t){typeof t=="function"&&aht(e,t)},Hh=function(e,t){typeof t=="function"&&lJt(e,t)},oht=function(e,t){return t*(iht[e]||1)},RV=function(e,t){var n=0,i=new RegExp("[\u4E00-\u9FA5]+");return e.split("").forEach(function(a){i.test(a)?n+=t:n+=oht(a,t)}),[n,t]},pk=function(e,t){var n=[],i={},a={};e.forEach(function(l){a[l.id]=l}),e.forEach(function(l,u){var f=(0,Eo.clone)(l);f.itemType="combo",f.children=void 0,f.parentId===f.id?(console.warn("The parentId for combo ".concat(f.id," can not be the same as the combo's id")),delete f.parentId):f.parentId&&!a[f.parentId]&&(console.warn("The parent combo for combo ".concat(f.id," does not exist!")),delete f.parentId);var c=i[f.id];if(c){if(f.children=c.children,i[f.id]=f,c=f,!c.parentId){n.push(c);return}var h=i[c.parentId];if(h)h.children?h.children.push(f):h.children=[f];else{var d={id:c.parentId,children:[c]};i[c.parentId]=d,i[f.id]=f}return}if((0,Eo.isString)(l.parentId)){var p=i[l.parentId];if(p)p.children?p.children.push(f):p.children=[f],i[f.id]=f;else{var v={id:l.parentId,children:[f]};i[v.id]=v,i[f.id]=f}}else n.push(f),i[f.id]=f});var o={};(t||[]).forEach(function(l){o[l.id]=l;var u=i[l.comboId];if(u){var f={id:l.id,comboId:l.comboId};u.children?u.children.push(f):u.children=[f],f.itemType="node",i[l.id]=f}});var s=0;return n.forEach(function(l){l.depth=s+10,aht(l,function(u){var f,c=i[u.id].itemType;c==="node"?f=i[u.comboId]:f=i[u.parentId],f&&c==="node"?u.depth=s+1:u.depth=s+10,s-1&&i.splice(u,1),s||(a={id:t,itemType:"node",comboId:n},o[t]={children:void 0}),t){var f=!1;if(n){var c=0;(e||[]).forEach(function(d){f||Ps(d,function(p){return n===p.id?(f=!0,p.children?p.children.push(a):p.children=[a],c=p.depth,a.itemType==="node"?a.depth=c+2:a.depth=c+1,!1):!0})})}else(!n||!f)&&a.itemType!=="node"&&e.push(a);var h=a.depth;Ps(a,function(d){return d.itemType==="node"?h+=2:h+=1,d.depth=h,!0})}return e},qA=function(e,t,n){var i={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,x:void 0,y:void 0,width:void 0,height:void 0,centerX:void 0,centerY:void 0};if(!e||e.length===0){var a=n==null?void 0:n.getModel(),o=a||{},s=o.x,l=o.y;return{minX:s,minY:l,maxX:s,maxY:l,x:s,y:l,width:void 0,height:void 0}}return e.forEach(function(u){var f=t.findById(u.id);if(!(!f||!f.isVisible())){f.set("bboxCanvasCache",void 0);var c=f.getCanvasBBox();c.x&&i.minX>c.minX&&(i.minX=c.minX),c.y&&i.minY>c.minY&&(i.minY=c.minY),c.x&&i.maxXGV,cloneEvent:()=>cJt,formatPadding:()=>ZA,isNaN:()=>$A,isViewportChanged:()=>hJt,processParallelEdges:()=>dJt,uniqueId:()=>gk});var L_=z(q());var lht=function(r){V(e,r);function e(t,n){var i=r.call(this,t,n)||this;return i.item=n.item,i.canvasX=n.canvasX,i.canvasY=n.canvasY,i.wheelDelta=n.wheelDelta,i.detail=n.detail,i}return e}(Yu);var gk=function(e){return"".concat(e,"-").concat(Math.random()).concat(Date.now())},ZA=function(e){if((0,L_.isArray)(e))switch(e.length){case 4:return e;case 3:return e.push(e[1]),e;case 2:return e.concat(e);case 1:return[e[0],e[0],e[0],e[0]];default:return[0,0,0,0]}if((0,L_.isNumber)(e))return[e,e,e,e];if((0,L_.isString)(e)){var t=parseInt(e,10);return[t,t,t,t]}return[0,0,0,0]},cJt=function(e){var t=new lht(e.type,e);return t.clientX=e.clientX,t.clientY=e.clientY,t.x=e.x,t.y=e.y,t.target=e.target,t.currentTarget=e.currentTarget,t.bubbles=!0,t.item=e.item,t},hJt=function(e){if(!e)return!1;for(var t=9,n=[1,0,0,0,1,0,0,0,1],i=0;in&&(n=c),h>a&&(a=h)}var d=Math.floor(t),p=Math.floor(i),v=Math.ceil(n)-Math.floor(t),m=Math.ceil(a)-Math.floor(i);return{x:d,y:p,width:v,height:m,minX:t,minY:i,maxX:n,maxY:a}},dJt=function(e,t,n,i,a){t===void 0&&(t=15),n===void 0&&(n="quadratic"),i===void 0&&(i=void 0),a===void 0&&(a=void 0);for(var o=e.length,s=t*2,l=["top","top-right","right","bottom-right","bottom","bottom-left","left","top-left"],u={},f=[],c={},h=0;hf&&(c=f),e.zoom(c,s)||console.warn("zoom failed, ratio out of range, ratio: %f",c)}},r.prototype.fitViewByRules=function(e){var t=e.onlyOutOfViewPort,n=t===void 0?!1:t,i=e.direction,a=i===void 0?"both":i,o=e.ratioRule,s=o===void 0?"min":o,l=this.graph,u=this.getFormatPadding(),f=l.get("width"),c=l.get("height"),h=l.get("group");h.resetMatrix();var d=h.getCanvasBBox();if(!(d.width===0||d.height===0)){var p=this.getViewCenter(),v={x:d.x+d.width/2,y:d.y+d.height/2};l.translate(p.x-v.x,p.y-v.y);var m=(f-u[1]-u[3])/d.width,g=(c-u[0]-u[2])/d.height,x;a==="x"?x=m:a==="y"?x=g:x=s==="max"?Math.max(m,g):Math.min(m,g),n&&(x=x<1?x:1);var b=l.getZoom(),S=b*x,C=l.get("minZoom");S=0&&(a.height=o),s>=0&&(a.width=s),i.marginTop&&(a.y+=i.marginTop),i.marginLeft&&(a.x+=i.marginLeft),a}function hht(r,e){var t;e===void 0&&(e={x:0,y:0});var n=E({x:0,y:0,width:0,height:0},e);if((t=r.children)===null||t===void 0?void 0:t.length){var i=r.attrs,a=i===void 0?{}:i,o=a.marginTop,s=E({},e);o&&(s.y+=o);for(var l=0;ln.width&&(n.width=f.width+f.x),f.height+f.y>n.height&&(n.height=f.height+f.y)}}}return r.bbox=gJt(r,e,n),r.attrs=E(E({},r.attrs),r.bbox),r}function dht(r,e){var t,n,i,a,o=(r||{}).type,s=((e==null?void 0:e.attrs)||{}).key;if(s&&r&&(r.attrs.key=s),!r&&e)return{action:"delete",val:e,type:o,key:s};if(r&&!e)return{action:"add",val:r,type:o};if(!r&&!e)return{action:"same",type:o};var l=[];if(((t=r.children)===null||t===void 0?void 0:t.length)>0||((n=e.children)===null||n===void 0?void 0:n.length)>0)for(var u=Math.max((i=r.children)===null||i===void 0?void 0:i.length,(a=e.children)===null||a===void 0?void 0:a.length),f=e.children||[],c=r.children||[],h=0;h-1)return;n.push(a)}else l>-1&&n.splice(l,1)}else if((0,ja.isString)(t)){var u=n.filter(function(h){return h.includes(o)});u.length>0&&this.clearStates(u),s=s.filter(function(h){return!h.includes(o)}),s.push(a),this.set("states",s)}if(i){var f=this.get("model"),c=f.type;i.setState(c,e,t,this)}},r.prototype.clearStates=function(e){var t=this,n=t.getStates(),i=t.get("shapeFactory"),a=t.get("model"),o=a.type;e||(e=n),(0,ja.isString)(e)&&(e=[e]);var s=n.filter(function(l){return e.indexOf(l)===-1});t.set("states",s),e.forEach(function(l){i.setState(o,l,!1,t)})},r.prototype.getContainer=function(){return this.get("group")},r.prototype.getKeyShape=function(){return this.get("keyShape")},r.prototype.getModel=function(){return this.get("model")},r.prototype.getType=function(){return this.get("type")},r.prototype.getID=function(){return this.get("id")},r.prototype.isItem=function(){return!0},r.prototype.getStates=function(){return this.get("states")},r.prototype.hasState=function(e){var t=this.getStates();return t.indexOf(e)>=0},r.prototype.refresh=function(e){var t=this.get("model");this.updatePosition(t),this.updateShape(e),this.afterUpdate(),this.clearCache()},r.prototype.getUpdateType=function(e){},r.prototype.update=function(e,t){t===void 0&&(t=void 0);var n=this.get("model");if(t==="move")this.updatePosition(e);else{var i=n.visible,a=e.visible;i!==a&&a!==void 0&&this.changeVisibility(a);var o={x:n.x,y:n.y};e.x=isNaN(+e.x)?n.x:+e.x,e.y=isNaN(+e.y)?n.y:+e.y;var s=this.get("styles");if(e.stateStyles){var l=e.stateStyles;(0,ja.mix)(s,l),delete e.stateStyles}Object.assign(n,e),(o.x!==e.x||o.y!==e.y)&&this.updatePosition(e),this.updateShape(t)}this.afterUpdate(),this.clearCache()},r.prototype.updateShape=function(e){var t=this.get("shapeFactory"),n=this.get("model"),i=n.type;if(t.shouldUpdate(i)&&i===this.get("currentShape")){var a=this.getShapeCfg(n,e);t.baseUpdate(i,a,this,e),e!=="move"&&this.setOriginStyle()}else this.draw();this.restoreStates(t,i)},r.prototype.updatePosition=function(e){var t=this.get("model"),n=isNaN(+e.x)?+t.x:+e.x,i=isNaN(+e.y)?+t.y:+e.y,a=this.get("group");if(isNaN(n)||isNaN(i))return!1;t.x=n,t.y=i;var o=a.getMatrix();return o&&o[6]===n&&o[7]===i?!1:(a.resetMatrix(),_V(a,{x:n,y:i}),this.clearCache(),!0)},r.prototype.getBBox=function(){var e=this.get(YV);return e||(e=this.calculateBBox(),this.set(YV,e)),e},r.prototype.getCanvasBBox=function(){var e=this.get(XV);return e||(e=this.calculateCanvasBBox(),this.set(XV,e)),e},r.prototype.toFront=function(){var e=this.get("group");e.toFront()},r.prototype.toBack=function(){var e=this.get("group");e.toBack()},r.prototype.show=function(){this.changeVisibility(!0)},r.prototype.hide=function(){this.changeVisibility(!1)},r.prototype.changeVisibility=function(e){var t=this.get("group");e?t.show():t.hide(),this.set("visible",e)},r.prototype.isVisible=function(){return this.get("visible")},r.prototype.enableCapture=function(e){var t=this.get("group");t&&t.set("capture",e)},r.prototype.destroy=function(){if(!this.destroyed){var e=this.get("animate"),t=this.get("group");e&&t.stopAnimate(),t.shapeMap={},this.clearCache(),t.remove(),this._cfg=null,this.destroyed=!0}},r}(),xk=xJt;var bk={source:"start",target:"end"},Yh="Node",O_="Point",bJt="Anchor",_Jt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){return{type:"edge",sourceNode:null,targetNode:null,startPoint:null,endPoint:null,linkCenter:!1}},e.prototype.setEnd=function(t,n){var i=bk[t]+O_,a=t+Yh,o=this.get(a);o&&!o.destroyed&&o.removeEdge(this),(0,df.isPlainObject)(n)?(this.set(i,n),this.set(a,null)):n&&(n.addEdge(this),this.set(a,n),this.set(i,null))},e.prototype.getLinkPoint=function(t,n,i){var a=bk[t]+O_,o=t+Yh,s=this.get(a);if(!s){var l=this.get(o),u=t+bJt,f=this.getPrePoint(t,i),c=n[u];(0,df.isNil)(c)||(s=l.getLinkPointByAnchor(c)),s=s||l.getLinkPoint(f),(0,df.isNil)(s.index)||this.set("".concat(t,"AnchorIndex"),s.index)}return s},e.prototype.getPrePoint=function(t,n){if(n&&n.length){var i=t==="source"?0:n.length-1;return n[i]}var a=t==="source"?"target":"source";return this.getEndPoint(a)},e.prototype.getEndPoint=function(t){var n=t+Yh,i=bk[t]+O_,a=this.get(n);return a?a.get("model"):this.get(i)},e.prototype.getControlPointsByCenter=function(t){var n=this.getEndPoint("source"),i=this.getEndPoint("target"),a=this.get("shapeFactory"),o=t.type;return a.getControlPoints(o,{startPoint:n,endPoint:i})},e.prototype.getEndCenter=function(t){var n=t+Yh,i=bk[t]+O_,a=this.get(n);if(a){var o=a.getBBox();return{x:o.centerX,y:o.centerY}}return this.get(i)},e.prototype.init=function(){r.prototype.init.call(this),this.setSource(this.get("source")),this.setTarget(this.get("target"))},e.prototype.getShapeCfg=function(t,n){var i=this,a=i.get("linkCenter"),o=(n==null?void 0:n.includes("move"))?t:r.prototype.getShapeCfg.call(this,t);if(a)o.startPoint=i.getEndCenter("source"),o.endPoint=i.getEndCenter("target");else{var s=o.controlPoints||i.getControlPointsByCenter(o);o.startPoint=i.getLinkPoint("source",t,s),o.endPoint=i.getLinkPoint("target",t,s)}return o.sourceNode=i.get("sourceNode"),o.targetNode=i.get("targetNode"),o},e.prototype.getModel=function(){var t=this.get("model"),n=this.get("source".concat(Yh)),i=this.get("target".concat(Yh));return n?delete t["source".concat(Yh)]:t.source=this.get("start".concat(O_)),i?delete t["target".concat(Yh)]:t.target=this.get("end".concat(O_)),!(0,df.isString)(t.source)&&!(0,df.isPlainObject)(t.source)&&(t.source=t.source.getID()),!(0,df.isString)(t.target)&&!(0,df.isPlainObject)(t.target)&&(t.target=t.target.getID()),t},e.prototype.setSource=function(t){this.setEnd("source",t),this.set("source",t)},e.prototype.setTarget=function(t){this.setEnd("target",t),this.set("target",t)},e.prototype.getSource=function(){return this.get("source")},e.prototype.getTarget=function(){return this.get("target")},e.prototype.updatePosition=function(){return!1},e.prototype.update=function(t,n){n===void 0&&(n=void 0);var i=this.get("model"),a=i.visible,o=t.visible;a!==o&&o!==void 0&&this.changeVisibility(o);var s=this.get("styles");if(t.stateStyles){var l=t.stateStyles;(0,df.mix)(s,l),delete t.stateStyles}Object.assign(i,t),this.updateShape(n),this.afterUpdate(),this.clearCache()},e.prototype.destroy=function(){var t=this.get("source".concat(Yh)),n=this.get("target".concat(Yh));t&&!t.destroyed&&t.removeEdge(this),n&&!n.destroyed&&n.removeEdge(this),r.prototype.destroy.call(this)},e}(xk),D_=_Jt;var dg=z(q());var qV="anchorPointsCache",SJt="bboxCache",CJt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getNearestPoint=function(t,n){for(var i=0,a=t[0],o=M_(t[0],n),s=0;s-1&&n.splice(i,1)},e.prototype.clearCache=function(){this.set(SJt,null),this.set(qV,null)},e.prototype.getUpdateType=function(t){var n,i,a,o,s;if(!!t){var l=!(0,dg.isNil)(t.x),u=!(0,dg.isNil)(t.y),f=Object.keys(t);if(f.length===1&&(l||u)||f.length===2&&l&&u)return"move";if((0,dg.isNumber)(t.x)||(0,dg.isNumber)(t.y)||t.type||t.anchorPoints||t.size||(t==null?void 0:t.style)&&(((n=t==null?void 0:t.style)===null||n===void 0?void 0:n.r)||((i=t==null?void 0:t.style)===null||i===void 0?void 0:i.width)||((a=t==null?void 0:t.style)===null||a===void 0?void 0:a.height)||((o=t==null?void 0:t.style)===null||o===void 0?void 0:o.rx)||((s=t==null?void 0:t.style)===null||s===void 0?void 0:s.ry)))return"bbox|label";var c=f.includes("label")||f.includes("labelCfg");return c?"style|label":"style"}},e}(xk),pg=CJt;var mht=z(q()),ght="bboxCache",yht="bboxCanvasCache",KV="sizeCache",xht="anchorPointsCache",wJt=function(r){V(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getDefaultCfg=function(){return{type:"combo",nodes:[],edges:[],combos:[]}},e.prototype.getShapeCfg=function(t){var n=this.get("styles"),i=this.get("bbox");if(n&&i){var a=t,o={r:Math.hypot(i.height,i.width)/2||qe.defaultCombo.size[0]/2,width:i.width||qe.defaultCombo.size[0],height:i.height||qe.defaultCombo.size[1]};a.style=E(E(E({},n),t.style),o);var s=t.padding||qe.defaultCombo.padding;return(0,mht.isNumber)(s)?(o.r+=s,o.width+=s*2,o.height+=s*2):(o.r+=s[0],o.width+=s[1]+s[3]||s[1]*2,o.height+=s[0]+s[2]||s[0]*2),this.set(KV,o),a}return t},e.prototype.calculateCanvasBBox=function(){if(!this.destroyed){var t=this.get("keyShape"),n=this.get("group"),i=I_(t,n);i.centerX=(i.minX+i.maxX)/2,i.centerY=(i.minY+i.maxY)/2;var a=this.get(KV),o=this.get(ght)||{},s=o.x,l=o.x;if(a){a.width=Math.max(a.width,i.width),a.height=Math.max(a.height,i.height);var u=t.get("type");u==="circle"?(i.width=a.r*2,i.height=a.r*2):(i.width=a.width,i.height=a.height),i.minX=i.centerX-i.width/2,i.minY=i.centerY-i.height/2,i.maxX=i.centerX+i.width/2,i.maxY=i.centerY+i.height/2}else i.width=i.maxX-i.minX,i.height=i.maxY-i.minY,i.centerX=(i.minX+i.maxX)/2,i.centerY=(i.minY+i.maxY)/2;return i.x=i.minX,i.y=i.minY,(i.x!==s||i.y!==l)&&this.set(xht,null),i}},e.prototype.getChildren=function(){var t=this;return{nodes:t.getNodes(),combos:t.getCombos()}},e.prototype.getNodes=function(){var t=this;return t.get("nodes")},e.prototype.getCombos=function(){var t=this;return t.get("combos")},e.prototype.addChild=function(t){var n=this,i=t.getType();switch(i){case"node":n.addNode(t);break;case"combo":n.addCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.addCombo=function(t){var n=this;return n.get("combos").push(t),!0},e.prototype.addNode=function(t){var n=this;return n.get("nodes").push(t),!0},e.prototype.removeChild=function(t){var n=this,i=t.getType();switch(i){case"node":n.removeNode(t);break;case"combo":n.removeCombo(t);break;default:return console.warn("Only node or combo items are allowed to be added into a combo"),!1}return!0},e.prototype.removeCombo=function(t){if(!!t){var n=this.getCombos(),i=n.indexOf(t);return i>-1?(n.splice(i,1),!0):!1}},e.prototype.removeNode=function(t){if(!!t){var n=this.getNodes(),i=n.indexOf(t);return i>-1?(n.splice(i,1),!0):!1}},e.prototype.getUpdateType=function(t){},e.prototype.getBBox=function(){this.set(yht,null);var t=this.calculateCanvasBBox();return t},e.prototype.clearCache=function(){this.set(ght,null),this.set(yht,null),this.set(xht,null)},e.prototype.destroy=function(){if(!this.destroyed){var t=this.get("animate"),n=this.get("group");t&&n.stopAnimate(),n.shapeMap={},this.clearCache(),this.set(KV,null),this.set("bbox",null),n.remove(),this._cfg=null,this.destroyed=!0}},e}(pg),_k=wJt;var JA="node",Sk="edge",bht="vedge",tM="combo",EJt="default",_ht="Mapper",Bp="stateStyles",AJt=function(){function r(e){var t=this;this.edgeToBeUpdateMap={},this.throttleRefresh=(0,an.throttle)(function(n){var i,a=t.graph;if(!(!a||a.get("destroyed"))){var o=t.edgeToBeUpdateMap;!o||!((i=Object.keys(o))===null||i===void 0?void 0:i.length)||(Object.keys(o).forEach(function(s){var l=o[s].edge;!l||l.destroyed||l.refresh(o[s].updateType)}),t.edgeToBeUpdateMap={})}},16,{trailing:!0,leading:!0}),this.graph=e,this.destroyed=!1}return r.prototype.addItem=function(e,t){var n=this.graph,i=e===bht?Sk:e,a=n.get("".concat(i,"Group"))||n.get("group"),o=(0,an.upperFirst)(i),s=null,l=n.get(i+(0,an.upperFirst)(Bp))||{},u=n.get(EJt+o);t[Bp]&&(l=t[Bp]),u&&(0,an.each)(u,function(x,b){(0,an.isObject)(x)&&!(0,an.isArray)(x)?t[b]=(0,an.deepMix)({},x,t[b]):(0,an.isArray)(x)?t[b]=t[b]||(0,an.clone)(u[b]):t[b]=t[b]||u[b]});var f=n.get(i+_ht);if(f){var c=f(t);c[Bp]&&(l=c[Bp],delete c[Bp]),(0,an.each)(c,function(x,b){(0,an.isObject)(x)&&!(0,an.isArray)(x)?t[b]=(0,an.deepMix)({},t[b],x):t[b]=c[b]||t[b]})}if(n.emit("beforeadditem",{type:e,model:t}),e===Sk||e===bht){var h=void 0,d=void 0;if(h=t.source,d=t.target,h&&(0,an.isString)(h)&&(h=n.findById(h)),d&&(0,an.isString)(d)&&(d=n.findById(d)),!h||!d){console.warn("The source or target node of edge ".concat(t.id," does not exist!"));return}h.getType&&h.getType()==="combo"&&(t.isComboEdge=!0),d.getType&&d.getType()==="combo"&&(t.isComboEdge=!0),s=new D_({model:t,source:h,target:d,styles:l,linkCenter:n.get("linkCenter"),group:a.addGroup()})}else if(e===JA)s=new pg({model:t,styles:l,group:a.addGroup()});else if(e===tM){var p=t.children,v=qA(p,n);isNaN(v.x)?isNaN(t.x)&&(t.x=Math.random()*100):t.x=v.x,isNaN(v.y)?isNaN(t.y)&&(t.y=Math.random()*100):t.y=v.y;var m=a.addGroup();m.setZIndex(t.depth),s=new _k({model:t,styles:l,bbox:t.collapsed?qA([],n):v,group:m});var g=s.getModel();(p||[]).forEach(function(x){var b=n.findById(x.id);s.addChild(b),x.depth=g.depth+2}),t.collapsed&&setTimeout(function(){s.destroyed||n.collapseCombo(s)},0)}if(s)return n.get("".concat(e,"s")).push(s),n.get("itemMap")[s.get("id")]=s,n.emit("afteradditem",{item:s,model:t}),s},r.prototype.updateItem=function(e,t){var n=this,i,a,o=this.graph;if((0,an.isString)(e)&&(e=o.findById(e)),!(!e||e.destroyed)){var s="";e.getType&&(s=e.getType());var l=o.get(s+_ht),u=e.getModel(),f=e.getUpdateType(t);if(l){var c=(0,an.deepMix)({},u,t),h=l(c),d=(0,an.deepMix)({},u,h,t);h[Bp]&&(e.set("styles",d[Bp]),delete d[Bp]),(0,an.each)(d,function(C,w){t[w]=C})}else(0,an.each)(t,function(C,w){u[w]&&(0,an.isObject)(C)&&!(0,an.isArray)(C)&&(t[w]=E(E({},u[w]),t[w]))});if(o.emit("beforeupdateitem",{item:e,cfg:t}),s===Sk){if(t.source){var p=t.source;(0,an.isString)(p)&&(p=o.findById(p)),e.setSource(p)}if(t.target){var v=t.target;(0,an.isString)(v)&&(v=o.findById(v)),e.setTarget(v)}e.update(t)}if(s===JA||s===tM){e.update(t,f);var m=e.getEdges(),g=(f==null?void 0:f.includes("bbox"))||f==="move";if(s===JA)f==="move"?(0,an.each)(m,function(C){n.edgeToBeUpdateMap[C.getID()]={edge:C,updateType:f},n.throttleRefresh()}):g&&(0,an.each)(m,function(C){C.refresh(f)});else if(g&&s===tM){var x=e.get("shapeFactory"),b=u.type||"circle",S=u.animate===void 0||t.animate===void 0?(a=(i=x[b])===null||i===void 0?void 0:i.options)===null||a===void 0?void 0:a.animate:u.animate||t.animate;S?setTimeout(function(){if(!(!e||e.destroyed)){var C=e.getKeyShape();!C||C.destroyed||(0,an.each)(m,function(w){w&&!w.destroyed&&w.refresh()})}},201):(0,an.each)(m,function(C){C.refresh()})}}o.emit("afterupdateitem",{item:e,cfg:t})}},r.prototype.updateCombo=function(e,t){var n=this,i,a,o=this.graph;if((0,an.isString)(e)&&(e=o.findById(e)),!(!e||e.destroyed)){var s=e.getModel(),l=qA(t,o,e),u=l.x,f=l.y;e.set("bbox",l),e.update({x:u||s.x,y:f||s.y});var c=e.get("shapeFactory"),h=s.type||"circle",d=s.animate===void 0?(a=(i=c[h])===null||i===void 0?void 0:i.options)===null||a===void 0?void 0:a.animate:s.animate;d?setTimeout(function(){if(!(!e||e.destroyed)){var p=e.getKeyShape();!p||p.destroyed||(e.getShapeCfg(s),n.updateComboEdges(e))}},201):this.updateComboEdges(e)}},r.prototype.updateComboEdges=function(e){for(var t=e.getEdges()||[],n=0;n-1&&o.splice(s,1),a===Sk){var l=n.get("v".concat(a,"s")),u=l.indexOf(e);u>-1&&l.splice(u,1)}var f=e.get("id"),c=n.get("itemMap");delete c[f];var h=n.get("comboTrees"),d=e.get("id");if(a===JA){var p=e.getModel().comboId;if(h&&p){var v=h,m=!1;h.forEach(function(w){m||Ps(w,function(A){if(A.id===d&&v){var L=v.indexOf(A);return v.splice(L,1),m=!0,!1}return v=A.children,!0})})}for(var g=e.getEdges(),x=g.length-1;x>=0;x--)n.removeItem(g[x],!1);p&&n.updateCombo(p)}else if(a===tM){var b=e.getModel().parentId,S,C=!1;(h||[]).forEach(function(A){C||Ps(A,function(L){return L.id===d?(S=L,C=!0,!1):!0})}),S.removed=!0,S&&S.children&&S.children.forEach(function(A){t.removeItem(A.id)});for(var g=e.getEdges(),x=g.length;x>=0;x--)n.removeItem(g[x],!1);b&&n.updateCombo(b)}e.destroy(),n.emit("afterremoveitem",{item:i,type:a})}},r.prototype.setItemState=function(e,t,n){var i=this.graph,a=t;(0,an.isString)(n)&&(a="".concat(t,":").concat(n)),!(e.hasState(a)===n&&n||(0,an.isString)(n)&&e.hasState(a))&&(i.emit("beforeitemstatechange",{item:e,state:a,enabled:n}),e.setState(t,n),i.autoPaint(),i.emit("afteritemstatechange",{item:e,state:a,enabled:n}))},r.prototype.priorityState=function(e,t){var n=this.graph,i=e;(0,an.isString)(e)&&(i=n.findById(e)),this.setItemState(i,t,!1),this.setItemState(i,t,!0)},r.prototype.clearItemStates=function(e,t){var n=this.graph;(0,an.isString)(e)&&(e=n.findById(e)),n.emit("beforeitemstatesclear",{item:e,states:t}),e.clearStates(t),n.emit("afteritemstatesclear",{item:e,states:t})},r.prototype.refreshItem=function(e){var t=this.graph;(0,an.isString)(e)&&(e=t.findById(e)),t.emit("beforeitemrefresh",{item:e}),e.refresh(),t.emit("afteritemrefresh",{item:e})},r.prototype.addCombos=function(e,t){var n=this,i=this.graph;(e||[]).forEach(function(o){Hh(o,function(s){var l;return t.forEach(function(u){u.id===s.id&&(u.children=s.children,u.depth=s.depth,l=u)}),l&&n.addItem("combo",l),!0})});var a=i.get("comboGroup");a&&a.sort()},r.prototype.changeItemVisibility=function(e,t){var n=this,i=this.graph;if((0,an.isString)(e)&&(e=i.findById(e)),!e){console.warn("The item to be shown or hidden does not exist!");return}if(i.emit("beforeitemvisibilitychange",{item:e,visible:t}),e.changeVisibility(t),e.getType&&e.getType()===JA){var a=e.getEdges();(0,an.each)(a,function(f){t&&!(f.get("source").isVisible()&&f.get("target").isVisible())||n.changeItemVisibility(f,t)})}else if(e.getType&&e.getType()===tM){var o=i.get("comboTrees"),s=e.get("id"),l=[],u=!1;(o||[]).forEach(function(c){u||!c.children||c.children.length===0||Ps(c,function(h){return h.id===s?(l=h.children,u=!0,!1):!0})}),l&&(!t||t&&!e.getModel().collapsed)&&l.forEach(function(c){var h=i.findById(c.id);n.changeItemVisibility(h,t)});var a=e.getEdges();(0,an.each)(a,function(c){t&&!(c.get("source").isVisible()&&c.get("target").isVisible())||n.changeItemVisibility(c,t)})}return i.emit("afteritemvisibilitychange",{item:e,visible:t}),e},r.prototype.destroy=function(){this.graph=null,this.destroyed=!0},r}(),ZV=AJt;var eM=z(q()),F0=null,MJt=function(){function r(e){this.graph=e,this.cachedStates={enabled:{},disabled:{}},this.destroyed=!1}return r.checkCache=function(e,t,n){if(!!n[t]){var i=n[t].indexOf(e);i>=0&&n[t].splice(i,1)}},r.cacheState=function(e,t,n){n[t]||(n[t]=[]),n[t].push(e)},r.prototype.updateState=function(e,t,n){var i=this,a=r.checkCache,o=r.cacheState;if(!e.destroyed){var s=this.cachedStates,l=s.enabled,u=s.disabled;n?(a(e,t,u),o(e,t,l)):(a(e,t,l),o(e,t,u)),F0&&clearTimeout(F0),F0=setTimeout(function(){F0=null,i.updateGraphStates()},16)}},r.prototype.updateStates=function(e,t,n){var i=this;(0,eM.isString)(t)?this.updateState(e,t,n):t.forEach(function(a){i.updateState(e,a,n)})},r.prototype.updateGraphStates=function(){var e=this.graph.get("states"),t=this.cachedStates;(0,eM.each)(t.disabled,function(n,i){e[i]&&(e[i]=e[i].filter(function(a){return n.indexOf(a)<0&&!n.destroyed}))}),(0,eM.each)(t.enabled,function(n,i){if(!e[i])e[i]=n;else{var a={};e[i].forEach(function(o){o.destroyed||(a[o.get("id")]=!0)}),n.forEach(function(o){if(!o.destroyed){var s=o.get("id");a[s]||(a[s]=!0,e[i].push(o))}})}}),this.graph.emit("graphstatechange",{states:e}),this.cachedStates={enabled:{},disabled:{}}},r.prototype.destroy=function(){this.graph=null,this.cachedStates=null,F0&&clearTimeout(F0),F0=null,this.destroyed=!0},r}(),$V=MJt;var Js=z(q());var t8={};Dn(t8,{getClosedSpline:()=>wk,getControlPoint:()=>rM,getSpline:()=>QV,paddedHull:()=>JV,pathToPoints:()=>Ck,pointsToPolygon:()=>IJt,roundedHull:()=>Ek});var TJt=function(e,t){return!e||!t?e:e.replace(/\\?\{([^{}]+)\}/g,function(n,i){if(n.charAt(0)==="\\")return n.slice(1);var a=t[i];return a===0&&(a="0"),a||""})},QV=function(e){var t=[];if(e.length<2)throw new Error("point length must largn than 2, now it's ".concat(e.length));for(var n=0,i=e;n0?o-1:t-1,l=oe.normalize([0,0],oe.add([0,0],a[s].v,oe.scale([0,0],a[o].v,-1)));a[o].p=oe.add([0,0],a[o].p,oe.scale([0,0],l,e))}return a.map(function(u){var f=u.p;return{x:f[0],y:f[1]}})}var Eht=function(e,t,n){return(e.y-n.y)*(t.x-n.x)-(e.x-n.x)*(t.y-n.y)},e8=function(e){var t=e.map(function(s){return{x:s.getModel().x,y:s.getModel().y}});if(t.sort(function(s,l){return s.x===l.x?s.y-l.y:s.x-l.x}),t.length===1)return t;for(var n=[],i=0;i=2&&Eht(n[n.length-2],n[n.length-1],t[i])<=0;)n.pop();n.push(t[i])}for(var a=[],i=t.length-1;i>=0;i--){for(;a.length>=2&&Eht(a[a.length-2],a[a.length-1],t[i])<=0;)a.pop();a.push(t[i])}a.pop(),n.pop();var o=n.concat(a);return o};var LJt={maxRoutingIterations:100,maxMarchingIterations:100,pixelGroupSize:2,edgeR0:10,edgeR1:10,nodeR0:5,nodeR1:10,morphBuffer:5,threshold:.001,skip:16,nodeInfluenceFactor:1,edgeInfluenceFactor:1,negativeNodeInfluenceFactor:-.5};function OJt(r,e,t){var n=!1,i=function(l,u){return e.cells[l+u*e.width]},a=function(l,u){var f=0;return i(l-1,u-1)>=t&&(f+=1),i(l,u-1)>t&&(f+=2),i(l-1,u)>t&&(f+=4),i(l,u)>t&&(f+=8),f},o=function(l,u){for(var f=l,c=u,h,d,p=0;p-1){if(!(r[0].x!==f||r[0].y!==c))return!0}else r.push({x:f,y:c});var v=a(f,c);switch(v){case-1:return console.warn("Marched out of bounds"),!0;case 0:case 3:case 2:case 7:f++;break;case 12:case 14:case 4:f--;break;case 6:h===0&&(d===-1?f-=1:f+=1);break;case 1:case 13:case 5:c--;break;case 9:h===1&&(d===0?c-=1:c+=1);break;case 10:case 8:case 11:c++;break;default:return console.warn("Marching squares invalid state: ".concat(v)),!0}}};this.march=function(){for(var s=0;st&&a(s,l)!==15&&(n=o(s,l));return n}}var DJt=function(e,t,n){var i=Math.ceil(e/n),a=Math.ceil(t/n),o=new Float32Array(Math.max(0,i*a)).fill(0);return{cells:o,width:i,height:a}},PJt=function(e,t,n){var i=null,a=Number.POSITIVE_INFINITY;return t.forEach(function(o){var s={x:e.getModel().x,y:e.getModel().y},l={x:o.getModel().x,y:o.getModel().y},u=XA(s,l),f=new cg(s.x,s.y,l.x,l.y),c=n.reduce(function(h,d){return fk(d,f)>0?h+1:h},0);u*Math.pow(c+1,2)=0&&o=1;)C/=1.5,w=Tht(p,C,m,S),A=u(w,o)||u(w,a),L=f(w,t);w&&!A&&(!S||!L)&&(o.push(new cg(d.x1,d.y1,w.x,w.y)),o.push(new cg(w.x,w.y,d.x2,d.y2)),s=!0)};x(!0),s||x(!1)}}s||a.push(d),l+=1};!s&&o.length;)c()}for(;o.length;)a.push(o.pop());return a};function RJt(r,e,t,n,i){var a=PJt(r,t,e);if(a===null)return[];var o=function(c){for(var h=[];c.length>0;){var d=c.pop();if(c.length===0){h.push(d);break}var p=c.pop(),v=new cg(d.x1,d.y1,p.x2,p.y2),m=Aht(e,v);m?(h.push(d),c.push(p)):c.push(v)}return h},s=new cg(r.getModel().x,r.getModel().y,a.getModel().x,a.getModel().y),l=kJt(s,e,n,i),u=o(l);return u}var Mht=function(e,t,n){var i=Object.assign(LJt,n),a=EV(e.map(function(x){return{x:x.getModel().x,y:x.getModel().y}}));e=e.sort(function(x,b){return XA({x:x.getModel().x,y:x.getModel().y},a)-XA({x:b.getModel().x,y:b.getModel().y},a)});var o=[],s=[];e.forEach(function(x){var b=RJt(x,t,o,i.maxRoutingIterations,i.morphBuffer);b.forEach(function(S){s.push(S)}),o.push(x)});for(var l=NJt(e,s,i.nodeR0),u=DJt(l.width,l.height,i.pixelGroupSize),f=[],c=[],h=0;h1)for(p=Math.floor(d.length/i.skip);p<3&&i.skip>1;)i.skip-=1,p=Math.floor(d.length/i.skip);for(var v=0,m=0;m0)i.nonMemberInfluenceFactor*=.8;else break}return c};function NJt(r,e,t){var n={minX:Number.POSITIVE_INFINITY,minY:Number.POSITIVE_INFINITY,maxX:Number.NEGATIVE_INFINITY,maxY:Number.NEGATIVE_INFINITY,width:0,height:0,x:0,y:0},i=[];r.forEach(function(l){i.push(l.getBBox())}),e.forEach(function(l){i.push(l.getBBox())});for(var a=0,o=i;an.maxX?s.maxX:n.maxX)+t,n.maxY=(s.maxY>n.maxY?s.maxY:n.maxY)+t}return n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.x=n.minX,n.y=n.minY,n}function FJt(r,e,t,n,i,a){function o(d,p){var v=Math.floor((d-p)/a.pixelGroupSize);return v<0?0:v}function s(d,p){return d*a.pixelGroupSize+p}var l=(a.nodeR0-a.nodeR1)*(a.nodeR0-a.nodeR1),u=(a.edgeR0-a.edgeR1)*(a.edgeR0-a.edgeR1),f=function(p,v){var m=Math.min(o(p.minX,v+n.minX),i.width),g=Math.min(o(p.minY,v+n.minY),i.height),x=Math.min(o(p.maxX,-v+n.minX),i.width),b=Math.min(o(p.maxY,-v+n.minY),i.height);return[m,g,x,b]},c=function(p,v){for(var m=p.getBBox(),g=f(m,a.nodeR1),x=g[0],b=g[1],S=g[2],C=g[3],w=b;wl.y?n?u.topLeft:u.bottomRight:n?u.topRight:u.bottomLeft:o.ys.x?n?u.topLeft:u.bottomRight:n?u.bottomLeft:u.topRight:a.x0?this.cfg.padding+e:10+e,this.cfg.bubbleCfg={nodeR0:this.padding-e,nodeR1:this.padding-e,morphBuffer:this.padding-e}},r.prototype.setType=function(){this.type=this.cfg.type,this.members.length<3&&(this.type="round-convex"),this.type!=="round-convex"&&this.type!=="smooth-convex"&&this.type!=="bubble"&&(console.warn("The hull type should be either round-convex, smooth-convex or bubble, round-convex is used by default."),this.type="round-convex")},r.prototype.calcPath=function(e,t){var n,i,a;switch(this.type){case"round-convex":n=e8(e),a=Ek(n.map(function(o){return[o.x,o.y]}),this.padding),i=Zf(a);break;case"smooth-convex":n=e8(e),n.length===2?(a=Ek(n.map(function(o){return[o.x,o.y]}),this.padding),i=Zf(a)):n.length>2&&(a=JV(n.map(function(o){return[o.x,o.y]}),this.padding),i=wk(a));break;case"bubble":n=Mht(e,t,this.cfg.bubbleCfg),i=n.length>=2&&wk(n);break;default:}return i},r.prototype.render=function(){this.group.addShape("path",{attrs:E({path:this.path},this.cfg.style),id:this.id,name:this.cfg.id,capture:!1}),this.group.toBack()},r.prototype.addMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e)),this.members.push(e);var t=this.nonMembers.indexOf(e);return t>-1&&this.nonMembers.splice(t,1),this.updateData(this.members,this.nonMembers),!0}},r.prototype.addNonMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e)),this.nonMembers.push(e);var t=this.members.indexOf(e);return t>-1&&this.members.splice(t,1),this.updateData(this.members,this.nonMembers),!0}},r.prototype.removeMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e));var t=this.members.indexOf(e);return t>-1?(this.members.splice(t,1),this.updateData(this.members,this.nonMembers),!0):!1}},r.prototype.removeNonMember=function(e){if(!!e){(0,Js.isString)(e)&&(e=this.graph.findById(e));var t=this.nonMembers.indexOf(e);return t>-1?(this.nonMembers.splice(t,1),this.updateData(this.members,this.nonMembers),!0):!1}},r.prototype.updateData=function(e,t){var n=this;this.group.findById(this.id).remove(),e&&(this.members=e.map(function(i){return(0,Js.isString)(i)?n.graph.findById(i):i})),t&&(this.nonMembers=t.map(function(i){return(0,Js.isString)(i)?n.graph.findById(i):i})),this.path=this.calcPath(this.members,this.nonMembers),this.render()},r.prototype.updateStyle=function(e){var t=this.group.findById(this.id);t.attr(E({},e))},r.prototype.updateCfg=function(e){var t=this;this.cfg=(0,Js.deepMix)(this.cfg,e),this.id=this.cfg.id,this.group=this.cfg.group,e.members&&(this.members=this.cfg.members.map(function(n){return(0,Js.isString)(n)?t.graph.findById(n):n})),e.nonMembers&&(this.nonMembers=this.cfg.nonMembers.map(function(n){return(0,Js.isString)(n)?t.graph.findById(n):n})),this.setPadding(),this.setType(),this.path=this.calcPath(this.members,this.nonMembers),this.render()},r.prototype.contain=function(e){var t=this,n;(0,Js.isString)(e)?n=this.graph.findById(e):n=e;var i,a=n.getKeyShape();if(n.get("type")==="path")i=Ck(a.attr("path"));else{var o=a.getCanvasBBox();i=[[o.minX,o.minY],[o.maxX,o.minY],[o.maxX,o.maxY],[o.minX,o.maxY]]}return i=i.map(function(s){var l=t.graph.getPointByCanvas(s[0],s[1]);return[l.x,l.y]}),SV(i,Ck(this.path))},r.prototype.destroy=function(){this.group.remove(),this.cfg=null},r}(),Ak=BJt;var nM=gr.transform,GJt="node",zJt=function(r){V(e,r);function e(t){var n=r.call(this)||this;return n.cfg=(0,Lr.deepMix)(n.getDefaultCfg(),t),n.init(),n.animating=!1,n.destroyed=!1,n.cfg.enabledStack&&(n.undoStack=new E_(n.cfg.maxStep),n.redoStack=new E_(n.cfg.maxStep)),n}return e.prototype.init=function(){this.initCanvas();var t=new UV(this),n=new BV(this),i=new ZV(this),a=new $V(this);this.set({viewController:t,modeController:n,itemController:i,stateController:a}),this.initLayoutController(),this.initEventController(),this.initGroups(),this.initPlugins()},e.prototype.initGroups=function(){var t=this.get("canvas");if(!!t){var n=t.get("el"),i=(n||{}).id,a=i===void 0?"g6":i,o=t.addGroup({id:"".concat(a,"-root"),className:qe.rootContainerClassName});if(this.get("groupByTypes")){var s=o.addGroup({id:"".concat(a,"-edge"),className:qe.edgeContainerClassName}),l=o.addGroup({id:"".concat(a,"-node"),className:qe.nodeContainerClassName}),u=o.addGroup({id:"".concat(a,"-combo"),className:qe.comboContainerClassName});u.toBack(),this.set({nodeGroup:l,edgeGroup:s,comboGroup:u})}var f=o.addGroup({id:"".concat(a,"-delegate"),className:qe.delegateContainerClassName});this.set({delegateGroup:f}),this.set("group",o)}},e.prototype.getDefaultCfg=function(){return{container:void 0,width:void 0,height:void 0,renderer:"canvas",modes:{},plugins:[],data:{},fitViewPadding:10,minZoom:.2,maxZoom:10,event:!0,groupByTypes:!0,directed:!1,autoPaint:!0,nodes:[],edges:[],combos:[],vedges:[],itemMap:{},linkCenter:!1,defaultNode:{},defaultEdge:{},nodeStateStyles:{},edgeStateStyles:{},states:{},animate:!1,animateCfg:{onFrame:void 0,duration:500,easing:"easeLinear"},callback:void 0,enabledStack:!1,maxStep:10,tooltips:[]}},e.prototype.set=function(t,n){return(0,Lr.isPlainObject)(t)?this.cfg=E(E({},this.cfg),t):this.cfg[t]=n,this},e.prototype.get=function(t){var n;return(n=this.cfg)===null||n===void 0?void 0:n[t]},e.prototype.getGroup=function(){return this.get("group")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.getMinZoom=function(){return this.get("minZoom")},e.prototype.setMinZoom=function(t){return this.set("minZoom",t)},e.prototype.getMaxZoom=function(){return this.get("maxZoom")},e.prototype.setMaxZoom=function(t){return this.set("maxZoom",t)},e.prototype.getWidth=function(){return this.get("width")},e.prototype.getHeight=function(){return this.get("height")},e.prototype.clearItemStates=function(t,n){(0,Lr.isString)(t)&&(t=this.findById(t));var i=this.get("itemController");n||(n=t.get("states")),i.clearItemStates(t,n);var a=this.get("stateController");a.updateStates(t,n,!1)},e.prototype.node=function(t){typeof t=="function"&&this.set("nodeMapper",t)},e.prototype.edge=function(t){typeof t=="function"&&this.set("edgeMapper",t)},e.prototype.combo=function(t){typeof t=="function"&&this.set("comboMapper",t)},e.prototype.findById=function(t){return this.get("itemMap")[t]},e.prototype.find=function(t,n){var i,a=this.get("".concat(t,"s"));return(0,Lr.each)(a,function(o,s){if(n(o,s))return i=o,i}),i},e.prototype.findAll=function(t,n){var i=[];return(0,Lr.each)(this.get("".concat(t,"s")),function(a,o){n(a,o)&&i.push(a)}),i},e.prototype.findAllByState=function(t,n){return this.findAll(t,function(i){return i.hasState(n)})},e.prototype.getAnimateCfgWithCallback=function(t){var n=t.animateCfg,i=t.callback,a;if(!n)a={duration:500,callback:i};else if(a=(0,Lr.clone)(n),n.callback){var o=n.callback;a.callback=function(){i(),o()}}else a.callback=i;return a},e.prototype.translate=function(t,n,i,a){var o=this,s=this.get("group"),l=(0,Lr.clone)(s.getMatrix());if(l||(l=[1,0,0,0,1,0,0,0,1]),i){var u=this.getAnimateCfgWithCallback({animateCfg:a,callback:function(){return o.emit("viewportchange",{action:"translate",matrix:s.getMatrix()})}});uk(s,{x:s.getCanvasBBox().x+t,y:s.getCanvasBBox().y+n},i,u||{duration:500,easing:"easeCubic"})}else l=nM(l,[["t",t,n]]),s.setMatrix(l),this.emit("viewportchange",{action:"translate",matrix:l}),this.autoPaint()},e.prototype.moveTo=function(t,n,i,a){var o=this.get("group");uk(o,{x:t,y:n},i,a||{duration:500,easing:"easeCubic"}),this.emit("viewportchange",{action:"move",matrix:o.getMatrix()})},e.prototype.fitView=function(t,n){t&&this.set("fitViewPadding",t);var i=this.get("viewController");n?i.fitViewByRules(n):i.fitView(),this.autoPaint()},e.prototype.fitCenter=function(){var t=this.get("viewController");t.fitCenter(),this.autoPaint()},e.prototype.addBehaviors=function(t,n){var i=this.get("modeController");return i.manipulateBehaviors(t,n,!0),this},e.prototype.removeBehaviors=function(t,n){var i=this.get("modeController");return i.manipulateBehaviors(t,n,!1),this},e.prototype.updateBehavior=function(t,n,i){var a=this.get("modeController");return a.updateBehavior(t,n,i),this},e.prototype.zoom=function(t,n,i,a){var o=this,s=this.get("group"),l=(0,Lr.clone)(s.getMatrix()),u=this.get("minZoom"),f=this.get("maxZoom");if(l||(l=[1,0,0,0,1,0,0,0,1]),n?l=nM(l,[["t",-n.x,-n.y],["s",t,t],["t",n.x,n.y]]):l=nM(l,[["s",t,t]]),u&&l[0]f)return!1;if(i){var c=(0,Lr.clone)(s.getMatrix());c||(c=[1,0,0,0,1,0,0,0,1]);var h=c[0],d=h*t,p=this.getAnimateCfgWithCallback({animateCfg:a,callback:function(){return o.emit("viewportchange",{action:"zoom",matrix:s.getMatrix()})}});s.animate(function(v){if(v===1)c=l;else{var m=TV(h,d,v)/c[0];n?c=nM(c,[["t",-n.x,-n.y],["s",m,m],["t",n.x,n.y]]):c=nM(c,[["s",m,m]])}return{matrix:c}},p)}else s.setMatrix(l),this.emit("viewportchange",{action:"zoom",matrix:l}),this.autoPaint();return!0},e.prototype.zoomTo=function(t,n,i,a){var o=t/this.getZoom();return this.zoom(o,n,i,a)},e.prototype.focusItem=function(t,n,i){var a=this.get("viewController"),o=!1;n?o=!0:n===void 0&&(o=this.get("animate"));var s={};i?s=i:i===void 0&&(s=this.get("animateCfg")),a.focus(t,o,s),this.autoPaint()},e.prototype.autoPaint=function(){this.get("autoPaint")&&this.paint()},e.prototype.paint=function(){this.emit("beforepaint"),this.get("canvas").draw(),this.emit("afterpaint")},e.prototype.getPointByClient=function(t,n){var i=this.get("viewController");return i.getPointByClient(t,n)},e.prototype.getClientByPoint=function(t,n){var i=this.get("viewController");return i.getClientByPoint(t,n)},e.prototype.getPointByCanvas=function(t,n){var i=this.get("viewController");return i.getPointByCanvas(t,n)},e.prototype.getCanvasByPoint=function(t,n){var i=this.get("viewController");return i.getCanvasByPoint(t,n)},e.prototype.getGraphCenterPoint=function(){var t=this.get("group").getCanvasBBox();return{x:(t.minX+t.maxX)/2,y:(t.minY+t.maxY)/2}},e.prototype.getViewPortCenterPoint=function(){return this.getPointByCanvas(this.get("width")/2,this.get("height")/2)},e.prototype.showItem=function(t,n){n===void 0&&(n=!0);var i=this.get("itemController"),a=i.changeItemVisibility(t,!0);if(n&&this.get("enabledStack")){var o=a.getID(),s=a.getType(),l={},u={};switch(s){case"node":l.nodes=[{id:o,visible:!1}],u.nodes=[{id:o,visible:!0}];break;case"edge":l.nodes=[{id:o,visible:!1}],u.edges=[{id:o,visible:!0}];break;case"combo":l.nodes=[{id:o,visible:!1}],u.combos=[{id:o,visible:!0}];break;default:break}this.pushStack("visible",{before:l,after:u})}},e.prototype.hideItem=function(t,n){n===void 0&&(n=!0);var i=this.get("itemController"),a=i.changeItemVisibility(t,!1);if(n&&this.get("enabledStack")){var o=a.getID(),s=a.getType(),l={},u={};switch(s){case"node":l.nodes=[{id:o,visible:!0}],u.nodes=[{id:o,visible:!1}];break;case"edge":l.nodes=[{id:o,visible:!0}],u.edges=[{id:o,visible:!1}];break;case"combo":l.nodes=[{id:o,visible:!0}],u.combos=[{id:o,visible:!1}];break;default:break}this.pushStack("visible",{before:l,after:u})}},e.prototype.refreshItem=function(t){var n=this.get("itemController");n.refreshItem(t)},e.prototype.setAutoPaint=function(t){var n=this;n.set("autoPaint",t);var i=n.get("canvas");i.set("autoDraw",t)},e.prototype.remove=function(t,n){n===void 0&&(n=!0),this.removeItem(t,n)},e.prototype.removeItem=function(t,n){n===void 0&&(n=!0);var i=t;if((0,Lr.isString)(t)&&(i=this.findById(t)),!i&&(0,Lr.isString)(t))console.warn("The item to be removed does not exist!");else if(i){var a="";if(i.getType&&(a=i.getType()),n&&this.get("enabledStack")){var o=E(E({},i.getModel()),{itemType:a}),s={};switch(a){case"node":{s.nodes=[o],s.edges=[];for(var l=i.getEdges(),u=l.length-1;u>=0;u--)s.edges.push(E(E({},l[u].getModel()),{itemType:"edge"}));break}case"edge":s.edges=[o];break;case"combo":s.combos=[o];break;default:break}this.pushStack("delete",{before:s,after:{}})}if(a==="node"){var f=i.getModel();f.comboId&&this.updateComboTree(i,void 0,!1)}var c=this.get("itemController");if(c.removeItem(i),a==="combo"){var h=vk(this.get("comboTrees"));this.set("comboTrees",h)}}},e.prototype.addItem=function(t,n,i,a){i===void 0&&(i=!0),a===void 0&&(a=!0);var o=this.get("comboSorted");this.set("comboSorted",o&&!a);var s=this.get("itemController");if(!sht(t,n))return!1;if(n.id&&this.findById(n.id)){console.warn("This item exists already. Be sure the id %c".concat(n.id,"%c is unique."),"font-size: 20px; color: red;","");return}var l,u=this.get("comboTrees");if(u||(u=[]),t==="combo"){var f=this.get("itemMap"),c=!1;if(u.forEach(function(S){c||Hh(S,function(C){if(n.parentId===C.id){c=!0;var w=E({id:n.id,depth:C.depth+2},n);C.children?C.children.push(w):C.children=[w],n.depth=w.depth,l=s.addItem(t,n)}var A=f[C.id];return c&&A&&A.getType&&A.getType()==="combo"&&s.updateCombo(A,C.children),!0})}),!c){var h=E({id:n.id,depth:0},n);n.depth=h.depth,u.push(h),l=s.addItem(t,n)}this.set("comboTrees",u)}else if(t==="node"&&(0,Lr.isString)(n.comboId)&&u){var d=this.findById(n.comboId);d&&d.getType&&d.getType()!=="combo"&&console.warn("'".concat(n.comboId,"' is not a id of a combo in the graph, the node will be added without combo.")),l=s.addItem(t,n);var p=this.get("itemMap"),v=!1,m=!1;(u||[]).forEach(function(S){m||v||Hh(S,function(C){if(C.id===n.id)return m=!0,!1;if(n.comboId===C.id&&!m){v=!0;var w=(0,Lr.clone)(n);w.itemType="node",C.children?C.children.push(w):C.children=[w],w.depth=C.depth+1}return v&&p[C.id].getType&&p[C.id].getType()==="combo"&&s.updateCombo(p[C.id],C.children),!0})})}else l=s.addItem(t,n);if(t==="node"&&n.comboId||t==="combo"&&n.parentId){var d=this.findById(n.comboId||n.parentId);d&&d.getType&&d.getType()==="combo"&&d.addChild(l)}var g=this.get("combos");if(g&&g.length>0&&this.sortCombos(),this.autoPaint(),i&&this.get("enabledStack")){var x=E(E({},l.getModel()),{itemType:t}),b={};switch(t){case"node":b.nodes=[x];break;case"edge":b.edges=[x];break;case"combo":b.combos=[x];break;default:break}this.pushStack("add",{before:{},after:b})}return l},e.prototype.add=function(t,n,i,a){return i===void 0&&(i=!0),a===void 0&&(a=!0),this.addItem(t,n,i,a)},e.prototype.updateItem=function(t,n,i){var a=this;i===void 0&&(i=!0);var o=this.get("itemController"),s;(0,Lr.isString)(t)?s=this.findById(t):s=t;var l=(0,Lr.clone)(s.getModel()),u="";s.getType&&(u=s.getType());var f=mn([],s.getStates(),!0);if(u==="combo"&&(0,Lr.each)(f,function(p){return a.setItemState(s,p,!1)}),o.updateItem(s,n),u==="combo"&&(0,Lr.each)(f,function(p){return a.setItemState(s,p,!0)}),i&&this.get("enabledStack")){var c={nodes:[],edges:[],combos:[]},h={nodes:[],edges:[],combos:[]},d=E({id:l.id},n);switch(u){case"node":c.nodes.push(l),h.nodes.push(d);break;case"edge":c.edges.push(l),h.edges.push(d);break;case"combo":c.combos.push(l),h.combos.push(d);break;default:break}u==="node"&&c.nodes.push(l),this.pushStack("update",{before:c,after:h})}},e.prototype.update=function(t,n,i){i===void 0&&(i=!0),this.updateItem(t,n,i)},e.prototype.setItemState=function(t,n,i){(0,Lr.isString)(t)&&(t=this.findById(t));var a=this.get("itemController");a.setItemState(t,n,i);var o=this.get("stateController");(0,Lr.isString)(i)?o.updateState(t,"".concat(n,":").concat(i),!0):o.updateState(t,n,i)},e.prototype.priorityState=function(t,n){var i=this.get("itemController");i.priorityState(t,n)},e.prototype.data=function(t){FV(t),this.set("data",t)},e.prototype.render=function(){var t=this;this.set("comboSorted",!1);var n=this.get("data");if(this.get("enabledStack")&&this.clearStack(),!n)throw new Error("data must be defined first");var i=n.nodes,a=i===void 0?[]:i,o=n.edges,s=o===void 0?[]:o,l=n.combos,u=l===void 0?[]:l;if(this.clear(!0),this.emit("beforerender"),(0,Lr.each)(a,function(m){t.add("node",m,!1,!1)}),u&&u.length!==0){var f=pk(u,a);this.set("comboTrees",f),t.addCombos(u)}(0,Lr.each)(s,function(m){t.add("edge",m,!1,!1)});var c=t.get("animate");(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",!1);var h=t.get("layoutController");if(h){if(h.layout(d),this.destroyed)return}else t.get("fitView")&&t.fitView(),t.get("fitCenter")&&t.fitCenter(),t.emit("afterrender"),t.set("animate",c);function d(){t.get("fitView")?t.fitView():t.get("fitCenter")&&t.fitCenter(),t.autoPaint(),t.emit("afterrender"),(t.get("fitView")||t.get("fitCenter"))&&t.set("animate",c)}if(!this.get("groupByTypes"))if(u&&u.length!==0)this.sortCombos();else if(n.nodes&&n.edges&&n.nodes.length=0;d--)c[d].destroyed&&c.splice(d,1);u&&(i.addCombos(u),this.get("groupByTypes")||this.sortCombos()),this.diffItems("edge",l,t.edges),(0,Lr.each)(s,function(v,m){v.getType&&(v.getType()==="node"||v.getType()==="combo")||l.edges.indexOf(v)<0&&(delete s[m],i.remove(v,!1))}),this.set({nodes:l.nodes,edges:l.edges});var p=this.get("layoutController");return p&&(p.changeData(),i.get("animate")&&!p.getLayoutType()?i.positionsAnimate():i.autoPaint()),setTimeout(function(){a.set("localRefresh",o)},16),this},e.prototype.addCombos=function(t){var n=this,i=n.get("comboTrees"),a=this.get("itemController");a.addCombos(i,t)},e.prototype.createCombo=function(t,n){var i=this;this.set("comboSorted",!1);var a="",o;if(!!t){if((0,Lr.isString)(t))a=t,o={id:t};else{if(a=t.id,!a){console.warn("Create combo failed. Please assign a unique string id for the adding combo.");return}o=t}var s=n.map(function(u){var f=i.findById(u),c=f.getModel(),h="";f.getType&&(h=f.getType());var d={id:f.getID(),itemType:h};return h==="combo"?(d.parentId=a,c.parentId=a):h==="node"&&(d.comboId=a,c.comboId=a),d});o.children=s,this.addItem("combo",o,!1),this.set("comboSorted",!1);var l=this.get("comboTrees");(l||[]).forEach(function(u){Hh(u,function(f){return f.id===a?(f.itemType="combo",f.children=s,!1):!0})}),l&&this.sortCombos()}},e.prototype.uncombo=function(t){var n=this,i,a=this,o=t;if((0,Lr.isString)(t)&&(o=this.findById(t)),!o||o.getType&&o.getType()!=="combo"){console.warn("The item is not a combo!");return}var s=o.getModel().parentId,l=a.get("comboTrees");l||(l=[]);var u=this.get("itemMap"),f=o.get("id"),c,h=[],d=this.get("combos"),p=this.findById(s);if(l.forEach(function(m){c||Hh(m,function(g){var x;if(g.id===f){c=g;var b=o.getEdges();b.forEach(function(C){n.removeItem(C,!1)});var S=d.indexOf(o);d.splice(S,1),delete u[f],o.destroy(),n.emit("afterremoveitem",{item:o,type:"combo"})}if(s&&c&&g.id===s){p.removeCombo(o),h=g.children;var S=h.indexOf(c);return S!==-1&&h.splice(S,1),(x=c.children)===null||x===void 0||x.forEach(function(w){var A=n.findById(w.id),L=A.getModel();A.getType&&A.getType()==="combo"?(w.parentId=s,delete w.comboId,L.parentId=s,delete L.comboId):A.getType&&A.getType()==="node"&&(w.comboId=s,L.comboId=s),p.addChild(A),h.push(w)}),!1}return!0})}),!s&&c){var v=l.indexOf(c);l.splice(v,1),(i=c.children)===null||i===void 0||i.forEach(function(m){m.parentId=void 0;var g=n.findById(m.id).getModel();delete g.parentId,delete g.comboId,m.itemType!=="node"&&l.push(m)})}},e.prototype.updateCombos=function(){var t=this,n=this,i=this.get("comboTrees"),a=n.get("itemController"),o=n.get("itemMap");(i||[]).forEach(function(s){Hh(s,function(l){if(!l)return!0;var u=o[l.id];if(u&&u.getType&&u.getType()==="combo"){var f=mn([],u.getStates(),!0);(0,Lr.each)(f,function(c){return t.setItemState(u,c,!1)}),a.updateCombo(u,l.children),(0,Lr.each)(f,function(c){return t.setItemState(u,c,!0)})}return!0})}),n.sortCombos()},e.prototype.updateCombo=function(t){var n=this,i=this,a=t,o;if((0,Lr.isString)(t)&&(a=this.findById(t)),!a||a.getType&&a.getType()!=="combo"){console.warn("The item to be updated is not a combo!");return}o=a.get("id");var s=this.get("comboTrees"),l=i.get("itemController"),u=i.get("itemMap");(s||[]).forEach(function(f){Hh(f,function(c){if(!c)return!0;var h=u[c.id];if(o===c.id&&h&&h.getType&&h.getType()==="combo"){var d=mn([],h.getStates(),!0);(0,Lr.each)(d,function(p){h.getStateStyle(p)&&n.setItemState(h,p,!1)}),l.updateCombo(h,c.children),(0,Lr.each)(d,function(p){h.getStateStyle(p)&&n.setItemState(h,p,!0)}),o&&(o=c.parentId)}return!0})})},e.prototype.updateComboTree=function(t,n,i){i===void 0&&(i=!0);var a=this;this.set("comboSorted",!1);var o;(0,Lr.isString)(t)?o=a.findById(t):o=t;var s=o.getModel(),l=s.comboId||s.parentId,u="";if(o.getType&&(u=o.getType()),n&&u==="combo"){var f=this.get("comboTrees"),c=!0,h;if((f||[]).forEach(function(x){h||Ps(x,function(b){if(!h)return b.id===o.getID()&&(h=b),!0})}),Ps(h,function(x){return x.id===n?(c=!1,!1):!0}),!c){console.warn("Failed to update the combo tree! The parentId points to a descendant of the combo!");return}}if(i&&this.get("enabledStack")){var d={},p={};u==="combo"?(d.combos=[{id:s.id,parentId:s.parentId}],p.combos=[{id:s.id,parentId:n}]):u==="node"&&(d.nodes=[{id:s.id,parentId:s.comboId}],p.nodes=[{id:s.id,parentId:n}]),this.pushStack("updateComboTree",{before:d,after:p})}if(s.parentId||s.comboId){var v=this.findById(s.parentId||s.comboId);v&&v.removeChild(o)}if(u==="combo"?s.parentId=n:u==="node"&&(s.comboId=n),n){var m=this.findById(n);m&&m.addChild(o)}if(l){var m=this.findById(l);m&&m.removeChild(o)}var g=vk(this.get("comboTrees"),s.id,n);this.set("comboTrees",g),this.updateCombos()},e.prototype.save=function(){var t=[],n=[],i=[];return(0,Lr.each)(this.get("nodes"),function(a){t.push(a.getModel())}),(0,Lr.each)(this.get("edges"),function(a){n.push(a.getModel())}),(0,Lr.each)(this.get("combos"),function(a){i.push(a.getModel())}),{nodes:t,edges:n,combos:i}},e.prototype.changeSize=function(t,n){var i=this.get("viewController");return i.changeSize(t,n),this},e.prototype.refresh=function(){var t=this;if(t.emit("beforegraphrefresh"),t.get("animate"))t.positionsAnimate();else{var n=t.get("nodes"),i=t.get("edges"),a=t.get("edges");(0,Lr.each)(n,function(o){o.refresh()}),(0,Lr.each)(i,function(o){o.refresh()}),(0,Lr.each)(a,function(o){o.refresh()})}t.emit("aftergraphrefresh"),t.autoPaint()},e.prototype.getNodes=function(){return this.get("nodes")},e.prototype.getEdges=function(){return this.get("edges")},e.prototype.getCombos=function(){return this.get("combos")},e.prototype.getComboChildren=function(t){if((0,Lr.isString)(t)&&(t=this.findById(t)),!t||t.getType&&t.getType()!=="combo"){console.warn("The combo does not exist!");return}return t.getChildren()},e.prototype.positionsAnimate=function(){var t=this;t.emit("beforeanimate");var n=t.get("animateCfg"),i=n.onFrame,a=t.getNodes(),o=a.map(function(l){var u=l.getModel();return{id:u.id,x:u.x,y:u.y}});t.isAnimating()&&t.stopAnimate();var s=t.get("canvas");s.animate(function(l){(0,Lr.each)(o,function(u){var f=t.findById(u.id);if(!(!f||f.destroyed)){var c=f.get("originAttrs"),h=f.get("model");if(!c){var d=f.getContainer().getMatrix();d||(d=[1,0,0,0,1,0,0,0,1]),c={x:d[6],y:d[7]},f.set("originAttrs",c)}if(i){var p=i(f,l,u,c);f.set("model",Object.assign(h,p))}else h.x=c.x+(u.x-c.x)*l,h.y=c.y+(u.y-c.y)*l}}),t.refreshPositions()},{duration:n.duration,easing:n.easing,callback:function(){(0,Lr.each)(a,function(u){u.set("originAttrs",null)}),n.callback&&n.callback(),t.emit("afteranimate"),t.animating=!1}})},e.prototype.refreshPositions=function(){var t=this;t.emit("beforegraphrefreshposition");var n=t.get("nodes"),i=t.get("edges"),a=t.get("vedges"),o=t.get("combos"),s,l={};(0,Lr.each)(n,function(u){s=u.getModel();var f=u.get("originAttrs");if(!(f&&s.x===f.x&&s.y===f.y)){var c=u.updatePosition({x:s.x,y:s.y});l[s.id]=c,s.comboId&&(l[s.comboId]=l[s.comboId]||c)}}),o&&o.length!==0&&t.updateCombos(),(0,Lr.each)(i,function(u){var f=u.getSource().getModel(),c=u.getTarget();if(!(0,Lr.isPlainObject)(c)){var h=c.getModel();(l[f.id]||l[h.id]||u.getModel().isComboEdge)&&u.refresh()}}),(0,Lr.each)(a,function(u){u.refresh()}),t.emit("aftergraphrefreshposition"),t.autoPaint()},e.prototype.stopAnimate=function(){this.get("canvas").stopAnimate()},e.prototype.isAnimating=function(){return this.animating},e.prototype.getZoom=function(){var t=this.get("group").getMatrix();return t?t[0]:1},e.prototype.getCurrentMode=function(){var t=this.get("modeController");return t.getMode()},e.prototype.setMode=function(t){var n=this.get("modeController");return n.setMode(t),this},e.prototype.clear=function(t){var n;return t===void 0&&(t=!1),(n=this.get("canvas"))===null||n===void 0||n.clear(),this.initGroups(),this.set({itemMap:{},nodes:[],edges:[],groups:[],combos:[],comboTrees:[]}),t||this.emit("afterrender"),this},e.prototype.updateLayout=function(t,n,i){var a=this,o=this.get("layoutController");if((0,Lr.isString)(t)&&(t={type:t}),n){var s=i;s||(n==="begin"?s={x:0,y:0}:s={x:this.getWidth()/2,y:this.getHeight()/2}),s=this.getPointByCanvas(s.x,s.y);var l=["force","gForce","fruchterman"];l.includes(t.type)||!t.type&&l.includes(o==null?void 0:o.layoutType)?t.center=[s.x,s.y]:this.once("afterlayout",function(c){var h=a.getGroup().getMatrix()||[1,0,0,0,1,0,0,0,1];s.x=s.x*h[0]+h[6],s.y=s.y*h[0]+h[7];var d=a.getGroup().getCanvasBBox(),p=d.minX,v=d.maxX,m=d.minY,g=d.maxY,x={x:(p+v)/2,y:(m+g)/2};n==="begin"&&(x.x=p,x.y=m),a.translate(s.x-x.x,s.y-x.y)})}var u=this.get("layout"),f={};Object.assign(f,u,t),this.set("layout",f),o.isLayoutTypeSame(f)&&f.gpuEnabled===u.gpuEnabled?o.updateLayoutCfg(f):o.changeLayout(f)},e.prototype.destroyLayout=function(){var t=this.get("layoutController");t.destroyLayout()},e.prototype.layout=function(){var t=this.get("layoutController"),n=this.get("layout");if(!(!n||!t)){if(n.workerEnabled){t.layout();return}t.layoutMethod?t.relayout(!0):t.layout()}},e.prototype.collapseCombo=function(t){var n=this;if((0,Lr.isString)(t)&&(t=this.findById(t)),!t){console.warn("The combo to be collapsed does not exist!");return}this.emit("beforecollapseexpandcombo",{action:"expand",item:t});var i=t.getModel(),a=this.get("itemController");a.collapseCombo(t),i.collapsed=!0;var o=this.getEdges().concat(this.get("vedges")),s=[],l=[],u=this.get("comboTrees"),f=!1;(u||[]).forEach(function(d){f||Ps(d,function(p){if(f&&p.depth<=i.depth)return!1;if(i.id===p.id&&(f=!0),f){var v=n.findById(p.id);v&&v.getType&&v.getType()==="combo"&&(s=s.concat(v.getNodes()),l=l.concat(v.getCombos()))}return!0})});var c={},h=[];o.forEach(function(d){if(!(d.isVisible()&&!d.getModel().isVEdge)){var p=d.getSource(),v=d.getTarget();if((s.includes(p)||l.includes(p))&&!s.includes(v)&&!l.includes(v)||p.getModel().id===i.id){var m=d.getModel();if(m.isVEdge){n.removeItem(d,!1);return}for(var g=v.getModel();!v.isVisible();){if(v=n.findById(g.parentId||g.comboId),!v||!g.parentId&&!g.comboId)return;g=v.getModel()}var x=g.id;if(c["".concat(i.id,"-").concat(x)]){c["".concat(i.id,"-").concat(x)]+=m.size||1;return}var b=n.addItem("vedge",{source:i.id,target:x,isVEdge:!0},!1);c["".concat(i.id,"-").concat(x)]=m.size||1,h.push(b)}else if(!s.includes(p)&&!l.includes(p)&&(s.includes(v)||l.includes(v))||v.getModel().id===i.id){var m=d.getModel();if(m.isVEdge){n.removeItem(d,!1);return}for(var S=p.getModel();!p.isVisible();){if(p=n.findById(S.parentId||S.comboId),!p||!S.parentId&&!S.comboId)return;S=p.getModel()}var C=S.id;if(c["".concat(C,"-").concat(i.id)]){c["".concat(C,"-").concat(i.id)]+=m.size||1;return}var b=n.addItem("vedge",{target:i.id,source:C,isVEdge:!0},!1);c["".concat(C,"-").concat(i.id)]=m.size||1,h.push(b)}}}),h.forEach(function(d){var p=d.getModel();n.updateItem(d,{size:c["".concat(p.source,"-").concat(p.target)]},!1)}),this.emit("aftercollapseexpandcombo",{action:"collapse",item:t})},e.prototype.expandCombo=function(t){var n=this;if((0,Lr.isString)(t)&&(t=this.findById(t)),!t||t.getType&&t.getType()!=="combo"){console.warn("The combo to be collapsed does not exist!");return}this.emit("beforecollapseexpandcombo",{action:"expand",item:t});var i=t.getModel(),a=this.get("itemController");a.expandCombo(t),i.collapsed=!1;var o=this.getEdges().concat(this.get("vedges")),s=[],l=[],u=this.get("comboTrees"),f=!1;(u||[]).forEach(function(d){f||Ps(d,function(p){if(f&&p.depth<=i.depth)return!1;if(i.id===p.id&&(f=!0),f){var v=n.findById(p.id);v&&v.getType&&v.getType()==="combo"&&(s=s.concat(v.getNodes()),l=l.concat(v.getCombos()))}return!0})});var c={},h={};o.forEach(function(d){if(!(d.isVisible()&&!d.getModel().isVEdge)){var p=d.getSource(),v=d.getTarget(),m=p.get("id"),g=v.get("id");if((s.includes(p)||l.includes(p))&&!s.includes(v)&&!l.includes(v)||m===i.id){if(d.getModel().isVEdge){n.removeItem(d,!1);return}for(var x=v.getModel();!v.isVisible();){if(v=n.findById(x.comboId||x.parentId),!v||!x.parentId&&!x.comboId)return;x=v.getModel()}g=x.id;for(var b=p.getModel();!p.isVisible();){if(p=n.findById(b.comboId||b.parentId),!p||!b.parentId&&!b.comboId)return;if(b.comboId===i.id||b.parentId===i.id)break;b=p.getModel()}if(m=b.id,g){var S="".concat(m,"-").concat(g);if(c[S]){c[S]+=d.getModel().size||1,n.updateItem(h[S],{size:c[S]},!1);return}var C=n.addItem("vedge",{source:m,target:g,isVEdge:!0},!1);c[S]=d.getModel().size||1,h[S]=C}}else if(!s.includes(p)&&!l.includes(p)&&(s.includes(v)||l.includes(v))||g===i.id){if(d.getModel().isVEdge){n.removeItem(d,!1);return}for(var b=p.getModel();!p.isVisible();){if(p=n.findById(b.comboId||b.parentId),!p||!b.parentId&&!b.comboId)return;b=p.getModel()}m=b.id;for(var x=v.getModel();!v.isVisible();){if(v=n.findById(x.comboId||x.parentId),!v||!x.parentId&&!x.comboId)return;if(x.comboId===i.id||x.parentId===i.id)break;x=v.getModel()}if(g=x.id,m){var S="".concat(m,"-").concat(g);if(c[S]){c[S]+=d.getModel().size||1,n.updateItem(h[S],{size:c[S]},!1);return}var C=n.addItem("vedge",{target:g,source:m,isVEdge:!0},!1);c[S]=d.getModel().size||1,h[S]=C}}else(s.includes(p)||l.includes(p))&&(s.includes(v)||l.includes(v))&&p.isVisible()&&v.isVisible()&&d.show()}}),this.emit("aftercollapseexpandcombo",{action:"expand",item:t})},e.prototype.collapseExpandCombo=function(t){if((0,Lr.isString)(t)&&(t=this.findById(t)),!(!t||t.getType&&t.getType()!=="combo")){for(var n=t.getModel(),i=this.findById(n.parentId);i;){var a=i.getModel();if(a.collapsed){console.warn("Fail to expand the combo since it's ancestor combo is collapsed."),i=void 0;return}i=this.findById(a.parentId)}var o=n.collapsed;o?this.expandCombo(t):this.collapseCombo(t),this.updateCombo(t)}},e.prototype.sortCombos=function(){var t=this,n=this.get("comboSorted");if(!n){this.set("comboSorted",!0);var i=[],a={},o=this.get("comboTrees");(o||[]).forEach(function(l){Ps(l,function(u){return i[u.depth]?i[u.depth].push(u.id):i[u.depth]=[u.id],a[u.id]=u.depth,!0})});var s=this.getEdges().concat(this.get("vedges"));(s||[]).forEach(function(l){var u=l.getModel(),f=a[u.source]||0,c=a[u.target]||0,h=Math.max(f,c);i[h]?i[h].push(u.id):i[h]=[u.id]}),i.forEach(function(l){if(!(!l||!l.length))for(var u=l.length-1;u>=0;u--){var f=t.findById(l[u]);f&&f.toFront()}})}},e.prototype.getNeighbors=function(t,n){var i=t;return(0,Lr.isString)(t)&&(i=this.findById(t)),i.getNeighbors(n)},e.prototype.getNodeDegree=function(t,n,i){n===void 0&&(n=void 0),i===void 0&&(i=!1);var a=t;(0,Lr.isString)(t)&&(a=this.findById(t));var o=this.get("degrees");(!o||i)&&(o=Fp(this.save()),this.set("degrees",o));var s=o[a.getID()],l=0;if(!s)return 0;switch(n){case"in":l=s.inDegree;break;case"out":l=s.outDegree;break;case"all":l=s;break;default:l=s.degree;break}return l},e.prototype.getUndoStack=function(){return this.undoStack},e.prototype.getRedoStack=function(){return this.redoStack},e.prototype.getStackData=function(){return this.get("enabledStack")?{undoStack:this.undoStack.toArray(),redoStack:this.redoStack.toArray()}:null},e.prototype.clearStack=function(){this.get("enabledStack")&&(this.undoStack.clear(),this.redoStack.clear())},e.prototype.pushStack=function(t,n,i){if(t===void 0&&(t="update"),i===void 0&&(i="undo"),!this.get("enabledStack")){console.warn("\u8BF7\u5148\u542F\u7528 undo & redo \u529F\u80FD\uFF0C\u5728\u5B9E\u4F8B\u5316 Graph \u65F6\u5019\u914D\u7F6E enabledStack: true !");return}var a=n?(0,Lr.clone)(n):{before:{},after:(0,Lr.clone)(this.save())};i==="redo"?this.redoStack.push({action:t,data:a}):this.undoStack.push({action:t,data:a}),this.emit("stackchange",{undoStack:this.undoStack,redoStack:this.redoStack})},e.prototype.getAdjMatrix=function(t,n){t===void 0&&(t=!0),n===void 0&&(n=this.get("directed"));var i=this.get("adjMatrix");return(!i||!t)&&(i=hf(this.save(),n),this.set("adjMatrix",i)),i},e.prototype.getShortestPathMatrix=function(t,n){t===void 0&&(t=!0),n===void 0&&(n=this.get("directed"));var i=this.get("adjMatrix"),a=this.get("shortestPathMatrix");return(!i||!t)&&(i=hf(this.save(),n),this.set("adjMatrix",i)),(!a||!t)&&(a=ug(this.save(),n),this.set("shortestPathMatrix",a)),a},e.prototype.on=function(t,n,i){return r.prototype.on.call(this,t,n,i)},e.prototype.destroy=function(){var t,n,i,a,o;this.clear(),this.clearStack(),(t=this.get("itemController"))===null||t===void 0||t.destroy(),(n=this.get("modeController"))===null||n===void 0||n.destroy(),(i=this.get("viewController"))===null||i===void 0||i.destroy(),(a=this.get("stateController"))===null||a===void 0||a.destroy(),(o=this.get("canvas"))===null||o===void 0||o.destroy(),this.cfg=null,this.destroyed=!0,this.redoStack=null,this.undoStack=null},e.prototype.createHull=function(t){if(!t.members||t.members.length<1){console.warn("Create hull failed! The members is empty.");return}var n=this.get("hullGroup"),i=this.get("hullMap");if(i||(i={},this.set("hullMap",i)),(!n||n.get("destroyed"))&&(n=this.get("group").addGroup({id:"hullGroup"}),n.toBack(),this.set("hullGroup",n)),i[t.id])return console.warn("Existed hull id."),i[t.id];var a=n.addGroup({id:"".concat(t.id,"-container")}),o=new Ak(this,E(E({},t),{group:a})),s=o.id;return i[s]=o,o},e.prototype.getHulls=function(){return this.get("hullMap")},e.prototype.getHullById=function(t){return this.get("hullMap")[t]},e.prototype.removeHull=function(t){var n,i;(0,Lr.isString)(t)?i=this.getHullById(t):i=t,(n=this.get("hullMap"))===null||n===void 0||delete n[i.id],i.destroy()},e.prototype.removeHulls=function(){var t=this.getHulls();!t||!Object.keys(t).length||(Object.keys(t).forEach(function(n){var i=t[n];i.destroy()}),this.set("hullMap",{}))},e}(Hv),Mk=zJt;var vg=z(q());var na=z(q());function r8(r){return r8=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r8(r)}var P_=gr.transform,Iht="-shape",n8="-label",Tk=["startArrow","endArrow"],Lht={lineWidth:1,stroke:void 0,fill:void 0,lineAppendWidth:1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,x:0,y:0,r:10,width:20,height:20,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},UJt={lineWidth:1,stroke:"#000",lineDash:void 0,startArrow:!1,endArrow:!1,opacity:void 0,strokeOpacity:void 0,fillOpacity:void 0,shadowColor:void 0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0},Ik={edge:UJt,node:Lht,combo:Lht},Lk="-label-bg",k_={options:{labelCfg:{style:{fontFamily:qe.windowFontFamily}},descriptionCfg:{style:{fontFamily:qe.windowFontFamily}}},itemType:"",type:"",getCustomConfig:function(e){return{}},getOptions:function(e,t){return t==="move"||(t==null?void 0:t.includes("bbox"))?{}:(0,na.deepMix)({},this.options,this.getCustomConfig(e)||{},e)},draw:function(e,t){t.shapeMap={},this.mergeStyle=this.getOptions(e);var n=this.drawShape(e,t);if(n.set("className",this.itemType+Iht),t.shapeMap[this.itemType+Iht]=n,e.label){var i=this.drawLabel(e,t);i.set("className",this.itemType+n8),t.shapeMap[this.itemType+n8]=i}return n},afterDraw:function(e,t,n){},drawShape:function(e,t){return null},drawLabel:function(e,t){var n=(this.mergeStyle||this.getOptions(e)||{}).labelCfg,i=n||{},a=this.getLabelStyle(e,i,t),o=a.rotate;delete a.rotate;var s=t.addShape("text",{attrs:a,draggable:!0,className:"text-shape",name:"text-shape",labelRelated:!0});if(t.shapeMap["text-shape"]=s,!isNaN(o)&&o!==""){var l=s.getBBox(),u=[1,0,0,0,1,0,0,0,1];if(a.rotateCenter)switch(a.rotateCenter){case"center":u=P_(u,[["t",-l.width/2,-l.height/2],["r",o],["t",l.width/2,l.height/2]]);break;case"lefttop":u=P_(u,[["t",-a.x,-a.y],["r",o],["t",a.x,a.y]]);break;case"leftcenter":u=P_(u,[["t",-a.x,-a.y-l.height/2],["r",o],["t",a.x,a.y+l.height/2]]);break;default:u=P_(u,[["t",-l.width/2,-l.height/2],["r",o],["t",l.width/2,l.height/2]]);break}else u=P_(u,[["t",-a.x,-a.y-l.height/2],["r",o],["t",a.x,a.y+l.height/2]]);s.setMatrix(u)}if(a.background){var f=this.drawLabelBg(e,t,s),c=this.itemType+Lk;f.set("classname",c),t.shapeMap[c]=f,s.toFront()}return s},drawLabelBg:function(e,t,n){var i=this.options.labelCfg,a=(0,na.mix)({},i,e.labelCfg),o=this.getLabelBgStyleByPosition(n,a),s=t.addShape("rect",{name:"text-bg-shape",attrs:o,labelRelated:!0});return t.shapeMap["text-bg-shape"]=s,s},getLabelStyleByPosition:function(e,t,n){return{text:e.label}},getLabelBgStyleByPosition:function(e,t){return{}},getLabelStyle:function(e,t,n){var i=this.getLabelStyleByPosition(e,t,n),a="".concat(this.itemType,"Label"),o=qe[a]?qe[a].style:null;return E(E(E({},o),i),t.style)},getShapeStyle:function(e){return e.style},update:function(e,t,n){this.updateShapeStyle(e,t,n),this.updateLabel(e,t,n)},updateShapeStyle:function(e,t,n){var i,a=t.getContainer(),o=t.getKeyShape(),s=(0,na.mix)({},o.attr(),e.style),l=function(c){var h,d=s[c];if((0,na.isPlainObject)(d)){var p=((i=a.shapeMap)===null||i===void 0?void 0:i[c])||a.find(function(v){return v.get("name")===c});p==null||p.attr(d)}else o.attr((h={},h[c]=d,h))};for(var u in s)l(u)},updateLabel:function(e,t,n){var i,a;if(e.label||e.label===""){var o=t.getContainer(),s=(this.mergeStyle||this.getOptions({},n)||{}).labelCfg,l=s===void 0?{}:s,u=this.itemType+n8,f=o.shapeMap[u]||o.find(function(S){return S.get("className")===u}),c=this.itemType+Lk,h=o.shapeMap[c]||o.find(function(S){return S.get("className")===c});if(f){(!n||n==="bbox|label"||this.itemType==="edge"&&n!=="style")&&(l=(0,na.deepMix)(l,e.labelCfg));var p=this.getLabelStyleByPosition(e,l,o),v=(i=e.labelCfg)===null||i===void 0?void 0:i.style,m=E(E({},p),v),g=m.rotate;if(delete m.rotate,!isNaN(g)&&g!==""){var x=[1,0,0,0,1,0,0,0,1];x=P_(x,[["t",-m.x,-m.y],["r",g],["t",m.x,m.y]]),m.matrix=x,f.attr(m)}else((a=f.getMatrix())===null||a===void 0?void 0:a[4])!==1&&f.resetMatrix(),f.attr(m);if(!h)m.background&&(h=this.drawLabelBg(e,o,f),h.set("classname",c),o.shapeMap[c]=h,f.toFront());else if(m.background){var b=this.getLabelBgStyleByPosition(f,l);h.attr(b)}else o.removeChild(h)}else{var d=this.drawLabel(e,o);d.set("className",u),o.shapeMap[u]=d}}},afterUpdate:function(e,t){},setState:function(e,t,n){var i,a,o,s=n.get("keyShape");if(!(!s||s.destroyed)){var l=n.getType(),u=(0,na.isBoolean)(t)?e:"".concat(e,":").concat(t),f=this.getStateStyle(u,n),c=n.getStateStyle(u);if(!(!c&&!f)){var h=(0,na.mix)({},c||f),d=n.getContainer(),p={x:1,y:1,cx:1,cy:1,matrix:1};if(l==="combo"&&(p.r=1,p.width=1,p.height=1),t){var v=function(D){var G,U=h[D];if((0,na.isPlainObject)(U)&&!Tk.includes(D)){var j=((o=d.shapeMap)===null||o===void 0?void 0:o[D])||d.find(function(H){return H.get("name")===D});j==null||j.attr(U)}else s.attr((G={},G[D]=U,G))};for(var m in h)v(m)}else{var g=KA(n.getCurrentStatesStyle()),x=n.getModel(),b=(0,na.mix)({},x.style,KA(n.getOriginStyle())),S=s.get("name"),C=s.attr(),w={};Object.keys(C).forEach(function(F){if(F!=="img"){var D=C[F];D&&r8(D)==="object"?w[F]=(0,na.clone)(D):w[F]=D}});var A={},L=function(D){var G=h[D];if((0,na.isPlainObject)(G)&&!Tk.includes(D)){var U=d.shapeMap[D]||d.find(function(tt){return tt.get("name")===D});if(U){var j=KA(U.attr());(0,na.each)(G,function(tt,et){if(D===S&&w[et]&&!p[et]){delete w[et];var ut=b[D][et]||Ik[l][et];s.attr(et,ut)}else if(j[et]||j[et]===0){delete j[et];var $=b[D][et]||Ik[l][et];U.attr(et,$)}}),A[D]=j}}else if(w[D]&&!p[D]){delete w[D];var H=b[D]||(b[S]?b[S][D]:void 0)||Ik[l][D];s.attr(D,H)}};for(var k in h)L(k);S?A[S]=w:(0,na.mix)(A,w);for(var m in g)if(!p[m]){var O=g[m];(!(0,na.isPlainObject)(O)||Tk.includes(m))&&(S?((0,na.mix)(b[S],(a={},a[m]=O,a)),delete b[m]):(0,na.mix)(b,(i={},i[m]=O,i)),delete g[m])}var M={};(0,na.deepMix)(M,b,A,g);var I=!1,R=function(D){var G,U,j=M[D];if((0,na.isPlainObject)(j)&&!Tk.includes(D)){var H=d.shapeMap[D]||d.find(function(et){return et.get("name")===D});H&&((H.get("type")==="text"||H.get("labelRelated"))&&(delete j.x,delete j.y,delete j.matrix),D===S&&(l==="combo"&&(delete j.r,delete j.width,delete j.height),I=!0),H.attr(j))}else if(!I){var tt=j||Ik[l][D];l==="combo"?S||s.attr((G={},G[D]=tt,G)):s.attr((U={},U[D]=tt,U))}};for(var P in M)R(P)}}}},getStateStyle:function(e,t){var n=t.getModel(),i=t.getType(),a=this.getOptions(n),o=a.stateStyles,s=a.style,l=s===void 0?{}:s,u=n.stateStyles?n.stateStyles[e]:o&&o[e];return i==="combo"?(0,na.clone)(u):(0,na.mix)({},l,u)},getControlPoints:function(e){return e.controlPoints},getAnchorPoints:function(e){var t,n,i=(e==null?void 0:e.anchorPoints)||((t=this.getCustomConfig(e))===null||t===void 0?void 0:t.anchorPoints)||((n=this.options)===null||n===void 0?void 0:n.anchorPoints);return i}};var jJt={itemType:"node",shapeType:"single-node",labelPosition:"center",offset:qe.nodeLabel.offset,getSize:function(e){var t,n=((t=this.mergeStyle)===null||t===void 0?void 0:t.size)||e.size||this.getOptions({}).size||qe.defaultNode.size;return(0,vg.isArray)(n)&&n.length===1&&(n=[n[0],n[0]]),(0,vg.isArray)(n)||(n=[n,n]),n},getLabelStyleByPosition:function(e,t){var n=t.position||this.labelPosition;if(n==="center")return{x:0,y:0,text:e.label};var i=t.offset;(0,vg.isNil)(i)&&(i=this.offset);var a=this.getSize(e),o;switch(n){case"top":o={x:0,y:-a[1]/2-i,textBaseline:"bottom"};break;case"bottom":o={x:0,y:a[1]/2+i,textBaseline:"top"};break;case"left":o={x:-a[0]/2-i,y:0,textAlign:"right"};break;default:o={x:a[0]/2+i,y:0,textAlign:"left"};break}return o.text=e.label,o},getLabelBgStyleByPosition:function(e,t){var n;if(!e)return{};var i=(n=t.style)===null||n===void 0?void 0:n.background;if(!i)return{};var a=e.getBBox(),o=ZA(i.padding),s=a.width+o[1]+o[3],l=a.height+o[0]+o[2];return E(E({x:a.minX-o[3],y:a.minY-o[0]},i),{width:s,height:l})},drawShape:function(e,t){var n=this.shapeType,i=this.getShapeStyle(e),a=t.addShape(n,{attrs:i,draggable:!0,name:"node-shape"});return t.shapeMap["node-shape"]=a,a},updateLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=t.shapeMap["link-point-left"]||t.find(function(M){return M.get("className")==="link-point-left"}),a=t.shapeMap["link-point-right"]||t.find(function(M){return M.get("className")==="link-point-right"}),o=t.shapeMap["link-point-top"]||t.find(function(M){return M.get("className")==="link-point-top"}),s=t.shapeMap["link-point-bottom"]||t.find(function(M){return M.get("className")==="link-point-bottom"}),l;i&&(l=i.attr()),a&&!l&&(l=a.attr()),o&&!l&&(l=o.attr()),s&&!l&&(l=s.attr()),l||(l=n);var u=(0,vg.mix)({},l,e.linkPoints),f=u.fill,c=u.stroke,h=u.lineWidth,d=u.size/2;d||(d=u.r);var p=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},v=p.left,m=p.right,g=p.top,x=p.bottom,b=this.getSize(e),S=b[0],C=b[1],w={r:d,fill:f,stroke:c,lineWidth:h};if(i)!v&&v!==void 0?(i.remove(),delete t.shapeMap["link-point-left"]):i.attr(E(E({},w),{x:-S/2,y:0}));else if(v){var A="link-point-left";t.shapeMap[A]=t.addShape("circle",{attrs:E(E({},w),{x:-S/2,y:0}),className:A,name:A,isAnchorPoint:!0})}if(a)!m&&m!==void 0&&(a.remove(),delete t.shapeMap["link-point-right"]),a.attr(E(E({},w),{x:S/2,y:0}));else if(m){var L="link-point-right";t.shapeMap[L]=t.addShape("circle",{attrs:E(E({},w),{x:S/2,y:0}),className:L,name:L,isAnchorPoint:!0})}if(o)!g&&g!==void 0&&(o.remove(),delete t.shapeMap["link-point-top"]),o.attr(E(E({},w),{x:0,y:-C/2}));else if(g){var k="link-point-top";t.shapeMap[k]=t.addShape("circle",{attrs:E(E({},w),{x:0,y:-C/2}),className:k,name:k,isAnchorPoint:!0})}if(s)!x&&x!==void 0?(s.remove(),delete t.shapeMap["link-point-bottom"]):s.attr(E(E({},w),{x:0,y:C/2}));else if(x){var O="link-point-bottom";t.shapeMap[O]=t.addShape("circle",{attrs:E(E({},w),{x:0,y:C/2}),className:O,name:O,isAnchorPoint:!0})}},updateShape:function(e,t,n,i,a){var o=t.get("keyShape");o.attr(E({},n)),this.updateLabel(e,t,a),i&&this.updateIcon(e,t)},updateIcon:function(e,t){var n=this,i=t.getContainer(),a=(this.mergeStyle||this.getOptions(e)).icon,o=e.icon?e.icon:{show:void 0,text:void 0},s=o.show,l=o.text,u=i.shapeMap["".concat(this.type,"-icon")]||i.find(function(g){return g.get("name")==="".concat(n.type,"-icon")});if(u)if(s||s===void 0){var f=(0,vg.mix)({},u.attr(),a),c=f.width,h=c===void 0?20:c,d=f.height,p=d===void 0?20:d;(f.fontFamily==="iconfont"||f.hasOwnProperty("text"))&&(h=0,p=0),u.attr(E(E({},f),{x:-h/2,y:-p/2}))}else u.remove();else if(s){var v="".concat(this.type,"-icon");if(l)i.shapeMap[v]=i.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},a),className:v,name:v});else{var h=a.width,p=a.height;i.shapeMap[v]=i.addShape("image",{attrs:E(E({},a),{x:-h/2,y:-p/2}),className:v,name:v})}var m=i.shapeMap["node-label"]||i.find(function(g){return g.get("name")==="node-label"});m&&m.toFront()}}},WJt=E(E({},k_),jJt);zi.registerNode("single-node",WJt);var ca=z(q());var Ok="edge-shape";function VJt(r){var e=r;return r==="start"?e="end":r==="end"&&(e="start"),e}var HJt={itemType:"edge",labelPosition:"center",refX:0,refY:0,labelAutoRotate:!1,options:{size:qe.defaultEdge.size,style:{x:0,y:0,stroke:qe.defaultEdge.style.stroke,lineAppendWidth:qe.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:qe.edgeLabel.style.fill,fontSize:qe.edgeLabel.style.fontSize,fontFamily:qe.windowFontFamily}},stateStyles:E({},qe.edgeStateStyles)},getPath:function(e){var t=[];return(0,ca.each)(e,function(n,i){i===0?t.push(["M",n.x,n.y]):t.push(["L",n.x,n.y])}),t},getShapeStyle:function(e){var t=this.options.style,n={stroke:e.color},i=(0,ca.mix)({},t,n,e.style),a=e.size||qe.defaultEdge.size;e=this.getPathPoints(e);var o=e.startPoint,s=e.endPoint,l=this.getControlPoints(e),u=[o];l&&(u=u.concat(l)),u.push(s);var f=this.getPath(u),c=(0,ca.mix)({},qe.defaultEdge.style,{stroke:qe.defaultEdge.color,lineWidth:a,path:f},i);return c},updateShapeStyle:function(e,t,n){var i,a=t.getContainer(),o=((i=t.getKeyShape)===null||i===void 0?void 0:i.call(t))||a.shapeMap["edge-shape"],s=e.size;e=this.getPathPoints(e);var l=e.startPoint,u=e.endPoint,f=this.getControlPoints(e),c=[l];f&&(c=c.concat(f)),c.push(u);var h=o.attr(),d=e.style||{};d.stroke===void 0&&(d.stroke=e.color);var p=e.sourceNode,v=e.targetNode,m={radius:d.radius};f||(m={source:p,target:v,offset:d.offset,radius:d.radius});var g=this.getPath(c,m),x={};n==="move"?x={path:g}:(h.endArrow&&d.endArrow===!1&&(e.style.endArrow={path:""}),h.startArrow&&d.startArrow===!1&&(e.style.startArrow={path:""}),x=E({},e.style),x.lineWidth===void 0&&(x.lineWdith=((0,ca.isNumber)(s)?s:s==null?void 0:s[0])||h.lineWidth),x.path===void 0&&(x.path=g),x.stroke===void 0&&(x.stroke=h.stroke||e.color)),o&&o.attr(x)},getLabelStyleByPosition:function(e,t,n){var i=t.position||this.labelPosition,a={},o=n==null?void 0:n.shapeMap[Ok],s;i==="start"?s=0:i==="end"?s=1:s=.5;var l=t.refX||this.refX,u=t.refY||this.refY;if(e.startPoint.x===e.endPoint.x&&e.startPoint.y===e.endPoint.y)return a.x=e.startPoint.x+l,a.y=e.startPoint.y+u,a.text=e.label,a;var f;(0,ca.isNil)(t.autoRotate)?f=this.labelAutoRotate:f=t.autoRotate;var c=kV(o,s,l,u,f);return a.x=c.x,a.y=c.y,a.rotate=c.rotate,a.textAlign=this._getTextAlign(i,c.angle),a.text=e.label,a},getLabelBgStyleByPosition:function(e,t){if(!e)return{};var n=e.getBBox(),i=t.style&&t.style.background;if(!i)return{};var a=i.padding,o=n.width+a[1]+a[3],s=n.height+a[0]+a[2],l=E(E({},i),{width:o,height:s,x:n.minX-a[3],y:n.minY-a[0],matrix:[1,0,0,0,1,0,0,0,1]}),u;return(0,ca.isNil)(t.autoRotate)?u=this.labelAutoRotate:u=t.autoRotate,u&&(l.matrix=e.attr("matrix")||[1,0,0,0,1,0,0,0,1]),l},_getTextAlign:function(e,t){var n="center";return t?(t=t%(Math.PI*2),e!=="center"&&(t>=0&&t<=Math.PI/2||t>=3/2*Math.PI&&t<2*Math.PI?n=e:n=VJt(e)),n):e},getControlPoints:function(e){return e.controlPoints},getPathPoints:function(e){return e},drawShape:function(e,t){var n=this.getShapeStyle(e),i=t.addShape("path",{className:Ok,name:Ok,attrs:n});return t.shapeMap[Ok]=i,i},drawLabel:function(e,t){var n=this.options.labelCfg,i=(0,ca.deepMix)({},n,e.labelCfg),a=this.getLabelStyle(e,i,t),o=a.rotate;delete a.rotate;var s=t.addShape("text",{attrs:a,name:"text-shape",labelRelated:!0});if(t.shapeMap["text-shape"]=s,!isNaN(o)&&o!==""&&s.rotateAtStart(o),a.background){var l=this.drawLabelBg(e,t,s,a,o),u=this.itemType+Lk;l.set("classname",u),t.shapeMap[u]=l,s.toFront()}return s},drawLabelBg:function(e,t,n,i,a){var o=this.options.labelCfg,s=(0,ca.deepMix)({},o,e.labelCfg),l=this.getLabelBgStyleByPosition(n,s),u=t.addShape("rect",{name:"text-bg-shape",attrs:l,labelRelated:!0});return t.shapeMap["text-bg-shape"]=u,u}},YJt=E(E({},k_),HJt);zi.registerEdge("single-edge",YJt);zi.registerEdge("line",{getControlPoints:function(){}},"single-edge");zi.registerEdge("spline",{getPath:function(e){var t=QV(e);return t}},"single-edge");zi.registerEdge("arc",{curveOffset:20,clockwise:1,getControlPoints:function(e){var t=e.startPoint,n=e.endPoint,i={x:(t.x+n.x)/2,y:(t.y+n.y)/2},a,o;if(e.controlPoints!==void 0){if(o=e.controlPoints[0],a=lk(t,o,n),t.x<=n.x&&t.y>n.y?this.clockwise=a.x>o.x?0:1:t.x<=n.x&&t.yo.x?1:0:t.x>n.x&&t.y<=n.y?this.clockwise=a.yTJt});var TJt=["#5F95FF","#61DDAA","#65789B","#F6BD16","#7262FD","#78D3F8","#9661BC","#F6903D","#008685","#F08BB4"];var IJt=gr.transform,LJt=E(E(E(E(E(E({},kV),LV),qV),CV),JV),{transform:IJt,mat3:Ai}),Pa=LJt;var D_=U(q());var OJt=function(){function r(e){this.graph=e,this.layoutCfg=e.get("layout")||{},this.layoutType=this.getLayoutType(),this.layoutMethods=[],this.initLayout()}return r.prototype.initLayout=function(){},r.prototype.getLayoutType=function(){return this.getLayoutCfgType(this.layoutCfg)},r.prototype.getLayoutCfgType=function(e){var t=e.type;if(t)return t;var n=e.pipes;return Array.isArray(n)?n.map(function(i){return(i==null?void 0:i.type)||""}):null},r.prototype.isLayoutTypeSame=function(e){var t=this.getLayoutCfgType(e);return Array.isArray(this.layoutType)?this.layoutType.every(function(n,i){return n===t[i]}):(e==null?void 0:e.type)===this.layoutType},r.prototype.refreshLayout=function(){var e=this.graph;!e||(e.get("animate")?e.positionsAnimate():e.refreshPositions())},r.prototype.changeLayout=function(e){this.layoutCfg=e,this.destoryLayoutMethods(),this.layout()},r.prototype.changeData=function(){this.destoryLayoutMethods(),this.layout()},r.prototype.destoryLayoutMethods=function(){var e=this.layoutMethods;e==null||e.forEach(function(t){t.destroy()}),this.layoutMethods=[]},r.prototype.destroyLayout=function(){var e=this.graph;this.destoryLayoutMethods(),e.set("layout",void 0),this.layoutCfg=void 0,this.layoutType=void 0,this.layoutMethods=void 0},r.prototype.setDataFromGraph=function(){for(var e=[],t=[],n=[],i=[],a=[],o=[],s=[],l=this.graph.getNodes(),u=this.graph.getEdges(),f=this.graph.getCombos(),c=l.length,h=0;hOre,getColorsWithSubjectColor:()=>hR,mixColor:()=>Mo});var B_=U(Qdt());var cM=U(Jdt()),cR=2,tpt=.16,Ere=.05,Are=.05,Mre=.15,ept=5,rpt=4,Tre=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function npt(r,e,t){var n;return Math.round(r.h)>=60&&Math.round(r.h)<=240?n=t?Math.round(r.h)-cR*e:Math.round(r.h)+cR*e:n=t?Math.round(r.h)+cR*e:Math.round(r.h)-cR*e,n<0?n+=360:n>=360&&(n-=360),n}function ipt(r,e,t){if(r.h===0&&r.s===0)return r.s;var n;return t?n=r.s-tpt*e:e===rpt?n=r.s+tpt:n=r.s+Ere*e,n>1&&(n=1),t&&e===ept&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2))}function apt(r,e,t){var n;return t?n=r.v+Are*e:n=r.v-Mre*e,n>1&&(n=1),Number(n.toFixed(2))}function hM(r){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[],n=(0,cM.default)(r),i=ept;i>0;i-=1){var a=n.toHsv(),o=(0,cM.default)({h:npt(a,i,!0),s:ipt(a,i,!0),v:apt(a,i,!0)}).toHexString();t.push(o)}t.push(n.toHexString());for(var s=1;s<=rpt;s+=1){var l=n.toHsv(),u=(0,cM.default)({h:npt(l,s),s:ipt(l,s),v:apt(l,s)}).toHexString();t.push(u)}return e.theme==="dark"?Tre.map(function(f){var c=f.index,h=f.opacity,d=cM.default.mix(e.backgroundColor||"#141414",t[c],h*100).toHexString();return d}):t}var C8={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Ps={},w8={};Object.keys(C8).forEach(function(r){Ps[r]=hM(C8[r]),Ps[r].primary=Ps[r][5],w8[r]=hM(C8[r],{theme:"dark",backgroundColor:"#141414"}),w8[r].primary=w8[r][5]});var hSr=Ps.red,dSr=Ps.volcano,pSr=Ps.gold,vSr=Ps.orange,mSr=Ps.yellow,gSr=Ps.lime,ySr=Ps.green,xSr=Ps.cyan,bSr=Ps.blue,_Sr=Ps.geekblue,SSr=Ps.purple,CSr=Ps.magenta,wSr=Ps.grey;var Mo=function(e,t,n){var i=(0,B_.default)(e),a=(0,B_.default)(t);return(0,B_.default)([(1-n)*i.red()+n*a.red(),(1-n)*i.green()+n*a.green(),(1-n)*i.blue()+n*a.blue()]).rgb()},Ire=function(e,t,n){t===void 0&&(t="#fff"),n===void 0&&(n="rgb(150, 150, 150)");var i=Mo(t,e,.05).rgb().toString(),a=Mo(t,e,.1).rgb().toString(),o=Mo(t,e,.2).rgb().toString(),s=Mo(t,e,.4).rgb().toString(),l=Mo(t,n,.02).rgb().toString(),u=Mo(t,n,.05).rgb().toString(),f=Mo(t,n,.1).rgb().toString(),c=Mo(t,n,.2).rgb().toString(),h=Mo(t,n,.3).rgb().toString(),d=hM(e,{theme:"default",backgroundColor:t}),p=(0,B_.default)(e).hex().toLowerCase(),v=d.indexOf(p),m=e;return v!==-1&&(m=d[v+1]),{mainStroke:e,mainFill:a,activeStroke:e,activeFill:i,inactiveStroke:s,inactiveFill:i,selectedStroke:e,selectedFill:t,highlightStroke:m,highlightFill:o,disableStroke:h,disableFill:u,edgeMainStroke:h,edgeActiveStroke:e,edgeInactiveStroke:c,edgeSelectedStroke:e,edgeHighlightStroke:e,edgeDisableStroke:f,comboMainStroke:h,comboMainFill:l,comboActiveStroke:e,comboActiveFill:i,comboInactiveStroke:h,comboInactiveFill:l,comboSelectedStroke:e,comboSelectedFill:l,comboHighlightStroke:m,comboHighlightFill:l,comboDisableStroke:c,comboDisableFill:u}},Lre=function(e,t,n){t===void 0&&(t="#fff"),n===void 0&&(n="#777");var i=Mo(t,e,.2).rgb().toString(),a=Mo(t,e,.3).rgb().toString(),o=Mo(t,e,.6).rgb().toString(),s=Mo(t,e,.8).rgb().toString(),l=Mo(t,n,.2).rgb().toString(),u=Mo(t,n,.25).rgb().toString(),f=Mo(t,n,.3).rgb().toString(),c=Mo(t,n,.4).rgb().toString(),h=Mo(t,n,.5).rgb().toString(),d=hM(e,{theme:"dark",backgroundColor:t}),p=(0,B_.default)(e).hex().toLowerCase(),v=d.indexOf(p),m=e;return v!==-1&&(m=d[v+1]),{mainStroke:s,mainFill:i,activeStroke:e,activeFill:a,inactiveStroke:s,inactiveFill:i,selectedStroke:e,selectedFill:i,highlightStroke:e,highlightFill:o,disableStroke:h,disableFill:u,edgeMainStroke:n,edgeActiveStroke:e,edgeInactiveStroke:n,edgeSelectedStroke:e,edgeHighlightStroke:e,edgeDisableStroke:f,comboMainStroke:c,comboMainFill:u,comboActiveStroke:e,comboActiveFill:l,comboInactiveStroke:c,comboInactiveFill:u,comboSelectedStroke:e,comboSelectedFill:l,comboHighlightStroke:m,comboHighlightFill:u,comboDisableStroke:c,comboDisableFill:l}},hR=function(e,t,n,i){return t===void 0&&(t="#fff"),n===void 0&&(n="default"),i===void 0&&(i="rgb(150, 150, 150)"),n==="default"?Ire(e,t,"rgb(150, 150, 150)"):Lre(e,t,"#777")},Ore=function(e,t,n,i){t===void 0&&(t="#fff"),n===void 0&&(n="default"),i===void 0&&(i="rgb(150, 150, 150)");var a=[];return e.forEach(function(o){a.push(hR(o,t,n,i))}),a};var Dre="rgb(95, 149, 255)",Pre="rgb(255, 255, 255)",opt="rgb(0, 0, 0)",Rn=hR(Dre,Pre),_c={version:"0.5.3",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:Rn.mainStroke,fill:Rn.mainFill},size:20,color:Rn.mainStroke,linkPoints:{size:8,lineWidth:1,fill:Rn.activeFill,stroke:Rn.activeStroke}},nodeStateStyles:{active:{fill:Rn.activeFill,stroke:Rn.activeStroke,lineWidth:2,shadowColor:Rn.mainStroke,shadowBlur:10},selected:{fill:Rn.selectedFill,stroke:Rn.selectedStroke,lineWidth:4,shadowColor:Rn.selectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:Rn.highlightFill,stroke:Rn.highlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:Rn.inactiveFill,stroke:Rn.inactiveStroke,lineWidth:1},disable:{fill:Rn.disableFill,stroke:Rn.disableStroke,lineWidth:1}},edgeLabel:{style:{fill:opt,textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Rn.edgeMainStroke,lineAppendWidth:2},color:Rn.edgeMainStroke},edgeStateStyles:{active:{stroke:Rn.edgeActiveStroke,lineWidth:1},selected:{stroke:Rn.edgeSelectedStroke,lineWidth:2,shadowColor:Rn.edgeSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Rn.edgeHighlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:Rn.edgeInactiveStroke,lineWidth:1},disable:{stroke:Rn.edgeDisableStroke,lineWidth:1}},comboLabel:{style:{fill:opt,textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:Rn.comboMainFill,lineWidth:1,stroke:Rn.comboMainStroke,r:5,width:20,height:10},size:[20,5],color:Rn.comboMainStroke,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:Rn.comboActiveStroke,lineWidth:1,fill:Rn.comboActiveFill},selected:{stroke:Rn.comboSelectedStroke,lineWidth:2,fill:Rn.comboSelectedFill,shadowColor:Rn.comboSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Rn.comboHighlightStroke,lineWidth:2,fill:Rn.comboHighlightFill,"text-shape":{fontWeight:500}},inactive:{stroke:Rn.comboInactiveStroke,fill:Rn.comboInactiveFill,lineWidth:1},disable:{stroke:Rn.comboDisableStroke,fill:Rn.comboDisableFill,lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},textWaterMarkerConfig:{width:150,height:100,compatible:!1,text:{x:0,y:60,lineHeight:20,rotate:20,fontSize:14,fontFamily:"Microsoft YaHei",fill:"rgba(0, 0, 0, 0.1)",baseline:"Middle"}},imageWaterMarkerConfig:{width:150,height:130,compatible:!1,image:{x:0,y:0,width:30,height:20,rotate:0}},waterMarkerImage:"https://gw.alipayobjects.com/os/s/prod/antv/assets/image/logo-with-text-73b8a.svg"};var mg=U(q());var kre=Pa.cloneEvent,Rre=Pa.isViewportChanged,Nre=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.extendEvents=[],n.dragging=!1,n.preItem=null,n.graph=t,n.destroyed=!1,n.initEvents(),n}return e.prototype.initEvents=function(){var t=this,n=t.graph,i=t.extendEvents,a=i===void 0?[]:i,o=n.get("canvas"),s=o.get("el"),l=(0,mg.wrapBehavior)(this,"onCanvasEvents"),u=(0,mg.wrapBehavior)(this,"onExtendEvents"),f=(0,mg.wrapBehavior)(this,"onWheelEvent");o.off("*").on("*",l),this.canvasHandler=l,a.push(Ws(s,"DOMMouseScroll",f)),a.push(Ws(s,"mousewheel",f)),typeof window!="undefined"&&(a.push(Ws(window,"keydown",u)),a.push(Ws(window,"keyup",u)),a.push(Ws(window,"focus",u)))},e.getItemRoot=function(t){for(;t&&!t.get("item");)t=t.get("parent");return t},e.prototype.onCanvasEvents=function(t){var n=this.graph,i=n.get("canvas"),a=t.target,o=t.type;t.canvasX=t.x,t.canvasY=t.y;var s={x:t.canvasX,y:t.canvasY},l=n.get("group"),u=l.getMatrix();if(u||(u=[1,0,0,0,1,0,0,0,1]),Rre(u)&&(s=n.getPointByClient(t.clientX,t.clientY)),t.x=s.x,t.y=s.y,t.currentTarget=n,a===i){(o==="mousemove"||o==="mouseleave")&&this.handleMouseMove(t,"canvas"),t.target=i,t.item=null,n.emit(o,t),n.emit("canvas:".concat(o),t);return}var f=e.getItemRoot(a);if(!f){n.emit(o,t);return}var c=f.get("item");if(!c.destroyed){var h=c.getType();if(t.target=a,t.item=c,t.canvasX===t.x&&t.canvasY===t.y){var d=n.getCanvasByPoint(t.x,t.y);t.canvasX=d.x,t.canvasY=d.y}n.emit(o,t),t.name&&!t.name.includes(":")?n.emit("".concat(h,":").concat(o),t):n.emit(t.name,t),o==="dragstart"&&(this.dragging=!0),o==="dragend"&&(this.dragging=!1),o==="mousemove"&&this.handleMouseMove(t,h)}},e.prototype.onExtendEvents=function(t){this.graph.emit(t.type,t)},e.prototype.onWheelEvent=function(t){(0,mg.isNil)(t.wheelDelta)&&(t.wheelDelta=-t.detail),this.graph.emit("wheel",t)},e.prototype.handleMouseMove=function(t,n){var i=this,a=i.graph,o=i.preItem,s=a.get("canvas"),l=t.target===s?null:t.item;t=kre(t),o&&o!==l&&!o.destroyed&&(t.item=o,this.emitCustomEvent(o.getType(),"mouseleave",t),this.dragging&&this.emitCustomEvent(o.getType(),"dragleave",t)),l&&o!==l&&(t.item=l,this.emitCustomEvent(n,"mouseenter",t),this.dragging&&this.emitCustomEvent(n,"dragenter",t)),this.preItem=l},e.prototype.emitCustomEvent=function(t,n,i){i.type=n,this.graph.emit("".concat(t,":").concat(n),i)},e.prototype.destroy=function(){var t=this,n=t.graph,i=t.canvasHandler,a=t.extendEvents,o=n.get("canvas");o.off("*",i),(0,mg.each)(a,function(s){s.remove()}),this.dragging=!1,this.preItem=null,this.extendEvents.length=0,this.canvasHandler=null,this.destroyed=!0},e}(Lk),A8=Nre;var li=class{constructor(){this.nodes=[],this.edges=[],this.combos=[],this.positions=[],this.destroyed=!1,this.onLayoutEnd=()=>{}}layout(e){return this.init(e),this.execute(!0)}init(e){this.nodes=e.nodes||[],this.edges=e.edges||[],this.combos=e.combos||[]}execute(e){}executeWithWorker(){}getDefaultCfg(){return{}}updateCfg(e){e&&Object.assign(this,e)}getType(){return"base"}destroy(){this.nodes=null,this.edges=null,this.combos=null,this.positions=null,this.destroyed=!0}};var gg=r=>typeof r=="string",Fre=r=>{let e=Object.create(null);return t=>e[t]||(e[t]=r(t))},Bre=/-(\w)/g,kSr=Fre(r=>r.replace(Bre,(e,t)=>t?t.toUpperCase():""));var ha=Array.isArray;var je=r=>typeof r=="number",dM=r=>Number.isNaN(Number(r));var co=r=>r!==null&&typeof r=="object",F0=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){let e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>F0(t))}if(typeof r=="object"&&r!=={}){let e=Object.assign({},r);return Object.keys(e).forEach(t=>{e[t]=F0(e[t])}),e}return r};var xn=(r,e)=>{let t=r[e];return co(t)?t.cell:t},Qh=(r,e,t)=>{let n=[];for(let i=0;i{let a=xn(i,"source"),o=xn(i,"target");a&&(n[e[a]]+=1),o&&(n[e[o]]+=1)}),n},dR=r=>{let e=[],t=r.length;for(let n=0;ne[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},pR=(r,e)=>{let{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((o,s)=>{a[o.id]=s;let l=[];i.push(l)}),n&&n.forEach(o=>{let s=xn(o,"source"),l=xn(o,"target"),u=a[s],f=a[l];i[u][f]=1,e||(i[f][u]=1)}),i},spt=(r,e)=>{let t=[];return r.forEach(n=>{let i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},lpt=(r,e)=>{if(r&&r.children){for(let t=r.children.length-1;t>=0;t--)if(!lpt(r.children[t],e))return}return!!e(r)},pM=(r,e)=>{typeof e=="function"&&lpt(r,e)};var gf=r=>typeof r=="function";var vR=new Map,fs=(r,e)=>{if(vR.get(r)&&console.warn(`The layout with the name ${r} exists already, it will be overridden`),co(e)){class t extends li{constructor(i){super();let a=this,o={},s=a.getDefaultCfg();Object.assign(o,s,e,i),Object.keys(o).forEach(l=>{let u=o[l];a[l]=u})}}vR.set(r,t)}else vR.set(r,e);return vR.get(r)};var G_=class extends li{constructor(e){super();this.begin=[0,0],this.preventOverlap=!0,this.preventOverlapPadding=10,this.condense=!1,this.sortBy="degree",this.nodeSize=30,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.row=0,this.col=0,this.cellWidth=0,this.cellHeight=0,this.cellUsed={},this.id2manPos={},this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length,a=e.begin;if(i===0)return e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n};if(i===1)return t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n};let o=[];t.forEach(f=>{o.push(f)});let s={};if(o.forEach((f,c)=>{s[f.id]=c}),(e.sortBy==="degree"||!gg(e.sortBy)||o[0][e.sortBy]===void 0)&&(e.sortBy="degree",dM(t[0].degree))){let f=Qh(o.length,s,n);o.forEach((c,h)=>{c.degree=f[h]})}o.sort((f,c)=>c[e.sortBy]-f[e.sortBy]),!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let l=e.rows,u=e.cols!=null?e.cols:e.columns;if(e.cells=i,l!=null&&u!=null?(e.rows=l,e.cols=u):l!=null&&u==null?(e.rows=l,e.cols=Math.ceil(e.cells/e.rows)):l==null&&u!=null?(e.cols=u,e.rows=Math.ceil(e.cells/e.cols)):(e.splits=Math.sqrt(e.cells*e.height/e.width),e.rows=Math.round(e.splits),e.cols=Math.round(e.width/e.height*e.splits)),e.cols*e.rows>e.cells){let f=e.small(),c=e.large();(f-1)*c>=e.cells?e.small(f-1):(c-1)*f>=e.cells&&e.large(c-1)}else for(;e.cols*e.rows=e.cells?e.large(c+1):e.small(f+1)}e.cellWidth=e.width/e.cols,e.cellHeight=e.height/e.rows,e.condense&&(e.cellWidth=0,e.cellHeight=0),e.preventOverlap&&o.forEach(f=>{(!f.x||!f.y)&&(f.x=0,f.y=0);let c,h;ha(f.size)?(c=f.size[0],h=f.size[1]):je(f.size)?(c=f.size,h=f.size):co(f.size)&&(c=f.size.width,h=f.size.height),(c===void 0||h===void 0)&&(ha(e.nodeSize)?(c=e.nodeSize[0],h=e.nodeSize[1]):je(e.nodeSize)?(c=e.nodeSize,h=e.nodeSize):(c=30,h=30));let d=e.preventOverlapPadding,p=c+d,v=h+d;e.cellWidth=Math.max(e.cellWidth,p),e.cellHeight=Math.max(e.cellHeight,v)}),e.cellUsed={},e.row=0,e.col=0,e.id2manPos={};for(let f=0;f=t&&(e.col=0,e.row++)}getPos(e){let t=this,n=t.begin,i=t.cellWidth,a=t.cellHeight,o,s,l=t.id2manPos[e.id];if(l)o=l.col*i+i/2+n[0],s=l.row*a+a/2+n[1];else{for(;t.used(t.row,t.col);)t.moveToNextCell();o=t.col*i+i/2+n[0],s=t.row*a+a/2+n[1],t.use(t.row,t.col),t.moveToNextCell()}e.x=o,e.y=s}getType(){return"grid"}};var z_=class extends li{constructor(e){super();this.center=[0,0],this.width=300,this.height=300,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],width:300,height:300}}execute(){let e=this,t=e.nodes,n=.9,i=e.center;return!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),t&&t.forEach(a=>{a.x=(Math.random()-.5)*n*e.width+i[0],a.y=(Math.random()-.5)*n*e.height+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:this.edges}}getType(){return"random"}};var M8=(r,e)=>{let t;return r?je(r)?t=n=>r:t=r:t=n=>e||1,t},U_=class extends li{constructor(e){super();this.maxIteration=1e3,this.workerEnabled=!1,this.edgeStrength=200,this.nodeStrength=1e3,this.coulombDisScale=.005,this.damping=.9,this.maxSpeed=1e3,this.minMovement=.5,this.interval=.02,this.factor=1,this.linkDistance=1,this.gravity=10,this.preventOverlap=!0,this.tick=()=>{},this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:500,gravity:10,enableTick:!0}}execute(){var e,t;let n=this,i=n.nodes;if(n.timeInterval!==void 0&&typeof window!="undefined"&&window.clearInterval(n.timeInterval),!i||i.length===0){(e=n.onLayoutEnd)===null||e===void 0||e.call(n);return}!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);let a=n.center;if(i.length===1){i[0].x=a[0],i[0].y=a[1],(t=n.onLayoutEnd)===null||t===void 0||t.call(n);return}let o={},s={};i.forEach((c,h)=>{je(c.x)||(c.x=Math.random()*n.width),je(c.y)||(c.y=Math.random()*n.height),o[c.id]=c,s[c.id]=h}),n.nodeMap=o,n.nodeIdxMap=s,n.linkDistance=M8(n.linkDistance,1),n.nodeStrength=M8(n.nodeStrength,1),n.edgeStrength=M8(n.edgeStrength,1);let l=n.nodeSize,u;if(n.preventOverlap){let c=n.nodeSpacing,h;je(c)?h=()=>c:gf(c)?h=c:h=()=>0,l?ha(l)?u=d=>(l[0]>l[1]?l[0]:l[1])+h(d):u=d=>l+h(d):u=d=>d.size?ha(d.size)?(d.size[0]>d.size[1]?d.size[0]:d.size[1])+h(d):co(d.size)?(d.size.width>d.size.height?d.size.width:d.size.height)+h(d):d.size+h(d):10+h(d)}n.nodeSize=u;let f=n.edges;n.degrees=Qh(i.length,n.nodeIdxMap,f),n.getMass||(n.getMass=c=>n.degrees[n.nodeIdxMap[c.id]]||1),n.run()}run(){var e;let t=this,{maxIteration:n,nodes:i,workerEnabled:a,minMovement:o}=t;if(!!i)if(a){for(let s=0;s{var l,u;if(!i)return;let f=t.runOneStep(s)||[];t.reachMoveThreshold(i,f,o)&&((l=t.onLayoutEnd)===null||l===void 0||l.call(t),window.clearInterval(t.timeInterval)),s++,s>=n&&((u=t.onLayoutEnd)===null||u===void 0||u.call(t),window.clearInterval(t.timeInterval))},0)}}reachMoveThreshold(e,t,n){let i=0;return e.forEach((a,o)=>{let s=a.x-t[o].x,l=a.y-t[o].y;i+=Math.sqrt(s*s+l*l)}),i/=e.length,i{o[2*c]=0,o[2*c+1]=0,s[2*c]=0,s[2*c+1]=0}),n.calRepulsive(o,i),a&&n.calAttractive(o,a),n.calGravity(o,i);let l=Math.max(.02,n.interval-e*.002);n.updateVelocity(o,s,l,i);let u=[];return i.forEach(f=>{u.push({x:f.x,y:f.y})}),n.updatePosition(s,l,i),(t=n.tick)===null||t===void 0||t.call(n),u}calRepulsive(e,t){let n=this,i=n.getMass,a=n.nodeStrength,o=n.factor,s=n.coulombDisScale,l=n.preventOverlap,u=n.nodeSize;t.forEach((f,c)=>{let h=i?i(f):1;t.forEach((d,p)=>{if(c>=p)return;let v=f.x-d.x,m=f.y-d.y,g=Math.sqrt(v*v+m*m)+.01,x=(g+.1)*s,b=v/g,S=m/g,C=(a(f)+a(d))/2*o/(x*x),w=i?i(d):1;if(e[2*c]+=b*C,e[2*c+1]+=S*C,e[2*p]-=b*C,e[2*p+1]-=S*C,l&&g<(u(f)+u(d))/2){let A=(a(f)+a(d))/2/(g*g);e[2*c]+=b*A/h,e[2*c+1]+=S*A/h,e[2*p]-=b*A/w,e[2*p+1]-=S*A/w}})})}calAttractive(e,t){let n=this,i=n.nodeMap,a=n.nodeIdxMap,o=n.linkDistance,s=n.edgeStrength,l=n.getMass;t.forEach((u,f)=>{let c=xn(u,"source"),h=xn(u,"target"),d=i[c],p=i[h],v=p.x-d.x,m=p.y-d.y,g=Math.sqrt(v*v+m*m)+.01,x=v/g,b=m/g,w=((o(u)||1)-g)*s(u),A=a[c],I=a[h],P=l?l(d):1,L=l?l(p):1;e[2*A]-=x*w/P,e[2*A+1]-=b*w/P,e[2*I]+=x*w/L,e[2*I+1]+=b*w/L})}calGravity(e,t){let n=this,i=n.center,a=n.gravity,o=n.degrees,s=t.length;for(let l=0;l{let u=e[2*l]*o||.01,f=e[2*l+1]*o||.01,c=Math.sqrt(u*u+f*f);if(c>a.maxSpeed){let h=a.maxSpeed/c;u=h*u,f=h*f}t[2*l]=u,t[2*l+1]=f})}updatePosition(e,t,n){n.forEach((i,a)=>{if(je(i.fx)&&je(i.fy)){i.x=i.fx,i.y=i.fy;return}let o=e[2*a]*t,s=e[2*a+1]*t;i.x+=o,i.y+=s})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval)}destroy(){let e=this;e.stop(),e.tick=null,e.nodes=null,e.edges=null,e.destroyed=!0}getType(){return"gForce"}};function vM(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,o=t.length,s,l=0,u=0;for(a=0;a=(c=(s+u)/2))?s=c:u=c,(m=t>=(h=(l+f)/2))?l=h:f=h,i=a,!(a=a[g=m<<1|v]))return i[g]=o,r;if(d=+r._x.call(null,a.data),p=+r._y.call(null,a.data),e===d&&t===p)return o.next=a,i?i[g]=o:r._root=o,r;do i=i?i[g]=new Array(4):r._root=new Array(4),(v=e>=(c=(s+u)/2))?s=c:u=c,(m=t>=(h=(l+f)/2))?l=h:f=h;while((g=m<<1|v)==(x=(p>=h)<<1|d>=c));return i[x]=a,i[g]=o,r}function cpt(r){var e,t,n=r.length,i,a,o=new Array(n),s=new Array(n),l=1/0,u=1/0,f=-1/0,c=-1/0;for(t=0;tf&&(f=i),ac&&(c=a));if(l>f||u>c)return this;for(this.cover(l,u).cover(f,c),t=0;tr||r>=i||n>e||e>=a;)switch(u=(ef||(s=p.y0)>c||(l=p.x1)=g)<<1|r>=m)&&(p=h[h.length-1],h[h.length-1]=h[h.length-1-v],h[h.length-1-v]=p)}else{var x=r-+this._x.call(null,d.data),b=e-+this._y.call(null,d.data),S=x*x+b*b;if(S=(h=(o+l)/2))?o=h:l=h,(v=c>=(d=(s+u)/2))?s=d:u=d,e=t,!(t=t[m=v<<1|p]))return this;if(!t.length)break;(e[m+1&3]||e[m+2&3]||e[m+3&3])&&(n=e,g=m)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[m]=a:delete e[m],(t=e[0]||e[1]||e[2]||e[3])&&t===(e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[g]=t:this._root=t),this):(this._root=a,this)}function gpt(r){for(var e=0,t=r.length;eh.index){var M=d-I.x-I.vx,O=p-I.y-I.vy,F=M*M+O*O;Fd+L||wp+L||Au.r&&(u.r=u[f].r)}function l(){if(!!e){var u,f=e.length,c;for(t=new Array(f),u=0;u[e(C,w,o),C])),S;for(m=0,s=new Array(g);m{}};function Tpt(){for(var r=0,e=arguments.length,t={},n;r=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}mR.prototype=Tpt.prototype={constructor:mR,on:function(r,e){var t=this._,n=Wre(r+"",t),i,a=-1,o=n.length;if(arguments.length<2){for(;++a0)for(var t=new Array(i),n=0,i,a;n(r=(Hre*r+Yre)%Lpt)/Lpt}function Dpt(r){return r.x}function Ppt(r){return r.y}var Xre=10,qre=Math.PI*(3-Math.sqrt(5));function G0(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=new Map,l=mb(c),u=I8("tick","end"),f=Opt();r==null&&(r=[]);function c(){h(),u.call("tick",e),t1?(m==null?s.delete(v):s.set(v,p(m)),e):s.get(v)},find:function(v,m,g){var x=0,b=r.length,S,C,w,A,I;for(g==null?g=1/0:g*=g,x=0;x1?(u.on(v,m),e):u.on(v)}}}function z0(){var r,e,t,n,i=ho(-30),a,o=1,s=1/0,l=.81;function u(d){var p,v=r.length,m=B0(r,Dpt,Ppt).visitAfter(c);for(n=d,p=0;p=s)return;(d.data!==e||d.next)&&(g===0&&(g=Sc(t),S+=g*g),x===0&&(x=Sc(t),S+=x*x),S$}let e=$=>$.cluster,t=r(1),n=r(-1),i=r(100),a=r(.1),o=[0,0],s=[],l={},u=[],f=100,c=100,h={none:{x:0,y:0}},d=[],p,v="force",m=!0,g=.1;function x($){if(!m)return x;p.tick(),I();for(let st=0,_t=s.length,dt,vt=$*g;st<_t;++st)dt=s[st],dt.vx+=(h[e(dt)].x-dt.x)*vt,dt.vy+=(h[e(dt)].y-dt.y)*vt}function b(){!s||S()}function S(){if(!s||!s.length)return;if(e(s[0])===void 0)throw Error("Couldnt find the grouping attribute for the nodes. Make sure to set it up with forceInABox.groupBy('clusterAttr') before calling .links()");let $=C();p=G0($.nodes).force("x",gM(f).strength(.1)).force("y",yM(c).strength(.1)).force("collide",mM(st=>st.r).iterations(4)).force("charge",z0().strength(n)).force("links",yg($.nodes.length?$.links:[]).distance(i).strength(a)),d=p.nodes(),I()}function C(){let $=[],st=[],_t={},dt=[],vt={},Tt=[];return vt=w(s),Tt=A(u),dt=Object.keys(vt),dt.forEach((Ut,$t)=>{let Y=vt[Ut];$.push({id:Ut,size:Y.count,r:Math.sqrt(Y.sumforceNodeSize/Math.PI)}),_t[Ut]=$t}),Tt.forEach(Ut=>{let $t=xn(Ut,"source"),Y=xn(Ut,"target"),it=_t[$t],K=_t[Y];it!==void 0&&K!==void 0&&st.push({source:it,target:K,count:Ut.count})}),{nodes:$,links:st}}function w($){let st={};return $.forEach(_t=>{let dt=e(_t);st[dt]||(st[dt]={count:0,sumforceNodeSize:0})}),$.forEach(_t=>{let dt=e(_t),vt=t(_t),Tt=st[dt];Tt.count=Tt.count+1,Tt.sumforceNodeSize=Tt.sumforceNodeSize+Math.PI*(vt*vt)*1.3,st[dt]=Tt}),st}function A($){let st={},_t=[];return $.forEach(vt=>{let Tt=P(vt),Ut=0;st[Tt]!==void 0&&(Ut=st[Tt]),Ut+=1,st[Tt]=Ut}),Object.entries(st).forEach(([vt,Tt])=>{let Ut=vt.split("~")[0],$t=vt.split("~")[1];Ut!==void 0&&$t!==void 0&&_t.push({source:Ut,target:$t,count:Tt})}),_t}function I(){return h={none:{x:0,y:0}},d.forEach($=>{h[$.id]={x:$.x-o[0],y:$.y-o[1]}}),h}function P($){let st=xn($,"source"),_t=xn($,"target"),dt=e(l[st]),vt=e(l[_t]);return dt<=vt?`${dt}~${vt}`:`${vt}~${dt}`}function L($){l={},$.forEach(st=>{l[st.id]=st})}function M($){return arguments.length?(v=$,b(),x):v}function O($){return arguments.length?typeof $=="string"?(e=st=>st[$],x):(e=$,x):e}function F($){return arguments.length?(m=$,x):m}function k($){return arguments.length?(g=$,x):g}function G($){return arguments.length?(f=$,x):f}function D($){return arguments.length?(c=$,x):c}function N($){return arguments.length?(L($||[]),s=$||[],x):s}function z($){return arguments.length?(u=$||[],b(),x):u}function j($){return arguments.length?(typeof $=="function"?t=$:t=r(+$),b(),x):t}function W($){return arguments.length?(typeof $=="function"?n=$:n=r(+$),b(),x):n}function J($){return arguments.length?(typeof $=="function"?i=$:i=r(+$),b(),x):i}function et($){return arguments.length?(typeof $=="function"?a=$:a=r(+$),b(),x):a}function lt($){return arguments.length?(o=$,x):o}return x.initialize=$=>{s=$,b()},x.template=M,x.groupBy=O,x.enableGrouping=F,x.strength=k,x.centerX=G,x.centerY=D,x.nodes=N,x.links=z,x.forceNodeSize=j,x.nodeSize=x.forceNodeSize,x.forceCharge=W,x.forceLinkDistance=J,x.forceLinkStrength=et,x.offset=lt,x.getFocis=I,x}var j_={RUN:"LAYOUT_RUN",END:"LAYOUT_END",ERROR:"LAYOUT_ERROR",TICK:"LAYOUT_TICK",GPURUN:"GPU_LAYOUT_RUN",GPUEND:"GPU_LAYOUT_END"};var W_=class extends li{constructor(e){super();this.center=[0,0],this.nodeStrength=null,this.edgeStrength=null,this.preventOverlap=!1,this.clusterNodeStrength=null,this.clusterEdgeStrength=null,this.clusterEdgeDistance=null,this.clusterNodeSize=null,this.clusterFociStrength=null,this.linkDistance=50,this.alphaDecay=.028,this.alphaMin=.001,this.alpha=.3,this.collideStrength=1,this.workerEnabled=!1,this.tick=()=>{},this.onLayoutEnd=()=>{},this.ticking=void 0,e&&this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],nodeStrength:null,edgeStrength:null,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,linkDistance:50,forceSimulation:null,alphaDecay:.028,alphaMin:.001,alpha:.3,collideStrength:1,clustering:!1,clusterNodeStrength:-1,clusterEdgeStrength:.1,clusterEdgeDistance:100,clusterFociStrength:.8,clusterNodeSize:10,tick(){},onLayoutEnd(){},workerEnabled:!1}}init(e){let t=this;t.nodes=e.nodes||[];let n=e.edges||[];t.edges=n.map(i=>{let a={},o=["targetNode","sourceNode","startPoint","endPoint"];return Object.keys(i).forEach(s=>{o.indexOf(s)>-1||(a[s]=i[s])}),a}),t.ticking=!1}execute(e){let t=this,n=t.nodes,i=t.edges;if(t.ticking)return;let a=t.forceSimulation,o=t.alphaMin,s=t.alphaDecay,l=t.alpha;if(a){if(e){if(t.clustering&&t.clusterForce&&(t.clusterForce.nodes(n),t.clusterForce.links(i)),a.nodes(n),i&&t.edgeForce)t.edgeForce.links(i);else if(i&&!t.edgeForce){let u=yg().id(f=>f.id).links(i);t.edgeStrength&&u.strength(t.edgeStrength),t.linkDistance&&u.distance(t.linkDistance),t.edgeForce=u,a.force("link",u)}}t.preventOverlap&&t.overlapProcess(a),a.alpha(l).restart(),this.ticking=!0}else try{let u=z0();if(t.nodeStrength&&u.strength(t.nodeStrength),a=G0().nodes(n),t.clustering){let f=L8();f.centerX(t.center[0]).centerY(t.center[1]).template("force").strength(t.clusterFociStrength),i&&f.links(i),n&&f.nodes(n),f.forceLinkDistance(t.clusterEdgeDistance).forceLinkStrength(t.clusterEdgeStrength).forceCharge(t.clusterNodeStrength).forceNodeSize(t.clusterNodeSize),t.clusterForce=f,a.force("group",f)}if(a.force("center",vM(t.center[0],t.center[1])).force("charge",u).alpha(l).alphaDecay(s).alphaMin(o),t.preventOverlap&&t.overlapProcess(a),i){let f=yg().id(c=>c.id).links(i);t.edgeStrength&&f.strength(t.edgeStrength),t.linkDistance&&f.distance(t.linkDistance),t.edgeForce=f,a.force("link",f)}if(t.workerEnabled&&!Zre()&&(t.workerEnabled=!1,console.warn("workerEnabled option is only supported when running in web worker.")),!t.workerEnabled)a.on("tick",()=>{t.tick()}).on("end",()=>{t.ticking=!1,t.onLayoutEnd&&t.onLayoutEnd()}),t.ticking=!0;else{a.stop();let f=Kre(a);for(let c=1;c<=f;c++)a.tick(),postMessage({nodes:n,currentTick:c,totalTicks:f,type:j_.TICK},void 0);t.ticking=!1}t.forceSimulation=a,t.ticking=!0}catch(u){t.ticking=!1,console.warn(u)}}overlapProcess(e){let t=this,n=t.nodeSize,i=t.nodeSpacing,a,o,s=t.collideStrength;if(je(i)?o=()=>i:gf(i)?o=i:o=()=>0,!n)a=l=>l.size?ha(l.size)?(l.size[0]>l.size[1]?l.size[0]:l.size[1])/2+o(l):co(l.size)?(l.size.width>l.size.height?l.size.width:l.size.height)/2+o(l):l.size/2+o(l):10+o(l);else if(gf(n))a=l=>n(l)+o(l);else if(ha(n)){let u=(n[0]>n[1]?n[0]:n[1])/2;a=f=>u+o(f)}else if(je(n)){let l=n/2;a=u=>l+o(u)}else a=()=>10;e.force("collisionForce",mM(a).strength(s))}updateCfg(e){let t=this;t.ticking&&(t.forceSimulation.stop(),t.ticking=!1),t.forceSimulation=null,Object.assign(t,e)}destroy(){let e=this;e.ticking&&(e.forceSimulation.stop(),e.ticking=!1),e.nodes=null,e.edges=null,e.destroyed=!0}};function Kre(r){let e=r.alphaMin(),t=r.alphaTarget(),n=r.alpha(),i=Math.log((e-t)/(n-t))/Math.log(1-r.alphaDecay());return Math.ceil(i)}function Zre(){return typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope}function $re(r,e,t,n){r.forEach((i,a)=>{r[a].children=[],r[a].parent=[]}),n?e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target"),s=0;a&&(s=t[a]);let l=0;o&&(l=t[o]);let u=r[s].children,f=r[l].parent;u.push(r[l].id),f.push(r[s].id)}):e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target"),s=0;a&&(s=t[a]);let l=0;o&&(l=t[o]);let u=r[s].children,f=r[l].children;u.push(r[l].id),f.push(r[s].id)})}function Qre(r,e,t){let n=t.length;for(let i=0;in?1:0}var V_=class extends li{constructor(e){super();this.radius=null,this.startRadius=null,this.endRadius=null,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.divisions=1,this.ordering=null,this.angleRatio=1,this.nodes=[],this.edges=[],this.nodeMap={},this.degrees=[],this.width=300,this.height=300,this.updateCfg(e)}getDefaultCfg(){return{radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length;if(i===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let a=e.center;if(i===1){t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd();return}let o=e.radius,s=e.startRadius,l=e.endRadius,u=e.divisions,f=e.startAngle,c=e.endAngle,h=(c-f)/i,d={};t.forEach((C,w)=>{d[C.id]=w}),e.nodeMap=d;let p=Qh(t.length,d,n);e.degrees=p,!o&&!s&&!l?o=e.height>e.width?e.width/2:e.height/2:!s&&l?s=l:s&&!l&&(l=s);let v=e.angleRatio,m=h*v,g=e.ordering,x=[];g==="topology"?x=e.topologyOrdering():g==="topology-directed"?x=e.topologyOrdering(!0):g==="degree"?x=e.degreeOrdering():x=t;let b=e.clockwise,S=Math.ceil(i/u);for(let C=0;C{if(p!==0)if((p===c-1||n[p]!==n[p+1]||Qre(l[h],d,i))&&!f[p])l.push(d),u.push(a[s[d.id]]),f[p]=!0,h++;else{let v=l[h].children,m=!1;for(let x=0;x{a.degree=i[o],n.push(a)}),n.sort(Jre),n}getType(){return"circular"}};var wvt=U(Cvt()),B8=wvt.default;!B8&&typeof window!="undefined"&&(B8=window.graphlib);Array.prototype.flat||(Array.prototype.flat=function(r){let e=r||1;if(!isFinite(e))return;let t=this.length,n=[];if(this.length===0)return this;for(;e--;){let i=[],a=!1;if(n.length===0){a=!0;for(let o=0;o{r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev},Pne=(r,e)=>{if(r!=="_next"&&r!=="_prev")return e},Avt=class{constructor(){let e={};e._next=e._prev=e,this.isentinel=e}dequeue(){let e=this.isentinel,t=e._prev;if(t!==e)return Evt(t),t}enqueue(){let e=this.isentinel,t=e._prev;if(t!==e)return Evt(t),t}toString(){let e=[],t=this.isentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,Pne)),n=n._prev;return`[${e.join(", ")}]`}},Mvt=Avt;var kne=Ko.Graph,Rne=()=>1,Nne=(r,e)=>{var t;if(r.nodeCount()<=1)return[];let n=Bne(r,e||Rne);return(t=Fne(n.graph,n.buckets,n.zeroIdx).map(a=>r.outEdges(a.v,a.w)))===null||t===void 0?void 0:t.flat()},Fne=(r,e,t)=>{let n=[],i=e[e.length-1],a=e[0],o;for(;r.nodeCount();){for(;o=a.dequeue();)G8(r,e,t,o);for(;o=i.dequeue();)G8(r,e,t,o);if(r.nodeCount()){for(let s=e.length-2;s>0;--s)if(o=e[s].dequeue(),o){n=n.concat(G8(r,e,t,o,!0));break}}}return n},G8=(r,e,t,n,i)=>{var a,o;let s=i?[]:void 0;return(a=r.inEdges(n.v))===null||a===void 0||a.forEach(l=>{let u=r.edge(l),f=r.node(l.v);i&&s.push({v:l.v,w:l.w}),f.out===void 0&&(f.out=0),f.out-=u,z8(e,t,f)}),(o=r.outEdges(n.v))===null||o===void 0||o.forEach(l=>{let u=r.edge(l),f=l.w,c=r.node(f);c.in===void 0&&(c.in=0),c.in-=u,z8(e,t,c)}),r.removeNode(n.v),s},Bne=(r,e)=>{let t=new kne,n=0,i=0;r.nodes().forEach(l=>{t.setNode(l,{v:l,in:0,out:0})}),r.edges().forEach(l=>{let u=t.edge(l.v,l.w)||0,f=e==null?void 0:e(l),c=u+f;t.setEdge(l.v,l.w,c),i=Math.max(i,t.node(l.v).out+=f),n=Math.max(n,t.node(l.w).in+=f)});let a=[],o=i+n+3;for(let l=0;l{z8(a,s,t.node(l))}),{buckets:a,zeroIdx:s,graph:t}},z8=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},Tvt=Nne;var Gne=r=>{let e=n=>i=>n.edge(i).weight,t=r.graph().acyclicer==="greedy"?Tvt(r,e(r)):zne(r);t==null||t.forEach(n=>{let i=r.edge(n);r.removeEdge(n),i.forwardName=n.name,i.reversed=!0,r.setEdge(n.w,n.v,i,`rev-${Math.random()}`)})},zne=r=>{let e=[],t={},n={},i=a=>{var o;n.hasOwnProperty(a)||(n[a]=!0,t[a]=!0,(o=r.outEdges(a))===null||o===void 0||o.forEach(s=>{t.hasOwnProperty(s.w)?e.push(s):i(s.w)}),delete t[a])};return r.nodes().forEach(i),e},Une=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.reversed){r.removeEdge(e);let n=t.forwardName;delete t.reversed,delete t.forwardName,r.setEdge(e.w,e.v,t,n)}})},U8={run:Gne,undo:Une};var Ivt=Ko.Graph,Lvt=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.setNode(i,t),i},j8=r=>{let e=new Ivt().setGraph(r.graph());return r.nodes().forEach(t=>{e.setNode(t,r.node(t))}),r.edges().forEach(t=>{let n=e.edge(t.v,t.w)||{weight:0,minlen:1},i=r.edge(t);e.setEdge(t.v,t.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e},jne=r=>{let e=new Ivt({multigraph:r.isMultigraph()}).setGraph(r.graph());return r.nodes().forEach(t=>{var n;((n=r.children(t))===null||n===void 0?void 0:n.length)||e.setNode(t,r.node(t))}),r.edges().forEach(t=>e.setEdge(t,r.edge(t))),e},SM=(r,e)=>{let t={};return r==null||r.forEach((n,i)=>{t[n]=e[i]}),t},Wne=r=>{let e=r.nodes().map(t=>{var n;let i={};return(n=r.outEdges(t))===null||n===void 0||n.forEach(a=>{i[a.w]=(i[a.w]||0)+r.edge(a).weight}),i});return SM(r.nodes(),e)},Vne=r=>{let e=r.nodes().map(t=>{var n;let i={};return(n=r.inEdges(t))===null||n===void 0||n.forEach(a=>{i[a.v]=(i[a.v]||0)+r.edge(a).weight}),i});return SM(r.nodes(),e)},Hne=(r,e)=>{let t=r.x,n=r.y,i=e.x-t,a=e.y-n,o=r.width/2,s=r.height/2;if(!i&&!a)return{x:0,y:0};let l,u;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),l=s*i/a,u=s):(i<0&&(o=-o),l=o,u=o*a/i),{x:t+l,y:n+u}},Yne=r=>{let e=[],t=[],n=Ovt(r)+1;for(let i=0;i{let o=r.node(i).rank;o!==void 0&&e[o]&&t[o].push(i)}),t==null||t.forEach((i,a)=>{i==null||i.sort((o,s)=>{var l,u;return((l=r.node(o))===null||l===void 0?void 0:l.order)-((u=r.node(s))===null||u===void 0?void 0:u.order)}),i.forEach(o=>{e[a].push(o)})}),e},W8=r=>{let e=r.nodes().filter(n=>r.node(n).rank!==void 0).map(n=>r.node(n).rank),t=Math.min(...e);r.nodes().forEach(n=>{let i=r.node(n);i.hasOwnProperty("rank")&&(i.rank||(i.rank=0),i.rank-=t)})},V8=r=>{let e=r.nodes().filter(o=>r.node(o).rank!==void 0).map(o=>r.node(o).rank),t=Math.min(...e),n=[];r.nodes().forEach(o=>{var s;let l=(((s=r.node(o))===null||s===void 0?void 0:s.rank)||0)-t;n[l]||(n[l]=[]),n[l].push(o)});let i=0,a=r.graph().nodeRankFactor||0;for(let o=0;o{r.node(l).rank||(r.node(l).rank=0),r.node(l).rank+=i}))}},Xne=(r,e,t,n)=>{let i={width:0,height:0};return je(t)&&je(n)&&(i.rank=t,i.order=n),Lvt(r,"border",i,e)},Ovt=r=>{let e=r.nodes().map(t=>{let n=r.node(t).rank;return n!==void 0?n:-1/0});return Math.max(...e)},qne=(r,e)=>{let t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},H8=(r,e)=>{let t=Date.now();try{return e()}finally{console.log(`${r} time: ${Date.now()-t}ms`)}},Y8=(r,e)=>e(),CM=(r,e)=>{let t=1/0,n;return r==null||r.forEach(i=>{let a=e(i);t>a&&(t=a,n=i)}),n};var Ni={addDummyNode:Lvt,simplify:j8,asNonCompoundGraph:jne,successorWeights:Wne,predecessorWeights:Vne,intersectRect:Hne,buildLayerMatrix:Yne,normalizeRanks:W8,removeEmptyRanks:V8,addBorderNode:Xne,maxRank:Ovt,partition:qne,time:H8,notime:Y8,zipObject:SM,minBy:CM};var Kne=r=>{r.graph().dummyChains=[],r.edges().forEach(e=>Zne(r,e))},Zne=(r,e)=>{var t,n;let i=e.v,a=r.node(i).rank,o=e.w,s=r.node(o).rank,l=e.name,u=r.edge(e),f=u.labelRank;if(s===a+1)return;r.removeEdge(e);let c,h,d;for(d=0,++a;a{var e;(e=r.graph().dummyChains)===null||e===void 0||e.forEach(t=>{var n;let i=r.node(t),a=i.edgeLabel,o;i.edgeObj&&r.setEdge(i.edgeObj,a);let s=t;for(;i.dummy;)o=(n=r.successors(s))===null||n===void 0?void 0:n[0],r.removeNode(s),a.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(a.x=i.x,a.y=i.y,a.width=i.width,a.height=i.height),s=o,i=r.node(s)})},X8={run:Kne,undo:$ne};var _R=r=>{var e;let t={},n=i=>{var a;let o=r.node(i);if(t.hasOwnProperty(i))return o.rank;t[i]=!0;let s=(a=r.outEdges(i))===null||a===void 0?void 0:a.map(u=>n(u.w)-r.edge(u).minlen||1/0),l=Math.min(...s);return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),o.rank=l,l};(e=r.sources())===null||e===void 0||e.forEach(i=>n(i))},Dvt=r=>{var e;let t={},n=0,i=o=>{var s;let l=r.node(o);if(t.hasOwnProperty(o))return l.rank;t[o]=!0;let u=(s=r.outEdges(o))===null||s===void 0?void 0:s.map(c=>i(c.w)-r.edge(c).minlen||1/0),f=Math.min(...u);return(f===Number.POSITIVE_INFINITY||f===void 0||f===null)&&(f=0),l.rank=f,n=Math.min(l.rank,n),l.rank};(e=r.sources())===null||e===void 0||e.forEach(o=>i(o)),n+=1;let a=(o,s)=>{var l;let u=r.node(o),f=isNaN(u.layer)?s:u.layer;(u.rank===void 0||u.rank{a(c.w,f+r.edge(c).minlen)})};r.nodes().forEach(o=>{let s=r.node(o);isNaN(s.layer)?s.rank-=n:a(o,s.layer)})},td=(r,e)=>r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen;var Pvt=Ko.Graph,kvt=r=>{let e=new Pvt({directed:!1}),t=r.nodes()[0],n=r.nodeCount();e.setNode(t,{});let i,a;for(;Qne(e,r){let t=n=>{e.nodeEdges(n).forEach(i=>{let a=i.v,o=n===a?i.w:a;!r.hasNode(o)&&!td(e,i)&&(r.setNode(o,{}),r.setEdge(n,o,{}),t(o))})};return r.nodes().forEach(t),r.nodeCount()},Rvt=r=>{let e=new Pvt({directed:!1}),t=r.nodes()[0],n=r.nodeCount();e.setNode(t,{});let i,a;for(;Jne(e,r){let t=n=>{var i;(i=e.nodeEdges(n))===null||i===void 0||i.forEach(a=>{let o=a.v,s=n===o?a.w:o;!r.hasNode(s)&&(e.node(s).layer!==void 0||!td(e,a))&&(r.setNode(s,{}),r.setEdge(n,s,{}),t(s))})};return r.nodes().forEach(t),r.nodeCount()},Nvt=(r,e)=>CM(e.edges(),t=>r.hasNode(t.v)!==r.hasNode(t.w)?td(e,t):1/0),Fvt=(r,e,t)=>{r.nodes().forEach(n=>{e.node(n).rank||(e.node(n).rank=0),e.node(n).rank+=t})};var tie=Ko.alg,{preorder:eie,postorder:rie}=tie,j0=r=>{r=j8(r),_R(r);let e=kvt(r);K8(e),q8(e,r);let t,n;for(;t=zvt(e);)n=Uvt(e,r,t),jvt(e,r,t,n)},q8=(r,e)=>{let t=rie(r,r.nodes());t=t==null?void 0:t.slice(0,(t==null?void 0:t.length)-1),t==null||t.forEach(n=>{nie(r,e,n)})},nie=(r,e,t)=>{let i=r.node(t).parent;r.edge(t,i).cutvalue=Bvt(r,e,t)},Bvt=(r,e,t)=>{var n;let a=r.node(t).parent,o=!0,s=e.edge(t,a),l=0;return s||(o=!1,s=e.edge(a,t)),l=s.weight,(n=e.nodeEdges(t))===null||n===void 0||n.forEach(u=>{let f=u.v===t,c=f?u.w:u.v;if(c!==a){let h=f===o,d=e.edge(u).weight;if(l+=h?d:-d,aie(r,t,c)){let p=r.edge(t,c).cutvalue;l+=h?-p:p}}}),l},K8=(r,e)=>{e!==void 0&&(e=r.nodes()[0]),Gvt(r,{},1,e)},Gvt=(r,e,t,n,i)=>{var a;let o=t,s=t,l=r.node(n);return e[n]=!0,(a=r.neighbors(n))===null||a===void 0||a.forEach(u=>{e.hasOwnProperty(u)||(s=Gvt(r,e,s,u,n))}),l.low=o,l.lim=s++,i?l.parent=i:delete l.parent,s},zvt=r=>r.edges().find(e=>r.edge(e).cutvalue<0),Uvt=(r,e,t)=>{let n=t.v,i=t.w;e.hasEdge(n,i)||(n=t.w,i=t.v);let a=r.node(n),o=r.node(i),s=a,l=!1;a.lim>o.lim&&(s=o,l=!0);let u=e.edges().filter(f=>l===Wvt(r,r.node(f.v),s)&&l!==Wvt(r,r.node(f.w),s));return CM(u,f=>td(e,f))},jvt=(r,e,t,n)=>{let i=t.v,a=t.w;r.removeEdge(i,a),r.setEdge(n.v,n.w,{}),K8(r),q8(r,e),iie(r,e)},iie=(r,e)=>{let t=r.nodes().find(i=>!e.node(i).parent),n=eie(r,t);n=n==null?void 0:n.slice(1),n==null||n.forEach(i=>{let a=r.node(i).parent,o=e.edge(i,a),s=!1;o||(o=e.edge(a,i),s=!0),e.node(i).rank=e.node(a).rank+(s?o.minlen:-o.minlen)})},aie=(r,e,t)=>r.hasEdge(e,t),Wvt=(r,e,t)=>t.low<=e.lim&&e.lim<=t.lim;j0.initLowLimValues=K8;j0.initCutValues=q8;j0.calcCutValue=Bvt;j0.leaveEdge=zvt;j0.enterEdge=Uvt;j0.exchangeEdges=jvt;var Vvt=j0;var oie=r=>{switch(r.graph().ranker){case"network-simplex":lie(r);break;case"tight-tree":Hvt(r);break;case"longest-path":sie(r);break;default:Hvt(r)}},sie=_R,Hvt=r=>{Dvt(r),Rvt(r)},lie=r=>{Vvt(r)},Yvt=oie;var uie=r=>{var e;let t=cie(r);(e=r.graph().dummyChains)===null||e===void 0||e.forEach(n=>{var i,a;let o=r.node(n),s=o.edgeObj;if(!s)return;let l=fie(r,t,s.v,s.w),u=l.path,f=l.lca,c=0,h=u[c],d=!0;for(;n!==s.w;){if(o=r.node(n),d){for(;(h=u[c])!==f&&r.node(h).maxRank{let i=[],a=[],o=Math.min(e[t].low,e[n].low),s=Math.max(e[t].lim,e[n].lim),l,u;l=t;do l=r.parent(l),i.push(l);while(l&&(e[l].low>o||s>e[l].lim));for(u=l,l=n;(l=r.parent(l))!==u;)a.push(l);return{lca:u,path:i.concat(a.reverse())}},cie=r=>{var e;let t={},n=0,i=a=>{var o;let s=n;(o=r.children(a))===null||o===void 0||o.forEach(i),t[a]={low:s,lim:n++}};return(e=r.children())===null||e===void 0||e.forEach(i),t},Xvt=uie;var hie=r=>{var e;let t=Ni.addDummyNode(r,"root",{},"_root"),n=die(r),i=Math.max(...Object.values(n))-1,a=2*i+1;r.graph().nestingRoot=t,r.edges().forEach(s=>{r.edge(s).minlen*=a});let o=pie(r)+1;(e=r.children())===null||e===void 0||e.forEach(s=>{qvt(r,t,a,o,i,n,s)}),r.graph().nodeRankFactor=a},qvt=(r,e,t,n,i,a,o)=>{let s=r.children(o);if(!(s==null?void 0:s.length)){o!==e&&r.setEdge(e,o,{weight:0,minlen:t});return}let l=Ni.addBorderNode(r,"_bt"),u=Ni.addBorderNode(r,"_bb"),f=r.node(o);r.setParent(l,o),f.borderTop=l,r.setParent(u,o),f.borderBottom=u,s==null||s.forEach(c=>{qvt(r,e,t,n,i,a,c);let h=r.node(c),d=h.borderTop?h.borderTop:c,p=h.borderBottom?h.borderBottom:c,v=h.borderTop?n:2*n,m=d!==p?1:i-a[o]+1;r.setEdge(l,d,{minlen:m,weight:v,nestingEdge:!0}),r.setEdge(p,u,{minlen:m,weight:v,nestingEdge:!0})}),r.parent(o)||r.setEdge(e,l,{weight:0,minlen:i+a[o]})},die=r=>{var e;let t={},n=(i,a)=>{let o=r.children(i);o==null||o.forEach(s=>n(s,a+1)),t[i]=a};return(e=r.children())===null||e===void 0||e.forEach(i=>n(i,1)),t},pie=r=>{let e=0;return r.edges().forEach(t=>{e+=r.edge(t).weight}),e},vie=r=>{let e=r.graph();e.nestingRoot&&r.removeNode(e.nestingRoot),delete e.nestingRoot,r.edges().forEach(t=>{r.edge(t).nestingEdge&&r.removeEdge(t)})},Z8={run:hie,cleanup:vie};var mie=r=>{var e;let t=n=>{let i=r.children(n),a=r.node(n);if((i==null?void 0:i.length)&&i.forEach(o=>t(o)),a.hasOwnProperty("minRank")){a.borderLeft=[],a.borderRight=[];for(let o=a.minRank,s=a.maxRank+1;ot(n))},Kvt=(r,e,t,n,i,a)=>{let o={rank:a,width:0,height:0,borderType:e},s=i[e][a-1],l=Ni.addDummyNode(r,"border",o,t);i[e][a]=l,r.setParent(l,n),s&&r.setEdge(s,l,{weight:1})},Zvt=mie;var gie=r=>{var e;let t=(e=r.graph().rankdir)===null||e===void 0?void 0:e.toLowerCase();(t==="lr"||t==="rl")&&$vt(r)},yie=r=>{var e;let t=(e=r.graph().rankdir)===null||e===void 0?void 0:e.toLowerCase();(t==="bt"||t==="rl")&&xie(r),(t==="lr"||t==="rl")&&(bie(r),$vt(r))},$vt=r=>{r.nodes().forEach(e=>{Qvt(r.node(e))}),r.edges().forEach(e=>{Qvt(r.edge(e))})},Qvt=r=>{let e=r.width;r.width=r.height,r.height=e},xie=r=>{r.nodes().forEach(e=>{$8(r.node(e))}),r.edges().forEach(e=>{var t;let n=r.edge(e);(t=n.points)===null||t===void 0||t.forEach(i=>$8(i)),n.hasOwnProperty("y")&&$8(n)})},$8=r=>{r.y=-r.y},bie=r=>{r.nodes().forEach(e=>{Q8(r.node(e))}),r.edges().forEach(e=>{var t;let n=r.edge(e);(t=n.points)===null||t===void 0||t.forEach(i=>Q8(i)),n.hasOwnProperty("x")&&Q8(n)})},Q8=r=>{let e=r.x;r.x=r.y,r.y=e},J8={adjust:gie,undo:yie};var _ie=r=>{let e={},t=r.nodes().filter(f=>{var c;return!((c=r.children(f))===null||c===void 0?void 0:c.length)}),n=t.map(f=>r.node(f).rank),i=Math.max(...n),a=[];for(let f=0;f{var c;if(e.hasOwnProperty(f))return;e[f]=!0;let h=r.node(f);isNaN(h.rank)||a[h.rank].push(f),(c=r.successors(f))===null||c===void 0||c.forEach(d=>o(d))},s=t.sort((f,c)=>r.node(f).rank-r.node(c).rank),u=s.filter(f=>r.node(f).fixorder!==void 0).sort((f,c)=>r.node(f).fixorder-r.node(c).fixorder);return u==null||u.forEach(f=>{isNaN(r.node(f).rank)||a[r.node(f).rank].push(f),e[f]=!0}),s==null||s.forEach(o),a},tH=_ie;var Sie=(r,e,t)=>{let n=SM(t,t.map((f,c)=>c)),a=e.map(f=>{var c;let h=(c=r.outEdges(f))===null||c===void 0?void 0:c.map(d=>({pos:n[d.w]||0,weight:r.edge(d).weight}));return h==null?void 0:h.sort((d,p)=>d.pos-p.pos)}).flat().filter(f=>f!==void 0),o=1;for(;o{let c=f.pos+o;l[c]+=f.weight;let h=0;for(;c>0;)c%2&&(h+=l[c+1]),c=c-1>>1,l[c]+=f.weight;u+=f.weight*h}),u},Cie=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);++n)t+=Sie(r,e[n-1],e[n]);return t},eH=Cie;var wie=Ko.Graph,Eie=(r,e,t)=>{let n=Aie(r),i=new wie({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(a=>r.node(a));return r.nodes().forEach(a=>{let o=r.node(a),s=r.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||n),r[t](a).forEach(l=>{let u=l.v===a?l.w:l.v,f=i.edge(u,a),c=f!==void 0?f.weight:0;i.setEdge(u,a,{weight:r.edge(l).weight+c})}),o.hasOwnProperty("minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i},Aie=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},Jvt=Eie;var Mie=(r,e,t)=>{let n={},i;t==null||t.forEach(a=>{let o=r.parent(a),s,l;for(;o;){if(s=r.parent(o),s?(l=n[s],n[s]=o):(l=i,i=o),l&&l!==o){e.setEdge(l,o);return}o=s}})},tmt=Mie;var Tie=(r,e)=>e.map(t=>{let n=r.inEdges(t);if(!(n==null?void 0:n.length))return{v:t};{let i={sum:0,weight:0};return n==null||n.forEach(a=>{let o=r.edge(a),s=r.node(a.v);i.sum+=o.weight*s.order,i.weight+=o.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}}),emt=Tie;var Iie=(r,e)=>{var t,n,i;let a={};r==null||r.forEach((s,l)=>{let u=a[s.v]={i:l,indegree:0,in:[],out:[],vs:[s.v]};s.barycenter!==void 0&&(u.barycenter=s.barycenter,u.weight=s.weight)}),(t=e.edges())===null||t===void 0||t.forEach(s=>{let l=a[s.v],u=a[s.w];l!==void 0&&u!==void 0&&(u.indegree++,l.out.push(a[s.w]))});let o=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,s=>!s.indegree);return Lie(o)},Lie=r=>{var e,t;let n=[],i=l=>u=>{u.merged||(u.barycenter===void 0||l.barycenter===void 0||u.barycenter>=l.barycenter)&&Oie(l,u)},a=l=>u=>{u.in.push(l),--u.indegree==0&&r.push(u)};for(;r==null?void 0:r.length;){let l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(u=>i(l)(u)),(t=l.out)===null||t===void 0||t.forEach(u=>a(l)(u))}let o=n.filter(l=>!l.merged),s=["vs","i","barycenter","weight"];return o.map(l=>{let u={};return s==null||s.forEach(f=>{l[f]!==void 0&&(u[f]=l[f])}),u})},Oie=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0},rmt=Iie;var Die=(r,e,t)=>{let n=Ni.partition(r,c=>c.hasOwnProperty("fixorder")&&!isNaN(c.fixorder)||c.hasOwnProperty("barycenter")),i=n.lhs,a=n.rhs.sort((c,h)=>-c.i- -h.i),o=[],s=0,l=0,u=0;i==null||i.sort(Pie(!!e,!!t)),u=nmt(o,a,u),i==null||i.forEach(c=>{var h;u+=(h=c.vs)===null||h===void 0?void 0:h.length,o.push(c.vs),s+=c.barycenter*c.weight,l+=c.weight,u=nmt(o,a,u)});let f={vs:o.flat()};return l&&(f.barycenter=s/l,f.weight=l),f},nmt=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},Pie=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycentern.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.ordern.order)return 1}return r?n.i-t.i:t.i-n.i},imt=Die;var amt=(r,e,t,n,i)=>{var a,o,s,l;let u=r.children(e),f=r.node(e),c=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,d={};c&&(u=u==null?void 0:u.filter(g=>g!==c&&g!==h));let p=emt(r,u||[]);p==null||p.forEach(g=>{var x;if((x=r.children(g.v))===null||x===void 0?void 0:x.length){let b=amt(r,g.v,t,n);d[g.v]=b,b.hasOwnProperty("barycenter")&&Rie(g,b)}});let v=rmt(p,t);kie(v,d),(a=v.filter(g=>{var x;return!!g.vs||((x=g.vs)===null||x===void 0?void 0:x.length)>0}))===null||a===void 0||a.forEach(g=>{let x=r.node(g.vs[0]);g.fixorder=x.fixorder,g.order=x.order});let m=imt(v,n,i);if(c&&(m.vs=[c,m.vs,h].flat(),(o=r.predecessors(c))===null||o===void 0?void 0:o.length)){let g=r.node(((s=r.predecessors(c))===null||s===void 0?void 0:s[0])||{}),x=r.node(((l=r.predecessors(h))===null||l===void 0?void 0:l[0])||{});m.hasOwnProperty("barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+g.order+x.order)/(m.weight+2),m.weight+=2}return m},kie=(r,e)=>{r==null||r.forEach(t=>{var n;let i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},Rie=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},omt=amt;var Nie=Ko.Graph,Fie=r=>{let e=Ni.maxRank(r),t=[],n=[];for(let u=1;u-1;u--)n.push(u);let i=smt(r,t,"inEdges"),a=smt(r,n,"outEdges"),o=tH(r);rH(r,o);let s=Number.POSITIVE_INFINITY,l;for(let u=0,f=0;f<4;++u,++f){lmt(u%2?i:a,u%4>=2),o=Ni.buildLayerMatrix(r);let c=eH(r,o);c=2,!0),o=Ni.buildLayerMatrix(r);let c=eH(r,o);ce.map(n=>Jvt(r,n,t)),lmt=(r,e,t)=>{let n=new Nie;r==null||r.forEach(i=>{var a;let o=i.graph().root,s=omt(i,o,n,e,t);for(let l=0;l<((a=s.vs)===null||a===void 0?void 0:a.length);l++)i.node(s.vs[l]).order=l;tmt(i,n,s.vs)})},rH=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.node(n).order=i})})},umt=Fie;var Bie=Ko.Graph,fmt=(r,e)=>{let t={},n=(i,a)=>{let o=0,s=0,l=i.length,u=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((f,c)=>{var h;let d=Gie(r,f),p=d?r.node(d).order:l;(d||f===u)&&((h=a.slice(s,c+1))===null||h===void 0||h.forEach(v=>{var m;(m=r.predecessors(v))===null||m===void 0||m.forEach(g=>{let x=r.node(g),b=x.order;(b{let t={},n=(a,o,s,l,u)=>{let f,c=[];for(let h=o;h{var d;f=a[h],r.node(f).dummy&&((d=r.predecessors(f))===null||d===void 0||d.forEach(p=>{let v=r.node(p);v.dummy&&(v.orderu)&&hmt(t,p,f)}))})},i=(a,o)=>{let s=-1,l,u=0;return o==null||o.forEach((f,c)=>{if(r.node(f).dummy==="border"){let h=r.predecessors(f)||[];h.length&&(l=r.node(h[0]).order,n(o,u,c,s,l),u=c,s=l)}n(o,u,o.length,l,a.length)}),o};return(e==null?void 0:e.length)&&e.reduce(i),t},Gie=(r,e)=>{var t;if(r.node(e).dummy)return(t=r.predecessors(e))===null||t===void 0?void 0:t.find(n=>r.node(n).dummy)},hmt=(r,e,t)=>{let n=e,i=t;if(n>i){let o=n;n=i,i=o}let a=r[n];a||(r[n]=a={}),a[i]=!0},zie=(r,e,t)=>{let n=e,i=t;if(n>i){let a=e;n=i,i=a}return r[n]&&r[n].hasOwnProperty(i)},dmt=(r,e,t,n)=>{let i={},a={},o={};return e==null||e.forEach(s=>{s==null||s.forEach((l,u)=>{i[l]=l,a[l]=l,o[l]=u})}),e==null||e.forEach(s=>{let l=-1;s==null||s.forEach(u=>{let f=n(u);if(f.length){f=f.sort((h,d)=>o[h]-o[d]);let c=(f.length-1)/2;for(let h=Math.floor(c),d=Math.ceil(c);h<=d;++h){let p=f[h];a[u]===u&&l{var a;let o={},s=Uie(r,e,t,i),l=i?"borderLeft":"borderRight",u=(h,d)=>{let p=s.nodes(),v=p.pop(),m={};for(;v;)m[v]?h(v):(m[v]=!0,p.push(v),p=p.concat(d(v))),v=p.pop()},f=h=>{o[h]=(s.inEdges(h)||[]).reduce((d,p)=>Math.max(d,(o[p.v]||0)+s.edge(p)),0)},c=h=>{let d=(s.outEdges(h)||[]).reduce((v,m)=>Math.min(v,(o[m.w]||0)-s.edge(m)),Number.POSITIVE_INFINITY),p=r.node(h);d!==Number.POSITIVE_INFINITY&&p.borderType!==l&&(o[h]=Math.max(o[h],d))};return u(f,s.predecessors.bind(s)),u(c,s.successors.bind(s)),(a=Object.values(n))===null||a===void 0||a.forEach(h=>{o[h]=o[t[h]]}),o},Uie=(r,e,t,n)=>{let i=new Bie,a=r.graph(),o=jie(a.nodesep,a.edgesep,n);return e==null||e.forEach(s=>{let l;s==null||s.forEach(u=>{let f=t[u];if(i.setNode(f),l){let c=t[l],h=i.edge(c,f);i.setEdge(c,f,Math.max(o(r,u,l),h||0))}l=u})}),i},vmt=(r,e)=>Ni.minBy(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(o=>{let s=t[o],l=Wie(r,o)/2;i=Math.max(s+l,i),a=Math.min(s-l,a)}),i-a});function mmt(r,e){let t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(o=>{let s=a+o,l=r[s],u;if(l===e)return;let f=Object.values(l);u=o==="l"?n-Math.min(...f):i-Math.max(...f),u&&(r[s]={},Object.keys(l).forEach(c=>{r[s][c]=l[c]+u}))})})}var gmt=(r,e)=>{let t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{let a=Object.values(r).map(o=>o[n]).sort((o,s)=>o-s);t[n]=(a[1]+a[2])/2}}),t};var jie=(r,e,t)=>(n,i,a)=>{let o=n.node(i),s=n.node(a),l=0,u;if(l+=o.width/2,o.hasOwnProperty("labelpos"))switch((o.labelpos||"").toLowerCase()){case"l":u=-o.width/2;break;case"r":u=o.width/2;break}if(u&&(l+=t?u:-u),u=0,l+=(o.dummy?e:r)/2,l+=(s.dummy?e:r)/2,l+=s.width/2,s.hasOwnProperty("labelpos"))switch((s.labelpos||"").toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2;break}return u&&(l+=t?u:-u),u=0,l},Wie=(r,e)=>{var t;return((t=r.node(e))===null||t===void 0?void 0:t.width)||0};var Vie=r=>{let e=Ni.buildLayerMatrix(r),t=r.graph().ranksep,n=0;e==null||e.forEach(i=>{let a=i.map(s=>r.node(s).height),o=Math.max(...a);i==null||i.forEach(s=>{r.node(s).y=n+o/2}),n+=o+t})},Hie=r=>{let e=Ni.buildLayerMatrix(r),t=Object.assign(fmt(r,e),cmt(r,e)),n={},i;["u","d"].forEach(o=>{i=o==="u"?e:Object.values(e).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(c=>Object.values(c).reverse()));let l=(o==="u"?r.predecessors:r.successors).bind(r),u=dmt(r,i,t,l),f=pmt(r,i,u.root,u.align,s==="r");s==="r"&&Object.keys(f).forEach(c=>f[c]=-f[c]),n[o+s]=f})});let a=vmt(r,n);return a&&mmt(n,a),gmt(n,r.graph().align)},Yie=r=>{var e;r=Ni.asNonCompoundGraph(r),Vie(r);let t=Hie(r);(e=Object.keys(t))===null||e===void 0||e.forEach(n=>{r.node(n).x=t[n]})},ymt=Yie;var Xie=(r,e)=>{let n=r.nodes().filter(o=>{var s;return!((s=r.children(o))===null||s===void 0?void 0:s.length)}).map(o=>r.node(o).rank),i=Math.max(...n),a=[];for(let o=0;o{let s=r.node(o);!s||s.dummy||isNaN(s.rank)||(s.fixorder=a[s.rank].length,a[s.rank].push(o))})},xmt=Xie;var qie=Ko.Graph,Kie=(r,e)=>{let t=e&&e.debugTiming?Ni.time:Ni.notime;t("layout",()=>{e&&!e.keepNodeOrder&&e.prevGraph&&t(" inheritOrder",()=>{$ie(r,e.prevGraph)});let n=t(" buildLayoutGraph",()=>iae(r));e&&e.edgeLabelSpace===!1||t(" makeSpaceForEdgeLabels",()=>{aae(n)});try{t(" runLayout",()=>{Zie(n,t,e)})}catch(i){if(i.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure: -`,i);return}throw i}t(" updateInputGraph",()=>{Qie(r,n)})})},Zie=(r,e,t)=>{e(" removeSelfEdges",()=>{pae(r)}),e(" acyclic",()=>{U8.run(r)}),e(" nestingGraph.run",()=>{Z8.run(r)}),e(" rank",()=>{Yvt(Ni.asNonCompoundGraph(r))}),e(" injectEdgeLabelProxies",()=>{oae(r)}),e(" removeEmptyRanks",()=>{V8(r)}),e(" nestingGraph.cleanup",()=>{Z8.cleanup(r)}),e(" normalizeRanks",()=>{W8(r)}),e(" assignRankMinMax",()=>{sae(r)}),e(" removeEdgeLabelProxies",()=>{lae(r)}),e(" normalize.run",()=>{X8.run(r)}),e(" parentDummyChains",()=>{Xvt(r)}),e(" addBorderSegments",()=>{Zvt(r)}),t&&t.keepNodeOrder&&e(" initDataOrder",()=>{xmt(r,t.nodeOrder)}),e(" order",()=>{umt(r)}),e(" insertSelfEdges",()=>{vae(r)}),e(" adjustCoordinateSystem",()=>{J8.adjust(r)}),e(" position",()=>{ymt(r)}),e(" positionSelfEdges",()=>{mae(r)}),e(" removeBorderNodes",()=>{dae(r)}),e(" normalize.undo",()=>{X8.undo(r)}),e(" fixupEdgeLabelCoords",()=>{cae(r)}),e(" undoCoordinateSystem",()=>{J8.undo(r)}),e(" translateGraph",()=>{uae(r)}),e(" assignNodeIntersects",()=>{fae(r)}),e(" reversePoints",()=>{hae(r)}),e(" acyclic.undo",()=>{U8.undo(r)})},$ie=(r,e)=>{let t=e._nodes||{};r.nodes().forEach(n=>{let i=r.node(n);t[n]!==void 0?(i.fixorder=t[n]._order,delete t[n]._order):delete i.fixorder})},Qie=(r,e)=>{r.nodes().forEach(t=>{var n;let i=r.node(t),a=e.node(t);i&&(i.x=a.x,i.y=a.y,i._order=a.order,i._rank=a.rank,((n=e.children(t))===null||n===void 0?void 0:n.length)&&(i.width=a.width,i.height=a.height))}),r.edges().forEach(t=>{let n=r.edge(t),i=e.edge(t);n.points=i.points,i.hasOwnProperty("x")&&(n.x=i.x,n.y=i.y)}),r.graph().width=e.graph().width,r.graph().height=e.graph().height},Jie=["nodesep","edgesep","ranksep","marginx","marginy"],tae={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},nH=["acyclicer","ranker","rankdir","align"],eae=["width","height","layer","fixorder"],bmt={width:0,height:0},rae=["minlen","weight","width","height","labeloffset"],nae={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},iH=["labelpos"],iae=r=>{let e=new qie({multigraph:!0,compound:!0}),t=oH(r.graph()),n={};return nH==null||nH.forEach(i=>{t[i]!==void 0&&(n[i]=t[i])}),e.setGraph(Object.assign({},tae,aH(t,Jie),n)),r.nodes().forEach(i=>{let a=oH(r.node(i)),o=aH(a,eae);Object.keys(bmt).forEach(s=>{o[s]===void 0&&(o[s]=bmt[s])}),e.setNode(i,o),e.setParent(i,r.parent(i))}),r.edges().forEach(i=>{let a=oH(r.edge(i)),o={};iH==null||iH.forEach(s=>{a[s]!==void 0&&(o[s]=a[s])}),e.setEdge(i,Object.assign({},nae,aH(a,rae),o))}),e},aae=r=>{let e=r.graph();e.ranksep||(e.ranksep=0),e.ranksep/=2,r.nodes().forEach(t=>{let n=r.node(t);isNaN(n.layer)||(n.layer?n.layer*=2:n.layer=0)}),r.edges().forEach(t=>{var n;let i=r.edge(t);i.minlen*=2,((n=i.labelpos)===null||n===void 0?void 0:n.toLowerCase())!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})},oae=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.width&&t.height){let n=r.node(e.v),i=r.node(e.w),a={e,rank:(i.rank-n.rank)/2+n.rank};Ni.addDummyNode(r,"edge-proxy",a,"_ep")}})},sae=r=>{let e=0;r.nodes().forEach(t=>{let n=r.node(t);n.borderTop&&(n.minRank=r.node(n.borderTop).rank,n.maxRank=r.node(n.borderBottom).rank,e=Math.max(e,n.maxRank||-1/0))}),r.graph().maxRank=e},lae=r=>{r.nodes().forEach(e=>{let t=r.node(e);t.dummy==="edge-proxy"&&(r.edge(t.e).labelRank=t.rank,r.removeNode(e))})},uae=r=>{let e=Number.POSITIVE_INFINITY,t=0,n=Number.POSITIVE_INFINITY,i=0,a=r.graph(),o=a.marginx||0,s=a.marginy||0,l=u=>{if(!u)return;let f=u.x,c=u.y,h=u.width,d=u.height;!isNaN(f)&&!isNaN(h)&&(e=Math.min(e,f-h/2),t=Math.max(t,f+h/2)),!isNaN(c)&&!isNaN(d)&&(n=Math.min(n,c-d/2),i=Math.max(i,c+d/2))};r.nodes().forEach(u=>{l(r.node(u))}),r.edges().forEach(u=>{let f=r.edge(u);f.hasOwnProperty("x")&&l(f)}),e-=o,n-=s,r.nodes().forEach(u=>{let f=r.node(u);f.x-=e,f.y-=n}),r.edges().forEach(u=>{var f;let c=r.edge(u);(f=c.points)===null||f===void 0||f.forEach(h=>{h.x-=e,h.y-=n}),c.hasOwnProperty("x")&&(c.x-=e),c.hasOwnProperty("y")&&(c.y-=n)}),a.width=t-e+o,a.height=i-n+s},fae=r=>{r.edges().forEach(e=>{let t=r.edge(e),n=r.node(e.v),i=r.node(e.w),a,o;t.points?(a=t.points[0],o=t.points[t.points.length-1]):(t.points=[],a=i,o=n),t.points.unshift(Ni.intersectRect(n,a)),t.points.push(Ni.intersectRect(i,o))})},cae=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.hasOwnProperty("x"))switch((t.labelpos==="l"||t.labelpos==="r")&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset;break}})},hae=r=>{r.edges().forEach(e=>{let t=r.edge(e);t.reversed&&t.points.reverse()})},dae=r=>{r.nodes().forEach(e=>{var t,n,i;if((t=r.children(e))===null||t===void 0?void 0:t.length){let a=r.node(e),o=r.node(a.borderTop),s=r.node(a.borderBottom),l=r.node(a.borderLeft[((n=a.borderLeft)===null||n===void 0?void 0:n.length)-1]),u=r.node(a.borderRight[((i=a.borderRight)===null||i===void 0?void 0:i.length)-1]);a.width=Math.abs((u==null?void 0:u.x)-(l==null?void 0:l.x))||10,a.height=Math.abs((s==null?void 0:s.y)-(o==null?void 0:o.y))||10,a.x=((l==null?void 0:l.x)||0)+a.width/2,a.y=((o==null?void 0:o.y)||0)+a.height/2}}),r.nodes().forEach(e=>{r.node(e).dummy==="border"&&r.removeNode(e)})},pae=r=>{r.edges().forEach(e=>{if(e.v===e.w){let t=r.node(e.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})},vae=r=>{let e=Ni.buildLayerMatrix(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var o;let s=r.node(i);s.order=a+n,(o=s.selfEdges)===null||o===void 0||o.forEach(l=>{Ni.addDummyNode(r,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})},mae=r=>{r.nodes().forEach(e=>{let t=r.node(e);if(t.dummy==="selfedge"){let n=r.node(t.e.v),i=n.x+n.width/2,a=n.y,o=t.x-i,s=n.height/2;r.setEdge(t.e,t.label),r.removeNode(e),t.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{y:a,x:i+o},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],t.label.x=t.x,t.label.y=t.y}})},aH=(r,e)=>{let t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},oH=r=>{let e={};return Object.keys(r).forEach(t=>{let n=r[t];e[t.toLowerCase()]=n}),e},_mt=Kie;var SR={graphlib:Ko,layout:_mt,util:{time:H8,notime:Y8}};var xg=class extends li{constructor(e){super();this.rankdir="TB",this.nodesep=50,this.ranksep=50,this.controlPoints=!1,this.sortByCombo=!1,this.edgeLabelSpace=!0,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.layoutNode=t=>{let n=this,{nodes:i}=n,a=i.find(o=>o.id===t);return a?a.layout!==!1:!0},this.updateCfg(e)}getDefaultCfg(){return{rankdir:"TB",align:void 0,nodeSize:void 0,nodesepFunc:void 0,ranksepFunc:void 0,nodesep:50,ranksep:50,controlPoints:!1}}execute(){let e=this,{nodes:t,nodeSize:n,rankdir:i,combos:a,begin:o}=e;if(!t)return;let s=e.edges||[],l=new SR.graphlib.Graph({multigraph:!0,compound:!0}),u;n?ha(n)?u=()=>n:u=()=>[n,n]:u=v=>v.size?ha(v.size)?v.size:co(v.size)?[v.size.width||40,v.size.height||40]:[v.size,v.size]:[40,40];let f=CR(e.nodesepFunc,e.nodesep,50),c=CR(e.ranksepFunc,e.ranksep,50);(i==="LR"||i==="RL")&&(f=CR(e.ranksepFunc,e.ranksep,50),c=CR(e.nodesepFunc,e.nodesep,50)),l.setDefaultEdgeLabel(()=>({})),l.setGraph(e);let h={};t.filter(v=>v.layout!==!1).forEach(v=>{let m=u(v),g=c(v),x=f(v),b=m[0]+2*x,S=m[1]+2*g,C=v.layer;je(C)?l.setNode(v.id,{width:b,height:S,layer:C}):l.setNode(v.id,{width:b,height:S}),this.sortByCombo&&v.comboId&&(h[v.comboId]||(h[v.comboId]=!0,l.setNode(v.comboId,{})),l.setParent(v.id,v.comboId))}),this.sortByCombo&&a&&a.forEach(v=>{!v.parentId||(h[v.parentId]||(h[v.parentId]=!0,l.setNode(v.parentId,{})),l.setParent(v.id,v.parentId))}),s.forEach(v=>{let m=xn(v,"source"),g=xn(v,"target");this.layoutNode(m)&&this.layoutNode(g)&&l.setEdge(m,g,{weight:v.weight||1})});let d;e.preset&&(d=new SR.graphlib.Graph({multigraph:!0,compound:!0}),e.preset.nodes.forEach(v=>{d==null||d.setNode(v.id,v)})),SR.layout(l,{prevGraph:d,edgeLabelSpace:e.edgeLabelSpace,keepNodeOrder:Boolean(!!e.nodeOrder),nodeOrder:e.nodeOrder});let p=[0,0];if(o){let v=1/0,m=1/0;l.nodes().forEach(g=>{let x=l.node(g);v>x.x&&(v=x.x),m>x.y&&(m=x.y)}),l.edges().forEach(g=>{l.edge(g).points.forEach(b=>{v>b.x&&(v=b.x),m>b.y&&(m=b.y)})}),p[0]=o[0]-v,p[1]=o[1]-m}return l.nodes().forEach(v=>{let m=l.node(v),g=t.findIndex(x=>x.id===v);!t[g]||(t[g].x=m.x+p[0],t[g].y=m.y+p[1],t[g]._order=m._order)}),l.edges().forEach(v=>{let m=l.edge(v),g=s.findIndex(x=>{let b=xn(x,"source"),S=xn(x,"target");return b===v.v&&S===v.w});e.edgeLabelSpace&&e.controlPoints&&s[g].type!=="loop"&&(s[g].controlPoints=m.points.slice(1,m.points.length-1),s[g].controlPoints.forEach(x=>{x.x+=p[0],x.y+=p[1]}))}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:s}}getType(){return"dagre"}};function CR(r,e,t){let n;return r?n=r:je(e)?n=()=>e:n=()=>t,n}var gae=Object.prototype.toString;function bg(r){return gae.call(r).endsWith("Array]")}function yae(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!bg(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=r[n],s=n+1;so&&(o=r[s]);return o}var Smt=yae;function xae(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!bg(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=r[n],s=n+1;s1&&arguments[1]!==void 0?arguments[1]:{};if(bg(r)){if(r.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var t;if(e.output!==void 0){if(!bg(e.output))throw new TypeError("output option must be an array if specified");t=e.output}else t=new Array(r.length);var n=Cmt(r),i=Smt(r);if(n===i)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var a=e.min,o=a===void 0?e.autoMinMax?n:0:a,s=e.max,l=s===void 0?e.autoMinMax?i:1:s;if(o>=l)throw new RangeError("min option must be smaller than max option");for(var u=(l-o)/(i-n),f=0;f>n);return this},r.prototype.signPropagatingRightShiftM=function(n){if(n=e.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i>n.get(i,a));return this},r.signPropagatingRightShift=function(n,i){return new e(n).signPropagatingRightShift(i)},r.prototype.rightShift=function(n){return typeof n=="number"?this.rightShiftS(n):this.rightShiftM(n)},r.prototype.rightShiftS=function(n){for(let i=0;i>>n);return this},r.prototype.rightShiftM=function(n){if(n=e.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i>>n.get(i,a));return this},r.rightShift=function(n,i){return new e(n).rightShift(i)},r.prototype.zeroFillRightShift=r.prototype.rightShift,r.prototype.zeroFillRightShiftS=r.prototype.rightShiftS,r.prototype.zeroFillRightShiftM=r.prototype.rightShiftM,r.zeroFillRightShift=r.rightShift,r.prototype.not=function(){for(let n=0;nn)throw new RangeError("Row index out of range")}function bf(r,e,t){let n=t?r.columns:r.columns-1;if(e<0||e>n)throw new RangeError("Column index out of range")}function W0(r,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==r.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function V0(r,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==r.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function Mmt(r,e,t){return{row:Sae(r,e),column:Cae(r,t)}}function Sae(r,e){if(typeof e!="object")throw new TypeError("unexpected type for row indices");if(e.some(n=>n<0||n>=r.rows))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function Cae(r,e){if(typeof e!="object")throw new TypeError("unexpected type for column indices");if(e.some(n=>n<0||n>=r.columns))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function uH(r,e,t,n,i){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ER("startRow",e),ER("endRow",t),ER("startColumn",n),ER("endColumn",i),e>t||n>i||e<0||e>=r.rows||t<0||t>=r.rows||n<0||n>=r.columns||i<0||i>=r.columns)throw new RangeError("Submatrix indices are out of range")}function wM(r,e=0){let t=[];for(let n=0;n=a)throw new RangeError("min must be smaller than max");let s=a-i,l=new Lr(e,t);for(let u=0;un?(a=!0,n=t):(i=!1,a=!0);e++}return i}isReducedEchelonForm(){let e=0,t=0,n=-1,i=!0,a=!1;for(;en?(a=!0,n=t):(i=!1,a=!0);for(let o=t+1;oe.get(i,n)&&(i=a);if(e.get(i,n)===0)n++;else{e.swapRows(t,i);let a=e.get(t,n);for(let o=n;o=0;)if(e.maxRow(i)===0)i--;else{let a=0,o=!1;for(;ae&&(e=this.get(t,n));return e}maxIndex(){H0(this);let e=this.get(0,0),t=[0,0];for(let n=0;ne&&(e=this.get(n,i),t[0]=n,t[1]=i);return t}min(){if(this.isEmpty())return NaN;let e=this.get(0,0);for(let t=0;tt&&(t=this.get(e,n));return t}maxRowIndex(e){xf(this,e),H0(this);let t=this.get(e,0),n=[e,0];for(let i=1;it&&(t=this.get(e,i),n[1]=i);return n}minRow(e){if(xf(this,e),this.isEmpty())return NaN;let t=this.get(e,0);for(let n=1;nt&&(t=this.get(n,e));return t}maxColumnIndex(e){bf(this,e),H0(this);let t=this.get(0,e),n=[0,e];for(let i=1;it&&(t=this.get(i,e),n[0]=i);return n}minColumn(e){if(bf(this,e),this.isEmpty())return NaN;let t=this.get(0,e);for(let n=1;n=n)throw new RangeError("min must be smaller than max");let i=new Lr(this.rows,this.columns);for(let a=0;a0&&sH(o,{min:t,max:n,output:o}),i.setRow(a,o)}return i}scaleColumns(e={}){if(typeof e!="object")throw new TypeError("options must be an object");let{min:t=0,max:n=1}=e;if(!Number.isFinite(t))throw new TypeError("min must be a number");if(!Number.isFinite(n))throw new TypeError("max must be a number");if(t>=n)throw new RangeError("min must be smaller than max");let i=new Lr(this.rows,this.columns);for(let a=0;an||t<0||t>=this.columns||n<0||n>=this.columns)throw new RangeError("Argument out of range");let i=new Lr(e.length,n-t+1);for(let a=0;a=this.rows)throw new RangeError(`Row index out of range: ${e[a]}`);i.set(a,o-t,this.get(e[a],o))}return i}subMatrixColumn(e,t,n){if(t===void 0&&(t=0),n===void 0&&(n=this.rows-1),t>n||t<0||t>=this.rows||n<0||n>=this.rows)throw new RangeError("Argument out of range");let i=new Lr(n-t+1,e.length);for(let a=0;a=this.columns)throw new RangeError(`Column index out of range: ${e[a]}`);i.set(o-t,a,this.get(o,e[a]))}return i}setSubMatrix(e,t,n){if(e=Lr.checkMatrix(e),e.isEmpty())return this;let i=t+e.rows-1,a=n+e.columns-1;uH(this,t,i,n,a);for(let o=0;o=0)if(this.data=[],Number.isInteger(t)&&t>=0)for(let n=0;nMath.abs(e)?(t=e/r,Math.abs(r)*Math.sqrt(1+t*t)):e!==0?(t=r/e,Math.abs(e)*Math.sqrt(1+t*t)):0}var _g=class{constructor(e,t={}){if(e=AR.checkMatrix(e),e.isEmpty())throw new Error("Matrix must be non-empty");let n=e.rows,i=e.columns,{computeLeftSingularVectors:a=!0,computeRightSingularVectors:o=!0,autoTranspose:s=!1}=t,l=Boolean(a),u=Boolean(o),f=!1,c;if(n=0;M--)if(p[M]!==0){for(let O=M+1;O=0;M--){if(M0;){let M,O;for(M=A-2;M>=-1&&M!==-1;M--){let F=Number.MIN_VALUE+L*Math.abs(p[M]+Math.abs(p[M+1]));if(Math.abs(g[M])<=F||Number.isNaN(g[M])){g[M]=0;break}}if(M===A-2)O=4;else{let F;for(F=A-1;F>=M&&F!==M;F--){let k=(F!==A?Math.abs(g[F]):0)+(F!==M+1?Math.abs(g[F-1]):0);if(Math.abs(p[F])<=L*k){p[F]=0;break}}F===M?O=3:F===A-1?O=1:(O=2,M=F)}switch(M++,O){case 1:{let F=g[A-2];g[A-2]=0;for(let k=A-2;k>=M;k--){let G=Y0(p[k],F),D=p[k]/G,N=F/G;if(p[k]=G,k!==M&&(F=-N*g[k-1],g[k-1]=D*g[k-1]),u)for(let z=0;z=p[M+1]);){let F=p[M];if(p[M]=p[M+1],p[M+1]=F,u&&Mt&&a.set(f,c,e.get(f,c)/this.s[c]);let o=this.U,s=o.rows,l=o.columns,u=new Lr(n,s);for(let f=0;fe&&t++;return t}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return Lr.diag(this.s)}};var MR=class{constructor(e){this.distances=e.distances,this.dimension=e.dimension||2,this.linkDistance=e.linkDistance}layout(){let e=this,{dimension:t,distances:n,linkDistance:i}=e;try{let a=Lr.mul(Lr.pow(n,2),-.5),o=a.mean("row"),s=a.mean("column"),l=a.mean();a.add(l).subRowVector(o).subColumnVector(s);let u=new _g(a),f=Lr.sqrt(u.diagonalMatrix).diagonal();return u.leftSingularVectors.toJSON().map(c=>Lr.mul([c],[f]).toJSON()[0].splice(0,t))}catch(a){let o=[];for(let s=0;s{n[l]={x:0,y:0}}),e.getRepulsion(),e.updatePositions();return t}getRepulsion(){let e=this,t=e.positions,n=e.nodes,i=e.disp,a=e.k,o=e.radii||[];t.forEach((s,l)=>{i[l]={x:0,y:0},t.forEach((u,f)=>{if(l===f||o[l]!==o[f])return;let c=s[0]-u[0],h=s[1]-u[1],d=Math.sqrt(c*c+h*h);if(d===0){d=1;let p=l>f?1:-1;c=.01*p,h=.01*p}if(d{let c=t[f][0]-t[o][0],h=t[f][1]-t[o][1],d=Math.sqrt(c*c+h*h),p=h/d,v=-c/d,m=Math.sqrt(u.x*u.x+u.y*u.y),g=Math.acos((p*u.x+v*u.y)/m);g>Math.PI/2&&(g-=Math.PI/2,p*=-1,v*=-1);let x=Math.cos(g)*m;u.x=p*x,u.y=v*x});let l=e.radii;t.forEach((u,f)=>{if(f===o)return;let c=Math.sqrt(n[f].x*n[f].x+n[f].y*n[f].y);if(c>0&&f!==o){let h=Math.min(s*(i/wae),c);if(u[0]+=n[f].x/c*h,u[1]+=n[f].y/c*h,a){let d=u[0]-t[o][0],p=u[1]-t[o][1],v=Math.sqrt(d*d+p*p);d=d/v*l[f],p=p/v*l[f],u[0]=t[o][0]+d,u[1]=t[o][1]+p}}})}};function Eae(r){let e=r.length,t=r[0].length,n=[];for(let i=0;i{n.id===e&&(t=i)}),t}function Xmt(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}var Y_=class extends li{constructor(e){super();this.maxIteration=1e3,this.focusNode=null,this.unitRadius=null,this.linkDistance=50,this.preventOverlap=!1,this.strictRadial=!0,this.maxPreventOverlapIteration=200,this.sortStrength=10,this.nodes=[],this.edges=[],this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,strictRadial:!0,maxPreventOverlapIteration:200,sortBy:void 0,sortStrength:10}}execute(){let e=this,t=e.nodes,n=e.edges||[];if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let i=e.center;if(t.length===1){t[0].x=i[0],t[0].y=i[1],e.onLayoutEnd&&e.onLayoutEnd();return}let a=e.linkDistance,o=null;if(gg(e.focusNode)){let M=!1;for(let O=0;Oi[0]?i[0]:h-i[0],v=d-i[1]>i[1]?i[1]:d-i[1];p===0&&(p=h/2),v===0&&(v=d/2);let m=v>p?p:v,g=Math.max(...c),x=[];c.forEach((M,O)=>{e.unitRadius||(e.unitRadius=m/g),x[O]=M*e.unitRadius}),e.radii=x;let b=e.eIdealDisMatrix();e.eIdealDistances=b;let S=Eae(b);e.weights=S;let w=new MR({linkDistance:a,distances:b}).layout();w.forEach(M=>{dM(M[0])&&(M[0]=Math.random()*a),dM(M[1])&&(M[1]=Math.random()*a)}),e.positions=w,w.forEach((M,O)=>{t[O].x=M[0]+i[0],t[O].y=M[1]+i[1]}),w.forEach(M=>{M[0]-=w[s][0],M[1]-=w[s][1]}),e.run();let A=e.preventOverlap,I=e.nodeSize,P,L=e.strictRadial;if(A){let M=e.nodeSpacing,O;je(M)?O=()=>M:gf(M)?O=M:O=()=>0,I?ha(I)?P=G=>(I[0]>I[1]?I[0]:I[1])+O(G):P=G=>I+O(G):P=G=>G.size?ha(G.size)?(G.size[0]>G.size[1]?G.size[0]:G.size[1])+O(G):co(G.size)?(G.size.width>G.size.height?G.size.width:G.size.height)+O(G):G.size+O(G):10+O(G);let F={nodes:t,nodeSizeFunc:P,adjMatrix:l,positions:w,radii:x,height:d,width:h,strictRadial:L,focusID:s,iterations:e.maxPreventOverlapIteration||200,k:w.length/4.5};w=new TR(F).layout()}return w.forEach((M,O)=>{t[O].x=M[0]+i[0],t[O].y=M[1]+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}run(){let e=this,t=e.maxIteration,n=e.positions||[],i=e.weights||[],a=e.eIdealDistances||[],o=e.radii||[];for(let s=0;s<=t;s++){let l=s/t;e.oneIteration(l,n,o,a,i)}}oneIteration(e,t,n,i,a){let o=this,s=1-e,l=o.focusIndex;t.forEach((u,f)=>{let c=Xmt(u,[0,0]),h=c===0?0:1/c;if(f===l)return;let d=0,p=0,v=0;t.forEach((g,x)=>{if(f===x)return;let b=Xmt(u,g),S=b===0?0:1/b,C=i[x][f];v+=a[f][x],d+=a[f][x]*(g[0]+C*(u[0]-g[0])*S),p+=a[f][x]*(g[1]+C*(u[1]-g[1])*S)});let m=n[f]===0?0:1/n[f];v*=s,v+=e*m*m,d*=s,d+=e*m*u[0]*h,u[0]=d/v,p*=s,p+=e*m*u[1]*h,u[1]=p/v})}eIdealDisMatrix(){let e=this,t=e.nodes;if(!t)return[];let n=e.distances,i=e.linkDistance,a=e.radii||[],o=e.unitRadius||50,s=[];return n&&n.forEach((l,u)=>{let f=[];l.forEach((c,h)=>{if(u===h)f.push(0);else if(a[u]===a[h])if(e.sortBy==="data")f.push(c*(Math.abs(u-h)*e.sortStrength)/(a[u]/o));else if(e.sortBy){let d=t[u][e.sortBy]||0,p=t[h][e.sortBy]||0;gg(d)&&(d=d.charCodeAt(0)),gg(p)&&(p=p.charCodeAt(0)),f.push(c*(Math.abs(d-p)*e.sortStrength)/(a[u]/o))}else f.push(c*i/(a[u]/o));else{let d=(i+o)/2;f.push(c*d)}}),s.push(f)}),s}handleInfinity(e,t,n){let i=e.length;for(let a=0;an?e[t][i]:n);return n}getType(){return"radial"}};var X_=class extends li{constructor(e){super();this.nodeSize=30,this.minNodeSpacing=10,this.preventOverlap=!1,this.equidistant=!1,this.startAngle=3/2*Math.PI,this.clockwise=!0,this.sortBy="degree",this.nodes=[],this.edges=[],this.width=300,this.height=300,this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{nodeSize:30,minNodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length;if(i===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let a=e.center;if(i===1){t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd();return}let o=[],s;ha(e.nodeSize)?s=Math.max(e.nodeSize[0],e.nodeSize[1]):s=e.nodeSize,t.forEach(p=>{o.push(p);let v=s;ha(p.size)?v=Math.max(p.size[0],p.size[1]):je(p.size)?v=p.size:co(p.size)&&(v=Math.max(p.size.width,p.size.height)),s=Math.max(s,v)}),e.clockwise=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise;let l={},u={};if(o.forEach((p,v)=>{l[p.id]=p,u[p.id]=v}),(e.sortBy==="degree"||!gg(e.sortBy)||o[0][e.sortBy]===void 0)&&(e.sortBy="degree",!je(t[0].degree))){let p=Qh(t.length,u,n);o.forEach((v,m)=>{v.degree=p[m]})}o.sort((p,v)=>v[e.sortBy]-p[e.sortBy]),e.maxValueNode=o[0],e.maxLevelDiff=e.maxLevelDiff||e.maxValueNode[e.sortBy]/4;let f=[[]],c=f[0];o.forEach(p=>{if(c.length>0){let v=Math.abs(c[0][e.sortBy]-p[e.sortBy]);e.maxLevelDiff&&v>=e.maxLevelDiff&&(c=[],f.push(c))}c.push(p)});let h=s+e.minNodeSpacing;if(!e.preventOverlap){let p=f.length>0&&f[0].length>1,m=(Math.min(e.width,e.height)/2-h)/(f.length+(p?1:0));h=Math.min(h,m)}let d=0;if(f.forEach(p=>{let v=e.sweep;v===void 0&&(v=2*Math.PI-2*Math.PI/p.length);let m=p.dTheta=v/Math.max(1,p.length-1);if(p.length>1&&e.preventOverlap){let g=Math.cos(m)-Math.cos(0),x=Math.sin(m)-Math.sin(0),b=Math.sqrt(h*h/(g*g+x*x));d=Math.max(b,d)}p.r=d,d+=h}),e.equidistant){let p=0,v=0;for(let m=0;m{g===0&&(v=m.r),m.r=v,v+=p})}return f.forEach(p=>{let v=p.dTheta,m=p.r;p.forEach((g,x)=>{let b=e.startAngle+(e.clockwise?1:-1)*v*x;g.x=a[0]+m*Math.cos(b),g.y=a[1]+m*Math.sin(b)})}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}getType(){return"concentric"}};var q_=class extends li{constructor(e){super();this.center=[0,0],this.linkDistance=50,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],linkDistance:50}}execute(){let e=this,{nodes:t,edges:n=[]}=e,i=e.center;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}if(t.length===1){t[0].x=i[0],t[0].y=i[1],e.onLayoutEnd&&e.onLayoutEnd();return}let a=e.linkDistance,o=pR({nodes:t,edges:n},!1),s=dR(o);e.handleInfinity(s);let l=spt(s,a);e.scaledDistances=l;let u=e.runMDS();return e.positions=u,u.forEach((f,c)=>{t[c].x=f[0]+i[0],t[c].y=f[1]+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}runMDS(){let e=this,t=2,n=e.scaledDistances,i=Lr.mul(Lr.pow(n,2),-.5),a=i.mean("row"),o=i.mean("column"),s=i.mean();i.add(s).subRowVector(a).subColumnVector(o);let l=new _g(i),u=Lr.sqrt(l.diagonalMatrix).diagonal();return l.leftSingularVectors.toJSON().map(f=>Lr.mul([f],[u]).toJSON()[0].splice(0,t))}handleInfinity(e){let t=-999999;e.forEach(n=>{n.forEach(i=>{i!==1/0&&t{n.forEach((a,o)=>{a===1/0&&(e[i][o]=t)})})}getType(){return"mds"}};var Mae=800,K_=class extends li{constructor(e){super();this.maxIteration=1e3,this.workerEnabled=!1,this.gravity=10,this.speed=5,this.clustering=!1,this.clusterGravity=10,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.onLayoutEnd=()=>{},this.tick=()=>{},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10}}execute(){var e,t;let n=this,i=n.nodes;if(n.timeInterval!==void 0&&typeof window!="undefined"&&window.clearInterval(n.timeInterval),!i||i.length===0){(e=n.onLayoutEnd)===null||e===void 0||e.call(n);return}!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);let a=n.center;if(i.length===1){i[0].x=a[0],i[0].y=a[1],(t=n.onLayoutEnd)===null||t===void 0||t.call(n);return}let o={},s={};return i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*this.width),je(l.y)||(l.y=Math.random()*this.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,n.run()}run(){var e;let t=this,n=t.nodes;if(!n)return;let{edges:i,maxIteration:a,workerEnabled:o,clustering:s}=t,l={};if(s&&n.forEach(u=>{l[u.cluster]===void 0&&(l[u.cluster]={name:u.cluster,cx:0,cy:0,count:0})}),o){for(let u=0;u{var f;t.runOneStep(l),u++,u>=a&&((f=t.onLayoutEnd)===null||f===void 0||f.call(t),window.clearInterval(t.timeInterval))},0)}return{nodes:n,edges:i}}runOneStep(e){var t;let n=this,i=n.nodes;if(!i)return;let{edges:a,center:o,gravity:s,speed:l,clustering:u}=n,f=n.height*n.width,c=Math.sqrt(f)/10,h=f/(i.length+1),d=Math.sqrt(h),p=[];if(i.forEach((v,m)=>{p[m]={x:0,y:0}}),n.applyCalculate(i,a,p,d,h),u){for(let m in e)e[m].cx=0,e[m].cy=0,e[m].count=0;i.forEach(m=>{let g=e[m.cluster];je(m.x)&&(g.cx+=m.x),je(m.y)&&(g.cy+=m.y),g.count++});for(let m in e)e[m].cx/=e[m].count,e[m].cy/=e[m].count;let v=n.clusterGravity||s;i.forEach((m,g)=>{if(!je(m.x)||!je(m.y))return;let x=e[m.cluster],b=Math.sqrt((m.x-x.cx)*(m.x-x.cx)+(m.y-x.cy)*(m.y-x.cy)),S=d*v;p[g].x-=S*(m.x-x.cx)/b,p[g].y-=S*(m.y-x.cy)/b})}i.forEach((v,m)=>{if(!je(v.x)||!je(v.y))return;let g=.01*d*s;p[m].x-=g*(v.x-o[0]),p[m].y-=g*(v.y-o[1])}),i.forEach((v,m)=>{if(je(v.fx)&&je(v.fy)){v.x=v.fx,v.y=v.fy;return}if(!je(v.x)||!je(v.y))return;let g=Math.sqrt(p[m].x*p[m].x+p[m].y*p[m].y);if(g>0){let x=Math.min(c*(l/Mae),g);v.x+=p[m].x/g*x,v.y+=p[m].y/g*x}}),(t=n.tick)===null||t===void 0||t.call(n)}applyCalculate(e,t,n,i,a){let o=this;o.calRepulsive(e,n,a),t&&o.calAttractive(t,n,i)}calRepulsive(e,t,n){e.forEach((i,a)=>{t[a]={x:0,y:0},e.forEach((o,s)=>{if(a===s||!je(i.x)||!je(o.x)||!je(i.y)||!je(o.y))return;let l=i.x-o.x,u=i.y-o.y,f=l*l+u*u;if(f===0){f=1;let h=a>s?1:-1;l=.01*h,u=.01*h}let c=n/f;t[a].x+=l*c,t[a].y+=u*c})})}calAttractive(e,t,n){e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target");if(!a||!o)return;let s=this.nodeIdxMap[a],l=this.nodeIdxMap[o];if(s===l)return;let u=this.nodeMap[a],f=this.nodeMap[o];if(!je(f.x)||!je(u.x)||!je(f.y)||!je(u.y))return;let c=f.x-u.x,h=f.y-u.y,d=Math.sqrt(c*c+h*h),p=d*d/n;t[l].x-=c/d*p,t[l].y-=h/d*p,t[s].x+=c/d*p,t[s].y+=h/d*p})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval)}destroy(){let e=this;e.stop(),e.tick=null,e.nodes=null,e.edges=null,e.destroyed=!0}getType(){return"fruchterman"}};function Ke(r,e,t,n){!t||Object.defineProperty(r,e,{enumerable:t.enumerable,configurable:t.configurable,writable:t.writable,value:t.initializer?t.initializer.call(n):void 0})}function se(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function qmt(r,e){for(var t=0;t0)return!0;var ee=v.get(Et);return ee.delete(St),ee.size>0||v.delete(Et),!0}e("deleteMetadata",P);function L(pt,Et){for(var St=pt.length-1;St>=0;--St){var Wt=pt[St],ee=Wt(Et);if(!J(ee)&&!et(ee)){if(!Y(ee))throw new TypeError;Et=ee}}return Et}function M(pt,Et,St,Wt){for(var ee=pt.length-1;ee>=0;--ee){var Ue=pt[ee],Ht=Ue(Et,St,Wt);if(!J(Ht)&&!et(Ht)){if(!$(Ht))throw new TypeError;Wt=Ht}}return Wt}function O(pt,Et,St){var Wt=v.get(pt);if(J(Wt)){if(!St)return;Wt=new h,v.set(pt,Wt)}var ee=Wt.get(Et);if(J(ee)){if(!St)return;ee=new h,Wt.set(Et,ee)}return ee}function F(pt,Et,St){var Wt=k(pt,Et,St);if(Wt)return!0;var ee=We(Et);return et(ee)?!1:F(pt,ee,St)}function k(pt,Et,St){var Wt=O(Et,St,!1);return J(Wt)?!1:dt(Wt.has(pt))}function G(pt,Et,St){var Wt=k(pt,Et,St);if(Wt)return D(pt,Et,St);var ee=We(Et);if(!et(ee))return G(pt,ee,St)}function D(pt,Et,St){var Wt=O(Et,St,!1);if(!J(Wt))return Wt.get(pt)}function N(pt,Et,St,Wt){var ee=O(St,Wt,!0);ee.set(pt,Et)}function z(pt,Et){var St=j(pt,Et),Wt=We(pt);if(Wt===null)return St;var ee=z(Wt,Et);if(ee.length<=0)return St;if(St.length<=0)return ee;for(var Ue=new d,Ht=[],ae=0,ge=St;ae=0&&ae=this._keys.length?(this._index=-1,this._keys=Et,this._values=Et):this._index++,{value:ge,done:!1}}return{value:void 0,done:!0}},Ht.prototype.throw=function(ae){throw this._index>=0&&(this._index=-1,this._keys=Et,this._values=Et),ae},Ht.prototype.return=function(ae){return this._index>=0&&(this._index=-1,this._keys=Et,this._values=Et),{value:ae,done:!0}},Ht}();return function(){function Ht(){this._keys=[],this._values=[],this._cacheKey=pt,this._cacheIndex=-2}return Object.defineProperty(Ht.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Ht.prototype.has=function(ae){return this._find(ae,!1)>=0},Ht.prototype.get=function(ae){var ge=this._find(ae,!1);return ge>=0?this._values[ge]:void 0},Ht.prototype.set=function(ae,ge){var Ye=this._find(ae,!0);return this._values[Ye]=ge,this},Ht.prototype.delete=function(ae){var ge=this._find(ae,!1);if(ge>=0){for(var Ye=this._keys.length,Ve=ge+1;Ve-1}},{key:"create",value:function(t,n){this.lookup[t]=this.components.length;var i=new this.clazz(n||{});return this.components.push(i),this.entities.push(t),i}},{key:"remove",value:function(t){var n=this.lookup[t];n>-1&&n-1){var i=this.entities[n];if(n-1?this.components[n]:null}},{key:"getCount",value:function(){return this.components.length}},{key:"getEntityByComponentIndex",value:function(t){for(var n=0,i=Object.keys(this.lookup);nr.length)&&(e=r.length);for(var t=0,n=new Array(e);t"),Renderable:Symbol("Factory"),MeshSystem:Symbol("MeshSystem"),MeshComponentManager:Symbol("MeshComponentManager"),CullableComponentManager:Symbol("CullableComponentManager"),Geometry:Symbol("Geometry"),GeometrySystem:Symbol("GeometrySystem"),GeometryComponentManager:Symbol("GeometryComponentManager"),Material:Symbol("Material"),MaterialSystem:Symbol("MaterialSystem"),MaterialComponentManager:Symbol("MaterialComponentManager"),ForwardRenderPath:Symbol("ForwardRenderPath"),ComputeSystem:Symbol("ComputeSystem"),ComputeComponentManager:Symbol("ComputeComponentManager"),ComputeStrategy:Symbol("ComputeStrategy"),Systems:Symbol("Systems"),World:Symbol("World"),RenderEngine:Symbol("RenderEngine"),WebGPUEngine:Symbol("WebGPUEngine"),WebGLEngine:Symbol("WebGLEngine"),ShaderModuleService:Symbol("ShaderModuleService"),ConfigService:Symbol("ConfigService"),InteractorService:Symbol("InteractorService"),IEventEmitter:Symbol("IEventEmitter"),Light:Symbol("Light")};var hyt=function r(){se(this,r),this.index=void 0};var dyt=function r(){se(this,r),this.name=void 0,this.data=void 0,this.execute=void 0,this.tearDown=void 0};var pyt=function(){function r(){se(this,r),this.name=void 0,this.refCount=0,this.hasSideEffect=!1,this.devirtualize=[],this.destroy=[],this.reads=[],this.writes=[]}return be(r,[{key:"read",value:function(t){return this.reads.find(function(n){return n.index===t.index})||this.reads.push(t),t}},{key:"sample",value:function(t){return this.read(t),t}},{key:"write",value:function(t,n){var i=this.writes.find(function(l){return l.index===n.index});if(i)return n;var a=t.getResourceNode(n);a.resource.version++,a.resource.imported&&(this.hasSideEffect=!0);var o=t.createResourceNode(a.resource),s=t.getResourceNode(o);return s.writer=this,this.writes.push(o),o}}]),r}();function IM(r,e){return IM=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},IM(r,e)}function ui(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&IM(r,e)}function hs(r){return hs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hs(r)}function ri(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function fi(r,e){if(e&&(hs(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ri(r)}function Zr(r){return Zr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},Zr(r)}var vyt=function r(){se(this,r),this.first=void 0,this.last=void 0};function Qse(r){var e=Jse();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function Jse(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var NH=function(r){ui(t,r);var e=Qse(t);function t(){var n;se(this,t);for(var i=arguments.length,a=new Array(i),o=0;o=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function tle(r,e){if(!!r){if(typeof r=="string")return Syt(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Syt(r,e)}}function Syt(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t-1&&r%1==0&&r<=ele}function Lle(r){return!!r&&hs(r)==="object"}var GH=Tle;function Cyt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function wyt(r){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{vertexCount:3},n=t.vertexCount,i=cs();return this.geometry.create(i,{vertexCount:n})}},{key:"createInstancedBufferGeometry",value:function(t){var n=t.maxInstancedCount,i=t.vertexCount,a=cs();return this.geometry.create(a,{maxInstancedCount:n,vertexCount:i})}}]),r}(),Oyt),Iyt=Ze(cN.prototype,"geometry",[Ayt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Lyt=Ze(cN.prototype,"engine",[Myt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),cN))||Tyt);function Dyt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Pyt(r){for(var e=1;eh&&(h=L),Mp&&(p=O),Fm&&(m=k),n[0]=(c+h)*.5,n[1]=(d+p)*.5,n[2]=(v+m)*.5,s[0]=(h-c)*.5,s[1]=(p-d)*.5,s[2]=(m-v)*.5,this.min[0]=c,this.min[1]=d,this.min[2]=v,this.max[0]=h,this.max[1]=p,this.max[2]=m}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),o=t.getMin();return i[0]<=a[0]&&n[0]>=o[0]&&i[1]<=a[1]&&n[1]>=o[1]&&i[2]<=a[2]&&n[2]>=o[2]}},{key:"containsPoint",value:function(t){var n=this.getMin(),i=this.getMax();return!(t[0]i[0]||t[1]i[1]||t[2]i[2])}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?Ft.copy(Ft.create(),this.min):t.pnVertexFlag===272?Ft.fromValues(this.min[0],this.min[1],this.max[2]):t.pnVertexFlag===257?Ft.fromValues(this.min[0],this.max[1],this.min[2]):t.pnVertexFlag===256?Ft.fromValues(this.min[0],this.max[1],this.max[2]):t.pnVertexFlag===17?Ft.fromValues(this.max[0],this.min[1],this.min[2]):t.pnVertexFlag===16?Ft.fromValues(this.max[0],this.min[1],this.max[2]):t.pnVertexFlag===1?Ft.fromValues(this.max[0],this.max[1],this.min[2]):Ft.fromValues(this.max[0],this.max[1],this.max[2])}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?Ft.copy(Ft.create(),this.max):t.pnVertexFlag===272?Ft.fromValues(this.max[0],this.max[1],this.min[2]):t.pnVertexFlag===257?Ft.fromValues(this.max[0],this.min[1],this.max[2]):t.pnVertexFlag===256?Ft.fromValues(this.max[0],this.min[1],this.min[2]):t.pnVertexFlag===17?Ft.fromValues(this.min[0],this.max[1],this.max[2]):t.pnVertexFlag===16?Ft.fromValues(this.min[0],this.max[1],this.min[2]):t.pnVertexFlag===1?Ft.fromValues(this.min[0],this.min[1],this.max[2]):Ft.fromValues(this.min[0],this.min[1],this.min[2])}}]),r}();function Fle(r){var e=Ble();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function Ble(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var qH=function(r){ui(t,r);var e=Fle(t);function t(n){var i;return se(this,t),i=e.call(this,n),i.material=void 0,i.geometry=void 0,i.aabb=new nS,i.aabbDirty=!0,i.model=void 0,i.visible=!0,i.children=[],Object.assign(ri(i),n),i}return t}(rl);var KH=U(Ka());var Ag=U(Zn());var Hyt=function(){function r(e,t){se(this,r),this.distance=void 0,this.normal=void 0,this.pnVertexFlag=void 0,this.distance=e||0,this.normal=t||Ft.fromValues(0,1,0),this.updatePNVertexFlag()}return be(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(Number(this.normal[0]>=0)<<8)+(Number(this.normal[1]>=0)<<4)+Number(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return Ft.dot(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/Ft.len(this.normal);Ft.scale(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),o=this.distanceToPoint(n),s=a/(a-o),l=s>=0&&s<=1;return l&&i&&Ft.lerp(i,t,n,s),l}}]),r}();var Yp;(function(r){r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE"})(Yp||(Yp={}));var Yyt=function(){function r(e){if(se(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new Hyt)}return be(r,[{key:"extractFromVPMatrix",value:function(t){var n=Up(t,16),i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],u=n[5],f=n[6],c=n[7],h=n[8],d=n[9],p=n[10],v=n[11],m=n[12],g=n[13],x=n[14],b=n[15];Ft.set(this.planes[0].normal,s-i,c-l,v-h),this.planes[0].distance=-(b-m),Ft.set(this.planes[1].normal,s+i,c+l,v+h),this.planes[1].distance=-(b+m),Ft.set(this.planes[2].normal,s+a,c+u,v+d),this.planes[2].distance=-(b+g),Ft.set(this.planes[3].normal,s-a,c-u,v-d),this.planes[3].distance=-(b-g),Ft.set(this.planes[4].normal,s-o,c-f,v-p),this.planes[4].distance=-(b-x),Ft.set(this.planes[5].normal,s+o,c+f,v+p),this.planes[5].distance=-(b+x),this.planes.forEach(function(S){S.normalize(),S.updatePNVertexFlag()})}}]),r}();function Xyt(r,e){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[4],e[4]=r[5],e[5]=r[6],e[6]=r[8],e[7]=r[9],e[8]=r[10],e}function qyt(r){var e=Up(r,3),t=e[0],n=e[1],i=e[2],a=t+n*256+i*65536-1;return a}var Kyt,Zyt,$yt,Qyt,Jyt,t0t,e0t,Z0,r0t,n0t,i0t,a0t,o0t,s0t;function l0t(r,e){var t;if(typeof Symbol=="undefined"||r[Symbol.iterator]==null){if(Array.isArray(r)||(t=Gle(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Gle(r,e){if(!!r){if(typeof r=="string")return u0t(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return u0t(r,e)}}function u0t(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t0)return Yp.OUTSIDE;Ft.dot(f,t.getPositiveFarPoint(i[o]))+c>0&&(a|=l)}}return a}}]),r}(),s0t),r0t=Ze(Z0.prototype,"mesh",[Zyt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n0t=Ze(Z0.prototype,"cullable",[$yt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i0t=Ze(Z0.prototype,"geometry",[Qyt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a0t=Ze(Z0.prototype,"hierarchy",[Jyt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o0t=Ze(Z0.prototype,"transform",[t0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z0))||e0t);var $H=U(Ka());var Q0=U(Zn());var $0=U(Ka());var $l=U(Zn());var f0t,c0t,h0t,d0t,p0t,v0t,m0t,g0t,y0t,x0t,b0t,_0t,Cc,S0t,C0t,w0t,E0t,A0t,M0t,T0t,I0t,L0t,O0t,D0t;function hN(r,e){var t;if(typeof Symbol=="undefined"||r[Symbol.iterator]==null){if(Array.isArray(r)||(t=zle(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function zle(r,e){if(!!r){if(typeof r=="string")return P0t(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return P0t(r,e)}}function P0t(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Ule(r,e){if(!!r){if(typeof r=="string")return Y0t(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Y0t(r,e)}}function Y0t(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);tf||h<0||d>c||d<0)){var p,v;return l(e.pickingFBO,function(){p=s({x:Math.round(h),y:Math.round(c-(a+1)*window.devicePixelRatio),width:1,height:1,data:new Uint8Array(1*1*4),framebuffer:e.pickingFBO}),(p[0]!==0||p[1]!==0||p[2]!==0)&&(v=qyt(p),e.highlightEnabled&&e.highlightPickedFeature(p,n))}),v}}}return be(r,[{key:"enableHighlight",value:function(t){this.highlightEnabled=t}},{key:"setHighlightColor",value:function(t){this.highlightColor=t}},{key:"highlightPickedFeature",value:function(t,n){if(t){var i=QH(n.getScene().getEntities()),a;try{for(i.s();!(a=i.n()).done;){var o=a.value,s=this.mesh.getComponentByEntity(o),l=s.material;l.setUniform("u_PickingStage",JH.HIGHLIGHT),l.setUniform("u_PickingColor",[t[0],t[1],t[2]]),l.setUniform("u_HighlightColor",this.highlightColor)}}catch(u){i.e(u)}finally{i.f()}}}}]),r}(),V0t.IDENTIFIER="PixelPicking Pass",H0t),z0t=Ze(iS.prototype,"engine",[R0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U0t=Ze(iS.prototype,"resourcePool",[N0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j0t=Ze(iS.prototype,"renderPassFactory",[F0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W0t=Ze(iS.prototype,"mesh",[B0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),iS))||G0t);var eY=U(Ka());var Xp=U(Zn());var tY=U(Ka());var DM=U(Zn());var X0t,q0t,K0t,Z0t,dN,$0t,Q0t,J0t,txt,jle=`varying vec2 v_UV; + Z`);return u}};var aM={collapse:function(e,t,n){return[["M",e-n,t],["a",n,n,0,1,0,n*2,0],["a",n,n,0,1,0,-n*2,0],["M",e-n+4,t],["L",e+n-4,t]]},expand:function(e,t,n){return[["M",e-n,t],["a",n,n,0,1,0,n*2,0],["a",n,n,0,1,0,-n*2,0],["M",e-n+4,t],["L",e-n+2*n-4,t],["M",e-n+n,t-n+4],["L",e,t+n-4]]},upTriangle:function(e,t,n){var i=n*Math.cos(Math.PI/6),a=n*Math.sin(Math.PI/6);return[["M",e-i,t+a],["L",e+i,t+a],["L",e,t-n],["Z"]]},downTriangle:function(e,t,n){var i=n*Math.cos(Math.PI/6),a=n*Math.sin(Math.PI/6);return[["M",e-i,t-a],["L",e+i,t-a],["L",e,t+n],["Z"]]}};var Xh=zi;var a8={};Dn(a8,{defaultSubjectColors:()=>KJt});var KJt=["#5F95FF","#61DDAA","#65789B","#F6BD16","#7262FD","#78D3F8","#9661BC","#F6903D","#008685","#F08BB4"];var ZJt=gr.transform,$Jt=E(E(E(E(E(E({},zV),NV),t8),IV),a8),{transform:ZJt,mat3:Ai}),ka=$Jt;var R_=z(q());var QJt=function(){function r(e){this.graph=e,this.layoutCfg=e.get("layout")||{},this.layoutType=this.getLayoutType(),this.layoutMethods=[],this.initLayout()}return r.prototype.initLayout=function(){},r.prototype.getLayoutType=function(){return this.getLayoutCfgType(this.layoutCfg)},r.prototype.getLayoutCfgType=function(e){var t=e.type;if(t)return t;var n=e.pipes;return Array.isArray(n)?n.map(function(i){return(i==null?void 0:i.type)||""}):null},r.prototype.isLayoutTypeSame=function(e){var t=this.getLayoutCfgType(e);return Array.isArray(this.layoutType)?this.layoutType.every(function(n,i){return n===t[i]}):(e==null?void 0:e.type)===this.layoutType},r.prototype.refreshLayout=function(){var e=this.graph;!e||(e.get("animate")?e.positionsAnimate():e.refreshPositions())},r.prototype.changeLayout=function(e){this.layoutCfg=e,this.destoryLayoutMethods(),this.layout()},r.prototype.changeData=function(){this.destoryLayoutMethods(),this.layout()},r.prototype.destoryLayoutMethods=function(){var e=this.layoutMethods;e==null||e.forEach(function(t){t.destroy()}),this.layoutMethods=[]},r.prototype.destroyLayout=function(){var e=this.graph;this.destoryLayoutMethods(),e.set("layout",void 0),this.layoutCfg=void 0,this.layoutType=void 0,this.layoutMethods=void 0},r.prototype.setDataFromGraph=function(){for(var e=[],t=[],n=[],i=[],a=[],o=[],s=[],l=this.graph.getNodes(),u=this.graph.getEdges(),f=this.graph.getCombos(),c=l.length,h=0;hQre,getColorsWithSubjectColor:()=>mR,mixColor:()=>Io});var U_=z(fpt());var vM=z(cpt()),vR=2,hpt=.16,Yre=.05,Xre=.05,qre=.15,dpt=5,ppt=4,Kre=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function vpt(r,e,t){var n;return Math.round(r.h)>=60&&Math.round(r.h)<=240?n=t?Math.round(r.h)-vR*e:Math.round(r.h)+vR*e:n=t?Math.round(r.h)+vR*e:Math.round(r.h)-vR*e,n<0?n+=360:n>=360&&(n-=360),n}function mpt(r,e,t){if(r.h===0&&r.s===0)return r.s;var n;return t?n=r.s-hpt*e:e===ppt?n=r.s+hpt:n=r.s+Yre*e,n>1&&(n=1),t&&e===dpt&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2))}function gpt(r,e,t){var n;return t?n=r.v+Xre*e:n=r.v-qre*e,n>1&&(n=1),Number(n.toFixed(2))}function mM(r){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=[],n=(0,vM.default)(r),i=dpt;i>0;i-=1){var a=n.toHsv(),o=(0,vM.default)({h:vpt(a,i,!0),s:mpt(a,i,!0),v:gpt(a,i,!0)}).toHexString();t.push(o)}t.push(n.toHexString());for(var s=1;s<=ppt;s+=1){var l=n.toHsv(),u=(0,vM.default)({h:vpt(l,s),s:mpt(l,s),v:gpt(l,s)}).toHexString();t.push(u)}return e.theme==="dark"?Kre.map(function(f){var c=f.index,h=f.opacity,d=vM.default.mix(e.backgroundColor||"#141414",t[c],h*100).toHexString();return d}):t}var I8={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Rs={},L8={};Object.keys(I8).forEach(function(r){Rs[r]=mM(I8[r]),Rs[r].primary=Rs[r][5],L8[r]=mM(I8[r],{theme:"dark",backgroundColor:"#141414"}),L8[r].primary=L8[r][5]});var DSr=Rs.red,PSr=Rs.volcano,kSr=Rs.gold,RSr=Rs.orange,NSr=Rs.yellow,FSr=Rs.lime,BSr=Rs.green,GSr=Rs.cyan,zSr=Rs.blue,USr=Rs.geekblue,jSr=Rs.purple,WSr=Rs.magenta,VSr=Rs.grey;var Io=function(e,t,n){var i=(0,U_.default)(e),a=(0,U_.default)(t);return(0,U_.default)([(1-n)*i.red()+n*a.red(),(1-n)*i.green()+n*a.green(),(1-n)*i.blue()+n*a.blue()]).rgb()},Zre=function(e,t,n){t===void 0&&(t="#fff"),n===void 0&&(n="rgb(150, 150, 150)");var i=Io(t,e,.05).rgb().toString(),a=Io(t,e,.1).rgb().toString(),o=Io(t,e,.2).rgb().toString(),s=Io(t,e,.4).rgb().toString(),l=Io(t,n,.02).rgb().toString(),u=Io(t,n,.05).rgb().toString(),f=Io(t,n,.1).rgb().toString(),c=Io(t,n,.2).rgb().toString(),h=Io(t,n,.3).rgb().toString(),d=mM(e,{theme:"default",backgroundColor:t}),p=(0,U_.default)(e).hex().toLowerCase(),v=d.indexOf(p),m=e;return v!==-1&&(m=d[v+1]),{mainStroke:e,mainFill:a,activeStroke:e,activeFill:i,inactiveStroke:s,inactiveFill:i,selectedStroke:e,selectedFill:t,highlightStroke:m,highlightFill:o,disableStroke:h,disableFill:u,edgeMainStroke:h,edgeActiveStroke:e,edgeInactiveStroke:c,edgeSelectedStroke:e,edgeHighlightStroke:e,edgeDisableStroke:f,comboMainStroke:h,comboMainFill:l,comboActiveStroke:e,comboActiveFill:i,comboInactiveStroke:h,comboInactiveFill:l,comboSelectedStroke:e,comboSelectedFill:l,comboHighlightStroke:m,comboHighlightFill:l,comboDisableStroke:c,comboDisableFill:u}},$re=function(e,t,n){t===void 0&&(t="#fff"),n===void 0&&(n="#777");var i=Io(t,e,.2).rgb().toString(),a=Io(t,e,.3).rgb().toString(),o=Io(t,e,.6).rgb().toString(),s=Io(t,e,.8).rgb().toString(),l=Io(t,n,.2).rgb().toString(),u=Io(t,n,.25).rgb().toString(),f=Io(t,n,.3).rgb().toString(),c=Io(t,n,.4).rgb().toString(),h=Io(t,n,.5).rgb().toString(),d=mM(e,{theme:"dark",backgroundColor:t}),p=(0,U_.default)(e).hex().toLowerCase(),v=d.indexOf(p),m=e;return v!==-1&&(m=d[v+1]),{mainStroke:s,mainFill:i,activeStroke:e,activeFill:a,inactiveStroke:s,inactiveFill:i,selectedStroke:e,selectedFill:i,highlightStroke:e,highlightFill:o,disableStroke:h,disableFill:u,edgeMainStroke:n,edgeActiveStroke:e,edgeInactiveStroke:n,edgeSelectedStroke:e,edgeHighlightStroke:e,edgeDisableStroke:f,comboMainStroke:c,comboMainFill:u,comboActiveStroke:e,comboActiveFill:l,comboInactiveStroke:c,comboInactiveFill:u,comboSelectedStroke:e,comboSelectedFill:l,comboHighlightStroke:m,comboHighlightFill:u,comboDisableStroke:c,comboDisableFill:l}},mR=function(e,t,n,i){return t===void 0&&(t="#fff"),n===void 0&&(n="default"),i===void 0&&(i="rgb(150, 150, 150)"),n==="default"?Zre(e,t,"rgb(150, 150, 150)"):$re(e,t,"#777")},Qre=function(e,t,n,i){t===void 0&&(t="#fff"),n===void 0&&(n="default"),i===void 0&&(i="rgb(150, 150, 150)");var a=[];return e.forEach(function(o){a.push(mR(o,t,n,i))}),a};var Jre="rgb(95, 149, 255)",tne="rgb(255, 255, 255)",ypt="rgb(0, 0, 0)",Rn=mR(Jre,tne),_c={version:"0.5.3",rootContainerClassName:"root-container",nodeContainerClassName:"node-container",edgeContainerClassName:"edge-container",comboContainerClassName:"combo-container",delegateContainerClassName:"delegate-container",defaultLoopPosition:"top",nodeLabel:{style:{fill:"#000",fontSize:12,textAlign:"center",textBaseline:"middle"},offset:4},defaultNode:{type:"circle",style:{lineWidth:1,stroke:Rn.mainStroke,fill:Rn.mainFill},size:20,color:Rn.mainStroke,linkPoints:{size:8,lineWidth:1,fill:Rn.activeFill,stroke:Rn.activeStroke}},nodeStateStyles:{active:{fill:Rn.activeFill,stroke:Rn.activeStroke,lineWidth:2,shadowColor:Rn.mainStroke,shadowBlur:10},selected:{fill:Rn.selectedFill,stroke:Rn.selectedStroke,lineWidth:4,shadowColor:Rn.selectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{fill:Rn.highlightFill,stroke:Rn.highlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{fill:Rn.inactiveFill,stroke:Rn.inactiveStroke,lineWidth:1},disable:{fill:Rn.disableFill,stroke:Rn.disableStroke,lineWidth:1}},edgeLabel:{style:{fill:ypt,textAlign:"center",textBaseline:"middle",fontSize:12}},defaultEdge:{type:"line",size:1,style:{stroke:Rn.edgeMainStroke,lineAppendWidth:2},color:Rn.edgeMainStroke},edgeStateStyles:{active:{stroke:Rn.edgeActiveStroke,lineWidth:1},selected:{stroke:Rn.edgeSelectedStroke,lineWidth:2,shadowColor:Rn.edgeSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Rn.edgeHighlightStroke,lineWidth:2,"text-shape":{fontWeight:500}},inactive:{stroke:Rn.edgeInactiveStroke,lineWidth:1},disable:{stroke:Rn.edgeDisableStroke,lineWidth:1}},comboLabel:{style:{fill:ypt,textBaseline:"middle",fontSize:12},refY:10,refX:10},defaultCombo:{type:"circle",style:{fill:Rn.comboMainFill,lineWidth:1,stroke:Rn.comboMainStroke,r:5,width:20,height:10},size:[20,5],color:Rn.comboMainStroke,padding:[25,20,15,20]},comboStateStyles:{active:{stroke:Rn.comboActiveStroke,lineWidth:1,fill:Rn.comboActiveFill},selected:{stroke:Rn.comboSelectedStroke,lineWidth:2,fill:Rn.comboSelectedFill,shadowColor:Rn.comboSelectedStroke,shadowBlur:10,"text-shape":{fontWeight:500}},highlight:{stroke:Rn.comboHighlightStroke,lineWidth:2,fill:Rn.comboHighlightFill,"text-shape":{fontWeight:500}},inactive:{stroke:Rn.comboInactiveStroke,fill:Rn.comboInactiveFill,lineWidth:1},disable:{stroke:Rn.comboDisableStroke,fill:Rn.comboDisableFill,lineWidth:1}},delegateStyle:{fill:"#F3F9FF",fillOpacity:.5,stroke:"#1890FF",strokeOpacity:.9,lineDash:[5,5]},textWaterMarkerConfig:{width:150,height:100,compatible:!1,text:{x:0,y:60,lineHeight:20,rotate:20,fontSize:14,fontFamily:"Microsoft YaHei",fill:"rgba(0, 0, 0, 0.1)",baseline:"Middle"}},imageWaterMarkerConfig:{width:150,height:130,compatible:!1,image:{x:0,y:0,width:30,height:20,rotate:0}},waterMarkerImage:"https://gw.alipayobjects.com/os/s/prod/antv/assets/image/logo-with-text-73b8a.svg"};var yg=z(q());var ene=ka.cloneEvent,rne=ka.isViewportChanged,nne=function(r){V(e,r);function e(t){var n=r.call(this,t)||this;return n.extendEvents=[],n.dragging=!1,n.preItem=null,n.graph=t,n.destroyed=!1,n.initEvents(),n}return e.prototype.initEvents=function(){var t=this,n=t.graph,i=t.extendEvents,a=i===void 0?[]:i,o=n.get("canvas"),s=o.get("el"),l=(0,yg.wrapBehavior)(this,"onCanvasEvents"),u=(0,yg.wrapBehavior)(this,"onExtendEvents"),f=(0,yg.wrapBehavior)(this,"onWheelEvent");o.off("*").on("*",l),this.canvasHandler=l,a.push(Ws(s,"DOMMouseScroll",f)),a.push(Ws(s,"mousewheel",f)),typeof window!="undefined"&&(a.push(Ws(window,"keydown",u)),a.push(Ws(window,"keyup",u)),a.push(Ws(window,"focus",u)))},e.getItemRoot=function(t){for(;t&&!t.get("item");)t=t.get("parent");return t},e.prototype.onCanvasEvents=function(t){var n=this.graph,i=n.get("canvas"),a=t.target,o=t.type;t.canvasX=t.x,t.canvasY=t.y;var s={x:t.canvasX,y:t.canvasY},l=n.get("group"),u=l.getMatrix();if(u||(u=[1,0,0,0,1,0,0,0,1]),rne(u)&&(s=n.getPointByClient(t.clientX,t.clientY)),t.x=s.x,t.y=s.y,t.currentTarget=n,a===i){(o==="mousemove"||o==="mouseleave")&&this.handleMouseMove(t,"canvas"),t.target=i,t.item=null,n.emit(o,t),n.emit("canvas:".concat(o),t);return}var f=e.getItemRoot(a);if(!f){n.emit(o,t);return}var c=f.get("item");if(!c.destroyed){var h=c.getType();if(t.target=a,t.item=c,t.canvasX===t.x&&t.canvasY===t.y){var d=n.getCanvasByPoint(t.x,t.y);t.canvasX=d.x,t.canvasY=d.y}n.emit(o,t),t.name&&!t.name.includes(":")?n.emit("".concat(h,":").concat(o),t):n.emit(t.name,t),o==="dragstart"&&(this.dragging=!0),o==="dragend"&&(this.dragging=!1),o==="mousemove"&&this.handleMouseMove(t,h)}},e.prototype.onExtendEvents=function(t){this.graph.emit(t.type,t)},e.prototype.onWheelEvent=function(t){(0,yg.isNil)(t.wheelDelta)&&(t.wheelDelta=-t.detail),this.graph.emit("wheel",t)},e.prototype.handleMouseMove=function(t,n){var i=this,a=i.graph,o=i.preItem,s=a.get("canvas"),l=t.target===s?null:t.item;t=ene(t),o&&o!==l&&!o.destroyed&&(t.item=o,this.emitCustomEvent(o.getType(),"mouseleave",t),this.dragging&&this.emitCustomEvent(o.getType(),"dragleave",t)),l&&o!==l&&(t.item=l,this.emitCustomEvent(n,"mouseenter",t),this.dragging&&this.emitCustomEvent(n,"dragenter",t)),this.preItem=l},e.prototype.emitCustomEvent=function(t,n,i){i.type=n,this.graph.emit("".concat(t,":").concat(n),i)},e.prototype.destroy=function(){var t=this,n=t.graph,i=t.canvasHandler,a=t.extendEvents,o=n.get("canvas");o.off("*",i),(0,yg.each)(a,function(s){s.remove()}),this.dragging=!1,this.preItem=null,this.extendEvents.length=0,this.canvasHandler=null,this.destroyed=!0},e}(kk),D8=nne;var li=class{constructor(){this.nodes=[],this.edges=[],this.combos=[],this.positions=[],this.destroyed=!1,this.onLayoutEnd=()=>{}}layout(e){return this.init(e),this.execute(!0)}init(e){this.nodes=e.nodes||[],this.edges=e.edges||[],this.combos=e.combos||[]}execute(e){}executeWithWorker(){}getDefaultCfg(){return{}}updateCfg(e){e&&Object.assign(this,e)}getType(){return"base"}destroy(){this.nodes=null,this.edges=null,this.combos=null,this.positions=null,this.destroyed=!0}};var xg=r=>typeof r=="string",ine=r=>{let e=Object.create(null);return t=>e[t]||(e[t]=r(t))},ane=/-(\w)/g,tCr=ine(r=>r.replace(ane,(e,t)=>t?t.toUpperCase():""));var da=Array.isArray;var je=r=>typeof r=="number",gM=r=>Number.isNaN(Number(r));var po=r=>r!==null&&typeof r=="object",U0=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){let e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>U0(t))}if(typeof r=="object"&&r!=={}){let e=Object.assign({},r);return Object.keys(e).forEach(t=>{e[t]=U0(e[t])}),e}return r};var xn=(r,e)=>{let t=r[e];return po(t)?t.cell:t},Qh=(r,e,t)=>{let n=[];for(let i=0;i{let a=xn(i,"source"),o=xn(i,"target");a&&(n[e[a]]+=1),o&&(n[e[o]]+=1)}),n},gR=r=>{let e=[],t=r.length;for(let n=0;ne[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},yR=(r,e)=>{let{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((o,s)=>{a[o.id]=s;let l=[];i.push(l)}),n&&n.forEach(o=>{let s=xn(o,"source"),l=xn(o,"target"),u=a[s],f=a[l];i[u][f]=1,e||(i[f][u]=1)}),i},xpt=(r,e)=>{let t=[];return r.forEach(n=>{let i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},bpt=(r,e)=>{if(r&&r.children){for(let t=r.children.length-1;t>=0;t--)if(!bpt(r.children[t],e))return}return!!e(r)},yM=(r,e)=>{typeof e=="function"&&bpt(r,e)};var gf=r=>typeof r=="function";var xR=new Map,hs=(r,e)=>{if(xR.get(r)&&console.warn(`The layout with the name ${r} exists already, it will be overridden`),po(e)){class t extends li{constructor(i){super();let a=this,o={},s=a.getDefaultCfg();Object.assign(o,s,e,i),Object.keys(o).forEach(l=>{let u=o[l];a[l]=u})}}xR.set(r,t)}else xR.set(r,e);return xR.get(r)};var j_=class extends li{constructor(e){super();this.begin=[0,0],this.preventOverlap=!0,this.preventOverlapPadding=10,this.condense=!1,this.sortBy="degree",this.nodeSize=30,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.row=0,this.col=0,this.cellWidth=0,this.cellHeight=0,this.cellUsed={},this.id2manPos={},this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length,a=e.begin;if(i===0)return e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n};if(i===1)return t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n};let o=[];t.forEach(f=>{o.push(f)});let s={};if(o.forEach((f,c)=>{s[f.id]=c}),(e.sortBy==="degree"||!xg(e.sortBy)||o[0][e.sortBy]===void 0)&&(e.sortBy="degree",gM(t[0].degree))){let f=Qh(o.length,s,n);o.forEach((c,h)=>{c.degree=f[h]})}o.sort((f,c)=>c[e.sortBy]-f[e.sortBy]),!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let l=e.rows,u=e.cols!=null?e.cols:e.columns;if(e.cells=i,l!=null&&u!=null?(e.rows=l,e.cols=u):l!=null&&u==null?(e.rows=l,e.cols=Math.ceil(e.cells/e.rows)):l==null&&u!=null?(e.cols=u,e.rows=Math.ceil(e.cells/e.cols)):(e.splits=Math.sqrt(e.cells*e.height/e.width),e.rows=Math.round(e.splits),e.cols=Math.round(e.width/e.height*e.splits)),e.cols*e.rows>e.cells){let f=e.small(),c=e.large();(f-1)*c>=e.cells?e.small(f-1):(c-1)*f>=e.cells&&e.large(c-1)}else for(;e.cols*e.rows=e.cells?e.large(c+1):e.small(f+1)}e.cellWidth=e.width/e.cols,e.cellHeight=e.height/e.rows,e.condense&&(e.cellWidth=0,e.cellHeight=0),e.preventOverlap&&o.forEach(f=>{(!f.x||!f.y)&&(f.x=0,f.y=0);let c,h;da(f.size)?(c=f.size[0],h=f.size[1]):je(f.size)?(c=f.size,h=f.size):po(f.size)&&(c=f.size.width,h=f.size.height),(c===void 0||h===void 0)&&(da(e.nodeSize)?(c=e.nodeSize[0],h=e.nodeSize[1]):je(e.nodeSize)?(c=e.nodeSize,h=e.nodeSize):(c=30,h=30));let d=e.preventOverlapPadding,p=c+d,v=h+d;e.cellWidth=Math.max(e.cellWidth,p),e.cellHeight=Math.max(e.cellHeight,v)}),e.cellUsed={},e.row=0,e.col=0,e.id2manPos={};for(let f=0;f=t&&(e.col=0,e.row++)}getPos(e){let t=this,n=t.begin,i=t.cellWidth,a=t.cellHeight,o,s,l=t.id2manPos[e.id];if(l)o=l.col*i+i/2+n[0],s=l.row*a+a/2+n[1];else{for(;t.used(t.row,t.col);)t.moveToNextCell();o=t.col*i+i/2+n[0],s=t.row*a+a/2+n[1],t.use(t.row,t.col),t.moveToNextCell()}e.x=o,e.y=s}getType(){return"grid"}};var W_=class extends li{constructor(e){super();this.center=[0,0],this.width=300,this.height=300,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],width:300,height:300}}execute(){let e=this,t=e.nodes,n=.9,i=e.center;return!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),t&&t.forEach(a=>{a.x=(Math.random()-.5)*n*e.width+i[0],a.y=(Math.random()-.5)*n*e.height+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:this.edges}}getType(){return"random"}};var P8=(r,e)=>{let t;return r?je(r)?t=n=>r:t=r:t=n=>e||1,t},V_=class extends li{constructor(e){super();this.maxIteration=1e3,this.workerEnabled=!1,this.edgeStrength=200,this.nodeStrength=1e3,this.coulombDisScale=.005,this.damping=.9,this.maxSpeed=1e3,this.minMovement=.5,this.interval=.02,this.factor=1,this.linkDistance=1,this.gravity=10,this.preventOverlap=!0,this.tick=()=>{},this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:500,gravity:10,enableTick:!0}}execute(){var e,t;let n=this,i=n.nodes;if(n.timeInterval!==void 0&&typeof window!="undefined"&&window.clearInterval(n.timeInterval),!i||i.length===0){(e=n.onLayoutEnd)===null||e===void 0||e.call(n);return}!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);let a=n.center;if(i.length===1){i[0].x=a[0],i[0].y=a[1],(t=n.onLayoutEnd)===null||t===void 0||t.call(n);return}let o={},s={};i.forEach((c,h)=>{je(c.x)||(c.x=Math.random()*n.width),je(c.y)||(c.y=Math.random()*n.height),o[c.id]=c,s[c.id]=h}),n.nodeMap=o,n.nodeIdxMap=s,n.linkDistance=P8(n.linkDistance,1),n.nodeStrength=P8(n.nodeStrength,1),n.edgeStrength=P8(n.edgeStrength,1);let l=n.nodeSize,u;if(n.preventOverlap){let c=n.nodeSpacing,h;je(c)?h=()=>c:gf(c)?h=c:h=()=>0,l?da(l)?u=d=>(l[0]>l[1]?l[0]:l[1])+h(d):u=d=>l+h(d):u=d=>d.size?da(d.size)?(d.size[0]>d.size[1]?d.size[0]:d.size[1])+h(d):po(d.size)?(d.size.width>d.size.height?d.size.width:d.size.height)+h(d):d.size+h(d):10+h(d)}n.nodeSize=u;let f=n.edges;n.degrees=Qh(i.length,n.nodeIdxMap,f),n.getMass||(n.getMass=c=>n.degrees[n.nodeIdxMap[c.id]]||1),n.run()}run(){var e;let t=this,{maxIteration:n,nodes:i,workerEnabled:a,minMovement:o}=t;if(!!i)if(a){for(let s=0;s{var l,u;if(!i)return;let f=t.runOneStep(s)||[];t.reachMoveThreshold(i,f,o)&&((l=t.onLayoutEnd)===null||l===void 0||l.call(t),window.clearInterval(t.timeInterval)),s++,s>=n&&((u=t.onLayoutEnd)===null||u===void 0||u.call(t),window.clearInterval(t.timeInterval))},0)}}reachMoveThreshold(e,t,n){let i=0;return e.forEach((a,o)=>{let s=a.x-t[o].x,l=a.y-t[o].y;i+=Math.sqrt(s*s+l*l)}),i/=e.length,i{o[2*c]=0,o[2*c+1]=0,s[2*c]=0,s[2*c+1]=0}),n.calRepulsive(o,i),a&&n.calAttractive(o,a),n.calGravity(o,i);let l=Math.max(.02,n.interval-e*.002);n.updateVelocity(o,s,l,i);let u=[];return i.forEach(f=>{u.push({x:f.x,y:f.y})}),n.updatePosition(s,l,i),(t=n.tick)===null||t===void 0||t.call(n),u}calRepulsive(e,t){let n=this,i=n.getMass,a=n.nodeStrength,o=n.factor,s=n.coulombDisScale,l=n.preventOverlap,u=n.nodeSize;t.forEach((f,c)=>{let h=i?i(f):1;t.forEach((d,p)=>{if(c>=p)return;let v=f.x-d.x,m=f.y-d.y,g=Math.sqrt(v*v+m*m)+.01,x=(g+.1)*s,b=v/g,S=m/g,C=(a(f)+a(d))/2*o/(x*x),w=i?i(d):1;if(e[2*c]+=b*C,e[2*c+1]+=S*C,e[2*p]-=b*C,e[2*p+1]-=S*C,l&&g<(u(f)+u(d))/2){let A=(a(f)+a(d))/2/(g*g);e[2*c]+=b*A/h,e[2*c+1]+=S*A/h,e[2*p]-=b*A/w,e[2*p+1]-=S*A/w}})})}calAttractive(e,t){let n=this,i=n.nodeMap,a=n.nodeIdxMap,o=n.linkDistance,s=n.edgeStrength,l=n.getMass;t.forEach((u,f)=>{let c=xn(u,"source"),h=xn(u,"target"),d=i[c],p=i[h],v=p.x-d.x,m=p.y-d.y,g=Math.sqrt(v*v+m*m)+.01,x=v/g,b=m/g,w=((o(u)||1)-g)*s(u),A=a[c],L=a[h],k=l?l(d):1,O=l?l(p):1;e[2*A]-=x*w/k,e[2*A+1]-=b*w/k,e[2*L]+=x*w/O,e[2*L+1]+=b*w/O})}calGravity(e,t){let n=this,i=n.center,a=n.gravity,o=n.degrees,s=t.length;for(let l=0;l{let u=e[2*l]*o||.01,f=e[2*l+1]*o||.01,c=Math.sqrt(u*u+f*f);if(c>a.maxSpeed){let h=a.maxSpeed/c;u=h*u,f=h*f}t[2*l]=u,t[2*l+1]=f})}updatePosition(e,t,n){n.forEach((i,a)=>{if(je(i.fx)&&je(i.fy)){i.x=i.fx,i.y=i.fy;return}let o=e[2*a]*t,s=e[2*a+1]*t;i.x+=o,i.y+=s})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval)}destroy(){let e=this;e.stop(),e.tick=null,e.nodes=null,e.edges=null,e.destroyed=!0}getType(){return"gForce"}};function xM(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,o=t.length,s,l=0,u=0;for(a=0;a=(c=(s+u)/2))?s=c:u=c,(m=t>=(h=(l+f)/2))?l=h:f=h,i=a,!(a=a[g=m<<1|v]))return i[g]=o,r;if(d=+r._x.call(null,a.data),p=+r._y.call(null,a.data),e===d&&t===p)return o.next=a,i?i[g]=o:r._root=o,r;do i=i?i[g]=new Array(4):r._root=new Array(4),(v=e>=(c=(s+u)/2))?s=c:u=c,(m=t>=(h=(l+f)/2))?l=h:f=h;while((g=m<<1|v)==(x=(p>=h)<<1|d>=c));return i[x]=a,i[g]=o,r}function Cpt(r){var e,t,n=r.length,i,a,o=new Array(n),s=new Array(n),l=1/0,u=1/0,f=-1/0,c=-1/0;for(t=0;tf&&(f=i),ac&&(c=a));if(l>f||u>c)return this;for(this.cover(l,u).cover(f,c),t=0;tr||r>=i||n>e||e>=a;)switch(u=(ef||(s=p.y0)>c||(l=p.x1)=g)<<1|r>=m)&&(p=h[h.length-1],h[h.length-1]=h[h.length-1-v],h[h.length-1-v]=p)}else{var x=r-+this._x.call(null,d.data),b=e-+this._y.call(null,d.data),S=x*x+b*b;if(S=(h=(o+l)/2))?o=h:l=h,(v=c>=(d=(s+u)/2))?s=d:u=d,e=t,!(t=t[m=v<<1|p]))return this;if(!t.length)break;(e[m+1&3]||e[m+2&3]||e[m+3&3])&&(n=e,g=m)}for(;t.data!==r;)if(i=t,!(t=t.next))return this;return(a=t.next)&&delete t.next,i?(a?i.next=a:delete i.next,this):e?(a?e[m]=a:delete e[m],(t=e[0]||e[1]||e[2]||e[3])&&t===(e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[g]=t:this._root=t),this):(this._root=a,this)}function Ipt(r){for(var e=0,t=r.length;eh.index){var M=d-L.x-L.vx,I=p-L.y-L.vy,R=M*M+I*I;Rd+O||wp+O||Au.r&&(u.r=u[f].r)}function l(){if(!!e){var u,f=e.length,c;for(t=new Array(f),u=0;u[e(C,w,o),C])),S;for(m=0,s=new Array(g);m{}};function zpt(){for(var r=0,e=arguments.length,t={},n;r=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}bR.prototype=zpt.prototype={constructor:bR,on:function(r,e){var t=this._,n=fne(r+"",t),i,a=-1,o=n.length;if(arguments.length<2){for(;++a0)for(var t=new Array(i),n=0,i,a;n(r=(hne*r+dne)%jpt)/jpt}function Vpt(r){return r.x}function Hpt(r){return r.y}var pne=10,vne=Math.PI*(3-Math.sqrt(5));function W0(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=new Map,l=xb(c),u=R8("tick","end"),f=Wpt();r==null&&(r=[]);function c(){h(),u.call("tick",e),t1?(m==null?s.delete(v):s.set(v,p(m)),e):s.get(v)},find:function(v,m,g){var x=0,b=r.length,S,C,w,A,L;for(g==null?g=1/0:g*=g,x=0;x1?(u.on(v,m),e):u.on(v)}}}function V0(){var r,e,t,n,i=vo(-30),a,o=1,s=1/0,l=.81;function u(d){var p,v=r.length,m=j0(r,Vpt,Hpt).visitAfter(c);for(n=d,p=0;p=s)return;(d.data!==e||d.next)&&(g===0&&(g=Sc(t),S+=g*g),x===0&&(x=Sc(t),S+=x*x),S$}let e=$=>$.cluster,t=r(1),n=r(-1),i=r(100),a=r(.1),o=[0,0],s=[],l={},u=[],f=100,c=100,h={none:{x:0,y:0}},d=[],p,v="force",m=!0,g=.1;function x($){if(!m)return x;p.tick(),L();for(let st=0,_t=s.length,dt,gt=$*g;st<_t;++st)dt=s[st],dt.vx+=(h[e(dt)].x-dt.x)*gt,dt.vy+=(h[e(dt)].y-dt.y)*gt}function b(){!s||S()}function S(){if(!s||!s.length)return;if(e(s[0])===void 0)throw Error("Couldnt find the grouping attribute for the nodes. Make sure to set it up with forceInABox.groupBy('clusterAttr') before calling .links()");let $=C();p=W0($.nodes).force("x",_M(f).strength(.1)).force("y",SM(c).strength(.1)).force("collide",bM(st=>st.r).iterations(4)).force("charge",V0().strength(n)).force("links",bg($.nodes.length?$.links:[]).distance(i).strength(a)),d=p.nodes(),L()}function C(){let $=[],st=[],_t={},dt=[],gt={},Tt=[];return gt=w(s),Tt=A(u),dt=Object.keys(gt),dt.forEach((Ut,$t)=>{let Y=gt[Ut];$.push({id:Ut,size:Y.count,r:Math.sqrt(Y.sumforceNodeSize/Math.PI)}),_t[Ut]=$t}),Tt.forEach(Ut=>{let $t=xn(Ut,"source"),Y=xn(Ut,"target"),it=_t[$t],K=_t[Y];it!==void 0&&K!==void 0&&st.push({source:it,target:K,count:Ut.count})}),{nodes:$,links:st}}function w($){let st={};return $.forEach(_t=>{let dt=e(_t);st[dt]||(st[dt]={count:0,sumforceNodeSize:0})}),$.forEach(_t=>{let dt=e(_t),gt=t(_t),Tt=st[dt];Tt.count=Tt.count+1,Tt.sumforceNodeSize=Tt.sumforceNodeSize+Math.PI*(gt*gt)*1.3,st[dt]=Tt}),st}function A($){let st={},_t=[];return $.forEach(gt=>{let Tt=k(gt),Ut=0;st[Tt]!==void 0&&(Ut=st[Tt]),Ut+=1,st[Tt]=Ut}),Object.entries(st).forEach(([gt,Tt])=>{let Ut=gt.split("~")[0],$t=gt.split("~")[1];Ut!==void 0&&$t!==void 0&&_t.push({source:Ut,target:$t,count:Tt})}),_t}function L(){return h={none:{x:0,y:0}},d.forEach($=>{h[$.id]={x:$.x-o[0],y:$.y-o[1]}}),h}function k($){let st=xn($,"source"),_t=xn($,"target"),dt=e(l[st]),gt=e(l[_t]);return dt<=gt?`${dt}~${gt}`:`${gt}~${dt}`}function O($){l={},$.forEach(st=>{l[st.id]=st})}function M($){return arguments.length?(v=$,b(),x):v}function I($){return arguments.length?typeof $=="string"?(e=st=>st[$],x):(e=$,x):e}function R($){return arguments.length?(m=$,x):m}function P($){return arguments.length?(g=$,x):g}function F($){return arguments.length?(f=$,x):f}function D($){return arguments.length?(c=$,x):c}function G($){return arguments.length?(O($||[]),s=$||[],x):s}function U($){return arguments.length?(u=$||[],b(),x):u}function j($){return arguments.length?(typeof $=="function"?t=$:t=r(+$),b(),x):t}function H($){return arguments.length?(typeof $=="function"?n=$:n=r(+$),b(),x):n}function tt($){return arguments.length?(typeof $=="function"?i=$:i=r(+$),b(),x):i}function et($){return arguments.length?(typeof $=="function"?a=$:a=r(+$),b(),x):a}function ut($){return arguments.length?(o=$,x):o}return x.initialize=$=>{s=$,b()},x.template=M,x.groupBy=I,x.enableGrouping=R,x.strength=P,x.centerX=F,x.centerY=D,x.nodes=G,x.links=U,x.forceNodeSize=j,x.nodeSize=x.forceNodeSize,x.forceCharge=H,x.forceLinkDistance=tt,x.forceLinkStrength=et,x.offset=ut,x.getFocis=L,x}var H_={RUN:"LAYOUT_RUN",END:"LAYOUT_END",ERROR:"LAYOUT_ERROR",TICK:"LAYOUT_TICK",GPURUN:"GPU_LAYOUT_RUN",GPUEND:"GPU_LAYOUT_END"};var Y_=class extends li{constructor(e){super();this.center=[0,0],this.nodeStrength=null,this.edgeStrength=null,this.preventOverlap=!1,this.clusterNodeStrength=null,this.clusterEdgeStrength=null,this.clusterEdgeDistance=null,this.clusterNodeSize=null,this.clusterFociStrength=null,this.linkDistance=50,this.alphaDecay=.028,this.alphaMin=.001,this.alpha=.3,this.collideStrength=1,this.workerEnabled=!1,this.tick=()=>{},this.onLayoutEnd=()=>{},this.ticking=void 0,e&&this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],nodeStrength:null,edgeStrength:null,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,linkDistance:50,forceSimulation:null,alphaDecay:.028,alphaMin:.001,alpha:.3,collideStrength:1,clustering:!1,clusterNodeStrength:-1,clusterEdgeStrength:.1,clusterEdgeDistance:100,clusterFociStrength:.8,clusterNodeSize:10,tick(){},onLayoutEnd(){},workerEnabled:!1}}init(e){let t=this;t.nodes=e.nodes||[];let n=e.edges||[];t.edges=n.map(i=>{let a={},o=["targetNode","sourceNode","startPoint","endPoint"];return Object.keys(i).forEach(s=>{o.indexOf(s)>-1||(a[s]=i[s])}),a}),t.ticking=!1}execute(e){let t=this,n=t.nodes,i=t.edges;if(t.ticking)return;let a=t.forceSimulation,o=t.alphaMin,s=t.alphaDecay,l=t.alpha;if(a){if(e){if(t.clustering&&t.clusterForce&&(t.clusterForce.nodes(n),t.clusterForce.links(i)),a.nodes(n),i&&t.edgeForce)t.edgeForce.links(i);else if(i&&!t.edgeForce){let u=bg().id(f=>f.id).links(i);t.edgeStrength&&u.strength(t.edgeStrength),t.linkDistance&&u.distance(t.linkDistance),t.edgeForce=u,a.force("link",u)}}t.preventOverlap&&t.overlapProcess(a),a.alpha(l).restart(),this.ticking=!0}else try{let u=V0();if(t.nodeStrength&&u.strength(t.nodeStrength),a=W0().nodes(n),t.clustering){let f=N8();f.centerX(t.center[0]).centerY(t.center[1]).template("force").strength(t.clusterFociStrength),i&&f.links(i),n&&f.nodes(n),f.forceLinkDistance(t.clusterEdgeDistance).forceLinkStrength(t.clusterEdgeStrength).forceCharge(t.clusterNodeStrength).forceNodeSize(t.clusterNodeSize),t.clusterForce=f,a.force("group",f)}if(a.force("center",xM(t.center[0],t.center[1])).force("charge",u).alpha(l).alphaDecay(s).alphaMin(o),t.preventOverlap&&t.overlapProcess(a),i){let f=bg().id(c=>c.id).links(i);t.edgeStrength&&f.strength(t.edgeStrength),t.linkDistance&&f.distance(t.linkDistance),t.edgeForce=f,a.force("link",f)}if(t.workerEnabled&&!gne()&&(t.workerEnabled=!1,console.warn("workerEnabled option is only supported when running in web worker.")),!t.workerEnabled)a.on("tick",()=>{t.tick()}).on("end",()=>{t.ticking=!1,t.onLayoutEnd&&t.onLayoutEnd()}),t.ticking=!0;else{a.stop();let f=mne(a);for(let c=1;c<=f;c++)a.tick(),postMessage({nodes:n,currentTick:c,totalTicks:f,type:H_.TICK},void 0);t.ticking=!1}t.forceSimulation=a,t.ticking=!0}catch(u){t.ticking=!1,console.warn(u)}}overlapProcess(e){let t=this,n=t.nodeSize,i=t.nodeSpacing,a,o,s=t.collideStrength;if(je(i)?o=()=>i:gf(i)?o=i:o=()=>0,!n)a=l=>l.size?da(l.size)?(l.size[0]>l.size[1]?l.size[0]:l.size[1])/2+o(l):po(l.size)?(l.size.width>l.size.height?l.size.width:l.size.height)/2+o(l):l.size/2+o(l):10+o(l);else if(gf(n))a=l=>n(l)+o(l);else if(da(n)){let u=(n[0]>n[1]?n[0]:n[1])/2;a=f=>u+o(f)}else if(je(n)){let l=n/2;a=u=>l+o(u)}else a=()=>10;e.force("collisionForce",bM(a).strength(s))}updateCfg(e){let t=this;t.ticking&&(t.forceSimulation.stop(),t.ticking=!1),t.forceSimulation=null,Object.assign(t,e)}destroy(){let e=this;e.ticking&&(e.forceSimulation.stop(),e.ticking=!1),e.nodes=null,e.edges=null,e.destroyed=!0}};function mne(r){let e=r.alphaMin(),t=r.alphaTarget(),n=r.alpha(),i=Math.log((e-t)/(n-t))/Math.log(1-r.alphaDecay());return Math.ceil(i)}function gne(){return typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope}function yne(r,e,t,n){r.forEach((i,a)=>{r[a].children=[],r[a].parent=[]}),n?e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target"),s=0;a&&(s=t[a]);let l=0;o&&(l=t[o]);let u=r[s].children,f=r[l].parent;u.push(r[l].id),f.push(r[s].id)}):e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target"),s=0;a&&(s=t[a]);let l=0;o&&(l=t[o]);let u=r[s].children,f=r[l].children;u.push(r[l].id),f.push(r[s].id)})}function xne(r,e,t){let n=t.length;for(let i=0;in?1:0}var X_=class extends li{constructor(e){super();this.radius=null,this.startRadius=null,this.endRadius=null,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.divisions=1,this.ordering=null,this.angleRatio=1,this.nodes=[],this.edges=[],this.nodeMap={},this.degrees=[],this.width=300,this.height=300,this.updateCfg(e)}getDefaultCfg(){return{radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length;if(i===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let a=e.center;if(i===1){t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd();return}let o=e.radius,s=e.startRadius,l=e.endRadius,u=e.divisions,f=e.startAngle,c=e.endAngle,h=(c-f)/i,d={};t.forEach((C,w)=>{d[C.id]=w}),e.nodeMap=d;let p=Qh(t.length,d,n);e.degrees=p,!o&&!s&&!l?o=e.height>e.width?e.width/2:e.height/2:!s&&l?s=l:s&&!l&&(l=s);let v=e.angleRatio,m=h*v,g=e.ordering,x=[];g==="topology"?x=e.topologyOrdering():g==="topology-directed"?x=e.topologyOrdering(!0):g==="degree"?x=e.degreeOrdering():x=t;let b=e.clockwise,S=Math.ceil(i/u);for(let C=0;C{if(p!==0)if((p===c-1||n[p]!==n[p+1]||xne(l[h],d,i))&&!f[p])l.push(d),u.push(a[s[d.id]]),f[p]=!0,h++;else{let v=l[h].children,m=!1;for(let x=0;x{a.degree=i[o],n.push(a)}),n.sort(bne),n}getType(){return"circular"}};var Nvt=z(Rvt()),V8=Nvt.default;!V8&&typeof window!="undefined"&&(V8=window.graphlib);Array.prototype.flat||(Array.prototype.flat=function(r){let e=r||1;if(!isFinite(e))return;let t=this.length,n=[];if(this.length===0)return this;for(;e--;){let i=[],a=!1;if(n.length===0){a=!0;for(let o=0;o{r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev},tie=(r,e)=>{if(r!=="_next"&&r!=="_prev")return e},Bvt=class{constructor(){let e={};e._next=e._prev=e,this.isentinel=e}dequeue(){let e=this.isentinel,t=e._prev;if(t!==e)return Fvt(t),t}enqueue(){let e=this.isentinel,t=e._prev;if(t!==e)return Fvt(t),t}toString(){let e=[],t=this.isentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,tie)),n=n._prev;return`[${e.join(", ")}]`}},Gvt=Bvt;var eie=$o.Graph,rie=()=>1,nie=(r,e)=>{var t;if(r.nodeCount()<=1)return[];let n=aie(r,e||rie);return(t=iie(n.graph,n.buckets,n.zeroIdx).map(a=>r.outEdges(a.v,a.w)))===null||t===void 0?void 0:t.flat()},iie=(r,e,t)=>{let n=[],i=e[e.length-1],a=e[0],o;for(;r.nodeCount();){for(;o=a.dequeue();)H8(r,e,t,o);for(;o=i.dequeue();)H8(r,e,t,o);if(r.nodeCount()){for(let s=e.length-2;s>0;--s)if(o=e[s].dequeue(),o){n=n.concat(H8(r,e,t,o,!0));break}}}return n},H8=(r,e,t,n,i)=>{var a,o;let s=i?[]:void 0;return(a=r.inEdges(n.v))===null||a===void 0||a.forEach(l=>{let u=r.edge(l),f=r.node(l.v);i&&s.push({v:l.v,w:l.w}),f.out===void 0&&(f.out=0),f.out-=u,Y8(e,t,f)}),(o=r.outEdges(n.v))===null||o===void 0||o.forEach(l=>{let u=r.edge(l),f=l.w,c=r.node(f);c.in===void 0&&(c.in=0),c.in-=u,Y8(e,t,c)}),r.removeNode(n.v),s},aie=(r,e)=>{let t=new eie,n=0,i=0;r.nodes().forEach(l=>{t.setNode(l,{v:l,in:0,out:0})}),r.edges().forEach(l=>{let u=t.edge(l.v,l.w)||0,f=e==null?void 0:e(l),c=u+f;t.setEdge(l.v,l.w,c),i=Math.max(i,t.node(l.v).out+=f),n=Math.max(n,t.node(l.w).in+=f)});let a=[],o=i+n+3;for(let l=0;l{Y8(a,s,t.node(l))}),{buckets:a,zeroIdx:s,graph:t}},Y8=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},zvt=nie;var oie=r=>{let e=n=>i=>n.edge(i).weight,t=r.graph().acyclicer==="greedy"?zvt(r,e(r)):sie(r);t==null||t.forEach(n=>{let i=r.edge(n);r.removeEdge(n),i.forwardName=n.name,i.reversed=!0,r.setEdge(n.w,n.v,i,`rev-${Math.random()}`)})},sie=r=>{let e=[],t={},n={},i=a=>{var o;n.hasOwnProperty(a)||(n[a]=!0,t[a]=!0,(o=r.outEdges(a))===null||o===void 0||o.forEach(s=>{t.hasOwnProperty(s.w)?e.push(s):i(s.w)}),delete t[a])};return r.nodes().forEach(i),e},lie=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.reversed){r.removeEdge(e);let n=t.forwardName;delete t.reversed,delete t.forwardName,r.setEdge(e.w,e.v,t,n)}})},X8={run:oie,undo:lie};var Uvt=$o.Graph,jvt=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.setNode(i,t),i},q8=r=>{let e=new Uvt().setGraph(r.graph());return r.nodes().forEach(t=>{e.setNode(t,r.node(t))}),r.edges().forEach(t=>{let n=e.edge(t.v,t.w)||{weight:0,minlen:1},i=r.edge(t);e.setEdge(t.v,t.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e},uie=r=>{let e=new Uvt({multigraph:r.isMultigraph()}).setGraph(r.graph());return r.nodes().forEach(t=>{var n;((n=r.children(t))===null||n===void 0?void 0:n.length)||e.setNode(t,r.node(t))}),r.edges().forEach(t=>e.setEdge(t,r.edge(t))),e},AM=(r,e)=>{let t={};return r==null||r.forEach((n,i)=>{t[n]=e[i]}),t},fie=r=>{let e=r.nodes().map(t=>{var n;let i={};return(n=r.outEdges(t))===null||n===void 0||n.forEach(a=>{i[a.w]=(i[a.w]||0)+r.edge(a).weight}),i});return AM(r.nodes(),e)},cie=r=>{let e=r.nodes().map(t=>{var n;let i={};return(n=r.inEdges(t))===null||n===void 0||n.forEach(a=>{i[a.v]=(i[a.v]||0)+r.edge(a).weight}),i});return AM(r.nodes(),e)},hie=(r,e)=>{let t=r.x,n=r.y,i=e.x-t,a=e.y-n,o=r.width/2,s=r.height/2;if(!i&&!a)return{x:0,y:0};let l,u;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),l=s*i/a,u=s):(i<0&&(o=-o),l=o,u=o*a/i),{x:t+l,y:n+u}},die=r=>{let e=[],t=[],n=Wvt(r)+1;for(let i=0;i{let o=r.node(i).rank;o!==void 0&&e[o]&&t[o].push(i)}),t==null||t.forEach((i,a)=>{i==null||i.sort((o,s)=>{var l,u;return((l=r.node(o))===null||l===void 0?void 0:l.order)-((u=r.node(s))===null||u===void 0?void 0:u.order)}),i.forEach(o=>{e[a].push(o)})}),e},K8=r=>{let e=r.nodes().filter(n=>r.node(n).rank!==void 0).map(n=>r.node(n).rank),t=Math.min(...e);r.nodes().forEach(n=>{let i=r.node(n);i.hasOwnProperty("rank")&&(i.rank||(i.rank=0),i.rank-=t)})},Z8=r=>{let e=r.nodes().filter(o=>r.node(o).rank!==void 0).map(o=>r.node(o).rank),t=Math.min(...e),n=[];r.nodes().forEach(o=>{var s;let l=(((s=r.node(o))===null||s===void 0?void 0:s.rank)||0)-t;n[l]||(n[l]=[]),n[l].push(o)});let i=0,a=r.graph().nodeRankFactor||0;for(let o=0;o{r.node(l).rank||(r.node(l).rank=0),r.node(l).rank+=i}))}},pie=(r,e,t,n)=>{let i={width:0,height:0};return je(t)&&je(n)&&(i.rank=t,i.order=n),jvt(r,"border",i,e)},Wvt=r=>{let e=r.nodes().map(t=>{let n=r.node(t).rank;return n!==void 0?n:-1/0});return Math.max(...e)},vie=(r,e)=>{let t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},$8=(r,e)=>{let t=Date.now();try{return e()}finally{console.log(`${r} time: ${Date.now()-t}ms`)}},Q8=(r,e)=>e(),MM=(r,e)=>{let t=1/0,n;return r==null||r.forEach(i=>{let a=e(i);t>a&&(t=a,n=i)}),n};var Ni={addDummyNode:jvt,simplify:q8,asNonCompoundGraph:uie,successorWeights:fie,predecessorWeights:cie,intersectRect:hie,buildLayerMatrix:die,normalizeRanks:K8,removeEmptyRanks:Z8,addBorderNode:pie,maxRank:Wvt,partition:vie,time:$8,notime:Q8,zipObject:AM,minBy:MM};var mie=r=>{r.graph().dummyChains=[],r.edges().forEach(e=>gie(r,e))},gie=(r,e)=>{var t,n;let i=e.v,a=r.node(i).rank,o=e.w,s=r.node(o).rank,l=e.name,u=r.edge(e),f=u.labelRank;if(s===a+1)return;r.removeEdge(e);let c,h,d;for(d=0,++a;a{var e;(e=r.graph().dummyChains)===null||e===void 0||e.forEach(t=>{var n;let i=r.node(t),a=i.edgeLabel,o;i.edgeObj&&r.setEdge(i.edgeObj,a);let s=t;for(;i.dummy;)o=(n=r.successors(s))===null||n===void 0?void 0:n[0],r.removeNode(s),a.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(a.x=i.x,a.y=i.y,a.width=i.width,a.height=i.height),s=o,i=r.node(s)})},J8={run:mie,undo:yie};var ER=r=>{var e;let t={},n=i=>{var a;let o=r.node(i);if(t.hasOwnProperty(i))return o.rank;t[i]=!0;let s=(a=r.outEdges(i))===null||a===void 0?void 0:a.map(u=>n(u.w)-r.edge(u).minlen||1/0),l=Math.min(...s);return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),o.rank=l,l};(e=r.sources())===null||e===void 0||e.forEach(i=>n(i))},Vvt=r=>{var e;let t={},n=0,i=o=>{var s;let l=r.node(o);if(t.hasOwnProperty(o))return l.rank;t[o]=!0;let u=(s=r.outEdges(o))===null||s===void 0?void 0:s.map(c=>i(c.w)-r.edge(c).minlen||1/0),f=Math.min(...u);return(f===Number.POSITIVE_INFINITY||f===void 0||f===null)&&(f=0),l.rank=f,n=Math.min(l.rank,n),l.rank};(e=r.sources())===null||e===void 0||e.forEach(o=>i(o)),n+=1;let a=(o,s)=>{var l;let u=r.node(o),f=isNaN(u.layer)?s:u.layer;(u.rank===void 0||u.rank{a(c.w,f+r.edge(c).minlen)})};r.nodes().forEach(o=>{let s=r.node(o);isNaN(s.layer)?s.rank-=n:a(o,s.layer)})},td=(r,e)=>r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen;var Hvt=$o.Graph,Yvt=r=>{let e=new Hvt({directed:!1}),t=r.nodes()[0],n=r.nodeCount();e.setNode(t,{});let i,a;for(;xie(e,r){let t=n=>{e.nodeEdges(n).forEach(i=>{let a=i.v,o=n===a?i.w:a;!r.hasNode(o)&&!td(e,i)&&(r.setNode(o,{}),r.setEdge(n,o,{}),t(o))})};return r.nodes().forEach(t),r.nodeCount()},Xvt=r=>{let e=new Hvt({directed:!1}),t=r.nodes()[0],n=r.nodeCount();e.setNode(t,{});let i,a;for(;bie(e,r){let t=n=>{var i;(i=e.nodeEdges(n))===null||i===void 0||i.forEach(a=>{let o=a.v,s=n===o?a.w:o;!r.hasNode(s)&&(e.node(s).layer!==void 0||!td(e,a))&&(r.setNode(s,{}),r.setEdge(n,s,{}),t(s))})};return r.nodes().forEach(t),r.nodeCount()},qvt=(r,e)=>MM(e.edges(),t=>r.hasNode(t.v)!==r.hasNode(t.w)?td(e,t):1/0),Kvt=(r,e,t)=>{r.nodes().forEach(n=>{e.node(n).rank||(e.node(n).rank=0),e.node(n).rank+=t})};var _ie=$o.alg,{preorder:Sie,postorder:Cie}=_ie,Y0=r=>{r=q8(r),ER(r);let e=Yvt(r);eH(e),tH(e,r);let t,n;for(;t=Qvt(e);)n=Jvt(e,r,t),tmt(e,r,t,n)},tH=(r,e)=>{let t=Cie(r,r.nodes());t=t==null?void 0:t.slice(0,(t==null?void 0:t.length)-1),t==null||t.forEach(n=>{wie(r,e,n)})},wie=(r,e,t)=>{let i=r.node(t).parent;r.edge(t,i).cutvalue=Zvt(r,e,t)},Zvt=(r,e,t)=>{var n;let a=r.node(t).parent,o=!0,s=e.edge(t,a),l=0;return s||(o=!1,s=e.edge(a,t)),l=s.weight,(n=e.nodeEdges(t))===null||n===void 0||n.forEach(u=>{let f=u.v===t,c=f?u.w:u.v;if(c!==a){let h=f===o,d=e.edge(u).weight;if(l+=h?d:-d,Aie(r,t,c)){let p=r.edge(t,c).cutvalue;l+=h?-p:p}}}),l},eH=(r,e)=>{e!==void 0&&(e=r.nodes()[0]),$vt(r,{},1,e)},$vt=(r,e,t,n,i)=>{var a;let o=t,s=t,l=r.node(n);return e[n]=!0,(a=r.neighbors(n))===null||a===void 0||a.forEach(u=>{e.hasOwnProperty(u)||(s=$vt(r,e,s,u,n))}),l.low=o,l.lim=s++,i?l.parent=i:delete l.parent,s},Qvt=r=>r.edges().find(e=>r.edge(e).cutvalue<0),Jvt=(r,e,t)=>{let n=t.v,i=t.w;e.hasEdge(n,i)||(n=t.w,i=t.v);let a=r.node(n),o=r.node(i),s=a,l=!1;a.lim>o.lim&&(s=o,l=!0);let u=e.edges().filter(f=>l===emt(r,r.node(f.v),s)&&l!==emt(r,r.node(f.w),s));return MM(u,f=>td(e,f))},tmt=(r,e,t,n)=>{let i=t.v,a=t.w;r.removeEdge(i,a),r.setEdge(n.v,n.w,{}),eH(r),tH(r,e),Eie(r,e)},Eie=(r,e)=>{let t=r.nodes().find(i=>!e.node(i).parent),n=Sie(r,t);n=n==null?void 0:n.slice(1),n==null||n.forEach(i=>{let a=r.node(i).parent,o=e.edge(i,a),s=!1;o||(o=e.edge(a,i),s=!0),e.node(i).rank=e.node(a).rank+(s?o.minlen:-o.minlen)})},Aie=(r,e,t)=>r.hasEdge(e,t),emt=(r,e,t)=>t.low<=e.lim&&e.lim<=t.lim;Y0.initLowLimValues=eH;Y0.initCutValues=tH;Y0.calcCutValue=Zvt;Y0.leaveEdge=Qvt;Y0.enterEdge=Jvt;Y0.exchangeEdges=tmt;var rmt=Y0;var Mie=r=>{switch(r.graph().ranker){case"network-simplex":Iie(r);break;case"tight-tree":nmt(r);break;case"longest-path":Tie(r);break;default:nmt(r)}},Tie=ER,nmt=r=>{Vvt(r),Xvt(r)},Iie=r=>{rmt(r)},imt=Mie;var Lie=r=>{var e;let t=Die(r);(e=r.graph().dummyChains)===null||e===void 0||e.forEach(n=>{var i,a;let o=r.node(n),s=o.edgeObj;if(!s)return;let l=Oie(r,t,s.v,s.w),u=l.path,f=l.lca,c=0,h=u[c],d=!0;for(;n!==s.w;){if(o=r.node(n),d){for(;(h=u[c])!==f&&r.node(h).maxRank{let i=[],a=[],o=Math.min(e[t].low,e[n].low),s=Math.max(e[t].lim,e[n].lim),l,u;l=t;do l=r.parent(l),i.push(l);while(l&&(e[l].low>o||s>e[l].lim));for(u=l,l=n;(l=r.parent(l))!==u;)a.push(l);return{lca:u,path:i.concat(a.reverse())}},Die=r=>{var e;let t={},n=0,i=a=>{var o;let s=n;(o=r.children(a))===null||o===void 0||o.forEach(i),t[a]={low:s,lim:n++}};return(e=r.children())===null||e===void 0||e.forEach(i),t},amt=Lie;var Pie=r=>{var e;let t=Ni.addDummyNode(r,"root",{},"_root"),n=kie(r),i=Math.max(...Object.values(n))-1,a=2*i+1;r.graph().nestingRoot=t,r.edges().forEach(s=>{r.edge(s).minlen*=a});let o=Rie(r)+1;(e=r.children())===null||e===void 0||e.forEach(s=>{omt(r,t,a,o,i,n,s)}),r.graph().nodeRankFactor=a},omt=(r,e,t,n,i,a,o)=>{let s=r.children(o);if(!(s==null?void 0:s.length)){o!==e&&r.setEdge(e,o,{weight:0,minlen:t});return}let l=Ni.addBorderNode(r,"_bt"),u=Ni.addBorderNode(r,"_bb"),f=r.node(o);r.setParent(l,o),f.borderTop=l,r.setParent(u,o),f.borderBottom=u,s==null||s.forEach(c=>{omt(r,e,t,n,i,a,c);let h=r.node(c),d=h.borderTop?h.borderTop:c,p=h.borderBottom?h.borderBottom:c,v=h.borderTop?n:2*n,m=d!==p?1:i-a[o]+1;r.setEdge(l,d,{minlen:m,weight:v,nestingEdge:!0}),r.setEdge(p,u,{minlen:m,weight:v,nestingEdge:!0})}),r.parent(o)||r.setEdge(e,l,{weight:0,minlen:i+a[o]})},kie=r=>{var e;let t={},n=(i,a)=>{let o=r.children(i);o==null||o.forEach(s=>n(s,a+1)),t[i]=a};return(e=r.children())===null||e===void 0||e.forEach(i=>n(i,1)),t},Rie=r=>{let e=0;return r.edges().forEach(t=>{e+=r.edge(t).weight}),e},Nie=r=>{let e=r.graph();e.nestingRoot&&r.removeNode(e.nestingRoot),delete e.nestingRoot,r.edges().forEach(t=>{r.edge(t).nestingEdge&&r.removeEdge(t)})},rH={run:Pie,cleanup:Nie};var Fie=r=>{var e;let t=n=>{let i=r.children(n),a=r.node(n);if((i==null?void 0:i.length)&&i.forEach(o=>t(o)),a.hasOwnProperty("minRank")){a.borderLeft=[],a.borderRight=[];for(let o=a.minRank,s=a.maxRank+1;ot(n))},smt=(r,e,t,n,i,a)=>{let o={rank:a,width:0,height:0,borderType:e},s=i[e][a-1],l=Ni.addDummyNode(r,"border",o,t);i[e][a]=l,r.setParent(l,n),s&&r.setEdge(s,l,{weight:1})},lmt=Fie;var Bie=r=>{var e;let t=(e=r.graph().rankdir)===null||e===void 0?void 0:e.toLowerCase();(t==="lr"||t==="rl")&&umt(r)},Gie=r=>{var e;let t=(e=r.graph().rankdir)===null||e===void 0?void 0:e.toLowerCase();(t==="bt"||t==="rl")&&zie(r),(t==="lr"||t==="rl")&&(Uie(r),umt(r))},umt=r=>{r.nodes().forEach(e=>{fmt(r.node(e))}),r.edges().forEach(e=>{fmt(r.edge(e))})},fmt=r=>{let e=r.width;r.width=r.height,r.height=e},zie=r=>{r.nodes().forEach(e=>{nH(r.node(e))}),r.edges().forEach(e=>{var t;let n=r.edge(e);(t=n.points)===null||t===void 0||t.forEach(i=>nH(i)),n.hasOwnProperty("y")&&nH(n)})},nH=r=>{r.y=-r.y},Uie=r=>{r.nodes().forEach(e=>{iH(r.node(e))}),r.edges().forEach(e=>{var t;let n=r.edge(e);(t=n.points)===null||t===void 0||t.forEach(i=>iH(i)),n.hasOwnProperty("x")&&iH(n)})},iH=r=>{let e=r.x;r.x=r.y,r.y=e},aH={adjust:Bie,undo:Gie};var jie=r=>{let e={},t=r.nodes().filter(f=>{var c;return!((c=r.children(f))===null||c===void 0?void 0:c.length)}),n=t.map(f=>r.node(f).rank),i=Math.max(...n),a=[];for(let f=0;f{var c;if(e.hasOwnProperty(f))return;e[f]=!0;let h=r.node(f);isNaN(h.rank)||a[h.rank].push(f),(c=r.successors(f))===null||c===void 0||c.forEach(d=>o(d))},s=t.sort((f,c)=>r.node(f).rank-r.node(c).rank),u=s.filter(f=>r.node(f).fixorder!==void 0).sort((f,c)=>r.node(f).fixorder-r.node(c).fixorder);return u==null||u.forEach(f=>{isNaN(r.node(f).rank)||a[r.node(f).rank].push(f),e[f]=!0}),s==null||s.forEach(o),a},oH=jie;var Wie=(r,e,t)=>{let n=AM(t,t.map((f,c)=>c)),a=e.map(f=>{var c;let h=(c=r.outEdges(f))===null||c===void 0?void 0:c.map(d=>({pos:n[d.w]||0,weight:r.edge(d).weight}));return h==null?void 0:h.sort((d,p)=>d.pos-p.pos)}).flat().filter(f=>f!==void 0),o=1;for(;o{let c=f.pos+o;l[c]+=f.weight;let h=0;for(;c>0;)c%2&&(h+=l[c+1]),c=c-1>>1,l[c]+=f.weight;u+=f.weight*h}),u},Vie=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);++n)t+=Wie(r,e[n-1],e[n]);return t},sH=Vie;var Hie=$o.Graph,Yie=(r,e,t)=>{let n=Xie(r),i=new Hie({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(a=>r.node(a));return r.nodes().forEach(a=>{let o=r.node(a),s=r.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||n),r[t](a).forEach(l=>{let u=l.v===a?l.w:l.v,f=i.edge(u,a),c=f!==void 0?f.weight:0;i.setEdge(u,a,{weight:r.edge(l).weight+c})}),o.hasOwnProperty("minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i},Xie=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},cmt=Yie;var qie=(r,e,t)=>{let n={},i;t==null||t.forEach(a=>{let o=r.parent(a),s,l;for(;o;){if(s=r.parent(o),s?(l=n[s],n[s]=o):(l=i,i=o),l&&l!==o){e.setEdge(l,o);return}o=s}})},hmt=qie;var Kie=(r,e)=>e.map(t=>{let n=r.inEdges(t);if(!(n==null?void 0:n.length))return{v:t};{let i={sum:0,weight:0};return n==null||n.forEach(a=>{let o=r.edge(a),s=r.node(a.v);i.sum+=o.weight*s.order,i.weight+=o.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}}),dmt=Kie;var Zie=(r,e)=>{var t,n,i;let a={};r==null||r.forEach((s,l)=>{let u=a[s.v]={i:l,indegree:0,in:[],out:[],vs:[s.v]};s.barycenter!==void 0&&(u.barycenter=s.barycenter,u.weight=s.weight)}),(t=e.edges())===null||t===void 0||t.forEach(s=>{let l=a[s.v],u=a[s.w];l!==void 0&&u!==void 0&&(u.indegree++,l.out.push(a[s.w]))});let o=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,s=>!s.indegree);return $ie(o)},$ie=r=>{var e,t;let n=[],i=l=>u=>{u.merged||(u.barycenter===void 0||l.barycenter===void 0||u.barycenter>=l.barycenter)&&Qie(l,u)},a=l=>u=>{u.in.push(l),--u.indegree==0&&r.push(u)};for(;r==null?void 0:r.length;){let l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(u=>i(l)(u)),(t=l.out)===null||t===void 0||t.forEach(u=>a(l)(u))}let o=n.filter(l=>!l.merged),s=["vs","i","barycenter","weight"];return o.map(l=>{let u={};return s==null||s.forEach(f=>{l[f]!==void 0&&(u[f]=l[f])}),u})},Qie=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0},pmt=Zie;var Jie=(r,e,t)=>{let n=Ni.partition(r,c=>c.hasOwnProperty("fixorder")&&!isNaN(c.fixorder)||c.hasOwnProperty("barycenter")),i=n.lhs,a=n.rhs.sort((c,h)=>-c.i- -h.i),o=[],s=0,l=0,u=0;i==null||i.sort(tae(!!e,!!t)),u=vmt(o,a,u),i==null||i.forEach(c=>{var h;u+=(h=c.vs)===null||h===void 0?void 0:h.length,o.push(c.vs),s+=c.barycenter*c.weight,l+=c.weight,u=vmt(o,a,u)});let f={vs:o.flat()};return l&&(f.barycenter=s/l,f.weight=l),f},vmt=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},tae=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycentern.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.ordern.order)return 1}return r?n.i-t.i:t.i-n.i},mmt=Jie;var gmt=(r,e,t,n,i)=>{var a,o,s,l;let u=r.children(e),f=r.node(e),c=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,d={};c&&(u=u==null?void 0:u.filter(g=>g!==c&&g!==h));let p=dmt(r,u||[]);p==null||p.forEach(g=>{var x;if((x=r.children(g.v))===null||x===void 0?void 0:x.length){let b=gmt(r,g.v,t,n);d[g.v]=b,b.hasOwnProperty("barycenter")&&rae(g,b)}});let v=pmt(p,t);eae(v,d),(a=v.filter(g=>{var x;return!!g.vs||((x=g.vs)===null||x===void 0?void 0:x.length)>0}))===null||a===void 0||a.forEach(g=>{let x=r.node(g.vs[0]);g.fixorder=x.fixorder,g.order=x.order});let m=mmt(v,n,i);if(c&&(m.vs=[c,m.vs,h].flat(),(o=r.predecessors(c))===null||o===void 0?void 0:o.length)){let g=r.node(((s=r.predecessors(c))===null||s===void 0?void 0:s[0])||{}),x=r.node(((l=r.predecessors(h))===null||l===void 0?void 0:l[0])||{});m.hasOwnProperty("barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+g.order+x.order)/(m.weight+2),m.weight+=2}return m},eae=(r,e)=>{r==null||r.forEach(t=>{var n;let i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},rae=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},ymt=gmt;var nae=$o.Graph,iae=r=>{let e=Ni.maxRank(r),t=[],n=[];for(let u=1;u-1;u--)n.push(u);let i=xmt(r,t,"inEdges"),a=xmt(r,n,"outEdges"),o=oH(r);lH(r,o);let s=Number.POSITIVE_INFINITY,l;for(let u=0,f=0;f<4;++u,++f){bmt(u%2?i:a,u%4>=2),o=Ni.buildLayerMatrix(r);let c=sH(r,o);c=2,!0),o=Ni.buildLayerMatrix(r);let c=sH(r,o);ce.map(n=>cmt(r,n,t)),bmt=(r,e,t)=>{let n=new nae;r==null||r.forEach(i=>{var a;let o=i.graph().root,s=ymt(i,o,n,e,t);for(let l=0;l<((a=s.vs)===null||a===void 0?void 0:a.length);l++)i.node(s.vs[l]).order=l;hmt(i,n,s.vs)})},lH=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.node(n).order=i})})},_mt=iae;var aae=$o.Graph,Smt=(r,e)=>{let t={},n=(i,a)=>{let o=0,s=0,l=i.length,u=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((f,c)=>{var h;let d=oae(r,f),p=d?r.node(d).order:l;(d||f===u)&&((h=a.slice(s,c+1))===null||h===void 0||h.forEach(v=>{var m;(m=r.predecessors(v))===null||m===void 0||m.forEach(g=>{let x=r.node(g),b=x.order;(b{let t={},n=(a,o,s,l,u)=>{let f,c=[];for(let h=o;h{var d;f=a[h],r.node(f).dummy&&((d=r.predecessors(f))===null||d===void 0||d.forEach(p=>{let v=r.node(p);v.dummy&&(v.orderu)&&wmt(t,p,f)}))})},i=(a,o)=>{let s=-1,l,u=0;return o==null||o.forEach((f,c)=>{if(r.node(f).dummy==="border"){let h=r.predecessors(f)||[];h.length&&(l=r.node(h[0]).order,n(o,u,c,s,l),u=c,s=l)}n(o,u,o.length,l,a.length)}),o};return(e==null?void 0:e.length)&&e.reduce(i),t},oae=(r,e)=>{var t;if(r.node(e).dummy)return(t=r.predecessors(e))===null||t===void 0?void 0:t.find(n=>r.node(n).dummy)},wmt=(r,e,t)=>{let n=e,i=t;if(n>i){let o=n;n=i,i=o}let a=r[n];a||(r[n]=a={}),a[i]=!0},sae=(r,e,t)=>{let n=e,i=t;if(n>i){let a=e;n=i,i=a}return r[n]&&r[n].hasOwnProperty(i)},Emt=(r,e,t,n)=>{let i={},a={},o={};return e==null||e.forEach(s=>{s==null||s.forEach((l,u)=>{i[l]=l,a[l]=l,o[l]=u})}),e==null||e.forEach(s=>{let l=-1;s==null||s.forEach(u=>{let f=n(u);if(f.length){f=f.sort((h,d)=>o[h]-o[d]);let c=(f.length-1)/2;for(let h=Math.floor(c),d=Math.ceil(c);h<=d;++h){let p=f[h];a[u]===u&&l{var a;let o={},s=lae(r,e,t,i),l=i?"borderLeft":"borderRight",u=(h,d)=>{let p=s.nodes(),v=p.pop(),m={};for(;v;)m[v]?h(v):(m[v]=!0,p.push(v),p=p.concat(d(v))),v=p.pop()},f=h=>{o[h]=(s.inEdges(h)||[]).reduce((d,p)=>Math.max(d,(o[p.v]||0)+s.edge(p)),0)},c=h=>{let d=(s.outEdges(h)||[]).reduce((v,m)=>Math.min(v,(o[m.w]||0)-s.edge(m)),Number.POSITIVE_INFINITY),p=r.node(h);d!==Number.POSITIVE_INFINITY&&p.borderType!==l&&(o[h]=Math.max(o[h],d))};return u(f,s.predecessors.bind(s)),u(c,s.successors.bind(s)),(a=Object.values(n))===null||a===void 0||a.forEach(h=>{o[h]=o[t[h]]}),o},lae=(r,e,t,n)=>{let i=new aae,a=r.graph(),o=uae(a.nodesep,a.edgesep,n);return e==null||e.forEach(s=>{let l;s==null||s.forEach(u=>{let f=t[u];if(i.setNode(f),l){let c=t[l],h=i.edge(c,f);i.setEdge(c,f,Math.max(o(r,u,l),h||0))}l=u})}),i},Mmt=(r,e)=>Ni.minBy(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(o=>{let s=t[o],l=fae(r,o)/2;i=Math.max(s+l,i),a=Math.min(s-l,a)}),i-a});function Tmt(r,e){let t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(o=>{let s=a+o,l=r[s],u;if(l===e)return;let f=Object.values(l);u=o==="l"?n-Math.min(...f):i-Math.max(...f),u&&(r[s]={},Object.keys(l).forEach(c=>{r[s][c]=l[c]+u}))})})}var Imt=(r,e)=>{let t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{let a=Object.values(r).map(o=>o[n]).sort((o,s)=>o-s);t[n]=(a[1]+a[2])/2}}),t};var uae=(r,e,t)=>(n,i,a)=>{let o=n.node(i),s=n.node(a),l=0,u;if(l+=o.width/2,o.hasOwnProperty("labelpos"))switch((o.labelpos||"").toLowerCase()){case"l":u=-o.width/2;break;case"r":u=o.width/2;break}if(u&&(l+=t?u:-u),u=0,l+=(o.dummy?e:r)/2,l+=(s.dummy?e:r)/2,l+=s.width/2,s.hasOwnProperty("labelpos"))switch((s.labelpos||"").toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2;break}return u&&(l+=t?u:-u),u=0,l},fae=(r,e)=>{var t;return((t=r.node(e))===null||t===void 0?void 0:t.width)||0};var cae=r=>{let e=Ni.buildLayerMatrix(r),t=r.graph().ranksep,n=0;e==null||e.forEach(i=>{let a=i.map(s=>r.node(s).height),o=Math.max(...a);i==null||i.forEach(s=>{r.node(s).y=n+o/2}),n+=o+t})},hae=r=>{let e=Ni.buildLayerMatrix(r),t=Object.assign(Smt(r,e),Cmt(r,e)),n={},i;["u","d"].forEach(o=>{i=o==="u"?e:Object.values(e).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(c=>Object.values(c).reverse()));let l=(o==="u"?r.predecessors:r.successors).bind(r),u=Emt(r,i,t,l),f=Amt(r,i,u.root,u.align,s==="r");s==="r"&&Object.keys(f).forEach(c=>f[c]=-f[c]),n[o+s]=f})});let a=Mmt(r,n);return a&&Tmt(n,a),Imt(n,r.graph().align)},dae=r=>{var e;r=Ni.asNonCompoundGraph(r),cae(r);let t=hae(r);(e=Object.keys(t))===null||e===void 0||e.forEach(n=>{r.node(n).x=t[n]})},Lmt=dae;var pae=(r,e)=>{let n=r.nodes().filter(o=>{var s;return!((s=r.children(o))===null||s===void 0?void 0:s.length)}).map(o=>r.node(o).rank),i=Math.max(...n),a=[];for(let o=0;o{let s=r.node(o);!s||s.dummy||isNaN(s.rank)||(s.fixorder=a[s.rank].length,a[s.rank].push(o))})},Omt=pae;var vae=$o.Graph,mae=(r,e)=>{let t=e&&e.debugTiming?Ni.time:Ni.notime;t("layout",()=>{e&&!e.keepNodeOrder&&e.prevGraph&&t(" inheritOrder",()=>{yae(r,e.prevGraph)});let n=t(" buildLayoutGraph",()=>Eae(r));e&&e.edgeLabelSpace===!1||t(" makeSpaceForEdgeLabels",()=>{Aae(n)});try{t(" runLayout",()=>{gae(n,t,e)})}catch(i){if(i.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure: +`,i);return}throw i}t(" updateInputGraph",()=>{xae(r,n)})})},gae=(r,e,t)=>{e(" removeSelfEdges",()=>{Rae(r)}),e(" acyclic",()=>{X8.run(r)}),e(" nestingGraph.run",()=>{rH.run(r)}),e(" rank",()=>{imt(Ni.asNonCompoundGraph(r))}),e(" injectEdgeLabelProxies",()=>{Mae(r)}),e(" removeEmptyRanks",()=>{Z8(r)}),e(" nestingGraph.cleanup",()=>{rH.cleanup(r)}),e(" normalizeRanks",()=>{K8(r)}),e(" assignRankMinMax",()=>{Tae(r)}),e(" removeEdgeLabelProxies",()=>{Iae(r)}),e(" normalize.run",()=>{J8.run(r)}),e(" parentDummyChains",()=>{amt(r)}),e(" addBorderSegments",()=>{lmt(r)}),t&&t.keepNodeOrder&&e(" initDataOrder",()=>{Omt(r,t.nodeOrder)}),e(" order",()=>{_mt(r)}),e(" insertSelfEdges",()=>{Nae(r)}),e(" adjustCoordinateSystem",()=>{aH.adjust(r)}),e(" position",()=>{Lmt(r)}),e(" positionSelfEdges",()=>{Fae(r)}),e(" removeBorderNodes",()=>{kae(r)}),e(" normalize.undo",()=>{J8.undo(r)}),e(" fixupEdgeLabelCoords",()=>{Dae(r)}),e(" undoCoordinateSystem",()=>{aH.undo(r)}),e(" translateGraph",()=>{Lae(r)}),e(" assignNodeIntersects",()=>{Oae(r)}),e(" reversePoints",()=>{Pae(r)}),e(" acyclic.undo",()=>{X8.undo(r)})},yae=(r,e)=>{let t=e._nodes||{};r.nodes().forEach(n=>{let i=r.node(n);t[n]!==void 0?(i.fixorder=t[n]._order,delete t[n]._order):delete i.fixorder})},xae=(r,e)=>{r.nodes().forEach(t=>{var n;let i=r.node(t),a=e.node(t);i&&(i.x=a.x,i.y=a.y,i._order=a.order,i._rank=a.rank,((n=e.children(t))===null||n===void 0?void 0:n.length)&&(i.width=a.width,i.height=a.height))}),r.edges().forEach(t=>{let n=r.edge(t),i=e.edge(t);n.points=i.points,i.hasOwnProperty("x")&&(n.x=i.x,n.y=i.y)}),r.graph().width=e.graph().width,r.graph().height=e.graph().height},bae=["nodesep","edgesep","ranksep","marginx","marginy"],_ae={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},uH=["acyclicer","ranker","rankdir","align"],Sae=["width","height","layer","fixorder"],Dmt={width:0,height:0},Cae=["minlen","weight","width","height","labeloffset"],wae={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},fH=["labelpos"],Eae=r=>{let e=new vae({multigraph:!0,compound:!0}),t=hH(r.graph()),n={};return uH==null||uH.forEach(i=>{t[i]!==void 0&&(n[i]=t[i])}),e.setGraph(Object.assign({},_ae,cH(t,bae),n)),r.nodes().forEach(i=>{let a=hH(r.node(i)),o=cH(a,Sae);Object.keys(Dmt).forEach(s=>{o[s]===void 0&&(o[s]=Dmt[s])}),e.setNode(i,o),e.setParent(i,r.parent(i))}),r.edges().forEach(i=>{let a=hH(r.edge(i)),o={};fH==null||fH.forEach(s=>{a[s]!==void 0&&(o[s]=a[s])}),e.setEdge(i,Object.assign({},wae,cH(a,Cae),o))}),e},Aae=r=>{let e=r.graph();e.ranksep||(e.ranksep=0),e.ranksep/=2,r.nodes().forEach(t=>{let n=r.node(t);isNaN(n.layer)||(n.layer?n.layer*=2:n.layer=0)}),r.edges().forEach(t=>{var n;let i=r.edge(t);i.minlen*=2,((n=i.labelpos)===null||n===void 0?void 0:n.toLowerCase())!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})},Mae=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.width&&t.height){let n=r.node(e.v),i=r.node(e.w),a={e,rank:(i.rank-n.rank)/2+n.rank};Ni.addDummyNode(r,"edge-proxy",a,"_ep")}})},Tae=r=>{let e=0;r.nodes().forEach(t=>{let n=r.node(t);n.borderTop&&(n.minRank=r.node(n.borderTop).rank,n.maxRank=r.node(n.borderBottom).rank,e=Math.max(e,n.maxRank||-1/0))}),r.graph().maxRank=e},Iae=r=>{r.nodes().forEach(e=>{let t=r.node(e);t.dummy==="edge-proxy"&&(r.edge(t.e).labelRank=t.rank,r.removeNode(e))})},Lae=r=>{let e=Number.POSITIVE_INFINITY,t=0,n=Number.POSITIVE_INFINITY,i=0,a=r.graph(),o=a.marginx||0,s=a.marginy||0,l=u=>{if(!u)return;let f=u.x,c=u.y,h=u.width,d=u.height;!isNaN(f)&&!isNaN(h)&&(e=Math.min(e,f-h/2),t=Math.max(t,f+h/2)),!isNaN(c)&&!isNaN(d)&&(n=Math.min(n,c-d/2),i=Math.max(i,c+d/2))};r.nodes().forEach(u=>{l(r.node(u))}),r.edges().forEach(u=>{let f=r.edge(u);f.hasOwnProperty("x")&&l(f)}),e-=o,n-=s,r.nodes().forEach(u=>{let f=r.node(u);f.x-=e,f.y-=n}),r.edges().forEach(u=>{var f;let c=r.edge(u);(f=c.points)===null||f===void 0||f.forEach(h=>{h.x-=e,h.y-=n}),c.hasOwnProperty("x")&&(c.x-=e),c.hasOwnProperty("y")&&(c.y-=n)}),a.width=t-e+o,a.height=i-n+s},Oae=r=>{r.edges().forEach(e=>{let t=r.edge(e),n=r.node(e.v),i=r.node(e.w),a,o;t.points?(a=t.points[0],o=t.points[t.points.length-1]):(t.points=[],a=i,o=n),t.points.unshift(Ni.intersectRect(n,a)),t.points.push(Ni.intersectRect(i,o))})},Dae=r=>{r.edges().forEach(e=>{let t=r.edge(e);if(t.hasOwnProperty("x"))switch((t.labelpos==="l"||t.labelpos==="r")&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset;break}})},Pae=r=>{r.edges().forEach(e=>{let t=r.edge(e);t.reversed&&t.points.reverse()})},kae=r=>{r.nodes().forEach(e=>{var t,n,i;if((t=r.children(e))===null||t===void 0?void 0:t.length){let a=r.node(e),o=r.node(a.borderTop),s=r.node(a.borderBottom),l=r.node(a.borderLeft[((n=a.borderLeft)===null||n===void 0?void 0:n.length)-1]),u=r.node(a.borderRight[((i=a.borderRight)===null||i===void 0?void 0:i.length)-1]);a.width=Math.abs((u==null?void 0:u.x)-(l==null?void 0:l.x))||10,a.height=Math.abs((s==null?void 0:s.y)-(o==null?void 0:o.y))||10,a.x=((l==null?void 0:l.x)||0)+a.width/2,a.y=((o==null?void 0:o.y)||0)+a.height/2}}),r.nodes().forEach(e=>{r.node(e).dummy==="border"&&r.removeNode(e)})},Rae=r=>{r.edges().forEach(e=>{if(e.v===e.w){let t=r.node(e.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})},Nae=r=>{let e=Ni.buildLayerMatrix(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var o;let s=r.node(i);s.order=a+n,(o=s.selfEdges)===null||o===void 0||o.forEach(l=>{Ni.addDummyNode(r,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})},Fae=r=>{r.nodes().forEach(e=>{let t=r.node(e);if(t.dummy==="selfedge"){let n=r.node(t.e.v),i=n.x+n.width/2,a=n.y,o=t.x-i,s=n.height/2;r.setEdge(t.e,t.label),r.removeNode(e),t.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{y:a,x:i+o},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],t.label.x=t.x,t.label.y=t.y}})},cH=(r,e)=>{let t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},hH=r=>{let e={};return Object.keys(r).forEach(t=>{let n=r[t];e[t.toLowerCase()]=n}),e},Pmt=mae;var AR={graphlib:$o,layout:Pmt,util:{time:$8,notime:Q8}};var _g=class extends li{constructor(e){super();this.rankdir="TB",this.nodesep=50,this.ranksep=50,this.controlPoints=!1,this.sortByCombo=!1,this.edgeLabelSpace=!0,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.layoutNode=t=>{let n=this,{nodes:i}=n,a=i.find(o=>o.id===t);return a?a.layout!==!1:!0},this.updateCfg(e)}getDefaultCfg(){return{rankdir:"TB",align:void 0,nodeSize:void 0,nodesepFunc:void 0,ranksepFunc:void 0,nodesep:50,ranksep:50,controlPoints:!1}}execute(){let e=this,{nodes:t,nodeSize:n,rankdir:i,combos:a,begin:o}=e;if(!t)return;let s=e.edges||[],l=new AR.graphlib.Graph({multigraph:!0,compound:!0}),u;n?da(n)?u=()=>n:u=()=>[n,n]:u=v=>v.size?da(v.size)?v.size:po(v.size)?[v.size.width||40,v.size.height||40]:[v.size,v.size]:[40,40];let f=MR(e.nodesepFunc,e.nodesep,50),c=MR(e.ranksepFunc,e.ranksep,50);(i==="LR"||i==="RL")&&(f=MR(e.ranksepFunc,e.ranksep,50),c=MR(e.nodesepFunc,e.nodesep,50)),l.setDefaultEdgeLabel(()=>({})),l.setGraph(e);let h={};t.filter(v=>v.layout!==!1).forEach(v=>{let m=u(v),g=c(v),x=f(v),b=m[0]+2*x,S=m[1]+2*g,C=v.layer;je(C)?l.setNode(v.id,{width:b,height:S,layer:C}):l.setNode(v.id,{width:b,height:S}),this.sortByCombo&&v.comboId&&(h[v.comboId]||(h[v.comboId]=!0,l.setNode(v.comboId,{})),l.setParent(v.id,v.comboId))}),this.sortByCombo&&a&&a.forEach(v=>{!v.parentId||(h[v.parentId]||(h[v.parentId]=!0,l.setNode(v.parentId,{})),l.setParent(v.id,v.parentId))}),s.forEach(v=>{let m=xn(v,"source"),g=xn(v,"target");this.layoutNode(m)&&this.layoutNode(g)&&l.setEdge(m,g,{weight:v.weight||1})});let d;e.preset&&(d=new AR.graphlib.Graph({multigraph:!0,compound:!0}),e.preset.nodes.forEach(v=>{d==null||d.setNode(v.id,v)})),AR.layout(l,{prevGraph:d,edgeLabelSpace:e.edgeLabelSpace,keepNodeOrder:Boolean(!!e.nodeOrder),nodeOrder:e.nodeOrder});let p=[0,0];if(o){let v=1/0,m=1/0;l.nodes().forEach(g=>{let x=l.node(g);v>x.x&&(v=x.x),m>x.y&&(m=x.y)}),l.edges().forEach(g=>{l.edge(g).points.forEach(b=>{v>b.x&&(v=b.x),m>b.y&&(m=b.y)})}),p[0]=o[0]-v,p[1]=o[1]-m}return l.nodes().forEach(v=>{let m=l.node(v),g=t.findIndex(x=>x.id===v);!t[g]||(t[g].x=m.x+p[0],t[g].y=m.y+p[1],t[g]._order=m._order)}),l.edges().forEach(v=>{let m=l.edge(v),g=s.findIndex(x=>{let b=xn(x,"source"),S=xn(x,"target");return b===v.v&&S===v.w});e.edgeLabelSpace&&e.controlPoints&&s[g].type!=="loop"&&(s[g].controlPoints=m.points.slice(1,m.points.length-1),s[g].controlPoints.forEach(x=>{x.x+=p[0],x.y+=p[1]}))}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:s}}getType(){return"dagre"}};function MR(r,e,t){let n;return r?n=r:je(e)?n=()=>e:n=()=>t,n}var Bae=Object.prototype.toString;function Sg(r){return Bae.call(r).endsWith("Array]")}function Gae(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Sg(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=r[n],s=n+1;so&&(o=r[s]);return o}var kmt=Gae;function zae(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Sg(r))throw new TypeError("input must be an array");if(r.length===0)throw new TypeError("input must not be empty");var t=e.fromIndex,n=t===void 0?0:t,i=e.toIndex,a=i===void 0?r.length:i;if(n<0||n>=r.length||!Number.isInteger(n))throw new Error("fromIndex must be a positive integer smaller than length");if(a<=n||a>r.length||!Number.isInteger(a))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var o=r[n],s=n+1;s1&&arguments[1]!==void 0?arguments[1]:{};if(Sg(r)){if(r.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var t;if(e.output!==void 0){if(!Sg(e.output))throw new TypeError("output option must be an array if specified");t=e.output}else t=new Array(r.length);var n=Rmt(r),i=kmt(r);if(n===i)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var a=e.min,o=a===void 0?e.autoMinMax?n:0:a,s=e.max,l=s===void 0?e.autoMinMax?i:1:s;if(o>=l)throw new RangeError("min option must be smaller than max option");for(var u=(l-o)/(i-n),f=0;f>n);return this},r.prototype.signPropagatingRightShiftM=function(n){if(n=e.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i>n.get(i,a));return this},r.signPropagatingRightShift=function(n,i){return new e(n).signPropagatingRightShift(i)},r.prototype.rightShift=function(n){return typeof n=="number"?this.rightShiftS(n):this.rightShiftM(n)},r.prototype.rightShiftS=function(n){for(let i=0;i>>n);return this},r.prototype.rightShiftM=function(n){if(n=e.checkMatrix(n),this.rows!==n.rows||this.columns!==n.columns)throw new RangeError("Matrices dimensions must be equal");for(let i=0;i>>n.get(i,a));return this},r.rightShift=function(n,i){return new e(n).rightShift(i)},r.prototype.zeroFillRightShift=r.prototype.rightShift,r.prototype.zeroFillRightShiftS=r.prototype.rightShiftS,r.prototype.zeroFillRightShiftM=r.prototype.rightShiftM,r.zeroFillRightShift=r.rightShift,r.prototype.not=function(){for(let n=0;nn)throw new RangeError("Row index out of range")}function bf(r,e,t){let n=t?r.columns:r.columns-1;if(e<0||e>n)throw new RangeError("Column index out of range")}function X0(r,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==r.columns)throw new RangeError("vector size must be the same as the number of columns");return e}function q0(r,e){if(e.to1DArray&&(e=e.to1DArray()),e.length!==r.rows)throw new RangeError("vector size must be the same as the number of rows");return e}function Gmt(r,e,t){return{row:Wae(r,e),column:Vae(r,t)}}function Wae(r,e){if(typeof e!="object")throw new TypeError("unexpected type for row indices");if(e.some(n=>n<0||n>=r.rows))throw new RangeError("row indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function Vae(r,e){if(typeof e!="object")throw new TypeError("unexpected type for column indices");if(e.some(n=>n<0||n>=r.columns))throw new RangeError("column indices are out of range");return Array.isArray(e)||(e=Array.from(e)),e}function vH(r,e,t,n,i){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(IR("startRow",e),IR("endRow",t),IR("startColumn",n),IR("endColumn",i),e>t||n>i||e<0||e>=r.rows||t<0||t>=r.rows||n<0||n>=r.columns||i<0||i>=r.columns)throw new RangeError("Submatrix indices are out of range")}function TM(r,e=0){let t=[];for(let n=0;n=a)throw new RangeError("min must be smaller than max");let s=a-i,l=new Or(e,t);for(let u=0;un?(a=!0,n=t):(i=!1,a=!0);e++}return i}isReducedEchelonForm(){let e=0,t=0,n=-1,i=!0,a=!1;for(;en?(a=!0,n=t):(i=!1,a=!0);for(let o=t+1;oe.get(i,n)&&(i=a);if(e.get(i,n)===0)n++;else{e.swapRows(t,i);let a=e.get(t,n);for(let o=n;o=0;)if(e.maxRow(i)===0)i--;else{let a=0,o=!1;for(;ae&&(e=this.get(t,n));return e}maxIndex(){K0(this);let e=this.get(0,0),t=[0,0];for(let n=0;ne&&(e=this.get(n,i),t[0]=n,t[1]=i);return t}min(){if(this.isEmpty())return NaN;let e=this.get(0,0);for(let t=0;tt&&(t=this.get(e,n));return t}maxRowIndex(e){xf(this,e),K0(this);let t=this.get(e,0),n=[e,0];for(let i=1;it&&(t=this.get(e,i),n[1]=i);return n}minRow(e){if(xf(this,e),this.isEmpty())return NaN;let t=this.get(e,0);for(let n=1;nt&&(t=this.get(n,e));return t}maxColumnIndex(e){bf(this,e),K0(this);let t=this.get(0,e),n=[0,e];for(let i=1;it&&(t=this.get(i,e),n[0]=i);return n}minColumn(e){if(bf(this,e),this.isEmpty())return NaN;let t=this.get(0,e);for(let n=1;n=n)throw new RangeError("min must be smaller than max");let i=new Or(this.rows,this.columns);for(let a=0;a0&&dH(o,{min:t,max:n,output:o}),i.setRow(a,o)}return i}scaleColumns(e={}){if(typeof e!="object")throw new TypeError("options must be an object");let{min:t=0,max:n=1}=e;if(!Number.isFinite(t))throw new TypeError("min must be a number");if(!Number.isFinite(n))throw new TypeError("max must be a number");if(t>=n)throw new RangeError("min must be smaller than max");let i=new Or(this.rows,this.columns);for(let a=0;an||t<0||t>=this.columns||n<0||n>=this.columns)throw new RangeError("Argument out of range");let i=new Or(e.length,n-t+1);for(let a=0;a=this.rows)throw new RangeError(`Row index out of range: ${e[a]}`);i.set(a,o-t,this.get(e[a],o))}return i}subMatrixColumn(e,t,n){if(t===void 0&&(t=0),n===void 0&&(n=this.rows-1),t>n||t<0||t>=this.rows||n<0||n>=this.rows)throw new RangeError("Argument out of range");let i=new Or(n-t+1,e.length);for(let a=0;a=this.columns)throw new RangeError(`Column index out of range: ${e[a]}`);i.set(o-t,a,this.get(o,e[a]))}return i}setSubMatrix(e,t,n){if(e=Or.checkMatrix(e),e.isEmpty())return this;let i=t+e.rows-1,a=n+e.columns-1;vH(this,t,i,n,a);for(let o=0;o=0)if(this.data=[],Number.isInteger(t)&&t>=0)for(let n=0;nMath.abs(e)?(t=e/r,Math.abs(r)*Math.sqrt(1+t*t)):e!==0?(t=r/e,Math.abs(e)*Math.sqrt(1+t*t)):0}var Cg=class{constructor(e,t={}){if(e=LR.checkMatrix(e),e.isEmpty())throw new Error("Matrix must be non-empty");let n=e.rows,i=e.columns,{computeLeftSingularVectors:a=!0,computeRightSingularVectors:o=!0,autoTranspose:s=!1}=t,l=Boolean(a),u=Boolean(o),f=!1,c;if(n=0;M--)if(p[M]!==0){for(let I=M+1;I=0;M--){if(M0;){let M,I;for(M=A-2;M>=-1&&M!==-1;M--){let R=Number.MIN_VALUE+O*Math.abs(p[M]+Math.abs(p[M+1]));if(Math.abs(g[M])<=R||Number.isNaN(g[M])){g[M]=0;break}}if(M===A-2)I=4;else{let R;for(R=A-1;R>=M&&R!==M;R--){let P=(R!==A?Math.abs(g[R]):0)+(R!==M+1?Math.abs(g[R-1]):0);if(Math.abs(p[R])<=O*P){p[R]=0;break}}R===M?I=3:R===A-1?I=1:(I=2,M=R)}switch(M++,I){case 1:{let R=g[A-2];g[A-2]=0;for(let P=A-2;P>=M;P--){let F=Z0(p[P],R),D=p[P]/F,G=R/F;if(p[P]=F,P!==M&&(R=-G*g[P-1],g[P-1]=D*g[P-1]),u)for(let U=0;U=p[M+1]);){let R=p[M];if(p[M]=p[M+1],p[M+1]=R,u&&Mt&&a.set(f,c,e.get(f,c)/this.s[c]);let o=this.U,s=o.rows,l=o.columns,u=new Or(n,s);for(let f=0;fe&&t++;return t}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return Or.diag(this.s)}};var OR=class{constructor(e){this.distances=e.distances,this.dimension=e.dimension||2,this.linkDistance=e.linkDistance}layout(){let e=this,{dimension:t,distances:n,linkDistance:i}=e;try{let a=Or.mul(Or.pow(n,2),-.5),o=a.mean("row"),s=a.mean("column"),l=a.mean();a.add(l).subRowVector(o).subColumnVector(s);let u=new Cg(a),f=Or.sqrt(u.diagonalMatrix).diagonal();return u.leftSingularVectors.toJSON().map(c=>Or.mul([c],[f]).toJSON()[0].splice(0,t))}catch(a){let o=[];for(let s=0;s{n[l]={x:0,y:0}}),e.getRepulsion(),e.updatePositions();return t}getRepulsion(){let e=this,t=e.positions,n=e.nodes,i=e.disp,a=e.k,o=e.radii||[];t.forEach((s,l)=>{i[l]={x:0,y:0},t.forEach((u,f)=>{if(l===f||o[l]!==o[f])return;let c=s[0]-u[0],h=s[1]-u[1],d=Math.sqrt(c*c+h*h);if(d===0){d=1;let p=l>f?1:-1;c=.01*p,h=.01*p}if(d{let c=t[f][0]-t[o][0],h=t[f][1]-t[o][1],d=Math.sqrt(c*c+h*h),p=h/d,v=-c/d,m=Math.sqrt(u.x*u.x+u.y*u.y),g=Math.acos((p*u.x+v*u.y)/m);g>Math.PI/2&&(g-=Math.PI/2,p*=-1,v*=-1);let x=Math.cos(g)*m;u.x=p*x,u.y=v*x});let l=e.radii;t.forEach((u,f)=>{if(f===o)return;let c=Math.sqrt(n[f].x*n[f].x+n[f].y*n[f].y);if(c>0&&f!==o){let h=Math.min(s*(i/Hae),c);if(u[0]+=n[f].x/c*h,u[1]+=n[f].y/c*h,a){let d=u[0]-t[o][0],p=u[1]-t[o][1],v=Math.sqrt(d*d+p*p);d=d/v*l[f],p=p/v*l[f],u[0]=t[o][0]+d,u[1]=t[o][1]+p}}})}};function Yae(r){let e=r.length,t=r[0].length,n=[];for(let i=0;i{n.id===e&&(t=i)}),t}function agt(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}var K_=class extends li{constructor(e){super();this.maxIteration=1e3,this.focusNode=null,this.unitRadius=null,this.linkDistance=50,this.preventOverlap=!1,this.strictRadial=!0,this.maxPreventOverlapIteration=200,this.sortStrength=10,this.nodes=[],this.edges=[],this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,nodeSize:void 0,nodeSpacing:void 0,strictRadial:!0,maxPreventOverlapIteration:200,sortBy:void 0,sortStrength:10}}execute(){let e=this,t=e.nodes,n=e.edges||[];if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let i=e.center;if(t.length===1){t[0].x=i[0],t[0].y=i[1],e.onLayoutEnd&&e.onLayoutEnd();return}let a=e.linkDistance,o=null;if(xg(e.focusNode)){let M=!1;for(let I=0;Ii[0]?i[0]:h-i[0],v=d-i[1]>i[1]?i[1]:d-i[1];p===0&&(p=h/2),v===0&&(v=d/2);let m=v>p?p:v,g=Math.max(...c),x=[];c.forEach((M,I)=>{e.unitRadius||(e.unitRadius=m/g),x[I]=M*e.unitRadius}),e.radii=x;let b=e.eIdealDisMatrix();e.eIdealDistances=b;let S=Yae(b);e.weights=S;let w=new OR({linkDistance:a,distances:b}).layout();w.forEach(M=>{gM(M[0])&&(M[0]=Math.random()*a),gM(M[1])&&(M[1]=Math.random()*a)}),e.positions=w,w.forEach((M,I)=>{t[I].x=M[0]+i[0],t[I].y=M[1]+i[1]}),w.forEach(M=>{M[0]-=w[s][0],M[1]-=w[s][1]}),e.run();let A=e.preventOverlap,L=e.nodeSize,k,O=e.strictRadial;if(A){let M=e.nodeSpacing,I;je(M)?I=()=>M:gf(M)?I=M:I=()=>0,L?da(L)?k=F=>(L[0]>L[1]?L[0]:L[1])+I(F):k=F=>L+I(F):k=F=>F.size?da(F.size)?(F.size[0]>F.size[1]?F.size[0]:F.size[1])+I(F):po(F.size)?(F.size.width>F.size.height?F.size.width:F.size.height)+I(F):F.size+I(F):10+I(F);let R={nodes:t,nodeSizeFunc:k,adjMatrix:l,positions:w,radii:x,height:d,width:h,strictRadial:O,focusID:s,iterations:e.maxPreventOverlapIteration||200,k:w.length/4.5};w=new DR(R).layout()}return w.forEach((M,I)=>{t[I].x=M[0]+i[0],t[I].y=M[1]+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}run(){let e=this,t=e.maxIteration,n=e.positions||[],i=e.weights||[],a=e.eIdealDistances||[],o=e.radii||[];for(let s=0;s<=t;s++){let l=s/t;e.oneIteration(l,n,o,a,i)}}oneIteration(e,t,n,i,a){let o=this,s=1-e,l=o.focusIndex;t.forEach((u,f)=>{let c=agt(u,[0,0]),h=c===0?0:1/c;if(f===l)return;let d=0,p=0,v=0;t.forEach((g,x)=>{if(f===x)return;let b=agt(u,g),S=b===0?0:1/b,C=i[x][f];v+=a[f][x],d+=a[f][x]*(g[0]+C*(u[0]-g[0])*S),p+=a[f][x]*(g[1]+C*(u[1]-g[1])*S)});let m=n[f]===0?0:1/n[f];v*=s,v+=e*m*m,d*=s,d+=e*m*u[0]*h,u[0]=d/v,p*=s,p+=e*m*u[1]*h,u[1]=p/v})}eIdealDisMatrix(){let e=this,t=e.nodes;if(!t)return[];let n=e.distances,i=e.linkDistance,a=e.radii||[],o=e.unitRadius||50,s=[];return n&&n.forEach((l,u)=>{let f=[];l.forEach((c,h)=>{if(u===h)f.push(0);else if(a[u]===a[h])if(e.sortBy==="data")f.push(c*(Math.abs(u-h)*e.sortStrength)/(a[u]/o));else if(e.sortBy){let d=t[u][e.sortBy]||0,p=t[h][e.sortBy]||0;xg(d)&&(d=d.charCodeAt(0)),xg(p)&&(p=p.charCodeAt(0)),f.push(c*(Math.abs(d-p)*e.sortStrength)/(a[u]/o))}else f.push(c*i/(a[u]/o));else{let d=(i+o)/2;f.push(c*d)}}),s.push(f)}),s}handleInfinity(e,t,n){let i=e.length;for(let a=0;an?e[t][i]:n);return n}getType(){return"radial"}};var Z_=class extends li{constructor(e){super();this.nodeSize=30,this.minNodeSpacing=10,this.preventOverlap=!1,this.equidistant=!1,this.startAngle=3/2*Math.PI,this.clockwise=!0,this.sortBy="degree",this.nodes=[],this.edges=[],this.width=300,this.height=300,this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{nodeSize:30,minNodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"}}execute(){let e=this,t=e.nodes,n=e.edges,i=t.length;if(i===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let a=e.center;if(i===1){t[0].x=a[0],t[0].y=a[1],e.onLayoutEnd&&e.onLayoutEnd();return}let o=[],s;da(e.nodeSize)?s=Math.max(e.nodeSize[0],e.nodeSize[1]):s=e.nodeSize,t.forEach(p=>{o.push(p);let v=s;da(p.size)?v=Math.max(p.size[0],p.size[1]):je(p.size)?v=p.size:po(p.size)&&(v=Math.max(p.size.width,p.size.height)),s=Math.max(s,v)}),e.clockwise=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise;let l={},u={};if(o.forEach((p,v)=>{l[p.id]=p,u[p.id]=v}),(e.sortBy==="degree"||!xg(e.sortBy)||o[0][e.sortBy]===void 0)&&(e.sortBy="degree",!je(t[0].degree))){let p=Qh(t.length,u,n);o.forEach((v,m)=>{v.degree=p[m]})}o.sort((p,v)=>v[e.sortBy]-p[e.sortBy]),e.maxValueNode=o[0],e.maxLevelDiff=e.maxLevelDiff||e.maxValueNode[e.sortBy]/4;let f=[[]],c=f[0];o.forEach(p=>{if(c.length>0){let v=Math.abs(c[0][e.sortBy]-p[e.sortBy]);e.maxLevelDiff&&v>=e.maxLevelDiff&&(c=[],f.push(c))}c.push(p)});let h=s+e.minNodeSpacing;if(!e.preventOverlap){let p=f.length>0&&f[0].length>1,m=(Math.min(e.width,e.height)/2-h)/(f.length+(p?1:0));h=Math.min(h,m)}let d=0;if(f.forEach(p=>{let v=e.sweep;v===void 0&&(v=2*Math.PI-2*Math.PI/p.length);let m=p.dTheta=v/Math.max(1,p.length-1);if(p.length>1&&e.preventOverlap){let g=Math.cos(m)-Math.cos(0),x=Math.sin(m)-Math.sin(0),b=Math.sqrt(h*h/(g*g+x*x));d=Math.max(b,d)}p.r=d,d+=h}),e.equidistant){let p=0,v=0;for(let m=0;m{g===0&&(v=m.r),m.r=v,v+=p})}return f.forEach(p=>{let v=p.dTheta,m=p.r;p.forEach((g,x)=>{let b=e.startAngle+(e.clockwise?1:-1)*v*x;g.x=a[0]+m*Math.cos(b),g.y=a[1]+m*Math.sin(b)})}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}getType(){return"concentric"}};var $_=class extends li{constructor(e){super();this.center=[0,0],this.linkDistance=50,this.nodes=[],this.edges=[],this.onLayoutEnd=()=>{},this.updateCfg(e)}getDefaultCfg(){return{center:[0,0],linkDistance:50}}execute(){let e=this,{nodes:t,edges:n=[]}=e,i=e.center;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}if(t.length===1){t[0].x=i[0],t[0].y=i[1],e.onLayoutEnd&&e.onLayoutEnd();return}let a=e.linkDistance,o=yR({nodes:t,edges:n},!1),s=gR(o);e.handleInfinity(s);let l=xpt(s,a);e.scaledDistances=l;let u=e.runMDS();return e.positions=u,u.forEach((f,c)=>{t[c].x=f[0]+i[0],t[c].y=f[1]+i[1]}),e.onLayoutEnd&&e.onLayoutEnd(),{nodes:t,edges:n}}runMDS(){let e=this,t=2,n=e.scaledDistances,i=Or.mul(Or.pow(n,2),-.5),a=i.mean("row"),o=i.mean("column"),s=i.mean();i.add(s).subRowVector(a).subColumnVector(o);let l=new Cg(i),u=Or.sqrt(l.diagonalMatrix).diagonal();return l.leftSingularVectors.toJSON().map(f=>Or.mul([f],[u]).toJSON()[0].splice(0,t))}handleInfinity(e){let t=-999999;e.forEach(n=>{n.forEach(i=>{i!==1/0&&t{n.forEach((a,o)=>{a===1/0&&(e[i][o]=t)})})}getType(){return"mds"}};var qae=800,Q_=class extends li{constructor(e){super();this.maxIteration=1e3,this.workerEnabled=!1,this.gravity=10,this.speed=5,this.clustering=!1,this.clusterGravity=10,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.onLayoutEnd=()=>{},this.tick=()=>{},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10}}execute(){var e,t;let n=this,i=n.nodes;if(n.timeInterval!==void 0&&typeof window!="undefined"&&window.clearInterval(n.timeInterval),!i||i.length===0){(e=n.onLayoutEnd)===null||e===void 0||e.call(n);return}!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight),n.center||(n.center=[n.width/2,n.height/2]);let a=n.center;if(i.length===1){i[0].x=a[0],i[0].y=a[1],(t=n.onLayoutEnd)===null||t===void 0||t.call(n);return}let o={},s={};return i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*this.width),je(l.y)||(l.y=Math.random()*this.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,n.run()}run(){var e;let t=this,n=t.nodes;if(!n)return;let{edges:i,maxIteration:a,workerEnabled:o,clustering:s}=t,l={};if(s&&n.forEach(u=>{l[u.cluster]===void 0&&(l[u.cluster]={name:u.cluster,cx:0,cy:0,count:0})}),o){for(let u=0;u{var f;t.runOneStep(l),u++,u>=a&&((f=t.onLayoutEnd)===null||f===void 0||f.call(t),window.clearInterval(t.timeInterval))},0)}return{nodes:n,edges:i}}runOneStep(e){var t;let n=this,i=n.nodes;if(!i)return;let{edges:a,center:o,gravity:s,speed:l,clustering:u}=n,f=n.height*n.width,c=Math.sqrt(f)/10,h=f/(i.length+1),d=Math.sqrt(h),p=[];if(i.forEach((v,m)=>{p[m]={x:0,y:0}}),n.applyCalculate(i,a,p,d,h),u){for(let m in e)e[m].cx=0,e[m].cy=0,e[m].count=0;i.forEach(m=>{let g=e[m.cluster];je(m.x)&&(g.cx+=m.x),je(m.y)&&(g.cy+=m.y),g.count++});for(let m in e)e[m].cx/=e[m].count,e[m].cy/=e[m].count;let v=n.clusterGravity||s;i.forEach((m,g)=>{if(!je(m.x)||!je(m.y))return;let x=e[m.cluster],b=Math.sqrt((m.x-x.cx)*(m.x-x.cx)+(m.y-x.cy)*(m.y-x.cy)),S=d*v;p[g].x-=S*(m.x-x.cx)/b,p[g].y-=S*(m.y-x.cy)/b})}i.forEach((v,m)=>{if(!je(v.x)||!je(v.y))return;let g=.01*d*s;p[m].x-=g*(v.x-o[0]),p[m].y-=g*(v.y-o[1])}),i.forEach((v,m)=>{if(je(v.fx)&&je(v.fy)){v.x=v.fx,v.y=v.fy;return}if(!je(v.x)||!je(v.y))return;let g=Math.sqrt(p[m].x*p[m].x+p[m].y*p[m].y);if(g>0){let x=Math.min(c*(l/qae),g);v.x+=p[m].x/g*x,v.y+=p[m].y/g*x}}),(t=n.tick)===null||t===void 0||t.call(n)}applyCalculate(e,t,n,i,a){let o=this;o.calRepulsive(e,n,a),t&&o.calAttractive(t,n,i)}calRepulsive(e,t,n){e.forEach((i,a)=>{t[a]={x:0,y:0},e.forEach((o,s)=>{if(a===s||!je(i.x)||!je(o.x)||!je(i.y)||!je(o.y))return;let l=i.x-o.x,u=i.y-o.y,f=l*l+u*u;if(f===0){f=1;let h=a>s?1:-1;l=.01*h,u=.01*h}let c=n/f;t[a].x+=l*c,t[a].y+=u*c})})}calAttractive(e,t,n){e.forEach(i=>{let a=xn(i,"source"),o=xn(i,"target");if(!a||!o)return;let s=this.nodeIdxMap[a],l=this.nodeIdxMap[o];if(s===l)return;let u=this.nodeMap[a],f=this.nodeMap[o];if(!je(f.x)||!je(u.x)||!je(f.y)||!je(u.y))return;let c=f.x-u.x,h=f.y-u.y,d=Math.sqrt(c*c+h*h),p=d*d/n;t[l].x-=c/d*p,t[l].y-=h/d*p,t[s].x+=c/d*p,t[s].y+=h/d*p})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval)}destroy(){let e=this;e.stop(),e.tick=null,e.nodes=null,e.edges=null,e.destroyed=!0}getType(){return"fruchterman"}};function Ke(r,e,t,n){!t||Object.defineProperty(r,e,{enumerable:t.enumerable,configurable:t.configurable,writable:t.writable,value:t.initializer?t.initializer.call(n):void 0})}function se(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function Va(r){return Va=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Va(r)}function mH(r,e){if(Va(r)!=="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(Va(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function IM(r){var e=mH(r,"string");return Va(e)==="symbol"?e:String(e)}function ogt(r,e){for(var t=0;t0)return!0;var ee=v.get(Et);return ee.delete(St),ee.size>0||v.delete(Et),!0}e("deleteMetadata",k);function O(pt,Et){for(var St=pt.length-1;St>=0;--St){var Wt=pt[St],ee=Wt(Et);if(!tt(ee)&&!et(ee)){if(!Y(ee))throw new TypeError;Et=ee}}return Et}function M(pt,Et,St,Wt){for(var ee=pt.length-1;ee>=0;--ee){var Ue=pt[ee],Ht=Ue(Et,St,Wt);if(!tt(Ht)&&!et(Ht)){if(!$(Ht))throw new TypeError;Wt=Ht}}return Wt}function I(pt,Et,St){var Wt=v.get(pt);if(tt(Wt)){if(!St)return;Wt=new h,v.set(pt,Wt)}var ee=Wt.get(Et);if(tt(ee)){if(!St)return;ee=new h,Wt.set(Et,ee)}return ee}function R(pt,Et,St){var Wt=P(pt,Et,St);if(Wt)return!0;var ee=We(Et);return et(ee)?!1:R(pt,ee,St)}function P(pt,Et,St){var Wt=I(Et,St,!1);return tt(Wt)?!1:dt(Wt.has(pt))}function F(pt,Et,St){var Wt=P(pt,Et,St);if(Wt)return D(pt,Et,St);var ee=We(Et);if(!et(ee))return F(pt,ee,St)}function D(pt,Et,St){var Wt=I(Et,St,!1);if(!tt(Wt))return Wt.get(pt)}function G(pt,Et,St,Wt){var ee=I(St,Wt,!0);ee.set(pt,Et)}function U(pt,Et){var St=j(pt,Et),Wt=We(pt);if(Wt===null)return St;var ee=U(Wt,Et);if(ee.length<=0)return St;if(St.length<=0)return ee;for(var Ue=new d,Ht=[],ae=0,ge=St;ae=0&&ae=this._keys.length?(this._index=-1,this._keys=Et,this._values=Et):this._index++,{value:ge,done:!1}}return{value:void 0,done:!0}},Ht.prototype.throw=function(ae){throw this._index>=0&&(this._index=-1,this._keys=Et,this._values=Et),ae},Ht.prototype.return=function(ae){return this._index>=0&&(this._index=-1,this._keys=Et,this._values=Et),{value:ae,done:!0}},Ht}();return function(){function Ht(){this._keys=[],this._values=[],this._cacheKey=pt,this._cacheIndex=-2}return Object.defineProperty(Ht.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Ht.prototype.has=function(ae){return this._find(ae,!1)>=0},Ht.prototype.get=function(ae){var ge=this._find(ae,!1);return ge>=0?this._values[ge]:void 0},Ht.prototype.set=function(ae,ge){var Ye=this._find(ae,!0);return this._values[Ye]=ge,this},Ht.prototype.delete=function(ae){var ge=this._find(ae,!1);if(ge>=0){for(var Ye=this._keys.length,Ve=ge+1;Ve-1}},{key:"create",value:function(t,n){this.lookup[t]=this.components.length;var i=new this.clazz(n||{});return this.components.push(i),this.entities.push(t),i}},{key:"remove",value:function(t){var n=this.lookup[t];n>-1&&n-1){var i=this.entities[n];if(n-1?this.components[n]:null}},{key:"getCount",value:function(){return this.components.length}},{key:"getEntityByComponentIndex",value:function(t){for(var n=0,i=Object.keys(this.lookup);nr.length)&&(e=r.length);for(var t=0,n=new Array(e);t"),Renderable:Symbol("Factory"),MeshSystem:Symbol("MeshSystem"),MeshComponentManager:Symbol("MeshComponentManager"),CullableComponentManager:Symbol("CullableComponentManager"),Geometry:Symbol("Geometry"),GeometrySystem:Symbol("GeometrySystem"),GeometryComponentManager:Symbol("GeometryComponentManager"),Material:Symbol("Material"),MaterialSystem:Symbol("MaterialSystem"),MaterialComponentManager:Symbol("MaterialComponentManager"),ForwardRenderPath:Symbol("ForwardRenderPath"),ComputeSystem:Symbol("ComputeSystem"),ComputeComponentManager:Symbol("ComputeComponentManager"),ComputeStrategy:Symbol("ComputeStrategy"),Systems:Symbol("Systems"),World:Symbol("World"),RenderEngine:Symbol("RenderEngine"),WebGPUEngine:Symbol("WebGPUEngine"),WebGLEngine:Symbol("WebGLEngine"),ShaderModuleService:Symbol("ShaderModuleService"),ConfigService:Symbol("ConfigService"),InteractorService:Symbol("InteractorService"),IEventEmitter:Symbol("IEventEmitter"),Light:Symbol("Light")};var Ayt=function r(){se(this,r),this.index=void 0};var Myt=function r(){se(this,r),this.name=void 0,this.data=void 0,this.execute=void 0,this.tearDown=void 0};var Tyt=function(){function r(){se(this,r),this.name=void 0,this.refCount=0,this.hasSideEffect=!1,this.devirtualize=[],this.destroy=[],this.reads=[],this.writes=[]}return be(r,[{key:"read",value:function(t){return this.reads.find(function(n){return n.index===t.index})||this.reads.push(t),t}},{key:"sample",value:function(t){return this.read(t),t}},{key:"write",value:function(t,n){var i=this.writes.find(function(l){return l.index===n.index});if(i)return n;var a=t.getResourceNode(n);a.resource.version++,a.resource.imported&&(this.hasSideEffect=!0);var o=t.createResourceNode(a.resource),s=t.getResourceNode(o);return s.writer=this,this.writes.push(o),o}}]),r}();function kM(r,e){return kM=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},kM(r,e)}function ui(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&kM(r,e)}function ri(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function fi(r,e){if(e&&(Va(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ri(r)}function Zr(r){return Zr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Zr(r)}var Iyt=function r(){se(this,r),this.first=void 0,this.last=void 0};function ble(r){var e=_le();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function _le(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var jH=function(r){ui(t,r);var e=ble(t);function t(){var n;se(this,t);for(var i=arguments.length,a=new Array(i),o=0;o=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Sle(r,e){if(!!r){if(typeof r=="string")return Nyt(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Nyt(r,e)}}function Nyt(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t-1&&r%1==0&&r<=Cle}function Qle(r){return!!r&&Va(r)==="object"}var HH=Zle;function Fyt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Byt(r){for(var e=1;e0&&arguments[0]!==void 0?arguments[0]:{vertexCount:3},n=t.vertexCount,i=ds();return this.geometry.create(i,{vertexCount:n})}},{key:"createInstancedBufferGeometry",value:function(t){var n=t.maxInstancedCount,i=t.vertexCount,a=ds();return this.geometry.create(a,{maxInstancedCount:n,vertexCount:i})}}]),r}(),Hyt),Wyt=Ze(mN.prototype,"geometry",[zyt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Vyt=Ze(mN.prototype,"engine",[Uyt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),mN))||jyt);function Yyt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Xyt(r){for(var e=1;eh&&(h=O),Mp&&(p=I),Rm&&(m=P),n[0]=(c+h)*.5,n[1]=(d+p)*.5,n[2]=(v+m)*.5,s[0]=(h-c)*.5,s[1]=(p-d)*.5,s[2]=(m-v)*.5,this.min[0]=c,this.min[1]=d,this.min[2]=v,this.max[0]=h,this.max[1]=p,this.max[2]=m}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),o=t.getMin();return i[0]<=a[0]&&n[0]>=o[0]&&i[1]<=a[1]&&n[1]>=o[1]&&i[2]<=a[2]&&n[2]>=o[2]}},{key:"containsPoint",value:function(t){var n=this.getMin(),i=this.getMax();return!(t[0]i[0]||t[1]i[1]||t[2]i[2])}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?Ft.copy(Ft.create(),this.min):t.pnVertexFlag===272?Ft.fromValues(this.min[0],this.min[1],this.max[2]):t.pnVertexFlag===257?Ft.fromValues(this.min[0],this.max[1],this.min[2]):t.pnVertexFlag===256?Ft.fromValues(this.min[0],this.max[1],this.max[2]):t.pnVertexFlag===17?Ft.fromValues(this.max[0],this.min[1],this.min[2]):t.pnVertexFlag===16?Ft.fromValues(this.max[0],this.min[1],this.max[2]):t.pnVertexFlag===1?Ft.fromValues(this.max[0],this.max[1],this.min[2]):Ft.fromValues(this.max[0],this.max[1],this.max[2])}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?Ft.copy(Ft.create(),this.max):t.pnVertexFlag===272?Ft.fromValues(this.max[0],this.max[1],this.min[2]):t.pnVertexFlag===257?Ft.fromValues(this.max[0],this.min[1],this.max[2]):t.pnVertexFlag===256?Ft.fromValues(this.max[0],this.min[1],this.min[2]):t.pnVertexFlag===17?Ft.fromValues(this.min[0],this.max[1],this.max[2]):t.pnVertexFlag===16?Ft.fromValues(this.min[0],this.max[1],this.min[2]):t.pnVertexFlag===1?Ft.fromValues(this.min[0],this.min[1],this.max[2]):Ft.fromValues(this.min[0],this.min[1],this.min[2])}}]),r}();function aue(r){var e=oue();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function oue(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var tY=function(r){ui(t,r);var e=aue(t);function t(n){var i;return se(this,t),i=e.call(this,n),i.material=void 0,i.geometry=void 0,i.aabb=new oS,i.aabbDirty=!0,i.model=void 0,i.visible=!0,i.children=[],Object.assign(ri(i),n),i}return t}(rl);var eY=z($a());var Tg=z(Zn());var a0t=function(){function r(e,t){se(this,r),this.distance=void 0,this.normal=void 0,this.pnVertexFlag=void 0,this.distance=e||0,this.normal=t||Ft.fromValues(0,1,0),this.updatePNVertexFlag()}return be(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(Number(this.normal[0]>=0)<<8)+(Number(this.normal[1]>=0)<<4)+Number(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return Ft.dot(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/Ft.len(this.normal);Ft.scale(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),o=this.distanceToPoint(n),s=a/(a-o),l=s>=0&&s<=1;return l&&i&&Ft.lerp(i,t,n,s),l}}]),r}();var qp;(function(r){r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE"})(qp||(qp={}));var o0t=function(){function r(e){if(se(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new a0t)}return be(r,[{key:"extractFromVPMatrix",value:function(t){var n=Wp(t,16),i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],u=n[5],f=n[6],c=n[7],h=n[8],d=n[9],p=n[10],v=n[11],m=n[12],g=n[13],x=n[14],b=n[15];Ft.set(this.planes[0].normal,s-i,c-l,v-h),this.planes[0].distance=-(b-m),Ft.set(this.planes[1].normal,s+i,c+l,v+h),this.planes[1].distance=-(b+m),Ft.set(this.planes[2].normal,s+a,c+u,v+d),this.planes[2].distance=-(b+g),Ft.set(this.planes[3].normal,s-a,c-u,v-d),this.planes[3].distance=-(b-g),Ft.set(this.planes[4].normal,s-o,c-f,v-p),this.planes[4].distance=-(b-x),Ft.set(this.planes[5].normal,s+o,c+f,v+p),this.planes[5].distance=-(b+x),this.planes.forEach(function(S){S.normalize(),S.updatePNVertexFlag()})}}]),r}();function s0t(r,e){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[4],e[4]=r[5],e[5]=r[6],e[6]=r[8],e[7]=r[9],e[8]=r[10],e}function l0t(r){var e=Wp(r,3),t=e[0],n=e[1],i=e[2],a=t+n*256+i*65536-1;return a}var u0t,f0t,c0t,h0t,d0t,p0t,v0t,tx,m0t,g0t,y0t,x0t,b0t,_0t;function S0t(r,e){var t;if(typeof Symbol=="undefined"||r[Symbol.iterator]==null){if(Array.isArray(r)||(t=sue(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function sue(r,e){if(!!r){if(typeof r=="string")return C0t(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return C0t(r,e)}}function C0t(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t0)return qp.OUTSIDE;Ft.dot(f,t.getPositiveFarPoint(i[o]))+c>0&&(a|=l)}}return a}}]),r}(),_0t),m0t=Ze(tx.prototype,"mesh",[f0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g0t=Ze(tx.prototype,"cullable",[c0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y0t=Ze(tx.prototype,"geometry",[h0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x0t=Ze(tx.prototype,"hierarchy",[d0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b0t=Ze(tx.prototype,"transform",[p0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),tx))||v0t);var nY=z($a());var rx=z(Zn());var ex=z($a());var $l=z(Zn());var w0t,E0t,A0t,M0t,T0t,I0t,L0t,O0t,D0t,P0t,k0t,R0t,Cc,N0t,F0t,B0t,G0t,z0t,U0t,j0t,W0t,V0t,H0t,Y0t;function gN(r,e){var t;if(typeof Symbol=="undefined"||r[Symbol.iterator]==null){if(Array.isArray(r)||(t=lue(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var n=0,i=function(){};return{s:i,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function lue(r,e){if(!!r){if(typeof r=="string")return X0t(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return X0t(r,e)}}function X0t(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function uue(r,e){if(!!r){if(typeof r=="string")return oxt(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return oxt(r,e)}}function oxt(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);tf||h<0||d>c||d<0)){var p,v;return l(e.pickingFBO,function(){p=s({x:Math.round(h),y:Math.round(c-(a+1)*window.devicePixelRatio),width:1,height:1,data:new Uint8Array(1*1*4),framebuffer:e.pickingFBO}),(p[0]!==0||p[1]!==0||p[2]!==0)&&(v=l0t(p),e.highlightEnabled&&e.highlightPickedFeature(p,n))}),v}}}return be(r,[{key:"enableHighlight",value:function(t){this.highlightEnabled=t}},{key:"setHighlightColor",value:function(t){this.highlightColor=t}},{key:"highlightPickedFeature",value:function(t,n){if(t){var i=iY(n.getScene().getEntities()),a;try{for(i.s();!(a=i.n()).done;){var o=a.value,s=this.mesh.getComponentByEntity(o),l=s.material;l.setUniform("u_PickingStage",aY.HIGHLIGHT),l.setUniform("u_PickingColor",[t[0],t[1],t[2]]),l.setUniform("u_HighlightColor",this.highlightColor)}}catch(u){i.e(u)}finally{i.f()}}}}]),r}(),ixt.IDENTIFIER="PixelPicking Pass",axt),txt=Ze(sS.prototype,"engine",[K0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ext=Ze(sS.prototype,"resourcePool",[Z0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),rxt=Ze(sS.prototype,"renderPassFactory",[$0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),nxt=Ze(sS.prototype,"mesh",[Q0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),sS))||J0t);var sY=z($a());var Kp=z(Zn());var oY=z($a());var FM=z(Zn());var sxt,lxt,uxt,fxt,yN,cxt,hxt,dxt,pxt,fue=`varying vec2 v_UV; uniform sampler2D u_Texture; void main() { gl_FragColor = vec4(texture2D(u_Texture, v_UV)); -}`,Wle=`attribute vec2 a_Position; +}`,cue=`attribute vec2 a_Position; varying vec2 v_UV; void main() { v_UV = 0.5 * (a_Position + 1.0); gl_Position = vec4(a_Position, 0., 1.); -}`,Vle=`layout(set = 0, binding = 0) uniform sampler u_TextureSampler; +}`,hue=`layout(set = 0, binding = 0) uniform sampler u_TextureSampler; layout(set = 0, binding = 1) uniform texture2D u_Texture; layout(location = 0) in vec2 v_UV; @@ -181,14 +181,14 @@ layout(location = 0) out vec4 outColor; void main() { outColor = texture(sampler2D(u_Texture, u_TextureSampler), v_UV); -}`,Hle=`layout(location = 0) in vec2 a_Position; +}`,due=`layout(location = 0) in vec2 a_Position; layout(location = 0) out vec2 v_UV; void main() { v_UV = 0.5 * (a_Position + 1.0); gl_Position = vec4(a_Position, 0., 1.); -}`,oS=(X0t=(0,DM.injectable)(),q0t=(0,DM.inject)(Qt.RenderEngine),K0t=(0,DM.inject)(Qt.ResourcePool),X0t(Z0t=(dN=(txt=J0t=function r(){var e=this;se(this,r),Ke(this,"engine",$0t,this),Ke(this,"resourcePool",Q0t,this),this.model=void 0,this.setup=function(t,n,i){var a=t.getPass(ad.IDENTIFIER);if(a){var o=t.createRenderTarget(n,"render to screen",{width:1,height:1});i.data={input:n.read(a.data.output),output:n.write(t,o)}}},this.execute=function(){var t=Fr(tY.default.mark(function n(i,a){var o,s,l,u,f,c,h;return tY.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(o=e.engine,s=o.createModel,l=o.createAttribute,u=o.createBuffer,e.model){p.next=6;break}return p.next=4,s({vs:e.engine.supportWebGPU?Hle:Wle,fs:e.engine.supportWebGPU?Vle:jle,attributes:{a_Position:l({buffer:u({data:[-4,-4,4,-4,0,4],type:Mt.FLOAT}),size:2,arrayStride:2*4,stepMode:"vertex",attributes:[{shaderLocation:0,offset:0,format:"float2"}]})},uniforms:{u_Texture:null},depth:{enable:!1},count:3,blend:{enable:!0}});case 4:f=p.sent,e.model=f;case 6:c=i.getResourceNode(a.data.input),h=e.resourcePool.getOrCreateResource(c.resource),e.engine.useFramebuffer(null,function(){e.engine.clear({framebuffer:null,color:[0,0,0,0],depth:1,stencil:0}),e.model.draw({uniforms:{u_Texture:h}})});case 9:case"end":return p.stop()}},n)}));return function(n,i){return t.apply(this,arguments)}}(),this.tearDown=function(){e.model=void 0}},J0t.IDENTIFIER="Copy Pass",txt),$0t=Ze(dN.prototype,"engine",[q0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q0t=Ze(dN.prototype,"resourcePool",[K0t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),dN))||Z0t);var ext,rxt,nxt,ixt,axt,oxt,sxt,sS,lxt,uxt,fxt,cxt,hxt,rY=(ext=(0,Xp.injectable)(),rxt=(0,Xp.inject)(Qt.Systems),nxt=(0,Xp.named)(Qt.FrameGraphSystem),ixt=(0,Xp.inject)(Qt.RenderPassFactory),axt=(0,Xp.inject)(Qt.ConfigService),oxt=(0,Xp.inject)(Qt.ResourcePool),ext(sxt=(sS=(hxt=function(){function r(){se(this,r),Ke(this,"frameGraphSystem",lxt,this),Ke(this,"renderPassFactory",uxt,this),Ke(this,"configService",fxt,this),Ke(this,"resourcePool",cxt,this)}return be(r,[{key:"execute",value:function(){var e=Fr(eY.default.mark(function n(i){var a,o,s,l,u,f,c,h,d;return eY.default.wrap(function(v){for(;;)switch(v.prev=v.next){case 0:a=this.renderPassFactory(ad.IDENTIFIER),o=a.setup,s=a.execute,l=this.frameGraphSystem.addPass(ad.IDENTIFIER,o,s),u=this.renderPassFactory(oS.IDENTIFIER),f=u.setup,c=u.execute,h=u.tearDown,d=this.frameGraphSystem.addPass(oS.IDENTIFIER,f,c,h),this.frameGraphSystem.present(d.data.output);case 5:case"end":return v.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"tearDown",value:function(){this.resourcePool.clean()}},{key:"pick",value:function(t,n){var i=this.renderPassFactory(aS.IDENTIFIER);return i.pick(t,n)}}]),r}(),hxt),lxt=Ze(sS.prototype,"frameGraphSystem",[rxt,nxt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),uxt=Ze(sS.prototype,"renderPassFactory",[ixt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fxt=Ze(sS.prototype,"configService",[axt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),cxt=Ze(sS.prototype,"resourcePool",[oxt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),sS))||sxt);function Yle(r){var e=Xle();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function Xle(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var nY=function(r){ui(t,r);var e=Yle(t);function t(n){var i;return se(this,t),i=e.call(this,n),i.parentID=void 0,Object.assign(ri(i),n),i}return t}(rl);var iY=U(Ka());var lS=U(Zn());var dxt,pxt,vxt,mxt,gxt,PM,yxt,xxt,bxt,_xt,aY=(dxt=(0,lS.injectable)(),pxt=(0,lS.inject)(Qt.HierarchyComponentManager),vxt=(0,lS.inject)(Qt.TransformComponentManager),mxt=(0,lS.inject)(Qt.MeshComponentManager),dxt(gxt=(PM=(_xt=function(){function r(){se(this,r),Ke(this,"hierarchy",yxt,this),Ke(this,"transform",xxt,this),Ke(this,"mesh",bxt,this)}return be(r,[{key:"execute",value:function(){var e=Fr(iY.default.mark(function n(){return iY.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:this.runTransformUpdateSystem(),this.runHierarchyUpdateSystem();case 2:case"end":return a.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"tearDown",value:function(){this.hierarchy.clear(),this.transform.clear()}},{key:"getHierarchyComponentManager",value:function(){return this.hierarchy}},{key:"getTransformComponentManager",value:function(){return this.transform}},{key:"runTransformUpdateSystem",value:function(){var t=this;this.transform.forEach(function(n,i){(i.isDirty()||i.isLocalDirty())&&(t.setMeshAABBDirty(t.mesh.getComponentByEntity(n)),i.updateTransform())})}},{key:"runHierarchyUpdateSystem",value:function(){var t=this;this.hierarchy.forEach(function(n,i){var a=t.transform.getComponentByEntity(n),o=t.transform.getComponentByEntity(i.parentID);a!==null&&o!==null&&a.updateTransformWithParent(o)})}},{key:"attach",value:function(t,n,i){this.hierarchy.contains(t)&&this.detach(t),this.hierarchy.create(t,{parentID:n});var a=this.mesh.getComponentByEntity(n);if(this.setMeshAABBDirty(a),a&&a.children.indexOf(t)===-1&&a.children.push(t),this.hierarchy.getCount()>1)for(var o=this.hierarchy.getCount()-1;o>0;--o)for(var s=this.hierarchy.getEntity(o),l=0;l0&&arguments[0]!==void 0?arguments[0]:!0;i?this.dirtyFlag|=t.DIRTY:this.dirtyFlag&=~t.DIRTY}},{key:"isLocalDirty",value:function(){return this.localDirtyFlag}},{key:"setLocalDirty",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;i?(this.localDirtyFlag|=t.DIRTY,this.setDirty(!0)):this.localDirtyFlag&=~t.DIRTY}},{key:"updateTransform",value:function(){this.isLocalDirty()&&this.getLocalTransform(),this.isDirty()&&this.parent===null&&(_r.copy(this.worldTransform,this.getLocalTransform()),this.setDirty(!1))}},{key:"updateTransformWithParent",value:function(i){_r.multiply(this.worldTransform,i.worldTransform,this.getLocalTransform())}},{key:"applyTransform",value:function(){this.setDirty(),_r.getScaling(this.localScale,this.worldTransform),_r.getTranslation(this.localPosition,this.worldTransform),_r.getRotation(this.localRotation,this.worldTransform)}},{key:"clearTransform",value:function(){this.setDirty(),this.localPosition=Ft.fromValues(0,0,0),this.localRotation=Nr.fromValues(0,0,0,1),this.localScale=Ft.fromValues(1,1,1)}},{key:"scaleLocal",value:function(i){return this.setLocalDirty(),Ft.multiply(this.localScale,this.localScale,i),this}},{key:"getLocalPosition",value:function(){return this.localPosition}},{key:"getLocalRotation",value:function(){return this.localRotation}},{key:"getLocalScale",value:function(){return this.localScale}},{key:"getLocalTransform",value:function(){return this.localDirtyFlag&&(_r.fromRotationTranslationScale(this.localTransform,this.localRotation,this.localPosition,this.localScale),this.setLocalDirty(!1)),this.localTransform}},{key:"getWorldTransform",value:function(){return!this.isLocalDirty()&&!this.isDirty()?this.worldTransform:(this.parent&&this.parent.getWorldTransform(),this.updateTransform(),this.worldTransform)}},{key:"getPosition",value:function(){return _r.getTranslation(this.position,this.worldTransform),this.position}},{key:"getRotation",value:function(){return _r.getRotation(this.rotation,this.worldTransform),this.rotation}},{key:"getScale",value:function(){return _r.getScaling(this.scaling,this.worldTransform),this.scaling}}]),t}(rl);pN.DIRTY=1<<0;var uY=U(Zn()),qxt=U(Cxt());var gN=U(Zn());var wxt,Ext,Axt,sY,Mxt,Txt,Ixt=(wxt=(0,gN.injectable)(),Ext=(0,gN.inject)(Qt.RenderEngine),wxt(Axt=(sY=(Txt=function(){function r(){se(this,r),Ke(this,"engine",Mxt,this),this.resourcePool={}}return be(r,[{key:"getOrCreateResource",value:function(t){if(!this.resourcePool[t.name]){var n=t.descriptor,i=n.width,a=n.height,o=n.usage;this.resourcePool[t.name]=this.engine.createFramebuffer({color:this.engine.createTexture2D({width:i,height:a,wrapS:Mt.CLAMP_TO_EDGE,wrapT:Mt.CLAMP_TO_EDGE,usage:o})})}return this.resourcePool[t.name]}},{key:"clean",value:function(){this.resourcePool={}}}]),r}(),Txt),Mxt=Ze(sY.prototype,"engine",[Ext],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),sY))||Axt);function eue(r){var e=rue();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function rue(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var Lxt=function(r){ui(t,r);var e=eue(t);function t(n){var i;return se(this,t),i=e.call(this,n),i.name=void 0,i.name=n.name||"",i}return t}(rl);var kxt=U(Zn()),Oxt,Dxt,Pxt,Rxt=(Oxt=(0,kxt.injectable)(),Oxt(Dxt=(Pxt=function(){function r(){se(this,r),this.config=void 0}return be(r,[{key:"get",value:function(){return this.config}},{key:"set",value:function(t){this.config=t}}]),r}(),Pxt))||Dxt);var Bxt=U(Zn()),Nxt,Fxt,Gxt;(function(r){r.PANSTART="PANSTART",r.PANEND="PANEND",r.PANMOVE="PANMOVE",r.PINCH="PINCH",r.KEYDOWN="KEYDOWN",r.KEYUP="KEYUP",r.HOVER="HOVER"})(Gxt||(Gxt={}));var zxt=(Nxt=(0,Bxt.injectable)(),Nxt(Fxt=function(){function r(){se(this,r)}return be(r,[{key:"listen",value:function(t){}},{key:"on",value:function(t,n){}},{key:"connect",value:function(){}},{key:"disconnect",value:function(){}},{key:"destroy",value:function(){}}]),r}())||Fxt);var Yxt=U(Zn());function nue(r){var e=0;switch(r){case"vec2":case"ivec2":e=2;break;case"vec3":case"ivec3":e=3;break;case"vec4":case"ivec4":case"mat2":e=4;break;case"mat3":e=9;break;case"mat4":e=16;break;default:}return e}var iue=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\s\S]*?);/g;function lY(r){var e={};return r=r.replace(iue,function(t,n,i){var a=i.split(":"),o=a[0].trim(),s="";switch(a.length>1&&(s=a[1].trim()),n){case"bool":s=s==="true";break;case"float":case"int":s=Number(s);break;case"vec2":case"vec3":case"vec4":case"ivec2":case"ivec3":case"ivec4":case"mat2":case"mat3":case"mat4":s?s=s.replace("[","").replace("]","").split(",").reduce(function(l,u){return l.push(Number(u.trim())),l},[]):s=new Array(nue(n)).fill(0);break;default:}return e[o]=s,"uniform ".concat(n," ").concat(o,`; -`)}),{content:r,uniforms:e}}function Uxt(r){return r.filter(function(e,t,n){return n.indexOf(e)===t})}var jxt,Wxt,Vxt;function Hxt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function RM(r){for(var e=1;e1)for(var o=this.hierarchy.getCount()-1;o>0;--o)for(var s=this.hierarchy.getEntity(o),l=0;l0&&arguments[0]!==void 0?arguments[0]:!0;i?this.dirtyFlag|=t.DIRTY:this.dirtyFlag&=~t.DIRTY}},{key:"isLocalDirty",value:function(){return this.localDirtyFlag}},{key:"setLocalDirty",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;i?(this.localDirtyFlag|=t.DIRTY,this.setDirty(!0)):this.localDirtyFlag&=~t.DIRTY}},{key:"updateTransform",value:function(){this.isLocalDirty()&&this.getLocalTransform(),this.isDirty()&&this.parent===null&&(_r.copy(this.worldTransform,this.getLocalTransform()),this.setDirty(!1))}},{key:"updateTransformWithParent",value:function(i){_r.multiply(this.worldTransform,i.worldTransform,this.getLocalTransform())}},{key:"applyTransform",value:function(){this.setDirty(),_r.getScaling(this.localScale,this.worldTransform),_r.getTranslation(this.localPosition,this.worldTransform),_r.getRotation(this.localRotation,this.worldTransform)}},{key:"clearTransform",value:function(){this.setDirty(),this.localPosition=Ft.fromValues(0,0,0),this.localRotation=Nr.fromValues(0,0,0,1),this.localScale=Ft.fromValues(1,1,1)}},{key:"scaleLocal",value:function(i){return this.setLocalDirty(),Ft.multiply(this.localScale,this.localScale,i),this}},{key:"getLocalPosition",value:function(){return this.localPosition}},{key:"getLocalRotation",value:function(){return this.localRotation}},{key:"getLocalScale",value:function(){return this.localScale}},{key:"getLocalTransform",value:function(){return this.localDirtyFlag&&(_r.fromRotationTranslationScale(this.localTransform,this.localRotation,this.localPosition,this.localScale),this.setLocalDirty(!1)),this.localTransform}},{key:"getWorldTransform",value:function(){return!this.isLocalDirty()&&!this.isDirty()?this.worldTransform:(this.parent&&this.parent.getWorldTransform(),this.updateTransform(),this.worldTransform)}},{key:"getPosition",value:function(){return _r.getTranslation(this.position,this.worldTransform),this.position}},{key:"getRotation",value:function(){return _r.getRotation(this.rotation,this.worldTransform),this.rotation}},{key:"getScale",value:function(){return _r.getScaling(this.scaling,this.worldTransform),this.scaling}}]),t}(rl);xN.DIRTY=1<<0;var vY=z(Zn()),lbt=z(Fxt());var SN=z(Zn());var Bxt,Gxt,zxt,dY,Uxt,jxt,Wxt=(Bxt=(0,SN.injectable)(),Gxt=(0,SN.inject)(Qt.RenderEngine),Bxt(zxt=(dY=(jxt=function(){function r(){se(this,r),Ke(this,"engine",Uxt,this),this.resourcePool={}}return be(r,[{key:"getOrCreateResource",value:function(t){if(!this.resourcePool[t.name]){var n=t.descriptor,i=n.width,a=n.height,o=n.usage;this.resourcePool[t.name]=this.engine.createFramebuffer({color:this.engine.createTexture2D({width:i,height:a,wrapS:Mt.CLAMP_TO_EDGE,wrapT:Mt.CLAMP_TO_EDGE,usage:o})})}return this.resourcePool[t.name]}},{key:"clean",value:function(){this.resourcePool={}}}]),r}(),jxt),Uxt=Ze(dY.prototype,"engine",[Gxt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),dY))||zxt);function Cue(r){var e=wue();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function wue(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var Vxt=function(r){ui(t,r);var e=Cue(t);function t(n){var i;return se(this,t),i=e.call(this,n),i.name=void 0,i.name=n.name||"",i}return t}(rl);var qxt=z(Zn()),Hxt,Yxt,Xxt,Kxt=(Hxt=(0,qxt.injectable)(),Hxt(Yxt=(Xxt=function(){function r(){se(this,r),this.config=void 0}return be(r,[{key:"get",value:function(){return this.config}},{key:"set",value:function(t){this.config=t}}]),r}(),Xxt))||Yxt);var Qxt=z(Zn()),Zxt,$xt,Jxt;(function(r){r.PANSTART="PANSTART",r.PANEND="PANEND",r.PANMOVE="PANMOVE",r.PINCH="PINCH",r.KEYDOWN="KEYDOWN",r.KEYUP="KEYUP",r.HOVER="HOVER"})(Jxt||(Jxt={}));var tbt=(Zxt=(0,Qxt.injectable)(),Zxt($xt=function(){function r(){se(this,r)}return be(r,[{key:"listen",value:function(t){}},{key:"on",value:function(t,n){}},{key:"connect",value:function(){}},{key:"disconnect",value:function(){}},{key:"destroy",value:function(){}}]),r}())||$xt);var obt=z(Zn());function Eue(r){var e=0;switch(r){case"vec2":case"ivec2":e=2;break;case"vec3":case"ivec3":e=3;break;case"vec4":case"ivec4":case"mat2":e=4;break;case"mat3":e=9;break;case"mat4":e=16;break;default:}return e}var Aue=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\s\S]*?);/g;function pY(r){var e={};return r=r.replace(Aue,function(t,n,i){var a=i.split(":"),o=a[0].trim(),s="";switch(a.length>1&&(s=a[1].trim()),n){case"bool":s=s==="true";break;case"float":case"int":s=Number(s);break;case"vec2":case"vec3":case"vec4":case"ivec2":case"ivec3":case"ivec4":case"mat2":case"mat3":case"mat4":s?s=s.replace("[","").replace("]","").split(",").reduce(function(l,u){return l.push(Number(u.trim())),l},[]):s=new Array(Eue(n)).fill(0);break;default:}return e[o]=s,"uniform ".concat(n," ").concat(o,`; +`)}),{content:r,uniforms:e}}function ebt(r){return r.filter(function(e,t,n){return n.indexOf(e)===t})}var rbt,nbt,ibt;function abt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function zM(r){for(var e=1;ep.x*b) ? length(p-vec2(0.0,b)) : length(p-vec2(-d,0.0))-r; -}`,lue=/precision\s+(high|low|medium)p\s+float/,uue=`#ifdef GL_FRAGMENT_PRECISION_HIGH +}`,Lue=/precision\s+(high|low|medium)p\s+float/,Oue=`#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif -`,fue=/#pragma include (["^+"]?["\ "[a-zA-Z_0-9](.*)"]*?)/g,Xxt=(jxt=(0,Yxt.injectable)(),jxt(Wxt=(Vxt=function(){function r(){se(this,r),this.moduleCache={},this.rawContentCache={}}return be(r,[{key:"registerBuiltinModules",value:function(){this.destroy(),this.registerModule("picking",{vs:oue,fs:aue}),this.registerModule("sdf2d",{vs:"",fs:sue})}},{key:"registerModule",value:function(t,n){if(!this.rawContentCache[t]){var i=n.vs,a=i===void 0?"":i,o=n.fs,s=o===void 0?"":o,l=n.uniforms,u=lY(a),f=u.content,c=u.uniforms,h=lY(s),d=h.content,p=h.uniforms;this.rawContentCache[t]={fs:d,uniforms:RM(RM(RM({},c),p),l),vs:f}}}},{key:"destroy",value:function(){this.moduleCache={},this.rawContentCache={}}},{key:"getModule",value:function(t){var n=this;if(this.moduleCache[t])return this.moduleCache[t];var i=this.rawContentCache[t].vs||"",a=this.rawContentCache[t].fs||"",o=this.processModule(i,[],"vs"),s=o.content,l=o.includeList,u=this.processModule(a,[],"fs"),f=u.content,c=u.includeList,h=f,d=Uxt(l.concat(c).concat(t)).reduce(function(p,v){return RM(RM({},p),n.rawContentCache[v].uniforms)},{});return lue.test(f)||(h=uue+f),this.moduleCache[t]={fs:h.trim(),uniforms:d,vs:s.trim()},this.moduleCache[t]}},{key:"processModule",value:function(t,n,i){var a=this,o=t.replace(fue,function(s,l){var u=l.split(" "),f=u[0].replace(/"/g,"");if(n.indexOf(f)>-1)return"";var c=a.rawContentCache[f][i];n.push(f);var h=a.processModule(c||"",n,i),d=h.content;return d});return{content:o,includeList:n}}}]),r}(),Vxt))||Wxt);var wc=new uY.Container,IDr=(0,qxt.default)(wc,!1);wc.bind(Qt.ShaderModuleService).to(Xxt).inSingletonScope();wc.bind(Qt.NameComponentManager).toConstantValue(new zp(Lxt));wc.bind(Qt.HierarchyComponentManager).toConstantValue(new zp(nY));wc.bind(Qt.TransformComponentManager).toConstantValue(new zp(pN));wc.bind(Qt.MeshComponentManager).toConstantValue(new zp(qH));wc.bind(Qt.CullableComponentManager).toConstantValue(new zp(XH));wc.bind(Qt.GeometryComponentManager).toConstantValue(new zp(zH));wc.bind(Qt.MaterialComponentManager).toConstantValue(new zp(WH));function fY(){var r=new uY.Container;return r.parent=wc,r.bind(Qt.Systems).to(aY).inSingletonScope().whenTargetNamed(Qt.SceneGraphSystem),r.bind(Qt.Systems).to(BH).inSingletonScope().whenTargetNamed(Qt.FrameGraphSystem),r.bind(Qt.Systems).to(ZH).inSingletonScope().whenTargetNamed(Qt.MeshSystem),r.bind(Qt.Systems).to(jH).inSingletonScope().whenTargetNamed(Qt.GeometrySystem),r.bind(Qt.Systems).to(HH).inSingletonScope().whenTargetNamed(Qt.MaterialSystem),r.bind(Qt.Systems).to(rY).inSingletonScope().whenTargetNamed(Qt.RendererSystem),r.bind(Qt.ResourcePool).to(Ixt).inSingletonScope(),r.bind(Qt.ConfigService).to(Rxt).inSingletonScope(),r.bind(Qt.InteractorService).to(zxt).inSingletonScope(),r.bind(Qt.RenderPass).to(ad).inSingletonScope().whenTargetNamed(ad.IDENTIFIER),r.bind(Qt.RenderPass).to(oS).inSingletonScope().whenTargetNamed(oS.IDENTIFIER),r.bind(Qt.RenderPass).to(aS).inSingletonScope().whenTargetNamed(aS.IDENTIFIER),r.bind(Qt.RenderPassFactory).toFactory(function(e){return function(t){return e.container.getNamed(Qt.RenderPass,t)}}),r}function J0(r){for(var e=new nS,t=Ft.fromValues(r[0],r[1],r[2]),n=Ft.fromValues(r[0],r[1],r[2]),i=3;in[0]&&(n[0]=a),o>n[1]&&(n[1]=o),s>n[2]&&(n[2]=s)}return e.setMinMax(t,n),e}var Lo=typeof navigator!="undefined"&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);var qDr=Ft.create();var JDr=Ft.create(),tPr=Ft.create(),ePr=Ft.create(),rPr=Ft.create(),nPr=Ft.create();var Kxt;(function(r){r.Normal="normal",r.PostProcessing="post-processing"})(Kxt||(Kxt={}));var od;(function(r){r.Void="Void",r.Boolean="Boolean",r.Float="Float",r.Uint32="Uint32",r.Int32="Int32",r.Vector="Vector",r.Vector2Float="vec2",r.Vector3Float="vec3",r.Vector4Float="vec4",r.Vector2Boolean="vec2",r.Vector3Boolean="vec3",r.Vector4Boolean="vec4",r.Vector2Uint="vec2",r.Vector3Uint="vec3",r.Vector4Uint="vec4",r.Vector2Int="vec2",r.Vector3Int="vec3",r.Vector4Int="vec4",r.Matrix="Matrix",r.Matrix3x3Float="mat3x3",r.Matrix4x4Float="mat4x4",r.Struct="Struct",r.FloatArray="Float[]",r.Vector4FloatArray="vec4[]"})(od||(od={}));var Zxt;(function(r){r.Program="Program",r.Identifier="Identifier",r.VariableDeclaration="VariableDeclaration",r.BlockStatement="BlockStatement",r.ReturnStatement="ReturnStatement",r.FunctionDeclaration="FunctionDeclaration",r.VariableDeclarator="VariableDeclarator",r.AssignmentExpression="AssignmentExpression",r.LogicalExpression="LogicalExpression",r.BinaryExpression="BinaryExpression",r.ArrayExpression="ArrayExpression",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.FunctionExpression="FunctionExpression",r.MemberExpression="MemberExpression",r.ConditionalExpression="ConditionalExpression",r.ExpressionStatement="ExpressionStatement",r.CallExpression="CallExpression",r.NumThreadStatement="NumThreadStatement",r.StorageStatement="StorageStatement",r.DoWhileStatement="DoWhileStatement",r.WhileStatement="WhileStatement",r.ForStatement="ForStatement",r.BreakStatement="BreakStatement",r.ContinueStatement="ContinueStatement",r.IfStatement="IfStatement",r.ImportedFunctionStatement="ImportedFunctionStatement"})(Zxt||(Zxt={}));var Ec;(function(r){r.Input="Input",r.Output="Output",r.Uniform="Uniform",r.Workgroup="Workgroup",r.UniformConstant="UniformConstant",r.Image="Image",r.StorageBuffer="StorageBuffer",r.Private="Private",r.Function="Function"})(Ec||(Ec={}));var fS;(function(r){r.GLSL100="GLSL100",r.GLSL450="GLSL450",r.WGSL="WGSL"})(fS||(fS={}));var $xt="__DefineValuePlaceholder__";var yN=U(Zn());function cS(r){return typeof r=="number"}function sd(r){return r===void 0?0:r>360||r<-360?r%360:r}function Mg(r,e,t){return cS(r)?Ft.fromValues(r,e,t):r.length===3?Ft.clone(r):Ft.fromValues(r[0],r[1],r[2])}var cY=function(){function r(e,t){se(this,r),this.name=void 0,this.matrix=void 0,this.right=void 0,this.up=void 0,this.forward=void 0,this.position=void 0,this.focalPoint=void 0,this.distanceVector=void 0,this.distance=void 0,this.dollyingStep=void 0,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.name=e,this.matrix=_r.clone(t.matrix),this.right=Ft.clone(t.right),this.up=Ft.clone(t.up),this.forward=Ft.clone(t.forward),this.position=Ft.clone(t.position),this.focalPoint=Ft.clone(t.focalPoint),this.distanceVector=Ft.clone(t.distanceVector),this.azimuth=t.azimuth,this.elevation=t.elevation,this.roll=t.roll,this.relAzimuth=t.relAzimuth,this.relElevation=t.relElevation,this.relRoll=t.relRoll,this.dollyingStep=t.dollyingStep,this.distance=t.distance}return be(r,[{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getRoll",value:function(){return this.roll}},{key:"retrieve",value:function(t){t.matrix=_r.copy(t.matrix,this.matrix),t.right=Ft.copy(t.right,this.right),t.up=Ft.copy(t.up,this.up),t.forward=Ft.copy(t.forward,this.forward),t.position=Ft.copy(t.position,this.position),t.focalPoint=Ft.copy(t.focalPoint,this.focalPoint),t.distanceVector=Ft.copy(t.distanceVector,this.distanceVector),t.azimuth=this.azimuth,t.elevation=this.elevation,t.roll=this.roll,t.relAzimuth=this.relAzimuth,t.relElevation=this.relElevation,t.relRoll=this.relRoll,t.dollyingStep=this.dollyingStep,t.distance=this.distance}}]),r}();var Qxt,Jxt,tbt,hY,ebt,rbt,nbt,Ti;(function(r){r.ORBITING="ORBITING",r.EXPLORING="EXPLORING",r.TRACKING="TRACKING"})(Ti||(Ti={}));var xN;(function(r){r.DEFAULT="DEFAULT",r.ROTATIONAL="ROTATIONAL",r.TRANSLATIONAL="TRANSLATIONAL",r.CINEMATIC="CINEMATIC"})(xN||(xN={}));var tx;(function(r){r.ORTHOGRAPHIC="ORTHOGRAPHIC",r.PERSPECTIVE="PERSPECTIVE"})(tx||(tx={}));var qp=Math.PI/180,Tg=180/Math.PI,bN=(Qxt=(0,yN.injectable)(),Jxt=(0,yN.inject)(Qt.InteractorService),Qxt(tbt=(hY=(nbt=rbt=function(){function r(){se(this,r),this.matrix=_r.create(),this.right=Ft.fromValues(1,0,0),this.up=Ft.fromValues(0,1,0),this.forward=Ft.fromValues(0,0,1),this.position=Ft.fromValues(0,0,1),this.focalPoint=Ft.fromValues(0,0,0),this.distanceVector=Ft.fromValues(0,0,0),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.rotateWorld=!1,Ke(this,"interactor",ebt,this),this.fov=30,this.near=.1,this.far=1e4,this.aspect=1,this.left=void 0,this.rright=void 0,this.top=void 0,this.bottom=void 0,this.zoom=1,this.perspective=_r.create(),this.view=void 0,this.following=void 0,this.type=Ti.EXPLORING,this.trackingMode=xN.DEFAULT,this.projectionMode=tx.PERSPECTIVE,this.frustum=new Yyt,this.landmarks=[],this.landmarkAnimationID=void 0}return be(r,[{key:"clone",value:function(){var t=new r;return t.setType(this.type,void 0),t.interactor=this.interactor,t}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.perspective}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"setType",value:function(t,n){return this.type=t,this.type===Ti.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Ti.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==Ti.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){this.rotateWorld=t,this._getAngles()}},{key:"getViewTransform",value:function(){return _r.invert(_r.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setViewOffset",value:function(t,n,i,a,o,s){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=o,this.view.height=s,this.projectionMode===tx.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===tx.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setPerspective",value:function(t,n,i,a){return this.projectionMode=tx.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a,_r.perspective(this.perspective,this.fov*qp,this.aspect,this.near,this.far),this}},{key:"setOrthographic",value:function(t,n,i,a,o,s){this.projectionMode=tx.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=o,this.far=s;var l=(this.rright-this.left)/(2*this.zoom),u=(this.top-this.bottom)/(2*this.zoom),f=(this.rright+this.left)/2,c=(this.top+this.bottom)/2,h=f-l,d=f+l,p=c+u,v=c-u;if(this.view!==void 0&&this.view.enabled){var m=(this.rright-this.left)/this.view.fullWidth/this.zoom,g=(this.top-this.bottom)/this.view.fullHeight/this.zoom;h+=m*this.view.offsetX,d=h+m*this.view.width,p-=g*this.view.offsetY,v=p-g*this.view.height}return _r.ortho(this.perspective,h,d,p,v,o,s),this}},{key:"setPosition",value:function(t,n,i){return this._setPosition(t,n,i),this.setFocalPoint(this.focalPoint),this}},{key:"setFocalPoint",value:function(t,n,i){var a=Ft.fromValues(0,1,0);if(this.focalPoint=Mg(t,n,i),this.trackingMode===xN.CINEMATIC){var o=Ft.subtract(Ft.create(),this.focalPoint,this.position);t=o[0],n=o[1],i=o[2];var s=Ft.length(o),l=Math.asin(n/s)*Tg,u=90+Math.atan2(i,t)*Tg,f=_r.create();_r.rotateY(f,f,u*qp),_r.rotateX(f,f,l*qp),a=Ft.transformMat4(Ft.create(),[0,1,0],f)}return _r.invert(this.matrix,_r.lookAt(_r.create(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this}},{key:"setDistance",value:function(t){if(!(this.distance===t||t<0)){this.distance=t,this.distance<2e-4&&(this.distance=2e-4),this.dollyingStep=this.distance/100;var n=Ft.create();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this}}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"changeAzimuth",value:function(t){return this.setAzimuth(this.azimuth+t),this}},{key:"changeElevation",value:function(t){return this.setElevation(this.elevation+t),this}},{key:"changeRoll",value:function(t){return this.setRoll(this.roll+t),this}},{key:"setAzimuth",value:function(t){return this.azimuth=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"setRoll",value:function(t){return this.roll=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"rotate",value:function(t,n,i){if(this.type===Ti.EXPLORING){t=sd(t),n=sd(n),i=sd(i);var a=Nr.setAxisAngle(Nr.create(),[1,0,0],(this.rotateWorld?1:-1)*n*qp),o=Nr.setAxisAngle(Nr.create(),[0,1,0],(this.rotateWorld?1:-1)*t*qp),s=Nr.setAxisAngle(Nr.create(),[0,0,1],i*qp),l=Nr.multiply(Nr.create(),o,a);l=Nr.multiply(Nr.create(),l,s);var u=_r.fromQuat(_r.create(),l);_r.translate(this.matrix,this.matrix,[0,0,-this.distance]),_r.multiply(this.matrix,this.matrix,u),_r.translate(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation+n)>90)return;this.relElevation=sd(n),this.relAzimuth=sd(t),this.relRoll=sd(i),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.computeMatrix()}return this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(t,n){var i=Mg(t,n,0),a=Ft.clone(this.position);return Ft.add(a,a,Ft.scale(Ft.create(),this.right,i[0])),Ft.add(a,a,Ft.scale(Ft.create(),this.up,i[1])),this._setPosition(a),this}},{key:"dolly",value:function(t){var n=this.forward,i=Ft.clone(this.position),a=t*this.dollyingStep,o=this.distance+t*this.dollyingStep;return a=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,i[0]+=a*n[0],i[1]+=a*n[1],i[2]+=a*n[2],this._setPosition(i),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getDistance():this.type===Ti.TRACKING&&Ft.add(this.focalPoint,i,this.distanceVector),this}},{key:"createLandmark",value:function(t,n){var i=this.clone();i.setPosition(n.position),i.setFocalPoint(n.focalPoint),n.roll!==void 0&&i.setRoll(n.roll);var a=new cY(t,i);return this.landmarks.push(a),a}},{key:"setLandmark",value:function(t){var n=new cY(t,this);return this.landmarks.push(n),this}},{key:"gotoLandmark",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e3,a=this.landmarks.find(function(c){return c.name===t});if(a){if(i===0){a.retrieve(this);return}this.landmarkAnimationID!==void 0&&window.cancelAnimationFrame(this.landmarkAnimationID),this.interactor.disconnect();var o=a.getPosition(),s=a.getFocalPoint(),l=a.getRoll(),u,f=function c(h){u===void 0&&(u=h);var d=h-u,p=(1-Math.cos(d/i*Math.PI))/2,v=Ft.create(),m=Ft.create(),g=0;Ft.lerp(v,n.focalPoint,s,p),Ft.lerp(m,n.position,o,p),g=n.roll*(1-p)+l*p,n.setFocalPoint(v),n.setPosition(m),n.setRoll(g),n.computeMatrix();var x=Ft.dist(v,s)+Ft.dist(m,o);if(!(x>.01)){n.setFocalPoint(v),n.setPosition(m),n.setRoll(g),n.computeMatrix(),n.interactor.connect();return}d-1&&r%1==0&&r<=Uue}function mfe(r){return!!r&&hs(r)==="object"}var CN=pfe;var cbt,hbt,dbt,pbt,wN,vbt,mbt,gbt;function ybt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function xbt(r){for(var e=1;e0&&s[0]!==void 0?s[0]:1,!this.dirty){u.next=6;break}return this.compiledBundle.context&&(a>1?this.compiledBundle.context.maxIteration=a:this.compiledBundle.context.maxIteration++),u.next=5,this.compile();case 5:this.dirty=!1;case 6:for(this.engine.beginFrame(),this.engine.clear({}),this.compiledBundle.context&&this.compiledBundle.context.uniforms.filter(function(f){var c=f.isReferer;return c}).forEach(function(f){var c=f.data,h=f.name;i.model.confirmInput(c.model,h)}),o=0;o-1&&r%1==0&&r<=gfe}function Yfe(r){return!!r&&hs(r)==="object"}var WM=Vfe;function Kbt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Zbt(r){for(var e=1;e-1)return"";var c=a.rawContentCache[f][i];n.push(f);var h=a.processModule(c||"",n,i),d=h.content;return d});return{content:o,includeList:n}}}]),r}(),ibt))||nbt);var wc=new vY.Container,nPr=(0,lbt.default)(wc,!1);wc.bind(Qt.ShaderModuleService).to(sbt).inSingletonScope();wc.bind(Qt.NameComponentManager).toConstantValue(new jp(Vxt));wc.bind(Qt.HierarchyComponentManager).toConstantValue(new jp(uY));wc.bind(Qt.TransformComponentManager).toConstantValue(new jp(xN));wc.bind(Qt.MeshComponentManager).toConstantValue(new jp(tY));wc.bind(Qt.CullableComponentManager).toConstantValue(new jp(JH));wc.bind(Qt.GeometryComponentManager).toConstantValue(new jp(YH));wc.bind(Qt.MaterialComponentManager).toConstantValue(new jp(KH));function mY(){var r=new vY.Container;return r.parent=wc,r.bind(Qt.Systems).to(cY).inSingletonScope().whenTargetNamed(Qt.SceneGraphSystem),r.bind(Qt.Systems).to(VH).inSingletonScope().whenTargetNamed(Qt.FrameGraphSystem),r.bind(Qt.Systems).to(rY).inSingletonScope().whenTargetNamed(Qt.MeshSystem),r.bind(Qt.Systems).to(qH).inSingletonScope().whenTargetNamed(Qt.GeometrySystem),r.bind(Qt.Systems).to($H).inSingletonScope().whenTargetNamed(Qt.MaterialSystem),r.bind(Qt.Systems).to(lY).inSingletonScope().whenTargetNamed(Qt.RendererSystem),r.bind(Qt.ResourcePool).to(Wxt).inSingletonScope(),r.bind(Qt.ConfigService).to(Kxt).inSingletonScope(),r.bind(Qt.InteractorService).to(tbt).inSingletonScope(),r.bind(Qt.RenderPass).to(ad).inSingletonScope().whenTargetNamed(ad.IDENTIFIER),r.bind(Qt.RenderPass).to(uS).inSingletonScope().whenTargetNamed(uS.IDENTIFIER),r.bind(Qt.RenderPass).to(lS).inSingletonScope().whenTargetNamed(lS.IDENTIFIER),r.bind(Qt.RenderPassFactory).toFactory(function(e){return function(t){return e.container.getNamed(Qt.RenderPass,t)}}),r}function nx(r){for(var e=new oS,t=Ft.fromValues(r[0],r[1],r[2]),n=Ft.fromValues(r[0],r[1],r[2]),i=3;in[0]&&(n[0]=a),o>n[1]&&(n[1]=o),s>n[2]&&(n[2]=s)}return e.setMinMax(t,n),e}var Do=typeof navigator!="undefined"&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);var SPr=Ft.create();var MPr=Ft.create(),TPr=Ft.create(),IPr=Ft.create(),LPr=Ft.create(),OPr=Ft.create();var ubt;(function(r){r.Normal="normal",r.PostProcessing="post-processing"})(ubt||(ubt={}));var od;(function(r){r.Void="Void",r.Boolean="Boolean",r.Float="Float",r.Uint32="Uint32",r.Int32="Int32",r.Vector="Vector",r.Vector2Float="vec2",r.Vector3Float="vec3",r.Vector4Float="vec4",r.Vector2Boolean="vec2",r.Vector3Boolean="vec3",r.Vector4Boolean="vec4",r.Vector2Uint="vec2",r.Vector3Uint="vec3",r.Vector4Uint="vec4",r.Vector2Int="vec2",r.Vector3Int="vec3",r.Vector4Int="vec4",r.Matrix="Matrix",r.Matrix3x3Float="mat3x3",r.Matrix4x4Float="mat4x4",r.Struct="Struct",r.FloatArray="Float[]",r.Vector4FloatArray="vec4[]"})(od||(od={}));var fbt;(function(r){r.Program="Program",r.Identifier="Identifier",r.VariableDeclaration="VariableDeclaration",r.BlockStatement="BlockStatement",r.ReturnStatement="ReturnStatement",r.FunctionDeclaration="FunctionDeclaration",r.VariableDeclarator="VariableDeclarator",r.AssignmentExpression="AssignmentExpression",r.LogicalExpression="LogicalExpression",r.BinaryExpression="BinaryExpression",r.ArrayExpression="ArrayExpression",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.FunctionExpression="FunctionExpression",r.MemberExpression="MemberExpression",r.ConditionalExpression="ConditionalExpression",r.ExpressionStatement="ExpressionStatement",r.CallExpression="CallExpression",r.NumThreadStatement="NumThreadStatement",r.StorageStatement="StorageStatement",r.DoWhileStatement="DoWhileStatement",r.WhileStatement="WhileStatement",r.ForStatement="ForStatement",r.BreakStatement="BreakStatement",r.ContinueStatement="ContinueStatement",r.IfStatement="IfStatement",r.ImportedFunctionStatement="ImportedFunctionStatement"})(fbt||(fbt={}));var Ec;(function(r){r.Input="Input",r.Output="Output",r.Uniform="Uniform",r.Workgroup="Workgroup",r.UniformConstant="UniformConstant",r.Image="Image",r.StorageBuffer="StorageBuffer",r.Private="Private",r.Function="Function"})(Ec||(Ec={}));var dS;(function(r){r.GLSL100="GLSL100",r.GLSL450="GLSL450",r.WGSL="WGSL"})(dS||(dS={}));var cbt="__DefineValuePlaceholder__";var CN=z(Zn());function pS(r){return typeof r=="number"}function sd(r){return r===void 0?0:r>360||r<-360?r%360:r}function Ig(r,e,t){return pS(r)?Ft.fromValues(r,e,t):r.length===3?Ft.clone(r):Ft.fromValues(r[0],r[1],r[2])}var gY=function(){function r(e,t){se(this,r),this.name=void 0,this.matrix=void 0,this.right=void 0,this.up=void 0,this.forward=void 0,this.position=void 0,this.focalPoint=void 0,this.distanceVector=void 0,this.distance=void 0,this.dollyingStep=void 0,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.name=e,this.matrix=_r.clone(t.matrix),this.right=Ft.clone(t.right),this.up=Ft.clone(t.up),this.forward=Ft.clone(t.forward),this.position=Ft.clone(t.position),this.focalPoint=Ft.clone(t.focalPoint),this.distanceVector=Ft.clone(t.distanceVector),this.azimuth=t.azimuth,this.elevation=t.elevation,this.roll=t.roll,this.relAzimuth=t.relAzimuth,this.relElevation=t.relElevation,this.relRoll=t.relRoll,this.dollyingStep=t.dollyingStep,this.distance=t.distance}return be(r,[{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getRoll",value:function(){return this.roll}},{key:"retrieve",value:function(t){t.matrix=_r.copy(t.matrix,this.matrix),t.right=Ft.copy(t.right,this.right),t.up=Ft.copy(t.up,this.up),t.forward=Ft.copy(t.forward,this.forward),t.position=Ft.copy(t.position,this.position),t.focalPoint=Ft.copy(t.focalPoint,this.focalPoint),t.distanceVector=Ft.copy(t.distanceVector,this.distanceVector),t.azimuth=this.azimuth,t.elevation=this.elevation,t.roll=this.roll,t.relAzimuth=this.relAzimuth,t.relElevation=this.relElevation,t.relRoll=this.relRoll,t.dollyingStep=this.dollyingStep,t.distance=this.distance}}]),r}();var hbt,dbt,pbt,yY,vbt,mbt,gbt,Ti;(function(r){r.ORBITING="ORBITING",r.EXPLORING="EXPLORING",r.TRACKING="TRACKING"})(Ti||(Ti={}));var wN;(function(r){r.DEFAULT="DEFAULT",r.ROTATIONAL="ROTATIONAL",r.TRANSLATIONAL="TRANSLATIONAL",r.CINEMATIC="CINEMATIC"})(wN||(wN={}));var ix;(function(r){r.ORTHOGRAPHIC="ORTHOGRAPHIC",r.PERSPECTIVE="PERSPECTIVE"})(ix||(ix={}));var Zp=Math.PI/180,Lg=180/Math.PI,EN=(hbt=(0,CN.injectable)(),dbt=(0,CN.inject)(Qt.InteractorService),hbt(pbt=(yY=(gbt=mbt=function(){function r(){se(this,r),this.matrix=_r.create(),this.right=Ft.fromValues(1,0,0),this.up=Ft.fromValues(0,1,0),this.forward=Ft.fromValues(0,0,1),this.position=Ft.fromValues(0,0,1),this.focalPoint=Ft.fromValues(0,0,0),this.distanceVector=Ft.fromValues(0,0,0),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.rotateWorld=!1,Ke(this,"interactor",vbt,this),this.fov=30,this.near=.1,this.far=1e4,this.aspect=1,this.left=void 0,this.rright=void 0,this.top=void 0,this.bottom=void 0,this.zoom=1,this.perspective=_r.create(),this.view=void 0,this.following=void 0,this.type=Ti.EXPLORING,this.trackingMode=wN.DEFAULT,this.projectionMode=ix.PERSPECTIVE,this.frustum=new o0t,this.landmarks=[],this.landmarkAnimationID=void 0}return be(r,[{key:"clone",value:function(){var t=new r;return t.setType(this.type,void 0),t.interactor=this.interactor,t}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.perspective}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"setType",value:function(t,n){return this.type=t,this.type===Ti.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Ti.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==Ti.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){this.rotateWorld=t,this._getAngles()}},{key:"getViewTransform",value:function(){return _r.invert(_r.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setViewOffset",value:function(t,n,i,a,o,s){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=o,this.view.height=s,this.projectionMode===ix.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===ix.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setPerspective",value:function(t,n,i,a){return this.projectionMode=ix.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a,_r.perspective(this.perspective,this.fov*Zp,this.aspect,this.near,this.far),this}},{key:"setOrthographic",value:function(t,n,i,a,o,s){this.projectionMode=ix.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=o,this.far=s;var l=(this.rright-this.left)/(2*this.zoom),u=(this.top-this.bottom)/(2*this.zoom),f=(this.rright+this.left)/2,c=(this.top+this.bottom)/2,h=f-l,d=f+l,p=c+u,v=c-u;if(this.view!==void 0&&this.view.enabled){var m=(this.rright-this.left)/this.view.fullWidth/this.zoom,g=(this.top-this.bottom)/this.view.fullHeight/this.zoom;h+=m*this.view.offsetX,d=h+m*this.view.width,p-=g*this.view.offsetY,v=p-g*this.view.height}return _r.ortho(this.perspective,h,d,p,v,o,s),this}},{key:"setPosition",value:function(t,n,i){return this._setPosition(t,n,i),this.setFocalPoint(this.focalPoint),this}},{key:"setFocalPoint",value:function(t,n,i){var a=Ft.fromValues(0,1,0);if(this.focalPoint=Ig(t,n,i),this.trackingMode===wN.CINEMATIC){var o=Ft.subtract(Ft.create(),this.focalPoint,this.position);t=o[0],n=o[1],i=o[2];var s=Ft.length(o),l=Math.asin(n/s)*Lg,u=90+Math.atan2(i,t)*Lg,f=_r.create();_r.rotateY(f,f,u*Zp),_r.rotateX(f,f,l*Zp),a=Ft.transformMat4(Ft.create(),[0,1,0],f)}return _r.invert(this.matrix,_r.lookAt(_r.create(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this}},{key:"setDistance",value:function(t){if(!(this.distance===t||t<0)){this.distance=t,this.distance<2e-4&&(this.distance=2e-4),this.dollyingStep=this.distance/100;var n=Ft.create();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this}}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"changeAzimuth",value:function(t){return this.setAzimuth(this.azimuth+t),this}},{key:"changeElevation",value:function(t){return this.setElevation(this.elevation+t),this}},{key:"changeRoll",value:function(t){return this.setRoll(this.roll+t),this}},{key:"setAzimuth",value:function(t){return this.azimuth=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"setRoll",value:function(t){return this.roll=sd(t),this.computeMatrix(),this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this}},{key:"rotate",value:function(t,n,i){if(this.type===Ti.EXPLORING){t=sd(t),n=sd(n),i=sd(i);var a=Nr.setAxisAngle(Nr.create(),[1,0,0],(this.rotateWorld?1:-1)*n*Zp),o=Nr.setAxisAngle(Nr.create(),[0,1,0],(this.rotateWorld?1:-1)*t*Zp),s=Nr.setAxisAngle(Nr.create(),[0,0,1],i*Zp),l=Nr.multiply(Nr.create(),o,a);l=Nr.multiply(Nr.create(),l,s);var u=_r.fromQuat(_r.create(),l);_r.translate(this.matrix,this.matrix,[0,0,-this.distance]),_r.multiply(this.matrix,this.matrix,u),_r.translate(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation+n)>90)return;this.relElevation=sd(n),this.relAzimuth=sd(t),this.relRoll=sd(i),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.computeMatrix()}return this._getAxes(),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getPosition():this.type===Ti.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(t,n){var i=Ig(t,n,0),a=Ft.clone(this.position);return Ft.add(a,a,Ft.scale(Ft.create(),this.right,i[0])),Ft.add(a,a,Ft.scale(Ft.create(),this.up,i[1])),this._setPosition(a),this}},{key:"dolly",value:function(t){var n=this.forward,i=Ft.clone(this.position),a=t*this.dollyingStep,o=this.distance+t*this.dollyingStep;return a=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,i[0]+=a*n[0],i[1]+=a*n[1],i[2]+=a*n[2],this._setPosition(i),this.type===Ti.ORBITING||this.type===Ti.EXPLORING?this._getDistance():this.type===Ti.TRACKING&&Ft.add(this.focalPoint,i,this.distanceVector),this}},{key:"createLandmark",value:function(t,n){var i=this.clone();i.setPosition(n.position),i.setFocalPoint(n.focalPoint),n.roll!==void 0&&i.setRoll(n.roll);var a=new gY(t,i);return this.landmarks.push(a),a}},{key:"setLandmark",value:function(t){var n=new gY(t,this);return this.landmarks.push(n),this}},{key:"gotoLandmark",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e3,a=this.landmarks.find(function(c){return c.name===t});if(a){if(i===0){a.retrieve(this);return}this.landmarkAnimationID!==void 0&&window.cancelAnimationFrame(this.landmarkAnimationID),this.interactor.disconnect();var o=a.getPosition(),s=a.getFocalPoint(),l=a.getRoll(),u,f=function c(h){u===void 0&&(u=h);var d=h-u,p=(1-Math.cos(d/i*Math.PI))/2,v=Ft.create(),m=Ft.create(),g=0;Ft.lerp(v,n.focalPoint,s,p),Ft.lerp(m,n.position,o,p),g=n.roll*(1-p)+l*p,n.setFocalPoint(v),n.setPosition(m),n.setRoll(g),n.computeMatrix();var x=Ft.dist(v,s)+Ft.dist(m,o);if(!(x>.01)){n.setFocalPoint(v),n.setPosition(m),n.setRoll(g),n.computeMatrix(),n.interactor.connect();return}d-1&&r%1==0&&r<=ufe}function Bfe(r){return!!r&&Va(r)==="object"}var TN=Nfe;var Ebt,Abt,Mbt,Tbt,IN,Ibt,Lbt,Obt;function Dbt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Pbt(r){for(var e=1;e0&&s[0]!==void 0?s[0]:1,!this.dirty){u.next=6;break}return this.compiledBundle.context&&(a>1?this.compiledBundle.context.maxIteration=a:this.compiledBundle.context.maxIteration++),u.next=5,this.compile();case 5:this.dirty=!1;case 6:for(this.engine.beginFrame(),this.engine.clear({}),this.compiledBundle.context&&this.compiledBundle.context.uniforms.filter(function(f){var c=f.isReferer;return c}).forEach(function(f){var c=f.data,h=f.name;i.model.confirmInput(c.model,h)}),o=0;o-1&&r%1==0&&r<=Gfe}function pce(r){return!!r&&Va(r)==="object"}var qM=hce;function u1t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function f1t(r){for(var e=1;e16)throw new Error("invalid data type ".concat(c));i[f]=function(){return u.data}}});var a=this.getOuputDataTexture(),o=a.textureWidth,s=a.texelCount;i.u_OutputTextureSize=[o,o],i.u_OutputTexelCount=s,this.context.output.textureSize=[o,o];var l={attributes:{a_Position:[[-1,1,0],[-1,-1,0],[1,1,0],[1,-1,0]],a_TexCoord:[[0,1],[0,0],[1,1],[1,0]]},frag:`#ifdef GL_FRAGMENT_PRECISION_HIGH +}`,c1t=0,NN=!1,h1t=function(){function r(e,t){var n=this;se(this,r),this.reGl=e,this.context=t,this.entity=ds(),this.texFBO=void 0,this.computeCommand=void 0,this.textureCache={},this.outputTextureName=void 0,this.swapOutputTextureName=void 0,this.compiledPingpong=void 0,this.dynamicPingpong=void 0;var i={};this.context.uniforms.forEach(function(u){var f=u.name,c=u.type,h=u.data,d=u.isReferer,p=u.storageClass;if(p===Ec.StorageBuffer){if(d)n.textureCache[f]={data:void 0},i["".concat(f,"Size")]=function(){return h.compiledBundle.context.output.textureSize};else{n.textureCache[f]=n.calcDataTexture(f,c,h);var v=n.textureCache[f],m=v.textureWidth,g=v.isOutput;i["".concat(f,"Size")]=[m,m],g&&(n.outputTextureName=f,n.context.needPingpong&&(n.outputTextureName="".concat(f,"Output"),n.textureCache[n.outputTextureName]=n.calcDataTexture(f,c,h)))}i[f]=function(){return NN&&console.log("[".concat(n.entity,"]: ").concat(f," ").concat(n.textureCache[f].id)),n.textureCache[f].texture}}else if(p===Ec.Uniform){if(h&&(Array.isArray(h)||qM(h))&&h.length>16)throw new Error("invalid data type ".concat(c));i[f]=function(){return u.data}}});var a=this.getOuputDataTexture(),o=a.textureWidth,s=a.texelCount;i.u_OutputTextureSize=[o,o],i.u_OutputTexelCount=s,this.context.output.textureSize=[o,o];var l={attributes:{a_Position:[[-1,1,0],[-1,-1,0],[1,1,0],[1,-1,0]],a_TexCoord:[[0,1],[0,0],[1,1],[1,0]]},frag:`#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif -`.concat(this.context.shader),uniforms:i,vert:Xfe,primitive:"triangle strip",count:4};this.computeCommand=this.reGl(l)}return be(r,[{key:"run",value:function(){var t=this;this.context.maxIteration>1&&this.context.needPingpong&&(this.compiledPingpong=!0),(this.compiledPingpong||this.dynamicPingpong)&&this.swap(),this.texFBO=this.reGl.framebuffer({color:this.getOuputDataTexture().texture}),this.texFBO.use(function(){t.computeCommand()}),ON&&console.log("[".concat(this.entity,"]: output ").concat(this.getOuputDataTexture().id))}},{key:"readData",value:function(){var e=Fr(CY.default.mark(function n(){var i=this,a,o,s,l,u,f,c,h;return CY.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.reGl({framebuffer:this.texFBO})(function(){a=i.reGl.read()}),!a){p.next=6;break}if(o=this.getOuputDataTexture(),s=o.originalDataLength,l=o.elementsPerTexel,u=o.typedArrayConstructor,f=u===void 0?Float32Array:u,c=[],l!==4)for(h=0;h2&&arguments[2]!==void 0?arguments[2]:0,a=this.context.uniforms.find(function(u){var f=u.name;return f===t});if(a){var o=this.calcDataTexture(t,a.type,n),s=o.texture,l=o.data;this.textureCache[t].data=l,this.textureCache[t].texture=s}}},{key:"destroy",value:function(){}},{key:"swap",value:function(){if(this.swapOutputTextureName||this.createSwapOutputDataTexture(),this.compiledPingpong){var t=this.context.output.name;this.textureCache[t].id=this.getOuputDataTexture().id,this.textureCache[t].texture=this.getOuputDataTexture().texture}var n=this.outputTextureName;this.outputTextureName=this.swapOutputTextureName,this.swapOutputTextureName=n,ON&&console.log("[".concat(this.entity,"]: after swap, output ").concat(this.getOuputDataTexture().id))}},{key:"getOuputDataTexture",value:function(){return this.textureCache[this.outputTextureName]}},{key:"createSwapOutputDataTexture",value:function(){var t=this.cloneDataTexture(this.getOuputDataTexture());this.swapOutputTextureName="".concat(this.entity,"-swap"),this.textureCache[this.swapOutputTextureName]=t}},{key:"cloneDataTexture",value:function(t){var n=t.data,i=t.textureWidth;return Zbt(Zbt({},t),{},{id:$bt++,texture:this.reGl.texture({width:i,height:i,data:n,type:"float"})})}},{key:"calcDataTexture",value:function(t,n,i){var a=1;n===od.Vector4FloatArray&&(a=4);for(var o=[],s=0;s1&&this.context.needPingpong&&(this.compiledPingpong=!0),(this.compiledPingpong||this.dynamicPingpong)&&this.swap(),this.texFBO=this.reGl.framebuffer({color:this.getOuputDataTexture().texture}),this.texFBO.use(function(){t.computeCommand()}),NN&&console.log("[".concat(this.entity,"]: output ").concat(this.getOuputDataTexture().id))}},{key:"readData",value:function(){var e=Fr(IY.default.mark(function n(){var i=this,a,o,s,l,u,f,c,h;return IY.default.wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.reGl({framebuffer:this.texFBO})(function(){a=i.reGl.read()}),!a){p.next=6;break}if(o=this.getOuputDataTexture(),s=o.originalDataLength,l=o.elementsPerTexel,u=o.typedArrayConstructor,f=u===void 0?Float32Array:u,c=[],l!==4)for(h=0;h2&&arguments[2]!==void 0?arguments[2]:0,a=this.context.uniforms.find(function(u){var f=u.name;return f===t});if(a){var o=this.calcDataTexture(t,a.type,n),s=o.texture,l=o.data;this.textureCache[t].data=l,this.textureCache[t].texture=s}}},{key:"destroy",value:function(){}},{key:"swap",value:function(){if(this.swapOutputTextureName||this.createSwapOutputDataTexture(),this.compiledPingpong){var t=this.context.output.name;this.textureCache[t].id=this.getOuputDataTexture().id,this.textureCache[t].texture=this.getOuputDataTexture().texture}var n=this.outputTextureName;this.outputTextureName=this.swapOutputTextureName,this.swapOutputTextureName=n,NN&&console.log("[".concat(this.entity,"]: after swap, output ").concat(this.getOuputDataTexture().id))}},{key:"getOuputDataTexture",value:function(){return this.textureCache[this.outputTextureName]}},{key:"createSwapOutputDataTexture",value:function(){var t=this.cloneDataTexture(this.getOuputDataTexture());this.swapOutputTextureName="".concat(this.entity,"-swap"),this.textureCache[this.swapOutputTextureName]=t}},{key:"cloneDataTexture",value:function(t){var n=t.data,i=t.textureWidth;return f1t(f1t({},t),{},{id:c1t++,texture:this.reGl.texture({width:i,height:i,data:n,type:"float"})})}},{key:"calcDataTexture",value:function(t,n,i){var a=1;n===od.Vector4FloatArray&&(a=4);for(var o=[],s=0;s0){var x=4-g;if(m>1&&m<=x)m===2&&(x===3&&(f+=4,c.push(0)),c.push.apply(c,Ui(p.data)),i.uniformGPUBufferLayout.push({name:p.name,offset:f}));else{for(var b=0;b2&&arguments[2]!==void 0?arguments[2]:0,a=this.vertexBuffers[t];a&&a.subData({data:n,offset:i})}},{key:"updateUniform",value:function(t,n){var i=this.uniformGPUBufferLayout.find(function(a){return a.name===t});i&&this.uniformBuffer.subData({data:Number.isFinite(n)?new Float32Array([n]):new Float32Array(n),offset:i.offset})}},{key:"confirmInput",value:function(t,n){var i=this.vertexBuffers[n],a=t.outputBuffer;if(i&&a&&i!==a){var o=this.engine.device.createCommandEncoder(),s=t.context.output,l=s.length,u=s.typedArrayConstructor,f=l*u.BYTES_PER_ELEMENT;o.copyBufferToBuffer(a.get(),0,i.get(),0,f);var c=Lo?this.engine.device.getQueue():this.engine.device.defaultQueue;c.submit([o.finish()])}}},{key:"compileShaderToSpirV",value:function(t,n,i){return this.compileRawShaderToSpirV(i+t,n)}},{key:"compileRawShaderToSpirV",value:function(t,n){return this.engine.glslang.compileGLSL(t,n)}},{key:"compileComputePipelineStageDescriptor",value:function(){var e=Fr(ax.default.mark(function n(i){var a,o;return ax.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(a=i,o=`#version 450 -`,this.engine.options.useWGSL){l.next=6;break}return l.next=5,this.compileShaderToSpirV(i,"compute",o);case 5:a=l.sent;case 6:return l.abrupt("return",{computeStage:{module:this.engine.device.createShaderModule({code:a,isWHLSL:Lo}),entryPoint:"main"}});case 7:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()}]),r}();var IY=U(Ac());var v1t=function(){function r(e,t){se(this,r),this.engine=e,this.options=t,this.indexCount=void 0,this.buffer=void 0;var n=t,i=n.data,a=n.usage,o=n.type,s=n.count;this.indexCount=s||0,this.buffer=new cd(e,{data:i instanceof Array?new Uint16Array(i):i,usage:IY.BufferUsage.Index|IY.BufferUsage.CopyDst})}return be(r,[{key:"get",value:function(){return this.buffer}},{key:"subData",value:function(t){this.buffer.subData(t)}},{key:"destroy",value:function(){this.buffer.destroy()}}]),r}();var m1t=function(){function r(e,t){se(this,r),this.engine=e,this.options=t,this.colorTexture=void 0,this.depthTexture=void 0,this.width=0,this.height=0;var n=t,i=n.width,a=n.height,o=n.color,s=n.colors,l=n.depth,u=n.stencil;o&&(this.colorTexture=o),l&&(this.depthTexture=l)}return be(r,[{key:"get",value:function(){var t,n;return{color:(t=this.colorTexture)===null||t===void 0?void 0:t.get(),depth:(n=this.depthTexture)===null||n===void 0?void 0:n.get()}}},{key:"destroy",value:function(){var t,n;(t=this.colorTexture)===null||t===void 0||t.destroy(),(n=this.depthTexture)===null||n===void 0||n.destroy()}},{key:"resize",value:function(t){var n=t.width,i=t.height;if(n!==this.width||i!==this.height){var a,o;(a=this.colorTexture)===null||a===void 0||a.resize({width:n,height:i}),(o=this.depthTexture)===null||o===void 0||o.resize({width:n,height:i})}this.width=n,this.height=i}}]),r}();var HM=U(Ka());var Zo=U(Ac());var tn=U(Ac()),Jp,hd,ox,il,vS,PN,VM,g1t=(Jp={},qt(Jp,Mt.POINTS,tn.PrimitiveTopology.PointList),qt(Jp,Mt.LINES,tn.PrimitiveTopology.LineList),qt(Jp,Mt.LINE_LOOP,tn.PrimitiveTopology.LineList),qt(Jp,Mt.LINE_STRIP,tn.PrimitiveTopology.LineStrip),qt(Jp,Mt.TRIANGLES,tn.PrimitiveTopology.TriangleList),qt(Jp,Mt.TRIANGLE_FAN,tn.PrimitiveTopology.TriangleList),qt(Jp,Mt.TRIANGLE_STRIP,tn.PrimitiveTopology.TriangleStrip),Jp),Zfe=(hd={},qt(hd,Mt.NEVER,tn.CompareFunction.Never),qt(hd,Mt.ALWAYS,tn.CompareFunction.Always),qt(hd,Mt.LESS,tn.CompareFunction.Less),qt(hd,Mt.LEQUAL,tn.CompareFunction.LessEqual),qt(hd,Mt.GREATER,tn.CompareFunction.Greater),qt(hd,Mt.GEQUAL,tn.CompareFunction.GreaterEqual),qt(hd,Mt.EQUAL,tn.CompareFunction.Equal),qt(hd,Mt.NOTEQUAL,tn.CompareFunction.NotEqual),hd),y1t=(ox={},qt(ox,Mt.FUNC_ADD,tn.BlendOperation.Add),qt(ox,Mt.MIN_EXT,tn.BlendOperation.Min),qt(ox,Mt.MAX_EXT,tn.BlendOperation.Max),qt(ox,Mt.FUNC_SUBTRACT,tn.BlendOperation.Subtract),qt(ox,Mt.FUNC_REVERSE_SUBTRACT,tn.BlendOperation.ReverseSubtract),ox),kN=(il={},qt(il,Mt.ZERO,tn.BlendFactor.Zero),qt(il,Mt.ONE,tn.BlendFactor.One),qt(il,Mt.SRC_COLOR,tn.BlendFactor.SrcColor),qt(il,Mt.ONE_MINUS_SRC_COLOR,tn.BlendFactor.OneMinusSrcColor),qt(il,Mt.SRC_ALPHA,tn.BlendFactor.SrcAlpha),qt(il,Mt.ONE_MINUS_SRC_ALPHA,tn.BlendFactor.OneMinusSrcAlpha),qt(il,Mt.DST_COLOR,tn.BlendFactor.DstColor),qt(il,Mt.ONE_MINUS_DST_COLOR,tn.BlendFactor.OneMinusDstColor),qt(il,Mt.DST_ALPHA,tn.BlendFactor.DstAlpha),qt(il,Mt.ONE_MINUS_DST_ALPHA,tn.BlendFactor.OneMinusDstAlpha),qt(il,Mt.CONSTANT_COLOR,tn.BlendFactor.BlendColor),qt(il,Mt.ONE_MINUS_CONSTANT_COLOR,tn.BlendFactor.OneMinusBlendColor),qt(il,Mt.SRC_ALPHA_SATURATE,tn.BlendFactor.SrcAlphaSaturated),il),x1t=(vS={},qt(vS,Mt.ALPHA,"r8unorm"),qt(vS,Mt.RGBA,"rgba8unorm"),qt(vS,Mt.DEPTH_COMPONENT,"depth32float"),qt(vS,Mt.DEPTH_STENCIL,"depth24plus-stencil8"),vS),LY=(PN={},qt(PN,Mt.NEAREST,"nearest"),qt(PN,Mt.LINEAR,"linear"),PN),RN=(VM={},qt(VM,Mt.REPEAT,"repeat"),qt(VM,Mt.CLAMP_TO_EDGE,"clamp-to-edge"),qt(VM,Mt.MIRRORED_REPEAT,"mirror-repeat"),VM);function b1t(r){var e=r.cull;if(!e||!e.enable)return tn.CullMode.None;if(e.face)return e.face===Mt.FRONT?tn.CullMode.Front:tn.CullMode.Back}function _1t(r){var e=r.depth,t=r.stencil,n={compare:tn.CompareFunction.Always,depthFailOp:tn.StencilOperation.Keep,failOp:tn.StencilOperation.Keep,passOp:tn.StencilOperation.Keep};return{depthWriteEnabled:e&&e.enable,depthCompare:Zfe[(e==null?void 0:e.func)||Mt.ALWAYS],format:tn.TextureFormat.Depth24PlusStencil8,stencilFront:n,stencilBack:n,stencilReadMask:4294967295,stencilWriteMask:4294967295}}function S1t(r,e){var t=r.blend;return[{format:e,alphaBlend:{srcFactor:kN[t&&t.func&&t.func.srcAlpha||Mt.ONE],dstFactor:kN[t&&t.func&&t.func.dstAlpha||Mt.ZERO],operation:y1t[t&&t.equation&&t.equation.alpha||Mt.FUNC_ADD]},colorBlend:{srcFactor:kN[t&&t.func&&t.func.srcRGB||Mt.ONE],dstFactor:kN[t&&t.func&&t.func.dstRGB||Mt.ZERO],operation:y1t[t&&t.equation&&t.equation.rgb||Mt.FUNC_ADD]},writeMask:tn.ColorWrite.All}]}function C1t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function mS(r){for(var e=1;e1?t-1:0),i=1;i3&&arguments[3]!==void 0?arguments[3]:!1,l=(a=t.get().color)===null||a===void 0?void 0:a.texture,u;l&&(u=l.createView(this.currentRenderTargetViewDescriptor));var f=(o=t.get().depth)===null||o===void 0?void 0:o.texture,c;f&&(c=f.createView());var h=this.renderTargetEncoder.beginRenderPass({colorAttachments:[{attachment:u,loadValue:n!==null?n:Ii.LoadOp.Load,storeOp:Ii.StoreOp.Store}],depthStencilAttachment:f&&c?{attachment:c,depthLoadValue:i?this.clearDepthValue:Ii.LoadOp.Load,depthStoreOp:Ii.StoreOp.Store,stencilLoadValue:s?this.clearStencilValue:Ii.LoadOp.Load,stencilStoreOp:Ii.StoreOp.Store}:void 0});this.currentRenderPass=h,this.cachedViewport&&this.viewport(this.cachedViewport)}},{key:"endMainRenderPass",value:function(){this.currentRenderPass===this.mainRenderPass&&this.currentRenderPass!==null&&(this.currentRenderPass.endPass(),this.resetCachedViewport(),this.currentRenderPass=null,this.mainRenderPass=null)}},{key:"endComputePass",value:function(){this.currentComputePass&&(this.currentComputePass.endPass(),this.currentComputePass=null)}},{key:"endRenderTargetRenderPass",value:function(){this.currentRenderPass&&(this.currentRenderPass.endPass(),this.resetCachedViewport())}},{key:"resetCachedViewport",value:function(){this.cachedViewport={x:0,y:0,width:0,height:0}}},{key:"unbindFramebuffer",value:function(t){this.currentRenderPass&&this.currentRenderPass!==this.mainRenderPass&&this.endRenderTargetRenderPass(),this.transientViewport.x=1/0,this.currentRenderTarget=null,this.currentRenderPass=this.mainRenderPass}}]),r}(),T1t))||M1t);var ewt=U(Ac()),jN=U(Zn());var D1t=U(Zn());var L1t,O1t;function Qfe(r){var e=Jfe();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function Jfe(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var DY=4/64,P1t=1-DY*2,k1t=(L1t=(0,D1t.injectable)(),L1t(O1t=function(r){ui(t,r);var e=Qfe(t);function t(){return se(this,t),e.apply(this,arguments)}return be(t,[{key:"onEntityCreated",value:function(){var i=this.config,a=i.widthSegments,o=a===void 0?1:a,s=i.heightSegments,l=s===void 0?1:s,u=i.depthSegments,f=u===void 0?1:u,c=i.halfExtents,h=c===void 0?Ft.fromValues(.5,.5,.5):c,d=o,p=l,v=f,m=Up(h,3),g=m[0],x=m[1],b=m[2],S=[Ft.fromValues(-g,-x,b),Ft.fromValues(g,-x,b),Ft.fromValues(g,x,b),Ft.fromValues(-g,x,b),Ft.fromValues(g,-x,-b),Ft.fromValues(-g,-x,-b),Ft.fromValues(-g,x,-b),Ft.fromValues(g,x,-b)],C=[[0,1,3],[4,5,7],[3,2,6],[1,0,4],[1,4,2],[5,0,6]],w=[[0,0,1],[0,0,-1],[0,1,0],[0,-1,0],[1,0,0],[-1,0,0]],A={FRONT:0,BACK:1,TOP:2,BOTTOM:3,RIGHT:4,LEFT:5},I=[],P=[],L=[],M=[],O=[],F=0,k=function(z,j,W){var J,et,lt,$;for(lt=0;lt<=j;lt++)for($=0;$<=W;$++){var st=Ft.create(),_t=Ft.create(),dt=Ft.create(),vt=Ft.create();Ft.lerp(st,S[C[z][0]],S[C[z][1]],lt/j),Ft.lerp(_t,S[C[z][0]],S[C[z][2]],$/W),Ft.sub(dt,_t,S[C[z][0]]),Ft.add(vt,st,dt),J=lt/j,et=$/W,I.push(vt[0],vt[1],vt[2]),P.push(w[z][0],w[z][1],w[z][2]),L.push(J,et),J/=3,et/=3,J=J*P1t+DY,et=et*P1t+DY,J+=z%3/3,et+=Math.floor(z/3)/3,M.push(J,et),lt0){var x=4-g;if(m>1&&m<=x)m===2&&(x===3&&(f+=4,c.push(0)),c.push.apply(c,Ui(p.data)),i.uniformGPUBufferLayout.push({name:p.name,offset:f}));else{for(var b=0;b2&&arguments[2]!==void 0?arguments[2]:0,a=this.vertexBuffers[t];a&&a.subData({data:n,offset:i})}},{key:"updateUniform",value:function(t,n){var i=this.uniformGPUBufferLayout.find(function(a){return a.name===t});i&&this.uniformBuffer.subData({data:Number.isFinite(n)?new Float32Array([n]):new Float32Array(n),offset:i.offset})}},{key:"confirmInput",value:function(t,n){var i=this.vertexBuffers[n],a=t.outputBuffer;if(i&&a&&i!==a){var o=this.engine.device.createCommandEncoder(),s=t.context.output,l=s.length,u=s.typedArrayConstructor,f=l*u.BYTES_PER_ELEMENT;o.copyBufferToBuffer(a.get(),0,i.get(),0,f);var c=Do?this.engine.device.getQueue():this.engine.device.defaultQueue;c.submit([o.finish()])}}},{key:"compileShaderToSpirV",value:function(t,n,i){return this.compileRawShaderToSpirV(i+t,n)}},{key:"compileRawShaderToSpirV",value:function(t,n){return this.engine.glslang.compileGLSL(t,n)}},{key:"compileComputePipelineStageDescriptor",value:function(){var e=Fr(ux.default.mark(function n(i){var a,o;return ux.default.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(a=i,o=`#version 450 +`,this.engine.options.useWGSL){l.next=6;break}return l.next=5,this.compileShaderToSpirV(i,"compute",o);case 5:a=l.sent;case 6:return l.abrupt("return",{computeStage:{module:this.engine.device.createShaderModule({code:a,isWHLSL:Do}),entryPoint:"main"}});case 7:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()}]),r}();var RY=z(Ac());var I1t=function(){function r(e,t){se(this,r),this.engine=e,this.options=t,this.indexCount=void 0,this.buffer=void 0;var n=t,i=n.data,a=n.usage,o=n.type,s=n.count;this.indexCount=s||0,this.buffer=new cd(e,{data:i instanceof Array?new Uint16Array(i):i,usage:RY.BufferUsage.Index|RY.BufferUsage.CopyDst})}return be(r,[{key:"get",value:function(){return this.buffer}},{key:"subData",value:function(t){this.buffer.subData(t)}},{key:"destroy",value:function(){this.buffer.destroy()}}]),r}();var L1t=function(){function r(e,t){se(this,r),this.engine=e,this.options=t,this.colorTexture=void 0,this.depthTexture=void 0,this.width=0,this.height=0;var n=t,i=n.width,a=n.height,o=n.color,s=n.colors,l=n.depth,u=n.stencil;o&&(this.colorTexture=o),l&&(this.depthTexture=l)}return be(r,[{key:"get",value:function(){var t,n;return{color:(t=this.colorTexture)===null||t===void 0?void 0:t.get(),depth:(n=this.depthTexture)===null||n===void 0?void 0:n.get()}}},{key:"destroy",value:function(){var t,n;(t=this.colorTexture)===null||t===void 0||t.destroy(),(n=this.depthTexture)===null||n===void 0||n.destroy()}},{key:"resize",value:function(t){var n=t.width,i=t.height;if(n!==this.width||i!==this.height){var a,o;(a=this.colorTexture)===null||a===void 0||a.resize({width:n,height:i}),(o=this.depthTexture)===null||o===void 0||o.resize({width:n,height:i})}this.width=n,this.height=i}}]),r}();var ZM=z($a());var Qo=z(Ac());var tn=z(Ac()),ev,hd,fx,il,yS,BN,KM,O1t=(ev={},qt(ev,Mt.POINTS,tn.PrimitiveTopology.PointList),qt(ev,Mt.LINES,tn.PrimitiveTopology.LineList),qt(ev,Mt.LINE_LOOP,tn.PrimitiveTopology.LineList),qt(ev,Mt.LINE_STRIP,tn.PrimitiveTopology.LineStrip),qt(ev,Mt.TRIANGLES,tn.PrimitiveTopology.TriangleList),qt(ev,Mt.TRIANGLE_FAN,tn.PrimitiveTopology.TriangleList),qt(ev,Mt.TRIANGLE_STRIP,tn.PrimitiveTopology.TriangleStrip),ev),yce=(hd={},qt(hd,Mt.NEVER,tn.CompareFunction.Never),qt(hd,Mt.ALWAYS,tn.CompareFunction.Always),qt(hd,Mt.LESS,tn.CompareFunction.Less),qt(hd,Mt.LEQUAL,tn.CompareFunction.LessEqual),qt(hd,Mt.GREATER,tn.CompareFunction.Greater),qt(hd,Mt.GEQUAL,tn.CompareFunction.GreaterEqual),qt(hd,Mt.EQUAL,tn.CompareFunction.Equal),qt(hd,Mt.NOTEQUAL,tn.CompareFunction.NotEqual),hd),D1t=(fx={},qt(fx,Mt.FUNC_ADD,tn.BlendOperation.Add),qt(fx,Mt.MIN_EXT,tn.BlendOperation.Min),qt(fx,Mt.MAX_EXT,tn.BlendOperation.Max),qt(fx,Mt.FUNC_SUBTRACT,tn.BlendOperation.Subtract),qt(fx,Mt.FUNC_REVERSE_SUBTRACT,tn.BlendOperation.ReverseSubtract),fx),GN=(il={},qt(il,Mt.ZERO,tn.BlendFactor.Zero),qt(il,Mt.ONE,tn.BlendFactor.One),qt(il,Mt.SRC_COLOR,tn.BlendFactor.SrcColor),qt(il,Mt.ONE_MINUS_SRC_COLOR,tn.BlendFactor.OneMinusSrcColor),qt(il,Mt.SRC_ALPHA,tn.BlendFactor.SrcAlpha),qt(il,Mt.ONE_MINUS_SRC_ALPHA,tn.BlendFactor.OneMinusSrcAlpha),qt(il,Mt.DST_COLOR,tn.BlendFactor.DstColor),qt(il,Mt.ONE_MINUS_DST_COLOR,tn.BlendFactor.OneMinusDstColor),qt(il,Mt.DST_ALPHA,tn.BlendFactor.DstAlpha),qt(il,Mt.ONE_MINUS_DST_ALPHA,tn.BlendFactor.OneMinusDstAlpha),qt(il,Mt.CONSTANT_COLOR,tn.BlendFactor.BlendColor),qt(il,Mt.ONE_MINUS_CONSTANT_COLOR,tn.BlendFactor.OneMinusBlendColor),qt(il,Mt.SRC_ALPHA_SATURATE,tn.BlendFactor.SrcAlphaSaturated),il),P1t=(yS={},qt(yS,Mt.ALPHA,"r8unorm"),qt(yS,Mt.RGBA,"rgba8unorm"),qt(yS,Mt.DEPTH_COMPONENT,"depth32float"),qt(yS,Mt.DEPTH_STENCIL,"depth24plus-stencil8"),yS),NY=(BN={},qt(BN,Mt.NEAREST,"nearest"),qt(BN,Mt.LINEAR,"linear"),BN),zN=(KM={},qt(KM,Mt.REPEAT,"repeat"),qt(KM,Mt.CLAMP_TO_EDGE,"clamp-to-edge"),qt(KM,Mt.MIRRORED_REPEAT,"mirror-repeat"),KM);function k1t(r){var e=r.cull;if(!e||!e.enable)return tn.CullMode.None;if(e.face)return e.face===Mt.FRONT?tn.CullMode.Front:tn.CullMode.Back}function R1t(r){var e=r.depth,t=r.stencil,n={compare:tn.CompareFunction.Always,depthFailOp:tn.StencilOperation.Keep,failOp:tn.StencilOperation.Keep,passOp:tn.StencilOperation.Keep};return{depthWriteEnabled:e&&e.enable,depthCompare:yce[(e==null?void 0:e.func)||Mt.ALWAYS],format:tn.TextureFormat.Depth24PlusStencil8,stencilFront:n,stencilBack:n,stencilReadMask:4294967295,stencilWriteMask:4294967295}}function N1t(r,e){var t=r.blend;return[{format:e,alphaBlend:{srcFactor:GN[t&&t.func&&t.func.srcAlpha||Mt.ONE],dstFactor:GN[t&&t.func&&t.func.dstAlpha||Mt.ZERO],operation:D1t[t&&t.equation&&t.equation.alpha||Mt.FUNC_ADD]},colorBlend:{srcFactor:GN[t&&t.func&&t.func.srcRGB||Mt.ONE],dstFactor:GN[t&&t.func&&t.func.dstRGB||Mt.ZERO],operation:D1t[t&&t.equation&&t.equation.rgb||Mt.FUNC_ADD]},writeMask:tn.ColorWrite.All}]}function F1t(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function xS(r){for(var e=1;e1?t-1:0),i=1;i3&&arguments[3]!==void 0?arguments[3]:!1,l=(a=t.get().color)===null||a===void 0?void 0:a.texture,u;l&&(u=l.createView(this.currentRenderTargetViewDescriptor));var f=(o=t.get().depth)===null||o===void 0?void 0:o.texture,c;f&&(c=f.createView());var h=this.renderTargetEncoder.beginRenderPass({colorAttachments:[{attachment:u,loadValue:n!==null?n:Ii.LoadOp.Load,storeOp:Ii.StoreOp.Store}],depthStencilAttachment:f&&c?{attachment:c,depthLoadValue:i?this.clearDepthValue:Ii.LoadOp.Load,depthStoreOp:Ii.StoreOp.Store,stencilLoadValue:s?this.clearStencilValue:Ii.LoadOp.Load,stencilStoreOp:Ii.StoreOp.Store}:void 0});this.currentRenderPass=h,this.cachedViewport&&this.viewport(this.cachedViewport)}},{key:"endMainRenderPass",value:function(){this.currentRenderPass===this.mainRenderPass&&this.currentRenderPass!==null&&(this.currentRenderPass.endPass(),this.resetCachedViewport(),this.currentRenderPass=null,this.mainRenderPass=null)}},{key:"endComputePass",value:function(){this.currentComputePass&&(this.currentComputePass.endPass(),this.currentComputePass=null)}},{key:"endRenderTargetRenderPass",value:function(){this.currentRenderPass&&(this.currentRenderPass.endPass(),this.resetCachedViewport())}},{key:"resetCachedViewport",value:function(){this.cachedViewport={x:0,y:0,width:0,height:0}}},{key:"unbindFramebuffer",value:function(t){this.currentRenderPass&&this.currentRenderPass!==this.mainRenderPass&&this.endRenderTargetRenderPass(),this.transientViewport.x=1/0,this.currentRenderTarget=null,this.currentRenderPass=this.mainRenderPass}}]),r}(),j1t))||U1t);var vwt=z(Ac()),XN=z(Zn());var Y1t=z(Zn());var V1t,H1t;function bce(r){var e=_ce();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function _ce(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var BY=4/64,X1t=1-BY*2,q1t=(V1t=(0,Y1t.injectable)(),V1t(H1t=function(r){ui(t,r);var e=bce(t);function t(){return se(this,t),e.apply(this,arguments)}return be(t,[{key:"onEntityCreated",value:function(){var i=this.config,a=i.widthSegments,o=a===void 0?1:a,s=i.heightSegments,l=s===void 0?1:s,u=i.depthSegments,f=u===void 0?1:u,c=i.halfExtents,h=c===void 0?Ft.fromValues(.5,.5,.5):c,d=o,p=l,v=f,m=Wp(h,3),g=m[0],x=m[1],b=m[2],S=[Ft.fromValues(-g,-x,b),Ft.fromValues(g,-x,b),Ft.fromValues(g,x,b),Ft.fromValues(-g,x,b),Ft.fromValues(g,-x,-b),Ft.fromValues(-g,-x,-b),Ft.fromValues(-g,x,-b),Ft.fromValues(g,x,-b)],C=[[0,1,3],[4,5,7],[3,2,6],[1,0,4],[1,4,2],[5,0,6]],w=[[0,0,1],[0,0,-1],[0,1,0],[0,-1,0],[1,0,0],[-1,0,0]],A={FRONT:0,BACK:1,TOP:2,BOTTOM:3,RIGHT:4,LEFT:5},L=[],k=[],O=[],M=[],I=[],R=0,P=function(U,j,H){var tt,et,ut,$;for(ut=0;ut<=j;ut++)for($=0;$<=H;$++){var st=Ft.create(),_t=Ft.create(),dt=Ft.create(),gt=Ft.create();Ft.lerp(st,S[C[U][0]],S[C[U][1]],ut/j),Ft.lerp(_t,S[C[U][0]],S[C[U][2]],$/H),Ft.sub(dt,_t,S[C[U][0]]),Ft.add(gt,st,dt),tt=ut/j,et=$/H,L.push(gt[0],gt[1],gt[2]),k.push(w[U][0],w[U][1],w[U][2]),O.push(tt,et),tt/=3,et/=3,tt=tt*X1t+BY,et=et*X1t+BY,tt+=U%3/3,et+=Math.floor(U/3)/3,M.push(tt,et),uth;if(!isFinite(A)){(0,dd.normal)(u,n),GN(p,d,C,u,1),v.push(s===1?[b,b+2,b+3]:[b+2,b+1,b+3]),c+=2,s=I;continue}P?(A=h,m.push(x/g),qM(d,u,-I),p.push(C),qM(d,o,A*I),p.push(C),v.push(s!==-I?[b,b+2,b+3]:[b+2,b+1,b+3]),v.push([b+2,b+3,b+4]),(0,dd.normal)(f,i),(0,sx.copy)(u,f),qM(d,u,-I),p.push(C),c+=3):(GN(p,d,C,o,A),v.push(s===1?[b,b+2,b+3]:[b+2,b+1,b+3]),I=-1,(0,sx.copy)(u,o),c+=2),s=I}}return{normals:d,attrIndex:v,attrPos:p,attrCounters:m}}var jSt,WSt,VSt,HSt,YSt,XSt,qSt,KM,KSt,ZSt,$St,QSt;function ehe(r){var e=rhe();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function rhe(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var nhe=`uniform float u_dash_array : 0.02; +}`,M_t=(m_t=(0,nv.injectable)(),g_t=(0,nv.inject)(Qt.Systems),y_t=(0,nv.named)(Qt.MaterialSystem),x_t=(0,nv.inject)(Qt.Systems),b_t=(0,nv.named)(Qt.GeometrySystem),__t=(0,nv.inject)(Qt.ShaderModuleService),m_t(S_t=(QM=(A_t=function(r){ui(t,r);var e=kce(t);function t(){var n;se(this,t);for(var i=arguments.length,a=new Array(i),o=0;oh;if(!isFinite(A)){(0,dd.normal)(u,n),VN(p,d,C,u,1),v.push(s===1?[b,b+2,b+3]:[b+2,b+1,b+3]),c+=2,s=L;continue}k?(A=h,m.push(x/g),JM(d,u,-L),p.push(C),JM(d,o,A*L),p.push(C),v.push(s!==-L?[b,b+2,b+3]:[b+2,b+1,b+3]),v.push([b+2,b+3,b+4]),(0,dd.normal)(f,i),(0,cx.copy)(u,f),JM(d,u,-L),p.push(C),c+=3):(VN(p,d,C,o,A),v.push(s===1?[b,b+2,b+3]:[b+2,b+1,b+3]),L=-1,(0,cx.copy)(u,o),c+=2),s=L}}return{normals:d,attrIndex:v,attrPos:p,attrCounters:m}}var rCt,nCt,iCt,aCt,oCt,sCt,lCt,tT,uCt,fCt,cCt,hCt;function Che(r){var e=whe();return function(){var n=Zr(r),i;if(e){var a=Zr(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return fi(this,i)}}function whe(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(r){return!1}}var Ehe=`uniform float u_dash_array : 0.02; uniform float u_dash_offset : 0; uniform float u_dash_ratio : 0; uniform float u_thickness : 0.02; @@ -500,7 +500,7 @@ void main() { gl_FragColor = v_color; gl_FragColor.a *= blur * ceil(mod(v_counters + u_dash_offset, u_dash_array) - (u_dash_array * u_dash_ratio)); -}`,ihe=`attribute vec2 a_pos; +}`,Ahe=`attribute vec2 a_pos; attribute vec4 a_color; attribute float a_line_miter; attribute vec2 a_line_normal; @@ -527,7 +527,7 @@ void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(a_pos, 0.0, 1.0) + offset; } -`,JSt=(jSt=(0,rv.injectable)(),WSt=(0,rv.inject)(Qt.Systems),VSt=(0,rv.named)(Qt.MaterialSystem),HSt=(0,rv.inject)(Qt.Systems),YSt=(0,rv.named)(Qt.GeometrySystem),XSt=(0,rv.inject)(Qt.ShaderModuleService),jSt(qSt=(KM=(QSt=function(r){ui(t,r);var e=ehe(t);function t(){var n;se(this,t);for(var i=arguments.length,a=new Array(i),o=0;o>8&255,r+1>>8>>8&255]}var eCt,rCt,nCt,iCt,aCt,oCt,sCt,ZM,lCt,uCt,fCt,cCt;function hCt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function ahe(r){for(var e=1;e>8&255,r+1>>8>>8&255]}var vCt,mCt,gCt,yCt,xCt,bCt,_Ct,eT,SCt,CCt,wCt,ECt;function ACt(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Mhe(r){for(var e=1;e=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function che(r,e){if(!!r){if(typeof r=="string")return wCt(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return wCt(r,e)}}function wCt(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=r[Symbol.iterator]()},n:function(){var u=t.next();return a=u.done,u},e:function(u){o=!0,s=u},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function Phe(r,e){if(!!r){if(typeof r=="string")return BCt(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return BCt(r,e)}}function BCt(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t0&&arguments[0]!==void 0?arguments[0]:{},n=fY(),i=navigator.gpu?OY:EY;n.isBound(Qt.RenderEngine)||n.bind(Qt.RenderEngine).to(i).inSingletonScope(),n.bind(YY).toSelf(),n.bind(EN).toSelf(),n.bind(Iu).toSelf(),n.bind($Y).toSelf(),n.bind(bN).toSelf(),n.bind(XY).toSelf(),n.bind(r).toSelf(),n.bind(zN).toSelf(),n.bind(KY).toSelf(),n.bind(Qt.Geometry).to(k1t).whenTargetNamed(Ql.BOX),n.bind(Qt.Geometry).to(X1t).whenTargetNamed(Ql.SPHERE),n.bind(Qt.Geometry).to(W1t).whenTargetNamed(Ql.PLANE),n.bind(Qt.Geometry).to(G1t).whenTargetNamed(Ql.MERGED),n.bind(Qt.Material).to(e_t).whenTargetNamed(BM.BASIC),n.bind(Qt.Renderable).to(dCt).whenTargetNamed(Iu.POINT),n.bind(Qt.Renderable).to(JSt).whenTargetNamed(Iu.LINE),n.bind(Qt.Renderable).to(d_t).whenTargetNamed(Iu.GRID);var a=n.get(r);return a.setContainer(n),a.setConfig(t),a}}]),r}(),JCt),QCt=Ze(JY.prototype,"configService",[ZCt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),JY))||$Ct);var ux=(r,e)=>{let t;return r?je(r)?t=()=>r:t=r:t=()=>e||1,t},rwt=(r,e)=>{let t=[],n=[],i={},a=0;for(a=0;a{let i=[],a=[],o={},s=0;for(s=0;s{let t=[],n=r.length,i={};return e.forEach(a=>{r.forEach((o,s)=>{if(i[a[o]]===void 0&&(i[a[o]]=Object.keys(i).length),t.push(i[a[o]]),s===n-1)for(;t.length%4!=0;)t.push(0)})}),{array:new Float32Array(t),count:Object.keys(i).length}},tX=r=>{let e=[],t=r.length,n=r[0].length;for(let i=0;i{if(e.push(a[i]),o===t-1)for(;e.length%4!=0;)e.push(0)});return new Float32Array(e)};var awt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_K : f32;\\n [[offset 4]] u_K2 : f32;\\n [[offset 8]] u_Center : vec2;\\n [[offset 16]] u_Gravity : f32;\\n [[offset 20]] u_ClusterGravity : f32;\\n [[offset 24]] u_Speed : f32;\\n [[offset 28]] u_MaxDisplace : f32;\\n [[offset 32]] u_Clustering : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AttributeArray : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_ClusterCenters : [[stride 16]] array>;\\n};\\n[[binding 3, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn calcRepulsive(i : i32, currentNode : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {if (i != j) {var nextNode : vec4 = gWebGPUBuffer0.u_Data[j];\\nvar xDist : f32 = currentNode.x - nextNode.x;\\nvar yDist : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nvar param : f32 = gWebGPUUniformParams.u_K2 / dist;\\nif (dist > 0.0) {dx = dx + param * xDist;\\ndy = dy + param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {var sign : f32 = select(1.0, -1.0, i < j);\\ndx = dx + param * std::sign;\\ndy = dy + param * std::sign;}}}}\\nreturn vec2(dx, dy);}\\nfn calcGravity(currentNode : vec4, nodeAttributes : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nvar vx : f32 = currentNode.x - gWebGPUUniformParams.u_Center.x;\\nvar vy : f32 = currentNode.y - gWebGPUUniformParams.u_Center.y;\\nvar gf : f32 = (0.01 * gWebGPUUniformParams.u_K) * gWebGPUUniformParams.u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (gWebGPUUniformParams.u_Clustering == 1.0) {var clusterIdx : i32 = i32(nodeAttributes.x);\\nvar center : vec4 = gWebGPUBuffer2.u_ClusterCenters[clusterIdx];\\nvar cvx : f32 = currentNode.x - center.x;\\nvar cvy : f32 = currentNode.y - center.y;\\nvar dist : f32 = std::sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nvar parma : f32 = (gWebGPUUniformParams.u_K * gWebGPUUniformParams.u_ClusterGravity) / dist;\\ndx = dx + parma * cvx;\\ndy = dy + parma * cvy;}\\nreturn vec2(dx, dy);}\\nfn calcAttractive(i : i32, currentNode : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nvar arr_offset : i32 = i32(std::floor(currentNode.z + 0.5));\\nvar length : i32 = i32(std::floor(currentNode.w + 0.5));\\nvar node_buffer : vec4;\\nfor (var p : i32 = 0; p < __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX; p = p + 1) {if (p >= length) {break;}\\nvar arr_idx : i32 = arr_offset + i32(p);\\nvar buf_offset : i32 = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[i32(arr_idx / 4)];}\\nvar float_j : f32 = select(node_buffer.x, select(node_buffer.y, select(node_buffer.z, node_buffer.w, buf_offset == 2), buf_offset == 1), buf_offset == 0);\\nvar nextNode : vec4 = gWebGPUBuffer0.u_Data[i32(float_j)];\\nvar xDist : f32 = currentNode.x - nextNode.x;\\nvar yDist : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = std::sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nvar attractiveF : f32 = dist / gWebGPUUniformParams.u_K;\\nif (dist > 0.0) {dx = dx - xDist * attractiveF;\\ndy = dy - yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {var sign : f32 = select(1.0, -1.0, i < i32(float_j));\\ndx = dx - std::sign * attractiveF;\\ndy = dy - std::sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar currentNode : vec4 = gWebGPUBuffer0.u_Data[i];\\nvar dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nif (i >= __DefineValuePlaceholder__VERTEX_COUNT) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvar nodeAttributes : vec4 = gWebGPUBuffer1.u_AttributeArray[i];\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w);\\nreturn ;}\\nvar repulsive : vec2 = calcRepulsive(i, currentNode);\\ndx = dx + repulsive.x;\\ndy = dy + repulsive.y;\\nvar attractive : vec2 = calcAttractive(i, currentNode);\\ndx = dx + attractive.x;\\ndy = dy + attractive.y;\\nvar gravity : vec2 = calcGravity(currentNode, nodeAttributes);\\ndx = dx - gravity.x;\\ndy = dy - gravity.y;\\ndx = dx * gWebGPUUniformParams.u_Speed;\\ndy = dy * gWebGPUUniformParams.u_Speed;\\nvar distLength : f32 = std::sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {var limitedDist : f32 = std::min(gWebGPUUniformParams.u_MaxDisplace * gWebGPUUniformParams.u_Speed, distLength);\\ngWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w);}\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_K;\\n float u_K2;\\n vec2 u_Center;\\n float u_Gravity;\\n float u_ClusterGravity;\\n float u_Speed;\\n float u_MaxDisplace;\\n float u_Clustering;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer readonly GWebGPUBuffer1 {\\n vec4 u_AttributeArray[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 3) buffer readonly GWebGPUBuffer2 {\\n vec4 u_ClusterCenters[];\\n} gWebGPUBuffer2;\\n\\n\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvec2 calcRepulsive(int i, vec4 currentNode) {float dx = 0.0;\\nfloat dy = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = gWebGPUBuffer0.u_Data[j];\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat param = gWebGPUUniformParams.u_K2 / dist;\\nif (dist > 0.0) {dx += param * xDist;\\ndy += param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < j) ? (1.0) : (-1.0);\\ndx += param * sign;\\ndy += param * sign;}}}}\\nreturn vec2(dx, dy);}\\nvec2 calcGravity(vec4 currentNode, vec4 nodeAttributes) {float dx = 0.0;\\nfloat dy = 0.0;\\nfloat vx = currentNode.x - gWebGPUUniformParams.u_Center.x;\\nfloat vy = currentNode.y - gWebGPUUniformParams.u_Center.y;\\nfloat gf = (0.01 * gWebGPUUniformParams.u_K) * gWebGPUUniformParams.u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (gWebGPUUniformParams.u_Clustering == 1.0) {int clusterIdx = int(nodeAttributes.x);\\nvec4 center = gWebGPUBuffer2.u_ClusterCenters[clusterIdx];\\nfloat cvx = currentNode.x - center.x;\\nfloat cvy = currentNode.y - center.y;\\nfloat dist = sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nfloat parma = (gWebGPUUniformParams.u_K * gWebGPUUniformParams.u_ClusterGravity) / dist;\\ndx += parma * cvx;\\ndy += parma * cvy;}\\nreturn vec2(dx, dy);}\\nvec2 calcAttractive(int i, vec4 currentNode) {float dx = 0.0;\\nfloat dy = 0.0;\\nint arr_offset = int(floor(currentNode.z + 0.5));\\nint length = int(floor(currentNode.w + 0.5));\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + int(p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[int(arr_idx / 4)];}\\nfloat float_j = (buf_offset == 0) ? (node_buffer.x) : ((buf_offset == 1) ? (node_buffer.y) : ((buf_offset == 2) ? (node_buffer.z) : (node_buffer.w)));\\nvec4 nextNode = gWebGPUBuffer0.u_Data[int(float_j)];\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat attractiveF = dist / gWebGPUUniformParams.u_K;\\nif (dist > 0.0) {dx -= xDist * attractiveF;\\ndy -= yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < int(float_j)) ? (1.0) : (-1.0);\\ndx -= sign * attractiveF;\\ndy -= sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nvoid main() {int i = globalInvocationID.x;\\nvec4 currentNode = gWebGPUBuffer0.u_Data[i];\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (i >= VERTEX_COUNT) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvec4 nodeAttributes = gWebGPUBuffer1.u_AttributeArray[i];\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w);\\nreturn ;}\\nvec2 repulsive = calcRepulsive(i, currentNode);\\ndx += repulsive.x;\\ndy += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode);\\ndx += attractive.x;\\ndy += attractive.y;\\nvec2 gravity = calcGravity(currentNode, nodeAttributes);\\ndx -= gravity.x;\\ndy -= gravity.y;\\ndx *= gWebGPUUniformParams.u_Speed;\\ndy *= gWebGPUUniformParams.u_Speed;\\nfloat distLength = sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {float limitedDist = min(gWebGPUUniformParams.u_MaxDisplace * gWebGPUUniformParams.u_Speed, distLength);\\ngWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w);}}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_K;\\nuniform float u_K2;\\nuniform vec2 u_Center;\\nuniform float u_Gravity;\\nuniform float u_ClusterGravity;\\nuniform float u_Speed;\\nuniform float u_MaxDisplace;\\nuniform float u_Clustering;\\nuniform sampler2D u_AttributeArray;\\nuniform vec2 u_AttributeArraySize;\\nvec4 getDatau_AttributeArray(vec2 address2D) {\\n return vec4(texture2D(u_AttributeArray, address2D).rgba);\\n}\\nvec4 getDatau_AttributeArray(float address1D) {\\n return getDatau_AttributeArray(addrTranslation_1Dto2D(address1D, u_AttributeArraySize));\\n}\\nvec4 getDatau_AttributeArray(int address1D) {\\n return getDatau_AttributeArray(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat param = u_K2 / dist;\\nif (dist > 0.0) {dx += param * xDist;\\ndy += param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < j) ? (1.0) : (-1.0);\\ndx += param * sign;\\ndy += param * sign;}}}}\\nreturn vec2(dx, dy);}\\nvec2 calcGravity(vec4 currentNode, vec4 nodeAttributes) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfloat vx = currentNode.x - u_Center.x;\\nfloat vy = currentNode.y - u_Center.y;\\nfloat gf = (0.01 * u_K) * u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (u_Clustering == 1.0) {int clusterIdx = int(nodeAttributes.x);\\nvec4 center = getDatau_ClusterCenters(clusterIdx);\\nfloat cvx = currentNode.x - center.x;\\nfloat cvy = currentNode.y - center.y;\\nfloat dist = sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nfloat parma = (u_K * u_ClusterGravity) / dist;\\ndx += parma * cvx;\\ndy += parma * cvy;}\\nreturn vec2(dx, dy);}\\nvec2 calcAttractive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nint arr_offset = int(floor(currentNode.z + 0.5));\\nint length = int(floor(currentNode.w + 0.5));\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + int(p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = (buf_offset == 0) ? (node_buffer.x) : ((buf_offset == 1) ? (node_buffer.y) : ((buf_offset == 2) ? (node_buffer.z) : (node_buffer.w)));\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat attractiveF = dist / u_K;\\nif (dist > 0.0) {dx -= xDist * attractiveF;\\ndy -= yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < int(float_j)) ? (1.0) : (-1.0);\\ndx -= sign * attractiveF;\\ndy -= sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (i >= VERTEX_COUNT) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes = getDatau_AttributeArray(i);\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w));\\nreturn ;}\\nvec2 repulsive = calcRepulsive(i, currentNode);\\ndx += repulsive.x;\\ndy += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode);\\ndx += attractive.x;\\ndy += attractive.y;\\nvec2 gravity = calcGravity(currentNode, nodeAttributes);\\ndx -= gravity.x;\\ndy -= gravity.y;\\ndx *= u_Speed;\\ndy *= u_Speed;\\nfloat distLength = sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {float limitedDist = min(u_MaxDisplace * u_Speed, distLength);\\ngl_FragColor = vec4(vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_K","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_K2","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Center","type":"vec2","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Gravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterGravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Speed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_MaxDisplace","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Clustering","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AttributeArray","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}';var owt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\n\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 0, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_NodeAttributes : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_ClusterCenters : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar center : vec4 = gWebGPUBuffer2.u_ClusterCenters[i];\\nvar sumx : f32 = 0.0;\\nvar sumy : f32 = 0.0;\\nvar count : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {var attributes : vec4 = gWebGPUBuffer1.u_NodeAttributes[j];\\nvar clusterIdx : i32 = i32(attributes.x);\\nvar vertex : vec4 = gWebGPUBuffer0.u_Data[j];\\nif (clusterIdx == i) {sumx = sumx + vertex.x;\\nsumy = sumy + vertex.y;\\ncount = count + 1.0;}}\\ngWebGPUBuffer2.u_ClusterCenters[i] = vec4(sumx / count, sumy / count, count, i);\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\n\\nlayout(std430, set = 0, binding = 0) buffer readonly GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 1) buffer readonly GWebGPUBuffer1 {\\n vec4 u_NodeAttributes[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 2) buffer GWebGPUBuffer2 {\\n vec4 u_ClusterCenters[];\\n} gWebGPUBuffer2;\\n\\n\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define CLUSTER_COUNT __DefineValuePlaceholder__CLUSTER_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\nvoid main() {int i = globalInvocationID.x;\\nvec4 center = gWebGPUBuffer2.u_ClusterCenters[i];\\nfloat sumx = 0.0;\\nfloat sumy = 0.0;\\nfloat count = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 attributes = gWebGPUBuffer1.u_NodeAttributes[j];\\nint clusterIdx = int(attributes.x);\\nvec4 vertex = gWebGPUBuffer0.u_Data[j];\\nif (clusterIdx == i) {sumx += vertex.x;\\nsumy += vertex.y;\\ncount += 1.0;}}\\ngWebGPUBuffer2.u_ClusterCenters[i] = vec4(sumx / count, sumy / count, count, i);}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define CLUSTER_COUNT __DefineValuePlaceholder__CLUSTER_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributes;\\nuniform vec2 u_NodeAttributesSize;\\nvec4 getDatau_NodeAttributes(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributes, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributes(float address1D) {\\n return getDatau_NodeAttributes(addrTranslation_1Dto2D(address1D, u_NodeAttributesSize));\\n}\\nvec4 getDatau_NodeAttributes(int address1D) {\\n return getDatau_NodeAttributes(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 center = getDatau_ClusterCenters(i);\\nfloat sumx = 0.0;\\nfloat sumy = 0.0;\\nfloat count = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 attributes = getDatau_NodeAttributes(j);\\nint clusterIdx = int(attributes.x);\\nvec4 vertex = getDatau_Data(j);\\nif (clusterIdx == i) {sumx += vertex.x;\\nsumy += vertex.y;\\ncount += 1.0;}}\\ngl_FragColor = vec4(vec4(sumx / count, sumy / count, count, i));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"CLUSTER_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributes","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_ClusterCenters","size":[1,1],"length":1},"needPingpong":true}}';var WN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},_S=class extends li{constructor(e){super();this.maxIteration=1e3,this.gravity=10,this.speed=1,this.clustering=!1,this.clusterField="cluster",this.clusterGravity=10,this.workerEnabled=!1,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10}}execute(){return WN(this,void 0,void 0,function*(){let e=this,t=e.nodes;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let n=e.center;if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}let i={},a={};t.forEach((o,s)=>{je(o.x)||(o.x=Math.random()*this.width),je(o.y)||(o.y=Math.random()*this.height),i[o.id]=o,a[o.id]=s}),e.nodeMap=i,e.nodeIdxMap=a,yield e.run()})}executeWithWorker(e,t){return WN(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.center;if(!i||i.length===0)return;if(i.length===1){i[0].x=a[0],i[0].y=a[1];return}let o={},s={};i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*this.width),je(l.y)||(l.y=Math.random()*this.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,yield n.run(e,t)})}run(e,t){return WN(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.edges,o=n.maxIteration,s=n.center,l=n.height*n.width,u=Math.sqrt(l)/10,f=l/(i.length+1),c=Math.sqrt(f),h=n.speed,d=n.clustering,{array:p,count:v}=iwt([n.clusterField],i);i.forEach((L,M)=>{let O=0,F=0;je(L.fx)&&je(L.fy)&&(O=L.fx||.001,F=L.fy||.001),p[4*M+1]=O,p[4*M+2]=F});let m=i.length,{maxEdgePerVetex:g,array:x}=rwt(i,a),b=n.workerEnabled,S;b?S=lx.create({canvas:e,engineOptions:{supportCompute:!0}}):S=lx.create({engineOptions:{supportCompute:!0}});let C=n.onLayoutEnd,w=[];for(let L=0;LWN(this,void 0,void 0,function*(){for(let M=0;M{let F=L[4*O],k=L[4*O+1];M.x=F,M.y=k}),C&&C()}))()})}getType(){return"fruchterman-gpu"}};var swt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_damping : f32;\\n [[offset 4]] u_maxSpeed : f32;\\n [[offset 8]] u_minMovement : f32;\\n \\n [[offset 12]] u_coulombDisScale : f32;\\n [[offset 16]] u_factor : f32;\\n \\n \\n [[offset 20]] u_interval : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AveMovement : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_NodeAttributeArray1 : [[stride 16]] array>;\\n};\\n[[binding 3, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\ntype GWebGPUBuffer3 = [[block]] struct {\\n [[offset 0]] u_NodeAttributeArray2 : [[stride 16]] array>;\\n};\\n[[binding 4, set 0]] var gWebGPUBuffer3 : GWebGPUBuffer3;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn unpack_float(packedValue : f32) -> vec2 {var packedIntValue : i32 = i32(packedValue);\\nvar v0 : i32 = packedIntValue / 1048576;\\nreturn vec2(v0, packedIntValue - (v0 * 1048576));}\\nfn calcRepulsive(i : i32, currentNode : vec4) -> vec2 {var ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {if (i != j) {var nextNode : vec4 = gWebGPUBuffer0.u_Data[j];\\nvar vx : f32 = currentNode.x - nextNode.x;\\nvar vy : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.01;\\nvar n_dist : f32 = (dist + 0.1) * gWebGPUUniformParams.u_coulombDisScale;\\nvar direx : f32 = vx / dist;\\nvar direy : f32 = vy / dist;\\nvar attributesi : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvar attributesj : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[j];\\nvar massi : f32 = attributesi.x;\\nvar nodeStrengthi : f32 = attributesi.z;\\nvar nodeStrengthj : f32 = attributesj.z;\\nvar nodeStrength : f32 = (nodeStrengthi + nodeStrengthj) / 2.0;\\nvar param : f32 = (nodeStrength * gWebGPUUniformParams.u_factor) / (n_dist * n_dist);\\nax = ax + direx * param;\\nay = ay + direy * param;}}\\nreturn vec2(ax, ay);}\\nfn calcGravity(i : i32, currentNode : vec4, attributes2 : vec4) -> vec2 {var vx : f32 = currentNode.x - attributes2.x;\\nvar vy : f32 = currentNode.y - attributes2.y;\\nvar ax : f32 = vx * attributes2.z;\\nvar ay : f32 = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nfn calcAttractive(i : i32, currentNode : vec4, attributes1 : vec4) -> vec2 {var mass : f32 = attributes1.x;\\nvar ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nvar compressed : vec2 = unpack_float(currentNode.z);\\nvar length : i32 = compressed.x;\\nvar arr_offset : i32 = compressed.y;\\nvar node_buffer : vec4;\\nfor (var p : i32 = 0; p < __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX; p = p + 1) {if (p >= length) {break;}\\nvar arr_idx : i32 = arr_offset + (4 * p);\\nvar buf_offset : i32 = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[i32(arr_idx / 4)];}\\nvar float_j : f32 = node_buffer.x;\\nvar nextNode : vec4 = gWebGPUBuffer0.u_Data[i32(float_j)];\\nvar vx : f32 = nextNode.x - currentNode.x;\\nvar vy : f32 = nextNode.y - currentNode.y;\\nvar dist : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.01;\\nvar direx : f32 = vx / dist;\\nvar direy : f32 = vy / dist;\\nvar edgeLength : f32 = node_buffer.y;\\nvar edgeStrength : f32 = node_buffer.z;\\nvar diff : f32 = edgeLength - dist;\\nvar param : f32 = (diff * edgeStrength) / mass;\\nax = ax - direx * param;\\nay = ay - direy * param;}\\nreturn vec2(ax, ay);}\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar currentNode : vec4 = gWebGPUBuffer0.u_Data[i];\\nvar movement : vec4 = gWebGPUBuffer1.u_AveMovement[0];\\nvar ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nif ((i >= __DefineValuePlaceholder__VERTEX_COUNT) || (movement.x < gWebGPUUniformParams.u_minMovement)) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvar nodeAttributes1 : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvar nodeAttributes2 : vec4 = gWebGPUBuffer3.u_NodeAttributeArray2[i];\\nvar repulsive : vec2 = calcRepulsive(i, currentNode);\\nax = ax + repulsive.x;\\nay = ay + repulsive.y;\\nvar attractive : vec2 = calcAttractive(i, currentNode, nodeAttributes1);\\nax = ax + attractive.x;\\nay = ay + attractive.y;\\nvar gravity : vec2 = calcGravity(i, currentNode, nodeAttributes2);\\nax = ax - gravity.x;\\nay = ay - gravity.y;\\nvar param : f32 = gWebGPUUniformParams.u_interval * gWebGPUUniformParams.u_damping;\\nvar vx : f32 = ax * param;\\nvar vy : f32 = ay * param;\\nvar vlength : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > gWebGPUUniformParams.u_maxSpeed) {var param2 : f32 = gWebGPUUniformParams.u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nvar distx : f32 = vx * gWebGPUUniformParams.u_interval;\\nvar disty : f32 = vy * gWebGPUUniformParams.u_interval;\\nvar distLength : f32 = std::sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0);}else {gWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength);}\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_damping;\\n float u_maxSpeed;\\n float u_minMovement;\\n \\n float u_coulombDisScale;\\n float u_factor;\\n \\n \\n float u_interval;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer readonly GWebGPUBuffer1 {\\n vec4 u_AveMovement[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 3) buffer readonly GWebGPUBuffer2 {\\n vec4 u_NodeAttributeArray1[];\\n} gWebGPUBuffer2;\\n\\nlayout(std430, set = 0, binding = 4) buffer readonly GWebGPUBuffer3 {\\n vec4 u_NodeAttributeArray2[];\\n} gWebGPUBuffer3;\\n\\n\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define SHIFT_20 1048576.0\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nivec2 unpack_float(float packedValue) {int packedIntValue = int(packedValue);\\nint v0 = packedIntValue / int(SHIFT_20);\\nreturn ivec2(v0, packedIntValue - (v0 * int(SHIFT_20)));}\\nvec2 calcRepulsive(int i, vec4 currentNode) {float ax = 0.0;\\nfloat ay = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = gWebGPUBuffer0.u_Data[j];\\nfloat vx = currentNode.x - nextNode.x;\\nfloat vy = currentNode.y - nextNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat n_dist = (dist + 0.1) * gWebGPUUniformParams.u_coulombDisScale;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nvec4 attributesi = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvec4 attributesj = gWebGPUBuffer2.u_NodeAttributeArray1[j];\\nfloat massi = attributesi.x;\\nfloat nodeStrengthi = attributesi.z;\\nfloat nodeStrengthj = attributesj.z;\\nfloat nodeStrength = (nodeStrengthi + nodeStrengthj) / 2.0;\\nfloat param = (nodeStrength * gWebGPUUniformParams.u_factor) / (n_dist * n_dist);\\nax += direx * param;\\nay += direy * param;}}\\nreturn vec2(ax, ay);}\\nvec2 calcGravity(int i, vec4 currentNode, vec4 attributes2) {float vx = currentNode.x - attributes2.x;\\nfloat vy = currentNode.y - attributes2.y;\\nfloat ax = vx * attributes2.z;\\nfloat ay = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nvec2 calcAttractive(int i, vec4 currentNode, vec4 attributes1) {float mass = attributes1.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nivec2 compressed = unpack_float(currentNode.z);\\nint length = compressed.x;\\nint arr_offset = compressed.y;\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + (4 * p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[int(arr_idx / 4)];}\\nfloat float_j = node_buffer.x;\\nvec4 nextNode = gWebGPUBuffer0.u_Data[int(float_j)];\\nfloat vx = nextNode.x - currentNode.x;\\nfloat vy = nextNode.y - currentNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nfloat edgeLength = node_buffer.y;\\nfloat edgeStrength = node_buffer.z;\\nfloat diff = edgeLength - dist;\\nfloat param = (diff * edgeStrength) / mass;\\nax -= direx * param;\\nay -= direy * param;}\\nreturn vec2(ax, ay);}\\nvoid main() {int i = globalInvocationID.x;\\nvec4 currentNode = gWebGPUBuffer0.u_Data[i];\\nvec4 movement = gWebGPUBuffer1.u_AveMovement[0];\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nif ((i >= VERTEX_COUNT) || (movement.x < gWebGPUUniformParams.u_minMovement)) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvec4 nodeAttributes1 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvec4 nodeAttributes2 = gWebGPUBuffer3.u_NodeAttributeArray2[i];\\nvec2 repulsive = calcRepulsive(i, currentNode);\\nax += repulsive.x;\\nay += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode, nodeAttributes1);\\nax += attractive.x;\\nay += attractive.y;\\nvec2 gravity = calcGravity(i, currentNode, nodeAttributes2);\\nax -= gravity.x;\\nay -= gravity.y;\\nfloat param = gWebGPUUniformParams.u_interval * gWebGPUUniformParams.u_damping;\\nfloat vx = ax * param;\\nfloat vy = ay * param;\\nfloat vlength = sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > gWebGPUUniformParams.u_maxSpeed) {float param2 = gWebGPUUniformParams.u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nfloat distx = vx * gWebGPUUniformParams.u_interval;\\nfloat disty = vy * gWebGPUUniformParams.u_interval;\\nfloat distLength = sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0);}else {gWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength);}}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define SHIFT_20 1048576.0\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_damping;\\nuniform float u_maxSpeed;\\nuniform float u_minMovement;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nuniform float u_coulombDisScale;\\nuniform float u_factor;\\nuniform sampler2D u_NodeAttributeArray1;\\nuniform vec2 u_NodeAttributeArray1Size;\\nvec4 getDatau_NodeAttributeArray1(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray1, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray1(float address1D) {\\n return getDatau_NodeAttributeArray1(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray1Size));\\n}\\nvec4 getDatau_NodeAttributeArray1(int address1D) {\\n return getDatau_NodeAttributeArray1(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributeArray2;\\nuniform vec2 u_NodeAttributeArray2Size;\\nvec4 getDatau_NodeAttributeArray2(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray2, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray2(float address1D) {\\n return getDatau_NodeAttributeArray2(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray2Size));\\n}\\nvec4 getDatau_NodeAttributeArray2(int address1D) {\\n return getDatau_NodeAttributeArray2(float(address1D));\\n}\\nuniform float u_interval;\\nivec2 unpack_float(float packedValue) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint packedIntValue = int(packedValue);\\nint v0 = packedIntValue / int(SHIFT_20);\\nreturn ivec2(v0, packedIntValue - (v0 * int(SHIFT_20)));}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat vx = currentNode.x - nextNode.x;\\nfloat vy = currentNode.y - nextNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat n_dist = (dist + 0.1) * u_coulombDisScale;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nvec4 attributesi = getDatau_NodeAttributeArray1(i);\\nvec4 attributesj = getDatau_NodeAttributeArray1(j);\\nfloat massi = attributesi.x;\\nfloat nodeStrengthi = attributesi.z;\\nfloat nodeStrengthj = attributesj.z;\\nfloat nodeStrength = (nodeStrengthi + nodeStrengthj) / 2.0;\\nfloat param = (nodeStrength * u_factor) / (n_dist * n_dist);\\nax += direx * param;\\nay += direy * param;}}\\nreturn vec2(ax, ay);}\\nvec2 calcGravity(int i, vec4 currentNode, vec4 attributes2) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat vx = currentNode.x - attributes2.x;\\nfloat vy = currentNode.y - attributes2.y;\\nfloat ax = vx * attributes2.z;\\nfloat ay = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nvec2 calcAttractive(int i, vec4 currentNode, vec4 attributes1) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat mass = attributes1.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nivec2 compressed = unpack_float(currentNode.z);\\nint length = compressed.x;\\nint arr_offset = compressed.y;\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + (4 * p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = node_buffer.x;\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat vx = nextNode.x - currentNode.x;\\nfloat vy = nextNode.y - currentNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nfloat edgeLength = node_buffer.y;\\nfloat edgeStrength = node_buffer.z;\\nfloat diff = edgeLength - dist;\\nfloat param = (diff * edgeStrength) / mass;\\nax -= direx * param;\\nay -= direy * param;}\\nreturn vec2(ax, ay);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nvec4 movement = getDatau_AveMovement(0.0);\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nif ((i >= VERTEX_COUNT) || (movement.x < u_minMovement)) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes1 = getDatau_NodeAttributeArray1(i);\\nvec4 nodeAttributes2 = getDatau_NodeAttributeArray2(i);\\nvec2 repulsive = calcRepulsive(i, currentNode);\\nax += repulsive.x;\\nay += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode, nodeAttributes1);\\nax += attractive.x;\\nay += attractive.y;\\nvec2 gravity = calcGravity(i, currentNode, nodeAttributes2);\\nax -= gravity.x;\\nay -= gravity.y;\\nfloat param = u_interval * u_damping;\\nfloat vx = ax * param;\\nfloat vy = ay * param;\\nfloat vlength = sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > u_maxSpeed) {float param2 = u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nfloat distx = vx * u_interval;\\nfloat disty = vy * u_interval;\\nfloat distLength = sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0));}else {gl_FragColor = vec4(vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"SHIFT_20","type":"Float","value":1048576,"runtime":false}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_damping","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_maxSpeed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_minMovement","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_coulombDisScale","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_factor","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray1","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray2","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_interval","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}';var lwt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_iter : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AveMovement : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\n\\n\\n\\n\\n\\n\\n\\n\\nfn main() -> void {var movement : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {var vertex : vec4 = gWebGPUBuffer0.u_Data[j];\\nmovement = movement + vertex.w;}\\nmovement = movement / f32(__DefineValuePlaceholder__VERTEX_COUNT);\\ngWebGPUBuffer1.u_AveMovement[0] = vec4(movement, 0.0, 0.0, 0.0);\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_iter;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer readonly GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer GWebGPUBuffer1 {\\n vec4 u_AveMovement[];\\n} gWebGPUBuffer1;\\n\\n\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\nvoid main() {float movement = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 vertex = gWebGPUBuffer0.u_Data[j];\\nmovement += vertex.w;}\\nmovement = movement / float(VERTEX_COUNT);\\ngWebGPUBuffer1.u_AveMovement[0] = vec4(movement, 0.0, 0.0, 0.0);}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_iter;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat movement = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 vertex = getDatau_Data(j);\\nmovement += vertex.w;}\\nmovement = movement / float(VERTEX_COUNT);\\ngl_FragColor = vec4(vec4(movement, 0.0, 0.0, 0.0));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_iter","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_AveMovement","size":[1,1],"length":1},"needPingpong":true}}';var eX=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},SS=class extends li{constructor(e){super();this.maxIteration=1e3,this.edgeStrength=200,this.nodeStrength=1e3,this.coulombDisScale=.005,this.damping=.9,this.maxSpeed=1e3,this.minMovement=.5,this.interval=.02,this.factor=1,this.linkDistance=1,this.gravity=10,this.workerEnabled=!1,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:2e3,gravity:10,clustering:!1,clusterGravity:10}}execute(){return eX(this,void 0,void 0,function*(){let e=this,t=e.nodes;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let n=e.center;if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}let i={},a={};t.forEach((o,s)=>{je(o.x)||(o.x=Math.random()*e.width),je(o.y)||(o.y=Math.random()*e.height),i[o.id]=o,a[o.id]=s}),e.nodeMap=i,e.nodeIdxMap=a,e.nodeStrength=ux(e.nodeStrength,1),e.edgeStrength=ux(e.edgeStrength,1),yield e.run()})}executeWithWorker(e,t){let n=this,i=n.nodes,a=n.center;if(!i||i.length===0)return;if(i.length===1){i[0].x=a[0],i[0].y=a[1];return}let o={},s={};i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*n.width),je(l.y)||(l.y=Math.random()*n.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,n.nodeStrength=ux(n.nodeStrength,1),n.edgeStrength=ux(n.edgeStrength,1),n.run(e,t)}run(e,t){return eX(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.edges,o=n.maxIteration;!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight);let s=i.length;n.linkDistance=ux(n.linkDistance),n.edgeStrength=ux(n.edgeStrength);let{maxEdgePerVetex:l,array:u}=nwt(i,a,n.linkDistance,n.edgeStrength);n.degrees=Qh(i.length,n.nodeIdxMap,a);let f=[],c=[],h=[],d=[],p=[],v=[],m=[];n.getMass||(n.getMass=O=>n.degrees[n.nodeIdxMap[O.id]]||1);let g=n.gravity,x=n.center;i.forEach((O,F)=>{f.push(n.getMass(O)),c.push(n.nodeStrength(O)),n.degrees[F]||(n.degrees[F]=0);let k=[x[0],x[1],g];if(n.getCenter){let G=n.getCenter(O,n.degrees[F]);G&&je(G[0])&&je(G[1])&&je(G[2])&&(k=G)}h.push(k[0]),d.push(k[1]),p.push(k[2]),je(O.fx)&&je(O.fy)?(v.push(O.fx||.001),m.push(O.fy||.001)):(v.push(0),m.push(0))});let b=tX([f,n.degrees,c,v]),S=tX([h,d,p,m]),C=n.workerEnabled,w;C?w=lx.create({canvas:e,engineOptions:{supportCompute:!0}}):w=lx.create({engineOptions:{supportCompute:!0}});let A=n.onLayoutEnd,I=[];u.forEach(O=>{I.push(O)});for(let O=0;O<4;O++)I.push(0);let P=w.createKernel(swt).setDispatch([s,1,1]).setBinding({u_Data:u,u_damping:n.damping,u_maxSpeed:n.maxSpeed,u_minMovement:n.minMovement,u_coulombDisScale:n.coulombDisScale,u_factor:n.factor,u_NodeAttributeArray1:b,u_NodeAttributeArray2:S,MAX_EDGE_PER_VERTEX:l,VERTEX_COUNT:s,u_AveMovement:I,u_interval:n.interval}),L=w.createKernel(lwt).setDispatch([1,1,1]).setBinding({u_Data:u,VERTEX_COUNT:s,u_AveMovement:[0,0,0,0]});yield(()=>eX(this,void 0,void 0,function*(){for(let F=0;F{let G=O[4*k],D=O[4*k+1];F.x=G,F.y=D}),A&&A()}))()})}getType(){return"gForce-gpu"}};var CS=class extends li{constructor(e){super();this.center=[0,0],this.maxIteration=100,this.gravity=10,this.comboGravity=10,this.linkDistance=10,this.alpha=1,this.alphaMin=.001,this.alphaDecay=1-Math.pow(this.alphaMin,1/300),this.alphaTarget=0,this.velocityDecay=.6,this.edgeStrength=.6,this.nodeStrength=30,this.preventOverlap=!1,this.preventNodeOverlap=!1,this.preventComboOverlap=!1,this.collideStrength=void 0,this.nodeCollideStrength=.5,this.comboCollideStrength=.5,this.comboSpacing=20,this.comboPadding=10,this.optimizeRangeFactor=1,this.onTick=()=>{},this.onLayoutEnd=()=>{},this.depthAttractiveForceScale=1,this.depthRepulsiveForceScale=2,this.nodes=[],this.edges=[],this.combos=[],this.comboTrees=[],this.width=300,this.height=300,this.bias=[],this.nodeMap={},this.oriComboMap={},this.indexMap={},this.comboMap={},this.previousLayouted=!1,this.updateCfg(e)}getDefaultCfg(){return{maxIteration:100,center:[0,0],gravity:10,speed:1,comboGravity:30,preventOverlap:!1,preventComboOverlap:!0,preventNodeOverlap:!0,nodeSpacing:void 0,collideStrength:void 0,nodeCollideStrength:.5,comboCollideStrength:.5,comboSpacing:20,comboPadding:10,edgeStrength:.6,nodeStrength:30,linkDistance:10}}execute(){let e=this,t=e.nodes,n=e.center;if(e.comboTree={id:"comboTreeRoot",depth:-1,children:e.comboTrees},!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}e.initVals(),e.run(),e.onLayoutEnd&&e.onLayoutEnd()}run(){let e=this,t=e.nodes,n=e.previousLayouted?e.maxIteration/5:e.maxIteration;!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let i=e.center,a=e.velocityDecay,o=e.comboMap;e.previousLayouted||e.initPos(o);for(let u=0;u{f[h]={x:0,y:0}}),e.applyCalculate(f),e.applyComboCenterForce(f),t.forEach((c,h)=>{!je(c.x)||!je(c.y)||(c.x+=f[h].x*a,c.y+=f[h].y*a)}),e.alpha+=(e.alphaTarget-e.alpha)*e.alphaDecay,e.onTick()}let s=[0,0];t.forEach(u=>{!je(u.x)||!je(u.y)||(s[0]+=u.x,s[1]+=u.y)}),s[0]/=t.length,s[1]/=t.length;let l=[i[0]-s[0],i[1]-s[1]];t.forEach((u,f)=>{!je(u.x)||!je(u.y)||(u.x+=l[0],u.y+=l[1])}),e.combos.forEach(u=>{let f=o[u.id];f&&f.empty&&(u.x=f.cx||u.x,u.y=f.cy||u.y)}),e.previousLayouted=!0}initVals(){let e=this,t=e.edges,n=e.nodes,i=e.combos,a={},o={},s={};n.forEach((L,M)=>{o[L.id]=L,s[L.id]=M}),e.nodeMap=o,e.indexMap=s;let l={};i.forEach(L=>{l[L.id]=L}),e.oriComboMap=l,e.comboMap=e.getComboMap();let u=e.preventOverlap;e.preventComboOverlap=e.preventComboOverlap||u,e.preventNodeOverlap=e.preventNodeOverlap||u;let f=e.collideStrength;f&&(e.comboCollideStrength=f,e.nodeCollideStrength=f),e.comboCollideStrength=e.comboCollideStrength?e.comboCollideStrength:0,e.nodeCollideStrength=e.nodeCollideStrength?e.nodeCollideStrength:0;for(let L=0;Ld:gf(d)?v=d:v=()=>0,this.nodeSpacing=v,!h)p=L=>L.size?ha(L.size)?(L.size[0]>L.size[1]?L.size[0]:L.size[1])/2:co(L.size)?(L.size.width>L.size.height?L.size.width:L.size.height)/2:L.size/2:10;else if(gf(h))p=L=>h(L);else if(ha(h)){let M=(h[0]>h[1]?h[0]:h[1])/2;p=O=>M}else{let L=h/2;p=M=>L}this.nodeSize=p;let m=e.comboSpacing,g;je(m)?g=()=>m:gf(m)?g=m:g=()=>0,this.comboSpacing=g;let x=e.comboPadding,b;je(x)?b=()=>x:ha(x)?b=()=>Math.max.apply(null,x):gf(x)?b=x:b=()=>0,this.comboPadding=b;let S=this.linkDistance,C;S||(S=10),je(S)?C=L=>S:C=S,this.linkDistance=C;let w=this.edgeStrength,A;w||(w=1),je(w)?A=L=>w:A=w,this.edgeStrength=A;let I=this.nodeStrength,P;I||(I=30),je(I)?P=L=>I:P=I,this.nodeStrength=P}initPos(e){this.nodes.forEach((i,a)=>{let o=i.comboId,s=e[o];o&&s?(i.x=s.cx+100/(a+1),i.y=s.cy+100/(a+1)):(i.x=100/(a+1),i.y=100/(a+1))})}getComboMap(){let e=this,t=e.nodeMap,n=e.comboTrees,i=e.oriComboMap,a={};return(n||[]).forEach(o=>{let s=[];pM(o,l=>{if(l.itemType==="node"||!i[l.id])return!0;if(a[l.id]===void 0){let c={id:l.id,name:l.id,cx:0,cy:0,count:0,depth:e.oriComboMap[l.id].depth||0,children:[]};a[l.id]=c}let u=l.children;u&&u.forEach(c=>{if(!a[c.id]&&!t[c.id])return!0;s.push(c)});let f=a[l.id];if(f.cx=0,f.cy=0,s.length===0){f.empty=!0;let c=i[l.id];f.cx=c.x,f.cy=c.y}return s.forEach(c=>{if(f.count++,c.itemType!=="node"){let d=a[c.id];je(d.cx)&&(f.cx+=d.cx),je(d.cy)&&(f.cy+=d.cy);return}let h=t[c.id];!h||(je(h.x)&&(f.cx+=h.x),je(h.y)&&(f.cy+=h.y))}),f.cx/=f.count||1,f.cy/=f.count||1,f.children=s,!0})}),a}applyComboCenterForce(e){let t=this,n=t.gravity,i=t.comboGravity||n,a=this.alpha,o=t.comboTrees,s=t.indexMap,l=t.nodeMap,u=t.comboMap;(o||[]).forEach(f=>{pM(f,c=>{if(c.itemType==="node"||!u[c.id])return!0;let d=u[c.id],p=(d.depth+1)/10*.5,v=d.cx,m=d.cy;return d.cx=0,d.cy=0,d.children.forEach(g=>{if(g.itemType!=="node"){let I=u[g.id];I&&je(I.cx)&&(d.cx+=I.cx),I&&je(I.cy)&&(d.cy+=I.cy);return}let x=l[g.id],b=x.x-v||.005,S=x.y-m||.005,C=Math.sqrt(b*b+S*S),w=s[x.id],A=i*a/C*p;e[w].x-=b*A,e[w].y-=S*A,je(x.x)&&(d.cx+=x.x),je(x.y)&&(d.cy+=x.y)}),d.cx/=d.count||1,d.cy/=d.count||1,!0})})}applyCalculate(e){let t=this,n=t.comboMap,i=t.nodes,a={};i.forEach((s,l)=>{i.forEach((u,f)=>{if(l{let u=[];pM(l,f=>{if(f.itemType==="node")return!0;let c=e[f.id];if(!c)return!1;let h=f.children;h&&h.forEach(v=>{!e[v.id]&&!i[v.id]||u.push(v)}),c.minX=1/0,c.minY=1/0,c.maxX=-1/0,c.maxY=-1/0,u.forEach(v=>{if(v.itemType!=="node")return!0;let m=i[v.id];if(!m)return!0;let g=a(m),x=m.x-g,b=m.y-g,S=m.x+g,C=m.y+g;c.minX>x&&(c.minX=x),c.minY>b&&(c.minY=b),c.maxX{if(!t[l.id]&&!s[l.id]&&l.id!=="comboTreeRoot")return!1;let u=l.children;return u&&u.length>1&&u.forEach((f,c)=>{if(f.itemType==="node")return!1;let h=t[f.id];!h||u.forEach((d,p)=>{if(c<=p||d.itemType==="node")return!1;let v=t[d.id];if(!v)return!1;let m=h.cx-v.cx||.005,g=h.cy-v.cy||.005,x=m*m+g*g,b=h.r||1,S=v.r||1,C=b+S,w=S*S,A=b*b;if(x{if(D.itemType!=="node")return!1;if(!s[D.id])return;let N=o[D.id];P.forEach(z=>{if(z.itemType!=="node"||!s[z.id])return!1;let j=o[z.id];e[N].x+=O*k,e[N].y+=F*k,e[j].x-=O*G,e[j].y-=F*G})})}})}),!0})}calRepulsive(e,t){let n=this,i=n.nodes,a=n.width*n.optimizeRangeFactor,o=n.nodeStrength,s=n.alpha,l=n.nodeCollideStrength,u=n.preventNodeOverlap,f=n.nodeSize,c=n.nodeSpacing,h=n.depthRepulsiveForceScale,d=n.center;i.forEach((p,v)=>{if(!(!p.x||!p.y)){if(d){let m=n.gravity,g=p.x-d[0]||.005,x=p.y-d[1]||.005,b=Math.sqrt(g*g+x*x);e[v].x-=g*m*s/b,e[v].y-=x*m*s/b}i.forEach((m,g)=>{if(v===g||!m.x||!m.y)return;let{vl2:x,vl:b}=t[`${p.id}-${m.id}`];if(b>a)return;let{vx:S,vy:C}=t[`${p.id}-${m.id}`],w=Math.log(Math.abs(m.depth-p.depth)/10)+1||1;w=w<1?1:w,m.comboId!==p.comboId&&(w+=1);let A=w?Math.pow(h,w):1,I=o(m)*s/x*A;if(e[v].x+=S*I,e[v].y+=C*I,v{let h=xn(f,"source"),d=xn(f,"target");if(!h||!d||h===d)return;let p=n.indexMap[h],v=n.indexMap[d],m=n.nodeMap[h],g=n.nodeMap[d];if(!m||!g)return;let x=m.depth===g.depth?0:Math.log(Math.abs(m.depth-g.depth)/10);m.comboId===g.comboId&&(x=x/2);let b=x?Math.pow(u,x):1;if(m.comboId!==g.comboId&&b===1?b=u/2:m.comboId===g.comboId&&(b=2),!je(g.x)||!je(m.x)||!je(g.y)||!je(m.y))return;let{vl:S,vx:C,vy:w}=t[`${d}-${h}`],A=(S-a(f))/S*o*s(f)*b,I=C*A,P=w*A,L=l[c];e[v].x-=I*L,e[v].y-=P*L,e[p].x+=I*(1-L),e[p].y+=P*(1-L)})}getType(){return"comboForce"}};var wS=class{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){let t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){let t=e.rx-this.rx,n=e.ry-this.ry,i=Math.hypot(t,n);i=i<1e-4?1e-4:i;let a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){let t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,o={rx:n,ry:i,mass:t,degree:a};return new wS(o)}};var iv=class{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){let n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){let e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new iv(i)}NE(){let e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new iv(i)}SW(){let e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new iv(i)}SE(){let e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new iv(i)}};var av=class{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new av(this.quad.NW()),this.NE=new av(this.quad.NE()),this.SW=new av(this.quad.SW()),this.SE=new av(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){!this.quad||(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{let t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n{},this.prune=void 0,this.updateCfg(e)}getDefaultCfg(){return{}}execute(){let e=this,{nodes:t,onLayoutEnd:n,prune:i}=e,a=e.maxIteration;!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let o=[],s=t.length;for(let l=0;l250&&(e.barnesHut=!0),e.prune===void 0&&s>100&&(e.prune=!0),this.maxIteration===0&&!e.prune?(a=250,s<=200&&s>100?a=1e3:s>200&&(a=1200),this.maxIteration=a):this.maxIteration===0&&i&&(a=100,s<=200&&s>100?a=500:s>200&&(a=950),this.maxIteration=a),e.kr||(e.kr=50,s>100&&s<=500?e.kr=20:s>500&&(e.kr=1)),e.kg||(e.kg=20,s>100&&s<=500?e.kg=10:s>500&&(e.kg=1)),this.nodes=e.updateNodesByForces(o),n()}updateNodesByForces(e){let t=this,{edges:n,maxIteration:i}=t,a=t.nodes,o=n.filter(p=>{let v=xn(p,"source"),m=xn(p,"target");return v!==m}),s=a.length,l=o.length,u=[],f={},c={},h=[];for(let p=0;p0;){for(let C=0;Cm||!f)?g=this.getOptRepGraForces(g,b,a):g=this.getRepGraForces(v,m,g,p,o,a);let S=this.updatePos(g,x,d,a);l=S.nodes,d=S.sg,v--,s.tick&&s.tick()}return l}getAttrForces(e,t,n,i,a,o,s,l){let u=this,{nodes:f,preventOverlap:c,dissuadeHubs:h,mode:d,prune:p}=u;for(let v=0;v0&&(w=C,A=C),l[2*i[m.id]]+=w*S[0],l[2*i[x.id]]-=A*S[0],l[2*i[m.id]+1]+=w*S[1],l[2*i[x.id]+1]-=A*S[1]}return l}getRepGraForces(e,t,n,i,a,o){let s=this,{nodes:l,preventOverlap:u,kr:f,kg:c,center:h,prune:d}=s,p=l.length;for(let v=0;v0&&(w=f*(o[v]+1)*(o[b]+1)/C),n[2*v]-=w*S[0],n[2*b]+=w*S[0],n[2*v+1]-=w*S[1],n[2*b+1]+=w*S[1]}let m=[l[v].x-h[0],l[v].y-h[1]],g=Math.hypot(m[0],m[1]);m[0]=m[0]/g,m[1]=m[1]/g;let x=c*(o[v]+1);n[2*v]-=x*m[0],n[2*v+1]-=x*m[1]}return n}getOptRepGraForces(e,t,n){let i=this,{nodes:a,kg:o,center:s,prune:l}=i,u=a.length,f=9e10,c=-9e10,h=9e10,d=-9e10;for(let x=0;x=c&&(c=a[x].x),a[x].x<=f&&(f=a[x].x),a[x].y>=d&&(d=a[x].y),a[x].y<=h&&(h=a[x].y));let p=Math.max(c-f,d-h),v={xmid:(c+f)/2,ymid:(d+h)/2,length:p,massCenter:s,mass:u},m=new iv(v),g=new av(m);for(let x=0;x1.5*m?1.5*m:n);for(let g=0;gS?S:x;let C=x*e[2*g],w=x*e[2*g+1];o[g].x+=C,o[g].y+=w}return{nodes:o,sg:n}}};var Ef=class{constructor(){this.cells=[],this.columnNum=0,this.rowNum=0,this.additionColumn=[],this.additionRow=[]}init(e,t,n){this.cells=[],this.CELL_W=n.CELL_W||Ef.DEFAULT_CELL_W,this.CELL_H=n.CELL_H||Ef.DEFAULT_CELL_H,this.columnNum=Math.ceil(e/this.CELL_W),this.rowNum=Math.ceil(t/this.CELL_H),Ef.MIN_DIST=Math.pow(e,2)+Math.pow(t,2);for(let i=0;ie;n--)for(let i=0;i=e&&(this.additionColumn[n]+=t);for(let n=0;ne;i--)this.cells[n][i+t]=Object.assign(Object.assign({},this.cells[n][i]),{dx:n,dy:i+t,x:n*this.CELL_W,y:(i+t)*this.CELL_H}),this.cells[n][i]={dx:n,dy:i,x:n*this.CELL_W,y:i*this.CELL_H,occupied:!1,node:null};for(let n=0;n=e&&(this.additionRow[n]+=t);for(let n=0;n{let u=l.size[0]||50,f=l.size[1]||50;a=Math.min(u,a),o=Math.min(f,o)});let s=new Ef;s.init(t,n,{CELL_H:o,CELL_W:a}),r.nodes.forEach(l=>{let u=s.occupyNearest(l);u&&(u.node={id:l.id,size:l.size},l.x=u.x,l.y=u.y,l.dx=u.dx,l.dy=u.dy)});for(let l=0;la){let d=Math.ceil((u.size[0]+i)/a)-1,p=d;for(let v=0;v-1&&!s.cells[c+v+1][h].node);v++)p--;s.insertColumn(c,p)}if(u.size[1]+i>o){let d=Math.ceil((u.size[1]+i)/o)-1,p=d;for(let v=0;v-1&&!s.cells[c][h+v+1].node);v++)p--;s.insertRow(h,p)}}for(let l=0;l{var d;return h.id===((d=f==null?void 0:f.node)===null||d===void 0?void 0:d.id)});c&&(c.x=f.x+c.size[0]/2,c.y=f.y+c.size[1]/2)}}}var uwt=1200,fwt=800,VN=1e7,tT=10,cwt=3.141592653589793,nX=1.5707963267948966,yhe=cwt*.375,xhe=cwt*.625,HN=new Map,bhe=10,_he=10,iX=.8,hwt=.1,She=.5;function Che(r,e,t){let n=r.x-r.size[0]/2,i=r.y-r.size[1]/2,a=r.x+r.size[0]/2,o=r.y+r.size[1]/2,s=e.x-e.size[0]/2,l=e.y-e.size[1]/2,u=e.x+e.size[0]/2,f=e.y+e.size[1]/2,c=r.x,h=r.y,d=e.x,p=e.y,v=d-c,m=Math.atan2(v,p-h),g=0,x=0,b=0,S=0;m>nX?(x=i-f,g=s-a,b=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)),S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):0g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):m<-nX?(x=i-f,g=-(u-n),x>g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):(x=l-o,Math.abs(v)>(a-n)/2?g=n-u:g=v,x>g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g&&m!==0?(g/Math.sin(m)).toFixed(2):x.toFixed(2)));let C=parseFloat(m.toFixed(2)),w=t;return t&&(w=yheA.source===e.id||A.target===e.id),i=r.size[0]*r.size[1],a=e.size[0]*e.size[1],o=i>a?e:r,s=i>a?r:e,l=o.x-o.size[0]/2,u=o.y-o.size[1]/2,f=o.x+o.size[0]/2,c=o.y+o.size[1]/2,h=s.x-s.size[0]/2,d=s.y-s.size[1]/2,p=s.x+s.size[0]/2,v=s.y+s.size[1]/2,m=o.x,g=o.y,x=s.x,b=s.y,S=f>=h&&p>=l&&c>=d&&v>=u,C=0,w=0;if(S){w=Math.sqrt(Math.pow(x-m,2)+Math.pow(b-g,2));let A=l>h?l:h,I=u>d?u:d,P=fuwt||n.y>fwt)&&(e+=1e12);for(let i=t+1;i{i.set(l.id,l)});let a=n.filter(l=>l.source===r.id||l.target===r.id)||[],o=[];a.forEach(l=>{let u=l.source===r.id?l.target:l.source,f=i.get(u);f&&o.push(f)});let s=!0;for(let l=0;l150,d=c<30||c>150,p=f>70&&f<110,v=c>70&&c<110;if(h&&!d||f*c<0){s=!1;break}else if(p&&!v||f*c<0){s=!1;break}else if((u.x-r.x)*(u.x-e.x)<0){s=!1;break}else if((u.y-r.y)*(u.y-e.y)<0){s=!1;break}}return s}function Ehe(r,e){let t=!1,n=1,i=bhe*n,a=_he*n,o=[i,-i,0,0],s=[0,0,a,-a];for(let l=0;lhwt?(f=d,t=!0):(u.x-=o[c],u.y-=s[c])}}return iX>hwt&&(iX*=She),t?pwt(r):0}function vwt(r,e){let t=0;(r.x<0||r.y<0||r.x+r.size[0]+20>uwt||r.y+r.size[1]+20>fwt)&&(t+=1e12);for(let n=0;n{let u=e.filter(f=>f.source===l.id||f.target===l.id);HN.set(l,u)}),r.sort((l,u)=>{var f,c;return((f=HN.get(l.id))===null||f===void 0?void 0:f.length)-((c=HN.get(u.id))===null||c===void 0?void 0:c.length)});let t=pwt(r),n=20,i=1,a=0,o=50,s=0;for(;n>0&&(s++,!(s>=o));){let l=Ehe(r,e);l!==0&&(a=l),i=a-t,t=a,i===0?--n:n=20}return r.forEach(l=>{l.x=l.x-l.size[0]/2,l.y=l.y-l.size[1]/2}),{nodes:r,edges:e}}var mwt=Ahe;function aX(r,e){let{nodes:t,edges:n}=r,i=e.width,a=e.height;if(!(t==null?void 0:t.length))return Promise.resolve();let o=[];t.forEach(p=>{if(n.filter(m=>m.source===p.id||m.target===p.id).length>1){let m=Object.assign({},p);delete m.size,o.push(m)}});let s=[];n.forEach(p=>{let v=o.find(g=>g.id===p.source),m=o.find(g=>g.id===p.target);v&&m&&s.push(p)});let l=new xg({type:"dagre",ranksep:e.nodeMinGap,nodesep:e.nodeMinGap}),{nodes:u}=l.layout({nodes:o,edges:s});t.forEach(p=>{let v=(u||[]).find(m=>m.id===p.id);p.x=(v==null?void 0:v.x)||i/2,p.y=(v==null?void 0:v.y)||a/2});let f=JSON.parse(JSON.stringify(t)),c=JSON.parse(JSON.stringify(n)),h=G0().nodes(f).force("link",yg(c).id(p=>p.id).distance(p=>s.find(m=>m.source===p.source&&m.target===p.target)?30:20)).force("charge",z0()).force("center",vM(i/2,a/2)).force("x",gM(i/2)).force("y",yM(a/2)).alpha(.3).alphaDecay(.08).alphaMin(.001);return new Promise(p=>{h.on("end",()=>{t.forEach(C=>{let w=f.find(A=>A.id===C.id);w&&(C.x=w.x,C.y=w.y)});let v=Math.min(...t.map(C=>C.x)),m=Math.max(...t.map(C=>C.x)),g=Math.min(...t.map(C=>C.y)),x=Math.max(...t.map(C=>C.y)),b=i/(m-v),S=a/(x-g);t.forEach(C=>{C.x!==void 0&&b<1&&(C.x=(C.x-v)*b),C.y!==void 0&&S<1&&(C.y=(C.y-g)*S)}),t.forEach(C=>{C.sizeTemp=C.size,C.size=[10,10]}),mwt(t,n),t.forEach(C=>{C.size=C.sizeTemp||[],delete C.sizeTemp}),rX({nodes:t,edges:n},e),p()})})}var YN=class extends li{constructor(e){super();this.width=300,this.height=300,this.nodeMinGap=50,this.onLayoutEnd=()=>{},e&&this.updateCfg(e)}getDefaultCfg(){return{width:300,height:300,nodeMinGap:50}}execute(){let e=this,t=e.nodes,n=e.edges;return t==null||t.forEach(i=>{i.size||(i.size=[50,50])}),aX({nodes:t,edges:n},{width:this.width,height:this.height,nodeMinGap:this.nodeMinGap}).then(()=>{e.onLayoutEnd&&e.onLayoutEnd()})}getType(){return"er"}};var Lg={force:W_,fruchterman:K_,forceAtlas2:ES,gForce:U_,dagre:xg,circular:V_,radial:Y_,concentric:X_,grid:G_,mds:q_,comboForce:CS,random:z_,"gForce-gpu":SS,"fruchterman-gpu":_S,er:YN};var cX=U(sX());var lX={};Dn(lX,{arrayToTextureData:()=>Phe,attributesToTextureData:()=>Dhe,buildTextureData:()=>Ihe,buildTextureDataWithOneEdgeAttr:()=>Lhe,buildTextureDataWithTwoEdgeAttr:()=>Ohe,proccessToFunc:()=>The,radialLayout:()=>khe});var gwt=U(q()),ywt=Pa.traverseTree,The=function(e,t){var n;return e?(0,gwt.isNumber)(e)?n=function(a){return e}:n=e:n=function(a){return t||1},n},Ihe=function(e,t){var n=[],i=[],a={},o=0;for(o=0;o=0&&(s="x",o="y");var l=0;ywt(e,function(c){return l++,c.x>a.x&&(a.x=c.x),c.xa.y&&(a.y=c.y),c.yuX});var uX=function r(){return typeof window=="undefined"||typeof document=="undefined"?{}:{canvas:!!window.CanvasRenderingContext2D,webgl:function(){try{var e=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(e.getContext("webgl")||e.getContext("experimental-webgl")))}catch(t){return!1}}(),workers:!!window.Worker,fileapi:window.File&&window.FileReader&&window.FileList&&window.Blob,getWebGLErrorMessage:function(){var t=document.createElement("div");return t.id="webgl-error-message",t.style.fontFamily="monospace",t.style.fontSize="13px",t.style.fontWeight="normal",t.style.textAlign="center",t.style.background="#fff",t.style.color="#000",t.style.padding="1.5em",t.style.width="400px",t.style.margin="5em auto 0",this.webgl||(t.innerHTML=window.WebGLRenderingContext?['Your graphics card does not seem to support WebGL.
      ','Find out how to get it here.'].join(` +#endif`,QY=(TCt=(0,SS.injectable)(),ICt=(0,SS.inject)(Qt.RenderEngine),LCt=(0,SS.inject)(Qt.ShaderModuleService),OCt=(0,SS.inject)(Qt.ConfigService),TCt(DCt=(nT=(NCt=function(){function r(){se(this,r),this.container=void 0,Ke(this,"engine",PCt,this),Ke(this,"shaderModule",kCt,this),Ke(this,"configService",RCt,this),this.inited=!1,this.rendering=!1,this.pendings=[],this.views=[],this.size=void 0}return be(r,[{key:"init",value:function(){var e=Fr(rT.default.mark(function n(){var i,a,o,s,l;return rT.default.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(this.shaderModule.registerBuiltinModules(),this.shaderModule.registerModule("uv.vert.declaration",{vs:Fhe}),this.shaderModule.registerModule("uv.vert.main",{vs:Bhe}),this.shaderModule.registerModule("uv.frag.declaration",{fs:Nhe}),this.shaderModule.registerModule("map.frag.declaration",{fs:khe}),this.shaderModule.registerModule("map.frag.main",{fs:Rhe}),i=this.container.getAll(Qt.Systems),a=this.configService.get(),!a.canvas){f.next=30;break}return f.next=11,this.engine.init({canvas:a.canvas,swapChainFormat:GCt.TextureFormat.BGRA8Unorm,antialiasing:!1});case 11:o=FCt(i),f.prev=12,o.s();case 14:if((s=o.n()).done){f.next=21;break}if(l=s.value,!l.initialize){f.next=19;break}return f.next=19,l.initialize();case 19:f.next=14;break;case 21:f.next=26;break;case 23:f.prev=23,f.t0=f.catch(12),o.e(f.t0);case 26:return f.prev=26,o.f(),f.finish(26);case 29:this.inited=!0;case 30:case"end":return f.stop()}},n,this,[[12,23,26,29]])}));function t(){return e.apply(this,arguments)}return t}()},{key:"render",value:function(){var e=Fr(rT.default.mark(function n(){var i,a,o,s,l,u,f,c=arguments;return rT.default.wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(!(!this.inited||this.rendering)){d.next=2;break}return d.abrupt("return");case 2:for(this.pendings.length&&this.pendings.forEach(function(p){p()}),this.rendering=!0,this.engine.beginFrame(),i=this.container.getAll(Qt.Systems),a=c.length,o=new Array(a),s=0;s0&&arguments[0]!==void 0?arguments[0]:{},n=mY(),i=navigator.gpu?FY:OY;n.isBound(Qt.RenderEngine)||n.bind(Qt.RenderEngine).to(i).inSingletonScope(),n.bind(QY).toSelf(),n.bind(LN).toSelf(),n.bind(Iu).toSelf(),n.bind(nX).toSelf(),n.bind(EN).toSelf(),n.bind(JY).toSelf(),n.bind(r).toSelf(),n.bind(HN).toSelf(),n.bind(eX).toSelf(),n.bind(Qt.Geometry).to(q1t).whenTargetNamed(Ql.BOX),n.bind(Qt.Geometry).to(s_t).whenTargetNamed(Ql.SPHERE),n.bind(Qt.Geometry).to(n_t).whenTargetNamed(Ql.PLANE),n.bind(Qt.Geometry).to(J1t).whenTargetNamed(Ql.MERGED),n.bind(Qt.Material).to(v_t).whenTargetNamed(WM.BASIC),n.bind(Qt.Renderable).to(MCt).whenTargetNamed(Iu.POINT),n.bind(Qt.Renderable).to(dCt).whenTargetNamed(Iu.LINE),n.bind(Qt.Renderable).to(M_t).whenTargetNamed(Iu.GRID);var a=n.get(r);return a.setContainer(n),a.setConfig(t),a}}]),r}(),dwt),hwt=Ze(aX.prototype,"configService",[fwt],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),aX))||cwt);var dx=(r,e)=>{let t;return r?je(r)?t=()=>r:t=r:t=()=>e||1,t},mwt=(r,e)=>{let t=[],n=[],i={},a=0;for(a=0;a{let i=[],a=[],o={},s=0;for(s=0;s{let t=[],n=r.length,i={};return e.forEach(a=>{r.forEach((o,s)=>{if(i[a[o]]===void 0&&(i[a[o]]=Object.keys(i).length),t.push(i[a[o]]),s===n-1)for(;t.length%4!=0;)t.push(0)})}),{array:new Float32Array(t),count:Object.keys(i).length}},oX=r=>{let e=[],t=r.length,n=r[0].length;for(let i=0;i{if(e.push(a[i]),o===t-1)for(;e.length%4!=0;)e.push(0)});return new Float32Array(e)};var xwt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_K : f32;\\n [[offset 4]] u_K2 : f32;\\n [[offset 8]] u_Center : vec2;\\n [[offset 16]] u_Gravity : f32;\\n [[offset 20]] u_ClusterGravity : f32;\\n [[offset 24]] u_Speed : f32;\\n [[offset 28]] u_MaxDisplace : f32;\\n [[offset 32]] u_Clustering : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AttributeArray : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_ClusterCenters : [[stride 16]] array>;\\n};\\n[[binding 3, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn calcRepulsive(i : i32, currentNode : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {if (i != j) {var nextNode : vec4 = gWebGPUBuffer0.u_Data[j];\\nvar xDist : f32 = currentNode.x - nextNode.x;\\nvar yDist : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nvar param : f32 = gWebGPUUniformParams.u_K2 / dist;\\nif (dist > 0.0) {dx = dx + param * xDist;\\ndy = dy + param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {var sign : f32 = select(1.0, -1.0, i < j);\\ndx = dx + param * std::sign;\\ndy = dy + param * std::sign;}}}}\\nreturn vec2(dx, dy);}\\nfn calcGravity(currentNode : vec4, nodeAttributes : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nvar vx : f32 = currentNode.x - gWebGPUUniformParams.u_Center.x;\\nvar vy : f32 = currentNode.y - gWebGPUUniformParams.u_Center.y;\\nvar gf : f32 = (0.01 * gWebGPUUniformParams.u_K) * gWebGPUUniformParams.u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (gWebGPUUniformParams.u_Clustering == 1.0) {var clusterIdx : i32 = i32(nodeAttributes.x);\\nvar center : vec4 = gWebGPUBuffer2.u_ClusterCenters[clusterIdx];\\nvar cvx : f32 = currentNode.x - center.x;\\nvar cvy : f32 = currentNode.y - center.y;\\nvar dist : f32 = std::sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nvar parma : f32 = (gWebGPUUniformParams.u_K * gWebGPUUniformParams.u_ClusterGravity) / dist;\\ndx = dx + parma * cvx;\\ndy = dy + parma * cvy;}\\nreturn vec2(dx, dy);}\\nfn calcAttractive(i : i32, currentNode : vec4) -> vec2 {var dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nvar arr_offset : i32 = i32(std::floor(currentNode.z + 0.5));\\nvar length : i32 = i32(std::floor(currentNode.w + 0.5));\\nvar node_buffer : vec4;\\nfor (var p : i32 = 0; p < __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX; p = p + 1) {if (p >= length) {break;}\\nvar arr_idx : i32 = arr_offset + i32(p);\\nvar buf_offset : i32 = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[i32(arr_idx / 4)];}\\nvar float_j : f32 = select(node_buffer.x, select(node_buffer.y, select(node_buffer.z, node_buffer.w, buf_offset == 2), buf_offset == 1), buf_offset == 0);\\nvar nextNode : vec4 = gWebGPUBuffer0.u_Data[i32(float_j)];\\nvar xDist : f32 = currentNode.x - nextNode.x;\\nvar yDist : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = std::sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nvar attractiveF : f32 = dist / gWebGPUUniformParams.u_K;\\nif (dist > 0.0) {dx = dx - xDist * attractiveF;\\ndy = dy - yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {var sign : f32 = select(1.0, -1.0, i < i32(float_j));\\ndx = dx - std::sign * attractiveF;\\ndy = dy - std::sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar currentNode : vec4 = gWebGPUBuffer0.u_Data[i];\\nvar dx : f32 = 0.0;\\nvar dy : f32 = 0.0;\\nif (i >= __DefineValuePlaceholder__VERTEX_COUNT) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvar nodeAttributes : vec4 = gWebGPUBuffer1.u_AttributeArray[i];\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w);\\nreturn ;}\\nvar repulsive : vec2 = calcRepulsive(i, currentNode);\\ndx = dx + repulsive.x;\\ndy = dy + repulsive.y;\\nvar attractive : vec2 = calcAttractive(i, currentNode);\\ndx = dx + attractive.x;\\ndy = dy + attractive.y;\\nvar gravity : vec2 = calcGravity(currentNode, nodeAttributes);\\ndx = dx - gravity.x;\\ndy = dy - gravity.y;\\ndx = dx * gWebGPUUniformParams.u_Speed;\\ndy = dy * gWebGPUUniformParams.u_Speed;\\nvar distLength : f32 = std::sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {var limitedDist : f32 = std::min(gWebGPUUniformParams.u_MaxDisplace * gWebGPUUniformParams.u_Speed, distLength);\\ngWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w);}\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_K;\\n float u_K2;\\n vec2 u_Center;\\n float u_Gravity;\\n float u_ClusterGravity;\\n float u_Speed;\\n float u_MaxDisplace;\\n float u_Clustering;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer readonly GWebGPUBuffer1 {\\n vec4 u_AttributeArray[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 3) buffer readonly GWebGPUBuffer2 {\\n vec4 u_ClusterCenters[];\\n} gWebGPUBuffer2;\\n\\n\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvec2 calcRepulsive(int i, vec4 currentNode) {float dx = 0.0;\\nfloat dy = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = gWebGPUBuffer0.u_Data[j];\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat param = gWebGPUUniformParams.u_K2 / dist;\\nif (dist > 0.0) {dx += param * xDist;\\ndy += param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < j) ? (1.0) : (-1.0);\\ndx += param * sign;\\ndy += param * sign;}}}}\\nreturn vec2(dx, dy);}\\nvec2 calcGravity(vec4 currentNode, vec4 nodeAttributes) {float dx = 0.0;\\nfloat dy = 0.0;\\nfloat vx = currentNode.x - gWebGPUUniformParams.u_Center.x;\\nfloat vy = currentNode.y - gWebGPUUniformParams.u_Center.y;\\nfloat gf = (0.01 * gWebGPUUniformParams.u_K) * gWebGPUUniformParams.u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (gWebGPUUniformParams.u_Clustering == 1.0) {int clusterIdx = int(nodeAttributes.x);\\nvec4 center = gWebGPUBuffer2.u_ClusterCenters[clusterIdx];\\nfloat cvx = currentNode.x - center.x;\\nfloat cvy = currentNode.y - center.y;\\nfloat dist = sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nfloat parma = (gWebGPUUniformParams.u_K * gWebGPUUniformParams.u_ClusterGravity) / dist;\\ndx += parma * cvx;\\ndy += parma * cvy;}\\nreturn vec2(dx, dy);}\\nvec2 calcAttractive(int i, vec4 currentNode) {float dx = 0.0;\\nfloat dy = 0.0;\\nint arr_offset = int(floor(currentNode.z + 0.5));\\nint length = int(floor(currentNode.w + 0.5));\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + int(p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[int(arr_idx / 4)];}\\nfloat float_j = (buf_offset == 0) ? (node_buffer.x) : ((buf_offset == 1) ? (node_buffer.y) : ((buf_offset == 2) ? (node_buffer.z) : (node_buffer.w)));\\nvec4 nextNode = gWebGPUBuffer0.u_Data[int(float_j)];\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat attractiveF = dist / gWebGPUUniformParams.u_K;\\nif (dist > 0.0) {dx -= xDist * attractiveF;\\ndy -= yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < int(float_j)) ? (1.0) : (-1.0);\\ndx -= sign * attractiveF;\\ndy -= sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nvoid main() {int i = globalInvocationID.x;\\nvec4 currentNode = gWebGPUBuffer0.u_Data[i];\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (i >= VERTEX_COUNT) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvec4 nodeAttributes = gWebGPUBuffer1.u_AttributeArray[i];\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w);\\nreturn ;}\\nvec2 repulsive = calcRepulsive(i, currentNode);\\ndx += repulsive.x;\\ndy += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode);\\ndx += attractive.x;\\ndy += attractive.y;\\nvec2 gravity = calcGravity(currentNode, nodeAttributes);\\ndx -= gravity.x;\\ndy -= gravity.y;\\ndx *= gWebGPUUniformParams.u_Speed;\\ndy *= gWebGPUUniformParams.u_Speed;\\nfloat distLength = sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {float limitedDist = min(gWebGPUUniformParams.u_MaxDisplace * gWebGPUUniformParams.u_Speed, distLength);\\ngWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w);}}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_K;\\nuniform float u_K2;\\nuniform vec2 u_Center;\\nuniform float u_Gravity;\\nuniform float u_ClusterGravity;\\nuniform float u_Speed;\\nuniform float u_MaxDisplace;\\nuniform float u_Clustering;\\nuniform sampler2D u_AttributeArray;\\nuniform vec2 u_AttributeArraySize;\\nvec4 getDatau_AttributeArray(vec2 address2D) {\\n return vec4(texture2D(u_AttributeArray, address2D).rgba);\\n}\\nvec4 getDatau_AttributeArray(float address1D) {\\n return getDatau_AttributeArray(addrTranslation_1Dto2D(address1D, u_AttributeArraySize));\\n}\\nvec4 getDatau_AttributeArray(int address1D) {\\n return getDatau_AttributeArray(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = ((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat param = u_K2 / dist;\\nif (dist > 0.0) {dx += param * xDist;\\ndy += param * yDist;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < j) ? (1.0) : (-1.0);\\ndx += param * sign;\\ndy += param * sign;}}}}\\nreturn vec2(dx, dy);}\\nvec2 calcGravity(vec4 currentNode, vec4 nodeAttributes) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nfloat vx = currentNode.x - u_Center.x;\\nfloat vy = currentNode.y - u_Center.y;\\nfloat gf = (0.01 * u_K) * u_Gravity;\\ndx = gf * vx;\\ndy = gf * vy;\\nif (u_Clustering == 1.0) {int clusterIdx = int(nodeAttributes.x);\\nvec4 center = getDatau_ClusterCenters(clusterIdx);\\nfloat cvx = currentNode.x - center.x;\\nfloat cvy = currentNode.y - center.y;\\nfloat dist = sqrt((cvx * cvx) + (cvy * cvy)) + 0.01;\\nfloat parma = (u_K * u_ClusterGravity) / dist;\\ndx += parma * cvx;\\ndy += parma * cvy;}\\nreturn vec2(dx, dy);}\\nvec2 calcAttractive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nint arr_offset = int(floor(currentNode.z + 0.5));\\nint length = int(floor(currentNode.w + 0.5));\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + int(p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = (buf_offset == 0) ? (node_buffer.x) : ((buf_offset == 1) ? (node_buffer.y) : ((buf_offset == 2) ? (node_buffer.z) : (node_buffer.w)));\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat xDist = currentNode.x - nextNode.x;\\nfloat yDist = currentNode.y - nextNode.y;\\nfloat dist = sqrt((xDist * xDist) + (yDist * yDist)) + 0.01;\\nfloat attractiveF = dist / u_K;\\nif (dist > 0.0) {dx -= xDist * attractiveF;\\ndy -= yDist * attractiveF;\\nif ((xDist == 0.0) && (yDist == 0.0)) {float sign = (i < int(float_j)) ? (1.0) : (-1.0);\\ndx -= sign * attractiveF;\\ndy -= sign * attractiveF;}}}\\nreturn vec2(dx, dy);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (i >= VERTEX_COUNT) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes = getDatau_AttributeArray(i);\\nif ((nodeAttributes.y != 0.0) && (nodeAttributes.z != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes.y, nodeAttributes.z, currentNode.z, currentNode.w));\\nreturn ;}\\nvec2 repulsive = calcRepulsive(i, currentNode);\\ndx += repulsive.x;\\ndy += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode);\\ndx += attractive.x;\\ndy += attractive.y;\\nvec2 gravity = calcGravity(currentNode, nodeAttributes);\\ndx -= gravity.x;\\ndy -= gravity.y;\\ndx *= u_Speed;\\ndy *= u_Speed;\\nfloat distLength = sqrt((dx * dx) + (dy * dy));\\nif (distLength > 0.0) {float limitedDist = min(u_MaxDisplace * u_Speed, distLength);\\ngl_FragColor = vec4(vec4(currentNode.x + ((dx / distLength) * limitedDist), currentNode.y + ((dy / distLength) * limitedDist), currentNode.z, currentNode.w));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_K","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_K2","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Center","type":"vec2","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Gravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterGravity","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Speed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_MaxDisplace","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_Clustering","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AttributeArray","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}';var bwt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\n\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 0, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_NodeAttributes : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_ClusterCenters : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar center : vec4 = gWebGPUBuffer2.u_ClusterCenters[i];\\nvar sumx : f32 = 0.0;\\nvar sumy : f32 = 0.0;\\nvar count : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {var attributes : vec4 = gWebGPUBuffer1.u_NodeAttributes[j];\\nvar clusterIdx : i32 = i32(attributes.x);\\nvar vertex : vec4 = gWebGPUBuffer0.u_Data[j];\\nif (clusterIdx == i) {sumx = sumx + vertex.x;\\nsumy = sumy + vertex.y;\\ncount = count + 1.0;}}\\ngWebGPUBuffer2.u_ClusterCenters[i] = vec4(sumx / count, sumy / count, count, i);\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\n\\nlayout(std430, set = 0, binding = 0) buffer readonly GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 1) buffer readonly GWebGPUBuffer1 {\\n vec4 u_NodeAttributes[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 2) buffer GWebGPUBuffer2 {\\n vec4 u_ClusterCenters[];\\n} gWebGPUBuffer2;\\n\\n\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define CLUSTER_COUNT __DefineValuePlaceholder__CLUSTER_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\nvoid main() {int i = globalInvocationID.x;\\nvec4 center = gWebGPUBuffer2.u_ClusterCenters[i];\\nfloat sumx = 0.0;\\nfloat sumy = 0.0;\\nfloat count = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 attributes = gWebGPUBuffer1.u_NodeAttributes[j];\\nint clusterIdx = int(attributes.x);\\nvec4 vertex = gWebGPUBuffer0.u_Data[j];\\nif (clusterIdx == i) {sumx += vertex.x;\\nsumy += vertex.y;\\ncount += 1.0;}}\\ngWebGPUBuffer2.u_ClusterCenters[i] = vec4(sumx / count, sumy / count, count, i);}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define CLUSTER_COUNT __DefineValuePlaceholder__CLUSTER_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributes;\\nuniform vec2 u_NodeAttributesSize;\\nvec4 getDatau_NodeAttributes(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributes, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributes(float address1D) {\\n return getDatau_NodeAttributes(addrTranslation_1Dto2D(address1D, u_NodeAttributesSize));\\n}\\nvec4 getDatau_NodeAttributes(int address1D) {\\n return getDatau_NodeAttributes(float(address1D));\\n}\\nuniform sampler2D u_ClusterCenters;\\nuniform vec2 u_ClusterCentersSize;\\nvec4 getDatau_ClusterCenters(vec2 address2D) {\\n return vec4(texture2D(u_ClusterCenters, address2D).rgba);\\n}\\nvec4 getDatau_ClusterCenters(float address1D) {\\n return getDatau_ClusterCenters(addrTranslation_1Dto2D(address1D, u_ClusterCentersSize));\\n}\\nvec4 getDatau_ClusterCenters(int address1D) {\\n return getDatau_ClusterCenters(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 center = getDatau_ClusterCenters(i);\\nfloat sumx = 0.0;\\nfloat sumy = 0.0;\\nfloat count = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 attributes = getDatau_NodeAttributes(j);\\nint clusterIdx = int(attributes.x);\\nvec4 vertex = getDatau_Data(j);\\nif (clusterIdx == i) {sumx += vertex.x;\\nsumy += vertex.y;\\ncount += 1.0;}}\\ngl_FragColor = vec4(vec4(sumx / count, sumy / count, count, i));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"CLUSTER_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributes","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_ClusterCenters","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_ClusterCenters","size":[1,1],"length":1},"needPingpong":true}}';var qN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},wS=class extends li{constructor(e){super();this.maxIteration=1e3,this.gravity=10,this.speed=1,this.clustering=!1,this.clusterField="cluster",this.clusterGravity=10,this.workerEnabled=!1,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:1e3,gravity:10,speed:1,clustering:!1,clusterGravity:10}}execute(){return qN(this,void 0,void 0,function*(){let e=this,t=e.nodes;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let n=e.center;if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}let i={},a={};t.forEach((o,s)=>{je(o.x)||(o.x=Math.random()*this.width),je(o.y)||(o.y=Math.random()*this.height),i[o.id]=o,a[o.id]=s}),e.nodeMap=i,e.nodeIdxMap=a,yield e.run()})}executeWithWorker(e,t){return qN(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.center;if(!i||i.length===0)return;if(i.length===1){i[0].x=a[0],i[0].y=a[1];return}let o={},s={};i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*this.width),je(l.y)||(l.y=Math.random()*this.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,yield n.run(e,t)})}run(e,t){return qN(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.edges,o=n.maxIteration,s=n.center,l=n.height*n.width,u=Math.sqrt(l)/10,f=l/(i.length+1),c=Math.sqrt(f),h=n.speed,d=n.clustering,{array:p,count:v}=ywt([n.clusterField],i);i.forEach((O,M)=>{let I=0,R=0;je(O.fx)&&je(O.fy)&&(I=O.fx||.001,R=O.fy||.001),p[4*M+1]=I,p[4*M+2]=R});let m=i.length,{maxEdgePerVetex:g,array:x}=mwt(i,a),b=n.workerEnabled,S;b?S=hx.create({canvas:e,engineOptions:{supportCompute:!0}}):S=hx.create({engineOptions:{supportCompute:!0}});let C=n.onLayoutEnd,w=[];for(let O=0;OqN(this,void 0,void 0,function*(){for(let M=0;M{let R=O[4*I],P=O[4*I+1];M.x=R,M.y=P}),C&&C()}))()})}getType(){return"fruchterman-gpu"}};var _wt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_damping : f32;\\n [[offset 4]] u_maxSpeed : f32;\\n [[offset 8]] u_minMovement : f32;\\n \\n [[offset 12]] u_coulombDisScale : f32;\\n [[offset 16]] u_factor : f32;\\n \\n \\n [[offset 20]] u_interval : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AveMovement : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\ntype GWebGPUBuffer2 = [[block]] struct {\\n [[offset 0]] u_NodeAttributeArray1 : [[stride 16]] array>;\\n};\\n[[binding 3, set 0]] var gWebGPUBuffer2 : GWebGPUBuffer2;\\ntype GWebGPUBuffer3 = [[block]] struct {\\n [[offset 0]] u_NodeAttributeArray2 : [[stride 16]] array>;\\n};\\n[[binding 4, set 0]] var gWebGPUBuffer3 : GWebGPUBuffer3;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nfn unpack_float(packedValue : f32) -> vec2 {var packedIntValue : i32 = i32(packedValue);\\nvar v0 : i32 = packedIntValue / 1048576;\\nreturn vec2(v0, packedIntValue - (v0 * 1048576));}\\nfn calcRepulsive(i : i32, currentNode : vec4) -> vec2 {var ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {if (i != j) {var nextNode : vec4 = gWebGPUBuffer0.u_Data[j];\\nvar vx : f32 = currentNode.x - nextNode.x;\\nvar vy : f32 = currentNode.y - nextNode.y;\\nvar dist : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.01;\\nvar n_dist : f32 = (dist + 0.1) * gWebGPUUniformParams.u_coulombDisScale;\\nvar direx : f32 = vx / dist;\\nvar direy : f32 = vy / dist;\\nvar attributesi : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvar attributesj : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[j];\\nvar massi : f32 = attributesi.x;\\nvar nodeStrengthi : f32 = attributesi.z;\\nvar nodeStrengthj : f32 = attributesj.z;\\nvar nodeStrength : f32 = (nodeStrengthi + nodeStrengthj) / 2.0;\\nvar param : f32 = (nodeStrength * gWebGPUUniformParams.u_factor) / (n_dist * n_dist);\\nax = ax + direx * param;\\nay = ay + direy * param;}}\\nreturn vec2(ax, ay);}\\nfn calcGravity(i : i32, currentNode : vec4, attributes2 : vec4) -> vec2 {var vx : f32 = currentNode.x - attributes2.x;\\nvar vy : f32 = currentNode.y - attributes2.y;\\nvar ax : f32 = vx * attributes2.z;\\nvar ay : f32 = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nfn calcAttractive(i : i32, currentNode : vec4, attributes1 : vec4) -> vec2 {var mass : f32 = attributes1.x;\\nvar ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nvar compressed : vec2 = unpack_float(currentNode.z);\\nvar length : i32 = compressed.x;\\nvar arr_offset : i32 = compressed.y;\\nvar node_buffer : vec4;\\nfor (var p : i32 = 0; p < __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX; p = p + 1) {if (p >= length) {break;}\\nvar arr_idx : i32 = arr_offset + (4 * p);\\nvar buf_offset : i32 = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[i32(arr_idx / 4)];}\\nvar float_j : f32 = node_buffer.x;\\nvar nextNode : vec4 = gWebGPUBuffer0.u_Data[i32(float_j)];\\nvar vx : f32 = nextNode.x - currentNode.x;\\nvar vy : f32 = nextNode.y - currentNode.y;\\nvar dist : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.01;\\nvar direx : f32 = vx / dist;\\nvar direy : f32 = vy / dist;\\nvar edgeLength : f32 = node_buffer.y;\\nvar edgeStrength : f32 = node_buffer.z;\\nvar diff : f32 = edgeLength - dist;\\nvar param : f32 = (diff * edgeStrength) / mass;\\nax = ax - direx * param;\\nay = ay - direy * param;}\\nreturn vec2(ax, ay);}\\nfn main() -> void {var i : i32 = globalInvocationID.x;\\nvar currentNode : vec4 = gWebGPUBuffer0.u_Data[i];\\nvar movement : vec4 = gWebGPUBuffer1.u_AveMovement[0];\\nvar ax : f32 = 0.0;\\nvar ay : f32 = 0.0;\\nif ((i >= __DefineValuePlaceholder__VERTEX_COUNT) || (movement.x < gWebGPUUniformParams.u_minMovement)) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvar nodeAttributes1 : vec4 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvar nodeAttributes2 : vec4 = gWebGPUBuffer3.u_NodeAttributeArray2[i];\\nvar repulsive : vec2 = calcRepulsive(i, currentNode);\\nax = ax + repulsive.x;\\nay = ay + repulsive.y;\\nvar attractive : vec2 = calcAttractive(i, currentNode, nodeAttributes1);\\nax = ax + attractive.x;\\nay = ay + attractive.y;\\nvar gravity : vec2 = calcGravity(i, currentNode, nodeAttributes2);\\nax = ax - gravity.x;\\nay = ay - gravity.y;\\nvar param : f32 = gWebGPUUniformParams.u_interval * gWebGPUUniformParams.u_damping;\\nvar vx : f32 = ax * param;\\nvar vy : f32 = ay * param;\\nvar vlength : f32 = std::sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > gWebGPUUniformParams.u_maxSpeed) {var param2 : f32 = gWebGPUUniformParams.u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nvar distx : f32 = vx * gWebGPUUniformParams.u_interval;\\nvar disty : f32 = vy * gWebGPUUniformParams.u_interval;\\nvar distLength : f32 = std::sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0);}else {gWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength);}\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_damping;\\n float u_maxSpeed;\\n float u_minMovement;\\n \\n float u_coulombDisScale;\\n float u_factor;\\n \\n \\n float u_interval;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer readonly GWebGPUBuffer1 {\\n vec4 u_AveMovement[];\\n} gWebGPUBuffer1;\\n\\nlayout(std430, set = 0, binding = 3) buffer readonly GWebGPUBuffer2 {\\n vec4 u_NodeAttributeArray1[];\\n} gWebGPUBuffer2;\\n\\nlayout(std430, set = 0, binding = 4) buffer readonly GWebGPUBuffer3 {\\n vec4 u_NodeAttributeArray2[];\\n} gWebGPUBuffer3;\\n\\n\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define SHIFT_20 1048576.0\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nivec2 unpack_float(float packedValue) {int packedIntValue = int(packedValue);\\nint v0 = packedIntValue / int(SHIFT_20);\\nreturn ivec2(v0, packedIntValue - (v0 * int(SHIFT_20)));}\\nvec2 calcRepulsive(int i, vec4 currentNode) {float ax = 0.0;\\nfloat ay = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = gWebGPUBuffer0.u_Data[j];\\nfloat vx = currentNode.x - nextNode.x;\\nfloat vy = currentNode.y - nextNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat n_dist = (dist + 0.1) * gWebGPUUniformParams.u_coulombDisScale;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nvec4 attributesi = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvec4 attributesj = gWebGPUBuffer2.u_NodeAttributeArray1[j];\\nfloat massi = attributesi.x;\\nfloat nodeStrengthi = attributesi.z;\\nfloat nodeStrengthj = attributesj.z;\\nfloat nodeStrength = (nodeStrengthi + nodeStrengthj) / 2.0;\\nfloat param = (nodeStrength * gWebGPUUniformParams.u_factor) / (n_dist * n_dist);\\nax += direx * param;\\nay += direy * param;}}\\nreturn vec2(ax, ay);}\\nvec2 calcGravity(int i, vec4 currentNode, vec4 attributes2) {float vx = currentNode.x - attributes2.x;\\nfloat vy = currentNode.y - attributes2.y;\\nfloat ax = vx * attributes2.z;\\nfloat ay = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nvec2 calcAttractive(int i, vec4 currentNode, vec4 attributes1) {float mass = attributes1.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nivec2 compressed = unpack_float(currentNode.z);\\nint length = compressed.x;\\nint arr_offset = compressed.y;\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + (4 * p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = gWebGPUBuffer0.u_Data[int(arr_idx / 4)];}\\nfloat float_j = node_buffer.x;\\nvec4 nextNode = gWebGPUBuffer0.u_Data[int(float_j)];\\nfloat vx = nextNode.x - currentNode.x;\\nfloat vy = nextNode.y - currentNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nfloat edgeLength = node_buffer.y;\\nfloat edgeStrength = node_buffer.z;\\nfloat diff = edgeLength - dist;\\nfloat param = (diff * edgeStrength) / mass;\\nax -= direx * param;\\nay -= direy * param;}\\nreturn vec2(ax, ay);}\\nvoid main() {int i = globalInvocationID.x;\\nvec4 currentNode = gWebGPUBuffer0.u_Data[i];\\nvec4 movement = gWebGPUBuffer1.u_AveMovement[0];\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nif ((i >= VERTEX_COUNT) || (movement.x < gWebGPUUniformParams.u_minMovement)) {gWebGPUBuffer0.u_Data[i] = currentNode;\\nreturn ;}\\nvec4 nodeAttributes1 = gWebGPUBuffer2.u_NodeAttributeArray1[i];\\nvec4 nodeAttributes2 = gWebGPUBuffer3.u_NodeAttributeArray2[i];\\nvec2 repulsive = calcRepulsive(i, currentNode);\\nax += repulsive.x;\\nay += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode, nodeAttributes1);\\nax += attractive.x;\\nay += attractive.y;\\nvec2 gravity = calcGravity(i, currentNode, nodeAttributes2);\\nax -= gravity.x;\\nay -= gravity.y;\\nfloat param = gWebGPUUniformParams.u_interval * gWebGPUUniformParams.u_damping;\\nfloat vx = ax * param;\\nfloat vy = ay * param;\\nfloat vlength = sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > gWebGPUUniformParams.u_maxSpeed) {float param2 = gWebGPUUniformParams.u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nfloat distx = vx * gWebGPUUniformParams.u_interval;\\nfloat disty = vy * gWebGPUUniformParams.u_interval;\\nfloat distLength = sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gWebGPUBuffer0.u_Data[i] = vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0);}else {gWebGPUBuffer0.u_Data[i] = vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength);}}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define MAX_EDGE_PER_VERTEX __DefineValuePlaceholder__MAX_EDGE_PER_VERTEX\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n#define SHIFT_20 1048576.0\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_damping;\\nuniform float u_maxSpeed;\\nuniform float u_minMovement;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nuniform float u_coulombDisScale;\\nuniform float u_factor;\\nuniform sampler2D u_NodeAttributeArray1;\\nuniform vec2 u_NodeAttributeArray1Size;\\nvec4 getDatau_NodeAttributeArray1(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray1, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray1(float address1D) {\\n return getDatau_NodeAttributeArray1(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray1Size));\\n}\\nvec4 getDatau_NodeAttributeArray1(int address1D) {\\n return getDatau_NodeAttributeArray1(float(address1D));\\n}\\nuniform sampler2D u_NodeAttributeArray2;\\nuniform vec2 u_NodeAttributeArray2Size;\\nvec4 getDatau_NodeAttributeArray2(vec2 address2D) {\\n return vec4(texture2D(u_NodeAttributeArray2, address2D).rgba);\\n}\\nvec4 getDatau_NodeAttributeArray2(float address1D) {\\n return getDatau_NodeAttributeArray2(addrTranslation_1Dto2D(address1D, u_NodeAttributeArray2Size));\\n}\\nvec4 getDatau_NodeAttributeArray2(int address1D) {\\n return getDatau_NodeAttributeArray2(float(address1D));\\n}\\nuniform float u_interval;\\nivec2 unpack_float(float packedValue) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint packedIntValue = int(packedValue);\\nint v0 = packedIntValue / int(SHIFT_20);\\nreturn ivec2(v0, packedIntValue - (v0 * int(SHIFT_20)));}\\nvec2 calcRepulsive(int i, vec4 currentNode) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {if (i != j) {vec4 nextNode = getDatau_Data(j);\\nfloat vx = currentNode.x - nextNode.x;\\nfloat vy = currentNode.y - nextNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat n_dist = (dist + 0.1) * u_coulombDisScale;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nvec4 attributesi = getDatau_NodeAttributeArray1(i);\\nvec4 attributesj = getDatau_NodeAttributeArray1(j);\\nfloat massi = attributesi.x;\\nfloat nodeStrengthi = attributesi.z;\\nfloat nodeStrengthj = attributesj.z;\\nfloat nodeStrength = (nodeStrengthi + nodeStrengthj) / 2.0;\\nfloat param = (nodeStrength * u_factor) / (n_dist * n_dist);\\nax += direx * param;\\nay += direy * param;}}\\nreturn vec2(ax, ay);}\\nvec2 calcGravity(int i, vec4 currentNode, vec4 attributes2) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat vx = currentNode.x - attributes2.x;\\nfloat vy = currentNode.y - attributes2.y;\\nfloat ax = vx * attributes2.z;\\nfloat ay = vy * attributes2.z;\\nreturn vec2(ax, ay);}\\nvec2 calcAttractive(int i, vec4 currentNode, vec4 attributes1) {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat mass = attributes1.x;\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nivec2 compressed = unpack_float(currentNode.z);\\nint length = compressed.x;\\nint arr_offset = compressed.y;\\nvec4 node_buffer;\\nfor (int p = 0; p < MAX_EDGE_PER_VERTEX; p++) {if (p >= length) {break;}\\nint arr_idx = arr_offset + (4 * p);\\nint buf_offset = arr_idx - ((arr_idx / 4) * 4);\\nif ((p == 0) || (buf_offset == 0)) {node_buffer = getDatau_Data(int(arr_idx / 4));}\\nfloat float_j = node_buffer.x;\\nvec4 nextNode = getDatau_Data(int(float_j));\\nfloat vx = nextNode.x - currentNode.x;\\nfloat vy = nextNode.y - currentNode.y;\\nfloat dist = sqrt((vx * vx) + (vy * vy)) + 0.01;\\nfloat direx = vx / dist;\\nfloat direy = vy / dist;\\nfloat edgeLength = node_buffer.y;\\nfloat edgeStrength = node_buffer.z;\\nfloat diff = edgeLength - dist;\\nfloat param = (diff * edgeStrength) / mass;\\nax -= direx * param;\\nay -= direy * param;}\\nreturn vec2(ax, ay);}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nint i = globalInvocationID.x;\\nvec4 currentNode = getDatau_Data(i);\\nvec4 movement = getDatau_AveMovement(0.0);\\nfloat ax = 0.0;\\nfloat ay = 0.0;\\nif ((i >= VERTEX_COUNT) || (movement.x < u_minMovement)) {gl_FragColor = vec4(currentNode);\\nreturn ;}\\nvec4 nodeAttributes1 = getDatau_NodeAttributeArray1(i);\\nvec4 nodeAttributes2 = getDatau_NodeAttributeArray2(i);\\nvec2 repulsive = calcRepulsive(i, currentNode);\\nax += repulsive.x;\\nay += repulsive.y;\\nvec2 attractive = calcAttractive(i, currentNode, nodeAttributes1);\\nax += attractive.x;\\nay += attractive.y;\\nvec2 gravity = calcGravity(i, currentNode, nodeAttributes2);\\nax -= gravity.x;\\nay -= gravity.y;\\nfloat param = u_interval * u_damping;\\nfloat vx = ax * param;\\nfloat vy = ay * param;\\nfloat vlength = sqrt((vx * vx) + (vy * vy)) + 0.0001;\\nif (vlength > u_maxSpeed) {float param2 = u_maxSpeed / vlength;\\nvx = param2 * vx;\\nvy = param2 * vy;}\\nfloat distx = vx * u_interval;\\nfloat disty = vy * u_interval;\\nfloat distLength = sqrt((distx * distx) + (disty * disty));\\nif ((nodeAttributes1.w != 0.0) && (nodeAttributes2.w != 0.0)) {gl_FragColor = vec4(vec4(nodeAttributes1.w, nodeAttributes2.w, currentNode.z, 0.0));}else {gl_FragColor = vec4(vec4(currentNode.x + distx, currentNode.y + disty, currentNode.z, distLength));}if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"MAX_EDGE_PER_VERTEX","type":"Float","runtime":true},{"name":"VERTEX_COUNT","type":"Float","runtime":true},{"name":"SHIFT_20","type":"Float","value":1048576,"runtime":false}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]},{"name":"u_damping","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_maxSpeed","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_minMovement","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_coulombDisScale","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_factor","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray1","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_NodeAttributeArray2","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_interval","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_Data","size":[1,1],"length":1},"needPingpong":true}}';var Swt='{"shaders":{"WGSL":"import \\"GLSL.std.450\\" as std;\\n\\n\\n# var gWebGPUDebug : bool = false;\\n# var gWebGPUDebugOutput : vec4 = vec4(0.0);\\n\\n[[builtin global_invocation_id]] var globalInvocationID : vec3;\\n# [[builtin work_group_size]] var workGroupSize : vec3;\\n# [[builtin work_group_id]] var workGroupID : vec3;\\n[[builtin local_invocation_id]] var localInvocationID : vec3;\\n# [[builtin num_work_groups]] var numWorkGroups : vec3;\\n[[builtin local_invocation_idx]] var localInvocationIndex : u32;\\n\\ntype GWebGPUParams = [[block]] struct {\\n [[offset 0]] u_iter : f32;\\n};\\n[[binding 0, set 0]] var gWebGPUUniformParams : GWebGPUParams;\\ntype GWebGPUBuffer0 = [[block]] struct {\\n [[offset 0]] u_Data : [[stride 16]] array>;\\n};\\n[[binding 1, set 0]] var gWebGPUBuffer0 : GWebGPUBuffer0;\\ntype GWebGPUBuffer1 = [[block]] struct {\\n [[offset 0]] u_AveMovement : [[stride 16]] array>;\\n};\\n[[binding 2, set 0]] var gWebGPUBuffer1 : GWebGPUBuffer1;\\n\\n\\n\\n\\n\\n\\n\\n\\nfn main() -> void {var movement : f32 = 0.0;\\nfor (var j : i32 = 0; j < __DefineValuePlaceholder__VERTEX_COUNT; j = j + 1) {var vertex : vec4 = gWebGPUBuffer0.u_Data[j];\\nmovement = movement + vertex.w;}\\nmovement = movement / f32(__DefineValuePlaceholder__VERTEX_COUNT);\\ngWebGPUBuffer1.u_AveMovement[0] = vec4(movement, 0.0, 0.0, 0.0);\\nreturn;}\\n\\nentry_point compute as \\"main\\" = main;\\n","GLSL450":"\\n\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\nivec3 globalInvocationID = ivec3(gl_GlobalInvocationID);\\nivec3 workGroupSize = ivec3(1,1,1);\\nivec3 workGroupID = ivec3(gl_WorkGroupID);\\nivec3 localInvocationID = ivec3(gl_LocalInvocationID);\\nivec3 numWorkGroups = ivec3(gl_NumWorkGroups);\\nint localInvocationIndex = int(gl_LocalInvocationIndex);\\n\\nlayout(std140, set = 0, binding = 0) uniform GWebGPUParams {\\n float u_iter;\\n} gWebGPUUniformParams;\\nlayout(std430, set = 0, binding = 1) buffer readonly GWebGPUBuffer0 {\\n vec4 u_Data[];\\n} gWebGPUBuffer0;\\n\\nlayout(std430, set = 0, binding = 2) buffer GWebGPUBuffer1 {\\n vec4 u_AveMovement[];\\n} gWebGPUBuffer1;\\n\\n\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\nlayout (\\n local_size_x = 1,\\n local_size_y = 1,\\n local_size_z = 1\\n) in;\\n\\n\\n\\nvoid main() {float movement = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 vertex = gWebGPUBuffer0.u_Data[j];\\nmovement += vertex.w;}\\nmovement = movement / float(VERTEX_COUNT);\\ngWebGPUBuffer1.u_AveMovement[0] = vec4(movement, 0.0, 0.0, 0.0);}\\n","GLSL100":"\\n\\nfloat epsilon = 0.00001;\\nvec2 addrTranslation_1Dto2D(float address1D, vec2 texSize) {\\n vec2 conv_const = vec2(1.0 / texSize.x, 1.0 / (texSize.x * texSize.y));\\n vec2 normAddr2D = float(address1D) * conv_const;\\n return vec2(fract(normAddr2D.x + epsilon), normAddr2D.y);\\n}\\n\\nvoid barrier() {}\\n \\n\\nuniform vec2 u_OutputTextureSize;\\nuniform int u_OutputTexelCount;\\nvarying vec2 v_TexCoord;\\n\\nbool gWebGPUDebug = false;\\nvec4 gWebGPUDebugOutput = vec4(0.0);\\n\\n#define VERTEX_COUNT __DefineValuePlaceholder__VERTEX_COUNT\\n\\nuniform sampler2D u_Data;\\nuniform vec2 u_DataSize;\\nvec4 getDatau_Data(vec2 address2D) {\\n return vec4(texture2D(u_Data, address2D).rgba);\\n}\\nvec4 getDatau_Data(float address1D) {\\n return getDatau_Data(addrTranslation_1Dto2D(address1D, u_DataSize));\\n}\\nvec4 getDatau_Data(int address1D) {\\n return getDatau_Data(float(address1D));\\n}\\nuniform float u_iter;\\nuniform sampler2D u_AveMovement;\\nuniform vec2 u_AveMovementSize;\\nvec4 getDatau_AveMovement(vec2 address2D) {\\n return vec4(texture2D(u_AveMovement, address2D).rgba);\\n}\\nvec4 getDatau_AveMovement(float address1D) {\\n return getDatau_AveMovement(addrTranslation_1Dto2D(address1D, u_AveMovementSize));\\n}\\nvec4 getDatau_AveMovement(int address1D) {\\n return getDatau_AveMovement(float(address1D));\\n}\\nvoid main() {\\nivec3 workGroupSize = ivec3(1, 1, 1);\\nivec3 numWorkGroups = ivec3(1, 1, 1); \\nint globalInvocationIndex = int(floor(v_TexCoord.x * u_OutputTextureSize.x))\\n + int(floor(v_TexCoord.y * u_OutputTextureSize.y)) * int(u_OutputTextureSize.x);\\nint workGroupIDLength = globalInvocationIndex / (workGroupSize.x * workGroupSize.y * workGroupSize.z);\\nivec3 workGroupID = ivec3(workGroupIDLength / numWorkGroups.y / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.z, workGroupIDLength / numWorkGroups.x / numWorkGroups.y);\\nint localInvocationIDZ = globalInvocationIndex / (workGroupSize.x * workGroupSize.y);\\nint localInvocationIDY = (globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y) / workGroupSize.x;\\nint localInvocationIDX = globalInvocationIndex - localInvocationIDZ * workGroupSize.x * workGroupSize.y - localInvocationIDY * workGroupSize.x;\\nivec3 localInvocationID = ivec3(localInvocationIDX, localInvocationIDY, localInvocationIDZ);\\nivec3 globalInvocationID = workGroupID * workGroupSize + localInvocationID;\\nint localInvocationIndex = localInvocationID.z * workGroupSize.x * workGroupSize.y\\n + localInvocationID.y * workGroupSize.x + localInvocationID.x;\\nfloat movement = 0.0;\\nfor (int j = 0; j < VERTEX_COUNT; j++) {vec4 vertex = getDatau_Data(j);\\nmovement += vertex.w;}\\nmovement = movement / float(VERTEX_COUNT);\\ngl_FragColor = vec4(vec4(movement, 0.0, 0.0, 0.0));if (gWebGPUDebug) {\\n gl_FragColor = gWebGPUDebugOutput;\\n}}\\n"},"context":{"name":"","dispatch":[1,1,1],"threadGroupSize":[1,1,1],"maxIteration":1,"defines":[{"name":"VERTEX_COUNT","type":"Float","runtime":true}],"uniforms":[{"name":"u_Data","type":"vec4[]","storageClass":"StorageBuffer","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_iter","type":"Float","storageClass":"Uniform","readonly":true,"writeonly":false,"size":[1,1]},{"name":"u_AveMovement","type":"vec4[]","storageClass":"StorageBuffer","readonly":false,"writeonly":false,"size":[1,1]}],"globalDeclarations":[],"output":{"name":"u_AveMovement","size":[1,1],"length":1},"needPingpong":true}}';var sX=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(o){o(a)})}return new(t||(t=Promise))(function(a,o){function s(f){try{u(n.next(f))}catch(c){o(c)}}function l(f){try{u(n.throw(f))}catch(c){o(c)}}function u(f){f.done?a(f.value):i(f.value).then(s,l)}u((n=n.apply(r,e||[])).next())})},ES=class extends li{constructor(e){super();this.maxIteration=1e3,this.edgeStrength=200,this.nodeStrength=1e3,this.coulombDisScale=.005,this.damping=.9,this.maxSpeed=1e3,this.minMovement=.5,this.interval=.02,this.factor=1,this.linkDistance=1,this.gravity=10,this.workerEnabled=!1,this.nodes=[],this.edges=[],this.width=300,this.height=300,this.nodeMap={},this.nodeIdxMap={},this.updateCfg(e)}getDefaultCfg(){return{maxIteration:2e3,gravity:10,clustering:!1,clusterGravity:10}}execute(){return sX(this,void 0,void 0,function*(){let e=this,t=e.nodes;if(!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight),e.center||(e.center=[e.width/2,e.height/2]);let n=e.center;if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}let i={},a={};t.forEach((o,s)=>{je(o.x)||(o.x=Math.random()*e.width),je(o.y)||(o.y=Math.random()*e.height),i[o.id]=o,a[o.id]=s}),e.nodeMap=i,e.nodeIdxMap=a,e.nodeStrength=dx(e.nodeStrength,1),e.edgeStrength=dx(e.edgeStrength,1),yield e.run()})}executeWithWorker(e,t){let n=this,i=n.nodes,a=n.center;if(!i||i.length===0)return;if(i.length===1){i[0].x=a[0],i[0].y=a[1];return}let o={},s={};i.forEach((l,u)=>{je(l.x)||(l.x=Math.random()*n.width),je(l.y)||(l.y=Math.random()*n.height),o[l.id]=l,s[l.id]=u}),n.nodeMap=o,n.nodeIdxMap=s,n.nodeStrength=dx(n.nodeStrength,1),n.edgeStrength=dx(n.edgeStrength,1),n.run(e,t)}run(e,t){return sX(this,void 0,void 0,function*(){let n=this,i=n.nodes,a=n.edges,o=n.maxIteration;!n.width&&typeof window!="undefined"&&(n.width=window.innerWidth),!n.height&&typeof window!="undefined"&&(n.height=window.innerHeight);let s=i.length;n.linkDistance=dx(n.linkDistance),n.edgeStrength=dx(n.edgeStrength);let{maxEdgePerVetex:l,array:u}=gwt(i,a,n.linkDistance,n.edgeStrength);n.degrees=Qh(i.length,n.nodeIdxMap,a);let f=[],c=[],h=[],d=[],p=[],v=[],m=[];n.getMass||(n.getMass=I=>n.degrees[n.nodeIdxMap[I.id]]||1);let g=n.gravity,x=n.center;i.forEach((I,R)=>{f.push(n.getMass(I)),c.push(n.nodeStrength(I)),n.degrees[R]||(n.degrees[R]=0);let P=[x[0],x[1],g];if(n.getCenter){let F=n.getCenter(I,n.degrees[R]);F&&je(F[0])&&je(F[1])&&je(F[2])&&(P=F)}h.push(P[0]),d.push(P[1]),p.push(P[2]),je(I.fx)&&je(I.fy)?(v.push(I.fx||.001),m.push(I.fy||.001)):(v.push(0),m.push(0))});let b=oX([f,n.degrees,c,v]),S=oX([h,d,p,m]),C=n.workerEnabled,w;C?w=hx.create({canvas:e,engineOptions:{supportCompute:!0}}):w=hx.create({engineOptions:{supportCompute:!0}});let A=n.onLayoutEnd,L=[];u.forEach(I=>{L.push(I)});for(let I=0;I<4;I++)L.push(0);let k=w.createKernel(_wt).setDispatch([s,1,1]).setBinding({u_Data:u,u_damping:n.damping,u_maxSpeed:n.maxSpeed,u_minMovement:n.minMovement,u_coulombDisScale:n.coulombDisScale,u_factor:n.factor,u_NodeAttributeArray1:b,u_NodeAttributeArray2:S,MAX_EDGE_PER_VERTEX:l,VERTEX_COUNT:s,u_AveMovement:L,u_interval:n.interval}),O=w.createKernel(Swt).setDispatch([1,1,1]).setBinding({u_Data:u,VERTEX_COUNT:s,u_AveMovement:[0,0,0,0]});yield(()=>sX(this,void 0,void 0,function*(){for(let R=0;R{let F=I[4*P],D=I[4*P+1];R.x=F,R.y=D}),A&&A()}))()})}getType(){return"gForce-gpu"}};var AS=class extends li{constructor(e){super();this.center=[0,0],this.maxIteration=100,this.gravity=10,this.comboGravity=10,this.linkDistance=10,this.alpha=1,this.alphaMin=.001,this.alphaDecay=1-Math.pow(this.alphaMin,1/300),this.alphaTarget=0,this.velocityDecay=.6,this.edgeStrength=.6,this.nodeStrength=30,this.preventOverlap=!1,this.preventNodeOverlap=!1,this.preventComboOverlap=!1,this.collideStrength=void 0,this.nodeCollideStrength=.5,this.comboCollideStrength=.5,this.comboSpacing=20,this.comboPadding=10,this.optimizeRangeFactor=1,this.onTick=()=>{},this.onLayoutEnd=()=>{},this.depthAttractiveForceScale=1,this.depthRepulsiveForceScale=2,this.nodes=[],this.edges=[],this.combos=[],this.comboTrees=[],this.width=300,this.height=300,this.bias=[],this.nodeMap={},this.oriComboMap={},this.indexMap={},this.comboMap={},this.previousLayouted=!1,this.updateCfg(e)}getDefaultCfg(){return{maxIteration:100,center:[0,0],gravity:10,speed:1,comboGravity:30,preventOverlap:!1,preventComboOverlap:!0,preventNodeOverlap:!0,nodeSpacing:void 0,collideStrength:void 0,nodeCollideStrength:.5,comboCollideStrength:.5,comboSpacing:20,comboPadding:10,edgeStrength:.6,nodeStrength:30,linkDistance:10}}execute(){let e=this,t=e.nodes,n=e.center;if(e.comboTree={id:"comboTreeRoot",depth:-1,children:e.comboTrees},!t||t.length===0){e.onLayoutEnd&&e.onLayoutEnd();return}if(t.length===1){t[0].x=n[0],t[0].y=n[1],e.onLayoutEnd&&e.onLayoutEnd();return}e.initVals(),e.run(),e.onLayoutEnd&&e.onLayoutEnd()}run(){let e=this,t=e.nodes,n=e.previousLayouted?e.maxIteration/5:e.maxIteration;!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let i=e.center,a=e.velocityDecay,o=e.comboMap;e.previousLayouted||e.initPos(o);for(let u=0;u{f[h]={x:0,y:0}}),e.applyCalculate(f),e.applyComboCenterForce(f),t.forEach((c,h)=>{!je(c.x)||!je(c.y)||(c.x+=f[h].x*a,c.y+=f[h].y*a)}),e.alpha+=(e.alphaTarget-e.alpha)*e.alphaDecay,e.onTick()}let s=[0,0];t.forEach(u=>{!je(u.x)||!je(u.y)||(s[0]+=u.x,s[1]+=u.y)}),s[0]/=t.length,s[1]/=t.length;let l=[i[0]-s[0],i[1]-s[1]];t.forEach((u,f)=>{!je(u.x)||!je(u.y)||(u.x+=l[0],u.y+=l[1])}),e.combos.forEach(u=>{let f=o[u.id];f&&f.empty&&(u.x=f.cx||u.x,u.y=f.cy||u.y)}),e.previousLayouted=!0}initVals(){let e=this,t=e.edges,n=e.nodes,i=e.combos,a={},o={},s={};n.forEach((O,M)=>{o[O.id]=O,s[O.id]=M}),e.nodeMap=o,e.indexMap=s;let l={};i.forEach(O=>{l[O.id]=O}),e.oriComboMap=l,e.comboMap=e.getComboMap();let u=e.preventOverlap;e.preventComboOverlap=e.preventComboOverlap||u,e.preventNodeOverlap=e.preventNodeOverlap||u;let f=e.collideStrength;f&&(e.comboCollideStrength=f,e.nodeCollideStrength=f),e.comboCollideStrength=e.comboCollideStrength?e.comboCollideStrength:0,e.nodeCollideStrength=e.nodeCollideStrength?e.nodeCollideStrength:0;for(let O=0;Od:gf(d)?v=d:v=()=>0,this.nodeSpacing=v,!h)p=O=>O.size?da(O.size)?(O.size[0]>O.size[1]?O.size[0]:O.size[1])/2:po(O.size)?(O.size.width>O.size.height?O.size.width:O.size.height)/2:O.size/2:10;else if(gf(h))p=O=>h(O);else if(da(h)){let M=(h[0]>h[1]?h[0]:h[1])/2;p=I=>M}else{let O=h/2;p=M=>O}this.nodeSize=p;let m=e.comboSpacing,g;je(m)?g=()=>m:gf(m)?g=m:g=()=>0,this.comboSpacing=g;let x=e.comboPadding,b;je(x)?b=()=>x:da(x)?b=()=>Math.max.apply(null,x):gf(x)?b=x:b=()=>0,this.comboPadding=b;let S=this.linkDistance,C;S||(S=10),je(S)?C=O=>S:C=S,this.linkDistance=C;let w=this.edgeStrength,A;w||(w=1),je(w)?A=O=>w:A=w,this.edgeStrength=A;let L=this.nodeStrength,k;L||(L=30),je(L)?k=O=>L:k=L,this.nodeStrength=k}initPos(e){this.nodes.forEach((i,a)=>{let o=i.comboId,s=e[o];o&&s?(i.x=s.cx+100/(a+1),i.y=s.cy+100/(a+1)):(i.x=100/(a+1),i.y=100/(a+1))})}getComboMap(){let e=this,t=e.nodeMap,n=e.comboTrees,i=e.oriComboMap,a={};return(n||[]).forEach(o=>{let s=[];yM(o,l=>{if(l.itemType==="node"||!i[l.id])return!0;if(a[l.id]===void 0){let c={id:l.id,name:l.id,cx:0,cy:0,count:0,depth:e.oriComboMap[l.id].depth||0,children:[]};a[l.id]=c}let u=l.children;u&&u.forEach(c=>{if(!a[c.id]&&!t[c.id])return!0;s.push(c)});let f=a[l.id];if(f.cx=0,f.cy=0,s.length===0){f.empty=!0;let c=i[l.id];f.cx=c.x,f.cy=c.y}return s.forEach(c=>{if(f.count++,c.itemType!=="node"){let d=a[c.id];je(d.cx)&&(f.cx+=d.cx),je(d.cy)&&(f.cy+=d.cy);return}let h=t[c.id];!h||(je(h.x)&&(f.cx+=h.x),je(h.y)&&(f.cy+=h.y))}),f.cx/=f.count||1,f.cy/=f.count||1,f.children=s,!0})}),a}applyComboCenterForce(e){let t=this,n=t.gravity,i=t.comboGravity||n,a=this.alpha,o=t.comboTrees,s=t.indexMap,l=t.nodeMap,u=t.comboMap;(o||[]).forEach(f=>{yM(f,c=>{if(c.itemType==="node"||!u[c.id])return!0;let d=u[c.id],p=(d.depth+1)/10*.5,v=d.cx,m=d.cy;return d.cx=0,d.cy=0,d.children.forEach(g=>{if(g.itemType!=="node"){let L=u[g.id];L&&je(L.cx)&&(d.cx+=L.cx),L&&je(L.cy)&&(d.cy+=L.cy);return}let x=l[g.id],b=x.x-v||.005,S=x.y-m||.005,C=Math.sqrt(b*b+S*S),w=s[x.id],A=i*a/C*p;e[w].x-=b*A,e[w].y-=S*A,je(x.x)&&(d.cx+=x.x),je(x.y)&&(d.cy+=x.y)}),d.cx/=d.count||1,d.cy/=d.count||1,!0})})}applyCalculate(e){let t=this,n=t.comboMap,i=t.nodes,a={};i.forEach((s,l)=>{i.forEach((u,f)=>{if(l{let u=[];yM(l,f=>{if(f.itemType==="node")return!0;let c=e[f.id];if(!c)return!1;let h=f.children;h&&h.forEach(v=>{!e[v.id]&&!i[v.id]||u.push(v)}),c.minX=1/0,c.minY=1/0,c.maxX=-1/0,c.maxY=-1/0,u.forEach(v=>{if(v.itemType!=="node")return!0;let m=i[v.id];if(!m)return!0;let g=a(m),x=m.x-g,b=m.y-g,S=m.x+g,C=m.y+g;c.minX>x&&(c.minX=x),c.minY>b&&(c.minY=b),c.maxX{if(!t[l.id]&&!s[l.id]&&l.id!=="comboTreeRoot")return!1;let u=l.children;return u&&u.length>1&&u.forEach((f,c)=>{if(f.itemType==="node")return!1;let h=t[f.id];!h||u.forEach((d,p)=>{if(c<=p||d.itemType==="node")return!1;let v=t[d.id];if(!v)return!1;let m=h.cx-v.cx||.005,g=h.cy-v.cy||.005,x=m*m+g*g,b=h.r||1,S=v.r||1,C=b+S,w=S*S,A=b*b;if(x{if(D.itemType!=="node")return!1;if(!s[D.id])return;let G=o[D.id];k.forEach(U=>{if(U.itemType!=="node"||!s[U.id])return!1;let j=o[U.id];e[G].x+=I*P,e[G].y+=R*P,e[j].x-=I*F,e[j].y-=R*F})})}})}),!0})}calRepulsive(e,t){let n=this,i=n.nodes,a=n.width*n.optimizeRangeFactor,o=n.nodeStrength,s=n.alpha,l=n.nodeCollideStrength,u=n.preventNodeOverlap,f=n.nodeSize,c=n.nodeSpacing,h=n.depthRepulsiveForceScale,d=n.center;i.forEach((p,v)=>{if(!(!p.x||!p.y)){if(d){let m=n.gravity,g=p.x-d[0]||.005,x=p.y-d[1]||.005,b=Math.sqrt(g*g+x*x);e[v].x-=g*m*s/b,e[v].y-=x*m*s/b}i.forEach((m,g)=>{if(v===g||!m.x||!m.y)return;let{vl2:x,vl:b}=t[`${p.id}-${m.id}`];if(b>a)return;let{vx:S,vy:C}=t[`${p.id}-${m.id}`],w=Math.log(Math.abs(m.depth-p.depth)/10)+1||1;w=w<1?1:w,m.comboId!==p.comboId&&(w+=1);let A=w?Math.pow(h,w):1,L=o(m)*s/x*A;if(e[v].x+=S*L,e[v].y+=C*L,v{let h=xn(f,"source"),d=xn(f,"target");if(!h||!d||h===d)return;let p=n.indexMap[h],v=n.indexMap[d],m=n.nodeMap[h],g=n.nodeMap[d];if(!m||!g)return;let x=m.depth===g.depth?0:Math.log(Math.abs(m.depth-g.depth)/10);m.comboId===g.comboId&&(x=x/2);let b=x?Math.pow(u,x):1;if(m.comboId!==g.comboId&&b===1?b=u/2:m.comboId===g.comboId&&(b=2),!je(g.x)||!je(m.x)||!je(g.y)||!je(m.y))return;let{vl:S,vx:C,vy:w}=t[`${d}-${h}`],A=(S-a(f))/S*o*s(f)*b,L=C*A,k=w*A,O=l[c];e[v].x-=L*O,e[v].y-=k*O,e[p].x+=L*(1-O),e[p].y+=k*(1-O)})}getType(){return"comboForce"}};var MS=class{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){let t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){let t=e.rx-this.rx,n=e.ry-this.ry,i=Math.hypot(t,n);i=i<1e-4?1e-4:i;let a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){let t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,o={rx:n,ry:i,mass:t,degree:a};return new MS(o)}};var ov=class{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){let n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){let e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ov(i)}NE(){let e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ov(i)}SW(){let e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ov(i)}SE(){let e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new ov(i)}};var sv=class{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new sv(this.quad.NW()),this.NE=new sv(this.quad.NE()),this.SW=new sv(this.quad.SW()),this.SE=new sv(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){!this.quad||(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{let t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n{},this.prune=void 0,this.updateCfg(e)}getDefaultCfg(){return{}}execute(){let e=this,{nodes:t,onLayoutEnd:n,prune:i}=e,a=e.maxIteration;!e.width&&typeof window!="undefined"&&(e.width=window.innerWidth),!e.height&&typeof window!="undefined"&&(e.height=window.innerHeight);let o=[],s=t.length;for(let l=0;l250&&(e.barnesHut=!0),e.prune===void 0&&s>100&&(e.prune=!0),this.maxIteration===0&&!e.prune?(a=250,s<=200&&s>100?a=1e3:s>200&&(a=1200),this.maxIteration=a):this.maxIteration===0&&i&&(a=100,s<=200&&s>100?a=500:s>200&&(a=950),this.maxIteration=a),e.kr||(e.kr=50,s>100&&s<=500?e.kr=20:s>500&&(e.kr=1)),e.kg||(e.kg=20,s>100&&s<=500?e.kg=10:s>500&&(e.kg=1)),this.nodes=e.updateNodesByForces(o),n()}updateNodesByForces(e){let t=this,{edges:n,maxIteration:i}=t,a=t.nodes,o=n.filter(p=>{let v=xn(p,"source"),m=xn(p,"target");return v!==m}),s=a.length,l=o.length,u=[],f={},c={},h=[];for(let p=0;p0;){for(let C=0;Cm||!f)?g=this.getOptRepGraForces(g,b,a):g=this.getRepGraForces(v,m,g,p,o,a);let S=this.updatePos(g,x,d,a);l=S.nodes,d=S.sg,v--,s.tick&&s.tick()}return l}getAttrForces(e,t,n,i,a,o,s,l){let u=this,{nodes:f,preventOverlap:c,dissuadeHubs:h,mode:d,prune:p}=u;for(let v=0;v0&&(w=C,A=C),l[2*i[m.id]]+=w*S[0],l[2*i[x.id]]-=A*S[0],l[2*i[m.id]+1]+=w*S[1],l[2*i[x.id]+1]-=A*S[1]}return l}getRepGraForces(e,t,n,i,a,o){let s=this,{nodes:l,preventOverlap:u,kr:f,kg:c,center:h,prune:d}=s,p=l.length;for(let v=0;v0&&(w=f*(o[v]+1)*(o[b]+1)/C),n[2*v]-=w*S[0],n[2*b]+=w*S[0],n[2*v+1]-=w*S[1],n[2*b+1]+=w*S[1]}let m=[l[v].x-h[0],l[v].y-h[1]],g=Math.hypot(m[0],m[1]);m[0]=m[0]/g,m[1]=m[1]/g;let x=c*(o[v]+1);n[2*v]-=x*m[0],n[2*v+1]-=x*m[1]}return n}getOptRepGraForces(e,t,n){let i=this,{nodes:a,kg:o,center:s,prune:l}=i,u=a.length,f=9e10,c=-9e10,h=9e10,d=-9e10;for(let x=0;x=c&&(c=a[x].x),a[x].x<=f&&(f=a[x].x),a[x].y>=d&&(d=a[x].y),a[x].y<=h&&(h=a[x].y));let p=Math.max(c-f,d-h),v={xmid:(c+f)/2,ymid:(d+h)/2,length:p,massCenter:s,mass:u},m=new ov(v),g=new sv(m);for(let x=0;x1.5*m?1.5*m:n);for(let g=0;gS?S:x;let C=x*e[2*g],w=x*e[2*g+1];o[g].x+=C,o[g].y+=w}return{nodes:o,sg:n}}};var Ef=class{constructor(){this.cells=[],this.columnNum=0,this.rowNum=0,this.additionColumn=[],this.additionRow=[]}init(e,t,n){this.cells=[],this.CELL_W=n.CELL_W||Ef.DEFAULT_CELL_W,this.CELL_H=n.CELL_H||Ef.DEFAULT_CELL_H,this.columnNum=Math.ceil(e/this.CELL_W),this.rowNum=Math.ceil(t/this.CELL_H),Ef.MIN_DIST=Math.pow(e,2)+Math.pow(t,2);for(let i=0;ie;n--)for(let i=0;i=e&&(this.additionColumn[n]+=t);for(let n=0;ne;i--)this.cells[n][i+t]=Object.assign(Object.assign({},this.cells[n][i]),{dx:n,dy:i+t,x:n*this.CELL_W,y:(i+t)*this.CELL_H}),this.cells[n][i]={dx:n,dy:i,x:n*this.CELL_W,y:i*this.CELL_H,occupied:!1,node:null};for(let n=0;n=e&&(this.additionRow[n]+=t);for(let n=0;n{let u=l.size[0]||50,f=l.size[1]||50;a=Math.min(u,a),o=Math.min(f,o)});let s=new Ef;s.init(t,n,{CELL_H:o,CELL_W:a}),r.nodes.forEach(l=>{let u=s.occupyNearest(l);u&&(u.node={id:l.id,size:l.size},l.x=u.x,l.y=u.y,l.dx=u.dx,l.dy=u.dy)});for(let l=0;la){let d=Math.ceil((u.size[0]+i)/a)-1,p=d;for(let v=0;v-1&&!s.cells[c+v+1][h].node);v++)p--;s.insertColumn(c,p)}if(u.size[1]+i>o){let d=Math.ceil((u.size[1]+i)/o)-1,p=d;for(let v=0;v-1&&!s.cells[c][h+v+1].node);v++)p--;s.insertRow(h,p)}}for(let l=0;l{var d;return h.id===((d=f==null?void 0:f.node)===null||d===void 0?void 0:d.id)});c&&(c.x=f.x+c.size[0]/2,c.y=f.y+c.size[1]/2)}}}var Cwt=1200,wwt=800,KN=1e7,aT=10,Ewt=3.141592653589793,uX=1.5707963267948966,zhe=Ewt*.375,Uhe=Ewt*.625,ZN=new Map,jhe=10,Whe=10,fX=.8,Awt=.1,Vhe=.5;function Hhe(r,e,t){let n=r.x-r.size[0]/2,i=r.y-r.size[1]/2,a=r.x+r.size[0]/2,o=r.y+r.size[1]/2,s=e.x-e.size[0]/2,l=e.y-e.size[1]/2,u=e.x+e.size[0]/2,f=e.y+e.size[1]/2,c=r.x,h=r.y,d=e.x,p=e.y,v=d-c,m=Math.atan2(v,p-h),g=0,x=0,b=0,S=0;m>uX?(x=i-f,g=s-a,b=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)),S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):0g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):m<-uX?(x=i-f,g=-(u-n),x>g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g?(g/Math.sin(m)).toFixed(2):x.toFixed(2))):(x=l-o,Math.abs(v)>(a-n)/2?g=n-u:g=v,x>g?b=S=parseFloat(x?(x/Math.cos(m)).toFixed(2):g.toFixed(2)):b=S=parseFloat(g&&m!==0?(g/Math.sin(m)).toFixed(2):x.toFixed(2)));let C=parseFloat(m.toFixed(2)),w=t;return t&&(w=zheA.source===e.id||A.target===e.id),i=r.size[0]*r.size[1],a=e.size[0]*e.size[1],o=i>a?e:r,s=i>a?r:e,l=o.x-o.size[0]/2,u=o.y-o.size[1]/2,f=o.x+o.size[0]/2,c=o.y+o.size[1]/2,h=s.x-s.size[0]/2,d=s.y-s.size[1]/2,p=s.x+s.size[0]/2,v=s.y+s.size[1]/2,m=o.x,g=o.y,x=s.x,b=s.y,S=f>=h&&p>=l&&c>=d&&v>=u,C=0,w=0;if(S){w=Math.sqrt(Math.pow(x-m,2)+Math.pow(b-g,2));let A=l>h?l:h,L=u>d?u:d,k=fCwt||n.y>wwt)&&(e+=1e12);for(let i=t+1;i{i.set(l.id,l)});let a=n.filter(l=>l.source===r.id||l.target===r.id)||[],o=[];a.forEach(l=>{let u=l.source===r.id?l.target:l.source,f=i.get(u);f&&o.push(f)});let s=!0;for(let l=0;l150,d=c<30||c>150,p=f>70&&f<110,v=c>70&&c<110;if(h&&!d||f*c<0){s=!1;break}else if(p&&!v||f*c<0){s=!1;break}else if((u.x-r.x)*(u.x-e.x)<0){s=!1;break}else if((u.y-r.y)*(u.y-e.y)<0){s=!1;break}}return s}function Xhe(r,e){let t=!1,n=1,i=jhe*n,a=Whe*n,o=[i,-i,0,0],s=[0,0,a,-a];for(let l=0;lAwt?(f=d,t=!0):(u.x-=o[c],u.y-=s[c])}}return fX>Awt&&(fX*=Vhe),t?Twt(r):0}function Iwt(r,e){let t=0;(r.x<0||r.y<0||r.x+r.size[0]+20>Cwt||r.y+r.size[1]+20>wwt)&&(t+=1e12);for(let n=0;n{let u=e.filter(f=>f.source===l.id||f.target===l.id);ZN.set(l,u)}),r.sort((l,u)=>{var f,c;return((f=ZN.get(l.id))===null||f===void 0?void 0:f.length)-((c=ZN.get(u.id))===null||c===void 0?void 0:c.length)});let t=Twt(r),n=20,i=1,a=0,o=50,s=0;for(;n>0&&(s++,!(s>=o));){let l=Xhe(r,e);l!==0&&(a=l),i=a-t,t=a,i===0?--n:n=20}return r.forEach(l=>{l.x=l.x-l.size[0]/2,l.y=l.y-l.size[1]/2}),{nodes:r,edges:e}}var Lwt=qhe;function cX(r,e){let{nodes:t,edges:n}=r,i=e.width,a=e.height;if(!(t==null?void 0:t.length))return Promise.resolve();let o=[];t.forEach(p=>{if(n.filter(m=>m.source===p.id||m.target===p.id).length>1){let m=Object.assign({},p);delete m.size,o.push(m)}});let s=[];n.forEach(p=>{let v=o.find(g=>g.id===p.source),m=o.find(g=>g.id===p.target);v&&m&&s.push(p)});let l=new _g({type:"dagre",ranksep:e.nodeMinGap,nodesep:e.nodeMinGap}),{nodes:u}=l.layout({nodes:o,edges:s});t.forEach(p=>{let v=(u||[]).find(m=>m.id===p.id);p.x=(v==null?void 0:v.x)||i/2,p.y=(v==null?void 0:v.y)||a/2});let f=JSON.parse(JSON.stringify(t)),c=JSON.parse(JSON.stringify(n)),h=W0().nodes(f).force("link",bg(c).id(p=>p.id).distance(p=>s.find(m=>m.source===p.source&&m.target===p.target)?30:20)).force("charge",V0()).force("center",xM(i/2,a/2)).force("x",_M(i/2)).force("y",SM(a/2)).alpha(.3).alphaDecay(.08).alphaMin(.001);return new Promise(p=>{h.on("end",()=>{t.forEach(C=>{let w=f.find(A=>A.id===C.id);w&&(C.x=w.x,C.y=w.y)});let v=Math.min(...t.map(C=>C.x)),m=Math.max(...t.map(C=>C.x)),g=Math.min(...t.map(C=>C.y)),x=Math.max(...t.map(C=>C.y)),b=i/(m-v),S=a/(x-g);t.forEach(C=>{C.x!==void 0&&b<1&&(C.x=(C.x-v)*b),C.y!==void 0&&S<1&&(C.y=(C.y-g)*S)}),t.forEach(C=>{C.sizeTemp=C.size,C.size=[10,10]}),Lwt(t,n),t.forEach(C=>{C.size=C.sizeTemp||[],delete C.sizeTemp}),lX({nodes:t,edges:n},e),p()})})}var $N=class extends li{constructor(e){super();this.width=300,this.height=300,this.nodeMinGap=50,this.onLayoutEnd=()=>{},e&&this.updateCfg(e)}getDefaultCfg(){return{width:300,height:300,nodeMinGap:50}}execute(){let e=this,t=e.nodes,n=e.edges;return t==null||t.forEach(i=>{i.size||(i.size=[50,50])}),cX({nodes:t,edges:n},{width:this.width,height:this.height,nodeMinGap:this.nodeMinGap}).then(()=>{e.onLayoutEnd&&e.onLayoutEnd()})}getType(){return"er"}};var Dg={force:Y_,fruchterman:Q_,forceAtlas2:TS,gForce:V_,dagre:_g,circular:X_,radial:K_,concentric:Z_,grid:j_,mds:$_,comboForce:AS,random:W_,"gForce-gpu":ES,"fruchterman-gpu":wS,er:$N};var gX=z(dX());var pX={};Dn(pX,{arrayToTextureData:()=>ede,attributesToTextureData:()=>tde,buildTextureData:()=>$he,buildTextureDataWithOneEdgeAttr:()=>Qhe,buildTextureDataWithTwoEdgeAttr:()=>Jhe,proccessToFunc:()=>Zhe,radialLayout:()=>rde});var Owt=z(q()),Dwt=ka.traverseTree,Zhe=function(e,t){var n;return e?(0,Owt.isNumber)(e)?n=function(a){return e}:n=e:n=function(a){return t||1},n},$he=function(e,t){var n=[],i=[],a={},o=0;for(o=0;o=0&&(s="x",o="y");var l=0;Dwt(e,function(c){return l++,c.x>a.x&&(a.x=c.x),c.xa.y&&(a.y=c.y),c.yvX});var vX=function r(){return typeof window=="undefined"||typeof document=="undefined"?{}:{canvas:!!window.CanvasRenderingContext2D,webgl:function(){try{var e=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(e.getContext("webgl")||e.getContext("experimental-webgl")))}catch(t){return!1}}(),workers:!!window.Worker,fileapi:window.File&&window.FileReader&&window.FileList&&window.Blob,getWebGLErrorMessage:function(){var t=document.createElement("div");return t.id="webgl-error-message",t.style.fontFamily="monospace",t.style.fontSize="13px",t.style.fontWeight="normal",t.style.textAlign="center",t.style.background="#fff",t.style.color="#000",t.style.padding="1.5em",t.style.width="400px",t.style.margin="5em auto 0",this.webgl||(t.innerHTML=window.WebGLRenderingContext?['Your graphics card does not seem to support WebGL.
      ','Find out how to get it here.'].join(` `):['Your browser does not seem to support WebGL.
      ','Find out how to get it here.'].join(` -`)),t},addGetWebGLMessage:function(t){t=t||{};var n=t.parent!==void 0?t.parent:document.body,i=t.id!==void 0?t.id:"oldie",a=r().getWebGLErrorMessage();a.id=i,n.appendChild(a)}}};var Rhe=E(E(E(E({},Pa),E8),lX),fX),al=Rhe;var Nhe=al.radialLayout,Fhe=function(){function r(e){this.type=e.type,this.radial=e.radial,this.config=e}return r.prototype.init=function(e){var t=this;if(this.data=e,this.radial){this.layoutMethod=function(n){var i=cX.default[t.type](n,t.config);return Nhe(i),i};return}this.layoutMethod=function(n){return cX.default[t.type](n,t.config)}},r.prototype.execute=function(){return this.layoutMethod(this.data,this.config)},r.prototype.layout=function(e){return this.init(e),this.execute()},r}(),hX=Fhe;fs("grid",G_);fs("random",z_);fs("force",W_);fs("circular",V_);fs("dagre",xg);fs("radial",Y_);fs("concentric",X_);fs("mds",q_);fs("fruchterman",K_);fs("fruchterman-gpu",_S);fs("gForce",U_);fs("gForce-gpu",SS);fs("comboForce",CS);fs("forceAtlas2",ES);var xwt=function(e,t){t.isCustomLayout=!0,Lg[e]=fs(e,t)};var Bhe=function(){function r(e,t){var n=e.toString(),i=new Blob(["importScripts('".concat(t,"');(").concat(n,")()")],{type:"text/javascript"});return new Worker(URL.createObjectURL(i))}return r}(),bwt=Bhe;var _wt=function(e){e===void 0&&(e="https://unpkg.com/@antv/layout@latest/dist/layout.min.js");function t(){var i={RUN:"LAYOUT_RUN",END:"LAYOUT_END",ERROR:"LAYOUT_ERROR",TICK:"LAYOUT_TICK",GPURUN:"GPU_LAYOUT_RUN",GPUEND:"GPU_LAYOUT_END"};layout.registerLayout("grid",layout.GridLayout),layout.registerLayout("random",layout.RandomLayout),layout.registerLayout("force",layout.ForceLayout),layout.registerLayout("circular",layout.CircularLayout),layout.registerLayout("dagre",layout.DagreLayout),layout.registerLayout("radial",layout.RadialLayout),layout.registerLayout("concentric",layout.ConcentricLayout),layout.registerLayout("mds",layout.MDSLayout),layout.registerLayout("fruchterman",layout.FruchtermanLayout),layout.registerLayout("fruchterman-gpu",layout.FruchtermanGPULayout),layout.registerLayout("gForce",layout.GForceLayout),layout.registerLayout("gForce-gpu",layout.GForceGPULayout),layout.registerLayout("comboForce",layout.ComboForceLayout),layout.registerLayout("forceAtlas2",layout.ForceAtlas2Layout);function a(s){var l=s.data.type;return l===i.RUN||l===i.GPURUN}function o(s){var l=this,u=s.data.type;switch(u){case i.RUN:{var f=s.data,c=f.nodes,h=f.edges,d=f.layoutCfg,p=d===void 0?{}:d,v=p.type,m=layout.getLayoutByName(v);if(!m){this.postMessage({type:i.ERROR,message:"layout ".concat(v," not found")});break}var g;p.onLayoutEnd=function(){l.postMessage({type:i.END,nodes:c}),g==null||g.destroy()},g=new m(p),g.init({nodes:c,edges:h}),g.execute();break}case i.GPURUN:{var x=s.data,b=x.nodes,h=x.edges,S=x.layoutCfg,p=S===void 0?{}:S,C=x.canvas,v=p.type,m=layout.getLayoutByName(v);if(!m){this.postMessage({type:i.ERROR,message:"layout ".concat(v," not found")});break}if(v.split("-")[1]!=="gpu"){this.postMessage({type:i.ERROR,message:"layout ".concat(v," does not support GPU")});break}var w=new m(p);w.init({nodes:b,edges:h}),w.executeWithWorker(C,this);break}default:break}}onmessage=function(l){a(l)&&o(l)}}var n=new bwt(t,e);return n};var fx={RUN:"LAYOUT_RUN",END:"LAYOUT_END",ERROR:"LAYOUT_ERROR",TICK:"LAYOUT_TICK",GPURUN:"GPU_LAYOUT_RUN",GPUEND:"GPU_LAYOUT_END"};var XN=U(q());function dX(r){return dX=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dX(r)}var Swt=function(e){return setTimeout(e,16)},Cwt=function(e){return clearTimeout(e)},qN={requestAnimationFrame:function(e){var t=typeof window!="undefined"&&(window.requestAnimationFrame||window.webkitRequestAnimationFrame)||Swt;return t(e)},cancelAnimationFrame:function(e){var t=typeof window!="undefined"&&(window.cancelAnimationFrame||window.webkitCancelAnimationFrame)||Cwt;return t(e)}},Ghe=["fruchterman","gForce"],zhe=["force","grid","circular"],Uhe=function(r){H(e,r);function e(t){var n=r.call(this,t)||this;return n.graph=t,n.layoutCfg=t.get("layout")||{},n.layoutType=n.getLayoutType(),n.worker=null,n.workerData={},n.initLayout(),n}return e.prototype.initLayout=function(){},e.prototype.getWorker=function(){return this.worker?this.worker:(typeof Worker=="undefined"?(console.warn("Web worker is not supported in current browser."),this.worker=null):this.worker=_wt(this.layoutCfg.workerScriptURL),this.worker)},e.prototype.stopWorker=function(){var t=this.workerData;!this.worker||(this.worker.terminate(),this.worker=null,t.requestId&&(qN.cancelAnimationFrame(t.requestId),t.requestId=null),t.requestId2&&(qN.cancelAnimationFrame(t.requestId2),t.requestId2=null))},e.prototype.execLayoutMethod=function(t,n){var i=this;return new Promise(function(a,o){return Xf(i,void 0,void 0,function(){var s,l,u,f,c,h,d,p,c,v;return qf(this,function(m){switch(m.label){case 0:if(s=this.graph,!s||s.get("destroyed"))return[2];l=t.type,t.onLayoutEnd=function(){s.emit("aftersublayout",{type:l}),a()},l&&this.isGPU&&(this.hasGPUVersion(l)?l="".concat(l,"-gpu"):console.warn("The '".concat(l,"' layout does not support GPU calculation for now, it will run in CPU."))),u=l==="force"||l==="g6force"||l==="gForce",u?(f=t.onTick,c=function(){f&&f(),s.refreshPositions()},t.tick=c):t.type==="comboForce"&&(t.comboTrees=s.get("comboTrees")),h=!1;try{d=new Lg[l](t)}catch(g){console.warn("The layout method: '".concat(l,"' does not exist! Please specify it first.")),o()}return h=d.enableTick,h&&(p=t.onTick,c=function(){p&&p(),s.refreshPositions()},d.tick=c),v=this.filterLayoutData(this.data,t),Vhe(v,n),d.init(v),s.emit("beforesublayout",{type:l}),[4,d.execute()];case 1:return m.sent(),d.isCustomLayout&&t.onLayoutEnd&&t.onLayoutEnd(),this.layoutMethods[n]=d,[2]}})})})},e.prototype.updateLayoutMethod=function(t,n){var i=this;return new Promise(function(a,o){return Xf(i,void 0,void 0,function(){var s,l,u;return qf(this,function(f){switch(f.label){case 0:return s=this.graph,l=n==null?void 0:n.type,n.onLayoutEnd=function(){s.emit("aftersublayout",{type:l}),a()},u=this.filterLayoutData(this.data,n),t.init(u),t.updateCfg(n),s.emit("beforesublayout",{type:l}),[4,t.execute()];case 1:return f.sent(),t.isCustomLayout&&n.onLayoutEnd&&n.onLayoutEnd(),[2]}})})})},e.prototype.layout=function(t){var n=this,i=this.graph;this.data=this.setDataFromGraph();var a=this.data,o=a.nodes,s=a.hiddenNodes;if(!o)return!1;var l=i.get("width"),u=i.get("height"),f={};Object.assign(f,{width:l,height:u,center:[l/2,u/2]},this.layoutCfg),this.layoutCfg=f,this.destoryLayoutMethods(),i.emit("beforelayout"),this.initPositions(f.center,o),this.initPositions(f.center,s);var c=f.type;c&&c.split("-")[1]==="gpu"&&(c=c.split("-")[0],f.gpuEnabled=!0);var h=!1;f.gpuEnabled&&(h=!0,uX().webgl||(console.warn("Your browser does not support webGL or GPGPU. The layout will run in CPU."),h=!1)),this.isGPU=h;var d=f.onLayoutEnd,p=f.layoutEndFormatted,v=f.adjust;if(p||(f.layoutEndFormatted=!0,f.onAllLayoutEnd=function(){return Xf(n,void 0,void 0,function(){return qf(this,function(g){switch(g.label){case 0:return d&&d(),this.refreshLayout(),v&&f.pipes?[4,this.adjustPipesBox(this.data,v)]:[3,2];case 1:g.sent(),this.refreshLayout(),g.label=2;case 2:return i.emit("afterlayout"),[2]}})})}),this.stopWorker(),f.workerEnabled&&this.layoutWithWorker(this.data))return!0;var m=Promise.resolve();return f.type?m=m.then(function(){return Xf(n,void 0,void 0,function(){return qf(this,function(g){switch(g.label){case 0:return[4,this.execLayoutMethod(f,0)];case 1:return[2,g.sent()]}})})}):f.pipes&&f.pipes.forEach(function(g,x){m=m.then(function(){return Xf(n,void 0,void 0,function(){return qf(this,function(b){switch(b.label){case 0:return[4,this.execLayoutMethod(g,x)];case 1:return[2,b.sent()]}})})})}),m.then(function(){f.onAllLayoutEnd&&f.onAllLayoutEnd(),t&&t()}).catch(function(g){console.warn("graph layout failed,",g)}),!1},e.prototype.layoutWithWorker=function(t){var n=this,i=this,a=i.layoutCfg,o=i.graph,s=this.getWorker(),l=this.workerData;if(!s)return!1;l.requestId=null,l.requestId2=null,l.currentTick=null,l.currentTickData=null,o.emit("beforelayout");var u=Promise.resolve();if(a.type)u=u.then(function(){return n.runWebworker(s,t,a)});else if(a.pipes)for(var f=function(v){u=u.then(function(){return n.runWebworker(s,t,v)})},c=0,h=a.pipes;c'),f=i?i.backgroundColor:void 0,c=i?i.padding:void 0;c?(0,ol.isNumber)(c)&&(c=[c,c,c,c]):c=[0,0,0,0];var h=o+c[0]+c[2],d=s+c[1]+c[3],p={container:u,height:h,width:d,quickHit:!0},v=l==="svg"?new Mh(p):new Gl(p),m=this.get("group"),g=m.clone(),x=(0,ol.clone)(g.getMatrix());x||(x=[1,0,0,0,1,0,0,0,1]);var b=(a.maxX+a.minX)/2,S=(a.maxY+a.minY)/2;x=wwt(x,[["t",-b,-S],["t",s/2+c[3],o/2+c[0]]]),g.resetMatrix(),g.setMatrix(x),v.add(g);var C=v.get("el"),w="";n||(n="image/png"),setTimeout(function(){if(l==="svg"){var A=C.cloneNode(!0),I=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),P=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",I);P.replaceChild(A,P.documentElement);var L=new XMLSerializer().serializeToString(P);w="data:image/svg+xml;charset=utf8,".concat(encodeURIComponent(L))}else{var M=void 0,O=C.getContext("2d"),F=void 0;if(f){var k=typeof window!="undefined"?window.devicePixelRatio:1;try{M=O.getImageData(0,0,d*k,h*k),F=O.globalCompositeOperation,O.globalCompositeOperation="destination-over",O.fillStyle=f,O.fillRect(0,0,d,h)}catch(G){console.error("Download image failed. Out of memory at ImageData creation")}}w=C.toDataURL(n),f&&(O.clearRect(0,0,d,h),O.putImageData(M,0,0),O.globalCompositeOperation=F)}t&&t(w)},16)},e.prototype.downloadFullImage=function(t,n,i){var a=this,o=this.get("group").getCanvasBBox(),s=o.height,l=o.width,u=this.get("renderer"),f=en(''),c=document.querySelector(".g6-graph-watermarker"),h=i?i.backgroundColor:void 0,d=i?i.padding:void 0;d?(0,ol.isNumber)(d)&&(d=[d,d,d,d]):d=[0,0,0,0];var p=s+d[0]+d[2],v=l+d[1]+d[3];if(c){var m=this.get("graphWaterMarker").cfg||{},g=m.width,x=m.height;p=Math.ceil(p/x)*x,v=Math.ceil(v/g)*g}var b={container:f,height:p,width:v},S=u==="svg"?new Mh(b):new Gl(b),C=this.get("group"),w=C.clone(),A=(0,ol.clone)(w.getMatrix());A||(A=[1,0,0,0,1,0,0,0,1]);var I=(o.maxX+o.minX)/2,P=(o.maxY+o.minY)/2;A=wwt(A,[["t",-I,-P],["t",l/2+d[3],s/2+d[0]]]),w.resetMatrix(),w.setMatrix(A),S.add(w);var L=S.get("el");n||(n="image/png"),this.asyncToDataUrl(n,h,function(M){var O=document.createElement("a"),F=(t||"graph")+(u==="svg"?".svg":".".concat(n.split("/")[1]));a.dataURLToImage(M,u,O,F);var k=document.createEvent("MouseEvents");k.initEvent("click",!1,!1),O.dispatchEvent(k)},v,p,L)},e.prototype.downloadImage=function(t,n,i){var a=this,o=this;o.isAnimating()&&o.stopAnimate();var s=o.get("canvas"),l=s.getRenderer();n||(n="image/png");var u=(t||"graph")+(l==="svg"?".svg":n.split("/")[1]),f=document.createElement("a");o.asyncToDataUrl(n,i,function(c){a.dataURLToImage(c,l,f,u);var h=document.createEvent("MouseEvents");h.initEvent("click",!1,!1),f.dispatchEvent(h)})},e.prototype.dataURLToImage=function(t,n,i,a){if(!t||t==="data:"){console.error("Download image failed. The graph is too large or there is invalid attribute values in graph items");return}if(typeof window!="undefined")if(window.Blob&&window.URL&&n!=="svg"){var o=t.split(","),s="";if(o&&o.length>0){var l=o[0].match(/:(.*?);/);l&&l.length>=2&&(s=l[1])}for(var u=atob(o[1]),f=u.length,c=new Uint8Array(f);f--;)c[f]=u.charCodeAt(f);var h=new Blob([c],{type:s});window.navigator.msSaveBlob?window.navigator.msSaveBlob(h,a):i.addEventListener("click",function(){i.download=a,i.href=window.URL.createObjectURL(h)})}else i.addEventListener("click",function(){i.download=a,i.href=t})},e.prototype.addPlugin=function(t){var n=this;t.destroyed||(n.get("plugins").push(t),t.initPlugin(n))},e.prototype.removePlugin=function(t){var n=this.get("plugins"),i=n.indexOf(t);i>=0&&(t.destroyPlugin(),n.splice(i,1))},e.prototype.setImageWaterMarker=function(t,n){t===void 0&&(t=_c.waterMarkerImage);var i=this.get("container");(0,ol.isString)(i)&&(i=document.getElementById(i)),i.style.position||(i.style.position="relative");var a=this.get("graphWaterMarker"),o=(0,ol.deepMix)({},_c.imageWaterMarkerConfig,n),s=o.width,l=o.height,u=o.compatible,f=o.image;if(!a){var c={container:i,width:s,height:l,capture:!1},h=this.get("pixelRatio");h&&(c.pixelRatio=h),a=new Gl(c),this.set("graphWaterMarker",a)}a.get("el").style.display="none";var d=a.get("context"),p=f.rotate,v=f.x,m=f.y;d.rotate(-p*Math.PI/180);var g=new Image;g.crossOrigin="anonymous",g.src=t,g.onload=function(){if(d.drawImage(g,v,m,f.width,f.height),d.rotate(p*Math.PI/180),u)i.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var x=document.querySelector(".g6-graph-watermarker");x||(x=document.createElement("div"),x.className="g6-graph-watermarker"),x.className="g6-graph-watermarker",a.destroyed||(x.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:-1;"),i.appendChild(x))}}},e.prototype.setTextWaterMarker=function(t,n){var i=this.get("container");(0,ol.isString)(i)&&(i=document.getElementById(i)),i.style.position||(i.style.position="relative");var a=this.get("graphWaterMarker"),o=(0,ol.deepMix)({},_c.textWaterMarkerConfig,n),s=o.width,l=o.height,u=o.compatible,f=o.text;if(!a){var c={container:i,width:s,height:l,capture:!1},h=this.get("pixelRatio");h&&(c.pixelRatio=h),a=new Gl(c),this.set("graphWaterMarker",a)}a.get("el").style.display="none";var d=a.get("context"),p=f.rotate,v=f.fill,m=f.fontFamily,g=f.fontSize,x=f.baseline,b=f.x,S=f.y,C=f.lineHeight;d.rotate(-p*Math.PI/180),d.font="".concat(g,"px ").concat(m),d.fillStyle=v,d.textBaseline=x;for(var w=t.length-1;w>=0;w--)d.fillText(t[w],b,S+w*C);if(d.rotate(p*Math.PI/180),u)i.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var A=document.querySelector(".g6-graph-watermarker");A||(A=document.createElement("div"),A.className="g6-graph-watermarker"),A.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:99;"),i.appendChild(A)}},e.prototype.destroy=function(){var t,n,i,a;(0,ol.each)(this.get("plugins"),function(f){f.destroyPlugin()});var o=this.get("tooltips");if(o)for(var s=0;s0)for(var u=s.length-1;u>=0;u--){var f=s[u].getModel();e.indexOfChild(t.children||[],f.id)===-1&&(a.innerRemoveChild(f.id,{x:t.x,y:t.y},i),s.splice(u,1))}}var c,h;o.get("originAttrs")&&(c=o.get("originAttrs").x,h=o.get("originAttrs").y);var d=o.getModel();i&&o.set("originAttrs",{x:d.x,y:d.y}),o.set("model",t.data),(c!==t.x||h!==t.y)&&o.updatePosition({x:t.x,y:t.y})},e.prototype.innerRemoveChild=function(t,n,i){var a=this,o=a.findById(t);if(!!o)if((0,Lu.each)(o.get("children"),function(l){a.innerRemoveChild(l.getModel().id,n,i)}),i){var s=o.getModel();o.set("to",n),o.set("originAttrs",{x:s.x,y:s.y}),a.get("removeList").push(o)}else a.removeItem(o,!1)},e.prototype.changeData=function(t){var n=this;this.getNodes().map(function(i){return n.clearItemStates(i)}),this.getEdges().map(function(i){return n.clearItemStates(i)}),t?(n.data(t),n.render()):n.layout(this.get("fitView"))},e.prototype.changeLayout=function(t){console.warn("Please call updateLayout instead of changeLayout. changeLayout will be discarded soon");var n=this;n.updateLayout(t)},e.prototype.updateLayout=function(t){var n=this;if(!t){console.warn("layout cannot be null");return}n.set("layout",t),n.set("layoutMethod",n.getLayout()),n.layout()},e.prototype.refreshLayout=function(t){console.warn("Please call layout instead of refreshLayout. refreshLayout will be discarded soon");var n=this;n.layout(t)},e.prototype.layout=function(t){var n=this,i=n.get("data"),a=n.get("layoutMethod"),o=a?a(i,n.get("layout")):i,s=n.get("animate");if(n.emit("beforerefreshlayout",{data:i,layoutData:o}),n.emit("beforelayout"),n.innerUpdateChild(o,void 0,s),t){var l=n.get("viewController");l.fitView()}s?n.layoutAnimate(o):(n.refresh(),n.paint()),n.emit("afterrefreshlayout",{data:i,layoutData:o}),n.emit("afterlayout")},e.prototype.addChild=function(t,n){var i=this;i.emit("beforeaddchild",{model:t,parent:n}),(0,Lu.isString)(n)||(n=n.get("id"));var a=i.findDataById(n);a&&(a.children||(a.children=[]),a.children.push(t),i.changeData())},e.prototype.updateChildren=function(t,n){var i=this;if(!n||!i.findById(n)){console.warn("Update children failed! There is no node with id '".concat(n,"'"));return}var a=i.findDataById(n);a.children=t,i.changeData()},e.prototype.updateChild=function(t,n){var i=this;if(!n||!i.findById(n)){i.changeData(t);return}var a=i.findDataById(n),o=i.findById(t.id);if(a.children||(a.children=[]),!o)a.children.push(t);else{var s=e.indexOfChild(a.children,t.id);a.children[s]=t}i.changeData()},e.prototype.removeChild=function(t){var n=this,i=n.findById(t);if(!!i){var a=i.get("parent");if(a&&!a.destroyed){var o=n.findDataById(a.get("id")),s=o&&o.children||[],l=i.getModel(),u=e.indexOfChild(s,l.id);s.splice(u,1)}n.changeData()}},e.prototype.findDataById=function(t,n){var i=this;if(n||(n=i.get("data")),t===n.id)return n;var a=null;return(0,Lu.each)(n.children||[],function(o){if(o.id===t)return a=o,!1;if(a=i.findDataById(t,o),a)return!1}),a},e.prototype.layoutAnimate=function(t,n){var i=this,a=this.get("animateCfg");i.emit("beforeanimate",{data:t}),i.getEdges().forEach(function(o){var s=o.get("model");s.sourceAnchor||(s.sourceAnchor=o.get("sourceAnchorIndex"))}),this.get("canvas").animate(function(o){qhe(t,function(s){var l=i.findById(s.id);if(l){var u=l.get("originAttrs"),f=l.get("model");if(u||(u={x:f.x,y:f.y},l.set("originAttrs",u)),n){var c=n(l,o,u,t);l.set("model",Object.assign(f,c))}else f.x=u.x+(s.x-u.x)*o,f.y=u.y+(s.y-u.y)*o}return!0}),(0,Lu.each)(i.get("removeList"),function(s){var l=s.getModel(),u=s.get("originAttrs"),f=s.get("to");l.x=u.x+(f.x-u.x)*o,l.y=u.y+(f.y-u.y)*o}),i.refreshPositions()},{duration:a.duration,easing:a.ease,callback:function(){(0,Lu.each)(i.getNodes(),function(s){s.set("originAttrs",null)}),(0,Lu.each)(i.get("removeList"),function(s){i.removeItem(s)}),i.set("removeList",[]),a.callback&&a.callback(),i.emit("afteranimate",{data:t})},delay:a.delay})},e.prototype.stopLayoutAnimate=function(){this.get("canvas").stopAnimate(),this.emit("layoutanimateend",{data:this.get("data")}),this.layoutAnimating=!1},e.prototype.isLayoutAnimating=function(){return this.layoutAnimating},e.prototype.render=function(){var t=this,n=t.get("data");if(!n||!(0,Lu.isObject)(n)||!Object.keys(n).length)throw new Error("data must be defined first");t.clear(),t.emit("beforerender"),t.layout(this.get("fitView")),t.emit("afterrender")},e.prototype.save=function(){return this.get("data")},e}(AS),Ewt=Khe;var cx=U(q()),Zhe=function(){function r(e){this._cfgs=(0,cx.deepMix)(this.getDefaultCfgs(),e),this._events={},this.destroyed=!1}return r.prototype.getDefaultCfgs=function(){return{}},r.prototype.initPlugin=function(e){var t=this;t.set("graph",e);var n=t.getEvents(),i={};(0,cx.each)(n,function(a,o){var s=(0,cx.wrapBehavior)(t,a);i[o]=s,e.on(o,s)}),this._events=i,this.init()},r.prototype.getEvents=function(){return{}},r.prototype.get=function(e){var t;return(t=this._cfgs)===null||t===void 0?void 0:t[e]},r.prototype.set=function(e,t){this._cfgs[e]=t},r.prototype.destroy=function(){},r.prototype.destroyPlugin=function(){this.destroy();var e=this.get("graph"),t=this._events;(0,cx.each)(t,function(n,i){e.off(i,n)}),this._events=null,this._cfgs=null,this.destroyed=!0},r}(),ia=Zhe;var $he=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Awt="url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2UwZTBlMCIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiLz48L3N2Zz4=)",Qhe=function(r){$he(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{img:Awt,follow:!0}},e.prototype.init=function(){var t=this.get("graph"),n=t.get("container"),i=t.get("canvas").get("el"),a=this.get("img")||Awt,o=en(`
      `),s=en(`
      '),f=i?i.backgroundColor:void 0,c=i?i.padding:void 0;c?(0,ol.isNumber)(c)&&(c=[c,c,c,c]):c=[0,0,0,0];var h=o+c[0]+c[2],d=s+c[1]+c[3],p={container:u,height:h,width:d,quickHit:!0},v=l==="svg"?new Mh(p):new Gl(p),m=this.get("group"),g=m.clone(),x=(0,ol.clone)(g.getMatrix());x||(x=[1,0,0,0,1,0,0,0,1]);var b=(a.maxX+a.minX)/2,S=(a.maxY+a.minY)/2;x=Bwt(x,[["t",-b,-S],["t",s/2+c[3],o/2+c[0]]]),g.resetMatrix(),g.setMatrix(x),v.add(g);var C=v.get("el"),w="";n||(n="image/png"),setTimeout(function(){if(l==="svg"){var A=C.cloneNode(!0),L=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),k=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",L);k.replaceChild(A,k.documentElement);var O=new XMLSerializer().serializeToString(k);w="data:image/svg+xml;charset=utf8,".concat(encodeURIComponent(O))}else{var M=void 0,I=C.getContext("2d"),R=void 0;if(f){var P=typeof window!="undefined"?window.devicePixelRatio:1;try{M=I.getImageData(0,0,d*P,h*P),R=I.globalCompositeOperation,I.globalCompositeOperation="destination-over",I.fillStyle=f,I.fillRect(0,0,d,h)}catch(F){console.error("Download image failed. Out of memory at ImageData creation")}}w=C.toDataURL(n),f&&(I.clearRect(0,0,d,h),I.putImageData(M,0,0),I.globalCompositeOperation=R)}t&&t(w)},16)},e.prototype.downloadFullImage=function(t,n,i){var a=this,o=this.get("group").getCanvasBBox(),s=o.height,l=o.width,u=this.get("renderer"),f=en(''),c=document.querySelector(".g6-graph-watermarker"),h=i?i.backgroundColor:void 0,d=i?i.padding:void 0;d?(0,ol.isNumber)(d)&&(d=[d,d,d,d]):d=[0,0,0,0];var p=s+d[0]+d[2],v=l+d[1]+d[3];if(c){var m=this.get("graphWaterMarker").cfg||{},g=m.width,x=m.height;p=Math.ceil(p/x)*x,v=Math.ceil(v/g)*g}var b={container:f,height:p,width:v},S=u==="svg"?new Mh(b):new Gl(b),C=this.get("group"),w=C.clone(),A=(0,ol.clone)(w.getMatrix());A||(A=[1,0,0,0,1,0,0,0,1]);var L=(o.maxX+o.minX)/2,k=(o.maxY+o.minY)/2;A=Bwt(A,[["t",-L,-k],["t",l/2+d[3],s/2+d[0]]]),w.resetMatrix(),w.setMatrix(A),S.add(w);var O=S.get("el");n||(n="image/png"),this.asyncToDataUrl(n,h,function(M){var I=document.createElement("a"),R=(t||"graph")+(u==="svg"?".svg":".".concat(n.split("/")[1]));a.dataURLToImage(M,u,I,R);var P=document.createEvent("MouseEvents");P.initEvent("click",!1,!1),I.dispatchEvent(P)},v,p,O)},e.prototype.downloadImage=function(t,n,i){var a=this,o=this;o.isAnimating()&&o.stopAnimate();var s=o.get("canvas"),l=s.getRenderer();n||(n="image/png");var u=(t||"graph")+(l==="svg"?".svg":n.split("/")[1]),f=document.createElement("a");o.asyncToDataUrl(n,i,function(c){a.dataURLToImage(c,l,f,u);var h=document.createEvent("MouseEvents");h.initEvent("click",!1,!1),f.dispatchEvent(h)})},e.prototype.dataURLToImage=function(t,n,i,a){if(!t||t==="data:"){console.error("Download image failed. The graph is too large or there is invalid attribute values in graph items");return}if(typeof window!="undefined")if(window.Blob&&window.URL&&n!=="svg"){var o=t.split(","),s="";if(o&&o.length>0){var l=o[0].match(/:(.*?);/);l&&l.length>=2&&(s=l[1])}for(var u=atob(o[1]),f=u.length,c=new Uint8Array(f);f--;)c[f]=u.charCodeAt(f);var h=new Blob([c],{type:s});window.navigator.msSaveBlob?window.navigator.msSaveBlob(h,a):i.addEventListener("click",function(){i.download=a,i.href=window.URL.createObjectURL(h)})}else i.addEventListener("click",function(){i.download=a,i.href=t})},e.prototype.addPlugin=function(t){var n=this;t.destroyed||(n.get("plugins").push(t),t.initPlugin(n))},e.prototype.removePlugin=function(t){var n=this.get("plugins"),i=n.indexOf(t);i>=0&&(t.destroyPlugin(),n.splice(i,1))},e.prototype.setImageWaterMarker=function(t,n){t===void 0&&(t=_c.waterMarkerImage);var i=this.get("container");(0,ol.isString)(i)&&(i=document.getElementById(i)),i.style.position||(i.style.position="relative");var a=this.get("graphWaterMarker"),o=(0,ol.deepMix)({},_c.imageWaterMarkerConfig,n),s=o.width,l=o.height,u=o.compatible,f=o.image;if(!a){var c={container:i,width:s,height:l,capture:!1},h=this.get("pixelRatio");h&&(c.pixelRatio=h),a=new Gl(c),this.set("graphWaterMarker",a)}a.get("el").style.display="none";var d=a.get("context"),p=f.rotate,v=f.x,m=f.y;d.rotate(-p*Math.PI/180);var g=new Image;g.crossOrigin="anonymous",g.src=t,g.onload=function(){if(d.drawImage(g,v,m,f.width,f.height),d.rotate(p*Math.PI/180),u)i.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var x=document.querySelector(".g6-graph-watermarker");x||(x=document.createElement("div"),x.className="g6-graph-watermarker"),x.className="g6-graph-watermarker",a.destroyed||(x.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:-1;"),i.appendChild(x))}}},e.prototype.setTextWaterMarker=function(t,n){var i=this.get("container");(0,ol.isString)(i)&&(i=document.getElementById(i)),i.style.position||(i.style.position="relative");var a=this.get("graphWaterMarker"),o=(0,ol.deepMix)({},_c.textWaterMarkerConfig,n),s=o.width,l=o.height,u=o.compatible,f=o.text;if(!a){var c={container:i,width:s,height:l,capture:!1},h=this.get("pixelRatio");h&&(c.pixelRatio=h),a=new Gl(c),this.set("graphWaterMarker",a)}a.get("el").style.display="none";var d=a.get("context"),p=f.rotate,v=f.fill,m=f.fontFamily,g=f.fontSize,x=f.baseline,b=f.x,S=f.y,C=f.lineHeight;d.rotate(-p*Math.PI/180),d.font="".concat(g,"px ").concat(m),d.fillStyle=v,d.textBaseline=x;for(var w=t.length-1;w>=0;w--)d.fillText(t[w],b,S+w*C);if(d.rotate(p*Math.PI/180),u)i.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;");else{var A=document.querySelector(".g6-graph-watermarker");A||(A=document.createElement("div"),A.className="g6-graph-watermarker"),A.style.cssText="background-image: url(".concat(a.get("el").toDataURL("image/png"),");background-repeat:repeat;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:99;"),i.appendChild(A)}},e.prototype.destroy=function(){var t,n,i,a;(0,ol.each)(this.get("plugins"),function(f){f.destroyPlugin()});var o=this.get("tooltips");if(o)for(var s=0;s0)for(var u=s.length-1;u>=0;u--){var f=s[u].getModel();e.indexOfChild(t.children||[],f.id)===-1&&(a.innerRemoveChild(f.id,{x:t.x,y:t.y},i),s.splice(u,1))}}var c,h;o.get("originAttrs")&&(c=o.get("originAttrs").x,h=o.get("originAttrs").y);var d=o.getModel();i&&o.set("originAttrs",{x:d.x,y:d.y}),o.set("model",t.data),(c!==t.x||h!==t.y)&&o.updatePosition({x:t.x,y:t.y})},e.prototype.innerRemoveChild=function(t,n,i){var a=this,o=a.findById(t);if(!!o)if((0,Lu.each)(o.get("children"),function(l){a.innerRemoveChild(l.getModel().id,n,i)}),i){var s=o.getModel();o.set("to",n),o.set("originAttrs",{x:s.x,y:s.y}),a.get("removeList").push(o)}else a.removeItem(o,!1)},e.prototype.changeData=function(t){var n=this;this.getNodes().map(function(i){return n.clearItemStates(i)}),this.getEdges().map(function(i){return n.clearItemStates(i)}),t?(n.data(t),n.render()):n.layout(this.get("fitView"))},e.prototype.changeLayout=function(t){console.warn("Please call updateLayout instead of changeLayout. changeLayout will be discarded soon");var n=this;n.updateLayout(t)},e.prototype.updateLayout=function(t){var n=this;if(!t){console.warn("layout cannot be null");return}n.set("layout",t),n.set("layoutMethod",n.getLayout()),n.layout()},e.prototype.refreshLayout=function(t){console.warn("Please call layout instead of refreshLayout. refreshLayout will be discarded soon");var n=this;n.layout(t)},e.prototype.layout=function(t){var n=this,i=n.get("data"),a=n.get("layoutMethod"),o=a?a(i,n.get("layout")):i,s=n.get("animate");if(n.emit("beforerefreshlayout",{data:i,layoutData:o}),n.emit("beforelayout"),n.innerUpdateChild(o,void 0,s),t){var l=n.get("viewController");l.fitView()}s?n.layoutAnimate(o):(n.refresh(),n.paint()),n.emit("afterrefreshlayout",{data:i,layoutData:o}),n.emit("afterlayout")},e.prototype.addChild=function(t,n){var i=this;i.emit("beforeaddchild",{model:t,parent:n}),(0,Lu.isString)(n)||(n=n.get("id"));var a=i.findDataById(n);a&&(a.children||(a.children=[]),a.children.push(t),i.changeData())},e.prototype.updateChildren=function(t,n){var i=this;if(!n||!i.findById(n)){console.warn("Update children failed! There is no node with id '".concat(n,"'"));return}var a=i.findDataById(n);a.children=t,i.changeData()},e.prototype.updateChild=function(t,n){var i=this;if(!n||!i.findById(n)){i.changeData(t);return}var a=i.findDataById(n),o=i.findById(t.id);if(a.children||(a.children=[]),!o)a.children.push(t);else{var s=e.indexOfChild(a.children,t.id);a.children[s]=t}i.changeData()},e.prototype.removeChild=function(t){var n=this,i=n.findById(t);if(!!i){var a=i.get("parent");if(a&&!a.destroyed){var o=n.findDataById(a.get("id")),s=o&&o.children||[],l=i.getModel(),u=e.indexOfChild(s,l.id);s.splice(u,1)}n.changeData()}},e.prototype.findDataById=function(t,n){var i=this;if(n||(n=i.get("data")),t===n.id)return n;var a=null;return(0,Lu.each)(n.children||[],function(o){if(o.id===t)return a=o,!1;if(a=i.findDataById(t,o),a)return!1}),a},e.prototype.layoutAnimate=function(t,n){var i=this,a=this.get("animateCfg");i.emit("beforeanimate",{data:t}),i.getEdges().forEach(function(o){var s=o.get("model");s.sourceAnchor||(s.sourceAnchor=o.get("sourceAnchorIndex"))}),this.get("canvas").animate(function(o){mde(t,function(s){var l=i.findById(s.id);if(l){var u=l.get("originAttrs"),f=l.get("model");if(u||(u={x:f.x,y:f.y},l.set("originAttrs",u)),n){var c=n(l,o,u,t);l.set("model",Object.assign(f,c))}else f.x=u.x+(s.x-u.x)*o,f.y=u.y+(s.y-u.y)*o}return!0}),(0,Lu.each)(i.get("removeList"),function(s){var l=s.getModel(),u=s.get("originAttrs"),f=s.get("to");l.x=u.x+(f.x-u.x)*o,l.y=u.y+(f.y-u.y)*o}),i.refreshPositions()},{duration:a.duration,easing:a.ease,callback:function(){(0,Lu.each)(i.getNodes(),function(s){s.set("originAttrs",null)}),(0,Lu.each)(i.get("removeList"),function(s){i.removeItem(s)}),i.set("removeList",[]),a.callback&&a.callback(),i.emit("afteranimate",{data:t})},delay:a.delay})},e.prototype.stopLayoutAnimate=function(){this.get("canvas").stopAnimate(),this.emit("layoutanimateend",{data:this.get("data")}),this.layoutAnimating=!1},e.prototype.isLayoutAnimating=function(){return this.layoutAnimating},e.prototype.render=function(){var t=this,n=t.get("data");if(!n||!(0,Lu.isObject)(n)||!Object.keys(n).length)throw new Error("data must be defined first");t.clear(),t.emit("beforerender"),t.layout(this.get("fitView")),t.emit("afterrender")},e.prototype.save=function(){return this.get("data")},e}(IS),Gwt=gde;var vx=z(q()),yde=function(){function r(e){this._cfgs=(0,vx.deepMix)(this.getDefaultCfgs(),e),this._events={},this.destroyed=!1}return r.prototype.getDefaultCfgs=function(){return{}},r.prototype.initPlugin=function(e){var t=this;t.set("graph",e);var n=t.getEvents(),i={};(0,vx.each)(n,function(a,o){var s=(0,vx.wrapBehavior)(t,a);i[o]=s,e.on(o,s)}),this._events=i,this.init()},r.prototype.getEvents=function(){return{}},r.prototype.get=function(e){var t;return(t=this._cfgs)===null||t===void 0?void 0:t[e]},r.prototype.set=function(e,t){this._cfgs[e]=t},r.prototype.destroy=function(){},r.prototype.destroyPlugin=function(){this.destroy();var e=this.get("graph"),t=this._events;(0,vx.each)(t,function(n,i){e.off(i,n)}),this._events=null,this._cfgs=null,this.destroyed=!0},r}(),ia=yde;var xde=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),zwt="url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2UwZTBlMCIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTBlMGUwIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiLz48L3N2Zz4=)",bde=function(r){xde(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{img:zwt,follow:!0}},e.prototype.init=function(){var t=this.get("graph"),n=t.get("container"),i=t.get("canvas").get("el"),a=this.get("img")||zwt,o=en(`
      `),s=en(`
      `));this.set("container",o),this.set("gridContainer",s),this.positionInit(),o.appendChild(s),n.insertBefore(o,i)},e.prototype.positionInit=function(){var t=this.get("graph"),n=t.get("minZoom"),i=t.get("width"),a=t.get("height");yr(this.get("container"),{width:"".concat(i,"px"),height:"".concat(a,"px")});var o=i*80/n,s=a*80/n;yr(this.get("gridContainer"),{width:"".concat(o,"px"),height:"".concat(s,"px"),left:"-".concat(o/2,"px"),top:"-".concat(s/2,"px")})},e.prototype.getEvents=function(){return{viewportchange:"updateGrid"}},e.prototype.updateGrid=function(t){var n=this.get("gridContainer"),i=t.matrix;i||(i=[1,0,0,0,1,0,0,0,1]);var a=this.get("follow"),o="matrix(".concat(i[0],", ").concat(i[1],", ").concat(i[3],", ").concat(i[4],", ").concat(a?i[6]:"0",", ").concat(a?i[7]:"0",")");yr(n,{transform:o})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){var t=this.get("graph"),n=t.get("container"),i=this.get("container");n.removeChild(i)},e}(ia),Mwt=Qhe;var ZN=U(q()),Lwt=U(KN());var ede=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();typeof document!="undefined"&&(0,Lwt.default)(` + '>`));this.set("container",o),this.set("gridContainer",s),this.positionInit(),o.appendChild(s),n.insertBefore(o,i)},e.prototype.positionInit=function(){var t=this.get("graph"),n=t.get("minZoom"),i=t.get("width"),a=t.get("height");yr(this.get("container"),{width:"".concat(i,"px"),height:"".concat(a,"px")});var o=i*80/n,s=a*80/n;yr(this.get("gridContainer"),{width:"".concat(o,"px"),height:"".concat(s,"px"),left:"-".concat(o/2,"px"),top:"-".concat(s/2,"px")})},e.prototype.getEvents=function(){return{viewportchange:"updateGrid"}},e.prototype.updateGrid=function(t){var n=this.get("gridContainer"),i=t.matrix;i||(i=[1,0,0,0,1,0,0,0,1]);var a=this.get("follow"),o="matrix(".concat(i[0],", ").concat(i[1],", ").concat(i[3],", ").concat(i[4],", ").concat(a?i[6]:"0",", ").concat(a?i[7]:"0",")");yr(n,{transform:o})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){var t=this.get("graph"),n=t.get("container"),i=this.get("container");n.removeChild(i)},e}(ia),Uwt=bde;var eF=z(q()),Vwt=z(tF());var Cde=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();typeof document!="undefined"&&(0,Vwt.default)(` .g6-component-contextmenu { border: 1px solid #e2e2e2; border-radius: 4px; @@ -666,12 +666,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho list-style: none; } -`);var rde=function(r){ede(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{offsetX:6,offsetY:6,handleMenuClick:void 0,getContent:function(n){return` +`);var wde=function(r){Cde(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{offsetX:6,offsetY:6,handleMenuClick:void 0,getContent:function(n){return`
      • \u83DC\u5355\u98791
      • \u83DC\u5355\u98792
      - `},shouldBegin:function(n){return!0},onHide:function(){return!0},itemTypes:["node","edge","combo"],trigger:"contextmenu"}},e.prototype.getEvents=function(){return this.get("trigger")==="click"?{click:"onMenuShow"}:{contextmenu:"onMenuShow"}},e.prototype.init=function(){var t=this.get("className"),n=en("
      "));yr(n,{top:"0px",position:"absolute",visibility:"hidden"});var i=this.get("container");i||(i=this.get("graph").get("container")),(0,ZN.isString)(i)&&(i=document.getElementById(i)),i.appendChild(n),this.set("menu",n)},e.prototype.onMenuShow=function(t){var n=this;t.preventDefault();var i=this.get("itemTypes");if(t.item){if(t.item&&t.item.getType&&i.indexOf(t.item.getType())===-1){n.onMenuHide();return}}else if(i.indexOf("canvas")===-1){n.onMenuHide();return}var a=this.get("shouldBegin");if(!!a(t)){var o=this.get("menu"),s=this.get("getContent"),l=this.get("graph"),u=s(t,l);(0,ZN.isString)(u)?o.innerHTML=u:o.innerHTML=u.outerHTML,this.removeMenuEventListener();var f=this.get("handleMenuClick");if(f){var c=function(I){f(I.target,t.item,l)};this.set("handleMenuClickWrapper",c),o.addEventListener("click",c)}var h=l.get("width"),d=l.get("height"),p=o.getBoundingClientRect(),v=this.get("offsetX")||0,m=this.get("offsetY")||0,g=l.getContainer().offsetTop,x=l.getContainer().offsetLeft,b=t.canvasX+x+v,S=t.canvasY+g+m;b+p.width>h&&(b=t.canvasX-p.width-v+x),S+p.height>d&&(S=t.canvasY-p.height-m+g),yr(o,{top:"".concat(S,"px"),left:"".concat(b,"px"),visibility:"visible"});var C=this.get("trigger")==="click",w=function(I){if(C){C=!1;return}n.onMenuHide()};document.body.addEventListener("click",w),this.set("handler",w)}},e.prototype.removeMenuEventListener=function(){var t=this.get("handleMenuClickWrapper"),n=this.get("handler");if(t){var i=this.get("menu");i.removeEventListener("click",t),this.set("handleMenuClickWrapper",null)}n&&document.body.removeEventListener("click",n)},e.prototype.onMenuHide=function(){var t=this.get("menu");t&&yr(t,{visibility:"hidden"}),this.removeMenuEventListener()},e.prototype.destroy=function(){var t=this.get("menu");if(this.removeMenuEventListener(),t){var n=this.get("container");n||(n=this.get("graph").get("container")),(0,ZN.isString)(n)&&(n=document.getElementById(n)),n.removeChild(t)}},e}(ia),Owt=rde;var Jl=U(q());var nde=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),yX=function(){return yX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t"));yr(n,{top:"0px",position:"absolute",visibility:"hidden"});var i=this.get("container");i||(i=this.get("graph").get("container")),(0,eF.isString)(i)&&(i=document.getElementById(i)),i.appendChild(n),this.set("menu",n)},e.prototype.onMenuShow=function(t){var n=this;t.preventDefault();var i=this.get("itemTypes");if(t.item){if(t.item&&t.item.getType&&i.indexOf(t.item.getType())===-1){n.onMenuHide();return}}else if(i.indexOf("canvas")===-1){n.onMenuHide();return}var a=this.get("shouldBegin");if(!!a(t)){var o=this.get("menu"),s=this.get("getContent"),l=this.get("graph"),u=s(t,l);(0,eF.isString)(u)?o.innerHTML=u:o.innerHTML=u.outerHTML,this.removeMenuEventListener();var f=this.get("handleMenuClick");if(f){var c=function(L){f(L.target,t.item,l)};this.set("handleMenuClickWrapper",c),o.addEventListener("click",c)}var h=l.get("width"),d=l.get("height"),p=o.getBoundingClientRect(),v=this.get("offsetX")||0,m=this.get("offsetY")||0,g=l.getContainer().offsetTop,x=l.getContainer().offsetLeft,b=t.canvasX+x+v,S=t.canvasY+g+m;b+p.width>h&&(b=t.canvasX-p.width-v+x),S+p.height>d&&(S=t.canvasY-p.height-m+g),yr(o,{top:"".concat(S,"px"),left:"".concat(b,"px"),visibility:"visible"});var C=this.get("trigger")==="click",w=function(L){if(C){C=!1;return}n.onMenuHide()};document.body.addEventListener("click",w),this.set("handler",w)}},e.prototype.removeMenuEventListener=function(){var t=this.get("handleMenuClickWrapper"),n=this.get("handler");if(t){var i=this.get("menu");i.removeEventListener("click",t),this.set("handleMenuClickWrapper",null)}n&&document.body.removeEventListener("click",n)},e.prototype.onMenuHide=function(){var t=this.get("menu");t&&yr(t,{visibility:"hidden"}),this.removeMenuEventListener()},e.prototype.destroy=function(){var t=this.get("menu");if(this.removeMenuEventListener(),t){var n=this.get("container");n||(n=this.get("graph").get("container")),(0,eF.isString)(n)&&(n=document.getElementById(n)),n.removeChild(t)}},e}(ia),Hwt=wde;var Jl=z(q());var Ede=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),wX=function(){return wX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t - `)),u=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,f=0,c=0,h=!1,d=0,p=0,v=0,m=0,g=0,x=0;l.addEventListener("dragstart",function(b){var S,C;if(b.dataTransfer){var w=new Image;w.src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' %3E%3Cpath /%3E%3C/svg%3E",(C=(S=b.dataTransfer).setDragImage)===null||C===void 0||C.call(S,w,0,0);try{b.dataTransfer.setData("text/html","view-port-minimap")}catch(I){b.dataTransfer.setData("text","view-port-minimap")}}if(n.refresh=!1,b.target===l){var A=l.style;d=parseInt(A.left,10),p=parseInt(A.top,10),v=parseInt(A.width,10),m=parseInt(A.height,10),!(v>i[0]||m>i[1])&&(x=a.getZoom(),g=t.get("ratio"),h=!0,f=b.clientX,c=b.clientY)}},!1),l.addEventListener(u?"dragover":"drag",function(b){if(!(!h||(0,Jl.isNil)(b.clientX)||(0,Jl.isNil)(b.clientY))){var S=f-b.clientX,C=c-b.clientY;(d-S<0||d-S+v>=i[0])&&(S=0),(p-C<0||p-C+m>=i[1])&&(C=0),d-=S,p-=C,yr(l,{left:"".concat(d,"px"),top:"".concat(p,"px")}),a.translate(S*x/g,C*x/g),f=b.clientX,c=b.clientY}},!1),l.addEventListener("dragend",function(){h=!1,n.refresh=!0},!1),this.set("viewport",l),s.appendChild(l)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),n=this.get("dx"),i=this.get("dy"),a=this.get("totaldx"),o=this.get("totaldy"),s=this.get("graph"),l=this.get("size"),u=s.get("width"),f=s.get("height"),c=s.getPointByCanvas(0,0),h=s.getPointByCanvas(u,f),d=this.get("viewport");d||this.initViewport();var p=(h.x-c.x)*t,v=(h.y-c.y)*t,m=c.x*t+a,g=c.y*t+o,x=m+p,b=g+v;m<0&&(p+=m,m=0),x>l[0]&&(p=p-(x-l[0])),g<0&&(v+=g,g=0),b>l[1]&&(v=v-(b-l[1])),this.set("ratio",t);var S="".concat(m,"px"),C="".concat(g,"px");yr(d,{left:S,top:C,width:"".concat(p,"px"),height:"".concat(v,"px")})}},e.prototype.updateGraphShapes=function(){var t=this._cfgs.graph,n=this.get("canvas"),i=t.get("group");if(!i.destroyed){var a=i.clone();a.resetMatrix(),n.clear(),n.add(a);var o=t.get("renderer");o===Pwt&&this.updateVisible(a)}},e.prototype.updateVisible=function(t){var n=this;if(!t.isGroup()&&!t.get("visible"))t.hide();else{var i=t.get("children");if(!i||!i.length)return;i.forEach(function(a){a.get("visible")||a.hide(),n.updateVisible(a)})}},e.prototype.updateKeyShapes=function(){var t=this,n=this._cfgs.graph,i=this.get("canvas"),a=i.get("children")[0]||i.addGroup();(0,Jl.each)(n.getEdges(),function(l){t.updateOneEdgeKeyShape(l,a)}),(0,Jl.each)(n.getNodes(),function(l){t.updateOneNodeKeyShape(l,a)});var o=n.getCombos();if(o&&o.length){var s=a.find(function(l){return l.get("name")==="comboGroup"})||a.addGroup({name:"comboGroup"});setTimeout(function(){t.destroyed||((0,Jl.each)(o,function(l){t.updateOneComboKeyShape(l,s)}),s==null||s.sort(),s==null||s.toBack(),t.updateCanvas())},250)}this.clearDestroyedShapes()},e.prototype.updateOneComboKeyShape=function(t,n){if(!this.destroyed){var i=this.get("itemMap")||{},a=i[t.get("id")],o=t.getBBox(),s=t.get("keyShape").clone(),l=s.attr(),u={x:o.centerX,y:o.centerY};a?u=Object.assign(l,u):(a=s,n.add(a));var f=a.get("type");(f==="rect"||f==="image")&&(u.x=o.minX,u.y=o.minY),a.attr(u),t.isVisible()?a.show():a.hide(),a.exist=!0;var c=t.getModel().depth;isNaN(c)||a.set("zIndex",c),i[t.get("id")]=a,this.set("itemMap",i)}},e.prototype.updateOneNodeKeyShape=function(t,n){var i=this.get("itemMap")||{},a=i[t.get("id")],o=t.getBBox(),s=t.get("keyShape").clone(),l=s.attr(),u={x:o.centerX,y:o.centerY};a?u=Object.assign(l,u):(a=s,n.add(a));var f=a.get("type");(f==="rect"||f==="image")&&(u.x=o.minX,u.y=o.minY),a.attr(u),t.isVisible()?a.show():a.hide(),a.exist=!0;var c=t.getModel().depth;isNaN(c)||a.set("zIndex",c),i[t.get("id")]=a,this.set("itemMap",i)},e.prototype.updateDelegateShapes=function(){var t=this,n=this._cfgs.graph,i=this.get("canvas"),a=i.get("children")[0]||i.addGroup();(0,Jl.each)(n.getEdges(),function(l){t.updateOneEdgeKeyShape(l,a)}),(0,Jl.each)(n.getNodes(),function(l){t.updateOneNodeDelegateShape(l,a)});var o=n.getCombos();if(o&&o.length){var s=a.find(function(l){return l.get("name")==="comboGroup"})||a.addGroup({name:"comboGroup"});setTimeout(function(){t.destroyed||((0,Jl.each)(o,function(l){t.updateOneComboKeyShape(l,s)}),s==null||s.sort(),s==null||s.toBack(),t.updateCanvas())},250)}this.clearDestroyedShapes()},e.prototype.clearDestroyedShapes=function(){var t=this.get("itemMap")||{},n=Object.keys(t);if(!(!n||n.length===0))for(var i=n.length-1;i>=0;i--){var a=t[n[i]],o=a.exist;a.exist=!1,o||(a.remove(),delete t[n[i]])}},e.prototype.updateOneEdgeKeyShape=function(t,n){var i=this.get("itemMap")||{},a=i[t.get("id")];if(a){var o=t.get("keyShape").attr("path");a.attr("path",o)}else a=t.get("keyShape").clone(),n.add(a);t.isVisible()?a.show():a.hide(),a.exist=!0,i[t.get("id")]=a,this.set("itemMap",i)},e.prototype.updateOneNodeDelegateShape=function(t,n){var i=this.get("delegateStyle"),a=this.get("itemMap")||{},o=a[t.get("id")],s=t.getBBox();if(o){var l={x:s.minX,y:s.minY,width:s.width,height:s.height};o.attr(l)}else o=n.addShape("rect",{attrs:yX({x:s.minX,y:s.minY,width:s.width,height:s.height},i),name:"minimap-node-shape"});t.isVisible()?o.show():o.hide(),o.exist=!0,a[t.get("id")]=o,this.set("itemMap",a)},e.prototype.init=function(){this.initContainer(),this.get("graph").on("afterupdateitem",this.handleUpdateCanvas),this.get("graph").on("afteritemstatechange",this.handleUpdateCanvas),this.get("graph").on("afteradditem",this.handleUpdateCanvas),this.get("graph").on("afterremoveitem",this.handleUpdateCanvas),this.get("graph").on("afterrender",this.handleUpdateCanvas),this.get("graph").on("afterlayout",this.handleUpdateCanvas)},e.prototype.initContainer=function(){var t=this,n=t.get("graph"),i=t.get("size"),a=t.get("className"),o=t.get("container"),s=en("
      "));(0,Jl.isString)(o)&&(o=document.getElementById(o)),o?o.appendChild(s):n.get("container").appendChild(s),t.set("container",s);var l=en('
      ');s.appendChild(l),l.addEventListener("dragenter",function(c){c.preventDefault()}),l.addEventListener("dragover",function(c){c.preventDefault()});var u,f=n.get("renderer");f===Pwt?u=new Mh({container:l,width:i[0],height:i[1]}):u=new Gl({container:l,width:i[0],height:i[1]}),t.set("canvas",u),t.updateCanvas()},e.prototype.updateCanvas=function(){if(!this.destroyed){var t=this.get("refresh");if(!!t){var n=this.get("graph");if(!n.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var i=this.get("size"),a=this.get("canvas"),o=this.get("type"),s=this.get("padding");if(!a.destroyed){switch(o){case ade:this.updateGraphShapes();break;case ode:this.updateKeyShapes();break;case sde:this.updateDelegateShapes();break;default:break}var l=a.get("children")[0];if(!!l){l.resetMatrix();var u=l.getCanvasBBox(),f=n.get("canvas").getCanvasBBox(),c=n.getZoom()||1,h=f.width/c,d=f.height/c;Number.isFinite(u.width)&&(h=Dwt(u.width,h),d=Dwt(u.height,d)),h+=2*s,d+=2*s;var p=Math.min(i[0]/h,i[1]/d),v=[1,0,0,0,1,0,0,0,1],m=0,g=0;Number.isFinite(u.minX)&&(m=-u.minX),Number.isFinite(u.minY)&&(g=-u.minY);var x=(i[0]-(h-2*s)*p)/2,b=(i[1]-(d-2*s)*p)/2;v=ide(v,[["t",m,g],["s",p,p],["t",x,b]]),l.setMatrix(v),this.set("ratio",p),this.set("totaldx",x+m*p),this.set("totaldy",b+g*p),this.set("dx",x),this.set("dy",b),this.updateViewport()}}}}}},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){this.get("canvas").destroy();var t=this.get("container");t.parentNode.removeChild(t)},e}(ia),kwt=lde;var ude=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();function pd(r,e,t){var n=r.x-e.x,i=r.y-e.y;return!t||Math.abs(n)>t||Math.abs(i)>t?Math.sqrt(n*n+i*i):t}function fde(r,e){return r.x*e.x+r.y*e.y}function Rwt(r,e){var t=(e.source.y-e.target.y)/(e.source.x-e.target.x),n=(t*t*e.source.x+t*(r.y-e.source.y)+r.x)/(t*t+1),i=t*(n-e.source.x)+e.source.y;return{x:n,y:i}}var cde=function(r){ude(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{edgeBundles:[],edgePoints:[],K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:.6666667,bundleThreshold:.6,eps:1e-6,onLayoutEnd:function(){},onTick:function(){}}},e.prototype.init=function(){var t=this.get("graph"),n=this.get("onTick"),i=function(){n&&n(),t.refreshPositions()};this.set("tick",i)},e.prototype.bundling=function(t){var n=this;if(n.set("data",t),!n.isTicking()){var i=t.edges||[],a=t.nodes||[],o={},s=!1;if(a.forEach(function(S){(S.x===null||!S.y===null||S.x===void 0||!S.y===void 0)&&(s=!0),o[S.id]=S}),s)throw new Error("please layout the graph or assign x and y for nodes first");n.set("nodeIdMap",o);var l=n.get("divisions"),u=n.get("divRate"),f=n.divideEdges(l);n.set("edgePoints",f);var c=n.getEdgeBundles();n.set("edgeBundles",c);for(var h=n.get("cycles"),d=n.get("iterations"),p=n.get("iterRate"),v=n.get("lambda"),m=0;md;){var x=d/g,b={x:o[l][m-1].x,y:o[l][m-1].y};b.x+=x*(v.x-o[l][m-1].x),b.y+=x*(v.y-o[l][m-1].y),p.push(b),g-=d,d=h}d-=g}}),p.push({x:f.x,y:f.y}),o[l]=p}}),o},e.prototype.getEdgeLength=function(t){var n=0;return t.forEach(function(i,a){a!==0&&(n+=pd(i,t[a-1]))}),n},e.prototype.getEdgeBundles=function(){var t=this,n=t.get("data"),i=n.edges||[],a=t.get("bundleThreshold"),o=t.get("nodeIdMap"),s=t.get("edgeBundles");return s||(s=[]),i.forEach(function(l,u){(!s[u]||s[u]===void 0)&&(s[u]=[])}),i.forEach(function(l,u){var f=o[l.source],c=o[l.target];i.forEach(function(h,d){if(!(d<=u)){var p=o[h.source],v=o[h.target],m=t.getBundleScore({source:f,target:c},{source:p,target:v});m>=a&&(s[u].push(d),s[d].push(u))}})}),s},e.prototype.getBundleScore=function(t,n){var i=this;t.vx=t.target.x-t.source.x,t.vy=t.target.y-t.source.y,n.vx=n.target.x-n.source.x,n.vy=n.target.y-n.source.y,t.length=pd({x:t.source.x,y:t.source.y},{x:t.target.x,y:t.target.y}),n.length=pd({x:n.source.x,y:n.source.y},{x:n.target.x,y:n.target.y});var a=i.getAngleScore(t,n),o=i.getScaleScore(t,n),s=i.getPositionScore(t,n),l=i.getVisibilityScore(t,n);return a*o*s*l},e.prototype.getAngleScore=function(t,n){var i=fde({x:t.vx,y:t.vy},{x:n.vx,y:n.vy});return i/(t.length*n.length)},e.prototype.getScaleScore=function(t,n){var i=(t.length+n.length)/2,a=2/(i/Math.min(t.length,n.length)+Math.max(t.length,n.length)/i);return a},e.prototype.getPositionScore=function(t,n){var i=(t.length+n.length)/2,a={x:(t.source.x+t.target.x)/2,y:(t.source.y+t.target.y)/2},o={x:(n.source.x+n.target.x)/2,y:(n.source.y+n.target.y)/2},s=pd(a,o);return i/(i+s)},e.prototype.getVisibilityScore=function(t,n){var i=this.getEdgeVisibility(t,n),a=this.getEdgeVisibility(n,t);return ia||Math.abs(c.y)>a){var h=pd(s[f][t],s[n][t]),d=1/h;u.x+=c.x*d,u.y+=c.y*d}}),u},e.prototype.isTicking=function(){return this.get("ticking")},e.prototype.getSimulation=function(){return this.get("forceSimulation")},e.prototype.destroy=function(){this.get("ticking")&&this.getSimulation().stop(),r.prototype.destroy.call(this)},e}(ia),Nwt=cde;var Fwt=U(q());var hde=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),xX=function(){return xX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t(u||i.get("height"))&&a>1||c<(f||i.get("height")*.05)&&a<1)&&(a=1),c*=a,n.set("r",c),n.set("r2",c*c);var h=n.get("d");n.set("molecularParam",(h+1)*c),n.set("delegateCenterDiff",void 0),n.magnify(t,l)}},e.prototype.scaleRByDrag=function(t){var n=this;if(!!t){var i=n.get("dragPrePos"),a=n.get("graph"),o,s=a.getPointByClient(t.clientX,t.clientY);t.x-i.x<0?o=1-$N:o=1/(1-$N);var l=n.get("maxR"),u=n.get("minR"),f=n.get("r");(f>(l||a.get("height"))&&o>1||f<(u||a.get("height")*.05)&&o<1)&&(o=1),f*=o,n.set("r",f),n.set("r2",f*f);var c=n.get("d");n.set("molecularParam",(c+1)*f),n.magnify(t,s),n.set("dragPrePos",{x:t.x,y:t.y})}},e.prototype.scaleDByWheel=function(t){var n=this;if(!(!t&&!t.originalEvent)){t.preventDefault&&t.preventDefault();var i=0;t.originalEvent.wheelDelta<0?i=-.1:i=.1;var a=n.get("d"),o=a+i,s=n.get("maxD"),l=n.get("minD");if(ol){n.set("d",o);var u=n.get("r");n.set("molecularParam",(o+1)*u);var f=n.get("delegate"),c=f?{x:f.attr("x"),y:f.attr("y")}:void 0;n.set("delegateCenterDiff",void 0),n.magnify(t,c)}}},e.prototype.scaleDByDrag=function(t){var n=this,i=n.get("dragPrePos"),a=t.x-i.x>0?.1:-.1,o=n.get("d"),s=o+a,l=n.get("maxD"),u=n.get("minD");if(su){n.set("d",s);var f=n.get("r");n.set("molecularParam",(s+1)*f),n.magnify(t)}n.set("dragPrePos",{x:t.x,y:t.y})},e.prototype.magnify=function(t,n){var i=this;i.restoreCache();var a=i.get("graph"),o=i.get("cachedMagnifiedModels"),s=i.get("cachedOriginPositions"),l=i.get("showLabel"),u=i.get("r"),f=i.get("r2"),c=i.get("d"),h=i.get("molecularParam"),d=a.getNodes(),p=d.length,v=n?{x:n.x,y:n.y}:{x:t.x,y:t.y};i.get("dragging")&&(i.get("trigger")==="mousemove"||i.get("trigger")==="click")&&(v=i.get("cacheCenter"));var m=i.get("delegateCenterDiff");m&&(v.x+=m.x,v.y+=m.y),i.updateDelegate(v,u);for(var g=0;g`)),u=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,f=0,c=0,h=!1,d=0,p=0,v=0,m=0,g=0,x=0;l.addEventListener("dragstart",function(b){var S,C;if(b.dataTransfer){var w=new Image;w.src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' %3E%3Cpath /%3E%3C/svg%3E",(C=(S=b.dataTransfer).setDragImage)===null||C===void 0||C.call(S,w,0,0);try{b.dataTransfer.setData("text/html","view-port-minimap")}catch(L){b.dataTransfer.setData("text","view-port-minimap")}}if(n.refresh=!1,b.target===l){var A=l.style;d=parseInt(A.left,10),p=parseInt(A.top,10),v=parseInt(A.width,10),m=parseInt(A.height,10),!(v>i[0]||m>i[1])&&(x=a.getZoom(),g=t.get("ratio"),h=!0,f=b.clientX,c=b.clientY)}},!1),l.addEventListener(u?"dragover":"drag",function(b){if(!(!h||(0,Jl.isNil)(b.clientX)||(0,Jl.isNil)(b.clientY))){var S=f-b.clientX,C=c-b.clientY;(d-S<0||d-S+v>=i[0])&&(S=0),(p-C<0||p-C+m>=i[1])&&(C=0),d-=S,p-=C,yr(l,{left:"".concat(d,"px"),top:"".concat(p,"px")}),a.translate(S*x/g,C*x/g),f=b.clientX,c=b.clientY}},!1),l.addEventListener("dragend",function(){h=!1,n.refresh=!0},!1),this.set("viewport",l),s.appendChild(l)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),n=this.get("dx"),i=this.get("dy"),a=this.get("totaldx"),o=this.get("totaldy"),s=this.get("graph"),l=this.get("size"),u=s.get("width"),f=s.get("height"),c=s.getPointByCanvas(0,0),h=s.getPointByCanvas(u,f),d=this.get("viewport");d||this.initViewport();var p=(h.x-c.x)*t,v=(h.y-c.y)*t,m=c.x*t+a,g=c.y*t+o,x=m+p,b=g+v;m<0&&(p+=m,m=0),x>l[0]&&(p=p-(x-l[0])),g<0&&(v+=g,g=0),b>l[1]&&(v=v-(b-l[1])),this.set("ratio",t);var S="".concat(m,"px"),C="".concat(g,"px");yr(d,{left:S,top:C,width:"".concat(p,"px"),height:"".concat(v,"px")})}},e.prototype.updateGraphShapes=function(){var t=this._cfgs.graph,n=this.get("canvas"),i=t.get("group");if(!i.destroyed){var a=i.clone();a.resetMatrix(),n.clear(),n.add(a);var o=t.get("renderer");o===Xwt&&this.updateVisible(a)}},e.prototype.updateVisible=function(t){var n=this;if(!t.isGroup()&&!t.get("visible"))t.hide();else{var i=t.get("children");if(!i||!i.length)return;i.forEach(function(a){a.get("visible")||a.hide(),n.updateVisible(a)})}},e.prototype.updateKeyShapes=function(){var t=this,n=this._cfgs.graph,i=this.get("canvas"),a=i.get("children")[0]||i.addGroup();(0,Jl.each)(n.getEdges(),function(l){t.updateOneEdgeKeyShape(l,a)}),(0,Jl.each)(n.getNodes(),function(l){t.updateOneNodeKeyShape(l,a)});var o=n.getCombos();if(o&&o.length){var s=a.find(function(l){return l.get("name")==="comboGroup"})||a.addGroup({name:"comboGroup"});setTimeout(function(){t.destroyed||((0,Jl.each)(o,function(l){t.updateOneComboKeyShape(l,s)}),s==null||s.sort(),s==null||s.toBack(),t.updateCanvas())},250)}this.clearDestroyedShapes()},e.prototype.updateOneComboKeyShape=function(t,n){if(!this.destroyed){var i=this.get("itemMap")||{},a=i[t.get("id")],o=t.getBBox(),s=t.get("keyShape").clone(),l=s.attr(),u={x:o.centerX,y:o.centerY};a?u=Object.assign(l,u):(a=s,n.add(a));var f=a.get("type");(f==="rect"||f==="image")&&(u.x=o.minX,u.y=o.minY),a.attr(u),t.isVisible()?a.show():a.hide(),a.exist=!0;var c=t.getModel().depth;isNaN(c)||a.set("zIndex",c),i[t.get("id")]=a,this.set("itemMap",i)}},e.prototype.updateOneNodeKeyShape=function(t,n){var i=this.get("itemMap")||{},a=i[t.get("id")],o=t.getBBox(),s=t.get("keyShape").clone(),l=s.attr(),u={x:o.centerX,y:o.centerY};a?u=Object.assign(l,u):(a=s,n.add(a));var f=a.get("type");(f==="rect"||f==="image")&&(u.x=o.minX,u.y=o.minY),a.attr(u),t.isVisible()?a.show():a.hide(),a.exist=!0;var c=t.getModel().depth;isNaN(c)||a.set("zIndex",c),i[t.get("id")]=a,this.set("itemMap",i)},e.prototype.updateDelegateShapes=function(){var t=this,n=this._cfgs.graph,i=this.get("canvas"),a=i.get("children")[0]||i.addGroup();(0,Jl.each)(n.getEdges(),function(l){t.updateOneEdgeKeyShape(l,a)}),(0,Jl.each)(n.getNodes(),function(l){t.updateOneNodeDelegateShape(l,a)});var o=n.getCombos();if(o&&o.length){var s=a.find(function(l){return l.get("name")==="comboGroup"})||a.addGroup({name:"comboGroup"});setTimeout(function(){t.destroyed||((0,Jl.each)(o,function(l){t.updateOneComboKeyShape(l,s)}),s==null||s.sort(),s==null||s.toBack(),t.updateCanvas())},250)}this.clearDestroyedShapes()},e.prototype.clearDestroyedShapes=function(){var t=this.get("itemMap")||{},n=Object.keys(t);if(!(!n||n.length===0))for(var i=n.length-1;i>=0;i--){var a=t[n[i]],o=a.exist;a.exist=!1,o||(a.remove(),delete t[n[i]])}},e.prototype.updateOneEdgeKeyShape=function(t,n){var i=this.get("itemMap")||{},a=i[t.get("id")];if(a){var o=t.get("keyShape").attr("path");a.attr("path",o)}else a=t.get("keyShape").clone(),n.add(a);t.isVisible()?a.show():a.hide(),a.exist=!0,i[t.get("id")]=a,this.set("itemMap",i)},e.prototype.updateOneNodeDelegateShape=function(t,n){var i=this.get("delegateStyle"),a=this.get("itemMap")||{},o=a[t.get("id")],s=t.getBBox();if(o){var l={x:s.minX,y:s.minY,width:s.width,height:s.height};o.attr(l)}else o=n.addShape("rect",{attrs:wX({x:s.minX,y:s.minY,width:s.width,height:s.height},i),name:"minimap-node-shape"});t.isVisible()?o.show():o.hide(),o.exist=!0,a[t.get("id")]=o,this.set("itemMap",a)},e.prototype.init=function(){this.initContainer(),this.get("graph").on("afterupdateitem",this.handleUpdateCanvas),this.get("graph").on("afteritemstatechange",this.handleUpdateCanvas),this.get("graph").on("afteradditem",this.handleUpdateCanvas),this.get("graph").on("afterremoveitem",this.handleUpdateCanvas),this.get("graph").on("afterrender",this.handleUpdateCanvas),this.get("graph").on("afterlayout",this.handleUpdateCanvas)},e.prototype.initContainer=function(){var t=this,n=t.get("graph"),i=t.get("size"),a=t.get("className"),o=t.get("container"),s=en("
      "));(0,Jl.isString)(o)&&(o=document.getElementById(o)),o?o.appendChild(s):n.get("container").appendChild(s),t.set("container",s);var l=en('
      ');s.appendChild(l),l.addEventListener("dragenter",function(c){c.preventDefault()}),l.addEventListener("dragover",function(c){c.preventDefault()});var u,f=n.get("renderer");f===Xwt?u=new Mh({container:l,width:i[0],height:i[1]}):u=new Gl({container:l,width:i[0],height:i[1]}),t.set("canvas",u),t.updateCanvas()},e.prototype.updateCanvas=function(){if(!this.destroyed){var t=this.get("refresh");if(!!t){var n=this.get("graph");if(!n.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var i=this.get("size"),a=this.get("canvas"),o=this.get("type"),s=this.get("padding");if(!a.destroyed){switch(o){case Mde:this.updateGraphShapes();break;case Tde:this.updateKeyShapes();break;case Ide:this.updateDelegateShapes();break;default:break}var l=a.get("children")[0];if(!!l){l.resetMatrix();var u=l.getCanvasBBox(),f=n.get("canvas").getCanvasBBox(),c=n.getZoom()||1,h=f.width/c,d=f.height/c;Number.isFinite(u.width)&&(h=Ywt(u.width,h),d=Ywt(u.height,d)),h+=2*s,d+=2*s;var p=Math.min(i[0]/h,i[1]/d),v=[1,0,0,0,1,0,0,0,1],m=0,g=0;Number.isFinite(u.minX)&&(m=-u.minX),Number.isFinite(u.minY)&&(g=-u.minY);var x=(i[0]-(h-2*s)*p)/2,b=(i[1]-(d-2*s)*p)/2;v=Ade(v,[["t",m,g],["s",p,p],["t",x,b]]),l.setMatrix(v),this.set("ratio",p),this.set("totaldx",x+m*p),this.set("totaldy",b+g*p),this.set("dx",x),this.set("dy",b),this.updateViewport()}}}}}},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.destroy=function(){this.get("canvas").destroy();var t=this.get("container");t.parentNode.removeChild(t)},e}(ia),qwt=Lde;var Ode=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();function pd(r,e,t){var n=r.x-e.x,i=r.y-e.y;return!t||Math.abs(n)>t||Math.abs(i)>t?Math.sqrt(n*n+i*i):t}function Dde(r,e){return r.x*e.x+r.y*e.y}function Kwt(r,e){var t=(e.source.y-e.target.y)/(e.source.x-e.target.x),n=(t*t*e.source.x+t*(r.y-e.source.y)+r.x)/(t*t+1),i=t*(n-e.source.x)+e.source.y;return{x:n,y:i}}var Pde=function(r){Ode(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{edgeBundles:[],edgePoints:[],K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:.6666667,bundleThreshold:.6,eps:1e-6,onLayoutEnd:function(){},onTick:function(){}}},e.prototype.init=function(){var t=this.get("graph"),n=this.get("onTick"),i=function(){n&&n(),t.refreshPositions()};this.set("tick",i)},e.prototype.bundling=function(t){var n=this;if(n.set("data",t),!n.isTicking()){var i=t.edges||[],a=t.nodes||[],o={},s=!1;if(a.forEach(function(S){(S.x===null||!S.y===null||S.x===void 0||!S.y===void 0)&&(s=!0),o[S.id]=S}),s)throw new Error("please layout the graph or assign x and y for nodes first");n.set("nodeIdMap",o);var l=n.get("divisions"),u=n.get("divRate"),f=n.divideEdges(l);n.set("edgePoints",f);var c=n.getEdgeBundles();n.set("edgeBundles",c);for(var h=n.get("cycles"),d=n.get("iterations"),p=n.get("iterRate"),v=n.get("lambda"),m=0;md;){var x=d/g,b={x:o[l][m-1].x,y:o[l][m-1].y};b.x+=x*(v.x-o[l][m-1].x),b.y+=x*(v.y-o[l][m-1].y),p.push(b),g-=d,d=h}d-=g}}),p.push({x:f.x,y:f.y}),o[l]=p}}),o},e.prototype.getEdgeLength=function(t){var n=0;return t.forEach(function(i,a){a!==0&&(n+=pd(i,t[a-1]))}),n},e.prototype.getEdgeBundles=function(){var t=this,n=t.get("data"),i=n.edges||[],a=t.get("bundleThreshold"),o=t.get("nodeIdMap"),s=t.get("edgeBundles");return s||(s=[]),i.forEach(function(l,u){(!s[u]||s[u]===void 0)&&(s[u]=[])}),i.forEach(function(l,u){var f=o[l.source],c=o[l.target];i.forEach(function(h,d){if(!(d<=u)){var p=o[h.source],v=o[h.target],m=t.getBundleScore({source:f,target:c},{source:p,target:v});m>=a&&(s[u].push(d),s[d].push(u))}})}),s},e.prototype.getBundleScore=function(t,n){var i=this;t.vx=t.target.x-t.source.x,t.vy=t.target.y-t.source.y,n.vx=n.target.x-n.source.x,n.vy=n.target.y-n.source.y,t.length=pd({x:t.source.x,y:t.source.y},{x:t.target.x,y:t.target.y}),n.length=pd({x:n.source.x,y:n.source.y},{x:n.target.x,y:n.target.y});var a=i.getAngleScore(t,n),o=i.getScaleScore(t,n),s=i.getPositionScore(t,n),l=i.getVisibilityScore(t,n);return a*o*s*l},e.prototype.getAngleScore=function(t,n){var i=Dde({x:t.vx,y:t.vy},{x:n.vx,y:n.vy});return i/(t.length*n.length)},e.prototype.getScaleScore=function(t,n){var i=(t.length+n.length)/2,a=2/(i/Math.min(t.length,n.length)+Math.max(t.length,n.length)/i);return a},e.prototype.getPositionScore=function(t,n){var i=(t.length+n.length)/2,a={x:(t.source.x+t.target.x)/2,y:(t.source.y+t.target.y)/2},o={x:(n.source.x+n.target.x)/2,y:(n.source.y+n.target.y)/2},s=pd(a,o);return i/(i+s)},e.prototype.getVisibilityScore=function(t,n){var i=this.getEdgeVisibility(t,n),a=this.getEdgeVisibility(n,t);return ia||Math.abs(c.y)>a){var h=pd(s[f][t],s[n][t]),d=1/h;u.x+=c.x*d,u.y+=c.y*d}}),u},e.prototype.isTicking=function(){return this.get("ticking")},e.prototype.getSimulation=function(){return this.get("forceSimulation")},e.prototype.destroy=function(){this.get("ticking")&&this.getSimulation().stop(),r.prototype.destroy.call(this)},e}(ia),Zwt=Pde;var $wt=z(q());var kde=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),EX=function(){return EX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t(u||i.get("height"))&&a>1||c<(f||i.get("height")*.05)&&a<1)&&(a=1),c*=a,n.set("r",c),n.set("r2",c*c);var h=n.get("d");n.set("molecularParam",(h+1)*c),n.set("delegateCenterDiff",void 0),n.magnify(t,l)}},e.prototype.scaleRByDrag=function(t){var n=this;if(!!t){var i=n.get("dragPrePos"),a=n.get("graph"),o,s=a.getPointByClient(t.clientX,t.clientY);t.x-i.x<0?o=1-rF:o=1/(1-rF);var l=n.get("maxR"),u=n.get("minR"),f=n.get("r");(f>(l||a.get("height"))&&o>1||f<(u||a.get("height")*.05)&&o<1)&&(o=1),f*=o,n.set("r",f),n.set("r2",f*f);var c=n.get("d");n.set("molecularParam",(c+1)*f),n.magnify(t,s),n.set("dragPrePos",{x:t.x,y:t.y})}},e.prototype.scaleDByWheel=function(t){var n=this;if(!(!t&&!t.originalEvent)){t.preventDefault&&t.preventDefault();var i=0;t.originalEvent.wheelDelta<0?i=-.1:i=.1;var a=n.get("d"),o=a+i,s=n.get("maxD"),l=n.get("minD");if(ol){n.set("d",o);var u=n.get("r");n.set("molecularParam",(o+1)*u);var f=n.get("delegate"),c=f?{x:f.attr("x"),y:f.attr("y")}:void 0;n.set("delegateCenterDiff",void 0),n.magnify(t,c)}}},e.prototype.scaleDByDrag=function(t){var n=this,i=n.get("dragPrePos"),a=t.x-i.x>0?.1:-.1,o=n.get("d"),s=o+a,l=n.get("maxD"),u=n.get("minD");if(su){n.set("d",s);var f=n.get("r");n.set("molecularParam",(s+1)*f),n.magnify(t)}n.set("dragPrePos",{x:t.x,y:t.y})},e.prototype.magnify=function(t,n){var i=this;i.restoreCache();var a=i.get("graph"),o=i.get("cachedMagnifiedModels"),s=i.get("cachedOriginPositions"),l=i.get("showLabel"),u=i.get("r"),f=i.get("r2"),c=i.get("d"),h=i.get("molecularParam"),d=a.getNodes(),p=d.length,v=n?{x:n.x,y:n.y}:{x:t.x,y:t.y};i.get("dragging")&&(i.get("trigger")==="mousemove"||i.get("trigger")==="click")&&(v=i.get("cacheCenter"));var m=i.get("delegateCenterDiff");m&&(v.x+=m.x,v.y+=m.y),i.updateDelegate(v,u);for(var g=0;g
    • @@ -743,7 +743,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
    • - `},zoomSensitivity:2}},e.prototype.init=function(){var t=this,n=this.get("graph"),i=this.get("getContent"),a=i(n),o=a;(0,hx.isString)(a)&&(o=en(a));var s=this.get("className");o.setAttribute("class",s||"g6-component-toolbar");var l=this.get("container");l||(l=this.get("graph").get("container")),(0,hx.isString)(l)&&(l=document.getElementById(l)),l.appendChild(o),this.set("toolBar",o);var u=this.get("handleClick");o.addEventListener("click",function(c){var h=vde(c).filter(function(p){return p.nodeName==="LI"});if(h.length!==0){var d=h[0].getAttribute("code");!d||(u?u(d,n):t.handleDefaultOperator(d,n))}});var f=this.get("position");f&&yr(o,{top:"".concat(f.y,"px"),left:"".concat(f.x,"px")}),this.bindUndoRedo()},e.prototype.bindUndoRedo=function(){var t=this.get("graph"),n=document.querySelector('.g6-component-toolbar li[code="undo"]'),i=document.querySelector('.g6-component-toolbar li[code="undo"] svg'),a=document.querySelector('.g6-component-toolbar li[code="redo"]'),o=document.querySelector('.g6-component-toolbar li[code="redo"] svg');!n||!i||!a||!o||t.on("stackchange",function(s){var l=s.undoStack,u=s.redoStack,f=l.length,c=u.length;f===1?(n.setAttribute("style","cursor: not-allowed"),i.setAttribute("style","opacity: 0.4")):(n.removeAttribute("style"),i.removeAttribute("style")),c===0?(a.setAttribute("style","cursor: not-allowed"),o.setAttribute("style","opacity: 0.4")):(a.removeAttribute("style"),o.removeAttribute("style"))})},e.prototype.undo=function(){var t=this.get("graph"),n=t.getUndoStack();if(!(!n||n.length===1)){var i=n.pop();if(i){var a=i.action;t.pushStack(a,(0,hx.clone)(i.data),"redo");var o=i.data.before;if(a==="add"&&(o=i.data.after),!o)return;switch(a){case"visible":{Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){var f=t.findById(u.id);u.visible?t.showItem(f,!1):t.hideItem(f,!1)})});break}case"render":case"update":Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){t.updateItem(u.id,u,!1)})});break;case"changedata":t.changeData(o,!1);break;case"delete":{Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){var f=u.itemType;delete u.itemType,t.addItem(f,u,!1)})});break}case"add":Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){t.removeItem(u.id,!1)})});break;case"updateComboTree":Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){t.updateComboTree(u.id,u.parentId,!1)})});break;default:}}}},e.prototype.redo=function(){var t=this.get("graph"),n=t.getRedoStack();if(!(!n||n.length===0)){var i=n.pop();if(i){var a=i.action,o=i.data.after;if(t.pushStack(a,(0,hx.clone)(i.data)),a==="delete"&&(o=i.data.before),!o)return;switch(a){case"visible":{Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){var f=t.findById(u.id);u.visible?t.showItem(f,!1):t.hideItem(f,!1)})});break}case"render":case"update":Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){t.updateItem(u.id,u,!1)})});break;case"changedata":t.changeData(o,!1);break;case"delete":o.edges&&o.edges.forEach(function(s){t.removeItem(s.id,!1)}),o.nodes&&o.nodes.forEach(function(s){t.removeItem(s.id,!1)}),o.combos&&o.combos.forEach(function(s){t.removeItem(s.id,!1)});break;case"add":{Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){var f=u.itemType;delete u.itemType,t.addItem(f,u,!1)})});break}case"updateComboTree":Object.keys(o).forEach(function(s){var l=o[s];!l||l.forEach(function(u){t.updateComboTree(u.id,u.parentId,!1)})});break;default:}}}},e.prototype.handleDefaultOperator=function(t,n){var i=n.getZoom();switch(t){case"redo":this.redo();break;case"undo":this.undo();break;case"zoomOut":{var a=1/(1-Uwt*this.get("zoomSensitivity")),o=this.get("maxZoom")||n.get("maxZoom");if(a*i>o)return;n.zoomTo(i*a);break}case"zoomIn":{var s=1-Uwt*this.get("zoomSensitivity"),l=this.get("minZoom")||n.get("minZoom");if(s*io)return;n.zoomTo(i*a);break}case"zoomIn":{var s=1-eEt*this.get("zoomSensitivity"),l=this.get("minZoom")||n.get("minZoom");if(s*i\u7C7B\u578B\uFF1A`.concat(n.item.getType(),` ID\uFF1A`).concat(n.item.getID(),` - `)},shouldBegin:function(n){return!0},itemTypes:["node","edge","combo"],trigger:"mouseenter",fixToNode:void 0}},e.prototype.getEvents=function(){return this.get("trigger")==="click"?{"node:click":"onClick","edge:click":"onClick","combo:click":"onClick","canvas:click":"onMouseLeave",afterremoveitem:"onMouseLeave",contextmenu:"onMouseLeave",drag:"onMouseLeave"}:{"node:mouseenter":"onMouseEnter","node:mouseleave":"onMouseLeave","node:mousemove":"onMouseMove","edge:mouseenter":"onMouseEnter","edge:mouseleave":"onMouseLeave","edge:mousemove":"onMouseMove","combo:mouseenter":"onMouseEnter","combo:mouseleave":"onMouseLeave","combo:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave",contextmenu:"onMouseLeave","node:drag":"onMouseLeave"}},e.prototype.init=function(){var t=this,n=t.get("className")||"g6-component-tooltip",i=en("
      ")),a=t.get("container");a||(a=t.get("graph").get("container")),(0,MS.isString)(a)&&(a=document.getElementById(a)),yr(i,{position:"absolute",visibility:"hidden",display:"none"}),a.appendChild(i),t.get("trigger")!=="click"&&(i.addEventListener("mouseenter",function(o){yr(i,{visibility:"visible",display:"unset"})}),i.addEventListener("mouseleave",function(o){t.hideTooltip()})),t.set("tooltip",i)},e.prototype.onClick=function(t){var n=this.get("itemTypes");if(!(t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=t.item,a=this.get("graph");this.currentTarget===i?(this.currentTarget=null,this.hideTooltip(),a.emit("tooltipchange",{item:t.item,action:"hide"})):(this.currentTarget=i,this.showTooltip(t),a.emit("tooltipchange",{item:t.item,action:"show"}))}},e.prototype.onMouseEnter=function(t){var n=this.get("itemTypes");if(!(t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=t.item,a=this.get("graph");this.currentTarget=i,this.showTooltip(t),a.emit("tooltipchange",{item:t.item,action:"show"})}},e.prototype.onMouseMove=function(t){var n=this.get("itemTypes");t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1||!this.currentTarget||t.item!==this.currentTarget||this.showTooltip(t)},e.prototype.onMouseLeave=function(){this.hideTooltip();var t=this.get("graph");t.emit("tooltipchange",{item:this.currentTarget,action:"hide"}),this.currentTarget=null},e.prototype.showTooltip=function(t){if(!!t.item){var n=this.get("itemTypes");if(!(t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=this.get("tooltip"),a=this.get("getContent"),o=a(t);(0,MS.isString)(o)?i.innerHTML=o:i.innerHTML=o.outerHTML,this.updatePosition(t)}}},e.prototype.hideTooltip=function(){var t=this.get("tooltip");t&&yr(t,{visibility:"hidden",display:"none"})},e.prototype.updatePosition=function(t){var n=this.get("shouldBegin"),i=this.get("tooltip");if(!n(t)){yr(i,{visibility:"hidden",display:"none"});return}var a=this.get("graph"),o=a.get("width"),s=a.get("height"),l=this.get("offsetX")||0,u=this.get("offsetY")||0,f=a.getPointByClient(t.clientX,t.clientY),c=this.get("fixToNode"),h=t.item;if(h.getType&&h.getType()==="node"&&c&&(0,MS.isArray)(c)&&c.length>=2){var d=h.getBBox();f={x:d.minX+d.width*c[0],y:d.minY+d.height*c[1]}}var p=a.getCanvasByPoint(f.x,f.y),v=p.x,m=p.y,g=a.getContainer(),x={x:v+g.offsetLeft+l,y:m+g.offsetTop+u};yr(i,{visibility:"visible",display:"unset"});var b=i.getBoundingClientRect();v+b.width+l>o&&(x.x-=b.width+l),m+b.height+u>s&&(x.y-=b.height+u),yr(i,{left:"".concat(x.x,"px"),top:"".concat(x.y,"px")})},e.prototype.hide=function(){this.onMouseLeave()},e.prototype.destroy=function(){var t=this.get("tooltip");if(t){var n=this.get("container");n||(n=this.get("graph").get("container")),(0,MS.isString)(n)&&(n=document.getElementById(n)),n.removeChild(t)}},e}(ia),Vwt=yde;var ps=U(q());var sl=U(q()),xde=function(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;nf&&(o=f,a=u)})}t.originalEvent.deltaY>0?a=Math.max(0,a-1):a=Math.min(e.speedAxisY.length-1,a+1);var s=e.speedAxisY[a]-i;n=iT(n,[["t",0,s]]),e.speedPoint.setMatrix(n),e.currentSpeed=e.speedAxisY.length-a,e.speedText.attr("text","".concat(e.currentSpeed,".0X")),e.group.emit(vd,{speed:e.currentSpeed,type:e.currentType})}),this.toggleGroup&&this.toggleGroup.on("toggle-model:click",function(t){var n,i,a=t.target.get("isChecked");a?(e.checkedIcon.hide(),e.checkedText.attr("text",((i=e.controllerCfg)===null||i===void 0?void 0:i.timePointControllerText)||"\u5355\u4E00\u65F6\u95F4"),e.currentType="range"):(e.checkedIcon.show(),e.checkedText.attr("text",((n=e.controllerCfg)===null||n===void 0?void 0:n.timeRangeControllerText)||"\u65F6\u95F4\u8303\u56F4"),e.currentType="single"),t.target.set("isChecked",!a),e.group.emit(vd,{type:e.currentType,speed:e.currentSpeed})})},r.prototype.destroy=function(){this.speedGroup.off("speed-rect:click"),this.toggleGroup&&(this.toggleGroup.off("toggle-model:click"),this.toggleGroup.destroy()),this.speedGroup.destroy()},r}(),tF=Bde;var qi=function(){return qi=Object.assign||function(r){for(var e,t=1,n=arguments.length;tv?(w.show(),I.show(),v=P.minX+P.width+10):(w.hide(),I.hide()),w}),this.controllerBtnGroup=new tF(qi({group:this.group,x:this.x,y:this.y+i+25,width:n,height:35},this.controllerCfg)),this.updateStartEnd(0),this.updateUI(),s.move(this.x,this.y),this.bindEvents()},r.prototype.bindEvents=function(){var e=this,t=this.group.find(function(i){return i.get("name")==="minHandlerShape"});t&&(t.on("minHandlerShape-handler:mousedown",this.onMouseDown(this.minHandlerShape)),t.on("minHandlerShape-handler:touchstart",this.onMouseDown(this.minHandlerShape)));var n=this.group.find(function(i){return i.get("name")==="maxHandlerShape"});n&&(n.on("maxHandlerShape-handler:mousedown",this.onMouseDown(this.maxHandlerShape)),n.on("maxHandlerShape-handler:touchstart",this.onMouseDown(this.maxHandlerShape))),this.foregroundShape.on("mousedown",this.onMouseDown(this.foregroundShape)),this.foregroundShape.on("touchstart",this.onMouseDown(this.foregroundShape)),this.group.on("".concat(Tc,":click"),function(){e.isPlay=!e.isPlay,e.currentHandler=e.maxHandlerShape,e.changePlayStatus()}),this.group.on("".concat(Og,":click"),function(){e.currentHandler=e.maxHandlerShape,e.updateStartEnd(.01),e.updateUI()}),this.group.on("".concat(Dg,":click"),function(){e.currentHandler=e.maxHandlerShape,e.updateStartEnd(-.01),e.updateUI()}),this.group.on(vd,function(i){var a=i.type,o=i.speed;e.currentSpeed=o,e.currentMode=a,a==="single"?(e.minHandlerShape.hide(),e.foregroundShape.hide(),e.minTextShape.hide()):a==="range"&&(e.minHandlerShape.show(),e.foregroundShape.show(),e.minTextShape.show())})},r.prototype.adjustTickIndex=function(e){for(var t=0;t1&&(this.end=1);var t=this.x+this.start*this.width,n=this.x+this.end*this.width;this.foregroundShape.attr("x",t),this.foregroundShape.attr("width",n-t);var i=(0,ps.get)(this.handlerStyle,"width",EX);this.setText(this.minText,this.maxText);var a=this.dodgeText([t,n]),o=a[0],s=a[1];this.minHandlerShape.setX(t-i/2),(0,ps.each)(o,function(l,u){return e.minTextShape.attr(u,l)}),this.maxHandlerShape.setX(n-i/2),(0,ps.each)(s,function(l,u){return e.maxTextShape.attr(u,l)}),this.currentMode==="range"?this.graph.emit(Ou,{value:[this.start,this.end].sort()}):this.currentMode==="single"&&this.graph.emit(Ou,{value:[this.end,this.end]})},r.prototype.dodgeText=function(e){var t,n,i=2,a=(0,ps.get)(this.handlerStyle,"width",EX),o=this.minTextShape,s=this.maxTextShape,l=e[0],u=e[1],f=!1;l>u&&(t=[u,l],l=t[0],u=t[1],n=[s,o],o=n[0],s=n[1],f=!0);var c=o.getBBox(),h=s.getBBox(),d=null,p=null;return this.timeBarType==="trend"?(d=l-c.widththis.x+this.width?{x:u-a/2-i,textAlign:"right"}:{x:u+a/2+i,textAlign:"left"}):this.timeBarType==="simple"&&(d=o.attr("x")>c.width?{x:l,textAlign:"center"}:{x:l,textAlign:"left"},p=s.attr("x")>this.width-h.width?{x:u,textAlign:"right"}:{x:u,textAlign:"center"}),f?[p,d]:[d,p]},r.prototype.startPlay=function(){var e=this;return typeof window!="undefined"?window.requestAnimationFrame(function(){var t=e,n=t.ticks,i=t.width,a=e.currentSpeed,o=i/n.length,s=o/((10-a)*1e3/60),l=e.adjustOffsetRange(s/e.width);e.updateStartEnd(l),e.updateUI(),e.isPlay&&(e.playHandler=e.startPlay())}):void 0},r.prototype.changePlayStatus=function(e){e===void 0&&(e=!0),this.controllerBtnGroup.playButton.update({isPlay:this.isPlay}),this.isPlay?(this.playHandler=this.startPlay(),this.graph.emit(QN,null)):this.playHandler&&(typeof window!="undefined"&&window.cancelAnimationFrame(this.playHandler),e&&this.graph.emit(JN,null))},r.prototype.destory=function(){this.graph.off(Ou);var e=this.group,t=e.find(function(i){return i.get("name")==="minHandlerShape"});t&&(t.off("minHandlerShape-handler:mousedown"),t.off("minHandlerShape-handler:touchstart"),t.destroy());var n=e.find(function(i){return i.get("name")==="maxHandlerShape"});n&&(n.off("maxHandlerShape-handler:mousedown"),n.off("maxHandlerShape-handler:touchstart"),n.destroy()),this.foregroundShape.off("mousedown"),this.foregroundShape.off("touchstart"),this.foregroundShape.destroy(),e.off("".concat(Tc,":click")),e.off("".concat(Og,":click")),e.off("".concat(Dg,":click")),e.off(vd),e.destroy(),this.trendComponent&&this.trendComponent.destory()},r}(),eEt=Xde;var rF=U(q());var rEt=U(q());var qde=function(){function r(e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,o=e.container,s=e.text,l=e.padding,u=l===void 0?[4,4,4,4]:l,f=e.className,c=f===void 0?"g6-component-timebar-tooltip":f,h=e.backgroundColor,d=h===void 0?"#000":h,p=e.textColor,v=p===void 0?"#fff":p,m=e.opacity,g=m===void 0?.8:m,x=e.fontSize,b=x===void 0?12:x;this.container=o,this.className=c,this.backgroundColor=d,this.textColor=v,this.x=n,this.y=a,this.text=s,this.padding=u,this.opacity=g,this.fontSize=b,this.render()}return r.prototype.render=function(){var e=this,t=e.className,n=e.x,i=e.y,a=e.backgroundColor,o=e.textColor,s=e.text,l=e.padding,u=e.opacity,f=e.fontSize,c=e.container,h=en("
      '));(0,rEt.isString)(c)&&(c=document.getElementById(c)),c.appendChild(h),e.parentHeight=c.offsetHeight,e.parentWidth=c.offsetWidth,yr(h,{visibility:"hidden",top:0,left:0});var d=en(` -
      "));d.innerHTML=s,h.appendChild(d),e.backgroundDOM=d;var p=en("
      "));h.appendChild(p),e.arrowDOM=p,e.container=h},r.prototype.show=function(e){var t=this,n=e.text,i=e.x,a=e.y,o=e.clientX,s=e.clientY;t.backgroundDOM.innerHTML=n;var l=t.backgroundDOM.offsetWidth,u=t.backgroundDOM.offsetHeight,f=t.arrowDOM.offsetWidth,c=t.arrowDOM.offsetHeight;yr(t.container,{top:"".concat(-u-c,"px"),left:"".concat(i,"px"),visibility:"visible"}),yr(t.backgroundDOM,{marginLeft:"".concat(-l/2,"px")}),yr(t.arrowDOM,{marginLeft:"".concat(-f/2,"px"),top:"".concat(u,"px")});var h=i-l/2,d=i+l/2;h<0?yr(t.backgroundDOM,{marginLeft:"".concat(-l/2-h,"px")}):d>t.parentWidth&&yr(t.backgroundDOM,{marginLeft:"".concat(-l/2-d+t.parentWidth+12,"px")})},r.prototype.hide=function(){yr(this.container,{top:0,left:0,visibility:"hidden"})},r}(),nEt=qde;var eF=function(){return eF=Object.assign||function(r){for(var e,t=1,n=arguments.length;t=I&&F<=P,G=k?f:c,D=C.addShape("rect",{attrs:eF({x:a+F*(S+x),y:a,width:S,height:g},G),draggable:!0,name:"tick-rect-".concat(F)}),N=C.addShape("rect",{attrs:{x:a+F*S+x*(2*F-1)/2,y:a,width:F===0||F===b-1?S+x/2:S+x,height:g,fill:"#fff",opacity:0},draggable:!0,name:"pick-rect-".concat(F)});N.toFront();var z=D.getBBox(),j=(z.minX+z.maxX)/2;w.push({rect:D,pickRect:N,value:O.date,x:j,y:z.minY});var W;if(u?(W=u(O),!(0,rF.isString)(W)&&W&&(W=O.date)):F%Math.round(b/10)==0&&(W=O.date),W){A.push(W);var J=z.maxY+a*2;C.addShape("line",{attrs:{stroke:"#BFBFBF",x1:j,y1:J,x2:j,y2:J+v},name:"tick-line"});var et=J+v+a,lt=C.addShape("text",{attrs:eF({fill:"#8c8c8c",stroke:"#fff",lineWidth:1,x:j,y:et,textAlign:"center",text:W,textBaseline:"top",fontSize:10,fontFamily:e.fontFamily||"Arial, sans-serif"},h),capture:!1,name:"tick-label"}),$=lt.getBBox();if($.maxX>n?lt.attr("textAlign","right"):$.minX<0&<.attr("textAlign","left"),(0,rF.isNumber)(L)&&A.length!==10){var st=Kde([1,0,0,0,1,0,0,0,1],[["t",-j,-et],["r",L],["t",j-5,et+2]]);lt.attr({textAlign:"left",matrix:st})}A.length===1?lt.attr({textAlign:"left"}):A.length===10&<.attr({textAlign:"right"})}}),this.tickRects=w;var M=this.group;this.currentSpeed=1,this.controllerBtnGroup=new tF({group:M,x:this.x,y:this.y+i+5,width:n,height:40,hideTimeTypeController:!0,speed:this.currentSpeed,fontFamily:this.fontFamily||"Arial, sans-serif"})},r.prototype.initEvent=function(){var e=this,t=this.sliceGroup;t.on("click",function(f){var c=f.target;if(!(c.get("type")!=="rect"||!c.get("name"))){var h=parseInt(c.get("name").split("-")[2],10);if(!isNaN(h)){var d=e.tickRects,p=e.unselectedTickStyle;d.forEach(function(x){x.rect.attr(p)});var v=e.selectedTickStyle;d[h].rect.attr(v),e.startTickRectId=h,e.endTickRectId=h;var m=d.length,g=h/m;e.graph.emit(Ou,{value:[g,g]})}}}),t.on("dragstart",function(f){var c=e.tickRects,h=e.unselectedTickStyle;c.forEach(function(x){x.rect.attr(h)});var d=f.target,p=parseInt(d.get("name").split("-")[2],10),v=e.selectedTickStyle;c[p].rect.attr(v),e.startTickRectId=p;var m=c.length,g=p/m;e.graph.emit(Ou,{value:[g,g]}),e.dragging=!0}),t.on("dragover",function(f){if(!!e.dragging&&f.target.get("type")==="rect"){for(var c=parseInt(f.target.get("name").split("-")[2],10),h=e.startTickRectId,d=e.tickRects,p=e.selectedTickStyle,v=e.unselectedTickStyle,m=0;m=h&&m<=c?p:v;d[m].rect.attr(g)}var x=d.length;e.endTickRectId=c;var b=h/x,S=c/x;e.graph.emit(Ou,{value:[b,S]})}}),t.on("drop",function(f){if(!!e.dragging&&(e.dragging=!1,f.target.get("type")==="rect")){var c=e.startTickRectId,h=parseInt(f.target.get("name").split("-")[2],10);if(!(h0?t.endTickRectId++:(n[t.endTickRectId].rect.attr(a),t.endTickRectId--),s!==t.startTickRectId)t.endTickRectId")),yr(u,{position:"relative"})),l.appendChild(u),this.set("timeBarContainer",u);var f,c=t.get("renderer");c==="SVG"?f=new Mh({container:u,width:i,height:a}):f=new Gl({container:u,width:i,height:a}),this.get("containerCSS")&&yr(u,this.get("containerCSS")),this.set("canvas",f)},e.prototype.init=function(){this.initContainer();var t=this.get("canvas"),n=t.addGroup({name:"timebar-group"});this.set("timeBarGroup",n),this.renderTrend(),this.initEvent();var i=typeof window!="undefined"&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif";this.set("fontFamily",i)},e.prototype.renderTrend=function(){var t=this,n=this._cfgs,i=n.width,a=n.x,o=n.y,s=n.padding,l=n.type,u=n.trend,f=n.slider,c=n.controllerCfg,h=n.textStyle,d=n.tick,p=n.backgroundStyle,v=n.foregroundStyle,m=u.data,g=tpe(u,["data"]),x=i-2*s,b=l==="trend"?rpe:epe,S=this.get("graph"),C=this.get("timeBarGroup"),w=this.get("canvas"),A=null;if(l==="trend"||l==="simple"){var I=this.get("getValue");A=new eEt(ov(ov({graph:S,canvas:w,group:C,type:l,x:a+s,y:l==="trend"?o+s:o+s+15,width:x,height:b,padding:s,backgroundStyle:p,foregroundStyle:v,trendCfg:ov(ov({},g),{data:m.map(function(L){return(I==null?void 0:I(L))||L.value})})},f),{tick:{ticks:m,tickLabelFormatter:d.tickLabelFormatter,tickLabelStyle:d.tickLabelStyle,tickLineStyle:d.tickLineStyle},handlerStyle:ov(ov({},f.handlerStyle),{height:f.height||b}),controllerCfg:c,textStyle:h}))}else l==="tick"&&(A=new iEt(ov({graph:S,canvas:w,group:C,x:a+s,y:o+s,width:i,height:42,padding:2},d)));var P=function L(){var M=t.get("timebar");M.draggingHandler=!1,M.isPlay&&(M.isPlay=!1,M.currentHandler=M.maxHandlerShape,M.changePlayStatus()),document.removeEventListener("mouseup",L)};w.on("mousedown",function(L){(L.target.get("name")==="maxHandlerShape-handler"||L.target.get("name")==="minHandlerShape-handler"||L.target===A.foregroundShape)&&document.addEventListener("mouseup",P)}),this.set("timebar",A)},e.prototype.filterData=function(t){var n,i=t.value,a=null,o=this._cfgs.type;if(o==="trend"||o==="simple"?a=this._cfgs.trend.data:o==="tick"&&(a=this._cfgs.tick.data),!a||a.length===0){console.warn("\u8BF7\u914D\u7F6E TimeBar \u7EC4\u4EF6\u7684\u6570\u636E");return}var s=this.get("rangeChange"),l=this.get("graph"),u=Math.round(a.length*i[0]),f=Math.round(a.length*i[1]);f=f>=a.length?a.length-1:f,u=u>=a.length?a.length-1:u;var c=(n=this._cfgs.tick)===null||n===void 0?void 0:n.tickLabelFormatter,h=c?c(a[u]):a[u].date,d=c?c(a[f]):a[f].date;if(o!=="tick"){var p=this.get("timebar");p.setText(h,d)}if(s)s(l,h,d);else{(!this.cacheGraphData||this.cacheGraphData.nodes&&this.cacheGraphData.nodes.length===0)&&(this.cacheGraphData=l.get("data"));var v=this.get("filterItemTypes"),m=this.get("changeData"),g=this.get("getDate"),x=this.get("shouldIgnore"),b=a[u].date,S=a[f].date;if(m||m===void 0){var C=this.cacheGraphData.nodes,w=this.cacheGraphData.edges;if(v.includes("node")){C=C.filter(function(I){var P=+((g==null?void 0:g(I))||I.date);return P>=b&&P<=S||(x==null?void 0:x("node",I,{min:b,max:S}))});var A=C.map(function(I){return I.id});w&&(w=w.filter(function(I){return A.includes(I.source)&&A.includes(I.target)||(x==null?void 0:x("edge",I,{min:b,max:S}))}))}(this.get("filterEdge")||v.includes("edge"))&&(w=w.filter(function(I){var P=+((g==null?void 0:g(I))||I.date);return P>=b&&P<=S||(x==null?void 0:x("edge",I,{min:b,max:S}))})),l.changeData({nodes:C,edges:w})}else v.includes("node")&&l.getNodes().forEach(function(I){var P=I.getModel();if(!(x==null?void 0:x("node",P,{min:b,max:S}))){var L=+((g==null?void 0:g(P))||P.date);LS?l.hideItem(I):l.showItem(I)}}),(this.get("filterEdge")||v.includes("edge"))&&l.getEdges().forEach(function(I){var P=I.getModel();if(!(x==null?void 0:x("edge",P,{min:a[u].date,max:a[f].date}))){var L=+((g==null?void 0:g(P))||P.date);La[f].date?l.hideItem(I):l.showItem(I)}})}},e.prototype.initEvent=function(){var t=this,n=0,i=0,a=this._cfgs.type;!a||a==="trend"||a==="simple"?(n=this._cfgs.slider.start,i=this._cfgs.slider.end):a==="tick"&&(n=this._cfgs.tick.start,i=this._cfgs.tick.end);var o=this.get("graph");o.on("afterrender",function(s){t.filterData({value:[n,i]})}),o.on(Ou,(0,aT.throttle)(function(s){t.filterData(s)},200,{trailing:!0,leading:!0}))},e.prototype.destroy=function(){var t=this.get("timebar");t&&t.destory&&t.destory(),r.prototype.destroy.call(this);var n=this.get("timeBarContainer");if(n){var i=this.get("container");i||(i=this.get("graph").get("container")),(0,aT.isString)(i)&&(i=document.getElementById(i)),i.removeChild(n)}},e}(ia),aEt=npe;var IS=U(q());var ipe=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),ape=Pa.applyMatrix;function ope(r,e){var t,n;if(r.naturalWidth)t=r.naturalWidth,n=r.naturalHeight;else{var i=new Image;i.src=r.src,i.onload=function(){e&&e(i.width,i.height)}}return[t,n]}var spe=function(r){ipe(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{container:null,className:"g6-minimap",viewportClassName:"g6-minimap-viewport",width:200,delegateStyle:{fill:"#40a9ff",stroke:"#096dd9"},refresh:!0}},e.prototype.getEvents=function(){return{beforepaint:"updateViewport",beforeanimate:"disableRefresh",afteranimate:"enableRefresh",viewportchange:"disableOneRefresh"}},e.prototype.disableRefresh=function(){this.set("refresh",!1)},e.prototype.enableRefresh=function(){this.set("refresh",!0),this.updateCanvas()},e.prototype.disableOneRefresh=function(){this.set("viewportChange",!0)},e.prototype.initViewport=function(){var t=this,n=this._cfgs,i=n.graph;if(!this.destroyed){var a=this.get("container");(0,IS.isString)(a)&&(a=document.getElementById(a));var o=en("
      ")),a=t.get("container");a||(a=t.get("graph").get("container")),(0,LS.isString)(a)&&(a=document.getElementById(a)),yr(i,{position:"absolute",visibility:"hidden",display:"none"}),a.appendChild(i),t.get("trigger")!=="click"&&(i.addEventListener("mouseenter",function(o){yr(i,{visibility:"visible",display:"unset"})}),i.addEventListener("mouseleave",function(o){t.hideTooltip()})),t.set("tooltip",i)},e.prototype.onClick=function(t){var n=this.get("itemTypes");if(!(t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=t.item,a=this.get("graph");this.currentTarget===i?(this.currentTarget=null,this.hideTooltip(),a.emit("tooltipchange",{item:t.item,action:"hide"})):(this.currentTarget=i,this.showTooltip(t),a.emit("tooltipchange",{item:t.item,action:"show"}))}},e.prototype.onMouseEnter=function(t){var n=this.get("itemTypes");if(!(t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=t.item,a=this.get("graph");this.currentTarget=i,this.showTooltip(t),a.emit("tooltipchange",{item:t.item,action:"show"})}},e.prototype.onMouseMove=function(t){var n=this.get("itemTypes");t.item&&t.item.getType&&n.indexOf(t.item.getType())===-1||!this.currentTarget||t.item!==this.currentTarget||this.showTooltip(t)},e.prototype.onMouseLeave=function(){this.hideTooltip();var t=this.get("graph");t.emit("tooltipchange",{item:this.currentTarget,action:"hide"}),this.currentTarget=null},e.prototype.showTooltip=function(t){if(!!t.item){var n=this.get("itemTypes");if(!(t.item.getType&&n.indexOf(t.item.getType())===-1)){var i=this.get("tooltip"),a=this.get("getContent"),o=a(t);(0,LS.isString)(o)?i.innerHTML=o:i.innerHTML=o.outerHTML,this.updatePosition(t)}}},e.prototype.hideTooltip=function(){var t=this.get("tooltip");t&&yr(t,{visibility:"hidden",display:"none"})},e.prototype.updatePosition=function(t){var n=this.get("shouldBegin"),i=this.get("tooltip");if(!n(t)){yr(i,{visibility:"hidden",display:"none"});return}var a=this.get("graph"),o=a.get("width"),s=a.get("height"),l=this.get("offsetX")||0,u=this.get("offsetY")||0,f=a.getPointByClient(t.clientX,t.clientY),c=this.get("fixToNode"),h=t.item;if(h.getType&&h.getType()==="node"&&c&&(0,LS.isArray)(c)&&c.length>=2){var d=h.getBBox();f={x:d.minX+d.width*c[0],y:d.minY+d.height*c[1]}}var p=a.getCanvasByPoint(f.x,f.y),v=p.x,m=p.y,g=a.getContainer(),x={x:v+g.offsetLeft+l,y:m+g.offsetTop+u};yr(i,{visibility:"visible",display:"unset"});var b=i.getBoundingClientRect();v+b.width+l>o&&(x.x-=b.width+l),m+b.height+u>s&&(x.y-=b.height+u),yr(i,{left:"".concat(x.x,"px"),top:"".concat(x.y,"px")})},e.prototype.hide=function(){this.onMouseLeave()},e.prototype.destroy=function(){var t=this.get("tooltip");if(t){var n=this.get("container");n||(n=this.get("graph").get("container")),(0,LS.isString)(n)&&(n=document.getElementById(n)),n.removeChild(t)}},e}(ia),iEt=zde;var vs=z(q());var sl=z(q()),Ude=function(r,e,t){if(t||arguments.length===2)for(var n=0,i=e.length,a;nf&&(o=f,a=u)})}t.originalEvent.deltaY>0?a=Math.max(0,a-1):a=Math.min(e.speedAxisY.length-1,a+1);var s=e.speedAxisY[a]-i;n=uT(n,[["t",0,s]]),e.speedPoint.setMatrix(n),e.currentSpeed=e.speedAxisY.length-a,e.speedText.attr("text","".concat(e.currentSpeed,".0X")),e.group.emit(vd,{speed:e.currentSpeed,type:e.currentType})}),this.toggleGroup&&this.toggleGroup.on("toggle-model:click",function(t){var n,i,a=t.target.get("isChecked");a?(e.checkedIcon.hide(),e.checkedText.attr("text",((i=e.controllerCfg)===null||i===void 0?void 0:i.timePointControllerText)||"\u5355\u4E00\u65F6\u95F4"),e.currentType="range"):(e.checkedIcon.show(),e.checkedText.attr("text",((n=e.controllerCfg)===null||n===void 0?void 0:n.timeRangeControllerText)||"\u65F6\u95F4\u8303\u56F4"),e.currentType="single"),t.target.set("isChecked",!a),e.group.emit(vd,{type:e.currentType,speed:e.currentSpeed})})},r.prototype.destroy=function(){this.speedGroup.off("speed-rect:click"),this.toggleGroup&&(this.toggleGroup.off("toggle-model:click"),this.toggleGroup.destroy()),this.speedGroup.destroy()},r}(),aF=ope;var qi=function(){return qi=Object.assign||function(r){for(var e,t=1,n=arguments.length;tv?(w.show(),L.show(),v=k.minX+k.width+10):(w.hide(),L.hide()),w}),this.controllerBtnGroup=new aF(qi({group:this.group,x:this.x,y:this.y+i+25,width:n,height:35},this.controllerCfg)),this.updateStartEnd(0),this.updateUI(),s.move(this.x,this.y),this.bindEvents()},r.prototype.bindEvents=function(){var e=this,t=this.group.find(function(i){return i.get("name")==="minHandlerShape"});t&&(t.on("minHandlerShape-handler:mousedown",this.onMouseDown(this.minHandlerShape)),t.on("minHandlerShape-handler:touchstart",this.onMouseDown(this.minHandlerShape)));var n=this.group.find(function(i){return i.get("name")==="maxHandlerShape"});n&&(n.on("maxHandlerShape-handler:mousedown",this.onMouseDown(this.maxHandlerShape)),n.on("maxHandlerShape-handler:touchstart",this.onMouseDown(this.maxHandlerShape))),this.foregroundShape.on("mousedown",this.onMouseDown(this.foregroundShape)),this.foregroundShape.on("touchstart",this.onMouseDown(this.foregroundShape)),this.group.on("".concat(Tc,":click"),function(){e.isPlay=!e.isPlay,e.currentHandler=e.maxHandlerShape,e.changePlayStatus()}),this.group.on("".concat(Pg,":click"),function(){e.currentHandler=e.maxHandlerShape,e.updateStartEnd(.01),e.updateUI()}),this.group.on("".concat(kg,":click"),function(){e.currentHandler=e.maxHandlerShape,e.updateStartEnd(-.01),e.updateUI()}),this.group.on(vd,function(i){var a=i.type,o=i.speed;e.currentSpeed=o,e.currentMode=a,a==="single"?(e.minHandlerShape.hide(),e.foregroundShape.hide(),e.minTextShape.hide()):a==="range"&&(e.minHandlerShape.show(),e.foregroundShape.show(),e.minTextShape.show())})},r.prototype.adjustTickIndex=function(e){for(var t=0;t1&&(this.end=1);var t=this.x+this.start*this.width,n=this.x+this.end*this.width;this.foregroundShape.attr("x",t),this.foregroundShape.attr("width",n-t);var i=(0,vs.get)(this.handlerStyle,"width",OX);this.setText(this.minText,this.maxText);var a=this.dodgeText([t,n]),o=a[0],s=a[1];this.minHandlerShape.setX(t-i/2),(0,vs.each)(o,function(l,u){return e.minTextShape.attr(u,l)}),this.maxHandlerShape.setX(n-i/2),(0,vs.each)(s,function(l,u){return e.maxTextShape.attr(u,l)}),this.currentMode==="range"?this.graph.emit(Ou,{value:[this.start,this.end].sort()}):this.currentMode==="single"&&this.graph.emit(Ou,{value:[this.end,this.end]})},r.prototype.dodgeText=function(e){var t,n,i=2,a=(0,vs.get)(this.handlerStyle,"width",OX),o=this.minTextShape,s=this.maxTextShape,l=e[0],u=e[1],f=!1;l>u&&(t=[u,l],l=t[0],u=t[1],n=[s,o],o=n[0],s=n[1],f=!0);var c=o.getBBox(),h=s.getBBox(),d=null,p=null;return this.timeBarType==="trend"?(d=l-c.widththis.x+this.width?{x:u-a/2-i,textAlign:"right"}:{x:u+a/2+i,textAlign:"left"}):this.timeBarType==="simple"&&(d=o.attr("x")>c.width?{x:l,textAlign:"center"}:{x:l,textAlign:"left"},p=s.attr("x")>this.width-h.width?{x:u,textAlign:"right"}:{x:u,textAlign:"center"}),f?[p,d]:[d,p]},r.prototype.startPlay=function(){var e=this;return typeof window!="undefined"?window.requestAnimationFrame(function(){var t=e,n=t.ticks,i=t.width,a=e.currentSpeed,o=i/n.length,s=o/((10-a)*1e3/60),l=e.adjustOffsetRange(s/e.width);e.updateStartEnd(l),e.updateUI(),e.isPlay&&(e.playHandler=e.startPlay())}):void 0},r.prototype.changePlayStatus=function(e){e===void 0&&(e=!0),this.controllerBtnGroup.playButton.update({isPlay:this.isPlay}),this.isPlay?(this.playHandler=this.startPlay(),this.graph.emit(nF,null)):this.playHandler&&(typeof window!="undefined"&&window.cancelAnimationFrame(this.playHandler),e&&this.graph.emit(iF,null))},r.prototype.destory=function(){this.graph.off(Ou);var e=this.group,t=e.find(function(i){return i.get("name")==="minHandlerShape"});t&&(t.off("minHandlerShape-handler:mousedown"),t.off("minHandlerShape-handler:touchstart"),t.destroy());var n=e.find(function(i){return i.get("name")==="maxHandlerShape"});n&&(n.off("maxHandlerShape-handler:mousedown"),n.off("maxHandlerShape-handler:touchstart"),n.destroy()),this.foregroundShape.off("mousedown"),this.foregroundShape.off("touchstart"),this.foregroundShape.destroy(),e.off("".concat(Tc,":click")),e.off("".concat(Pg,":click")),e.off("".concat(kg,":click")),e.off(vd),e.destroy(),this.trendComponent&&this.trendComponent.destory()},r}(),vEt=vpe;var sF=z(q());var mEt=z(q());var mpe=function(){function r(e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,o=e.container,s=e.text,l=e.padding,u=l===void 0?[4,4,4,4]:l,f=e.className,c=f===void 0?"g6-component-timebar-tooltip":f,h=e.backgroundColor,d=h===void 0?"#000":h,p=e.textColor,v=p===void 0?"#fff":p,m=e.opacity,g=m===void 0?.8:m,x=e.fontSize,b=x===void 0?12:x;this.container=o,this.className=c,this.backgroundColor=d,this.textColor=v,this.x=n,this.y=a,this.text=s,this.padding=u,this.opacity=g,this.fontSize=b,this.render()}return r.prototype.render=function(){var e=this,t=e.className,n=e.x,i=e.y,a=e.backgroundColor,o=e.textColor,s=e.text,l=e.padding,u=e.opacity,f=e.fontSize,c=e.container,h=en("
      '));(0,mEt.isString)(c)&&(c=document.getElementById(c)),c.appendChild(h),e.parentHeight=c.offsetHeight,e.parentWidth=c.offsetWidth,yr(h,{visibility:"hidden",top:0,left:0});var d=en(` +
      "));d.innerHTML=s,h.appendChild(d),e.backgroundDOM=d;var p=en("
      "));h.appendChild(p),e.arrowDOM=p,e.container=h},r.prototype.show=function(e){var t=this,n=e.text,i=e.x,a=e.y,o=e.clientX,s=e.clientY;t.backgroundDOM.innerHTML=n;var l=t.backgroundDOM.offsetWidth,u=t.backgroundDOM.offsetHeight,f=t.arrowDOM.offsetWidth,c=t.arrowDOM.offsetHeight;yr(t.container,{top:"".concat(-u-c,"px"),left:"".concat(i,"px"),visibility:"visible"}),yr(t.backgroundDOM,{marginLeft:"".concat(-l/2,"px")}),yr(t.arrowDOM,{marginLeft:"".concat(-f/2,"px"),top:"".concat(u,"px")});var h=i-l/2,d=i+l/2;h<0?yr(t.backgroundDOM,{marginLeft:"".concat(-l/2-h,"px")}):d>t.parentWidth&&yr(t.backgroundDOM,{marginLeft:"".concat(-l/2-d+t.parentWidth+12,"px")})},r.prototype.hide=function(){yr(this.container,{top:0,left:0,visibility:"hidden"})},r}(),gEt=mpe;var oF=function(){return oF=Object.assign||function(r){for(var e,t=1,n=arguments.length;t=L&&R<=k,F=P?f:c,D=C.addShape("rect",{attrs:oF({x:a+R*(S+x),y:a,width:S,height:g},F),draggable:!0,name:"tick-rect-".concat(R)}),G=C.addShape("rect",{attrs:{x:a+R*S+x*(2*R-1)/2,y:a,width:R===0||R===b-1?S+x/2:S+x,height:g,fill:"#fff",opacity:0},draggable:!0,name:"pick-rect-".concat(R)});G.toFront();var U=D.getBBox(),j=(U.minX+U.maxX)/2;w.push({rect:D,pickRect:G,value:I.date,x:j,y:U.minY});var H;if(u?(H=u(I),!(0,sF.isString)(H)&&H&&(H=I.date)):R%Math.round(b/10)==0&&(H=I.date),H){A.push(H);var tt=U.maxY+a*2;C.addShape("line",{attrs:{stroke:"#BFBFBF",x1:j,y1:tt,x2:j,y2:tt+v},name:"tick-line"});var et=tt+v+a,ut=C.addShape("text",{attrs:oF({fill:"#8c8c8c",stroke:"#fff",lineWidth:1,x:j,y:et,textAlign:"center",text:H,textBaseline:"top",fontSize:10,fontFamily:e.fontFamily||"Arial, sans-serif"},h),capture:!1,name:"tick-label"}),$=ut.getBBox();if($.maxX>n?ut.attr("textAlign","right"):$.minX<0&&ut.attr("textAlign","left"),(0,sF.isNumber)(O)&&A.length!==10){var st=gpe([1,0,0,0,1,0,0,0,1],[["t",-j,-et],["r",O],["t",j-5,et+2]]);ut.attr({textAlign:"left",matrix:st})}A.length===1?ut.attr({textAlign:"left"}):A.length===10&&ut.attr({textAlign:"right"})}}),this.tickRects=w;var M=this.group;this.currentSpeed=1,this.controllerBtnGroup=new aF({group:M,x:this.x,y:this.y+i+5,width:n,height:40,hideTimeTypeController:!0,speed:this.currentSpeed,fontFamily:this.fontFamily||"Arial, sans-serif"})},r.prototype.initEvent=function(){var e=this,t=this.sliceGroup;t.on("click",function(f){var c=f.target;if(!(c.get("type")!=="rect"||!c.get("name"))){var h=parseInt(c.get("name").split("-")[2],10);if(!isNaN(h)){var d=e.tickRects,p=e.unselectedTickStyle;d.forEach(function(x){x.rect.attr(p)});var v=e.selectedTickStyle;d[h].rect.attr(v),e.startTickRectId=h,e.endTickRectId=h;var m=d.length,g=h/m;e.graph.emit(Ou,{value:[g,g]})}}}),t.on("dragstart",function(f){var c=e.tickRects,h=e.unselectedTickStyle;c.forEach(function(x){x.rect.attr(h)});var d=f.target,p=parseInt(d.get("name").split("-")[2],10),v=e.selectedTickStyle;c[p].rect.attr(v),e.startTickRectId=p;var m=c.length,g=p/m;e.graph.emit(Ou,{value:[g,g]}),e.dragging=!0}),t.on("dragover",function(f){if(!!e.dragging&&f.target.get("type")==="rect"){for(var c=parseInt(f.target.get("name").split("-")[2],10),h=e.startTickRectId,d=e.tickRects,p=e.selectedTickStyle,v=e.unselectedTickStyle,m=0;m=h&&m<=c?p:v;d[m].rect.attr(g)}var x=d.length;e.endTickRectId=c;var b=h/x,S=c/x;e.graph.emit(Ou,{value:[b,S]})}}),t.on("drop",function(f){if(!!e.dragging&&(e.dragging=!1,f.target.get("type")==="rect")){var c=e.startTickRectId,h=parseInt(f.target.get("name").split("-")[2],10);if(!(h0?t.endTickRectId++:(n[t.endTickRectId].rect.attr(a),t.endTickRectId--),s!==t.startTickRectId)t.endTickRectId")),yr(u,{position:"relative"})),l.appendChild(u),this.set("timeBarContainer",u);var f,c=t.get("renderer");c==="SVG"?f=new Mh({container:u,width:i,height:a}):f=new Gl({container:u,width:i,height:a}),this.get("containerCSS")&&yr(u,this.get("containerCSS")),this.set("canvas",f)},e.prototype.init=function(){this.initContainer();var t=this.get("canvas"),n=t.addGroup({name:"timebar-group"});this.set("timeBarGroup",n),this.renderTrend(),this.initEvent();var i=typeof window!="undefined"&&window.getComputedStyle(document.body,null).getPropertyValue("font-family")||"Arial, sans-serif";this.set("fontFamily",i)},e.prototype.renderTrend=function(){var t=this,n=this._cfgs,i=n.width,a=n.x,o=n.y,s=n.padding,l=n.type,u=n.trend,f=n.slider,c=n.controllerCfg,h=n.textStyle,d=n.tick,p=n.backgroundStyle,v=n.foregroundStyle,m=u.data,g=Spe(u,["data"]),x=i-2*s,b=l==="trend"?wpe:Cpe,S=this.get("graph"),C=this.get("timeBarGroup"),w=this.get("canvas"),A=null;if(l==="trend"||l==="simple"){var L=this.get("getValue");A=new vEt(lv(lv({graph:S,canvas:w,group:C,type:l,x:a+s,y:l==="trend"?o+s:o+s+15,width:x,height:b,padding:s,backgroundStyle:p,foregroundStyle:v,trendCfg:lv(lv({},g),{data:m.map(function(O){return(L==null?void 0:L(O))||O.value})})},f),{tick:{ticks:m,tickLabelFormatter:d.tickLabelFormatter,tickLabelStyle:d.tickLabelStyle,tickLineStyle:d.tickLineStyle},handlerStyle:lv(lv({},f.handlerStyle),{height:f.height||b}),controllerCfg:c,textStyle:h}))}else l==="tick"&&(A=new yEt(lv({graph:S,canvas:w,group:C,x:a+s,y:o+s,width:i,height:42,padding:2},d)));var k=function O(){var M=t.get("timebar");M.draggingHandler=!1,M.isPlay&&(M.isPlay=!1,M.currentHandler=M.maxHandlerShape,M.changePlayStatus()),document.removeEventListener("mouseup",O)};w.on("mousedown",function(O){(O.target.get("name")==="maxHandlerShape-handler"||O.target.get("name")==="minHandlerShape-handler"||O.target===A.foregroundShape)&&document.addEventListener("mouseup",k)}),this.set("timebar",A)},e.prototype.filterData=function(t){var n,i=t.value,a=null,o=this._cfgs.type;if(o==="trend"||o==="simple"?a=this._cfgs.trend.data:o==="tick"&&(a=this._cfgs.tick.data),!a||a.length===0){console.warn("\u8BF7\u914D\u7F6E TimeBar \u7EC4\u4EF6\u7684\u6570\u636E");return}var s=this.get("rangeChange"),l=this.get("graph"),u=Math.round(a.length*i[0]),f=Math.round(a.length*i[1]);f=f>=a.length?a.length-1:f,u=u>=a.length?a.length-1:u;var c=(n=this._cfgs.tick)===null||n===void 0?void 0:n.tickLabelFormatter,h=c?c(a[u]):a[u].date,d=c?c(a[f]):a[f].date;if(o!=="tick"){var p=this.get("timebar");p.setText(h,d)}if(s)s(l,h,d);else{(!this.cacheGraphData||this.cacheGraphData.nodes&&this.cacheGraphData.nodes.length===0)&&(this.cacheGraphData=l.get("data"));var v=this.get("filterItemTypes"),m=this.get("changeData"),g=this.get("getDate"),x=this.get("shouldIgnore"),b=a[u].date,S=a[f].date;if(m||m===void 0){var C=this.cacheGraphData.nodes,w=this.cacheGraphData.edges;if(v.includes("node")){C=C.filter(function(L){var k=+((g==null?void 0:g(L))||L.date);return k>=b&&k<=S||(x==null?void 0:x("node",L,{min:b,max:S}))});var A=C.map(function(L){return L.id});w&&(w=w.filter(function(L){return A.includes(L.source)&&A.includes(L.target)||(x==null?void 0:x("edge",L,{min:b,max:S}))}))}(this.get("filterEdge")||v.includes("edge"))&&(w=w.filter(function(L){var k=+((g==null?void 0:g(L))||L.date);return k>=b&&k<=S||(x==null?void 0:x("edge",L,{min:b,max:S}))})),l.changeData({nodes:C,edges:w})}else v.includes("node")&&l.getNodes().forEach(function(L){var k=L.getModel();if(!(x==null?void 0:x("node",k,{min:b,max:S}))){var O=+((g==null?void 0:g(k))||k.date);OS?l.hideItem(L):l.showItem(L)}}),(this.get("filterEdge")||v.includes("edge"))&&l.getEdges().forEach(function(L){var k=L.getModel();if(!(x==null?void 0:x("edge",k,{min:a[u].date,max:a[f].date}))){var O=+((g==null?void 0:g(k))||k.date);Oa[f].date?l.hideItem(L):l.showItem(L)}})}},e.prototype.initEvent=function(){var t=this,n=0,i=0,a=this._cfgs.type;!a||a==="trend"||a==="simple"?(n=this._cfgs.slider.start,i=this._cfgs.slider.end):a==="tick"&&(n=this._cfgs.tick.start,i=this._cfgs.tick.end);var o=this.get("graph");o.on("afterrender",function(s){t.filterData({value:[n,i]})}),o.on(Ou,(0,fT.throttle)(function(s){t.filterData(s)},200,{trailing:!0,leading:!0}))},e.prototype.destroy=function(){var t=this.get("timebar");t&&t.destory&&t.destory(),r.prototype.destroy.call(this);var n=this.get("timeBarContainer");if(n){var i=this.get("container");i||(i=this.get("graph").get("container")),(0,fT.isString)(i)&&(i=document.getElementById(i)),i.removeChild(n)}},e}(ia),xEt=Epe;var DS=z(q());var Ape=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Mpe=ka.applyMatrix;function Tpe(r,e){var t,n;if(r.naturalWidth)t=r.naturalWidth,n=r.naturalHeight;else{var i=new Image;i.src=r.src,i.onload=function(){e&&e(i.width,i.height)}}return[t,n]}var Ipe=function(r){Ape(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultCfgs=function(){return{container:null,className:"g6-minimap",viewportClassName:"g6-minimap-viewport",width:200,delegateStyle:{fill:"#40a9ff",stroke:"#096dd9"},refresh:!0}},e.prototype.getEvents=function(){return{beforepaint:"updateViewport",beforeanimate:"disableRefresh",afteranimate:"enableRefresh",viewportchange:"disableOneRefresh"}},e.prototype.disableRefresh=function(){this.set("refresh",!1)},e.prototype.enableRefresh=function(){this.set("refresh",!0),this.updateCanvas()},e.prototype.disableOneRefresh=function(){this.set("viewportChange",!0)},e.prototype.initViewport=function(){var t=this,n=this._cfgs,i=n.graph;if(!this.destroyed){var a=this.get("container");(0,DS.isString)(a)&&(a=document.getElementById(a));var o=en("
      x||d>b||(v=i.getZoom(),p=t.get("ratio"),u=!0,s=m.clientX,l=m.clientY)}},!1),a.addEventListener("mousemove",function(m){if(!(!u||(0,IS.isNil)(m.clientX)||(0,IS.isNil)(m.clientY))){var g=t.get("width"),x=t.get("height"),b=o.style;f=parseInt(b.left,10),c=parseInt(b.top,10),h=parseInt(b.width,10),d=parseInt(b.height,10);var S=s-m.clientX,C=l-m.clientY;f-S<0?S=f:f-S+h>=g&&(S=0),c-C<0?C=c:c-C+d>=x&&(C=0),f-=S,c-=C,yr(o,{left:"".concat(f,"px"),top:"".concat(c,"px")}),i.translate(S*v/p,C*v/p),s=m.clientX,l=m.clientY}},!1),a.addEventListener("mouseleave",function(){u=!1,n.refresh=!0},!1),a.addEventListener("mouseup",function(){u=!1,n.refresh=!0},!1),this.set("viewport",o),a.appendChild(o)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),n=this.get("width"),i=this.get("height"),a=this.get("graph"),o=a.get("width"),s=a.get("height"),l=o/s,u=a.getGroup(),f=u.getCanvasBBox(),c=[(f.minX+f.maxX)/2,(f.minY+f.maxY)/2],h=[f.maxX-f.minX,f.maxY-f.minY],d={centerX:c[0],centerY:c[1],width:0,height:0,minX:0,minY:0};f[0]/f[1]>l?(d.width=h[0],d.height=d.width/l):(d.height=h[1],d.width=d.height*l),d.minX=c[0]-d.width/2,d.minY=c[1]-d.height/2;var p=u.getMatrix();p||(p=[1,0,0,0,1,0,0,0,1]);var v=Ai.invert([1,0,0,0,1,0,0,0,1],p),m=ape({x:d.minX,y:d.minY},v),g=a.getCanvasByPoint(m.x,m.y),x=this.get("viewport");x||this.initViewport();var b=o/d.width,S=b*n,C=b*i,w=n*-g.x/d.width,A=i*-g.y/d.height,I=w+S,P=A+C;w<0&&(S+=w,w=0),I>n&&(S=S-(I-n)),A<0&&(C+=A,A=0),P>i&&(C=C-(P-i)),this.set("ratio",t);var L="".concat(w,"px"),M="".concat(A,"px");yr(x,{left:L,top:M,width:"".concat(S,"px"),height:"".concat(C,"px")})}},e.prototype.init=function(){this.initContainer()},e.prototype.initContainer=function(){var t=this,n=t.get("graph"),i=n.get("width"),a=n.get("height"),o=a/i,s=t.get("className"),l=t.get("container"),u=t.get("width"),f=t.get("height");!u&&!f&&(u=200),u?(f=o*u,t.set("height",f)):(u=1/o*f,t.set("width",u));var c=en("
      "));(0,IS.isString)(l)&&(l=document.getElementById(l)),l?l.appendChild(c):n.get("container").appendChild(c),t.set("container",c);var h=en('
      ');c.appendChild(h);var d=en('');h.appendChild(d),t.set("containerDOM",h),t.set("containerSpan",d);var p=en(''));t.set("imgDOM",p),t.updateImgSize(),d.appendChild(p),t.updateCanvas()},e.prototype.updateImgSize=function(){var t=this,n=t.get("imgDOM"),i=t.get("width"),a=t.get("height");n.onload=function(){var o=ope(n);o[0]>o[1]?n.width=i:n.height=a}},e.prototype.updateCanvas=function(){var t=this.get("refresh");if(!!t){var n=this.get("graph");if(!n.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var i=this.get("width"),a=n.get("canvas").getCanvasBBox(),o=a.width,s=i/o;this.set("ratio",s),this.updateViewport()}}},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateGraphImg=function(t){var n=this,i=n.get("imgDOM");i.remove(),n.set("graphImg",t);var a=en(''));n.set("imgDOM",a),a.src=t,n.updateImgSize();var o=n.get("containerSpan");o.appendChild(a),n.updateCanvas()},e.prototype.destroy=function(){var t=this.get("container");t.parentNode.removeChild(t)},e}(ia),oEt=spe;var sEt=U(q());var lpe=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),AX=function(){return AX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t(u||i.get("height"))&&a>1||c<(f||i.get("height")*.05)&&a<1)&&(a=1),c*=a,n.set("r",c),n.filter(t)}},e.prototype.filter=function(t){var n=this,i=n.get("graph"),a=i.getNodes(),o={},s=n.get("r"),l=n.get("type"),u={x:t.x,y:t.y};n.updateDelegate(u,s);var f=n.get("shouldShow"),c=n.get("vShapes");c&&c.forEach(function(g){g.remove(),g.destroy()}),c=[],a.forEach(function(g){var x=g.getModel(),b=x.x,S=x.y;upe({x:b,y:S},u)
      `);s.appendChild(l),this.set("container",l);var u=this.render();yr(l,this.getContainerPos(u)),this.bindEvents()},e.prototype.getContainerPos=function(t){t===void 0&&(t=[0,0]);var n=this,i=n.get("graph"),a=this.get("offsetX"),o=this.get("offsetY"),s=this.get("margin"),l=this.get("position").split("-"),u={top:0,right:1,bottom:2,left:3},f=0,c=0,h={left:(i.getWidth()-t[0])/2+f,top:(i.getHeight()-t[1])/2+c};return l.forEach(function(d){var p=s[u[d]],v=d;switch(d){case"top":p+=c;break;case"left":p+=f;break;case"bottom":p=i.getHeight()-t[1]-p+c,v="top";break;default:p=i.getWidth()-t[0]-p+f,v="left";break}h[v]=p}),h.top+=o+i.getContainer().offsetTop,h.left+=a+i.getContainer().offsetLeft,Object.keys(h).forEach(function(d){h[d]="".concat(h[d],"px")}),h},e.prototype.bindEvents=function(){var t=this,n=t.get("filter");if(!(!n||!n.enable)){var i=n.trigger||"click";mpe.includes(i)||(console.warn("Trigger for legend filterling must be 'click' or 'mouseenter', 'click' will take effect by default."),i="click");var a=t.get("legendCanvas");i==="mouseenter"?(a.on("node-container:mouseenter",function(o){return t.filterData(o)}),a.on("node-container:mouseleave",function(o){t.clearFilter(),t.clearActiveLegend()})):(a.on("node-container:click",function(o){return t.filterData(o)}),a.on("click",function(o){o.target&&o.target.isCanvas&&o.target.isCanvas()&&(t.clearFilter(),t.clearActiveLegend())}))}},e.prototype.changeData=function(t){this.set("data",t);var n=this.render();yr(this.get("container"),this.getContainerPos(n))},e.prototype.activateLegend=function(t){var n=this.get("filter"),i=n==null?void 0:n.multiple;i||this.clearActiveLegend();var a=t.get("parent");a.get("active")?(a.set("active",!1),this.findLegendItemsByState("active").length&&a.set("inactive",!0)):(a.set("inactive",!1),a.set("active",!0)),this.findLegendItemsByState("active").length?this.findLegendItemsByState("active","all",!1).forEach(function(c){c.set("inactive",!0)}):this.clearActiveLegend();var o=(n==null?void 0:n.lengedStateStyles)||{},s=(o==null?void 0:o.inactive)||{opacity:.5,"text-shape":{opacity:.5}},l=s["text-shape"]||{};this.findLegendItemsByState("inactive").forEach(function(c){var h=c.get("children"),d=h[0],p=h[1];d.attr(Ea(Ea({},d.get("oriAttrs")),s)),p.attr(Ea(Ea({},p.get("oriAttrs")),l))});var u=(o==null?void 0:o.active)||{stroke:"#000",lineWidth:2,"text-shape":{fontWeight:"bold"}},f=u["text-shape"]||{};this.findLegendItemsByState("active").forEach(function(c){var h=c.get("children"),d=h[0],p=h[1];d.attr(Ea(Ea({},d.get("oriAttrs")),u)),p.attr(Ea(Ea({},p.get("oriAttrs")),f))})},e.prototype.findLegendItemsByState=function(t,n,i){n===void 0&&(n="all"),i===void 0&&(i=!0);var a=this.get("legendCanvas").find(function(l){return l.get("name")==="root"}),o=a.find(function(l){return l.get("name")==="node-group"}),s=a.find(function(l){return l.get("name")==="edge-group"});return n==="node"?o.get("children").filter(function(l){return!!l.get(t)===i}):n==="edge"?s.get("children").filter(function(l){return!!l.get(t)===i}):o.get("children").filter(function(l){return!!l.get(t)===i}).concat(s.get("children").filter(function(l){return!!l.get(t)===i}))},e.prototype.clearActiveLegend=function(){var t=this.get("legendCanvas"),n=t.find(function(a){return a.get("name")==="root"}),i=[n.find(function(a){return a.get("name")==="node-group"}),n.find(function(a){return a.get("name")==="edge-group"})];i.forEach(function(a){a.get("children").forEach(function(o){o.set("active",!1),o.set("inactive",!1);var s=o.get("children"),l=s[0],u=s[1];l.attr(l.get("oriAttrs")),u.attr(u.get("oriAttrs"))})})},e.prototype.filterData=function(t){var n=this.get("filter"),i=n==null?void 0:n.filterFunctions;if(!(!n||!i)){var a=this.get("legendCanvas"),o=this.get("graph"),s=n.graphActiveState||"active",l=n.graphInactiveState||"inactive",u=n.multiple;this.clearFilter(),u||this.clearActiveLegend(),this.activateLegend(t.target);var f=a.find(function(g){return g.get("name")==="root"}),c=f.find(function(g){return g.get("name")==="node-group"}),h=f.find(function(g){return g.get("name")==="edge-group"}),d=c.get("children").filter(function(g){return g.get("active")}),p=h.get("children").filter(function(g){return g.get("active")}),v=0,m=["getNodes","getEdges"];m.forEach(function(g){o[g]().forEach(function(x){var b=!1,S=g==="getNodes"?d:p;S.forEach(function(C){var w=i[C.get("id")];b=b||w(x.getModel())}),b?(o.setItemState(x,l,!1),o.setItemState(x,s,!0),v++):(o.setItemState(x,s,!1),o.setItemState(x,l,!0))})}),v||m.forEach(function(g){o[g]().forEach(function(x){o.clearItemStates(x,[l])})})}},e.prototype.clearFilter=function(){var t=this.get("graph"),n=this.get("filter");if(!!n){var i=n.graphActiveState||"active",a=n.graphInactiveState||"inactive";t.getNodes().forEach(function(o){t.clearItemStates(o,[i,a])}),t.getEdges().forEach(function(o){t.clearItemStates(o,[i,a])})}},e.prototype.render=function(){var t=this;this.processData();var n=this.get("legendCanvas");if(!n){n=new Gl({container:this.get("container"),width:200,height:200});var i=n.addGroup({name:"root"});i.addGroup({name:"node-group"}),i.addGroup({name:"edge-group"}),this.set("legendCanvas",n)}var a=n.find(function(N){return N.get("name")==="root"}),o=a.find(function(N){return N.get("name")==="node-group"}),s=a.find(function(N){return N.get("name")==="edge-group"}),l=this.get("itemsData"),u=["nodes","edges"],f=[o,s];u.forEach(function(N,z){l[N].forEach(function(j){var W,J=f[z].addGroup({id:j.id,name:"node-container"}),et,lt=j.type,$=t.getShapeSize(j),st=$.width,_t=$.height,dt=$.r,vt=t.getStyle(N.substr(0,4),j);switch(j.type){case"circle":et={r:dt,x:0,y:0};break;case"rect":et={width:st,height:_t,x:-st/2,y:-_t/2};break;case"ellipse":et={r1:st,r2:_t,x:0,y:0};break;case"line":et={x1:-st/2,y1:0,x2:st/2,y2:0},lt="line";break;case"quadratic":et={path:[["M",-st/2,0],["Q",0,st/2,st/2,0]]},lt="path";break;case"cubic":et={path:[["M",-st/2,0],["C",-st/6,st/2,st/6,-st/2,st/2,0]]},lt="path";break;default:et={r:dt,x:0,y:0};break}var Tt=J.addShape(lt,{attrs:Ea(Ea({},et),vt),name:"".concat(j.type,"-node-keyShape"),oriAttrs:Ea({opacity:1},vt)});if(j.label){var Ut=Tt.getBBox(),$t=((W=j.labelCfg)===null||W===void 0?void 0:W.style)||{},Y=Ea({textAlign:"begin",fontSize:12,textBaseline:"middle",fill:"#000",opacity:1,fontWeight:"normal"},$t);J.addShape("text",{attrs:Ea({x:Ut.maxX+4,y:0,text:j.label},Y),className:"legend-label",name:"".concat(j.type,"-node-text"),oriAttrs:Y})}})});var c=this.get("padding"),h,d=a.find(function(N){return N.get("name")==="title-container"}),p={height:0,maxY:0,width:0};if(this.get("title")){d||(d=a.addGroup({name:"title-container"}));var v={fontSize:20,fontFamily:"Arial",fontWeight:300,textBaseline:"top",textAlign:"center",fill:"#000",x:0,y:c[0]},m=this.get("titleConfig")||{},g=Object.assign(v,m.style||{});h=d.addShape("text",{attrs:Ea({text:this.get("title")},g)}),p=d.getCanvasBBox(),d.setMatrix([1,0,0,0,1,0,m.offsetX,m.offsetY,1])}this.layoutItems();var x=a.getCanvasBBox(),b=o.getCanvasBBox(),S=b.minX<0?Math.abs(b.minX)+c[3]:c[3],C=p.maxYc.max&&(c.max=s[0]),M>h&&(h=M),S.setMatrix([1,0,0,0,1,0,O,F,1])});var d=c.max-c.min,p={min:0,max:-1/0},v=u.getCanvasBBox();s[0]=0,s[1]=a==="vertical"?v.maxX+n:v.maxY+i,f.get("children").forEach(function(S,C){C===0&&(p.min=s[0]);var w=S.get("children")[0],A=S.getCanvasBBox(),I=w.getBBox(),P=I.width,L=I.height,M=0,O=0;a==="vertical"?(M=s[1],O=s[0],s[0]=O+A.height+i,S.setMatrix([1,0,0,0,1,0,0,O+L/2,1])):(M=s[0],O=s[1],s[0]=M+A.width+n,S.setMatrix([1,0,0,0,1,0,M+P/2,0,1])),s[0]>p.max&&(p.max=s[0])});var m=p.max-p.min;if(o&&o!==""&&o!=="left"){var g=d-m,x=o==="center"?Math.abs(g)/2:Math.abs(g),b=g<0?u:f;b.get("children").forEach(function(S){var C=S.getMatrix()||[1,0,0,0,1,0,0,0,1];a==="vertical"?C[7]+=x:C[6]+=x,S.setMatrix(C)})}},e.prototype.processData=function(){var t=this.get("data"),n={nodes:[],edges:[]};t.nodes&&(t.nodes.sort(function(i,a){return i.order-a.order}),t.nodes.forEach(function(i){var a,o,s,l,u,f=i.size||[((a=i.style)===null||a===void 0?void 0:a.width)||((o=i.style)===null||o===void 0?void 0:o.r)||8,((s=i.style)===null||s===void 0?void 0:s.height)||((l=i.style)===null||l===void 0?void 0:l.r)||8],c=((u=i.labelCfg)===null||u===void 0?void 0:u.style)||{};n.nodes.push({id:i.id||(0,gd.uniqueId)(),type:i.type||"circle",style:Ea({},i.style),order:i.order,label:i.label,itemType:"node",size:f,labelCfg:{position:"right",style:Ea({fontFamily:"Arial"},c)}})})),t.edges&&(t.edges.sort(function(i,a){return i.order-a.order}),t.edges.forEach(function(i){var a,o,s=i.type||"line";i.type==="cubic-horizontal"&&(s="cubic");var l=((a=i.labelCfg)===null||a===void 0?void 0:a.style)||{},u=i.size||[((o=i.style)===null||o===void 0?void 0:o.width)||8,1];n.edges.push({id:i.id||(0,gd.uniqueId)(),type:s,size:u,style:Ea({lineWidth:(0,gd.isArray)(u)?u[1]:1},i.style),order:i.order,label:i.label,itemType:"edge",labelCfg:{position:"right",style:Ea({fontFamily:"Arial"},l)}})})),this.set("itemsData",n)},e.prototype.getContainer=function(){return this.get("container")},e.prototype.formatArray=function(t){var n=this.get(t);if((0,gd.isNumber)(n))this.set(t,[n,n,n,n]);else if((0,gd.isArray)(n))switch(n.length){case 0:this.set(t,[0,0,0,0]);break;case 1:this.set(t,[n[0],n[0],n[0],n[0]]);break;case 2:this.set(t,[n[0],n[1],n[0],n[1]]);break;case 3:this.set(t,[n[0],n[1],n[2],n[1]]);break;default:break}return this.get(t)},e.prototype.getShapeSize=function(t){var n,i,a;return t.size&&((0,gd.isArray)(t.size)?(n=t.size[0],i=t.size[1]||t.size[0],a=t.size[0]/2):(0,gd.isNumber)(t.size)&&(n=t.size,i=t.size,a=t.size/2)),t.style&&(t.style.width&&(n=t.style.width),t.style.height&&(i=t.style.height),t.style.r&&(a=t.style.r)),a||(a=5),n||(n=a),i||(i=a),{width:n,height:i,r:a}},e.prototype.getStyle=function(t,n){var i=t==="node"?{fill:"#ccc",lineWidth:0}:{stroke:"#000",lineWidth:1};return Ea(Ea({},i),n.style||{})},e.prototype.destroy=function(){var t=this.get("graph"),n=t.get("container"),i=this.get("container");n.removeChild(i)},e}(ia),hEt=gpe;var ype={PluginBase:ia,Menu:Owt,Grid:Mwt,Minimap:kwt,Bundling:Nwt,ToolBar:jwt,Tooltip:Vwt,Fisheye:Gwt,TimeBar:aEt,ImageMinimap:oEt,EdgeFilterLens:fEt,SnapLine:cEt,Legend:hEt},dEt=ype;var po=dEt;var MX=U(q());Xo("circle",{options:{size:ze.defaultNode.size,style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=(0,MX.deepMix)({},i,e.icon),s="".concat(this.type,"-keyShape"),l=t.addShape("circle",{attrs:a,className:s,name:s,draggable:!0});t.shapeMap[s]=l;var u=o.width,f=o.height,c=o.show,h=o.text;if(c){var d="".concat(this.type,"-icon");h?t.shapeMap[d]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:d,name:d,draggable:!0}):t.shapeMap[d]=t.addShape("image",{attrs:E({x:-u/2,y:-f/2},o),className:d,name:d,draggable:!0})}return this.drawLinkPoints(e,t),l},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints;if(!!n){var i=n||{},a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0]/2;if(o){var p="link-point-left";t.shapeMap[p]=t.addShape("circle",{attrs:E(E({},c),{x:-d,y:0,r:u/2||f||5}),className:p,name:p,isAnchorPoint:!0})}if(s){var v="link-point-right";t.shapeMap[v]=t.addShape("circle",{attrs:E(E({},c),{x:d,y:0,r:u/2||f||5}),className:v,name:v,isAnchorPoint:!0})}if(a){var m="link-point-top";t.shapeMap[m]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-d,r:u/2||f||5}),className:m,name:m,isAnchorPoint:!0})}if(l){var g="link-point-bottom";t.shapeMap[g]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:d,r:u/2||f||5}),className:g,name:g,isAnchorPoint:!0})}}},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,MX.deepMix)({},t,n),a=this.getSize(e),o=a[0]/2,s=E({x:0,y:0,r:o},i);return s},update:function(e,t,n){var i=t.getContainer(),a=this.getSize(e),o=E({},e.style);e.style.stroke===void 0&&e.color&&(o.stroke=e.color),e.style.r===void 0&&!isNaN(a[0])&&(o.r=a[0]/2),this.updateShape(e,t,o,!0,n),this.updateLinkPoints(e,i)}},"single-node");var nF=U(q());Xo("rect",{options:{size:[100,30],style:{radius:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},anchorPoints:[[0,.5],[1,.5]],stateStyles:E({},ze.nodeStateStyles)},shapeType:"rect",labelPosition:"center",drawShape:function(e,t){var n=this.getShapeStyle(e),i=t.addShape("rect",{attrs:n,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});return t.shapeMap["".concat(this.type,"-keyShape")]=i,this.drawLinkPoints(e,t),i},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,nF.mix)({},t,n),a=this.getSize(e),o=i.width||a[0],s=i.height||a[1],l=E({x:-o/2,y:-s/2,width:o,height:s},i);return l},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getSize(e),s=t.get("keyShape");e.size||(o[0]=s.attr("width")||a.width,o[1]=s.attr("height")||a.height);var l={stroke:e.color,x:-o[0]/2,y:-o[1]/2,width:o[0],height:o[1]},u=(0,nF.mix)({},a,s.attr(),l);u=(0,nF.mix)(u,e.style),this.updateShape(e,t,u,!1,n),this.updateLinkPoints(e,i)}},"single-node");var iF=U(q());Xo("ellipse",{options:{size:[80,40],style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"ellipse",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("ellipse",{attrs:a,className:"ellipse-keyShape",name:"ellipse-keyShape",draggable:!0});t.shapeMap["ellipse-keyShape"]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0]/2,p=h[1]/2;o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,iF.mix)({},t,n),a=this.getSize(e),o=a[0]/2,s=a[1]/2,l=E({x:0,y:0,rx:o,ry:s},i);return l},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getSize(e),s={stroke:e.color,rx:o[0]/2,ry:o[1]/2},l=t.get("keyShape"),u=(0,iF.mix)({},a,l.attr(),s);u=(0,iF.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)}},"single-node");var aF=U(q());Xo("diamond",{options:{size:[80,80],style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"diamond",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("path",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getPath:function(e){var t=this.getSize(e),n=t[0],i=t[1],a=[["M",0,-i/2],["L",n/2,0],["L",0,i/2],["L",-n/2,0],["Z"]];return a},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,aF.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,aF.mix)({},a,l.attr(),s);u=(0,aF.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)}},"single-node");var oT=U(q());Xo("triangle",{options:{size:40,direction:"up",style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize},offset:15},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20,offset:6},stateStyles:E({},ze.nodeStateStyles)},shapeType:"triangle",labelPosition:"bottom",drawShape:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.icon,a=i===void 0?{}:i,o=n.direction,s=this.getShapeStyle(e),l=e.direction||o,u=t.addShape("path",{attrs:s,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=u;var f=a.width,c=a.height,h=a.show,d=a.offset,p=a.text;if(h)if(p)t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},a),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0});else{var v=-f/2,m=-c/2;(l==="up"||l==="down")&&(m+=d),(l==="left"||l==="right")&&(v+=d),t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:v,y:m},a),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})}return this.drawLinkPoints(e,t),u},drawLinkPoints:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.linkPoints,a=i===void 0?{}:i,o=n.direction,s=e.direction||o,l=a.top,u=a.left,f=a.right,c=a.bottom,h=a.size,d=a.r,p=rr(a,["top","left","right","bottom","size","r"]),v=this.getSize(e),m=v[0];if(u){var g=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?g=[-b,x]:s==="down"?g=[-b,-x]:s==="left"&&(g=[-b,b-x]),g&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},p),{x:g[0],y:g[1],r:h/2||d||5}),className:"link-point-left",name:"link-point-left"}))}if(f){var S=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?S=[b,x]:s==="down"?S=[b,-x]:s==="right"&&(S=[b,b-x]),S&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},p),{x:S[0],y:S[1],r:h/2||d||5}),className:"link-point-right",name:"link-point-right"}))}if(l){var C=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?C=[b-x,-x]:s==="left"?C=[b,-x]:s==="right"&&(C=[-b,-x]),C&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},p),{x:C[0],y:C[1],r:h/2||d||5}),className:"link-point-top",name:"link-point-top"}))}if(c){var w=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="down"?w=[-b+x,x]:s==="left"?w=[b,x]:s==="right"&&(w=[-b,x]),w&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},p),{x:w[0],y:w[1],r:h/2||d||5}),className:"link-point-bottom",name:"link-point-bottom"}))}},getPath:function(e){var t=(this.mergeStyle||this.getOptions(e)).direction,n=e.direction||t,i=this.getSize(e),a=i[0],o=a*Math.sin(1/3*Math.PI),s=a*Math.sin(1/3*Math.PI),l=[["M",-s,o],["L",0,-o],["L",s,o],["Z"]];return n==="down"?l=[["M",-s,-o],["L",s,-o],["L",0,o],["Z"]]:n==="left"?l=[["M",-s,s-o],["L",s,-s],["L",s,s],["Z"]]:n==="right"&&(l=[["M",s,s-o],["L",-s,s],["L",-s,-s],["Z"]]),l},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,oT.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,oT.mix)({},a,l.attr(),s);u=(0,oT.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)},updateLinkPoints:function(e,t){var n=this.getOptions({}),i=n.linkPoints,a=n.direction,o=e.direction||a,s=t.shapeMap["link-point-left"]||t.find(function(D){return D.get("className")==="link-point-left"}),l=t.shapeMap["link-point-right"]||t.find(function(D){return D.get("className")==="link-point-right"}),u=t.shapeMap["link-point-top"]||t.find(function(D){return D.get("className")==="link-point-top"}),f=t.shapeMap["link-point-bottom"]||t.find(function(D){return D.get("className")==="link-point-bottom"}),c=i,h=s||l||u||f;h&&(c=h.attr());var d=(0,oT.mix)({},c,e.linkPoints),p=d.fill,v=d.stroke,m=d.lineWidth,g=d.size/2;g||(g=d.r);var x=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},b=x.left,S=x.right,C=x.top,w=x.bottom,A=this.getSize(e),I=A[0],P={r:g,fill:p,stroke:v,lineWidth:m},L=null,M=I*Math.sin(1/3*Math.PI),O=I*Math.sin(1/3*Math.PI);o==="up"?L=[-O,M]:o==="down"?L=[-O,-M]:o==="left"&&(L=[-O,O-M]),L&&(s?!b&&b!==void 0?(s.remove(),delete t.shapeMap["link-point-left"]):s.attr(E(E({},P),{x:L[0],y:L[1]})):b&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},P),{x:L[0],y:L[1]}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})));var F=null;o==="up"?F=[O,M]:o==="down"?F=[O,-M]:o==="right"&&(F=[O,O-M]),F&&(l?!S&&S!==void 0?(l.remove(),delete t.shapeMap["link-point-right"]):l.attr(E(E({},P),{x:F[0],y:F[1]})):S&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},P),{x:F[0],y:F[1]}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})));var k=null;o==="up"?k=[O-M,-M]:o==="left"?k=[O,-M]:o==="right"&&(k=[-O,-M]),k&&(u?!C&&C!==void 0?(u.remove(),delete t.shapeMap["link-point-top"]):u.attr(E(E({},P),{x:k[0],y:k[1]})):C&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},P),{x:k[0],y:k[1]}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})));var G=null;o==="down"?G=[-O+M,M]:o==="left"?G=[O,M]:o==="right"&&(G=[-O,M]),G&&(f?!w&&w!==void 0?(f.remove(),delete t.shapeMap["link-point-bottom"]):f.attr(E(E({},P),{x:G[0],y:G[1]})):w&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},P),{x:G[0],y:G[1]}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0})))}},"single-node");var Af=U(q());Xo("modelRect",{options:{size:[185,70],style:{radius:5,stroke:"#69c0ff",fill:"#ffffff",lineWidth:ze.defaultNode.style.lineWidth,fillOpacity:1},labelCfg:{style:{fill:"#595959",fontSize:14,fontFamily:ze.windowFontFamily},offset:30},descriptionCfg:{style:{fontSize:12,fill:"#bfbfbf",fontFamily:ze.windowFontFamily},paddingTop:0},preRect:{show:!0,width:4,fill:"#40a9ff",radius:2},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:10,lineWidth:1,fill:"#72CC4A",stroke:"#72CC4A"},logoIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/4f81893c-1806-4de4-aff3-9a6b266bc8a2.svg",width:16,height:16,offset:0},stateIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/300a2523-67e0-4cbf-9d4a-67c077b40395.svg",width:16,height:16,offset:-5},anchorPoints:[[0,.5],[1,.5]]},shapeType:"modelRect",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).preRect,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=this.getSize(e),s=o[0],l=o[1],u=t.addShape("rect",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=u;var f=i.show,c=rr(i,["show"]);return f&&(t.shapeMap["pre-rect"]=t.addShape("rect",{attrs:E({x:-s/2,y:-l/2,height:l},c),className:"pre-rect",name:"pre-rect",draggable:!0})),this.drawLogoIcon(e,t),this.drawStateIcon(e,t),this.drawLinkPoints(e,t),u},drawLogoIcon:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).logoIcon,i=n===void 0?{}:n,a=this.getSize(e),o=a[0];if(i.show){var s=i.width,l=i.height,u=i.x,f=i.y,c=i.offset,h=i.text,d=rr(i,["width","height","x","y","offset","text"]);h?t.shapeMap["rect-logo-icon"]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},d),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0}):t.shapeMap["rect-logo-icon"]=t.addShape("image",{attrs:E(E({},d),{x:u||-o/2+s+c,y:f||-l/2,width:s,height:l}),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0})}},drawStateIcon:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).stateIcon,i=n===void 0?{}:n,a=this.getSize(e),o=a[0];if(i.show){var s=i.width,l=i.height,u=i.x,f=i.y,c=i.offset,h=i.text,d=rr(i,["width","height","x","y","offset","text"]);h?t.shapeMap["rect-state-icon"]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},d),className:"rect-state-icon",name:"rect-state-icon",draggable:!0}):t.shapeMap["rect-state-icon"]=t.addShape("image",{attrs:E(E({},d),{x:u||o/2-s+c,y:f||-l/2,width:s,height:l}),className:"rect-state-icon",name:"rect-state-icon",draggable:!0})}},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},drawLabel:function(e,t){var n=this.getOptions(e),i=n.labelCfg,a=i===void 0?{}:i,o=n.logoIcon,s=o===void 0?{}:o,l=n.descriptionCfg,u=l===void 0?{}:l,f=this.getSize(e),c=f[0],h=null,d=s.show,p=s.width,v=-c/2+a.offset;d&&(v=-c/2+p+a.offset);var m=a.style,g=u.style,x=u.paddingTop;return(0,Af.isString)(e.description)?(h=t.addShape("text",{attrs:E(E({},m),{x:v,y:-5,text:e.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),t.shapeMap["text-shape"]=h,t.shapeMap["rect-description"]=t.addShape("text",{attrs:E(E({},g),{x:v,y:17+(x||0),text:e.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0})):(h=t.addShape("text",{attrs:E(E({},m),{x:v,y:7,text:e.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),t.shapeMap["text-shape"]=h),h},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,Af.mix)({},t,n),a=this.getSize(e),o=i.width||a[0],s=i.height||a[1],l=E({x:-o/2,y:-s/2,width:o,height:s},i);return l},update:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.style,a=i===void 0?{}:i,o=n.labelCfg,s=o===void 0?{}:o,l=n.descriptionCfg,u=l===void 0?{}:l,f=this.getSize(e),c=f[0],h=f[1],d=t.get("keyShape");d.attr(E(E({},a),{x:-c/2,y:-h/2,width:c,height:h}));var p=t.getContainer(),v=p.shapeMap["rect-logo-icon"]||p.find(function(_t){return _t.get("className")==="rect-logo-icon"}),m=v?v.attr():{},g=(0,Af.mix)({},m,e.logoIcon),x=g.width;x===void 0&&(x=this.options.logoIcon.width);var b=e.logoIcon?e.logoIcon.show:void 0,S=s.offset,C=-c/2+x+S;!b&&b!==void 0&&(C=-c/2+S);var w=p.shapeMap["node-label"]||p.find(function(_t){return _t.get("className")==="node-label"}),A=p.shapeMap["rect-description"]||p.find(function(_t){return _t.get("className")==="rect-description"});if(e.label)if(!w)p.shapeMap["node-label"]=p.addShape("text",{attrs:E(E({},s.style),{x:C,y:e.description?-5:7,text:e.label}),className:"node-label",name:"node-label",draggable:!0,labelRelated:!0});else{var I=e.labelCfg?e.labelCfg.style:{},P=(0,Af.mix)({},w.attr(),I);e.label&&(P.text=e.label),P.x=C,(0,Af.isString)(e.description)&&(P.y=-5),A&&(A.resetMatrix(),A.attr({x:C})),w.resetMatrix(),w.attr(P)}if((0,Af.isString)(e.description)){var L=u.paddingTop;if(!A)p.shapeMap["rect-description"]=p.addShape("text",{attrs:E(E({},u.style),{x:C,y:17+(L||0),text:e.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0});else{var I=e.descriptionCfg?e.descriptionCfg.style:{},M=(0,Af.mix)({},A.attr(),I);(0,Af.isString)(e.description)&&(M.text=e.description),M.x=C,A.resetMatrix(),A.attr(E(E({},M),{y:17+(L||0)}))}}var O=p.shapeMap["pre-rect"]||p.find(function(_t){return _t.get("className")==="pre-rect"});if(O&&!O.destroyed){var F=(0,Af.mix)({},O.attr(),e.preRect);O.attr(E(E({},F),{x:-c/2,y:-h/2,height:h}))}if(v&&!v.destroyed)if(!b&&b!==void 0)v.remove(),delete p.shapeMap["pre-rect"];else{var k=g.width,G=g.height,D=g.x,N=g.y,z=g.offset,j=rr(g,["width","height","x","y","offset"]);v.attr(E(E({},j),{x:D||-c/2+k+z,y:N||-G/2,width:k,height:G}))}else b&&this.drawLogoIcon(e,p);var W=p.shapeMap["rect-state-icon"]||p.find(function(_t){return _t.get("className")==="rect-state-icon"}),J=W?W.attr():{},et=(0,Af.mix)({},J,e.stateIcon);if(W){!et.show&&et.show!==void 0&&(W.remove(),delete p.shapeMap["rect-state-icon"]);var lt=et.width,G=et.height,D=et.x,N=et.y,$=et.offset,st=rr(et,["width","height","x","y","offset"]);W.attr(E(E({},st),{x:D||c/2-lt+$,y:N||-G/2,width:lt,height:G}))}else et.show&&this.drawStateIcon(e,p);this.updateLinkPoints(e,p)}},"single-node");var sT=U(q());Xo("star",{options:{size:60,style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"star",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("path",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.leftBottom,u=i.rightBottom,f=i.size,c=i.r,h=rr(i,["top","left","right","leftBottom","rightBottom","size","r"]),d=this.getSize(e),p=d[0];if(s){var v=Math.cos((18+72*0)/180*Math.PI)*p,m=Math.sin((18+72*0)/180*Math.PI)*p;t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-right",name:"link-point-right"})}if(a){var v=Math.cos((18+72*1)/180*Math.PI)*p,m=Math.sin((18+72*1)/180*Math.PI)*p;t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-top",name:"link-point-top"})}if(o){var v=Math.cos((18+72*2)/180*Math.PI)*p,m=Math.sin((18+72*2)/180*Math.PI)*p;t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-left",name:"link-point-left"})}if(l){var v=Math.cos((18+72*3)/180*Math.PI)*p,m=Math.sin((18+72*3)/180*Math.PI)*p;t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-left-bottom",name:"link-point-left-bottom"})}if(u){var v=Math.cos((18+72*4)/180*Math.PI)*p,m=Math.sin((18+72*4)/180*Math.PI)*p;t.shapeMap["link-point-right-bottom"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-right-bottom",name:"link-point-right-bottom"})}},getPath:function(e){for(var t=this.getSize(e),n=t[0],i=n*3/8,a=e.innerR||i,o=[],s=0;s<5;s++){var l=Math.cos((18+72*s)/180*Math.PI)*n,u=Math.sin((18+72*s)/180*Math.PI)*n,f=Math.cos((54+72*s)/180*Math.PI)*a,c=Math.sin((54+72*s)/180*Math.PI)*a;s===0?o.push(["M",l,-u]):o.push(["L",l,-u]),o.push(["L",f,-c])}return o.push(["Z"]),o},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,sT.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,sT.mix)({},a,l.attr(),s);u=(0,sT.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)},updateLinkPoints:function(e,t){var n=this.getOptions({}).linkPoints,i=t.shapeMap["link-point-left"]||t.find(function(M){return M.get("className")==="link-point-left"}),a=t.shapeMap["link-point-right"]||t.find(function(M){return M.get("className")==="link-point-right"}),o=t.shapeMap["link-point-top"]||t.find(function(M){return M.get("className")==="link-point-top"}),s=t.shapeMap["link-point-left-bottom"]||t.find(function(M){return M.get("className")==="link-point-left-bottom"}),l=t.shapeMap["link-point-left-bottom"]||t.find(function(M){return M.get("className")==="link-point-right-bottom"}),u=n,f=i||a||o||s||l;f&&(u=f.attr());var c=(0,sT.mix)({},u,e.linkPoints),h=c.fill,d=c.stroke,p=c.lineWidth,v=c.size/2;v||(v=c.r);var m=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,leftBottom:void 0,rightBottom:void 0},g=m.left,x=m.right,b=m.top,S=m.leftBottom,C=m.rightBottom,w=this.getSize(e),A=w[0],I={r:v,fill:h,stroke:d,lineWidth:p},P=Math.cos((18+72*0)/180*Math.PI)*A,L=Math.sin((18+72*0)/180*Math.PI)*A;a?!x&&x!==void 0?(a.remove(),delete t.shapeMap["link-point-right"]):a.attr(E(E({},I),{x:P,y:-L})):x&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},I),{x:P,y:-L}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),P=Math.cos((18+72*1)/180*Math.PI)*A,L=Math.sin((18+72*1)/180*Math.PI)*A,o?!b&&b!==void 0?(o.remove(),delete t.shapeMap["link-point-top"]):o.attr(E(E({},I),{x:P,y:-L})):b&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},I),{x:P,y:-L}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),P=Math.cos((18+72*2)/180*Math.PI)*A,L=Math.sin((18+72*2)/180*Math.PI)*A,i?!g&&g!==void 0?(i.remove(),delete t.shapeMap["link-point-left"]):i.attr(E(E({},I),{x:P,y:-L})):g&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},I),{x:P,y:-L}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),P=Math.cos((18+72*3)/180*Math.PI)*A,L=Math.sin((18+72*3)/180*Math.PI)*A,s?!S&&S!==void 0?(s.remove(),delete t.shapeMap["link-point-left-bottom"]):s.attr(E(E({},I),{x:P,y:-L})):S&&(t.shapeMap["link-point-left-bottom"]=t.addShape("circle",{attrs:E(E({},I),{x:P,y:-L}),className:"link-point-left-bottom",name:"link-point-left-bottom",isAnchorPoint:!0})),P=Math.cos((18+72*4)/180*Math.PI)*A,L=Math.sin((18+72*4)/180*Math.PI)*A,l?!C&&C!==void 0?(s.remove(),delete t.shapeMap["link-point-right-bottom"]):l.attr(E(E({},I),{x:P,y:-L})):C&&(t.shapeMap["link-point-right-bottom"]=t.addShape("circle",{attrs:E(E({},I),{x:P,y:-L}),className:"link-point-right-bottom",name:"link-point-right-bottom",isAnchorPoint:!0}))}},"single-node");var oF=U(q()),lT=Pa.defaultSubjectColors;Xo("donut",{options:{size:ze.defaultNode.size,style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=(0,oF.deepMix)({},i,e.icon),s=t.addShape("circle",{attrs:a,className:"".concat(this.type,"-keyShape"),draggable:!0,name:"".concat(this.type,"-keyShape")});t.shapeMap["".concat(this.type,"-keyShape")]=s;var l=o.width,u=o.height,f=o.show,c=o.text;f&&(c?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-l/2,y:-u/2},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}));var h=s.attr("r"),d=.6*h,p=(h+d)/2,v=e,m=v.donutAttrs,g=m===void 0?{}:m,x=v.donutColorMap,b=x===void 0?{}:x,S=Object.keys(g).length;if(g&&S>1){var C=[],w=0;if(Object.keys(g).forEach(function(L){var M=g[L]||0;!(0,oF.isNumber)(M)||(C.push({key:L,value:M,color:b[L]}),w+=M)}),w){var A=h-d;if(S===1){t.shapeMap["fan-shape-0"]=t.addShape("circle",{attrs:{r:p,x:0,y:0,stroke:C[0].color||lT[0],lineWidth:A},name:"fan-shape-0"});return}var I=[p,0],P=0;C.forEach(function(L,M){var O=L.value/w;if(!(O<.001)){if(O>.999&&(O=1),O===1){t.shapeMap["fan-shape-".concat(M)]=t.addShape("circle",{attrs:{r:p,x:0,y:0,stroke:L.color||lT[M%lT.length],lineWidth:A},name:"fan-shape-".concat(M)});return}L.percent=O,L.angle=O*Math.PI*2,L.beginAgnle=P,P+=L.angle,L.endAngle=P,L.arcBegin=I,L.arcEnd=[p*Math.cos(L.endAngle),-p*Math.sin(L.endAngle)];var F=L.angle>Math.PI?1:0,k=[["M",L.arcBegin[0],L.arcBegin[1]],["A",p,p,0,F,0,L.arcEnd[0],L.arcEnd[1]],["L",L.arcEnd[0],L.arcEnd[1]]];t.shapeMap["fan-shape-".concat(M)]=t.addShape("path",{attrs:{path:k,lineWidth:A,stroke:L.color||lT[M%lT.length]},name:"fan-shape-".concat(M)}),I=L.arcEnd}})}}return this.drawLinkPoints(e,t),s},update:void 0},"circle");var ll=U(q());var sF=function(e){var t=e.x,n=e.y;return{x:t,y:n,centerX:t,centerY:n,minX:t,minY:n,maxX:t,maxY:n,height:0,width:0}},xpe=function(e){e===void 0&&(e=[]);var t=[],n=[];e.forEach(function(l){t.push(l.x),n.push(l.y)});var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),o=Math.min.apply(Math,n),s=Math.max.apply(Math,n);return{centerX:(i+a)/2,centerY:(o+s)/2,maxX:a,maxY:s,minX:i,minY:o,height:s-o,width:a-i}};var TX=function(e){for(var t=[],n={},i=e.length,a=i-1;a>=0;a--){var o=e[a];o.id="".concat(o.x,"|||").concat(o.y),n[o.id]=o,t.push(o)}return t},IX=function(e){return TX(e)};var uT=function(e,t){return e.width||e.height?{centerX:e.centerX,centerY:e.centerY,minX:e.minX-t,minY:e.minY-t,maxX:e.maxX+t,maxY:e.maxY+t,height:e.height+2*t,width:e.width+2*t}:e},bpe=function(e,t){var n=Math.abs(e.x-t.centerX),i=Math.abs(e.y-t.centerY);return n===0&&i===0?0:n/t.width>i/t.height},lF=function(e,t,n){var i=bpe(t,e);if(i===0){var a=e.centerX,o=e.centerY;return n.yt.x?a=e.maxX:n.xe.centerX?e.maxX:e.minX,y:t.y}:{x:t.x,y:t.y>e.centerY?e.maxY:e.minY}},pEt=function(e,t){var n=Math.min(e.minX,t.minX),i=Math.min(e.minY,t.minY),a=Math.max(e.maxX,t.maxX),o=Math.max(e.maxY,t.maxY);return{centerX:(n+a)/2,centerY:(i+o)/2,minX:n,minY:i,maxX:a,maxY:o,height:o-i,width:a-n}},LX=function(e){return[{x:e.minX,y:e.minY},{x:e.maxX,y:e.minY},{x:e.maxX,y:e.maxY},{x:e.minX,y:e.maxY}]},uF=function(e,t){var n=e.x,i=e.y;return nt.maxX||it.maxY},_pe=function(e,t){return te.maxX?[]:[{x:t,y:e.minY},{x:t,y:e.maxY}]},Spe=function(e,t){return te.maxY?[]:[{x:e.minX,y:t},{x:e.maxX,y:t}]},Cpe=function(e,t){return _pe(e,t.x).concat(Spe(e,t.y))},fT=function(e,t){return Math.abs(e.x-t.x)+Math.abs(e.y-t.y)},wpe=function(e,t){var n=-2,i=0;return t.forEach(function(a){a&&(e.x===a.x&&(i+=n),e.y===a.y&&(i+=n))}),i},vEt=function(e,t,n,i,a){return fT(e,t)+fT(e,n)+wpe(e,[t,n,i,a])},Epe=function r(e,t,n,i,a){a===void 0&&(a=0),e.unshift(t[i]),n[i]&&n[i]!==i&&a<=100&&r(e,t,n,n[i],a+1)},Ape=function(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)},fF=function(e,t,n,i){var a=n.x-e.x,o=n.y-e.y,s=i.x-e.x,l=i.y-e.y,u=n.x-t.x,f=n.y-t.y,c=i.x-t.x,h=i.y-t.y,d=a*l-o*s,p=u*h-f*c,v=a*f-o*u,m=s*h-l*c;return d*p<=0&&v*m<=0},cF=function(e,t,n){if(n.width||n.height){var i=LX(n),a=i[0],o=i[1],s=i[2],l=i[3];return fF(e,t,a,o)||fF(e,t,a,l)||fF(e,t,o,s)||fF(e,t,s,l)}return!1},Mpe=function(e,t,n,i){var a=[];return e.forEach(function(o){if(o!==t&&(o.x===t.x||o.y===t.y)){if(cF(o,t,n)||cF(o,t,i))return;a.push(o)}}),TX(a)},Tpe=function(e,t,n,i,a,o,s){var l=[],u=[t],f={},c={},h={};c[t.id]=0,h[t.id]=vEt(t,n,t);var d={};e.forEach(function(g){d[g.id]=g});for(var p,v;u.length;){if(p=void 0,v=1/0,u.forEach(function(g){h[g.id]<=v&&(v=h[g.id],p=g)}),p===n){var m=[];return Epe(m,d,f,n.id),m}Ape(u,p),l.push(p),Mpe(e,p,i,a).forEach(function(g){if(l.indexOf(g)===-1){u.indexOf(g)===-1&&u.push(g);var x=h[p.id]+fT(p,g);c[g.id]&&x>=c[g.id]||(f[g.id]=p.id,c[g.id]=x,h[g.id]=c[g.id]+vEt(g,n,t,o,s))}})}return[t,n]},Ipe=function(e,t,n){return!(e.x===t.x&&t.x===n.x||e.y===t.y&&t.y===n.y)},Lpe=function(e,t,n,i){var a=fT(e,t),o=fT(n,t);aMath.PI?2*Math.PI-n:n},yEt=function(e,t,n){for(var i=1/0,a=0,o=t.length;au.minX&&t.xu.minY&&t.y0&&S>0&&(w=void 0,A=1/0,Object.keys(d).forEach(function(F){var k=d[F].id;g[k]<=A&&(A=g[k],w=d[k])}),!!w);){if(h.findIndex(function(F){return F.x===w.x&&F.y===w.y})>-1)return Fpe(w,v,u,t,e,f,s);delete d[w.id],p[w.id]=!0;for(var x=0;xo.maxAllowedDirectionChange)&&(l[P.id]||(d[P.id]||(d[P.id]=P),L=o.distFunc(w,P)+(isNaN(C[O])?s:C[O]),M=m[w.id]+L,!(m[P.id]&&M>=m[P.id])&&(v[P.id]=w,m[P.id]=M,g[P.id]=M+yEt(P,h,o.distFunc)))));S-=1}return o.fallbackRoute(e,t,n,i,o)};Ok("polyline",{options:{color:ze.defaultEdge.color,size:ze.defaultEdge.size,style:{radius:0,offset:15,x:0,y:0,stroke:ze.defaultEdge.style.stroke,lineAppendWidth:ze.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:ze.edgeLabel.style.fill,fontSize:ze.edgeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},routeCfg:{obstacles:[],maxAllowedDirectionChange:Math.PI,maximumLoops:500,gridSize:10},stateStyles:E({},ze.edgeStateStyles)},shapeType:"polyline",labelPosition:"center",drawShape:function(e,t){var n=this.getShapeStyle(e);n.radius===0&&delete n.radius;var i=t.addShape("path",{className:"edge-shape",name:"edge-shape",attrs:n});return t.shapeMap["edge-shape"]=i,i},getShapeStyle:function(e){var t=this.options.style,n={stroke:e.color},i=(0,ll.mix)({},t,n,e.style);e=this.getPathPoints(e),this.radius=i.radius,this.offset=i.offset;var a=e.startPoint,o=e.endPoint,s=this.getControlPoints(e),l=[a];s&&(l=l.concat(s)),l.push(o);var u=e.sourceNode,f=e.targetNode,c=i.radius,h=this.options.routeCfg,d=(0,ll.mix)({},h,e.routeCfg);d.offset=i.offset;var p=this.getPath(l,u,f,c,d);((0,ll.isArray)(p)&&p.length<=1||(0,ll.isString)(p)&&p.indexOf("L")===-1)&&(p="M0 0, L0 0"),(isNaN(a.x)||isNaN(a.y)||isNaN(o.x)||isNaN(o.y))&&(p="M0 0, L0 0");var v=(0,ll.mix)({},ze.defaultEdge.style,i,{lineWidth:e.size,path:p});return v},updateShapeStyle:function(e,t){var n=t.getContainer();if(!!t.isVisible()){var i={stroke:e.color},a=n.shapeMap["edge-shape"]||n.find(function(S){return S.get("className")==="edge-shape"})||t.getKeyShape(),o=e.size;e=this.getPathPoints(e);var s=e.startPoint,l=e.endPoint,u=this.getControlPoints(e),f=[s];u&&(f=f.concat(u)),f.push(l);var c=a.attr(),h=(0,ll.mix)({},i,c,e.style),d=e.sourceNode,p=e.targetNode,v=h.radius,m=this.options.routeCfg,g=(0,ll.mix)({},m,e.routeCfg);g.offset=h.offset;var x=this.getPath(f,d,p,v,g);((0,ll.isArray)(x)&&x.length<=1||(0,ll.isString)(x)&&x.indexOf("L")===-1)&&(x="M0 0, L0 0"),(isNaN(s.x)||isNaN(s.y)||isNaN(l.x)||isNaN(l.y))&&(x="M0 0, L0 0"),c.endArrow&&h.endArrow===!1&&(e.style.endArrow={path:""}),c.startArrow&&h.startArrow===!1&&(e.style.startArrow={path:""});var b=(0,ll.mix)(i,a.attr(),{lineWidth:o,path:x},e.style);a&&a.attr(b)}},getPath:function(e,t,n,i,a){var o=a.offset,s=a.simple;if(!o||e.length>2){if(i)return OX(e,i);var l=[];return(0,ll.each)(e,function(h,d){d===0?l.push(["M",h.x,h.y]):l.push(["L",h.x,h.y])}),l}var u=s?hF(e[e.length-1],e[0],n,t,o):bEt(e[0],e[e.length-1],t,n,a);if(!u||!u.length)return"M0 0, L0 0";if(i){var f=OX(u,i);return f}var c=Pa.pointsToPolygon(u);return c}},"single-edge");var $Et=U(q());var _Et=al.cloneEvent,SEt=al.isNaN,CEt=Math.abs,Bpe=10,Gpe=["shift","ctrl","alt","control"],wEt={getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,scalableRange:0,allowDragOnItem:!1}},getEvents:function(){return{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"onMouseUp",keyup:"onKeyUp",focus:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onMouseUp"}},updateViewport:function(e){var t=this.origin,n=+e.clientX,i=+e.clientY;if(!(SEt(n)||SEt(i))){var a=n-t.x,o=i-t.y;this.get("direction")==="x"?o=0:this.get("direction")==="y"&&(a=0),this.origin={x:n,y:i};var s=this.graph.get("width"),l=this.graph.get("height"),u=this.graph.get("canvas").getCanvasBBox(),f=this.scalableRange,c=this.scalableRange;f<1&&f>-1&&(f=s*f,c=l*c),(u.minX<=s+f&&u.minX+a>s+f||u.maxX+f>=0&&u.maxX+f+a<0)&&(a=0),(u.minY<=l+c&&u.minY+o>l+c||u.maxY+c>=0&&u.maxY+c+o<0)&&(o=0),this.graph.translate(a,o)}},onTouchStart:function(e){var t=this,n=e.originalEvent.touches,i=n[0],a=n[1];i&&a||(e.preventDefault(),t.onMouseDown(e))},onMouseDown:function(e){var t=this,n=e.originalEvent;if(!(n&&e.name!==rM.TOUCHSTART&&n.button!==0)&&!(e.name!==rM.TOUCHSTART&&typeof window!="undefined"&&window.event&&!window.event.buttons&&!window.event.button)&&!!this.shouldBegin.call(this,e)&&!t.keydown){var i=e.target,a=i&&i.isCanvas&&i.isCanvas();if(!(!this.allowDragOnItem&&!a)&&(t.origin={x:e.clientX,y:e.clientY},t.dragging=!1,this.enableOptimize)){for(var o=this.graph,s=o.getEdges(),l=0,u=s.length;ll)for(var d=i.getNodes(),p=0,v=d.length;p-1?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){this.keydown=!1,this.origin=null,this.dragging=!1,this.dragbegin=!1}};var dx=U(q());var EEt={getDefaultCfg:function(){return{updateEdge:!0,delegateStyle:{},enableDelegate:!1,onlyChangeComboSize:!1,comboActiveState:"",selectedState:"selected",enableOptimize:!1,enableDebounce:!1,enableStack:!0}},getEvents:function(){return{"node:dragstart":"onDragStart","node:drag":"onDrag","node:dragend":"onDragEnd","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave","combo:drop":"onDropCombo","node:drop":"onDropNode","canvas:drop":"onDropCanvas",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onDragEnd"}},validationCombo:function(e){if(!this.origin||!e||e.destroyed)return!1;var t=e.getType();return t==="combo"},onTouchStart:function(e){if(!!e.item){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.onDragStart(e)}},onTouchMove:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a){t.onDragEnd(e);return}e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.onDrag(e)},onDragStart:function(e){var t=this;if(this.currentShouldEnd=!0,!!this.shouldBegin.call(this,e)){var n=e.item;if(!(!n||n.destroyed||n.hasLocked())){var i=n.getContainer();i.set("capture",!1),this.cachedCaptureItems||(this.cachedCaptureItems=[]),this.cachedCaptureItems.push(n);var a=e.target;if(a){var o=a.get("isAnchorPoint");if(o)return}var s=this.graph;this.targets=[],this.targetCombo=null;var l=s.findAllByState("node",this.selectedState),u=n.get("id"),f=l.filter(function(h){var d=h.get("id");return u===d});f.length===0?this.targets.push(n):l.length>1?l.forEach(function(h){var d=h.hasLocked();d||t.targets.push(h)}):this.targets.push(n);var c=[];this.targets.forEach(function(h){c.push((0,dx.clone)(h.getModel()))}),this.set("beforeDragNodes",c),this.hidenEdge={},this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach(function(h){var d=h.getEdges();d.forEach(function(p){!p.isVisible()||(t.hidenEdge[p.getID()]=!0,p.hide())})}),this.origin={x:e.x,y:e.y},this.point={},this.originPoint={}}}},onDrag:function(e){var t=this;!this.origin||!this.shouldUpdate.call(this,e)||(this.get("enableDelegate")?this.updateDelegate(e):this.enableDebounce?this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:e,updateEdge:this.get("updateEdge")}):this.targets.map(function(n){t.update(n,e)}))},onDragEnd:function(e){var t=this,n;if(!!this.origin){(n=this.cachedCaptureItems)===null||n===void 0||n.forEach(function(o){var s=o.getContainer();s.set("capture",!0)}),this.cachedCaptureItems=[],this.delegateRect&&(this.delegateRect.remove(),this.delegateRect=null),this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach(function(o){var s=o.getEdges();s.forEach(function(l){t.hidenEdge[l.getID()]&&l.show(),l.refresh()})}),this.hidenEdge={};var i=this.graph;if(i.get("enabledStack")&&this.enableStack){var a={before:{nodes:[],edges:[],combos:[]},after:{nodes:[],edges:[],combos:[]}};this.get("beforeDragNodes").forEach(function(o){a.before.nodes.push({id:o.id,x:o.x,y:o.y})}),this.targets.forEach(function(o){var s=o.getModel();a.after.nodes.push({id:s.id,x:s.x,y:s.y})}),i.pushStack("update",(0,dx.clone)(a))}i.emit("dragnodeend",{items:this.targets,targetItem:null}),this.point={},this.origin=null,this.originPoint={},this.targets.length=0,this.targetCombo=null}},onDropCombo:function(e){var t=e.item;if(this.currentShouldEnd=this.shouldEnd.call(this,e,t),this.updatePositions(e,!this.currentShouldEnd),!(!this.currentShouldEnd||!this.validationCombo(t))){var n=this.graph;if(this.comboActiveState&&n.setItemState(t,this.comboActiveState,!1),this.targetCombo=t,this.onlyChangeComboSize)n.updateCombos();else{var i=t.getModel();this.targets.map(function(a){var o=a.getModel();o.comboId!==i.id&&n.updateComboTree(a,i.id)}),n.updateCombo(t)}n.emit("dragnodeend",{items:this.targets,targetItem:this.targetCombo})}},onDropCanvas:function(e){var t=this.graph;this.currentShouldEnd=this.shouldEnd.call(this,e,void 0),this.updatePositions(e,!this.currentShouldEnd),!(!this.targets||this.targets.length===0||!this.currentShouldEnd)&&(this.onlyChangeComboSize?t.updateCombos():this.targets.map(function(n){var i=n.getModel();i.comboId&&t.updateComboTree(n)}))},onDropNode:function(e){if(!(!this.targets||this.targets.length===0)){var t=this,n=e.item,i=t.graph,a=n.getModel().comboId,o=a?i.findById(a):void 0;if(this.currentShouldEnd=this.shouldEnd.call(this,e,o),this.updatePositions(e,!this.currentShouldEnd),!!this.currentShouldEnd){if(this.onlyChangeComboSize)i.updateCombos();else if(a){var s=i.findById(a);t.comboActiveState&&i.setItemState(s,t.comboActiveState,!1),this.targets.map(function(l){var u=l.getModel();a!==u.comboId&&i.updateComboTree(l,a)}),i.updateCombo(s)}else this.targets.map(function(l){var u=l.getModel();u.comboId&&i.updateComboTree(l)});i.emit("dragnodeend",{items:this.targets,targetItem:n})}}},onDragEnter:function(e){var t=e.item;if(!!this.validationCombo(t)){var n=this.graph;this.comboActiveState&&n.setItemState(t,this.comboActiveState,!0)}},onDragLeave:function(e){var t=e.item;if(!!this.validationCombo(t)){var n=this.graph;this.comboActiveState&&n.setItemState(t,this.comboActiveState,!1)}},updatePositions:function(e,t){var n=this;!this.targets||this.targets.length===0||(this.get("enableDelegate")?this.enableDebounce?this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:e,updateEdge:this.get("updateEdge"),updateFunc:this.update}):t||this.targets.map(function(i){return n.update(i,e)}):this.targets.map(function(i){return n.update(i,e,t)}))},update:function(e,t,n){var i=this.origin,a=e.get("model"),o=e.get("id");this.point[o]||(this.point[o]={x:a.x||0,y:a.y||0});var s=t.x-i.x+this.point[o].x,l=t.y-i.y+this.point[o].y;n&&(s+=i.x-t.x,l+=i.y-t.y);var u={x:s,y:l};this.get("updateEdge")?this.graph.updateItem(e,u,!1):e.updatePosition(u)},debounceUpdate:(0,dx.debounce)(function(r){var e=r.targets,t=r.graph,n=r.point,i=r.origin,a=r.evt,o=r.updateEdge,s=r.updateFunc;e.map(function(l){var u=l.get("model"),f=l.get("id");n[f]||(n[f]={x:u.x||0,y:u.y||0});var c=a.x-i.x+n[f].x,h=a.y-i.y+n[f].y,d={x:c,y:h};o?t.updateItem(l,d,!1):l.updatePosition(d)})},50,!0),updateDelegate:function(e){var t=this.graph;if(this.delegateRect){var h=e.x-this.origin.x+this.originPoint.minX,d=e.y-this.origin.y+this.originPoint.minY;this.delegateRect.attr({x:h,y:d})}else{var n=t.get("group"),i=(0,dx.deepMix)({},_c.delegateStyle,this.delegateStyle),a=this.calculationGroupPosition(e),o=a.x,s=a.y,l=a.width,u=a.height,f=a.minX,c=a.minY;this.originPoint={x:o,y:s,width:l,height:u,minX:f,minY:c},this.delegateRect=n.addShape("rect",{attrs:E({width:l,height:u,x:o,y:s},i),name:"rect-delegate-shape"}),this.delegate=this.delegateRect,this.delegateRect.set("capture",!1)}},calculationGroupPosition:function(e){var t=this.targets;t.length===0&&t.push(e.item);for(var n=1/0,i=-1/0,a=1/0,o=-1/0,s=0;si&&(i=h),d>o&&(o=d)}var p=Math.floor(n),v=Math.floor(a),m=Math.ceil(i)-Math.floor(n),g=Math.ceil(o)-Math.floor(a);return{x:p,y:v,width:m,height:g,minX:n,minY:a}}};var AEt={getDefaultCfg:function(){return{trigger:"mouseenter",activeState:"active",inactiveState:"inactive",resetSelected:!1,shouldUpdate:function(){return!0}}},getEvents:function(){return this.get("trigger")==="mouseenter"?{"node:mouseenter":"setAllItemStates","combo:mouseenter":"setAllItemStates","node:mouseleave":"clearActiveState","combo:mouseleave":"clearActiveState"}:{"node:click":"setAllItemStates","combo:click":"setAllItemStates","canvas:click":"clearActiveState","node:touchstart":"setOnTouchStart","combo:touchstart":"setOnTouchStart","canvas:touchstart":"clearOnTouchStart"}},setOnTouchStart:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.setAllItemStates(e)},clearOnTouchStart:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.clearActiveState(e)},setAllItemStates:function(e){var t=e.item,n=this.graph;if(this.item=t,!!this.shouldUpdate(e.item,{event:e,action:"activate"})){for(var i=this,a=this.activeState,o=this.inactiveState,s=n.getNodes(),l=n.getCombos(),u=n.getEdges(),f=n.get("vedges"),c=s.length,h=l.length,d=u.length,p=f.length,v=0;v-1||(this.trigger=IEt,console.warn("Behavior brush-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),this.trigger==="drag"?{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates"}:{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates",keyup:"onKeyUp",keydown:"onKeyDown"}},onMouseDown:function(e){var t=e.item,n=this.brush;t||this.trigger!=="drag"&&!this.keydown||(this.selectedNodes&&this.selectedNodes.length!==0&&this.clearStates(),n||(n=this.createBrush()),this.originPoint={x:e.canvasX,y:e.canvasY},n.attr({width:0,height:0}),n.show(),this.dragging=!0)},onMouseMove:function(e){!this.dragging||this.trigger!=="drag"&&!this.keydown||this.updateBrush(e)},onMouseUp:function(e){var t=this.graph;!this.brush&&!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.brush.remove(!0),this.brush=null,this.getSelectedNodes(e),this.dragging=!1)},clearStates:function(){var e=this,t=e.graph,n=e.selectedState,i=t.findAllByState("node",n),a=t.findAllByState("edge",n);i.forEach(function(o){return t.setItemState(o,n,!1)}),a.forEach(function(o){return t.setItemState(o,n,!1)}),this.selectedNodes=[],this.selectedEdges=[],this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges),t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[]},select:!1})},getSelectedNodes:function(e){var t=this,n=this,i=n.graph,a=n.originPoint,o=n.shouldUpdate,s=this.selectedState,l={x:e.x,y:e.y},u=i.getPointByCanvas(a.x,a.y),f=dF(l.x,u.x),c=MEt(l.x,u.x),h=dF(l.y,u.y),d=MEt(l.y,u.y),p=[],v=[];i.getNodes().forEach(function(g){if(!!g.isVisible()){var x=g.getBBox();if(x.centerX>=f&&x.centerX<=c&&x.centerY>=h&&x.centerY<=d&&o(g,"select")){p.push(g);var b=g.getModel();v.push(b.id),i.setItemState(g,s,!0)}}});var m=[];this.includeEdges&&p.forEach(function(g){var x=g.getOutEdges();x.forEach(function(b){if(!!b.isVisible()){var S=b.getModel(),C=S.source,w=S.target;v.includes(C)&&v.includes(w)&&o(b,"select")&&(m.push(b),i.setItemState(b,t.selectedState,!0))}})}),this.selectedEdges=m,this.selectedNodes=p,this.onSelect&&this.onSelect(p,m),i.emit("nodeselectchange",{selectedItems:{nodes:p,edges:m},select:!0})},createBrush:function(){var e=this,t=e.graph.get("canvas").addShape("rect",{attrs:e.brushStyle,capture:!1,name:"brush-shape"});return this.brush=t,this.delegate=t,t},updateBrush:function(e){var t=this.originPoint;this.brush.attr({width:TEt(e.canvasX-t.x),height:TEt(e.canvasY-t.y),x:dF(e.canvasX,t.x),y:dF(e.canvasY,t.y)})},onKeyDown:function(e){var t=e.key;if(!!t){var n=this.trigger.toLowerCase(),i=t.toLowerCase();i===n||i==="control"&&n==="ctrl"||i==="ctrl"&&n==="control"?this.keydown=!0:this.keydown=!1}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.keydown=!1}};var pF=U(q()),OEt="shift",Upe=["shift","ctrl","alt","control"],DEt={getDefaultCfg:function(){return{multiple:!0,trigger:OEt,selectedState:"selected"}},getEvents:function(){var e=this;return Upe.indexOf(e.trigger.toLowerCase())>-1||(e.trigger=OEt,console.warn("Behavior brush-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),e.multiple?{"node:click":"onClick","combo:click":"onClick","canvas:click":"onCanvasClick",keyup:"onKeyUp",keydown:"onKeyDown"}:{"node:click":"onClick","combo:click":"onClick","canvas:click":"onCanvasClick"}},onClick:function(e){var t=this,n=e.item;if(!(!n||n.destroyed)){var i=n.getType(),a=t.graph,o=t.keydown,s=t.multiple,l=t.shouldUpdate,u=t.shouldBegin;if(!!u.call(t,e)){if(!o||!s){var f=a.findAllByState("node",t.selectedState).concat(a.findAllByState("combo",t.selectedState));(0,pF.each)(f,function(d){d!==n&&a.setItemState(d,t.selectedState,!1)})}if(n.hasState(t.selectedState)){l.call(t,e)&&a.setItemState(n,t.selectedState,!1);var c=a.findAllByState("node",t.selectedState),h=a.findAllByState("combo",t.selectedState);a.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,combos:h},select:!1})}else{l.call(t,e)&&a.setItemState(n,t.selectedState,!0);var c=a.findAllByState("node",t.selectedState),h=a.findAllByState("combo",t.selectedState);a.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,combos:h},select:!0})}}}},onCanvasClick:function(){var e=this,t=this.graph,n=t.findAllByState("node",this.selectedState);(0,pF.each)(n,function(a){t.setItemState(a,e.selectedState,!1)});var i=t.findAllByState("combo",this.selectedState);(0,pF.each)(i,function(a){t.setItemState(a,e.selectedState,!1)}),t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[],combos:[]},select:!1})},onKeyDown:function(e){var t=this,n=e.key;!n||(n.toLowerCase()===this.trigger.toLowerCase()||n.toLowerCase()==="control"?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){var e=this;e.keydown=!1}};var PEt=U(q()),jpe=gr.transform,kEt=.05,REt={getDefaultCfg:function(){return{sensitivity:2,minZoom:void 0,maxZoom:void 0,enableOptimize:!1,optimizeZoom:.1,fixSelectedItems:{fixAll:!1,fixLineWidth:!1,fixLabel:!1,fixState:"selected"},animate:!1,animateCfg:{duration:500}}},getEvents:function(){var e=this.fixSelectedItems;return e.fixState||(e.fixState="selected"),e.fixAll&&(e.fixLineWidth=!0,e.fixLabel=!0),{wheel:"onWheel",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd"}},onTouchStart:function(e){var t=e.originalEvent.touches,n=t[0],i=t[1];e.preventDefault(),!!i&&(this.shouldBegin&&!this.shouldBegin.call(this,e)||(this.startPoint={pageX:n.pageX,pageY:n.pageY},this.moveable=!0,i&&(this.endPoint={pageX:i.pageX,pageY:i.pageY}),this.originScale=this.graph.getZoom()||this.currentScale||1))},onTouchMove:function(e){if(!!this.moveable){e.preventDefault();var t=e.originalEvent.touches,n=t[0],i=t[1];if(!!i){this.endPoint||(this.endPoint={pageX:i.pageX,pageY:i.pageY});var a=function(v,m){return Math.hypot(m.x-v.x,m.y-v.y)},o=a({x:n.pageX,y:n.pageY},{x:i.pageX,y:i.pageY})/a({x:this.startPoint.pageX,y:this.startPoint.pageY},{x:this.endPoint.pageX,y:this.endPoint.pageY}),s=this.originScale*o;this.currentScale=s;var l=this.get("minZoom")||this.graph.get("minZoom"),u=this.get("maxZoom")||this.graph.get("maxZoom");if(!(s>u||sd||ci/2?f-=h.width:f+=this.offset,c>a/2?c-=h.height:c+=this.offset;var d="".concat(f,"px"),p="".concat(c,"px");yr(this.container,{left:d,top:p,visibility:"visible"})},createTooltip:function(e){var t=e.get("el");t.style.position="relative";var n=en('
      '));return t.parentNode.appendChild(n),yr(n,{position:"absolute",visibility:"visible"}),this.width=e.get("width"),this.height=e.get("height"),this.container=n,this.graph.get("tooltips").push(n),n}};var NEt=E({getDefaultCfg:function(){return{item:"node",offset:12,formatText:function(t){return t.label}}},getEvents:function(){return{"node:mouseenter":"onMouseEnter","node:mouseleave":"onMouseLeave","node:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},vF);var FEt=E({getDefaultCfg:function(){return{item:"edge",offset:12,formatText:function(t){return"source: ".concat(t.source," target: ").concat(t.target)}}},getEvents:function(){return{"edge:mouseenter":"onMouseEnter","edge:mouseleave":"onMouseLeave","edge:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},vF);var BEt="click",Wpe=["click","dblclick"],GEt={getDefaultCfg:function(){return{trigger:BEt,onChange:function(){}}},getEvents:function(){var e,t;return Wpe.includes(this.trigger)?t=this.trigger:(t=BEt,console.warn("Behavior collapse-expand \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click' \u6216 'dblclick'")),e={},e["node:".concat(t)]="onNodeClick",e.touchstart="onNodeClick",e},onNodeClick:function(e){var t=e.item;if(!!t){var n=this.graph.findDataById(t.get("id"));if(!!n){var i=n.children;if(!(!i||i.length===0)){var a=!n.collapsed;!this.shouldBegin(e,a)||(n.collapsed=a,t.getModel().collapsed=a,this.graph.emit("itemcollapsed",{item:e.item,collapsed:a}),!!this.shouldUpdate(e,a)&&(this.onChange(t,a),this.graph.layout()))}}}}};var LS=U(q());var Vpe=al.calculationItemsBBox,Hpe=function r(e,t){if(t(e)!==!1&&e){var n=e.get("combos");if(n.length===0)return!1;(0,LS.each)(n,function(i){r(i,t)})}},zEt={getDefaultCfg:function(){return{enableDelegate:!1,delegateStyle:{},onlyChangeComboSize:!1,activeState:"",selectedState:"selected"}},getEvents:function(){return{"combo:dragstart":"onDragStart","combo:drag":"onDrag","combo:dragend":"onDragEnd","combo:drop":"onDrop","node:drop":"onNodeDrop","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave"}},validationCombo:function(e){var t=e.item;if(!t||t.destroyed||!this.shouldUpdate.call(this,e))return!1;var n=t.getType();return n==="combo"},onDragStart:function(e){var t=this,n=this.graph,i=e.item;if(this.currentShouldEnd=!0,!!this.validationCombo(e)){this.targets=[];var a=n.findAllByState("combo",this.selectedState),o=i.get("id"),s=a.filter(function(l){var u=l.get("id");return o===u});s.length===0?this.targets.push(i):this.targets=a,this.activeState&&this.targets.map(function(l){var u=l.getModel();if(u.parentId){var f=n.findById(u.parentId);f&&n.setItemState(f,t.activeState,!0)}}),this.point={},this.originPoint={},this.origin={x:e.x,y:e.y},this.currentItemChildCombos=[],Hpe(i,function(l){if(l.destroyed)return!1;var u=l.getModel();return t.currentItemChildCombos.push(u.id),!0})}},onDrag:function(e){var t=this;if(!!this.origin&&!!this.validationCombo(e))if(this.enableDelegate)this.updateDelegate(e);else{if(this.activeState){var n=this.graph,i=e.item,a=i.getModel(),o=n.getCombos(),s=i.getBBox(),l=s.centerX,u=s.centerY,f=s.width,c=o.filter(function(h){var d=h.getModel();return a.parentId,d.id!==a.id&&!t.currentItemChildCombos.includes(d.id)});c.map(function(h){var d=h.getBBox(),p=d.centerX,v=d.centerY,m=d.width,g=l-p,x=u-v,b=2*Math.sqrt(g*g+x*x);f+m-b>.8*f?n.setItemState(h,t.activeState,!0):n.setItemState(h,t.activeState,!1)})}(0,LS.each)(this.targets,function(h){t.updateCombo(h,e)})}},updatePositions:function(e,t){var n=this;(this.enableDelegate||t)&&(0,LS.each)(this.targets,function(i){n.updateCombo(i,e,t)})},onDrop:function(e){var t=this,n=e.item;if(this.currentShouldEnd=this.shouldEnd.call(this,e,n),this.updatePositions(e,!this.currentShouldEnd),!(!this.currentShouldEnd||!n||!this.targets||n.destroyed)){var i=this.graph,a=n.getModel();this.targets.map(function(o){var s=o.getModel();s.parentId!==a.id?(t.activeState&&i.setItemState(n,t.activeState,!1),t.onlyChangeComboSize?i.updateCombo(o):i.updateComboTree(o,a.id)):i.updateCombo(n)}),this.end(n,e),this.endComparison=!0}},onNodeDrop:function(e){var t=this;if(!(!this.targets||this.targets.length===0)){var n=this.graph,i=e.item,a=i.getModel().comboId,o=a?n.findById(a):void 0;if(this.currentShouldEnd=this.shouldEnd.call(this,e,o),this.updatePositions(e,!this.currentShouldEnd),!!this.currentShouldEnd){var s;if(a){if(this.activeState){var l=n.findById(a);n.setItemState(l,this.activeState,!1)}this.targets.map(function(u){t.onlyChangeComboSize?n.updateCombo(u):a!==u.getID()&&(s=n.findById(a),a!==u.getModel().parentId&&n.updateComboTree(u,a))})}else this.targets.map(function(u){if(t.onlyChangeComboSize)n.updateCombo(u);else{var f=u.getModel();f.comboId&&n.updateComboTree(u)}});this.endComparison=!0,this.end(s,e)}}},onDragEnter:function(e){if(!!this.origin&&!!this.validationCombo(e)){var t=e.item,n=this.graph;this.activeState&&n.setItemState(t,this.activeState,!0)}},onDragLeave:function(e){if(!!this.origin&&!!this.validationCombo(e)){var t=e.item,n=this.graph;this.activeState&&n.setItemState(t,this.activeState,!1)}},onDragEnd:function(e){if(!(!this.targets||this.targets.length===0)){var t=e.item;this.currentShouldEnd&&this.updatePositions(e);var n=this.getParentCombo(t.getModel().parentId),i=this.graph;n&&this.activeState&&i.setItemState(n,this.activeState,!1),this.end(void 0,e)}},end:function(e,t){var n=this;if(!!this.origin){var i=this.graph;if(this.delegateShape){var a=i.get("delegateGroup");a.clear(),this.delegateShape=null}e&&this.activeState&&i.setItemState(e,this.activeState,!1),e||this.targets.map(function(o){n.onlyChangeComboSize?i.updateCombo(o):i.updateComboTree(o)}),this.point=[],this.origin=null,this.originPoint=null,this.targets.length=0}},traverse:function(e,t){var n=this;if(t(e)!==!1&&e){var i=e.get("combos");(0,LS.each)(i,function(o){n.traverse(o,t)});var a=e.get("nodes");(0,LS.each)(a,function(o){n.traverse(o,t)})}},updateCombo:function(e,t,n){var i=this;this.traverse(e,function(a){return a.destroyed?!1:(i.updateSignleItem(a,t,n),!0)})},updateSignleItem:function(e,t,n){var i=this.origin,a=this.graph,o=e.getModel(),s=e.get("id");this.point[s]||(this.point[s]={x:o.x,y:o.y});var l=t.x-i.x+this.point[s].x,u=t.y-i.y+this.point[s].y;n&&(l+=i.x-t.x,u+=i.y-t.y),a.updateItem(e,{x:l,y:u})},getParentCombo:function(e){var t=this.graph;if(!!e){var n=t.findById(e);if(!!n)return n}},updateDelegate:function(e){var t=this.graph;if(this.delegateShape){var h=e.x-this.origin.x+this.originPoint.minX,d=e.y-this.origin.y+this.originPoint.minY;this.delegateShape.attr({x:h,y:d})}else{var n=t.get("delegateGroup"),i=null;this.targets.length>1?i=Vpe(this.targets):i=this.targets[0].getBBox();var a=i.x,o=i.y,s=i.width,l=i.height,u=i.minX,f=i.minY;this.originPoint={x:a,y:o,width:s,height:l,minX:u,minY:f};var c=E(E({},_c.delegateStyle),this.delegateStyle);this.delegateShape=n.addShape("rect",{attrs:E({width:i.width,height:i.height,x:i.x,y:i.y},c),name:"combo-delegate-shape"}),this.delegateShape.set("capture",!1),this.delegate=this.delegateShape}}};var UEt="dblclick",Ype=["click","dblclick"],jEt={getDefaultCfg:function(){return{trigger:UEt,relayout:!0}},getEvents:function(){var e,t;return Ype.includes(this.trigger)?t=this.trigger:(t=UEt,console.warn("Behavior collapse-expand-group \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click' \u6216 'dblclick'")),e={},e["combo:".concat(t)]="onComboClick",e},onComboClick:function(e){var t=e.item,n=this,i=n.graph,a=n.relayout;if(!(!t||t.destroyed||t.getType()!=="combo")){var o=t.getModel(),s=o.id;!s||(i.collapseExpandCombo(s),a&&i.get("layout")?i.layout():i.refreshPositions())}}};var Xpe=al.isPolygonsIntersect,qpe=al.pathToPoints,WEt="shift",Kpe=["drag","shift","ctrl","alt","control"],Zpe=function(e,t){var n,i=e.getKeyShape();if(e.get("type")==="path")n=qpe(i.attr("path"));else{var a=i.getCanvasBBox();n=[[a.minX,a.minY],[a.maxX,a.minY],[a.maxX,a.maxY],[a.minX,a.maxY]]}return Xpe(t,n)},VEt={getDefaultCfg:function(){return{delegateStyle:{fill:"#EEF6FF",fillOpacity:.4,stroke:"#DDEEFE",lineWidth:1},onSelect:function(){},onDeselect:function(){},selectedState:"selected",trigger:WEt,includeEdges:!0,selectedEdges:[],selectedNodes:[]}},getEvents:function(){return Kpe.indexOf(this.trigger.toLowerCase())>-1||(this.trigger=WEt,console.warn("Behavior lasso-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),this.trigger==="drag"?{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd","canvas:click":"clearStates"}:{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd",keyup:"onKeyUp",keydown:"onKeyDown","canvas:click":"clearStates"}},onDragStart:function(e){var t=this.lasso,n=e.item;n||this.trigger!=="drag"&&!this.keydown||(this.selectedNodes&&this.selectedNodes.length!==0&&this.clearStates(),t||(t=this.createLasso()),this.dragging=!0,this.originPoint={x:e.x,y:e.y},this.points.push(this.originPoint),t.show())},onDragMove:function(e){!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.points.push({x:e.x,y:e.y}),this.updateLasso(e))},onDragEnd:function(e){!this.lasso&&!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.points.push(this.originPoint),this.getSelectedItems(),this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1)},getLassoPath:function(){var e=this.points,t=[];return e.length&&(e.forEach(function(n,i){i===0?t.push(["M",n.x,n.y]):t.push(["L",n.x,n.y])}),t.push(["L",e[0].x,e[0].y])),t},clearStates:function(){var e=this,t=e.graph,n=e.selectedState,i=t.findAllByState("node",n),a=t.findAllByState("edge",n);i.forEach(function(o){return t.setItemState(o,n,!1)}),a.forEach(function(o){return t.setItemState(o,n,!1)}),this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges),this.selectedNodes=[],this.selectedEdges=[],t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[]},select:!1})},getSelectedItems:function(){var e=this,t=this,n=t.graph,i=t.shouldUpdate,a=this.points.map(function(f){return[n.getCanvasByPoint(f.x,f.y).x,n.getCanvasByPoint(f.x,f.y).y]}),o=this.selectedState,s=[],l=[];n.getNodes().forEach(function(f){if(!!f.isVisible()&&Zpe(f,a)&&i(f,"select")){s.push(f);var c=f.getModel();l.push(c.id),n.setItemState(f,o,!0)}});var u=[];this.includeEdges&&s.forEach(function(f){var c=f.getOutEdges();c.forEach(function(h){if(!!h.isVisible()){var d=h.getModel(),p=d.source,v=d.target;l.includes(p)&&l.includes(v)&&i(h,"select")&&(u.push(h),n.setItemState(h,e.selectedState,!0))}})}),this.selectedEdges=u,this.selectedNodes=s,this.onSelect&&this.onSelect(s,u),n.emit("nodeselectchange",{selectedItems:{nodes:s,edges:u},select:!0})},createLasso:function(){var e=this,t=e.graph.get("delegateGroup").addShape("path",{attrs:E({path:[]},e.delegateStyle),capture:!1,name:"lasso-shape"});return this.lasso=t,this.delegate=t,this.points=[],t},updateLasso:function(e){var t=this;this.lasso.attr({path:t.getLassoPath()})},onKeyDown:function(e){var t=e.key;!t||(t.toLowerCase()===this.trigger.toLowerCase()?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.lasso&&(this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1),this.keydown=!1}};var kX=U(q()),HEt="click",$pe=["click","drag"],YEt=void 0,Qpe=["shift","ctrl","control","alt","meta",void 0],XEt={getDefaultCfg:function(){return{trigger:HEt,key:YEt,edgeConfig:{},getEdgeConfig:void 0}},getEvents:function(){var e=this;$pe.indexOf(e.trigger.toLowerCase())>-1||(e.trigger=HEt,console.warn("Behavior create-edge \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click'\uFF0C'drag'")),e.key&&Qpe.indexOf(e.key.toLowerCase())===-1&&(e.trigger=YEt,console.warn("Behavior create-edge \u7684 key \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'shift'\uFF0C'ctrl'\uFF0C'alt'\uFF0C'control'\uFF0C\u6216 undefined"));var t;return e.trigger==="drag"?t={"node:dragstart":"onClick","combo:dragstart":"onClick",drag:"updateEndPoint","node:drop":"onClick","combo:drop":"onClick",dragend:"onDragEnd"}:e.trigger==="click"&&(t={"node:click":"onClick",mousemove:"updateEndPoint","edge:click":"cancelCreating","canvas:click":"cancelCreating","combo:click":"onClick"}),e.key&&(t.keydown="onKeyDown",t.keyup="onKeyUp"),t},onDragEnd:function(e){var t=this;if(!(t.key&&!t.keydown)){var n=e.item;(!n||n.getID()===t.source||n.getType()!=="node")&&t.cancelCreating({item:t.edge,x:e.x,y:e.y})}},onClick:function(e){var t=this;if(!(t.key&&!t.keydown)){var n=e.item,i=t.graph,a=n.getModel(),o=t.getEdgeConfig;if(t.addingEdge&&t.edge){if(!t.shouldEnd.call(t,e))return;var s=void 0;o&&(0,kX.isFunction)(o)?s=o({source:t.source,target:a.id}):s=t.edgeConfig;var l=E({target:a.id},s);if(t.source===a.id&&(l.type="loop"),i.emit("beforecreateedge",{}),i.updateItem(t.edge,l,!1),i.get("enabledStack")){var u=E(E({},t.edge.getModel()),{itemType:"edge"}),f={};f.edges=[u],i.pushStack("add",{before:{},after:f})}i.emit("aftercreateedge",{edge:t.edge}),t.edge.getKeyShape().set("capture",!0),t.edge=null,t.addingEdge=!1}else{if(!t.shouldBegin.call(t,e))return;var s=void 0;o&&(0,kX.isFunction)(o)?s=o({source:a.id,target:a.id}):s=t.edgeConfig,t.edge=i.addItem("edge",E({source:a.id,target:a.id},s),!1),t.source=a.id,t.addingEdge=!0,t.edge.getKeyShape().set("capture",!1)}}},updateEndPoint:function(e){var t=this;if(!(t.key&&!t.keydown)){t.edge&&t.edge.destroyed&&t.cancelCreating({item:t.edge});var n={x:e.x,y:e.y};if(!t.graph.findById(t.source)){t.addingEdge=!1;return}t.addingEdge&&t.edge&&t.graph.updateItem(t.edge,{target:n},!1)}},cancelCreating:function(e){var t,n,i=this;if(!(i.key&&!i.keydown)){var a=i.graph,o=e.item;if(i.addingEdge&&(i.edge===o||((n=(t=e.target)===null||t===void 0?void 0:t.isCanvas)===null||n===void 0?void 0:n.call(t)))){i.edge&&!i.edge.destroyed&&a.removeItem(i.edge,!1),i.edge=null,i.addingEdge=!1;return}}},onKeyDown:function(e){var t=this,n=e.key;!n||(n.toLowerCase()===t.key.toLowerCase()?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){var e=this;e.addingEdge&&e.edge&&(e.graph.removeItem(e.edge,!1),e.addingEdge=!1,e.edge=null),this.keydown=!1}};var qEt="ctrl",Jpe=["shift","ctrl","alt","control"],tve="1",KEt={getDefaultCfg:function(){return{trigger:qEt,combinedKey:tve,functionName:"fitView",functionParams:[]}},getEvents:function(){return Jpe.indexOf(this.trigger.toLowerCase())>-1||(this.trigger=qEt,console.warn("Behavior shortcuts-fit-view \u7684 trigger \u53C2\u6570 '".concat(this.trigger,"' \u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'"))),this.combinedKey===this.trigger&&(this.combinedKey=void 0),{keyup:"onKeyUp",keydown:"onKeyDown"}},onKeyDown:function(e){var t=e.key;if(!!t){var n=this.trigger.toLowerCase(),i=t.toLowerCase();this.triggerKeydown||(i===n||i==="control"&&n==="ctrl"||i==="ctrl"&&n==="control"?this.triggerKeydown=!0:this.triggerKeydown=!1);var a=this.graph;if(!a[this.functionName])return console.warn("Behavior shortcuts-fit-view \u7684 functionName \u53C2\u6570 '".concat(this.functionName,"' \u4E0D\u5408\u6CD5\uFF0C\u5B83\u4E0D\u662F Graph \u7684\u4E00\u4E2A\u51FD\u6570\u540D")),{};if(this.triggerKeydown&&!this.combinedKey){this.functionParams&&this.functionParams.length?a[this.functionName].apply(a,this.functionParams):a[this.functionName]();return}var o=this.combinedKey.toLowerCase();this.triggerKeydown&&(i===o||i==="control"&&o==="ctrl"||i==="ctrl"&&o==="control")&&(this.functionParams&&this.functionParams.length?a[this.functionName].apply(a,this.functionParams):a[this.functionName]())}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.triggerKeydown=!1}};var eve=["shift","ctrl","alt","control"],ZEt={getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,zoomKey:"ctrl",scalableRange:0}},getEvents:function(){return(!this.zoomKey||eve.indexOf(this.zoomKey)===-1)&&(this.zoomKey="ctrl"),{wheel:"onWheel"}},onWheel:function(e){var t=this,n=this.graph,i=e["".concat(this.zoomKey,"Key")];if(this.zoomKey==="control"&&(i=e.ctrlKey),i){var a=n.get("canvas"),o=a.getPointByClient(e.clientX,e.clientY),s=n.getZoom();e.wheelDelta>0?s=s+s*.05:s=s-s*.05,n.zoomTo(s,{x:o.x,y:o.y})}else{var l=e.deltaX||e.movementX,u=e.deltaY||e.movementY;!u&&navigator.userAgent.indexOf("Firefox")>-1&&(u=-e.wheelDelta*125/3);var f=this.graph.get("width"),c=this.graph.get("height"),h=this.graph.get("canvas").getCanvasBBox(),d=this.scalableRange,p=this.scalableRange;d<1&&d>-1&&(d=f*d,p=c*p);var v=h.minX,m=h.maxX,g=h.minY,x=h.maxY;l>0?m<-d?l=0:m-l<-d&&(l=m+d):l<0&&(v>f+d?l=0:v-l>f+d&&(l=v-(f+d))),u>0?x<-p?u=0:x-u<-p&&(u=x+p):u<0&&(g>c+p?u=0:g-u>c+p&&(u=g-(c+p))),this.get("direction")==="x"?u=0:this.get("direction")==="y"&&(l=0),n.translate(-l,-u)}e.preventDefault();var b=this.get("enableOptimize");if(b){var S=this.get("optimizeZoom"),C=this.get("optimized"),w=n.getNodes(),A=n.getEdges(),I=w.length,P=A.length;if(!C){for(var L=0;L0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]0?(m=bve(r.get("data"),l,p),r.changeData(m),r.get("fitCenter")&&(r.fitCenter(),r.stopAnimate())):(r.updateItem(a,{collapsed:!s}),r.layout()),x.label=3;case 3:return[2]}})})};r.on("node:click",function(i){n(i)}),r.on("node:touchstart",function(i){n(i)})},eAt=function(r,e,t){var n=cl(e),i=n;t&&(i=kS(e),n=RS(i,t)),r.data(n),r.set("eventData",new mve(i)),r.render(),r.get("canvas").set("localRefresh",!1)},hT={},dT=function(r,e){r===void 0&&(r={});var t=e==null?void 0:e.get("id");if(!e||e.destroyed){hT[t]=null;return}if((!r||!r.show)&&hT[t]){var n=e.get("plugins")[0];n&&e.removePlugin(n),hT[t]=null}if(r.show&&!hT[t]){var i=Object.assign(QEt,r),a=new Ur.Minimap(fl(fl({},i),{id:t}));return e.addPlugin(a),hT[t]=a,a}return null},gve=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r=="x"?e:e&3|8;return t.toString(16)})},rAt=function(r){return r.current||(r.current="graph-".concat(gve())),r.current},pT=function(r,e){r===void 0&&(r="right");var t=e[0],n=e[1],i=0,a=0;switch(r){case"top":i=t/2,a=0;break;case"right":i=t,a=n/2;break;case"bottom":i=t/2,a=n;break;case"left":i=0,a=n/2;break}return{x:i,y:a}},nAt=function(r){var e=function(t){var n,i=r.get("eventData").getData();if(t.target.get("name")==="collapse-icon"){var a=t.item,o=a.getModel().collapsed;vve(o,"Boolean")||(o=(n=a._cfg.group.getChildren().find(function(v){return v.get("name")==="main-box"}))===null||n===void 0?void 0:n.attr("defaultCollapsed"));var s=t.item._cfg.group.getChildren().find(function(v){return v.cfg.type==="marker"}),l=(i!=null?i:{}).edges,u=l===void 0?[]:l,f=a.getModel().id,c=[],h=[],d=[],p=function(v){u.forEach(function(m){var g=m.source,x=m.target;g===v&&(c.push(x),p(x))})};p(f),o?(r.findAll("node",function(v){var m=i.nodes.find(function(g){return g.id===v.get("id")}).collapsedLevel;return c.includes(v.get("id"))&&(!m||m<2)}).forEach(function(v){return r.showItem(v)}),i.nodes.forEach(function(v){var m=v.collapsedLevel,g=m===void 0?0:m,x=v.id;c.includes(x)&&(v.collapsedLevel=g-1)})):(r.findAll("node",function(v){return c.includes(v.get("id"))}).forEach(function(v){return r.hideItem(v)}),i.nodes.forEach(function(v){var m=v.collapsedLevel,g=m===void 0?0:m,x=v.id;c.includes(x)&&(v.collapsedLevel=g+1)})),u.forEach(function(v){var m=v.source,g=v.target;c.includes(g)&&d.push(m)}),d=Array.from(new Set(d)),d.forEach(function(v){h.push(r.find("node",function(m){return m.get("id")===v}))}),h.forEach(function(v){r.updateItem(v,{collapsed:!v.getModel().collapsed}),r.refreshItem(v)})}};r.on("node:click",function(t){e(t)}),r.on("node:touchstart",function(t){e(t)})},px=function(r){if(typeof r=="number")return[r,r,r,r];var e=[];switch(r.length){case 1:e=[r[0],r[0],r[0],r[0]];break;case 2:e=[r[0],r[1],r[0],r[1]];break;case 3:e=[r[0],r[1],r[2],r[1]];break;case 4:e=r;break;default:break}return e},Du=function(r,e){if(!!r&&!(typeof r=="object"&&(r==null?void 0:r.show)===!1)){var t=typeof r=="function"?r(e):r,n=t.type,i=n===void 0?"vee":n,a=t.d,o=a===void 0?0:a,s=t.size,l=s===void 0?10:s;return fl({path:Ur.Arrow[i](l,l,o),fill:"#ccc",d:o},t)}},iAt=function(r,e){var t=e!=null?e:{},n=t.nodeCfg,i=n===void 0?{}:n,a=t.edgeCfg,o=a===void 0?{}:a,s=i.nodeStateStyles,l=o.edgeStateStyles,u={},f=function(d,p,v){r.updateItem(d,{style:{endArrow:!!p&&{fill:p},startArrow:!!v&&{fill:v}}})},c=function(d,p,v){var m,g,x;v?d.toFront():d.toBack();var b=(m=d.getModel().style)!==null&&m!==void 0?m:{},S=b.endArrow,C=b.startArrow;if(S||C){if(!u[d.getID()]){var w=(S!=null?S:{}).fill,A=(C!=null?C:{}).fill,I=(x=(g=d.getModel().style)===null||g===void 0?void 0:g[p])===null||x===void 0?void 0:x.stroke;u[d.getID()]=[[I!=null?I:w,w],[I!=null?I:A,A]]}var P=u[d.getID()];f(d,S&&P[0][v?0:1],C&&P[1][v?0:1])}r.setItemState(d,p,v)},h=function(d,p,v,m){var g=m==="node"?r.findAll("edge",function(b){return b.getSource()===d||b.getTarget()===d}):r.findAll("node",function(b){return d.getSource().get("id")===b.get("id")||d.getTarget().get("id")===b.get("id")}),x=[d].concat(g);x.forEach(function(b){c(b,p,v)})};s&&(r.on("node:mouseenter",function(d){var p=d.item;h(p,"hover",!0,"node")}),r.on("node:mouseleave",function(d){var p=d.item;h(p,"hover",!1,"node")})),l&&(r.on("edge:mouseenter",function(d){var p=d.item;h(p,"hover",!0,"edge")}),r.on("edge:mouseleave",function(d){var p=d.item;h(p,"hover",!1,"edge")}))},ks=function(r,e,t,n){return typeof r=="function"?r(e,t,n)||{}:r||{}},uv=function(r,e,t){return typeof r=="function"?r(e,t):r},mF=function(r){return Array.isArray(r)?r:r?[r,r]:kg},yd=4,aAt=function(r){if(!r)return[0,0,0,0];var e=r.size,t=e===void 0?[]:e,n=r.position,i=n===void 0?"left":n,a=mF(t),o=a[0],s=a[1],l=[];switch(i){case"top":l.push(s!=null?s:yd,0,0,0);break;case"right":l.push(0,o!=null?o:yd,0,0);break;case"bottom":l.push(0,0,s!=null?s:yd,0);break;case"left":l.push(0,0,0,o!=null?o:yd);break}return l},oAt=function(r,e){var t=r!=null?r:{},n=t.size,i=n===void 0?[]:n,a=t.position,o=a===void 0?"left":a,s=mF(i),l=s[0],u=s[1],f=e[0],c=e[1],h=0,d=0,p=0,v=0;switch(o){case"top":h=0,d=0,p=l!=null?l:f,v=u!=null?u:yd;break;case"left":h=0,d=0,p=l!=null?l:yd,v=u!=null?u:c;break;case"right":h=f-((0,Ic.isNumber)(l)?l:yd),d=0,p=l!=null?l:yd,v=u!=null?u:c;break;case"bottom":h=0,d=c-((0,Ic.isNumber)(u)?u:yd),p=l!=null?l:f,v=u!=null?u:yd;break}return{x:h,y:d,width:p,height:v}},PS=function(r,e,t){var n=r.show,i=r.position,a=r.collapsed,o=r.style;n&&e.addShape("marker",{attrs:fl(fl(fl({},pT(i,t)),{r:6,cursor:"pointer",symbol:a?Ur.Marker.expand:Ur.Marker.collapse,stroke:OS.stroke,lineWidth:1,fill:"#fff"}),o),defaultCollapsed:!1,name:"collapse-icon"})},NX=function(r){var e={};return Object.keys(r).forEach(function(t){var n=r[t];if((0,Ic.isObject)(n)){var i={};Object.keys(n).forEach(function(a){var o=n[a];a==="img"&&!(0,Ic.isString)(o)||(i[a]=(0,Ic.clone)(o))}),e[t]=i}else e[t]=(0,Ic.clone)(n)}),e},gF=function(r,e){e===void 0&&(e={});var t=Object.keys(e);t.forEach(function(n){r.style[n]=e[n]})},kS=function(r,e,t,n){var i;e===void 0&&(e=0),t===void 0&&(t=""),n===void 0&&(n="");var a=r.id,o=r.children,s=o===void 0?[]:o;return fl(fl((i={},i["".concat(lv,"_level")]=e,i["".concat(lv,"_parentId")]=t,i["".concat(lv,"_currentPath")]=n,i),r),{children:s==null?void 0:s.map(function(l,u){return kS(l,e+1,t?"".concat(t,"-").concat(a):a,"".concat(n,"-").concat(u))})})},RS=function(r,e){var t=r.children,n=t===void 0?[]:t,i=r.g_level,a=i===void 0?0:i;return e<=0?r:fl(fl({},r),{children:a+1 renderIcon({zoomIn, xx})"),h({zoomIn:b,zoomOut:S,toggleFullscreen:C,fullscreen:p})):ht.createElement(Ss,null,p?ht.createElement("span",{style:{cursor:"pointer"},onClick:C},"\u2684"):ht.createElement("span",{style:{cursor:"pointer"},onClick:C},"\u2610"),ht.createElement("span",{style:{cursor:"pointer"},onClick:b},"+"),ht.createElement("span",{style:{cursor:"pointer"},onClick:S},"-"))},uAt=function(r){var e,t=r.graph,n=r.container,i=r.toolbarCfg,a=i.style,o=i.show,s=i.className,l="".concat(t.get("id"),"-toolbar"),u=document.querySelector("#".concat(l));if(u&&((e=u.parentNode)===null||e===void 0||e.removeChild(u)),!!o){var f={position:"absolute",right:"12px",top:"12px",display:"flex",flexDirection:"column",padding:"6px",borderRadius:"2px",fontSize:"24px",textAlign:"center",lineHeight:"24px",color:"rgba(0,0,0,.65)",backgroundColor:"#fff",boxShadow:"0 0 3px #ccc"},c=document.createElement("div");c.id=l,c.className=s!=null?s:"charts-toolbar",gF(c,f),gF(c,a),ht.render(ht.createElement(wve,{graph:t,container:n,toolbarCfg:i}),c),n.appendChild(c)}};var xd=function(){return xd=Object.assign||function(r){for(var e,t=1,n=arguments.length;t15?0:16,c=l<0?f:-f,h={x:i+u,y:s+c},d={x:h.x+f,y:s},p={x:(h.x-i)*(s-a)/(h.y-a)+i,y:s},v=[["M",i,a],["L",h.x,h.y],["Q",p.x,p.y,d.x,d.y],["L",o,s]];Math.abs(l)<=5&&(v=[["M",i,a],["L",o,s]]);var m=e,g=m.startArrow,x=m.endArrow,b=Du(g,r),S=Du(x,r);return{startArrow:b,endArrow:S,path:v,line2StartPoint:d,endY:s}},mAt=function(r){var e,t;return r instanceof Object?(e=r.text,t=r.subText):e=r,{text:e,subText:t}},gAt=function(){Ur.registerNode("fund-card",{draw:function(r,e){var t,n;r===void 0&&(r={});var i=r.value,a=i===void 0?{}:i,o=r.nodeCfg,s=r.markerCfg,l=o,u=l.label,f=u===void 0?{}:u,c=l.style,h=l.padding,d=h===void 0?0:h,p=l.customContent,v=f.style,m=px(d),g=mF(r.size),x=0,b=g[0],S=b-m[1]-m[3],C=g[1]-m[0]-m[2],w=ks(c,r,e),A=e.addShape("rect",{attrs:Mf({x:0,y:0,width:g[0],height:g[1],radius:g[1]/2,fill:"#fff",stroke:"#40a9ff"},w),name:"main-box",draggable:!0});if(a){x+=m[0];var I=function(W,J,et){var lt,$,st=W.text,_t=W.icon,dt,vt;return _t&&(vt=e.addShape("image",{attrs:Mf({x:et,y:x,img:_t,width:C,height:C},ks(v,r,e,"icon")),name:"fund-icon"})),dt=e==null?void 0:e.addShape("text",{attrs:Mf(Mf({textBaseline:"middle",textAlign:vt?"start":"center",x:et+(vt?(vt==null?void 0:vt.getBBox().width)+DS:J/2),y:m[0]+C/2,text:st},Fg),ks(v,r,e,"text")),name:"fund-text"}),[(lt=dt==null?void 0:dt.getBBox().height)!==null&<!==void 0?lt:0,($=vt==null?void 0:vt.getBBox().height)!==null&&$!==void 0?$:0]},P=function(W){var J,et=[];p?et.push((J=p(W,e,{startX:m[3],startY:x,width:S}))!==null&&J!==void 0?J:0):et.push.apply(et,I(W,S,m[3])),x+=Math.max.apply(Math,et)};P(a)}if(A==null||A.attr("height",Math.max(g[1],x+m[2])),s){var L=((n=(t=e==null?void 0:e.get("item"))===null||t===void 0?void 0:t.getModel())!==null&&n!==void 0?n:{}).collapsed,M=A.getBBox(),O=M.width,F=M.height,k=typeof s=="function"?s(r,e):s,G=k.show,D=k.position,N=D===void 0?"right":D,z=k.collapsed,j=k.style;PS({show:G,position:N,collapsed:L!=null?L:z,style:j},e,[O,F]),A.attr("defaultCollapsed",z)}return A},update:void 0},"single-node"),Ur.registerEdge("fund-line",{draw:function(e,t){e===void 0&&(e={});var n=e.edgeCfg,i=e.value,a=mAt(i),o=a.text,s=a.subText,l=n,u=l.style,f=l.label,c=vAt(e),h=c.startArrow,d=c.endArrow,p=c.path,v=c.line2StartPoint,m=c.endY,g=(f!=null?f:{}).style,x=t.addShape("path",{attrs:Mf({path:p,stroke:"#ccc",startArrow:h,endArrow:d},typeof u=="function"?u(e,t):u),name:"path-shape"}),b=function(S,C){t.addShape("text",{attrs:Mf(Mf({text:S,x:v.x,y:C==="text"?m-4:m+16},Fg),ks(g,e,t,C)),name:"line-text-".concat(C)})};return o&&b(o,"text"),s&&b(s,"subText"),x},update:function(r,e){var t=r.edgeCfg,n=r.value,i=mAt(n),a=i.text,o=i.subText,s=e.getContainer(),l=function(C){return s.get("children").find(function(w){return w.get("name")===C})},u=vAt(r),f=u.startArrow,c=u.endArrow,h=u.path,d=u.line2StartPoint,p=u.endY,v=t,m=v.style,g=v.label,x=(g!=null?g:{}).style,b=l("path-shape");b==null||b.attr(Mf({path:h,stroke:"#ccc",startArrow:f,endArrow:c},typeof m=="function"?m(r,s):m));var S=["text","subText"];S.forEach(function(C){var w=l("line-text-".concat(C));w==null||w.attr(Mf(Mf({x:d.x,y:C==="text"?p-4:p+16,text:C==="text"?a:o},Fg),ks(x,r,s,C)))})}},"single-edge")};var Hve=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);ix.width+16?n[0]:x.width+16;s.attr({width:S,height:b}),d==null||d.attr("width",S),p==null||p.attr({x:S,y:b/2})}return s},update:void 0},"single-node"),Ur.registerNode("round-rect",{drawShape:function(r,e){r===void 0&&(r={});var t=r.size||[100,30];typeof t=="number"&&(t=[t,t]);var n=r.style||{},i=n.stroke||r.color||"#5B8FF9",a=n.fill||"#fff";n=vs({width:t[0],height:t[1],radius:t[1]/2,fill:a,lineWidth:1.2,stroke:i},n);var o=e.addShape("rect",{attrs:vs({x:-t[0]/2,y:-t[1]/2},n),name:"rect-shape"});return e.addShape("circle",{attrs:{x:-t[0]/2,y:0,r:3,fill:n.stroke},name:"circle-shape"}),e.addShape("circle",{attrs:{x:t[0]/2,y:0,r:3,fill:n.stroke},name:"circle-shape2"}),o},getAnchorPoints:function(){return[[0,.5],[1,.5]]},update:function(e,t){var n;e===void 0&&(e={});var i=t.getContainer(),a=i.get("children"),o=a[0],s=a[1],l=a[2],u=((n=e.style)===null||n===void 0?void 0:n.stroke)||"#5B8FF9";u&&(o.attr("stroke",u),s.attr("fill",u),l.attr("fill",u))}},"single-node"),Ur.registerEdge("fund-polyline",{draw:function(e,t){var n;e===void 0&&(e={});var i=e.startPoint,a=e.endPoint,o=a.y-i.y,s=o!==0?Math.min(500/Math.abs(o),20):0,l=s>15?0:16,u=o<0?l:-l,f={x:i.x+s,y:a.y+u},c={x:f.x+l,y:a.y},h={x:(f.x-i.x)*(a.y-i.y)/(f.y-i.y)+i.x,y:a.y},d=[["M",i.x,i.y],["L",f.x,f.y],["Q",h.x,h.y,c.x,c.y],["L",a.x,a.y]];Math.abs(o)<=5&&(d=[["M",i.x,i.y],["L",a.x,a.y]]);var p=e.style,v=p.stroke||(e==null?void 0:e.colorMap)&&e.colorMap[e.dataType]?(e==null?void 0:e.colorMap)[e==null?void 0:e.dataType]:"#5B8FF9",m=((n=e.style)===null||n===void 0?void 0:n.endArrow)||!1;(0,xAt.isObject)(m)&&(m.fill=v);var g=t.addShape("path",{attrs:{path:d,stroke:v,lineWidth:p.lineWidth||1.2,endArrow:m},name:"path-shape"}),x=0,b=8,S,C=c.x+x;if((e==null?void 0:e.label)&&(S=t.addShape("text",{attrs:{text:e.label,x:C,y:a.y-b-2,fontSize:14,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-label"})),e==null?void 0:e.dataType){var w=S?S.getBBox():{height:0};t.addShape("text",{attrs:{text:e.dataType,x:C,y:a.y-b-w.height-2,fontSize:10,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-type"})}return(e==null?void 0:e.subLabel)&&t.addShape("text",{attrs:{text:e.subLabel,x:C,y:a.y+b+4,fontSize:12,fontWeight:300,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-sub-label"}),g},update:void 0},"single-edge"),Ur.registerEdge("flow-line",{draw:function(r,e){r===void 0&&(r={});var t=r.startPoint,n=r.endPoint,i=r.style,a=i===void 0?{}:i,o=e.addShape("path",{attrs:{stroke:a.stroke,endArrow:a.endArrow,path:[["M",t.x,t.y],["L",t.x,(t.y+n.y)/2],["L",n.x,(t.y+n.y)/2],["L",n.x,n.y]]}});return o}})},bAt=function(r){Ur.registerNode("icon-node",{options:{size:[60,20],stroke:"#91d5ff",fill:"#91d5ff"},draw:function(e,t){e===void 0&&(e={});var n=this.getShapeStyle(e),i=e.labelCfg,a=i===void 0?{}:i,o=t.addShape("rect",{attrs:vs(vs({},n),{x:0,y:0})}),s={fill:"#e6fffb"},l="https://g.alicdn.com/cm-design/arms-trace/1.0.155/styles/armsTrace/images/TAIR.png";return e.leftIcon&&(s=vs(vs({},s),e.leftIcon.style),l=e.leftIcon.img),t.addShape("rect",{attrs:vs({x:1,y:1,width:38,height:n.height-2},s)}),t.addShape("image",{attrs:{x:8,y:8,width:24,height:24,img:l},name:"image-shape"}),r.enableEdit&&(t.addShape("marker",{attrs:{x:n.width/3,y:n.height+6,r:6,stroke:"#73d13d",cursor:"pointer",symbol:Ur.Marker.expand},name:"add-item"}),t.addShape("marker",{attrs:{x:n.width*2/3,y:n.height+6,r:6,stroke:"#ff4d4f",cursor:"pointer",symbol:Ur.Marker.collapse},name:"remove-item"})),e.label&&t.addShape("text",{attrs:vs(vs({},a.style),{text:e.label,x:n.width/2,y:n.height/1.5})}),o}},"rect")};var Pu={style:{fill:"#000",fontSize:12}},FS={stroke:"#91d5ff",endArrow:{path:Ur.Arrow.vee(10,10)}},BS=[[.5,0],[.5,1]],vo={hover:{stroke:"#1890ff",lineWidth:2}},GS=[120,40];var Bg=function(){return Bg=Object.assign||function(r){for(var e,t=1,n=arguments.length;tdt.width+16?u[0]:dt.width+16;p.attr({width:z,height:f+16}),C==null||C.attr("width",z),w==null||w.attr(Fi({},BX(l,[z,f+S+2*_F])))}return p},update:void 0},"single-node")},TAt=function(){Ur.registerNode("icon-node",{options:{size:[60,20],stroke:"#91d5ff",fill:"#91d5ff"},draw:function(r,e){r===void 0&&(r={});var t=this.getShapeStyle(r),n=r.labelCfg,i=n===void 0?{}:n,a=r.labelStyle,o=r.label,s=r.markerStyle,l=r.showMarker,u=r.title,f=r.titleStyle,c=e.addShape("rect",{attrs:Fi(Fi({},t),{x:0,y:0})}),h=c.getBBox().height,d;if(r.leftIcon){var p=r.leftIcon,v=p.x,m=v===void 0?8:v,g=p.y,x=p.width,b=x===void 0?24:x,S=p.height,C=S===void 0?24:S,w=p.style;w&&e.addShape("rect",{attrs:Fi({x:1,y:1,width:38,height:t.height-2},w)}),d=e.addShape("image",{attrs:{x:m,y:g||h/2-C/2,width:b,height:C,img:r.leftIcon.img},name:"image-shape"})}if(l&&(e.addShape("marker",{attrs:Fi({x:t.width/3,y:t.height+6,r:6,stroke:"#73d13d",cursor:"pointer",symbol:Ur.Marker.expand},bd(s,e,Fi(Fi({},r),{name:"add-item"}))),name:"add-item"}),e.addShape("marker",{attrs:Fi({x:t.width*2/3,y:t.height+6,r:6,stroke:"#ff4d4f",cursor:"pointer",symbol:Ur.Marker.collapse},bd(s,e,Fi(Fi({},r),{name:"remove-item"}))),name:"remove-item"})),o){var A=a?bd(a,e,r):i.style,g=u?t.height/2-(A.fontSize*1||12)-Pc/2:t.height/2;e.addShape("text",{attrs:Fi({text:o,x:t.width/2,y:g,textAlign:d?"start":"center",textBaseline:u?"top":"middle"},A)})}if(u){var I=f?bd(f,e,r):i.style;e.addShape("text",{attrs:Fi({text:u,x:t.width/2,y:t.height/2+Pc/2,textAlign:d?"start":"center",textBaseline:"top"},I)})}return c}},"rect")};NS();SF();var IAt={stroke:"#40a9ff"},LAt={type:"dagre",rankdir:"TB",nodesepFunc:function(){return 0},ranksepFunc:function(){return 0},controlPoints:!0},tme={nodeType:"modelRect",edgeType:"polyline",behaviors:["zoom-canvas","drag-canvas"],nodeSize:GS,nodeLabelCfg:Pu,edgeLabelCfg:Pu,nodeAnchorPoints:BS,layout:LAt,nodeStyle:IAt,edgeStyle:FS,nodeStateStyles:vo,edgeStateStyles:vo,autoFit:!0},ZS={},eme=function(r){var e=Wg(r,tme),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"modelRect":s,u=e.edgeType,f=u===void 0?"polyline":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?GS:d,v=e.nodeLabelCfg,m=v===void 0?Pu:v,g=e.edgeLabelCfg,x=g===void 0?Pu:g,b=e.nodeAnchorPoints,S=b===void 0?BS:b,C=e.layout,w=C===void 0?LAt:C,A=e.minimapCfg,I=e.nodeStyle,P=I===void 0?IAt:I,L=e.edgeStyle,M=L===void 0?FS:L,O=e.nodeStateStyles,F=O===void 0?vo:O,k=e.edgeStateStyles,G=k===void 0?vo:k,D=e.autoFit,N=D===void 0?!0:D,z=e.graphRef,j=e.onReady,W=e.loading,J=e.loadingTemplate,et=e.errorTemplate,lt=ht.useRef(null),$=ht.useRef(null),st=Ug($);return dl(ZS[st],e,lt),Pe(function(){var _t=Gg(a,o,lt),dt=ZS[st];return dt||(dt=new Ur.Graph({container:lt.current,width:_t[0],height:_t[1],modes:{default:h},defaultNode:{type:l,size:p,style:P,anchorPoints:S,labelCfg:m},defaultEdge:{type:f,style:M,labelCfg:x},nodeStateStyles:F,edgeStateStyles:G,layout:w,fitView:N}),ZS[st]=dt),z&&(z.current=dt),zg(A,dt),zS(dt,t),j&&j(dt),jg(dt,r),function(){ZS[st]&&(ZS[st].destroy(),delete ZS[st])}},[]),ht.createElement(Ma,{errorTemplate:et},W&&ht.createElement(Aa,{loadingTemplate:J}),ht.createElement("div",{className:n,style:i,ref:lt}))},GX=eme;NS();var OAt=[150,30],DAt={stroke:"#72CC4A",fill:"#f00"},PAt={type:"dagre",rankdir:"LR",nodesep:30,ranksep:50},CF={style:{fill:"#000000A6",fontSize:10}},rme={nodeType:"round-rect",edgeType:"fund-polyline",behaviors:["zoom-canvas","drag-canvas"],nodeSize:OAt,nodeLabelCfg:CF,edgeLabelCfg:CF,nodeAnchorPoints:BS,layout:PAt,nodeStyle:DAt,edgeStyle:FS,nodeStateStyles:vo,edgeStateStyles:vo,colorMap:{},autoFit:!0},$S={},nme=function(r){var e=Wg(r,rme),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"round-rect":s,u=e.edgeType,f=u===void 0?"fund-polyline":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?OAt:d,v=e.nodeLabelCfg,m=v===void 0?CF:v,g=e.edgeLabelCfg,x=g===void 0?CF:g,b=e.nodeAnchorPoints,S=b===void 0?BS:b,C=e.layout,w=C===void 0?PAt:C,A=e.minimapCfg,I=e.nodeStyle,P=I===void 0?DAt:I,L=e.edgeStyle,M=L===void 0?FS:L,O=e.nodeStateStyles,F=O===void 0?vo:O,k=e.edgeStateStyles,G=k===void 0?vo:k,D=e.colorMap,N=D===void 0?{}:D,z=e.autoFit,j=z===void 0?!0:z,W=e.graphRef,J=e.onReady,et=e.loading,lt=e.loadingTemplate,$=e.errorTemplate,st=ht.useRef(null),_t=ht.useRef(null),dt=Ug(_t);return dl($S[dt],e,st),Pe(function(){var vt=Gg(a,o,st),Tt=$S[dt];Tt||(Tt=new Ur.Graph({container:st.current,width:vt[0],height:vt[1],modes:{default:h},defaultNode:{type:l,size:p,style:P,anchorPoints:S,labelCfg:m},defaultEdge:{type:f,style:M,colorMap:N,labelCfg:x},nodeStateStyles:F,edgeStateStyles:G,layout:w,fitView:j}),$S[dt]=Tt),W&&(W.current=Tt),zg(A,Tt);var Ut=cl(t);Tt.data(Ut),Tt.render(),J&&J(Tt);var $t=Tt.getEdges();return $t.forEach(function(Y){var it=Y.getKeyShape(),K=it.attr("stroke"),Rt=Y.getTarget();Rt.update({style:{stroke:K}})}),jg(Tt,r),function(){$S[dt]&&($S[dt].destroy(),delete $S[dt])}},[]),ht.createElement(Ma,{errorTemplate:$},et&&ht.createElement(Aa,{loadingTemplate:lt}),ht.createElement("div",{className:n,style:i,ref:st}))},zX=nme;NS();var kAt={stroke:"#40a9ff"},RAt=[[0,.5],[1,.5]],NAt={stroke:"#ccc",endArrow:{path:Ur.Arrow.vee(10,10),fill:"#ccc"}},FAt={type:"indented",direction:"LR",dropCap:!1,indent:250,getHeight:function(){return 60},getWidth:function(){return 100}},ime={nodeType:"card-node",edgeType:"cubic-horizontal",behaviors:["zoom-canvas","drag-canvas"],nodeSize:GS,nodeLabelCfg:Pu,nodeAnchorPoints:RAt,layout:FAt,nodeStyle:kAt,edgeStyle:NAt,nodeStateStyles:vo,edgeStateStyles:vo,collapseExpand:!0,autoFit:!0},QS={},ame=function(r){var e=Wg(r,ime),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"card-node":s,u=e.edgeType,f=u===void 0?"cubic-horizontal":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?GS:d,v=e.nodeLabelCfg,m=v===void 0?Pu:v,g=e.nodeAnchorPoints,x=g===void 0?RAt:g,b=e.layout,S=b===void 0?FAt:b,C=e.minimapCfg,w=e.nodeStyle,A=w===void 0?kAt:w,I=e.edgeStyle,P=I===void 0?NAt:I,L=e.nodeStateStyles,M=L===void 0?vo:L,O=e.edgeStateStyles,F=O===void 0?vo:O,k=e.collapseExpand,G=k===void 0?!0:k,D=e.autoFit,N=D===void 0?!0:D,z=e.handleNodeClick,j=e.graphRef,W=e.onReady,J=e.loading,et=e.loadingTemplate,lt=e.errorTemplate,$=ht.useRef(null),st=Ug($),_t=ht.useRef(null);return dl(QS[st],e,_t),Pe(function(){var dt=Gg(a,o,_t),vt=QS[st];if(vt||(vt=new Ur.TreeGraph({container:_t.current,width:dt[0],height:dt[1],modes:{default:h},defaultNode:{type:l,size:p,style:A,anchorPoints:x,labelCfg:m},defaultEdge:{type:f,style:P},nodeStateStyles:M,edgeStateStyles:F,layout:S,fitView:N}),QS[st]=vt),j&&(j.current=vt),zg(C,vt),zS(vt,t),W&&W(vt),G){var Tt=function(Ut){var $t=Ut.item;Ut.target.get("name")==="collapse-icon"?(vt.updateItem($t,{collapsed:!$t.getModel().collapsed}),vt.layout()):z&&z($t,vt)};vt.on("node:click",function(Ut){Tt(Ut)}),vt.on("node:touchstart",function(Ut){Tt(Ut)})}return jg(vt,r),function(){QS[st]&&(QS[st].destroy(),delete QS[st])}},[]),ht.createElement(Ma,{errorTemplate:lt},J&&ht.createElement(Aa,{loadingTemplate:et}),ht.createElement("div",{className:n,style:i,ref:_t}))},UX=ame;var JS=function(){return JS=Object.assign||function(r){for(var e,t=1,n=arguments.length;tencodeURIComponent(r),cv=r=>`(${encodeURIComponent(r)})`,mme=r=>`"${encodeURIComponent(r)}"`,GAt=r=>`("${encodeURIComponent(r)}")`,zAt=class extends Tr{search(e,t,n){let i=this.context.event.data,{shape:a,data:o}=i,s;a==="word-cloud"?s=o.text:s=e?o[e.field]:"",n&&(s=n(s)),this.openScheme(`obsidian://search?vault=${encodeURIComponent(e.vault)}&query=${t}${s}`)}openNote(e){let t=this.context.event.data,{shape:n,data:i}=t,a;n==="word-cloud"?a=i.datum[e.pathField]:a=i[e.pathField],this.openScheme(`obsidian://vault/${encodeURIComponent(e.vault)}/${a}`)}openScheme(e){let t=window.document.body.createEl("a",{href:e});t.click(),t.remove()}tag(e){this.search(e,"tag%3A",vme)}file(e){this.search(e,"file%3A",GAt)}fileopen(e){this.openNote(e)}path(e){this.search(e,"path%3A",GAt)}content(e){this.search(e,"content%3A",cv)}task(e){this.search(e,"task%3A",cv)}matchCase(e){this.search(e,"match-case%3A",cv)}ignoreCase(e){this.search(e,"ignore-case%3A",cv)}line(e){this.search(e,"line%3A",cv)}block(e){this.search(e,"block%3A",cv)}taskTodo(e){this.search(e,"task-todo%3A",cv)}taskDone(e){this.search(e,"task-done%3A",cv)}section(e){this.search(e,"section%3A",cv)}default(e){this.search(e,"",mme)}};nr("obsidian-search",zAt);xr("obsidian-search",{start:[{trigger:"element:click",action:"obsidian-search:default"}]});n0("theme1",{colors10:["#FF6B3B","#626681","#FFC100","#9FB40F","#76523B","#DAD5B5","#0E8E89","#E19348","#F383A2","#247FEA"],colors20:["#FF6B3B","#626681","#FFC100","#9FB40F","#76523B","#DAD5B5","#0E8E89","#E19348","#F383A2","#247FEA","#2BCB95","#B1ABF4","#1D42C2","#1D9ED1","#D64BC0","#255634","#8C8C47","#8CDAE5","#8E283B","#791DC9"]});n0("theme2",{colors10:["#025DF4","#DB6BCF","#2498D1","#BBBDE6","#4045B2","#21A97A","#FF745A","#007E99","#FFA8A8","#2391FF"],colors20:["#025DF4","#DB6BCF","#2498D1","#BBBDE6","#4045B2","#21A97A","#FF745A","#007E99","#FFA8A8","#2391FF","#FFC328","#A0DC2C","#946DFF","#626681","#EB4185","#CD8150","#36BCCB","#327039","#803488","#83BC99"]});var wF=({type:r,config:e,showExportBtn:t=!1})=>{let n=GA[r]||gT[r],i=Na();return ht.createElement(fr,null,t&&ht.createElement("div",{className:"chartsview-export-button","aria-label":"Export to PNG",onClick:()=>{var a;(a=i.current)==null||a.downloadImage(`${r}.png`)}},ht.createElement("svg",{className:"code-glyph",viewBox:"0 0 1024 1024",width:"16",height:"16"},ht.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M896 166.4H128c-25.6 0-42.666667 17.066667-42.666667 42.666667v597.333333c0 25.6 17.066667 42.666667 42.666667 42.666667h768c25.6 0 42.666667-17.066667 42.666667-42.666667v-597.333333c0-25.6-21.333333-42.666667-42.666667-42.666667z m-42.666667 85.333333v418.133334l-136.533333-136.533334c-21.333333-12.8-51.2-12.8-64 4.266667L554.666667 635.733333l-183.466667-179.2c-17.066667-17.066667-46.933333-17.066667-59.733333 0L170.666667 597.333333V251.733333h682.666666z m-243.2 443.733334l76.8-76.8 136.533334 140.8h-145.066667l-68.266667-64zM170.666667 716.8l170.666666-170.666667 217.6 217.6H170.666667v-46.933333z"}),ht.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M716.8 396.8m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z"}))),ht.createElement(n,PI(wl({},e),{onReady:a=>{i.current=a}})))};var TF=U(require("obsidian"));var jAt=U(UAt()),EF=U(require("obsidian"));function nC(r,e){r.somethingSelected?r.replaceSelection(e):r.setLine(r.getCursor().line,e)}function WAt(r){let e={};return EF.Vault.recurseChildren(r.vault.getRoot(),t=>{t instanceof EF.TFolder&&(e[t.path]=t.path)}),e}function AF(r){return jAt.default.parse(r,{header:!0,skipEmptyLines:!0,comments:!1,dynamicTyping:!0}).data}function gme(){let r=/A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,e=/\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source,t=/[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/.source;return new RegExp([`(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${r}])+`,e,t].join("|"),"g")}function VAt(r,e){let t={},n=r.match(gme());n&&n.forEach(o=>{o=o.toLowerCase(),t[o]=t[o]?t[o]+1:1});let i=[],a=new RegExp(e.split(` -`).map(o=>["^",o.trim(),"$"].join("")).join("|"),"i");for(let o in t)a.test(o)||i.push({word:o,count:t[o]});return i}var YAt=U(HAt()),bme=/^\s*function\s*.*\(.*\)\s*\{[\w\W]*\}\s*/i;function XAt(r,e,t){return ya(this,null,function*(){var f,c,h,d,p;let n=(0,TF.parseYaml)(r),{type:i,data:a}=n;if((GA[i]||gT[i])===void 0)throw new Error(`Unsupported chart type ${i}.`);let s=IF(n.options||{}),l=i=="MultiView"||i=="Mix"?yield _me(n,a,s,e,t):wl({data:yield KAt(a,e,t)},qAt(s,e)),u=((f=l.theme)==null?void 0:f.background)===void 0&&((h=(c=l.theme)==null?void 0:c.styleSheet)==null?void 0:h.backgroundColor)===void 0;return l.theme=(d=l.theme)!=null?d:Qu(e.settings.theme),u&&(l.theme.background=e.settings.backgroundColor),l.appendPadding=(p=l.appendPadding)!=null?p:[e.settings.paddingTop,e.settings.paddingRight,e.settings.paddingBottom,e.settings.paddingLeft],{type:i,showExportBtn:e.settings.showExportBtn,config:l}})}function IF(r){for(let e in r){let t=r[e];t&&(typeof t=="string"&&bme.test(t)?r[e]=(0,eval)(`(${t})`):Array.isArray(t)?r[e]=t.map(IF):typeof t=="object"&&(r[e]=IF(t)))}return r}function qAt(r,e){var o,s,l;let{enableSearchInteraction:t,interactions:n}=r;if(t!==!0&&typeof t!="object")return r;let i=n!=null?n:[];if(!Array.isArray(i))return r;let a={type:"obsidian-search",cfg:{start:[{trigger:"element:click",action:"obsidian-search:default",arg:{field:"text",pathField:"path",vault:e.app.vault.getName()}}]}};return typeof t=="object"&&(a.cfg.start[0].action=`obsidian-search:${(o=t.operator)!=null?o:"default"}`,a.cfg.start[0].arg.field=(s=t.field)!=null?s:"text",a.cfg.start[0].arg.pathField=(l=t.pathField)!=null?l:"path"),i.push(a),delete r.enableSearchInteraction,r.interactions=i,r}function _me(r,e,t,n,i){return ya(this,null,function*(){let a=new Map,o=[];for(let s in r){let l=s.split(".");if(l.length!==2||l[0]!=="options"&&l[0]!=="data")continue;let u=l[1],f=a.get(u)||{};f[l[0]]=r[s],a.set(u,f)}for(let s of a.values())o.push(wl({data:(yield KAt(s.data,n,i))||e},qAt(IF(s.options||{}),n)));return wl({views:o},t)})}function KAt(r,e,t){return ya(this,null,function*(){if(typeof r=="string")if(r.startsWith("wordcount:")){let n=r.replace("wordcount:","");return wme(n.length>0?n:e.app.vault.getAbstractFileByPath(t).basename,e)}else return r.startsWith("dataviewjs:")?Cme(r.replace("dataviewjs:",""),e,t):Eme(r,e);else return r})}var Sme=function(r,e){return{pagePaths:function(t){return r.pagePaths(t,e)},page:function(t){return r.page(t,e)},pages:function(t){return r.pages(t,e)},current:function(){return r.page(e,e)},array:function(t){return r.array(t)},isArray:function(t){return r.isArray(t)},fileLink:function(t,n,i){return YAt.Link.file(t,n,i)},date:function(t){return r.date(t)}}};function Cme(r,e,t){return ya(this,null,function*(){var n;if(e.app.plugins.enabledPlugins.has("dataview")){let i=(n=e.app.plugins.plugins.dataview)==null?void 0:n.api;if(i)return new Function("dv",r).call(void 0,Sme(i,t));throw new Error("Obsidian Dataview is not ready.")}else throw new Error("Obsidian Dataview is required.")})}function wme(r,e){return ya(this,null,function*(){let t=r.split(","),n=[];for(let i of e.app.vault.getMarkdownFiles())if(i.basename==r||t.contains(i.basename)||ZAt(i.parent,t)){let a=yield e.app.vault.cachedRead(i);n.push(a)}if(n.length==0)throw new Error("No words found.");return VAt(n.join(` -`),e.settings.wordCountFilter)})}function ZAt(r,e){let t=e.contains(`${r.name}/`);return t||r.parent==null?t:ZAt(r.parent,e)}function Eme(r,e){return ya(this,null,function*(){let t=r.split(","),n=[];for(let i of t.values()){let a=e.settings.dataPath==="/"?"":`${e.settings.dataPath}/`,o=e.app.vault.getAbstractFileByPath(`${a}${i.trim()}`);o instanceof TF.TFile?n.push(AF(yield e.app.vault.read(o))):n.push({})}return n.length==0?{}:n.length==1?n[0]:n})}var kc=U(require("obsidian"));var $At={theme:"default",dataPath:"",backgroundColor:"transparent",paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0,showExportBtn:!1,wordCountFilter:`[A-z]{1,2} + `)),s=0,l=0,u=!1,f=0,c=0,h=0,d=0,p=0,v=0;a.addEventListener("mousedown",function(m){if(n.refresh=!1,m.target===o){var g=o.style;h=parseInt(g.width,10),d=parseInt(g.height,10);var x=t.get("width"),b=t.get("height");h>x||d>b||(v=i.getZoom(),p=t.get("ratio"),u=!0,s=m.clientX,l=m.clientY)}},!1),a.addEventListener("mousemove",function(m){if(!(!u||(0,DS.isNil)(m.clientX)||(0,DS.isNil)(m.clientY))){var g=t.get("width"),x=t.get("height"),b=o.style;f=parseInt(b.left,10),c=parseInt(b.top,10),h=parseInt(b.width,10),d=parseInt(b.height,10);var S=s-m.clientX,C=l-m.clientY;f-S<0?S=f:f-S+h>=g&&(S=0),c-C<0?C=c:c-C+d>=x&&(C=0),f-=S,c-=C,yr(o,{left:"".concat(f,"px"),top:"".concat(c,"px")}),i.translate(S*v/p,C*v/p),s=m.clientX,l=m.clientY}},!1),a.addEventListener("mouseleave",function(){u=!1,n.refresh=!0},!1),a.addEventListener("mouseup",function(){u=!1,n.refresh=!0},!1),this.set("viewport",o),a.appendChild(o)}},e.prototype.updateViewport=function(){if(!this.destroyed){var t=this.get("ratio"),n=this.get("width"),i=this.get("height"),a=this.get("graph"),o=a.get("width"),s=a.get("height"),l=o/s,u=a.getGroup(),f=u.getCanvasBBox(),c=[(f.minX+f.maxX)/2,(f.minY+f.maxY)/2],h=[f.maxX-f.minX,f.maxY-f.minY],d={centerX:c[0],centerY:c[1],width:0,height:0,minX:0,minY:0};f[0]/f[1]>l?(d.width=h[0],d.height=d.width/l):(d.height=h[1],d.width=d.height*l),d.minX=c[0]-d.width/2,d.minY=c[1]-d.height/2;var p=u.getMatrix();p||(p=[1,0,0,0,1,0,0,0,1]);var v=Ai.invert([1,0,0,0,1,0,0,0,1],p),m=Mpe({x:d.minX,y:d.minY},v),g=a.getCanvasByPoint(m.x,m.y),x=this.get("viewport");x||this.initViewport();var b=o/d.width,S=b*n,C=b*i,w=n*-g.x/d.width,A=i*-g.y/d.height,L=w+S,k=A+C;w<0&&(S+=w,w=0),L>n&&(S=S-(L-n)),A<0&&(C+=A,A=0),k>i&&(C=C-(k-i)),this.set("ratio",t);var O="".concat(w,"px"),M="".concat(A,"px");yr(x,{left:O,top:M,width:"".concat(S,"px"),height:"".concat(C,"px")})}},e.prototype.init=function(){this.initContainer()},e.prototype.initContainer=function(){var t=this,n=t.get("graph"),i=n.get("width"),a=n.get("height"),o=a/i,s=t.get("className"),l=t.get("container"),u=t.get("width"),f=t.get("height");!u&&!f&&(u=200),u?(f=o*u,t.set("height",f)):(u=1/o*f,t.set("width",u));var c=en("
      "));(0,DS.isString)(l)&&(l=document.getElementById(l)),l?l.appendChild(c):n.get("container").appendChild(c),t.set("container",c);var h=en('
      ');c.appendChild(h);var d=en('');h.appendChild(d),t.set("containerDOM",h),t.set("containerSpan",d);var p=en(''));t.set("imgDOM",p),t.updateImgSize(),d.appendChild(p),t.updateCanvas()},e.prototype.updateImgSize=function(){var t=this,n=t.get("imgDOM"),i=t.get("width"),a=t.get("height");n.onload=function(){var o=Tpe(n);o[0]>o[1]?n.width=i:n.height=a}},e.prototype.updateCanvas=function(){var t=this.get("refresh");if(!!t){var n=this.get("graph");if(!n.get("destroyed")){this.get("viewportChange")&&(this.set("viewportChange",!1),this.updateViewport());var i=this.get("width"),a=n.get("canvas").getCanvasBBox(),o=a.width,s=i/o;this.set("ratio",s),this.updateViewport()}}},e.prototype.getViewport=function(){return this.get("viewport")},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateGraphImg=function(t){var n=this,i=n.get("imgDOM");i.remove(),n.set("graphImg",t);var a=en(''));n.set("imgDOM",a),a.src=t,n.updateImgSize();var o=n.get("containerSpan");o.appendChild(a),n.updateCanvas()},e.prototype.destroy=function(){var t=this.get("container");t.parentNode.removeChild(t)},e}(ia),bEt=Ipe;var _Et=z(q());var Lpe=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,a){i.__proto__=a}||function(i,a){for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),DX=function(){return DX=Object.assign||function(r){for(var e,t=1,n=arguments.length;t(u||i.get("height"))&&a>1||c<(f||i.get("height")*.05)&&a<1)&&(a=1),c*=a,n.set("r",c),n.filter(t)}},e.prototype.filter=function(t){var n=this,i=n.get("graph"),a=i.getNodes(),o={},s=n.get("r"),l=n.get("type"),u={x:t.x,y:t.y};n.updateDelegate(u,s);var f=n.get("shouldShow"),c=n.get("vShapes");c&&c.forEach(function(g){g.remove(),g.destroy()}),c=[],a.forEach(function(g){var x=g.getModel(),b=x.x,S=x.y;Ope({x:b,y:S},u)`);s.appendChild(l),this.set("container",l);var u=this.render();yr(l,this.getContainerPos(u)),this.bindEvents()},e.prototype.getContainerPos=function(t){t===void 0&&(t=[0,0]);var n=this,i=n.get("graph"),a=this.get("offsetX"),o=this.get("offsetY"),s=this.get("margin"),l=this.get("position").split("-"),u={top:0,right:1,bottom:2,left:3},f=0,c=0,h={left:(i.getWidth()-t[0])/2+f,top:(i.getHeight()-t[1])/2+c};return l.forEach(function(d){var p=s[u[d]],v=d;switch(d){case"top":p+=c;break;case"left":p+=f;break;case"bottom":p=i.getHeight()-t[1]-p+c,v="top";break;default:p=i.getWidth()-t[0]-p+f,v="left";break}h[v]=p}),h.top+=o+i.getContainer().offsetTop,h.left+=a+i.getContainer().offsetLeft,Object.keys(h).forEach(function(d){h[d]="".concat(h[d],"px")}),h},e.prototype.bindEvents=function(){var t=this,n=t.get("filter");if(!(!n||!n.enable)){var i=n.trigger||"click";Bpe.includes(i)||(console.warn("Trigger for legend filterling must be 'click' or 'mouseenter', 'click' will take effect by default."),i="click");var a=t.get("legendCanvas");i==="mouseenter"?(a.on("node-container:mouseenter",function(o){return t.filterData(o)}),a.on("node-container:mouseleave",function(o){t.clearFilter(),t.clearActiveLegend()})):(a.on("node-container:click",function(o){return t.filterData(o)}),a.on("click",function(o){o.target&&o.target.isCanvas&&o.target.isCanvas()&&(t.clearFilter(),t.clearActiveLegend())}))}},e.prototype.changeData=function(t){this.set("data",t);var n=this.render();yr(this.get("container"),this.getContainerPos(n))},e.prototype.activateLegend=function(t){var n=this.get("filter"),i=n==null?void 0:n.multiple;i||this.clearActiveLegend();var a=t.get("parent");a.get("active")?(a.set("active",!1),this.findLegendItemsByState("active").length&&a.set("inactive",!0)):(a.set("inactive",!1),a.set("active",!0)),this.findLegendItemsByState("active").length?this.findLegendItemsByState("active","all",!1).forEach(function(c){c.set("inactive",!0)}):this.clearActiveLegend();var o=(n==null?void 0:n.lengedStateStyles)||{},s=(o==null?void 0:o.inactive)||{opacity:.5,"text-shape":{opacity:.5}},l=s["text-shape"]||{};this.findLegendItemsByState("inactive").forEach(function(c){var h=c.get("children"),d=h[0],p=h[1];d.attr(Aa(Aa({},d.get("oriAttrs")),s)),p.attr(Aa(Aa({},p.get("oriAttrs")),l))});var u=(o==null?void 0:o.active)||{stroke:"#000",lineWidth:2,"text-shape":{fontWeight:"bold"}},f=u["text-shape"]||{};this.findLegendItemsByState("active").forEach(function(c){var h=c.get("children"),d=h[0],p=h[1];d.attr(Aa(Aa({},d.get("oriAttrs")),u)),p.attr(Aa(Aa({},p.get("oriAttrs")),f))})},e.prototype.findLegendItemsByState=function(t,n,i){n===void 0&&(n="all"),i===void 0&&(i=!0);var a=this.get("legendCanvas").find(function(l){return l.get("name")==="root"}),o=a.find(function(l){return l.get("name")==="node-group"}),s=a.find(function(l){return l.get("name")==="edge-group"});return n==="node"?o.get("children").filter(function(l){return!!l.get(t)===i}):n==="edge"?s.get("children").filter(function(l){return!!l.get(t)===i}):o.get("children").filter(function(l){return!!l.get(t)===i}).concat(s.get("children").filter(function(l){return!!l.get(t)===i}))},e.prototype.clearActiveLegend=function(){var t=this.get("legendCanvas"),n=t.find(function(a){return a.get("name")==="root"}),i=[n.find(function(a){return a.get("name")==="node-group"}),n.find(function(a){return a.get("name")==="edge-group"})];i.forEach(function(a){a.get("children").forEach(function(o){o.set("active",!1),o.set("inactive",!1);var s=o.get("children"),l=s[0],u=s[1];l.attr(l.get("oriAttrs")),u.attr(u.get("oriAttrs"))})})},e.prototype.filterData=function(t){var n=this.get("filter"),i=n==null?void 0:n.filterFunctions;if(!(!n||!i)){var a=this.get("legendCanvas"),o=this.get("graph"),s=n.graphActiveState||"active",l=n.graphInactiveState||"inactive",u=n.multiple;this.clearFilter(),u||this.clearActiveLegend(),this.activateLegend(t.target);var f=a.find(function(g){return g.get("name")==="root"}),c=f.find(function(g){return g.get("name")==="node-group"}),h=f.find(function(g){return g.get("name")==="edge-group"}),d=c.get("children").filter(function(g){return g.get("active")}),p=h.get("children").filter(function(g){return g.get("active")}),v=0,m=["getNodes","getEdges"];m.forEach(function(g){o[g]().forEach(function(x){var b=!1,S=g==="getNodes"?d:p;S.forEach(function(C){var w=i[C.get("id")];b=b||w(x.getModel())}),b?(o.setItemState(x,l,!1),o.setItemState(x,s,!0),v++):(o.setItemState(x,s,!1),o.setItemState(x,l,!0))})}),v||m.forEach(function(g){o[g]().forEach(function(x){o.clearItemStates(x,[l])})})}},e.prototype.clearFilter=function(){var t=this.get("graph"),n=this.get("filter");if(!!n){var i=n.graphActiveState||"active",a=n.graphInactiveState||"inactive";t.getNodes().forEach(function(o){t.clearItemStates(o,[i,a])}),t.getEdges().forEach(function(o){t.clearItemStates(o,[i,a])})}},e.prototype.render=function(){var t=this;this.processData();var n=this.get("legendCanvas");if(!n){n=new Gl({container:this.get("container"),width:200,height:200});var i=n.addGroup({name:"root"});i.addGroup({name:"node-group"}),i.addGroup({name:"edge-group"}),this.set("legendCanvas",n)}var a=n.find(function(G){return G.get("name")==="root"}),o=a.find(function(G){return G.get("name")==="node-group"}),s=a.find(function(G){return G.get("name")==="edge-group"}),l=this.get("itemsData"),u=["nodes","edges"],f=[o,s];u.forEach(function(G,U){l[G].forEach(function(j){var H,tt=f[U].addGroup({id:j.id,name:"node-container"}),et,ut=j.type,$=t.getShapeSize(j),st=$.width,_t=$.height,dt=$.r,gt=t.getStyle(G.substr(0,4),j);switch(j.type){case"circle":et={r:dt,x:0,y:0};break;case"rect":et={width:st,height:_t,x:-st/2,y:-_t/2};break;case"ellipse":et={r1:st,r2:_t,x:0,y:0};break;case"line":et={x1:-st/2,y1:0,x2:st/2,y2:0},ut="line";break;case"quadratic":et={path:[["M",-st/2,0],["Q",0,st/2,st/2,0]]},ut="path";break;case"cubic":et={path:[["M",-st/2,0],["C",-st/6,st/2,st/6,-st/2,st/2,0]]},ut="path";break;default:et={r:dt,x:0,y:0};break}var Tt=tt.addShape(ut,{attrs:Aa(Aa({},et),gt),name:"".concat(j.type,"-node-keyShape"),oriAttrs:Aa({opacity:1},gt)});if(j.label){var Ut=Tt.getBBox(),$t=((H=j.labelCfg)===null||H===void 0?void 0:H.style)||{},Y=Aa({textAlign:"begin",fontSize:12,textBaseline:"middle",fill:"#000",opacity:1,fontWeight:"normal"},$t);tt.addShape("text",{attrs:Aa({x:Ut.maxX+4,y:0,text:j.label},Y),className:"legend-label",name:"".concat(j.type,"-node-text"),oriAttrs:Y})}})});var c=this.get("padding"),h,d=a.find(function(G){return G.get("name")==="title-container"}),p={height:0,maxY:0,width:0};if(this.get("title")){d||(d=a.addGroup({name:"title-container"}));var v={fontSize:20,fontFamily:"Arial",fontWeight:300,textBaseline:"top",textAlign:"center",fill:"#000",x:0,y:c[0]},m=this.get("titleConfig")||{},g=Object.assign(v,m.style||{});h=d.addShape("text",{attrs:Aa({text:this.get("title")},g)}),p=d.getCanvasBBox(),d.setMatrix([1,0,0,0,1,0,m.offsetX,m.offsetY,1])}this.layoutItems();var x=a.getCanvasBBox(),b=o.getCanvasBBox(),S=b.minX<0?Math.abs(b.minX)+c[3]:c[3],C=p.maxYc.max&&(c.max=s[0]),M>h&&(h=M),S.setMatrix([1,0,0,0,1,0,I,R,1])});var d=c.max-c.min,p={min:0,max:-1/0},v=u.getCanvasBBox();s[0]=0,s[1]=a==="vertical"?v.maxX+n:v.maxY+i,f.get("children").forEach(function(S,C){C===0&&(p.min=s[0]);var w=S.get("children")[0],A=S.getCanvasBBox(),L=w.getBBox(),k=L.width,O=L.height,M=0,I=0;a==="vertical"?(M=s[1],I=s[0],s[0]=I+A.height+i,S.setMatrix([1,0,0,0,1,0,0,I+O/2,1])):(M=s[0],I=s[1],s[0]=M+A.width+n,S.setMatrix([1,0,0,0,1,0,M+k/2,0,1])),s[0]>p.max&&(p.max=s[0])});var m=p.max-p.min;if(o&&o!==""&&o!=="left"){var g=d-m,x=o==="center"?Math.abs(g)/2:Math.abs(g),b=g<0?u:f;b.get("children").forEach(function(S){var C=S.getMatrix()||[1,0,0,0,1,0,0,0,1];a==="vertical"?C[7]+=x:C[6]+=x,S.setMatrix(C)})}},e.prototype.processData=function(){var t=this.get("data"),n={nodes:[],edges:[]};t.nodes&&(t.nodes.sort(function(i,a){return i.order-a.order}),t.nodes.forEach(function(i){var a,o,s,l,u,f=i.size||[((a=i.style)===null||a===void 0?void 0:a.width)||((o=i.style)===null||o===void 0?void 0:o.r)||8,((s=i.style)===null||s===void 0?void 0:s.height)||((l=i.style)===null||l===void 0?void 0:l.r)||8],c=((u=i.labelCfg)===null||u===void 0?void 0:u.style)||{};n.nodes.push({id:i.id||(0,gd.uniqueId)(),type:i.type||"circle",style:Aa({},i.style),order:i.order,label:i.label,itemType:"node",size:f,labelCfg:{position:"right",style:Aa({fontFamily:"Arial"},c)}})})),t.edges&&(t.edges.sort(function(i,a){return i.order-a.order}),t.edges.forEach(function(i){var a,o,s=i.type||"line";i.type==="cubic-horizontal"&&(s="cubic");var l=((a=i.labelCfg)===null||a===void 0?void 0:a.style)||{},u=i.size||[((o=i.style)===null||o===void 0?void 0:o.width)||8,1];n.edges.push({id:i.id||(0,gd.uniqueId)(),type:s,size:u,style:Aa({lineWidth:(0,gd.isArray)(u)?u[1]:1},i.style),order:i.order,label:i.label,itemType:"edge",labelCfg:{position:"right",style:Aa({fontFamily:"Arial"},l)}})})),this.set("itemsData",n)},e.prototype.getContainer=function(){return this.get("container")},e.prototype.formatArray=function(t){var n=this.get(t);if((0,gd.isNumber)(n))this.set(t,[n,n,n,n]);else if((0,gd.isArray)(n))switch(n.length){case 0:this.set(t,[0,0,0,0]);break;case 1:this.set(t,[n[0],n[0],n[0],n[0]]);break;case 2:this.set(t,[n[0],n[1],n[0],n[1]]);break;case 3:this.set(t,[n[0],n[1],n[2],n[1]]);break;default:break}return this.get(t)},e.prototype.getShapeSize=function(t){var n,i,a;return t.size&&((0,gd.isArray)(t.size)?(n=t.size[0],i=t.size[1]||t.size[0],a=t.size[0]/2):(0,gd.isNumber)(t.size)&&(n=t.size,i=t.size,a=t.size/2)),t.style&&(t.style.width&&(n=t.style.width),t.style.height&&(i=t.style.height),t.style.r&&(a=t.style.r)),a||(a=5),n||(n=a),i||(i=a),{width:n,height:i,r:a}},e.prototype.getStyle=function(t,n){var i=t==="node"?{fill:"#ccc",lineWidth:0}:{stroke:"#000",lineWidth:1};return Aa(Aa({},i),n.style||{})},e.prototype.destroy=function(){var t=this.get("graph"),n=t.get("container"),i=this.get("container");n.removeChild(i)},e}(ia),AEt=Gpe;var zpe={PluginBase:ia,Menu:Hwt,Grid:Uwt,Minimap:qwt,Bundling:Zwt,ToolBar:rEt,Tooltip:iEt,Fisheye:Jwt,TimeBar:xEt,ImageMinimap:bEt,EdgeFilterLens:wEt,SnapLine:EEt,Legend:AEt},MEt=zpe;var mo=MEt;var PX=z(q());Ko("circle",{options:{size:ze.defaultNode.size,style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=(0,PX.deepMix)({},i,e.icon),s="".concat(this.type,"-keyShape"),l=t.addShape("circle",{attrs:a,className:s,name:s,draggable:!0});t.shapeMap[s]=l;var u=o.width,f=o.height,c=o.show,h=o.text;if(c){var d="".concat(this.type,"-icon");h?t.shapeMap[d]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:d,name:d,draggable:!0}):t.shapeMap[d]=t.addShape("image",{attrs:E({x:-u/2,y:-f/2},o),className:d,name:d,draggable:!0})}return this.drawLinkPoints(e,t),l},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints;if(!!n){var i=n||{},a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0]/2;if(o){var p="link-point-left";t.shapeMap[p]=t.addShape("circle",{attrs:E(E({},c),{x:-d,y:0,r:u/2||f||5}),className:p,name:p,isAnchorPoint:!0})}if(s){var v="link-point-right";t.shapeMap[v]=t.addShape("circle",{attrs:E(E({},c),{x:d,y:0,r:u/2||f||5}),className:v,name:v,isAnchorPoint:!0})}if(a){var m="link-point-top";t.shapeMap[m]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-d,r:u/2||f||5}),className:m,name:m,isAnchorPoint:!0})}if(l){var g="link-point-bottom";t.shapeMap[g]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:d,r:u/2||f||5}),className:g,name:g,isAnchorPoint:!0})}}},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,PX.deepMix)({},t,n),a=this.getSize(e),o=a[0]/2,s=E({x:0,y:0,r:o},i);return s},update:function(e,t,n){var i=t.getContainer(),a=this.getSize(e),o=E({},e.style);e.style.stroke===void 0&&e.color&&(o.stroke=e.color),e.style.r===void 0&&!isNaN(a[0])&&(o.r=a[0]/2),this.updateShape(e,t,o,!0,n),this.updateLinkPoints(e,i)}},"single-node");var lF=z(q());Ko("rect",{options:{size:[100,30],style:{radius:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},anchorPoints:[[0,.5],[1,.5]],stateStyles:E({},ze.nodeStateStyles)},shapeType:"rect",labelPosition:"center",drawShape:function(e,t){var n=this.getShapeStyle(e),i=t.addShape("rect",{attrs:n,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});return t.shapeMap["".concat(this.type,"-keyShape")]=i,this.drawLinkPoints(e,t),i},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,lF.mix)({},t,n),a=this.getSize(e),o=i.width||a[0],s=i.height||a[1],l=E({x:-o/2,y:-s/2,width:o,height:s},i);return l},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getSize(e),s=t.get("keyShape");e.size||(o[0]=s.attr("width")||a.width,o[1]=s.attr("height")||a.height);var l={stroke:e.color,x:-o[0]/2,y:-o[1]/2,width:o[0],height:o[1]},u=(0,lF.mix)({},a,s.attr(),l);u=(0,lF.mix)(u,e.style),this.updateShape(e,t,u,!1,n),this.updateLinkPoints(e,i)}},"single-node");var uF=z(q());Ko("ellipse",{options:{size:[80,40],style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"ellipse",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("ellipse",{attrs:a,className:"ellipse-keyShape",name:"ellipse-keyShape",draggable:!0});t.shapeMap["ellipse-keyShape"]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0]/2,p=h[1]/2;o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,uF.mix)({},t,n),a=this.getSize(e),o=a[0]/2,s=a[1]/2,l=E({x:0,y:0,rx:o,ry:s},i);return l},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getSize(e),s={stroke:e.color,rx:o[0]/2,ry:o[1]/2},l=t.get("keyShape"),u=(0,uF.mix)({},a,l.attr(),s);u=(0,uF.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)}},"single-node");var fF=z(q());Ko("diamond",{options:{size:[80,80],style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"diamond",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("path",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},getPath:function(e){var t=this.getSize(e),n=t[0],i=t[1],a=[["M",0,-i/2],["L",n/2,0],["L",0,i/2],["L",-n/2,0],["Z"]];return a},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,fF.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,fF.mix)({},a,l.attr(),s);u=(0,fF.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)}},"single-node");var cT=z(q());Ko("triangle",{options:{size:40,direction:"up",style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize},offset:15},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20,offset:6},stateStyles:E({},ze.nodeStateStyles)},shapeType:"triangle",labelPosition:"bottom",drawShape:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.icon,a=i===void 0?{}:i,o=n.direction,s=this.getShapeStyle(e),l=e.direction||o,u=t.addShape("path",{attrs:s,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=u;var f=a.width,c=a.height,h=a.show,d=a.offset,p=a.text;if(h)if(p)t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},a),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0});else{var v=-f/2,m=-c/2;(l==="up"||l==="down")&&(m+=d),(l==="left"||l==="right")&&(v+=d),t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:v,y:m},a),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})}return this.drawLinkPoints(e,t),u},drawLinkPoints:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.linkPoints,a=i===void 0?{}:i,o=n.direction,s=e.direction||o,l=a.top,u=a.left,f=a.right,c=a.bottom,h=a.size,d=a.r,p=rr(a,["top","left","right","bottom","size","r"]),v=this.getSize(e),m=v[0];if(u){var g=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?g=[-b,x]:s==="down"?g=[-b,-x]:s==="left"&&(g=[-b,b-x]),g&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},p),{x:g[0],y:g[1],r:h/2||d||5}),className:"link-point-left",name:"link-point-left"}))}if(f){var S=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?S=[b,x]:s==="down"?S=[b,-x]:s==="right"&&(S=[b,b-x]),S&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},p),{x:S[0],y:S[1],r:h/2||d||5}),className:"link-point-right",name:"link-point-right"}))}if(l){var C=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="up"?C=[b-x,-x]:s==="left"?C=[b,-x]:s==="right"&&(C=[-b,-x]),C&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},p),{x:C[0],y:C[1],r:h/2||d||5}),className:"link-point-top",name:"link-point-top"}))}if(c){var w=null,x=m*Math.sin(1/3*Math.PI),b=m*Math.sin(1/3*Math.PI);s==="down"?w=[-b+x,x]:s==="left"?w=[b,x]:s==="right"&&(w=[-b,x]),w&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},p),{x:w[0],y:w[1],r:h/2||d||5}),className:"link-point-bottom",name:"link-point-bottom"}))}},getPath:function(e){var t=(this.mergeStyle||this.getOptions(e)).direction,n=e.direction||t,i=this.getSize(e),a=i[0],o=a*Math.sin(1/3*Math.PI),s=a*Math.sin(1/3*Math.PI),l=[["M",-s,o],["L",0,-o],["L",s,o],["Z"]];return n==="down"?l=[["M",-s,-o],["L",s,-o],["L",0,o],["Z"]]:n==="left"?l=[["M",-s,s-o],["L",s,-s],["L",s,s],["Z"]]:n==="right"&&(l=[["M",s,s-o],["L",-s,s],["L",-s,-s],["Z"]]),l},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,cT.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,cT.mix)({},a,l.attr(),s);u=(0,cT.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)},updateLinkPoints:function(e,t){var n=this.getOptions({}),i=n.linkPoints,a=n.direction,o=e.direction||a,s=t.shapeMap["link-point-left"]||t.find(function(D){return D.get("className")==="link-point-left"}),l=t.shapeMap["link-point-right"]||t.find(function(D){return D.get("className")==="link-point-right"}),u=t.shapeMap["link-point-top"]||t.find(function(D){return D.get("className")==="link-point-top"}),f=t.shapeMap["link-point-bottom"]||t.find(function(D){return D.get("className")==="link-point-bottom"}),c=i,h=s||l||u||f;h&&(c=h.attr());var d=(0,cT.mix)({},c,e.linkPoints),p=d.fill,v=d.stroke,m=d.lineWidth,g=d.size/2;g||(g=d.r);var x=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,bottom:void 0},b=x.left,S=x.right,C=x.top,w=x.bottom,A=this.getSize(e),L=A[0],k={r:g,fill:p,stroke:v,lineWidth:m},O=null,M=L*Math.sin(1/3*Math.PI),I=L*Math.sin(1/3*Math.PI);o==="up"?O=[-I,M]:o==="down"?O=[-I,-M]:o==="left"&&(O=[-I,I-M]),O&&(s?!b&&b!==void 0?(s.remove(),delete t.shapeMap["link-point-left"]):s.attr(E(E({},k),{x:O[0],y:O[1]})):b&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},k),{x:O[0],y:O[1]}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})));var R=null;o==="up"?R=[I,M]:o==="down"?R=[I,-M]:o==="right"&&(R=[I,I-M]),R&&(l?!S&&S!==void 0?(l.remove(),delete t.shapeMap["link-point-right"]):l.attr(E(E({},k),{x:R[0],y:R[1]})):S&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},k),{x:R[0],y:R[1]}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})));var P=null;o==="up"?P=[I-M,-M]:o==="left"?P=[I,-M]:o==="right"&&(P=[-I,-M]),P&&(u?!C&&C!==void 0?(u.remove(),delete t.shapeMap["link-point-top"]):u.attr(E(E({},k),{x:P[0],y:P[1]})):C&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},k),{x:P[0],y:P[1]}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})));var F=null;o==="down"?F=[-I+M,M]:o==="left"?F=[I,M]:o==="right"&&(F=[-I,M]),F&&(f?!w&&w!==void 0?(f.remove(),delete t.shapeMap["link-point-bottom"]):f.attr(E(E({},k),{x:F[0],y:F[1]})):w&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},k),{x:F[0],y:F[1]}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0})))}},"single-node");var Af=z(q());Ko("modelRect",{options:{size:[185,70],style:{radius:5,stroke:"#69c0ff",fill:"#ffffff",lineWidth:ze.defaultNode.style.lineWidth,fillOpacity:1},labelCfg:{style:{fill:"#595959",fontSize:14,fontFamily:ze.windowFontFamily},offset:30},descriptionCfg:{style:{fontSize:12,fill:"#bfbfbf",fontFamily:ze.windowFontFamily},paddingTop:0},preRect:{show:!0,width:4,fill:"#40a9ff",radius:2},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:10,lineWidth:1,fill:"#72CC4A",stroke:"#72CC4A"},logoIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/4f81893c-1806-4de4-aff3-9a6b266bc8a2.svg",width:16,height:16,offset:0},stateIcon:{show:!0,x:0,y:0,img:"https://gw.alipayobjects.com/zos/basement_prod/300a2523-67e0-4cbf-9d4a-67c077b40395.svg",width:16,height:16,offset:-5},anchorPoints:[[0,.5],[1,.5]]},shapeType:"modelRect",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).preRect,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=this.getSize(e),s=o[0],l=o[1],u=t.addShape("rect",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=u;var f=i.show,c=rr(i,["show"]);return f&&(t.shapeMap["pre-rect"]=t.addShape("rect",{attrs:E({x:-s/2,y:-l/2,height:l},c),className:"pre-rect",name:"pre-rect",draggable:!0})),this.drawLogoIcon(e,t),this.drawStateIcon(e,t),this.drawLinkPoints(e,t),u},drawLogoIcon:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).logoIcon,i=n===void 0?{}:n,a=this.getSize(e),o=a[0];if(i.show){var s=i.width,l=i.height,u=i.x,f=i.y,c=i.offset,h=i.text,d=rr(i,["width","height","x","y","offset","text"]);h?t.shapeMap["rect-logo-icon"]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},d),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0}):t.shapeMap["rect-logo-icon"]=t.addShape("image",{attrs:E(E({},d),{x:u||-o/2+s+c,y:f||-l/2,width:s,height:l}),className:"rect-logo-icon",name:"rect-logo-icon",draggable:!0})}},drawStateIcon:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).stateIcon,i=n===void 0?{}:n,a=this.getSize(e),o=a[0];if(i.show){var s=i.width,l=i.height,u=i.x,f=i.y,c=i.offset,h=i.text,d=rr(i,["width","height","x","y","offset","text"]);h?t.shapeMap["rect-state-icon"]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},d),className:"rect-state-icon",name:"rect-state-icon",draggable:!0}):t.shapeMap["rect-state-icon"]=t.addShape("image",{attrs:E(E({},d),{x:u||o/2-s+c,y:f||-l/2,width:s,height:l}),className:"rect-state-icon",name:"rect-state-icon",draggable:!0})}},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.bottom,u=i.size,f=i.r,c=rr(i,["top","left","right","bottom","size","r"]),h=this.getSize(e),d=h[0],p=h[1];o&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},c),{x:-d/2,y:0,r:u/2||f||5}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),s&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},c),{x:d/2,y:0,r:u/2||f||5}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),a&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:-p/2,r:u/2||f||5}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),l&&(t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},c),{x:0,y:p/2,r:u/2||f||5}),className:"link-point-bottom",name:"link-point-bottom",isAnchorPoint:!0}))},drawLabel:function(e,t){var n=this.getOptions(e),i=n.labelCfg,a=i===void 0?{}:i,o=n.logoIcon,s=o===void 0?{}:o,l=n.descriptionCfg,u=l===void 0?{}:l,f=this.getSize(e),c=f[0],h=null,d=s.show,p=s.width,v=-c/2+a.offset;d&&(v=-c/2+p+a.offset);var m=a.style,g=u.style,x=u.paddingTop;return(0,Af.isString)(e.description)?(h=t.addShape("text",{attrs:E(E({},m),{x:v,y:-5,text:e.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),t.shapeMap["text-shape"]=h,t.shapeMap["rect-description"]=t.addShape("text",{attrs:E(E({},g),{x:v,y:17+(x||0),text:e.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0})):(h=t.addShape("text",{attrs:E(E({},m),{x:v,y:7,text:e.label}),className:"text-shape",name:"text-shape",draggable:!0,labelRelated:!0}),t.shapeMap["text-shape"]=h),h},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,Af.mix)({},t,n),a=this.getSize(e),o=i.width||a[0],s=i.height||a[1],l=E({x:-o/2,y:-s/2,width:o,height:s},i);return l},update:function(e,t){var n=this.mergeStyle||this.getOptions(e),i=n.style,a=i===void 0?{}:i,o=n.labelCfg,s=o===void 0?{}:o,l=n.descriptionCfg,u=l===void 0?{}:l,f=this.getSize(e),c=f[0],h=f[1],d=t.get("keyShape");d.attr(E(E({},a),{x:-c/2,y:-h/2,width:c,height:h}));var p=t.getContainer(),v=p.shapeMap["rect-logo-icon"]||p.find(function(_t){return _t.get("className")==="rect-logo-icon"}),m=v?v.attr():{},g=(0,Af.mix)({},m,e.logoIcon),x=g.width;x===void 0&&(x=this.options.logoIcon.width);var b=e.logoIcon?e.logoIcon.show:void 0,S=s.offset,C=-c/2+x+S;!b&&b!==void 0&&(C=-c/2+S);var w=p.shapeMap["node-label"]||p.find(function(_t){return _t.get("className")==="node-label"}),A=p.shapeMap["rect-description"]||p.find(function(_t){return _t.get("className")==="rect-description"});if(e.label)if(!w)p.shapeMap["node-label"]=p.addShape("text",{attrs:E(E({},s.style),{x:C,y:e.description?-5:7,text:e.label}),className:"node-label",name:"node-label",draggable:!0,labelRelated:!0});else{var L=e.labelCfg?e.labelCfg.style:{},k=(0,Af.mix)({},w.attr(),L);e.label&&(k.text=e.label),k.x=C,(0,Af.isString)(e.description)&&(k.y=-5),A&&(A.resetMatrix(),A.attr({x:C})),w.resetMatrix(),w.attr(k)}if((0,Af.isString)(e.description)){var O=u.paddingTop;if(!A)p.shapeMap["rect-description"]=p.addShape("text",{attrs:E(E({},u.style),{x:C,y:17+(O||0),text:e.description}),className:"rect-description",name:"rect-description",draggable:!0,labelRelated:!0});else{var L=e.descriptionCfg?e.descriptionCfg.style:{},M=(0,Af.mix)({},A.attr(),L);(0,Af.isString)(e.description)&&(M.text=e.description),M.x=C,A.resetMatrix(),A.attr(E(E({},M),{y:17+(O||0)}))}}var I=p.shapeMap["pre-rect"]||p.find(function(_t){return _t.get("className")==="pre-rect"});if(I&&!I.destroyed){var R=(0,Af.mix)({},I.attr(),e.preRect);I.attr(E(E({},R),{x:-c/2,y:-h/2,height:h}))}if(v&&!v.destroyed)if(!b&&b!==void 0)v.remove(),delete p.shapeMap["pre-rect"];else{var P=g.width,F=g.height,D=g.x,G=g.y,U=g.offset,j=rr(g,["width","height","x","y","offset"]);v.attr(E(E({},j),{x:D||-c/2+P+U,y:G||-F/2,width:P,height:F}))}else b&&this.drawLogoIcon(e,p);var H=p.shapeMap["rect-state-icon"]||p.find(function(_t){return _t.get("className")==="rect-state-icon"}),tt=H?H.attr():{},et=(0,Af.mix)({},tt,e.stateIcon);if(H){!et.show&&et.show!==void 0&&(H.remove(),delete p.shapeMap["rect-state-icon"]);var ut=et.width,F=et.height,D=et.x,G=et.y,$=et.offset,st=rr(et,["width","height","x","y","offset"]);H.attr(E(E({},st),{x:D||c/2-ut+$,y:G||-F/2,width:ut,height:F}))}else et.show&&this.drawStateIcon(e,p);this.updateLinkPoints(e,p)}},"single-node");var hT=z(q());Ko("star",{options:{size:60,style:{stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"star",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=t.addShape("path",{attrs:a,className:"".concat(this.type,"-keyShape"),name:"".concat(this.type,"-keyShape"),draggable:!0});t.shapeMap["".concat(this.type,"-keyShape")]=o;var s=i.width,l=i.height,u=i.show,f=i.text;return u&&(f?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-s/2,y:-l/2},i),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0})),this.drawLinkPoints(e,t),o},drawLinkPoints:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).linkPoints,i=n===void 0?{}:n,a=i.top,o=i.left,s=i.right,l=i.leftBottom,u=i.rightBottom,f=i.size,c=i.r,h=rr(i,["top","left","right","leftBottom","rightBottom","size","r"]),d=this.getSize(e),p=d[0];if(s){var v=Math.cos((18+72*0)/180*Math.PI)*p,m=Math.sin((18+72*0)/180*Math.PI)*p;t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-right",name:"link-point-right"})}if(a){var v=Math.cos((18+72*1)/180*Math.PI)*p,m=Math.sin((18+72*1)/180*Math.PI)*p;t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-top",name:"link-point-top"})}if(o){var v=Math.cos((18+72*2)/180*Math.PI)*p,m=Math.sin((18+72*2)/180*Math.PI)*p;t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-left",name:"link-point-left"})}if(l){var v=Math.cos((18+72*3)/180*Math.PI)*p,m=Math.sin((18+72*3)/180*Math.PI)*p;t.shapeMap["link-point-bottom"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-left-bottom",name:"link-point-left-bottom"})}if(u){var v=Math.cos((18+72*4)/180*Math.PI)*p,m=Math.sin((18+72*4)/180*Math.PI)*p;t.shapeMap["link-point-right-bottom"]=t.addShape("circle",{attrs:E(E({},h),{x:v,y:-m,r:f/2||c||5}),className:"link-point-right-bottom",name:"link-point-right-bottom"})}},getPath:function(e){for(var t=this.getSize(e),n=t[0],i=n*3/8,a=e.innerR||i,o=[],s=0;s<5;s++){var l=Math.cos((18+72*s)/180*Math.PI)*n,u=Math.sin((18+72*s)/180*Math.PI)*n,f=Math.cos((54+72*s)/180*Math.PI)*a,c=Math.sin((54+72*s)/180*Math.PI)*a;s===0?o.push(["M",l,-u]):o.push(["L",l,-u]),o.push(["L",f,-c])}return o.push(["Z"]),o},getShapeStyle:function(e){var t=(this.mergeStyle||this.getOptions(e)).style,n={stroke:e.color},i=(0,hT.mix)({},t,n),a=this.getPath(e),o=E({path:a},i);return o},update:function(e,t,n){var i=t.getContainer(),a=this.getOptions({}).style,o=this.getPath(e),s={stroke:e.color,path:o},l=t.get("keyShape"),u=(0,hT.mix)({},a,l.attr(),s);u=(0,hT.mix)(u,e.style),this.updateShape(e,t,u,!0,n),this.updateLinkPoints(e,i)},updateLinkPoints:function(e,t){var n=this.getOptions({}).linkPoints,i=t.shapeMap["link-point-left"]||t.find(function(M){return M.get("className")==="link-point-left"}),a=t.shapeMap["link-point-right"]||t.find(function(M){return M.get("className")==="link-point-right"}),o=t.shapeMap["link-point-top"]||t.find(function(M){return M.get("className")==="link-point-top"}),s=t.shapeMap["link-point-left-bottom"]||t.find(function(M){return M.get("className")==="link-point-left-bottom"}),l=t.shapeMap["link-point-left-bottom"]||t.find(function(M){return M.get("className")==="link-point-right-bottom"}),u=n,f=i||a||o||s||l;f&&(u=f.attr());var c=(0,hT.mix)({},u,e.linkPoints),h=c.fill,d=c.stroke,p=c.lineWidth,v=c.size/2;v||(v=c.r);var m=e.linkPoints?e.linkPoints:{left:void 0,right:void 0,top:void 0,leftBottom:void 0,rightBottom:void 0},g=m.left,x=m.right,b=m.top,S=m.leftBottom,C=m.rightBottom,w=this.getSize(e),A=w[0],L={r:v,fill:h,stroke:d,lineWidth:p},k=Math.cos((18+72*0)/180*Math.PI)*A,O=Math.sin((18+72*0)/180*Math.PI)*A;a?!x&&x!==void 0?(a.remove(),delete t.shapeMap["link-point-right"]):a.attr(E(E({},L),{x:k,y:-O})):x&&(t.shapeMap["link-point-right"]=t.addShape("circle",{attrs:E(E({},L),{x:k,y:-O}),className:"link-point-right",name:"link-point-right",isAnchorPoint:!0})),k=Math.cos((18+72*1)/180*Math.PI)*A,O=Math.sin((18+72*1)/180*Math.PI)*A,o?!b&&b!==void 0?(o.remove(),delete t.shapeMap["link-point-top"]):o.attr(E(E({},L),{x:k,y:-O})):b&&(t.shapeMap["link-point-top"]=t.addShape("circle",{attrs:E(E({},L),{x:k,y:-O}),className:"link-point-top",name:"link-point-top",isAnchorPoint:!0})),k=Math.cos((18+72*2)/180*Math.PI)*A,O=Math.sin((18+72*2)/180*Math.PI)*A,i?!g&&g!==void 0?(i.remove(),delete t.shapeMap["link-point-left"]):i.attr(E(E({},L),{x:k,y:-O})):g&&(t.shapeMap["link-point-left"]=t.addShape("circle",{attrs:E(E({},L),{x:k,y:-O}),className:"link-point-left",name:"link-point-left",isAnchorPoint:!0})),k=Math.cos((18+72*3)/180*Math.PI)*A,O=Math.sin((18+72*3)/180*Math.PI)*A,s?!S&&S!==void 0?(s.remove(),delete t.shapeMap["link-point-left-bottom"]):s.attr(E(E({},L),{x:k,y:-O})):S&&(t.shapeMap["link-point-left-bottom"]=t.addShape("circle",{attrs:E(E({},L),{x:k,y:-O}),className:"link-point-left-bottom",name:"link-point-left-bottom",isAnchorPoint:!0})),k=Math.cos((18+72*4)/180*Math.PI)*A,O=Math.sin((18+72*4)/180*Math.PI)*A,l?!C&&C!==void 0?(s.remove(),delete t.shapeMap["link-point-right-bottom"]):l.attr(E(E({},L),{x:k,y:-O})):C&&(t.shapeMap["link-point-right-bottom"]=t.addShape("circle",{attrs:E(E({},L),{x:k,y:-O}),className:"link-point-right-bottom",name:"link-point-right-bottom",isAnchorPoint:!0}))}},"single-node");var cF=z(q()),dT=ka.defaultSubjectColors;Ko("donut",{options:{size:ze.defaultNode.size,style:{x:0,y:0,stroke:ze.defaultNode.style.stroke,fill:ze.defaultNode.style.fill,lineWidth:ze.defaultNode.style.lineWidth},labelCfg:{style:{fill:ze.nodeLabel.style.fill,fontSize:ze.nodeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},linkPoints:{top:!1,right:!1,bottom:!1,left:!1,size:ze.defaultNode.linkPoints.size,lineWidth:ze.defaultNode.linkPoints.lineWidth,fill:ze.defaultNode.linkPoints.fill,stroke:ze.defaultNode.linkPoints.stroke},icon:{show:!1,img:"https://gw.alipayobjects.com/zos/bmw-prod/5d015065-8505-4e7a-baec-976f81e3c41d.svg",width:20,height:20},stateStyles:E({},ze.nodeStateStyles)},shapeType:"circle",labelPosition:"center",drawShape:function(e,t){var n=(this.mergeStyle||this.getOptions(e)).icon,i=n===void 0?{}:n,a=this.getShapeStyle(e),o=(0,cF.deepMix)({},i,e.icon),s=t.addShape("circle",{attrs:a,className:"".concat(this.type,"-keyShape"),draggable:!0,name:"".concat(this.type,"-keyShape")});t.shapeMap["".concat(this.type,"-keyShape")]=s;var l=o.width,u=o.height,f=o.show,c=o.text;f&&(c?t.shapeMap["".concat(this.type,"-icon")]=t.addShape("text",{attrs:E({x:0,y:0,fontSize:12,fill:"#000",stroke:"#000",textBaseline:"middle",textAlign:"center"},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}):t.shapeMap["".concat(this.type,"-icon")]=t.addShape("image",{attrs:E({x:-l/2,y:-u/2},o),className:"".concat(this.type,"-icon"),name:"".concat(this.type,"-icon"),draggable:!0}));var h=s.attr("r"),d=.6*h,p=(h+d)/2,v=e,m=v.donutAttrs,g=m===void 0?{}:m,x=v.donutColorMap,b=x===void 0?{}:x,S=Object.keys(g).length;if(g&&S>1){var C=[],w=0;if(Object.keys(g).forEach(function(O){var M=g[O]||0;!(0,cF.isNumber)(M)||(C.push({key:O,value:M,color:b[O]}),w+=M)}),w){var A=h-d;if(S===1){t.shapeMap["fan-shape-0"]=t.addShape("circle",{attrs:{r:p,x:0,y:0,stroke:C[0].color||dT[0],lineWidth:A},name:"fan-shape-0"});return}var L=[p,0],k=0;C.forEach(function(O,M){var I=O.value/w;if(!(I<.001)){if(I>.999&&(I=1),I===1){t.shapeMap["fan-shape-".concat(M)]=t.addShape("circle",{attrs:{r:p,x:0,y:0,stroke:O.color||dT[M%dT.length],lineWidth:A},name:"fan-shape-".concat(M)});return}O.percent=I,O.angle=I*Math.PI*2,O.beginAgnle=k,k+=O.angle,O.endAngle=k,O.arcBegin=L,O.arcEnd=[p*Math.cos(O.endAngle),-p*Math.sin(O.endAngle)];var R=O.angle>Math.PI?1:0,P=[["M",O.arcBegin[0],O.arcBegin[1]],["A",p,p,0,R,0,O.arcEnd[0],O.arcEnd[1]],["L",O.arcEnd[0],O.arcEnd[1]]];t.shapeMap["fan-shape-".concat(M)]=t.addShape("path",{attrs:{path:P,lineWidth:A,stroke:O.color||dT[M%dT.length]},name:"fan-shape-".concat(M)}),L=O.arcEnd}})}}return this.drawLinkPoints(e,t),s},update:void 0},"circle");var ll=z(q());var hF=function(e){var t=e.x,n=e.y;return{x:t,y:n,centerX:t,centerY:n,minX:t,minY:n,maxX:t,maxY:n,height:0,width:0}},Upe=function(e){e===void 0&&(e=[]);var t=[],n=[];e.forEach(function(l){t.push(l.x),n.push(l.y)});var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),o=Math.min.apply(Math,n),s=Math.max.apply(Math,n);return{centerX:(i+a)/2,centerY:(o+s)/2,maxX:a,maxY:s,minX:i,minY:o,height:s-o,width:a-i}};var kX=function(e){for(var t=[],n={},i=e.length,a=i-1;a>=0;a--){var o=e[a];o.id="".concat(o.x,"|||").concat(o.y),n[o.id]=o,t.push(o)}return t},RX=function(e){return kX(e)};var pT=function(e,t){return e.width||e.height?{centerX:e.centerX,centerY:e.centerY,minX:e.minX-t,minY:e.minY-t,maxX:e.maxX+t,maxY:e.maxY+t,height:e.height+2*t,width:e.width+2*t}:e},jpe=function(e,t){var n=Math.abs(e.x-t.centerX),i=Math.abs(e.y-t.centerY);return n===0&&i===0?0:n/t.width>i/t.height},dF=function(e,t,n){var i=jpe(t,e);if(i===0){var a=e.centerX,o=e.centerY;return n.yt.x?a=e.maxX:n.xe.centerX?e.maxX:e.minX,y:t.y}:{x:t.x,y:t.y>e.centerY?e.maxY:e.minY}},TEt=function(e,t){var n=Math.min(e.minX,t.minX),i=Math.min(e.minY,t.minY),a=Math.max(e.maxX,t.maxX),o=Math.max(e.maxY,t.maxY);return{centerX:(n+a)/2,centerY:(i+o)/2,minX:n,minY:i,maxX:a,maxY:o,height:o-i,width:a-n}},NX=function(e){return[{x:e.minX,y:e.minY},{x:e.maxX,y:e.minY},{x:e.maxX,y:e.maxY},{x:e.minX,y:e.maxY}]},pF=function(e,t){var n=e.x,i=e.y;return nt.maxX||it.maxY},Wpe=function(e,t){return te.maxX?[]:[{x:t,y:e.minY},{x:t,y:e.maxY}]},Vpe=function(e,t){return te.maxY?[]:[{x:e.minX,y:t},{x:e.maxX,y:t}]},Hpe=function(e,t){return Wpe(e,t.x).concat(Vpe(e,t.y))},vT=function(e,t){return Math.abs(e.x-t.x)+Math.abs(e.y-t.y)},Ype=function(e,t){var n=-2,i=0;return t.forEach(function(a){a&&(e.x===a.x&&(i+=n),e.y===a.y&&(i+=n))}),i},IEt=function(e,t,n,i,a){return vT(e,t)+vT(e,n)+Ype(e,[t,n,i,a])},Xpe=function r(e,t,n,i,a){a===void 0&&(a=0),e.unshift(t[i]),n[i]&&n[i]!==i&&a<=100&&r(e,t,n,n[i],a+1)},qpe=function(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)},vF=function(e,t,n,i){var a=n.x-e.x,o=n.y-e.y,s=i.x-e.x,l=i.y-e.y,u=n.x-t.x,f=n.y-t.y,c=i.x-t.x,h=i.y-t.y,d=a*l-o*s,p=u*h-f*c,v=a*f-o*u,m=s*h-l*c;return d*p<=0&&v*m<=0},mF=function(e,t,n){if(n.width||n.height){var i=NX(n),a=i[0],o=i[1],s=i[2],l=i[3];return vF(e,t,a,o)||vF(e,t,a,l)||vF(e,t,o,s)||vF(e,t,s,l)}return!1},Kpe=function(e,t,n,i){var a=[];return e.forEach(function(o){if(o!==t&&(o.x===t.x||o.y===t.y)){if(mF(o,t,n)||mF(o,t,i))return;a.push(o)}}),kX(a)},Zpe=function(e,t,n,i,a,o,s){var l=[],u=[t],f={},c={},h={};c[t.id]=0,h[t.id]=IEt(t,n,t);var d={};e.forEach(function(g){d[g.id]=g});for(var p,v;u.length;){if(p=void 0,v=1/0,u.forEach(function(g){h[g.id]<=v&&(v=h[g.id],p=g)}),p===n){var m=[];return Xpe(m,d,f,n.id),m}qpe(u,p),l.push(p),Kpe(e,p,i,a).forEach(function(g){if(l.indexOf(g)===-1){u.indexOf(g)===-1&&u.push(g);var x=h[p.id]+vT(p,g);c[g.id]&&x>=c[g.id]||(f[g.id]=p.id,c[g.id]=x,h[g.id]=c[g.id]+IEt(g,n,t,o,s))}})}return[t,n]},$pe=function(e,t,n){return!(e.x===t.x&&t.x===n.x||e.y===t.y&&t.y===n.y)},Qpe=function(e,t,n,i){var a=vT(e,t),o=vT(n,t);aMath.PI?2*Math.PI-n:n},DEt=function(e,t,n){for(var i=1/0,a=0,o=t.length;au.minX&&t.xu.minY&&t.y0&&S>0&&(w=void 0,A=1/0,Object.keys(d).forEach(function(R){var P=d[R].id;g[P]<=A&&(A=g[P],w=d[P])}),!!w);){if(h.findIndex(function(R){return R.x===w.x&&R.y===w.y})>-1)return ave(w,v,u,t,e,f,s);delete d[w.id],p[w.id]=!0;for(var x=0;xo.maxAllowedDirectionChange)&&(l[k.id]||(d[k.id]||(d[k.id]=k),O=o.distFunc(w,k)+(isNaN(C[I])?s:C[I]),M=m[w.id]+O,!(m[k.id]&&M>=m[k.id])&&(v[k.id]=w,m[k.id]=M,g[k.id]=M+DEt(k,h,o.distFunc)))));S-=1}return o.fallbackRoute(e,t,n,i,o)};Rk("polyline",{options:{color:ze.defaultEdge.color,size:ze.defaultEdge.size,style:{radius:0,offset:15,x:0,y:0,stroke:ze.defaultEdge.style.stroke,lineAppendWidth:ze.defaultEdge.style.lineAppendWidth},labelCfg:{style:{fill:ze.edgeLabel.style.fill,fontSize:ze.edgeLabel.style.fontSize,fontFamily:ze.windowFontFamily}},routeCfg:{obstacles:[],maxAllowedDirectionChange:Math.PI,maximumLoops:500,gridSize:10},stateStyles:E({},ze.edgeStateStyles)},shapeType:"polyline",labelPosition:"center",drawShape:function(e,t){var n=this.getShapeStyle(e);n.radius===0&&delete n.radius;var i=t.addShape("path",{className:"edge-shape",name:"edge-shape",attrs:n});return t.shapeMap["edge-shape"]=i,i},getShapeStyle:function(e){var t=this.options.style,n={stroke:e.color},i=(0,ll.mix)({},t,n,e.style);e=this.getPathPoints(e),this.radius=i.radius,this.offset=i.offset;var a=e.startPoint,o=e.endPoint,s=this.getControlPoints(e),l=[a];s&&(l=l.concat(s)),l.push(o);var u=e.sourceNode,f=e.targetNode,c=i.radius,h=this.options.routeCfg,d=(0,ll.mix)({},h,e.routeCfg);d.offset=i.offset;var p=this.getPath(l,u,f,c,d);((0,ll.isArray)(p)&&p.length<=1||(0,ll.isString)(p)&&p.indexOf("L")===-1)&&(p="M0 0, L0 0"),(isNaN(a.x)||isNaN(a.y)||isNaN(o.x)||isNaN(o.y))&&(p="M0 0, L0 0");var v=(0,ll.mix)({},ze.defaultEdge.style,i,{lineWidth:e.size,path:p});return v},updateShapeStyle:function(e,t){var n=t.getContainer();if(!!t.isVisible()){var i={stroke:e.color},a=n.shapeMap["edge-shape"]||n.find(function(S){return S.get("className")==="edge-shape"})||t.getKeyShape(),o=e.size;e=this.getPathPoints(e);var s=e.startPoint,l=e.endPoint,u=this.getControlPoints(e),f=[s];u&&(f=f.concat(u)),f.push(l);var c=a.attr(),h=(0,ll.mix)({},i,c,e.style),d=e.sourceNode,p=e.targetNode,v=h.radius,m=this.options.routeCfg,g=(0,ll.mix)({},m,e.routeCfg);g.offset=h.offset;var x=this.getPath(f,d,p,v,g);((0,ll.isArray)(x)&&x.length<=1||(0,ll.isString)(x)&&x.indexOf("L")===-1)&&(x="M0 0, L0 0"),(isNaN(s.x)||isNaN(s.y)||isNaN(l.x)||isNaN(l.y))&&(x="M0 0, L0 0"),c.endArrow&&h.endArrow===!1&&(e.style.endArrow={path:""}),c.startArrow&&h.startArrow===!1&&(e.style.startArrow={path:""});var b=(0,ll.mix)(i,a.attr(),{lineWidth:o,path:x},e.style);a&&a.attr(b)}},getPath:function(e,t,n,i,a){var o=a.offset,s=a.simple;if(!o||e.length>2){if(i)return FX(e,i);var l=[];return(0,ll.each)(e,function(h,d){d===0?l.push(["M",h.x,h.y]):l.push(["L",h.x,h.y])}),l}var u=s?gF(e[e.length-1],e[0],n,t,o):kEt(e[0],e[e.length-1],t,n,a);if(!u||!u.length)return"M0 0, L0 0";if(i){var f=FX(u,i);return f}var c=ka.pointsToPolygon(u);return c}},"single-edge");var cAt=z(q());var REt=al.cloneEvent,NEt=al.isNaN,FEt=Math.abs,ove=10,sve=["shift","ctrl","alt","control"],BEt={getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,scalableRange:0,allowDragOnItem:!1}},getEvents:function(){return{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"onMouseUp",keyup:"onKeyUp",focus:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onMouseUp"}},updateViewport:function(e){var t=this.origin,n=+e.clientX,i=+e.clientY;if(!(NEt(n)||NEt(i))){var a=n-t.x,o=i-t.y;this.get("direction")==="x"?o=0:this.get("direction")==="y"&&(a=0),this.origin={x:n,y:i};var s=this.graph.get("width"),l=this.graph.get("height"),u=this.graph.get("canvas").getCanvasBBox(),f=this.scalableRange,c=this.scalableRange;f<1&&f>-1&&(f=s*f,c=l*c),(u.minX<=s+f&&u.minX+a>s+f||u.maxX+f>=0&&u.maxX+f+a<0)&&(a=0),(u.minY<=l+c&&u.minY+o>l+c||u.maxY+c>=0&&u.maxY+c+o<0)&&(o=0),this.graph.translate(a,o)}},onTouchStart:function(e){var t=this,n=e.originalEvent.touches,i=n[0],a=n[1];i&&a||(e.preventDefault(),t.onMouseDown(e))},onMouseDown:function(e){var t=this,n=e.originalEvent;if(!(n&&e.name!==oM.TOUCHSTART&&n.button!==0)&&!(e.name!==oM.TOUCHSTART&&typeof window!="undefined"&&window.event&&!window.event.buttons&&!window.event.button)&&!!this.shouldBegin.call(this,e)&&!t.keydown){var i=e.target,a=i&&i.isCanvas&&i.isCanvas();if(!(!this.allowDragOnItem&&!a)&&(t.origin={x:e.clientX,y:e.clientY},t.dragging=!1,this.enableOptimize)){for(var o=this.graph,s=o.getEdges(),l=0,u=s.length;ll)for(var d=i.getNodes(),p=0,v=d.length;p-1?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){this.keydown=!1,this.origin=null,this.dragging=!1,this.dragbegin=!1}};var gx=z(q());var GEt={getDefaultCfg:function(){return{updateEdge:!0,delegateStyle:{},enableDelegate:!1,onlyChangeComboSize:!1,comboActiveState:"",selectedState:"selected",enableOptimize:!1,enableDebounce:!1,enableStack:!0}},getEvents:function(){return{"node:dragstart":"onDragStart","node:drag":"onDrag","node:dragend":"onDragEnd","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave","combo:drop":"onDropCombo","node:drop":"onDropNode","canvas:drop":"onDropCanvas",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onDragEnd"}},validationCombo:function(e){if(!this.origin||!e||e.destroyed)return!1;var t=e.getType();return t==="combo"},onTouchStart:function(e){if(!!e.item){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.onDragStart(e)}},onTouchMove:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a){t.onDragEnd(e);return}e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.onDrag(e)},onDragStart:function(e){var t=this;if(this.currentShouldEnd=!0,!!this.shouldBegin.call(this,e)){var n=e.item;if(!(!n||n.destroyed||n.hasLocked())){var i=n.getContainer();i.set("capture",!1),this.cachedCaptureItems||(this.cachedCaptureItems=[]),this.cachedCaptureItems.push(n);var a=e.target;if(a){var o=a.get("isAnchorPoint");if(o)return}var s=this.graph;this.targets=[],this.targetCombo=null;var l=s.findAllByState("node",this.selectedState),u=n.get("id"),f=l.filter(function(h){var d=h.get("id");return u===d});f.length===0?this.targets.push(n):l.length>1?l.forEach(function(h){var d=h.hasLocked();d||t.targets.push(h)}):this.targets.push(n);var c=[];this.targets.forEach(function(h){c.push((0,gx.clone)(h.getModel()))}),this.set("beforeDragNodes",c),this.hidenEdge={},this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach(function(h){var d=h.getEdges();d.forEach(function(p){!p.isVisible()||(t.hidenEdge[p.getID()]=!0,p.hide())})}),this.origin={x:e.x,y:e.y},this.point={},this.originPoint={}}}},onDrag:function(e){var t=this;!this.origin||!this.shouldUpdate.call(this,e)||(this.get("enableDelegate")?this.updateDelegate(e):this.enableDebounce?this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:e,updateEdge:this.get("updateEdge")}):this.targets.map(function(n){t.update(n,e)}))},onDragEnd:function(e){var t=this,n;if(!!this.origin){(n=this.cachedCaptureItems)===null||n===void 0||n.forEach(function(o){var s=o.getContainer();s.set("capture",!0)}),this.cachedCaptureItems=[],this.delegateRect&&(this.delegateRect.remove(),this.delegateRect=null),this.get("updateEdge")&&this.enableOptimize&&!this.enableDelegate&&this.targets.forEach(function(o){var s=o.getEdges();s.forEach(function(l){t.hidenEdge[l.getID()]&&l.show(),l.refresh()})}),this.hidenEdge={};var i=this.graph;if(i.get("enabledStack")&&this.enableStack){var a={before:{nodes:[],edges:[],combos:[]},after:{nodes:[],edges:[],combos:[]}};this.get("beforeDragNodes").forEach(function(o){a.before.nodes.push({id:o.id,x:o.x,y:o.y})}),this.targets.forEach(function(o){var s=o.getModel();a.after.nodes.push({id:s.id,x:s.x,y:s.y})}),i.pushStack("update",(0,gx.clone)(a))}i.emit("dragnodeend",{items:this.targets,targetItem:null}),this.point={},this.origin=null,this.originPoint={},this.targets.length=0,this.targetCombo=null}},onDropCombo:function(e){var t=e.item;if(this.currentShouldEnd=this.shouldEnd.call(this,e,t),this.updatePositions(e,!this.currentShouldEnd),!(!this.currentShouldEnd||!this.validationCombo(t))){var n=this.graph;if(this.comboActiveState&&n.setItemState(t,this.comboActiveState,!1),this.targetCombo=t,this.onlyChangeComboSize)n.updateCombos();else{var i=t.getModel();this.targets.map(function(a){var o=a.getModel();o.comboId!==i.id&&n.updateComboTree(a,i.id)}),n.updateCombo(t)}n.emit("dragnodeend",{items:this.targets,targetItem:this.targetCombo})}},onDropCanvas:function(e){var t=this.graph;this.currentShouldEnd=this.shouldEnd.call(this,e,void 0),this.updatePositions(e,!this.currentShouldEnd),!(!this.targets||this.targets.length===0||!this.currentShouldEnd)&&(this.onlyChangeComboSize?t.updateCombos():this.targets.map(function(n){var i=n.getModel();i.comboId&&t.updateComboTree(n)}))},onDropNode:function(e){if(!(!this.targets||this.targets.length===0)){var t=this,n=e.item,i=t.graph,a=n.getModel().comboId,o=a?i.findById(a):void 0;if(this.currentShouldEnd=this.shouldEnd.call(this,e,o),this.updatePositions(e,!this.currentShouldEnd),!!this.currentShouldEnd){if(this.onlyChangeComboSize)i.updateCombos();else if(a){var s=i.findById(a);t.comboActiveState&&i.setItemState(s,t.comboActiveState,!1),this.targets.map(function(l){var u=l.getModel();a!==u.comboId&&i.updateComboTree(l,a)}),i.updateCombo(s)}else this.targets.map(function(l){var u=l.getModel();u.comboId&&i.updateComboTree(l)});i.emit("dragnodeend",{items:this.targets,targetItem:n})}}},onDragEnter:function(e){var t=e.item;if(!!this.validationCombo(t)){var n=this.graph;this.comboActiveState&&n.setItemState(t,this.comboActiveState,!0)}},onDragLeave:function(e){var t=e.item;if(!!this.validationCombo(t)){var n=this.graph;this.comboActiveState&&n.setItemState(t,this.comboActiveState,!1)}},updatePositions:function(e,t){var n=this;!this.targets||this.targets.length===0||(this.get("enableDelegate")?this.enableDebounce?this.debounceUpdate({targets:this.targets,graph:this.graph,point:this.point,origin:this.origin,evt:e,updateEdge:this.get("updateEdge"),updateFunc:this.update}):t||this.targets.map(function(i){return n.update(i,e)}):this.targets.map(function(i){return n.update(i,e,t)}))},update:function(e,t,n){var i=this.origin,a=e.get("model"),o=e.get("id");this.point[o]||(this.point[o]={x:a.x||0,y:a.y||0});var s=t.x-i.x+this.point[o].x,l=t.y-i.y+this.point[o].y;n&&(s+=i.x-t.x,l+=i.y-t.y);var u={x:s,y:l};this.get("updateEdge")?this.graph.updateItem(e,u,!1):e.updatePosition(u)},debounceUpdate:(0,gx.debounce)(function(r){var e=r.targets,t=r.graph,n=r.point,i=r.origin,a=r.evt,o=r.updateEdge,s=r.updateFunc;e.map(function(l){var u=l.get("model"),f=l.get("id");n[f]||(n[f]={x:u.x||0,y:u.y||0});var c=a.x-i.x+n[f].x,h=a.y-i.y+n[f].y,d={x:c,y:h};o?t.updateItem(l,d,!1):l.updatePosition(d)})},50,!0),updateDelegate:function(e){var t=this.graph;if(this.delegateRect){var h=e.x-this.origin.x+this.originPoint.minX,d=e.y-this.origin.y+this.originPoint.minY;this.delegateRect.attr({x:h,y:d})}else{var n=t.get("group"),i=(0,gx.deepMix)({},_c.delegateStyle,this.delegateStyle),a=this.calculationGroupPosition(e),o=a.x,s=a.y,l=a.width,u=a.height,f=a.minX,c=a.minY;this.originPoint={x:o,y:s,width:l,height:u,minX:f,minY:c},this.delegateRect=n.addShape("rect",{attrs:E({width:l,height:u,x:o,y:s},i),name:"rect-delegate-shape"}),this.delegate=this.delegateRect,this.delegateRect.set("capture",!1)}},calculationGroupPosition:function(e){var t=this.targets;t.length===0&&t.push(e.item);for(var n=1/0,i=-1/0,a=1/0,o=-1/0,s=0;si&&(i=h),d>o&&(o=d)}var p=Math.floor(n),v=Math.floor(a),m=Math.ceil(i)-Math.floor(n),g=Math.ceil(o)-Math.floor(a);return{x:p,y:v,width:m,height:g,minX:n,minY:a}}};var zEt={getDefaultCfg:function(){return{trigger:"mouseenter",activeState:"active",inactiveState:"inactive",resetSelected:!1,shouldUpdate:function(){return!0}}},getEvents:function(){return this.get("trigger")==="mouseenter"?{"node:mouseenter":"setAllItemStates","combo:mouseenter":"setAllItemStates","node:mouseleave":"clearActiveState","combo:mouseleave":"clearActiveState"}:{"node:click":"setAllItemStates","combo:click":"setAllItemStates","canvas:click":"clearActiveState","node:touchstart":"setOnTouchStart","combo:touchstart":"setOnTouchStart","canvas:touchstart":"clearOnTouchStart"}},setOnTouchStart:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.setAllItemStates(e)},clearOnTouchStart:function(e){var t=this;try{var n=e.originalEvent.touches,i=n[0],a=n[1];if(i&&a)return;e.preventDefault()}catch(o){console.warn("Touch original event not exist!")}t.clearActiveState(e)},setAllItemStates:function(e){var t=e.item,n=this.graph;if(this.item=t,!!this.shouldUpdate(e.item,{event:e,action:"activate"})){for(var i=this,a=this.activeState,o=this.inactiveState,s=n.getNodes(),l=n.getCombos(),u=n.getEdges(),f=n.get("vedges"),c=s.length,h=l.length,d=u.length,p=f.length,v=0;v-1||(this.trigger=WEt,console.warn("Behavior brush-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),this.trigger==="drag"?{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates"}:{dragstart:"onMouseDown",drag:"onMouseMove",dragend:"onMouseUp","canvas:click":"clearStates",keyup:"onKeyUp",keydown:"onKeyDown"}},onMouseDown:function(e){var t=e.item,n=this.brush;t||this.trigger!=="drag"&&!this.keydown||(this.selectedNodes&&this.selectedNodes.length!==0&&this.clearStates(),n||(n=this.createBrush()),this.originPoint={x:e.canvasX,y:e.canvasY},n.attr({width:0,height:0}),n.show(),this.dragging=!0)},onMouseMove:function(e){!this.dragging||this.trigger!=="drag"&&!this.keydown||this.updateBrush(e)},onMouseUp:function(e){var t=this.graph;!this.brush&&!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.brush.remove(!0),this.brush=null,this.getSelectedNodes(e),this.dragging=!1)},clearStates:function(){var e=this,t=e.graph,n=e.selectedState,i=t.findAllByState("node",n),a=t.findAllByState("edge",n);i.forEach(function(o){return t.setItemState(o,n,!1)}),a.forEach(function(o){return t.setItemState(o,n,!1)}),this.selectedNodes=[],this.selectedEdges=[],this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges),t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[]},select:!1})},getSelectedNodes:function(e){var t=this,n=this,i=n.graph,a=n.originPoint,o=n.shouldUpdate,s=this.selectedState,l={x:e.x,y:e.y},u=i.getPointByCanvas(a.x,a.y),f=yF(l.x,u.x),c=UEt(l.x,u.x),h=yF(l.y,u.y),d=UEt(l.y,u.y),p=[],v=[];i.getNodes().forEach(function(g){if(!!g.isVisible()){var x=g.getBBox();if(x.centerX>=f&&x.centerX<=c&&x.centerY>=h&&x.centerY<=d&&o(g,"select")){p.push(g);var b=g.getModel();v.push(b.id),i.setItemState(g,s,!0)}}});var m=[];this.includeEdges&&p.forEach(function(g){var x=g.getOutEdges();x.forEach(function(b){if(!!b.isVisible()){var S=b.getModel(),C=S.source,w=S.target;v.includes(C)&&v.includes(w)&&o(b,"select")&&(m.push(b),i.setItemState(b,t.selectedState,!0))}})}),this.selectedEdges=m,this.selectedNodes=p,this.onSelect&&this.onSelect(p,m),i.emit("nodeselectchange",{selectedItems:{nodes:p,edges:m},select:!0})},createBrush:function(){var e=this,t=e.graph.get("canvas").addShape("rect",{attrs:e.brushStyle,capture:!1,name:"brush-shape"});return this.brush=t,this.delegate=t,t},updateBrush:function(e){var t=this.originPoint;this.brush.attr({width:jEt(e.canvasX-t.x),height:jEt(e.canvasY-t.y),x:yF(e.canvasX,t.x),y:yF(e.canvasY,t.y)})},onKeyDown:function(e){var t=e.key;if(!!t){var n=this.trigger.toLowerCase(),i=t.toLowerCase();i===n||i==="control"&&n==="ctrl"||i==="ctrl"&&n==="control"?this.keydown=!0:this.keydown=!1}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.keydown=!1}};var xF=z(q()),HEt="shift",uve=["shift","ctrl","alt","control"],YEt={getDefaultCfg:function(){return{multiple:!0,trigger:HEt,selectedState:"selected"}},getEvents:function(){var e=this;return uve.indexOf(e.trigger.toLowerCase())>-1||(e.trigger=HEt,console.warn("Behavior brush-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),e.multiple?{"node:click":"onClick","combo:click":"onClick","canvas:click":"onCanvasClick",keyup:"onKeyUp",keydown:"onKeyDown"}:{"node:click":"onClick","combo:click":"onClick","canvas:click":"onCanvasClick"}},onClick:function(e){var t=this,n=e.item;if(!(!n||n.destroyed)){var i=n.getType(),a=t.graph,o=t.keydown,s=t.multiple,l=t.shouldUpdate,u=t.shouldBegin;if(!!u.call(t,e)){if(!o||!s){var f=a.findAllByState("node",t.selectedState).concat(a.findAllByState("combo",t.selectedState));(0,xF.each)(f,function(d){d!==n&&a.setItemState(d,t.selectedState,!1)})}if(n.hasState(t.selectedState)){l.call(t,e)&&a.setItemState(n,t.selectedState,!1);var c=a.findAllByState("node",t.selectedState),h=a.findAllByState("combo",t.selectedState);a.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,combos:h},select:!1})}else{l.call(t,e)&&a.setItemState(n,t.selectedState,!0);var c=a.findAllByState("node",t.selectedState),h=a.findAllByState("combo",t.selectedState);a.emit("nodeselectchange",{target:n,selectedItems:{nodes:c,combos:h},select:!0})}}}},onCanvasClick:function(){var e=this,t=this.graph,n=t.findAllByState("node",this.selectedState);(0,xF.each)(n,function(a){t.setItemState(a,e.selectedState,!1)});var i=t.findAllByState("combo",this.selectedState);(0,xF.each)(i,function(a){t.setItemState(a,e.selectedState,!1)}),t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[],combos:[]},select:!1})},onKeyDown:function(e){var t=this,n=e.key;!n||(n.toLowerCase()===this.trigger.toLowerCase()||n.toLowerCase()==="control"?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){var e=this;e.keydown=!1}};var XEt=z(q()),fve=gr.transform,qEt=.05,KEt={getDefaultCfg:function(){return{sensitivity:2,minZoom:void 0,maxZoom:void 0,enableOptimize:!1,optimizeZoom:.1,fixSelectedItems:{fixAll:!1,fixLineWidth:!1,fixLabel:!1,fixState:"selected"},animate:!1,animateCfg:{duration:500}}},getEvents:function(){var e=this.fixSelectedItems;return e.fixState||(e.fixState="selected"),e.fixAll&&(e.fixLineWidth=!0,e.fixLabel=!0),{wheel:"onWheel",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd"}},onTouchStart:function(e){var t=e.originalEvent.touches,n=t[0],i=t[1];e.preventDefault(),!!i&&(this.shouldBegin&&!this.shouldBegin.call(this,e)||(this.startPoint={pageX:n.pageX,pageY:n.pageY},this.moveable=!0,i&&(this.endPoint={pageX:i.pageX,pageY:i.pageY}),this.originScale=this.graph.getZoom()||this.currentScale||1))},onTouchMove:function(e){if(!!this.moveable){e.preventDefault();var t=e.originalEvent.touches,n=t[0],i=t[1];if(!!i){this.endPoint||(this.endPoint={pageX:i.pageX,pageY:i.pageY});var a=function(v,m){return Math.hypot(m.x-v.x,m.y-v.y)},o=a({x:n.pageX,y:n.pageY},{x:i.pageX,y:i.pageY})/a({x:this.startPoint.pageX,y:this.startPoint.pageY},{x:this.endPoint.pageX,y:this.endPoint.pageY}),s=this.originScale*o;this.currentScale=s;var l=this.get("minZoom")||this.graph.get("minZoom"),u=this.get("maxZoom")||this.graph.get("maxZoom");if(!(s>u||sd||ci/2?f-=h.width:f+=this.offset,c>a/2?c-=h.height:c+=this.offset;var d="".concat(f,"px"),p="".concat(c,"px");yr(this.container,{left:d,top:p,visibility:"visible"})},createTooltip:function(e){var t=e.get("el");t.style.position="relative";var n=en('
      '));return t.parentNode.appendChild(n),yr(n,{position:"absolute",visibility:"visible"}),this.width=e.get("width"),this.height=e.get("height"),this.container=n,this.graph.get("tooltips").push(n),n}};var ZEt=E({getDefaultCfg:function(){return{item:"node",offset:12,formatText:function(t){return t.label}}},getEvents:function(){return{"node:mouseenter":"onMouseEnter","node:mouseleave":"onMouseLeave","node:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},bF);var $Et=E({getDefaultCfg:function(){return{item:"edge",offset:12,formatText:function(t){return"source: ".concat(t.source," target: ").concat(t.target)}}},getEvents:function(){return{"edge:mouseenter":"onMouseEnter","edge:mouseleave":"onMouseLeave","edge:mousemove":"onMouseMove",afterremoveitem:"onMouseLeave"}}},bF);var QEt="click",cve=["click","dblclick"],JEt={getDefaultCfg:function(){return{trigger:QEt,onChange:function(){}}},getEvents:function(){var e,t;return cve.includes(this.trigger)?t=this.trigger:(t=QEt,console.warn("Behavior collapse-expand \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click' \u6216 'dblclick'")),e={},e["node:".concat(t)]="onNodeClick",e.touchstart="onNodeClick",e},onNodeClick:function(e){var t=e.item;if(!!t){var n=this.graph.findDataById(t.get("id"));if(!!n){var i=n.children;if(!(!i||i.length===0)){var a=!n.collapsed;!this.shouldBegin(e,a)||(n.collapsed=a,t.getModel().collapsed=a,this.graph.emit("itemcollapsed",{item:e.item,collapsed:a}),!!this.shouldUpdate(e,a)&&(this.onChange(t,a),this.graph.layout()))}}}}};var PS=z(q());var hve=al.calculationItemsBBox,dve=function r(e,t){if(t(e)!==!1&&e){var n=e.get("combos");if(n.length===0)return!1;(0,PS.each)(n,function(i){r(i,t)})}},tAt={getDefaultCfg:function(){return{enableDelegate:!1,delegateStyle:{},onlyChangeComboSize:!1,activeState:"",selectedState:"selected"}},getEvents:function(){return{"combo:dragstart":"onDragStart","combo:drag":"onDrag","combo:dragend":"onDragEnd","combo:drop":"onDrop","node:drop":"onNodeDrop","combo:dragenter":"onDragEnter","combo:dragleave":"onDragLeave"}},validationCombo:function(e){var t=e.item;if(!t||t.destroyed||!this.shouldUpdate.call(this,e))return!1;var n=t.getType();return n==="combo"},onDragStart:function(e){var t=this,n=this.graph,i=e.item;if(this.currentShouldEnd=!0,!!this.validationCombo(e)){this.targets=[];var a=n.findAllByState("combo",this.selectedState),o=i.get("id"),s=a.filter(function(l){var u=l.get("id");return o===u});s.length===0?this.targets.push(i):this.targets=a,this.activeState&&this.targets.map(function(l){var u=l.getModel();if(u.parentId){var f=n.findById(u.parentId);f&&n.setItemState(f,t.activeState,!0)}}),this.point={},this.originPoint={},this.origin={x:e.x,y:e.y},this.currentItemChildCombos=[],dve(i,function(l){if(l.destroyed)return!1;var u=l.getModel();return t.currentItemChildCombos.push(u.id),!0})}},onDrag:function(e){var t=this;if(!!this.origin&&!!this.validationCombo(e))if(this.enableDelegate)this.updateDelegate(e);else{if(this.activeState){var n=this.graph,i=e.item,a=i.getModel(),o=n.getCombos(),s=i.getBBox(),l=s.centerX,u=s.centerY,f=s.width,c=o.filter(function(h){var d=h.getModel();return a.parentId,d.id!==a.id&&!t.currentItemChildCombos.includes(d.id)});c.map(function(h){var d=h.getBBox(),p=d.centerX,v=d.centerY,m=d.width,g=l-p,x=u-v,b=2*Math.sqrt(g*g+x*x);f+m-b>.8*f?n.setItemState(h,t.activeState,!0):n.setItemState(h,t.activeState,!1)})}(0,PS.each)(this.targets,function(h){t.updateCombo(h,e)})}},updatePositions:function(e,t){var n=this;(this.enableDelegate||t)&&(0,PS.each)(this.targets,function(i){n.updateCombo(i,e,t)})},onDrop:function(e){var t=this,n=e.item;if(this.currentShouldEnd=this.shouldEnd.call(this,e,n),this.updatePositions(e,!this.currentShouldEnd),!(!this.currentShouldEnd||!n||!this.targets||n.destroyed)){var i=this.graph,a=n.getModel();this.targets.map(function(o){var s=o.getModel();s.parentId!==a.id?(t.activeState&&i.setItemState(n,t.activeState,!1),t.onlyChangeComboSize?i.updateCombo(o):i.updateComboTree(o,a.id)):i.updateCombo(n)}),this.end(n,e),this.endComparison=!0}},onNodeDrop:function(e){var t=this;if(!(!this.targets||this.targets.length===0)){var n=this.graph,i=e.item,a=i.getModel().comboId,o=a?n.findById(a):void 0;if(this.currentShouldEnd=this.shouldEnd.call(this,e,o),this.updatePositions(e,!this.currentShouldEnd),!!this.currentShouldEnd){var s;if(a){if(this.activeState){var l=n.findById(a);n.setItemState(l,this.activeState,!1)}this.targets.map(function(u){t.onlyChangeComboSize?n.updateCombo(u):a!==u.getID()&&(s=n.findById(a),a!==u.getModel().parentId&&n.updateComboTree(u,a))})}else this.targets.map(function(u){if(t.onlyChangeComboSize)n.updateCombo(u);else{var f=u.getModel();f.comboId&&n.updateComboTree(u)}});this.endComparison=!0,this.end(s,e)}}},onDragEnter:function(e){if(!!this.origin&&!!this.validationCombo(e)){var t=e.item,n=this.graph;this.activeState&&n.setItemState(t,this.activeState,!0)}},onDragLeave:function(e){if(!!this.origin&&!!this.validationCombo(e)){var t=e.item,n=this.graph;this.activeState&&n.setItemState(t,this.activeState,!1)}},onDragEnd:function(e){if(!(!this.targets||this.targets.length===0)){var t=e.item;this.currentShouldEnd&&this.updatePositions(e);var n=this.getParentCombo(t.getModel().parentId),i=this.graph;n&&this.activeState&&i.setItemState(n,this.activeState,!1),this.end(void 0,e)}},end:function(e,t){var n=this;if(!!this.origin){var i=this.graph;if(this.delegateShape){var a=i.get("delegateGroup");a.clear(),this.delegateShape=null}e&&this.activeState&&i.setItemState(e,this.activeState,!1),e||this.targets.map(function(o){n.onlyChangeComboSize?i.updateCombo(o):i.updateComboTree(o)}),this.point=[],this.origin=null,this.originPoint=null,this.targets.length=0}},traverse:function(e,t){var n=this;if(t(e)!==!1&&e){var i=e.get("combos");(0,PS.each)(i,function(o){n.traverse(o,t)});var a=e.get("nodes");(0,PS.each)(a,function(o){n.traverse(o,t)})}},updateCombo:function(e,t,n){var i=this;this.traverse(e,function(a){return a.destroyed?!1:(i.updateSignleItem(a,t,n),!0)})},updateSignleItem:function(e,t,n){var i=this.origin,a=this.graph,o=e.getModel(),s=e.get("id");this.point[s]||(this.point[s]={x:o.x,y:o.y});var l=t.x-i.x+this.point[s].x,u=t.y-i.y+this.point[s].y;n&&(l+=i.x-t.x,u+=i.y-t.y),a.updateItem(e,{x:l,y:u})},getParentCombo:function(e){var t=this.graph;if(!!e){var n=t.findById(e);if(!!n)return n}},updateDelegate:function(e){var t=this.graph;if(this.delegateShape){var h=e.x-this.origin.x+this.originPoint.minX,d=e.y-this.origin.y+this.originPoint.minY;this.delegateShape.attr({x:h,y:d})}else{var n=t.get("delegateGroup"),i=null;this.targets.length>1?i=hve(this.targets):i=this.targets[0].getBBox();var a=i.x,o=i.y,s=i.width,l=i.height,u=i.minX,f=i.minY;this.originPoint={x:a,y:o,width:s,height:l,minX:u,minY:f};var c=E(E({},_c.delegateStyle),this.delegateStyle);this.delegateShape=n.addShape("rect",{attrs:E({width:i.width,height:i.height,x:i.x,y:i.y},c),name:"combo-delegate-shape"}),this.delegateShape.set("capture",!1),this.delegate=this.delegateShape}}};var eAt="dblclick",pve=["click","dblclick"],rAt={getDefaultCfg:function(){return{trigger:eAt,relayout:!0}},getEvents:function(){var e,t;return pve.includes(this.trigger)?t=this.trigger:(t=eAt,console.warn("Behavior collapse-expand-group \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click' \u6216 'dblclick'")),e={},e["combo:".concat(t)]="onComboClick",e},onComboClick:function(e){var t=e.item,n=this,i=n.graph,a=n.relayout;if(!(!t||t.destroyed||t.getType()!=="combo")){var o=t.getModel(),s=o.id;!s||(i.collapseExpandCombo(s),a&&i.get("layout")?i.layout():i.refreshPositions())}}};var vve=al.isPolygonsIntersect,mve=al.pathToPoints,nAt="shift",gve=["drag","shift","ctrl","alt","control"],yve=function(e,t){var n,i=e.getKeyShape();if(e.get("type")==="path")n=mve(i.attr("path"));else{var a=i.getCanvasBBox();n=[[a.minX,a.minY],[a.maxX,a.minY],[a.maxX,a.maxY],[a.minX,a.maxY]]}return vve(t,n)},iAt={getDefaultCfg:function(){return{delegateStyle:{fill:"#EEF6FF",fillOpacity:.4,stroke:"#DDEEFE",lineWidth:1},onSelect:function(){},onDeselect:function(){},selectedState:"selected",trigger:nAt,includeEdges:!0,selectedEdges:[],selectedNodes:[]}},getEvents:function(){return gve.indexOf(this.trigger.toLowerCase())>-1||(this.trigger=nAt,console.warn("Behavior lasso-select \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'")),this.trigger==="drag"?{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd","canvas:click":"clearStates"}:{dragstart:"onDragStart",drag:"onDragMove",dragend:"onDragEnd",keyup:"onKeyUp",keydown:"onKeyDown","canvas:click":"clearStates"}},onDragStart:function(e){var t=this.lasso,n=e.item;n||this.trigger!=="drag"&&!this.keydown||(this.selectedNodes&&this.selectedNodes.length!==0&&this.clearStates(),t||(t=this.createLasso()),this.dragging=!0,this.originPoint={x:e.x,y:e.y},this.points.push(this.originPoint),t.show())},onDragMove:function(e){!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.points.push({x:e.x,y:e.y}),this.updateLasso(e))},onDragEnd:function(e){!this.lasso&&!this.dragging||this.trigger!=="drag"&&!this.keydown||(this.points.push(this.originPoint),this.getSelectedItems(),this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1)},getLassoPath:function(){var e=this.points,t=[];return e.length&&(e.forEach(function(n,i){i===0?t.push(["M",n.x,n.y]):t.push(["L",n.x,n.y])}),t.push(["L",e[0].x,e[0].y])),t},clearStates:function(){var e=this,t=e.graph,n=e.selectedState,i=t.findAllByState("node",n),a=t.findAllByState("edge",n);i.forEach(function(o){return t.setItemState(o,n,!1)}),a.forEach(function(o){return t.setItemState(o,n,!1)}),this.onDeselect&&this.onDeselect(this.selectedNodes,this.selectedEdges),this.selectedNodes=[],this.selectedEdges=[],t.emit("nodeselectchange",{selectedItems:{nodes:[],edges:[]},select:!1})},getSelectedItems:function(){var e=this,t=this,n=t.graph,i=t.shouldUpdate,a=this.points.map(function(f){return[n.getCanvasByPoint(f.x,f.y).x,n.getCanvasByPoint(f.x,f.y).y]}),o=this.selectedState,s=[],l=[];n.getNodes().forEach(function(f){if(!!f.isVisible()&&yve(f,a)&&i(f,"select")){s.push(f);var c=f.getModel();l.push(c.id),n.setItemState(f,o,!0)}});var u=[];this.includeEdges&&s.forEach(function(f){var c=f.getOutEdges();c.forEach(function(h){if(!!h.isVisible()){var d=h.getModel(),p=d.source,v=d.target;l.includes(p)&&l.includes(v)&&i(h,"select")&&(u.push(h),n.setItemState(h,e.selectedState,!0))}})}),this.selectedEdges=u,this.selectedNodes=s,this.onSelect&&this.onSelect(s,u),n.emit("nodeselectchange",{selectedItems:{nodes:s,edges:u},select:!0})},createLasso:function(){var e=this,t=e.graph.get("delegateGroup").addShape("path",{attrs:E({path:[]},e.delegateStyle),capture:!1,name:"lasso-shape"});return this.lasso=t,this.delegate=t,this.points=[],t},updateLasso:function(e){var t=this;this.lasso.attr({path:t.getLassoPath()})},onKeyDown:function(e){var t=e.key;!t||(t.toLowerCase()===this.trigger.toLowerCase()?this.keydown=!0:this.keydown=!1)},onKeyUp:function(){this.lasso&&(this.lasso.remove(!0),this.lasso=null,this.points=[],this.dragging=!1),this.keydown=!1}};var zX=z(q()),aAt="click",xve=["click","drag"],oAt=void 0,bve=["shift","ctrl","control","alt","meta",void 0],sAt={getDefaultCfg:function(){return{trigger:aAt,key:oAt,edgeConfig:{},getEdgeConfig:void 0}},getEvents:function(){var e=this;xve.indexOf(e.trigger.toLowerCase())>-1||(e.trigger=aAt,console.warn("Behavior create-edge \u7684 trigger \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'click'\uFF0C'drag'")),e.key&&bve.indexOf(e.key.toLowerCase())===-1&&(e.trigger=oAt,console.warn("Behavior create-edge \u7684 key \u53C2\u6570\u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'shift'\uFF0C'ctrl'\uFF0C'alt'\uFF0C'control'\uFF0C\u6216 undefined"));var t;return e.trigger==="drag"?t={"node:dragstart":"onClick","combo:dragstart":"onClick",drag:"updateEndPoint","node:drop":"onClick","combo:drop":"onClick",dragend:"onDragEnd"}:e.trigger==="click"&&(t={"node:click":"onClick",mousemove:"updateEndPoint","edge:click":"cancelCreating","canvas:click":"cancelCreating","combo:click":"onClick"}),e.key&&(t.keydown="onKeyDown",t.keyup="onKeyUp"),t},onDragEnd:function(e){var t=this;if(!(t.key&&!t.keydown)){var n=e.item;(!n||n.getID()===t.source||n.getType()!=="node")&&t.cancelCreating({item:t.edge,x:e.x,y:e.y})}},onClick:function(e){var t=this;if(!(t.key&&!t.keydown)){var n=e.item,i=t.graph,a=n.getModel(),o=t.getEdgeConfig;if(t.addingEdge&&t.edge){if(!t.shouldEnd.call(t,e))return;var s=void 0;o&&(0,zX.isFunction)(o)?s=o({source:t.source,target:a.id}):s=t.edgeConfig;var l=E({target:a.id},s);if(t.source===a.id&&(l.type="loop"),i.emit("beforecreateedge",{}),i.updateItem(t.edge,l,!1),i.get("enabledStack")){var u=E(E({},t.edge.getModel()),{itemType:"edge"}),f={};f.edges=[u],i.pushStack("add",{before:{},after:f})}i.emit("aftercreateedge",{edge:t.edge}),t.edge.getKeyShape().set("capture",!0),t.edge=null,t.addingEdge=!1}else{if(!t.shouldBegin.call(t,e))return;var s=void 0;o&&(0,zX.isFunction)(o)?s=o({source:a.id,target:a.id}):s=t.edgeConfig,t.edge=i.addItem("edge",E({source:a.id,target:a.id},s),!1),t.source=a.id,t.addingEdge=!0,t.edge.getKeyShape().set("capture",!1)}}},updateEndPoint:function(e){var t=this;if(!(t.key&&!t.keydown)){t.edge&&t.edge.destroyed&&t.cancelCreating({item:t.edge});var n={x:e.x,y:e.y};if(!t.graph.findById(t.source)){t.addingEdge=!1;return}t.addingEdge&&t.edge&&t.graph.updateItem(t.edge,{target:n},!1)}},cancelCreating:function(e){var t,n,i=this;if(!(i.key&&!i.keydown)){var a=i.graph,o=e.item;if(i.addingEdge&&(i.edge===o||((n=(t=e.target)===null||t===void 0?void 0:t.isCanvas)===null||n===void 0?void 0:n.call(t)))){i.edge&&!i.edge.destroyed&&a.removeItem(i.edge,!1),i.edge=null,i.addingEdge=!1;return}}},onKeyDown:function(e){var t=this,n=e.key;!n||(n.toLowerCase()===t.key.toLowerCase()?t.keydown=!0:t.keydown=!1)},onKeyUp:function(){var e=this;e.addingEdge&&e.edge&&(e.graph.removeItem(e.edge,!1),e.addingEdge=!1,e.edge=null),this.keydown=!1}};var lAt="ctrl",_ve=["shift","ctrl","alt","control"],Sve="1",uAt={getDefaultCfg:function(){return{trigger:lAt,combinedKey:Sve,functionName:"fitView",functionParams:[]}},getEvents:function(){return _ve.indexOf(this.trigger.toLowerCase())>-1||(this.trigger=lAt,console.warn("Behavior shortcuts-fit-view \u7684 trigger \u53C2\u6570 '".concat(this.trigger,"' \u4E0D\u5408\u6CD5\uFF0C\u8BF7\u8F93\u5165 'drag'\u3001'shift'\u3001'ctrl' \u6216 'alt'"))),this.combinedKey===this.trigger&&(this.combinedKey=void 0),{keyup:"onKeyUp",keydown:"onKeyDown"}},onKeyDown:function(e){var t=e.key;if(!!t){var n=this.trigger.toLowerCase(),i=t.toLowerCase();this.triggerKeydown||(i===n||i==="control"&&n==="ctrl"||i==="ctrl"&&n==="control"?this.triggerKeydown=!0:this.triggerKeydown=!1);var a=this.graph;if(!a[this.functionName])return console.warn("Behavior shortcuts-fit-view \u7684 functionName \u53C2\u6570 '".concat(this.functionName,"' \u4E0D\u5408\u6CD5\uFF0C\u5B83\u4E0D\u662F Graph \u7684\u4E00\u4E2A\u51FD\u6570\u540D")),{};if(this.triggerKeydown&&!this.combinedKey){this.functionParams&&this.functionParams.length?a[this.functionName].apply(a,this.functionParams):a[this.functionName]();return}var o=this.combinedKey.toLowerCase();this.triggerKeydown&&(i===o||i==="control"&&o==="ctrl"||i==="ctrl"&&o==="control")&&(this.functionParams&&this.functionParams.length?a[this.functionName].apply(a,this.functionParams):a[this.functionName]())}},onKeyUp:function(){this.brush&&(this.brush.remove(!0),this.brush=null,this.dragging=!1),this.triggerKeydown=!1}};var Cve=["shift","ctrl","alt","control"],fAt={getDefaultCfg:function(){return{direction:"both",enableOptimize:!1,zoomKey:"ctrl",scalableRange:0}},getEvents:function(){return(!this.zoomKey||Cve.indexOf(this.zoomKey)===-1)&&(this.zoomKey="ctrl"),{wheel:"onWheel"}},onWheel:function(e){var t=this,n=this.graph,i=e["".concat(this.zoomKey,"Key")];if(this.zoomKey==="control"&&(i=e.ctrlKey),i){var a=n.get("canvas"),o=a.getPointByClient(e.clientX,e.clientY),s=n.getZoom();e.wheelDelta>0?s=s+s*.05:s=s-s*.05,n.zoomTo(s,{x:o.x,y:o.y})}else{var l=e.deltaX||e.movementX,u=e.deltaY||e.movementY;!u&&navigator.userAgent.indexOf("Firefox")>-1&&(u=-e.wheelDelta*125/3);var f=this.graph.get("width"),c=this.graph.get("height"),h=this.graph.get("canvas").getCanvasBBox(),d=this.scalableRange,p=this.scalableRange;d<1&&d>-1&&(d=f*d,p=c*p);var v=h.minX,m=h.maxX,g=h.minY,x=h.maxY;l>0?m<-d?l=0:m-l<-d&&(l=m+d):l<0&&(v>f+d?l=0:v-l>f+d&&(l=v-(f+d))),u>0?x<-p?u=0:x-u<-p&&(u=x+p):u<0&&(g>c+p?u=0:g-u>c+p&&(u=g-(c+p))),this.get("direction")==="x"?u=0:this.get("direction")==="y"&&(l=0),n.translate(-l,-u)}e.preventDefault();var b=this.get("enableOptimize");if(b){var S=this.get("optimizeZoom"),C=this.get("optimized"),w=n.getNodes(),A=n.getEdges(),L=w.length,k=A.length;if(!C){for(var O=0;O0&&a[a.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]0?(m=jve(r.get("data"),l,p),r.changeData(m),r.get("fitCenter")&&(r.fitCenter(),r.stopAnimate())):(r.updateItem(a,{collapsed:!s}),r.layout()),x.label=3;case 3:return[2]}})})};r.on("node:click",function(i){n(i)}),r.on("node:touchstart",function(i){n(i)})},vAt=function(r,e,t){var n=cl(e),i=n;t&&(i=FS(e),n=BS(i,t)),r.data(n),r.set("eventData",new Bve(i)),r.render(),r.get("canvas").set("localRefresh",!1)},gT={},yT=function(r,e){r===void 0&&(r={});var t=e==null?void 0:e.get("id");if(!e||e.destroyed){gT[t]=null;return}if((!r||!r.show)&&gT[t]){var n=e.get("plugins")[0];n&&e.removePlugin(n),gT[t]=null}if(r.show&&!gT[t]){var i=Object.assign(hAt,r),a=new Ur.Minimap(fl(fl({},i),{id:t}));return e.addPlugin(a),gT[t]=a,a}return null},Gve=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r=="x"?e:e&3|8;return t.toString(16)})},mAt=function(r){return r.current||(r.current="graph-".concat(Gve())),r.current},xT=function(r,e){r===void 0&&(r="right");var t=e[0],n=e[1],i=0,a=0;switch(r){case"top":i=t/2,a=0;break;case"right":i=t,a=n/2;break;case"bottom":i=t/2,a=n;break;case"left":i=0,a=n/2;break}return{x:i,y:a}},gAt=function(r){var e=function(t){var n,i=r.get("eventData").getData();if(t.target.get("name")==="collapse-icon"){var a=t.item,o=a.getModel().collapsed;Fve(o,"Boolean")||(o=(n=a._cfg.group.getChildren().find(function(v){return v.get("name")==="main-box"}))===null||n===void 0?void 0:n.attr("defaultCollapsed"));var s=t.item._cfg.group.getChildren().find(function(v){return v.cfg.type==="marker"}),l=(i!=null?i:{}).edges,u=l===void 0?[]:l,f=a.getModel().id,c=[],h=[],d=[],p=function(v){u.forEach(function(m){var g=m.source,x=m.target;g===v&&(c.push(x),p(x))})};p(f),o?(r.findAll("node",function(v){var m=i.nodes.find(function(g){return g.id===v.get("id")}).collapsedLevel;return c.includes(v.get("id"))&&(!m||m<2)}).forEach(function(v){return r.showItem(v)}),i.nodes.forEach(function(v){var m=v.collapsedLevel,g=m===void 0?0:m,x=v.id;c.includes(x)&&(v.collapsedLevel=g-1)})):(r.findAll("node",function(v){return c.includes(v.get("id"))}).forEach(function(v){return r.hideItem(v)}),i.nodes.forEach(function(v){var m=v.collapsedLevel,g=m===void 0?0:m,x=v.id;c.includes(x)&&(v.collapsedLevel=g+1)})),u.forEach(function(v){var m=v.source,g=v.target;c.includes(g)&&d.push(m)}),d=Array.from(new Set(d)),d.forEach(function(v){h.push(r.find("node",function(m){return m.get("id")===v}))}),h.forEach(function(v){r.updateItem(v,{collapsed:!v.getModel().collapsed}),r.refreshItem(v)})}};r.on("node:click",function(t){e(t)}),r.on("node:touchstart",function(t){e(t)})},yx=function(r){if(typeof r=="number")return[r,r,r,r];var e=[];switch(r.length){case 1:e=[r[0],r[0],r[0],r[0]];break;case 2:e=[r[0],r[1],r[0],r[1]];break;case 3:e=[r[0],r[1],r[2],r[1]];break;case 4:e=r;break;default:break}return e},Du=function(r,e){if(!!r&&!(typeof r=="object"&&(r==null?void 0:r.show)===!1)){var t=typeof r=="function"?r(e):r,n=t.type,i=n===void 0?"vee":n,a=t.d,o=a===void 0?0:a,s=t.size,l=s===void 0?10:s;return fl({path:Ur.Arrow[i](l,l,o),fill:"#ccc",d:o},t)}},yAt=function(r,e){var t=e!=null?e:{},n=t.nodeCfg,i=n===void 0?{}:n,a=t.edgeCfg,o=a===void 0?{}:a,s=i.nodeStateStyles,l=o.edgeStateStyles,u={},f=function(d,p,v){r.updateItem(d,{style:{endArrow:!!p&&{fill:p},startArrow:!!v&&{fill:v}}})},c=function(d,p,v){var m,g,x;v?d.toFront():d.toBack();var b=(m=d.getModel().style)!==null&&m!==void 0?m:{},S=b.endArrow,C=b.startArrow;if(S||C){if(!u[d.getID()]){var w=(S!=null?S:{}).fill,A=(C!=null?C:{}).fill,L=(x=(g=d.getModel().style)===null||g===void 0?void 0:g[p])===null||x===void 0?void 0:x.stroke;u[d.getID()]=[[L!=null?L:w,w],[L!=null?L:A,A]]}var k=u[d.getID()];f(d,S&&k[0][v?0:1],C&&k[1][v?0:1])}r.setItemState(d,p,v)},h=function(d,p,v,m){var g=m==="node"?r.findAll("edge",function(b){return b.getSource()===d||b.getTarget()===d}):r.findAll("node",function(b){return d.getSource().get("id")===b.get("id")||d.getTarget().get("id")===b.get("id")}),x=[d].concat(g);x.forEach(function(b){c(b,p,v)})};s&&(r.on("node:mouseenter",function(d){var p=d.item;h(p,"hover",!0,"node")}),r.on("node:mouseleave",function(d){var p=d.item;h(p,"hover",!1,"node")})),l&&(r.on("edge:mouseenter",function(d){var p=d.item;h(p,"hover",!0,"edge")}),r.on("edge:mouseleave",function(d){var p=d.item;h(p,"hover",!1,"edge")}))},Ns=function(r,e,t,n){return typeof r=="function"?r(e,t,n)||{}:r||{}},cv=function(r,e,t){return typeof r=="function"?r(e,t):r},_F=function(r){return Array.isArray(r)?r:r?[r,r]:Ng},yd=4,xAt=function(r){if(!r)return[0,0,0,0];var e=r.size,t=e===void 0?[]:e,n=r.position,i=n===void 0?"left":n,a=_F(t),o=a[0],s=a[1],l=[];switch(i){case"top":l.push(s!=null?s:yd,0,0,0);break;case"right":l.push(0,o!=null?o:yd,0,0);break;case"bottom":l.push(0,0,s!=null?s:yd,0);break;case"left":l.push(0,0,0,o!=null?o:yd);break}return l},bAt=function(r,e){var t=r!=null?r:{},n=t.size,i=n===void 0?[]:n,a=t.position,o=a===void 0?"left":a,s=_F(i),l=s[0],u=s[1],f=e[0],c=e[1],h=0,d=0,p=0,v=0;switch(o){case"top":h=0,d=0,p=l!=null?l:f,v=u!=null?u:yd;break;case"left":h=0,d=0,p=l!=null?l:yd,v=u!=null?u:c;break;case"right":h=f-((0,Ic.isNumber)(l)?l:yd),d=0,p=l!=null?l:yd,v=u!=null?u:c;break;case"bottom":h=0,d=c-((0,Ic.isNumber)(u)?u:yd),p=l!=null?l:f,v=u!=null?u:yd;break}return{x:h,y:d,width:p,height:v}},NS=function(r,e,t){var n=r.show,i=r.position,a=r.collapsed,o=r.style;n&&e.addShape("marker",{attrs:fl(fl(fl({},xT(i,t)),{r:6,cursor:"pointer",symbol:a?Ur.Marker.expand:Ur.Marker.collapse,stroke:kS.stroke,lineWidth:1,fill:"#fff"}),o),defaultCollapsed:!1,name:"collapse-icon"})},jX=function(r){var e={};return Object.keys(r).forEach(function(t){var n=r[t];if((0,Ic.isObject)(n)){var i={};Object.keys(n).forEach(function(a){var o=n[a];a==="img"&&!(0,Ic.isString)(o)||(i[a]=(0,Ic.clone)(o))}),e[t]=i}else e[t]=(0,Ic.clone)(n)}),e},SF=function(r,e){e===void 0&&(e={});var t=Object.keys(e);t.forEach(function(n){r.style[n]=e[n]})},FS=function(r,e,t,n){var i;e===void 0&&(e=0),t===void 0&&(t=""),n===void 0&&(n="");var a=r.id,o=r.children,s=o===void 0?[]:o;return fl(fl((i={},i["".concat(fv,"_level")]=e,i["".concat(fv,"_parentId")]=t,i["".concat(fv,"_currentPath")]=n,i),r),{children:s==null?void 0:s.map(function(l,u){return FS(l,e+1,t?"".concat(t,"-").concat(a):a,"".concat(n,"-").concat(u))})})},BS=function(r,e){var t=r.children,n=t===void 0?[]:t,i=r.g_level,a=i===void 0?0:i;return e<=0?r:fl(fl({},r),{children:a+1 renderIcon({zoomIn, xx})"),h({zoomIn:b,zoomOut:S,toggleFullscreen:C,fullscreen:p})):ht.createElement(ws,null,p?ht.createElement("span",{style:{cursor:"pointer"},onClick:C},"\u2684"):ht.createElement("span",{style:{cursor:"pointer"},onClick:C},"\u2610"),ht.createElement("span",{style:{cursor:"pointer"},onClick:b},"+"),ht.createElement("span",{style:{cursor:"pointer"},onClick:S},"-"))},CAt=function(r){var e,t=r.graph,n=r.container,i=r.toolbarCfg,a=i.style,o=i.show,s=i.className,l="".concat(t.get("id"),"-toolbar"),u=document.querySelector("#".concat(l));if(u&&((e=u.parentNode)===null||e===void 0||e.removeChild(u)),!!o){var f={position:"absolute",right:"12px",top:"12px",display:"flex",flexDirection:"column",padding:"6px",borderRadius:"2px",fontSize:"24px",textAlign:"center",lineHeight:"24px",color:"rgba(0,0,0,.65)",backgroundColor:"#fff",boxShadow:"0 0 3px #ccc"},c=document.createElement("div");c.id=l,c.className=s!=null?s:"charts-toolbar",SF(c,f),SF(c,a),ht.render(ht.createElement(Yve,{graph:t,container:n,toolbarCfg:i}),c),n.appendChild(c)}};var xd=function(){return xd=Object.assign||function(r){for(var e,t=1,n=arguments.length;t15?0:16,c=l<0?f:-f,h={x:i+u,y:s+c},d={x:h.x+f,y:s},p={x:(h.x-i)*(s-a)/(h.y-a)+i,y:s},v=[["M",i,a],["L",h.x,h.y],["Q",p.x,p.y,d.x,d.y],["L",o,s]];Math.abs(l)<=5&&(v=[["M",i,a],["L",o,s]]);var m=e,g=m.startArrow,x=m.endArrow,b=Du(g,r),S=Du(x,r);return{startArrow:b,endArrow:S,path:v,line2StartPoint:d,endY:s}},LAt=function(r){var e,t;return r instanceof Object?(e=r.text,t=r.subText):e=r,{text:e,subText:t}},OAt=function(){Ur.registerNode("fund-card",{draw:function(r,e){var t,n;r===void 0&&(r={});var i=r.value,a=i===void 0?{}:i,o=r.nodeCfg,s=r.markerCfg,l=o,u=l.label,f=u===void 0?{}:u,c=l.style,h=l.padding,d=h===void 0?0:h,p=l.customContent,v=f.style,m=yx(d),g=_F(r.size),x=0,b=g[0],S=b-m[1]-m[3],C=g[1]-m[0]-m[2],w=Ns(c,r,e),A=e.addShape("rect",{attrs:Mf({x:0,y:0,width:g[0],height:g[1],radius:g[1]/2,fill:"#fff",stroke:"#40a9ff"},w),name:"main-box",draggable:!0});if(a){x+=m[0];var L=function(H,tt,et){var ut,$,st=H.text,_t=H.icon,dt,gt;return _t&&(gt=e.addShape("image",{attrs:Mf({x:et,y:x,img:_t,width:C,height:C},Ns(v,r,e,"icon")),name:"fund-icon"})),dt=e==null?void 0:e.addShape("text",{attrs:Mf(Mf({textBaseline:"middle",textAlign:gt?"start":"center",x:et+(gt?(gt==null?void 0:gt.getBBox().width)+RS:tt/2),y:m[0]+C/2,text:st},Gg),Ns(v,r,e,"text")),name:"fund-text"}),[(ut=dt==null?void 0:dt.getBBox().height)!==null&&ut!==void 0?ut:0,($=gt==null?void 0:gt.getBBox().height)!==null&&$!==void 0?$:0]},k=function(H){var tt,et=[];p?et.push((tt=p(H,e,{startX:m[3],startY:x,width:S}))!==null&&tt!==void 0?tt:0):et.push.apply(et,L(H,S,m[3])),x+=Math.max.apply(Math,et)};k(a)}if(A==null||A.attr("height",Math.max(g[1],x+m[2])),s){var O=((n=(t=e==null?void 0:e.get("item"))===null||t===void 0?void 0:t.getModel())!==null&&n!==void 0?n:{}).collapsed,M=A.getBBox(),I=M.width,R=M.height,P=typeof s=="function"?s(r,e):s,F=P.show,D=P.position,G=D===void 0?"right":D,U=P.collapsed,j=P.style;NS({show:F,position:G,collapsed:O!=null?O:U,style:j},e,[I,R]),A.attr("defaultCollapsed",U)}return A},update:void 0},"single-node"),Ur.registerEdge("fund-line",{draw:function(e,t){e===void 0&&(e={});var n=e.edgeCfg,i=e.value,a=LAt(i),o=a.text,s=a.subText,l=n,u=l.style,f=l.label,c=IAt(e),h=c.startArrow,d=c.endArrow,p=c.path,v=c.line2StartPoint,m=c.endY,g=(f!=null?f:{}).style,x=t.addShape("path",{attrs:Mf({path:p,stroke:"#ccc",startArrow:h,endArrow:d},typeof u=="function"?u(e,t):u),name:"path-shape"}),b=function(S,C){t.addShape("text",{attrs:Mf(Mf({text:S,x:v.x,y:C==="text"?m-4:m+16},Gg),Ns(g,e,t,C)),name:"line-text-".concat(C)})};return o&&b(o,"text"),s&&b(s,"subText"),x},update:function(r,e){var t=r.edgeCfg,n=r.value,i=LAt(n),a=i.text,o=i.subText,s=e.getContainer(),l=function(C){return s.get("children").find(function(w){return w.get("name")===C})},u=IAt(r),f=u.startArrow,c=u.endArrow,h=u.path,d=u.line2StartPoint,p=u.endY,v=t,m=v.style,g=v.label,x=(g!=null?g:{}).style,b=l("path-shape");b==null||b.attr(Mf({path:h,stroke:"#ccc",startArrow:f,endArrow:c},typeof m=="function"?m(r,s):m));var S=["text","subText"];S.forEach(function(C){var w=l("line-text-".concat(C));w==null||w.attr(Mf(Mf({x:d.x,y:C==="text"?p-4:p+16,text:C==="text"?a:o},Gg),Ns(x,r,s,C)))})}},"single-edge")};var dme=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);ix.width+16?n[0]:x.width+16;s.attr({width:S,height:b}),d==null||d.attr("width",S),p==null||p.attr({x:S,y:b/2})}return s},update:void 0},"single-node"),Ur.registerNode("round-rect",{drawShape:function(r,e){r===void 0&&(r={});var t=r.size||[100,30];typeof t=="number"&&(t=[t,t]);var n=r.style||{},i=n.stroke||r.color||"#5B8FF9",a=n.fill||"#fff";n=ms({width:t[0],height:t[1],radius:t[1]/2,fill:a,lineWidth:1.2,stroke:i},n);var o=e.addShape("rect",{attrs:ms({x:-t[0]/2,y:-t[1]/2},n),name:"rect-shape"});return e.addShape("circle",{attrs:{x:-t[0]/2,y:0,r:3,fill:n.stroke},name:"circle-shape"}),e.addShape("circle",{attrs:{x:t[0]/2,y:0,r:3,fill:n.stroke},name:"circle-shape2"}),o},getAnchorPoints:function(){return[[0,.5],[1,.5]]},update:function(e,t){var n;e===void 0&&(e={});var i=t.getContainer(),a=i.get("children"),o=a[0],s=a[1],l=a[2],u=((n=e.style)===null||n===void 0?void 0:n.stroke)||"#5B8FF9";u&&(o.attr("stroke",u),s.attr("fill",u),l.attr("fill",u))}},"single-node"),Ur.registerEdge("fund-polyline",{draw:function(e,t){var n;e===void 0&&(e={});var i=e.startPoint,a=e.endPoint,o=a.y-i.y,s=o!==0?Math.min(500/Math.abs(o),20):0,l=s>15?0:16,u=o<0?l:-l,f={x:i.x+s,y:a.y+u},c={x:f.x+l,y:a.y},h={x:(f.x-i.x)*(a.y-i.y)/(f.y-i.y)+i.x,y:a.y},d=[["M",i.x,i.y],["L",f.x,f.y],["Q",h.x,h.y,c.x,c.y],["L",a.x,a.y]];Math.abs(o)<=5&&(d=[["M",i.x,i.y],["L",a.x,a.y]]);var p=e.style,v=p.stroke||(e==null?void 0:e.colorMap)&&e.colorMap[e.dataType]?(e==null?void 0:e.colorMap)[e==null?void 0:e.dataType]:"#5B8FF9",m=((n=e.style)===null||n===void 0?void 0:n.endArrow)||!1;(0,PAt.isObject)(m)&&(m.fill=v);var g=t.addShape("path",{attrs:{path:d,stroke:v,lineWidth:p.lineWidth||1.2,endArrow:m},name:"path-shape"}),x=0,b=8,S,C=c.x+x;if((e==null?void 0:e.label)&&(S=t.addShape("text",{attrs:{text:e.label,x:C,y:a.y-b-2,fontSize:14,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-label"})),e==null?void 0:e.dataType){var w=S?S.getBBox():{height:0};t.addShape("text",{attrs:{text:e.dataType,x:C,y:a.y-b-w.height-2,fontSize:10,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-type"})}return(e==null?void 0:e.subLabel)&&t.addShape("text",{attrs:{text:e.subLabel,x:C,y:a.y+b+4,fontSize:12,fontWeight:300,textAlign:"left",textBaseline:"middle",fill:"#000"},name:"text-shape-sub-label"}),g},update:void 0},"single-edge"),Ur.registerEdge("flow-line",{draw:function(r,e){r===void 0&&(r={});var t=r.startPoint,n=r.endPoint,i=r.style,a=i===void 0?{}:i,o=e.addShape("path",{attrs:{stroke:a.stroke,endArrow:a.endArrow,path:[["M",t.x,t.y],["L",t.x,(t.y+n.y)/2],["L",n.x,(t.y+n.y)/2],["L",n.x,n.y]]}});return o}})},kAt=function(r){Ur.registerNode("icon-node",{options:{size:[60,20],stroke:"#91d5ff",fill:"#91d5ff"},draw:function(e,t){e===void 0&&(e={});var n=this.getShapeStyle(e),i=e.labelCfg,a=i===void 0?{}:i,o=t.addShape("rect",{attrs:ms(ms({},n),{x:0,y:0})}),s={fill:"#e6fffb"},l="https://g.alicdn.com/cm-design/arms-trace/1.0.155/styles/armsTrace/images/TAIR.png";return e.leftIcon&&(s=ms(ms({},s),e.leftIcon.style),l=e.leftIcon.img),t.addShape("rect",{attrs:ms({x:1,y:1,width:38,height:n.height-2},s)}),t.addShape("image",{attrs:{x:8,y:8,width:24,height:24,img:l},name:"image-shape"}),r.enableEdit&&(t.addShape("marker",{attrs:{x:n.width/3,y:n.height+6,r:6,stroke:"#73d13d",cursor:"pointer",symbol:Ur.Marker.expand},name:"add-item"}),t.addShape("marker",{attrs:{x:n.width*2/3,y:n.height+6,r:6,stroke:"#ff4d4f",cursor:"pointer",symbol:Ur.Marker.collapse},name:"remove-item"})),e.label&&t.addShape("text",{attrs:ms(ms({},a.style),{text:e.label,x:n.width/2,y:n.height/1.5})}),o}},"rect")};var Pu={style:{fill:"#000",fontSize:12}},zS={stroke:"#91d5ff",endArrow:{path:Ur.Arrow.vee(10,10)}},US=[[.5,0],[.5,1]],go={hover:{stroke:"#1890ff",lineWidth:2}},jS=[120,40];var zg=function(){return zg=Object.assign||function(r){for(var e,t=1,n=arguments.length;tdt.width+16?u[0]:dt.width+16;p.attr({width:U,height:f+16}),C==null||C.attr("width",U),w==null||w.attr(Fi({},VX(l,[U,f+S+2*AF])))}return p},update:void 0},"single-node")},jAt=function(){Ur.registerNode("icon-node",{options:{size:[60,20],stroke:"#91d5ff",fill:"#91d5ff"},draw:function(r,e){r===void 0&&(r={});var t=this.getShapeStyle(r),n=r.labelCfg,i=n===void 0?{}:n,a=r.labelStyle,o=r.label,s=r.markerStyle,l=r.showMarker,u=r.title,f=r.titleStyle,c=e.addShape("rect",{attrs:Fi(Fi({},t),{x:0,y:0})}),h=c.getBBox().height,d;if(r.leftIcon){var p=r.leftIcon,v=p.x,m=v===void 0?8:v,g=p.y,x=p.width,b=x===void 0?24:x,S=p.height,C=S===void 0?24:S,w=p.style;w&&e.addShape("rect",{attrs:Fi({x:1,y:1,width:38,height:t.height-2},w)}),d=e.addShape("image",{attrs:{x:m,y:g||h/2-C/2,width:b,height:C,img:r.leftIcon.img},name:"image-shape"})}if(l&&(e.addShape("marker",{attrs:Fi({x:t.width/3,y:t.height+6,r:6,stroke:"#73d13d",cursor:"pointer",symbol:Ur.Marker.expand},bd(s,e,Fi(Fi({},r),{name:"add-item"}))),name:"add-item"}),e.addShape("marker",{attrs:Fi({x:t.width*2/3,y:t.height+6,r:6,stroke:"#ff4d4f",cursor:"pointer",symbol:Ur.Marker.collapse},bd(s,e,Fi(Fi({},r),{name:"remove-item"}))),name:"remove-item"})),o){var A=a?bd(a,e,r):i.style,g=u?t.height/2-(A.fontSize*1||12)-Pc/2:t.height/2;e.addShape("text",{attrs:Fi({text:o,x:t.width/2,y:g,textAlign:d?"start":"center",textBaseline:u?"top":"middle"},A)})}if(u){var L=f?bd(f,e,r):i.style;e.addShape("text",{attrs:Fi({text:u,x:t.width/2,y:t.height/2+Pc/2,textAlign:d?"start":"center",textBaseline:"top"},L)})}return c}},"rect")};GS();MF();var WAt={stroke:"#40a9ff"},VAt={type:"dagre",rankdir:"TB",nodesepFunc:function(){return 0},ranksepFunc:function(){return 0},controlPoints:!0},Sme={nodeType:"modelRect",edgeType:"polyline",behaviors:["zoom-canvas","drag-canvas"],nodeSize:jS,nodeLabelCfg:Pu,edgeLabelCfg:Pu,nodeAnchorPoints:US,layout:VAt,nodeStyle:WAt,edgeStyle:zS,nodeStateStyles:go,edgeStateStyles:go,autoFit:!0},JS={},Cme=function(r){var e=Hg(r,Sme),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"modelRect":s,u=e.edgeType,f=u===void 0?"polyline":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?jS:d,v=e.nodeLabelCfg,m=v===void 0?Pu:v,g=e.edgeLabelCfg,x=g===void 0?Pu:g,b=e.nodeAnchorPoints,S=b===void 0?US:b,C=e.layout,w=C===void 0?VAt:C,A=e.minimapCfg,L=e.nodeStyle,k=L===void 0?WAt:L,O=e.edgeStyle,M=O===void 0?zS:O,I=e.nodeStateStyles,R=I===void 0?go:I,P=e.edgeStateStyles,F=P===void 0?go:P,D=e.autoFit,G=D===void 0?!0:D,U=e.graphRef,j=e.onReady,H=e.loading,tt=e.loadingTemplate,et=e.errorTemplate,ut=ht.useRef(null),$=ht.useRef(null),st=Wg($);return dl(JS[st],e,ut),De(function(){var _t=Ug(a,o,ut),dt=JS[st];return dt||(dt=new Ur.Graph({container:ut.current,width:_t[0],height:_t[1],modes:{default:h},defaultNode:{type:l,size:p,style:k,anchorPoints:S,labelCfg:m},defaultEdge:{type:f,style:M,labelCfg:x},nodeStateStyles:R,edgeStateStyles:F,layout:w,fitView:G}),JS[st]=dt),U&&(U.current=dt),jg(A,dt),WS(dt,t),j&&j(dt),Vg(dt,r),function(){JS[st]&&(JS[st].destroy(),delete JS[st])}},[]),ht.createElement(Ta,{errorTemplate:et},H&&ht.createElement(Ma,{loadingTemplate:tt}),ht.createElement("div",{className:n,style:i,ref:ut}))},HX=Cme;GS();var HAt=[150,30],YAt={stroke:"#72CC4A",fill:"#f00"},XAt={type:"dagre",rankdir:"LR",nodesep:30,ranksep:50},TF={style:{fill:"#000000A6",fontSize:10}},wme={nodeType:"round-rect",edgeType:"fund-polyline",behaviors:["zoom-canvas","drag-canvas"],nodeSize:HAt,nodeLabelCfg:TF,edgeLabelCfg:TF,nodeAnchorPoints:US,layout:XAt,nodeStyle:YAt,edgeStyle:zS,nodeStateStyles:go,edgeStateStyles:go,colorMap:{},autoFit:!0},tC={},Eme=function(r){var e=Hg(r,wme),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"round-rect":s,u=e.edgeType,f=u===void 0?"fund-polyline":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?HAt:d,v=e.nodeLabelCfg,m=v===void 0?TF:v,g=e.edgeLabelCfg,x=g===void 0?TF:g,b=e.nodeAnchorPoints,S=b===void 0?US:b,C=e.layout,w=C===void 0?XAt:C,A=e.minimapCfg,L=e.nodeStyle,k=L===void 0?YAt:L,O=e.edgeStyle,M=O===void 0?zS:O,I=e.nodeStateStyles,R=I===void 0?go:I,P=e.edgeStateStyles,F=P===void 0?go:P,D=e.colorMap,G=D===void 0?{}:D,U=e.autoFit,j=U===void 0?!0:U,H=e.graphRef,tt=e.onReady,et=e.loading,ut=e.loadingTemplate,$=e.errorTemplate,st=ht.useRef(null),_t=ht.useRef(null),dt=Wg(_t);return dl(tC[dt],e,st),De(function(){var gt=Ug(a,o,st),Tt=tC[dt];Tt||(Tt=new Ur.Graph({container:st.current,width:gt[0],height:gt[1],modes:{default:h},defaultNode:{type:l,size:p,style:k,anchorPoints:S,labelCfg:m},defaultEdge:{type:f,style:M,colorMap:G,labelCfg:x},nodeStateStyles:R,edgeStateStyles:F,layout:w,fitView:j}),tC[dt]=Tt),H&&(H.current=Tt),jg(A,Tt);var Ut=cl(t);Tt.data(Ut),Tt.render(),tt&&tt(Tt);var $t=Tt.getEdges();return $t.forEach(function(Y){var it=Y.getKeyShape(),K=it.attr("stroke"),Rt=Y.getTarget();Rt.update({style:{stroke:K}})}),Vg(Tt,r),function(){tC[dt]&&(tC[dt].destroy(),delete tC[dt])}},[]),ht.createElement(Ta,{errorTemplate:$},et&&ht.createElement(Ma,{loadingTemplate:ut}),ht.createElement("div",{className:n,style:i,ref:st}))},YX=Eme;GS();var qAt={stroke:"#40a9ff"},KAt=[[0,.5],[1,.5]],ZAt={stroke:"#ccc",endArrow:{path:Ur.Arrow.vee(10,10),fill:"#ccc"}},$At={type:"indented",direction:"LR",dropCap:!1,indent:250,getHeight:function(){return 60},getWidth:function(){return 100}},Ame={nodeType:"card-node",edgeType:"cubic-horizontal",behaviors:["zoom-canvas","drag-canvas"],nodeSize:jS,nodeLabelCfg:Pu,nodeAnchorPoints:KAt,layout:$At,nodeStyle:qAt,edgeStyle:ZAt,nodeStateStyles:go,edgeStateStyles:go,collapseExpand:!0,autoFit:!0},eC={},Mme=function(r){var e=Hg(r,Ame),t=e.data,n=e.className,i=e.style,a=e.width,o=e.height,s=e.nodeType,l=s===void 0?"card-node":s,u=e.edgeType,f=u===void 0?"cubic-horizontal":u,c=e.behaviors,h=c===void 0?["zoom-canvas","drag-canvas"]:c,d=e.nodeSize,p=d===void 0?jS:d,v=e.nodeLabelCfg,m=v===void 0?Pu:v,g=e.nodeAnchorPoints,x=g===void 0?KAt:g,b=e.layout,S=b===void 0?$At:b,C=e.minimapCfg,w=e.nodeStyle,A=w===void 0?qAt:w,L=e.edgeStyle,k=L===void 0?ZAt:L,O=e.nodeStateStyles,M=O===void 0?go:O,I=e.edgeStateStyles,R=I===void 0?go:I,P=e.collapseExpand,F=P===void 0?!0:P,D=e.autoFit,G=D===void 0?!0:D,U=e.handleNodeClick,j=e.graphRef,H=e.onReady,tt=e.loading,et=e.loadingTemplate,ut=e.errorTemplate,$=ht.useRef(null),st=Wg($),_t=ht.useRef(null);return dl(eC[st],e,_t),De(function(){var dt=Ug(a,o,_t),gt=eC[st];if(gt||(gt=new Ur.TreeGraph({container:_t.current,width:dt[0],height:dt[1],modes:{default:h},defaultNode:{type:l,size:p,style:A,anchorPoints:x,labelCfg:m},defaultEdge:{type:f,style:k},nodeStateStyles:M,edgeStateStyles:R,layout:S,fitView:G}),eC[st]=gt),j&&(j.current=gt),jg(C,gt),WS(gt,t),H&&H(gt),F){var Tt=function(Ut){var $t=Ut.item;Ut.target.get("name")==="collapse-icon"?(gt.updateItem($t,{collapsed:!$t.getModel().collapsed}),gt.layout()):U&&U($t,gt)};gt.on("node:click",function(Ut){Tt(Ut)}),gt.on("node:touchstart",function(Ut){Tt(Ut)})}return Vg(gt,r),function(){eC[st]&&(eC[st].destroy(),delete eC[st])}},[]),ht.createElement(Ta,{errorTemplate:ut},tt&&ht.createElement(Ma,{loadingTemplate:et}),ht.createElement("div",{className:n,style:i,ref:_t}))},XX=Mme;var rC=function(){return rC=Object.assign||function(r){for(var e,t=1,n=arguments.length;tencodeURIComponent(r),dv=r=>`(${encodeURIComponent(r)})`,Bme=r=>`"${encodeURIComponent(r)}"`,JAt=r=>`("${encodeURIComponent(r)}")`,tMt=class extends Ir{search(e,t,n){let i=this.context.event.data,{shape:a,data:o}=i,s;a==="word-cloud"?s=o.text:s=e?o[e.field]:"",n&&(s=n(s)),this.openScheme(`obsidian://search?vault=${encodeURIComponent(e.vault)}&query=${t}${s}`)}openNote(e){let t=this.context.event.data,{shape:n,data:i}=t,a;n==="word-cloud"?a=i.datum[e.pathField]:a=i[e.pathField],this.openScheme(`obsidian://vault/${encodeURIComponent(e.vault)}/${a}`)}openScheme(e){let t=window.document.body.createEl("a",{href:e});t.click(),t.remove()}tag(e){this.search(e,"tag%3A",Fme)}file(e){this.search(e,"file%3A",JAt)}fileopen(e){this.openNote(e)}path(e){this.search(e,"path%3A",JAt)}content(e){this.search(e,"content%3A",dv)}task(e){this.search(e,"task%3A",dv)}matchCase(e){this.search(e,"match-case%3A",dv)}ignoreCase(e){this.search(e,"ignore-case%3A",dv)}line(e){this.search(e,"line%3A",dv)}block(e){this.search(e,"block%3A",dv)}taskTodo(e){this.search(e,"task-todo%3A",dv)}taskDone(e){this.search(e,"task-done%3A",dv)}section(e){this.search(e,"section%3A",dv)}default(e){this.search(e,"",Bme)}};nr("obsidian-search",tMt);xr("obsidian-search",{start:[{trigger:"element:click",action:"obsidian-search:default"}]});s0("theme1",{colors10:["#FF6B3B","#626681","#FFC100","#9FB40F","#76523B","#DAD5B5","#0E8E89","#E19348","#F383A2","#247FEA"],colors20:["#FF6B3B","#626681","#FFC100","#9FB40F","#76523B","#DAD5B5","#0E8E89","#E19348","#F383A2","#247FEA","#2BCB95","#B1ABF4","#1D42C2","#1D9ED1","#D64BC0","#255634","#8C8C47","#8CDAE5","#8E283B","#791DC9"]});s0("theme2",{colors10:["#025DF4","#DB6BCF","#2498D1","#BBBDE6","#4045B2","#21A97A","#FF745A","#007E99","#FFA8A8","#2391FF"],colors20:["#025DF4","#DB6BCF","#2498D1","#BBBDE6","#4045B2","#21A97A","#FF745A","#007E99","#FFA8A8","#2391FF","#FFC328","#A0DC2C","#946DFF","#626681","#EB4185","#CD8150","#36BCCB","#327039","#803488","#83BC99"]});var IF=({type:r,config:e,showExportBtn:t=!1})=>{let n=WA[r]||ST[r],i=Fa(),{onReady:a}=e!=null?e:{};return ht.createElement(fr,null,t&&ht.createElement("div",{className:"chartsview-export-button","aria-label":"Export to PNG",onClick:()=>{var o;(o=i.current)==null||o.downloadImage(`${r}.png`)}},ht.createElement("svg",{className:"code-glyph",viewBox:"0 0 1024 1024",width:"16",height:"16"},ht.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M896 166.4H128c-25.6 0-42.666667 17.066667-42.666667 42.666667v597.333333c0 25.6 17.066667 42.666667 42.666667 42.666667h768c25.6 0 42.666667-17.066667 42.666667-42.666667v-597.333333c0-25.6-21.333333-42.666667-42.666667-42.666667z m-42.666667 85.333333v418.133334l-136.533333-136.533334c-21.333333-12.8-51.2-12.8-64 4.266667L554.666667 635.733333l-183.466667-179.2c-17.066667-17.066667-46.933333-17.066667-59.733333 0L170.666667 597.333333V251.733333h682.666666z m-243.2 443.733334l76.8-76.8 136.533334 140.8h-145.066667l-68.266667-64zM170.666667 716.8l170.666666-170.666667 217.6 217.6H170.666667v-46.933333z"}),ht.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M716.8 396.8m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z"}))),ht.createElement(n,F9(wl({},e),{onReady:o=>{a==null||a(o),i.current=o}})))};var DF=z(require("obsidian"));var rMt=z(eMt()),LF=z(require("obsidian"));function oC(r,e){r.somethingSelected?r.replaceSelection(e):r.setLine(r.getCursor().line,e)}function nMt(r){let e={};return LF.Vault.recurseChildren(r.vault.getRoot(),t=>{t instanceof LF.TFolder&&(e[t.path]=t.path)}),e}function OF(r){return rMt.default.parse(r,{header:!0,skipEmptyLines:!0,comments:!1,dynamicTyping:!0}).data}function Gme(){let r=/A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,e=/\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5/.source,t=/[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u4E00-\u9FD5]{1}/.source;return new RegExp([`(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-${r}])+`,e,t].join("|"),"g")}function iMt(r,e){let t={},n=r.match(Gme());n&&n.forEach(o=>{o=o.toLowerCase(),t[o]=t[o]?t[o]+1:1});let i=[],a=new RegExp(e.split(` +`).map(o=>["^",o.trim(),"$"].join("")).join("|"),"i");for(let o in t)a.test(o)||i.push({word:o,count:t[o]});return i}var zme=/^\s*function\s*.*\(.*\)\s*\{[\w\W]*\}\s*/i;function aMt(r,e,t){return xa(this,null,function*(){var f,c,h,d,p;let n=(0,DF.parseYaml)(r),{type:i,data:a}=n;if((WA[i]||ST[i])===void 0)throw new Error(`Unsupported chart type ${i}.`);let s=PF(n.options||{}),l=i==="MultiView"||i==="Mix"?yield Ume(n,a,s,e,t):wl({data:yield sMt(a,e,t)},oMt(s,e)),u=((f=l.theme)==null?void 0:f.background)===void 0&&((h=(c=l.theme)==null?void 0:c.styleSheet)==null?void 0:h.backgroundColor)===void 0;return l.theme=(d=l.theme)!=null?d:Qu(e.settings.theme),u&&(l.theme.background=e.settings.backgroundColor),l.appendPadding=(p=l.appendPadding)!=null?p:[e.settings.paddingTop,e.settings.paddingRight,e.settings.paddingBottom,e.settings.paddingLeft],{type:i,showExportBtn:e.settings.showExportBtn,config:l}})}function PF(r){for(let e in r){let t=r[e];t&&(typeof t=="string"&&zme.test(t)?r[e]=(0,eval)(`(${t})`):Array.isArray(t)?r[e]=t.map(PF):typeof t=="object"&&(r[e]=PF(t)))}return r}function oMt(r,e){var o,s,l;let{enableSearchInteraction:t,interactions:n}=r;if(t!==!0&&typeof t!="object")return r;let i=n!=null?n:[];if(!Array.isArray(i))return r;let a={type:"obsidian-search",cfg:{start:[{trigger:"element:click",action:"obsidian-search:default",arg:{field:"text",pathField:"path",vault:e.app.vault.getName()}}]}};return typeof t=="object"&&(a.cfg.start[0].action=`obsidian-search:${(o=t.operator)!=null?o:"default"}`,a.cfg.start[0].arg.field=(s=t.field)!=null?s:"text",a.cfg.start[0].arg.pathField=(l=t.pathField)!=null?l:"path"),i.push(a),delete r.enableSearchInteraction,r.interactions=i,r}function Ume(r,e,t,n,i){return xa(this,null,function*(){let a=new Map,o=[];for(let s in r){let l=s.split(".");if(l.length!==2||l[0]!=="options"&&l[0]!=="data")continue;let u=l[1],f=a.get(u)||{};f[l[0]]=r[s],a.set(u,f)}for(let s of a.values())o.push(wl({data:(yield sMt(s.data,n,i))||e},oMt(PF(s.options||{}),n)));return wl({views:o},t)})}function sMt(r,e,t){return xa(this,null,function*(){if(typeof r=="string")if(r.startsWith("wordcount:")){let n=r.replace("wordcount:","");return Vme(n.length>0?n:e.app.vault.getAbstractFileByPath(t).basename,e)}else return r.startsWith("dataviewjs:")?Wme(r.replace("dataviewjs:",""),e,t):Hme(r,e);else return r})}var jme=function(r,e){return{pagePaths:function(t){return r.pagePaths(t,e)},page:function(t){return r.page(t,e)},pages:function(t){return r.pages(t,e)},current:function(){return r.page(e,e)},array:function(t){return r.array(t)},isArray:function(t){return r.isArray(t)},fileLink:function(t,n,i){return r.fileLink(t,n,i)},date:function(t){return r.date(t)}}};function Wme(r,e,t){return xa(this,null,function*(){var n;if(e.app.plugins.enabledPlugins.has("dataview")){let i=(n=e.app.plugins.plugins.dataview)==null?void 0:n.api;if(i)return new Function("dv",r).call(void 0,jme(i,t));throw new Error("Obsidian Dataview is not ready.")}else throw new Error("Obsidian Dataview is required.")})}function Vme(r,e){return xa(this,null,function*(){let t=r.split(","),n=[];for(let i of e.app.vault.getMarkdownFiles())if(i.basename==r||t.contains(i.basename)||lMt(i.parent,t)){let a=yield e.app.vault.cachedRead(i);n.push(a)}if(n.length==0)throw new Error("No words found.");return iMt(n.join(` +`),e.settings.wordCountFilter)})}function lMt(r,e){let t=e.contains(`${r.name}/`);return t||r.parent==null?t:lMt(r.parent,e)}function Hme(r,e){return xa(this,null,function*(){let t=r.split(","),n=[];for(let i of t.values()){let a=e.settings.dataPath==="/"?"":`${e.settings.dataPath}/`,o=e.app.vault.getAbstractFileByPath(`${a}${i.trim()}`);o instanceof DF.TFile?n.push(OF(yield e.app.vault.read(o))):n.push({})}return n.length==0?{}:n.length==1?n[0]:n})}var kc=z(require("obsidian"));var uMt={theme:"default",dataPath:"",backgroundColor:"transparent",paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0,showExportBtn:!1,wordCountFilter:`[A-z]{1,2} [0-9]+ (?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*) and @@ -808,7 +808,7 @@ went were with these -those`},XX=class extends kc.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}display(){let{containerEl:e}=this;if(e.empty(),e.createEl("h2",{text:"Charts View Settings"}),new kc.Setting(e).setName("Theme").setDesc("Choose default color scheme.").addDropdown(t=>t.addOption("default","default").addOption("dark","dark").addOption("theme1","Theme #1").addOption("theme2","Theme #2").setValue(this.plugin.settings.theme).onChange(n=>ya(this,null,function*(){this.plugin.settings.theme=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Background Color").setDesc("Change the background color of chart. e.g., #FFFFFF").addText(t=>t.setPlaceholder("transparent").setValue(this.plugin.settings.backgroundColor).onChange(n=>ya(this,null,function*(){this.plugin.settings.backgroundColor=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Chart Padding").setDesc("Change the padding of chart. (Top, Right, Bottom, Left)").addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingTop)).onChange(n=>ya(this,null,function*(){this.plugin.settings.paddingTop=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingRight)).onChange(n=>ya(this,null,function*(){this.plugin.settings.paddingRight=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingBottom)).onChange(n=>ya(this,null,function*(){this.plugin.settings.paddingBottom=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingLeft)).onChange(n=>ya(this,null,function*(){this.plugin.settings.paddingLeft=Number(n),yield this.plugin.saveSettings()}))}),new kc.Setting(e).setName("Data Folder").setDesc("Choose default folder for loading chart datas.").addDropdown(t=>t.addOptions(WAt(this.app)).setValue(this.plugin.settings.dataPath).onChange(n=>ya(this,null,function*(){this.plugin.settings.dataPath=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Show Export Button").addToggle(t=>t.setValue(this.plugin.settings.showExportBtn).onChange(n=>ya(this,null,function*(){this.plugin.settings.showExportBtn=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Word Filter").setDesc("For word count, any words in the list will be ignored.").addTextArea(t=>{t.inputEl.rows=6,t.setValue(this.plugin.settings.wordCountFilter).onChange(n=>ya(this,null,function*(){this.plugin.settings.wordCountFilter=n,yield this.plugin.saveSettings()}))}),kc.Platform.isDesktopApp){let t=e.createDiv({cls:"chartsview-donation"});t.createEl("p",{text:"Make a donation to support Charts View plugin development."});let i=t.createEl("a",{href:"https://paypal.me/caronchenhz",cls:"paypal"}).createEl("img");i.src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjQsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTI0cHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDEyNCAzMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTI0IDMzIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiMyNTNCODAiIGQ9Ik00Ni4yMTEsNi43NDloLTYuODM5Yy0wLjQ2OCwwLTAuODY2LDAuMzQtMC45MzksMC44MDJsLTIuNzY2LDE3LjUzN2MtMC4wNTUsMC4zNDYsMC4yMTMsMC42NTgsMC41NjQsMC42NTgNCgloMy4yNjVjMC40NjgsMCwwLjg2Ni0wLjM0LDAuOTM5LTAuODAzbDAuNzQ2LTQuNzNjMC4wNzItMC40NjMsMC40NzEtMC44MDMsMC45MzgtMC44MDNoMi4xNjVjNC41MDUsMCw3LjEwNS0yLjE4LDcuNzg0LTYuNQ0KCWMwLjMwNi0xLjg5LDAuMDEzLTMuMzc1LTAuODcyLTQuNDE1QzUwLjIyNCw3LjM1Myw0OC41LDYuNzQ5LDQ2LjIxMSw2Ljc0OXogTTQ3LDEzLjE1NGMtMC4zNzQsMi40NTQtMi4yNDksMi40NTQtNC4wNjIsMi40NTQNCgloLTEuMDMybDAuNzI0LTQuNTgzYzAuMDQzLTAuMjc3LDAuMjgzLTAuNDgxLDAuNTYzLTAuNDgxaDAuNDczYzEuMjM1LDAsMi40LDAsMy4wMDIsMC43MDRDNDcuMDI3LDExLjY2OCw0Ny4xMzcsMTIuMjkyLDQ3LDEzLjE1NHoiDQoJLz4NCjxwYXRoIGZpbGw9IiMyNTNCODAiIGQ9Ik02Ni42NTQsMTMuMDc1aC0zLjI3NWMtMC4yNzksMC0wLjUyLDAuMjA0LTAuNTYzLDAuNDgxbC0wLjE0NSwwLjkxNmwtMC4yMjktMC4zMzINCgljLTAuNzA5LTEuMDI5LTIuMjktMS4zNzMtMy44NjgtMS4zNzNjLTMuNjE5LDAtNi43MSwyLjc0MS03LjMxMiw2LjU4NmMtMC4zMTMsMS45MTgsMC4xMzIsMy43NTIsMS4yMiw1LjAzMQ0KCWMwLjk5OCwxLjE3NiwyLjQyNiwxLjY2Niw0LjEyNSwxLjY2NmMyLjkxNiwwLDQuNTMzLTEuODc1LDQuNTMzLTEuODc1bC0wLjE0NiwwLjkxYy0wLjA1NSwwLjM0OCwwLjIxMywwLjY2LDAuNTYyLDAuNjZoMi45NQ0KCWMwLjQ2OSwwLDAuODY1LTAuMzQsMC45MzktMC44MDNsMS43Ny0xMS4yMDlDNjcuMjcxLDEzLjM4OCw2Ny4wMDQsMTMuMDc1LDY2LjY1NCwxMy4wNzV6IE02Mi4wODksMTkuNDQ5DQoJYy0wLjMxNiwxLjg3MS0xLjgwMSwzLjEyNy0zLjY5NSwzLjEyN2MtMC45NTEsMC0xLjcxMS0wLjMwNS0yLjE5OS0wLjg4M2MtMC40ODQtMC41NzQtMC42NjgtMS4zOTEtMC41MTQtMi4zMDENCgljMC4yOTUtMS44NTUsMS44MDUtMy4xNTIsMy42Ny0zLjE1MmMwLjkzLDAsMS42ODYsMC4zMDksMi4xODQsMC44OTJDNjIuMDM0LDE3LjcyMSw2Mi4yMzIsMTguNTQzLDYyLjA4OSwxOS40NDl6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNODQuMDk2LDEzLjA3NWgtMy4yOTFjLTAuMzE0LDAtMC42MDksMC4xNTYtMC43ODcsMC40MTdsLTQuNTM5LDYuNjg2bC0xLjkyNC02LjQyNQ0KCWMtMC4xMjEtMC40MDItMC40OTItMC42NzgtMC45MTItMC42NzhoLTMuMjM0Yy0wLjM5MywwLTAuNjY2LDAuMzg0LTAuNTQxLDAuNzU0bDMuNjI1LDEwLjYzOGwtMy40MDgsNC44MTENCgljLTAuMjY4LDAuMzc5LDAuMDAyLDAuOSwwLjQ2NSwwLjloMy4yODdjMC4zMTIsMCwwLjYwNC0wLjE1MiwwLjc4MS0wLjQwOEw4NC41NjQsMTMuOTdDODQuODI2LDEzLjU5Miw4NC41NTcsMTMuMDc1LDg0LjA5NiwxMy4wNzV6DQoJIi8+DQo8cGF0aCBmaWxsPSIjMTc5QkQ3IiBkPSJNOTQuOTkyLDYuNzQ5aC02Ljg0Yy0wLjQ2NywwLTAuODY1LDAuMzQtMC45MzgsMC44MDJsLTIuNzY2LDE3LjUzN2MtMC4wNTUsMC4zNDYsMC4yMTMsMC42NTgsMC41NjIsMC42NTgNCgloMy41MWMwLjMyNiwwLDAuNjA1LTAuMjM4LDAuNjU2LTAuNTYybDAuNzg1LTQuOTcxYzAuMDcyLTAuNDYzLDAuNDcxLTAuODAzLDAuOTM4LTAuODAzaDIuMTY0YzQuNTA2LDAsNy4xMDUtMi4xOCw3Ljc4NS02LjUNCgljMC4zMDctMS44OSwwLjAxMi0zLjM3NS0wLjg3My00LjQxNUM5OS4wMDQsNy4zNTMsOTcuMjgxLDYuNzQ5LDk0Ljk5Miw2Ljc0OXogTTk1Ljc4MSwxMy4xNTRjLTAuMzczLDIuNDU0LTIuMjQ4LDIuNDU0LTQuMDYyLDIuNDU0DQoJaC0xLjAzMWwwLjcyNS00LjU4M2MwLjA0My0wLjI3NywwLjI4MS0wLjQ4MSwwLjU2Mi0wLjQ4MWgwLjQ3M2MxLjIzNCwwLDIuNCwwLDMuMDAyLDAuNzA0DQoJQzk1LjgwOSwxMS42NjgsOTUuOTE4LDEyLjI5Miw5NS43ODEsMTMuMTU0eiIvPg0KPHBhdGggZmlsbD0iIzE3OUJENyIgZD0iTTExNS40MzQsMTMuMDc1aC0zLjI3M2MtMC4yODEsMC0wLjUyLDAuMjA0LTAuNTYyLDAuNDgxbC0wLjE0NSwwLjkxNmwtMC4yMy0wLjMzMg0KCWMtMC43MDktMS4wMjktMi4yODktMS4zNzMtMy44NjctMS4zNzNjLTMuNjE5LDAtNi43MDksMi43NDEtNy4zMTEsNi41ODZjLTAuMzEyLDEuOTE4LDAuMTMxLDMuNzUyLDEuMjE5LDUuMDMxDQoJYzEsMS4xNzYsMi40MjYsMS42NjYsNC4xMjUsMS42NjZjMi45MTYsMCw0LjUzMy0xLjg3NSw0LjUzMy0xLjg3NWwtMC4xNDYsMC45MWMtMC4wNTUsMC4zNDgsMC4yMTMsMC42NiwwLjU2NCwwLjY2aDIuOTQ5DQoJYzAuNDY3LDAsMC44NjUtMC4zNCwwLjkzOC0wLjgwM2wxLjc3MS0xMS4yMDlDMTE2LjA1MywxMy4zODgsMTE1Ljc4NSwxMy4wNzUsMTE1LjQzNCwxMy4wNzV6IE0xMTAuODY5LDE5LjQ0OQ0KCWMtMC4zMTQsMS44NzEtMS44MDEsMy4xMjctMy42OTUsMy4xMjdjLTAuOTQ5LDAtMS43MTEtMC4zMDUtMi4xOTktMC44ODNjLTAuNDg0LTAuNTc0LTAuNjY2LTEuMzkxLTAuNTE0LTIuMzAxDQoJYzAuMjk3LTEuODU1LDEuODA1LTMuMTUyLDMuNjctMy4xNTJjMC45MywwLDEuNjg2LDAuMzA5LDIuMTg0LDAuODkyQzExMC44MTYsMTcuNzIxLDExMS4wMTQsMTguNTQzLDExMC44NjksMTkuNDQ5eiIvPg0KPHBhdGggZmlsbD0iIzE3OUJENyIgZD0iTTExOS4yOTUsNy4yM2wtMi44MDcsMTcuODU4Yy0wLjA1NSwwLjM0NiwwLjIxMywwLjY1OCwwLjU2MiwwLjY1OGgyLjgyMmMwLjQ2OSwwLDAuODY3LTAuMzQsMC45MzktMC44MDMNCglsMi43NjgtMTcuNTM2YzAuMDU1LTAuMzQ2LTAuMjEzLTAuNjU5LTAuNTYyLTAuNjU5aC0zLjE2QzExOS41NzgsNi43NDksMTE5LjMzOCw2Ljk1MywxMTkuMjk1LDcuMjN6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNNy4yNjYsMjkuMTU0bDAuNTIzLTMuMzIybC0xLjE2NS0wLjAyN0gxLjA2MUw0LjkyNywxLjI5MkM0LjkzOSwxLjIxOCw0Ljk3OCwxLjE0OSw1LjAzNSwxLjENCgljMC4wNTctMC4wNDksMC4xMy0wLjA3NiwwLjIwNi0wLjA3Nmg5LjM4YzMuMTE0LDAsNS4yNjMsMC42NDgsNi4zODUsMS45MjdjMC41MjYsMC42LDAuODYxLDEuMjI3LDEuMDIzLDEuOTE3DQoJYzAuMTcsMC43MjQsMC4xNzMsMS41ODksMC4wMDcsMi42NDRsLTAuMDEyLDAuMDc3djAuNjc2bDAuNTI2LDAuMjk4YzAuNDQzLDAuMjM1LDAuNzk1LDAuNTA0LDEuMDY1LDAuODEyDQoJYzAuNDUsMC41MTMsMC43NDEsMS4xNjUsMC44NjQsMS45MzhjMC4xMjcsMC43OTUsMC4wODUsMS43NDEtMC4xMjMsMi44MTJjLTAuMjQsMS4yMzItMC42MjgsMi4zMDUtMS4xNTIsMy4xODMNCgljLTAuNDgyLDAuODA5LTEuMDk2LDEuNDgtMS44MjUsMmMtMC42OTYsMC40OTQtMS41MjMsMC44NjktMi40NTgsMS4xMDljLTAuOTA2LDAuMjM2LTEuOTM5LDAuMzU1LTMuMDcyLDAuMzU1aC0wLjczDQoJYy0wLjUyMiwwLTEuMDI5LDAuMTg4LTEuNDI3LDAuNTI1Yy0wLjM5OSwwLjM0NC0wLjY2MywwLjgxNC0wLjc0NCwxLjMyOGwtMC4wNTUsMC4yOTlsLTAuOTI0LDUuODU1bC0wLjA0MiwwLjIxNQ0KCWMtMC4wMTEsMC4wNjgtMC4wMywwLjEwMi0wLjA1OCwwLjEyNWMtMC4wMjUsMC4wMjEtMC4wNjEsMC4wMzUtMC4wOTYsMC4wMzVINy4yNjZ6Ii8+DQo8cGF0aCBmaWxsPSIjMTc5QkQ3IiBkPSJNMjMuMDQ4LDcuNjY3TDIzLjA0OCw3LjY2N0wyMy4wNDgsNy42NjdjLTAuMDI4LDAuMTc5LTAuMDYsMC4zNjItMC4wOTYsMC41NQ0KCWMtMS4yMzcsNi4zNTEtNS40NjksOC41NDUtMTAuODc0LDguNTQ1SDkuMzI2Yy0wLjY2MSwwLTEuMjE4LDAuNDgtMS4zMjEsMS4xMzJsMCwwbDAsMEw2LjU5NiwyNi44M2wtMC4zOTksMi41MzMNCgljLTAuMDY3LDAuNDI4LDAuMjYzLDAuODE0LDAuNjk1LDAuODE0aDQuODgxYzAuNTc4LDAsMS4wNjktMC40MiwxLjE2LTAuOTlsMC4wNDgtMC4yNDhsMC45MTktNS44MzJsMC4wNTktMC4zMg0KCWMwLjA5LTAuNTcyLDAuNTgyLTAuOTkyLDEuMTYtMC45OTJoMC43M2M0LjcyOSwwLDguNDMxLTEuOTIsOS41MTMtNy40NzZjMC40NTItMi4zMjEsMC4yMTgtNC4yNTktMC45NzgtNS42MjINCglDMjQuMDIyLDguMjg2LDIzLjU3Myw3Ljk0NSwyMy4wNDgsNy42Njd6Ii8+DQo8cGF0aCBmaWxsPSIjMjIyRDY1IiBkPSJNMjEuNzU0LDcuMTUxYy0wLjE4OS0wLjA1NS0wLjM4NC0wLjEwNS0wLjU4NC0wLjE1Yy0wLjIwMS0wLjA0NC0wLjQwNy0wLjA4My0wLjYxOS0wLjExNw0KCWMtMC43NDItMC4xMi0xLjU1NS0wLjE3Ny0yLjQyNi0wLjE3N2gtNy4zNTJjLTAuMTgxLDAtMC4zNTMsMC4wNDEtMC41MDcsMC4xMTVDOS45MjcsNi45ODUsOS42NzUsNy4zMDYsOS42MTQsNy42OTlMOC4wNSwxNy42MDUNCglsLTAuMDQ1LDAuMjg5YzAuMTAzLTAuNjUyLDAuNjYtMS4xMzIsMS4zMjEtMS4xMzJoMi43NTJjNS40MDUsMCw5LjYzNy0yLjE5NSwxMC44NzQtOC41NDVjMC4wMzctMC4xODgsMC4wNjgtMC4zNzEsMC4wOTYtMC41NQ0KCWMtMC4zMTMtMC4xNjYtMC42NTItMC4zMDgtMS4wMTctMC40MjlDMjEuOTQxLDcuMjA4LDIxLjg0OCw3LjE3OSwyMS43NTQsNy4xNTF6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNOS42MTQsNy42OTljMC4wNjEtMC4zOTMsMC4zMTMtMC43MTQsMC42NTItMC44NzZjMC4xNTUtMC4wNzQsMC4zMjYtMC4xMTUsMC41MDctMC4xMTVoNy4zNTINCgljMC44NzEsMCwxLjY4NCwwLjA1NywyLjQyNiwwLjE3N2MwLjIxMiwwLjAzNCwwLjQxOCwwLjA3MywwLjYxOSwwLjExN2MwLjIsMC4wNDUsMC4zOTUsMC4wOTUsMC41ODQsMC4xNQ0KCWMwLjA5NCwwLjAyOCwwLjE4NywwLjA1NywwLjI3OCwwLjA4NmMwLjM2NSwwLjEyMSwwLjcwNCwwLjI2NCwxLjAxNywwLjQyOWMwLjM2OC0yLjM0Ny0wLjAwMy0zLjk0NS0xLjI3Mi01LjM5Mg0KCUMyMC4zNzgsMC42ODIsMTcuODUzLDAsMTQuNjIyLDBoLTkuMzhjLTAuNjYsMC0xLjIyMywwLjQ4LTEuMzI1LDEuMTMzTDAuMDEsMjUuODk4Yy0wLjA3NywwLjQ5LDAuMzAxLDAuOTMyLDAuNzk1LDAuOTMyaDUuNzkxDQoJbDEuNDU0LTkuMjI1TDkuNjE0LDcuNjk5eiIvPg0KPC9zdmc+DQo=",i.alt="PayPal"}}};var JAt=U(require("obsidian"));var Rs;(function(f){f.Bar="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBCYXIKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSBhY3Rpb246ICJCcm93c2UgdGhlIHdlYnNpdGUiCiAgICBwdjogNTAwMDAKICAtIGFjdGlvbjogIkFkZCB0byBjYXJ0IgogICAgcHY6IDM1MDAwCiAgLSBhY3Rpb246ICJHZW5lcmF0ZSBvcmRlcnMiCiAgICBwdjogMjUwMDAKICAtIGFjdGlvbjogIlBheSBvcmRlciIKICAgIHB2OiAxNTAwMAogIC0gYWN0aW9uOiAiU2VhbCB0aGUgZGVhbCIKICAgIHB2OiA4NTAwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHhGaWVsZDogInB2IgogIHlGaWVsZDogImFjdGlvbiIKICBjb252ZXJzaW9uVGFnOiB7fQpgYGA=",f.Pie="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBQaWUKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSB0eXBlOiAiV2FnZSBpbmNvbWUgcGVyIGNhcGl0YSAowqUpIgogICAgdmFsdWU6IDE3OTE3CiAgLSB0eXBlOiAiT3BlcmF0aW5nIG5ldCBpbmNvbWUgcGVyIGNhcGl0YSAowqUpIgogICAgdmFsdWU6IDUzMDcKICAtIHR5cGU6ICJQcm9wZXJ0eSBQZXIgQ2FwaXRhIE5ldCBJbmNvbWUgKMKlKSIKICAgIHZhbHVlOiAyNzkxCiAgLSB0eXBlOiAiVHJhbnNmZXIgb2YgbmV0IGluY29tZSBwZXIgY2FwaXRhICjCpSkiCiAgICB2YWx1ZTogNjE3MwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICBhbmdsZUZpZWxkOiAidmFsdWUiCiAgY29sb3JGaWVsZDogInR5cGUiCiAgcmFkaXVzOiAwLjUKICBsYWJlbDoKICAgIHR5cGU6ICJzcGlkZXIiCiAgICBjb250ZW50OiAie3BlcmNlbnRhZ2V9XG57bmFtZX0iCiAgbGVnZW5kOgogICAgbGF5b3V0OiAiaG9yaXpvbnRhbCIKICAgIHBvc2l0aW9uOiAiYm90dG9tIgpgYGA=",f.WordCloud="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBXb3JkQ2xvdWQKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSB4OiAiQ2hpbmEiCiAgICB2YWx1ZTogMjM4MzIyMDAwMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIkluZG9uZXNpYSIKICAgIHZhbHVlOiAyNjM1MTAwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJQYWtpc3RhbiIKICAgIHZhbHVlOiAzOTY0NTkwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJSdXNzaWEiCiAgICB2YWx1ZTogNTQ2ODA0MzcyCiAgICBjYXRlZ29yeTogImV1cm9wZSIKICAtIHg6ICJKYXBhbiIKICAgIHZhbHVlOiAxMjY3OTAwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJWaWV0bmFtIgogICAgdmFsdWU6IDkyNzAwMDAwCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiR2VybWFueSIKICAgIHZhbHVlOiA4MjgwMDAwMAogICAgY2F0ZWdvcnk6ICJldXJvcGUiCiAgLSB4OiAiSXJhbiIKICAgIHZhbHVlOiA4MDEzNTQwMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIlRoYWlsYW5kIgogICAgdmFsdWU6IDY4Mjk4MDAwCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiRnJhbmNlIgogICAgdmFsdWU6IDY3MDEzMDAwCiAgICBjYXRlZ29yeTogImV1cm9wZSIKICAtIHg6ICJJdGFseSIKICAgIHZhbHVlOiA2MDU5OTkzNgogICAgY2F0ZWdvcnk6ICJldXJvcGUiCiAgLSB4OiAiU291dGggS29yZWEiCiAgICB2YWx1ZTogNTE0NDYyMDEKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJLZW55YSIKICAgIHZhbHVlOiA0ODQ2NzAwMAogICAgY2F0ZWdvcnk6ICJhZnJpY2EiCiAgLSB4OiAiU3BhaW4iCiAgICB2YWx1ZTogNDY4MTIwMDAKICAgIGNhdGVnb3J5OiAiZXVyb3BlIgogIC0geDogIlN1ZGFuIgogICAgdmFsdWU6IDQyMTc2MDAwCiAgICBjYXRlZ29yeTogImFmcmljYSIKICAtIHg6ICJJcmFxIgogICAgdmFsdWU6IDQ3ODgzNTQzCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiTmVwYWwiCiAgICB2YWx1ZTogMjg4MjU3MDkKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJOb3J0aCBLb3JlYSIKICAgIHZhbHVlOiAyNDIxMzUxMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIkNoaWxlIgogICAgdmFsdWU6IDI4MTkxOTAwCiAgICBjYXRlZ29yeTogImFtZXJpY2EiCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHdvcmRGaWVsZDogIngiCiAgd2VpZ2h0RmllbGQ6ICJ2YWx1ZSIKICBjb2xvcjogIiMxMjJjNmEiCiAgd29yZFN0eWxlOgogICAgZm9udEZhbWlseTogIlZlcmRhbmEiCiAgICBmb250U2l6ZTogWzI0LCA4MF0KICBpbnRlcmFjdGlvbnM6CiAgICB0eXBlOiAiZWxlbWVudC1hY3RpdmUiCiAgc3R5bGU6CiAgICBiYWNrZ3JvdW5kQ29sb3I6ICJ3aGl0ZSIKICBzdGF0ZToKICAgIGFjdGl2ZToKICAgICAgc3R5bGU6CiAgICAgICAgbGluZVdpZHRoOiAzCmBgYA==",f.WordCount="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBXb3JkQ2xvdWQKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6ICJ3b3JkY291bnQ6bm90ZS1uYW1lLWhlcmUtd2l0aG91dC1mb2xkLXBhdGgiCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHdvcmRGaWVsZDogIndvcmQiCiAgd2VpZ2h0RmllbGQ6ICJjb3VudCIKICBjb2xvckZpZWxkOiAiY291bnQiCiAgd29yZFN0eWxlOgogICAgcm90YXRpb246IDMwCmBgYA==",f.Treemap="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBUcmVlbWFwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IGRhdGEgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpkYXRhOgogIG5hbWU6ICdyb290JwogIGNoaWxkcmVuOgogICAgLSBuYW1lOiAnRm9sZGVyIDEnCiAgICAgIHZhbHVlOiA1NjAKICAgIC0gbmFtZTogJ0ZvbGRlciAyJwogICAgICB2YWx1ZTogNTAwCiAgICAtIG5hbWU6ICdGb2xkZXIgMycKICAgICAgdmFsdWU6IDE1MAogICAgLSBuYW1lOiAnRm9sZGVyIDQnCiAgICAgIHZhbHVlOiAxNDAKICAgIC0gbmFtZTogJ0ZvbGRlciA1JwogICAgICB2YWx1ZTogMTE1CiAgICAtIG5hbWU6ICdGb2xkZXIgNicKICAgICAgdmFsdWU6IDk1CiAgICAtIG5hbWU6ICdGb2xkZXIgNycKICAgICAgdmFsdWU6IDkwCiAgICAtIG5hbWU6ICdGb2xkZXIgOCcKICAgICAgdmFsdWU6IDc1CiAgICAtIG5hbWU6ICdGb2xkZXIgOScKICAgICAgdmFsdWU6IDk4CiAgICAtIG5hbWU6ICdGb2xkZXIgMTAnCiAgICAgIHZhbHVlOiA2MAogICAgLSBuYW1lOiAnRm9sZGVyIDExJwogICAgICB2YWx1ZTogNDUKICAgIC0gbmFtZTogJ0ZvbGRlciAxMicKICAgICAgdmFsdWU6IDQwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTMnCiAgICAgIHZhbHVlOiA0MAogICAgLSBuYW1lOiAnRm9sZGVyIDE0JwogICAgICB2YWx1ZTogMzUKICAgIC0gbmFtZTogJ0ZvbGRlciAxNScKICAgICAgdmFsdWU6IDQwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTYnCiAgICAgIHZhbHVlOiA0MAogICAgLSBuYW1lOiAnRm9sZGVyIDE3JwogICAgICB2YWx1ZTogNDAKICAgIC0gbmFtZTogJ0ZvbGRlciAxOCcKICAgICAgdmFsdWU6IDMwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTknCiAgICAgIHZhbHVlOiAyOAogICAgLSBuYW1lOiAnRm9sZGVyIDIwJwogICAgICB2YWx1ZTogMTYKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgb3B0aW9ucyAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCm9wdGlvbnM6CiAgY29sb3JGaWVsZDogIm5hbWUiCmBgYAo=",f.DualAxes="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBEdWFsQXhlcwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YToKICAtCiAgICAtIHRpbWU6ICIyMDE5LTAzIgogICAgICB2YWx1ZTogMzUwCiAgICAgIGNvdW50OiA4MDAKICAgIC0gdGltZTogIjIwMTktMDQiCiAgICAgIHZhbHVlOiA5MDAKICAgICAgY291bnQ6IDYwMAogICAgLSB0aW1lOiAiMjAxOS0wNSIKICAgICAgdmFsdWU6IDMwMAogICAgICBjb3VudDogNDAwCiAgICAtIHRpbWU6ICIyMDE5LTA2IgogICAgICB2YWx1ZTogNDUwCiAgICAgIGNvdW50OiAzODAKICAgIC0gdGltZTogIjIwMTktMDciCiAgICAgIHZhbHVlOiA0NzAKICAgICAgY291bnQ6IDIyCiAgLQogICAgLSB0aW1lOiAiMjAxOS0wMyIKICAgICAgdmFsdWU6IDM1MAogICAgICBjb3VudDogODAwCiAgICAtIHRpbWU6ICIyMDE5LTA0IgogICAgICB2YWx1ZTogOTAwCiAgICAgIGNvdW50OiA2MDAKICAgIC0gdGltZTogIjIwMTktMDUiCiAgICAgIHZhbHVlOiAzMDAKICAgICAgY291bnQ6IDQwMAogICAgLSB0aW1lOiAiMjAxOS0wNiIKICAgICAgdmFsdWU6IDQ1MAogICAgICBjb3VudDogMzgwCiAgICAtIHRpbWU6ICIyMDE5LTA3IgogICAgICB2YWx1ZTogNDcwCiAgICAgIGNvdW50OiAyMgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICB4RmllbGQ6ICd0aW1lJwogIHlGaWVsZDogWyd2YWx1ZScsICdjb3VudCddCiAgeUF4aXM6CiAgICB2YWx1ZToKICAgICAgbWluOiAwCiAgICAgIGxhYmVsOgogICAgICAgIGZvcm1hdHRlcjoKICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdHRlcih2YWwpIHsKICAgICAgICAgICAgcmV0dXJuICcnLmNvbmNhdCh2YWwsICfkuKonKTsKICAgICAgICAgIH0KICBnZW9tZXRyeU9wdGlvbnM6CiAgICAtIGdlb21ldHJ5OiAnY29sdW1uJwogICAgLSBnZW9tZXRyeTogJ2xpbmUnCiAgICAgIGxpbmVTdHlsZToKICAgICAgICBsaW5lV2lkdGg6IDIKYGBg",f.Mix="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBNaXgKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGEuYXJlYToKICAtIHRpbWU6IDEyNDY0MDY0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTQuMywgMjcuN10KICAtIHRpbWU6IDEyNDY0OTI4MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTQuNSwgMjcuOF0KICAtIHRpbWU6IDEyNDY1NzkyMDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTUuNSwgMjkuNl0KICAtIHRpbWU6IDEyNDY2NjU2MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTYuNywgMzAuN10KICAtIHRpbWU6IDEyNDY3NTIwMDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTYuNSwgMjUuMF0KICAtIHRpbWU6IDEyNDY4Mzg0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTcuOCwgMjUuN10KCmRhdGEubGluZToKICAtIHRpbWU6IDEyNDY0MDY0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiAyMS41CiAgLSB0aW1lOiAxMjQ2NDkyODAwMDAwCiAgICB0ZW1wZXJhdHVyZTogMjIuMQogIC0gdGltZTogMTI0NjU3OTIwMDAwMAogICAgdGVtcGVyYXR1cmU6IDIzCiAgLSB0aW1lOiAxMjQ2NjY1NjAwMDAwCiAgICB0ZW1wZXJhdHVyZTogMjMuOAogIC0gdGltZTogMTI0Njc1MjAwMDAwMAogICAgdGVtcGVyYXR1cmU6IDIxLjQKICAtIHRpbWU6IDEyNDY4Mzg0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiAyMS4zCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIGFwcGVuZFBhZGRpbmc6IDgKICBzeW5jVmlld1BhZGRpbmc6IHRydWUKICB0b29sdGlwOgogICAgc2hhcmVkOiB0cnVlCiAgICBzaG93TWFya2VyczogZmFsc2UKICAgIHNob3dDcm9zc2hhaXJzOiB0cnVlCiAgICBvZmZzZXRZOiAtNTAKCm9wdGlvbnMuYXJlYToKICBheGVzOiB7fQogIG1ldGE6CiAgICB0aW1lOgogICAgICB0eXBlOiAndGltZScKICAgICAgbWFzazogJ01NLUREJwogICAgICBuaWNlOiB0cnVlCiAgICAgIHRpY2tJbnRlcnZhbDogMTcyODAwMDAwCiAgICAgIHJhbmdlOiBbMCwgMV0KICAgIHRlbXBlcmF0dXJlOgogICAgICBuaWNlOiB0cnVlCiAgICAgIHN5bmM6IHRydWUKICAgICAgYWxpYXM6ICfmuKnluqbojIPlm7QnCiAgZ2VvbWV0cmllczoKICAgIC0gdHlwZTogJ2FyZWEnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOiB7fQoKb3B0aW9ucy5saW5lOgogIGF4ZXM6IGZhbHNlCiAgbWV0YToKICAgIHRpbWU6CiAgICAgIHR5cGU6ICd0aW1lJwogICAgICBtYXNrOiAnTU0tREQnCiAgICAgIG5pY2U6IHRydWUKICAgICAgdGlja0ludGVydmFsOiAxNzI4MDAwMDAKICAgICAgcmFuZ2U6IFswLCAxXQogICAgdGVtcGVyYXR1cmU6CiAgICAgIHN5bmM6ICd0ZW1wZXJhdHVyZScKICAgICAgYWxpYXM6ICfmuKnluqYnCiAgZ2VvbWV0cmllczoKICAgIC0gdHlwZTogJ2xpbmUnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOiB7fQogICAgLSB0eXBlOiAncG9pbnQnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOgogICAgICAgIHNoYXBlOiAnY2lyY2xlJwogICAgICAgIHN0eWxlOgogICAgICAgICAgZmlsbE9wYWNpdHk6IDEKYGBg",f.OrganizationTreeGraph="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBPcmdhbml6YXRpb25UcmVlR3JhcGgKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgaWQ6ICJyb290IgogIGxhYmVsOiAiUm9vdCIKICBjaGlsZHJlbjoKICAgIC0gaWQ6ICJjMSIKICAgICAgbGFiZWw6ICJDMSIKICAgICAgY2hpbGRyZW46CiAgICAgICAgLSBpZDogImMxLTEiCiAgICAgICAgICBsYWJlbDogIkMxLTEiCiAgICAgICAgICBjaGlsZHJlbjoKICAgICAgICAgICAgLSBpZDogImMxLTEtMSIKICAgICAgICAgICAgICBsYWJlbDogIkMxLTEtMSIKICAgICAgICAgICAgLSBpZDogImMxLTEtMiIKICAgICAgICAgICAgICBsYWJlbDogIkMxLTEtMiIKICAgICAgICAtIGlkOiAiYzEtMiIKICAgICAgICAgIGxhYmVsOiAiQzEtMiIKICAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICAgICAtIGlkOiAiYzEtMi0xIgogICAgICAgICAgICAgIGxhYmVsOiAiQzEtMi0xIgogICAgICAgICAgICAtIGlkOiAiYzEtMi0yIgogICAgICAgICAgICAgIGxhYmVsOiAiQzEtMi0yIgogICAgLSBpZDogImMyIgogICAgICBsYWJlbDogIkMyIgogICAgICBjaGlsZHJlbjoKICAgICAgICAtIGlkOiAiYzItMSIKICAgICAgICAgIGxhYmVsOiAiQzItMSIKICAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICAgICAtIGlkOiAiYzItMS0xIgogICAgICAgICAgICAgIGxhYmVsOiAiQzItMS0xIgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoge30KYGBg",f.Radar="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBSYWRhcgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YToKICAtIGl0ZW06ICJEZXNpZ24iCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiA3MAogIC0gaXRlbTogIkRlc2lnbiIKICAgIHVzZXI6ICJiIgogICAgc2NvcmU6IDMwCiAgLSBpdGVtOiAiTWFya2V0aW5nIgogICAgdXNlcjogImEiCiAgICBzY29yZTogNTAKICAtIGl0ZW06ICJNYXJrZXRpbmciCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA2MAogIC0gaXRlbTogIlRlY2hub2xvZ3kiCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiA1MAogIC0gaXRlbTogIlRlY2hub2xvZ3kiCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA0MAogIC0gaXRlbTogIlN1cHBvcnQiCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiAzMAogIC0gaXRlbTogIlN1cHBvcnQiCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA0MAogIC0gaXRlbTogIlNhbGVzIgogICAgdXNlcjogImEiCiAgICBzY29yZTogNjAKICAtIGl0ZW06ICJTYWxlcyIKICAgIHVzZXI6ICJiIgogICAgc2NvcmU6IDQwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHhGaWVsZDogIml0ZW0iCiAgeUZpZWxkOiAic2NvcmUiCiAgc2VyaWVzRmllbGQ6ICJ1c2VyIgogIG1ldGE6CiAgICBzY29yZToKICAgICAgYWxpYXM6ICJTY29yZSIKICAgICAgbWluOiAwCiAgICAgIG5pY2U6IHRydWUKICB4QXhpczoKICAgIGxpbmU6IG51bGwKICAgIHRpY2tMaW5lOiBudWxsCiAgeUF4aXM6CiAgICBsYWJlbDogZmFsc2UKICAgIGdyaWQ6CiAgICAgIGFsdGVybmF0ZUNvbG9yOiAicmdiYSgwLCAwLCAwLCAwLjA0KSIKICBwb2ludDoge30KICBhcmVhOiB7fQpgYGA=",f.TinyLine="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBUaW55TGluZQoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YTogWzI2NCwgNDE3LCA0MzgsIDg4NywgMzA5LCAzOTcsIDU1MCwgNTc1LCA1NjMsIDQzMCwgNTI1LCA1OTIsIDQ5MiwgNDY3LCA1MTMsIDU0NiwgOTgzLCAzNDAsIDUzOSwgMjQzLCAyMjYsIDE5Ml0KCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgb3B0aW9ucyAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCm9wdGlvbnM6CiAgaGVpZ2h0OiA2MAogIGF1dG9GaXQ6IGZhbHNlCiAgc21vb3RoOiB0cnVlCiAgdG9vbHRpcDogZmFsc2UKICBhbm5vdGF0aW9uczoKICAgIC0gdHlwZTogImxpbmUiCiAgICAgIHN0YXJ0OiBbIm1pbiIsICJtZWFuIl0KICAgICAgZW5kOiBbIm1heCIsICJtZWFuIl0KICAgICAgc3R5bGU6CiAgICAgICAgc3Ryb2tlOiAicmdiYSgwLCAwLCAwLCAwLjQ1KSIKICAgICAgdGV4dDoKICAgICAgICBjb250ZW50OiAiQXZlcmFnZSIKICAgICAgICBvZmZzZXRZOiAtMgogICAgICAgIHN0eWxlOgogICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIKICAgICAgICAgIGZvbnRTaXplOiAxMAogICAgICAgICAgZmlsbDogInJnYmEoNDQsIDUzLCA2NiwgMC40NSkiCiAgICAgICAgICB0ZXh0QmFzZWxpbmU6ICJib3R0b20iCiAgICAtIHR5cGU6ICJsaW5lIgogICAgICBzdGFydDogWyJtaW4iLCA4MDBdCiAgICAgIGVuZDogWyJtYXgiLCA4MDBdCiAgICAgIHN0eWxlOgogICAgICAgIHN0cm9rZTogInJnYmEoMjAwLCAwLCAwLCAwLjU1KSIKICAgICAgdGV4dDoKICAgICAgICBjb250ZW50OiAiVGFyZ2V0IgogICAgICAgIG9mZnNldFk6IC0yCiAgICAgICAgc3R5bGU6CiAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IgogICAgICAgICAgZm9udFNpemU6IDEwCiAgICAgICAgICBmaWxsOiAicmdiYSg0NCwgNTMsIDY2LCAwLjQ1KSIKICAgICAgICAgIHRleHRCYXNlbGluZTogImJvdHRvbSIKYGBg",f["Dataviewjs Example (Column)"]="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBDb2x1bW4KCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6IHwKICBkYXRhdmlld2pzOgogIHJldHVybiBkdi5wYWdlcygpCiAgICAgICAgICAgLmdyb3VwQnkocCA9PiBwLmZpbGUuZm9sZGVyKQogICAgICAgICAgIC5tYXAocCA9PiAoe2ZvbGRlcjogcC5rZXkgfHwgIlJPT1QiLCBjb3VudDogcC5yb3dzLmxlbmd0aH0pKQogICAgICAgICAgIC5hcnJheSgpOwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICB4RmllbGQ6ICJmb2xkZXIiCiAgeUZpZWxkOiAiY291bnQiCiAgcGFkZGluZzogYXV0bwogIGxhYmVsOgogICAgcG9zaXRpb246ICJtaWRkbGUiCiAgICBzdHlsZToKICAgICAgb3BhY2l0eTogMC42CiAgICAgIGZvbnRTaXplOiAxMgogIGNvbHVtblN0eWxlOgogICAgZmlsbE9wYWNpdHk6IDAuNQogICAgbGluZVdpZHRoOiAxCiAgICBzdHJva2VPcGFjaXR5OiAwLjcKICAgIHNoYWRvd0NvbG9yOiAiZ3JleSIKICAgIHNoYWRvd0JsdXI6IDEwCiAgICBzaGFkb3dPZmZzZXRYOiA1CiAgICBzaGFkb3dPZmZzZXRZOiA1CiAgeEF4aXM6CiAgICBsYWJlbDoKICAgICAgYXV0b0hpZGU6IGZhbHNlCiAgICAgIGF1dG9Sb3RhdGU6IHRydWUKICBtZXRhOgogICAgY291bnQ6CiAgICAgIGFsaWFzOiAiQ291bnQiCmBgYA=="})(Rs||(Rs={}));var QAt={[Rs.Bar]:"https://user-images.githubusercontent.com/150803/123117024-fa43b180-d473-11eb-84eb-8e1806ce5dec.png",[Rs.Pie]:"https://user-images.githubusercontent.com/150803/119069882-87c95700-ba19-11eb-8cef-02d1e021d1a2.png",[Rs.WordCloud]:"https://user-images.githubusercontent.com/150803/119069991-bba47c80-ba19-11eb-873f-847563daea39.png",[Rs.WordCount]:"https://user-images.githubusercontent.com/150803/136478725-be28a56b-0075-4f0a-a719-f61b30e83b6a.png",[Rs.Treemap]:"https://user-images.githubusercontent.com/150803/119070047-decf2c00-ba19-11eb-9d59-21c051da593c.png",[Rs.DualAxes]:"https://user-images.githubusercontent.com/150803/119969638-618b5480-bfe1-11eb-8a36-0a5d60408b00.png",[Rs.Mix]:"https://user-images.githubusercontent.com/150803/120421841-a1638a80-c399-11eb-9464-d773931fdd6f.png",[Rs.OrganizationTreeGraph]:"https://user-images.githubusercontent.com/150803/123117254-2b23e680-d474-11eb-845f-0d663a458fa7.png",[Rs.Radar]:"https://user-images.githubusercontent.com/150803/123117394-4a227880-d474-11eb-8a11-23f3cd482251.png",[Rs.TinyLine]:"https://user-images.githubusercontent.com/150803/123117476-5a3a5800-d474-11eb-9db8-4b3785bb010c.png",[Rs["Dataviewjs Example (Column)"]]:"https://user-images.githubusercontent.com/150803/140684190-fa6a08ea-3394-44fe-ae92-265810f6b9a9.png"};var tMt=U(require("buffer")),qX=class extends JAt.FuzzySuggestModal{constructor(e,t){super(e);this.editor=t}getItems(){return Object.entries(Rs)}getItemText(e){return e[0]}renderSuggestion(e,t){let n=createDiv({cls:"chartsview-thumbnail"}),i=Rs[e.item[0]],a=createEl("img",{attr:{src:QAt[i]}});n.appendChild(a),t.appendChild(n),t.addClass("chartsview-thumbnail-container"),super.renderSuggestion(e,t)}onChooseItem(e){nC(this.editor,tMt.Buffer.from(e[1],"base64").toString("utf8"))}};var If=U(require("obsidian"));var iC={labelsFieldKey:"xField",valuesFieldKey:"yField",seriesFieldKey:"seriesField",labels:{field:"label",value:["1951","1952","1956","1957","1958"]},values:[{field:"value",value:["38","52","61","145","48"]}],series:{field:"serie"}},KX=80,ZX=14,Ame="Area",Mme={"1":"1","2":"2","3":"3","4":"4","5":"5","6":"6"},Tme={Area:"Area",Bar:"Bar",Box:"Box",Chord:"Chord",Column:"Column",Funnel:"Funnel",Heatmap:"Heatmap",Histogram:"Histogram",Line:"Line",Pie:"Pie",Radar:"Radar",RadialBar:"RadialBar",Rose:"Rose",Sankey:"Sankey",Stock:"Stock",Violin:"Violin",Waterfall:"Waterfall",WordCloud:"WordCloud"},aC={Bar:{labelsFieldKey:"yField",valuesFieldKey:"xField",seriesFieldKey:"seriesField"},Chord:{labelsFieldKey:"sourceField",valuesFieldKey:"weightField",seriesFieldKey:"targetField"},Sankey:{labelsFieldKey:"sourceField",valuesFieldKey:"weightField",seriesFieldKey:"targetField"},Heatmap:{labelsFieldKey:"xField",valuesFieldKey:"colorField",seriesFieldKey:""},Histogram:{labelsFieldKey:"xField",valuesFieldKey:"binField",seriesFieldKey:""},WordCloud:{labelsFieldKey:"wordField",valuesFieldKey:"weightField",seriesFieldKey:""},Pie:{labelsFieldKey:"colorField",valuesFieldKey:"angleField",seriesFieldKey:""}},$X=class extends If.Modal{constructor(e,t,n){super(e);this.editor=t;this.settings=n}onOpen(){var e,t,n;this.modalEl.style.width="860px",this.titleEl.createEl("h2",{text:"Chart Wizard"}),this.chartSetting={type:Ame,config:{}},this.dataLabels=((e=aC[this.chartSetting.type])!=null?e:iC).labels,this.dataValues=((t=aC[this.chartSetting.type])!=null?t:iC).values,this.dataSeries=((n=aC[this.chartSetting.type])!=null?n:iC).series,this.valueNumber=1,this.displayContent(),this.addConfirmButton()}displayContent(){this.contentEl.empty(),this.createSetting(),this.chartEl=this.contentEl.createDiv(),this.renderChart()}createSetting(){new If.Setting(this.contentEl).setName("Chart Type").addDropdown(e=>e.addOptions(Tme).setValue(this.chartSetting.type).onChange(t=>{this.lastSelectedType=this.chartSetting.type,this.chartSetting.type=t,this.renderChart()})),new If.Setting(this.contentEl).setName("Value Number").addDropdown(e=>e.addOptions(Mme).setValue(`${this.valueNumber}`).onChange(t=>{this.valueNumber=+t,this.displayContent()}));for(let e=0;e{var n,i;t.inputEl.size=ZX,t.setPlaceholder("Input field name").setValue((i=(n=this.dataValues[e])==null?void 0:n.field)!=null?i:void 0).onChange(a=>{this.dataValues[e]===void 0&&(this.dataValues[e]={}),this.dataValues[e].field=a,this.renderChart()})}).addText(t=>{var n,i;t.inputEl.size=KX,t.setPlaceholder("value1, value2, value3, ...").setValue(((n=this.dataValues[e])==null?void 0:n.value)&&((i=this.dataValues[e])==null?void 0:i.value.join(","))).onChange(a=>{this.dataValues[e]===void 0&&(this.dataValues[e]={}),this.dataValues[e].value=a.length===0?void 0:a.split(","),this.renderChart()})});new If.Setting(this.contentEl).setName("Labels").addText(e=>{e.inputEl.size=ZX,e.setPlaceholder("Input field name").setValue(this.dataLabels.field).onChange(t=>{this.dataLabels.field=t,this.renderChart()})}).addText(e=>{e.inputEl.size=KX,e.setPlaceholder("value1, value2, value3, ...").setValue(this.dataLabels.value&&this.dataLabels.value.join(",")).onChange(t=>{this.dataLabels.value=t.length===0?void 0:t.split(","),this.renderChart()})}),new If.Setting(this.contentEl).setName("Series").addText(e=>{e.inputEl.size=ZX,e.setPlaceholder("Input field name").setValue(this.dataSeries.field).onChange(t=>{this.dataSeries.field=t,this.renderChart()})}).addText(e=>{e.inputEl.size=KX,e.setPlaceholder("value1, value2, value3, ...").setValue(this.dataSeries.value&&this.dataSeries.value.join(",")).onChange(t=>{this.dataSeries.value=t.length===0?void 0:t.split(","),this.renderChart()})})}renderChart(){var e,t,n,i,a,o,s;this.dataSeries.field=(e=this.dataSeries.field)!=null?e:"serie",this.dataLabels.field=(t=this.dataLabels.field)!=null?t:"label",this.dataValues[0].field=(n=this.dataValues[0].field)!=null?n:"value",this.chartSetting.config={},this.isNotEmpty(this.dataSeries.value)&&(this.chartSetting.config[((i=aC[this.chartSetting.type])!=null?i:iC).seriesFieldKey]=this.dataSeries.field),this.isNotEmpty(this.dataLabels.value)&&(this.chartSetting.config[((a=aC[this.chartSetting.type])!=null?a:iC).labelsFieldKey]=this.dataLabels.field),this.isNotEmpty(this.dataValues)&&(this.chartSetting.config[((o=aC[this.chartSetting.type])!=null?o:iC).valuesFieldKey]=this.valueNumber===1?this.dataValues[0].field:this.dataValues.map(l=>l.field)),this.chartSetting.config.data=((s=this.dataLabels.value)!=null?s:[]).map((l,u)=>{var h,d;let f={};f[this.dataLabels.field]=l;for(let p=0;pe.setClass("mod-cta").setButtonText("Insert Yaml!").onClick(t=>{nC(this.editor,this.genYaml()),this.close()}))}genYaml(){let e=this.chartSetting.type,t={data:this.chartSetting.config.data},n={options:wl({},this.chartSetting.config)};return delete n.options.data,`\`\`\`chartsview +those`},JX=class extends kc.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}display(){let{containerEl:e}=this;if(e.empty(),e.createEl("h2",{text:"Charts View Settings"}),new kc.Setting(e).setName("Theme").setDesc("Choose default color scheme.").addDropdown(t=>t.addOption("default","default").addOption("dark","dark").addOption("theme1","Theme #1").addOption("theme2","Theme #2").setValue(this.plugin.settings.theme).onChange(n=>xa(this,null,function*(){this.plugin.settings.theme=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Background Color").setDesc("Change the background color of chart. e.g., #FFFFFF").addText(t=>t.setPlaceholder("transparent").setValue(this.plugin.settings.backgroundColor).onChange(n=>xa(this,null,function*(){this.plugin.settings.backgroundColor=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Chart Padding").setDesc("Change the padding of chart. (Top, Right, Bottom, Left)").addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingTop)).onChange(n=>xa(this,null,function*(){this.plugin.settings.paddingTop=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingRight)).onChange(n=>xa(this,null,function*(){this.plugin.settings.paddingRight=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingBottom)).onChange(n=>xa(this,null,function*(){this.plugin.settings.paddingBottom=Number(n),yield this.plugin.saveSettings()}))}).addText(t=>{t.inputEl.size=5,t.setPlaceholder("30").setValue(String(this.plugin.settings.paddingLeft)).onChange(n=>xa(this,null,function*(){this.plugin.settings.paddingLeft=Number(n),yield this.plugin.saveSettings()}))}),new kc.Setting(e).setName("Data Folder").setDesc("Choose default folder for loading chart datas.").addDropdown(t=>t.addOptions(nMt(this.app)).setValue(this.plugin.settings.dataPath).onChange(n=>xa(this,null,function*(){this.plugin.settings.dataPath=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Show Export Button").addToggle(t=>t.setValue(this.plugin.settings.showExportBtn).onChange(n=>xa(this,null,function*(){this.plugin.settings.showExportBtn=n,yield this.plugin.saveSettings()}))),new kc.Setting(e).setName("Word Filter").setDesc("For word count, any words in the list will be ignored.").addTextArea(t=>{t.inputEl.rows=6,t.setValue(this.plugin.settings.wordCountFilter).onChange(n=>xa(this,null,function*(){this.plugin.settings.wordCountFilter=n,yield this.plugin.saveSettings()}))}),kc.Platform.isDesktopApp){let t=e.createDiv({cls:"chartsview-donation"});t.createEl("p",{text:"Make a donation to support Charts View plugin development."});let i=t.createEl("a",{href:"https://paypal.me/caronchenhz",cls:"paypal"}).createEl("img");i.src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjQsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTI0cHgiIGhlaWdodD0iMzNweCIgdmlld0JveD0iMCAwIDEyNCAzMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTI0IDMzIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiMyNTNCODAiIGQ9Ik00Ni4yMTEsNi43NDloLTYuODM5Yy0wLjQ2OCwwLTAuODY2LDAuMzQtMC45MzksMC44MDJsLTIuNzY2LDE3LjUzN2MtMC4wNTUsMC4zNDYsMC4yMTMsMC42NTgsMC41NjQsMC42NTgNCgloMy4yNjVjMC40NjgsMCwwLjg2Ni0wLjM0LDAuOTM5LTAuODAzbDAuNzQ2LTQuNzNjMC4wNzItMC40NjMsMC40NzEtMC44MDMsMC45MzgtMC44MDNoMi4xNjVjNC41MDUsMCw3LjEwNS0yLjE4LDcuNzg0LTYuNQ0KCWMwLjMwNi0xLjg5LDAuMDEzLTMuMzc1LTAuODcyLTQuNDE1QzUwLjIyNCw3LjM1Myw0OC41LDYuNzQ5LDQ2LjIxMSw2Ljc0OXogTTQ3LDEzLjE1NGMtMC4zNzQsMi40NTQtMi4yNDksMi40NTQtNC4wNjIsMi40NTQNCgloLTEuMDMybDAuNzI0LTQuNTgzYzAuMDQzLTAuMjc3LDAuMjgzLTAuNDgxLDAuNTYzLTAuNDgxaDAuNDczYzEuMjM1LDAsMi40LDAsMy4wMDIsMC43MDRDNDcuMDI3LDExLjY2OCw0Ny4xMzcsMTIuMjkyLDQ3LDEzLjE1NHoiDQoJLz4NCjxwYXRoIGZpbGw9IiMyNTNCODAiIGQ9Ik02Ni42NTQsMTMuMDc1aC0zLjI3NWMtMC4yNzksMC0wLjUyLDAuMjA0LTAuNTYzLDAuNDgxbC0wLjE0NSwwLjkxNmwtMC4yMjktMC4zMzINCgljLTAuNzA5LTEuMDI5LTIuMjktMS4zNzMtMy44NjgtMS4zNzNjLTMuNjE5LDAtNi43MSwyLjc0MS03LjMxMiw2LjU4NmMtMC4zMTMsMS45MTgsMC4xMzIsMy43NTIsMS4yMiw1LjAzMQ0KCWMwLjk5OCwxLjE3NiwyLjQyNiwxLjY2Niw0LjEyNSwxLjY2NmMyLjkxNiwwLDQuNTMzLTEuODc1LDQuNTMzLTEuODc1bC0wLjE0NiwwLjkxYy0wLjA1NSwwLjM0OCwwLjIxMywwLjY2LDAuNTYyLDAuNjZoMi45NQ0KCWMwLjQ2OSwwLDAuODY1LTAuMzQsMC45MzktMC44MDNsMS43Ny0xMS4yMDlDNjcuMjcxLDEzLjM4OCw2Ny4wMDQsMTMuMDc1LDY2LjY1NCwxMy4wNzV6IE02Mi4wODksMTkuNDQ5DQoJYy0wLjMxNiwxLjg3MS0xLjgwMSwzLjEyNy0zLjY5NSwzLjEyN2MtMC45NTEsMC0xLjcxMS0wLjMwNS0yLjE5OS0wLjg4M2MtMC40ODQtMC41NzQtMC42NjgtMS4zOTEtMC41MTQtMi4zMDENCgljMC4yOTUtMS44NTUsMS44MDUtMy4xNTIsMy42Ny0zLjE1MmMwLjkzLDAsMS42ODYsMC4zMDksMi4xODQsMC44OTJDNjIuMDM0LDE3LjcyMSw2Mi4yMzIsMTguNTQzLDYyLjA4OSwxOS40NDl6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNODQuMDk2LDEzLjA3NWgtMy4yOTFjLTAuMzE0LDAtMC42MDksMC4xNTYtMC43ODcsMC40MTdsLTQuNTM5LDYuNjg2bC0xLjkyNC02LjQyNQ0KCWMtMC4xMjEtMC40MDItMC40OTItMC42NzgtMC45MTItMC42NzhoLTMuMjM0Yy0wLjM5MywwLTAuNjY2LDAuMzg0LTAuNTQxLDAuNzU0bDMuNjI1LDEwLjYzOGwtMy40MDgsNC44MTENCgljLTAuMjY4LDAuMzc5LDAuMDAyLDAuOSwwLjQ2NSwwLjloMy4yODdjMC4zMTIsMCwwLjYwNC0wLjE1MiwwLjc4MS0wLjQwOEw4NC41NjQsMTMuOTdDODQuODI2LDEzLjU5Miw4NC41NTcsMTMuMDc1LDg0LjA5NiwxMy4wNzV6DQoJIi8+DQo8cGF0aCBmaWxsPSIjMTc5QkQ3IiBkPSJNOTQuOTkyLDYuNzQ5aC02Ljg0Yy0wLjQ2NywwLTAuODY1LDAuMzQtMC45MzgsMC44MDJsLTIuNzY2LDE3LjUzN2MtMC4wNTUsMC4zNDYsMC4yMTMsMC42NTgsMC41NjIsMC42NTgNCgloMy41MWMwLjMyNiwwLDAuNjA1LTAuMjM4LDAuNjU2LTAuNTYybDAuNzg1LTQuOTcxYzAuMDcyLTAuNDYzLDAuNDcxLTAuODAzLDAuOTM4LTAuODAzaDIuMTY0YzQuNTA2LDAsNy4xMDUtMi4xOCw3Ljc4NS02LjUNCgljMC4zMDctMS44OSwwLjAxMi0zLjM3NS0wLjg3My00LjQxNUM5OS4wMDQsNy4zNTMsOTcuMjgxLDYuNzQ5LDk0Ljk5Miw2Ljc0OXogTTk1Ljc4MSwxMy4xNTRjLTAuMzczLDIuNDU0LTIuMjQ4LDIuNDU0LTQuMDYyLDIuNDU0DQoJaC0xLjAzMWwwLjcyNS00LjU4M2MwLjA0My0wLjI3NywwLjI4MS0wLjQ4MSwwLjU2Mi0wLjQ4MWgwLjQ3M2MxLjIzNCwwLDIuNCwwLDMuMDAyLDAuNzA0DQoJQzk1LjgwOSwxMS42NjgsOTUuOTE4LDEyLjI5Miw5NS43ODEsMTMuMTU0eiIvPg0KPHBhdGggZmlsbD0iIzE3OUJENyIgZD0iTTExNS40MzQsMTMuMDc1aC0zLjI3M2MtMC4yODEsMC0wLjUyLDAuMjA0LTAuNTYyLDAuNDgxbC0wLjE0NSwwLjkxNmwtMC4yMy0wLjMzMg0KCWMtMC43MDktMS4wMjktMi4yODktMS4zNzMtMy44NjctMS4zNzNjLTMuNjE5LDAtNi43MDksMi43NDEtNy4zMTEsNi41ODZjLTAuMzEyLDEuOTE4LDAuMTMxLDMuNzUyLDEuMjE5LDUuMDMxDQoJYzEsMS4xNzYsMi40MjYsMS42NjYsNC4xMjUsMS42NjZjMi45MTYsMCw0LjUzMy0xLjg3NSw0LjUzMy0xLjg3NWwtMC4xNDYsMC45MWMtMC4wNTUsMC4zNDgsMC4yMTMsMC42NiwwLjU2NCwwLjY2aDIuOTQ5DQoJYzAuNDY3LDAsMC44NjUtMC4zNCwwLjkzOC0wLjgwM2wxLjc3MS0xMS4yMDlDMTE2LjA1MywxMy4zODgsMTE1Ljc4NSwxMy4wNzUsMTE1LjQzNCwxMy4wNzV6IE0xMTAuODY5LDE5LjQ0OQ0KCWMtMC4zMTQsMS44NzEtMS44MDEsMy4xMjctMy42OTUsMy4xMjdjLTAuOTQ5LDAtMS43MTEtMC4zMDUtMi4xOTktMC44ODNjLTAuNDg0LTAuNTc0LTAuNjY2LTEuMzkxLTAuNTE0LTIuMzAxDQoJYzAuMjk3LTEuODU1LDEuODA1LTMuMTUyLDMuNjctMy4xNTJjMC45MywwLDEuNjg2LDAuMzA5LDIuMTg0LDAuODkyQzExMC44MTYsMTcuNzIxLDExMS4wMTQsMTguNTQzLDExMC44NjksMTkuNDQ5eiIvPg0KPHBhdGggZmlsbD0iIzE3OUJENyIgZD0iTTExOS4yOTUsNy4yM2wtMi44MDcsMTcuODU4Yy0wLjA1NSwwLjM0NiwwLjIxMywwLjY1OCwwLjU2MiwwLjY1OGgyLjgyMmMwLjQ2OSwwLDAuODY3LTAuMzQsMC45MzktMC44MDMNCglsMi43NjgtMTcuNTM2YzAuMDU1LTAuMzQ2LTAuMjEzLTAuNjU5LTAuNTYyLTAuNjU5aC0zLjE2QzExOS41NzgsNi43NDksMTE5LjMzOCw2Ljk1MywxMTkuMjk1LDcuMjN6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNNy4yNjYsMjkuMTU0bDAuNTIzLTMuMzIybC0xLjE2NS0wLjAyN0gxLjA2MUw0LjkyNywxLjI5MkM0LjkzOSwxLjIxOCw0Ljk3OCwxLjE0OSw1LjAzNSwxLjENCgljMC4wNTctMC4wNDksMC4xMy0wLjA3NiwwLjIwNi0wLjA3Nmg5LjM4YzMuMTE0LDAsNS4yNjMsMC42NDgsNi4zODUsMS45MjdjMC41MjYsMC42LDAuODYxLDEuMjI3LDEuMDIzLDEuOTE3DQoJYzAuMTcsMC43MjQsMC4xNzMsMS41ODksMC4wMDcsMi42NDRsLTAuMDEyLDAuMDc3djAuNjc2bDAuNTI2LDAuMjk4YzAuNDQzLDAuMjM1LDAuNzk1LDAuNTA0LDEuMDY1LDAuODEyDQoJYzAuNDUsMC41MTMsMC43NDEsMS4xNjUsMC44NjQsMS45MzhjMC4xMjcsMC43OTUsMC4wODUsMS43NDEtMC4xMjMsMi44MTJjLTAuMjQsMS4yMzItMC42MjgsMi4zMDUtMS4xNTIsMy4xODMNCgljLTAuNDgyLDAuODA5LTEuMDk2LDEuNDgtMS44MjUsMmMtMC42OTYsMC40OTQtMS41MjMsMC44NjktMi40NTgsMS4xMDljLTAuOTA2LDAuMjM2LTEuOTM5LDAuMzU1LTMuMDcyLDAuMzU1aC0wLjczDQoJYy0wLjUyMiwwLTEuMDI5LDAuMTg4LTEuNDI3LDAuNTI1Yy0wLjM5OSwwLjM0NC0wLjY2MywwLjgxNC0wLjc0NCwxLjMyOGwtMC4wNTUsMC4yOTlsLTAuOTI0LDUuODU1bC0wLjA0MiwwLjIxNQ0KCWMtMC4wMTEsMC4wNjgtMC4wMywwLjEwMi0wLjA1OCwwLjEyNWMtMC4wMjUsMC4wMjEtMC4wNjEsMC4wMzUtMC4wOTYsMC4wMzVINy4yNjZ6Ii8+DQo8cGF0aCBmaWxsPSIjMTc5QkQ3IiBkPSJNMjMuMDQ4LDcuNjY3TDIzLjA0OCw3LjY2N0wyMy4wNDgsNy42NjdjLTAuMDI4LDAuMTc5LTAuMDYsMC4zNjItMC4wOTYsMC41NQ0KCWMtMS4yMzcsNi4zNTEtNS40NjksOC41NDUtMTAuODc0LDguNTQ1SDkuMzI2Yy0wLjY2MSwwLTEuMjE4LDAuNDgtMS4zMjEsMS4xMzJsMCwwbDAsMEw2LjU5NiwyNi44M2wtMC4zOTksMi41MzMNCgljLTAuMDY3LDAuNDI4LDAuMjYzLDAuODE0LDAuNjk1LDAuODE0aDQuODgxYzAuNTc4LDAsMS4wNjktMC40MiwxLjE2LTAuOTlsMC4wNDgtMC4yNDhsMC45MTktNS44MzJsMC4wNTktMC4zMg0KCWMwLjA5LTAuNTcyLDAuNTgyLTAuOTkyLDEuMTYtMC45OTJoMC43M2M0LjcyOSwwLDguNDMxLTEuOTIsOS41MTMtNy40NzZjMC40NTItMi4zMjEsMC4yMTgtNC4yNTktMC45NzgtNS42MjINCglDMjQuMDIyLDguMjg2LDIzLjU3Myw3Ljk0NSwyMy4wNDgsNy42Njd6Ii8+DQo8cGF0aCBmaWxsPSIjMjIyRDY1IiBkPSJNMjEuNzU0LDcuMTUxYy0wLjE4OS0wLjA1NS0wLjM4NC0wLjEwNS0wLjU4NC0wLjE1Yy0wLjIwMS0wLjA0NC0wLjQwNy0wLjA4My0wLjYxOS0wLjExNw0KCWMtMC43NDItMC4xMi0xLjU1NS0wLjE3Ny0yLjQyNi0wLjE3N2gtNy4zNTJjLTAuMTgxLDAtMC4zNTMsMC4wNDEtMC41MDcsMC4xMTVDOS45MjcsNi45ODUsOS42NzUsNy4zMDYsOS42MTQsNy42OTlMOC4wNSwxNy42MDUNCglsLTAuMDQ1LDAuMjg5YzAuMTAzLTAuNjUyLDAuNjYtMS4xMzIsMS4zMjEtMS4xMzJoMi43NTJjNS40MDUsMCw5LjYzNy0yLjE5NSwxMC44NzQtOC41NDVjMC4wMzctMC4xODgsMC4wNjgtMC4zNzEsMC4wOTYtMC41NQ0KCWMtMC4zMTMtMC4xNjYtMC42NTItMC4zMDgtMS4wMTctMC40MjlDMjEuOTQxLDcuMjA4LDIxLjg0OCw3LjE3OSwyMS43NTQsNy4xNTF6Ii8+DQo8cGF0aCBmaWxsPSIjMjUzQjgwIiBkPSJNOS42MTQsNy42OTljMC4wNjEtMC4zOTMsMC4zMTMtMC43MTQsMC42NTItMC44NzZjMC4xNTUtMC4wNzQsMC4zMjYtMC4xMTUsMC41MDctMC4xMTVoNy4zNTINCgljMC44NzEsMCwxLjY4NCwwLjA1NywyLjQyNiwwLjE3N2MwLjIxMiwwLjAzNCwwLjQxOCwwLjA3MywwLjYxOSwwLjExN2MwLjIsMC4wNDUsMC4zOTUsMC4wOTUsMC41ODQsMC4xNQ0KCWMwLjA5NCwwLjAyOCwwLjE4NywwLjA1NywwLjI3OCwwLjA4NmMwLjM2NSwwLjEyMSwwLjcwNCwwLjI2NCwxLjAxNywwLjQyOWMwLjM2OC0yLjM0Ny0wLjAwMy0zLjk0NS0xLjI3Mi01LjM5Mg0KCUMyMC4zNzgsMC42ODIsMTcuODUzLDAsMTQuNjIyLDBoLTkuMzhjLTAuNjYsMC0xLjIyMywwLjQ4LTEuMzI1LDEuMTMzTDAuMDEsMjUuODk4Yy0wLjA3NywwLjQ5LDAuMzAxLDAuOTMyLDAuNzk1LDAuOTMyaDUuNzkxDQoJbDEuNDU0LTkuMjI1TDkuNjE0LDcuNjk5eiIvPg0KPC9zdmc+DQo=",i.alt="PayPal"}}};var cMt=z(require("obsidian"));var gs;(function(c){c.Bar="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBCYXIKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSBhY3Rpb246ICJCcm93c2UgdGhlIHdlYnNpdGUiCiAgICBwdjogNTAwMDAKICAtIGFjdGlvbjogIkFkZCB0byBjYXJ0IgogICAgcHY6IDM1MDAwCiAgLSBhY3Rpb246ICJHZW5lcmF0ZSBvcmRlcnMiCiAgICBwdjogMjUwMDAKICAtIGFjdGlvbjogIlBheSBvcmRlciIKICAgIHB2OiAxNTAwMAogIC0gYWN0aW9uOiAiU2VhbCB0aGUgZGVhbCIKICAgIHB2OiA4NTAwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHhGaWVsZDogInB2IgogIHlGaWVsZDogImFjdGlvbiIKICBjb252ZXJzaW9uVGFnOiB7fQpgYGA=",c.Pie="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBQaWUKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSB0eXBlOiAiV2FnZSBpbmNvbWUgcGVyIGNhcGl0YSAowqUpIgogICAgdmFsdWU6IDE3OTE3CiAgLSB0eXBlOiAiT3BlcmF0aW5nIG5ldCBpbmNvbWUgcGVyIGNhcGl0YSAowqUpIgogICAgdmFsdWU6IDUzMDcKICAtIHR5cGU6ICJQcm9wZXJ0eSBQZXIgQ2FwaXRhIE5ldCBJbmNvbWUgKMKlKSIKICAgIHZhbHVlOiAyNzkxCiAgLSB0eXBlOiAiVHJhbnNmZXIgb2YgbmV0IGluY29tZSBwZXIgY2FwaXRhICjCpSkiCiAgICB2YWx1ZTogNjE3MwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICBhbmdsZUZpZWxkOiAidmFsdWUiCiAgY29sb3JGaWVsZDogInR5cGUiCiAgcmFkaXVzOiAwLjUKICBsYWJlbDoKICAgIHR5cGU6ICJzcGlkZXIiCiAgICBjb250ZW50OiAie3BlcmNlbnRhZ2V9XG57bmFtZX0iCiAgbGVnZW5kOgogICAgbGF5b3V0OiAiaG9yaXpvbnRhbCIKICAgIHBvc2l0aW9uOiAiYm90dG9tIgpgYGA=",c.WordCloud="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBXb3JkQ2xvdWQKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgLSB4OiAiQ2hpbmEiCiAgICB2YWx1ZTogMjM4MzIyMDAwMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIkluZG9uZXNpYSIKICAgIHZhbHVlOiAyNjM1MTAwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJQYWtpc3RhbiIKICAgIHZhbHVlOiAzOTY0NTkwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJSdXNzaWEiCiAgICB2YWx1ZTogNTQ2ODA0MzcyCiAgICBjYXRlZ29yeTogImV1cm9wZSIKICAtIHg6ICJKYXBhbiIKICAgIHZhbHVlOiAxMjY3OTAwMDAKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJWaWV0bmFtIgogICAgdmFsdWU6IDkyNzAwMDAwCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiR2VybWFueSIKICAgIHZhbHVlOiA4MjgwMDAwMAogICAgY2F0ZWdvcnk6ICJldXJvcGUiCiAgLSB4OiAiSXJhbiIKICAgIHZhbHVlOiA4MDEzNTQwMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIlRoYWlsYW5kIgogICAgdmFsdWU6IDY4Mjk4MDAwCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiRnJhbmNlIgogICAgdmFsdWU6IDY3MDEzMDAwCiAgICBjYXRlZ29yeTogImV1cm9wZSIKICAtIHg6ICJJdGFseSIKICAgIHZhbHVlOiA2MDU5OTkzNgogICAgY2F0ZWdvcnk6ICJldXJvcGUiCiAgLSB4OiAiU291dGggS29yZWEiCiAgICB2YWx1ZTogNTE0NDYyMDEKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJLZW55YSIKICAgIHZhbHVlOiA0ODQ2NzAwMAogICAgY2F0ZWdvcnk6ICJhZnJpY2EiCiAgLSB4OiAiU3BhaW4iCiAgICB2YWx1ZTogNDY4MTIwMDAKICAgIGNhdGVnb3J5OiAiZXVyb3BlIgogIC0geDogIlN1ZGFuIgogICAgdmFsdWU6IDQyMTc2MDAwCiAgICBjYXRlZ29yeTogImFmcmljYSIKICAtIHg6ICJJcmFxIgogICAgdmFsdWU6IDQ3ODgzNTQzCiAgICBjYXRlZ29yeTogImFzaWEiCiAgLSB4OiAiTmVwYWwiCiAgICB2YWx1ZTogMjg4MjU3MDkKICAgIGNhdGVnb3J5OiAiYXNpYSIKICAtIHg6ICJOb3J0aCBLb3JlYSIKICAgIHZhbHVlOiAyNDIxMzUxMAogICAgY2F0ZWdvcnk6ICJhc2lhIgogIC0geDogIkNoaWxlIgogICAgdmFsdWU6IDI4MTkxOTAwCiAgICBjYXRlZ29yeTogImFtZXJpY2EiCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHdvcmRGaWVsZDogIngiCiAgd2VpZ2h0RmllbGQ6ICJ2YWx1ZSIKICBjb2xvcjogIiMxMjJjNmEiCiAgd29yZFN0eWxlOgogICAgZm9udEZhbWlseTogIlZlcmRhbmEiCiAgICBmb250U2l6ZTogWzI0LCA4MF0KICBpbnRlcmFjdGlvbnM6CiAgICB0eXBlOiAiZWxlbWVudC1hY3RpdmUiCiAgc3R5bGU6CiAgICBiYWNrZ3JvdW5kQ29sb3I6ICJ3aGl0ZSIKICBzdGF0ZToKICAgIGFjdGl2ZToKICAgICAgc3R5bGU6CiAgICAgICAgbGluZVdpZHRoOiAzCmBgYA==",c.WordCount="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBXb3JkQ2xvdWQKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6ICJ3b3JkY291bnQ6bm90ZS1uYW1lLWhlcmUtd2l0aG91dC1mb2xkLXBhdGgiCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHdvcmRGaWVsZDogIndvcmQiCiAgd2VpZ2h0RmllbGQ6ICJjb3VudCIKICBjb2xvckZpZWxkOiAiY291bnQiCiAgd29yZFN0eWxlOgogICAgcm90YXRpb246IDMwCmBgYA==",c.Treemap="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBUcmVlbWFwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IGRhdGEgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpkYXRhOgogIG5hbWU6ICdyb290JwogIGNoaWxkcmVuOgogICAgLSBuYW1lOiAnRm9sZGVyIDEnCiAgICAgIHZhbHVlOiA1NjAKICAgIC0gbmFtZTogJ0ZvbGRlciAyJwogICAgICB2YWx1ZTogNTAwCiAgICAtIG5hbWU6ICdGb2xkZXIgMycKICAgICAgdmFsdWU6IDE1MAogICAgLSBuYW1lOiAnRm9sZGVyIDQnCiAgICAgIHZhbHVlOiAxNDAKICAgIC0gbmFtZTogJ0ZvbGRlciA1JwogICAgICB2YWx1ZTogMTE1CiAgICAtIG5hbWU6ICdGb2xkZXIgNicKICAgICAgdmFsdWU6IDk1CiAgICAtIG5hbWU6ICdGb2xkZXIgNycKICAgICAgdmFsdWU6IDkwCiAgICAtIG5hbWU6ICdGb2xkZXIgOCcKICAgICAgdmFsdWU6IDc1CiAgICAtIG5hbWU6ICdGb2xkZXIgOScKICAgICAgdmFsdWU6IDk4CiAgICAtIG5hbWU6ICdGb2xkZXIgMTAnCiAgICAgIHZhbHVlOiA2MAogICAgLSBuYW1lOiAnRm9sZGVyIDExJwogICAgICB2YWx1ZTogNDUKICAgIC0gbmFtZTogJ0ZvbGRlciAxMicKICAgICAgdmFsdWU6IDQwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTMnCiAgICAgIHZhbHVlOiA0MAogICAgLSBuYW1lOiAnRm9sZGVyIDE0JwogICAgICB2YWx1ZTogMzUKICAgIC0gbmFtZTogJ0ZvbGRlciAxNScKICAgICAgdmFsdWU6IDQwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTYnCiAgICAgIHZhbHVlOiA0MAogICAgLSBuYW1lOiAnRm9sZGVyIDE3JwogICAgICB2YWx1ZTogNDAKICAgIC0gbmFtZTogJ0ZvbGRlciAxOCcKICAgICAgdmFsdWU6IDMwCiAgICAtIG5hbWU6ICdGb2xkZXIgMTknCiAgICAgIHZhbHVlOiAyOAogICAgLSBuYW1lOiAnRm9sZGVyIDIwJwogICAgICB2YWx1ZTogMTYKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgb3B0aW9ucyAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCm9wdGlvbnM6CiAgY29sb3JGaWVsZDogIm5hbWUiCmBgYAo=",c.DualAxes="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBEdWFsQXhlcwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YToKICAtCiAgICAtIHRpbWU6ICIyMDE5LTAzIgogICAgICB2YWx1ZTogMzUwCiAgICAgIGNvdW50OiA4MDAKICAgIC0gdGltZTogIjIwMTktMDQiCiAgICAgIHZhbHVlOiA5MDAKICAgICAgY291bnQ6IDYwMAogICAgLSB0aW1lOiAiMjAxOS0wNSIKICAgICAgdmFsdWU6IDMwMAogICAgICBjb3VudDogNDAwCiAgICAtIHRpbWU6ICIyMDE5LTA2IgogICAgICB2YWx1ZTogNDUwCiAgICAgIGNvdW50OiAzODAKICAgIC0gdGltZTogIjIwMTktMDciCiAgICAgIHZhbHVlOiA0NzAKICAgICAgY291bnQ6IDIyCiAgLQogICAgLSB0aW1lOiAiMjAxOS0wMyIKICAgICAgdmFsdWU6IDM1MAogICAgICBjb3VudDogODAwCiAgICAtIHRpbWU6ICIyMDE5LTA0IgogICAgICB2YWx1ZTogOTAwCiAgICAgIGNvdW50OiA2MDAKICAgIC0gdGltZTogIjIwMTktMDUiCiAgICAgIHZhbHVlOiAzMDAKICAgICAgY291bnQ6IDQwMAogICAgLSB0aW1lOiAiMjAxOS0wNiIKICAgICAgdmFsdWU6IDQ1MAogICAgICBjb3VudDogMzgwCiAgICAtIHRpbWU6ICIyMDE5LTA3IgogICAgICB2YWx1ZTogNDcwCiAgICAgIGNvdW50OiAyMgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICB4RmllbGQ6ICd0aW1lJwogIHlGaWVsZDogWyd2YWx1ZScsICdjb3VudCddCiAgeUF4aXM6CiAgICB2YWx1ZToKICAgICAgbWluOiAwCiAgICAgIGxhYmVsOgogICAgICAgIGZvcm1hdHRlcjoKICAgICAgICAgIGZ1bmN0aW9uIGZvcm1hdHRlcih2YWwpIHsKICAgICAgICAgICAgcmV0dXJuICcnLmNvbmNhdCh2YWwsICfkuKonKTsKICAgICAgICAgIH0KICBnZW9tZXRyeU9wdGlvbnM6CiAgICAtIGdlb21ldHJ5OiAnY29sdW1uJwogICAgLSBnZW9tZXRyeTogJ2xpbmUnCiAgICAgIGxpbmVTdHlsZToKICAgICAgICBsaW5lV2lkdGg6IDIKYGBg",c.Mix="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBNaXgKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGEuYXJlYToKICAtIHRpbWU6IDEyNDY0MDY0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTQuMywgMjcuN10KICAtIHRpbWU6IDEyNDY0OTI4MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTQuNSwgMjcuOF0KICAtIHRpbWU6IDEyNDY1NzkyMDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTUuNSwgMjkuNl0KICAtIHRpbWU6IDEyNDY2NjU2MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTYuNywgMzAuN10KICAtIHRpbWU6IDEyNDY3NTIwMDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTYuNSwgMjUuMF0KICAtIHRpbWU6IDEyNDY4Mzg0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiBbMTcuOCwgMjUuN10KCmRhdGEubGluZToKICAtIHRpbWU6IDEyNDY0MDY0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiAyMS41CiAgLSB0aW1lOiAxMjQ2NDkyODAwMDAwCiAgICB0ZW1wZXJhdHVyZTogMjIuMQogIC0gdGltZTogMTI0NjU3OTIwMDAwMAogICAgdGVtcGVyYXR1cmU6IDIzCiAgLSB0aW1lOiAxMjQ2NjY1NjAwMDAwCiAgICB0ZW1wZXJhdHVyZTogMjMuOAogIC0gdGltZTogMTI0Njc1MjAwMDAwMAogICAgdGVtcGVyYXR1cmU6IDIxLjQKICAtIHRpbWU6IDEyNDY4Mzg0MDAwMDAKICAgIHRlbXBlcmF0dXJlOiAyMS4zCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIGFwcGVuZFBhZGRpbmc6IDgKICBzeW5jVmlld1BhZGRpbmc6IHRydWUKICB0b29sdGlwOgogICAgc2hhcmVkOiB0cnVlCiAgICBzaG93TWFya2VyczogZmFsc2UKICAgIHNob3dDcm9zc2hhaXJzOiB0cnVlCiAgICBvZmZzZXRZOiAtNTAKCm9wdGlvbnMuYXJlYToKICBheGVzOiB7fQogIG1ldGE6CiAgICB0aW1lOgogICAgICB0eXBlOiAndGltZScKICAgICAgbWFzazogJ01NLUREJwogICAgICBuaWNlOiB0cnVlCiAgICAgIHRpY2tJbnRlcnZhbDogMTcyODAwMDAwCiAgICAgIHJhbmdlOiBbMCwgMV0KICAgIHRlbXBlcmF0dXJlOgogICAgICBuaWNlOiB0cnVlCiAgICAgIHN5bmM6IHRydWUKICAgICAgYWxpYXM6ICfmuKnluqbojIPlm7QnCiAgZ2VvbWV0cmllczoKICAgIC0gdHlwZTogJ2FyZWEnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOiB7fQoKb3B0aW9ucy5saW5lOgogIGF4ZXM6IGZhbHNlCiAgbWV0YToKICAgIHRpbWU6CiAgICAgIHR5cGU6ICd0aW1lJwogICAgICBtYXNrOiAnTU0tREQnCiAgICAgIG5pY2U6IHRydWUKICAgICAgdGlja0ludGVydmFsOiAxNzI4MDAwMDAKICAgICAgcmFuZ2U6IFswLCAxXQogICAgdGVtcGVyYXR1cmU6CiAgICAgIHN5bmM6ICd0ZW1wZXJhdHVyZScKICAgICAgYWxpYXM6ICfmuKnluqYnCiAgZ2VvbWV0cmllczoKICAgIC0gdHlwZTogJ2xpbmUnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOiB7fQogICAgLSB0eXBlOiAncG9pbnQnCiAgICAgIHhGaWVsZDogJ3RpbWUnCiAgICAgIHlGaWVsZDogJ3RlbXBlcmF0dXJlJwogICAgICBtYXBwaW5nOgogICAgICAgIHNoYXBlOiAnY2lyY2xlJwogICAgICAgIHN0eWxlOgogICAgICAgICAgZmlsbE9wYWNpdHk6IDEKYGBg",c.OrganizationTreeGraph="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBPcmdhbml6YXRpb25UcmVlR3JhcGgKCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6CiAgaWQ6ICJyb290IgogIGxhYmVsOiAiUm9vdCIKICBjaGlsZHJlbjoKICAgIC0gaWQ6ICJjMSIKICAgICAgbGFiZWw6ICJDMSIKICAgICAgY2hpbGRyZW46CiAgICAgICAgLSBpZDogImMxLTEiCiAgICAgICAgICBsYWJlbDogIkMxLTEiCiAgICAgICAgICBjaGlsZHJlbjoKICAgICAgICAgICAgLSBpZDogImMxLTEtMSIKICAgICAgICAgICAgICBsYWJlbDogIkMxLTEtMSIKICAgICAgICAgICAgLSBpZDogImMxLTEtMiIKICAgICAgICAgICAgICBsYWJlbDogIkMxLTEtMiIKICAgICAgICAtIGlkOiAiYzEtMiIKICAgICAgICAgIGxhYmVsOiAiQzEtMiIKICAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICAgICAtIGlkOiAiYzEtMi0xIgogICAgICAgICAgICAgIGxhYmVsOiAiQzEtMi0xIgogICAgICAgICAgICAtIGlkOiAiYzEtMi0yIgogICAgICAgICAgICAgIGxhYmVsOiAiQzEtMi0yIgogICAgLSBpZDogImMyIgogICAgICBsYWJlbDogIkMyIgogICAgICBjaGlsZHJlbjoKICAgICAgICAtIGlkOiAiYzItMSIKICAgICAgICAgIGxhYmVsOiAiQzItMSIKICAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICAgICAtIGlkOiAiYzItMS0xIgogICAgICAgICAgICAgIGxhYmVsOiAiQzItMS0xIgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoge30KYGBg",c.Radar="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBSYWRhcgoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YToKICAtIGl0ZW06ICJEZXNpZ24iCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiA3MAogIC0gaXRlbTogIkRlc2lnbiIKICAgIHVzZXI6ICJiIgogICAgc2NvcmU6IDMwCiAgLSBpdGVtOiAiTWFya2V0aW5nIgogICAgdXNlcjogImEiCiAgICBzY29yZTogNTAKICAtIGl0ZW06ICJNYXJrZXRpbmciCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA2MAogIC0gaXRlbTogIlRlY2hub2xvZ3kiCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiA1MAogIC0gaXRlbTogIlRlY2hub2xvZ3kiCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA0MAogIC0gaXRlbTogIlN1cHBvcnQiCiAgICB1c2VyOiAiYSIKICAgIHNjb3JlOiAzMAogIC0gaXRlbTogIlN1cHBvcnQiCiAgICB1c2VyOiAiYiIKICAgIHNjb3JlOiA0MAogIC0gaXRlbTogIlNhbGVzIgogICAgdXNlcjogImEiCiAgICBzY29yZTogNjAKICAtIGl0ZW06ICJTYWxlcyIKICAgIHVzZXI6ICJiIgogICAgc2NvcmU6IDQwCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHhGaWVsZDogIml0ZW0iCiAgeUZpZWxkOiAic2NvcmUiCiAgc2VyaWVzRmllbGQ6ICJ1c2VyIgogIG1ldGE6CiAgICBzY29yZToKICAgICAgYWxpYXM6ICJTY29yZSIKICAgICAgbWluOiAwCiAgICAgIG5pY2U6IHRydWUKICB4QXhpczoKICAgIGxpbmU6IG51bGwKICAgIHRpY2tMaW5lOiBudWxsCiAgeUF4aXM6CiAgICBsYWJlbDogZmFsc2UKICAgIGdyaWQ6CiAgICAgIGFsdGVybmF0ZUNvbG9yOiAicmdiYSgwLCAwLCAwLCAwLjA0KSIKICBwb2ludDoge30KICBhcmVhOiB7fQpgYGA=",c.TinyLine="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBUaW55TGluZQoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBkYXRhICAgIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKZGF0YTogWzI2NCwgNDE3LCA0MzgsIDg4NywgMzA5LCAzOTcsIDU1MCwgNTc1LCA1NjMsIDQzMCwgNTI1LCA1OTIsIDQ5MiwgNDY3LCA1MTMsIDU0NiwgOTgzLCAzNDAsIDUzOSwgMjQzLCAyMjYsIDE5Ml0KCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgb3B0aW9ucyAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCm9wdGlvbnM6CiAgaGVpZ2h0OiA2MAogIGF1dG9GaXQ6IGZhbHNlCiAgc21vb3RoOiB0cnVlCiAgdG9vbHRpcDogZmFsc2UKICBhbm5vdGF0aW9uczoKICAgIC0gdHlwZTogImxpbmUiCiAgICAgIHN0YXJ0OiBbIm1pbiIsICJtZWFuIl0KICAgICAgZW5kOiBbIm1heCIsICJtZWFuIl0KICAgICAgc3R5bGU6CiAgICAgICAgc3Ryb2tlOiAicmdiYSgwLCAwLCAwLCAwLjQ1KSIKICAgICAgdGV4dDoKICAgICAgICBjb250ZW50OiAiQXZlcmFnZSIKICAgICAgICBvZmZzZXRZOiAtMgogICAgICAgIHN0eWxlOgogICAgICAgICAgdGV4dEFsaWduOiAibGVmdCIKICAgICAgICAgIGZvbnRTaXplOiAxMAogICAgICAgICAgZmlsbDogInJnYmEoNDQsIDUzLCA2NiwgMC40NSkiCiAgICAgICAgICB0ZXh0QmFzZWxpbmU6ICJib3R0b20iCiAgICAtIHR5cGU6ICJsaW5lIgogICAgICBzdGFydDogWyJtaW4iLCA4MDBdCiAgICAgIGVuZDogWyJtYXgiLCA4MDBdCiAgICAgIHN0eWxlOgogICAgICAgIHN0cm9rZTogInJnYmEoMjAwLCAwLCAwLCAwLjU1KSIKICAgICAgdGV4dDoKICAgICAgICBjb250ZW50OiAiVGFyZ2V0IgogICAgICAgIG9mZnNldFk6IC0yCiAgICAgICAgc3R5bGU6CiAgICAgICAgICB0ZXh0QWxpZ246ICJsZWZ0IgogICAgICAgICAgZm9udFNpemU6IDEwCiAgICAgICAgICBmaWxsOiAicmdiYSg0NCwgNTMsIDY2LCAwLjQ1KSIKICAgICAgICAgIHRleHRCYXNlbGluZTogImJvdHRvbSIKYGBg",c.Scatter="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBTY2F0dGVyCgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IGRhdGEgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpkYXRhOgogIC0gbGFiZWw6ICIxOTUxIgogICAgdmFsdWU6IDM4CiAgLSBsYWJlbDogIjE5NTIiCiAgICB2YWx1ZTogNTIKICAtIGxhYmVsOiAiMTk1NiIKICAgIHZhbHVlOiA2MQogIC0gbGFiZWw6ICIxOTU3IgogICAgdmFsdWU6IDE0NQogIC0gbGFiZWw6ICIxOTU4IgogICAgdmFsdWU6IDQ4CgojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IG9wdGlvbnMgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwpvcHRpb25zOgogIHhGaWVsZDogbGFiZWwKICB5RmllbGQ6IHZhbHVlCiAgY29sb3JGaWVsZDogbGFiZWwKICBzaGFwZTogY2lyY2xlCmBgYA==",c["Dataviewjs Example (Column)"]="YGBgY2hhcnRzdmlldwojLS0tLS0tLS0tLS0tLS0tLS0jCiMtIGNoYXJ0IHR5cGUgICAgLSMKIy0tLS0tLS0tLS0tLS0tLS0tIwp0eXBlOiBDb2x1bW4KCiMtLS0tLS0tLS0tLS0tLS0tLSMKIy0gY2hhcnQgZGF0YSAgICAtIwojLS0tLS0tLS0tLS0tLS0tLS0jCmRhdGE6IHwKICBkYXRhdmlld2pzOgogIHJldHVybiBkdi5wYWdlcygpCiAgICAgICAgICAgLmdyb3VwQnkocCA9PiBwLmZpbGUuZm9sZGVyKQogICAgICAgICAgIC5tYXAocCA9PiAoe2ZvbGRlcjogcC5rZXkgfHwgIlJPT1QiLCBjb3VudDogcC5yb3dzLmxlbmd0aH0pKQogICAgICAgICAgIC5hcnJheSgpOwoKIy0tLS0tLS0tLS0tLS0tLS0tIwojLSBjaGFydCBvcHRpb25zIC0jCiMtLS0tLS0tLS0tLS0tLS0tLSMKb3B0aW9uczoKICB4RmllbGQ6ICJmb2xkZXIiCiAgeUZpZWxkOiAiY291bnQiCiAgcGFkZGluZzogYXV0bwogIGxhYmVsOgogICAgcG9zaXRpb246ICJtaWRkbGUiCiAgICBzdHlsZToKICAgICAgb3BhY2l0eTogMC42CiAgICAgIGZvbnRTaXplOiAxMgogIGNvbHVtblN0eWxlOgogICAgZmlsbE9wYWNpdHk6IDAuNQogICAgbGluZVdpZHRoOiAxCiAgICBzdHJva2VPcGFjaXR5OiAwLjcKICAgIHNoYWRvd0NvbG9yOiAiZ3JleSIKICAgIHNoYWRvd0JsdXI6IDEwCiAgICBzaGFkb3dPZmZzZXRYOiA1CiAgICBzaGFkb3dPZmZzZXRZOiA1CiAgeEF4aXM6CiAgICBsYWJlbDoKICAgICAgYXV0b0hpZGU6IGZhbHNlCiAgICAgIGF1dG9Sb3RhdGU6IHRydWUKICBtZXRhOgogICAgY291bnQ6CiAgICAgIGFsaWFzOiAiQ291bnQiCmBgYA=="})(gs||(gs={}));var fMt={[gs.Bar]:"https://user-images.githubusercontent.com/150803/123117024-fa43b180-d473-11eb-84eb-8e1806ce5dec.png",[gs.Pie]:"https://user-images.githubusercontent.com/150803/119069882-87c95700-ba19-11eb-8cef-02d1e021d1a2.png",[gs.WordCloud]:"https://user-images.githubusercontent.com/150803/119069991-bba47c80-ba19-11eb-873f-847563daea39.png",[gs.WordCount]:"https://user-images.githubusercontent.com/150803/136478725-be28a56b-0075-4f0a-a719-f61b30e83b6a.png",[gs.Treemap]:"https://user-images.githubusercontent.com/150803/119070047-decf2c00-ba19-11eb-9d59-21c051da593c.png",[gs.DualAxes]:"https://user-images.githubusercontent.com/150803/119969638-618b5480-bfe1-11eb-8a36-0a5d60408b00.png",[gs.Mix]:"https://user-images.githubusercontent.com/150803/120421841-a1638a80-c399-11eb-9464-d773931fdd6f.png",[gs.OrganizationTreeGraph]:"https://user-images.githubusercontent.com/150803/123117254-2b23e680-d474-11eb-845f-0d663a458fa7.png",[gs.Radar]:"https://user-images.githubusercontent.com/150803/123117394-4a227880-d474-11eb-8a11-23f3cd482251.png",[gs.TinyLine]:"https://user-images.githubusercontent.com/150803/123117476-5a3a5800-d474-11eb-9db8-4b3785bb010c.png",[gs.Scatter]:"https://user-images.githubusercontent.com/150803/237452588-8ce11128-b911-4fa4-b9e0-3f5e07543d67.png",[gs["Dataviewjs Example (Column)"]]:"https://user-images.githubusercontent.com/150803/140684190-fa6a08ea-3394-44fe-ae92-265810f6b9a9.png"};var hMt=z(require("buffer")),t9=class extends cMt.FuzzySuggestModal{constructor(e,t){super(e);this.editor=t}getItems(){return Object.entries(gs)}getItemText(e){return e[0]}renderSuggestion(e,t){let n=createDiv({cls:"chartsview-thumbnail"}),i=gs[e.item[0]],a=createEl("img",{attr:{src:fMt[i]}});n.appendChild(a),t.appendChild(n),t.addClass("chartsview-thumbnail-container"),super.renderSuggestion(e,t)}onChooseItem(e){oC(this.editor,hMt.Buffer.from(e[1],"base64").toString("utf8"))}};var If=z(require("obsidian"));var sC={labelsFieldKey:"xField",valuesFieldKey:"yField",seriesFieldKey:"seriesField",labels:{field:"label",value:["1951","1952","1956","1957","1958"]},values:[{field:"value",value:["38","52","61","145","48"]}],series:{field:"serie"}},e9=80,r9=14,Yme="Area",Xme={"1":"1","2":"2","3":"3","4":"4","5":"5","6":"6"},qme={Area:"Area",Bar:"Bar",Box:"Box",Chord:"Chord",Column:"Column",Funnel:"Funnel",Heatmap:"Heatmap",Histogram:"Histogram",Line:"Line",Pie:"Pie",Radar:"Radar",RadialBar:"RadialBar",Rose:"Rose",Sankey:"Sankey",Stock:"Stock",Violin:"Violin",Waterfall:"Waterfall",WordCloud:"WordCloud",Scatter:"Scatter"},lC={Bar:{labelsFieldKey:"yField",valuesFieldKey:"xField",seriesFieldKey:"seriesField"},Chord:{labelsFieldKey:"sourceField",valuesFieldKey:"weightField",seriesFieldKey:"targetField"},Sankey:{labelsFieldKey:"sourceField",valuesFieldKey:"weightField",seriesFieldKey:"targetField"},Heatmap:{labelsFieldKey:"xField",valuesFieldKey:"colorField",seriesFieldKey:""},Histogram:{labelsFieldKey:"xField",valuesFieldKey:"binField",seriesFieldKey:""},WordCloud:{labelsFieldKey:"wordField",valuesFieldKey:"weightField",seriesFieldKey:""},Pie:{labelsFieldKey:"colorField",valuesFieldKey:"angleField",seriesFieldKey:""}},n9=class extends If.Modal{constructor(e,t,n){super(e);this.editor=t;this.settings=n}onOpen(){var e,t,n;this.modalEl.style.width="860px",this.titleEl.createEl("h2",{text:"Chart Wizard"}),this.chartSetting={type:Yme,config:{}},this.dataLabels=((e=lC[this.chartSetting.type])!=null?e:sC).labels,this.dataValues=((t=lC[this.chartSetting.type])!=null?t:sC).values,this.dataSeries=((n=lC[this.chartSetting.type])!=null?n:sC).series,this.valueNumber=1,this.displayContent(),this.addConfirmButton()}displayContent(){this.contentEl.empty(),this.createSetting(),this.chartEl=this.contentEl.createDiv(),this.renderChart()}createSetting(){new If.Setting(this.contentEl).setName("Chart Type").addDropdown(e=>e.addOptions(qme).setValue(this.chartSetting.type).onChange(t=>{this.chartSetting.type=t,this.renderChart()})),new If.Setting(this.contentEl).setName("Value Number").addDropdown(e=>e.addOptions(Xme).setValue(`${this.valueNumber}`).onChange(t=>{this.valueNumber=+t,this.displayContent()}));for(let e=0;e{var n,i;t.inputEl.size=r9,t.setPlaceholder("Input field name").setValue((i=(n=this.dataValues[e])==null?void 0:n.field)!=null?i:void 0).onChange(a=>{this.dataValues[e]===void 0&&(this.dataValues[e]={}),this.dataValues[e].field=a,this.renderChart()})}).addText(t=>{var n,i;t.inputEl.size=e9,t.setPlaceholder("value1, value2, value3, ...").setValue(((n=this.dataValues[e])==null?void 0:n.value)&&((i=this.dataValues[e])==null?void 0:i.value.join(","))).onChange(a=>{this.dataValues[e]===void 0&&(this.dataValues[e]={}),this.dataValues[e].value=a.length===0?void 0:a.split(","),this.renderChart()})});new If.Setting(this.contentEl).setName("Labels").addText(e=>{e.inputEl.size=r9,e.setPlaceholder("Input field name").setValue(this.dataLabels.field).onChange(t=>{this.dataLabels.field=t,this.renderChart()})}).addText(e=>{e.inputEl.size=e9,e.setPlaceholder("value1, value2, value3, ...").setValue(this.dataLabels.value&&this.dataLabels.value.join(",")).onChange(t=>{this.dataLabels.value=t.length===0?void 0:t.split(","),this.renderChart()})}),new If.Setting(this.contentEl).setName("Series").addText(e=>{e.inputEl.size=r9,e.setPlaceholder("Input field name").setValue(this.dataSeries.field).onChange(t=>{this.dataSeries.field=t,this.renderChart()})}).addText(e=>{e.inputEl.size=e9,e.setPlaceholder("value1, value2, value3, ...").setValue(this.dataSeries.value&&this.dataSeries.value.join(",")).onChange(t=>{this.dataSeries.value=t.length===0?void 0:t.split(","),this.renderChart()})})}renderChart(){var e,t,n,i,a,o,s;this.dataSeries.field=(e=this.dataSeries.field)!=null?e:"serie",this.dataLabels.field=(t=this.dataLabels.field)!=null?t:"label",this.dataValues[0].field=(n=this.dataValues[0].field)!=null?n:"value",this.chartSetting.config={},this.isNotEmpty(this.dataSeries.value)&&(this.chartSetting.config[((i=lC[this.chartSetting.type])!=null?i:sC).seriesFieldKey]=this.dataSeries.field),this.isNotEmpty(this.dataLabels.value)&&(this.chartSetting.config[((a=lC[this.chartSetting.type])!=null?a:sC).labelsFieldKey]=this.dataLabels.field),this.isNotEmpty(this.dataValues)&&(this.chartSetting.config[((o=lC[this.chartSetting.type])!=null?o:sC).valuesFieldKey]=this.valueNumber===1?this.dataValues[0].field:this.dataValues.map(l=>l.field)),this.chartSetting.config.data=((s=this.dataLabels.value)!=null?s:[]).map((l,u)=>{var h,d;let f={};f[this.dataLabels.field]=l;for(let p=0;pe.setClass("mod-cta").setButtonText("Insert Yaml!").onClick(t=>{oC(this.editor,this.genYaml()),this.close()}))}genYaml(){let e=this.chartSetting.type,t={data:this.chartSetting.config.data},n={options:wl({},this.chartSetting.config)};return delete n.options.data,`\`\`\`chartsview #-----------------# #- chart type -# #-----------------# @@ -822,8 +822,8 @@ ${(0,If.stringifyYaml)(t)} #- chart options -# #-----------------# ${(0,If.stringifyYaml)(n)}\`\`\` -`}isNotEmpty(e){return e!==void 0&&e.length>0}saveAttachment(){}onClose(){M3(this.chartEl),this.contentEl.empty()}};var eMt="csv",Ime="csv",QX=class extends LF.Plugin{ChartsViewProcessor(e,t,n){return ya(this,null,function*(){ht.unmountComponentAtNode(t);try{let i=yield XAt(e,this,n.sourcePath);ht.render(ht.createElement(wF,wl({},i)),t)}catch(i){ht.render(ht.createElement("div",{style:{color:"var(--text-title-h1)"}},i.toString()),t)}})}onload(){return ya(this,null,function*(){try{yield this.loadSettings(),this.addSettingTab(new XX(this.app,this)),this.registerMarkdownCodeBlockProcessor("chartsview",this.ChartsViewProcessor.bind(this)),this.addCommand({id:"insert-chartsview-template",name:"Insert Template",editorCallback:e=>{new qX(this.app,e).open()}}),this.addCommand({id:"chartsview-wizard",name:"Wizard",editorCallback:e=>ya(this,null,function*(){new $X(this.app,e,this.settings).open()})}),LF.Platform.isDesktopApp&&this.addCommand({id:"import-chartsview-data-csv",name:"Import data from external CSV file",editorCallback:e=>ya(this,null,function*(){let n=yield(yield k9({accept:".csv",strict:!0})).text(),i=AF(n);nC(e,F7.dump(i,{quotingType:'"',noRefs:!0}).replace(/\n/g,` -`+" ".repeat(e.getCursor().ch)))})})}catch(e){console.log(`Load error. ${e}`)}try{this.registerExtensions([eMt],Ime)}catch(e){console.log(`Existing file extension ${eMt}`)}console.log("Loaded Charts View plugin")})}onunload(){console.log("Unloading Charts View plugin")}loadSettings(){return ya(this,null,function*(){this.settings=Object.assign($At,yield this.loadData())})}saveSettings(){return ya(this,null,function*(){yield this.saveData(this.settings)})}}; +`}isNotEmpty(e){return e!==void 0&&e.length>0}onClose(){P3(this.chartEl),this.contentEl.empty()}};var dMt="csv",Kme="csv",i9=class extends kF.Plugin{ChartsViewProcessor(e,t,n){return xa(this,null,function*(){ht.unmountComponentAtNode(t);try{let i=yield aMt(e,this,n.sourcePath);ht.render(ht.createElement(IF,wl({},i)),t)}catch(i){ht.render(ht.createElement("div",{style:{color:"var(--text-title-h1)"}},i.toString()),t)}})}onload(){return xa(this,null,function*(){try{yield this.loadSettings(),this.addSettingTab(new JX(this.app,this)),this.registerMarkdownCodeBlockProcessor("chartsview",this.ChartsViewProcessor.bind(this)),this.addCommand({id:"insert-chartsview-template",name:"Insert Template",editorCallback:e=>{new t9(this.app,e).open()}}),this.addCommand({id:"chartsview-wizard",name:"Wizard",editorCallback:e=>xa(this,null,function*(){new n9(this.app,e,this.settings).open()})}),kF.Platform.isDesktopApp&&this.addCommand({id:"import-chartsview-data-csv",name:"Import data from external CSV file",editorCallback:e=>xa(this,null,function*(){let n=yield(yield U9({accept:".csv",strict:!0})).text(),i=OF(n);oC(e,V7.dump(i,{quotingType:'"',noRefs:!0}).replace(/\n/g,` +`+" ".repeat(e.getCursor().ch)))})})}catch(e){console.log(`Load error. ${e}`)}try{this.registerExtensions([dMt],Kme)}catch(e){console.log(`Existing file extension ${dMt}`)}console.log("Loaded Charts View plugin")})}onunload(){console.log("Unloading Charts View plugin")}loadSettings(){return xa(this,null,function*(){this.settings=Object.assign(uMt,yield this.loadData())})}saveSettings(){return xa(this,null,function*(){yield this.saveData(this.settings)})}}; /* @license Papa Parse v5.3.1 @@ -873,6 +873,7 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ /** * @license * Lodash diff --git a/notes/.obsidian/plugins/obsidian-chartsview-plugin/manifest.json b/notes/.obsidian/plugins/obsidian-chartsview-plugin/manifest.json index 6c11a6c..dc918e5 100644 --- a/notes/.obsidian/plugins/obsidian-chartsview-plugin/manifest.json +++ b/notes/.obsidian/plugins/obsidian-chartsview-plugin/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-chartsview-plugin", "name": "Charts View", - "version": "1.2.2", + "version": "1.2.4", "minAppVersion": "0.9.12", "description": "Data visualization solution in Obsidian based on Ant Design Charts.", "author": "caronchen", diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json index 6df8ea8..5a754c4 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/data.json @@ -81,7 +81,7 @@ "mdCSS": "", "scriptEngineSettings": {}, "defaultTrayMode": false, - "previousRelease": "1.8.26", + "previousRelease": "1.9.3", "showReleaseNotes": true, "showNewVersionNotification": true, "mathjaxSourceURL": "https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js", @@ -402,6 +402,12 @@ } ], "numberOfCustomPens": 0, + "pdfScale": 4, + "pdfBorderBox": true, + "pdfGapSize": 20, + "pdfLockAfterImport": true, + "pdfNumColumns": 1, + "pdfImportScale": 0.3, "loadCount": 1, "patchCommentBlock": false, "runWYSIWYGpatch": false, diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js index db82dba..09dd6a2 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/main.js @@ -1,5 +1,5 @@ "use strict";var obsidian_module=require("obsidian");var LZString=function(){function o(o,r){if(!t[o]){t[o]={};for(var n=0;ne;e++){var s=r.charCodeAt(e);n[2*e]=s>>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null===o||void 0===o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;t>e;e++)n[e]=256*o[2*e]+o[2*e+1];var s=[];return n.forEach(function(o){s.push(r(o))}),i.decompress(s.join(""))},compressToEncodedURIComponent:function(o){return null==o?"":i._compress(o,6,function(o){return e.charAt(o)})},decompressFromEncodedURIComponent:function(r){return null==r?"":""==r?null:(r=r.replace(/ /g,"+"),i._decompress(r.length,32,function(n){return o(e,r.charAt(n))}))},compress:function(o){return i._compress(o,16,function(o){return r(o)})},_compress:function(o,r,n){if(null==o)return"";var e,t,i,s={},p={},u="",c="",a="",l=2,f=3,h=2,d=[],m=0,v=0;for(i=0;ie;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++),s[c]=f++,a=String(u)}if(""!==a){if(Object.prototype.hasOwnProperty.call(p,a)){if(a.charCodeAt(0)<256){for(e=0;h>e;e++)m<<=1,v==r-1?(v=0,d.push(n(m)),m=0):v++;for(t=a.charCodeAt(0),e=0;8>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}else{for(t=1,e=0;h>e;e++)m=m<<1|t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t=0;for(t=a.charCodeAt(0),e=0;16>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1}l--,0==l&&(l=Math.pow(2,h),h++),delete p[a]}else for(t=s[a],e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;l--,0==l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;h>e;e++)m=m<<1|1&t,v==r-1?(v=0,d.push(n(m)),m=0):v++,t>>=1;for(;;){if(m<<=1,v==r-1){d.push(n(m));break}v++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:i._decompress(o.length,32768,function(r){return o.charCodeAt(r)})},_decompress:function(o,n,e){var t,i,s,p,u,c,a,l,f=[],h=4,d=4,m=3,v="",w=[],A={val:e(0),position:n,index:1};for(i=0;3>i;i+=1)f[i]=i;for(p=0,c=Math.pow(2,2),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(t=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;l=r(p);break;case 2:return""}for(f[3]=l,s=l,w.push(l);;){if(A.index>o)return"";for(p=0,c=Math.pow(2,m),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;switch(l=p){case 0:for(p=0,c=Math.pow(2,8),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 1:for(p=0,c=Math.pow(2,16),a=1;a!=c;)u=A.val&A.position,A.position>>=1,0==A.position&&(A.position=n,A.val=e(A.index++)),p|=(u>0?1:0)*a,a<<=1;f[d++]=r(p),l=d-1,h--;break;case 2:return w.join("")}if(0==h&&(h=Math.pow(2,m),m++),f[l])v=f[l];else{if(l!==d)return null;v=s+s.charAt(0)}w.push(v),f[d++]=s+v.charAt(0),h--,s=v,0==h&&(h=Math.pow(2,m),m++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module&&(module.exports=LZString); -const EXCALIDRAW_PACKAGES = "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7Ae9wBrRXvdK3um738t7x29roa+8AC93tFb21t73B9sve55ver3v1b3nwDdIAE3ezzvbJ3tqH2A+b4dlicq1OPsmNVJb3fN7Zh9jQEzK+Ec3sL729D7lu9yCPY4fZi3t89mIt70u9tw+wHvfoBuJhH+Xz6+94be7Fva33ueb2d97kW9pfe2bncc3uub2it7D291ze61vZkPsLb2KzNkR96I+7EfZu3u972Zt7n29/7eweVedgBJb26t7SW9/Xe+rvdr3v173e97NW9/Q+xIDb8Ys2Ia6d7hO9/Hexkfes3v473ut7Yed5FtZUfZCPs1H26d7Ke9r/e4OEbLFNDGqmj71R9/7e45vZs3uQAA6j7ve94ve/9vZa3t773WQzXO9qfe5lvfx3tZ72Qj7wx9lne3Eff83u172M87dIAAve55vaL3vq73Wt7ku9zze6MfZi3tWQGCt7M29rze3zvat3vhvmTTV5m9mbe0VvaOPvvG33gApe99re/5vcuPsxA2jD7/u9+4+xeKbMrX4H3nj7b/NsKPQ/vfyPv972Zj72B9zze+8fd/5tIm2K97qh96ze5nveoPueb2/j7zx91fO1PneuPse72QT7YJ9l3e/iberrWK73ut7CJ9gPe7GGfGBsaIbvmLyi69lXaCxYWa0bQHcWLuAtlAW6ylvOB0EC2tJTequnC9SwXd8csEg2iL1QhdvDdUwLeFBsaF2BrNmRGpKUwK1vIqtVOWkpTpUh4IuxWDs8K3Iz7dUtPA5/VLRjPqomvg2btBbgjag6UzI2p/YsSTWuKr0Ll8C2/8lrQttYi25D7hW9nzeyVvfV3se72oD7cEJgr89+DfSmvMyHGt7YrcNo+wHvYkqt7+X9T7D6t3re+nvdEtsvXbom1pp9+He7JbfeABk73eD7GGuhIW45GYx3vcH3It76R9zI+4ZbZMtv/9qzd7yu9/ze95va83uQAA1T7cW93Lez5vbNPtKQ3sj7M299o+9XKak63GH3LN7ph96ze6Fvbn3teW3nOLip9ore63vZCPvuH3mhbdIAArewlvYW3v6daCt7aW9hbeyogZv3slb2vN7aZ9j7ezAnudgCfb3p977m90be41GbpAAY73Z97DZ98BzRjve63trb36j7RXF+s++1va83vln3S715m9ore5ofYD3thdaMZr79m0ve6LvYi3sPb3PN7cR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57v6Z1GN7h1917u8nHWdzqjK1Pp71U96Ce+sADIHuEz3mRangtaae4BPcLjqHX3/J7kGdwXe9gHUXzuzJ3kBa8/Nd7amaLUydq3d38y7q8dbAe4FneZFqcT3sa7i094DWrrfeGzq1m1JU6irtSle/HzV34vaF1tR7titZRu7RPcv9roS1Bx7rE93a+4GfdoFqy93KxawDtymldyfc81qVV3FAb7j+7cHf5LWt7vCN329VmGda6PdA3e9XvRF3Ap77stQdu64LWZVr0R1Sb7jztVeOuIrWdlrpC1BO7hnd+Uu/+LVbHuMCXGj74M99e+7I3eCf2Q61Iy7j1996+4pffMKvT33QH7yTtYnO+67XO3vq13gh78se6B+48bVyruJV3lpN6/xxRu9JPc9lrYh133ap6tR0urTPfCVrEX3BRa9gtW6WqGSvUh2PZ1p77j/x8ie9oPcobvPZ32de7eqzLu/PzXKbujK1inbpZK38Ws93dpjr7x1VtajItSqbVsattXvbV3pir0TTOhWtTrX8FruO1aV7zhd2s2r3Ht8fur73gn72+928e84ncUvv0R1AE6rwtc/e+wvf93vj53797gC96yQ+ILXVDqNZ3pM601d4KWo4rW6Eu361Gn7mTdzTe5EHWtzrvO3Hc6sd993OtEHXhKv3gAzg63ita5e/1vcLs65L34d7+jdzg6fVXfGrvornRQb2K59/U6cusdFqrS1Ip7redT6Ot6tqHBxJt3UJaz62tyOuAPOdzvfC1uz77qdcVu+Svd41qhW1NuNe+dVsu940e6trfC18n7789+Uu7iLW0ruGb3spa7/NRV2sAb2EFq7+1Wl7oytdu1aaVeYVqNTacBajctYJe+wLVT5rsm1JRLvjd80Wr+vep3vDd3nBaz291YOsyLUL7uQWrrzVxYN1Iu70nWUTvwt3Vy72ItaO+5UACxTv2v35+avE911+9s/tILqVZ1T078orYYu61NoyPvUlbfs74zd+RbVw3fc1qpd3XV7ystRVO9SHVzHv/21Rj74r93d29qndkru/r37HayT98oe9nLWrEvjO1rq7qXd8AAC3LVXfv6F3sk74T97dWtOVfkLup81mn72Vd4E+64fcX5qN61NRa4AANCWpDLV3Kv+S1nF7t796au4LHXofuby1w+a3798ku/7Icwlaet3cT7itd6OQ6hDdz3v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jfz+vnC3g0byf15G+/Jsnh5vlW31/ry82cAABR0JQN56Tuwre2VvWo3unV2t9+6+9o9fnYAK/Xg871198AG/Atn++vDQ3/AbzGvev698Tf5vvVTzxebyAN9Hu8L9ePRv+33n4yyv14m+9BjeUWzLb3ib78IN8ZjcRpq7hvAG34fb9AN6xW/oTfEDHvX3ur7/d97B4OA/f+vv2/X++byS8eG+9+Pf1SLY33ib77gN5G+8rsnZvv+o31/r2DS6W+/jjfxGHq33477xD95568yDesfvgA3mG87t96qG/3ffeWzR33/Ab0zwbO+/WjeUfvYWH0Abzd97u+8Dff+ovj3360b0GN65MuvffrRvwg30wq7Ct6M+/Q+HQfv9X38H74AN7h8NQ/f0hvKyn94ALD964W9Tfe/HvljDpH75T9616/vAA0fv60XzH7+t99VMubffABvFvRwn72D9/vm/uMPSfvKv3kLW8z4Yp+/47f317so36777dd7p+98/fEoP7S3p779r94MMdu/3WfvPK32PV1lB5+6cYvPY43R47sLq7YY5JU+5xvwurTv3wR1Z/1+BG9QXfJnvSG3ut7+6t4WW8S6bwJ3x93w0b3qd62u+cDft2tzk3qZh1BN4Be933egxvJPZcB76pN//euHCJOYvj0Hnvr0yhsAADkcIAACY4QAAOBwA5lnP77n98AABCcIAABQ4QAAERwgAAEThAAAhHCAAAJOCr++AABWOEAACAcNn98AADEcIAAAg4QAAIxwJf3lv74AAE44QAANhwgAAQThAAAWHBD/f4Prhf3gf74AABw4QAAJhwgAAAjge/vVf3wAACxwgHxwAAAJwgAAUjhAAA7HCAABaOEb++AAB0OA7++AABJOFz++AABqOCr+8l/e7mHtxV9ox4AAFQ4Lv70QPsAAAgcF399X+/b/fVKL9/3kv74/99z+8V/e+/vZf3jv77n99v++r/eF/vff3of75v95b++AAAZOBL+/L/e+/vgAAcTgp/voanom1S/97f+8f/ev/vP/3v/7wAD6AB+gA/wAfUAP77D+8ADgB+b/f3/vn/37/77/9//++AA+QAfYAPyAH1P98AABAcPv983++3/ec/vVf3+f++8ACn++AABmODIB+AAA2OH3+/kA/9/vef3of71P957Ttl/eOAflf3vv7xQD7z++r/ea/vef3rf+4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";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.8.26";function _interopNamespace(e){if(e&&e.__esModule)return e;var A=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(A,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),A.default=e,Object.freeze(A)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,A,t)=>{let i=(2<{let r="";for(;;){let A=t(n),s=n;for(;s--;)if(r+=e[A[s]&i]||"",r.length===a)return r}}},customAlphabet=(e,A=21)=>customRandom(e,A,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,A)=>e+((A&=63)<36?A.toString(36):A<62?(A-26).toString(36).toUpperCase():A>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}/Mac|iPod|iPhone|iPad/.test(window.navigator.platform);const DEVICE={isDesktop:!document.body.hasClass("is-tablet")&&!document.body.hasClass("is-mobile"),isPhone:document.body.hasClass("is-phone"),isTablet:document.body.hasClass("is-tablet"),isMobile:document.body.hasClass("is-mobile"),isLinux:document.body.hasClass("mod-linux")&&!document.body.hasClass("is-android"),isMacOS:document.body.hasClass("mod-macos")&&!document.body.hasClass("is-ios"),isWindows:document.body.hasClass("mod-windows"),isIOS:document.body.hasClass("is-ios"),isAndroid:document.body.hasClass("is-android")},nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},ROUNDNESS={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},GITHUB_RELEASES="https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/",URLFETCHTIMEOUT=1e3,PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}`,DARK_BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}`,FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",PNG_ICON_NAME="save-png",PNG_ICON='',SVG_ICON_NAME="save-svg",SVG_ICON='',EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,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XVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52E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") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzStringExports={},lzString={get exports(){return lzStringExports},set exports(e){lzStringExports=e}};function splitFolderAndFilename(e){const A=e.lastIndexOf("/"),t=-1==A?e:e.substring(A+1);return{folderpath:obsidian_module.normalizePath(e.substring(0,A)),filename:t,basename:t.replace(/\.[^/.]+$/,"")}}!function(e){var A=function(){var e=String.fromCharCode,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function n(e,A){if(!i[e]){i[e]={};for(var t=0;t>>8,t[2*i+1]=r%256}return t},decompressFromUint8Array:function(A){if(null==A)return a.decompress(A);for(var t=new Array(A.length/2),i=0,n=t.length;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++)}for(n=2,i=0;i>=1;for(;;){if(p<<=1,m==A-1){g.push(t(p));break}m++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(A){return e.charCodeAt(A)}))},_decompress:function(A,t,i){var n,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",m=[],w={val:i(0),position:t,index:1};for(n=0;n<3;n+=1)d[n]=n;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,m.push(c);;){if(w.index>A)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=t,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return m.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}m.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=A)}(lzString);const download=(e,A,t)=>{const i=document.createElement("a");i.setAttribute("href",(e?`${e},`:"")+A),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)};function getIMGFilename(e,A){return`${e.substring(0,e.lastIndexOf("."))}.${A}`}function getNewUniqueFilepath(e,A,t){let i=obsidian_module.normalizePath(`${t}/${A}`),n=e.getAbstractFileByPath(i),a=0;const r=A.endsWith(".excalidraw.md")?".excalidraw.md":A.slice(A.lastIndexOf("."));for(;n;)i=obsidian_module.normalizePath(`${t}/${A.slice(0,A.lastIndexOf(r))}_${a}${r}`),a++,n=e.getAbstractFileByPath(i);return i}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,A){return(A.drawingEmbedPrefixWithFilename?e:"")+A.drawingFilnameEmbedPostfix+(""!==A.drawingFilenameDateTime?window.moment().format(A.drawingFilenameDateTime):"")+(A.compatibilityMode?".excalidraw":A.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const A=app.vault;e=obsidian_module.normalizePath(e);const t=A.getAbstractFileByPathInsensitive(e);t&&t instanceof obsidian_module.TFolder||(t&&t instanceof obsidian_module.TFile&&new obsidian_module.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await A.createFolder(e))}const getURLImageExtension=e=>{const A=e.split("?")[0];return A.substring(A.lastIndexOf(".")+1)},getMimeType=e=>{switch(e){case"png":return"image/png";case"jpeg":case"jpg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";case"bmp":return"image/bmp";case"ico":return"image/x-icon";case"svg":case"md":return"image/svg+xml";default:return"application/octet-stream"}},getFileFromURL=async(e,A,t=1e3)=>{try{return await Promise.race([(async()=>new Promise((e=>setTimeout((()=>e(null)),t))))(),obsidian_module.requestUrl({url:e,method:"get",contentType:A,throw:!1})])}catch(A){return void errorlog({where:getFileFromURL,message:`URL did not load within timeout period of ${t}ms`,url:e})}},getDataURLFromURL=async(e,A,t=1e3)=>{const i=await getFileFromURL(e,A,t);return i&&200===i.status?await getDataURL(i.arrayBuffer,A):e},{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian_module.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),A=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,A)=>A.published-e.published))[0].version;isVersionNewerThanOther(A,PLUGIN_VERSION)&&new obsidian_module.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${A}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,A,t=!1,i=0){if(!A)return e;let n="";if(t){for(const t of e.split("\n")){const e=t.match(new RegExp(`(.){1,${A}}`,"g"));n+=e?`${e.join("\n")}\n`:"\n"}return n.replace(/\n$/,"")}const a=new RegExp(`(.{1,${A}})(\\s+|$\\n?)|([^\\s]{1,${A+i}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){n+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);n+="\n".repeat(e),0===e&&(n+="\n")}return n.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,A,t,i,n)=>[(e-t)*Math.cos(n)-(A-i)*Math.sin(n)+t,(e-t)*Math.sin(n)+(A-i)*Math.cos(n)+i],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const A=e.x+e.width/2,t=e.y+e.height/2,[i,n]=rotate$1(e.x,e.y,A,t,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,A,t,e.angle);return[i{const s=1/t.value;return{x:(e-i)*s-a,y:(A-n)*s-r}},getDataURL=async(e,A)=>new Promise(((t,i)=>{const n=new FileReader;n.onload=()=>{const e=n.result;t(e)},n.onerror=e=>i(e),n.readAsDataURL(new Blob([new Uint8Array(e)],{type:A}))})),getFontDataURL=async(e,A,t,i)=>{let n="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(A,t);if(s){const A=await e.vault.readBinary(s),t=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=i?i:s.basename,r=await getDataURL(A,t),n=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=n.split(";base64,",2);n=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:n,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const A=e.matchAll(/base64,(.*)/g).next(),t=window.atob(A.value[1]),i=t.length,n=new Uint8Array(i);for(let e=0;e{var i;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:t})}catch(e){return null}},getPNG=async(e,A,t,i=1)=>{var n;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:A.withBackground,exportWithDarkMode:!!A.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:t,mimeType:"image/png",getDimensions:(e,A)=>({width:e*i,height:A*i,scale:i})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,A,t)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const i=getIMGFilename(A,t),n=e.app.vault.getAbstractFileByPath(i);return n&&n instanceof obsidian_module.TFile?"png"===t?await e.app.vault.readBinary(n):await e.app.vault.read(n):null},embedFontsInSVG=(e,A)=>{const t=null!=e.querySelector("text[font-family^='Virgil']"),i=null!=e.querySelector("text[font-family^='Cascadia']"),n=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(i||t||n)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((A,t)=>{const i=new Image;i.onload=()=>{A({height:i.naturalHeight,width:i.naturalWidth})},i.onerror=t,i.src=e})),scaleLoadedImage=(e,A)=>{let t=!1;if(!A||!e)return{dirty:t,scene:e};for(const i of A){const[A,n]=[i.size.width,i.size.height],a=i.size.width/i.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===i.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(i.shouldScale){if(a!=r/s){t=!0;const i=Math.sqrt(r*s*n/A),a=Math.sqrt(r*s*A/n);e.height=i,e.width=a,e.y+=(s-i)/2,e.x+=(r-a)/2}}else r===A&&s===n||(t=!0,e.height=n,e.width=A,e.y+=(s-n)/2,e.x+=(r-A)/2)}))}return{dirty:t,scene:e}},setDocLeftHandedMode=(e,A)=>{const t=A.createElement("style");t.id="excalidraw-left-handed",t.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const i=A.getElementById(t.id);i&&A.head.removeChild(i),e&&A.head.appendChild(t)},setLeftHandedMode=e=>{const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;i&&(A.has(i)||(A.add(i),setDocLeftHandedMode(e,i)))}))},getLinkParts=(e,A)=>{var t;const i=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:A&&""===i[1]?A.path:i[1],isBlockRef:"^"===i[2],ref:null===(t=i[3])||void 0===t?void 0:t.replaceAll(REG_BLOCK_REF_CLEAN,""),width:i[4]?parseInt(i[4]):void 0,height:i[5]?parseInt(i[5]):void 0}},compress=e=>lzStringExports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzStringExports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,A,t)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-dark"])return t.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?t:"light"},hasExportBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-transparent"])return!t.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if(!(null==t?void 0:t.frontmatter))return e.settings.exportPaddingSVG;if(null!=t.frontmatter["excalidraw-export-padding"]){const e=parseInt(t.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=t.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(t.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,A)=>{if(A){const t=e.app.metadataCache.getFileCache(A);if((null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(t.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,A)=>{const t=e.match(/(\d*)\.(\d*)\.(\d*)/),i=A.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(t&&4===t.length&&i&&4===i.length&&!(isNaN(parseInt(t[1]))||isNaN(parseInt(t[2]))||isNaN(parseInt(t[3])))&&!(isNaN(parseInt(i[1]))||isNaN(parseInt(i[2]))||isNaN(parseInt(i[3])))&&(parseInt(t[1])>parseInt(i[1])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>parseInt(i[2])||parseInt(t[1])>=parseInt(i[1])&&parseInt(t[2])>=parseInt(i[2])&&parseInt(t[3])>parseInt(i[3])))},getEmbeddedFilenameParts=e=>{const A=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return A?{filepath:A[1],hasBlockref:Boolean(A[3]),hasGroupref:"group="===A[4]||"group="===A[7],hasTaskbone:"taskbone"===A[4]||"taskbone"===A[7],hasArearef:"area="===A[4]||"area="===A[7],blockref:A[5],hasSectionref:Boolean(A[6]),sectionref:A[8],linkpartReference:A[2],linkpartAlias:A[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((A=>A.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((A=>setTimeout(A,e))),log=console.log.bind(window.console),debug=console.log.bind(window.console),getContainerElement=(e,A)=>{var t;return e&&e.containerId&&null!==(t=A.elements.filter((A=>A.id===e.containerId))[0])&&void 0!==t?t:null},updateFrontmatterInString=(e,A)=>{if(!e)return e;for(const t of A){const A=new RegExp(`${t[0]}:\\s.*\\n`,"g");e=e.match(A)?e.replaceAll(A,`${t[0]}: ${t[1]}\n`):e.replace(/^---\n/,`---\n${t[0]}: ${t[1]}\n`)}return e},isHyperlink=e=>e&&!e.includes("\n")&&!e.includes("\r")&&e.match(/^https?:(\d*)?\/\/[^\s]*$/),isContainer=e=>{var A;return"arrow"!==e.type&&(null===(A=e.boundElements)||void 0===A?void 0:A.map((e=>e.type)).includes("text"))},hyperlinkIsImage=e=>{isHyperlink(e);const A=e.split("?")[0];return IMAGE_TYPES.contains(A.substring(A.lastIndexOf(".")+1))},hyperlinkIsYouTubeLink=e=>isHyperlink(e)&&(e.startsWith("https://youtu.be")||e.startsWith("https://www.youtube.com")||e.startsWith("https://youtube.com")||e.startsWith("https//www.youtu.be"))&&null!==e.match(/(youtu.be\/|v=)([^?\/\&]*)/),getYouTubeThumbnailLink=async e=>{const A=e.match(/(youtu.be\/|v=)([^?\/\&]*)/);if(!A||!A[2])return null;const t=A[2];let i=`https://i.ytimg.com/vi/${t}/maxresdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1});return n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/hq720.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${t}/mqdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:`https://i.ytimg.com/vi/${t}/default.jpg`))},labelCTRL=()=>DEVICE.isIOS||DEVICE.isMacOS?"CMD":"CTRL",labelALT=()=>DEVICE.isIOS||DEVICE.isMacOS?"OPT":"ALT",labelMETA=()=>DEVICE.isIOS||DEVICE.isMacOS?"CTRL":DEVICE.isWindows?"WIN":"META",labelSHIFT=()=>"SHIFT",isCTRL=e=>DEVICE.isIOS||DEVICE.isMacOS?e.metaKey:e.ctrlKey,isALT=e=>e.altKey,isMETA=e=>DEVICE.isIOS||DEVICE.isMacOS?e.ctrlKey:e.metaKey,isSHIFT=e=>e.shiftKey,mdPropModifier=e=>!isSHIFT(e)&&isCTRL(e)&&!isALT(e)&&isMETA(e),scaleToFullsizeModifier=e=>isSHIFT(e)&&!isCTRL(e)&&!isALT(e)&&isMETA(e)||!isSHIFT(e)&&isCTRL(e)&&isALT(e)&&!isMETA(e),linkClickModifierType=e=>isCTRL(e)&&!isALT(e)&&isSHIFT(e)&&!isMETA(e)?"active-pane":!isCTRL(e)||isALT(e)||isSHIFT(e)||isMETA(e)?isCTRL(e)&&isALT(e)&&!isSHIFT(e)&&!isMETA(e)?"new-pane":DEVICE.isDesktop&&isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"popout-window":isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"new-tab":mdPropModifier(e)?"md-properties":"active-pane":"new-tab",externalDragModifierType=e=>(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||isALT(e)||!isMETA(e))?(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||!isALT(e)||isMETA(e))?"image-url":"image-import":"insert-link",internalDragModifierType=e=>(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))?scaleToFullsizeModifier(e)?"image-fullsize":"link":"image",emulateCTRLClickForLinks=e=>({shiftKey:e.shiftKey,ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,altKey:e.altKey}),getParentOfClass=(e,A)=>{var t;let i=e.parentElement;for(;i&&!(i instanceof window.HTMLBodyElement)&&!i.classList.contains(A);)i=i.parentElement;return(null===(t=null==i?void 0:i.classList)||void 0===t?void 0:t.contains(A))?i:null},getLeaf=(e,A,t)=>{switch(linkClickModifierType(t)){case"active-pane":return A;case"new-tab":default:return(()=>{if(!e.settings.openInMainWorkspace)return app.workspace.getLeaf("tab");const[t,i]=getLeafLoc(A);return"main"===t?app.workspace.getLeaf("tab"):getNewOrAdjacentLeaf(e,A)})();case"new-pane":return getNewOrAdjacentLeaf(e,A);case"popout-window":return app.workspace.openPopoutLeaf()}},getLeafLoc=e=>{const A=e.id,t=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),n=i(t.main);return[t.main&&n.contains(A)?"main":t.floating&&i(t.floating).contains(A)?"popout":t.left&&i(t.left).contains(A)?"left":t.right&&i(t.right).contains(A)?"right":"hover",n]},getNewOrAdjacentLeaf=(e,A)=>{const[t,i]=getLeafLoc(A),n=()=>{var e;let t=app.workspace.getMostRecentLeaf();return t&&t!==A&&(null===(e=t.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(t=null,i.forEach((e=>{var i;const n=app.workspace.getLeafById(e);!t&&(null===(i=n.view)||void 0===i?void 0:i.navigation)&&A!==n&&(t=n)}))),t};if(e.settings.openInMainWorkspace||["main","left","right"].contains(t)){if(!e.settings.openInAdjacentPane){if("main"===t)return app.workspace.createLeafBySplit(A);const e=n();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const i=n();return null!=i?i:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(A);if("hover"===t){const t=new Set;return app.workspace.iterateAllLeaves((e=>{e!==A&&A.containerEl.parentElement===e.containerEl.parentElement&&t.add(e)})),0===t.size?e.app.workspace.createLeafBySplit(A):Array.from(t)[0]}if("popout"===t){const e=new Set;return app.workspace.iterateAllLeaves((t=>{t!==A&&t.view.navigation&&t.view.containerEl.ownerDocument===A.view.containerEl.ownerDocument&&e.add(t)})),0===e.size?app.workspace.createLeafBySplit(A):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(A)},getAttachmentsFolderAndFilePath=async(e,A,t)=>{let i=e.vault.getConfig("attachmentFolderPath");if(i&&i.startsWith("./")){const e=`${splitFolderAndFilename(A).folderpath}/`;i=obsidian_module.normalizePath(e+i.substring(2))}return i&&"/"!==i||(i=""),await checkAndCreateFolder(i),{folder:i,filepath:obsidian_module.normalizePath(""===i?t:`${i}/${t}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install the script",UPDATE_SCRIPT:"Update available - Click to install",CHECKING_SCRIPT:"Checking for newer version - Click to reinstall",UNABLETOCHECK_SCRIPT:"Update check failed - Click to reinstall",UPTODATE_SCRIPT:"Script is up to date - Click to reinstall",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"Create new drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Embed a drawing",TRANSCLUDE_MOST_RECENT:"Embed the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create new drawing - IN AN ADJACENT WINDOW",NEW_IN_NEW_TAB:"Create new drawing - IN A NEW TAB",NEW_IN_ACTIVE_PANE:"Create new drawing - IN THE CURRENT ACTIVE WINDOW",NEW_IN_POPOUT_WINDOW:"Create new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create new drawing - IN AN ADJACENT WINDOW - and embed into active document",NEW_IN_NEW_TAB_EMBED:"Create new drawing - IN A NEW TAB - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create new drawing - IN THE CURRENT ACTIVE WINDOW - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create new drawing - IN A POPOUT WINDOW - and embed into active document",EXPORT_SVG:"Save as SVG next to current file",EXPORT_PNG:"Save as PNG next to current file",EXPORT_SVG_WITH_SCENE:"Save as SVG with embedded Excalidraw Scene next to current file",EXPORT_PNG_WITH_SCENE:"Save as PNG with embedded Excalidraw Scene next to current file",TOGGLE_LOCK:"Toggle Text Element between edit RAW and PREVIEW",DELETE_FILE:"Delete selected image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:`Copy markdown link for selected element to clipboard. ${labelCTRL()}+CLICK to copy 'group=' link. SHIFT+CLICK to copy an 'area=' link. ${labelALT()}+CLICK to watch a help video.`,INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_LATEX:`Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!}). ${labelALT()}+CLICK to watch a help video.`,ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",SAVE_AS_PNG:`Save as PNG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,SAVE_AS_SVG:`Save as SVG into Vault (${labelCTRL()}+CLICK to export; SHIFT to embed scene)`,OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a ImageElement, or select a TextElement that contains an internal or external link.\n",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
      Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is available.
      Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
      Toggle ON: Use Excalidraw folder
      Toggle OFF: Use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and its name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",SAVING_HEAD:"Saving",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
      Toggle ON: Compress drawing JSON
      Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_INTERVAL_DESKTOP_NAME:"Interval for autosave on Desktop",AUTOSAVE_INTERVAL_DESKTOP_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. clicking on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly either by killing the Obsidian process, or clicking to close Obsidian altogether.",AUTOSAVE_INTERVAL_MOBILE_NAME:"Interval for autosave on Mobile",AUTOSAVE_INTERVAL_MOBILE_DESC:"I recommend a more frequent interval for Mobiles. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. tapping on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly (i.e. swiping it away). Also note, that when you switch apps on a Mobile device, sometimes Android and iOS closes Obsidian in the background to save system resources. In such a case Excalidraw will not be able to save the latest changes.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

      Click this link for the date and time format reference.

      ",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
      Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
      Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
      Toggle ON: filename ends with .excalidraw.md
      Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",DYNAMICSTYLE_NAME:"Dynamic styling",DYNAMICSTYLE_DESC:"Change Excalidraw UI colors to match the canvas color",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
      Toggle ON: Left-handed mode.
      Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
      Toggle ON: Follow Obsidian Theme
      Toggle OFF: Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
      Toggle ON: Match Obsidian theme
      Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
      Toggle ON: Follow theme changes
      Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal, view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",DEFAULT_PINCHZOOM_NAME:"Allow pinch zoom in pen mode",DEFAULT_PINCHZOOM_DESC:"Pinch zoom in pen mode when using the freedraw tool is disabled by default to prevent unwanted accidental zooming with your palm.
      Toggle on: Enable pinch zoom in pen mode
      Toggle off: Disable pinch zoom in pen mode",DEFAULT_WHEELZOOM_NAME:"Mouse wheel to zoom by default",DEFAULT_WHEELZOOM_DESC:`Toggle on: Mouse wheel to zoom; ${labelCTRL()} + mouse wheel to scroll
      Toggle off: ${labelCTRL()} + mouse wheel to zoom; Mouse wheel to scroll`,ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
      Toggle ON: Zoom to fit
      Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_ONOPEN_NAME:"Zoom to fit on file open",ZOOM_TO_FIT_ONOPEN_DESC:"Zoom to fit drawing when the drawing is first opened
      Toggle ON: Zoom to fit
      Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:`${labelCTRL()}+CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].`,ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.`,MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. `,LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:`Hover preview without pressing the ${labelCTRL()} key`,HOVERPREVIEW_DESC:`Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the ${labelCTRL()} key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
      Toggle Off: Hover preview is shown only when you hold the ${labelCTRL()} key while hovering the link.`,LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:`${labelCTRL()}+CLICK on text with [[links]] or [](links) to open them`,LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readability of quotes in text only transclusions
      Toggle ON: Remove leading '> '
      Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images SHIFT drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:`The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (${DEVICE.isIOS||DEVICE.isMacOS?"CMD+OPT+i":"CTRL+SHIFT+i"}) and type in the following command: "ExcalidrawAutomate.mostRecentMarkdownSVG". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: "excalidraw-css: css_file_in_vault|css-snippet".`,EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
      Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Auto-export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
      Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",LATEX_DEFAULT_NAME:"Default LaTeX formual for new equations",LATEX_DEFAULT_DESC:"Leave empty if you don't want a default formula. You can add default formatting here such as \\color{white}.",NONSTANDARD_HEAD:"Non-Excalidraw.com supported features",NONSTANDARD_DESC:"These features are not available on excalidraw.com. When exporting the drawing to Excalidraw.com these features will appear different.",CUSTOM_PEN_NAME:"Number of custom pens",CUSTOM_PEN_DESC:"You will see these pens next to the Obsidian Menu on the canvas. You can customize the pens on the canvas by long-pressing the pen button.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:`Select a file then press ENTER, or SHIFT+${labelMETA()}+ENTER to insert at 100% scale.`,NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",TOGGLE_DISABLEBINDING:"Toggle to invert default binding behavior",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"有可用更新 - 点击安装",CHECKING_SCRIPT:"检查更新中 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"脚本已是最新 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_NEW_TAB:"新建绘图 - 于新页签",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_NEW_TAB_EMBED:"新建绘图 - 于新页签 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",EXPORT_SVG_WITH_SCENE:"导出 SVG 文件(包含 Scene)到当前目录",EXPORT_PNG_WITH_SCENE:"导出 PNG 文件(包含 Scene)到当前目录",TOGGLE_LOCK:"文本元素:原文模式(RAW)⟺ 预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:`复制所选元素的内部链接(形如 [[file#^elementID]])。\n按住 ${labelCTRL()} 可复制元素所在分组的内部链接(形如 [[file#^group=elementID]])。\n按住 SHIFT 可复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])。\n按住 ${labelALT()} 可观看视频演示。`,INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的内部链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",IMPORT_SVG:"插入 SVG 矢量图形到当前绘图(支持有限,尚不支持文本)",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:`插入 LaTeX 公式到当前绘图。按住 ${labelALT()} 可观看视频演示。`,ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的更新说明",RUN_OCR:"OCR 识别涂鸦和图片里的文本并复制到剪贴板",TRAY_MODE:"绘图工具属性页:面板模式 ⟺ 托盘模式",SEARCH:"搜索文本",RESET_IMG_TO_100:"重设图像元素的尺寸为 100%",TEMPORARY_DISABLE_AUTOSAVE:"临时禁用自动保存功能,直到 Obsidian 退出(勿点,除非你清楚自己在干什么)",TEMPORARY_ENABLE_AUTOSAVE:"恢复启用自动保存功能",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:`导出 PNG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,SAVE_AS_SVG:`导出 SVG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FORCE_SAVE:"保存绘图(并更新嵌入了该绘图的面板)",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件正以兼容模式打开。需要转换为新格式才能使用插件的全部功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
      关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
      关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
      开启:使用 Excalidraw 文件夹。
      关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
      如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
      如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹(大小写敏感!)",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
      该项不能设为库的根目录。",SAVING_HEAD:"保存",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
      当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
      开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_INTERVAL_DESKTOP_NAME:"桌面端定期保存时间间隔",AUTOSAVE_INTERVAL_DESKTOP_DESC:"每隔多长时间触发一次自动保存。但如果当前绘图没有发生改变,将不会触发自动保存。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(不管是终结进程还是点关闭按钮)不会触发自动保存。",AUTOSAVE_INTERVAL_MOBILE_NAME:"移动端定期保存时间间隔",AUTOSAVE_INTERVAL_MOBILE_DESC:"建议在移动端设置更短的自动保存时间间隔。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(在应用切换器中划掉)不会触发自动保存。此外,当您切换到其他应用时,有时候系统会自动清理 Obsidian 后台以释放资源。这种情况下,Excalidraw 无法保存最新的变动。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

      点击阅读日期和时间格式参考

      ",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
      开启:
      关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
      开启:使用 .excalidraw.md 作为扩展名。
      关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
      开启:左手模式。
      关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
      但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
      开启:跟随 Obsidian 主题风格。
      关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
      开启:匹配 Obsidian 主题风格。
      关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
      开启:跟随主题变化。
      关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",DEFAULT_PINCHZOOM_NAME:"允许在触控笔模式下进行双指缩放",DEFAULT_PINCHZOOM_DESC:"在触控笔模式下使用自由画笔工具时,双指缩放可能造成干扰。
      开启: 允许在触控笔模式下进行双指缩放
      关闭: 禁止在触控笔模式下进行双指缩放",DEFAULT_WHEELZOOM_NAME:"鼠标滚轮缩放页面",DEFAULT_WHEELZOOM_DESC:`开启:鼠标滚轮为缩放页面,${labelCTRL()}+鼠标滚轮为滚动页面
      关闭:鼠标滚轮为滚动页面,${labelCTRL()}+鼠标滚轮为缩放页面`,ZOOM_TO_FIT_NAME:"调节面板尺寸后自动缩放页面",ZOOM_TO_FIT_DESC:"调节面板尺寸后,自适应地缩放页面
      开启:自动缩放。
      关闭:禁用自动缩放。",ZOOM_TO_FIT_ONOPEN_NAME:"打开绘图时自动缩放页面",ZOOM_TO_FIT_ONOPEN_DESC:"打开绘图文件时,自适应地缩放页面
      开启:自动缩放。
      关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:`按住 ${labelCTRL()} 并点击包含 [[链接]] 的文本元素可以打开其中的链接。如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
      链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。`,ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
      若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。`,MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
      若开启此项,Excalidraw 会在主工作区的面板中打开该链接。`,LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览(PREVIEW)模式时,在内部链接的两侧显示中括号。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含链接,则添加此前缀。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含外部链接,则添加此前缀。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"待办任务(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成项目",TODO_DESC:"未完成的待办项目的符号",DONE_NAME:"已完成项目",DONE_DESC:"已完成的待办项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:`开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
      关闭:鼠标悬停在 [[内部链接]] 上,并且按住 ${labelCTRL()} 才能预览。`,LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:`按住 ${labelCTRL()} 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接`,LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
      此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
      一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",QUOTE_TRANSCLUSION_REMOVE_NAME:"隐藏 Transclusion 行首的引用符号",QUOTE_TRANSCLUSION_REMOVE_DESC:"不显示 Transclusion 中每一行行首的 > 符号,以提高纯文本 Transclusion 的可读性。
      开启:隐藏 > 符号
      关闭:不隐藏 > 符号(注意,由于 Obsidian API 的原因,首行行首的 > 符号不会被隐藏)",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:`您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 ${labelCTRL()} 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。`,MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
      您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
      您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
      如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
      如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
      此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
      该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
      该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
      关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
      您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
      您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
      如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
      如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
      增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
      此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
      该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",NONSTANDARD_HEAD:"非 Excalidraw.com 官方支持的特性",NONSTANDARD_DESC:"这些特性不受 Excalidraw.com 官方支持。当导出绘图到 Excalidraw.com 时,这些特性将会发生变化。",CUSTOM_PEN_NAME:"自定义画笔的数量",CUSTOM_PEN_DESC:"在画布上的 Obsidian 菜单旁边切换自定义画笔。长按画笔按钮可以修改其样式。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
      该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
      该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
      使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",TASKBONE_HEAD:"Taskbone OCR(光学符号识别)",TASKBONE_DESC:"这是一个将 OCR 融入 Excalidraw 的实验性功能。请注意,Taskbone 是一项独立的外部服务,而不是由 Excalidraw 或 Obsidian-excalidraw-plugin 项目提供的。OCR 能够对画布上用自由画笔工具写下的涂鸦或者嵌入的图像进行文本识别,并将识别出来的文本写入绘图文件的 frontmatter,同时复制到剪贴板。之所以要写入 frontmatter 是为了便于您在 Obsidian 中能够搜索到这些文本。注意,识别的过程不是在本地进行的,而是通过在线 API,图像会被上传到 taskbone 的服务器(仅用于识别目的)。如果您对此敏感,请不要使用这个功能。",TASKBONE_ENABLE_NAME:"启用 Taskbone",TASKBONE_ENABLE_DESC:"启用这个功能意味着你同意 Taskbone 条款及细则 以及 隐私政策.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone 的免费 API key 提供了一定数量的每月识别次数。如果您非常频繁地使用此功能,或者想要支持 Taskbone 的开发者(您懂的,没有人能用爱发电,Taskbone 开发者也需要投入资金才能持续运行这项 OCR 服务)您可以到 taskbone.com 购买一个商用 API key。购买后请将它填写到旁边这个文本框里,替换掉原本自动生成的免费 API key。",SELECT_FILE:"选择一个文件后按回车。",SELECT_FILE_WITH_OPTION_TO_SCALE:`选择一个文件后按回车,或者 SHIFT+${labelMETA()}+ENTER 以 100% 尺寸插入。`,NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式",OPEN_LINK_CLICK:"打开所选的图形或文本元素里的链接",OPEN_LINK_PROPS:"编辑所选 MD-Embed 的内部链接,或者打开所选的图形或文本元素里的链接"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian_module.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian_module.moment.locale()}),locale&&locale[e]||en[e]}var html2canvasExports={},html2canvas$1={get exports(){return html2canvasExports},set exports(e){html2canvasExports=e}};html2canvas$1.exports=function(){ +const EXCALIDRAW_PACKAGES = "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IgSzjZZxmIVsCZyn9NAAAOCCzONlnGlnjbjxpAAD261zOMlnGgAAcRAFnGm3WhXzW0/CV82AAAUEE262AABGEH261LONIAAgAAVhAxnGCPWwAADwgCPWmzxvm40gAALOMRnGKPWyAAHM4yR60I9aFnGgAAMRAlnGgAAeRBjfNpWBZ2AOt1pmcao9aEetO3W+HrYAAH4QMZxlM43zcY2eNQetmcCWtzIAAAwQTNxjT1sAABsIId1u+qzOwBAAAWCCbdaGetSzjH7rcn5pc8yblaRetYvWyzxjZ4wR61/dasetYzjJZxgz1uh62bdaZnGgAAFhBnPGNHWlPzdL1tF63i9apnGbPWxXrQs42V62q9b1etWvWrHrSz1s263M5bC/N59Wz07EVYTr83vABqettPWnbrXt1sN60K9abPGUzjBnrTT1o160L+brbcbS5d4ANz1s961zONSet8vWyAAJ71uzca+9bDpIAP+IggHSACD61TOMQ+tYfWzbrfm42960I9ao+tYpARfzSxhjj62ZuNvetLPW+Hrcn1sj62DK0eHw2fW/NxjM4x48Y++aj/N7wAGXrQb1u48b5uMFet9PWsZxpt1r260I9bzutlfWrbrTt1rh6149b83GSzjRvrc31uoC3OwBAAAlCBl9bAAAoiCnP01Qt7wAQAACQgm3Wmzxsp1tP6aAABcEAT61LOM6+tbPWnbrdQFqufp0gBAAAFCDi9alnGnvW8PrVM40gACAABJEBH63a9bMAtsN6OkAIAAEIQbvrWM4z362QABletNnjMnrdQFqwC07fwNutYzjEZxsv1sf62aKQJeApAWjbrWx4xs8YLONu+tMzjD/reA4FoC2rVr1utv/W//rQb1rZ61vSQ3jsLAW94AHP1oR63Q9a+etK/W/Nxvc/W4C1O9aZnGm3WnnrVM40B63IDatitwgWp3rZt1o162WeM9utNnjUnrW71rD6279a6+tCzjDvrTvVpkC10gAhetP3Wg/rSf1pIxjOwBAAAeCA7daRnGgA2y45vlXDpACAAB0ECmcYWeMRnGEzjZHrVANrK3SPBZmfNl/WmnrWM4xe61iDbEhCaYGDOBu8ACGcYI9bM3GzgWuQbSKLXeACSDaketTnjVQbbuBm8C10gBAAASCAzOMRnGw/Wm/rTt1qkG1OeNdutOg26MDIEFveACAAAiEE263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nrXt1s4G119a6+tjU2yzxm6Nqx6049a8etIzjDXrZwNt562G9alnG6424sQD1GjAJLU9aKJtSzjN2bTxNoQS3giAjY0dIAVgbfm4y163I9bxZtgc2lcwAomhwS0aDbYRtWvW2kbej1sgAAdDamBt0PWuYLeltgGG3o9bAAAciChLgFBt/A2y2bTM4ybG32jb6EtLHjNPrQINoAG0+ja4wtXCWsObSj1tD60ATaNWcV3WvbrS2NrL615ZbU4tc/WrGbWuNpv60YTafxtVA2/8badNqTcC8wQ45t5/WkZxpm4y162/da2etbvWrvrVM42jG3lgBLRMSXWhfrZAACJ62k9br+thPWuXrSLY3p0AAja0et1o2vnrW2NosS3aecrEt5/W5vrdiNuv627zadhtvfORqXH4NuIm1tjbIAAyt2VELZkrkcS0aDaJxtaE22+bVqwDPm3BJacGSoc2/NxtvNoF63aLZs+tgPWpZxvT1tiS24DB0BtqPWqZxmBNqrm3WBlU4tYA278bQs429G28eNsWgtBpbPrbn1u762YZbMGSV3WyMba7Nq1608TapQMRSW8uLSUludgD2Dap5tB/WhXrX5NoAW309al5tK825Prdb1rxm1s9brAA5/WpZxhM42lG339bb+t8PWnbrQj1poQA3JbvHqAnEJZLQAgBWS09+bDBto82uCbeH1oV60o9aBRtCvWi3rdD1udm319bR5tWvWo4bZ71sJS23JbFkt7ZQGgPIQAH4W0KvVnYA8A2lObeItsgAAW9b8etTs2sebVM4yOG1/daZZtcs2hWbUrNqR62vja8UAczjZibZ71t262I9aC3Ghc24xbVsNoWG17jaiUtvj1B5LYBLjgG2BjbOhthw25ObSqNrVG0iLbtFtvPWiRbZuNoV63ZuMfetAvWy0RAClp2na55btRtKPWnqbdlNtpm0tjbRJtUE2wnrej1o161BLboetCPWpsbZAAA48YM9acltdC2mXLdX2MPRrAgBkUt3i24JbaEtqnG2I9bqBtiS2yubZAAFz62ZuMjettC2zbrYotu4W3EpbeOtVM2rsrTmzgZS1xLa6QAEPWw3rff1ptm1h9axFtbs24frfv1r0W0SLacltSQ2uybSz1t5S0m8cqtcAqWrVasL1uwG3XjaUlt4S2qZxgf1vZG1FDasetZfWhnrZXNu0m27LbJxt/I2o5bdx41MAAg9b1xtEE2ppbdgNolm2mABvhtTs2mZxoXNrf62DjafzE8PW0vrc2NrYW2l9b3ZtQS2sRbdM40x60W9bvhtu3WzHrXM42dm2uzb3Zt642t1Lae5g9S1YMRi0t3qW2tzPRNpIm3u9aUltu/Wy2bTZ42CG2NDbAFt4A2/frSQtoaW009bs3GYvW3JbcH1pbG2k9aD+t1C2v7rWwttBW0zOM3Zt9/WhHrdYAEAABoIEj1qmcbNjaFetMU2i3rd71sIG3jON+etdfWzhbboNVdy0sGAi0tqWROFbVT1pp60WeMWetxk25FbWEtoB627jbD+tCvW1Prfitq5m2yrbIlt6K2/8baYAEb631Tajet+K2rNxixNtMABeja/+tUzjehbYwtuYW3w9aYpt7C218eCGWgMUDKAAmRtIPWyAAIAtosG1VLb2VtLs2sZxlytvr6239bNut6q2/8bZ6NsxW16rbTAA7K2nbre6NpZ60vDaaetNs23brbD1u7m2WeM2PGmbjTgbfqtooa2QSBf0tgf2f9LfJ9FPq3QZbsDw3HpCBxsjNu5a2BXJsMtJ4WgfrfX1okW0w9aXxtmPW4jLczDxZVRtZanutTC2yzxsoACWcYaABLZt9M2t3rcENo9W09zasJtBq28tbSwtpNW3crb3steT4Ou6ixlr4ABsZbiltA91Sm6sHTlMy1aLbRltVS2qRbcYtstm2ZuMO+tk82libXj1tsW379bIJtLY2pMbZAAACW3qjapotghoZzLR9Ns5K2CJbtWtwC24Q0t66RNKCWukTwtuXDYQ6MNlrz/CjZatAm9wWtilMdls2BanZauCtmeuS7LQCcK/2Y3ZaVe69g2pdbSutqb63Lrb2htLPWoJbfotqVm0uzaqVt+q2jtbTTltYK3Kdb4ct6yW+irVTltwkDAba18twuW9FuqLlrNG1WowB7qnpMeXLQZFhg2225bxZk9uWy9bcpSjdy19LasNtBaWnPLdj4wkSgF5aagga+W+A3Fvrn71wz5aU6tCPm3kAAvlsOm1ogBl8tP+Wkz6HRtq20hTdaYGtsVOJHzbvlpiG3bjaSets82zTOu8AH0G0o9bgRt4E23frX5NrKm1TOMQltNK28/LWX6hV7rU9b9utm3Wjwbc5NqNm0I9MshtSzjKZxh0Nox617tbohmCY203rXM4x0G3RDb3lt0g2+CbUFnXeACIjad+tD/Wu74MUM3wm2Yrbo5tZQtOwbYT1tX60dNb4MtQzjP2bVhNrJi0B9atutGvW/9bW7Ntr62kLbM3GiA292baT1ptW12eNS+tbHjbebZj1orm1LONChtePW5HrZktq9G3RzbMCtdG2nvzX2VrJjxtdaLBAUbWkCHNV1pL5x2hasht4Y213rWT1oaW00LbXRtbPWlsbVrNurKISFbsttOo2uXrfD1qOG0RjaoxtihW4JHJaNsNW2tzai6tYB9fBbai7jqcBNdaf8tsPeYXrcr1oWcby9a6+tpgAD0bXott261JLaWetHvW0nrSD1ukG3W9aWxtwPWpZxj6ttf61NLbmVt8s2/frWn1t36139bzNtBXGPwHD2Nu762Qjaltt8PWvbrcz1sBW0I9afVtHHjfrbW+Nqt61d9aFetGw2lsbQd1q2K0yTaNetizjLNxk54zxQDvdbxFtNs2kFbaStt0W0TLb81tB3W4NbfZtsx628za9+tO22s7beH1om23SLbdFtU82hnrc8tuKG079azBtoW2rEbfv1oVm3TjaeNtWxW+YHPJ9ni61Y2RdgcpZWyfPPYDnoG29baQdthc24frWx4wK21zOMYttdi2/frTNtrlm099b4etdi2wBbSDtvTxI2raYpt7j4QbbRMtsR237dbOBt3M2uvrW5tr3xiivwBhtb22qpbeSNqq20ALabZtCm2qZxuctou22R9bXZt7I23EyE6Vq7niIKNS30fO2kJbV9togm33db3Ztwu2xVbYz1pp63q9aAhtlw24ybZb1pSW2S7aqVt0u2mUrcYACHtSR9ajBtvPWm2bfSVo9G2p9btdtmbjQIbdLtrlW1LzasRtUa21ErS4YUC62pyJSRt/O25XbYLtrV23S7ahBtyvWgbbfrtut61ebbjdtsu20wAPyNsB236LbC5t3fWrnbb1zipByEg4OKY2moZjbYWVthiBVlaF+twO2pbbWgxGW23K7a/Jtnk2pbbZTtqmcaVrbLlExzOMjADnto163jjbletJPW2mbaYAGp202rarxth22pbbUNtv362p9a0et9PWuPbUDFsxBycvFaWCPrW6srQ58G5K3Vlb6yt6a2xeAG2VrZByY7htttdO2pbbcztvL23fbacht1E2rfze8Dg7q2Mjb/Wt+gOcW9JtNtkmIr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4N53s8/2eYRGNqBa2LzYN5s28wOeZTUMvem6QANt5yAAINedkvNUF7ybzD55ty83mobgFPxnmBLzC55yy84WobjG23nmobzaAp8tQ2ASTtPNyuN0zzZV5wK83K4xDPPlnn0zzMrjPAU/ujmsj33nn4zz1N55d5SQKfeAARXnlzzFl5qVxn7eZEL2K3nqBTATWim84AAC3QeYE4r9ravMdXmRbz3V5iy84T6euZ2PXnVbzhwJo5nfGebYvPPnmNbzQZ54C81cCYMvNyuNEzzet5+4E9faU+vMxnmKzz6N579s9q1qLPNlnnvTzxZ5pu8zK42AvOAdmcMtdp54s81mebfPMT3nZXGwF56EE0xygbx3HnnQbzRF5yAAEveanvMq+nnYAgZ55m8+DeZ3vMe3mH1DtLBBu7RvebFcZb3m5XGoZ5mM83aebJBM2Xnbzzsl5nDs+8AAfvNZnmvTzb55sVxl6eeyvOkRaavdr957082+eePPPf3niWc6k2v+8wVecpvPU3mPfTL952y82/eaZvNi3m+xjooJ2m8zmefbPPJXmqzzft5rjs5t7owvN03mOzzFV5508zBeeaFPzjGfWdEd5tS80leZwfN4PmJOz+tmVoU0Q+edPNJXmUrzZD5l0E6X+ntPMg3mi7z2D5+M87g+b9vNqdnibddp5ph8x2edofN+3n6AdXV5ms89feZDPO33mIYD6N50s8436ftPNfXnwbzmt5p28zrefovPSuMh7zdnZtQLf3eekfOZnnZHzYN5q28xP6fE0OBXnCLzQl5sVxpWea7PPjnngzzYZ55sEwuzudgA73mnzzTd5sy837ecC7PvAA57zk95p887+eZC7Pb+mEuz9p5+a81vec7PPlXnSrz2Z5uq81VeY7725F67Tz215sq854+ZKvNlXnAnzFV5qq82uCbTPMyuMN7zZV53B8xrebBvN2nmHLzgt5lYk8AVvifOg3nszzyT5/+8zK4zzPOldnSRTQAZky81K4xDPPtnmsnzEN5nJ89TebDiP0Jb9HzOT5rs87g+bsvPaTGX7zIV5nO88+edsvMjnmDJjdT5tp8712blx1VPminzzD59S89nEbpABBnn/TzH95kc88w+btPPqXmqAzpcRgPrT2ecDPNf3nui90T52J85AABmfPcXmV7zeWhr08zM+aOvO5nnU7zG3ZkoHbeeczPN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d7he5RPeT7uOD3o977497/u/jfe/uMVj3jZ7xi9x3u6v3f97v5b34B7gw9wA++8vdUHvcn3mJ78V95fe+HPdcXv393SZ70Dxt8e5Bffivu+934B7wmfR3u/73e7nvWT30h7q494B4yoPfGnuUT3iJ7089/i+4gvdePvrL3B9739xlNe5BfdKvvAn3Hr7hTxzvw7jvcJ3uqD3DN7+890ue4PvfJXusX3vR7si9xRe5JPeVnupH3Mj76Y90u++UvdUHu/73q+7l/d5/u6CPcwvu4X3fe7qg92Re+Rfer7uQPGjT7+W97S+733d2nuF33hL7kft4p47SPeAeNcD3GB7g+90Pu973e0vvnD3Lh78l9+5e5EPdcPvl93th7/d93ee4fPf9HvIAAj77oI9y++8sfdt7vYX3yEO1F9+Qe++Pf/uNMX3A+77F94B+7xfcT7usD3g+7/Awx1e6/fdz3vzD3v7jG/d25e8H3fIfuD33D57g+9xFe4H3clXu633n173o91R++A/d5Pu3z3fb7tl91h+9A8YgeNAAA8FCnnvID3GB75j97S+673ef7ve33tj7qF9ype4aPcuw7x7XWwD7VrQ0+4MvfGvvPH3Jh75d98m+/gPd0vvVX3KXLvbi7p+6tvcf3uDP33j7oN91ge5jfcqvvFMXzsAYF94i+4vffk3uv73rN7vT90Ze8MOvmHve93CV7q498oAH2PcaAAD73Jn7ifd2++/hfefvukX3KL7tF96R+/I/f4XucX3QH7mj9yB+9wHdv2vW/tqj7uh9ww+42vfGvuBX3iV7k893Se8xPcMPvY33wHjGN97/u8ivfa3vk335h7jK9+Ae4ovcRfvEX3377ps98w+6ofc0fvPH3+17nL92se4Pvfv7u133tL7zx93W+8VPcfvuXj3EF78DxmWm9My3pfv6H3jD7yAAPK+91fd9HuEr3Qr7oe93Z+68vcDfvQ33gJ71i90Fi/UJsqXvID3Pl74w95ie4Cy1TWwP73bX7mW90Ae/1fcsPulX3br7lV98hDpc/dX3uHD31V7so9/Ue97fftvvfL3q+71R95w+5lffRXvtQH0b73o9wBe/f3eZHulX34r7yKHeQ3pc/fnvvKL37n77+98u+9lvdnPu1P3be78L9x++7q/fRfuSP3GL7099wl++o/cEvu6P3sjrnT9yze9cvdWfu+D3Nf5nfd+B40ivcxAxIr3NF7jQAAke6SPcNHvWP3Pp7zA97/u9PTd0gA0j3Zb7x+95W+773d4vup33kAAZ74898Yr7RGHubv31V7rD97k+9Y/cJfvwPGXP7z/d8hDtAvfgXvpL3sl7+d93Y+9+/fp7OeZd+X70j96/e9/3fNPu+93cv73vd/T+5+/ef7uh7UgP7kk9z6e44PegeN+j3b+7n090o+7Cvd2fuQPGN+7uS9/se9a0u7GHth7AvL+V91h+8BPeePuTz3PX7xU91W++TfcLfu0r3NF7qc91sjrxHusFad93UB7i495AAE+/fffvjP3vL7/c96YADjvcGHu7H3nD7sfd1fu5bvcg3vB93Kx73L95vu4KdfyvvhX3kAASK9/ue64veOnuW33Av7uW98ae7zffL7uYoAFp74091Pu90veHHvf93Xx7sW93hm8CveRQ66nX5JT2nLRq/oy/fjfu/f3837hE92d+55y0tnvxn3MUATN91ie5e/dBHuTD3VX7rK9xL+7d5dCAXxct0r79I99Fe/7/fPDvJnXiuWyTN5htss/cnvuTv3zb73y93S+9JPdIjvER3MmbhMp4eI60j3suv0R3oxzqqXcsBcPts4juLTneI76yPVje4FPeAWG6/3CJ7hv93U+8ZX3mHu0j3qp78kdzK+BxPf1HvnZbBh74k992e/33dRkGCT3jE5l/d15e5P/fLS7Dj3uT7taXZoe9m2O6fupV9nH7pc91N+5D/dh/uBj3t+75H9zJ+473e7HuDv3EF7/vd3Ue83vf8fu8n350j39xks+9+vdsHvdskXe7oy9+AB733dNHuuL34r747F1omf73egeM4D3p2Ljcoylm7NR3gvu9j3ch7/fd1+e5/PeBqmXR3Ql72/d1Qe98/f+fv733Pp7z892Me6YA9Zy5mfNHAH3k91ce5/PeZuu5cTZWb02Xcve+jvdTfuU/35h7ri9xSe7H3f/7ufT3O97vvd6Ie4zvfjPvJ93Kx72t94oB6efemAAfj32B76y91/+/G/fKAfeb3yL7169+1m59fclvuB93qF7yAACYB5fveD7vTAA/T7np99z+/9feQAAXD3lp7+G9w0e7Wl2/7ukX3FR7vFAIx+9X3fH/uIL38AH+o907+/APfSHvCv3zd7l/d7U+9UA8n7vrAPhX76W9yZ+83ffI/vmx3q1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sVvWkACmM28265O/qje0dvmo3ge70318ZO9BXHK1PH/NgHS5nd+N6+odegBb+9323ryNE9Ey8TV69X9M03vXr3NN+t68jA2RSHh93nQu+h166W329fL7vhU75fxPNN7HU9dbvVsLPznkobxU67brbooBNpvvQARSyGT5lHu+6HflhvrHL29gI50Y48vwLvtRjYSRtS74/N4tX3XA2srvAYbwl0Ood7/m8PbUtDvZnLo7d/UXd38warfv1P527xrV7W/rdIfvAApBvdHjeAAPX14eDNu1uCBv7aV4ZhBKQBzDeid6vpdL8VgsNyrt+LW+hDftnHZTkKXr6Nq4B3eWnaV7N/h3qbVxFO/TnP9LfaNd4y11tD/HWfGO8P6IKh3HgAJXr3Du7r68i4AbOvswusNbzWN71m+oWwDZvsMX1kGz1kBwd0q26o9r+O7yWncyd4t6/O9f5pvfGnqKb1Tu5xi9tZaX7vr43l3ryed5sBoLreIGdx4byTT8SM+k09AxPFQbsC34s6yrXsS6+CBGnErzJ3tTT3Ht6y6/qoADtvOXX1zrda2anW8jHWd6zll3zwQKYbrh6OIq7X2jYUAC/Y3s8bCe/+TegJw6pnrsI3DN/q693HmEI3i53tUFzeQ/SPDhzXpm9aTQUtzUF1qx0AcDfGdXlvu1T/f8gDttthXeEtPqchw2L5zq6L69mxfKmAvpANet6Z/so333rWousewroF2I7F7zBsVafdpj8KqlQCFw9vBYgL7hynv3sX9CBHvW626/Ml3+MPQCKWJMy4nusON4tJSldLj38qM7huB168u7fk6dww32OL4Q2cDO+RhDnWAeC37B0gnN5IZe7beAWdD3XjOLz3tY16P67fC7XqxTv60+918Li+fdfszdRz3p3b7et7z2/breK4vZLe0Y4zYd57kA1xentPQWHpQJsE+kJp1wben2Aui328gEbs0YW/XWf7FV281ys70pMY6YDM/FXpvMxuyydWpG8Fifl7vTRtxQexzXT1S7ou+Eug0ojmpu4eL4A8eT6M00B2nASOVm7/avtKd2+djPE8gi8X4nr7Yt9NSOkxmP5vV4+hto/ugol6/7LfItvkK3o3r2lEbuO+96vvOE5PXofV/Tp+Ed36DaO+tv22+zxqaXfZe83dal+t9njPU7Y1Nofjs4DaH47v3WqgbQ5trTw8xcmeXvcPW/Nxvy95uG2ljbLPGt8d6Yu41S/0G0Px3/NtMr3nM7YAAEUQY8Z1kNseO3qve7873Rdnq7X91ofjvRTb0etkOd37rW4XdLG1hbauy763Wy4bS71tj238vefJtYzjcV7/Eof420Px3hDtMr39n45/do3O0evftdP5/W247eL1u9e/8vf6Zt0PWtjxg91rWO0w9bt5trJ2gQba/q/Nu1+veaZtgb3xXrSG97De9BDaI3vM624U7UlG724a1uY43vsvWhN78G99De/hvfoetkb3gV72K99lG1SLWbXvNPWtvbfa97+60FLafetsBrxebZH1vv62/dbbRtpSd/KN4vNpre+rbaePGDS25nraUndKjdU9bbXvlb3vl73v1sL61f4eVe6pnjCObXy95+Lv+veMBtbvW9V7w31oF61iTP+NtHL3wd73O96pz2sDaIDthA2oS7XTnqtG3Nt7+Bt2R2oS7eX8fsG1jOMtltu/WtRO8f1p5z2/F3GptLw2jXrTINsoI91nbG+tyq22ebZNG6QH1gDa/+tAA2z3rY+98fVtMpb7Bt3w2q+7Y+94/VsXveYetV73m973u3vgG3srasBtOA267rVy99sS9gEkVXvck2yLbT8dpLe8n9bZTLDA2mebWLyfYG2l9aH47NY2tQLX697HG1ETabPGkOduxO74l80G2GbaGlr8A22UbTdG8m0CCXanBtH/X94AIAAHIQGEbdR9+/6+1uZv3vQl22JL64Npp61Hna5ht9njIUbSAN7Sm2BDbCi7YQ2ucbW8AZiG1o9battCQ2wT7031vZhfPjbOXvyDO/YbYYtqN630za6gtyzbkpL2wNsx61jjab3vDKhtd70K97Ne/EgHeht8uVwYbSK9+1bPn9afetjb34MW0M4y4+/BDbXht1y11gbd8Nps8b8ve1etDCdyz7wgttubesDbjxt1C2/D76h9+6S/OwAN+tnk2nybeQNvfe8xJPeBtjC2iw7dGe77e8iraaetXR2zz7582/sG16rbZ5tjX2ulbeL1oC+/wrXvLtPi2+uGx5NoMTsJNFFxtxA2pD7wXS92zu2ff+Xv/PWmZxkl974M/L7aWRtbI2qgbS3NvcBO8jb+Rtgo2pTbZTM9rcxC9aJRtFg26UbSodtHPeKjbAttK62txbXVrdde+6jal5tx82vcbR3S8D60fZ2GE7mbjNjxs2NpD6039bHXv7C2/ul1aNtim1Ove5xtOhnrbrY31vxm2XJOKmd3l2zbrQL1ta71hjbattG22ykY2CNszcYPx2QRtQF7iEj6HNps8bM9a3htf3W7Nxm2Nt6m07ffaVtUKXrMbRD1pzG29baWet8PppQbQd97rm34ffDPvNyduPrXXNr7FvO3bSFtv33qkjzateTIPn9bopthvW4B7Q/S/P60rjaGetOb3md70G9+Ne8E9bJNtH9do5nQRNuim2Dve9utCP3kQbR7NvARemeNOjtrPW57rf1NtQRcXjas3GLPW/l7/j1vzcZwLbaUvOr3ufbeq9+De8ubbETt8DLukAGO998W3qve/Jt5E2mCbVRNoDbfOwB+BtK42kA7ez98om2E9alnGJa16nrdt1rEW3vLb1Xvja2zn77Fe4bu08/exxtfP36c7Q/HbJBOwfem+tpA2n17+oi4MG1uveVfvRo2/l7z1NvfO3g53Uet8xdyzxlAndzbfK/ehJt6r33X7/f1sFG0G/ejltxv3hXWxr9+ne+q/edfv1vW5HrS8NpR62G/epnGtv3riLXiNtN++O/eCttuK2uTbW795t+92mvRQT6X3gN73D979+9ZTax7tvi25ttxg+dD+/TvfSfvfv38SbaJtoSm3K9aZGXgEt/wbYrNoym2DvfdfvSf3+KbYFNoF607XuM/vUU2vqbeb9+Ae11Tbo/viI36sj+W98DG3q9bIJtOf3oqbSn94F60nxvq/vga2uv72X9+ym31TaBet9AO6u7Z1NuxTsCTaS/v9njEPrehLa262XjaE/vGP33r7waNubG3zrb13v173wn7yCZ7UC0j/eSfvtP31V7/rNsn+/2LaSjtYxds9twE1ur+/tnb1XvR2dmhO3yN9M22/vf+fvvc2v8bcx/ec20c/e/xt55HwpF8NTtM8bbzb7PGnO2/l74kNvCG2kmed0cpnjZvrZfdsHe/P/fZRt9rDsObYaNuzcZ7/f/ttvG132bf/94T+8lvesetBZ2jHreGNvl60X53UO3eizg6bVVdrp61VvfwAfID2gKbdAD8uG0Ydur5tc+dsP7wn9848bmJ3Kfv3n9uT791drJ++XJ3pBtNCdi6bef1tIB/aDa10vt02vS7RFtvj+993azBtbq2gXrfyKZVe9xnb69ts+dg/O/CdqYB8vdb90vPfmoZxm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pRte/WpgHx/ndGh8Q9b5htjSPws7eH1pQR+UI+mTtNwPmlox9D/h631rbjztxy+4B21Aj47O1uI++7tH0PjxH0SttSh/9Xaw+tgC2qMH5j1uoW2LQ++7tJb3pvrVkj7Zh83bagi7hi2mg7coK6iavzOf9kfypzuY7Y2NoQzubV669tnvWglbeHdrU22K9axVvbF1mye0c584us0wOLZblp2lV7ya977u0w9bmetQC2nYC1K95k++tw+loffk96nrd/ts4+8MJ2ePvym2ljxgMdvTm3WZukwfYzjHTbVGQdEABUffkLDpm212H94K/o+/ZTa1fvtm29JH+K982l0X/eBfvQl256bdcD6lh/j/e5etyoP2HbSFtrC22QAAIttJA23CHyTtuR62xQ/j4f50jk0HzfNpre/79bdskMMPyMbZZ40wh9aw+nPGHt2lFHzdhek+98vfgAAMPWyebcu96bB+6LaOkfxKPwZbR4j/6h92F2KcTiI22U7UpttVR3seM5ZtygAdt72j1q5R8K9a6gfeUPvNb+7A+Z82UHbcofToPzMH3ONs4CckVOzUd+qPyzxoaj8lR/4ffpUfTW26Yux9i4n622o+/R3YgHnmXbR98aB8a9aDutfy2h178ED/zcamABOofRu2yA7TbNsm2109bretKOdzK7XXtvAO1I9a/utwD2it74Ftvbe+7dauPGBEPpBH4ztqdh+2I/RvvUB2slH2ONopR/FBblUfUzjf13VXA4X6289bBjt9QPxoH6RD4T+/y9bfwfDCd61bTNtsJ60+rbbXvu3WrZbZCdo6R+EDa2etv3W9bbU394sqc9jbC0f0u24yH0GtoT63LOMA0fx220SbS+D8d23+rasptxc2pZxgL1ts237Dbj5tYB2xU7Vaj7Z6249aM0f8O2qAH0a9/eR+iw+3etJE2p+Owf1o1e/SDbEDtivWgWH2r1tx62VvfB0fFCP/BH8VD5k+8lveHePMr4CHrRuj5AzskLbd0f0u20NH/Z4yMB8XI/xNtRaPhXrbHx9PR9Px3D4fT4P8P75ej+HHcFo/30f7vl5XrWr1rQON17ai7r+Vhw07YFtuzcZjo/PQfgW2n9HzgD75R8PZvoMd/MP57rXuj9xm1jHbVttPiPynbaQtpim2e9au0fNs2hnbXXtvD/Bfo/lttIPWmzxliD82A8q90cwf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=";const {react, reactDOM, excalidrawLib} = window.eval.call(window, `(function() {${LZString.decompressFromBase64(EXCALIDRAW_PACKAGES)};return {react:React, reactDOM:ReactDOM, excalidrawLib: ExcalidrawLib};})();`);const PLUGIN_VERSION="1.9.3";function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(A){if("default"!==A){var i=Object.getOwnPropertyDescriptor(e,A);Object.defineProperty(t,A,i.get?i:{enumerable:!0,get:function(){return e[A]}})}})),t.default=e,Object.freeze(t)}var obsidian_module__namespace=_interopNamespace(obsidian_module),React__namespace=_interopNamespace(React);let random$1=e=>crypto.getRandomValues(new Uint8Array(e)),customRandom=(e,t,A)=>{let i=(2<{let r="";for(;;){let t=A(n),s=n;for(;s--;)if(r+=e[t[s]&i]||"",r.length===a)return r}}},customAlphabet=(e,t=21)=>customRandom(e,t,random$1),nanoid$1=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),"");function JSON_parse(e){return JSON.parse(e.replaceAll("[","["))}/Mac|iPod|iPhone|iPad/.test(window.navigator.platform);const DEVICE={isDesktop:!document.body.hasClass("is-tablet")&&!document.body.hasClass("is-mobile"),isPhone:document.body.hasClass("is-phone"),isTablet:document.body.hasClass("is-tablet"),isMobile:document.body.hasClass("is-mobile"),isLinux:document.body.hasClass("mod-linux")&&!document.body.hasClass("is-android"),isMacOS:document.body.hasClass("mod-macos")&&!document.body.hasClass("is-ios"),isWindows:document.body.hasClass("mod-windows"),isIOS:document.body.hasClass("is-ios"),isAndroid:document.body.hasClass("is-android")},nanoid=customAlphabet("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",8),KEYCODE={ESC:27},ROUNDNESS={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},GITHUB_RELEASES="https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/",URLFETCHTIMEOUT=1e3,PLUGIN_ID="obsidian-excalidraw-plugin",SCRIPT_INSTALL_CODEBLOCK="excalidraw-script-install",SCRIPT_INSTALL_FOLDER="Downloaded",fileid=customAlphabet("1234567890abcdef",40),REG_LINKINDEX_INVALIDCHARS=/[<>:"\\|?*#]/g,REG_BLOCK_REF_CLEAN=/[!"#$%&()*+,.:;<=>?@^`{|}~\/\[\]\\]/g,IMAGE_TYPES=["jpeg","jpg","png","gif","svg","webp","bmp","ico"],EXPORT_TYPES=["svg","dark.svg","light.svg","png","dark.png","light.png"],MAX_IMAGE_SIZE=500,FRONTMATTER_KEY="excalidraw-plugin",FRONTMATTER_KEY_EXPORT_TRANSPARENT="excalidraw-export-transparent",FRONTMATTER_KEY_EXPORT_DARK="excalidraw-export-dark",FRONTMATTER_KEY_EXPORT_SVGPADDING="excalidraw-export-svgpadding",FRONTMATTER_KEY_EXPORT_PADDING="excalidraw-export-padding",FRONTMATTER_KEY_EXPORT_PNGSCALE="excalidraw-export-pngscale",FRONTMATTER_KEY_CUSTOM_PREFIX="excalidraw-link-prefix",FRONTMATTER_KEY_CUSTOM_URL_PREFIX="excalidraw-url-prefix",FRONTMATTER_KEY_CUSTOM_LINK_BRACKETS="excalidraw-link-brackets",FRONTMATTER_KEY_ONLOAD_SCRIPT="excalidraw-onload-script",FRONTMATTER_KEY_LINKBUTTON_OPACITY="excalidraw-linkbutton-opacity",FRONTMATTER_KEY_DEFAULT_MODE="excalidraw-default-mode",FRONTMATTER_KEY_FONT="excalidraw-font",FRONTMATTER_KEY_FONTCOLOR="excalidraw-font-color",FRONTMATTER_KEY_BORDERCOLOR="excalidraw-border-color",FRONTMATTER_KEY_MD_STYLE="excalidraw-css",FRONTMATTER_KEY_AUTOEXPORT="excalidraw-autoexport",VIEW_TYPE_EXCALIDRAW="excalidraw",ICON_NAME="excalidraw-icon",RERENDER_EVENT="excalidraw-embed-rerender",BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"gridSize":null,"viewBackgroundColor":"#ffffff"}}`,DARK_BLANK_DRAWING=`{"type":"excalidraw","version":2,"source":"${GITHUB_RELEASES+PLUGIN_VERSION}","elements":[],"appState":{"theme":"dark","gridSize":null,"viewBackgroundColor":"#ffffff"}}`,FRONTMATTER=["---","","excalidraw-plugin: parsed","tags: [excalidraw]","","---","==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==","",""].join("\n"),EMPTY_MESSAGE="Hit enter to create a new drawing",TEXT_DISPLAY_PARSED_ICON_NAME="quote-glyph",TEXT_DISPLAY_RAW_ICON_NAME="presentation",FULLSCREEN_ICON_NAME="fullscreen",SCRIPTENGINE_ICON_NAME="ScriptEngine",COLOR_NAMES=new Map;COLOR_NAMES.set("aliceblue","#f0f8ff"),COLOR_NAMES.set("antiquewhite","#faebd7"),COLOR_NAMES.set("aqua","#00ffff"),COLOR_NAMES.set("aquamarine","#7fffd4"),COLOR_NAMES.set("azure","#f0ffff"),COLOR_NAMES.set("beige","#f5f5dc"),COLOR_NAMES.set("bisque","#ffe4c4"),COLOR_NAMES.set("black","#000000"),COLOR_NAMES.set("blanchedalmond","#ffebcd"),COLOR_NAMES.set("blue","#0000ff"),COLOR_NAMES.set("blueviolet","#8a2be2"),COLOR_NAMES.set("brown","#a52a2a"),COLOR_NAMES.set("burlywood","#deb887"),COLOR_NAMES.set("cadetblue","#5f9ea0"),COLOR_NAMES.set("chartreuse","#7fff00"),COLOR_NAMES.set("chocolate","#d2691e"),COLOR_NAMES.set("coral","#ff7f50"),COLOR_NAMES.set("cornflowerblue","#6495ed"),COLOR_NAMES.set("cornsilk","#fff8dc"),COLOR_NAMES.set("crimson","#dc143c"),COLOR_NAMES.set("cyan","#00ffff"),COLOR_NAMES.set("darkblue","#00008b"),COLOR_NAMES.set("darkcyan","#008b8b"),COLOR_NAMES.set("darkgoldenrod","#b8860b"),COLOR_NAMES.set("darkgray","#a9a9a9"),COLOR_NAMES.set("darkgreen","#006400"),COLOR_NAMES.set("darkkhaki","#bdb76b"),COLOR_NAMES.set("darkmagenta","#8b008b"),COLOR_NAMES.set("darkolivegreen","#556b2f"),COLOR_NAMES.set("darkorange","#ff8c00"),COLOR_NAMES.set("darkorchid","#9932cc"),COLOR_NAMES.set("darkred","#8b0000"),COLOR_NAMES.set("darksalmon","#e9967a"),COLOR_NAMES.set("darkseagreen","#8fbc8f"),COLOR_NAMES.set("darkslateblue","#483d8b"),COLOR_NAMES.set("darkslategray","#2f4f4f"),COLOR_NAMES.set("darkturquoise","#00ced1"),COLOR_NAMES.set("darkviolet","#9400d3"),COLOR_NAMES.set("deeppink","#ff1493"),COLOR_NAMES.set("deepskyblue","#00bfff"),COLOR_NAMES.set("dimgray","#696969"),COLOR_NAMES.set("dodgerblue","#1e90ff"),COLOR_NAMES.set("firebrick","#b22222"),COLOR_NAMES.set("floralwhite","#fffaf0"),COLOR_NAMES.set("forestgreen","#228b22"),COLOR_NAMES.set("fuchsia","#ff00ff"),COLOR_NAMES.set("gainsboro","#dcdcdc"),COLOR_NAMES.set("ghostwhite","#f8f8ff"),COLOR_NAMES.set("gold","#ffd700"),COLOR_NAMES.set("goldenrod","#daa520"),COLOR_NAMES.set("gray","#808080"),COLOR_NAMES.set("green","#008000"),COLOR_NAMES.set("greenyellow","#adff2f"),COLOR_NAMES.set("honeydew","#f0fff0"),COLOR_NAMES.set("hotpink","#ff69b4"),COLOR_NAMES.set("indianred","#cd5c5c"),COLOR_NAMES.set("indigo","#4b0082"),COLOR_NAMES.set("ivory","#fffff0"),COLOR_NAMES.set("khaki","#f0e68c"),COLOR_NAMES.set("lavender","#e6e6fa"),COLOR_NAMES.set("lavenderblush","#fff0f5"),COLOR_NAMES.set("lawngreen","#7cfc00"),COLOR_NAMES.set("lemonchiffon","#fffacd"),COLOR_NAMES.set("lightblue","#add8e6"),COLOR_NAMES.set("lightcoral","#f08080"),COLOR_NAMES.set("lightcyan","#e0ffff"),COLOR_NAMES.set("lightgoldenrodyellow","#fafad2"),COLOR_NAMES.set("lightgrey","#d3d3d3"),COLOR_NAMES.set("lightgreen","#90ee90"),COLOR_NAMES.set("lightpink","#ffb6c1"),COLOR_NAMES.set("lightsalmon","#ffa07a"),COLOR_NAMES.set("lightseagreen","#20b2aa"),COLOR_NAMES.set("lightskyblue","#87cefa"),COLOR_NAMES.set("lightslategray","#778899"),COLOR_NAMES.set("lightsteelblue","#b0c4de"),COLOR_NAMES.set("lightyellow","#ffffe0"),COLOR_NAMES.set("lime","#00ff00"),COLOR_NAMES.set("limegreen","#32cd32"),COLOR_NAMES.set("linen","#faf0e6"),COLOR_NAMES.set("magenta","#ff00ff"),COLOR_NAMES.set("maroon","#800000"),COLOR_NAMES.set("mediumaquamarine","#66cdaa"),COLOR_NAMES.set("mediumblue","#0000cd"),COLOR_NAMES.set("mediumorchid","#ba55d3"),COLOR_NAMES.set("mediumpurple","#9370d8"),COLOR_NAMES.set("mediumseagreen","#3cb371"),COLOR_NAMES.set("mediumslateblue","#7b68ee"),COLOR_NAMES.set("mediumspringgreen","#00fa9a"),COLOR_NAMES.set("mediumturquoise","#48d1cc"),COLOR_NAMES.set("mediumvioletred","#c71585"),COLOR_NAMES.set("midnightblue","#191970"),COLOR_NAMES.set("mintcream","#f5fffa"),COLOR_NAMES.set("mistyrose","#ffe4e1"),COLOR_NAMES.set("moccasin","#ffe4b5"),COLOR_NAMES.set("navajowhite","#ffdead"),COLOR_NAMES.set("navy","#000080"),COLOR_NAMES.set("oldlace","#fdf5e6"),COLOR_NAMES.set("olive","#808000"),COLOR_NAMES.set("olivedrab","#6b8e23"),COLOR_NAMES.set("orange","#ffa500"),COLOR_NAMES.set("orangered","#ff4500"),COLOR_NAMES.set("orchid","#da70d6"),COLOR_NAMES.set("palegoldenrod","#eee8aa"),COLOR_NAMES.set("palegreen","#98fb98"),COLOR_NAMES.set("paleturquoise","#afeeee"),COLOR_NAMES.set("palevioletred","#d87093"),COLOR_NAMES.set("papayawhip","#ffefd5"),COLOR_NAMES.set("peachpuff","#ffdab9"),COLOR_NAMES.set("peru","#cd853f"),COLOR_NAMES.set("pink","#ffc0cb"),COLOR_NAMES.set("plum","#dda0dd"),COLOR_NAMES.set("powderblue","#b0e0e6"),COLOR_NAMES.set("purple","#800080"),COLOR_NAMES.set("rebeccapurple","#663399"),COLOR_NAMES.set("red","#ff0000"),COLOR_NAMES.set("rosybrown","#bc8f8f"),COLOR_NAMES.set("royalblue","#4169e1"),COLOR_NAMES.set("saddlebrown","#8b4513"),COLOR_NAMES.set("salmon","#fa8072"),COLOR_NAMES.set("sandybrown","#f4a460"),COLOR_NAMES.set("seagreen","#2e8b57"),COLOR_NAMES.set("seashell","#fff5ee"),COLOR_NAMES.set("sienna","#a0522d"),COLOR_NAMES.set("silver","#c0c0c0"),COLOR_NAMES.set("skyblue","#87ceeb"),COLOR_NAMES.set("slateblue","#6a5acd"),COLOR_NAMES.set("slategray","#708090"),COLOR_NAMES.set("snow","#fffafa"),COLOR_NAMES.set("springgreen","#00ff7f"),COLOR_NAMES.set("steelblue","#4682b4"),COLOR_NAMES.set("tan","#d2b48c"),COLOR_NAMES.set("teal","#008080"),COLOR_NAMES.set("thistle","#d8bfd8"),COLOR_NAMES.set("tomato","#ff6347"),COLOR_NAMES.set("turquoise","#40e0d0"),COLOR_NAMES.set("violet","#ee82ee"),COLOR_NAMES.set("wheat","#f5deb3"),COLOR_NAMES.set("white","#ffffff"),COLOR_NAMES.set("whitesmoke","#f5f5f5"),COLOR_NAMES.set("yellow","#ffff00"),COLOR_NAMES.set("yellowgreen","#9acd32");const DEFAULT_MD_EMBED_CSS='.snw-reference{display: none;}.excalidraw-md-host{padding:0px 10px}.excalidraw-md-footer{height:5px}foreignObject{background-color:transparent}p{display:block;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;color:inherit}table,tr,th,td{color:inherit;border:1px solid;border-collapse:collapse;padding:3px}th{font-weight:bold;border-bottom:double;background-color:silver}.copy-code-button{display:none}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#C1DEF1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#C1DEF1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background-color:#0000001a}:not(pre)>code[class*=language-]{padding:.2em;padding-top:1px;padding-bottom:1px;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:-webkit-linear-gradient(left,rgba(193,222,241,.2) 70%,rgba(221,222,241,0));background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}blockquote{ font-style:italic;background-color:rgb(46,43,42,0.1);margin:0;margin-left:1em;border-radius:0 4px 4px 0;border:1px solid hsl(0,80%,32%);border-left-width:8px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;padding:10px 20px;margin-inline-start:30px;margin-inline-end:30px;}',SCRIPTENGINE_ICON='',DISK_ICON_NAME="save",EXPORT_IMG_ICON=' ',EXPORT_IMG_ICON_NAME="export-img",EXCALIDRAW_ICON='',VIRGIL_DATAURL="data:application/font-woff;charset=utf-8;base64,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",VIRGIL_FONT=` @font-face {font-family: "Virgil";src: url("${VIRGIL_DATAURL}") format("woff2");}`,CASCADIA_FONT=' @font-face {font-family: "Cascadia";src: url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAVMcABEAAAADQeQHdzXDAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABgAAAATAAAAG8nuKcikdQT1MAAAKwAAAHlwAAFlLMTxXFR1NVQgAACkgAACXhAABRIFkPGxpPUy8yAAAwLAAAAF4AAABgbEt/gWNtYXAAADCMAAAKPgAADSZvLoOeY3Z0IAAAOswAAADjAAABFlZAOwxmcGdtAAA7sAAACBUAAA+DV4sPEGdhc3AAAEPIAAAAEAAAABAAOwAmZ2x5ZgAAQ9gAAMcWAAH9uFaLzNxoZWFkAAEK8AAAADYAAAA2EapGVWhoZWEAAQsoAAAAIQAAACQABASPaG10eAABC0wAAAUuAAAYLrBaWdJsb2NhAAEQfAAADBoAAAwaQSrAaW1heHAAARyYAAAAIAAAACAJshCbbmFtZQABHLgAAAfUAAAZ3FI4deJwb3N0AAEkjAAALIQAAHpUjVe9UXByZXAAAVEQAAACCgAAArOJYnqCeJwd0c9Hw3Ecx/H36/3Z99uatl1SikmZlNGtJDPrh5126Jj6L6JDt0liIh2SDunepVNGTDqMItEhSWmmS4cOnWaHRE99+Dx8Dm9eH6+3ydwy9n90xnvJZIvcZdvDul1iw96wrYRJsZKYUhqzGsWc5nFBK1jRJm5pG2uq4Y52cFe7WNc+HugQj3SMJzrFM5Klc11gQ1fYVBOvdYMttfBWd3ivB3zUE77oBV/F3/SuNnbUwS99Y1dd7KmHP/rBX3eTRx5h0lOY9gwO+TCO+hiO+wTmPY+TPolTPo0FL+CMz+Csz2HRi1jyEpa9jBWvYNWruOpruO4bpuCBxNAX6C0MBHoL2ZDFwUBuyAVyo+fo00LUjWUhDnECk3G/BVoXi0myl8DMhxkzZun/mZE/IhM7bnicvVh9bFRFEJ/Zd+9aa+m9d9doRT4qIQ0KNg1BQxpCEJpqtFRSiLmgNopVtBykQb0gElMbbcrZACEVEZv6RQgQbNAYCgQJKn5ElKAhiICkIYhGDRqjaBDQ2dl5r3dbyBX+4DY7v5nZ2dl9s7N7+x4gABRBIywBp6a2bg6UPvLM4hSUpR5+ahGMg9updSKo6Xc2lMPE2Q3TicIYcGfcMaccxsy8t45ofV0N0Vl19xBtuHcmUYD//gNFPRHUwocXL4CShQsWLoBS1gBTaoFo6WMQYamQajH1i+A6NYFaHPeQ+yOA+1cUIR51ohEYTdqpZHUH2c+AdsLl8D68CNvgKLwLxzEC32IUC+ECFuEwRIzhcHRxJE5GH6uxBm/FWlxM0tP4DD6KrVSasY3KAnyBSgqX40u4EFfgKmzBLlyDT+JafA3T2ENlKW7CXnwWt+EOfB53UXkRd+MebMe9VJbjZ/g5ZnAffoWdeAAP4ko8TKULj+BRfBm/x+P4CvZTeRV/wd9wHf5F5XX8m8ob+C+VN/G8UviWcpWLG1WhKsJNapgqwS3qOnU99qrhajRuVTepMbhNjVVjcbuqUBW4Q41TN+NONV6Nx12qUlXiB+o2dTvuVlPUFNyjpqqp+KGapqbhR6pW1eLHqk7V4V41SyXxEzVX3Y/7HeW4eMApcArxoFPsDMNDTsyJ4WGn1Lkev3NGOqPxe7gJILGUaivVdqqbqXZSXW3VHsG1zCOtkYpvl9oMDug+W4dQ14c8+j0yHvHqZGQs0X1QhP2JUQDxCr87xBWXiW2XifZ4+bDLQtHH5hGWDGCcdkR8OID/DdXDAxhTllwoWCKo+9yVhaW5sp+husrvDjBWLlghOOHyMPQzMVceMp4hPEfPSs8Vp2eJTRacKlhjMGy/26CJWxa2ZcsXWX97vZZd2fr5xWac2Kys8UoGMHafvyb2wNBx0HME2HEJ/SD015j5Ca4QbLtMtP1cZTR5T1XyPsCgXcv+caPXGHs8V9bxyMEOS24bbBcvz8IOSw4xT3yvVpy6bP0l8qFtqHlzhfb58nWZweB8GpynWfHX+qicf4sEjwg+ZclLLTnAU4KtltxuyQF2yn4Oxu235NWWvFawJ1efADN/75icB+tN/vqfUv2S5H8MekUGA70XkfbNoj/p/+z/noWj5DzdKrhNzsmxIn8uuMuSP7JkQf8WkfeLPCrXXzjeQatdMFFG+BDNO011mVkvfzHN/4hgv+Apg2H7rwb9OZIPgrE/DOqfP1fiMpfG/0fwgkGOE6FfbzCw53hqvfTzvNz2UH8d2dJt0xshOI5qZRZO8qrZ3xAxWO+EnP9+lSUvyZVDBP99yped3jGDiWbBRtFPs+TaXDlAv1dk8ZdosmR7nHx2dSKnh+bHazD7NszjJOHvJi5eo9kHGhNNgqL3p5h+XpNgs/gJ9C2WLHnmtXkd3or8mCj2n/NfoHyoMuh1CW4X3G0wtFuSK9v989l56wTfsPQbLHkLzfE9kwd6/+h84X20XXC36JcYDPLLp7cqP0XtewW/EDxgMGw/lCv7j+XK9vmk14XlE4I/yTqeFvmsrPOfsg5nB/YpacJ7VXgvvcR9LjjXIdgvee4t9j03+N/148ZHdj/Ok+A+HA3uBxe/nw3tfyv7f9TMJxxXznl/j0SgTNA+P+V8TUikQmwSLJZ+VUG77OdPc/8XwnW01i/YF6HddOB7fHjeyfkYzDMYL+wfnL9yLgbneSJtzUfyJzi/B+2PcD8E51puHO28uPQ9NSvuJfnzIuc+Zq3fQH4MjGfHwd+Y+5zZ68T20u6/ZduL3Guta5afi4036L0tWLes/Ob1DP7vrfcfOy72fThfXOg9+MOCKk2jB5mfTLSCNRVuJ9F0dL+mrEmzTZpt+ljfx/o+1vdpvVOseYxw3xT7b2W+ii1rog2aFhxl+gPZbyrYQHRjgX4vr3VPaL3bzZaNbNNM3sqi5cR3cGuKPaTcd6jX19z3APdNuaeJNhsb40HbkJ8HmNet03Urxgv023+G/WTYJsOtGbbM6L5Oif5C4JRovVN8gUbHIp5DjX4iPOseI/0eph/wHHbxHDayh3n8dWGEptjLEUjzWGluTfNYJ7U3PMetSbcJMFLJvVaypp5n1cP29fws9RyNB9nmQbHRfmbx885n//NZ84RodN8k6+9jTSbawn5aeCYt3EoUJ4BLfFyvkVPMK5Vh2mrizCOm2Nsi9lNvxmJ9mmmFoTyrThNhHRnVY+bJdD5H9V3mR+h4kh/yGXmI+1abKJl803ykW/ORyVBEmuE8bhlbztV8xGM+ya2tzGcMNfnMft5mfp6mTo+OdqTbrAvru9imi/k+5veZXGVaZTKW+dlmjYhGwQOkMUG+MCLUwGn5wniCvzACDOMvjDeQ1iUt7Vu33+2Ha9wz7hkocs+65+FasnAgBjeSH3qHAXpvAXpXAR0tPXq7VVcLdgq/fgh1bRbfw0hZYOLHdDzTuIki0xqm9Yby01ebVuI9etYxMA4qYRJUwzSohTpogCQ0QhM0Qwuk2U6v0XjOk2rOkHkmAzknk8K/w3wj8zqrk3ySJPn0SPL5kORTJVmQYj8t/wM5o4LrAHicnXwNfJRHtffM7LNLSDYfJJuQQliSTcjH7uZrs0k2JIQkTSmlKfJiLi9yESmkiEhTDBQpRhoRub2YxogVESlFSilSihQRMUXESGmkiBgxUqQRKSIiIiJWRKT3PzNnn90ky2vv+3t+Z/Z5zs7M+c+ZM2fOmf1gnDEWzVssrcxSP6mhkTnmP9WymKUufnRZM1vCVuHdlUzUPTg9nSV8eHpdOvMz9v77LB58zgSzMINZmY3FsjjwEtgIlsiSmCNCHfuQOi5mvb+2MZ3VP/KhhnS2cGpDfTprn9bwcDrbO/1Dj6Sz06qXuAG9/Hs5wz5AnagPUGf4B6gT/QHqxAypk/zoo4uXsbb5snxm/qNLH+Od8+c/voRvaGp+4nG+ZUHLo/P59sVPzF/M96hyvyq7VHlElcdUeUKVvc1PPt7CzzzR0tTM+5d+onkBv7R0aZGPX126tLiC31j65Lyl/NbSJ5cs5XdXPtbyhDCATiiEjK3GnU2NIoEls1SWxsZiVrJZHvOyIlbCylgFq2ITWR17gE1mD7MPsensP9hM9p/sY2wee4x9nH2CLWbSTpayJ9kKWMpnWRv7PFvL1rF21sHWs+fY19g32AtsG9vBvsVeZXvZPvZd9j32ffY6+wE7wrrZUfYm+wl7i/2U/Yz9nP2C/ZL9ip1l51g/O88usN+x37M/sKvsGrvO/sr+xv7O/sH+ye5yxgU3uI1H8Whu53E8gSfxZD6S38dH8zF8LM/gWTyb53I3z+eFvJj7eRkP8Eo+gU/ktbyeP8gf4g/zR/g0/mGpC94itcJn8I+op0+gtPBF/JN8sXpuUuVcVc5R5cdU+VFVzlblfFUuVP08wT+lnhaocqkqn1TlY6r8uCqX8eXimpFqaxuW6BEeMSxr2AH12hPVUtwTtXZ4Ufn44VOHn59YJq/h16Ln5MyNXhITlbc1b2tMSsxaj4jZaE/zCHuBfX9hXWGdvTt2cmFd7KzYW8U9cdFxO4t78HogvrG4J35BglHck5CSsL80MeHYiKbK7hHLEx3FPYnZiUdR9iUtK1mT1JF0tzTRkeBoQ7k+ubo0sTQxuSH5EMqTKXhKmZZyBGXvyLry8SMbRx4tH4/X3tS6yu7UxtSjOXNT++6bdF/TfbvvOz5qqkeMmjvq1Khro8tGN44+W9wz+mpaS1rnmJTK7jG5YzaOOeDMLh/vDDh3VnY7u8a6K7vHVo3djfJw+qLK7sru9BXpR9L7M6ZmLM44J0eeccU1y7XCdbmuJlNkttTV4LUt8/r9q+5flXk3q7m4J6st6/qDPQ/2ZN0d1zy5atwz425l23CNyl6cvTK7I/tSDsuZnjM3pznnWM75XF9uQ+6W3IN50XlpeeuhyT1u5h7l7nRvc9+E7hM8yzwdnhteu3eOd4X3uPdi/uT8WflH8/sL6gpmF+wvOFnoh6anFR4oPFU0uWhW0ZGi3uKs4uriLui6zzfd1+Q777tdsrxkTcn6kosld/3z/K2lBjSZXtpSuqa0r/R6WWNZc9mRsrPlXuhvcvmm8t3ldwOpgUWBNYFzgfcqJlfMq9hfcXK8f/zU8VvHd1XaK7Mr90Mnp6pcVVVVHVU7J7AJoya0TGif0D/hVvWU6qbqQ9V9E3OhpfqJGyburRE1aTXLajpqztdcqxW1jbXNtcdqz9f5oLOpdVvr9t1v3O+8fwk0t/7+O/Up9W31m+pvPGB/YM4Dix9oe6D3gfMP3Jy0ZNK6SRcm3Xlw6oMLH+yCVvsmF0yumjztodyHJj0066GrD12dUveI/xH/lKNT1oIuPex4uOHhxQ+3P7y1wYbL0VDf4GooQjm9oRPXzobrjySifusjnY90Ko/D4XsF/MIk/jQ7wL7H29hB+IK17FnWxZ/mT/KlfDlv45/mK7BGH+Yr+VP8R7yb/1gkC4swhFXYxDARJYaLaBEj7CJWxIl4kSBGiESRJByiRSwVy8STYrn4tFghnhIrxWeMdlu0cVxcsP7N+p7179Z/WG9b/2m9Y/2X9a71fRuzcZvNNhyoJoHS2Cw2lz0Kr7gG3msfPFQfewc+xQl/UsPr+BT+GF/Cn+Ff4c/zN/gx/iY/zk/yn/FT/Oe8l/+C/5K/zc/xC/xdfpFf4r/nN0Sr+KxYJZ4WbeJzYrX4vFgjviB2W0qNmcZb1j7rr6xnrGetv7aes75j7bf+xnre+lvruzarLQo7h9YUFykskzXA685hC1kLa4WmOtkmtp3tgd6OYoc8Cx95ld2CL0zkqUCaBY9Xz6fyRj6HdwLZJX6D3+J3RQK80ipbNLOKj4uF0FOrWMsM8Qno67Piv3C3CHpbJZ7B3Sehv6fFf+NuMfTYJtbh7nHo83Pii7hrhl5Xi3bcPQH9fl48i7sl0PMa0YG7T4nPYIRfgpRfiNPit+IiJA4Tb4uz4nfiz8aLxh48C/EblBZxXlzHqyF+JS6Jvyhkl8UfxN+MvfKef4a3ip+LG7i3iU7xR/EPcdt4U7bmnxVX0cefVE/XZGk8i9Iu3hDHRK/xReObxsvGLuMV49vGj4yfKAk3xT/FHVXzgHw2vmpsMA7iLlWcEb8W58QF8a74vfireE/83eg01hsbja8bm4xvGFuN7cZOo8t43eg23jJOosVY8ab4iTgu3hFXxC3jS8aXja8YzxlfMzYbzxtbjG3GS8YO41vGbuM147vG94zvG4eMHxg/NN4weowTNoH20eItcUL0iX7jBeNV47BxxPixGvlPjaPGMeOnCuPPVLkOZZToESfFKaPD2Gd8x9gv+dZbNgssI5PPFR8Vc8THxFzxqJgn5osm8ZhYIDaKTeIb4nnxgnhRvCReFt8Sr4hXxR7xmjhgGWbJsXgs+ZYCS4ml1viI0WR9G3s/AyVixx/PprEFsC/07qtXZPHV++prr8qdUFqjr4gZviJfUe2Z2jOKZ6mdLS/Ga49SNAEeE7WTarGWfDbw95hcXlvEePF1Joqv125UXEP3WnyWWYrPFp+tXa241pCPGNcNLXxJzn8kjLVViizFW+UVxFiby4zidn1pyTUH5QU5KwjjMImxZlvNNvDmaQJXrjhe047nBmBsQCm5w3WvNb2QUyYv6sHEWFzEMKvGfoVxGCK7XERL07FSVyHukT1uUGSZiBAKEgllzWpmVF+tvgo/3aF4YsLyqungNzNL9ZnqMzUrNfaJd+QFfhNhj5F1J16aeInx6t3gTzW5fOIp8DYwUb2hJqC4dpKVgj7bqttqXFTXxO5ADWA/RBqOgH7iGUWWsrSK7IrsIPqJR5lRFlWRKC+Nvupg5XPg72WW0puBu4G7hL5aXowHLhP6OIU+d2IueL2awI1XkhIZL93HROBQ4JBZV8qaiT43B3YEdhA3tINo9N8Geg5f8rx4zVIQ2VLK4xRZyuPkFRxF2W2M4ra+NN7qDnnhnUuEd4TEW72iegV4pzSBmyj7rIbVlHUxUdaFUnKTqNft0NZ2eSmuw8TLy9be/ZXCZ0Wk7UIONZnNVj2tVCSqV1a3BbFVLwSahdXN1c1kHTcn3AR3NuFKke0mnAenDjTZ5MmWBeipoNqveCND2nJOgZ2KsJnOZgE2BQiWYKdDb5WXFInKS5WXgigqTzNL5Wl5KQ6vhS1XYk3KCM2sgzmv3Fu5t3YNIZ0yYQq4WwjpfQopVk3lOk3gjaKWy9HTcpSSNzqkp8pZ2Ikj6Cl/ryKRv7fyQFB6/hZmyd9Sub1yO9nhiaoT6GE9SR8j21Vh7edjBitXmTzZsgk9NVUuUjxnSE/pF+BzOsN8ThYyoMlKTxKDV5HI91adNjFgPPmjqrqrtE54FWY+Hz3lR1XtJVRlVdBAVVAn6aoWVqP3Al7XmTy86z3JhPdkldZJRhiqg0D15UGopiAiaFH2fUCRKD9QbmqmHHZYvl1eGkNFSvkNcNej1vry9ZpXuQXzxMtXEa5MZQfAU75IE3hZ1NsMtJuBUvLGheaqfDyruQcmlyJR7hofZWJKAKaEivcq3tPyA6vL52Bd3MUqultxkTBFV2I9V5wiTDmyr/HvoVYfuIdMnlxpsMSy7oqdipcb0pVrhfTI4tcDLL0BuepyZKToraJZkSh7pqI5iKwCFla2vGJ2xWyNovxy2VFwsWbKmlAq7zD+RPnpMthgRRm401CqmuNnjZ8FXjrhdSu82P3KssG1mzy8G7iFdokoJc8TwpvRo3aQjffCGzisSAQOoyS8gd3MEtgtL8IbKIOnCWxCrU0oNd608qwyWXctuGtRajvYVbELvCWEN19pBOs6MFsTeAUkYzLaTQ5o71IYmvOAly+5J9ZERSKQWLHfxIrXAKvYVqF3P1HWXroQtnANqK9VdGqsFUvKVpQ2gnsW3LMVrWQfcifhFQsIa7GScAW15CxMN3nSsjaj3eaKasXzhUUQqUq3m++Ft3yeIlFYhTJopdOYpdBdPg2vCkXpOT88SHk1aqWiVHgDR0p7/Fjn5W5wDZQa79QA9uNyB+H1K7zjGS84C26IJ20X8WvBMZSSVxpmu5cU3q/fC2/ZPkUi0BhoNPexrcBTJy/C6/XL3aYDtYoCRYQ3oTS1BDtIGfaZQFogjaxmSznWf8BGeMuVRuT6v6EJvADJqELt/vJ+qmfizTyo8G65J16hSJRvLN8YxFt6HV5grbw0Cn9ryUxw+1FrWfkyjbd8rn9hCWLQ0uPgzi2fS5ZzrewakE0hvOOVBKnbMk3gVZKMdul5yl1Uz8Sbe1bhfeFeeEunKxLj96MM4q3BWtpWWoNXhaLkhA8+pxT77PhOlApv2d6Sgz5EQKWjwG1FqfFWl8EiSw3CO0HhdcM/QIr/usnDu/5zaFeNUvKqQ3j9ZxTerffC621VJPzb/GZs6V3ELP5OeRHetGL4HO9M1FrlX0V4WUlU8UVw68Fd5F9EltNRiujH30h4a5RGEJ34azSBV0sybGjn9XupXmifyla+99174fWcUCQ8J3wiiNfTxSyeruLryA0UCt/iYvgcz07U2lncr/GWTvPNLEZM43kO3OeKj5Pl9PthkcX7Ce/9UoL/OGph70JGEORJGdi/PDOQEUhefVgMKTPI36oIUiBzej5S3OE/r0iUVKMkzP6TzFLi9Z/Eq0bSCK1x/yFCMkm1g15KkAP5d5o82RIj8N1AKXkPhmmuWc30SxERzFEk/HN8h0wEDZjlBt8u3y6a5d4SRNO+jYTgIdmuBDuHH/uQb43Jky3hn/2JviWKNyWEYCx8krGTYowoxJO5WDkN2M9lhLhR9denSJT0oSQcJUehiaPyUhxeDI9SAg9Vsg+l4hQgByzZCs5WlIqTvQkc+KeSjhLKfkocJdi/SloJfYOSJntfqAm8R0heI2o3opS8qaFdqSTAWyPprsSlSJS4vE0mZsQhJQne6d7pZHEbfNgBvTUkfZps50M26sNe4/WaPJkBY/S+Pm+q4v2fsD08Drp7mXQ3CIFvqyLhueDbGkTg64DNn/J1+Gj8PocP4/cFx/9h1U7aLfZq30KTJ1ti/J4NPj3+xjD7aVf2sy0SAs9cRcLn9DnNVTcV2b1dXhpB8fri9Zi924RghppLRMzFlzSB93+ppQO1e4t7qV4IQbRa+8cjIXD3KxLu/uLNQQTuE8ziPlG8rngdIUgoTgjL0j8i2xUh93Uj8ytuMnmyJaJY9/riaYo3K8yCn1EI3oyIYLYi4Z7tnm0imAIEU+SlERR1FMH/uQOEQLUrgv9zZ2kC76PUMgE9JaCUvDkhK8y7yZIjSc/rVySKOos6g9LzMP6iVfIi6QlF6K9oMUmfK9sVYvxFMzWB9yi1xPiL6ovqqV4oejitxn8iEoKiOEWiyFHkCCJA75YiIS+NoLCjEOMvvE4I5isEGH/hOU3gNVFLxN6FPYU9VC80A/XKCo9FQlDYrkgUri80YwH0bilsK1xbSLFAob0QMXPhMkKwQPkP7F6FmOXCuSZPtqxB7UmFDcQbcCpgvGGL1qcC+qxLobHgnXQVf4mCHQWwqcI4krJQSYH1e2HnBbdNHlORm/D2Flwi3uCzh9fo7OFFKSdyxliwQZFw3nbeDo66ABm387K8TA5yJmefs6+AbKHAKDAYdwZP1RbJnvIRMTj3agLvk9QygL43OzdTvVC+v1HNxHcizUSBUCScCwrM0xD0bnE25t/Jv6MR5K/OhwfMv0IIHlcIkDk5C/DaZ/JkS2SezlH53cQbOBPfDZ8Jo2nwTOSn5aehhzUk5QklBesoHXFN/hKTJ6VMg4dZmD+beINn4nskZdiQmTAz0ny7IuFZ7lkeHLX3Nvxwk7z0qPOu5yJC8V5Greke2h28K7wr4PWqCeOnVNwFf+RxawKvhXrbjXYpnhSqF5qLJuwOr98re/cuUwTf6G0zcc2TvtHb7KXzn7yZuYh+vNCBu8tLOarnvAeRiXcy4VoWjK/c0pL9Jk/2Bo/tXuVNJ95g3f2AdOe5t+48pxQJ93jPKXMHOQyMuZ7DHp2Vitz9OZ3gQgfuFA/lpZ4qTxV4wahkueoLuXoe4njPGpMne1uCUZ716Dn/dAjjmFxlx4cj7mvjFYmsZzyTTFS5zJK13OP3+DUCd5e7C1wXIXhK7QVY/VnYPTxxJk/6dGSkWVXu28QbrKXdtNZfM7U0eIfZrUhk3s40V7p7E7NkXpYXofG6EU9k9hGaz6h2iCYyuzWB10otsV9n7sncQ/VMNGnXYUuvRI403G5FInOF220iSAWCBe5UvGpL2pWHmMIdzPlWqd0JPioT0WreDZPH9H6V6c3TOd/TYQh0pPpqxH1upyKRtzM3MYgAvVvyNuQinCQEuXmwgJxrhOBzqh2inzzMfc5ZkydbYr/Om51zTPFWhxCMhj0b3ZF1kJetSORlu5aZCBxA4HDNc80jS92RCwtwTSME6vwzF6smF1bpqjJ5eFfmi7lnXfp06QthCBYBwY/+X7Fy7hZFIndL7pYgjtx2Zsltl5fJwf6XuzJ3ZXaLycHOk7swd2HmapODWCx3Ru6M0eQLci7nXAa3ntD/l5SWcxqcIk3gPUMt0yA/DaXk/XcoSsFwvjrYE+esz4EGcoLx3xdVr4j/XDfxesnk4V3Mh3Cdz+kl3uB18n3yJjn3Wic5axQJz7QcMxbKgZfxVOesyqH9L8fIwf6XE4yFnlVZA/Y/D9ZKzkyTJ1ti//MYOfXEG4ymh1bty/dC47yhSDhvoCQ0zvPYC8/LS6PJXp69HNyThOZLCs08cLo0gddJLXegpx1O/VnFl0Mad6672xdR+jJFInuay4xKnfD92dWuKS6KSsfdGocIyBWMSr8i241D7p4NXbiyTJ5sCV+ZbbgSiDdIF/yzpIuXxLfEgUhoXE2KhKtp3JUgGtd0ZnFNH3dm3BlCs2gcooxxxwjNVxUaZAEu+LVx+0yebJmKnlLHbVG8DWFodJ4gYwjk3JFnJeOsIpFxFiUhyehhloweeWkkWeezsP9lHCAkatVlYf/L2KYJvK9TS+SaGR0oJW9TaFYyWlhVJOlj7ygSY++MvROUPvYKs4y9Ii+SPi8LFjD2DEnfrKQjHx17VBN4z1PLvehp71gdtW0JSR/7HH8iknRax8J10nXS9AFOzMIheWnpmRczYQGuXSR9q2yXiT3atUETeN+k9XERPa12raZ6oVxhlZqFv0dcoXsUiZw9KIMrFCPM2SwvQjAvE+PPWUcIXlQIMP6c5ZrA204t56GneTn6U9aXQuPPmYScNoL0zCpFIqkHJUnPdDNL0oFMdyadtLouujD+zFSS/rKyXow/CRFIpmHypBViv0xqdenTtp0DrVD8k05+DlBkOggJ9mJJAtQaRKJi8UXq0khmuWQGOpOQ7FJI5DdJ6okYe4VaYk5B2kPvDumBOcI+f+LMZmB/Vt80k4gMFod3C/RZnMr1NAXRICIE6ZNqnnESnBpCsodqFBAx9u0BMovDZfLXpEzjIxFk0jjSa0yZfkTiRelFJBOjT08nma9RjUTw4oiDfi1hJ9xS7+p7FNA7Is7SoRIzFpkUXPmzsH5noVQS07H7ZQTPgL9DNQKacL8/bH07efhqTxC/Giot/Y4mVh+Uln4VKP3MT9KQ/yIW1tIOUI3jeoyKI/U2c7B3M46r8ZXgnaES12lyXjMlrsSu0e/sJ4lRYXvNQaoBCc5DxBmoy7dMXZZEkOUkyjJlxWH2HOn6DICPRd6YHjyf7iJ/dRV0gzgDZZ0gWfmRZI3dpynVjH7HbmMi9UrqFZIFy089S7IOUY028HqIY8qy90HWT8LyJRfzsTo2XZ0+8DFVJpGcMV7kCV6USo5c62PSFAXfR9Y3xu46r993wguk3SEch3WNtCuacP/DkMWknWIPhD11Wz4+dNRpezQ5zU/E0xD1Ofc56fTTiRzFuY2k/YhqwK84O4kzeF+8ojzSi5b8yKNPq9bkMuPrtAJ4IVy0HjFzaU71GnwfM55xIU1n+nwMvEtGL+H5sa4xGjOecYQ4oRj3isLzx6Fjjss2iWTEpTARl4JSy4D/iwtmGG/oGrE3NeH+WEinsWeZO+zpBN9h+uF0eMoajBr9xR7QJFYG5cUizhKLhPYQfATsNBa7niAPkQYJIugheqgFIi0RIM5Aq26nXWB32C4QLj2gyZJgSkecZVG3SjpmPxaxmLhO0ifj/jxJP65b2N8D7yRxBkp/lqTvIekDNG0/pGmUaV12ZJij9o0i6xp9Du8FresE1YBvGdVJnIGy1gd9RURZ0zSNvmXKqoEVXB59mWQhPxsdjHdOUg1Y2uhjxBko6ytBXxFZqzEXNDlOBKXF9DLhOOQwP+GI6cbz7hj6VsUo2LVjM0k/RTUQzzjWEceUPhy2aHwxLDuUUidhh0Yv8Z2aYhYHpcS3MREzO8aMvuOX4LmBJajeuNitZCOeiSkj2b1UD7Mck0WcwWv4pJrRVyKPPH6Vpmjz9C8eGXX0megz5vMcPPcgWlMjvw/Rf/RBkn6aasD/Re8gzmDpp5T0VyPNcXA3TzSCsuRuPuLmiJskqx32fJFk9YV28xG9xJE62TNQovg5WfBLeCd8vHWsUfaZnGoSyUxGy+SoZP29EJHSmozdzXFLkUZhw33wO1hndBvHaU24fzvkMRxdbGLY027LkkgIHBs0jTSjOMdaJkYuHqmtQCTfdmBkDszySG0HPBU56sigB/k1tZkOXoA4g3V+Tmlgk8UzwGvXQ746w3Y4NKWan344DOyN7anthGCFoxHRK/xjqokx6QJqLErR2Q4fCftPnUWI3qEa8Nmpk4ljIrLsUIjeiaSJpHZNqeZ3cpIQ3468NVJrXjiuJ8FnJC2GPFr1IxH/jAyeV/2G2kDmyKPEMeVGrVdy+4daXfQuTSPNk5DoTZDaMbKDZKSAgt9C+i3VWAHeYuIMjq6eU55l2KA9sh5rXJ2UJ7ebFLQ4jDK5NZm+V+KITrwE3mJFkmNJuZ50KxHWlTxLkUKVgtgkeRKhepf68WvC/cWQ3SWP4k+EPdnFbyLjctzUlLLBtAJkZylrU+jTj6SWxKnaylOWE66ZSXMTsdYd3eDpM2qejPg3JXh2dYn6QRyXUk0cU1tilNLW85HRwLsrciww/T0yFMcMxwyNJvHiCNiXPR019OmqJfl4Yq/c7eyI7R0UH0uNOdIJzWXyy0DoiCPO4JVyQa2U54esFEIVs8uk4D4AW4nZFLOJUE0dgYghZp0ijcqfWDUC/iVmhSKFygHrjAl+Z/YK9TNdE+7/GJqtmAC7P+zJbXl8qP06+jUlzDDn7SQTCZMSJpG0GXgvuD/8iWogw0vIIs7AnfFF8pebyH4H7Q+OJZoSzezfMRfjPpxofvvLgawvcY9DZyw86QzqBr9b+GeqgYwvsZ04A6VvN/OFfPNbGlnYBaSvatIn9EnXTAp6iX5YZ38SZSgy3ko6qUg9x0mfcViRerbJ9/co0gjLQEGEf6EeyRPh/kZI/0kt/KmwpybyYgNmI2maJvt6Ex3iFPtquz4x5YmI7+wtJO0m1UCcYp9LHFMffCb08U2KFAbGQgWaEs3vwiLSEYl9iX0kowkUPAN7j+wLWWTifuIMtvqfqhl/jfKmwbHQEU3C/FZFzF7UPiaOaWnigI51xAHSP9a42EHSb1ELRBTiOeIMlt6jpUeKCGLqNSWa38eJkRHBjRE3SBb8/4gLJOs21ZARwSniDJb1ExppfoR94IxJwX2gR0Y60bTHjYgLi3TuUI0dZqTzr5BlRLeHf7M6epUlwslF9CJNI8w8MHoWRmYfob/xwBOg0YRgHvg+1cD+nnCFOKEdtVWN7K2hMhIOEplrM2EnPMOeBLL8BPjuBLJ8zqnGWlA7cQbvbEfV2iyIlF8nNGiKM08q0LuI88eRJ47HjMTRSQW3UI1R4CUSZ6Af2Ete6EU6gR0gK/68ptCpCHoPOxWJl9/HCMqyUo09jE5FuPwNBzeahoxunx5dJDtEDKwo2sxbVRR8IfoC+Rh4iWjKW/mwsCj4CHEGjm6P6WMjjU5oEqOCstC7ENEimmRhhjh9EsLpFyBx0C6/TJyBsg6QRx0WdpYdFnPFPafJfteUtgb+6ppde1cR0xqN+DcO+amd/CtyZ24/QfJjqI30eF3EGSi/y/ToEcaKnFyTy5Rug9UkxunzAx67CRz6LTCP1TViEdvEXifOQFk/NE+AIsiK3aXJZmaQ6F3YLtsoloyFR7VRBsnjqQZ2bdsx4gyUtYvmMPi7jvCdapH+ZUcwN48NmBKRm8fmxuaaz6l4To0J5e7oPTYqytSG/Rbm4lYw37MMU94f828nn8dHUL1TmnCbGPI89gN8fdjTTuQBQ/eS5zQNM8/S7Zj/YVuG6WiY2xG7DOsgaQ6qMQ+8VuIM1MpBmoGcSDNgz9UUf9OUhfHHX4zX367nMYhK4k+TLPrFSAx2q/hu4gyU9SbNwMuRZFkOagr5CMvOcB8RUxPmI1KpxlrTR8jv0HHxypD9409M55KvRJA4SVOYxLJwidEnwyTSr0wsDlPiKCXx1SESr5HEV4dKFKc12czzAXEUbRpsDSRxNt6rIolpVGMbeG7iDMyU/xz0SuKlCLIWaooyowCB+CTqWBRFAcOxIqPo0y7upBqIrKK2E2fwuP6qx0WR9gBZ/I6mkCb5gFPv4WvCNJlONcxTb3CkJp8fNLrrNLrnI42OrzMpKHElIrCVfCVJRM98EUl0UY2ZmnCbGVplvJo9EvZUZHksgrQ0TVbznIPbYc83DTrnkDoz6JyDj9M1kCdwo5c4g3V5lWzkWxHOVPZqsponV2wrE9bd1t0kC/7JSidXnH67whCtWdcRZ6AW/0JafCGSFoPnN1HppixEa1EJUdq/8WGIxGVqr3rOY+b5zbBrxJHz9tKQ0d2k0R3433/mNEx++lVDEj1s0GdO3BuaKebgHWFPNhUpcktthHV+TpPVPBu0nIBGD5GGuQ3xr9KulEC/VrFg37FuIs7g8Z1h+rPmCCvBskRTmE+ZG74SbGGf//AiqlFtroQipdHXhkjs1RLxztB1ftek4Dq/Jn/HLK6RRPmb736S6KMaJzQx+bVoU4diH6sMe9puaYkgrVOTxfzmr2jD7hFnoc8DpM4UEtl3KdWYA7pKnNBpwmw1sgifoalzZpDVjILZIczXHitFwVZ4KWswCi6nGpBrbSfO4Djxa7TDRcgh/p09qk/egvZYMcQeQ78FkfbYPMAe31X2mBMpQ+NnNDHzVzccmQtshnJwhv2dH1SrUaOoD7OaKmqxwbSaKmU1mwaOW/zO3B1eiHR2zRs1CfM3frwetXeoTFBiSADHj/c3qF45fJW07y414xpJtekLuWgmzmDL/b32PpHWijrp7g1fK6w7fK1YpoaNusb0hcFR1yhUGweN+qL564sX/vezrc5dg7NdN2S2w052EDs+GPZks3xSofn/kbkwTOYDQ2ROGiCzfoDMJ5TMb0T+ZM8W0MTM3ynYEMvC4kybs6VKm7Ol0nz7ta8Iap+fCtP+ZN3CesnU/mQl+8VB2v9bMAsULw/VhHWHptB8WzeEzzefEyZxCtVYZkqcotaThw22sPeYjikjWJjVr4mb392zZiFKaOJ09smuqjWgJTZQDWRymHvNGSzrFsmK4EmMHpNIliF/ZXvQOEiy2sDZSbKmUo0NmnD7odDMGq1sethTs2X+AGnq10DqO+qaglY1AyhnsBkkTeqMTpu5/GUJl/+QMci2wqTAtsItzWZpVPMb2sH9wH9U9SwjYBn7pqs+VD1LgSpLVJkfihNYaqgOewf4ZN9dTH7KdBqv8n+XXud2ZIWHeTwykyN8Nd/HjvEf8R+zv4sUUa5OiLgh4/A1JFn3lqIwjGYZbBwrZ6+jt1+yX7PfsBuR/sNC+RLtx/Ur4/8RNrN2ZuFL+UpDnqlZ2Dv8MUtJuCZYskTPQ1FhOq0wWSMbpPYATr9mAUbB0vTvh1WsKdgdleEb1netF62XrL8Hh1v7rHQOYdmviJl9KL1Z6DNYeaLIDK0zpZsupZs/Kt1cCxtDLhvB/sWj6R9pbt3zP2lGSDT0PzFv3+OfYuQ4pb2nhWU86uSZzzLxBTP8/5T/SWb9mw33kGBjsbbhkBP+rwppLEb+K4/6T54u/iRfrv6J5yn1nyMx6v9x5L/j7GN9fKT6T5wl1rfDWsdh9GvZs/Kfe6QO5b/oyH/NYYY5P06F1aHe/S7u5Z5hYL0LpXXB7md3zRHpLEewajU/aq/ijxJviupD/X6Nz1O2/80wKZLilB3Eq/6T4AUivq9WriHXIt4Pt6JpqvUbYWMrYsn0T0Qf4H+I0CaZ/ifoA/xLUJjkU2H/0CH317ywp/3Ktk2M7/9BjfvlMN56NtbUnsv0K3U0+4+r+p0m3038ZmnjokV8Rj+b/b+n+K3iC2q/0r1mqdZe1YNuvUTNG8eqDvabZr4j239ULFDPgs0dkKXCVvjTvE2SmgO5476OGqFZctCrYXwCa96pYgfOPhLWRxaL/zdrCOsR6+e3CKfetb7L7FgxVlh9FNZNXPhY78r/yuDGWwNsIFrp66P/AwwX9+UAAAB4nGNgYdnAOIGBlYGB1ZjlLAMDwywIzXSWwYipBkhzs3EyASkGloUMTP8ZGH78ZmBhAINgRy9HBgcGTu3TbAr/FBhnsu9kfJDAwDj//nUGBhYV1h6gEgUGVgA6XBKoAAB4nG1XBXQVyRK91VUVCE4CwcPkQRIguLsFd3dd3N0tuLt7cHd3WNx18QSS4O5O8jvAcnb3/J5T1dX9ZubM7ddz7x0ABgDbSGQz/eglroftvyAIbugLd2RBPgykQTSRptB8WkQb6SE9pSiTwuQweUxd09XsNcfNSRPCwnHYg1NwGk7HPXggj+FxPIkX8SreyCf5PF+T5JJG8kugNJapMlPmyhLZIjtkjxyU83JDIuSxvIxXxHu49wLvz05ix9txOX5OOierk8PJ7xR0CjslnM5OH2eQM9pZ5Cx11jubnW3Obme/j/p4+iTxcfn4+WT2aeQz3Wely7jcXPFdHq7EruSu1K70rgBXGVdTV4s0CdL4pNngO813oW+UXzK/on7F/Zr4NfNr6dfW39O/lX+HdFEBWQJOBJyOirJr4A4HWZEfwb+wB9MGekBP6ItJarL/wr7HHLPYrzPY7Rd2P+5usQ+z2CfwZF7Cq3kTn7LYISkkrRSQEjJJZsgcWSzrZbvs/oH9uoTLI3lhsQdZ7MGOp5PEcX5hz+7k+429u8Ue5AQ7S5zlziZnq7PT2fsDu9cv7PV9Jv3GntBiT+by/oW9iau5xe5Y7PCd7hv8D+wtfmFvnw4BHgFHA05FRbnZXWEy2RVA5GfqE3kI/2qRlyNnRa6228af4/ycMRfMCXPIHDANo4Ls78ttDI8cZvPI6Ar43tvGHPynffv2Pcvf9bvDQNhjIDw4ehTeM/xGhMe9rOGjwlvbo0K4V7hXmAl79O/rI+pH1LC5ULhnRMGwfPb6RWGFwnKGZbTVj+cKixcW9+6T6OquF3CnOxByHAjNHZogNH7Im5BXIS9DW4YE3n51K/D3LaPfgE+2S0Tzfk5wDa7FdbgeN+CW3P7XXOsfuSV35t7/fJ7oEQ/5UdnM42xMs3HMxivxk4ySWbJKdikohaPPie6lqBS3VXSUs/FFY/53jf5u8k4+yCeNqbE0jiaInvmZf1SxfldxokPj/T3/c/wz3LL/v/u63Y550z2Re3L7H0aZ+eawWcYxuJjUNUfMKrPaLGF/M9tsMrPMCjPHzOXMHMCZzEKpY1cqOVLAB77Ig7wojGKohCqohjqoiyaWN/pjAAZjNCZgERZjBVZik1lnVpr1nMts1yfYgyv4C7dwB2/wFp/xjdwpDsWnxORF3pSX8lMBKkKlqQI1pibUglpSJ7NGmpu1nINhFliuSWHfuNTSQurrI2lAg8wBzmk2S0N9I005mxllRutTLiz1zCJ9a0ZSkDloppjJZqoJRkLLeu5IgvhIjKTwRnb4Ib3lubIIREmUgguN0Q5N0Qy90YbToyemYSImYwpWoR+VxGnsxWFcxEmcxyVcxzPcRQQeEyOSQITblIrSU2ryodzkzxkoJ1WjilSZqlArykdt4Imzlm33Wa49h5S4itS4YZnmJlLhGtIgBGkRipx4AX+EWf55glx4iXQIRwF8sFz8DoXsHi2IjyiKryhimboixUR5ckMJRKECxUBpfEdxUlSm2KhKcSkeqlMC1CQP1KCEqEWeqE2JUI+SoAElR31KRknRkFKgO2XHH+SgG2VDH8pjWb8ggqgwBlEhDKGiGE6BGEbFMZSKYRyVw1gqizFUxvJjI8yn+phElbCQGmIe1cMCaoCl9AdWU2uswWbqjK3UFVuoC5VCBwrADKphmfU9elAOeOECkuEyelEujKASGE/lsYE66BW9rC/1sb7Sd/pan+l1vaG39I7e1RC9plc1TEP1pt52U7cYJrP5brKYrCabVaWcprrJZXJbfq5n6puqppapZmqa2qaGqWPy0BgaS5tpBK2mVbSW1tF6WkErLbNPoUk0j5bQEBpKw2g4jaLRNI7G0wTL/pMt+y+w/L/Q6t9iWkbLaSmtsUq4iY7QUTpGx+kUnaZzdJ4u0EW6THfoLoVTGEXQPauWj6xqPKc39JbO0Fl6RyfomVXQF/SSXtFjqyev6QpdolC6TyPpJG2h97SVPtA2+kjb6RPtoM+0k77QLvpKu+kb7aHvtI+iaL8BHTBEB43BcmqOJdQUy6gZEuAUPHAGsXAEcXAMcXEc8XACsXEUgv1W1Q8iBg4hJv6E4gCy4Sly4Dly4xUy4B4y4gEy4SEy4xECcB/lSFCGDNpSOrSnDGhOLrSktGhFvmhNfmhBadCRMqIzZUYXyoKulBWdKBOmUlVMp+qYSTUxm2pjDtXBXKqLWVQL66gd1lJbrKf22EgdzQ7rIfaZnWa/2W0VdZe0lNZmMcditY4iISfixJyUvTk5x2R3js+p2IvjcjxmTsnJrOp6chJOIG2kEZfiQC7BJbk0l+GC1oU4XIhzc1HOyC7OylnYl9NKUn4jvhwl3vxJUvNnScHvJSV/kCT8gO/ya/HiexxqGTutFJF8HGkdSyHJw98knZSXvBwmZfihZW4j/lJOcvMdKc33LZeTJBaRDBzBIZJJYvBLcYlKgNX7XJb3Y/JXqwBuVgPKSk4Ol1ISy2oBS3p+ZP1QFnG37sCDn4knP+dLfJWf8m2+yE/4Fl+Q4pKD/5Jikp2vSCUpyTekopTg6/yYb/J5qyDZ+LJUkEDrMOJIbIkr8SShJJD4kkwcSSWJ+C1/4Y/8wnovH37H37kal+PyXIErciWuzFW4qlW3ulbjalulq2n1rj634tbchqvzDJ7Js3g2z+V5PJ8X8EIOtm5uMU/laTyFp1tvN9k6u618gA9bj7OND/IR3sP7eDNv50N8lLfwDv6Tj/Fe3s+jeLT1Q/14IrfjvtyH+3Nb7sAduZNV0W7WMXXhrtY1DeIgHmy903AewSN5CA/lE9Y5nuLjPMA6qaW8jJfzCt7Ju3g3t+eV1lmu5jXWa/bkXtybz/FpPstreR2v5w18Ri7KJa0ml3WKemp1uaKbNYd2k3c6VRNpDflL/9RAHaqiSzStNpf7ukVzand5r9M0sdaUq3pKy+tYq6drNKO2l+e6Rwtqf/mu8zSVNpRQPawldJiqLlVfbSEPdKvm0h7yQaerl9aSa3pOK+tETaAbNKt2ltd6QItqkJIGq482lXA9rmV0lLrrSk2vbeSJ7tR82se6gNmaXOvJLT2tFXScxtW1mkk7yAvdq4V0gETqfPXWRnJHj2hJHa5uukz9tKU81G2aW3vKR52hSbS2XNcLWlUnq4du0uzaVd7qIS2uQ5R1sabRZnJPT2o5HaOxdbUGaDt5pru1gPaTbzpXU2oDCdGzWkknaHxdr1m0k7zS/VpEByl0oTraRML0mJbWkdaTrNB02loe6w7Nq73ls87SZFpXbup5raKTNKFu1GzaRd7oQS2mg9XoInXpHxKhJ7SsjrYuZZVm0LbyVHdpfu0rX3WOptD6clvPaEUdr/F0nWbWjvJS92lhHShRukBTa2O5q0e1lI7QGLpc/bWVPNLtmkd7WZc0U5NqHfs90V8GyQAJst8hY60bH89zpKMMlT4yWnrICBks7aSfdJBOMky6ynDpKb1kpLSXIdJbRkl36SxdpJsMlL7/A5avJe8AAHicNY49agIBEIU/2XULa8tUYpU6p0jtCbyDjeQEEuyEkCI/JKIoYqIrKuqaXSVs/hSM2UqClZXkACG4eVkJw8C8mXnfTHxFMn66TzNNEsLtf+6Owq+//l4zw8dRLGkqfBI44TdFVXOu1G2FP5rmeKAvVSCgxzlv0lM6VFlJ3zKKndCWcnlho5nPO3d05cyLVeaeAY8iBmLa0Xwp5zUNKYeJ+HXt9PF4lXOtOzbP+i3gU5weY0pcyPcUMaq67KpeiHFDTbtDpvrgkooo3eiLDzZGyjywPPPMOLSOrayV+QWU4mJ+AHicjVfdb9zGEV9S932n4GwErgGq6BJbEgEo562FrBoJodOd9dHaJ93ZIWW7IY8n2UqT2Elby2miVnXr2ti+t+5/sbRfpDzFD/lj8leov9nlnT7gBiWW5M7HzszOzszuhmv/efnvfz3/x7O//+3pXw/+8uf9b77+01dP9h7/8Q+///KLRw8//+zT332y++D+zvY4G6XJx7+9d/fOVhx9dPvWcLDRv3njN79eX1tdud5772ftRn3eypuNjuhsN67Ms7zRRLd5Zd5SlY6qaqS6GXAVbkTu+mbUXXZcN3aEq0JV8rr0pmOZTQgxRGAUxkLE+kCsb2xFvCsTTQRmeAYy9IUpregpuzOMVC8AdAq+ruEpuHKOvDohC65YX8pxzmY84EMnt3Sn3PlnjJnEQo0C4YpoG7x5jbXcYdJBrzXpWfw6JPLDNhvhzT4Sh1bR24oUT3biFXAz21O6DQ7ZL8QT008UzzhXFU+M+pF0lZUIp4A3I3jMSh3pCpfH8eHxmzniFi5k2WwpF9aLjTy0Xgy2oqM2Y/zFMHplW3YnWYrzn4MWHXHGQo21CUtIAjgBbN3Cyryya5rfOQoZO9DUkkZoOMMsNK42wVksO7QNrm0U+VpRyGxQSoYSTrhLwNUM7sBwv1dw10BpE+VbZluMaaJ54CWsTNgoh7WwHrbsWRtrQahXwHwL3rrFXresWcvJIXNTow+tg7weOkda0mbBeQBOwh1McbCc2E4Jgj4z8VsnM7i1Fb1uMcjXX3As0XNlvpvbNwJxEtYbEVavm1s3ggShTeCM1+UIaxUOIuJNHMQ8onv5yjxFF4/EtiPi/N135aNu3m531mUHgYxY0wGWpxU/CaQJOQo00V5EmM54q5noJWARSBu0VaCy2zxRoyRAl7d7skdRkRI3u5TbM15ulTzrA/YB/FZpqYbYXlJNsTSlfMg+NJQKUapiSVmXjNe7ossv78pMjBCBYT+67+zEKWSrUKSqJJacvMSWkC+XLUypm7MbAea2jhi8GfTvIEnJGVzKZZ6HJT/NUoKXXeS9LEhieTk+NaLLpQrTLAFHN9bMyEQguyLlY3gZ04XnBgLdrS0aM9yKZGssxgIeDkOZYtoOz2JHxpn2OMbDNHZlvnxSnYriZFPOe9kOPoecjRIxMgjKzvO4++cRO+A6jRNrpE7/Lf2Xa6I7Bge96VjNIOJcPo5NyLC+rhv/k8k6xcSxplq4bP9qAlkFBABNqvtnwQdTsEdvAq+9b2JFlXyKvMhVnzjq0ziYsqTqYMQlb4tFQR89+Dq9iSqjc5ClVJwqFHtArAHBoxFiGQJ7iZxEHIaV/Kkm9XlwRiRKqjWEatuj6aiDPk9iniTAIntch6sy/nwnpeCists38+mj9uOXygHGMkogR1WxA+yk28JFtVaUtMb7ZGMJ1rFBpJgjpZDKgoleD8wQ76uKv0o/tEeBSLexiKSPp9t6bA/mau+QNKcr3Bgstqd9CcehWozok0lEo7qHbCt7F+RFya9KVK17KLglP7udYFvgbd7jeqlTRDI5YZWgGIIMY90jRozXzVefBfm9qneC0e1hYJhrWios24xUf8JS1Q2dLwJl/2QBRJq8tYn6UdILRc4re6twb4iocmg0V/YwKpZHj1+loc5kwcwwYHTZpW3RndjbNPYapRXdWrrVPVXzsNCqBBsMuUrTOQkC9GG0GTOjzTUTQB+qeEHRE0kKoORt6zmZ7ZBT+cRBIRX0OofH3/VRIxNBbxyT+ppWRCO0aGkEk7sqRHybKwpNpjWpreopnEY3dKtqm4lmplQ+6/jCe0fH3zHjObd4KGZols+LrCzybttRD+JgbEZVigrOUVFRubMNfdq4g2wQbhV1DNNHVnE1CLCJ6Lk9N15dM9WBotLqCdZDDBUddokpJlYs+jCkllhRNsBpT7yymVUTC/Sri4Xctqqo9lSM2rMtFHqZJWOzUcPLbMG5Rkejil7oul7bx1SahlHZKcU6ZHy1FxRRbL6Pgyl9j3KyOvFkjWhySixrcXsmNvzi+ziovXWUrP1/ymrFaqq6plE18ms/rmrGLNCaWa4120heM3UCWD+Tkkpbfu8dytCWfwH4izDtKoy8WlgJ33wDU/qkuqYxGkS6Vckcs2xeE4Q2eN+Y0G6C2IY1bxzDhXZ0fMweBxNu4wTY3fBMnBfkYrSJzr0gRq9HbwKWHr1FJjWLLG2dq/qFeLOm9bNEMRVGG72YSiQot1o4A5ecMjT6vA13LWp/+jAVsFzMrapfMJSJwfYWpWxO6j+V/yMcQJk+XLJYnkeofawH1nr27ZTaeeysRherPDv9E7JIh0ZHNTt0fqG9qU4B8D7Wd//7oubo48Qpx2gUpeJp7GXyfXVSEh4Gk7ETv+3olC7GnsMOo31gyVPf006iLPzLvkuvQ67T2ijGHwbFQXefVvepFvc04HwX56yOhdMWNspd2qo4cdd8XeQkDjy7aarrkL7GXMZZapNOx7gBiDa3rrFr5jIkinsG9oCSF11zrsa4Vxwe/zAXm1JlY5PHO5Scty+AJPlFXDTUM+3egiY0Drt4xS+4aAbPkJyGj6xv2XJ9ACfQjayx4DTolje5YL0MfozMaTyqlPpYPHHJFeq2+AqHhY5QnN9FSQTy+lwsJbZTKegmdTsyXyJZ83N0MqBTTMHrzOGOdgK25ijc0sPj13N0XZpq+3qi7Utoo46cqFPZW7VRlFl3TKyhafPzXzJh9Jf8Qqm8K7dwP3TVT0lxYQfAd+ZiLQGWvCRL/gvbMGjtAAAAAAEAAwAJAAoAMgAP//8ACnicrH0JeBRVEnC/7p6e+75yJ5MbwhEyCUm4MiD3GRUh3Mgikl7A7HAICIjcQkRAVETQCCxmEVnUqIjsiK66WXRZxIioQfBCXVkXFQFJ5uV/R3dPz2Si/t//O06SYarfq1evql5VvXr1GJZZyTB8oaaW4Rgt4w6YgFYEbJDhRUYXZArQf4U9/HafPcdn963kDoezWV34uqb2xoIQb2MYlumKnl6NntYyRiY9YNMBXtCLgsCgNnjSQlGBvbx7gd1RjtoBPpDF+TiA3l3BTpAJdp6eAnVTQOVxsO04bhRMhPv5C+EytpFpa6Nta3PZXAYwDBA01xmGMb7EmgAAdeOYguIIzEAFpjUC80gUjG42hWFyMQzQ4tbAADRiC5dkBaDzuMgz0lNwcqRl9NSXSvsJAROXQIBZBw/AK22zGfpYh31d+62+yFPPRz8lMOQpbwOX5AHMkbZrL3fw3L6Y3iBjiPTGpMR/Sluo0OwGpZkthq6azro0peUblGZgGnMdY+Q0Y4yuIIyUp9RUK4yh2g2JaikEuCOqxfZ27bd7Q8/tUVH7BqUbeQ6P32lnmJK4T63WHYjpDVNtKH3KDEDP+E9pyxSq/YyeNb/MRdgxMn5NrQKFxs9YGqJGHIezr3XI2TUyDOYGGWZuFIzwjdJOW2w7WEJhFZFQL5PMdAp4E4DLkyh6sIDqLaJLX825XFRQ7X4k7fZylaxmCm6Xv6hUK2Rl5pYU9yyNll1OXLQgq7ujW5f5y6vGRMtxVWWV8YD+jkkTlngiIq2MaY6Cb1hFw4ERGpL58TB5ROIvcwLjJlRkGA/DvNJ2OJqKM5TWoEEZ/TZ59J0RzEg0eivjZAoCiRa7qNGJFo1Fw9gAjzWdSS+aJEVVUFDuKC/v3p3oPOBzI5VH3yU+LeD89s5gC7sNHgc8bAUBaIIfDALTvmvV1DbAYQ1wSMPVq/yF1le5QQgz0iuZ3wSqufIJZq7IvHBMHYKZRzBLYHxMVsCl0zuSRIeDAXaigZMVDexACrS8nOjhIo/bJWjdHvwri8uy+4t6lhTncghL8kcd2H/20nN7T1+8cPLgwaNrtu3Ih5dBGvqtqX312VWP203c0aePvsufhPfeMXXyjPDrsPuSuTX3IBSZ6W2X+OWaOkTpxIBFrzGJOg0XZOwioyc4FBUUFfbQZNhtDELBq83Nzcpk7TZfUalXYK+GRTAaFD70cdH2rptufv1b8PnWB7odcrHNYBJYPmXcQwOHw/+0MeHTfQ4PxLNLeiK0Saa0qca0AR4NALUyX1OYQgWmJR4MzMAYKzAXCe+DFPRrUEft3KDtJLXvq0yBuRrbF+IiPFer0FwJjBmvkYxeBDoySeo1ElHHZ0dTgn7XgSp2Y3jRli3giKY2nBsezZ9suQyusCkSR+K2DIjWaNZZl0nEIqhxihrUoFk9635Mdb89q0Rq3ekjrfuy7L66RYtoH8/B11AvcOgW0J+dGWJF3Bs7E07EvcGxaHwEd0IDH6XlScKLFrWukXBiBSYTLzrkGSw1eE13IIHRaBgqLWjkaq4k41bkpI47GE5hC8On2C81tSFYFYLjQoyEAZWGHDrjaYTCUdqOwgxUYFojMI9EwxQqMC0dthOBuUFhbDEwmqFktcmh+j+Nrm3LyWrDKqsNiFkB6pBuV9rGa1ua3ANa21i6tgEkv9FrG8ZoRrverv12b+i542RtUz2H1rbldG1j6doW76mRZG1T9waZfLq2sXRti/sUkQFKtZ/TsF5mQfTaFgt1NR79MY3I+kdhEI2Q5o6iShyOuNbhTNbIMAITgZkbBUPWP9pOW2w7mJfR+od5OYXpGkhW87LNLRpt1clGo8LUfrIExuHs2IWwRMXqkVWwd6nC9nQBvOuO4TMdLmUsMxQ8Yb6C5zYFT0nm9ExywBolc1TgYrFSUMCdpoTCTZIWX4G0eDLWLF6P6PUycXU5bStGn7uRPu9ZakernV0Q2ObwGjAcdH74QsnD3TZVnrgAQkXjc+Cn4ELn92XVftt2pNq/bQufNulAZSg8w9xd1qcriCSXUUmeRvUy0qer1Dp3BZEkCtMSgantCOYGhcmIXQNWkDWAwnw1n3BbKuG2DTK30ZbKFKirsb0hytUi6mcTjZeMLECDyHGMgGivk0yDIrtEfewLIY2MftY2srrGRuwMhR9hxRsL2JnhXXit6IdaCqKWnMjiKggkGDmvVrSwLm+1yyEiPW9AWt6mbrWgCP0h6/kSP7I2/G6/O4v0gSejdvRo3BP6Gb6OnS/uP6Ev0X+hVg/ukcvEdhXBntCqn8qiBzaNSg7qEYyOjBCv8AxAXMGTJUcXWeH9aO5Rl4TD6sEI+CI3Hb4ARiFfLxRquRyS/D3sLZqZRGRNJniMOtFrsYqspZplGZcRNaeRVwjCZbRdtHr5kQDZ0RB9dhsowWP1oTH63WwNnN34wU/HwYaW8OHDrOmJ58HiN4GLE0KtfWAZqwmxxlAo/DNZR8gIiNbor/IHgUmj0hoUZqAC0xqBeSQaplCBaUctBaZMgaHWPhvpLC7U1XgYIY2oIxqxv8ojiNWIsWO71uHYamQYySMgMHOjYIhG7K/yCFTtYE5AGhFzQiqTE/DYPaLJXg2QGZzCmHRBmSnIxBVhoziaK3ztVKGKT+ANtTKUuSZGF9JRzFAwpFY7wVDRhVhiMZfZsS7kecZiRCIUZLSyCsPKEOmvTLbE7/JgG5hoLRfPDv0PbHysdsNDsJbtA6ELaL57ZP+WNVxSqDX/o//JWuWPZO5HE6/vBtNAKeQxq9cMhON2IsOpAavJyjlEjtEjdWCRBddRLlnkfns/1oGwYLUgC02J1l7XuOmdNYGTD20CM36EXwe2ViL9wJg3fAh0tZ/A4P3hWWxqVhctLCdrZQbuBeFSSbVXPuEMN+GMBYQzVOuChrEH9AynWhEkfeSua8QGV0tRCLV5n7Ky3kI9dniQjk9Q+4R03cxAXghZbZAyQP+App3Xirx6tQFOPwdIH+yNoqaJrTdQT/w+sAyuaZks94hHQVf8W+goXGQUWtUo5BVQgdKyTzGPgCCGMwEW+XQBebS9pNGamdyABxh4La/T6TkW0R9zpVFUFsOCIr/di6bAZ9eWlCIUc9wahCbgT5xoBNvhHHYlW1j9SjW7N/zW+6+8D3NDqG050mVFVq3dwJureaPIMwKrUvOoXWpz+5x+J7bmkZOF3KyVoNse2x7Q7XjSniN7ktCMPsHOuLGA3xJuYEe21GCO2Y7aTiHa1Rsw6jldTKuUVwCeryyQZd/eCo64jrfCoS5ExUa+DLVV1kJiXqQdMn8TonSc2jKiMIUKTEscXbEdzUoKoTeF+YpqHbMuirckKOSJIIo4OTvG2mQU7aZqu+ITR2OPvE9tXmnPniUlkXEc3L3KsHj06N6R4bj2/t1iqneYZk6tIgMDbSulnly4J4tOYwKMaALVSOMYiLrBPdlJTxxqvkRFK9LnIsPiXQrNwMHdMKPe4Tim+VImXutK+M2f/26KUGeGMnJZv6ijAiORFpiJ7CQt4gXsz+lE3iTyyEjSy/4cto2wz5Uj/WarwldYE2sKXwG94NvwbReLTL9wSrjwCJvAdgk3hb/BfZN2yexNV0csbbzKZqEwAxWY1gjMqmiYQgVGitC5YtqRInTT40XovHY5ZqY8JT2H1iOl7XYRugwCzHqI9C6LeDEEo3a9Xfvt3tBzNEKnek4VofO6SYQuzlMziRej7i0SoUPd4QhdvKfIajw9KkKnkD8yfmIzTldH6NQjjjOT1zqcyRoZRo7QYZgJapgLwkIJRou08BZ5Lhnmgygo0ttcFd9wCVG9IbxpS3NVeHNp7fFWt3QtXksEpkaGkfAmMNF4Eymaq5IiArMievwRGv0Sn94Yilgk09UxygglsTwiiwTLYyLjY9ICDkOaaODcjCi4q4Uk0SLoJQVRgZckbHaUlmRTsdRYWDe2AJA9wsmSum3+8iAyHZGwwr/0mDGg2+Ccrg7/7VRsYdUdk3bmeruydUR6X7nLnltRltQP2SfsSEWQOWZA21KETyuyPxKYdKYwkGpn01ypbqNOJwDGak0UrfqgQS9MF7yiwGGVkWQ7iRBEPxx4TfLmlebi6Ji31Kv1oD8y8ziXF+RmZYAMe3Ee8Pxz/dp7WFN98Pb1i1aGrzy7IDEXnBg6D74NeoFeBbDnsHUjvm4Ak9kvR9aPOPkK3BYuHM2uenUplzqw5Rib8K/7Wj8bguhKcCTUX6TmmQyhHYfOUGgvRUhtyixKunAkor0H0d4fyEh02UWzTTSb9S5dMElvEvVsUEghw/Qq5leBtK1DooI4EujwF3n8qohpppBXVGqnUUIHq3v/22/f71nZDWxRoqc1WRO65adlda1ZutIFloDx4Haw2iUFUl1HBD7fA8/Ba20M/Ea2V6aTmJkT2ytmPcKPAaZ43nEG73Yxviy7Uw6O1oE9gAPJ8CsY/hj998ShQ2iR+up7eAMO5U+G63ds3L5H1YOJroVWo8hZRCtn5RilD7sSG0Z+i1/qxx3pp/FjwIIU+CWESj/NNy6ijpq5H3E/Dz9FOL2YcLoNc1bAqXWLWg6Zlai3as4uGjmZ1XE/iFsUPnfb/H4tkFic2wNHw8mEw2+5NMsFZ0rMXQyO6G5i1xLWXtBPB2EDW6NwNUu8xEVyxDng0Bkdlki82SAv+O2izciwzczy2YEcZK4F35z7YdlCkHMZtun08ALIwO+7167V1F44+dh7PcJ/Y1PCX/InoWlFcPl6yTtdRDh1OeXUs4QLE9U2DYUpVGBa4sEgG2IRsWkozFcGormTou3l+xA/5yAKZyELMsFtTxB1mQZjepolWce47IiLBSUOgmSVMnBeqcfjzygpzsvLxT6NXw6JIFfH4/V6PG4bm/djQ9K8f90OXKuubn388ifrTk6rrdw0YuF9w4eeemKfa/SJ7j3evrd3zYCjG4++O3ba5qH9/3D7oPGZM4Yf3QZXYKsc40QocJ/aqsu2q2SVwhQqMC3xYBAFcsjaRWEuvkZgOqtj3rHtSN5t/q+1QykJclRxExwTQS2tRZTMZPICibpk0WvUpQga3uISLfogn0YMJikYXIBpiXnG1hOpPT/AGxR8FiUsYZq8PKT/cgW3vfZnYIVvAPjNk8/C1kuLb0nqeke3ezctEP8KMiZM2P8ItweYfzgA5+Z9svfTK95XdYYNy6ZvziwCoSLwWH3rVJXtZkOS6gs4XRqRdbkYs040q4NcNHxO7DjkpPpYX6Y2r6efGHROn4NYcyzXLxNu2PtAyq7DbA2y69ISw1vdLvZYeu8UcCLvuW7EugPH4EBs31dK+kHLOAMGATskkcgJdkKofwyuoEXaht4nkedbpH7OiiXOoBVEC3rWyHGMVn6exvmVViKeNm7tXVBMW0S/32UrG8CJUAj2bAgfxrNI2iYzfb+aY3ScSmYq0UxPJzJDYS4eJjAWBNqjI5ivWgg36KPlCnNDNhmJ7WUjzyKbGTmPFQUVfkJkbKYjGSK/BXYsLGtcvh7wjZdcoJl7s7XP5i0gDf/+/nssx7glIg2b1dJgU+NNYQYqMFIcx2ZUxXEoTKECI3G6y9iunTIFRo7j2IzqOE4tInI2ocBmdYwmxiaMxftah3jXyDByjAZ3N1eJNSLL3SEsRL5QcsBmRFrfUm0k7BSJ0BZEExV5RH6bVk3Zvq8c/z6auIa01+Hnla2vf/+9hIfGQXB9RE1jjzVKn07GeCgw0qiT2406qqVr8VoiMDUyjDxqN6eKTFGYGUo7kl+GYbapqTdKReFf4s8WpjGxKDerY1yRecA0RhYl5tYMJjVgtyMbJgWZkynVbsEiEnOywE8lVzEnVQystirZXdianEe5GX7avaqc2pPUkPQkg9fU7A033mzNC/iJQRnhhjkKpmHVeAZGj4dQZrOaMjZOFRHrIu0aYv2j50lsmqqPIrxb7wN+8kLaquYMGOkAI8/AGmTmpPGf31iAnnahp3cR2U0JWHmtmTNpBAPe/JYjFBXEbvVzfqf04nxcFtdQd3qxa3Xjfa7Fp+vgO9WmatSki1vTuoy/dGMBN7V1D8aetE3mbE+UNKtXbgpTqMDIkqpvB1OmwCiSqlfPfWxvsgzqVXM/AMHUkFhMUsBi0AKe1+PAhl4Jx5CxAkD/zwJgAHgBjroIeoAeF+Eo8MJF+G/4b/Y19l/hC2xG2B/uz7rD36F2E1G7j5IdGm/ABHQajtXrglqWhi+kYJQ0EVh35zSDiQ4wsRnmgGvcw+Fe7Nutf4R6NAbSDhlDvZpiBlZFDQpTqMBIFLMI7WDKFBiZYgZBTbFEpNseJbqtXi3ltuj4cyxOEl0N7furkWFkKccwc6NgiGzWq2UzzthmKDASv2MYhd+RjuC7EVonBiwCz4k8GwQ4AEyZnkbpSgBeLIHP/Qi7JVzDrQlPZo8c5tPQ2vv5YdQPaYOM6bkoOvMqXChMoQLT0iFMmQJzNQ4Mzpcykr4Q9+HMFdgkxWMC6DOOWaQZSO5TkjNq5zUmQ0HgI9kHMzuI9wl8JN63uIOIkQRDPD2lnRjLUG4HW5gzO6CHDIPHulj2GDHO6/huTBKTy/QIpDrdLtHjNgQzhCxRh7jCYkYuO85fSWCMkjfjKLcTG4ea29TG9hKrsNTLe9x2r1uTlyUgnxEHFpHlneF2gVN/ff3nzxZPfPgh6DoDtG0N8KDBbTwoTrmnX9ld5UgRPPlQfUNiufgHXnuM4z85DQd7Dhj+s3TpgYFiWcCqeWKXTN11wmQ0mlfJzH1E/d88CwDPq/cZ1wk3KTDnLikw9VEw2q8oDJOLYdDcfsQYwP1kbssLAMgdF3lG3p2cHGlZibTh9nGkzU+A2a6xkbb4fZ1lEuW+iuP2hZ/S5cQ89Rnq8Tef0r4f89T5tquRcTG2+E+pqPoJpVhBLFXf0B5WWv6EUgzcBcbieGG3fBwvPPvyuMhTappNjqHZJxLNSglwRzSL7e0sWP5bvZHnLsc89xm44/c8p3PFPIfpdoLQDT0IyuI/pflcoduZ72m8TCFvhAJ8NwVKik92jbbKYufgbGJHnL1LgfmM6QBGE4G5cCkGBss7sqWwvHdhypjiQHo+kne3QShRCXsPpquYnCEmd6IS/24BDSQgoa8o8Hck8lohditR+5tKIGvyHZENxpG/qRCAMH443XwcOMWWzKrVg0KfqcrYP70UmY+VkfkgPLJAmetPFdlPYJIa+N5I8x9p2xnQj1M/qJqj4Ur7568qtN1FacsxbgTzKF/GdGIKmT7MTYE8T1JXMY+xO5OSGKdQKgpCFiaxs7Po1AaLmR5iVqqYJevVImzGOmh6dXdHuaM8rn71og8OHMjxYWe81CtgemNKg0z0b8W5oAjTm0Y7QMHarW8cHtJ7V+1U11Sg+WPlc9ue5DhY4nowWF6RlD+h07LnCxPd94OnBg/igW9Q+K3KqtIxYyePcNVt2/+Su+QPC3juJU7/3D/g1R8zh6at22Z+RmdYHKxZym3b+tRTW8MJS+YOd1VVDr8FUYeMnHDwaaqbSe4O19cp613EefUIplLTzFjQWpMecJicImMyBq1CosgLWmQPSPvU6EX3Qv14qDipJTPXaZdDD1kZ9U0u689N38BT8D8TDy3tOqXbEwfvXQh/1DSHNzTBixDCn+EnRnYKvIVn//His3iymA2o52FoXhKx/WEQzKIedcig/o3qfEhGnUAjEJ+hJyYwewC2wC+AF3CPn+u+t2vtrQ/tfam+cveIhPFHXCAVGAEPMuZX3zOs8sWnX3zNYjrqIDtXpE9CkQ8oRSpptqKgWoliYZqL4sAgfx7hrsBc/JpmzqijRLHtfELbSWvXF9FXFObDQqWvJ9S2gA7NkJ3mHJkMBsaLpkeHqOVhXKJVYlXyqqiIRIu9eLqIvAObP6MEB8kFVvjnuU9PhJNdTSFHgmEHbLgKTPDHhfe6ECE1iGg5TeziG9mGQ5OmsClwRwNgQOHbGIdFhEsuMalMPtMz4DN5rS7ebXZbHHbR4qg2W0SPGfG8yAjVTJo8gQUkYF+AkCDeAE4loIE/P5unycvJzSv1eHO8Wo/D7bYxeRn2YmmC2aHnfzpx9L4X0uzaGliYD+aITxR9/zDw5R+97WbY+iNI2Ljy3vtXuYDw/emLd90B+H3r/ypW9po5dMHYv/acD99/vRAzxhHg2rxz7T2P/hlrAERBzWyyF++kOWoMKzKMSWcxIPcsqEsWjTptkPeINj4i9UTg5f35DLLVoKKnj9KTn1HUNDHMwkrw/E8STbfBQ4hqLGyF0i7+UDaFLWxPVnlmg2hmE5ksplsgyWWwmxxGk1GwMEHBR8UhRfSoVJGjvByLYPQkIwNdymfqaLLhTjCrSRQ7mnIw9dCcOYda+sVMO0u4Mx9JqBtRzRdw6k2JosnECB4RY2ZV5hkTSpZVB1GEVA8SOeWoBmRD8Af40Y0vP/xOCBenvFk3YOWApKm7tt2zzcwmbVAEFrZeH1ax9n6r+ajDwG3bufnBxyQZySdydJ7KLJEjNjVWjvKJHUhhzrkUmCeiYSLtNLs6aicC8wmF8cXC/IdYQuepZeKidtej1KLJTpMtGuUpWWdMjrSt5LbiHrDd1ZUAs1mxdhfubWC73s6CP/9Wb+i57cTuUj/3GXjgdzyXT+wu9XPnmTTJ7kIPYrsr3lNEj1G6nfHQdV6ZgLhQHzrizBKmEtGsFIZmt0bRJc48ne3f0VzuUmA+y+8ARhOBuRDLE1gKkG2GpSAXeaB5Aa+pMxGCPCwESeliEqNIgu1dZZcsnixEIl5ZNCL2a7Lhv3MwjYLlzV8eTKjpUE5MeYPo5iqOlbkBFZrI6IcrIzufpoxMydGIkW9Ok4RTYm160Ybk29NOvrECL/WRdVib17OnH4+RRbZkqQ8p7eFnLgnsuxL20x7vA2wg98ZFhHf4IsJbcw3j63IcTrfDL5AtEIbnj+7cvHkntgMGIn94puYyzVthbU6Rs9kYrVnUgiBjkHce/Ur0vgSrYmwNZNjdJIS/DT4PRoOrQdFTMb0r/BI8D0ez6w49wua6jugEuKfuUHgpsbAzeR2xNrKYToFElxBMt/lEBxppmiFF1BrQWIHIWGXTQ7J4nHk5JBEHG3Sywi31I5NEwylq9iUDGPvUVodhx2Kqbr3248jeuXhU0rMw85hN9+e9syZNURTu8dZe8Ct4xcg1K8qWeCUIQ6LDflJ7ydk2lXRQmMkKTHMEpr4jGMl3zG8PU6zAfH5VaWdlFAyRVgrz4X9i8FEyXpsZB94ztgtW2Wg0kpkrknNeid2I9zrtWWSZt9uRvegAQv2RppkTbxAj8d2j4dHs83fMhafCB3HL/aSWk/CJqkSLV+QMWpE1GDRGizaoYYJOpYfI7o6S34vYIrY/UWwCs+DOSK/8G3jVg3uie25ra/sbyZ5cicb9C81fhEeZSmyVeWPz+0ZrrjBGukeG9zzt0+020S4EnSazaDJIQbQk20k5pQIbP8hJACXSLpSb3dZ3/Pi+/caNC58C22E92wUM5t8l/9Cv7/iW4kPs24dbNx6SsyVH89kkLmrWIk7FOaSCLB+qvGKcqyi3dYhtPISfl3IDRxOeCKvtXoMGgGPyfFOYmxSYc0UKzPPRMJF2JJvW0q4dwjcU5kyxFDOVG1JOMSD6IahWqucHEz2fYmp3ikHd39lpHeG9S4H5bHAMDMMzjTCD+4bMFj6jl4ft6JRUMcUadKCJMzHTMxOFYAKdsqSTUk6ues586vlD3MyRBD070QRgsjSL4Kg8nTOa3jU0PrW1qY2BFyMzGplZPrulGWYcc1ie3MtdJMog7FIoFxnJhaLYkbDkrAXluzxkySal4ZiAZ7rZ4xRNHgPZerdTLsQL0kkigJgFizriwfbZxnG4Ep5RZx3H4VF1AnJkToYrIznfRxnJfnkkB9Cc1JKREM8To+6a7nKKSDVjAaKqOJ78UNqTdGRB0LLXZXRXYJrDmWxNzffHIjj+MvaYw/rEXq7sUGuvv/13iRVJE+55MZImC85M1GmRK6VS/kTrR/XQoGoXz5q6NTRW1Bo/FvMoMBB98QnzEo3oOnXKvFEJXkA0pS/gsBg5Oz7/gDpGytIsq7JIXogfZ7z0LPWzWuDjhKwse11TrzUHbvc29/g7KIM3fh5yyxxNc+uCSSefgUt3h9vAXjucR6UqA/eCcDHRfeZLZCfC1T7feQEavwOfJzdaKC56ICiYkFMTvxsTPht2icYE9VFFLCvstSIaCxpRYIKMSTEpaAyFUlgOmbCXjuyDjawpY8qkW+9LuPlhV2Mz98ShltBYsSj3qAfLB2lTuwiNzkp3G/YQvewQVHqZwBBfz024Cnt6vEEvGpggbxN5lUlDfTuuPR44D/toNC6yLxeNEqZ4FaJ4PqE4xekroseAM/p8jEQNCUrLPgX6gC7kjALWd2yDPDMy1RKZzoFELWtIxLnZgBGBxm0V3cYgVvuMPAQ5P9tZkkNGgPOzXaoAVEnJIpCER4EmqlEeybgj+8A/XnmITT4U/vPeV/bC09JYGptPoP5rELECyEpKZwoCXq/bnSakiAazmcOruhB0JCZSBsGHuIrwT/yDcInXT137nkRI8bKblan8qjlmsZkO3DTBatdMGDtvZtMtsxvGzuKz1+wYObLfxEVrWt/gOs/b0nqd6zcR/ZStCoRFtFUhtLcqvLGr/HG7N7LAZx+X1vbps+HHZG2Xzm5gWfXQddBFJVVt7zMUBnGQB60TbrfBKeoMWqwhNEw1WnStvEHOICN42BEXOdvjMvibWiEKnQuEhTJi0YqDVfPVGKwwDOIzHfaLJBgp2zxGsiUopFF9AZfFKlqswUTBK9NPMhfkMycRnG2slHIeS8fzP880rFpWE6HmQfhVG+M1ESXILpCMJtDWS+o3GfdrMwQ9RpeoN2qDQpRmpTa1vHbGEgyr2mO4NzXVZvx7L1a59l1ooTyuMtWg4W/fLlbOuuCVRqLLeUn3AtVKI/s5ePXHuegmUXCQGIZKG1Hr3kE9mhIlFlXVfOVK87mffjq38N57F6K3C2QAAWhBOvwM/gJvwAuhYwefffXVZw8eU3ulIE0Vb2UT4kYqJJhzjALTPlIhwXxCYVJi2zmD4wIYBvvpDI1CrKb+fXqi7N+ndBCFkJ77UukBRyHyaRQiLV4UorBdb2fB1t/qDT23Ekchop77DCz5Hc+RKETUc+cZgxSFQA/iKES8p7DlKdHtDEujEAnRUQg5wiBBSbs/aR1EGCSos107mstdCsxnrvgwRzQVEoxW8wXS+6S/BAFXWhii7u8I6a9AHavPiI46T5baKlBhzuW2x1zdEsU8piUCs0uBoZjHgxmuwJw3KDDbOuLUjwdHKB7Zb1OiLBLUBSaGTqooSyrTiexDZIsmbTCRERMFIU10CDQGSiIsSkZRLltCZdbFalVJ6mrx3T1/efCND7AEP1LbaVIFDanMkWRZylR3gJSfZYn+F/y5yJY7QMpXv0WWbbQWbGhbivA7hLOjmSycr+5kMz0+r0mv0wJkcqeIdmPQaNBO1yaKWm37fHUNyVfH8QOasM5myRnrmYITY5wHPKBr9fiHrjQvnDhh/rTtP527e7KvEyjr3m/hvVcW3tsZvtVj3YhdW4APo9rpyf5/2QI/xfqnALRsnMAWJr8a/u7YwdoJ4VOplOJLpXkpVnNTtrYd9w5XZoXOL5mVbfLemQvBPEL0eibTmSkNZOhSRB1vtOK4l8BbrQyfJ/LaYIJDTGCyJOvOT+0rullm98snfYribZLlRXbI7Da0CNjAHFgPql4YdsszMbti3905FORKW2LvbdmyB+kGNvfYMfUu2KlT0h5YFzAbzIY74A68vwWL+Uo0Arx7khPwuE1e0WoyBl1oBZBXRYs66IPMKcmacZBZys3LsoMMtDr5itA6hRfG5PA75879c/GjRhewwB+B6eq9sFhz+XgT/AT+DFvgt1MmhbdoKuGpNqYBzH7pbRkHaQcnHg5MPBzsHeLQ5IqHgrYeb7V1iEMVwoGJ0MFkCRqFIN5H0kv7SBb1PpJ6TSQRryx71NYCgEqsq8kVd1Ph+A0bWxO1n0AzdVciHLwYAwtjsItaZFjRUIYb2wly0AS9SYUceorZ6XdgQyGLSjXyWSsvvQlqshMcwLFv++lBo9avBTyOdcDLIPvY6QWzvv4AXjwkZ++uJFLQWyUFIMGgkoJYmGYmDgyyblaSFaM30eFftY2j1lditPW1C0mLi0SKMwMeQ7bZ4suwp+oYV5Lo0pKjtbL3QffDctW52zgtPluKbEay4l0CKyx+ZkhC9VNDn9rqL7my+yFE3E7b1nluXtb7+boBA998+vEbLovtuM1WMaiwu7lf/qLFh3bhuGffQd062Qvz16185nE8AoIZGWUFpQT1x/NcqlHGwjSnxYFBlHARSlAYKTu+q3rfM7adT2g7Bb/WjpQdnx+dHT8QtVSrucyUM0UBH/aCgFBmCGZ5c52dbeau+kKDkOQTk4xBwS8KQCGt5Nw5S/xKyEAgiRAebxqLi/rIhMd074Y3JbE9iv7GzJVlH7jzvx8eeCW9u9eZ07+g4LayF/88ZlmPhGE1BSuGFeWP9hclppYMG1iztIldc/jGh9/t2T548k1Z2cPKe9zWPX/SXUO21dksx632mmHT8rJG/GHo4OpuXWYNK6sAq+9uaWTXqKLdNuzb4CR3rl2suyA20o2MY7AfPgFmgLOL53kG3NEdos6VAHdrF+xv9yG54zORbKUG7GbkcBsEXTU2v+0K2/nl3AXiLdIyF8p+Omf54UN4FRiawOcw7Z4HimqGJgxei7xCcPEQCMDjh2D2iqBRf9RkUvWVjiPpyS4xGXVgtonAZK7m8XEmrajRC4qnRrWJswSPSOqWvJSuiavaBxiU7tUojPjhQ3D50FmKxNlD4yQsGpunY6uBYEK8fazVvHbk6CM9YmCqLQZTtUEI8m7F5ZezkdU+fwwN2API8x8ahw4R9789ORA390HcjOiBuHkIlYpLdKdfLRWxMF+VqjTIBrUGWcdn45NiAacVB/IMQTMvBHE9JKdKQSsz6bdLp/P9coYfuPH0y02zpy5Y1LQNHrQ6E7e5/vEieyw8cNIfHnqW7dW6y3PAcGbOAklOSX4TGKn2hb1mVWx1l5y5J8Gcu6rAPB8NE2nnEwqT3K4dYplTmDPXaUxYaUjSCjgvK1uB+vJzVa0Rxb6N7e9sVkd471JgPjPEwEi0PqOpYNKYzoEkb2KCmGgIWjw4n8EiYJon46I1kkVTVCGF2WOIjjWHH5k07YgP8qeMbZ6zKN4UGLyrFj/yes+wJWomzpARjVXPRDqvHhGizRli+49V0yanPW3ULWHaIKh0B0C+xlPRULsUqM8MHUMNV6Akzxpjtb+juf+4T2Rej0XmVc6Ak6AuSFzEq2eDZMBlM/m45ok3RfTaMftnS/yfo54L/CJR4fYS0EHCm0omotPb4spHTEqbWlqmKmP49GpkpBujR0poNlJNM69CM/m8EhoprgVq4BmEnRyZKbJHnTQ4BVd+DjIdIOFzuJHPbt3C1bQ0o+eRi8WL6HlcY8Gm5c2cgTGQRkxK9FZKuYk9bBBa3FjpWP7GcsfE04/A1mWmZajVZfiwAbempZkb3voSGgFpnczodDUv2tQ7LrEwksS72sEQiZ8eJfH4GEFE4mNbkmQ50hsaLw7gDkbjpWcNgJacNRCCenm0ylkDp5OcNeBEcA9cexnCy3AlWHkZhn9hTWwCfADMD18OXwI1cAtutRTp40moVTvedab7DVoudjLK8colz4dFCpKVgnNwYjOYaAVcMzzZ5+F3NjcY9t/753KJmL1C3yywuUIu67LVeISkHzLCWZSexBsHDjWtYmE+sSoZ6tEwhJ4U5oyd0tMRtasmjUqC0mq+BBMoBzpMaLHsqL+zfTrCaZcC81lWBzCaCMwFircDtGtnuAJzPlGBUSQC70eYyO6mfBJBoCcRZH8g6iRCHVsdfpSrCj/Nzj3Mvnn4cLjPYWnHyUTGdJfa1jfwMTuFaphmpgMYQmcK8yFUYJ6XvWKcT8Yr+WQFgSSLg4Q5GV1MOplTydwiR7k7yiZDpij2fnlH0fGJ4WK4Cqw8m0Czye6D//381OkLv5FKxjM/IiovJDFrLYly4jxBwtMahBfPTHcge0wXu7+JtYJUfSZqP5M70BQCxehHuK96H5PEr+UYdtz9S5rxWCNnMwpcnOxKGq+tkeO1AhcbgVciEzVyZELg4sRRqZdRI3sQAhfHo6HzXSPPpdRO9HwvYY7xpfw+VuA6IW4Qrh1BE7xDU8v0ZiqYm5ghzAhmDPNU4JaunTrl5Ph8qamJ/kCgomLo0CFDRo509uzVi2UFwWCwWJx2seimm/r1GzFi8OAxYzxotvPysrLS05OTPQmi0+P02BLZYBlCiNfpTCabVA6WvqRz78rn6FdH/x55IelwIv0e9c4q8ZM3nePYt9+dRd4YlkNvn8/pA/Jv9O6ZBmenHU6DrfiH8te+F9Leu4B+Ax7/2NH+LxkAQa/Gz7FD0T/D1pae6g8XyS8coIl+HyD/x/4rfR8g/+O/WEf775Hg/aST5g3P163MeGYSM435A3Mn815A7FteXlLSo0dXOocDbr115Mg//GHy5EmTxo278860it69S0v9/u7SjKVliDdVVo4aNX36lClVVePHz5yZPHj4cHmWHQ6PJzlRTEtOS07wscGhynzaXK6EqDklM+f4tXn9/fP7W3P9++b898w9+ul0Rnigi8IDcf6K5oamX/srmi+6pLFrCA9cfUP1ATTgB7aRv68FO+CR38Mrv49nIrzDXjvSVsk1CWOZ7oyfGRPokp0nZm8MegsLtUksqxVEj99vcFqtBiMOVxl4u5kNdk1NZsRknp529OMpVM+08hvbqHFmRp4BX0kmjmEzPr82KxMnuvv9Xkz5X77sCltiKbzv+fT3zqdpXx9XPw/cCQYVunT/hW0A/Fdn+XkU4NNhy2Fk5MSQhpLAtReUfgr+Cj5qgGtgPdwNl2xj38AjB1cvSrZkd2ZioCvVb4nubhK3S/rL63U6LW7O1skuBLvI/G5gKiSGpBbYrzIsl0XMz8hbMUtjX+T7HU+YtsPWelM9bN1ueoL++HReY6VrZ/M+1yH0PtJ8xLWv+RB673RVNs6Dn6IH2IvhJPWbWGOm1ivt3sjUxd+jeQcpnIb7XINr4mTiiKTHlcSIzvSkaiFd1JmEarNJNNvl0+K0giSInPzABz88HrcbOR3SmZqSkqxMtwv8fGdw4713DPnrK8Y9Dc/+8RdNcuKk4qqq+qmc5o7Js/+kZedy/DYAHtzwi7lGmN+n74ZAdtHI4QgblmO5QwgbaZfSxIgOUzXeqOTkXUp1Fkz0LuXOY8d2Pv7qq48PGTduCHpz7JFHd7z88o5Hjzwy69axs2aNvRUbX8DHebhVqAe6r661ipyWC+IyYUAuR0giJCT+HbWPD3yHDWbN2CF3rz46fzHnYVfM7zvgnrvgdLB++Wa4sa1NvqOAFUi990itFwsaC65vbFPVWrXHr29cRMKdQlak0jay8WrA8FWv//GPr6/qBS8D24odO3Al1u1z3li96u9z2H0wad3ceWvllX4e6R9NLMKhAX0eIFf0i6rxKvfXwG0O90KttRTh5wk8PlsK1tLMEmqVCOoqtxhmnPCGdIeDRgRcdWx9ahxQsjewHzeGczW1oCc04QoVLJMGP+W3IWxsiNMQNQzA6hHNVka06oK6RFHHKrvjNPLfjytRSqA6XcjtQBRJm5xSkGrl8lY0hlOOm5Pyk1kbnIhrxXave+PNW9i8liKYATJRPw9Uho4/XcbbZKqMJFTJYZTPZJS0CkXHNYHLFJg4dYoRLZLbWviHNVvRSjswkF/RT6wYXmIwFvNpI0b4hoppPl/6cGwPD9cFOxeIndPxabZ06Qy3nxQ2ojmbdqI4EOm8JcSDR/56aQmOhOOMAKQuMQci515KQsLf+5HaxGFaXCPPjcWPfO/Gzj55Bu9T0O+zkr3OtNsGJSUNui3N6Z04rsrVa9uBbb2dE26bSL7IzqZf3DbB2Rt90ctVNU4TSssE+f2H8mwXVjM0APIz00JTZsOG0mz2zvBj2aVg5OwpCASeDQzVIBB+aH94FoFMvROMLM0OP8bemV0KG+6ciukTwPvlSNIKmLyAJysbny+zMKkuMZULIidTZBm9FMpTcr40GZHdgKysvJ6SdAvavH6sP4PWpCfha4G1wK9e2HJr7cxdz720/RHPj6cefjb3zpnZid5Zy8qA++pTR8SXa9b+7HrmgUG91y4K3nNMN1u8NWhx6I5ondbjjy9/srNJM/aJ4PJXZ7WvqSjojLogKXxAk8DkDDBANoDA9uMucKHpuAtmaGpbTvPdbizgu7WcjpyfHoi4htbk0EfOTyu1RJS6iyCqtkdU3dRaxFci4iucae8xW0Qz8CZwXURSIirTJ2ZGKigVlFPWkZijtBSRiTCHVouUSJYbZyMhBqHMQfZXEHfUNp6cMdyZ6+41a/zAwm7ZlhLPlCVFRSurPSWW7G6Fo8bP6uXOdYyuPqmpDT82ZuKROxYUhQrLPqgSU8SqD8oKQ0ULZx6ZUBkm+fUEUzKarVRj0NF0U2uMHKnisQ1n7WKB0CHqGkWBlRaVwh6lJUUk05DIOhL1nNmTPFxuI5zkHb0HhO4MreJyEZFPhp/c8tVT41CvK2l9TSTRVUSipZrK6HM/RjmjrqlDn6cTPSjXXMY6y8gjPFWakGZu0a5ruR2N9NIZ/iTViJIGRy0tZZRT9KTlZEbeN6Pf3096Qv3xO4jGx/VkjTqOlGEmg1ZKQWEvHk2VEk9555795bB3M5hmA/ZmuLf44f+GcrrzS1uD3OaW5o27+5N+cbuEsx6nnEVzYq16mbNILblLSPs3MGa0snkR57htGo+o09iBW0SKGjCCXHaSnJ8im9I4lIsrf+WU+N08Lv7ltOXYs4FNY+dZFgbA8QPgDdjvBrJB+fBMwELo2teFNbAp3fbt6xL+PPxzwT72Y7C4S+u7ncEs+HgBV9wV4SpVxUA0eTqK+lYmMWDWM6Jez5t1QRPPKpf20DWdxjCpymcHfnOqMbgCJDQ2sr4vwmATXLhjI/vsjQWsj9Rc+ZTfIFeYxoKqZTiRMVRHVZi205UIt1bbCGDjvEZcSBZPLF4jVFVacStmwQC0UTVvEXn8klxJr5WNrx54FTeSz5/F7xsL8OhWSrjQuksCxsaoJfiYqyNNFcgZgqpXltRilarNlnzYGSEnjTFbPUZGX63Dzeqk7ALVGH1kjKyuEe6QBnljAVoVM2UbZJ5Ubw5X4LXienNcVLW57kqF3/bWRyOokk2Pz0EaMT2gLnhy48aTQfZM+JuHlizdJmcLzotYOsi6ocZOVP0qh9wTLs7tV/qS69rduIGYTerszTdRV/zJUPu+OGXeDKS3rIDTyCDrzS5ytvbjkkxvoh3JVSaYXEDucWXjig379m0AB0PhyQMHjpw8GQ+u5d//bsEqQOmSZUrIbiWuXpuGLWStV0QzrLHj+tXWBNGqiLc/Ys2VkFrRkV6zcGKf0nHJ9CGs+e5Fmzcvgh+80mczu6Bv316DB4fmbuP+TRHgT7Zeffbtm1U4rJRwcODM/YCHs4taF7ZctaREj9WN0JBWhSJ1/UB71Niz1GM/2zhv6fbtS+GJs6CpuLjfyJG0wDxFAJd8l3tva5Nr3SGZvo/qOaoHSX0/p9WBOlfK/7uiyv+3q/4vaJHd6Yh3ocvzF71s1/DpXPBG7LUun70Xgl3wrS6oZzs5g1uHLFwc3TPiU2hum+jmgjyjxcWz1RaFOr2g1FdCDm2R6mzYywTN67+bsGXCphkvfGALn2S7Jl46tR31+3cQAMPg265xtz0wrPTaudCpz1HHcCN8Ev4FLpUjd0S79WeUSN5v1m+X6oyjp0YT+uHqQrmk7nd6wK51YH6Sar2ZlWmU/YIsUqfNrySJZtkvN3PFsOb0R39vnFlzGpeAgzu+CMOlYN2OjeEqxCuVUuU6B+LXroEUQ4qHI9ntWrNTNOuDODmLC6qsdkotr2znOBxyyg2LhDOnqCf9227zVIZ2G/c/c+TPfz7y7H79bvC/sSNGjEVvzDhgDOgOn4L3wLXwGdAFjAzv2gdBEsgBWvgL/ARehAivochawKNOZ/Kx3JqMPq/oc3mw/Hh0wUwXXhH+RQ1jYg0Sg7i0FHlh/pJuHHb6yDotUOsG14kkjt9QX14/Z3bG3GGusjV3j2xtBp82wquj+1j93vmbwAfAA/9z94MPakJ5Q1b9aUAilzLiwUXvnEPy7dD26/PulLnsBwAuX75kkzQrVWRWEG9FzQoOI6sLVdPsBGlmcCS7JKOkGM0MsNxAU7M5BN5EetzSGiKTsx8OgzeF2n4JI3egrVXyycx45oHeJPJ6PYNv4VCrSfV9PFKNvoYjR7CvBobCI+ywELs2BMtD4ZeJF4JWisPIWryNGRooMJQUG/m0UaN8w4kDMhLTtv/IQPVIXXBAP3FAHEekO84K8Kudkf9nT4T4Hx35IpmZsi9iLVhxYEUXi+yLdOmCv1gV0t42wdIFfVNg/b9zRrjOHHZGzmWmoQU+NZ4/Qu0GbFd3DSSp7GqyamT7xGwms1rR5NQl+X3WNRrk77OuR4duGZ34K8Y1zAHZtsXLqH2tsnSsmCPpwo3VvUmL2NEQwVXRFRGbR7k5ZGZonnx3CDV9yP0hbW1ylTGkk+qJTpKrjtnpmgpEi2BA/TE8ctD1krWG+vGWE+4EJf4SyYSVbhEB4CdVKbKrVxtBXsgh1yNzhOBHIA/XTFNGlB1wW3DNNIFUxjcZxKgb0iROVKqnUd8rpoJa382hQEwNtTYyRFpHTaaek5zbJ5anw1rtMIuOiP2pnIKJskApBSNWKCKi2g6VCOmLtW4V00ouAaeaF0V/43kBCaRl+A2amPNIdy8Em5DuvjXO+hLxZTYwiv+I656BqJqEJvWNb5Gq8yays+sw2ESDAbVLKqma1aVLVRXoQQbnY4FStZTUoIdfJrPzkuGXID0xvCVRqUXPt8Je4O2WY+A4DMjeCcHpcYqT5J1oVCeS5OiPkVrKJk5nMIoas9nAigZdkGMjljLe/Xfa8b2ANPiDbwJMuxt0B5mg+/LGcAqY9R9w8T846iMb8/BTgW35lCd2c+SeUGdAL/Cq60GV2wbRS7pZsBkedcCjxOG70JJBfCiRnydkSvW4kRy4takIP7RcekCKaGOmA0y6pH/h/It/Sf5TLk4QLUUelAcvmlrkQ7F59p6OHJfDaxdYcP3iqVMXQ1+/997XF+cvXz4/vDi4bFnwkfXJYDyYAGaA21PWr09G1sVu+DSsT1rP3QK0wJ7esj8V6MOt8Ho6PyEd/k+yIHC1JoFUB2KZpehzH6TLEpgszN3OdNHqdDI6fMNUNZOoPrVOco/RkEpsTE6OF5ecdEuBTZfqlIeNFf8H2wALksGfDPDY1qeHeNOPrG14+0rz3avXLlmzxQX6At8itLL3LKwIlSaMf2jBjLuWXL3wLWw7Urft/oc3roRHEf0w9/YhWRlx7hoktdrkw7od3jWIFrvouwbrWc/eF3Zs3P1s/Y4afMvg8FsmdIKNYDD6zWdvWzdzvsbJbVi69iFu1uWK8vIKWAO/GXbTTcMYAPrgGnMIGyX+qRz+IbmF+Nh8H/bH8Od8dqh1Z1sbhSc74/+gu+eDlfinnIdBYAZo8qX4p0Din5EjyKRdooVRy/0awyf5bMDDfq070Yzlwx/JLoOFnsnTsWaHaMSrkCEouEVBiIl/0oiIHP8UcPgz/47ibmx4RWN49JHcLshZ2gJ/BO/edvlJsKp1JyzGSdDcyzuvTGHr5d1jvgzxy3km+ozCO8yv1oogu/4UJk79ChzPabvKb+K7/VbU06CKegq/GfUsUWyNEsXWcKtsjRLF1nArtoZbiXqWqCwNzEQ5Bd7ssX1zc/uOzfYWDJs9195zQcOCnvZ5dw4r8OTQL3I8BcPunCd9MXe2IZSSvg7ZGVwSh+yMdRnJoUl3HCjNBq/CQdmlB+6YFErOWIdtjCRsY6xLT6Ffw0HgVfI1pst8RD0TqbCF/LPsHKtFtFqZNK+YppV8E2MwNtqpTn7OysrDZ0ypOJLKEkU8kQv0E5k/S78bO2voK8OXP/jUPzsbyzZu6LJ32aA54xKHr64+D4R1q0ERbHUVj95e3HlU4Nab92VUdOnXz6xvMNhWb755k93V9cPaA4xypjCbRBVMBh7odEbEfUCQQp2O2FhnfZMLPPlRkwvezme3Qo5taebYVhjJYMA5kadIREoXiWM+H53lMFmGkc7gEBglr6ke+QQ9+E5MZ1zhgNhkHi/XiSyjQjA9TUyPPhbcsT2GFEj7UGd90/6A3z4ofcCM0QUFObmWwQkThj9ZONiSm+MrGH3nkPRBdn9gP58NR+UVPDPq5tSQK3NfzzIuBdTsy3SFUm8e9UxBHhyFR4KxJCN5X50PVqDSDEwFGq2F6D5vwIwDnDg7S07n9xdIUYFInFMQKion5bKwCT445GCodM1Ctici7yz44OsfT2Tk+BRpLyVgNXFmA7GUhKBOSXCjFlK7K4SyD9oOguwTSXv27Unis/EVQqjdfHyFUOvZKB5Q3UCnbrbdDXT1TeBIUxMcyhOGb2nGUsGodQxJ8o20rIqzKqpRHWet56aT1vBwkWok5zrJ+RTUUpmirYYR7fUBaXki3nUiLctV0SPnOFVV0b+Hc7hW9J4VCtF25UwwAeddKXlYmGvPUa5tUfK5lLymrgi11ZpmtP53ZkqQp5CQbDEwGYIf2ad6q6DNYbqJiSkpbkS/Cnr6t8JPdrvbVR2LPrpCz47gE55U3gFO2CQZTwLIXrVw0eqnHa4TLsfTqxctXDXmDi36WzsTHFu1clC/vuFN/QatXHVTPxdgQArIA/oT7LzwthPwGvwIftnGVI0LH2JvGVfF7SBHXQ6EGhvgmtABkhXVgEct5Q4iKtzByJyF58mMbVYtg/xcDqkBAyeoI7IZdmTS2OR4bCGsbGoGfFMTWAYO3bjRxoAbiA+WUR+Frms0jopmHEc/9dPJ9CS9Gyca2wQONW1oRAplJ55+vHApZ66lVmgmJ43qSnuysfHTmqZXGl5togmhUlIobgXhso7IjC9gp63QaKw5gk9H0diapoYDLzVNbIy02boF9sMV7AHzLGqXk2UGt6pnpusU9PxJtndj47HP4lHC13BrG7lFLc1oqbZgu+0YGmclakm6YQRZ4yYOB7EUSYmOx1KTSLKEjjWBqoPHjh1MgW+CPpVVVUge61995plXWQs8XFVZWSVHYnH7Junkv1W0aPC2W5TMREVi5V7kyOD16+BdoHvp7bdfSrl0aeKMGUiaYrrhlNmiMdjUgM3GIevYBMhJi8gBdXt5QcfR15qmKU8cPPgEeKcpPKh/f9VwsGJgM+GGGRMnzkAjwnr1IdSXFH31avFtozj6KijRV1nF/r7oa8WYXqx/NO4b/ni0Vy27rE+fIaNGhfpPYN+lCHCLwt+uf6xCGS+L95kIDjT66hYACbhqXXZOtNuj586PGSyKv+JEX6uafjg+h2DQ9ANrnDgR9Y9GvxEsghuf2Y0ozeBwGQxVVQ6vlLP8iHasIPIr14wk9apsTkR5pXCkR1U4Uoq+Mu3Cr57IUY+Y8pFr9zrBc/AW74vb4xWRrF11aP0DtIokwmKNdJ4cn7J3Gk1o2nEgNo6xEz8OWyrFYVnLfSd7zy7aNXndPjscAw4mN+5dvMbxp60gEfSA37qGFNfllD249tCaje43lKpZSpWYK2iFaFV29X+73o5UbQVRUk8oySj1lZCex/WVjBZWi5ZErQW9GFWBJRJTj+yaRddY8qsP8J86daoJTIV7XLYrTxxqmlh5kV96qKHhEAzic/tvs73Iuf1sNL3zsJdO6jsoUVrCTiRKawzSI7Qq3yImStszanXJUSXCzHvrAdOuJ3GU9qldhgfAidFDhoxGb8RgA658Ki8an/wAh+77y6tvP//826/+BWGzAlk4WMPh2CyyXw16n1v0+VwOLF4uQ9CRKToEibHssv0aic+W0IMGJD5L9uu1FjYSoF3h69TVW5QxfphvZ/3p4+BM0z39B2ZaC7KHzb4NrMHbiuOnTdOEsjKHd++WumPTjqfRyjLbkZ1y86AJXdgCEBg3ZvjNeK5wdQU0V5mMP5Dq8Yoea5DOlc+SjuYNTxmeMUouh3q+ZF0XM2PKFYPxZu6NM/MMtZPHxszfp9e/spqOOXQrV7EDpImUcvO7kfUU127Tm0ROiukK7Wu3qWO6oM/p09j/JFdVPX0I/DsE/3cITkAtdkfrzWZkFY/FMd3+FWL/fmL/EdTNGjnSNwy7WSPS8dSM+H1u1m/5WR7MUqQeckd+Fglx4odysSmDppg4Wt0rnGnTB+XmDpqe5qwYNmeBsXxg3cBy44I5w1Rf7Do9foqxbBD9Akd0l/UfoqGO1jISz63Lzrdim9KWl11H4rnLqKulGdL/7sw0ZCAY9VMn1+XkWbH5iYHunEqqfFAadUbSkxjrOfjSRF+GtOaf9FPN/Lu8B3Uot2PvYUXj2Gn5v+Y8wHJg1I2ZQfwHBddsEsd1ynFcgcRxDSosY2xvOY5L7O91jdtkC5waTcQKxydpkO2MT9LosOWkswR5FmiRU8fKTh3Wv8BOw6jYRJ7xOfJbfJ/DGaiRj3hv62muW8u3ME/Vkg1jabEE9ZzA6YCOnEMQgWRu2x3lsuPuK6GtEqHKsn8IvJHGQQL8punQIbPcgfkQ3kAm0oJosYbQIjvg5rXAgk//IGzlCLBcV0YVAcZnWpzUI1Wfa7n2j8ZZUQdb4AFCGHy4Be/MU5qTeDa1cs226TajaIvYugXIcnO0s3el6K9s8yLKR6xeifbLFP9W04zWoF8iaxC2s/EaFBWD+SGyV0hOipxSVYAgsdtjsvcRqdLioHlyVi+OIwgmMaoutLK/GanYQupo5uZyeI31qGq2zFpmARcsy2ah3zDDsqxd7RZu89Z167aGC/HP6PMs5+KfZ8FZBQjLIrLDmItXf5M5OUlMZoRMkqapRlLK6sq149MeqjifFHjMKpGCH0j92tjNsPU/4M1/ntu27rGnm7//0/IVC2bP+MNccfpl1zeABR+BH/72zIqdLgsfOtjYHFp999K1oTm3j5sKT8DO5BIM5eR5AT55zmWmp+n0pkQd47GKHkS7nHYnz0uK+7GlpUrMBS9k+LY9ZAJoBHWR7drwT4Or5+SdLen70PODF4+ylM8fjOwia/mEGfnwemmPTdsn11Un3Pov1+4tt9UMzNb7zV2KBw4BmmMa7snHx8zslW4caAnkDeudmPxyeopSU5LwxU+MElFDK9t4ZmCgU/+A2H+UsWepgR+ROSJ9tJiZnu4ehVX9KEMwgw126Sp2wcpekE3e/8uIGlJxHHr9qq6XY2pKUC1+VM3Yc0CZJqQpG9DT2D6yhr9swF91EFtDKp+b3/qANT+7g+iapO6teTlSfG0M0k45aHa7qOJrqSSPMJWpTnWLqdqI4UvtE6DKJlSnE6qyCZV0wlR4/tnayu3VGx+btmvSXQnnXt/0ZNlTxYmemUtKgeHH/WtTqxvmLf0GFr+wfWj/BxZPXtLnNd2cOeOX2Yx/05p1/9y79dE0rV0z4cDylW/VyCcgicc9kok6QcziOJkg6K5GnRul/0rO/UkRMcQNncm999KShtc3UiZPHRJrVyvv/1dETNPc+vCvRcQQltOQLrtZisjgfRYB2f2Gdvss08BskAlmN8NLDniJBHwWt26QNSHxaDyEPlLFNfTZzdBzsNSPT2DY9gdcsXqOPdDaWNv+ECvW1Dr+zBySp1WDaI091gzkQ7o8hqDLjE/UJiQn2xm9mCq7K9KxhTinal04WEPPqmVlks5H/THY1L1bt+4NUyc3vWF0+NYvK7DZprue24v3yEaOHT2Z/TicUlfHftlyVti5b9+Y2xAWt6BxIZOByWYKAolJCWKSR0yScUlJT/dFDvjKmBR0jItMBwmf7ip81jSu+DWMJNJQrOjtBzPJipyEYxKCxyB6GIQRY5NVpnLjQ57sesRk37MrPvuJbXKkvXDfK+/Aiys2rr/n3k2u5hPsNuia/ad/H3vzzJFFc+6YN188S2IUUn925MHinZAEk5jA4OqIqEuHevGQ+yQJY/F6feqdZvY6eNeR9HjNX45c+mDe3Qv+KM5H/YKmULuOJY+LVJ9MQzokQc+LyE43J4pmbVDLBAWDeulSZxBhLajyuNSHDjht3W7DA2+99YBxN/a43pB8LRd2r5AUbfz5nOxwHVGcLeJt4d27B5Av0w2vn1ohuRNaP+1o8PZqpYRQZP3MzCanuHGZDrRi0U08pMq9aZzbxUSfgTgDW488dNe87FmPPVkGhhvgYwPmBkpv6zLh2c1j4fUPV96/fdHSzVtdVz586d0Ub+KYKV1nLexpY5FLw1m6+Lv3TDMl9L3zL2u/gfDIwfs27ahbf39d7LmG2HMG8rkB/BmfG0Cjk/dgOSUSzAYZjZwDa6f6Qc/65G3Y8LvwC3Yk/ELaiMU7uXHy9qWbutDn59pn/f7/3fX+KoWdlwK/AhkJ4S0J6l3vPuDNlmPgTdgnzk49xnc7+VxJPitUA2+Qz7FZy1LWOfo8geA/k45XOr2Kz4vwokYDdHpRpwsqx1Nk/J34GLD0nsl90xrkitH7G5xwFN6J3jtCodhMaDXNwKMKzkp+s+o2NNy/neO1IlqZyIVoeuVCNHwenJ5Exl37AL4VDbwCh3BrwpvAAVjB1h1mE1kNQqEl/PXh2Bzp2LwTnC9M85YRTrvp55j84ZFS5iPOynJYDQbeCHQiskYxYnKqp3zaDHvY5IpFmxf96EkvWbSDn+CExvONnzXC8aBPD/AV2yv8NjxbxG1vndMDdCKfknrAt5S+8FkotEpoXThPzpaQYOQ4nLguZ1jiqH+RXdrR8cs3J2vdfrevpCf94HXPvgq/x9x041M4rxlfmnzlqL0X+ImtD1dBodB19OgY8D9wGdpgUtVRNPto3HLeAs6QyAu4zQK+e1pvYnlWb8SXY8t5DAV+ZPBJ93KQdZbzcfgUcw76/TPoiQSq5+n+cEd/WDaxaR64sh5krMeCBSbC/bwNn1w+FS5jG5Gckj5HSjkZeQEvjlhoGDPeKDdbRTNOOVYOKfnlm0CUm7fRm5zjno2E40tyvjCl5QXUIz6bVBWC40K0M7mfbKkfRFe652QWWJZ2o4sMzK/0Etl9Ir2MbQSBxkZ4PPwF6QJnM91YgDOZonvRSb3gVQWLD+1Ar2ToFkn1f3y0ppYb6XU6ipqvv2Z3fPttyzXUPMI8FGq5LA8AzY2iWYyIC1MDDmlCbESzmFS3lav0Cm5VKufGHoNVoB7UtzyOZyR85syZiE7Jxn20bo/cnk3GsYPcSEjiSTrAI43AcUazaFRyBHGWpnwPJD4xCAiV2Afg35uPOt5shn9rPYC6YgG3iaRfLYBMNJ0oj6cy3QPJyaliMhukvG62UW7HyV8ysxNeJ4YInpcSb4TfSym/4xF6KRULL8HreKCXm+CBujNnjoRvR1gcBY7e4EeJ8d3g6Cs3g+8J5ydPfEXCSp1Hy6b9Sh6tchMl2ykKSnUTJa6kABdiTcwk49ogJi+XJHKMDqlPx3QyqKSTJDYu2839WEeJ38Vq8V3SJIqbxyHb2V7XuOmdNYGTm9cDX0ZCY0JGy02P3YYYjzFv+BDoas/CJffDQT3G9IKDwf7sfoVgSV6hDpbL99yvQ34K4hRsZZjwsSdD0CAEhWQ5Rm9T3WYTdbe9Fxd7k6voROrM/SjfV7QNHjQlxa80R2oaxd5dU4d8Juynu5lOTG7AY0sWbcag3pCVKWZl2TiPyLGk5l6F5EiQElUxnjqNLzuxg+6PdtrrFF+9MbjB5Lp8+YrissNizT3EXX/caeFfe6axedbU8BrhEHXVFc8dz1U2wnABP5LxYMvT4hQtFrvHErQLQb1WVQkMYNeNRU5MaRrr8Gbb/TYNvjA+TaPx9rpj9NJpq8bkacD+pvAGjQYWz/ju/g9A/okH+/510OP/gl803slxrYVTV1+YFrG86pAf0AXpIrdOm5gnJjJ21LPNAoKML3r/RMrSoEV0pDvbvVq5Nh11HaPsr0lbPlz03N5N937x7+aGWfc+s7B6cs3D781bfPbBxVsfWTb/ga2uu/657uk39J5u62ftee6Peyv7Duw1NL1TzWt1D3646MgzDyzd/uTqNXWYLvsRnkmIi9JwFpWGdzhxFpXeImKyJERFgWiExV6cU5JdgiSToOd2abT4Xjs5ghFE9n4RvARCIHl5/40vXwNPJWTAJdeW7Q2UVr7nAl1OdXYNPgHYXi+WLqu1vbh1Ra79NU8SwuIwzOB7kf0RXNHYiFkZGcoeUVBfFIKphTNC8+glaEyJDeAiZ26eITEUfKt927TGYTchS/gcGwy/zY2ED8NX3nvtgcdhRkOvBUVlwNIK3gOB5KNHv4ZrXnv6r48/AP9HPGHEG7QCdmrAbsBcYY1TxPn31sBuWcWvkG/WkOJs5JwxjrOxvx5Ku9KMg2nNV5Ys1YPr+qVLli7RQ51+iQtMBCvRC62scCV67edbP/juuw9ajp39/nucabGKxPJwPFWq/o7wNsav/i4VXW99bjdsYpkR945elDBqMy489+Xh8KIVQVJnXcqw2IAoYqG5daIOeS4GM0dj3iZlr6q7t1w5/4FL9XgBshJAfZPHOmYoeOQx+CqY9V8I3+GzW9fPa5wIwnfD2eEPwRpI9vNvwtVO0ZxjzvOkpyYnAY3BYxc9xqBBIxpAZD9KCs/myccqijxeIBU1xUqD03q03E3gxcTkm3slZyX4S1fu6gzY5Fv7kg+r6rq8mJSef4FPGzdthO6oqWZ76zLyx8Kd7BLd6mD4fhoHKCa61ItjIXrOKYhuu9MYlHSqEWilmqHS0XQ5dy62HBz2kJ27VPXgOh/eU+BEqkfgw4vmL9+4hx3dugEXIrtwIYwrAjACqU6F6ZwYsBiRrRLE06dVxo59GB/Xjc0r9Ti8Tnoj9p/ybp4/cenOvf7pJpD5OVwJ1q37d23mX8vhL41wjVS1ajOSp0JE2074/rXMLDHTihrGe1kexo4DWgy+60xmkKKIUsbyLWugUiJcWbzb5tNqebfLR0RMI0W32Fmw59HmkwdWroRN3IZP4Vh2nGU/DIDe05C4vTXitmnDbnKBsbuPZTisj21asDrBffSo9b/w5xCf8u0BLHc3N6SO71VUFie7ZyL6jO+LICe87AZc6lfweKJzcahV7JNsq6jahnj7m63nbW93H2NJdSbk9Ov+0OobOFMn/PGYITx/VKvZ/SxbSDIl5Wq1FiYB31yvd4tmvTHIW3GRXalGLL2XCJ9AyIgUhyXnDHzI6Kr/+Txo+vr9mlqDCzBL1wHTVdRipy+uh09FysI+uZWUhaU5LNJNhmhVQHrObnaJNhwTSBK10XqOVgYglM4jJ2JiLmX002Klr0ybMWfhhPM/Rd3LuGvLxFWb65HGS5lUeifX7nJG9vFNq16RqrQfJrGRVJxHphMSYsIikrVQ7PDj8pFxlqBbP/7hh4/ZKXB1/zt61/xzw7y77543fxkN+4eBO5RgEPfe/tC5paFjB/c+99zeg8cYSVN1I/kNpE+qqszRfVJd5Y7VVtxBOFalr86EQrBYUliA0ZCIPM7dQO06dAK5ZCRyZ56fcDanxKedUmTLxq6Ec0BRv0VP7L4XHD/e5AKHQGBURWj543Dz5cvsxvAieAvS4ePgUH4ikiZ64jUH2TfkxKsgarRBeuwVec1KvTxq+QMnPu/K+Tl83tXptOXZewLkLArgey+8GRzyNHnAIXiz99S334Zrv/0WDgX1ncF1cL0zqIdVnaEO6jrDKu4EuLlbmO0GboZ/7cbCbpiC5QiXanJnRE7Am25JA3YLb0hyi0nWoE0gmlMbUZsViHcBp9KbTqRBnGrdyY0DO/dkT+xPdOWah0uDQHMZVu3OmXwT+Zd1O8tnX4eT2dNgz5RRSGku2gw/Zj1hH/zj1JHo4z3bgSn8C9lrG8oPRhTC58wceiZo4YUgdZ+NiuakayimC/GbEWkkv9kJfrLC2Sfetx63vn8CzrYiYvylK7jCOsLfw7e6a4pvvNsd9CafTF3heNwbmu1eaLZ92O62WBiPB3WHrBYxOVK0Ezt4cSKayh/KnbHT7l5Bw5n4R9Oq5bPn2HX2oBLMnDQXXIGmuZPGjsSf9z6398UX92IPYZWc58wGSIaf5lOye4UmOFLtapWc50xhNGfeoF4EBorkikyNaUl7hmFsAT3HArcChytEauRKv+xI2iOtJ+FxqHokMKRHqfInS3vEQJEeMdRQVUtaj9xjkk7do5LLzQ5W9RhdGYzMBYGpVGOV6VFhNVLZfyijMLQifZpR1Q6xQwlMHwpDc+LT9VG3chTTPF+2H4Vpd58ItuUW8nci+fDgSAO2XISg26DlAM8zeBW3VkcyJRztrBen4prlqayY0C+ZyU0OzzH4lsqQmQv/1vnWPvAm8Ki/IuUyXIRtvQWSza9lrMgnRH6Gx8bwJuK861SmdHnEe8+RvXhVrRm2CqaAL8GX6KcF/gh/BB585VLF+PGKM39E9uLBqvEV+N6lCiwVB6TqEgYkFU4NL2LtyokCH9ThpcUkmS80muSza0pycILIATADX+jXBPoc5fkFJxa3dDuKqbgCtTWU+HOpaF00C6LBrAk6AI5b04ak6jX+kmympFi5otDuYjRosTgIhoFB/4e6Nw+MqsgWxm9V3d6y9po9IZ3O0pCwJYQY1jbsEBbZjICACJi+IEJAWVWEsEUWRYgMIIOAgMggKqJGjAiKeQwyChn0+RjGlXGUQccVk76Vr07de7tvZ0Hn/X7fHx/hdjq3qk6dOnXqnFPbOd/fdrRv1QD6KDpJv6X/xNM/OY7WX/hx8oh1dy+iYz+i819J4zU9yDl2t+AVMnzOhBSXFOPJiBWFxBQD9+EdHXRnoC3St+a3QznGHppMihjPeWVQYu8/3L/90Md16QlfX7jvntLnSqsmfb/1VP2+yideot84k+LetGUvm7toxYr0J++9/a7S0nXlU575w/I3PK6kN7bXQghnYXDQr04q97IgCSQy0hQVVWESlbM/nZU7ao4i8KUEbMQvqA0m754/gD48u3r1WdSHkMbAi2RXYNpRegr10c6zDWRQU2B/MSY+SnLGi/GiAOfrRF2blaNFQS/SBYroYtN0k8fBtCNRWyzi0Ze/v7Ri0bon6KU19891YiqfdfZc0PPKZRpw/s+79y3d8ShKL8Ff1NC9CbbrV79oUOML9zJsZtKaz/pSY5KkCCZGTWYJGubUYaD6blBv9cSLre2OWLH0HQ2gp9ABp7wadmZqzn5/5f6HVz24fD0c6zN0QU+ig67aZPnz+xZfvfBF4NUdG5aueqySXlNP467QPGYQwYAlA8MgSh2h4A2Un+RG6E10QP7ovGinCeJ5eg5937BAN94ShSyhq5DpizM6HSYxKU9KEqLTJcaxQrauLbnB3fjQHFu3/qCPZOEI2+r4h/zMH1Y/9s+L9V9tWrVtn/yPOYsWzbl38eJ7H9mw4RH2OD88venVdrFpex587o03nlu2p11s+iubTn9Ipt0zsXzu3PKJ98jjGZutXr1o7jJO+waOs0r7eJOTWZsmvjtkqAgO1NBJrvicTJvHqDrYLcgXbC6rQBRGAOxuOPESheY//P07JNK7hy2vol8tWrHOWJuMUxWC089pYxcq0dvxC49VIieQP1xawU2hNJ/dGeGIFAUxWhJt3Hhy6E8xaIKKR9FIR2yekIPiNFElx8SiT27dDWePUUwkzekXFFX4/Yem4sGnGk/ghHkT5df/2NSEzE3XyBK8AJvwakEI1LM34xk6k/Bs9mYNe3OFvend1EQm4AfZm7Xszd/Ym1FN35CReD57wyZsgYvsDdOWZBqW2JsqtdQoBlnCU9ibR9U8/dmbubzUevXNNFZqJS+1QS0FeWbhCvZmY7DUd6wUvNnE3lz4fxVnkkCWwJ4M4AwYkwwyybCR/b2G/92b/T2Bp/Mbn2gUyz+S/833T5CPpU+D/RHAlacnEon//Sj/uz/7ey7Pv57/PY3l5/tQgKWaPsvwR/b3RvXvNDX/Jti90/D733hgK9l4+PDGDc89t6Hn4ME9ew8eTBJe2rL5+cNbt7y0d+KQwePHDx4CJzm0FjONyHSxmdmNBPlFphMNRqydGi7gN4xtpsIikN5o/Lu1tTv3kowNqG/BrkLq3sCgqHRiI5bNLZBNkAw2f6RBiiTBuQUqzAQlGNRCJqYD0XjUfubQUSV5q0fev+FHFEMynipfdmenKrfn3jt2roxeD/ipFBcyYU6R1i46yiRIUSbwhGeP9kOUF6Kteyk3ppAxGEtBVX66SjU5hjvcOie3fbvbClY/7Iu4a/zcu0a48uf1XbpqdL9hE/9AElFM9GZjbN9uC0yehK6pW60xg/p1GxaTEFna587pgJPa64pnocgoSTBHSkQ0mlU/SvnFihUPGq9A0XguTyHy4eH7ilbtHDBgJ1kvov+hf0IL6Pr1kqS0kvMNxAL2uaJJhFGQIox+J5vYO/0xNikGhzbCi5U+L3DyJqqazqTZRRMefvTN0nFTb+m03II+oJ8YOnWZt2wjSZw5KX9gvxT0wPrymDvHlc9nnKVypuDk+/4OlyAluvyxiVKkOdYPSo6oa3oaj4FGYPNMl065QfUuJ75r7dbPG817N5tjJ5VMuWfDmunTy0ni8gdcbx6zbBAnTevQadodM+auGDF0+DBoqToClNtDIhb8oM+U5kHLHIxUNjfBHde+shO7j5IM9PedKEeuFog2VmDNQ8iBtYF0QcpM99uNCZlSSoI/KkWKUnlBWadRRkaRXoupSkxB3KE14PYVj0t33XHX2iVL17Jf0uMr+/UrKRk7dgxJvKus3+jIyNLeQ0aNGtK7NDJydL+yu9Djvr59ffTLsbfdNpbTMU1PRzaAzMhvcJmBnDGJUgzRlkhy1dUKnaKCI15BdNDmEA1XrNvyeWF5+XSStsFwxxSFgoyiJ15EU4YPGzEULKTJKF+cJMLMO+ZlhAXYPVCUoSMHxddMInsmofy1eNsK0GKjm5rEcj7GY4QMoafP40yS3E6/NdYtRUXGREdGG2PtFWFj3xoc+4qHKu3ktkMnB1g9rQ3q0Vw80GmAAjU3H+BBoUGNgF2guPmIZ9gye2eSim2q0NeXZYt3SY6keCk2OUnDN/n34JufW9wS4/BBqUdWrg8N0BCecoDjeSR8xBJhMscS5JJXKBIG+Drkde0sdezWVWpf2E3KykkotFc0l1ZOJq5cCTYNVUViKXv4Cq6/S3a10grU4ybijP7YvHE3lW80nrd3e3h7DYyHromL1V7JFjoJ3aHNuclSTq7f5S7IkToX+GM7B9nJ8Zvdo43SZv1Dfueg1XfcL22N3xbclv2bA5q1tJS3VOlZH5vfjBLG+AoGFEq3DvB37jn8VmnIcH/7IZI3JzsrJyuhveN3drOtWbt/V1+T/4AiKPsmTHDjpnS6OUNE/07SaZRbz3ezC4XewgBhuK9Ljw5S9x7+zC4l3aU+Jf60PlJqSnJSSlJMmqMiWmyh6Kw6RdeSZm3qvf+EddD41nQk/ezmJGqmQWns76bKZJUqcGLBI+QKBUJvX5Y3Qcr0+u1pXTKlvC7+qDwpMsJijjAbohwVBJu4UlRI0QoVVB35H7W5vaJP6Tc3HzCqtv3dwwWht5uu4WvIydoW9TIEzOYTIm0OqS3WqPGwnVoEbFZuMy3FZwXKJGnES3CRQNDCH6PNo75axBJflEeABczhhyKlRtklRiLGNUZTaxYwaa1aLdA5sWp/Bi4HMcEcE6WGWLBJYqKkmCD8zs3g85MdGlwaYJiGgDb24jg3NQndWY8vQU6cg7fRCtYI9hs8xDCrfpsQbJOB2TSsRtamCOIXIyTRUYGswTYRJSZUsN6fje9HTNaiuteR84F8mqlrw9t0Y7ANsL8Z5Ye+iPELISrlqwcIGEziKHDgMpUyucaTEeItGpEaxgNsNgeH89BxTArGM57N9sU7icEuxqYJ/oQ0KcFRERlrlqJiQzKOR31Ghd2KQotNmYpFYHS5whry47490ydNPu6rGojIk6c/vLI81KqpZ8pnrBs2ZvKITXcveuHpv20ac/9oXSMZTttpJb9TAOMox5eQHpUqxSYl2OIMTrfApkVO3mi1xfk2ZTlM324Hj9LZvbCwgCOmbYmJeLxKi2RA6O19e2ZM5BhSWUeY0hd3X9nIUGJYTq9SsWQztrdxPr7G5rQm6Fs8kHF2F7SLLCfXWU9EvGRm5qCgMhFg0F1ztYjLRq8eNWr1aP6Jdmnf4BOsuzkIi33EbXxVzYGiYnBkBDEbRAvTrYLfuJrPMjjJcxxZRQbGLFnxBoeJoAX7Zbp3KCpN+igJlQ6le+X9nyG8HonTz21BEq3ecm46DaxHxYxHj7PZcQPjwRz8FP2ecaUJPwWXohmVF6kresnMzi7ypSbBtmKKg8Sa2kVKdmM7wn6EGAuuSAieSlLu9ymxtwv4vm9BG/7lwcM/ePOnzTzJh7zxd1T97Ld0Gq/5zQf6TDemi6XG97n04HFOtGOY08lXxvSjRyFPeVOJONU4lOWJPAabT2uFvnAhAxWgcpJZH7hcazLfuBGWL+plnk+VYCwjWR+4XE8y1ZwooukWctU4Vokgb4uVTDa/ySKZqoJnCJT7vTrf+eQ4fZ3+Idw7vrMO/R29HPJ+v4c+dAzwPcug79egKzHjIEp8EHp8ESxtWQVwTqJUdJbBRIg2MZhd0EA0k26nNXXH0Ao0GZWhZcdoDr2NDqNuhrnQ1IF8YZzAtLLH58zKjoyQIiNdQmfJJfhdKZKrqtkJFj5a+EWNQsUNijJ+Q7urIRMldDWH9Nj7Er5tdvuce0fjl/b2HOFO8NyaMmiY8X6//37jsEEpt3oS3CMunX5+7L6yW/om7srwdZq0e+yzr0RaDhkME0bfvuv2u+/FGXjelIm7xky82ygeskQCVc4zzF/UMLdZc/Ok3Fy3YJLcgt/NZjEtMQ8tfocWMZuvgPO7N64Mo9oUtKjHyNawHQktGjM7p/3s2/BLlxiiovHuiWN2TZwyjyF6790M5dETDAaG6CvPjt09qZMvY1di31vK9o19/jTMdBcwzK8apyneiQSDBLwlSmhdkFu0k5sLcAUdjw5dMt1S29C/lnNCB9IrWFKJ8i5KhmDJ+ELuZcN2Fu2i03DFpVrDidobdUCtv7Gpyd+4rREHHpGwQQydzFUOKSK4J+hC+Hv5G+z6Bj7wG3b8htzPLvcDCBcZhIsaBCNiEIjJrvoEsymHTBQIF8Gx2zfwEQLA5Mp0XC6WkgxsJF5+gjj4N36Bn1wYyP6WSEZwtK1URhuMXXCLUV7Ddzy8LNfa1nN5xak8F4Ot5mKwj3HY05tGiaX8/LYy4s3KiFfEwlEmFQAfeTTkwSaSKwiNXzAJvpOWklKBMgn+BntTwfLU0lIxm9kmOezNx40VTDa+0ZTBU+rwx9zfbQ4+0ZTBpeYJ4WPezlqWks1T3oA3ShnACu3HH5Px/Cx51Mtsoo6tSlsQYrbOfhSzpxp/zA0HhHaynKWt5HS4WVo1SqLfq1kZ1utZ3l4s7yD8hviRIJxkUxU47ygMFXuRj/juWgdfIrIYY6INEdgcaY6MIqJkjuX+APyEycvc/AK4Y8O5Iov1qcvgMhjU32IvmoC+ovUoT76hfRuKlm9Ey69+ZP/oavAbq3EBq3G6WqPXlxDFGNUUG4FJZIzRbIDDvmbGvdEGvjgR3KPKKoQfxkTqb7wM5bE6vgpYld9DeTV0+Ua6XPsG/XtNGEr287pSfFZkNGA4jcvbw1gKmpQb1hqyXx6Ia2gHdEnB/fJn9s9AijMob2tQTJgYRUNojOmgaDhGoEu0A64ZCsUvAyaM+kkkilTz3n676Rbe228L53hvf0ai8Fm1D4EHtT5kOhr97PzKyZKXy8tZXwXKcTnZxnncJFhfEVjtyLBS0agKp8MJj0Uk/cb7rAzjeBgZ5JdXdaXAA0o0slgMgpmfsOajRI30EgKhgvkxnUShoSRdAcWAoV9eFeaSk4YEwcHPa9gki9Vvd1jMyhqWxSxZVqonrNS4c0WFfQg/8VTYieQw0hgPXFzS1/HT7Igtzn7LPthDauZ+N2hcng3lncjDMbnjh3wnf72E0SRQTs+SKC1OhcEkGVZVwFGllUHbVA19ivs3ZBou17Hcu2rI7htmXvb/O45L+9obUgxfaDheHTqhU3MccZAWJmb3dPKlGhISJdGW4BdYFchq8ScDoyQZIf4przC+ODcYGruoEMEP4+ZmVcPhGFJzo56T6cYVU0aQTGiSHU2AquWvvus/tpNDQafD7Qo6Squ3MWwssM5pNEjE6LcwgWDxm8xBykF7ocVZEIaO1e5CZFtgXmAKeYo8IT+Aq+Zi4SAWvqP77XSf1sJtvIU2aCGJiZbESDZFsJklU4TNj4zWWAM2gmnQooV8RLEfg76qgaQGqgmcC6xs+MCQSx5RKk1YguOUSr9DP59AP6sIsDbhTPIVuaCcX7ULUpzdb4iWDJaIOG7nWNULSeqcrhNm81bgXaay0zC/RFsAk7r3ey5ctLDnzMaPyYKSC8XzK+YXd+l2djPO7DWq16S0mm0lZSV33Z4/8Lk3YIT56Fl8gvEdEYohJl77DvyeaqJYICWK/sR0KbGqAqaeq/S3zPj6OuPFrP+VDYR+rAtkXPhKM4O+unDnY+6EvvPzFz2kGBYPLcqf3zeh24P0rOnGDfPUz84NWDNYNYaGVQ5450NuDC2ZM2jFINUYGrqi/8KVijFEAiXMLtjGbCGIAjdGKPMVDB04sEeXgoIeRdKQQYN6opKSnn2kUQmJI8WePdhP93597RX53a0V5lipvdnfPkNqXxU6PMetdi6PFYEREhwFDrdTO23+e4yp1sJ4aeG7WNeBndU9Tf4Xemlv22YWwiNbmQygrvApd8SeNPkty+gZmV7/bai8YEa350/f1Bor8ndvO+aWtzh1WkJPxh/ybMYfGzl/RMJNEtEigRQ1g6UVxhcqR2j22pm6hitklLwEr1a6cY4p5WhDfzbnIIG+vIemgb9SIUcY5st1xMbmREkZcTkoLS2L2avxWTnsJ7pdsr3CFm2tIEYpgkgRpqCZHz6fgv7QPGQ5FJuPP60RPBQj7U55IzpEx+MK9PdWaCr/Gb2YRrvgaepESz4F5qN8qm2CsZH0Ee7CtE6Ztr4QJfBQVEZ/dEiG6yb5WUzjyLO1ef0esRR30abx3bnlJu9uuoanIifTn9vAWRjTn9uaFoAd9euPTdfQJCXlRheWAjlGKTnoXHAR9Ms1NIdsE1P46kmy4hlWjLNKEXFxKDVFSkWgdSsBLet59TYaLE2wftNh6NZ9N7A0GmVY/+NXKsb4be0LM8bItJoaej5sHYn9PsWaQW54hUsMk2Owl8Xw6OxLMSc5pZikJEEkEmZ2EEPEBBupSMJrQhJbw0kTqllt4EW2NW4UKwL7yKSfMrUVrIPql0uo6iyqukx/ttOfZzdHjtF3EZvdZxt2c+od49T7Y5MVLOPARzrqwf0pa4QoRSDQa80Ix/qUNKOagVvSgV/rta79ngTC6cPoovWueAurfbvau9v1vaukqL27Xe3d7bx3jb9cE3Yz/K7x9T7o3VyhCM5nZ+flS+kpeX7o4UTBHiUZE+1+iJBdqd09YEirZ4Jv0s/AB4Y20m8sb63/Gxa0xhnk7eZEBzJE1dS04BTGsYGPgm2K5ZyS5Yt3JklWpx/IHm0U+Ehi40lpC5C/+YhqDffQCNsoTm3cLU4N9ksIuyoFq/0hbAjH5hTHBnAp9GXExtgdDJ8oJyDhiJbsDonhZDP6mbllt0r2NZoc1O2y65f0NPOnVdxqSLfAOXHyr4da4CbbL6MIO4q4TB84S316DD8J0gsw7OpLZ+jEMnRipRirpGDqYORySDY7XD7Qja2WsgipoywMuwUqMoarjXvEyYFzpNuvl1vBTzfI6HXd6FpLS/EizsU7Gn8GrsU71gelmrKmpvL9Uwrf36hjKWuVlF9EzvdPNU7nJbftBCtXbNpJAobvuJXrijYZJRtmsxosWYkpysSsPs4ZBdbz2slpg4PpAf4UgJNm/siBr+U04nsq4BF7fnP2G/xD4PmnyPXGY19PRxdqUI8aVE/zauiZGn5G+pexao3JcOIgMtofEcnUkFIpYfWbuGA/w5jxjBozstBdpD5KnSb1IY3ntjdcN9w3ryHd2Hver6NNkTvO7hAvNrw/z/B0A55nvO/Xbtuno/yaT9gP6kbP8S/0PKNK4DKnCkipPwZ8GjVafb+dvy9hUm228r5xvyrVxoNOCMSxlG18tTpVcAsdGVe77QbiFM1ewZ/hlTIcFeluKT01NUFKtYatXfdVRtvNF7BR9+5F6g1vPRfNab6UjfbEZ5hIZcBIGhp63WxZGx1pPzO3hqaz0Tk+xFeNAYRFUdzG2re3cSNv994zrN2/lMJ7w9tCNvwNqT9f4a3f2zgB5UE5poeuMz0ULEc67hLgfVOJmG0cqoN34AyMr/KmW8gF41jBK+Tx+KIdPelSvMcfnyjFV1V0yc21OKxWS5TUtUMHcw5CZoNkMVvMItgrgmhX6GZvPboov3HSWuRXu1CgWxZlX4hishi6FTHuzaZ7WovgOqcPKqW6hdMuAfpyXzo2jS7mtguJNtM/pqHlllYisMagjNDqKspAMYo5c2TiGLrtDqDBWHVFNGhL9+wmJfX0J7mlpKqKEQMGmEt4y4cPHKhSY3CH3DEiEMISTom27OibEOP3zSWUPYtClU75wIPEzaZFdGMrtMLDUZtrrj2ZeS0vDFItN3PGaIv8TBpeKt7m97akXXd/0U1XZU8/321GgULOh1KLvXRbYc8Ehas6kFNB23ekr1NykhSX7IcbVesqPDl+j4UZw4yQmenp5jSMfy9b5d6EkKH776r9a3O3zkn7lCVWeSNN1+iAqtEHdHjL5uM+sAqL+4TsXyZ5ylkDMV/veabxO8VeEeKEY5DCJA/mkl1JMeKn4hRqXCOnmETKF7oLJcJU3y0pnqwk0ds73V/UWypyVMR7pXhbRcfu3S25DoUunQoKzF1/P12CtOGiqzXyaEe1QIR5QqKNzar5rIFTTCfPWqXcS5H//HPdZb4pJk2d/wi9H9JUCoqpmoxrQcTjZw7vvPqYslvm3zRo+ANzKvm0AkgaqAjqepWy28Io+wxfURODKclBjmqfEhfn8VhSVYJlxcczVspMSvo9RAsnHPdOcZM4yFzWA31gbtAaXZQ/0Ah8o6GAEwO/gm+0pIMymSILjh6lu9hU6xrsTGHGG6PISdYy0FX9fJmu9PQIp9XKNHBCu3amRISY/o0wRZh4a5JFwc8blFvQBhv8RkRn3g66pc34zeK9DZE3j9Z8lMdmZn3VhekTkeuTA411mn5ivM7ek+18B83EZ9I2MCaMRpNkrOQT6bVBu1bZVkOgTdkT6MI34vCRCWRjY/4EcQHfaBPTFaNVEAy/LGeQtwUhxyqrgLHMQI2JsPtNrBpjhL6K4IKVVktBoVIT/P5leai2XaL150pWIfsdrFOple8/8BZdZ/VGwl1XgiMi2dwoEknQrjUVosVkkExrdTM6bhPzZUDkgWV9Vxd8IjBGfqee1bhNnHyJG7rzG5HJTA/TbmeBltNYDedUWjZwvj/QNBtsxV8+ZimHlZSmUm4rHvilQsnROAfWmHl08G3GT5QzlGRVhRFmbiqPQBQU7rHD9curhvV1hvVHjxo/+TX9KF9LhXJ8f0RZm7arO52MOIFyUxdlhwS9TaxwlkDZ0SaZ7I16QgIzO1eAE1K76UlxjvEck4BJfGx2YPZWamRUTqJbSktMFFJRgmQgCFd4hQzJNdWh7BODp4fc85yJYS9AjTfCMI3TOziAuyHg4SmrW46tu4F/yWbfuu9G06peefeFvReufnK+W9X27aj74cP0LPu9feOKRzYZ1iMffSP21V0rdtiiSM2BmnP0JPKJ5+nDpzdk0a1Z/6Kdr85eYqCd0WLYJZnK8H+Q4Z8gpAm5vvjo2FhjCniUNxlJhRUlS/HNYstoXsqRLZPZL1kcZ6a7c2z5/JKgyQZROo0YL5GvogSEq1a903nLmM0REY9v6HTwVZqP+lcfYfgU3Iq3oN7ogXYon140Thr1xDJrY22voyWY1ot2WjRGzMmgP8CtU/qiOMRQISQK6YBdjNVqSpOiIyLMJrhJmSolMOwiW8UuGxd2sxeF0OvO7QiGnjMu3mY04tGXr//rb1Wr3sjdO+SRIY8NSBi2azhdu3R+xTL6IuqTgBJ+/BYlx6E+9O3IuVOWLkyWi1BMZE1sNKZnyOytx1PwG66jjHem0uOMeseELGZnFwjDfV7s8aSjjAzBnc5sx/R4Kd1S4YyL6xqVLTlstiirxRJrnmriZ3Pzk87lB6UXv6DMPqzv5QclGcpxZEMEH0e8idE23hFPeEuIdhvTQ1iGHMSs7Lh4RzZyxjuMRrRu7eB//vuTbmvzYmKLu+Wv7bawcEtS5ktWK4QuPBkbW7S2cHAflOBOf+GWISeyaJf+j02fS48noG0voBdQNrq3AGUnBEwoOYF+3HnCEzlpASOCMINnE1BeVKL4X2LA3t4pZlvkrz9YSfJ7fQ+x84SVYrn4DfgfF3r4PPHJTmy0WqLNkYlsnhmXKPhTEqWMFH9khmSKjTVHxvgjhc5qe3P5b2XXrSinCM6j5BTFgyeLongT6Op4Uw5ckS/SHeU/seCV0mHHHz5+14NLprz88IvDR7y04M0pSx+868qkuXMnsWdl5ckZj22aWbvs/a6dzy97febmzTPfqPyoc9cN86dMmQ8PjPhHGM9nMZ5PZzh3ZFhne+LsCVJeqre92ZKUmOGOyopCLrtNirWTig7IJLUDAWHR7uvm5xZwE5cHY+erwvG2HOUGfIjdwGclGwiE8RrDGjH+K+yG06+/kHTPqUnDH9/x9stV814et/7huYW79tF1O2x7hyLc7mk2MPLQ8LN5XQl6z1NSU3XwXQfqQi+Yx43dWOGgxYlDazbTlzrR98T9ZrQifeeA2+nOGPqgZ9vDKidWGC7DqXnWqiJfRnaO5Mz2OyMqbJFRkj0y0hgrVBjdiqeXFClO5+lFWYRT9uFDcSJg76aAh1AzhXt9gZUwbFQ9v9DtaGa9JNXaE3TeX9aTaSEHMGjykdmzjzT2CfcB03iDCVgkjFTjdbaH0zXxlgRTGmpnQu0t7CcqJ0PKsVRYoxxSrDJgFK/tMMMoLtbt7BUA4zBl310oCPMmzwgfH4zp6UknIxdivLDSi2yXH6vvetC7dPCiA+noEk1CBH1BOw9BBWtXdNp/jCaNQt9UeXM9GVUNKHZ++cPDxx3ZW5Wa1jWvir7GxgJqgt3XPswoKzL8kUn8jr7kKHOMFGkmFYkpbMotMRvfiSSnEOcXuE4p5sucxYoudtuC591D7lpgX1L9wabIv/7z6vsL1hev6n2/f/6yebgLXYcc9F9oIc794v1LXw8t2XTnmqUVy8U1Nbtr9vDzASOoR5zDaAhefeJio+xSgsUouSwWIQbIFvQSAD6cC9QNVcW7OPSw1Z3PSZZu486SnUxElkXMfmA2XPJEP1dIcX2ndqRfoBfpiKlnd1PPiVjbzr3YXHUIZztfNTMz+VgVTXjj60UOhkea6rXLBmt6SuTIKIskRkngucuqc3UVvFWq8znOf3avWEEOyym4i/w+k7yn/lElJtfSlNrXq/4hcA4/KT7ENW2KkCF09iUlutIkW4Zks8Qhl6UiKdoSK0WZpxotinQFjcDqes9ezP0EKPpKN0LdNmNQWyEbm2ba8Fz5O+QMVK09m7/1jmo00/vWg7QX6lG9D73dZWwmG5z5PfEO1AstVLXWyC2PRMl/l6dF54pcbeUNE72Z9Ed6J90ZZUb87NpAxt8Sn/n09LVLNCSJqWkCbLHnGtjosOdmSrmWihh7JJc0eg4HT2rFqocrvnsNa03Nd5u4ZzeV08MnykWFA5FUJ5/H73jn3TPs2VHrJ99YVfc/W3+m6+twL/nWgauXTPl0btLk7x+68uPIkei9LYe39Bo0eebgWzeOv3PDI8vucrIXPQeOKsvvdDar/aMPF1UkOdWYBEdZ/yYxOzAuzpQoOUQkWU2CKApRrK9doSNwbIAWKKf4lVihIV9W4JjPg7gbq92qI6uVy9AUWoM6fE//4Xt8FO5ahT/QnFn9ha5ZVyX/Bad68kzgw0r1g2dMZ1K7qy8pKzkmXfKkpCQkCLaIqQ5LDKnI07MZaFgwsGzqObxCdw6zCpSYeKBleGg8mA5ac8C7uifDxH4ZbXAeyu0aj3LQugM1h2d7shMTZh86XrdtdkJitmf2rkUfb0YTapLaIes3KAKN6bGjUsQrNufRry8fPowsE+XvcCExMwYOLKOHDtH1NQzrexnWExkXdBCKfWkuW4KUGpUW6TFmRhoNUexHcNoIsw91mDeTcsrNaWbBMGJ2K4RhE75mwgePEz6NIPkqCwfa973yyitX3gZB12H5sNvvRWvYPHUNnWEfVIi/qxm2fmCVxVJedeDUBSbgho66t3x/VbnFUjVo/VAuURZxv3LrmX5kowzuWBvZQCZR6dFWCUdHRZsSUywVyqWofFsoZrtyVKOo0FQIoyzLZXDB44zTs2bhojr2D12hGfBkTJvap2rS2IqPHnp1H+PCjOMZWzLQm/Tu0VtGH2fPwrFSfkHx/oF96i5PCfO3mOqLiSZWyUiIiCNiYwWz0Jdh0LdYi4FhBbNUBNuZ96zRZitF71ahdy/8VPUTTsGds1Ey/TJb/kD+AqeguR0CQ8nxDvQx+QuQMhqXO/ieS09fWqTJFBdHYpKT7XaCpUTBZSFEsFgYx1uDHA/OAYrtxeFzapX3UYF20Rt5bA6PEsJsy5YtAWR49yT7RRvfdTo3oRnOTfiRKvyI/DA8Vcov8RZ6kQ5BHXV42fi6bkdfYqpVisLOFMlCnKnsRzA4wmL1Bo+hajEmbO58MZ7hYRQ9gIdL8yPlYiMR7fkJJcSOHp9Iv/n6448/xm7nwUfXHXTJn5AxVej5T89XvXOJDhbP/3vBg/LB+dLfGCpBfFLYvN3LxmNPn7tjstQxHmfnSU7SLluKNrWzGrOy2rUTLGmSRXdLuzPrpwIVt/z888EYGDocQbiFoerolsO4uzvKV/AFjP+MTF1n3YbImHndaOAdhjX6etzjonwFewg99sY46sSfVM2qQh13Pl7ldGWkV236AzThvvvo2fTUWXH0Z0lSoxLB+d44iC/iYwaIZMGJbLJuM04lLruEBVdoUDJpAmvkquJS0AW37ILbwwegQwuioyLI7ArGZlT+GB2mYxl+u44cebpqQy2Ja/zyOm3YUPW0eF4+uK1qyx7Wu6O4byslTn2B0MuX3S7f3SWzozEhO1fKNlUksJlOZIUpwhbNw/pYJV0o16CLPM3xFQ/sYzU5PCTDo3CcEteLGdL8ig3Yqorah9sQcfEs86gvnn5u64bTc80WADNq9Gj09f3jEio7TV07sBSZ7xwe1z9z9kDfFsP6T87TT2bLR3CK/IV4Rb62ZnHlY40xzreTJpVsHb59NMpwvhoz3TNz6LOrKfgZ26daBKAxEhPMFfHMjjYiv8tkZAapyR8LYdJxyNlLbrFyrFENxuPhB7ZcccAQ2MTUxj40+57lVvkpPNV7jm4hu+n1BzMX3+f4Fd36Hf07TqmdfHvVy7W1zviqKvrTCPksToH5Lffyyv2BxyqRrWMkg9kiRU2FKFlmhYTKdDzk3dOtxoNDS3ejNbWN3+Evd9PFJEreRZY0XhYzAz/iaYHVOrmeBjECYyPtUpzBKCUaDEJMJKlA4DFL452Q7aXJcVuYBLcFZfeQEaaXm0nuhaZRQ5jULq+dUYV6B0U2fbtqxsmZNcE28nN2cAouVjRXRMC2FQo657WeUfxSwQqQ6ixplGiVt9BJopU952trG/PV4HQoCC2exy8hRslKnDhesmGCzXFmZtOZwckob5dO+gP0rEJDYZYKX5X/jI5PozH0T+zhdanf/1SHxm3pcbzHlh7ortpa+lYP5Q86Em3SyZZ4db1zkC/TGhWVlGQ2E1tGhsuVlsYksSUhOiVdAA+40UzuOcNlcTG/SRiSxqpEJozwhDsmhR9lTZB4iMNUkIMKHB54jt06/+6RF/ptz6/r+od+F0bePf9W+udBowb5bZ1sTYKz92JsdnoX4QFVcMoXjaPPwe8q+XU8QH6dTN60SS5Bz9CJ6Bld3Op48KluiYwRDVIsEv0QucgRJ/jjoioiuV+Q/OBanY2vnIFZ7lZDWGuWsadwDxpNj7Dp1SwtkvUsFEMPo7H0cN2bVYerSDR3qPoD+/rmm7Bypd68wEa8R1D87pSI04xDYd8LK16dPxNLxYPqamKiLwa61SBKYIbww5NnYMuzpT/nBOUh12tq6BLlaWpqqkYHDEl4KTaKCfz0cX/qwTNNVvB47bMIRn9oGhKcfRTwycYImGzUh+YWxgu/jlDmE2izbOf+YKP4yp5FMsDhVqKt7CFbaOpiQ5tDcxXZbizXZie/boST0GiyWErWCGxYHodD5wK/YMXdtAGjQqM+QpNx+xr6OOQWahldzik0iVA2gU3E4FfOGRbw+/tZ6hlNHivpBp2NtpxEW+jsWvRcDXqW3l5Dx/ET2Mpp79bObbM6tdPdi4UTYpG4j9UH53gtkWZsICZzRIQo+I0iPymsro8gVITAYaIJ/boczaA7lqMpaMpyugPNWE6fPrEYLUFLltL1aMFSupquXozm8z5+krXl33y1OBnaE2eV4qKjJLgaxE8rnc/NPd/8jECznV1c1mPMmB49R4+RL5CvaJTyx2jy0ZgePUaP7tFjDH2MMUHn0fCyZ4/RII2mozms1hTNyzocIws7ThPiKZWfiHpehFNf0Rh8bZtJGb79D3v/JuKPgp1/c0hdcMvG4Qnu/Reoe/8bX/0M+Z5iDNjztbOvfU7ffApdkd9+Fc3h+/5zGb6w778ZaL9ZuCSO4meWWG0EG00MTROSmP5nY9UoSsbgaQ/dqnYhcm2GYA6k9lLozAZAm8qgpXFobp/zpqeeQuedxLRACallU94v9KeYuD9Y4R6xF4cWCec1MTEZ2QgVLP7mOPJT2iEcHcHj5G7XQ+BThdQG+pHXUI/LH9k/ukwPnpX/yigNZ9XvEfNV+B19KeD5SsE5IlISIvx6zIXOwRMl/PqWeqQcahDzNfwDA6ESVHYWlUFN9Da1P2sYL9QpsWcZ5iKCk+UmA4PfWaFEkXqOT1sJmA4jSR1QaEtNDSqqQXfTp2rof9XAjQVhJ4N3DeeQAkbyDMEEv+kVPsrZuCVnBRd4ZjTFSBEmv93lJ3YpgvgjVBoBdcCJMJhBEFQJwo/AydrpSByyefOQ6Wcvl27bVroI1eajsWlp+9Ly6WH41VyGEL9OhhSCqcAY+SR+r0b+EN0HnHCOdCOf8Xsj1leMYlAL50P3cMfoHnIOiSgGiZf32/eTbrhMPohepYO5XEZl4hKxE2sHnN1w+2wWp9EeJ0gZKXF+LyzNG9XrA3zupRu78doZVE9GDng/KdL2093a8imbxzDxsHXr0tsX5eUtuh2+7R837v7iEqu1pLj3sGHo/T5Dh/bhf6Kyd/c+e7psypSy08/ufff48YOzx0+YPWvi7bNm3T5x1uwJ42eDb0o2ViEiVDSMcpMA3tNN4VF1wQMQTMLA8e1a9D56//KPP+IR6GsaJ7/IfufRevlFVVtwSe+C85TmGMmsX7cKaQydwA+qjpDcD+kQ0kuT/4GPQZeARznFtzjThh3DYyDgRNWH6C2ixH20Q6zYiAgmcsygbjTrFNoTr3oPBcvwzGzRWlVPN9YZqmtrGyRDdYMEUQoYFCVKQarPClEKID4BNsOupVUd/dwGjA+LUXCa9iaV8jL0Gs3Hf6o7ih/C5bW1crVcyW/ujVcxswCVMYGrGeagkxC45QX2DOLA7CfO32tHBnSKXqZX6/AdlNmmDDke0UfxV8va24+3X/PoNQjfLb6o3phRpa8Wl57Zx/q49Dz2m2v6SeJlBnB1DcsDN3s3qv54YPW/QCjwuSHeVqcMydvJn+KVUhwVcCxxd8hVj03p0iR+zqiF7gkLYAKuHdpIQ3Ob+fNZzB1sNDT38pP0wuNPvHCk+vEX9pYNGnrHHUMHlcn388vcKZDwwhM8YUhZ2ZBBZWysprP2/CmsPX2FYUJvX3ZiQsLAHtLAbj4pKRka14k1rVuKv5ulooUPIt6ofDZAz6v7UDdpHWmrdW29n9CsfVuh1f5ZK1bMmvXII7OyO3bMzu7Uia5s9qJNKsgjquZVVFVVzKt6rGeXrj17du3Sk/Zp8Qr44g0mmH7glEn1xaAIg5mYiSHSXmHg3WlTF6v46jZhRjQIOBtq8uZ/hbbEofVX8r1iD3oeb5PLUX7jGQbPjxLF+8SRcHfZZwfNY4hgZgLIyanqvSPGIKDOuLUAF6PAJuZa7UOUKt+PH6Wf420okUE+wWqhs+MAy5NN18jPaowQNhmriEAmUWSWB2DJQCoLD0oMJQhOAN/ZyMFj6eyvOJwrdIETb6PnxR6NZ1C+4m95IMO0lGOaymAKUiRGJojbIolTmQYDNi4uPh/SiWCqG/AVuZzB+Rw/Kt+PUlEiWh+HtihVMIi3qm13CF5fXLRDkGIcUQhHikabFMHgWsSpRgAMAj6++LxyiBeAm1zuwhyu15nGdMWjH+gI9OJpPPA0OkH7n5ZrTocqUkhCF1yBr7z/GGV+4B6pvD5njMFiihWxKcqGsS3KJFowrJ/1jWed2LkzTOgUh5OoIL7A5jHx7szx2AqKGKlu46TS9atKtA4/k9KfcQf50s+BYz/Ll3iNA3mN8UK+L9lqirQYbaIlxiGKjhiLiCJxhYvfSVRManuzuuNh+tOidrerDi2hS1sisAL5a2pwXBgOX3PbWmAziKP0Nlg9szGhLR6V7agvfUtLaXpcn4Iflh/RUoQP9CnkzcCtWgq26VPEpkakpZBR+hRjn19PaSniY/oU00M3Vmgphvf1KebaX0q0FDZ30qVY6M8YUrAtPIX9rWJgeD88xfA+8tGTCjShWkspsFWrwJQUlBcqg/JC9bCUU7qUU/oUXBZKYYaLPuW6LuW6PoVUhlKYrtOliEk6rJO0FICrtQfxekI1Qa5QWgErFd4mltemx0+hkAJRSQlB1KiHbeGtCtFVrcugpIQwaUQsHev6ysRzJGIliwKgEXEwrcFhvXowCCcsHan1yAcVDhObFIqE+l7DX8WyGRaQquVoHNUMlTZbpNZjCYOlnDLSVmEEG1x2Dj2u4MP+w004d5HLhMq9dC6+4Q18Iq71No4Sj2pPIIlcDZSgcjxevoDKz+wyLPei8sAnXnyjcZRXXPvrSa941Kv/bHiRXPUGSvB4r3zhjHeXINhvgluOkCt0Zhq7SOjJtDacY2XYFhWQcIxbYt6sFQXNH9ai3d46pVFdvPJB3jJy0htIaNa8sGe0eKRxyW5o726SJkfshjbvRhvp9t1ndhkHe3fTuazt8kEv7sIJEEjwkpOcCg1rectv/vmieMTbuIQTh6R55QhOIbTRS7cDmbL+IyoNE0YKY4TbhYnCFOFu4R5hlnCfMF9YKCwVHhZWCmuER4VNwhMter7Nx8BoblLo3jqNb/a0Rv82+gQepQMyvY3HeH+QSd7AMt49eItX7s97C53z0ijeeUj00nrWk72809vos5s9vD97iUMbr/SCTu1FVgT294Ke7YVr5Dm9oHt7oe9p917Qx71QB0p7ndnVa1oPPJX1aeMxsJihiwPLvGQS73G5vxdv4QxAo7zoHOcHWu9FYp1393Rvr4ZrvKP/f/psjOMMIw71Nl5RuGaFN7BfYZ0arzxH4Z/vvbQ7ZyLUwUsp46Rp3h4guYYJr4kzxIuMj4SsFn5bdl1bufLaLv75mvYFPplMCpVLblkyPDSgDsquQ++9d+jZ8+fDoFWff1Z5zWM0CnOYdkuD1XyAmwnHvDIL8kW7y4nFHOV2arZHcWfBYL9Mv9+6FcW8/DKK2bqVfv/y2rNz555du+bPc+f+eY7+PeSrnvvnNcF0IawNcW22oSX6LXH/bVi2VkjRggz4OifCb8BCbk7ZMFjyN0rZMHg4mmH7e1rpbtlJsr1FFzHMOLfgMgbLrIOklVULgC5Ta4RctnBmek1MUrOFYZbUBmat0e3Qe3RdKyyEFragnrM16tla0A4tbEE5BozJVz1+7drikBybOy7OAYdNmqO5p4r2j3tn2KIdjua4Vr8TR/tX7UGnULZjx6LfronYgp7NDay2+LCaxlTtee8Qg4iy6ccMWnhLygCFasClmuHx2zXx45NuPsIMcKayGan2VKETDN6z59Gp5s3C0YDDCYbMTxyPsLqcrbaK1ZPD96htxhbdPIaTZphKqWb9U8YqlxOCyMB+daiuRH7ur5XeKlLOgMQh5ZhtlnpSNKzXcjIzc9iDdo0cNGikbIfP8M4z4s+MRjnNiBbes7uLvLnL7nvYbzynC+xjaDhEck9inZkWhvs2U5jWXci07SZY0QxN/ePbuJppautK5/+F97gso337DPacVH/TZPXLO+pv/A/1S+BJ9QuZpr3Z1jyPvEj9gp7W4AXUL2Jv/os9wS/as6/5i0+bv/ik+Ytnmr8IAg3juuTW+SCkm4rCaNGKnnp25tKlM9nTur6q5mns4XuaIb0F93h/U3cVtbEMdFOdtmbtvn1r4ek/enT/fmPG3FzHVSt51+6rHtNPKQAe+bqgx8hy8gnnUqGtxShctmrv3lWr9+xZXTJqVAl70GPKn6v2VvO/2aOTtXDDWihis40sHYxhbCr3g1JmL5P7jVc/1EDw8y4KvQi/9yoUKmXbpBDMp5opT+iEOWDBDWvdmGC2BD7D64hidfDZkEeDXqDAFY8O05XCZ2BWFup/zRrBZxQIhbYC5bRT90LFZ4bbaVTLD5MPPnue6eA5GhfJBz/lKhN0JsNCtbAcGh96FBpptQO++IyuZtUuYzVrdpka76FAU6Uc42rFLgNicM0LdWn6mdflUitRwbOKBD7XPKPpZyYLPYWAEfnLe4dAtJ7hUHdpWpxhAFq8MFi1Umm1UqFmEai5NDw1BBXc+Pw42NtClgUDmWFaOofPTQ/qrD4+w82yGLUczMavpMvoMjUnXYYqebg4fQkjlDCElwjL3zI3saFQfl1uYm4NtujWAw/c0AEXWubGbncQeCATIM7RigphfA+zN2irIacovnl7UeXRo0ebNfroUX6jKnh+w8Bm8w6fxWwUsLlC4DsGyiotggtBORaM/k7noU1foT/Qexag7vQsrWfccUbuIfc4jJNwknyV9wzaLh4l3/O1EYebHBKNh9B2rVeCaSYlNcvtcEOOwEn8l3FyVyVjNcoTEHvmkEq1h/lqE+teGJzN6+BrI23UADLAbXOzYldJZWBZCDyTWiH4JqUGyAm10D6w0cTrqiaVuhkNUSQSk0Jc+IRJK5MqrRgMls4mltdlO8/FjPBwy1SxWwrhOA8P9Og0erJgxw3iPbp54Lc4NGz+hg3zcRJ8yl/ilC6sF+Qv2OdrwbdX52+oLu4SShJ0ekrlBA0fh4KzglM1OqWhxVjjFO3zn1oZ7t/xva38/+n7tr6LSe3y8tqxJ3Cn+gVFN/8ir1O/kBnNM7d807J48IvYm/+6yUPr/zdvmj86i1Nbh+E9iIJ+awpDnKU9vCvx9WraB/4LbcHIKrB5kPpwGNVsDChPkBlUmIIQ0QKGfj1Iwamg0GNQn7a+N6uHDbtWv2stgH+sCbpfcFdOjwn4Trcp9ZNC5DEUekgBctkKclhN1XTQGfzwlwPPyAu//ZaDRIYz6LUvv2RNWneG9v62bVhw6bCwyOMoQIWkoFCh8MNn6KAvv5xxBp0OQsMP00H1DBw6DXUIQrQOnpFHuLYG6ZQhZAleZrMp8Is8hiIPKcoxGYpyDIUmpHwzhd4YCnIMvBVyds8H0F97PrD57rvvptd8PnzdJwfYdySzD0n38pWqAWhc1QCOGhnSs2dPeoOl+ny+5ct99P27lX/8i/Lu+QEDBoBERdtJpSI1kSpRNbmpS1NXhMOloV5ytin15B/QQrquNanXUj62ndMYzKmyezBba7lQK+K2TUmIgrVDk07Bp57/w2Uo9GmwpDIC1apovUIUrSxjWEaYm5RV64VSsFHSrDSHdtO6dXjD1ooec/gO2zK/rzzgGt5ygAgOKqEPqpEoJolrld5yqKWrYfuF2xEiqNBqZsUhXU6ej+VRUgHKp2gk+YvYOxzKp5q6QSNVLcSghHLyfCyPkqrYd1fFo+JnoNELERiYZVdJICDCXQNm7yxgehtDC9EiEpgDprxS5hArsx9SGF8oGyKHSICl9GJlblHKZCEk3hIQWTEAyq0trSYDryvLzasLjMf76BFeaTXuwz07a/UaoGYLYVUHtuM+8imOAD2CRqPRHJ6GhYHjgTRUGAFGy5MYQnIehBfEOqx4TsSMSAW1agYzhAO38UI42jQsbWFzTS23qlE0xOmQoIJpu62AWVhbW+azKTWg0cFcrCfQZHGB2AnyO3hPoMn4fboN6M1SblFSLFhpE5qMysEbmq6UgZczZGVxSqIfaLQCYMuWLUCdIAwDQCE2g0ocyAawqIi8W6DfV6KuYkdxBMcDoZXor+ynK0kNfM7STgv/Jp+IO1RuOU1S/00O0VylVB9WaiK3GaGLaC45hPqQVEh7n5X6l1IK+uVfgc9ZQYDL3oRqM/D6styEVylPQrv+otRbjXiE9lDdnGOgpQwBeTGaQp/maPzlL38ROEQNEwPHBTlUdFgOOg1wopEKxBBeGscYFOSqGcQgEvpVeGUsiDMar3KrNTylCIWM2WYpNtRmiltJ0UttjdeJTa2qWr7KssijcFLzXKxORbRDoioDW8Ji9TPeVGRWEofVVj4YX/p8vE7SVC3bDUlkJJeFzAoiykF2lybKJUMlzI/oMpnNgxhrL62vb3hS3Fof6Eveqm+cxeoBCKSaQTCABlGcrCpl8alAvSgoBVkt/vpfTyuFMEpSa9XKuIKHfpNEIVBfz2u0G3trlfF6hIsqpiYVT/Yw/BqWGSoBL1pWXy9AiyAf34fldh1SIPODkFACn6pHrAyqrJcPQkFxa6BvfT15q3EWB8DrIdVqeSFHK8c+JZJXz4RkZf3FeoP/19PoIC8FrdHVyC/uAw35Z1I9yZMPsgovGns3PFmPDvLaBIUCpDq0s6xcj2C4yQwvvunON95FpX9U2Da+bqRrD9Ed8Ay1qx4Izkmob13Dk5z4CjmJ0mscrtbvDI5DuaIB/Q5w6oOdrgAAlJQeJEoPhsqjYKt12ASEej0aCgC1P5HSMrw0yDUuOO/pYRxAWYfSZax2O8vLUWY1IgVjlt+icZmWWxTUvMAswJNIwS6YNwhZFBS4jBdVsDo8TCE82KTfznCwaxioteexXAatdshDqtV6BS0Ho0gQP6AF5GKdIfF8UCPPiyrVOg0afqiSVEN9HLNgDg2aRlVUKQFBeT4AVq9rAcsbGapZa4XCCPZg9foS+EvNhoUfdB3GA5ydEHMh9HXjX5V8+BTLFzw9AbkYS/M8DR1btFq94AO50HV0UFIyirkNHRk41qrrar06eDBA2NuLSo3h7fYEcZPQQQAK8AwXG//KM7doefBHq18rAiiohbBO4kUG5R3vdSZLAvUKERQ5x3g9xKv4FCuj9W0h54DrIBoVekBWJt+CbQzmVa6ZqO2E3FysKXDBkuwtAj2IvieYeZfHTdje0A/wMHlR2fQOyRPvDD+JgiqVHPivaC1dFPgOPhUacl7V5i8sF3AMY73Wez7E7WE9z2Doe0rjd7XnVR4Oy6Hy8EUNBuptUFonMEkF9FWaJChpnLO0NJIXlqbhSFQKsnRufrE8Ur3E5u9ZjHJVKuVCcl53K4k8+2njjk+HsZ8QHYP0FBk98xk9v9OXV2najLbaQ87CNh9d1PwTejzUTqTytNoYIpQwPO8N4hmkOeBKpqHIxr+iyFUoMhxF1myGXxnDr05frjXMyGw0ie6Tfw59Qs+gAyQvdKIJ8qMDWv8DrixNoS3/kZShAjgow0TtAw7DoOVTcvVWRrOgcZkCSRmpHmWcclkHtYHcZHX3VvVEkEuUypRhrIMTxq3KibQ2xzfjRQVpjWuD4zskkZpxOOTX8gLsoKQJy6fBtFA9PJ4vWssHl4518lUKx0IK6gvOE5pcVKUASAtFCkB+La9KI4tCay69XRIX3bJKcia5pdbooUp6LonqQ4B5gVbwKFSsM4UeymhlikHSj1dV9qo59bRGvSXQIbzXWuqcVntmq1ogXFpH63oTruDp5DW1S7oWSMFyTFYsFWKgHGwkeQoL8sU4u4sVXPXJOknajIRTc1imA+s+WVU/51STsFm+I6httHL27pkFBS6+CcXKzTmFhM2StPbTVVCOA6hnsKAc3LnDcEozBvQD33WCO3XYKHokKVgDOlC/6tO1+IB8x+YmVphLfrirp5RDGZnZmBeLi2O1ikd5JighoQO8bijJaq+H+XgTEo8a3CCFXHCBoQChAji15UEIXaQdV6GL6OIq2pF/0I5NR/A0PO2IvIt/yLvYn/IuHRQ20gwAwwXcuErMbTJUHGnYeCQ8B6uHVSHmrmr8a9MRnoFrowNiEtcbJs4BPKhDUBsdYFqL2cfoetM7+FRIE4EVyuyc6ywxTA0p9Of9pp4nZXlUNdSG1RWyQHRWF4cQsro0+0O1uoJ9HLKkNIvCr9k6yg1KrmmUGQM0RdD6WZdC8kIpQQ2EwrQ9SHYJBozAddABpoOW6nRIIZMM4NtHfXQ6iFOPU1BkFMxnFPwuXHcR3cOpCf/aVDoat6nUBSvmuoo+6JwDTOcsDeoOtSfBPZ1e56gogba53lTGMNJpmxa4tKJoFBzwqdCJYZZXVTTN9UOBag1LYAorxqvKB+qYMWlzEE3yMfS4waobjwYtD+Tg6SoPqDAMwXnIdQ7A4OflFT4MwzJ4rrlN2zlMoja3nTk0U6iEmlvNybXLdb120WCq8Jhy0UvnoEQEv1DqJXlFjkoh410K13CtyHSVP1WE25TpBTZd63QivQ1a2FqlReuYaFqOW4ohrdi6llNyS5rY16m5NvS+qw2933wWxGnpKdTppOuSVkzRj1K4VlK5J1LjLmW2pcyAwZbina/jRT5vtuhzq3m1nApXJqlwLSH+5ysCClDgzSDMVnSpq8UsJsSELUaN2xakZHDYtDYjbT4328qHkAYxaO8Vhuw9dZC1Ni9zhc/LtvLRptp8B8JsPpdq86kDsg07xtZ8xqo361parlBClRQhw7WV+WizWbgKVJm7whwkZOOqckUzcVubg9vC5uAXQ2NSmQPoZJAy2oNmrrZ+xfGPDMk6vobFW6EuY5G3An2VpSwEJTh+Fr4OpY5eSTmxUH8RhPJbbMrJ6lYhW7TVJ/hRpQ0uu2jsDWtAYXR36NcoCmz6tReV7YMLMEHm11ZMcHDtyKSXFJzOWvmgJORiFgdXi4LaRVlhLFDWiWB1sT4oFtuUzK3KgLBREWb56yxddDAkmlux/F3NLP/W11VsrcvD5lwaph1s4dpBm3y0oh9s4fqhhc2s9VhhUEe5QnoqiI9Sni9GcEYKW7/Q0bJQr7dU7NRSYdor1FsunQbTsNQqgH0Qs3hUvCGkCj4h15eckZYlRYtSdyG1R+eEaEuExR2b5nfExkn2WPWOdbzqO64TzulEuKdHe9BpiymNwAVVLXB1Jxw6oRnfByvfjCRgHbpj3ZqaJUPjj3VZfNeqL+94olt59pTOi/ov2C0NSA5ce+LkkPGFfdNu7TG8h3/y2JnZJo8rt3+PKRULPkC14+8bk5c7dvqaKd6HFucgT0nJY3kddnkGTXjkThpTOqCqfVb/vB49brt1SvnMsd0mOGOKJhbNm7z0tZmwYsPvZht2C3FCBkSHjY2XiDXWjxxWSXA6JKe5wpIqWdQ7q5ovBfA8og+erDoecehO7B1HfY7U/nj5bz/UHkH96Bt10+9/+OH72XO8dkfyt+98+M03H77zbfKO2uPHsXXz6gfXrHlw9WbAJrPpmrjZsEJIErLBo5g5zmizGd2SKyLGaBQgagWuEJIlwRKMXwneW4qVO6WGDIWw8SjHyGZUTAKAm1DEMMRhl2Mvnf/ii/MTh6LE5DuGrsX9j92ZRhvmfXH+nvvuu4c9TmS8/mVjIpoUX3pMPrG274JE+vxDn1+nDbV7tjz65JOPbtnDWEgYIPQSZzHRGCck+qJiBadkF6ZGgbMMoXNuQZL1PI9Uk5FdaBWKRMGmRNIFgeSBYMjTZqPEBiQgx+xpk/3ew95Ze7asRmZ0cEs1LaMNq7dIU+gHqPMUSVePV0j32d1CtuSyJBjjzEYh1p85NY3VBg6C1eiA6q5gfFhc6/jgVf8QApay2XPvLO3mnbEATv7dNy0nf9Cdc2fdMXk+w6Viz+Lp/oc7dc/YWn7gz38+MHNLRoH3Yf/0xYun0zdQv+mLNZzEa4JTiHk5MkaQTDEwBiD2XzZWWTtec6KOMS7b/W3l5kUzNlqjrBtnLNpc+W2vCciCincfPLd75crd5w7upmfoLwL3keQV+xmczKqNeRkRiOQoKIHF4JzfJGpD36J/ePED+AG5iuV+iPHtTO45weWLEDEWjMGIncWd4ewav+3OZp79z5xfaEenz8vfwz138aOGBc3Gd54vpXdaD8mWJLXvIKCsLkabyxnRhw1wJeRF+AB35PQhRSHfig5wFhxDTDFYDVUMZzL1PRCDXU7Vq92xY8kDpN0L+i/qPCW7vNuWsi9X3bW4y7H4oUtq1qzbMRSPWn9hwfzJPfvlujym7Jljp5SzgX5rWt/C8UNOotpedz4yYZBnV4e8x0pK6N9yFj/knbJm+tjcvDH3yT/OfG3p5HlsSMc4J3QbO7N8yq239eiR1z+rfdWAUtbS2WxEdYHoH0IBSDJnJyk+2ek3JEsGW0WMV4owu2P8gluNQA6O1vg4h6i8ECsXvDIUejRnkbxnC60e1fWrEr9Wf9R3j3wWZSAj2nk4yn7fmFVPPLFm+H1xUd+98l9vnx27zOvMXZM2avyIoaMnjHHiL1AZWkSt8pL6+xb/7b+ufLz4vjRUSj+lv9J/0n+kpxxLSUdfLb5v5cKFK+/j3qdvYe2oY+3IEPKErr60dHuFMVdye9MSjYbkWPYjRNqlSFsFGyJqU1TPdvHFocDqRVq3eDSM41H3wgKryeHOgfsKBflFKJt9O//K36sfXfrX08+9cWlo/4kzRpQgS9eT5ddow8ydtOTBe56cTv8dYXnD+e4zj77V4fmtb/5l/7ZbB8wtH/LoCFq39iT977fo1wvWogfG+e9EhZGRQ4C3Mxm3rmXcGgteIyJMMRISTNaKKEHxuW8vVjy+KmyjeI5gxsv+1/5L/gYvO1h3CFc63tp/4kJtY754vhHijA9oyhRnGdOF7kI/Jhmc8Qki6XlrWruC/IiI7DwpO8ImgSeTzoqfNxR0FO7Wx6bLyeL1xRdyhaR6zFCoYkjDBqeWj70TZz2xZ9bM7+jPi54blOB/enD1Wm8e3fXUE6+/P/+RghvIuXl13G3Lej61oWNXNHDOxoGB42Xbplav3bf+YDXes/4RnJK7cNZzO2KsJ63WvgO6dI6e03XT5tVrUXzOkLuHH9kJDjh6D+jktS/yjn/QP2xM+qTpD4yaDOdakoRYsdrwID+f2EXI9sVlZLrT0jI7JIgCeFKwVghRkuI6l3u0U1x3ZSlRnvlnVr690IqBX5324BnwoDtdlYOZ8XsdTsIgO/vJo/X0+lsXL77Fnp+ef7Pm8B0PJy/NG1s69p678m5vn9BtXiyajvqj0WgBXU+P0BN053bkbGACzUP/Rn9poNcuHt694099i+cNGV1aNjkmaqc9ClZW9C3JhLuVvhR3gidHSsyWEjyJiZ4E0mqLOnfurHhIaatROTY39+8a78nxuBweF9gXbbanJ8pb8NCyqtfn3L1+/fpJv9WQz/GSWdO253967hy6cWjcuOatyBDag7chd5aUmCkluBMT3Tdrw2+2gGns34f/QwvWr1ix4vdg/8Cs+5fvQzcu+P0gP1KJUVzI9UU8+FOIsVgcUfY4kVitZiz4jRDAyap5gwVH49wph0N15MIdQDgKYFgScFnx+i506ekP/meUedQHm2OGPjA2hhgxrqyUKV5Nv0EueQn6mP6MImg2UK0b937yR+73P1vIFwp9mUmJkjvJ39Et5XT0J+dIyY6KhHhJSPDbBSnK7jdGBd2ftBKdS8e+jHvRzZyfVO4+enz/nZUpnIHvuG3MHQkT6LFwByjFAwYU9xg4kHR+5sknnga2HT5o6OjMnV5Kwt2fHBw3YNC4cYMGjIO9fkwwOaL6P4FY2wxfQe+0pW1vJrhs+4kT23e8/vqO0okTS9lD8KtPbnvllW1Pvlo9c8zYmTPHjpkJs4lrJIpkthIPGEI2XstHxkVqQGCMrCznRzwn+FAyGQQ/Nli1eMA8niZ78G4oIx8NleSlEfoxGOtUqWeVWg/MJX6sUwJVQotD+ZRovKJEDH5dtEulCFGK1dWRmWRSYF/jdPhk0v8yw7Ke0wukP3cTx93zcHJxf48Q6phNYYgSlww1GennKIWcJCiD/s2IrPjYQQgCdlAuVT2RKha7G/wuJprNRgchRoPETOTodlI0gxoXGoDFnUMRT9wZmcw0LsxnehD0N+scwcSkPHLGq5cCMTn5F/ru7Xve3L4i5V///exrTcK/+/93lfxj3Isnhg1YsPylP6a86przIBqC/B+8+TV9Zezdc3D3u8aXfHvwnnn0hqBrqQM8P8diItlxjMkoRZow+7EIfovSZO5yVvMGiRzqKWel9TA5c6CfzPTvMJhRuumkCWXTD1F7+t9mZEVxu1CvXQhTuou+vYt+zcZXD0aPSu7NJZ6fVO7oS0mzSwlp/qgEKSvKn5klZdorxIhIbPIbscoampcyGOKKhxfuiaYtHzxMCPT4ar3zMHvw3Kr9+6vWPfPMusK+fQu7+3wNeDIZjPvTSrRMPoGW0Up5y3MbNj333KYNzx0c5YP7Tb5RdFlVFcQZB2/J4k7Wc6nca110khTt8EdHC0Y2+o1+waqzXTpzc9OgxP7KhzmEyW3jKqvAKJIME5tfZ+NplH6FEuhPKBpj2X3H2gdfyn6yI6W1a+9AR8Y4US6KZWJ0KP0z/UdOHxv9YNijD718Ruwzlu5ED5Rw/51zxKmGNOUMlw0h8CVxA5uxeQ4/Igxet/j5ymHoUXGGiPjK/s1udqNHR2ycMmXjCOVT0N3WiW15i63F7bQWN9DCb/vAvS7xaPAmSD0qIZdFiHEjWAgcyoGrLahEvdWDmBF6gRwSraFTfkfwPnQBzl8iFIEWkMFignJKkQyWT+E+aAE/xYnQYCQQv7g+CPc7xnM2Nlk7g87QHiy9nJXdr5QFkpVDUX5Yk9e5jBwiNQpc9heDiJbBQVHekoO8JaIgFBGEyNWr/GzrQXwKHaOlMsfrII4jZvIAX9fnV3mOHj2K4+CyDkJ/RJuJjTTyNOJw4LLXXnsNbUbdUCH9M5RNFV4jT7R1+z7YJyM2ht++R2gh+pIUkwPB3eqF6BT6kt8PCd0c025kubUOh6vX2iVt3rZaNps6r55NdCPEj1mrLFQLDCXfkG/c/Fx46CA3WtjGuXDU8sR36E6cWXcnTr0Mp92Da61e1KJeuKrdWr05PGN1+K2e0MiJ1MaOIcuWZQiOIPkGqqAb6UbdSHr4Ejp06RIdz1sXHFHJLcfUb/o8CB9n1ROHDp0IT/Pbb4W28FtQwZtNWDd6TMDncC9BG0P8epg2kNSbYrpRoc/Pxwb9dtq0adoA2cv+KeeNNW63qPyexYQ6UpleXocj9tIyWhbk/mr0Ayg4VlOIz00Kp5t4XYzbXxswoL/G8RXsH+AV4vrf9B2hGwNTFHpNbNN3hG5UaLci4JbLQjgyX12tjI/qakEMRDRdI58xfecWSoQhjCvu8OXnRzulzraeqSNNg6VsU3Fyn/QRg25FaFB6ssmQamM/JI+p6FIyQMogjgqfOgXMDzrztykTGZs+mB/MDpnmZlPyrOyWc1iHMoc1hJLTbS1SPTDDZSYjMxSUX5T2fvAc3YzS+k18/Vk+0y0Z2i1TTjw+6jDaCO9vvfP1Z1E5f989g70f+dxXPZc1PH7ikeGfHSQB/mvKfDQbDenjf33Y0y/AJPi2YUUPFNOKpc/RczX0OydPLD9+29Mv0FOQWLywO0+se43+cOc89EDdVHRX3xr+KSA5jp4l25iNxS0s0SSJKytgEShkYXmUlVv5Sl2doaZhIFhngalM2sr9WcmToYj1LmfnLlLnzllipJQl+rPSpKwqPSRdxHrwsf87w7XDdNilXCeGqH9RzMiLu3NZYULfBV1DYeq7Luib4H7szgtf4TGzc9rPvg1/xU3Ich52feXC/iuGqmHXB60YNGcJD7v+4TsDKod18mXsSux7y+A1A859xtpTER5hPdLIQ6iZpIjWI6yr98Tkijo0FneXzxJBjbB+1HDi6I0vIMbuGQaxB4OYI05vegiioonTGy+AIfnTYJ1lC3v3HXxJMbFR0aIl0sxrtUDsNhOr1sDrVWOyKIFf1RNqTPy5QAb+NLiOpNfhLwyfUNr4tRinYAEPyjPslrecnYPWBz5Ejwr417lqX0ONbp8DRcdKOHpVhTlSMovQ9YoH4Pe02NSeoNNXN1Qq96+rM4799TA8gTxupssTwFmvPIkb7OTXbaxVm4KtyvYlRESaLaLBJII7XDCV14RzhNIeYAe1LQ1T6+rwSH1Lfu0W1oYQv/LYfTrMdYBZC8Kx13hX418FbSZx5HubfibDDdUc4zSf3WgSDSIiDBSRgj6BVTwNKo7yvRp+EWGoCSQQQU+Sd4Jxq0p9XQhulw4THF+7dKndmgox+f809yzQUZTnzj/PfWXfm8dCQp4kmBDiJiEEMCwPQ6A8NYTwKAZ8sXNShQjKoVRtsUqpx0uFI2ipeBSVSz3qqY/SNKW0entyEa1SpNYG5HC93F71YK5WHslmuP//z+xmd2d2MzM7G9tm2YyZ+f/v/X/f93/zfyV8lbligtfHMsVFuWU2e8HYMVTXdXYPn9VhtZvFvji4URruYFVZCa9ijjaOdK0qwW2tYrtaAR+I7WTFkT2D9wSePig8uvPL1/wn31zys5//6c2dzL9d/Yv3hfmAHPu0eDTyBWF97rzfPi68VCOcBsVg4R9baXC6dFb3zsP/6QSThKNDzxwHrBn8eNyBG9uEn2cJm8sOPID6AQaJo9Qx+gRRTpWLvaOpctQ7GnX7g3/ZB/8yBveLQr0vrT6Xy5oVImjaYgr5SZJlrRbeul1sTlIbiUeGz4AvcxVJZYCR0oHa4QK1OeG3j8EffAAxNR39SOd6C8vEDz7fO/JB53zjrp1HqbdFaMM0hnai2OkaQiv27i6nKi+3ou6FVCXuYsjhTu+voztwr+YnFO74Be4FT4ZpcBcVTnmaduR09jAtKmb0OG2CgmO+B5/uISLdKJ34lHd8xjsaabs0SNw46HO51Xbo63bxQ5NwvDvEj8iDDdQxJpdwETXBfLuDt1tdnMlJW6MHeFqZEOLBQ9GzXlHmBU/RUI+Pt2+oL0d7e+g4S7b30mfm8IUz3wya/Seo7g19BbndD7of7PYW9g19thX1aYyZbazSbIw1OhmcY6TZBp9iFlw4M/BLmleYjYzixhF5qJsdk53D09keAlINmDu4PNLhpHJZkwc1qPd43LwnMi3UYHxmp1M8sTNyUDiQQ0DuGeqkuq/e23u1m6u6cObKO+x8DAnY4AZ3ISiG/pEAFYWh2oehyoIx+ORgEQc1mnDaQ4BlSNricvIuC23L4imLLYRM+0ORBqAiZKK5jRw5jt5ALvNBF7K+iKH2hZup7qFOcs/gnCt97EVwVGi6ms2Vgh0byNytZHaf8Lhb2EVmd4f7wnVCd19Mr3TcnR1lAdziGfkOirOq7c4+ePCzgT8x+35x9R129+fHP2e+M7D8F2zz1dWK3dmxBCDszdIp7WbIeTPgWXPkBPTt8ae0l4nEhxOF12Nq/5B6JbwwQmHB0hMjw3lYhiGXs5zZoTyrLZd2cmh8CwdCTo53bo9Q0uWO0LGhvomCXAXSLPXVFObri3/ZOsNz5X/D28UpOY939rYPnoWc7Z/ZOskHYwVLFIAq0lnV1twPeQutx0fQRhRjGzEx3Cx1U55MvA7XjvnELvIi8xTWXNx5leWQ9iY5//09CXsQc/770Hx6w+Au5uDAauYg+LTvkvtSn7Dn7FDw6NFYPfYRU4KFdjdcI9wOn9nipR00gxu1dMCFlXM4bLxDFPMTlVjGRf2SaIEpUYYlvAxRQ9SyK38WxoAdpnVXLl7eI2wB57kpkrYJF/su7HTv/LQP+pGSzkH+vgytfR/u0FIXHEdarBTNcibEZYioA2KaBVG1QVzt+ED+wPD/pd6RUW0Tv0nxeP4rh8Tvl/tAwA0CfcKi48Ki4d8lbRcly0UEguNcNpLKcrKs2YI63IoiBmkBp40IWUBq1iHOOyxokZkHvsDc38PkDnx6dbqo6jGCF5UBhLiSXhMOOw88Dp4jKZa2Oj2808qYLTxtNfPQcbMO6/WJGL2W5i4rq2eQ8S6D8Fw+Is4NSEj9o+zFy61gB1d6NTvGzHz8cV+4e8je19ctrlSnIQ9eR1J4bQNehyZeHi+uZXgdAnBNFmH1oO4GXiJk84ZIYLWhs5CtdMgq6WAj3pcrR/DYKbGCoIDKYZGVefaDbbO9zKcDYz0ztp56QbQv/c1tVU6yqqcK+Ca1zoQyuSt2Fg/B2zzJZylLmGVwfnQay55vOpNPI82DZL8E6b+7sIj3+AtDJU5XMe3nHJD7dqj/fo73J9d/NKMvCkGcFbh0BM8dhcbckmALRDj6Y2EbtgkxVMgjqoJjbNk+PsubzZvzCN4E8nhLbo6VRh0mMWwiVBELnwAVtvfQxm+/8r/xEHEe6ocoW74BXFKABVzqF15wCwehdboIrdN4bJ2qw49J1mkqtE70V+ckz4WSTktvDJYWE6GxxejQ9xyad+aEWMbhdObl8iaOd5hCjrztXUDai6nEbXoaI9EOVUuBBF4mdiG5Opl93xI+GEWA+jg8HqNE32Z66hIR6b3eS70XDgiHFJgO2J6eoYcjzdYhZq1Q4j/GEl89+E+xf/d+pAkHZZpQfXkOxvy5wZXYI3vt2iVy97BPz9AcSxPQoYdiI/PpQb2ZdAFy90Ahc26wmM4e/MxC8sfJzqHxwmZqggDdROrKLhjVjJVFNdAE8tC7EaOauPgwGqUBcXTQ2htuHZ5AjM9AVcI89NfnhOOgPT4mzLI57LQJBoRwYRFjQjp1TCjOGD6EQsIr6xMnVZgYUVSK42UUhdEqoigVzoVxzXswrkGd5KqJJcFaU2ElPz6ruMQ/xmK+bkLBRJuzCBRCucrLc5by2R6Pq8Pp6sLbNXAhRJt8w81V/O9Gnf533WINDQyqRNdHXZte8P5AC3VyaDx9TAxrtr5RdWjWRhztPC2FN8IxUEZ+/zjY9ZHwhVugwavDQc0HWXevfqArX5gbjXzoF8zg+/l7xRDn/tK9D0DLvx5ifAxijPZbJxGtwUYoPMWALyrmiyAP8sv4avN1ldk5LFNa4i+3WQvH5bu63C7e6eadDt75SJfPWsXbYUznifa+Rv+LhnViY5W4iE5OgoSYDq6agzViTDdAI/wZWgrrTl7dFRfWDQo356JWxDisG0s+JNFh6P/AW8N0ODW0MxrcLRf2i8Ed1jsxgovoHYrtFhCi5kWivgQ5gVEg1rw4j6gk0mPHZFHoVXP23cqETjXkReQFDe6iN4jeEOg8CzqRSzT0PnSHkM1dDe1ZFfYE8l0E7+oAVgtJc1l2PosLohP/uQ7OxIv+LaoF80fc/shShI0X50M9h33SYnTC7P9m8MwFc/jSZ72ryaqt5HX9hV7s2+cWEORX56RVyIM7TZaYPDneMblus8mX5ecJqP+A7fDRvC8r6IIhjtPakeUkZmAXzB/xxUT1bBB7Avhi+wSUMdAhKyti2N5v6F4Mi5WGTlh/M7DYHgSWa8TXndcI5JLlFvSJvn6hV3TJ6vbsce/ZA+mNaXIM0gTBNz1YOjJ8iDiqAczBXiPH9l59XQSQbYUA/vPSBVPuhTOXT59Z3Y+A64+QzVvYP3R6a92DkHoPxvDLByErZt0ujrYBAjprProDLY62YBa0aXazrcPm4G0RpsVCJvlwIAYudIY5YiBcM4WpV14VoeKWg7eELZfX/vaPpn0wLgLuGJiAs08QOt2dQhhK9gK4cvRKK8oXUh5gC14xgsRBKPMXsIcL/Q0rlCYbklwouA4ouXaWyaLNUHotpOTfxq7qDZLmMtK3O1wNtbOGfJ96GPdemkP2HAQ9x0FPn/C2W3i7L+Z3kYcRj2oMUR3MR07VGOhVAZ8/L5tkoWuVA6HJjTpXYt+JmIgxZlGOQCD0DDsSxVfOiq7FY5FIUsnlktwL7FVIciXqWh7RFCxzQ3XLc3V4gDU3x0J6TZLO+SBg2Qlahxk4HG4raV4USr8oVPOvvHPmAld1tbt3qCYCY6IuSgzF0a7kA+wTOXlta5wlqh68LeoNH4RURXUfxXkFvL2C95TwHnseRQUIvioAvVZLFfJaLXTIEuO14sK1WA8ZVQoXwE8TVSt25LSTJcXVJHr/j4t3nSet2ri0bXPH+rnz2qdNWTz7D7d2BB+eunTx+iVrNq/qbJt967qg3OOl8seWVpfmlpTkdu1qhr/Bn/x8UuRJKl+HqsUWV/REX4V4LiVagjUVC/kChg/M4SfO40sIvqGJbyiZGCioYJ1eD+/3htwuv9nh5M2OkN8ccZ0rRUdPxFsqIolBzyejQ8K31Dm4mhIpMx5TKDw9Hmc5jdruWnH7gpkdy757Q1vnqs1rVnS1rQg6qrPq8prz5y2/Ibh2ydz1HZvb5u1+uC64oq2LrIolTL+cgrE/DPeMx4dICn+fNg3+g+Xh2iy6gp0P16WyYLYJoJqIHUkcFLxHkeOJZGNqQc0jgz9B6y31HrnoVLjvKKgG/cfBnj7kWtzBVFy5gvhwbRb0F+ZDLW4IlnJ22kU7GN6xowvaXbMVeZ4ewHsoWxZJQ6vnNotmJKdRdAsqo0EyKBmel8KBcrhk6I1T2wZvwg4PS7af2kE/Jq7yewfOgGzSFIFkERMU/iy4UKe7cC44Qu2j7iD8KEozu3hzVjYRorNhnB5CqhvJx7gacVYR+fCIlfXoBT9Wkm6fL5y7+8fT7tty37Q76PHhR2edbLyn657GmjpwpPmXv5u+ZPrqgu59s9pnrV0eQB5iEEcbzxDXEzcQ84lg8DoiwFdPnEOEmubwuWNC43L5Ei8fnFUyjp7Q5Olip/DWLDY0IYuf4JICuKgE4obIIL7wFQojLobFzeBKIi3iJjdMJmojpbKxu46eQmpyg7NIqjO0RQtin+zZUJ5318J5u3fP23IC0AuffHLhxCl59eCGsFg6myeVyTqGhmbcMQfsE4tnQXa0UPa7fz589/dw4znUf27VnR8CINXSHo0UzQq5pL9gvhDAtbTIJ5oD7iJ76G4chRUF3ajfVk6HycF7Kd7kteWEbJJH5JdyvBBukRm1PmcR5oXPhyph4EBPLdv7+N5lh48Ljy17as+Tbb0nmC3kywHQVV5XfqIgIGyF30cKhGM4CxxeLfkuART5+X18mZUvdPKFZX4KTKrhJ0wKXR+YIPZTDE3g+Alx1sAtWUExlEYwRKweV46EhRL1H/rocXF1cN2ts6E6b7plyfrFS6c+HOy49Q+zF0+Z1j4PKvO9y5ZuXDUpIc4m8/NFnW3e1SVp7Nh8KibURtlFgPxRP4w8SoPZWWN5Vy5PlfFcEc9RrizaWxHyeVGteI7UuBFEpAMZ7GgjwSLJMEVkCI4aXHD/Q63TF06bdnNw0X3rGx89Lpy68ac/vXHqzYtuaW68/0cznsFdBquryxsbyysqcK/BiorJLZPR78hnqAJ3QYl/FJ/9Ni7ogYrOWVFXRrgUkgyM0cSGcpEIGvXdKvKIuXthzz73+T4QBPbn6O+HK6iPqHVg59AL5ABqfYn3BUyDfde+oFtw7ZpYvTiTWEisIG4nlgYDTTfwLU2h6TNmNXa08K0rO0KLZq3ka2d5ulxOnnCF3A7WNobgy4vGhCaidzhwdWC0f21jZWXcRXzNICpUBuUgsvsaexZ0kVIDtByQA9i4o0KTPTKULZU+Uo90PlkYXrWaumh/cTu8HrxFqoWkF0m/CDZ0K7+3iNq/Ojw260XqcelR+a3DrdPWrxxqu5/8+MEn0MWhZTe2tLW13Lgs8h2+Dt13+wry6S1DFQ/slVVXDldZAmL/tS/ppbjD6bigy2YlOCfPkV2si6ClF2CwgohvvtTXQafAVejyQrWorytzeVnw8GdCU4Cc+/vWduHiTtexPzjpKuHOd481rf3JrwrCd9+2Fc7QS28C/8S8jTvpFaxpam9vgh96E/6CH1TT0Uv+Xro74bRvSunZJtkYwneGR6OIXmCNjlaSfLyUY6eaQ1gwPBuNZqP+EZ1tUvx8RSrmpm6S5hp6b0QgUgLDyGCZpg6aZOfmJocMvJn4l1QwKsDKKsA6Nz1oi3RCHv0v2lAYlgGO6L3WJsPlZuOw0cuTdLmkoF6mJLjekhls0+apUVyW3zMKfFdnJVLgqsaAqGI70lcFXNOzLjqx04dUDDIZ4Vuye/RgplNWlWQ0A3xL2xrpZpz+FU47dzTxQmlVSIPy6a3NyTmgDQWjNMa4tTtN2VJn1TPAN23enibrndpqMwq4aPdPNUGvDegYYA2iu35N16nxSjJkCN11artmwo8Uw6iBOxo/qVmuUwYGI9t4zWvXyLApEE+V669CZtNaaTVArmDktfp4qqy8YV6+Htx08klBRTPAOY36kMLMa2TciNZGs+UZGXptQGuMJNLyKtTDrlGaFKTIEMrr1XjNpB/BzmuiriZaKljOESmn1YMcGbKUFjLt6Dcdj1cD7BrprEdmtXq0I0OfylikJDyNYI3J5aqUWFXQqQNKkzet1ScdETaV3FbgMi2DVV0e3EBdjyEdhTL8MdCo84WT+rypXFyEedxcKjPyGnM2anIYaeQr0sgCqiGSnFmGZYq0RzAyyHVmqzOR4UuGjUZpkWH2r5fh0x7xy7DTJ3mG5CuM2C1RA3Z4bxTYDGRW097t0IaCwXTPoJ2KIbveHVeNUqFyy1U/5YzIqI9mjk1VVGO0zGYoy5bUEzJGapNm2VJ5ZOnZYjVgxSiRIfnJDOyjKNkmnXQzUN9jrU9KT1ZHritVEK87M6syo6Axk6A/25HsHjWwacxrGpRpSpOradPayFxTMmunBn65XVGfa0qltaOwpxCrtYbk6TKxp6Bg8HRSzkidjyEdlWCBklfnpcocqMwYaMlajGhTZHOrzP/pzvhoshnJoRuVnM+INkEGXyqVS5bzicvdGV+HmRAV6Ml3pZ/bVtBgKgGWDOhMDOpkXL2rnurZBP8mub4bkamLmUxDJKc+WtIbJWnL1emLhgyrW9Gc9dHsJ2iB/VuoL9KKj26+/AtUGGn1UzThl1xRM1JjlFSPNcKvDWz9GRA18GqVrabEv4xSBiSpx5RZm6Wh0khVllFPLJ+xnKdxmTs5iMbk7fRZxOSQa6KyoVk77d6HCiuXkuzfVs5uGCgtVT6jmrNTAjFtuqWds1MkXGqfVkduKs13wozKLRlVaZOJ7EJma23S8f6My9oZU21jYFbMoHob7ZJrQNZOZ/5Fq3+Wbt4unfxLmlZHV9WNutydugyVUsJALe66KvhSWZPU67amvJ0mq5EcNlV0Si9rN6JNkEEnV7mUhMtUzk55XR7lnF1KlyVjOTtF1En0fnx0tuS+kcwHkrs86mvrVMZ5KYvr9ObsVMb3cslJZerSiH/Ve536qtOMzj3oq0NLs/4sQ7kH9ZGSrgqztKsv0smNZKL+QpWHaFTeJs0KjAzpvK4dCt32TsO+UubkJv0cwCjIjWFZAEPlJmkWIPkKrz23JJ924Hx0Mp35j7TznMMg6MBbt77EIC6e5aPs2aSOcxQP81GduUkdgcp5pqf6QJNHqMZtMDT6VeMhqIBuVKJf9e8dJn60VR9kOOenYZ3IZM5PawWCMXqTWIGQns7HVxxliHO6olDjOac/Dk2Hc8ni0Jh4X0/tSKztVx1Da803KSxrZNxcumQuBnQgnkBHfZ70vDry98N4ShU3+G4tVBseIzaG1bXGqfFLkq1x6VYUa/NnR6oo1nfWg8H+bCoghzllUD1xOnTVS2kF3U/rtIeM8iUDxz1kgncG1txoZJ3xteD6am5U1oIbRPsM1dxofd/S8LcgMmCzNGRs9VFYFT2VbKjumEa91ZTBpn8zWqPkjnLdjda6Q0Non3bljdo6AAPiSS21NyPEk7ppZ2j1jdrcvAGZjLR1XqECR/KY0869DTvS8mkj9i46V2Zyb6lAkGlcDCyjWGOoBkS5rYuD9duuMdSGgsF012npNJI9oqta5VWbnUsFlNzKaaebAVZOHYhp002jNqkkXGoLpyNvpJQrUI27Kjokn1suNKqikeRSo9mGjAybAoNUmQadlFOZa9QIVaTeRllqNNfbKE2qwdIYU2+TGoh4zJPpi/Z6mxFQV7krlareJp5r2s8AULWjlsTOpXs6q6Zd1JQJO+NPPNRXcZP5zMMoVNyMWubB0IobDXmHdN9jTzfTrKXi5lvLNOuouBkFnVddcaMjq6Xi/Yl066j1Sk76sX+aa4EBG/FGVPHrlJ6kvrH2PU1tO1zxb5XryX0YkO9U0mRdu9kadSdWVyVPR2lvMjWG8kBHfdZGJewp0zZa4rl0tD4TkbDhOp/BWDgNjdcQCyf37Y3I9sm1fdSzfSl0PYP6kqDpMdqpoQJCsQwhJezqx06Zv9AQi6aZPTE0Gk0amcrml0tssmg0JurXUz+S4J2pi6RTxvEKFFMQcTJuLl0yFwM6EOtoyIakVTfAKpP3dGL4dM+1io7dlHwOPVU3mmJN2dzG78GqqiXVBltG92C1wquRrqO6B6tKFrTB36QTak1v6I3oV8jgUweWljhMDTzqeC8zi4ZHYZrOAtar8wo7FBnIWhqYwdAfw6d8r/VfJfuj7oSU0c7+pH6XOmPRu2JF8mhH76nfYMpc9K5ci67Sp08Vvcf79Nr3JFXFIwbuSeqP39X0xNK+J2lw/K7OKzBgP1dT/J561dcVDamJ31OdFKwGd0Mi+NSrtq44WKPOKGg8joE05euGQ6NYfUewS2OlnXeRzyDnWnSuzORdUoEg49nIeKvkWUrEI9G7EsdSn8lhVRotJex6Mh8KsyTArixtqeN3ReAB2RM9xYJQpO3wegfnJnuS7cGnjBcUt+AJiuxRF7+nHDvVHBp2pJJWaqiZOwP7UWrgSRkHyWBLJw4ie/TQThXf1PFPtTdrTN5H/V5UBvM+ivnpBE4YrzNx+ek4DdWj7wpZTuP5picKMZxvI0QhGeJb0hhEzZuVqfKsMW9Wqo6gNGcdlM46IOMopUfmYt9nBeKKJX8rNPp83FuhoryPlNWXzZ30rVDt9XHJZS49H9wgeVftg4tc1FYVmVTeVXjgavY0UsXc8rfXMxBzK1l0Mo5SemQu1sYCUYLl+zHR5xP2Y9T4kqkiF/l5Ddr8YFU+vKIfLNJtJB9eRjdlHx6IEQHxI0Q3RsmPPhy9WaIavjcn/u7UmB2WYwFELOTzRp+OPnTtGthPfkwtYB4lWfJ3BAGvHxcWkMcJAV4/ia/j/k4A8CplozqYo5AzltcAxQNiUmXN9QDUUuBVYH/2CcpG/mpo0bVrxGH6HM0y+0mW+Qo+RwKCPk29ypzH+NnfcBMsbyOISYHKAHw6GbbXNSxe3DBl0SKhVPqFPo2/pkiX8BtCdJI+TZ7FI1teg8MSIkQx45DtsscRJkX0OfIAuxpjQoDIc1StB3xy9BQEH2wTHkL3fUifo26W3eeBGH94+NTRyH0k8Xd43zv4Pg5iyMBb6SiG8O4i+CGXP3H28FA3/Ed8DD8KgBs++TR8kiWcbzI0LU1S62rET3pKyjng7n+p/1RXl/jY+fNEwlMUw0hPBdyNGIucBjgdiZ451Y+eOn9exMYC+fACO5twEc5fZxE0T5jxYxE+1Nf6vNm1gcn4F0i5A6+8cvOChTe98gp9+tBTlZUr1q5dUVn51CHEUZ5+mWpm10C6ewhP0OKEHHWGCJs4XAILygP1dSXFPi/ZvvEHP9iIPh0dHfTLG++8cyP6bLrt9ttvQxrzOX2c+g92PpSRMUGnl+IJb8hkDTlMPOEIieOikT31dbWBnGwIJwazpHh8+Xg4uu/zkzfeOqUme/JLPeOWNyytmE8fXzJw/dicNdOX9OcVTFw/Hc0gyWU8Nz31Rb7D1Gr6XE8PotFtkLIcux9C4fy1yc4TplAO5iRCCqI0ub4OTseVTxaRs5M+H7g0ub547Lza2eM2zVyzsbS6lD5XWj+jrshfUHlf8QR+ec20ibXlZjT2F/QR8iu2TkGavlj5UoA+EpG6t6gHqEeZGUiW3gR0CBBY1dC95Q2T62udDPgmMP23J4XnqQeet4z7SnhoKnrqpLCaPHttPdYFluDZ5LogrI7VhQNCIXn82iZRq4mIViOoDiw8u1koBK3CS8iykEIhtY24Ho7vC1rhjQwImRjeBOd5V+R5PWJ0Qw4H54LW9NnW+wteEgqfaJnzZdmG0u0fwpn2C+2Umygk3IQ3aLETvNkeMrFmNzGjtnZYaBrqG3zFrM9bG2jgWPLRe37QHOzn791UMsk9UWi/fdX829zNZGH7knbrYTOyURHbwjKnsc2KWASW+Su+jmg6y3yEryMazTJ/Q9dRzWWZj/Hfo5rF/D3hug9fR3SIZc7g64gmsMxZPF5EilnmE3wdkTmWOYeuo1RkmQuijZVowjL/g2wlIbBV1MvcFE22siLRVrJVSraSrSLP4pFHspXDjyOt+RI+99/c+ASpLSvKAV8LYeDvY6sGBrCthJC/I7uvoYgBH/YBvxAW7yOJq2wVvRDfh2wlIJjQsK1sKOKK4Ifc/Qzw9w5tQv+ix+CDAFBw/F9zNYqWEtQCZCkpQL8E6LPbtrFVgBbCu3Yh+BFFfyU9l2grAbKVSLTD8KGzCEZA79olhBE+FWwxtYObQ2RBS0ATlhDBxVnLWtFW1iK6/ezAK3NuaJr9ygG2eN/OeUuXztu5D1tJ5n2qmevUbyWZ9zvXretEn00rV61aibD5K1tA/Y1bR+QhK5kNrWR2yJwVckJL7ky0ktkJZhLbyb+enLBi6rSmPGgoi9fMrGzxz2cLAgP5Xu+4NQWB/sIcR8H6AjQP4ubf2X/IbeWHFMtWSbaSuUrN5jYQXoid2WrK4i3QXGLiYiLV1zUge4nNZW0A4sixPtI7q7zwpo45s5f+8r8mz8xnrvqKJuYVOWsr7/vOc9MXj3e50biP0G9QS9jNov2DFgmZwHj795vA9HePCc/TbzxvKf5StH+XnyE2UMeYXGIp0RKsmWPlp/r4mgK+spSvz+NnOPkZ9ZU1U+ewYNFivmVRaMnSFg4OzYFQC8e3bO8iEN1c7sbGykp3TmOlRMaG+iaqob6aLCm2ww/6Zlnx204hkjYgAjeRtYECMv47Ozunvpoqrwc+9sW/bJ3hCa67dXZb56pNt7Tf07YiWPfjPfOW3duxfu6StcEbls8b2+yvs090BFe03dN+y6ZVnW03fHfZ2uCC21fcvWzu+o57ly3duGqSd/a2D56lujf0z2yd5ANVZH4+XGjgz7Rp8J/ckpJcu/8ZjhH/W/RnbD5VRTqr2pr7hz7bCun6CbRlWewGhfXnk5Wn7oKewi5hA7L0HEtTOVBjZPeRXMFXK1kaVAmnFGxp5JpkWYZA8eoO+jQdwF6RgxgDVw1LNm3hKcBTTpqYVCupEhw2mcsLjv/o1BPCQ5JVIu+IuHLYEbLITByU2iFonV+D1lmFzr52qKdl+Yrmnn+nT79xZMv37r73N68j2SOg1r+qTuufe+OtRXPnLnrrdaT17bNmtUOt/3/vLPotAAAAAQAAB3c1w/mIN9tfDzz1AAsIAAAAAADYz+FlAAAAANn85G7y4P0SBWgIsgAAAAYAAgAAAAAAAHicY2BkYGDf+U+BgYFlw6cHvzezZjAARZABGzcAod8GkwAAAHic7ZhdaFxFFMfnrmOVPmmJYuMHFhSCdLEPfpaotUYRu2goQYqIDbIPMRgJGmoqWBINmIcgJUgQWWgeQlkKwoJF+tCK0CJFRKQ2KG3F6IMvLRHa6jb0ruv/3PlP7tm79yZrTOlLAj/OzNwzZ87MnDkzG1sxI7Zi8teQB8g06M1gWul4uVpkjTkBnqQs09fyf0D77hlN1Ldat76fNFP37YVrxHbi696nAuesGc1ggvrdKSRt/B82g7YUxP+NLTCVIM+98es7yvasWFgNbiMSG+MZiN4e1SdLbyV0LeGb+IRYrx+zrZ2Zk4n6IYVu35XBoI3PibEN56a+dZk1Wk3a1NjiVzKGSxl0kc4UsvqsBPHhuRT6waMtkJbrLnLufo1L/LbXVqpHbOXSzU7+/YetBHeBHNhk3Znxdg4r7kmMcSfYZhvzmT/H91uX73zemFB+dds4Hn1u8v1GVD/RN6w/TDnKfrfaxvzbRrvPu3I9pH/ers8PeqwyffO5oZdzzFNP6u85vaAzxnTYxtiSub5j0++Gp+i334OyKr+i9i/PvfZzHySfg6Nch0Ha28W9FBtjtvFsit5bYB/LYvNBNa6Pdz9WmX11nPh4KnENZH4v2cZ4Fd3dlINsE7nTxmfd++Hj6bAqT9k4NrwPeRvfkUXbGDdT9NvvobrP6vVsItsbbXzfibyPfh0EFTXvD1h+hvNZBz5We6VzlejeCF4Gj3M9+9kuvMbvnnF+L3Bcvx9D3Dfx533r4lf2dA/Xc4hlyADnNcB4wRMAaxFso0R+Cl6n7Lp+etGcdxJf9m8O1IMTYDKW5hGWT3C9P2N9C2PnSzDMWOhzBOshv4WU+PoecsjVzS/gR+oKkjs7CNsCGeMr6+40yOCgawt8HIqtC26MoB38bithn8uRgpR9XcsQ6xEiHmtvQuJ8hj+jjDhbuAwd2LsCH2rDze1Sj5hD+7j7dgW+hRbfeyDPEdgOb7eVq8hp1YKTQjR2T+xXKlsc1RGWsV/VM7Hvi3thFD5P+3eKxKTPu5IH5K38onW5spdrbbiGA9yzQsKm4fmdoRywcS4y7oxG+97v9qou572LvhUVexP1Sfqwj/tXTPAdpX8XiV95nucpnt8Sz1jRxaS5F8j76A3wNef3NNuOpcxrBeSQw217XM7SSe2/g+iyIuqX0t6E4ZrvyLBPW4v2lppTd1wONifKrfhCRL/lPv6N/xuRMYcpOzPqRrV3KvkhOE75Q0p9GV8kXgXJG77s67otqxzVxxy6LWqfb26XNpPSJ6knd3ekI/rb0/WXs5GF2Fz0Ra+t93m+WbfBr3nl13zzPJezsaRv7SltWes7lj1Ow36NZej4+UuOkbfFswrJc/4thvvBPKZ02hV3g4f4Bpc76BZw2WHOsb9I+c3kf4frM3kauut4dyFfB32uHp1Beb8eABgjeFf1S4tlbfe0sxXZUP1DjFHDfVRDPq29Db6xlb+gt4D3ysKn/Dbg9ORu1PdlVOb9lmyv9qh7Ve7KF1J0jtDm/pgQ639xzt2FVdwv4Re4R9F+aY71OyD74u+R3f2uz6KNQsLuDOsz/M5vYkvKMvfwVd6xyFdXZW9KXLeTa6yxxvUidzRGtyW/L/VtpX2j3xOTlPLb8pAxgQGnwCYwi8pZyA1kPehH23kgukVwARxnnwPG5HKQJfebJzhlo//RBLOwfRZyA5G8L2/n8zb6PZmTe6QEm/84O+ZPjr0AeQPbOzj2T2CWY3+EPDcN+SvGvcmNE401Dp2azAVl/P0LwMzxwwAAAAAAHwBNAF8AcQCMAKcAwgDeAPkBCwEnAUIBXgF5AZQBpwG6AcwB3gHwAjYCSQJdAm8CqgK8AwMDOANKA1wDbgOAA5IDuAPwBAIECgQxBEMEVQRnBHkElQSwBMwE5wUCBRUFJwU6BUwFXgVwBbIFxAXmBigGOgZMBl4GcQaDBqgG4gb0BxcHVQdnB3kHiweeB7AHwwfVB+cH+Qg4CEoIdwiKCL0I0AjnCPoJIAkzCUcJdQmjCccJ2QnrCf4KMwpoCnoKpgq4CsoK3Ar4CxMLLwtKC2ULeAuLC50LrwvCC9QL5wv5DAsMHQwwDEIMigzcDO4NAA1SDYMNtw31DjEOQw5VDmgOsg7EDtYO6A76Dw0PWA+TD68P3Q/vEAEQFBA5EEsQXRBvEIIQlRCnELkQ6xD9ERARIhE0EUYRWRFrEa4RwRHTEfISIBIyEkQSVxJpEpUSuRLLEt0S8BMDExUTJxM5E0sTbRN/E5EToxO/E9ET4xP1FAcUGRRuFIAUkhStFMgU4xT+FRkVKxVHFWIVfhWaFbUVyBXbFe0V/xYRFn0WkBatFr8XPBdOF4sXxRfXF+kX+xgNGB8YYRjAGQwZXBmfGbEZwxnVGecaAxoeGjoaVhpxGoQalhqpGrsazRrfGzobTBuPG8IcExwlHDccSRxbHG0cmhzXHOodIR1BHVMdZR13HYodnR2vHcEeFB4mHnkeix7IHu8fAh81H0gfeh+kH7Yf7iABIBUgVSCYIMUg1yEQISIhNSFxIa4hwCH0IgYiGCIqIkYiYSJ9IpkitCLHItoi7CL+IxIjJCM3I0kjWyNtI4AjkiPiJDkkSyRdJL4lACVCJYQlvCXOJeAl9CZBJlMmZSZ3JokmnCcGJzInaCetJ/AoAigVKEsoXShvKIEolCinKLkoyykQKSIpNSlIKVspbSmAKZIp4in1KgcqJypWKmgqeiqNKp8qyir+KxArIis1K0grWitsK34rkCuyK8Qr1ivoLDEsdCyGLJgsqiy8LM4s1i2yLtAvTS/MMBMwRDBxMHkwsTC5MNEw4zEAMTwxRDFWMWkx+TJNMnEygzKVMuoy/DMlMy0zNTM9M1ozYjNqM3IznjOwM/Qz/DQlNEg0azSXNLs07jUkNV01nzXeNeY2IzZjNms2fjaGNrU3ATdRN4M3rDhBOJo4yDjQOQM5OTlrOZM5mzmjObU57Tn/OjM6UjqfOqc68js5O1E7YzuAO7c7vzvRO+Q8cDzCPOc8+T0LPV49cD2YPcQ96T3xPg4+Fj4ePjo+Qj5UPr0+xT7sPw8/Mj9eP4M/sz/mQBxAXkCdQKVA6EEnQS9BQkFKQYhBz0IgQm1ClkMoQ35DrEPRRAREOERpRHFEeUSBRJNE1ETmRTFFhUWNRiBGdkZ+RolGlEbnRwZHDkcWRz9HgkfNSAVIQUiGSN1I5UjtSPVJGEkgSShJMEloSXBJeEmASYhJkEm6ScJJyknSSfxKBEoMShRKHEpSSo9KyUr9SzBLXUuUS8RMD0wiTDVMdEy6TQtNQ02XTdpOGU5HTnlOok7UTxpPVk+CT9hP4FAVUE5Qk1DOUPpRKVFvUbpR8VIzUkVSWFJsUn5SkVKlUrdSyVLbUu1S/1M9U3xTolPXVCVUUFSRVNZU9VVPVZRV0FXZVeJV61X0Vf1WBlYPVhhWIVYqVjNWPFZFVk5WV1ZgVmlWclZ7VoRWjFaUVpxWpFasVrRWvFbEVsxW1FcFVyhXVVefV8hYAVg9WFpYpVjhWPdZTlmhWhlajlsrW7ZcJVxBXFVchlyvXL9c6F0RXVtdpV2uXdBeAV4OXmBecl6GXpteyl74X1Vfsl/PX+xgDWAtYDVgPWBQYGNga2B9YIZgj2CcYKlgtmDLYOFg7GElYVthfmGgYa1hwmHdYgNiN2JVYoli0GL6Yzpjc2PbZINkrGUYZUBlTWVeZaNl8GX9Zi9mPGZNZrdm/mdPZ59nq2e4Z8hoAWhDaE9oW2hoaMto12jnaPNo/2mBaipqmGqlarFrRWtSa79sG2wnbFRskGzBbM5s32z7bQ5tF20fbR9tH20fbX9tzm4ebp9u+W9jb75wGnBgcKRw1HEucZRx1nIxcoly1HMHc1Nzm3P+dEJ0rXTvdR11YXWIdcl2LHZrdnN2e3aidqp2zHbwdwd3LHc/d213qHfGd/14JHhLeHt4rnjWeON5EnkpeUd5nHnBefJ5+noCeiV6T3pyenp6hXqcewR7kXu5e+R8Dnw3fHF8qnztfPp9B30UfSF9Ln07fUh9VX1ifW99fH2JfZZ9o32wfb19yn3YfeZ9834Bfg5+Hn4yfkJ+U35hfnd+h37Vf2iAj4CrgNeBDYEzgVmBgIGmgbmBzYH4gh2CUoKHgr2C84M1g/iEM4SIhK6Ey4T9hR6FQIVbhXaFiYWcha+FwoXSheuGAoYZhjCGR4Zoho+GnYazhsGGzobjhviHBYcah0yHaIgsiE6IcIi1iNuJA4lciWqJgImViaqJvYnRie6KDIosikyKbIqBio+KpIqyir+KzIrZiueK+4sPiySLOYtdi3GLhIuRi5+Ls4vIi9aL44vxi/+MFIwojD2MUoxfjGyMeYyFjJiMq4y/jNKM840NjSeNO41bjXSNjo2ijc6N7o4PjieOPY5TjmaOd46Njp6OtI7NjuGO8o8JjxqPMY9Lj2WPe4+Rj6aPvI/Kj96P75AAkA6QHJAukE6QdJCCkJ6QvJDKkN6Q75ECkRORIZE7kU+RY5F+kZSRqZHCkdiR7pIIkiSSQJJckniSlJK3ksiS2JLrkwCTDpMhkzKTQ5NQk12TcJOMk6+TvJPVk/GT/5QSlCSUNJRElFKUa5R+lJGUrJTClNiU8ZUHlR2VN5VTlWqVf5WUla2VwJXWleaV/JYNlieWOpZQlmCWdpaHlqCWtJbJluyXBZcflziXTJdgl3qXjpeil8WX3Zf1mGqYsZkFmTmZg5mvmcaZ5Zpamr6bHZtFm7icHZyAnN6dG52EnbWdyp3pnf2eHJ5DnpGey58gn2iffJ+Zn7mfxp/Wn+Sf8qACoBCgHqAwoD6gTqBqoHigjKChoLagyqDdoPKhBaEloVGhZaF9oZWhsqHJofWiCaKvosyjNKNdo2qjpaPVpAekLqRVpMmk1qUgpS2lPqVPpW6lmKXPpgamUaaXptCm+qc/p0ynfKfAp/2oPaiCqJOoxqj6qUmpjqmbqfuqB6oYqkCqdKqwqsGrOqu3q8Sr1awDrD2sjazbrSStMa1vrbmuCa4arn2ujq8ir1Kvma/SsF+wm7D/sUuxerI3smiyaLJ/sqay3bMjs3mz37RVtNu1UbW3ti22lLbqt1C3xrgsuIK46Lk/uYa53LpDurm7H7t2u9y8M7x5vNC9Nr2MvdO+Kb5wvqa+7L9Cv6jAHsCEwNrBQMGWwd3CNMKbwvLDOMOOw9XEDMRTxKvFEsVpxbDGBsZNxoTGzMcjx2rHocfnyB7IRch7yMLJGcmAyffKXsq1yxzLdMu6zBDMdszMzRLNaM2vzefOLs6Gzu3PRM+Mz+PQK9Bh0KjQ/tFE0XvRwdH40h7SVdKc0vPTWtOx0/jUT9SW1M3VFNVr1bLV6NYu1mXWjNbD1wvXYtep1+HYKNhf2IbYvtkF2TzZY9mZ2cDZ19n+2jXafNrT2zrbsdwY3G/c1t0u3XXdzN4z3ore0d8o33Dfpt/s4ELgqOD+4UThmuHh4hjiX+K14vzjM+N547Dj1+QO5FXkrOUT5WrlseYI5k/mh+bP5yfnb+em5+3oJehL6ILoyekg6Wfpnenj6hrqQep56sDq9+se61Tre+uS67nr8Ow37I7s9e1M7ZPt6u4y7mnusO8H707vhe/M8ATwK/Bi8KnxAPFH8X7xxfH98iPyWfKf8tby/fM081vzcvOZ89D0F/Ru9LX07PUz9Wr1kfXI9g/2RvZt9qT2y/bi9wn3QPeH97735fgc+EP4WviB+Lj43/j1+Rv5Mfk5+UH5Sfld+WX5kvmu+cL51vnz+g76KfpO+nj6qfq7+un6/fsY+zT7SPtp+5P7m/uj+6v7s/u7+8P7y/vT+9v74/vr+/P7+/wo/ET8WPxs/Ij8pPzA/OH9C/0//VH9ff2Y/in+Pf5R/ln+Yf6a/rv+3P7c/twAAAABAAAGDACUACUAUQAGAAIAEAAvAJoAAALND4MAAwACeJytWMtyG1UQvU7CI+GxoigqxUKVYuFQsh2HRxVkpcjyg8hSkOyELEcjWZ5ElsTMKIo3LFjzI2z4Cj6ABR/AR7CgWNF9uu9jNJJjDOWydOfevv04fbrvHRlj3je/mOtm7cZNY0yf/mW8Zm7Tk4yvkcwPOr5udsxPOr5hPjW/6fgNUzF/6/hNs752W8dvmR/XHur4bfPx2q86vmk+WPtDx++Ye2t/6vjdYPzeh79f+0TH75svP/rL/ExW7pt7Ztt8RaNDk5jYpGZiMvo/MTnN1WmUmik+I5pJaDQ2m7RSMyP6q5gOzQ3NKa1leBrQ94CkX9JnnyTrtC8jvRE9JfQpOvu0yrJDMyMtEcmzD9v0t0kebZNPD0yXbHxD/w9KOqyGjQUdq21VFiSfwMdM46mUrP8fFhMgwnM50OPZM+x6QXOMMK+cQnYZ9kM8zwh9Kx3T9xk9R+RzAqQ3CaXIPIeVI3NOawMzR7Ze0GoN1iTCh7TCGeNM5ST3tdmiv0x356W9m2ptmWcZvJqStgRZrtA8W8nBjGfwuoJYz+l7BkZIrIKJlea5CeJKSYK9GJgqPfchNwXG55jhiNnOlCQT3RurloE+R9A9RWbPSCrHGu/qwQ+L9QgR8S7rl+zIgHNamjlxMVQvlbcpnvu0J6bnKvCSihC7VWdnMYIEmZoDp5g+l2M210hZOqZoZmBWfyn2vGeE0TrJ36Vv5mBPcVmmXXy4KrZeex+ahjSXgqk5Mhe7HrIsAmu97NeDgAMcicSSw57tTqxfYu3TzByRT1B3F3EvKrBqgLxM9FOikvEMVTPDTvbWZtPqOUV9TS/kqPTNsWbGa7cVkijKzB/2twekJbe3aOUW1bjgzFGMEN/c4VzkdRW5iTDuKxN8nrrmwDTpu42c8squw2WxPtZdz8hc14gR4xRdfxN9dETfjNuQ1tukrUkZksr1nSJzaJXzIdgIbyxHIpwwF9Wr5XnPoTJTlhTj3YPWfVrtKSOnqNkE/qTQceKqv8yVMgZD7D2FRtsrt1AbxX6whdMhPCM2IM0c2qK9nMMedkaoEo5ti9A7oJOkYVqUqQYhafP/2FVgFpxe4q2waaAVOURNjJU/VUTDq4PgNDlF1QyVLbYehJ9TPSHFAvuY01qCk0f4Fim/p8rnsC96NnUVhzlshZZ8T+W4uQdIr7c6q8jvIPDQdxdZmwDRE5VNsZK4XtNDtQ4K50emp2C4255hVoYZVF4VryyL/020GTjynJ7ioO/kF1SydI2wEph1woBtdL4W7U2CDvJ6Tyo0L/yOXAc6AXdy14vZIvc1Pruk9uyNg7VKD8sQk/TpNnAe4knkxcJhCb3ifSvT/IW1mwEHf6KIX5ytE8f++4j96lYvn7dF73raV0aOfavY5pm0pX75yOaaM5+DbAlfpP9LHvw5HcFPviXJzcBXnj1jpDqzIL6IvJrgJu7lU3dfF0bk7hyz/Pf9r9h5uUPL+ZOpxggs6OnZtXiWFxkqN4gMfrKdDeROeCU9/RV8OsFZMlCOcH89w44NvSP2EdUIu051RrJseeDvEAN3/qSIPkX/zV1+Y0TKHizTzr0n17kc3U6YxbnMgmxaezYC8aKn/LRni43KIiGxD90za5ooskU7RZwHkLc3nZeQnC+9i8303mmr5zPtHJNL1MpVKiW859s3rvBdMNTSoj2M7zpJ3NWeK/hkiPGV3hliYMxYp+7WOTbhTbR8DhZPvkVUYuRH7qRT12clE/UlNbKv1StISgWIneX32vDOvfruMzD2nngWcMSiM1Z0/L07VSx9VEVdNteZy/bnwNXeF8cLeBez+7q4/a7wrKmh451idrnei1iToafJWSx9yDJ85u6sEqNU7xlk7D1gjDt+qoyz51ofTEuRi8z1tPNL8L2qrItxMwzfDmJ6Gx7jdJbePyxw3PZefwKIvv+Gc9iJVyOdFk4UkU0we7X6scz5osCci+825XvSRN9oyncof2+YQoPvlf69dwKURfMM1WVZseqslZpI4NFI+9BY8Vx9loV3Qm+pyMNVFkP9/i7lT7pVp6Z0jO9pv3h7ZuzbtX3zsB3A9wqRixShy0Qmb7/Sb2w8tg+dB7weuzflGGes9SX8Laav1Wj74+vr2r+n7tN7C0u2qdcfQZLfCo/MU2JzB2sHNFehN5oOrTyhpx2a3aGZOyTR1fU7yNRTGrPGtjmGLtHRoU/W/cxUoLuCZ356RPIt0sV7G+Y72GiQti4kO9B9SLP8ltVQOd5Rp5ljeubxnuHfzMRei3bxdxP72Bfx9IjmvdWiVwewaD07pKcO6d/X1RrpPoA+9r8KpHjccn7uqqc1YMSaj/BOeEy7alh5TOMOfbbxjih+7Ki3LcSwS+sSSwMeSCbEozp9PybbLLFHfh3BC7Z0pJJVRMjx7GA/W32EWfGsrVnmsdeyqViKH4z/E2e5i/ib+OXBMqTsRwWZbsJqB1loKPaMWtPxqhNgXwcqnB32b4fG7O+ey8Giv1ZbMQfLOGAt7CGKBvBoQrpLfjdI/sDNCOsOwLa6Iig6hd2S+WaAYR254vx9S1YbypwaECpGIXXA/vsoBOeaftaxt40nn+OW5rDuMtoGl8qoPEXFNSBVQz66DoVdVOmhen4c8Mjm8VhZ2HaeFfG11WLlLtMhRJe1Xcwg41mDdvaw69B4vd7Nq/2e9Q9nNlrDeJx9PAd4HMXVs3unKSq2LMmy3A2hE4y0e2VESNGdTrZB2Ma2cEyKc5LW0qHTnbhiW07vgfRCAgkk9Bo6IaR3CBAIpFc66YH0QpI//+7Mmy2z59ifbvaVeW3evHm7V5CJxL//XowsdzCQ9g93ui9HoXsNEy/H/XgFHsAr0T14FV6N1+C1eB2axOvRjXiDsdToRlPGMnQTep/Rg45Gx6D/oP+iaaPX6EPHol8by41+dBxyjBXGAPomPgIfiZ+Hj8JHo/uMdfgYdD8+1jjCOBIfh45HJ6B/GEcZR+PjjWPRicZxxvHo+cYJ6FvGiegB9CB6Dp+Avo1PNDYaJxuD6CRjCG3Ez0cnG7aRwicZGfQEGkRDRtbgeKNxCj4Z7XP9esg4FT2MB/EQtrCNU2gGp9F3ccYYxVnM8TA+Bb/AOM04HZ+K3m+cgW5GtyAb/R6lUNrYamzDL0QZ40z0FPqXsQO/CL8YvwRljbOM3XgE5xBH3zPORt9HsziPfoBHjVfgAh7Dm/BmvMWYMqYNx9hnzKBhdIoxa5SMc4w59AJ0KvqtUUafw6cZFXw6HsdnoBcaNfQLo240jKax3zhgHDQW0SgqGYfwVrwNb8dn4h1oDu/Eu/AEPgvvRmX8UnQO3mO83XgHqhjnoXl0qXE+KqAx9H/uAlaNdxrvQpvQb4x3GwbajBaM9xjvRTV8Nn4Zfjl+BX4lqhsX4L3oXPwq40LjIlzEk2gLOg3907jYuARPGZ9ApxuXGpehcfRD1DCuQPvRATyNmtgxrjauMa41rkNn4H3GDWgrnjFuRNuMm4yb8axxK3oSbUdnGrcZtxt34JJxJz4HHUQ70KJxF3o1nsNlPI8ruIpegxfQIXyu8WVcw3XcwE2837jbuAcfQJcZ96LXolvRTvQM2oUmjPuM+/FBdJbxAHoa/dt4EC+i84yH0G7jYeM7+BB+NXopep3xffQG9Eb8GvR6/FrjR/h1+PX4DfiN+E3GI8ajxmPG48YTaA8623jSeMp42vgFehl6Ofqd8Uv0Wfxm49f4Lfit+G3oFcbv0S+NZ4xnjT8YfzT+ZPzZ+IvxV+Nv+O34HcY/jefQJejj+Dx8Pn4nfhd+N34Pfi9+H34//gD+IP4QvgB/GH8EX4gvwh/FH8MX40vwx/En8KX4Mnw5vgJfia/CV+Nr8LX4Onw9vgF/Et+Ib8I341vwrfg2fDu+A38K34k/je/Cn8GfxZ/Dn8dfwF/EX8Jfxl/BX8Vfw1/H38B343vwN/G9+D58P/4WfgA/iL+NH8IP4+/g7+Lv4e/jH+Af4h/hH+Of4J/in+Gf40fwo/gx/Dh+Aj+Jn8JP41/gX+Jf4V/j3+Df4t/h3+Nn8LP4D/iP+E/4z/gv+K/4b/jv+B/4n/g5/C/8b/wf/H/4vwQRg5gkQZKkjWBCCCWMtJMO0km6yBKylHSTZaSH9JI+spz0kxVkgKwkq8hqsoasNd9nvt/8AFlnftD8kHmB+WHzI+aF5kXmR82PmRebl5gfNz9hXmpeZl5uXmFeaV5F1ptXm9eY15rXmdebN5ifNG80byIbzFvMW83bzNvNO8xPmXeanzbvMj9jfpYcYX7O/Lz5BfQx84vkSPPL5lfMr5pfM79ufsO827zH/KZ5r3mfeb/5LfMB80Hz2+ZD5sPkeagX9aHlqB+tQANoJVqFVqM15nfJUeRocgw5lhxHjicnkBPJ88lJ5iPmo+Zj5uPmE+aT5lPm0+YvzF+avzJ/bf7G/K35O/P35jPms+YfzD+SjeRkMkiGiEVskiJpkiFZ9Hn0F/RX9Dfzn+Zz5r/Mf6NlaClai9ahG1ASXYGORJejr6G3oy7CESbDqAe9GHWgTvRK9Cr0IvQScgp5Aeomp6Lb0O3khSiXSKCvo2+gO9Cn0J3o04kkug5dj76IvoTaUHuCJGiCJdoTHYnORFdiSWJpojuxLNGT6E30JZYn+hMrEgOJlYlVidWJNYm1iXWJ9YkNiSMSRyaelzgqcXTimMSxieMSxydOSJyYeH7ipMTGxMmJwcRQwkrYiVQincgksgmeGE6cknhB4tTECxMvSryYvAglyIvJS8gIyaG3kDz6AiKJMTJKCuhq9HcyRjaRzWRL4gxyGjmdjCfOJGeQrWQb2U7ORG8lO8hOsgt9mEyQsxIvJ7sTr0zsJS9FS9Cz6A/oLrQBvRcdgdajC9CH0AfRNaiIrkQj6AOJIrqY7CFno4+ii9BV5GXowoSDKLqbvJy8gryS7CWvIkUySabINHHIPjJDZkmJnEPmSJnMkwqpkgVyLqmROmmQJtlPDpCDZJEcIq8mryGvJa8jrydvIG8kbyJvJm8hbyVvI28n7yDnkfPJO8m7yLvJe8h7yfvI+8kHyAfJh8gF5MPkI+RCchH5KPkYuZhcQj5OPkEuJZeRy8kV5EpyFbmaXIM+Q64l15HryQ3kk+RGchO5mdxCbiW3kdvJHeRT5E7yaXIX+Qz5LPkc+Tz5Avki+RL5MvkK+Sr5Gvk6+Qa5m9xDvknuJfeR+8m3yAPkQfJt8hB5mHyHfJd8j3yf/ID8kPyI/Jj8hPyU/Iz8nDxCHiWPkcfJE+RJ8hR5mvyC/JL8ivya/Ib8lvyO/J48Q54lfyB/JH8ifyZ/IX8lfyN/J/8g/yTPkX+Rf5P/kP8j/6WIGtSkCZqkbRRTQilltJ120E7aRZfQpbSbLqM9tJf20eW0n66gA3QlXUVX0zV0LV1H19MN9Ah6JH0ePYoeTY+hx9Lj6PH0BHoifT49iW6kJ9NBOkQtatMUTdMMzVJOh+kp9AX0VPpC+iL6YvoSOkJzNE9HaYGO0U10M91CT6On03F6Bt1Kt9Ht9Ey6g+6ku+gEPYvupi+le+jZ9GX05fQV9JV0L30VLdJJOkWnqUP30Rk6S0v0HDpHy3SeVmgVPQ8x9A70NvROdD5dQO+i56I3J1+TfC3ai36F3kRr6Ku0nnwDbdAm3U8P0IN0kR6ir6avoa+lr6Ovp2+gb6Rvom+mb6FvpW+jb6fvoOfR8+k76bvou+l76Hvp++j76QeSlyYvS16evCJ5ZfKq5NXJa5LXJq9LXp+8IfnJ5I3Jm5I3J29J3pq8LXl78o7kp5J3Jj+dvCv5meRnk59Lfj75heQXk19Kfjn5leRXk19Lfj35jeTdyXuS30zem7wveX/yW8kHkg8mv518KPlw8jvJ7ya/l/x+8gfJHyZ/lPxx8ifJnyZ/lvx58pHko8nHko8nn0g+mXwq+TT9IP0QvYB+mH6EXkgvoh+lH6MX00vox+kn6KX0Mno5vYJeSa+iV9Nr6LX0Ono9vYF+kt5Ib6I301vorfQ2eju9g36K3kk/Te+in6GfpZ+jn6dfoF+kX6Jfpl+hX6Vfo1+n36B303voN+m99D56P/0WfYA+SL9NH6IP0+/Q79Lv0e/TH9Af0h/RH9Of0J/Sn9Gf00foo/Qx+jh9gj5Jn6JP01/QX9Jf0V/T39Df0t/R39Nn6LP0D/SP9E/0z/Qv9K/0b/Tv9B/0n/Q5+i/6b/of+n/0vwwxg5kswZKsjWFGGGWMtbMO1sm62BK2lHWzZayH9bI+tpz1sxVsgK1kq9hqtoatZevYeraBHcGOZM9jR7Gj2THsWHYcO56dwE5kz2cnsY3sZDbIhpjFbJZiaZZhWcbZMDuFvYCdyl7IXsRezF7CRliO5dkoK7AxtoltZlvYaex0Ns7OYFvZNradncl2sJ1sF5tgZ7Hd7KVsDzubvYy9nL2CvZLtZa9iRTbJptg0c9g+NsNmWYmdw+ZYmc2zCquyBXYuq7E6a7Am288OsINskR1ir2avYa9lr2OvZ29gb2RvYm9mb2FvZW9jb2fvYOex89k72bvYu9l72HvZ+9j72QfYB9mH2AXsw+wj7EJ2Efto2zNtz7KPsYvZJezj7BNtf2WXtv2dXcYub3uOXcGuZFeh96CfoTx6N3oU/Qg9jn6Kfo5+jH6CHkGPsavZNRhhg13LrmPXsxvYJzFhN2LGbsIduBN34SV4Ke5mN7NbcC/uwyOTNWe/0yGH4lSz4SyR19PVxqRTrh4A0kytuN9ZKq9nq9W54mTVn9Yolaed7pGpUm2qOb+v7BwUcnpDCCUszCQk9oUQvtgwl5DNRpSA9hGfi4zMF6dq1QoZqc5UK85c+0itVJkRqslIQYwd+UBQe96VUZyacioNPDpVdCe6Q61abOCCcAIXBLK7oLtRaOFGQXej0MqNguZGe8E3gRV8jwqBRwXwqCA9wgUxDW8SlnVsCsR1bpqqzs8Xpaz2Tb7Y5ObJYq1jc8BobjkNbxH+sS2+xi2Bxi2gcQto3CI0dpwWUnV6SBUeFzHB48KizvEQKTnuysdbJX2rpG8N0ROFygzb6mkuO/saeJswqnubHu1tLaK9TY/2tlbR3qYnzTbf4W0+V5t7Wau0i1ehsEtchjlrFaFkibj0J0qKEOxOabqJVmvOl4vNBtkGIdwmQ9ixrV4u1mdlHHbAIMOxIxzJnTJDd4YivTOyqE5tvliZnizX23ZOzR4oJne5S4t3CUl015QzXSqXi527wiIn5EJP+N5MBH5PCL8nAr8nIn5PBH5PRP2eCPyeiPg9AX5PSL/bJrzthydkyu6W3u0OvGO7p0tOzamX6ni3UNSxJ0TcoyzBewSxfU+Qo3ukIrxHij5biG4/20/67i0Cs/e0jeXqVHnr+OiSvEAIcPv46Uu2RsFtUXBnFDw7AuKirI/FUH0sRutjMVQfi1p9LIbqY1FP9WKLVC/qqV5slepFPdWL/kIWg7gVYYGKUB+LQX0sSlc6pkL1cSqoj9OyPjqyMDqyMDq6/U4L+x3dfqeV/Y5eGJ2gMPqBbQ/iSBxwxYEyJUPaVvc2Bp6R5XEmtJNmwjtpJiiPs155nA0YacmllZ16HZfk3in52ku+drN0DimBASUwoCQMoOfA9I5zQsrnQso752ZqjlMpuzu5NIXLshyUZTkoh6tn2auecmt2VIoL1XqjVl2YdXBF8lbCldRxK2nFr6RVWUmr+vJUWyxPVV+eaqvlqerpVfWjUg0qSlVUlGpQUaqRilINKko1WlGqQUWpRipKFYJchUpaDVXSGgwyHLVw2avLqNVDS1AP0dvK1cpMPdnwymdDls+GKp+NsJymTIGm70IzcLYpnG0GzjYjzjYDZ5tRZ5uBs82Is01wtgnlsynKZ1PWuAPSpQOhCnnAL58HZPlcDBEX/fK5KMvnYrB3FqF8LkrRh2T5PORvina52zcWy43ukqyk5/iVdCpaHCtRsBoF61HwUARsP7hxvllulBbKi92V5vxe+NtYLs0U+0IIHzngAc3KtFPbu1CsuXvITXZBaD+w1/0vLpOV+ep0cuSkqcW2nOO9niVeN3mveNM53tC5adZpLjSatYpHGRX0Ld5r+xZZtAWi6k04e1YAZ0tUSfCU6u4CNuSlz3560WM/XchvK5TF67x49ZQkt3mX2yWxJl7r3usuD5OccF/YhJLaVtjnvW4WAvNCP95VF8POWQ9Jd85OiQsyekiQO3ZW9zXqpRlPU8fmYm0arskep9b05o0Ls/BWOYweEloLXiQKXn7X6s60h9ni6d3jOdl2msdCdtWl+1ua4lVYNOqH0KtHcx6w1I3StFN3M8ddGRdecnoxAhYqYbBzwp1YLM3Mes72+IAvbcnmyOyl+ahwsnNWON+xveim0eycjIhX9cWKyMz2Lre5u7smHGuf8LFdYrVFAuY27egSCxVA+0JQ0pPXNin8l0s8I6I3I/2fCafQtKCXRAqVghQqiRSSa9R2SKJECpWCFCoFKSRcwXMyhRyRQo5IIUekkCesbUESRQo5IoUaYjG9BWJNP4UckUIiTnhKplBDplBdplBdpdA0pFA9lEKzoRRahBQqy9ypyGFappCIhBNOIZE8i+JVcJIGpFBJpFBJWDTthzBIoUNaCs1FU8iJplAznELNeArNRlNoSkuhOqTQQiiF6iqFSkEKVYMUagYptD+SQjMRaDoMLZGx9YmHIpBIBQX1BCkRQqnU8OcIU33IiWTvQoSzETFELr4PyiRQYLdKBoXoDSWDjwslReBCMwxN+jp27si1jZQXZovJnNMotm0quicqKSzUS+65mzzbRSUKLnrXrHuV3OIeOm71XFgouneS85PTRfOMprm1ab605N5GlbyYm9tLiR2z1badpZn5YmJXsUkmpKjE9tlSIu/+ba+X2oW+RrVSrXeCJgFQV5O4YJ4iSQe5EpgIMbdvm3dmgMljV+frUmBSMDu9WNq5OD9ZLbcVhZuTnpsznptuLSg3isQBZw95znrEhnC25Dk7J5wtS2crTfNgyW1zhEWJ2my1ve65ua9UKZbbxGWi4XrcBI8XXG+n3D8XbKt6xrKS71YpZPGyMCDJzZCjS5tRh/o0WM6ohuLUXvVD014MQu2EQ+2oUM+p8LBDTq260Xvp9F5KlX1OrVStdbjtjX/dOODjuxqzbmusoM59Va8DUkBpfzCnXjroz6m75afiQ45XCPxJLt6fJG2ZrlTnqateXri6xUW7UCwumacVrlyVks/VJ/mEMnkpNElGT428EjrcLqUmdIgLT4d3ATq8S6lDXnk6BJ+nQ/BJHeJS6hCMQod3JSJZby4EMQoAV5gCvBipaxkjHxJS/UmeYAUw12pBne0U1srreocnGK47hSwFOAen3ESerjYnyw51W8ta2ZV2zLzbS7s9rdudLbhr2/DuMSszZffesTg15zS8hnne7TKPlWw1T9T/4mv3ytHsonvrU+lya2TpkJtvxbJbmrtEK+g29m6Nnix3ndusNvzDqGum6bbzzrzT8MxY4kNCW4+UtlcOom1cGUGFKauiFPfmreiqEaSlgHNtEXBvC57VUVyE1g00735RIJaHEAG2H7BF935G3mUKdI8XJ8dzzzdglUAJH72medINhVuyZUMNUY3wrwFkyxk9Iiemw7FQKDnIwEVQYcpAlOKc2yyWBWFFlOD72QeIc5tuY1CqSpXLYtO7p6puydkrXmV8QojDoWPTA0SPREQWVqJ8ywbqjlsLBc6/knPlBtgrBxmQCCockGWKEkQijAnh+1QIwtN7fWTIRx8XCVrAGsjsL9Zd90r1ub3qQqDXx9BR+nIfHQ5Qr48VN+TS8SB/tNuzMMVPWrk7NAokqNQcooU8DmFDUR8IoSOhWBUiaAkeVhDEKTwhKDDSa+FsND7dEheKcwgRzjKJjmx/iQoi2B9ChNDrAjO8natbtSpE1kisWHFrYtkpFbtUULyHT3OkMllfcNehyyvXdcddLffkriUni7ONpPcghIl4eyFITrtTkk7TPcG9l6mm2xBX3BZ6punOqZTIbG1xf6VUTMyVFpLlYq2ULJdqxQ7vZVezNuc2tW3zxUqx0VYpuii84Cpz2yB3qLbVvDPDfV1wnA7xusVtP4oV9w7FOdcpu/c1lRkHN5oztdJc4kC1smSy6VbwRtXdEJ6tXdOl/aW6648IU4cb59L+Ytk1zVkRnBGed85BV5LH2O6eMN69WXmy4V82FnrK1ZnSVLHsxmkHHB2dHtW9mPLCldg2O89Klama4x1FbaIjancb9VnvGU2x7DZmI7Va9UC7qKDikk1XD1TklZfK4mqJd7XDZ+loLowqpqXyerJYdwTcW64ecGrbKk5BHLE5t5+e61O4M92ou7YJZL9A7vKOaclaF+glAr25WN4nwOUCHHPP7zDTimAuiKyHZO70TvgwO9vnxl5Kby4shKT3CjBqbI/naxTVC6iw+cs9XMx6ETLw2b3S7e73J0XMFrJiVss1kQaIy6hRMlDjSt9SAe7wp0hPffKxPjhSmR5XM9V1MG11jC+gRWRMeNcyJUICBd9x/5svELi06RNDyv+X0BgtLrS97t09lz24Q1zKNo2J6+liba5jsuwW6nypNlV2Og7MlhoOXLv7fwauB7wVkWni8u4OmFaKlWhJCSWuRgklXZTSG1EjcX1RDRK5PBypgNUPdEjmGh/p5ti0W+QiRD9pWhDXBinUihqY0ILa49aehleIxtxGVaI6p6uNhjMtAbLPraXOokO9Mlh3L2Tkc6IodpUqonRJqAegkPTVfgS3xGl+3OO0Tn/eSG2q02f0gCBHa1NdodxyoSAM/ixg7BSpM1oqzrv3mp3CAwD6IisJyOXRpQRsr3sI6Lj+STdW1fkYq9C3pbI7pKlH4La7x5cbLLf614rzPcKSCGqZ4DoLFmWHexi07/NuIaa9Syb4vatl4irMJnfHTvfcr8EayeuVck7VO6Gn8+69jRtqSZHat1RywURYegn0BQealxwwKZwvwOceTXV3lzamZgPkerE0XnAbVbESIqQ6XSCBQdZdRV/jnsnipGslvFv6Ol/0EdLhABHdoGBndFUlcoOfT6OgUGM4Isiqw3BsUCHJlcThXZkZd8//3cESrBHWTejbO0wc17e3JK4NiJENHKZOxLa3pC6T9TNkB2BCpveHeYLo9YcZA7Rb9gVqV60k7pd7an5dU6hlXhMSxciTNYRxxQiFUTERlBATxZRVtVSYfk3M7lJjdrTaWNFcGA+vvSIPNBd2RNbflxx4sb0qWrBu32RALAssDLOEEX0QGxEuJXpFIDqC7/ejFEX7eiPoPnC0heg4vt+PXFx0Cyna8eTjw01JCN8f6l3C6FDPEs6PQLqPCgQHK6tk+hhfnMKsmqweHBUPe0T/Wpne7JemPp3kzVuuI4XGXh8bTB/wcRMLEbk9UYIntTeKEjKX+ThVjNfFMBG5A63InvSVrQhCxwZBOVCR1Ii0naUgPCEGT54krdZJQqKkrQPaZqe4fzEidtxjGtDInlBBWNWCMLEgSCs1ktAmKKtbUWDWBo02saCZoiwdhzYyIIspAxpZFACPsKoFwRXukVZqJFkcPMrqVhSYtUGjhS2NMMgIR0yVS7BKZxBnjyCt1kny1BG0NS5NKIC0dm8+A8mr4kSVQ50B6UBlZRiI2NarUTyj+jScsKZHIYO5vgqVxT7gCfImiZnrFUUcU80F3Ym1LenKjy5FFbL8aLgFIiZoVZyopLQr0sTCiuAyEollEbznRX8UI9fkQKUnghZmdSuU0rdWR0RUrWhB9RQOtMD7IZTp0nofrQV6hOan6+pWVJh5RCuaUh+RHdkVviGrW1FhzxzRiqZkCw7lF0yIWe6twDj09aEEXRFHi3l9Iby/ist1pGD1saq3y3vt5tE61u/ddlWDZqw1lzzbqn5Dt8bnOszG1Yjhjevn2sowENu4YYrauGGcv3EFMrpxBUptXB/wVPibbb2i/I+NG6eHN25QBPxoHG7jasTwxh2XOdUfXCozPT9XRNGR/RzgPed6Ihh/446H03KtjohtXJ2qNq6O90MY3TDRY3OtoodpkY0bo4Y2bowW27jBMRyS7W/cGDW0cWO02MYNb3Xdcu/cnlg4bN8yECUHXcvKKCHUs2wQFKVMuBFtFdZEGDTiqggxYmp/jOTH/nBlaUWc5rczsDwxGwX3mgiDRlwVIUYWqz9G8tcwQEfzbEWcJvByZQ7bpQxEyUGPsjJKCHUoR7kUlRyHXfF1rZiCdV/fihxa/SND9MMs8ZoWLP5qrm1BDNYtLP0wi7OmBYu/DmtbEIOIh+Nz2Liva8UURH99K3JoDTaot6F3eJ/OcKbHytWasLzWkM/o2vY7lWY9OV+s1ZfUF4rTjrzdbJYaXVPl5qQPLZkVcxTYPS2fYfkINjXrTM25YuYGaodRxRZci7yHh9N4qlhzqvvwfKnifXC27ky5oljZvRmt7SzNVHClOe/Uqsx7n2jeEyWf1m12DnrHar8E/DgVyuXSQh0eAY0HT35DCHhSJRBniCcZ8AhuXRjl7hB1e5l3Ko2aEyGH7z6BHBY4Xj3kvU+0PoSK3NTClDUh+sSCRuySDwRdwPNzWfBMC6wNYUBdX+ThIETCRy7Wg0c1y7XnkjJG/cETvVwoxH3+A9bQw6IB/7ZcI/SEH4PCQ2RAhbhWuCj/eUsILx++qrWVQGxt5VOv0FIKRGQpwyiITpd8mqriGTwSVNGLPDNV0VPIcPQGivNuJ1cvVqb3+lfy/XnvbdDQ5xJ6PTj47IN8d1fh1OcbBLZTYOHjDwMAiL/wO7M9Chl6S74V35IoT7dO752ulsv6nIVys77Xe5EsPhjglgkwPKlfvp2sf3RhBbzLrH+uoFt/97k/hAihB8LoSADiqFURVITUJ0nap1YkUn97vFcJCC3f6iguaomihT50oVChN+0jqKhxrSxerSEjH/jRaYGaNTop8na+8D8kaEUIEcYPhPFhCcvDBD+QSwU2cH+dgGHN49J7BDnyGYVVEVREZZcgqQ2xTEE+ZnkY0wIbD4BM+ZCjrfaAIPj53u+D0U/hSEf96C8P4BB2rY6NyFgRokayIoT3Iy3djxsafD7LB8MR7wuwoTwPkMEHnGAdIh/jWqMhI/rX60RtsgxR8FGRFQEcrR8hEeFcCUtuqM/7+KhQoTmMfasOb5pUKb+REq6jbh33vmOyF0ZZlb2PqZw036zLO9VysTJ3klu6vTfcuqarjfqQgpYIyFLgUgnaCu4GOKUQyxQirTA9PiajUL0BKqtwfSEcb8HI4/KycbZsCzYesy0TY8rEZWVayMrEZWVjTNk4E9fjldZZ0jGb0nGb0i1sSsdtSsdsSsdtSsdsyugsmZicTFxOJiYnq7NkYyxcy6eUxpDS45OKxScVj0+qRXxS8fikYvFJxeOTisUnpccnFYtPKh6fVCw+KT0+qVh8Unp80hpDWrclHbMlHbclHbMlrduSjtmS1m3JaAwZXUYmJiOjy8hqDFmdwYdl/bGjZFvLF1vPFzuWL3Y8X+wW+WLH88WO5Ysdzxc7li+2ni92LF/seL7YsXyx9XyxY/li6/lia/li6/lix/LFjueLHcsXW88XO5Yvtp4vtpYvtp4vdixfbD1fbC1fbD1fbC1fUlFySotHSo9HKhaPVDweqVg8Uno8UrF4pPR4pLR4pPR4pGLxSOnxSGnxSOnxSGnxSEfJac2GtG5DOmZDWrchrdmQ1m1IazZkouSMNj+jz89o87NRclYj+6DoX6wI0YrWD0urH5ZeP6xY/bDi9cNqUT+seP2wYvXDitcPK1Y/LL1+WLH6YcXrhxWrH5ZeP6xY/bD0+mFp9cPS64cVqx9WvH5Ysfph6fXDitUPS68fllY/LL1+WLH6Yen1w9Lqh6XXD0urH1a0flha/bD0+mHF6ocVrx9WrH5Yev2wYvXD0uuHpdUPS68fVqx+WHr9sLT6Yen1w9LqhxWtH5ZWPyy9flix+mHp9cPS6oel1w9Lqx9WtH5YWv2w9PphafXDitYPS6sfVrR+2BGiHc0HW8sHW88HO5YPdjwf7Fg+2Ho+2LF8sPV8sLV8sPV8sGP5YOv5YGv5YOv5YGv5YEfzwdbywdbzwY7lg63ng63lg63ng63lgx3NB1vLB1vPB1vLBzuaD7aWD3Y0H1IRYirqf0rzP6X7n4r5n9L9T2n+p3T/U5r/qaj/Kc3/lO5/SvM/FfU/pfmfivqfjhDTUd1pTXda153WdKejutOa7nRUdyZCzETnZrS5mejcbISYjRIDSLwRUyyfJL6rIz+qF0F1Bb8GM1+dXiJ+scT7LQJn2gW795Vq9UajWnGmZsW3ezrVt3pdvklPk/yRDw9i4hvm4kr8Mod31R3+TRIPsST4VRHBKX4bRFyJX0fxrqj3SyUCJZ7/eFft8gvzQqf/yyMe1Bcy10dS7zdRvAvvk8/iZ0s8YGnot1g8uAN+pEXIlz+S4l0uCzu4capYF0UumCZQS3xXJej7K8DlutMC2xv1XE703ZegHwMBdqlASKIfDQEuDUIirYzERc5XcRDQgHywFn/stiywHn5LpT/qj0K3yW9si1epIPoVb9/6k6YWl4UBwZwY37KJNCulwcHBYW8cKowU5JjLwDgIowVjCvjUmIcR+Ec4jCMwwvwRNR/k54E/D/Q80PMgNwdyciAnJ/QMDlmKD/B5LvF2BsacHFNpOQ6PSr5R0DMKckdBzijoG1X2gD95sHMU9BQUP9BHgV4YlHoKI3JMSzusIdAzXJB4PibHjAV0JRf0F0B/AeaNgb0FxQd6C6B3DOaNgT4b7BtT8R+DuGVhHILRhjENfGqEOI0A/4jKhxyMMH9EzQf5eeDPAz0P9DzIzYGcHMjJjUp708Ownoof6Plh8CcL66lGWP8U+JtV6wF6R0HPKMgbBf2jyj7wLw92j4K+guJXeQL0whCsK+RTOgvrBnZnbICVHNBXAH0FsGcM7CsoPtBTAD1jMG8M5Ntgz9hwnzuOZLMp9SffcNGQPsGbZQ1mZZalhgZhHILRglFanRqEcVjxpWBMAx3wg2p+BsYsjBzGYeAbBXgE4DzAORgVrPgKMIK9FuizQJ8F9lrKXuC3wE4L7LTAHgvss8AuS9ml5IN+C+yzwK5BxafsVv4rPWDvIMgfBH2DoGcQ5FjKPtA3CPYPqxHmD4OeEcCPwLwc+J8DfA74c8CfB/oo6C0AX0HBhaWwjurHWgDORWHLp8t5Nsi1Ie42yLUh7mmVJ4oOcbEhTmmYn1Z0sBt2bcoG+2yIcxriaYNfaVgXqNopW8GKD+JjQ1xToC8F+lJgb0rZC/wpsBNOgVQK7IHqkUqBXSlll5IP+lNgXwrsSis+ZbfyX+kBe6H6p6BauD00jCAnpewDfWmVHyrOMG8Y+EcAPwL8OfA7B/gc8OeAPw98o2BvAfgKCh5bCusczQvb1mAtj+yMBmc1mGvwcBROj2r0EQ3W8tQei8Ipzd6UZk9K05/S9KfyGqzpTxU0/UPqZ45E3Oxhuc62PBUHbYizDV2JLbuXQVueNtYgH4RxCEYLRhvGFIxpGDMwqvkcxmE5ZmXeD8rT1B0tGEFeFuRlQV4W5GVBXhbkZYcZ/KDLZFli5A6zspk8jDKTB2U/YA3CiWBnC4AHz6DSFuTOtAZz6S7xAYZ5t2dvFGuLyUKzVpUkNSUHQciBsUqFbAndcQTGPNDBiRwEMQf8I+BMDoIzouYBfgTkycWy4Mh2Rxkce2Ssy+2Dg58FENgheYRYFpR61yFS9L6u31xoF6P4hBETl943v+SV92UveTVZbcwymDBd6fSvJuuOkJuGVEhDKqTdVHCp3vexAU7DmIEx2wbUhRCXTESXOgZjAcZRUt4XlpaDcQTGYVJrhOWAtmHQJguPO3IYh2GE+cMgbzgP4yiMoH94jJQb4gvkbeKVTM/JUVDzY3hKfslZgAUwXvbk7gihGYXQyB7OHcE42FXpUXB+FIwfA3hMwcA/Bvx5MDIPRufBqXyhvbrgVOTvTbBSZX9wFTZzFHwfBd8LYG5BmQtiR0HNKMRiFNzLgzmyRbZysolyRwVzGJVZEPsc6IG8T48U4JvJNWeqAShQOTLGJGmyehAwahLEUp4grhJwZgRiNgIxg02WHoGYweZKw+ZJj6h5KgjAVwC+AvAVgK8AfGPgxBjYMwb2jMHajik+COIYeDRWII1aqTjTXIAgZCQ8XYEgqeCAnBzYk1NrDfoKILcA+ALIrTXkWN4H88COPMQDilM6pxYDFjUP9ucUH/idU4sN9hSAXgD+gsKrXIV5YzBvDOI2BvoysB5p8CsN89Lgdwbmp8GvNMxPg99Qx9MZ0JtR88CutJIPdBvoQ2CvBXoHwe8hsDMF8i2AhxQM9gyCPRbgUyAno+xX+kFPCvhTIC8L62CDXUMwDgJ9EOTCSZbOgn2DSj/Mz0I8BkHfINiRBT4b+IYUv/JH+Q16U0C31KjwINcC+22AbQWDfzbYkVKjWg+wOwP8GeU/rEMW+LIgJ6viCeuagvlwsqctwA/B/EGAB5U8iH9W4SF+g2AXdArpQeAbBBg6iXRW+QV0KFrpIcWv/AX5luJT9oI8C+y2AbYVDP7ZsD4pNYKcDOhLg7y0ooN/NtDh+E6rOjek8hfwKeCzVdwUH8izwA9oEtIZtf9g/dNqfwKcAf602h9q/yh7lH1At0DukFp30J8B/+Wdi5UZGsb7nPli2Ul6L23iqwNJ7xsDbeKLAgS+HyCYs7BJsmDsECTxECT/ENCH1MkDTuYgaXKwWDnYDDkwMgcnV06dXFAUcnBC5aBY5qA45KAI5CCoOVjsHDibyyv56jACOyCJcnmYN6ToIB+KSQ42W25I2a38AXsg2DlL6QG7hgod8JFD7+OHAsdhY3AoKBw2PIdCwaHgcPCNwwJyKBQcCjeHws8hATic+nwYRrCBwwbn0PTwERih8PE8jFzpBTsgUTlsdA5NDYcDj8MBwaE54tDBcVgrDjnB4cDmcMBzKMwc1pZz5XcO9MMIhZJDYeZwYHM4MDlsDA7dEYcOkcMacNgoHBoCDg0Eh8LKISc4V3phHeAA4FAIOTQMHA58DgcXhyaRD8MIucXh4ONw8HJogDgUYA4HNedq3dMwjoIdMEJB51AAOTQoHBoNDgcwh+6PQ0fMIVc5FHgODQiHlo3DwcehOeVc6QU74EDhUIA5NLccGg8OBymHJphDJ89h73I46Dk0IhwaPQ4HF4e9y7nyexj0wwiFmMOByaFh4dDwcCjAfBRGuFPgUAM4NCgcGkMOjSSHws6hCedc6YV9CAcBhwOPQ+PIoQvm0OBwuFngwzBCjeBQSDl05xwaYQ6NC4fGkHO17y0YMzAWwB4Y4YDi0GjwMRihIeRQsDl0/RzuhDjUPg4HPS/ACHelHA5wnoeRK71gBxyQHA5mDjc1PAcjNHAcbo443MFxqIkcGkhegBEafA4HMYfazrnyewT0wwiNC4dGikODyuHunEPDyeHuiMMdIofaz+Fg43BDwOEGgkMjxKHWc670wjpA48Sh8eFww8DhqQGHxpHDTSIfhhHONA4HMofGm8MNEIeDmUMDz7la9xSMebADRmhkODRMHG5QODyV4NCIcLj743BHzOFM5dCAc7gB4SMwQgPH4WaUc6UX7IAGi0PDxuHmlsMNCYcbAQ43wRyeBHA4wzk02hxuNDjc6HFopHgeRq785qAfRmikODTYHG5IONwIcWiA+CiM8KSAwxnMoVHjcGPI4UaSQ+PFoXfgXOmFcxhuQDg0wBxuHDncBXO48eHwsIAPwwhnPocbHA535xyeNnFoEDncMHL5SG7QzsKjPFlfBy14hGfBI1QL3oCy4RG/DY/8bXjUb8OjfRve4rDheZENbyHY8NaBDW+52PAWiA1vUdjwloVt8U7QI96JBSAbBnJhwAoD+TCQCQMjYSAVAoaktA7/PeCpxe7QtSD+PzXnEgl4nG2KaVOSYRSG3xcEyczMCnlluUFBhCcU4QkEocilRSpEfJAHbLOF9oX2/a2ZZvyi4ww/wy/Qp/oRfOgXnWAGm2qcM3Of61znztDXU4Qv6Sr0NOFzivApWcfHJOHDLOF9MoF3CcLbmTrezBBexwiv4rt4GSe8OEl4HkmjFtHxLEJ4GiU84YTH4RoehQkPwy08mCbcnyLcm2rh7mQd1UnCnUkdt0M6boUIN9t7I1TEjRBw/QThGiviKiNcYTWsBwiVIKEc1CEDUyhNENb8LRT9BOEjrI4TCr40Vrw68l7CsreInJfjsteNS2OEi6N1ZEcJSx7CBU8O5z0hnPO4cNZNWHRzLLgI86DML8xBxxknIeMgnHboSKeqSCWXMJusYSZWRzzGwaM5RCOLmA7nwAIcwYCOgNOurU/Yh+DXRrT18ZZP+Ext8GqEMe0YRj06PFaC22YFdl3CNUxwVh3C0XZ2rmkVW8q6URnp0HCHjmsL1rXyUT4kjvBBMSQH5SHeL0y8R/TLHnk4MSAO8j7Ry81C5YoYkH3SLBV5gFuEkRuERRrkoGLMZEzqT3VHWWXZH720km1YlisNdbPhK3Qyky83zJsNRZQrpaaqbstvW1uKcy7b2CmUvhuVNsqmwTCfLzV7jNtyTmEKY0zpDuvyXqp/Tfet7rU7xP7xXWJ/7v/UPnLfFrP9BvOls3wAAA==") format("woff2");}';class Random{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},lzStringExports={},lzString={get exports(){return lzStringExports},set exports(e){lzStringExports=e}};function splitFolderAndFilename(e){const t=e.lastIndexOf("/"),A=-1==t?e:e.substring(t+1);return{folderpath:obsidian_module.normalizePath(e.substring(0,t)),filename:A,basename:A.replace(/\.[^/.]+$/,"")}}!function(e){var t=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function n(e,t){if(!i[e]){i[e]={};for(var A=0;A>>8,A[2*i+1]=r%256}return A},decompressFromUint8Array:function(t){if(null==t)return a.decompress(t);for(var A=new Array(t.length/2),i=0,n=A.length;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++),r[l]=h++,c=String(o)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,u),u++),delete s[c]}else for(n=r[c],i=0;i>=1;0==--d&&(d=Math.pow(2,u),u++)}for(n=2,i=0;i>=1;for(;;){if(p<<=1,m==t-1){g.push(A(p));break}m++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:a._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,A,i){var n,a,r,s,o,l,c,d=[],h=4,u=4,g=3,p="",m=[],w={val:i(0),position:A,index:1};for(n=0;n<3;n+=1)d[n]=n;for(r=0,o=Math.pow(2,2),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;c=e(r);break;case 2:return""}for(d[3]=c,a=c,m.push(c);;){if(w.index>t)return"";for(r=0,o=Math.pow(2,g),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;switch(c=r){case 0:for(r=0,o=Math.pow(2,8),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 1:for(r=0,o=Math.pow(2,16),l=1;l!=o;)s=w.val&w.position,w.position>>=1,0==w.position&&(w.position=A,w.val=i(w.index++)),r|=(s>0?1:0)*l,l<<=1;d[u++]=e(r),c=u-1,h--;break;case 2:return m.join("")}if(0==h&&(h=Math.pow(2,g),g++),d[c])p=d[c];else{if(c!==u)return null;p=a+a.charAt(0)}m.push(p),d[u++]=a+p.charAt(0),a=p,0==--h&&(h=Math.pow(2,g),g++)}}};return a}();null!=e&&(e.exports=t)}(lzString);const download=(e,t,A)=>{const i=document.createElement("a");i.setAttribute("href",(e?`${e},`:"")+t),i.setAttribute("download",A),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)};function getIMGFilename(e,t){return`${e.substring(0,e.lastIndexOf("."))}.${t}`}function getNewUniqueFilepath(e,t,A){let i=obsidian_module.normalizePath(`${A}/${t}`),n=e.getAbstractFileByPath(i),a=0;const r=t.endsWith(".excalidraw.md")?".excalidraw.md":t.slice(t.lastIndexOf("."));for(;n;)i=obsidian_module.normalizePath(`${A}/${t.slice(0,t.lastIndexOf(r))}_${a}${r}`),a++,n=e.getAbstractFileByPath(i);return i}function getDrawingFilename(e){return e.drawingFilenamePrefix+(""!==e.drawingFilenameDateTime?window.moment().format(e.drawingFilenameDateTime):"")+(e.compatibilityMode?".excalidraw":e.useExcalidrawExtension?".excalidraw.md":".md")}function getEmbedFilename(e,t){return(t.drawingEmbedPrefixWithFilename?e:"")+t.drawingFilnameEmbedPostfix+(""!==t.drawingFilenameDateTime?window.moment().format(t.drawingFilenameDateTime):"")+(t.compatibilityMode?".excalidraw":t.useExcalidrawExtension?".excalidraw.md":".md")}async function checkAndCreateFolder(e){const t=app.vault;e=obsidian_module.normalizePath(e);const A=t.getAbstractFileByPathInsensitive(e);A&&A instanceof obsidian_module.TFolder||(A&&A instanceof obsidian_module.TFile&&new obsidian_module.Notice(`The folder cannot be created because it already exists as a file: ${e}.`),await t.createFolder(e))}const getURLImageExtension=e=>{const t=e.split("?")[0];return t.substring(t.lastIndexOf(".")+1)},getMimeType=e=>{switch(e){case"png":return"image/png";case"jpeg":case"jpg":return"image/jpeg";case"gif":return"image/gif";case"webp":return"image/webp";case"bmp":return"image/bmp";case"ico":return"image/x-icon";case"svg":case"md":return"image/svg+xml";default:return"application/octet-stream"}},getFileFromURL=async(e,t,A=1e3)=>{try{return await Promise.race([(async()=>new Promise((e=>setTimeout((()=>e(null)),A))))(),obsidian_module.requestUrl({url:e,method:"get",contentType:t,throw:!1})])}catch(t){return void errorlog({where:getFileFromURL,message:`URL did not load within timeout period of ${A}ms`,url:e})}},getDataURLFromURL=async(e,t,A=1e3)=>{const i=await getFileFromURL(e,t,A);return i&&200===i.status?await getDataURL(i.arrayBuffer,t):e},blobToBase64=async e=>{const t=await e.arrayBuffer(),A=new Uint8Array(t);for(var i="",n=A.byteLength,a=0;a(void 0===window.pdfjsLib&&await obsidian_module.loadPdfJs(),await window.pdfjsLib.getDocument(app.vault.getResourcePath(e)).promise),{exportToSvg:exportToSvg,exportToBlob:exportToBlob}=excalidrawLib;let versionUpdateChecked=!1;const checkExcalidrawVersion=async e=>{if(!versionUpdateChecked){versionUpdateChecked=!0;try{const e=async()=>JSON.parse(await obsidian_module.request({url:"https://api.github.com/repos/zsviczian/obsidian-excalidraw-plugin/releases?per_page=5&page=1"})),t=(await e()).map((e=>({version:e.tag_name,published:new Date(e.published_at)}))).filter((e=>e.version.match(/^\d+\.\d+\.\d+$/))).sort(((e,t)=>t.published-e.published))[0].version;isVersionNewerThanOther(t,PLUGIN_VERSION)&&new obsidian_module.Notice(`A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is ${t}`)}catch(e){errorlog({where:"Utils/checkExcalidrawVersion",error:e})}setTimeout((()=>versionUpdateChecked=!1),288e5)}};function wrapTextAtCharLength(e,t,A=!1,i=0){if(!t)return e;let n="";if(A){for(const A of e.split("\n")){const e=A.match(new RegExp(`(.){1,${t}}`,"g"));n+=e?`${e.join("\n")}\n`:"\n"}return n.replace(/\n$/,"")}const a=new RegExp(`(.{1,${t}})(\\s+|$\\n?)|([^\\s]{1,${t+i}})(\\s+|$\\n?)?`,"gm"),r=e.matchAll(a);let s;for(;!(s=r.next()).done;){n+=s.value[1]?s.value[1].trimEnd():s.value[3].trimEnd();const e=(s.value[2]?s.value[2].split("\n").length-1:0)+(s.value[4]?s.value[4].split("\n").length-1:0);n+="\n".repeat(e),0===e&&(n+="\n")}return n.replace(/\n$/,"")}new Random(Date.now());const rotate$1=(e,t,A,i,n)=>[(e-A)*Math.cos(n)-(t-i)*Math.sin(n)+A,(e-A)*Math.sin(n)+(t-i)*Math.cos(n)+i],rotatedDimensions=e=>{if(0===e.angle)return[e.x,e.y,e.width,e.height];const t=e.x+e.width/2,A=e.y+e.height/2,[i,n]=rotate$1(e.x,e.y,t,A,e.angle),[a,r]=rotate$1(e.x+e.width,e.y+e.height,t,A,e.angle);return[i{const s=1/A.value;return{x:(e-i)*s-a,y:(t-n)*s-r}},getDataURL=async(e,t)=>new Promise(((A,i)=>{const n=new FileReader;n.onload=()=>{const e=n.result;A(e)},n.onerror=e=>i(e),n.readAsDataURL(new Blob([new Uint8Array(e)],{type:t}))})),getFontDataURL=async(e,t,A,i)=>{let n="",a="",r="";const s=e.metadataCache.getFirstLinkpathDest(t,A);if(s){const t=await e.vault.readBinary(s),A=s.extension.startsWith("woff")?"application/font-woff":"font/truetype";a=null!=i?i:s.basename,r=await getDataURL(t,A),n=` @font-face {font-family: "${a}";src: url("${r}") format("${"ttf"===s.extension?"truetype":s.extension}");}`;const o=n.split(";base64,",2);n=`${o[0]};charset=utf-8;base64,${o[1]}`}return{fontDef:n,fontName:a,dataURL:r}},svgToBase64=e=>`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(e.replaceAll(" "," "))))}`,getBinaryFileFromDataURL=e=>{if(!e)return null;const t=e.matchAll(/base64,(.*)/g).next(),A=window.atob(t.value[1]),i=A.length,n=new Uint8Array(i);for(let e=0;e{var i;try{return await exportToSvg({elements:e.elements,appState:Object.assign({exportBackground:t.withBackground,exportWithDarkMode:!!t.withTheme&&"light"!=(null===(i=e.appState)||void 0===i?void 0:i.theme)},e.appState),files:e.files,exportPadding:A})}catch(e){return null}},getPNG=async(e,t,A,i=1)=>{var n;try{return await exportToBlob({elements:e.elements,appState:Object.assign({exportBackground:t.withBackground,exportWithDarkMode:!!t.withTheme&&"light"!=(null===(n=e.appState)||void 0===n?void 0:n.theme)},e.appState),files:e.files,exportPadding:A,mimeType:"image/png",getDimensions:(e,t)=>({width:e*i,height:t*i,scale:i})})}catch(e){return errorlog({where:"Utils.getPNG",error:e}),null}},getQuickImagePreview=async(e,t,A)=>{if(!e.settings.displayExportedImageIfAvailable)return null;const i=getIMGFilename(t,A),n=e.app.vault.getAbstractFileByPath(i);return n&&n instanceof obsidian_module.TFile?"png"===A?await e.app.vault.readBinary(n):await e.app.vault.read(n):null},embedFontsInSVG=(e,t)=>{const A=null!=e.querySelector("text[font-family^='Virgil']"),i=null!=e.querySelector("text[font-family^='Cascadia']"),n=null!=e.querySelector("text[font-family^='LocalFont']"),a=e.querySelector("defs");return a&&(i||A||n)&&(a.innerHTML=``),e},getImageSize=async e=>new Promise(((t,A)=>{const i=new Image;i.onload=()=>{t({height:i.naturalHeight,width:i.naturalWidth})},i.onerror=A,i.src=e})),scaleLoadedImage=(e,t)=>{let A=!1;if(!t||!e)return{dirty:A,scene:e};for(const i of t){const[t,n]=[i.size.width,i.size.height],a=i.size.width/i.size.height;e.elements.filter((e=>"image"===e.type&&e.fileId===i.id)).forEach((e=>{const[r,s]=[e.width,e.height];if(i.shouldScale){if(a!=r/s){A=!0;const i=Math.sqrt(r*s*n/t),a=Math.sqrt(r*s*t/n);e.height=i,e.width=a,e.y+=(s-i)/2,e.x+=(r-a)/2}}else r===t&&s===n||(A=!0,e.height=n,e.width=t,e.y+=(s-n)/2,e.x+=(r-t)/2)}))}return{dirty:A,scene:e}},setDocLeftHandedMode=(e,t)=>{const A=t.createElement("style");A.id="excalidraw-left-handed",A.textContent=".excalidraw .App-bottom-bar{justify-content:flex-end;}";const i=t.getElementById(A.id);i&&t.head.removeChild(i),e&&t.head.appendChild(A)},setLeftHandedMode=e=>{const t=new Set;app.workspace.iterateAllLeaves((A=>{const i=app.isMobile?document:A.view.containerEl.ownerDocument;i&&(t.has(i)||(t.add(i),setDocLeftHandedMode(e,i)))}))},getLinkParts=(e,t)=>{var A,i,n;const a=e.match(/(^[^#\|]*)#?(\^)?([^\|]*)?\|?(\d*)x?(\d*)/);return{original:e,path:t&&""===a[1]?t.path:a[1],isBlockRef:"^"===a[2],ref:null===(A=a[3])||void 0===A?void 0:A.replaceAll(REG_BLOCK_REF_CLEAN,""),width:a[4]?parseInt(a[4]):void 0,height:a[5]?parseInt(a[5]):void 0,page:parseInt(null===(n=null===(i=a[3])||void 0===i?void 0:i.match(/page=(\d*)/))||void 0===n?void 0:n[1])}},compress=e=>lzStringExports.compressToBase64(e).replace(/(.{64})/g,"$1\n\n"),decompress=e=>lzStringExports.decompressFromBase64(e.replaceAll("\n","").replaceAll("\r","")),hasExportTheme=(e,t)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if((null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-export-dark"])return!0}return!1},getExportTheme=(e,t,A)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if((null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-export-dark"])return A.frontmatter["excalidraw-export-dark"]?"dark":"light"}return e.settings.exportWithTheme?A:"light"},hasExportBackground=(e,t)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if((null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-export-transparent"])return!0}return!1},getWithBackground=(e,t)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if((null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-export-transparent"])return!A.frontmatter["excalidraw-export-transparent"]}return e.settings.exportWithBackground},getExportPadding=(e,t)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if(!(null==A?void 0:A.frontmatter))return e.settings.exportPaddingSVG;if(null!=A.frontmatter["excalidraw-export-padding"]){const e=parseInt(A.frontmatter["excalidraw-export-padding"]);if(!isNaN(e))return e}if(null!=A.frontmatter["excalidraw-export-svgpadding"]){const e=parseInt(A.frontmatter["excalidraw-export-svgpadding"]);if(!isNaN(e))return e}}return e.settings.exportPaddingSVG},getPNGScale=(e,t)=>{if(t){const A=e.app.metadataCache.getFileCache(t);if((null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-export-pngscale"]){const e=parseFloat(A.frontmatter["excalidraw-export-pngscale"]);if(!isNaN(e)&&e>0)return e}}return e.settings.pngExportScale},isVersionNewerThanOther=(e,t)=>{const A=e.match(/(\d*)\.(\d*)\.(\d*)/),i=t.match(/(\d*)\.(\d*)\.(\d*)/);return Boolean(A&&4===A.length&&i&&4===i.length&&!(isNaN(parseInt(A[1]))||isNaN(parseInt(A[2]))||isNaN(parseInt(A[3])))&&!(isNaN(parseInt(i[1]))||isNaN(parseInt(i[2]))||isNaN(parseInt(i[3])))&&(parseInt(A[1])>parseInt(i[1])||parseInt(A[1])>=parseInt(i[1])&&parseInt(A[2])>parseInt(i[2])||parseInt(A[1])>=parseInt(i[1])&&parseInt(A[2])>=parseInt(i[2])&&parseInt(A[3])>parseInt(i[3])))},getEmbeddedFilenameParts=e=>{const t=null==e?void 0:e.match(/([^#\^]*)((#\^)(group=|area=|taskbone)?([^\|]*)|(#)(group=|area=|taskbone)?([^\^\|]*))(.*)/);return t?{filepath:t[1],hasBlockref:Boolean(t[3]),hasGroupref:"group="===t[4]||"group="===t[7],hasTaskbone:"taskbone"===t[4]||"taskbone"===t[7],hasArearef:"area="===t[4]||"area="===t[7],blockref:t[5],hasSectionref:Boolean(t[6]),sectionref:t[8],linkpartReference:t[2],linkpartAlias:t[9]}:{filepath:e,hasBlockref:!1,hasGroupref:!1,hasTaskbone:!1,hasArearef:!1,blockref:"",hasSectionref:!1,sectionref:"",linkpartReference:"",linkpartAlias:""}},fragWithHTML=e=>createFragment((t=>t.createDiv().innerHTML=e)),errorlog=e=>{console.error(Object.assign({plugin:"Excalidraw"},e))},sleep$1=async e=>new Promise((t=>setTimeout(t,e))),log=console.log.bind(window.console),debug=console.log.bind(window.console),getContainerElement=(e,t)=>{var A;return e&&e.containerId&&null!==(A=t.elements.filter((t=>t.id===e.containerId))[0])&&void 0!==A?A:null},updateFrontmatterInString=(e,t)=>{if(!e)return e;for(const A of t){const t=new RegExp(`${A[0]}:\\s.*\\n`,"g");e=e.match(t)?e.replaceAll(t,`${A[0]}: ${A[1]}\n`):e.replace(/^---\n/,`---\n${A[0]}: ${A[1]}\n`)}return e},isHyperlink=e=>e&&!e.includes("\n")&&!e.includes("\r")&&e.match(/^https?:(\d*)?\/\/[^\s]*$/),isContainer=e=>{var t;return"arrow"!==e.type&&(null===(t=e.boundElements)||void 0===t?void 0:t.map((e=>e.type)).includes("text"))},hyperlinkIsImage=e=>{isHyperlink(e);const t=e.split("?")[0];return IMAGE_TYPES.contains(t.substring(t.lastIndexOf(".")+1))},hyperlinkIsYouTubeLink=e=>isHyperlink(e)&&(e.startsWith("https://youtu.be")||e.startsWith("https://www.youtube.com")||e.startsWith("https://youtube.com")||e.startsWith("https//www.youtu.be"))&&null!==e.match(/(youtu.be\/|v=)([^?\/\&]*)/),getYouTubeThumbnailLink=async e=>{const t=e.match(/(youtu.be\/|v=)([^?\/\&]*)/);if(!t||!t[2])return null;const A=t[2];let i=`https://i.ytimg.com/vi/${A}/maxresdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1});return n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${A}/hq720.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:(i=`https://i.ytimg.com/vi/${A}/mqdefault.jpg`,n=await obsidian_module.requestUrl({url:i,method:"get",contentType:"image/jpeg",throw:!1}),n&&200===n.status?i:`https://i.ytimg.com/vi/${A}/default.jpg`))},labelCTRL=()=>DEVICE.isIOS||DEVICE.isMacOS?"CMD":"CTRL",labelALT=()=>DEVICE.isIOS||DEVICE.isMacOS?"OPT":"ALT",labelMETA=()=>DEVICE.isIOS||DEVICE.isMacOS?"CTRL":DEVICE.isWindows?"WIN":"META",labelSHIFT=()=>"SHIFT",isCTRL=e=>DEVICE.isIOS||DEVICE.isMacOS?e.metaKey:e.ctrlKey,isALT=e=>e.altKey,isMETA=e=>DEVICE.isIOS||DEVICE.isMacOS?e.ctrlKey:e.metaKey,isSHIFT=e=>e.shiftKey,mdPropModifier=e=>!isSHIFT(e)&&isCTRL(e)&&!isALT(e)&&isMETA(e),scaleToFullsizeModifier=e=>isSHIFT(e)&&!isCTRL(e)&&!isALT(e)&&isMETA(e)||!isSHIFT(e)&&isCTRL(e)&&isALT(e)&&!isMETA(e),linkClickModifierType=e=>isCTRL(e)&&!isALT(e)&&isSHIFT(e)&&!isMETA(e)?"active-pane":!isCTRL(e)||isALT(e)||isSHIFT(e)||isMETA(e)?isCTRL(e)&&isALT(e)&&!isSHIFT(e)&&!isMETA(e)?"new-pane":DEVICE.isDesktop&&isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"popout-window":isCTRL(e)&&isALT(e)&&isSHIFT(e)&&!isMETA(e)?"new-tab":mdPropModifier(e)?"md-properties":"active-pane":"new-tab",externalDragModifierType=e=>(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||isALT(e)||!isMETA(e))?(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||isCTRL(e)||!isALT(e)||isMETA(e))?"image-url":"image-import":"insert-link",internalDragModifierType=e=>(!isSHIFT(e)||isCTRL(e)||isALT(e)||isMETA(e))&&(isSHIFT(e)||!isCTRL(e)||isALT(e)||isMETA(e))?scaleToFullsizeModifier(e)?"image-fullsize":"link":"image",emulateCTRLClickForLinks=e=>({shiftKey:e.shiftKey,ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,altKey:e.altKey}),getParentOfClass=(e,t)=>{var A;let i=e.parentElement;for(;i&&!(i instanceof window.HTMLBodyElement)&&!i.classList.contains(t);)i=i.parentElement;return(null===(A=null==i?void 0:i.classList)||void 0===A?void 0:A.contains(t))?i:null},getLeaf=(e,t,A)=>{switch(linkClickModifierType(A)){case"active-pane":return t;case"new-tab":default:return(()=>{if(!e.settings.openInMainWorkspace)return app.workspace.getLeaf("tab");const[A,i]=getLeafLoc(t);return"main"===A?app.workspace.getLeaf("tab"):getNewOrAdjacentLeaf(e,t)})();case"new-pane":return getNewOrAdjacentLeaf(e,t);case"popout-window":return app.workspace.openPopoutLeaf()}},getLeafLoc=e=>{const t=e.id,A=app.workspace.getLayout(),i=e=>e.children.filter((e=>"leaf"!==e.type)).map((e=>i(e))).flat().concat(e.children.filter((e=>"leaf"===e.type)).map((e=>e.id))),n=i(A.main);return[A.main&&n.contains(t)?"main":A.floating&&i(A.floating).contains(t)?"popout":A.left&&i(A.left).contains(t)?"left":A.right&&i(A.right).contains(t)?"right":"hover",n]},getNewOrAdjacentLeaf=(e,t)=>{const[A,i]=getLeafLoc(t),n=()=>{var e;let A=app.workspace.getMostRecentLeaf();return A&&A!==t&&(null===(e=A.view)||void 0===e?void 0:e.containerEl.ownerDocument)===document||(A=null,i.forEach((e=>{var i;const n=app.workspace.getLeafById(e);!A&&(null===(i=n.view)||void 0===i?void 0:i.navigation)&&t!==n&&(A=n)}))),A};if(e.settings.openInMainWorkspace||["main","left","right"].contains(A)){if(!e.settings.openInAdjacentPane){if("main"===A)return app.workspace.createLeafBySplit(t);const e=n();return e?"empty"===e.view.getViewType()?e:app.workspace.createLeafBySplit(e):app.workspace.getLeaf(!0)}const i=n();return null!=i?i:app.workspace.getLeaf(!0)}if(!e.settings.openInAdjacentPane)return app.workspace.createLeafBySplit(t);if("hover"===A){const A=new Set;return app.workspace.iterateAllLeaves((e=>{e!==t&&t.containerEl.parentElement===e.containerEl.parentElement&&A.add(e)})),0===A.size?e.app.workspace.createLeafBySplit(t):Array.from(A)[0]}if("popout"===A){const e=new Set;return app.workspace.iterateAllLeaves((A=>{A!==t&&A.view.navigation&&A.view.containerEl.ownerDocument===t.view.containerEl.ownerDocument&&e.add(A)})),0===e.size?app.workspace.createLeafBySplit(t):Array.from(e)[0]}return e.app.workspace.createLeafBySplit(t)},getAttachmentsFolderAndFilePath=async(e,t,A)=>{let i=e.vault.getConfig("attachmentFolderPath");if(i&&i.startsWith("./")){const e=`${splitFolderAndFilename(t).folderpath}/`;i=obsidian_module.normalizePath(e+i.substring(2))}return i&&"/"!==i||(i=""),await checkAndCreateFolder(i),{folder:i,filepath:obsidian_module.normalizePath(""===i?A:`${i}/${A}`)}},isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");var ar={},cz={},da={},de={},en={INSTALL_SCRIPT:"Install the script",UPDATE_SCRIPT:"Update available - Click to install",CHECKING_SCRIPT:"Checking for newer version - Click to reinstall",UNABLETOCHECK_SCRIPT:"Update check failed - Click to reinstall",UPTODATE_SCRIPT:"Script is up to date - Click to reinstall",OPEN_AS_EXCALIDRAW:"Open as Excalidraw Drawing",TOGGLE_MODE:"Toggle between Excalidraw and Markdown mode",CONVERT_NOTE_TO_EXCALIDRAW:"Convert empty note to Excalidraw Drawing",CONVERT_EXCALIDRAW:"Convert *.excalidraw to *.md files",CREATE_NEW:"Create new drawing",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (Logseq compatibility)",DOWNLOAD_LIBRARY:"Export stencil library as an *.excalidrawlib file",OPEN_EXISTING_NEW_PANE:"Open existing drawing - IN A NEW PANE",OPEN_EXISTING_ACTIVE_PANE:"Open existing drawing - IN THE CURRENT ACTIVE PANE",TRANSCLUDE:"Embed a drawing",TRANSCLUDE_MOST_RECENT:"Embed the most recently edited drawing",TOGGLE_LEFTHANDED_MODE:"Toggle left-handed mode",NEW_IN_NEW_PANE:"Create new drawing - IN AN ADJACENT WINDOW",NEW_IN_NEW_TAB:"Create new drawing - IN A NEW TAB",NEW_IN_ACTIVE_PANE:"Create new drawing - IN THE CURRENT ACTIVE WINDOW",NEW_IN_POPOUT_WINDOW:"Create new drawing - IN A POPOUT WINDOW",NEW_IN_NEW_PANE_EMBED:"Create new drawing - IN AN ADJACENT WINDOW - and embed into active document",NEW_IN_NEW_TAB_EMBED:"Create new drawing - IN A NEW TAB - and embed into active document",NEW_IN_ACTIVE_PANE_EMBED:"Create new drawing - IN THE CURRENT ACTIVE WINDOW - and embed into active document",NEW_IN_POPOUT_WINDOW_EMBED:"Create new drawing - IN A POPOUT WINDOW - and embed into active document",TOGGLE_LOCK:"Toggle Text Element between edit RAW and PREVIEW",DELETE_FILE:"Delete selected image or Markdown file from Obsidian Vault",INSERT_LINK_TO_ELEMENT:`Copy markdown link for selected element to clipboard. ${labelCTRL()}+CLICK to copy 'group=' link. SHIFT+CLICK to copy an 'area=' link. ${labelALT()}+CLICK to watch a help video.`,INSERT_LINK_TO_ELEMENT_GROUP:"Copy 'group=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_AREA:"Copy 'area=' markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_NORMAL:"Copy markdown link for selected element to clipboard.",INSERT_LINK_TO_ELEMENT_ERROR:"Select a single element in the scene",INSERT_LINK_TO_ELEMENT_READY:"Link is READY and available on the clipboard",INSERT_LINK:"Insert link to file",INSERT_IMAGE:"Insert image or Excalidraw drawing from your vault",IMPORT_SVG:"Import an SVG file as Excalidraw strokes (limited SVG support, TEXT currently not supported)",INSERT_MD:"Insert markdown file from vault",INSERT_PDF:"Insert PDF file from vault",INSERT_LATEX:`Insert LaTeX formula (e.g. \\binom{n}{k} = \\frac{n!}{k!(n-k)!}). ${labelALT()}+CLICK to watch a help video.`,ENTER_LATEX:"Enter a valid LaTeX expression",READ_RELEASE_NOTES:"Read latest release notes",RUN_OCR:"OCR: Grab text from freedraw scribble and pictures to clipboard",TRAY_MODE:"Toggle property-panel tray-mode",SEARCH:"Search for text in drawing",RESET_IMG_TO_100:"Set selected image element size to 100% of original",TEMPORARY_DISABLE_AUTOSAVE:"Disable autosave until next time Obsidian starts (only set this if you know what you are doing)",TEMPORARY_ENABLE_AUTOSAVE:"Enable autosave",INSTALL_SCRIPT_BUTTON:"Install or update Excalidraw Scripts",OPEN_AS_MD:"Open as Markdown",EXPORT_IMAGE:"Export Image",OPEN_LINK:"Open selected text as link\n(SHIFT+CLICK to open in a new pane)",EXPORT_EXCALIDRAW:"Export to an .Excalidraw file",LINK_BUTTON_CLICK_NO_TEXT:"Select a ImageElement, or select a TextElement that contains an internal or external link.\n",FILENAME_INVALID_CHARS:'File name cannot contain any of the following characters: * " \\ < > : | ? #',FORCE_SAVE:"Save (will also update transclusions)",RAW:"Change to PREVIEW mode (only effects text-elements with links or transclusions)",PARSED:"Change to RAW mode (only effects text-elements with links or transclusions)",NOFILE:"Excalidraw (no file)",COMPATIBILITY_MODE:"*.excalidraw file opened in compatibility mode. Convert to new format for full plugin functionality.",CONVERT_FILE:"Convert to new format",RELEASE_NOTES_NAME:"Display Release Notes after update",RELEASE_NOTES_DESC:"Toggle ON: Display release notes each time you update Excalidraw to a newer version.
      Toggle OFF: Silent mode. You can still read release notes on GitHub.",NEWVERSION_NOTIFICATION_NAME:"Plugin update notification",NEWVERSION_NOTIFICATION_DESC:"Toggle ON: Show a notification when a new version of the plugin is available.
      Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",FOLDER_NAME:"Excalidraw folder",FOLDER_DESC:"Default location for new drawings. If empty, drawings will be created in the Vault root.",FOLDER_EMBED_NAME:"Use Excalidraw folder when embedding a drawing into the active document",FOLDER_EMBED_DESC:"Define which folder to place the newly inserted drawing into when using the command palette action: 'Create a new drawing and embed into active document'.
      Toggle ON: Use Excalidraw folder
      Toggle OFF: Use the attachments folder defined in Obsidian settings.",TEMPLATE_NAME:"Excalidraw template file",TEMPLATE_DESC:"Full filepath to the Excalidraw template. E.g.: If your template is in the default Excalidraw folder and its name is Template.md, the setting would be: Excalidraw/Template.md (or just Excalidraw/Template - you may omit the .md file extension). If you are using Excalidraw in compatibility mode, then your template must be a legacy Excalidraw file as well such as Excalidraw/Template.excalidraw.",SCRIPT_FOLDER_NAME:"Excalidraw Automate script folder (CASE SeNSitiVE!)",SCRIPT_FOLDER_DESC:"The files you place in this folder will be treated as Excalidraw Automate scripts. You can access your scripts from Excalidraw via the Obsidian Command Palette. Assign hotkeys to your favorite scripts just like to any other Obsidian command. The folder may not be the root folder of your Vault. ",SAVING_HEAD:"Saving",COMPRESS_NAME:"Compress Excalidraw JSON in Markdown",COMPRESS_DESC:"By enabling this feature Excalidraw will store the drawing JSON in a Base64 compressed format using the LZ-String algorithm. This will reduce the chance of Excalidraw JSON cluttering your search results in Obsidian. As a side effect, this will also reduce the filesize of Excalidraw drawings. When you switch an Excalidraw drawing to Markdown view, using the options menu in Excalidraw, the file will be saved without compression, so that you can read and edit the JSON string. The drawing will be compressed again once you switch back to Excalidraw view. The setting only has effect 'point forward', meaning, existing drawings will not be effected by the setting until you open them and save them.
      Toggle ON: Compress drawing JSON
      Toggle OFF: Leave drawing JSON uncompressed",AUTOSAVE_INTERVAL_DESKTOP_NAME:"Interval for autosave on Desktop",AUTOSAVE_INTERVAL_DESKTOP_DESC:"The time interval between saves. Autosave will skip if there are no changes in the drawing. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. clicking on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly either by killing the Obsidian process, or clicking to close Obsidian altogether.",AUTOSAVE_INTERVAL_MOBILE_NAME:"Interval for autosave on Mobile",AUTOSAVE_INTERVAL_MOBILE_DESC:"I recommend a more frequent interval for Mobiles. Excalidraw will also save the file when closing a workspace tab or navigating within Obsidian, but away from the active Excalidraw tab (i.e. tapping on the Obsidian ribbon or checking backlinks, etc.). Excalidraw will not be able to save your work when terminating Obsidian directly (i.e. swiping it away). Also note, that when you switch apps on a Mobile device, sometimes Android and iOS closes Obsidian in the background to save system resources. In such a case Excalidraw will not be able to save the latest changes.",FILENAME_HEAD:"Filename",FILENAME_DESC:"

      Click this link for the date and time format reference.

      ",FILENAME_SAMPLE:"Filename for a new drawing is: ",FILENAME_EMBED_SAMPLE:"Filename for a new embedded drawing is: ",FILENAME_PREFIX_NAME:"Filename prefix",FILENAME_PREFIX_DESC:"The first part of the filename",FILENAME_PREFIX_EMBED_NAME:"Filename prefix when embedding a new drawing into a markdown note",FILENAME_PREFIX_EMBED_DESC:"Should the filename of the newly inserted drawing start with the name of the active markdown note when using the command palette action: Create a new drawing and embed into active document?
      Toggle ON: Yes, the filename of a new drawing should start with filename of the active document
      Toggle OFF: No, filename of a new drawing should not include the filename of the active document",FILENAME_POSTFIX_NAME:"Custom text after markdown Note's name when embedding",FILENAME_POSTFIX_DESC:"Effects filename only when embedding into a markdown document. This text will be inserted after the note's name, but before the date.",FILENAME_DATE_NAME:"Filename Date",FILENAME_DATE_DESC:"The last part of the filename. Leave empty if you do not want a date.",FILENAME_EXCALIDRAW_EXTENSION_NAME:".excalidraw.md or .md",FILENAME_EXCALIDRAW_EXTENSION_DESC:"This setting does not apply if you use Excalidraw in compatibility mode, i.e. you are not using Excalidraw markdown files.
      Toggle ON: filename ends with .excalidraw.md
      Toggle OFF: filename ends with .md",DISPLAY_HEAD:"Display",DYNAMICSTYLE_NAME:"Dynamic styling",DYNAMICSTYLE_DESC:"Change Excalidraw UI colors to match the canvas color",LEFTHANDED_MODE_NAME:"Left-handed mode",LEFTHANDED_MODE_DESC:"Currently only has effect in tray-mode. If turned on, the tray will be on the right side.
      Toggle ON: Left-handed mode.
      Toggle OFF: Right-handed moded",MATCH_THEME_NAME:"New drawing to match Obsidian theme",MATCH_THEME_DESC:"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. Also this will not effect when you open an existing drawing. Those will follow the theme of the template/drawing respectively.
      Toggle ON: Follow Obsidian Theme
      Toggle OFF: Follow theme defined in your template",MATCH_THEME_ALWAYS_NAME:"Existing drawings to match Obsidian theme",MATCH_THEME_ALWAYS_DESC:"If theme is dark, drawings will be opened in dark mode. If your theme is light, they will be opened in light mode.
      Toggle ON: Match Obsidian theme
      Toggle OFF: Open with the same theme as last saved",MATCH_THEME_TRIGGER_NAME:"Excalidraw to follow when Obsidian Theme changes",MATCH_THEME_TRIGGER_DESC:"If this option is enabled open Excalidraw pane will switch to light/dark mode when Obsidian theme changes.
      Toggle ON: Follow theme changes
      Toggle OFF: Drawings are not effected by Obsidian theme changes",DEFAULT_OPEN_MODE_NAME:"Default mode when opening Excalidraw",DEFAULT_OPEN_MODE_DESC:"Specifies the mode how Excalidraw opens: Normal, Zen, or View mode. You may also set this behavior on a file level by adding the excalidraw-default-mode frontmatter key with a value of: normal, view, or zen to your document.",DEFAULT_PEN_MODE_NAME:"Pen mode",DEFAULT_PEN_MODE_DESC:"Should pen mode be automatically enabled when opening Excalidraw?",DEFAULT_PINCHZOOM_NAME:"Allow pinch zoom in pen mode",DEFAULT_PINCHZOOM_DESC:"Pinch zoom in pen mode when using the freedraw tool is disabled by default to prevent unwanted accidental zooming with your palm.
      Toggle on: Enable pinch zoom in pen mode
      Toggle off: Disable pinch zoom in pen mode",DEFAULT_WHEELZOOM_NAME:"Mouse wheel to zoom by default",DEFAULT_WHEELZOOM_DESC:`Toggle on: Mouse wheel to zoom; ${labelCTRL()} + mouse wheel to scroll
      Toggle off: ${labelCTRL()} + mouse wheel to zoom; Mouse wheel to scroll`,ZOOM_TO_FIT_NAME:"Zoom to fit on view resize",ZOOM_TO_FIT_DESC:"Zoom to fit drawing when the pane is resized
      Toggle ON: Zoom to fit
      Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_ONOPEN_NAME:"Zoom to fit on file open",ZOOM_TO_FIT_ONOPEN_DESC:"Zoom to fit drawing when the drawing is first opened
      Toggle ON: Zoom to fit
      Toggle OFF: Auto zoom disabled",ZOOM_TO_FIT_MAX_LEVEL_NAME:"Zoom to fit max ZOOM level",ZOOM_TO_FIT_MAX_LEVEL_DESC:"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",LINKS_HEAD:"Links and transclusion",LINKS_DESC:`${labelCTRL()}+CLICK on [[Text Elements]] to open them as links. If the selected text has more than one [[valid Obsidian links]], only the first will be opened. If the text starts as a valid web link (i.e. https:// or http://), then the plugin will open it in a browser. When Obsidian files change, the matching [[link]] in your drawings will also change. If you don't want text accidentally changing in your drawings use [[links|with aliases]].`,ADJACENT_PANE_NAME:"Open in adjacent pane",ADJACENT_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane. Turning this setting on, Excalidraw will first look for an existing adjacent pane, and try to open the link there. Excalidraw will look for the adjacent pane based on your focus/navigation history, i.e. the workpane that was active before you activated Excalidraw.`,MAINWORKSPACE_PANE_NAME:"Open in main workspace",MAINWORKSPACE_PANE_DESC:`When ${labelCTRL()}+SHIFT clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. `,LINK_BRACKETS_NAME:"Show [[brackets]] around links",LINK_BRACKETS_DESC:"In PREVIEW mode, when parsing Text Elements, place brackets around links. You can override this setting for a specific drawing by adding excalidraw-link-brackets: true/false to the file's frontmatter.",LINK_PREFIX_NAME:"Link prefix",LINK_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-link-prefix: "📍 " to the file\'s frontmatter.',URL_PREFIX_NAME:"URL prefix",URL_PREFIX_DESC:'In PREVIEW mode, if the Text Element contains a URL link, precede the text with these characters. You can override this setting for a specific drawing by adding excalidraw-url-prefix: "🌐 " to the file\'s frontmatter.',PARSE_TODO_NAME:"Parse todo",PARSE_TODO_DESC:"Convert '- [ ] ' and '- [x] ' to checkpox and tick in the box.",TODO_NAME:"Open TODO icon",TODO_DESC:"Icon to use for open TODO items",DONE_NAME:"Completed TODO icon",DONE_DESC:"Icon to use for completed TODO items",HOVERPREVIEW_NAME:`Hover preview without pressing the ${labelCTRL()} key`,HOVERPREVIEW_DESC:`Toggle On: In Exalidraw view mode the hover preview for [[wiki links]] will be shown immediately, without the need to hold the ${labelCTRL()} key. In Excalidraw normal mode, the preview will be shown immediately only when hovering the blue link icon in the top right of the element.
      Toggle Off: Hover preview is shown only when you hold the ${labelCTRL()} key while hovering the link.`,LINKOPACITY_NAME:"Opacity of link icon",LINKOPACITY_DESC:"Opacity of the link indicator icon in the top right corner of an element. 1 is opaque, 0 is transparent.",LINK_CTRL_CLICK_NAME:`${labelCTRL()}+CLICK on text with [[links]] or [](links) to open them`,LINK_CTRL_CLICK_DESC:"You can turn this feature off if it interferes with default Excalidraw features you want to use. If this is turned off, only the link button in the title bar of the drawing pane will open links.",TRANSCLUSION_WRAP_NAME:"Overflow wrap behavior of transcluded text",TRANSCLUSION_WRAP_DESC:"Number specifies the character count where the text should be wrapped. Set the text wrapping behavior of transcluded text. Turn this ON to force-wrap text (i.e. no overflow), or OFF to soft-wrap text (at the nearest whitespace).",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion word wrap default",TRANSCLUSION_DEFAULT_WRAP_DESC:"You can manually set/override word wrapping length using the `![[page#^block]]{NUMBER}` format. Normally you will not want to set a default, because if you transclude text inside a sticky note, then Excalidraw will automatically take care of word wrapping. Set this value to `0` if you do not want to set a default. ",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Page transclusion max char count",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"The maximum number of characters to display from the page when transcluding an entire page with the ![[markdown page]] format.",QUOTE_TRANSCLUSION_REMOVE_NAME:"Quote translusion: remove leading '> ' from each line",QUOTE_TRANSCLUSION_REMOVE_DESC:"Remove the leading '> ' from each line of the transclusion. This will improve readability of quotes in text only transclusions
      Toggle ON: Remove leading '> '
      Toggle OFF: Do not remove leading '> ' (note it will still be removed from the first row due to Obsidian API functionality)",GET_URL_TITLE_NAME:"Use iframely to resolve page title",GET_URL_TITLE_DESC:"Use the http://iframely.server.crestify.com/iframely?url= to get title of page when dropping a link into Excalidraw",MD_HEAD:"Markdown-embed settings",MD_HEAD_DESC:"You can transclude formatted markdown documents into drawings as images SHIFT drop from the file explorer or using the command palette action.",MD_TRANSCLUDE_WIDTH_NAME:"Default width of a transcluded markdown document",MD_TRANSCLUDE_WIDTH_DESC:"The width of the markdown page. This effects the word wrapping when transcluding longer paragraphs, and the width of the image element. You can override the default width of an embedded file using the [[filename#heading|WIDTHxMAXHEIGHT]] syntax in markdown view mode under embedded files.",MD_TRANSCLUDE_HEIGHT_NAME:"Default maximum height of a transcluded markdown document",MD_TRANSCLUDE_HEIGHT_DESC:"The embedded image will be as high as the markdown text requires, but not higher than this value. You can override this value by editing the embedded image link in markdown view mode with the following syntax [[filename#^blockref|WIDTHxMAXHEIGHT]].",MD_DEFAULT_FONT_NAME:"The default font typeface to use for embedded markdown files.",MD_DEFAULT_FONT_DESC:'Set this value to "Virgil" or "Cascadia" or the filename of a valid .ttf, .woff, or .woff2 font e.g. MyFont.woff2 You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font: font_or_filename',MD_DEFAULT_COLOR_NAME:"The default font color to use for embedded markdown files.",MD_DEFAULT_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-font-color: steelblue',MD_DEFAULT_BORDER_COLOR_NAME:"The default border color to use for embedded markdown files.",MD_DEFAULT_BORDER_COLOR_DESC:'Set this to any valid css color name e.g. "steelblue" (color names), or a valid hexadecimal color e.g. "#e67700", or any other valid css color string. You can override this setting by adding the following frontmatter-key to the embedded markdown file: excalidraw-border-color: gray. Leave empty if you don\'t want a border. ',MD_CSS_NAME:"CSS file",MD_CSS_DESC:`The filename of the CSS to apply to markdown embeds. Provide the filename with extension (e.g. 'md-embed.css'). The css file may also be a plain markdown file (e.g. 'md-embed-css.md'), just make sure the content is written using valid css syntax. If you need to look at the HTML code you are applying the CSS to, then open Obsidian Developer Console (${DEVICE.isIOS||DEVICE.isMacOS?"CMD+OPT+i":"CTRL+SHIFT+i"}) and type in the following command: "ExcalidrawAutomate.mostRecentMarkdownSVG". This will display the most recent SVG generated by Excalidraw. Setting the font-family in the css is has limitations. By default only your operating system's standard fonts are available (see README for details). You can add one custom font beyond that using the setting above. You can override this css setting by adding the following frontmatter-key to the embedded markdown file: "excalidraw-css: css_file_in_vault|css-snippet".`,EMBED_HEAD:"Embed & Export",EMBED_REUSE_EXPORTED_IMAGE_NAME:"If found, use the already exported image for preview",EMBED_REUSE_EXPORTED_IMAGE_DESC:"This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",EMBED_PREVIEW_SVG_NAME:"Display SVG in markdown preview",EMBED_PREVIEW_SVG_DESC:"Toggle ON: Embed drawing as an SVG image into the markdown preview.
      Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",PREVIEW_MATCH_OBSIDIAN_NAME:"Excalidraw preview to match Obsidian theme",PREVIEW_MATCH_OBSIDIAN_DESC:"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. When Obsidian is in light mode, Excalidraw will render light mode as well. You may want to switch 'Export image with background' off for a more Obsidian-integrated look and feel.",EMBED_WIDTH_NAME:"Default width of embedded (transcluded) image",EMBED_WIDTH_DESC:"The default width of an embedded drawing. This applies to live preview edit and reading mode, as well as to hover previews. You can specify a custom width when embedding an image using the ![[drawing.excalidraw|100]] or [[drawing.excalidraw|100x100]] format.",EMBED_TYPE_NAME:"Type of file to insert into the document",EMBED_TYPE_DESC:"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",EMBED_WIKILINK_NAME:"Embed SVG or PNG as Wiki link",EMBED_WIKILINK_DESC:"Toggle ON: Excalidraw will embed a [[wiki link]]. Toggle OFF: Excalidraw will embed a [markdown](link).",EXPORT_PNG_SCALE_NAME:"PNG export image scale",EXPORT_PNG_SCALE_DESC:"The size-scale of the exported PNG image",EXPORT_BACKGROUND_NAME:"Export image with background",EXPORT_BACKGROUND_DESC:"If turned off, the exported image will be transparent.",EXPORT_PADDING_NAME:"Image Padding",EXPORT_PADDING_DESC:"The padding (in pixels) around the exported SVG or PNG image. If you have curved lines close to the edge of the image they might get cropped during image export. You can increase this value to avoid cropping. You can also override this setting at a file level by adding the excalidraw-export-padding: 5 frontmatter key.",EXPORT_THEME_NAME:"Export image with theme",EXPORT_THEME_DESC:"Export the image matching the dark/light theme of your drawing. If turned off, drawings created in dark mode will appear as they would in light mode.",EXPORT_HEAD:"Auto-export Settings",EXPORT_SYNC_NAME:"Keep the .SVG and/or .PNG filenames in sync with the drawing file",EXPORT_SYNC_DESC:"When turned on, the plugin will automatically update the filename of the .SVG and/or .PNG files when the drawing in the same folder (and same name) is renamed. The plugin will also automatically delete the .SVG and/or .PNG files when the drawing in the same folder (and same name) is deleted. ",EXPORT_SVG_NAME:"Auto-export SVG",EXPORT_SVG_DESC:"Automatically create an SVG export of your drawing matching the title of your file. The plugin will save the *.SVG file in the same folder as the drawing. Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are none,both,svg, and png",EXPORT_PNG_NAME:"Auto-export PNG",EXPORT_PNG_DESC:"Same as the auto-export SVG, but for *.PNG",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"Export both dark- and light-themed image",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
      Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",COMPATIBILITY_HEAD:"Compatibility features",EXPORT_EXCALIDRAW_NAME:"Auto-export Excalidraw",EXPORT_EXCALIDRAW_DESC:"Same as the auto-export SVG, but for *.Excalidraw",SYNC_EXCALIDRAW_NAME:"Sync *.excalidraw with *.md version of the same drawing",SYNC_EXCALIDRAW_DESC:"If the modified date of the *.excalidraw file is more recent than the modified date of the *.md file then update the drawing in the .md file based on the .excalidraw file",COMPATIBILITY_MODE_NAME:"New drawings as legacy files",COMPATIBILITY_MODE_DESC:"By enabling this feature drawings you create with the ribbon icon, the command palette actions, and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message when you open a legacy file for editing.",MATHJAX_NAME:"MathJax (LaTeX) javascript library host",MATHJAX_DESC:"If you are using LaTeX equiations in Excalidraw then the plugin needs to load a javascript library for that. Some users are unable to access certain host servers. If you are experiencing issues try changing the host here. You may need to restart Obsidian after closing settings, for this change to take effect.",LATEX_DEFAULT_NAME:"Default LaTeX formual for new equations",LATEX_DEFAULT_DESC:"Leave empty if you don't want a default formula. You can add default formatting here such as \\color{white}.",NONSTANDARD_HEAD:"Non-Excalidraw.com supported features",NONSTANDARD_DESC:"These features are not available on excalidraw.com. When exporting the drawing to Excalidraw.com these features will appear different.",CUSTOM_PEN_NAME:"Number of custom pens",CUSTOM_PEN_DESC:"You will see these pens next to the Obsidian Menu on the canvas. You can customize the pens on the canvas by long-pressing the pen button.",EXPERIMENTAL_HEAD:"Experimental features",EXPERIMENTAL_DESC:"Some of these setting will not take effect immediately, only when the File Explorer is refreshed, or Obsidian restarted.",FIELD_SUGGESTER_NAME:"Enable Field Suggester",FIELD_SUGGESTER_DESC:"Field Suggester borrowed from Breadcrumbs and Templater plugins. The Field Suggester will show an autocomplete menu when you type excalidraw- or ea. with function description as hints on the individual items in the list.",FILETYPE_NAME:"Display type (✏️) for excalidraw.md files in File Explorer",FILETYPE_DESC:"Excalidraw files will receive an indicator using the emoji or text defined in the next setting.",FILETAG_NAME:"Set the type indicator for excalidraw.md files",FILETAG_DESC:"The text or emoji to display as type indicator.",INSERT_EMOJI:"Insert an emoji",LIVEPREVIEW_NAME:"Immersive image embedding in live preview editing mode",LIVEPREVIEW_DESC:"Turn this on to support image embedding styles such as ![[drawing|width|style]] in live preview editing mode. The setting will not effect the currently open documents. You need close the open documents and re-open them for the change to take effect.",ENABLE_FOURTH_FONT_NAME:"Enable fourth font option",ENABLE_FOURTH_FONT_DESC:"By turning this on, you will see a fourth font button on the properties panel for text elements. Files that use this fourth font will (partly) lose their platform independence. Depending on the custom font set in settings, they will look differently when loaded in another vault, or at a later time. Also the 4th font will display as system default font on excalidraw.com, or other Excalidraw versions.",FOURTH_FONT_NAME:"Forth font file",FOURTH_FONT_DESC:"Select a .ttf, .woff or .woff2 font file from your vault to use as the fourth font. If no file is selected, Excalidraw will use the Virgil font by default.",SCRIPT_SETTINGS_HEAD:"Settings for installed Scripts",TASKBONE_HEAD:"Taskbone Optical Character Recogntion",TASKBONE_DESC:"This is an experimental integration of optical character recognition into Excalidraw. Please note, that taskbone is an independent external service not provided by Excalidraw, nor the Excalidraw-Obsidian plugin project. The OCR service will grab legible text from freedraw lines and embedded pictures on your canvas and place the recognized text in the frontmatter of your drawing as well as onto clipboard. Having the text in the frontmatter will enable you to search in Obsidian for the text contents of these. Note, that the process of extracting the text from the image is not done locally, but via an online API. The taskbone service stores the image on its servers only as long as necessary for the text extraction. However, if this is a dealbreaker, then please don't use this feature.",TASKBONE_ENABLE_NAME:"Enable Taskbone",TASKBONE_ENABLE_DESC:"By enabling this service your agree to the Taskbone Terms and Conditions and the Privacy Policy.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to supoprt the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",SELECT_FILE:"Select a file then press enter.",SELECT_FILE_WITH_OPTION_TO_SCALE:`Select a file then press ENTER, or SHIFT+${labelMETA()}+ENTER to insert at 100% scale.`,NO_MATCH:"No file matches your query.",SELECT_FILE_TO_LINK:"Select the file you want to insert the link for.",SELECT_DRAWING:"Select the image or drawing you want to insert",TYPE_FILENAME:"Type name of drawing to select.",SELECT_FILE_OR_TYPE_NEW:"Select existing drawing or type name of a new drawing then press Enter.",SELECT_TO_EMBED:"Select the drawing to insert into active document.",SELECT_MD:"Select the markdown document you want to insert",SELECT_PDF:"Select the PDF document you want to insert",PDF_PAGES_HEADER:"Pages to load?",PDF_PAGES_DESC:"Format: 1, 3-5, 7, 9-11",INFINITE_LOOP_WARNING:"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",SCRIPT_EXECUTION_ERROR:"Script execution error. Please find error message on the developer console.",LOAD_FROM_BACKUP:"Excalidraw file was corrupted. Loading from backup file.",GOTO_FULLSCREEN:"Goto fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",TOGGLE_FULLSCREEN:"Toggle fullscreen mode",TOGGLE_DISABLEBINDING:"Toggle to invert default binding behavior",OPEN_LINK_CLICK:"Navigate to selected element link",OPEN_LINK_PROPS:"Open markdown-embed properties or open link in new window"},enGB={},es={},fr={},hi={},id={},it={},ja={},ko={},nl={},no={},pl={},pt={},ptBR={},ro={},ru={},tr={},zhCN={INSTALL_SCRIPT:"安装此脚本",UPDATE_SCRIPT:"有可用更新 - 点击安装",CHECKING_SCRIPT:"检查更新中 - 点击重新安装",UNABLETOCHECK_SCRIPT:"检查更新失败 - 点击重新安装",UPTODATE_SCRIPT:"脚本已是最新 - 点击重新安装",OPEN_AS_EXCALIDRAW:"打开为 Excalidraw 绘图",TOGGLE_MODE:"在 Excalidraw 和 Markdown 模式之间切换",CONVERT_NOTE_TO_EXCALIDRAW:"转换空白笔记为 Excalidraw 绘图",CONVERT_EXCALIDRAW:"转换 *.excalidraw 为 *.md 文件",CREATE_NEW:"新建 Excalidraw 绘图",CONVERT_FILE_KEEP_EXT:"*.excalidraw => *.excalidraw.md",CONVERT_FILE_REPLACE_EXT:"*.excalidraw => *.md (兼容 Logseq)",DOWNLOAD_LIBRARY:"导出 stencil 库为 *.excalidrawlib 文件",OPEN_EXISTING_NEW_PANE:"打开已有的绘图 - 于新面板",OPEN_EXISTING_ACTIVE_PANE:"打开已有的绘图 - 于当前面板",TRANSCLUDE:"嵌入绘图(形如 ![[drawing]])到当前文档",TRANSCLUDE_MOST_RECENT:"嵌入最近编辑过的绘图(形如 ![[drawing]])到当前文档",TOGGLE_LEFTHANDED_MODE:"切换为左手模式",NEW_IN_NEW_PANE:"新建绘图 - 于新面板",NEW_IN_NEW_TAB:"新建绘图 - 于新页签",NEW_IN_ACTIVE_PANE:"新建绘图 - 于当前面板",NEW_IN_POPOUT_WINDOW:"新建绘图 - 于新窗口",NEW_IN_NEW_PANE_EMBED:"新建绘图 - 于新面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_NEW_TAB_EMBED:"新建绘图 - 于新页签 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_ACTIVE_PANE_EMBED:"新建绘图 - 于当前面板 - 并将其嵌入(形如 ![[drawing]])到当前文档",NEW_IN_POPOUT_WINDOW_EMBED:"新建绘图 - 于新窗口 - 并将其嵌入(形如 ![[drawing]])到当前文档",EXPORT_SVG:"导出 SVG 文件到当前目录",EXPORT_PNG:"导出 PNG 文件到当前目录",EXPORT_SVG_WITH_SCENE:"导出 SVG 文件(包含 Scene)到当前目录",EXPORT_PNG_WITH_SCENE:"导出 PNG 文件(包含 Scene)到当前目录",TOGGLE_LOCK:"文本元素:原文模式(RAW)⟺ 预览模式(PREVIEW)",DELETE_FILE:"从库中删除所选图像(或 MD-Embed)的源文件",INSERT_LINK_TO_ELEMENT:`复制所选元素的内部链接(形如 [[file#^elementID]])。\n按住 ${labelCTRL()} 可复制元素所在分组的内部链接(形如 [[file#^group=elementID]])。\n按住 SHIFT 可复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])。\n按住 ${labelALT()} 可观看视频演示。`,INSERT_LINK_TO_ELEMENT_GROUP:"复制所选元素所在分组的内部链接(形如 [[file#^group=elementID]])",INSERT_LINK_TO_ELEMENT_AREA:"复制所选元素周围区域的内部链接(形如 [[file#^area=elementID]])",INSERT_LINK_TO_ELEMENT_NORMAL:"复制所选元素的内部链接(形如 [[file#^elementID]])",INSERT_LINK_TO_ELEMENT_ERROR:"未选择画布里的单个元素",INSERT_LINK_TO_ELEMENT_READY:"链接已生成并复制到剪贴板",INSERT_LINK:"插入文件的内部链接(形如 [[drawing]])到当前绘图",INSERT_IMAGE:"插入图像(以图像形式嵌入)到当前绘图",IMPORT_SVG:"插入 SVG 矢量图形到当前绘图(支持有限,尚不支持文本)",INSERT_MD:"插入 Markdown 文档(以图像形式嵌入)到当前绘图",INSERT_LATEX:`插入 LaTeX 公式到当前绘图。按住 ${labelALT()} 可观看视频演示。`,ENTER_LATEX:"输入 LaTeX 表达式",READ_RELEASE_NOTES:"阅读本插件的更新说明",RUN_OCR:"OCR 识别涂鸦和图片里的文本并复制到剪贴板",TRAY_MODE:"绘图工具属性页:面板模式 ⟺ 托盘模式",SEARCH:"搜索文本",RESET_IMG_TO_100:"重设图像元素的尺寸为 100%",TEMPORARY_DISABLE_AUTOSAVE:"临时禁用自动保存功能,直到 Obsidian 退出(勿点,除非你清楚自己在干什么)",TEMPORARY_ENABLE_AUTOSAVE:"恢复启用自动保存功能",INSTALL_SCRIPT_BUTTON:"安装或更新 Excalidraw 脚本",OPEN_AS_MD:"打开为 Markdown 文件",SAVE_AS_PNG:`导出 PNG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,SAVE_AS_SVG:`导出 SVG 到当前目录(按住 ${labelCTRL()} 设定导出路径;按住 SHIFT 在导出时包含 Scene)`,OPEN_LINK:"打开所选元素里的链接 \n(按住 SHIFT 在新面板打开)",EXPORT_EXCALIDRAW:"导出为 .Excalidraw 文件",LINK_BUTTON_CLICK_NO_TEXT:"请选择一个含有链接的图形或文本元素。",FILENAME_INVALID_CHARS:'文件名不能含有以下符号: * " \\ < > : | ? #',FORCE_SAVE:"保存绘图(并更新嵌入了该绘图的面板)",RAW:"文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",PARSED:"文本元素正以预览(PREVIEW)模式显示链接。\n点击切换到原文(RAW)模式",NOFILE:"Excalidraw(没有文件)",COMPATIBILITY_MODE:"*.excalidraw 文件正以兼容模式打开。需要转换为新格式才能使用插件的全部功能。",CONVERT_FILE:"转换为新格式",RELEASE_NOTES_NAME:"显示更新说明",RELEASE_NOTES_DESC:"开启:每次更新本插件后,显示最新发行版本的说明。
      关闭:您仍可以在 GitHub 上阅读更新说明。",NEWVERSION_NOTIFICATION_NAME:"通知插件更新",NEWVERSION_NOTIFICATION_DESC:"开启:当本插件存在可用更新时,显示通知。
      关闭:您需要手动检查本插件的更新(设置 - 第三方插件 - 检查更新)。",FOLDER_NAME:"Excalidraw 文件夹",FOLDER_DESC:"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",FOLDER_EMBED_NAME:"将 Excalidraw 文件夹用于“新建绘图”命令创建的绘图",FOLDER_EMBED_DESC:"在命令面板中执行“新建绘图”系列命令时,新绘图的存储路径。
      开启:使用 Excalidraw 文件夹。
      关闭:使用 Obsidian 设置的新附件默认位置。",TEMPLATE_NAME:"Excalidraw 模板文件",TEMPLATE_DESC:"Excalidraw 模板文件的完整路径。
      如果您的模板在默认的 Excalidraw 文件夹中且文件名是 Template.md,则此项应设为 Excalidraw/Template.md(也可省略 .md 扩展名,即 Excalidraw/Template)。
      如果您在兼容模式下使用 Excalidraw,那么您的模板文件也必须是旧的 *.excalidraw 格式,例如 Excalidraw/Template.excalidraw。",SCRIPT_FOLDER_NAME:"Excalidraw 自动化脚本的文件夹(大小写敏感!)",SCRIPT_FOLDER_DESC:"此文件夹用于存放 Excalidraw 自动化脚本。您可以在 Obsidian 命令面板中执行这些脚本,还可以为喜欢的脚本分配快捷键,就像为其他 Obsidian 命令分配快捷键一样。
      该项不能设为库的根目录。",SAVING_HEAD:"保存",COMPRESS_NAME:"压缩 Excalidraw JSON",COMPRESS_DESC:"Excalidraw 绘图文件默认将元素记录为 JSON 格式。开启此项,可将元素的 JSON 数据以 BASE64 编码(使用 LZ-String 算法)。这样做的好处是:一方面可以避免原来的明文 JSON 数据干扰 Obsidian 的文本搜索结果,另一方面减小了绘图文件的体积。
      当您通过功能区按钮或命令将绘图切换成 Markdown 模式时,数据将被解码回 JSON 格式以便阅读和编辑;而当您切换回 Excalidraw 模式时,数据就会被再次编码。
      开启此项后,对于之前已存在的未压缩的绘图文件,需要重新打开并保存它们才能生效。",AUTOSAVE_INTERVAL_DESKTOP_NAME:"桌面端定期保存时间间隔",AUTOSAVE_INTERVAL_DESKTOP_DESC:"每隔多长时间触发一次自动保存。但如果当前绘图没有发生改变,将不会触发自动保存。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(不管是终结进程还是点关闭按钮)不会触发自动保存。",AUTOSAVE_INTERVAL_MOBILE_NAME:"移动端定期保存时间间隔",AUTOSAVE_INTERVAL_MOBILE_DESC:"建议在移动端设置更短的自动保存时间间隔。当 Obsidian 应用内的焦点离开活动文档(如关闭工作空间、点击菜单栏、切换到其他页签或面板等)的时候,会触发自动保存。直接退出 Obsidian 应用(在应用切换器中划掉)不会触发自动保存。此外,当您切换到其他应用时,有时候系统会自动清理 Obsidian 后台以释放资源。这种情况下,Excalidraw 无法保存最新的变动。",FILENAME_HEAD:"文件名",FILENAME_DESC:"

      点击阅读日期和时间格式参考

      ",FILENAME_SAMPLE:"“新建绘图”系列命令创建的文件名形如:",FILENAME_EMBED_SAMPLE:"“新建绘图并嵌入到当前文档”系列命令创建的文件名形如:",FILENAME_PREFIX_NAME:"“新建绘图”系列命令创建的文件名前缀",FILENAME_PREFIX_DESC:"执行“新建绘图”系列命令时,创建的绘图文件名的第一部分",FILENAME_PREFIX_EMBED_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名前缀",FILENAME_PREFIX_EMBED_DESC:"执行“新建绘图并嵌入到当前文档”系列命令时,创建的绘图文件名是否以当前文档名作为前缀?
      开启:
      关闭:否",FILENAME_POSTFIX_NAME:"“新建绘图并嵌入到当前文档”系列命令创建的文件名的中间部分",FILENAME_POSTFIX_DESC:"介于文件名前缀和日期时间之间的文本。仅对“新建绘图并嵌入到当前文档”系列命令创建的绘图生效。",FILENAME_DATE_NAME:"文件名里的日期时间",FILENAME_DATE_DESC:"文件名的最后一部分。允许留空。",FILENAME_EXCALIDRAW_EXTENSION_NAME:"文件扩展名(.excalidraw.md 或 .md)",FILENAME_EXCALIDRAW_EXTENSION_DESC:"该选项在兼容模式(即非 Excalidraw 专用 Markdown 文件)下不会生效。
      开启:使用 .excalidraw.md 作为扩展名。
      关闭:使用 .md 作为扩展名。",DISPLAY_HEAD:"显示",LEFTHANDED_MODE_NAME:"左手模式",LEFTHANDED_MODE_DESC:"目前只在托盘模式下生效。若开启此项,则托盘(绘图工具属性页)将位于右侧。
      开启:左手模式。
      关闭:右手模式。",MATCH_THEME_NAME:"使新建的绘图匹配 Obsidian 主题",MATCH_THEME_DESC:"如果 Obsidian 使用黑暗主题,新建的绘图文件也将使用黑暗主题。
      但是若设置了模板,新建的绘图文件将跟随模板主题;另外,此功能不会作用于已有的绘图。
      开启:跟随 Obsidian 主题风格。
      关闭:跟随模板主题风格。",MATCH_THEME_ALWAYS_NAME:"使已有的绘图匹配 Obsidian 主题",MATCH_THEME_ALWAYS_DESC:"如果 Obsidian 使用黑暗主题,则绘图文件也将以黑暗主题打开;反之亦然。
      开启:匹配 Obsidian 主题风格。
      关闭:采用上次保存时的主题风格。",MATCH_THEME_TRIGGER_NAME:"Excalidraw 主题跟随 Obsidian 主题变化",MATCH_THEME_TRIGGER_DESC:"开启此项,则切换 Obsidian 的黑暗/明亮主题时,已打开的 Excalidraw 面板的主题会随之改变。
      开启:跟随主题变化。
      关闭:不跟随主题变化。",DEFAULT_OPEN_MODE_NAME:"Excalidraw 的默认运行模式",DEFAULT_OPEN_MODE_DESC:"设置 Excalidraw 的运行模式:普通模式(Normal)/禅模式(Zen)/阅读模式(View)。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-default-mode: normal/zen/view 的键值对。",DEFAULT_PEN_MODE_NAME:"触控笔模式(Pen mode)",DEFAULT_PEN_MODE_DESC:"打开绘图时,是否自动开启触控笔模式?",DEFAULT_PINCHZOOM_NAME:"允许在触控笔模式下进行双指缩放",DEFAULT_PINCHZOOM_DESC:"在触控笔模式下使用自由画笔工具时,双指缩放可能造成干扰。
      开启: 允许在触控笔模式下进行双指缩放
      关闭: 禁止在触控笔模式下进行双指缩放",DEFAULT_WHEELZOOM_NAME:"鼠标滚轮缩放页面",DEFAULT_WHEELZOOM_DESC:`开启:鼠标滚轮为缩放页面,${labelCTRL()}+鼠标滚轮为滚动页面
      关闭:鼠标滚轮为滚动页面,${labelCTRL()}+鼠标滚轮为缩放页面`,ZOOM_TO_FIT_NAME:"调节面板尺寸后自动缩放页面",ZOOM_TO_FIT_DESC:"调节面板尺寸后,自适应地缩放页面
      开启:自动缩放。
      关闭:禁用自动缩放。",ZOOM_TO_FIT_ONOPEN_NAME:"打开绘图时自动缩放页面",ZOOM_TO_FIT_ONOPEN_DESC:"打开绘图文件时,自适应地缩放页面
      开启:自动缩放。
      关闭:禁用自动缩放。",ZOOM_TO_FIT_MAX_LEVEL_NAME:"自动缩放的最高级别",ZOOM_TO_FIT_MAX_LEVEL_DESC:"自动缩放画布时,允许放大的最高级别。该值不能低于 0.5(50%)且不能超过 10(1000%)。",LINKS_HEAD:"链接(Links) & 以文本形式嵌入到绘图中的文档(Transclusion)",LINKS_DESC:`按住 ${labelCTRL()} 并点击包含 [[链接]] 的文本元素可以打开其中的链接。如果所选文本元素包含多个 [[有效的内部链接]] ,只会打开第一个链接;如果所选文本元素包含有效的 URL 链接 (如 https://http://),插件会在浏览器中打开链接。
      链接的源文件被重命名时,绘图中相应的 [[内部链接]] 也会同步更新。若您不愿绘图中的链接外观因此而变化,可使用 [[内部链接|别名]]。`,ADJACENT_PANE_NAME:"在相邻面板中打开",ADJACENT_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在新面板中打开该链接。
      若开启此项,Excalidraw 会先尝试寻找已有的相邻面板(按照右侧、左侧、上方、下方的顺序),并在其中打开该链接。如果找不到,再在新面板中打开。`,MAINWORKSPACE_PANE_NAME:"在主工作区中打开",MAINWORKSPACE_PANE_DESC:`按住 ${labelCTRL()}+SHIFT 并点击绘图里的内部链接时,插件默认会在当前窗口的新面板中打开该链接。
      若开启此项,Excalidraw 会在主工作区的面板中打开该链接。`,LINK_BRACKETS_NAME:"在链接的两侧显示 [[中括号]]",LINK_BRACKETS_DESC:"文本元素处于预览(PREVIEW)模式时,在内部链接的两侧显示中括号。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-brackets: true/false 的键值对。",LINK_PREFIX_NAME:"内部链接的前缀",LINK_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含链接,则添加此前缀。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-link-prefix: "📍 " 的键值对。',URL_PREFIX_NAME:"外部链接的前缀",URL_PREFIX_DESC:'文本元素处于预览(PREVIEW)模式时,如果其中包含外部链接,则添加此前缀。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-url-prefix: "🌐 " 的键值对。',PARSE_TODO_NAME:"待办任务(Todo)",PARSE_TODO_DESC:"将文本元素中的 - [ ]- [x] 前缀显示为方框。",TODO_NAME:"未完成项目",TODO_DESC:"未完成的待办项目的符号",DONE_NAME:"已完成项目",DONE_DESC:"已完成的待办项目的符号",HOVERPREVIEW_NAME:"鼠标悬停预览内部链接",HOVERPREVIEW_DESC:`开启:在 Excalidraw 阅读模式(View)下,鼠标悬停在 [[内部链接]] 上即可预览;而在普通模式(Normal)下, 鼠标悬停在内部链接右上角的蓝色标识上即可预览。
      关闭:鼠标悬停在 [[内部链接]] 上,并且按住 ${labelCTRL()} 才能预览。`,LINKOPACITY_NAME:"链接标识的透明度",LINKOPACITY_DESC:"含有链接的元素,其右上角的链接标识的透明度。介于 0(全透明)到 1(不透明)之间。",LINK_CTRL_CLICK_NAME:`按住 ${labelCTRL()} 并点击含有 [[链接]] 或 [别名](链接) 的文本来打开链接`,LINK_CTRL_CLICK_DESC:"如果此功能影响到您使用某些原版 Excalidraw 功能,可将其关闭。关闭后,您只能通过绘图面板标题栏中的链接按钮来打开链接。",TRANSCLUSION_WRAP_NAME:"Transclusion 的折行方式",TRANSCLUSION_WRAP_DESC:"中的 number 表示嵌入的文本溢出时,在第几个字符处进行折行。
      此开关控制具体的折行方式。若开启,则严格在 number 处折行,禁止溢出;若关闭,则允许在 number 位置后最近的空格处折行。",TRANSCLUSION_DEFAULT_WRAP_NAME:"Transclusion 的默认折行位置",TRANSCLUSION_DEFAULT_WRAP_DESC:"除了通过 ![[doc#^block]]{number} 中的 number 来控制折行位置,您也可以在此设置 number 的默认值。
      一般设为 0 即可,表示不设置固定的默认值,这样当您需要嵌入文档到便签中时,Excalidraw 能更好地帮您自动处理。",PAGE_TRANSCLUSION_CHARCOUNT_NAME:"Transclusion 的最大显示字符数",PAGE_TRANSCLUSION_CHARCOUNT_DESC:"以 ![[内部链接]]![](内部链接) 的形式将文档以文本形式嵌入到绘图中时,该文档在绘图中可显示的最大字符数量。",QUOTE_TRANSCLUSION_REMOVE_NAME:"隐藏 Transclusion 行首的引用符号",QUOTE_TRANSCLUSION_REMOVE_DESC:"不显示 Transclusion 中每一行行首的 > 符号,以提高纯文本 Transclusion 的可读性。
      开启:隐藏 > 符号
      关闭:不隐藏 > 符号(注意,由于 Obsidian API 的原因,首行行首的 > 符号不会被隐藏)",GET_URL_TITLE_NAME:"使用 iframly 获取页面标题",GET_URL_TITLE_DESC:"拖放链接到 Excalidraw 时,使用 http://iframely.server.crestify.com/iframely?url= 来获取页面的标题。",MD_HEAD:"以图像形式嵌入到绘图中的 Markdown 文档(MD-Embed)",MD_HEAD_DESC:`您还可以将 Markdown 文档以图像形式(而非文本形式)嵌入到绘图中。方法是按住 ${labelCTRL()} 并从文件管理器中把文档拖入绘图,或者执行“以图像形式嵌入”系列命令。`,MD_TRANSCLUDE_WIDTH_NAME:"MD-Embed 的默认宽度",MD_TRANSCLUDE_WIDTH_DESC:"MD-Embed 的宽度。该选项会影响到折行,以及图像元素的宽度。
      您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#标题|宽度x最大高度]]。",MD_TRANSCLUDE_HEIGHT_NAME:"MD-Embed 的默认最大高度",MD_TRANSCLUDE_HEIGHT_DESC:"MD-Embed 的高度取决于 Markdown 文档内容的多少,但最大不会超过该值。
      您可为绘图中的某个 MD-Embed 单独设置此项,方法是将绘图切换至 Markdown 模式,并修改相应的 [[Embed文件名#^块引ID|宽度x最大高度]]。",MD_DEFAULT_FONT_NAME:"MD-Embed 的默认字体",MD_DEFAULT_FONT_DESC:"可以设为 VirgilCasadia 或其他有效的 .ttf/.woff/.woff2 字体文件(如 我的字体.woff2)。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font: 字体名或文件名 的键值对。",MD_DEFAULT_COLOR_NAME:"MD-Embed 的默认文本颜色",MD_DEFAULT_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-font-color: steelblue 的键值对。",MD_DEFAULT_BORDER_COLOR_NAME:"MD-Embed 的默认边框颜色",MD_DEFAULT_BORDER_COLOR_DESC:"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
      如果您不想要边框,请留空。",MD_CSS_NAME:"MD-Embed 的默认 CSS 样式表",MD_CSS_DESC:"MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
      如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(CTRL+SHIFT+i)中键入命令:ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
      此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README),但可以通过上面的设置来额外添加一个自定义字体。
      您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的CSS文件或CSS片段 的键值对。",EMBED_HEAD:"嵌入到文档中的绘图(Embed) & 导出",EMBED_REUSE_EXPORTED_IMAGE_NAME:"将之前已导出的图像作为 Embed 的预览图(如果存在的话)",EMBED_REUSE_EXPORTED_IMAGE_DESC:"该选项与“自动导出 SVG/PNG 副本”选项配合使用。如果存在文件名相匹配的 SVG/PNG 副本,则将其作为 Embed 的预览图,而不再重新生成预览图。
      该选项能够提高性能,尤其是当 Embed 中含有大量图像或 MD-Embed 时。但是,该选项也可能导致预览图无法立即响应你最新的修改,或者你对 Obsidian 主题风格的改变。
      该选项仅作用于嵌入到文档中的绘图。由于种种原因,该技术无法用于加快绘图文件的打开速度。详见此说明。",EMBED_PREVIEW_SVG_NAME:"生成 SVG 格式的 Embed 预览图",EMBED_PREVIEW_SVG_DESC:"开启:在 Markdown 预览模式下,为 Embed 生成 SVG 格式的预览图。
      关闭:为 Embed 生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",PREVIEW_MATCH_OBSIDIAN_NAME:"Embed 预览图匹配 Obsidian 主题",PREVIEW_MATCH_OBSIDIAN_DESC:"开启此项,则当 Obsidian 处于黑暗模式时,Embed 的预览图也会以黑暗模式渲染;当 Obsidian 处于明亮模式时,预览图也会以明亮模式渲染。
      您可能还需要关闭“导出的图像包含背景”开关,来获得与 Obsidian 更加协调的观感。",EMBED_WIDTH_NAME:"Embed 预览图的默认宽度",EMBED_WIDTH_DESC:"该选项同时作用于 Obsidian 实时预览模式下的编辑视图和阅读视图,以及鼠标悬停时浮现的预览图。
      您可为某个要嵌入到文档中的绘图(Embed)单独设置此项,方法是修改相应的链接格式为形如 ![[drawing.excalidraw|100]][[drawing.excalidraw|100x100]] 的格式。",EMBED_TYPE_NAME:"“嵌入绘图到当前文档”系列命令的源文件类型",EMBED_TYPE_DESC:"在命令面板中执行“嵌入绘图到当前文档”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
      如果您想选择 PNG 或 SVG 副本,需要先开启下方的“自动导出 PNG 副本”或“自动导出 SVG 副本”开关。
      如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— 也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",EMBED_WIKILINK_NAME:"“嵌入绘图到当前文档”命令产生的内部链接类型",EMBED_WIKILINK_DESC:"开启:将产生 ![[Wiki 链接]]关闭:将产生 ![](Markdown 链接)。",EXPORT_PNG_SCALE_NAME:"导出的 PNG 图像的比例",EXPORT_PNG_SCALE_DESC:"导出的 PNG 图像的大小比例",EXPORT_BACKGROUND_NAME:"导出的图像包含背景",EXPORT_BACKGROUND_DESC:"如果关闭,将导出透明背景的图像。",EXPORT_PADDING_NAME:"导出的图像的空白边距",EXPORT_PADDING_DESC:"导出的 SVG/PNG 图像四周的空白边距(单位:像素)。
      增加该值,可以避免在导出图像时,靠近图像边缘的图形被裁掉。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-export-padding: 5 的键值对。",EXPORT_THEME_NAME:"导出的图像包含主题",EXPORT_THEME_DESC:"导出与绘图的黑暗/明亮主题匹配的图像。如果关闭,在黑暗主题下导出的图像将和明亮主题一样。",EXPORT_HEAD:"导出设置",EXPORT_SYNC_NAME:"保持 SVG/PNG 文件名与绘图文件同步",EXPORT_SYNC_DESC:"打开后,当绘图文件被重命名时,插件将同步更新同文件夹下的同名 .SVG 和 .PNG 文件。当绘图文件被删除时,插件将自动删除同文件夹下的同名 .SVG 和 .PNG 文件。",EXPORT_SVG_NAME:"自动导出 SVG 副本",EXPORT_SVG_DESC:"自动导出和绘图文件同名的 SVG 副本。插件会将副本保存到绘图文件所在的文件夹中。在文档中嵌入这个 SVG 文件,相比直接嵌入绘图文件,具有更强的跨平台能力。
      此开关开启时,每次您编辑 Excalidraw 绘图,其 SVG 文件副本都会同步更新。
      您可为某个绘图单独设置此项,方法是在其 frontmatter 中添加形如 excalidraw-autoexport: none/both/svg/png的键值对",EXPORT_PNG_NAME:"自动导出 PNG 副本",EXPORT_PNG_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",EXPORT_BOTH_DARK_AND_LIGHT_NAME:"同时导出黑暗和明亮风格的图像",EXPORT_BOTH_DARK_AND_LIGHT_DESC:"若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
      该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",COMPATIBILITY_HEAD:"兼容性设置",EXPORT_EXCALIDRAW_NAME:"自动导出 Excalidraw 旧格式副本",EXPORT_EXCALIDRAW_DESC:"和“自动导出 SVG 副本”类似,但是导出格式为 *.excalidraw。",SYNC_EXCALIDRAW_NAME:"新旧格式绘图文件的内容保持同步",SYNC_EXCALIDRAW_DESC:"如果旧格式(*.excalidraw)绘图文件的修改日期比新格式(*.md)更新,则根据旧格式文件的内容来更新新格式文件。",COMPATIBILITY_MODE_NAME:"以旧格式创建新绘图",COMPATIBILITY_MODE_DESC:"开启此功能后,您通过功能区按钮、命令面板、文件浏览器等创建的绘图都将是旧格式(*.excalidraw)。此外,您打开旧格式绘图文件时将不再收到提醒消息。",MATHJAX_NAME:"MathJax (LaTeX) 的 javascript 库服务器",MATHJAX_DESC:"如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。更改此选项后,您可能需要重启 Obsidian 来使其生效。",NONSTANDARD_HEAD:"非 Excalidraw.com 官方支持的特性",NONSTANDARD_DESC:"这些特性不受 Excalidraw.com 官方支持。当导出绘图到 Excalidraw.com 时,这些特性将会发生变化。",CUSTOM_PEN_NAME:"自定义画笔的数量",CUSTOM_PEN_DESC:"在画布上的 Obsidian 菜单旁边切换自定义画笔。长按画笔按钮可以修改其样式。",EXPERIMENTAL_HEAD:"实验性功能",EXPERIMENTAL_DESC:"以下部分设置不会立即生效,需要刷新文件资源管理器或者重启 Obsidian 才会生效。",FIELD_SUGGESTER_NAME:"开启字段建议",FIELD_SUGGESTER_DESC:"开启后,当您在编辑器中输入 excalidraw- 或者 ea. 时,会弹出一个带有函数说明的自动补全提示菜单。
      该功能借鉴了 Breadcrumbs 和 Templater 插件。",FILETYPE_NAME:"在文件浏览器中为 excalidraw.md 文件添加类型标识符(如 ✏️)",FILETYPE_DESC:"可通过下一项设置来自定义类型标识符。",FILETAG_NAME:"excalidraw.md 文件的类型标识符",FILETAG_DESC:"要显示为类型标识符的 emoji 或文本。",INSERT_EMOJI:"插入 emoji",LIVEPREVIEW_NAME:"嵌入绘图到文档时,模拟嵌入图像的语法",LIVEPREVIEW_DESC:"开启此项,则可在 Obsidian 实时预览模式的编辑视图下,用形如 ![[绘图|宽度|样式]] 的语法来嵌入绘图。
      该选项不会在已打开的文档中立刻生效 —— 你需要重新打开此文档来使其生效。",ENABLE_FOURTH_FONT_NAME:"为文本元素启用本地字体",ENABLE_FOURTH_FONT_DESC:"开启此项后,文本元素的属性面板里会多出一个本地字体按钮。
      使用了本地字体的绘图文件,将会失去一部分跨平台能力 —— 若将绘图文件移动到其他库中打开,显示效果可能会截然不同;若在 excalidraw.com 或者其他版本的 Excalidraw 中打开,使用本地字体的文本会变回系统默认字体。",FOURTH_FONT_NAME:"本地字体文件",FOURTH_FONT_DESC:"选择库文件夹中的一个 .ttf, .woff 或 .woff2 字体文件作为本地字体文件。若未选择文件,则使用默认的 Virgil 字体。",SCRIPT_SETTINGS_HEAD:"已安装脚本的设置",TASKBONE_HEAD:"Taskbone OCR(光学符号识别)",TASKBONE_DESC:"这是一个将 OCR 融入 Excalidraw 的实验性功能。请注意,Taskbone 是一项独立的外部服务,而不是由 Excalidraw 或 Obsidian-excalidraw-plugin 项目提供的。OCR 能够对画布上用自由画笔工具写下的涂鸦或者嵌入的图像进行文本识别,并将识别出来的文本写入绘图文件的 frontmatter,同时复制到剪贴板。之所以要写入 frontmatter 是为了便于您在 Obsidian 中能够搜索到这些文本。注意,识别的过程不是在本地进行的,而是通过在线 API,图像会被上传到 taskbone 的服务器(仅用于识别目的)。如果您对此敏感,请不要使用这个功能。",TASKBONE_ENABLE_NAME:"启用 Taskbone",TASKBONE_ENABLE_DESC:"启用这个功能意味着你同意 Taskbone 条款及细则 以及 隐私政策.",TASKBONE_APIKEY_NAME:"Taskbone API Key",TASKBONE_APIKEY_DESC:"Taskbone 的免费 API key 提供了一定数量的每月识别次数。如果您非常频繁地使用此功能,或者想要支持 Taskbone 的开发者(您懂的,没有人能用爱发电,Taskbone 开发者也需要投入资金才能持续运行这项 OCR 服务)您可以到 taskbone.com 购买一个商用 API key。购买后请将它填写到旁边这个文本框里,替换掉原本自动生成的免费 API key。",SELECT_FILE:"选择一个文件后按回车。",SELECT_FILE_WITH_OPTION_TO_SCALE:`选择一个文件后按回车,或者 SHIFT+${labelMETA()}+ENTER 以 100% 尺寸插入。`,NO_MATCH:"查询不到匹配的文件。",SELECT_FILE_TO_LINK:"选择要插入(链接)到当前绘图中的文件。",SELECT_DRAWING:"选择要插入(以图像形式嵌入)到当前绘图中的图像。",TYPE_FILENAME:"键入要选择的绘图名称。",SELECT_FILE_OR_TYPE_NEW:"选择已有绘图,或者新绘图的类型,然后按回车。",SELECT_TO_EMBED:"选择要插入(嵌入)到当前文档中的绘图。",SELECT_MD:"选择要插入(以图像形式嵌入)到当前绘图中的 Markdown 文档。",INFINITE_LOOP_WARNING:"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",SCRIPT_EXECUTION_ERROR:"脚本运行错误。请在开发者控制台中查看错误信息。",LOAD_FROM_BACKUP:"Excalidraw 文件已损坏。尝试从备份文件中加载。",GOTO_FULLSCREEN:"进入全屏模式",EXIT_FULLSCREEN:"退出全屏模式",TOGGLE_FULLSCREEN:"切换全屏模式",OPEN_LINK_CLICK:"打开所选的图形或文本元素里的链接",OPEN_LINK_PROPS:"编辑所选 MD-Embed 的内部链接,或者打开所选的图形或文本元素里的链接"},zhTW={};const localeMap={ar:ar,cs:cz,da:da,de:de,en:en,"en-gb":enGB,es:es,fr:fr,hi:hi,id:id,it:it,ja:ja,ko:ko,nl:nl,nn:no,pl:pl,pt:pt,"pt-br":ptBR,ro:ro,ru:ru,tr:tr,"zh-cn":zhCN,"zh-tw":zhTW},locale=localeMap[obsidian_module.moment.locale()];function t$d(e){return locale||errorlog({where:"helpers.t",message:"Error: Excalidraw locale not found",locale:obsidian_module.moment.locale()}),locale&&locale[e]||en[e]}var html2canvasExports={},html2canvas$1={get exports(){return html2canvasExports},set exports(e){html2canvasExports=e}};html2canvas$1.exports=function(){ /*! ***************************************************************************** Copyright (c) Microsoft Corporation. @@ -14,8 +14,8 @@ const EXCALIDRAW_PACKAGES = "PQKhCgAIUgBAbAlgYwKYDsDOrICVUCGyALlDAE6EkB0ADuQPYAm OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var e=function(A,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])},e(A,t)};function A(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=A}e(A,t),A.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var t=function(){return t=Object.assign||function(e){for(var A,t=1,i=arguments.length;t0&&n[n.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]=55296&&n<=56319&&t>10),r%1024+56320)),(n+1===t||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B="undefined"==typeof Uint8Array?[]:new Uint8Array(256),E=0;E>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],i=0;i0;){var r=i[--a];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var s=t;s<=i.length;){var o;if((o=i[++s])===A)return!0;if(o!==b)break}if(r!==b)break}return!1},ie=function(e,A){for(var t=e;t>=0;){var i=A[t];if(i!==b)return i;t--}return 0},ne=function(e,A,t,i,n){if(0===t[i])return z;var a=i-1;if(Array.isArray(n)&&!0===n[a])return z;var r=a-1,s=a+1,o=A[a],l=r>=0?A[r]:0,c=A[s];if(2===o&&3===c)return z;if(-1!==Z.indexOf(o))return"!";if(-1!==Z.indexOf(c))return z;if(-1!==q.indexOf(c))return z;if(8===ie(a,A))return Y;if(11===j.get(e[a]))return z;if((o===N||o===D)&&11===j.get(e[s]))return z;if(7===o||7===c)return z;if(9===o)return z;if(-1===[b,C,v].indexOf(o)&&9===c)return z;if(-1!==[y,F,x,U,L].indexOf(c))return z;if(ie(a,A)===I)return z;if(te(23,I,a,A))return z;if(te([y,F],T,a,A))return z;if(te(12,12,a,A))return z;if(o===b)return Y;if(23===o||23===c)return z;if(16===c||16===o)return Y;if(-1!==[C,v,T].indexOf(c)||14===o)return z;if(36===l&&-1!==Ae.indexOf(o))return z;if(o===L&&36===c)return z;if(c===S)return z;if(-1!==J.indexOf(c)&&o===Q||-1!==J.indexOf(o)&&c===Q)return z;if(o===M&&-1!==[P,N,D].indexOf(c)||-1!==[P,N,D].indexOf(o)&&c===k)return z;if(-1!==J.indexOf(o)&&-1!==_.indexOf(c)||-1!==_.indexOf(o)&&-1!==J.indexOf(c))return z;if(-1!==[M,k].indexOf(o)&&(c===Q||-1!==[I,v].indexOf(c)&&A[s+1]===Q)||-1!==[I,v].indexOf(o)&&c===Q||o===Q&&-1!==[Q,L,U].indexOf(c))return z;if(-1!==[Q,L,U,y,F].indexOf(c))for(var d=a;d>=0;){if((h=A[d])===Q)return z;if(-1===[L,U].indexOf(h))break;d--}if(-1!==[M,k].indexOf(c))for(d=-1!==[y,F].indexOf(o)?r:a;d>=0;){var h;if((h=A[d])===Q)return z;if(-1===[L,U].indexOf(h))break;d--}if(V===o&&-1!==[V,K,H,R].indexOf(c)||-1!==[K,H].indexOf(o)&&-1!==[K,G].indexOf(c)||-1!==[G,R].indexOf(o)&&c===G)return z;if(-1!==ee.indexOf(o)&&-1!==[S,k].indexOf(c)||-1!==ee.indexOf(c)&&o===M)return z;if(-1!==J.indexOf(o)&&-1!==J.indexOf(c))return z;if(o===U&&-1!==J.indexOf(c))return z;if(-1!==J.concat(Q).indexOf(o)&&c===I&&-1===X.indexOf(e[s])||-1!==J.concat(Q).indexOf(c)&&o===F)return z;if(41===o&&41===c){for(var u=t[a],g=1;u>0&&41===A[--u];)g++;if(g%2!=0)return z}return o===N&&c===D?z:Y},ae=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=function(e,A){void 0===A&&(A="strict");var t=[],i=[],n=[];return e.forEach((function(e,a){var r=j.get(e);if(r>50?(n.push(!0),r-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(a),t.push(16);if(4===r||11===r){if(0===a)return i.push(a),t.push(O);var s=t[a-1];return-1===$.indexOf(s)?(i.push(i[a-1]),t.push(s)):(i.push(a),t.push(O))}return i.push(a),31===r?t.push("strict"===A?T:P):r===W||29===r?t.push(O):43===r?e>=131072&&e<=196605||e>=196608&&e<=262141?t.push(P):t.push(O):void t.push(r)})),[i,t,n]}(e,A.lineBreak),i=t[0],n=t[1],a=t[2];"break-all"!==A.wordBreak&&"break-word"!==A.wordBreak||(n=n.map((function(e){return-1!==[Q,O,W].indexOf(e)?P:e})));var r="keep-all"===A.wordBreak?a.map((function(A,t){return A&&e[t]>=19968&&e[t]<=40959})):void 0;return[i,n,r]},re=function(){function e(e,A,t,i){this.codePoints=e,this.required="!"===A,this.start=t,this.end=i}return e.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),se=45,oe=43,le=-1,ce=function(e){return e>=48&&e<=57},de=function(e){return ce(e)||e>=65&&e<=70||e>=97&&e<=102},he=function(e){return 10===e||9===e||32===e},ue=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},ge=function(e){return ue(e)||ce(e)||e===se},pe=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},me=function(e,A){return 92===e&&10!==A},we=function(e,A,t){return e===se?ue(A)||me(A,t):!!ue(e)||!(92!==e||!me(e,A))},fe=function(e,A,t){return e===oe||e===se?!!ce(A)||46===A&&ce(t):ce(46===e?A:e)},Be=function(e){var A=0,t=1;e[A]!==oe&&e[A]!==se||(e[A]===se&&(t=-1),A++);for(var i=[];ce(e[A]);)i.push(e[A++]);var n=i.length?parseInt(l.apply(void 0,i),10):0;46===e[A]&&A++;for(var a=[];ce(e[A]);)a.push(e[A++]);var r=a.length,s=r?parseInt(l.apply(void 0,a),10):0;69!==e[A]&&101!==e[A]||A++;var o=1;e[A]!==oe&&e[A]!==se||(e[A]===se&&(o=-1),A++);for(var c=[];ce(e[A]);)c.push(e[A++]);var d=c.length?parseInt(l.apply(void 0,c),10):0;return t*(n+s*Math.pow(10,-r))*Math.pow(10,o*d)},Ee={type:2},be={type:3},Ce={type:4},ve={type:13},ye={type:8},Fe={type:21},xe={type:9},Se={type:10},Te={type:11},Ie={type:12},Ue={type:14},Qe={type:23},ke={type:1},Me={type:25},Le={type:24},Oe={type:26},Ne={type:27},De={type:28},He={type:29},Re={type:31},Pe={type:32},Ve=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(o(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==Pe;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),i=this.peekCodePoint(2);if(ge(A)||me(t,i)){var n=we(A,t,i)?2:1;return{type:5,value:this.consumeName(),flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ve;break;case 39:return this.consumeStringToken(39);case 40:return Ee;case 41:return be;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ue;break;case oe:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return Ce;case se:var a=e,r=this.peekCodePoint(0),s=this.peekCodePoint(1);if(fe(a,r,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(we(a,r,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(r===se&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),Le;break;case 46:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint()))return this.consumeToken();if(o===le)return this.consumeToken()}break;case 58:return Oe;case 59:return Ne;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===se&&this.peekCodePoint(2)===se)return this.consumeCodePoint(),this.consumeCodePoint(),Me;break;case 64:var c=this.peekCodePoint(0),d=this.peekCodePoint(1),h=this.peekCodePoint(2);if(we(c,d,h))return{type:7,value:this.consumeName()};break;case 91:return De;case 92:if(me(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return He;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ye;break;case 123:return Te;case 125:return Ie;case 117:case 85:var u=this.peekCodePoint(0),g=this.peekCodePoint(1);return u!==oe||!de(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),xe;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Fe;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Se;break;case le:return Pe}return he(e)?(this.consumeWhiteSpace(),Re):ce(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):ue(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:l(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();de(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(l.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(l.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(l.apply(void 0,e),16);if(this.peekCodePoint(0)===se&&de(this.peekCodePoint(1))){this.consumeCodePoint(),A=this.consumeCodePoint();for(var n=[];de(A)&&n.length<6;)n.push(A),A=this.consumeCodePoint();return{type:30,start:i,end:parseInt(l.apply(void 0,n),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===le)return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),Qe)}for(;;){var i=this.consumeCodePoint();if(i===le||41===i)return{type:22,value:l.apply(void 0,e)};if(he(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Qe);if(34===i||39===i||40===i||pe(i))return this.consumeBadUrlRemnants(),Qe;if(92===i){if(!me(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Qe;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;he(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===le)return;me(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=l.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var i=this._value[t];if(i===le||void 0===i||i===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===i)return this._value.splice(0,t),ke;if(92===i){var n=this._value[t+1];n!==le&&void 0!==n&&(10===n?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):me(i,n)&&(A+=this.consumeStringSlice(t),A+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for(t!==oe&&t!==se||e.push(this.consumeCodePoint());ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===t&&ce(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),i=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===t||101===t)&&((i===oe||i===se)&&ce(n)||ce(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Be(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],i=this.peekCodePoint(0),n=this.peekCodePoint(1),a=this.peekCodePoint(2);return we(i,n,a)?{type:15,number:A,flags:t,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(de(e)){for(var A=l(e);de(this.peekCodePoint(0))&&A.length<6;)A+=l(this.consumeCodePoint());he(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||function(e){return e>=55296&&e<=57343}(t)||t>1114111?65533:t}return e===le?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(ge(A))e+=l(A);else{if(!me(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=l(this.consumeEscapedCodePoint())}}},e}(),Ke=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new Ve;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return A;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||qe(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?Pe:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Ge=function(e){return 15===e.type},We=function(e){return 17===e.type},Xe=function(e){return 20===e.type},ze=function(e){return 0===e.type},Ye=function(e,A){return Xe(e)&&e.value===A},je=function(e){return 31!==e.type},Je=function(e){return 31!==e.type&&4!==e.type},Ze=function(e){var A=[],t=[];return e.forEach((function(e){if(4===e.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return A.push(t),void(t=[])}31!==e.type&&t.push(e)})),t.length&&A.push(t),A},qe=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},_e=function(e){return 17===e.type||15===e.type},$e=function(e){return 16===e.type||_e(e)},eA=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},AA={type:17,number:0,flags:4},tA={type:16,number:50,flags:4},iA={type:16,number:100,flags:4},nA=function(e,A,t){var i=e[0],n=e[1];return[aA(i,A),aA(void 0!==n?n:i,t)]},aA=function(e,A){if(16===e.type)return e.number/100*A;if(Ge(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},rA="grad",sA="turn",oA=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case rA:return Math.PI/200*A.number;case"rad":return A.number;case sA:return 2*Math.PI*A.number}throw new Error("Unsupported angle type")},lA=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rA||"rad"===e.unit||e.unit===sA)},cA=function(e){switch(e.filter(Xe).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[AA,AA];case"to top":case"bottom":return dA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[AA,iA];case"to right":case"left":return dA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[iA,iA];case"to bottom":case"top":return dA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[iA,AA];case"to left":case"right":return dA(270)}return 0},dA=function(e){return Math.PI*e/180},hA=function(e,A){if(18===A.type){var t=EA[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var i=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3);return pA(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),1)}if(4===A.value.length){i=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3);var r=A.value.substring(3,4);return pA(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),parseInt(r+r,16)/255)}if(6===A.value.length)return i=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6),pA(parseInt(i,16),parseInt(n,16),parseInt(a,16),1);if(8===A.value.length)return i=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6),r=A.value.substring(6,8),pA(parseInt(i,16),parseInt(n,16),parseInt(a,16),parseInt(r,16)/255)}if(20===A.type){var s=CA[A.value.toUpperCase()];if(void 0!==s)return s}return CA.TRANSPARENT},uA=function(e){return 0==(255&e)},gA=function(e){var A=255&e,t=255&e>>8,i=255&e>>16,n=255&e>>24;return A<255?"rgba("+n+","+i+","+t+","+A/255+")":"rgb("+n+","+i+","+t+")"},pA=function(e,A,t,i){return(e<<24|A<<16|t<<8|Math.round(255*i)<<0)>>>0},mA=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},wA=function(e,A){var t=A.filter(Je);if(3===t.length){var i=t.map(mA),n=i[0],a=i[1],r=i[2];return pA(n,a,r,1)}if(4===t.length){var s=t.map(mA),o=(n=s[0],a=s[1],r=s[2],s[3]);return pA(n,a,r,o)}return 0};function fA(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<.5?A:t<2/3?6*(A-e)*(2/3-t)+e:e}var BA=function(e,A){var t=A.filter(Je),i=t[0],n=t[1],a=t[2],r=t[3],s=(17===i.type?dA(i.number):oA(e,i))/(2*Math.PI),o=$e(n)?n.number/100:0,l=$e(a)?a.number/100:0,c=void 0!==r&&$e(r)?aA(r,1):1;if(0===o)return pA(255*l,255*l,255*l,1);var d=l<=.5?l*(o+1):l+o-l*o,h=2*l-d,u=fA(h,d,s+1/3),g=fA(h,d,s),p=fA(h,d,s-1/3);return pA(255*u,255*g,255*p,c)},EA={hsl:BA,hsla:BA,rgb:wA,rgba:wA},bA=function(e,A){return hA(e,Ke.create(A).parseComponentValue())},CA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},vA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},yA={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},FA=function(e,A){var t=hA(e,A[0]),i=A[1];return i&&$e(i)?{color:t,stop:i}:{color:t,stop:null}},xA=function(e,A){var t=e[0],i=e[e.length-1];null===t.stop&&(t.stop=AA),null===i.stop&&(i.stop=iA);for(var n=[],a=0,r=0;ra?n.push(o):n.push(a),a=o}else n.push(null)}var l=null;for(r=0;re.optimumDistance)?{optimumCorner:A,optimumDistance:s}:e}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},UA=function(e,A){var t=dA(180),i=[];return Ze(A).forEach((function(A,n){if(0===n){var a=A[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(t=cA(A));if(lA(a))return void(t=(oA(e,a)+dA(270))%dA(360))}var r=FA(e,A);i.push(r)})),{angle:t,stops:i,type:1}},QA="closest-side",kA="farthest-side",MA="closest-corner",LA="farthest-corner",OA="circle",NA="ellipse",DA="cover",HA="contain",RA=function(e,A){var t=0,i=3,n=[],a=[];return Ze(A).forEach((function(A,r){var s=!0;if(0===r?s=A.reduce((function(e,A){if(Xe(A))switch(A.value){case"center":return a.push(tA),!1;case"top":case"left":return a.push(AA),!1;case"right":case"bottom":return a.push(iA),!1}else if($e(A)||_e(A))return a.push(A),!1;return e}),s):1===r&&(s=A.reduce((function(e,A){if(Xe(A))switch(A.value){case OA:return t=0,!1;case NA:return t=1,!1;case HA:case QA:return i=0,!1;case kA:return i=1,!1;case MA:return i=2,!1;case DA:case LA:return i=3,!1}else if(_e(A)||$e(A))return Array.isArray(i)||(i=[]),i.push(A),!1;return e}),s)),s){var o=FA(e,A);n.push(o)}})),{size:i,shape:t,stops:n,position:a,type:2}},PA=function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var i=KA[A.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return i(e,A.values)}throw new Error("Unsupported image type "+A.type)};var VA,KA={"linear-gradient":function(e,A){var t=dA(180),i=[];return Ze(A).forEach((function(A,n){if(0===n){var a=A[0];if(20===a.type&&"to"===a.value)return void(t=cA(A));if(lA(a))return void(t=oA(e,a))}var r=FA(e,A);i.push(r)})),{angle:t,stops:i,type:1}},"-moz-linear-gradient":UA,"-ms-linear-gradient":UA,"-o-linear-gradient":UA,"-webkit-linear-gradient":UA,"radial-gradient":function(e,A){var t=0,i=3,n=[],a=[];return Ze(A).forEach((function(A,r){var s=!0;if(0===r){var o=!1;s=A.reduce((function(e,A){if(o)if(Xe(A))switch(A.value){case"center":return a.push(tA),e;case"top":case"left":return a.push(AA),e;case"right":case"bottom":return a.push(iA),e}else($e(A)||_e(A))&&a.push(A);else if(Xe(A))switch(A.value){case OA:return t=0,!1;case NA:return t=1,!1;case"at":return o=!0,!1;case QA:return i=0,!1;case DA:case kA:return i=1,!1;case HA:case MA:return i=2,!1;case LA:return i=3,!1}else if(_e(A)||$e(A))return Array.isArray(i)||(i=[]),i.push(A),!1;return e}),s)}if(s){var l=FA(e,A);n.push(l)}})),{size:i,shape:t,stops:n,position:a,type:2}},"-moz-radial-gradient":RA,"-ms-radial-gradient":RA,"-o-radial-gradient":RA,"-webkit-radial-gradient":RA,"-webkit-gradient":function(e,A){var t=dA(180),i=[],n=1;return Ze(A).forEach((function(A,t){var a=A[0];if(0===t){if(Xe(a)&&"linear"===a.value)return void(n=1);if(Xe(a)&&"radial"===a.value)return void(n=2)}if(18===a.type)if("from"===a.name){var r=hA(e,a.values[0]);i.push({stop:AA,color:r})}else if("to"===a.name)r=hA(e,a.values[0]),i.push({stop:iA,color:r});else if("color-stop"===a.name){var s=a.values.filter(Je);if(2===s.length){r=hA(e,s[1]);var o=s[0];We(o)&&i.push({stop:{type:16,number:100*o.number,flags:o.flags},color:r})}}})),1===n?{angle:(t+dA(180))%dA(360),stops:i,type:n}:{size:3,shape:0,stops:i,position:[],type:n}}},GA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter((function(e){return Je(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!KA[e.name])}(e)})).map((function(A){return PA(e,A)}))}},WA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},XA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return Ze(A).map((function(e){return e.filter($e)})).map(eA)}},zA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return Ze(A).map((function(e){return e.filter(Xe).map((function(e){return e.value})).join(" ")})).map(YA)}},YA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(VA||(VA={}));var jA,JA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return Ze(A).map((function(e){return e.filter(ZA)}))}},ZA=function(e){return Xe(e)||$e(e)},qA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},_A=qA("top"),$A=qA("right"),et=qA("bottom"),At=qA("left"),tt=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return eA(A.filter($e))}}},it=tt("top-left"),nt=tt("top-right"),at=tt("bottom-right"),rt=tt("bottom-left"),st=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},ot=st("top"),lt=st("right"),ct=st("bottom"),dt=st("left"),ht=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return Ge(A)?A.number:0}}},ut=ht("top"),gt=ht("right"),pt=ht("bottom"),mt=ht("left"),wt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ft={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return"rtl"===A?1:0}},Bt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(Xe).reduce((function(e,A){return e|Et(A.value)}),0)}},Et=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},bt={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ct={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(jA||(jA={}));var vt,yt={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?jA.STRICT:jA.NORMAL}},Ft={name:"line-height",initialValue:"normal",prefix:!1,type:4},xt=function(e,A){return Xe(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:$e(e)?aA(e,A):A},St={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:PA(e,A)}},Tt={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return"inside"===A?0:1}},It={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},Ut=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Qt=Ut("top"),kt=Ut("right"),Mt=Ut("bottom"),Lt=Ut("left"),Ot={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(Xe).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Nt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},Dt=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Ht=Dt("top"),Rt=Dt("right"),Pt=Dt("bottom"),Vt=Dt("left"),Kt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Gt={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Wt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&Ye(A[0],"none")?[]:Ze(A).map((function(A){for(var t={color:CA.TRANSPARENT,offsetX:AA,offsetY:AA,blur:AA},i=0,n=0;n1?1:0],this.overflowWrap=vi(e,Nt,A.overflowWrap),this.paddingTop=vi(e,Ht,A.paddingTop),this.paddingRight=vi(e,Rt,A.paddingRight),this.paddingBottom=vi(e,Pt,A.paddingBottom),this.paddingLeft=vi(e,Vt,A.paddingLeft),this.paintOrder=vi(e,wi,A.paintOrder),this.position=vi(e,Gt,A.position),this.textAlign=vi(e,Kt,A.textAlign),this.textDecorationColor=vi(e,ti,null!==(t=A.textDecorationColor)&&void 0!==t?t:A.color),this.textDecorationLine=vi(e,ii,null!==(i=A.textDecorationLine)&&void 0!==i?i:A.textDecoration),this.textShadow=vi(e,Wt,A.textShadow),this.textTransform=vi(e,Xt,A.textTransform),this.transform=vi(e,zt,A.transform),this.transformOrigin=vi(e,Zt,A.transformOrigin),this.visibility=vi(e,qt,A.visibility),this.webkitTextStrokeColor=vi(e,fi,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=vi(e,Bi,A.webkitTextStrokeWidth),this.wordBreak=vi(e,_t,A.wordBreak),this.zIndex=vi(e,$t,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return uA(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return li(this.display,4)||li(this.display,33554432)||li(this.display,268435456)||li(this.display,536870912)||li(this.display,67108864)||li(this.display,134217728)},e}(),bi=function(e,A){this.content=vi(e,ci,A.content),this.quotes=vi(e,gi,A.quotes)},Ci=function(e,A){this.counterIncrement=vi(e,di,A.counterIncrement),this.counterReset=vi(e,hi,A.counterReset)},vi=function(e,A,t){var i=new Ve,n=null!=t?t.toString():A.initialValue;i.write(n);var a=new Ke(i.read());switch(A.type){case 2:var r=a.parseComponentValue();return A.parse(e,Xe(r)?r.value:A.initialValue);case 0:return A.parse(e,a.parseComponentValue());case 1:return A.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(A.format){case"angle":return oA(e,a.parseComponentValue());case"color":return hA(e,a.parseComponentValue());case"image":return PA(e,a.parseComponentValue());case"length":var s=a.parseComponentValue();return _e(s)?s:AA;case"length-percentage":var o=a.parseComponentValue();return $e(o)?o:AA;case"time":return ei.parse(e,a.parseComponentValue())}}},yi=function(e,A){var t=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===t||A===t},Fi=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,yi(A,3),this.styles=new Ei(e,window.getComputedStyle(A,null)),Un(A)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=s(this.context,A),yi(A,4)&&(this.flags|=16)},xi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Si="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Ti=0;Ti=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A],A+=e>>5&63,A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Qi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ki="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Mi=0;Mi>10),r%1024+56320)),(n+1===t||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},Pi=function(e,A){var t,i,n,a=function(e){var A,t,i,n,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(A=0;A>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),r=Array.isArray(a)?function(e){for(var A=e.length,t=[],i=0;i=55296&&n<=56319&&t=t)return{done:!0,value:null};for(var e=Vi;ir.x||n.y>r.y;return r=n,0===A||s}));return e.body.removeChild(A),s}(document);return Object.defineProperty(ji,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var A=new Image,t=e.createElement("canvas"),i=t.getContext("2d");if(!i)return!1;A.src="data:image/svg+xml,";try{i.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(ji,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var i=A.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,t,t);var n=new Image,a=A.toDataURL();n.src=a;var r=zi(t,t,0,0,n);return i.fillStyle="red",i.fillRect(0,0,t,t),Yi(r).then((function(A){i.drawImage(A,0,0);var n=i.getImageData(0,0,t,t).data;i.fillStyle="red",i.fillRect(0,0,t,t);var r=e.createElement("div");return r.style.backgroundImage="url("+a+")",r.style.height="100px",Xi(n)?Yi(zi(t,t,0,0,r)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),Xi(i.getImageData(0,0,t,t).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(ji,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(ji,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(ji,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ji,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(ji,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ji=function(e,A){this.text=e,this.bounds=A},Zi=function(e,A){var t=A.ownerDocument;if(t){var i=t.createElement("html2canvaswrapper");i.appendChild(A.cloneNode(!0));var n=A.parentNode;if(n){n.replaceChild(i,A);var a=s(e,i);return i.firstChild&&n.replaceChild(i.firstChild,i),a}}return r.EMPTY},qi=function(e,A,t){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var n=i.createRange();return n.setStart(e,A),n.setEnd(e,A+t),n},_i=function(e){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map((function(e){return e.segment}))}return function(e){for(var A,t=Wi(e),i=[];!(A=t.next()).done;)A.value&&i.push(A.value.slice());return i}(e)},$i=function(e,A){return 0!==A.letterSpacing?_i(e):function(e,A){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return An(e,A)}(e,A)},en=[32,160,4961,65792,65793,4153,4241],An=function(e,A){for(var t,i=function(e,A){var t=o(e),i=ae(t,A),n=i[0],a=i[1],r=i[2],s=t.length,l=0,c=0;return{next:function(){if(c>=s)return{done:!0,value:null};for(var e=z;c0)if(ji.SUPPORT_RANGE_BOUNDS){var n=qi(i,s,A.length).getClientRects();if(n.length>1){var o=_i(A),l=0;o.forEach((function(A){a.push(new Ji(A,r.fromDOMRectList(e,qi(i,l+s,A.length).getClientRects()))),l+=A.length}))}else a.push(new Ji(A,r.fromDOMRectList(e,n)))}else{var c=i.splitText(A.length);a.push(new Ji(A,Zi(e,i))),i=c}else ji.SUPPORT_RANGE_BOUNDS||(i=i.splitText(A.length));s+=A.length})),a}(e,this.text,t,A)},nn=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(an,rn);case 2:return e.toUpperCase();default:return e}},an=/(^|\s|:|-|\(|\))([a-z])/g,rn=function(e,A,t){return e.length>0?A+t.toUpperCase():e},sn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.src=t.currentSrc||t.src,i.intrinsicWidth=t.naturalWidth,i.intrinsicHeight=t.naturalHeight,i.context.cache.addImage(i.src),i}return A(t,e),t}(Fi),on=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.canvas=t,i.intrinsicWidth=t.width,i.intrinsicHeight=t.height,i}return A(t,e),t}(Fi),ln=function(e){function t(A,t){var i=e.call(this,A,t)||this,n=new XMLSerializer,a=s(A,t);return t.setAttribute("width",a.width+"px"),t.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),i.intrinsicWidth=t.width.baseVal.value,i.intrinsicHeight=t.height.baseVal.value,i.context.cache.addImage(i.svg),i}return A(t,e),t}(Fi),cn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.value=t.value,i}return A(t,e),t}(Fi),dn=function(e){function t(A,t){var i=e.call(this,A,t)||this;return i.start=t.start,i.reversed="boolean"==typeof t.reversed&&!0===t.reversed,i}return A(t,e),t}(Fi),hn=[{type:15,flags:0,unit:"px",number:3}],un=[{type:16,flags:0,number:50}],gn="checkbox",pn="radio",mn="password",wn=707406591,fn=function(e){function t(A,t){var i,n,a,s=e.call(this,A,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=0===(a=(n=t).type===mn?new Array(n.value.length+1).join("•"):n.value).length?n.placeholder||"":a,s.type!==gn&&s.type!==pn||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(i=s.bounds).width>i.height?new r(i.left+(i.width-i.height)/2,i.top,i.height,i.height):i.width0)t.textNodes.push(new tn(e,n,t.styles));else if(In(n))if(Wn(n)&&n.assignedNodes)n.assignedNodes().forEach((function(A){return vn(e,A,t,i)}));else{var r=yn(e,n);r.styles.isVisible()&&(xn(n,r,i)?r.flags|=4:Sn(r.styles)&&(r.flags|=2),-1!==Cn.indexOf(n.tagName)&&(r.flags|=8),t.elements.push(r),n.slot,n.shadowRoot?vn(e,n.shadowRoot,r,i):Kn(n)||On(n)||Gn(n)||vn(e,n,r,i))}},yn=function(e,A){return Rn(A)?new sn(e,A):Dn(A)?new on(e,A):On(A)?new ln(e,A):kn(A)?new cn(e,A):Mn(A)?new dn(e,A):Ln(A)?new fn(e,A):Gn(A)?new Bn(e,A):Kn(A)?new En(e,A):Pn(A)?new bn(e,A):new Fi(e,A)},Fn=function(e,A){var t=yn(e,A);return t.flags|=4,vn(e,A,t,t),t},xn=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Nn(e)&&t.styles.isTransparent()},Sn=function(e){return e.isPositioned()||e.isFloating()},Tn=function(e){return e.nodeType===Node.TEXT_NODE},In=function(e){return e.nodeType===Node.ELEMENT_NODE},Un=function(e){return In(e)&&void 0!==e.style&&!Qn(e)},Qn=function(e){return"object"==typeof e.className},kn=function(e){return"LI"===e.tagName},Mn=function(e){return"OL"===e.tagName},Ln=function(e){return"INPUT"===e.tagName},On=function(e){return"svg"===e.tagName},Nn=function(e){return"BODY"===e.tagName},Dn=function(e){return"CANVAS"===e.tagName},Hn=function(e){return"VIDEO"===e.tagName},Rn=function(e){return"IMG"===e.tagName},Pn=function(e){return"IFRAME"===e.tagName},Vn=function(e){return"STYLE"===e.tagName},Kn=function(e){return"TEXTAREA"===e.tagName},Gn=function(e){return"SELECT"===e.tagName},Wn=function(e){return"SLOT"===e.tagName},Xn=function(e){return e.tagName.indexOf("-")>0},zn=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach((function(e){return A.counters[e].pop()}))},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,i=e.counterReset,n=!0;null!==t&&t.forEach((function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(n=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)}));var a=[];return n&&i.forEach((function(e){var t=A.counters[e.counter];a.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)})),a},e}(),Yn={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},jn={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Jn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Zn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},qn=function(e,A,t,i,n,a){return et?ra(e,n,a.length>0):i.integers.reduce((function(A,t,n){for(;e>=t;)e-=t,A+=i.values[n];return A}),"")+a},_n=function(e,A,t,i){var n="";do{t||e--,n=i(e)+n,e/=A}while(e*A>=A);return n},$n=function(e,A,t,i,n){var a=t-A+1;return(e<0?"-":"")+(_n(Math.abs(e),a,i,(function(e){return l(Math.floor(e%a)+A)}))+n)},ea=function(e,A,t){void 0===t&&(t=". ");var i=A.length;return _n(Math.abs(e),i,!1,(function(e){return A[Math.floor(e%i)]}))+t},Aa=function(e,A,t,i,n,a){if(e<-9999||e>9999)return ra(e,4,n.length>0);var r=Math.abs(e),s=n;if(0===r)return A[0]+s;for(var o=0;r>0&&o<=4;o++){var l=r%10;0===l&&li(a,1)&&""!==s?s=A[l]+s:l>1||1===l&&0===o||1===l&&1===o&&li(a,2)||1===l&&1===o&&li(a,4)&&e>100||1===l&&o>1&&li(a,8)?s=A[l]+(o>0?t[o-1]:"")+s:1===l&&o>0&&(s=t[o-1]+s),r=Math.floor(r/10)}return(e<0?i:"")+s},ta="十百千萬",ia="拾佰仟萬",na="マイナス",aa="마이너스",ra=function(e,A,t){var i=t?". ":"",n=t?"、":"",a=t?", ":"",r=t?" ":"";switch(A){case 0:return"•"+r;case 1:return"◦"+r;case 2:return"◾"+r;case 5:var s=$n(e,48,57,!0,i);return s.length<4?"0"+s:s;case 4:return ea(e,"〇一二三四五六七八九",n);case 6:return qn(e,1,3999,Yn,3,i).toLowerCase();case 7:return qn(e,1,3999,Yn,3,i);case 8:return $n(e,945,969,!1,i);case 9:return $n(e,97,122,!1,i);case 10:return $n(e,65,90,!1,i);case 11:return $n(e,1632,1641,!0,i);case 12:case 49:return qn(e,1,9999,jn,3,i);case 35:return qn(e,1,9999,jn,3,i).toLowerCase();case 13:return $n(e,2534,2543,!0,i);case 14:case 30:return $n(e,6112,6121,!0,i);case 15:return ea(e,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return ea(e,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Aa(e,"零一二三四五六七八九",ta,"負",n,14);case 47:return Aa(e,"零壹貳參肆伍陸柒捌玖",ia,"負",n,15);case 42:return Aa(e,"零一二三四五六七八九",ta,"负",n,14);case 41:return Aa(e,"零壹贰叁肆伍陆柒捌玖",ia,"负",n,15);case 26:return Aa(e,"〇一二三四五六七八九","十百千万",na,n,0);case 25:return Aa(e,"零壱弐参四伍六七八九","拾百千万",na,n,7);case 31:return Aa(e,"영일이삼사오육칠팔구","십백천만",aa,a,7);case 33:return Aa(e,"零一二三四五六七八九","十百千萬",aa,a,0);case 32:return Aa(e,"零壹貳參四五六七八九","拾百千",aa,a,7);case 18:return $n(e,2406,2415,!0,i);case 20:return qn(e,1,19999,Zn,3,i);case 21:return $n(e,2790,2799,!0,i);case 22:return $n(e,2662,2671,!0,i);case 22:return qn(e,1,10999,Jn,3,i);case 23:return ea(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return ea(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return $n(e,3302,3311,!0,i);case 28:return ea(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return ea(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return $n(e,3792,3801,!0,i);case 37:return $n(e,6160,6169,!0,i);case 38:return $n(e,4160,4169,!0,i);case 39:return $n(e,2918,2927,!0,i);case 40:return $n(e,1776,1785,!0,i);case 43:return $n(e,3046,3055,!0,i);case 44:return $n(e,3174,3183,!0,i);case 45:return $n(e,3664,3673,!0,i);case 46:return $n(e,3872,3881,!0,i);default:return $n(e,48,57,!0,i)}},sa="data-html2canvas-ignore",oa=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new zn,this.quoteDepth=0,!A.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,a=ca(e,A);if(!a.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,o=a.contentWindow,l=o.document,c=ua(a).then((function(){return i(t,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(fa),o&&(o.scrollTo(A.left,A.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||o.scrollY===A.top&&o.scrollX===A.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-A.left,o.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,ha(l)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(l,t)})).then((function(){return a}))]:[2,a]}}))}))}));return l.open(),l.write(ma(document.doctype)+""),wa(this.referenceElement.ownerDocument,r,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},e.prototype.createElementClone=function(e){if(yi(e,2),Dn(e))return this.createCanvasClone(e);if(Hn(e))return this.createVideoClone(e);if(Vn(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return Rn(A)&&(Rn(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),Xn(A)?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return pa(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce((function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=t,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var A;if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var n=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&n)a.putImageData(n.getImageData(0,0,e.width,e.height),0,0);else{var r=null!==(A=e.getContext("webgl2"))&&void 0!==A?A:e.getContext("webgl");if(r){var s=r.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var A=e.ownerDocument.createElement("canvas");A.width=e.offsetWidth,A.height=e.offsetHeight;var t=A.getContext("2d");try{return t&&(t.drawImage(e,0,0,A.width,A.height),this.options.allowTaint||t.getImageData(0,0,A.width,A.height)),A}catch(A){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,A,t){In(A)&&("SCRIPT"===A.tagName||A.hasAttribute(sa)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&In(A)&&Vn(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneChildNodes=function(e,A,t){for(var i=this,n=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;n;n=n.nextSibling)if(In(n)&&Wn(n)&&"function"==typeof n.assignedNodes){var a=n.assignedNodes();a.length&&a.forEach((function(e){return i.appendChildNode(A,e,t)}))}else this.appendChildNode(A,n,t)},e.prototype.cloneNode=function(e,A){if(Tn(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&In(e)&&(Un(e)||Qn(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var n=t.getComputedStyle(e),a=t.getComputedStyle(e,":before"),r=t.getComputedStyle(e,":after");this.referenceElement===e&&Un(i)&&(this.clonedReferenceElement=i),Nn(i)&&Ca(i);var s=this.counters.parse(new Ci(this.context,n)),o=this.resolvePseudoContent(e,i,a,Li.BEFORE);Xn(e)&&(A=!0),Hn(e)||this.cloneChildNodes(e,i,A),o&&i.insertBefore(o,i.firstChild);var l=this.resolvePseudoContent(e,i,r,Li.AFTER);return l&&i.appendChild(l),this.counters.pop(s),(n&&(this.options.copyStyles||Qn(e))&&!Pn(e)||A)&&pa(n,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(Kn(e)||Gn(e))&&(Kn(i)||Gn(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,i){var n=this;if(t){var a=t.content,r=A.ownerDocument;if(r&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==t.display){this.counters.parse(new Ci(this.context,t));var s=new bi(this.context,t),o=r.createElement("html2canvaspseudoelement");pa(t,o),s.content.forEach((function(A){if(0===A.type)o.appendChild(r.createTextNode(A.value));else if(22===A.type){var t=r.createElement("img");t.src=A.value,t.style.opacity="1",o.appendChild(t)}else if(18===A.type){if("attr"===A.name){var i=A.values.filter(Xe);i.length&&o.appendChild(r.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===A.name){var a=A.values.filter(Je),l=a[0],c=a[1];if(l&&Xe(l)){var d=n.counters.getCounterValue(l.value),h=c&&Xe(c)?It.parse(n.context,c.value):3;o.appendChild(r.createTextNode(ra(d,h,!1)))}}else if("counters"===A.name){var u=A.values.filter(Je),g=(l=u[0],u[1]);if(c=u[2],l&&Xe(l)){var p=n.counters.getCounterValues(l.value),m=c&&Xe(c)?It.parse(n.context,c.value):3,w=g&&0===g.type?g.value:"",f=p.map((function(e){return ra(e,m,!1)})).join(w);o.appendChild(r.createTextNode(f))}}}else if(20===A.type)switch(A.value){case"open-quote":o.appendChild(r.createTextNode(pi(s.quotes,n.quoteDepth++,!0)));break;case"close-quote":o.appendChild(r.createTextNode(pi(s.quotes,--n.quoteDepth,!1)));break;default:o.appendChild(r.createTextNode(A.value))}})),o.className=Ba+" "+Ea;var l=i===Li.BEFORE?" "+Ba:" "+Ea;return Qn(A)?A.className.baseValue+=l:A.className+=l,o}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(Li||(Li={}));var la,ca=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(sa,"true"),e.body.appendChild(t),t},da=function(e){return new Promise((function(A){e.complete?A():e.src?(e.onload=A,e.onerror=A):A()}))},ha=function(e){return Promise.all([].slice.call(e.images,0).map(da))},ua=function(e){return new Promise((function(A,t){var i=e.contentWindow;if(!i)return t("No window assigned for iframe");var n=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var t=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(t),A(e))}),50)}}))},ga=["all","d","content"],pa=function(e,A){for(var t=e.length-1;t>=0;t--){var i=e.item(t);-1===ga.indexOf(i)&&A.style.setProperty(i,e.getPropertyValue(i))}return A},ma=function(e){var A="";return e&&(A+=""),A},wa=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},fa=function(e){var A=e[0],t=e[1],i=e[2];A.scrollLeft=t,A.scrollTop=i},Ba="___html2canvas___pseudoelement_before",Ea="___html2canvas___pseudoelement_after",ba='{\n content: "" !important;\n display: none !important;\n}',Ca=function(e){va(e,"."+Ba+":before"+ba+"\n ."+Ea+":after"+ba)},va=function(e,A){var t=e.ownerDocument;if(t){var i=t.createElement("style");i.textContent=A,e.appendChild(i)}},ya=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),Fa=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)?A:ka(e)||Ia(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),A):A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return i(this,void 0,void 0,(function(){var A,t,i,a,r=this;return n(this,(function(n){switch(n.label){case 0:return A=ya.isSameOrigin(e),t=!Ua(e)&&!0===this._options.useCORS&&ji.SUPPORT_CORS_IMAGES&&!A,i=!Ua(e)&&!A&&!ka(e)&&"string"==typeof this._options.proxy&&ji.SUPPORT_CORS_XHR&&!t,A||!1!==this._options.allowTaint||Ua(e)||ka(e)||i||t?(a=e,i?[4,this.proxy(a)]:[3,2]):[2];case 1:a=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,A){var i=new Image;i.onload=function(){return e(i)},i.onerror=A,(Qa(a)||t)&&(i.crossOrigin="anonymous"),i.src=a,!0===i.complete&&setTimeout((function(){return e(i)}),500),r._options.imageTimeout>0&&setTimeout((function(){return A("Timed out ("+r._options.imageTimeout+"ms) loading image")}),r._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(n,a){var r=ji.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===r)n(s.response);else{var e=new FileReader;e.addEventListener("load",(function(){return n(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var o=t.indexOf("?")>-1?"&":"?";if(s.open("GET",""+t+o+"url="+encodeURIComponent(e)+"&responseType="+r),"text"!==r&&s instanceof XMLHttpRequest&&(s.responseType=r),A._options.imageTimeout){var l=A._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+i)}}s.send()}))},e}(),xa=/^data:image\/svg\+xml/i,Sa=/^data:image\/.*;base64,/i,Ta=/^data:image\/.*/i,Ia=function(e){return ji.SUPPORT_SVG_DRAWING||!Ma(e)},Ua=function(e){return Ta.test(e)},Qa=function(e){return Sa.test(e)},ka=function(e){return"blob"===e.substr(0,4)},Ma=function(e){return"svg"===e.substr(-3).toLowerCase()||xa.test(e)},La=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),Oa=function(e,A,t){return new La(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Na=function(){function e(e,A,t,i){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=i}return e.prototype.subdivide=function(A,t){var i=Oa(this.start,this.startControl,A),n=Oa(this.startControl,this.endControl,A),a=Oa(this.endControl,this.end,A),r=Oa(i,n,A),s=Oa(n,a,A),o=Oa(r,s,A);return t?new e(this.start,i,r,o):new e(o,s,a,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Da=function(e){return 1===e.type},Ha=function(e){var A=e.styles,t=e.bounds,i=nA(A.borderTopLeftRadius,t.width,t.height),n=i[0],a=i[1],r=nA(A.borderTopRightRadius,t.width,t.height),s=r[0],o=r[1],l=nA(A.borderBottomRightRadius,t.width,t.height),c=l[0],d=l[1],h=nA(A.borderBottomLeftRadius,t.width,t.height),u=h[0],g=h[1],p=[];p.push((n+s)/t.width),p.push((u+c)/t.width),p.push((a+g)/t.height),p.push((o+d)/t.height);var m=Math.max.apply(Math,p);m>1&&(n/=m,a/=m,s/=m,o/=m,c/=m,d/=m,u/=m,g/=m);var w=t.width-s,f=t.height-d,B=t.width-c,E=t.height-g,b=A.borderTopWidth,C=A.borderRightWidth,v=A.borderBottomWidth,y=A.borderLeftWidth,F=aA(A.paddingTop,e.bounds.width),x=aA(A.paddingRight,e.bounds.width),S=aA(A.paddingBottom,e.bounds.width),T=aA(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||a>0?Ra(t.left+y/3,t.top+b/3,n-y/3,a-b/3,la.TOP_LEFT):new La(t.left+y/3,t.top+b/3),this.topRightBorderDoubleOuterBox=n>0||a>0?Ra(t.left+w,t.top+b/3,s-C/3,o-b/3,la.TOP_RIGHT):new La(t.left+t.width-C/3,t.top+b/3),this.bottomRightBorderDoubleOuterBox=c>0||d>0?Ra(t.left+B,t.top+f,c-C/3,d-v/3,la.BOTTOM_RIGHT):new La(t.left+t.width-C/3,t.top+t.height-v/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?Ra(t.left+y/3,t.top+E,u-y/3,g-v/3,la.BOTTOM_LEFT):new La(t.left+y/3,t.top+t.height-v/3),this.topLeftBorderDoubleInnerBox=n>0||a>0?Ra(t.left+2*y/3,t.top+2*b/3,n-2*y/3,a-2*b/3,la.TOP_LEFT):new La(t.left+2*y/3,t.top+2*b/3),this.topRightBorderDoubleInnerBox=n>0||a>0?Ra(t.left+w,t.top+2*b/3,s-2*C/3,o-2*b/3,la.TOP_RIGHT):new La(t.left+t.width-2*C/3,t.top+2*b/3),this.bottomRightBorderDoubleInnerBox=c>0||d>0?Ra(t.left+B,t.top+f,c-2*C/3,d-2*v/3,la.BOTTOM_RIGHT):new La(t.left+t.width-2*C/3,t.top+t.height-2*v/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?Ra(t.left+2*y/3,t.top+E,u-2*y/3,g-2*v/3,la.BOTTOM_LEFT):new La(t.left+2*y/3,t.top+t.height-2*v/3),this.topLeftBorderStroke=n>0||a>0?Ra(t.left+y/2,t.top+b/2,n-y/2,a-b/2,la.TOP_LEFT):new La(t.left+y/2,t.top+b/2),this.topRightBorderStroke=n>0||a>0?Ra(t.left+w,t.top+b/2,s-C/2,o-b/2,la.TOP_RIGHT):new La(t.left+t.width-C/2,t.top+b/2),this.bottomRightBorderStroke=c>0||d>0?Ra(t.left+B,t.top+f,c-C/2,d-v/2,la.BOTTOM_RIGHT):new La(t.left+t.width-C/2,t.top+t.height-v/2),this.bottomLeftBorderStroke=u>0||g>0?Ra(t.left+y/2,t.top+E,u-y/2,g-v/2,la.BOTTOM_LEFT):new La(t.left+y/2,t.top+t.height-v/2),this.topLeftBorderBox=n>0||a>0?Ra(t.left,t.top,n,a,la.TOP_LEFT):new La(t.left,t.top),this.topRightBorderBox=s>0||o>0?Ra(t.left+w,t.top,s,o,la.TOP_RIGHT):new La(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||d>0?Ra(t.left+B,t.top+f,c,d,la.BOTTOM_RIGHT):new La(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||g>0?Ra(t.left,t.top+E,u,g,la.BOTTOM_LEFT):new La(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||a>0?Ra(t.left+y,t.top+b,Math.max(0,n-y),Math.max(0,a-b),la.TOP_LEFT):new La(t.left+y,t.top+b),this.topRightPaddingBox=s>0||o>0?Ra(t.left+Math.min(w,t.width-C),t.top+b,w>t.width+C?0:Math.max(0,s-C),Math.max(0,o-b),la.TOP_RIGHT):new La(t.left+t.width-C,t.top+b),this.bottomRightPaddingBox=c>0||d>0?Ra(t.left+Math.min(B,t.width-y),t.top+Math.min(f,t.height-v),Math.max(0,c-C),Math.max(0,d-v),la.BOTTOM_RIGHT):new La(t.left+t.width-C,t.top+t.height-v),this.bottomLeftPaddingBox=u>0||g>0?Ra(t.left+y,t.top+Math.min(E,t.height-v),Math.max(0,u-y),Math.max(0,g-v),la.BOTTOM_LEFT):new La(t.left+y,t.top+t.height-v),this.topLeftContentBox=n>0||a>0?Ra(t.left+y+T,t.top+b+F,Math.max(0,n-(y+T)),Math.max(0,a-(b+F)),la.TOP_LEFT):new La(t.left+y+T,t.top+b+F),this.topRightContentBox=s>0||o>0?Ra(t.left+Math.min(w,t.width+y+T),t.top+b+F,w>t.width+y+T?0:s-y+T,o-(b+F),la.TOP_RIGHT):new La(t.left+t.width-(C+x),t.top+b+F),this.bottomRightContentBox=c>0||d>0?Ra(t.left+Math.min(B,t.width-(y+T)),t.top+Math.min(f,t.height+b+F),Math.max(0,c-(C+x)),d-(v+S),la.BOTTOM_RIGHT):new La(t.left+t.width-(C+x),t.top+t.height-(v+S)),this.bottomLeftContentBox=u>0||g>0?Ra(t.left+y+T,t.top+E,Math.max(0,u-(y+T)),g-(v+S),la.BOTTOM_LEFT):new La(t.left+y+T,t.top+t.height-(v+S))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(la||(la={}));var Ra=function(e,A,t,i,n){var a=(Math.sqrt(2)-1)/3*4,r=t*a,s=i*a,o=e+t,l=A+i;switch(n){case la.TOP_LEFT:return new Na(new La(e,l),new La(e,l-s),new La(o-r,A),new La(o,A));case la.TOP_RIGHT:return new Na(new La(e,A),new La(e+r,A),new La(o,l-s),new La(o,l));case la.BOTTOM_RIGHT:return new Na(new La(o,A),new La(o,A+s),new La(e+r,l),new La(e,l));case la.BOTTOM_LEFT:default:return new Na(new La(o,l),new La(o-r,l),new La(e,A+s),new La(e,A))}},Pa=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},Va=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},Ka=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},Ga=function(e,A){this.path=e,this.target=A,this.type=1},Wa=function(e){this.opacity=e,this.type=2,this.target=6},Xa=function(e){return 1===e.type},za=function(e,A){return e.length===A.length&&e.some((function(e,t){return e===A[t]}))},Ya=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},ja=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new Ha(this.container),this.container.styles.opacity<1&&this.effects.push(new Wa(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new Ka(t,i,n))}if(0!==this.container.styles.overflowX){var a=Pa(this.curves),r=Va(this.curves);za(a,r)?this.effects.push(new Ga(a,6)):(this.effects.push(new Ga(a,2)),this.effects.push(new Ga(r,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,i=this.effects.slice(0);t;){var n=t.effects.filter((function(e){return!Xa(e)}));if(A||0!==t.container.styles.position||!t.parent){if(i.unshift.apply(i,n),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var a=Pa(t.curves),r=Va(t.curves);za(a,r)||i.unshift(new Ga(r,6))}}else i.unshift.apply(i,n);t=t.parent}return i.filter((function(A){return li(A.target,e)}))},e}(),Ja=function(e,A,t,i){e.container.elements.forEach((function(n){var a=li(n.flags,4),r=li(n.flags,2),s=new ja(n,e);li(n.styles.display,2048)&&i.push(s);var o=li(n.flags,8)?[]:i;if(a||r){var l=a||n.styles.isPositioned()?t:A,c=new Ya(s);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var d=n.styles.zIndex.order;if(d<0){var h=0;l.negativeZIndex.some((function(e,A){return d>e.element.container.styles.zIndex.order?(h=A,!1):h>0})),l.negativeZIndex.splice(h,0,c)}else if(d>0){var u=0;l.positiveZIndex.some((function(e,A){return d>=e.element.container.styles.zIndex.order?(u=A+1,!1):u>0})),l.positiveZIndex.splice(u,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);Ja(s,c,a?c:t,o)}else n.styles.isInlineLevel()?A.inlineLevel.push(s):A.nonInlineLevel.push(s),Ja(s,A,t,o);li(n.flags,8)&&Za(n,o)}))},Za=function(e,A){for(var t=e instanceof dn?e.start:1,i=e instanceof dn&&e.reversed,n=0;n0&&e.intrinsicHeight>0){var i=Ar(e),n=Va(A);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return i(this,void 0,void 0,(function(){var A,i,a,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(e.getEffects(4)),A=e.container,i=e.curves,a=A.styles,s=0,o=A.textNodes,n.label=1;case 1:return s0&&y>0&&(f=i.ctx.createPattern(p,"repeat"),i.renderRepeat(E,f,x,S))):function(e){return 2===e.type}(t)&&(B=tr(e,A,[null,null,null]),E=B[0],b=B[1],C=B[2],v=B[3],y=B[4],F=0===t.position.length?[tA]:t.position,x=aA(F[0],v),S=aA(F[F.length-1],y),T=function(e,A,t,i,n){var a=0,r=0;switch(e.size){case 0:0===e.shape?a=r=Math.min(Math.abs(A),Math.abs(A-i),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.min(Math.abs(A),Math.abs(A-i)),r=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===e.shape)a=r=Math.min(TA(A,t),TA(A,t-n),TA(A-i,t),TA(A-i,t-n));else if(1===e.shape){var s=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(A),Math.abs(A-i)),o=IA(i,n,A,t,!0),l=o[0],c=o[1];r=s*(a=TA(l-A,(c-t)/s))}break;case 1:0===e.shape?a=r=Math.max(Math.abs(A),Math.abs(A-i),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.max(Math.abs(A),Math.abs(A-i)),r=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===e.shape)a=r=Math.max(TA(A,t),TA(A,t-n),TA(A-i,t),TA(A-i,t-n));else if(1===e.shape){s=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(A),Math.abs(A-i));var d=IA(i,n,A,t,!1);l=d[0],c=d[1],r=s*(a=TA(l-A,(c-t)/s))}}return Array.isArray(e.size)&&(a=aA(e.size[0],i),r=2===e.size.length?aA(e.size[1],n):a),[a,r]}(t,x,S,v,y),I=T[0],U=T[1],I>0&&U>0&&(Q=i.ctx.createRadialGradient(b+x,C+S,0,b+x,C+S,I),xA(t.stops,2*I).forEach((function(e){return Q.addColorStop(e.stop,gA(e.color))})),i.path(E),i.ctx.fillStyle=Q,I!==U?(k=e.bounds.left+.5*e.bounds.width,M=e.bounds.top+.5*e.bounds.height,O=1/(L=U/I),i.ctx.save(),i.ctx.translate(k,M),i.ctx.transform(1,0,0,L,0,0),i.ctx.translate(-k,-M),i.ctx.fillRect(b,O*(C-M)+M,v,y*O),i.ctx.restore()):i.ctx.fill())),n.label=6;case 6:return A--,[2]}}))},i=this,a=0,r=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return a0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,2)]:[3,11]:[3,13];case 4:return n.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,3)];case 6:return n.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,r,e.curves)];case 8:return n.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,r,e.curves)];case 10:n.sent(),n.label=11;case 11:r++,n.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,A,t,a,r){return i(this,void 0,void 0,(function(){var i,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){return this.ctx.save(),i=function(e,A){switch(A){case 0:return _a(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return _a(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return _a(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return _a(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(a,t),s=qa(a,t),2===r&&(this.path(s),this.ctx.clip()),Da(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),Da(s[1])?(c=s[1].end.x,d=s[1].end.y):(c=s[1].x,d=s[1].y),h=0===t||2===t?Math.abs(o-c):Math.abs(l-d),this.ctx.beginPath(),3===r?this.formatPath(i):this.formatPath(s.slice(0,2)),u=A<3?3*A:2*A,g=A<3?2*A:A,3===r&&(u=A,g=A),p=!0,h<=2*u?p=!1:h<=2*u+g?(u*=m=h/(2*u+g),g*=m):(w=Math.floor((h+g)/(u+g)),f=(h-w*u)/(w-1),g=(B=(h-(w+1)*u)/w)<=0||Math.abs(g-f){const a=await tex2dataURL(e,n);if(a){const e=[];e.push({mimeType:a.mimeType,id:A,dataURL:a.dataURL,created:a.created,size:a.size,hasSVGwithBitmap:!1,shouldScale:!0}),i(e,t)}};async function tex2dataURL(e,A){let t=0;for(;!A.mathjax&&!A.mathjaxLoaderFinished&&t<10;)await sleep$1(100),t++;A.mathjaxLoaderFinished||errorlog({where:"text2dataURL",fn:tex2dataURL,message:"mathjaxLoader not ready, using fallback. Try reloading Obsidian or restarting the Excalidraw plugin"});try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){await sleep$1(100);try{return await mathjaxSVG(e,A)}catch(t){return A.mathjax?new obsidian_module.Notice("Unknown error loading LaTeX. Using fallback solution. Try closing and reopening this drawing."):new obsidian_module.Notice("LaTeX support did not load. Using fallback solution. Try checking your network connection."),await mathjaxImage2html(e)}}}}async function mathjaxSVG(e,A){const t=A.mathjax.tex2svg(e,{display:!0,scale:4}).querySelector("svg");if(t){t.width.baseVal.valueInSpecifiedUnits<2&&(t.width.baseVal.valueAsString=`${(t.width.baseVal.valueInSpecifiedUnits+1).toFixed(3)}ex`);const e=svgToBase64(t.outerHTML);return{mimeType:"image/svg+xml",fileId:fileid(),dataURL:e,created:Date.now(),size:await getImageSize(e)}}return null}async function mathjaxImage2html(e){const A=document.body.createDiv();A.style.display="table";const t=window.MathJax.tex2chtml(e,{display:!0,scale:4});t.style.margin="3px",t.style.color="black";const i=t.querySelector("mjx-assistive-mml");i&&i.parentElement.removeChild(i),A.appendChild(t),window.MathJax.typeset();const n=await html2canvas(A,{backgroundColor:null});return document.body.removeChild(A),{mimeType:"image/png",fileId:fileid(),dataURL:n.toDataURL(),created:Date.now(),size:{height:n.height,width:n.width}}}const THEME_FILTER="invert(100%) hue-rotate(180deg) saturate(1.25)",markdownRendererRecursionWatcthdog=new Set,replaceSVGColors=(e,A)=>{if(!A)return e;if("string"==typeof e){for(const[t,i]of Object.entries(A)){const A=new RegExp(`fill="${t}"`,"g");e=e.replaceAll(A,`fill="${i}"`);const n=new RegExp(`stroke="${t}"`,"g");e=e.replaceAll(n,`stroke="${i}"`)}return e}const t=e=>{if(e instanceof SVGElement){const t=e.getAttribute("fill"),i=e.getAttribute("stroke");t&&A[t]&&e.setAttribute("fill",A[t]),i&&A[i]&&e.setAttribute("stroke",A[i])}for(const A of e.childNodes)t(A)};for(const A of e.childNodes)t(A);return e};class EmbeddedFile{constructor(e,A,t,i){if(this.file=null,this.isSVGwithBitmap=!1,this.img="",this.imgInverted="",this.mtime=0,this.mimeType="application/octet-stream",this.size={height:0,width:0},this.attemptCounter=0,this.isHyperlink=!1,this.colorMap=null,this.plugin=e,this.resetImage(A,t),this.file&&(this.plugin.ea.isExcalidrawFile(this.file)||"svg"===this.file.extension.toLowerCase()))try{this.colorMap=i?JSON.parse(i):null}catch(e){this.colorMap=null}}resetImage(e,A){if(this.imgInverted=this.img="",this.mtime=0,A.startsWith("https://")||A.startsWith("http://"))return this.isHyperlink=!0,void(this.hyperlink=A);this.linkParts=getLinkParts(A),this.hostPath=e,this.linkParts.path?(this.linkParts.width||(this.linkParts.width=this.plugin.settings.mdSVGwidth),this.linkParts.height||(this.linkParts.height=this.plugin.settings.mdSVGmaxHeight),this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,e),this.file||0==this.attemptCounter++&&new obsidian_module.Notice(`Excalidraw Warning: could not find image file: ${A}`,5e3)):new obsidian_module.Notice(`Excalidraw Error\nIncorrect embedded filename: ${A}`)}fileChanged(){return!this.isHyperlink&&(this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?this.mtime!=this.file.stat.mtime:(this.attemptCounter++,!1))}setImage(e,A,t,i,n){if(this.file||this.isHyperlink){switch(this.fileChanged()&&(this.imgInverted=this.img=""),this.mtime=this.isHyperlink?0:this.file.stat.mtime,this.size=t,this.mimeType=A,i&&n){case!0:this.imgInverted=e;break;case!1:this.img=e}this.isSVGwithBitmap=n}}isLoaded(e){if(!this.isHyperlink){if(!this.file&&(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),!this.file))return this.attemptCounter++,!0;if(this.fileChanged())return!1}return this.isSVGwithBitmap&&e?""!==this.imgInverted:""!==this.img}getImage(e){return this.file||this.isHyperlink?e&&this.isSVGwithBitmap?this.imgInverted:this.img:""}shouldScale(){return this.isHyperlink||!Boolean(this.linkParts&&this.linkParts.original&&this.linkParts.original.endsWith("|100%"))}}class EmbeddedFilesLoader{constructor(e,A){this.terminate=!1,this.plugin=e,this.isDark=A,this.uid=nanoid()}async getObsidianImage(e,A){if(!this.plugin||!e)return null;const t=e instanceof EmbeddedFile&&e.isHyperlink,i=e instanceof EmbeddedFile?e.hyperlink:"",n=e instanceof EmbeddedFile?e.file:e;if(n&&markdownRendererRecursionWatcthdog.has(n))return new obsidian_module.Notice(`Loading of ${n.path}. Please check if there is an inifinite loop of one file embedded in the other.`),null;const a=t?null:e instanceof EmbeddedFile?e.linkParts:{original:n.path,path:n.path,isBlockRef:!1,ref:null,width:this.plugin.settings.mdSVGwidth,height:this.plugin.settings.mdSVGmaxHeight};let r=!1;const s=!t&&this.plugin.isExcalidrawFile(n);if(!t&&!IMAGE_TYPES.contains(n.extension)&&!s&&"md"!==n.extension)return null;const o=t?null:await app.vault.readBinary(n),l=s?await(async t=>{const i=hasExportTheme(this.plugin,n)?getExportTheme(this.plugin,n,"light"):void 0,a={withBackground:!!hasExportBackground(this.plugin,n)&&getWithBackground(this.plugin,n),withTheme:!!i},s=replaceSVGColors(await createSVG(n.path,!0,a,this,i,null,null,[],this.plugin,A+1,getExportPadding(this.plugin,n)),e instanceof EmbeddedFile?e.colorMap:null),o=s.querySelectorAll("image:not([href^='data:image/svg'])");return o.length>0&&(r=!0),r&&t&&o.forEach((e=>{var A;const t=null===(A=e.parentElement)||void 0===A?void 0:A.id;s.querySelectorAll(`use[href='#${t}']`).forEach((e=>{e.setAttribute("filter",THEME_FILTER)}))})),!r&&s.getAttribute("hasbitmap")&&(r=!0),svgToBase64(s.outerHTML)})(this.isDark):null;let c="image/svg+xml";const d=t?getURLImageExtension(i):n.extension;s||(c=getMimeType(d));let h=t?e instanceof EmbeddedFile?await getDataURLFromURL(e.hyperlink,c):null:null!=l?l:"svg"===n.extension?await getSVGData(app,n,e instanceof EmbeddedFile?e.colorMap:null):"md"===n.extension?null:await getDataURL(o,c);if(!t&&!h){markdownRendererRecursionWatcthdog.add(n);const e=await this.convertMarkdownToSVG(this.plugin,n,a,A);markdownRendererRecursionWatcthdog.delete(n),h=e.dataURL,r=e.hasSVGwithBitmap}try{const e=await getImageSize(h);return{mimeType:c,fileId:await generateIdFromFile(t?(new TextEncoder).encode(h):o),dataURL:h,created:t?0:n.stat.mtime,hasSVGwithBitmap:r,size:e}}catch(e){return null}}async loadSceneFiles(e,A,t){var i,n;if(t>4)return void new obsidian_module.Notice(t$d("INFINITE_LOOP_WARNING")+t.toString(),6e3);const a=e.getFileEntries();let r;void 0===this.isDark&&(this.isDark="dark"===(null===(n=null===(i=null==e?void 0:e.scene)||void 0===i?void 0:i.appState)||void 0===n?void 0:n.theme));const s=[];for(;!this.terminate&&!(r=a.next()).done;){const e=r.value[1];if(e.isLoaded(this.isDark))e.isSVGwithBitmap&&s.push({mimeType:e.mimeType,id:r.value[0],dataURL:e.getImage(this.isDark),created:e.mtime,size:e.size,hasSVGwithBitmap:e.isSVGwithBitmap,shouldScale:e.shouldScale()});else{const A=await this.getObsidianImage(e,t);A&&s.push({mimeType:A.mimeType,id:r.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:A.hasSVGwithBitmap,shouldScale:e.shouldScale()})}}let o;const l=e.getEquationEntries();for(;!this.terminate&&!(o=l.next()).done;)if(!e.getEquation(o.value[0]).isLoaded){const e=o.value[1].latex,A=await tex2dataURL(e,this.plugin);A&&s.push({mimeType:A.mimeType,id:o.value[0],dataURL:A.dataURL,created:A.created,size:A.size,hasSVGwithBitmap:!1,shouldScale:!0})}if(!this.terminate)try{A(s,this.isDark)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}async convertMarkdownToSVG(e,A,t,i){var n,a,r,s;let o=!1;const l=await getTransclusion(t,e.app,A);let c=(null!==(n=l.leadingHashes)&&void 0!==n?n:"")+l.contents;""===c&&(c="# Empty markdown file\nCTRL+Click here to open the file for editing in the current active pane, or CTRL+SHIFT+Click to open it in an adjacent pane.");const d=e.app.metadataCache.getFileCache(A);let h,u=e.settings.mdFont;switch((null==d?void 0:d.frontmatter)&&Boolean(d.frontmatter["excalidraw-font"])&&(u=d.frontmatter["excalidraw-font"]),u){case"Virgil":h=VIRGIL_FONT;break;case"Cascadia":h=CASCADIA_FONT;break;case"":h="";break;default:const t=await getFontDataURL(e.app,u,A.path);h=t.fontDef,u=t.fontName}(null==d?void 0:d.frontmatter)&&null!==d.frontmatter.banner&&(c=c.replace(/banner:\s*.*/,""));const g=(null==d?void 0:d.frontmatter)&&null!==(a=d.frontmatter["excalidraw-font-color"])&&void 0!==a?a:e.settings.mdFontColor;let p=(null==d?void 0:d.frontmatter)&&null!==(r=d.frontmatter["excalidraw-css"])&&void 0!==r?r:"",m=!1;if(p&&""!=p){const t=e.app.metadataCache.getFirstLinkpathDest(p,A.path);t&&(p=await e.app.vault.read(t),m=!0)}if(!m)if(e.settings.mdCSS&&""!==e.settings.mdCSS){const t=e.app.metadataCache.getFirstLinkpathDest(e.settings.mdCSS,A.path);p+=t?`\n${await e.app.vault.read(t)}`:DEFAULT_MD_EMBED_CSS}else p+=DEFAULT_MD_EMBED_CSS;const w=(null==d?void 0:d.frontmatter)&&null!==(s=d.frontmatter["excalidraw-border-color"])&&void 0!==s?s:e.settings.mdBorderColor;w&&""!==w&&!p.match(/svg/i)&&(p+=`svg{border:2px solid;color:${w};transform:scale(.95)}`);let f=` width="${t.width}px" height="100000"`,B=` width="${t.width}px" height="100%"`;const E=(e,A,t)=>`${t?``:""}${e}${A}${""!==h?``:""}`,b=createDiv();b.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),b.setAttribute("class","excalidraw-md-host"),""!==u&&(b.style.fontFamily=u),b.style.overflow="auto",b.style.display="block",b.style.color=g&&""!==g?g:"initial",await obsidian_module.MarkdownRenderer.renderMarkdown(c,b,A.path,e),b.querySelectorAll(":scope > *[class^='frontmatter']").forEach((e=>b.removeChild(e)));const C=Array.from(b.querySelectorAll("span[class='internal-embed']"));for(let t=0;t{const A=e.style,t=window.getComputedStyle(e);let i="";for(const e in A)A.hasOwnProperty(e)&&(i+=`${e}: ${t[e]};`);e.setAttribute("style",i)}));const S=(new XMLSerializer).serializeToString(F),T=(new XMLSerializer).serializeToString(x);document.body.removeChild(v);const I=new DOMParser,U=I.parseFromString(E(S,T),"image/svg+xml").firstElementChild,Q=createDiv();Q.appendChild(U),document.body.appendChild(Q);const k=U.querySelector(".excalidraw-md-footer").scrollHeight,M=U.querySelector(".excalidraw-md-host").scrollHeight+k,L=M<=t.height?M:t.height;document.body.removeChild(Q),f=` width="${t.width}px" height="${L}px"`,B=` width="${t.width}px" height="${L}px"`,b.style.height=L-k+"px",b.style.overflow="hidden";const O=b.querySelectorAll("img:not([src^='data:image/svg+xml'])");O.length>0&&(o=!0),o&&this.isDark&&O.forEach((e=>{e instanceof HTMLImageElement&&(e.style.filter=THEME_FILTER)}));const N=E((new XMLSerializer).serializeToString(b),'',p);return e.ea.mostRecentMarkdownSVG=I.parseFromString(N,"image/svg+xml").firstElementChild,{dataURL:svgToBase64(N),hasSVGwithBitmap:o}}}const getSVGData=async(e,A,t)=>{const i=replaceSVGColors(await e.vault.read(A),t);return svgToBase64(i)},generateIdFromFile=async e=>{let A;try{const t=await window.crypto.subtle.digest("SHA-1",e);A=Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}catch(e){errorlog({where:"EmbeddedFileLoader.generateIdFromFile",error:e}),A=fileid()}return A},{wrapText:wrapText,getFontString:getFontString,getMaxContainerWidth:getMaxContainerWidth,getDefaultLineHeight:getDefaultLineHeight$1}=excalidrawLib;var AutoexportPreference;!function(e){e[e.none=0]="none",e[e.both=1]="both",e[e.png=2]="png",e[e.svg=3]="svg",e[e.inherit=4]="inherit"}(AutoexportPreference||(AutoexportPreference={}));const REGEX_LINK={ +var e=function(t,A){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=t[A])},e(t,A)};function t(t,A){if("function"!=typeof A&&null!==A)throw new TypeError("Class extends value "+String(A)+" is not a constructor or null");function i(){this.constructor=t}e(t,A),t.prototype=null===A?Object.create(A):(i.prototype=A.prototype,new i)}var A=function(){return A=Object.assign||function(e){for(var t,A=1,i=arguments.length;A0&&n[n.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]=55296&&n<=56319&&A>10),r%1024+56320)),(n+1===A||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="undefined"==typeof Uint8Array?[]:new Uint8Array(256),h=0;h=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",B="undefined"==typeof Uint8Array?[]:new Uint8Array(256),E=0;E>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),i=Array.isArray(A)?function(e){for(var t=e.length,A=[],i=0;i0;){var r=i[--a];if(Array.isArray(e)?-1!==e.indexOf(r):e===r)for(var s=A;s<=i.length;){var o;if((o=i[++s])===t)return!0;if(o!==b)break}if(r!==b)break}return!1},ie=function(e,t){for(var A=e;A>=0;){var i=t[A];if(i!==b)return i;A--}return 0},ne=function(e,t,A,i,n){if(0===A[i])return z;var a=i-1;if(Array.isArray(n)&&!0===n[a])return z;var r=a-1,s=a+1,o=t[a],l=r>=0?t[r]:0,c=t[s];if(2===o&&3===c)return z;if(-1!==Z.indexOf(o))return"!";if(-1!==Z.indexOf(c))return z;if(-1!==q.indexOf(c))return z;if(8===ie(a,t))return Y;if(11===j.get(e[a]))return z;if((o===D||o===N)&&11===j.get(e[s]))return z;if(7===o||7===c)return z;if(9===o)return z;if(-1===[b,v,C].indexOf(o)&&9===c)return z;if(-1!==[y,F,x,U,M].indexOf(c))return z;if(ie(a,t)===I)return z;if(Ae(23,I,a,t))return z;if(Ae([y,F],T,a,t))return z;if(Ae(12,12,a,t))return z;if(o===b)return Y;if(23===o||23===c)return z;if(16===c||16===o)return Y;if(-1!==[v,C,T].indexOf(c)||14===o)return z;if(36===l&&-1!==te.indexOf(o))return z;if(o===M&&36===c)return z;if(c===S)return z;if(-1!==J.indexOf(c)&&o===Q||-1!==J.indexOf(o)&&c===Q)return z;if(o===O&&-1!==[P,D,N].indexOf(c)||-1!==[P,D,N].indexOf(o)&&c===k)return z;if(-1!==J.indexOf(o)&&-1!==_.indexOf(c)||-1!==_.indexOf(o)&&-1!==J.indexOf(c))return z;if(-1!==[O,k].indexOf(o)&&(c===Q||-1!==[I,C].indexOf(c)&&t[s+1]===Q)||-1!==[I,C].indexOf(o)&&c===Q||o===Q&&-1!==[Q,M,U].indexOf(c))return z;if(-1!==[Q,M,U,y,F].indexOf(c))for(var d=a;d>=0;){if((h=t[d])===Q)return z;if(-1===[M,U].indexOf(h))break;d--}if(-1!==[O,k].indexOf(c))for(d=-1!==[y,F].indexOf(o)?r:a;d>=0;){var h;if((h=t[d])===Q)return z;if(-1===[M,U].indexOf(h))break;d--}if(V===o&&-1!==[V,K,H,R].indexOf(c)||-1!==[K,H].indexOf(o)&&-1!==[K,G].indexOf(c)||-1!==[G,R].indexOf(o)&&c===G)return z;if(-1!==ee.indexOf(o)&&-1!==[S,k].indexOf(c)||-1!==ee.indexOf(c)&&o===O)return z;if(-1!==J.indexOf(o)&&-1!==J.indexOf(c))return z;if(o===U&&-1!==J.indexOf(c))return z;if(-1!==J.concat(Q).indexOf(o)&&c===I&&-1===X.indexOf(e[s])||-1!==J.concat(Q).indexOf(c)&&o===F)return z;if(41===o&&41===c){for(var u=A[a],g=1;u>0&&41===t[--u];)g++;if(g%2!=0)return z}return o===D&&c===N?z:Y},ae=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var A=function(e,t){void 0===t&&(t="strict");var A=[],i=[],n=[];return e.forEach((function(e,a){var r=j.get(e);if(r>50?(n.push(!0),r-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(a),A.push(16);if(4===r||11===r){if(0===a)return i.push(a),A.push(L);var s=A[a-1];return-1===$.indexOf(s)?(i.push(i[a-1]),A.push(s)):(i.push(a),A.push(L))}return i.push(a),31===r?A.push("strict"===t?T:P):r===W||29===r?A.push(L):43===r?e>=131072&&e<=196605||e>=196608&&e<=262141?A.push(P):A.push(L):void A.push(r)})),[i,A,n]}(e,t.lineBreak),i=A[0],n=A[1],a=A[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(n=n.map((function(e){return-1!==[Q,L,W].indexOf(e)?P:e})));var r="keep-all"===t.wordBreak?a.map((function(t,A){return t&&e[A]>=19968&&e[A]<=40959})):void 0;return[i,n,r]},re=function(){function e(e,t,A,i){this.codePoints=e,this.required="!"===t,this.start=A,this.end=i}return e.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),se=45,oe=43,le=-1,ce=function(e){return e>=48&&e<=57},de=function(e){return ce(e)||e>=65&&e<=70||e>=97&&e<=102},he=function(e){return 10===e||9===e||32===e},ue=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},ge=function(e){return ue(e)||ce(e)||e===se},pe=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},me=function(e,t){return 92===e&&10!==t},we=function(e,t,A){return e===se?ue(t)||me(t,A):!!ue(e)||!(92!==e||!me(e,t))},fe=function(e,t,A){return e===oe||e===se?!!ce(t)||46===t&&ce(A):ce(46===e?t:e)},Be=function(e){var t=0,A=1;e[t]!==oe&&e[t]!==se||(e[t]===se&&(A=-1),t++);for(var i=[];ce(e[t]);)i.push(e[t++]);var n=i.length?parseInt(l.apply(void 0,i),10):0;46===e[t]&&t++;for(var a=[];ce(e[t]);)a.push(e[t++]);var r=a.length,s=r?parseInt(l.apply(void 0,a),10):0;69!==e[t]&&101!==e[t]||t++;var o=1;e[t]!==oe&&e[t]!==se||(e[t]===se&&(o=-1),t++);for(var c=[];ce(e[t]);)c.push(e[t++]);var d=c.length?parseInt(l.apply(void 0,c),10):0;return A*(n+s*Math.pow(10,-r))*Math.pow(10,o*d)},Ee={type:2},be={type:3},ve={type:4},Ce={type:13},ye={type:8},Fe={type:21},xe={type:9},Se={type:10},Te={type:11},Ie={type:12},Ue={type:14},Qe={type:23},ke={type:1},Oe={type:25},Me={type:24},Le={type:26},De={type:27},Ne={type:28},He={type:29},Re={type:31},Pe={type:32},Ve=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(o(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==Pe;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),A=this.peekCodePoint(1),i=this.peekCodePoint(2);if(ge(t)||me(A,i)){var n=we(t,A,i)?2:1;return{type:5,value:this.consumeName(),flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ce;break;case 39:return this.consumeStringToken(39);case 40:return Ee;case 41:return be;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ue;break;case oe:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return ve;case se:var a=e,r=this.peekCodePoint(0),s=this.peekCodePoint(1);if(fe(a,r,s))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(we(a,r,s))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(r===se&&62===s)return this.consumeCodePoint(),this.consumeCodePoint(),Me;break;case 46:if(fe(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint()))return this.consumeToken();if(o===le)return this.consumeToken()}break;case 58:return Le;case 59:return De;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===se&&this.peekCodePoint(2)===se)return this.consumeCodePoint(),this.consumeCodePoint(),Oe;break;case 64:var c=this.peekCodePoint(0),d=this.peekCodePoint(1),h=this.peekCodePoint(2);if(we(c,d,h))return{type:7,value:this.consumeName()};break;case 91:return Ne;case 92:if(me(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return He;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ye;break;case 123:return Te;case 125:return Ie;case 117:case 85:var u=this.peekCodePoint(0),g=this.peekCodePoint(1);return u!==oe||!de(g)&&63!==g||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),xe;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Fe;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Se;break;case le:return Pe}return he(e)?(this.consumeWhiteSpace(),Re):ce(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):ue(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:l(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();de(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var A=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),A=!0;if(A)return{type:30,start:parseInt(l.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(l.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(l.apply(void 0,e),16);if(this.peekCodePoint(0)===se&&de(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var n=[];de(t)&&n.length<6;)n.push(t),t=this.consumeCodePoint();return{type:30,start:i,end:parseInt(l.apply(void 0,n),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===le)return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var A=this.consumeStringToken(this.consumeCodePoint());return 0===A.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:A.value}):(this.consumeBadUrlRemnants(),Qe)}for(;;){var i=this.consumeCodePoint();if(i===le||41===i)return{type:22,value:l.apply(void 0,e)};if(he(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===le||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:l.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Qe);if(34===i||39===i||40===i||pe(i))return this.consumeBadUrlRemnants(),Qe;if(92===i){if(!me(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Qe;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;he(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===le)return;me(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var A=Math.min(5e4,e);t+=l.apply(void 0,this._value.splice(0,A)),e-=A}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",A=0;;){var i=this._value[A];if(i===le||void 0===i||i===e)return{type:0,value:t+=this.consumeStringSlice(A)};if(10===i)return this._value.splice(0,A),ke;if(92===i){var n=this._value[A+1];n!==le&&void 0!==n&&(10===n?(t+=this.consumeStringSlice(A),A=-1,this._value.shift()):me(i,n)&&(t+=this.consumeStringSlice(A),t+=l(this.consumeEscapedCodePoint()),A=-1))}A++}},e.prototype.consumeNumber=function(){var e=[],t=4,A=this.peekCodePoint(0);for(A!==oe&&A!==se||e.push(this.consumeCodePoint());ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===A&&ce(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());A=this.peekCodePoint(0),i=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===A||101===A)&&((i===oe||i===se)&&ce(n)||ce(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;ce(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Be(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],A=e[1],i=this.peekCodePoint(0),n=this.peekCodePoint(1),a=this.peekCodePoint(2);return we(i,n,a)?{type:15,number:t,flags:A,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:t,flags:A}):{type:17,number:t,flags:A}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(de(e)){for(var t=l(e);de(this.peekCodePoint(0))&&t.length<6;)t+=l(this.consumeCodePoint());he(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(t,16);return 0===A||function(e){return e>=55296&&e<=57343}(A)||A>1114111?65533:A}return e===le?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(ge(t))e+=l(t);else{if(!me(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=l(this.consumeEscapedCodePoint())}}},e}(),Ke=function(){function e(e){this._tokens=e}return e.create=function(t){var A=new Ve;return A.write(t),new e(A.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},A=this.consumeToken();;){if(32===A.type||qe(A,e))return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue()),A=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var A=this.consumeToken();if(32===A.type||3===A.type)return t;this.reconsumeToken(A),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?Pe:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Ge=function(e){return 15===e.type},We=function(e){return 17===e.type},Xe=function(e){return 20===e.type},ze=function(e){return 0===e.type},Ye=function(e,t){return Xe(e)&&e.value===t},je=function(e){return 31!==e.type},Je=function(e){return 31!==e.type&&4!==e.type},Ze=function(e){var t=[],A=[];return e.forEach((function(e){if(4===e.type){if(0===A.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(A),void(A=[])}31!==e.type&&A.push(e)})),A.length&&t.push(A),t},qe=function(e,t){return 11===t&&12===e.type||28===t&&29===e.type||2===t&&3===e.type},_e=function(e){return 17===e.type||15===e.type},$e=function(e){return 16===e.type||_e(e)},et=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},tt={type:17,number:0,flags:4},At={type:16,number:50,flags:4},it={type:16,number:100,flags:4},nt=function(e,t,A){var i=e[0],n=e[1];return[at(i,t),at(void 0!==n?n:i,A)]},at=function(e,t){if(16===e.type)return e.number/100*t;if(Ge(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},rt="grad",st="turn",ot=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case rt:return Math.PI/200*t.number;case"rad":return t.number;case st:return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},lt=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rt||"rad"===e.unit||e.unit===st)},ct=function(e){switch(e.filter(Xe).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[tt,tt];case"to top":case"bottom":return dt(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[tt,it];case"to right":case"left":return dt(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[it,it];case"to bottom":case"top":return dt(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[it,tt];case"to left":case"right":return dt(270)}return 0},dt=function(e){return Math.PI*e/180},ht=function(e,t){if(18===t.type){var A=Et[t.name];if(void 0===A)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return A(e,t.values)}if(5===t.type){if(3===t.value.length){var i=t.value.substring(0,1),n=t.value.substring(1,2),a=t.value.substring(2,3);return pt(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),1)}if(4===t.value.length){i=t.value.substring(0,1),n=t.value.substring(1,2),a=t.value.substring(2,3);var r=t.value.substring(3,4);return pt(parseInt(i+i,16),parseInt(n+n,16),parseInt(a+a,16),parseInt(r+r,16)/255)}if(6===t.value.length)return i=t.value.substring(0,2),n=t.value.substring(2,4),a=t.value.substring(4,6),pt(parseInt(i,16),parseInt(n,16),parseInt(a,16),1);if(8===t.value.length)return i=t.value.substring(0,2),n=t.value.substring(2,4),a=t.value.substring(4,6),r=t.value.substring(6,8),pt(parseInt(i,16),parseInt(n,16),parseInt(a,16),parseInt(r,16)/255)}if(20===t.type){var s=vt[t.value.toUpperCase()];if(void 0!==s)return s}return vt.TRANSPARENT},ut=function(e){return 0==(255&e)},gt=function(e){var t=255&e,A=255&e>>8,i=255&e>>16,n=255&e>>24;return t<255?"rgba("+n+","+i+","+A+","+t/255+")":"rgb("+n+","+i+","+A+")"},pt=function(e,t,A,i){return(e<<24|t<<16|A<<8|Math.round(255*i)<<0)>>>0},mt=function(e,t){if(17===e.type)return e.number;if(16===e.type){var A=3===t?1:255;return 3===t?e.number/100*A:Math.round(e.number/100*A)}return 0},wt=function(e,t){var A=t.filter(Je);if(3===A.length){var i=A.map(mt),n=i[0],a=i[1],r=i[2];return pt(n,a,r,1)}if(4===A.length){var s=A.map(mt),o=(n=s[0],a=s[1],r=s[2],s[3]);return pt(n,a,r,o)}return 0};function ft(e,t,A){return A<0&&(A+=1),A>=1&&(A-=1),A<1/6?(t-e)*A*6+e:A<.5?t:A<2/3?6*(t-e)*(2/3-A)+e:e}var Bt=function(e,t){var A=t.filter(Je),i=A[0],n=A[1],a=A[2],r=A[3],s=(17===i.type?dt(i.number):ot(e,i))/(2*Math.PI),o=$e(n)?n.number/100:0,l=$e(a)?a.number/100:0,c=void 0!==r&&$e(r)?at(r,1):1;if(0===o)return pt(255*l,255*l,255*l,1);var d=l<=.5?l*(o+1):l+o-l*o,h=2*l-d,u=ft(h,d,s+1/3),g=ft(h,d,s),p=ft(h,d,s-1/3);return pt(255*u,255*g,255*p,c)},Et={hsl:Bt,hsla:Bt,rgb:wt,rgba:wt},bt=function(e,t){return ht(e,Ke.create(t).parseComponentValue())},vt={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Ct={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},yt={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Ft=function(e,t){var A=ht(e,t[0]),i=t[1];return i&&$e(i)?{color:A,stop:i}:{color:A,stop:null}},xt=function(e,t){var A=e[0],i=e[e.length-1];null===A.stop&&(A.stop=tt),null===i.stop&&(i.stop=it);for(var n=[],a=0,r=0;ra?n.push(o):n.push(a),a=o}else n.push(null)}var l=null;for(r=0;re.optimumDistance)?{optimumCorner:t,optimumDistance:s}:e}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},Ut=function(e,t){var A=dt(180),i=[];return Ze(t).forEach((function(t,n){if(0===n){var a=t[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(A=ct(t));if(lt(a))return void(A=(ot(e,a)+dt(270))%dt(360))}var r=Ft(e,t);i.push(r)})),{angle:A,stops:i,type:1}},Qt="closest-side",kt="farthest-side",Ot="closest-corner",Mt="farthest-corner",Lt="circle",Dt="ellipse",Nt="cover",Ht="contain",Rt=function(e,t){var A=0,i=3,n=[],a=[];return Ze(t).forEach((function(t,r){var s=!0;if(0===r?s=t.reduce((function(e,t){if(Xe(t))switch(t.value){case"center":return a.push(At),!1;case"top":case"left":return a.push(tt),!1;case"right":case"bottom":return a.push(it),!1}else if($e(t)||_e(t))return a.push(t),!1;return e}),s):1===r&&(s=t.reduce((function(e,t){if(Xe(t))switch(t.value){case Lt:return A=0,!1;case Dt:return A=1,!1;case Ht:case Qt:return i=0,!1;case kt:return i=1,!1;case Ot:return i=2,!1;case Nt:case Mt:return i=3,!1}else if(_e(t)||$e(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),s)),s){var o=Ft(e,t);n.push(o)}})),{size:i,shape:A,stops:n,position:a,type:2}},Pt=function(e,t){if(22===t.type){var A={url:t.value,type:0};return e.cache.addImage(t.value),A}if(18===t.type){var i=Kt[t.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return i(e,t.values)}throw new Error("Unsupported image type "+t.type)};var Vt,Kt={"linear-gradient":function(e,t){var A=dt(180),i=[];return Ze(t).forEach((function(t,n){if(0===n){var a=t[0];if(20===a.type&&"to"===a.value)return void(A=ct(t));if(lt(a))return void(A=ot(e,a))}var r=Ft(e,t);i.push(r)})),{angle:A,stops:i,type:1}},"-moz-linear-gradient":Ut,"-ms-linear-gradient":Ut,"-o-linear-gradient":Ut,"-webkit-linear-gradient":Ut,"radial-gradient":function(e,t){var A=0,i=3,n=[],a=[];return Ze(t).forEach((function(t,r){var s=!0;if(0===r){var o=!1;s=t.reduce((function(e,t){if(o)if(Xe(t))switch(t.value){case"center":return a.push(At),e;case"top":case"left":return a.push(tt),e;case"right":case"bottom":return a.push(it),e}else($e(t)||_e(t))&&a.push(t);else if(Xe(t))switch(t.value){case Lt:return A=0,!1;case Dt:return A=1,!1;case"at":return o=!0,!1;case Qt:return i=0,!1;case Nt:case kt:return i=1,!1;case Ht:case Ot:return i=2,!1;case Mt:return i=3,!1}else if(_e(t)||$e(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),s)}if(s){var l=Ft(e,t);n.push(l)}})),{size:i,shape:A,stops:n,position:a,type:2}},"-moz-radial-gradient":Rt,"-ms-radial-gradient":Rt,"-o-radial-gradient":Rt,"-webkit-radial-gradient":Rt,"-webkit-gradient":function(e,t){var A=dt(180),i=[],n=1;return Ze(t).forEach((function(t,A){var a=t[0];if(0===A){if(Xe(a)&&"linear"===a.value)return void(n=1);if(Xe(a)&&"radial"===a.value)return void(n=2)}if(18===a.type)if("from"===a.name){var r=ht(e,a.values[0]);i.push({stop:tt,color:r})}else if("to"===a.name)r=ht(e,a.values[0]),i.push({stop:it,color:r});else if("color-stop"===a.name){var s=a.values.filter(Je);if(2===s.length){r=ht(e,s[1]);var o=s[0];We(o)&&i.push({stop:{type:16,number:100*o.number,flags:o.flags},color:r})}}})),1===n?{angle:(A+dt(180))%dt(360),stops:i,type:n}:{size:3,shape:0,stops:i,position:[],type:n}}},Gt={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var A=t[0];return 20===A.type&&"none"===A.value?[]:t.filter((function(e){return Je(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!Kt[e.name])}(e)})).map((function(t){return Pt(e,t)}))}},Wt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Xe(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Xt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return Ze(t).map((function(e){return e.filter($e)})).map(et)}},zt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return Ze(t).map((function(e){return e.filter(Xe).map((function(e){return e.value})).join(" ")})).map(Yt)}},Yt=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(Vt||(Vt={}));var jt,Jt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return Ze(t).map((function(e){return e.filter(Zt)}))}},Zt=function(e){return Xe(e)||$e(e)},qt=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},_t=qt("top"),$t=qt("right"),eA=qt("bottom"),tA=qt("left"),AA=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return et(t.filter($e))}}},iA=AA("top-left"),nA=AA("top-right"),aA=AA("bottom-right"),rA=AA("bottom-left"),sA=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},oA=sA("top"),lA=sA("right"),cA=sA("bottom"),dA=sA("left"),hA=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Ge(t)?t.number:0}}},uA=hA("top"),gA=hA("right"),pA=hA("bottom"),mA=hA("left"),wA={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},fA={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},BA={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Xe).reduce((function(e,t){return e|EA(t.value)}),0)}},EA=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},bA={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},vA={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(jt||(jt={}));var CA,yA={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?jt.STRICT:jt.NORMAL}},FA={name:"line-height",initialValue:"normal",prefix:!1,type:4},xA=function(e,t){return Xe(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:$e(e)?at(e,t):t},SA={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:Pt(e,t)}},TA={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},IA={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},UA=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},QA=UA("top"),kA=UA("right"),OA=UA("bottom"),MA=UA("left"),LA={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Xe).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},DA={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},NA=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},HA=NA("top"),RA=NA("right"),PA=NA("bottom"),VA=NA("left"),KA={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},GA={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},WA={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Ye(t[0],"none")?[]:Ze(t).map((function(t){for(var A={color:vt.TRANSPARENT,offsetX:tt,offsetY:tt,blur:tt},i=0,n=0;n1?1:0],this.overflowWrap=Ci(e,DA,t.overflowWrap),this.paddingTop=Ci(e,HA,t.paddingTop),this.paddingRight=Ci(e,RA,t.paddingRight),this.paddingBottom=Ci(e,PA,t.paddingBottom),this.paddingLeft=Ci(e,VA,t.paddingLeft),this.paintOrder=Ci(e,wi,t.paintOrder),this.position=Ci(e,GA,t.position),this.textAlign=Ci(e,KA,t.textAlign),this.textDecorationColor=Ci(e,Ai,null!==(A=t.textDecorationColor)&&void 0!==A?A:t.color),this.textDecorationLine=Ci(e,ii,null!==(i=t.textDecorationLine)&&void 0!==i?i:t.textDecoration),this.textShadow=Ci(e,WA,t.textShadow),this.textTransform=Ci(e,XA,t.textTransform),this.transform=Ci(e,zA,t.transform),this.transformOrigin=Ci(e,ZA,t.transformOrigin),this.visibility=Ci(e,qA,t.visibility),this.webkitTextStrokeColor=Ci(e,fi,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Ci(e,Bi,t.webkitTextStrokeWidth),this.wordBreak=Ci(e,_A,t.wordBreak),this.zIndex=Ci(e,$A,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return ut(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return li(this.display,4)||li(this.display,33554432)||li(this.display,268435456)||li(this.display,536870912)||li(this.display,67108864)||li(this.display,134217728)},e}(),bi=function(e,t){this.content=Ci(e,ci,t.content),this.quotes=Ci(e,gi,t.quotes)},vi=function(e,t){this.counterIncrement=Ci(e,di,t.counterIncrement),this.counterReset=Ci(e,hi,t.counterReset)},Ci=function(e,t,A){var i=new Ve,n=null!=A?A.toString():t.initialValue;i.write(n);var a=new Ke(i.read());switch(t.type){case 2:var r=a.parseComponentValue();return t.parse(e,Xe(r)?r.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case"angle":return ot(e,a.parseComponentValue());case"color":return ht(e,a.parseComponentValue());case"image":return Pt(e,a.parseComponentValue());case"length":var s=a.parseComponentValue();return _e(s)?s:tt;case"length-percentage":var o=a.parseComponentValue();return $e(o)?o:tt;case"time":return ei.parse(e,a.parseComponentValue())}}},yi=function(e,t){var A=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===A||t===A},Fi=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,yi(t,3),this.styles=new Ei(e,window.getComputedStyle(t,null)),Un(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=s(this.context,t),yi(t,4)&&(this.flags|=16)},xi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Si="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Ti=0;Ti=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Qi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ki="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Oi=0;Oi>10),r%1024+56320)),(n+1===A||i.length>16384)&&(a+=String.fromCharCode.apply(String,i),i.length=0)}return a},Pi=function(e,t){var A=function(e){var t,A,i,n,a,r=.75*e.length,s=e.length,o=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);var l="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(r):new Array(r),c=Array.isArray(l)?l:new Uint8Array(l);for(t=0;t>4,c[o++]=(15&i)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l}(e),i=Array.isArray(A)?function(e){for(var t=e.length,A=[],i=0;i=55296&&n<=56319&&A=A)return{done:!0,value:null};for(var e=Vi;ir.x||n.y>r.y;return r=n,0===t||s}));return e.body.removeChild(t),s}(document);return Object.defineProperty(ji,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,A=e.createElement("canvas"),i=A.getContext("2d");if(!i)return!1;t.src="data:image/svg+xml,";try{i.drawImage(t,0,0),A.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(ji,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),A=100;t.width=A,t.height=A;var i=t.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,A,A);var n=new Image,a=t.toDataURL();n.src=a;var r=zi(A,A,0,0,n);return i.fillStyle="red",i.fillRect(0,0,A,A),Yi(r).then((function(t){i.drawImage(t,0,0);var n=i.getImageData(0,0,A,A).data;i.fillStyle="red",i.fillRect(0,0,A,A);var r=e.createElement("div");return r.style.backgroundImage="url("+a+")",r.style.height="100px",Xi(n)?Yi(zi(A,A,0,0,r)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),Xi(i.getImageData(0,0,A,A).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(ji,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(ji,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(ji,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ji,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(ji,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ji=function(e,t){this.text=e,this.bounds=t},Zi=function(e,t){var A=t.ownerDocument;if(A){var i=A.createElement("html2canvaswrapper");i.appendChild(t.cloneNode(!0));var n=t.parentNode;if(n){n.replaceChild(i,t);var a=s(e,i);return i.firstChild&&n.replaceChild(i.firstChild,i),a}}return r.EMPTY},qi=function(e,t,A){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var n=i.createRange();return n.setStart(e,t),n.setEnd(e,t+A),n},_i=function(e){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,A=Wi(e),i=[];!(t=A.next()).done;)t.value&&i.push(t.value.slice());return i}(e)},$i=function(e,t){return 0!==t.letterSpacing?_i(e):function(e,t){if(ji.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(A.segment(e)).map((function(e){return e.segment}))}return tn(e,t)}(e,t)},en=[32,160,4961,65792,65793,4153,4241],tn=function(e,t){for(var A,i=function(e,t){var A=o(e),i=ae(A,t),n=i[0],a=i[1],r=i[2],s=A.length,l=0,c=0;return{next:function(){if(c>=s)return{done:!0,value:null};for(var e=z;c0)if(ji.SUPPORT_RANGE_BOUNDS){var n=qi(i,s,t.length).getClientRects();if(n.length>1){var o=_i(t),l=0;o.forEach((function(t){a.push(new Ji(t,r.fromDOMRectList(e,qi(i,l+s,t.length).getClientRects()))),l+=t.length}))}else a.push(new Ji(t,r.fromDOMRectList(e,n)))}else{var c=i.splitText(t.length);a.push(new Ji(t,Zi(e,i))),i=c}else ji.SUPPORT_RANGE_BOUNDS||(i=i.splitText(t.length));s+=t.length})),a}(e,this.text,A,t)},nn=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(an,rn);case 2:return e.toUpperCase();default:return e}},an=/(^|\s|:|-|\(|\))([a-z])/g,rn=function(e,t,A){return e.length>0?t+A.toUpperCase():e},sn=function(e){function A(t,A){var i=e.call(this,t,A)||this;return i.src=A.currentSrc||A.src,i.intrinsicWidth=A.naturalWidth,i.intrinsicHeight=A.naturalHeight,i.context.cache.addImage(i.src),i}return t(A,e),A}(Fi),on=function(e){function A(t,A){var i=e.call(this,t,A)||this;return i.canvas=A,i.intrinsicWidth=A.width,i.intrinsicHeight=A.height,i}return t(A,e),A}(Fi),ln=function(e){function A(t,A){var i=e.call(this,t,A)||this,n=new XMLSerializer,a=s(t,A);return A.setAttribute("width",a.width+"px"),A.setAttribute("height",a.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(A)),i.intrinsicWidth=A.width.baseVal.value,i.intrinsicHeight=A.height.baseVal.value,i.context.cache.addImage(i.svg),i}return t(A,e),A}(Fi),cn=function(e){function A(t,A){var i=e.call(this,t,A)||this;return i.value=A.value,i}return t(A,e),A}(Fi),dn=function(e){function A(t,A){var i=e.call(this,t,A)||this;return i.start=A.start,i.reversed="boolean"==typeof A.reversed&&!0===A.reversed,i}return t(A,e),A}(Fi),hn=[{type:15,flags:0,unit:"px",number:3}],un=[{type:16,flags:0,number:50}],gn="checkbox",pn="radio",mn="password",wn=707406591,fn=function(e){function A(t,A){var i,n,a,s=e.call(this,t,A)||this;switch(s.type=A.type.toLowerCase(),s.checked=A.checked,s.value=0===(a=(n=A).type===mn?new Array(n.value.length+1).join("•"):n.value).length?n.placeholder||"":a,s.type!==gn&&s.type!==pn||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(i=s.bounds).width>i.height?new r(i.left+(i.width-i.height)/2,i.top,i.height,i.height):i.width0)A.textNodes.push(new An(e,n,A.styles));else if(In(n))if(Wn(n)&&n.assignedNodes)n.assignedNodes().forEach((function(t){return Cn(e,t,A,i)}));else{var r=yn(e,n);r.styles.isVisible()&&(xn(n,r,i)?r.flags|=4:Sn(r.styles)&&(r.flags|=2),-1!==vn.indexOf(n.tagName)&&(r.flags|=8),A.elements.push(r),n.slot,n.shadowRoot?Cn(e,n.shadowRoot,r,i):Kn(n)||Ln(n)||Gn(n)||Cn(e,n,r,i))}},yn=function(e,t){return Rn(t)?new sn(e,t):Nn(t)?new on(e,t):Ln(t)?new ln(e,t):kn(t)?new cn(e,t):On(t)?new dn(e,t):Mn(t)?new fn(e,t):Gn(t)?new Bn(e,t):Kn(t)?new En(e,t):Pn(t)?new bn(e,t):new Fi(e,t)},Fn=function(e,t){var A=yn(e,t);return A.flags|=4,Cn(e,t,A,A),A},xn=function(e,t,A){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Dn(e)&&A.styles.isTransparent()},Sn=function(e){return e.isPositioned()||e.isFloating()},Tn=function(e){return e.nodeType===Node.TEXT_NODE},In=function(e){return e.nodeType===Node.ELEMENT_NODE},Un=function(e){return In(e)&&void 0!==e.style&&!Qn(e)},Qn=function(e){return"object"==typeof e.className},kn=function(e){return"LI"===e.tagName},On=function(e){return"OL"===e.tagName},Mn=function(e){return"INPUT"===e.tagName},Ln=function(e){return"svg"===e.tagName},Dn=function(e){return"BODY"===e.tagName},Nn=function(e){return"CANVAS"===e.tagName},Hn=function(e){return"VIDEO"===e.tagName},Rn=function(e){return"IMG"===e.tagName},Pn=function(e){return"IFRAME"===e.tagName},Vn=function(e){return"STYLE"===e.tagName},Kn=function(e){return"TEXTAREA"===e.tagName},Gn=function(e){return"SELECT"===e.tagName},Wn=function(e){return"SLOT"===e.tagName},Xn=function(e){return e.tagName.indexOf("-")>0},zn=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,A=e.counterIncrement,i=e.counterReset,n=!0;null!==A&&A.forEach((function(e){var A=t.counters[e.counter];A&&0!==e.increment&&(n=!1,A.length||A.push(1),A[Math.max(0,A.length-1)]+=e.increment)}));var a=[];return n&&i.forEach((function(e){var A=t.counters[e.counter];a.push(e.counter),A||(A=t.counters[e.counter]=[]),A.push(e.reset)})),a},e}(),Yn={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},jn={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Jn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Zn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},qn=function(e,t,A,i,n,a){return eA?ra(e,n,a.length>0):i.integers.reduce((function(t,A,n){for(;e>=A;)e-=A,t+=i.values[n];return t}),"")+a},_n=function(e,t,A,i){var n="";do{A||e--,n=i(e)+n,e/=t}while(e*t>=t);return n},$n=function(e,t,A,i,n){var a=A-t+1;return(e<0?"-":"")+(_n(Math.abs(e),a,i,(function(e){return l(Math.floor(e%a)+t)}))+n)},ea=function(e,t,A){void 0===A&&(A=". ");var i=t.length;return _n(Math.abs(e),i,!1,(function(e){return t[Math.floor(e%i)]}))+A},ta=function(e,t,A,i,n,a){if(e<-9999||e>9999)return ra(e,4,n.length>0);var r=Math.abs(e),s=n;if(0===r)return t[0]+s;for(var o=0;r>0&&o<=4;o++){var l=r%10;0===l&&li(a,1)&&""!==s?s=t[l]+s:l>1||1===l&&0===o||1===l&&1===o&&li(a,2)||1===l&&1===o&&li(a,4)&&e>100||1===l&&o>1&&li(a,8)?s=t[l]+(o>0?A[o-1]:"")+s:1===l&&o>0&&(s=A[o-1]+s),r=Math.floor(r/10)}return(e<0?i:"")+s},Aa="十百千萬",ia="拾佰仟萬",na="マイナス",aa="마이너스",ra=function(e,t,A){var i=A?". ":"",n=A?"、":"",a=A?", ":"",r=A?" ":"";switch(t){case 0:return"•"+r;case 1:return"◦"+r;case 2:return"◾"+r;case 5:var s=$n(e,48,57,!0,i);return s.length<4?"0"+s:s;case 4:return ea(e,"〇一二三四五六七八九",n);case 6:return qn(e,1,3999,Yn,3,i).toLowerCase();case 7:return qn(e,1,3999,Yn,3,i);case 8:return $n(e,945,969,!1,i);case 9:return $n(e,97,122,!1,i);case 10:return $n(e,65,90,!1,i);case 11:return $n(e,1632,1641,!0,i);case 12:case 49:return qn(e,1,9999,jn,3,i);case 35:return qn(e,1,9999,jn,3,i).toLowerCase();case 13:return $n(e,2534,2543,!0,i);case 14:case 30:return $n(e,6112,6121,!0,i);case 15:return ea(e,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return ea(e,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return ta(e,"零一二三四五六七八九",Aa,"負",n,14);case 47:return ta(e,"零壹貳參肆伍陸柒捌玖",ia,"負",n,15);case 42:return ta(e,"零一二三四五六七八九",Aa,"负",n,14);case 41:return ta(e,"零壹贰叁肆伍陆柒捌玖",ia,"负",n,15);case 26:return ta(e,"〇一二三四五六七八九","十百千万",na,n,0);case 25:return ta(e,"零壱弐参四伍六七八九","拾百千万",na,n,7);case 31:return ta(e,"영일이삼사오육칠팔구","십백천만",aa,a,7);case 33:return ta(e,"零一二三四五六七八九","十百千萬",aa,a,0);case 32:return ta(e,"零壹貳參四五六七八九","拾百千",aa,a,7);case 18:return $n(e,2406,2415,!0,i);case 20:return qn(e,1,19999,Zn,3,i);case 21:return $n(e,2790,2799,!0,i);case 22:return $n(e,2662,2671,!0,i);case 22:return qn(e,1,10999,Jn,3,i);case 23:return ea(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return ea(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return $n(e,3302,3311,!0,i);case 28:return ea(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return ea(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return $n(e,3792,3801,!0,i);case 37:return $n(e,6160,6169,!0,i);case 38:return $n(e,4160,4169,!0,i);case 39:return $n(e,2918,2927,!0,i);case 40:return $n(e,1776,1785,!0,i);case 43:return $n(e,3046,3055,!0,i);case 44:return $n(e,3174,3183,!0,i);case 45:return $n(e,3664,3673,!0,i);case 46:return $n(e,3872,3881,!0,i);default:return $n(e,48,57,!0,i)}},sa="data-html2canvas-ignore",oa=function(){function e(e,t,A){if(this.context=e,this.options=A,this.scrolledElements=[],this.referenceElement=t,this.counters=new zn,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var A=this,a=ca(e,t);if(!a.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,o=a.contentWindow,l=o.document,c=ua(a).then((function(){return i(A,void 0,void 0,(function(){var e,A;return n(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(fa),o&&(o.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||o.scrollY===t.top&&o.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(o.scrollX-t.left,o.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(A=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,ha(l)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(l,A)})).then((function(){return a}))]:[2,a]}}))}))}));return l.open(),l.write(ma(document.doctype)+""),wa(this.referenceElement.ownerDocument,r,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),c},e.prototype.createElementClone=function(e){if(yi(e,2),Nn(e))return this.createCanvasClone(e);if(Hn(e))return this.createVideoClone(e);if(Vn(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return Rn(t)&&(Rn(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),Xn(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return pa(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var A=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=A,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var A=e.ownerDocument.createElement("img");try{return A.src=e.toDataURL(),A}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var n=e.getContext("2d"),a=i.getContext("2d");if(a)if(!this.options.allowTaint&&n)a.putImageData(n.getImageData(0,0,e.width,e.height),0,0);else{var r=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(r){var s=r.getContextAttributes();!1===(null==s?void 0:s.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return i}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var A=t.getContext("2d");try{return A&&(A.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||A.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,t,A){In(t)&&("SCRIPT"===t.tagName||t.hasAttribute(sa)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&In(t)&&Vn(t)||e.appendChild(this.cloneNode(t,A))},e.prototype.cloneChildNodes=function(e,t,A){for(var i=this,n=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;n;n=n.nextSibling)if(In(n)&&Wn(n)&&"function"==typeof n.assignedNodes){var a=n.assignedNodes();a.length&&a.forEach((function(e){return i.appendChildNode(t,e,A)}))}else this.appendChildNode(t,n,A)},e.prototype.cloneNode=function(e,t){if(Tn(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var A=e.ownerDocument.defaultView;if(A&&In(e)&&(Un(e)||Qn(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var n=A.getComputedStyle(e),a=A.getComputedStyle(e,":before"),r=A.getComputedStyle(e,":after");this.referenceElement===e&&Un(i)&&(this.clonedReferenceElement=i),Dn(i)&&va(i);var s=this.counters.parse(new vi(this.context,n)),o=this.resolvePseudoContent(e,i,a,Mi.BEFORE);Xn(e)&&(t=!0),Hn(e)||this.cloneChildNodes(e,i,t),o&&i.insertBefore(o,i.firstChild);var l=this.resolvePseudoContent(e,i,r,Mi.AFTER);return l&&i.appendChild(l),this.counters.pop(s),(n&&(this.options.copyStyles||Qn(e))&&!Pn(e)||t)&&pa(n,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(Kn(e)||Gn(e))&&(Kn(i)||Gn(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,A,i){var n=this;if(A){var a=A.content,r=t.ownerDocument;if(r&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==A.display){this.counters.parse(new vi(this.context,A));var s=new bi(this.context,A),o=r.createElement("html2canvaspseudoelement");pa(A,o),s.content.forEach((function(t){if(0===t.type)o.appendChild(r.createTextNode(t.value));else if(22===t.type){var A=r.createElement("img");A.src=t.value,A.style.opacity="1",o.appendChild(A)}else if(18===t.type){if("attr"===t.name){var i=t.values.filter(Xe);i.length&&o.appendChild(r.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===t.name){var a=t.values.filter(Je),l=a[0],c=a[1];if(l&&Xe(l)){var d=n.counters.getCounterValue(l.value),h=c&&Xe(c)?IA.parse(n.context,c.value):3;o.appendChild(r.createTextNode(ra(d,h,!1)))}}else if("counters"===t.name){var u=t.values.filter(Je),g=(l=u[0],u[1]);if(c=u[2],l&&Xe(l)){var p=n.counters.getCounterValues(l.value),m=c&&Xe(c)?IA.parse(n.context,c.value):3,w=g&&0===g.type?g.value:"",f=p.map((function(e){return ra(e,m,!1)})).join(w);o.appendChild(r.createTextNode(f))}}}else if(20===t.type)switch(t.value){case"open-quote":o.appendChild(r.createTextNode(pi(s.quotes,n.quoteDepth++,!0)));break;case"close-quote":o.appendChild(r.createTextNode(pi(s.quotes,--n.quoteDepth,!1)));break;default:o.appendChild(r.createTextNode(t.value))}})),o.className=Ba+" "+Ea;var l=i===Mi.BEFORE?" "+Ba:" "+Ea;return Qn(t)?t.className.baseValue+=l:t.className+=l,o}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(Mi||(Mi={}));var la,ca=function(e,t){var A=e.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=t.width.toString(),A.height=t.height.toString(),A.scrolling="no",A.setAttribute(sa,"true"),e.body.appendChild(A),A},da=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},ha=function(e){return Promise.all([].slice.call(e.images,0).map(da))},ua=function(e){return new Promise((function(t,A){var i=e.contentWindow;if(!i)return A("No window assigned for iframe");var n=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var A=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(A),t(e))}),50)}}))},ga=["all","d","content"],pa=function(e,t){for(var A=e.length-1;A>=0;A--){var i=e.item(A);-1===ga.indexOf(i)&&t.style.setProperty(i,e.getPropertyValue(i))}return t},ma=function(e){var t="";return e&&(t+=""),t},wa=function(e,t,A){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||A!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,A)},fa=function(e){var t=e[0],A=e[1],i=e[2];t.scrollLeft=A,t.scrollTop=i},Ba="___html2canvas___pseudoelement_before",Ea="___html2canvas___pseudoelement_after",ba='{\n content: "" !important;\n display: none !important;\n}',va=function(e){Ca(e,"."+Ba+":before"+ba+"\n ."+Ea+":after"+ba)},Ca=function(e,t){var A=e.ownerDocument;if(A){var i=A.createElement("style");i.textContent=t,e.appendChild(i)}},ya=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Fa=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:ka(e)||Ia(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return i(this,void 0,void 0,(function(){var t,A,i,a,r=this;return n(this,(function(n){switch(n.label){case 0:return t=ya.isSameOrigin(e),A=!Ua(e)&&!0===this._options.useCORS&&ji.SUPPORT_CORS_IMAGES&&!t,i=!Ua(e)&&!t&&!ka(e)&&"string"==typeof this._options.proxy&&ji.SUPPORT_CORS_XHR&&!A,t||!1!==this._options.allowTaint||Ua(e)||ka(e)||i||A?(a=e,i?[4,this.proxy(a)]:[3,2]):[2];case 1:a=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var i=new Image;i.onload=function(){return e(i)},i.onerror=t,(Qa(a)||A)&&(i.crossOrigin="anonymous"),i.src=a,!0===i.complete&&setTimeout((function(){return e(i)}),500),r._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+r._options.imageTimeout+"ms) loading image")}),r._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,A=this._options.proxy;if(!A)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(n,a){var r=ji.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;s.onload=function(){if(200===s.status)if("text"===r)n(s.response);else{var e=new FileReader;e.addEventListener("load",(function(){return n(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(s.response)}else a("Failed to proxy resource "+i+" with status code "+s.status)},s.onerror=a;var o=A.indexOf("?")>-1?"&":"?";if(s.open("GET",""+A+o+"url="+encodeURIComponent(e)+"&responseType="+r),"text"!==r&&s instanceof XMLHttpRequest&&(s.responseType=r),t._options.imageTimeout){var l=t._options.imageTimeout;s.timeout=l,s.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+i)}}s.send()}))},e}(),xa=/^data:image\/svg\+xml/i,Sa=/^data:image\/.*;base64,/i,Ta=/^data:image\/.*/i,Ia=function(e){return ji.SUPPORT_SVG_DRAWING||!Oa(e)},Ua=function(e){return Ta.test(e)},Qa=function(e){return Sa.test(e)},ka=function(e){return"blob"===e.substr(0,4)},Oa=function(e){return"svg"===e.substr(-3).toLowerCase()||xa.test(e)},Ma=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),La=function(e,t,A){return new Ma(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},Da=function(){function e(e,t,A,i){this.type=1,this.start=e,this.startControl=t,this.endControl=A,this.end=i}return e.prototype.subdivide=function(t,A){var i=La(this.start,this.startControl,t),n=La(this.startControl,this.endControl,t),a=La(this.endControl,this.end,t),r=La(i,n,t),s=La(n,a,t),o=La(r,s,t);return A?new e(this.start,i,r,o):new e(o,s,a,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Na=function(e){return 1===e.type},Ha=function(e){var t=e.styles,A=e.bounds,i=nt(t.borderTopLeftRadius,A.width,A.height),n=i[0],a=i[1],r=nt(t.borderTopRightRadius,A.width,A.height),s=r[0],o=r[1],l=nt(t.borderBottomRightRadius,A.width,A.height),c=l[0],d=l[1],h=nt(t.borderBottomLeftRadius,A.width,A.height),u=h[0],g=h[1],p=[];p.push((n+s)/A.width),p.push((u+c)/A.width),p.push((a+g)/A.height),p.push((o+d)/A.height);var m=Math.max.apply(Math,p);m>1&&(n/=m,a/=m,s/=m,o/=m,c/=m,d/=m,u/=m,g/=m);var w=A.width-s,f=A.height-d,B=A.width-c,E=A.height-g,b=t.borderTopWidth,v=t.borderRightWidth,C=t.borderBottomWidth,y=t.borderLeftWidth,F=at(t.paddingTop,e.bounds.width),x=at(t.paddingRight,e.bounds.width),S=at(t.paddingBottom,e.bounds.width),T=at(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||a>0?Ra(A.left+y/3,A.top+b/3,n-y/3,a-b/3,la.TOP_LEFT):new Ma(A.left+y/3,A.top+b/3),this.topRightBorderDoubleOuterBox=n>0||a>0?Ra(A.left+w,A.top+b/3,s-v/3,o-b/3,la.TOP_RIGHT):new Ma(A.left+A.width-v/3,A.top+b/3),this.bottomRightBorderDoubleOuterBox=c>0||d>0?Ra(A.left+B,A.top+f,c-v/3,d-C/3,la.BOTTOM_RIGHT):new Ma(A.left+A.width-v/3,A.top+A.height-C/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?Ra(A.left+y/3,A.top+E,u-y/3,g-C/3,la.BOTTOM_LEFT):new Ma(A.left+y/3,A.top+A.height-C/3),this.topLeftBorderDoubleInnerBox=n>0||a>0?Ra(A.left+2*y/3,A.top+2*b/3,n-2*y/3,a-2*b/3,la.TOP_LEFT):new Ma(A.left+2*y/3,A.top+2*b/3),this.topRightBorderDoubleInnerBox=n>0||a>0?Ra(A.left+w,A.top+2*b/3,s-2*v/3,o-2*b/3,la.TOP_RIGHT):new Ma(A.left+A.width-2*v/3,A.top+2*b/3),this.bottomRightBorderDoubleInnerBox=c>0||d>0?Ra(A.left+B,A.top+f,c-2*v/3,d-2*C/3,la.BOTTOM_RIGHT):new Ma(A.left+A.width-2*v/3,A.top+A.height-2*C/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?Ra(A.left+2*y/3,A.top+E,u-2*y/3,g-2*C/3,la.BOTTOM_LEFT):new Ma(A.left+2*y/3,A.top+A.height-2*C/3),this.topLeftBorderStroke=n>0||a>0?Ra(A.left+y/2,A.top+b/2,n-y/2,a-b/2,la.TOP_LEFT):new Ma(A.left+y/2,A.top+b/2),this.topRightBorderStroke=n>0||a>0?Ra(A.left+w,A.top+b/2,s-v/2,o-b/2,la.TOP_RIGHT):new Ma(A.left+A.width-v/2,A.top+b/2),this.bottomRightBorderStroke=c>0||d>0?Ra(A.left+B,A.top+f,c-v/2,d-C/2,la.BOTTOM_RIGHT):new Ma(A.left+A.width-v/2,A.top+A.height-C/2),this.bottomLeftBorderStroke=u>0||g>0?Ra(A.left+y/2,A.top+E,u-y/2,g-C/2,la.BOTTOM_LEFT):new Ma(A.left+y/2,A.top+A.height-C/2),this.topLeftBorderBox=n>0||a>0?Ra(A.left,A.top,n,a,la.TOP_LEFT):new Ma(A.left,A.top),this.topRightBorderBox=s>0||o>0?Ra(A.left+w,A.top,s,o,la.TOP_RIGHT):new Ma(A.left+A.width,A.top),this.bottomRightBorderBox=c>0||d>0?Ra(A.left+B,A.top+f,c,d,la.BOTTOM_RIGHT):new Ma(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=u>0||g>0?Ra(A.left,A.top+E,u,g,la.BOTTOM_LEFT):new Ma(A.left,A.top+A.height),this.topLeftPaddingBox=n>0||a>0?Ra(A.left+y,A.top+b,Math.max(0,n-y),Math.max(0,a-b),la.TOP_LEFT):new Ma(A.left+y,A.top+b),this.topRightPaddingBox=s>0||o>0?Ra(A.left+Math.min(w,A.width-v),A.top+b,w>A.width+v?0:Math.max(0,s-v),Math.max(0,o-b),la.TOP_RIGHT):new Ma(A.left+A.width-v,A.top+b),this.bottomRightPaddingBox=c>0||d>0?Ra(A.left+Math.min(B,A.width-y),A.top+Math.min(f,A.height-C),Math.max(0,c-v),Math.max(0,d-C),la.BOTTOM_RIGHT):new Ma(A.left+A.width-v,A.top+A.height-C),this.bottomLeftPaddingBox=u>0||g>0?Ra(A.left+y,A.top+Math.min(E,A.height-C),Math.max(0,u-y),Math.max(0,g-C),la.BOTTOM_LEFT):new Ma(A.left+y,A.top+A.height-C),this.topLeftContentBox=n>0||a>0?Ra(A.left+y+T,A.top+b+F,Math.max(0,n-(y+T)),Math.max(0,a-(b+F)),la.TOP_LEFT):new Ma(A.left+y+T,A.top+b+F),this.topRightContentBox=s>0||o>0?Ra(A.left+Math.min(w,A.width+y+T),A.top+b+F,w>A.width+y+T?0:s-y+T,o-(b+F),la.TOP_RIGHT):new Ma(A.left+A.width-(v+x),A.top+b+F),this.bottomRightContentBox=c>0||d>0?Ra(A.left+Math.min(B,A.width-(y+T)),A.top+Math.min(f,A.height+b+F),Math.max(0,c-(v+x)),d-(C+S),la.BOTTOM_RIGHT):new Ma(A.left+A.width-(v+x),A.top+A.height-(C+S)),this.bottomLeftContentBox=u>0||g>0?Ra(A.left+y+T,A.top+E,Math.max(0,u-(y+T)),g-(C+S),la.BOTTOM_LEFT):new Ma(A.left+y+T,A.top+A.height-(C+S))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(la||(la={}));var Ra=function(e,t,A,i,n){var a=(Math.sqrt(2)-1)/3*4,r=A*a,s=i*a,o=e+A,l=t+i;switch(n){case la.TOP_LEFT:return new Da(new Ma(e,l),new Ma(e,l-s),new Ma(o-r,t),new Ma(o,t));case la.TOP_RIGHT:return new Da(new Ma(e,t),new Ma(e+r,t),new Ma(o,l-s),new Ma(o,l));case la.BOTTOM_RIGHT:return new Da(new Ma(o,t),new Ma(o,t+s),new Ma(e+r,l),new Ma(e,l));case la.BOTTOM_LEFT:default:return new Da(new Ma(o,l),new Ma(o-r,l),new Ma(e,t+s),new Ma(e,t))}},Pa=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},Va=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},Ka=function(e,t,A){this.offsetX=e,this.offsetY=t,this.matrix=A,this.type=0,this.target=6},Ga=function(e,t){this.path=e,this.target=t,this.type=1},Wa=function(e){this.opacity=e,this.type=2,this.target=6},Xa=function(e){return 1===e.type},za=function(e,t){return e.length===t.length&&e.some((function(e,A){return e===t[A]}))},Ya=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},ja=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Ha(this.container),this.container.styles.opacity<1&&this.effects.push(new Wa(this.container.styles.opacity)),null!==this.container.styles.transform){var A=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new Ka(A,i,n))}if(0!==this.container.styles.overflowX){var a=Pa(this.curves),r=Va(this.curves);za(a,r)?this.effects.push(new Ga(a,6)):(this.effects.push(new Ga(a,2)),this.effects.push(new Ga(r,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),A=this.parent,i=this.effects.slice(0);A;){var n=A.effects.filter((function(e){return!Xa(e)}));if(t||0!==A.container.styles.position||!A.parent){if(i.unshift.apply(i,n),t=-1===[2,3].indexOf(A.container.styles.position),0!==A.container.styles.overflowX){var a=Pa(A.curves),r=Va(A.curves);za(a,r)||i.unshift(new Ga(r,6))}}else i.unshift.apply(i,n);A=A.parent}return i.filter((function(t){return li(t.target,e)}))},e}(),Ja=function(e,t,A,i){e.container.elements.forEach((function(n){var a=li(n.flags,4),r=li(n.flags,2),s=new ja(n,e);li(n.styles.display,2048)&&i.push(s);var o=li(n.flags,8)?[]:i;if(a||r){var l=a||n.styles.isPositioned()?A:t,c=new Ya(s);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var d=n.styles.zIndex.order;if(d<0){var h=0;l.negativeZIndex.some((function(e,t){return d>e.element.container.styles.zIndex.order?(h=t,!1):h>0})),l.negativeZIndex.splice(h,0,c)}else if(d>0){var u=0;l.positiveZIndex.some((function(e,t){return d>=e.element.container.styles.zIndex.order?(u=t+1,!1):u>0})),l.positiveZIndex.splice(u,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);Ja(s,c,a?c:A,o)}else n.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),Ja(s,t,A,o);li(n.flags,8)&&Za(n,o)}))},Za=function(e,t){for(var A=e instanceof dn?e.start:1,i=e instanceof dn&&e.reversed,n=0;n0&&e.intrinsicHeight>0){var i=tr(e),n=Va(t);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return i(this,void 0,void 0,(function(){var t,i,a,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,i=e.curves,a=t.styles,s=0,o=t.textNodes,n.label=1;case 1:return s0&&y>0&&(f=i.ctx.createPattern(p,"repeat"),i.renderRepeat(E,f,x,S))):function(e){return 2===e.type}(A)&&(B=Ar(e,t,[null,null,null]),E=B[0],b=B[1],v=B[2],C=B[3],y=B[4],F=0===A.position.length?[At]:A.position,x=at(F[0],C),S=at(F[F.length-1],y),T=function(e,t,A,i,n){var a=0,r=0;switch(e.size){case 0:0===e.shape?a=r=Math.min(Math.abs(t),Math.abs(t-i),Math.abs(A),Math.abs(A-n)):1===e.shape&&(a=Math.min(Math.abs(t),Math.abs(t-i)),r=Math.min(Math.abs(A),Math.abs(A-n)));break;case 2:if(0===e.shape)a=r=Math.min(Tt(t,A),Tt(t,A-n),Tt(t-i,A),Tt(t-i,A-n));else if(1===e.shape){var s=Math.min(Math.abs(A),Math.abs(A-n))/Math.min(Math.abs(t),Math.abs(t-i)),o=It(i,n,t,A,!0),l=o[0],c=o[1];r=s*(a=Tt(l-t,(c-A)/s))}break;case 1:0===e.shape?a=r=Math.max(Math.abs(t),Math.abs(t-i),Math.abs(A),Math.abs(A-n)):1===e.shape&&(a=Math.max(Math.abs(t),Math.abs(t-i)),r=Math.max(Math.abs(A),Math.abs(A-n)));break;case 3:if(0===e.shape)a=r=Math.max(Tt(t,A),Tt(t,A-n),Tt(t-i,A),Tt(t-i,A-n));else if(1===e.shape){s=Math.max(Math.abs(A),Math.abs(A-n))/Math.max(Math.abs(t),Math.abs(t-i));var d=It(i,n,t,A,!1);l=d[0],c=d[1],r=s*(a=Tt(l-t,(c-A)/s))}}return Array.isArray(e.size)&&(a=at(e.size[0],i),r=2===e.size.length?at(e.size[1],n):a),[a,r]}(A,x,S,C,y),I=T[0],U=T[1],I>0&&U>0&&(Q=i.ctx.createRadialGradient(b+x,v+S,0,b+x,v+S,I),xt(A.stops,2*I).forEach((function(e){return Q.addColorStop(e.stop,gt(e.color))})),i.path(E),i.ctx.fillStyle=Q,I!==U?(k=e.bounds.left+.5*e.bounds.width,O=e.bounds.top+.5*e.bounds.height,L=1/(M=U/I),i.ctx.save(),i.ctx.translate(k,O),i.ctx.transform(1,0,0,M,0,0),i.ctx.translate(-k,-O),i.ctx.fillRect(b,L*(v-O)+O,C,y*L),i.ctx.restore()):i.ctx.fill())),n.label=6;case 6:return t--,[2]}}))},i=this,a=0,r=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return a0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,2)]:[3,11]:[3,13];case 4:return n.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,r,e.curves,3)];case 6:return n.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,r,e.curves)];case 8:return n.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,r,e.curves)];case 10:n.sent(),n.label=11;case 11:r++,n.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},A.prototype.renderDashedDottedBorder=function(e,t,A,a,r){return i(this,void 0,void 0,(function(){var i,s,o,l,c,d,h,u,g,p,m,w,f,B,E,b;return n(this,(function(n){return this.ctx.save(),i=function(e,t){switch(t){case 0:return _a(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return _a(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return _a(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return _a(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(a,A),s=qa(a,A),2===r&&(this.path(s),this.ctx.clip()),Na(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),Na(s[1])?(c=s[1].end.x,d=s[1].end.y):(c=s[1].x,d=s[1].y),h=0===A||2===A?Math.abs(o-c):Math.abs(l-d),this.ctx.beginPath(),3===r?this.formatPath(i):this.formatPath(s.slice(0,2)),u=t<3?3*t:2*t,g=t<3?2*t:t,3===r&&(u=t,g=t),p=!0,h<=2*u?p=!1:h<=2*u+g?(u*=m=h/(2*u+g),g*=m):(w=Math.floor((h+g)/(u+g)),f=(h-w*u)/(w-1),g=(B=(h-(w+1)*u)/w)<=0||Math.abs(g-f){const a=await tex2dataURL(e,n);if(a){const e=[];e.push({mimeType:a.mimeType,id:t,dataURL:a.dataURL,created:a.created,size:a.size,hasSVGwithBitmap:!1,shouldScale:!0}),i(e,A)}};async function tex2dataURL(e,t){let A=0;for(;!t.mathjax&&!t.mathjaxLoaderFinished&&A<10;)await sleep$1(100),A++;t.mathjaxLoaderFinished||errorlog({where:"text2dataURL",fn:tex2dataURL,message:"mathjaxLoader not ready, using fallback. Try reloading Obsidian or restarting the Excalidraw plugin"});try{return await mathjaxSVG(e,t)}catch(A){await sleep$1(100);try{return await mathjaxSVG(e,t)}catch(A){await sleep$1(100);try{return await mathjaxSVG(e,t)}catch(A){return t.mathjax?new obsidian_module.Notice("Unknown error loading LaTeX. Using fallback solution. Try closing and reopening this drawing."):new obsidian_module.Notice("LaTeX support did not load. Using fallback solution. Try checking your network connection."),await mathjaxImage2html(e)}}}}async function mathjaxSVG(e,t){const A=t.mathjax.tex2svg(e,{display:!0,scale:4}).querySelector("svg");if(A){A.width.baseVal.valueInSpecifiedUnits<2&&(A.width.baseVal.valueAsString=`${(A.width.baseVal.valueInSpecifiedUnits+1).toFixed(3)}ex`);const e=svgToBase64(A.outerHTML);return{mimeType:"image/svg+xml",fileId:fileid(),dataURL:e,created:Date.now(),size:await getImageSize(e)}}return null}async function mathjaxImage2html(e){const t=document.body.createDiv();t.style.display="table";const A=window.MathJax.tex2chtml(e,{display:!0,scale:4});A.style.margin="3px",A.style.color="black";const i=A.querySelector("mjx-assistive-mml");i&&i.parentElement.removeChild(i),t.appendChild(A),window.MathJax.typeset();const n=await html2canvas(t,{backgroundColor:null});return document.body.removeChild(t),{mimeType:"image/png",fileId:fileid(),dataURL:n.toDataURL(),created:Date.now(),size:{height:n.height,width:n.width}}}const THEME_FILTER="invert(100%) hue-rotate(180deg) saturate(1.25)",markdownRendererRecursionWatcthdog=new Set,replaceSVGColors=(e,t)=>{if(!t)return e;if("string"==typeof e){for(const[A,i]of Object.entries(t)){const t=new RegExp(`fill="${A}"`,"g");e=e.replaceAll(t,`fill="${i}"`);const n=new RegExp(`stroke="${A}"`,"g");e=e.replaceAll(n,`stroke="${i}"`)}return e}const A=e=>{if(e instanceof SVGElement){const A=e.getAttribute("fill"),i=e.getAttribute("stroke");A&&t[A]&&e.setAttribute("fill",t[A]),i&&t[i]&&e.setAttribute("stroke",t[i])}for(const t of e.childNodes)A(t)};for(const t of e.childNodes)A(t);return e};class EmbeddedFile{constructor(e,t,A,i){if(this.file=null,this.isSVGwithBitmap=!1,this.img="",this.imgInverted="",this.mtime=0,this.mimeType="application/octet-stream",this.size={height:0,width:0},this.attemptCounter=0,this.isHyperlink=!1,this.colorMap=null,this.plugin=e,this.resetImage(t,A),this.file&&(this.plugin.ea.isExcalidrawFile(this.file)||"svg"===this.file.extension.toLowerCase()))try{this.colorMap=i?JSON.parse(i):null}catch(e){this.colorMap=null}}resetImage(e,t){if(this.imgInverted=this.img="",this.mtime=0,t.startsWith("https://")||t.startsWith("http://"))return this.isHyperlink=!0,void(this.hyperlink=t);this.linkParts=getLinkParts(t),this.hostPath=e,this.linkParts.path?(this.linkParts.width||(this.linkParts.width=this.plugin.settings.mdSVGwidth),this.linkParts.height||(this.linkParts.height=this.plugin.settings.mdSVGmaxHeight),this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,e),this.file||0==this.attemptCounter++&&new obsidian_module.Notice(`Excalidraw Warning: could not find image file: ${t}`,5e3)):new obsidian_module.Notice(`Excalidraw Error\nIncorrect embedded filename: ${t}`)}fileChanged(){return!this.isHyperlink&&(this.file||(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),this.file)?this.mtime!=this.file.stat.mtime:(this.attemptCounter++,!1))}setImage(e,t,A,i,n){if(this.file||this.isHyperlink){switch(this.fileChanged()&&(this.imgInverted=this.img=""),this.mtime=this.isHyperlink?0:this.file.stat.mtime,this.size=A,this.mimeType=t,i&&n){case!0:this.imgInverted=e;break;case!1:this.img=e}this.isSVGwithBitmap=n}}isLoaded(e){if(!this.isHyperlink){if(!this.file&&(this.file=app.metadataCache.getFirstLinkpathDest(this.linkParts.path,this.hostPath),!this.file))return this.attemptCounter++,!0;if(this.fileChanged())return!1}return this.isSVGwithBitmap&&e?""!==this.imgInverted:""!==this.img}getImage(e){return this.file||this.isHyperlink?e&&this.isSVGwithBitmap?this.imgInverted:this.img:""}shouldScale(){return this.isHyperlink||!Boolean(this.linkParts&&this.linkParts.original&&this.linkParts.original.endsWith("|100%"))}}class EmbeddedFilesLoader{constructor(e,t){this.pdfDocsMap=new Map,this.terminate=!1,this.plugin=e,this.isDark=t,this.uid=nanoid()}emptyPDFDocsMap(){this.pdfDocsMap.forEach((e=>e.destroy())),this.pdfDocsMap.clear()}async getObsidianImage(e,t){const A=await this._getObsidianImage(e,t);return this.emptyPDFDocsMap(),A}async _getObsidianImage(e,t){var A;if(!this.plugin||!e)return null;const i=e instanceof EmbeddedFile&&e.isHyperlink,n=e instanceof EmbeddedFile?e.hyperlink:"",a=e instanceof EmbeddedFile?e.file:e;if(a&&markdownRendererRecursionWatcthdog.has(a))return new obsidian_module.Notice(`Loading of ${a.path}. Please check if there is an inifinite loop of one file embedded in the other.`),null;const r=i?null:e instanceof EmbeddedFile?e.linkParts:{original:a.path,path:a.path,isBlockRef:!1,ref:null,width:this.plugin.settings.mdSVGwidth,height:this.plugin.settings.mdSVGmaxHeight,page:null};let s=!1;const o=!i&&this.plugin.isExcalidrawFile(a),l=!i&&"pdf"===a.extension.toLowerCase();if(!(i||l||IMAGE_TYPES.contains(a.extension)||o||"md"===a.extension))return null;const c=i||l?null:await app.vault.readBinary(a),d=o?await(async A=>{const i=hasExportTheme(this.plugin,a)?getExportTheme(this.plugin,a,"light"):void 0,n={withBackground:!!hasExportBackground(this.plugin,a)&&getWithBackground(this.plugin,a),withTheme:!!i},r=replaceSVGColors(await createSVG(a.path,!0,n,this,i,null,null,[],this.plugin,t+1,getExportPadding(this.plugin,a)),e instanceof EmbeddedFile?e.colorMap:null),o=r.querySelectorAll("image:not([href^='data:image/svg'])");return o.length>0&&(s=!0),s&&A&&o.forEach((e=>{var t;const A=null===(t=e.parentElement)||void 0===t?void 0:t.id;r.querySelectorAll(`use[href='#${A}']`).forEach((e=>{e.setAttribute("filter",THEME_FILTER)}))})),!s&&r.getAttribute("hasbitmap")&&(s=!0),svgToBase64(r.outerHTML)})(this.isDark):null,[h,u]=l?await this.pdfToDataURL(a,r):[null,null];let g=l?"image/png":"image/svg+xml";const p=i?getURLImageExtension(n):a.extension;o||l||(g=getMimeType(p));let m=i?e instanceof EmbeddedFile?await getDataURLFromURL(e.hyperlink,g):null:null!==(A=null!=d?d:h)&&void 0!==A?A:"svg"===a.extension?await getSVGData(app,a,e instanceof EmbeddedFile?e.colorMap:null):"md"===a.extension?null:await getDataURL(c,g);if(!i&&!m){markdownRendererRecursionWatcthdog.add(a);const e=await this.convertMarkdownToSVG(this.plugin,a,r,t);markdownRendererRecursionWatcthdog.delete(a),m=e.dataURL,s=e.hasSVGwithBitmap}try{const e=l?u:await getImageSize(m);return{mimeType:g,fileId:await generateIdFromFile(i||l?(new TextEncoder).encode(m):c),dataURL:m,created:i?0:a.stat.mtime,hasSVGwithBitmap:s,size:e}}catch(e){return null}}async loadSceneFiles(e,t,A){var i,n;if(A>4)return void new obsidian_module.Notice(t$d("INFINITE_LOOP_WARNING")+A.toString(),6e3);const a=e.getFileEntries();let r;void 0===this.isDark&&(this.isDark="dark"===(null===(n=null===(i=null==e?void 0:e.scene)||void 0===i?void 0:i.appState)||void 0===n?void 0:n.theme));const s=[];for(;!this.terminate&&!(r=a.next()).done;){const e=r.value[1];if(e.isLoaded(this.isDark)){if(e.isSVGwithBitmap){const A={mimeType:e.mimeType,id:r.value[0],dataURL:e.getImage(this.isDark),created:e.mtime,size:e.size,hasSVGwithBitmap:e.isSVGwithBitmap,shouldScale:e.shouldScale()};try{t([A],this.isDark,!1)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}}else{const i=await this._getObsidianImage(e,A);if(i){const A={mimeType:i.mimeType,id:r.value[0],dataURL:i.dataURL,created:i.created,size:i.size,hasSVGwithBitmap:i.hasSVGwithBitmap,shouldScale:e.shouldScale()};try{t([A],this.isDark,!1)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}}}let o;const l=e.getEquationEntries();for(;!this.terminate&&!(o=l.next()).done;)if(!e.getEquation(o.value[0]).isLoaded){const e=o.value[1].latex,t=await tex2dataURL(e,this.plugin);if(t){const e={mimeType:t.mimeType,id:o.value[0],dataURL:t.dataURL,created:t.created,size:t.size,hasSVGwithBitmap:!1,shouldScale:!0};s.push(e)}}if(this.emptyPDFDocsMap(),!this.terminate)try{t(s,this.isDark,!0)}catch(e){errorlog({where:"EmbeddedFileLoader.loadSceneFiles",error:e})}}async pdfToDataURL(e,t){var A,i;try{let n=0,a=0;const r=null!==(A=this.pdfDocsMap.get(e.path))&&void 0!==A?A:await getPDFDoc(e);this.pdfDocsMap.has(e.path)||this.pdfDocsMap.set(e.path,r);const s=isNaN(t.page)?1:null!==(i=t.page)&&void 0!==i?i:1,o=this.plugin.settings.pdfScale,l=async e=>{const t=createEl("canvas"),A=t.getContext("2d"),i=await r.getPage(e),s=i.getViewport({scale:o});a=t.height=s.height,n=t.width=s.width;const l={canvasContext:A,background:"rgba(0,0,0,0)",viewport:s};return await i.render(l).promise,t},c=await l(s);if(c){const e=[`data:image/png;base64,${await new Promise(((e,t)=>{c.toBlob((async t=>{const A=await blobToBase64(t);e(A)}))}))}`,{width:n,height:a}];return c.width=0,c.height=0,e}}catch(e){return console.log(e),[null,null]}}async convertMarkdownToSVG(e,t,A,i){var n,a,r,s;let o=!1;const l=await getTransclusion(A,e.app,t);let c=(null!==(n=l.leadingHashes)&&void 0!==n?n:"")+l.contents;""===c&&(c="# Empty markdown file\nCTRL+Click here to open the file for editing in the current active pane, or CTRL+SHIFT+Click to open it in an adjacent pane.");const d=e.app.metadataCache.getFileCache(t);let h,u=e.settings.mdFont;switch((null==d?void 0:d.frontmatter)&&Boolean(d.frontmatter["excalidraw-font"])&&(u=d.frontmatter["excalidraw-font"]),u){case"Virgil":h=VIRGIL_FONT;break;case"Cascadia":h=CASCADIA_FONT;break;case"":h="";break;default:const A=await getFontDataURL(e.app,u,t.path);h=A.fontDef,u=A.fontName}(null==d?void 0:d.frontmatter)&&null!==d.frontmatter.banner&&(c=c.replace(/banner:\s*.*/,""));const g=(null==d?void 0:d.frontmatter)&&null!==(a=d.frontmatter["excalidraw-font-color"])&&void 0!==a?a:e.settings.mdFontColor;let p=(null==d?void 0:d.frontmatter)&&null!==(r=d.frontmatter["excalidraw-css"])&&void 0!==r?r:"",m=!1;if(p&&""!=p){const A=e.app.metadataCache.getFirstLinkpathDest(p,t.path);A&&(p=await e.app.vault.read(A),m=!0)}if(!m)if(e.settings.mdCSS&&""!==e.settings.mdCSS){const A=e.app.metadataCache.getFirstLinkpathDest(e.settings.mdCSS,t.path);p+=A?`\n${await e.app.vault.read(A)}`:DEFAULT_MD_EMBED_CSS}else p+=DEFAULT_MD_EMBED_CSS;const w=(null==d?void 0:d.frontmatter)&&null!==(s=d.frontmatter["excalidraw-border-color"])&&void 0!==s?s:e.settings.mdBorderColor;w&&""!==w&&!p.match(/svg/i)&&(p+=`svg{border:2px solid;color:${w};transform:scale(.95)}`);let f=` width="${A.width}px" height="100000"`,B=` width="${A.width}px" height="100%"`;const E=(e,t,A)=>`${A?``:""}${e}${t}${""!==h?``:""}`,b=createDiv();b.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),b.setAttribute("class","excalidraw-md-host"),""!==u&&(b.style.fontFamily=u),b.style.overflow="auto",b.style.display="block",b.style.color=g&&""!==g?g:"initial",await obsidian_module.MarkdownRenderer.renderMarkdown(c,b,t.path,e),b.querySelectorAll(":scope > *[class^='frontmatter']").forEach((e=>b.removeChild(e)));const v=Array.from(b.querySelectorAll("span[class='internal-embed']"));for(let A=0;A{const t=e.style,A=window.getComputedStyle(e);let i="";for(const e in t)t.hasOwnProperty(e)&&(i+=`${e}: ${A[e]};`);e.setAttribute("style",i)}));const S=(new XMLSerializer).serializeToString(F),T=(new XMLSerializer).serializeToString(x);document.body.removeChild(C);const I=new DOMParser,U=I.parseFromString(E(S,T),"image/svg+xml").firstElementChild,Q=createDiv();Q.appendChild(U),document.body.appendChild(Q);const k=U.querySelector(".excalidraw-md-footer").scrollHeight,O=U.querySelector(".excalidraw-md-host").scrollHeight+k,M=O<=A.height?O:A.height;document.body.removeChild(Q),f=` width="${A.width}px" height="${M}px"`,B=` width="${A.width}px" height="${M}px"`,b.style.height=M-k+"px",b.style.overflow="hidden";const L=b.querySelectorAll("img:not([src^='data:image/svg+xml'])");L.length>0&&(o=!0),o&&this.isDark&&L.forEach((e=>{e instanceof HTMLImageElement&&(e.style.filter=THEME_FILTER)}));const D=E((new XMLSerializer).serializeToString(b),'',p);return e.ea.mostRecentMarkdownSVG=I.parseFromString(D,"image/svg+xml").firstElementChild,{dataURL:svgToBase64(D),hasSVGwithBitmap:o}}}const getSVGData=async(e,t,A)=>{const i=replaceSVGColors(await e.vault.read(t),A);return svgToBase64(i)},generateIdFromFile=async e=>{let t;try{const A=await window.crypto.subtle.digest("SHA-1",e);t=Array.from(new Uint8Array(A)).map((e=>e.toString(16).padStart(2,"0"))).join("")}catch(e){errorlog({where:"EmbeddedFileLoader.generateIdFromFile",error:e}),t=fileid()}return t},{wrapText:wrapText,getFontString:getFontString,getBoundTextMaxWidth:getBoundTextMaxWidth,getDefaultLineHeight:getDefaultLineHeight$1}=excalidrawLib;var AutoexportPreference;!function(e){e[e.none=0]="none",e[e.both=1]="both",e[e.png=2]="png",e[e.svg=3]="svg",e[e.inherit=4]="inherit"}(AutoexportPreference||(AutoexportPreference={}));const REGEX_LINK={ //![[link|alias]] [alias](link){num} -EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getResList:e=>{const A=e.matchAll(REGEX_LINK.EXPR);let t;const i=[];for(;!(t=A.next()).done;)i.push(t);return i},getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,A)=>{const t=parseInt(e.value[8]);return isNaN(t)?A>0?A:null:t}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let A,t=e.matchAll(DRAWING_COMPRESSED_REG);return A=t.next(),A.done&&(t=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1?[decompress(A.value[2]),A]:[null,A]},changeThemeOfExcalidrawMD=e=>{const A=isCompressedMD(e);let t=A?getDecompressedScene(e)[0]:e;return t?(isObsidianThemeDark?1===(t.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(t.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(t=t.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),A?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(t)}$3`):t):e};function getJSON(e){let A,t;if(isCompressedMD(e)){const[A,t]=getDecompressedScene(e);return A?{scene:A.substring(0,A.lastIndexOf("}")+1),pos:t.value.index}:{scene:e,pos:t.value?t.value.index:0}}if(A=e.matchAll(DRAWING_REG),t=A.next(),t.done&&(A=e.matchAll(DRAWING_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1){const e=t.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:t.value.index}}return{scene:e,pos:t.value?t.value.index:0}}function getMarkdownDrawingSection(e,A){return A?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,A)=>{if(!A||!e)return null;if(e===A)return null;let t=0;const i=e.split("\n");if(1===i.length)return null;for(const e of i){const A=e.trim();A.length>t&&(t=A.length)}return t},wrap=(e,A)=>A?wrapTextAtCharLength(e,A,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,A,t;if(!this.scene||!this.scene.elements)return;const i=null!==(e=this.scene.source.split("https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/")[1])&&void 0!==e?e:"1.8.16",n=this.scene.elements;for(const e of n){if(e.boundElements){const A=new Map;e.boundElements.forEach((e=>{A.set(e.id,e.type)}));const t=Array.from(A,(([e,A])=>({id:e,type:A})));t.length!==e.boundElements.length&&(e.boundElements=t)}e.boundElementIds&&(e.boundElements||(e.boundElements=[]),e.boundElements=e.boundElements.concat(e.boundElementIds.map((e=>({type:"arrow",id:e})))),delete e.boundElementIds),"text"!==e.type||e.containerId||(e.containerId=null),null===e.x&&(e.x=0),null===e.y&&(e.y=0),null===(null===(A=e.startBinding)||void 0===A?void 0:A.focus)&&(e.startBinding.focus=0),null===(null===(t=e.endBinding)||void 0===t?void 0:t.focus)&&(e.endBinding.focus=0),null===e.fontSize&&(e.fontSize=20)}try{n.filter((e=>"text"===e.type&&e.containerId&&n.some((A=>A.id===e.containerId&&A.boundElements.length>0&&A.boundElements.some((A=>"text"===A.type&&A.id!==e.id&&A.id.length>8)))))).forEach((e=>{try{const A=n.filter((A=>A.id===e.containerId))[0],t=A.boundElements.filter((e=>!("text"===e.type&&!n.some((A=>A.id===e.id)))));A.boundElements=[{id:e.id,type:"text"}].concat(t)}catch(e){}}));const e=!isVersionNewerThanOther(i,"1.8.16");n.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((A=>{var t;e&&!(null===(t=A.customData)||void 0===t?void 0:t.legacyTextWrap)&&(A.customData=Object.assign(Object.assign({},A.customData),{legacyTextWrap:!0}));const i=A.boundElements.filter((e=>n.some((A=>A.id===e.id))));i.length!==A.boundElements.length&&(A.boundElements=i)})),n.filter((e=>"text"===e.type&&e.containerId&&!n.some((A=>A.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,A,t){if(!A)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=A&&(this.files.clear(),this.equations.clear()),this.file=A,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${A.path.substring(0,A.path.lastIndexOf(".md"))}.excalidraw`,t=this.app.vault.getAbstractFileByPath(e);if(t&&t instanceof obsidian_module.TFile&&t.stat.mtime>A.stat.mtime){const e=await this.app.vault.read(t);this.scene=JSON.parse(e)}}let i=null;i=(()=>{const A=getJSON(e);if(-1===A.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(A.scene)),A})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let n=(e=e.substring(0,i.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===n)return await this.setTextMode(t,!1),this.loaded=!0,!0;n+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(n),n=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let A=e.substring(n,r.value.index);const t=r.value[1],i=this.scene.elements.filter((e=>e.id===t))[0];if(i)if("text"!==i.type)i.link!==A&&(i.link=A,i.version++,i.versionNonce++),this.elementLinks.set(t,A);else{const e=estimateMaxLineLen(i.text,i.originalText),n=A.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();n.done||(A=A.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),i.link=n.value[1]);const a=await this.parse(A);i.rawText=A,this.textElements.set(t,{raw:A,parsed:a.parsed,wrapAt:e}),a.link&&(i.link=a.link),!i||i.rawText&&""!==i.rawText||(i.rawText=A)}n=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\s?(\{[^}]*})?\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2],r.value[3]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*(https?:\/\/[^\s]*)\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,null,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(t,!0),this.loaded=!0,!0}async loadLegacyData(e,A){return!!A&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=A,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,A=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(A))}updateTextElement(e,A,t,i=!1,n){var a;if(i||A!=e.text){const i=_measureText(A,e.fontSize,e.fontFamily,null!==(a=e.lineHeight)&&void 0!==a?a:getDefaultLineHeight$1(e.fontFamily));e.text=A,e.originalText=t,e.containerId&&"arrow"!==n||(e.width=i.w),e.height=i.h,e.baseline=i.baseline}}async updateSceneTextElements(e=!1){var A,t,i,n;const a=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));for(const A of a){const a=getContainerElement(A,this.scene),r=null!==(i=null!==(t=await this.getText(A.id))&&void 0!==t?t:A.originalText)&&void 0!==i?i:A.text,s=null===(n=this.textElements.get(A.id))||void 0===n?void 0:n.wrapAt;try{this.updateTextElement(A,s?wrapText(r,getFontString({fontSize:A.fontSize,fontFamily:A.fontFamily}),getMaxContainerWidth(a)):r,r,e,null==a?void 0:a.type)}catch(e){debug({where:"ExcalidrawData.updateSceneTextElements",fn:this.updateSceneTextElements,textElement:A})}}}async getText(e){const A=this.textElements.get(e);return A?this.textMode===TextMode.parsed?(A.parsed||this.textElements.set(e,{raw:A.raw,parsed:(await this.parse(A.raw)).parsed,wrapAt:A.wrapAt}),A.parsed):A.raw:null}findNewElementLinksInScene(){var e;let A=!1;const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===t.length)return A;let i,n=JSON.stringify(this.scene);for(const e of t)i=e.id,e.id.length>8&&(A=!0,i=nanoid(),n=n.replaceAll(e.id,i)),this.elementLinks.set(i,e.link);return this.scene=JSON.parse(n),A}findNewTextElementsInScene(e={}){var A;this.selectedElementIds=e;const t=null===(A=this.scene.elements)||void 0===A?void 0:A.filter((e=>"text"===e.type));let i,n=JSON.stringify(this.scene),a=!1;for(const e of t)if(i=e.id,e.id.length>8){if(a=!0,i=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[i]=!0),n=n.replaceAll(e.id,i),this.textElements.has(e.id)){const A=this.textElements.get(e.id);this.textElements.set(i,{raw:A.raw,parsed:A.parsed,wrapAt:A.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(i)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}}else if(!this.textElements.has(e.id)){const A=e.rawText&&""!==e.rawText?e.rawText:e.text,t=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:A,parsed:null,wrapAt:t}),this.parseasync(i,A,t)}return a&&(this.scene=JSON.parse(n)),a}updateElementLinksFromScene(){var e;for(const A of this.elementLinks.keys()){const t=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===A&&e.link&&e.link.startsWith("[[")));0===t.length?this.elementLinks.delete(A):this.elementLinks.set(A,t[0].link)}}async updateTextElementsFromScene(){var e,A,t;for(const i of this.textElements.keys()){const n=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===i));if(0===n.length)this.textElements.delete(i);else{const e=await this.getText(i),a=this.scene.prevTextMode===TextMode.parsed?n[0].rawText:null!==(A=n[0].originalText)&&void 0!==A?A:n[0].text;if(e!==(null!==(t=n[0].originalText)&&void 0!==t?t:n[0].text)){const e=estimateMaxLineLen(n[0].text,n[0].originalText);this.textElements.set(i,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,A,t){this.textElements.set(e,{raw:A,parsed:(await this.parse(A)).parsed,wrapAt:t})}parseLinks(e,A,t){return e.substring(A,t.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(t)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const A=getLinkParts(e,this.file),t=this.app.metadataCache.getFirstLinkpathDest(A.path,this.file.path);return await getTransclusion(A,this.app,t,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let t=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(t=t.replaceAll(/\n\s*>\s?/gm,"\n")),A+=e.substring(i,a.value.index)+wrapTextAtCharLength(t,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const t=this.parseLinks(e,i,a);t&&(A+=t,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),{parsed:A,link:t}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const A=REGEX_LINK.getRes(e);let t;for(;!(t=A.next()).done;)if(REGEX_LINK.isTransclusion(t))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let A="",t=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(t=e,s=!0);!(a=n.next()).done;){if(!t){const e=REGEX_LINK.getLink(a);t=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const n=this.parseLinks(e,i,a);n&&(A+=n,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),i=a.value.index+a.value[0].length}return A+=e.substring(i,e.length),r&&(A=this.linkPrefix+A),s&&(A=this.urlPrefix+A),[A,t]}generateMD(e=[]){let A="# Text Elements\n";for(const e of this.textElements.keys()){const t=this.scene.elements.filter((A=>A.id===e));let i=this.textElements.get(e).raw;t&&1===t.length&&t[0].link&&t[0].rawText===t[0].originalText&&t[0].link.match(/^\[\[[^\]]*]]$/g)&&(i=`%%***>>>text element-link:${t[0].link}<<<***%%`+i),A+=`${i} ^${e}\n\n`}for(const e of this.elementLinks.keys())A+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(A+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())A+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const t=/(^[^#\|]*)/,i=this.files.get(e);i.isHyperlink?A+=`${e}: ${i.hyperlink}\n`:A+=`${e}: [[${i.file?i.linkParts.original.replace(t,app.metadataCache.fileToLinktext(i.file,this.file.path)):i.linkParts.original}]]${i.colorMap?" "+JSON.stringify(i.colorMap):""}\n`}return A+=this.equations.size>0||this.files.size>0?"\n":"",A+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async saveDataURLtoVault(e,A,t){var i;const n=this.scene;let a=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;switch(A){case"image/png":default:a+=".png";break;case"image/jpeg":a+=".jpg";break;case"image/svg+xml":a+=".svg";break;case"image/gif":a+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,a)).filepath,s=await this.app.vault.createBinary(r,getBinaryFileFromDataURL(e)),o=new EmbeddedFile(this.plugin,this.file.path,r);return o.setImage(e,A,{height:0,width:0},"dark"===(null===(i=n.appState)||void 0===i?void 0:i.theme),"image/svg+xml"===A),this.setFile(t,o),s}async syncFiles(){let e=!1;const A=this.scene,t=A.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((A,i)=>{t.contains(i)||(this.files.delete(i),e=!0)})),this.equations.forEach(((A,i)=>{t.contains(i)||(this.equations.delete(i),e=!0)})),!A.files||0===Object.keys(A.files).length)return!1;const i=new Set;t.forEach((t=>{if(i.has(t)){const n=this.getFile(t),a=this.getEquation(t);if(n&&(n.isHyperlink||n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file))))return;const r=fileid();A.elements.filter((e=>e.fileId===t))[0].fileId=r,e=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(t)}));for(const t of Object.keys(A.files))this.hasFile(t)||this.hasEquation(t)||(e=!0,await this.saveDataURLtoVault(A.files[t].dataURL,A.files[t].mimeType,t));return e}async syncElements(e,A){this.scene=e;let t=!1;return this.compatibilityMode||(t=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),t=t||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),t||this.findNewTextElementsInScene(A)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const A=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!A&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var A;return null===(A=this.textElements.get(e))||void 0===A?void 0:A.raw}getParsedText(e){const A=this.textElements.get(e);return A?[wrap(A.parsed,A.wrapAt),A.parsed,null]:[null,null,null]}setTextElement(e,A,t,i){const n=estimateMaxLineLen(A,t),[a,r]=this.quickParse(t);return a?(this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),[wrap(a,n),a,r]):(this.parse(t).then((A=>{const a=A.parsed;this.textElements.set(e,{raw:t,parsed:a,wrapAt:n}),a&&i(wrap(a,n),a)})),[null,null,null])}async addTextElement(e,A,t){let i=estimateMaxLineLen(A,t);this.textElements.has(e)&&(i=this.textElements.get(e).wrapAt);const n=await this.parse(t);return this.textElements.set(e,{raw:t,parsed:n.parsed,wrapAt:i}),[wrap(n.parsed,i),n.parsed,n.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let A="view-mobile"===this.plugin.settings.defaultMode?DEVICE.isPhone?"view":"normal":this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(A=e.frontmatter["excalidraw-default-mode"]),A){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let A=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(A=e.frontmatter["excalidraw-linkbutton-opacity"]),A}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=A.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=A.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,A=this.app.metadataCache.getFileCache(this.file);return(null==A?void 0:A.frontmatter)&&null!=A.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=A.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,A){if(!A)return;if(this.files.set(e,A),A.isHyperlink)return void this.plugin.filesMaster.set(e,{isHyperlink:!0,path:A.hyperlink,blockrefData:null,hasSVGwithBitmap:A.isSVGwithBitmap});if(!A.file)return;const t=A.linkParts.original.split("#");this.plugin.filesMaster.set(e,{isHyperlink:!1,path:A.file.path+(A.shouldScale()?"":"|100%"),blockrefData:1===t.length?null:t[1],hasSVGwithBitmap:A.isSVGwithBitmap,colorMapJSON:A.colorMap?JSON.stringify(A.colorMap):null})}getFiles(){return Object.values(this.files)}getFile(e){let A=this.files.get(e);if(A)return A;const t=this.plugin.filesMaster.get(e);return t?(A=new EmbeddedFile(this.plugin,this.file.path,t.blockrefData?t.path+"#"+t.blockrefData:t.path),this.files.set(e,A),A):A}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const A=this.plugin.filesMaster.get(e);if(A.isHyperlink)return this.files.set(e,new EmbeddedFile(this.plugin,this.file.path,A.path)),!0;const t=A.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(t))return this.plugin.filesMaster.delete(e),!0;const i=A.path.endsWith("100%"),n=new EmbeddedFile(this.plugin,this.file.path,(A.blockrefData?t+"#"+A.blockrefData:t)+(i?"|100%":""),A.colorMapJSON);return this.files.set(e,n),!0}return!1}setEquation(e,A){this.equations.set(e,{latex:A.latex,isLoaded:A.isLoaded}),this.plugin.equationsMaster.set(e,A.latex)}getEquation(e){let A=this.equations.get(e);if(A)return A;const t=this.plugin.equationsMaster.get(e);return t?(this.equations.set(e,{latex:t,isLoaded:!1}),{latex:t,isLoaded:!1}):A}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,A,t,i)=>{var n,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(t&&t instanceof obsidian_module.TFile))return{contents:e.original.trim(),lineNum:0};const u=await A.vault.read(t);if(!e.ref)return i?{contents:u.substring(0,i).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await A.metadataCache.blockCache.getForFile({isCancelled:()=>!1},t)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let A=null===(n=g.filter((A=>A.node.id==e.ref))[0])||void 0===n?void 0:n.node;if(!A)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(A.type)&&(A=A.children[0]);const t=A.position.start.offset,i=A.position.start.line,a=A.position.end.offset;return{contents:u.substring(t,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:i}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let m=null,w=0,f=null,B=1;for(let A=0;AB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m,f).trim(),lineNum:w})}const t=p[A].node.children[0],i=null===(r=null===(a=p[A].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,n=null==t?void 0:t.children;!m&&((null===(s=null==t?void 0:t.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==t?void 0:t.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==i?void 0:i.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||n&&(null===(c=null===(l=n[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(m=null===(d=p[A].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[A].node.depth,w=null===(h=p[A].node.children[0])||void 0===h?void 0:h.position.start.line)}return m?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian_module.Modal{constructor(e,A,t,i,n){super(e),this.prompt_text=A,this.default_value=t,this.placeholder=i,this.prompt_desc=n}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let A=this.contentEl.createDiv();A.addClass("excalidraw-prompt-div"),this.prompt_desc&&(A=A.createDiv(),A.style.width="100%",A.createEl("p").innerHTML=this.prompt_desc);const t=A.createEl("form");t.addClass("excalidraw-prompt-form"),t.type="submit",t.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=t.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian_module.Modal{static Prompt(e,A,t,i,n,a,r,s,o,l,c){return new GenericInputPrompt(e,A,t,i,n,a,r,s,o,l,c).waitForClose}constructor(e,A,t,i,n,a,r,s,o,l,c){super(t),this.header=i,this.didSubmit=!1,this.lines=1,this.displayEditorButtons=!1,this.selectionStart=0,this.selectionEnd=0,this.selectionUpdateTimer=0,this.blockPointerInputOutsideModal=!1,this.linkBtnClickCallback=()=>{this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),this.plugin.insertLinkDialog.start(this.view.file.path,(e=>{const A=this.inputComponent.inputEl.value;this.selectionStart>0&&" "!==A.slice(this.selectionStart-1,this.selectionStart)&&(e=" "+e),this.selectionStart{this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer);const A=this.inputComponent.inputEl.value.slice(0,this.selectionStart)+e+this.inputComponent.inputEl.value.slice(this.selectionStart);this.inputComponent.inputEl.value=A,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.selectionStart=this.selectionStart+1,this.selectionEnd=this.selectionStart,this.inputComponent.inputEl.setSelectionRange(this.selectionStart,this.selectionEnd)},this.delBtnClickCallback=()=>{if(this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),0===this.input.length)return;const e=this.selectionEnd>this.selectionStart?this.selectionStart:this.selectionStart>0?this.selectionStart-1:0,A=this.selectionEnd,t=this.inputComponent.inputEl.value.slice(0,e)+this.inputComponent.inputEl.value.slice(A);this.inputComponent.inputEl.value=t,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.selectionStart=e,this.selectionEnd=e,this.inputComponent.inputEl.setSelectionRange(e,e)},this.uppercaseBtnClickCallback=()=>{if(this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),this.selectionEnd===this.selectionStart)return;const e=this.inputComponent.inputEl.value.slice(0,this.selectionStart)+this.inputComponent.inputEl.value.slice(this.selectionStart,this.selectionEnd).toUpperCase()+this.inputComponent.inputEl.value.slice(this.selectionEnd);this.inputComponent.inputEl.value=e,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.setSelectionRange(this.selectionStart,this.selectionEnd)},this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.keyDownCallback=e=>{("Enter"===e.key&&1===this.lines||isCTRL(e)&&"Enter"===e.key)&&(e.preventDefault(),this.submit()),this.displayEditorButtons&&"k"===e.key&&isCTRL(e)&&(e.preventDefault(),this.linkBtnClickCallback())},this.view=e,this.plugin=A,this.placeholder=n,this.input=a,this.buttons=r,this.lines=null!=s?s:1,this.displayEditorButtons=this.lines>1&&null!=o&&o,this.customComponents=l,this.blockPointerInputOutsideModal=null!=c&&c,this.waitForClose=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.display(),this.inputComponent.inputEl.focus(),this.open()}display(){var e;this.contentEl.empty(),this.blockPointerInputOutsideModal&&(this.bgEl.style.pointerEvents=this.blockPointerInputOutsideModal?"none":"auto"),this.titleEl.textContent=this.header;const A=this.contentEl.createDiv();this.inputComponent=this.createInputField(A,this.placeholder,this.input),null===(e=this.customComponents)||void 0===e||e.call(this,A),this.createButtonBar(A)}createInputField(e,A,t){const i=new obsidian_module.TextAreaComponent(e);i.inputEl.style.width="100%",i.inputEl.style.height=2*this.lines+"em",1===this.lines&&(i.inputEl.style.resize="none",i.inputEl.style.overflow="hidden"),i.setPlaceholder(null!=A?A:"").setValue(null!=t?t:"").onChange((e=>this.input=e));const n=()=>{this.selectionUpdateTimer=this.view.ownerWindow.setTimeout((()=>{this.selectionStart=this.inputComponent.inputEl.selectionStart,this.selectionEnd=this.inputComponent.inputEl.selectionEnd}),30)};return i.inputEl.addEventListener("keydown",this.keyDownCallback),i.inputEl.addEventListener("keyup",n),i.inputEl.addEventListener("pointerup",n),i.inputEl.addEventListener("touchend",n),i.inputEl.addEventListener("input",n),i.inputEl.addEventListener("paste",n),i.inputEl.addEventListener("cut",n),i.inputEl.addEventListener("select",n),i.inputEl.addEventListener("selectionchange",n),i}createButton(e,A,t,i="",n="5px"){const a=new obsidian_module.ButtonComponent(e);return a.buttonEl.style.padding="0.5em",a.buttonEl.style.marginLeft=n,a.setTooltip(i),a.setButtonText(A).onClick(t),a}createButtonBar(e){const A=e.createDiv();A.style.display="flex",A.style.justifyContent="space-between",A.style.marginTop="1rem";const t=A.createDiv(),i=A.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const A of this.buttons){const t=new obsidian_module.ButtonComponent(i);t.buttonEl.style.marginLeft="5px",A.tooltip&&t.setTooltip(A.tooltip),t.setButtonText(A.caption).onClick((e=>{const t=A.action(this.input);t&&(this.input=t),this.submit()})),e=null!=e?e:t}e&&(e.setCta(),e.buttonEl.style.marginRight="0")}else this.createButton(i,"✅",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(i,"❌",this.cancelClickCallback,"Cancel"),this.displayEditorButtons&&(this.createButton(t,"⏎",(()=>this.insertStringBtnClickCallback("\n")),"Insert new line","0"),this.createButton(t,"⌫",this.delBtnClickCallback,"Delete"),this.createButton(t,"⎵",(()=>this.insertStringBtnClickCallback(" ")),"Insert space"),this.view&&this.createButton(t,"🔗",this.linkBtnClickCallback,"Insert markdown link to file"),this.createButton(t,"🔠",this.uppercaseBtnClickCallback,"Uppercase"))}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,A;null===(A=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===A||A.removeEventListener("keydown",this.keyDownCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian_module.FuzzySuggestModal{static Suggest(e,A,t,i,n){return new GenericSuggester(e,A,t,i,n).promise}constructor(e,A,t,i,n){var a;super(e),this.displayItems=A,this.items=t,this.hint=i,this.instructions=n,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),n&&this.setInstructions(this.instructions),this.promise=new Promise(((e,A)=>{this.resolvePromise=e,this.rejectPromise=A})),this.open()}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,A){this.resolved=!0,super.selectSuggestion(e,A)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian_module.Modal{constructor(e,A,t,i){super(e.app),this.plugin=e,this.path=A,this.keys=t,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&getLeaf(this.plugin,this.view.leaf,this.keys).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const A=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian_module.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian_module.Notice("Error: Filename for new file may not be empty"),!1),t=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!A)return;const e=await t("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!A)return;const e=await t(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const A=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));A&&A instanceof obsidian_module.TFile&&(this.unloadScript(this.getScriptName(A),A.path),this.loadScript(A))};this.plugin.registerEvent(app.vault.on("delete",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(A),A.path),e(A.path))}))),this.plugin.registerEvent(app.vault.on("create",(async A=>{A instanceof obsidian_module.TFile&&A.path.startsWith(this.scriptPath)&&(this.loadScript(A),e(A.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(A,t)=>{if(!(A instanceof obsidian_module.TFile))return;const i=t.startsWith(this.scriptPath),n=A.path.startsWith(this.scriptPath);i&&(this.unloadScript(this.getScriptName(t),t),e(t)),n&&(this.loadScript(A),e(A.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let A="",t="";e instanceof obsidian_module.TFile?(A=e.basename,t=e.path):(A=splitFolderAndFilename(e).basename,t=e);const i=t.split(`${this.scriptPath}/`)[1],n=i.lastIndexOf("/");return n>-1?i.substring(0,n+1)+A:A}async addScriptIconToMap(e,A){const t=getIMGFilename(e,"svg"),i=app.vault.getAbstractFileByPath(t),n=i&&i instanceof obsidian_module.TFile?await app.vault.read(i):null;this.scriptIconMap=Object.assign({},this.scriptIconMap);const a=splitFolderAndFilename(A);this.scriptIconMap[e]={name:a.filename,group:"/"===a.folderpath?"":a.folderpath,svgString:n},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const A=this.getScriptName(e);this.addScriptIconToMap(e.path,A),this.plugin.addCommand({id:A,name:`(Script) ${A}`,checkCallback:t=>{if(t)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const i=app.workspace.getActiveViewOfType(ExcalidrawView);return!!i&&((async()=>{const t=await app.vault.read(e);t&&this.executeScript(i,t,A,e)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,A){if(!A.endsWith(".md"))return;delete this.scriptIconMap[A],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const t=`${PLUGIN_ID}:${e}`;app.commands.commands[t]&&delete app.commands.commands[t]}async executeScript(e,A,t,i){if(!e||!A||!t)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=t;const n=Object.getPrototypeOf((async()=>{})).constructor;let a=null;return a=await new n("ea","utils",A)(this.plugin.ea,{inputPrompt:(A,t,i,n,a,r,s,o)=>ScriptEngine.inputPrompt(e,this.plugin,app,A,t,i,n,a,r,s,o),suggester:(e,A,t,i)=>ScriptEngine.suggester(app,e,A,t,i),scriptFile:i}),this.plugin.ea.activeScript=null,a}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var A,t;null===(t=null===(A=e.view.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,A,t,i,n,a,r,s,o,l,c){try{return await GenericInputPrompt.Prompt(e,A,t,i,n,a,r,s,o,l,c)}catch(e){return}}static async suggester(e,A,t,i,n){try{return await GenericSuggester.Suggest(e,A,t,i,n)}catch(e){return}}}var t$c={d:(e,A)=>{for(var t in A)t$c.o(A,t)&&!t$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$e={};t$c.d(r$e,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,A,t){return Math.max(e,Math.min(A,t))}function n$c(e,A){return+e.toFixed(A>=0?A:0)}function a$c(e){const A=e%360;return A<0?A+360:A}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function u$8(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}function l$5(e){const[A,t,i,n]=Object.values(e).map((e=>parseInt(e,16)));return{r:A,g:t,b:i,a:n?n/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:A,l:t,a:i}){return[u$8({h:a$c(e),s:s$a(0,A,100),l:s$a(0,t,100),a:i$a(i)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:A,b:t,a:i}){return[{r:s$a(0,e,255),g:s$a(0,A,255),b:s$a(0,t,255),a:i$a(i)},"rgb"]}var p$3,v$2,m$1=function(e,A,t,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof A?e!==A||!n:!A.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,t):n?n.value=t:A.set(e,t),t},y$1=function(e,A,t,i){if("a"===t&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof A?e!==A||!i:!A.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?i:"a"===t?i.call(e):i?i.value:A.get(e)};class w$1{constructor(e){var A,t;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const i=w$1.Parsers.map((A=>A(e))).find((e=>"invalid"!==e[1]));i?(A=this,t=this,[{set value(e){m$1(A,p$3,e,"f")}}.value,{set value(e){m$1(t,v$2,e,"f")}}.value]=i):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,A=!1){let{r:t,g:i,b:n,a:a}=e;a&&(a*=255),A&&([t,i,n,a]=[t,i,n,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[t,i,n,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(y$1(this,p$3,"f")).map(((e,t)=>n$c(e,A[t])));return e?`rgba(${t}, ${i}, ${n}, ${a})`:`rgb(${t}, ${i}, ${n})`}stringHEX({alpha:e=!0}={}){const[A,t,i,n]=Object.values(this.hexa({round:!0}));return`#${A}${t}${i}${e?n:""}`}stringHSL({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsla()).map(((e,t)=>n$c(e,A[t])));return e?`hsla(${t}, ${i}%, ${n}%, ${a})`:`hsl(${t}, ${i}%, ${n}%)`}hueTo(e){var A;const{h:t,s:i,l:n,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(A=e$d[e].match(/\d{1,3}/))&&void 0!==A?A:t);return m$1(this,p$3,u$8({h:r,s:i,l:n,a:a}),"f"),this}hueBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:a$c(A+e),s:t,l:i,a:n}),"f"),this}saturationTo(e){const{h:A,l:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,e,100),l:t,a:i}),"f"),this}saturateBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:s$a(0,t+e,100),l:i,a:n}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:A,s:t,a:i}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,e,100),a:i}),"f"),this}lighterBy(e){const{h:A,s:t,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:A,s:t,l:s$a(0,i+e,100),a:n}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:A,g:t,b:i,a:n}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-A,g:255-t,b:255-i,a:e?1-n:n},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,A,t)=>t.indexOf(e)===A))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"number"==typeof A}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const A=g$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return b$5({r:e,g:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,g:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i&&"string"==typeof A}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const A=c$a.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:t,b:i,a:null!=n?n:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,l:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const A=f$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return d$2({h:e,s:t,l:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$e.QA;var O$1=r$e.ZP,B=r$e.qt;r$e.MX;var e$c={d:(e,A)=>{for(var t in A)e$c.o(A,t)&&!e$c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$b={};function t$b(e){const A=e%360;return A<0?A+360:A}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:A="analogous",effect:t="tones",amount:i=5}={}){const{h:n,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===A&&(o=i,i=Math.max(2,Math.min(o,10))),A){case"analogous":return[-30,0,30].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"complementary":return[0,180].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"triad":return[0,120,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((A=>new e({h:t$b(n+A),s:a,l:r,a:s})));case"monochromatic":{const A="tones"===t?a:r;let o=("tints"===t?100-A:A)/i;o="tints"===t?o:-1*o;const l=[A];for(let e=0;enew e({h:n,s:A,l:r,a:s}))):l.map((A=>new e({h:n,s:a,l:A,a:s})))}}var o}};var r$d=a$b.Z,a$a={d:(e,A)=>{for(var t in A)a$a.o(A,t)&&!a$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$c={x:.96422,y:1,z:.82521};function u$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$9(e,A,t){return Math.max(e,Math.min(A,t))}function o$a(e){const A=e%360;return A<0?A+360:A}function l$4(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}function b$4(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=l$4(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}function h$3(e){var A;const{Cmax:t,H:i,delta:n}=l$4(e),a=0===n?0:n/t;return{h:o$a(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}function v$1(e){const{h:A,a:t}=b$4(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function i$9(e){const[A,t,i]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}function m(e){const A=Object.values(i$9(e)).map(((e,A)=>e/(100*Object.values(r$c)[A]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function p$2(e){const{l:A,a:t,b:i}=m(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:o$a(n),a:e.a}}function f$2(e){const[A,t,i]=Object.values(i$9(e)).map((e=>e/100)),n=t/r$c.y,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a,o=r$c.x+15*r$c.y+3*r$c.z,l=4*r$c.x/o,c=9*r$c.y/o;let d=n>n$a?116*Math.cbrt(n)-16:c$9*n,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:A,y:t,z:i}=i$9(e),[n,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}function w(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}function O(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}function j(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}function x(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$9(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}function y(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(r$c),[o,l,c]=[a,n,r].map(((e,A)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[A]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:A="#fff",ratio:t=.5,colorspace:i="luv"}={}){const n=this.rgba(),a=(A instanceof e?A:new e(A)).rgba();let r,s;switch(t=s$9(0,t,1),i){case"hsl":r=Object.values(b$4(n)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(n)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(n)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(n)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(n)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(n)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(n)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(n)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(n)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(n)),s=Object.values(O(a));break;default:r=Object.values(n),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,A)=>r[A]*(1-t)+s[A]*t));switch(i){case"hsl":return new e(function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:A,b:t,w:i,a:n}=e;return j({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:A,c:t,h:i}=e;return y({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:A,u:t,v:i}=e,n=A>c$9*n$a?Math.pow((A+16)/116,3):A/c$9,a=r$c.x+15*r$c.y+3*r$c.z,r=(52*A/(t&&A?t+13*A*(4*r$c.x/a):1)-1)/3,s=-5*n,o=n*(39*A/(i&&A?i+13*A*(9*r$c.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*n,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:A,v:t,w:i}=e,[n,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return x({x:n,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$b={d:(e,A)=>{for(var t in A)r$b.o(A,t)&&!r$b.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},b$3={};r$b.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+((.299*t+.587*i+.114*n)/255).toFixed(e);return A?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:A=!1}={}){const{r:t,g:i,b:n}=this.rgba(),a=+(.2126*t$9(t)+.7152*t$9(i)+.0722*t$9(n)).toFixed(e);return A?100*a:a},e.prototype.contrast=function({bgColor:A="#fff",precision:t=4,ratio:i=!1}={}){const n=this.luminance(),a=(A instanceof e?A:new e(A)).luminance(),r=((Math.max(n,a)+.05)/(Math.min(n,a)+.05)).toFixed(t);return i?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:A="body",level:t="minimum"}={}){const i=this.contrast({bgColor:e});return"body"===A&&"enhanced"===t?i>=7:"large"===A&&"minimum"===t?i>=3:i>=4.5},e.prototype.equalTo=function(A="#fff"){const t=Object.values(this.rgba()),i=Object.values((A instanceof e?A:new e(A)).rgba());return t.toString()===i.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:A,a:t}=this.hsla(),{r:i,g:n,b:a,a:r}=function(e){const{h:A,s:t,l:i,a:n}=e,a=i/100,r=t/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(A/60%2-1)),l=a-s/2,c=A<60||300<=A&&A<360?s:120<=A&&A<240?0:o,d=240<=A&&A<360?0:60<=A&&A<180?s:o,h=A<120?0:180<=A&&A<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:A,s:100,l:50,a:t});return new e({r:i,g:n,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:A,g:t,b:i,a:n}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:A,g:t,b:i,a:n};for(let e=0;e{for(var t in A)r$a.o(A,t)&&!r$a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},g={};r$a.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,A=[0,0,0,1]){var t,i;return null!==(i=null===(t=e.match(/\d{1,3}/g))||void 0===t?void 0:t.map((e=>+e)))&&void 0!==i?i:A}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:A,g:t,b:i,a:n}=this.rgba();if(0===n)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((A=>e$9[A]===e))}else{let e=Number.POSITIVE_INFINITY;for(let n=0;n{for(var t in A)t$8.o(A,t)&&!t$8.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$9=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$8(e,A,t){return Math.max(e,Math.min(A,t))}function u$6(e){const A=e%360;return A<0?A+360:A}function i$8(e){const{l:A,a:t,b:i}=function(e){const A=Object.values(function(e){const[A,t,i]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(e$8)[A]))).map((e=>e>r$9?Math.cbrt(e):(o$8*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}(e),n=180*Math.atan2(i,t)/Math.PI;return{l:A,c:Math.sqrt(Math.pow(t,2)+Math.pow(i,2)),h:u$6(n),a:e.a}}function h$2(e){const{l:A,c:t,h:i}=e;return function(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(e$8),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$8(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:A,a:t*Math.cos(i*Math.PI/180),b:t*Math.sin(i*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:A,h:t,a:i}){return[h$2({l:s$8(0,e,100),c:s$8(0,A,230),h:u$6(t),a:(n=i,void 0!==n?s$8(0,n,1):1)}),"lch"];var n}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,c:t,h:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const A=l$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?1:1===A?2.3:2===A?3.59:.01):+e));return p$1({l:e,c:t,h:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.lcha()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`lcha(${t}%, ${i}, ${n}, ${a})`:`lch(${t}%, ${i}, ${n})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,A)=>{for(var t in A)t$7.o(A,t)&&!t$7.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$8=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function a$7(e,A,t){return Math.max(e,Math.min(A,t))}function u$5(e){const{l:A,u:t,v:i}=e,n=A>e$7*r$8?Math.pow((A+16)/116,3):A/e$7,a=(52*A/(t&&A?t+13*A*.20916005282038627:1)-1)/3,r=-5*n,s=n*(39*A/(i&&A?i+13*A*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return a$7(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:100*o,y:100*n,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:A,v:t,a:i}){return[u$5({l:a$7(0,e,100),u:a$7(-100,A,100),v:a$7(-100,t,100),a:(n=i,void 0!==n?a$7(0,n,1):1)}),"luv"];var n}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,u:t,v:i}=e;return void 0!==A&&void 0!==t&&null!=i}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const A=c$7.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return s$7({l:e,u:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map((e=>e/100)),n=t/1,a=A&&t&&i?A+15*t+3*i:19,r=4*A/a,s=9*t/a;let o=n>r$8?116*Math.cbrt(n)-16:e$7*n,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.luva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(luva ${t}%, ${i}%, ${n}%, ${a})`:`color(luv ${t}%, ${i}%, ${n}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,A)=>{for(var t in A)t$6.o(A,t)&&!t$6.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$7=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function s$6(e,A,t){return Math.max(e,Math.min(A,t))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const A=Object.values(function(e){const[A,t,i]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e)).map(((e,A)=>e/(100*Object.values(o$6)[A]))).map((e=>e>r$7?Math.cbrt(e):(e$6*e+16)/116));return{l:116*A[1]-16,a:500*(A[0]-A[1]),b:200*(A[1]-A[2]),alpha:e.a}}function l(e){const{l:A,a:t,b:i}=e,n=(A+16)/116,a=n+t/500,r=n-i/200,s=Object.values(o$6),[o,l,c]=[a,n,r].map(((e,A)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[A]*100));return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return s$6(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:A,b:t,alpha:i}){return[l({l:s$6(0,e,100),a:s$6(-160,A,160),b:s$6(-160,t,160),alpha:u$4(i)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:A,a:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const A=p.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?1:.01):+e));return b({l:e,a:t,b:i,alpha:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.laba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`laba(${t}%, ${i}, ${n}, ${a})`:`lab(${t}%, ${i}, ${n})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,A)=>{for(var t in A)t$5.o(A,t)&&!t$5.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$5={};function r$6(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$5(e,A,t){return Math.max(e,Math.min(A,t))}function e$5(e){const{u:A,v:t,w:i}=e,[n,a,r]=r$6([[1.5,0,0],[0,1,0],[1.5,-3,2]],[A,t,i]);return function(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$5(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}({x:n,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:A,w:t,a:i}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,A,100),w:o$5(-48.211,t,191.2605),a:(n=i,void 0!==n?o$5(0,n,1):1)}),"uvw"];var n}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:A,v:t,w:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const A=a$5.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:t,w:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:A,y:t,z:i}=function(e){const[A,t,i]=r$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(e),[n,a,r]=r$6([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[A,t,i]);return{u:n,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.uvwa()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(uvwa ${t}, ${i}, ${n}, ${a})`:`color(uvw ${t}, ${i}, ${n})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,A)=>{for(var t in A)t$4.o(A,t)&&!t$4.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$4={};function r$5(e,A){return[e[0][0]*A[0]+e[0][1]*A[1]+e[0][2]*A[2],e[1][0]*A[0]+e[1][1]*A[1]+e[1][2]*A[2],e[2][0]*A[0]+e[2][1]*A[1]+e[2][2]*A[2]]}function o$4(e,A,t){return Math.max(e,Math.min(A,t))}function e$4(e){const[A,t,i]=Object.values(function(e){const[A,t,i]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[A,t,i]).map((e=>{return o$4(0,255*((A=e)>.0031308?1.055*Math.pow(A,1/2.4)-.055:12.92*A),255);var A}));return{r:n,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:A,z:t,a:i}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,A,100),z:o$4(0,t,82.521),a:(n=i,void 0!==n?o$4(0,n,1):1)}),"xyz"];var n}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:A,y:t,z:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const A=a$4.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:t,z:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[A,t,i]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(A=e,(A/=255)<.04045?A/12.92:Math.pow((A+.055)/1.055,2.4));var A})));return function(e){const[A,t,i]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:A,y:t,z:i,a:e.a}}({x:A,y:t,z:i,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.xyza()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(xyza ${t}, ${i}, ${n}, ${a})`:`color(xyz ${t}, ${i}, ${n})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,A)=>{for(var t in A)t$3.o(A,t)&&!t$3.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$3={};function r$4(e,A,t){return Math.max(e,Math.min(A,t))}function a$3(e){const A=e%360;return A<0?A+360:A}function o$3(e){const{h:A,a:t}=function(e){var A;const{Cmin:t,Cmax:i,H:n,delta:a}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),r=(i+t)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*n),s:100*s,l:100*r,a:null!==(A=e.a)&&void 0!==A?A:1}}(e),{r:i,g:n,b:a}=e;return{h:A,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:t}}function e$3(e){const{h:A,b:t,w:i,a:n}=e;return function(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}({h:A,s:100===t?0:100-i/(100-t)*100,v:100-t,a:n})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:A,b:t,a:i}){return[e$3({h:a$3(e),w:r$4(0,A,100),b:r$4(0,t,100),a:(n=i,void 0!==n?r$4(0,n,1):1)}),"hwb"];var n}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,w:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const A=s$3.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return i$3({h:e,w:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hwba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hwba(${a$3(t)}, ${i}%, ${n}%, ${a})`:`hwb(${a$3(t)}, ${i}%, ${n}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,A)=>{for(var t in A)t$2.o(A,t)&&!t$2.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n$2={};function r$3(e,A,t){return Math.max(e,Math.min(A,t))}function s$2(e){const A=e%360;return A<0?A+360:A}function e$2(e){const{h:A,s:t,v:i,a:n}=e,a=i/100,r=a*(t/100),s=r*(1-Math.abs(A/60%2-1)),o=a-r,l=A<60||300<=A&&A<360?r:120<=A&&A<240?0:s,c=240<=A&&A<360?0:60<=A&&A<180?r:s,d=A<120?0:180<=A&&A<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:A,v:t,a:i}){return[e$2({h:s$2(e),s:r$3(0,A,100),v:r$3(0,t,100),a:(n=i,void 0!==n?r$3(0,n,1):1)}),"hsv"];var n}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:A,s:t,v:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const A=a$2.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(0===A?3.59:A<3?1:.01):+e));return o$2({h:e,s:t,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var A;const{Cmax:t,H:i,delta:n}=function(e){const[A,t,i]=Object.values(e).map((e=>e/255)),n=Math.max(A,t,i),a=Math.min(A,t,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===A?(t-i)/r%6:n===t?(i-A)/r+2:(A-t)/r+4,delta:r}}(e),a=0===n?0:n/t;return{h:s$2(60*i),s:100*a,v:100*t,a:null!==(A=e.a)&&void 0!==A?A:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.hsva()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`hsva(${s$2(t)}, ${i}%, ${n}%, ${a})`:`hsv(${s$2(t)}, ${i}%, ${n}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,A)=>{for(var t in A)t$1.o(A,t)&&!t$1.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},r$2={};function n$1(e,A,t){return Math.max(e,Math.min(A,t))}function o$1(e){let{r:A,y:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(t,i);t-=r,i-=r,i&&r&&(i*=2,r*=2),A+=t,r+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,g:r,b:i,a:e.a}}t$1.d(r$2,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:A,b:t,a:i}){return[o$1({r:n$1(0,e,255),y:n$1(0,A,255),b:n$1(0,t,255),a:(n=i,void 0!==n?n$1(0,n,1):1)}),"ryb"];var n}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:A,y:t,b:i}=e;return void 0!==A&&void 0!==t&&void 0!==i}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const A=a$1.exec(e);if(A){const[e,t,i,n]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<3?2.55:.01):+e));return e$1({r:e,y:t,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:A,g:t,b:i}=e;const n=Math.min(A,t,i);[A,t,i]=[A,t,i].map((e=>e-n));const a=Math.max(A,t,i);let r=Math.min(A,t);A-=r,t-=r,i&&t&&(i/=2,t/=2),r+=t,i+=t;const s=Math.max(A,r,i);if(s){const e=a/s;[A,r,i]=[A,r,i].map((A=>A*e))}return[A,r,i]=[A,r,i].map((e=>e+n)),{r:A,y:r,b:i,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:A=[0,0,0,1]}={}){const[t,i,n,a]=Object.values(this.ryba()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`color(ryba ${t}, ${i}, ${n}, ${a})`:`color(ryb ${t}, ${i}, ${n})`},e.Parsers.push(s$1)};var c$1=r$2.Z,t={d:(e,A)=>{for(var i in A)t.o(A,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:A[i]})},o:(e,A)=>Object.prototype.hasOwnProperty.call(e,A)},n={};function e(e,A,t){return Math.max(e,Math.min(A,t))}function r$1(e){const{c:A,m:t,y:i,k:n,a:a}=e,[r,s,o]=[A,t,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:A,m:t,y:i,k:n,a:a}){return[r$1({c:e(0,A,100),m:e(0,t,100),y:e(0,i,100),k:e(0,n,100),a:(r=a,void 0!==r?e(0,r,1):1)}),"cmyk"];var r}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:A,m:t,y:i,k:n}=e;return void 0!==A&&void 0!==t&&void 0!==i&&void 0!==n}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const A=c.exec(e);if(A){const[e,t,i,n,a]=A.filter((e=>void 0!==e)).slice(1).map(((e,A)=>e.includes("%")?+e.slice(0,-1)*(A<4?1:.01):+e));return o({c:e,m:t,y:i,k:n,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:A,g:t,b:i,a:n}=e,a=1-Math.max(A,t,i)/255,[r,s,o]=1===a?[0,0,0]:[A,t,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:A=[0,0,0,0,1]}={}){const[t,i,n,a,r]=Object.values(this.cmyka()).map(((e,t)=>function(e,A){return+e.toFixed(A>=0?A:0)}(e,A[t])));return e?`device-cmyk(${t}, ${i}, ${n}, ${a}, ${r})`:`device-cmyk(${t}, ${i}, ${n}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source=GITHUB_RELEASES+PLUGIN_VERSION,this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var A=new ARRAY_TYPE(16);return A[0]=e[0],A[1]=e[1],A[2]=e[2],A[3]=e[3],A[4]=e[4],A[5]=e[5],A[6]=e[6],A[7]=e[7],A[8]=e[8],A[9]=e[9],A[10]=e[10],A[11]=e[11],A[12]=e[12],A[13]=e[13],A[14]=e[14],A[15]=e[15],A}function fromValues$1(e,A,t,i,n,a,r,s,o,l,c,d,h,u,g,p){var m=new ARRAY_TYPE(16);return m[0]=e,m[1]=A,m[2]=t,m[3]=i,m[4]=n,m[5]=a,m[6]=r,m[7]=s,m[8]=o,m[9]=l,m[10]=c,m[11]=d,m[12]=h,m[13]=u,m[14]=g,m[15]=p,m}function multiply(e,A,t){var i=A[0],n=A[1],a=A[2],r=A[3],s=A[4],o=A[5],l=A[6],c=A[7],d=A[8],h=A[9],u=A[10],g=A[11],p=A[12],m=A[13],w=A[14],f=A[15],B=t[0],E=t[1],b=t[2],C=t[3];return e[0]=B*i+E*s+b*d+C*p,e[1]=B*n+E*o+b*h+C*m,e[2]=B*a+E*l+b*u+C*w,e[3]=B*r+E*c+b*g+C*f,B=t[4],E=t[5],b=t[6],C=t[7],e[4]=B*i+E*s+b*d+C*p,e[5]=B*n+E*o+b*h+C*m,e[6]=B*a+E*l+b*u+C*w,e[7]=B*r+E*c+b*g+C*f,B=t[8],E=t[9],b=t[10],C=t[11],e[8]=B*i+E*s+b*d+C*p,e[9]=B*n+E*o+b*h+C*m,e[10]=B*a+E*l+b*u+C*w,e[11]=B*r+E*c+b*g+C*f,B=t[12],E=t[13],b=t[14],C=t[15],e[12]=B*i+E*s+b*d+C*p,e[13]=B*n+E*o+b*h+C*m,e[14]=B*a+E*l+b*u+C*w,e[15]=B*r+E*c+b*g+C*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,A,t){var i=new ARRAY_TYPE(3);return i[0]=e,i[1]=A,i[2]=t,i}function transformMat4(e,A,t){var i=A[0],n=A[1],a=A[2],r=t[3]*i+t[7]*n+t[11]*a+t[15];return r=r||1,e[0]=(t[0]*i+t[4]*n+t[8]*a+t[12])/r,e[1]=(t[1]*i+t[5]*n+t[9]*a+t[13])/r,e[2]=(t[2]*i+t[6]*n+t[10]*a+t[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,A=arguments.length;A--;)e+=arguments[A]*arguments[A];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const A=e.map((([e])=>e)),t=e.map((([,e])=>e)),i=Math.min(...A),n=Math.min(...t);return[Math.max(...A)-i,Math.max(...t)-n]}function getWindingOrder(e){return e.reduce(((e,[A,t],i,n)=>{const a=n[i+1];return((a?a[0]:0)-A)*((a?a[1]:0)+t)+e}),0)>0?"clockwise":"counterclockwise"}var chromaExports={},chroma$1={get exports(){return chromaExports},set exports(e){chromaExports=e}};chroma$1.exports=function(){for(var e=function(e,A,t){return void 0===A&&(A=0),void 0===t&&(t=1),et?t:e},A=e,t={},i=0,n=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i255)&&(e._clipped=!0),e[t]=A(e[t],0,255)):3===t&&(e[t]=A(e[t],0,1));return e},limit:e,type:r,unpack:function(e,A){return void 0===A&&(A=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&A?A.split("").filter((function(A){return void 0!==e[0][A]})).map((function(A){return e[0][A]})):e[0]},last:function(e){if(e.length<2)return null;var A=e.length-1;return"string"==o(e[A])?e[A].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,m=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var i=h(e),n=!1;if(!i){n=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,A){return A.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[t>=1?0:255*(1-t)*(1-a),i>=1?0:255*(1-i)*(1-a),n>=1?0:255*(1-n)*(1-a),r]},F=B,x=w,S=d,T=c.unpack,I=c.type,U=C;x.prototype.cmyk=function(){return U(this._rgb)},F.cmyk=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},S.format.cmyk=y,S.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=T(e,"cmyk"),"array"===I(e)&&4===e.length)return"cmyk"}});var Q=c.unpack,k=c.last,M=function(e){return Math.round(100*e)/100},L=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Q(e,"hsla"),i=k(e)||"lsa";return t[0]=M(t[0]||0),t[1]=M(100*t[1])+"%",t[2]=M(100*t[2])+"%","hsla"===i||t.length>3&&t[3]<1?(t[3]=t.length>3?t[3]:1,i="hsla"):t.length=3,i+"("+t.join(",")+")"},O=c.unpack,N=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=O(e,"rgba"))[0],i=e[1],n=e[2];t/=255,i/=255,n/=255;var a,r,s=Math.min(t,i,n),o=Math.max(t,i,n),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),t==o?r=(i-n)/(o-s):i==o?r=2+(n-t)/(o-s):n==o&&(r=4+(t-i)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},D=c.unpack,H=c.last,R=L,P=N,V=Math.round,K=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=D(e,"rgba"),i=H(e)||"rgb";return"hsl"==i.substr(0,3)?R(P(t),i):(t[0]=V(t[0]),t[1]=V(t[1]),t[2]=V(t[2]),("rgba"===i||t.length>3&&t[3]<1)&&(t[3]=t.length>3?t[3]:1,i="rgba"),i+"("+t.slice(0,"rgb"===i?3:4).join(",")+")")},G=c.unpack,W=Math.round,X=function(){for(var e,A=[],t=arguments.length;t--;)A[t]=arguments[t];var i,n,a,r=(A=G(A,"hsl"))[0],s=A[1],o=A[2];if(0===s)i=n=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;i=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],n=e[1],a=e[2]}return A.length>3?[i,n,a,A[3]]:[i,n,a,1]},z=X,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,Ae=function(e){var A;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(A=e.match(j)){for(var t=A.slice(1,4),i=0;i<3;i++)t[i]=+t[i];return t[3]=1,t}if(A=e.match(J)){for(var n=A.slice(1,5),a=0;a<4;a++)n[a]=+n[a];return n}if(A=e.match(Z)){for(var r=A.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(A=e.match(q)){for(var o=A.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(A=e.match(_)){var c=A.slice(1,4);c[1]*=.01,c[2]*=.01;var d=z(c);return d[3]=1,d}if(A=e.match($)){var h=A.slice(1,4);h[1]*=.01,h[2]*=.01;var u=z(h);return u[3]=+A[4],u}};Ae.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var te=B,ie=w,ne=d,ae=c.type,re=K,se=Ae;ie.prototype.css=function(e){return re(this._rgb,e)},te.css=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ie,[null].concat(e,["css"])))},ne.format.css=se,ne.autodetect.push({p:5,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=w,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ce(e,"rgba");return t[0]*=255,t[1]*=255,t[2]*=255,t},le.gl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=de(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Math.min(n,a,r),o=Math.max(n,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?t=Number.NaN:(n===o&&(t=(a-r)/l),a===o&&(t=2+(r-n)/l),r===o&&(t=4+(n-a)/l),(t*=60)<0&&(t+=360)),[t,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),m=d-p,w=u*(1-h),f=w+g*(1-m),B=w+g*m,E=w+g;switch(p){case 0:o=(e=[E,B,w])[0],l=e[1],c=e[2];break;case 1:o=(A=[f,E,w])[0],l=A[1],c=A[2];break;case 2:o=(t=[w,E,B])[0],l=t[1],c=t[2];break;case 3:o=(i=[w,f,E])[0],l=i[1],c=i[2];break;case 4:o=(n=[B,w,E])[0],l=n[1],c=n[2];break;case 5:o=(a=[E,w,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},me=c.unpack,we=c.type,fe=B,Be=w,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=me(e,"hcg"),"array"===we(e)&&3===e.length)return"hcg"}});var Ce=c.unpack,ve=c.last,ye=Math.round,Fe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Ce(e,"rgba"),i=t[0],n=t[1],a=t[2],r=t[3],s=ve(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((i=ye(i))<<16|(n=ye(n))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Se=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Te=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var A=parseInt(e,16);return[A>>16,A>>8&255,255&A,1]}if(e.match(Se)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((255&t)/255*100)/100]}throw new Error("unknown hex color: "+e)},Ie=B,Ue=w,Qe=c.type,ke=d,Me=Fe;Ue.prototype.hex=function(e){return Me(this._rgb,e)},Ie.hex=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ue,[null].concat(e,["hex"])))},ke.format.hex=Te,ke.autodetect.push({p:4,test:function(e){for(var A=[],t=arguments.length-1;t-- >0;)A[t]=arguments[t+1];if(!A.length&&"string"===Qe(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Le=c.unpack,Oe=c.TWOPI,Ne=Math.min,De=Math.sqrt,He=Math.acos,Re=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i=Le(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Ne(n/=255,a/=255,r/=255),o=(n+a+r)/3,l=o>0?1-s/o:0;return 0===l?t=NaN:(t=(n-a+(n-r))/2,t/=De((n-a)*(n-a)+(n-r)*(a-r)),t=He(t),r>a&&(t=Oe-t),t/=Oe),[360*t,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,Xe=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?i=1-((n=(1-r)/3)+(t=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?n=1-((t=(1-r)/3)+(i=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):t=1-((i=(1-r)/3)+(n=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(t=Ve(s*t*3)),255*(i=Ve(s*i*3)),255*(n=Ve(s*n*3)),e.length>3?e[3]:1]},ze=c.unpack,Ye=c.type,je=B,Je=w,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=Xe,Ze.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=ze(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,eA=B,AA=w,tA=d,iA=N;AA.prototype.hsl=function(){return iA(this._rgb)},eA.hsl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(AA,[null].concat(e,["hsl"])))},tA.format.hsl=X,tA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var nA=c.unpack,aA=Math.min,rA=Math.max,sA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=nA(e,"rgb"))[0],r=e[1],s=e[2],o=aA(a,r,s),l=rA(a,r,s),c=l-o;return n=l/255,0===l?(t=Number.NaN,i=0):(i=c/l,a===l&&(t=(r-s)/c),r===l&&(t=2+(s-a)/c),s===l&&(t=4+(a-r)/c),(t*=60)<0&&(t+=360)),[t,i,n]},oA=c.unpack,lA=Math.floor,cA=function(){for(var e,A,t,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=oA(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lA(d/=60),p=d-g,m=u*(1-h),w=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,m])[0],l=e[1],c=e[2];break;case 1:o=(A=[w,u,m])[0],l=A[1],c=A[2];break;case 2:o=(t=[m,u,f])[0],l=t[1],c=t[2];break;case 3:o=(i=[m,w,u])[0],l=i[1],c=i[2];break;case 4:o=(n=[f,m,u])[0],l=n[1],c=n[2];break;case 5:o=(a=[u,m,w])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dA=c.unpack,hA=c.type,uA=B,gA=w,pA=d,mA=sA;gA.prototype.hsv=function(){return mA(this._rgb)},uA.hsv=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(gA,[null].concat(e,["hsv"])))},pA.format.hsv=cA,pA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=dA(e,"hsv"),"array"===hA(e)&&3===e.length)return"hsv"}});var wA={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},fA=wA,BA=c.unpack,EA=Math.pow,bA=function(e){return(e/=255)<=.04045?e/12.92:EA((e+.055)/1.055,2.4)},CA=function(e){return e>fA.t3?EA(e,1/3):e/fA.t2+fA.t0},vA=function(e,A,t){return e=bA(e),A=bA(A),t=bA(t),[CA((.4124564*e+.3575761*A+.1804375*t)/fA.Xn),CA((.2126729*e+.7151522*A+.072175*t)/fA.Yn),CA((.0193339*e+.119192*A+.9503041*t)/fA.Zn)]},yA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=BA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=vA(i,n,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},FA=wA,xA=c.unpack,SA=Math.pow,TA=function(e){return 255*(e<=.00304?12.92*e:1.055*SA(e,1/2.4)-.055)},IA=function(e){return e>FA.t1?e*e*e:FA.t2*(e-FA.t0)},UA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t,i,n,a=(e=xA(e,"lab"))[0],r=e[1],s=e[2];return i=(a+16)/116,t=isNaN(r)?i:i+r/500,n=isNaN(s)?i:i-s/200,i=FA.Yn*IA(i),t=FA.Xn*IA(t),n=FA.Zn*IA(n),[TA(3.2404542*t-1.5371385*i-.4985314*n),TA(-.969266*t+1.8760108*i+.041556*n),TA(.0556434*t-.2040259*i+1.0572252*n),e.length>3?e[3]:1]},QA=c.unpack,kA=c.type,MA=B,LA=w,OA=d,NA=yA;LA.prototype.lab=function(){return NA(this._rgb)},MA.lab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(LA,[null].concat(e,["lab"])))},OA.format.lab=UA,OA.autodetect.push({p:2,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=QA(e,"lab"),"array"===kA(e)&&3===e.length)return"lab"}});var DA=c.unpack,HA=c.RAD2DEG,RA=Math.sqrt,PA=Math.atan2,VA=Math.round,KA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=DA(e,"lab"),i=t[0],n=t[1],a=t[2],r=RA(n*n+a*a),s=(PA(a,n)*HA+360)%360;return 0===VA(1e4*r)&&(s=Number.NaN),[i,r,s]},GA=c.unpack,WA=yA,XA=KA,zA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=GA(e,"rgb"),i=t[0],n=t[1],a=t[2],r=WA(i,n,a),s=r[0],o=r[1],l=r[2];return XA(s,o,l)},YA=c.unpack,jA=c.DEG2RAD,JA=Math.sin,ZA=Math.cos,qA=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=YA(e,"lch"),i=t[0],n=t[1],a=t[2];return isNaN(a)&&(a=0),[i,ZA(a*=jA)*n,JA(a)*n]},_A=c.unpack,$A=qA,et=UA,At=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=_A(e,"lch"))[0],i=e[1],n=e[2],a=$A(t,i,n),r=a[0],s=a[1],o=a[2],l=et(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},tt=c.unpack,it=At,nt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=tt(e,"hcl").reverse();return it.apply(void 0,t)},at=c.unpack,rt=c.type,st=B,ot=w,lt=d,ct=zA;ot.prototype.lch=function(){return ct(this._rgb)},ot.prototype.hcl=function(){return ct(this._rgb).reverse()},st.lch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["lch"])))},st.hcl=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(ot,[null].concat(e,["hcl"])))},lt.format.lch=At,lt.format.hcl=nt,["lch","hcl"].forEach((function(e){return lt.autodetect.push({p:2,test:function(){for(var A=[],t=arguments.length;t--;)A[t]=arguments[t];if(A=at(A,e),"array"===rt(A)&&3===A.length)return e}})}));var dt={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ht=d,ut=c.type,gt=dt,pt=Te,mt=Fe;w.prototype.name=function(){for(var e=mt(this._rgb,"rgb"),A=0,t=Object.keys(gt);A0;)A[t]=arguments[t+1];if(!A.length&&"string"===ut(e)&>[e.toLowerCase()])return"named"}});var wt=c.unpack,ft=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=wt(e,"rgb");return(t[0]<<16)+(t[1]<<8)+t[2]},Bt=c.type,Et=function(e){if("number"==Bt(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bt=B,Ct=w,vt=d,yt=c.type,Ft=ft;Ct.prototype.num=function(){return Ft(this._rgb)},bt.num=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ct,[null].concat(e,["num"])))},vt.format.num=Et,vt.autodetect.push({p:5,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(1===e.length&&"number"===yt(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xt=B,St=w,Tt=d,It=c.unpack,Ut=c.type,Qt=Math.round;St.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Qt)},St.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(A,t){return t<3?!1===e?A:Qt(A):A}))},xt.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(St,[null].concat(e,["rgb"])))},Tt.format.rgb=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=It(e,"rgba");return void 0===t[3]&&(t[3]=1),t},Tt.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=It(e,"rgba"),"array"===Ut(e)&&(3===e.length||4===e.length&&"number"==Ut(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kt=Math.log,Mt=function(e){var A,t,i,n=e/100;return n<66?(A=255,t=n<6?0:-155.25485562709179-.44596950469579133*(t=n-2)+104.49216199393888*kt(t),i=n<20?0:.8274096064007395*(i=n-10)-254.76935184120902+115.67994401066147*kt(i)):(A=351.97690566805693+.114206453784165*(A=n-55)-40.25366309332127*kt(A),t=325.4494125711974+.07943456536662342*(t=n-50)-28.0852963507957*kt(t),i=255),[A,t,i,1]},Lt=Mt,Ot=c.unpack,Nt=Math.round,Dt=B,Ht=w,Rt=d,Pt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];for(var t,i=Ot(e,"rgb"),n=i[0],a=i[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=Lt(t=.5*(s+r));l[2]/l[0]>=a/n?s=t:r=t}return Nt(t)};Ht.prototype.temp=Ht.prototype.kelvin=Ht.prototype.temperature=function(){return Pt(this._rgb)},Dt.temp=Dt.kelvin=Dt.temperature=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ht,[null].concat(e,["temp"])))},Rt.format.temp=Rt.format.kelvin=Rt.format.temperature=Mt;var Vt=c.unpack,Kt=Math.cbrt,Gt=Math.pow,Wt=Math.sign,Xt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=Vt(e,"rgb"),i=t[0],n=t[1],a=t[2],r=[zt(i/255),zt(n/255),zt(a/255)],s=r[0],o=r[1],l=r[2],c=Kt(.4122214708*s+.5363325363*o+.0514459929*l),d=Kt(.2119034982*s+.6806995451*o+.1073969566*l),h=Kt(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function zt(e){var A=Math.abs(e);return A<.04045?e/12.92:(Wt(e)||1)*Gt((A+.055)/1.055,2.4)}var Yt=c.unpack,jt=Math.pow,Jt=Math.sign,Zt=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=Yt(e,"lab"))[0],i=e[1],n=e[2],a=jt(t+.3963377774*i+.2158037573*n,3),r=jt(t-.1055613458*i-.0638541728*n,3),s=jt(t-.0894841775*i-1.291485548*n,3);return[255*qt(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qt(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qt(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qt(e){var A=Math.abs(e);return A>.0031308?(Jt(e)||1)*(1.055*jt(A,1/2.4)-.055):12.92*e}var _t=c.unpack,$t=c.type,ei=B,Ai=w,ti=d,ii=Xt;Ai.prototype.oklab=function(){return ii(this._rgb)},ei.oklab=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(Ai,[null].concat(e,["oklab"])))},ti.format.oklab=Zt,ti.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=_t(e,"oklab"),"array"===$t(e)&&3===e.length)return"oklab"}});var ni=c.unpack,ai=Xt,ri=KA,si=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=ni(e,"rgb"),i=t[0],n=t[1],a=t[2],r=ai(i,n,a),s=r[0],o=r[1],l=r[2];return ri(s,o,l)},oi=c.unpack,li=qA,ci=Zt,di=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];var t=(e=oi(e,"lch"))[0],i=e[1],n=e[2],a=li(t,i,n),r=a[0],s=a[1],o=a[2],l=ci(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},hi=c.unpack,ui=c.type,gi=B,pi=w,mi=d,wi=si;pi.prototype.oklch=function(){return wi(this._rgb)},gi.oklch=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];return new(Function.prototype.bind.apply(pi,[null].concat(e,["oklch"])))},mi.format.oklch=di,mi.autodetect.push({p:3,test:function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];if(e=hi(e,"oklch"),"array"===ui(e)&&3===e.length)return"oklch"}});var fi=w,Bi=c.type;fi.prototype.alpha=function(e,A){return void 0===A&&(A=!1),void 0!==e&&"number"===Bi(e)?A?(this._rgb[3]=e,this):new fi([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},w.prototype.clipped=function(){return this._rgb._clipped||!1};var Ei=w,bi=wA;Ei.prototype.darken=function(e){void 0===e&&(e=1);var A=this.lab();return A[0]-=bi.Kn*e,new Ei(A,"lab").alpha(this.alpha(),!0)},Ei.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},Ei.prototype.darker=Ei.prototype.darken,Ei.prototype.brighter=Ei.prototype.brighten,w.prototype.get=function(e){var A=e.split("."),t=A[0],i=A[1],n=this[t]();if(i){var a=t.indexOf(i)-("ok"===t.substr(0,2)?2:0);if(a>-1)return n[a];throw new Error("unknown channel "+i+" in mode "+t)}return n};var Ci=w,vi=c.type,yi=Math.pow;Ci.prototype.luminance=function(e){if(void 0!==e&&"number"===vi(e)){if(0===e)return new Ci([0,0,0,this._rgb[3]],"rgb");if(1===e)return new Ci([255,255,255,this._rgb[3]],"rgb");var A=this.luminance(),t=20,i=function(A,n){var a=A.interpolate(n,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!t--?a:r>e?i(A,a):i(a,n)},n=(A>e?i(new Ci([0,0,0]),this):i(this,new Ci([255,255,255]))).rgb();return new Ci(n.concat([this._rgb[3]]))}return Fi.apply(void 0,this._rgb.slice(0,3))};var Fi=function(e,A,t){return.2126*(e=xi(e))+.7152*(A=xi(A))+.0722*xi(t)},xi=function(e){return(e/=255)<=.03928?e/12.92:yi((e+.055)/1.055,2.4)},Si={},Ti=w,Ii=c.type,Ui=Si,Qi=function(e,A,t){void 0===t&&(t=.5);for(var i=[],n=arguments.length-3;n-- >0;)i[n]=arguments[n+3];var a=i[0]||"lrgb";if(Ui[a]||i.length||(a=Object.keys(Ui)[0]),!Ui[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Ii(e)&&(e=new Ti(e)),"object"!==Ii(A)&&(A=new Ti(A)),Ui[a](e,A,t).alpha(e.alpha()+t*(A.alpha()-e.alpha()))},ki=w,Mi=Qi;ki.prototype.mix=ki.prototype.interpolate=function(e,A){void 0===A&&(A=.5);for(var t=[],i=arguments.length-2;i-- >0;)t[i]=arguments[i+2];return Mi.apply(void 0,[this,e,A].concat(t))};var Li=w;Li.prototype.premultiply=function(e){void 0===e&&(e=!1);var A=this._rgb,t=A[3];return e?(this._rgb=[A[0]*t,A[1]*t,A[2]*t,t],this):new Li([A[0]*t,A[1]*t,A[2]*t,t],"rgb")};var Oi=w,Ni=wA;Oi.prototype.saturate=function(e){void 0===e&&(e=1);var A=this.lch();return A[1]+=Ni.Kn*e,A[1]<0&&(A[1]=0),new Oi(A,"lch").alpha(this.alpha(),!0)},Oi.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Di=w,Hi=c.type;Di.prototype.set=function(e,A,t){void 0===t&&(t=!1);var i=e.split("."),n=i[0],a=i[1],r=this[n]();if(a){var s=n.indexOf(a)-("ok"===n.substr(0,2)?2:0);if(s>-1){if("string"==Hi(A))switch(A.charAt(0)){case"+":case"-":r[s]+=+A;break;case"*":r[s]*=+A.substr(1);break;case"/":r[s]/=+A.substr(1);break;default:r[s]=+A}else{if("number"!==Hi(A))throw new Error("unsupported value for Color.set");r[s]=A}var o=new Di(r,n);return t?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+n)}return r};var Ri=w;Si.rgb=function(e,A,t){var i=e._rgb,n=A._rgb;return new Ri(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"rgb")};var Pi=w,Vi=Math.sqrt,Ki=Math.pow;Si.lrgb=function(e,A,t){var i=e._rgb,n=i[0],a=i[1],r=i[2],s=A._rgb,o=s[0],l=s[1],c=s[2];return new Pi(Vi(Ki(n,2)*(1-t)+Ki(o,2)*t),Vi(Ki(a,2)*(1-t)+Ki(l,2)*t),Vi(Ki(r,2)*(1-t)+Ki(c,2)*t),"rgb")};var Gi=w;Si.lab=function(e,A,t){var i=e.lab(),n=A.lab();return new Gi(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"lab")};var Wi=w,Xi=function(e,A,t,i){var n,a,r,s,o,l,c,d,h,u,g,p,m;return"hsl"===i?(r=e.hsl(),s=A.hsl()):"hsv"===i?(r=e.hsv(),s=A.hsv()):"hcg"===i?(r=e.hcg(),s=A.hcg()):"hsi"===i?(r=e.hsi(),s=A.hsi()):"lch"===i||"hcl"===i?(i="hcl",r=e.hcl(),s=A.hcl()):"oklch"===i&&(r=e.oklch().reverse(),s=A.oklch().reverse()),"h"!==i.substr(0,1)&&"oklch"!==i||(o=(n=r)[0],c=n[1],h=n[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==i||(g=d)):(p=o,1!=u&&0!=u||"hsv"==i||(g=c)):p=o+t*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+t*(d-c)),m=h+t*(u-h),new Wi("oklch"===i?[m,g,p]:[p,g,m],i)},zi=Xi,Yi=function(e,A,t){return zi(e,A,t,"lch")};Si.lch=Yi,Si.hcl=Yi;var ji=w;Si.num=function(e,A,t){var i=e.num(),n=A.num();return new ji(i+t*(n-i),"num")};var Ji=Xi;Si.hcg=function(e,A,t){return Ji(e,A,t,"hcg")};var Zi=Xi;Si.hsi=function(e,A,t){return Zi(e,A,t,"hsi")};var qi=Xi;Si.hsl=function(e,A,t){return qi(e,A,t,"hsl")};var _i=Xi;Si.hsv=function(e,A,t){return _i(e,A,t,"hsv")};var $i=w;Si.oklab=function(e,A,t){var i=e.oklab(),n=A.oklab();return new $i(i[0]+t*(n[0]-i[0]),i[1]+t*(n[1]-i[1]),i[2]+t*(n[2]-i[2]),"oklab")};var en=Xi;Si.oklch=function(e,A,t){return en(e,A,t,"oklch")};var An=w,tn=c.clip_rgb,nn=Math.pow,an=Math.sqrt,rn=Math.PI,sn=Math.cos,on=Math.sin,ln=Math.atan2,cn=function(e,A){for(var t=e.length,i=[0,0,0,0],n=0;n.9999999&&(i[3]=1),new An(tn(i))},dn=B,hn=c.type,un=Math.pow,gn=function(e){var A="rgb",t=dn("#ccc"),i=0,n=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,m=function(e){if((e=e||["#fff","#000"])&&"string"===hn(e)&&dn.brewer&&dn.brewer[e.toLowerCase()]&&(e=dn.brewer[e.toLowerCase()]),"array"===hn(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var A=0;A2?function(e){if(null!=s){for(var A=s.length-1,t=0;t=s[t];)t++;return t-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),i||(l=w(l)),1!==p&&(l=un(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])n=u[h];else{if("array"===hn(o))for(var m=0;m=B&&m===a.length-1){n=o[m];break}if(l>B&&l2){var l=e.map((function(A,t){return t/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,A){return l[A]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var A=0;e>=h[A+1];)A++;var t=(e-h[A])/(h[A+1]-h[A]);return l[A]+t*(l[A+1]-l[A])})}}return n=[c,d],b},b.mode=function(e){return arguments.length?(A=e,E(),b):A},b.range=function(e,A){return m(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(i=e,b):i},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),w=h?function(e){for(var A=B(0,!0).lab()[0],t=B(1,!0).lab()[0],i=A>t,n=B(e,!0).lab()[0],a=A+(t-A)*e,r=n-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)i&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(n=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hn(e)&&(e=[e,e]),r=e,b):r},b.colors=function(A,t){arguments.length<2&&(t="hex");var i=[];if(0===arguments.length)i=o.slice(0);else if(1===A)i=[b(.5)];else if(A>1){var a=n[0],r=n[1]-a;i=pn(0,A,!1).map((function(e){return b(a+e/(A-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=n;i=l.map((function(e){return b(e)}))}return dn[t]&&(i=i.map((function(e){return e[t]()}))),i},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(t=dn(e),b):t},b};function pn(e,A,t){for(var i=[],n=ea;n?r++:r--)i.push(r);return i}var mn=w,wn=gn,fn=B,Bn=function(e,A,t){if(!Bn[t])throw new Error("unknown blend mode "+t);return Bn[t](e,A)},En=function(e){return function(A,t){var i=fn(t).rgb(),n=fn(A).rgb();return fn.rgb(e(i,n))}},bn=function(e){return function(A,t){var i=[];return i[0]=e(A[0],t[0]),i[1]=e(A[1],t[1]),i[2]=e(A[2],t[2]),i}};Bn.normal=En(bn((function(e){return e}))),Bn.multiply=En(bn((function(e,A){return e*A/255}))),Bn.screen=En(bn((function(e,A){return 255*(1-(1-e/255)*(1-A/255))}))),Bn.overlay=En(bn((function(e,A){return A<128?2*e*A/255:255*(1-2*(1-e/255)*(1-A/255))}))),Bn.darken=En(bn((function(e,A){return e>A?A:e}))),Bn.lighten=En(bn((function(e,A){return e>A?e:A}))),Bn.dodge=En(bn((function(e,A){return 255===e||(e=A/255*255/(1-e/255))>255?255:e}))),Bn.burn=En(bn((function(e,A){return 255*(1-(1-A/255)/(e/255))})));for(var Cn=Bn,vn=c.type,yn=c.clip_rgb,Fn=c.TWOPI,xn=Math.pow,Sn=Math.sin,Tn=Math.cos,In=B,Un=w,Qn=Math.floor,kn=Math.random,Mn=r,Ln=Math.log,On=Math.pow,Nn=Math.floor,Dn=Math.abs,Hn=function(e,A){void 0===A&&(A=null);var t={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===Mn(e)&&(e=Object.values(e)),e.forEach((function(e){A&&"object"===Mn(e)&&(e=e[A]),null==e||isNaN(e)||(t.values.push(e),t.sum+=e,et.max&&(t.max=e),t.count+=1)})),t.domain=[t.min,t.max],t.limits=function(e,A){return Rn(t,e,A)},t},Rn=function(e,A,t){void 0===A&&(A="equal"),void 0===t&&(t=7),"array"==Mn(e)&&(e=Hn(e));var i=e.min,n=e.max,a=e.values.sort((function(e,A){return e-A}));if(1===t)return[i,n];var r=[];if("c"===A.substr(0,1)&&(r.push(i),r.push(n)),"e"===A.substr(0,1)){r.push(i);for(var s=1;s 0");var o=Math.LOG10E*Ln(i),l=Math.LOG10E*Ln(n);r.push(i);for(var c=1;c200&&(B=!1)}for(var O={},N=0;N=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=i,new An(r,A).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var A=function(e){var A,t,i,n,a,r,s;if(e=e.map((function(e){return new mn(e)})),2===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],n=function(e){var A=[0,1,2].map((function(A){return a[A]+e*(r[A]-a[A])}));return new mn(A,"lab")};else if(3===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],s=t[2],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*a[A]+2*(1-e)*e*r[A]+e*e*s[A]}));return new mn(A,"lab")};else if(4===e.length){var o;i=e.map((function(e){return e.lab()})),a=i[0],r=i[1],s=i[2],o=i[3],n=function(e){var A=[0,1,2].map((function(A){return(1-e)*(1-e)*(1-e)*a[A]+3*(1-e)*(1-e)*e*r[A]+3*(1-e)*e*e*s[A]+e*e*e*o[A]}));return new mn(A,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var A=[1,1],t=1;ti?(t+.05)/(i+.05):(i+.05)/(t+.05)},la.deltaE=function(e,A,t,i,n){void 0===t&&(t=1),void 0===i&&(i=1),void 0===n&&(n=1);var a=function(e){return 360*e/(2*_n)},r=function(e){return 2*_n*e/360};e=new Kn(e),A=new Kn(A);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(A.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,m=(Gn(Wn(l,2)+Wn(c,2))+Gn(Wn(u,2)+Wn(g,2)))/2,w=.5*(1-Gn(Wn(m,7)/(Wn(m,7)+Wn(25,7)))),f=l*(1+w),B=u*(1+w),E=Gn(Wn(f,2)+Wn(c,2)),b=Gn(Wn(B,2)+Wn(g,2)),C=(E+b)/2,v=a(Yn(c,f)),y=a(Yn(g,B)),F=v>=0?v:v+360,x=y>=0?y:y+360,S=jn(F-x)>180?(F+x+360)/2:(F+x)/2,T=1-.17*Jn(r(S-30))+.24*Jn(r(2*S))+.32*Jn(r(3*S+6))-.2*Jn(r(4*S-63)),I=x-F;I=jn(I)<=180?I:x<=F?I+360:I-360,I=2*Gn(E*b)*Zn(r(I)/2);var U=h-o,Q=b-E,k=1+.015*Wn(p-50,2)/Gn(20+Wn(p-50,2)),M=1+.045*C,L=1+.015*C*T,O=30*qn(-Wn((S-275)/25,2)),N=-2*Gn(Wn(C,7)/(Wn(C,7)+Wn(25,7)))*Zn(2*r(O)),D=Gn(Wn(U/(t*k),2)+Wn(Q/(i*M),2)+Wn(I/(n*L),2)+N*(Q/(i*M))*(I/(n*L)));return zn(0,Xn(100,D))},la.distance=function(e,A,t){void 0===t&&(t="lab"),e=new $n(e),A=new $n(A);var i=e.get(t),n=A.get(t),a=0;for(var r in i){var s=(i[r]||0)-(n[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pn.limits,la.valid=function(){for(var e=[],A=arguments.length;A--;)e[A]=arguments[A];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=ia,la.colors=dt,la.brewer=oa,la}();var chroma=chromaExports;function hexWithAlpha(e,A){return chroma(e).alpha(A).css()}function has(e,A){return e.hasAttribute(A)}function get(e,A,t){return e.getAttribute(A)||t||""}function getNum(e,A,t){const i=Number(get(e,A));return Number.isNaN(i)?t||0:i}const attrHandlers={stroke:({el:e,exVals:A})=>{const t=get(e,"stroke");A.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(t,getNum(e,"stroke-opacity")):t},"stroke-opacity":({el:e,exVals:A})=>{A.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:A})=>{A.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:A})=>{const t=get(e,"fill");A.backgroundColor="none"===t?"#00000000":t},"fill-opacity":({el:e,exVals:A})=>{A.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:A})=>{A.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((A,t)=>{const i=t.name;return Object.keys(attrHandlers).includes(i)&&attrHandlers[i]({el:e,exVals:A}),A}),{})}function filterAttrsToElementValues(e){const A={};return has(e,"x")&&(A.x=getNum(e,"x")),has(e,"y")&&(A.y=getNum(e,"y")),has(e,"width")&&(A.width=getNum(e,"width")),has(e,"height")&&(A.height=getNum(e,"height")),A}function pointsAttrToPoints(e){let A=[];return has(e,"points")&&(A=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),A}function getGroupAttrs(e){return e.reduce(((e,{element:A})=>{const t=presAttrsToElementValues(A);return Object.assign(Object.assign({},e),t)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",roundness:null,roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const A=e.match(/(\w+)\(([^)]*)\)/g);if(!A)return"";const t=A.map((e=>{const A=e.split("(")[0];if(!A)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(A))throw new Error(`transform function name "${A}" is not valid`);const t=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!t)return{type:A,values:[]};let i=t.map((e=>{const[t,i]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:i[0]||defaultUnits[A],value:t[0]}}));return i&&"rotate"===A&&(null==i?void 0:i.length)>1&&(i=[i[0]]),{type:A,values:i}}));return t.map((({type:e,values:A})=>`${e}(${A.map((({unit:e,value:A})=>`${A}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const A=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),A.toFloat32Array())}return create$1()}function getTransformMatrix(e,A){return A.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,A)=>multiply(e,e,A)),create$1())}function transformPoints(e,A){return e.map((([e,t])=>{const[i,n]=transformMat4(create(),fromValues(e,t,1),A);return[i,n]}))}function distance(e,A){return Math.sqrt(distanceSq(e,A))}function distanceSq(e,A){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function distanceToSegmentSq(e,A,t){const i=distanceSq(A,t);if(0===i)return distanceSq(e,A);let n=((e[0]-A[0])*(t[0]-A[0])+(e[1]-A[1])*(t[1]-A[1]))/i;return n=Math.max(0,Math.min(1,n)),distanceSq(e,lerp(A,t,n))}function lerp(e,A,t){return[e[0]+(A[0]-e[0])*t,e[1]+(A[1]-e[1])*t]}function flatness(e,A){const t=e[A+0],i=e[A+1],n=e[A+2],a=e[A+3];let r=3*i[0]-2*t[0]-a[0];r*=r;let s=3*i[1]-2*t[1]-a[1];s*=s;let o=3*n[0]-2*a[0]-t[0];o*=o;let l=3*n[1]-2*a[1]-t[1];return l*=l,r1&&n.push(t):n.push(t),n.push(e[A+3])}else{const i=.5,a=e[A+0],r=e[A+1],s=e[A+2],o=e[A+3],l=lerp(a,r,i),c=lerp(r,s,i),d=lerp(s,o,i),h=lerp(l,c,i),u=lerp(c,d,i),g=lerp(h,u,i);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,t,n),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,t,n)}return n}function simplify(e,A){return simplifyPoints(e,0,e.length,A)}function simplifyPoints(e,A,t,i,n){const a=n||[],r=e[A],s=e[t-1];let o=0,l=1;for(let i=A+1;io&&(o=A,l=i)}return Math.sqrt(o)>i?(simplifyPoints(e,A,l+1,i,a),simplifyPoints(e,l,t,i,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,A=.15,t){const i=[],n=(e.length-1)/3;for(let t=0;t0?simplifyPoints(i,0,i.length,t):i}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const A=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))A[A.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];A[A.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return A[A.length]={type:2,text:""},A}function isType(e,A){return e.type===A}function parsePath(e){const A=[],t=tokenize(e);let i="BOD",n=0,a=t[n];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);n++,r=PARAMS[a.text],i=a.text}else isType(a,1)?r=PARAMS[i]:(n++,r=PARAMS[a.text],i=a.text);if(!(n+ri%2?e+t:e+A));a.push({key:"C",data:e}),A=e[4],t=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),A=s[2],t=s[3];break;case"q":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"Q",data:e}),A=e[2],t=e[3];break}case"A":a.push({key:"A",data:[...s]}),A=s[5],t=s[6];break;case"a":A+=s[5],t+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],A,t]});break;case"H":a.push({key:"H",data:[...s]}),A=s[0];break;case"h":A+=s[0],a.push({key:"H",data:[A]});break;case"V":a.push({key:"V",data:[...s]}),t=s[0];break;case"v":t+=s[0],a.push({key:"V",data:[t]});break;case"S":a.push({key:"S",data:[...s]}),A=s[2],t=s[3];break;case"s":{const e=s.map(((e,i)=>i%2?e+t:e+A));a.push({key:"S",data:e}),A=e[2],t=e[3];break}case"T":a.push({key:"T",data:[...s]}),A=s[0],t=s[1];break;case"t":A+=s[0],t+=s[1],a.push({key:"T",data:[A,t]});break;case"Z":case"z":a.push({key:"Z",data:[]}),A=i,t=n}return a}function normalize(e){const A=[];let t="",i=0,n=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":A.push({key:"M",data:[...c]}),[i,n]=c,[a,r]=c;break;case"C":A.push({key:"C",data:[...c]}),i=c[4],n=c[5],s=c[2],o=c[3];break;case"L":A.push({key:"L",data:[...c]}),[i,n]=c;break;case"H":i=c[0],A.push({key:"L",data:[i,n]});break;case"V":n=c[0],A.push({key:"L",data:[i,n]});break;case"S":{let e=0,a=0;"C"===t||"S"===t?(e=i+(i-s),a=n+(n-o)):(e=i,a=n),A.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],i=c[2],n=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===t||"T"===t?(r=i+(i-s),l=n+(n-o)):(r=i,l=n);const d=i+2*(r-i)/3,h=n+2*(l-n)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;A.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,i=e,n=a;break}case"Q":{const[e,t,a,r]=c,l=i+2*(e-i)/3,d=n+2*(t-n)/3,h=a+2*(e-a)/3,u=r+2*(t-r)/3;A.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=t,i=a,n=r;break}case"A":{const e=Math.abs(c[0]),t=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===t?(A.push({key:"C",data:[i,n,o,l,o,l]}),i=o,n=l):i===o&&n===l||(arcToCubicCurves(i,n,o,l,e,t,a,r,s).forEach((function(e){A.push({key:"C",data:e})})),i=o,n=l);break}case"Z":A.push({key:"Z",data:[]}),i=a,n=r}t=l}return A}function degToRad(e){return Math.PI*e/180}function rotate(e,A,t){return[e*Math.cos(t)-A*Math.sin(t),e*Math.sin(t)+A*Math.cos(t)]}function arcToCubicCurves(e,A,t,i,n,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,A]=rotate(e,A,-c),[t,i]=rotate(t,i,-c);const r=(e-t)/2,l=(A-i)/2;let d=r*r/(n*n)+l*l/(a*a);d>1&&(d=Math.sqrt(d),n*=d,a*=d);const m=n*n,w=a*a,f=m*w-m*l*l-w*r*r,B=m*l*l+w*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*n*l/a+(e+t)/2,p=E*-a*r/n+(A+i)/2,h=Math.asin(parseFloat(((A-p)/a).toFixed(9))),u=Math.asin(parseFloat(((i-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let m=u-h;if(Math.abs(m)>120*Math.PI/180){const e=u,A=t,s=i;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(t=g+n*Math.cos(u),i=p+a*Math.sin(u),A,s,n,a,r,0,o,[u,e,g,p])}m=u-h;const w=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(m/4),C=4/3*n*b,v=4/3*a*b,y=[e,A],F=[e+C*f,A-v*w],x=[t+C*E,i-v*B],S=[t,i];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,S].concat(d);{d=[F,x,S].concat(d);const e=[];for(let A=0;A{s.length>=4&&a.push(...pointsOnBezierCurves(s,A)),s=[]},l=()=>{o(),a.length&&(n.push(a),a=[])};for(const{key:e,data:A}of i)switch(e){case"M":l(),r=[A[0],A[1]],a.push(r);break;case"L":o(),a.push([A[0],A[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([A[0],A[1]]),s.push([A[2],A[3]]),s.push([A[4],A[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!t)return n;const c=[];for(const e of n){const A=simplify(e,t);A.length&&c.push(A)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,A)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(A)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,A)=>[...A.attributes].reduce(((t,i)=>(skippedUseAttrs.includes(i.value)||e.hasAttribute(i.name)&&!allwaysPassedUseAttrs.includes(i.name)||t.setAttribute(i.name,A.getAttribute(i.name)||""),t)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const A=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(A,A.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:A,tw:t,scene:i}=e,n=t.currentNode,a=n.getAttribute("href")||n.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=A.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,n);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&i.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"r",0),r=2*a,s=getNum(n,"x",0)+getNum(n,"cx",0)-a,o=getNum(n,"y",0)+getNum(n,"cy",0)-a,l=getTransformMatrix(n,i),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:i.map((e=>e.id))});t.elements.push(h),walk(e,A.nextNode())},ellipse:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"rx",0),r=getNum(n,"ry",0),s=getNum(n,"cx",0),o=getNum(n,"cy",0),l=getNum(n,"x",0)+s-a,c=getNum(n,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(n,i),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),m=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:i.map((e=>e.id))});t.elements.push(m),walk(e,A.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=transformPoints(pointsAttrToPoints(n),getTransformMatrix(n,i)),r=a[0][0],s=a[0][1],o=a.map((([e,A])=>[e-r,A-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});t.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=transformPoints(pointsAttrToPoints(n),a),s=r[0][0],o=r[0][1],l=r.map((([e,A])=>[e-s,A-o])),[c,d]=dimensionsFromPoints(l),h=has(n,"fill"),u=get(n,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});t.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getNum(n,"x",0),r=getNum(n,"y",0),s=getNum(n,"width",0),o=getNum(n,"height",0),l=getTransformMatrix(n,i),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=n.hasAttribute("rx")||n.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],roundness:h?{type:ROUNDNESS.LEGACY}:null});t.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:A,scene:t,groups:i}=e,n=A.currentNode,a=getTransformMatrix(n,i),r=pointsOnPath(get(n,"d")),s=get(n,"fill","black"),o=get(n,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((A,t)=>{const r=transformPoints(A,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,A])=>[e-o,A-l])),g=getWindingOrder(u);0===t&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(n,i)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(n,"x",0),y:l+getNum(n,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,A)=>{const t=transformPoints(e,clone(a)),r=t[0][0],s=t[0][1],[o,l]=dimensionsFromPoints(t),d=t.map((([e,A])=>[e-r,A-s]));return 0===A&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(n,i)),{points:d,width:o,height:l,x:r+getNum(n,"x",0),y:s+getNum(n,"y",0)})}))}t.elements=t.elements.concat(l),walk(e,A.nextNode())}};function walk(e,A){if(!A)return;const t=A.nodeName;walkers[t]&&walkers[t](e)}const svgToExcalidraw=e=>{const A=(new DOMParser).parseFromString(e,"image/svg+xml"),t=A.querySelectorAll("parsererror"),i=t.length>0;let n=null;if(i)console.error("There were errors while parsing the given SVG: ",[...t].map((e=>e.innerHTML)));else{const e=createTreeWalker(A),t=new ExcalidrawScene;walk({tw:e,scene:t,groups:[],root:A},e.nextNode()),n=t.elements}return{hasErrors:i,errors:i?t:null,content:n}};B([r$d,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText,getDefaultLineHeight:getDefaultLineHeight}=excalidrawLib,GAP=4;class ExcalidrawAutomate{get obsidian(){return obsidian_module__namespace}constructor(e,A){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=A}getViewLastPointerPosition(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.currentPosition:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.roundness={type:ROUNDNESS.LEGACY},"round"):(this.style.roundness=null,"sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const A=nanoid();return e.forEach((e=>{var t,i;null===(i=null===(t=this.elementsDict[e])||void 0===t?void 0:t.groupIds)||void 0===i||i.push(A)})),A}async toClipboard(e){const A=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let t=A?A.elements:[];t=t.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:t}))}getElements(){const e=[],A=Object.keys(this.elementsDict);for(let t=0;t{let A=e.plaintext?e.plaintext+"\n\n":"";const t=this.getElements().filter((e=>"text"===e.type));return A+="# Text Elements\n",t.forEach((e=>{var t,i;A+=`${null!==(t=e.rawText)&&void 0!==t?t:null!==(i=e.originalText)&&void 0!==i?i:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{A+=`${e.link} ^${e.id}\n\n`})),A+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const t=this.imagesDict[e];t.latex?A+=`${e}: $$${t.latex}$$\n`:A+=`${e}: [[${t.file}]]\n`})),A})()+getMarkdownDrawingSection(JSON.stringify(G,null,"\t"),this.plugin.settings.compress))}async createSVG(e,A=!1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createSVG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,A=1,t,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!t&&(t={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createPNG(e,A,t,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,A){return wrapTextAtCharLength(e,A,this.plugin.settings.forceWrap)}boxedElement(e,A,t,i,n,a){return{id:e,type:A,x:t,y:i,width:n,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,roundness:this.style.strokeSharpness?"round"===this.style.strokeSharpness?{type:ROUNDNESS.ADAPTIVE_RADIUS}:null:this.style.roundness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"rectangle",e,A,t,i),n}addDiamond(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"diamond",e,A,t,i),n}addEllipse(e,A,t,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"ellipse",e,A,t,i),n}addBlob(e,A,t,i){const n=.5*i,a=.5*t,r=a/9,s=.8*n,o=[],l=(t,i)=>{const l=t+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+t%2*r/6+e,i*Math.sqrt(n*n*(1-l*l/(a*a)))+Math.random()*s-s/2+t%2*s/6+A])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const A=getLineBox(e),n=t/A.w,a=i/A.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[n]=this.boxedElement(n,"image",e,A,r.size.width,r.size.height),this.elementsDict[n].fileId=s,this.elementsDict[n].scale=[1,1],n}async addLaTex(e,A,t){const i=nanoid(),n=await tex2dataURL(t,this.plugin);return n?(this.imagesDict[n.fileId]={mimeType:n.mimeType,id:n.fileId,dataURL:n.dataURL,created:n.created,file:null,hasSVGwithBitmap:!1,latex:t},this.elementsDict[i]=this.boxedElement(i,"image",e,A,n.size.width,n.size.height),this.elementsDict[i].fileId=n.fileId,this.elementsDict[i].scale=[1,1],i):null}connectObjects(e,A,t,i,n){if(!this.elementsDict[e]||!this.elementsDict[t])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[t].type))return;const a=(null==n?void 0:n.padding)?n.padding:10,r=(null==n?void 0:n.numberOfPoints)?n.numberOfPoints:0,s=(e,A)=>{switch(e){case"bottom":return[(A.x+(A.x+A.width))/2,A.y+A.height+a];case"left":return[A.x-a,(A.y+(A.y+A.height))/2];case"right":return[A.x+A.width+a,(A.y+(A.y+A.height))/2];default:return[(A.x+(A.x+A.width))/2,A.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[t];if(!A||!i){const e=h.x+h.width/2,t=u.x+u.width/2,n=h.y+h.height/2,a=u.y+u.height/2;if(!A){const A=intersectElementWithLine(h,[t,a],[e,n],4);0===A.length?[o,l]=[e,n]:[o,l]=A[0]}if(!i){const A=intersectElementWithLine(u,[e,n],[t,a],4);0===A.length?[c,d]=[t,a]:[c,d]=A[0]}}A&&([o,l]=s(A,this.elementsDict[e])),i&&([c,d]=s(i,this.elementsDict[t]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(i-=Math.PI),this.style.angle=i;const a=this.addText(t.x+t.points[1][0]/2-n.width/2,t.y+t.points[1][1]/2-n.height,A);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,roundness:null,fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if(!e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(e instanceof ExcalidrawView)this.targetView=e;else{const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}}if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const A=this.targetView.excalidrawAPI;return A?A.getSceneElements():[]}deleteViewElements(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawRef)||void 0===i?void 0:i.current;if(!n)return!1;const a=n.getSceneElements(),r=n.getAppState();return this.targetView.updateScene({elements:a.filter((A=>!e.includes(A))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var A,t,i,n;return this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&"image"===e.type?null===(n=null===(i=null===(t=this.targetView)||void 0===t?void 0:t.excalidrawData)||void 0===i?void 0:i.getFile(e.fileId))||void 0===n?void 0:n.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}setViewModeEnabled(e){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView;n.updateScene({appState:{viewModeEnabled:e}}),null===(i=null===(t=n.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(e)}viewUpdateScene(e,A=!1){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.updateScene(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewZoomToElements(e,A){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?this.targetView.zoomToElements(e,A):errorMessage("targetView not set","viewToggleFullScreen()")}viewToggleFullScreen(e=!1){var A,t,i;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView,a=n.isFullscreen();e&&(n.updateScene({appState:{viewModeEnabled:!a},commitToHistory:!1}),null===(i=null===(t=this.targetView.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===i||i.setExcalidrawViewMode(!a)),a?n.exitFullscreen():n.gotoFullscreen()}connectObjectWithViewSelectedElement(e,A,t,i){const n=this.getViewSelectedElement();if(!n)return!1;const a=n.id;return this.elementsDict[a]=n,this.connectObjects(e,A,a,t,i),delete this.elementsDict[a],!0}async addElementsToView(e=!1,A=!0,t=!1){var i;if(!this.targetView||!(null===(i=this.targetView)||void 0===i?void 0:i._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const n=this.getElements();return await this.targetView.addElements(n,e,A,this.imagesDict,t)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,A){return{withBackground:e,withTheme:A}}getBoundingBox(e){const A=getCommonBoundingBox(e);return{topX:A.minX,topY:A.minY,width:A.maxX-A.minX,height:A.maxY-A.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let A=e[0];const t=e=>e.height*e.width;let i=t(e[0]);for(let n=1;ni&&(i=a,A=e[n])}return A}getCommonGroupForElements(e){const A=e.map((e=>e.groupIds)).reduce(((e,A)=>A.filter((A=>e.includes(A)))));return A.length>0?A[0]:null}getElementsInTheSameGroupWithElement(e,A){if(!e||!A)return[];const t="text"===e.type&&e.containerId?A.filter((A=>A.id===e.containerId)):[];return 0===e.groupIds.length?1===t.length?[e,t[0]]:[e]:1===t.length?A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))||A===t[0])):A.filter((A=>A.groupIds.some((A=>e.groupIds.includes(A)))))}intersectElementWithLine(e,A,t,i){return intersectElementWithLine(e,A,t,i)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian_module.TFile))return null;if(!this.targetView)return null;const A=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return A.openFile(e,{active:!0}),A}measureText(e){var A,t;const i=_measureText(e,this.style.fontSize,this.style.fontFamily,getDefaultLineHeight(this.style.fontFamily));return{width:null!==(A=i.w)&&void 0!==A?A:0,height:null!==(t=i.h)&&void 0!==t?t:0}}async getOriginalImageSize(e){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const t=this.targetView.excalidrawData.getFile(e.fileId);if(!t)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const i="dark"===this.getExcalidrawAPI().getAppState().theme,n=t.getImage(i);return await getImageSize(n)}verifyMinimumPluginVersion(e){return verifyMinimumPluginVersion(e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const A=JSON.parse(JSON.stringify(e));return A.id=nanoid(),A}moveViewElementToZIndex(e,A){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const i=this.getExcalidrawAPI(),n=this.getViewElements(),a=n.filter((A=>A.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(A>=n.length)return void i.bringToFront(a);if(A<0)return void i.sendToBack(a);const r=n.indexOf(a[0]);n.splice(A,0,n.splice(r,1)[0]),this.targetView.updateScene({elements:n,commitToHistory:!0})}hexStringToRgb(e){const A=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(A[1],16),parseInt(A[2],16),parseInt(A[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const A=O$1({h:e[0],s:e[1],l:e[2]});return[A.red,A.green,A.blue]}rgbToHsl(e){const A=O$1({r:e[0],g:e[1],b:e[2]});return[A.hue,A.saturation,A.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const A=svgToExcalidraw(e);return A.hasErrors?(new obsidian_module.Notice(`There were errors while parsing the given SVG:\n${[...A.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(A.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const A=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=A,A}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const A=[],[t,i]=e[0];for(let n=0;n-1||A.search("excalidraw-plugin: locked\n")>-1;await a.loadData(A,l,o?TextMode.parsed:TextMode.raw);let d=A.search("# Text Elements\n");-1==d&&(d=A.search("# Drawing\n"));let h=a.scene;t&&await i.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const A of e)A.hasSVGwithBitmap&&(c=!0),a.scene.files[A.id]={mimeType:A.mimeType,id:A.id,dataURL:A.dataURL,created:A.created};h=scaleLoadedImage(a.scene,e).scene}}),n);let u=h.elements;if(s.hasGroupref){const A=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));A.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(A[0],h.elements))}return s.hasTaskbone&&(u=u.filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!e.isExcalidrawFile(null===(t=a.getFile(A.fileId))||void 0===t?void 0:t.file)}))),{elements:u,appState:h.appState,frontmatter:A.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,A=1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,A)}async function createSVG(e,A=!1,t,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const C=await getSVG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==t?void 0:t.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==t?void 0:t.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),v=getEmbeddedFilenameParts(e);if(!v.hasGroupref&&(v.hasBlockref||v.hasSectionref)){let e=v.hasSectionref?getTextElementsMatchingQuery(E,["# "+v.sectionref],!0):E.filter((e=>e.id===v.blockref));if(e.length>0){const A=e[0].containerId;A&&(e=e.concat(E.filter((e=>e.id===A))));const t=o.ea.getBoundingBox(e),i=o.ea.getBoundingBox(E);C.viewBox.baseVal.x=t.topX-i.topX,C.viewBox.baseVal.y=t.topY-i.topY,C.viewBox.baseVal.width=t.width+2*c,C.viewBox.baseVal.height=t.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&C.setAttribute("hasbitmap","true"),A?embedFontsInSVG(C,o):C}function estimateLineBound(e){let A=1/0,t=1/0,i=-1/0,n=-1/0;for(const[a,r]of e)A=Math.min(A,a),t=Math.min(t,r),i=Math.max(i,a),n=Math.max(n,r);return[A,t,i,n]}function estimateBounds(e){const A=getCommonBoundingBox(e);return[A.minX,A.minY,A.maxX,A.maxY]}function repositionElementsToCursor(e,A,t=!1){const[i,n,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=t?[A.x-(i+a)/2,A.y-(n+r)/2]:[A.x-i,A.y-n],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,A){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:A,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:A,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:A,message:"unknown error"})}}const insertLaTeXToView=e=>{const A=e.plugin.app,t=e.plugin.ea;new Prompt(A,t$d("ENTER_LATEX"),e.plugin.settings.latexBoilerplate,"\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async A=>{A&&(t.reset(),await t.addLaTex(0,0,A),t.setView(e),t.addElementsToView(!0,!1,!0))}))},search=async e=>{const A=e.plugin.ea;A.reset(),A.setView(e);const t=A.getViewElements().filter((e=>"text"===e.type));if(0===t.length)return;let i=await ScriptEngine.inputPrompt(e,e.plugin,e.plugin.app,"Search for","use quotation marks for exact match","");if(!i)return;const n=i.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=n.next()).done;)r.push(a.value[1]);i=i.replaceAll(/"(.*?)"/g,""),r=r.concat(i.split(" ").filter((e=>0!==e.length))),A.targetView.selectElementsMatchingQuery(t,r)},getTextElementsMatchingQuery=(e,A,t=!1)=>e&&0!==e.length&&A&&0!==A.length?e.filter((e=>"text"===e.type&&A.some((A=>{if(t){const t=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!t||2!==t.length)&&t[1]===A.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(A.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),verifyMinimumPluginVersion=e=>PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian_module.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian_module.request({url:URL$1});if(!e)return new obsidian_module.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian_module.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian_module.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function r(e){var A,t,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e))for(A=0;A{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.plugin.saveSettings();const e=this.plugin.settings.customPens[this.pen],A=this.view.excalidrawAPI;setPen(e,A),A.setActiveTool({type:"freedraw"})}}async createForm(){const e=e=>{let A="";if(COLOR_NAMES.has(e))return[COLOR_NAMES.get(e),A];const t=(new Option).style;if(t.color=e,t.color){const e=t.color.match(/^[^\d]*(\d*)[^\d]*(\d*)[^\d]*(\d*)[^\d]*([\d\.]*)?/);return e?(A=e[4]?(Math.round(255*parseFloat(e[4]))<<0).toString(16).padStart(2,"0"):"",[`#${(parseInt(e[1])<<0).toString(16).padStart(2,"0")}${(parseInt(e[2])<<0).toString(16).padStart(2,"0")}${(parseInt(e[3])<<0).toString(16).padStart(2,"0")}`,A]):[null,A]}return[null,A]},A=this.plugin.settings.customPens[this.pen],t=this.contentEl;let i,n,a,r,s;t.createEl("h1",{text:"Pen settings"}),new obsidian_module.Setting(t).setName("Pen type").setDesc("Select type of pen").addDropdown((e=>{e.addOption("default","Excalidraw Default").addOption("highlighter","Highlighter").addOption("finetip","Fine tip pen").addOption("fountain","Fountain pen").addOption("marker","Marker with Outline").addOption("thick-thin","Mindmap Thick-Thin").addOption("thin-thick-thin","Mindmap Thin-Thick-Thin").setValue(A.type).onChange((e=>{this.dirty=!0,A.type=e}))})).addButton((e=>e.setButtonText("Apply").onClick((()=>{this.dirty=!0,A.strokeColor=PENS[A.type].strokeColor,A.backgroundColor=PENS[A.type].backgroundColor,A.fillStyle=PENS[A.type].fillStyle,A.strokeWidth=PENS[A.type].strokeWidth,A.roughness=PENS[A.type].roughness,A.penOptions=Object.assign({},PENS[A.type].penOptions),t.empty(),this.createForm()})))),i=new obsidian_module.Setting(t).setName(fragWithHTML(A.freedrawOnly?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")).setDesc(fragWithHTML('"All shapes" means that if for example, you select a blue pen with dashed fill and then switch to a different tool (e.g. to a line, a circle, an arrow - i.e. not the freedraw tool), those will all have the same blue line and dashed fill.
      "Only applies to the freedraw line" means that if for example you are writing black text, and you select a custom pen (e.g. a yellow highlighter), then after using the highlighter you switch to another tool, the previous settings (e.g. black stroke color) will apply to the new shape.')).addToggle((e=>e.setValue(A.freedrawOnly).onChange((e=>{this.dirty=!0,i.setName(fragWithHTML(e?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")),A.freedrawOnly=e}))));let o,l,c,d,h,u,g,[p,m]=e(A.strokeColor),w=!1;s=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.strokeColor)?"Stroke color: Preset color":"Stroke color: Current")).setDesc(fragWithHTML("Use current stroke color of the canvas, or set a specific preset color for the pen")).addToggle((t=>t.setValue(!Boolean(A.strokeColor)).onChange((t=>{this.dirty=!0,n.settingEl.style.display=t?"none":"",s.setName(fragWithHTML(t?"Stroke color: Current":"Stroke color: Preset color")),t?delete A.strokeColor:(r.getValue()||([p,m]=e("black"),a.setValue(p),r.setValue("black")),A.strokeColor=r.getValue())})))),n=new obsidian_module.Setting(t).setName("Select stroke color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),s=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemStrokeColor)&&void 0!==i?i:n.currentItemStrokeColor;[p,m]=e(s),A.strokeColor=s,this.dirty=!0,r.setValue(s),w=!0,a.setValue(p)})))).addText((t=>{r=t,t.setValue(A.strokeColor).onChange((t=>{w=!0,this.dirty=!0,A.strokeColor=t,[p,m]=e(t),p&&a.setValue(p)}))})).addColorPicker((e=>{a=e,e.setValue(null!=p?p:"#000000").onChange((e=>{w?w=!1:(this.dirty=!0,A.strokeColor=e+m,r.setValue(e+m))}))})),n.settingEl.style.display=Boolean(A.strokeColor)?"":"none";let[f,B]=e(A.backgroundColor);o=new obsidian_module.Setting(t).setName(fragWithHTML(Boolean(A.backgroundColor)?"Background color: Preset color":"Background color: Current")).setDesc(fragWithHTML("Toggle to use the current background color of the canvas; or a preset color")).addToggle((t=>t.setValue(!Boolean(A.backgroundColor)).onChange((t=>{this.dirty=!0,o.setName(fragWithHTML(t?"Background color: Current":"Background color: Preset color")),c.settingEl.style.display=t?"none":"",l.settingEl.style.display=t||"transparent"===A.backgroundColor?"none":"",t?delete A.backgroundColor:(h.getValue()||([f,B]=e("black"),d.setValue(f),h.setValue("black")),u.setValue(!1))})))),c=new obsidian_module.Setting(t).setName(fragWithHTML("transparent"===A.backgroundColor?"Background: Transparent":"Color: Preset color")).setDesc("Background has color or is transparent").addToggle((e=>{u=e,e.setValue("transparent"===A.backgroundColor).onChange((e=>{this.dirty=!0,l.settingEl.style.display=e?"none":"",g.settingEl.style.display=e?"none":"",c.setName(fragWithHTML(e?"Background: Transparent":"Color: Preset color")),A.backgroundColor=e?"transparent":d.getValue()}))})),c.settingEl.style.display=Boolean(A.backgroundColor)?"":"none";let E,b,C,v,y,F,x,S,T,I=!1;l=new obsidian_module.Setting(t).setName("Background color").addButton((t=>t.setButtonText("Use Canvas Current").onClick((()=>{var t,i;const n=this.api.getAppState(),a=null!==(i=null===(t=n.resetCustomPen)||void 0===t?void 0:t.currentItemBackgroundColor)&&void 0!==i?i:n.currentItemBackgroundColor;[f,B]=e(a),A.backgroundColor=a,this.dirty=!0,h.setValue(a),I=!0,d.setValue(f)})))).addText((t=>{h=t,t.setValue(A.backgroundColor).onChange((t=>{I=!0,this.dirty=!0,A.backgroundColor=t,[f,B]=e(t),f&&d.setValue(f)}))})).addColorPicker((e=>{d=e,e.setValue(null!=f?f:"#000000").onChange((e=>{I?I=!1:(this.dirty=!0,A.backgroundColor=e+B,h.setValue(e+B))}))})),l.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",g=new obsidian_module.Setting(t).setName("Fill Style").addDropdown((e=>e.addOption("","Unset").addOption("dots","Dots (⚠ VERY SLOW performance on large objects!)").addOption("zigzag","Zigzag").addOption("zigzag-line","Zigzag-line").addOption("dashed","Dashed").addOption("hachure","Hachure").addOption("cross-hatch","Cross-hatch").addOption("solid","Solid").setValue(A.fillStyle).onChange((e=>{this.dirty=!0,A.fillStyle=e})))),g.settingEl.style.display=Boolean(A.backgroundColor)&&"transparent"!==A.backgroundColor?"":"none",E=new obsidian_module.Setting(t).setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`)).setDesc("Line sloppiness of the shape fill pattern").addSlider((e=>e.setLimits(-.5,3,.5).setValue(null===A.roughness?-.5:A.roughness).onChange((e=>{this.dirty=!0,A.roughness=-.5===e?null:e,E.setName(fragWithHTML(`Sloppiness: ${null===A.roughness?"Not Set":A.roughness<=.5?"Architect (":A.roughness<=1.5?"Artist (":"Cartoonist ("}${null===A.roughness?"":`${A.roughness})`}`))})))),b=new obsidian_module.Setting(t).setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`)).addSlider((e=>e.setLimits(0,5,.5).setValue(A.strokeWidth).onChange((e=>{this.dirty=!0,A.strokeWidth=e,b.setName(fragWithHTML(`Stroke Width ${0===A.strokeWidth?"Not Set":A.strokeWidth}`))})))),new obsidian_module.Setting(t).setName("Highlighter pen?").addToggle((e=>e.setValue(A.penOptions.highlighter).onChange((e=>{this.dirty=!0,A.penOptions.highlighter=e})))),new obsidian_module.Setting(t).setName("Pressure sensitve pen?").setDesc(fragWithHTML("toggle on: pressure sensitive
      toggle off: constant pressure")).addToggle((e=>e.setValue(!A.penOptions.constantPressure).onChange((e=>{this.dirty=!0,A.penOptions.constantPressure=!e,C.settingEl.style.display=A.penOptions.constantPressure?"none":""})))),A.penOptions.hasOutline&&0===A.penOptions.outlineWidth&&(A.penOptions.outlineWidth=.5,this.dirty=!0),!A.penOptions.hasOutline&&A.penOptions.outlineWidth>0&&(A.penOptions.outlineWidth=0,this.dirty=!0),v=new obsidian_module.Setting(t).setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`)).setDesc("If the stroke has an outline, this will mean the stroke color is the outline color, and the background color is the pen stroke's fill color. If the pen does not have an outline then the pen color is the stroke color. The Fill Style setting applies to the fill style of the enclosed shape, not of the line itself. The line can only have solid fill.").addSlider((e=>e.setLimits(0,8,.5).setValue(A.penOptions.outlineWidth).onChange((e=>{this.dirty=!0,A.penOptions.outlineWidth=e,A.penOptions.hasOutline=e>0,v.setName(fragWithHTML(0===A.penOptions.outlineWidth?"No outline":`Outline width ${A.penOptions.outlineWidth}`))})))),t.createEl("h2",{text:"Perfect Freehand settings"}),t.createEl("p").innerHTML='Read the Perfect Freehand documentation following this link.',y=new obsidian_module.Setting(t).setName(fragWithHTML(`Thinnning ${A.penOptions.options.thinning}`)).setDesc(fragWithHTML("The effect of pressure on the stroke's size.
      To create a stroke with a steady line, set the thinning option to 0.
      To create a stroke that gets thinner with pressure instead of thicker, use a negative number for the thinning option.")).addSlider((e=>e.setLimits(-1,1,.05).setValue(A.penOptions.options.thinning).onChange((e=>{this.dirty,y.setName(fragWithHTML(`Thinnning ${e}`)),A.penOptions.options.thinning=e})))),F=new obsidian_module.Setting(t).setName(fragWithHTML(`Smoothing ${A.penOptions.options.smoothing}`)).setDesc(fragWithHTML("How much to soften the stroke's edges.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.smoothing).onChange((e=>{this.dirty,F.setName(fragWithHTML(`Smoothing ${e}`)),A.penOptions.options.smoothing=e})))),x=new obsidian_module.Setting(t).setName(fragWithHTML(`Streamline ${A.penOptions.options.streamline}`)).setDesc(fragWithHTML("\tHow much to streamline the stroke.")).addSlider((e=>e.setLimits(0,1,.05).setValue(A.penOptions.options.streamline).onChange((e=>{this.dirty,x.setName(fragWithHTML(`Streamline ${e}`)),A.penOptions.options.streamline=e})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.easing=e})))),C=new obsidian_module.Setting(t).setName("Simulate Pressure").setDesc("Whether to simulate pressure based on velocity.").addDropdown((e=>e.addOption("true","Always").addOption("false","Never").addOption("","Yes for mouse, No for pen").setValue(!0===A.penOptions.options.simulatePressure?"true":!1===A.penOptions.options.simulatePressure?"false":"").onChange((e=>{switch(this.dirty=!0,e){case"true":A.penOptions.options.simulatePressure=!0;break;case"false":A.penOptions.options.simulatePressure=!1;break;default:delete A.penOptions.options.simulatePressure}})))),C.settingEl.style.display=A.penOptions.constantPressure?"none":"",t.createEl("h3",{text:"Start"}),t.createEl("p",{text:"Tapering options for the start of the line."}),new obsidian_module.Setting(t).setName("Cap Start").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.start.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.start.cap=e})))),S=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.start.taper?151:A.penOptions.options.start.taper).onChange((e=>{this.dirty,A.penOptions.options.start.taper=151===e||e,S.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.start.taper?"true":A.penOptions.options.start.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.start.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.start.easing=e})))),t.createEl("h3",{text:"End"}),t.createEl("p",{text:"Tapering options for the end of the line."}),new obsidian_module.Setting(t).setName("Cap End").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(A.penOptions.options.end.cap).onChange((e=>{this.dirty=!0,A.penOptions.options.end.cap=e})))),T=new obsidian_module.Setting(t).setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof A.penOptions.options.end.taper?151:A.penOptions.options.end.taper).onChange((e=>{this.dirty,A.penOptions.options.end.taper=151===e||e,T.setName(fragWithHTML(`Taper: ${!0===A.penOptions.options.end.taper?"true":A.penOptions.options.end.taper}`))})))),new obsidian_module.Setting(t).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(A.penOptions.options.end.easing).onChange((e=>{this.dirty=!0,A.penOptions.options.end.easing=e}))))}}const ICONS={ExportImage:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("g",{strokeWidth:"1.25"},React__namespace.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),React__namespace.createElement("path",{d:"M15 8h.01"}),React__namespace.createElement("path",{d:"M12 20h-5a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v5"}),React__namespace.createElement("path",{d:"M4 15l4 -4c.928 -.893 2.072 -.893 3 0l4 4"}),React__namespace.createElement("path",{d:"M14 14l1 -1c.617 -.593 1.328 -.793 2.009 -.598"}),React__namespace.createElement("path",{d:"M19 16v6"}),React__namespace.createElement("path",{d:"M22 19l-3 3l-3 -3"}))),Discord:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"var(--icon-fill-color)",stroke:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 640 512"},React__namespace.createElement("path",{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"})),Github:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),React__namespace.createElement("path",{d:"M9 18c-4.51 2-5-2-7-2"})),YouTube:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M12 19c-2.3 0-6.4-.2-8.1-.6-.7-.2-1.2-.7-1.4-1.4-.3-1.1-.5-3.4-.5-5s.2-3.9.5-5c.2-.7.7-1.2 1.4-1.4C5.6 5.2 9.7 5 12 5s6.4.2 8.1.6c.7.2 1.2.7 1.4 1.4.3 1.1.5 3.4.5 5s-.2 3.9-.5 5c-.2.7-.7 1.2-1.4 1.4-1.7.4-5.8.6-8.1.6 0 0 0 0 0 0z"}),React__namespace.createElement("polygon",{points:"10 15 15 12 10 9"})),heart:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z"})),twitter:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"})),exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),exportSVG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"S")),exportPNG:React__namespace.createElement("svg",{viewBox:"0 0 28 28",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"1"},React__namespace.createElement("text",{style:{fontSize:"28px",fontWeight:"bold"},x:"4",y:"24"},"P")),exportExcalidraw:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",strokeWidth:"2"},React__namespace.createElement("g",{transform:"translate(30,5)"},React__namespace.createElement("path",{d:"M14.45 1.715c-2.723 2.148-6.915 5.797-10.223 8.93l-2.61 2.445.477 3.207c.258 1.75.738 5.176 1.031 7.582.332 2.406.66 4.668.773 4.996.145.438 0 .656-.406.656-.699 0-.734-.183 1.176 5.832.7 2.297 1.363 4.414 1.434 4.633.074.254.367.363.699.254.332-.145.515-.438.406-.691-.113-.293.074-.586.367-.696.403-.144.367-.437-.258-1.492-.992-1.64-3.53-15.64-3.675-20.164-.11-3.207-.11-3.242 1.25-5.066 1.324-1.786 4.375-4.485 9.078-7.91 1.324-.985 2.648-2.079 3.015-2.446.551-.656.809-.472 5.442 4.414 2.683 2.805 5.664 5.688 6.617 6.414l1.766 1.313-1.36 2.844c-.734 1.53-3.715 7.437-6.656 13.054-6.137 11.813-4.887 10.68-12.02 10.79l-4.632.038-1.547 1.75c-1.617 1.86-1.836 2.551-1.063 3.72.293.398.512 1.054.512 1.456 0 .656.258.766 1.73.84.918.035 1.762.145 1.875.254.11.11.258 2.371.368 5.031l.144 4.813-2.46 5.25C1.616 72.516 0 76.527 0 77.84c0 .691.148 1.273.293 1.273.367 0 .367-.035 15.332-30.988 6.95-14.363 13.531-27.89 14.633-30.113 1.101-2.227 2.094-4.266 2.168-4.559.074-.328-2.461-2.844-6.508-6.379C22.281 3.864 19.082.95 18.785.621c-.844-1.023-2.094-.695-4.336 1.094zM15.7 43.64c-1.692 3.246-1.766 3.28-6.4 3.5-4.081.218-4.152.183-4.152-.582 0-.438-.148-1.024-.332-1.313-.222-.328-.074-.914.442-1.715l.808-1.238h3.676c2.024-.04 4.34-.184 5.149-.328.808-.149 1.507-.219 1.578-.184.074.035-.293.875-.77 1.86zm-3.09 5.832c-.294.765-1.067 2.37-1.692 3.574-1.027 2.043-1.137 2.113-1.395 1.277-.148-.511-.257-2.008-.296-3.355-.036-2.66-.11-2.625 2.98-2.809l.992-.035zm0 0"}),React__namespace.createElement("path",{d:"M15.55 10.39c-.66.473-.843.95-.843 2.153 0 1.422.11 1.64 1.102 2.039.992.402 1.25.367 2.39-.398 1.508-1.024 1.543-1.278.442-2.918-.957-1.422-1.914-1.676-3.09-.875zm2.098 1.313c.586 1.02.22 1.785-.882 1.785-.993 0-1.434-.984-.883-1.968.441-.801 1.285-.727 1.765.183zm0 0M38.602 18.594c0 .183-.22.363-.477.363-.219 0-.844 1.023-1.324 2.262-1.469 3.793-16.176 32.629-16.211 31.718 0-.472-.223-.8-.59-.8-.516 0-.59.289-.367 1.71.219 1.641.074 2.008-5.149 12.071-2.941 5.723-6.101 11.703-7.02 13.305-.956 1.68-1.69 3.5-1.765 4.265-.11 1.313.035 1.496 3.235 4.23 1.84 1.606 4.191 3.61 5.222 4.52 4.63 4.196 6.801 5.871 7.387 5.762.883-.145 14.523-14.328 14.559-15.129 0-.367-.66-5.906-1.47-12.324-1.398-10.938-2.722-23.734-2.573-24.973.109-.765-.442-4.633-.844-6.308-.332-1.313-.184-1.86 2.46-7.84 1.544-3.535 3.567-7.875 4.45-9.625.844-1.75 1.582-3.281 1.582-3.39 0-.11-.258-.18-.55-.18-.298 0-.555.144-.555.363zm-8.454 27.234c.403 2.55 1.211 8.676 1.801 13.598 1.14 9.043 2.461 19.07 2.832 21.62.219 1.278.07 1.532-2.316 4.157-4.156 4.629-8.567 9.188-10.074 10.356l-1.399 1.093-7.168-6.636c-6.617-6.051-7.168-6.672-6.765-7.403.222-.398 2.097-3.789 4.156-7.508 2.058-3.718 4.777-8.68 6.027-11.011 1.29-2.371 2.465-4.41 2.684-4.52.258-.148.332 3.535.258 11.375-.149 11.703-.11 11.739 1.066 11.485.148 0 .258-5.907.258-13.09V56.293l3.86-7.656c2.132-4.23 3.898-7.621 3.972-7.586.07.039.441 2.187.808 4.777zm0 0"}))),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"}))),obsidian:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 267"},React__namespace.createElement("path",{fill:"transparent",d:"M0 0h165.742v267.245H0z"}),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#bd7efc",strokeWidth:"0",d:"M55.5 96.49 39.92 57.05 111.28 10l4.58 36.54L55.5 95.65"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M55.5 96.49c-5.79-14.66-11.59-29.33-15.58-39.44M55.5 96.49c-3.79-9.59-7.58-19.18-15.58-39.44m0 0C60.13 43.72 80.34 30.4 111.28 10M39.92 57.05C60.82 43.27 81.73 29.49 111.28 10m0 0c.97 7.72 1.94 15.45 4.58 36.54M111.28 10c1.14 9.12 2.29 18.24 4.58 36.54m0 0C95.41 63.18 74.96 79.82 55.5 95.65m60.36-49.11C102.78 57.18 89.71 67.82 55.5 95.65m0 0v.84m0-.84v.84"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#e2c4ff",strokeWidth:"0",d:"m111.234 10.06 44.51 42.07-40.66-5.08-3.85-36.99"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 10.06c11.83 11.18 23.65 22.36 44.51 42.07m-44.51-42.07 44.51 42.07m0 0c-13.07-1.63-26.13-3.27-40.66-5.08m40.66 5.08c-11.33-1.41-22.67-2.83-40.66-5.08m0 0c-1.17-11.29-2.35-22.58-3.85-36.99m3.85 36.99c-1.47-14.17-2.95-28.33-3.85-36.99m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#2f005e",strokeWidth:"0",d:"m10 127.778 45.77-32.99-15.57-38.08-30.2 71.07"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M10 127.778c16.85-12.14 33.7-24.29 45.77-32.99M10 127.778c16.59-11.95 33.17-23.91 45.77-32.99m0 0c-6.14-15.02-12.29-30.05-15.57-38.08m15.57 38.08c-4.08-9.98-8.16-19.96-15.57-38.08m0 0c-11.16 26.27-22.33 52.54-30.2 71.07m30.2-71.07c-10.12 23.81-20.23 47.61-30.2 71.07m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#410380",strokeWidth:"0",d:"m40.208 235.61 15.76-140.4-45.92 32.92 30.16 107.48"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.208 235.61c3.7-33.01 7.41-66.02 15.76-140.4m-15.76 140.4c3.38-30.16 6.77-60.32 15.76-140.4m0 0c-10.83 7.76-21.66 15.53-45.92 32.92m45.92-32.92c-11.69 8.38-23.37 16.75-45.92 32.92m0 0c6.84 24.4 13.69 48.8 30.16 107.48m-30.16-107.48c6.67 23.77 13.33 47.53 30.16 107.48m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#943feb",strokeWidth:"0",d:"m111.234 240.434-12.47 16.67-42.36-161.87 58.81-48.3 40.46 5.25-44.44 188.25"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M111.234 240.434c-3.79 5.06-7.57 10.12-12.47 16.67m12.47-16.67c-4.43 5.93-8.87 11.85-12.47 16.67m0 0c-16.8-64.17-33.59-128.35-42.36-161.87m42.36 161.87c-9.74-37.2-19.47-74.41-42.36-161.87m0 0c15.03-12.35 30.07-24.7 58.81-48.3m-58.81 48.3c22.49-18.47 44.97-36.94 58.81-48.3m0 0c9.48 1.23 18.95 2.46 40.46 5.25m-40.46-5.25c13.01 1.69 26.02 3.38 40.46 5.25m0 0c-10.95 46.41-21.91 92.82-44.44 188.25m44.44-188.25c-12.2 51.71-24.41 103.42-44.44 188.25m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{fill:"#6212b3",strokeWidth:"0",d:"m40.379 235.667 15.9-140.21 42.43 161.79-58.33-21.58"}),React__namespace.createElement("path",{fill:"none",stroke:"#410380",strokeWidth:".5",d:"M40.379 235.667c4.83-42.62 9.67-85.25 15.9-140.21m-15.9 140.21c5.84-51.52 11.69-103.03 15.9-140.21m0 0c10.98 41.87 21.96 83.74 42.43 161.79m-42.43-161.79c13.28 50.63 26.56 101.25 42.43 161.79m0 0c-11.8-4.37-23.6-8.74-58.33-21.58m58.33 21.58c-21.73-8.04-43.47-16.08-58.33-21.58m0 0s0 0 0 0m0 0s0 0 0 0"})))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),penIcon=e=>{var A,t,i,n,a,r,s,o,l,c,d,h;switch(e.type){case"highlighter":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(A=e.strokeColor)&&void 0!==A?A:"var(--icon-fill-color)",strokeWidth:"2",d:"m9 11-6 6v3h9l3-3"}),React__namespace.createElement("path",{fill:"none",strokeWidth:"2",d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}));case"finetip":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:null!==(t=e.strokeColor)&&void 0!==t?t:"var(--icon-fill-color)",stroke:null!==(i=e.strokeColor)&&void 0!==i?i:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{strokeWidth:"2",d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"}));case"fountain":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(n=e.strokeColor)&&void 0!==n?n:"var(--icon-fill-color)",d:"m12 19 7-7 3 3-7 7-3-3z"}),React__namespace.createElement("path",{fill:"none",d:"m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),React__namespace.createElement("path",{fill:"none",d:"m2 2 7.586 7.586"}),React__namespace.createElement("circle",{fill:"none",cx:"11",cy:"11",r:"2"}));case"marker":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",fill:null!==(a=e.strokeColor)&&void 0!==a?a:"var(--icon-fill-color)",stroke:null!==(r=e.strokeColor)&&void 0!==r?r:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M331 315l158.4-215L460.1 70.6 245 229 331 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L436.6 8.4C444 2.9 453 0 462.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L350.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H240l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L144 320zM23 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H40c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z"}));case"thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 108 106",strokeWidth:"2",fill:null!==(s=e.strokeColor)&&void 0!==s?s:"var(--icon-fill-color)",stroke:null!==(o=e.strokeColor)&&void 0!==o?o:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m-.58 95.628.22-.89q.22-.89.49-2.44.26-1.54.77-3.35t1.31-3.43q.79-1.61.2-.26-.6 1.34-.03-.14.58-1.49 1.54-2.97.96-1.49 2.54-3.18 1.59-1.68 3.46-2.96 1.86-1.27.81-.54-1.04.73.6-.46 1.64-1.19 2.8-1.81 1.16-.63.16-.08-.99.54 1.21-.5 2.2-1.03 1.11-.58-1.1.45-.03-.07 1.06-.53 2.32-.82 1.26-.3 2.91-.52 1.64-.23 3.05-.18 1.4.05 2.5.12 1.09.07 2.25.24 1.16.17 2.3.49 1.15.32 2.11.78.96.47 2.21 1.01 1.25.55 2.37 1.04t2.34.89q1.22.4 2.5.65 1.29.25 2.44.33 1.16.08 2.35.17 1.18.08 2.26-.1 1.08-.19 2-1.1.92-.91 1.25-1.93.32-1.02.38-2.15t.57.21q.51 1.34-.03-.02-.55-1.37-.96-2.83-.41-1.45.5-.67.92.79-.03-.06-.95-.85-1.52-1.8-.57-.94-1.5-1.52-.93-.57-1.94-1.22-1.01-.65-1.97-1.88-.96-1.22-1.44-2.54-.49-1.32-.65-2.57-.17-1.24-.11-2.35.06-1.11.31-2.91.24-1.79.76-2.77.51-.97 1.29-1.8.77-.84 1.64-1.55.88-.72 1.9-1.33 1.03-.61 2.43-1.15 1.41-.55 2.69-.92 1.29-.37 2.81-.68 1.53-.31 2.83-.58 1.31-.27 2.78-.47 1.47-.2 2.58-.49 1.12-.28 2.19-.58 1.08-.31 2.13-.73 1.05-.42 2.44-1.32 1.39-.9 2.68-1.85 1.3-.95 2.25-1.87.95-.91 2.06-2 1.11-1.09 1.92-1.93.82-.84 1.54-1.82.71-.98 1.4-1.88.69-.9 1.38-1.96.69-1.07 1.25-2.04.55-.97 1.21-1.94.65-.96 1.35-1.79.69-.83 1.46-1.74.77-.9 1.66-1.73.89-.84 2.72-2.31 1.84-1.48 1.84-1.47v.01l-1.1 1.03q-1.1 1.02-1.77 1.92-.68.9-1.39 1.85-.71.96-1.41 1.91-.7.96-1.19 1.92-.48.95-.95 1.92-.46.96-.9 1.95-.43.99-1.02 2.16-.59 1.17-1.17 2.15-.58.97-1.23 2.13t-1.29 2.02q-.64.86-1.3 1.73-.66.88-1.42 1.78-.75.9-1.72 2.03-.97 1.14-1.81 1.89-.85.75-1.98 1.71-1.14.96-2.05 1.61-.91.64-2.42 1.38-1.51.73-2.71 1.21t-2.49.92q-1.3.44-2.35.69-1.06.24-2.1.59-1.03.34-2.06.74-1.03.4-2.29.94-1.26.54-2.27 1.11-1.01.58-1.57 1.57-.56.99-.81 2.06-.25 1.08.56 2.02.8.94-.21-.02-1.02-.96-.01-.48 1 .49 1.87 1.25.87.77 0 0-.88-.77.46-.01 1.34.75 2.6 1.68 1.26.94 2.08 2.03.81 1.09.01.27-.8-.82.3.26 1.11 1.08 1.71 2.1.61 1.02 1.21 2.25.6 1.24.92 2.36.32 1.12-.16.13-.49-.98.02.36.51 1.35.71 2.69.2 1.34.24 2.46.03 1.12-.09 2.42-.13 1.29-.72 3.21-.6 1.92-1.4 3.49-.81 1.58-1.77 2.83-.96 1.24-2.88 2.72-1.92 1.48-2.95 1.85-1.04.36-2.47.76-1.44.41-3.33.72-1.89.32-3.37.41-1.48.09-2.63.15-1.15.05-2.74-.06-1.59-.1-2.8-.29-1.2-.19-3.2-.63-1.99-.45-3.63-.92-1.63-.48-3.28-.79-1.65-.31-2.76-.2-1.11.1-2.21.42-1.11.32.39-.29 1.49-.6-.12.21-1.61.8-.39.19 1.21-.61.29.13-.92.74-1.83 1.34-.92.61.15-.19t.3-.05q-.77.75-1.58 1.57-.81.82.01-.18.82-1 .24.23t-.72 2.72q-.15 1.48-.08 2.4.07.91-.19 2.16-.26 1.26-.81 2.41-.55 1.16-1.36 2.15t-1.84 1.75q-1.03.77-2.21 1.27t-2.44.7q-1.27.2-2.53.1-1.28-.11-2.49-.52-1.22-.41-2.3-1.1-1.08-.68-1.96-1.61-.89-.92-1.52-2.04-.64-1.11-.99-2.34-.36-1.23-.41-2.51l-.04-1.27Z"}));case"thin-thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 114 113",strokeWidth:"2",fill:null!==(l=e.strokeColor)&&void 0!==l?l:"var(--icon-fill-color)",stroke:null!==(c=e.strokeColor)&&void 0!==c?c:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m10 103.405.13-1.22q.14-1.22 1.3-3.16 1.15-1.94 2.74-3.46 1.59-1.53 3.35-2.72 1.77-1.2 4-1.95 2.23-.76 4.45-1t4.86-.4q2.64-.15 5.14-.34 2.51-.19 4.85-.94 2.35-.75 4.55-1.71 2.21-.97 4.16-2.26 1.95-1.3 4.03-2.97 2.07-1.67 3.85-3.05 1.78-1.37 3.72-2.48 1.94-1.11 3.3-2.99 1.36-1.89 2.58-3.74 1.22-1.85-.63-3.42-1.85-1.57-3.82-2.86-1.97-1.3-4.11-2.08-2.15-.78-4.21-1.6-2.06-.81-4.02-1.96-1.96-1.14-3.71-2.48-1.74-1.33-3.37-2.77-1.63-1.43-3.23-3.62-1.6-2.18-2.23-4.64-.62-2.46-.36-4.96.27-2.49 1.19-4.46.91-1.97 2.42-3.7 1.5-1.73 3.5-3.15t4.11-2.28q2.1-.86 4.33-1.44 2.24-.58 4.92-.84 2.68-.26 4.83-.19t4.69.35q2.53.28 4.75.66 2.23.38 4.48.2 2.26-.19 4.43-1.3 2.17-1.12 4.2-2.36 2.04-1.24 3.93-2.43 1.9-1.19 3.84-2.14 1.95-.95 4.04-1.78 2.09-.83 4.56-2.28 2.46-1.46 2.46-1.45h.01q.01 0-1.38 1.3-1.38 1.29-3.08 2.59-1.7 1.3-3.5 2.5t-3.42 2.65q-1.62 1.45-3.18 3-1.57 1.56-3.37 3.13-1.8 1.57-3.6 2.91-1.81 1.33-3.92 2.12t-4.24.92q-2.13.14-4.31.26-2.18.12-4.5.39t-4.56.88q-2.25.61-4.24 1.6-1.99 1-3.83 2.29-1.83 1.29.18 2.44 2.01 1.15 4.2 1.92 2.2.78 4.34 1 2.15.22 4.4.69 2.25.46 4.34 1.16 2.08.71 4.33 1.91 2.25 1.21 4.11 2.73 1.87 1.52 3.68 4.03 1.82 2.5 2.74 5 .93 2.5 1.18 5.03.26 2.53-.04 4.81t-1.4 4.85q-1.09 2.58-2.4 4.26-1.3 1.68-3.1 3.44t-4.02 3.62q-2.23 1.85-4.32 3.07-2.08 1.23-4.34 1.99-2.25.76-4.46 1.96t-4.37 2.14q-2.15.93-4.22 1.81t-4.36 1.35q-2.3.46-4.52.82-2.22.35-4.76.38-2.54.04-4.87-.28t-4.67-.67q-2.34-.35-4.72-.54-2.39-.19-4.64.37-2.25.56-4.16 1.66-1.91 1.11-3.52 2.71-1.61 1.6-2.55 2.39l-.94.78Z"}));default:return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:null!==(d=e.strokeColor)&&void 0!==d?d:"var(--icon-fill-color)",stroke:null!==(h=e.strokeColor)&&void 0!==h?h:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z"}))}},stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("{const t=A.getAppState();A.updateScene({appState:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({currentStrokeOptions:e.penOptions},e.strokeWidth&&0!==e.strokeWidth?{currentItemStrokeWidth:e.strokeWidth}:null),e.backgroundColor?{currentItemBackgroundColor:e.backgroundColor}:null),e.strokeColor?{currentItemStrokeColor:e.strokeColor}:null),""===e.fillStyle?null:{currentItemFillStyle:e.fillStyle}),e.roughness?null:{currentItemRoughness:e.roughness}),e.freedrawOnly&&!t.resetCustomPen?{resetCustomPen:{currentItemStrokeWidth:t.currentItemStrokeWidth,currentItemBackgroundColor:t.currentItemBackgroundColor,currentItemStrokeColor:t.currentItemStrokeColor,currentItemFillStyle:t.currentItemFillStyle,currentItemRoughness:t.currentItemRoughness}}:null)})},resetStrokeOptions=(e,A,t)=>{A.updateScene({appState:Object.assign(Object.assign(Object.assign({},e?{currentItemStrokeWidth:e.currentItemStrokeWidth,currentItemBackgroundColor:e.currentItemBackgroundColor,currentItemStrokeColor:e.currentItemStrokeColor,currentItemFillStyle:e.currentItemFillStyle,currentItemRoughness:e.currentItemRoughness}:null),{resetCustomPen:null}),t?{currentStrokeOptions:null}:null)})};class ObsidianMenu{constructor(e,A,t){this.plugin=e,this.toolsRef=A,this.view=t,this.renderCustomPens=(e,A)=>{var t;return null===(t=A.customPens)||void 0===t?void 0:t.map(((t,i)=>{const n=this.plugin.settings.customPens[i];return A.resetCustomPen&&"freedraw"!==A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&setTimeout((()=>resetStrokeOptions(A.resetCustomPen,this.view.excalidrawAPI,!1))),!A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&setTimeout((()=>setPen(this.activePen,this.view.excalidrawAPI))),this.activePen&&A.resetCustomPen&&"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&(this.activePen.strokeWidth=A.currentItemStrokeWidth,this.activePen.backgroundColor=A.currentItemBackgroundColor,this.activePen.strokeColor=A.currentItemStrokeColor,this.activePen.fillStyle=A.currentItemFillStyle,this.activePen.roughness=A.currentItemRoughness),React__namespace.createElement("label",{key:i,className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{const e=Date.now();if(e-this.clickTimestamp[i]<500){const e=new PenSettingsModal(this.plugin,this.view,i);return void(async()=>{await this.plugin.loadSettings(),e.open()})()}this.clickTimestamp[i]=e;const A=this.view.excalidrawAPI,t=A.getAppState();t.currentStrokeOptions!==n.penOptions||"freedraw"!==t.activeTool.type?(this.activePen=Object.assign({},n),setPen(n,A),A.setActiveTool({type:"freedraw"})):resetStrokeOptions(t.resetCustomPen,A,!0)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":n.type,style:Object.assign({},"freedraw"===A.activeTool.type&&A.currentStrokeOptions===n.penOptions?{background:"var(--color-primary)"}:{})},penIcon(n)))}))},this.longpressTimeout={},this.renderPinnedScriptButtons=(e,A)=>{var t;let i=0;return null===(t=null==A?void 0:A.pinnedScripts)||void 0===t?void 0:t.map(((A,t)=>{var n;const a=this.plugin.scriptEngine.scriptIconMap[A],r=null!==(n=null==a?void 0:a.name)&&void 0!==n?n:"",s=(null==a?void 0:a.svgString)?stringToSVG(a.svgString):ICONS.cog;return this.longpressTimeout[t]||(this.longpressTimeout[t]=0),React__namespace.createElement("label",{key:t,className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onPointerUp:()=>{this.longpressTimeout[t]&&(window.clearTimeout(this.longpressTimeout[t]),this.longpressTimeout[t]=0,(async()=>{const e=app.vault.getAbstractFileByPath(A);e&&e instanceof obsidian_module.TFile&&this.plugin.scriptEngine.executeScript(this.view,await app.vault.read(e),this.plugin.scriptEngine.getScriptName(e),e)})())},onPointerDown:()=>{const e=Date.now();this.longpressTimeout[t]>0&&(window.clearTimeout(this.longpressTimeout[t]),this.longpressTimeout[t]=0),e-i>=500&&(this.longpressTimeout[t]=window.setTimeout((()=>{this.longpressTimeout[t]=0,(async()=>{var e;await this.plugin.loadSettings();const t=this.plugin.settings.pinnedScripts.indexOf(A);t>-1&&(this.plugin.settings.pinnedScripts.splice(t,1),null===(e=this.view.excalidrawAPI)||void 0===e||e.setToast({message:`Pin removed: ${r}`,duration:3e3,closable:!0})),await this.plugin.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))})()}),1500)),i=e}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":r},s))}))},this.renderButton=(e,A)=>React__namespace.createElement(React__namespace.Fragment,null,React__namespace.createElement("label",{className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(A.theme),this.toolsRef.current.toggleVisibility(A.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},ICONS.obsidian)),this.renderCustomPens(e,A),this.renderPinnedScriptButtons(e,A)),this.clickTimestamp=Array.from({length:Object.keys(PENS).length},(()=>0))}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.longpressTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0,this.props.action(e)),this.longpressTimeout&&(window.clearTimeout(this.longpressTimeout),this.longpressTimeout=0)},onPointerDown:e=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;null===(e=this.props.view.excalidrawAPI)||void 0===e||e.setToast({message:this.props.title,duration:3e3,closable:!0}),this.toastMessageTimeout=0}),400),this.longpressTimeout=window.setTimeout((()=>{var A;this.props.longpress?this.props.longpress(e):null===(A=this.props.view.excalidrawAPI)||void 0===A||A.setToast({message:"Cannot pin this action",duration:3e3,closable:!0}),this.longpressTimeout=0}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const FIRST_RUN='\nThe Excalidraw Obsidian plugin is much more than "just" a drawing tool. To help you get started here\'s a showcase of the key Excalidraw plugin features.\n\nIf you\'d like to learn more, please subscribe to my YouTube channel: [Visual PKM](https://www.youtube.com/channel/UCC0gns4a9fhVkGkngvSumAQ) where I regularly share videos about Obsidian-Excalidraw and about tools and techniques for Visual Personal Knowledge Management.\n\nThank you & Enjoy!\n\n
      \n\n
      \n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
      \n',"1.8.26":"\n## Fixed\n- Dynamic styling did not pick up correctly\n - the accent color with the default Obsidian theme\n - the drawing theme color with the out of the box, default new drawing (not using a template)\n- The Obsidian tools panel did not pick up user scripts when installing your very first script. A reload of Obsidian was required.\n","1.8.25":'\n
      \n\n
      \n\n## New & improved\n- Multi-link support\n- Updated [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) script for better handwritten text support. \n - Add links to text elements\n - Creating wrapped text in transparent sticky notes\n - Add text to arrows and lines\n - Handwriting support on iOS via Scribble\n\n## Fixed\n - The long-standing issue of jumping text\n \n',"1.8.24":`\n## Updates from Excalidraw.com\n- fix: color picker keyboard handling not working\n- fix: center align text when bind to the container via context menu\n- fix: split "Edit selected shape" shortcut\n\n## Fixed\n- BUG: Area embed link of svg inside excalidraw embed entire svg instead of area [#1098](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1098)\n\n## New\n- I updated the [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) script with tons of new features. I am still beta testing the script. I will release a demo video in the next few days.\n\n## New in Excalidraw Automate\n- I added many more configuration options for the scriptEngine utils.inputPrompt function. See [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) for a demonstration of this new feature.\n${String.fromCharCode(96,96,96)}typescript\n public static async inputPrompt(\n view: ExcalidrawView,\n plugin: ExcalidrawPlugin,\n app: App,\n header: string,\n placeholder?: string,\n value?: string,\n buttons?: { caption: string; tooltip?:string; action: Function }[],\n lines?: number,\n displayEditorButtons?: boolean,\n customComponents?: (container: HTMLElement) => void\n )\n${String.fromCharCode(96,96,96)}`,"1.8.23":'\n## Fixes\n- Fixed palm rejection to prevent unwanted spikes when using the freedraw tool. ([#1065](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1065))\n- Fixed issue where images disappeared when zoomed in. ([#6417](https://github.com/excalidraw/excalidraw/pull/6417))\n- Autosave will now save the drawing when you change the theme from dark to light or vice versa. ([#1080](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1080))\n- Added padding to short LaTeX formulas to prevent cropping. ([#1053](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1053))\n\n## New Features\n- Added a new command palette action: Toggle to invert default binding behavior. This new feature allows you to switch between normal and inverted mode. In normal mode, arrows will bind to objects unless you hold the CTRL/CMD key while drawing the arrow or moving objects. In inverted mode, arrows will not bind to objects unless you hold the CTRL/CMD key while drawing the arrow or moving objects.\n- You can now set a template LaTeX formula in the plugin settings (under experimental features) to be used when creating a new LaTeX formula. ([#1090](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1090))\n- Redesigned the Image Export dialog. I hope dropdowns are now more intuitive than the toggles were.\n- Added the ability to export only the selected part of a drawing. See the Export dialog for more information.\n- Added a zigzag fill easter egg. See a demo of this feature [here](https://twitter.com/excalidraw/status/1645428942344445952?s=61&t=nivKLx2vgl6hdv2EbW4mZg).\n- Added a new expert function: recolor embedded Excalidraw and SVG images (not JPG, PNG, BMP, WEBP, GIF). See a demo of this feature here:\n\n
      \n\n
      \n',"1.8.22":`\n## Fixed\n- Styling of custom pen and script buttons in the side panel was inverted.\n- Minor tweaks to dynamic styling. [see this video to understand dynamic styling](https://youtu.be/fypDth_-8q0)\n\n## New\n- New scripts by @threethan:\n - [Auto Draw for Pen](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Auto%20Draw%20for%20Pen.md): Automatically switches between the select and draw tools, based on whether a pen is being used. Supports most pens including Apple Pencil.\n - [Hardware Eraser Support](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Hardware%20Eraser%20Support.md): Adds support for pen inversion, a.k.a. the hardware eraser on the back of your pen. Supports Windows based styluses. Does not suppoprt Apple Pencil or S-Pen.\n- Added separate buttons to support copying link, area or group references to objects on the drawing. [#1063](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1063). See [this video](https://youtu.be/yZQoJg2RCKI) for more details on how this works.\n- Hover preview will no longer trigger for image files (.png, .svg, .jpg, .gif, .webp, .bmp, .ico, .excalidraw)\n- Minor updates to the [Slideshow](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) script. You can download the updated script from the Excalidraw script library. The slideshow will now correctly run also when initiated in a popout window. When the drawing is in a popout window, the slideshow will not be full screen, but will only occupy the popout window. If you run the slideshow from the main Obsidian workspace, it will be displayed in full-screen mode.\n- Updated the Icon Library script to now include image keywords under each of the images to allow searching for keywords (CTRL/CMD+F). I've uploaded the new script to [here](https://gist.github.com/zsviczian/33ff695d5b990de1ebe8b82e541c26ad). If you need further information watch this [video](https://youtu.be/_OEljzZ33H8)\n\n## New in ExcalidrawAutomate\n- ${String.fromCharCode(96)}addText${String.fromCharCode(96)} ${String.fromCharCode(96)}formatting${String.fromCharCode(96)} parameter now accepts ${String.fromCharCode(96)}boxStrokeColor${String.fromCharCode(96)} and ${String.fromCharCode(96)}textVerticalAlign${String.fromCharCode(96)} values.\n${String.fromCharCode(96,96,96)}typescript\naddText(\n topX: number,\n topY: number,\n text: string,\n formatting?: {\n wrapAt?: number;\n width?: number;\n height?: number;\n textAlign?: "left" | "center" | "right";\n box?: boolean | "box" | "blob" | "ellipse" | "diamond";\n boxPadding?: number;\n boxStrokeColor?: string;\n textVerticalAlign?: "top" | "middle" | "bottom";\n },\n id?: string,\n ): string;\n${String.fromCharCode(96,96,96)}\n- new ${String.fromCharCode(96)}onFileOpenHook${String.fromCharCode(96)}. If set, this callback is triggered, when an Excalidraw file is opened. You can use this callback in case you want to do something additional when the file is opened. This will run before the file level script defined in the ${String.fromCharCode(96)}excalidraw-onload-script${String.fromCharCode(96)} frontmatter is executed. Excalidraw will await the result of operations here. Handle with care. If you change data such as the frontmatter of the underlying file, I haven't tested how it will behave.\n${String.fromCharCode(96,96,96)}typescript\nonFileOpenHook: (data: {\n ea: ExcalidrawAutomate;\n excalidrawFile: TFile; //the file being loaded\n view: ExcalidrawView;\n}) => Promise;\n${String.fromCharCode(96,96,96)}`,"1.8.21":'\n## Quality of Life improvements\n- Dynamic Styling (see plugin settings / Display). When Dynamic Styling is enabled it fixes Excalidraw issues with the Minimal Theme\n- New "Invert Colors" script\n\n
      \n\n
      \n\n### Note\nThe few of you, that are using the Dynamic Styling Templater script, please remove it and restart Obsidian.\n',"1.8.20":"\n## Fixed\n- Excalidraw froze Obsidian in certain rare situations [#1054](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1054)\n- File loading error [#1062](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1062)\n- Embedded images in markdown documents no longer have the line on the side. Image sizing works better. [#1059](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1059)\n- Locked elements will not show a hover preview [#1060](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1060)\n- CTRL/CMD + K correctly triggers add link [#1056](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1056)\n\n## New\n- Grid color adjusts to the view background color\n\nI'm sorry, but the sticky note editing issue on Android with the on-screen keyboard has still not been resolved. If you also experience this error, please help raise the priority with the core Excalidraw team by commenting on this issue: [#6330](https://github.com/excalidraw/excalidraw/issues/6330)\n","1.8.19":"\n## Fixed: Text wrapping issue in sticky notes\n\nI fixed an issue where text would wrap differently and words would disappear during text editing in sticky notes. You can check out the details on [GitHub #6318](https://github.com/excalidraw/excalidraw/issues/6331).\n\nI am aware of three additional issues related to container text editing that are still open. I apologize for any inconvenience caused by the recent change in how text size is calculated on Excalidraw.com, which has had a knock-on effect on Obsidian. I am actively working to address the following issues:\n\n- Pinch zooming while editing text in a text container [GitHub #6331](https://github.com/excalidraw/excalidraw/issues/6331)\n- Container text jumps on edit on Android with on-screen keyboard [GitHub #6330](https://github.com/excalidraw/excalidraw/issues/6330)\n- Shadow text when editing text containers without a keyboard on iOS [GitHub #6329](https://github.com/excalidraw/excalidraw/issues/6329)\n\nThank you for your patience while I work on resolving these issues.\n","1.8.18":`\n## Fixed\n- Text scaling issue introduced in 1.8.17\n- [#1043](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1043): Error handling when ${String.fromCharCode(96)}onCanvasColorChangeHook${String.fromCharCode(96)} is executed. This is used in the [Dynamic Styling Script](https://youtu.be/LtR04fNTKTM). \n`,"1.8.17":'\n## New from Excalidraw.com\n- Improved text wrapping in the ellipse and diamond shapes [6172](https://github.com/excalidraw/excalidraw/pull/6172)\n\n## New\n- Updated slideshow script\n\n
      \n\n
      \n\n## Fixed: \n- "Save to..." in the Stencil Library menu now works as expected [#1032](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1032)\n',"1.8.16":'\n**!!! Modifier keys have changed, please review the table below !!!**\n[Click this to see the new shortcuts overview image](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/excalidraw-modifiers.png)\n\n## Fixed \n- This version was extensively tested and developed on MacOS to remove usability issues.\n- New command palette action to create a new drawing in a new tab\n- Modifier keys to open links in the active window, splitting the current view to the right, in a new tab, or in a popout window now behave consistently both in Excalidraw and when clicking a drawing that is embedded in a markdown note.\n- Drag & Drop properly works from within Obsidian, from a web browser, and from the OS file explorer\n\n
      \n\n
      \n',"1.8.14":"\n## Fixed\n- text element link gets deleted when the drawing is reloaded\n","1.8.13":'\n## Fixed\n- When changing a text element in markdown mode, the change seem to have showed up when switching back to Excalidraw mode, but then lost these changes when loading the file the next time.\n- Scrolling through a page that has embedded drawings on Obsidian Mobile accidently opens the drawing in Excalidraw when touching the image. Now you need to press and hold to open the image in Excalidraw. [#1003](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1003)\n- The scrollbar is no longer visible when presenting using the SlideShow script\n- Stroke properties could not be changed when custom pen settings had "Stroke & fill applies to: All shapes". It works now.\n\n## QoL\n- Custom pens will remember the stroke changes until you press the pen preset button again.\n - This is a bit hard to explain, let me try... Essentially, when you use a custom pen, it will keep the changes you made to the pen (like changing the stroke width) until you press the pen-prereset button again. So, for example, if you\'re using a mind mapping custom pen and change its color, and then switch to a different tool like text, when you switch back to the freedraw tool using the Excalidraw tools panel, the pen will still have the same color you set earlier, but if you press the mind mapping pen-preset button, it will default back to your custom pen settings including your preset color.\n- Added new buttons to load current stroke color and background color in the pen settings dialog. Also added an edit box so you can configure any valid color string (including with transparency) for pen stroke and background colors. [#991](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/991)\n',"1.8.11":'\n
      \n\n
      \n\n# New\n- Support for referencing images from the internet in Excalidraw drawings, including YouTube thumbnail support. [#913](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/913)\n - Link to images on the internet without creating a copy in your Vault by holding down the CTRL key while dropping the link or image.\n - Automatic conversion of image URLs and YouTube links into image elements with original links added as a link on the element when pasting. Note, that if you only want to paste the plain text link (not the image), first double-click the canvas to start a new text element, then paste the link.\n- Two new options added to plugin settings:\n - Make mouse wheel zoom by default [#474](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/474)\n - Allow pinch zoom in pen mode [#828](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/828)\n- Update to the [Set Grid](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20Grid.svg) script now saves the grid setting for the current file.\n',"1.8.10":'\n
      \n\n
      \n\n# QoL improvements\n- You can structure icons in the Obsidian tools panel by moving scripts to folders\n![image|300](https://user-images.githubusercontent.com/14358394/212389592-306130d0-209a-49df-99bb-c538f2155b23.png)\n- I added useful actions to the hamburger menu in both tray-mode and normal-mode. \n![image|150](https://user-images.githubusercontent.com/14358394/212534508-9107fd19-27ab-4415-8abc-bc97c73afc0b.png)\n- I added a new Export Image dialog. You can access the new export screen from the hamburger-menu\n![image|200](https://user-images.githubusercontent.com/14358394/212534654-7a479e23-8d5d-452e-9a18-a9896278aa27.png)\n- Links in help now point to Obsidian-Excalidraw relevant content.\n- I added a welcome screen\n![image|150](https://user-images.githubusercontent.com/14358394/212534568-3cd1e8a1-5b20-4a30-96e4-40d7dac57e33.png)\n- I updated the alternative dark mode / dynamic styling [script](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n',"1.8.9":"\n# Minor QoL improvements\n- When you open a second drawing in the same Excalidraw view (i.e. by navigating a link) and make a change to this drawing, and then press UNDO, the entire drawing disappeared. Redo brought the image back, however, this behavior was frustrating. Not anymore...\n- On iPad\n - when you open the command palette, autozoom resized the drawing. If the Obsidian command palette or some other modal window is shown Excalidraw will not resize the view.\n - when you add a link to the drawing using the Command Palette, sometimes the link was added in a far corner of the drawing outside the current view area. This should be fixed now.","1.8.8":`\n
      \n\n
      \n\n# New\n- The plugin now includes support for [Perfect Freehand](https://perfect-freehand-example.vercel.app/) pen-options. I've also added a new [Alternative Pens](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Alternative%20Pens.md) script.\n- Embed scene in exported PNG and SVG images [#860](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/860). This means that the export will be a normal PNG or SVG image with the added functionality that if someone loads the image into excalidraw.com it will open as a normal excalidraw file.\n - I've added 2 new Command Palette actions (export PNG, export SVG with embedded scene).\n - If you SHIFT click ${String.fromCharCode(96)} Save as PNG (or SVG)${String.fromCharCode(96)} in the workspace-tab menu, Excalidraw will embed the scene in the export.\n- I updated the [Organic Line](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Organic%20Line.md) script. It has an improved thick-to-thin look and a new thin-to-thick-to-thin line type.\n\n# Fixed\n- Intelligent image width setting [#955](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/955). Before this change, when the embedded image was small, the image would be extended to meet the image width setting in plugin settings. From now on, if the image is smaller than max-width, it will only extend to max-width. You can still set 100% width using custom CSS. See more on that [here](https://github.com/zsviczian/obsidian-excalidraw-plugin#embedded-images).\n\n# New in ExcalidrawAutomate\n- I added the ${String.fromCharCode(96)} plaintext${String.fromCharCode(96)} parameter to ${String.fromCharCode(96)}ExcalidrawAutomate.create${String.fromCharCode(96)} . Using this, you can add some text below the frontmatter but above the ${String.fromCharCode(96)}# Text Elements${String.fromCharCode(96)} section. Use this for example to add metadata to your file. (e.g. I use this in my Daily Quote template to add a Dataview field for the ${String.fromCharCode(96)}Author::${String.fromCharCode(96)} and add the quote with a standard block reference, so I can easily reference it in other files. I also add the ${String.fromCharCode(96)}#quote${String.fromCharCode(96)} tag to the file using this.)\n- The script running in the ScriptEngine now also receives the ${String.fromCharCode(96)}TFile${String.fromCharCode(96)} object for the script itself. You can access this object during execution via the ${String.fromCharCode(96)}utils.scriptFile${String.fromCharCode(96)} variable. \n`,"1.8.7":'\n## New from Excalidraw.com\n- Support shrinking text containers to their original height when text is removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)\n
      \n\n
      \n\n## Fixed\n- removed the white background when editing arrow-label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)\n- Minor style tweaks\n - for embedding Excalidraw into Obsidian Canvas. e.g. dragging no longer accidentally creates an image copy of the drawing, and\n - style tweaks on the Excalidraw canvas\n\n## New\n- If you set a different text color and sticky note border color, now if you change the border color, the text color will not be changed.\n',"1.8.6":`\n## New from Excalidraw.com:\n- Better default radius for rectangles [#5553](https://github.com/excalidraw/excalidraw/pull/5553). Existing drawings will look unchanged, this applies only to new rectangles.\n![image|200](https://user-images.githubusercontent.com/5153846/206264345-59fd7436-e87b-4bc9-ade8-9e6f6a6fd8c1.png)\n> [!attention]- ExcalidrawAutomate technical details\n> - ${String.fromCharCode(96)}strokeSharpness${String.fromCharCode(96)} is now deprecated\n> - use roundness instead\n> - ${String.fromCharCode(96)}roundness === null${String.fromCharCode(96)} is legacy ${String.fromCharCode(96)}strokeSharpness = "sharp"${String.fromCharCode(96)}\n> - ${String.fromCharCode(96)}roundness = { type: RoundnessType; value?: number }${String.fromCharCode(96)}\n> - type: 1, LEGACY, type:2 PROPORTIONAL_RADIUS, type:3 ADAPTIVE_RADIUS: 3\n> - value:\n> - Radius represented as % of element's largest side (width/height).\n> DEFAULT_PROPORTIONAL_RADIUS = 0.25;\n> - Fixed radius for the ADAPTIVE_RADIUS algorithm. In pixels.\n> DEFAULT_ADAPTIVE_RADIUS = 32;\n\n## New\n- For Obsidian 1.1.6 and above\n - Improved embedding into Obsidian Canvas\n - Improved embedding into Markdown documents\n- Added setting under ${String.fromCharCode(96)}Display/Default mode when opening Excalidraw${String.fromCharCode(96)} to always open the drawing in view mode on Mobile, but in normal mode on desktop. [#939](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/939)\n\n## Fixed\n- Zoom reset tooltip appears twice [#942](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/942)\n- Hid export library from library menu as it does not work due to Obsidian limitations. Use the command palette export library instead.\n- Arrow with label did not get exported and embedded correctly [#941](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/941)\n![image|200](https://user-images.githubusercontent.com/22638687/207845868-b352ddb1-7994-4f13-a0b2-f2e19bd72935.png)\n`,"1.8.4":'\n## New from Excalidraw.com\n- Labels on Arrows!!! [#5723](https://github.com/excalidraw/excalidraw/pull/5723)\n - To add a label press "Enter" or "Double click" on the arrow\n - Use "Cmd/Ctrl+double click" to enter the line editor\n\n
      \n\n
      \n\n## New\n- **Changed behavior**: In the Obsidian markdown editor clicking an Excalidraw image will not open the image (to avoid accidentally opening the image on a tablet). To open a drawing for editing in Excalidraw double click or long-tap on it. [#920](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/920)\n\n## Fixed \n- Text stroke color is not honored when pasting a HEX color string to an Excalidraw canvas open in an Obsidian popout window [#921](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/921)\n- The new [multi-line >> multi-element paste behavior](https://github.com/excalidraw/excalidraw/pull/5786) introduced in the previous release did not work as expected in Obsidian. Now it does.\n',"1.8.2":`\nIntroducing the [Excalidraw Slideshow Script](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) - available in the script store\n
      \n\n
      \n\n## Fixed\n- Obsidian tools panel gets misplaced after switching Obsidian workspace tabs\n\n## New in ExcalidrawAutomate\n- changed ${String.fromCharCode(96)}viewToggleFullScreen(forceViewMode: boolean = false): void${String.fromCharCode(96)}: the function will toggle view mode on when going to full screen and view mode off when terminating full screen.\n- new functions\n${String.fromCharCode(96,96,96)}typescript\nsetViewModeEnabled(enabled: boolean):void;\nviewUpdateScene(\n scene: {\n elements?: ExcalidrawElement[];\n appState?: AppState;\n files?: BinaryFileData;\n commitToHistory?: boolean;\n },\n restore: boolean = false,\n ):void;\nviewZoomToElements(\n selectElements: boolean,\n elements: ExcalidrawElement[]\n ):void;\n${String.fromCharCode(96,96,96)}\n\n`,"1.8.1":`\n## New and fixes from Excalidraw.com\n- New text paste behavior. Pasting multiline text will generate separate text elements unless you hold down the shift button while pasting [#5786](https://github.com/excalidraw/excalidraw/pull/5786)\n- line editor fixes [#5927](https://github.com/excalidraw/excalidraw/pull/5927)\n\n## Fixed\n- The Command Palette "Insert link" action now inserts the new link at the top drawing layer, not at the bottom.\n- Updated, hopefully, better organized, Plugin Readme.\n\n## New\n- Second attempt at moving to React 18. This upgrade is required to maintain alignment with the core Excalidraw product and to continue to benefit from Excalidraw.com enhancements.\n- Added options to Plugin Settings\n - to disable autozoom when loading a drawing for the first time [#907](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/907)\n - to modify autosave interval. You can now set an autosave interval for desktop and for mobile [#888](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/888)\n\n## New in ExcalidrawAutomate\n- Published the obsidian_module on the ExcalidrawAutomate object. ${String.fromCharCode(96)}ExcalidrawAutomate.obsidian${String.fromCharCode(96)}. Publishing this object will give script developers increased flexibility and control over script automation.\n`,"1.8.0":'\n
      \n\n
      \n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
      \n\n
      \n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.'};class ReleaseNotes extends obsidian_module.Modal{constructor(e,A,t){super(e),this.plugin=A,this.version=t}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const A=this.version?Object.keys(RELEASE_NOTES).filter((A=>"Intro"===A||isVersionNewerThanOther(A,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian_module.MarkdownRenderer.renderMarkdown(A,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const A=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=A.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((A=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,A=0){this.setState((()=>{const{offsetTop:t,offsetLeft:i,clientWidth:n,clientHeight:a}=this.containerRef.current.firstElementChild,r=t-e,s=i-A,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-n+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const A=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},t=()=>{var e,i;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",t),null===(i=this.props.view.ownerDocument)||void 0===i||i.removeEventListener("pointermove",A)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",t),this.props.view.ownerDocument.addEventListener("pointermove",A)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,isCTRL(e)):new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:e=>{const A=new MouseEvent("click",{ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,shiftKey:e.shiftKey,altKey:e.altKey});this.props.view.handleLinkClick(A)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!0,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:saveIcon(this.state.isDirty),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"svg",title:t$d("EXPORT_SVG"),action:()=>{this.props.view.saveSVG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"svg")}`)},icon:ICONS.exportSVG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"png",title:t$d("EXPORT_PNG"),action:()=>{this.props.view.savePNG(),new obsidian_module.Notice(`File saved: ${getIMGFilename(this.props.view.file.path,"png")}`)},icon:ICONS.exportPNG,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"excalidraw",title:t$d("EXPORT_EXCALIDRAW"),action:()=>{this.props.view.exportExcalidraw()},icon:ICONS.exportExcalidraw,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/r08wk-58DPk"):(this.props.centerPointer(),insertLaTeXToView(this.props.view))},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/yZQoJg2RCKI"):this.props.view.copyLinkToSelectedElementToClipboard(isCTRL(e)?"group=":isSHIFT(e)?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))))}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const A=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,t=t=>e?t.startsWith(A):!t.startsWith(A);if(0===Object.keys(this.state.scriptIconMap).filter((e=>t(e))).length)return"";const i=new Set;Object.keys(this.state.scriptIconMap).filter((e=>t(e))).forEach((e=>i.add(this.state.scriptIconMap[e].group)));const n=Array.from(i).sort(((e,A)=>e>A?1:-1));return n.push(n.shift()),React__namespace.createElement(React__namespace.Fragment,null,n.map((A=>React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?A:""===A?"User":"User/"+A),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.entries(this.state.scriptIconMap).filter((([e,t])=>t.group===A)).sort().map((([e,A])=>React__namespace.createElement(ActionButton,{key:e,title:A.name,action:async()=>{const A=this.props.view,t=A.plugin,i=app.vault.getAbstractFileByPath(e);i&&i instanceof obsidian_module.TFile&&t.scriptEngine.executeScript(A,await app.vault.read(i),t.scriptEngine.getScriptName(i),i)},longpress:async()=>{const t=this.props.view,i=t.excalidrawAPI,n=t.plugin;await n.loadSettings();const a=n.settings.pinnedScripts.indexOf(e);a>-1?(n.settings.pinnedScripts.splice(a,1),null==i||i.setToast({message:`Pin removed: ${A.name}`,duration:3e3,closable:!0})):(n.settings.pinnedScripts.push(e),null==i||i.setToast({message:`Pinned: ${A.name}`,duration:3e3,closable:!0})),await n.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))},icon:A.svgString?stringToSVG(A.svgString):ICONS.cog,view:this.props.view}))))))))}}const getElementsAtPointer=(e,A,t)=>A.filter((A=>{if(t&&A.type!==t)return!1;if(A.locked)return!1;const[i,n,a,r]=rotatedDimensions(A);return i<=e.x&&i+a>=e.x&&n<=e.y&&n+r>=e.y})),getTextElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return{id:null,text:null};const i=getElementsAtPointer(e,t.getSceneElements(),"text");if(0==i.length)return{id:null,text:null};if(1===i.length)return{id:i[0].id,text:i[0].text};const n=i.filter((e=>{const t=A.textMode===TextMode.parsed?A.excalidrawData.getRawText(e.id):e.text;return!!t&&(!!t.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(t).next().value)}));return 0==n.length?{id:i[0].id,text:i[0].text}:{id:n[0].id,text:n[0].text}},getImageElementAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements(),"image");return 0===i.length?{id:null,fileId:null}:i.length>=1?{id:i[0].id,fileId:i[0].fileId}:void 0},getElementWithLinkAtPointer=(e,A)=>{const t=A.excalidrawAPI;if(!t)return;const i=getElementsAtPointer(e,t.getSceneElements()).filter((e=>e.link));return 0===i.length?{id:null,text:null}:i.length>=1?{id:i[0].id,text:i[0].link}:void 0},getEA=e=>{try{return window.ExcalidrawAutomate.getAPI(e)}catch(e){return console.log({message:"Excalidraw not available",fn:getEA}),null}};class ExportDialog extends obsidian_module.Modal{constructor(e,A,t){super(app),this.plugin=e,this.view=A,this.file=t,this.dirty=!1,this.hasSelectedElements=!1,this.ea=getEA(this.view),this.api=this.ea.getExcalidrawAPI(),this.padding=getExportPadding(this.plugin,this.file),this.scale=getPNGScale(this.plugin,this.file),this.theme=getExportTheme(this.plugin,this.file,this.api.getAppState().theme),this.boundingBox=this.ea.getBoundingBox(this.ea.getViewElements()),this.embedScene=!1,this.exportSelectedOnly=!1,this.saveToVault=!0,this.transparent=!getWithBackground(this.plugin,this.file),this.saveSettings=!1}onOpen(){this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText("Export Image"),this.hasSelectedElements=this.view.getViewSelectedElements().length>0,this.selectedOnlySetting.setVisibility(this.hasSelectedElements)}async onClose(){this.dirty=this.saveSettings}async createForm(){let e,A;this.contentEl.createEl("h1",{text:"Image settings"}),this.contentEl.createEl("p",{text:"Transparency only affects PNGs. Excalidraw files can only be exported outside the Vault. PNGs copied to clipboard may not include the scene."});const t=()=>{const e=Math.round(this.scale*this.boundingBox.width+2*this.padding),A=Math.round(this.scale*this.boundingBox.height+2*this.padding);return fragWithHTML(`The lager the scale, the larger the image.
      Scale: ${this.scale}
      Image size: ${e}x${A}`)},i=()=>fragWithHTML(`Current image padding is ${this.padding}`);A=new obsidian_module.Setting(this.contentEl).setName("Image padding").setDesc(i()).addSlider((n=>{n.setLimits(0,50,1).setValue(this.padding).onChange((n=>{this.padding=n,e.setDesc(t()),A.setDesc(i())}))})),e=new obsidian_module.Setting(this.contentEl).setName("PNG Scale").setDesc(t()).addSlider((A=>A.setLimits(.5,5,.5).setValue(this.scale).onChange((A=>{this.scale=A,e.setDesc(t())})))),new obsidian_module.Setting(this.contentEl).setName("Export theme").addDropdown((e=>e.addOption("light","Light").addOption("dark","Dark").setValue(this.theme).onChange((e=>{this.theme=e})))),new obsidian_module.Setting(this.contentEl).setName("Background color").addDropdown((e=>e.addOption("transparent","Transparent").addOption("with-color","Use scene background color").setValue(this.transparent?"transparent":"with-color").onChange((e=>{this.transparent="transparent"===e})))),new obsidian_module.Setting(this.contentEl).setName("Save or one-time settings?").addDropdown((e=>e.addOption("save","Save these settings as the preset for this image").addOption("one-time","These are one-time settings").setValue(this.saveSettings?"save":"one-time").onChange((e=>{this.saveSettings="save"===e})))),this.contentEl.createEl("h1",{text:"Export settings"}),new obsidian_module.Setting(this.contentEl).setName("Embed the Excalidraw scene in the exported file?").addDropdown((e=>e.addOption("embed","Embed scene").addOption("no-embed","Do not embed scene").setValue(this.embedScene?"embed":"no-embed").onChange((e=>{this.embedScene="embed"===e})))),DEVICE.isDesktop&&new obsidian_module.Setting(this.contentEl).setName("Where to save the image?").addDropdown((e=>e.addOption("vault","Save image to your Vault").addOption("outside","Export image outside your Vault").setValue(this.saveToVault?"vault":"outside").onChange((e=>{this.saveToVault="vault"===e})))),this.selectedOnlySetting=new obsidian_module.Setting(this.contentEl).setName("Export entire scene or just selected elements?").addDropdown((e=>e.addOption("all","Export entire scene").addOption("selected","Export selected elements").setValue(this.exportSelectedOnly?"selected":"all").onChange((e=>{this.exportSelectedOnly="selected"===e}))));const n=this.contentEl.createDiv({cls:"excalidraw-prompt-buttons-div"});n.createEl("button",{text:"PNG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.savePNG(this.view.getScene(this.hasSelectedElements&&this.exportSelectedOnly)):this.view.exportPNG(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()},n.createEl("button",{text:"SVG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.saveSVG(this.view.getScene(this.hasSelectedElements&&this.exportSelectedOnly)):this.view.exportSVG(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()},n.createEl("button",{text:"Excalidraw",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportExcalidraw(this.hasSelectedElements&&this.exportSelectedOnly),this.close()},DEVICE.isDesktop&&(n.createEl("button",{text:"PNG to Clipboard",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportPNGToClipboard(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()})}}const setDynamicStyle=(e,A,t,i)=>{var n,a,r,s,o,l,c,d,h,u,g,p,m,w;if("none"===i){null===(n=A.excalidrawContainer)||void 0===n||n.removeAttribute("style"),setTimeout((()=>A.updateScene({appState:{dynamicStyle:""}})));const e=null===(s=null===(r=null===(a=A.toolsPanelRef)||void 0===a?void 0:a.current)||void 0===r?void 0:r.containerRef)||void 0===s?void 0:s.current;if(e){let A=e.getAttribute("style");A=A.replace(/\-\-color\-primary.*/,""),e.setAttribute("style",A)}return}A.ownerDocument;const f="light"===(null===(c=null===(l=null===(o=null==A?void 0:A.excalidrawAPI)||void 0===o?void 0:o.getAppState)||void 0===l?void 0:l.call(o))||void 0===c?void 0:c.theme)||"light"===(null===(u=null===(h=null===(d=null==A?void 0:A.excalidrawData)||void 0===d?void 0:d.scene)||void 0===h?void 0:h.appState)||void 0===u?void 0:u.theme),B=()=>f?e.getCM(t):(A=>{const t=e.getCM(A),i=t.lightness;return t.lightnessTo(Math.abs(i-100))})(t),E=B().lightness,b=B().isDark(),C=app.getAccentColor(),v=()=>e.getCM(C),y=()=>e.getCM("#000000").lightnessTo(E),F="gray"===i,x=F?b?y().lighterBy(15):y().darkerBy(15):b?B().lighterBy(15).mix({color:y(),ratio:.6}):B().darkerBy(15).mix({color:y(),ratio:.6}),S=F?b?y().lighterBy(5):y().darkerBy(5):b?B().lighterBy(5).mix({color:y(),ratio:.6}):B().darkerBy(5).mix({color:y(),ratio:.6}),T=B().mix({color:b?"#fbfbfb":"#202020",ratio:.8}),I=e=>e.stringHEX({alpha:!1}),U=`--color-primary: ${I(v())};--color-primary-darker: ${I(v().darkerBy(10))};--color-primary-darkest: ${I(v().darkerBy(10))};--button-gray-1: ${I(x)};--button-gray-2: ${I(S)};--input-border-color: ${I(x)};--input-bg-color: ${I(S)};--input-label-color: ${I(T)};--island-bg-color: ${S.alphaTo(.93).stringHEX()};--popup-secondary-bg-color: ${S.alphaTo(.93).stringHEX()};--icon-fill-color: ${I(T)};--text-primary-color: ${I(T)};--overlay-bg-color: ${S.alphaTo(.6).stringHEX()};--popup-bg-color: ${I(x)};--color-gray-100: ${I(T)};--color-gray-40: ${I(T)};--color-gray-30: ${I(x)};--color-gray-80: ${I(x)};--sidebar-border-color: ${I(x)};--color-primary-light: ${I(v().lighterBy(10))};--button-hover-bg: ${I(x)};--sidebar-bg-color: ${S.alphaTo(.93).stringHEX()};--sidebar-shadow: ${I(x)};--popup-text-color: ${I(T)};--code-normal: ${I(T)};--h1-color: ${I(T)};--h2-color: ${I(T)};--h3-color: ${I(T)};--h4-color: ${I(T)};color: ${I(T)};--select-highlight-color: ${I(x)};--popup-bg-color: ${I(T)};`;null===(g=A.excalidrawContainer)||void 0===g||g.setAttribute("style",U),setTimeout((()=>A.updateScene({appState:{dynamicStyle:U}})));const Q=null===(w=null===(m=null===(p=A.toolsPanelRef)||void 0===p?void 0:p.current)||void 0===m?void 0:m.containerRef)||void 0===w?void 0:w.current;if(Q){let e=Q.getAttribute("style");e=e.replace(/\-\-color\-primary.*/,""),Q.setAttribute("style",e+U)}};class MenuLinks{constructor(e,A){this.render=(e,A)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=A}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,A,t)=>{if(!e||0===e.length||!A)return;const i=A.excalidrawAPI;if(!i)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const n=scaleLoadedImage(A.getScene(),e);void 0===t&&(t=n.scene.appState.theme),n.dirty&&await A.updateScene({elements:n.scene.elements,appState:n.scene.appState,commitToHistory:!1});for(const i of e)if(A.excalidrawData.hasFile(i.id)&&A.excalidrawData.getFile(i.id).setImage(i.dataURL,i.mimeType,i.size,t,i.hasSVGwithBitmap),A.excalidrawData.hasEquation(i.id)){const e=A.excalidrawData.getEquation(i.id).latex;A.excalidrawData.setEquation(i.id,{latex:e,isLoaded:!0})}i.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian_module.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian_module.TextFileView{constructor(e,A){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.modifierKeyDown={shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1},this.currentPosition={x:0,y:0},this.semaphores={popoutUnload:!1,viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.previousTheme="",this.colorChangeTimer=null,this.plugin=A,this.excalidrawData=new ExcalidrawData(A),this.hookServer=A.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,t=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));t&&t instanceof obsidian_module.TFile?app.vault.modify(t,JSON.stringify(e,null,"\t")):app.vault.create(A,JSON.stringify(e,null,"\t"))}async exportExcalidraw(e){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const A=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(A);const t=getNewUniqueFilepath(app.vault,e,A);app.vault.create(t,JSON.stringify(this.getScene(),null,"\t")),new obsidian_module.Notice(`Exported to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(e),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file))}async saveSVG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.svg(e,i,A);if(!a)return;const r=(new XMLSerializer).serializeToString(embedFontsInSVG(a,this.plugin));n&&n instanceof obsidian_module.TFile?await app.vault.modify(n,r):await app.vault.create(t,r)};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.svg"),"dark"),await t(getIMGFilename(this.file.path,"light.svg"),"light")):await t(getIMGFilename(this.file.path,"svg"))}async exportSVG(e,A){if(!this.getScene||!this.file)return;let t=await this.svg(this.getScene(A),void 0,e);t&&(t=embedFontsInSVG(t,this.plugin),download(null,svgToBase64(t.outerHTML),`${this.file.basename}.svg`))}async png(e,A,t){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=A?A:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===t?!!i&&i.embedScene:t})}),n,i?i.padding:getExportPadding(this.plugin,this.file),i?i.scale:getPNGScale(this.plugin,this.file))}async savePNG(e,A){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=async(t,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t)),a=await this.png(e,i,A);a&&(n&&n instanceof obsidian_module.TFile?await app.vault.modifyBinary(n,await a.arrayBuffer()):await app.vault.createBinary(t,await a.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await t(getIMGFilename(this.file.path,"dark.png"),"dark"),await t(getIMGFilename(this.file.path,"light.png"),"light")):await t(getIMGFilename(this.file.path,"png"))}async exportPNGToClipboard(e,A){if(!this.getScene||!this.file)return;const t=await this.png(this.getScene(A),void 0,e);t&&await navigator.clipboard.write([new window.ClipboardItem({"image/png":t})])}async exportPNG(e,A){if(!this.getScene||!this.file)return;const t=await this.png(this.getScene(A),void 0,e);if(!t)return;const i=new FileReader;i.readAsDataURL(t);const n=this;i.onloadend=function(){const e=i.result;download(null,e,`${n.file.basename}.png`)}}async save(e=!0,A=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let t=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const i=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||A),n=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(n):await this.excalidrawData.syncElements(n,this.excalidrawAPI.getAppState().selectedElementIds)&&!this.semaphores.popoutUnload&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),i&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),t=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&A,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!t&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,t&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){var e,A,t;if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const i=this.getScene();if(!this.compatibilityMode){let i=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==i&&(i=this.data.search(/(%%\n)?# Drawing\n/)),-1==i)return this.data;const n=(null===(e=this.exportDialog)||void 0===e?void 0:e.dirty)&&(null===(A=this.exportDialog)||void 0===A?void 0:A.saveSettings)?[["excalidraw-export-padding",this.exportDialog.padding.toString()],["excalidraw-export-pngscale",this.exportDialog.scale.toString()],["excalidraw-export-dark","dark"===this.exportDialog.theme?"true":"false"],["excalidraw-export-transparent",this.exportDialog.transparent?"true":"false"],[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]]:[[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]];(null===(t=this.exportDialog)||void 0===t?void 0:t.dirty)&&(this.exportDialog.dirty=!1);let a=updateFrontmatterInString(this.data.substring(0,i),n);const r=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;a.match(r)&&(a=a.replace(r,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const s=a+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,s}return this.compatibilityMode?JSON.stringify(i,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}toggleDisableBinding(){const e=!this.excalidrawAPI.getAppState().invertBindingBehaviour;this.updateScene({appState:{invertBindingBehaviour:e}}),new obsidian_module.Notice(e?"Inverted Mode: Default arrow binding is now disabled. Use CTRL/CMD to temporarily enable binding when needed.":"Normal Mode: Arrow binding is now enabled. Use CTRL/CMD to temporarily disable binding when needed.")}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const A=this.ownerDocument;A.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),A.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),A.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}removeLinkTooltip(){const e=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");e&&e.classList.remove("excalidraw-tooltip--visible")}handleLinkHookCall(e,A,t){if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,A,t,this,this.getHookServer()))return!0}catch(e){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:e})}return!1}openExternalLink(e,A){return!!e.match(REG_LINKINDEX_HYPERLINK)&&(window.open(e,"_blank"),!0)}openTagSearch(e){const A=e.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!A.value||A.value.length<2)return;const t=app.workspace.getLeavesOfType("search");0!=t.length&&(t[0].view.setQuery(`tag:${A.value[1]}`),app.workspace.revealLeaf(t[0]),this.isFullscreen()&&this.exitFullscreen())}async linkClick(e,A,t,i,n){var a,r,s,o;A||(A={id:null,text:null}),t||(t={id:null,fileId:null}),i||(i={id:null,text:null}),n||(n={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,altKey:e.altKey});const l=linkClickModifierType(n);let c=null,d=null,h=null;if((null==A?void 0:A.id)||(null==i?void 0:i.id)){if(h=null!==(a=null==i?void 0:i.text)&&void 0!==a?a:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(A.id):A.text,!h)return;h=h.replaceAll("\n","");const t=null!==(r=A.id)&&void 0!==r?r:i.id,n=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t))[0];if(this.handleLinkHookCall(n,h,e))return;if(this.openExternalLink(h))return;const s=REGEX_LINK.getResList(h);let o=s[0];if(s.length>1&&(o=await ScriptEngine.suggester(app,s.filter((e=>Boolean(e.value))).map((e=>REGEX_LINK.getLink(e))),s.filter((e=>Boolean(e.value))),"Select link to open"),!o))return;if(!o.value)return void this.openTagSearch(h);if(h=REGEX_LINK.getLink(o),this.openExternalLink(h))return;if(h.search("#")>-1){const e=getLinkParts(h,this.file);d=`#${e.isBlockRef?"^":""}${e.ref}`,h=e.path}if(h.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);c=this.app.metadataCache.getFirstLinkpathDest(h,this.file.path)}if(null==t?void 0:t.id){if(this.excalidrawData.hasEquation(t.fileId)){const e=this.excalidrawData.getEquation(t.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async A=>{A&&A!==e&&(this.excalidrawData.setEquation(t.fileId,{latex:A,isLoaded:!1}),await this.save(!1),await updateEquation(A,t.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(t.fileId)){const e=this.excalidrawData.getFile(t.fileId);if(e.isHyperlink)return void window.open(e.hyperlink,"_blank");if("md-properties"===l&&"md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
      Follow this format when editing your link:
      filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async A=>{A&&e.linkParts.original!==A&&(e.resetImage(this.file.path,A),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}));h=e.file.path,c=e.file}}if(!h)return void new obsidian_module.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4);const u=null!==(o=null!==(s=t.id)&&void 0!==s?s:A.id)&&void 0!==o?o:i.id,g=this.excalidrawAPI.getSceneElements().filter((e=>e.id===u))[0];if(!this.handleLinkHookCall(g,h,e))try{if("active-pane"!==l&&this.isFullscreen()&&this.exitFullscreen(),!c)return void new NewFileActions(this.plugin,h,n,this).open();this.linksAlwaysOpenInANewPane&&(n.ctrlKey=!0,n.altKey=!0);const e=getLeaf(this.plugin,this.leaf,n);await e.openFile(c,d?{active:!1,eState:{subpath:d}}:void 0)}catch(e){new obsidian_module.Notice(e,4e3)}}async handleLinkClick(e){this.removeLinkTooltip();const A=this.getSelectedTextElement(),t=(null==A?void 0:A.id)?null:this.getSelectedImageElement(),i=(null==t?void 0:t.id)||(null==A?void 0:A.id)?null:this.getSelectedElementWithLink();this.linkClick(e,A,t,i)}onResize(){var e,A;if(this.plugin.leafChangeTimeout)return;const t=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&t&&"text"!==(null===(A=null===(e=t.getAppState())||void 0===e?void 0:e.editingElement)||void 0===A?void 0:A.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian_module.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian_module.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const A=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=A,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(e))),app.isMobile||this.addAction("fullscreen","Use the action on the Excalidraw Obsidian Panel or the Command Palette to exit fullscreen mode. You can set up a hotkey for toggling fullscreen mode in Obsidian settings under Hotkeys.",(()=>this.gotoFullscreen()));const t=this;app.workspace.onLayoutReady((async()=>{t.contentEl.addClass("excalidraw-view"),await t.addSlidingPanesListner(),t.addParentMoveObserver(),t.onKeyUp=e=>{t.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.onKeyDown=e=>{this.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},t.ownerWindow.addEventListener("keydown",t.onKeyDown,!1),t.ownerWindow.addEventListener("keyup",t.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let A=app.workspace.rootSplit;for(;!A;)await sleep(50),A=app.workspace.rootSplit;A.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const A=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!A)return;const t=A.classList.contains("popover");this.offsetLeft=A.offsetLeft,this.offsetTop=A.offsetTop;const i=this;this.parentMoveObserver=new MutationObserver((async e=>{const A=e[0].target;if(!(A instanceof HTMLElement))return;const{offsetLeft:t,offsetTop:n}=A;t===i.offsetLeft&&n==i.offsetTop||(i.refresh&&i.refresh(),i.offsetLeft=t,i.offsetTop=n)})),this.parentMoveObserver.observe(A,{attributeOldValue:!0,attributeFilter:t?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const A=this.excalidrawAPI;if(!this.excalidrawRef||!A)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const t=A.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},t),{theme:e}),commitToHistory:!1})}async changeTextMode(e,A=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const t=this.excalidrawAPI;t&&A&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(!1),t.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var A;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const t=this.excalidrawAPI;if(!t)return void warningUnknowSeriousError();const i=t.getAppState(),n=null!==i.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(A=this.file)||void 0===A?void 0:A.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||n||null!==i.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,A,t,i,n,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,this.semaphores.popoutUnload=this.ownerDocument!==document&&0===this.ownerDocument.body.querySelectorAll(".workspace-tab-header").length,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(A=this.ownerWindow)||void 0===A||A.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(i=null===(t=this.containerEl)||void 0===t?void 0:t.ownerDocument)||void 0===i?void 0:i.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(n=this.containerEl)||void 0===n?void 0:n.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null)}async reload(e=!1,A){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const t=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!t)return;const i=A&&A===this.file;i&&(this.data=await app.vault.read(A),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=t.getAppState().theme,await this.loadDrawing(i),this.clearDirty()}async zoomToElementId(e,A){let t=0;for(;!this.excalidrawAPI&&t++<100;)await sleep(50);const i=this.excalidrawAPI;if(!i)return;const n=i.getSceneElements();let a=n.filter((A=>A.id===e));if(0!==a.length){if(A){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],n);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!i.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const A=this;let t=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(t=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const i=getEmbeddedFilenameParts(e.subpath);i.hasBlockref&&setTimeout((()=>A.zoomToElementId(i.blockref,i.hasGroupref)),300),i.hasSectionref?t=[`# ${i.sectionref}`]:e.line&&e.line>0&&(t=[this.data.split("\n")[e.line-1]]),t&&setTimeout((async()=>{let e=0;for(;!A.excalidrawAPI&&e++<100;)await sleep(50);const n=A.excalidrawAPI;if(!n)return;const a=n.getSceneElements();A.selectElementsMatchingQuery(a,t,!n.getAppState().viewModeEnabled,i.hasSectionref,i.hasGroupref)}),300),super.setEphemeralState(e)}clear(){delete this.exportDialog;const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),this.previousSceneVersion=0)}async setViewData(e,A=!1){this.isLoaded=!1,this.file&&(this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),A&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian_module.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const A=getTextMode(e);this.changeTextMode(A,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian_module.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}if(await this.loadDrawing(!0),this.plugin.ea.onFileOpenHook)try{await this.plugin.ea.onFileOpenHook({ea:getEA(this),excalidrawFile:this.file,view:this})}catch(e){errorlog({where:"ExcalidrawView.setViewData.onFileOpenHook",error:e})}const A=this.excalidrawData.getOnLoadScript();if(A){const e=this,t=this.file.basename+"-onlaod-script",i=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,A,t,this.file):setTimeout(i,200)};i()}this.isLoaded=!0})))}getGridColor(e){const A=this.plugin.ea.getCM(e);return A.isDark()?A.lighterBy(5):A.darkerBy(5),A.stringHEX()}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),A=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,t)=>{e&&(addFiles(e,this,t),this.activeLoader=null,this.nextLoader?A(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,A=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&A===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1})))}),0)};this.activeLoader?this.nextLoader=e:A(e)}async synchronizeWithData(e){let A=0;for(;this.semaphores.saving&&A++<30;)await sleep(100);if(A>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let t=!1;try{const A=e.deletedElements.map((e=>e.id)),i=this.excalidrawAPI.getSceneElements().filter((e=>!A.contains(e.id))),n=i.map((e=>e.id)),a=A=>{switch(A.type){case"text":this.excalidrawData.textElements.set(A.id,e.textElements.get(A.id));break;case"image":e.getFile(A.fileId)?(this.excalidrawData.setFile(A.fileId,e.getFile(A.fileId)),t=!0):e.getEquation(A.fileId)&&(this.excalidrawData.setEquation(A.fileId,e.getEquation(A.fileId)),t=!0)}e.elementLinks.has(A.id)&&this.excalidrawData.elementLinks.set(A.id,e.elementLinks.get(A.id))};e.scene.elements.forEach(((A,r,s)=>{const o=i.filter((e=>e.id===A.id))[0];if(o&&(o.version0&&a.viewModeEnabled,l=this.isLoaded?s.getAppState().zenModeEnabled:a.zenModeEnabled;s.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.updateScene({elements:n.elements.concat(null!=A?A:[]),files:n.files,commitToHistory:!0},e),this.updateScene({appState:Object.assign(Object.assign(Object.assign({},n.appState),this.excalidrawData.selectedElementIds?this.excalidrawData.selectedElementIds:{}),{zenModeEnabled:l,viewModeEnabled:o,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)})}),app.workspace.getActiveViewOfType(ExcalidrawView)===this.leaf.view&&this.excalidrawWrapperRef&&(null===(i=null===(t=this.excalidrawWrapperRef.current)||void 0===t?void 0:t.firstElementChild)||void 0===i||i.focus()),this.loadSceneFiles(),this.updateContainerSize(null,!0),this.initializeToolsIconPanelAfterLoading()}else this.instantiateExcalidraw({elements:n.elements,appState:Object.assign(Object.assign({},n.appState),{zenModeEnabled:a.zenModeEnabled,viewModeEnabled:n.elements.length>0&&a.viewModeEnabled,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}),files:n.files,libraryItems:await this.getLibrary()});const o=null!==this.data.match(/```compressed\-json\n/gm);this.compatibilityMode||this.plugin.settings.compress===o||this.isEditedAsMarkdownInOtherView()||this.setDirty(4)}isEditedAsMarkdownInOtherView(){return app.workspace.getLeavesOfType("markdown").filter((e=>e.view.file===this.file)).length>0}setDirty(e){var A,t;this.semaphores.dirty=null===(A=this.file)||void 0===A?void 0:A.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),!this.semaphores.viewunload&&(null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const t=A.getSceneElements();t&&(this.previousSceneVersion=this.getSceneVersion(t)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;if(this.semaphores.viewunload)return;const A=this.excalidrawAPI;if(!A)return;const t=A.getAppState(),i=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;i&&(i.setTheme(t.theme),i.setExcalidrawViewMode(t.viewModeEnabled),i.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),i.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}async addYouTubeThumbnail(e){const A=await getYouTubeThumbnailLink(e),t=getEA(this),i=await t.addImage(0,0,A);t.getElement(i).link=e,t.addElementsToView(!0,!0,!0)}async addImageWithURL(e){const A=getEA(this);await A.addImage(0,0,e),A.addElementsToView(!0,!0,!0)}async addImageSaveToVault(e){const A=getEA(this),t=getMimeType(getURLImageExtension(e)),i=await getDataURLFromURL(e,t,3e3),n=await generateIdFromFile((new TextEncoder).encode(i)),a=await this.excalidrawData.saveDataURLtoVault(i,t,n);await A.addImage(0,0,a),A.addElementsToView(!0,!0,!0)}async addTextWithIframely(e){var A;const t=await this.addText(e),i=`http://iframely.server.crestify.com/iframely?url=${e}`;try{const n=JSON.parse(await obsidian_module.request({url:i}));if(!n||n.error||!(null===(A=n.meta)||void 0===A?void 0:A.title))return;const a=getEA(this),r=a.getViewElements().filter((e=>e.id===t));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${n.meta.title}](${e})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))}catch(e){}}onPaneMenu(e,A){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("EXPORT_EXCALIDRAW")).setIcon(ICON_NAME).onClick((async()=>{this.exportExcalidraw()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("SAVE_AS_PNG")).setIcon("save-png").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportPNG(isSHIFT(e)):(this.savePNG(void 0,isSHIFT(e)),new obsidian_module.Notice("PNG export is ready"+(isSHIFT(e)?" with embedded scene":""))))})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("SAVE_AS_SVG")).setIcon("save-svg").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(isCTRL(e)?this.exportSVG(isSHIFT(e)):(this.saveSVG(void 0,isSHIFT(e)),new obsidian_module.Notice("SVG export is ready"+(isSHIFT(e)?" with embedded scene":""))))}))})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,A)}async getLibrary(){var e;const A=this.plugin.getStencilLibrary();return(null==A?void 0:A.library)?A.library:null!==(e=null==A?void 0:A.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const A=this.plugin.getPackage(this.ownerWindow).react,t=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const i=A.createElement((()=>{const t=A.useRef(null),i=A.useRef(null),n=A.useRef(null),[a,r]=A.useState({width:void 0,height:void 0});let s=null,o=null,l=null,c=Date.now(),d=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i,this),this.menuLinks=new MenuLinks(this.plugin,n);const h=()=>{let e,A;const t=new Promise(((t,i)=>{e=t,A=i}));return t.resolve=e,t.reject=A,t},u=A.useMemo((()=>({current:{readyPromise:h()}})),[]);A.useEffect((()=>{u.current.readyPromise.then((e=>{var A,t,i;this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.loadSceneFiles(),this.updateContainerSize(null,!0),this.excalidrawContainer=null===(t=null===(A=this.excalidrawWrapperRef)||void 0===A?void 0:A.current)||void 0===t?void 0:t.firstElementChild,null===(i=this.excalidrawContainer)||void 0===i||i.focus(),this.initializeToolsIconPanelAfterLoading()}))}),[u]),this.excalidrawRef=u,this.excalidrawWrapperRef=t,A.useEffect((()=>{r({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{const e=this.contentEl.clientWidth,A=this.contentEl.clientHeight;if(0===e||0===A)return;r({width:e,height:A}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var A;return null===(A=this.ownerWindow)||void 0===A?void 0:A.removeEventListener("resize",e)}}),[t]),this.getSelectedTextElement=()=>{var e;const A=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!A)return{id:null,text:null};if(A.getAppState().viewModeEnabled){if(s){const e=s;return s=null,e}return{id:null,text:null}}const t=A.getSceneElements().filter((e=>e.id===Object.keys(A.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if("text"===t[0].type)return{id:t[0].id,text:t[0].text};if(["image","arrow"].contains(t[0].type))return{id:null,text:null};const i=null===(e=t[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==i?void 0:i.length)>0){const e=A.getSceneElements().filter((e=>e.id===i[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===t[0].groupIds.length)return{id:null,text:null};const n=t[0].groupIds[0],a=A.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(n)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:t[0].id,text:t[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,fileId:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,fileId:null};if("image"==A[0].type)return{id:A[0].id,fileId:A[0].fileId};if("text"===A[0].type)return{id:null,fileId:null};if(0===A[0].groupIds.length)return{id:null,fileId:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>"image"==e.type));return 0===i.length?{id:null,fileId:null}:{id:i[0].id,fileId:i[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,text:null}}const A=e.getSceneElements().filter((A=>A.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if(A[0].link)return{id:A[0].id,text:A[0].link};if(0===A[0].groupIds.length)return{id:null,text:null};const t=A[0].groupIds[0],i=e.getSceneElements().filter((e=>{var A;return null===(A=e.groupIds)||void 0===A?void 0:A.includes(t)})).filter((e=>e.link));return 0===i.length?{id:null,text:null}:{id:i[0].id,text:i[0].link}},this.addText=async(e,A,t=!0)=>{var i,n,a,r,s;const o=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!o)return;const l=o.getAppState(),c=this.plugin.ea.getAPI(this);c.style.strokeColor=null!==(i=l.currentItemStrokeColor)&&void 0!==i?i:"black",c.style.opacity=null!==(n=l.currentItemOpacity)&&void 0!==n?n:1,c.style.fontFamily=null!==(a=null!=A?A:l.currentItemFontFamily)&&void 0!==a?a:1,c.style.fontSize=null!==(r=l.currentItemFontSize)&&void 0!==r?r:20,c.style.textAlign=null!==(s=l.currentItemTextAlign)&&void 0!==s?s:"left";const{width:d,height:h}=l,g=viewportCoordsToSceneCoords({clientX:0,clientY:0},l),p=viewportCoordsToSceneCoords({clientX:d,clientY:h},l),m=g.x>this.currentPosition.x||p.xthis.currentPosition.y||p.y{const a=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!a)return!1;const r=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),o=a.getSceneElements(),l=[];for(let A=0;Ae.id===t))[0],l.push(t))}const c=n?o.concat(e.filter((e=>!l.includes(e.id)))):e.filter((e=>!l.includes(e.id))).concat(o);if(this.updateScene({elements:c,commitToHistory:!0},!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((A=>{if(e.push({mimeType:i[A].mimeType,id:i[A].id,dataURL:i[A].dataURL,created:i[A].created}),i[A].file||i[A].isHyperlink){const e=new EmbeddedFile(this.plugin,this.file.path,i[A].isHyperlink?i[A].hyperlink:i[A].file),t=a.getAppState();e.setImage(i[A].dataURL,i[A].mimeType,i[A].size,"dark"===t.theme,i[A].hasSVGwithBitmap),this.excalidrawData.setFile(i[A].id,e)}i[A].latex&&this.excalidrawData.setEquation(i[A].id,{latex:i[A].latex,isLoaded:!0})})),a.addFiles(e)}return a.updateContainerSize(a.getSceneElements().filter((e=>s.includes(e.id))).filter(isContainer)),t?await this.save(!1):this.setDirty(5),!0},this.getScene=e=>{const A=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!A)return null;const t=e?this.getViewSelectedElements():A.getSceneElements(),i=A.getAppState(),n=Object.assign({},A.getFiles());if(n){const e=t.filter((e=>"image"===e.type)).map((e=>e.fileId)),A=Object.keys(n).filter((A=>!e.contains(A)));A.forEach((e=>delete n[e]))}return{type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:t,appState:{theme:i.theme,viewBackgroundColor:i.viewBackgroundColor,currentItemStrokeColor:i.currentItemStrokeColor,currentItemBackgroundColor:i.currentItemBackgroundColor,currentItemFillStyle:i.currentItemFillStyle,currentItemStrokeWidth:i.currentItemStrokeWidth,currentItemStrokeStyle:i.currentItemStrokeStyle,currentItemRoughness:i.currentItemRoughness,currentItemOpacity:i.currentItemOpacity,currentItemFontFamily:i.currentItemFontFamily,currentItemFontSize:i.currentItemFontSize,currentItemTextAlign:i.currentItemTextAlign,currentItemStartArrowhead:i.currentItemStartArrowhead,currentItemEndArrowhead:i.currentItemEndArrowhead,scrollX:i.scrollX,scrollY:i.scrollY,zoom:i.zoom,currentItemRoundness:i.currentItemRoundness,gridSize:i.gridSize,colorPalette:i.colorPalette,currentStrokeOptions:i.currentStrokeOptions,previousGridSize:i.previousGridSize},prevTextMode:this.prevTextMode,files:n}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==u?void 0:u.current)&&e&&e.refresh()};let g={x:0,y:0},p=null;this.clearHoverPreview=()=>{if(p){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});p.dispatchEvent(e),p=null}};const m=e=>{var A,t,i,n,a;const r=null===(A=app.dragManager.draggable)||void 0===A?void 0:A.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(t=app.dragManager.draggable)||void 0===t?void 0:t.type)?"link":(null===(i=e.types)||void 0===i?void 0:i.includes("text/html"))||(null===(n=e.types)||void 0===n?void 0:n.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let w=!1;const f=()=>{if(s=getTextElementAtPointer(this.currentPosition,this),s&&s.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(s=null)}if(o=getImageElementAtPointer(this.currentPosition,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(o=null)}if(l=getElementWithLinkAtPointer(this.currentPosition,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(l=null)}};let B=null;const E=(e,A)=>{var t,i;if(!B)return;if(null===(i=null===(t=this.excalidrawAPI)||void 0===t?void 0:t.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!this.currentPosition)return;e="";const t=getTextElementAtPointer(this.currentPosition,this);if(t&&t.text){A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0];const i=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(t.id):t.text;if(!i)return;if(i.match(REG_LINKINDEX_HYPERLINK))return;const n=REGEX_LINK.getRes(i).next();if(!n.value)return;if((e=REGEX_LINK.getLink(n)).match(REG_LINKINDEX_HYPERLINK))return}else{const t=getImageElementAtPointer(this.currentPosition,this);if(A=this.excalidrawAPI.getSceneElements().filter((e=>e.id===t.id))[0],!t||!t.fileId)return;if(!this.excalidrawData.hasFile(t.fileId))return;const i=this.excalidrawData.getFile(t.fileId);if(i.isHyperlink)return;if(IMAGE_TYPES.contains(i.file.extension))return;if(this.plugin.ea.isExcalidrawFile(i.file))return;const n=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=i.file.path+n}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(A,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const n=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!n)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))return;this.semaphores.hoverSleep=!0;const a=this;if(setTimeout((()=>a.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,p=this.contentEl,app.workspace.trigger("hover-link",{event:B,source:"excalidraw",hoverParent:p,targetEl:p,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),g=this.currentPosition,this.isFullscreen()){const e=this;setTimeout((()=>{var A,t,i,a;const r=null!==(a=null===(i=null===(t=null===(A=this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))||void 0===A?void 0:A.parentElement)||void 0===t?void 0:t.parentElement)||void 0===i?void 0:i.parentElement)&&void 0!==a?a:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:b,MainMenu:C,WelcomeScreen:v}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,y=A.createElement("div",{className:"excalidraw-wrapper",ref:t,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==y.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!isCTRL(e)||isSHIFT(e)||isALT(e)||E())},onPointerDown:e=>{(isCTRL(e)||isMETA(e))&&(!this.plugin.settings.allowCtrlClick&&isMETA(e)||setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(e)})))},onMouseMove:e=>{B=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const A=m(e.dataTransfer);if(A){this.draginfoDiv||(this.draginfoDiv=createDiv({cls:"excalidraw-draginfo"}),this.ownerDocument.body.appendChild(this.draginfoDiv));let t="";if(app.dragManager.draggable)switch(internalDragModifierType(e)){case"image":t="Embed image";break;case"image-fullsize":t="Embed image @100%";break;case"link":t="Insert link"}else if(1===e.dataTransfer.types.length&&e.dataTransfer.types.includes("Files"))t="External file";else switch(externalDragModifierType(e)){case"image-import":t="Import image to Vault";break;case"image-url":t="Insert image/thumbnail with URL";break;case"insert-link":t="Insert link"}this.draginfoDiv.innerText!==t&&(this.draginfoDiv.innerText=t);const i=e.clientY-8*parseFloat(getComputedStyle(this.draginfoDiv).fontSize)+"px",n=e.clientX-this.draginfoDiv.clientWidth/2+"px";return this.draginfoDiv.style.top!==i&&(this.draginfoDiv.style.top=i),this.draginfoDiv.style.left!==n&&(this.draginfoDiv.style.left=n),e.dataTransfer.dropEffect=A,e.preventDefault(),!1}},onDragLeave:()=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv)}},A.createElement(b,{ref:u,width:a.width,height:a.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(this.currentPosition=e.pointer,p&&(Math.abs(g.x-e.pointer.x)>50||Math.abs(g.y-e.pointer.y)>50)&&this.clearHoverPreview(),w){if(!d&&"down"===e.button){if(d=!0,isCTRL(this.modifierKeyDown)||isMETA(this.modifierKeyDown))return void f();const e=Date.now();return e-c<600&&e-c>40&&f(),void(c=e)}"up"===e.button&&(d=!1),(isCTRL(this.modifierKeyDown)||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&E()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,onChange:(e,A)=>{var t,i,n,a;const r=()=>{if(setTimeout((()=>this.updateScene({appState:{gridColor:this.getGridColor(A.viewBackgroundColor)}}))),setDynamicStyle(this.plugin.ea,this,A.viewBackgroundColor,this.plugin.settings.dynamicStyling),this.plugin.ea.onCanvasColorChangeHook)try{this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,A.viewBackgroundColor)}catch(e){errorlog({where:r,source:this.plugin.ea.onCanvasColorChangeHook,error:e,message:"ea.onCanvasColorChangeHook exception"})}};if(w=A.viewModeEnabled,this.semaphores.justLoaded){if((null!==(a=null===(n=null===(i=null===(t=this.excalidrawData)||void 0===t?void 0:t.scene)||void 0===i?void 0:i.elements)||void 0===n?void 0:n.length)&&void 0!==a?a:0)>0&&0===e.length)return;return this.semaphores.justLoaded=!1,!this.semaphores.preventAutozoom&&this.plugin.settings.zoomToFitOnOpen&&this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=A.viewBackgroundColor,this.previousTheme=A.theme,void r()}if(A.theme!==this.previousTheme&&this.file===this.excalidrawData.file&&(this.previousTheme=A.theme,this.setDirty(5)),A.viewBackgroundColor!==this.previousBackgroundColor&&this.file===this.excalidrawData.file&&(this.previousBackgroundColor=A.viewBackgroundColor,this.setDirty(6),this.colorChangeTimer&&clearTimeout(this.colorChangeTimer),this.colorChangeTimer=setTimeout((()=>{r(),this.colorChangeTimer=null}),50)),!this.semaphores.dirty&&null===A.editingElement&&null===A.editingLinearElement){const A=this.getSceneVersion(e);(A>0||0===A&&e.length>0)&&A!==this.previousSceneVersion&&(this.previousSceneVersion=A,this.setDirty(6))}},onLibraryChange:e=>{(async()=>{const A={type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:e};this.plugin.setStencilLibrary(A),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e&&e.text&&hyperlinkIsYouTubeLink(e.text))return this.addYouTubeThumbnail(e.text),!1;if(e&&e.text&&hyperlinkIsImage(e.text))return this.addImageWithURL(e.text),!1;if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var A;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(A=null==i?void 0:i.current)||void 0===A||A.setTheme(e),setDynamicStyle(this.plugin.ea,this,this.previousBackgroundColor,this.plugin.settings.dynamicStyling)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv);const A=this.excalidrawAPI;if(!A)return!1;const t=A.getAppState();this.currentPosition=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},t);const i=app.dragManager.draggable,n=internalDragModifierType(e),a=externalDragModifierType(e),r=(A,t,n)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:A,payload:{files:t,text:n},excalidrawFile:this.file,view:this,pointerPosition:this.currentPosition})}catch(e){return new obsidian_module.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(null==i?void 0:i.type){case"file":if(!r("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(["image","image-fullsize"].contains(n)&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension)){const e=this.plugin.ea;return e.reset(),e.setView(this),(async()=>{e.canvas.theme=A.getAppState().theme,await e.addImage(this.currentPosition.x,this.currentPosition.y,i.file,!("image-fullsize"===n)),e.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return r("file",i.files,null)||(async()=>{if(["image","image-fullsize"].contains(n)){const e=this.plugin.ea;e.reset(),e.setView(this),e.canvas.theme=A.getAppState().theme;let t=0;for(const A of i.files)(IMAGE_TYPES.contains(A.extension)||"md"===A.extension)&&(await e.addImage(this.currentPosition.x+50*t,this.currentPosition.y+50*t,A,!("image-fullsize"===n)),t++,await e.addElementsToView(!1,!1,!0))}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),this.currentPosition.y+=2*t.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const A=e.dataTransfer.getData("text");if(A&&r("text",null,A))return!1;if(A&&"image-url"===a&&hyperlinkIsImage(A))return this.addImageWithURL(A),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A.match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A),!1):(this.addText(A),!1)}if(e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/);if(A&&"image-url"===a&&hyperlinkIsImage(A[1]))return this.addImageWithURL(A[1]),!1;if(A&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&A[1].match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(A[1]),!1):(this.addText(A[1]),!1)}return!0}if(e.dataTransfer.types.includes("text/plain")||e.dataTransfer.types.includes("text/uri-list")||e.dataTransfer.types.includes("text/html")){const A=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/),t=A?A[1]:"",i=e.dataTransfer.getData("text"),n=e.dataTransfer.getData("text/uri-list");let s=A?t:i;if(s&&""!==s||(s=n),!s||""===s)return!0;if(!r("text",null,s)){if(s&&"image-url"===a&&hyperlinkIsYouTubeLink(s))return this.addYouTubeThumbnail(s),!1;if(n&&"image-url"===a&&hyperlinkIsYouTubeLink(n))return this.addYouTubeThumbnail(n),!1;if(s&&"image-url"===a&&hyperlinkIsImage(s))return this.addImageWithURL(s),!1;if(n&&"image-url"===a&&hyperlinkIsImage(n))return this.addImageWithURL(n),!1;if(s&&"image-import"===a&&hyperlinkIsImage(s))return this.addImageSaveToVault(s),!1;if(n&&"image-import"===a&&hyperlinkIsImage(n))return this.addImageSaveToVault(n),!1;if(this.plugin.settings.iframelyAllowed&&s.match(/^https?:\/\/\S*$/))return this.addTextWithIframely(s),!1;if(s.startsWith("obsidian://open?vault=")){const A=e.dataTransfer.getData("text/html");if(A){const e=A.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const A=decodeURIComponent(e[1]).split("#"),t=app.vault.getAbstractFileByPath(A[0]);if(t&&t instanceof obsidian_module.TFile){const e=app.metadataCache.fileToLinktext(t,this.file.path);return void this.addText(`[[${e+(A.length>1?"#"+A[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const t=s.split("file=");if(2===t.length)return this.addText(`[[${decodeURIComponent(t[1])}]]`),!1}this.addText(s.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!r("unknown",null,null)},onBeforeTextEdit:e=>{var A;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(A=e.originalText)&&void 0!==A?A:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,A,t,i)=>{const n=this.excalidrawAPI;if(!n)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(A.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((()=>{const A=this.excalidrawAPI.getSceneElements(),t=A.filter((A=>A.id===e.id));if(1===t.length){const e=cloneElement(t[0]);e.rawText=a,A[A.indexOf(t[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),this.updateScene({elements:A}),n.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),i)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(A!==e.text||t!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[i,a,s]=this.excalidrawData.setTextElement(e.id,A,t,(async(A,t)=>{var i,a;if(this.textMode===TextMode.raw)return;const r=this.excalidrawAPI.getSceneElements(),s=r.filter((A=>A.id===e.id));if(1===s.length){const e=cloneElement(s[0]),o=s[0].containerId?null===(a=null===(i=n.getSceneElements().filter((e=>e.id===s[0].containerId)))||void 0===i?void 0:i[0])||void 0===a?void 0:a.type:void 0;this.excalidrawData.updateTextElement(e,A,t,!0,o),r[r.indexOf(s[0])]=e,this.updateScene({elements:r}),e.containerId&&this.updateContainerSize(e.containerId)}n.history.clear()}));return i?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[A,t,s]:A===i?s?[i,a,s]:[null,null,null]:(n.history.clear(),[i,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,A)=>{var t;if(A.preventDefault(),!e)return;let i=e.link;if(!i||""===i)return;setTimeout((()=>this.removeLinkTooltip()),500);const n=null===(t=null==A?void 0:A.detail)||void 0===t?void 0:t.nativeEvent;if(!this.handleLinkHookCall(e,e.link,n)&&!this.openExternalLink(e.link,isSHIFT(n)||isCTRL(n)||isMETA(n)||isALT(n)?void 0:e)){if("text"===e.type){const A=e.rawText.replaceAll("\n","");REGEX_LINK.getResList(A).filter((e=>Boolean(e.value))).length>1&&(i=A)}this.linkClick(n,null,null,{id:e.id,text:i},emulateCTRLClickForLinks(n))}},onLinkHover:(e,A)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||isCTRL(A))){B=A,B.ctrlKey=!(DEVICE.isIOS||DEVICE.isMacOS)||B.ctrlKey,B.metaKey=DEVICE.isIOS||DEVICE.isMacOS||B.metaKey;const t=e.link;if(!t||""===t)return;if(t.startsWith("[[")){const A=t.match(/\[\[(?.*?)\]\]/);if(!A)return;let i=A.groups.link;E(i,e)}}},onViewModeChange:e=>{var A,t;if(this.semaphores.viewunload||null===(t=null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===t||t.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}},A.createElement(C,{},A.createElement(C.DefaultItems.ChangeCanvasBackground),A.createElement(C.DefaultItems.ToggleTheme),A.createElement(C.Separator),DEVICE.isPhone?null:A.createElement(C.Item,{icon:ICONS.trayMode,"aria-label":"Tray-mode offers an alternative, more spacious canvas",onSelect:()=>{this.toggleTrayMode()}},"Toggle tray-mode"),A.createElement(C.Item,{icon:saveIcon(!1),"aria-label":t$d("FORCE_SAVE"),onSelect:()=>{this.forceSave()}},"Save"),A.createElement(C.Item,{icon:ICONS.scriptEngine,"aria-label":"Explore the Excalidraw Script Library",onSelect:()=>{new ScriptInstallPrompt(this.plugin).open()}},"Script Library"),A.createElement(C.Item,{icon:ICONS.ExportImage,"aria-label":"Export image as PNG, SVG, or Excalidraw file",onSelect:()=>{this.exportDialog||(this.exportDialog=new ExportDialog(this.plugin,this,this.file),this.exportDialog.createForm()),this.exportDialog.open()}},"Export Image..."),A.createElement(C.Item,{icon:ICONS.switchToMarkdown,"aria-label":"Switch to markdown view",onSelect:()=>{this.openAsMarkdown()}},"Open as Markdown"),A.createElement(C.Separator),A.createElement(C.DefaultItems.Help),A.createElement(C.DefaultItems.ClearCanvas)),A.createElement(v,{},A.createElement(v.Center,{},A.createElement(v.Center.Logo),A.createElement(v.Center.Heading,{},'Type "Excalidraw" in the Command Palette',A.createElement("br"),"Explore the Obsidian Menu in the top right",A.createElement("br"),"Visit the Script Library",A.createElement("br"),"Find help in the hamburger-menu"),A.createElement(v.Center.Menu,{},A.createElement(v.Center.MenuItemLink,{icon:ICONS.YouTube,href:"https://www.youtube.com/@VisualPKM",shortcut:null,"aria-label":"Visual PKM YouTube Channel"}," Check out the Visual PKM YouTube channel."),A.createElement(v.Center.MenuItemLink,{icon:ICONS.Discord,href:"https://discord.gg/DyfAXFwUHc",shortcut:null,"aria-label":"Join the Visual Thinking Discord Server"}," Join the Visual Thinking Discord Server"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.twitter,href:"https://twitter.com/zsviczian",shortcut:null,"aria-label":"Follow me on Twitter"}," Follow me on Twitter"),A.createElement(v.Center.MenuItemLink,{icon:ICONS.heart,href:"https://ko-fi.com/zsolt",shortcut:null,"aria-label":"Donate to support Excalidraw-Obsidian"},' Say "Thank You" & support the plugin.'))))),A.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!u||!u.current||!e)return;const A=e.getAppState(),{width:t,height:i}=A;this.currentPosition=viewportCoordsToSceneCoords({clientX:t/2,clientY:i/2},A)}})),F=A.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:A,height:t}=e[0].contentRect;if(0===A||0===t)return;const n=i.current.onRightEdge?i.current.previousWidth-A:0,a=i.current.onBottomEdge?i.current.previousHeight-t:0;i.current.updatePosition(a,n)})));return A.useEffect((()=>((null==i?void 0:i.current)&&F.current.observe(i.current.containerRef.current),()=>{F.current.unobserve(i.current.containerRef.current)})),[i,F]),A.createElement(A.Fragment,null,y)}));t.createRoot(this.contentEl).render(i)}updateContainerSize(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=()=>{const A=e?t.getSceneElements().filter((A=>A.id===e&&"arrow"!==A.type)):t.getSceneElements().filter(isContainer);A.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),t.updateContainerSize(A)),this.initialContainerSizeUpdate=!1};A?setTimeout((()=>i()),50):i()}zoomToFit(e=!0,A=!1){if(document.body.querySelector("div.modal-container"))return;const t=this.excalidrawAPI;if(!t||!this.excalidrawRef||this.semaphores.isEditingText||this.semaphores.preventAutozoom)return;const i=this.plugin.settings.zoomToFitMaxLevel,n=t.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&n.length>1e3||n.length>2500?A&&t.scrollToContent():e?setTimeout((()=>t.zoomToFit(n,i,this.isFullscreen()?0:.05)),100):t.zoomToFit(n,i,this.isFullscreen()?0:.05)}updatePinnedScripts(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{pinnedScripts:this.plugin.settings.pinnedScripts}})}updatePinnedCustomPens(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}})}updatePinchZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowPinchZoom:this.plugin.settings.allowPinchZoom}})}updateWheelZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowWheelZoom:this.plugin.settings.allowWheelZoom}})}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const A=e.getAppState();e.updateScene({appState:{trayModeEnabled:!A.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!A.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,A,t=!0,i=!1,n=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),A,i);if(0!==a.length){if(n){const A=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);A.length>0&&(a=A)}this.zoomToElements(t,a)}else new obsidian_module.Notice("I could not find a matching text element")}zoomToElements(e,A){const t=this.excalidrawAPI;if(!t)return;const i=this.plugin.settings.zoomToFitMaxLevel;e&&t.selectElements(A),t.zoomToFit(A,i,.05)}getViewSelectedElements(){var e;const A=this.excalidrawAPI;if(!A)return[];const t=null===(e=A.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!t)return[];const i=Object.keys(t);if(!i)return[];const n=A.getSceneElements().filter((e=>i.includes(e.id))),a=n.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=n.map((e=>e.id)).concat(a);return A.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const A=this.getViewSelectedElements();if(A.length<1)return void new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let t;if(2===A.length){const e=A.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===A.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(t=e[0].id)}t||(t=1===A.length?A[0].id:this.plugin.ea.getLargestElement(A).id);const i=await ScriptEngine.inputPrompt(this,this.plugin,app,"Set link alias","Leave empty if you do not want to set an alias","",[{caption:"Link",action:()=>{e=""}},{caption:"Area",action:()=>{e="area="}},{caption:"Group",action:()=>{e="group="}}]);navigator.clipboard.writeText(`${e.length>0?"!":""}[[${this.file.path}#^${e}${t}${i?`|${i}`:""}]]`),new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}updateScene(e,A=!1){const t=this.excalidrawAPI;if(!t)return;const i=e.elements&&A;i&&(e.elements=t.restore(e).elements);try{t.updateScene(e)}catch(A){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:A,scene:e,willDoSecondAttempt:!i}),i)warningUnknowSeriousError();else try{e.elements=t.restore(e).elements,t.updateScene(e)}catch(A){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:A,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,autosaveIntervalDesktop:15e3,autosaveIntervalMobile:1e4,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",dynamicStyling:"colorful",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",allowPinchZoom:!1,allowWheelZoom:!1,zoomToFitOnOpen:!0,zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!0,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",latexBoilerplate:"\\color{blue}",taskboneEnabled:!1,taskboneAPIkey:"",pinnedScripts:[],customPens:[Object.assign({},PENS.default),Object.assign({},PENS.highlighter),Object.assign({},PENS.finetip),Object.assign({},PENS.fountain),Object.assign({},PENS.marker),Object.assign({},PENS["thick-thin"]),Object.assign({},PENS["thin-thick-thin"]),Object.assign({},PENS.default),Object.assign({},PENS.default),Object.assign({},PENS.default)],numberOfCustomPens:0};class ExcalidrawSettingTab extends obsidian_module.PluginSettingTab{constructor(e,A){super(e,A),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.requestUpdatePinnedPens=!1,this.requestUpdateDynamicStyling=!1,this.reloadMathJax=!1,this.plugin=A}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian_module.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestUpdatePinnedPens&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.requestUpdateDynamicStyling&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&setDynamicStyle(this.plugin.ea,e.view,e.view.previousBackgroundColor,this.plugin.settings.dynamicStyling)})),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const A of e)A.view instanceof ExcalidrawView&&(await A.view.save(!1),await A.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:A}=this;A.addClass("excalidraw-settings"),this.containerEl.empty();const t=A.createDiv("coffee");t.addClass("ex-coffee-div"),t.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian_module.Setting(A).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("SAVING_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_DESKTOP_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_DESKTOP_DESC"))).addDropdown((e=>e.addOption("15000","Frequent (every 15 seconds)").addOption("60000","Moderate (every 60 seconds)").addOption("300000","Rare (every 5 minutes)").addOption("900000","Practically never (every 15 minutes)").setValue(this.plugin.settings.autosaveIntervalDesktop.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalDesktop=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("AUTOSAVE_INTERVAL_MOBILE_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_MOBILE_DESC"))).addDropdown((e=>e.addOption("10000","Frequent (every 10 seconds)").addOption("30000","Moderate (every 30 seconds)").addOption("60000","Rare (every 1 minute)").addOption("300000","Practically never (every 5 minutes)").setValue(this.plugin.settings.autosaveIntervalMobile.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalMobile=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),A.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const i=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
      ${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,n=A.createEl("p",{text:""});let a,r,s,o,l,c,d;n.innerHTML=i(),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async A=>{this.plugin.settings.drawingFilenamePrefix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async A=>{this.plugin.settings.drawingFilnameEmbedPostfix=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async A=>{this.plugin.settings.drawingFilenameDateTime=A.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,n.innerHTML=i(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("DYNAMICSTYLE_NAME")).setDesc(fragWithHTML(t$d("DYNAMICSTYLE_DESC"))).addDropdown((e=>e.addOption("none","Dynamic Styling OFF").addOption("colorful","Match color").addOption("gray","Gray, match tone").setValue(this.plugin.settings.dynamicStyling).onChange((async e=>{this.requestUpdateDynamicStyling=!0,this.plugin.settings.dynamicStyling=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Always in normal-mode").addOption("zen","Always in zen-mode").addOption("view","Always in view-mode").addOption("view-mobile","Usually normal, but view-mode on Phone").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_PINCHZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PINCHZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowPinchZoom).onChange((async e=>{this.plugin.settings.allowPinchZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinchZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("DEFAULT_WHEELZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_WHEELZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowWheelZoom).onChange((async e=>{this.plugin.settings.allowWheelZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updateWheelZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_ONOPEN_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_ONOPEN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnOpen).onChange((async e=>{this.plugin.settings.zoomToFitOnOpen=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian_module.Setting(A).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(A).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian_module.Setting(A).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian_module.Setting(A).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=t,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=t,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async A=>{const t=parseInt(A);if(isNaN(t)&&""!==A)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===A)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=t,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(A).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian_module.Setting(A).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian_module.Setting(A).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let A=0;for(A=0;Ae.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian_module.Setting(A).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("NONSTANDARD_HEAD")}),this.containerEl.createEl("p",{text:t$d("NONSTANDARD_DESC")}),new obsidian_module.Setting(A).setName(t$d("CUSTOM_PEN_NAME")).setDesc(t$d("CUSTOM_PEN_DESC")).addDropdown((e=>e.addOption("0","0").addOption("1","1").addOption("2","2").addOption("3","3").addOption("4","4").addOption("5","5").addOption("6","6").addOption("7","7").addOption("8","8").addOption("9","9").addOption("10","10").setValue(this.plugin.settings.numberOfCustomPens.toString()).onChange((e=>{this.plugin.settings.numberOfCustomPens=parseInt(e),this.requestUpdatePinnedPens=!0,this.applySettingsUpdate(!1)})))),new obsidian_module.Setting(A).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((A=>{e.addOption(A.path,A.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian_module.Setting(A).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),new obsidian_module.Setting(A).setName(t$d("LATEX_DEFAULT_NAME")).setDesc(fragWithHTML(t$d("LATEX_DEFAULT_DESC"))).addText((e=>e.setValue(this.plugin.settings.latexBoilerplate).onChange((e=>{this.plugin.settings.latexBoilerplate=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian_module.Setting(A).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian_module.Setting(A).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.height:null},t=(e,A)=>{const t=this.plugin.settings.scriptEngineSettings[e][A];return"object"==typeof t?t.value:t},i=(e,A,t)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][A]?this.plugin.settings.scriptEngineSettings[e][A].value=t:this.plugin.settings.scriptEngineSettings[e][A]=t},n=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addToggle((A=>A.setValue(t(e,n)).onChange((async A=>{i(e,n,A),this.applySettingsUpdate()}))))},a=(n,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((A=>e.addOption(A.toString(),A.toString()))),e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):e(n,a)?new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((A=>{A.inputEl.style.minHeight=e(n,a),A.inputEl.style.minWidth="400px",A.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):new obsidian_module.Setting(A).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(t(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))))},r=(e,n,a)=>{new obsidian_module.Setting(A).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addText((A=>A.setPlaceholder("Enter a number").setValue(t(e,n).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?A.setValue(t(e,n).toString()):(i(e,n,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const A=this.plugin.settings.scriptEngineSettings[e],t=Object.values(A);0===t.length||t.length>0&&0===t.map((e=>e.hidden?0:1)).reduce(((e,A)=>e+A))||(this.containerEl.createEl("h3",{text:e}),Object.keys(A).forEach((t=>{var i;const s=A[t];switch(typeof(null!==(i=s.value)&&void 0!==i?i:s)){case"boolean":s.hidden||n(e,t,s.description);break;case"string":s.hidden||a(e,t,s.description,s.valueset);break;case"number":s.hidden||r(e,t,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian_module.FuzzySuggestModal{constructor(e,A){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=A,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,A){switch(this.action=e,this.onNewPane=A,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let A=e.path;e.file&&(A=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${A+(e.alias?`|${e.alias}`:"")}]]`)}start(e,A){this.addText=A,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&scaleToFullsizeModifier(e)&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{shiftKey:!0,metaKey:!(DEVICE.isIOS||DEVICE.isMacOS),ctrlKey:DEVICE.isIOS||DEVICE.isMacOS})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,A){const t=this.plugin.ea.getAPI(this.view);t.canvas.theme=this.view.excalidrawAPI.getAppState().theme;const i=scaleToFullsizeModifier(A);(async()=>{await t.addImage(0,0,e,!i),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,A){if(!e)return;const t=this.plugin.ea;t.reset(),t.setView(this.view);const i=await app.vault.read(e);i&&""!==i&&(t.importSVG(i),t.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const A=this.plugin.ea;A.reset(),A.setView(this.view),(async()=>{await A.addImage(0,0,e),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,A){const t=Object.keys(A).map((t=>around1(e,t,A[t])));return 1===t.length?t[0]:function(){t.forEach((e=>e()))}}function around1(e,A,t){const i=e[A],n=e.hasOwnProperty(A);let a=t(i);return i&&Object.setPrototypeOf(a,i),Object.setPrototypeOf(r,a),e[A]=r,s;function r(...t){return a===i&&e[A]===r&&s(),a.apply(this,t)}function s(){e[A]===r&&(n?e[A]=i:delete e[A]),a!==i&&(a=i,Object.setPrototypeOf(r,i||Function))}}let plugin,vault,metadataCache;const getDefaultWidth=e=>{const A=parseInt(e.settings.width);return isNaN(A)||0===A||null===A?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async(e,A=!1)=>{var t;let i=e.file;if(!e.file){const A=vault.getAbstractFileByPath(null===(t=e.fname)||void 0===t?void 0:t.split("#")[0]);if(!(A&&A instanceof obsidian_module.TFile))return null;i=A}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const a=hasExportTheme(plugin,i)?getExportTheme(plugin,i,"light"):void 0,r={withBackground:getWithBackground(plugin,i),withTheme:!!a||plugin.settings.exportWithTheme},s=createEl("img");let o=`max-width:${e.fwidth}${e.fwidth.match(/\d$/)?"px":""}; `;e.fheight&&(o+=`height:${e.fheight}px;`),A||s.setAttribute("style",o),s.addClass(e.style),s.addClass("excalidraw-embedded-img");const l=null!=a?a:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";l&&(r.withTheme=!0);const c=new EmbeddedFilesLoader(plugin,l?"dark"===l:void 0);if(!plugin.settings.displaySVGInPreview){const A=parseInt(e.fwidth),t=A>=2400?5:A>=1800?4:A>=1200?3:A>=600?2:1,a=n.hasGroupref?void 0:await getQuickImagePreview(plugin,i.path,"png"),o=null!=a?a:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:i.path,t,r,c,l,null,null,[],plugin,0);return o?(s.src=URL.createObjectURL(o),s):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin,i.path,"svg");if(e)return s.setAttribute("src",svgToBase64(e)),s}const d=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:i.path,!0,r,c,l,null,null,[],plugin,0,getExportPadding(plugin,i))).outerHTML;let h=null;const u=document.createElement("div");u.innerHTML=d;const g=u.firstChild;return g instanceof SVGSVGElement&&(h=g),h?(h=embedFontsInSVG(h,plugin),h.removeAttribute("width"),h.removeAttribute("height"),s.setAttribute("src",svgToBase64(h.outerHTML)),s):null},createImgElement=async(e,A=!1)=>{const t=await getIMG(e,A);let i;t.setAttribute("fileSource",e.fname),e.fwidth&&t.setAttribute("w",e.fwidth),e.fheight&&t.setAttribute("h",e.fheight),t.setAttribute("draggable","false"),t.setAttribute("onCanvas",A?"true":"false");const n=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const A=t.getAttribute("fileSource");if(A){const t=A.match(/([^#]*)(.*)/);if(!t)return;plugin.openDrawing(vault.getAbstractFileByPath(t[1]),linkClickModifierType(e),!0,t[2])}};let a;return t.addEventListener("pointermove",(e=>{i&&(Math.abs(e.screenX-a.screenX)>10||Math.abs(e.screenY-a.screenY)>10)&&(clearTimeout(i),i=null)})),t.addEventListener("pointerdown",(e=>{var A;(null===(A=null==t?void 0:t.parentElement)||void 0===A?void 0:A.hasClass("canvas-node-content"))||(i=setTimeout((()=>n(e)),500),a=e)})),t.addEventListener("pointerup",(()=>{i&&clearTimeout(i),i=null})),t.addEventListener("dblclick",n),t.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation();const A=t.parentElement,i=t.style.maxWidth,n=t.style.maxHeight,a=t.getAttribute("fileSource"),r="true"===t.getAttribute("onCanvas"),s=await createImgElement({fname:a,fwidth:t.getAttribute("w"),fheight:t.getAttribute("h"),style:t.getAttribute("class")},r);A.empty(),r||(s.style.maxHeight=n,s.style.maxWidth=i),s.setAttribute("fileSource",a),A.append(s)})),t},createImageDiv=async(e,A=!1)=>{const t=await createImgElement(e,A);return createDiv(e.style,(e=>e.append(t)))},processReadingMode=async(e,A)=>{var t;for(const i of e){const e=null===(t=i.getAttribute("src"))||void 0===t?void 0:t.split("#")[0];if(!e)continue;const n=metadataCache.getFirstLinkpathDest(e,A.sourcePath);if(n&&n instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(n)){if(isTextOnlyEmbed(i))continue;i.parentElement.replaceChild(await processInternalEmbed(i,n),i)}}},processInternalEmbed=async(e,A)=>{const t={fname:"",fheight:"",fwidth:"",style:""},i=e.getAttribute("src");if(!i)return;e.removeClass("markdown-embed"),e.removeClass("inline-embed"),e.addClass("media-embed"),e.addClass("image-embed"),t.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),t.fheight=e.getAttribute("height");let n=e.getAttribute("alt");t.style="excalidraw-svg",processAltText(i.split("#")[0],n,t);const a=getEmbeddedFilenameParts(i);return t.fname=(null==A?void 0:A.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),t.file=A,await createImageDiv(t)},processAltText=(e,A,t)=>{var i,n;if(A&&!A.startsWith(e)){const a=A.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);t.fwidth=null!==(i=a[2])&&void 0!==i?i:t.fwidth,t.fheight=null!==(n=a[3])&&void 0!==n?n:t.fheight,a[4]&&!a[4].startsWith(e)&&(t.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(t.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const A=e.getAttribute("src");if(!A)return!0;const t=getEmbeddedFilenameParts(A);return!(t.hasArearef||t.hasGroupref)&&(t.hasBlockref||t.hasSectionref)},tmpObsidianWYSIWYG=async(e,A)=>{const t=app.vault.getAbstractFileByPath(A.sourcePath);if(!(t instanceof obsidian_module.TFile))return;if(!plugin.isExcalidrawFile(t))return;if(A.remainingNestLevel<4)return;const i=A.containerEl;let n=i;for(;!n.hasClass("dataview")&&!n.hasClass("cm-preview-code-block")&&!n.hasClass("cm-embed-block")&&!n.hasClass("internal-embed")&&!n.hasClass("markdown-reading-view")&&!n.hasClass("markdown-embed")&&n.parentElement;)n=n.parentElement;if(n.hasClass("dataview")||n.hasClass("cm-preview-code-block")||n.hasClass("cm-embed-block"))return;const a={fname:A.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};a.file=t;const r=n.hasClass("markdown-embed"),s=n.hasClass("markdown-reading-view");if(!n.hasClass("internal-embed")&&(r||s)){const A=Boolean(e.querySelector(".frontmatter"));if(e.empty(),!A)return void(e.parentElement===i&&i.removeChild(e));n.empty();const t=n.hasClass("canvas-node-content"),s=await createImageDiv(a,t);return r?(n.removeClass("markdown-embed"),n.removeClass("inline-embed"),n.addClass("media-embed"),n.addClass("image-embed"),!t&&s.firstChild instanceof HTMLElement&&(s.firstChild.style.maxHeight="100%",s.firstChild.style.maxWidth=null),void n.appendChild(s.firstChild)):void n.appendChild(s)}if(isTextOnlyEmbed(n))return;if(e.empty(),n.hasAttribute("ready"))return;n.setAttribute("ready",""),n.empty();const o=await processInternalEmbed(n,t);n.appendChild(o);let l=null;const c=new MutationObserver((e=>{var A;["alt","width","height"].contains(null===(A=e[0])||void 0===A?void 0:A.attributeName)&&(l&&clearTimeout(l),l=setTimeout((async()=>{l=null,n.empty();const e=await processInternalEmbed(n,t);n.appendChild(e)}),500))}));c.observe(n,{attributes:!0})},markdownPostProcessor=async(e,A)=>{var t;const i=e.querySelectorAll(".internal-embed");0!==i.length?Boolean(null===(t=A.frontmatter)||void 0===t?void 0:t.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(i,A):tmpObsidianWYSIWYG(e,A)},hoverEvent=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const A=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!A)return;if(!(A instanceof obsidian_module.TFile))return;if("excalidraw"!==A.extension)return;const t=getIMGFilename(A.path,"svg"),i=vault.getAbstractFileByPath(t);if(i&&i instanceof obsidian_module.TFile)return;const n=getIMGFilename(A.path,"png"),a=vault.getAbstractFileByPath(n);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:A,fname:A.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",A.path),e.onClickEvent((A=>{A.stopImmediatePropagation();const t=e.getAttribute("src");t&&plugin.openDrawing(vault.getAbstractFileByPath(t),linkClickModifierType(A))}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.roundness",code:"[null | { type: RoundnessType; value?: number };]",desc:"set to null for 'sharp', else the stroke will be 'round'
      type: 1==LEGACY,
      2==PROPORTIONAL RADIUS,
      3==ADAPTIVE RADIUS, value: adaptive factor defaults to 32",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"setStrokeSharpness",code:"setStrokeSharpness(sharpness: number): void;",desc:"Set ea.style.roundness. 0: is the legacy value, 3: is the current default value, null is sharp",after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toClipboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"refreshTextElementSize",code:"refreshTextElementSize(id: string);",desc:"Refreshes the size of the text element. Intended to be used when you copyViewElementsToEAforEditing() and then change the text in a text element and want to update the size of the text element to fit the modifid contents.",after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: "left" | "center" | "right"; textVerticalAlign: "top" | "middle" | "bottom"; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number; boxStrokeColor?: string;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""},{field:"obsidian",code:"obsidian",desc:"Access functions and objects available on the Obsidian Module",after:""},{field:"setViewModeEnabled",code:"setViewModeEnabled(enabled: boolean): void;",desc:"Sets Excalidraw in the targetView to view-mode",after:""},{field:"viewUpdateScene",code:"viewUpdateScene(scene:{elements?:ExcalidrawElement[],appState?: AppState,files?: BinaryFileData,commitToHistory?: boolean,},restore:boolean=false):void",desc:"Calls the ExcalidrawAPI updateScene function for the targetView. When restore=true, excalidraw will try to correct errors in the scene such as setting default values to missing element properties.",after:""},{field:"viewZoomToElements",code:"viewZoomToElements(selectElements: boolean,elements: ExcalidrawElement[]):void",desc:"Zoom tarteView to fit elements provided as input. elements === [] will zoom to fit the entire scene. SelectElements toggles whether the elements should be in a selected state at the end of the operation.",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: {caption:string, tooltip?:string, action:Function}[], lines?: number, displayEditorButtons?: boolean, customComponents?: (container: HTMLElement) => void, blockPointerInputOutsideModal?: boolean);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nEditor buttons are text editing buttons like delete, enter, allcaps - these are only displayed if lines is greater than 1 \nCustom components are components that you can add to the prompt. These will be displayed between the text input area and the buttons.\nblockPointerInputOutsideModal will block pointer input outside the modal. This is useful if you want to prevent the user accidently closing the modal or interacting with the excalidraw canvas while the prompt is open.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""},{field:"scriptFile",code:"scriptFile: TFile",desc:"The TFile of the currently running script",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian_module.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const A=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(A)))},this.plugin=e}onTrigger(e,A,t){var i,n,a,r,s;if(this.plugin.settings.fieldSuggester){const t=A.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(n=null===(i=t.match(/^excalidraw-(.*)$/))||void 0===i?void 0:i[1])&&void 0!==n?n:null===(a=t.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=t.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=t.match(/^excalidraw-(.*)$/)?"excalidraw":t.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,A){const t=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),i=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((A=>A.field===e));A.createEl("b",{text:t}),A.createEl("br"),i.code&&A.createEl("code",{text:i.code}),i.desc&&A.createDiv("div",(e=>e.innerHTML=i.desc))}selectSuggestion(e){var A;const{context:t}=this;if(t){const i="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,n=`${e}${null===(A=i.find((A=>A.field===e)))||void 0===A?void 0:A.after}`;if(t.editor.replaceRange(n,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=n.length,t.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const A=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===A.length&&(this.dataWOfrontmatter=A[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const A=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(A))}setKey(e,A){if(this.initialized)if(A=A.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const t=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(t).join("\n").trim()+`\n${e}: ${A}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${A}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{get apiKey(){return this.plugin.settings.taskboneAPIkey}constructor(e){this.plugin=e}async initialize(e=!0){var A;if(""!==this.plugin.settings.taskboneAPIkey)return;const t=await obsidian_module.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!t)return;const i=null===(A=t.json)||void 0===A?void 0:A.apiKey;return i&&"string"==typeof i&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=i,e&&await this.plugin.saveSettings()),i}async getTextForView(e,A){await e.forceSave(!0);const t=e.excalidrawAPI.getSceneElements().filter((A=>{var t;return"freedraw"===A.type||"image"===A.type&&!this.plugin.isExcalidrawFile(null===(t=e.excalidrawData.getFile(A.fileId))||void 0===t?void 0:t.file)}));if(0===t.length)return void new obsidian_module.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const i=new FrontmatterEditor(e.data);if(i.hasKey("taskbone-ocr")&&!A)return void new obsidian_module.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const n=this.plugin.ea.getBoundingBox(t),a=n.width*n.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(i.setKey("taskbone-ocr",d),e.data=i.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian_module.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const A={records:[{image:await this.blobToBase64(e)}]},t=await obsidian_module.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(A),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),i=null==t?void 0:t.json;return i&&200===t.status?i.records[0].text:(new obsidian_module.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(t))}async blobToBase64(e){const A=await e.arrayBuffer(),t=new Uint8Array(A);for(var i="",n=t.byteLength,a=0;anew ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),this.addMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),A=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const t=new Set;app.workspace.iterateAllLeaves((e=>{const i=app.isMobile?document:e.view.containerEl.ownerDocument;if(!i)return;if(t.has(i))return;t.add(i);const n=i.createElement("style");n.id="local-font-stylesheet",n.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${A}");\n font-display: swap;\n }\n `;const a=i.getElementById(n.id);i.head.appendChild(n),a&&i.head.removeChild(a),i.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian_module.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const A=e.mathjaxDiv.createEl("iframe");A.title="Excalidraw MathJax Support";const t=A.contentWindow.document,i=t.createElement("script");i.type="text/javascript",i.onload=()=>{const t=A.contentWindow;t.MathJax.startup.pagePromise.then((async()=>{const A=app.vault.getAbstractFileByPath("preamble.sty"),i=A&&A instanceof obsidian_module.TFile?await app.vault.read(A):null;try{i&&await t.MathJax.tex2svg(i)}catch(A){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:A})}e.mathjax=t.MathJax,e.mathjaxLoaderFinished=!0}))},i.src=e.settings.mathjaxSourceURL,t.head.appendChild(i)}catch(A){new obsidian_module.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let A;for(A of app.workspace.getLeavesOfType("markdown"))A.view instanceof obsidian_module.MarkdownView&&e.isExcalidrawFile(A.view.file)&&(e.excalidrawFileModes[A.id||A.view.file.path]="excalidraw",e.setExcalidrawView(A))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,A)=>{let t=null;try{const e=A.parentElement.querySelector(`a[href="#${A.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",t=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-muted"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(A){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:A})}e=e.trim(),A.createEl("button",null,(async A=>{var i;const n=e=>{switch(t&&(t.style.display="none"),e){case"CHECKING":A.setText(t$d("CHECKING_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":A.setText(t$d("INSTALL_SCRIPT")),A.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":A.setText(t$d("UPTODATE_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":A.setText(t$d("UPDATE_SCRIPT")),A.style.backgroundColor="var(--interactive-success)",t&&(t.style.display=null);break;case"ERROR":A.setText(t$d("UNABLETOCHECK_SCRIPT")),A.style.backgroundColor="var(--interactive-normal)"}};A.addClass("mod-muted");let a=e;try{a=decodeURI(e)}catch(A){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:A})}const r=a.substring(a.lastIndexOf("/")+1),s=`${this.settings.scriptFolderPath}/Downloaded`,o=app.vault.getFiles().filter((e=>e.path.startsWith(s)&&e.name===r)).sort(((e,A)=>e.path>A.path?1:-1));let l=o[0];const c=null!==(i=null==l?void 0:l.path)&&void 0!==i?i:`${s}/${r}`,d=getIMGFilename(c,"svg");let h=this.app.vault.getAbstractFileByPath(d);if(n(l?"CHECKING":"INSTALL"),A.onclick=async()=>{const A=async(e,A,t)=>{const i=await obsidian_module.request({url:e});return!i||i.startsWith("404: Not Found")?null:(A?await this.app.vault.modify(A,i):(await checkAndCreateFolder(s),A=await this.app.vault.create(t,i)),A)};try{if(l=await A(e,l,c),!l)throw n("ERROR"),"File not found";h=await A(getIMGFilename(e,"svg"),h,d),n("UPTODATE"),0===Object.keys(this.scriptEngine.scriptIconMap).length&&this.scriptEngine.loadScripts(),new obsidian_module.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian_module.Notice(`Error installing script: ${r}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},t&&(t.onclick=A.onclick),!(l&&l instanceof obsidian_module.TFile))return;const u=new Map;JSON.parse(await obsidian_module.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>u.set(e.fname,e.mtime)));const g=(e,A)=>{if(0===u.size||!u.has(e))return"ERROR";const t=u.get(e);return!A||t>A.stat.mtime?"UPDATE":"UPTODATE"},p=g(r,l),m=g(getIMGFilename(r,"svg"),h&&h instanceof obsidian_module.TFile?h:null);n("UPTODATE"===p&&"UPTODATE"===m||"UPTODATE"===p&&"ERROR"===m?"UPTODATE":"ERROR"===p?"ERROR":"UPDATE"===p||"UPDATE"===m?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(A,t)=>{t.addEventListener(RERENDER_EVENT,(async i=>{i.stopPropagation(),t.empty(),e(A,t)})),e(A,t)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var A,t,i,n,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(A=e[0])||void 0===A?void 0:A.oldValue)===(null===(i=null===(t=e[0])||void 0===t?void 0:t.target)||void 0===i?void 0:i.getAttribute("class")))return;if((null===(a=null===(n=e[0])||void 0===n?void 0:n.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const A=e.view;A.file&&A.excalidrawRef&&A.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const A=e.getAttribute("data-path");if(!A)return;const t=this.app.vault.getAbstractFileByPath(A);t&&t instanceof obsidian_module.TFile&&this.isExcalidrawFile(t)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((A=>{const t=A.filter((e=>e.addedNodes.length>0));t.forEach((A=>{A.addedNodes.forEach((A=>{A instanceof Element&&A.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const A=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),A.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)))})),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((e=>{let t=A.path;A instanceof obsidian_module.TFile&&(t=obsidian_module.normalizePath(A.path.substr(0,A.path.lastIndexOf(A.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)),t)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,A)=>{A instanceof obsidian_module.TFile&&"excalidraw"==A.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(A,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const A=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return A instanceof obsidian_module.TFile&&(this.embedDrawing(A),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-newtab",name:t$d("NEW_IN_NEW_TAB"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-tab")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A)return;const t=getEmbedFilename(A.file.basename,this.settings),i=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,A.file.path,t)).folder,n=await this.createDrawing(t,i);await this.embedDrawing(n),this.openDrawing(n,e,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-new-tab",name:t$d("NEW_IN_NEW_TAB_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-tab"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:A=>A?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:A=>A?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"export-svg",name:t$d("EXPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(),!0)}}),this.addCommand({id:"export-svg-scene",name:t$d("EXPORT_SVG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.saveSVG(void 0,!0),!0)}}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(A):!!A&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(A,!1),!0):(new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(search(A),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.isFullscreen()?A.exitFullscreen():A.gotoFullscreen(),!0)}}),this.addCommand({id:"disable-binding",name:t$d("TOGGLE_DISABLEBINDING"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.toggleDisableBinding(),!0)}}),this.addCommand({id:"export-png",name:t$d("EXPORT_PNG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(),!0)}}),this.addCommand({id:"export-png-scene",name:t$d("EXPORT_PNG_WITH_SCENE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.savePNG(void 0,!0),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||A.compatibilityMode||(A.changeTextMode(A.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(A){this.ea.reset(),this.ea.setView(A);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0;const t=this.ea.getViewFileForImageElement(e);return t?(this.app.vault.delete(t),this.ea.deleteViewElements([e]),!0):(new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertLinkDialog.start(A.file.path,A.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(A.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),A=null==e?void 0:e.excalidrawAPI;return!!A&&!!A.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!A)return!1;if(!A.excalidrawAPI)return!1;const t=A.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==t.length)return e||new obsidian_module.Notice("Select a single image element and try again"),!1;const i=t[0];return A.excalidrawData.getFile(i.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,A),n=await e.getOriginalImageSize(i);if(n){e.copyViewElementsToEAforEditing(t);const A=e.getElement(i.id);A.width=n.width,A.height=n.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian_module.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertImageDialog.start(A),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.importSVGDialog.start(A),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const A=e.excalidrawAPI.getAppState();return!A.zenModeEnabled&&!A.viewModeEnabled}const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!A||!A.excalidrawAPI||(A.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(this.insertMDDialog.start(A),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const A=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!A&&(insertLaTeXToView(A),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const A=this.app.workspace.getActiveFile();if(!A)return!1;const t=this.isExcalidrawFile(A);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:t;const i=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(i){const e=i.leaf;return this.excalidrawFileModes[e.id||A.path]="markdown",void this.setMarkdownView(e)}const n=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(n&&t){const e=n.leaf;return this.excalidrawFileModes[e.id||A.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const A=this.app.workspace.getActiveFile(),t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!A||!t)return!1;const i=0===A.stat.size;if(e)return i;i&&(async()=>{await this.app.vault.modify(A,await this.getBlankDrawing()),this.setExcalidrawView(t.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,A=!1,t=!1){const i=await this.app.vault.read(e),n=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(A?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,n,obsidian_module.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(i));return this.settings.keepInSync&&EXPORT_TYPES.forEach((A=>{const t=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+A,i=this.app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));if(i&&i instanceof obsidian_module.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+A;this.app.fileManager.renameFile(i,e)}})),t||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,A=!1){const t=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const i of t)this.convertSingleExcalidrawToMD(i,e,A);new obsidian_module.Notice(`Converted ${t.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,A,t)=>{if(!(t&&t instanceof obsidian_module.MarkdownView))return;const i=t.file,n=t.leaf;if(!t.file)return;const a=this.app.metadataCache.getFileCache(i);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[n.id||i.path]="excalidraw",this.setExcalidrawView(n)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,A,t,i)=>{if(!(i&&i.view instanceof obsidian_module.MarkdownView))return;if(!(A instanceof obsidian_module.TFile))return;const n=this.app.metadataCache.getFileCache(A);(null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[i.id||A.path]="excalidraw",this.setExcalidrawView(i)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian_module.WorkspaceLeaf.prototype,{detach:A=>function(){var t;const i=null===(t=this.view)||void 0===t?void 0:t.getState();return(null==i?void 0:i.file)&&e.excalidrawFileModes[this.id||i.file]&&delete e.excalidrawFileModes[this.id||i.file],A.apply(this)},setViewState:A=>function(t,...i){var n;if(e._loaded&&"markdown"===t.type&&(null===(n=t.state)||void 0===n?void 0:n.file)&&"markdown"!==e.excalidrawFileModes[this.id||t.state.file]){const n=app.metadataCache.getCache(t.state.file);if((null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]){const n=Object.assign(Object.assign({},t),{type:"excalidraw"});return e.excalidrawFileModes[t.state.file]="excalidraw",A.apply(this,[n,...i])}}return A.apply(this,[t,...i])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(A,t)=>{A instanceof obsidian_module.TFile&&e.isExcalidrawFile(A)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const i=getIMGFilename(t,e),n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(i));if(n&&n instanceof obsidian_module.TFile){const t=getIMGFilename(A.path,e);await app.fileManager.renameFile(n,t)}}))}))),e.registerEvent(app.vault.on("modify",(async A=>{app.workspace.getLeavesOfType("excalidraw").forEach((async t=>{const i=t.view;if(i.file&&(i.file.path===A.path||"excalidraw"===A.extension&&`${A.path.substring(0,A.path.lastIndexOf(".excalidraw"))}.md`===i.file.path)){if(i.semaphores.preventReload)return void(i.semaphores.preventReload=!1);if(i.lastSaveTimestamp+3e5{if(!(A instanceof obsidian_module.TFile))return;const t=this.excalidrawFiles.has(A);if(this.updateFileCache(A,void 0,!0),!t)return;const i=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const t=getIMGFilename(A.path,e),i=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));i&&i instanceof obsidian_module.TFile&&await app.vault.delete(i)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async A=>{var t;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const i=e.activeExcalidrawView,n=A.view instanceof ExcalidrawView?A.view:null; +EXPR:/(!)?(\[\[([^|\]]+)\|?([^\]]+)?]]|\[([^\]]*)]\(([^)]*)\))(\{(\d+)\})?/g,getResList:e=>{const t=e.matchAll(REGEX_LINK.EXPR);let A;const i=[];for(;!(A=t.next()).done;)i.push(A);return i},getRes:e=>e.matchAll(REGEX_LINK.EXPR),isTransclusion:e=>!!e.value[1],getLink:e=>e.value[3]?e.value[3]:e.value[6],isWikiLink:e=>!!e.value[3],getAliasOrLink:e=>REGEX_LINK.isWikiLink(e)?e.value[4]?e.value[4]:e.value[3]:e.value[5]?e.value[5]:e.value[6],getWrapLength:(e,t)=>{const A=parseInt(e.value[8]);return isNaN(A)?t>0?t:null:A}},DRAWING_REG=/\n# Drawing\n[^`]*(```json\n)([\s\S]*?)```\n/gm,DRAWING_REG_FALLBACK=/\n# Drawing\n(```json\n)?(.*)(```)?(%%)?/gm,DRAWING_COMPRESSED_REG=/(\n# Drawing\n[^`]*(?:```compressed\-json\n))([\s\S]*?)(```\n)/gm,DRAWING_COMPRESSED_REG_FALLBACK=/(\n# Drawing\n(?:```compressed\-json\n)?)(.*)((```)?(%%)?)/gm,REG_LINKINDEX_HYPERLINK=/^\w+:\/\//,isCompressedMD=e=>null!==e.match(/```compressed\-json\n/gm),getDecompressedScene=e=>{let t,A=e.matchAll(DRAWING_COMPRESSED_REG);return t=A.next(),t.done&&(A=e.matchAll(DRAWING_COMPRESSED_REG_FALLBACK),t=A.next()),t.value&&t.value.length>1?[decompress(t.value[2]),t]:[null,t]},changeThemeOfExcalidrawMD=e=>{const t=isCompressedMD(e);let A=t?getDecompressedScene(e)[0]:e;return A?(isObsidianThemeDark?1===(A.match(/"theme"\s*:\s*"light"\s*,/g)||[]).length&&(A=A.replace(/"theme"\s*:\s*"light"\s*,/,'"theme": "dark",')):1===(A.match(/"theme"\s*:\s*"dark"\s*,/g)||[]).length&&(A=A.replace(/"theme"\s*:\s*"dark"\s*,/,'"theme": "light",')),t?e.replace(DRAWING_COMPRESSED_REG,`$1${compress(A)}$3`):A):e};function getJSON(e){let t,A;if(isCompressedMD(e)){const[t,A]=getDecompressedScene(e);return t?{scene:t.substring(0,t.lastIndexOf("}")+1),pos:A.value.index}:{scene:e,pos:A.value?A.value.index:0}}if(t=e.matchAll(DRAWING_REG),A=t.next(),A.done&&(t=e.matchAll(DRAWING_REG_FALLBACK),A=t.next()),A.value&&A.value.length>1){const e=A.value[2];return{scene:e.substr(0,e.lastIndexOf("}")+1),pos:A.value.index}}return{scene:e,pos:A.value?A.value.index:0}}function getMarkdownDrawingSection(e,t){return t?`%%\n# Drawing\n\`\`\`compressed-json\n${compress(e)}\n\`\`\`\n%%`:`%%\n# Drawing\n\`\`\`json\n${e}\n\`\`\`\n%%`}const estimateMaxLineLen=(e,t)=>{if(!t||!e)return null;if(e===t)return null;let A=0;const i=e.split("\n");if(1===i.length)return null;for(const e of i){const t=e.trim();t.length>A&&(A=t.length)}return A},wrap=(e,t)=>t?wrapTextAtCharLength(e,t,!1,0):e;class ExcalidrawData{constructor(e){this.plugin=e,this.textElements=null,this.elementLinks=null,this.scene=null,this.deletedElements=[],this.file=null,this.autoexportPreference=AutoexportPreference.inherit,this.textMode=TextMode.raw,this.loaded=!1,this.files=null,this.equations=null,this.compatibilityMode=!1,this.selectedElementIds={},this.disableCompression=!1,this.app=e.app,this.files=new Map,this.equations=new Map}initializeNonInitializedFields(){var e,t,A;if(!this.scene||!this.scene.elements)return;const i=null!==(e=this.scene.source.split("https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/")[1])&&void 0!==e?e:"1.8.16",n=this.scene.elements;for(const e of n){if(e.boundElements){const t=new Map;e.boundElements.forEach((e=>{t.set(e.id,e.type)}));const A=Array.from(t,(([e,t])=>({id:e,type:t})));A.length!==e.boundElements.length&&(e.boundElements=A)}e.boundElementIds&&(e.boundElements||(e.boundElements=[]),e.boundElements=e.boundElements.concat(e.boundElementIds.map((e=>({type:"arrow",id:e})))),delete e.boundElementIds),"text"!==e.type||e.containerId||(e.containerId=null),null===e.x&&(e.x=0),null===e.y&&(e.y=0),null===(null===(t=e.startBinding)||void 0===t?void 0:t.focus)&&(e.startBinding.focus=0),null===(null===(A=e.endBinding)||void 0===A?void 0:A.focus)&&(e.endBinding.focus=0),null===e.fontSize&&(e.fontSize=20)}try{n.filter((e=>"text"===e.type&&e.containerId&&n.some((t=>t.id===e.containerId&&t.boundElements.length>0&&t.boundElements.some((t=>"text"===t.type&&t.id!==e.id&&t.id.length>8)))))).forEach((e=>{try{const t=n.filter((t=>t.id===e.containerId))[0],A=t.boundElements.filter((e=>!("text"===e.type&&!n.some((t=>t.id===e.id)))));t.boundElements=[{id:e.id,type:"text"}].concat(A)}catch(e){}}));const e=!isVersionNewerThanOther(i,"1.8.16");n.filter((e=>e.boundElements&&e.boundElements.length>0)).forEach((t=>{var A;e&&!(null===(A=t.customData)||void 0===A?void 0:A.legacyTextWrap)&&(t.customData=Object.assign(Object.assign({},t.customData),{legacyTextWrap:!0}));const i=t.boundElements.filter((e=>n.some((t=>t.id===e.id))));i.length!==t.boundElements.length&&(t.boundElements=i)})),n.filter((e=>"text"===e.type&&e.containerId&&!n.some((t=>t.id===e.containerId)))).forEach((e=>{e.containerId=null}))}catch(e){}}async loadData(e,t,A){if(!t)return!1;if(this.loaded=!1,this.selectedElementIds={},this.textElements=new Map,this.elementLinks=new Map,this.file!=t&&(this.files.clear(),this.equations.clear()),this.file=t,this.compatibilityMode=!1,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.setAutoexportPreferences(),this.scene=null,this.plugin.settings.syncExcalidraw){const e=`${t.path.substring(0,t.path.lastIndexOf(".md"))}.excalidraw`,A=this.app.vault.getAbstractFileByPath(e);if(A&&A instanceof obsidian_module.TFile&&A.stat.mtime>t.stat.mtime){const e=await this.app.vault.read(A);this.scene=JSON.parse(e)}}let i=null;i=(()=>{const t=getJSON(e);if(-1===t.pos)throw new Error("Excalidraw JSON not found in the file");return this.scene||(this.scene=JSON_parse(t.scene)),t})(),this.deletedElements=this.scene.elements.filter((e=>e.isDeleted)),this.scene.elements=this.scene.elements.filter((e=>!e.isDeleted)),this.scene.files||(this.scene.files={}),hasExportTheme(this.plugin,this.file)?this.scene.appState.theme=getExportTheme(this.plugin,this.file,"light"):this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.initializeNonInitializedFields();let n=(e=e.substring(0,i.pos)).search(/(^%%\n)?# Text Elements\n/m);if(-1===n)return await this.setTextMode(A,!1),this.loaded=!0,!0;n+=e.match(/((^%%\n)?# Text Elements\n)/m)[0].length,e=e.substring(n),n=0;const a=" ^12345678\n\n".length;let r,s=e.matchAll(/\s\^(.{8})[\n]+/g);for(;!(r=s.next()).done;){let t=e.substring(n,r.value.index);const A=r.value[1],i=this.scene.elements.filter((e=>e.id===A))[0];if(i)if("text"!==i.type)i.link!==t&&(i.link=t,i.version++,i.versionNonce++),this.elementLinks.set(A,t);else{const e=estimateMaxLineLen(i.text,i.originalText),n=t.matchAll(/^%%\*\*\*>>>text element-link:(\[\[[^<*\]]*]])<<<\*\*\*%%/gm).next();n.done||(t=t.replace(/^%%\*\*\*>>>text element-link:\[\[[^<*\]]*]]<<<\*\*\*%%/gm,""),i.link=n.value[1]);const a=await this.parse(t);i.rawText=t,this.textElements.set(A,{raw:t,parsed:a.parsed,wrapAt:e}),a.link&&(i.link=a.link),!i||i.rawText&&""!==i.rawText||(i.rawText=t)}n=r.value.index+a}for(s=(e=e.substring(e.indexOf("# Embedded files\n")+"# Embedded files\n".length)).matchAll(/([\w\d]*):\s*\[\[([^\]]*)]]\s?(\{[^}]*})?\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,this.file.path,r.value[2],r.value[3]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*(https?:\/\/[^\s]*)\n/gm);!(r=s.next()).done;){const e=new EmbeddedFile(this.plugin,null,r.value[2]);this.setFile(r.value[1],e)}for(s=e.matchAll(/([\w\d]*):\s*\$\$(.*)(\$\$\s*\n)/gm);!(r=s.next()).done;)this.setEquation(r.value[1],{latex:r.value[2],isLoaded:!1});return this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(A,!0),this.loaded=!0,!0}async loadLegacyData(e,t){return!!t&&(this.loaded=!1,this.selectedElementIds={},this.compatibilityMode=!0,this.file=t,this.textElements=new Map,this.elementLinks=new Map,this.setShowLinkBrackets(),this.setLinkPrefix(),this.setUrlPrefix(),this.scene=JSON.parse(e),this.scene.files||(this.scene.files={}),this.initializeNonInitializedFields(),this.plugin.settings.matchThemeAlways&&(this.scene.appState.theme=isObsidianThemeDark()?"dark":"light"),this.files.clear(),this.equations.clear(),this.findNewTextElementsInScene(),this.findNewElementLinksInScene(),await this.setTextMode(TextMode.raw,!0),this.loaded=!0,!0)}async setTextMode(e,t=!1){this.scene&&(this.textMode=e,await this.updateSceneTextElements(t))}updateTextElement(e,t,A,i=!1,n){var a;if(i||t!=e.text){const i=_measureText(t,e.fontSize,e.fontFamily,null!==(a=e.lineHeight)&&void 0!==a?a:getDefaultLineHeight$1(e.fontFamily));e.text=t,e.originalText=A,e.containerId&&"arrow"!==n||(e.width=i.w),e.height=i.h,e.baseline=i.baseline}}async updateSceneTextElements(e=!1){var t,A,i,n;const a=null===(t=this.scene.elements)||void 0===t?void 0:t.filter((e=>"text"===e.type));for(const t of a){const a=getContainerElement(t,this.scene),r=null!==(i=null!==(A=await this.getText(t.id))&&void 0!==A?A:t.originalText)&&void 0!==i?i:t.text,s=null===(n=this.textElements.get(t.id))||void 0===n?void 0:n.wrapAt;try{this.updateTextElement(t,s?wrapText(r,getFontString({fontSize:t.fontSize,fontFamily:t.fontFamily}),getBoundTextMaxWidth(a)):r,r,e,null==a?void 0:a.type)}catch(e){debug({where:"ExcalidrawData.updateSceneTextElements",fn:this.updateSceneTextElements,textElement:t})}}}async getText(e){const t=this.textElements.get(e);return t?this.textMode===TextMode.parsed?(t.parsed||this.textElements.set(e,{raw:t.raw,parsed:(await this.parse(t.raw)).parsed,wrapAt:t.wrapAt}),t.parsed):t.raw:null}findNewElementLinksInScene(){var e;let t=!1;const A=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.link&&e.link.startsWith("[[")&&!this.elementLinks.has(e.id)));if(0===A.length)return t;let i,n=JSON.stringify(this.scene);for(const e of A)i=e.id,e.id.length>8&&(t=!0,i=nanoid(),n=n.replaceAll(e.id,i)),this.elementLinks.set(i,e.link);return this.scene=JSON.parse(n),t}findNewTextElementsInScene(e={}){var t;this.selectedElementIds=e;const A=null===(t=this.scene.elements)||void 0===t?void 0:t.filter((e=>"text"===e.type));let i,n=JSON.stringify(this.scene),a=!1;for(const e of A)if(i=e.id,e.id.length>8){if(a=!0,i=nanoid(),this.selectedElementIds[e.id]&&(delete this.selectedElementIds[e.id],this.selectedElementIds[i]=!0),n=n.replaceAll(e.id,i),this.textElements.has(e.id)){const t=this.textElements.get(e.id);this.textElements.set(i,{raw:t.raw,parsed:t.parsed,wrapAt:t.wrapAt}),this.textElements.delete(e.id)}if(!this.textElements.has(i)){const t=e.rawText&&""!==e.rawText?e.rawText:e.text,A=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:t,parsed:null,wrapAt:A}),this.parseasync(i,t,A)}}else if(!this.textElements.has(e.id)){const t=e.rawText&&""!==e.rawText?e.rawText:e.text,A=estimateMaxLineLen(e.text,e.originalText);this.textElements.set(i,{raw:t,parsed:null,wrapAt:A}),this.parseasync(i,t,A)}return a&&(this.scene=JSON.parse(n)),a}updateElementLinksFromScene(){var e;for(const t of this.elementLinks.keys()){const A=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"!==e.type&&e.id===t&&e.link&&e.link.startsWith("[[")));0===A.length?this.elementLinks.delete(t):this.elementLinks.set(t,A[0].link)}}async updateTextElementsFromScene(){var e,t,A;for(const i of this.textElements.keys()){const n=null===(e=this.scene.elements)||void 0===e?void 0:e.filter((e=>"text"===e.type&&e.id===i));if(0===n.length)this.textElements.delete(i);else{const e=await this.getText(i),a=this.scene.prevTextMode===TextMode.parsed?n[0].rawText:null!==(t=n[0].originalText)&&void 0!==t?t:n[0].text;if(e!==(null!==(A=n[0].originalText)&&void 0!==A?A:n[0].text)){const e=estimateMaxLineLen(n[0].text,n[0].originalText);this.textElements.set(i,{raw:a,parsed:(await this.parse(a)).parsed,wrapAt:e})}}}}async parseasync(e,t,A){this.textElements.set(e,{raw:t,parsed:(await this.parse(t)).parsed,wrapAt:A})}parseLinks(e,t,A){return e.substring(t,A.value.index)+(this.showLinkBrackets?"[[":"")+REGEX_LINK.getAliasOrLink(A)+(this.showLinkBrackets?"]]":"")}async getTransclusion(e){const t=getLinkParts(e,this.file),A=this.app.metadataCache.getFirstLinkpathDest(t.path,this.file.path);return await getTransclusion(t,this.app,A,this.plugin.settings.pageTransclusionCharLimit)}async parse(e){e=this.parseCheckbox(e);let t="",A=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(A=e,s=!0);!(a=n.next()).done;){if(!A){const e=REGEX_LINK.getLink(a);A=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}if(REGEX_LINK.isTransclusion(a)){let A=this.parseCheckbox((await this.getTransclusion(REGEX_LINK.getLink(a))).contents).replaceAll(/%%[^%]*%%/gm,"");this.plugin.settings.removeTransclusionQuoteSigns&&(A=A.replaceAll(/\n\s*>\s?/gm,"\n")),t+=e.substring(i,a.value.index)+wrapTextAtCharLength(A,REGEX_LINK.getWrapLength(a,this.plugin.settings.wordWrappingDefault),this.plugin.settings.forceWrap)}else{const A=this.parseLinks(e,i,a);A&&(t+=A,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0))}i=a.value.index+a.value[0].length}return t+=e.substring(i,e.length),r&&(t=this.linkPrefix+t),s&&(t=this.urlPrefix+t),{parsed:t,link:A}}parseCheckbox(e){return this.plugin.settings.parseTODO?e.replaceAll(/^- \[\s] /g,`${this.plugin.settings.todo} `).replaceAll(/\n- \[\s] /g,`\n${this.plugin.settings.todo} `).replaceAll(/^- \[[^\s]] /g,`${this.plugin.settings.done} `).replaceAll(/\n- \[[^\s]] /g,`\n${this.plugin.settings.done} `):e}quickParse(e){if((e=>{const t=REGEX_LINK.getRes(e);let A;for(;!(A=t.next()).done;)if(REGEX_LINK.isTransclusion(A))return!0;return!1})(e))return[null,null];e=this.parseCheckbox(e);let t="",A=null,i=0;const n=REGEX_LINK.getRes(e);let a,r=!1,s=!1;for(e.match(REG_LINKINDEX_HYPERLINK)&&(A=e,s=!0);!(a=n.next()).done;){if(!A){const e=REGEX_LINK.getLink(a);A=e.match(REG_LINKINDEX_HYPERLINK)?e:`[[${e}]]`}const n=this.parseLinks(e,i,a);n&&(t+=n,s||r||(REGEX_LINK.getLink(a).match(REG_LINKINDEX_HYPERLINK)?s=!0:r=!0)),i=a.value.index+a.value[0].length}return t+=e.substring(i,e.length),r&&(t=this.linkPrefix+t),s&&(t=this.urlPrefix+t),[t,A]}generateMD(e=[]){let t="# Text Elements\n";for(const e of this.textElements.keys()){const A=this.scene.elements.filter((t=>t.id===e));let i=this.textElements.get(e).raw;A&&1===A.length&&A[0].link&&A[0].rawText===A[0].originalText&&A[0].link.match(/^\[\[[^\]]*]]$/g)&&(i=`%%***>>>text element-link:${A[0].link}<<<***%%`+i),t+=`${i} ^${e}\n\n`}for(const e of this.elementLinks.keys())t+=`${this.elementLinks.get(e)} ^${e}\n\n`;if(t+=this.equations.size>0||this.files.size>0?"\n# Embedded files\n":"",this.equations.size>0)for(const e of this.equations.keys())t+=`${e}: $$${this.equations.get(e).latex}$$\n`;if(this.files.size>0)for(const e of this.files.keys()){const A=/(^[^#\|]*)/,i=this.files.get(e);i.isHyperlink?t+=`${e}: ${i.hyperlink}\n`:t+=`${e}: [[${i.file?i.linkParts.original.replace(A,app.metadataCache.fileToLinktext(i.file,this.file.path)):i.linkParts.original}]]${i.colorMap?" "+JSON.stringify(i.colorMap):""}\n`}return t+=this.equations.size>0||this.files.size>0?"\n":"",t+getMarkdownDrawingSection(JSON.stringify({type:this.scene.type,version:this.scene.version,source:this.scene.source,elements:this.scene.elements.concat(e),appState:this.scene.appState,files:this.scene.files},null,"\t"),!this.disableCompression&&this.plugin.settings.compress)}async saveDataURLtoVault(e,t,A){var i;const n=this.scene;let a=`Pasted Image ${window.moment().format("YYYYMMDDHHmmss_SSS")}`;switch(t){case"image/png":default:a+=".png";break;case"image/jpeg":a+=".jpg";break;case"image/svg+xml":a+=".svg";break;case"image/gif":a+=".gif"}const r=(await getAttachmentsFolderAndFilePath(this.app,this.file.path,a)).filepath,s=await this.app.vault.createBinary(r,getBinaryFileFromDataURL(e)),o=new EmbeddedFile(this.plugin,this.file.path,r);return o.setImage(e,t,{height:0,width:0},"dark"===(null===(i=n.appState)||void 0===i?void 0:i.theme),"image/svg+xml"===t),this.setFile(A,o),s}async syncFiles(){let e=!1;const t=this.scene,A=t.elements.filter((e=>"image"===e.type)).map((e=>e.fileId));if(this.files.forEach(((t,i)=>{A.contains(i)||(this.files.delete(i),e=!0)})),this.equations.forEach(((t,i)=>{A.contains(i)||(this.equations.delete(i),e=!0)})),!t.files||0===Object.keys(t.files).length)return!1;const i=new Set;A.forEach((A=>{if(i.has(A)){const n=this.getFile(A),a=this.getEquation(A);if(n&&(n.isHyperlink||n.file&&("md"!==n.file.extension||this.plugin.isExcalidrawFile(n.file))))return;const r=fileid();t.elements.filter((e=>e.fileId===A))[0].fileId=r,e=!0,i.add(r),n&&this.setFile(r,new EmbeddedFile(this.plugin,this.file.path,n.linkParts.original)),a&&this.setEquation(r,{latex:a.latex,isLoaded:!1})}i.add(A)}));for(const A of Object.keys(t.files))this.hasFile(A)||this.hasEquation(A)||(e=!0,await this.saveDataURLtoVault(t.files[A].dataURL,t.files[A].mimeType,A));return e}async syncElements(e,t){this.scene=e;let A=!1;return this.compatibilityMode||(A=await this.syncFiles(),this.scene.files={}),this.updateElementLinksFromScene(),A=A||this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene(),await this.updateTextElementsFromScene(),A||this.findNewTextElementsInScene(t)}async updateScene(e){this.scene=JSON_parse(e),this.updateElementLinksFromScene();const t=this.setLinkPrefix()||this.setUrlPrefix()||this.setShowLinkBrackets()||this.findNewElementLinksInScene();return await this.updateTextElementsFromScene(),!(!t&&!this.findNewTextElementsInScene()||(await this.updateSceneTextElements(),0))}getRawText(e){var t;return null===(t=this.textElements.get(e))||void 0===t?void 0:t.raw}getParsedText(e){const t=this.textElements.get(e);return t?[wrap(t.parsed,t.wrapAt),t.parsed,null]:[null,null,null]}setTextElement(e,t,A,i){const n=estimateMaxLineLen(t,A),[a,r]=this.quickParse(A);return a?(this.textElements.set(e,{raw:A,parsed:a,wrapAt:n}),[wrap(a,n),a,r]):(this.parse(A).then((t=>{const a=t.parsed;this.textElements.set(e,{raw:A,parsed:a,wrapAt:n}),a&&i(wrap(a,n),a)})),[null,null,null])}async addTextElement(e,t,A){let i=estimateMaxLineLen(t,A);this.textElements.has(e)&&(i=this.textElements.get(e).wrapAt);const n=await this.parse(A);return this.textElements.set(e,{raw:A,parsed:n.parsed,wrapAt:i}),[wrap(n.parsed,i),n.parsed,n.link]}deleteTextElement(e){this.textElements.delete(e)}getOpenMode(){const e=this.app.metadataCache.getFileCache(this.file);let t="view-mobile"===this.plugin.settings.defaultMode?DEVICE.isPhone?"view":"normal":this.plugin.settings.defaultMode;switch((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-default-mode"]&&(t=e.frontmatter["excalidraw-default-mode"]),t){case"zen":return{viewModeEnabled:!1,zenModeEnabled:!0};case"view":return{viewModeEnabled:!0,zenModeEnabled:!1};default:return{viewModeEnabled:!1,zenModeEnabled:!1}}}getLinkOpacity(){const e=this.app.metadataCache.getFileCache(this.file);let t=this.plugin.settings.linkOpacity;return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-linkbutton-opacity"]&&(t=e.frontmatter["excalidraw-linkbutton-opacity"]),t}getOnLoadScript(){const e=this.app.metadataCache.getFileCache(this.file);return(null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-onload-script"]?e.frontmatter["excalidraw-onload-script"]:null}setLinkPrefix(){const e=this.linkPrefix,t=this.app.metadataCache.getFileCache(this.file);return(null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-link-prefix"]?this.linkPrefix=t.frontmatter["excalidraw-link-prefix"]:this.linkPrefix=this.plugin.settings.linkPrefix,e!=this.linkPrefix}setUrlPrefix(){const e=this.urlPrefix,t=this.app.metadataCache.getFileCache(this.file);return(null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-url-prefix"]?this.urlPrefix=t.frontmatter["excalidraw-url-prefix"]:this.urlPrefix=this.plugin.settings.urlPrefix,e!=this.urlPrefix}setAutoexportPreferences(){const e=this.app.metadataCache.getFileCache(this.file);if((null==e?void 0:e.frontmatter)&&null!=e.frontmatter["excalidraw-autoexport"])switch(e.frontmatter["excalidraw-autoexport"].toLowerCase()){case"none":this.autoexportPreference=AutoexportPreference.none;break;case"both":this.autoexportPreference=AutoexportPreference.both;break;case"png":this.autoexportPreference=AutoexportPreference.png;break;case"svg":this.autoexportPreference=AutoexportPreference.svg;break;default:this.autoexportPreference=AutoexportPreference.inherit}else this.autoexportPreference=AutoexportPreference.inherit}setShowLinkBrackets(){const e=this.showLinkBrackets,t=this.app.metadataCache.getFileCache(this.file);return(null==t?void 0:t.frontmatter)&&null!=t.frontmatter["excalidraw-link-brackets"]?this.showLinkBrackets=0!=t.frontmatter["excalidraw-link-brackets"]:this.showLinkBrackets=this.plugin.settings.showLinkBrackets,e!=this.showLinkBrackets}setFile(e,t){if(!t)return;if(this.files.set(e,t),t.isHyperlink)return void this.plugin.filesMaster.set(e,{isHyperlink:!0,path:t.hyperlink,blockrefData:null,hasSVGwithBitmap:t.isSVGwithBitmap});if(!t.file)return;const A=t.linkParts.original.split("#");this.plugin.filesMaster.set(e,{isHyperlink:!1,path:t.file.path+(t.shouldScale()?"":"|100%"),blockrefData:1===A.length?null:A[1],hasSVGwithBitmap:t.isSVGwithBitmap,colorMapJSON:t.colorMap?JSON.stringify(t.colorMap):null})}getFiles(){return Object.values(this.files)}getFile(e){let t=this.files.get(e);if(t)return t;const A=this.plugin.filesMaster.get(e);return A?(t=new EmbeddedFile(this.plugin,this.file.path,A.blockrefData?A.path+"#"+A.blockrefData:A.path),this.files.set(e,t),t):t}getFileEntries(){return this.files.entries()}deleteFile(e){this.files.delete(e)}hasFile(e){if(this.files.has(e))return!0;if(this.plugin.filesMaster.has(e)){const t=this.plugin.filesMaster.get(e);if(t.isHyperlink)return this.files.set(e,new EmbeddedFile(this.plugin,this.file.path,t.path)),!0;const A=t.path.split("|")[0].split("#")[0];if(!this.app.vault.getAbstractFileByPath(A))return this.plugin.filesMaster.delete(e),!0;const i=t.path.endsWith("100%"),n=new EmbeddedFile(this.plugin,this.file.path,(t.blockrefData?A+"#"+t.blockrefData:A)+(i?"|100%":""),t.colorMapJSON);return this.files.set(e,n),!0}return!1}setEquation(e,t){this.equations.set(e,{latex:t.latex,isLoaded:t.isLoaded}),this.plugin.equationsMaster.set(e,t.latex)}getEquation(e){let t=this.equations.get(e);if(t)return t;const A=this.plugin.equationsMaster.get(e);return A?(this.equations.set(e,{latex:A,isLoaded:!1}),{latex:A,isLoaded:!1}):t}getEquationEntries(){return this.equations.entries()}deleteEquation(e){this.equations.delete(e)}hasEquation(e){return!!this.equations.has(e)||!!this.plugin.equationsMaster.has(e)&&(this.equations.set(e,{latex:this.plugin.equationsMaster.get(e),isLoaded:!1}),!0)}}const getTransclusion=async(e,t,A,i)=>{var n,a,r,s,o,l,c,d,h;if(!e.path)return{contents:e.original.trim(),lineNum:0};if(!(A&&A instanceof obsidian_module.TFile))return{contents:e.original.trim(),lineNum:0};const u=await t.vault.read(A);if(!e.ref)return i?{contents:u.substring(0,i).trim(),lineNum:0}:{contents:u.trim(),lineNum:0};const g=(await t.metadataCache.blockCache.getForFile({isCancelled:()=>!1},A)).blocks.filter((e=>"comment"!=e.node.type));if(!g)return{contents:e.original.trim(),lineNum:0};if(e.isBlockRef){let t=null===(n=g.filter((t=>t.node.id==e.ref))[0])||void 0===n?void 0:n.node;if(!t)return{contents:e.original.trim(),lineNum:0};["blockquote"].includes(t.type)&&(t=t.children[0]);const A=t.position.start.offset,i=t.position.start.line,a=t.position.end.offset;return{contents:u.substring(A,a).replaceAll(/ \^\S*$|^\^\S*$/gm,"").trim(),lineNum:i}}const p=g.filter((e=>0===e.display.search(/^#+\s/)));let m=null,w=0,f=null,B=1;for(let t=0;tB;)e++;return e===p.length&&p[e-1].node.depth>B?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:(f=p[e].node.position.start.offset-1,{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m,f).trim(),lineNum:w})}const A=p[t].node.children[0],i=null===(r=null===(a=p[t].node.data)||void 0===a?void 0:a.hProperties)||void 0===r?void 0:r.dataHeading,n=null==A?void 0:A.children;!m&&((null===(s=null==A?void 0:A.value)||void 0===s?void 0:s.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null===(o=null==A?void 0:A.title)||void 0===o?void 0:o.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||(null==i?void 0:i.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref||n&&(null===(c=null===(l=n[0])||void 0===l?void 0:l.value)||void 0===c?void 0:c.replaceAll(REG_BLOCK_REF_CLEAN,""))===e.ref)&&(m=null===(d=p[t].node.children[0])||void 0===d?void 0:d.position.start.offset,B=p[t].node.depth,w=null===(h=p[t].node.children[0])||void 0===h?void 0:h.position.start.line)}return m?{leadingHashes:"#".repeat(B)+" ",contents:u.substring(m).trim(),lineNum:w}:{contents:e.original.trim(),lineNum:0}};class Prompt extends obsidian_module.Modal{constructor(e,t,A,i,n){super(e),this.prompt_text=t,this.default_value=A,this.placeholder=i,this.prompt_desc=n}onOpen(){this.titleEl.setText(this.prompt_text),this.createForm()}onClose(){this.contentEl.empty()}createForm(){var e;let t=this.contentEl.createDiv();t.addClass("excalidraw-prompt-div"),this.prompt_desc&&(t=t.createDiv(),t.style.width="100%",t.createEl("p").innerHTML=this.prompt_desc);const A=t.createEl("form");A.addClass("excalidraw-prompt-form"),A.type="submit",A.onsubmit=e=>{e.preventDefault(),this.resolve(this.promptEl.value),this.close()},this.promptEl=A.createEl("input"),this.promptEl.type="text",this.promptEl.placeholder=this.placeholder,this.promptEl.value=null!==(e=this.default_value)&&void 0!==e?e:"",this.promptEl.addClass("excalidraw-prompt-input"),this.promptEl.select()}async openAndGetValue(e){this.resolve=e,this.open()}}class GenericInputPrompt extends obsidian_module.Modal{static Prompt(e,t,A,i,n,a,r,s,o,l,c){return new GenericInputPrompt(e,t,A,i,n,a,r,s,o,l,c).waitForClose}constructor(e,t,A,i,n,a,r,s,o,l,c){super(A),this.header=i,this.didSubmit=!1,this.lines=1,this.displayEditorButtons=!1,this.selectionStart=0,this.selectionEnd=0,this.selectionUpdateTimer=0,this.blockPointerInputOutsideModal=!1,this.linkBtnClickCallback=()=>{this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),this.plugin.insertLinkDialog.start(this.view.file.path,(e=>{const t=this.inputComponent.inputEl.value;this.selectionStart>0&&" "!==t.slice(this.selectionStart-1,this.selectionStart)&&(e=" "+e),this.selectionStart{this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer);const t=this.inputComponent.inputEl.value.slice(0,this.selectionStart)+e+this.inputComponent.inputEl.value.slice(this.selectionStart);this.inputComponent.inputEl.value=t,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.selectionStart=this.selectionStart+1,this.selectionEnd=this.selectionStart,this.inputComponent.inputEl.setSelectionRange(this.selectionStart,this.selectionEnd)},this.delBtnClickCallback=()=>{if(this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),0===this.input.length)return;const e=this.selectionEnd>this.selectionStart?this.selectionStart:this.selectionStart>0?this.selectionStart-1:0,t=this.selectionEnd,A=this.inputComponent.inputEl.value.slice(0,e)+this.inputComponent.inputEl.value.slice(t);this.inputComponent.inputEl.value=A,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.selectionStart=e,this.selectionEnd=e,this.inputComponent.inputEl.setSelectionRange(e,e)},this.uppercaseBtnClickCallback=()=>{if(this.view.ownerWindow.clearTimeout(this.selectionUpdateTimer),this.selectionEnd===this.selectionStart)return;const e=this.inputComponent.inputEl.value.slice(0,this.selectionStart)+this.inputComponent.inputEl.value.slice(this.selectionStart,this.selectionEnd).toUpperCase()+this.inputComponent.inputEl.value.slice(this.selectionEnd);this.inputComponent.inputEl.value=e,this.input=this.inputComponent.inputEl.value,this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.setSelectionRange(this.selectionStart,this.selectionEnd)},this.submitClickCallback=()=>this.submit(),this.cancelClickCallback=()=>this.cancel(),this.keyDownCallback=e=>{("Enter"===e.key&&1===this.lines||isCTRL(e)&&"Enter"===e.key)&&(e.preventDefault(),this.submit()),this.displayEditorButtons&&"k"===e.key&&isCTRL(e)&&(e.preventDefault(),this.linkBtnClickCallback())},this.view=e,this.plugin=t,this.placeholder=n,this.input=a,this.buttons=r,this.lines=null!=s?s:1,this.displayEditorButtons=this.lines>1&&null!=o&&o,this.customComponents=l,this.blockPointerInputOutsideModal=null!=c&&c,this.waitForClose=new Promise(((e,t)=>{this.resolvePromise=e,this.rejectPromise=t})),this.display(),this.inputComponent.inputEl.focus(),this.open()}display(){var e;this.contentEl.empty(),this.blockPointerInputOutsideModal&&(this.bgEl.style.pointerEvents=this.blockPointerInputOutsideModal?"none":"auto"),this.titleEl.textContent=this.header;const t=this.contentEl.createDiv();this.inputComponent=this.createInputField(t,this.placeholder,this.input),null===(e=this.customComponents)||void 0===e||e.call(this,t),this.createButtonBar(t)}createInputField(e,t,A){const i=new obsidian_module.TextAreaComponent(e);i.inputEl.style.width="100%",i.inputEl.style.height=2*this.lines+"em",1===this.lines&&(i.inputEl.style.resize="none",i.inputEl.style.overflow="hidden"),i.setPlaceholder(null!=t?t:"").setValue(null!=A?A:"").onChange((e=>this.input=e));const n=()=>{this.selectionUpdateTimer=this.view.ownerWindow.setTimeout((()=>{this.selectionStart=this.inputComponent.inputEl.selectionStart,this.selectionEnd=this.inputComponent.inputEl.selectionEnd}),30)};return i.inputEl.addEventListener("keydown",this.keyDownCallback),i.inputEl.addEventListener("keyup",n),i.inputEl.addEventListener("pointerup",n),i.inputEl.addEventListener("touchend",n),i.inputEl.addEventListener("input",n),i.inputEl.addEventListener("paste",n),i.inputEl.addEventListener("cut",n),i.inputEl.addEventListener("select",n),i.inputEl.addEventListener("selectionchange",n),i}createButton(e,t,A,i="",n="5px"){const a=new obsidian_module.ButtonComponent(e);return a.buttonEl.style.padding="0.5em",a.buttonEl.style.marginLeft=n,a.setTooltip(i),a.setButtonText(t).onClick(A),a}createButtonBar(e){const t=e.createDiv();t.style.display="flex",t.style.justifyContent="space-between",t.style.marginTop="1rem";const A=t.createDiv(),i=t.createDiv();if(this.buttons&&this.buttons.length>0){let e=null;for(const t of this.buttons){const A=new obsidian_module.ButtonComponent(i);A.buttonEl.style.marginLeft="5px",t.tooltip&&A.setTooltip(t.tooltip),A.setButtonText(t.caption).onClick((e=>{const A=t.action(this.input);A&&(this.input=A),this.submit()})),e=null!=e?e:A}e&&(e.setCta(),e.buttonEl.style.marginRight="0")}else this.createButton(i,"✅",this.submitClickCallback).setCta().buttonEl.style.marginRight="0";this.createButton(i,"❌",this.cancelClickCallback,"Cancel"),this.displayEditorButtons&&(this.createButton(A,"⏎",(()=>this.insertStringBtnClickCallback("\n")),"Insert new line","0"),this.createButton(A,"⌫",this.delBtnClickCallback,"Delete"),this.createButton(A,"⎵",(()=>this.insertStringBtnClickCallback(" ")),"Insert space"),this.view&&this.createButton(A,"🔗",this.linkBtnClickCallback,"Insert markdown link to file"),this.createButton(A,"🔠",this.uppercaseBtnClickCallback,"Uppercase"))}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){var e,t;null===(t=null===(e=this.inputComponent)||void 0===e?void 0:e.inputEl)||void 0===t||t.removeEventListener("keydown",this.keyDownCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}}class GenericSuggester extends obsidian_module.FuzzySuggestModal{static Suggest(e,t,A,i,n){return new GenericSuggester(e,t,A,i,n).promise}constructor(e,t,A,i,n){var a;super(e),this.displayItems=t,this.items=A,this.hint=i,this.instructions=n,this.limit=20,this.setPlaceholder(null!==(a=this.hint)&&void 0!==a?a:""),n&&this.setInstructions(this.instructions),this.promise=new Promise(((e,t)=>{this.resolvePromise=e,this.rejectPromise=t})),this.open()}getItemText(e){return this.displayItems[this.items.indexOf(e)]}getItems(){return this.items}selectSuggestion(e,t){this.resolved=!0,super.selectSuggestion(e,t)}onChooseItem(e){this.resolved=!0,this.resolvePromise(e)}onClose(){super.onClose(),this.resolved||this.rejectPromise(this.inputEl.value)}}class NewFileActions extends obsidian_module.Modal{constructor(e,t,A,i){super(e.app),this.plugin=e,this.path=t,this.keys=A,this.view=i}onOpen(){this.createForm()}async onClose(){}openFile(e){e&&getLeaf(this.plugin,this.view.leaf,this.keys).openFile(e,{active:!0})}createForm(){this.titleEl.setText("New File"),this.contentEl.createDiv({cls:"excalidraw-prompt-center",text:"File does not exist. Do you want to create it?"}),this.contentEl.createDiv({cls:"excalidraw-prompt-center filepath",text:this.path}),this.contentEl.createDiv({cls:"excalidraw-prompt-center"},(e=>{e.style.textAlign="right";const t=()=>this.path&&""!==this.path?!!this.view.file||(new obsidian_module.Notice("Unknown error. It seems as if your drawing was closed or the drawing file is missing"),!1):(new obsidian_module.Notice("Error: Filename for new file may not be empty"),!1),A=async e=>{if(!this.path.includes("/")){const e=new RegExp(`${this.view.file.name}$`,"g");this.path=this.view.file.path.replace(e,this.path)}return this.path.match(/\.md$/)||(this.path=`${this.path}.md`),checkAndCreateFolder(splitFolderAndFilename(this.path).folderpath),await this.app.vault.create(this.path,e)};e.createEl("button",{text:"Create Markdown"}).onclick=async()=>{if(!t)return;const e=await A("");this.openFile(e),this.close()},e.createEl("button",{text:"Create Excalidraw"}).onclick=async()=>{if(!t)return;const e=await A(await this.plugin.getBlankDrawing());await sleep$1(200),this.openFile(e),this.close()},e.createEl("button",{text:"Never Mind"}).onclick=()=>{this.close()}}))}}class ScriptEngine{constructor(e){this.plugin=e,this.scriptIconMap={},this.loadScripts(),this.registerEventHandlers()}registerEventHandlers(){const e=e=>{if(!e.endsWith(".svg"))return;const t=app.vault.getAbstractFileByPath(getIMGFilename(e,"md"));t&&t instanceof obsidian_module.TFile&&(this.unloadScript(this.getScriptName(t),t.path),this.loadScript(t))};this.plugin.registerEvent(app.vault.on("delete",(async t=>{t instanceof obsidian_module.TFile&&t.path.startsWith(this.scriptPath)&&(this.unloadScript(this.getScriptName(t),t.path),e(t.path))}))),this.plugin.registerEvent(app.vault.on("create",(async t=>{t instanceof obsidian_module.TFile&&t.path.startsWith(this.scriptPath)&&(this.loadScript(t),e(t.path))}))),this.plugin.registerEvent(app.vault.on("rename",(async(t,A)=>{if(!(t instanceof obsidian_module.TFile))return;const i=A.startsWith(this.scriptPath),n=t.path.startsWith(this.scriptPath);i&&(this.unloadScript(this.getScriptName(A),A),e(A)),n&&(this.loadScript(t),e(t.path))})))}updateScriptPath(){this.scriptPath!==this.plugin.settings.scriptFolderPath&&(this.scriptPath&&this.unloadScripts(),this.loadScripts())}getListofScripts(){if(this.scriptPath=this.plugin.settings.scriptFolderPath,app.vault.getAbstractFileByPath(this.scriptPath))return app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)&&"md"===e.extension));this.scriptPath=null}loadScripts(){var e;null===(e=this.getListofScripts())||void 0===e||e.forEach((e=>this.loadScript(e)))}getScriptName(e){let t="",A="";e instanceof obsidian_module.TFile?(t=e.basename,A=e.path):(t=splitFolderAndFilename(e).basename,A=e);const i=A.split(`${this.scriptPath}/`)[1],n=i.lastIndexOf("/");return n>-1?i.substring(0,n+1)+t:t}async addScriptIconToMap(e,t){const A=getIMGFilename(e,"svg"),i=app.vault.getAbstractFileByPath(A),n=i&&i instanceof obsidian_module.TFile?await app.vault.read(i):null;this.scriptIconMap=Object.assign({},this.scriptIconMap);const a=splitFolderAndFilename(t);this.scriptIconMap[e]={name:a.filename,group:"/"===a.folderpath?"":a.folderpath,svgString:n},this.updateToolPannels()}loadScript(e){if("md"!==e.extension)return;const t=this.getScriptName(e);this.addScriptIconToMap(e.path,t),this.plugin.addCommand({id:t,name:`(Script) ${t}`,checkCallback:A=>{if(A)return Boolean(app.workspace.getActiveViewOfType(ExcalidrawView));const i=app.workspace.getActiveViewOfType(ExcalidrawView);return!!i&&((async()=>{const A=await app.vault.read(e);A&&this.executeScript(i,A,t,e)})(),!0)}})}unloadScripts(){const e=app.vault.getFiles().filter((e=>e.path.startsWith(this.scriptPath)));e.forEach((e=>{this.unloadScript(this.getScriptName(e),e.path)}))}unloadScript(e,t){if(!t.endsWith(".md"))return;delete this.scriptIconMap[t],this.scriptIconMap=Object.assign({},this.scriptIconMap),this.updateToolPannels();const A=`${PLUGIN_ID}:${e}`;app.commands.commands[A]&&delete app.commands.commands[A]}async executeScript(e,t,A,i){if(!e||!t||!A)return;this.plugin.ea.reset(),this.plugin.ea.setView(e),this.plugin.ea.activeScript=A;const n=Object.getPrototypeOf((async()=>{})).constructor;let a=null;return a=await new n("ea","utils",t)(this.plugin.ea,{inputPrompt:(t,A,i,n,a,r,s,o)=>ScriptEngine.inputPrompt(e,this.plugin,app,t,A,i,n,a,r,s,o),suggester:(e,t,A,i)=>ScriptEngine.suggester(app,e,t,A,i),scriptFile:i}),this.plugin.ea.activeScript=null,a}updateToolPannels(){app.workspace.getLeavesOfType("excalidraw").forEach((e=>{var t,A;null===(A=null===(t=e.view.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===A||A.updateScriptIconMap(this.scriptIconMap)}))}static async inputPrompt(e,t,A,i,n,a,r,s,o,l,c){try{return await GenericInputPrompt.Prompt(e,t,A,i,n,a,r,s,o,l,c)}catch(e){return}}static async suggester(e,t,A,i,n){try{return await GenericSuggester.Suggest(e,t,A,i,n)}catch(e){return}}}var t$c={d:(e,t)=>{for(var A in t)t$c.o(t,A)&&!t$c.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r$e={};t$c.d(r$e,{QA:()=>w$1,ZP:()=>j$1,qt:()=>x$1,MX:()=>$});const e$d={red:"hsl(0, 100%, 50%)",orange:"hsl(30, 100%, 50%)",yellow:"hsl(60, 100%, 50%)","lime green":"hsl(90, 100%, 50%)",green:"hsl(120, 100%, 50%)","blue green":"hsl(150, 100%, 50%)",cyan:"hsl(180, 100%, 50%)","sky blue":"hsl(210, 100%, 50%)",blue:"hsl(240, 100%, 50%)",purple:"hsl(270, 100%, 50%)",magenta:"hsl(300, 100%, 50%)",pink:"hsl(330, 100%, 50%)"};function s$a(e,t,A){return Math.max(e,Math.min(t,A))}function n$c(e,t){return+e.toFixed(t>=0?t:0)}function a$c(e){const t=e%360;return t<0?t+360:t}function i$a(e){return void 0!==e?s$a(0,e,1):1}function o$b(e){return Math.floor(Math.random()*e)}function h$4(e){var t;const{Cmin:A,Cmax:i,H:n,delta:a}=function(e){const[t,A,i]=Object.values(e).map((e=>e/255)),n=Math.max(t,A,i),a=Math.min(t,A,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===t?(A-i)/r%6:n===A?(i-t)/r+2:(t-A)/r+4,delta:r}}(e),r=(i+A)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$c(60*n),s:100*s,l:100*r,a:null!==(t=e.a)&&void 0!==t?t:1}}function u$8(e){const{h:t,s:A,l:i,a:n}=e,a=i/100,r=A/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(t/60%2-1)),l=a-s/2,c=t<60||300<=t&&t<360?s:120<=t&&t<240?0:o,d=240<=t&&t<360?0:60<=t&&t<180?s:o,h=t<120?0:180<=t&&t<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}function l$5(e){const[t,A,i,n]=Object.values(e).map((e=>parseInt(e,16)));return{r:t,g:A,b:i,a:n?n/255:1}}const c$a=/^#?([\da-f])([\da-f])([\da-f])([\da-f])?$|^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})?([\da-f]{2})?$/gi,f$3=/hsla?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function d$2({h:e,s:t,l:A,a:i}){return[u$8({h:a$c(e),s:s$a(0,t,100),l:s$a(0,A,100),a:i$a(i)}),"hsl"]}const g$2=/rgba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b$5({r:e,g:t,b:A,a:i}){return[{r:s$a(0,e,255),g:s$a(0,t,255),b:s$a(0,A,255),a:i$a(i)},"rgb"]}var p$3,v$2,m$1=function(e,t,A,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,A):n?n.value=A:t.set(e,A),A},y$1=function(e,t,A,i){if("a"===A&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===A?i:"a"===A?i.call(e):i?i.value:t.get(e)};class w$1{constructor(e){var t,A;p$3.set(this,{r:0,g:0,b:0,a:1}),v$2.set(this,"rgb");const i=w$1.Parsers.map((t=>t(e))).find((e=>"invalid"!==e[1]));i?(t=this,A=this,[{set value(e){m$1(t,p$3,e,"f")}}.value,{set value(e){m$1(A,v$2,e,"f")}}.value]=i):m$1(this,v$2,"invalid","f")}get red(){return y$1(this,p$3,"f").r}get blue(){return y$1(this,p$3,"f").b}get green(){return y$1(this,p$3,"f").g}get alpha(){return y$1(this,p$3,"f").a}get hue(){return h$4(y$1(this,p$3,"f")).h}get saturation(){return h$4(y$1(this,p$3,"f")).s}get lightness(){return h$4(y$1(this,p$3,"f")).l}get format(){return y$1(this,v$2,"f")}isValid(){return"invalid"!==y$1(this,v$2,"f")}rgba(){return y$1(this,p$3,"f")}hsla(){return h$4(y$1(this,p$3,"f"))}hexa({round:e=!1}={}){return function(e,t=!1){let{r:A,g:i,b:n,a:a}=e;a&&(a*=255),t&&([A,i,n,a]=[A,i,n,a].map((e=>e&&Math.round(e))));const[r,s,o,l]=[A,i,n,null!=a?a:255].map((e=>e.toString(16).padStart(2,"0").toUpperCase()));return{r:r,g:s,b:o,a:l}}(y$1(this,p$3,"f"),e)}stringRGB({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(y$1(this,p$3,"f")).map(((e,A)=>n$c(e,t[A])));return e?`rgba(${A}, ${i}, ${n}, ${a})`:`rgb(${A}, ${i}, ${n})`}stringHEX({alpha:e=!0}={}){const[t,A,i,n]=Object.values(this.hexa({round:!0}));return`#${t}${A}${i}${e?n:""}`}stringHSL({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.hsla()).map(((e,A)=>n$c(e,t[A])));return e?`hsla(${A}, ${i}%, ${n}%, ${a})`:`hsl(${A}, ${i}%, ${n}%)`}hueTo(e){var t;const{h:A,s:i,l:n,a:a}=this.hsla(),r="number"==typeof e?a$c(e):Number(null!==(t=e$d[e].match(/\d{1,3}/))&&void 0!==t?t:A);return m$1(this,p$3,u$8({h:r,s:i,l:n,a:a}),"f"),this}hueBy(e){const{h:t,s:A,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:a$c(t+e),s:A,l:i,a:n}),"f"),this}saturationTo(e){const{h:t,l:A,a:i}=this.hsla();return m$1(this,p$3,u$8({h:t,s:s$a(0,e,100),l:A,a:i}),"f"),this}saturateBy(e){const{h:t,s:A,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:t,s:s$a(0,A+e,100),l:i,a:n}),"f"),this}desaturateBy(e){return this.saturateBy(-1*e)}lightnessTo(e){const{h:t,s:A,a:i}=this.hsla();return m$1(this,p$3,u$8({h:t,s:A,l:s$a(0,e,100),a:i}),"f"),this}lighterBy(e){const{h:t,s:A,l:i,a:n}=this.hsla();return m$1(this,p$3,u$8({h:t,s:A,l:s$a(0,i+e,100),a:n}),"f"),this}darkerBy(e){return this.lighterBy(-1*e)}alphaTo(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,e,1)}),"f"),this}alphaBy(e){return m$1(this,p$3,Object.assign(Object.assign({},y$1(this,p$3,"f")),{a:s$a(0,y$1(this,p$3,"f").a+e,1)}),"f"),this}invert({alpha:e=!1}={}){const{r:t,g:A,b:i,a:n}=y$1(this,p$3,"f");return m$1(this,p$3,{r:255-t,g:255-A,b:255-i,a:e?1-n:n},"f"),this}grayscale(){return this.desaturateBy(100)}rotate(e){return this.hueBy(e)}}function $(){return new w$1({r:o$b(255),g:o$b(255),b:o$b(255),a:Math.random()})}function x$1(e){(e=e.filter(((e,t,A)=>A.indexOf(e)===t))).forEach((e=>e(w$1)))}p$3=new WeakMap,v$2=new WeakMap,w$1.Parsers=[function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:t,g:A,b:i}=e;return void 0!==t&&void 0!==A&&void 0!==i&&"number"==typeof t}(e))return b$5(e);if("string"==typeof e){g$2.lastIndex=0;const t=g$2.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(t<3?2.55:.01):+e));return b$5({r:e,g:A,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:t,g:A,b:i}=e;return void 0!==t&&void 0!==A&&void 0!==i&&"string"==typeof t}(e))return[l$5(e),"hex"];if("string"==typeof e){c$a.lastIndex=0;const t=c$a.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map((e=>1===e.length?e.repeat(2):e));return[l$5({r:e,g:A,b:i,a:null!=n?n:"FF"}),"hex"]}}return[{r:0,g:0,b:0,a:1},"invalid"]},function(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:t,s:A,l:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return d$2(e);if("string"==typeof e){f$3.lastIndex=0;const t=f$3.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(0===t?3.59:t<3?1:.01):+e));return d$2({h:e,s:A,l:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}];const j$1=e=>new w$1(e);r$e.QA;var O$1=r$e.ZP,B=r$e.qt;r$e.MX;var e$c={d:(e,t)=>{for(var A in t)e$c.o(t,A)&&!e$c.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},a$b={};function t$b(e){const t=e%360;return t<0?t+360:t}e$c.d(a$b,{Z:()=>n$b});const n$b=e=>{e.prototype.harmony=function({type:t="analogous",effect:A="tones",amount:i=5}={}){const{h:n,s:a,l:r,a:s}=this.hsla();switch("monochromatic"===t&&(o=i,i=Math.max(2,Math.min(o,10))),t){case"analogous":return[-30,0,30].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"complementary":return[0,180].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"split-complementary":return[0,150,210].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"double-split-complementary":return[-30,0,30,150,210].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"triad":return[0,120,240].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"rectangle":return[0,60,180,240].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"square":return[0,90,180,270].map((t=>new e({h:t$b(n+t),s:a,l:r,a:s})));case"monochromatic":{const t="tones"===A?a:r;let o=("tints"===A?100-t:t)/i;o="tints"===A?o:-1*o;const l=[t];for(let e=0;enew e({h:n,s:t,l:r,a:s}))):l.map((t=>new e({h:n,s:a,l:t,a:s})))}}var o}};var r$d=a$b.Z,a$a={d:(e,t)=>{for(var A in t)a$a.o(t,A)&&!a$a.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t$a={};a$a.d(t$a,{Z:()=>k});const e$b=6/29,n$a=Math.pow(e$b,3),c$9=Math.pow(29/3,3),r$c={x:.96422,y:1,z:.82521};function u$7(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function s$9(e,t,A){return Math.max(e,Math.min(t,A))}function o$a(e){const t=e%360;return t<0?t+360:t}function l$4(e){const[t,A,i]=Object.values(e).map((e=>e/255)),n=Math.max(t,A,i),a=Math.min(t,A,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===t?(A-i)/r%6:n===A?(i-t)/r+2:(t-A)/r+4,delta:r}}function b$4(e){var t;const{Cmin:A,Cmax:i,H:n,delta:a}=l$4(e),r=(i+A)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:o$a(60*n),s:100*s,l:100*r,a:null!==(t=e.a)&&void 0!==t?t:1}}function h$3(e){var t;const{Cmax:A,H:i,delta:n}=l$4(e),a=0===n?0:n/A;return{h:o$a(60*i),s:100*a,v:100*A,a:null!==(t=e.a)&&void 0!==t?t:1}}function v$1(e){const{h:t,a:A}=b$4(e),{r:i,g:n,b:a}=e;return{h:t,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:A}}function i$9(e){const[t,A,i]=u$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=u$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}function m(e){const t=Object.values(i$9(e)).map(((e,t)=>e/(100*Object.values(r$c)[t]))).map((e=>e>n$a?Math.cbrt(e):(c$9*e+16)/116));return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2]),alpha:e.a}}function p$2(e){const{l:t,a:A,b:i}=m(e),n=180*Math.atan2(i,A)/Math.PI;return{l:t,c:Math.sqrt(Math.pow(A,2)+Math.pow(i,2)),h:o$a(n),a:e.a}}function f$2(e){const[t,A,i]=Object.values(i$9(e)).map((e=>e/100)),n=A/r$c.y,a=t&&A&&i?t+15*A+3*i:19,r=4*t/a,s=9*A/a,o=r$c.x+15*r$c.y+3*r$c.z,l=4*r$c.x/o,c=9*r$c.y/o;let d=n>n$a?116*Math.cbrt(n)-16:c$9*n,h=13*d*(r-l),u=13*d*(s-c);return d===Number(-0)&&(d=0),h===Number(-0)&&(h=0),u===Number(-0)&&(u=0),{l:d,u:h,v:u,a:e.a}}function M(e){const{x:t,y:A,z:i}=i$9(e),[n,a,r]=u$7([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[t,A,i]);return{u:n,v:a,w:r,a:e.a}}function w(e){let{r:t,g:A,b:i}=e;const n=Math.min(t,A,i);[t,A,i]=[t,A,i].map((e=>e-n));const a=Math.max(t,A,i);let r=Math.min(t,A);t-=r,A-=r,i&&A&&(i/=2,A/=2),r+=A,i+=A;const s=Math.max(t,r,i);if(s){const e=a/s;[t,r,i]=[t,r,i].map((t=>t*e))}return[t,r,i]=[t,r,i].map((e=>e+n)),{r:t,y:r,b:i,a:e.a}}function O(e){const{r:t,g:A,b:i,a:n}=e,a=1-Math.max(t,A,i)/255,[r,s,o]=1===a?[0,0,0]:[t,A,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}function j(e){const{h:t,s:A,v:i,a:n}=e,a=i/100,r=a*(A/100),s=r*(1-Math.abs(t/60%2-1)),o=a-r,l=t<60||300<=t&&t<360?r:120<=t&&t<240?0:s,c=240<=t&&t<360?0:60<=t&&t<180?r:s,d=t<120?0:180<=t&&t<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}function x(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=u$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=u$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return s$9(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}function y(e){const{l:t,a:A,b:i}=e,n=(t+16)/116,a=n+A/500,r=n-i/200,s=Object.values(r$c),[o,l,c]=[a,n,r].map(((e,t)=>(e>e$b?Math.pow(e,3):3*Math.pow(e$b,2)*(e-4/29))*s[t]*100));return x({x:o,y:l,z:c,a:e.alpha})}const k=e=>{e.prototype.mix=function({color:t="#fff",ratio:A=.5,colorspace:i="luv"}={}){const n=this.rgba(),a=(t instanceof e?t:new e(t)).rgba();let r,s;switch(A=s$9(0,A,1),i){case"hsl":r=Object.values(b$4(n)),s=Object.values(b$4(a));break;case"hsv":r=Object.values(h$3(n)),s=Object.values(h$3(a));break;case"hwb":r=Object.values(v$1(n)),s=Object.values(v$1(a));break;case"lab":r=Object.values(m(n)),s=Object.values(m(a));break;case"lch":r=Object.values(p$2(n)),s=Object.values(p$2(a));break;case"luv":r=Object.values(f$2(n)),s=Object.values(f$2(a));break;case"ryb":r=Object.values(w(n)),s=Object.values(w(a));break;case"uvw":r=Object.values(M(n)),s=Object.values(M(a));break;case"xyz":r=Object.values(i$9(n)),s=Object.values(i$9(a));break;case"cmyk":r=Object.values(O(n)),s=Object.values(O(a));break;default:r=Object.values(n),s=Object.values(a)}const[o,l,c,d,h]=r.map(((e,t)=>r[t]*(1-A)+s[t]*A));switch(i){case"hsl":return new e(function(e){const{h:t,s:A,l:i,a:n}=e,a=i/100,r=A/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(t/60%2-1)),l=a-s/2,c=t<60||300<=t&&t<360?s:120<=t&&t<240?0:o,d=240<=t&&t<360?0:60<=t&&t<180?s:o,h=t<120?0:180<=t&&t<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:o,s:l,l:c,a:d}));case"hsv":return new e(j({h:o,s:l,v:c,a:d}));case"hwb":return new e(function(e){const{h:t,b:A,w:i,a:n}=e;return j({h:t,s:100===A?0:100-i/(100-A)*100,v:100-A,a:n})}({h:o,w:l,b:c,a:d}));case"lab":return new e(y({l:o,a:l,b:c,alpha:d}));case"lch":return new e(function(e){const{l:t,c:A,h:i}=e;return y({l:t,a:A*Math.cos(i*Math.PI/180),b:A*Math.sin(i*Math.PI/180),alpha:e.a})}({l:o,c:l,h:c,a:d}));case"luv":return new e(function(e){const{l:t,u:A,v:i}=e,n=t>c$9*n$a?Math.pow((t+16)/116,3):t/c$9,a=r$c.x+15*r$c.y+3*r$c.z,r=(52*t/(A&&t?A+13*t*(4*r$c.x/a):1)-1)/3,s=-5*n,o=n*(39*t/(i&&t?i+13*t*(9*r$c.y/a):1)-5),l=r===-1/3?o-s:(o-s)/(r- -1/3);return x({x:100*l,y:100*n,z:100*(r*l+s),a:e.a})}({l:o,u:l,v:c,a:d}));case"ryb":return new e(function(e){let{r:t,y:A,b:i}=e;const n=Math.min(t,A,i);[t,A,i]=[t,A,i].map((e=>e-n));const a=Math.max(t,A,i);let r=Math.min(A,i);A-=r,i-=r,i&&r&&(i*=2,r*=2),t+=A,r+=A;const s=Math.max(t,r,i);if(s){const e=a/s;[t,r,i]=[t,r,i].map((t=>t*e))}return[t,r,i]=[t,r,i].map((e=>e+n)),{r:t,g:r,b:i,a:e.a}}({r:o,y:l,b:c,a:d}));case"uvw":return new e(function(e){const{u:t,v:A,w:i}=e,[n,a,r]=u$7([[1.5,0,0],[0,1,0],[1.5,-3,2]],[t,A,i]);return x({x:n,y:a,z:r,a:e.a})}({u:o,v:l,w:c,a:d}));case"xyz":return new e(x({x:o,y:l,z:c,a:d}));case"cmyk":return new e(function(e){const{c:t,m:A,y:i,k:n,a:a}=e,[r,s,o]=[t,A,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}({c:o,m:l,y:c,k:d,a:h}));default:return new e({r:o,g:l,b:c,a:d})}}};var z=t$a.Z,r$b={d:(e,t)=>{for(var A in t)r$b.o(t,A)&&!r$b.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},b$3={};r$b.d(b$3,{Z:()=>n$9});const g$1=["rgb(0,0,0)","rgb(0,0,51)","rgb(0,0,102)","rgb(0,0,153)","rgb(0,0,204)","rgb(0,0,255)","rgb(0,51,0)","rgb(0,51,51)","rgb(0,51,102)","rgb(0,51,153)","rgb(0,51,204)","rgb(0,51,255)","rgb(0,102,0)","rgb(0,102,51)","rgb(0,102,102)","rgb(0,102,153)","rgb(0,102,204)","rgb(0,102,255)","rgb(0,153,0)","rgb(0,153,51)","rgb(0,153,102)","rgb(0,153,153)","rgb(0,153,204)","rgb(0,153,255)","rgb(0,204,0)","rgb(0,204,51)","rgb(0,204,102)","rgb(0,204,153)","rgb(0,204,204)","rgb(0,204,255)","rgb(0,255,0)","rgb(0,255,51)","rgb(0,255,102)","rgb(0,255,153)","rgb(0,255,204)","rgb(0,255,255)","rgb(51,0,0)","rgb(51,0,51)","rgb(51,0,102)","rgb(51,0,153)","rgb(51,0,204)","rgb(51,0,255)","rgb(51,51,0)","rgb(51,51,51)","rgb(51,51,102)","rgb(51,51,153)","rgb(51,51,204)","rgb(51,51,255)","rgb(51,102,0)","rgb(51,102,51)","rgb(51,102,102)","rgb(51,102,153)","rgb(51,102,204)","rgb(51,102,255)","rgb(51,153,0)","rgb(51,153,51)","rgb(51,153,102)","rgb(51,153,153)","rgb(51,153,204)","rgb(51,153,255)","rgb(51,204,0)","rgb(51,204,51)","rgb(51,204,102)","rgb(51,204,153)","rgb(51,204,204)","rgb(51,204,255)","rgb(51,255,0)","rgb(51,255,51)","rgb(51,255,102)","rgb(51,255,153)","rgb(51,255,204)","rgb(51,255,255)","rgb(102,0,0)","rgb(102,0,51)","rgb(102,0,102)","rgb(102,0,153)","rgb(102,0,204)","rgb(102,0,255)","rgb(102,51,0)","rgb(102,51,51)","rgb(102,51,102)","rgb(102,51,153)","rgb(102,51,204)","rgb(102,51,255)","rgb(102,102,0)","rgb(102,102,51)","rgb(102,102,102)","rgb(102,102,153)","rgb(102,102,204)","rgb(102,102,255)","rgb(102,153,0)","rgb(102,153,51)","rgb(102,153,102)","rgb(102,153,153)","rgb(102,153,204)","rgb(102,153,255)","rgb(102,204,0)","rgb(102,204,51)","rgb(102,204,102)","rgb(102,204,153)","rgb(102,204,204)","rgb(102,204,255)","rgb(102,255,0)","rgb(102,255,51)","rgb(102,255,102)","rgb(102,255,153)","rgb(102,255,204)","rgb(102,255,255)","rgb(153,0,0)","rgb(153,0,51)","rgb(153,0,102)","rgb(153,0,153)","rgb(153,0,204)","rgb(153,0,255)","rgb(153,51,0)","rgb(153,51,51)","rgb(153,51,102)","rgb(153,51,153)","rgb(153,51,204)","rgb(153,51,255)","rgb(153,102,0)","rgb(153,102,51)","rgb(153,102,102)","rgb(153,102,153)","rgb(153,102,204)","rgb(153,102,255)","rgb(153,153,0)","rgb(153,153,51)","rgb(153,153,102)","rgb(153,153,153)","rgb(153,153,204)","rgb(153,153,255)","rgb(153,204,0)","rgb(153,204,51)","rgb(153,204,102)","rgb(153,204,153)","rgb(153,204,204)","rgb(153,204,255)","rgb(153,255,0)","rgb(153,255,51)","rgb(153,255,102)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(204,0,0)","rgb(204,0,51)","rgb(204,0,102)","rgb(204,0,153)","rgb(204,0,204)","rgb(204,0,255)","rgb(204,51,0)","rgb(204,51,51)","rgb(204,51,102)","rgb(204,51,153)","rgb(204,51,204)","rgb(204,51,255)","rgb(204,102,0)","rgb(204,102,51)","rgb(204,102,102)","rgb(204,102,153)","rgb(204,102,204)","rgb(204,102,255)","rgb(204,153,0)","rgb(204,153,51)","rgb(204,153,102)","rgb(204,153,153)","rgb(204,153,204)","rgb(204,153,255)","rgb(204,204,0)","rgb(204,204,51)","rgb(204,204,102)","rgb(204,204,153)","rgb(204,204,204)","rgb(204,204,255)","rgb(204,255,0)","rgb(204,255,51)","rgb(204,255,102)","rgb(204,255,153)","rgb(204,255,204)","rgb(204,255,255)","rgb(255,0,0)","rgb(255,0,51)","rgb(255,0,102)","rgb(255,0,153)","rgb(255,0,204)","rgb(255,0,255)","rgb(255,51,0)","rgb(255,51,51)","rgb(255,51,102)","rgb(255,51,153)","rgb(255,51,204)","rgb(255,51,255)","rgb(255,102,0)","rgb(255,102,51)","rgb(255,102,102)","rgb(255,102,153)","rgb(255,102,204)","rgb(255,102,255)","rgb(255,153,0)","rgb(255,153,51)","rgb(255,153,102)","rgb(255,153,153)","rgb(255,153,204)","rgb(255,153,255)","rgb(255,204,0)","rgb(255,204,51)","rgb(255,204,102)","rgb(255,204,153)","rgb(255,204,204)","rgb(255,204,255)","rgb(255,255,0)","rgb(255,255,51)","rgb(255,255,102)","rgb(255,255,153)","rgb(255,255,204)","rgb(255,255,255)"];function t$9(e){return(e/=255)<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function o$9(e,t=[0,0,0,1]){var A,i;return null!==(i=null===(A=e.match(/\d{1,3}/g))||void 0===A?void 0:A.map((e=>+e)))&&void 0!==i?i:t}const n$9=e=>{e.prototype.brightness=function({precision:e=4,percentage:t=!1}={}){const{r:A,g:i,b:n}=this.rgba(),a=+((.299*A+.587*i+.114*n)/255).toFixed(e);return t?100*a:a},e.prototype.luminance=function({precision:e=4,percentage:t=!1}={}){const{r:A,g:i,b:n}=this.rgba(),a=+(.2126*t$9(A)+.7152*t$9(i)+.0722*t$9(n)).toFixed(e);return t?100*a:a},e.prototype.contrast=function({bgColor:t="#fff",precision:A=4,ratio:i=!1}={}){const n=this.luminance(),a=(t instanceof e?t:new e(t)).luminance(),r=((Math.max(n,a)+.05)/(Math.min(n,a)+.05)).toFixed(A);return i?r+":1":+r},e.prototype.readableOn=function({bgColor:e="#fff",size:t="body",level:A="minimum"}={}){const i=this.contrast({bgColor:e});return"body"===t&&"enhanced"===A?i>=7:"large"===t&&"minimum"===A?i>=3:i>=4.5},e.prototype.equalTo=function(t="#fff"){const A=Object.values(this.rgba()),i=Object.values((t instanceof e?t:new e(t)).rgba());return A.toString()===i.toString()},e.prototype.isLight=function(){return this.brightness()>=.5},e.prototype.isDark=function(){return!this.isLight()},e.prototype.isCool=function(){const{h:e}=this.hsla();return 75<=e&&e<255},e.prototype.isWarm=function(){return!this.isCool()},e.prototype.isTinted=function(){return this.hsla().l>50},e.prototype.isShaded=function(){return this.hsla().l<50},e.prototype.isToned=function(){return this.hsla().s<100},e.prototype.isPureHue=function({reason:e=!0}={}){return this.isTinted()?!!e&&{pure:!1,reason:"tinted"}:this.isShaded()?!!e&&{pure:!1,reason:"shaded"}:this.isToned()?!!e&&{pure:!1,reason:"toned"}:!e||{pure:!0,reason:"N/A"}},e.prototype.closestCool=function(){const{h:e}=this.hsla();return this.isCool()?this:this.hueTo(e<75?75:254)},e.prototype.closestWarm=function(){const{h:e}=this.hsla();return this.isWarm()?this:this.hueTo(e<165?74:255)},e.prototype.closestPureHue=function(){const{h:t,a:A}=this.hsla(),{r:i,g:n,b:a,a:r}=function(e){const{h:t,s:A,l:i,a:n}=e,a=i/100,r=A/100,s=(1-Math.abs(2*a-1))*r,o=s*(1-Math.abs(t/60%2-1)),l=a-s/2,c=t<60||300<=t&&t<360?s:120<=t&&t<240?0:o,d=240<=t&&t<360?0:60<=t&&t<180?s:o,h=t<120?0:180<=t&&t<300?s:o,[u,g,p]=[c,d,h].map((e=>255*(e+l)));return{r:u,g:g,b:p,a:null!=n?n:1}}({h:t,s:100,l:50,a:A});return new e({r:i,g:n,b:a,a:r})},e.prototype.closestWebSafe=function(){const{r:t,g:A,b:i,a:n}=this.rgba();let[a,r,s]=new Array(3).fill(0),o=Number.POSITIVE_INFINITY,l={r:t,g:A,b:i,a:n};for(let e=0;e{for(var A in t)r$a.o(t,A)&&!r$a.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},g={};r$a.d(g,{Z:()=>a$9});const e$9={maroon:"rgb(128,0,0)","dark red":"rgb(139,0,0)",brown:"rgb(165,42,42)",firebrick:"rgb(178,34,34)",crimson:"rgb(220,20,60)",red:"rgb(255,0,0)",tomato:"rgb(255,99,71)",coral:"rgb(255,127,80)","indian red":"rgb(205,92,92)","light coral":"rgb(240,128,128)","dark salmon":"rgb(233,150,122)",salmon:"rgb(250,128,114)","light salmon":"rgb(255,160,122)","orange red":"rgb(255,69,0)","dark orange":"rgb(255,140,0)",orange:"rgb(255,165,0)",gold:"rgb(255,215,0)","dark golden rod":"rgb(184,134,11)","golden rod":"rgb(218,165,32)","pale golden rod":"rgb(238,232,170)","dark khaki":"rgb(189,183,107)",khaki:"rgb(240,230,140)",olive:"rgb(128,128,0)",yellow:"rgb(255,255,0)","yellow green":"rgb(154,205,50)","dark olive green":"rgb(85,107,47)","olive drab":"rgb(107,142,35)","lawn green":"rgb(124,252,0)","chart reuse":"rgb(127,255,0)","green yellow":"rgb(173,255,47)","dark green":"rgb(0,100,0)",green:"rgb(0,128,0)","forest green":"rgb(34,139,34)",lime:"rgb(0,255,0)","lime green":"rgb(50,205,50)","light green":"rgb(144,238,144)","pale green":"rgb(152,251,152)","dark sea green":"rgb(143,188,143)","medium spring green":"rgb(0,250,154)","spring green":"rgb(0,255,127)","sea green":"rgb(46,139,87)","medium aqua marine":"rgb(102,205,170)","medium sea green":"rgb(60,179,113)","light sea green":"rgb(32,178,170)","dark slate gray":"rgb(47,79,79)",teal:"rgb(0,128,128)","dark cyan":"rgb(0,139,139)",cyan:"rgb(0,255,255)",aqua:"rgb(0,255,255)","light cyan":"rgb(224,255,255)","dark turquoise":"rgb(0,206,209)",turquoise:"rgb(64,224,208)","medium turquoise":"rgb(72,209,204)","pale turquoise":"rgb(175,238,238)","aqua marine":"rgb(127,255,212)","powder blue":"rgb(176,224,230)","cadet blue":"rgb(95,158,160)","steel blue":"rgb(70,130,180)","corn flower blue":"rgb(100,149,237)","deep sky blue":"rgb(0,191,255)","dodger blue":"rgb(30,144,255)","light blue":"rgb(173,216,230)","sky blue":"rgb(135,206,235)","light sky blue":"rgb(135,206,250)","midnight blue":"rgb(25,25,112)",navy:"rgb(0,0,128)","dark blue":"rgb(0,0,139)","medium blue":"rgb(0,0,205)",blue:"rgb(0,0,255)","royal blue":"rgb(65,105,225)","blue violet":"rgb(138,43,226)",indigo:"rgb(75,0,130)","dark slate blue":"rgb(72,61,139)","slate blue":"rgb(106,90,205)","medium slate blue":"rgb(123,104,238)","medium purple":"rgb(147,112,219)","dark magenta":"rgb(139,0,139)","dark violet":"rgb(148,0,211)","dark orchid":"rgb(153,50,204)","medium orchid":"rgb(186,85,211)",purple:"rgb(128,0,128)",thistle:"rgb(216,191,216)",plum:"rgb(221,160,221)",violet:"rgb(238,130,238)",magenta:"rgb(255,0,255)",fuchsia:"rgb(255,0,255)",orchid:"rgb(218,112,214)","medium violet red":"rgb(199,21,133)","pale violet red":"rgb(219,112,147)","deep pink":"rgb(255,20,147)","hot pink":"rgb(255,105,180)","light pink":"rgb(255,182,193)",pink:"rgb(255,192,203)","antique white":"rgb(250,235,215)",beige:"rgb(245,245,220)",bisque:"rgb(255,228,196)","blanched almond":"rgb(255,235,205)",wheat:"rgb(245,222,179)","corn silk":"rgb(255,248,220)","lemon chiffon":"rgb(255,250,205)","light golden rod yellow":"rgb(250,250,210)","light yellow":"rgb(255,255,224)","saddle brown":"rgb(139,69,19)",sienna:"rgb(160,82,45)",chocolate:"rgb(210,105,30)",peru:"rgb(205,133,63)","sandy brown":"rgb(244,164,96)","burly wood":"rgb(222,184,135)",tan:"rgb(210,180,140)","rosy brown":"rgb(188,143,143)",moccasin:"rgb(255,228,181)","navajo white":"rgb(255,222,173)","peach puff":"rgb(255,218,185)","misty rose":"rgb(255,228,225)","lavender blush":"rgb(255,240,245)",linen:"rgb(250,240,230)","old lace":"rgb(253,245,230)","papaya whip":"rgb(255,239,213)","sea shell":"rgb(255,245,238)","mint cream":"rgb(245,255,250)","slate gray":"rgb(112,128,144)","light slate gray":"rgb(119,136,153)","light steel blue":"rgb(176,196,222)",lavender:"rgb(230,230,250)","floral white":"rgb(255,250,240)","alice blue":"rgb(240,248,255)","ghost white":"rgb(248,248,255)",honeydew:"rgb(240,255,240)",ivory:"rgb(255,255,240)",azure:"rgb(240,255,255)",snow:"rgb(255,250,250)",black:"rgb(0,0,0)","dim gray":"rgb(105,105,105)","dim grey":"rgb(105,105,105)",gray:"rgb(128,128,128)",grey:"rgb(128,128,128)","dark gray":"rgb(169,169,169)","dark grey":"rgb(169,169,169)",silver:"rgb(192,192,192)","light gray":"rgb(211,211,211)","light grey":"rgb(211,211,211)",gainsboro:"rgb(220,220,220)",gainsborough:"rgb(220,220,220)","white smoke":"rgb(245,245,245)",white:"rgb(255,255,255)",transparent:"rgba(0,0,0,0)"};function b$2(e,t=[0,0,0,1]){var A,i;return null!==(i=null===(A=e.match(/\d{1,3}/g))||void 0===A?void 0:A.map((e=>+e)))&&void 0!==i?i:t}const a$9=e=>{e.prototype.name=function({exact:e=!0}={}){const{r:t,g:A,b:i,a:n}=this.rgba();if(0===n)return"transparent";const[a,r]=[Object.keys(e$9),Object.values(e$9)];let s;if(e){const e=this.stringRGB({alpha:!1}).replace(/\s/g,"");s=a.find((t=>e$9[t]===e))}else{let e=Number.POSITIVE_INFINITY;for(let n=0;n{for(var A in t)t$8.o(t,A)&&!t$8.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},a$8={};t$8.d(a$8,{Z:()=>d$1});const n$8=6/29,r$9=Math.pow(n$8,3),o$8=Math.pow(29/3,3),e$8={x:.96422,y:1,z:.82521};function c$8(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function s$8(e,t,A){return Math.max(e,Math.min(t,A))}function u$6(e){const t=e%360;return t<0?t+360:t}function i$8(e){const{l:t,a:A,b:i}=function(e){const t=Object.values(function(e){const[t,A,i]=c$8([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=c$8([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}(e)).map(((e,t)=>e/(100*Object.values(e$8)[t]))).map((e=>e>r$9?Math.cbrt(e):(o$8*e+16)/116));return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2]),alpha:e.a}}(e),n=180*Math.atan2(i,A)/Math.PI;return{l:t,c:Math.sqrt(Math.pow(A,2)+Math.pow(i,2)),h:u$6(n),a:e.a}}function h$2(e){const{l:t,c:A,h:i}=e;return function(e){const{l:t,a:A,b:i}=e,n=(t+16)/116,a=n+A/500,r=n-i/200,s=Object.values(e$8),[o,l,c]=[a,n,r].map(((e,t)=>(e>n$8?Math.pow(e,3):3*Math.pow(n$8,2)*(e-4/29))*s[t]*100));return function(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=c$8([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$8([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return s$8(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}({l:t,a:A*Math.cos(i*Math.PI/180),b:A*Math.sin(i*Math.PI/180),alpha:e.a})}const l$2=/lcha?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function p$1({l:e,c:t,h:A,a:i}){return[h$2({l:s$8(0,e,100),c:s$8(0,t,230),h:u$6(A),a:(n=i,void 0!==n?s$8(0,n,1):1)}),"lch"];var n}function f$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:t,c:A,h:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return p$1(e);if("string"==typeof e){l$2.lastIndex=0;const t=l$2.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(0===t?1:1===t?2.3:2===t?3.59:.01):+e));return p$1({l:e,c:A,h:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d$1=e=>{e.prototype.lcha=function(){return i$8(this.rgba())},e.prototype.stringLCH=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.lcha()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`lcha(${A}%, ${i}, ${n}, ${a})`:`lch(${A}%, ${i}, ${n})`},e.Parsers.push(f$1)};var b$1=a$8.Z,t$7={d:(e,t)=>{for(var A in t)t$7.o(t,A)&&!t$7.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n$7={};t$7.d(n$7,{Z:()=>l$1});const r$8=Math.pow(6/29,3),e$7=Math.pow(29/3,3);function o$7(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function a$7(e,t,A){return Math.max(e,Math.min(t,A))}function u$5(e){const{l:t,u:A,v:i}=e,n=t>e$7*r$8?Math.pow((t+16)/116,3):t/e$7,a=(52*t/(A&&t?A+13*t*.20916005282038627:1)-1)/3,r=-5*n,s=n*(39*t/(i&&t?i+13*t*(9/18.43985):1)-5),o=a===-1/3?s-r:(s-r)/(a- -1/3);return function(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=o$7([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=o$7([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return a$7(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}({x:100*o,y:100*n,z:100*(a*o+r),a:e.a})}const c$7=/color\s*\(\s*luva?\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$7({l:e,u:t,v:A,a:i}){return[u$5({l:a$7(0,e,100),u:a$7(-100,t,100),v:a$7(-100,A,100),a:(n=i,void 0!==n?a$7(0,n,1):1)}),"luv"];var n}function i$7(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:t,u:A,v:i}=e;return void 0!==t&&void 0!==A&&null!=i}(e))return s$7(e);if("string"==typeof e){c$7.lastIndex=0;const t=c$7.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(t<3?1:.01):+e));return s$7({l:e,u:A,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const l$1=e=>{e.prototype.luva=function(){return function(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=o$7([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=o$7([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}(e)).map((e=>e/100)),n=A/1,a=t&&A&&i?t+15*A+3*i:19,r=4*t/a,s=9*A/a;let o=n>r$8?116*Math.cbrt(n)-16:e$7*n,l=13*o*(r-.20916005282038627),c=13*o*(s-.48807338454488514);return o===Number(-0)&&(o=0),l===Number(-0)&&(l=0),c===Number(-0)&&(c=0),{l:o,u:l,v:c,a:e.a}}(this.rgba())},e.prototype.stringLUV=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.luva()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`color(luva ${A}%, ${i}%, ${n}%, ${a})`:`color(luv ${A}%, ${i}%, ${n}%)`},e.Parsers.push(i$7)};var v=n$7.Z,t$6={d:(e,t)=>{for(var A in t)t$6.o(t,A)&&!t$6.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},a$6={};t$6.d(a$6,{Z:()=>d});const n$6=6/29,r$7=Math.pow(n$6,3),e$6=Math.pow(29/3,3),o$6={x:.96422,y:1,z:.82521};function c$6(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function s$6(e,t,A){return Math.max(e,Math.min(t,A))}function u$4(e){return void 0!==e?s$6(0,e,1):1}function i$6(e){const t=Object.values(function(e){const[t,A,i]=c$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=c$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}(e)).map(((e,t)=>e/(100*Object.values(o$6)[t]))).map((e=>e>r$7?Math.cbrt(e):(e$6*e+16)/116));return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2]),alpha:e.a}}function l(e){const{l:t,a:A,b:i}=e,n=(t+16)/116,a=n+A/500,r=n-i/200,s=Object.values(o$6),[o,l,c]=[a,n,r].map(((e,t)=>(e>n$6?Math.pow(e,3):3*Math.pow(n$6,2)*(e-4/29))*s[t]*100));return function(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=c$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=c$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return s$6(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}({x:o,y:l,z:c,a:e.alpha})}const p=/laba?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function b({l:e,a:t,b:A,alpha:i}){return[l({l:s$6(0,e,100),a:s$6(-160,t,160),b:s$6(-160,A,160),alpha:u$4(i)}),"lab"]}function f(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{l:t,a:A,b:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return b(e);if("string"==typeof e){p.lastIndex=0;const t=p.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(t<3?1:.01):+e));return b({l:e,a:A,b:i,alpha:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const d=e=>{e.prototype.laba=function(){return i$6(this.rgba())},e.prototype.stringLAB=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.laba()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`laba(${A}%, ${i}, ${n}, ${a})`:`lab(${A}%, ${i}, ${n})`},e.Parsers.push(f)};var h$1=a$6.Z,t$5={d:(e,t)=>{for(var A in t)t$5.o(t,A)&&!t$5.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n$5={};function r$6(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function o$5(e,t,A){return Math.max(e,Math.min(t,A))}function e$5(e){const{u:t,v:A,w:i}=e,[n,a,r]=r$6([[1.5,0,0],[0,1,0],[1.5,-3,2]],[t,A,i]);return function(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=r$6([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$6([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return o$5(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}({x:n,y:a,z:r,a:e.a})}t$5.d(n$5,{Z:()=>s$5});const a$5=/color\s*\(\s*uvwa?\s*(\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*([+-]?\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function u$3({u:e,v:t,w:A,a:i}){return[e$5({u:o$5(0,e,200/3*.96422),v:o$5(0,t,100),w:o$5(-48.211,A,191.2605),a:(n=i,void 0!==n?o$5(0,n,1):1)}),"uvw"];var n}function c$5(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{u:t,v:A,w:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return u$3(e);if("string"==typeof e){a$5.lastIndex=0;const t=a$5.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return u$3({u:e,v:A,w:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const s$5=e=>{e.prototype.uvwa=function(){return function(e){const{x:t,y:A,z:i}=function(e){const[t,A,i]=r$6([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=r$6([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}(e),[n,a,r]=r$6([[2/3,0,0],[0,1,0],[-.5,1.5,.5]],[t,A,i]);return{u:n,v:a,w:r,a:e.a}}(this.rgba())},e.prototype.stringUVW=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.uvwa()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`color(uvwa ${A}, ${i}, ${n}, ${a})`:`color(uvw ${A}, ${i}, ${n})`},e.Parsers.push(c$5)};var i$5=n$5.Z,t$4={d:(e,t)=>{for(var A in t)t$4.o(t,A)&&!t$4.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n$4={};function r$5(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function o$4(e,t,A){return Math.max(e,Math.min(t,A))}function e$4(e){const[t,A,i]=Object.values(function(e){const[t,A,i]=r$5([[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}(e)).map((e=>e/100)),[n,a,r]=r$5([[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],[t,A,i]).map((e=>{return o$4(0,255*((t=e)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t),255);var t}));return{r:n,g:a,b:r,a:e.a}}t$4.d(n$4,{Z:()=>u$2});const a$4=/color\s*\(\s*xyza?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*(\d*\.?\d+)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function s$4({x:e,y:t,z:A,a:i}){return[e$4({x:o$4(0,e,96.422),y:o$4(0,t,100),z:o$4(0,A,82.521),a:(n=i,void 0!==n?o$4(0,n,1):1)}),"xyz"];var n}function c$4(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{x:t,y:A,z:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return s$4(e);if("string"==typeof e){a$4.lastIndex=0;const t=a$4.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map((e=>e.includes("%")?.01*+e.slice(0,-1):+e));return s$4({x:e,y:A,z:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$2=e=>{e.prototype.xyza=function(){return function(e){const[t,A,i]=r$5([[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Object.values(e).map((e=>{return 100*(t=e,(t/=255)<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4));var t})));return function(e){const[t,A,i]=r$5([[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],Object.values(e));return{x:t,y:A,z:i,a:e.a}}({x:t,y:A,z:i,a:e.a})}(this.rgba())},e.prototype.stringXYZ=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.xyza()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`color(xyza ${A}, ${i}, ${n}, ${a})`:`color(xyz ${A}, ${i}, ${n})`},e.Parsers.push(c$4)};var i$4=n$4.Z,t$3={d:(e,t)=>{for(var A in t)t$3.o(t,A)&&!t$3.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n$3={};function r$4(e,t,A){return Math.max(e,Math.min(t,A))}function a$3(e){const t=e%360;return t<0?t+360:t}function o$3(e){const{h:t,a:A}=function(e){var t;const{Cmin:A,Cmax:i,H:n,delta:a}=function(e){const[t,A,i]=Object.values(e).map((e=>e/255)),n=Math.max(t,A,i),a=Math.min(t,A,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===t?(A-i)/r%6:n===A?(i-t)/r+2:(t-A)/r+4,delta:r}}(e),r=(i+A)/2,s=0===a?0:a/(1-Math.abs(2*r-1));return{h:a$3(60*n),s:100*s,l:100*r,a:null!==(t=e.a)&&void 0!==t?t:1}}(e),{r:i,g:n,b:a}=e;return{h:t,w:Math.min(i,n,a)/2.55,b:100*(1-Math.max(i,n,a)/255),a:A}}function e$3(e){const{h:t,b:A,w:i,a:n}=e;return function(e){const{h:t,s:A,v:i,a:n}=e,a=i/100,r=a*(A/100),s=r*(1-Math.abs(t/60%2-1)),o=a-r,l=t<60||300<=t&&t<360?r:120<=t&&t<240?0:s,c=240<=t&&t<360?0:60<=t&&t<180?r:s,d=t<120?0:180<=t&&t<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}({h:t,s:100===A?0:100-i/(100-A)*100,v:100-A,a:n})}t$3.d(n$3,{Z:()=>u$1});const s$3=/hwba?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function i$3({h:e,w:t,b:A,a:i}){return[e$3({h:a$3(e),w:r$4(0,t,100),b:r$4(0,A,100),a:(n=i,void 0!==n?r$4(0,n,1):1)}),"hwb"];var n}function c$3(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:t,w:A,b:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return i$3(e);if("string"==typeof e){s$3.lastIndex=0;const t=s$3.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(0===t?3.59:t<3?1:.01):+e));return i$3({h:e,w:A,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const u$1=e=>{e.prototype.hwba=function(){return o$3(this.rgba())},e.prototype.stringHWB=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.hwba()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`hwba(${a$3(A)}, ${i}%, ${n}%, ${a})`:`hwb(${a$3(A)}, ${i}%, ${n}%)`},e.Parsers.push(c$3)};var h=n$3.Z,t$2={d:(e,t)=>{for(var A in t)t$2.o(t,A)&&!t$2.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n$2={};function r$3(e,t,A){return Math.max(e,Math.min(t,A))}function s$2(e){const t=e%360;return t<0?t+360:t}function e$2(e){const{h:t,s:A,v:i,a:n}=e,a=i/100,r=a*(A/100),s=r*(1-Math.abs(t/60%2-1)),o=a-r,l=t<60||300<=t&&t<360?r:120<=t&&t<240?0:s,c=240<=t&&t<360?0:60<=t&&t<180?r:s,d=t<120?0:180<=t&&t<300?r:s,[h,u,g]=[l,c,d].map((e=>255*(e+o)));return{r:h,g:u,b:g,a:null!=n?n:1}}t$2.d(n$2,{Z:()=>c$2});const a$2=/hsva?\s*\(\s*([+-]?\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o$2({h:e,s:t,v:A,a:i}){return[e$2({h:s$2(e),s:r$3(0,t,100),v:r$3(0,A,100),a:(n=i,void 0!==n?r$3(0,n,1):1)}),"hsv"];var n}function i$2(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{h:t,s:A,v:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return o$2(e);if("string"==typeof e){a$2.lastIndex=0;const t=a$2.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(0===t?3.59:t<3?1:.01):+e));return o$2({h:e,s:A,v:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const c$2=e=>{e.prototype.hsva=function(){return function(e){var t;const{Cmax:A,H:i,delta:n}=function(e){const[t,A,i]=Object.values(e).map((e=>e/255)),n=Math.max(t,A,i),a=Math.min(t,A,i),r=n-a;return{Cmin:a,Cmax:n,H:0===r?0:n===t?(A-i)/r%6:n===A?(i-t)/r+2:(t-A)/r+4,delta:r}}(e),a=0===n?0:n/A;return{h:s$2(60*i),s:100*a,v:100*A,a:null!==(t=e.a)&&void 0!==t?t:1}}(this.rgba())},e.prototype.stringHSV=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.hsva()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`hsva(${s$2(A)}, ${i}%, ${n}%, ${a})`:`hsv(${s$2(A)}, ${i}%, ${n}%)`},e.Parsers.push(i$2)};var u=n$2.Z,t$1={d:(e,t)=>{for(var A in t)t$1.o(t,A)&&!t$1.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r$2={};function n$1(e,t,A){return Math.max(e,Math.min(t,A))}function o$1(e){let{r:t,y:A,b:i}=e;const n=Math.min(t,A,i);[t,A,i]=[t,A,i].map((e=>e-n));const a=Math.max(t,A,i);let r=Math.min(A,i);A-=r,i-=r,i&&r&&(i*=2,r*=2),t+=A,r+=A;const s=Math.max(t,r,i);if(s){const e=a/s;[t,r,i]=[t,r,i].map((t=>t*e))}return[t,r,i]=[t,r,i].map((e=>e+n)),{r:t,g:r,b:i,a:e.a}}t$1.d(r$2,{Z:()=>i$1});const a$1=/color\s*\(\s*ryba?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function e$1({r:e,y:t,b:A,a:i}){return[o$1({r:n$1(0,e,255),y:n$1(0,t,255),b:n$1(0,A,255),a:(n=i,void 0!==n?n$1(0,n,1):1)}),"ryb"];var n}function s$1(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{r:t,y:A,b:i}=e;return void 0!==t&&void 0!==A&&void 0!==i}(e))return e$1(e);if("string"==typeof e){a$1.lastIndex=0;const t=a$1.exec(e);if(t){const[e,A,i,n]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(t<3?2.55:.01):+e));return e$1({r:e,y:A,b:i,a:n})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i$1=e=>{e.prototype.ryba=function(){return function(e){let{r:t,g:A,b:i}=e;const n=Math.min(t,A,i);[t,A,i]=[t,A,i].map((e=>e-n));const a=Math.max(t,A,i);let r=Math.min(t,A);t-=r,A-=r,i&&A&&(i/=2,A/=2),r+=A,i+=A;const s=Math.max(t,r,i);if(s){const e=a/s;[t,r,i]=[t,r,i].map((t=>t*e))}return[t,r,i]=[t,r,i].map((e=>e+n)),{r:t,y:r,b:i,a:e.a}}(this.rgba())},e.prototype.stringRYB=function({alpha:e=!0,precision:t=[0,0,0,1]}={}){const[A,i,n,a]=Object.values(this.ryba()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`color(ryba ${A}, ${i}, ${n}, ${a})`:`color(ryb ${A}, ${i}, ${n})`},e.Parsers.push(s$1)};var c$1=r$2.Z,t={d:(e,A)=>{for(var i in A)t.o(A,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:A[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},n={};function e(e,t,A){return Math.max(e,Math.min(t,A))}function r$1(e){const{c:t,m:A,y:i,k:n,a:a}=e,[r,s,o]=[t,A,i].map((e=>255*(1-e/100)*(1-n/100)));return{r:r,g:s,b:o,a:a}}t.d(n,{Z:()=>i});const c=/device-cmyka?\s*\(\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?)\s*,?\s*(\d*\.?\d+%?),?\s*\/?\s*?(\d*\.?\d+%?)?\s*\)/gi;function o({c:t,m:A,y:i,k:n,a:a}){return[r$1({c:e(0,t,100),m:e(0,A,100),y:e(0,i,100),k:e(0,n,100),a:(r=a,void 0!==r?e(0,r,1):1)}),"cmyk"];var r}function a(e){if("object"===e.constructor.name.toLowerCase()&&function(e){const{c:t,m:A,y:i,k:n}=e;return void 0!==t&&void 0!==A&&void 0!==i&&void 0!==n}(e))return o(e);if("string"==typeof e){c.lastIndex=0;const t=c.exec(e);if(t){const[e,A,i,n,a]=t.filter((e=>void 0!==e)).slice(1).map(((e,t)=>e.includes("%")?+e.slice(0,-1)*(t<4?1:.01):+e));return o({c:e,m:A,y:i,k:n,a:a})}}return[{r:0,g:0,b:0,a:1},"invalid"]}const i=e=>{e.prototype.cmyka=function(){return function(e){const{r:t,g:A,b:i,a:n}=e,a=1-Math.max(t,A,i)/255,[r,s,o]=1===a?[0,0,0]:[t,A,i].map((e=>100*(1-e/255-a)/(1-a)));return{c:r,m:s,y:o,k:100*a,a:n}}(this.rgba())},e.prototype.stringCMYK=function({alpha:e=!0,precision:t=[0,0,0,0,1]}={}){const[A,i,n,a,r]=Object.values(this.cmyka()).map(((e,A)=>function(e,t){return+e.toFixed(t>=0?t:0)}(e,t[A])));return e?`device-cmyk(${A}, ${i}, ${n}, ${a}, ${r})`:`device-cmyk(${A}, ${i}, ${n}, ${a})`},e.Parsers.push(a)};var s=n.Z;class ExcalidrawScene{constructor(e=[]){this.type="excalidraw",this.version=2,this.source=GITHUB_RELEASES+PLUGIN_VERSION,this.elements=[],this.elements=e}toExJSON(){return Object.assign(Object.assign({},this),{elements:this.elements.map((e=>Object.assign({},e)))})}}var ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array;function create$1(){var e=new ARRAY_TYPE(16);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function clone(e){var t=new ARRAY_TYPE(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function fromValues$1(e,t,A,i,n,a,r,s,o,l,c,d,h,u,g,p){var m=new ARRAY_TYPE(16);return m[0]=e,m[1]=t,m[2]=A,m[3]=i,m[4]=n,m[5]=a,m[6]=r,m[7]=s,m[8]=o,m[9]=l,m[10]=c,m[11]=d,m[12]=h,m[13]=u,m[14]=g,m[15]=p,m}function multiply(e,t,A){var i=t[0],n=t[1],a=t[2],r=t[3],s=t[4],o=t[5],l=t[6],c=t[7],d=t[8],h=t[9],u=t[10],g=t[11],p=t[12],m=t[13],w=t[14],f=t[15],B=A[0],E=A[1],b=A[2],v=A[3];return e[0]=B*i+E*s+b*d+v*p,e[1]=B*n+E*o+b*h+v*m,e[2]=B*a+E*l+b*u+v*w,e[3]=B*r+E*c+b*g+v*f,B=A[4],E=A[5],b=A[6],v=A[7],e[4]=B*i+E*s+b*d+v*p,e[5]=B*n+E*o+b*h+v*m,e[6]=B*a+E*l+b*u+v*w,e[7]=B*r+E*c+b*g+v*f,B=A[8],E=A[9],b=A[10],v=A[11],e[8]=B*i+E*s+b*d+v*p,e[9]=B*n+E*o+b*h+v*m,e[10]=B*a+E*l+b*u+v*w,e[11]=B*r+E*c+b*g+v*f,B=A[12],E=A[13],b=A[14],v=A[15],e[12]=B*i+E*s+b*d+v*p,e[13]=B*n+E*o+b*h+v*m,e[14]=B*a+E*l+b*u+v*w,e[15]=B*r+E*c+b*g+v*f,e}function create(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function fromValues(e,t,A){var i=new ARRAY_TYPE(3);return i[0]=e,i[1]=t,i[2]=A,i}function transformMat4(e,t,A){var i=t[0],n=t[1],a=t[2],r=A[3]*i+A[7]*n+A[11]*a+A[15];return r=r||1,e[0]=(A[0]*i+A[4]*n+A[8]*a+A[12])/r,e[1]=(A[1]*i+A[5]*n+A[9]*a+A[13])/r,e[2]=(A[2]*i+A[6]*n+A[10]*a+A[14])/r,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)}),create();const random=new Random(Date.now()),randomInteger=()=>Math.floor(random.next()*2**31),randomId=()=>nanoid$1();function dimensionsFromPoints(e){const t=e.map((([e])=>e)),A=e.map((([,e])=>e)),i=Math.min(...t),n=Math.min(...A);return[Math.max(...t)-i,Math.max(...A)-n]}function getWindingOrder(e){return e.reduce(((e,[t,A],i,n)=>{const a=n[i+1];return((a?a[0]:0)-t)*((a?a[1]:0)+A)+e}),0)>0?"clockwise":"counterclockwise"}var chromaExports={},chroma$1={get exports(){return chromaExports},set exports(e){chromaExports=e}};chroma$1.exports=function(){for(var e=function(e,t,A){return void 0===t&&(t=0),void 0===A&&(A=1),eA?A:e},t=e,A={},i=0,n=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];i255)&&(e._clipped=!0),e[A]=t(e[A],0,255)):3===A&&(e[A]=t(e[A],0,1));return e},limit:e,type:r,unpack:function(e,t){return void 0===t&&(t=null),e.length>=3?Array.prototype.slice.call(e):"object"==s(e[0])&&t?t.split("").filter((function(t){return void 0!==e[0][t]})).map((function(t){return e[0][t]})):e[0]},last:function(e){if(e.length<2)return null;var t=e.length-1;return"string"==o(e[t])?e[t].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},d={format:{},autodetect:[]},h=c.last,u=c.clip_rgb,g=c.type,p=d,m=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=this;if("object"===g(e[0])&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];var i=h(e),n=!1;if(!i){n=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(e,t){return t.p-e.p})),p.sorted=!0);for(var a=0,r=p.autodetect;a4?e[4]:1;return 1===a?[0,0,0,r]:[A>=1?0:255*(1-A)*(1-a),i>=1?0:255*(1-i)*(1-a),n>=1?0:255*(1-n)*(1-a),r]},F=B,x=w,S=d,T=c.unpack,I=c.type,U=v;x.prototype.cmyk=function(){return U(this._rgb)},F.cmyk=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(x,[null].concat(e,["cmyk"])))},S.format.cmyk=y,S.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=T(e,"cmyk"),"array"===I(e)&&4===e.length)return"cmyk"}});var Q=c.unpack,k=c.last,O=function(e){return Math.round(100*e)/100},M=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=Q(e,"hsla"),i=k(e)||"lsa";return A[0]=O(A[0]||0),A[1]=O(100*A[1])+"%",A[2]=O(100*A[2])+"%","hsla"===i||A.length>3&&A[3]<1?(A[3]=A.length>3?A[3]:1,i="hsla"):A.length=3,i+"("+A.join(",")+")"},L=c.unpack,D=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=(e=L(e,"rgba"))[0],i=e[1],n=e[2];A/=255,i/=255,n/=255;var a,r,s=Math.min(A,i,n),o=Math.max(A,i,n),l=(o+s)/2;return o===s?(a=0,r=Number.NaN):a=l<.5?(o-s)/(o+s):(o-s)/(2-o-s),A==o?r=(i-n)/(o-s):i==o?r=2+(n-A)/(o-s):n==o&&(r=4+(A-i)/(o-s)),(r*=60)<0&&(r+=360),e.length>3&&void 0!==e[3]?[r,a,l,e[3]]:[r,a,l]},N=c.unpack,H=c.last,R=M,P=D,V=Math.round,K=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=N(e,"rgba"),i=H(e)||"rgb";return"hsl"==i.substr(0,3)?R(P(A),i):(A[0]=V(A[0]),A[1]=V(A[1]),A[2]=V(A[2]),("rgba"===i||A.length>3&&A[3]<1)&&(A[3]=A.length>3?A[3]:1,i="rgba"),i+"("+A.slice(0,"rgb"===i?3:4).join(",")+")")},G=c.unpack,W=Math.round,X=function(){for(var e,t=[],A=arguments.length;A--;)t[A]=arguments[A];var i,n,a,r=(t=G(t,"hsl"))[0],s=t[1],o=t[2];if(0===s)i=n=a=255*o;else{var l=[0,0,0],c=[0,0,0],d=o<.5?o*(1+s):o+s-o*s,h=2*o-d,u=r/360;l[0]=u+1/3,l[1]=u,l[2]=u-1/3;for(var g=0;g<3;g++)l[g]<0&&(l[g]+=1),l[g]>1&&(l[g]-=1),6*l[g]<1?c[g]=h+6*(d-h)*l[g]:2*l[g]<1?c[g]=d:3*l[g]<2?c[g]=h+(d-h)*(2/3-l[g])*6:c[g]=h;i=(e=[W(255*c[0]),W(255*c[1]),W(255*c[2])])[0],n=e[1],a=e[2]}return t.length>3?[i,n,a,t[3]]:[i,n,a,1]},z=X,Y=d,j=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,J=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,q=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,_=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ee=Math.round,te=function(e){var t;if(e=e.toLowerCase().trim(),Y.format.named)try{return Y.format.named(e)}catch(e){}if(t=e.match(j)){for(var A=t.slice(1,4),i=0;i<3;i++)A[i]=+A[i];return A[3]=1,A}if(t=e.match(J)){for(var n=t.slice(1,5),a=0;a<4;a++)n[a]=+n[a];return n}if(t=e.match(Z)){for(var r=t.slice(1,4),s=0;s<3;s++)r[s]=ee(2.55*r[s]);return r[3]=1,r}if(t=e.match(q)){for(var o=t.slice(1,5),l=0;l<3;l++)o[l]=ee(2.55*o[l]);return o[3]=+o[3],o}if(t=e.match(_)){var c=t.slice(1,4);c[1]*=.01,c[2]*=.01;var d=z(c);return d[3]=1,d}if(t=e.match($)){var h=t.slice(1,4);h[1]*=.01,h[2]*=.01;var u=z(h);return u[3]=+t[4],u}};te.test=function(e){return j.test(e)||J.test(e)||Z.test(e)||q.test(e)||_.test(e)||$.test(e)};var Ae=B,ie=w,ne=d,ae=c.type,re=K,se=te;ie.prototype.css=function(e){return re(this._rgb,e)},Ae.css=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(ie,[null].concat(e,["css"])))},ne.format.css=se,ne.autodetect.push({p:5,test:function(e){for(var t=[],A=arguments.length-1;A-- >0;)t[A]=arguments[A+1];if(!t.length&&"string"===ae(e)&&se.test(e))return"css"}});var oe=w,le=B,ce=c.unpack;d.format.gl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=ce(e,"rgba");return A[0]*=255,A[1]*=255,A[2]*=255,A},le.gl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(oe,[null].concat(e,["gl"])))},oe.prototype.gl=function(){var e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]};var de=c.unpack,he=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A,i=de(e,"rgb"),n=i[0],a=i[1],r=i[2],s=Math.min(n,a,r),o=Math.max(n,a,r),l=o-s,c=100*l/255,d=s/(255-l)*100;return 0===l?A=Number.NaN:(n===o&&(A=(a-r)/l),a===o&&(A=2+(r-n)/l),r===o&&(A=4+(n-a)/l),(A*=60)<0&&(A+=360)),[A,c,d]},ue=c.unpack,ge=Math.floor,pe=function(){for(var e,t,A,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ue(r,"hcg"))[0],h=r[1],u=r[2];u*=255;var g=255*h;if(0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var p=ge(d/=60),m=d-p,w=u*(1-h),f=w+g*(1-m),B=w+g*m,E=w+g;switch(p){case 0:o=(e=[E,B,w])[0],l=e[1],c=e[2];break;case 1:o=(t=[f,E,w])[0],l=t[1],c=t[2];break;case 2:o=(A=[w,E,B])[0],l=A[1],c=A[2];break;case 3:o=(i=[w,f,E])[0],l=i[1],c=i[2];break;case 4:o=(n=[B,w,E])[0],l=n[1],c=n[2];break;case 5:o=(a=[E,w,f])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},me=c.unpack,we=c.type,fe=B,Be=w,Ee=d,be=he;Be.prototype.hcg=function(){return be(this._rgb)},fe.hcg=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Be,[null].concat(e,["hcg"])))},Ee.format.hcg=pe,Ee.autodetect.push({p:1,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=me(e,"hcg"),"array"===we(e)&&3===e.length)return"hcg"}});var ve=c.unpack,Ce=c.last,ye=Math.round,Fe=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=ve(e,"rgba"),i=A[0],n=A[1],a=A[2],r=A[3],s=Ce(e)||"auto";void 0===r&&(r=1),"auto"===s&&(s=r<1?"rgba":"rgb");var o="000000"+((i=ye(i))<<16|(n=ye(n))<<8|(a=ye(a))).toString(16);o=o.substr(o.length-6);var l="0"+ye(255*r).toString(16);switch(l=l.substr(l.length-2),s.toLowerCase()){case"rgba":return"#"+o+l;case"argb":return"#"+l+o;default:return"#"+o}},xe=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Se=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Te=function(e){if(e.match(xe)){4!==e.length&&7!==e.length||(e=e.substr(1)),3===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var t=parseInt(e,16);return[t>>16,t>>8&255,255&t,1]}if(e.match(Se)){5!==e.length&&9!==e.length||(e=e.substr(1)),4===e.length&&(e=(e=e.split(""))[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);var A=parseInt(e,16);return[A>>24&255,A>>16&255,A>>8&255,Math.round((255&A)/255*100)/100]}throw new Error("unknown hex color: "+e)},Ie=B,Ue=w,Qe=c.type,ke=d,Oe=Fe;Ue.prototype.hex=function(e){return Oe(this._rgb,e)},Ie.hex=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Ue,[null].concat(e,["hex"])))},ke.format.hex=Te,ke.autodetect.push({p:4,test:function(e){for(var t=[],A=arguments.length-1;A-- >0;)t[A]=arguments[A+1];if(!t.length&&"string"===Qe(e)&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return"hex"}});var Me=c.unpack,Le=c.TWOPI,De=Math.min,Ne=Math.sqrt,He=Math.acos,Re=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A,i=Me(e,"rgb"),n=i[0],a=i[1],r=i[2],s=De(n/=255,a/=255,r/=255),o=(n+a+r)/3,l=o>0?1-s/o:0;return 0===l?A=NaN:(A=(n-a+(n-r))/2,A/=Ne((n-a)*(n-a)+(n-r)*(a-r)),A=He(A),r>a&&(A=Le-A),A/=Le),[360*A,l,o]},Pe=c.unpack,Ve=c.limit,Ke=c.TWOPI,Ge=c.PITHIRD,We=Math.cos,Xe=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A,i,n,a=(e=Pe(e,"hsi"))[0],r=e[1],s=e[2];return isNaN(a)&&(a=0),isNaN(r)&&(r=0),a>360&&(a-=360),a<0&&(a+=360),(a/=360)<1/3?i=1-((n=(1-r)/3)+(A=(1+r*We(Ke*a)/We(Ge-Ke*a))/3)):a<2/3?n=1-((A=(1-r)/3)+(i=(1+r*We(Ke*(a-=1/3))/We(Ge-Ke*a))/3)):A=1-((i=(1-r)/3)+(n=(1+r*We(Ke*(a-=2/3))/We(Ge-Ke*a))/3)),[255*(A=Ve(s*A*3)),255*(i=Ve(s*i*3)),255*(n=Ve(s*n*3)),e.length>3?e[3]:1]},ze=c.unpack,Ye=c.type,je=B,Je=w,Ze=d,qe=Re;Je.prototype.hsi=function(){return qe(this._rgb)},je.hsi=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Je,[null].concat(e,["hsi"])))},Ze.format.hsi=Xe,Ze.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=ze(e,"hsi"),"array"===Ye(e)&&3===e.length)return"hsi"}});var _e=c.unpack,$e=c.type,et=B,tt=w,At=d,it=D;tt.prototype.hsl=function(){return it(this._rgb)},et.hsl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(tt,[null].concat(e,["hsl"])))},At.format.hsl=X,At.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=_e(e,"hsl"),"array"===$e(e)&&3===e.length)return"hsl"}});var nt=c.unpack,at=Math.min,rt=Math.max,st=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A,i,n,a=(e=nt(e,"rgb"))[0],r=e[1],s=e[2],o=at(a,r,s),l=rt(a,r,s),c=l-o;return n=l/255,0===l?(A=Number.NaN,i=0):(i=c/l,a===l&&(A=(r-s)/c),r===l&&(A=2+(s-a)/c),s===l&&(A=4+(a-r)/c),(A*=60)<0&&(A+=360)),[A,i,n]},ot=c.unpack,lt=Math.floor,ct=function(){for(var e,t,A,i,n,a,r=[],s=arguments.length;s--;)r[s]=arguments[s];var o,l,c,d=(r=ot(r,"hsv"))[0],h=r[1],u=r[2];if(u*=255,0===h)o=l=c=u;else{360===d&&(d=0),d>360&&(d-=360),d<0&&(d+=360);var g=lt(d/=60),p=d-g,m=u*(1-h),w=u*(1-h*p),f=u*(1-h*(1-p));switch(g){case 0:o=(e=[u,f,m])[0],l=e[1],c=e[2];break;case 1:o=(t=[w,u,m])[0],l=t[1],c=t[2];break;case 2:o=(A=[m,u,f])[0],l=A[1],c=A[2];break;case 3:o=(i=[m,w,u])[0],l=i[1],c=i[2];break;case 4:o=(n=[f,m,u])[0],l=n[1],c=n[2];break;case 5:o=(a=[u,m,w])[0],l=a[1],c=a[2]}}return[o,l,c,r.length>3?r[3]:1]},dt=c.unpack,ht=c.type,ut=B,gt=w,pt=d,mt=st;gt.prototype.hsv=function(){return mt(this._rgb)},ut.hsv=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(gt,[null].concat(e,["hsv"])))},pt.format.hsv=ct,pt.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=dt(e,"hsv"),"array"===ht(e)&&3===e.length)return"hsv"}});var wt={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ft=wt,Bt=c.unpack,Et=Math.pow,bt=function(e){return(e/=255)<=.04045?e/12.92:Et((e+.055)/1.055,2.4)},vt=function(e){return e>ft.t3?Et(e,1/3):e/ft.t2+ft.t0},Ct=function(e,t,A){return e=bt(e),t=bt(t),A=bt(A),[vt((.4124564*e+.3575761*t+.1804375*A)/ft.Xn),vt((.2126729*e+.7151522*t+.072175*A)/ft.Yn),vt((.0193339*e+.119192*t+.9503041*A)/ft.Zn)]},yt=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=Bt(e,"rgb"),i=A[0],n=A[1],a=A[2],r=Ct(i,n,a),s=r[0],o=r[1],l=116*o-16;return[l<0?0:l,500*(s-o),200*(o-r[2])]},Ft=wt,xt=c.unpack,St=Math.pow,Tt=function(e){return 255*(e<=.00304?12.92*e:1.055*St(e,1/2.4)-.055)},It=function(e){return e>Ft.t1?e*e*e:Ft.t2*(e-Ft.t0)},Ut=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A,i,n,a=(e=xt(e,"lab"))[0],r=e[1],s=e[2];return i=(a+16)/116,A=isNaN(r)?i:i+r/500,n=isNaN(s)?i:i-s/200,i=Ft.Yn*It(i),A=Ft.Xn*It(A),n=Ft.Zn*It(n),[Tt(3.2404542*A-1.5371385*i-.4985314*n),Tt(-.969266*A+1.8760108*i+.041556*n),Tt(.0556434*A-.2040259*i+1.0572252*n),e.length>3?e[3]:1]},Qt=c.unpack,kt=c.type,Ot=B,Mt=w,Lt=d,Dt=yt;Mt.prototype.lab=function(){return Dt(this._rgb)},Ot.lab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(Mt,[null].concat(e,["lab"])))},Lt.format.lab=Ut,Lt.autodetect.push({p:2,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=Qt(e,"lab"),"array"===kt(e)&&3===e.length)return"lab"}});var Nt=c.unpack,Ht=c.RAD2DEG,Rt=Math.sqrt,Pt=Math.atan2,Vt=Math.round,Kt=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=Nt(e,"lab"),i=A[0],n=A[1],a=A[2],r=Rt(n*n+a*a),s=(Pt(a,n)*Ht+360)%360;return 0===Vt(1e4*r)&&(s=Number.NaN),[i,r,s]},Gt=c.unpack,Wt=yt,Xt=Kt,zt=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=Gt(e,"rgb"),i=A[0],n=A[1],a=A[2],r=Wt(i,n,a),s=r[0],o=r[1],l=r[2];return Xt(s,o,l)},Yt=c.unpack,jt=c.DEG2RAD,Jt=Math.sin,Zt=Math.cos,qt=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=Yt(e,"lch"),i=A[0],n=A[1],a=A[2];return isNaN(a)&&(a=0),[i,Zt(a*=jt)*n,Jt(a)*n]},_t=c.unpack,$t=qt,eA=Ut,tA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=(e=_t(e,"lch"))[0],i=e[1],n=e[2],a=$t(A,i,n),r=a[0],s=a[1],o=a[2],l=eA(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},AA=c.unpack,iA=tA,nA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=AA(e,"hcl").reverse();return iA.apply(void 0,A)},aA=c.unpack,rA=c.type,sA=B,oA=w,lA=d,cA=zt;oA.prototype.lch=function(){return cA(this._rgb)},oA.prototype.hcl=function(){return cA(this._rgb).reverse()},sA.lch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(oA,[null].concat(e,["lch"])))},sA.hcl=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(oA,[null].concat(e,["hcl"])))},lA.format.lch=tA,lA.format.hcl=nA,["lch","hcl"].forEach((function(e){return lA.autodetect.push({p:2,test:function(){for(var t=[],A=arguments.length;A--;)t[A]=arguments[A];if(t=aA(t,e),"array"===rA(t)&&3===t.length)return e}})}));var dA={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},hA=d,uA=c.type,gA=dA,pA=Te,mA=Fe;w.prototype.name=function(){for(var e=mA(this._rgb,"rgb"),t=0,A=Object.keys(gA);t0;)t[A]=arguments[A+1];if(!t.length&&"string"===uA(e)&&gA[e.toLowerCase()])return"named"}});var wA=c.unpack,fA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=wA(e,"rgb");return(A[0]<<16)+(A[1]<<8)+A[2]},BA=c.type,EA=function(e){if("number"==BA(e)&&e>=0&&e<=16777215)return[e>>16,e>>8&255,255&e,1];throw new Error("unknown num color: "+e)},bA=B,vA=w,CA=d,yA=c.type,FA=fA;vA.prototype.num=function(){return FA(this._rgb)},bA.num=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(vA,[null].concat(e,["num"])))},CA.format.num=EA,CA.autodetect.push({p:5,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(1===e.length&&"number"===yA(e[0])&&e[0]>=0&&e[0]<=16777215)return"num"}});var xA=B,SA=w,TA=d,IA=c.unpack,UA=c.type,QA=Math.round;SA.prototype.rgb=function(e){return void 0===e&&(e=!0),!1===e?this._rgb.slice(0,3):this._rgb.slice(0,3).map(QA)},SA.prototype.rgba=function(e){return void 0===e&&(e=!0),this._rgb.slice(0,4).map((function(t,A){return A<3?!1===e?t:QA(t):t}))},xA.rgb=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(SA,[null].concat(e,["rgb"])))},TA.format.rgb=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=IA(e,"rgba");return void 0===A[3]&&(A[3]=1),A},TA.autodetect.push({p:3,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=IA(e,"rgba"),"array"===UA(e)&&(3===e.length||4===e.length&&"number"==UA(e[3])&&e[3]>=0&&e[3]<=1))return"rgb"}});var kA=Math.log,OA=function(e){var t,A,i,n=e/100;return n<66?(t=255,A=n<6?0:-155.25485562709179-.44596950469579133*(A=n-2)+104.49216199393888*kA(A),i=n<20?0:.8274096064007395*(i=n-10)-254.76935184120902+115.67994401066147*kA(i)):(t=351.97690566805693+.114206453784165*(t=n-55)-40.25366309332127*kA(t),A=325.4494125711974+.07943456536662342*(A=n-50)-28.0852963507957*kA(A),i=255),[t,A,i,1]},MA=OA,LA=c.unpack,DA=Math.round,NA=B,HA=w,RA=d,PA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var A,i=LA(e,"rgb"),n=i[0],a=i[2],r=1e3,s=4e4,o=.4;s-r>o;){var l=MA(A=.5*(s+r));l[2]/l[0]>=a/n?s=A:r=A}return DA(A)};HA.prototype.temp=HA.prototype.kelvin=HA.prototype.temperature=function(){return PA(this._rgb)},NA.temp=NA.kelvin=NA.temperature=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(HA,[null].concat(e,["temp"])))},RA.format.temp=RA.format.kelvin=RA.format.temperature=OA;var VA=c.unpack,KA=Math.cbrt,GA=Math.pow,WA=Math.sign,XA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=VA(e,"rgb"),i=A[0],n=A[1],a=A[2],r=[zA(i/255),zA(n/255),zA(a/255)],s=r[0],o=r[1],l=r[2],c=KA(.4122214708*s+.5363325363*o+.0514459929*l),d=KA(.2119034982*s+.6806995451*o+.1073969566*l),h=KA(.0883024619*s+.2817188376*o+.6299787005*l);return[.2104542553*c+.793617785*d-.0040720468*h,1.9779984951*c-2.428592205*d+.4505937099*h,.0259040371*c+.7827717662*d-.808675766*h]};function zA(e){var t=Math.abs(e);return t<.04045?e/12.92:(WA(e)||1)*GA((t+.055)/1.055,2.4)}var YA=c.unpack,jA=Math.pow,JA=Math.sign,ZA=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=(e=YA(e,"lab"))[0],i=e[1],n=e[2],a=jA(A+.3963377774*i+.2158037573*n,3),r=jA(A-.1055613458*i-.0638541728*n,3),s=jA(A-.0894841775*i-1.291485548*n,3);return[255*qA(4.0767416621*a-3.3077115913*r+.2309699292*s),255*qA(-1.2684380046*a+2.6097574011*r-.3413193965*s),255*qA(-.0041960863*a-.7034186147*r+1.707614701*s),e.length>3?e[3]:1]};function qA(e){var t=Math.abs(e);return t>.0031308?(JA(e)||1)*(1.055*jA(t,1/2.4)-.055):12.92*e}var _A=c.unpack,$A=c.type,ei=B,ti=w,Ai=d,ii=XA;ti.prototype.oklab=function(){return ii(this._rgb)},ei.oklab=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(ti,[null].concat(e,["oklab"])))},Ai.format.oklab=ZA,Ai.autodetect.push({p:3,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=_A(e,"oklab"),"array"===$A(e)&&3===e.length)return"oklab"}});var ni=c.unpack,ai=XA,ri=Kt,si=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=ni(e,"rgb"),i=A[0],n=A[1],a=A[2],r=ai(i,n,a),s=r[0],o=r[1],l=r[2];return ri(s,o,l)},oi=c.unpack,li=qt,ci=ZA,di=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var A=(e=oi(e,"lch"))[0],i=e[1],n=e[2],a=li(A,i,n),r=a[0],s=a[1],o=a[2],l=ci(r,s,o);return[l[0],l[1],l[2],e.length>3?e[3]:1]},hi=c.unpack,ui=c.type,gi=B,pi=w,mi=d,wi=si;pi.prototype.oklch=function(){return wi(this._rgb)},gi.oklch=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return new(Function.prototype.bind.apply(pi,[null].concat(e,["oklch"])))},mi.format.oklch=di,mi.autodetect.push({p:3,test:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];if(e=hi(e,"oklch"),"array"===ui(e)&&3===e.length)return"oklch"}});var fi=w,Bi=c.type;fi.prototype.alpha=function(e,t){return void 0===t&&(t=!1),void 0!==e&&"number"===Bi(e)?t?(this._rgb[3]=e,this):new fi([this._rgb[0],this._rgb[1],this._rgb[2],e],"rgb"):this._rgb[3]},w.prototype.clipped=function(){return this._rgb._clipped||!1};var Ei=w,bi=wt;Ei.prototype.darken=function(e){void 0===e&&(e=1);var t=this.lab();return t[0]-=bi.Kn*e,new Ei(t,"lab").alpha(this.alpha(),!0)},Ei.prototype.brighten=function(e){return void 0===e&&(e=1),this.darken(-e)},Ei.prototype.darker=Ei.prototype.darken,Ei.prototype.brighter=Ei.prototype.brighten,w.prototype.get=function(e){var t=e.split("."),A=t[0],i=t[1],n=this[A]();if(i){var a=A.indexOf(i)-("ok"===A.substr(0,2)?2:0);if(a>-1)return n[a];throw new Error("unknown channel "+i+" in mode "+A)}return n};var vi=w,Ci=c.type,yi=Math.pow;vi.prototype.luminance=function(e){if(void 0!==e&&"number"===Ci(e)){if(0===e)return new vi([0,0,0,this._rgb[3]],"rgb");if(1===e)return new vi([255,255,255,this._rgb[3]],"rgb");var t=this.luminance(),A=20,i=function(t,n){var a=t.interpolate(n,.5,"rgb"),r=a.luminance();return Math.abs(e-r)<1e-7||!A--?a:r>e?i(t,a):i(a,n)},n=(t>e?i(new vi([0,0,0]),this):i(this,new vi([255,255,255]))).rgb();return new vi(n.concat([this._rgb[3]]))}return Fi.apply(void 0,this._rgb.slice(0,3))};var Fi=function(e,t,A){return.2126*(e=xi(e))+.7152*(t=xi(t))+.0722*xi(A)},xi=function(e){return(e/=255)<=.03928?e/12.92:yi((e+.055)/1.055,2.4)},Si={},Ti=w,Ii=c.type,Ui=Si,Qi=function(e,t,A){void 0===A&&(A=.5);for(var i=[],n=arguments.length-3;n-- >0;)i[n]=arguments[n+3];var a=i[0]||"lrgb";if(Ui[a]||i.length||(a=Object.keys(Ui)[0]),!Ui[a])throw new Error("interpolation mode "+a+" is not defined");return"object"!==Ii(e)&&(e=new Ti(e)),"object"!==Ii(t)&&(t=new Ti(t)),Ui[a](e,t,A).alpha(e.alpha()+A*(t.alpha()-e.alpha()))},ki=w,Oi=Qi;ki.prototype.mix=ki.prototype.interpolate=function(e,t){void 0===t&&(t=.5);for(var A=[],i=arguments.length-2;i-- >0;)A[i]=arguments[i+2];return Oi.apply(void 0,[this,e,t].concat(A))};var Mi=w;Mi.prototype.premultiply=function(e){void 0===e&&(e=!1);var t=this._rgb,A=t[3];return e?(this._rgb=[t[0]*A,t[1]*A,t[2]*A,A],this):new Mi([t[0]*A,t[1]*A,t[2]*A,A],"rgb")};var Li=w,Di=wt;Li.prototype.saturate=function(e){void 0===e&&(e=1);var t=this.lch();return t[1]+=Di.Kn*e,t[1]<0&&(t[1]=0),new Li(t,"lch").alpha(this.alpha(),!0)},Li.prototype.desaturate=function(e){return void 0===e&&(e=1),this.saturate(-e)};var Ni=w,Hi=c.type;Ni.prototype.set=function(e,t,A){void 0===A&&(A=!1);var i=e.split("."),n=i[0],a=i[1],r=this[n]();if(a){var s=n.indexOf(a)-("ok"===n.substr(0,2)?2:0);if(s>-1){if("string"==Hi(t))switch(t.charAt(0)){case"+":case"-":r[s]+=+t;break;case"*":r[s]*=+t.substr(1);break;case"/":r[s]/=+t.substr(1);break;default:r[s]=+t}else{if("number"!==Hi(t))throw new Error("unsupported value for Color.set");r[s]=t}var o=new Ni(r,n);return A?(this._rgb=o._rgb,this):o}throw new Error("unknown channel "+a+" in mode "+n)}return r};var Ri=w;Si.rgb=function(e,t,A){var i=e._rgb,n=t._rgb;return new Ri(i[0]+A*(n[0]-i[0]),i[1]+A*(n[1]-i[1]),i[2]+A*(n[2]-i[2]),"rgb")};var Pi=w,Vi=Math.sqrt,Ki=Math.pow;Si.lrgb=function(e,t,A){var i=e._rgb,n=i[0],a=i[1],r=i[2],s=t._rgb,o=s[0],l=s[1],c=s[2];return new Pi(Vi(Ki(n,2)*(1-A)+Ki(o,2)*A),Vi(Ki(a,2)*(1-A)+Ki(l,2)*A),Vi(Ki(r,2)*(1-A)+Ki(c,2)*A),"rgb")};var Gi=w;Si.lab=function(e,t,A){var i=e.lab(),n=t.lab();return new Gi(i[0]+A*(n[0]-i[0]),i[1]+A*(n[1]-i[1]),i[2]+A*(n[2]-i[2]),"lab")};var Wi=w,Xi=function(e,t,A,i){var n,a,r,s,o,l,c,d,h,u,g,p,m;return"hsl"===i?(r=e.hsl(),s=t.hsl()):"hsv"===i?(r=e.hsv(),s=t.hsv()):"hcg"===i?(r=e.hcg(),s=t.hcg()):"hsi"===i?(r=e.hsi(),s=t.hsi()):"lch"===i||"hcl"===i?(i="hcl",r=e.hcl(),s=t.hcl()):"oklch"===i&&(r=e.oklch().reverse(),s=t.oklch().reverse()),"h"!==i.substr(0,1)&&"oklch"!==i||(o=(n=r)[0],c=n[1],h=n[2],l=(a=s)[0],d=a[1],u=a[2]),isNaN(o)||isNaN(l)?isNaN(o)?isNaN(l)?p=Number.NaN:(p=l,1!=h&&0!=h||"hsv"==i||(g=d)):(p=o,1!=u&&0!=u||"hsv"==i||(g=c)):p=o+A*(l>o&&l-o>180?l-(o+360):l180?l+360-o:l-o),void 0===g&&(g=c+A*(d-c)),m=h+A*(u-h),new Wi("oklch"===i?[m,g,p]:[p,g,m],i)},zi=Xi,Yi=function(e,t,A){return zi(e,t,A,"lch")};Si.lch=Yi,Si.hcl=Yi;var ji=w;Si.num=function(e,t,A){var i=e.num(),n=t.num();return new ji(i+A*(n-i),"num")};var Ji=Xi;Si.hcg=function(e,t,A){return Ji(e,t,A,"hcg")};var Zi=Xi;Si.hsi=function(e,t,A){return Zi(e,t,A,"hsi")};var qi=Xi;Si.hsl=function(e,t,A){return qi(e,t,A,"hsl")};var _i=Xi;Si.hsv=function(e,t,A){return _i(e,t,A,"hsv")};var $i=w;Si.oklab=function(e,t,A){var i=e.oklab(),n=t.oklab();return new $i(i[0]+A*(n[0]-i[0]),i[1]+A*(n[1]-i[1]),i[2]+A*(n[2]-i[2]),"oklab")};var en=Xi;Si.oklch=function(e,t,A){return en(e,t,A,"oklch")};var tn=w,An=c.clip_rgb,nn=Math.pow,an=Math.sqrt,rn=Math.PI,sn=Math.cos,on=Math.sin,ln=Math.atan2,cn=function(e,t){for(var A=e.length,i=[0,0,0,0],n=0;n.9999999&&(i[3]=1),new tn(An(i))},dn=B,hn=c.type,un=Math.pow,gn=function(e){var t="rgb",A=dn("#ccc"),i=0,n=[0,1],a=[],r=[0,0],s=!1,o=[],l=!1,c=0,d=1,h=!1,u={},g=!0,p=1,m=function(e){if((e=e||["#fff","#000"])&&"string"===hn(e)&&dn.brewer&&dn.brewer[e.toLowerCase()]&&(e=dn.brewer[e.toLowerCase()]),"array"===hn(e)){1===e.length&&(e=[e[0],e[0]]),e=e.slice(0);for(var t=0;t2?function(e){if(null!=s){for(var t=s.length-1,A=0;A=s[A];)A++;return A-1}return 0}(e)/(s.length-2):d!==c?(e-c)/(d-c):1,l=f(l),i||(l=w(l)),1!==p&&(l=un(l,p)),l=r[0]+l*(1-r[0]-r[1]),l=Math.min(1,Math.max(0,l));var h=Math.floor(1e4*l);if(g&&u[h])n=u[h];else{if("array"===hn(o))for(var m=0;m=B&&m===a.length-1){n=o[m];break}if(l>B&&l2){var l=e.map((function(t,A){return A/(e.length-1)})),h=e.map((function(e){return(e-c)/(d-c)}));h.every((function(e,t){return l[t]===e}))||(f=function(e){if(e<=0||e>=1)return e;for(var t=0;e>=h[t+1];)t++;var A=(e-h[t])/(h[t+1]-h[t]);return l[t]+A*(l[t+1]-l[t])})}}return n=[c,d],b},b.mode=function(e){return arguments.length?(t=e,E(),b):t},b.range=function(e,t){return m(e),b},b.out=function(e){return l=e,b},b.spread=function(e){return arguments.length?(i=e,b):i},b.correctLightness=function(e){return null==e&&(e=!0),h=e,E(),w=h?function(e){for(var t=B(0,!0).lab()[0],A=B(1,!0).lab()[0],i=t>A,n=B(e,!0).lab()[0],a=t+(A-t)*e,r=n-a,s=0,o=1,l=20;Math.abs(r)>.01&&l-- >0;)i&&(r*=-1),r<0?(s=e,e+=.5*(o-e)):(o=e,e+=.5*(s-e)),r=(n=B(e,!0).lab()[0])-a;return e}:function(e){return e},b},b.padding=function(e){return null!=e?("number"===hn(e)&&(e=[e,e]),r=e,b):r},b.colors=function(t,A){arguments.length<2&&(A="hex");var i=[];if(0===arguments.length)i=o.slice(0);else if(1===t)i=[b(.5)];else if(t>1){var a=n[0],r=n[1]-a;i=pn(0,t,!1).map((function(e){return b(a+e/(t-1)*r)}))}else{e=[];var l=[];if(s&&s.length>2)for(var c=1,d=s.length,h=1<=d;h?cd;h?c++:c--)l.push(.5*(s[c-1]+s[c]));else l=n;i=l.map((function(e){return b(e)}))}return dn[A]&&(i=i.map((function(e){return e[A]()}))),i},b.cache=function(e){return null!=e?(g=e,b):g},b.gamma=function(e){return null!=e?(p=e,b):p},b.nodata=function(e){return null!=e?(A=dn(e),b):A},b};function pn(e,t,A){for(var i=[],n=ea;n?r++:r--)i.push(r);return i}var mn=w,wn=gn,fn=B,Bn=function(e,t,A){if(!Bn[A])throw new Error("unknown blend mode "+A);return Bn[A](e,t)},En=function(e){return function(t,A){var i=fn(A).rgb(),n=fn(t).rgb();return fn.rgb(e(i,n))}},bn=function(e){return function(t,A){var i=[];return i[0]=e(t[0],A[0]),i[1]=e(t[1],A[1]),i[2]=e(t[2],A[2]),i}};Bn.normal=En(bn((function(e){return e}))),Bn.multiply=En(bn((function(e,t){return e*t/255}))),Bn.screen=En(bn((function(e,t){return 255*(1-(1-e/255)*(1-t/255))}))),Bn.overlay=En(bn((function(e,t){return t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255))}))),Bn.darken=En(bn((function(e,t){return e>t?t:e}))),Bn.lighten=En(bn((function(e,t){return e>t?e:t}))),Bn.dodge=En(bn((function(e,t){return 255===e||(e=t/255*255/(1-e/255))>255?255:e}))),Bn.burn=En(bn((function(e,t){return 255*(1-(1-t/255)/(e/255))})));for(var vn=Bn,Cn=c.type,yn=c.clip_rgb,Fn=c.TWOPI,xn=Math.pow,Sn=Math.sin,Tn=Math.cos,In=B,Un=w,Qn=Math.floor,kn=Math.random,On=r,Mn=Math.log,Ln=Math.pow,Dn=Math.floor,Nn=Math.abs,Hn=function(e,t){void 0===t&&(t=null);var A={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===On(e)&&(e=Object.values(e)),e.forEach((function(e){t&&"object"===On(e)&&(e=e[t]),null==e||isNaN(e)||(A.values.push(e),A.sum+=e,eA.max&&(A.max=e),A.count+=1)})),A.domain=[A.min,A.max],A.limits=function(e,t){return Rn(A,e,t)},A},Rn=function(e,t,A){void 0===t&&(t="equal"),void 0===A&&(A=7),"array"==On(e)&&(e=Hn(e));var i=e.min,n=e.max,a=e.values.sort((function(e,t){return e-t}));if(1===A)return[i,n];var r=[];if("c"===t.substr(0,1)&&(r.push(i),r.push(n)),"e"===t.substr(0,1)){r.push(i);for(var s=1;s 0");var o=Math.LOG10E*Mn(i),l=Math.LOG10E*Mn(n);r.push(i);for(var c=1;c200&&(B=!1)}for(var L={},D=0;D=360;)g-=360;r[u]=g}else r[u]=r[u]/s[u];return h/=i,new tn(r,t).alpha(h>.99999?1:h,!0)},la.bezier=function(e){var t=function(e){var t,A,i,n,a,r,s;if(e=e.map((function(e){return new mn(e)})),2===e.length)t=e.map((function(e){return e.lab()})),a=t[0],r=t[1],n=function(e){var t=[0,1,2].map((function(t){return a[t]+e*(r[t]-a[t])}));return new mn(t,"lab")};else if(3===e.length)A=e.map((function(e){return e.lab()})),a=A[0],r=A[1],s=A[2],n=function(e){var t=[0,1,2].map((function(t){return(1-e)*(1-e)*a[t]+2*(1-e)*e*r[t]+e*e*s[t]}));return new mn(t,"lab")};else if(4===e.length){var o;i=e.map((function(e){return e.lab()})),a=i[0],r=i[1],s=i[2],o=i[3],n=function(e){var t=[0,1,2].map((function(t){return(1-e)*(1-e)*(1-e)*a[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*s[t]+e*e*e*o[t]}));return new mn(t,"lab")}}else{if(!(e.length>=5))throw new RangeError("No point in running bezier with only one color.");var l,c,d;l=e.map((function(e){return e.lab()})),d=e.length-1,c=function(e){for(var t=[1,1],A=1;Ai?(A+.05)/(i+.05):(i+.05)/(A+.05)},la.deltaE=function(e,t,A,i,n){void 0===A&&(A=1),void 0===i&&(i=1),void 0===n&&(n=1);var a=function(e){return 360*e/(2*_n)},r=function(e){return 2*_n*e/360};e=new Kn(e),t=new Kn(t);var s=Array.from(e.lab()),o=s[0],l=s[1],c=s[2],d=Array.from(t.lab()),h=d[0],u=d[1],g=d[2],p=(o+h)/2,m=(Gn(Wn(l,2)+Wn(c,2))+Gn(Wn(u,2)+Wn(g,2)))/2,w=.5*(1-Gn(Wn(m,7)/(Wn(m,7)+Wn(25,7)))),f=l*(1+w),B=u*(1+w),E=Gn(Wn(f,2)+Wn(c,2)),b=Gn(Wn(B,2)+Wn(g,2)),v=(E+b)/2,C=a(Yn(c,f)),y=a(Yn(g,B)),F=C>=0?C:C+360,x=y>=0?y:y+360,S=jn(F-x)>180?(F+x+360)/2:(F+x)/2,T=1-.17*Jn(r(S-30))+.24*Jn(r(2*S))+.32*Jn(r(3*S+6))-.2*Jn(r(4*S-63)),I=x-F;I=jn(I)<=180?I:x<=F?I+360:I-360,I=2*Gn(E*b)*Zn(r(I)/2);var U=h-o,Q=b-E,k=1+.015*Wn(p-50,2)/Gn(20+Wn(p-50,2)),O=1+.045*v,M=1+.015*v*T,L=30*qn(-Wn((S-275)/25,2)),D=-2*Gn(Wn(v,7)/(Wn(v,7)+Wn(25,7)))*Zn(2*r(L)),N=Gn(Wn(U/(A*k),2)+Wn(Q/(i*O),2)+Wn(I/(n*M),2)+D*(Q/(i*O))*(I/(n*M)));return zn(0,Xn(100,N))},la.distance=function(e,t,A){void 0===A&&(A="lab"),e=new $n(e),t=new $n(t);var i=e.get(A),n=t.get(A),a=0;for(var r in i){var s=(i[r]||0)-(n[r]||0);a+=s*s}return Math.sqrt(a)},la.limits=Pn.limits,la.valid=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];try{return new(Function.prototype.bind.apply(ea,[null].concat(e))),!0}catch(e){return!1}},la.scales=ia,la.colors=dA,la.brewer=oa,la}();var chroma=chromaExports;function hexWithAlpha(e,t){return chroma(e).alpha(t).css()}function has(e,t){return e.hasAttribute(t)}function get(e,t,A){return e.getAttribute(t)||A||""}function getNum(e,t,A){const i=Number(get(e,t));return Number.isNaN(i)?A||0:i}const attrHandlers={stroke:({el:e,exVals:t})=>{const A=get(e,"stroke");t.strokeColor=has(e,"stroke-opacity")?hexWithAlpha(A,getNum(e,"stroke-opacity")):A},"stroke-opacity":({el:e,exVals:t})=>{t.strokeColor=hexWithAlpha(get(e,"stroke","#000000"),getNum(e,"stroke-opacity"))},"stroke-width":({el:e,exVals:t})=>{t.strokeWidth=getNum(e,"stroke-width")},fill:({el:e,exVals:t})=>{const A=get(e,"fill");t.backgroundColor="none"===A?"#00000000":A},"fill-opacity":({el:e,exVals:t})=>{t.backgroundColor=hexWithAlpha(get(e,"fill","#000000"),getNum(e,"fill-opacity"))},opacity:({el:e,exVals:t})=>{t.opacity=getNum(e,"opacity",100)}};function presAttrsToElementValues(e){return[...e.attributes].reduce(((t,A)=>{const i=A.name;return Object.keys(attrHandlers).includes(i)&&attrHandlers[i]({el:e,exVals:t}),t}),{})}function filterAttrsToElementValues(e){const t={};return has(e,"x")&&(t.x=getNum(e,"x")),has(e,"y")&&(t.y=getNum(e,"y")),has(e,"width")&&(t.width=getNum(e,"width")),has(e,"height")&&(t.height=getNum(e,"height")),t}function pointsAttrToPoints(e){let t=[];return has(e,"points")&&(t=get(e,"points").split(" ").map((e=>e.split(",").map(parseFloat)))),t}function getGroupAttrs(e){return e.reduce(((e,{element:t})=>{const A=presAttrsToElementValues(t);return Object.assign(Object.assign({},e),A)}),{})}class Group{constructor(e){this.id=randomId(),this.element=e}}function createExElement(){return{id:randomId(),x:0,y:0,strokeColor:"#000000",backgroundColor:"#000000",fillStyle:"solid",strokeWidth:1,strokeStyle:"solid",roundness:null,roughness:0,opacity:100,width:0,height:0,angle:0,seed:Math.floor(random.next()*2**31),version:0,versionNonce:0,isDeleted:!1,groupIds:[],boundElementIds:null}}function createExRect(){return Object.assign(Object.assign({},createExElement()),{type:"rectangle"})}function createExLine(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}function createExEllipse(){return Object.assign(Object.assign({},createExElement()),{type:"ellipse"})}function createExDraw(){return Object.assign(Object.assign({},createExElement()),{type:"line",points:[]})}const transformFunctions={matrix:"matrix",matrix3d:"matrix3d",perspective:"perspective",rotate:"rotate",rotate3d:"rotate3d",rotateX:"rotateX",rotateY:"rotateY",rotateZ:"rotateZ",scale:"scale",scale3d:"scale3d",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",skew:"skew",skewX:"skewX",skewY:"skewY",translate:"translate",translate3d:"translate3d",translateX:"translateX",translateY:"translateY",translateZ:"translateZ"},transformFunctionsArr=Object.keys(transformFunctions),defaultUnits={matrix:"",matrix3d:"",perspective:"perspective",rotate:"deg",rotate3d:"deg",rotateX:"deg",rotateY:"deg",rotateZ:"deg",scale:"",scale3d:"",scaleX:"",scaleY:"",scaleZ:"",skew:"skew",skewX:"deg",skewY:"deg",translate:"px",translate3d:"px",translateX:"px",translateY:"px",translateZ:"px"},svgTransformToCSSTransform=e=>{const t=e.match(/(\w+)\(([^)]*)\)/g);if(!t)return"";const A=t.map((e=>{const t=e.split("(")[0];if(!t)throw new Error("Unable to find transform name");if(!transformFunctionsArr.includes(t))throw new Error(`transform function name "${t}" is not valid`);const A=e.match(/([-+]?[0-9]*\.?[0-9]+)([a-z])*/g);if(!A)return{type:t,values:[]};let i=A.map((e=>{const[A,i]=e.matchAll(/([-+]?[0-9]*\.?[0-9]+)|([a-z])*/g);return{unit:i[0]||defaultUnits[t],value:A[0]}}));return i&&"rotate"===t&&(null==i?void 0:i.length)>1&&(i=[i[0]]),{type:t,values:i}}));return A.map((({type:e,values:t})=>`${e}(${t.map((({unit:e,value:t})=>`${t}${e}`)).join(", ")})`)).join(" ")};function getElementMatrix(e){if(e.hasAttribute("transform")){const t=new DOMMatrix(svgTransformToCSSTransform(e.getAttribute("transform")||""));return multiply(create$1(),create$1(),t.toFloat32Array())}return create$1()}function getTransformMatrix(e,t){return t.map((({element:e})=>getElementMatrix(e))).concat([getElementMatrix(e)]).reduce(((e,t)=>multiply(e,e,t)),create$1())}function transformPoints(e,t){return e.map((([e,A])=>{const[i,n]=transformMat4(create(),fromValues(e,A,1),t);return[i,n]}))}function distance(e,t){return Math.sqrt(distanceSq(e,t))}function distanceSq(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function distanceToSegmentSq(e,t,A){const i=distanceSq(t,A);if(0===i)return distanceSq(e,t);let n=((e[0]-t[0])*(A[0]-t[0])+(e[1]-t[1])*(A[1]-t[1]))/i;return n=Math.max(0,Math.min(1,n)),distanceSq(e,lerp(t,A,n))}function lerp(e,t,A){return[e[0]+(t[0]-e[0])*A,e[1]+(t[1]-e[1])*A]}function flatness(e,t){const A=e[t+0],i=e[t+1],n=e[t+2],a=e[t+3];let r=3*i[0]-2*A[0]-a[0];r*=r;let s=3*i[1]-2*A[1]-a[1];s*=s;let o=3*n[0]-2*a[0]-A[0];o*=o;let l=3*n[1]-2*a[1]-A[1];return l*=l,r1&&n.push(A):n.push(A),n.push(e[t+3])}else{const i=.5,a=e[t+0],r=e[t+1],s=e[t+2],o=e[t+3],l=lerp(a,r,i),c=lerp(r,s,i),d=lerp(s,o,i),h=lerp(l,c,i),u=lerp(c,d,i),g=lerp(h,u,i);getPointsOnBezierCurveWithSplitting([a,l,h,g],0,A,n),getPointsOnBezierCurveWithSplitting([g,u,d,o],0,A,n)}return n}function simplify(e,t){return simplifyPoints(e,0,e.length,t)}function simplifyPoints(e,t,A,i,n){const a=n||[],r=e[t],s=e[A-1];let o=0,l=1;for(let i=t+1;io&&(o=t,l=i)}return Math.sqrt(o)>i?(simplifyPoints(e,t,l+1,i,a),simplifyPoints(e,l,A,i,a)):(a.length||a.push(r),a.push(s)),a}function pointsOnBezierCurves(e,t=.15,A){const i=[],n=(e.length-1)/3;for(let A=0;A0?simplifyPoints(i,0,i.length,A):i}const COMMAND=0,NUMBER=1,EOD=2,PARAMS={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function tokenize(e){const t=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return t[t.length]={type:2,text:""},t}function isType(e,t){return e.type===t}function parsePath(e){const t=[],A=tokenize(e);let i="BOD",n=0,a=A[n];for(;!isType(a,2);){let r=0;const s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return parsePath("M0,0"+e);n++,r=PARAMS[a.text],i=a.text}else isType(a,1)?r=PARAMS[i]:(n++,r=PARAMS[a.text],i=a.text);if(!(n+ri%2?e+A:e+t));a.push({key:"C",data:e}),t=e[4],A=e[5];break}case"Q":a.push({key:"Q",data:[...s]}),t=s[2],A=s[3];break;case"q":{const e=s.map(((e,i)=>i%2?e+A:e+t));a.push({key:"Q",data:e}),t=e[2],A=e[3];break}case"A":a.push({key:"A",data:[...s]}),t=s[5],A=s[6];break;case"a":t+=s[5],A+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],t,A]});break;case"H":a.push({key:"H",data:[...s]}),t=s[0];break;case"h":t+=s[0],a.push({key:"H",data:[t]});break;case"V":a.push({key:"V",data:[...s]}),A=s[0];break;case"v":A+=s[0],a.push({key:"V",data:[A]});break;case"S":a.push({key:"S",data:[...s]}),t=s[2],A=s[3];break;case"s":{const e=s.map(((e,i)=>i%2?e+A:e+t));a.push({key:"S",data:e}),t=e[2],A=e[3];break}case"T":a.push({key:"T",data:[...s]}),t=s[0],A=s[1];break;case"t":t+=s[0],A+=s[1],a.push({key:"T",data:[t,A]});break;case"Z":case"z":a.push({key:"Z",data:[]}),t=i,A=n}return a}function normalize(e){const t=[];let A="",i=0,n=0,a=0,r=0,s=0,o=0;for(const{key:l,data:c}of e){switch(l){case"M":t.push({key:"M",data:[...c]}),[i,n]=c,[a,r]=c;break;case"C":t.push({key:"C",data:[...c]}),i=c[4],n=c[5],s=c[2],o=c[3];break;case"L":t.push({key:"L",data:[...c]}),[i,n]=c;break;case"H":i=c[0],t.push({key:"L",data:[i,n]});break;case"V":n=c[0],t.push({key:"L",data:[i,n]});break;case"S":{let e=0,a=0;"C"===A||"S"===A?(e=i+(i-s),a=n+(n-o)):(e=i,a=n),t.push({key:"C",data:[e,a,...c]}),s=c[0],o=c[1],i=c[2],n=c[3];break}case"T":{const[e,a]=c;let r=0,l=0;"Q"===A||"T"===A?(r=i+(i-s),l=n+(n-o)):(r=i,l=n);const d=i+2*(r-i)/3,h=n+2*(l-n)/3,u=e+2*(r-e)/3,g=a+2*(l-a)/3;t.push({key:"C",data:[d,h,u,g,e,a]}),s=r,o=l,i=e,n=a;break}case"Q":{const[e,A,a,r]=c,l=i+2*(e-i)/3,d=n+2*(A-n)/3,h=a+2*(e-a)/3,u=r+2*(A-r)/3;t.push({key:"C",data:[l,d,h,u,a,r]}),s=e,o=A,i=a,n=r;break}case"A":{const e=Math.abs(c[0]),A=Math.abs(c[1]),a=c[2],r=c[3],s=c[4],o=c[5],l=c[6];0===e||0===A?(t.push({key:"C",data:[i,n,o,l,o,l]}),i=o,n=l):i===o&&n===l||(arcToCubicCurves(i,n,o,l,e,A,a,r,s).forEach((function(e){t.push({key:"C",data:e})})),i=o,n=l);break}case"Z":t.push({key:"Z",data:[]}),i=a,n=r}A=l}return t}function degToRad(e){return Math.PI*e/180}function rotate(e,t,A){return[e*Math.cos(A)-t*Math.sin(A),e*Math.sin(A)+t*Math.cos(A)]}function arcToCubicCurves(e,t,A,i,n,a,r,s,o,l){const c=degToRad(r);let d=[],h=0,u=0,g=0,p=0;if(l)[h,u,g,p]=l;else{[e,t]=rotate(e,t,-c),[A,i]=rotate(A,i,-c);const r=(e-A)/2,l=(t-i)/2;let d=r*r/(n*n)+l*l/(a*a);d>1&&(d=Math.sqrt(d),n*=d,a*=d);const m=n*n,w=a*a,f=m*w-m*l*l-w*r*r,B=m*l*l+w*r*r,E=(s===o?-1:1)*Math.sqrt(Math.abs(f/B));g=E*n*l/a+(e+A)/2,p=E*-a*r/n+(t+i)/2,h=Math.asin(parseFloat(((t-p)/a).toFixed(9))),u=Math.asin(parseFloat(((i-p)/a).toFixed(9))),eu&&(h-=2*Math.PI),!o&&u>h&&(u-=2*Math.PI)}let m=u-h;if(Math.abs(m)>120*Math.PI/180){const e=u,t=A,s=i;u=o&&u>h?h+120*Math.PI/180*1:h+120*Math.PI/180*-1,d=arcToCubicCurves(A=g+n*Math.cos(u),i=p+a*Math.sin(u),t,s,n,a,r,0,o,[u,e,g,p])}m=u-h;const w=Math.cos(h),f=Math.sin(h),B=Math.cos(u),E=Math.sin(u),b=Math.tan(m/4),v=4/3*n*b,C=4/3*a*b,y=[e,t],F=[e+v*f,t-C*w],x=[A+v*E,i-C*B],S=[A,i];if(F[0]=2*y[0]-F[0],F[1]=2*y[1]-F[1],l)return[F,x,S].concat(d);{d=[F,x,S].concat(d);const e=[];for(let t=0;t{s.length>=4&&a.push(...pointsOnBezierCurves(s,t)),s=[]},l=()=>{o(),a.length&&(n.push(a),a=[])};for(const{key:e,data:t}of i)switch(e){case"M":l(),r=[t[0],t[1]],a.push(r);break;case"L":o(),a.push([t[0],t[1]]);break;case"C":if(!s.length){const e=a.length?a[a.length-1]:r;s.push([e[0],e[1]])}s.push([t[0],t[1]]),s.push([t[2],t[3]]),s.push([t[4],t[5]]);break;case"Z":o(),a.push([r[0],r[1]])}if(l(),!A)return n;const c=[];for(const e of n){const t=simplify(e,A);t.length&&c.push(t)}return c}const SUPPORTED_TAGS=["svg","path","g","use","circle","ellipse","rect","polyline","polygon"],nodeValidator=e=>SUPPORTED_TAGS.includes(e.tagName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;function createTreeWalker(e){return document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:nodeValidator})}const presAttrs=(e,t)=>Object.assign(Object.assign(Object.assign({},getGroupAttrs(t)),presAttrsToElementValues(e)),filterAttrsToElementValues(e)),skippedUseAttrs=["id"],allwaysPassedUseAttrs=["x","y","width","height","href","xlink:href"],getDefElWithCorrectAttrs=(e,t)=>[...t.attributes].reduce(((A,i)=>(skippedUseAttrs.includes(i.value)||e.hasAttribute(i.name)&&!allwaysPassedUseAttrs.includes(i.name)||A.setAttribute(i.name,t.getAttribute(i.name)||""),A)),e.cloneNode()),walkers={svg:e=>{walk(e,e.tw.nextNode())},g:e=>{const t=Object.assign(Object.assign({},e),{tw:createTreeWalker(e.tw.currentNode),groups:[...e.groups,new Group(e.tw.currentNode)]});walk(t,t.tw.nextNode()),walk(e,e.tw.nextSibling())},use:e=>{const{root:t,tw:A,scene:i}=e,n=A.currentNode,a=n.getAttribute("href")||n.getAttribute("xlink:href");if(!a)throw new Error("unable to get id of use element");const r=t.querySelector(a);if(!r)throw new Error(`unable to find def element with id: ${a}`);const s=new ExcalidrawScene,o=getDefElWithCorrectAttrs(r,n);walk(Object.assign(Object.assign({},e),{scene:s,tw:createTreeWalker(o)}),o);const l=s.elements.pop();l&&i.elements.push(l),walk(e,e.tw.nextNode())},circle:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=getNum(n,"r",0),r=2*a,s=getNum(n,"x",0)+getNum(n,"cx",0)-a,o=getNum(n,"y",0)+getNum(n,"cy",0)-a,l=getTransformMatrix(n,i),c=fromValues$1(r,0,0,0,0,r,0,0,0,0,1,0,s,o,0,1),d=multiply(create$1(),l,c),h=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],groupIds:i.map((e=>e.id))});A.elements.push(h),walk(e,t.nextNode())},ellipse:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=getNum(n,"rx",0),r=getNum(n,"ry",0),s=getNum(n,"cx",0),o=getNum(n,"cy",0),l=getNum(n,"x",0)+s-a,c=getNum(n,"y",0)+o-r,d=2*a,h=2*r,u=getTransformMatrix(n,i),g=fromValues$1(d,0,0,0,0,h,0,0,0,0,1,0,l,c,0,1),p=multiply(create$1(),u,g),m=Object.assign(Object.assign(Object.assign({},createExEllipse()),presAttrs(n,i)),{x:p[12],y:p[13],width:p[0],height:p[5],groupIds:i.map((e=>e.id))});A.elements.push(m),walk(e,t.nextNode())},line:e=>{walk(e,e.tw.nextNode())},polygon:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=transformPoints(pointsAttrToPoints(n),getTransformMatrix(n,i)),r=a[0][0],s=a[0][1],o=a.map((([e,t])=>[e-r,t-s])),[l,c]=dimensionsFromPoints(o),d=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:o.concat([[0,0]]),x:r,y:s,width:l,height:c});A.elements.push(d),walk(e,e.tw.nextNode())},polyline:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=getTransformMatrix(n,i),r=transformPoints(pointsAttrToPoints(n),a),s=r[0][0],o=r[0][1],l=r.map((([e,t])=>[e-s,t-o])),[c,d]=dimensionsFromPoints(l),h=has(n,"fill"),u=get(n,"fill"),g=!h||h&&"none"!==u,p=Object.assign(Object.assign(Object.assign(Object.assign({},createExLine()),getGroupAttrs(i)),presAttrsToElementValues(n)),{points:l.concat(g?[[0,0]]:[]),x:s,y:o,width:c,height:d});A.elements.push(p),walk(e,e.tw.nextNode())},rect:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=getNum(n,"x",0),r=getNum(n,"y",0),s=getNum(n,"width",0),o=getNum(n,"height",0),l=getTransformMatrix(n,i),c=fromValues$1(s,0,0,0,0,o,0,0,0,0,1,0,a,r,0,1),d=multiply(create$1(),l,c),h=n.hasAttribute("rx")||n.hasAttribute("ry"),u=Object.assign(Object.assign(Object.assign({},createExRect()),presAttrs(n,i)),{x:d[12],y:d[13],width:d[0],height:d[5],roundness:h?{type:ROUNDNESS.LEGACY}:null});A.elements.push(u),walk(e,e.tw.nextNode())},path:e=>{const{tw:t,scene:A,groups:i}=e,n=t.currentNode,a=getTransformMatrix(n,i),r=pointsOnPath(get(n,"d")),s=get(n,"fill","black"),o=get(n,"fill-rule","nonzero");let l=[],c=randomId();switch(o){case"nonzero":let e="clockwise";l=r.map(((t,A)=>{const r=transformPoints(t,clone(a)),o=r[0][0],l=r[0][1],[d,h]=dimensionsFromPoints(r),u=r.map((([e,t])=>[e-o,t-l])),g=getWindingOrder(u);0===A&&(e=g,c=randomId());let p=s;return e!==g&&(p="#FFFFFF"),Object.assign(Object.assign(Object.assign(Object.assign({},createExDraw()),{strokeWidth:0,strokeColor:"#00000000"}),presAttrs(n,i)),{points:u,backgroundColor:p,width:d,height:h,x:o+getNum(n,"x",0),y:l+getNum(n,"y",0),groupIds:[c]})}));break;case"evenodd":l=r.map(((e,t)=>{const A=transformPoints(e,clone(a)),r=A[0][0],s=A[0][1],[o,l]=dimensionsFromPoints(A),d=A.map((([e,t])=>[e-r,t-s]));return 0===t&&(c=randomId()),Object.assign(Object.assign(Object.assign({},createExDraw()),presAttrs(n,i)),{points:d,width:o,height:l,x:r+getNum(n,"x",0),y:s+getNum(n,"y",0)})}))}A.elements=A.elements.concat(l),walk(e,t.nextNode())}};function walk(e,t){if(!t)return;const A=t.nodeName;walkers[A]&&walkers[A](e)}const svgToExcalidraw=e=>{const t=(new DOMParser).parseFromString(e,"image/svg+xml"),A=t.querySelectorAll("parsererror"),i=A.length>0;let n=null;if(i)console.error("There were errors while parsing the given SVG: ",[...A].map((e=>e.innerHTML)));else{const e=createTreeWalker(t),A=new ExcalidrawScene;walk({tw:e,scene:A,groups:[],root:t},e.nextNode()),n=A.elements}return{hasErrors:i,errors:i?A:null,content:n}};B([r$d,z,e$a,l$3,b$1,v,h$1,i$5,i$4,h,u,c$1,s]);const{determineFocusDistance:determineFocusDistance,intersectElementWithLine:intersectElementWithLine,getCommonBoundingBox:getCommonBoundingBox,getMaximumGroups:getMaximumGroups,measureText:measureText,getDefaultLineHeight:getDefaultLineHeight}=excalidrawLib,GAP=4;class ExcalidrawAutomate{get obsidian(){return obsidian_module__namespace}constructor(e,t){this.targetView=null,this.mostRecentMarkdownSVG=null,this.onViewUnloadHook=null,this.onViewModeChangeHook=null,this.onLinkHoverHook=null,this.onLinkClickHook=null,this.onDropHook=null,this.onCanvasColorChangeHook=null,this.activeScript=null,this.plugin=e,this.reset(),this.targetView=t}getViewLastPointerPosition(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.currentPosition:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getAPI(e){return new ExcalidrawAutomate(this.plugin,e)}setFillStyle(e){switch(e){case 0:return this.style.fillStyle="hachure","hachure";case 1:return this.style.fillStyle="cross-hatch","cross-hatch";default:return this.style.fillStyle="solid","solid"}}setStrokeStyle(e){switch(e){case 0:return this.style.strokeStyle="solid","solid";case 1:return this.style.strokeStyle="dashed","dashed";default:return this.style.strokeStyle="dotted","dotted"}}setStrokeSharpness(e){return 0===e?(this.style.roundness={type:ROUNDNESS.LEGACY},"round"):(this.style.roundness=null,"sharp")}setFontFamily(e){switch(e){case 1:return this.style.fontFamily=4,getFontFamily(4);case 2:return this.style.fontFamily=2,getFontFamily(2);case 3:return this.style.fontFamily=3,getFontFamily(3);default:return this.style.fontFamily=1,getFontFamily(1)}}setTheme(e){return 0===e?(this.canvas.theme="light","light"):(this.canvas.theme="dark","dark")}addToGroup(e){const t=nanoid();return e.forEach((e=>{var A,i;null===(i=null===(A=this.elementsDict[e])||void 0===A?void 0:A.groupIds)||void 0===i||i.push(t)})),t}async toClipboard(e){const t=e?await getTemplate(this.plugin,e,!1,new EmbeddedFilesLoader(this.plugin),0):null;let A=t?t.elements:[];A=A.concat(this.getElements()),navigator.clipboard.writeText(JSON.stringify({type:"excalidraw/clipboard",elements:A}))}async getSceneFromFile(e){if(!e)return errorMessage("file not found","getScene()"),null;if(!this.isExcalidrawFile(e))return errorMessage("file is not an Excalidraw file","getScene()"),null;const t=await getTemplate(this.plugin,e.path,!1,new EmbeddedFilesLoader(this.plugin),0);return{elements:t.elements,appState:t.appState}}getElements(){const e=[],t=Object.keys(this.elementsDict);for(let A=0;A{let t=e.plaintext?e.plaintext+"\n\n":"";const A=this.getElements().filter((e=>"text"===e.type));return t+="# Text Elements\n",A.forEach((e=>{var A,i;t+=`${null!==(A=e.rawText)&&void 0!==A?A:null!==(i=e.originalText)&&void 0!==i?i:e.text} ^${e.id}\n\n`})),this.getElements().filter((e=>"text"!==e.type&&e.link)).forEach((e=>{t+=`${e.link} ^${e.id}\n\n`})),t+=Object.keys(this.imagesDict).length>0?"\n# Embedded files\n":"",Object.keys(this.imagesDict).forEach((e=>{const A=this.imagesDict[e];A.latex?t+=`${e}: $$${A.latex}$$\n`:t+=`${e}: [[${A.file}]]\n`})),t})()+getMarkdownDrawingSection(JSON.stringify(G,null,"\t"),this.plugin.settings.compress))}async createSVG(e,t=!1,A,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!A&&(A={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createSVG(e,t,A,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}async createPNG(e,t=1,A,i,n,a){return n||(n=this.plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":this.plugin.settings.exportWithTheme?void 0:"light"),n&&!A&&(A={withBackground:this.plugin.settings.exportWithBackground,withTheme:!0}),i||(i=new EmbeddedFilesLoader(this.plugin,n?"dark"===n:void 0)),await createPNG(e,t,A,i,n,this.canvas.theme,this.canvas.viewBackgroundColor,this.getElements(),this.plugin,0,a,this.imagesDict)}wrapText(e,t){return wrapTextAtCharLength(e,t,this.plugin.settings.forceWrap)}boxedElement(e,t,A,i,n,a){return{id:e,type:t,x:A,y:i,width:n,height:a,angle:this.style.angle,strokeColor:this.style.strokeColor,backgroundColor:this.style.backgroundColor,fillStyle:this.style.fillStyle,strokeWidth:this.style.strokeWidth,strokeStyle:this.style.strokeStyle,roughness:this.style.roughness,opacity:this.style.opacity,roundness:this.style.strokeSharpness?"round"===this.style.strokeSharpness?{type:ROUNDNESS.ADAPTIVE_RADIUS}:null:this.style.roundness,seed:Math.floor(1e5*Math.random()),version:1,versionNonce:Math.floor(1e9*Math.random()),updated:Date.now(),isDeleted:!1,groupIds:[],boundElements:[],link:null,locked:!1}}addRect(e,t,A,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"rectangle",e,t,A,i),n}addDiamond(e,t,A,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"diamond",e,t,A,i),n}addEllipse(e,t,A,i){const n=nanoid();return this.elementsDict[n]=this.boxedElement(n,"ellipse",e,t,A,i),n}addBlob(e,t,A,i){const n=.5*i,a=.5*A,r=a/9,s=.8*n,o=[],l=(A,i)=>{const l=A+Math.random()*r-r/2;o.push([l+Math.random()*r-r/2+A%2*r/6+e,i*Math.sqrt(n*n*(1-l*l/(a*a)))+Math.random()*s-s/2+A%2*s/6+t])};let c;for(c=r/2-a;c<=a-r/2;c+=a/6)l(c,1);for(c=a-r/2;c>=r/2-a;c-=a/6)l(c,-1);o.push(o[0]);const d=this.addLine((e=>{const t=getLineBox(e),n=A/t.w,a=i/t.h;let r;for(r=0;r500){const e=500/Math.max(r.size.width,r.size.height);r.size.width=e*r.size.width,r.size.height=e*r.size.height}return this.elementsDict[n]=this.boxedElement(n,"image",e,t,r.size.width,r.size.height),this.elementsDict[n].fileId=s,this.elementsDict[n].scale=[1,1],n}async addLaTex(e,t,A){const i=nanoid(),n=await tex2dataURL(A,this.plugin);return n?(this.imagesDict[n.fileId]={mimeType:n.mimeType,id:n.fileId,dataURL:n.dataURL,created:n.created,file:null,hasSVGwithBitmap:!1,latex:A},this.elementsDict[i]=this.boxedElement(i,"image",e,t,n.size.width,n.size.height),this.elementsDict[i].fileId=n.fileId,this.elementsDict[i].scale=[1,1],i):null}connectObjects(e,t,A,i,n){if(!this.elementsDict[e]||!this.elementsDict[A])return;if(["line","arrow","freedraw"].includes(this.elementsDict[e].type)||["line","arrow","freedraw"].includes(this.elementsDict[A].type))return;const a=(null==n?void 0:n.padding)?n.padding:10,r=(null==n?void 0:n.numberOfPoints)?n.numberOfPoints:0,s=(e,t)=>{switch(e){case"bottom":return[(t.x+(t.x+t.width))/2,t.y+t.height+a];case"left":return[t.x-a,(t.y+(t.y+t.height))/2];case"right":return[t.x+t.width+a,(t.y+(t.y+t.height))/2];default:return[(t.x+(t.x+t.width))/2,t.y-a]}};let o,l,c,d;const h=this.elementsDict[e],u=this.elementsDict[A];if(!t||!i){const e=h.x+h.width/2,A=u.x+u.width/2,n=h.y+h.height/2,a=u.y+u.height/2;if(!t){const t=intersectElementWithLine(h,[A,a],[e,n],4);0===t.length?[o,l]=[e,n]:[o,l]=t[0]}if(!i){const t=intersectElementWithLine(u,[e,n],[A,a],4);0===t.length?[c,d]=[A,a]:[c,d]=t[0]}}t&&([o,l]=s(t,this.elementsDict[e])),i&&([c,d]=s(i,this.elementsDict[A]));const g=r+2,p=[];for(let e=0;eMath.PI/2&&(i-=Math.PI),this.style.angle=i;const a=this.addText(A.x+A.points[1][0]/2-n.width/2,A.y+A.points[1][1]/2-n.height,t);return this.style.angle=0,a}clear(){this.elementsDict={},this.imagesDict={}}reset(){this.clear(),this.activeScript=null,this.style={strokeColor:"#000000",backgroundColor:"transparent",angle:0,fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,roundness:null,fontFamily:1,fontSize:20,textAlign:"left",verticalAlign:"top",startArrowHead:null,endArrowHead:"arrow"},this.canvas={theme:"light",viewBackgroundColor:"#FFFFFF",gridSize:0}}isExcalidrawFile(e){return this.plugin.isExcalidrawFile(e)}setView(e){if(!e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(e instanceof ExcalidrawView)this.targetView=e;else{const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}}if("active"==e){const e=app.workspace.getActiveViewOfType(ExcalidrawView);if(!(e instanceof ExcalidrawView))return;this.targetView=e}if("first"==e){const e=app.workspace.getLeavesOfType("excalidraw");if(!e||0==e.length)return;this.targetView=e[0].view}return e instanceof ExcalidrawView&&(this.targetView=e),this.targetView}getExcalidrawAPI(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.excalidrawAPI:(errorMessage("targetView not set","getExcalidrawAPI()"),null)}getViewElements(){var e;if(!this.targetView||!(null===(e=this.targetView)||void 0===e?void 0:e._loaded))return errorMessage("targetView not set","getViewElements()"),[];const t=this.targetView.excalidrawAPI;return t?t.getSceneElements():[]}deleteViewElements(e){var t,A,i;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return errorMessage("targetView not set","deleteViewElements()"),!1;const n=null===(i=null===(A=this.targetView)||void 0===A?void 0:A.excalidrawRef)||void 0===i?void 0:i.current;if(!n)return!1;const a=n.getSceneElements(),r=n.getAppState();return this.targetView.updateScene({elements:a.filter((t=>!e.includes(t))),appState:r,commitToHistory:!0}),!0}getViewSelectedElement(){const e=this.getViewSelectedElements();return e?e[0]:null}getViewSelectedElements(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?this.targetView.getViewSelectedElements():(errorMessage("targetView not set","getViewSelectedElements()"),[])}getViewFileForImageElement(e){var t,A,i,n;return this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?e&&"image"===e.type?null===(n=null===(i=null===(A=this.targetView)||void 0===A?void 0:A.excalidrawData)||void 0===i?void 0:i.getFile(e.fileId))||void 0===n?void 0:n.file:(errorMessage("Must provide an image element as input","getViewFileForImageElement()"),null):(errorMessage("targetView not set","getViewFileForImageElement()"),null)}copyViewElementsToEAforEditing(e){e.forEach((e=>{this.elementsDict[e.id]=cloneElement(e)}))}setViewModeEnabled(e){var t,A,i;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView;n.updateScene({appState:{viewModeEnabled:e}}),null===(i=null===(A=n.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===i||i.setExcalidrawViewMode(e)}viewUpdateScene(e,t=!1){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?this.targetView.updateScene(e,t):errorMessage("targetView not set","viewToggleFullScreen()")}viewZoomToElements(e,t){var A;this.targetView&&(null===(A=this.targetView)||void 0===A?void 0:A._loaded)?this.targetView.zoomToElements(e,t):errorMessage("targetView not set","viewToggleFullScreen()")}viewToggleFullScreen(e=!1){var t,A,i;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return void errorMessage("targetView not set","viewToggleFullScreen()");const n=this.targetView,a=n.isFullscreen();e&&(n.updateScene({appState:{viewModeEnabled:!a},commitToHistory:!1}),null===(i=null===(A=this.targetView.toolsPanelRef)||void 0===A?void 0:A.current)||void 0===i||i.setExcalidrawViewMode(!a)),a?n.exitFullscreen():n.gotoFullscreen()}connectObjectWithViewSelectedElement(e,t,A,i){const n=this.getViewSelectedElement();if(!n)return!1;const a=n.id;return this.elementsDict[a]=n,this.connectObjects(e,t,a,A,i),delete this.elementsDict[a],!0}async addElementsToView(e=!1,t=!0,A=!1){var i;if(!this.targetView||!(null===(i=this.targetView)||void 0===i?void 0:i._loaded))return errorMessage("targetView not set","addElementsToView()"),!1;const n=this.getElements();return await this.targetView.addElements(n,e,t,this.imagesDict,A)}registerThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}deregisterThisAsViewEA(){var e;return this.targetView&&(null===(e=this.targetView)||void 0===e?void 0:e._loaded)?(this.targetView.setHookServer(this),!0):(errorMessage("targetView not set","addElementsToView()"),!1)}getEmbeddedFilesLoader(e){return new EmbeddedFilesLoader(this.plugin,e)}getExportSettings(e,t){return{withBackground:e,withTheme:t}}getBoundingBox(e){const t=getCommonBoundingBox(e);return{topX:t.minX,topY:t.minY,width:t.maxX-t.minX,height:t.maxY-t.minY}}getMaximumGroups(e){return getMaximumGroups(e)}getLargestElement(e){if(!e||0===e.length)return null;let t=e[0];const A=e=>e.height*e.width;let i=A(e[0]);for(let n=1;ni&&(i=a,t=e[n])}return t}getCommonGroupForElements(e){const t=e.map((e=>e.groupIds)).reduce(((e,t)=>t.filter((t=>e.includes(t)))));return t.length>0?t[0]:null}getElementsInTheSameGroupWithElement(e,t){if(!e||!t)return[];const A="text"===e.type&&e.containerId?t.filter((t=>t.id===e.containerId)):[];return 0===e.groupIds.length?1===A.length?[e,A[0]]:[e]:1===A.length?t.filter((t=>t.groupIds.some((t=>e.groupIds.includes(t)))||t===A[0])):t.filter((t=>t.groupIds.some((t=>e.groupIds.includes(t)))))}intersectElementWithLine(e,t,A,i){return intersectElementWithLine(e,t,A,i)}getScriptSettings(){var e;return this.activeScript?null!==(e=this.plugin.settings.scriptEngineSettings[this.activeScript])&&void 0!==e?e:{}:null}async setScriptSettings(e){if(!this.activeScript)return null;this.plugin.settings.scriptEngineSettings[this.activeScript]=e,await this.plugin.saveSettings()}openFileInNewOrAdjacentLeaf(e){if(!(e&&e instanceof obsidian_module.TFile))return null;if(!this.targetView)return null;const t=getNewOrAdjacentLeaf(this.plugin,this.targetView.leaf);return t.openFile(e,{active:!0}),t}measureText(e){var t,A;const i=_measureText(e,this.style.fontSize,this.style.fontFamily,getDefaultLineHeight(this.style.fontFamily));return{width:null!==(t=i.w)&&void 0!==t?t:0,height:null!==(A=i.h)&&void 0!==A?A:0}}async getOriginalImageSize(e){var t;if(!this.targetView||!(null===(t=this.targetView)||void 0===t?void 0:t._loaded))return errorMessage("targetView not set","getOriginalImageSize()"),null;if(!e||"image"!==e.type)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const A=this.targetView.excalidrawData.getFile(e.fileId);if(!A)return errorMessage("Please provide a single image element as input","getOriginalImageSize()"),null;const i="dark"===this.getExcalidrawAPI().getAppState().theme,n=A.getImage(i);return await getImageSize(n)}verifyMinimumPluginVersion(e){return verifyMinimumPluginVersion(e)}isExcalidrawView(e){return e instanceof ExcalidrawView}selectElementsInView(e){var t;this.targetView&&(null===(t=this.targetView)||void 0===t?void 0:t._loaded)?e&&0!==e.length&&this.getExcalidrawAPI().selectElements(e):errorMessage("targetView not set","selectElementsInView()")}generateElementId(){return nanoid()}cloneElement(e){const t=JSON.parse(JSON.stringify(e));return t.id=nanoid(),t}moveViewElementToZIndex(e,t){var A;if(!this.targetView||!(null===(A=this.targetView)||void 0===A?void 0:A._loaded))return void errorMessage("targetView not set","moveViewElementToZIndex()");const i=this.getExcalidrawAPI(),n=this.getViewElements(),a=n.filter((t=>t.id===e));if(0===a.length)return void errorMessage(`Element (id: ${e}) not found`,"moveViewElementToZIndex");if(t>=n.length)return void i.bringToFront(a);if(t<0)return void i.sendToBack(a);const r=n.indexOf(a[0]);n.splice(t,0,n.splice(r,1)[0]),this.targetView.updateScene({elements:n,commitToHistory:!0})}hexStringToRgb(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}rgbToHexString(e){return O$1({r:e[0],g:e[1],b:e[2]}).stringHEX({alpha:!1})}hslToRgb(e){const t=O$1({h:e[0],s:e[1],l:e[2]});return[t.red,t.green,t.blue]}rgbToHsl(e){const t=O$1({r:e[0],g:e[1],b:e[2]});return[t.hue,t.saturation,t.lightness]}colorNameToHex(e){return COLOR_NAMES.has(e.toLowerCase().trim())?COLOR_NAMES.get(e.toLowerCase().trim()):e.trim()}getCM(e){if(e)return"string"==typeof e&&(e=this.colorNameToHex(e)),O$1(e);log("Creates a CM object. Visit https://github.com/lbragile/ColorMaster for documentation.")}importSVG(e){const t=svgToExcalidraw(e);return t.hasErrors?(new obsidian_module.Notice(`There were errors while parsing the given SVG:\n${[...t.errors].map((e=>e.innerHTML))}`),!1):(this.copyViewElementsToEAforEditing(t.content),!0)}}async function initExcalidrawAutomate(e){await initFonts();const t=new ExcalidrawAutomate(e);return window.ExcalidrawAutomate=t,t}function destroyExcalidrawAutomate(){delete window.ExcalidrawAutomate}function normalizeLinePoints(e){const t=[],[A,i]=e[0];for(let n=0;n-1||t.search("excalidraw-plugin: locked\n")>-1;await a.loadData(t,l,o?TextMode.parsed:TextMode.raw);let d=t.search("# Text Elements\n");-1==d&&(d=t.search("# Drawing\n"));let h=a.scene;A&&await i.loadSceneFiles(a,(e=>{if(e&&0!==e.length){for(const t of e)t.hasSVGwithBitmap&&(c=!0),a.scene.files[t.id]={mimeType:t.mimeType,id:t.id,dataURL:t.dataURL,created:t.created};h=scaleLoadedImage(a.scene,e).scene}}),n);let u=h.elements;if(s.hasGroupref){const t=s.hasSectionref?getTextElementsMatchingQuery(h.elements,["# "+s.sectionref],!0):h.elements.filter((e=>e.id===s.blockref));t.length>0&&(u=e.ea.getElementsInTheSameGroupWithElement(t[0],h.elements))}return s.hasTaskbone&&(u=u.filter((t=>{var A;return"freedraw"===t.type||"image"===t.type&&!e.isExcalidrawFile(null===(A=a.getFile(t.fileId))||void 0===A?void 0:A.file)}))),{elements:u,appState:h.appState,frontmatter:t.substring(0,d),files:h.files,hasSVGwithBitmap:c}}return{elements:[],appState:{},frontmatter:null,files:[],hasSVGwithBitmap:c}}async function createPNG(e,t=1,A,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o)),c=null!=c?c:o.settings.exportPaddingSVG;const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s);const b=null!=d?d:{};return(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e})),await getPNG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==A?void 0:A.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==A?void 0:A.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c,t)}async function createSVG(e,t=!1,A,i,n,a,r,s=[],o,l,c,d){var h,u,g,p,m,w,f;i||(i=new EmbeddedFilesLoader(o));const B=e?await getTemplate(o,e,!0,i,l):null;let E=null!==(h=null==B?void 0:B.elements)&&void 0!==h?h:[];E=E.concat(s),c=null!=c?c:o.settings.exportPaddingSVG;const b=null!=d?d:{};(null==B?void 0:B.files)&&Object.values(B.files).forEach((e=>{b[e.id]=e}));const v=await getSVG({type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:E,appState:{theme:null!==(g=null!=n?n:null===(u=null==B?void 0:B.appState)||void 0===u?void 0:u.theme)&&void 0!==g?g:a,viewBackgroundColor:null!==(m=null===(p=null==B?void 0:B.appState)||void 0===p?void 0:p.viewBackgroundColor)&&void 0!==m?m:r},files:b},{withBackground:null!==(w=null==A?void 0:A.withBackground)&&void 0!==w?w:o.settings.exportWithBackground,withTheme:null!==(f=null==A?void 0:A.withTheme)&&void 0!==f?f:o.settings.exportWithTheme},c),C=getEmbeddedFilenameParts(e);if(!C.hasGroupref&&(C.hasBlockref||C.hasSectionref)){let e=C.hasSectionref?getTextElementsMatchingQuery(E,["# "+C.sectionref],!0):E.filter((e=>e.id===C.blockref));if(e.length>0){const t=e[0].containerId;t&&(e=e.concat(E.filter((e=>e.id===t))));const A=o.ea.getBoundingBox(e),i=o.ea.getBoundingBox(E);v.viewBox.baseVal.x=A.topX-i.topX,v.viewBox.baseVal.y=A.topY-i.topY,v.viewBox.baseVal.width=A.width+2*c,v.viewBox.baseVal.height=A.height+2*c}}return(null==B?void 0:B.hasSVGwithBitmap)&&v.setAttribute("hasbitmap","true"),t?embedFontsInSVG(v,o):v}function estimateLineBound(e){let t=1/0,A=1/0,i=-1/0,n=-1/0;for(const[a,r]of e)t=Math.min(t,a),A=Math.min(A,r),i=Math.max(i,a),n=Math.max(n,r);return[t,A,i,n]}function estimateBounds(e){const t=getCommonBoundingBox(e);return[t.minX,t.minY,t.maxX,t.maxY]}function repositionElementsToCursor(e,t,A=!1){const[i,n,a,r]=estimateBounds(e);let[s,o]=[0,0];return[s,o]=A?[t.x-(i+a)/2,t.y-(n+r)/2]:[t.x-i,t.y-n],e.forEach((e=>{e.x=e.x+s,e.y=e.y+o})),e}function errorMessage(e,t){switch(e){case"targetView not set":errorlog({where:"ExcalidrawAutomate",source:t,message:"targetView not set, or no longer active. Use setView before calling this function"});break;case"mobile not supported":errorlog({where:"ExcalidrawAutomate",source:t,message:"this function is not avalable on Obsidian Mobile"});break;default:errorlog({where:"ExcalidrawAutomate",source:t,message:null!=e?e:"unknown error"})}}const insertLaTeXToView=e=>{const t=e.plugin.app,A=e.plugin.ea;new Prompt(t,t$d("ENTER_LATEX"),e.plugin.settings.latexBoilerplate,"\\color{red}\\oint_S {E_n dA = \\frac{1}{{\\varepsilon _0 }}} Q_{inside}").openAndGetValue((async t=>{t&&(A.reset(),await A.addLaTex(0,0,t),A.setView(e),A.addElementsToView(!0,!1,!0))}))},search=async e=>{const t=e.plugin.ea;t.reset(),t.setView(e);const A=t.getViewElements().filter((e=>"text"===e.type));if(0===A.length)return;let i=await ScriptEngine.inputPrompt(e,e.plugin,e.plugin.app,"Search for","use quotation marks for exact match","");if(!i)return;const n=i.matchAll(/"(.*?)"/g);let a,r=[];for(;!(a=n.next()).done;)r.push(a.value[1]);i=i.replaceAll(/"(.*?)"/g,""),r=r.concat(i.split(" ").filter((e=>0!==e.length))),t.targetView.selectElementsMatchingQuery(A,r)},getTextElementsMatchingQuery=(e,t,A=!1)=>e&&0!==e.length&&t&&0!==t.length?e.filter((e=>"text"===e.type&&t.some((t=>{if(A){const A=e.rawText.toLowerCase().split("\n")[0].trim().match(/^#*(# .*)/);return!(!A||2!==A.length)&&A[1]===t.toLowerCase()}return e.rawText.toLowerCase().replaceAll("\n"," ").trim().match(t.toLowerCase())})))):[],cloneElement=e=>Object.assign(Object.assign({},e),{version:e.version+1,updated:Date.now(),versionNonce:Math.floor(1e9*Math.random())}),verifyMinimumPluginVersion=e=>PLUGIN_VERSION===e||isVersionNewerThanOther(PLUGIN_VERSION,e),URL$1="https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/index-new.md";class ScriptInstallPrompt extends obsidian_module.Modal{constructor(e){super(e.app),this.plugin=e}async onOpen(){this.contentEl.classList.add("excalidraw-scriptengine-install"),this.containerEl.classList.add("excalidraw-scriptengine-install");try{const e=await obsidian_module.request({url:URL$1});if(!e)return new obsidian_module.Notice("Error opening the Excalidraw Script Store page. Please double check that you can access the website. I've logged the link in developer console (press CTRL+SHIFT+i)",5e3),log(URL$1),void this.close();await obsidian_module.MarkdownRenderer.renderMarkdown(e,this.contentEl,"",this.plugin),this.contentEl.querySelectorAll("h1[data-heading],h2[data-heading],h3[data-heading]").forEach((e=>{e.setAttribute("id",e.getAttribute("data-heading"))})),this.contentEl.querySelectorAll("a.internal-link").forEach((e=>{e.removeAttribute("target")}))}catch(e){errorlog({where:"ScriptInstallPrompt.onOpen",error:e}),new obsidian_module.Notice("Could not open ScriptEngine repository"),this.close()}}onClose(){this.contentEl.empty()}}function r(e){var t,A,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.plugin.saveSettings();const e=this.plugin.settings.customPens[this.pen],t=this.view.excalidrawAPI;setPen(e,t),t.setActiveTool({type:"freedraw"})}}async createForm(){const e=e=>{let t="";if(COLOR_NAMES.has(e))return[COLOR_NAMES.get(e),t];const A=(new Option).style;if(A.color=e,A.color){const e=A.color.match(/^[^\d]*(\d*)[^\d]*(\d*)[^\d]*(\d*)[^\d]*([\d\.]*)?/);return e?(t=e[4]?(Math.round(255*parseFloat(e[4]))<<0).toString(16).padStart(2,"0"):"",[`#${(parseInt(e[1])<<0).toString(16).padStart(2,"0")}${(parseInt(e[2])<<0).toString(16).padStart(2,"0")}${(parseInt(e[3])<<0).toString(16).padStart(2,"0")}`,t]):[null,t]}return[null,t]},t=this.plugin.settings.customPens[this.pen],A=this.contentEl;let i,n,a,r,s;A.createEl("h1",{text:"Pen settings"}),new obsidian_module.Setting(A).setName("Pen type").setDesc("Select type of pen").addDropdown((e=>{e.addOption("default","Excalidraw Default").addOption("highlighter","Highlighter").addOption("finetip","Fine tip pen").addOption("fountain","Fountain pen").addOption("marker","Marker with Outline").addOption("thick-thin","Mindmap Thick-Thin").addOption("thin-thick-thin","Mindmap Thin-Thick-Thin").setValue(t.type).onChange((e=>{this.dirty=!0,t.type=e}))})).addButton((e=>e.setButtonText("Apply").onClick((()=>{this.dirty=!0,t.strokeColor=PENS[t.type].strokeColor,t.backgroundColor=PENS[t.type].backgroundColor,t.fillStyle=PENS[t.type].fillStyle,t.strokeWidth=PENS[t.type].strokeWidth,t.roughness=PENS[t.type].roughness,t.penOptions=Object.assign({},PENS[t.type].penOptions),A.empty(),this.createForm()})))),i=new obsidian_module.Setting(A).setName(fragWithHTML(t.freedrawOnly?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")).setDesc(fragWithHTML('"All shapes" means that if for example, you select a blue pen with dashed fill and then switch to a different tool (e.g. to a line, a circle, an arrow - i.e. not the freedraw tool), those will all have the same blue line and dashed fill.
      "Only applies to the freedraw line" means that if for example you are writing black text, and you select a custom pen (e.g. a yellow highlighter), then after using the highlighter you switch to another tool, the previous settings (e.g. black stroke color) will apply to the new shape.')).addToggle((e=>e.setValue(t.freedrawOnly).onChange((e=>{this.dirty=!0,i.setName(fragWithHTML(e?"Stroke & fill applies to: Freedraw only":"Stroke & fill applies to: All shapes")),t.freedrawOnly=e}))));let o,l,c,d,h,u,g,[p,m]=e(t.strokeColor),w=!1;s=new obsidian_module.Setting(A).setName(fragWithHTML(Boolean(t.strokeColor)?"Stroke color: Preset color":"Stroke color: Current")).setDesc(fragWithHTML("Use current stroke color of the canvas, or set a specific preset color for the pen")).addToggle((A=>A.setValue(!Boolean(t.strokeColor)).onChange((A=>{this.dirty=!0,n.settingEl.style.display=A?"none":"",s.setName(fragWithHTML(A?"Stroke color: Current":"Stroke color: Preset color")),A?delete t.strokeColor:(r.getValue()||([p,m]=e("black"),a.setValue(p),r.setValue("black")),t.strokeColor=r.getValue())})))),n=new obsidian_module.Setting(A).setName("Select stroke color").addButton((A=>A.setButtonText("Use Canvas Current").onClick((()=>{var A,i;const n=this.api.getAppState(),s=null!==(i=null===(A=n.resetCustomPen)||void 0===A?void 0:A.currentItemStrokeColor)&&void 0!==i?i:n.currentItemStrokeColor;[p,m]=e(s),t.strokeColor=s,this.dirty=!0,r.setValue(s),w=!0,a.setValue(p)})))).addText((A=>{r=A,A.setValue(t.strokeColor).onChange((A=>{w=!0,this.dirty=!0,t.strokeColor=A,[p,m]=e(A),p&&a.setValue(p)}))})).addColorPicker((e=>{a=e,e.setValue(null!=p?p:"#000000").onChange((e=>{w?w=!1:(this.dirty=!0,t.strokeColor=e+m,r.setValue(e+m))}))})),n.settingEl.style.display=Boolean(t.strokeColor)?"":"none";let[f,B]=e(t.backgroundColor);o=new obsidian_module.Setting(A).setName(fragWithHTML(Boolean(t.backgroundColor)?"Background color: Preset color":"Background color: Current")).setDesc(fragWithHTML("Toggle to use the current background color of the canvas; or a preset color")).addToggle((A=>A.setValue(!Boolean(t.backgroundColor)).onChange((A=>{this.dirty=!0,o.setName(fragWithHTML(A?"Background color: Current":"Background color: Preset color")),c.settingEl.style.display=A?"none":"",l.settingEl.style.display=A||"transparent"===t.backgroundColor?"none":"",A?delete t.backgroundColor:(h.getValue()||([f,B]=e("black"),d.setValue(f),h.setValue("black")),u.setValue(!1))})))),c=new obsidian_module.Setting(A).setName(fragWithHTML("transparent"===t.backgroundColor?"Background: Transparent":"Color: Preset color")).setDesc("Background has color or is transparent").addToggle((e=>{u=e,e.setValue("transparent"===t.backgroundColor).onChange((e=>{this.dirty=!0,l.settingEl.style.display=e?"none":"",g.settingEl.style.display=e?"none":"",c.setName(fragWithHTML(e?"Background: Transparent":"Color: Preset color")),t.backgroundColor=e?"transparent":d.getValue()}))})),c.settingEl.style.display=Boolean(t.backgroundColor)?"":"none";let E,b,v,C,y,F,x,S,T,I=!1;l=new obsidian_module.Setting(A).setName("Background color").addButton((A=>A.setButtonText("Use Canvas Current").onClick((()=>{var A,i;const n=this.api.getAppState(),a=null!==(i=null===(A=n.resetCustomPen)||void 0===A?void 0:A.currentItemBackgroundColor)&&void 0!==i?i:n.currentItemBackgroundColor;[f,B]=e(a),t.backgroundColor=a,this.dirty=!0,h.setValue(a),I=!0,d.setValue(f)})))).addText((A=>{h=A,A.setValue(t.backgroundColor).onChange((A=>{I=!0,this.dirty=!0,t.backgroundColor=A,[f,B]=e(A),f&&d.setValue(f)}))})).addColorPicker((e=>{d=e,e.setValue(null!=f?f:"#000000").onChange((e=>{I?I=!1:(this.dirty=!0,t.backgroundColor=e+B,h.setValue(e+B))}))})),l.settingEl.style.display=Boolean(t.backgroundColor)&&"transparent"!==t.backgroundColor?"":"none",g=new obsidian_module.Setting(A).setName("Fill Style").addDropdown((e=>e.addOption("","Unset").addOption("dots","Dots (⚠ VERY SLOW performance on large objects!)").addOption("zigzag","Zigzag").addOption("zigzag-line","Zigzag-line").addOption("dashed","Dashed").addOption("hachure","Hachure").addOption("cross-hatch","Cross-hatch").addOption("solid","Solid").setValue(t.fillStyle).onChange((e=>{this.dirty=!0,t.fillStyle=e})))),g.settingEl.style.display=Boolean(t.backgroundColor)&&"transparent"!==t.backgroundColor?"":"none",E=new obsidian_module.Setting(A).setName(fragWithHTML(`Sloppiness: ${null===t.roughness?"Not Set":t.roughness<=.5?"Architect (":t.roughness<=1.5?"Artist (":"Cartoonist ("}${null===t.roughness?"":`${t.roughness})`}`)).setDesc("Line sloppiness of the shape fill pattern").addSlider((e=>e.setLimits(-.5,3,.5).setValue(null===t.roughness?-.5:t.roughness).onChange((e=>{this.dirty=!0,t.roughness=-.5===e?null:e,E.setName(fragWithHTML(`Sloppiness: ${null===t.roughness?"Not Set":t.roughness<=.5?"Architect (":t.roughness<=1.5?"Artist (":"Cartoonist ("}${null===t.roughness?"":`${t.roughness})`}`))})))),b=new obsidian_module.Setting(A).setName(fragWithHTML(`Stroke Width ${0===t.strokeWidth?"Not Set":t.strokeWidth}`)).addSlider((e=>e.setLimits(0,5,.5).setValue(t.strokeWidth).onChange((e=>{this.dirty=!0,t.strokeWidth=e,b.setName(fragWithHTML(`Stroke Width ${0===t.strokeWidth?"Not Set":t.strokeWidth}`))})))),new obsidian_module.Setting(A).setName("Highlighter pen?").addToggle((e=>e.setValue(t.penOptions.highlighter).onChange((e=>{this.dirty=!0,t.penOptions.highlighter=e})))),new obsidian_module.Setting(A).setName("Pressure sensitve pen?").setDesc(fragWithHTML("toggle on: pressure sensitive
      toggle off: constant pressure")).addToggle((e=>e.setValue(!t.penOptions.constantPressure).onChange((e=>{this.dirty=!0,t.penOptions.constantPressure=!e,v.settingEl.style.display=t.penOptions.constantPressure?"none":""})))),t.penOptions.hasOutline&&0===t.penOptions.outlineWidth&&(t.penOptions.outlineWidth=.5,this.dirty=!0),!t.penOptions.hasOutline&&t.penOptions.outlineWidth>0&&(t.penOptions.outlineWidth=0,this.dirty=!0),C=new obsidian_module.Setting(A).setName(fragWithHTML(0===t.penOptions.outlineWidth?"No outline":`Outline width ${t.penOptions.outlineWidth}`)).setDesc("If the stroke has an outline, this will mean the stroke color is the outline color, and the background color is the pen stroke's fill color. If the pen does not have an outline then the pen color is the stroke color. The Fill Style setting applies to the fill style of the enclosed shape, not of the line itself. The line can only have solid fill.").addSlider((e=>e.setLimits(0,8,.5).setValue(t.penOptions.outlineWidth).onChange((e=>{this.dirty=!0,t.penOptions.outlineWidth=e,t.penOptions.hasOutline=e>0,C.setName(fragWithHTML(0===t.penOptions.outlineWidth?"No outline":`Outline width ${t.penOptions.outlineWidth}`))})))),A.createEl("h2",{text:"Perfect Freehand settings"}),A.createEl("p").innerHTML='Read the Perfect Freehand documentation following this link.',y=new obsidian_module.Setting(A).setName(fragWithHTML(`Thinnning ${t.penOptions.options.thinning}`)).setDesc(fragWithHTML("The effect of pressure on the stroke's size.
      To create a stroke with a steady line, set the thinning option to 0.
      To create a stroke that gets thinner with pressure instead of thicker, use a negative number for the thinning option.")).addSlider((e=>e.setLimits(-1,1,.05).setValue(t.penOptions.options.thinning).onChange((e=>{this.dirty,y.setName(fragWithHTML(`Thinnning ${e}`)),t.penOptions.options.thinning=e})))),F=new obsidian_module.Setting(A).setName(fragWithHTML(`Smoothing ${t.penOptions.options.smoothing}`)).setDesc(fragWithHTML("How much to soften the stroke's edges.")).addSlider((e=>e.setLimits(0,1,.05).setValue(t.penOptions.options.smoothing).onChange((e=>{this.dirty,F.setName(fragWithHTML(`Smoothing ${e}`)),t.penOptions.options.smoothing=e})))),x=new obsidian_module.Setting(A).setName(fragWithHTML(`Streamline ${t.penOptions.options.streamline}`)).setDesc(fragWithHTML("\tHow much to streamline the stroke.")).addSlider((e=>e.setLimits(0,1,.05).setValue(t.penOptions.options.streamline).onChange((e=>{this.dirty,x.setName(fragWithHTML(`Streamline ${e}`)),t.penOptions.options.streamline=e})))),new obsidian_module.Setting(A).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(t.penOptions.options.easing).onChange((e=>{this.dirty=!0,t.penOptions.options.easing=e})))),v=new obsidian_module.Setting(A).setName("Simulate Pressure").setDesc("Whether to simulate pressure based on velocity.").addDropdown((e=>e.addOption("true","Always").addOption("false","Never").addOption("","Yes for mouse, No for pen").setValue(!0===t.penOptions.options.simulatePressure?"true":!1===t.penOptions.options.simulatePressure?"false":"").onChange((e=>{switch(this.dirty=!0,e){case"true":t.penOptions.options.simulatePressure=!0;break;case"false":t.penOptions.options.simulatePressure=!1;break;default:delete t.penOptions.options.simulatePressure}})))),v.settingEl.style.display=t.penOptions.constantPressure?"none":"",A.createEl("h3",{text:"Start"}),A.createEl("p",{text:"Tapering options for the start of the line."}),new obsidian_module.Setting(A).setName("Cap Start").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(t.penOptions.options.start.cap).onChange((e=>{this.dirty=!0,t.penOptions.options.start.cap=e})))),S=new obsidian_module.Setting(A).setName(fragWithHTML(`Taper: ${!0===t.penOptions.options.start.taper?"true":t.penOptions.options.start.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof t.penOptions.options.start.taper?151:t.penOptions.options.start.taper).onChange((e=>{this.dirty,t.penOptions.options.start.taper=151===e||e,S.setName(fragWithHTML(`Taper: ${!0===t.penOptions.options.start.taper?"true":t.penOptions.options.start.taper}`))})))),new obsidian_module.Setting(A).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(t.penOptions.options.start.easing).onChange((e=>{this.dirty=!0,t.penOptions.options.start.easing=e})))),A.createEl("h3",{text:"End"}),A.createEl("p",{text:"Tapering options for the end of the line."}),new obsidian_module.Setting(A).setName("Cap End").setDesc("Whether to draw a cap").addToggle((e=>e.setValue(t.penOptions.options.end.cap).onChange((e=>{this.dirty=!0,t.penOptions.options.end.cap=e})))),T=new obsidian_module.Setting(A).setName(fragWithHTML(`Taper: ${!0===t.penOptions.options.end.taper?"true":t.penOptions.options.end.taper}`)).setDesc("The distance to taper. If set to true, the taper will be the total length of the stroke.").addSlider((e=>e.setLimits(0,151,1).setValue("boolean"==typeof t.penOptions.options.end.taper?151:t.penOptions.options.end.taper).onChange((e=>{this.dirty,t.penOptions.options.end.taper=151===e||e,T.setName(fragWithHTML(`Taper: ${!0===t.penOptions.options.end.taper?"true":t.penOptions.options.end.taper}`))})))),new obsidian_module.Setting(A).setName("Easing function").setDesc(fragWithHTML('An easing function for the tapering effect. For more info click here')).addDropdown((e=>e.addOptions(EASINGFUNCTIONS).setValue(t.penOptions.options.end.easing).onChange((e=>{this.dirty=!0,t.penOptions.options.end.easing=e}))))}}const ICONS={ExportImage:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("g",{strokeWidth:"1.25"},React__namespace.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),React__namespace.createElement("path",{d:"M15 8h.01"}),React__namespace.createElement("path",{d:"M12 20h-5a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v5"}),React__namespace.createElement("path",{d:"M4 15l4 -4c.928 -.893 2.072 -.893 3 0l4 4"}),React__namespace.createElement("path",{d:"M14 14l1 -1c.617 -.593 1.328 -.793 2.009 -.598"}),React__namespace.createElement("path",{d:"M19 16v6"}),React__namespace.createElement("path",{d:"M22 19l-3 3l-3 -3"}))),Discord:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"var(--icon-fill-color)",stroke:"none",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 640 512"},React__namespace.createElement("path",{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"})),Github:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),React__namespace.createElement("path",{d:"M9 18c-4.51 2-5-2-7-2"})),YouTube:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M12 19c-2.3 0-6.4-.2-8.1-.6-.7-.2-1.2-.7-1.4-1.4-.3-1.1-.5-3.4-.5-5s.2-3.9.5-5c.2-.7.7-1.2 1.4-1.4C5.6 5.2 9.7 5 12 5s6.4.2 8.1.6c.7.2 1.2.7 1.4 1.4.3 1.1.5 3.4.5 5s-.2 3.9-.5 5c-.2.7-.7 1.2-1.4 1.4-1.7.4-5.8.6-8.1.6 0 0 0 0 0 0z"}),React__namespace.createElement("polygon",{points:"10 15 15 12 10 9"})),heart:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M20.42 4.58a5.4 5.4 0 0 0-7.65 0l-.77.78-.77-.78a5.4 5.4 0 0 0-7.65 0C1.46 6.7 1.33 10.28 4 13l8 8 8-8c2.67-2.72 2.54-6.3.42-8.42z"})),twitter:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"})),exportLibrary:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 200 190",fill:"var(--icon-fill-color)"},React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M50 10h20v20H50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M50 10h20m-20 0h20m0 0v20m0-20v20m0 0H50m20 0H50m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M90 10h20v20H90"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M90 10h20m-20 0h20m0 0v20m0-20v20m0 0H90m20 0H90m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M130 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M130 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M170 10h20v20h-20"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M170 10h20m-20 0h20m0 0v20m0-20v20m0 0h-20m20 0h-20m0 0V10m0 20V10"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M70 50h60v80h20l-50 50-50-50h20V50"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M70 50h60m-60 0h60m0 0v80m0-80v80m0 0h20m-20 0h20m0 0-50 50m50-50-50 50m0 0-50-50m50 50-50-50m0 0h20m-20 0h20m0 0V50m0 80V50m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("g",{fillRule:"evenodd"},React__namespace.createElement("path",{strokeWidth:"0",d:"M10 10h20v20H10"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M10 10h20m-20 0h20m0 0v20m0-20v20m0 0H10m20 0H10m0 0V10m0 20V10"}))),insertPDF:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z"})),insertImage:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"})),insertMD:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"})),insertLaTeX:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"})),insertLink:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"none",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"})),search:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M500.3 443.7l-119.7-119.7c27.22-40.41 40.65-90.9 33.46-144.7C401.8 87.79 326.8 13.32 235.2 1.723C99.01-15.51-15.51 99.01 1.724 235.2c11.6 91.64 86.08 166.7 177.6 178.9c53.8 7.189 104.3-6.236 144.7-33.46l119.7 119.7c15.62 15.62 40.95 15.62 56.57 0C515.9 484.7 515.9 459.3 500.3 443.7zM79.1 208c0-70.58 57.42-128 128-128s128 57.42 128 128c0 70.58-57.42 128-128 128S79.1 278.6 79.1 208z"})),ocr:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"m6 18 6-12 6 12"}),React__namespace.createElement("path",{d:"M8 14h8"}),React__namespace.createElement("path",{d:"M3 7V5a2 2 0 0 1 2-2h2"}),React__namespace.createElement("path",{d:"M17 3h2a2 2 0 0 1 2 2v2"}),React__namespace.createElement("path",{d:"M21 17v2a2 2 0 0 1-2 2h-2"}),React__namespace.createElement("path",{d:"M7 21H5a2 2 0 0 1-2-2v-2"})),scriptEngine:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"4"},React__namespace.createElement("g",{transform:"translate(-8,-8)"},React__namespace.createElement("path",{d:"M24.318 37.983c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749m.126-.104c-1.234-1.232-8.433-3.903-7.401-7.387 1.057-3.484 9.893-12.443 13.669-13.517 3.776-1.074 6.142 6.523 9.012 7.073 2.87.55 6.797-1.572 8.207-3.694 1.384-2.148-3.147-7.413.15-9.168 3.298-1.755 16.389-2.646 19.611-1.284 3.247 1.363-1.611 7.335-.151 9.483 1.46 2.148 6.067 3.746 8.836 3.38 2.769-.368 4.154-6.733 7.728-5.633 3.575 1.1 12.36 8.828 13.67 12.233 1.308 3.406-5.186 5.423-5.79 8.2-.58 2.75-.026 6.705 2.265 8.355 2.266 1.65 9.642-1.78 11.404 1.598 1.762 3.38 1.007 15.35-.806 18.651-1.787 3.353-7.753-.367-9.969 1.31-2.215 1.65-3.901 5.92-3.373 8.67.504 2.777 7.754 4.48 6.445 7.885C96.49 87.543 87.15 95.454 83.5 96.685c-3.65 1.231-4.96-4.741-7.577-5.16-2.593-.393-6.57.707-8.03 2.75-1.436 2.017 2.668 7.806-.63 9.483-3.323 1.676-15.759 2.226-19.157.655-3.373-1.598.554-7.964-1.108-10.138-1.687-2.174-6.394-3.431-9.012-2.907-2.643.55-3.273 7.282-6.747 6.103-3.499-1.126-12.788-9.535-14.172-13.019-1.36-3.484 5.437-5.108 5.966-7.858.529-2.777-.68-7.073-2.744-8.697-2.064-1.624-7.93 2.41-9.642-1.126-1.737-3.537-2.441-16.765-.654-20.118 1.787-3.3 9.062 1.598 11.429.183 2.366-1.44 2.316-7.282 2.769-8.749",fill:"none",strokeWidth:"2"}),React__namespace.createElement("path",{d:"M81.235 56.502a23.3 23.3 0 0 1-1.46 8.068 20.785 20.785 0 0 1-1.762 3.72 24.068 24.068 0 0 1-5.337 6.26 22.575 22.575 0 0 1-3.449 2.358 23.726 23.726 0 0 1-7.803 2.803 24.719 24.719 0 0 1-8.333 0 24.102 24.102 0 0 1-4.028-1.074 23.71 23.71 0 0 1-3.776-1.729 23.259 23.259 0 0 1-6.369-5.265 23.775 23.775 0 0 1-2.416-3.353 24.935 24.935 0 0 1-1.762-3.72 23.765 23.765 0 0 1-1.083-3.981 23.454 23.454 0 0 1 0-8.173c.252-1.336.604-2.698 1.083-3.956a24.935 24.935 0 0 1 1.762-3.72 22.587 22.587 0 0 1 2.416-3.378c.881-1.048 1.888-2.017 2.946-2.908a24.38 24.38 0 0 1 3.423-2.357 23.71 23.71 0 0 1 3.776-1.73 21.74 21.74 0 0 1 4.028-1.047 23.437 23.437 0 0 1 8.333 0 24.282 24.282 0 0 1 7.803 2.777 26.198 26.198 0 0 1 3.45 2.357 24.62 24.62 0 0 1 5.336 6.287 20.785 20.785 0 0 1 1.762 3.72 21.32 21.32 0 0 1 1.083 3.955c.251 1.336.302 3.405.377 4.086.05.681.05-.68 0 0",fill:"none"}),React__namespace.createElement("path",{d:"M69.404 56.633c-6.596-3.3-13.216-6.6-19.51-9.744m19.51 9.744c-6.747-3.379-13.493-6.758-19.51-9.744m0 0v19.489m0-19.49v19.49m0 0c4.355-2.148 8.71-4.322 19.51-9.745m-19.51 9.745c3.978-1.965 7.93-3.956 19.51-9.745m0 0h0m0 0h0"}))),openLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),openLinkProperties:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v7"}),React__namespace.createElement("polyline",{points:"14 2 14 8 20 8",fill:"var(--icon-fill-color)"}),React__namespace.createElement("path",{d:"m10 18 3-3-3-3"}),React__namespace.createElement("path",{d:"M4 18v-1a2 2 0 0 1 2-2h6"})),switchToMarkdown:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",strokeWidth:"10",fill:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"})),gotoFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z"})),exitFullScreen:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z"})),releaseNotes:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M0 219.2v212.5c0 14.25 11.62 26.25 26.5 27C75.32 461.2 180.2 471.3 240 511.9V245.2C181.4 205.5 79.99 194.8 29.84 192C13.59 191.1 0 203.6 0 219.2zM482.2 192c-50.09 2.848-151.3 13.47-209.1 53.09C272.1 245.2 272 245.3 272 245.5v266.5c60.04-40.39 164.7-50.76 213.5-53.28C500.4 457.9 512 445.9 512 431.7V219.2C512 203.6 498.4 191.1 482.2 192zM352 96c0-53-43-96-96-96S160 43 160 96s43 96 96 96S352 149 352 96z"})),rawMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 60"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"4",d:"M20 10H10m10 0H10m0 0v40m0-40v40m0 0h10m-10 0h10M40 10H30m10 0H30m0 0v40m0-40v40m0 0h10m-10 0h10M60 10h10m-10 0h10m0 0v40m0-40v40m0 0H60m10 0H60M80 10h10m-10 0h10m0 0v40m0-40v40m0 0H80m10 0H80"})),parsedMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M574.1 280.4l-45.38-181.8c-5.875-23.63-21.62-44-43-55.75c-21.5-11.75-46.1-14.13-70.25-6.375l-15.25 5.125c-8.375 2.75-12.87 11.88-10 20.25l5 15.13c2.75 8.375 11.88 12.88 20.25 10.13l13.12-4.375c10.88-3.625 23-3.625 33.25 1.75c10.25 5.375 17.5 14.5 20.38 25.75l38.38 153.9c-22.12-6.875-49.75-12.5-81.13-12.5c-34.88 0-73.1 7-114.9 26.75H251.4C210.5 258.6 171.4 251.6 136.5 251.6c-31.38 0-59 5.625-81.12 12.5l38.38-153.9c2.875-11.25 10.12-20.38 20.5-25.75C124.4 79.12 136.5 79.12 147.4 82.74l13.12 4.375c8.375 2.75 17.5-1.75 20.25-10.13l5-15.13C188.6 53.49 184.1 44.37 175.6 41.62l-15.25-5.125c-23.13-7.75-48.75-5.375-70.13 6.375c-21.37 11.75-37.12 32.13-43 55.75L1.875 280.4C.6251 285.4 .0001 290.6 .0001 295.9v70.25C.0001 428.1 51.63 480 115.3 480h37.13c60.25 0 110.4-46 114.9-105.4l2.875-38.63h35.75l2.875 38.63C313.3 433.1 363.4 480 423.6 480h37.13c63.62 0 115.2-51 115.2-113.9V295.9C576 290.6 575.4 285.5 574.1 280.4zM203.4 369.7c-2 26-24.38 46.25-51 46.25H115.2C87 415.1 64 393.6 64 366.1v-37.5c18.12-6.5 43.38-13 72.62-13c23.88 0 47.25 4.375 69.88 13L203.4 369.7zM512 366.1c0 27.5-23 49.88-51.25 49.88h-37.13c-26.62 0-49-20.25-51-46.25l-3.125-41.13c22.62-8.625 46.13-13 70-13c29 0 54.38 6.5 72.5 13V366.1z"})),convertFile:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 110 700 340",xmlns:"http://www.w3.org/2000/svg",stroke:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"m593.95 239.4v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4688-1.457-3.1875-2.6445-5.0742-3.5h-1.5742c-1.4727-0.49219-3.0039-0.78516-4.5508-0.875h-124.25c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v87.5h-70v-105.88-1.0508c-0.089844-1.5469-0.38281-3.0781-0.875-4.5508v-1.5742c-0.85547-1.8828-2.043-3.6016-3.5-5.0742l-52.5-52.5c-1.4727-1.457-3.1914-2.6445-5.0742-3.5h-1.5742c-1.7031-0.875-3.5352-1.4688-5.4258-1.75h-123.55c-4.6406 0-9.0938 1.8438-12.375 5.125s-5.125 7.7344-5.125 12.375v245c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-52.5h70v122.5c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h175c4.6406 0 9.0938-1.8438 12.375-5.125s5.125-7.7344 5.125-12.375v-192.5-1.0508c-0.14453-1.5547-0.5-3.0859-1.0508-4.5508zm-313.95 110.6h-140v-210h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v87.5h-52.5c-6.2539 0-12.031 3.3359-15.156 8.75s-3.125 12.086 0 17.5 8.9023 8.75 15.156 8.75h52.5zm140 70v-105h27.824l-5.0742 5.0742c-3.7031 3.1719-5.9141 7.7461-6.1055 12.617-0.1875 4.8711 1.668 9.6016 5.1133 13.051 3.4492 3.4453 8.1797 5.3008 13.051 5.1133 4.8711-0.19141 9.4453-2.4023 12.617-6.1055l35-35c3.2578-3.2773 5.0898-7.7148 5.0898-12.336 0-4.625-1.832-9.0586-5.0898-12.34l-35-35c-4.5078-3.8555-10.66-5.1719-16.348-3.4883-5.6875 1.6797-10.137 6.1289-11.816 11.816-1.6836 5.6914-0.37109 11.844 3.4883 16.348l5.0742 5.0742h-27.824v-69.824h87.5v35c0 4.6406 1.8438 9.0938 5.125 12.375s7.7344 5.125 12.375 5.125h35v157.5z"})),cog:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:"var(--icon-fill-color)",stroke:"none"},React__namespace.createElement("path",{d:"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"})),trayMode:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",stroke:"var(--icon-fill-color)",fill:"var(--icon-fill-color)",strokeWidth:"20"},React__namespace.createElement("path",{d:"M618.1 97.67c-13.02-4.375-27.45 .1562-35.72 11.16L464 266.7l-118.4-157.8c-8.266-11.03-22.64-15.56-35.72-11.16C296.8 102 288 114.2 288 128v256c0 17.69 14.33 32 32 32s32-14.31 32-32v-160l86.41 115.2c12.06 16.12 39.13 16.12 51.19 0L576 224v160c0 17.69 14.33 32 32 32s32-14.31 32-32v-256C640 114.2 631.2 102 618.1 97.67zM224 96.01H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h64v223.1c0 17.69 14.33 31.99 32 31.99s32-14.3 32-31.99V160h64c17.67 0 32-14.31 32-32S241.7 96.01 224 96.01z"})),copyElementLink:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 260 260","aria-hidden":"true",focusable:"false",role:"img"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"8",d:"M10 10h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0V10m0 40V10M210 10h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0V10m0 40V10M210 210h40m-40 0h40m0 0v40m0-40v40m0 0h-40m40 0h-40m0 0v-40m0 40v-40M10 210h40m-40 0h40m0 0v40m0-40v40m0 0H10m40 0H10m0 0v-40m0 40v-40M30 210V50m0 160V50M50 30h160M50 30h160M230 50v160m0-160v160M50 230h160m-160 0h160"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M110 90c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10m0-80c-6.67 1.67-30 3.11-40 10-10 6.89-20 21.37-20 31.37S60 153.56 70 160c10 6.44 33.33 8.33 40 10M150 90c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10m0-80c6.67 1.67 30 3.11 40 10 10 6.89 20 21.37 20 31.37s-10 22.19-20 28.63c-10 6.44-33.33 8.33-40 10"}),React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",fill:"none",strokeLinecap:"round",strokeWidth:"16",d:"M89.868 130.198c13.36-.03 66.78-.17 80.13-.2m-80.13.2c13.36-.03 66.78-.17 80.13-.2"})),importSVG:React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 526 526"},React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"m133.462 71 .33-6.54.97-6.34 1.58-6.13 2.16-5.88 2.69-5.6 3.21-5.27 3.69-4.93 4.13-4.55 4.55-4.13 4.93-3.69 5.27-3.21 5.6-2.69 5.88-2.16 6.13-1.58 6.34-.97 6.54-.33h160v128l.16 3.28.49 3.18.79 3.07 1.07 2.94 1.35 2.8 1.6 2.63 1.84 2.47 2.06 2.27 2.27 2.06 2.47 1.84 2.63 1.6 2.8 1.35 2.94 1.07 3.07.79 3.18.49 3.28.16h128v288l-.33 6.54-.97 6.34-1.58 6.13-2.16 5.88-2.69 5.6-3.21 5.27-3.69 4.93-4.13 4.55-4.55 4.13-4.93 3.69-5.27 3.21-5.6 2.69-5.88 2.16-6.13 1.58-6.34.97-6.54.33h-256l-6.54-.33-6.34-.97-6.13-1.58-5.88-2.16-5.6-2.69-5.27-3.21-4.93-3.69-4.55-4.13-4.13-4.55-3.69-4.93-3.21-5.27-2.69-5.6-2.16-5.88-1.58-6.13-.97-6.34-.33-6.54V343h174.1l-39 39-1.65 1.83-1.43 1.94-1.22 2.05-.99 2.13-.77 2.2-.55 2.25-.33 2.29-.11 2.3.11 2.3.33 2.28.55 2.24.77 2.19.99 2.12 1.22 2.04 1.43 1.93 1.65 1.81 1.83 1.64 1.94 1.42 2.05 1.2 2.13.99 2.2.76 2.25.56 2.29.33 2.3.11 2.3-.1 2.28-.33 2.24-.54 2.19-.77 2.12-.98 2.04-1.21 1.93-1.43 1.81-1.65 80-80 1.65-1.83 1.43-1.94 1.22-2.05.99-2.13.77-2.2.55-2.25.33-2.29.11-2.3-.11-2.3-.33-2.28-.55-2.24-.77-2.19-.99-2.12-1.22-2.04-1.43-1.93-1.65-1.81-80-80-1.83-1.65-1.94-1.43-2.05-1.22-2.13-.99-2.2-.77-2.25-.55-2.29-.33-2.3-.11-2.3.11-2.28.33-2.24.55-2.19.77-2.12.99-2.04 1.22-1.93 1.43-1.81 1.65-1.64 1.83-1.42 1.94-1.2 2.05-.99 2.13-.76 2.2-.56 2.25-.33 2.29-.11 2.3.1 2.3.33 2.28.54 2.24.77 2.19.98 2.12 1.21 2.04 1.43 1.93 1.65 1.81 39 39h-174.1V71"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M133.462 71s0 0 0 0m0 0s0 0 0 0m0 0 .33-6.54m-.33 6.54c.13-2.57.26-5.13.33-6.54m0 0c.36-2.33.72-4.67.97-6.34m-.97 6.34c.35-2.26.69-4.53.97-6.34m0 0c.51-1.99 1.03-3.98 1.58-6.13m-1.58 6.13c.4-1.56.81-3.12 1.58-6.13m0 0c.81-2.22 1.62-4.43 2.16-5.88m-2.16 5.88c.45-1.22.9-2.44 2.16-5.88m0 0c.72-1.51 1.45-3.01 2.69-5.6m-2.69 5.6c.69-1.45 1.39-2.9 2.69-5.6m0 0c.93-1.52 1.86-3.05 3.21-5.27m-3.21 5.27c.97-1.59 1.94-3.18 3.21-5.27m0 0c.86-1.15 1.71-2.29 3.69-4.93m-3.69 4.93c.78-1.04 1.56-2.08 3.69-4.93m0 0c1.53-1.69 3.07-3.38 4.13-4.55m-4.13 4.55c1.54-1.69 3.07-3.38 4.13-4.55m0 0c1.03-.93 2.06-1.87 4.55-4.13m-4.55 4.13c.98-.89 1.97-1.78 4.55-4.13m0 0c1.64-1.23 3.28-2.46 4.93-3.69m-4.93 3.69c1.72-1.29 3.45-2.58 4.93-3.69m0 0c1.11-.68 2.23-1.35 5.27-3.21m-5.27 3.21c1.5-.91 3.01-1.83 5.27-3.21m0 0c1.87-.89 3.73-1.79 5.6-2.69m-5.6 2.69c2.09-1 4.17-2.01 5.6-2.69m0 0c1.72-.64 3.44-1.27 5.88-2.16m-5.88 2.16c1.94-.72 3.89-1.43 5.88-2.16m0 0c2.3-.59 4.6-1.19 6.13-1.58m-6.13 1.58c2.32-.6 4.65-1.2 6.13-1.58m0 0c2.06-.31 4.12-.63 6.34-.97m-6.34.97c2.34-.36 4.69-.72 6.34-.97m0 0c2.05-.1 4.09-.21 6.54-.33m-6.54.33c2.06-.1 4.12-.21 6.54-.33m0 0h160m-160 0h160m0 0v128m0-128v128m0 0s0 0 0 0m0 0s0 0 0 0m0 0 .16 3.28m-.16-3.28c.06 1.16.12 2.32.16 3.28m0 0c.13.82.26 1.64.49 3.18m-.49-3.18c.18 1.13.35 2.26.49 3.18m0 0c.24.95.49 1.91.79 3.07m-.79-3.07c.28 1.1.56 2.2.79 3.07m0 0c.39 1.06.78 2.13 1.07 2.94m-1.07-2.94c.42 1.15.84 2.3 1.07 2.94m0 0c.38.79.76 1.57 1.35 2.8m-1.35-2.8c.4.82.79 1.64 1.35 2.8m0 0c.45.75.91 1.5 1.6 2.63m-1.6-2.63c.4.65.8 1.31 1.6 2.63m0 0c.56.76 1.13 1.52 1.84 2.47m-1.84-2.47c.58.79 1.17 1.57 1.84 2.47m0 0c.75.82 1.5 1.65 2.06 2.27m-2.06-2.27c.75.82 1.5 1.65 2.06 2.27m0 0c.74.66 1.47 1.33 2.27 2.06m-2.27-2.06c.89.81 1.78 1.61 2.27 2.06m0 0c.69.51 1.37 1.02 2.47 1.84m-2.47-1.84c.68.5 1.35 1.01 2.47 1.84m0 0c.81.49 1.62.99 2.63 1.6m-2.63-1.6c.74.45 1.47.9 2.63 1.6m0 0c.72.35 1.43.69 2.8 1.35m-2.8-1.35c.61.3 1.22.59 2.8 1.35m0 0c.85.31 1.69.62 2.94 1.07m-2.94-1.07c1.03.38 2.07.75 2.94 1.07m0 0c.83.22 1.67.43 3.07.79m-3.07-.79 3.07.79m0 0c1.07.16 2.14.33 3.18.49m-3.18-.49c1.2.18 2.39.36 3.18.49m0 0 3.28.16m-3.28-.16c.97.04 1.93.09 3.28.16m0 0h128m-128 0h128m0 0v288m0-288v288m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.1 2.02-.2 4.04-.33 6.54m.33-6.54c-.13 2.52-.26 5.05-.33 6.54m0 0c-.33 2.14-.66 4.29-.97 6.34m.97-6.34c-.32 2.06-.63 4.12-.97 6.34m0 0c-.59 2.28-1.17 4.55-1.58 6.13m1.58-6.13c-.53 2.07-1.07 4.14-1.58 6.13m0 0c-.73 1.99-1.46 3.97-2.16 5.88m2.16-5.88c-.72 1.97-1.44 3.94-2.16 5.88m0 0c-.94 1.97-1.89 3.93-2.69 5.6m2.69-5.6c-.91 1.89-1.82 3.77-2.69 5.6m0 0c-.89 1.46-1.78 2.92-3.21 5.27m3.21-5.27c-.65 1.05-1.29 2.11-3.21 5.27m0 0c-1.13 1.51-2.25 3.01-3.69 4.93m3.69-4.93c-1.29 1.72-2.58 3.44-3.69 4.93m0 0c-1.29 1.42-2.58 2.84-4.13 4.55m4.13-4.55-4.13 4.55m0 0-4.55 4.13m4.55-4.13-4.55 4.13m0 0c-1.2.9-2.41 1.8-4.93 3.69m4.93-3.69-4.93 3.69m0 0c-1.56.95-3.13 1.9-5.27 3.21m5.27-3.21c-1.99 1.21-3.98 2.42-5.27 3.21m0 0c-1.8.86-3.6 1.73-5.6 2.69m5.6-2.69c-1.34.64-2.67 1.28-5.6 2.69m0 0c-2.24.82-4.48 1.65-5.88 2.16m5.88-2.16c-1.38.51-2.77 1.02-5.88 2.16m0 0c-1.46.38-2.93.76-6.13 1.58m6.13-1.58c-1.54.4-3.09.79-6.13 1.58m0 0c-2.12.32-4.24.65-6.34.97m6.34-.97c-2.47.38-4.94.75-6.34.97m0 0c-2.23.11-4.46.22-6.54.33m6.54-.33c-1.97.1-3.93.2-6.54.33m0 0h-256m256 0h-256m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-2.33-.12-4.66-.24-6.54-.33m6.54.33c-1.33-.07-2.65-.13-6.54-.33m0 0c-1.88-.29-3.77-.58-6.34-.97m6.34.97c-2.07-.32-4.14-.63-6.34-.97m0 0c-1.52-.39-3.04-.79-6.13-1.58m6.13 1.58c-2.02-.52-4.04-1.04-6.13-1.58m0 0c-1.6-.59-3.19-1.17-5.88-2.16m5.88 2.16c-1.9-.7-3.8-1.39-5.88-2.16m0 0c-1.41-.68-2.82-1.36-5.6-2.69m5.6 2.69c-1.6-.77-3.2-1.54-5.6-2.69m0 0c-1.4-.86-2.81-1.71-5.27-3.21m5.27 3.21c-2.08-1.27-4.17-2.54-5.27-3.21m0 0c-1.72-1.29-3.43-2.57-4.93-3.69m4.93 3.69c-1.79-1.34-3.57-2.67-4.93-3.69m0 0c-1.18-1.07-2.36-2.15-4.55-4.13m4.55 4.13c-1.64-1.49-3.27-2.97-4.55-4.13m0 0c-1.07-1.19-2.15-2.37-4.13-4.55m4.13 4.55c-1.46-1.61-2.93-3.23-4.13-4.55m0 0-3.69-4.93m3.69 4.93c-.88-1.17-1.76-2.35-3.69-4.93m0 0c-.83-1.37-1.67-2.75-3.21-5.27m3.21 5.27c-1.15-1.89-2.3-3.79-3.21-5.27m0 0c-1.03-2.14-2.05-4.27-2.69-5.6m2.69 5.6c-.68-1.43-1.37-2.85-2.69-5.6m0 0c-.8-2.17-1.59-4.34-2.16-5.88m2.16 5.88c-.82-2.22-1.63-4.44-2.16-5.88m0 0c-.47-1.82-.94-3.64-1.58-6.13m1.58 6.13c-.37-1.44-.74-2.88-1.58-6.13m0 0-.97-6.34m.97 6.34c-.3-1.98-.61-3.97-.97-6.34m0 0c-.13-2.54-.26-5.07-.33-6.54m.33 6.54-.33-6.54m0 0V343m0 112V343m0 0h174.1m-174.1 0h174.1m0 0-39 39m39-39-39 39m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.65.72-1.3 1.44-1.65 1.83m1.65-1.83c-.34.38-.68.76-1.65 1.83m0 0c-.35.47-.7.95-1.43 1.94m1.43-1.94c-.38.5-.75 1.01-1.43 1.94m0 0c-.32.54-.64 1.08-1.22 2.05m1.22-2.05c-.38.64-.76 1.28-1.22 2.05m0 0c-.2.45-.41.89-.99 2.13m.99-2.13c-.38.82-.76 1.64-.99 2.13m0 0c-.18.53-.36 1.05-.77 2.2m.77-2.2c-.3.88-.61 1.75-.77 2.2m0 0c-.15.61-.3 1.22-.55 2.25m.55-2.25c-.16.68-.33 1.35-.55 2.25m0 0-.33 2.29m.33-2.29c-.13.9-.26 1.79-.33 2.29m0 0-.11 2.3m.11-2.3c-.03.59-.06 1.19-.11 2.3m0 0c.03.54.05 1.08.11 2.3m-.11-2.3c.03.72.07 1.44.11 2.3m0 0c.1.71.21 1.43.33 2.28m-.33-2.28c.1.71.21 1.42.33 2.28m0 0c.22.88.44 1.77.55 2.24m-.55-2.24c.16.66.33 1.32.55 2.24m0 0c.26.72.51 1.45.77 2.19m-.77-2.19c.25.69.49 1.39.77 2.19m0 0c.33.7.65 1.4.99 2.12m-.99-2.12c.37.79.74 1.57.99 2.12m0 0c.38.63.75 1.25 1.22 2.04m-1.22-2.04c.4.67.8 1.35 1.22 2.04m0 0c.38.52.77 1.05 1.43 1.93m-1.43-1.93c.38.52.77 1.05 1.43 1.93m0 0c.46.5.91 1 1.65 1.81m-1.65-1.81c.35.39.7.77 1.65 1.81m0 0c.37.33.75.67 1.83 1.64m-1.83-1.64c.43.39.87.78 1.83 1.64m0 0c.62.45 1.25.91 1.94 1.42m-1.94-1.42c.45.32.9.65 1.94 1.42m0 0c.53.3 1.05.61 2.05 1.2m-2.05-1.2c.43.25.86.5 2.05 1.2m0 0c.78.36 1.56.72 2.13.99m-2.13-.99c.54.25 1.08.5 2.13.99m0 0c.67.23 1.33.46 2.2.76m-2.2-.76c.51.17 1.03.35 2.2.76m0 0c.87.22 1.73.43 2.25.56m-2.25-.56c.79.2 1.57.39 2.25.56m0 0 2.29.33m-2.29-.33c.58.08 1.16.16 2.29.33m0 0c.91.04 1.82.09 2.3.11m-2.3-.11c.89.04 1.79.09 2.3.11m0 0c.48-.02.96-.04 2.3-.1m-2.3.1c.73-.03 1.47-.06 2.3-.1m0 0c.61-.09 1.22-.18 2.28-.33m-2.28.33c.58-.09 1.17-.17 2.28-.33m0 0c.79-.19 1.59-.38 2.24-.54m-2.24.54c.88-.21 1.75-.42 2.24-.54m0 0c.7-.25 1.4-.49 2.19-.77m-2.19.77c.5-.18 1.01-.35 2.19-.77m0 0c.56-.26 1.13-.52 2.12-.98m-2.12.98c.69-.31 1.37-.63 2.12-.98m0 0c.63-.37 1.25-.74 2.04-1.21m-2.04 1.21c.8-.48 1.6-.95 2.04-1.21m0 0c.67-.5 1.34-.99 1.93-1.43m-1.93 1.43c.52-.39 1.05-.78 1.93-1.43m0 0c.43-.39.87-.79 1.81-1.65m-1.81 1.65c.42-.38.83-.76 1.81-1.65m0 0 80-80m-80 80 80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c.33-.37.67-.74 1.65-1.83m-1.65 1.83c.63-.7 1.27-1.4 1.65-1.83m0 0c.3-.4.59-.79 1.43-1.94m-1.43 1.94c.42-.57.84-1.13 1.43-1.94m0 0c.4-.68.8-1.35 1.22-2.05m-1.22 2.05c.47-.79.93-1.57 1.22-2.05m0 0c.28-.62.57-1.23.99-2.13m-.99 2.13c.3-.65.6-1.31.99-2.13m0 0c.26-.74.51-1.47.77-2.2m-.77 2.2.77-2.2m0 0 .55-2.25m-.55 2.25c.2-.84.41-1.68.55-2.25m0 0 .33-2.29m-.33 2.29c.11-.75.21-1.49.33-2.29m0 0c.03-.54.05-1.08.11-2.3m-.11 2.3c.04-.91.09-1.81.11-2.3m0 0c-.03-.7-.07-1.41-.11-2.3m.11 2.3c-.04-.75-.07-1.49-.11-2.3m0 0c-.08-.52-.15-1.04-.33-2.28m.33 2.28c-.09-.63-.18-1.26-.33-2.28m0 0-.55-2.24m.55 2.24c-.19-.79-.39-1.58-.55-2.24m0 0-.77-2.19m.77 2.19c-.25-.72-.51-1.44-.77-2.19m0 0c-.23-.5-.46-.99-.99-2.12m.99 2.12c-.39-.83-.78-1.66-.99-2.12m0 0c-.42-.7-.83-1.39-1.22-2.04m1.22 2.04c-.32-.53-.64-1.06-1.22-2.04m0 0c-.47-.64-.95-1.28-1.43-1.93m1.43 1.93c-.47-.63-.94-1.27-1.43-1.93m0 0c-.44-.49-.89-.98-1.65-1.81m1.65 1.81c-.64-.7-1.28-1.4-1.65-1.81m0 0-80-80m80 80-80-80m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.72-.65-1.44-1.3-1.83-1.65m1.83 1.65c-.68-.62-1.37-1.23-1.83-1.65m0 0c-.51-.38-1.02-.75-1.94-1.43m1.94 1.43c-.58-.43-1.17-.87-1.94-1.43m0 0c-.73-.43-1.45-.86-2.05-1.22m2.05 1.22c-.77-.45-1.53-.9-2.05-1.22m0 0c-.46-.21-.93-.43-2.13-.99m2.13.99-2.13-.99m0 0c-.83-.29-1.65-.57-2.2-.77m2.2.77c-.56-.19-1.12-.39-2.2-.77m0 0c-.65-.16-1.29-.31-2.25-.55m2.25.55c-.57-.14-1.13-.27-2.25-.55m0 0c-.74-.11-1.48-.21-2.29-.33m2.29.33c-.51-.07-1.02-.15-2.29-.33m0 0c-.77-.04-1.54-.07-2.3-.11m2.3.11c-.88-.04-1.76-.08-2.3-.11m0 0c-.49.02-.98.05-2.3.11m2.3-.11c-.88.04-1.77.09-2.3.11m0 0c-.62.09-1.23.18-2.28.33m2.28-.33c-.6.09-1.2.17-2.28.33m0 0c-.45.11-.91.22-2.24.55m2.24-.55c-.79.2-1.58.39-2.24.55m0 0c-.56.2-1.12.4-2.19.77m2.19-.77c-.51.18-1.01.36-2.19.77m0 0c-.85.4-1.7.8-2.12.99m2.12-.99c-.51.24-1.02.48-2.12.99m0 0c-.6.36-1.2.71-2.04 1.22m2.04-1.22c-.46.27-.91.55-2.04 1.22m0 0c-.49.36-.99.73-1.93 1.43m1.93-1.43-1.93 1.43m0 0c-.42.38-.85.77-1.81 1.65m1.81-1.65c-.69.63-1.39 1.27-1.81 1.65m0 0-1.64 1.83m1.64-1.83c-.54.6-1.08 1.21-1.64 1.83m0 0c-.53.73-1.07 1.47-1.42 1.94m1.42-1.94c-.36.5-.73 1-1.42 1.94m0 0c-.35.61-.7 1.21-1.2 2.05m1.2-2.05c-.33.58-.67 1.15-1.2 2.05m0 0c-.26.57-.53 1.15-.99 2.13m.99-2.13c-.39.85-.78 1.69-.99 2.13m0 0c-.24.7-.48 1.4-.76 2.2m.76-2.2c-.17.51-.35 1.01-.76 2.2m0 0c-.17.68-.33 1.35-.56 2.25m.56-2.25c-.2.79-.39 1.57-.56 2.25m0 0c-.09.65-.18 1.29-.33 2.29m.33-2.29c-.06.48-.13.95-.33 2.29m0 0c-.03.71-.07 1.43-.11 2.3m.11-2.3-.11 2.3m0 0c.04.86.08 1.73.1 2.3m-.1-2.3c.03.8.07 1.6.1 2.3m0 0c.13.88.25 1.76.33 2.28m-.33-2.28c.11.73.21 1.47.33 2.28m0 0c.18.74.36 1.49.54 2.24m-.54-2.24c.15.64.31 1.28.54 2.24m0 0c.2.57.4 1.15.77 2.19m-.77-2.19c.21.58.41 1.17.77 2.19m0 0c.23.5.46 1.01.98 2.12m-.98-2.12c.35.76.71 1.53.98 2.12m0 0c.38.64.76 1.29 1.21 2.04m-1.21-2.04 1.21 2.04m0 0c.45.6.89 1.21 1.43 1.93m-1.43-1.93c.3.4.6.81 1.43 1.93m0 0 1.65 1.81m-1.65-1.81c.47.52.94 1.03 1.65 1.81m0 0 39 39m-39-39 39 39m0 0h-174.1m174.1 0h-174.1m0 0V71m0 223.9V71m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"})),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeLinecap:"round",strokeWidth:"18",d:"M135 343.068H31m104 0H31m0 0s0 0 0 0m0 0s0 0 0 0m0 0c-.74-.04-1.48-.07-2.46-.12m2.46.12c-.77-.04-1.54-.08-2.46-.12m0 0c-.87-.14-1.75-.27-2.39-.37m2.39.37c-.55-.09-1.1-.17-2.39-.37m0 0c-.87-.22-1.74-.44-2.3-.59m2.3.59c-.62-.15-1.24-.31-2.3-.59m0 0c-.82-.29-1.64-.59-2.21-.8m2.21.8c-.52-.18-1.03-.37-2.21-.8m0 0c-.55-.26-1.09-.52-2.1-1.01m2.1 1.01c-.64-.31-1.28-.61-2.1-1.01m0 0c-.74-.45-1.48-.89-1.98-1.2m1.98 1.2c-.42-.25-.84-.51-1.98-1.2m0 0c-.7-.52-1.41-1.05-1.84-1.38m1.84 1.38c-.37-.28-.75-.56-1.84-1.38m0 0c-.4-.36-.8-.71-1.71-1.54m1.71 1.54c-.35-.31-.7-.63-1.71-1.54m0 0c-.43-.47-.85-.95-1.54-1.71m1.54 1.71c-.61-.68-1.23-1.36-1.54-1.71m0 0c-.29-.38-.58-.76-1.38-1.84m1.38 1.84c-.54-.71-1.08-1.43-1.38-1.84m0 0c-.46-.76-.92-1.52-1.2-1.98m1.2 1.98c-.45-.74-.89-1.47-1.2-1.98m0 0c-.37-.77-.74-1.53-1.01-2.1m1.01 2.1c-.3-.62-.6-1.25-1.01-2.1m0 0c-.2-.54-.39-1.07-.8-2.21m.8 2.21c-.2-.54-.4-1.09-.8-2.21m0 0c-.22-.85-.44-1.71-.59-2.3m.59 2.3c-.12-.46-.24-.92-.59-2.3m0 0c-.11-.72-.22-1.43-.37-2.39m.37 2.39c-.08-.48-.15-.96-.37-2.39m0 0c-.03-.74-.07-1.48-.12-2.46m.12 2.46c-.04-.79-.08-1.59-.12-2.46m0 0c.04-.74.07-1.49.12-2.46m-.12 2.46.12-2.46m0 0c.08-.53.16-1.07.37-2.39m-.37 2.39c.09-.56.17-1.12.37-2.39m0 0c.17-.69.35-1.38.59-2.3m-.59 2.3c.15-.61.31-1.23.59-2.3m0 0c.17-.48.34-.96.8-2.21m-.8 2.21c.2-.55.4-1.1.8-2.21m0 0c.25-.52.49-1.03 1.01-2.1m-1.01 2.1c.36-.76.73-1.52 1.01-2.1m0 0c.43-.72.87-1.44 1.2-1.98m-1.2 1.98c.27-.45.55-.91 1.2-1.98m0 0c.54-.73 1.09-1.47 1.38-1.84m-1.38 1.84c.4-.54.81-1.09 1.38-1.84m0 0c.53-.59 1.07-1.18 1.54-1.71m-1.54 1.71c.59-.66 1.19-1.32 1.54-1.71m0 0c.54-.49 1.08-.97 1.71-1.54m-1.71 1.54c.48-.43.95-.86 1.71-1.54m0 0c.46-.35.92-.7 1.84-1.38m-1.84 1.38c.5-.38 1.01-.76 1.84-1.38m0 0c.52-.32 1.04-.63 1.98-1.2m-1.98 1.2c.72-.44 1.44-.88 1.98-1.2m0 0 2.1-1.01m-2.1 1.01c.84-.4 1.67-.81 2.1-1.01m0 0c.45-.17.91-.33 2.21-.8m-2.21.8c.56-.21 1.12-.41 2.21-.8m0 0c.89-.23 1.79-.46 2.3-.59m-2.3.59c.48-.13.95-.25 2.3-.59m0 0c.51-.08 1.02-.16 2.39-.37m-2.39.37 2.39-.37m0 0c.52-.02 1.03-.05 2.46-.12m-2.46.12c.74-.03 1.48-.07 2.46-.12m0 0 103.34-.27m-103.34.27c30.04-.08 60.08-.16 103.34-.27"}),React__namespace.createElement("g",{fillRule:"evenodd",strokeLinecap:"round"},React__namespace.createElement("path",{fill:"var(--input-bg-color)",strokeWidth:"0",d:"M517.462 135h-128V7l128 128"}),React__namespace.createElement("path",{fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"18",d:"M517.462 135h-128m128 0h-128m0 0V7m0 128V7m0 0 128 128m-128-128 128 128m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0m0 0s0 0 0 0"}))),obsidian:React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},React__namespace.createElement("defs",null,React__namespace.createElement("radialGradient",{id:"b",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(-48 -185 123 -32 179 429.7)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".4"}),React__namespace.createElement("stop",{offset:"1","stop-opacity":".1"})),React__namespace.createElement("radialGradient",{id:"c",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(41 -310 229 30 341.6 351.3)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".6"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".1"})),React__namespace.createElement("radialGradient",{id:"d",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(57 -261 178 39 190.5 296.3)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".8"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".4"})),React__namespace.createElement("radialGradient",{id:"e",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(-79 -133 153 -90 321.4 464.2)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".3"}),React__namespace.createElement("stop",{offset:"1","stop-opacity":".3"})),React__namespace.createElement("radialGradient",{id:"f",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(-29 136 -92 -20 300.7 149.9)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":"0"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".2"})),React__namespace.createElement("radialGradient",{id:"g",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(72 73 -155 153 137.8 225.2)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".2"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".4"})),React__namespace.createElement("radialGradient",{id:"h",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(20 118 -251 43 215.1 273.7)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".1"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".3"})),React__namespace.createElement("radialGradient",{id:"i",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"matrix(-162 -85 268 -510 374.4 371.7)"},React__namespace.createElement("stop",{"stop-color":"#fff","stop-opacity":".2"}),React__namespace.createElement("stop",{offset:".5","stop-color":"#fff","stop-opacity":".2"}),React__namespace.createElement("stop",{offset:"1","stop-color":"#fff","stop-opacity":".3"})),React__namespace.createElement("filter",{id:"a",x:"80.1",y:"37",width:"351.1",height:"443.2",filterUnits:"userSpaceOnUse","color-interpolation-filters":"sRGB"},React__namespace.createElement("feFlood",{"flood-opacity":"0",result:"BackgroundImageFix"}),React__namespace.createElement("feBlend",{in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),React__namespace.createElement("feGaussianBlur",{stdDeviation:"6.5",result:"effect1_foregroundBlur_744_9191"}))),React__namespace.createElement("g",{filter:"url(#a)"},React__namespace.createElement("path",{d:"M359.2 437.5c-2.6 19-21.3 33.9-40 28.7-26.5-7.2-57.2-18.6-84.8-20.7l-42.4-3.2a28 28 0 0 1-18-8.3l-73-74.8a27.7 27.7 0 0 1-5.4-30.7s45-98.6 46.8-103.7c1.6-5.1 7.8-49.9 11.4-73.9a28 28 0 0 1 9-16.5L249 57.2a28 28 0 0 1 40.6 3.4l72.6 91.6a29.5 29.5 0 0 1 6.2 18.3c0 17.3 1.5 53 11.2 76a301.3 301.3 0 0 0 35.6 58.2 14 14 0 0 1 1 15.6c-6.3 10.7-18.9 31.3-36.6 57.6a142.2 142.2 0 0 0-20.5 59.6Z",fill:"#000","fill-opacity":".3"})),React__namespace.createElement("path",{id:"arrow",d:"M359.9 434.3c-2.6 19.1-21.3 34-40 28.9-26.4-7.3-57-18.7-84.7-20.8l-42.3-3.2a27.9 27.9 0 0 1-18-8.4l-73-75a27.9 27.9 0 0 1-5.4-31s45.1-99 46.8-104.2c1.7-5.1 7.8-50 11.4-74.2a28 28 0 0 1 9-16.6l86.2-77.5a28 28 0 0 1 40.6 3.5l72.5 92a29.7 29.7 0 0 1 6.2 18.3c0 17.4 1.5 53.2 11.1 76.3a303 303 0 0 0 35.6 58.5 14 14 0 0 1 1.1 15.7c-6.4 10.8-18.9 31.4-36.7 57.9a143.3 143.3 0 0 0-20.4 59.8Z",fill:"#6c31e3"}),React__namespace.createElement("path",{d:"M182.7 436.4c33.9-68.7 33-118 18.5-153-13.2-32.4-37.9-52.8-57.3-65.5-.4 1.9-1 3.7-1.8 5.4L96.5 324.8a27.9 27.9 0 0 0 5.5 31l72.9 75c2.3 2.3 5 4.2 7.8 5.6Z",fill:"url(#b)"}),React__namespace.createElement("path",{d:"M274.9 297c9.1.9 18 2.9 26.8 6.1 27.8 10.4 53.1 33.8 74 78.9 1.5-2.6 3-5.1 4.6-7.5a1222 1222 0 0 0 36.7-57.9 14 14 0 0 0-1-15.7 303 303 0 0 1-35.7-58.5c-9.6-23-11-58.9-11.1-76.3 0-6.6-2.1-13.1-6.2-18.3l-72.5-92-1.2-1.5c5.3 17.5 5 31.5 1.7 44.2-3 11.8-8.6 22.5-14.5 33.8-2 3.8-4 7.7-5.9 11.7a140 140 0 0 0-15.8 58c-1 24.2 3.9 54.5 20 95Z",fill:"url(#c)"}),React__namespace.createElement("path",{d:"M274.8 297c-16.1-40.5-21-70.8-20-95 1-24 8-42 15.8-58l6-11.7c5.8-11.3 11.3-22 14.4-33.8a78.5 78.5 0 0 0-1.7-44.2 28 28 0 0 0-39.4-2l-86.2 77.5a28 28 0 0 0-9 16.6L144.2 216c0 .7-.2 1.3-.3 2 19.4 12.6 44 33 57.3 65.3 2.6 6.4 4.8 13.1 6.4 20.4a200 200 0 0 1 67.2-6.8Z",fill:"url(#d)"}),React__namespace.createElement("path",{d:"M320 463.2c18.6 5.1 37.3-9.8 39.9-29a153 153 0 0 1 15.9-52.2c-21-45.1-46.3-68.5-74-78.9-29.5-11-61.6-7.3-94.2.6 7.3 33.1 3 76.4-24.8 132.7 3.1 1.6 6.6 2.5 10.1 2.8l43.9 3.3c23.8 1.7 59.3 14 83.2 20.7Z",fill:"url(#e)"}),React__namespace.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M255 200.5c-1.1 24 1.9 51.4 18 91.8l-5-.5c-14.5-42.1-17.7-63.7-16.6-88 1-24.3 8.9-43 16.7-59 2-4 6.6-11.5 8.6-15.3 5.8-11.3 9.7-17.2 13-27.5 4.8-14.4 3.8-21.2 3.2-28 3.7 24.5-10.4 45.8-21 67.5a145 145 0 0 0-17 59Z",fill:"url(#f)"}),React__namespace.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M206 285.1c2 4.4 3.7 8 4.9 13.5l-4.3 1c-1.7-6.4-3-11-5.5-16.5-14.6-34.3-38-52-57-65 23 12.4 46.7 31.9 61.9 67Z",fill:"url(#g)"}),React__namespace.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M211.1 303c8 37.5-1 85.2-27.5 131.6 22.2-46 33-90.1 24-131l3.5-.7Z",fill:"url(#h)"}),React__namespace.createElement("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M302.7 299.5c43.5 16.3 60.3 52 72.8 81.9-15.5-31.2-37-65.7-74.4-78.5-28.4-9.8-52.4-8.6-93.5.7l-.9-4c43.6-10 66.4-11.2 96 0Z",fill:"url(#i)"}))},saveIcon=e=>React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:e?"var(--color-accent)":"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),React__namespace.createElement("polyline",{points:"17 21 17 13 7 13 7 21"}),React__namespace.createElement("polyline",{points:"7 3 7 8 15 8"})),penIcon=e=>{var t,A,i,n,a,r,s,o,l,c,d,h;switch(e.type){case"highlighter":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(t=e.strokeColor)&&void 0!==t?t:"var(--icon-fill-color)",strokeWidth:"2",d:"m9 11-6 6v3h9l3-3"}),React__namespace.createElement("path",{fill:"none",strokeWidth:"2",d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"}));case"finetip":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:null!==(A=e.strokeColor)&&void 0!==A?A:"var(--icon-fill-color)",stroke:null!==(i=e.strokeColor)&&void 0!==i?i:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{strokeWidth:"2",d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"}));case"fountain":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{fill:null!==(n=e.strokeColor)&&void 0!==n?n:"var(--icon-fill-color)",d:"m12 19 7-7 3 3-7 7-3-3z"}),React__namespace.createElement("path",{fill:"none",d:"m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),React__namespace.createElement("path",{fill:"none",d:"m2 2 7.586 7.586"}),React__namespace.createElement("circle",{fill:"none",cx:"11",cy:"11",r:"2"}));case"marker":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",fill:null!==(a=e.strokeColor)&&void 0!==a?a:"var(--icon-fill-color)",stroke:null!==(r=e.strokeColor)&&void 0!==r?r:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M331 315l158.4-215L460.1 70.6 245 229 331 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L436.6 8.4C444 2.9 453 0 462.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L350.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H240l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L144 320zM23 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H40c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z"}));case"thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 108 106",strokeWidth:"2",fill:null!==(s=e.strokeColor)&&void 0!==s?s:"var(--icon-fill-color)",stroke:null!==(o=e.strokeColor)&&void 0!==o?o:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m-.58 95.628.22-.89q.22-.89.49-2.44.26-1.54.77-3.35t1.31-3.43q.79-1.61.2-.26-.6 1.34-.03-.14.58-1.49 1.54-2.97.96-1.49 2.54-3.18 1.59-1.68 3.46-2.96 1.86-1.27.81-.54-1.04.73.6-.46 1.64-1.19 2.8-1.81 1.16-.63.16-.08-.99.54 1.21-.5 2.2-1.03 1.11-.58-1.1.45-.03-.07 1.06-.53 2.32-.82 1.26-.3 2.91-.52 1.64-.23 3.05-.18 1.4.05 2.5.12 1.09.07 2.25.24 1.16.17 2.3.49 1.15.32 2.11.78.96.47 2.21 1.01 1.25.55 2.37 1.04t2.34.89q1.22.4 2.5.65 1.29.25 2.44.33 1.16.08 2.35.17 1.18.08 2.26-.1 1.08-.19 2-1.1.92-.91 1.25-1.93.32-1.02.38-2.15t.57.21q.51 1.34-.03-.02-.55-1.37-.96-2.83-.41-1.45.5-.67.92.79-.03-.06-.95-.85-1.52-1.8-.57-.94-1.5-1.52-.93-.57-1.94-1.22-1.01-.65-1.97-1.88-.96-1.22-1.44-2.54-.49-1.32-.65-2.57-.17-1.24-.11-2.35.06-1.11.31-2.91.24-1.79.76-2.77.51-.97 1.29-1.8.77-.84 1.64-1.55.88-.72 1.9-1.33 1.03-.61 2.43-1.15 1.41-.55 2.69-.92 1.29-.37 2.81-.68 1.53-.31 2.83-.58 1.31-.27 2.78-.47 1.47-.2 2.58-.49 1.12-.28 2.19-.58 1.08-.31 2.13-.73 1.05-.42 2.44-1.32 1.39-.9 2.68-1.85 1.3-.95 2.25-1.87.95-.91 2.06-2 1.11-1.09 1.92-1.93.82-.84 1.54-1.82.71-.98 1.4-1.88.69-.9 1.38-1.96.69-1.07 1.25-2.04.55-.97 1.21-1.94.65-.96 1.35-1.79.69-.83 1.46-1.74.77-.9 1.66-1.73.89-.84 2.72-2.31 1.84-1.48 1.84-1.47v.01l-1.1 1.03q-1.1 1.02-1.77 1.92-.68.9-1.39 1.85-.71.96-1.41 1.91-.7.96-1.19 1.92-.48.95-.95 1.92-.46.96-.9 1.95-.43.99-1.02 2.16-.59 1.17-1.17 2.15-.58.97-1.23 2.13t-1.29 2.02q-.64.86-1.3 1.73-.66.88-1.42 1.78-.75.9-1.72 2.03-.97 1.14-1.81 1.89-.85.75-1.98 1.71-1.14.96-2.05 1.61-.91.64-2.42 1.38-1.51.73-2.71 1.21t-2.49.92q-1.3.44-2.35.69-1.06.24-2.1.59-1.03.34-2.06.74-1.03.4-2.29.94-1.26.54-2.27 1.11-1.01.58-1.57 1.57-.56.99-.81 2.06-.25 1.08.56 2.02.8.94-.21-.02-1.02-.96-.01-.48 1 .49 1.87 1.25.87.77 0 0-.88-.77.46-.01 1.34.75 2.6 1.68 1.26.94 2.08 2.03.81 1.09.01.27-.8-.82.3.26 1.11 1.08 1.71 2.1.61 1.02 1.21 2.25.6 1.24.92 2.36.32 1.12-.16.13-.49-.98.02.36.51 1.35.71 2.69.2 1.34.24 2.46.03 1.12-.09 2.42-.13 1.29-.72 3.21-.6 1.92-1.4 3.49-.81 1.58-1.77 2.83-.96 1.24-2.88 2.72-1.92 1.48-2.95 1.85-1.04.36-2.47.76-1.44.41-3.33.72-1.89.32-3.37.41-1.48.09-2.63.15-1.15.05-2.74-.06-1.59-.1-2.8-.29-1.2-.19-3.2-.63-1.99-.45-3.63-.92-1.63-.48-3.28-.79-1.65-.31-2.76-.2-1.11.1-2.21.42-1.11.32.39-.29 1.49-.6-.12.21-1.61.8-.39.19 1.21-.61.29.13-.92.74-1.83 1.34-.92.61.15-.19t.3-.05q-.77.75-1.58 1.57-.81.82.01-.18.82-1 .24.23t-.72 2.72q-.15 1.48-.08 2.4.07.91-.19 2.16-.26 1.26-.81 2.41-.55 1.16-1.36 2.15t-1.84 1.75q-1.03.77-2.21 1.27t-2.44.7q-1.27.2-2.53.1-1.28-.11-2.49-.52-1.22-.41-2.3-1.1-1.08-.68-1.96-1.61-.89-.92-1.52-2.04-.64-1.11-.99-2.34-.36-1.23-.41-2.51l-.04-1.27Z"}));case"thin-thick-thin":return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 114 113",strokeWidth:"2",fill:null!==(l=e.strokeColor)&&void 0!==l?l:"var(--icon-fill-color)",stroke:null!==(c=e.strokeColor)&&void 0!==c?c:"var(--icon-fill-color)"},React__namespace.createElement("path",{d:"m10 103.405.13-1.22q.14-1.22 1.3-3.16 1.15-1.94 2.74-3.46 1.59-1.53 3.35-2.72 1.77-1.2 4-1.95 2.23-.76 4.45-1t4.86-.4q2.64-.15 5.14-.34 2.51-.19 4.85-.94 2.35-.75 4.55-1.71 2.21-.97 4.16-2.26 1.95-1.3 4.03-2.97 2.07-1.67 3.85-3.05 1.78-1.37 3.72-2.48 1.94-1.11 3.3-2.99 1.36-1.89 2.58-3.74 1.22-1.85-.63-3.42-1.85-1.57-3.82-2.86-1.97-1.3-4.11-2.08-2.15-.78-4.21-1.6-2.06-.81-4.02-1.96-1.96-1.14-3.71-2.48-1.74-1.33-3.37-2.77-1.63-1.43-3.23-3.62-1.6-2.18-2.23-4.64-.62-2.46-.36-4.96.27-2.49 1.19-4.46.91-1.97 2.42-3.7 1.5-1.73 3.5-3.15t4.11-2.28q2.1-.86 4.33-1.44 2.24-.58 4.92-.84 2.68-.26 4.83-.19t4.69.35q2.53.28 4.75.66 2.23.38 4.48.2 2.26-.19 4.43-1.3 2.17-1.12 4.2-2.36 2.04-1.24 3.93-2.43 1.9-1.19 3.84-2.14 1.95-.95 4.04-1.78 2.09-.83 4.56-2.28 2.46-1.46 2.46-1.45h.01q.01 0-1.38 1.3-1.38 1.29-3.08 2.59-1.7 1.3-3.5 2.5t-3.42 2.65q-1.62 1.45-3.18 3-1.57 1.56-3.37 3.13-1.8 1.57-3.6 2.91-1.81 1.33-3.92 2.12t-4.24.92q-2.13.14-4.31.26-2.18.12-4.5.39t-4.56.88q-2.25.61-4.24 1.6-1.99 1-3.83 2.29-1.83 1.29.18 2.44 2.01 1.15 4.2 1.92 2.2.78 4.34 1 2.15.22 4.4.69 2.25.46 4.34 1.16 2.08.71 4.33 1.91 2.25 1.21 4.11 2.73 1.87 1.52 3.68 4.03 1.82 2.5 2.74 5 .93 2.5 1.18 5.03.26 2.53-.04 4.81t-1.4 4.85q-1.09 2.58-2.4 4.26-1.3 1.68-3.1 3.44t-4.02 3.62q-2.23 1.85-4.32 3.07-2.08 1.23-4.34 1.99-2.25.76-4.46 1.96t-4.37 2.14q-2.15.93-4.22 1.81t-4.36 1.35q-2.3.46-4.52.82-2.22.35-4.76.38-2.54.04-4.87-.28t-4.67-.67q-2.34-.35-4.72-.54-2.39-.19-4.64.37-2.25.56-4.16 1.66-1.91 1.11-3.52 2.71-1.61 1.6-2.55 2.39l-.94.78Z"}));default:return React__namespace.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",fill:null!==(d=e.strokeColor)&&void 0!==d?d:"var(--icon-fill-color)",stroke:null!==(h=e.strokeColor)&&void 0!==h?h:"var(--icon-fill-color)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},React__namespace.createElement("path",{d:"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z"}))}},stringToSVG=e=>(e=e.replace(/stroke\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]width\s*=\s*['"][^"']*['"]/g,"").replace(/[^-]height\s*=\s*['"][^"']*['"]/g,"").replace("{const A=t.getAppState();t.updateScene({appState:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({currentStrokeOptions:e.penOptions},e.strokeWidth&&0!==e.strokeWidth?{currentItemStrokeWidth:e.strokeWidth}:null),e.backgroundColor?{currentItemBackgroundColor:e.backgroundColor}:null),e.strokeColor?{currentItemStrokeColor:e.strokeColor}:null),""===e.fillStyle?null:{currentItemFillStyle:e.fillStyle}),e.roughness?null:{currentItemRoughness:e.roughness}),e.freedrawOnly&&!A.resetCustomPen?{resetCustomPen:{currentItemStrokeWidth:A.currentItemStrokeWidth,currentItemBackgroundColor:A.currentItemBackgroundColor,currentItemStrokeColor:A.currentItemStrokeColor,currentItemFillStyle:A.currentItemFillStyle,currentItemRoughness:A.currentItemRoughness}}:null)})},resetStrokeOptions=(e,t,A)=>{t.updateScene({appState:Object.assign(Object.assign(Object.assign({},e?{currentItemStrokeWidth:e.currentItemStrokeWidth,currentItemBackgroundColor:e.currentItemBackgroundColor,currentItemStrokeColor:e.currentItemStrokeColor,currentItemFillStyle:e.currentItemFillStyle,currentItemRoughness:e.currentItemRoughness}:null),{resetCustomPen:null}),A?{currentStrokeOptions:null}:null)})};class ObsidianMenu{constructor(e,t,A){this.plugin=e,this.toolsRef=t,this.view=A,this.renderCustomPens=(e,t)=>{var A;return null===(A=t.customPens)||void 0===A?void 0:A.map(((A,i)=>{const n=this.plugin.settings.customPens[i];return t.resetCustomPen&&"freedraw"!==t.activeTool.type&&t.currentStrokeOptions===n.penOptions&&setTimeout((()=>resetStrokeOptions(t.resetCustomPen,this.view.excalidrawAPI,!1))),!t.resetCustomPen&&"freedraw"===t.activeTool.type&&t.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&setTimeout((()=>setPen(this.activePen,this.view.excalidrawAPI))),this.activePen&&t.resetCustomPen&&"freedraw"===t.activeTool.type&&t.currentStrokeOptions===n.penOptions&&n.freedrawOnly&&(this.activePen.strokeWidth=t.currentItemStrokeWidth,this.activePen.backgroundColor=t.currentItemBackgroundColor,this.activePen.strokeColor=t.currentItemStrokeColor,this.activePen.fillStyle=t.currentItemFillStyle,this.activePen.roughness=t.currentItemRoughness),React__namespace.createElement("label",{key:i,className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{const e=Date.now();if(e-this.clickTimestamp[i]<500){const e=new PenSettingsModal(this.plugin,this.view,i);return void(async()=>{await this.plugin.loadSettings(),e.open()})()}this.clickTimestamp[i]=e;const t=this.view.excalidrawAPI,A=t.getAppState();A.currentStrokeOptions!==n.penOptions||"freedraw"!==A.activeTool.type?(this.activePen=Object.assign({},n),setPen(n,t),t.setActiveTool({type:"freedraw"})):resetStrokeOptions(A.resetCustomPen,t,!0)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":n.type,style:Object.assign({},"freedraw"===t.activeTool.type&&t.currentStrokeOptions===n.penOptions?{background:"var(--color-primary)"}:{})},penIcon(n)))}))},this.longpressTimeout={},this.renderPinnedScriptButtons=(e,t)=>{var A;let i=0;return null===(A=null==t?void 0:t.pinnedScripts)||void 0===A?void 0:A.map(((t,A)=>{var n;const a=this.plugin.scriptEngine.scriptIconMap[t],r=null!==(n=null==a?void 0:a.name)&&void 0!==n?n:"",s=(null==a?void 0:a.svgString)?stringToSVG(a.svgString):ICONS.cog;return this.longpressTimeout[A]||(this.longpressTimeout[A]=0),React__namespace.createElement("label",{key:A,className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onPointerUp:()=>{this.longpressTimeout[A]&&(window.clearTimeout(this.longpressTimeout[A]),this.longpressTimeout[A]=0,(async()=>{const e=app.vault.getAbstractFileByPath(t);e&&e instanceof obsidian_module.TFile&&this.plugin.scriptEngine.executeScript(this.view,await app.vault.read(e),this.plugin.scriptEngine.getScriptName(e),e)})())},onPointerDown:()=>{const e=Date.now();this.longpressTimeout[A]>0&&(window.clearTimeout(this.longpressTimeout[A]),this.longpressTimeout[A]=0),e-i>=500&&(this.longpressTimeout[A]=window.setTimeout((()=>{this.longpressTimeout[A]=0,(async()=>{var e;await this.plugin.loadSettings();const A=this.plugin.settings.pinnedScripts.indexOf(t);A>-1&&(this.plugin.settings.pinnedScripts.splice(A,1),null===(e=this.view.excalidrawAPI)||void 0===e||e.setToast({message:`Pin removed: ${r}`,duration:3e3,closable:!0})),await this.plugin.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))})()}),1500)),i=e}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-label":r},s))}))},this.renderButton=(e,t)=>React__namespace.createElement(React__namespace.Fragment,null,React__namespace.createElement("label",{className:clsx("ToolIcon","ToolIcon_size_medium",{"is-mobile":e}),onClick:()=>{this.toolsRef.current.setTheme(t.theme),this.toolsRef.current.toggleVisibility(t.zenModeEnabled||e)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},ICONS.obsidian)),this.renderCustomPens(e,t),this.renderPinnedScriptButtons(e,t)),this.clickTimestamp=Array.from({length:Object.keys(PENS).length},(()=>0))}}class ActionButton extends React__namespace.Component{constructor(e){super(e),this.toastMessageTimeout=0,this.longpressTimeout=0,this.state={visible:!0}}render(){return React__namespace.createElement("button",{style:{},className:"ToolIcon_type_button ToolIcon_size_small ToolIcon_type_button--show ToolIcon",title:this.props.title,onClick:e=>{this.toastMessageTimeout&&(window.clearTimeout(this.toastMessageTimeout),this.toastMessageTimeout=0,this.props.action(e)),this.longpressTimeout&&(window.clearTimeout(this.longpressTimeout),this.longpressTimeout=0)},onPointerDown:e=>{this.toastMessageTimeout=window.setTimeout((()=>{var e;null===(e=this.props.view.excalidrawAPI)||void 0===e||e.setToast({message:this.props.title,duration:3e3,closable:!0}),this.toastMessageTimeout=0}),400),this.longpressTimeout=window.setTimeout((()=>{var t;this.props.longpress?this.props.longpress(e):null===(t=this.props.view.excalidrawAPI)||void 0===t||t.setToast({message:"Cannot pin this action",duration:3e3,closable:!0}),this.longpressTimeout=0}),1500)}},React__namespace.createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},this.props.icon))}}const FIRST_RUN='\nThe Excalidraw Obsidian plugin is much more than "just" a drawing tool. To help you get started here\'s a showcase of the key Excalidraw plugin features.\n\nIf you\'d like to learn more, please subscribe to my YouTube channel: [Visual PKM](https://www.youtube.com/channel/UCC0gns4a9fhVkGkngvSumAQ) where I regularly share videos about Obsidian-Excalidraw and about tools and techniques for Visual Personal Knowledge Management.\n\nThank you & Enjoy!\n\n
      \n\n
      \n',RELEASE_NOTES={Intro:'After each update you\'ll be prompted with the release notes. You can disable this in plugin settings.\n\nI develop this plugin as a hobby, spending my free time doing this. If you find it valuable, then please say THANK YOU or...\n\n
      \n',"1.9.3":'\n## New from Excalidraw.com\n- Eyedropper tool. The eyedropper is triggered with "i". If you hold the ALT key while clicking the color it will set the stroke color of the selected element, else the background color.\n- Flipping multiple elements\n- Improved stencil library rendering performance + the stencil library will remember the scroll position from the previous time it was open\n\n## Fixed\n- Replaced command palette and tab export SVG/PNG/Excalidraw actions with "export image" which will take the user to the export image dialog.\n',"1.9.2":`\n
      \n\n
      \n\n## New\n- Excalidraw.com Color Picker redesign [#6216](https://github.com/excalidraw/excalidraw/pull/6216)\n- Updated palette loader script in the script library\n- New ExcalidrawAutomate API to load Elements and AppState from another Excalidraw file.\n${String.fromCharCode(96,96,96)}typescript\nasync getSceneFromFile(file: TFile): Promise<{elements: ExcalidrawElement[]; appState: AppState;}>\n${String.fromCharCode(96,96,96)}\n`,"1.9.1":'\n## Updates from Excalidraw.com\n- "Unlock all elements" - new action available via the context menu [#5894](https://github.com/excalidraw/excalidraw/pull/5894)\n- Minor improvements to improve the speed [#6560](https://github.com/excalidraw/excalidraw/pull/6560)\n- Retain Seed on Shift Paste [#6509](https://github.com/excalidraw/excalidraw/pull/6509)\n\n## New/Fixed\n- Clicking on the link handle (top right corner) will open the link in the same window\n- CTRL/CMD click on a link will open the link in a new tab and will focus on the new tab\n- Linking to parts of images. In some cases clicking search results, links, or backlinks did not focus on the right element according to the link. Fixed.\n',"1.9.0":`\n
      \n\n
      \n\n## Fixed\n- Embedded images, markdowns, PDFs will load one by one, not in one go after a long wait\n\n## New\n- Embed PDF\n\n## New in ExcalidrawAutomate\n- onFileCreateHook: if set this hook is called whenever a new drawing is created using Excalidraw command palette menu actions. If the excalidraw file is created using Templater or other means, the trigger will not fire. [#1124](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1124)\n${String.fromCharCode(96,96,96)}typescript\n onFileCreateHook: (data: {\n ea: ExcalidrawAutomate;\n excalidrawFile: TFile; //the file being created\n view: ExcalidrawView;\n }) => Promise;\n ${String.fromCharCode(96,96,96)}\n`,"1.8.26":"\n## Fixed\n- Dynamic styling did not pick up correctly\n - the accent color with the default Obsidian theme\n - the drawing theme color with the out of the box, default new drawing (not using a template)\n- The Obsidian tools panel did not pick up user scripts when installing your very first script. A reload of Obsidian was required.\n","1.8.25":'\n
      \n\n
      \n\n## New & improved\n- Multi-link support\n- Updated [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) script for better handwritten text support. \n - Add links to text elements\n - Creating wrapped text in transparent sticky notes\n - Add text to arrows and lines\n - Handwriting support on iOS via Scribble\n\n## Fixed\n - The long-standing issue of jumping text\n \n',"1.8.24":`\n## Updates from Excalidraw.com\n- fix: color picker keyboard handling not working\n- fix: center align text when bind to the container via context menu\n- fix: split "Edit selected shape" shortcut\n\n## Fixed\n- BUG: Area embed link of svg inside excalidraw embed entire svg instead of area [#1098](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1098)\n\n## New\n- I updated the [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) script with tons of new features. I am still beta testing the script. I will release a demo video in the next few days.\n\n## New in Excalidraw Automate\n- I added many more configuration options for the scriptEngine utils.inputPrompt function. See [Scribble Helper](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Scribble%20Helper.md) for a demonstration of this new feature.\n${String.fromCharCode(96,96,96)}typescript\n public static async inputPrompt(\n view: ExcalidrawView,\n plugin: ExcalidrawPlugin,\n app: App,\n header: string,\n placeholder?: string,\n value?: string,\n buttons?: { caption: string; tooltip?:string; action: Function }[],\n lines?: number,\n displayEditorButtons?: boolean,\n customComponents?: (container: HTMLElement) => void\n )\n${String.fromCharCode(96,96,96)}`,"1.8.23":'\n## Fixes\n- Fixed palm rejection to prevent unwanted spikes when using the freedraw tool. ([#1065](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1065))\n- Fixed issue where images disappeared when zoomed in. ([#6417](https://github.com/excalidraw/excalidraw/pull/6417))\n- Autosave will now save the drawing when you change the theme from dark to light or vice versa. ([#1080](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1080))\n- Added padding to short LaTeX formulas to prevent cropping. ([#1053](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1053))\n\n## New Features\n- Added a new command palette action: Toggle to invert default binding behavior. This new feature allows you to switch between normal and inverted mode. In normal mode, arrows will bind to objects unless you hold the CTRL/CMD key while drawing the arrow or moving objects. In inverted mode, arrows will not bind to objects unless you hold the CTRL/CMD key while drawing the arrow or moving objects.\n- You can now set a template LaTeX formula in the plugin settings (under experimental features) to be used when creating a new LaTeX formula. ([#1090](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1090))\n- Redesigned the Image Export dialog. I hope dropdowns are now more intuitive than the toggles were.\n- Added the ability to export only the selected part of a drawing. See the Export dialog for more information.\n- Added a zigzag fill easter egg. See a demo of this feature [here](https://twitter.com/excalidraw/status/1645428942344445952?s=61&t=nivKLx2vgl6hdv2EbW4mZg).\n- Added a new expert function: recolor embedded Excalidraw and SVG images (not JPG, PNG, BMP, WEBP, GIF). See a demo of this feature here:\n\n
      \n\n
      \n',"1.8.22":`\n## Fixed\n- Styling of custom pen and script buttons in the side panel was inverted.\n- Minor tweaks to dynamic styling. [see this video to understand dynamic styling](https://youtu.be/fypDth_-8q0)\n\n## New\n- New scripts by @threethan:\n - [Auto Draw for Pen](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Auto%20Draw%20for%20Pen.md): Automatically switches between the select and draw tools, based on whether a pen is being used. Supports most pens including Apple Pencil.\n - [Hardware Eraser Support](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Hardware%20Eraser%20Support.md): Adds support for pen inversion, a.k.a. the hardware eraser on the back of your pen. Supports Windows based styluses. Does not suppoprt Apple Pencil or S-Pen.\n- Added separate buttons to support copying link, area or group references to objects on the drawing. [#1063](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1063). See [this video](https://youtu.be/yZQoJg2RCKI) for more details on how this works.\n- Hover preview will no longer trigger for image files (.png, .svg, .jpg, .gif, .webp, .bmp, .ico, .excalidraw)\n- Minor updates to the [Slideshow](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) script. You can download the updated script from the Excalidraw script library. The slideshow will now correctly run also when initiated in a popout window. When the drawing is in a popout window, the slideshow will not be full screen, but will only occupy the popout window. If you run the slideshow from the main Obsidian workspace, it will be displayed in full-screen mode.\n- Updated the Icon Library script to now include image keywords under each of the images to allow searching for keywords (CTRL/CMD+F). I've uploaded the new script to [here](https://gist.github.com/zsviczian/33ff695d5b990de1ebe8b82e541c26ad). If you need further information watch this [video](https://youtu.be/_OEljzZ33H8)\n\n## New in ExcalidrawAutomate\n- ${String.fromCharCode(96)}addText${String.fromCharCode(96)} ${String.fromCharCode(96)}formatting${String.fromCharCode(96)} parameter now accepts ${String.fromCharCode(96)}boxStrokeColor${String.fromCharCode(96)} and ${String.fromCharCode(96)}textVerticalAlign${String.fromCharCode(96)} values.\n${String.fromCharCode(96,96,96)}typescript\naddText(\n topX: number,\n topY: number,\n text: string,\n formatting?: {\n wrapAt?: number;\n width?: number;\n height?: number;\n textAlign?: "left" | "center" | "right";\n box?: boolean | "box" | "blob" | "ellipse" | "diamond";\n boxPadding?: number;\n boxStrokeColor?: string;\n textVerticalAlign?: "top" | "middle" | "bottom";\n },\n id?: string,\n ): string;\n${String.fromCharCode(96,96,96)}\n- new ${String.fromCharCode(96)}onFileOpenHook${String.fromCharCode(96)}. If set, this callback is triggered, when an Excalidraw file is opened. You can use this callback in case you want to do something additional when the file is opened. This will run before the file level script defined in the ${String.fromCharCode(96)}excalidraw-onload-script${String.fromCharCode(96)} frontmatter is executed. Excalidraw will await the result of operations here. Handle with care. If you change data such as the frontmatter of the underlying file, I haven't tested how it will behave.\n${String.fromCharCode(96,96,96)}typescript\nonFileOpenHook: (data: {\n ea: ExcalidrawAutomate;\n excalidrawFile: TFile; //the file being loaded\n view: ExcalidrawView;\n}) => Promise;\n${String.fromCharCode(96,96,96)}`,"1.8.21":'\n## Quality of Life improvements\n- Dynamic Styling (see plugin settings / Display). When Dynamic Styling is enabled it fixes Excalidraw issues with the Minimal Theme\n- New "Invert Colors" script\n\n
      \n\n
      \n\n### Note\nThe few of you, that are using the Dynamic Styling Templater script, please remove it and restart Obsidian.\n',"1.8.20":"\n## Fixed\n- Excalidraw froze Obsidian in certain rare situations [#1054](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1054)\n- File loading error [#1062](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1062)\n- Embedded images in markdown documents no longer have the line on the side. Image sizing works better. [#1059](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1059)\n- Locked elements will not show a hover preview [#1060](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1060)\n- CTRL/CMD + K correctly triggers add link [#1056](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1056)\n\n## New\n- Grid color adjusts to the view background color\n\nI'm sorry, but the sticky note editing issue on Android with the on-screen keyboard has still not been resolved. If you also experience this error, please help raise the priority with the core Excalidraw team by commenting on this issue: [#6330](https://github.com/excalidraw/excalidraw/issues/6330)\n","1.8.19":"\n## Fixed: Text wrapping issue in sticky notes\n\nI fixed an issue where text would wrap differently and words would disappear during text editing in sticky notes. You can check out the details on [GitHub #6318](https://github.com/excalidraw/excalidraw/issues/6331).\n\nI am aware of three additional issues related to container text editing that are still open. I apologize for any inconvenience caused by the recent change in how text size is calculated on Excalidraw.com, which has had a knock-on effect on Obsidian. I am actively working to address the following issues:\n\n- Pinch zooming while editing text in a text container [GitHub #6331](https://github.com/excalidraw/excalidraw/issues/6331)\n- Container text jumps on edit on Android with on-screen keyboard [GitHub #6330](https://github.com/excalidraw/excalidraw/issues/6330)\n- Shadow text when editing text containers without a keyboard on iOS [GitHub #6329](https://github.com/excalidraw/excalidraw/issues/6329)\n\nThank you for your patience while I work on resolving these issues.\n","1.8.18":`\n## Fixed\n- Text scaling issue introduced in 1.8.17\n- [#1043](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1043): Error handling when ${String.fromCharCode(96)}onCanvasColorChangeHook${String.fromCharCode(96)} is executed. This is used in the [Dynamic Styling Script](https://youtu.be/LtR04fNTKTM). \n`,"1.8.17":'\n## New from Excalidraw.com\n- Improved text wrapping in the ellipse and diamond shapes [6172](https://github.com/excalidraw/excalidraw/pull/6172)\n\n## New\n- Updated slideshow script\n\n
      \n\n
      \n\n## Fixed: \n- "Save to..." in the Stencil Library menu now works as expected [#1032](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1032)\n',"1.8.16":'\n**!!! Modifier keys have changed, please review the table below !!!**\n[Click this to see the new shortcuts overview image](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/excalidraw-modifiers.png)\n\n## Fixed \n- This version was extensively tested and developed on MacOS to remove usability issues.\n- New command palette action to create a new drawing in a new tab\n- Modifier keys to open links in the active window, splitting the current view to the right, in a new tab, or in a popout window now behave consistently both in Excalidraw and when clicking a drawing that is embedded in a markdown note.\n- Drag & Drop properly works from within Obsidian, from a web browser, and from the OS file explorer\n\n
      \n\n
      \n',"1.8.14":"\n## Fixed\n- text element link gets deleted when the drawing is reloaded\n","1.8.13":'\n## Fixed\n- When changing a text element in markdown mode, the change seem to have showed up when switching back to Excalidraw mode, but then lost these changes when loading the file the next time.\n- Scrolling through a page that has embedded drawings on Obsidian Mobile accidently opens the drawing in Excalidraw when touching the image. Now you need to press and hold to open the image in Excalidraw. [#1003](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1003)\n- The scrollbar is no longer visible when presenting using the SlideShow script\n- Stroke properties could not be changed when custom pen settings had "Stroke & fill applies to: All shapes". It works now.\n\n## QoL\n- Custom pens will remember the stroke changes until you press the pen preset button again.\n - This is a bit hard to explain, let me try... Essentially, when you use a custom pen, it will keep the changes you made to the pen (like changing the stroke width) until you press the pen-prereset button again. So, for example, if you\'re using a mind mapping custom pen and change its color, and then switch to a different tool like text, when you switch back to the freedraw tool using the Excalidraw tools panel, the pen will still have the same color you set earlier, but if you press the mind mapping pen-preset button, it will default back to your custom pen settings including your preset color.\n- Added new buttons to load current stroke color and background color in the pen settings dialog. Also added an edit box so you can configure any valid color string (including with transparency) for pen stroke and background colors. [#991](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/991)\n',"1.8.11":'\n
      \n\n
      \n\n# New\n- Support for referencing images from the internet in Excalidraw drawings, including YouTube thumbnail support. [#913](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/913)\n - Link to images on the internet without creating a copy in your Vault by holding down the CTRL key while dropping the link or image.\n - Automatic conversion of image URLs and YouTube links into image elements with original links added as a link on the element when pasting. Note, that if you only want to paste the plain text link (not the image), first double-click the canvas to start a new text element, then paste the link.\n- Two new options added to plugin settings:\n - Make mouse wheel zoom by default [#474](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/474)\n - Allow pinch zoom in pen mode [#828](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/828)\n- Update to the [Set Grid](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Set%20Grid.svg) script now saves the grid setting for the current file.\n',"1.8.10":'\n
      \n\n
      \n\n# QoL improvements\n- You can structure icons in the Obsidian tools panel by moving scripts to folders\n![image|300](https://user-images.githubusercontent.com/14358394/212389592-306130d0-209a-49df-99bb-c538f2155b23.png)\n- I added useful actions to the hamburger menu in both tray-mode and normal-mode. \n![image|150](https://user-images.githubusercontent.com/14358394/212534508-9107fd19-27ab-4415-8abc-bc97c73afc0b.png)\n- I added a new Export Image dialog. You can access the new export screen from the hamburger-menu\n![image|200](https://user-images.githubusercontent.com/14358394/212534654-7a479e23-8d5d-452e-9a18-a9896278aa27.png)\n- Links in help now point to Obsidian-Excalidraw relevant content.\n- I added a welcome screen\n![image|150](https://user-images.githubusercontent.com/14358394/212534568-3cd1e8a1-5b20-4a30-96e4-40d7dac57e33.png)\n- I updated the alternative dark mode / dynamic styling [script](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n',"1.8.9":"\n# Minor QoL improvements\n- When you open a second drawing in the same Excalidraw view (i.e. by navigating a link) and make a change to this drawing, and then press UNDO, the entire drawing disappeared. Redo brought the image back, however, this behavior was frustrating. Not anymore...\n- On iPad\n - when you open the command palette, autozoom resized the drawing. If the Obsidian command palette or some other modal window is shown Excalidraw will not resize the view.\n - when you add a link to the drawing using the Command Palette, sometimes the link was added in a far corner of the drawing outside the current view area. This should be fixed now.","1.8.8":`\n
      \n\n
      \n\n# New\n- The plugin now includes support for [Perfect Freehand](https://perfect-freehand-example.vercel.app/) pen-options. I've also added a new [Alternative Pens](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Alternative%20Pens.md) script.\n- Embed scene in exported PNG and SVG images [#860](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/860). This means that the export will be a normal PNG or SVG image with the added functionality that if someone loads the image into excalidraw.com it will open as a normal excalidraw file.\n - I've added 2 new Command Palette actions (export PNG, export SVG with embedded scene).\n - If you SHIFT click ${String.fromCharCode(96)} Save as PNG (or SVG)${String.fromCharCode(96)} in the workspace-tab menu, Excalidraw will embed the scene in the export.\n- I updated the [Organic Line](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Organic%20Line.md) script. It has an improved thick-to-thin look and a new thin-to-thick-to-thin line type.\n\n# Fixed\n- Intelligent image width setting [#955](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/955). Before this change, when the embedded image was small, the image would be extended to meet the image width setting in plugin settings. From now on, if the image is smaller than max-width, it will only extend to max-width. You can still set 100% width using custom CSS. See more on that [here](https://github.com/zsviczian/obsidian-excalidraw-plugin#embedded-images).\n\n# New in ExcalidrawAutomate\n- I added the ${String.fromCharCode(96)} plaintext${String.fromCharCode(96)} parameter to ${String.fromCharCode(96)}ExcalidrawAutomate.create${String.fromCharCode(96)} . Using this, you can add some text below the frontmatter but above the ${String.fromCharCode(96)}# Text Elements${String.fromCharCode(96)} section. Use this for example to add metadata to your file. (e.g. I use this in my Daily Quote template to add a Dataview field for the ${String.fromCharCode(96)}Author::${String.fromCharCode(96)} and add the quote with a standard block reference, so I can easily reference it in other files. I also add the ${String.fromCharCode(96)}#quote${String.fromCharCode(96)} tag to the file using this.)\n- The script running in the ScriptEngine now also receives the ${String.fromCharCode(96)}TFile${String.fromCharCode(96)} object for the script itself. You can access this object during execution via the ${String.fromCharCode(96)}utils.scriptFile${String.fromCharCode(96)} variable. \n`,"1.8.7":'\n## New from Excalidraw.com\n- Support shrinking text containers to their original height when text is removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)\n
      \n\n
      \n\n## Fixed\n- removed the white background when editing arrow-label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)\n- Minor style tweaks\n - for embedding Excalidraw into Obsidian Canvas. e.g. dragging no longer accidentally creates an image copy of the drawing, and\n - style tweaks on the Excalidraw canvas\n\n## New\n- If you set a different text color and sticky note border color, now if you change the border color, the text color will not be changed.\n',"1.8.6":`\n## New from Excalidraw.com:\n- Better default radius for rectangles [#5553](https://github.com/excalidraw/excalidraw/pull/5553). Existing drawings will look unchanged, this applies only to new rectangles.\n![image|200](https://user-images.githubusercontent.com/5153846/206264345-59fd7436-e87b-4bc9-ade8-9e6f6a6fd8c1.png)\n> [!attention]- ExcalidrawAutomate technical details\n> - ${String.fromCharCode(96)}strokeSharpness${String.fromCharCode(96)} is now deprecated\n> - use roundness instead\n> - ${String.fromCharCode(96)}roundness === null${String.fromCharCode(96)} is legacy ${String.fromCharCode(96)}strokeSharpness = "sharp"${String.fromCharCode(96)}\n> - ${String.fromCharCode(96)}roundness = { type: RoundnessType; value?: number }${String.fromCharCode(96)}\n> - type: 1, LEGACY, type:2 PROPORTIONAL_RADIUS, type:3 ADAPTIVE_RADIUS: 3\n> - value:\n> - Radius represented as % of element's largest side (width/height).\n> DEFAULT_PROPORTIONAL_RADIUS = 0.25;\n> - Fixed radius for the ADAPTIVE_RADIUS algorithm. In pixels.\n> DEFAULT_ADAPTIVE_RADIUS = 32;\n\n## New\n- For Obsidian 1.1.6 and above\n - Improved embedding into Obsidian Canvas\n - Improved embedding into Markdown documents\n- Added setting under ${String.fromCharCode(96)}Display/Default mode when opening Excalidraw${String.fromCharCode(96)} to always open the drawing in view mode on Mobile, but in normal mode on desktop. [#939](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/939)\n\n## Fixed\n- Zoom reset tooltip appears twice [#942](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/942)\n- Hid export library from library menu as it does not work due to Obsidian limitations. Use the command palette export library instead.\n- Arrow with label did not get exported and embedded correctly [#941](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/941)\n![image|200](https://user-images.githubusercontent.com/22638687/207845868-b352ddb1-7994-4f13-a0b2-f2e19bd72935.png)\n`,"1.8.4":'\n## New from Excalidraw.com\n- Labels on Arrows!!! [#5723](https://github.com/excalidraw/excalidraw/pull/5723)\n - To add a label press "Enter" or "Double click" on the arrow\n - Use "Cmd/Ctrl+double click" to enter the line editor\n\n
      \n\n
      \n\n## New\n- **Changed behavior**: In the Obsidian markdown editor clicking an Excalidraw image will not open the image (to avoid accidentally opening the image on a tablet). To open a drawing for editing in Excalidraw double click or long-tap on it. [#920](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/920)\n\n## Fixed \n- Text stroke color is not honored when pasting a HEX color string to an Excalidraw canvas open in an Obsidian popout window [#921](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/921)\n- The new [multi-line >> multi-element paste behavior](https://github.com/excalidraw/excalidraw/pull/5786) introduced in the previous release did not work as expected in Obsidian. Now it does.\n',"1.8.2":`\nIntroducing the [Excalidraw Slideshow Script](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Slideshow.md) - available in the script store\n
      \n\n
      \n\n## Fixed\n- Obsidian tools panel gets misplaced after switching Obsidian workspace tabs\n\n## New in ExcalidrawAutomate\n- changed ${String.fromCharCode(96)}viewToggleFullScreen(forceViewMode: boolean = false): void${String.fromCharCode(96)}: the function will toggle view mode on when going to full screen and view mode off when terminating full screen.\n- new functions\n${String.fromCharCode(96,96,96)}typescript\nsetViewModeEnabled(enabled: boolean):void;\nviewUpdateScene(\n scene: {\n elements?: ExcalidrawElement[];\n appState?: AppState;\n files?: BinaryFileData;\n commitToHistory?: boolean;\n },\n restore: boolean = false,\n ):void;\nviewZoomToElements(\n selectElements: boolean,\n elements: ExcalidrawElement[]\n ):void;\n${String.fromCharCode(96,96,96)}\n\n`,"1.8.1":`\n## New and fixes from Excalidraw.com\n- New text paste behavior. Pasting multiline text will generate separate text elements unless you hold down the shift button while pasting [#5786](https://github.com/excalidraw/excalidraw/pull/5786)\n- line editor fixes [#5927](https://github.com/excalidraw/excalidraw/pull/5927)\n\n## Fixed\n- The Command Palette "Insert link" action now inserts the new link at the top drawing layer, not at the bottom.\n- Updated, hopefully, better organized, Plugin Readme.\n\n## New\n- Second attempt at moving to React 18. This upgrade is required to maintain alignment with the core Excalidraw product and to continue to benefit from Excalidraw.com enhancements.\n- Added options to Plugin Settings\n - to disable autozoom when loading a drawing for the first time [#907](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/907)\n - to modify autosave interval. You can now set an autosave interval for desktop and for mobile [#888](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/888)\n\n## New in ExcalidrawAutomate\n- Published the obsidian_module on the ExcalidrawAutomate object. ${String.fromCharCode(96)}ExcalidrawAutomate.obsidian${String.fromCharCode(96)}. Publishing this object will give script developers increased flexibility and control over script automation.\n`,"1.8.0":'\n
      \n\n
      \n\n## New\n- Optical Character Recognition (OCR). Introducing the MVP (minimum viable product) release of the integration of [Taskbone](https://taskbone.com) OCR into Excalidraw. See the new scan button on the Obsidian tools panel.\n- New and improved full-screen mode\n - Activate using the Obsidian tools panel, the Obsidian Command Palette, or the Alt+F11 shortcut\n - The ESC key no longer closes full-screen\n - Full-screen mode works properly on iOS as well\n- Improved Icon visibility on the Obsidian tools panel\n- Added 3 additional buttons to the tools panel\n - Force save\n - Open link (useful on Mobile devices). In the case of LaTeX equations, the button opens the equation properties.\n - Open the link in a new pane. In the case of embedded markdown documents, the button opens the embed properties.\n\n## Fixed\n- The [deconstruct selected elements into a new drawing](https://github.com/zsviczian/obsidian-excalidraw-plugin/blob/master/ea-scripts/Deconstruct%20selected%20elements%20into%20new%20drawing.md) script now also correctly decomposes transcluded text elements.\n',"1.7.30":"\nFix:\n- Forcing the embedded image to always scale to 100% (a feature introduced in [1.7.26](https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.7.26)) scaled the embedded excalidraw drawings incorrectly on devices with a pixel ratio of 2 or 3 (e.g. iPads). This is now fixed, however, this fix might retrospectively impact drawings that use this feature. Sorry for that.\n","1.7.29":"\n- This is a big update that accommodates the **UI redesign** on Excalidraw.com [#5780](https://github.com/excalidraw/excalidraw/pull/5780). The change on the surface may seem superficial, however, I had to tweak a number of things to make it work in Obsidian. I hope I found everything that broke and fixed it, if not, I'll try to fix it quickly...\n- This update also comes with changes under the hood that **fix issues with Excalidraw Automate** - paving the way for further scripts, plus some smaller bug fixes.\n- I **reworked text wrapping**. In some cases, text wrapping in SVG exports looked different compared to how the text looked in Excalidraw. This should now be fixed.\n- If you are using the **Experimental Dynamic Styling** of the Excalidraw Toolbar, then I recommend updating your styling script following base on [this](https://gist.github.com/zsviczian/c7223c5b4af30d5c88a0cae05300305c)\n","1.7.27":'## New\n- Import SVG drawing as an Excalidraw object. [#679](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/679)\n\n
      \n\n
      \n\n## Fixed\n- Large drawings freeze on the iPad when opening the file. I implemented a workaround whereby Excalidraw will avoid zoom-to-fit drawings with over 1000 elements. [#863](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/863)\n- Reintroduced copy/paste to the context menu\n',"1.7.26":'## Fixed\n- Transcluded block with a parent bullet does not embed sub-bullet [#853](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/853)\n- Transcluded text will now exclude ^block-references at end of lines\n- Phantom duplicates of the drawing appear when "zoom to fit" results in a zoom value below 10% and there are many objects on the canvas [#850](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/850)\n- CTRL+Wheel will increase/decrease zoom in steps of 5% matching the behavior of the "+" & "-" zoom buttons.\n- Latest updates from Excalidarw.com\n - Freedraw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)\n - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)\n\n## New - power user features\n- Force the embedded image to always scale to 100%. Note: this is a very niche feature with a very particular behavior that I built primarily for myself (even more so than other features in Excalidraw Obsidian - also built primarily for myself 😉)... This will reset your embedded image to 100% size every time you open the Excalidraw drawing, or in case you have embedded an Excalidraw drawing on your canvas inserted using this function, every time you update the embedded drawing, it will be scaled back to 100% size. This means that even if you resize the image on the drawing, it will reset to 100% the next time you open the file or you modify the original embedded object. This feature is useful when you decompose a drawing into separate Excalidraw files, but when combined onto a single canvas you want the individual pieces to maintain their actual sizes. I use this feature to construct Book-on-a-Page summaries from atomic drawings.\n- I added an action to the command palette to temporarily disable/enable Excalidraw autosave. When autosave is disabled, Excalidraw will still save your drawing when changing to another Obsidian window, but it will not save every 10 seconds. On a mobile device (but also on a desktop) this can lead to data loss if you terminate Obsidian abruptly (i.e. swipe the application away, or close Obsidian without first closing the drawing). Use this feature if you find Excalidraw laggy.'};class ReleaseNotes extends obsidian_module.Modal{constructor(e,t,A){super(e),this.plugin=t,this.version=A}onOpen(){var e;this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText(`Welcome to Excalidraw ${null!==(e=this.version)&&void 0!==e?e:""}`),this.createForm()}async onClose(){this.contentEl.empty(),await this.plugin.loadSettings(),this.plugin.settings.previousRelease=PLUGIN_VERSION,await this.plugin.saveSettings()}async createForm(){let e=this.plugin.settings.previousRelease;e=this.version===e?"0.0.0":e;const t=this.version?Object.keys(RELEASE_NOTES).filter((t=>"Intro"===t||isVersionNewerThanOther(t,e))).map((e=>`${"Intro"===e?"":`# ${e}\n`}${RELEASE_NOTES[e]}`)).slice(0,10).join("\n\n---\n"):FIRST_RUN;await obsidian_module.MarkdownRenderer.renderMarkdown(t,this.contentEl,"",this.plugin),this.contentEl.createEl("p",{text:""},(e=>{e.style.textAlign="right",e.createEl("button",{text:"Close"}).onclick=()=>this.close()}))}}var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce((function(e,t){return e.concat([t+"-"+start,t+"-"+end])}),[]),placements=[].concat(basePlacements,[auto]).reduce((function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])}),[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement(e){return e instanceof getWindow(e).Element||e instanceof Element}function isHTMLElement(e){return e instanceof getWindow(e).HTMLElement||e instanceof HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof getWindow(e).ShadowRoot||e instanceof ShadowRoot)}function applyStyles(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var A=t.styles[e]||{},i=t.attributes[e]||{},n=t.elements[e];isHTMLElement(n)&&getNodeName(n)&&(Object.assign(n.style,A),Object.keys(i).forEach((function(e){var t=i[e];!1===t?n.removeAttribute(e):n.setAttribute(e,!0===t?"":t)})))}))}function effect$2(e){var t=e.state,A={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,A.popper),t.styles=A,t.elements.arrow&&Object.assign(t.elements.arrow.style,A.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],n=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:A[e]).reduce((function(e,t){return e[t]="",e}),{});isHTMLElement(i)&&getNodeName(i)&&(Object.assign(i.style,a),Object.keys(n).forEach((function(e){i.removeAttribute(e)})))}))}}var applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$2,requires:["computeStyles"]};function getBasePlacement(e){return e.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return null!=e&&e.brands?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,A){void 0===t&&(t=!1),void 0===A&&(A=!1);var i=e.getBoundingClientRect(),n=1,a=1;t&&isHTMLElement(e)&&(n=e.offsetWidth>0&&round(i.width)/e.offsetWidth||1,a=e.offsetHeight>0&&round(i.height)/e.offsetHeight||1);var r=(isElement(e)?getWindow(e):window).visualViewport,s=!isLayoutViewport()&&A,o=(i.left+(s&&r?r.offsetLeft:0))/n,l=(i.top+(s&&r?r.offsetTop:0))/a,c=i.width/n,d=i.height/a;return{width:c,height:d,top:l,right:o+c,bottom:l+d,left:o,x:o,y:l}}function getLayoutRect(e){var t=getBoundingClientRect(e),A=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-A)<=1&&(A=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:A,height:i}}function contains(e,t){var A=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(A&&isShadowRoot(A)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle$1(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle$1(e).position)return null;var A=getParentNode(e);for(isShadowRoot(A)&&(A=A.host);isHTMLElement(A)&&["html","body"].indexOf(getNodeName(A))<0;){var i=getComputedStyle$1(A);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return A;A=A.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),A=getTrueOffsetParent(e);A&&isTableElement(A)&&"static"===getComputedStyle$1(A).position;)A=getTrueOffsetParent(A);return A&&("html"===getNodeName(A)||"body"===getNodeName(A)&&"static"===getComputedStyle$1(A).position)?t:A||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,A){return max(e,min(t,A))}function withinMaxClamp(e,t,A){var i=within(e,t,A);return i>A?A:i}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce((function(t,A){return t[A]=e,t}),{})}var toPaddingObject=function(e,t){return mergePaddingObject("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow(e){var t,A=e.state,i=e.name,n=e.options,a=A.elements.arrow,r=A.modifiersData.popperOffsets,s=getBasePlacement(A.placement),o=getMainAxisFromPlacement(s),l=[left,right].indexOf(s)>=0?"height":"width";if(a&&r){var c=toPaddingObject(n.padding,A),d=getLayoutRect(a),h="y"===o?top:left,u="y"===o?bottom:right,g=A.rects.reference[l]+A.rects.reference[o]-r[o]-A.rects.popper[l],p=r[o]-A.rects.reference[o],m=getOffsetParent(a),w=m?"y"===o?m.clientHeight||0:m.clientWidth||0:0,f=g/2-p/2,B=c[h],E=w-d[l]-c[u],b=w/2-d[l]/2+f,v=within(B,b,E),C=o;A.modifiersData[i]=((t={})[C]=v,t.centerOffset=v-b,t)}}function effect$1(e){var t=e.state,A=e.options.element,i=void 0===A?"[data-popper-arrow]":A;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&contains(t.elements.popper,i)&&(t.elements.arrow=i)}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e){var t=e.x,A=e.y,i=window.devicePixelRatio||1;return{x:round(t*i)/i||0,y:round(A*i)/i||0}}function mapToStyles(e){var t,A=e.popper,i=e.popperRect,n=e.placement,a=e.variation,r=e.offsets,s=e.position,o=e.gpuAcceleration,l=e.adaptive,c=e.roundOffsets,d=e.isFixed,h=r.x,u=void 0===h?0:h,g=r.y,p=void 0===g?0:g,m="function"==typeof c?c({x:u,y:p}):{x:u,y:p};u=m.x,p=m.y;var w=r.hasOwnProperty("x"),f=r.hasOwnProperty("y"),B=left,E=top,b=window;if(l){var v=getOffsetParent(A),C="clientHeight",y="clientWidth";v===getWindow(A)&&"static"!==getComputedStyle$1(v=getDocumentElement(A)).position&&"absolute"===s&&(C="scrollHeight",y="scrollWidth"),v=v,(n===top||(n===left||n===right)&&a===end)&&(E=bottom,p-=(d&&v===b&&b.visualViewport?b.visualViewport.height:v[C])-i.height,p*=o?1:-1),n!==left&&(n!==top&&n!==bottom||a!==end)||(B=right,u-=(d&&v===b&&b.visualViewport?b.visualViewport.width:v[y])-i.width,u*=o?1:-1)}var F,x=Object.assign({position:s},l&&unsetSides),S=!0===c?roundOffsetsByDPR({x:u,y:p}):{x:u,y:p};return u=S.x,p=S.y,o?Object.assign({},x,((F={})[E]=f?"0":"",F[B]=w?"0":"",F.transform=(b.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",F)):Object.assign({},x,((t={})[E]=f?p+"px":"",t[B]=w?u+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,A=e.options,i=A.gpuAcceleration,n=void 0===i||i,a=A.adaptive,r=void 0===a||a,s=A.roundOffsets,o=void 0===s||s,l={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:o})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:o})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}},passive={passive:!0};function effect(e){var t=e.state,A=e.instance,i=e.options,n=i.scroll,a=void 0===n||n,r=i.resize,s=void 0===r||r,o=getWindow(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach((function(e){e.addEventListener("scroll",A.update,passive)})),s&&o.addEventListener("resize",A.update,passive),function(){a&&l.forEach((function(e){e.removeEventListener("scroll",A.update,passive)})),s&&o.removeEventListener("resize",A.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect,data:{}},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(function(e){return hash$1[e]}))}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,(function(e){return hash[e]}))}function getWindowScroll(e){var t=getWindow(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var A=getWindow(e),i=getDocumentElement(e),n=A.visualViewport,a=i.clientWidth,r=i.clientHeight,s=0,o=0;if(n){a=n.width,r=n.height;var l=isLayoutViewport();(l||!l&&"fixed"===t)&&(s=n.offsetLeft,o=n.offsetTop)}return{width:a,height:r,x:s+getWindowScrollBarX(e),y:o}}function getDocumentRect(e){var t,A=getDocumentElement(e),i=getWindowScroll(e),n=null==(t=e.ownerDocument)?void 0:t.body,a=max(A.scrollWidth,A.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=max(A.scrollHeight,A.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),s=-i.scrollLeft+getWindowScrollBarX(e),o=-i.scrollTop;return"rtl"===getComputedStyle$1(n||A).direction&&(s+=max(A.clientWidth,n?n.clientWidth:0)-a),{width:a,height:r,x:s,y:o}}function isScrollParent(e){var t=getComputedStyle$1(e),A=t.overflow,i=t.overflowX,n=t.overflowY;return/auto|scroll|overlay|hidden/.test(A+n+i)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var A;void 0===t&&(t=[]);var i=getScrollParent(e),n=i===(null==(A=e.ownerDocument)?void 0:A.body),a=getWindow(i),r=n?[a].concat(a.visualViewport||[],isScrollParent(i)?i:[]):i,s=t.concat(r);return n?s:s.concat(listScrollParents(getParentNode(r)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var A=getBoundingClientRect(e,!1,"fixed"===t);return A.top=A.top+e.clientTop,A.left=A.left+e.clientLeft,A.bottom=A.top+e.clientHeight,A.right=A.left+e.clientWidth,A.width=e.clientWidth,A.height=e.clientHeight,A.x=A.left,A.y=A.top,A}function getClientRectFromMixedType(e,t,A){return t===viewport?rectToClientRect(getViewportRect(e,A)):isElement(t)?getInnerBoundingClientRect(t,A):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),A=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0&&isHTMLElement(e)?getOffsetParent(e):e;return isElement(A)?t.filter((function(e){return isElement(e)&&contains(e,A)&&"body"!==getNodeName(e)})):[]}function getClippingRect(e,t,A,i){var n="clippingParents"===t?getClippingParents(e):[].concat(t),a=[].concat(n,[A]),r=a[0],s=a.reduce((function(t,A){var n=getClientRectFromMixedType(e,A,i);return t.top=max(n.top,t.top),t.right=min(n.right,t.right),t.bottom=min(n.bottom,t.bottom),t.left=max(n.left,t.left),t}),getClientRectFromMixedType(e,r,i));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function computeOffsets(e){var t,A=e.reference,i=e.element,n=e.placement,a=n?getBasePlacement(n):null,r=n?getVariation(n):null,s=A.x+A.width/2-i.width/2,o=A.y+A.height/2-i.height/2;switch(a){case top:t={x:s,y:A.y-i.height};break;case bottom:t={x:s,y:A.y+A.height};break;case right:t={x:A.x+A.width,y:o};break;case left:t={x:A.x-i.width,y:o};break;default:t={x:A.x,y:A.y}}var l=a?getMainAxisFromPlacement(a):null;if(null!=l){var c="y"===l?"height":"width";switch(r){case start:t[l]=t[l]-(A[c]/2-i[c]/2);break;case end:t[l]=t[l]+(A[c]/2-i[c]/2)}}return t}function detectOverflow(e,t){void 0===t&&(t={});var A=t,i=A.placement,n=void 0===i?e.placement:i,a=A.strategy,r=void 0===a?e.strategy:a,s=A.boundary,o=void 0===s?clippingParents:s,l=A.rootBoundary,c=void 0===l?viewport:l,d=A.elementContext,h=void 0===d?popper:d,u=A.altBoundary,g=void 0!==u&&u,p=A.padding,m=void 0===p?0:p,w=mergePaddingObject("number"!=typeof m?m:expandToHashMap(m,basePlacements)),f=h===popper?reference:popper,B=e.rects.popper,E=e.elements[g?f:h],b=getClippingRect(isElement(E)?E:E.contextElement||getDocumentElement(e.elements.popper),o,c,r),v=getBoundingClientRect(e.elements.reference),C=computeOffsets({reference:v,element:B,strategy:"absolute",placement:n}),y=rectToClientRect(Object.assign({},B,C)),F=h===popper?y:v,x={top:b.top-F.top+w.top,bottom:F.bottom-b.bottom+w.bottom,left:b.left-F.left+w.left,right:F.right-b.right+w.right},S=e.modifiersData.offset;if(h===popper&&S){var T=S[n];Object.keys(x).forEach((function(e){var t=[right,bottom].indexOf(e)>=0?1:-1,A=[top,bottom].indexOf(e)>=0?"y":"x";x[e]+=T[A]*t}))}return x}function computeAutoPlacement(e,t){void 0===t&&(t={});var A=t,i=A.placement,n=A.boundary,a=A.rootBoundary,r=A.padding,s=A.flipVariations,o=A.allowedAutoPlacements,l=void 0===o?placements:o,c=getVariation(i),d=c?s?variationPlacements:variationPlacements.filter((function(e){return getVariation(e)===c})):basePlacements,h=d.filter((function(e){return l.indexOf(e)>=0}));0===h.length&&(h=d);var u=h.reduce((function(t,A){return t[A]=detectOverflow(e,{placement:A,boundary:n,rootBoundary:a,padding:r})[getBasePlacement(A)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}function getExpandedFallbackPlacements(e){if(getBasePlacement(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip(e){var t=e.state,A=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var n=A.mainAxis,a=void 0===n||n,r=A.altAxis,s=void 0===r||r,o=A.fallbackPlacements,l=A.padding,c=A.boundary,d=A.rootBoundary,h=A.altBoundary,u=A.flipVariations,g=void 0===u||u,p=A.allowedAutoPlacements,m=t.options.placement,w=getBasePlacement(m),f=o||(w!==m&&g?getExpandedFallbackPlacements(m):[getOppositePlacement(m)]),B=[m].concat(f).reduce((function(e,A){return e.concat(getBasePlacement(A)===auto?computeAutoPlacement(t,{placement:A,boundary:c,rootBoundary:d,padding:l,flipVariations:g,allowedAutoPlacements:p}):A)}),[]),E=t.rects.reference,b=t.rects.popper,v=new Map,C=!0,y=B[0],F=0;F=0,U=I?"width":"height",Q=detectOverflow(t,{placement:x,boundary:c,rootBoundary:d,altBoundary:h,padding:l}),k=I?T?right:left:T?bottom:top;E[U]>b[U]&&(k=getOppositePlacement(k));var O=getOppositePlacement(k),M=[];if(a&&M.push(Q[S]<=0),s&&M.push(Q[k]<=0,Q[O]<=0),M.every((function(e){return e}))){y=x,C=!1;break}v.set(x,M)}if(C)for(var L=function(e){var t=B.find((function(t){var A=v.get(t);if(A)return A.slice(0,e).every((function(e){return e}))}));if(t)return y=t,"break"},D=g?3:1;D>0&&"break"!==L(D);D--);t.placement!==y&&(t.modifiersData[i]._skip=!0,t.placement=y,t.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,A){return void 0===A&&(A={x:0,y:0}),{top:e.top-t.height-A.y,right:e.right-t.width+A.x,bottom:e.bottom-t.height+A.y,left:e.left-t.width-A.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some((function(t){return e[t]>=0}))}function hide(e){var t=e.state,A=e.name,i=t.rects.reference,n=t.rects.popper,a=t.modifiersData.preventOverflow,r=detectOverflow(t,{elementContext:"reference"}),s=detectOverflow(t,{altBoundary:!0}),o=getSideOffsets(r,i),l=getSideOffsets(s,n,a),c=isAnySideFullyClipped(o),d=isAnySideFullyClipped(l);t.modifiersData[A]={referenceClippingOffsets:o,popperEscapeOffsets:l,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(e,t,A){var i=getBasePlacement(e),n=[left,top].indexOf(i)>=0?-1:1,a="function"==typeof A?A(Object.assign({},t,{placement:e})):A,r=a[0],s=a[1];return r=r||0,s=(s||0)*n,[left,right].indexOf(i)>=0?{x:s,y:r}:{x:r,y:s}}function offset(e){var t=e.state,A=e.options,i=e.name,n=A.offset,a=void 0===n?[0,0]:n,r=placements.reduce((function(e,A){return e[A]=distanceAndSkiddingToXY(A,t.rects,a),e}),{}),s=r[t.placement],o=s.x,l=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=o,t.modifiersData.popperOffsets.y+=l),t.modifiersData[i]=r}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(e){var t=e.state,A=e.name;t.modifiersData[A]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(e){return"x"===e?"y":"x"}function preventOverflow(e){var t=e.state,A=e.options,i=e.name,n=A.mainAxis,a=void 0===n||n,r=A.altAxis,s=void 0!==r&&r,o=A.boundary,l=A.rootBoundary,c=A.altBoundary,d=A.padding,h=A.tether,u=void 0===h||h,g=A.tetherOffset,p=void 0===g?0:g,m=detectOverflow(t,{boundary:o,rootBoundary:l,padding:d,altBoundary:c}),w=getBasePlacement(t.placement),f=getVariation(t.placement),B=!f,E=getMainAxisFromPlacement(w),b=getAltAxis(E),v=t.modifiersData.popperOffsets,C=t.rects.reference,y=t.rects.popper,F="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,x="number"==typeof F?{mainAxis:F,altAxis:F}:Object.assign({mainAxis:0,altAxis:0},F),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,T={x:0,y:0};if(v){if(a){var I,U="y"===E?top:left,Q="y"===E?bottom:right,k="y"===E?"height":"width",O=v[E],M=O+m[U],L=O-m[Q],D=u?-y[k]/2:0,N=f===start?C[k]:y[k],H=f===start?-y[k]:-C[k],R=t.elements.arrow,P=u&&R?getLayoutRect(R):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),K=V[U],G=V[Q],W=within(0,C[k],P[k]),X=B?C[k]/2-D-W-K-x.mainAxis:N-W-K-x.mainAxis,z=B?-C[k]/2+D+W+G+x.mainAxis:H+W+G+x.mainAxis,Y=t.elements.arrow&&getOffsetParent(t.elements.arrow),j=Y?"y"===E?Y.clientTop||0:Y.clientLeft||0:0,J=null!=(I=null==S?void 0:S[E])?I:0,Z=O+z-J,q=within(u?min(M,O+X-J-j):M,O,u?max(L,Z):L);v[E]=q,T[E]=q-O}if(s){var _,$="x"===E?top:left,ee="x"===E?bottom:right,te=v[b],Ae="y"===b?"height":"width",ie=te+m[$],ne=te-m[ee],ae=-1!==[top,left].indexOf(w),re=null!=(_=null==S?void 0:S[b])?_:0,se=ae?ie:te-C[Ae]-y[Ae]-re+x.altAxis,oe=ae?te+C[Ae]+y[Ae]-re-x.altAxis:ne,le=u&&ae?withinMaxClamp(se,te,oe):within(u?se:ie,te,u?oe:ne);v[b]=le,T[b]=le-te}t.modifiersData[i]=T}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),A=round(t.width)/e.offsetWidth||1,i=round(t.height)/e.offsetHeight||1;return 1!==A||1!==i}function getCompositeRect(e,t,A){void 0===A&&(A=!1);var i=isHTMLElement(t),n=isHTMLElement(t)&&isElementScaled(t),a=getDocumentElement(t),r=getBoundingClientRect(e,n,A),s={scrollLeft:0,scrollTop:0},o={x:0,y:0};return(i||!i&&!A)&&(("body"!==getNodeName(t)||isScrollParent(a))&&(s=getNodeScroll(t)),isHTMLElement(t)?((o=getBoundingClientRect(t,!0)).x+=t.clientLeft,o.y+=t.clientTop):a&&(o.x=getWindowScrollBarX(a))),{x:r.left+s.scrollLeft-o.x,y:r.top+s.scrollTop-o.y,width:r.width,height:r.height}}function order(e){var t=new Map,A=new Set,i=[];function n(e){A.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!A.has(e)){var i=t.get(e);i&&n(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){A.has(e.name)||n(e)})),i}function orderModifiers(e){var t=order(e);return modifierPhases.reduce((function(e,A){return e.concat(t.filter((function(e){return e.phase===A})))}),[])}function debounce(e){var t;return function(){return t||(t=new Promise((function(A){Promise.resolve().then((function(){t=void 0,A(e())}))}))),t}}function mergeByName(e){var t=e.reduce((function(e,t){var A=e[t.name];return e[t.name]=A?Object.assign({},A,t,{options:Object.assign({},A.options,t.options),data:Object.assign({},A.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),A=0;A(this.setSelectedItem(this.selectedItem-1,!0),!1))),A.register([],"ArrowDown",(()=>(this.setSelectedItem(this.selectedItem+1,!0),!1))),A.register([],"Enter",(e=>(this.useSelectedItem(e),!1))),A.register([],"Tab",(e=>(this.chooseSuggestion(e),!1)))}chooseSuggestion(e){if(!this.items||!this.items.length)return;const t=this.items[this.selectedItem];t&&this.owner.onChooseSuggestion(t,e)}onSuggestionClick(e,t){if(e.preventDefault(),!this.suggestions||!this.suggestions.length)return;const A=this.suggestions.indexOf(t);this.setSelectedItem(A,!1),this.useSelectedItem(e)}onSuggestionMouseover(e,t){if(!this.suggestions||!this.suggestions.length)return;const A=this.suggestions.indexOf(t);this.setSelectedItem(A,!1)}empty(){this.containerEl.empty()}setSuggestions(e){this.containerEl.empty();const t=[];e.forEach((e=>{const A=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(e,A),t.push(A)})),this.items=e,this.suggestions=t,this.setSelectedItem(0,!1)}useSelectedItem(e){if(!this.items||!this.items.length)return;const t=this.items[this.selectedItem];t&&this.owner.selectSuggestion(t,e)}wrap(e,t){return(e%t+t)%t}setSelectedItem(e,t){const A=this.wrap(e,this.suggestions.length),i=this.suggestions[this.selectedItem],n=this.suggestions[A];i&&i.removeClass("is-selected"),n&&n.addClass("is-selected"),this.selectedItem=A,t&&n.scrollIntoView(!1)}}class SuggestionModal extends obsidian_module.FuzzySuggestModal{constructor(e,t,A){super(e),this.items=[],this.scope=new obsidian_module.Scope(this.app.scope),this.emptyStateText="No match found",this.limit=100,this.inputEl=t,this.items=A,this.suggestEl=createDiv("suggestion-container"),this.contentEl=this.suggestEl.createDiv("suggestion"),this.suggester=new Suggester(this,this.contentEl,this.scope),this.scope.register([],"Escape",this.onEscape.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onFocus.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",(e=>{e.preventDefault()}))}empty(){this.suggester.empty()}onInputChanged(){if(this.shouldNotOpen)return;const e=this.modifyInput(this.inputEl.value),t=this.getSuggestions(e);t.length>0?this.suggester.setSuggestions(t.slice(0,this.limit)):this.onNoSuggestion(),this.open()}onFocus(){this.shouldNotOpen=!1,this.onInputChanged()}modifyInput(e){return e}onNoSuggestion(){this.empty(),this.renderSuggestion(null,this.contentEl.createDiv("suggestion-item"))}open(){this.app.keymap.pushScope(this.scope),document.body.appendChild(this.suggestEl),this.popper=createPopper(this.inputEl,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"flip",options:{fallbackPlacements:["top"]}}]})}onEscape(){this.close(),this.shouldNotOpen=!0}close(){this.app.keymap.popScope(this.scope),this.suggester.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}createPrompt(e){this.promptEl||(this.promptEl=this.suggestEl.createDiv("prompt-instructions"));const t=this.promptEl.createDiv("prompt-instruction");for(const A of e)t.appendChild(A)}}class FileSuggestionModal extends SuggestionModal{constructor(e,t,A){super(e,t.inputEl,A),this.limit=20,this.files=[...A],this.text=t,this.inputEl.addEventListener("input",(()=>this.getFile()))}getFile(){const e=this.inputEl.value,t=this.app.vault.getAbstractFileByPath(e);t!==this.file&&t instanceof obsidian_module.TFile&&(this.file=t,this.onInputChanged())}getSelectedItem(){return this.file}getItemText(e){return e.path}onChooseItem(e){this.file=e,this.text.setValue(e.path),this.text.onChanged()}selectSuggestion({item:e}){this.file=e,this.text.setValue(e.path),this.onClose(),this.text.onChanged(),this.close()}renderSuggestion(e,t){const{item:A,match:i}=e||{},n=t.createDiv({cls:"suggestion-content"});if(!A)return n.setText(this.emptyStateText),void n.parentElement.addClass("is-selected");const a=A.path.length-A.name.length,r=i.matches.map((e=>createSpan("suggestion-highlight")));for(let e=a;et[0]===e));if(t){const a=r[i.matches.indexOf(t)];n.appendChild(a),a.appendText(A.path.substring(t[0],t[1])),e+=t[1]-t[0]-1}else n.appendText(A.path[e])}t.createDiv({cls:"suggestion-note",text:A.path})}getItems(){return this.files}}const getEA=e=>{try{return window.ExcalidrawAutomate.getAPI(e)}catch(e){return console.log({message:"Excalidraw not available",fn:getEA}),null}};class InsertPDFModal extends obsidian_module.Modal{constructor(e,t){super(app),this.plugin=e,this.view=t,this.borderBox=!0,this.gapSize=20,this.numColumns=1,this.lockAfterImport=!0,this.pagesToImport=[],this.pageDimensions={width:0,height:0},this.importScale=.3,this.dirty=!1,this.setImageSizeMessage=()=>this.imageSizeMessage.innerText=`${Math.round(this.pageDimensions.width*this.importScale)} x ${Math.round(this.pageDimensions.height*this.importScale)}`}open(e){e&&"pdf"===e.extension.toLowerCase()&&(this.pdfFile=e),super.open()}onOpen(){this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText("Import PDF"),this.createForm()}async onClose(){this.dirty&&(this.plugin.settings.pdfImportScale=this.importScale,this.plugin.settings.pdfBorderBox=this.borderBox,this.plugin.settings.pdfGapSize=this.gapSize,this.plugin.settings.pdfNumColumns=this.numColumns,this.plugin.settings.pdfLockAfterImport=this.lockAfterImport,this.plugin.saveSettings()),this.pdfDoc&&(this.pdfDoc.destroy(),this.pdfDoc=null)}async getPageDimensions(e){try{const t=this.plugin.settings.pdfScale,A=createEl("canvas"),i=(await e.getPage(1)).getViewport({scale:t});this.pageDimensions.height=i.height,this.pageDimensions.width=i.width,A.width=0,A.height=0,this.setImageSizeMessage()}catch(e){console.log(e)}}createPageListFromString(e){const t=e=>e.replace(/\D/g,"");return this.pagesToImport=[],e.split(",").forEach((e=>{const A=e.split("-");if(1===A.length){const e=parseInt(t(A[0]));!isNaN(e)&&this.pagesToImport.push(e)}else if(2===A.length){const e=parseInt(t(A[0])),i=parseInt(t(A[1]));if(isNaN(e)||isNaN(i))return;for(let t=e;t<=i;t++)this.pagesToImport.push(t)}})),this.pagesToImport}async createForm(){await this.plugin.loadSettings(),this.borderBox=this.plugin.settings.pdfBorderBox,this.gapSize=this.plugin.settings.pdfGapSize,this.numColumns=this.plugin.settings.pdfNumColumns,this.lockAfterImport=this.plugin.settings.pdfLockAfterImport,this.importScale=this.plugin.settings.pdfImportScale;const e=this.contentEl;let t,A,i,n;const a=()=>this.pdfDoc?0===this.pagesToImport.length?(i.buttonEl.style.display="none",void(n.innerText="Please select pages to import")):Math.max(...this.pagesToImport)<=this.pdfDoc.numPages?(i.buttonEl.style.display="block",void(n.innerText="")):(i.buttonEl.style.display="none",void(n.innerText=`The selected document has ${this.pdfDoc.numPages} pages. Please select pages between 1 and ${this.pdfDoc.numPages}`)):(n.innerText="Please select a PDF file",void(i.buttonEl.style.display="none")),r=()=>{0!==A?t.innerHTML=`There are ${A} pages in the selected document.`:t.innerText="Please select a PDF file"},s=async e=>{this.pdfDoc&&await this.pdfDoc.destroy(),this.pdfDoc=null,e&&(this.pdfDoc=await getPDFDoc(e),this.pdfFile=e,this.pdfDoc?(A=this.pdfDoc.numPages,a(),r(),this.getPageDimensions(this.pdfDoc)):i.setDisabled(!0))},o=new obsidian_module.TextComponent(e);o.inputEl.style.width="100%";const l=new FileSuggestionModal(this.app,o,app.vault.getFiles().filter((e=>"pdf"===e.extension.toLowerCase())));let c,d,h,u;o.onChange((async()=>{const e=l.getSelectedItem();await s(e)})),t=e.createEl("p",{text:""}),r(),new obsidian_module.Setting(e).setName("Pages to import").addText((e=>{d=e,e.setPlaceholder("e.g.: 1,3-5,7,9-10").onChange((e=>{const t=this.createPageListFromString(e);t.length>15?c.innerHTML=`You are importing ${t.length} pages. ⚠️ This may take a while. ⚠️`:c.innerHTML=`You are importing ${t.length} pages.`,a()})),e.inputEl.style.width="100%"})),c=e.createEl("p",{text:""}),new obsidian_module.Setting(e).setName("Add border box").addToggle((e=>e.setValue(this.borderBox).onChange((e=>{this.borderBox=e,this.dirty=!0})))),new obsidian_module.Setting(e).setName("Lock pages on canvas after import").addToggle((e=>e.setValue(this.lockAfterImport).onChange((e=>{this.lockAfterImport=e,this.dirty=!0})))),new obsidian_module.Setting(e).setName("Number of columns").addSlider((e=>e.setLimits(1,100,1).setValue(this.numColumns).onChange((e=>{this.numColumns=e,h.innerText=` ${e.toString()}`,this.dirty=!0})))).settingEl.createDiv("",(e=>{h=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.numColumns.toString()}`})),new obsidian_module.Setting(e).setName("Size of gap between pages").addSlider((e=>e.setLimits(10,200,10).setValue(this.gapSize).onChange((e=>{this.gapSize=e,u.innerText=` ${e.toString()}`,this.dirty=!0})))).settingEl.createDiv("",(e=>{u=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.gapSize.toString()}`}));const g=new obsidian_module.Setting(e).setName("Imported page size").setDesc(`${this.pageDimensions.width*this.importScale} x ${this.pageDimensions.height*this.importScale}`).addSlider((e=>e.setLimits(.1,1.5,.1).setValue(this.importScale).onChange((e=>{this.importScale=e,this.dirty=!0,this.setImageSizeMessage()}))));this.imageSizeMessage=g.descEl;const p=new obsidian_module.Setting(e).setDesc("Select a document first").addButton((e=>{e.setButtonText("Import PDF").setCta().onClick((async()=>{const e=getEA(this.view);let t=0,A=0;const i=Math.round(this.pageDimensions.width*this.importScale),a=Math.round(this.pageDimensions.height*this.importScale);for(let r=0;re.id)),o=e.getViewElements().filter((e=>s.includes(e.id)));r.selectElements(o),r.zoomToFit(o),this.close()})),i=e,i.buttonEl.style.display="none"}));n=p.descEl,n.addClass("mod-warning"),this.pdfFile?(o.setValue(this.pdfFile.path),await s(this.pdfFile),l.close(),d.inputEl.focus()):o.inputEl.focus(),a()}}class ExportDialog extends obsidian_module.Modal{constructor(e,t,A){super(app),this.plugin=e,this.view=t,this.file=A,this.dirty=!1,this.hasSelectedElements=!1,this.ea=getEA(this.view),this.api=this.ea.getExcalidrawAPI(),this.padding=getExportPadding(this.plugin,this.file),this.scale=getPNGScale(this.plugin,this.file),this.theme=getExportTheme(this.plugin,this.file,this.api.getAppState().theme),this.boundingBox=this.ea.getBoundingBox(this.ea.getViewElements()),this.embedScene=!1,this.exportSelectedOnly=!1,this.saveToVault=!0,this.transparent=!getWithBackground(this.plugin,this.file),this.saveSettings=!1}onOpen(){this.containerEl.classList.add("excalidraw-release"),this.titleEl.setText("Export Image"),this.hasSelectedElements=this.view.getViewSelectedElements().length>0,this.selectedOnlySetting.setVisibility(this.hasSelectedElements)}async onClose(){this.dirty=this.saveSettings}async createForm(){let e,t;this.contentEl.createEl("h1",{text:"Image settings"}),this.contentEl.createEl("p",{text:"Transparency only affects PNGs. Excalidraw files can only be exported outside the Vault. PNGs copied to clipboard may not include the scene."});const A=()=>{const e=Math.round(this.scale*this.boundingBox.width+2*this.padding),t=Math.round(this.scale*this.boundingBox.height+2*this.padding);return fragWithHTML(`The lager the scale, the larger the image.
      Scale: ${this.scale}
      Image size: ${e}x${t}`)},i=()=>fragWithHTML(`Current image padding is ${this.padding}`);t=new obsidian_module.Setting(this.contentEl).setName("Image padding").setDesc(i()).addSlider((n=>{n.setLimits(0,50,1).setValue(this.padding).onChange((n=>{this.padding=n,e.setDesc(A()),t.setDesc(i())}))})),e=new obsidian_module.Setting(this.contentEl).setName("PNG Scale").setDesc(A()).addSlider((t=>t.setLimits(.5,5,.5).setValue(this.scale).onChange((t=>{this.scale=t,e.setDesc(A())})))),new obsidian_module.Setting(this.contentEl).setName("Export theme").addDropdown((e=>e.addOption("light","Light").addOption("dark","Dark").setValue(this.theme).onChange((e=>{this.theme=e})))),new obsidian_module.Setting(this.contentEl).setName("Background color").addDropdown((e=>e.addOption("transparent","Transparent").addOption("with-color","Use scene background color").setValue(this.transparent?"transparent":"with-color").onChange((e=>{this.transparent="transparent"===e})))),new obsidian_module.Setting(this.contentEl).setName("Save or one-time settings?").addDropdown((e=>e.addOption("save","Save these settings as the preset for this image").addOption("one-time","These are one-time settings").setValue(this.saveSettings?"save":"one-time").onChange((e=>{this.saveSettings="save"===e})))),this.contentEl.createEl("h1",{text:"Export settings"}),new obsidian_module.Setting(this.contentEl).setName("Embed the Excalidraw scene in the exported file?").addDropdown((e=>e.addOption("embed","Embed scene").addOption("no-embed","Do not embed scene").setValue(this.embedScene?"embed":"no-embed").onChange((e=>{this.embedScene="embed"===e})))),DEVICE.isDesktop&&new obsidian_module.Setting(this.contentEl).setName("Where to save the image?").addDropdown((e=>e.addOption("vault","Save image to your Vault").addOption("outside","Export image outside your Vault").setValue(this.saveToVault?"vault":"outside").onChange((e=>{this.saveToVault="vault"===e})))),this.selectedOnlySetting=new obsidian_module.Setting(this.contentEl).setName("Export entire scene or just selected elements?").addDropdown((e=>e.addOption("all","Export entire scene").addOption("selected","Export selected elements").setValue(this.exportSelectedOnly?"selected":"all").onChange((e=>{this.exportSelectedOnly="selected"===e}))));const n=this.contentEl.createDiv({cls:"excalidraw-prompt-buttons-div"});n.createEl("button",{text:"PNG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.savePNG(this.view.getScene(this.hasSelectedElements&&this.exportSelectedOnly)):this.view.exportPNG(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()},n.createEl("button",{text:"SVG to File",cls:"excalidraw-prompt-button"}).onclick=()=>{this.saveToVault?this.view.saveSVG(this.view.getScene(this.hasSelectedElements&&this.exportSelectedOnly)):this.view.exportSVG(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()},n.createEl("button",{text:"Excalidraw",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportExcalidraw(this.hasSelectedElements&&this.exportSelectedOnly),this.close()},DEVICE.isDesktop&&(n.createEl("button",{text:"PNG to Clipboard",cls:"excalidraw-prompt-button"}).onclick=()=>{this.view.exportPNGToClipboard(this.embedScene,this.hasSelectedElements&&this.exportSelectedOnly),this.close()})}}const TOOLS_PANEL_WIDTH=228;class ToolsPanel extends React__namespace.Component{constructor(e){super(e),this.pos1=0,this.pos2=0,this.pos3=0,this.pos4=0,this.penDownX=0,this.penDownY=0,this.previousWidth=0,this.previousHeight=0,this.onRightEdge=!1,this.onBottomEdge=!1;const t=e.view.plugin.getPackage(e.view.ownerWindow).react;this.containerRef=t.createRef(),this.state={visible:e.visible,top:50,left:200,theme:"dark",excalidrawViewMode:!1,minimized:!1,isDirty:!1,isFullscreen:!1,isPreviewMode:!0,scriptIconMap:{}}}updateScriptIconMap(e){this.setState((()=>({scriptIconMap:e})))}setPreviewMode(e){this.setState((()=>({isPreviewMode:e})))}setFullscreen(e){this.setState((()=>({isFullscreen:e})))}setDirty(e){this.setState((()=>({isDirty:e})))}setExcalidrawViewMode(e){this.setState((()=>({excalidrawViewMode:e})))}toggleVisibility(e){this.setTopCenter(e),this.setState((e=>({visible:!e.visible})))}setTheme(e){this.setState((t=>({theme:e})))}setTopCenter(e){this.setState((()=>({left:(this.containerRef.current.clientWidth-228-(e?0:232))/2+this.containerRef.current.parentElement.offsetLeft+(e?0:232),top:64+this.containerRef.current.parentElement.offsetTop})))}updatePosition(e=0,t=0){this.setState((()=>{const{offsetTop:A,offsetLeft:i,clientWidth:n,clientHeight:a}=this.containerRef.current.firstElementChild,r=A-e,s=i-t,{clientWidth:o,clientHeight:l,offsetTop:c,offsetLeft:d}=this.containerRef.current.parentElement;return this.previousHeight=l,this.previousWidth=o,this.onBottomEdge=r>=l-a+c,this.onRightEdge=s>=o-n+d,{top:r{e.preventDefault(),Math.abs(this.penDownX-this.pos3)>5||Math.abs(this.penDownY-this.pos4)>5||this.setState((e=>({minimized:!e.minimized})))},onPointerDown:e=>{const t=e=>{e.preventDefault(),this.pos1=this.pos3-e.clientX,this.pos2=this.pos4-e.clientY,this.pos3=e.clientX,this.pos4=e.clientY,this.updatePosition(this.pos2,this.pos1)},A=()=>{var e,i;null===(e=this.props.view.ownerDocument)||void 0===e||e.removeEventListener("pointerup",A),null===(i=this.props.view.ownerDocument)||void 0===i||i.removeEventListener("pointermove",t)};e.preventDefault(),this.penDownX=this.pos3=e.clientX,this.penDownY=this.pos4=e.clientY,this.props.view.ownerDocument.addEventListener("pointerup",A),this.props.view.ownerDocument.addEventListener("pointermove",t)}},React__namespace.createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 228 26"},React__namespace.createElement("path",{stroke:"var(--icon-fill-color)",strokeWidth:"2",d:"M40,7 h148 M40,13 h148 M40,19 h148"}))),React__namespace.createElement("div",{className:"Island App-menu__left scrollbar",style:{maxHeight:"350px",width:"initial","--padding":2,display:this.state.minimized?"none":"block"}},React__namespace.createElement("div",{className:"panelColumn"},React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Utility actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"scriptEngine",title:t$d("INSTALL_SCRIPT_BUTTON"),action:()=>{new ScriptInstallPrompt(this.props.view.plugin).open()},icon:ICONS.scriptEngine,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"release-notes",title:t$d("READ_RELEASE_NOTES"),action:()=>{new ReleaseNotes(this.props.view.app,this.props.view.plugin,PLUGIN_VERSION).open()},icon:ICONS.releaseNotes,view:this.props.view}),null===this.state.isPreviewMode?React__namespace.createElement(ActionButton,{key:"convert",title:t$d("CONVERT_FILE"),action:()=>{this.props.view.convertExcalidrawToMD()},icon:ICONS.convertFile,view:this.props.view}):React__namespace.createElement(ActionButton,{key:"viewmode",title:this.state.isPreviewMode?t$d("PARSED"):t$d("RAW"),action:()=>{this.state.isPreviewMode?this.props.view.changeTextMode(TextMode.raw):this.props.view.changeTextMode(TextMode.parsed)},icon:this.state.isPreviewMode?ICONS.rawMode:ICONS.parsedMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"tray-mode",title:t$d("TRAY_MODE"),action:()=>{this.props.view.toggleTrayMode()},icon:ICONS.trayMode,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"fullscreen",title:this.state.isFullscreen?t$d("EXIT_FULLSCREEN"):t$d("GOTO_FULLSCREEN"),action:()=>{this.state.isFullscreen?this.props.view.exitFullscreen():this.props.view.gotoFullscreen()},icon:this.state.isFullscreen?ICONS.exitFullScreen:ICONS.gotoFullScreen,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"search",title:t$d("SEARCH"),action:()=>{search(this.props.view)},icon:ICONS.search,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"ocr",title:t$d("RUN_OCR"),action:e=>{this.props.view.plugin.settings.taskboneEnabled?this.props.view.plugin.taskbone.getTextForView(this.props.view,isCTRL(e)):new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3)},icon:ICONS.ocr,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLink",title:t$d("OPEN_LINK_CLICK"),action:e=>{const t=new MouseEvent("click",{ctrlKey:e.ctrlKey||!(DEVICE.isIOS||DEVICE.isMacOS),metaKey:e.metaKey||DEVICE.isIOS||DEVICE.isMacOS,shiftKey:e.shiftKey,altKey:e.altKey});this.props.view.handleLinkClick(t)},icon:ICONS.openLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"openLinkProperties",title:t$d("OPEN_LINK_PROPS"),action:()=>{const e=new MouseEvent("click",{ctrlKey:!0,metaKey:!0,shiftKey:!1,altKey:!1});this.props.view.handleLinkClick(e)},icon:ICONS.openLinkProperties,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"save",title:t$d("FORCE_SAVE"),action:()=>{this.props.view.forceSave()},icon:saveIcon(this.state.isDirty),view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Export actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"lib",title:t$d("DOWNLOAD_LIBRARY"),action:()=>{this.props.view.plugin.exportLibrary()},icon:ICONS.exportLibrary,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"exportIMG",title:t$d("EXPORT_IMAGE"),action:()=>{const e=this.props.view;e.exportDialog||(e.exportDialog=new ExportDialog(e.plugin,e,e.file),e.exportDialog.createForm()),e.exportDialog.open()},icon:ICONS.ExportImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"md",title:t$d("OPEN_AS_MD"),action:()=>{this.props.view.openAsMarkdown()},icon:ICONS.switchToMarkdown,view:this.props.view}))),React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,"Insert actions"),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},React__namespace.createElement(ActionButton,{key:"image",title:t$d("INSERT_IMAGE"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertImageDialog.start(this.props.view)},icon:ICONS.insertImage,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"pdf",title:t$d("INSERT_PDF"),action:()=>{this.props.centerPointer(),new InsertPDFModal(this.props.view.plugin,this.props.view).open()},icon:ICONS.insertPDF,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"insertMD",title:t$d("INSERT_MD"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertMDDialog.start(this.props.view)},icon:ICONS.insertMD,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"latex",title:t$d("INSERT_LATEX"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/r08wk-58DPk"):(this.props.centerPointer(),insertLaTeXToView(this.props.view))},icon:ICONS.insertLaTeX,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link",title:t$d("INSERT_LINK"),action:()=>{this.props.centerPointer(),this.props.view.plugin.insertLinkDialog.start(this.props.view.file.path,this.props.view.addText)},icon:ICONS.insertLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"link-to-element",title:t$d("INSERT_LINK_TO_ELEMENT"),action:e=>{isALT(e)?this.props.view.openExternalLink("https://youtu.be/yZQoJg2RCKI"):this.props.view.copyLinkToSelectedElementToClipboard(isCTRL(e)?"group=":isSHIFT(e)?"area=":"")},icon:ICONS.copyElementLink,view:this.props.view}),React__namespace.createElement(ActionButton,{key:"import-svg",title:t$d("IMPORT_SVG"),action:e=>{this.props.view.plugin.importSVGDialog.start(this.props.view)},icon:ICONS.importSVG,view:this.props.view}))),this.renderScriptButtons(!1),this.renderScriptButtons(!0)))))}renderScriptButtons(e){if(0===Object.keys(this.state.scriptIconMap).length)return"";const t=`${this.props.view.plugin.settings.scriptFolderPath}/Downloaded/`,A=A=>e?A.startsWith(t):!A.startsWith(t);if(0===Object.keys(this.state.scriptIconMap).filter((e=>A(e))).length)return"";const i=new Set;Object.keys(this.state.scriptIconMap).filter((e=>A(e))).forEach((e=>i.add(this.state.scriptIconMap[e].group)));const n=Array.from(i).sort(((e,t)=>e>t?1:-1));return n.push(n.shift()),React__namespace.createElement(React__namespace.Fragment,null,n.map((t=>React__namespace.createElement("fieldset",null,React__namespace.createElement("legend",null,e?t:""===t?"User":"User/"+t),React__namespace.createElement("div",{className:"buttonList buttonListIcon"},Object.entries(this.state.scriptIconMap).filter((([e,A])=>A.group===t)).sort().map((([e,t])=>React__namespace.createElement(ActionButton,{key:e,title:t.name,action:async()=>{const t=this.props.view,A=t.plugin,i=app.vault.getAbstractFileByPath(e);i&&i instanceof obsidian_module.TFile&&A.scriptEngine.executeScript(t,await app.vault.read(i),A.scriptEngine.getScriptName(i),i)},longpress:async()=>{const A=this.props.view,i=A.excalidrawAPI,n=A.plugin;await n.loadSettings();const a=n.settings.pinnedScripts.indexOf(e);a>-1?(n.settings.pinnedScripts.splice(a,1),null==i||i.setToast({message:`Pin removed: ${t.name}`,duration:3e3,closable:!0})):(n.settings.pinnedScripts.push(e),null==i||i.setToast({message:`Pinned: ${t.name}`,duration:3e3,closable:!0})),await n.saveSettings(),app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedScripts()}))},icon:t.svgString?stringToSVG(t.svgString):ICONS.cog,view:this.props.view}))))))))}}const getElementsAtPointer=(e,t,A)=>t.filter((t=>{if(A&&t.type!==A)return!1;if(t.locked)return!1;const[i,n,a,r]=rotatedDimensions(t);return i<=e.x&&i+a>=e.x&&n<=e.y&&n+r>=e.y})),getTextElementAtPointer=(e,t)=>{const A=t.excalidrawAPI;if(!A)return{id:null,text:null};const i=getElementsAtPointer(e,A.getSceneElements(),"text");if(0==i.length)return{id:null,text:null};if(1===i.length)return{id:i[0].id,text:i[0].text};const n=i.filter((e=>{const A=t.textMode===TextMode.parsed?t.excalidrawData.getRawText(e.id):e.text;return!!A&&(!!A.match(REG_LINKINDEX_HYPERLINK)||!!REGEX_LINK.getRes(A).next().value)}));return 0==n.length?{id:i[0].id,text:i[0].text}:{id:n[0].id,text:n[0].text}},getImageElementAtPointer=(e,t)=>{const A=t.excalidrawAPI;if(!A)return;const i=getElementsAtPointer(e,A.getSceneElements(),"image");return 0===i.length?{id:null,fileId:null}:i.length>=1?{id:i[0].id,fileId:i[0].fileId}:void 0},getElementWithLinkAtPointer=(e,t)=>{const A=t.excalidrawAPI;if(!A)return;const i=getElementsAtPointer(e,A.getSceneElements()).filter((e=>e.link));return 0===i.length?{id:null,text:null}:i.length>=1?{id:i[0].id,text:i[0].link}:void 0},setDynamicStyle=(e,t,A,i)=>{var n,a,r,s,o,l,c,d,h,u,g,p,m,w;if("none"===i){null===(n=t.excalidrawContainer)||void 0===n||n.removeAttribute("style"),setTimeout((()=>t.updateScene({appState:{dynamicStyle:""}})));const e=null===(s=null===(r=null===(a=t.toolsPanelRef)||void 0===a?void 0:a.current)||void 0===r?void 0:r.containerRef)||void 0===s?void 0:s.current;if(e){let t=e.getAttribute("style");t=t.replace(/\-\-color\-primary.*/,""),e.setAttribute("style",t)}return}t.ownerDocument;const f="light"===(null===(c=null===(l=null===(o=null==t?void 0:t.excalidrawAPI)||void 0===o?void 0:o.getAppState)||void 0===l?void 0:l.call(o))||void 0===c?void 0:c.theme)||"light"===(null===(u=null===(h=null===(d=null==t?void 0:t.excalidrawData)||void 0===d?void 0:d.scene)||void 0===h?void 0:h.appState)||void 0===u?void 0:u.theme),B=()=>f?e.getCM(A):(t=>{const A=e.getCM(t),i=A.lightness;return A.lightnessTo(Math.abs(i-100))})(A),E=B().lightness,b=B().isDark(),v=app.getAccentColor(),C=()=>e.getCM(v),y=()=>e.getCM("#000000").lightnessTo(E),F="gray"===i,x=F?b?y().lighterBy(15):y().darkerBy(15):b?B().lighterBy(15).mix({color:y(),ratio:.6}):B().darkerBy(15).mix({color:y(),ratio:.6}),S=F?b?y().lighterBy(5):y().darkerBy(5):b?B().lighterBy(5).mix({color:y(),ratio:.6}):B().darkerBy(5).mix({color:y(),ratio:.6}),T=B().mix({color:b?"#fbfbfb":"#202020",ratio:.8}),I=e=>e.stringHEX({alpha:!1}),U=`--color-primary: ${I(C())};--color-primary-darker: ${I(C().darkerBy(10))};--color-primary-darkest: ${I(C().darkerBy(10))};--button-gray-1: ${I(x)};--button-gray-2: ${I(S)};--input-border-color: ${I(x)};--input-bg-color: ${I(S)};--input-label-color: ${I(T)};--island-bg-color: ${S.alphaTo(.93).stringHEX()};--popup-secondary-bg-color: ${S.alphaTo(.93).stringHEX()};--icon-fill-color: ${I(T)};--text-primary-color: ${I(T)};--overlay-bg-color: ${S.alphaTo(.6).stringHEX()};--popup-bg-color: ${I(x)};--color-gray-100: ${I(T)};--color-gray-40: ${I(T)};--color-gray-30: ${I(x)};--color-gray-80: ${I(x)};--sidebar-border-color: ${I(x)};--color-primary-light: ${I(C().lighterBy(10))};--button-hover-bg: ${I(x)};--sidebar-bg-color: ${S.alphaTo(.93).stringHEX()};--sidebar-shadow: ${I(x)};--popup-text-color: ${I(T)};--code-normal: ${I(T)};--code-background: ${I(S)};--h1-color: ${I(T)};--h2-color: ${I(T)};--h3-color: ${I(T)};--h4-color: ${I(T)};color: ${I(T)};--select-highlight-color: ${I(x)};`;null===(g=t.excalidrawContainer)||void 0===g||g.setAttribute("style",U),setTimeout((()=>t.updateScene({appState:{dynamicStyle:U}})));const Q=null===(w=null===(m=null===(p=t.toolsPanelRef)||void 0===p?void 0:p.current)||void 0===m?void 0:m.containerRef)||void 0===w?void 0:w.current;if(Q){let e=Q.getAttribute("style");e=e.replace(/\-\-color\-primary.*/,""),Q.setAttribute("style",e+U)}};class MenuLinks{constructor(e,t){this.render=(e,t)=>React__namespace.createElement("div",null,"Hello"),this.plugin=e,this.ref=t}}var TextMode;!function(e){e.parsed="parsed",e.raw="raw"}(TextMode||(TextMode={}));const HIDE="excalidraw-hidden",SHOW="excalidraw-visible",addFiles=async(e,t,A)=>{if(!e||0===e.length||!t)return;const i=t.excalidrawAPI;if(!i)return;if(e=e.filter((e=>e&&e.size&&e.size.height>0&&e.size.width>0)),0===e.length)return;const n=scaleLoadedImage(t.getScene(),e);void 0===A&&(A=n.scene.appState.theme),n.dirty&&t.updateScene({elements:n.scene.elements,appState:n.scene.appState,commitToHistory:!1});for(const i of e)if(t.excalidrawData.hasFile(i.id)&&t.excalidrawData.getFile(i.id).setImage(i.dataURL,i.mimeType,i.size,A,i.hasSVGwithBitmap),t.excalidrawData.hasEquation(i.id)){const e=t.excalidrawData.getEquation(i.id).latex;t.excalidrawData.setEquation(i.id,{latex:e,isLoaded:!0})}i.addFiles(e)},warningUnknowSeriousError=()=>{new obsidian_module.Notice("WARNING: Excalidraw ran into an unknown problem!\n\nThere is a risk that your most recent changes cannot be saved.\n\nTo be on the safe side...\n1) Please select your drawing using CTRL/CMD+A and make a copy with CTRL/CMD+C.\n2) Then create an empty drawing in a new pane by CTRL/CMD+clicking the Excalidraw ribbon button,\n3) and paste your work to the new document with CTRL/CMD+V.",6e4)};class ExcalidrawView extends obsidian_module.TextFileView{constructor(e,t){super(e),this.getScene=null,this.addElements=null,this.getSelectedTextElement=null,this.getSelectedImageElement=null,this.getSelectedElementWithLink=null,this.addText=null,this.refresh=null,this.excalidrawRef=null,this.excalidrawAPI=null,this.excalidrawWrapperRef=null,this.toolsPanelRef=null,this.linksAlwaysOpenInANewPane=!1,this.lastSaveTimestamp=0,this.modifierKeyDown={shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1},this.currentPosition={x:0,y:0},this.semaphores={popoutUnload:!1,viewunload:!1,scriptsReady:!1,justLoaded:!1,preventAutozoom:!1,autosaving:!1,dirty:null,preventReload:!1,isEditingText:!1,saving:!1,forceSaving:!1,hoverSleep:!1,wheelTimeout:null},this.autosaveTimer=null,this.textMode=TextMode.raw,this.compatibilityMode=!1,this.isEditingTextResetTimer=null,this.id=this.leaf.id,this.getHookServer=()=>{var e;return null!==(e=this.hookServer)&&void 0!==e?e:this.plugin.ea},this.preventReloadResetTimer=null,this.hiddenMobileLeaves=[],this.offsetLeft=0,this.offsetTop=0,this.blockTextModeChange=!1,this.isLoaded=!1,this.activeLoader=null,this.nextLoader=null,this.initialContainerSizeUpdate=!1,this.previousSceneVersion=0,this.previousBackgroundColor="",this.previousTheme="",this.colorChangeTimer=null,this.plugin=t,this.excalidrawData=new ExcalidrawData(t),this.hookServer=t.ea}setHookServer(e){this.hookServer=e||this.plugin.ea}preventAutozoom(){this.semaphores.preventAutozoom=!0,setTimeout((()=>this.semaphores.preventAutozoom=!1),1500)}saveExcalidraw(e){if(!e){if(!this.getScene)return!1;e=this.getScene()}const t=`${this.file.path.substring(0,this.file.path.lastIndexOf(".md"))}.excalidraw`,A=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(t));A&&A instanceof obsidian_module.TFile?app.vault.modify(A,JSON.stringify(e,null,"\t")):app.vault.create(t,JSON.stringify(e,null,"\t"))}async exportExcalidraw(e){this.getScene&&this.file&&(app.isMobile?new Prompt(app,"Please provide filename",this.file.basename,"filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidraw`;const t=splitFolderAndFilename(this.file.path).folderpath;await checkAndCreateFolder(t);const A=getNewUniqueFilepath(app.vault,e,t);app.vault.create(A,JSON.stringify(this.getScene(),null,"\t")),new obsidian_module.Notice(`Exported to ${A}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.getScene(e),null,"\t")),`${this.file.basename}.excalidraw`))}async svg(e,t,A){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getSVG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=t?t:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===A?!!i&&i.embedScene:A})}),n,i?i.padding:getExportPadding(this.plugin,this.file))}async saveSVG(e,t){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A)),a=await this.svg(e,i,t);if(!a)return;const r=(new XMLSerializer).serializeToString(embedFontsInSVG(a,this.plugin));n&&n instanceof obsidian_module.TFile?await app.vault.modify(n,r):await app.vault.create(A,r)};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.svg"),"dark"),await A(getIMGFilename(this.file.path,"light.svg"),"light")):await A(getIMGFilename(this.file.path,"svg"))}async exportSVG(e,t){if(!this.getScene||!this.file)return;let A=await this.svg(this.getScene(t),void 0,e);A&&(A=embedFontsInSVG(A,this.plugin),download(null,svgToBase64(A.outerHTML),`${this.file.basename}.svg`))}async png(e,t,A){const i=this.exportDialog,n={withBackground:i?!i.transparent:getWithBackground(this.plugin,this.file),withTheme:!0};return await getPNG(Object.assign(Object.assign({},e),{appState:Object.assign(Object.assign({},e.appState),{theme:null!=t?t:i?i.theme:getExportTheme(this.plugin,this.file,e.appState.theme),exportEmbedScene:void 0===A?!!i&&i.embedScene:A})}),n,i?i.padding:getExportPadding(this.plugin,this.file),i?i.scale:getPNGScale(this.plugin,this.file))}async savePNG(e,t){if(!e){if(!this.getScene)return!1;e=this.getScene()}const A=async(A,i)=>{const n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A)),a=await this.png(e,i,t);a&&(n&&n instanceof obsidian_module.TFile?await app.vault.modifyBinary(n,await a.arrayBuffer()):await app.vault.createBinary(A,await a.arrayBuffer()))};this.plugin.settings.autoExportLightAndDark?(await A(getIMGFilename(this.file.path,"dark.png"),"dark"),await A(getIMGFilename(this.file.path,"light.png"),"light")):await A(getIMGFilename(this.file.path,"png"))}async exportPNGToClipboard(e,t){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(t),void 0,e);A&&await navigator.clipboard.write([new window.ClipboardItem({"image/png":A})])}async exportPNG(e,t){if(!this.getScene||!this.file)return;const A=await this.png(this.getScene(t),void 0,e);if(!A)return;const i=new FileReader;i.readAsDataURL(A);const n=this;i.onloadend=function(){const e=i.result;download(null,e,`${n.file.basename}.png`)}}async save(e=!0,t=!1){if(!this.isLoaded)return;if(this.semaphores.saving)return;this.semaphores.saving=!0;let A=!1;if(this.getScene&&this.excalidrawAPI&&this.isLoaded&&this.file&&app.vault.getAbstractFileByPath(this.file.path)){try{const i=Boolean(null!==this.semaphores.dirty&&this.semaphores.dirty||this.semaphores.autosaving||t),n=this.getScene();if(this.compatibilityMode?await this.excalidrawData.syncElements(n):await this.excalidrawData.syncElements(n,this.excalidrawAPI.getAppState().selectedElementIds)&&!this.semaphores.popoutUnload&&await this.loadDrawing(!1,this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted))),i&&(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=e,await super.save(),A=this.lastSaveTimestamp===this.file.stat.mtime&&!e&&t,this.lastSaveTimestamp=this.file.stat.mtime,this.clearDirty(),e)){const e=this;this.preventReloadResetTimer=setTimeout((()=>e.semaphores.preventReload=!1),2e3)}if(!A&&!this.semaphores.autosaving&&!this.semaphores.viewunload){const e=this.excalidrawData.autoexportPreference;(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportSVG||e===AutoexportPreference.both||e===AutoexportPreference.svg)&&this.saveSVG(),(e===AutoexportPreference.inherit&&this.plugin.settings.autoexportPNG||e===AutoexportPreference.both||e===AutoexportPreference.png)&&this.savePNG(),!this.compatibilityMode&&this.plugin.settings.autoexportExcalidraw&&this.saveExcalidraw()}}catch(e){errorlog({where:"ExcalidrawView.save",fn:this.save,error:e}),warningUnknowSeriousError()}this.semaphores.saving=!1,A&&this.reload(!0,this.file)}else this.semaphores.saving=!1}getViewData(){var e,t,A;if(!this.getScene)return this.data;if(!this.excalidrawData.loaded)return this.data;const i=this.getScene();if(!this.compatibilityMode){let i=this.data.search(/(^%%\n)?# Text Elements\n/m);if(-1==i&&(i=this.data.search(/(%%\n)?# Drawing\n/)),-1==i)return this.data;const n=(null===(e=this.exportDialog)||void 0===e?void 0:e.dirty)&&(null===(t=this.exportDialog)||void 0===t?void 0:t.saveSettings)?[["excalidraw-export-padding",this.exportDialog.padding.toString()],["excalidraw-export-pngscale",this.exportDialog.scale.toString()],["excalidraw-export-dark","dark"===this.exportDialog.theme?"true":"false"],["excalidraw-export-transparent",this.exportDialog.transparent?"true":"false"],[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]]:[[FRONTMATTER_KEY,this.textMode===TextMode.raw?"raw":"parsed"]];(null===(A=this.exportDialog)||void 0===A?void 0:A.dirty)&&(this.exportDialog.dirty=!1);let a=updateFrontmatterInString(this.data.substring(0,i),n);const r=/(^---[\w\W]*?---\n)(!\[\[.*?]]\n(%%\n)?)/m;a.match(r)&&(a=a.replace(r,"$1")),this.excalidrawData.disableCompression||(this.excalidrawData.disableCompression=this.isEditedAsMarkdownInOtherView());const s=a+this.excalidrawData.generateMD(this.excalidrawAPI.getSceneElementsIncludingDeleted().filter((e=>e.isDeleted)));return this.excalidrawData.disableCompression=!1,s}return this.compatibilityMode?JSON.stringify(i,null,"\t"):this.data}restoreMobileLeaves(){this.hiddenMobileLeaves.length>0&&(this.hiddenMobileLeaves.forEach((e=>{e[0].containerEl.style.display=e[1]})),this.hiddenMobileLeaves=[])}toggleDisableBinding(){const e=!this.excalidrawAPI.getAppState().invertBindingBehaviour;this.updateScene({appState:{invertBindingBehaviour:e}}),new obsidian_module.Notice(e?"Inverted Mode: Default arrow binding is now disabled. Use CTRL/CMD to temporarily enable binding when needed.":"Normal Mode: Arrow binding is now enabled. Use CTRL/CMD to temporarily disable binding when needed.")}gotoFullscreen(){this.plugin.leafChangeTimeout&&(clearTimeout(this.plugin.leafChangeTimeout),this.plugin.leafChangeTimeout=null),this.excalidrawWrapperRef&&(this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!0),(e=>{for(;e&&!e.hasClass("workspace-split");)e.addClass(SHOW),e=e.parentElement;e&&e.addClass(SHOW);const t=this.ownerDocument;t.body.querySelectorAll(`div.workspace-split:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),t.body.querySelector(`div.workspace-leaf-content.${SHOW} > .view-header`).addClass(HIDE),t.body.querySelectorAll(`div.workspace-tab-container.${SHOW} > div.workspace-leaf:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),t.body.querySelectorAll(`div.workspace-tabs.${SHOW} > div.workspace-tab-header-container`).forEach((e=>e.addClass(HIDE))),t.body.querySelectorAll(`div.workspace-split.${SHOW} > div.workspace-tabs:not(.${SHOW})`).forEach((e=>e.addClass(HIDE))),t.body.querySelectorAll("div.workspace-ribbon").forEach((e=>e.addClass(HIDE))),t.body.querySelectorAll("div.mobile-navbar").forEach((e=>e.addClass(HIDE))),t.body.querySelectorAll("div.status-bar").forEach((e=>e.addClass(HIDE)))})(this.contentEl))}isFullscreen(){return Boolean(document.body.querySelector(".excalidraw-hidden"))}exitFullscreen(){this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setFullscreen(!1);const e=this.ownerDocument;e.querySelectorAll(".excalidraw-hidden").forEach((e=>e.removeClass(HIDE))),e.querySelectorAll(".excalidraw-visible").forEach((e=>e.removeClass(SHOW)))}removeLinkTooltip(){const e=this.ownerDocument.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");e&&e.classList.remove("excalidraw-tooltip--visible")}handleLinkHookCall(e,t,A){if(this.getHookServer().onLinkClickHook)try{if(!this.getHookServer().onLinkClickHook(e,t,A,this,this.getHookServer()))return!0}catch(e){errorlog({where:"ExcalidrawView.onLinkOpen",fn:this.getHookServer().onLinkClickHook,error:e})}return!1}openExternalLink(e,t){return!!e.match(REG_LINKINDEX_HYPERLINK)&&(window.open(e,"_blank"),!0)}openTagSearch(e){const t=e.matchAll(/#([\p{Letter}\p{Emoji_Presentation}\p{Number}\/_-]+)/gu).next();if(!t.value||t.value.length<2)return;const A=app.workspace.getLeavesOfType("search");0!=A.length&&(A[0].view.setQuery(`tag:${t.value[1]}`),app.workspace.revealLeaf(A[0]),this.isFullscreen()&&this.exitFullscreen())}async linkClick(e,t,A,i,n){var a,r,s,o,l;t||(t={id:null,text:null}),A||(A={id:null,fileId:null}),i||(i={id:null,text:null}),n||(n={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,altKey:e.altKey});const c=linkClickModifierType(n);let d=null,h=null,u=null;if((null==t?void 0:t.id)||(null==i?void 0:i.id)){if(u=null!==(a=null==i?void 0:i.text)&&void 0!==a?a:this.textMode===TextMode.parsed?this.excalidrawData.getRawText(t.id):t.text,!u)return;u=u.replaceAll("\n","");const A=null!==(r=t.id)&&void 0!==r?r:i.id,n=this.excalidrawAPI.getSceneElements().filter((e=>e.id===A))[0];if(this.handleLinkHookCall(n,u,e))return;if(this.openExternalLink(u))return;const s=REGEX_LINK.getResList(u);let o=s[0];if(s.length>1&&(o=await ScriptEngine.suggester(app,s.filter((e=>Boolean(e.value))).map((e=>REGEX_LINK.getLink(e))),s.filter((e=>Boolean(e.value))),"Select link to open"),!o))return;if(!o.value)return void this.openTagSearch(u);if(u=REGEX_LINK.getLink(o),this.openExternalLink(u))return;if(u.search("#")>-1){const e=getLinkParts(u,this.file);h=`#${e.isBlockRef?"^":""}${e.ref}`,u=e.path}if(u.match(REG_LINKINDEX_INVALIDCHARS))return void new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3);d=this.app.metadataCache.getFirstLinkpathDest(u,this.file.path)}if(null==A?void 0:A.id){if(this.excalidrawData.hasEquation(A.fileId)){const e=this.excalidrawData.getEquation(A.fileId).latex;return void new Prompt(app,t$d("ENTER_LATEX"),e,"").openAndGetValue((async t=>{t&&t!==e&&(this.excalidrawData.setEquation(A.fileId,{latex:t,isLoaded:!1}),await this.save(!1),await updateEquation(t,A.fileId,this,addFiles,this.plugin),this.setDirty(1))}))}if(await this.save(!1),this.excalidrawData.hasFile(A.fileId)){const e=this.excalidrawData.getFile(A.fileId);if(e.isHyperlink)return void window.open(e.hyperlink,"_blank");if("md-properties"===c&&"md"===e.file.extension&&!this.plugin.isExcalidrawFile(e.file))return void new Prompt(app,"Customize the link",e.linkParts.original,"","Do not add [[square brackets]] around the filename!
      Follow this format when editing your link:
      filename#^blockref|WIDTHxMAXHEIGHT").openAndGetValue((async t=>{t&&e.linkParts.original!==t&&(e.resetImage(this.file.path,t),await this.save(!1),await this.loadSceneFiles(),this.setDirty(2))}));u=e.file.path,d=e.file,"pdf"===d.extension.toLowerCase()&&(h=null===(s=e.linkParts.original.match(/(#.*)$/))||void 0===s?void 0:s[1])}}if(!u)return void new obsidian_module.Notice(t$d("LINK_BUTTON_CLICK_NO_TEXT"),2e4);const g=null!==(l=null!==(o=A.id)&&void 0!==o?o:t.id)&&void 0!==l?l:i.id,p=this.excalidrawAPI.getSceneElements().filter((e=>e.id===g))[0];if(!this.handleLinkHookCall(p,u,e))try{if("active-pane"!==c&&this.isFullscreen()&&this.exitFullscreen(),!d)return void new NewFileActions(this.plugin,u,n,this).open();this.linksAlwaysOpenInANewPane&&(n.ctrlKey=!0,n.altKey=!0);const e=getLeaf(this.plugin,this.leaf,n);await e.openFile(d,h?{active:!this.linksAlwaysOpenInANewPane,eState:{subpath:h}}:void 0)}catch(e){new obsidian_module.Notice(e,4e3)}}async handleLinkClick(e){this.removeLinkTooltip();const t=this.getSelectedTextElement(),A=(null==t?void 0:t.id)?null:this.getSelectedImageElement(),i=(null==A?void 0:A.id)||(null==t?void 0:t.id)?null:this.getSelectedElementWithLink();this.linkClick(e,t,A,i)}onResize(){var e,t;if(this.plugin.leafChangeTimeout)return;const A=this.excalidrawAPI;this.plugin.settings.zoomToFitOnResize&&this.excalidrawRef&&!this.semaphores.isEditingText&&A&&"text"!==(null===(t=null===(e=A.getAppState())||void 0===e?void 0:e.editingElement)||void 0===t?void 0:t.type)&&this.zoomToFit(!1)}getSceneVersion(e){return this.excalidrawGetSceneVersion||(this.excalidrawGetSceneVersion=this.plugin.getPackage(this.ownerWindow).excalidrawLib.getSceneVersion),this.excalidrawGetSceneVersion(e.filter((e=>!e.isDeleted)))}async forceSave(e=!1){this.semaphores.autosaving||this.semaphores.saving?e||new obsidian_module.Notice("Force Save aborted because saving is in progress)"):(this.preventReloadResetTimer&&(clearTimeout(this.preventReloadResetTimer),this.preventReloadResetTimer=null),this.semaphores.preventReload=!1,this.semaphores.forceSaving=!0,await this.save(!1,!0),this.plugin.triggerEmbedUpdates(),this.loadSceneFiles(),this.semaphores.forceSaving=!1,e||new obsidian_module.Notice("Save successful",1e3))}onload(){const e=Boolean(void 0===this.containerEl.onWindowMigrated);app.isMobile||e||this.containerEl.onWindowMigrated((()=>this.leaf.rebuildView()));const t=app.isMobile?document:this.containerEl.ownerDocument;this.ownerDocument=t,this.ownerWindow=this.ownerDocument.defaultView,this.plugin.getPackage(this.ownerWindow),this.semaphores.scriptsReady=!0,this.wheelEvent=e=>{this.semaphores.wheelTimeout&&clearTimeout(this.semaphores.wheelTimeout),this.semaphores.hoverSleep&&this.clearHoverPreview&&this.clearHoverPreview(),this.semaphores.wheelTimeout=setTimeout((()=>{clearTimeout(this.semaphores.wheelTimeout),this.semaphores.wheelTimeout=null}),1e3)},this.containerEl.addEventListener("wheel",this.wheelEvent,{passive:!1}),this.addAction("ScriptEngine",t$d("INSTALL_SCRIPT_BUTTON"),(()=>{new ScriptInstallPrompt(this.plugin).open()})),this.diskIcon=this.addAction("save",t$d("FORCE_SAVE"),(async()=>this.forceSave())),this.textIsRaw_Element=this.addAction("presentation",t$d("RAW"),(()=>this.changeTextMode(TextMode.parsed))),this.textIsParsed_Element=this.addAction("quote-glyph",t$d("PARSED"),(()=>this.changeTextMode(TextMode.raw))),this.linkAction_Element=this.addAction("link",t$d("OPEN_LINK"),(e=>this.handleLinkClick(e))),app.isMobile||this.addAction("fullscreen","Use the action on the Excalidraw Obsidian Panel or the Command Palette to exit fullscreen mode. You can set up a hotkey for toggling fullscreen mode in Obsidian settings under Hotkeys.",(()=>this.gotoFullscreen()));const A=this;app.workspace.onLayoutReady((async()=>{A.contentEl.addClass("excalidraw-view"),await A.addSlidingPanesListner(),A.addParentMoveObserver(),A.onKeyUp=e=>{A.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},A.onKeyDown=e=>{this.modifierKeyDown={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}},A.ownerWindow.addEventListener("keydown",A.onKeyDown,!1),A.ownerWindow.addEventListener("keyup",A.onKeyUp,!1)})),this.setupAutosaveTimer(),super.onload()}async addSlidingPanesListner(){const e=this;this.slidingPanesListner=()=>{e.refresh&&e.refresh()};let t=app.workspace.rootSplit;for(;!t;)await sleep(50),t=app.workspace.rootSplit;t.containerEl.addEventListener("scroll",this.slidingPanesListner)}removeSlidingPanesListner(){var e;this.slidingPanesListner&&(null===(e=app.workspace.rootSplit.containerEl)||void 0===e||e.removeEventListener("scroll",this.slidingPanesListner))}addParentMoveObserver(){var e;const t=null!==(e=getParentOfClass(this.containerEl,"popover"))&&void 0!==e?e:getParentOfClass(this.containerEl,"workspace-leaf");if(!t)return;const A=t.classList.contains("popover");this.offsetLeft=t.offsetLeft,this.offsetTop=t.offsetTop;const i=this;this.parentMoveObserver=new MutationObserver((async e=>{const t=e[0].target;if(!(t instanceof HTMLElement))return;const{offsetLeft:A,offsetTop:n}=t;A===i.offsetLeft&&n==i.offsetTop||(i.refresh&&i.refresh(),i.offsetLeft=A,i.offsetTop=n)})),this.parentMoveObserver.observe(t,{attributeOldValue:!0,attributeFilter:A?["data-x","data-y"]:["class","style"]})}removeParentMoveObserver(){this.parentMoveObserver&&this.parentMoveObserver.disconnect()}setTheme(e){const t=this.excalidrawAPI;if(!this.excalidrawRef||!t)return;if(this.file&&hasExportTheme(this.plugin,this.file))return;const A=t.getAppState();this.excalidrawData.scene.theme=e,this.updateScene({appState:Object.assign(Object.assign({},A),{theme:e}),commitToHistory:!1})}async changeTextMode(e,t=!0){if(this.compatibilityMode)return;if(this.blockTextModeChange)return;this.blockTextModeChange=!0,this.textMode=e,e===TextMode.parsed?(this.textIsRaw_Element.hide(),this.textIsParsed_Element.show()):(this.textIsRaw_Element.show(),this.textIsParsed_Element.hide()),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.setPreviewMode(e===TextMode.parsed);const A=this.excalidrawAPI;A&&t&&(await this.save(),this.preventAutozoom(),await this.excalidrawData.loadData(this.data,this.file,this.textMode),this.excalidrawData.scene.appState.theme=A.getAppState().theme,await this.loadDrawing(!1),A.history.clear()),this.prevTextMode=this.textMode,this.blockTextModeChange=!1}setupAutosaveTimer(){const e=async()=>{var t;if(!this.isLoaded)return void(this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval));const A=this.excalidrawAPI;if(!A)return void warningUnknowSeriousError();const i=A.getAppState(),n=null!==i.editingElement;if(this.refresh(),!this.semaphores.dirty||this.semaphores.dirty!=(null===(t=this.file)||void 0===t?void 0:t.path)||!this.plugin.settings.autosave||this.semaphores.forceSaving||this.semaphores.autosaving||n||null!==i.draggingElement)this.autosaveTimer=setTimeout(e,this.plugin.activeExcalidrawView===this&&this.semaphores.dirty&&this.plugin.settings.autosave?1e3:this.plugin.settings.autosaveInterval);else{if(this.autosaveTimer=null,this.excalidrawRef){this.semaphores.autosaving=!0;const e=this;this.save().then((()=>e.semaphores.autosaving=!1))}this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}};this.autosaveTimer&&(clearTimeout(this.autosaveTimer),this.autosaveTimer=null),this.autosaveTimer=setTimeout(e,this.plugin.settings.autosaveInterval)}onunload(){var e,t,A,i,n,a;if(this.restoreMobileLeaves(),this.semaphores.viewunload=!0,this.semaphores.popoutUnload=this.ownerDocument!==document&&0===this.ownerDocument.body.querySelectorAll(".workspace-tab-header").length,null===(e=this.ownerWindow)||void 0===e||e.removeEventListener("keydown",this.onKeyDown,!1),null===(t=this.ownerWindow)||void 0===t||t.removeEventListener("keyup",this.onKeyUp,!1),this.containerEl.removeEventListener("wheel",this.wheelEvent,!1),this.getHookServer().onViewUnloadHook)try{this.getHookServer().onViewUnloadHook(this)}catch(e){errorlog({where:"ExcalidrawView.onunload",fn:this.getHookServer().onViewUnloadHook,error:e})}const r=null===(i=null===(A=this.containerEl)||void 0===A?void 0:A.ownerDocument)||void 0===i?void 0:i.body.querySelector("body>div.excalidraw-tooltip,div.excalidraw-tooltip--visible");r&&(null===(a=null===(n=this.containerEl)||void 0===n?void 0:n.ownerDocument)||void 0===a||a.body.removeChild(r)),this.removeParentMoveObserver(),this.removeSlidingPanesListner(),this.autosaveTimer&&(clearInterval(this.autosaveTimer),this.autosaveTimer=null)}async reload(e=!1,t){if(this.semaphores.preventReload)return void(this.semaphores.preventReload=!1);if(this.semaphores.saving)return;if(this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),this.compatibilityMode)return void this.clearDirty();const A=this.excalidrawAPI;if(!this.excalidrawRef||!this.file||!A)return;const i=t&&t===this.file;i&&(this.data=await app.vault.read(t),this.preventAutozoom()),e?await this.excalidrawData.loadData(this.data,this.file,this.textMode):await this.excalidrawData.setTextMode(this.textMode),this.excalidrawData.scene.appState.theme=A.getAppState().theme,await this.loadDrawing(i),this.clearDirty()}async zoomToElementId(e,t){let A=0;for(;!this.excalidrawAPI&&A++<100;)await sleep(50);const i=this.excalidrawAPI;if(!i)return;const n=i.getSceneElements();let a=n.filter((t=>t.id===e));if(0!==a.length){if(t){const e=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],n);e.length>0&&(a=e)}this.preventAutozoom(),this.zoomToElements(!i.getAppState().viewModeEnabled,a)}}setEphemeralState(e){if(!e)return;const t=this;let A=null;e.match&&e.match.content&&e.match.matches&&1===e.match.matches.length&&2===e.match.matches[0].length&&(A=[e.match.content.substring(e.match.matches[0][0],e.match.matches[0][1])]);const i=async()=>{var e,A;let i=0;for(;(t.semaphores.justLoaded||!t.isLoaded||!t.excalidrawAPI||(null===(A=null===(e=t.excalidrawAPI)||void 0===e?void 0:e.getAppState())||void 0===A?void 0:A.isLoading))&&i++<100;)await sleep(50)},n=getEmbeddedFilenameParts(e.subpath);n.hasBlockref&&setTimeout((async()=>{await i(),setTimeout((()=>t.zoomToElementId(n.blockref,n.hasGroupref)))})),n.hasSectionref?A=[`# ${n.sectionref}`]:e.line&&e.line>0&&(A=[this.data.split("\n")[e.line-1]]),A&&setTimeout((async()=>{await i();const e=t.excalidrawAPI;if(!e)return;if(e.getAppState().isLoading)return;const a=e.getSceneElements();if(1===A.length&&A[0].startsWith("[")){let i=REGEX_LINK.getResList(A[0])[0];if(i){const A=REGEX_LINK.getLink(i);if(A){const i=t.plugin.app.metadataCache.getFirstLinkpathDest(A,t.file.path);if(i){let A=[];if(t.excalidrawData.files.forEach(((e,t)=>{var n;(null===(n=e.file)||void 0===n?void 0:n.path)===i.path&&A.push(t)})),A.length>0){const i=a.filter((e=>"image"===e.type&&A.includes(e.fileId)));i.length>0&&(this.preventAutozoom(),setTimeout((()=>t.zoomToElements(!e.getAppState().viewModeEnabled,i))))}}}}}t.selectElementsMatchingQuery(a,A,!e.getAppState().viewModeEnabled,n.hasSectionref,n.hasGroupref)})),super.setEphemeralState(e)}clear(){delete this.exportDialog;const e=this.excalidrawAPI;this.excalidrawRef&&e&&(this.activeLoader&&(this.activeLoader.terminate=!0,this.activeLoader=null),this.nextLoader=null,e.resetScene(),this.previousSceneVersion=0)}async setViewData(e,t=!1){this.isLoaded=!1,this.file&&(this.plugin.settings.showNewVersionNotification&&checkExcalidrawVersion(app),t&&this.clear(),this.lastSaveTimestamp=this.file.stat.mtime,e=this.data=e.replaceAll("\r\n","\n").replaceAll("\r","\n"),app.workspace.onLayoutReady((async()=>{if(this.compatibilityMode="excalidraw"===this.file.extension,await this.plugin.loadSettings(),this.compatibilityMode)this.textIsRaw_Element.hide(),this.textIsParsed_Element.hide(),this.linkAction_Element.hide(),this.textMode=TextMode.raw,await this.excalidrawData.loadLegacyData(e,this.file),this.plugin.settings.compatibilityMode||new obsidian_module.Notice(t$d("COMPATIBILITY_MODE"),4e3),this.excalidrawData.disableCompression=!0;else{this.linkAction_Element.show(),this.excalidrawData.disableCompression=!1;const t=getTextMode(e);this.changeTextMode(t,!1);try{if(!await this.excalidrawData.loadData(e,this.file,this.textMode))return}catch(e){return errorlog({where:"ExcalidrawView.setViewData",error:e}),new obsidian_module.Notice(`Error loading drawing:\n${e.message}${"Cannot read property 'index' of undefined"===e.message?"\n'# Drawing' section is likely missing":""}\n\nTry manually fixing the file or restoring an earlier version from sync history.`,1e4),void this.setMarkdownView()}}if(await this.loadDrawing(!0),this.plugin.ea.onFileOpenHook)try{await this.plugin.ea.onFileOpenHook({ea:getEA(this),excalidrawFile:this.file,view:this})}catch(e){errorlog({where:"ExcalidrawView.setViewData.onFileOpenHook",error:e})}const t=this.excalidrawData.getOnLoadScript();if(t){const e=this,A=this.file.basename+"-onlaod-script",i=()=>{e.excalidrawAPI?e.plugin.scriptEngine.executeScript(e,t,A,this.file):setTimeout(i,200)};i()}this.isLoaded=!0})))}getGridColor(e){const t=this.plugin.ea.getCM(e);return t.isDark()?t.lighterBy(5):t.darkerBy(5),t.stringHEX()}async loadSceneFiles(){if(!this.excalidrawAPI)return;const e=new EmbeddedFilesLoader(this.plugin),t=e=>{this.nextLoader=null,this.activeLoader=e,e.loadSceneFiles(this.excalidrawData,((e,A,i=!0)=>{e&&(addFiles(e,this,A),i&&(this.activeLoader=null,this.nextLoader?t(this.nextLoader):this.excalidrawData.getFiles().some((e=>{if(e&&!e.file&&e.attemptCounter<30){const e=this,t=this.file.path;return setTimeout((async()=>{e&&e.excalidrawAPI&&t===e.file.path&&e.loadSceneFiles()}),2e3),!0}return!1}))))}),0)};this.activeLoader?this.nextLoader=e:t(e)}async synchronizeWithData(e){let t=0;for(;this.semaphores.saving&&t++<30;)await sleep(100);if(t>=30)return void errorlog({where:"ExcalidrawView.synchronizeWithData",message:`Aborting sync with received file (${this.file.path}) because semaphores.saving remained true for ower 3 seconds`,fn:this.synchronizeWithData});this.semaphores.saving=!0;let A=!1;try{const t=e.deletedElements.map((e=>e.id)),i=this.excalidrawAPI.getSceneElements().filter((e=>!t.contains(e.id))),n=i.map((e=>e.id)),a=t=>{switch(t.type){case"text":this.excalidrawData.textElements.set(t.id,e.textElements.get(t.id));break;case"image":e.getFile(t.fileId)?(this.excalidrawData.setFile(t.fileId,e.getFile(t.fileId)),A=!0):e.getEquation(t.fileId)&&(this.excalidrawData.setEquation(t.fileId,e.getEquation(t.fileId)),A=!0)}e.elementLinks.has(t.id)&&this.excalidrawData.elementLinks.set(t.id,e.elementLinks.get(t.id))};e.scene.elements.forEach(((t,r,s)=>{const o=i.filter((e=>e.id===t.id))[0];if(o&&(o.version0&&a.viewModeEnabled,l=this.isLoaded?s.getAppState().zenModeEnabled:a.zenModeEnabled;s.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),this.updateScene({elements:n.elements.concat(null!=t?t:[]),files:n.files,commitToHistory:!0},e),this.updateScene({appState:Object.assign(Object.assign(Object.assign({},n.appState),this.excalidrawData.selectedElementIds?this.excalidrawData.selectedElementIds:{}),{zenModeEnabled:l,viewModeEnabled:o,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)})}),app.workspace.getActiveViewOfType(ExcalidrawView)===this.leaf.view&&this.excalidrawWrapperRef&&(null===(i=null===(A=this.excalidrawWrapperRef.current)||void 0===A?void 0:A.firstElementChild)||void 0===i||i.focus()),this.onAfterLoadScene()}else this.instantiateExcalidraw({elements:n.elements,appState:Object.assign(Object.assign({},n.appState),{zenModeEnabled:a.zenModeEnabled,viewModeEnabled:n.elements.length>0&&a.viewModeEnabled,linkOpacity:this.excalidrawData.getLinkOpacity(),trayModeEnabled:this.plugin.settings.defaultTrayMode,penMode:r,penDetected:r,allowPinchZoom:this.plugin.settings.allowPinchZoom,allowWheelZoom:this.plugin.settings.allowWheelZoom,pinnedScripts:this.plugin.settings.pinnedScripts,customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}),files:n.files,libraryItems:await this.getLibrary()});const o=null!==this.data.match(/```compressed\-json\n/gm);this.compatibilityMode||this.plugin.settings.compress===o||this.isEditedAsMarkdownInOtherView()||this.setDirty(4)}isEditedAsMarkdownInOtherView(){return app.workspace.getLeavesOfType("markdown").filter((e=>e.view.file===this.file)).length>0}onAfterLoadScene(){this.loadSceneFiles(),this.updateContainerSize(null,!0),this.initializeToolsIconPanelAfterLoading()}setDirty(e){var t,A;this.semaphores.dirty=null===(t=this.file)||void 0===t?void 0:t.path,this.diskIcon.querySelector("svg").addClass("excalidraw-dirty"),!this.semaphores.viewunload&&(null===(A=this.toolsPanelRef)||void 0===A?void 0:A.current)&&this.toolsPanelRef.current.setDirty(!0),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="var(--color-accent)")}clearDirty(){var e;if(this.semaphores.viewunload)return;const t=this.excalidrawAPI;if(!t)return;this.semaphores.dirty=null,(null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current)&&this.toolsPanelRef.current.setDirty(!1);const A=t.getSceneElements();A&&(this.previousSceneVersion=this.getSceneVersion(A)),this.diskIcon.querySelector("svg").removeClass("excalidraw-dirty"),app.isMobile||obsidian_module.requireApiVersion("0.16.0")&&(this.leaf.tabHeaderInnerTitleEl.style.color="")}initializeToolsIconPanelAfterLoading(){var e;if(this.semaphores.viewunload)return;const t=this.excalidrawAPI;if(!t)return;const A=t.getAppState(),i=null===(e=this.toolsPanelRef)||void 0===e?void 0:e.current;i&&(i.setTheme(A.theme),i.setExcalidrawViewMode(A.viewModeEnabled),i.setPreviewMode(this.compatibilityMode?null:this.textMode===TextMode.parsed),i.updateScriptIconMap(this.plugin.scriptEngine.scriptIconMap))}canAcceptExtension(e){return"excalidraw"===e}getDisplayText(){return this.file?this.file.basename:t$d("NOFILE")}getViewType(){return"excalidraw"}getIcon(){return ICON_NAME}setMarkdownView(){this.plugin.excalidrawFileModes[this.id||this.file.path]="markdown",this.plugin.setMarkdownView(this.leaf)}async openAsMarkdown(){!0===this.plugin.settings.compress&&(this.excalidrawData.disableCompression=!0,await this.save(!0,!0)),this.setMarkdownView()}async convertExcalidrawToMD(){await this.save(),this.plugin.openDrawing(await this.plugin.convertSingleExcalidrawToMD(this.file),"active-pane",!0)}async addYouTubeThumbnail(e){const t=await getYouTubeThumbnailLink(e),A=getEA(this),i=await A.addImage(0,0,t);A.getElement(i).link=e,A.addElementsToView(!0,!0,!0)}async addImageWithURL(e){const t=getEA(this);await t.addImage(0,0,e),t.addElementsToView(!0,!0,!0)}async addImageSaveToVault(e){const t=getEA(this),A=getMimeType(getURLImageExtension(e)),i=await getDataURLFromURL(e,A,3e3),n=await generateIdFromFile((new TextEncoder).encode(i)),a=await this.excalidrawData.saveDataURLtoVault(i,A,n);await t.addImage(0,0,a),t.addElementsToView(!0,!0,!0)}async addTextWithIframely(e){var t;const A=await this.addText(e),i=`http://iframely.server.crestify.com/iframely?url=${e}`;try{const n=JSON.parse(await obsidian_module.request({url:i}));if(!n||n.error||!(null===(t=n.meta)||void 0===t?void 0:t.title))return;const a=getEA(this),r=a.getViewElements().filter((e=>e.id===A));1===r.length&&(r[0].text=r[0].originalText=r[0].rawText=`[${n.meta.title}](${e})`,a.copyViewElementsToEAforEditing(r),a.addElementsToView(!1,!1,!1))}catch(e){}}onPaneMenu(e,t){this.excalidrawAPI&&this.getViewSelectedElements().some((e=>"text"===e.type))&&e.addItem((e=>{e.setTitle(t$d("OPEN_LINK")).setIcon("external-link").setSection("pane").onClick((e=>{this.handleLinkClick(e)}))})),this.compatibilityMode?e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE")).onClick((()=>this.convertExcalidrawToMD())).setSection("pane")})):e.addItem((e=>{e.setTitle(t$d("OPEN_AS_MD")).setIcon("document").onClick((()=>{this.openAsMarkdown()})).setSection("pane")})),e.addItem((e=>{e.setTitle(t$d("EXPORT_IMAGE")).setIcon("export-img").setSection("pane").onClick((async e=>{this.getScene&&this.file&&(this.exportDialog||(this.exportDialog=new ExportDialog(this.plugin,this,this.file),this.exportDialog.createForm()),this.exportDialog.open())})).setSection("pane")})).addItem((e=>{e.setTitle(t$d("INSTALL_SCRIPT_BUTTON")).setIcon("ScriptEngine").setSection("pane").onClick((()=>{new ScriptInstallPrompt(this.plugin).open()}))})),super.onPaneMenu(e,t)}async getLibrary(){var e;const t=this.plugin.getStencilLibrary();return(null==t?void 0:t.library)?t.library:null!==(e=null==t?void 0:t.libraryItems)&&void 0!==e?e:[]}async instantiateExcalidraw(e){for(;!this.semaphores.scriptsReady;)await sleep(50);const t=this.plugin.getPackage(this.ownerWindow).react,A=this.plugin.getPackage(this.ownerWindow).reactDOM;this.clearDirty();const i=t.createElement((()=>{const A=t.useRef(null),i=t.useRef(null),n=t.useRef(null),[a,r]=t.useState({width:void 0,height:void 0});let s=null,o=null,l=null,c=Date.now(),d=!1;this.toolsPanelRef=i,this.obsidianMenu=new ObsidianMenu(this.plugin,i,this),this.menuLinks=new MenuLinks(this.plugin,n);const h=()=>{let e,t;const A=new Promise(((A,i)=>{e=A,t=i}));return A.resolve=e,A.reject=t,A},u=t.useMemo((()=>({current:{readyPromise:h()}})),[]);t.useEffect((()=>{u.current.readyPromise.then((e=>{this.excalidrawAPI=e,e.setLocalFont(this.plugin.settings.experimentalEnableFourthFont),setTimeout((()=>{var e,t,A;this.onAfterLoadScene(),this.excalidrawContainer=null===(t=null===(e=this.excalidrawWrapperRef)||void 0===e?void 0:e.current)||void 0===t?void 0:t.firstElementChild,null===(A=this.excalidrawContainer)||void 0===A||A.focus()}))}))}),[u]),this.excalidrawRef=u,this.excalidrawWrapperRef=A,t.useEffect((()=>{r({width:this.contentEl.clientWidth,height:this.contentEl.clientHeight});const e=()=>{try{const e=this.contentEl.clientWidth,t=this.contentEl.clientHeight;if(0===e||0===t)return;r({width:e,height:t}),this.toolsPanelRef&&this.toolsPanelRef.current&&this.toolsPanelRef.current.updatePosition(),this.ownerDocument!==document&&this.refresh()}catch(e){errorlog({where:"Excalidraw React-Wrapper, onResize",error:e})}};return this.ownerWindow.addEventListener("resize",e),()=>{var t;return null===(t=this.ownerWindow)||void 0===t?void 0:t.removeEventListener("resize",e)}}),[A]),this.getSelectedTextElement=()=>{var e;const t=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!t)return{id:null,text:null};if(t.getAppState().viewModeEnabled){if(s){const e=s;return s=null,e}return{id:null,text:null}}const A=t.getSceneElements().filter((e=>e.id===Object.keys(t.getAppState().selectedElementIds)[0]));if(0===A.length)return{id:null,text:null};if("text"===A[0].type)return{id:A[0].id,text:A[0].text};if(["image","arrow"].contains(A[0].type))return{id:null,text:null};const i=null===(e=A[0].boundElements)||void 0===e?void 0:e.filter((e=>"text"===e.type));if((null==i?void 0:i.length)>0){const e=t.getSceneElements().filter((e=>e.id===i[0].id));if(e.length>0)return{id:e[0].id,text:e[0].text}}if(0===A[0].groupIds.length)return{id:null,text:null};const n=A[0].groupIds[0],a=t.getSceneElements().filter((e=>{var t;return null===(t=e.groupIds)||void 0===t?void 0:t.includes(n)})).filter((e=>"text"===e.type));return 0===a.length?{id:null,text:null}:{id:A[0].id,text:A[0].text}},this.getSelectedImageElement=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,fileId:null};if(e.getAppState().viewModeEnabled){if(o){const e=o;return o=null,e}return{id:null,fileId:null}}const t=e.getSceneElements().filter((t=>t.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,fileId:null};if("image"==t[0].type)return{id:t[0].id,fileId:t[0].fileId};if("text"===t[0].type)return{id:null,fileId:null};if(0===t[0].groupIds.length)return{id:null,fileId:null};const A=t[0].groupIds[0],i=e.getSceneElements().filter((e=>{var t;return null===(t=e.groupIds)||void 0===t?void 0:t.includes(A)})).filter((e=>"image"==e.type));return 0===i.length?{id:null,fileId:null}:{id:i[0].id,fileId:i[0].fileId}},this.getSelectedElementWithLink=()=>{const e=this.excalidrawAPI;if(!e)return{id:null,text:null};if(e.getAppState().viewModeEnabled){if(l){const e=l;return l=null,e}return{id:null,text:null}}const t=e.getSceneElements().filter((t=>t.id==Object.keys(e.getAppState().selectedElementIds)[0]));if(0===t.length)return{id:null,text:null};if(t[0].link)return{id:t[0].id,text:t[0].link};if(0===t[0].groupIds.length)return{id:null,text:null};const A=t[0].groupIds[0],i=e.getSceneElements().filter((e=>{var t;return null===(t=e.groupIds)||void 0===t?void 0:t.includes(A)})).filter((e=>e.link));return 0===i.length?{id:null,text:null}:{id:i[0].id,text:i[0].link}},this.addText=async(e,t,A=!0)=>{var i,n,a,r,s;const o=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!o)return;const l=o.getAppState(),c=this.plugin.ea.getAPI(this);c.style.strokeColor=null!==(i=l.currentItemStrokeColor)&&void 0!==i?i:"black",c.style.opacity=null!==(n=l.currentItemOpacity)&&void 0!==n?n:1,c.style.fontFamily=null!==(a=null!=t?t:l.currentItemFontFamily)&&void 0!==a?a:1,c.style.fontSize=null!==(r=l.currentItemFontSize)&&void 0!==r?r:20,c.style.textAlign=null!==(s=l.currentItemTextAlign)&&void 0!==s?s:"left";const{width:d,height:h}=l,g=viewportCoordsToSceneCoords({clientX:0,clientY:0},l),p=viewportCoordsToSceneCoords({clientX:d,clientY:h},l),m=g.x>this.currentPosition.x||p.xthis.currentPosition.y||p.y{const a=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!a)return!1;const r=e.filter((e=>"text"==e.type));for(let e=0;ee.id)),o=a.getSceneElements(),l=[];for(let t=0;te.id===A))[0],l.push(A))}const c=n?o.concat(e.filter((e=>!l.includes(e.id)))):e.filter((e=>!l.includes(e.id))).concat(o);if(this.updateScene({elements:c,commitToHistory:!0},!0),i&&Object.keys(i).length>0){const e=[];Object.keys(i).forEach((t=>{if(e.push({mimeType:i[t].mimeType,id:i[t].id,dataURL:i[t].dataURL,created:i[t].created}),i[t].file||i[t].isHyperlink){const e=new EmbeddedFile(this.plugin,this.file.path,i[t].isHyperlink?i[t].hyperlink:i[t].file),A=a.getAppState();e.setImage(i[t].dataURL,i[t].mimeType,i[t].size,"dark"===A.theme,i[t].hasSVGwithBitmap),this.excalidrawData.setFile(i[t].id,e)}i[t].latex&&this.excalidrawData.setEquation(i[t].id,{latex:i[t].latex,isLoaded:!0})})),a.addFiles(e)}return a.updateContainerSize(a.getSceneElements().filter((e=>s.includes(e.id))).filter(isContainer)),A?await this.save(!1):this.setDirty(5),!0},this.getScene=e=>{const t=this.excalidrawAPI;if(!(null==u?void 0:u.current)||!t)return null;const A=e?this.getViewSelectedElements():t.getSceneElements(),i=t.getAppState(),n=Object.assign({},t.getFiles());if(n){const e=A.filter((e=>"image"===e.type)).map((e=>e.fileId)),t=Object.keys(n).filter((t=>!e.contains(t)));t.forEach((e=>delete n[e]))}return{type:"excalidraw",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,elements:A,appState:{theme:i.theme,viewBackgroundColor:i.viewBackgroundColor,currentItemStrokeColor:i.currentItemStrokeColor,currentItemBackgroundColor:i.currentItemBackgroundColor,currentItemFillStyle:i.currentItemFillStyle,currentItemStrokeWidth:i.currentItemStrokeWidth,currentItemStrokeStyle:i.currentItemStrokeStyle,currentItemRoughness:i.currentItemRoughness,currentItemOpacity:i.currentItemOpacity,currentItemFontFamily:i.currentItemFontFamily,currentItemFontSize:i.currentItemFontSize,currentItemTextAlign:i.currentItemTextAlign,currentItemStartArrowhead:i.currentItemStartArrowhead,currentItemEndArrowhead:i.currentItemEndArrowhead,scrollX:i.scrollX,scrollY:i.scrollY,zoom:i.zoom,currentItemRoundness:i.currentItemRoundness,gridSize:i.gridSize,colorPalette:i.colorPalette,currentStrokeOptions:i.currentStrokeOptions,previousGridSize:i.previousGridSize},prevTextMode:this.prevTextMode,files:n}},this.refresh=()=>{if(0===this.contentEl.clientWidth||0===this.contentEl.clientHeight)return;const e=this.excalidrawAPI;(null==u?void 0:u.current)&&e&&e.refresh()};let g={x:0,y:0},p=null;this.clearHoverPreview=()=>{if(p){const e=new MouseEvent("click",{view:this.ownerWindow,bubbles:!0,cancelable:!0});p.dispatchEvent(e),p=null}};const m=e=>{var t,A,i,n,a;const r=null===(t=app.dragManager.draggable)||void 0===t?void 0:t.files;return r&&r[0]==this.file&&(r.shift(),app.dragManager.draggable.title=`${r.length} files`),["file","files"].includes(null===(A=app.dragManager.draggable)||void 0===A?void 0:A.type)?"link":(null===(i=e.types)||void 0===i?void 0:i.includes("text/html"))||(null===(n=e.types)||void 0===n?void 0:n.includes("text/plain"))||(null===(a=e.types)||void 0===a?void 0:a.includes("Files"))?"copy":void 0};let w=!1;const f=()=>{if(s=getTextElementAtPointer(this.currentPosition,this),s&&s.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(s=null)}if(o=getImageElementAtPointer(this.currentPosition,this),o&&o.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(o=null)}if(l=getElementWithLinkAtPointer(this.currentPosition,this),l&&l.id){const e=new MouseEvent("click",{ctrlKey:!(DEVICE.isIOS||DEVICE.isMacOS)||this.modifierKeyDown.ctrlKey,metaKey:DEVICE.isIOS||DEVICE.isMacOS||this.modifierKeyDown.metaKey,shiftKey:this.modifierKeyDown.shiftKey,altKey:this.modifierKeyDown.altKey});return this.handleLinkClick(e),void(l=null)}};let B=null;const E=(e,t)=>{var A,i;if(!B)return;if(null===(i=null===(A=this.excalidrawAPI)||void 0===A?void 0:A.getAppState())||void 0===i?void 0:i.editingElement)return;if(this.semaphores.wheelTimeout)return;if(!e){if(!this.currentPosition)return;e="";const A=getTextElementAtPointer(this.currentPosition,this);if(A&&A.text){t=this.excalidrawAPI.getSceneElements().filter((e=>e.id===A.id))[0];const i=this.textMode===TextMode.parsed?this.excalidrawData.getRawText(A.id):A.text;if(!i)return;if(i.match(REG_LINKINDEX_HYPERLINK))return;const n=REGEX_LINK.getRes(i).next();if(!n.value)return;if((e=REGEX_LINK.getLink(n)).match(REG_LINKINDEX_HYPERLINK))return}else{const A=getImageElementAtPointer(this.currentPosition,this);if(t=this.excalidrawAPI.getSceneElements().filter((e=>e.id===A.id))[0],!A||!A.fileId)return;if(!this.excalidrawData.hasFile(A.fileId))return;const i=this.excalidrawData.getFile(A.fileId);if(i.isHyperlink)return;if(IMAGE_TYPES.contains(i.file.extension))return;if("pdf"===i.file.extension.toLowerCase())return;if(this.plugin.ea.isExcalidrawFile(i.file))return;const n=i.linkParts.ref?`#${i.linkParts.isBlockRef?"^":""}${i.linkParts.ref}`:"";e=i.file.path+n}}if(this.getHookServer().onLinkHoverHook)try{if(!this.getHookServer().onLinkHoverHook(t,e,this,this.getHookServer()))return}catch(e){errorlog({where:"ExcalidrawView.showHoverPreview",fn:this.getHookServer().onLinkHoverHook,error:e})}if(this.semaphores.hoverSleep)return;const n=app.metadataCache.getFirstLinkpathDest(e.split("#")[0],this.file.path);if(!n)return;if(this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))return;this.semaphores.hoverSleep=!0;const a=this;if(setTimeout((()=>a.semaphores.hoverSleep=!1),500),this.plugin.hover.linkText=e,this.plugin.hover.sourcePath=this.file.path,p=this.contentEl,app.workspace.trigger("hover-link",{event:B,source:"excalidraw",hoverParent:p,targetEl:p,linktext:this.plugin.hover.linkText,sourcePath:this.plugin.hover.sourcePath}),g=this.currentPosition,this.isFullscreen()){const e=this;setTimeout((()=>{var t,A,i,a;const r=null!==(a=null===(i=null===(A=null===(t=this.ownerDocument.querySelector(`div.popover-title[data-path="${n.path}"]`))||void 0===t?void 0:t.parentElement)||void 0===A?void 0:A.parentElement)||void 0===i?void 0:i.parentElement)&&void 0!==a?a:this.ownerDocument.body.querySelector("div.popover");r&&e.contentEl.append(r)}),400)}},{Excalidraw:b,MainMenu:v,WelcomeScreen:C}=this.plugin.getPackage(this.ownerWindow).excalidrawLib,y=t.createElement("div",{className:"excalidraw-wrapper",ref:A,key:"abc",tabIndex:0,onKeyDown:e=>{e.target!==y.ref.current&&(this.isFullscreen()&&e.keyCode===KEYCODE.ESC&&this.exitFullscreen(),!isCTRL(e)||isSHIFT(e)||isALT(e)||E())},onPointerDown:e=>{(isCTRL(e)||isMETA(e))&&(!this.plugin.settings.allowCtrlClick&&isMETA(e)||setTimeout((()=>{(this.getSelectedTextElement().id||this.getSelectedImageElement().id||this.getSelectedElementWithLink().id)&&this.handleLinkClick(e)})))},onMouseMove:e=>{B=e.nativeEvent},onMouseOver:()=>{this.clearHoverPreview()},onDragOver:e=>{const t=m(e.dataTransfer);if(t){this.draginfoDiv||(this.draginfoDiv=createDiv({cls:"excalidraw-draginfo"}),this.ownerDocument.body.appendChild(this.draginfoDiv));let A="";if(app.dragManager.draggable)switch(internalDragModifierType(e)){case"image":A="Embed image";break;case"image-fullsize":A="Embed image @100%";break;case"link":A="Insert link"}else if(1===e.dataTransfer.types.length&&e.dataTransfer.types.includes("Files"))A="External file";else switch(externalDragModifierType(e)){case"image-import":A="Import image to Vault";break;case"image-url":A="Insert image/thumbnail with URL";break;case"insert-link":A="Insert link"}this.draginfoDiv.innerText!==A&&(this.draginfoDiv.innerText=A);const i=e.clientY-8*parseFloat(getComputedStyle(this.draginfoDiv).fontSize)+"px",n=e.clientX-this.draginfoDiv.clientWidth/2+"px";return this.draginfoDiv.style.top!==i&&(this.draginfoDiv.style.top=i),this.draginfoDiv.style.left!==n&&(this.draginfoDiv.style.left=n),e.dataTransfer.dropEffect=t,e.preventDefault(),!1}},onDragLeave:()=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv)}},t.createElement(b,{ref:u,width:a.width,height:a.height,UIOptions:{canvasActions:{loadScene:!1,saveScene:!1,saveAsScene:!1,export:!1,saveAsImage:!1,saveToActiveFile:!1}},initState:null==e?void 0:e.appState,initialData:e,detectScroll:!0,onPointerUpdate:e=>{if(this.currentPosition=e.pointer,p&&(Math.abs(g.x-e.pointer.x)>50||Math.abs(g.y-e.pointer.y)>50)&&this.clearHoverPreview(),w){if(!d&&"down"===e.button){if(d=!0,isCTRL(this.modifierKeyDown)||isMETA(this.modifierKeyDown))return void f();const e=Date.now();return e-c<600&&e-c>40&&f(),void(c=e)}"up"===e.button&&(d=!1),(isCTRL(this.modifierKeyDown)||this.excalidrawAPI.getAppState().isViewModeEnabled&&this.plugin.settings.hoverPreviewWithoutCTRL)&&E()}},libraryReturnUrl:"app://obsidian.md",autoFocus:!0,onChange:(e,t)=>{var A,i,n,a;const r=()=>{if(setTimeout((()=>this.updateScene({appState:{gridColor:this.getGridColor(t.viewBackgroundColor)}}))),setDynamicStyle(this.plugin.ea,this,t.viewBackgroundColor,this.plugin.settings.dynamicStyling),this.plugin.ea.onCanvasColorChangeHook)try{this.plugin.ea.onCanvasColorChangeHook(this.plugin.ea,this,t.viewBackgroundColor)}catch(e){errorlog({where:r,source:this.plugin.ea.onCanvasColorChangeHook,error:e,message:"ea.onCanvasColorChangeHook exception"})}};if(w=t.viewModeEnabled,this.semaphores.justLoaded){if((null!==(a=null===(n=null===(i=null===(A=this.excalidrawData)||void 0===A?void 0:A.scene)||void 0===i?void 0:i.elements)||void 0===n?void 0:n.length)&&void 0!==a?a:0)>0&&0===e.length)return;return this.semaphores.justLoaded=!1,!this.semaphores.preventAutozoom&&this.plugin.settings.zoomToFitOnOpen&&this.zoomToFit(!1,!0),this.previousSceneVersion=this.getSceneVersion(e),this.previousBackgroundColor=t.viewBackgroundColor,this.previousTheme=t.theme,void r()}if(t.theme!==this.previousTheme&&this.file===this.excalidrawData.file&&(this.previousTheme=t.theme,this.setDirty(5)),t.viewBackgroundColor!==this.previousBackgroundColor&&this.file===this.excalidrawData.file&&(this.previousBackgroundColor=t.viewBackgroundColor,this.setDirty(6),this.colorChangeTimer&&clearTimeout(this.colorChangeTimer),this.colorChangeTimer=setTimeout((()=>{r(),this.colorChangeTimer=null}),50)),!this.semaphores.dirty&&null===t.editingElement&&null===t.editingLinearElement){const t=this.getSceneVersion(e);(t>0||0===t&&e.length>0)&&t!==this.previousSceneVersion&&(this.previousSceneVersion=t,this.setDirty(6))}},onLibraryChange:e=>{(async()=>{const t={type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:e};this.plugin.setStencilLibrary(t),await this.plugin.saveSettings()})()},renderTopRightUI:this.obsidianMenu.renderButton,onPaste:e=>{if(e&&e.text&&hyperlinkIsYouTubeLink(e.text))return this.addYouTubeThumbnail(e.text),!1;if(e&&e.text&&hyperlinkIsImage(e.text))return this.addImageWithURL(e.text),!1;if(e.elements){const e=this;setTimeout((()=>e.save(!1)),300)}return!0},onThemeChange:async e=>{var t;this.excalidrawData.scene.appState.theme=e,this.loadSceneFiles(),null===(t=null==i?void 0:i.current)||void 0===t||t.setTheme(e),setDynamicStyle(this.plugin.ea,this,this.previousBackgroundColor,this.plugin.settings.dynamicStyling)},ownerDocument:this.ownerDocument,ownerWindow:this.ownerWindow,onDrop:e=>{this.draginfoDiv&&(this.ownerDocument.body.removeChild(this.draginfoDiv),delete this.draginfoDiv);const t=this.excalidrawAPI;if(!t)return!1;const A=t.getAppState();this.currentPosition=viewportCoordsToSceneCoords({clientX:e.clientX,clientY:e.clientY},A);const i=app.dragManager.draggable,n=internalDragModifierType(e),a=externalDragModifierType(e),r=(t,A,n)=>{if(!this.getHookServer().onDropHook)return!1;try{return this.getHookServer().onDropHook({ea:this.getHookServer(),event:e,draggable:i,type:t,payload:{files:A,text:n},excalidrawFile:this.file,view:this,pointerPosition:this.currentPosition})}catch(e){return new obsidian_module.Notice("on drop hook error. See console log for details"),errorlog({where:"ExcalidrawView.onDrop",error:e}),!1}};switch(null==i?void 0:i.type){case"file":if(!r("file",[i.file],null)){if(i.file.path.match(REG_LINKINDEX_INVALIDCHARS))return new obsidian_module.Notice(t$d("FILENAME_INVALID_CHARS"),4e3),!1;if(["image","image-fullsize"].contains(n)&&(IMAGE_TYPES.contains(i.file.extension)||"md"===i.file.extension||"pdf"===i.file.extension.toLowerCase())){const e=getEA(this);return"pdf"===i.file.extension.toLowerCase()?new InsertPDFModal(this.plugin,this).open(i.file):(async()=>{e.canvas.theme=t.getAppState().theme,await e.addImage(this.currentPosition.x,this.currentPosition.y,i.file,!("image-fullsize"===n)),e.addElementsToView(!1,!1,!0)})(),!1}this.addText(`[[${app.metadataCache.fileToLinktext(i.file,this.file.path,!0)}]]`)}return!1;case"files":return r("file",i.files,null)||(async()=>{if(["image","image-fullsize"].contains(n)){const e=getEA(this);e.canvas.theme=t.getAppState().theme;let A=0;for(const t of i.files)(IMAGE_TYPES.contains(t.extension)||"md"===t.extension)&&(await e.addImage(this.currentPosition.x+50*A,this.currentPosition.y+50*A,t,!("image-fullsize"===n)),A++,await e.addElementsToView(!1,!1,!0)),"pdf"===t.extension.toLowerCase()&&new InsertPDFModal(this.plugin,this).open(t)}else{for(const e of i.files)await this.addText(`[[${app.metadataCache.fileToLinktext(e,this.file.path,!0)}]]`,void 0,!1),this.currentPosition.y+=2*A.currentItemFontSize;this.save(!1)}})(),!1}if(e.dataTransfer.types.includes("Files")){if(e.dataTransfer.types.includes("text/plain")){const t=e.dataTransfer.getData("text");if(t&&r("text",null,t))return!1;if(t&&"image-url"===a&&hyperlinkIsImage(t))return this.addImageWithURL(t),!1;if(t&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&t.match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(t),!1):(this.addText(t),!1)}if(e.dataTransfer.types.includes("text/html")){const t=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/);if(t&&"image-url"===a&&hyperlinkIsImage(t[1]))return this.addImageWithURL(t[1]),!1;if(t&&"insert-link"===a)return this.plugin.settings.iframelyAllowed&&t[1].match(/^https?:\/\/\S*$/)?(this.addTextWithIframely(t[1]),!1):(this.addText(t[1]),!1)}return!0}if(e.dataTransfer.types.includes("text/plain")||e.dataTransfer.types.includes("text/uri-list")||e.dataTransfer.types.includes("text/html")){const t=e.dataTransfer.getData("text/html").match(/src=["']([^"']*)["']/),A=t?t[1]:"",i=e.dataTransfer.getData("text"),n=e.dataTransfer.getData("text/uri-list");let s=t?A:i;if(s&&""!==s||(s=n),!s||""===s)return!0;if(!r("text",null,s)){if(s&&"image-url"===a&&hyperlinkIsYouTubeLink(s))return this.addYouTubeThumbnail(s),!1;if(n&&"image-url"===a&&hyperlinkIsYouTubeLink(n))return this.addYouTubeThumbnail(n),!1;if(s&&"image-url"===a&&hyperlinkIsImage(s))return this.addImageWithURL(s),!1;if(n&&"image-url"===a&&hyperlinkIsImage(n))return this.addImageWithURL(n),!1;if(s&&"image-import"===a&&hyperlinkIsImage(s))return this.addImageSaveToVault(s),!1;if(n&&"image-import"===a&&hyperlinkIsImage(n))return this.addImageSaveToVault(n),!1;if(this.plugin.settings.iframelyAllowed&&s.match(/^https?:\/\/\S*$/))return this.addTextWithIframely(s),!1;if(s.startsWith("obsidian://open?vault=")){const t=e.dataTransfer.getData("text/html");if(t){const e=t.match(/href="app:\/\/obsidian\.md\/(.*?)"/);if(2===e.length){const t=decodeURIComponent(e[1]).split("#"),A=app.vault.getAbstractFileByPath(t[0]);if(A&&A instanceof obsidian_module.TFile){const e=app.metadataCache.fileToLinktext(A,this.file.path);return void this.addText(`[[${e+(t.length>1?"#"+t[1]+"|"+e:"")}]]`)}return this.addText(`[[${decodeURIComponent(e[1])}]]`),!1}}const A=s.split("file=");if(2===A.length)return this.addText(`[[${decodeURIComponent(A[1])}]]`),!1}this.addText(s.replace(/(!\[\[.*#[^\]]*\]\])/g,"$1{40}"))}return!1}return!r("unknown",null,null)},onBeforeTextEdit:e=>{var t;if(clearTimeout(this.isEditingTextResetTimer),this.isEditingTextResetTimer=null,this.semaphores.isEditingText=!0,this.compatibilityMode)return null!==(t=e.originalText)&&void 0!==t?t:e.text;return this.excalidrawData.getRawText(e.id)||e.rawText},onBeforeTextSubmit:(e,t,A,i)=>{const n=this.excalidrawAPI;if(!n)return[null,null,null];const a="PASTING EXCALIDRAW ELEMENTS AS A TEXT ELEMENT IS NOT ALLOWED";if(t.startsWith('{"type":"excalidraw/clipboard","elements":[{"'))return setTimeout((()=>{const t=this.excalidrawAPI.getSceneElements(),A=t.filter((t=>t.id===e.id));if(1===A.length){const e=cloneElement(A[0]);e.rawText=a,t[t.indexOf(A[0])]=e,this.excalidrawData.setTextElement(e.id,a,a,(()=>{})),this.updateScene({elements:t}),n.history.clear()}})),[a,a,null];if(this.semaphores.isEditingText=!0,this.isEditingTextResetTimer=setTimeout((()=>{this.semaphores.isEditingText=!1,this.isEditingTextResetTimer=null}),1500),i)return this.excalidrawData.deleteTextElement(e.id),this.setDirty(7),[null,null,null];const r=e.containerId;if(t!==e.text||A!==e.originalText||!this.excalidrawData.getRawText(e.id)){this.setDirty(8);const[i,a,s]=this.excalidrawData.setTextElement(e.id,t,A,(async(t,A)=>{var i,a;if(this.textMode===TextMode.raw)return;const r=this.excalidrawAPI.getSceneElements(),s=r.filter((t=>t.id===e.id));if(1===s.length){const e=cloneElement(s[0]),o=s[0].containerId?null===(a=null===(i=n.getSceneElements().filter((e=>e.id===s[0].containerId)))||void 0===i?void 0:i[0])||void 0===a?void 0:a.type:void 0;this.excalidrawData.updateTextElement(e,t,A,!0,o),r[r.indexOf(s[0])]=e,this.updateScene({elements:r}),e.containerId&&this.updateContainerSize(e.containerId)}n.history.clear()}));return i?(r&&this.updateContainerSize(r,!0),this.textMode===TextMode.raw?[t,A,s]:t===i?s?[i,a,s]:[null,null,null]:(n.history.clear(),[i,a,s])):[null,null,null]}return r&&this.updateContainerSize(r,!0),this.textMode===TextMode.parsed?this.excalidrawData.getParsedText(e.id):[null,null,null]},onLinkOpen:async(e,t)=>{var A;if(t.preventDefault(),!e)return;let i=e.link;if(!i||""===i)return;setTimeout((()=>this.removeLinkTooltip()),500);let n=null===(A=null==t?void 0:t.detail)||void 0===A?void 0:A.nativeEvent;if(!this.handleLinkHookCall(e,e.link,n)&&!this.openExternalLink(e.link,isSHIFT(n)||isCTRL(n)||isMETA(n)||isALT(n)?void 0:e)){if("text"===e.type){const t=e.rawText.replaceAll("\n","");REGEX_LINK.getResList(t).filter((e=>Boolean(e.value))).length>1&&(i=t)}n.shiftKey||n.ctrlKey||n.metaKey||n.altKey||(n={shiftKey:!0,ctrlKey:!1,metaKey:!1,altKey:!1}),this.linkClick(n,null,null,{id:e.id,text:i},emulateCTRLClickForLinks(n))}},onLinkHover:(e,t)=>{if(e&&(this.plugin.settings.hoverPreviewWithoutCTRL||isCTRL(t))){B=t,B.ctrlKey=!(DEVICE.isIOS||DEVICE.isMacOS)||B.ctrlKey,B.metaKey=DEVICE.isIOS||DEVICE.isMacOS||B.metaKey;const A=e.link;if(!A||""===A)return;if(A.startsWith("[[")){const t=A.match(/\[\[(?.*?)\]\]/);if(!t)return;let i=t.groups.link;E(i,e)}}},onViewModeChange:e=>{var t,A;if(this.semaphores.viewunload||null===(A=null===(t=this.toolsPanelRef)||void 0===t?void 0:t.current)||void 0===A||A.setExcalidrawViewMode(e),this.getHookServer().onViewModeChangeHook)try{this.getHookServer().onViewModeChangeHook(e,this,this.getHookServer())}catch(e){errorlog({where:"ExcalidrawView.onViewModeChange",fn:this.getHookServer().onViewModeChangeHook,error:e})}}},t.createElement(v,{},t.createElement(v.DefaultItems.ChangeCanvasBackground),t.createElement(v.DefaultItems.ToggleTheme),t.createElement(v.Separator),DEVICE.isPhone?null:t.createElement(v.Item,{icon:ICONS.trayMode,"aria-label":"Tray-mode offers an alternative, more spacious canvas",onSelect:()=>{this.toggleTrayMode()}},"Toggle tray-mode"),t.createElement(v.Item,{icon:saveIcon(!1),"aria-label":t$d("FORCE_SAVE"),onSelect:()=>{this.forceSave()}},"Save"),t.createElement(v.Item,{icon:ICONS.scriptEngine,"aria-label":"Explore the Excalidraw Script Library",onSelect:()=>{new ScriptInstallPrompt(this.plugin).open()}},"Script Library"),t.createElement(v.Item,{icon:ICONS.ExportImage,"aria-label":"Export image as PNG, SVG, or Excalidraw file",onSelect:()=>{this.exportDialog||(this.exportDialog=new ExportDialog(this.plugin,this,this.file),this.exportDialog.createForm()),this.exportDialog.open()}},"Export Image..."),t.createElement(v.Item,{icon:ICONS.switchToMarkdown,"aria-label":"Switch to markdown view",onSelect:()=>{this.openAsMarkdown()}},"Open as Markdown"),t.createElement(v.Separator),t.createElement(v.DefaultItems.Help),t.createElement(v.DefaultItems.ClearCanvas)),t.createElement(C,{},t.createElement(C.Center,{},t.createElement(C.Center.Logo),t.createElement(C.Center.Heading,{},'Type "Excalidraw" in the Command Palette',t.createElement("br"),"Explore the Obsidian Menu in the top right",t.createElement("br"),"Visit the Script Library",t.createElement("br"),"Find help in the hamburger-menu"),t.createElement(C.Center.Menu,{},t.createElement(C.Center.MenuItemLink,{icon:ICONS.YouTube,href:"https://www.youtube.com/@VisualPKM",shortcut:null,"aria-label":"Visual PKM YouTube Channel"}," Check out the Visual PKM YouTube channel."),t.createElement(C.Center.MenuItemLink,{icon:ICONS.Discord,href:"https://discord.gg/DyfAXFwUHc",shortcut:null,"aria-label":"Join the Visual Thinking Discord Server"}," Join the Visual Thinking Discord Server"),t.createElement(C.Center.MenuItemLink,{icon:ICONS.twitter,href:"https://twitter.com/zsviczian",shortcut:null,"aria-label":"Follow me on Twitter"}," Follow me on Twitter"),t.createElement(C.Center.MenuItemLink,{icon:ICONS.heart,href:"https://ko-fi.com/zsolt",shortcut:null,"aria-label":"Donate to support Excalidraw-Obsidian"},' Say "Thank You" & support the plugin.'))))),t.createElement(ToolsPanel,{ref:i,visible:!1,view:this,centerPointer:()=>{const e=this.excalidrawAPI;if(!u||!u.current||!e)return;const t=e.getAppState(),{width:A,height:i}=t;this.currentPosition=viewportCoordsToSceneCoords({clientX:A/2,clientY:i/2},t)}})),F=t.useRef(new ResizeObserver((e=>{if(!i||!i.current)return;const{width:t,height:A}=e[0].contentRect;if(0===t||0===A)return;const n=i.current.onRightEdge?i.current.previousWidth-t:0,a=i.current.onBottomEdge?i.current.previousHeight-A:0;i.current.updatePosition(a,n)})));return t.useEffect((()=>((null==i?void 0:i.current)&&F.current.observe(i.current.containerRef.current),()=>{F.current.unobserve(i.current.containerRef.current)})),[i,F]),t.createElement(t.Fragment,null,y)}));A.createRoot(this.contentEl).render(i)}updateContainerSize(e,t=!1){const A=this.excalidrawAPI;if(!A)return;const i=()=>{const t=e?A.getSceneElements().filter((t=>t.id===e&&"arrow"!==t.type)):A.getSceneElements().filter(isContainer);t.length>0&&(this.initialContainerSizeUpdate&&(this.semaphores.justLoaded=!0),A.updateContainerSize(t)),this.initialContainerSizeUpdate=!1};t?setTimeout((()=>i()),50):i()}zoomToFit(e=!0,t=!1){if(document.body.querySelector("div.modal-container"))return;const A=this.excalidrawAPI;if(!A||!this.excalidrawRef||this.semaphores.isEditingText||this.semaphores.preventAutozoom)return;const i=this.plugin.settings.zoomToFitMaxLevel,n=A.getSceneElements().filter((e=>e.width<1e4&&e.height<1e4));app.isMobile&&n.length>1e3||n.length>2500?t&&A.scrollToContent():e?setTimeout((()=>A.zoomToFit(n,i,this.isFullscreen()?0:.05)),100):A.zoomToFit(n,i,this.isFullscreen()?0:.05)}updatePinnedScripts(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{pinnedScripts:this.plugin.settings.pinnedScripts}})}updatePinnedCustomPens(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{customPens:this.plugin.settings.customPens.slice(0,this.plugin.settings.numberOfCustomPens)}})}updatePinchZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowPinchZoom:this.plugin.settings.allowPinchZoom}})}updateWheelZoom(){const e=this.excalidrawAPI;if(!e)return!1;e.updateScene({appState:{allowWheelZoom:this.plugin.settings.allowWheelZoom}})}async toggleTrayMode(){const e=this.excalidrawAPI;if(!e)return!1;const t=e.getAppState();e.updateScene({appState:{trayModeEnabled:!t.trayModeEnabled}}),await this.plugin.loadSettings(),this.plugin.settings.defaultTrayMode=!t.trayModeEnabled,this.plugin.saveSettings()}selectElementsMatchingQuery(e,t,A=!0,i=!1,n=!1){let a=getTextElementsMatchingQuery(e.filter((e=>"text"===e.type)),t,i);if(0!==a.length){if(n){const t=this.plugin.ea.getElementsInTheSameGroupWithElement(a[0],e);t.length>0&&(a=t)}this.zoomToElements(A,a)}else new obsidian_module.Notice("I could not find a matching text element")}zoomToElements(e,t){const A=this.excalidrawAPI;if(!A)return;const i=this.plugin.settings.zoomToFitMaxLevel;e&&A.selectElements(t),A.zoomToFit(t,i,.05)}getViewSelectedElements(){var e;const t=this.excalidrawAPI;if(!t)return[];const A=null===(e=t.getAppState())||void 0===e?void 0:e.selectedElementIds;if(!A)return[];const i=Object.keys(A);if(!i)return[];const n=t.getSceneElements().filter((e=>i.includes(e.id))),a=n.filter((e=>e.boundElements&&e.boundElements.filter((e=>"text"===e.type)).length>0)).map((e=>e.boundElements.filter((e=>"text"===e.type)).map((e=>e.id))[0])),r=n.map((e=>e.id)).concat(a);return t.getSceneElements().filter((e=>r.contains(e.id)))}async copyLinkToSelectedElementToClipboard(e){const t=this.getViewSelectedElements();if(t.length<1)return void new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_ERROR"));let A;if(2===t.length){const e=t.filter((e=>"text"===e.type));1===e.length&&e[0].containerId&&1===t.filter((e=>e.boundElements.some((e=>"text"===e.type)))).length&&(A=e[0].id)}A||(A=1===t.length?t[0].id:this.plugin.ea.getLargestElement(t).id);const i=await ScriptEngine.inputPrompt(this,this.plugin,app,"Set link alias","Leave empty if you do not want to set an alias","",[{caption:"Link",action:()=>{e=""}},{caption:"Area",action:()=>{e="area="}},{caption:"Group",action:()=>{e="group="}}]);navigator.clipboard.writeText(`${e.length>0?"!":""}[[${this.file.path}#^${e}${A}${i?`|${i}`:""}]]`),new obsidian_module.Notice(t$d("INSERT_LINK_TO_ELEMENT_READY"))}updateScene(e,t=!1){const A=this.excalidrawAPI;if(!A)return;const i=e.elements&&t;i&&(e.elements=A.restore(e).elements);try{A.updateScene(e)}catch(t){if(errorlog({where:"ExcalidrawView.updateScene 1st attempt",fn:this.updateScene,error:t,scene:e,willDoSecondAttempt:!i}),i)warningUnknowSeriousError();else try{e.elements=A.restore(e).elements,A.updateScene(e)}catch(t){errorlog({where:"ExcalidrawView.updateScene 2nd attempt",fn:this.updateScene,error:t,scene:e}),warningUnknowSeriousError()}}}}function getTextMode(e){return e.search("excalidraw-plugin: parsed\n")>-1||e.search("excalidraw-plugin: locked\n")>-1?TextMode.parsed:TextMode.raw}const DEFAULT_SETTINGS={folder:"Excalidraw",embedUseExcalidrawFolder:!1,templateFilePath:"Excalidraw/Template.excalidraw",scriptFolderPath:"Excalidraw/Scripts",compress:!1,autosave:!0,autosaveInterval:15e3,autosaveIntervalDesktop:15e3,autosaveIntervalMobile:1e4,drawingFilenamePrefix:"Drawing ",drawingEmbedPrefixWithFilename:!0,drawingFilnameEmbedPostfix:" ",drawingFilenameDateTime:"YYYY-MM-DD HH.mm.ss",useExcalidrawExtension:!0,displaySVGInPreview:!0,displayExportedImageIfAvailable:!1,previewMatchObsidianTheme:!1,width:"400",dynamicStyling:"colorful",isLeftHanded:!1,matchTheme:!1,matchThemeAlways:!1,matchThemeTrigger:!1,defaultMode:"normal",defaultPenMode:"never",allowPinchZoom:!1,allowWheelZoom:!1,zoomToFitOnOpen:!0,zoomToFitOnResize:!0,zoomToFitMaxLevel:2,linkPrefix:"📍",urlPrefix:"🌐",parseTODO:!1,todo:"☐",done:"🗹",hoverPreviewWithoutCTRL:!1,linkOpacity:1,openInAdjacentPane:!1,openInMainWorkspace:!0,showLinkBrackets:!0,allowCtrlClick:!0,forceWrap:!1,pageTransclusionCharLimit:200,wordWrappingDefault:0,removeTransclusionQuoteSigns:!0,iframelyAllowed:!0,pngExportScale:1,exportWithTheme:!0,exportWithBackground:!0,exportPaddingSVG:10,keepInSync:!1,autoexportSVG:!1,autoexportPNG:!1,autoExportLightAndDark:!1,autoexportExcalidraw:!1,embedType:"excalidraw",embedWikiLink:!0,syncExcalidraw:!1,experimentalFileType:!1,experimentalFileTag:"✏️",experimentalLivePreview:!0,experimentalEnableFourthFont:!1,experimantalFourthFont:"Virgil",fieldSuggester:!0,compatibilityMode:!1,drawingOpenCount:0,library:"deprecated",library2:{type:"excalidrawlib",version:2,source:GITHUB_RELEASES+PLUGIN_VERSION,libraryItems:[]},imageElementNotice:!0,mdSVGwidth:500,mdSVGmaxHeight:800,mdFont:"Virgil",mdFontColor:"Black",mdBorderColor:"Black",mdCSS:"",scriptEngineSettings:{},defaultTrayMode:!0,previousRelease:"0.0.0",showReleaseNotes:!0,showNewVersionNotification:!0,mathjaxSourceURL:"https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js",latexBoilerplate:"\\color{blue}",taskboneEnabled:!1,taskboneAPIkey:"",pinnedScripts:[],customPens:[Object.assign({},PENS.default),Object.assign({},PENS.highlighter),Object.assign({},PENS.finetip),Object.assign({},PENS.fountain),Object.assign({},PENS.marker),Object.assign({},PENS["thick-thin"]),Object.assign({},PENS["thin-thick-thin"]),Object.assign({},PENS.default),Object.assign({},PENS.default),Object.assign({},PENS.default)],numberOfCustomPens:0,pdfScale:4,pdfBorderBox:!0,pdfGapSize:20,pdfLockAfterImport:!0,pdfNumColumns:1,pdfImportScale:.3};class ExcalidrawSettingTab extends obsidian_module.PluginSettingTab{constructor(e,t){super(e,t),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1,this.requestUpdatePinnedPens=!1,this.requestUpdateDynamicStyling=!1,this.reloadMathJax=!1,this.plugin=t}applySettingsUpdate(e=!1){e&&(this.requestReloadDrawings=!0)}async hide(){if(this.plugin.settings.scriptFolderPath=obsidian_module.normalizePath(this.plugin.settings.scriptFolderPath),"/"!==this.plugin.settings.scriptFolderPath&&""!==this.plugin.settings.scriptFolderPath||(this.plugin.settings.scriptFolderPath="Excalidraw/Scripts"),this.plugin.saveSettings(),this.requestUpdatePinnedPens&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinnedCustomPens()})),this.requestUpdateDynamicStyling&&app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&setDynamicStyle(this.plugin.ea,e.view,e.view.previousBackgroundColor,this.plugin.settings.dynamicStyling)})),this.requestReloadDrawings){const e=app.workspace.getLeavesOfType("excalidraw");for(const t of e)t.view instanceof ExcalidrawView&&(await t.view.save(!1),await t.view.reload(!0));this.requestEmbedUpdate=!0}this.requestEmbedUpdate&&this.plugin.triggerEmbedUpdates(),this.plugin.scriptEngine.updateScriptPath(),this.reloadMathJax&&this.plugin.loadMathJax()}async display(){var e;await this.plugin.loadSettings(),this.requestEmbedUpdate=!1,this.requestReloadDrawings=!1;const{containerEl:t}=this;t.addClass("excalidraw-settings"),this.containerEl.empty();const A=t.createDiv("coffee");A.addClass("ex-coffee-div"),A.createEl("a",{href:"https://ko-fi.com/zsolt"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi3.png?v=3"}}).height=45,new obsidian_module.Setting(t).setName(t$d("RELEASE_NOTES_NAME")).setDesc(fragWithHTML(t$d("RELEASE_NOTES_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showReleaseNotes).onChange((async e=>{this.plugin.settings.showReleaseNotes=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("NEWVERSION_NOTIFICATION_NAME")).setDesc(fragWithHTML(t$d("NEWVERSION_NOTIFICATION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showNewVersionNotification).onChange((async e=>{this.plugin.settings.showNewVersionNotification=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FOLDER_NAME")).setDesc(fragWithHTML(t$d("FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw").setValue(this.plugin.settings.folder).onChange((async e=>{this.plugin.settings.folder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FOLDER_EMBED_NAME")).setDesc(fragWithHTML(t$d("FOLDER_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedUseExcalidrawFolder).onChange((async e=>{this.plugin.settings.embedUseExcalidrawFolder=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("TEMPLATE_NAME")).setDesc(fragWithHTML(t$d("TEMPLATE_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Template").setValue(this.plugin.settings.templateFilePath).onChange((async e=>{this.plugin.settings.templateFilePath=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("SCRIPT_FOLDER_NAME")).setDesc(fragWithHTML(t$d("SCRIPT_FOLDER_DESC"))).addText((e=>e.setPlaceholder("Excalidraw/Scripts").setValue(this.plugin.settings.scriptFolderPath).onChange((async e=>{this.plugin.settings.scriptFolderPath=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("SAVING_HEAD")}),new obsidian_module.Setting(t).setName(t$d("COMPRESS_NAME")).setDesc(fragWithHTML(t$d("COMPRESS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compress).onChange((async e=>{this.plugin.settings.compress=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("AUTOSAVE_INTERVAL_DESKTOP_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_DESKTOP_DESC"))).addDropdown((e=>e.addOption("15000","Frequent (every 15 seconds)").addOption("60000","Moderate (every 60 seconds)").addOption("300000","Rare (every 5 minutes)").addOption("900000","Practically never (every 15 minutes)").setValue(this.plugin.settings.autosaveIntervalDesktop.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalDesktop=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("AUTOSAVE_INTERVAL_MOBILE_NAME")).setDesc(fragWithHTML(t$d("AUTOSAVE_INTERVAL_MOBILE_DESC"))).addDropdown((e=>e.addOption("10000","Frequent (every 10 seconds)").addOption("30000","Moderate (every 30 seconds)").addOption("60000","Rare (every 1 minute)").addOption("300000","Practically never (every 5 minutes)").setValue(this.plugin.settings.autosaveIntervalMobile.toString()).onChange((async e=>{this.plugin.settings.autosaveIntervalMobile=parseInt(e),this.plugin.settings.autosaveInterval=app.isMobile?this.plugin.settings.autosaveIntervalMobile:this.plugin.settings.autosaveIntervalDesktop,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("FILENAME_HEAD")}),t.createDiv("",(e=>{e.innerHTML=t$d("FILENAME_DESC")}));const i=()=>`${t$d("FILENAME_SAMPLE")}${getDrawingFilename(this.plugin.settings)}
      ${t$d("FILENAME_EMBED_SAMPLE")}${getEmbedFilename("{NOTE_NAME}",this.plugin.settings)}`,n=t.createEl("p",{text:""});let a,r,s,o,l,c,d;n.innerHTML=i(),new obsidian_module.Setting(t).setName(t$d("FILENAME_PREFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_DESC"))).addText((e=>e.setPlaceholder("Drawing ").setValue(this.plugin.settings.drawingFilenamePrefix).onChange((async t=>{this.plugin.settings.drawingFilenamePrefix=t.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenamePrefix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILENAME_PREFIX_EMBED_NAME")).setDesc(fragWithHTML(t$d("FILENAME_PREFIX_EMBED_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.drawingEmbedPrefixWithFilename).onChange((async e=>{this.plugin.settings.drawingEmbedPrefixWithFilename=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILENAME_POSTFIX_NAME")).setDesc(fragWithHTML(t$d("FILENAME_POSTFIX_DESC"))).addText((e=>e.setPlaceholder("").setValue(this.plugin.settings.drawingFilnameEmbedPostfix).onChange((async t=>{this.plugin.settings.drawingFilnameEmbedPostfix=t.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilnameEmbedPostfix),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILENAME_DATE_NAME")).setDesc(fragWithHTML(t$d("FILENAME_DATE_DESC"))).addText((e=>e.setPlaceholder("YYYY-MM-DD HH.mm.ss").setValue(this.plugin.settings.drawingFilenameDateTime).onChange((async t=>{this.plugin.settings.drawingFilenameDateTime=t.replaceAll(/[<>:"/\\|?*]/g,"_"),e.setValue(this.plugin.settings.drawingFilenameDateTime),n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILENAME_EXCALIDRAW_EXTENSION_NAME")).setDesc(fragWithHTML(t$d("FILENAME_EXCALIDRAW_EXTENSION_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.useExcalidrawExtension).onChange((async e=>{this.plugin.settings.useExcalidrawExtension=e,n.innerHTML=i(),this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("DISPLAY_HEAD")}),new obsidian_module.Setting(t).setName(t$d("DYNAMICSTYLE_NAME")).setDesc(fragWithHTML(t$d("DYNAMICSTYLE_DESC"))).addDropdown((e=>e.addOption("none","Dynamic Styling OFF").addOption("colorful","Match color").addOption("gray","Gray, match tone").setValue(this.plugin.settings.dynamicStyling).onChange((async e=>{this.requestUpdateDynamicStyling=!0,this.plugin.settings.dynamicStyling=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("LEFTHANDED_MODE_NAME")).setDesc(fragWithHTML(t$d("LEFTHANDED_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.isLeftHanded).onChange((async e=>{this.plugin.settings.isLeftHanded=e,setLeftHandedMode(e),setTimeout((()=>setLeftHandedMode(e))),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("MATCH_THEME_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchTheme).onChange((async e=>{this.plugin.settings.matchTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("MATCH_THEME_ALWAYS_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_ALWAYS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeAlways).onChange((async e=>{this.plugin.settings.matchThemeAlways=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("MATCH_THEME_TRIGGER_NAME")).setDesc(fragWithHTML(t$d("MATCH_THEME_TRIGGER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.matchThemeTrigger).onChange((async e=>{this.plugin.settings.matchThemeTrigger=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("DEFAULT_OPEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_OPEN_MODE_DESC"))).addDropdown((e=>e.addOption("normal","Always in normal-mode").addOption("zen","Always in zen-mode").addOption("view","Always in view-mode").addOption("view-mobile","Usually normal, but view-mode on Phone").setValue(this.plugin.settings.defaultMode).onChange((async e=>{this.plugin.settings.defaultMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("DEFAULT_PEN_MODE_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PEN_MODE_DESC"))).addDropdown((e=>e.addOption("never","Never").addOption("mobile","On Obsidian Mobile").addOption("always","Always").setValue(this.plugin.settings.defaultPenMode).onChange((async e=>{this.plugin.settings.defaultPenMode=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("DEFAULT_PINCHZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_PINCHZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowPinchZoom).onChange((async e=>{this.plugin.settings.allowPinchZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updatePinchZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("DEFAULT_WHEELZOOM_NAME")).setDesc(fragWithHTML(t$d("DEFAULT_WHEELZOOM_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowWheelZoom).onChange((async e=>{this.plugin.settings.allowWheelZoom=e,app.workspace.getLeavesOfType("excalidraw").forEach((e=>{e.view instanceof ExcalidrawView&&e.view.updateWheelZoom()})),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("ZOOM_TO_FIT_ONOPEN_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_ONOPEN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnOpen).onChange((async e=>{this.plugin.settings.zoomToFitOnOpen=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("ZOOM_TO_FIT_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.zoomToFitOnResize).onChange((async e=>{this.plugin.settings.zoomToFitOnResize=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("ZOOM_TO_FIT_MAX_LEVEL_NAME")).setDesc(fragWithHTML(t$d("ZOOM_TO_FIT_MAX_LEVEL_DESC"))).addSlider((e=>e.setLimits(.5,10,.5).setValue(this.plugin.settings.zoomToFitMaxLevel).onChange((async e=>{a.innerText=` ${e.toString()}`,this.plugin.settings.zoomToFitMaxLevel=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{a=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.zoomToFitMaxLevel.toString()}`})),this.containerEl.createEl("h1",{text:t$d("LINKS_HEAD")}),this.containerEl.createEl("span",void 0,(e=>e.innerHTML=t$d("LINKS_DESC"))),new obsidian_module.Setting(t).setName(t$d("ADJACENT_PANE_NAME")).setDesc(fragWithHTML(t$d("ADJACENT_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInAdjacentPane).onChange((async e=>{this.plugin.settings.openInAdjacentPane=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("MAINWORKSPACE_PANE_NAME")).setDesc(fragWithHTML(t$d("MAINWORKSPACE_PANE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.openInMainWorkspace).onChange((async e=>{this.plugin.settings.openInMainWorkspace=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(fragWithHTML(t$d("LINK_BRACKETS_NAME"))).setDesc(fragWithHTML(t$d("LINK_BRACKETS_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.showLinkBrackets).onChange((e=>{this.plugin.settings.showLinkBrackets=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("LINK_PREFIX_NAME")).setDesc(fragWithHTML(t$d("LINK_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.linkPrefix).onChange((e=>{this.plugin.settings.linkPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("URL_PREFIX_NAME")).setDesc(fragWithHTML(t$d("URL_PREFIX_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.urlPrefix).onChange((e=>{this.plugin.settings.urlPrefix=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("PARSE_TODO_NAME")).setDesc(fragWithHTML(t$d("PARSE_TODO_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.parseTODO).onChange((e=>{this.plugin.settings.parseTODO=e,r.setDisabled(!e),s.setDisabled(!e),this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("TODO_NAME")).setDesc(fragWithHTML(t$d("TODO_DESC"))).addText((e=>{r=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.todo).onChange((e=>{this.plugin.settings.todo=e,this.applySettingsUpdate(!0)}))})),r.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(t).setName(t$d("DONE_NAME")).setDesc(fragWithHTML(t$d("DONE_DESC"))).setDisabled(!this.plugin.settings.parseTODO).addText((e=>{s=e,e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.done).onChange((e=>{this.plugin.settings.done=e,this.applySettingsUpdate(!0)}))})),s.setDisabled(!this.plugin.settings.parseTODO),new obsidian_module.Setting(t).setName(t$d("LINKOPACITY_NAME")).setDesc(fragWithHTML(t$d("LINKOPACITY_DESC"))).addSlider((e=>e.setLimits(0,1,.05).setValue(this.plugin.settings.linkOpacity).onChange((async e=>{o.innerText=` ${e.toString()}`,this.plugin.settings.linkOpacity=e,this.applySettingsUpdate(!0)})))).settingEl.createDiv("",(e=>{o=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.linkOpacity.toString()}`})),new obsidian_module.Setting(t).setName(t$d("HOVERPREVIEW_NAME")).setDesc(fragWithHTML(t$d("HOVERPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.hoverPreviewWithoutCTRL).onChange((async e=>{this.plugin.settings.hoverPreviewWithoutCTRL=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("LINK_CTRL_CLICK_NAME")).setDesc(fragWithHTML(t$d("LINK_CTRL_CLICK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.allowCtrlClick).onChange((async e=>{this.plugin.settings.allowCtrlClick=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("TRANSCLUSION_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_WRAP_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.forceWrap).onChange((async e=>{this.plugin.settings.forceWrap=e,this.applySettingsUpdate(!0)})))).descEl.innerHTML=`![[doc#^ref]]{number} ${t$d("TRANSCLUSION_WRAP_DESC")}`,new obsidian_module.Setting(t).setName(t$d("PAGE_TRANSCLUSION_CHARCOUNT_NAME")).setDesc(fragWithHTML(t$d("PAGE_TRANSCLUSION_CHARCOUNT_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.pageTransclusionCharLimit.toString()).onChange((async t=>{const A=parseInt(t);if(isNaN(A)&&""!==t)e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString());else{if(this.requestEmbedUpdate=!0,""===t)return this.plugin.settings.pageTransclusionCharLimit=10,void this.applySettingsUpdate(!0);this.plugin.settings.pageTransclusionCharLimit=A,e.setValue(this.plugin.settings.pageTransclusionCharLimit.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(t).setName(t$d("TRANSCLUSION_DEFAULT_WRAP_NAME")).setDesc(fragWithHTML(t$d("TRANSCLUSION_DEFAULT_WRAP_DESC"))).addText((e=>e.setPlaceholder("Enter a number").setValue(this.plugin.settings.wordWrappingDefault.toString()).onChange((async t=>{const A=parseInt(t);if(isNaN(A)&&""!==t)e.setValue(this.plugin.settings.wordWrappingDefault.toString());else{if(this.requestEmbedUpdate=!0,""===t)return this.plugin.settings.wordWrappingDefault=0,void this.applySettingsUpdate(!0);this.plugin.settings.wordWrappingDefault=A,e.setValue(this.plugin.settings.wordWrappingDefault.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(t).setName(t$d("QUOTE_TRANSCLUSION_REMOVE_NAME")).setDesc(fragWithHTML(t$d("QUOTE_TRANSCLUSION_REMOVE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.removeTransclusionQuoteSigns).onChange((e=>{this.plugin.settings.removeTransclusionQuoteSigns=e,this.requestEmbedUpdate=!0,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("GET_URL_TITLE_NAME")).setDesc(fragWithHTML(t$d("GET_URL_TITLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.iframelyAllowed).onChange((async e=>{this.plugin.settings.iframelyAllowed=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("MD_HEAD")}),this.containerEl.createEl("p",{text:t$d("MD_HEAD_DESC")}),new obsidian_module.Setting(t).setName(t$d("MD_TRANSCLUDE_WIDTH_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_WIDTH_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 500").setValue(this.plugin.settings.mdSVGwidth.toString()).onChange((async t=>{const A=parseInt(t);if(isNaN(A)&&""!==t)e.setValue(this.plugin.settings.mdSVGwidth.toString());else{if(this.requestEmbedUpdate=!0,""===t)return this.plugin.settings.mdSVGwidth=500,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGwidth=A,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGwidth.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(t).setName(t$d("MD_TRANSCLUDE_HEIGHT_NAME")).setDesc(fragWithHTML(t$d("MD_TRANSCLUDE_HEIGHT_DESC"))).addText((e=>e.setPlaceholder("Enter a number e.g. 800").setValue(this.plugin.settings.mdSVGmaxHeight.toString()).onChange((async t=>{const A=parseInt(t);if(isNaN(A)&&""!==t)e.setValue(this.plugin.settings.mdSVGmaxHeight.toString());else{if(this.requestEmbedUpdate=!0,""===t)return this.plugin.settings.mdSVGmaxHeight=800,void this.applySettingsUpdate(!0);this.plugin.settings.mdSVGmaxHeight=A,this.requestReloadDrawings=!0,e.setValue(this.plugin.settings.mdSVGmaxHeight.toString()),this.applySettingsUpdate(!0)}})))),new obsidian_module.Setting(t).setName(t$d("MD_DEFAULT_FONT_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),e.addOption("Cascadia","Cascadia"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((t=>{e.addOption(t.path,t.name)})),e.setValue(this.plugin.settings.mdFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFont=e,this.applySettingsUpdate(!0)}))})),new obsidian_module.Setting(t).setName(t$d("MD_DEFAULT_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdFontColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdFontColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("MD_DEFAULT_BORDER_COLOR_NAME")).setDesc(fragWithHTML(t$d("MD_DEFAULT_BORDER_COLOR_DESC"))).addText((e=>e.setPlaceholder("CSS Color-name|RGB-HEX").setValue(this.plugin.settings.mdBorderColor).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdBorderColor=e,this.applySettingsUpdate(!0)})))),new obsidian_module.Setting(t).setName(t$d("MD_CSS_NAME")).setDesc(fragWithHTML(t$d("MD_CSS_DESC"))).addText((e=>e.setPlaceholder("filename of css file in vault").setValue(this.plugin.settings.mdCSS).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.mdCSS=e,this.applySettingsUpdate(!0)})))),this.containerEl.createEl("h1",{text:t$d("EMBED_HEAD")}),new obsidian_module.Setting(t).setName(t$d("EMBED_PREVIEW_SVG_NAME")).setDesc(fragWithHTML(t$d("EMBED_PREVIEW_SVG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displaySVGInPreview).onChange((async e=>{this.plugin.settings.displaySVGInPreview=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EMBED_REUSE_EXPORTED_IMAGE_NAME")).setDesc(fragWithHTML(t$d("EMBED_REUSE_EXPORTED_IMAGE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.displayExportedImageIfAvailable).onChange((async e=>{this.plugin.settings.displayExportedImageIfAvailable=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("PREVIEW_MATCH_OBSIDIAN_NAME")).setDesc(fragWithHTML(t$d("PREVIEW_MATCH_OBSIDIAN_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.previewMatchObsidianTheme).onChange((async e=>{this.plugin.settings.previewMatchObsidianTheme=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EMBED_WIDTH_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIDTH_DESC"))).addText((e=>e.setPlaceholder("400").setValue(this.plugin.settings.width).onChange((async e=>{this.plugin.settings.width=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(t).setName(t$d("EMBED_TYPE_NAME")).setDesc(fragWithHTML(t$d("EMBED_TYPE_DESC"))).addDropdown((async e=>{l=e,l.addOption("excalidraw","excalidraw"),this.plugin.settings.autoexportPNG?l.addOption("PNG","PNG"):"PNG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),this.plugin.settings.autoexportSVG?l.addOption("SVG","SVG"):"SVG"===this.plugin.settings.embedType&&(this.plugin.settings.embedType="excalidraw",this.applySettingsUpdate()),l.setValue(this.plugin.settings.embedType).onChange((async e=>{this.plugin.settings.embedType=e,this.applySettingsUpdate()}))})),new obsidian_module.Setting(t).setName(t$d("EMBED_WIKILINK_NAME")).setDesc(fragWithHTML(t$d("EMBED_WIKILINK_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.embedWikiLink).onChange((async e=>{this.plugin.settings.embedWikiLink=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EXPORT_PNG_SCALE_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_SCALE_DESC"))).addSlider((e=>e.setLimits(1,5,.5).setValue(this.plugin.settings.pngExportScale).onChange((async e=>{c.innerText=` ${e.toString()}`,this.plugin.settings.pngExportScale=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{c=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.pngExportScale.toString()}`})),new obsidian_module.Setting(t).setName(t$d("EXPORT_BACKGROUND_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BACKGROUND_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithBackground).onChange((async e=>{this.plugin.settings.exportWithBackground=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),new obsidian_module.Setting(t).setName(t$d("EXPORT_PADDING_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PADDING_DESC"))).addSlider((e=>e.setLimits(0,50,5).setValue(this.plugin.settings.exportPaddingSVG).onChange((async e=>{d.innerText=` ${e.toString()}`,this.plugin.settings.exportPaddingSVG=e,this.applySettingsUpdate()})))).settingEl.createDiv("",(e=>{d=e,e.style.minWidth="2.3em",e.style.textAlign="right",e.innerText=` ${this.plugin.settings.exportPaddingSVG.toString()}`})),new obsidian_module.Setting(t).setName(t$d("EXPORT_THEME_NAME")).setDesc(fragWithHTML(t$d("EXPORT_THEME_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.exportWithTheme).onChange((async e=>{this.plugin.settings.exportWithTheme=e,this.applySettingsUpdate(),this.requestEmbedUpdate=!0})))),this.containerEl.createEl("h1",{text:t$d("EXPORT_HEAD")}),new obsidian_module.Setting(t).setName(t$d("EXPORT_SYNC_NAME")).setDesc(fragWithHTML(t$d("EXPORT_SYNC_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.keepInSync).onChange((async e=>{this.plugin.settings.keepInSync=e,this.applySettingsUpdate()}))));const h=e=>{let t=0;for(t=0;te.setValue(this.plugin.settings.autoexportSVG).onChange((async e=>{e?l.addOption("SVG","SVG"):("SVG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("SVG")),this.plugin.settings.autoexportSVG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EXPORT_PNG_NAME")).setDesc(fragWithHTML(t$d("EXPORT_PNG_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportPNG).onChange((async e=>{e?l.addOption("PNG","PNG"):("PNG"===this.plugin.settings.embedType&&(l.setValue("excalidraw"),this.plugin.settings.embedType="excalidraw"),h("PNG")),this.plugin.settings.autoexportPNG=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EXPORT_BOTH_DARK_AND_LIGHT_NAME")).setDesc(fragWithHTML(t$d("EXPORT_BOTH_DARK_AND_LIGHT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoExportLightAndDark).onChange((async e=>{this.plugin.settings.autoExportLightAndDark=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("COMPATIBILITY_HEAD")}),new obsidian_module.Setting(t).setName(t$d("COMPATIBILITY_MODE_NAME")).setDesc(fragWithHTML(t$d("COMPATIBILITY_MODE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.compatibilityMode).onChange((async e=>{this.plugin.settings.compatibilityMode=e,n.innerHTML=i(),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("EXPORT_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("EXPORT_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.autoexportExcalidraw).onChange((async e=>{this.plugin.settings.autoexportExcalidraw=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("SYNC_EXCALIDRAW_NAME")).setDesc(fragWithHTML(t$d("SYNC_EXCALIDRAW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.syncExcalidraw).onChange((async e=>{this.plugin.settings.syncExcalidraw=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h1",{text:t$d("NONSTANDARD_HEAD")}),this.containerEl.createEl("p",{text:t$d("NONSTANDARD_DESC")}),new obsidian_module.Setting(t).setName(t$d("CUSTOM_PEN_NAME")).setDesc(t$d("CUSTOM_PEN_DESC")).addDropdown((e=>e.addOption("0","0").addOption("1","1").addOption("2","2").addOption("3","3").addOption("4","4").addOption("5","5").addOption("6","6").addOption("7","7").addOption("8","8").addOption("9","9").addOption("10","10").setValue(this.plugin.settings.numberOfCustomPens.toString()).onChange((e=>{this.plugin.settings.numberOfCustomPens=parseInt(e),this.requestUpdatePinnedPens=!0,this.applySettingsUpdate(!1)})))),new obsidian_module.Setting(t).setName(t$d("ENABLE_FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("ENABLE_FOURTH_FONT_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalEnableFourthFont).onChange((async e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimentalEnableFourthFont=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FOURTH_FONT_NAME")).setDesc(fragWithHTML(t$d("FOURTH_FONT_DESC"))).addDropdown((async e=>{e.addOption("Virgil","Virgil"),this.app.vault.getFiles().filter((e=>["ttf","woff","woff2"].contains(e.extension))).forEach((t=>{e.addOption(t.path,t.name)})),e.setValue(this.plugin.settings.experimantalFourthFont).onChange((e=>{this.requestReloadDrawings=!0,this.plugin.settings.experimantalFourthFont=e,this.applySettingsUpdate(!0),this.plugin.initializeFourthFont()}))})),this.containerEl.createEl("h1",{text:t$d("EXPERIMENTAL_HEAD")}),this.containerEl.createEl("p",{text:t$d("EXPERIMENTAL_DESC")}),new obsidian_module.Setting(t).setName(t$d("MATHJAX_NAME")).setDesc(t$d("MATHJAX_DESC")).addDropdown((e=>{e.addOption("https://cdn.jsdelivr.net/npm/mathjax@3.2.1/es5/tex-svg.js","jsdelivr").addOption("https://unpkg.com/mathjax@3.2.1/es5/tex-svg.js","unpkg").addOption("https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.1/es5/tex-svg-full.min.js","cdnjs").setValue(this.plugin.settings.mathjaxSourceURL).onChange((e=>{this.plugin.settings.mathjaxSourceURL=e,this.reloadMathJax=!0,this.applySettingsUpdate()}))})),new obsidian_module.Setting(t).setName(t$d("LATEX_DEFAULT_NAME")).setDesc(fragWithHTML(t$d("LATEX_DEFAULT_DESC"))).addText((e=>e.setValue(this.plugin.settings.latexBoilerplate).onChange((e=>{this.plugin.settings.latexBoilerplate=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FIELD_SUGGESTER_NAME")).setDesc(fragWithHTML(t$d("FIELD_SUGGESTER_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.fieldSuggester).onChange((async e=>{this.plugin.settings.fieldSuggester=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILETYPE_NAME")).setDesc(fragWithHTML(t$d("FILETYPE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalFileType).onChange((async e=>{this.plugin.settings.experimentalFileType=e,this.plugin.experimentalFileTypeDisplayToggle(e),this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("FILETAG_NAME")).setDesc(fragWithHTML(t$d("FILETAG_DESC"))).addText((e=>e.setPlaceholder(t$d("INSERT_EMOJI")).setValue(this.plugin.settings.experimentalFileTag).onChange((async e=>{this.plugin.settings.experimentalFileTag=e,this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("LIVEPREVIEW_NAME")).setDesc(fragWithHTML(t$d("LIVEPREVIEW_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.experimentalLivePreview).onChange((async e=>{this.plugin.settings.experimentalLivePreview=e,this.applySettingsUpdate()})))),this.containerEl.createEl("h2",{text:t$d("TASKBONE_HEAD")}),this.containerEl.createEl("p",{text:t$d("TASKBONE_DESC")}),new obsidian_module.Setting(t).setName(t$d("TASKBONE_ENABLE_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_ENABLE_DESC"))).addToggle((e=>e.setValue(this.plugin.settings.taskboneEnabled).onChange((async e=>{if(u.setDisabled(!e),this.plugin.settings.taskboneEnabled=e,""===this.plugin.settings.taskboneAPIkey){const e=await this.plugin.taskbone.initialize(!1);e&&u.setValue(e)}this.applySettingsUpdate()})))),new obsidian_module.Setting(t).setName(t$d("TASKBONE_APIKEY_NAME")).setDesc(fragWithHTML(t$d("TASKBONE_APIKEY_DESC"))).addText((e=>{u=e,u.setValue(this.plugin.settings.taskboneAPIkey).onChange((async e=>{this.plugin.settings.taskboneAPIkey=e,this.applySettingsUpdate()})).setDisabled(!this.plugin.settings.taskboneEnabled)}));const g=null===(e=this.plugin.scriptEngine.getListofScripts())||void 0===e?void 0:e.map((e=>this.plugin.scriptEngine.getScriptName(e)));if(Object.keys(this.plugin.settings.scriptEngineSettings).length>0&&g){const e=(e,t)=>{const A=this.plugin.settings.scriptEngineSettings[e][t];return"object"==typeof A?A.height:null},A=(e,t)=>{const A=this.plugin.settings.scriptEngineSettings[e][t];return"object"==typeof A?A.value:A},i=(e,t,A)=>{"object"==typeof this.plugin.settings.scriptEngineSettings[e][t]?this.plugin.settings.scriptEngineSettings[e][t].value=A:this.plugin.settings.scriptEngineSettings[e][t]=A},n=(e,n,a)=>{new obsidian_module.Setting(t).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addToggle((t=>t.setValue(A(e,n)).onChange((async t=>{i(e,n,t),this.applySettingsUpdate()}))))},a=(n,a,r,s)=>{s&&"[object Array]"===Object.prototype.toString.call(s)&&s.length>0?new obsidian_module.Setting(t).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addDropdown((e=>{s.forEach((t=>e.addOption(t.toString(),t.toString()))),e.setValue(A(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):e(n,a)?new obsidian_module.Setting(t).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addTextArea((t=>{t.inputEl.style.minHeight=e(n,a),t.inputEl.style.minWidth="400px",t.setValue(A(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))})):new obsidian_module.Setting(t).setName(a).setDesc(fragWithHTML(null!=r?r:"")).addText((e=>e.setValue(A(n,a)).onChange((async e=>{i(n,a,e),this.applySettingsUpdate()}))))},r=(e,n,a)=>{new obsidian_module.Setting(t).setName(n).setDesc(fragWithHTML(null!=a?a:"")).addText((t=>t.setPlaceholder("Enter a number").setValue(A(e,n).toString()).onChange((async a=>{const r=parseFloat(a);isNaN(r)&&""!==a?t.setValue(A(e,n).toString()):(i(e,n,isNaN(r)?0:r),this.applySettingsUpdate())}))))};this.containerEl.createEl("h1",{text:t$d("SCRIPT_SETTINGS_HEAD")}),Object.keys(this.plugin.settings.scriptEngineSettings).filter((e=>g.contains(e))).forEach((e=>{const t=this.plugin.settings.scriptEngineSettings[e],A=Object.values(t);0===A.length||A.length>0&&0===A.map((e=>e.hidden?0:1)).reduce(((e,t)=>e+t))||(this.containerEl.createEl("h3",{text:e}),Object.keys(t).forEach((A=>{var i;const s=t[A];switch(typeof(null!==(i=s.value)&&void 0!==i?i:s)){case"boolean":s.hidden||n(e,A,s.description);break;case"string":s.hidden||a(e,A,s.description,s.valueset);break;case"number":s.hidden||r(e,A,s.description)}})))}))}}}var openDialogAction;!function(e){e[e.openFile=0]="openFile",e[e.insertLinkToDrawing=1]="insertLinkToDrawing"}(openDialogAction||(openDialogAction={}));class OpenFileDialog extends obsidian_module.FuzzySuggestModal{constructor(e,t){super(e),this.app=e,this.action=openDialogAction.openFile,this.plugin=t,this.onNewPane=!1,this.limit=20,this.setInstructions([{command:t$d("TYPE_FILENAME"),purpose:""}]),this.inputEl.onkeyup=e=>{"Enter"==e.key&&this.action==openDialogAction.openFile&&this.containerEl.innerText.includes(EMPTY_MESSAGE)&&(this.plugin.createAndOpenDrawing(`${this.plugin.settings.folder}/${this.inputEl.value}.excalidraw.md`,this.onNewPane?"new-pane":"active-pane"),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){switch(this.action){case openDialogAction.openFile:this.plugin.openDrawing(e,this.onNewPane?"new-pane":"active-pane",!0);break;case openDialogAction.insertLinkToDrawing:this.plugin.embedDrawing(e)}}start(e,t){switch(this.action=e,this.onNewPane=t,e){case openDialogAction.openFile:this.emptyStateText=EMPTY_MESSAGE,this.setPlaceholder(t$d("SELECT_FILE_OR_TYPE_NEW"));break;case openDialogAction.insertLinkToDrawing:this.emptyStateText=t$d("NO_MATCH"),this.setPlaceholder(t$d("SELECT_TO_EMBED"))}this.open()}}class InsertLinkDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e),this.app=e,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_FILE_TO_LINK")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return this.app.metadataCache.getLinkSuggestions().filter((e=>!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path+(e.alias?`|${e.alias}`:"")}onChooseItem(e){let t=e.path;e.file&&(t=this.app.metadataCache.fileToLinktext(e.file,this.drawingPath,!0)),this.addText(`[[${t+(e.alias?`|${e.alias}`:"")}]]`)}start(e,t){this.addText=t,this.drawingPath=e,this.open()}}class InsertImageDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE_WITH_OPTION_TO_SCALE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH"),this.inputEl.onkeyup=e=>{"Enter"===e.key&&scaleToFullsizeModifier(e)&&this.chooser.values&&(this.onChooseItem(this.chooser.values[this.chooser.selectedItem].item,new KeyboardEvent("keypress",{shiftKey:!0,metaKey:!(DEVICE.isIOS||DEVICE.isMacOS),ctrlKey:DEVICE.isIOS||DEVICE.isMacOS})),this.close())}}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>(IMAGE_TYPES.contains(e.extension)||this.plugin.isExcalidrawFile(e))&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}onChooseItem(e,t){const A=this.plugin.ea.getAPI(this.view);A.canvas.theme=this.view.excalidrawAPI.getAppState().theme;const i=scaleToFullsizeModifier(t);(async()=>{await A.addImage(0,0,e,!i),A.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}class ImportSVGDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_DRAWING")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"svg"===e.extension&&!e.path.match(REG_LINKINDEX_INVALIDCHARS)))}getItemText(e){return e.path}async onChooseItem(e,t){if(!e)return;const A=this.plugin.ea;A.reset(),A.setView(this.view);const i=await app.vault.read(e);i&&""!==i&&(A.importSVG(i),A.addElementsToView(!0,!0,!0))}start(e){this.view=e,this.open()}}class InsertMDDialog extends obsidian_module.FuzzySuggestModal{constructor(e){super(e.app),this.plugin=e,this.app=e.app,this.limit=20,this.setInstructions([{command:t$d("SELECT_FILE"),purpose:""}]),this.setPlaceholder(t$d("SELECT_MD")),this.emptyStateText=t$d("NO_MATCH")}getItems(){return(this.app.vault.getFiles()||[]).filter((e=>"md"===e.extension&&!this.plugin.isExcalidrawFile(e)))}getItemText(e){return e.path}onChooseItem(e){const t=this.plugin.ea;t.reset(),t.setView(this.view),(async()=>{await t.addImage(0,0,e),t.addElementsToView(!0,!1,!0)})()}start(e){this.view=e,this.open()}}function around(e,t){const A=Object.keys(t).map((A=>around1(e,A,t[A])));return 1===A.length?A[0]:function(){A.forEach((e=>e()))}}function around1(e,t,A){const i=e[t],n=e.hasOwnProperty(t);let a=A(i);return i&&Object.setPrototypeOf(a,i),Object.setPrototypeOf(r,a),e[t]=r,s;function r(...A){return a===i&&e[t]===r&&s(),a.apply(this,A)}function s(){e[t]===r&&(n?e[t]=i:delete e[t]),a!==i&&(a=i,Object.setPrototypeOf(r,i||Function))}}let plugin,vault,metadataCache;const getDefaultWidth=e=>{const t=parseInt(e.settings.width);return isNaN(t)||0===t||null===t?"400":e.settings.width},initializeMarkdownPostProcessor=e=>{plugin=e,vault=e.app.vault,metadataCache=e.app.metadataCache},getIMG=async(e,t=!1)=>{var A;let i=e.file;if(!e.file){const t=vault.getAbstractFileByPath(null===(A=e.fname)||void 0===A?void 0:A.split("#")[0]);if(!(t&&t instanceof obsidian_module.TFile))return null;i=t}const n=getEmbeddedFilenameParts(e.fname);e.style=e.style.replaceAll(" ","-");const a=hasExportTheme(plugin,i)?getExportTheme(plugin,i,"light"):void 0,r={withBackground:getWithBackground(plugin,i),withTheme:!!a||plugin.settings.exportWithTheme},s=createEl("img");let o=`max-width:${e.fwidth}${e.fwidth.match(/\d$/)?"px":""}; `;e.fheight&&(o+=`height:${e.fheight}px;`),t||s.setAttribute("style",o),s.addClass(e.style),s.addClass("excalidraw-embedded-img");const l=null!=a?a:plugin.settings.previewMatchObsidianTheme?isObsidianThemeDark()?"dark":"light":plugin.settings.exportWithTheme?void 0:"light";l&&(r.withTheme=!0);const c=new EmbeddedFilesLoader(plugin,l?"dark"===l:void 0);if(!plugin.settings.displaySVGInPreview){const t=parseInt(e.fwidth),A=t>=2400?5:t>=1800?4:t>=1200?3:t>=600?2:1,a=n.hasGroupref?void 0:await getQuickImagePreview(plugin,i.path,"png"),o=null!=a?a:await createPNG(n.hasGroupref?n.filepath+n.linkpartReference:i.path,A,r,c,l,null,null,[],plugin,0);return o?(s.src=URL.createObjectURL(o),s):null}if(!n.hasBlockref&&!n.hasSectionref){const e=await getQuickImagePreview(plugin,i.path,"svg");if(e)return s.setAttribute("src",svgToBase64(e)),s}const d=(await createSVG(n.hasGroupref||n.hasBlockref||n.hasSectionref?n.filepath+n.linkpartReference:i.path,!0,r,c,l,null,null,[],plugin,0,getExportPadding(plugin,i))).outerHTML;let h=null;const u=document.createElement("div");u.innerHTML=d;const g=u.firstChild;return g instanceof SVGSVGElement&&(h=g),h?(h=embedFontsInSVG(h,plugin),h.removeAttribute("width"),h.removeAttribute("height"),s.setAttribute("src",svgToBase64(h.outerHTML)),s):null},createImgElement=async(e,t=!1)=>{const A=await getIMG(e,t);let i;A.setAttribute("fileSource",e.fname),e.fwidth&&A.setAttribute("w",e.fwidth),e.fheight&&A.setAttribute("h",e.fheight),A.setAttribute("draggable","false"),A.setAttribute("onCanvas",t?"true":"false");const n=e=>{if(e.target instanceof Element&&"img"!=e.target.tagName.toLowerCase())return;const t=A.getAttribute("fileSource");if(t){const A=t.match(/([^#]*)(.*)/);if(!A)return;plugin.openDrawing(vault.getAbstractFileByPath(A[1]),linkClickModifierType(e),!0,A[2])}};let a;return A.addEventListener("pointermove",(e=>{i&&(Math.abs(e.screenX-a.screenX)>10||Math.abs(e.screenY-a.screenY)>10)&&(clearTimeout(i),i=null)})),A.addEventListener("pointerdown",(e=>{var t;(null===(t=null==A?void 0:A.parentElement)||void 0===t?void 0:t.hasClass("canvas-node-content"))||(i=setTimeout((()=>n(e)),500),a=e)})),A.addEventListener("pointerup",(()=>{i&&clearTimeout(i),i=null})),A.addEventListener("dblclick",n),A.addEventListener(RERENDER_EVENT,(async e=>{e.stopPropagation();const t=A.parentElement,i=A.style.maxWidth,n=A.style.maxHeight,a=A.getAttribute("fileSource"),r="true"===A.getAttribute("onCanvas"),s=await createImgElement({fname:a,fwidth:A.getAttribute("w"),fheight:A.getAttribute("h"),style:A.getAttribute("class")},r);t.empty(),r||(s.style.maxHeight=n,s.style.maxWidth=i),s.setAttribute("fileSource",a),t.append(s)})),A},createImageDiv=async(e,t=!1)=>{const A=await createImgElement(e,t);return createDiv(e.style,(e=>e.append(A)))},processReadingMode=async(e,t)=>{var A;for(const i of e){const e=null===(A=i.getAttribute("src"))||void 0===A?void 0:A.split("#")[0];if(!e)continue;const n=metadataCache.getFirstLinkpathDest(e,t.sourcePath);if(n&&n instanceof obsidian_module.TFile&&plugin.isExcalidrawFile(n)){if(isTextOnlyEmbed(i))continue;i.parentElement.replaceChild(await processInternalEmbed(i,n),i)}}},processInternalEmbed=async(e,t)=>{const A={fname:"",fheight:"",fwidth:"",style:""},i=e.getAttribute("src");if(!i)return;e.removeClass("markdown-embed"),e.removeClass("inline-embed"),e.addClass("media-embed"),e.addClass("image-embed"),A.fwidth=e.getAttribute("width")?e.getAttribute("width"):getDefaultWidth(plugin),A.fheight=e.getAttribute("height");let n=e.getAttribute("alt");A.style="excalidraw-svg",processAltText(i.split("#")[0],n,A);const a=getEmbeddedFilenameParts(i);return A.fname=(null==t?void 0:t.path)+(a.hasBlockref||a.hasSectionref?a.linkpartReference:""),A.file=t,await createImageDiv(A)},processAltText=(e,t,A)=>{var i,n;if(t&&!t.startsWith(e)){const a=t.match(/[^\|\d]*\|?((\d*%?)x?(\d*%?))?\|?(.*)/);A.fwidth=null!==(i=a[2])&&void 0!==i?i:A.fwidth,A.fheight=null!==(n=a[3])&&void 0!==n?n:A.fheight,a[4]&&!a[4].startsWith(e)&&(A.style=`excalidraw-svg-${a[4]}`),a[4]&&""!==a[4]||a[2]&&""!==a[2]||!a[0]||""===a[0]||(A.style=`excalidraw-svg-${a[0]}`)}},isTextOnlyEmbed=e=>{const t=e.getAttribute("src");if(!t)return!0;const A=getEmbeddedFilenameParts(t);return!(A.hasArearef||A.hasGroupref)&&(A.hasBlockref||A.hasSectionref)},tmpObsidianWYSIWYG=async(e,t)=>{const A=app.vault.getAbstractFileByPath(t.sourcePath);if(!(A instanceof obsidian_module.TFile))return;if(!plugin.isExcalidrawFile(A))return;if(t.remainingNestLevel<4)return;const i=t.containerEl;let n=i;for(;!n.hasClass("dataview")&&!n.hasClass("cm-preview-code-block")&&!n.hasClass("cm-embed-block")&&!n.hasClass("internal-embed")&&!n.hasClass("markdown-reading-view")&&!n.hasClass("markdown-embed")&&n.parentElement;)n=n.parentElement;if(n.hasClass("dataview")||n.hasClass("cm-preview-code-block")||n.hasClass("cm-embed-block"))return;const a={fname:t.sourcePath,fheight:"",fwidth:getDefaultWidth(plugin),style:"excalidraw-svg"};a.file=A;const r=n.hasClass("markdown-embed"),s=n.hasClass("markdown-reading-view");if(!n.hasClass("internal-embed")&&(r||s)){const t=Boolean(e.querySelector(".frontmatter"));if(e.empty(),!t)return void(e.parentElement===i&&i.removeChild(e));n.empty();const A=n.hasClass("canvas-node-content"),s=await createImageDiv(a,A);return r?(n.removeClass("markdown-embed"),n.removeClass("inline-embed"),n.addClass("media-embed"),n.addClass("image-embed"),!A&&s.firstChild instanceof HTMLElement&&(s.firstChild.style.maxHeight="100%",s.firstChild.style.maxWidth=null),void n.appendChild(s.firstChild)):void n.appendChild(s)}if(isTextOnlyEmbed(n))return;if(e.empty(),n.hasAttribute("ready"))return;n.setAttribute("ready",""),n.empty();const o=await processInternalEmbed(n,A);n.appendChild(o);let l=null;const c=new MutationObserver((e=>{var t;["alt","width","height"].contains(null===(t=e[0])||void 0===t?void 0:t.attributeName)&&(l&&clearTimeout(l),l=setTimeout((async()=>{l=null,n.empty();const e=await processInternalEmbed(n,A);n.appendChild(e)}),500))}));c.observe(n,{attributes:!0})},markdownPostProcessor=async(e,t)=>{var A;const i=e.querySelectorAll(".internal-embed");0!==i.length?Boolean(null===(A=t.frontmatter)||void 0===A?void 0:A.hasOwnProperty("excalidraw-plugin"))?e.style.display="none":await processReadingMode(i,t):tmpObsidianWYSIWYG(e,t)},hoverEvent=e=>{e.linktext?(plugin.hover.linkText=e.linktext,plugin.hover.sourcePath=e.sourcePath):plugin.hover.linkText=null},observer=new MutationObserver((async e=>{if(0==e.length)return;if(!plugin.hover.linkText)return;const t=metadataCache.getFirstLinkpathDest(plugin.hover.linkText,plugin.hover.sourcePath?plugin.hover.sourcePath:"");if(!t)return;if(!(t instanceof obsidian_module.TFile))return;if("excalidraw"!==t.extension)return;const A=getIMGFilename(t.path,"svg"),i=vault.getAbstractFileByPath(A);if(i&&i instanceof obsidian_module.TFile)return;const n=getIMGFilename(t.path,"png"),a=vault.getAbstractFileByPath(n);if(a&&a instanceof obsidian_module.TFile)return;if(!plugin.hover.linkText)return;if(1!=e.length)return;if(1!=e[0].addedNodes.length)return;if("popover hover-popover file-embed is-loaded"!=!e[0].addedNodes[0].classNames)return;const r=e[0].addedNodes[0];r.empty();const s=await getIMG({file:t,fname:t.path,fwidth:"300",fheight:null,style:"excalidraw-svg"}),o=createDiv("",(async e=>{e.appendChild(s),e.setAttribute("src",t.path),e.onClickEvent((t=>{t.stopImmediatePropagation();const A=e.getAttribute("src");A&&plugin.openDrawing(vault.getAbstractFileByPath(A),linkClickModifierType(t))}))}));r.appendChild(o)})),EXCALIDRAW_AUTOMATE_INFO=[{field:"plugin",code:null,desc:"The ExcalidrawPlugin object",after:""},{field:"elementsDict",code:null,desc:"The {} dictionary object, contains the ExcalidrawElements currently edited in Automate indexed by el.id",after:'[""]'},{field:"imagesDict",code:null,desc:"the images files including DataURL, indexed by fileId",after:'[""]'},{field:"style.strokeColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.backgroundColor",code:"[string]",desc:"A valid css color. See W3 School Colors for more.",after:""},{field:"style.angle",code:"[number]",desc:"Rotation of the object in radian",after:""},{field:"style.fillStyle",code:"[string]",desc:"'hachure' | 'cross-hatch' | 'solid'",after:""},{field:"style.strokeWidth",code:"[number]",desc:null,after:""},{field:"style.strokeStyle",code:"[string]",desc:"'solid' | 'dashed' | 'dotted'",after:""},{field:"style.roughness",code:"[number]",desc:"0:Architect\n1:Artist\n2:Cartoonist",after:""},{field:"style.opacity",code:"[number]",desc:"100: Fully opaque\n0: Fully transparent",after:""},{field:"style.roundness",code:"[null | { type: RoundnessType; value?: number };]",desc:"set to null for 'sharp', else the stroke will be 'round'
      type: 1==LEGACY,
      2==PROPORTIONAL RADIUS,
      3==ADAPTIVE RADIUS, value: adaptive factor defaults to 32",after:""},{field:"style.fontFamily",code:"[number]",desc:"1: Virgil, 2:Helvetica, 3:Cascadia, 4:LocalFont",after:""},{field:"style.fontSize",code:"[number]",desc:null,after:""},{field:"style.textAlign",code:"[string]",desc:"'left' | 'right' | 'center'",after:""},{field:"style.verticalAlign",code:"[string]",desc:"For future use, has no effect currently; 'top' | 'bottom' | 'middle'",after:""},{field:"style.startArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"style.endArrowHead",code:"[string]",desc:"'triangle' | 'dot' | 'arrow' | 'bar' | null",after:""},{field:"canvas.theme",code:"[string]",desc:"'dark' | 'light'",after:""},{field:"canvas.viewBackgroundColor",code:"[string]",desc:"A valid css color.\nSee W3 School Colors for more.",after:""},{field:"canvas.gridSize",code:"[number]",desc:null,after:""},{field:"setStrokeSharpness",code:"setStrokeSharpness(sharpness: number): void;",desc:"Set ea.style.roundness. 0: is the legacy value, 3: is the current default value, null is sharp",after:""},{field:"addToGroup",code:"addToGroup(objectIds: []): string;",desc:null,after:""},{field:"toClipboard",code:"toClipboard(templatePath?: string): void;",desc:"Copies current elements using template to clipboard, ready to be pasted into an excalidraw canvas",after:""},{field:"getSceneFromFile",code:"async getSceneFromFile(file: TFile): Promise<{elements: ExcalidrawElement[]; appState: AppState;}>;",desc:"returns the elements and appState from a file, if the file is not an excalidraw file, it will return null",after:""},{field:"getElements",code:"getElements(): ExcalidrawElement[];",desc:"Get all elements from ExcalidrawAutomate elementsDict",after:""},{field:"getElement",code:"getElement(id: string): ExcalidrawElement;",desc:"Get single element from ExcalidrawAutomate elementsDict",after:""},{field:"create",code:'create(params?: {filename?: string, foldername?: string, templatePath?: string, onNewPane?: boolean, frontmatterKeys?: { "excalidraw-plugin"?: "raw" | "parsed", "excalidraw-link-prefix"?: string, "excalidraw-link-brackets"?: boolean, "excalidraw-url-prefix"?: string,},}): Promise;',desc:"Create a drawing and save it to filename.\nIf filename is null: default filename as defined in Excalidraw settings.\nIf folder is null: default folder as defined in Excalidraw settings\n",after:""},{field:"createSVG",code:"createSVG(templatePath?: string, embedFont?: boolean, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"createPNG",code:"createPNG(templatePath?: string, scale?: number, exportSettings?: ExportSettings, loader?: EmbeddedFilesLoader, theme?: string,): Promise;",desc:"Use ExcalidrawAutomate.getExportSettings(boolean,boolean) to create an ExportSettings object.\nUse ExcalidrawAutomate.getEmbeddedFilesLoader(boolean?) to create an EmbeddedFilesLoader object.",after:""},{field:"wrapText",code:"wrapText(text: string, lineLen: number): string;",desc:null,after:""},{field:"addRect",code:"addRect(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addDiamond",code:"addDiamond(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addEllipse",code:"addEllipse(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"addBlob",code:"addBlob(topX: number, topY: number, width: number, height: number): string;",desc:null,after:""},{field:"refreshTextElementSize",code:"refreshTextElementSize(id: string);",desc:"Refreshes the size of the text element. Intended to be used when you copyViewElementsToEAforEditing() and then change the text in a text element and want to update the size of the text element to fit the modifid contents.",after:""},{field:"addText",code:'addText(topX: number, topY: number, text: string, formatting?: {wrapAt?: number; width?: number; height?: number; textAlign?: "left" | "center" | "right"; textVerticalAlign: "top" | "middle" | "bottom"; box?: boolean | "box" | "blob" | "ellipse" | "diamond"; boxPadding?: number; boxStrokeColor?: string;}, id?: string,): string;',desc:"If box is !null, then text will be boxed\nThe function returns the id of the TextElement. If the text element is boxed i.e. it is a sticky note, then the id of the container object",after:""},{field:"addLine",code:"addLine(points: [[x: number, y: number]]): string;",desc:null,after:""},{field:"addArrow",code:"addArrow(points: [[x: number, y: number]], formatting?: { startArrowHead?: string; endArrowHead?: string; startObjectId?: string; endObjectId?: string;},): string;",desc:null,after:""},{field:"addImage",code:"addImage(topX: number, topY: number, imageFile: TFile, scale: boolean): Promise;",desc:"set scale to false if you want to embed the image at 100% of its original size. Default is true which will insert a scaled image",after:""},{field:"addLaTex",code:"addLaTex(topX: number, topY: number, tex: string): Promise;",desc:null,after:""},{field:"connectObjects",code:"connectObjects(objectA: string, connectionA: ConnectionPoint, objectB: string, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): string;",desc:'type ConnectionPoint = "top" | "bottom" | "left" | "right" | null\nWhen null is passed as ConnectionPoint then Excalidraw will automatically decide\nnumberOfPoints is the number of points on the line. Default is 0 i.e. line will only have a start and end point.\nArrowHead: "triangle"|"dot"|"arrow"|"bar"|null',after:""},{field:"addLabelToLine",code:"addLabelToLine(lineId: string, label: string): string;",desc:"Adds a text label to a line or arrow. Currently only works with a simple straight 2-point (start & end) line",after:""},{field:"clear",code:"clear(): void;",desc:"Clears elementsDict and imagesDict only",after:""},{field:"reset",code:"reset(): void;",desc:"clear() + reset all style values to default",after:""},{field:"isExcalidrawFile",code:"isExcalidrawFile(f: TFile): boolean;",desc:"Returns true if MD file is an Excalidraw file",after:""},{field:"targetView",code:"targetView: ExcalidrawView;",desc:"The Obsidian view currently edited",after:""},{field:"setView",code:'setView(view: ExcalidrawView | "first" | "active"): ExcalidrawView;',desc:null,after:""},{field:"getExcalidrawAPI",code:"getExcalidrawAPI(): any;",desc:"Excalidraw API",after:""},{field:"getViewElements",code:"getViewElements(): ExcalidrawElement[];",desc:"Get elements in View",after:""},{field:"deleteViewElements",code:"deleteViewElements(el: ExcalidrawElement[]): boolean;",desc:null,after:""},{field:"getViewSelectedElement",code:"getViewSelectedElement(): ExcalidrawElement;",desc:"Get the selected element in the view, if more are selected, get the first",after:""},{field:"getViewSelectedElements",code:"getViewSelectedElements(): ExcalidrawElement[];",desc:null,after:""},{field:"getViewFileForImageElement",code:"getViewFileForImageElement(el: ExcalidrawElement): TFile | null;",desc:"Returns the TFile file handle for the image element",after:""},{field:"copyViewElementsToEAforEditing",code:"copyViewElementsToEAforEditing(elements: ExcalidrawElement[]): void;",desc:"Copies elements from view to elementsDict for editing",after:""},{field:"viewToggleFullScreen",code:"viewToggleFullScreen(forceViewMode?: boolean): void;",desc:null,after:""},{field:"connectObjectWithViewSelectedElement",code:"connectObjectWithViewSelectedElement(objectA: string, connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?: {numberOfPoints?: number; startArrowHead?: string; endArrowHead?: string; padding?: number;},): boolean;",desc:"Connect an object to the selected element in the view\nSee tooltip for connectObjects for details",after:""},{field:"addElementsToView",code:"addElementsToView(repositionToCursor?: boolean, save?: boolean, newElementsOnTop?: boolean,): Promise;",desc:"Adds elements from elementsDict to the current view\nrepositionToCursor: default is false\nsave: default is true\nnewElementsOnTop: default is false, i.e. the new elements get to the bottom of the stack\nnewElementsOnTop controls whether elements created with ExcalidrawAutomate are added at the bottom of the stack or the top of the stack of elements already in the view\nNote that elements copied to the view with copyViewElementsToEAforEditing retain their position in the stack of elements in the view even if modified using EA",after:""},{field:"onDropHook",code:'onDropHook(data: {ea: ExcalidrawAutomate, event: React.DragEvent, draggable: any, type: "file" | "text" | "unknown", payload: {files: TFile[], text: string,}, excalidrawFile: TFile, view: ExcalidrawView, pointerPosition: { x: number, y: number},}): boolean;',desc:"If set Excalidraw will call this function onDrop events.\nA return of true will stop the default onDrop processing in Excalidraw.\n\ndraggable is the Obsidian draggable object\nfiles is the array of dropped files\nexcalidrawFile is the file receiving the drop event\nview is the excalidraw view receiving the drop.\npointerPosition is the pointer position on canvas at the time of drop.",after:""},{field:"mostRecentMarkdownSVG",code:"mostRecentMarkdownSVG: SVGSVGElement;",desc:"Markdown renderer will drop a copy of the most recent SVG here for debugging purposes",after:""},{field:"getEmbeddedFilesLoader",code:"getEmbeddedFilesLoader(isDark?: boolean): EmbeddedFilesLoader;",desc:"Utility function to generate EmbeddedFilesLoader object",after:""},{field:"getExportSettings",code:"getExportSettings(withBackground: boolean, withTheme: boolean,): ExportSettings;",desc:"Utility function to generate ExportSettings object",after:""},{field:"getBoundingBox",code:"getBoundingBox(elements: ExcalidrawElement[]): {topX: number, topY: number, width: number, height: number,};",desc:"Gets the bounding box of elements. The bounding box is the box encapsulating all of the elements completely.",after:""},{field:"getMaximumGroups",code:"getMaximumGroups(elements: ExcalidrawElement[]): ExcalidrawElement[][];",desc:"Elements grouped by the highest level groups",after:""},{field:"getLargestElement",code:"getLargestElement(elements: ExcalidrawElement[]): ExcalidrawElement;",desc:"Gets the largest element from a group. useful when a text element is grouped with a box, and you want to connect an arrow to the box",after:""},{field:"intersectElementWithLine",code:"intersectElementWithLine(element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number,): Point[];",desc:"If gap is given, the element is inflated by this value.\nReturns 2 or 0 intersection points between line going through `a` and `b` and the `element`, in ascending order of distance from `a`.",after:""},{field:"getCommonGroupForElements",code:"getCommonGroupForElements(elements: ExcalidrawElement[]): string;",desc:"Gets the groupId for the group that contains all the elements, or null if such a group does not exist",after:""},{field:"getElementsInTheSameGroupWithElement",code:"getElementsInTheSameGroupWithElement(element: ExcalidrawElement, elements: ExcalidrawElement[]): ExcalidrawElement[];",desc:"Gets all the elements from elements[] that share one or more groupIds with element.",after:""},{field:"activeScript",code:"activeScript: string;",desc:"Mandatory to set before calling the get and set ScriptSettings functions. Set automatically by the ScriptEngine\nSee for more details: Script Engine Help",after:""},{field:"getScriptSettings",code:"getScriptSettings(): {};",desc:"Returns script settings. Saves settings in plugin settings, under the activeScript key. See for more details: Script Engine Help",after:""},{field:"setScriptSettings",code:"setScriptSettings(settings: any): Promise;",desc:"Sets script settings.\nSee for more details: Script Engine Help",after:""},{field:"openFileInNewOrAdjacentLeaf",code:"openFileInNewOrAdjacentLeaf(file: TFile): WorkspaceLeaf;",desc:"Open a file in a new workspaceleaf or reuse an existing adjacent leaf depending on Excalidraw Plugin Settings",after:""},{field:"measureText",code:"measureText(text: string): { width: number; height: number };",desc:"Measures text size based on current style settings",after:""},{field:"verifyMinimumPluginVersion",code:"verifyMinimumPluginVersion(requiredVersion: string): boolean;",desc:'Returns true if plugin version is >= than required\nrecommended use:\nif(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.20")) {new Notice("message");return;}',after:""},{field:"selectElementsInView",code:"selectElementsInView(elements: ExcalidrawElement[]):void;",desc:"Elements provided will be set as selected in the targetView.",after:""},{field:"generateElementId",code:"generateElementId(): string;",desc:"Returns an 8 character long random id",after:""},{field:"cloneElement",code:"cloneElement(element: ExcalidrawElement): ExcalidrawElement;",desc:"Returns a clone of the element with a new element id",after:""},{field:"moveViewElementToZIndex",code:"moveViewElementToZIndex(elementId:number, newZIndex:number): void;",desc:"Moves the element to a specific position in the z-index",after:""},{field:"hexStringToRgb",code:"hexStringToRgb(color: string):number[];",desc:"Converts a HEX color to an RGB number array. #FF0000 to [255,0,0]",after:""},{field:"rgbToHexString",code:"rgbToHexString(color: number[]):string;",desc:"Converts an RGB number array to a HEX string. [255,0,0] to #FF0000",after:""},{field:"hslToRgb",code:"hslToRgb(color: number[]):number[];",desc:"Converts an HSL number array to an RGB number array. [0,100,50] to [255,0,0]",after:""},{field:"rgbToHsl",code:"rgbToHsl(color:number[]):number[];",desc:"Converts an RGB number array to an HSL number array. [255,0,0] to [0,100,50]",after:""},{field:"colorNameToHex",code:"colorNameToHex(color:string):string;",desc:"Converts a CSS color name to its HEX color equivalent. 'White' to #FFFFFF",after:""},{field:"obsidian",code:"obsidian",desc:"Access functions and objects available on the Obsidian Module",after:""},{field:"setViewModeEnabled",code:"setViewModeEnabled(enabled: boolean): void;",desc:"Sets Excalidraw in the targetView to view-mode",after:""},{field:"viewUpdateScene",code:"viewUpdateScene(scene:{elements?:ExcalidrawElement[],appState?: AppState,files?: BinaryFileData,commitToHistory?: boolean,},restore:boolean=false):void",desc:"Calls the ExcalidrawAPI updateScene function for the targetView. When restore=true, excalidraw will try to correct errors in the scene such as setting default values to missing element properties.",after:""},{field:"viewZoomToElements",code:"viewZoomToElements(selectElements: boolean,elements: ExcalidrawElement[]):void",desc:"Zoom tarteView to fit elements provided as input. elements === [] will zoom to fit the entire scene. SelectElements toggles whether the elements should be in a selected state at the end of the operation.",after:""}],EXCALIDRAW_SCRIPTENGINE_INFO=[{field:"inputPrompt",code:"inputPrompt: (header: string, placeholder?: string, value?: string, buttons?: {caption:string, tooltip?:string, action:Function}[], lines?: number, displayEditorButtons?: boolean, customComponents?: (container: HTMLElement) => void, blockPointerInputOutsideModal?: boolean);",desc:"Opens a prompt that asks for an input.\nReturns a string with the input.\nYou need to await the result of inputPrompt.\nEditor buttons are text editing buttons like delete, enter, allcaps - these are only displayed if lines is greater than 1 \nCustom components are components that you can add to the prompt. These will be displayed between the text input area and the buttons.\nblockPointerInputOutsideModal will block pointer input outside the modal. This is useful if you want to prevent the user accidently closing the modal or interacting with the excalidraw canvas while the prompt is open.\nbuttons.action(input: string) => string\nThe button action function will receive the actual input string. If action returns null, input will be unchanged. If action returns a string, input will receive that value when the promise is resolved. example:\nlet fileType = '';\nconst filename = await utils.inputPrompt (\n 'Filename',\n '',\n '',\n, [\n {\n caption: 'Markdown',\n action: ()=>{fileType='md';return;}\n },\n {\n caption: 'Excalidraw',\n action: ()=>{fileType='ex';return;}\n }\n ]\n);",after:""},{field:"suggester",code:"suggester: (displayItems: string[], items: any[], hint?: string, instructions?:Instruction[]);",desc:"Opens a suggester. Displays the displayItems and returns the corresponding item from items[]\nYou need to await the result of suggester.\nIf the user cancels (ESC), suggester will return undefined\nHint and instructions are optional\n\ninterface Instruction {command: string;purpose: string;}",after:""},{field:"scriptFile",code:"scriptFile: TFile",desc:"The TFile of the currently running script",after:""}],FRONTMATTER_KEYS_INFO=[{field:"plugin",code:null,desc:"Denotes an excalidraw file. If key is not present, the file will not be recognized as an Excalidarw file. Valid values are 'parsed' and 'raw'",after:": parsed"},{field:"link-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid internal link. Set to empty string if you do not want to show a prefix",after:': "📍"'},{field:"url-prefix",code:null,desc:"Set custom prefix to denote text element containing a valid external link. Set to empty string if you do not want to show a prefix",after:': "🌐"'},{field:"link-brackets",code:null,desc:"Set to true, if you want to display [[square brackets]] around the links in Text Elements",after:": true"},{field:"default-mode",code:null,desc:"Specifies how Excalidraw should open by default. Valid values are: view|zen",after:": view"},{field:"linkbutton-opacity",code:null,desc:"The opacity of the blue link button in the top right of the element overriding the respective setting in plugin settings. Valid values are between 0 and 1, where 0 means the button is transparent.",after:": 0.5"},{field:"onload-script",code:null,desc:"The value of this field will be executed as javascript code using the Script Engine environment. Use this to initiate custom actions or logic when loading your drawing.",after:': "new Notice(`Hello World!\\n\\nFile: ${ea.targetView.file.basename}`);"'},{field:"font",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: Virgil|Cascadia|font_file_name.extension",after:": Virgil"},{field:"font-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"border-color",code:null,desc:"This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this frontmatter key to your markdown document. Valid values are: css-color-name|#HEXcolor|any-other-html-standard-format",after:": SteelBlue"},{field:"css",code:null,desc:'This key applies to Markdown Embeds. You can control the appearance of the embedded markdown file on a file by file bases by adding the this front matter keys to your markdown document. Valid values are: "css-filename|css snippet"',after:': ""'},{field:"export-transparent",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Transparent / false == with background",after:": true"},{field:"export-dark",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. true == Dark mode / false == light mode",after:": true"},{field:"export-padding",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects both SVG and PNG export. Specify the export padding for the image.",after:": 5"},{field:"export-pngscale",code:null,desc:"If this key is present it will override the default excalidraw embed and export setting. This only affects export to PNG. Specify the export scale for the image. The typical range is between 0.5 and 5, but you can experiment with other values as well.",after:": 1"},{field:"autoexport",code:null,desc:"Override autoexport settings for this file. Valid values are\nnone\nboth\npng\nsvg",after:": png"}];class FieldSuggester extends obsidian_module.EditorSuggest{constructor(e){super(e.app),this.getSuggestions=e=>{const t=e.query.toLowerCase();return("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).map((e=>e.field)).filter((e=>e.toLowerCase().includes(t)))},this.plugin=e}onTrigger(e,t,A){var i,n,a,r,s;if(this.plugin.settings.fieldSuggester){const A=t.getLine(e.line).substring(0,e.ch),o=null!==(r=null!==(n=null===(i=A.match(/^excalidraw-(.*)$/))||void 0===i?void 0:i[1])&&void 0!==n?n:null===(a=A.match(/(^ea|\Wea)\.([\w\.]*)$/))||void 0===a?void 0:a[2])&&void 0!==r?r:null===(s=A.match(/(^utils|\Wutils)\.([\w\.]*)$/))||void 0===s?void 0:s[2];if(void 0!==o)return this.suggestType=A.match(/^excalidraw-(.*)$/)?"excalidraw":A.match(/(^ea|\Wea)\.([\w\.]*)$/)?"ea":"utils",this.latestTriggerInfo={end:e,start:{ch:e.ch-o.length,line:e.line},query:o},this.latestTriggerInfo}return null}renderSuggestion(e,t){const A=e.replace("ea"===this.suggestType?"ea.":"utils"===this.suggestType?"utils.":"excalidraw-",""),i=("ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO).find((t=>t.field===e));t.createEl("b",{text:A}),t.createEl("br"),i.code&&t.createEl("code",{text:i.code}),i.desc&&t.createDiv("div",(e=>e.innerHTML=i.desc))}selectSuggestion(e){var t;const{context:A}=this;if(A){const i="ea"===this.suggestType?EXCALIDRAW_AUTOMATE_INFO:"utils"===this.suggestType?EXCALIDRAW_SCRIPTENGINE_INFO:FRONTMATTER_KEYS_INFO,n=`${e}${null===(t=i.find((t=>t.field===e)))||void 0===t?void 0:t.after}`;if(A.editor.replaceRange(n,this.latestTriggerInfo.start,this.latestTriggerInfo.end),this.latestTriggerInfo.start.ch===this.latestTriggerInfo.end.ch){const e=this.latestTriggerInfo.end;e.ch+=n.length,A.editor.setCursor(e)}}}}class FrontmatterEditor{constructor(e){this.initialized=!1,this.dataWOfrontmatter=e;const t=(e=e.replaceAll("\r\n","\n").replaceAll("\r","\n")).split(/^---(?:.|\n)*(?:^---\n)/gm);2===t.length&&(this.dataWOfrontmatter=t[1],this.frontmatterStr=e.match(/^---((?:.|\n)*)(?:^---\n)/gm)[0].replaceAll(/(^---\n|^\n)/gm,"").trim()+"\n",this.initialized=!0)}hasKey(e){if(!this.initialized)return!1;const t=new RegExp(`^${e}:`,"gm");return Boolean(this.frontmatterStr.match(t))}setKey(e,t){if(this.initialized)if(t=t.replaceAll("\r\n","\n").replaceAll("\r","\n").replaceAll(":",";").trim().split("\n").join(" "),this.hasKey(e)){const A=new RegExp(`^${e}:.*\\n(?:\\s\\s.*\\n)*`,"gm");this.frontmatterStr=this.frontmatterStr.split(A).join("\n").trim()+`\n${e}: ${t}`}else this.frontmatterStr=this.frontmatterStr.trim()+`\n${e}: ${t}`}get data(){return this.initialized?["---",this.frontmatterStr,"---",this.dataWOfrontmatter].join("\n"):this.dataWOfrontmatter}}const TASKBONE_URL="https://api.taskbone.com/",TASKBONE_OCR_FN="execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb";class Taskbone{get apiKey(){return this.plugin.settings.taskboneAPIkey}constructor(e){this.plugin=e}async initialize(e=!0){var t;if(""!==this.plugin.settings.taskboneAPIkey)return;const A=await obsidian_module.requestUrl({url:`${TASKBONE_URL}users/excalidraw-obsidian/identities`,method:"post",contentType:"application/json",throw:!1});if(!A)return;const i=null===(t=A.json)||void 0===t?void 0:t.apiKey;return i&&"string"==typeof i&&(e&&await this.plugin.loadSettings(),this.plugin.settings.taskboneAPIkey=i,e&&await this.plugin.saveSettings()),i}async getTextForView(e,t){await e.forceSave(!0);const A=e.excalidrawAPI.getSceneElements().filter((t=>{var A;return"freedraw"===t.type||"image"===t.type&&!this.plugin.isExcalidrawFile(null===(A=e.excalidrawData.getFile(t.fileId))||void 0===A?void 0:A.file)}));if(0===A.length)return void new obsidian_module.Notice("Aborting OCR because there are no image or freedraw elements on the canvas.",4e3);const i=new FrontmatterEditor(e.data);if(i.hasKey("taskbone-ocr")&&!t)return void new obsidian_module.Notice("The drawing has already been processed, you will find the result in the frontmatter in markdown view mode. If you ran the command from the Obsidian Panel in Excalidraw then you can CTRL(CMD)+click the command to force the rescaning.",4e3);const n=this.plugin.ea.getBoundingBox(A),a=n.width*n.height,r=Math.sqrt(36e4/a),s=Math.sqrt(a/16e6),o=r>1?r:s>1?1/s:1,l=new EmbeddedFilesLoader(this.plugin,!1),c=await createPNG(e.file.path+"#^taskbone",o,{withBackground:!0,withTheme:!0},l,"light",null,null,[],this.plugin,0),d=await this.getTextForImage(c);d&&(i.setKey("taskbone-ocr",d),e.data=i.data,e.save(!1),window.navigator.clipboard.writeText(d),new obsidian_module.Notice("I placed the recognized in the drawing's frontmatter and onto the system clipboard."))}async getTextForImage(e){""===this.apiKey&&await this.initialize();const t={records:[{image:await blobToBase64(e)}]},A=await obsidian_module.requestUrl({url:"https://api.taskbone.com/execute?id=60f394af-85f6-40bc-9613-5d26dc283cbb",method:"post",contentType:"application/json",body:JSON.stringify(t),headers:{authorization:`Bearer ${this.apiKey}`},throw:!1}),i=null==A?void 0:A.json;return i&&200===A.status?i.records[0].text:(new obsidian_module.Notice("Something went wrong while processing your request. Please check developer console for more information"),void log(A))}}class ExcalidrawPlugin extends obsidian_module.Plugin{constructor(e,t){super(e,t),this.excalidrawFiles=new Set,this.excalidrawFileModes={},this._loaded=!1,this.activeExcalidrawView=null,this.lastActiveExcalidrawFilePath=null,this.hover={linkText:null,sourcePath:null},this.opencount=0,this.filesMaster=null,this.equationsMaster=null,this.mathjax=null,this.mathjaxDiv=null,this.mathjaxLoaderFinished=!1,this.fourthFontDef=VIRGIL_FONT,this.packageMap=new WeakMap,this.leafChangeTimeout=null,this.popScope=null,this.filesMaster=new Map,this.equationsMaster=new Map}getPackage(e){if(e===window)return{react:react,reactDOM:reactDOM,excalidrawLib:excalidrawLib};if(this.packageMap.has(e))return this.packageMap.get(e);const{react:t,reactDOM:A,excalidrawLib:i}=e.eval.call(e,`(function() {\n ${lzStringExports.decompressFromBase64(EXCALIDRAW_PACKAGES)};\n return {react:React,reactDOM:ReactDOM,excalidrawLib:ExcalidrawLib};\n })()`);return this.packageMap.set(e,{react:t,reactDOM:A,excalidrawLib:i}),{react:t,reactDOM:A,excalidrawLib:i}}async onload(){if(obsidian_module.addIcon(ICON_NAME,EXCALIDRAW_ICON),obsidian_module.addIcon("ScriptEngine",SCRIPTENGINE_ICON),obsidian_module.addIcon("export-img",EXPORT_IMG_ICON),await this.loadSettings({reEnableAutosave:!0}),this.addSettingTab(new ExcalidrawSettingTab(this.app,this)),this.ea=await initExcalidrawAutomate(this),this.registerView("excalidraw",(e=>new ExcalidrawView(e,this))),this.registerExtensions(["excalidraw"],"excalidraw"),this.addMarkdownPostProcessor(),this.registerInstallCodeblockProcessor(),this.addThemeObserver(),this.experimentalFileTypeDisplayToggle(this.settings.experimentalFileType),this.registerCommands(),this.registerEventListeners(),this.initializeFourthFont(),this.registerEditorSuggest(new FieldSuggester(this)),this.registerMonkeyPatches(),this.settings.showReleaseNotes){const e="0.0.0"===this.settings.previousRelease;isVersionNewerThanOther(PLUGIN_VERSION,this.settings.previousRelease)&&new ReleaseNotes(this.app,this,e?null:PLUGIN_VERSION).open()}this.switchToExcalidarwAfterLoad(),this.loadMathJax();const e=this;this.app.workspace.onLayoutReady((()=>{this.scriptEngine=new ScriptEngine(e)})),this.taskbone=new Taskbone(this)}initializeFourthFont(){this.app.workspace.onLayoutReady((async()=>{const e=await getFontDataURL(this.app,this.settings.experimantalFourthFont,"","LocalFont"),t=""===e.dataURL?VIRGIL_DATAURL:e.dataURL;this.fourthFontDef=e.fontDef;const A=new Set;app.workspace.iterateAllLeaves((e=>{const i=app.isMobile?document:e.view.containerEl.ownerDocument;if(!i)return;if(A.has(i))return;A.add(i);const n=i.createElement("style");n.id="local-font-stylesheet",n.textContent=`\n @font-face {\n font-family: 'LocalFont';\n src: url("${t}");\n font-display: swap;\n }\n `;const a=i.getElementById(n.id);i.head.appendChild(n),a&&i.head.removeChild(a),i.fonts.load("20px LocalFont")}))}))}loadMathJax(){const e=this;this.app.workspace.onLayoutReady((async()=>{await obsidian_module.loadMathJax();try{e.mathjaxDiv&&(document.body.removeChild(e.mathjaxDiv),e.mathjax=null,e.mathjaxLoaderFinished=!1),e.mathjaxDiv=document.body.createDiv(),e.mathjaxDiv.title="Excalidraw MathJax Support",e.mathjaxDiv.style.display="none";const t=e.mathjaxDiv.createEl("iframe");t.title="Excalidraw MathJax Support";const A=t.contentWindow.document,i=A.createElement("script");i.type="text/javascript",i.onload=()=>{const A=t.contentWindow;A.MathJax.startup.pagePromise.then((async()=>{const t=app.vault.getAbstractFileByPath("preamble.sty"),i=t&&t instanceof obsidian_module.TFile?await app.vault.read(t):null;try{i&&await A.MathJax.tex2svg(i)}catch(t){errorlog({where:e.loadMathJax,description:"Unexpected error while loading preamble.sty",error:t})}e.mathjax=A.MathJax,e.mathjaxLoaderFinished=!0}))},i.src=e.settings.mathjaxSourceURL,A.head.appendChild(i)}catch(t){new obsidian_module.Notice("Excalidraw: Error initializing LaTeX support"),e.mathjaxLoaderFinished=!0}}))}switchToExcalidarwAfterLoad(){const e=this;this.app.workspace.onLayoutReady((()=>{let t;for(t of app.workspace.getLeavesOfType("markdown"))t.view instanceof obsidian_module.MarkdownView&&e.isExcalidrawFile(t.view.file)&&(e.excalidrawFileModes[t.id||t.view.file.path]="excalidraw",e.setExcalidrawView(t))}))}forceSaveActiveView(e){if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.forceSave(),!0)}registerInstallCodeblockProcessor(){const e=async(e,t)=>{let A=null;try{const e=t.parentElement.querySelector(`a[href="#${t.previousElementSibling.getAttribute("data-heading")}"]`);e.style.paddingRight="10px",A=e.parentElement.createEl("button",null,(e=>{e.setText(t$d("UPDATE_SCRIPT")),e.addClass("mod-muted"),e.style.backgroundColor="var(--interactive-success)",e.style.display="none"}))}catch(t){errorlog({where:"this.registerInstallCodeblockProcessor",source:e,error:t})}e=e.trim(),t.createEl("button",null,(async t=>{var i;const n=e=>{switch(A&&(A.style.display="none"),e){case"CHECKING":t.setText(t$d("CHECKING_SCRIPT")),t.style.backgroundColor="var(--interactive-normal)";break;case"INSTALL":t.setText(t$d("INSTALL_SCRIPT")),t.style.backgroundColor="var(--interactive-accent)";break;case"UPTODATE":t.setText(t$d("UPTODATE_SCRIPT")),t.style.backgroundColor="var(--interactive-normal)";break;case"UPDATE":t.setText(t$d("UPDATE_SCRIPT")),t.style.backgroundColor="var(--interactive-success)",A&&(A.style.display=null);break;case"ERROR":t.setText(t$d("UNABLETOCHECK_SCRIPT")),t.style.backgroundColor="var(--interactive-normal)"}};t.addClass("mod-muted");let a=e;try{a=decodeURI(e)}catch(t){errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",source:e,error:t})}const r=a.substring(a.lastIndexOf("/")+1),s=`${this.settings.scriptFolderPath}/Downloaded`,o=app.vault.getFiles().filter((e=>e.path.startsWith(s)&&e.name===r)).sort(((e,t)=>e.path>t.path?1:-1));let l=o[0];const c=null!==(i=null==l?void 0:l.path)&&void 0!==i?i:`${s}/${r}`,d=getIMGFilename(c,"svg");let h=this.app.vault.getAbstractFileByPath(d);if(n(l?"CHECKING":"INSTALL"),t.onclick=async()=>{const t=async(e,t,A)=>{const i=await obsidian_module.request({url:e});return!i||i.startsWith("404: Not Found")?null:(t?await this.app.vault.modify(t,i):(await checkAndCreateFolder(s),t=await this.app.vault.create(A,i)),t)};try{if(l=await t(e,l,c),!l)throw n("ERROR"),"File not found";h=await t(getIMGFilename(e,"svg"),h,d),n("UPTODATE"),0===Object.keys(this.scriptEngine.scriptIconMap).length&&this.scriptEngine.loadScripts(),new obsidian_module.Notice(`Installed: ${l.basename}`)}catch(e){new obsidian_module.Notice(`Error installing script: ${r}`),errorlog({where:"ExcalidrawPlugin.registerInstallCodeblockProcessor.codeblockProcessor.onClick",error:e})}},A&&(A.onclick=t.onclick),!(l&&l instanceof obsidian_module.TFile))return;const u=new Map;JSON.parse(await obsidian_module.request({url:"https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/ea-scripts/directory-info.json"})).forEach((e=>u.set(e.fname,e.mtime)));const g=(e,t)=>{if(0===u.size||!u.has(e))return"ERROR";const A=u.get(e);return!t||A>t.stat.mtime?"UPDATE":"UPTODATE"},p=g(r,l),m=g(getIMGFilename(r,"svg"),h&&h instanceof obsidian_module.TFile?h:null);n("UPTODATE"===p&&"UPTODATE"===m||"UPTODATE"===p&&"ERROR"===m?"UPTODATE":"ERROR"===p?"ERROR":"UPDATE"===p||"UPDATE"===m?"UPDATE":"UPTODATE")}))};this.registerMarkdownCodeBlockProcessor(SCRIPT_INSTALL_CODEBLOCK,(async(t,A)=>{A.addEventListener(RERENDER_EVENT,(async i=>{i.stopPropagation(),A.empty(),e(t,A)})),e(t,A)}))}addMarkdownPostProcessor(){initializeMarkdownPostProcessor(this),this.registerMarkdownPostProcessor(markdownPostProcessor),this.registerEvent(this.app.workspace.on("hover-link",hoverEvent)),this.observer=observer,this.observer.observe(document,{childList:!0,subtree:!0})}addThemeObserver(){this.themeObserver=new MutationObserver((async e=>{var t,A,i,n,a,r,s,o;if(!this.settings.matchThemeTrigger)return;if((null===(t=e[0])||void 0===t?void 0:t.oldValue)===(null===(i=null===(A=e[0])||void 0===A?void 0:A.target)||void 0===i?void 0:i.getAttribute("class")))return;if((null===(a=null===(n=e[0])||void 0===n?void 0:n.oldValue)||void 0===a?void 0:a.includes("theme-dark"))===(null===(o=null===(s=null===(r=e[0])||void 0===r?void 0:r.target)||void 0===s?void 0:s.classList)||void 0===o?void 0:o.contains("theme-dark")))return;const l=isObsidianThemeDark()?"dark":"light";this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{const t=e.view;t.file&&t.excalidrawRef&&t.setTheme(l)}))})),this.themeObserver.observe(document.body,{attributeOldValue:!0,attributeFilter:["class"]})}experimentalFileTypeDisplayToggle(e){e?this.experimentalFileTypeDisplay():(this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.fileExplorerObserver=null)}experimentalFileTypeDisplay(){const e=e=>{if(1!=e.childElementCount)return;const t=e.getAttribute("data-path");if(!t)return;const A=this.app.vault.getAbstractFileByPath(t);A&&A instanceof obsidian_module.TFile&&this.isExcalidrawFile(A)&&e.insertBefore(createDiv({cls:"nav-file-tag",text:this.settings.experimentalFileTag}),e.firstChild)};this.fileExplorerObserver=new MutationObserver((t=>{const A=t.filter((e=>e.addedNodes.length>0));A.forEach((t=>{t.addedNodes.forEach((t=>{t instanceof Element&&t.querySelectorAll(".nav-file-title").forEach(e)}))}))}));const t=this;this.app.workspace.onLayoutReady((()=>{document.querySelectorAll(".nav-file-title").forEach(e),t.fileExplorerObserver.observe(document.querySelector(".workspace"),{childList:!0,subtree:!0})}))}registerCommands(){this.openDialog=new OpenFileDialog(this.app,this),this.insertLinkDialog=new InsertLinkDialog(this.app),this.insertImageDialog=new InsertImageDialog(this),this.importSVGDialog=new ImportSVGDialog(this),this.insertMDDialog=new InsertMDDialog(this),this.addRibbonIcon(ICON_NAME,t$d("CREATE_NEW"),(async e=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)))})),this.registerEvent(this.app.workspace.on("file-menu",((e,t)=>{e.addItem((e=>{e.setTitle(t$d("CREATE_NEW")).setIcon(ICON_NAME).onClick((e=>{let A=t.path;t instanceof obsidian_module.TFile&&(A=obsidian_module.normalizePath(t.path.substr(0,t.path.lastIndexOf(t.name)))),this.createAndOpenDrawing(getDrawingFilename(this.settings),linkClickModifierType(emulateCTRLClickForLinks(e)),A)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,t)=>{t instanceof obsidian_module.TFile&&"excalidraw"==t.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_KEEP_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(t,!1,!1)}))}))}))),this.registerEvent(this.app.workspace.on("file-menu",((e,t)=>{t instanceof obsidian_module.TFile&&"excalidraw"==t.extension&&e.addItem((e=>{e.setTitle(t$d("CONVERT_FILE_REPLACE_EXT")).onClick((()=>{this.convertSingleExcalidrawToMD(t,!0,!0)}))}))}))),this.addCommand({id:"excalidraw-disable-autosave",name:t$d("TEMPORARY_DISABLE_AUTOSAVE"),checkCallback:e=>!!this.settings.autosave&&(e||(this.settings.autosave=!1),!0)}),this.addCommand({id:"excalidraw-enable-autosave",name:t$d("TEMPORARY_ENABLE_AUTOSAVE"),checkCallback:e=>!this.settings.autosave&&(e||(this.settings.autosave=!0),!0)}),this.addCommand({id:"excalidraw-download-lib",name:t$d("DOWNLOAD_LIBRARY"),callback:this.exportLibrary}),this.addCommand({id:"excalidraw-open",name:t$d("OPEN_EXISTING_NEW_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!0)}}),this.addCommand({id:"excalidraw-open-on-current",name:t$d("OPEN_EXISTING_ACTIVE_PANE"),callback:()=>{this.openDialog.start(openDialogAction.openFile,!1)}}),this.addCommand({id:"excalidraw-insert-transclusion",name:t$d("TRANSCLUDE"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(this.openDialog.start(openDialogAction.insertLinkToDrawing,!1),!0)}),this.addCommand({id:"excalidraw-insert-last-active-transclusion",name:t$d("TRANSCLUDE_MOST_RECENT"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView))&&null!=this.lastActiveExcalidrawFilePath;const t=this.app.vault.getAbstractFileByPath(this.lastActiveExcalidrawFilePath);return t instanceof obsidian_module.TFile&&(this.embedDrawing(t),!0)}}),this.addCommand({id:"excalidraw-autocreate",name:t$d("NEW_IN_NEW_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-pane")}}),this.addCommand({id:"excalidraw-autocreate-newtab",name:t$d("NEW_IN_NEW_TAB"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"new-tab")}}),this.addCommand({id:"excalidraw-autocreate-on-current",name:t$d("NEW_IN_ACTIVE_PANE"),callback:()=>{this.createAndOpenDrawing(getDrawingFilename(this.settings),"active-pane")}}),this.addCommand({id:"excalidraw-autocreate-popout",name:t$d("NEW_IN_POPOUT_WINDOW"),checkCallback:e=>{if(e)return!app.isMobile;this.createAndOpenDrawing(getDrawingFilename(this.settings),"popout-window")}});const e=async e=>{const t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!t)return;const A=getEmbedFilename(t.file.basename,this.settings),i=this.settings.embedUseExcalidrawFolder?null:(await getAttachmentsFolderAndFilePath(this.app,t.file.path,A)).folder,n=await this.createDrawing(A,i);await this.embedDrawing(n),this.openDrawing(n,e,!0,void 0,!0)};this.addCommand({id:"excalidraw-autocreate-and-embed",name:t$d("NEW_IN_NEW_PANE_EMBED"),checkCallback:t=>t?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-new-tab",name:t$d("NEW_IN_NEW_TAB_EMBED"),checkCallback:t=>t?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("new-tab"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-on-current",name:t$d("NEW_IN_ACTIVE_PANE_EMBED"),checkCallback:t=>t?Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("active-pane"),!0)}),this.addCommand({id:"excalidraw-autocreate-and-embed-popout",name:t$d("NEW_IN_POPOUT_WINDOW_EMBED"),checkCallback:t=>t?!app.isMobile&&Boolean(this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView)):(e("popout-window"),!0)}),this.addCommand({id:"run-ocr",name:t$d("RUN_OCR"),checkCallback:e=>{const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return e?Boolean(t):!!t&&(this.settings.taskboneEnabled?(this.taskbone.getTextForView(t,!1),!0):(new obsidian_module.Notice("Taskbone OCR is not enabled. Please go to plugins settings to enable it.",4e3),!0))}}),this.addCommand({id:"search-text",name:t$d("SEARCH"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(search(t),!0)}}),this.addCommand({id:"fullscreen",name:t$d("TOGGLE_FULLSCREEN"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.isFullscreen()?t.exitFullscreen():t.gotoFullscreen(),!0)}}),this.addCommand({id:"disable-binding",name:t$d("TOGGLE_DISABLEBINDING"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.toggleDisableBinding(),!0)}}),this.addCommand({id:"export-image",name:t$d("EXPORT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.exportDialog||(t.exportDialog=new ExportDialog(this,t,t.file),t.exportDialog.createForm()),t.exportDialog.open(),!0)}}),this.forceSaveCommand=this.addCommand({id:"save",hotkeys:[{modifiers:["Ctrl"],key:"s"}],name:t$d("FORCE_SAVE"),checkCallback:e=>this.forceSaveActiveView(e)}),this.addCommand({id:"toggle-lock",hotkeys:[{modifiers:["Ctrl","Shift"],key:"e"}],name:t$d("TOGGLE_LOCK"),checkCallback:e=>{if(e)return!!Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))&&!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode;const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!t||t.compatibilityMode||(t.changeTextMode(t.textMode===TextMode.parsed?TextMode.raw:TextMode.parsed),0))}}),this.addCommand({id:"scriptengine-store",name:t$d("INSTALL_SCRIPT_BUTTON"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ScriptInstallPrompt(this).open(),!0)}),this.addCommand({id:"delete-file",name:t$d("DELETE_FILE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(t){this.ea.reset(),this.ea.setView(t);const e=this.ea.getViewSelectedElement();if("image"!==e.type)return new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0;const A=this.ea.getViewFileForImageElement(e);return A?(this.app.vault.delete(A),this.ea.deleteViewElements([e]),!0):(new obsidian_module.Notice("Please select an image or embedded markdown document",4e3),!0)}return!1}}),this.addCommand({id:"insert-link",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(this.insertLinkDialog.start(t.file.path,t.addText),!0)}}),this.addCommand({id:"insert-link-to-element",hotkeys:[{modifiers:["Ctrl","Shift"],key:"k"}],name:t$d("INSERT_LINK_TO_ELEMENT_NORMAL"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.copyLinkToSelectedElementToClipboard(""),!0)}}),this.addCommand({id:"insert-link-to-element-group",name:t$d("INSERT_LINK_TO_ELEMENT_GROUP"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.copyLinkToSelectedElementToClipboard("group="),!0)}}),this.addCommand({id:"insert-link-to-element-area",name:t$d("INSERT_LINK_TO_ELEMENT_AREA"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(t.copyLinkToSelectedElementToClipboard("area="),!0)}}),this.addCommand({id:"toggle-lefthanded-mode",name:t$d("TOGGLE_LEFTHANDED_MODE"),checkCallback:e=>{if(e){if(this.app.workspace.getActiveViewOfType(ExcalidrawView)){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView),t=null==e?void 0:e.excalidrawAPI;return!!t&&!!t.getAppState().trayModeEnabled}return!1}return this.app.workspace.getActiveViewOfType(ExcalidrawView),(async()=>{const e=this.settings.isLeftHanded;await this.loadSettings({applyLefthandedMode:!1}),this.settings.isLeftHanded=!e,this.saveSettings(),setLeftHandedMode(!e),setTimeout((()=>setLeftHandedMode(!e)))})(),!0}}),this.addCommand({id:"reset-image-to-100",name:t$d("RESET_IMG_TO_100"),checkCallback:e=>{const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!t)return!1;if(!t.excalidrawAPI)return!1;const A=t.getViewSelectedElements().filter((e=>"image"===e.type));if(1!==A.length)return e||new obsidian_module.Notice("Select a single image element and try again"),!1;const i=A[0];return t.excalidrawData.getFile(i.fileId)?!!e||void(async()=>{const e=new ExcalidrawAutomate(this,t),n=await e.getOriginalImageSize(i);if(n){e.copyViewElementsToEAforEditing(A);const t=e.getElement(i.id);t.width=n.width,t.height=n.height,e.addElementsToView(!1,!1,!1)}})():(e||new obsidian_module.Notice("Select a single image element and try again"),!1)}}),this.addCommand({id:"insert-image",name:t$d("INSERT_IMAGE"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(this.insertImageDialog.start(t),!0)}}),this.addCommand({id:"import-svg",name:t$d("IMPORT_SVG"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(this.importSVGDialog.start(t),!0)}}),this.addCommand({id:"release-notes",name:t$d("READ_RELEASE_NOTES"),checkCallback:e=>e?Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView)):(new ReleaseNotes(this.app,this,PLUGIN_VERSION).open(),!0)}),this.addCommand({id:"tray-mode",name:t$d("TRAY_MODE"),checkCallback:e=>{if(e){const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(!e||!e.excalidrawRef)return!1;const t=e.excalidrawAPI.getAppState();return!t.zenModeEnabled&&!t.viewModeEnabled}const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!(!t||!t.excalidrawAPI||(t.toggleTrayMode(),0))}}),this.addCommand({id:"insert-md",name:t$d("INSERT_MD"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(this.insertMDDialog.start(t),!0)}}),this.addCommand({id:"insert-pdf",name:t$d("INSERT_PDF"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(new InsertPDFModal(this,t).open(),!0)}}),this.addCommand({id:"insert-LaTeX-symbol",name:t$d("INSERT_LATEX"),checkCallback:e=>{if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView));const t=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!t&&(insertLaTeXToView(t),!0)}}),this.addCommand({id:"toggle-excalidraw-view",name:t$d("TOGGLE_MODE"),checkCallback:e=>{const t=this.app.workspace.getActiveFile();if(!t)return!1;const A=this.isExcalidrawFile(t);if(e)return Boolean(this.app.workspace.getActiveViewOfType(ExcalidrawView))?!this.app.workspace.getActiveViewOfType(ExcalidrawView).compatibilityMode:A;const i=this.app.workspace.getActiveViewOfType(ExcalidrawView);if(i){const e=i.leaf;return this.excalidrawFileModes[e.id||t.path]="markdown",void this.setMarkdownView(e)}const n=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(n&&A){const e=n.leaf;return this.excalidrawFileModes[e.id||t.path]="excalidraw",void this.setExcalidrawView(e)}}}),this.addCommand({id:"convert-to-excalidraw",name:t$d("CONVERT_NOTE_TO_EXCALIDRAW"),checkCallback:e=>{const t=this.app.workspace.getActiveFile(),A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(!t||!A)return!1;const i=0===t.stat.size;if(e)return i;i&&(async()=>{await this.app.vault.modify(t,await this.getBlankDrawing()),this.setExcalidrawView(A.leaf)})()}}),this.addCommand({id:"convert-excalidraw",name:t$d("CONVERT_EXCALIDRAW"),checkCallback:e=>{if(e){const e=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));return e.length>0}return this.convertExcalidrawToMD(),!0}})}async convertSingleExcalidrawToMD(e,t=!1,A=!1){const i=await this.app.vault.read(e),n=e.name.substring(0,e.name.lastIndexOf(".excalidraw"))+(t?".md":".excalidraw.md"),a=getNewUniqueFilepath(this.app.vault,n,obsidian_module.normalizePath(e.path.substring(0,e.path.lastIndexOf(e.name))));log(a);const r=await this.app.vault.create(a,FRONTMATTER+await this.exportSceneToMD(i));return this.settings.keepInSync&&EXPORT_TYPES.forEach((t=>{const A=e.path.substring(0,e.path.lastIndexOf(".excalidraw"))+t,i=this.app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));if(i&&i instanceof obsidian_module.TFile){const e=a.substring(0,a.lastIndexOf(".md"))+t;this.app.fileManager.renameFile(i,e)}})),A||this.app.vault.delete(e),r}async convertExcalidrawToMD(e=!1,t=!1){const A=this.app.vault.getFiles().filter((e=>"excalidraw"==e.extension));for(const i of A)this.convertSingleExcalidrawToMD(i,e,t);new obsidian_module.Notice(`Converted ${A.length} files.`)}registerMonkeyPatches(){this.registerEvent(app.workspace.on("editor-menu",((e,t,A)=>{if(!(A&&A instanceof obsidian_module.MarkdownView))return;const i=A.file,n=A.leaf;if(!A.file)return;const a=this.app.metadataCache.getFileCache(i);(null==a?void 0:a.frontmatter)&&a.frontmatter[FRONTMATTER_KEY]&&e.addItem((e=>e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("excalidraw").onClick((()=>{this.excalidrawFileModes[n.id||i.path]="excalidraw",this.setExcalidrawView(n)}))))}))),this.registerEvent(app.workspace.on("file-menu",((e,t,A,i)=>{if(!(i&&i.view instanceof obsidian_module.MarkdownView))return;if(!(t instanceof obsidian_module.TFile))return;const n=this.app.metadataCache.getFileCache(t);(null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]&&(e.addItem((e=>{e.setTitle(t$d("OPEN_AS_EXCALIDRAW")).setIcon(ICON_NAME).setSection("pane").onClick((()=>{this.excalidrawFileModes[i.id||t.path]="excalidraw",this.setExcalidrawView(i)}))})),e.items.unshift(e.items.pop()))})));const e=this;this.register(around(obsidian_module.WorkspaceLeaf.prototype,{detach:t=>function(){var A;const i=null===(A=this.view)||void 0===A?void 0:A.getState();return(null==i?void 0:i.file)&&e.excalidrawFileModes[this.id||i.file]&&delete e.excalidrawFileModes[this.id||i.file],t.apply(this)},setViewState:t=>function(A,...i){var n;if(e._loaded&&"markdown"===A.type&&(null===(n=A.state)||void 0===n?void 0:n.file)&&"markdown"!==e.excalidrawFileModes[this.id||A.state.file]){const n=app.metadataCache.getCache(A.state.file);if((null==n?void 0:n.frontmatter)&&n.frontmatter[FRONTMATTER_KEY]){const n=Object.assign(Object.assign({},A),{type:"excalidraw"});return e.excalidrawFileModes[A.state.file]="excalidraw",t.apply(this,[n,...i])}}return t.apply(this,[A,...i])}}))}registerEventListeners(){const e=this;this.app.workspace.onLayoutReady((async()=>{e.registerEvent(app.vault.on("rename",(async(t,A)=>{t instanceof obsidian_module.TFile&&e.isExcalidrawFile(t)&&e.settings.keepInSync&&[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const i=getIMGFilename(A,e),n=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(i));if(n&&n instanceof obsidian_module.TFile){const A=getIMGFilename(t.path,e);await app.fileManager.renameFile(n,A)}}))}))),e.registerEvent(app.vault.on("modify",(async t=>{app.workspace.getLeavesOfType("excalidraw").forEach((async A=>{const i=A.view;if(i.file&&(i.file.path===t.path||"excalidraw"===t.extension&&`${t.path.substring(0,t.path.lastIndexOf(".excalidraw"))}.md`===i.file.path)){if(i.semaphores.preventReload)return void(i.semaphores.preventReload=!1);if(i.lastSaveTimestamp+3e5{if(!(t instanceof obsidian_module.TFile))return;const A=this.excalidrawFiles.has(t);if(this.updateFileCache(t,void 0,!0),!A)return;const i=app.workspace.getLeavesOfType("excalidraw");for(let e=0;e{[EXPORT_TYPES,"excalidraw"].flat().forEach((async e=>{const A=getIMGFilename(t.path,e),i=app.vault.getAbstractFileByPath(obsidian_module.normalizePath(A));i&&i instanceof obsidian_module.TFile&&await app.vault.delete(i)}))}),500)}))),e.registerEvent(app.workspace.on("active-leaf-change",(async t=>{var A;e.leafChangeTimeout&&clearTimeout(e.leafChangeTimeout),e.leafChangeTimeout=setTimeout((()=>{e.leafChangeTimeout=null}),1e3);const i=e.activeExcalidrawView,n=t.view instanceof ExcalidrawView?t.view:null; //!Temporary hack -if(e.activeExcalidrawView=n,n&&(e.lastActiveExcalidrawFilePath=null===(t=n.file)||void 0===t?void 0:t.path),app.isMobile&&n&&!i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!n&&i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(i&&i!==n&&(i.leaf!==A&&i.semaphores.dirty&&!i.semaphores.viewunload&&await i.save(!0),i.file&&e.triggerEmbedUpdates(i.file.path)),n&&(!i||i.leaf!==A)){const e=n.file;n.file&&setTimeout((()=>{var A;n&&n._loaded&&(null===(A=n.file)||void 0===A?void 0:A.path)===(null==e?void 0:e.path)&&(n.activeLoader||n.loadSceneFiles())}),2e3)}if(n&&n._loaded&&n.isLoaded&&n.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,n,n.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),n){const A=e.app.keymap.getRootScope(),t=A.register(["Mod"],"Enter",(()=>!0));A.keys.unshift(A.keys.pop());const i=A.register(["Mod"],"k",(()=>!0));A.keys.unshift(A.keys.pop());const n=A.register(["Mod"],"f",(()=>{const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!e&&(search(e),!0)}));A.keys.unshift(A.keys.pop());const a=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?A.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;a&&A.keys.unshift(A.keys.pop()),e.popScope=()=>{A.unregister(t),A.unregister(i),A.unregister(n),Boolean(a)&&A.unregister(a)}}}))),e.addFileSaveTriggerEventHandlers();const A=app.metadataCache;A.getCachedFiles().forEach((t=>{var i;const n=null===(i=A.getCache(t))||void 0===i?void 0:i.frontmatter;(n&&void 0!==n[FRONTMATTER_KEY]||t.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(t),n)})),this.registerEvent(A.on("changed",((e,A,t)=>this.updateFileCache(e,null==t?void 0:t.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),A=document.querySelector(".workspace-drawer.mod-right");if(e||A){const t=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},i={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(t),this.workspaceDrawerLeftObserver.observe(e,i)),A&&(this.workspaceDrawerRightObserver=new MutationObserver(t),this.workspaceDrawerRightObserver.observe(A,i))}}updateFileCache(e,A,t=!1){A&&void 0!==A[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):t||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const A=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(A&&A.file){const t=this.app.metadataCache.fileToLinktext(e,A.file.path,"excalidraw"===this.settings.embedType),i=A.editor;if("excalidraw"===this.settings.embedType)return i.replaceSelection(this.settings.embedWikiLink?`![[${t}]]`:`![](${encodeURI(t)})`),void i.focus();let n=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";n=""===n?"":n+".";const a=getIMGFilename(t,n+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,n+this.settings.embedType.toLowerCase()),s="dark."===n?"light.":"dark.",o=getIMGFilename(t,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),i.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${t}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(t)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),i.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?this.settings.autosaveIntervalMobile:this.settings.autosaveIntervalDesktop}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const A=new Set;app.workspace.iterateAllLeaves((t=>{const i=app.isMobile?document:t.view.containerEl.ownerDocument;if(!i)return;if(A.has(i))return;A.add(i);const n=i.createEvent("Event");n.initEvent(RERENDER_EVENT,!0,!1),i.querySelectorAll("img[class^='excalidraw-svg']"+(e?`[fileSource='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(n)))}))}openDrawing(e,A,t=!1,i){let n;"md-properties"===A&&(A="new-tab"),"popout-window"===A&&(n=app.workspace.openPopoutLeaf()),"new-tab"===A&&(n=app.workspace.getLeaf("tab")),n||(n=this.app.workspace.getLeaf(!1),"empty"!==n.view.getViewType()&&"new-pane"===A&&(n=getNewOrAdjacentLeaf(this,n))),n.openFile(e,i&&""!==i?{active:t,eState:{subpath:i}}:{active:t})}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian_module.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian_module.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const A=await this.app.vault.read(e);if(A)return this.settings.matchTheme?changeThemeOfExcalidrawMD(A):A}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const A=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(A,this.settings.compress)}`}async exportSceneToMD(e){var A,t;if(!e)return"";const i=null===(A=JSON_parse(e).elements)||void 0===A?void 0:A.filter((e=>"text"==e.type));let n,a="# Text Elements\n";for(const A of i)n=A.id,A.id.length>8&&(n=nanoid(),e=e.replaceAll(A.id,n)),a+=`${null!==(t=A.originalText)&&void 0!==t?t:A.text} ^${n}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,A,t){const i=obsidian_module.normalizePath(A||this.settings.folder);await checkAndCreateFolder(i);const n=getNewUniqueFilepath(this.app.vault,e,i),a=await this.app.vault.create(n,null!=t?t:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian_module.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,A,t,i){const n=await this.createDrawing(e,t,i);return this.openDrawing(n,A,!0),n.path}async setMarkdownView(e){const A=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:A,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const A=e?this.app.metadataCache.getFileCache(e):null;return!!(null==A?void 0:A.frontmatter)&&!!A.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const A=obsidian_module.normalizePath(this.settings.folder);await checkAndCreateFolder(A);const t=getNewUniqueFilepath(this.app.vault,e,A);this.app.vault.create(t,this.settings.library),new obsidian_module.Notice(`Exported library to ${t}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; +if(e.activeExcalidrawView=n,n&&(e.lastActiveExcalidrawFilePath=null===(A=n.file)||void 0===A?void 0:A.path),app.isMobile&&n&&!i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="relative")}if(app.isMobile&&!n&&i){const e=document.querySelector("body>.app-container>.mobile-navbar");e&&e instanceof HTMLDivElement&&(e.style.position="")}if(i&&i!==n&&(i.leaf!==t&&i.semaphores.dirty&&!i.semaphores.viewunload&&await i.save(!0),i.file&&e.triggerEmbedUpdates(i.file.path)),n&&(!i||i.leaf!==t)){const e=n.file;n.file&&setTimeout((()=>{var t;n&&n._loaded&&(null===(t=n.file)||void 0===t?void 0:t.path)===(null==e?void 0:e.path)&&(n.activeLoader||n.loadSceneFiles())}),2e3)}if(n&&n._loaded&&n.isLoaded&&n.excalidrawAPI&&e.ea.onCanvasColorChangeHook&&e.ea.onCanvasColorChangeHook(e.ea,n,n.excalidrawAPI.getAppState().viewBackgroundColor),e.popScope&&(e.popScope(),e.popScope=null),n){const t=e.app.keymap.getRootScope(),A=t.register(["Mod"],"Enter",(()=>!0));t.keys.unshift(t.keys.pop());const i=t.register(["Mod"],"k",(()=>!0));t.keys.unshift(t.keys.pop());const n=t.register(["Mod"],"f",(()=>{const e=this.app.workspace.getActiveViewOfType(ExcalidrawView);return!!e&&(search(e),!0)}));t.keys.unshift(t.keys.pop());const a=e.forceSaveCommand&&"s"===e.forceSaveCommand.hotkeys[0].key&&e.forceSaveCommand.hotkeys[0].modifiers.includes("Ctrl")?t.register(["Ctrl"],"s",(()=>e.forceSaveActiveView(!1))):void 0;a&&t.keys.unshift(t.keys.pop()),e.popScope=()=>{t.unregister(A),t.unregister(i),t.unregister(n),Boolean(a)&&t.unregister(a)}}}))),e.addFileSaveTriggerEventHandlers();const t=app.metadataCache;t.getCachedFiles().forEach((A=>{var i;const n=null===(i=t.getCache(A))||void 0===i?void 0:i.frontmatter;(n&&void 0!==n[FRONTMATTER_KEY]||A.match(/\.excalidraw$/))&&e.updateFileCache(app.vault.getAbstractFileByPath(A),n)})),this.registerEvent(t.on("changed",((e,t,A)=>this.updateFileCache(e,null==A?void 0:A.frontmatter))))}))}addFileSaveTriggerEventHandlers(){this.registerEvent(this.app.workspace.on("click",(e=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&(!e.target||"excalidraw__canvas"!==e.target.className&&!getParentOfClass(e.target,"excalidraw-wrapper"))&&this.activeExcalidrawView.save()}))),this.registerEvent(this.app.workspace.on("file-menu",(()=>{this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()}))),this.modalContainerObserver=new MutationObserver((async e=>{1===e.length&&"childList"===e[0].type&&1===e[0].addedNodes.length&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()})),this.modalContainerObserver.observe(document.body,{childList:!0});const e=document.querySelector(".workspace-drawer.mod-left"),t=document.querySelector(".workspace-drawer.mod-right");if(e||t){const A=async e=>{"display: none;"===e[0].oldValue&&this.activeExcalidrawView&&this.activeExcalidrawView.semaphores.dirty&&this.activeExcalidrawView.save()},i={attributeOldValue:!0,attributeFilter:["style"]};e&&(this.workspaceDrawerLeftObserver=new MutationObserver(A),this.workspaceDrawerLeftObserver.observe(e,i)),t&&(this.workspaceDrawerRightObserver=new MutationObserver(A),this.workspaceDrawerRightObserver.observe(t,i))}}updateFileCache(e,t,A=!1){t&&void 0!==t[FRONTMATTER_KEY]?this.excalidrawFiles.add(e):A||"excalidraw"!==e.extension?this.excalidrawFiles.delete(e):this.excalidrawFiles.add(e)}onunload(){destroyExcalidrawAutomate(),this.popScope&&(this.popScope(),this.popScope=null),this.observer.disconnect(),this.themeObserver.disconnect(),this.modalContainerObserver.disconnect(),this.workspaceDrawerLeftObserver&&this.workspaceDrawerLeftObserver.disconnect(),this.workspaceDrawerRightObserver&&this.workspaceDrawerRightObserver.disconnect(),this.fileExplorerObserver&&this.fileExplorerObserver.disconnect(),this.app.workspace.getLeavesOfType("excalidraw").forEach((e=>{this.setMarkdownView(e)})),this.mathjaxDiv&&document.body.removeChild(this.mathjaxDiv),Object.values(this.packageMap).forEach((e=>{delete e.excalidrawLib,delete e.reactDOM,delete e.react}))}async embedDrawing(e){const t=this.app.workspace.getActiveViewOfType(obsidian_module.MarkdownView);if(t&&t.file){const A=this.app.metadataCache.fileToLinktext(e,t.file.path,"excalidraw"===this.settings.embedType),i=t.editor;if("excalidraw"===this.settings.embedType)return i.replaceSelection(this.settings.embedWikiLink?`![[${A}]]`:`![](${encodeURI(A)})`),void i.focus();let n=this.settings.autoExportLightAndDark?getExportTheme(this,e,this.settings.exportWithTheme&&isObsidianThemeDark()?"dark":"light"):"";n=""===n?"":n+".";const a=getIMGFilename(A,n+this.settings.embedType.toLowerCase()),r=getIMGFilename(e.path,n+this.settings.embedType.toLowerCase()),s="dark."===n?"light.":"dark.",o=getIMGFilename(A,s+this.settings.embedType.toLowerCase());this.app.vault.getAbstractFileByPath(r)||(await this.app.vault.create(r,""),await sleep$1(200)),i.replaceSelection(this.settings.embedWikiLink?`![[${a}]]\n%%[[${A}|🖋 Edit in Excalidraw]]${o?", and the [["+o+"|"+s.split(".")[0]+" exported image]]":""}%%`:`![](${encodeURI(a)})\n%%[🖋 Edit in Excalidraw](${encodeURI(A)})${o?", and the ["+s.split(".")[0]+" exported image]("+encodeURI(o)+")":""}%%`),i.focus()}}async loadSettings(e={applyLefthandedMode:!0,reEnableAutosave:!1}){void 0===e.applyLefthandedMode&&(e.applyLefthandedMode=!0),void 0===e.reEnableAutosave&&(e.reEnableAutosave=!1),this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData()),e.applyLefthandedMode&&setLeftHandedMode(this.settings.isLeftHanded),e.reEnableAutosave&&(this.settings.autosave=!0),this.settings.autosaveInterval=app.isMobile?this.settings.autosaveIntervalMobile:this.settings.autosaveIntervalDesktop}async saveSettings(){await this.saveData(this.settings)}getStencilLibrary(){return""===this.settings.library||"deprecated"===this.settings.library?this.settings.library2:JSON_parse(this.settings.library)}setStencilLibrary(e){this.settings.library="deprecated",this.settings.library2=e}triggerEmbedUpdates(e){const t=new Set;app.workspace.iterateAllLeaves((A=>{const i=app.isMobile?document:A.view.containerEl.ownerDocument;if(!i)return;if(t.has(i))return;t.add(i);const n=i.createEvent("Event");n.initEvent(RERENDER_EVENT,!0,!1),i.querySelectorAll("img[class^='excalidraw-svg']"+(e?`[fileSource='${e.replaceAll("'","\\'")}']`:"")).forEach((e=>e.dispatchEvent(n)))}))}openDrawing(e,t,A=!1,i,n=!1){let a;"md-properties"===t&&(t="new-tab"),"popout-window"===t&&(a=app.workspace.openPopoutLeaf()),"new-tab"===t&&(a=app.workspace.getLeaf("tab")),a||(a=this.app.workspace.getLeaf(!1),"empty"!==a.view.getViewType()&&"new-pane"===t&&(a=getNewOrAdjacentLeaf(this,a))),a.openFile(e,i&&""!==i?{active:A,eState:{subpath:i}}:{active:A}).then((()=>{if(n&&this.ea.onFileCreateHook)try{this.ea.onFileCreateHook({ea:this.ea,excalidrawFile:e,view:a.view})}catch(e){console.error(e)}}))}async getBlankDrawing(){const e=this.app.metadataCache.getFirstLinkpathDest(obsidian_module.normalizePath(this.settings.templateFilePath),"");if(e&&e instanceof obsidian_module.TFile&&("md"==e.extension&&!this.settings.compatibilityMode||"excalidraw"==e.extension&&this.settings.compatibilityMode)){const t=await this.app.vault.read(e);if(t)return this.settings.matchTheme?changeThemeOfExcalidrawMD(t):t}if(this.settings.compatibilityMode)return this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;const t=this.settings.matchTheme&&isObsidianThemeDark()?DARK_BLANK_DRAWING:BLANK_DRAWING;return`${FRONTMATTER}\n${getMarkdownDrawingSection(t,this.settings.compress)}`}async exportSceneToMD(e){var t,A;if(!e)return"";const i=null===(t=JSON_parse(e).elements)||void 0===t?void 0:t.filter((e=>"text"==e.type));let n,a="# Text Elements\n";for(const t of i)n=t.id,t.id.length>8&&(n=nanoid(),e=e.replaceAll(t.id,n)),a+=`${null!==(A=t.originalText)&&void 0!==A?A:t.text} ^${n}\n\n`;return a+getMarkdownDrawingSection(JSON.stringify(JSON_parse(e),null,"\t"),this.settings.compress)}async createDrawing(e,t,A){const i=obsidian_module.normalizePath(t||this.settings.folder);await checkAndCreateFolder(i);const n=getNewUniqueFilepath(this.app.vault,e,i),a=await this.app.vault.create(n,null!=A?A:await this.getBlankDrawing());let r=0;for(;a instanceof obsidian_module.TFile&&!this.isExcalidrawFile(a)&&r++<10;)await sleep$1(50);return r>10&&errorlog({file:a,error:"new drawing not recognized as an excalidraw file",fn:this.createDrawing}),a}async createAndOpenDrawing(e,t,A,i){const n=await this.createDrawing(e,A,i);return this.openDrawing(n,t,!0,void 0,!0),n.path}async setMarkdownView(e){const t=e.view.getState();await e.setViewState({type:"excalidraw",state:{file:null}}),await e.setViewState({type:"markdown",state:t,popstate:!0},{focus:!0})}async setExcalidrawView(e){await e.setViewState({type:"excalidraw",state:e.view.getState(),popstate:!0})}isExcalidrawFile(e){if(!e)return!1;if("excalidraw"===e.extension)return!0;const t=e?this.app.metadataCache.getFileCache(e):null;return!!(null==t?void 0:t.frontmatter)&&!!t.frontmatter[FRONTMATTER_KEY]}async exportLibrary(){this.app.isMobile?new Prompt(this.app,"Please provide a filename","my-library","filename, leave blank to cancel action").openAndGetValue((async e=>{if(!e)return;e=`${e}.excalidrawlib`;const t=obsidian_module.normalizePath(this.settings.folder);await checkAndCreateFolder(t);const A=getNewUniqueFilepath(this.app.vault,e,t);this.app.vault.create(A,this.settings.library),new obsidian_module.Notice(`Exported library to ${A}`,6e3)})):download("data:text/plain;charset=utf-8",encodeURIComponent(JSON.stringify(this.settings.library2,null,"\t")),"my-obsidian-library.excalidrawlib")}}module.exports=ExcalidrawPlugin; diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json index 5af6bc1..f19b116 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-excalidraw-plugin", "name": "Excalidraw", - "version": "1.8.26", + "version": "1.9.3", "minAppVersion": "1.1.6", "description": "An Obsidian plugin to edit and view Excalidraw drawings", "author": "Zsolt Viczian", diff --git a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css index 135a96e..bc30048 100644 --- a/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +++ b/notes/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css @@ -340,4 +340,8 @@ div.excalidraw-draginfo { background: var(--color-base-40); display: block; border-radius: 5px; +} + +.excalidraw [data-radix-popper-content-wrapper] { + position: absolute !important; } \ No newline at end of file diff --git a/notes/.obsidian/plugins/obsidian-filename-heading-sync/main.js b/notes/.obsidian/plugins/obsidian-filename-heading-sync/main.js index 1843986..7470b40 100644 --- a/notes/.obsidian/plugins/obsidian-filename-heading-sync/main.js +++ b/notes/.obsidian/plugins/obsidian-filename-heading-sync/main.js @@ -92,6 +92,9 @@ var DEFAULT_SETTINGS = { ignoreRegex: '', useFileOpenHook: true, useFileSaveHook: true, + newHeadingStyle: "Prefix" /* Prefix */, + replaceStyle: false, + underlineString: '===', }; var FilenameHeadingSyncPlugin = /** @class */ (function (_super) { __extends(FilenameHeadingSyncPlugin, _super); @@ -273,11 +276,11 @@ var FilenameHeadingSyncPlugin = /** @class */ (function (_super) { var heading = _this.findHeading(lines, start); if (heading !== null) { if (_this.sanitizeHeading(heading.text) !== sanitizedHeading) { - _this.replaceLineInFile(file, lines, heading.lineNumber, "# " + sanitizedHeading); + _this.replaceHeading(file, lines, heading.lineNumber, heading.style, sanitizedHeading); } } else - _this.insertLineInFile(file, lines, start, "# " + sanitizedHeading); + _this.insertHeading(file, lines, start, sanitizedHeading); }); }; /** @@ -313,8 +316,19 @@ var FilenameHeadingSyncPlugin = /** @class */ (function (_super) { return { lineNumber: i, text: fileLines[i].substring(2), + style: "Prefix" /* Prefix */, }; } + else { + if (fileLines[i + 1] !== undefined && + fileLines[i + 1].match(/^=+$/) !== null) { + return { + lineNumber: i, + text: fileLines[i], + style: "Underline" /* Underline */, + }; + } + } } return null; // no heading found }; @@ -330,6 +344,92 @@ var FilenameHeadingSyncPlugin = /** @class */ (function (_super) { text = text.replace(userIllegalSymbolsRegExp, ''); return text.trim(); }; + /** + * Insert the `heading` at `lineNumber` in `file`. + * + * @param {TFile} file the file to modify + * @param {string[]} fileLines array of the file's contents, line by line + * @param {number} lineNumber zero-based index of the line to replace + * @param {string} text the new text + */ + FilenameHeadingSyncPlugin.prototype.insertHeading = function (file, fileLines, lineNumber, heading) { + var newStyle = this.settings.newHeadingStyle; + switch (newStyle) { + case "Underline" /* Underline */: { + this.insertLineInFile(file, fileLines, lineNumber, "" + heading); + this.insertLineInFile(file, fileLines, lineNumber + 1, this.settings.underlineString); + break; + } + case "Prefix" /* Prefix */: { + this.insertLineInFile(file, fileLines, lineNumber, "# " + heading); + break; + } + } + }; + /** + * Modified `file` by replacing the heading at `lineNumber` with `newHeading`, + * updating the heading style according the user settings. + * + * @param {TFile} file the file to modify + * @param {string[]} fileLines array of the file's contents, line by line + * @param {number} lineNumber zero-based index of the line to replace + * @param {HeadingStyle} oldStyle the style of the original heading + * @param {string} text the new text + */ + FilenameHeadingSyncPlugin.prototype.replaceHeading = function (file, fileLines, lineNumber, oldStyle, newHeading) { + var newStyle = this.settings.newHeadingStyle; + var replaceStyle = this.settings.replaceStyle; + // If replacing the style + if (replaceStyle) { + switch (newStyle) { + // For underline style, replace heading line... + case "Underline" /* Underline */: { + this.replaceLineInFile(file, fileLines, lineNumber, "" + newHeading); + //..., then add or replace underline. + switch (oldStyle) { + case "Prefix" /* Prefix */: { + this.insertLineInFile(file, fileLines, lineNumber + 1, this.settings.underlineString); + break; + } + case "Underline" /* Underline */: { + // Update underline with setting. + this.replaceLineInFile(file, fileLines, lineNumber + 1, this.settings.underlineString); + break; + } + } + break; + } + // For prefix style, replace heading line, and possibly delete underline + case "Prefix" /* Prefix */: { + this.replaceLineInFile(file, fileLines, lineNumber, "# " + newHeading); + switch (oldStyle) { + case "Prefix" /* Prefix */: { + // nop + break; + } + case "Underline" /* Underline */: { + this.replaceLineInFile(file, fileLines, lineNumber + 1, ''); + break; + } + } + break; + } + } + } + else { + // If not replacing style, match + switch (oldStyle) { + case "Underline" /* Underline */: { + this.replaceLineInFile(file, fileLines, lineNumber, "" + newHeading); + break; + } + case "Prefix" /* Prefix */: { + this.replaceLineInFile(file, fileLines, lineNumber, "# " + newHeading); + break; + } + } + } + }; /** * Modifies the file by replacing a particular line with new text. * @@ -529,6 +629,71 @@ var FilenameHeadingSyncSettingTab = /** @class */ (function (_super) { }); }); }); }); + new obsidian.Setting(containerEl) + .setName('New Heading Style') + .setDesc('Which Markdown heading style to use when creating new headings: Prefix ("# Heading") or Underline ("Heading\\n===").') + .addDropdown(function (cb) { + return cb + .addOption("Prefix" /* Prefix */, 'Prefix') + .addOption("Underline" /* Underline */, 'Underline') + .setValue(_this.plugin.settings.newHeadingStyle) + .onChange(function (value) { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (value === 'Prefix') { + this.plugin.settings.newHeadingStyle = "Prefix" /* Prefix */; + } + if (value === 'Underline') { + this.plugin.settings.newHeadingStyle = "Underline" /* Underline */; + } + return [4 /*yield*/, this.plugin.saveSettings()]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + }); + new obsidian.Setting(containerEl) + .setName('Replace Heading Style') + .setDesc('Whether this plugin should replace existing heading styles when updating headings.') + .addToggle(function (toggle) { + return toggle + .setValue(_this.plugin.settings.replaceStyle) + .onChange(function (value) { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + this.plugin.settings.replaceStyle = value; + return [4 /*yield*/, this.plugin.saveSettings()]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + }); + new obsidian.Setting(containerEl) + .setName('Underline String') + .setDesc('The string to use when insert Underline-style headings; should be some number of "="s.') + .addText(function (text) { + return text + .setPlaceholder('===') + .setValue(_this.plugin.settings.underlineString) + .onChange(function (value) { return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + this.plugin.settings.underlineString = value; + return [4 /*yield*/, this.plugin.saveSettings()]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + }); containerEl.createEl('h2', { text: 'Ignored Files By Regex' }); containerEl.createEl('p', { text: 'All files matching the above RegEx will get listed here', @@ -566,4 +731,4 @@ var FilenameHeadingSyncSettingTab = /** @class */ (function (_super) { }(obsidian.PluginSettingTab)); module.exports = FilenameHeadingSyncPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsImV4Y2x1c2lvbnMudHMiLCJtYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfSk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG52YXIgX19zZXRNb2R1bGVEZWZhdWx0ID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgXCJkZWZhdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHYgfSk7XHJcbn0pIDogZnVuY3Rpb24obywgdikge1xyXG4gICAgb1tcImRlZmF1bHRcIl0gPSB2O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XHJcbiAgICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XHJcbn1cclxuIiwiaW1wb3J0IHsgQXBwLCBURmlsZSB9IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhjYWxpZHJhdyhhcHA6IEFwcCwgZjogVEZpbGUpIHtcbiAgaWYgKGYuZXh0ZW5zaW9uID09PSAnZXhjYWxpZHJhdycgfHwgLy4qXFwuZXhjYWxpZHJhd1xcLm1kJC9nLnRlc3QoZi5wYXRoKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IGZpbGVDYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmKTtcbiAgcmV0dXJuIChcbiAgICAhIWZpbGVDYWNoZT8uZnJvbnRtYXR0ZXIgJiYgISFmaWxlQ2FjaGUuZnJvbnRtYXR0ZXJbJ2V4Y2FsaWRyYXctcGx1Z2luJ11cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhjbHVkZWQoYXBwOiBBcHAsIGY6IFRGaWxlKSB7XG4gIGlmIChpc0V4Y2FsaWRyYXcoYXBwLCBmKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIiwiaW1wb3J0IHtcbiAgQXBwLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWIsXG4gIFNldHRpbmcsXG4gIFRBYnN0cmFjdEZpbGUsXG4gIFRGaWxlLFxuICBFZGl0b3IsXG4gIE1hcmtkb3duVmlldyxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNFeGNsdWRlZCB9IGZyb20gJy4vZXhjbHVzaW9ucyc7XG5cbmNvbnN0IHN0b2NrSWxsZWdhbFN5bWJvbHMgPSAvW1xcXFwvOnwjXltcXF1dL2c7XG5cbmludGVyZmFjZSBMaW5lUG9pbnRlciB7XG4gIGxpbmVOdW1iZXI6IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRmlsZW5hbWVIZWFkaW5nU3luY1BsdWdpblNldHRpbmdzIHtcbiAgdXNlcklsbGVnYWxTeW1ib2xzOiBzdHJpbmdbXTtcbiAgaWdub3JlUmVnZXg6IHN0cmluZztcbiAgaWdub3JlZEZpbGVzOiB7IFtrZXk6IHN0cmluZ106IG51bGwgfTtcbiAgdXNlRmlsZU9wZW5Ib29rOiBib29sZWFuO1xuICB1c2VGaWxlU2F2ZUhvb2s6IGJvb2xlYW47XG59XG5cbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW5TZXR0aW5ncyA9IHtcbiAgdXNlcklsbGVnYWxTeW1ib2xzOiBbXSxcbiAgaWdub3JlZEZpbGVzOiB7fSxcbiAgaWdub3JlUmVnZXg6ICcnLFxuICB1c2VGaWxlT3Blbkhvb2s6IHRydWUsXG4gIHVzZUZpbGVTYXZlSG9vazogdHJ1ZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBpc1JlbmFtZUluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2V0dGluZ3M6IEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW5TZXR0aW5ncztcblxuICBhc3luYyBvbmxvYWQoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcblxuICAgIHRoaXMucmVnaXN0ZXJFdmVudChcbiAgICAgIHRoaXMuYXBwLnZhdWx0Lm9uKCdyZW5hbWUnLCAoZmlsZSwgb2xkUGF0aCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy51c2VGaWxlU2F2ZUhvb2spIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVTeW5jRmlsZW5hbWVUb0hlYWRpbmcoZmlsZSwgb2xkUGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgdGhpcy5hcHAudmF1bHQub24oJ21vZGlmeScsIChmaWxlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnVzZUZpbGVTYXZlSG9vaykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVN5bmNIZWFkaW5nVG9GaWxlKGZpbGUpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgdGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlLW9wZW4nLCAoZmlsZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy51c2VGaWxlT3Blbkhvb2sgJiYgZmlsZSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVN5bmNGaWxlbmFtZVRvSGVhZGluZyhmaWxlLCBmaWxlLnBhdGgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBGaWxlbmFtZUhlYWRpbmdTeW5jU2V0dGluZ1RhYih0aGlzLmFwcCwgdGhpcykpO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAncGFnZS1oZWFkaW5nLXN5bmMtaWdub3JlLWZpbGUnLFxuICAgICAgbmFtZTogJ0lnbm9yZSBjdXJyZW50IGZpbGUnLFxuICAgICAgY2hlY2tDYWxsYmFjazogKGNoZWNraW5nOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGxldCBsZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmFjdGl2ZUxlYWY7XG4gICAgICAgIGlmIChsZWFmKSB7XG4gICAgICAgICAgaWYgKCFjaGVja2luZykge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5pZ25vcmVkRmlsZXNbXG4gICAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKCkucGF0aFxuICAgICAgICAgICAgXSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiAnc3luYy1maWxlbmFtZS10by1oZWFkaW5nJyxcbiAgICAgIG5hbWU6ICdTeW5jIEZpbGVuYW1lIHRvIEhlYWRpbmcnLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IChlZGl0b3I6IEVkaXRvciwgdmlldzogTWFya2Rvd25WaWV3KSA9PlxuICAgICAgICB0aGlzLmZvcmNlU3luY0ZpbGVuYW1lVG9IZWFkaW5nKHZpZXcuZmlsZSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdzeW5jLWhlYWRpbmctdG8tZmlsZW5hbWUnLFxuICAgICAgbmFtZTogJ1N5bmMgSGVhZGluZyB0byBGaWxlbmFtZScsXG4gICAgICBlZGl0b3JDYWxsYmFjazogKGVkaXRvcjogRWRpdG9yLCB2aWV3OiBNYXJrZG93blZpZXcpID0+XG4gICAgICAgIHRoaXMuZm9yY2VTeW5jSGVhZGluZ1RvRmlsZW5hbWUodmlldy5maWxlKSxcbiAgICB9KTtcbiAgfVxuXG4gIGZpbGVJc0lnbm9yZWQoYWN0aXZlRmlsZTogVEZpbGUsIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNoZWNrIGV4Y2x1c2lvbnNcbiAgICBpZiAoaXNFeGNsdWRlZCh0aGlzLmFwcCwgYWN0aXZlRmlsZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIG1hbnVhbCBpZ25vcmVcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5pZ25vcmVkRmlsZXNbcGF0aF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgcmVnZXhcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuaWdub3JlUmVnZXggPT09ICcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCh0aGlzLnNldHRpbmdzLmlnbm9yZVJlZ2V4KTtcbiAgICAgIHJldHVybiByZWcuZXhlYyhwYXRoKSAhPT0gbnVsbDtcbiAgICB9IGNhdGNoIHt9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVuYW1lcyB0aGUgZmlsZSB3aXRoIHRoZSBmaXJzdCBoZWFkaW5nIGZvdW5kXG4gICAqXG4gICAqIEBwYXJhbSAgICAgIHtUQWJzdHJhY3RGaWxlfSAgZmlsZSAgICBUaGUgZmlsZVxuICAgKi9cbiAgaGFuZGxlU3luY0hlYWRpbmdUb0ZpbGUoZmlsZTogVEFic3RyYWN0RmlsZSkge1xuICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmlsZS5leHRlbnNpb24gIT09ICdtZCcpIHtcbiAgICAgIC8vIGp1c3QgYmFpbFxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGlmIGN1cnJlbnRseSBvcGVuZWQgZmlsZSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIG9uZSB0aGF0IGZpcmVkIHRoZSBldmVudCwgc2tpcFxuICAgIC8vIHRoaXMgaXMgdG8gbWFrZSBzdXJlIG90aGVyIGV2ZW50cyBkb24ndCB0cmlnZ2VyIHRoaXMgcGx1Z2luXG4gICAgaWYgKHRoaXMuYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKCkgIT09IGZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpZiBpZ25vcmVkLCBqdXN0IGJhaWxcbiAgICBpZiAodGhpcy5maWxlSXNJZ25vcmVkKGZpbGUsIGZpbGUucGF0aCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZvcmNlU3luY0hlYWRpbmdUb0ZpbGVuYW1lKGZpbGUpO1xuICB9XG5cbiAgZm9yY2VTeW5jSGVhZGluZ1RvRmlsZW5hbWUoZmlsZTogVEZpbGUpIHtcbiAgICB0aGlzLmFwcC52YXVsdC5yZWFkKGZpbGUpLnRoZW4oYXN5bmMgKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGxpbmVzID0gZGF0YS5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBzdGFydCA9IHRoaXMuZmluZE5vdGVTdGFydChsaW5lcyk7XG4gICAgICBjb25zdCBoZWFkaW5nID0gdGhpcy5maW5kSGVhZGluZyhsaW5lcywgc3RhcnQpO1xuXG4gICAgICBpZiAoaGVhZGluZyA9PT0gbnVsbCkgcmV0dXJuOyAvLyBubyBoZWFkaW5nIGZvdW5kLCBub3RoaW5nIHRvIGRvIGhlcmVcblxuICAgICAgY29uc3Qgc2FuaXRpemVkSGVhZGluZyA9IHRoaXMuc2FuaXRpemVIZWFkaW5nKGhlYWRpbmcudGV4dCk7XG4gICAgICBpZiAoXG4gICAgICAgIHNhbml0aXplZEhlYWRpbmcubGVuZ3RoID4gMCAmJlxuICAgICAgICB0aGlzLnNhbml0aXplSGVhZGluZyhmaWxlLmJhc2VuYW1lKSAhPT0gc2FuaXRpemVkSGVhZGluZ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG5ld1BhdGggPSBgJHtmaWxlLnBhcmVudC5wYXRofS8ke3Nhbml0aXplZEhlYWRpbmd9Lm1kYDtcbiAgICAgICAgdGhpcy5pc1JlbmFtZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICBhd2FpdCB0aGlzLmFwcC5maWxlTWFuYWdlci5yZW5hbWVGaWxlKGZpbGUsIG5ld1BhdGgpO1xuICAgICAgICB0aGlzLmlzUmVuYW1lSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNzIHRoZSBjdXJyZW50IGZpbGVuYW1lIHRvIHRoZSBmaXJzdCBoZWFkaW5nXG4gICAqIEZpbmRzIHRoZSBmaXJzdCBoZWFkaW5nIG9mIHRoZSBmaWxlLCB0aGVuIHJlcGxhY2VzIGl0IHdpdGggdGhlIGZpbGVuYW1lXG4gICAqXG4gICAqIEBwYXJhbSAgICAgIHtUQWJzdHJhY3RGaWxlfSAgZmlsZSAgICAgVGhlIGZpbGUgdGhhdCBmaXJlZCB0aGUgZXZlbnRcbiAgICogQHBhcmFtICAgICAge3N0cmluZ30gICAgICAgICBvbGRQYXRoICBUaGUgb2xkIHBhdGhcbiAgICovXG4gIGhhbmRsZVN5bmNGaWxlbmFtZVRvSGVhZGluZyhmaWxlOiBUQWJzdHJhY3RGaWxlLCBvbGRQYXRoOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc1JlbmFtZUluUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgVEZpbGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbGUuZXh0ZW5zaW9uICE9PSAnbWQnKSB7XG4gICAgICAvLyBqdXN0IGJhaWxcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpZiBvbGRwYXRoIGlzIGlnbm9yZWQsIGhvb2sgaW4gYW5kIHVwZGF0ZSB0aGUgbmV3IGZpbGVwYXRoIHRvIGJlIGlnbm9yZWQgaW5zdGVhZFxuICAgIGlmICh0aGlzLmZpbGVJc0lnbm9yZWQoZmlsZSwgb2xkUGF0aC50cmltKCkpKSB7XG4gICAgICAvLyBpZiBmaWxlbmFtZSBkaWRuJ3QgY2hhbmdlLCBqdXN0IGJhaWwsIG5vdGhpbmcgdG8gZG8gaGVyZVxuICAgICAgaWYgKGZpbGUucGF0aCA9PT0gb2xkUGF0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIElmIGZpbGVwYXRoIGNoYW5nZWQgYW5kIHRoZSBmaWxlIHdhcyBpbiB0aGUgaWdub3JlIGxpc3QgYmVmb3JlLFxuICAgICAgLy8gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3QgYW5kIGFkZCB0aGUgbmV3IG9uZSBpbnN0ZWFkXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5pZ25vcmVkRmlsZXNbb2xkUGF0aF0pIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc2V0dGluZ3MuaWdub3JlZEZpbGVzW29sZFBhdGhdO1xuICAgICAgICB0aGlzLnNldHRpbmdzLmlnbm9yZWRGaWxlc1tmaWxlLnBhdGhdID0gbnVsbDtcbiAgICAgICAgdGhpcy5zYXZlU2V0dGluZ3MoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZvcmNlU3luY0ZpbGVuYW1lVG9IZWFkaW5nKGZpbGUpO1xuICB9XG5cbiAgZm9yY2VTeW5jRmlsZW5hbWVUb0hlYWRpbmcoZmlsZTogVEZpbGUpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWRIZWFkaW5nID0gdGhpcy5zYW5pdGl6ZUhlYWRpbmcoZmlsZS5iYXNlbmFtZSk7XG4gICAgdGhpcy5hcHAudmF1bHQucmVhZChmaWxlKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBsaW5lcyA9IGRhdGEuc3BsaXQoJ1xcbicpO1xuICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLmZpbmROb3RlU3RhcnQobGluZXMpO1xuICAgICAgY29uc3QgaGVhZGluZyA9IHRoaXMuZmluZEhlYWRpbmcobGluZXMsIHN0YXJ0KTtcblxuICAgICAgaWYgKGhlYWRpbmcgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuc2FuaXRpemVIZWFkaW5nKGhlYWRpbmcudGV4dCkgIT09IHNhbml0aXplZEhlYWRpbmcpIHtcbiAgICAgICAgICB0aGlzLnJlcGxhY2VMaW5lSW5GaWxlKFxuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGxpbmVzLFxuICAgICAgICAgICAgaGVhZGluZy5saW5lTnVtYmVyLFxuICAgICAgICAgICAgYCMgJHtzYW5pdGl6ZWRIZWFkaW5nfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHRoaXMuaW5zZXJ0TGluZUluRmlsZShmaWxlLCBsaW5lcywgc3RhcnQsIGAjICR7c2FuaXRpemVkSGVhZGluZ31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgc3RhcnQgb2YgdGhlIG5vdGUgZmlsZSwgZXhjbHVkaW5nIGZyb250bWF0dGVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGZpbGVMaW5lcyBhcnJheSBvZiB0aGUgZmlsZSdzIGNvbnRlbnRzLCBsaW5lIGJ5IGxpbmVcbiAgICogQHJldHVybnMge251bWJlcn0gemVyby1iYXNlZCBpbmRleCBvZiB0aGUgc3RhcnRpbmcgbGluZSBvZiB0aGUgbm90ZVxuICAgKi9cbiAgZmluZE5vdGVTdGFydChmaWxlTGluZXM6IHN0cmluZ1tdKSB7XG4gICAgLy8gY2hlY2sgZm9yIGZyb250bWF0dGVyIGJ5IGNoZWNraW5nIGlmIGZpcnN0IGxpbmUgaXMgYSBkaXZpZGVyICgnLS0tJylcbiAgICBpZiAoZmlsZUxpbmVzWzBdID09PSAnLS0tJykge1xuICAgICAgLy8gZmluZCBlbmQgb2YgZnJvbnRtYXR0ZXJcbiAgICAgIC8vIGlmIG5vIGVuZCBpcyBmb3VuZCwgdGhlbiBpdCBpc24ndCByZWFsbHkgZnJvbnRtYXR0ZXIgYW5kIGZ1bmN0aW9uIHdpbGwgZW5kIHVwIHJldHVybmluZyAwXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpbGVMaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoZmlsZUxpbmVzW2ldID09PSAnLS0tJykge1xuICAgICAgICAgIC8vIGVuZCBvZiBmcm9udG1hdHRlciBmb3VuZCwgbmV4dCBsaW5lIGlzIHN0YXJ0IG9mIG5vdGVcbiAgICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGZpcnN0IGhlYWRpbmcgb2YgdGhlIG5vdGUgZmlsZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmaWxlTGluZXMgYXJyYXkgb2YgdGhlIGZpbGUncyBjb250ZW50cywgbGluZSBieSBsaW5lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydExpbmUgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgc3RhcnRpbmcgbGluZSBvZiB0aGUgbm90ZVxuICAgKiBAcmV0dXJucyB7TGluZVBvaW50ZXIgfCBudWxsfSBMaW5lUG9pbnRlciB0byBoZWFkaW5nIG9yIG51bGwgaWYgbm8gaGVhZGluZyBmb3VuZFxuICAgKi9cbiAgZmluZEhlYWRpbmcoZmlsZUxpbmVzOiBzdHJpbmdbXSwgc3RhcnRMaW5lOiBudW1iZXIpOiBMaW5lUG9pbnRlciB8IG51bGwge1xuICAgIGZvciAobGV0IGkgPSBzdGFydExpbmU7IGkgPCBmaWxlTGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChmaWxlTGluZXNbaV0uc3RhcnRzV2l0aCgnIyAnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpbmVOdW1iZXI6IGksXG4gICAgICAgICAgdGV4dDogZmlsZUxpbmVzW2ldLnN1YnN0cmluZygyKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7IC8vIG5vIGhlYWRpbmcgZm91bmRcbiAgfVxuXG4gIHJlZ0V4cEVzY2FwZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyhzdHIpLnJlcGxhY2UoL1tcXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCAnXFxcXCQmJyk7XG4gIH1cblxuICBzYW5pdGl6ZUhlYWRpbmcodGV4dDogc3RyaW5nKSB7XG4gICAgLy8gc3RvY2tJbGxlZ2FsU3ltYm9scyBpcyBhIHJlZ0V4cCBvYmplY3QsIGJ1dCB1c2VySWxsZWdhbFN5bWJvbHMgaXMgYSBsaXN0IG9mIHN0cmluZ3MgYW5kIHRoZXJlZm9yZSB0aGV5IGFyZSBoYW5kbGVkIHNlcGFyYXRlbHkuXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZShzdG9ja0lsbGVnYWxTeW1ib2xzLCAnJyk7XG5cbiAgICBjb25zdCB1c2VySWxsZWdhbFN5bWJvbHNFc2NhcGVkID0gdGhpcy5zZXR0aW5ncy51c2VySWxsZWdhbFN5bWJvbHMubWFwKFxuICAgICAgKHN0cikgPT4gdGhpcy5yZWdFeHBFc2NhcGUoc3RyKSxcbiAgICApO1xuICAgIGNvbnN0IHVzZXJJbGxlZ2FsU3ltYm9sc1JlZ0V4cCA9IG5ldyBSZWdFeHAoXG4gICAgICB1c2VySWxsZWdhbFN5bWJvbHNFc2NhcGVkLmpvaW4oJ3wnKSxcbiAgICAgICdnJyxcbiAgICApO1xuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UodXNlcklsbGVnYWxTeW1ib2xzUmVnRXhwLCAnJyk7XG4gICAgcmV0dXJuIHRleHQudHJpbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSBmaWxlIGJ5IHJlcGxhY2luZyBhIHBhcnRpY3VsYXIgbGluZSB3aXRoIG5ldyB0ZXh0LlxuICAgKlxuICAgKiBUaGUgZnVuY3Rpb24gd2lsbCBhZGQgYSBuZXdsaW5lIGNoYXJhY3RlciBhdCB0aGUgZW5kIG9mIHRoZSByZXBsYWNlZCBsaW5lLlxuICAgKlxuICAgKiBJZiB0aGUgYGxpbmVOdW1iZXJgIHBhcmFtZXRlciBpcyBoaWdoZXIgdGhhbiB0aGUgaW5kZXggb2YgdGhlIGxhc3QgbGluZSBvZiB0aGUgZmlsZVxuICAgKiB0aGUgZnVuY3Rpb24gd2lsbCBhZGQgYSBuZXdsaW5lIGNoYXJhY3RlciB0byB0aGUgY3VycmVudCBsYXN0IGxpbmUgYW5kIGFwcGVuZCBhIG5ld1xuICAgKiBsaW5lIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2l0aCB0aGUgbmV3IHRleHQgKGVzc2VudGlhbGx5IGEgbmV3IGxhc3QgbGluZSkuXG4gICAqXG4gICAqIEBwYXJhbSB7VEZpbGV9IGZpbGUgdGhlIGZpbGUgdG8gbW9kaWZ5XG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGZpbGVMaW5lcyBhcnJheSBvZiB0aGUgZmlsZSdzIGNvbnRlbnRzLCBsaW5lIGJ5IGxpbmVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgbGluZSB0byByZXBsYWNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IHRoZSBuZXcgdGV4dFxuICAgKi9cbiAgcmVwbGFjZUxpbmVJbkZpbGUoXG4gICAgZmlsZTogVEZpbGUsXG4gICAgZmlsZUxpbmVzOiBzdHJpbmdbXSxcbiAgICBsaW5lTnVtYmVyOiBudW1iZXIsXG4gICAgdGV4dDogc3RyaW5nLFxuICApIHtcbiAgICBpZiAobGluZU51bWJlciA+PSBmaWxlTGluZXMubGVuZ3RoKSB7XG4gICAgICBmaWxlTGluZXMucHVzaCh0ZXh0ICsgJ1xcbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWxlTGluZXNbbGluZU51bWJlcl0gPSB0ZXh0O1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gZmlsZUxpbmVzLmpvaW4oJ1xcbicpO1xuICAgIHRoaXMuYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZmllcyB0aGUgZmlsZSBieSBpbnNlcnRpbmcgYSBsaW5lIHdpdGggc3BlY2lmaWVkIHRleHQuXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiB3aWxsIGFkZCBhIG5ld2xpbmUgY2hhcmFjdGVyIGF0IHRoZSBlbmQgb2YgdGhlIGluc2VydGVkIGxpbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7VEZpbGV9IGZpbGUgdGhlIGZpbGUgdG8gbW9kaWZ5XG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGZpbGVMaW5lcyBhcnJheSBvZiB0aGUgZmlsZSdzIGNvbnRlbnRzLCBsaW5lIGJ5IGxpbmVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIgemVyby1iYXNlZCBpbmRleCBvZiB3aGVyZSB0aGUgbGluZSBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgdGhlIHRleHQgdGhhdCB0aGUgbGluZSBzaGFsbCBjb250YWluXG4gICAqL1xuICBpbnNlcnRMaW5lSW5GaWxlKFxuICAgIGZpbGU6IFRGaWxlLFxuICAgIGZpbGVMaW5lczogc3RyaW5nW10sXG4gICAgbGluZU51bWJlcjogbnVtYmVyLFxuICAgIHRleHQ6IHN0cmluZyxcbiAgKSB7XG4gICAgaWYgKGxpbmVOdW1iZXIgPj0gZmlsZUxpbmVzLmxlbmd0aCkge1xuICAgICAgZmlsZUxpbmVzLnB1c2godGV4dCArICdcXG4nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZUxpbmVzLnNwbGljZShsaW5lTnVtYmVyLCAwLCB0ZXh0KTtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IGZpbGVMaW5lcy5qb2luKCdcXG4nKTtcbiAgICB0aGlzLmFwcC52YXVsdC5tb2RpZnkoZmlsZSwgZGF0YSk7XG4gIH1cblxuICBhc3luYyBsb2FkU2V0dGluZ3MoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XG4gIH1cblxuICBhc3luYyBzYXZlU2V0dGluZ3MoKSB7XG4gICAgYXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcbiAgfVxufVxuXG5jbGFzcyBGaWxlbmFtZUhlYWRpbmdTeW5jU2V0dGluZ1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBwbHVnaW46IEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW47XG4gIGFwcDogQXBwO1xuXG4gIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW4pIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gICAgdGhpcy5hcHAgPSBhcHA7XG4gIH1cblxuICBkaXNwbGF5KCk6IHZvaWQge1xuICAgIGxldCB7IGNvbnRhaW5lckVsIH0gPSB0aGlzO1xuICAgIGxldCByZWdleElnbm9yZWRGaWxlc0RpdjogSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBjb25zdCByZW5kZXJSZWdleElnbm9yZWRGaWxlcyA9IChkaXY6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAvLyBlbXB0eSBleGlzdGluZyBkaXZcbiAgICAgIGRpdi5pbm5lckhUTUwgPSAnJztcblxuICAgICAgaWYgKHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZVJlZ2V4ID09PSAnJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gdGhpcy5hcHAudmF1bHQuZ2V0RmlsZXMoKTtcbiAgICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCh0aGlzLnBsdWdpbi5zZXR0aW5ncy5pZ25vcmVSZWdleCk7XG5cbiAgICAgICAgZmlsZXNcbiAgICAgICAgICAuZmlsdGVyKChmaWxlKSA9PiByZWcuZXhlYyhmaWxlLnBhdGgpICE9PSBudWxsKVxuICAgICAgICAgIC5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgICAgbmV3IFNldHRpbmcoZGl2KS5zZXREZXNjKGVsLnBhdGgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7IHRleHQ6ICdGaWxlbmFtZSBIZWFkaW5nIFN5bmMnIH0pO1xuICAgIGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdwJywge1xuICAgICAgdGV4dDpcbiAgICAgICAgJ1RoaXMgcGx1Z2luIHdpbGwgb3ZlcndyaXRlIHRoZSBmaXJzdCBoZWFkaW5nIGZvdW5kIGluIGEgZmlsZSB3aXRoIHRoZSBmaWxlbmFtZS4nLFxuICAgIH0pO1xuICAgIGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdwJywge1xuICAgICAgdGV4dDpcbiAgICAgICAgJ0lmIG5vIGhlYWRlciBpcyBmb3VuZCwgd2lsbCBpbnNlcnQgYSBuZXcgb25lIGF0IHRoZSBmaXJzdCBsaW5lIChhZnRlciBmcm9udG1hdHRlcikuJyxcbiAgICB9KTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ0N1c3RvbSBJbGxlZ2FsIENoYXJhY3RlcnMvU3RyaW5ncycpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1R5cGUgY2hhcmFjdGVycy9zdHJpbmdzIHNlcGFyYXRlZCBieSBhIGNvbW1hLiBUaGlzIGlucHV0IGlzIHNwYWNlIHNlbnNpdGl2ZS4nLFxuICAgICAgKVxuICAgICAgLmFkZFRleHQoKHRleHQpID0+XG4gICAgICAgIHRleHRcbiAgICAgICAgICAuc2V0UGxhY2Vob2xkZXIoJ1tdLCMsLi4uJylcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MudXNlcklsbGVnYWxTeW1ib2xzLmpvaW4oKSlcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy51c2VySWxsZWdhbFN5bWJvbHMgPSB2YWx1ZS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnSWdub3JlIFJlZ2V4IFJ1bGUnKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgICdJZ25vcmUgcnVsZSBpbiBSZWdFeCBmb3JtYXQuIEFsbCBmaWxlcyBsaXN0ZWQgYmVsb3cgd2lsbCBnZXQgaWdub3JlZCBieSB0aGlzIHBsdWdpbi4nLFxuICAgICAgKVxuICAgICAgLmFkZFRleHQoKHRleHQpID0+XG4gICAgICAgIHRleHRcbiAgICAgICAgICAuc2V0UGxhY2Vob2xkZXIoJ015Rm9sZGVyLy4qJylcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuaWdub3JlUmVnZXgpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgbmV3IFJlZ0V4cCh2YWx1ZSk7XG4gICAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZVJlZ2V4ID0gdmFsdWU7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MuaWdub3JlUmVnZXggPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgICByZW5kZXJSZWdleElnbm9yZWRGaWxlcyhyZWdleElnbm9yZWRGaWxlc0Rpdik7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnVXNlIEZpbGUgT3BlbiBIb29rJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnV2hldGhlciB0aGlzIHBsdWdpbiBzaG91bGQgdHJpZ2dlciB3aGVuIGEgZmlsZSBpcyBvcGVuZWQsIGFuZCBub3QganVzdCBvbiBzYXZlLiBEaXNhYmxlIHRoaXMgd2hlbiB5b3Ugbm90aWNlIGNvbmZsaWN0cyB3aXRoIG90aGVyIHBsdWdpbnMgdGhhdCBhbHNvIGFjdCBvbiBmaWxlIG9wZW4uJyxcbiAgICAgIClcbiAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT5cbiAgICAgICAgdG9nZ2xlXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnVzZUZpbGVPcGVuSG9vaylcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy51c2VGaWxlT3Blbkhvb2sgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ1VzZSBGaWxlIFNhdmUgSG9vaycpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1doZXRoZXIgdGhpcyBwbHVnaW4gc2hvdWxkIHRyaWdnZXIgd2hlbiBhIGZpbGUgaXMgc2F2ZWQuIERpc2FibGUgdGhpcyB3aGVuIHlvdSB3YW50IHRvIHRyaWdnZXIgc3luYyBvbmx5IG1hbnVhbGx5LicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy51c2VGaWxlU2F2ZUhvb2spXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MudXNlRmlsZVNhdmVIb29rID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7IHRleHQ6ICdJZ25vcmVkIEZpbGVzIEJ5IFJlZ2V4JyB9KTtcbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgncCcsIHtcbiAgICAgIHRleHQ6ICdBbGwgZmlsZXMgbWF0Y2hpbmcgdGhlIGFib3ZlIFJlZ0V4IHdpbGwgZ2V0IGxpc3RlZCBoZXJlJyxcbiAgICB9KTtcblxuICAgIHJlZ2V4SWdub3JlZEZpbGVzRGl2ID0gY29udGFpbmVyRWwuY3JlYXRlRGl2KCd0ZXN0Jyk7XG4gICAgcmVuZGVyUmVnZXhJZ25vcmVkRmlsZXMocmVnZXhJZ25vcmVkRmlsZXNEaXYpO1xuXG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoJ2gyJywgeyB0ZXh0OiAnTWFudWFsbHkgSWdub3JlZCBGaWxlcycgfSk7XG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoJ3AnLCB7XG4gICAgICB0ZXh0OlxuICAgICAgICAnWW91IGNhbiBpZ25vcmUgZmlsZXMgZnJvbSB0aGlzIHBsdWdpbiBieSB1c2luZyB0aGUgXCJpZ25vcmUgdGhpcyBmaWxlXCIgY29tbWFuZCcsXG4gICAgfSk7XG5cbiAgICAvLyBnbyBvdmVyIGFsbCBpZ25vcmVkIGZpbGVzIGFuZCBhZGQgdGhlbVxuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLnBsdWdpbi5zZXR0aW5ncy5pZ25vcmVkRmlsZXMpIHtcbiAgICAgIGNvbnN0IGlnbm9yZWRGaWxlc1NldHRpbmdzT2JqID0gbmV3IFNldHRpbmcoY29udGFpbmVyRWwpLnNldERlc2Moa2V5KTtcblxuICAgICAgaWdub3JlZEZpbGVzU2V0dGluZ3NPYmouYWRkQnV0dG9uKChidXR0b24pID0+IHtcbiAgICAgICAgYnV0dG9uLnNldEJ1dHRvblRleHQoJ0RlbGV0ZScpLm9uQ2xpY2soYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLnBsdWdpbi5zZXR0aW5ncy5pZ25vcmVkRmlsZXNba2V5XTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXkoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJURmlsZSIsIlBsdWdpbiIsIlNldHRpbmciLCJQbHVnaW5TZXR0aW5nVGFiIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGFBQWEsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDbkMsSUFBSSxhQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWM7QUFDekMsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsWUFBWSxLQUFLLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3BGLFFBQVEsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzFHLElBQUksT0FBTyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUNGO0FBQ08sU0FBUyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNoQyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssVUFBVSxJQUFJLENBQUMsS0FBSyxJQUFJO0FBQzdDLFFBQVEsTUFBTSxJQUFJLFNBQVMsQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsK0JBQStCLENBQUMsQ0FBQztBQUNsRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEIsSUFBSSxTQUFTLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDM0MsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pGLENBQUM7QUF1Q0Q7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ3RHLFFBQVEsU0FBUyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFO0FBQ3RILFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLEtBQUssQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNEO0FBQ08sU0FBUyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDckgsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxNQUFNLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3SixJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sVUFBVSxDQUFDLEVBQUUsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RFLElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxFQUFFO0FBQ3RCLFFBQVEsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3RFLFFBQVEsT0FBTyxDQUFDLEVBQUUsSUFBSTtBQUN0QixZQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pLLFlBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FB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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsImV4Y2x1c2lvbnMudHMiLCJtYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfSk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG52YXIgX19zZXRNb2R1bGVEZWZhdWx0ID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgXCJkZWZhdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHYgfSk7XHJcbn0pIDogZnVuY3Rpb24obywgdikge1xyXG4gICAgb1tcImRlZmF1bHRcIl0gPSB2O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XHJcbiAgICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XHJcbn1cclxuIiwiaW1wb3J0IHsgQXBwLCBURmlsZSB9IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhjYWxpZHJhdyhhcHA6IEFwcCwgZjogVEZpbGUpIHtcbiAgaWYgKGYuZXh0ZW5zaW9uID09PSAnZXhjYWxpZHJhdycgfHwgLy4qXFwuZXhjYWxpZHJhd1xcLm1kJC9nLnRlc3QoZi5wYXRoKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IGZpbGVDYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmKTtcbiAgcmV0dXJuIChcbiAgICAhIWZpbGVDYWNoZT8uZnJvbnRtYXR0ZXIgJiYgISFmaWxlQ2FjaGUuZnJvbnRtYXR0ZXJbJ2V4Y2FsaWRyYXctcGx1Z2luJ11cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXhjbHVkZWQoYXBwOiBBcHAsIGY6IFRGaWxlKSB7XG4gIGlmIChpc0V4Y2FsaWRyYXcoYXBwLCBmKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIiwiaW1wb3J0IHtcbiAgQXBwLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWIsXG4gIFNldHRpbmcsXG4gIFRBYnN0cmFjdEZpbGUsXG4gIFRGaWxlLFxuICBFZGl0b3IsXG4gIE1hcmtkb3duVmlldyxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNFeGNsdWRlZCB9IGZyb20gJy4vZXhjbHVzaW9ucyc7XG5cbmNvbnN0IHN0b2NrSWxsZWdhbFN5bWJvbHMgPSAvW1xcXFwvOnwjXltcXF1dL2c7XG5cbi8vIE11c3QgYmUgU3RyaW5ncyB1bmxlc3Mgc2V0dGluZ3MgZGlhbG9nIGlzIHVwZGF0ZWQuXG5jb25zdCBlbnVtIEhlYWRpbmdTdHlsZSB7XG4gIFByZWZpeCA9ICdQcmVmaXgnLFxuICBVbmRlcmxpbmUgPSAnVW5kZXJsaW5lJyxcbn1cblxuaW50ZXJmYWNlIExpbmVQb2ludGVyIHtcbiAgbGluZU51bWJlcjogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHN0eWxlOiBIZWFkaW5nU3R5bGU7XG59XG5cbmludGVyZmFjZSBGaWxlbmFtZUhlYWRpbmdTeW5jUGx1Z2luU2V0dGluZ3Mge1xuICB1c2VySWxsZWdhbFN5bWJvbHM6IHN0cmluZ1tdO1xuICBpZ25vcmVSZWdleDogc3RyaW5nO1xuICBpZ25vcmVkRmlsZXM6IHsgW2tleTogc3RyaW5nXTogbnVsbCB9O1xuICB1c2VGaWxlT3Blbkhvb2s6IGJvb2xlYW47XG4gIHVzZUZpbGVTYXZlSG9vazogYm9vbGVhbjtcbiAgbmV3SGVhZGluZ1N0eWxlOiBIZWFkaW5nU3R5bGU7XG4gIHJlcGxhY2VTdHlsZTogYm9vbGVhbjtcbiAgdW5kZXJsaW5lU3RyaW5nOiBzdHJpbmc7XG59XG5cbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IEZpbGVuYW1lSGVhZGluZ1N5bmNQbHVnaW5TZXR0aW5ncyA9IHtcbiAgdXNlcklsbGVnYWxTeW1ib2xzOiBbXSxcbiAgaWdub3JlZEZpbGVzOiB7fSxcbiAgaWdub3JlUmVnZXg6ICcnLFxuICB1c2VGaWxlT3Blbkhvb2s6IHRydWUsXG4gIHVzZUZpbGVTYXZlSG9vazogdHJ1ZSxcbiAgbmV3SGVhZGluZ1N0eWxlOiBIZWFkaW5nU3R5bGUuUHJlZml4LFxuICByZXBsYWNlU3R5bGU6IGZhbHNlLFxuICB1bmRlcmxpbmVTdHJpbmc6ICc9PT0nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZW5hbWVIZWFkaW5nU3luY1BsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG4gIGlzUmVuYW1lSW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xuICBzZXR0aW5nczogRmlsZW5hbWVIZWFkaW5nU3luY1BsdWdpblNldHRpbmdzO1xuXG4gIGFzeW5jIG9ubG9hZCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpO1xuXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgdGhpcy5hcHAudmF1bHQub24oJ3JlbmFtZScsIChmaWxlLCBvbGRQYXRoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnVzZUZpbGVTYXZlSG9vaykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVN5bmNGaWxlbmFtZVRvSGVhZGluZyhmaWxlLCBvbGRQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICB0aGlzLmFwcC52YXVsdC5vbignbW9kaWZ5JywgKGZpbGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MudXNlRmlsZVNhdmVIb29rKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlU3luY0hlYWRpbmdUb0ZpbGUoZmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2ZpbGUtb3BlbicsIChmaWxlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnVzZUZpbGVPcGVuSG9vayAmJiBmaWxlICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlU3luY0ZpbGVuYW1lVG9IZWFkaW5nKGZpbGUsIGZpbGUucGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZFNldHRpbmdUYWIobmV3IEZpbGVuYW1lSGVhZGluZ1N5bmNTZXR0aW5nVGFiKHRoaXMuYXBwLCB0aGlzKSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdwYWdlLWhlYWRpbmctc3luYy1pZ25vcmUtZmlsZScsXG4gICAgICBuYW1lOiAnSWdub3JlIGN1cnJlbnQgZmlsZScsXG4gICAgICBjaGVja0NhbGxiYWNrOiAoY2hlY2tpbmc6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgbGV0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuYWN0aXZlTGVhZjtcbiAgICAgICAgaWYgKGxlYWYpIHtcbiAgICAgICAgICBpZiAoIWNoZWNraW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLmlnbm9yZWRGaWxlc1tcbiAgICAgICAgICAgICAgdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKS5wYXRoXG4gICAgICAgICAgICBdID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6ICdzeW5jLWZpbGVuYW1lLXRvLWhlYWRpbmcnLFxuICAgICAgbmFtZTogJ1N5bmMgRmlsZW5hbWUgdG8gSGVhZGluZycsXG4gICAgICBlZGl0b3JDYWxsYmFjazogKGVkaXRvcjogRWRpdG9yLCB2aWV3OiBNYXJrZG93blZpZXcpID0+XG4gICAgICAgIHRoaXMuZm9yY2VTeW5jRmlsZW5hbWVUb0hlYWRpbmcodmlldy5maWxlKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29tbWFuZCh7XG4gICAgICBpZDogJ3N5bmMtaGVhZGluZy10by1maWxlbmFtZScsXG4gICAgICBuYW1lOiAnU3luYyBIZWFkaW5nIHRvIEZpbGVuYW1lJyxcbiAgICAgIGVkaXRvckNhbGxiYWNrOiAoZWRpdG9yOiBFZGl0b3IsIHZpZXc6IE1hcmtkb3duVmlldykgPT5cbiAgICAgICAgdGhpcy5mb3JjZVN5bmNIZWFkaW5nVG9GaWxlbmFtZSh2aWV3LmZpbGUpLFxuICAgIH0pO1xuICB9XG5cbiAgZmlsZUlzSWdub3JlZChhY3RpdmVGaWxlOiBURmlsZSwgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gY2hlY2sgZXhjbHVzaW9uc1xuICAgIGlmIChpc0V4Y2x1ZGVkKHRoaXMuYXBwLCBhY3RpdmVGaWxlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgbWFudWFsIGlnbm9yZVxuICAgIGlmICh0aGlzLnNldHRpbmdzLmlnbm9yZWRGaWxlc1twYXRoXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBjaGVjayByZWdleFxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5pZ25vcmVSZWdleCA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKHRoaXMuc2V0dGluZ3MuaWdub3JlUmVnZXgpO1xuICAgICAgcmV0dXJuIHJlZy5leGVjKHBhdGgpICE9PSBudWxsO1xuICAgIH0gY2F0Y2gge31cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5hbWVzIHRoZSBmaWxlIHdpdGggdGhlIGZpcnN0IGhlYWRpbmcgZm91bmRcbiAgICpcbiAgICogQHBhcmFtICAgICAge1RBYnN0cmFjdEZpbGV9ICBmaWxlICAgIFRoZSBmaWxlXG4gICAqL1xuICBoYW5kbGVTeW5jSGVhZGluZ1RvRmlsZShmaWxlOiBUQWJzdHJhY3RGaWxlKSB7XG4gICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmaWxlLmV4dGVuc2lvbiAhPT0gJ21kJykge1xuICAgICAgLy8ganVzdCBiYWlsXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaWYgY3VycmVudGx5IG9wZW5lZCBmaWxlIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgb25lIHRoYXQgZmlyZWQgdGhlIGV2ZW50LCBza2lwXG4gICAgLy8gdGhpcyBpcyB0byBtYWtlIHN1cmUgb3RoZXIgZXZlbnRzIGRvbid0IHRyaWdnZXIgdGhpcyBwbHVnaW5cbiAgICBpZiAodGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKSAhPT0gZmlsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGlmIGlnbm9yZWQsIGp1c3QgYmFpbFxuICAgIGlmICh0aGlzLmZpbGVJc0lnbm9yZWQoZmlsZSwgZmlsZS5wYXRoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZm9yY2VTeW5jSGVhZGluZ1RvRmlsZW5hbWUoZmlsZSk7XG4gIH1cblxuICBmb3JjZVN5bmNIZWFkaW5nVG9GaWxlbmFtZShmaWxlOiBURmlsZSkge1xuICAgIHRoaXMuYXBwLnZhdWx0LnJlYWQoZmlsZSkudGhlbihhc3luYyAoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgbGluZXMgPSBkYXRhLnNwbGl0KCdcXG4nKTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5maW5kTm90ZVN0YXJ0KGxpbmVzKTtcbiAgICAgIGNvbnN0IGhlYWRpbmcgPSB0aGlzLmZpbmRIZWFkaW5nKGxpbmVzLCBzdGFydCk7XG5cbiAgICAgIGlmIChoZWFkaW5nID09PSBudWxsKSByZXR1cm47IC8vIG5vIGhlYWRpbmcgZm91bmQsIG5vdGhpbmcgdG8gZG8gaGVyZVxuXG4gICAgICBjb25zdCBzYW5pdGl6ZWRIZWFkaW5nID0gdGhpcy5zYW5pdGl6ZUhlYWRpbmcoaGVhZGluZy50ZXh0KTtcbiAgICAgIGlmIChcbiAgICAgICAgc2FuaXRpemVkSGVhZGluZy5sZW5ndGggPiAwICYmXG4gICAgICAgIHRoaXMuc2FuaXRpemVIZWFkaW5nKGZpbGUuYmFzZW5hbWUpICE9PSBzYW5pdGl6ZWRIZWFkaW5nXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbmV3UGF0aCA9IGAke2ZpbGUucGFyZW50LnBhdGh9LyR7c2FuaXRpemVkSGVhZGluZ30ubWRgO1xuICAgICAgICB0aGlzLmlzUmVuYW1lSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAgIGF3YWl0IHRoaXMuYXBwLmZpbGVNYW5hZ2VyLnJlbmFtZUZpbGUoZmlsZSwgbmV3UGF0aCk7XG4gICAgICAgIHRoaXMuaXNSZW5hbWVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3luY3MgdGhlIGN1cnJlbnQgZmlsZW5hbWUgdG8gdGhlIGZpcnN0IGhlYWRpbmdcbiAgICogRmluZHMgdGhlIGZpcnN0IGhlYWRpbmcgb2YgdGhlIGZpbGUsIHRoZW4gcmVwbGFjZXMgaXQgd2l0aCB0aGUgZmlsZW5hbWVcbiAgICpcbiAgICogQHBhcmFtICAgICAge1RBYnN0cmFjdEZpbGV9ICBmaWxlICAgICBUaGUgZmlsZSB0aGF0IGZpcmVkIHRoZSBldmVudFxuICAgKiBAcGFyYW0gICAgICB7c3RyaW5nfSAgICAgICAgIG9sZFBhdGggIFRoZSBvbGQgcGF0aFxuICAgKi9cbiAgaGFuZGxlU3luY0ZpbGVuYW1lVG9IZWFkaW5nKGZpbGU6IFRBYnN0cmFjdEZpbGUsIG9sZFBhdGg6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzUmVuYW1lSW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmlsZS5leHRlbnNpb24gIT09ICdtZCcpIHtcbiAgICAgIC8vIGp1c3QgYmFpbFxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGlmIG9sZHBhdGggaXMgaWdub3JlZCwgaG9vayBpbiBhbmQgdXBkYXRlIHRoZSBuZXcgZmlsZXBhdGggdG8gYmUgaWdub3JlZCBpbnN0ZWFkXG4gICAgaWYgKHRoaXMuZmlsZUlzSWdub3JlZChmaWxlLCBvbGRQYXRoLnRyaW0oKSkpIHtcbiAgICAgIC8vIGlmIGZpbGVuYW1lIGRpZG4ndCBjaGFuZ2UsIGp1c3QgYmFpbCwgbm90aGluZyB0byBkbyBoZXJlXG4gICAgICBpZiAoZmlsZS5wYXRoID09PSBvbGRQYXRoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgZmlsZXBhdGggY2hhbmdlZCBhbmQgdGhlIGZpbGUgd2FzIGluIHRoZSBpZ25vcmUgbGlzdCBiZWZvcmUsXG4gICAgICAvLyByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBhbmQgYWRkIHRoZSBuZXcgb25lIGluc3RlYWRcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLmlnbm9yZWRGaWxlc1tvbGRQYXRoXSkge1xuICAgICAgICBkZWxldGUgdGhpcy5zZXR0aW5ncy5pZ25vcmVkRmlsZXNbb2xkUGF0aF07XG4gICAgICAgIHRoaXMuc2V0dGluZ3MuaWdub3JlZEZpbGVzW2ZpbGUucGF0aF0gPSBudWxsO1xuICAgICAgICB0aGlzLnNhdmVTZXR0aW5ncygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZm9yY2VTeW5jRmlsZW5hbWVUb0hlYWRpbmcoZmlsZSk7XG4gIH1cblxuICBmb3JjZVN5bmNGaWxlbmFtZVRvSGVhZGluZyhmaWxlOiBURmlsZSkge1xuICAgIGNvbnN0IHNhbml0aXplZEhlYWRpbmcgPSB0aGlzLnNhbml0aXplSGVhZGluZyhmaWxlLmJhc2VuYW1lKTtcbiAgICB0aGlzLmFwcC52YXVsdC5yZWFkKGZpbGUpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGxpbmVzID0gZGF0YS5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBzdGFydCA9IHRoaXMuZmluZE5vdGVTdGFydChsaW5lcyk7XG4gICAgICBjb25zdCBoZWFkaW5nID0gdGhpcy5maW5kSGVhZGluZyhsaW5lcywgc3RhcnQpO1xuXG4gICAgICBpZiAoaGVhZGluZyAhPT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5zYW5pdGl6ZUhlYWRpbmcoaGVhZGluZy50ZXh0KSAhPT0gc2FuaXRpemVkSGVhZGluZykge1xuICAgICAgICAgIHRoaXMucmVwbGFjZUhlYWRpbmcoXG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgbGluZXMsXG4gICAgICAgICAgICBoZWFkaW5nLmxpbmVOdW1iZXIsXG4gICAgICAgICAgICBoZWFkaW5nLnN0eWxlLFxuICAgICAgICAgICAgc2FuaXRpemVkSGVhZGluZyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgdGhpcy5pbnNlcnRIZWFkaW5nKGZpbGUsIGxpbmVzLCBzdGFydCwgc2FuaXRpemVkSGVhZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIHN0YXJ0IG9mIHRoZSBub3RlIGZpbGUsIGV4Y2x1ZGluZyBmcm9udG1hdHRlclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmaWxlTGluZXMgYXJyYXkgb2YgdGhlIGZpbGUncyBjb250ZW50cywgbGluZSBieSBsaW5lXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIHN0YXJ0aW5nIGxpbmUgb2YgdGhlIG5vdGVcbiAgICovXG4gIGZpbmROb3RlU3RhcnQoZmlsZUxpbmVzOiBzdHJpbmdbXSkge1xuICAgIC8vIGNoZWNrIGZvciBmcm9udG1hdHRlciBieSBjaGVja2luZyBpZiBmaXJzdCBsaW5lIGlzIGEgZGl2aWRlciAoJy0tLScpXG4gICAgaWYgKGZpbGVMaW5lc1swXSA9PT0gJy0tLScpIHtcbiAgICAgIC8vIGZpbmQgZW5kIG9mIGZyb250bWF0dGVyXG4gICAgICAvLyBpZiBubyBlbmQgaXMgZm91bmQsIHRoZW4gaXQgaXNuJ3QgcmVhbGx5IGZyb250bWF0dGVyIGFuZCBmdW5jdGlvbiB3aWxsIGVuZCB1cCByZXR1cm5pbmcgMFxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaWxlTGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGZpbGVMaW5lc1tpXSA9PT0gJy0tLScpIHtcbiAgICAgICAgICAvLyBlbmQgb2YgZnJvbnRtYXR0ZXIgZm91bmQsIG5leHQgbGluZSBpcyBzdGFydCBvZiBub3RlXG4gICAgICAgICAgcmV0dXJuIGkgKyAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBmaXJzdCBoZWFkaW5nIG9mIHRoZSBub3RlIGZpbGVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gZmlsZUxpbmVzIGFycmF5IG9mIHRoZSBmaWxlJ3MgY29udGVudHMsIGxpbmUgYnkgbGluZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnRMaW5lIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIHN0YXJ0aW5nIGxpbmUgb2YgdGhlIG5vdGVcbiAgICogQHJldHVybnMge0xpbmVQb2ludGVyIHwgbnVsbH0gTGluZVBvaW50ZXIgdG8gaGVhZGluZyBvciBudWxsIGlmIG5vIGhlYWRpbmcgZm91bmRcbiAgICovXG4gIGZpbmRIZWFkaW5nKGZpbGVMaW5lczogc3RyaW5nW10sIHN0YXJ0TGluZTogbnVtYmVyKTogTGluZVBvaW50ZXIgfCBudWxsIHtcbiAgICBmb3IgKGxldCBpID0gc3RhcnRMaW5lOyBpIDwgZmlsZUxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoZmlsZUxpbmVzW2ldLnN0YXJ0c1dpdGgoJyMgJykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5lTnVtYmVyOiBpLFxuICAgICAgICAgIHRleHQ6IGZpbGVMaW5lc1tpXS5zdWJzdHJpbmcoMiksXG4gICAgICAgICAgc3R5bGU6IEhlYWRpbmdTdHlsZS5QcmVmaXgsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZmlsZUxpbmVzW2kgKyAxXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgZmlsZUxpbmVzW2kgKyAxXS5tYXRjaCgvXj0rJC8pICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsaW5lTnVtYmVyOiBpLFxuICAgICAgICAgICAgdGV4dDogZmlsZUxpbmVzW2ldLFxuICAgICAgICAgICAgc3R5bGU6IEhlYWRpbmdTdHlsZS5VbmRlcmxpbmUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDsgLy8gbm8gaGVhZGluZyBmb3VuZFxuICB9XG5cbiAgcmVnRXhwRXNjYXBlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKHN0cikucmVwbGFjZSgvW1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgfVxuXG4gIHNhbml0aXplSGVhZGluZyh0ZXh0OiBzdHJpbmcpIHtcbiAgICAvLyBzdG9ja0lsbGVnYWxTeW1ib2xzIGlzIGEgcmVnRXhwIG9iamVjdCwgYnV0IHVzZXJJbGxlZ2FsU3ltYm9scyBpcyBhIGxpc3Qgb2Ygc3RyaW5ncyBhbmQgdGhlcmVmb3JlIHRoZXkgYXJlIGhhbmRsZWQgc2VwYXJhdGVseS5cbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHN0b2NrSWxsZWdhbFN5bWJvbHMsICcnKTtcblxuICAgIGNvbnN0IHVzZXJJbGxlZ2FsU3ltYm9sc0VzY2FwZWQgPSB0aGlzLnNldHRpbmdzLnVzZXJJbGxlZ2FsU3ltYm9scy5tYXAoXG4gICAgICAoc3RyKSA9PiB0aGlzLnJlZ0V4cEVzY2FwZShzdHIpLFxuICAgICk7XG4gICAgY29uc3QgdXNlcklsbGVnYWxTeW1ib2xzUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgIHVzZXJJbGxlZ2FsU3ltYm9sc0VzY2FwZWQuam9pbignfCcpLFxuICAgICAgJ2cnLFxuICAgICk7XG4gICAgdGV4dCA9IHRleHQucmVwbGFjZSh1c2VySWxsZWdhbFN5bWJvbHNSZWdFeHAsICcnKTtcbiAgICByZXR1cm4gdGV4dC50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5zZXJ0IHRoZSBgaGVhZGluZ2AgYXQgYGxpbmVOdW1iZXJgIGluIGBmaWxlYC5cbiAgICpcbiAgICogQHBhcmFtIHtURmlsZX0gZmlsZSB0aGUgZmlsZSB0byBtb2RpZnlcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gZmlsZUxpbmVzIGFycmF5IG9mIHRoZSBmaWxlJ3MgY29udGVudHMsIGxpbmUgYnkgbGluZVxuICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlciB6ZXJvLWJhc2VkIGluZGV4IG9mIHRoZSBsaW5lIHRvIHJlcGxhY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgdGhlIG5ldyB0ZXh0XG4gICAqL1xuICBpbnNlcnRIZWFkaW5nKFxuICAgIGZpbGU6IFRGaWxlLFxuICAgIGZpbGVMaW5lczogc3RyaW5nW10sXG4gICAgbGluZU51bWJlcjogbnVtYmVyLFxuICAgIGhlYWRpbmc6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgbmV3U3R5bGUgPSB0aGlzLnNldHRpbmdzLm5ld0hlYWRpbmdTdHlsZTtcbiAgICBzd2l0Y2ggKG5ld1N0eWxlKSB7XG4gICAgICBjYXNlIEhlYWRpbmdTdHlsZS5VbmRlcmxpbmU6IHtcbiAgICAgICAgdGhpcy5pbnNlcnRMaW5lSW5GaWxlKGZpbGUsIGZpbGVMaW5lcywgbGluZU51bWJlciwgYCR7aGVhZGluZ31gKTtcblxuICAgICAgICB0aGlzLmluc2VydExpbmVJbkZpbGUoXG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICBmaWxlTGluZXMsXG4gICAgICAgICAgbGluZU51bWJlciArIDEsXG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy51bmRlcmxpbmVTdHJpbmcsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuUHJlZml4OiB7XG4gICAgICAgIHRoaXMuaW5zZXJ0TGluZUluRmlsZShmaWxlLCBmaWxlTGluZXMsIGxpbmVOdW1iZXIsIGAjICR7aGVhZGluZ31gKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVkIGBmaWxlYCBieSByZXBsYWNpbmcgdGhlIGhlYWRpbmcgYXQgYGxpbmVOdW1iZXJgIHdpdGggYG5ld0hlYWRpbmdgLFxuICAgKiB1cGRhdGluZyB0aGUgaGVhZGluZyBzdHlsZSBhY2NvcmRpbmcgdGhlIHVzZXIgc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7VEZpbGV9IGZpbGUgdGhlIGZpbGUgdG8gbW9kaWZ5XG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGZpbGVMaW5lcyBhcnJheSBvZiB0aGUgZmlsZSdzIGNvbnRlbnRzLCBsaW5lIGJ5IGxpbmVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgbGluZSB0byByZXBsYWNlXG4gICAqIEBwYXJhbSB7SGVhZGluZ1N0eWxlfSBvbGRTdHlsZSB0aGUgc3R5bGUgb2YgdGhlIG9yaWdpbmFsIGhlYWRpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgdGhlIG5ldyB0ZXh0XG4gICAqL1xuICByZXBsYWNlSGVhZGluZyhcbiAgICBmaWxlOiBURmlsZSxcbiAgICBmaWxlTGluZXM6IHN0cmluZ1tdLFxuICAgIGxpbmVOdW1iZXI6IG51bWJlcixcbiAgICBvbGRTdHlsZTogSGVhZGluZ1N0eWxlLFxuICAgIG5ld0hlYWRpbmc6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgbmV3U3R5bGUgPSB0aGlzLnNldHRpbmdzLm5ld0hlYWRpbmdTdHlsZTtcbiAgICBjb25zdCByZXBsYWNlU3R5bGUgPSB0aGlzLnNldHRpbmdzLnJlcGxhY2VTdHlsZTtcbiAgICAvLyBJZiByZXBsYWNpbmcgdGhlIHN0eWxlXG4gICAgaWYgKHJlcGxhY2VTdHlsZSkge1xuICAgICAgc3dpdGNoIChuZXdTdHlsZSkge1xuICAgICAgICAvLyBGb3IgdW5kZXJsaW5lIHN0eWxlLCByZXBsYWNlIGhlYWRpbmcgbGluZS4uLlxuICAgICAgICBjYXNlIEhlYWRpbmdTdHlsZS5VbmRlcmxpbmU6IHtcbiAgICAgICAgICB0aGlzLnJlcGxhY2VMaW5lSW5GaWxlKGZpbGUsIGZpbGVMaW5lcywgbGluZU51bWJlciwgYCR7bmV3SGVhZGluZ31gKTtcbiAgICAgICAgICAvLy4uLiwgdGhlbiBhZGQgb3IgcmVwbGFjZSB1bmRlcmxpbmUuXG4gICAgICAgICAgc3dpdGNoIChvbGRTdHlsZSkge1xuICAgICAgICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuUHJlZml4OiB7XG4gICAgICAgICAgICAgIHRoaXMuaW5zZXJ0TGluZUluRmlsZShcbiAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgIGZpbGVMaW5lcyxcbiAgICAgICAgICAgICAgICBsaW5lTnVtYmVyICsgMSxcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzLnVuZGVybGluZVN0cmluZyxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEhlYWRpbmdTdHlsZS5VbmRlcmxpbmU6IHtcbiAgICAgICAgICAgICAgLy8gVXBkYXRlIHVuZGVybGluZSB3aXRoIHNldHRpbmcuXG4gICAgICAgICAgICAgIHRoaXMucmVwbGFjZUxpbmVJbkZpbGUoXG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICBmaWxlTGluZXMsXG4gICAgICAgICAgICAgICAgbGluZU51bWJlciArIDEsXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy51bmRlcmxpbmVTdHJpbmcsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICAvLyBGb3IgcHJlZml4IHN0eWxlLCByZXBsYWNlIGhlYWRpbmcgbGluZSwgYW5kIHBvc3NpYmx5IGRlbGV0ZSB1bmRlcmxpbmVcbiAgICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuUHJlZml4OiB7XG4gICAgICAgICAgdGhpcy5yZXBsYWNlTGluZUluRmlsZShcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICBmaWxlTGluZXMsXG4gICAgICAgICAgICBsaW5lTnVtYmVyLFxuICAgICAgICAgICAgYCMgJHtuZXdIZWFkaW5nfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBzd2l0Y2ggKG9sZFN0eWxlKSB7XG4gICAgICAgICAgICBjYXNlIEhlYWRpbmdTdHlsZS5QcmVmaXg6IHtcbiAgICAgICAgICAgICAgLy8gbm9wXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuVW5kZXJsaW5lOiB7XG4gICAgICAgICAgICAgIHRoaXMucmVwbGFjZUxpbmVJbkZpbGUoZmlsZSwgZmlsZUxpbmVzLCBsaW5lTnVtYmVyICsgMSwgJycpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgbm90IHJlcGxhY2luZyBzdHlsZSwgbWF0Y2hcbiAgICAgIHN3aXRjaCAob2xkU3R5bGUpIHtcbiAgICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuVW5kZXJsaW5lOiB7XG4gICAgICAgICAgdGhpcy5yZXBsYWNlTGluZUluRmlsZShmaWxlLCBmaWxlTGluZXMsIGxpbmVOdW1iZXIsIGAke25ld0hlYWRpbmd9YCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBIZWFkaW5nU3R5bGUuUHJlZml4OiB7XG4gICAgICAgICAgdGhpcy5yZXBsYWNlTGluZUluRmlsZShcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICBmaWxlTGluZXMsXG4gICAgICAgICAgICBsaW5lTnVtYmVyLFxuICAgICAgICAgICAgYCMgJHtuZXdIZWFkaW5nfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZmllcyB0aGUgZmlsZSBieSByZXBsYWNpbmcgYSBwYXJ0aWN1bGFyIGxpbmUgd2l0aCBuZXcgdGV4dC5cbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIHdpbGwgYWRkIGEgbmV3bGluZSBjaGFyYWN0ZXIgYXQgdGhlIGVuZCBvZiB0aGUgcmVwbGFjZWQgbGluZS5cbiAgICpcbiAgICogSWYgdGhlIGBsaW5lTnVtYmVyYCBwYXJhbWV0ZXIgaXMgaGlnaGVyIHRoYW4gdGhlIGluZGV4IG9mIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGZpbGVcbiAgICogdGhlIGZ1bmN0aW9uIHdpbGwgYWRkIGEgbmV3bGluZSBjaGFyYWN0ZXIgdG8gdGhlIGN1cnJlbnQgbGFzdCBsaW5lIGFuZCBhcHBlbmQgYSBuZXdcbiAgICogbGluZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpdGggdGhlIG5ldyB0ZXh0IChlc3NlbnRpYWxseSBhIG5ldyBsYXN0IGxpbmUpLlxuICAgKlxuICAgKiBAcGFyYW0ge1RGaWxlfSBmaWxlIHRoZSBmaWxlIHRvIG1vZGlmeVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmaWxlTGluZXMgYXJyYXkgb2YgdGhlIGZpbGUncyBjb250ZW50cywgbGluZSBieSBsaW5lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIGxpbmUgdG8gcmVwbGFjZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCB0aGUgbmV3IHRleHRcbiAgICovXG4gIHJlcGxhY2VMaW5lSW5GaWxlKFxuICAgIGZpbGU6IFRGaWxlLFxuICAgIGZpbGVMaW5lczogc3RyaW5nW10sXG4gICAgbGluZU51bWJlcjogbnVtYmVyLFxuICAgIHRleHQ6IHN0cmluZyxcbiAgKSB7XG4gICAgaWYgKGxpbmVOdW1iZXIgPj0gZmlsZUxpbmVzLmxlbmd0aCkge1xuICAgICAgZmlsZUxpbmVzLnB1c2godGV4dCArICdcXG4nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZUxpbmVzW2xpbmVOdW1iZXJdID0gdGV4dDtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IGZpbGVMaW5lcy5qb2luKCdcXG4nKTtcbiAgICB0aGlzLmFwcC52YXVsdC5tb2RpZnkoZmlsZSwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpZXMgdGhlIGZpbGUgYnkgaW5zZXJ0aW5nIGEgbGluZSB3aXRoIHNwZWNpZmllZCB0ZXh0LlxuICAgKlxuICAgKiBUaGUgZnVuY3Rpb24gd2lsbCBhZGQgYSBuZXdsaW5lIGNoYXJhY3RlciBhdCB0aGUgZW5kIG9mIHRoZSBpbnNlcnRlZCBsaW5lLlxuICAgKlxuICAgKiBAcGFyYW0ge1RGaWxlfSBmaWxlIHRoZSBmaWxlIHRvIG1vZGlmeVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmaWxlTGluZXMgYXJyYXkgb2YgdGhlIGZpbGUncyBjb250ZW50cywgbGluZSBieSBsaW5lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyIHplcm8tYmFzZWQgaW5kZXggb2Ygd2hlcmUgdGhlIGxpbmUgc2hvdWxkIGJlIGluc2VydGVkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IHRoZSB0ZXh0IHRoYXQgdGhlIGxpbmUgc2hhbGwgY29udGFpblxuICAgKi9cbiAgaW5zZXJ0TGluZUluRmlsZShcbiAgICBmaWxlOiBURmlsZSxcbiAgICBmaWxlTGluZXM6IHN0cmluZ1tdLFxuICAgIGxpbmVOdW1iZXI6IG51bWJlcixcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICkge1xuICAgIGlmIChsaW5lTnVtYmVyID49IGZpbGVMaW5lcy5sZW5ndGgpIHtcbiAgICAgIGZpbGVMaW5lcy5wdXNoKHRleHQgKyAnXFxuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGVMaW5lcy5zcGxpY2UobGluZU51bWJlciwgMCwgdGV4dCk7XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSBmaWxlTGluZXMuam9pbignXFxuJyk7XG4gICAgdGhpcy5hcHAudmF1bHQubW9kaWZ5KGZpbGUsIGRhdGEpO1xuICB9XG5cbiAgYXN5bmMgbG9hZFNldHRpbmdzKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX1NFVFRJTkdTLCBhd2FpdCB0aGlzLmxvYWREYXRhKCkpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZVNldHRpbmdzKCkge1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gIH1cbn1cblxuY2xhc3MgRmlsZW5hbWVIZWFkaW5nU3luY1NldHRpbmdUYWIgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcbiAgcGx1Z2luOiBGaWxlbmFtZUhlYWRpbmdTeW5jUGx1Z2luO1xuICBhcHA6IEFwcDtcblxuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBGaWxlbmFtZUhlYWRpbmdTeW5jUGx1Z2luKSB7XG4gICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICAgIHRoaXMuYXBwID0gYXBwO1xuICB9XG5cbiAgZGlzcGxheSgpOiB2b2lkIHtcbiAgICBsZXQgeyBjb250YWluZXJFbCB9ID0gdGhpcztcbiAgICBsZXQgcmVnZXhJZ25vcmVkRmlsZXNEaXY6IEhUTUxEaXZFbGVtZW50O1xuXG4gICAgY29uc3QgcmVuZGVyUmVnZXhJZ25vcmVkRmlsZXMgPSAoZGl2OiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgLy8gZW1wdHkgZXhpc3RpbmcgZGl2XG4gICAgICBkaXYuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgIGlmICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5pZ25vcmVSZWdleCA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBmaWxlcyA9IHRoaXMuYXBwLnZhdWx0LmdldEZpbGVzKCk7XG4gICAgICAgIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAodGhpcy5wbHVnaW4uc2V0dGluZ3MuaWdub3JlUmVnZXgpO1xuXG4gICAgICAgIGZpbGVzXG4gICAgICAgICAgLmZpbHRlcigoZmlsZSkgPT4gcmVnLmV4ZWMoZmlsZS5wYXRoKSAhPT0gbnVsbClcbiAgICAgICAgICAuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgICAgIG5ldyBTZXR0aW5nKGRpdikuc2V0RGVzYyhlbC5wYXRoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb250YWluZXJFbC5lbXB0eSgpO1xuXG4gICAgY29udGFpbmVyRWwuY3JlYXRlRWwoJ2gyJywgeyB0ZXh0OiAnRmlsZW5hbWUgSGVhZGluZyBTeW5jJyB9KTtcbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgncCcsIHtcbiAgICAgIHRleHQ6XG4gICAgICAgICdUaGlzIHBsdWdpbiB3aWxsIG92ZXJ3cml0ZSB0aGUgZmlyc3QgaGVhZGluZyBmb3VuZCBpbiBhIGZpbGUgd2l0aCB0aGUgZmlsZW5hbWUuJyxcbiAgICB9KTtcbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgncCcsIHtcbiAgICAgIHRleHQ6XG4gICAgICAgICdJZiBubyBoZWFkZXIgaXMgZm91bmQsIHdpbGwgaW5zZXJ0IGEgbmV3IG9uZSBhdCB0aGUgZmlyc3QgbGluZSAoYWZ0ZXIgZnJvbnRtYXR0ZXIpLicsXG4gICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKCdDdXN0b20gSWxsZWdhbCBDaGFyYWN0ZXJzL1N0cmluZ3MnKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgICdUeXBlIGNoYXJhY3RlcnMvc3RyaW5ncyBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gVGhpcyBpbnB1dCBpcyBzcGFjZSBzZW5zaXRpdmUuJyxcbiAgICAgIClcbiAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PlxuICAgICAgICB0ZXh0XG4gICAgICAgICAgLnNldFBsYWNlaG9sZGVyKCdbXSwjLC4uLicpXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnVzZXJJbGxlZ2FsU3ltYm9scy5qb2luKCkpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MudXNlcklsbGVnYWxTeW1ib2xzID0gdmFsdWUuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ0lnbm9yZSBSZWdleCBSdWxlJylcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICAnSWdub3JlIHJ1bGUgaW4gUmVnRXggZm9ybWF0LiBBbGwgZmlsZXMgbGlzdGVkIGJlbG93IHdpbGwgZ2V0IGlnbm9yZWQgYnkgdGhpcyBwbHVnaW4uJyxcbiAgICAgIClcbiAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PlxuICAgICAgICB0ZXh0XG4gICAgICAgICAgLnNldFBsYWNlaG9sZGVyKCdNeUZvbGRlci8uKicpXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZVJlZ2V4KVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIG5ldyBSZWdFeHAodmFsdWUpO1xuICAgICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy5pZ25vcmVSZWdleCA9IHZhbHVlO1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZVJlZ2V4ID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgICAgcmVuZGVyUmVnZXhJZ25vcmVkRmlsZXMocmVnZXhJZ25vcmVkRmlsZXNEaXYpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ1VzZSBGaWxlIE9wZW4gSG9vaycpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1doZXRoZXIgdGhpcyBwbHVnaW4gc2hvdWxkIHRyaWdnZXIgd2hlbiBhIGZpbGUgaXMgb3BlbmVkLCBhbmQgbm90IGp1c3Qgb24gc2F2ZS4gRGlzYWJsZSB0aGlzIHdoZW4geW91IG5vdGljZSBjb25mbGljdHMgd2l0aCBvdGhlciBwbHVnaW5zIHRoYXQgYWxzbyBhY3Qgb24gZmlsZSBvcGVuLicsXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy51c2VGaWxlT3Blbkhvb2spXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MudXNlRmlsZU9wZW5Ib29rID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKCdVc2UgRmlsZSBTYXZlIEhvb2snKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgICdXaGV0aGVyIHRoaXMgcGx1Z2luIHNob3VsZCB0cmlnZ2VyIHdoZW4gYSBmaWxlIGlzIHNhdmVkLiBEaXNhYmxlIHRoaXMgd2hlbiB5b3Ugd2FudCB0byB0cmlnZ2VyIHN5bmMgb25seSBtYW51YWxseS4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGVcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MudXNlRmlsZVNhdmVIb29rKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLnVzZUZpbGVTYXZlSG9vayA9IHZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnTmV3IEhlYWRpbmcgU3R5bGUnKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgICdXaGljaCBNYXJrZG93biBoZWFkaW5nIHN0eWxlIHRvIHVzZSB3aGVuIGNyZWF0aW5nIG5ldyBoZWFkaW5nczogUHJlZml4IChcIiMgSGVhZGluZ1wiKSBvciBVbmRlcmxpbmUgKFwiSGVhZGluZ1xcXFxuPT09XCIpLicsXG4gICAgICApXG4gICAgICAuYWRkRHJvcGRvd24oKGNiKSA9PlxuICAgICAgICBjYlxuICAgICAgICAgIC5hZGRPcHRpb24oSGVhZGluZ1N0eWxlLlByZWZpeCwgJ1ByZWZpeCcpXG4gICAgICAgICAgLmFkZE9wdGlvbihIZWFkaW5nU3R5bGUuVW5kZXJsaW5lLCAnVW5kZXJsaW5lJylcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGVhZGluZ1N0eWxlKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJ1ByZWZpeCcpIHtcbiAgICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGVhZGluZ1N0eWxlID0gSGVhZGluZ1N0eWxlLlByZWZpeDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJ1VuZGVybGluZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGVhZGluZ1N0eWxlID0gSGVhZGluZ1N0eWxlLlVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuICAgICAgLnNldE5hbWUoJ1JlcGxhY2UgSGVhZGluZyBTdHlsZScpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1doZXRoZXIgdGhpcyBwbHVnaW4gc2hvdWxkIHJlcGxhY2UgZXhpc3RpbmcgaGVhZGluZyBzdHlsZXMgd2hlbiB1cGRhdGluZyBoZWFkaW5ncy4nLFxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PlxuICAgICAgICB0b2dnbGVcbiAgICAgICAgICAuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MucmVwbGFjZVN0eWxlKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldHRpbmdzLnJlcGxhY2VTdHlsZSA9IHZhbHVlO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCk7XG4gICAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZSgnVW5kZXJsaW5lIFN0cmluZycpXG4gICAgICAuc2V0RGVzYyhcbiAgICAgICAgJ1RoZSBzdHJpbmcgdG8gdXNlIHdoZW4gaW5zZXJ0IFVuZGVybGluZS1zdHlsZSBoZWFkaW5nczsgc2hvdWxkIGJlIHNvbWUgbnVtYmVyIG9mIFwiPVwicy4nLFxuICAgICAgKVxuICAgICAgLmFkZFRleHQoKHRleHQpID0+XG4gICAgICAgIHRleHRcbiAgICAgICAgICAuc2V0UGxhY2Vob2xkZXIoJz09PScpXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnVuZGVybGluZVN0cmluZylcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBsdWdpbi5zZXR0aW5ncy51bmRlcmxpbmVTdHJpbmcgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdoMicsIHsgdGV4dDogJ0lnbm9yZWQgRmlsZXMgQnkgUmVnZXgnIH0pO1xuICAgIGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdwJywge1xuICAgICAgdGV4dDogJ0FsbCBmaWxlcyBtYXRjaGluZyB0aGUgYWJvdmUgUmVnRXggd2lsbCBnZXQgbGlzdGVkIGhlcmUnLFxuICAgIH0pO1xuXG4gICAgcmVnZXhJZ25vcmVkRmlsZXNEaXYgPSBjb250YWluZXJFbC5jcmVhdGVEaXYoJ3Rlc3QnKTtcbiAgICByZW5kZXJSZWdleElnbm9yZWRGaWxlcyhyZWdleElnbm9yZWRGaWxlc0Rpdik7XG5cbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7IHRleHQ6ICdNYW51YWxseSBJZ25vcmVkIEZpbGVzJyB9KTtcbiAgICBjb250YWluZXJFbC5jcmVhdGVFbCgncCcsIHtcbiAgICAgIHRleHQ6XG4gICAgICAgICdZb3UgY2FuIGlnbm9yZSBmaWxlcyBmcm9tIHRoaXMgcGx1Z2luIGJ5IHVzaW5nIHRoZSBcImlnbm9yZSB0aGlzIGZpbGVcIiBjb21tYW5kJyxcbiAgICB9KTtcblxuICAgIC8vIGdvIG92ZXIgYWxsIGlnbm9yZWQgZmlsZXMgYW5kIGFkZCB0aGVtXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZWRGaWxlcykge1xuICAgICAgY29uc3QgaWdub3JlZEZpbGVzU2V0dGluZ3NPYmogPSBuZXcgU2V0dGluZyhjb250YWluZXJFbCkuc2V0RGVzYyhrZXkpO1xuXG4gICAgICBpZ25vcmVkRmlsZXNTZXR0aW5nc09iai5hZGRCdXR0b24oKGJ1dHRvbikgPT4ge1xuICAgICAgICBidXR0b24uc2V0QnV0dG9uVGV4dCgnRGVsZXRlJykub25DbGljayhhc3luYyAoKSA9PiB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMucGx1Z2luLnNldHRpbmdzLmlnbm9yZWRGaWxlc1trZXldO1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpO1xuICAgICAgICAgIHRoaXMuZGlzcGxheSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIlRGaWxlIiwiUGx1Z2luIiwiU2V0dGluZyIsIlBsdWdpblNldHRpbmdUYWIiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksYUFBYSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNuQyxJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsY0FBYztBQUN6QyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxZQUFZLEtBQUssSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEYsUUFBUSxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDMUcsSUFBSSxPQUFPLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBQ0Y7QUFDTyxTQUFTLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ2hDLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUk7QUFDN0MsUUFBUSxNQUFNLElBQUksU0FBUyxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRywrQkFBK0IsQ0FBQyxDQUFDO0FBQ2xHLElBQUksYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4QixJQUFJLFNBQVMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRTtBQUMzQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQXVDRDtBQUNPLFNBQVMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTtBQUM3RCxJQUFJLFNBQVMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxPQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUNoSCxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLFVBQVUsT0FBTyxFQUFFLE1BQU0sRUFBRTtBQUMvRCxRQUFRLFNBQVMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDbkcsUUFBUSxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7QUFDdEcsUUFBUSxTQUFTLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUU7QUFDdEgsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUUsS0FBSyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBQ0Q7QUFDTyxTQUFTLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0FBQzNDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNySCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLE1BQU0sS0FBSyxVQUFVLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FB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 diff --git a/notes/.obsidian/plugins/obsidian-filename-heading-sync/manifest.json b/notes/.obsidian/plugins/obsidian-filename-heading-sync/manifest.json index 98a8520..2d52a2d 100644 --- a/notes/.obsidian/plugins/obsidian-filename-heading-sync/manifest.json +++ b/notes/.obsidian/plugins/obsidian-filename-heading-sync/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-filename-heading-sync", "name": "Filename Heading Sync", - "version": "1.8.0", + "version": "1.9.0", "minAppVersion": "0.11.0", "description": "Obsidian plugin for keeping the filename with the first heading of a file in sync", "author": "dvcrn", diff --git a/notes/.obsidian/plugins/obsidian-git/main.js b/notes/.obsidian/plugins/obsidian-git/main.js index d568cb6..7debbee 100644 --- a/notes/.obsidian/plugins/obsidian-git/main.js +++ b/notes/.obsidian/plugins/obsidian-git/main.js @@ -39,12 +39,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru // node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js var require_base64_js = __commonJS({ - "node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js"(exports) { + "node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js"(exports2) { "use strict"; init_polyfill_buffer(); - exports.byteLength = byteLength; - exports.toByteArray = toByteArray; - exports.fromByteArray = fromByteArray; + exports2.byteLength = byteLength; + exports2.toByteArray = toByteArray; + exports2.fromByteArray = fromByteArray; var lookup = []; var revLookup = []; var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; @@ -142,9 +142,9 @@ var require_base64_js = __commonJS({ // node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js var require_ieee754 = __commonJS({ - "node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js"(exports) { + "node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js"(exports2) { init_polyfill_buffer(); - exports.read = function(buffer2, offset, isLE, mLen, nBytes) { + exports2.read = function(buffer2, offset, isLE, mLen, nBytes) { var e, m; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; @@ -174,7 +174,7 @@ var require_ieee754 = __commonJS({ } return (s ? -1 : 1) * m * Math.pow(2, e - mLen); }; - exports.write = function(buffer2, value, offset, isLE, mLen, nBytes) { + exports2.write = function(buffer2, value, offset, isLE, mLen, nBytes) { var e, m, c; var eLen = nBytes * 8 - mLen - 1; var eMax = (1 << eLen) - 1; @@ -226,19 +226,19 @@ var require_ieee754 = __commonJS({ // node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js var require_buffer = __commonJS({ - "node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js"(exports) { + "node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js"(exports2) { "use strict"; init_polyfill_buffer(); var base64 = require_base64_js(); var ieee754 = require_ieee754(); var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; - exports.Buffer = Buffer3; - exports.SlowBuffer = SlowBuffer; - exports.INSPECT_MAX_BYTES = 50; + exports2.Buffer = Buffer2; + exports2.SlowBuffer = SlowBuffer; + exports2.INSPECT_MAX_BYTES = 50; var K_MAX_LENGTH = 2147483647; - exports.kMaxLength = K_MAX_LENGTH; - Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport(); - if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { + exports2.kMaxLength = K_MAX_LENGTH; + Buffer2.TYPED_ARRAY_SUPPORT = typedArraySupport(); + if (!Buffer2.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { console.error( "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." ); @@ -256,18 +256,18 @@ var require_buffer = __commonJS({ return false; } } - Object.defineProperty(Buffer3.prototype, "parent", { + Object.defineProperty(Buffer2.prototype, "parent", { enumerable: true, get: function() { - if (!Buffer3.isBuffer(this)) + if (!Buffer2.isBuffer(this)) return void 0; return this.buffer; } }); - Object.defineProperty(Buffer3.prototype, "offset", { + Object.defineProperty(Buffer2.prototype, "offset", { enumerable: true, get: function() { - if (!Buffer3.isBuffer(this)) + if (!Buffer2.isBuffer(this)) return void 0; return this.byteOffset; } @@ -277,10 +277,10 @@ var require_buffer = __commonJS({ throw new RangeError('The value "' + length + '" is invalid for option "size"'); } const buf = new Uint8Array(length); - Object.setPrototypeOf(buf, Buffer3.prototype); + Object.setPrototypeOf(buf, Buffer2.prototype); return buf; } - function Buffer3(arg, encodingOrOffset, length) { + function Buffer2(arg, encodingOrOffset, length) { if (typeof arg === "number") { if (typeof encodingOrOffset === "string") { throw new TypeError( @@ -291,10 +291,10 @@ var require_buffer = __commonJS({ } return from(arg, encodingOrOffset, length); } - Buffer3.poolSize = 8192; + Buffer2.poolSize = 8192; function from(value, encodingOrOffset, length) { if (typeof value === "string") { - return fromString(value, encodingOrOffset); + return fromString2(value, encodingOrOffset); } if (ArrayBuffer.isView(value)) { return fromArrayView(value); @@ -317,23 +317,23 @@ var require_buffer = __commonJS({ } const valueOf = value.valueOf && value.valueOf(); if (valueOf != null && valueOf !== value) { - return Buffer3.from(valueOf, encodingOrOffset, length); + return Buffer2.from(valueOf, encodingOrOffset, length); } const b = fromObject(value); if (b) return b; if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") { - return Buffer3.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); + return Buffer2.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); } throw new TypeError( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value ); } - Buffer3.from = function(value, encodingOrOffset, length) { + Buffer2.from = function(value, encodingOrOffset, length) { return from(value, encodingOrOffset, length); }; - Object.setPrototypeOf(Buffer3.prototype, Uint8Array.prototype); - Object.setPrototypeOf(Buffer3, Uint8Array); + Object.setPrototypeOf(Buffer2.prototype, Uint8Array.prototype); + Object.setPrototypeOf(Buffer2, Uint8Array); function assertSize(size) { if (typeof size !== "number") { throw new TypeError('"size" argument must be of type number'); @@ -351,24 +351,24 @@ var require_buffer = __commonJS({ } return createBuffer(size); } - Buffer3.alloc = function(size, fill, encoding) { + Buffer2.alloc = function(size, fill, encoding) { return alloc(size, fill, encoding); }; function allocUnsafe(size) { assertSize(size); return createBuffer(size < 0 ? 0 : checked(size) | 0); } - Buffer3.allocUnsafe = function(size) { + Buffer2.allocUnsafe = function(size) { return allocUnsafe(size); }; - Buffer3.allocUnsafeSlow = function(size) { + Buffer2.allocUnsafeSlow = function(size) { return allocUnsafe(size); }; - function fromString(string, encoding) { + function fromString2(string, encoding) { if (typeof encoding !== "string" || encoding === "") { encoding = "utf8"; } - if (!Buffer3.isEncoding(encoding)) { + if (!Buffer2.isEncoding(encoding)) { throw new TypeError("Unknown encoding: " + encoding); } const length = byteLength(string, encoding) | 0; @@ -409,11 +409,11 @@ var require_buffer = __commonJS({ } else { buf = new Uint8Array(array, byteOffset, length); } - Object.setPrototypeOf(buf, Buffer3.prototype); + Object.setPrototypeOf(buf, Buffer2.prototype); return buf; } function fromObject(obj) { - if (Buffer3.isBuffer(obj)) { + if (Buffer2.isBuffer(obj)) { const len = checked(obj.length) | 0; const buf = createBuffer(len); if (buf.length === 0) { @@ -442,17 +442,17 @@ var require_buffer = __commonJS({ if (+length != length) { length = 0; } - return Buffer3.alloc(+length); + return Buffer2.alloc(+length); } - Buffer3.isBuffer = function isBuffer(b) { - return b != null && b._isBuffer === true && b !== Buffer3.prototype; + Buffer2.isBuffer = function isBuffer(b) { + return b != null && b._isBuffer === true && b !== Buffer2.prototype; }; - Buffer3.compare = function compare(a, b) { + Buffer2.compare = function compare(a, b) { if (isInstance(a, Uint8Array)) - a = Buffer3.from(a, a.offset, a.byteLength); + a = Buffer2.from(a, a.offset, a.byteLength); if (isInstance(b, Uint8Array)) - b = Buffer3.from(b, b.offset, b.byteLength); - if (!Buffer3.isBuffer(a) || !Buffer3.isBuffer(b)) { + b = Buffer2.from(b, b.offset, b.byteLength); + if (!Buffer2.isBuffer(a) || !Buffer2.isBuffer(b)) { throw new TypeError( 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' ); @@ -474,7 +474,7 @@ var require_buffer = __commonJS({ return 1; return 0; }; - Buffer3.isEncoding = function isEncoding(encoding) { + Buffer2.isEncoding = function isEncoding(encoding) { switch (String(encoding).toLowerCase()) { case "hex": case "utf8": @@ -492,12 +492,12 @@ var require_buffer = __commonJS({ return false; } }; - Buffer3.concat = function concat(list, length) { + Buffer2.concat = function concat(list, length) { if (!Array.isArray(list)) { throw new TypeError('"list" argument must be an Array of Buffers'); } if (list.length === 0) { - return Buffer3.alloc(0); + return Buffer2.alloc(0); } let i; if (length === void 0) { @@ -506,14 +506,14 @@ var require_buffer = __commonJS({ length += list[i].length; } } - const buffer2 = Buffer3.allocUnsafe(length); + const buffer2 = Buffer2.allocUnsafe(length); let pos = 0; for (i = 0; i < list.length; ++i) { let buf = list[i]; if (isInstance(buf, Uint8Array)) { if (pos + buf.length > buffer2.length) { - if (!Buffer3.isBuffer(buf)) - buf = Buffer3.from(buf); + if (!Buffer2.isBuffer(buf)) + buf = Buffer2.from(buf); buf.copy(buffer2, pos); } else { Uint8Array.prototype.set.call( @@ -522,7 +522,7 @@ var require_buffer = __commonJS({ pos ); } - } else if (!Buffer3.isBuffer(buf)) { + } else if (!Buffer2.isBuffer(buf)) { throw new TypeError('"list" argument must be an Array of Buffers'); } else { buf.copy(buffer2, pos); @@ -532,7 +532,7 @@ var require_buffer = __commonJS({ return buffer2; }; function byteLength(string, encoding) { - if (Buffer3.isBuffer(string)) { + if (Buffer2.isBuffer(string)) { return string.length; } if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { @@ -575,7 +575,7 @@ var require_buffer = __commonJS({ } } } - Buffer3.byteLength = byteLength; + Buffer2.byteLength = byteLength; function slowToString(encoding, start, end) { let loweredCase = false; if (start === void 0 || start < 0) { @@ -624,13 +624,13 @@ var require_buffer = __commonJS({ } } } - Buffer3.prototype._isBuffer = true; + Buffer2.prototype._isBuffer = true; function swap(b, n, m) { const i = b[n]; b[n] = b[m]; b[m] = i; } - Buffer3.prototype.swap16 = function swap16() { + Buffer2.prototype.swap16 = function swap16() { const len = this.length; if (len % 2 !== 0) { throw new RangeError("Buffer size must be a multiple of 16-bits"); @@ -640,7 +640,7 @@ var require_buffer = __commonJS({ } return this; }; - Buffer3.prototype.swap32 = function swap32() { + Buffer2.prototype.swap32 = function swap32() { const len = this.length; if (len % 4 !== 0) { throw new RangeError("Buffer size must be a multiple of 32-bits"); @@ -651,7 +651,7 @@ var require_buffer = __commonJS({ } return this; }; - Buffer3.prototype.swap64 = function swap64() { + Buffer2.prototype.swap64 = function swap64() { const len = this.length; if (len % 8 !== 0) { throw new RangeError("Buffer size must be a multiple of 64-bits"); @@ -664,7 +664,7 @@ var require_buffer = __commonJS({ } return this; }; - Buffer3.prototype.toString = function toString() { + Buffer2.prototype.toString = function toString() { const length = this.length; if (length === 0) return ""; @@ -672,30 +672,30 @@ var require_buffer = __commonJS({ return utf8Slice(this, 0, length); return slowToString.apply(this, arguments); }; - Buffer3.prototype.toLocaleString = Buffer3.prototype.toString; - Buffer3.prototype.equals = function equals2(b) { - if (!Buffer3.isBuffer(b)) + Buffer2.prototype.toLocaleString = Buffer2.prototype.toString; + Buffer2.prototype.equals = function equals2(b) { + if (!Buffer2.isBuffer(b)) throw new TypeError("Argument must be a Buffer"); if (this === b) return true; - return Buffer3.compare(this, b) === 0; + return Buffer2.compare(this, b) === 0; }; - Buffer3.prototype.inspect = function inspect() { + Buffer2.prototype.inspect = function inspect() { let str = ""; - const max = exports.INSPECT_MAX_BYTES; + const max = exports2.INSPECT_MAX_BYTES; str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(); if (this.length > max) str += " ... "; return ""; }; if (customInspectSymbol) { - Buffer3.prototype[customInspectSymbol] = Buffer3.prototype.inspect; + Buffer2.prototype[customInspectSymbol] = Buffer2.prototype.inspect; } - Buffer3.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { + Buffer2.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { if (isInstance(target, Uint8Array)) { - target = Buffer3.from(target, target.offset, target.byteLength); + target = Buffer2.from(target, target.offset, target.byteLength); } - if (!Buffer3.isBuffer(target)) { + if (!Buffer2.isBuffer(target)) { throw new TypeError( 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target ); @@ -777,9 +777,9 @@ var require_buffer = __commonJS({ return -1; } if (typeof val === "string") { - val = Buffer3.from(val, encoding); + val = Buffer2.from(val, encoding); } - if (Buffer3.isBuffer(val)) { + if (Buffer2.isBuffer(val)) { if (val.length === 0) { return -1; } @@ -852,13 +852,13 @@ var require_buffer = __commonJS({ } return -1; } - Buffer3.prototype.includes = function includes(val, byteOffset, encoding) { + Buffer2.prototype.includes = function includes(val, byteOffset, encoding) { return this.indexOf(val, byteOffset, encoding) !== -1; }; - Buffer3.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + Buffer2.prototype.indexOf = function indexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, true); }; - Buffer3.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + Buffer2.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, false); }; function hexWrite(buf, string, offset, length) { @@ -897,7 +897,7 @@ var require_buffer = __commonJS({ function ucs2Write(buf, string, offset, length) { return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); } - Buffer3.prototype.write = function write(string, offset, length, encoding) { + Buffer2.prototype.write = function write(string, offset, length, encoding) { if (offset === void 0) { encoding = "utf8"; length = this.length; @@ -956,7 +956,7 @@ var require_buffer = __commonJS({ } } }; - Buffer3.prototype.toJSON = function toJSON() { + Buffer2.prototype.toJSON = function toJSON() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) @@ -1081,7 +1081,7 @@ var require_buffer = __commonJS({ } return res; } - Buffer3.prototype.slice = function slice(start, end) { + Buffer2.prototype.slice = function slice(start, end) { const len = this.length; start = ~~start; end = end === void 0 ? len : ~~end; @@ -1102,7 +1102,7 @@ var require_buffer = __commonJS({ if (end < start) end = start; const newBuf = this.subarray(start, end); - Object.setPrototypeOf(newBuf, Buffer3.prototype); + Object.setPrototypeOf(newBuf, Buffer2.prototype); return newBuf; }; function checkOffset(offset, ext, length) { @@ -1111,7 +1111,7 @@ var require_buffer = __commonJS({ if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length"); } - Buffer3.prototype.readUintLE = Buffer3.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + Buffer2.prototype.readUintLE = Buffer2.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) @@ -1124,7 +1124,7 @@ var require_buffer = __commonJS({ } return val; }; - Buffer3.prototype.readUintBE = Buffer3.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + Buffer2.prototype.readUintBE = Buffer2.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) { @@ -1137,37 +1137,37 @@ var require_buffer = __commonJS({ } return val; }; - Buffer3.prototype.readUint8 = Buffer3.prototype.readUInt8 = function readUInt8(offset, noAssert) { + Buffer2.prototype.readUint8 = Buffer2.prototype.readUInt8 = function readUInt8(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 1, this.length); return this[offset]; }; - Buffer3.prototype.readUint16LE = Buffer3.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + Buffer2.prototype.readUint16LE = Buffer2.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] | this[offset + 1] << 8; }; - Buffer3.prototype.readUint16BE = Buffer3.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + Buffer2.prototype.readUint16BE = Buffer2.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); return this[offset] << 8 | this[offset + 1]; }; - Buffer3.prototype.readUint32LE = Buffer3.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + Buffer2.prototype.readUint32LE = Buffer2.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; }; - Buffer3.prototype.readUint32BE = Buffer3.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + Buffer2.prototype.readUint32BE = Buffer2.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); }; - Buffer3.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) { + Buffer2.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) { offset = offset >>> 0; validateNumber(offset, "offset"); const first2 = this[offset]; @@ -1179,7 +1179,7 @@ var require_buffer = __commonJS({ const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last2 * 2 ** 24; return BigInt(lo) + (BigInt(hi) << BigInt(32)); }); - Buffer3.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) { + Buffer2.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) { offset = offset >>> 0; validateNumber(offset, "offset"); const first2 = this[offset]; @@ -1191,7 +1191,7 @@ var require_buffer = __commonJS({ const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last2; return (BigInt(hi) << BigInt(32)) + BigInt(lo); }); - Buffer3.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + Buffer2.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) @@ -1207,7 +1207,7 @@ var require_buffer = __commonJS({ val -= Math.pow(2, 8 * byteLength2); return val; }; - Buffer3.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + Buffer2.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; if (!noAssert) @@ -1223,7 +1223,7 @@ var require_buffer = __commonJS({ val -= Math.pow(2, 8 * byteLength2); return val; }; - Buffer3.prototype.readInt8 = function readInt8(offset, noAssert) { + Buffer2.prototype.readInt8 = function readInt8(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 1, this.length); @@ -1231,33 +1231,33 @@ var require_buffer = __commonJS({ return this[offset]; return (255 - this[offset] + 1) * -1; }; - Buffer3.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + Buffer2.prototype.readInt16LE = function readInt16LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); const val = this[offset] | this[offset + 1] << 8; return val & 32768 ? val | 4294901760 : val; }; - Buffer3.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + Buffer2.prototype.readInt16BE = function readInt16BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 2, this.length); const val = this[offset + 1] | this[offset] << 8; return val & 32768 ? val | 4294901760 : val; }; - Buffer3.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + Buffer2.prototype.readInt32LE = function readInt32LE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; }; - Buffer3.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + Buffer2.prototype.readInt32BE = function readInt32BE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; }; - Buffer3.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) { + Buffer2.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) { offset = offset >>> 0; validateNumber(offset, "offset"); const first2 = this[offset]; @@ -1268,7 +1268,7 @@ var require_buffer = __commonJS({ const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last2 << 24); return (BigInt(val) << BigInt(32)) + BigInt(first2 + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24); }); - Buffer3.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) { + Buffer2.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) { offset = offset >>> 0; validateNumber(offset, "offset"); const first2 = this[offset]; @@ -1280,39 +1280,39 @@ var require_buffer = __commonJS({ this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last2); }); - Buffer3.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + Buffer2.prototype.readFloatLE = function readFloatLE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return ieee754.read(this, offset, true, 23, 4); }; - Buffer3.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + Buffer2.prototype.readFloatBE = function readFloatBE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 4, this.length); return ieee754.read(this, offset, false, 23, 4); }; - Buffer3.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + Buffer2.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 8, this.length); return ieee754.read(this, offset, true, 52, 8); }; - Buffer3.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + Buffer2.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { offset = offset >>> 0; if (!noAssert) checkOffset(offset, 8, this.length); return ieee754.read(this, offset, false, 52, 8); }; function checkInt(buf, value, offset, ext, max, min) { - if (!Buffer3.isBuffer(buf)) + if (!Buffer2.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); if (offset + ext > buf.length) throw new RangeError("Index out of range"); } - Buffer3.prototype.writeUintLE = Buffer3.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + Buffer2.prototype.writeUintLE = Buffer2.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { value = +value; offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; @@ -1328,7 +1328,7 @@ var require_buffer = __commonJS({ } return offset + byteLength2; }; - Buffer3.prototype.writeUintBE = Buffer3.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + Buffer2.prototype.writeUintBE = Buffer2.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { value = +value; offset = offset >>> 0; byteLength2 = byteLength2 >>> 0; @@ -1344,7 +1344,7 @@ var require_buffer = __commonJS({ } return offset + byteLength2; }; - Buffer3.prototype.writeUint8 = Buffer3.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + Buffer2.prototype.writeUint8 = Buffer2.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1352,7 +1352,7 @@ var require_buffer = __commonJS({ this[offset] = value & 255; return offset + 1; }; - Buffer3.prototype.writeUint16LE = Buffer3.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + Buffer2.prototype.writeUint16LE = Buffer2.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1361,7 +1361,7 @@ var require_buffer = __commonJS({ this[offset + 1] = value >>> 8; return offset + 2; }; - Buffer3.prototype.writeUint16BE = Buffer3.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + Buffer2.prototype.writeUint16BE = Buffer2.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1370,7 +1370,7 @@ var require_buffer = __commonJS({ this[offset + 1] = value & 255; return offset + 2; }; - Buffer3.prototype.writeUint32LE = Buffer3.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + Buffer2.prototype.writeUint32LE = Buffer2.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1381,7 +1381,7 @@ var require_buffer = __commonJS({ this[offset] = value & 255; return offset + 4; }; - Buffer3.prototype.writeUint32BE = Buffer3.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + Buffer2.prototype.writeUint32BE = Buffer2.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1432,13 +1432,13 @@ var require_buffer = __commonJS({ buf[offset] = hi; return offset + 8; } - Buffer3.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) { + Buffer2.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) { return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); }); - Buffer3.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) { + Buffer2.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) { return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); }); - Buffer3.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + Buffer2.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) { @@ -1457,7 +1457,7 @@ var require_buffer = __commonJS({ } return offset + byteLength2; }; - Buffer3.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + Buffer2.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) { @@ -1476,7 +1476,7 @@ var require_buffer = __commonJS({ } return offset + byteLength2; }; - Buffer3.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + Buffer2.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1486,7 +1486,7 @@ var require_buffer = __commonJS({ this[offset] = value & 255; return offset + 1; }; - Buffer3.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + Buffer2.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1495,7 +1495,7 @@ var require_buffer = __commonJS({ this[offset + 1] = value >>> 8; return offset + 2; }; - Buffer3.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + Buffer2.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1504,7 +1504,7 @@ var require_buffer = __commonJS({ this[offset + 1] = value & 255; return offset + 2; }; - Buffer3.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + Buffer2.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1515,7 +1515,7 @@ var require_buffer = __commonJS({ this[offset + 3] = value >>> 24; return offset + 4; }; - Buffer3.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + Buffer2.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { value = +value; offset = offset >>> 0; if (!noAssert) @@ -1528,10 +1528,10 @@ var require_buffer = __commonJS({ this[offset + 3] = value & 255; return offset + 4; }; - Buffer3.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) { + Buffer2.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) { return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); }); - Buffer3.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) { + Buffer2.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) { return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); }); function checkIEEE754(buf, value, offset, ext, max, min) { @@ -1549,10 +1549,10 @@ var require_buffer = __commonJS({ ieee754.write(buf, value, offset, littleEndian, 23, 4); return offset + 4; } - Buffer3.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + Buffer2.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { return writeFloat(this, value, offset, true, noAssert); }; - Buffer3.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + Buffer2.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { return writeFloat(this, value, offset, false, noAssert); }; function writeDouble(buf, value, offset, littleEndian, noAssert) { @@ -1564,14 +1564,14 @@ var require_buffer = __commonJS({ ieee754.write(buf, value, offset, littleEndian, 52, 8); return offset + 8; } - Buffer3.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + Buffer2.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { return writeDouble(this, value, offset, true, noAssert); }; - Buffer3.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + Buffer2.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { return writeDouble(this, value, offset, false, noAssert); }; - Buffer3.prototype.copy = function copy2(target, targetStart, start, end) { - if (!Buffer3.isBuffer(target)) + Buffer2.prototype.copy = function copy2(target, targetStart, start, end) { + if (!Buffer2.isBuffer(target)) throw new TypeError("argument should be a Buffer"); if (!start) start = 0; @@ -1611,7 +1611,7 @@ var require_buffer = __commonJS({ } return len; }; - Buffer3.prototype.fill = function fill(val, start, end, encoding) { + Buffer2.prototype.fill = function fill(val, start, end, encoding) { if (typeof val === "string") { if (typeof start === "string") { encoding = start; @@ -1624,7 +1624,7 @@ var require_buffer = __commonJS({ if (encoding !== void 0 && typeof encoding !== "string") { throw new TypeError("encoding must be a string"); } - if (typeof encoding === "string" && !Buffer3.isEncoding(encoding)) { + if (typeof encoding === "string" && !Buffer2.isEncoding(encoding)) { throw new TypeError("Unknown encoding: " + encoding); } if (val.length === 1) { @@ -1654,7 +1654,7 @@ var require_buffer = __commonJS({ this[i] = val; } } else { - const bytes = Buffer3.isBuffer(val) ? val : Buffer3.from(val, encoding); + const bytes = Buffer2.isBuffer(val) ? val : Buffer2.from(val, encoding); const len = bytes.length; if (len === 0) { throw new TypeError('The value "' + val + '" is invalid for argument "value"'); @@ -1921,7 +1921,7 @@ var require_buffer = __commonJS({ }); // polyfill_buffer.js -var import_obsidian, buffer, Buffer2; +var import_obsidian, buffer, Buffer; var init_polyfill_buffer = __esm({ "polyfill_buffer.js"() { import_obsidian = require("obsidian"); @@ -1930,13 +1930,13 @@ var init_polyfill_buffer = __esm({ } else { buffer = global.Buffer; } - Buffer2 = buffer; + Buffer = buffer; } }); // node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/lib/index.js var require_lib = __commonJS({ - "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/lib/index.js"(exports, module2) { + "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/lib/index.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); var AsyncLock2 = function(opts) { @@ -2161,7 +2161,7 @@ var require_lib = __commonJS({ // node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/index.js var require_async_lock = __commonJS({ - "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/index.js"(exports, module2) { + "node_modules/.pnpm/async-lock@1.4.0/node_modules/async-lock/index.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); module2.exports = require_lib(); @@ -2170,7 +2170,7 @@ var require_async_lock = __commonJS({ // node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js var require_inherits_browser = __commonJS({ - "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module2) { + "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports2, module2) { init_polyfill_buffer(); if (typeof Object.create === "function") { module2.exports = function inherits(ctor, superCtor) { @@ -2203,37 +2203,37 @@ var require_inherits_browser = __commonJS({ // node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js var require_safe_buffer = __commonJS({ - "node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js"(exports, module2) { + "node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js"(exports2, module2) { init_polyfill_buffer(); var buffer2 = require_buffer(); - var Buffer3 = buffer2.Buffer; + var Buffer2 = buffer2.Buffer; function copyProps(src, dst) { for (var key2 in src) { dst[key2] = src[key2]; } } - if (Buffer3.from && Buffer3.alloc && Buffer3.allocUnsafe && Buffer3.allocUnsafeSlow) { + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { module2.exports = buffer2; } else { - copyProps(buffer2, exports); - exports.Buffer = SafeBuffer; + copyProps(buffer2, exports2); + exports2.Buffer = SafeBuffer; } function SafeBuffer(arg, encodingOrOffset, length) { - return Buffer3(arg, encodingOrOffset, length); + return Buffer2(arg, encodingOrOffset, length); } - SafeBuffer.prototype = Object.create(Buffer3.prototype); - copyProps(Buffer3, SafeBuffer); + SafeBuffer.prototype = Object.create(Buffer2.prototype); + copyProps(Buffer2, SafeBuffer); SafeBuffer.from = function(arg, encodingOrOffset, length) { if (typeof arg === "number") { throw new TypeError("Argument must not be a number"); } - return Buffer3(arg, encodingOrOffset, length); + return Buffer2(arg, encodingOrOffset, length); }; SafeBuffer.alloc = function(size, fill, encoding) { if (typeof size !== "number") { throw new TypeError("Argument must be a number"); } - var buf = Buffer3(size); + var buf = Buffer2(size); if (fill !== void 0) { if (typeof encoding === "string") { buf.fill(fill, encoding); @@ -2249,7 +2249,7 @@ var require_safe_buffer = __commonJS({ if (typeof size !== "number") { throw new TypeError("Argument must be a number"); } - return Buffer3(size); + return Buffer2(size); }; SafeBuffer.allocUnsafeSlow = function(size) { if (typeof size !== "number") { @@ -2262,11 +2262,11 @@ var require_safe_buffer = __commonJS({ // node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js var require_hash = __commonJS({ - "node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js"(exports, module2) { + "node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/hash.js"(exports2, module2) { init_polyfill_buffer(); - var Buffer3 = require_safe_buffer().Buffer; + var Buffer2 = require_safe_buffer().Buffer; function Hash2(blockSize, finalSize) { - this._block = Buffer3.alloc(blockSize); + this._block = Buffer2.alloc(blockSize); this._finalSize = finalSize; this._blockSize = blockSize; this._len = 0; @@ -2274,7 +2274,7 @@ var require_hash = __commonJS({ Hash2.prototype.update = function(data, enc) { if (typeof data === "string") { enc = enc || "utf8"; - data = Buffer3.from(data, enc); + data = Buffer2.from(data, enc); } var block = this._block; var blockSize = this._blockSize; @@ -2325,12 +2325,12 @@ var require_hash = __commonJS({ // node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js var require_sha1 = __commonJS({ - "node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js"(exports, module2) { + "node_modules/.pnpm/sha.js@2.4.11/node_modules/sha.js/sha1.js"(exports2, module2) { init_polyfill_buffer(); var inherits = require_inherits_browser(); var Hash2 = require_hash(); - var Buffer3 = require_safe_buffer().Buffer; - var K = [ + var Buffer2 = require_safe_buffer().Buffer; + var K2 = [ 1518500249, 1859775393, 2400959708 | 0, @@ -2380,7 +2380,7 @@ var require_sha1 = __commonJS({ W2[i] = rotl1(W2[i - 3] ^ W2[i - 8] ^ W2[i - 14] ^ W2[i - 16]); for (var j = 0; j < 80; ++j) { var s = ~~(j / 20); - var t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K[s] | 0; + var t = rotl5(a) + ft(s, b, c, d) + e + W2[j] + K2[s] | 0; e = d; d = c; c = rotl30(b); @@ -2394,7 +2394,7 @@ var require_sha1 = __commonJS({ this._e = e + this._e | 0; }; Sha1.prototype._hash = function() { - var H = Buffer3.allocUnsafe(20); + var H = Buffer2.allocUnsafe(20); H.writeInt32BE(this._a | 0, 0); H.writeInt32BE(this._b | 0, 4); H.writeInt32BE(this._c | 0, 8); @@ -2408,13 +2408,13 @@ var require_sha1 = __commonJS({ // node_modules/.pnpm/crc-32@1.2.2/node_modules/crc-32/crc32.js var require_crc32 = __commonJS({ - "node_modules/.pnpm/crc-32@1.2.2/node_modules/crc-32/crc32.js"(exports) { + "node_modules/.pnpm/crc-32@1.2.2/node_modules/crc-32/crc32.js"(exports2) { init_polyfill_buffer(); var CRC32; (function(factory) { if (typeof DO_NOT_EXPORT_CRC === "undefined") { - if ("object" === typeof exports) { - factory(exports); + if ("object" === typeof exports2) { + factory(exports2); } else if ("function" === typeof define && define.amd) { define(function() { var module3 = {}; @@ -2513,14 +2513,14 @@ var require_crc32 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js var require_common = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/common.js"(exports2) { "use strict"; init_polyfill_buffer(); var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; function _has(obj, key2) { return Object.prototype.hasOwnProperty.call(obj, key2); } - exports.assign = function(obj) { + exports2.assign = function(obj) { var sources = Array.prototype.slice.call(arguments, 1); while (sources.length) { var source = sources.shift(); @@ -2538,7 +2538,7 @@ var require_common = __commonJS({ } return obj; }; - exports.shrinkBuf = function(buf, size) { + exports2.shrinkBuf = function(buf, size) { if (buf.length === size) { return buf; } @@ -2586,26 +2586,26 @@ var require_common = __commonJS({ return [].concat.apply([], chunks); } }; - exports.setTyped = function(on) { + exports2.setTyped = function(on) { if (on) { - exports.Buf8 = Uint8Array; - exports.Buf16 = Uint16Array; - exports.Buf32 = Int32Array; - exports.assign(exports, fnTyped); + exports2.Buf8 = Uint8Array; + exports2.Buf16 = Uint16Array; + exports2.Buf32 = Int32Array; + exports2.assign(exports2, fnTyped); } else { - exports.Buf8 = Array; - exports.Buf16 = Array; - exports.Buf32 = Array; - exports.assign(exports, fnUntyped); + exports2.Buf8 = Array; + exports2.Buf16 = Array; + exports2.Buf32 = Array; + exports2.assign(exports2, fnUntyped); } }; - exports.setTyped(TYPED_OK); + exports2.setTyped(TYPED_OK); } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js var require_trees = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/trees.js"(exports2) { "use strict"; init_polyfill_buffer(); var utils = require_common(); @@ -3238,17 +3238,17 @@ var require_trees = __commonJS({ } return s.last_lit === s.lit_bufsize - 1; } - exports._tr_init = _tr_init; - exports._tr_stored_block = _tr_stored_block; - exports._tr_flush_block = _tr_flush_block; - exports._tr_tally = _tr_tally; - exports._tr_align = _tr_align; + exports2._tr_init = _tr_init; + exports2._tr_stored_block = _tr_stored_block; + exports2._tr_flush_block = _tr_flush_block; + exports2._tr_tally = _tr_tally; + exports2._tr_align = _tr_align; } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js var require_adler32 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/adler32.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); function adler32(adler, buf, len, pos) { @@ -3271,7 +3271,7 @@ var require_adler32 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js var require_crc322 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/crc32.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); function makeTable() { @@ -3300,7 +3300,7 @@ var require_crc322 = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js var require_messages = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/messages.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); module2.exports = { @@ -3328,7 +3328,7 @@ var require_messages = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js var require_deflate = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/deflate.js"(exports2) { "use strict"; init_polyfill_buffer(); var utils = require_common(); @@ -3986,7 +3986,7 @@ var require_deflate = __commonJS({ strm.state.gzhead = head; return Z_OK; } - function deflateInit2(strm, level, method, windowBits, memLevel, strategy) { + function deflateInit2(strm, level, method2, windowBits, memLevel, strategy) { if (!strm) { return Z_STREAM_ERROR; } @@ -4001,7 +4001,7 @@ var require_deflate = __commonJS({ wrap = 2; windowBits -= 16; } - if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method2 !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { return err(strm, Z_STREAM_ERROR); } if (windowBits === 8) { @@ -4029,7 +4029,7 @@ var require_deflate = __commonJS({ s.l_buf = (1 + 2) * s.lit_bufsize; s.level = level; s.strategy = strategy; - s.method = method; + s.method = method2; return deflateReset(strm); } function deflateInit(strm, level) { @@ -4364,21 +4364,21 @@ var require_deflate = __commonJS({ s.wrap = wrap; return Z_OK; } - exports.deflateInit = deflateInit; - exports.deflateInit2 = deflateInit2; - exports.deflateReset = deflateReset; - exports.deflateResetKeep = deflateResetKeep; - exports.deflateSetHeader = deflateSetHeader; - exports.deflate = deflate2; - exports.deflateEnd = deflateEnd; - exports.deflateSetDictionary = deflateSetDictionary; - exports.deflateInfo = "pako deflate (from Nodeca project)"; + exports2.deflateInit = deflateInit; + exports2.deflateInit2 = deflateInit2; + exports2.deflateReset = deflateReset; + exports2.deflateResetKeep = deflateResetKeep; + exports2.deflateSetHeader = deflateSetHeader; + exports2.deflate = deflate2; + exports2.deflateEnd = deflateEnd; + exports2.deflateSetDictionary = deflateSetDictionary; + exports2.deflateInfo = "pako deflate (from Nodeca project)"; } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js var require_strings = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/utils/strings.js"(exports2) { "use strict"; init_polyfill_buffer(); var utils = require_common(); @@ -4400,7 +4400,7 @@ var require_strings = __commonJS({ } var q; _utf8len[254] = _utf8len[254] = 1; - exports.string2buf = function(str) { + exports2.string2buf = function(str) { var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0; for (m_pos = 0; m_pos < str_len; m_pos++) { c = str.charCodeAt(m_pos); @@ -4453,17 +4453,17 @@ var require_strings = __commonJS({ } return result; } - exports.buf2binstring = function(buf) { + exports2.buf2binstring = function(buf) { return buf2binstring(buf, buf.length); }; - exports.binstring2buf = function(str) { + exports2.binstring2buf = function(str) { var buf = new utils.Buf8(str.length); for (var i = 0, len = buf.length; i < len; i++) { buf[i] = str.charCodeAt(i); } return buf; }; - exports.buf2string = function(buf, max) { + exports2.buf2string = function(buf, max) { var i, out, c, c_len; var len = max || buf.length; var utf16buf = new Array(len * 2); @@ -4498,7 +4498,7 @@ var require_strings = __commonJS({ } return buf2binstring(utf16buf, out); }; - exports.utf8border = function(buf, max) { + exports2.utf8border = function(buf, max) { var pos; max = max || buf.length; if (max > buf.length) { @@ -4521,7 +4521,7 @@ var require_strings = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js var require_zstream = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/zstream.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); function ZStream() { @@ -4544,7 +4544,7 @@ var require_zstream = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js var require_deflate2 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/deflate.js"(exports2) { "use strict"; init_polyfill_buffer(); var zlib_deflate = require_deflate(); @@ -4698,16 +4698,16 @@ var require_deflate2 = __commonJS({ options.gzip = true; return deflate2(input, options); } - exports.Deflate = Deflate; - exports.deflate = deflate2; - exports.deflateRaw = deflateRaw; - exports.gzip = gzip; + exports2.Deflate = Deflate; + exports2.deflate = deflate2; + exports2.deflateRaw = deflateRaw; + exports2.gzip = gzip; } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js var require_inffast = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inffast.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); var BAD = 30; @@ -4937,7 +4937,7 @@ var require_inffast = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js var require_inftrees = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inftrees.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); var utils = require_common(); @@ -5090,7 +5090,7 @@ var require_inftrees = __commonJS({ var len = 0; var sym = 0; var min = 0, max = 0; - var root = 0; + var root2 = 0; var curr = 0; var drop = 0; var left = 0; @@ -5115,14 +5115,14 @@ var require_inftrees = __commonJS({ for (sym = 0; sym < codes; sym++) { count[lens[lens_index + sym]]++; } - root = bits; + root2 = bits; for (max = MAXBITS; max >= 1; max--) { if (count[max] !== 0) { break; } } - if (root > max) { - root = max; + if (root2 > max) { + root2 = max; } if (max === 0) { table[table_index++] = 1 << 24 | 64 << 16 | 0; @@ -5135,8 +5135,8 @@ var require_inftrees = __commonJS({ break; } } - if (root < min) { - root = min; + if (root2 < min) { + root2 = min; } left = 1; for (len = 1; len <= MAXBITS; len++) { @@ -5176,10 +5176,10 @@ var require_inftrees = __commonJS({ sym = 0; len = min; next = table_index; - curr = root; + curr = root2; drop = 0; low = -1; - used = 1 << root; + used = 1 << root2; mask = used - 1; if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { return 1; @@ -5220,9 +5220,9 @@ var require_inftrees = __commonJS({ } len = lens[lens_index + work[sym]]; } - if (len > root && (huff & mask) !== low) { + if (len > root2 && (huff & mask) !== low) { if (drop === 0) { - drop = root; + drop = root2; } next += min; curr = len - drop; @@ -5240,13 +5240,13 @@ var require_inftrees = __commonJS({ return 1; } low = huff & mask; - table[low] = root << 24 | curr << 16 | next - table_index | 0; + table[low] = root2 << 24 | curr << 16 | next - table_index | 0; } } if (huff !== 0) { table[next + huff] = len - drop << 24 | 64 << 16 | 0; } - opts.bits = root; + opts.bits = root2; return 0; }; } @@ -5254,7 +5254,7 @@ var require_inftrees = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js var require_inflate = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/inflate.js"(exports2) { "use strict"; init_polyfill_buffer(); var utils = require_common(); @@ -5281,7 +5281,7 @@ var require_inflate = __commonJS({ var TIME = 3; var OS = 4; var EXLEN = 5; - var EXTRA = 6; + var EXTRA2 = 6; var NAME = 7; var COMMENT = 8; var HCRC = 9; @@ -5698,8 +5698,8 @@ var require_inflate = __commonJS({ } else if (state.head) { state.head.extra = null; } - state.mode = EXTRA; - case EXTRA: + state.mode = EXTRA2; + case EXTRA2: if (state.flags & 1024) { copy2 = state.length; if (copy2 > have) { @@ -6456,22 +6456,22 @@ var require_inflate = __commonJS({ state.havedict = 1; return Z_OK; } - exports.inflateReset = inflateReset; - exports.inflateReset2 = inflateReset2; - exports.inflateResetKeep = inflateResetKeep; - exports.inflateInit = inflateInit; - exports.inflateInit2 = inflateInit2; - exports.inflate = inflate2; - exports.inflateEnd = inflateEnd; - exports.inflateGetHeader = inflateGetHeader; - exports.inflateSetDictionary = inflateSetDictionary; - exports.inflateInfo = "pako inflate (from Nodeca project)"; + exports2.inflateReset = inflateReset; + exports2.inflateReset2 = inflateReset2; + exports2.inflateResetKeep = inflateResetKeep; + exports2.inflateInit = inflateInit; + exports2.inflateInit2 = inflateInit2; + exports2.inflate = inflate2; + exports2.inflateEnd = inflateEnd; + exports2.inflateGetHeader = inflateGetHeader; + exports2.inflateSetDictionary = inflateSetDictionary; + exports2.inflateInfo = "pako inflate (from Nodeca project)"; } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js var require_constants = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/constants.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); module2.exports = { @@ -6519,7 +6519,7 @@ var require_constants = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js var require_gzheader = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/zlib/gzheader.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); function GZheader() { @@ -6540,7 +6540,7 @@ var require_gzheader = __commonJS({ // node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js var require_inflate2 = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js"(exports) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/lib/inflate.js"(exports2) { "use strict"; init_polyfill_buffer(); var zlib_inflate = require_inflate(); @@ -6707,16 +6707,16 @@ var require_inflate2 = __commonJS({ options.raw = true; return inflate2(input, options); } - exports.Inflate = Inflate; - exports.inflate = inflate2; - exports.inflateRaw = inflateRaw; - exports.ungzip = inflate2; + exports2.Inflate = Inflate; + exports2.inflate = inflate2; + exports2.inflateRaw = inflateRaw; + exports2.ungzip = inflate2; } }); // node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js var require_pako = __commonJS({ - "node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js"(exports, module2) { + "node_modules/.pnpm/pako@1.0.11/node_modules/pako/index.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); var assign2 = require_common().assign; @@ -6731,7 +6731,7 @@ var require_pako = __commonJS({ // node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js var require_pify = __commonJS({ - "node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js"(exports, module2) { + "node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); var processFn = (fn, options) => function(...args) { @@ -6797,7 +6797,7 @@ var require_pify = __commonJS({ // node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js var require_ignore = __commonJS({ - "node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js"(exports, module2) { + "node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.js"(exports2, module2) { init_polyfill_buffer(); function makeArray(subject) { return Array.isArray(subject) ? subject : [subject]; @@ -7171,7 +7171,7 @@ var require_ignore = __commonJS({ // node_modules/.pnpm/clean-git-ref@2.0.1/node_modules/clean-git-ref/lib/index.js var require_lib2 = __commonJS({ - "node_modules/.pnpm/clean-git-ref@2.0.1/node_modules/clean-git-ref/lib/index.js"(exports, module2) { + "node_modules/.pnpm/clean-git-ref@2.0.1/node_modules/clean-git-ref/lib/index.js"(exports2, module2) { "use strict"; init_polyfill_buffer(); function escapeRegExp(string) { @@ -7205,7 +7205,7 @@ var require_lib2 = __commonJS({ // node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/onp.js var require_onp = __commonJS({ - "node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/onp.js"(exports, module2) { + "node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/onp.js"(exports2, module2) { init_polyfill_buffer(); module2.exports = function(a_, b_) { var a = a_, b = b_, m = a.length, n = b.length, reverse = false, ed = null, offset = m + 1, path2 = [], pathposi = [], ses = [], lcs = "", SES_DELETE = -1, SES_COMMON = 0, SES_ADD = 1; @@ -7335,14 +7335,14 @@ var require_onp = __commonJS({ // node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/diff3.js var require_diff3 = __commonJS({ - "node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/diff3.js"(exports, module2) { + "node_modules/.pnpm/diff3@0.0.3/node_modules/diff3/diff3.js"(exports2, module2) { init_polyfill_buffer(); var onp = require_onp(); function longestCommonSubsequence(file1, file2) { var diff2 = new onp(file1, file2); diff2.compose(); var ses = diff2.getses(); - var root; + var root2; var prev; var file1RevIdx = file1.length - 1, file2RevIdx = file2.length - 1; for (var i = ses.length - 1; i >= 0; --i) { @@ -7355,12 +7355,12 @@ var require_diff3 = __commonJS({ }; prev = prev.chain; } else { - root = { + root2 = { file1index: file1RevIdx, file2index: file2RevIdx, chain: null }; - prev = root; + prev = root2; } file1RevIdx--; file2RevIdx--; @@ -7379,7 +7379,7 @@ var require_diff3 = __commonJS({ return tail; } prev.chain = tail; - return root; + return root2; } function diffIndices(file1, file2) { var result = []; @@ -7541,7 +7541,7 @@ var require_diff3 = __commonJS({ // node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js var require_ms = __commonJS({ - "node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js"(exports, module2) { + "node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js"(exports2, module2) { init_polyfill_buffer(); var s = 1e3; var m = s * 60; @@ -7658,7 +7658,7 @@ var require_ms = __commonJS({ // node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/common.js var require_common2 = __commonJS({ - "node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/common.js"(exports, module2) { + "node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/common.js"(exports2, module2) { init_polyfill_buffer(); function setup(env) { createDebug.debug = createDebug; @@ -7822,14 +7822,14 @@ var require_common2 = __commonJS({ // node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/browser.js var require_browser = __commonJS({ - "node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/browser.js"(exports, module2) { + "node_modules/.pnpm/debug@4.3.4_supports-color@7.2.0/node_modules/debug/src/browser.js"(exports2, module2) { init_polyfill_buffer(); - exports.formatArgs = formatArgs; - exports.save = save; - exports.load = load; - exports.useColors = useColors; - exports.storage = localstorage(); - exports.destroy = (() => { + exports2.formatArgs = formatArgs; + exports2.save = save; + exports2.load = load; + exports2.useColors = useColors; + exports2.storage = localstorage(); + exports2.destroy = (() => { let warned = false; return () => { if (!warned) { @@ -7838,7 +7838,7 @@ var require_browser = __commonJS({ } }; })(); - exports.colors = [ + exports2.colors = [ "#0000CC", "#0000FF", "#0033CC", @@ -7949,14 +7949,14 @@ var require_browser = __commonJS({ }); args.splice(lastC, 0, c); } - exports.log = console.debug || console.log || (() => { + exports2.log = console.debug || console.log || (() => { }); function save(namespaces) { try { if (namespaces) { - exports.storage.setItem("debug", namespaces); + exports2.storage.setItem("debug", namespaces); } else { - exports.storage.removeItem("debug"); + exports2.storage.removeItem("debug"); } } catch (error) { } @@ -7964,7 +7964,7 @@ var require_browser = __commonJS({ function load() { let r; try { - r = exports.storage.getItem("debug"); + r = exports2.storage.getItem("debug"); } catch (error) { } if (!r && typeof process !== "undefined" && "env" in process) { @@ -7978,7 +7978,7 @@ var require_browser = __commonJS({ } catch (error) { } } - module2.exports = require_common2()(exports); + module2.exports = require_common2()(exports2); var { formatters } = module2.exports; formatters.j = function(v) { try { @@ -7992,13 +7992,13 @@ var require_browser = __commonJS({ // node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/src/index.js var require_src = __commonJS({ - "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/src/index.js"(exports) { + "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/src/index.js"(exports2) { "use strict"; init_polyfill_buffer(); - var __importDefault = exports && exports.__importDefault || function(mod) { + var __importDefault = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; - Object.defineProperty(exports, "__esModule", { value: true }); + Object.defineProperty(exports2, "__esModule", { value: true }); var fs_1 = require("fs"); var debug_1 = __importDefault(require_browser()); var log2 = debug_1.default("@kwsites/file-exists"); @@ -8025,38 +8025,38 @@ var require_src = __commonJS({ throw e; } } - function exists2(path2, type = exports.READABLE) { - return check(path2, (type & exports.FILE) > 0, (type & exports.FOLDER) > 0); + function exists2(path2, type = exports2.READABLE) { + return check(path2, (type & exports2.FILE) > 0, (type & exports2.FOLDER) > 0); } - exports.exists = exists2; - exports.FILE = 1; - exports.FOLDER = 2; - exports.READABLE = exports.FILE + exports.FOLDER; + exports2.exists = exists2; + exports2.FILE = 1; + exports2.FOLDER = 2; + exports2.READABLE = exports2.FILE + exports2.FOLDER; } }); // node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/index.js var require_dist = __commonJS({ - "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/index.js"(exports) { + "node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@7.2.0/node_modules/@kwsites/file-exists/dist/index.js"(exports2) { "use strict"; init_polyfill_buffer(); function __export3(m) { for (var p in m) - if (!exports.hasOwnProperty(p)) - exports[p] = m[p]; + if (!exports2.hasOwnProperty(p)) + exports2[p] = m[p]; } - Object.defineProperty(exports, "__esModule", { value: true }); + Object.defineProperty(exports2, "__esModule", { value: true }); __export3(require_src()); } }); // node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js var require_dist2 = __commonJS({ - "node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js"(exports) { + "node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/dist/index.js"(exports2) { "use strict"; init_polyfill_buffer(); - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createDeferred = exports.deferred = void 0; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createDeferred = exports2.deferred = void 0; function deferred2() { let done; let fail; @@ -8087,15 +8087,4470 @@ var require_dist2 = __commonJS({ } }; } - exports.deferred = deferred2; - exports.createDeferred = deferred2; - exports.default = deferred2; + exports2.deferred = deferred2; + exports2.createDeferred = deferred2; + exports2.default = deferred2; + } +}); + +// node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +var require_color_name = __commonJS({ + "node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + module2.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] + }; + } +}); + +// node_modules/.pnpm/css-unit-converter@1.1.2/node_modules/css-unit-converter/index.js +var require_css_unit_converter = __commonJS({ + "node_modules/.pnpm/css-unit-converter@1.1.2/node_modules/css-unit-converter/index.js"(exports2, module2) { + init_polyfill_buffer(); + var conversions = { + // length + "px": { + "px": 1, + "cm": 96 / 2.54, + "mm": 96 / 25.4, + "in": 96, + "pt": 96 / 72, + "pc": 16 + }, + "cm": { + "px": 2.54 / 96, + "cm": 1, + "mm": 0.1, + "in": 2.54, + "pt": 2.54 / 72, + "pc": 2.54 / 6 + }, + "mm": { + "px": 25.4 / 96, + "cm": 10, + "mm": 1, + "in": 25.4, + "pt": 25.4 / 72, + "pc": 25.4 / 6 + }, + "in": { + "px": 1 / 96, + "cm": 1 / 2.54, + "mm": 1 / 25.4, + "in": 1, + "pt": 1 / 72, + "pc": 1 / 6 + }, + "pt": { + "px": 0.75, + "cm": 72 / 2.54, + "mm": 72 / 25.4, + "in": 72, + "pt": 1, + "pc": 12 + }, + "pc": { + "px": 6 / 96, + "cm": 6 / 2.54, + "mm": 6 / 25.4, + "in": 6, + "pt": 6 / 72, + "pc": 1 + }, + // angle + "deg": { + "deg": 1, + "grad": 0.9, + "rad": 180 / Math.PI, + "turn": 360 + }, + "grad": { + "deg": 400 / 360, + "grad": 1, + "rad": 200 / Math.PI, + "turn": 400 + }, + "rad": { + "deg": Math.PI / 180, + "grad": Math.PI / 200, + "rad": 1, + "turn": Math.PI * 2 + }, + "turn": { + "deg": 1 / 360, + "grad": 1 / 400, + "rad": 0.5 / Math.PI, + "turn": 1 + }, + // time + "s": { + "s": 1, + "ms": 1 / 1e3 + }, + "ms": { + "s": 1e3, + "ms": 1 + }, + // frequency + "Hz": { + "Hz": 1, + "kHz": 1e3 + }, + "kHz": { + "Hz": 1 / 1e3, + "kHz": 1 + }, + // resolution + "dpi": { + "dpi": 1, + "dpcm": 1 / 2.54, + "dppx": 1 / 96 + }, + "dpcm": { + "dpi": 2.54, + "dpcm": 1, + "dppx": 2.54 / 96 + }, + "dppx": { + "dpi": 96, + "dpcm": 96 / 2.54, + "dppx": 1 + } + }; + module2.exports = function(value, sourceUnit, targetUnit, precision) { + if (!conversions.hasOwnProperty(targetUnit)) + throw new Error("Cannot convert to " + targetUnit); + if (!conversions[targetUnit].hasOwnProperty(sourceUnit)) + throw new Error("Cannot convert from " + sourceUnit + " to " + targetUnit); + var converted = conversions[targetUnit][sourceUnit] * value; + if (precision !== false) { + precision = Math.pow(10, parseInt(precision) || 5); + return Math.round(converted * precision) / precision; + } + return converted; + }; + } +}); + +// node_modules/.pnpm/css-color-converter@2.0.0/node_modules/css-color-converter/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/.pnpm/css-color-converter@2.0.0/node_modules/css-color-converter/lib/index.js"(exports2) { + "use strict"; + init_polyfill_buffer(); + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.fromRgba = fromRgba; + exports2.fromRgb = fromRgb; + exports2.fromHsla = fromHsla; + exports2.fromHsl = fromHsl; + exports2.fromString = fromString2; + exports2["default"] = void 0; + var _colorName = _interopRequireDefault(require_color_name()); + var _cssUnitConverter = _interopRequireDefault(require_css_unit_converter()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + function _classCallCheck(instance10, Constructor) { + if (!(instance10 instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) + _defineProperties(Constructor.prototype, protoProps); + if (staticProps) + _defineProperties(Constructor, staticProps); + return Constructor; + } + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest(); + } + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _unsupportedIterableToArray2(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray2(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray2(o, minLen); + } + function _arrayLikeToArray2(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; + } + function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) + return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; + } + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) + return arr; + } + var hex = /^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/; + var shortHex = /^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/; + var rgb = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/; + var rgbfn = /^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/; + var rgbperc = /^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/; + var rgbpercfn = /^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/; + var hsl = /^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/; + function contains2(haystack, needle) { + return haystack.indexOf(needle) > -1; + } + function rgbToHsl(r, g, b) { + var rprim = r / 255; + var gprim = g / 255; + var bprim = b / 255; + var cmax = Math.max(rprim, gprim, bprim); + var cmin = Math.min(rprim, gprim, bprim); + var delta = cmax - cmin; + var l = (cmax + cmin) / 2; + if (delta === 0) { + return [0, 0, l * 100]; + } + var s = delta / (1 - Math.abs(2 * l - 1)); + var h = function() { + switch (cmax) { + case rprim: { + return (gprim - bprim) / delta % 6; + } + case gprim: { + return (bprim - rprim) / delta + 2; + } + default: { + return (rprim - gprim) / delta + 4; + } + } + }(); + return [h * 60, s * 100, l * 100]; + } + function hslToRgb(h, s, l) { + var hprim = h / 60; + var sprim = s / 100; + var lprim = l / 100; + var c = (1 - Math.abs(2 * lprim - 1)) * sprim; + var x = c * (1 - Math.abs(hprim % 2 - 1)); + var m = lprim - c / 2; + var _ref = function() { + if (hprim < 1) + return [c, x, 0]; + if (hprim < 2) + return [x, c, 0]; + if (hprim < 3) + return [0, c, x]; + if (hprim < 4) + return [0, x, c]; + if (hprim < 5) + return [x, 0, c]; + return [c, 0, x]; + }(), _ref2 = _slicedToArray(_ref, 3), rprim = _ref2[0], gprim = _ref2[1], bprim = _ref2[2]; + return [(rprim + m) * 255, (gprim + m) * 255, (bprim + m) * 255]; + } + var Color = /* @__PURE__ */ function() { + function Color2(_ref3) { + var _ref4 = _slicedToArray(_ref3, 4), r = _ref4[0], g = _ref4[1], b = _ref4[2], a = _ref4[3]; + _classCallCheck(this, Color2); + this.values = [Math.max(Math.min(parseInt(r, 10), 255), 0), Math.max(Math.min(parseInt(g, 10), 255), 0), Math.max(Math.min(parseInt(b, 10), 255), 0), a == null ? 1 : Math.max(Math.min(parseFloat(a), 255), 0)]; + } + _createClass(Color2, [{ + key: "toRgbString", + value: function toRgbString() { + var _this$values = _slicedToArray(this.values, 4), r = _this$values[0], g = _this$values[1], b = _this$values[2], a = _this$values[3]; + if (a === 1) { + return "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")"); + } + return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")"); + } + }, { + key: "toHslString", + value: function toHslString() { + var _this$toHslaArray = this.toHslaArray(), _this$toHslaArray2 = _slicedToArray(_this$toHslaArray, 4), h = _this$toHslaArray2[0], s = _this$toHslaArray2[1], l = _this$toHslaArray2[2], a = _this$toHslaArray2[3]; + if (a === 1) { + return "hsl(".concat(h, ", ").concat(s, "%, ").concat(l, "%)"); + } + return "hsla(".concat(h, ", ").concat(s, "%, ").concat(l, "%, ").concat(a, ")"); + } + }, { + key: "toHexString", + value: function toHexString() { + var _this$values2 = _slicedToArray(this.values, 4), r = _this$values2[0], g = _this$values2[1], b = _this$values2[2], a = _this$values2[3]; + r = Number(r).toString(16).padStart(2, "0"); + g = Number(g).toString(16).padStart(2, "0"); + b = Number(b).toString(16).padStart(2, "0"); + a = a < 1 ? parseInt(a * 255, 10).toString(16).padStart(2, "0") : ""; + return "#".concat(r).concat(g).concat(b).concat(a); + } + }, { + key: "toRgbaArray", + value: function toRgbaArray() { + return this.values; + } + }, { + key: "toHslaArray", + value: function toHslaArray() { + var _this$values3 = _slicedToArray(this.values, 4), r = _this$values3[0], g = _this$values3[1], b = _this$values3[2], a = _this$values3[3]; + var _rgbToHsl = rgbToHsl(r, g, b), _rgbToHsl2 = _slicedToArray(_rgbToHsl, 3), h = _rgbToHsl2[0], s = _rgbToHsl2[1], l = _rgbToHsl2[2]; + return [h, s, l, a]; + } + }]); + return Color2; + }(); + function fromRgba(_ref5) { + var _ref6 = _slicedToArray(_ref5, 4), r = _ref6[0], g = _ref6[1], b = _ref6[2], a = _ref6[3]; + return new Color([r, g, b, a]); + } + function fromRgb(_ref7) { + var _ref8 = _slicedToArray(_ref7, 3), r = _ref8[0], g = _ref8[1], b = _ref8[2]; + return fromRgba([r, g, b, 1]); + } + function fromHsla(_ref9) { + var _ref10 = _slicedToArray(_ref9, 4), h = _ref10[0], s = _ref10[1], l = _ref10[2], a = _ref10[3]; + var _hslToRgb = hslToRgb(h, s, l), _hslToRgb2 = _slicedToArray(_hslToRgb, 3), r = _hslToRgb2[0], g = _hslToRgb2[1], b = _hslToRgb2[2]; + return fromRgba([r, g, b, a]); + } + function fromHsl(_ref11) { + var _ref12 = _slicedToArray(_ref11, 3), h = _ref12[0], s = _ref12[1], l = _ref12[2]; + return fromHsla([h, s, l, 1]); + } + function fromHexString(str) { + var _ref13 = hex.exec(str) || shortHex.exec(str), _ref14 = _slicedToArray(_ref13, 5), r = _ref14[1], g = _ref14[2], b = _ref14[3], a = _ref14[4]; + r = parseInt(r.length < 2 ? r.repeat(2) : r, 16); + g = parseInt(g.length < 2 ? g.repeat(2) : g, 16); + b = parseInt(b.length < 2 ? b.repeat(2) : b, 16); + a = a && (parseInt(a.length < 2 ? a.repeat(2) : a, 16) / 255).toPrecision(1) || 1; + return fromRgba([r, g, b, a]); + } + function fromRgbString(str) { + var _ref15 = rgb.exec(str) || rgbperc.exec(str) || rgbfn.exec(str) || rgbpercfn.exec(str), _ref16 = _slicedToArray(_ref15, 5), r = _ref16[1], g = _ref16[2], b = _ref16[3], a = _ref16[4]; + r = contains2(r, "%") ? parseInt(r, 10) * 255 / 100 : parseInt(r, 10); + g = contains2(g, "%") ? parseInt(g, 10) * 255 / 100 : parseInt(g, 10); + b = contains2(b, "%") > 0 ? parseInt(b, 10) * 255 / 100 : parseInt(b, 10); + a = a === void 0 ? 1 : parseFloat(a) / (contains2(a, "%") ? 100 : 1); + return fromRgba([r, g, b, a]); + } + function fromHslString(str) { + var _hsl$exec = hsl.exec(str), _hsl$exec2 = _slicedToArray(_hsl$exec, 6), h = _hsl$exec2[1], unit = _hsl$exec2[2], s = _hsl$exec2[3], l = _hsl$exec2[4], a = _hsl$exec2[5]; + unit = unit || "deg"; + h = (0, _cssUnitConverter["default"])(parseFloat(h), unit, "deg"); + s = parseFloat(s); + l = parseFloat(l); + a = a === void 0 ? 1 : parseFloat(a) / (contains2(a, "%") ? 100 : 1); + return fromHsla([h, s, l, a]); + } + function fromString2(str) { + if (_colorName["default"][str]) { + return fromRgb(_colorName["default"][str]); + } + if (hex.test(str) || shortHex.test(str)) { + return fromHexString(str); + } + if (rgb.test(str) || rgbperc.test(str) || rgbfn.test(str) || rgbpercfn.test(str)) { + return fromRgbString(str); + } + if (hsl.test(str)) { + return fromHslString(str); + } + return null; + } + var _default = { + fromString: fromString2, + fromRgb, + fromRgba, + fromHsl, + fromHsla + }; + exports2["default"] = _default; + } +}); + +// node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js +var require_isArguments = __commonJS({ + "node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var toStr = Object.prototype.toString; + module2.exports = function isArguments(value) { + var str = toStr.call(value); + var isArgs = str === "[object Arguments]"; + if (!isArgs) { + isArgs = str !== "[object Array]" && value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && toStr.call(value.callee) === "[object Function]"; + } + return isArgs; + }; + } +}); + +// node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js +var require_implementation = __commonJS({ + "node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var keysShim; + if (!Object.keys) { + has = Object.prototype.hasOwnProperty; + toStr = Object.prototype.toString; + isArgs = require_isArguments(); + isEnumerable = Object.prototype.propertyIsEnumerable; + hasDontEnumBug = !isEnumerable.call({ toString: null }, "toString"); + hasProtoEnumBug = isEnumerable.call(function() { + }, "prototype"); + dontEnums = [ + "toString", + "toLocaleString", + "valueOf", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "constructor" + ]; + equalsConstructorPrototype = function(o) { + var ctor = o.constructor; + return ctor && ctor.prototype === o; + }; + excludedKeys = { + $applicationCache: true, + $console: true, + $external: true, + $frame: true, + $frameElement: true, + $frames: true, + $innerHeight: true, + $innerWidth: true, + $onmozfullscreenchange: true, + $onmozfullscreenerror: true, + $outerHeight: true, + $outerWidth: true, + $pageXOffset: true, + $pageYOffset: true, + $parent: true, + $scrollLeft: true, + $scrollTop: true, + $scrollX: true, + $scrollY: true, + $self: true, + $webkitIndexedDB: true, + $webkitStorageInfo: true, + $window: true + }; + hasAutomationEqualityBug = function() { + if (typeof window === "undefined") { + return false; + } + for (var k in window) { + try { + if (!excludedKeys["$" + k] && has.call(window, k) && window[k] !== null && typeof window[k] === "object") { + try { + equalsConstructorPrototype(window[k]); + } catch (e) { + return true; + } + } + } catch (e) { + return true; + } + } + return false; + }(); + equalsConstructorPrototypeIfNotBuggy = function(o) { + if (typeof window === "undefined" || !hasAutomationEqualityBug) { + return equalsConstructorPrototype(o); + } + try { + return equalsConstructorPrototype(o); + } catch (e) { + return false; + } + }; + keysShim = function keys(object) { + var isObject = object !== null && typeof object === "object"; + var isFunction = toStr.call(object) === "[object Function]"; + var isArguments = isArgs(object); + var isString = isObject && toStr.call(object) === "[object String]"; + var theKeys = []; + if (!isObject && !isFunction && !isArguments) { + throw new TypeError("Object.keys called on a non-object"); + } + var skipProto = hasProtoEnumBug && isFunction; + if (isString && object.length > 0 && !has.call(object, 0)) { + for (var i = 0; i < object.length; ++i) { + theKeys.push(String(i)); + } + } + if (isArguments && object.length > 0) { + for (var j = 0; j < object.length; ++j) { + theKeys.push(String(j)); + } + } else { + for (var name in object) { + if (!(skipProto && name === "prototype") && has.call(object, name)) { + theKeys.push(String(name)); + } + } + } + if (hasDontEnumBug) { + var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); + for (var k = 0; k < dontEnums.length; ++k) { + if (!(skipConstructor && dontEnums[k] === "constructor") && has.call(object, dontEnums[k])) { + theKeys.push(dontEnums[k]); + } + } + } + return theKeys; + }; + } + var has; + var toStr; + var isArgs; + var isEnumerable; + var hasDontEnumBug; + var hasProtoEnumBug; + var dontEnums; + var equalsConstructorPrototype; + var excludedKeys; + var hasAutomationEqualityBug; + var equalsConstructorPrototypeIfNotBuggy; + module2.exports = keysShim; + } +}); + +// node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js +var require_object_keys = __commonJS({ + "node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var slice = Array.prototype.slice; + var isArgs = require_isArguments(); + var origKeys = Object.keys; + var keysShim = origKeys ? function keys(o) { + return origKeys(o); + } : require_implementation(); + var originalKeys = Object.keys; + keysShim.shim = function shimObjectKeys() { + if (Object.keys) { + var keysWorksWithArguments = function() { + var args = Object.keys(arguments); + return args && args.length === arguments.length; + }(1, 2); + if (!keysWorksWithArguments) { + Object.keys = function keys(object) { + if (isArgs(object)) { + return originalKeys(slice.call(object)); + } + return originalKeys(object); + }; + } + } else { + Object.keys = keysShim; + } + return Object.keys || keysShim; + }; + module2.exports = keysShim; + } +}); + +// node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js +var require_shams = __commonJS({ + "node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + module2.exports = function hasSymbols() { + if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { + return false; + } + if (typeof Symbol.iterator === "symbol") { + return true; + } + var obj = {}; + var sym = Symbol("test"); + var symObj = Object(sym); + if (typeof sym === "string") { + return false; + } + if (Object.prototype.toString.call(sym) !== "[object Symbol]") { + return false; + } + if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { + return false; + } + var symVal = 42; + obj[sym] = symVal; + for (sym in obj) { + return false; + } + if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { + return false; + } + if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { + return false; + } + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { + return false; + } + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { + return false; + } + if (typeof Object.getOwnPropertyDescriptor === "function") { + var descriptor = Object.getOwnPropertyDescriptor(obj, sym); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { + return false; + } + } + return true; + }; + } +}); + +// node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js +var require_has_symbols = __commonJS({ + "node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var origSymbol = typeof Symbol !== "undefined" && Symbol; + var hasSymbolSham = require_shams(); + module2.exports = function hasNativeSymbols() { + if (typeof origSymbol !== "function") { + return false; + } + if (typeof Symbol !== "function") { + return false; + } + if (typeof origSymbol("foo") !== "symbol") { + return false; + } + if (typeof Symbol("bar") !== "symbol") { + return false; + } + return hasSymbolSham(); + }; + } +}); + +// node_modules/.pnpm/function-bind@1.1.1/node_modules/function-bind/implementation.js +var require_implementation2 = __commonJS({ + "node_modules/.pnpm/function-bind@1.1.1/node_modules/function-bind/implementation.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; + var slice = Array.prototype.slice; + var toStr = Object.prototype.toString; + var funcType = "[object Function]"; + module2.exports = function bind(that) { + var target = this; + if (typeof target !== "function" || toStr.call(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slice.call(arguments, 1); + var bound; + var binder = function() { + if (this instanceof bound) { + var result = target.apply( + this, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return this; + } else { + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + } + }; + var boundLength = Math.max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs.push("$" + i); + } + bound = Function("binder", "return function (" + boundArgs.join(",") + "){ return binder.apply(this,arguments); }")(binder); + if (target.prototype) { + var Empty = function Empty2() { + }; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + return bound; + }; + } +}); + +// node_modules/.pnpm/function-bind@1.1.1/node_modules/function-bind/index.js +var require_function_bind = __commonJS({ + "node_modules/.pnpm/function-bind@1.1.1/node_modules/function-bind/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var implementation = require_implementation2(); + module2.exports = Function.prototype.bind || implementation; + } +}); + +// node_modules/.pnpm/has@1.0.3/node_modules/has/src/index.js +var require_src2 = __commonJS({ + "node_modules/.pnpm/has@1.0.3/node_modules/has/src/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var bind = require_function_bind(); + module2.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); + } +}); + +// node_modules/.pnpm/get-intrinsic@1.2.0/node_modules/get-intrinsic/index.js +var require_get_intrinsic = __commonJS({ + "node_modules/.pnpm/get-intrinsic@1.2.0/node_modules/get-intrinsic/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var undefined2; + var $SyntaxError = SyntaxError; + var $Function = Function; + var $TypeError = TypeError; + var getEvalledConstructor = function(expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); + } catch (e) { + } + }; + var $gOPD = Object.getOwnPropertyDescriptor; + if ($gOPD) { + try { + $gOPD({}, ""); + } catch (e) { + $gOPD = null; + } + } + var throwTypeError = function() { + throw new $TypeError(); + }; + var ThrowTypeError = $gOPD ? function() { + try { + arguments.callee; + return throwTypeError; + } catch (calleeThrows) { + try { + return $gOPD(arguments, "callee").get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }() : throwTypeError; + var hasSymbols = require_has_symbols()(); + var getProto = Object.getPrototypeOf || function(x) { + return x.__proto__; + }; + var needsEval = {}; + var TypedArray = typeof Uint8Array === "undefined" ? undefined2 : getProto(Uint8Array); + var INTRINSICS = { + "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, + "%ArrayIteratorPrototype%": hasSymbols ? getProto([][Symbol.iterator]()) : undefined2, + "%AsyncFromSyncIteratorPrototype%": undefined2, + "%AsyncFunction%": needsEval, + "%AsyncGenerator%": needsEval, + "%AsyncGeneratorFunction%": needsEval, + "%AsyncIteratorPrototype%": needsEval, + "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, + "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, + "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, + "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": Error, + "%eval%": eval, + // eslint-disable-line no-eval + "%EvalError%": EvalError, + "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, + "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, + "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, + "%Function%": $Function, + "%GeneratorFunction%": needsEval, + "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, + "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, + "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined2, + "%JSON%": typeof JSON === "object" ? JSON : undefined2, + "%Map%": typeof Map === "undefined" ? undefined2 : Map, + "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), + "%Math%": Math, + "%Number%": Number, + "%Object%": Object, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, + "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, + "%RangeError%": RangeError, + "%ReferenceError%": ReferenceError, + "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, + "%RegExp%": RegExp, + "%Set%": typeof Set === "undefined" ? undefined2 : Set, + "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), + "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": hasSymbols ? getProto(""[Symbol.iterator]()) : undefined2, + "%Symbol%": hasSymbols ? Symbol : undefined2, + "%SyntaxError%": $SyntaxError, + "%ThrowTypeError%": ThrowTypeError, + "%TypedArray%": TypedArray, + "%TypeError%": $TypeError, + "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, + "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, + "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, + "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, + "%URIError%": URIError, + "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, + "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, + "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet + }; + try { + null.error; + } catch (e) { + errorProto = getProto(getProto(e)); + INTRINSICS["%Error.prototype%"] = errorProto; + } + var errorProto; + var doEval = function doEval2(name) { + var value; + if (name === "%AsyncFunction%") { + value = getEvalledConstructor("async function () {}"); + } else if (name === "%GeneratorFunction%") { + value = getEvalledConstructor("function* () {}"); + } else if (name === "%AsyncGeneratorFunction%") { + value = getEvalledConstructor("async function* () {}"); + } else if (name === "%AsyncGenerator%") { + var fn = doEval2("%AsyncGeneratorFunction%"); + if (fn) { + value = fn.prototype; + } + } else if (name === "%AsyncIteratorPrototype%") { + var gen = doEval2("%AsyncGenerator%"); + if (gen) { + value = getProto(gen.prototype); + } + } + INTRINSICS[name] = value; + return value; + }; + var LEGACY_ALIASES = { + "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": ["Array", "prototype", "entries"], + "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": ["Array", "prototype", "values"], + "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], + "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], + "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": ["Float32Array", "prototype"], + "%Float64ArrayPrototype%": ["Float64Array", "prototype"], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": ["Object", "prototype", "toString"], + "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": ["Promise", "prototype", "then"], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], + "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], + "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"] + }; + var bind = require_function_bind(); + var hasOwn = require_src2(); + var $concat = bind.call(Function.call, Array.prototype.concat); + var $spliceApply = bind.call(Function.apply, Array.prototype.splice); + var $replace = bind.call(Function.call, String.prototype.replace); + var $strSlice = bind.call(Function.call, String.prototype.slice); + var $exec = bind.call(Function.call, RegExp.prototype.exec); + var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; + var reEscapeChar = /\\(\\)?/g; + var stringToPath = function stringToPath2(string) { + var first2 = $strSlice(string, 0, 1); + var last2 = $strSlice(string, -1); + if (first2 === "%" && last2 !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); + } else if (last2 === "%" && first2 !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); + } + var result = []; + $replace(string, rePropName, function(match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; + }); + return result; + }; + var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = "%" + alias[0] + "%"; + } + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === "undefined" && !allowMissing) { + throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); + } + return { + alias, + name: intrinsicName, + value + }; + } + throw new $SyntaxError("intrinsic " + name + " does not exist!"); + }; + module2.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== "string" || name.length === 0) { + throw new $TypeError("intrinsic name must be a non-empty string"); + } + if (arguments.length > 1 && typeof allowMissing !== "boolean") { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; + var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first2 = $strSlice(part, 0, 1); + var last2 = $strSlice(part, -1); + if ((first2 === '"' || first2 === "'" || first2 === "`" || (last2 === '"' || last2 === "'" || last2 === "`")) && first2 !== last2) { + throw new $SyntaxError("property names with quotes must have matching quotes"); + } + if (part === "constructor" || !isOwn) { + skipFurtherCaching = true; + } + intrinsicBaseName += "." + part; + intrinsicRealName = "%" + intrinsicBaseName + "%"; + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); + } + return void 0; + } + if ($gOPD && i + 1 >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + if (isOwn && "get" in desc && !("originalValue" in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; + }; + } +}); + +// node_modules/.pnpm/has-property-descriptors@1.0.0/node_modules/has-property-descriptors/index.js +var require_has_property_descriptors = __commonJS({ + "node_modules/.pnpm/has-property-descriptors@1.0.0/node_modules/has-property-descriptors/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); + var hasPropertyDescriptors = function hasPropertyDescriptors2() { + if ($defineProperty) { + try { + $defineProperty({}, "a", { value: 1 }); + return true; + } catch (e) { + return false; + } + } + return false; + }; + hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { + if (!hasPropertyDescriptors()) { + return null; + } + try { + return $defineProperty([], "length", { value: 1 }).length !== 1; + } catch (e) { + return true; + } + }; + module2.exports = hasPropertyDescriptors; + } +}); + +// node_modules/.pnpm/define-properties@1.2.0/node_modules/define-properties/index.js +var require_define_properties = __commonJS({ + "node_modules/.pnpm/define-properties@1.2.0/node_modules/define-properties/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var keys = require_object_keys(); + var hasSymbols = typeof Symbol === "function" && typeof Symbol("foo") === "symbol"; + var toStr = Object.prototype.toString; + var concat = Array.prototype.concat; + var origDefineProperty = Object.defineProperty; + var isFunction = function(fn) { + return typeof fn === "function" && toStr.call(fn) === "[object Function]"; + }; + var hasPropertyDescriptors = require_has_property_descriptors()(); + var supportsDescriptors = origDefineProperty && hasPropertyDescriptors; + var defineProperty = function(object, name, value, predicate) { + if (name in object) { + if (predicate === true) { + if (object[name] === value) { + return; + } + } else if (!isFunction(predicate) || !predicate()) { + return; + } + } + if (supportsDescriptors) { + origDefineProperty(object, name, { + configurable: true, + enumerable: false, + value, + writable: true + }); + } else { + object[name] = value; + } + }; + var defineProperties = function(object, map) { + var predicates = arguments.length > 2 ? arguments[2] : {}; + var props = keys(map); + if (hasSymbols) { + props = concat.call(props, Object.getOwnPropertySymbols(map)); + } + for (var i = 0; i < props.length; i += 1) { + defineProperty(object, props[i], map[props[i]], predicates[props[i]]); + } + }; + defineProperties.supportsDescriptors = !!supportsDescriptors; + module2.exports = defineProperties; + } +}); + +// node_modules/.pnpm/call-bind@1.0.2/node_modules/call-bind/index.js +var require_call_bind = __commonJS({ + "node_modules/.pnpm/call-bind@1.0.2/node_modules/call-bind/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var bind = require_function_bind(); + var GetIntrinsic = require_get_intrinsic(); + var $apply = GetIntrinsic("%Function.prototype.apply%"); + var $call = GetIntrinsic("%Function.prototype.call%"); + var $reflectApply = GetIntrinsic("%Reflect.apply%", true) || bind.call($call, $apply); + var $gOPD = GetIntrinsic("%Object.getOwnPropertyDescriptor%", true); + var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); + var $max = GetIntrinsic("%Math.max%"); + if ($defineProperty) { + try { + $defineProperty({}, "a", { value: 1 }); + } catch (e) { + $defineProperty = null; + } + } + module2.exports = function callBind(originalFunction) { + var func = $reflectApply(bind, $call, arguments); + if ($gOPD && $defineProperty) { + var desc = $gOPD(func, "length"); + if (desc.configurable) { + $defineProperty( + func, + "length", + { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } + ); + } + } + return func; + }; + var applyBind = function applyBind2() { + return $reflectApply(bind, $apply, arguments); + }; + if ($defineProperty) { + $defineProperty(module2.exports, "apply", { value: applyBind }); + } else { + module2.exports.apply = applyBind; + } + } +}); + +// node_modules/.pnpm/call-bind@1.0.2/node_modules/call-bind/callBound.js +var require_callBound = __commonJS({ + "node_modules/.pnpm/call-bind@1.0.2/node_modules/call-bind/callBound.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var callBind = require_call_bind(); + var $indexOf = callBind(GetIntrinsic("String.prototype.indexOf")); + module2.exports = function callBoundIntrinsic(name, allowMissing) { + var intrinsic = GetIntrinsic(name, !!allowMissing); + if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { + return callBind(intrinsic); + } + return intrinsic; + }; + } +}); + +// node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/implementation.js +var require_implementation3 = __commonJS({ + "node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/implementation.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var objectKeys = require_object_keys(); + var hasSymbols = require_shams()(); + var callBound = require_callBound(); + var toObject = Object; + var $push = callBound("Array.prototype.push"); + var $propIsEnumerable = callBound("Object.prototype.propertyIsEnumerable"); + var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null; + module2.exports = function assign2(target, source1) { + if (target == null) { + throw new TypeError("target must be an object"); + } + var to = toObject(target); + if (arguments.length === 1) { + return to; + } + for (var s = 1; s < arguments.length; ++s) { + var from = toObject(arguments[s]); + var keys = objectKeys(from); + var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols); + if (getSymbols) { + var syms = getSymbols(from); + for (var j = 0; j < syms.length; ++j) { + var key2 = syms[j]; + if ($propIsEnumerable(from, key2)) { + $push(keys, key2); + } + } + } + for (var i = 0; i < keys.length; ++i) { + var nextKey = keys[i]; + if ($propIsEnumerable(from, nextKey)) { + var propValue = from[nextKey]; + to[nextKey] = propValue; + } + } + } + return to; + }; + } +}); + +// node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/polyfill.js +var require_polyfill = __commonJS({ + "node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/polyfill.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var implementation = require_implementation3(); + var lacksProperEnumerationOrder = function() { + if (!Object.assign) { + return false; + } + var str = "abcdefghijklmnopqrst"; + var letters = str.split(""); + var map = {}; + for (var i = 0; i < letters.length; ++i) { + map[letters[i]] = letters[i]; + } + var obj = Object.assign({}, map); + var actual = ""; + for (var k in obj) { + actual += k; + } + return str !== actual; + }; + var assignHasPendingExceptions = function() { + if (!Object.assign || !Object.preventExtensions) { + return false; + } + var thrower = Object.preventExtensions({ 1: 2 }); + try { + Object.assign(thrower, "xy"); + } catch (e) { + return thrower[1] === "y"; + } + return false; + }; + module2.exports = function getPolyfill() { + if (!Object.assign) { + return implementation; + } + if (lacksProperEnumerationOrder()) { + return implementation; + } + if (assignHasPendingExceptions()) { + return implementation; + } + return Object.assign; + }; + } +}); + +// node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/shim.js +var require_shim = __commonJS({ + "node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/shim.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var define2 = require_define_properties(); + var getPolyfill = require_polyfill(); + module2.exports = function shimAssign() { + var polyfill = getPolyfill(); + define2( + Object, + { assign: polyfill }, + { assign: function() { + return Object.assign !== polyfill; + } } + ); + return polyfill; + }; + } +}); + +// node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/index.js +var require_object = __commonJS({ + "node_modules/.pnpm/object.assign@4.1.4/node_modules/object.assign/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var defineProperties = require_define_properties(); + var callBind = require_call_bind(); + var implementation = require_implementation3(); + var getPolyfill = require_polyfill(); + var shim = require_shim(); + var polyfill = callBind.apply(getPolyfill()); + var bound = function assign2(target, source1) { + return polyfill(Object, arguments); + }; + defineProperties(bound, { + getPolyfill, + implementation, + shim + }); + module2.exports = bound; + } +}); + +// node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js +var require_functions_have_names = __commonJS({ + "node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var functionsHaveNames = function functionsHaveNames2() { + return typeof function f() { + }.name === "string"; + }; + var gOPD = Object.getOwnPropertyDescriptor; + if (gOPD) { + try { + gOPD([], "length"); + } catch (e) { + gOPD = null; + } + } + functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() { + if (!functionsHaveNames() || !gOPD) { + return false; + } + var desc = gOPD(function() { + }, "name"); + return !!desc && !!desc.configurable; + }; + var $bind = Function.prototype.bind; + functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() { + return functionsHaveNames() && typeof $bind === "function" && function f() { + }.bind().name !== ""; + }; + module2.exports = functionsHaveNames; + } +}); + +// node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/implementation.js +var require_implementation4 = __commonJS({ + "node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/implementation.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var functionsHaveConfigurableNames = require_functions_have_names().functionsHaveConfigurableNames(); + var $Object = Object; + var $TypeError = TypeError; + module2.exports = function flags() { + if (this != null && this !== $Object(this)) { + throw new $TypeError("RegExp.prototype.flags getter called on non-object"); + } + var result = ""; + if (this.hasIndices) { + result += "d"; + } + if (this.global) { + result += "g"; + } + if (this.ignoreCase) { + result += "i"; + } + if (this.multiline) { + result += "m"; + } + if (this.dotAll) { + result += "s"; + } + if (this.unicode) { + result += "u"; + } + if (this.unicodeSets) { + result += "v"; + } + if (this.sticky) { + result += "y"; + } + return result; + }; + if (functionsHaveConfigurableNames && Object.defineProperty) { + Object.defineProperty(module2.exports, "name", { value: "get flags" }); + } + } +}); + +// node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/polyfill.js +var require_polyfill2 = __commonJS({ + "node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/polyfill.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var implementation = require_implementation4(); + var supportsDescriptors = require_define_properties().supportsDescriptors; + var $gOPD = Object.getOwnPropertyDescriptor; + module2.exports = function getPolyfill() { + if (supportsDescriptors && /a/mig.flags === "gim") { + var descriptor = $gOPD(RegExp.prototype, "flags"); + if (descriptor && typeof descriptor.get === "function" && typeof RegExp.prototype.dotAll === "boolean" && typeof RegExp.prototype.hasIndices === "boolean") { + var calls = ""; + var o = {}; + Object.defineProperty(o, "hasIndices", { + get: function() { + calls += "d"; + } + }); + Object.defineProperty(o, "sticky", { + get: function() { + calls += "y"; + } + }); + if (calls === "dy") { + return descriptor.get; + } + } + } + return implementation; + }; + } +}); + +// node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/shim.js +var require_shim2 = __commonJS({ + "node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/shim.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var supportsDescriptors = require_define_properties().supportsDescriptors; + var getPolyfill = require_polyfill2(); + var gOPD = Object.getOwnPropertyDescriptor; + var defineProperty = Object.defineProperty; + var TypeErr = TypeError; + var getProto = Object.getPrototypeOf; + var regex2 = /a/; + module2.exports = function shimFlags() { + if (!supportsDescriptors || !getProto) { + throw new TypeErr("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors"); + } + var polyfill = getPolyfill(); + var proto = getProto(regex2); + var descriptor = gOPD(proto, "flags"); + if (!descriptor || descriptor.get !== polyfill) { + defineProperty(proto, "flags", { + configurable: true, + enumerable: false, + get: polyfill + }); + } + return polyfill; + }; + } +}); + +// node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/index.js +var require_regexp_prototype = __commonJS({ + "node_modules/.pnpm/regexp.prototype.flags@1.5.0/node_modules/regexp.prototype.flags/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var define2 = require_define_properties(); + var callBind = require_call_bind(); + var implementation = require_implementation4(); + var getPolyfill = require_polyfill2(); + var shim = require_shim2(); + var flagsBound = callBind(getPolyfill()); + define2(flagsBound, { + getPolyfill, + implementation, + shim + }); + module2.exports = flagsBound; + } +}); + +// node_modules/.pnpm/has-tostringtag@1.0.0/node_modules/has-tostringtag/shams.js +var require_shams2 = __commonJS({ + "node_modules/.pnpm/has-tostringtag@1.0.0/node_modules/has-tostringtag/shams.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var hasSymbols = require_shams(); + module2.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; + }; + } +}); + +// node_modules/.pnpm/is-arguments@1.1.1/node_modules/is-arguments/index.js +var require_is_arguments = __commonJS({ + "node_modules/.pnpm/is-arguments@1.1.1/node_modules/is-arguments/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var hasToStringTag = require_shams2()(); + var callBound = require_callBound(); + var $toString = callBound("Object.prototype.toString"); + var isStandardArguments = function isArguments(value) { + if (hasToStringTag && value && typeof value === "object" && Symbol.toStringTag in value) { + return false; + } + return $toString(value) === "[object Arguments]"; + }; + var isLegacyArguments = function isArguments(value) { + if (isStandardArguments(value)) { + return true; + } + return value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && $toString(value) !== "[object Array]" && $toString(value.callee) === "[object Function]"; + }; + var supportsStandardArguments = function() { + return isStandardArguments(arguments); + }(); + isStandardArguments.isLegacyArguments = isLegacyArguments; + module2.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; + } +}); + +// (disabled):node_modules/.pnpm/object-inspect@1.12.3/node_modules/object-inspect/util.inspect +var require_util = __commonJS({ + "(disabled):node_modules/.pnpm/object-inspect@1.12.3/node_modules/object-inspect/util.inspect"() { + init_polyfill_buffer(); + } +}); + +// node_modules/.pnpm/object-inspect@1.12.3/node_modules/object-inspect/index.js +var require_object_inspect = __commonJS({ + "node_modules/.pnpm/object-inspect@1.12.3/node_modules/object-inspect/index.js"(exports2, module2) { + init_polyfill_buffer(); + var hasMap = typeof Map === "function" && Map.prototype; + var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; + var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; + var mapForEach = hasMap && Map.prototype.forEach; + var hasSet = typeof Set === "function" && Set.prototype; + var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; + var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; + var setForEach = hasSet && Set.prototype.forEach; + var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; + var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; + var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; + var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; + var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; + var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; + var booleanValueOf = Boolean.prototype.valueOf; + var objectToString2 = Object.prototype.toString; + var functionToString = Function.prototype.toString; + var $match = String.prototype.match; + var $slice = String.prototype.slice; + var $replace = String.prototype.replace; + var $toUpperCase = String.prototype.toUpperCase; + var $toLowerCase = String.prototype.toLowerCase; + var $test = RegExp.prototype.test; + var $concat = Array.prototype.concat; + var $join = Array.prototype.join; + var $arrSlice = Array.prototype.slice; + var $floor = Math.floor; + var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; + var gOPS = Object.getOwnPropertySymbols; + var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; + var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; + var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; + var isEnumerable = Object.prototype.propertyIsEnumerable; + var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { + return O.__proto__; + } : null); + function addNumericSeparator(num2, str) { + if (num2 === Infinity || num2 === -Infinity || num2 !== num2 || num2 && num2 > -1e3 && num2 < 1e3 || $test.call(/e/, str)) { + return str; + } + var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; + if (typeof num2 === "number") { + var int = num2 < 0 ? -$floor(-num2) : $floor(num2); + if (int !== num2) { + var intStr = String(int); + var dec = $slice.call(str, intStr.length + 1); + return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); + } + } + return $replace.call(str, sepRegex, "$&_"); + } + var utilInspect = require_util(); + var inspectCustom = utilInspect.custom; + var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + module2.exports = function inspect_(obj, options, depth, seen) { + var opts = options || {}; + if (has(opts, "quoteStyle") && (opts.quoteStyle !== "single" && opts.quoteStyle !== "double")) { + throw new TypeError('option "quoteStyle" must be "single" or "double"'); + } + if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { + throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); + } + var customInspect = has(opts, "customInspect") ? opts.customInspect : true; + if (typeof customInspect !== "boolean" && customInspect !== "symbol") { + throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); + } + if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { + throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); + } + if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { + throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); + } + var numericSeparator = opts.numericSeparator; + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + if (typeof obj === "boolean") { + return obj ? "true" : "false"; + } + if (typeof obj === "string") { + return inspectString(obj, opts); + } + if (typeof obj === "number") { + if (obj === 0) { + return Infinity / obj > 0 ? "0" : "-0"; + } + var str = String(obj); + return numericSeparator ? addNumericSeparator(obj, str) : str; + } + if (typeof obj === "bigint") { + var bigIntStr = String(obj) + "n"; + return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; + } + var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; + if (typeof depth === "undefined") { + depth = 0; + } + if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { + return isArray(obj) ? "[Array]" : "[Object]"; + } + var indent2 = getIndent(opts, depth); + if (typeof seen === "undefined") { + seen = []; + } else if (indexOf(seen, obj) >= 0) { + return "[Circular]"; + } + function inspect(value, from, noIndent) { + if (from) { + seen = $arrSlice.call(seen); + seen.push(from); + } + if (noIndent) { + var newOpts = { + depth: opts.depth + }; + if (has(opts, "quoteStyle")) { + newOpts.quoteStyle = opts.quoteStyle; + } + return inspect_(value, newOpts, depth + 1, seen); + } + return inspect_(value, opts, depth + 1, seen); + } + if (typeof obj === "function" && !isRegExp(obj)) { + var name = nameOf(obj); + var keys = arrObjKeys(obj, inspect); + return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); + } + if (isSymbol(obj)) { + var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); + return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; + } + if (isElement(obj)) { + var s = "<" + $toLowerCase.call(String(obj.nodeName)); + var attrs = obj.attributes || []; + for (var i = 0; i < attrs.length; i++) { + s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); + } + s += ">"; + if (obj.childNodes && obj.childNodes.length) { + s += "..."; + } + s += ""; + return s; + } + if (isArray(obj)) { + if (obj.length === 0) { + return "[]"; + } + var xs = arrObjKeys(obj, inspect); + if (indent2 && !singleLineValues(xs)) { + return "[" + indentedJoin(xs, indent2) + "]"; + } + return "[ " + $join.call(xs, ", ") + " ]"; + } + if (isError(obj)) { + var parts = arrObjKeys(obj, inspect); + if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { + return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; + } + if (parts.length === 0) { + return "[" + String(obj) + "]"; + } + return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; + } + if (typeof obj === "object" && customInspect) { + if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { + return utilInspect(obj, { depth: maxDepth - depth }); + } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { + return obj.inspect(); + } + } + if (isMap(obj)) { + var mapParts = []; + if (mapForEach) { + mapForEach.call(obj, function(value, key2) { + mapParts.push(inspect(key2, obj, true) + " => " + inspect(value, obj)); + }); + } + return collectionOf("Map", mapSize.call(obj), mapParts, indent2); + } + if (isSet(obj)) { + var setParts = []; + if (setForEach) { + setForEach.call(obj, function(value) { + setParts.push(inspect(value, obj)); + }); + } + return collectionOf("Set", setSize.call(obj), setParts, indent2); + } + if (isWeakMap(obj)) { + return weakCollectionOf("WeakMap"); + } + if (isWeakSet(obj)) { + return weakCollectionOf("WeakSet"); + } + if (isWeakRef(obj)) { + return weakCollectionOf("WeakRef"); + } + if (isNumber(obj)) { + return markBoxed(inspect(Number(obj))); + } + if (isBigInt(obj)) { + return markBoxed(inspect(bigIntValueOf.call(obj))); + } + if (isBoolean(obj)) { + return markBoxed(booleanValueOf.call(obj)); + } + if (isString(obj)) { + return markBoxed(inspect(String(obj))); + } + if (!isDate(obj) && !isRegExp(obj)) { + var ys = arrObjKeys(obj, inspect); + var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? "" : "null prototype"; + var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; + var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; + var tag2 = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); + if (ys.length === 0) { + return tag2 + "{}"; + } + if (indent2) { + return tag2 + "{" + indentedJoin(ys, indent2) + "}"; + } + return tag2 + "{ " + $join.call(ys, ", ") + " }"; + } + return String(obj); + }; + function wrapQuotes(s, defaultStyle, opts) { + var quoteChar = (opts.quoteStyle || defaultStyle) === "double" ? '"' : "'"; + return quoteChar + s + quoteChar; + } + function quote(s) { + return $replace.call(String(s), /"/g, """); + } + function isArray(obj) { + return toStr(obj) === "[object Array]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isDate(obj) { + return toStr(obj) === "[object Date]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isRegExp(obj) { + return toStr(obj) === "[object RegExp]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isError(obj) { + return toStr(obj) === "[object Error]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isString(obj) { + return toStr(obj) === "[object String]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isNumber(obj) { + return toStr(obj) === "[object Number]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isBoolean(obj) { + return toStr(obj) === "[object Boolean]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isSymbol(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === "object" && obj instanceof Symbol; + } + if (typeof obj === "symbol") { + return true; + } + if (!obj || typeof obj !== "object" || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) { + } + return false; + } + function isBigInt(obj) { + if (!obj || typeof obj !== "object" || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) { + } + return false; + } + var hasOwn = Object.prototype.hasOwnProperty || function(key2) { + return key2 in this; + }; + function has(obj, key2) { + return hasOwn.call(obj, key2); + } + function toStr(obj) { + return objectToString2.call(obj); + } + function nameOf(f) { + if (f.name) { + return f.name; + } + var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); + if (m) { + return m[1]; + } + return null; + } + function indexOf(xs, x) { + if (xs.indexOf) { + return xs.indexOf(x); + } + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) { + return i; + } + } + return -1; + } + function isMap(x) { + if (!mapSize || !x || typeof x !== "object") { + return false; + } + try { + mapSize.call(x); + try { + setSize.call(x); + } catch (s) { + return true; + } + return x instanceof Map; + } catch (e) { + } + return false; + } + function isWeakMap(x) { + if (!weakMapHas || !x || typeof x !== "object") { + return false; + } + try { + weakMapHas.call(x, weakMapHas); + try { + weakSetHas.call(x, weakSetHas); + } catch (s) { + return true; + } + return x instanceof WeakMap; + } catch (e) { + } + return false; + } + function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== "object") { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) { + } + return false; + } + function isSet(x) { + if (!setSize || !x || typeof x !== "object") { + return false; + } + try { + setSize.call(x); + try { + mapSize.call(x); + } catch (m) { + return true; + } + return x instanceof Set; + } catch (e) { + } + return false; + } + function isWeakSet(x) { + if (!weakSetHas || !x || typeof x !== "object") { + return false; + } + try { + weakSetHas.call(x, weakSetHas); + try { + weakMapHas.call(x, weakMapHas); + } catch (s) { + return true; + } + return x instanceof WeakSet; + } catch (e) { + } + return false; + } + function isElement(x) { + if (!x || typeof x !== "object") { + return false; + } + if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { + return true; + } + return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; + } + function inspectString(str, opts) { + if (str.length > opts.maxStringLength) { + var remaining = str.length - opts.maxStringLength; + var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); + return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; + } + var s = $replace.call($replace.call(str, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, lowbyte); + return wrapQuotes(s, "single", opts); + } + function lowbyte(c) { + var n = c.charCodeAt(0); + var x = { + 8: "b", + 9: "t", + 10: "n", + 12: "f", + 13: "r" + }[n]; + if (x) { + return "\\" + x; + } + return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); + } + function markBoxed(str) { + return "Object(" + str + ")"; + } + function weakCollectionOf(type) { + return type + " { ? }"; + } + function collectionOf(type, size, entries, indent2) { + var joinedEntries = indent2 ? indentedJoin(entries, indent2) : $join.call(entries, ", "); + return type + " (" + size + ") {" + joinedEntries + "}"; + } + function singleLineValues(xs) { + for (var i = 0; i < xs.length; i++) { + if (indexOf(xs[i], "\n") >= 0) { + return false; + } + } + return true; + } + function getIndent(opts, depth) { + var baseIndent; + if (opts.indent === " ") { + baseIndent = " "; + } else if (typeof opts.indent === "number" && opts.indent > 0) { + baseIndent = $join.call(Array(opts.indent + 1), " "); + } else { + return null; + } + return { + base: baseIndent, + prev: $join.call(Array(depth + 1), baseIndent) + }; + } + function indentedJoin(xs, indent2) { + if (xs.length === 0) { + return ""; + } + var lineJoiner = "\n" + indent2.prev + indent2.base; + return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent2.prev; + } + function arrObjKeys(obj, inspect) { + var isArr = isArray(obj); + var xs = []; + if (isArr) { + xs.length = obj.length; + for (var i = 0; i < obj.length; i++) { + xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; + } + } + var syms = typeof gOPS === "function" ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap["$" + syms[k]] = syms[k]; + } + } + for (var key2 in obj) { + if (!has(obj, key2)) { + continue; + } + if (isArr && String(Number(key2)) === key2 && key2 < obj.length) { + continue; + } + if (hasShammedSymbols && symMap["$" + key2] instanceof Symbol) { + continue; + } else if ($test.call(/[^\w$]/, key2)) { + xs.push(inspect(key2, obj) + ": " + inspect(obj[key2], obj)); + } else { + xs.push(key2 + ": " + inspect(obj[key2], obj)); + } + } + if (typeof gOPS === "function") { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); + } + } + } + return xs; + } + } +}); + +// node_modules/.pnpm/side-channel@1.0.4/node_modules/side-channel/index.js +var require_side_channel = __commonJS({ + "node_modules/.pnpm/side-channel@1.0.4/node_modules/side-channel/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var inspect = require_object_inspect(); + var $TypeError = GetIntrinsic("%TypeError%"); + var $WeakMap = GetIntrinsic("%WeakMap%", true); + var $Map = GetIntrinsic("%Map%", true); + var $weakMapGet = callBound("WeakMap.prototype.get", true); + var $weakMapSet = callBound("WeakMap.prototype.set", true); + var $weakMapHas = callBound("WeakMap.prototype.has", true); + var $mapGet = callBound("Map.prototype.get", true); + var $mapSet = callBound("Map.prototype.set", true); + var $mapHas = callBound("Map.prototype.has", true); + var listGetNode = function(list, key2) { + for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { + if (curr.key === key2) { + prev.next = curr.next; + curr.next = list.next; + list.next = curr; + return curr; + } + } + }; + var listGet = function(objects, key2) { + var node = listGetNode(objects, key2); + return node && node.value; + }; + var listSet = function(objects, key2, value) { + var node = listGetNode(objects, key2); + if (node) { + node.value = value; + } else { + objects.next = { + // eslint-disable-line no-param-reassign + key: key2, + next: objects.next, + value + }; + } + }; + var listHas = function(objects, key2) { + return !!listGetNode(objects, key2); + }; + module2.exports = function getSideChannel() { + var $wm; + var $m; + var $o; + var channel = { + assert: function(key2) { + if (!channel.has(key2)) { + throw new $TypeError("Side channel does not contain " + inspect(key2)); + } + }, + get: function(key2) { + if ($WeakMap && key2 && (typeof key2 === "object" || typeof key2 === "function")) { + if ($wm) { + return $weakMapGet($wm, key2); + } + } else if ($Map) { + if ($m) { + return $mapGet($m, key2); + } + } else { + if ($o) { + return listGet($o, key2); + } + } + }, + has: function(key2) { + if ($WeakMap && key2 && (typeof key2 === "object" || typeof key2 === "function")) { + if ($wm) { + return $weakMapHas($wm, key2); + } + } else if ($Map) { + if ($m) { + return $mapHas($m, key2); + } + } else { + if ($o) { + return listHas($o, key2); + } + } + return false; + }, + set: function(key2, value) { + if ($WeakMap && key2 && (typeof key2 === "object" || typeof key2 === "function")) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key2, value); + } else if ($Map) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key2, value); + } else { + if (!$o) { + $o = { key: {}, next: null }; + } + listSet($o, key2, value); + } + } + }; + return channel; + }; + } +}); + +// node_modules/.pnpm/internal-slot@1.0.5/node_modules/internal-slot/index.js +var require_internal_slot = __commonJS({ + "node_modules/.pnpm/internal-slot@1.0.5/node_modules/internal-slot/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var has = require_src2(); + var channel = require_side_channel()(); + var $TypeError = GetIntrinsic("%TypeError%"); + var SLOT = { + assert: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + channel.assert(O); + if (!SLOT.has(O, slot)) { + throw new $TypeError("`" + slot + "` is not present on `O`"); + } + }, + get: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + return slots && slots["$" + slot]; + }, + has: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + return !!slots && has(slots, "$" + slot); + }, + set: function(O, slot, V) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + if (!slots) { + slots = {}; + channel.set(O, slots); + } + slots["$" + slot] = V; + } + }; + if (Object.freeze) { + Object.freeze(SLOT); + } + module2.exports = SLOT; + } +}); + +// node_modules/.pnpm/stop-iteration-iterator@1.0.0/node_modules/stop-iteration-iterator/index.js +var require_stop_iteration_iterator = __commonJS({ + "node_modules/.pnpm/stop-iteration-iterator@1.0.0/node_modules/stop-iteration-iterator/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var SLOT = require_internal_slot(); + var $SyntaxError = SyntaxError; + var $StopIteration = typeof StopIteration === "object" ? StopIteration : null; + module2.exports = function getStopIterationIterator(origIterator) { + if (!$StopIteration) { + throw new $SyntaxError("this environment lacks StopIteration"); + } + SLOT.set(origIterator, "[[Done]]", false); + var siIterator = { + next: function next() { + var iterator = SLOT.get(this, "[[Iterator]]"); + var done = SLOT.get(iterator, "[[Done]]"); + try { + return { + done, + value: done ? void 0 : iterator.next() + }; + } catch (e) { + SLOT.set(iterator, "[[Done]]", true); + if (e !== $StopIteration) { + throw e; + } + return { + done: true, + value: void 0 + }; + } + } + }; + SLOT.set(siIterator, "[[Iterator]]", origIterator); + return siIterator; + }; + } +}); + +// node_modules/.pnpm/isarray@2.0.5/node_modules/isarray/index.js +var require_isarray = __commonJS({ + "node_modules/.pnpm/isarray@2.0.5/node_modules/isarray/index.js"(exports2, module2) { + init_polyfill_buffer(); + var toString = {}.toString; + module2.exports = Array.isArray || function(arr) { + return toString.call(arr) == "[object Array]"; + }; + } +}); + +// node_modules/.pnpm/is-string@1.0.7/node_modules/is-string/index.js +var require_is_string = __commonJS({ + "node_modules/.pnpm/is-string@1.0.7/node_modules/is-string/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var strValue = String.prototype.valueOf; + var tryStringObject = function tryStringObject2(value) { + try { + strValue.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var strClass = "[object String]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isString(value) { + if (typeof value === "string") { + return true; + } + if (typeof value !== "object") { + return false; + } + return hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass; + }; + } +}); + +// node_modules/.pnpm/is-map@2.0.2/node_modules/is-map/index.js +var require_is_map = __commonJS({ + "node_modules/.pnpm/is-map@2.0.2/node_modules/is-map/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var $Map = typeof Map === "function" && Map.prototype ? Map : null; + var $Set = typeof Set === "function" && Set.prototype ? Set : null; + var exported; + if (!$Map) { + exported = function isMap(x) { + return false; + }; + } + var $mapHas = $Map ? Map.prototype.has : null; + var $setHas = $Set ? Set.prototype.has : null; + if (!exported && !$mapHas) { + exported = function isMap(x) { + return false; + }; + } + module2.exports = exported || function isMap(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $mapHas.call(x); + if ($setHas) { + try { + $setHas.call(x); + } catch (e) { + return true; + } + } + return x instanceof $Map; + } catch (e) { + } + return false; + }; + } +}); + +// node_modules/.pnpm/is-set@2.0.2/node_modules/is-set/index.js +var require_is_set = __commonJS({ + "node_modules/.pnpm/is-set@2.0.2/node_modules/is-set/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var $Map = typeof Map === "function" && Map.prototype ? Map : null; + var $Set = typeof Set === "function" && Set.prototype ? Set : null; + var exported; + if (!$Set) { + exported = function isSet(x) { + return false; + }; + } + var $mapHas = $Map ? Map.prototype.has : null; + var $setHas = $Set ? Set.prototype.has : null; + if (!exported && !$setHas) { + exported = function isSet(x) { + return false; + }; + } + module2.exports = exported || function isSet(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $setHas.call(x); + if ($mapHas) { + try { + $mapHas.call(x); + } catch (e) { + return true; + } + } + return x instanceof $Set; + } catch (e) { + } + return false; + }; + } +}); + +// node_modules/.pnpm/es-get-iterator@1.1.3/node_modules/es-get-iterator/index.js +var require_es_get_iterator = __commonJS({ + "node_modules/.pnpm/es-get-iterator@1.1.3/node_modules/es-get-iterator/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var isArguments = require_is_arguments(); + var getStopIterationIterator = require_stop_iteration_iterator(); + if (require_has_symbols()() || require_shams()()) { + $iterator = Symbol.iterator; + module2.exports = function getIterator3(iterable) { + if (iterable != null && typeof iterable[$iterator] !== "undefined") { + return iterable[$iterator](); + } + if (isArguments(iterable)) { + return Array.prototype[$iterator].call(iterable); + } + }; + } else { + isArray = require_isarray(); + isString = require_is_string(); + GetIntrinsic = require_get_intrinsic(); + $Map = GetIntrinsic("%Map%", true); + $Set = GetIntrinsic("%Set%", true); + callBound = require_callBound(); + $arrayPush = callBound("Array.prototype.push"); + $charCodeAt = callBound("String.prototype.charCodeAt"); + $stringSlice = callBound("String.prototype.slice"); + advanceStringIndex = function advanceStringIndex2(S, index2) { + var length = S.length; + if (index2 + 1 >= length) { + return index2 + 1; + } + var first2 = $charCodeAt(S, index2); + if (first2 < 55296 || first2 > 56319) { + return index2 + 1; + } + var second = $charCodeAt(S, index2 + 1); + if (second < 56320 || second > 57343) { + return index2 + 1; + } + return index2 + 2; + }; + getArrayIterator = function getArrayIterator2(arraylike) { + var i = 0; + return { + next: function next() { + var done = i >= arraylike.length; + var value; + if (!done) { + value = arraylike[i]; + i += 1; + } + return { + done, + value + }; + } + }; + }; + getNonCollectionIterator = function getNonCollectionIterator2(iterable, noPrimordialCollections) { + if (isArray(iterable) || isArguments(iterable)) { + return getArrayIterator(iterable); + } + if (isString(iterable)) { + var i = 0; + return { + next: function next() { + var nextIndex = advanceStringIndex(iterable, i); + var value = $stringSlice(iterable, i, nextIndex); + i = nextIndex; + return { + done: nextIndex > iterable.length, + value + }; + } + }; + } + if (noPrimordialCollections && typeof iterable["_es6-shim iterator_"] !== "undefined") { + return iterable["_es6-shim iterator_"](); + } + }; + if (!$Map && !$Set) { + module2.exports = function getIterator3(iterable) { + if (iterable != null) { + return getNonCollectionIterator(iterable, true); + } + }; + } else { + isMap = require_is_map(); + isSet = require_is_set(); + $mapForEach = callBound("Map.prototype.forEach", true); + $setForEach = callBound("Set.prototype.forEach", true); + if (typeof process === "undefined" || !process.versions || !process.versions.node) { + $mapIterator = callBound("Map.prototype.iterator", true); + $setIterator = callBound("Set.prototype.iterator", true); + } + $mapAtAtIterator = callBound("Map.prototype.@@iterator", true) || callBound("Map.prototype._es6-shim iterator_", true); + $setAtAtIterator = callBound("Set.prototype.@@iterator", true) || callBound("Set.prototype._es6-shim iterator_", true); + getCollectionIterator = function getCollectionIterator2(iterable) { + if (isMap(iterable)) { + if ($mapIterator) { + return getStopIterationIterator($mapIterator(iterable)); + } + if ($mapAtAtIterator) { + return $mapAtAtIterator(iterable); + } + if ($mapForEach) { + var entries = []; + $mapForEach(iterable, function(v, k) { + $arrayPush(entries, [k, v]); + }); + return getArrayIterator(entries); + } + } + if (isSet(iterable)) { + if ($setIterator) { + return getStopIterationIterator($setIterator(iterable)); + } + if ($setAtAtIterator) { + return $setAtAtIterator(iterable); + } + if ($setForEach) { + var values = []; + $setForEach(iterable, function(v) { + $arrayPush(values, v); + }); + return getArrayIterator(values); + } + } + }; + module2.exports = function getIterator3(iterable) { + return getCollectionIterator(iterable) || getNonCollectionIterator(iterable); + }; + } + } + var $iterator; + var isArray; + var isString; + var GetIntrinsic; + var $Map; + var $Set; + var callBound; + var $arrayPush; + var $charCodeAt; + var $stringSlice; + var advanceStringIndex; + var getArrayIterator; + var getNonCollectionIterator; + var isMap; + var isSet; + var $mapForEach; + var $setForEach; + var $mapIterator; + var $setIterator; + var $mapAtAtIterator; + var $setAtAtIterator; + var getCollectionIterator; + } +}); + +// node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/implementation.js +var require_implementation5 = __commonJS({ + "node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/implementation.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var numberIsNaN = function(value) { + return value !== value; + }; + module2.exports = function is(a, b) { + if (a === 0 && b === 0) { + return 1 / a === 1 / b; + } + if (a === b) { + return true; + } + if (numberIsNaN(a) && numberIsNaN(b)) { + return true; + } + return false; + }; + } +}); + +// node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/polyfill.js +var require_polyfill3 = __commonJS({ + "node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/polyfill.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var implementation = require_implementation5(); + module2.exports = function getPolyfill() { + return typeof Object.is === "function" ? Object.is : implementation; + }; + } +}); + +// node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/shim.js +var require_shim3 = __commonJS({ + "node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/shim.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var getPolyfill = require_polyfill3(); + var define2 = require_define_properties(); + module2.exports = function shimObjectIs() { + var polyfill = getPolyfill(); + define2(Object, { is: polyfill }, { + is: function testObjectIs() { + return Object.is !== polyfill; + } + }); + return polyfill; + }; + } +}); + +// node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/index.js +var require_object_is = __commonJS({ + "node_modules/.pnpm/object-is@1.1.5/node_modules/object-is/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var define2 = require_define_properties(); + var callBind = require_call_bind(); + var implementation = require_implementation5(); + var getPolyfill = require_polyfill3(); + var shim = require_shim3(); + var polyfill = callBind(getPolyfill(), Object); + define2(polyfill, { + getPolyfill, + implementation, + shim + }); + module2.exports = polyfill; + } +}); + +// node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js +var require_is_callable = __commonJS({ + "node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var fnToStr = Function.prototype.toString; + var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply; + var badArrayLike; + var isCallableMarker; + if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") { + try { + badArrayLike = Object.defineProperty({}, "length", { + get: function() { + throw isCallableMarker; + } + }); + isCallableMarker = {}; + reflectApply(function() { + throw 42; + }, null, badArrayLike); + } catch (_) { + if (_ !== isCallableMarker) { + reflectApply = null; + } + } + } else { + reflectApply = null; + } + var constructorRegex = /^\s*class\b/; + var isES6ClassFn = function isES6ClassFunction(value) { + try { + var fnStr = fnToStr.call(value); + return constructorRegex.test(fnStr); + } catch (e) { + return false; + } + }; + var tryFunctionObject = function tryFunctionToStr(value) { + try { + if (isES6ClassFn(value)) { + return false; + } + fnToStr.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var objectClass = "[object Object]"; + var fnClass = "[object Function]"; + var genClass = "[object GeneratorFunction]"; + var ddaClass = "[object HTMLAllCollection]"; + var ddaClass2 = "[object HTML document.all class]"; + var ddaClass3 = "[object HTMLCollection]"; + var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag; + var isIE68 = !(0 in [,]); + var isDDA = function isDocumentDotAll() { + return false; + }; + if (typeof document === "object") { + all = document.all; + if (toStr.call(all) === toStr.call(document.all)) { + isDDA = function isDocumentDotAll(value) { + if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) { + try { + var str = toStr.call(value); + return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null; + } catch (e) { + } + } + return false; + }; + } + } + var all; + module2.exports = reflectApply ? function isCallable(value) { + if (isDDA(value)) { + return true; + } + if (!value) { + return false; + } + if (typeof value !== "function" && typeof value !== "object") { + return false; + } + try { + reflectApply(value, null, badArrayLike); + } catch (e) { + if (e !== isCallableMarker) { + return false; + } + } + return !isES6ClassFn(value) && tryFunctionObject(value); + } : function isCallable(value) { + if (isDDA(value)) { + return true; + } + if (!value) { + return false; + } + if (typeof value !== "function" && typeof value !== "object") { + return false; + } + if (hasToStringTag) { + return tryFunctionObject(value); + } + if (isES6ClassFn(value)) { + return false; + } + var strClass = toStr.call(value); + if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) { + return false; + } + return tryFunctionObject(value); + }; + } +}); + +// node_modules/.pnpm/for-each@0.3.3/node_modules/for-each/index.js +var require_for_each = __commonJS({ + "node_modules/.pnpm/for-each@0.3.3/node_modules/for-each/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var isCallable = require_is_callable(); + var toStr = Object.prototype.toString; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var forEachArray = function forEachArray2(array, iterator, receiver) { + for (var i = 0, len = array.length; i < len; i++) { + if (hasOwnProperty.call(array, i)) { + if (receiver == null) { + iterator(array[i], i, array); + } else { + iterator.call(receiver, array[i], i, array); + } + } + } + }; + var forEachString = function forEachString2(string, iterator, receiver) { + for (var i = 0, len = string.length; i < len; i++) { + if (receiver == null) { + iterator(string.charAt(i), i, string); + } else { + iterator.call(receiver, string.charAt(i), i, string); + } + } + }; + var forEachObject = function forEachObject2(object, iterator, receiver) { + for (var k in object) { + if (hasOwnProperty.call(object, k)) { + if (receiver == null) { + iterator(object[k], k, object); + } else { + iterator.call(receiver, object[k], k, object); + } + } + } + }; + var forEach2 = function forEach3(list, iterator, thisArg) { + if (!isCallable(iterator)) { + throw new TypeError("iterator must be a function"); + } + var receiver; + if (arguments.length >= 3) { + receiver = thisArg; + } + if (toStr.call(list) === "[object Array]") { + forEachArray(list, iterator, receiver); + } else if (typeof list === "string") { + forEachString(list, iterator, receiver); + } else { + forEachObject(list, iterator, receiver); + } + }; + module2.exports = forEach2; + } +}); + +// node_modules/.pnpm/available-typed-arrays@1.0.5/node_modules/available-typed-arrays/index.js +var require_available_typed_arrays = __commonJS({ + "node_modules/.pnpm/available-typed-arrays@1.0.5/node_modules/available-typed-arrays/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var possibleNames = [ + "BigInt64Array", + "BigUint64Array", + "Float32Array", + "Float64Array", + "Int16Array", + "Int32Array", + "Int8Array", + "Uint16Array", + "Uint32Array", + "Uint8Array", + "Uint8ClampedArray" + ]; + var g = typeof globalThis === "undefined" ? global : globalThis; + module2.exports = function availableTypedArrays() { + var out = []; + for (var i = 0; i < possibleNames.length; i++) { + if (typeof g[possibleNames[i]] === "function") { + out[out.length] = possibleNames[i]; + } + } + return out; + }; + } +}); + +// node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js +var require_gopd = __commonJS({ + "node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var $gOPD = GetIntrinsic("%Object.getOwnPropertyDescriptor%", true); + if ($gOPD) { + try { + $gOPD([], "length"); + } catch (e) { + $gOPD = null; + } + } + module2.exports = $gOPD; + } +}); + +// node_modules/.pnpm/is-typed-array@1.1.10/node_modules/is-typed-array/index.js +var require_is_typed_array = __commonJS({ + "node_modules/.pnpm/is-typed-array@1.1.10/node_modules/is-typed-array/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var forEach2 = require_for_each(); + var availableTypedArrays = require_available_typed_arrays(); + var callBound = require_callBound(); + var $toString = callBound("Object.prototype.toString"); + var hasToStringTag = require_shams2()(); + var gOPD = require_gopd(); + var g = typeof globalThis === "undefined" ? global : globalThis; + var typedArrays = availableTypedArrays(); + var $indexOf = callBound("Array.prototype.indexOf", true) || function indexOf(array, value) { + for (var i = 0; i < array.length; i += 1) { + if (array[i] === value) { + return i; + } + } + return -1; + }; + var $slice = callBound("String.prototype.slice"); + var toStrTags = {}; + var getPrototypeOf = Object.getPrototypeOf; + if (hasToStringTag && gOPD && getPrototypeOf) { + forEach2(typedArrays, function(typedArray) { + var arr = new g[typedArray](); + if (Symbol.toStringTag in arr) { + var proto = getPrototypeOf(arr); + var descriptor = gOPD(proto, Symbol.toStringTag); + if (!descriptor) { + var superProto = getPrototypeOf(proto); + descriptor = gOPD(superProto, Symbol.toStringTag); + } + toStrTags[typedArray] = descriptor.get; + } + }); + } + var tryTypedArrays = function tryAllTypedArrays(value) { + var anyTrue = false; + forEach2(toStrTags, function(getter, typedArray) { + if (!anyTrue) { + try { + anyTrue = getter.call(value) === typedArray; + } catch (e) { + } + } + }); + return anyTrue; + }; + module2.exports = function isTypedArray(value) { + if (!value || typeof value !== "object") { + return false; + } + if (!hasToStringTag || !(Symbol.toStringTag in value)) { + var tag2 = $slice($toString(value), 8, -1); + return $indexOf(typedArrays, tag2) > -1; + } + if (!gOPD) { + return false; + } + return tryTypedArrays(value); + }; + } +}); + +// node_modules/.pnpm/is-array-buffer@3.0.2/node_modules/is-array-buffer/index.js +var require_is_array_buffer = __commonJS({ + "node_modules/.pnpm/is-array-buffer@3.0.2/node_modules/is-array-buffer/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var callBind = require_call_bind(); + var callBound = require_callBound(); + var GetIntrinsic = require_get_intrinsic(); + var isTypedArray = require_is_typed_array(); + var $ArrayBuffer = GetIntrinsic("ArrayBuffer", true); + var $Float32Array = GetIntrinsic("Float32Array", true); + var $byteLength = callBound("ArrayBuffer.prototype.byteLength", true); + var abSlice = $ArrayBuffer && !$byteLength && new $ArrayBuffer().slice; + var $abSlice = abSlice && callBind(abSlice); + module2.exports = $byteLength || $abSlice ? function isArrayBuffer(obj) { + if (!obj || typeof obj !== "object") { + return false; + } + try { + if ($byteLength) { + $byteLength(obj); + } else { + $abSlice(obj, 0); + } + return true; + } catch (e) { + return false; + } + } : $Float32Array ? function IsArrayBuffer(obj) { + try { + return new $Float32Array(obj).buffer === obj && !isTypedArray(obj); + } catch (e) { + return typeof obj === "object" && e.name === "RangeError"; + } + } : function isArrayBuffer(obj) { + return false; + }; + } +}); + +// node_modules/.pnpm/is-date-object@1.0.5/node_modules/is-date-object/index.js +var require_is_date_object = __commonJS({ + "node_modules/.pnpm/is-date-object@1.0.5/node_modules/is-date-object/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var getDay = Date.prototype.getDay; + var tryDateObject = function tryDateGetDayCall(value) { + try { + getDay.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var dateClass = "[object Date]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isDateObject(value) { + if (typeof value !== "object" || value === null) { + return false; + } + return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass; + }; + } +}); + +// node_modules/.pnpm/is-regex@1.1.4/node_modules/is-regex/index.js +var require_is_regex = __commonJS({ + "node_modules/.pnpm/is-regex@1.1.4/node_modules/is-regex/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var callBound = require_callBound(); + var hasToStringTag = require_shams2()(); + var has; + var $exec; + var isRegexMarker; + var badStringifier; + if (hasToStringTag) { + has = callBound("Object.prototype.hasOwnProperty"); + $exec = callBound("RegExp.prototype.exec"); + isRegexMarker = {}; + throwRegexMarker = function() { + throw isRegexMarker; + }; + badStringifier = { + toString: throwRegexMarker, + valueOf: throwRegexMarker + }; + if (typeof Symbol.toPrimitive === "symbol") { + badStringifier[Symbol.toPrimitive] = throwRegexMarker; + } + } + var throwRegexMarker; + var $toString = callBound("Object.prototype.toString"); + var gOPD = Object.getOwnPropertyDescriptor; + var regexClass = "[object RegExp]"; + module2.exports = hasToStringTag ? function isRegex(value) { + if (!value || typeof value !== "object") { + return false; + } + var descriptor = gOPD(value, "lastIndex"); + var hasLastIndexDataProperty = descriptor && has(descriptor, "value"); + if (!hasLastIndexDataProperty) { + return false; + } + try { + $exec(value, badStringifier); + } catch (e) { + return e === isRegexMarker; + } + } : function isRegex(value) { + if (!value || typeof value !== "object" && typeof value !== "function") { + return false; + } + return $toString(value) === regexClass; + }; + } +}); + +// node_modules/.pnpm/is-shared-array-buffer@1.0.2/node_modules/is-shared-array-buffer/index.js +var require_is_shared_array_buffer = __commonJS({ + "node_modules/.pnpm/is-shared-array-buffer@1.0.2/node_modules/is-shared-array-buffer/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var callBound = require_callBound(); + var $byteLength = callBound("SharedArrayBuffer.prototype.byteLength", true); + module2.exports = $byteLength ? function isSharedArrayBuffer(obj) { + if (!obj || typeof obj !== "object") { + return false; + } + try { + $byteLength(obj); + return true; + } catch (e) { + return false; + } + } : function isSharedArrayBuffer(obj) { + return false; + }; + } +}); + +// node_modules/.pnpm/is-number-object@1.0.7/node_modules/is-number-object/index.js +var require_is_number_object = __commonJS({ + "node_modules/.pnpm/is-number-object@1.0.7/node_modules/is-number-object/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var numToStr = Number.prototype.toString; + var tryNumberObject = function tryNumberObject2(value) { + try { + numToStr.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var numClass = "[object Number]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isNumberObject(value) { + if (typeof value === "number") { + return true; + } + if (typeof value !== "object") { + return false; + } + return hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass; + }; + } +}); + +// node_modules/.pnpm/is-boolean-object@1.1.2/node_modules/is-boolean-object/index.js +var require_is_boolean_object = __commonJS({ + "node_modules/.pnpm/is-boolean-object@1.1.2/node_modules/is-boolean-object/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var callBound = require_callBound(); + var $boolToStr = callBound("Boolean.prototype.toString"); + var $toString = callBound("Object.prototype.toString"); + var tryBooleanObject = function booleanBrandCheck(value) { + try { + $boolToStr(value); + return true; + } catch (e) { + return false; + } + }; + var boolClass = "[object Boolean]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isBoolean(value) { + if (typeof value === "boolean") { + return true; + } + if (value === null || typeof value !== "object") { + return false; + } + return hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : $toString(value) === boolClass; + }; + } +}); + +// node_modules/.pnpm/is-symbol@1.0.4/node_modules/is-symbol/index.js +var require_is_symbol = __commonJS({ + "node_modules/.pnpm/is-symbol@1.0.4/node_modules/is-symbol/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var toStr = Object.prototype.toString; + var hasSymbols = require_has_symbols()(); + if (hasSymbols) { + symToStr = Symbol.prototype.toString; + symStringRegex = /^Symbol\(.*\)$/; + isSymbolObject = function isRealSymbolObject(value) { + if (typeof value.valueOf() !== "symbol") { + return false; + } + return symStringRegex.test(symToStr.call(value)); + }; + module2.exports = function isSymbol(value) { + if (typeof value === "symbol") { + return true; + } + if (toStr.call(value) !== "[object Symbol]") { + return false; + } + try { + return isSymbolObject(value); + } catch (e) { + return false; + } + }; + } else { + module2.exports = function isSymbol(value) { + return false; + }; + } + var symToStr; + var symStringRegex; + var isSymbolObject; + } +}); + +// node_modules/.pnpm/has-bigints@1.0.2/node_modules/has-bigints/index.js +var require_has_bigints = __commonJS({ + "node_modules/.pnpm/has-bigints@1.0.2/node_modules/has-bigints/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var $BigInt = typeof BigInt !== "undefined" && BigInt; + module2.exports = function hasNativeBigInts() { + return typeof $BigInt === "function" && typeof BigInt === "function" && typeof $BigInt(42) === "bigint" && typeof BigInt(42) === "bigint"; + }; + } +}); + +// node_modules/.pnpm/is-bigint@1.0.4/node_modules/is-bigint/index.js +var require_is_bigint = __commonJS({ + "node_modules/.pnpm/is-bigint@1.0.4/node_modules/is-bigint/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var hasBigInts = require_has_bigints()(); + if (hasBigInts) { + bigIntValueOf = BigInt.prototype.valueOf; + tryBigInt = function tryBigIntObject(value) { + try { + bigIntValueOf.call(value); + return true; + } catch (e) { + } + return false; + }; + module2.exports = function isBigInt(value) { + if (value === null || typeof value === "undefined" || typeof value === "boolean" || typeof value === "string" || typeof value === "number" || typeof value === "symbol" || typeof value === "function") { + return false; + } + if (typeof value === "bigint") { + return true; + } + return tryBigInt(value); + }; + } else { + module2.exports = function isBigInt(value) { + return false; + }; + } + var bigIntValueOf; + var tryBigInt; + } +}); + +// node_modules/.pnpm/which-boxed-primitive@1.0.2/node_modules/which-boxed-primitive/index.js +var require_which_boxed_primitive = __commonJS({ + "node_modules/.pnpm/which-boxed-primitive@1.0.2/node_modules/which-boxed-primitive/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var isString = require_is_string(); + var isNumber = require_is_number_object(); + var isBoolean = require_is_boolean_object(); + var isSymbol = require_is_symbol(); + var isBigInt = require_is_bigint(); + module2.exports = function whichBoxedPrimitive(value) { + if (value == null || typeof value !== "object" && typeof value !== "function") { + return null; + } + if (isString(value)) { + return "String"; + } + if (isNumber(value)) { + return "Number"; + } + if (isBoolean(value)) { + return "Boolean"; + } + if (isSymbol(value)) { + return "Symbol"; + } + if (isBigInt(value)) { + return "BigInt"; + } + }; + } +}); + +// node_modules/.pnpm/is-weakmap@2.0.1/node_modules/is-weakmap/index.js +var require_is_weakmap = __commonJS({ + "node_modules/.pnpm/is-weakmap@2.0.1/node_modules/is-weakmap/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var $WeakMap = typeof WeakMap === "function" && WeakMap.prototype ? WeakMap : null; + var $WeakSet = typeof WeakSet === "function" && WeakSet.prototype ? WeakSet : null; + var exported; + if (!$WeakMap) { + exported = function isWeakMap(x) { + return false; + }; + } + var $mapHas = $WeakMap ? $WeakMap.prototype.has : null; + var $setHas = $WeakSet ? $WeakSet.prototype.has : null; + if (!exported && !$mapHas) { + exported = function isWeakMap(x) { + return false; + }; + } + module2.exports = exported || function isWeakMap(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $mapHas.call(x, $mapHas); + if ($setHas) { + try { + $setHas.call(x, $setHas); + } catch (e) { + return true; + } + } + return x instanceof $WeakMap; + } catch (e) { + } + return false; + }; + } +}); + +// node_modules/.pnpm/is-weakset@2.0.2/node_modules/is-weakset/index.js +var require_is_weakset = __commonJS({ + "node_modules/.pnpm/is-weakset@2.0.2/node_modules/is-weakset/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var $WeakSet = GetIntrinsic("%WeakSet%", true); + var $setHas = callBound("WeakSet.prototype.has", true); + if ($setHas) { + $mapHas = callBound("WeakMap.prototype.has", true); + module2.exports = function isWeakSet(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $setHas(x, $setHas); + if ($mapHas) { + try { + $mapHas(x, $mapHas); + } catch (e) { + return true; + } + } + return x instanceof $WeakSet; + } catch (e) { + } + return false; + }; + } else { + module2.exports = function isWeakSet(x) { + return false; + }; + } + var $mapHas; + } +}); + +// node_modules/.pnpm/which-collection@1.0.1/node_modules/which-collection/index.js +var require_which_collection = __commonJS({ + "node_modules/.pnpm/which-collection@1.0.1/node_modules/which-collection/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var isMap = require_is_map(); + var isSet = require_is_set(); + var isWeakMap = require_is_weakmap(); + var isWeakSet = require_is_weakset(); + module2.exports = function whichCollection(value) { + if (value && typeof value === "object") { + if (isMap(value)) { + return "Map"; + } + if (isSet(value)) { + return "Set"; + } + if (isWeakMap(value)) { + return "WeakMap"; + } + if (isWeakSet(value)) { + return "WeakSet"; + } + } + return false; + }; + } +}); + +// node_modules/.pnpm/which-typed-array@1.1.9/node_modules/which-typed-array/index.js +var require_which_typed_array = __commonJS({ + "node_modules/.pnpm/which-typed-array@1.1.9/node_modules/which-typed-array/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var forEach2 = require_for_each(); + var availableTypedArrays = require_available_typed_arrays(); + var callBound = require_callBound(); + var gOPD = require_gopd(); + var $toString = callBound("Object.prototype.toString"); + var hasToStringTag = require_shams2()(); + var g = typeof globalThis === "undefined" ? global : globalThis; + var typedArrays = availableTypedArrays(); + var $slice = callBound("String.prototype.slice"); + var toStrTags = {}; + var getPrototypeOf = Object.getPrototypeOf; + if (hasToStringTag && gOPD && getPrototypeOf) { + forEach2(typedArrays, function(typedArray) { + if (typeof g[typedArray] === "function") { + var arr = new g[typedArray](); + if (Symbol.toStringTag in arr) { + var proto = getPrototypeOf(arr); + var descriptor = gOPD(proto, Symbol.toStringTag); + if (!descriptor) { + var superProto = getPrototypeOf(proto); + descriptor = gOPD(superProto, Symbol.toStringTag); + } + toStrTags[typedArray] = descriptor.get; + } + } + }); + } + var tryTypedArrays = function tryAllTypedArrays(value) { + var foundName = false; + forEach2(toStrTags, function(getter, typedArray) { + if (!foundName) { + try { + var name = getter.call(value); + if (name === typedArray) { + foundName = name; + } + } catch (e) { + } + } + }); + return foundName; + }; + var isTypedArray = require_is_typed_array(); + module2.exports = function whichTypedArray(value) { + if (!isTypedArray(value)) { + return false; + } + if (!hasToStringTag || !(Symbol.toStringTag in value)) { + return $slice($toString(value), 8, -1); + } + return tryTypedArrays(value); + }; + } +}); + +// node_modules/.pnpm/array-buffer-byte-length@1.0.0/node_modules/array-buffer-byte-length/index.js +var require_array_buffer_byte_length = __commonJS({ + "node_modules/.pnpm/array-buffer-byte-length@1.0.0/node_modules/array-buffer-byte-length/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var callBound = require_callBound(); + var $byteLength = callBound("ArrayBuffer.prototype.byteLength", true); + var isArrayBuffer = require_is_array_buffer(); + module2.exports = function byteLength(ab) { + if (!isArrayBuffer(ab)) { + return NaN; + } + return $byteLength ? $byteLength(ab) : ab.byteLength; + }; + } +}); + +// node_modules/.pnpm/deep-equal@2.2.1/node_modules/deep-equal/index.js +var require_deep_equal = __commonJS({ + "node_modules/.pnpm/deep-equal@2.2.1/node_modules/deep-equal/index.js"(exports2, module2) { + "use strict"; + init_polyfill_buffer(); + var assign2 = require_object(); + var callBound = require_callBound(); + var flags = require_regexp_prototype(); + var GetIntrinsic = require_get_intrinsic(); + var getIterator3 = require_es_get_iterator(); + var getSideChannel = require_side_channel(); + var is = require_object_is(); + var isArguments = require_is_arguments(); + var isArray = require_isarray(); + var isArrayBuffer = require_is_array_buffer(); + var isDate = require_is_date_object(); + var isRegex = require_is_regex(); + var isSharedArrayBuffer = require_is_shared_array_buffer(); + var objectKeys = require_object_keys(); + var whichBoxedPrimitive = require_which_boxed_primitive(); + var whichCollection = require_which_collection(); + var whichTypedArray = require_which_typed_array(); + var byteLength = require_array_buffer_byte_length(); + var sabByteLength = callBound("SharedArrayBuffer.prototype.byteLength", true); + var $getTime = callBound("Date.prototype.getTime"); + var gPO = Object.getPrototypeOf; + var $objToString = callBound("Object.prototype.toString"); + var $Set = GetIntrinsic("%Set%", true); + var $mapHas = callBound("Map.prototype.has", true); + var $mapGet = callBound("Map.prototype.get", true); + var $mapSize = callBound("Map.prototype.size", true); + var $setAdd = callBound("Set.prototype.add", true); + var $setDelete = callBound("Set.prototype.delete", true); + var $setHas = callBound("Set.prototype.has", true); + var $setSize = callBound("Set.prototype.size", true); + function setHasEqualElement(set, val1, opts, channel) { + var i = getIterator3(set); + var result; + while ((result = i.next()) && !result.done) { + if (internalDeepEqual(val1, result.value, opts, channel)) { + $setDelete(set, result.value); + return true; + } + } + return false; + } + function findLooseMatchingPrimitives(prim) { + if (typeof prim === "undefined") { + return null; + } + if (typeof prim === "object") { + return void 0; + } + if (typeof prim === "symbol") { + return false; + } + if (typeof prim === "string" || typeof prim === "number") { + return +prim === +prim; + } + return true; + } + function mapMightHaveLoosePrim(a, b, prim, item, opts, channel) { + var altValue = findLooseMatchingPrimitives(prim); + if (altValue != null) { + return altValue; + } + var curB = $mapGet(b, altValue); + var looseOpts = assign2({}, opts, { strict: false }); + if (typeof curB === "undefined" && !$mapHas(b, altValue) || !internalDeepEqual(item, curB, looseOpts, channel)) { + return false; + } + return !$mapHas(a, altValue) && internalDeepEqual(item, curB, looseOpts, channel); + } + function setMightHaveLoosePrim(a, b, prim) { + var altValue = findLooseMatchingPrimitives(prim); + if (altValue != null) { + return altValue; + } + return $setHas(b, altValue) && !$setHas(a, altValue); + } + function mapHasEqualEntry(set, map, key1, item1, opts, channel) { + var i = getIterator3(set); + var result; + var key2; + while ((result = i.next()) && !result.done) { + key2 = result.value; + if ( + // eslint-disable-next-line no-use-before-define + internalDeepEqual(key1, key2, opts, channel) && internalDeepEqual(item1, $mapGet(map, key2), opts, channel) + ) { + $setDelete(set, key2); + return true; + } + } + return false; + } + function internalDeepEqual(actual, expected, options, channel) { + var opts = options || {}; + if (opts.strict ? is(actual, expected) : actual === expected) { + return true; + } + var actualBoxed = whichBoxedPrimitive(actual); + var expectedBoxed = whichBoxedPrimitive(expected); + if (actualBoxed !== expectedBoxed) { + return false; + } + if (!actual || !expected || typeof actual !== "object" && typeof expected !== "object") { + return opts.strict ? is(actual, expected) : actual == expected; + } + var hasActual = channel.has(actual); + var hasExpected = channel.has(expected); + var sentinel; + if (hasActual && hasExpected) { + if (channel.get(actual) === channel.get(expected)) { + return true; + } + } else { + sentinel = {}; + } + if (!hasActual) { + channel.set(actual, sentinel); + } + if (!hasExpected) { + channel.set(expected, sentinel); + } + return objEquiv(actual, expected, opts, channel); + } + function isBuffer(x) { + if (!x || typeof x !== "object" || typeof x.length !== "number") { + return false; + } + if (typeof x.copy !== "function" || typeof x.slice !== "function") { + return false; + } + if (x.length > 0 && typeof x[0] !== "number") { + return false; + } + return !!(x.constructor && x.constructor.isBuffer && x.constructor.isBuffer(x)); + } + function setEquiv(a, b, opts, channel) { + if ($setSize(a) !== $setSize(b)) { + return false; + } + var iA = getIterator3(a); + var iB = getIterator3(b); + var resultA; + var resultB; + var set; + while ((resultA = iA.next()) && !resultA.done) { + if (resultA.value && typeof resultA.value === "object") { + if (!set) { + set = new $Set(); + } + $setAdd(set, resultA.value); + } else if (!$setHas(b, resultA.value)) { + if (opts.strict) { + return false; + } + if (!setMightHaveLoosePrim(a, b, resultA.value)) { + return false; + } + if (!set) { + set = new $Set(); + } + $setAdd(set, resultA.value); + } + } + if (set) { + while ((resultB = iB.next()) && !resultB.done) { + if (resultB.value && typeof resultB.value === "object") { + if (!setHasEqualElement(set, resultB.value, opts.strict, channel)) { + return false; + } + } else if (!opts.strict && !$setHas(a, resultB.value) && !setHasEqualElement(set, resultB.value, opts.strict, channel)) { + return false; + } + } + return $setSize(set) === 0; + } + return true; + } + function mapEquiv(a, b, opts, channel) { + if ($mapSize(a) !== $mapSize(b)) { + return false; + } + var iA = getIterator3(a); + var iB = getIterator3(b); + var resultA; + var resultB; + var set; + var key2; + var item1; + var item2; + while ((resultA = iA.next()) && !resultA.done) { + key2 = resultA.value[0]; + item1 = resultA.value[1]; + if (key2 && typeof key2 === "object") { + if (!set) { + set = new $Set(); + } + $setAdd(set, key2); + } else { + item2 = $mapGet(b, key2); + if (typeof item2 === "undefined" && !$mapHas(b, key2) || !internalDeepEqual(item1, item2, opts, channel)) { + if (opts.strict) { + return false; + } + if (!mapMightHaveLoosePrim(a, b, key2, item1, opts, channel)) { + return false; + } + if (!set) { + set = new $Set(); + } + $setAdd(set, key2); + } + } + } + if (set) { + while ((resultB = iB.next()) && !resultB.done) { + key2 = resultB.value[0]; + item2 = resultB.value[1]; + if (key2 && typeof key2 === "object") { + if (!mapHasEqualEntry(set, a, key2, item2, opts, channel)) { + return false; + } + } else if (!opts.strict && (!a.has(key2) || !internalDeepEqual($mapGet(a, key2), item2, opts, channel)) && !mapHasEqualEntry(set, a, key2, item2, assign2({}, opts, { strict: false }), channel)) { + return false; + } + } + return $setSize(set) === 0; + } + return true; + } + function objEquiv(a, b, opts, channel) { + var i, key2; + if (typeof a !== typeof b) { + return false; + } + if (a == null || b == null) { + return false; + } + if ($objToString(a) !== $objToString(b)) { + return false; + } + if (isArguments(a) !== isArguments(b)) { + return false; + } + var aIsArray = isArray(a); + var bIsArray = isArray(b); + if (aIsArray !== bIsArray) { + return false; + } + var aIsError = a instanceof Error; + var bIsError = b instanceof Error; + if (aIsError !== bIsError) { + return false; + } + if (aIsError || bIsError) { + if (a.name !== b.name || a.message !== b.message) { + return false; + } + } + var aIsRegex = isRegex(a); + var bIsRegex = isRegex(b); + if (aIsRegex !== bIsRegex) { + return false; + } + if ((aIsRegex || bIsRegex) && (a.source !== b.source || flags(a) !== flags(b))) { + return false; + } + var aIsDate = isDate(a); + var bIsDate = isDate(b); + if (aIsDate !== bIsDate) { + return false; + } + if (aIsDate || bIsDate) { + if ($getTime(a) !== $getTime(b)) { + return false; + } + } + if (opts.strict && gPO && gPO(a) !== gPO(b)) { + return false; + } + var aWhich = whichTypedArray(a); + var bWhich = whichTypedArray(b); + if ((aWhich || bWhich) && aWhich !== bWhich) { + return false; + } + var aIsBuffer = isBuffer(a); + var bIsBuffer = isBuffer(b); + if (aIsBuffer !== bIsBuffer) { + return false; + } + if (aIsBuffer || bIsBuffer) { + if (a.length !== b.length) { + return false; + } + for (i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { + return false; + } + } + return true; + } + var aIsArrayBuffer = isArrayBuffer(a); + var bIsArrayBuffer = isArrayBuffer(b); + if (aIsArrayBuffer !== bIsArrayBuffer) { + return false; + } + if (aIsArrayBuffer || bIsArrayBuffer) { + if (byteLength(a) !== byteLength(b)) { + return false; + } + return typeof Uint8Array === "function" && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel); + } + var aIsSAB = isSharedArrayBuffer(a); + var bIsSAB = isSharedArrayBuffer(b); + if (aIsSAB !== bIsSAB) { + return false; + } + if (aIsSAB || bIsSAB) { + if (sabByteLength(a) !== sabByteLength(b)) { + return false; + } + return typeof Uint8Array === "function" && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel); + } + if (typeof a !== typeof b) { + return false; + } + var ka = objectKeys(a); + var kb = objectKeys(b); + if (ka.length !== kb.length) { + return false; + } + ka.sort(); + kb.sort(); + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) { + return false; + } + } + for (i = ka.length - 1; i >= 0; i--) { + key2 = ka[i]; + if (!internalDeepEqual(a[key2], b[key2], opts, channel)) { + return false; + } + } + var aCollection = whichCollection(a); + var bCollection = whichCollection(b); + if (aCollection !== bCollection) { + return false; + } + if (aCollection === "Set" || bCollection === "Set") { + return setEquiv(a, b, opts, channel); + } + if (aCollection === "Map") { + return mapEquiv(a, b, opts, channel); + } + return true; + } + module2.exports = function deepEqual2(a, b, opts) { + return internalDeepEqual(a, b, opts, getSideChannel()); + }; + } +}); + +// node_modules/.pnpm/js-sha256@0.9.0/node_modules/js-sha256/src/sha256.js +var require_sha256 = __commonJS({ + "node_modules/.pnpm/js-sha256@0.9.0/node_modules/js-sha256/src/sha256.js"(exports, module) { + init_polyfill_buffer(); + (function() { + "use strict"; + var ERROR = "input is invalid type"; + var WINDOW = typeof window === "object"; + var root = WINDOW ? window : {}; + if (root.JS_SHA256_NO_WINDOW) { + WINDOW = false; + } + var WEB_WORKER = !WINDOW && typeof self === "object"; + var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node; + if (NODE_JS) { + root = global; + } else if (WEB_WORKER) { + root = self; + } + var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === "object" && module.exports; + var AMD = typeof define === "function" && define.amd; + var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined"; + var HEX_CHARS = "0123456789abcdef".split(""); + var EXTRA = [-2147483648, 8388608, 32768, 128]; + var SHIFT = [24, 16, 8, 0]; + var K = [ + 1116352408, + 1899447441, + 3049323471, + 3921009573, + 961987163, + 1508970993, + 2453635748, + 2870763221, + 3624381080, + 310598401, + 607225278, + 1426881987, + 1925078388, + 2162078206, + 2614888103, + 3248222580, + 3835390401, + 4022224774, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + 2554220882, + 2821834349, + 2952996808, + 3210313671, + 3336571891, + 3584528711, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + 2177026350, + 2456956037, + 2730485921, + 2820302411, + 3259730800, + 3345764771, + 3516065817, + 3600352804, + 4094571909, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + 2227730452, + 2361852424, + 2428436474, + 2756734187, + 3204031479, + 3329325298 + ]; + var OUTPUT_TYPES = ["hex", "array", "digest", "arrayBuffer"]; + var blocks = []; + if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) { + Array.isArray = function(obj) { + return Object.prototype.toString.call(obj) === "[object Array]"; + }; + } + if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { + ArrayBuffer.isView = function(obj) { + return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer; + }; + } + var createOutputMethod = function(outputType, is2242) { + return function(message) { + return new Sha256(is2242, true).update(message)[outputType](); + }; + }; + var createMethod = function(is2242) { + var method2 = createOutputMethod("hex", is2242); + if (NODE_JS) { + method2 = nodeWrap(method2, is2242); + } + method2.create = function() { + return new Sha256(is2242); + }; + method2.update = function(message) { + return method2.create().update(message); + }; + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method2[type] = createOutputMethod(type, is2242); + } + return method2; + }; + var nodeWrap = function(method, is224) { + var crypto = eval("require('crypto')"); + var Buffer = eval("require('buffer').Buffer"); + var algorithm = is224 ? "sha224" : "sha256"; + var nodeMethod = function(message) { + if (typeof message === "string") { + return crypto.createHash(algorithm).update(message, "utf8").digest("hex"); + } else { + if (message === null || message === void 0) { + throw new Error(ERROR); + } else if (message.constructor === ArrayBuffer) { + message = new Uint8Array(message); + } + } + if (Array.isArray(message) || ArrayBuffer.isView(message) || message.constructor === Buffer) { + return crypto.createHash(algorithm).update(new Buffer(message)).digest("hex"); + } else { + return method(message); + } + }; + return nodeMethod; + }; + var createHmacOutputMethod = function(outputType, is2242) { + return function(key2, message) { + return new HmacSha256(key2, is2242, true).update(message)[outputType](); + }; + }; + var createHmacMethod = function(is2242) { + var method2 = createHmacOutputMethod("hex", is2242); + method2.create = function(key2) { + return new HmacSha256(key2, is2242); + }; + method2.update = function(key2, message) { + return method2.create(key2).update(message); + }; + for (var i = 0; i < OUTPUT_TYPES.length; ++i) { + var type = OUTPUT_TYPES[i]; + method2[type] = createHmacOutputMethod(type, is2242); + } + return method2; + }; + function Sha256(is2242, sharedMemory) { + if (sharedMemory) { + blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0; + this.blocks = blocks; + } else { + this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + } + if (is2242) { + this.h0 = 3238371032; + this.h1 = 914150663; + this.h2 = 812702999; + this.h3 = 4144912697; + this.h4 = 4290775857; + this.h5 = 1750603025; + this.h6 = 1694076839; + this.h7 = 3204075428; + } else { + this.h0 = 1779033703; + this.h1 = 3144134277; + this.h2 = 1013904242; + this.h3 = 2773480762; + this.h4 = 1359893119; + this.h5 = 2600822924; + this.h6 = 528734635; + this.h7 = 1541459225; + } + this.block = this.start = this.bytes = this.hBytes = 0; + this.finalized = this.hashed = false; + this.first = true; + this.is224 = is2242; + } + Sha256.prototype.update = function(message) { + if (this.finalized) { + return; + } + var notString, type = typeof message; + if (type !== "string") { + if (type === "object") { + if (message === null) { + throw new Error(ERROR); + } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { + message = new Uint8Array(message); + } else if (!Array.isArray(message)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { + throw new Error(ERROR); + } + } + } else { + throw new Error(ERROR); + } + notString = true; + } + var code, index2 = 0, i, length = message.length, blocks2 = this.blocks; + while (index2 < length) { + if (this.hashed) { + this.hashed = false; + blocks2[0] = this.block; + blocks2[16] = blocks2[1] = blocks2[2] = blocks2[3] = blocks2[4] = blocks2[5] = blocks2[6] = blocks2[7] = blocks2[8] = blocks2[9] = blocks2[10] = blocks2[11] = blocks2[12] = blocks2[13] = blocks2[14] = blocks2[15] = 0; + } + if (notString) { + for (i = this.start; index2 < length && i < 64; ++index2) { + blocks2[i >> 2] |= message[index2] << SHIFT[i++ & 3]; + } + } else { + for (i = this.start; index2 < length && i < 64; ++index2) { + code = message.charCodeAt(index2); + if (code < 128) { + blocks2[i >> 2] |= code << SHIFT[i++ & 3]; + } else if (code < 2048) { + blocks2[i >> 2] |= (192 | code >> 6) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3]; + } else if (code < 55296 || code >= 57344) { + blocks2[i >> 2] |= (224 | code >> 12) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code >> 6 & 63) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3]; + } else { + code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index2) & 1023); + blocks2[i >> 2] |= (240 | code >> 18) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code >> 12 & 63) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code >> 6 & 63) << SHIFT[i++ & 3]; + blocks2[i >> 2] |= (128 | code & 63) << SHIFT[i++ & 3]; + } + } + } + this.lastByteIndex = i; + this.bytes += i - this.start; + if (i >= 64) { + this.block = blocks2[16]; + this.start = i - 64; + this.hash(); + this.hashed = true; + } else { + this.start = i; + } + } + if (this.bytes > 4294967295) { + this.hBytes += this.bytes / 4294967296 << 0; + this.bytes = this.bytes % 4294967296; + } + return this; + }; + Sha256.prototype.finalize = function() { + if (this.finalized) { + return; + } + this.finalized = true; + var blocks2 = this.blocks, i = this.lastByteIndex; + blocks2[16] = this.block; + blocks2[i >> 2] |= EXTRA[i & 3]; + this.block = blocks2[16]; + if (i >= 56) { + if (!this.hashed) { + this.hash(); + } + blocks2[0] = this.block; + blocks2[16] = blocks2[1] = blocks2[2] = blocks2[3] = blocks2[4] = blocks2[5] = blocks2[6] = blocks2[7] = blocks2[8] = blocks2[9] = blocks2[10] = blocks2[11] = blocks2[12] = blocks2[13] = blocks2[14] = blocks2[15] = 0; + } + blocks2[14] = this.hBytes << 3 | this.bytes >>> 29; + blocks2[15] = this.bytes << 3; + this.hash(); + }; + Sha256.prototype.hash = function() { + var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6, h = this.h7, blocks2 = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc; + for (j = 16; j < 64; ++j) { + t1 = blocks2[j - 15]; + s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3; + t1 = blocks2[j - 2]; + s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10; + blocks2[j] = blocks2[j - 16] + s0 + blocks2[j - 7] + s1 << 0; + } + bc = b & c; + for (j = 0; j < 64; j += 4) { + if (this.first) { + if (this.is224) { + ab = 300032; + t1 = blocks2[0] - 1413257819; + h = t1 - 150054599 << 0; + d = t1 + 24177077 << 0; + } else { + ab = 704751109; + t1 = blocks2[0] - 210244248; + h = t1 - 1521486534 << 0; + d = t1 + 143694565 << 0; + } + this.first = false; + } else { + s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10); + s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7); + ab = a & b; + maj = ab ^ a & c ^ bc; + ch = e & f ^ ~e & g; + t1 = h + s1 + ch + K[j] + blocks2[j]; + t2 = s0 + maj; + h = d + t1 << 0; + d = t1 + t2 << 0; + } + s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10); + s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7); + da = d & a; + maj = da ^ d & b ^ ab; + ch = h & e ^ ~h & f; + t1 = g + s1 + ch + K[j + 1] + blocks2[j + 1]; + t2 = s0 + maj; + g = c + t1 << 0; + c = t1 + t2 << 0; + s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10); + s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7); + cd = c & d; + maj = cd ^ c & a ^ da; + ch = g & h ^ ~g & e; + t1 = f + s1 + ch + K[j + 2] + blocks2[j + 2]; + t2 = s0 + maj; + f = b + t1 << 0; + b = t1 + t2 << 0; + s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10); + s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7); + bc = b & c; + maj = bc ^ b & d ^ cd; + ch = f & g ^ ~f & h; + t1 = e + s1 + ch + K[j + 3] + blocks2[j + 3]; + t2 = s0 + maj; + e = a + t1 << 0; + a = t1 + t2 << 0; + } + this.h0 = this.h0 + a << 0; + this.h1 = this.h1 + b << 0; + this.h2 = this.h2 + c << 0; + this.h3 = this.h3 + d << 0; + this.h4 = this.h4 + e << 0; + this.h5 = this.h5 + f << 0; + this.h6 = this.h6 + g << 0; + this.h7 = this.h7 + h << 0; + }; + Sha256.prototype.hex = function() { + this.finalize(); + var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, h6 = this.h6, h7 = this.h7; + var hex = HEX_CHARS[h0 >> 28 & 15] + HEX_CHARS[h0 >> 24 & 15] + HEX_CHARS[h0 >> 20 & 15] + HEX_CHARS[h0 >> 16 & 15] + HEX_CHARS[h0 >> 12 & 15] + HEX_CHARS[h0 >> 8 & 15] + HEX_CHARS[h0 >> 4 & 15] + HEX_CHARS[h0 & 15] + HEX_CHARS[h1 >> 28 & 15] + HEX_CHARS[h1 >> 24 & 15] + HEX_CHARS[h1 >> 20 & 15] + HEX_CHARS[h1 >> 16 & 15] + HEX_CHARS[h1 >> 12 & 15] + HEX_CHARS[h1 >> 8 & 15] + HEX_CHARS[h1 >> 4 & 15] + HEX_CHARS[h1 & 15] + HEX_CHARS[h2 >> 28 & 15] + HEX_CHARS[h2 >> 24 & 15] + HEX_CHARS[h2 >> 20 & 15] + HEX_CHARS[h2 >> 16 & 15] + HEX_CHARS[h2 >> 12 & 15] + HEX_CHARS[h2 >> 8 & 15] + HEX_CHARS[h2 >> 4 & 15] + HEX_CHARS[h2 & 15] + HEX_CHARS[h3 >> 28 & 15] + HEX_CHARS[h3 >> 24 & 15] + HEX_CHARS[h3 >> 20 & 15] + HEX_CHARS[h3 >> 16 & 15] + HEX_CHARS[h3 >> 12 & 15] + HEX_CHARS[h3 >> 8 & 15] + HEX_CHARS[h3 >> 4 & 15] + HEX_CHARS[h3 & 15] + HEX_CHARS[h4 >> 28 & 15] + HEX_CHARS[h4 >> 24 & 15] + HEX_CHARS[h4 >> 20 & 15] + HEX_CHARS[h4 >> 16 & 15] + HEX_CHARS[h4 >> 12 & 15] + HEX_CHARS[h4 >> 8 & 15] + HEX_CHARS[h4 >> 4 & 15] + HEX_CHARS[h4 & 15] + HEX_CHARS[h5 >> 28 & 15] + HEX_CHARS[h5 >> 24 & 15] + HEX_CHARS[h5 >> 20 & 15] + HEX_CHARS[h5 >> 16 & 15] + HEX_CHARS[h5 >> 12 & 15] + HEX_CHARS[h5 >> 8 & 15] + HEX_CHARS[h5 >> 4 & 15] + HEX_CHARS[h5 & 15] + HEX_CHARS[h6 >> 28 & 15] + HEX_CHARS[h6 >> 24 & 15] + HEX_CHARS[h6 >> 20 & 15] + HEX_CHARS[h6 >> 16 & 15] + HEX_CHARS[h6 >> 12 & 15] + HEX_CHARS[h6 >> 8 & 15] + HEX_CHARS[h6 >> 4 & 15] + HEX_CHARS[h6 & 15]; + if (!this.is224) { + hex += HEX_CHARS[h7 >> 28 & 15] + HEX_CHARS[h7 >> 24 & 15] + HEX_CHARS[h7 >> 20 & 15] + HEX_CHARS[h7 >> 16 & 15] + HEX_CHARS[h7 >> 12 & 15] + HEX_CHARS[h7 >> 8 & 15] + HEX_CHARS[h7 >> 4 & 15] + HEX_CHARS[h7 & 15]; + } + return hex; + }; + Sha256.prototype.toString = Sha256.prototype.hex; + Sha256.prototype.digest = function() { + this.finalize(); + var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, h6 = this.h6, h7 = this.h7; + var arr = [ + h0 >> 24 & 255, + h0 >> 16 & 255, + h0 >> 8 & 255, + h0 & 255, + h1 >> 24 & 255, + h1 >> 16 & 255, + h1 >> 8 & 255, + h1 & 255, + h2 >> 24 & 255, + h2 >> 16 & 255, + h2 >> 8 & 255, + h2 & 255, + h3 >> 24 & 255, + h3 >> 16 & 255, + h3 >> 8 & 255, + h3 & 255, + h4 >> 24 & 255, + h4 >> 16 & 255, + h4 >> 8 & 255, + h4 & 255, + h5 >> 24 & 255, + h5 >> 16 & 255, + h5 >> 8 & 255, + h5 & 255, + h6 >> 24 & 255, + h6 >> 16 & 255, + h6 >> 8 & 255, + h6 & 255 + ]; + if (!this.is224) { + arr.push(h7 >> 24 & 255, h7 >> 16 & 255, h7 >> 8 & 255, h7 & 255); + } + return arr; + }; + Sha256.prototype.array = Sha256.prototype.digest; + Sha256.prototype.arrayBuffer = function() { + this.finalize(); + var buffer2 = new ArrayBuffer(this.is224 ? 28 : 32); + var dataView = new DataView(buffer2); + dataView.setUint32(0, this.h0); + dataView.setUint32(4, this.h1); + dataView.setUint32(8, this.h2); + dataView.setUint32(12, this.h3); + dataView.setUint32(16, this.h4); + dataView.setUint32(20, this.h5); + dataView.setUint32(24, this.h6); + if (!this.is224) { + dataView.setUint32(28, this.h7); + } + return buffer2; + }; + function HmacSha256(key2, is2242, sharedMemory) { + var i, type = typeof key2; + if (type === "string") { + var bytes = [], length = key2.length, index2 = 0, code; + for (i = 0; i < length; ++i) { + code = key2.charCodeAt(i); + if (code < 128) { + bytes[index2++] = code; + } else if (code < 2048) { + bytes[index2++] = 192 | code >> 6; + bytes[index2++] = 128 | code & 63; + } else if (code < 55296 || code >= 57344) { + bytes[index2++] = 224 | code >> 12; + bytes[index2++] = 128 | code >> 6 & 63; + bytes[index2++] = 128 | code & 63; + } else { + code = 65536 + ((code & 1023) << 10 | key2.charCodeAt(++i) & 1023); + bytes[index2++] = 240 | code >> 18; + bytes[index2++] = 128 | code >> 12 & 63; + bytes[index2++] = 128 | code >> 6 & 63; + bytes[index2++] = 128 | code & 63; + } + } + key2 = bytes; + } else { + if (type === "object") { + if (key2 === null) { + throw new Error(ERROR); + } else if (ARRAY_BUFFER && key2.constructor === ArrayBuffer) { + key2 = new Uint8Array(key2); + } else if (!Array.isArray(key2)) { + if (!ARRAY_BUFFER || !ArrayBuffer.isView(key2)) { + throw new Error(ERROR); + } + } + } else { + throw new Error(ERROR); + } + } + if (key2.length > 64) { + key2 = new Sha256(is2242, true).update(key2).array(); + } + var oKeyPad = [], iKeyPad = []; + for (i = 0; i < 64; ++i) { + var b = key2[i] || 0; + oKeyPad[i] = 92 ^ b; + iKeyPad[i] = 54 ^ b; + } + Sha256.call(this, is2242, sharedMemory); + this.update(iKeyPad); + this.oKeyPad = oKeyPad; + this.inner = true; + this.sharedMemory = sharedMemory; + } + HmacSha256.prototype = new Sha256(); + HmacSha256.prototype.finalize = function() { + Sha256.prototype.finalize.call(this); + if (this.inner) { + this.inner = false; + var innerHash = this.array(); + Sha256.call(this, this.is224, this.sharedMemory); + this.update(this.oKeyPad); + this.update(innerHash); + Sha256.prototype.finalize.call(this); + } + }; + var exports = createMethod(); + exports.sha256 = exports; + exports.sha224 = createMethod(true); + exports.sha256.hmac = createHmacMethod(); + exports.sha224.hmac = createHmacMethod(true); + if (COMMON_JS) { + module.exports = exports; + } else { + root.sha256 = exports.sha256; + root.sha224 = exports.sha224; + if (AMD) { + define(function() { + return exports; + }); + } + } + })(); } }); // node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/compiler.js var require_compiler = __commonJS({ - "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/compiler.js"(exports) { + "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/compiler.js"(exports2) { init_polyfill_buffer(); (function(Hogan4) { var rIsWhitespace = /\S/, rQuot = /\"/g, rNewline = /\n/g, rCr = /\r/g, rSlash = /\\/g, rLineSep = /\u2028/, rParagraphSep = /\u2029/; @@ -8418,13 +12873,13 @@ var require_compiler = __commonJS({ template = this.generate(this.parse(this.scan(text2, options.delimiters), text2, options), text2, options); return this.cache[key2] = template; }; - })(typeof exports !== "undefined" ? exports : Hogan); + })(typeof exports2 !== "undefined" ? exports2 : Hogan); } }); // node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/template.js var require_template = __commonJS({ - "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/template.js"(exports) { + "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/template.js"(exports2) { init_polyfill_buffer(); var Hogan4 = {}; (function(Hogan5) { @@ -8684,13 +13139,13 @@ var require_template = __commonJS({ var isArray = Array.isArray || function(a) { return Object.prototype.toString.call(a) === "[object Array]"; }; - })(typeof exports !== "undefined" ? exports : Hogan4); + })(typeof exports2 !== "undefined" ? exports2 : Hogan4); } }); // node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/hogan.js var require_hogan = __commonJS({ - "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/hogan.js"(exports, module2) { + "node_modules/.pnpm/hogan.js@3.0.2/node_modules/hogan.js/lib/hogan.js"(exports2, module2) { init_polyfill_buffer(); var Hogan4 = require_compiler(); Hogan4.Template = require_template().Template; @@ -8701,18 +13156,18 @@ var require_hogan = __commonJS({ // node_modules/.pnpm/feather-icons@4.29.0/node_modules/feather-icons/dist/feather.js var require_feather = __commonJS({ - "node_modules/.pnpm/feather-icons@4.29.0/node_modules/feather-icons/dist/feather.js"(exports, module2) { + "node_modules/.pnpm/feather-icons@4.29.0/node_modules/feather-icons/dist/feather.js"(exports2, module2) { init_polyfill_buffer(); - (function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === "object" && typeof module2 === "object") + (function webpackUniversalModuleDefinition(root2, factory) { + if (typeof exports2 === "object" && typeof module2 === "object") module2.exports = factory(); else if (typeof define === "function" && define.amd) define([], factory); - else if (typeof exports === "object") - exports["feather"] = factory(); + else if (typeof exports2 === "object") + exports2["feather"] = factory(); else - root["feather"] = factory(); - })(typeof self !== "undefined" ? self : exports, function() { + root2["feather"] = factory(); + })(typeof self !== "undefined" ? self : exports2, function() { return ( /******/ function(modules) { @@ -8736,9 +13191,9 @@ var require_feather = __commonJS({ } __webpack_require__.m = modules; __webpack_require__.c = installedModules; - __webpack_require__.d = function(exports2, name, getter) { - if (!__webpack_require__.o(exports2, name)) { - Object.defineProperty(exports2, name, { + __webpack_require__.d = function(exports3, name, getter) { + if (!__webpack_require__.o(exports3, name)) { + Object.defineProperty(exports3, name, { /******/ configurable: false, /******/ @@ -8749,8 +13204,8 @@ var require_feather = __commonJS({ }); } }; - __webpack_require__.r = function(exports2) { - Object.defineProperty(exports2, "__esModule", { value: true }); + __webpack_require__.r = function(exports3) { + Object.defineProperty(exports3, "__esModule", { value: true }); }; __webpack_require__.n = function(module3) { var getter = module3 && module3.__esModule ? ( @@ -8791,7 +13246,7 @@ var require_feather = __commonJS({ \*******************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; (function() { "use strict"; @@ -8861,7 +13316,7 @@ var require_feather = __commonJS({ } else if (true) { !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() { return classNames; - }.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module3.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }.apply(exports3, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module3.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else { } })(); @@ -8874,7 +13329,7 @@ var require_feather = __commonJS({ \***********************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { __webpack_require__( /*! ../../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js" @@ -8897,7 +13352,7 @@ var require_feather = __commonJS({ \******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = function(it) { if (typeof it != "function") { throw TypeError(String(it) + " is not a function"); @@ -8913,7 +13368,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__( /*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js" @@ -8933,7 +13388,7 @@ var require_feather = __commonJS({ \******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var bind = __webpack_require__( /*! ../internals/bind-context */ @@ -9003,7 +13458,7 @@ var require_feather = __commonJS({ \**********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var toIndexedObject = __webpack_require__( /*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js" @@ -9046,7 +13501,7 @@ var require_feather = __commonJS({ \********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var aFunction = __webpack_require__( /*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js" @@ -9086,7 +13541,7 @@ var require_feather = __commonJS({ \****************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__( /*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js" @@ -9110,7 +13565,7 @@ var require_feather = __commonJS({ \**************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js" @@ -9162,7 +13617,7 @@ var require_feather = __commonJS({ \*******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { var toString = {}.toString; module3.exports = function(it) { return toString.call(it).slice(8, -1); @@ -9176,7 +13631,7 @@ var require_feather = __commonJS({ \***************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var classofRaw = __webpack_require__( /*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js" @@ -9208,7 +13663,7 @@ var require_feather = __commonJS({ \***********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var has = __webpack_require__( /*! ../internals/has */ "./node_modules/core-js/internals/has.js" @@ -9244,7 +13699,7 @@ var require_feather = __commonJS({ \********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var fails = __webpack_require__( /*! ../internals/fails */ "./node_modules/core-js/internals/fails.js" @@ -9264,7 +13719,7 @@ var require_feather = __commonJS({ \***********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var IteratorPrototype = __webpack_require__( /*! ../internals/iterators-core */ @@ -9305,7 +13760,7 @@ var require_feather = __commonJS({ \**********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = function(bitmap, value) { return { enumerable: !(bitmap & 1), @@ -9323,7 +13778,7 @@ var require_feather = __commonJS({ \***********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var toPrimitive = __webpack_require__( /*! ../internals/to-primitive */ @@ -9353,7 +13808,7 @@ var require_feather = __commonJS({ \***********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var $ = __webpack_require__( /*! ../internals/export */ @@ -9491,7 +13946,7 @@ var require_feather = __commonJS({ \*******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var fails = __webpack_require__( /*! ../internals/fails */ "./node_modules/core-js/internals/fails.js" @@ -9510,7 +13965,7 @@ var require_feather = __commonJS({ \*******************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -9533,7 +13988,7 @@ var require_feather = __commonJS({ \*********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = [ "constructor", "hasOwnProperty", @@ -9552,7 +14007,7 @@ var require_feather = __commonJS({ \**************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -9622,7 +14077,7 @@ var require_feather = __commonJS({ \*************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = function(exec) { try { return !!exec(); @@ -9639,7 +14094,7 @@ var require_feather = __commonJS({ \**************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var shared = __webpack_require__( /*! ../internals/shared */ "./node_modules/core-js/internals/shared.js" @@ -9654,7 +14109,7 @@ var require_feather = __commonJS({ \***************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var classof = __webpack_require__( /*! ../internals/classof */ "./node_modules/core-js/internals/classof.js" @@ -9681,7 +14136,7 @@ var require_feather = __commonJS({ \**************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { (function(global2) { var O = "object"; var check = function(it) { @@ -9703,7 +14158,7 @@ var require_feather = __commonJS({ \***********************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { var hasOwnProperty = {}.hasOwnProperty; module3.exports = function(it, key2) { return hasOwnProperty.call(it, key2); @@ -9717,7 +14172,7 @@ var require_feather = __commonJS({ \*******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = {}; } ), @@ -9728,7 +14183,7 @@ var require_feather = __commonJS({ \************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js" @@ -9756,7 +14211,7 @@ var require_feather = __commonJS({ \************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -9772,7 +14227,7 @@ var require_feather = __commonJS({ \**********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js" @@ -9801,7 +14256,7 @@ var require_feather = __commonJS({ \**********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var fails = __webpack_require__( /*! ../internals/fails */ "./node_modules/core-js/internals/fails.js" @@ -9825,7 +14280,7 @@ var require_feather = __commonJS({ \**********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var NATIVE_WEAK_MAP = __webpack_require__( /*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js" @@ -9913,7 +14368,7 @@ var require_feather = __commonJS({ \********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var wellKnownSymbol = __webpack_require__( /*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js" @@ -9936,17 +14391,17 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var fails = __webpack_require__( /*! ../internals/fails */ "./node_modules/core-js/internals/fails.js" ); var replacement = /#|\.prototype\./; var isForced = function(feature, detection) { - var value = data[normalize(feature)]; + var value = data[normalize2(feature)]; return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == "function" ? fails(detection) : !!detection; }; - var normalize = isForced.normalize = function(string) { + var normalize2 = isForced.normalize = function(string) { return String(string).replace(replacement, ".").toLowerCase(); }; var data = isForced.data = {}; @@ -9962,7 +14417,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = function(it) { return typeof it === "object" ? it !== null : typeof it === "function"; }; @@ -9975,7 +14430,7 @@ var require_feather = __commonJS({ \***************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = false; } ), @@ -9986,7 +14441,7 @@ var require_feather = __commonJS({ \**********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var getPrototypeOf = __webpack_require__( /*! ../internals/object-get-prototype-of */ @@ -10041,7 +14496,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = {}; } ), @@ -10052,7 +14507,7 @@ var require_feather = __commonJS({ \*********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var fails = __webpack_require__( /*! ../internals/fails */ "./node_modules/core-js/internals/fails.js" @@ -10069,7 +14524,7 @@ var require_feather = __commonJS({ \***********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10089,7 +14544,7 @@ var require_feather = __commonJS({ \*********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__( /*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js" @@ -10163,7 +14618,7 @@ var require_feather = __commonJS({ \********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js" @@ -10199,7 +14654,7 @@ var require_feather = __commonJS({ \******************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js" @@ -10217,7 +14672,7 @@ var require_feather = __commonJS({ "./node_modules/core-js/internals/to-primitive.js" ); var nativeDefineProperty = Object.defineProperty; - exports2.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + exports3.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); @@ -10241,7 +14696,7 @@ var require_feather = __commonJS({ \******************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var DESCRIPTORS = __webpack_require__( /*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js" @@ -10271,7 +14726,7 @@ var require_feather = __commonJS({ "./node_modules/core-js/internals/ie8-dom-define.js" ); var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - exports2.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + exports3.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) @@ -10291,7 +14746,7 @@ var require_feather = __commonJS({ \*************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var internalObjectKeys = __webpack_require__( /*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js" @@ -10301,7 +14756,7 @@ var require_feather = __commonJS({ "./node_modules/core-js/internals/enum-bug-keys.js" ); var hiddenKeys = enumBugKeys.concat("length", "prototype"); - exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + exports3.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; } @@ -10313,8 +14768,8 @@ var require_feather = __commonJS({ \***************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { - exports2.f = Object.getOwnPropertySymbols; + function(module3, exports3) { + exports3.f = Object.getOwnPropertySymbols; } ), /***/ @@ -10324,7 +14779,7 @@ var require_feather = __commonJS({ \*******************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var has = __webpack_require__( /*! ../internals/has */ "./node_modules/core-js/internals/has.js" @@ -10361,7 +14816,7 @@ var require_feather = __commonJS({ \****************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var has = __webpack_require__( /*! ../internals/has */ "./node_modules/core-js/internals/has.js" @@ -10401,7 +14856,7 @@ var require_feather = __commonJS({ \*******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var internalObjectKeys = __webpack_require__( /*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js" @@ -10422,12 +14877,12 @@ var require_feather = __commonJS({ \*************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var nativePropertyIsEnumerable = {}.propertyIsEnumerable; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + exports3.f = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor(this, V); return !!descriptor && descriptor.enumerable; } : nativePropertyIsEnumerable; @@ -10440,7 +14895,7 @@ var require_feather = __commonJS({ \*******************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var validateSetPrototypeOfArguments = __webpack_require__( /*! ../internals/validate-set-prototype-of-arguments */ "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js" @@ -10473,7 +14928,7 @@ var require_feather = __commonJS({ \****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10505,7 +14960,7 @@ var require_feather = __commonJS({ \************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { module3.exports = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10519,7 +14974,7 @@ var require_feather = __commonJS({ \****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10590,7 +15045,7 @@ var require_feather = __commonJS({ \********************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { module3.exports = function(it) { if (it == void 0) throw TypeError("Can't call method on " + it); @@ -10605,7 +15060,7 @@ var require_feather = __commonJS({ \******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10631,7 +15086,7 @@ var require_feather = __commonJS({ \*************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var defineProperty = __webpack_require__( /*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js" @@ -10659,7 +15114,7 @@ var require_feather = __commonJS({ \******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var shared = __webpack_require__( /*! ../internals/shared */ "./node_modules/core-js/internals/shared.js" @@ -10681,7 +15136,7 @@ var require_feather = __commonJS({ \**************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10712,7 +15167,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__( /*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js" @@ -10740,7 +15195,7 @@ var require_feather = __commonJS({ \*************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__( /*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js" @@ -10760,7 +15215,7 @@ var require_feather = __commonJS({ \*************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var IndexedObject = __webpack_require__( /*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js" @@ -10781,7 +15236,7 @@ var require_feather = __commonJS({ \******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { var ceil = Math.ceil; var floor = Math.floor; module3.exports = function(argument) { @@ -10796,7 +15251,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__( /*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js" @@ -10814,7 +15269,7 @@ var require_feather = __commonJS({ \*****************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var requireObjectCoercible = __webpack_require__( /*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js" @@ -10831,7 +15286,7 @@ var require_feather = __commonJS({ \********************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__( /*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js" @@ -10857,7 +15312,7 @@ var require_feather = __commonJS({ \***********************************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { var id = 0; var postfix = Math.random(); module3.exports = function(key2) { @@ -10872,7 +15327,7 @@ var require_feather = __commonJS({ \*******************************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__( /*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js" @@ -10896,7 +15351,7 @@ var require_feather = __commonJS({ \*************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__( /*! ../internals/global */ "./node_modules/core-js/internals/global.js" @@ -10927,7 +15382,7 @@ var require_feather = __commonJS({ \*******************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { var $ = __webpack_require__( /*! ../internals/export */ "./node_modules/core-js/internals/export.js" @@ -10955,7 +15410,7 @@ var require_feather = __commonJS({ \************************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var codePointAt = __webpack_require__( /*! ../internals/string-at */ @@ -10998,7 +15453,7 @@ var require_feather = __commonJS({ \***********************************/ /*! no static exports found */ /***/ - function(module3, exports2) { + function(module3, exports3) { var g; g = function() { return this; @@ -11030,9 +15485,9 @@ var require_feather = __commonJS({ \*********************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; - Object.defineProperty(exports2, "__esModule", { + Object.defineProperty(exports3, "__esModule", { value: true }); var _extends = Object.assign || function(target) { @@ -11120,7 +15575,7 @@ var require_feather = __commonJS({ return key2 + '="' + attrs[key2] + '"'; }).join(" "); } - exports2.default = Icon; + exports3.default = Icon; } ), /***/ @@ -11130,9 +15585,9 @@ var require_feather = __commonJS({ \**********************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; - Object.defineProperty(exports2, "__esModule", { + Object.defineProperty(exports3, "__esModule", { value: true }); var _icon = __webpack_require__( @@ -11153,7 +15608,7 @@ var require_feather = __commonJS({ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - exports2.default = Object.keys(_icons2.default).map(function(key2) { + exports3.default = Object.keys(_icons2.default).map(function(key2) { return new _icon2.default(key2, _icons2.default[key2], _tags2.default[key2]); }).reduce(function(object, icon) { object[icon.name] = icon; @@ -11168,7 +15623,7 @@ var require_feather = __commonJS({ \**********************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; var _icons = __webpack_require__( /*! ./icons */ @@ -11198,9 +15653,9 @@ var require_feather = __commonJS({ \************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; - Object.defineProperty(exports2, "__esModule", { + Object.defineProperty(exports3, "__esModule", { value: true }); var _extends = Object.assign || function(target) { @@ -11253,7 +15708,7 @@ var require_feather = __commonJS({ return attrs; }, {}); } - exports2.default = replace; + exports3.default = replace; } ), /***/ @@ -11274,9 +15729,9 @@ var require_feather = __commonJS({ \***********************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { "use strict"; - Object.defineProperty(exports2, "__esModule", { + Object.defineProperty(exports3, "__esModule", { value: true }); var _icons = __webpack_require__( @@ -11298,7 +15753,7 @@ var require_feather = __commonJS({ } return _icons2.default[name].toSvg(attrs); } - exports2.default = toSvg; + exports3.default = toSvg; } ), /***/ @@ -11308,7 +15763,7 @@ var require_feather = __commonJS({ \**************************************************/ /*! no static exports found */ /***/ - function(module3, exports2, __webpack_require__) { + function(module3, exports3, __webpack_require__) { __webpack_require__( /*! core-js/es/array/from */ "./node_modules/core-js/es/array/from.js" @@ -11576,7 +16031,7 @@ function parseCacheEntryFlags(bits) { function renderCacheEntryFlags(entry) { const flags = entry.flags; flags.extended = false; - flags.nameLength = Math.min(Buffer2.from(entry.path).length, 4095); + flags.nameLength = Math.min(Buffer.from(entry.path).length, 4095); return (flags.assumeValid ? 32768 : 0) + (flags.extended ? 16384 : 0) + ((flags.stage & 3) << 12) + (flags.nameLength & 4095); } var GitIndex = class { @@ -11605,7 +16060,7 @@ var GitIndex = class { } } static async from(buffer2) { - if (Buffer2.isBuffer(buffer2)) { + if (Buffer.isBuffer(buffer2)) { return GitIndex.fromBuffer(buffer2); } else if (buffer2 === null) { return new GitIndex(null); @@ -11710,7 +16165,7 @@ var GitIndex = class { }; } stats = normalizeStats(stats); - const bfilepath = Buffer2.from(filepath); + const bfilepath = Buffer.from(filepath); const entry = { ctimeSeconds: stats.ctimeSeconds, ctimeNanoseconds: stats.ctimeNanoseconds, @@ -11764,9 +16219,9 @@ var GitIndex = class { return this.entries.map((entry) => `${entry.mode.toString(8)} ${entry.oid} ${entry.path}`).join("\n"); } static async _entryToBuffer(entry) { - const bpath = Buffer2.from(entry.path); + const bpath = Buffer.from(entry.path); const length = Math.ceil((62 + bpath.length + 1) / 8) * 8; - const written = Buffer2.alloc(length); + const written = Buffer.alloc(length); const writer = new BufferCursor(written); const stat = normalizeStats(entry); writer.writeUInt32BE(stat.ctimeSeconds); @@ -11785,7 +16240,7 @@ var GitIndex = class { return written; } async toObject() { - const header = Buffer2.alloc(12); + const header = Buffer.alloc(12); const writer = new BufferCursor(header); writer.write("DIRC", 4, "utf8"); writer.writeUInt32BE(2); @@ -11802,10 +16257,10 @@ var GitIndex = class { } } entryBuffers = await Promise.all(entryBuffers); - const body = Buffer2.concat(entryBuffers); - const main = Buffer2.concat([header, body]); + const body = Buffer.concat(entryBuffers); + const main = Buffer.concat([header, body]); const sum = await shasum(main); - return Buffer2.concat([main, Buffer2.from(sum, "hex")]); + return Buffer.concat([main, Buffer.from(sum, "hex")]); } }; function compareStats(entry, stats) { @@ -12828,7 +17283,7 @@ function nudgeIntoShape(entry) { } var GitTree = class { constructor(entries) { - if (Buffer2.isBuffer(entries)) { + if (Buffer.isBuffer(entries)) { this._entries = parseBuffer(entries); } else if (Array.isArray(entries)) { this._entries = entries.map(nudgeIntoShape); @@ -12846,14 +17301,14 @@ var GitTree = class { toObject() { const entries = [...this._entries]; entries.sort(compareTreeEntryPath); - return Buffer2.concat( + return Buffer.concat( entries.map((entry) => { - const mode = Buffer2.from(entry.mode.replace(/^0/, "")); - const space2 = Buffer2.from(" "); - const path2 = Buffer2.from(entry.path, "utf8"); - const nullchar = Buffer2.from([0]); - const oid = Buffer2.from(entry.oid, "hex"); - return Buffer2.concat([mode, space2, path2, nullchar, oid]); + const mode = Buffer.from(entry.mode.replace(/^0/, "")); + const space2 = Buffer.from(" "); + const path2 = Buffer.from(entry.path, "utf8"); + const nullchar = Buffer.from([0]); + const oid = Buffer.from(entry.oid, "hex"); + return Buffer.concat([mode, space2, path2, nullchar, oid]); }) ); } @@ -12871,9 +17326,9 @@ var GitTree = class { }; var GitObject = class { static wrap({ type, object }) { - return Buffer2.concat([ - Buffer2.from(`${type} ${object.byteLength.toString()}\0`), - Buffer2.from(object) + return Buffer.concat([ + Buffer.from(`${type} ${object.byteLength.toString()}\0`), + Buffer.from(object) ]); } static unwrap(buffer2) { @@ -12889,7 +17344,7 @@ var GitObject = class { } return { type, - object: Buffer2.from(buffer2.slice(i + 1)) + object: Buffer.from(buffer2.slice(i + 1)) }; } }; @@ -12915,7 +17370,7 @@ function applyDelta(delta, source) { if (firstOp.byteLength === targetSize) { target = firstOp; } else { - target = Buffer2.alloc(targetSize); + target = Buffer.alloc(targetSize); const writer = new BufferCursor(target); writer.copy(firstOp); while (!reader.eof()) { @@ -13070,7 +17525,7 @@ var StreamReader = class { this._ended = true; } if (value) { - value = Buffer2.from(value); + value = Buffer.from(value); } return value; } @@ -13097,7 +17552,7 @@ var StreamReader = class { break; buffers.push(nextbuffer); } - this.buffer = Buffer2.concat(buffers); + this.buffer = Buffer.concat(buffers); } async _loadnext() { this._discardedBytes += this.buffer.length; @@ -13186,7 +17641,7 @@ async function parseHeader(reader) { shift += 7; bytes.push(byte); } while (byte & 128); - reference = Buffer2.from(bytes); + reference = Buffer.from(bytes); } if (type === 7) { const buf = await reader.read(20); @@ -13387,11 +17842,11 @@ var GitPackIndex = class { async toBuffer() { const buffers = []; const write = (str, encoding) => { - buffers.push(Buffer2.from(str, encoding)); + buffers.push(Buffer.from(str, encoding)); }; write("ff744f63", "hex"); write("00000002", "hex"); - const fanoutBuffer = new BufferCursor(Buffer2.alloc(256 * 4)); + const fanoutBuffer = new BufferCursor(Buffer.alloc(256 * 4)); for (let i = 0; i < 256; i++) { let count = 0; for (const hash2 of this.hashes) { @@ -13404,22 +17859,22 @@ var GitPackIndex = class { for (const hash2 of this.hashes) { write(hash2, "hex"); } - const crcsBuffer = new BufferCursor(Buffer2.alloc(this.hashes.length * 4)); + const crcsBuffer = new BufferCursor(Buffer.alloc(this.hashes.length * 4)); for (const hash2 of this.hashes) { crcsBuffer.writeUInt32BE(this.crcs[hash2]); } buffers.push(crcsBuffer.buffer); - const offsetsBuffer = new BufferCursor(Buffer2.alloc(this.hashes.length * 4)); + const offsetsBuffer = new BufferCursor(Buffer.alloc(this.hashes.length * 4)); for (const hash2 of this.hashes) { offsetsBuffer.writeUInt32BE(this.offsets.get(hash2)); } buffers.push(offsetsBuffer.buffer); write(this.packfileSha, "hex"); - const totalBuffer = Buffer2.concat(buffers); + const totalBuffer = Buffer.concat(buffers); const sha = await shasum(totalBuffer); - const shaBuffer = Buffer2.alloc(20); + const shaBuffer = Buffer.alloc(20); shaBuffer.write(sha, "hex"); - return Buffer2.concat([totalBuffer, shaBuffer]); + return Buffer.concat([totalBuffer, shaBuffer]); } async load({ pack }) { this.pack = pack; @@ -13483,14 +17938,14 @@ var GitPackIndex = class { ({ object: base, type } = await this.read({ oid })); } const buffer2 = raw.slice(reader.tell()); - object = Buffer2.from(await inflate(buffer2)); + object = Buffer.from(await inflate(buffer2)); if (object.byteLength !== length) { throw new InternalError( `Packfile told us object would have length ${length} but it had length ${object.byteLength}` ); } if (base) { - object = Buffer2.from(applyDelta(object, base)); + object = Buffer.from(applyDelta(object, base)); } if (this.readDepth > 3) { this.offsetCache[start] = { type, object }; @@ -13575,7 +18030,7 @@ async function _readObject({ const getExternalRefDelta = (oid2) => _readObject({ fs, cache, gitdir, oid: oid2 }); let result; if (oid === "4b825dc642cb6eb9a060e54bf8d69288fbee4904") { - result = { format: "wrapped", object: Buffer2.from(`tree 0\0`) }; + result = { format: "wrapped", object: Buffer.from(`tree 0\0`) }; } if (!result) { result = await readObjectLoose({ fs, gitdir, oid }); @@ -13596,7 +18051,7 @@ async function _readObject({ return result; } if (result.format === "deflated") { - result.object = Buffer2.from(await inflate(result.object)); + result.object = Buffer.from(await inflate(result.object)); result.format = "wrapped"; } if (result.format === "wrapped") { @@ -14018,7 +18473,7 @@ var GitAnnotatedTag = class { constructor(tag2) { if (typeof tag2 === "string") { this._tag = tag2; - } else if (Buffer2.isBuffer(tag2)) { + } else if (Buffer.isBuffer(tag2)) { this._tag = tag2.toString("utf8"); } else if (typeof tag2 === "object") { this._tag = GitAnnotatedTag.render(tag2); @@ -14103,7 +18558,7 @@ ${obj.gpgsig ? obj.gpgsig : ""}`; return this.withoutSignature() + "\n"; } toObject() { - return Buffer2.from(this._tag, "utf8"); + return Buffer.from(this._tag, "utf8"); } static async sign(tag2, sign, secretKey) { const payload = tag2.payload(); @@ -14123,7 +18578,7 @@ var GitCommit = class { constructor(commit2) { if (typeof commit2 === "string") { this._commit = commit2; - } else if (Buffer2.isBuffer(commit2)) { + } else if (Buffer.isBuffer(commit2)) { this._commit = commit2.toString("utf8"); } else if (typeof commit2 === "object") { this._commit = GitCommit.render(commit2); @@ -14143,7 +18598,7 @@ var GitCommit = class { return new GitCommit(commit2); } toObject() { - return Buffer2.from(this._commit, "utf8"); + return Buffer.from(this._commit, "utf8"); } // Todo: allow setting the headers and message headers() { @@ -14605,7 +19060,7 @@ async function _walk({ const walkers = trees.map( (proxy) => proxy[GitWalkSymbol]({ fs, dir, gitdir, cache }) ); - const root = new Array(walkers.length).fill("."); + const root2 = new Array(walkers.length).fill("."); const range = arrayRange(0, walkers.length); const unionWalkerFromReaddir = async (entries) => { range.map((i) => { @@ -14620,8 +19075,8 @@ async function _walk({ children: unionOfIterators(iterators) }; }; - const walk2 = async (root2) => { - const { entries, children: children2 } = await unionWalkerFromReaddir(root2); + const walk2 = async (root3) => { + const { entries, children: children2 } = await unionWalkerFromReaddir(root3); const fullpath = entries.find((entry) => entry && entry._fullpath)._fullpath; const parent = await map(fullpath, entries); if (parent !== null) { @@ -14630,7 +19085,7 @@ async function _walk({ return reduce(parent, walkedChildren); } }; - return walk2(root); + return walk2(root2); } async function rmRecursive(fs, filepath) { const entries = await fs.readdir(filepath); @@ -14724,7 +19179,7 @@ var FileSystem = class { try { let buffer2 = await this._readFile(filepath, options); if (typeof buffer2 !== "string") { - buffer2 = Buffer2.from(buffer2); + buffer2 = Buffer.from(buffer2); } return buffer2; } catch (err) { @@ -14848,7 +19303,7 @@ var FileSystem = class { async readlink(filename, opts = { encoding: "buffer" }) { try { const link = await this._readlink(filename, opts); - return Buffer2.isBuffer(link) ? link : Buffer2.from(link); + return Buffer.isBuffer(link) ? link : Buffer.from(link); } catch (err) { if (err.code === "ENOENT") { return null; @@ -15046,7 +19501,7 @@ async function _writeObject({ object = GitObject.wrap({ type, object }); } oid = await shasum(object); - object = Buffer2.from(await deflate(object)); + object = Buffer.from(await deflate(object)); } if (!dryRun) { await writeObjectLoose({ fs, gitdir, object, format: "deflated", oid }); @@ -15362,7 +19817,7 @@ async function _addNote({ } } if (typeof note === "string") { - note = Buffer2.from(note, "utf8"); + note = Buffer.from(note, "utf8"); } const noteOid = await _writeObject({ fs, @@ -15665,14 +20120,14 @@ async function branch({ throw err; } } -var worthWalking = (filepath, root) => { - if (filepath === "." || root == null || root.length === 0 || root === ".") { +var worthWalking = (filepath, root2) => { + if (filepath === "." || root2 == null || root2.length === 0 || root2 === ".") { return true; } - if (root.length >= filepath.length) { - return root.startsWith(filepath); + if (root2.length >= filepath.length) { + return root2.startsWith(filepath); } else { - return filepath.startsWith(root); + return filepath.startsWith(root2); } }; async function _checkout({ @@ -15735,11 +20190,11 @@ async function _checkout({ throw err; } } - const conflicts2 = ops.filter(([method]) => method === "conflict").map(([method, fullpath]) => fullpath); + const conflicts2 = ops.filter(([method2]) => method2 === "conflict").map(([method2, fullpath]) => fullpath); if (conflicts2.length > 0) { throw new CheckoutConflictError(conflicts2); } - const errors = ops.filter(([method]) => method === "error").map(([method, fullpath]) => fullpath); + const errors = ops.filter(([method2]) => method2 === "error").map(([method2, fullpath]) => fullpath); if (errors.length > 0) { throw new InternalError(errors.join(", ")); } @@ -15751,10 +20206,10 @@ async function _checkout({ await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { await Promise.all( ops.filter( - ([method]) => method === "delete" || method === "delete-index" - ).map(async function([method, fullpath]) { + ([method2]) => method2 === "delete" || method2 === "delete-index" + ).map(async function([method2, fullpath]) { const filepath = `${dir}/${fullpath}`; - if (method === "delete") { + if (method2 === "delete") { await fs.rm(filepath); } index2.delete({ filepath: fullpath }); @@ -15769,11 +20224,11 @@ async function _checkout({ ); }); await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { - for (const [method, fullpath] of ops) { - if (method === "rmdir" || method === "rmdir-index") { + for (const [method2, fullpath] of ops) { + if (method2 === "rmdir" || method2 === "rmdir-index") { const filepath = `${dir}/${fullpath}`; try { - if (method === "rmdir-index") { + if (method2 === "rmdir-index") { index2.delete({ filepath: fullpath }); } await fs.rmdir(filepath); @@ -15797,7 +20252,7 @@ async function _checkout({ } }); await Promise.all( - ops.filter(([method]) => method === "mkdir" || method === "mkdir-index").map(async function([_, fullpath]) { + ops.filter(([method2]) => method2 === "mkdir" || method2 === "mkdir-index").map(async function([_, fullpath]) { const filepath = `${dir}/${fullpath}`; await fs.mkdir(filepath); if (onProgress) { @@ -15812,11 +20267,11 @@ async function _checkout({ await GitIndexManager.acquire({ fs, gitdir, cache }, async function(index2) { await Promise.all( ops.filter( - ([method]) => method === "create" || method === "create-index" || method === "update" || method === "mkdir-index" - ).map(async function([method, fullpath, oid2, mode, chmod]) { + ([method2]) => method2 === "create" || method2 === "create-index" || method2 === "update" || method2 === "mkdir-index" + ).map(async function([method2, fullpath, oid2, mode, chmod]) { const filepath = `${dir}/${fullpath}`; try { - if (method !== "create-index" && method !== "mkdir-index") { + if (method2 !== "create-index" && method2 !== "mkdir-index") { const { object } = await _readObject({ fs, cache, gitdir, oid: oid2 }); if (chmod) { await fs.rm(filepath); @@ -15837,7 +20292,7 @@ async function _checkout({ if (mode === 33261) { stats.mode = 493; } - if (method === "mkdir-index") { + if (method2 === "mkdir-index") { stats.mode = 57344; } index2.insert({ @@ -16197,7 +20652,7 @@ function translateSSHtoHTTP(url) { return url; } function calculateBasicAuthHeader({ username = "", password = "" }) { - return `Basic ${Buffer2.from(`${username}:${password}`).toString("base64")}`; + return `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`; } async function forAwait(iterable, cb) { const iter = getIterator(iterable); @@ -16241,18 +20696,18 @@ function padHex(b, n) { } var GitPktLine = class { static flush() { - return Buffer2.from("0000", "utf8"); + return Buffer.from("0000", "utf8"); } static delim() { - return Buffer2.from("0001", "utf8"); + return Buffer.from("0001", "utf8"); } static encode(line) { if (typeof line === "string") { - line = Buffer2.from(line); + line = Buffer.from(line); } const length = line.length + 4; const hexlength = padHex(4, length); - return Buffer2.concat([Buffer2.from(hexlength, "utf8"), line]); + return Buffer.concat([Buffer.from(hexlength, "utf8"), line]); } static streamReader(stream) { const reader = new StreamReader(stream); @@ -16367,7 +20822,7 @@ var updateHeaders = (headers, auth) => { }; var stringifyBody = async (res) => { try { - const data = Buffer2.from(await collect(res.body)); + const data = Buffer.from(await collect(res.body)); const response = data.toString("utf8"); const preview = response.length < 256 ? response : response.slice(0, 256) + "..."; return { preview, response, data }; @@ -16940,7 +21395,7 @@ async function _fetch({ depth = null, since = null, exclude = [], - relative = false, + relative: relative2 = false, tags = false, singleBranch = false, headers = {}, @@ -16988,7 +21443,7 @@ async function _fetch({ if (exclude.length > 0 && !remoteHTTP.capabilities.has("deepen-not")) { throw new RemoteCapabilityError("deepen-not", "exclude"); } - if (relative === true && !remoteHTTP.capabilities.has("deepen-relative")) { + if (relative2 === true && !remoteHTTP.capabilities.has("deepen-relative")) { throw new RemoteCapabilityError("deepen-relative", "relative"); } const { oid, fullref } = GitRefManager.resolveAgainstMap({ @@ -17016,7 +21471,7 @@ async function _fetch({ `agent=${pkg.agent}` ] ); - if (relative) + if (relative2) capabilities.push("deepen-relative"); const wants = singleBranch ? [oid] : remoteRefs.values(); const haveRefs = singleBranch ? [ref] : await GitRefManager.listRefs({ @@ -17047,7 +21502,7 @@ async function _fetch({ since, exclude }); - const packbuffer = Buffer2.from(await collect(packstream)); + const packbuffer = Buffer.from(await collect(packstream)); const raw = await GitRemoteHTTP2.connect({ http, onProgress, @@ -17161,7 +21616,7 @@ async function _fetch({ } }); } - const packfile = Buffer2.from(await collect(response.packfile)); + const packfile = Buffer.from(await collect(response.packfile)); const packfileSha = packfile.slice(-20).toString("hex"); const res = { defaultBranch: response.HEAD, @@ -17238,7 +21693,7 @@ async function _clone({ depth, since, exclude, - relative, + relative: relative2, singleBranch, noCheckout, noTags, @@ -17268,7 +21723,7 @@ async function _clone({ depth, since, exclude, - relative, + relative: relative2, singleBranch, headers, tags: !noTags @@ -17309,7 +21764,7 @@ async function clone({ depth = void 0, since = void 0, exclude = [], - relative = false, + relative: relative2 = false, singleBranch = false, noCheckout = false, noTags = false, @@ -17342,7 +21797,7 @@ async function clone({ depth, since, exclude, - relative, + relative: relative2, singleBranch, noCheckout, noTags, @@ -17838,9 +22293,9 @@ async function mergeBlobs({ mergeResult: { mode, path: path2, oid: await ours.oid(), type } }; } - const ourContent = Buffer2.from(await ours.content()).toString("utf8"); - const baseContent = Buffer2.from(await base.content()).toString("utf8"); - const theirContent = Buffer2.from(await theirs.content()).toString("utf8"); + const ourContent = Buffer.from(await ours.content()).toString("utf8"); + const baseContent = Buffer.from(await base.content()).toString("utf8"); + const theirContent = Buffer.from(await theirs.content()).toString("utf8"); const { mergedText, cleanMerge } = await mergeDriver({ branches: [baseName, ourName, theirName], contents: [baseContent, ourContent, theirContent], @@ -17850,7 +22305,7 @@ async function mergeBlobs({ fs, gitdir, type: "blob", - object: Buffer2.from(mergedText, "utf8"), + object: Buffer.from(mergedText, "utf8"), dryRun }); return { cleanMerge, mergeResult: { mode, path: path2, oid, type } }; @@ -18133,7 +22588,7 @@ async function fetch({ depth = null, since = null, exclude = [], - relative = false, + relative: relative2 = false, tags = false, singleBranch = false, headers = {}, @@ -18163,7 +22618,7 @@ async function fetch({ depth, since, exclude, - relative, + relative: relative2, tags, singleBranch, headers, @@ -18407,9 +22862,9 @@ async function hashBlob({ object }) { try { assertParameter("object", object); if (typeof object === "string") { - object = Buffer2.from(object, "utf8"); + object = Buffer.from(object, "utf8"); } else { - object = Buffer2.from(object); + object = Buffer.from(object); } const type = "blob"; const { oid, object: _object } = await hashObject({ @@ -19179,7 +23634,7 @@ async function _pack({ const hash2 = new import_sha1.default(); const outputStream = []; function write(chunk, enc) { - const buff = Buffer2.from(chunk, enc); + const buff = Buffer.from(chunk, enc); outputStream.push(buff); hash2.update(buff); } @@ -19197,7 +23652,7 @@ async function _pack({ write(padHex(2, byte), "hex"); length = length >>> 7; } - write(Buffer2.from(await deflate(object))); + write(Buffer.from(await deflate(object))); } write("PACK"); write("00000002", "hex"); @@ -19212,7 +23667,7 @@ async function _pack({ } async function _packObjects({ fs, cache, gitdir, oids, write }) { const buffers = await _pack({ fs, cache, gitdir, oids }); - const packfile = Buffer2.from(await collect(buffers)); + const packfile = Buffer.from(await collect(buffers)); const packfileSha = packfile.slice(-20).toString("hex"); const filename = `pack-${packfileSha}.pack`; if (write) { @@ -20342,9 +24797,9 @@ async function status({ async function getOidAtPath({ fs, cache, gitdir, tree, path: path2 }) { if (typeof path2 === "string") path2 = path2.split("/"); - const dirname2 = path2.shift(); + const dirname3 = path2.shift(); for (const entry of tree) { - if (entry.path === dirname2) { + if (entry.path === dirname3) { if (path2.length === 0) { return entry.oid; } @@ -20680,7 +25135,7 @@ async function writeObject({ object = GitTree.from(object).toObject(); break; case "blob": - object = Buffer2.from(object, encoding); + object = Buffer.from(object, encoding); break; case "tag": object = GitAnnotatedTag.from(object).toObject(); @@ -20864,1938 +25319,17 @@ var index = { var isomorphic_git_default = index; // src/main.ts -var import_obsidian26 = require("obsidian"); +var import_obsidian30 = require("obsidian"); -// src/promiseQueue.ts +// src/lineAuthor/lineAuthorIntegration.ts init_polyfill_buffer(); -var PromiseQueue = class { - constructor() { - this.tasks = []; - } - addTask(task) { - this.tasks.push(task); - if (this.tasks.length === 1) { - this.handleTask(); - } - } - async handleTask() { - if (this.tasks.length > 0) { - this.tasks[0]().finally(() => { - this.tasks.shift(); - this.handleTask(); - }); - } - } -}; +var import_obsidian12 = require("obsidian"); -// src/settings.ts -init_polyfill_buffer(); -var import_obsidian7 = require("obsidian"); - -// src/isomorphicGit.ts -init_polyfill_buffer(); - -// node_modules/.pnpm/diff@5.1.0/node_modules/diff/lib/index.mjs -init_polyfill_buffer(); -function Diff() { -} -Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - var callback = options.callback; - if (typeof options === "function") { - callback = options; - options = {}; - } - this.options = options; - var self2 = this; - function done(value) { - if (callback) { - setTimeout(function() { - callback(void 0, value); - }, 0); - return true; - } else { - return value; - } - } - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - if (options.maxEditLength) { - maxEditLength = Math.min(maxEditLength, options.maxEditLength); - } - var bestPath = [{ - newPos: -1, - components: [] - }]; - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - return done([{ - value: this.join(newString), - count: newString.length - }]); - } - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - if (addPath) { - bestPath[diagonalPath - 1] = void 0; - } - var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - if (!canAdd && !canRemove) { - bestPath[diagonalPath] = void 0; - continue; - } - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self2.pushComponent(basePath.components, void 0, true); - } else { - basePath = addPath; - basePath.newPos++; - self2.pushComponent(basePath.components, true, void 0); - } - _oldPos = self2.extractCommon(basePath, newString, oldString, diagonalPath); - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self2, basePath.components, newString, oldString, self2.useLongestToken)); - } else { - bestPath[diagonalPath] = basePath; - } - } - editLength++; - } - if (callback) { - (function exec() { - setTimeout(function() { - if (editLength > maxEditLength) { - return callback(); - } - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - if (ret) { - return ret; - } - } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last2 = components[components.length - 1]; - if (last2 && last2.added === added && last2.removed === removed) { - components[components.length - 1] = { - count: last2.count + 1, - added, - removed - }; - } else { - components.push({ - count: 1, - added, - removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - if (array[i]) { - ret.push(array[i]); - } - } - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(""); - }, - join: function join2(chars) { - return chars.join(""); - } -}; -function buildValues(diff2, components, newString, oldString, useLongestToken) { - var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function(value2, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value2.length ? oldValue : value2; - }); - component.value = diff2.join(value); - } else { - component.value = diff2.join(newString.slice(newPos, newPos + component.count)); - } - newPos += component.count; - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff2.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } - var lastComponent = components[componentLen - 1]; - if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff2.equals("", lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); - } - return components; -} -function clonePath(path2) { - return { - newPos: path2.newPos, - components: path2.components.slice(0) - }; -} -var characterDiff = new Diff(); -function diffChars(oldStr, newStr, options) { - return characterDiff.diff(oldStr, newStr, options); -} -var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; -var reWhitespace = /\S/; -var wordDiff = new Diff(); -wordDiff.equals = function(left, right) { - if (this.options.ignoreCase) { - left = left.toLowerCase(); - right = right.toLowerCase(); - } - return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); -}; -wordDiff.tokenize = function(value) { - var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); - for (var i = 0; i < tokens.length - 1; i++) { - if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { - tokens[i] += tokens[i + 2]; - tokens.splice(i + 1, 2); - i--; - } - } - return tokens; -}; -function diffWordsWithSpace(oldStr, newStr, options) { - return wordDiff.diff(oldStr, newStr, options); -} -var lineDiff = new Diff(); -lineDiff.tokenize = function(value) { - var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/); - if (!linesAndNewlines[linesAndNewlines.length - 1]) { - linesAndNewlines.pop(); - } - for (var i = 0; i < linesAndNewlines.length; i++) { - var line = linesAndNewlines[i]; - if (i % 2 && !this.options.newlineIsToken) { - retLines[retLines.length - 1] += line; - } else { - if (this.options.ignoreWhitespace) { - line = line.trim(); - } - retLines.push(line); - } - } - return retLines; -}; -function diffLines(oldStr, newStr, callback) { - return lineDiff.diff(oldStr, newStr, callback); -} -var sentenceDiff = new Diff(); -sentenceDiff.tokenize = function(value) { - return value.split(/(\S.+?[.!?])(?=\s+|$)/); -}; -var cssDiff = new Diff(); -cssDiff.tokenize = function(value) { - return value.split(/([{}:;,]|\s+)/); -}; -function _typeof(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function(obj2) { - return typeof obj2; - }; - } else { - _typeof = function(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof(obj); -} -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); -} -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) - return _arrayLikeToArray(arr); -} -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) - return Array.from(iter); -} -function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); -} -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; -} -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -var objectPrototypeToString = Object.prototype.toString; -var jsonDiff = new Diff(); -jsonDiff.useLongestToken = true; -jsonDiff.tokenize = lineDiff.tokenize; -jsonDiff.castInput = function(value) { - var _this$options = this.options, undefinedReplacement = _this$options.undefinedReplacement, _this$options$stringi = _this$options.stringifyReplacer, stringifyReplacer = _this$options$stringi === void 0 ? function(k, v) { - return typeof v === "undefined" ? undefinedReplacement : v; - } : _this$options$stringi; - return typeof value === "string" ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, " "); -}; -jsonDiff.equals = function(left, right) { - return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, "$1"), right.replace(/,([\r\n])/g, "$1")); -}; -function canonicalize(obj, stack, replacementStack, replacer, key2) { - stack = stack || []; - replacementStack = replacementStack || []; - if (replacer) { - obj = replacer(key2, obj); - } - var i; - for (i = 0; i < stack.length; i += 1) { - if (stack[i] === obj) { - return replacementStack[i]; - } - } - var canonicalizedObj; - if ("[object Array]" === objectPrototypeToString.call(obj)) { - stack.push(obj); - canonicalizedObj = new Array(obj.length); - replacementStack.push(canonicalizedObj); - for (i = 0; i < obj.length; i += 1) { - canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key2); - } - stack.pop(); - replacementStack.pop(); - return canonicalizedObj; - } - if (obj && obj.toJSON) { - obj = obj.toJSON(); - } - if (_typeof(obj) === "object" && obj !== null) { - stack.push(obj); - canonicalizedObj = {}; - replacementStack.push(canonicalizedObj); - var sortedKeys = [], _key; - for (_key in obj) { - if (obj.hasOwnProperty(_key)) { - sortedKeys.push(_key); - } - } - sortedKeys.sort(); - for (i = 0; i < sortedKeys.length; i += 1) { - _key = sortedKeys[i]; - canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); - } - stack.pop(); - replacementStack.pop(); - } else { - canonicalizedObj = obj; - } - return canonicalizedObj; -} -var arrayDiff = new Diff(); -arrayDiff.tokenize = function(value) { - return value.slice(); -}; -arrayDiff.join = arrayDiff.removeEmpty = function(value) { - return value; -}; -function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - if (!options) { - options = {}; - } - if (typeof options.context === "undefined") { - options.context = 4; - } - var diff2 = diffLines(oldStr, newStr, options); - if (!diff2) { - return; - } - diff2.push({ - value: "", - lines: [] - }); - function contextLines(lines) { - return lines.map(function(entry) { - return " " + entry; - }); - } - var hunks = []; - var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1; - var _loop = function _loop2(i2) { - var current = diff2[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n"); - current.lines = lines; - if (current.added || current.removed) { - var _curRange; - if (!oldRangeStart) { - var prev = diff2[i2 - 1]; - oldRangeStart = oldLine; - newRangeStart = newLine; - if (prev) { - curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; - oldRangeStart -= curRange.length; - newRangeStart -= curRange.length; - } - } - (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function(entry) { - return (current.added ? "+" : "-") + entry; - }))); - if (current.added) { - newLine += lines.length; - } else { - oldLine += lines.length; - } - } else { - if (oldRangeStart) { - if (lines.length <= options.context * 2 && i2 < diff2.length - 2) { - var _curRange2; - (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); - } else { - var _curRange3; - var contextSize = Math.min(lines.length, options.context); - (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); - var hunk = { - oldStart: oldRangeStart, - oldLines: oldLine - oldRangeStart + contextSize, - newStart: newRangeStart, - newLines: newLine - newRangeStart + contextSize, - lines: curRange - }; - if (i2 >= diff2.length - 2 && lines.length <= options.context) { - var oldEOFNewline = /\n$/.test(oldStr); - var newEOFNewline = /\n$/.test(newStr); - var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; - if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { - curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file"); - } - if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { - curRange.push("\\ No newline at end of file"); - } - } - hunks.push(hunk); - oldRangeStart = 0; - newRangeStart = 0; - curRange = []; - } - } - oldLine += lines.length; - newLine += lines.length; - } - }; - for (var i = 0; i < diff2.length; i++) { - _loop(i); - } - return { - oldFileName, - newFileName, - oldHeader, - newHeader, - hunks - }; -} -function formatPatch(diff2) { - var ret = []; - if (diff2.oldFileName == diff2.newFileName) { - ret.push("Index: " + diff2.oldFileName); - } - ret.push("==================================================================="); - ret.push("--- " + diff2.oldFileName + (typeof diff2.oldHeader === "undefined" ? "" : " " + diff2.oldHeader)); - ret.push("+++ " + diff2.newFileName + (typeof diff2.newHeader === "undefined" ? "" : " " + diff2.newHeader)); - for (var i = 0; i < diff2.hunks.length; i++) { - var hunk = diff2.hunks[i]; - if (hunk.oldLines === 0) { - hunk.oldStart -= 1; - } - if (hunk.newLines === 0) { - hunk.newStart -= 1; - } - ret.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@"); - ret.push.apply(ret, hunk.lines); - } - return ret.join("\n") + "\n"; -} -function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); -} -function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { - return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); -} - -// src/isomorphicGit.ts -var import_obsidian5 = require("obsidian"); - -// src/gitManager.ts -init_polyfill_buffer(); -var GitManager = class { - constructor(plugin) { - this.plugin = plugin; - this.app = plugin.app; - } - getVaultPath(path2) { - if (this.plugin.settings.basePath) { - return this.plugin.settings.basePath + "/" + path2; - } else { - return path2; - } - } - getPath(path2, relativeToVault) { - return relativeToVault && this.plugin.settings.basePath.length > 0 ? path2.substring(this.plugin.settings.basePath.length + 1) : path2; - } - _getTreeStructure(children2, beginLength = 0) { - const list = []; - children2 = [...children2]; - while (children2.length > 0) { - const first2 = children2.first(); - const restPath = first2.path.substring(beginLength); - if (restPath.contains("/")) { - const title = restPath.substring(0, restPath.indexOf("/")); - const childrenWithSameTitle = children2.filter((item) => { - return item.path.substring(beginLength).startsWith(title + "/"); - }); - childrenWithSameTitle.forEach((item) => children2.remove(item)); - const path2 = first2.path.substring( - 0, - restPath.indexOf("/") + beginLength - ); - list.push({ - title, - path: path2, - vaultPath: this.getVaultPath(path2), - children: this._getTreeStructure( - childrenWithSameTitle, - (beginLength > 0 ? beginLength + title.length : title.length) + 1 - ) - }); - } else { - list.push({ - title: restPath, - data: first2, - path: first2.path, - vaultPath: this.getVaultPath(first2.path) - }); - children2.remove(first2); - } - } - return list; - } - /* - * Sorts the children and simplifies the title - * If a node only contains another subdirectory, that subdirectory is moved up one level and integrated into the parent node - */ - simplify(tree) { - var _a2, _b, _c, _d; - for (const node of tree) { - while (true) { - const singleChild = ((_a2 = node.children) == null ? void 0 : _a2.length) == 1; - const singleChildIsDir = ((_c = (_b = node.children) == null ? void 0 : _b.first()) == null ? void 0 : _c.data) == void 0; - if (!(node.children != void 0 && singleChild && singleChildIsDir)) - break; - const child = node.children.first(); - node.title += "/" + child.title; - node.data = child.data; - node.path = child.path; - node.vaultPath = child.vaultPath; - node.children = child.children; - } - if (node.children != void 0) { - this.simplify(node.children); - } - (_d = node.children) == null ? void 0 : _d.sort((a, b) => { - const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); - if (dirCompare != 0) { - return dirCompare; - } else { - return a.title.localeCompare(b.title); - } - }); - } - return tree.sort((a, b) => { - const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); - if (dirCompare != 0) { - return dirCompare; - } else { - return a.title.localeCompare(b.title); - } - }); - } - getTreeStructure(children2) { - const tree = this._getTreeStructure(children2); - const res = this.simplify(tree); - return res; - } - async formatCommitMessage(template) { - let status2; - if (template.includes("{{numFiles}}")) { - status2 = await this.status(); - const numFiles = status2.staged.length; - template = template.replace("{{numFiles}}", String(numFiles)); - } - if (template.includes("{{hostname}}")) { - const hostname = this.plugin.localStorage.getHostname() || ""; - template = template.replace("{{hostname}}", hostname); - } - if (template.includes("{{files}}")) { - status2 = status2 != null ? status2 : await this.status(); - const changeset = {}; - status2.staged.forEach((value) => { - if (value.index in changeset) { - changeset[value.index].push(value.path); - } else { - changeset[value.index] = [value.path]; - } - }); - const chunks = []; - for (const [action, files2] of Object.entries(changeset)) { - chunks.push(action + " " + files2.join(" ")); - } - const files = chunks.join(", "); - template = template.replace("{{files}}", files); - } - const moment = window.moment; - template = template.replace( - "{{date}}", - moment().format(this.plugin.settings.commitDateFormat) - ); - if (this.plugin.settings.listChangedFilesInMessageBody) { - template = template + "\n\nAffected files:\n" + (status2 != null ? status2 : await this.status()).staged.map((e) => e.path).join("\n"); - } - return template; - } -}; - -// src/myAdapter.ts -init_polyfill_buffer(); -var import_obsidian2 = require("obsidian"); -var MyAdapter = class { - constructor(vault, plugin) { - this.plugin = plugin; - this.promises = {}; - this.adapter = vault.adapter; - this.vault = vault; - this.lastBasePath = this.plugin.settings.basePath; - this.promises.readFile = this.readFile.bind(this); - this.promises.writeFile = this.writeFile.bind(this); - this.promises.readdir = this.readdir.bind(this); - this.promises.mkdir = this.mkdir.bind(this); - this.promises.rmdir = this.rmdir.bind(this); - this.promises.stat = this.stat.bind(this); - this.promises.unlink = this.unlink.bind(this); - this.promises.lstat = this.lstat.bind(this); - this.promises.readlink = this.readlink.bind(this); - this.promises.symlink = this.symlink.bind(this); - } - async readFile(path2, opts) { - var _a2; - this.maybeLog("Read: " + path2 + JSON.stringify(opts)); - if (opts == "utf8" || opts.encoding == "utf8") { - const file = this.vault.getAbstractFileByPath(path2); - if (file instanceof import_obsidian2.TFile) { - this.maybeLog("Reuse"); - return this.vault.read(file); - } else { - return this.adapter.read(path2); - } - } else { - if (path2.endsWith(this.gitDir + "/index")) { - if (this.plugin.settings.basePath != this.lastBasePath) { - this.clearIndex(); - this.lastBasePath = this.plugin.settings.basePath; - return this.adapter.readBinary(path2); - } - return (_a2 = this.index) != null ? _a2 : this.adapter.readBinary(path2); - } - const file = this.vault.getAbstractFileByPath(path2); - if (file instanceof import_obsidian2.TFile) { - this.maybeLog("Reuse"); - return this.vault.readBinary(file); - } else { - return this.adapter.readBinary(path2); - } - } - } - async writeFile(path2, data) { - this.maybeLog("Write: " + path2); - if (typeof data === "string") { - const file = this.vault.getAbstractFileByPath(path2); - if (file instanceof import_obsidian2.TFile) { - return this.vault.modify(file, data); - } else { - return this.adapter.write(path2, data); - } - } else { - if (path2.endsWith(this.gitDir + "/index")) { - this.index = data; - this.indexmtime = Date.now(); - } else { - const file = this.vault.getAbstractFileByPath(path2); - if (file instanceof import_obsidian2.TFile) { - return this.vault.modifyBinary(file, data); - } else { - return this.adapter.writeBinary(path2, data); - } - } - } - } - async readdir(path2) { - if (path2 === ".") - path2 = "/"; - const res = await this.adapter.list(path2); - const all = [...res.files, ...res.folders]; - let formattedAll; - if (path2 !== "/") { - formattedAll = all.map( - (e) => (0, import_obsidian2.normalizePath)(e.substring(path2.length)) - ); - } else { - formattedAll = all; - } - return formattedAll; - } - async mkdir(path2) { - return this.adapter.mkdir(path2); - } - async rmdir(path2, opts) { - var _a2, _b; - return this.adapter.rmdir(path2, (_b = (_a2 = opts == null ? void 0 : opts.options) == null ? void 0 : _a2.recursive) != null ? _b : false); - } - async stat(path2) { - if (path2.endsWith(this.gitDir + "/index")) { - if (this.index !== void 0 && this.indexctime != void 0 && this.indexmtime != void 0) { - return { - isFile: () => true, - isDirectory: () => false, - isSymbolicLink: () => false, - size: this.index.length, - type: "file", - ctimeMs: this.indexctime, - mtimeMs: this.indexmtime - }; - } else { - const stat = await this.adapter.stat(path2); - if (stat == void 0) { - throw { code: "ENOENT" }; - } - this.indexctime = stat.ctime; - this.indexmtime = stat.mtime; - return { - ctimeMs: stat.ctime, - mtimeMs: stat.mtime, - size: stat.size, - type: "file", - isFile: () => true, - isDirectory: () => false, - isSymbolicLink: () => false - }; - } - } - if (path2 === ".") - path2 = "/"; - const file = this.vault.getAbstractFileByPath(path2); - this.maybeLog("Stat: " + path2); - if (file instanceof import_obsidian2.TFile) { - this.maybeLog("Reuse stat"); - return { - ctimeMs: file.stat.ctime, - mtimeMs: file.stat.mtime, - size: file.stat.size, - type: "file", - isFile: () => true, - isDirectory: () => false, - isSymbolicLink: () => false - }; - } else { - const stat = await this.adapter.stat(path2); - if (stat) { - return { - ctimeMs: stat.ctime, - mtimeMs: stat.mtime, - size: stat.size, - type: stat.type === "folder" ? "directory" : stat.type, - isFile: () => stat.type === "file", - isDirectory: () => stat.type === "folder", - isSymbolicLink: () => false - }; - } else { - throw { code: "ENOENT" }; - } - } - } - async unlink(path2) { - return this.adapter.remove(path2); - } - async lstat(path2) { - return this.stat(path2); - } - async readlink(path2) { - throw new Error(`readlink of (${path2}) is not implemented.`); - } - async symlink(path2) { - throw new Error(`symlink of (${path2}) is not implemented.`); - } - async saveAndClear() { - if (this.index !== void 0) { - await this.adapter.writeBinary( - this.plugin.gitManager.getVaultPath(this.gitDir + "/index"), - this.index, - { - ctime: this.indexctime, - mtime: this.indexmtime - } - ); - } - this.clearIndex(); - } - clearIndex() { - this.index = void 0; - this.indexctime = void 0; - this.indexmtime = void 0; - } - get gitDir() { - return this.plugin.settings.gitDir || ".git"; - } - maybeLog(text2) { - } -}; - -// src/types.ts -init_polyfill_buffer(); - -// src/ui/modals/generalModal.ts -init_polyfill_buffer(); -var import_obsidian3 = require("obsidian"); -var generalModalConfigDefaults = { - options: [], - placeholder: "", - allowEmpty: false, - onlySelection: false, - initialValue: void 0 -}; -var GeneralModal = class extends import_obsidian3.SuggestModal { - constructor(config) { - super(app); - this.config = { ...generalModalConfigDefaults, ...config }; - this.setPlaceholder(this.config.placeholder); - } - open() { - super.open(); - if (this.config.initialValue != void 0) { - this.inputEl.value = this.config.initialValue; - this.inputEl.dispatchEvent(new Event("input")); - } - return new Promise((resolve) => { - this.resolve = resolve; - }); - } - selectSuggestion(value, evt) { - if (this.resolve) { - let res; - if (this.config.allowEmpty && value === " ") - res = ""; - else if (value === "...") - res = void 0; - else - res = value; - this.resolve(res); - } - super.selectSuggestion(value, evt); - } - onClose() { - if (this.resolve) - this.resolve(void 0); - } - getSuggestions(query) { - if (this.config.onlySelection) { - return this.config.options; - } else if (this.config.allowEmpty) { - return [query.length > 0 ? query : " ", ...this.config.options]; - } else { - return [query.length > 0 ? query : "...", ...this.config.options]; - } - } - renderSuggestion(value, el) { - el.setText(value); - } - onChooseSuggestion(item, evt) { - } -}; - -// src/utils.ts -init_polyfill_buffer(); -var import_obsidian4 = require("obsidian"); -var worthWalking2 = (filepath, root) => { - if (filepath === "." || root == null || root.length === 0 || root === ".") { - return true; - } - if (root.length >= filepath.length) { - return root.startsWith(filepath); - } else { - return filepath.startsWith(root); - } -}; -function getNewLeaf(event) { - let leaf; - if (event) { - if (event.button === 0 || event.button === 1) { - const type = import_obsidian4.Keymap.isModEvent(event); - leaf = app.workspace.getLeaf(type); - } - } else { - leaf = app.workspace.getLeaf(false); - } - return leaf; -} -function splitRemoteBranch(remoteBranch) { - const [remote, ...branch2] = remoteBranch.split("/"); - return [remote, branch2.length === 0 ? void 0 : branch2.join("/")]; -} -function getDisplayPath(path2) { - if (path2.endsWith("/")) - return path2; - return path2.split("/").last().replace(".md", ""); -} - -// src/isomorphicGit.ts -var IsomorphicGit = class extends GitManager { - constructor(plugin) { - super(plugin); - this.FILE = 0; - this.HEAD = 1; - this.WORKDIR = 2; - this.STAGE = 3; - // Mapping from statusMatrix to git status codes based off git status --short - // See: https://isomorphic-git.org/docs/en/statusMatrix - this.status_mapping = { - "000": " ", - "003": "AD", - "020": "??", - "022": "A ", - "023": "AM", - "100": "D ", - "101": " D", - "103": "MD", - "110": "DA", - // Technically, two files: first one is deleted "D " and second one is untracked "??" - "111": " ", - "120": "DA", - // Same as "110" - "121": " M", - "122": "M ", - "123": "MM" - }; - this.noticeLength = 999999; - this.fs = new MyAdapter(this.app.vault, this.plugin); - } - getRepo() { - return { - fs: this.fs, - dir: this.plugin.settings.basePath, - gitdir: this.plugin.settings.gitDir || void 0, - onAuth: () => { - var _a2, _b; - return { - username: (_a2 = this.plugin.localStorage.getUsername()) != null ? _a2 : void 0, - password: (_b = this.plugin.localStorage.getPassword()) != null ? _b : void 0 - }; - }, - onAuthFailure: async () => { - new import_obsidian5.Notice( - "Authentication failed. Please try with different credentials" - ); - const username = await new GeneralModal({ - placeholder: "Specify your username" - }).open(); - if (username) { - const password = await new GeneralModal({ - placeholder: "Specify your password/personal access token" - }).open(); - if (password) { - this.plugin.localStorage.setUsername(username); - this.plugin.localStorage.setPassword(password); - return { - username, - password - }; - } - } - return { cancel: true }; - }, - http: { - async request({ - url, - method, - headers, - body - }) { - if (body) { - body = await collect2(body); - body = body.buffer; - } - const res = await (0, import_obsidian5.requestUrl)({ - url, - method, - headers, - body, - throw: false - }); - return { - url, - method, - headers: res.headers, - body: [new Uint8Array(res.arrayBuffer)], - statusCode: res.status, - statusMessage: res.status.toString() - }; - } - } - }; - } - async wrapFS(call) { - try { - const res = await call; - await this.fs.saveAndClear(); - return res; - } catch (error) { - await this.fs.saveAndClear(); - throw error; - } - } - async status() { - let notice; - const timeout = window.setTimeout(function() { - notice = new import_obsidian5.Notice( - "This takes longer: Getting status", - this.noticeLength - ); - }, 2e4); - try { - this.plugin.setState(1 /* status */); - const status2 = (await this.wrapFS(isomorphic_git_default.statusMatrix({ ...this.getRepo() }))).map((row) => this.getFileStatusResult(row)); - const changed = status2.filter( - (fileStatus) => fileStatus.working_dir !== " " - ); - const staged = status2.filter( - (fileStatus) => fileStatus.index !== " " && fileStatus.index !== "U" - ); - const conflicted = []; - window.clearTimeout(timeout); - notice == null ? void 0 : notice.hide(); - return { changed, staged, conflicted }; - } catch (error) { - window.clearTimeout(timeout); - notice == null ? void 0 : notice.hide(); - this.plugin.displayError(error); - throw error; - } - } - async commitAll({ - message, - status: status2, - unstagedFiles - }) { - try { - await this.checkAuthorInfo(); - await this.stageAll({ status: status2, unstagedFiles }); - return this.commit(message); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async commit(message) { - try { - await this.checkAuthorInfo(); - this.plugin.setState(4 /* commit */); - const formatMessage = await this.formatCommitMessage(message); - const hadConflict = this.plugin.localStorage.getConflict() === "true"; - let parent = void 0; - if (hadConflict) { - const branchInfo = await this.branchInfo(); - parent = [branchInfo.current, branchInfo.tracking]; - } - await this.wrapFS( - isomorphic_git_default.commit({ - ...this.getRepo(), - message: formatMessage, - parent - }) - ); - this.plugin.localStorage.setConflict("false"); - return; - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async stage(filepath, relativeToVault) { - const gitPath = this.getPath(filepath, relativeToVault); - let vaultPath; - if (relativeToVault) { - vaultPath = filepath; - } else { - vaultPath = this.getVaultPath(filepath); - } - try { - this.plugin.setState(3 /* add */); - if (await this.app.vault.adapter.exists(vaultPath)) { - await this.wrapFS( - isomorphic_git_default.add({ ...this.getRepo(), filepath: gitPath }) - ); - } else { - await this.wrapFS( - isomorphic_git_default.remove({ ...this.getRepo(), filepath: gitPath }) - ); - } - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async stageAll({ - dir, - status: status2, - unstagedFiles - }) { - try { - if (status2) { - await Promise.all( - status2.changed.map( - (file) => file.working_dir !== "D" ? this.wrapFS( - isomorphic_git_default.add({ - ...this.getRepo(), - filepath: file.path - }) - ) : isomorphic_git_default.remove({ - ...this.getRepo(), - filepath: file.path - }) - ) - ); - } else { - const filesToStage = unstagedFiles != null ? unstagedFiles : await this.getUnstagedFiles(dir != null ? dir : "."); - await Promise.all( - filesToStage.map( - ({ filepath, deleted }) => deleted ? isomorphic_git_default.remove({ ...this.getRepo(), filepath }) : this.wrapFS( - isomorphic_git_default.add({ ...this.getRepo(), filepath }) - ) - ) - ); - } - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async unstage(filepath, relativeToVault) { - try { - this.plugin.setState(3 /* add */); - filepath = this.getPath(filepath, relativeToVault); - await this.wrapFS( - isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async unstageAll({ - dir, - status: status2 - }) { - try { - let staged; - if (status2) { - staged = status2.staged.map((file) => file.path); - } else { - const res = await this.getStagedFiles(dir != null ? dir : "."); - staged = res.map(({ filepath }) => filepath); - } - await this.wrapFS( - Promise.all( - staged.map( - (file) => isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath: file }) - ) - ) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async discard(filepath) { - try { - this.plugin.setState(3 /* add */); - await this.wrapFS( - isomorphic_git_default.checkout({ - ...this.getRepo(), - filepaths: [filepath], - force: true - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async discardAll({ - dir, - status: status2 - }) { - let files = []; - if (status2) { - if (dir != void 0) { - files = status2.changed.filter((file) => file.path.startsWith(dir)).map((file) => file.path); - } else { - files = status2.changed.map((file) => file.path); - } - } else { - files = (await this.getUnstagedFiles(dir)).map( - ({ filepath }) => filepath - ); - } - try { - await this.wrapFS( - isomorphic_git_default.checkout({ - ...this.getRepo(), - filepaths: files, - force: true - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - getProgressText(action, event) { - let out = `${action} progress:`; - if (event.phase) { - out = `${out} ${event.phase}:`; - } - if (event.loaded) { - out = `${out} ${event.loaded}`; - if (event.total) { - out = `${out} of ${event.total}`; - } - } - return out; - } - resolveRef(ref) { - return this.wrapFS(isomorphic_git_default.resolveRef({ ...this.getRepo(), ref })); - } - async pull() { - const progressNotice = this.showNotice("Initializing pull"); - try { - this.plugin.setState(2 /* pull */); - const localCommit = await this.resolveRef("HEAD"); - await this.fetch(); - const branchInfo = await this.branchInfo(); - await this.checkAuthorInfo(); - const mergeRes = await this.wrapFS( - isomorphic_git_default.merge({ - ...this.getRepo(), - ours: branchInfo.current, - theirs: branchInfo.tracking, - abortOnConflict: false - }) - ); - if (!mergeRes.alreadyMerged) { - await this.wrapFS( - isomorphic_git_default.checkout({ - ...this.getRepo(), - ref: branchInfo.current, - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Checkout", progress); - } - }, - remote: branchInfo.remote - }) - ); - } - progressNotice == null ? void 0 : progressNotice.hide(); - const upstreamCommit = await this.resolveRef("HEAD"); - const changedFiles = await this.getFileChangesCount( - localCommit, - upstreamCommit - ); - this.showNotice("Finished pull", false); - return changedFiles.map((file) => ({ - path: file.path, - working_dir: "P", - index: "P", - vault_path: this.getVaultPath(file.path) - })); - } catch (error) { - progressNotice == null ? void 0 : progressNotice.hide(); - if (error instanceof Errors.MergeConflictError) { - this.plugin.handleConflict( - error.data.filepaths.map((file) => this.getVaultPath(file)) - ); - } - this.plugin.displayError(error); - throw error; - } - } - async push() { - if (!await this.canPush()) { - return 0; - } - const progressNotice = this.showNotice("Initializing push"); - try { - this.plugin.setState(1 /* status */); - const status2 = await this.branchInfo(); - const trackingBranch = status2.tracking; - const currentBranch2 = status2.current; - const numChangedFiles = (await this.getFileChangesCount(currentBranch2, trackingBranch)).length; - this.plugin.setState(5 /* push */); - await this.wrapFS( - isomorphic_git_default.push({ - ...this.getRepo(), - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Pushing", progress); - } - } - }) - ); - progressNotice == null ? void 0 : progressNotice.hide(); - return numChangedFiles; - } catch (error) { - progressNotice == null ? void 0 : progressNotice.hide(); - this.plugin.displayError(error); - throw error; - } - } - async getUnpushedCommits() { - const status2 = await this.branchInfo(); - const trackingBranch = status2.tracking; - const currentBranch2 = status2.current; - if (trackingBranch == null || currentBranch2 == null) { - return 0; - } - const localCommit = await this.resolveRef(currentBranch2); - const upstreamCommit = await this.resolveRef(trackingBranch); - const changedFiles = await this.getFileChangesCount( - localCommit, - upstreamCommit - ); - return changedFiles.length; - } - async canPush() { - const status2 = await this.branchInfo(); - const trackingBranch = status2.tracking; - const currentBranch2 = status2.current; - const current = await this.resolveRef(currentBranch2); - const tracking = await this.resolveRef(trackingBranch); - return current != tracking; - } - async checkRequirements() { - const headExists = await this.plugin.app.vault.adapter.exists( - `${this.getRepo().dir}/.git/HEAD` - ); - return headExists ? "valid" : "missing-repo"; - } - async branchInfo() { - var _a2, _b; - try { - const current = await isomorphic_git_default.currentBranch(this.getRepo()) || ""; - const branches = await isomorphic_git_default.listBranches(this.getRepo()); - const remote = (_a2 = await this.getConfig(`branch.${current}.remote`)) != null ? _a2 : "origin"; - const trackingBranch = (_b = await this.getConfig(`branch.${current}.merge`)) == null ? void 0 : _b.split("refs/heads")[1]; - const tracking = trackingBranch ? remote + trackingBranch : void 0; - return { - current, - tracking, - branches, - remote - }; - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async getCurrentRemote() { - var _a2; - const current = await isomorphic_git_default.currentBranch(this.getRepo()) || ""; - const remote = (_a2 = await this.getConfig(`branch.${current}.remote`)) != null ? _a2 : "origin"; - return remote; - } - async checkout(branch2, remote) { - try { - return this.wrapFS( - isomorphic_git_default.checkout({ - ...this.getRepo(), - ref: branch2, - force: !!remote, - remote - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async createBranch(branch2) { - try { - await this.wrapFS( - isomorphic_git_default.branch({ ...this.getRepo(), ref: branch2, checkout: true }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async deleteBranch(branch2) { - try { - await this.wrapFS( - isomorphic_git_default.deleteBranch({ ...this.getRepo(), ref: branch2 }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async branchIsMerged(branch2) { - return true; - } - async init() { - try { - await this.wrapFS(isomorphic_git_default.init(this.getRepo())); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async clone(url, dir, depth) { - const progressNotice = this.showNotice("Initializing clone"); - try { - await this.wrapFS( - isomorphic_git_default.clone({ - ...this.getRepo(), - dir, - url, - depth, - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Cloning", progress); - } - } - }) - ); - progressNotice == null ? void 0 : progressNotice.hide(); - } catch (error) { - progressNotice == null ? void 0 : progressNotice.hide(); - this.plugin.displayError(error); - throw error; - } - } - async setConfig(path2, value) { - try { - return this.wrapFS( - isomorphic_git_default.setConfig({ - ...this.getRepo(), - path: path2, - value - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async getConfig(path2) { - try { - return this.wrapFS( - isomorphic_git_default.getConfig({ - ...this.getRepo(), - path: path2 - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async fetch(remote) { - const progressNotice = this.showNotice("Initializing fetch"); - try { - const args = { - ...this.getRepo(), - onProgress: (progress) => { - if (progressNotice !== void 0) { - progressNotice.noticeEl.innerText = this.getProgressText("Fetching", progress); - } - }, - remote: remote != null ? remote : await this.getCurrentRemote() - }; - await this.wrapFS(isomorphic_git_default.fetch(args)); - progressNotice == null ? void 0 : progressNotice.hide(); - } catch (error) { - this.plugin.displayError(error); - progressNotice == null ? void 0 : progressNotice.hide(); - throw error; - } - } - async setRemote(name, url) { - try { - await this.wrapFS( - isomorphic_git_default.addRemote({ - ...this.getRepo(), - remote: name, - url, - force: true - }) - ); - } catch (error) { - this.plugin.displayError(error); - throw error; - } - } - async getRemoteBranches(remote) { - let remoteBranches = []; - remoteBranches.push( - ...await this.wrapFS( - isomorphic_git_default.listBranches({ ...this.getRepo(), remote }) - ) - ); - remoteBranches.remove("HEAD"); - remoteBranches = remoteBranches.map((e) => `${remote}/${e}`); - return remoteBranches; - } - async getRemotes() { - return (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).map( - (remoteUrl) => remoteUrl.remote - ); - } - async removeRemote(remoteName) { - await this.wrapFS( - isomorphic_git_default.deleteRemote({ ...this.getRepo(), remote: remoteName }) - ); - } - async getRemoteUrl(remote) { - var _a2; - return (_a2 = (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).filter((item) => item.remote == remote)[0]) == null ? void 0 : _a2.url; - } - async log(_, __ = true, limit) { - const logs = await this.wrapFS( - isomorphic_git_default.log({ ...this.getRepo(), depth: limit }) - ); - return Promise.all( - logs.map(async (log2) => { - const completeMessage = log2.commit.message.split("\n\n"); - return { - message: completeMessage[0], - body: completeMessage.slice(1).join("\n\n"), - date: new Date( - log2.commit.committer.timestamp - ).toDateString(), - diff: { - changed: 0, - files: (await this.getFileChangesCount( - log2.commit.parent.first(), - log2.oid - )).map((item) => { - return { - path: item.path, - status: item.type, - vault_path: this.getVaultPath(item.path), - hash: log2.oid, - binary: void 0 - }; - }) - }, - hash: log2.oid, - refs: [] - }; - }) - ); - } - updateBasePath(basePath) { - this.getRepo().dir = basePath; - } - async updateUpstreamBranch(remoteBranch) { - const [remote, branch2] = splitRemoteBranch(remoteBranch); - const branchInfo = await this.branchInfo(); - await this.setConfig( - `branch.${branchInfo.current}.merge`, - `refs/heads/${branch2}` - ); - await this.setConfig(`branch.${branch2}.remote`, remote); - } - updateGitPath(gitPath) { - return; - } - async getFileChangesCount(commitHash1, commitHash2) { - return this.walkDifference({ - walkers: [ - isomorphic_git_default.TREE({ ref: commitHash1 }), - isomorphic_git_default.TREE({ ref: commitHash2 }) - ] - }); - } - async walkDifference({ - walkers, - dir: base - }) { - const res = await this.wrapFS( - isomorphic_git_default.walk({ - ...this.getRepo(), - trees: walkers, - map: async function(filepath, [A, B]) { - if (!worthWalking2(filepath, base)) { - return null; - } - if (await (A == null ? void 0 : A.type()) === "tree" || await (B == null ? void 0 : B.type()) === "tree") { - return; - } - const Aoid = await (A == null ? void 0 : A.oid()); - const Boid = await (B == null ? void 0 : B.oid()); - let type = "equal"; - if (Aoid !== Boid) { - type = "M"; - } - if (Aoid === void 0) { - type = "A"; - } - if (Boid === void 0) { - type = "D"; - } - if (Aoid === void 0 && Boid === void 0) { - console.log("Something weird happened:"); - console.log(A); - console.log(B); - } - if (type === "equal") { - return; - } - return { - path: filepath, - type - }; - } - }) - ); - return res; - } - async getStagedFiles(dir = ".") { - const res = await this.walkDifference({ - walkers: [isomorphic_git_default.TREE({ ref: "HEAD" }), isomorphic_git_default.STAGE()], - dir - }); - return res.map((file) => { - return { - vault_path: this.getVaultPath(file.path), - filepath: file.path - }; - }); - } - async getUnstagedFiles(base = ".") { - let notice; - const timeout = window.setTimeout(function() { - notice = new import_obsidian5.Notice( - "This takes longer: Getting status", - this.noticeLength - ); - }, 2e4); - try { - const repo = this.getRepo(); - const res = await this.wrapFS( - //Modified from `git.statusMatrix` - isomorphic_git_default.walk({ - ...repo, - trees: [isomorphic_git_default.WORKDIR(), isomorphic_git_default.STAGE()], - map: async function(filepath, [workdir, stage]) { - if (!stage && workdir) { - const isIgnored2 = await isomorphic_git_default.isIgnored({ - ...repo, - filepath - }); - if (isIgnored2) { - return null; - } - } - if (!worthWalking2(filepath, base)) { - return null; - } - const [workdirType, stageType] = await Promise.all([ - workdir && workdir.type(), - stage && stage.type() - ]); - const isBlob = [workdirType, stageType].includes( - "blob" - ); - if ((workdirType === "tree" || workdirType === "special") && !isBlob) - return; - if (stageType === "commit") - return null; - if ((stageType === "tree" || stageType === "special") && !isBlob) - return; - const stageOid = stageType === "blob" ? await stage.oid() : void 0; - let workdirOid; - if (workdirType === "blob" && stageType !== "blob") { - workdirOid = "42"; - } else if (workdirType === "blob") { - workdirOid = await workdir.oid(); - } - if (!workdirOid) { - return { - filepath, - deleted: true - }; - } - if (workdirOid !== stageOid) { - return { - filepath, - deleted: false - }; - } - return null; - } - }) - ); - window.clearTimeout(timeout); - notice == null ? void 0 : notice.hide(); - return res; - } catch (error) { - window.clearTimeout(timeout); - notice == null ? void 0 : notice.hide(); - this.plugin.displayError(error); - throw error; - } - } - async getDiffString(filePath, stagedChanges = false, hash2) { - const vaultPath = this.getVaultPath(filePath); - const map = async (file, [A]) => { - if (filePath == file) { - const oid = await A.oid(); - const contents = await isomorphic_git_default.readBlob({ - ...this.getRepo(), - oid - }); - return contents.blob; - } - }; - if (hash2) { - const commitContent = await readBlob({ - ...this.getRepo(), - filepath: filePath, - oid: hash2 - }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { - if (err instanceof isomorphic_git_default.Errors.NotFoundError) - return void 0; - throw err; - }); - const commit2 = await isomorphic_git_default.readCommit({ - ...this.getRepo(), - oid: hash2 - }); - const previousContent = await readBlob({ - ...this.getRepo(), - filepath: filePath, - oid: commit2.commit.parent.first() - }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { - if (err instanceof isomorphic_git_default.Errors.NotFoundError) - return void 0; - throw err; - }); - const diff2 = createPatch( - vaultPath, - previousContent != null ? previousContent : "", - commitContent != null ? commitContent : "" - ); - return diff2; - } - const stagedBlob = (await isomorphic_git_default.walk({ - ...this.getRepo(), - trees: [isomorphic_git_default.STAGE()], - map - })).first(); - const stagedContent = new TextDecoder().decode(stagedBlob); - if (stagedChanges) { - const headContent = await this.resolveRef("HEAD").then( - (oid) => readBlob({ - ...this.getRepo(), - filepath: filePath, - oid - }) - ).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { - if (err instanceof isomorphic_git_default.Errors.NotFoundError) - return void 0; - throw err; - }); - const diff2 = createPatch( - vaultPath, - headContent != null ? headContent : "", - stagedContent - ); - return diff2; - } else { - let workdirContent; - if (await app.vault.adapter.exists(vaultPath)) { - workdirContent = await app.vault.adapter.read(vaultPath); - } else { - workdirContent = ""; - } - const diff2 = createPatch(vaultPath, stagedContent, workdirContent); - return diff2; - } - } - async getLastCommitTime() { - const repo = this.getRepo(); - const oid = await this.resolveRef("HEAD"); - const commit2 = await isomorphic_git_default.readCommit({ ...repo, oid }); - const date = commit2.commit.committer.timestamp; - return new Date(date * 1e3); - } - getFileStatusResult(row) { - const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`]; - return { - index: status2[0] == "?" ? "U" : status2[0], - working_dir: status2[1] == "?" ? "U" : status2[1], - path: row[this.FILE], - vault_path: this.getVaultPath(row[this.FILE]) - }; - } - async checkAuthorInfo() { - const name = await this.getConfig("user.name"); - const email = await this.getConfig("user.email"); - if (!name || !email) { - throw "Git author information is not set. Please set it in the settings."; - } - } - showNotice(message, infinity = true) { - if (!this.plugin.settings.disablePopups) { - return new import_obsidian5.Notice( - message, - infinity ? this.noticeLength : void 0 - ); - } - } -}; -function fromValue2(value) { - let queue = [value]; - return { - next() { - return Promise.resolve({ - done: queue.length === 0, - value: queue.pop() - }); - }, - return() { - queue = []; - return {}; - }, - [Symbol.asyncIterator]() { - return this; - } - }; -} -function getIterator2(iterable) { - if (iterable[Symbol.asyncIterator]) { - return iterable[Symbol.asyncIterator](); - } - if (iterable[Symbol.iterator]) { - return iterable[Symbol.iterator](); - } - if (iterable.next) { - return iterable; - } - return fromValue2(iterable); -} -async function forAwait2(iterable, cb) { - const iter = getIterator2(iterable); - while (true) { - const { value, done } = await iter.next(); - if (value) - await cb(value); - if (done) - break; - } - if (iter.return) - iter.return(); -} -async function collect2(iterable) { - let size = 0; - const buffers = []; - await forAwait2(iterable, (value) => { - buffers.push(value); - size += value.byteLength; - }); - const result = new Uint8Array(size); - let nextIndex = 0; - for (const buffer2 of buffers) { - result.set(buffer2, nextIndex); - nextIndex += buffer2.byteLength; - } - return result; -} - -// src/simpleGit.ts +// src/gitManager/simpleGit.ts init_polyfill_buffer(); var import_child_process2 = require("child_process"); var import_debug2 = __toESM(require_browser()); -var import_obsidian6 = require("obsidian"); +var import_obsidian4 = require("obsidian"); var path = __toESM(require("path")); var import_path = require("path"); @@ -22993,7 +25527,7 @@ function prefixedArray(input, prefix) { return output; } function bufferToString(input) { - return (Array.isArray(input) ? Buffer2.concat(input) : input).toString("utf-8"); + return (Array.isArray(input) ? Buffer.concat(input) : input).toString("utf-8"); } function pick(source, properties) { return Object.assign({}, ...properties.map((property) => property in source ? { [property]: source[property] } : {})); @@ -23332,7 +25866,7 @@ var init_check_is_repo = __esm2({ })(CheckRepoActions || {}); onError = ({ exitCode }, error, done, fail) => { if (exitCode === 128 && isNotRepoMessage(error)) { - return done(Buffer2.from("false")); + return done(Buffer.from("false")); } fail(error); }; @@ -23857,7 +26391,7 @@ var init_git_logger = __esm2({ init_utils(); import_debug.default.formatters.L = (value) => String(filterHasLength(value) ? value.length : "-"); import_debug.default.formatters.B = (value) => { - if (Buffer2.isBuffer(value)) { + if (Buffer.isBuffer(value)) { return value.toString("utf8"); } return objectToString(value); @@ -23938,7 +26472,7 @@ function pluginContext(task, commands) { function onErrorReceived(target, logger) { return (err) => { logger(`[ERROR] child process exception %o`, err); - target.push(Buffer2.from(String(err.stack), "ascii")); + target.push(Buffer.from(String(err.stack), "ascii")); }; } function onDataReceived(target, name, logger, output) { @@ -24034,7 +26568,7 @@ var init_git_executor_chain = __esm2({ return task.onError(result, error, (newStdOut) => { logger.info(`custom error handler treated as success`); logger(`custom error returned a %s`, objectToString(newStdOut)); - done(new GitOutputStreams(Array.isArray(newStdOut) ? Buffer2.concat(newStdOut) : newStdOut, Buffer2.concat(stdErr))); + done(new GitOutputStreams(Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut, Buffer.concat(stdErr))); }, fail); } if (error) { @@ -24042,7 +26576,7 @@ var init_git_executor_chain = __esm2({ return fail(error); } logger.info(`retrieving task output complete`); - done(new GitOutputStreams(Buffer2.concat(stdOut), Buffer2.concat(stdErr))); + done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr))); }); } gitResponse(task, command, args, outputHandler, logger) { @@ -24176,12 +26710,12 @@ var init_task_callback = __esm2({ init_utils(); } }); -function changeWorkingDirectoryTask(directory, root) { +function changeWorkingDirectoryTask(directory, root2) { return adhocExecTask((instance10) => { if (!folderExists(directory)) { throw new Error(`Git.cwd: cannot change to non-directory "${directory}"`); } - return (root || instance10).cwd = directory; + return (root2 || instance10).cwd = directory; }); } var init_change_working_directory = __esm2({ @@ -24235,10 +26769,10 @@ var init_parse_commit = __esm2({ "src/lib/parsers/parse-commit.ts"() { init_utils(); parsers = [ - new LineParser(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/, (result, [branch2, root, commit2]) => { + new LineParser(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/, (result, [branch2, root2, commit2]) => { result.branch = branch2; result.commit = commit2; - result.root = !!root; + result.root = !!root2; }), new LineParser(/\s*Author:\s(.+)/i, (result, [author]) => { const parts = author.split("<"); @@ -25269,7 +27803,7 @@ function version_default() { parser: versionParser, onError(result, error, done, fail) { if (result.exitCode === -2) { - return done(Buffer2.from(NOT_INSTALLED)); + return done(Buffer.from(NOT_INSTALLED)); } fail(error); } @@ -26042,7 +28576,7 @@ var init_tag = __esm2({ } }); var require_git = __commonJS2({ - "src/git.js"(exports, module2) { + "src/git.js"(exports2, module2) { var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS2(git_executor_exports)); var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS2(simple_git_api_exports)); var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS2(scheduler_exports)); @@ -26369,14 +28903,14 @@ function preventProtocolOverride(arg, next) { } throw new GitPluginError(void 0, "unsafe", "Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol"); } -function preventUploadPack(arg, method) { +function preventUploadPack(arg, method2) { if (/^\s*--(upload|receive)-pack/.test(arg)) { throw new GitPluginError(void 0, "unsafe", `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`); } - if (method === "clone" && /^\s*-u\b/.test(arg)) { + if (method2 === "clone" && /^\s*-u\b/.test(arg)) { throw new GitPluginError(void 0, "unsafe", `Use of clone with option -u is not permitted without enabling allowUnsafePack`); } - if (method === "push" && /^\s*--exec\b/.test(arg)) { + if (method2 === "push" && /^\s*--exec\b/.test(arg)) { throw new GitPluginError(void 0, "unsafe", `Use of push with option --exec is not permitted without enabling allowUnsafePack`); } } @@ -26478,7 +29012,7 @@ function isTaskError(result) { return !!(result.exitCode && result.stdErr.length); } function getErrorMessage(result) { - return Buffer2.concat([...result.stdOut, ...result.stdErr]); + return Buffer.concat([...result.stdOut, ...result.stdErr]); } function errorDetectionHandler(overwrite = false, isError = isTaskError, errorMessage = getErrorMessage) { return (error, result) => { @@ -26497,7 +29031,7 @@ function errorDetectionPlugin(config) { stdOut: context.stdOut, exitCode: context.exitCode }); - if (Buffer2.isBuffer(error)) { + if (Buffer.isBuffer(error)) { return { error: new GitError(void 0, error.toString("utf-8")) }; } return { @@ -26639,7 +29173,307 @@ function gitInstanceFactory(baseDir, options) { init_git_response_error(); var esm_default = gitInstanceFactory; -// src/simpleGit.ts +// src/constants.ts +init_polyfill_buffer(); +var import_obsidian2 = require("obsidian"); +var DATE_FORMAT = "YYYY-MM-DD"; +var DATE_TIME_FORMAT_MINUTES = `${DATE_FORMAT} HH:mm`; +var DATE_TIME_FORMAT_SECONDS = `${DATE_FORMAT} HH:mm:ss`; +var GIT_LINE_AUTHORING_MOVEMENT_DETECTION_MINIMAL_LENGTH = 40; +var DEFAULT_SETTINGS = { + commitMessage: "vault backup: {{date}}", + commitDateFormat: DATE_TIME_FORMAT_SECONDS, + autoSaveInterval: 0, + autoPushInterval: 0, + autoPullInterval: 0, + autoPullOnBoot: false, + disablePush: false, + pullBeforePush: true, + disablePopups: false, + listChangedFilesInMessageBody: false, + showStatusBar: true, + updateSubmodules: false, + syncMethod: "merge", + customMessageOnAutoBackup: false, + autoBackupAfterFileChange: false, + treeStructure: false, + refreshSourceControl: import_obsidian2.Platform.isDesktopApp, + basePath: "", + differentIntervalCommitAndPush: false, + changedFilesInStatusBar: false, + showedMobileNotice: false, + refreshSourceControlTimer: 7e3, + showBranchStatusBar: true, + setLastSaveToLastCommit: false, + submoduleRecurseCheckout: false, + gitDir: "", + showFileMenu: true, + lineAuthor: { + show: false, + followMovement: "inactive", + authorDisplay: "initials", + showCommitHash: false, + dateTimeFormatOptions: "date", + dateTimeFormatCustomString: DATE_TIME_FORMAT_MINUTES, + dateTimeTimezone: "viewer-local", + coloringMaxAge: "1y", + // colors were picked via: + // https://color.adobe.com/de/create/color-accessibility + colorNew: { r: 255, g: 150, b: 150 }, + colorOld: { r: 120, g: 160, b: 255 }, + textColorCss: "var(--text-muted)", + // more pronounced than line numbers, but less than the content text + ignoreWhitespace: false, + gutterSpacingFallbackLength: 5 + } +}; +var SOURCE_CONTROL_VIEW_CONFIG = { + type: "git-view", + name: "Source Control", + icon: "git-pull-request" +}; +var HISTORY_VIEW_CONFIG = { + type: "git-history-view", + name: "History", + icon: "history" +}; +var DIFF_VIEW_CONFIG = { + type: "diff-view", + name: "Diff View", + icon: "git-pull-request" +}; + +// src/types.ts +init_polyfill_buffer(); +function mergeSettingsByPriority(low, high) { + const lineAuthor = Object.assign({}, low.lineAuthor, high.lineAuthor); + return Object.assign({}, low, high, { lineAuthor }); +} + +// src/utils.ts +init_polyfill_buffer(); +var cssColorConverter = __toESM(require_lib3()); +var import_deep_equal = __toESM(require_deep_equal()); +var import_obsidian3 = require("obsidian"); +var worthWalking2 = (filepath, root2) => { + if (filepath === "." || root2 == null || root2.length === 0 || root2 === ".") { + return true; + } + if (root2.length >= filepath.length) { + return root2.startsWith(filepath); + } else { + return filepath.startsWith(root2); + } +}; +function getNewLeaf(event) { + let leaf; + if (event) { + if (event.button === 0 || event.button === 1) { + const type = import_obsidian3.Keymap.isModEvent(event); + leaf = app.workspace.getLeaf(type); + } + } else { + leaf = app.workspace.getLeaf(false); + } + return leaf; +} +function impossibleBranch(x) { + throw new Error("Impossible branch: " + x); +} +function rgbToString(rgb) { + return `rgb(${rgb.r},${rgb.g},${rgb.b})`; +} +function convertToRgb(str) { + var _a2; + const color = (_a2 = cssColorConverter.fromString(str)) == null ? void 0 : _a2.toRgbaArray(); + if (color === void 0) { + return void 0; + } + const [r, g, b] = color; + return { r, g, b }; +} +function momentToEpochSeconds(instant) { + return instant.diff(import_obsidian3.moment.unix(0), "seconds"); +} +function median(array) { + if (array.length === 0) + return void 0; + return array.slice().sort()[Math.floor(array.length / 2)]; +} +function strictDeepEqual(a, b) { + return (0, import_deep_equal.default)(a, b, { strict: true }); +} +function resizeToLength(original, desiredLength, fillChar) { + if (original.length <= desiredLength) { + const prefix = new Array(desiredLength - original.length).fill(fillChar).join(""); + return prefix + original; + } else { + return original.substring(original.length - desiredLength); + } +} +function prefixOfLengthAsWhitespace(toBeRenderedText, whitespacePrefixLength) { + if (whitespacePrefixLength <= 0) + return toBeRenderedText; + const whitespacePrefix = new Array(whitespacePrefixLength).fill(" ").join(""); + const originalSuffix = toBeRenderedText.substring( + whitespacePrefixLength, + toBeRenderedText.length + ); + return whitespacePrefix + originalSuffix; +} +function between(l, x, r) { + return l <= x && x <= r; +} +function splitRemoteBranch(remoteBranch) { + const [remote, ...branch2] = remoteBranch.split("/"); + return [remote, branch2.length === 0 ? void 0 : branch2.join("/")]; +} +function getDisplayPath(path2) { + if (path2.endsWith("/")) + return path2; + return path2.split("/").last().replace(".md", ""); +} + +// src/gitManager/gitManager.ts +init_polyfill_buffer(); +var GitManager = class { + constructor(plugin) { + this.plugin = plugin; + this.app = plugin.app; + } + getVaultPath(path2) { + if (this.plugin.settings.basePath) { + return this.plugin.settings.basePath + "/" + path2; + } else { + return path2; + } + } + asRepositoryRelativePath(path2, relativeToVault) { + return relativeToVault && this.plugin.settings.basePath.length > 0 ? path2.substring(this.plugin.settings.basePath.length + 1) : path2; + } + _getTreeStructure(children2, beginLength = 0) { + const list = []; + children2 = [...children2]; + while (children2.length > 0) { + const first2 = children2.first(); + const restPath = first2.path.substring(beginLength); + if (restPath.contains("/")) { + const title = restPath.substring(0, restPath.indexOf("/")); + const childrenWithSameTitle = children2.filter((item) => { + return item.path.substring(beginLength).startsWith(title + "/"); + }); + childrenWithSameTitle.forEach((item) => children2.remove(item)); + const path2 = first2.path.substring( + 0, + restPath.indexOf("/") + beginLength + ); + list.push({ + title, + path: path2, + vaultPath: this.getVaultPath(path2), + children: this._getTreeStructure( + childrenWithSameTitle, + (beginLength > 0 ? beginLength + title.length : title.length) + 1 + ) + }); + } else { + list.push({ + title: restPath, + data: first2, + path: first2.path, + vaultPath: this.getVaultPath(first2.path) + }); + children2.remove(first2); + } + } + return list; + } + /* + * Sorts the children and simplifies the title + * If a node only contains another subdirectory, that subdirectory is moved up one level and integrated into the parent node + */ + simplify(tree) { + var _a2, _b, _c, _d; + for (const node of tree) { + while (true) { + const singleChild = ((_a2 = node.children) == null ? void 0 : _a2.length) == 1; + const singleChildIsDir = ((_c = (_b = node.children) == null ? void 0 : _b.first()) == null ? void 0 : _c.data) == void 0; + if (!(node.children != void 0 && singleChild && singleChildIsDir)) + break; + const child = node.children.first(); + node.title += "/" + child.title; + node.data = child.data; + node.path = child.path; + node.vaultPath = child.vaultPath; + node.children = child.children; + } + if (node.children != void 0) { + this.simplify(node.children); + } + (_d = node.children) == null ? void 0 : _d.sort((a, b) => { + const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); + if (dirCompare != 0) { + return dirCompare; + } else { + return a.title.localeCompare(b.title); + } + }); + } + return tree.sort((a, b) => { + const dirCompare = (b.data == void 0 ? 1 : 0) - (a.data == void 0 ? 1 : 0); + if (dirCompare != 0) { + return dirCompare; + } else { + return a.title.localeCompare(b.title); + } + }); + } + getTreeStructure(children2) { + const tree = this._getTreeStructure(children2); + const res = this.simplify(tree); + return res; + } + async formatCommitMessage(template) { + let status2; + if (template.includes("{{numFiles}}")) { + status2 = await this.status(); + const numFiles = status2.staged.length; + template = template.replace("{{numFiles}}", String(numFiles)); + } + if (template.includes("{{hostname}}")) { + const hostname = this.plugin.localStorage.getHostname() || ""; + template = template.replace("{{hostname}}", hostname); + } + if (template.includes("{{files}}")) { + status2 = status2 != null ? status2 : await this.status(); + const changeset = {}; + status2.staged.forEach((value) => { + if (value.index in changeset) { + changeset[value.index].push(value.path); + } else { + changeset[value.index] = [value.path]; + } + }); + const chunks = []; + for (const [action, files2] of Object.entries(changeset)) { + chunks.push(action + " " + files2.join(" ")); + } + const files = chunks.join(", "); + template = template.replace("{{files}}", files); + } + const moment5 = window.moment; + template = template.replace( + "{{date}}", + moment5().format(this.plugin.settings.commitDateFormat) + ); + if (this.plugin.settings.listChangedFilesInMessageBody) { + template = template + "\n\nAffected files:\n" + (status2 != null ? status2 : await this.status()).staged.map((e) => e.path).join("\n"); + } + return template; + } +}; + +// src/gitManager/simpleGit.ts var SimpleGit = class extends GitManager { constructor(plugin) { super(plugin); @@ -26651,12 +29485,12 @@ var SimpleGit = class extends GitManager { let basePath = path2; if (this.plugin.settings.basePath) { const exists2 = await adapter.exists( - (0, import_obsidian6.normalizePath)(this.plugin.settings.basePath) + (0, import_obsidian4.normalizePath)(this.plugin.settings.basePath) ); if (exists2) { basePath = path2 + import_path.sep + this.plugin.settings.basePath; } else if (!ignoreError) { - new import_obsidian6.Notice("ObsidianGit: Base path does not exist"); + new import_obsidian4.Notice("ObsidianGit: Base path does not exist"); } } this.git = esm_default({ @@ -26712,6 +29546,16 @@ var SimpleGit = class extends GitManager { ) }; } + async submoduleAwareHeadRevisonInContainingDirectory(filepath) { + const repoPath = this.asRepositoryRelativePath(filepath, true); + const containingDirectory = path.dirname(repoPath); + const args = ["-C", containingDirectory, "rev-parse", "HEAD"]; + const result = this.git.raw(args); + result.catch( + (err) => console.warn("obsidian-git: rev-parse error:", err) + ); + return result; + } async getSubmodulePaths() { return new Promise(async (resolve) => { this.git.outputHandler(async (cmd, stdout, stderr, args) => { @@ -26719,7 +29563,7 @@ var SimpleGit = class extends GitManager { return; } let body = ""; - const root = this.app.vault.adapter.getBasePath() + (this.plugin.settings.basePath ? "/" + this.plugin.settings.basePath : ""); + const root2 = this.app.vault.adapter.getBasePath() + (this.plugin.settings.basePath ? "/" + this.plugin.settings.basePath : ""); stdout.on("data", (chunk) => { body += chunk.toString("utf8"); }); @@ -26728,7 +29572,7 @@ var SimpleGit = class extends GitManager { const strippedSubmods = submods.map((i) => { const submod = i.match(/'([^']*)'/); if (submod != void 0) { - return root + "/" + submod[1] + import_path.sep; + return root2 + "/" + submod[1] + import_path.sep; } }).filter((i) => !!i); strippedSubmods.reverse(); @@ -26762,6 +29606,43 @@ var SimpleGit = class extends GitManager { }; } } + async blame(path2, trackMovement, ignoreWhitespace) { + path2 = this.asRepositoryRelativePath(path2, true); + if (!await this.isTracked(path2)) + return "untracked"; + const inSubmodule = await this.getSubmoduleOfFile(path2); + const args = inSubmodule ? ["-C", inSubmodule.submodule] : []; + const relativePath = inSubmodule ? inSubmodule.relativeFilepath : path2; + args.push("blame", "--porcelain"); + if (ignoreWhitespace) + args.push("-w"); + const trackCArg = `-C${GIT_LINE_AUTHORING_MOVEMENT_DETECTION_MINIMAL_LENGTH}`; + switch (trackMovement) { + case "inactive": + break; + case "same-commit": + args.push("-C", trackCArg); + break; + case "all-commits": + args.push("-C", "-C", trackCArg); + break; + default: + impossibleBranch(trackMovement); + } + args.push("--", relativePath); + const rawBlame = await this.git.raw( + args, + (err) => err && console.warn("git-blame", err) + ); + return parseBlame(rawBlame); + } + async isTracked(path2) { + const inSubmodule = await this.getSubmoduleOfFile(path2); + const args = inSubmodule ? ["-C", inSubmodule.submodule] : []; + const relativePath = inSubmodule ? inSubmodule.relativeFilepath : path2; + args.push("ls-files", "--", relativePath); + return this.git.raw(args, (err) => err && console.warn("ls-files", err)).then((x) => x.trim() !== ""); + } async commitAll({ message }) { if (this.plugin.settings.updateSubmodules) { this.plugin.setState(4 /* commit */); @@ -26777,10 +29658,12 @@ var SimpleGit = class extends GitManager { this.plugin.setState(3 /* add */); await this.git.add("-A", (err) => this.onError(err)); this.plugin.setState(4 /* commit */); - return (await this.git.commit( + const res = await this.git.commit( await this.formatCommitMessage(message), (err) => this.onError(err) - )).summary.changes; + ); + dispatchEvent(new CustomEvent("git-head-update")); + return res.summary.changes; } async commit(message) { this.plugin.setState(4 /* commit */); @@ -26788,12 +29671,13 @@ var SimpleGit = class extends GitManager { await this.formatCommitMessage(message), (err) => this.onError(err) )).summary.changes; + dispatchEvent(new CustomEvent("git-head-update")); this.plugin.setState(0 /* idle */); return res; } async stage(path2, relativeToVault) { this.plugin.setState(3 /* add */); - path2 = this.getPath(path2, relativeToVault); + path2 = this.asRepositoryRelativePath(path2, relativeToVault); await this.git.add(["--", path2], (err) => this.onError(err)); this.plugin.setState(0 /* idle */); } @@ -26812,7 +29696,7 @@ var SimpleGit = class extends GitManager { } async unstage(path2, relativeToVault) { this.plugin.setState(3 /* add */); - path2 = this.getPath(path2, relativeToVault); + path2 = this.asRepositoryRelativePath(path2, relativeToVault); await this.git.reset(["--", path2], (err) => this.onError(err)); this.plugin.setState(0 /* idle */); } @@ -26821,6 +29705,18 @@ var SimpleGit = class extends GitManager { await this.git.checkout(["--", filepath], (err) => this.onError(err)); this.plugin.setState(0 /* idle */); } + async hashObject(filepath) { + filepath = this.asRepositoryRelativePath(filepath, true); + const inSubmodule = await this.getSubmoduleOfFile(filepath); + const args = inSubmodule ? ["-C", inSubmodule.submodule] : []; + const relativeFilepath = inSubmodule ? inSubmodule.relativeFilepath : filepath; + args.push("hash-object", "--", relativeFilepath); + const revision = this.git.raw(args); + revision.catch( + (err) => err && console.warn("obsidian-git. hash-object failed:", err == null ? void 0 : err.message) + ); + return revision; + } async discardAll({ dir }) { return this.discard(dir != null ? dir : "."); } @@ -26874,6 +29770,7 @@ var SimpleGit = class extends GitManager { ); } } + dispatchEvent(new CustomEvent("git-head-update")); const afterMergeCommit = await this.git.revparse( [branchInfo.current], (err) => this.onError(err) @@ -26970,7 +29867,7 @@ var SimpleGit = class extends GitManager { async log(file, relativeToVault = true, limit) { let path2; if (file) { - path2 = this.getPath(file, relativeToVault); + path2 = this.asRepositoryRelativePath(file, relativeToVault); } const res = await this.git.log( { @@ -27001,7 +29898,7 @@ var SimpleGit = class extends GitManager { }); } async show(commitHash, file, relativeToVault = true) { - const path2 = this.getPath(file, relativeToVault); + const path2 = this.asRepositoryRelativePath(file, relativeToVault); return this.git.show( [commitHash + ":" + path2], (err) => this.onError(err) @@ -27146,6 +30043,36 @@ var SimpleGit = class extends GitManager { async diff(file, commit1, commit2) { return await this.git.diff([`${commit1}..${commit2}`, "--", file]); } + async getSubmoduleOfFile(repositoryRelativeFile) { + let submoduleRoot = await this.git.raw( + [ + "-C", + path.dirname(repositoryRelativeFile), + "rev-parse", + "--show-toplevel" + ], + (err) => err && console.warn("get-submodule-of-file", err == null ? void 0 : err.message) + ); + submoduleRoot = submoduleRoot.trim(); + const superProject = await this.git.raw( + [ + "-C", + path.dirname(repositoryRelativeFile), + "rev-parse", + "--show-superproject-working-tree" + ], + (err) => err && console.warn("get-submodule-of-file", err == null ? void 0 : err.message) + ); + if (superProject.trim() === "") { + return void 0; + } + const fsAdapter = this.app.vault.adapter; + const absolutePath = fsAdapter.getFullPath( + path.normalize(repositoryRelativeFile) + ); + const newRelativePath = path.relative(submoduleRoot, absolutePath); + return { submodule: submoduleRoot, relativeFilepath: newRelativePath }; + } async getLastCommitTime() { const res = await this.git.log({ n: 1 }, (err) => this.onError(err)); if (res != null && res.latest != null) { @@ -27189,9 +30116,1923 @@ var SimpleGit = class extends GitManager { } } }; +var zeroCommit = { + hash: "000000", + isZeroCommit: true, + summary: "" +}; +function parseBlame(blameOutputUnnormalized) { + const blameOutput = blameOutputUnnormalized.replace("\r\n", "\n"); + const blameLines = blameOutput.split("\n"); + const result = { + commits: /* @__PURE__ */ new Map(), + hashPerLine: [void 0], + // one-based indices + originalFileLineNrPerLine: [void 0], + finalFileLineNrPerLine: [void 0], + groupSizePerStartingLine: /* @__PURE__ */ new Map() + }; + let line = 1; + for (let bi = 0; bi < blameLines.length; ) { + if (startsWithNonWhitespace(blameLines[bi])) { + const lineInfo = blameLines[bi].split(" "); + const commitHash = parseLineInfoInto(lineInfo, line, result); + bi++; + for (; startsWithNonWhitespace(blameLines[bi]); bi++) { + const spaceSeparatedHeaderValues = blameLines[bi].split(" "); + parseHeaderInto(spaceSeparatedHeaderValues, result, line); + } + finalizeBlameCommitInfo(result.commits.get(commitHash)); + line += 1; + } else if (blameLines[bi] === "" && bi === blameLines.length - 1) { + } else { + throw Error( + `Expected non-whitespace line or EOF, but found: ${blameLines[bi]}` + ); + } + bi++; + } + return result; +} +function parseLineInfoInto(lineInfo, line, result) { + const hash2 = lineInfo[0]; + result.hashPerLine.push(hash2); + result.originalFileLineNrPerLine.push(parseInt(lineInfo[1])); + result.finalFileLineNrPerLine.push(parseInt(lineInfo[2])); + lineInfo.length >= 4 && result.groupSizePerStartingLine.set(line, parseInt(lineInfo[3])); + if (parseInt(lineInfo[2]) !== line) { + throw Error( + `git-blame output is out of order: ${line} vs ${lineInfo[2]}` + ); + } + return hash2; +} +function parseHeaderInto(header, out, line) { + const key2 = header[0]; + const value = header.slice(1).join(" "); + const commitHash = out.hashPerLine[line]; + const commit2 = out.commits.get(commitHash) || { + hash: commitHash, + author: {}, + committer: {}, + previous: {} + }; + switch (key2) { + case "summary": + commit2.summary = value; + break; + case "author": + commit2.author.name = value; + break; + case "author-mail": + commit2.author.email = removeEmailBrackets(value); + break; + case "author-time": + commit2.author.epochSeconds = parseInt(value); + break; + case "author-tz": + commit2.author.tz = value; + break; + case "committer": + commit2.committer.name = value; + break; + case "committer-mail": + commit2.committer.email = removeEmailBrackets(value); + break; + case "committer-time": + commit2.committer.epochSeconds = parseInt(value); + break; + case "committer-tz": + commit2.committer.tz = value; + break; + case "previous": + commit2.previous.commitHash = value; + break; + case "filename": + commit2.previous.filename = value; + break; + } + out.commits.set(commitHash, commit2); +} +function finalizeBlameCommitInfo(commit2) { + if (commit2.summary === void 0) { + throw Error(`Summary not provided for commit: ${commit2.hash}`); + } + if (isUndefinedOrEmptyObject(commit2.author)) { + commit2.author = void 0; + } + if (isUndefinedOrEmptyObject(commit2.committer)) { + commit2.committer = void 0; + } + if (isUndefinedOrEmptyObject(commit2.previous)) { + commit2.previous = void 0; + } + commit2.isZeroCommit = Boolean(commit2.hash.match(/^0*$/)); +} +function isUndefinedOrEmptyObject(obj) { + return !obj || Object.keys(obj).length === 0; +} +function startsWithNonWhitespace(str) { + return str.length > 0 && str[0].trim() === str[0]; +} +function removeEmailBrackets(gitEmail) { + const prefixCleaned = gitEmail.startsWith("<") ? gitEmail.substring(1) : gitEmail; + return prefixCleaned.endsWith(">") ? prefixCleaned.substring(0, prefixCleaned.length - 1) : prefixCleaned; +} -// src/settings.ts -var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { +// src/lineAuthor/lineAuthorProvider.ts +init_polyfill_buffer(); +var import_state4 = require("@codemirror/state"); + +// src/lineAuthor/control.ts +init_polyfill_buffer(); +var import_state2 = require("@codemirror/state"); +var import_obsidian9 = require("obsidian"); + +// src/lineAuthor/eventsPerFilepath.ts +init_polyfill_buffer(); +var SECONDS = 1e3; +var REMOVE_STALES_FREQUENCY = 60 * SECONDS; +var EventsPerFilePath = class { + constructor() { + this.eventsPerFilepath = /* @__PURE__ */ new Map(); + this.startRemoveStalesSubscribersInterval(); + } + /** + * Run the {@link handler} on the subscribers to {@link filepath}. + */ + ifFilepathDefinedTransformSubscribers(filepath, handler) { + if (!filepath) + return; + this.ensureInitialized(filepath); + return handler(this.eventsPerFilepath.get(filepath)); + } + forEachSubscriber(handler) { + this.eventsPerFilepath.forEach((subs) => subs.forEach(handler)); + } + ensureInitialized(filepath) { + if (!this.eventsPerFilepath.get(filepath)) + this.eventsPerFilepath.set(filepath, /* @__PURE__ */ new Set()); + } + startRemoveStalesSubscribersInterval() { + this.removeStalesSubscribersTimer = window.setInterval( + () => this == null ? void 0 : this.forEachSubscriber((las) => las == null ? void 0 : las.removeIfStale()), + REMOVE_STALES_FREQUENCY + ); + } + clear() { + window.clearInterval(this.removeStalesSubscribersTimer); + this.eventsPerFilepath.clear(); + } +}; +var eventsPerFilePathSingleton = new EventsPerFilePath(); + +// src/lineAuthor/model.ts +init_polyfill_buffer(); +var import_state = require("@codemirror/state"); +var import_js_sha256 = __toESM(require_sha256()); + +// src/setting/settings.ts +init_polyfill_buffer(); +var import_obsidian8 = require("obsidian"); + +// src/gitManager/isomorphicGit.ts +init_polyfill_buffer(); + +// node_modules/.pnpm/diff@5.1.0/node_modules/diff/lib/index.mjs +init_polyfill_buffer(); +function Diff() { +} +Diff.prototype = { + diff: function diff(oldString, newString) { + var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var callback = options.callback; + if (typeof options === "function") { + callback = options; + options = {}; + } + this.options = options; + var self2 = this; + function done(value) { + if (callback) { + setTimeout(function() { + callback(void 0, value); + }, 0); + return true; + } else { + return value; + } + } + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + if (options.maxEditLength) { + maxEditLength = Math.min(maxEditLength, options.maxEditLength); + } + var bestPath = [{ + newPos: -1, + components: [] + }]; + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return done([{ + value: this.join(newString), + count: newString.length + }]); + } + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = void 0; + var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + bestPath[diagonalPath - 1] = void 0; + } + var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + if (!canAdd && !canRemove) { + bestPath[diagonalPath] = void 0; + continue; + } + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self2.pushComponent(basePath.components, void 0, true); + } else { + basePath = addPath; + basePath.newPos++; + self2.pushComponent(basePath.components, true, void 0); + } + _oldPos = self2.extractCommon(basePath, newString, oldString, diagonalPath); + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self2, basePath.components, newString, oldString, self2.useLongestToken)); + } else { + bestPath[diagonalPath] = basePath; + } + } + editLength++; + } + if (callback) { + (function exec() { + setTimeout(function() { + if (editLength > maxEditLength) { + return callback(); + } + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; + } + } + } + }, + pushComponent: function pushComponent(components, added, removed) { + var last2 = components[components.length - 1]; + if (last2 && last2.added === added && last2.removed === removed) { + components[components.length - 1] = { + count: last2.count + 1, + added, + removed + }; + } else { + components.push({ + count: 1, + added, + removed + }); + } + }, + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + basePath.newPos = newPos; + return oldPos; + }, + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + removeEmpty: function removeEmpty(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + return ret; + }, + castInput: function castInput(value) { + return value; + }, + tokenize: function tokenize(value) { + return value.split(""); + }, + join: function join3(chars) { + return chars.join(""); + } +}; +function buildValues(diff2, components, newString, oldString, useLongestToken) { + var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function(value2, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value2.length ? oldValue : value2; + }); + component.value = diff2.join(value); + } else { + component.value = diff2.join(newString.slice(newPos, newPos + component.count)); + } + newPos += component.count; + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff2.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } + var lastComponent = components[componentLen - 1]; + if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff2.equals("", lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + return components; +} +function clonePath(path2) { + return { + newPos: path2.newPos, + components: path2.components.slice(0) + }; +} +var characterDiff = new Diff(); +function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); +} +var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; +var reWhitespace = /\S/; +var wordDiff = new Diff(); +wordDiff.equals = function(left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); +}; +wordDiff.tokenize = function(value) { + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); + for (var i = 0; i < tokens.length - 1; i++) { + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + return tokens; +}; +function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); +} +var lineDiff = new Diff(); +lineDiff.tokenize = function(value) { + var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/); + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + retLines.push(line); + } + } + return retLines; +}; +function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); +} +var sentenceDiff = new Diff(); +sentenceDiff.tokenize = function(value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); +}; +var cssDiff = new Diff(); +cssDiff.tokenize = function(value) { + return value.split(/([{}:;,]|\s+)/); +}; +function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function(obj2) { + return typeof obj2; + }; + } else { + _typeof = function(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); +} +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray(arr); +} +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) + return Array.from(iter); +} +function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); +} +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; +} +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +var objectPrototypeToString = Object.prototype.toString; +var jsonDiff = new Diff(); +jsonDiff.useLongestToken = true; +jsonDiff.tokenize = lineDiff.tokenize; +jsonDiff.castInput = function(value) { + var _this$options = this.options, undefinedReplacement = _this$options.undefinedReplacement, _this$options$stringi = _this$options.stringifyReplacer, stringifyReplacer = _this$options$stringi === void 0 ? function(k, v) { + return typeof v === "undefined" ? undefinedReplacement : v; + } : _this$options$stringi; + return typeof value === "string" ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, " "); +}; +jsonDiff.equals = function(left, right) { + return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, "$1"), right.replace(/,([\r\n])/g, "$1")); +}; +function canonicalize(obj, stack, replacementStack, replacer, key2) { + stack = stack || []; + replacementStack = replacementStack || []; + if (replacer) { + obj = replacer(key2, obj); + } + var i; + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + var canonicalizedObj; + if ("[object Array]" === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key2); + } + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + if (_typeof(obj) === "object" && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + var sortedKeys = [], _key; + for (_key in obj) { + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + sortedKeys.sort(); + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + return canonicalizedObj; +} +var arrayDiff = new Diff(); +arrayDiff.tokenize = function(value) { + return value.slice(); +}; +arrayDiff.join = arrayDiff.removeEmpty = function(value) { + return value; +}; +function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + if (typeof options.context === "undefined") { + options.context = 4; + } + var diff2 = diffLines(oldStr, newStr, options); + if (!diff2) { + return; + } + diff2.push({ + value: "", + lines: [] + }); + function contextLines(lines) { + return lines.map(function(entry) { + return " " + entry; + }); + } + var hunks = []; + var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1; + var _loop = function _loop2(i2) { + var current = diff2[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n"); + current.lines = lines; + if (current.added || current.removed) { + var _curRange; + if (!oldRangeStart) { + var prev = diff2[i2 - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } + (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function(entry) { + return (current.added ? "+" : "-") + entry; + }))); + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + if (oldRangeStart) { + if (lines.length <= options.context * 2 && i2 < diff2.length - 2) { + var _curRange2; + (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + } else { + var _curRange3; + var contextSize = Math.min(lines.length, options.context); + (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + if (i2 >= diff2.length - 2 && lines.length <= options.context) { + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file"); + } + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push("\\ No newline at end of file"); + } + } + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + oldLine += lines.length; + newLine += lines.length; + } + }; + for (var i = 0; i < diff2.length; i++) { + _loop(i); + } + return { + oldFileName, + newFileName, + oldHeader, + newHeader, + hunks + }; +} +function formatPatch(diff2) { + var ret = []; + if (diff2.oldFileName == diff2.newFileName) { + ret.push("Index: " + diff2.oldFileName); + } + ret.push("==================================================================="); + ret.push("--- " + diff2.oldFileName + (typeof diff2.oldHeader === "undefined" ? "" : " " + diff2.oldHeader)); + ret.push("+++ " + diff2.newFileName + (typeof diff2.newHeader === "undefined" ? "" : " " + diff2.newHeader)); + for (var i = 0; i < diff2.hunks.length; i++) { + var hunk = diff2.hunks[i]; + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + ret.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@"); + ret.push.apply(ret, hunk.lines); + } + return ret.join("\n") + "\n"; +} +function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); +} +function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); +} + +// src/gitManager/isomorphicGit.ts +var import_obsidian7 = require("obsidian"); + +// src/ui/modals/generalModal.ts +init_polyfill_buffer(); +var import_obsidian5 = require("obsidian"); +var generalModalConfigDefaults = { + options: [], + placeholder: "", + allowEmpty: false, + onlySelection: false, + initialValue: void 0 +}; +var GeneralModal = class extends import_obsidian5.SuggestModal { + constructor(config) { + super(app); + this.config = { ...generalModalConfigDefaults, ...config }; + this.setPlaceholder(this.config.placeholder); + } + open() { + super.open(); + if (this.config.initialValue != void 0) { + this.inputEl.value = this.config.initialValue; + this.inputEl.dispatchEvent(new Event("input")); + } + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + selectSuggestion(value, evt) { + if (this.resolve) { + let res; + if (this.config.allowEmpty && value === " ") + res = ""; + else if (value === "...") + res = void 0; + else + res = value; + this.resolve(res); + } + super.selectSuggestion(value, evt); + } + onClose() { + if (this.resolve) + this.resolve(void 0); + } + getSuggestions(query) { + if (this.config.onlySelection) { + return this.config.options; + } else if (this.config.allowEmpty) { + return [query.length > 0 ? query : " ", ...this.config.options]; + } else { + return [query.length > 0 ? query : "...", ...this.config.options]; + } + } + renderSuggestion(value, el) { + el.setText(value); + } + onChooseSuggestion(item, evt) { + } +}; + +// src/gitManager/myAdapter.ts +init_polyfill_buffer(); +var import_obsidian6 = require("obsidian"); +var MyAdapter = class { + constructor(vault, plugin) { + this.plugin = plugin; + this.promises = {}; + this.adapter = vault.adapter; + this.vault = vault; + this.lastBasePath = this.plugin.settings.basePath; + this.promises.readFile = this.readFile.bind(this); + this.promises.writeFile = this.writeFile.bind(this); + this.promises.readdir = this.readdir.bind(this); + this.promises.mkdir = this.mkdir.bind(this); + this.promises.rmdir = this.rmdir.bind(this); + this.promises.stat = this.stat.bind(this); + this.promises.unlink = this.unlink.bind(this); + this.promises.lstat = this.lstat.bind(this); + this.promises.readlink = this.readlink.bind(this); + this.promises.symlink = this.symlink.bind(this); + } + async readFile(path2, opts) { + var _a2; + this.maybeLog("Read: " + path2 + JSON.stringify(opts)); + if (opts == "utf8" || opts.encoding == "utf8") { + const file = this.vault.getAbstractFileByPath(path2); + if (file instanceof import_obsidian6.TFile) { + this.maybeLog("Reuse"); + return this.vault.read(file); + } else { + return this.adapter.read(path2); + } + } else { + if (path2.endsWith(this.gitDir + "/index")) { + if (this.plugin.settings.basePath != this.lastBasePath) { + this.clearIndex(); + this.lastBasePath = this.plugin.settings.basePath; + return this.adapter.readBinary(path2); + } + return (_a2 = this.index) != null ? _a2 : this.adapter.readBinary(path2); + } + const file = this.vault.getAbstractFileByPath(path2); + if (file instanceof import_obsidian6.TFile) { + this.maybeLog("Reuse"); + return this.vault.readBinary(file); + } else { + return this.adapter.readBinary(path2); + } + } + } + async writeFile(path2, data) { + this.maybeLog("Write: " + path2); + if (typeof data === "string") { + const file = this.vault.getAbstractFileByPath(path2); + if (file instanceof import_obsidian6.TFile) { + return this.vault.modify(file, data); + } else { + return this.adapter.write(path2, data); + } + } else { + if (path2.endsWith(this.gitDir + "/index")) { + this.index = data; + this.indexmtime = Date.now(); + } else { + const file = this.vault.getAbstractFileByPath(path2); + if (file instanceof import_obsidian6.TFile) { + return this.vault.modifyBinary(file, data); + } else { + return this.adapter.writeBinary(path2, data); + } + } + } + } + async readdir(path2) { + if (path2 === ".") + path2 = "/"; + const res = await this.adapter.list(path2); + const all = [...res.files, ...res.folders]; + let formattedAll; + if (path2 !== "/") { + formattedAll = all.map( + (e) => (0, import_obsidian6.normalizePath)(e.substring(path2.length)) + ); + } else { + formattedAll = all; + } + return formattedAll; + } + async mkdir(path2) { + return this.adapter.mkdir(path2); + } + async rmdir(path2, opts) { + var _a2, _b; + return this.adapter.rmdir(path2, (_b = (_a2 = opts == null ? void 0 : opts.options) == null ? void 0 : _a2.recursive) != null ? _b : false); + } + async stat(path2) { + if (path2.endsWith(this.gitDir + "/index")) { + if (this.index !== void 0 && this.indexctime != void 0 && this.indexmtime != void 0) { + return { + isFile: () => true, + isDirectory: () => false, + isSymbolicLink: () => false, + size: this.index.length, + type: "file", + ctimeMs: this.indexctime, + mtimeMs: this.indexmtime + }; + } else { + const stat = await this.adapter.stat(path2); + if (stat == void 0) { + throw { code: "ENOENT" }; + } + this.indexctime = stat.ctime; + this.indexmtime = stat.mtime; + return { + ctimeMs: stat.ctime, + mtimeMs: stat.mtime, + size: stat.size, + type: "file", + isFile: () => true, + isDirectory: () => false, + isSymbolicLink: () => false + }; + } + } + if (path2 === ".") + path2 = "/"; + const file = this.vault.getAbstractFileByPath(path2); + this.maybeLog("Stat: " + path2); + if (file instanceof import_obsidian6.TFile) { + this.maybeLog("Reuse stat"); + return { + ctimeMs: file.stat.ctime, + mtimeMs: file.stat.mtime, + size: file.stat.size, + type: "file", + isFile: () => true, + isDirectory: () => false, + isSymbolicLink: () => false + }; + } else { + const stat = await this.adapter.stat(path2); + if (stat) { + return { + ctimeMs: stat.ctime, + mtimeMs: stat.mtime, + size: stat.size, + type: stat.type === "folder" ? "directory" : stat.type, + isFile: () => stat.type === "file", + isDirectory: () => stat.type === "folder", + isSymbolicLink: () => false + }; + } else { + throw { code: "ENOENT" }; + } + } + } + async unlink(path2) { + return this.adapter.remove(path2); + } + async lstat(path2) { + return this.stat(path2); + } + async readlink(path2) { + throw new Error(`readlink of (${path2}) is not implemented.`); + } + async symlink(path2) { + throw new Error(`symlink of (${path2}) is not implemented.`); + } + async saveAndClear() { + if (this.index !== void 0) { + await this.adapter.writeBinary( + this.plugin.gitManager.getVaultPath(this.gitDir + "/index"), + this.index, + { + ctime: this.indexctime, + mtime: this.indexmtime + } + ); + } + this.clearIndex(); + } + clearIndex() { + this.index = void 0; + this.indexctime = void 0; + this.indexmtime = void 0; + } + get gitDir() { + return this.plugin.settings.gitDir || ".git"; + } + maybeLog(text2) { + } +}; + +// src/gitManager/isomorphicGit.ts +var IsomorphicGit = class extends GitManager { + constructor(plugin) { + super(plugin); + this.FILE = 0; + this.HEAD = 1; + this.WORKDIR = 2; + this.STAGE = 3; + // Mapping from statusMatrix to git status codes based off git status --short + // See: https://isomorphic-git.org/docs/en/statusMatrix + this.status_mapping = { + "000": " ", + "003": "AD", + "020": "??", + "022": "A ", + "023": "AM", + "100": "D ", + "101": " D", + "103": "MD", + "110": "DA", + // Technically, two files: first one is deleted "D " and second one is untracked "??" + "111": " ", + "120": "DA", + // Same as "110" + "121": " M", + "122": "M ", + "123": "MM" + }; + this.noticeLength = 999999; + this.fs = new MyAdapter(this.app.vault, this.plugin); + } + getRepo() { + return { + fs: this.fs, + dir: this.plugin.settings.basePath, + gitdir: this.plugin.settings.gitDir || void 0, + onAuth: () => { + var _a2, _b; + return { + username: (_a2 = this.plugin.localStorage.getUsername()) != null ? _a2 : void 0, + password: (_b = this.plugin.localStorage.getPassword()) != null ? _b : void 0 + }; + }, + onAuthFailure: async () => { + new import_obsidian7.Notice( + "Authentication failed. Please try with different credentials" + ); + const username = await new GeneralModal({ + placeholder: "Specify your username" + }).open(); + if (username) { + const password = await new GeneralModal({ + placeholder: "Specify your password/personal access token" + }).open(); + if (password) { + this.plugin.localStorage.setUsername(username); + this.plugin.localStorage.setPassword(password); + return { + username, + password + }; + } + } + return { cancel: true }; + }, + http: { + async request({ + url, + method: method2, + headers, + body + }) { + if (body) { + body = await collect2(body); + body = body.buffer; + } + const res = await (0, import_obsidian7.requestUrl)({ + url, + method: method2, + headers, + body, + throw: false + }); + return { + url, + method: method2, + headers: res.headers, + body: [new Uint8Array(res.arrayBuffer)], + statusCode: res.status, + statusMessage: res.status.toString() + }; + } + } + }; + } + async wrapFS(call) { + try { + const res = await call; + await this.fs.saveAndClear(); + return res; + } catch (error) { + await this.fs.saveAndClear(); + throw error; + } + } + async status() { + let notice; + const timeout = window.setTimeout(function() { + notice = new import_obsidian7.Notice( + "This takes longer: Getting status", + this.noticeLength + ); + }, 2e4); + try { + this.plugin.setState(1 /* status */); + const status2 = (await this.wrapFS(isomorphic_git_default.statusMatrix({ ...this.getRepo() }))).map((row) => this.getFileStatusResult(row)); + const changed = status2.filter( + (fileStatus) => fileStatus.working_dir !== " " + ); + const staged = status2.filter( + (fileStatus) => fileStatus.index !== " " && fileStatus.index !== "U" + ); + const conflicted = []; + window.clearTimeout(timeout); + notice == null ? void 0 : notice.hide(); + return { changed, staged, conflicted }; + } catch (error) { + window.clearTimeout(timeout); + notice == null ? void 0 : notice.hide(); + this.plugin.displayError(error); + throw error; + } + } + async commitAll({ + message, + status: status2, + unstagedFiles + }) { + try { + await this.checkAuthorInfo(); + await this.stageAll({ status: status2, unstagedFiles }); + return this.commit(message); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async commit(message) { + try { + await this.checkAuthorInfo(); + this.plugin.setState(4 /* commit */); + const formatMessage = await this.formatCommitMessage(message); + const hadConflict = this.plugin.localStorage.getConflict() === "true"; + let parent = void 0; + if (hadConflict) { + const branchInfo = await this.branchInfo(); + parent = [branchInfo.current, branchInfo.tracking]; + } + await this.wrapFS( + isomorphic_git_default.commit({ + ...this.getRepo(), + message: formatMessage, + parent + }) + ); + this.plugin.localStorage.setConflict("false"); + return; + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async stage(filepath, relativeToVault) { + const gitPath = this.asRepositoryRelativePath( + filepath, + relativeToVault + ); + let vaultPath; + if (relativeToVault) { + vaultPath = filepath; + } else { + vaultPath = this.getVaultPath(filepath); + } + try { + this.plugin.setState(3 /* add */); + if (await this.app.vault.adapter.exists(vaultPath)) { + await this.wrapFS( + isomorphic_git_default.add({ ...this.getRepo(), filepath: gitPath }) + ); + } else { + await this.wrapFS( + isomorphic_git_default.remove({ ...this.getRepo(), filepath: gitPath }) + ); + } + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async stageAll({ + dir, + status: status2, + unstagedFiles + }) { + try { + if (status2) { + await Promise.all( + status2.changed.map( + (file) => file.working_dir !== "D" ? this.wrapFS( + isomorphic_git_default.add({ + ...this.getRepo(), + filepath: file.path + }) + ) : isomorphic_git_default.remove({ + ...this.getRepo(), + filepath: file.path + }) + ) + ); + } else { + const filesToStage = unstagedFiles != null ? unstagedFiles : await this.getUnstagedFiles(dir != null ? dir : "."); + await Promise.all( + filesToStage.map( + ({ filepath, deleted }) => deleted ? isomorphic_git_default.remove({ ...this.getRepo(), filepath }) : this.wrapFS( + isomorphic_git_default.add({ ...this.getRepo(), filepath }) + ) + ) + ); + } + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async unstage(filepath, relativeToVault) { + try { + this.plugin.setState(3 /* add */); + filepath = this.asRepositoryRelativePath(filepath, relativeToVault); + await this.wrapFS( + isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async unstageAll({ + dir, + status: status2 + }) { + try { + let staged; + if (status2) { + staged = status2.staged.map((file) => file.path); + } else { + const res = await this.getStagedFiles(dir != null ? dir : "."); + staged = res.map(({ filepath }) => filepath); + } + await this.wrapFS( + Promise.all( + staged.map( + (file) => isomorphic_git_default.resetIndex({ ...this.getRepo(), filepath: file }) + ) + ) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async discard(filepath) { + try { + this.plugin.setState(3 /* add */); + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + filepaths: [filepath], + force: true + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async discardAll({ + dir, + status: status2 + }) { + let files = []; + if (status2) { + if (dir != void 0) { + files = status2.changed.filter((file) => file.path.startsWith(dir)).map((file) => file.path); + } else { + files = status2.changed.map((file) => file.path); + } + } else { + files = (await this.getUnstagedFiles(dir)).map( + ({ filepath }) => filepath + ); + } + try { + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + filepaths: files, + force: true + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + getProgressText(action, event) { + let out = `${action} progress:`; + if (event.phase) { + out = `${out} ${event.phase}:`; + } + if (event.loaded) { + out = `${out} ${event.loaded}`; + if (event.total) { + out = `${out} of ${event.total}`; + } + } + return out; + } + resolveRef(ref) { + return this.wrapFS(isomorphic_git_default.resolveRef({ ...this.getRepo(), ref })); + } + async pull() { + const progressNotice = this.showNotice("Initializing pull"); + try { + this.plugin.setState(2 /* pull */); + const localCommit = await this.resolveRef("HEAD"); + await this.fetch(); + const branchInfo = await this.branchInfo(); + await this.checkAuthorInfo(); + const mergeRes = await this.wrapFS( + isomorphic_git_default.merge({ + ...this.getRepo(), + ours: branchInfo.current, + theirs: branchInfo.tracking, + abortOnConflict: false + }) + ); + if (!mergeRes.alreadyMerged) { + await this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + ref: branchInfo.current, + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Checkout", progress); + } + }, + remote: branchInfo.remote + }) + ); + } + progressNotice == null ? void 0 : progressNotice.hide(); + const upstreamCommit = await this.resolveRef("HEAD"); + const changedFiles = await this.getFileChangesCount( + localCommit, + upstreamCommit + ); + this.showNotice("Finished pull", false); + return changedFiles.map((file) => ({ + path: file.path, + working_dir: "P", + index: "P", + vault_path: this.getVaultPath(file.path) + })); + } catch (error) { + progressNotice == null ? void 0 : progressNotice.hide(); + if (error instanceof Errors.MergeConflictError) { + this.plugin.handleConflict( + error.data.filepaths.map((file) => this.getVaultPath(file)) + ); + } + this.plugin.displayError(error); + throw error; + } + } + async push() { + if (!await this.canPush()) { + return 0; + } + const progressNotice = this.showNotice("Initializing push"); + try { + this.plugin.setState(1 /* status */); + const status2 = await this.branchInfo(); + const trackingBranch = status2.tracking; + const currentBranch2 = status2.current; + const numChangedFiles = (await this.getFileChangesCount(currentBranch2, trackingBranch)).length; + this.plugin.setState(5 /* push */); + await this.wrapFS( + isomorphic_git_default.push({ + ...this.getRepo(), + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Pushing", progress); + } + } + }) + ); + progressNotice == null ? void 0 : progressNotice.hide(); + return numChangedFiles; + } catch (error) { + progressNotice == null ? void 0 : progressNotice.hide(); + this.plugin.displayError(error); + throw error; + } + } + async getUnpushedCommits() { + const status2 = await this.branchInfo(); + const trackingBranch = status2.tracking; + const currentBranch2 = status2.current; + if (trackingBranch == null || currentBranch2 == null) { + return 0; + } + const localCommit = await this.resolveRef(currentBranch2); + const upstreamCommit = await this.resolveRef(trackingBranch); + const changedFiles = await this.getFileChangesCount( + localCommit, + upstreamCommit + ); + return changedFiles.length; + } + async canPush() { + const status2 = await this.branchInfo(); + const trackingBranch = status2.tracking; + const currentBranch2 = status2.current; + const current = await this.resolveRef(currentBranch2); + const tracking = await this.resolveRef(trackingBranch); + return current != tracking; + } + async checkRequirements() { + const headExists = await this.plugin.app.vault.adapter.exists( + `${this.getRepo().dir}/.git/HEAD` + ); + return headExists ? "valid" : "missing-repo"; + } + async branchInfo() { + var _a2, _b; + try { + const current = await isomorphic_git_default.currentBranch(this.getRepo()) || ""; + const branches = await isomorphic_git_default.listBranches(this.getRepo()); + const remote = (_a2 = await this.getConfig(`branch.${current}.remote`)) != null ? _a2 : "origin"; + const trackingBranch = (_b = await this.getConfig(`branch.${current}.merge`)) == null ? void 0 : _b.split("refs/heads")[1]; + const tracking = trackingBranch ? remote + trackingBranch : void 0; + return { + current, + tracking, + branches, + remote + }; + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async getCurrentRemote() { + var _a2; + const current = await isomorphic_git_default.currentBranch(this.getRepo()) || ""; + const remote = (_a2 = await this.getConfig(`branch.${current}.remote`)) != null ? _a2 : "origin"; + return remote; + } + async checkout(branch2, remote) { + try { + return this.wrapFS( + isomorphic_git_default.checkout({ + ...this.getRepo(), + ref: branch2, + force: !!remote, + remote + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async createBranch(branch2) { + try { + await this.wrapFS( + isomorphic_git_default.branch({ ...this.getRepo(), ref: branch2, checkout: true }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async deleteBranch(branch2) { + try { + await this.wrapFS( + isomorphic_git_default.deleteBranch({ ...this.getRepo(), ref: branch2 }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async branchIsMerged(branch2) { + return true; + } + async init() { + try { + await this.wrapFS(isomorphic_git_default.init(this.getRepo())); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async clone(url, dir, depth) { + const progressNotice = this.showNotice("Initializing clone"); + try { + await this.wrapFS( + isomorphic_git_default.clone({ + ...this.getRepo(), + dir, + url, + depth, + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Cloning", progress); + } + } + }) + ); + progressNotice == null ? void 0 : progressNotice.hide(); + } catch (error) { + progressNotice == null ? void 0 : progressNotice.hide(); + this.plugin.displayError(error); + throw error; + } + } + async setConfig(path2, value) { + try { + return this.wrapFS( + isomorphic_git_default.setConfig({ + ...this.getRepo(), + path: path2, + value + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async getConfig(path2) { + try { + return this.wrapFS( + isomorphic_git_default.getConfig({ + ...this.getRepo(), + path: path2 + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async fetch(remote) { + const progressNotice = this.showNotice("Initializing fetch"); + try { + const args = { + ...this.getRepo(), + onProgress: (progress) => { + if (progressNotice !== void 0) { + progressNotice.noticeEl.innerText = this.getProgressText("Fetching", progress); + } + }, + remote: remote != null ? remote : await this.getCurrentRemote() + }; + await this.wrapFS(isomorphic_git_default.fetch(args)); + progressNotice == null ? void 0 : progressNotice.hide(); + } catch (error) { + this.plugin.displayError(error); + progressNotice == null ? void 0 : progressNotice.hide(); + throw error; + } + } + async setRemote(name, url) { + try { + await this.wrapFS( + isomorphic_git_default.addRemote({ + ...this.getRepo(), + remote: name, + url, + force: true + }) + ); + } catch (error) { + this.plugin.displayError(error); + throw error; + } + } + async getRemoteBranches(remote) { + let remoteBranches = []; + remoteBranches.push( + ...await this.wrapFS( + isomorphic_git_default.listBranches({ ...this.getRepo(), remote }) + ) + ); + remoteBranches.remove("HEAD"); + remoteBranches = remoteBranches.map((e) => `${remote}/${e}`); + return remoteBranches; + } + async getRemotes() { + return (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).map( + (remoteUrl) => remoteUrl.remote + ); + } + async removeRemote(remoteName) { + await this.wrapFS( + isomorphic_git_default.deleteRemote({ ...this.getRepo(), remote: remoteName }) + ); + } + async getRemoteUrl(remote) { + var _a2; + return (_a2 = (await this.wrapFS(isomorphic_git_default.listRemotes({ ...this.getRepo() }))).filter((item) => item.remote == remote)[0]) == null ? void 0 : _a2.url; + } + async log(_, __ = true, limit) { + const logs = await this.wrapFS( + isomorphic_git_default.log({ ...this.getRepo(), depth: limit }) + ); + return Promise.all( + logs.map(async (log2) => { + const completeMessage = log2.commit.message.split("\n\n"); + return { + message: completeMessage[0], + body: completeMessage.slice(1).join("\n\n"), + date: new Date( + log2.commit.committer.timestamp + ).toDateString(), + diff: { + changed: 0, + files: (await this.getFileChangesCount( + log2.commit.parent.first(), + log2.oid + )).map((item) => { + return { + path: item.path, + status: item.type, + vault_path: this.getVaultPath(item.path), + hash: log2.oid, + binary: void 0 + }; + }) + }, + hash: log2.oid, + refs: [] + }; + }) + ); + } + updateBasePath(basePath) { + this.getRepo().dir = basePath; + } + async updateUpstreamBranch(remoteBranch) { + const [remote, branch2] = splitRemoteBranch(remoteBranch); + const branchInfo = await this.branchInfo(); + await this.setConfig( + `branch.${branchInfo.current}.merge`, + `refs/heads/${branch2}` + ); + await this.setConfig(`branch.${branch2}.remote`, remote); + } + updateGitPath(gitPath) { + return; + } + async getFileChangesCount(commitHash1, commitHash2) { + return this.walkDifference({ + walkers: [ + isomorphic_git_default.TREE({ ref: commitHash1 }), + isomorphic_git_default.TREE({ ref: commitHash2 }) + ] + }); + } + async walkDifference({ + walkers, + dir: base + }) { + const res = await this.wrapFS( + isomorphic_git_default.walk({ + ...this.getRepo(), + trees: walkers, + map: async function(filepath, [A, B]) { + if (!worthWalking2(filepath, base)) { + return null; + } + if (await (A == null ? void 0 : A.type()) === "tree" || await (B == null ? void 0 : B.type()) === "tree") { + return; + } + const Aoid = await (A == null ? void 0 : A.oid()); + const Boid = await (B == null ? void 0 : B.oid()); + let type = "equal"; + if (Aoid !== Boid) { + type = "M"; + } + if (Aoid === void 0) { + type = "A"; + } + if (Boid === void 0) { + type = "D"; + } + if (Aoid === void 0 && Boid === void 0) { + console.log("Something weird happened:"); + console.log(A); + console.log(B); + } + if (type === "equal") { + return; + } + return { + path: filepath, + type + }; + } + }) + ); + return res; + } + async getStagedFiles(dir = ".") { + const res = await this.walkDifference({ + walkers: [isomorphic_git_default.TREE({ ref: "HEAD" }), isomorphic_git_default.STAGE()], + dir + }); + return res.map((file) => { + return { + vault_path: this.getVaultPath(file.path), + filepath: file.path + }; + }); + } + async getUnstagedFiles(base = ".") { + let notice; + const timeout = window.setTimeout(function() { + notice = new import_obsidian7.Notice( + "This takes longer: Getting status", + this.noticeLength + ); + }, 2e4); + try { + const repo = this.getRepo(); + const res = await this.wrapFS( + //Modified from `git.statusMatrix` + isomorphic_git_default.walk({ + ...repo, + trees: [isomorphic_git_default.WORKDIR(), isomorphic_git_default.STAGE()], + map: async function(filepath, [workdir, stage]) { + if (!stage && workdir) { + const isIgnored2 = await isomorphic_git_default.isIgnored({ + ...repo, + filepath + }); + if (isIgnored2) { + return null; + } + } + if (!worthWalking2(filepath, base)) { + return null; + } + const [workdirType, stageType] = await Promise.all([ + workdir && workdir.type(), + stage && stage.type() + ]); + const isBlob = [workdirType, stageType].includes( + "blob" + ); + if ((workdirType === "tree" || workdirType === "special") && !isBlob) + return; + if (stageType === "commit") + return null; + if ((stageType === "tree" || stageType === "special") && !isBlob) + return; + const stageOid = stageType === "blob" ? await stage.oid() : void 0; + let workdirOid; + if (workdirType === "blob" && stageType !== "blob") { + workdirOid = "42"; + } else if (workdirType === "blob") { + workdirOid = await workdir.oid(); + } + if (!workdirOid) { + return { + filepath, + deleted: true + }; + } + if (workdirOid !== stageOid) { + return { + filepath, + deleted: false + }; + } + return null; + } + }) + ); + window.clearTimeout(timeout); + notice == null ? void 0 : notice.hide(); + return res; + } catch (error) { + window.clearTimeout(timeout); + notice == null ? void 0 : notice.hide(); + this.plugin.displayError(error); + throw error; + } + } + async getDiffString(filePath, stagedChanges = false, hash2) { + const vaultPath = this.getVaultPath(filePath); + const map = async (file, [A]) => { + if (filePath == file) { + const oid = await A.oid(); + const contents = await isomorphic_git_default.readBlob({ + ...this.getRepo(), + oid + }); + return contents.blob; + } + }; + if (hash2) { + const commitContent = await readBlob({ + ...this.getRepo(), + filepath: filePath, + oid: hash2 + }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const commit2 = await isomorphic_git_default.readCommit({ + ...this.getRepo(), + oid: hash2 + }); + const previousContent = await readBlob({ + ...this.getRepo(), + filepath: filePath, + oid: commit2.commit.parent.first() + }).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const diff2 = createPatch( + vaultPath, + previousContent != null ? previousContent : "", + commitContent != null ? commitContent : "" + ); + return diff2; + } + const stagedBlob = (await isomorphic_git_default.walk({ + ...this.getRepo(), + trees: [isomorphic_git_default.STAGE()], + map + })).first(); + const stagedContent = new TextDecoder().decode(stagedBlob); + if (stagedChanges) { + const headContent = await this.resolveRef("HEAD").then( + (oid) => readBlob({ + ...this.getRepo(), + filepath: filePath, + oid + }) + ).then((headBlob) => new TextDecoder().decode(headBlob.blob)).catch((err) => { + if (err instanceof isomorphic_git_default.Errors.NotFoundError) + return void 0; + throw err; + }); + const diff2 = createPatch( + vaultPath, + headContent != null ? headContent : "", + stagedContent + ); + return diff2; + } else { + let workdirContent; + if (await app.vault.adapter.exists(vaultPath)) { + workdirContent = await app.vault.adapter.read(vaultPath); + } else { + workdirContent = ""; + } + const diff2 = createPatch(vaultPath, stagedContent, workdirContent); + return diff2; + } + } + async getLastCommitTime() { + const repo = this.getRepo(); + const oid = await this.resolveRef("HEAD"); + const commit2 = await isomorphic_git_default.readCommit({ ...repo, oid }); + const date = commit2.commit.committer.timestamp; + return new Date(date * 1e3); + } + getFileStatusResult(row) { + const status2 = this.status_mapping[`${row[this.HEAD]}${row[this.WORKDIR]}${row[this.STAGE]}`]; + return { + index: status2[0] == "?" ? "U" : status2[0], + working_dir: status2[1] == "?" ? "U" : status2[1], + path: row[this.FILE], + vault_path: this.getVaultPath(row[this.FILE]) + }; + } + async checkAuthorInfo() { + const name = await this.getConfig("user.name"); + const email = await this.getConfig("user.email"); + if (!name || !email) { + throw "Git author information is not set. Please set it in the settings."; + } + } + showNotice(message, infinity = true) { + if (!this.plugin.settings.disablePopups) { + return new import_obsidian7.Notice( + message, + infinity ? this.noticeLength : void 0 + ); + } + } +}; +function fromValue2(value) { + let queue = [value]; + return { + next() { + return Promise.resolve({ + done: queue.length === 0, + value: queue.pop() + }); + }, + return() { + queue = []; + return {}; + }, + [Symbol.asyncIterator]() { + return this; + } + }; +} +function getIterator2(iterable) { + if (iterable[Symbol.asyncIterator]) { + return iterable[Symbol.asyncIterator](); + } + if (iterable[Symbol.iterator]) { + return iterable[Symbol.iterator](); + } + if (iterable.next) { + return iterable; + } + return fromValue2(iterable); +} +async function forAwait2(iterable, cb) { + const iter = getIterator2(iterable); + while (true) { + const { value, done } = await iter.next(); + if (value) + await cb(value); + if (done) + break; + } + if (iter.return) + iter.return(); +} +async function collect2(iterable) { + let size = 0; + const buffers = []; + await forAwait2(iterable, (value) => { + buffers.push(value); + size += value.byteLength; + }); + const result = new Uint8Array(size); + let nextIndex = 0; + for (const buffer2 of buffers) { + result.set(buffer2, nextIndex); + nextIndex += buffer2.byteLength; + } + return result; +} + +// src/setting/settings.ts +var FORMAT_STRING_REFERENCE_URL = "https://momentjs.com/docs/#/parsing/string-format/"; +var LINE_AUTHOR_FEATURE_WIKI_LINK = "https://publish.obsidian.md/git-doc/Line+Authoring"; +var ObsidianGitSettingsTab = class extends import_obsidian8.PluginSettingTab { + constructor() { + super(...arguments); + this.lineAuthorColorSettings = /* @__PURE__ */ new Map(); + } + // narrow type from PluginSettingTab.plugin + get settings() { + return this.plugin.settings; + } display() { const { containerEl } = this; const plugin = this.plugin; @@ -27207,7 +32048,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { if (gitReady) { containerEl.createEl("br"); containerEl.createEl("h3", { text: "Automatic" }); - new import_obsidian7.Setting(containerEl).setName("Split automatic commit and push").setDesc("Enable to use separate timer for commit and push").addToggle( + new import_obsidian8.Setting(containerEl).setName("Split automatic commit and push").setDesc("Enable to use separate timer for commit and push").addToggle( (toggle) => toggle.setValue( plugin.settings.differentIntervalCommitAndPush ).onChange((value) => { @@ -27228,7 +32069,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { this.display(); }) ); - new import_obsidian7.Setting(containerEl).setName(`Vault ${commitOrBackup} interval (minutes)`).setDesc( + new import_obsidian8.Setting(containerEl).setName(`Vault ${commitOrBackup} interval (minutes)`).setDesc( `${plugin.settings.differentIntervalCommitAndPush ? "Commit" : "Commit and push"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)` ).addText( (text2) => text2.setValue(String(plugin.settings.autoSaveInterval)).onChange((value) => { @@ -27240,21 +32081,21 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.startAutoBackup( plugin.settings.autoSaveInterval ); - new import_obsidian7.Notice( + new import_obsidian8.Notice( `Automatic ${commitOrBackup} enabled! Every ${plugin.settings.autoSaveInterval} minutes.` ); } else if (plugin.settings.autoSaveInterval <= 0) { - plugin.clearAutoBackup() && new import_obsidian7.Notice( + plugin.clearAutoBackup() && new import_obsidian8.Notice( `Automatic ${commitOrBackup} disabled!` ); } } else { - new import_obsidian7.Notice("Please specify a valid number."); + new import_obsidian8.Notice("Please specify a valid number."); } }) ); if (!plugin.settings.setLastSaveToLastCommit) - new import_obsidian7.Setting(containerEl).setName(`Auto Backup after file change`).setDesc( + new import_obsidian8.Setting(containerEl).setName(`Auto Backup after file change`).setDesc( `If turned on, do auto ${commitOrBackup} every ${plugin.settings.autoSaveInterval} minutes after last change. This also prevents auto ${commitOrBackup} while editing a file. If turned off, it's independent from the last change.` ).addToggle( (toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { @@ -27270,7 +32111,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }) ); if (!plugin.settings.autoBackupAfterFileChange) - new import_obsidian7.Setting(containerEl).setName(`Auto ${commitOrBackup} after latest commit`).setDesc( + new import_obsidian8.Setting(containerEl).setName(`Auto ${commitOrBackup} after latest commit`).setDesc( `If turned on, set last auto ${commitOrBackup} time to latest commit` ).addToggle( (toggle) => toggle.setValue(plugin.settings.setLastSaveToLastCommit).onChange(async (value) => { @@ -27282,7 +32123,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }) ); if (plugin.settings.differentIntervalCommitAndPush) { - new import_obsidian7.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc( + new import_obsidian8.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc( "Push changes every X minutes. Set to 0 (default) to disable." ).addText( (text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { @@ -27294,23 +32135,23 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.startAutoPush( plugin.settings.autoPushInterval ); - new import_obsidian7.Notice( + new import_obsidian8.Notice( `Automatic push enabled! Every ${plugin.settings.autoPushInterval} minutes.` ); } else if (plugin.settings.autoPushInterval <= 0) { - plugin.clearAutoPush() && new import_obsidian7.Notice( + plugin.clearAutoPush() && new import_obsidian8.Notice( "Automatic push disabled!" ); } } else { - new import_obsidian7.Notice( + new import_obsidian8.Notice( "Please specify a valid number." ); } }) ); } - new import_obsidian7.Setting(containerEl).setName("Auto pull interval (minutes)").setDesc( + new import_obsidian8.Setting(containerEl).setName("Auto pull interval (minutes)").setDesc( "Pull changes every X minutes. Set to 0 (default) to disable." ).addText( (text2) => text2.setValue(String(plugin.settings.autoPullInterval)).onChange((value) => { @@ -27322,24 +32163,24 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.startAutoPull( plugin.settings.autoPullInterval ); - new import_obsidian7.Notice( + new import_obsidian8.Notice( `Automatic pull enabled! Every ${plugin.settings.autoPullInterval} minutes.` ); } else if (plugin.settings.autoPullInterval <= 0) { - plugin.clearAutoPull() && new import_obsidian7.Notice("Automatic pull disabled!"); + plugin.clearAutoPull() && new import_obsidian8.Notice("Automatic pull disabled!"); } } else { - new import_obsidian7.Notice("Please specify a valid number."); + new import_obsidian8.Notice("Please specify a valid number."); } }) ); - new import_obsidian7.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle( + new import_obsidian8.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle( (toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { plugin.settings.customMessageOnAutoBackup = value; plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Commit message on auto backup/commit").setDesc( + new import_obsidian8.Setting(containerEl).setName("Commit message on auto backup/commit").setDesc( "Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)" ).addText( (text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.autoCommitMessage).onChange((value) => { @@ -27349,7 +32190,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { ); containerEl.createEl("br"); containerEl.createEl("h3", { text: "Commit message" }); - new import_obsidian7.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc( + new import_obsidian8.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc( "Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)" ).addText( (text2) => text2.setPlaceholder("vault backup: {{date}}").setValue( @@ -27359,15 +32200,15 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("{{date}} placeholder format").setDesc( - 'Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"' + new import_obsidian8.Setting(containerEl).setName("{{date}} placeholder format").setDesc( + `Specify custom date format. E.g. "${DATE_TIME_FORMAT_SECONDS}"` ).addText( (text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange(async (value) => { plugin.settings.commitDateFormat = value; await plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText( + new import_obsidian8.Setting(containerEl).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText( (text2) => { var _a2; return text2.setValue((_a2 = plugin.localStorage.getHostname()) != null ? _a2 : "").onChange(async (value) => { @@ -27375,15 +32216,15 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); } ); - new import_obsidian7.Setting(containerEl).setName("Preview commit message").addButton( + new import_obsidian8.Setting(containerEl).setName("Preview commit message").addButton( (button) => button.setButtonText("Preview").onClick(async () => { const commitMessagePreview = await plugin.gitManager.formatCommitMessage( plugin.settings.commitMessage ); - new import_obsidian7.Notice(`${commitMessagePreview}`); + new import_obsidian8.Notice(`${commitMessagePreview}`); }) ); - new import_obsidian7.Setting(containerEl).setName("List filenames affected by commit in the commit body").addToggle( + new import_obsidian8.Setting(containerEl).setName("List filenames affected by commit in the commit body").addToggle( (toggle) => toggle.setValue(plugin.settings.listChangedFilesInMessageBody).onChange((value) => { plugin.settings.listChangedFilesInMessageBody = value; plugin.saveSettings(); @@ -27392,7 +32233,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { containerEl.createEl("br"); containerEl.createEl("h3", { text: "Backup" }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Sync Method").setDesc( + new import_obsidian8.Setting(containerEl).setName("Sync Method").setDesc( "Selects the method used for handling new changes found in your remote git repository." ).addDropdown((dropdown) => { const options = { @@ -27407,28 +32248,33 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }); }); - new import_obsidian7.Setting(containerEl).setName("Pull updates on startup").setDesc("Automatically pull updates when Obsidian starts").addToggle( + new import_obsidian8.Setting(containerEl).setName("Pull updates on startup").setDesc("Automatically pull updates when Obsidian starts").addToggle( (toggle) => toggle.setValue(plugin.settings.autoPullOnBoot).onChange((value) => { plugin.settings.autoPullOnBoot = value; plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Push on backup").setDesc("Disable to only commit changes").addToggle( + new import_obsidian8.Setting(containerEl).setName("Push on backup").setDesc("Disable to only commit changes").addToggle( (toggle) => toggle.setValue(!plugin.settings.disablePush).onChange((value) => { plugin.settings.disablePush = !value; plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Pull changes before push").setDesc("Commit -> pull -> push (Only if pushing is enabled)").addToggle( + new import_obsidian8.Setting(containerEl).setName("Pull changes before push").setDesc("Commit -> pull -> push (Only if pushing is enabled)").addToggle( (toggle) => toggle.setValue(plugin.settings.pullBeforePush).onChange((value) => { plugin.settings.pullBeforePush = value; plugin.saveSettings(); }) ); + if (plugin.gitManager instanceof SimpleGit) { + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Line author information" }); + this.addLineAuthorInfoSettings(); + } } containerEl.createEl("br"); containerEl.createEl("h3", { text: "Miscellaneous" }); - new import_obsidian7.Setting(containerEl).setName( + new import_obsidian8.Setting(containerEl).setName( "Automatically refresh Source Control View on file changes" ).setDesc( "On slower machines this may cause lags. If so, just disable this option" @@ -27438,7 +32284,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Source Control View refresh interval").setDesc( + new import_obsidian8.Setting(containerEl).setName("Source Control View refresh interval").setDesc( "Milliseconds to wait after file change before refreshing the Source Control View" ).addText( (toggle) => toggle.setValue( @@ -27452,7 +32298,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.setRefreshDebouncer(); }) ); - new import_obsidian7.Setting(containerEl).setName("Disable notifications").setDesc( + new import_obsidian8.Setting(containerEl).setName("Disable notifications").setDesc( "Disable notifications for git operations to minimize distraction (refer to status bar for updates). Errors are still shown as notifications even if you enable this setting" ).addToggle( (toggle) => toggle.setValue(plugin.settings.disablePopups).onChange((value) => { @@ -27460,7 +32306,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Show status bar").setDesc( + new import_obsidian8.Setting(containerEl).setName("Show status bar").setDesc( "Obsidian must be restarted for the changes to take affect" ).addToggle( (toggle) => toggle.setValue(plugin.settings.showStatusBar).onChange((value) => { @@ -27468,13 +32314,13 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Show stage/unstage button in file menu").addToggle( + new import_obsidian8.Setting(containerEl).setName("Show stage/unstage button in file menu").addToggle( (toggle) => toggle.setValue(plugin.settings.showFileMenu).onChange((value) => { plugin.settings.showFileMenu = value; plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Show branch status bar").setDesc( + new import_obsidian8.Setting(containerEl).setName("Show branch status bar").setDesc( "Obsidian must be restarted for the changes to take affect" ).addToggle( (toggle) => toggle.setValue(plugin.settings.showBranchStatusBar).onChange((value) => { @@ -27482,7 +32328,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }) ); - new import_obsidian7.Setting(containerEl).setName("Show changes files count in status bar").addToggle( + new import_obsidian8.Setting(containerEl).setName("Show changes files count in status bar").addToggle( (toggle) => toggle.setValue(plugin.settings.changedFilesInStatusBar).onChange((value) => { plugin.settings.changedFilesInStatusBar = value; plugin.saveSettings(); @@ -27497,7 +32343,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { containerEl.createEl("h3", { text: "Commit Author" }); } if (plugin.gitManager instanceof IsomorphicGit) - new import_obsidian7.Setting(containerEl).setName( + new import_obsidian8.Setting(containerEl).setName( "Username on your git server. E.g. your username on GitHub" ).addText((cb) => { var _a2; @@ -27507,7 +32353,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof IsomorphicGit) - new import_obsidian7.Setting(containerEl).setName("Password/Personal access token").setDesc( + new import_obsidian8.Setting(containerEl).setName("Password/Personal access token").setDesc( "Type in your password. You won't be able to see it again." ).addText((cb) => { cb.inputEl.autocapitalize = "off"; @@ -27517,8 +32363,8 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.localStorage.setPassword(value); }); }); - if (gitReady) - new import_obsidian7.Setting(containerEl).setName("Author name for commit").addText(async (cb) => { + if (plugin.gitReady) + new import_obsidian8.Setting(containerEl).setName("Author name for commit").addText(async (cb) => { cb.setValue(await plugin.gitManager.getConfig("user.name")); cb.onChange((value) => { plugin.gitManager.setConfig( @@ -27527,8 +32373,8 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { ); }); }); - if (gitReady) - new import_obsidian7.Setting(containerEl).setName("Author email for commit").addText(async (cb) => { + if (plugin.gitReady) + new import_obsidian8.Setting(containerEl).setName("Author email for commit").addText(async (cb) => { cb.setValue( await plugin.gitManager.getConfig("user.email") ); @@ -27542,7 +32388,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { containerEl.createEl("br"); containerEl.createEl("h3", { text: "Advanced" }); if (plugin.gitManager instanceof SimpleGit) { - new import_obsidian7.Setting(containerEl).setName("Update submodules").setDesc( + new import_obsidian8.Setting(containerEl).setName("Update submodules").setDesc( '"Create backup" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule' ).addToggle( (toggle) => toggle.setValue(plugin.settings.updateSubmodules).onChange((value) => { @@ -27551,7 +32397,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }) ); if (plugin.settings.updateSubmodules) { - new import_obsidian7.Setting(containerEl).setName("Submodule recurse checkout/switch").setDesc( + new import_obsidian8.Setting(containerEl).setName("Submodule recurse checkout/switch").setDesc( "Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist)." ).addToggle( (toggle) => toggle.setValue(plugin.settings.submoduleRecurseCheckout).onChange((value) => { @@ -27562,7 +32408,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { } } if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Custom Git binary path").addText((cb) => { + new import_obsidian8.Setting(containerEl).setName("Custom Git binary path").addText((cb) => { var _a2; cb.setValue((_a2 = plugin.localStorage.getGitPath()) != null ? _a2 : ""); cb.setPlaceholder("git"); @@ -27572,7 +32418,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Additional environment variables").setDesc( + new import_obsidian8.Setting(containerEl).setName("Additional environment variables").setDesc( "Use each line for a new environment variable in the format KEY=VALUE" ).addTextArea((cb) => { cb.setPlaceholder("GIT_DIR=/path/to/git/dir"); @@ -27582,14 +32428,14 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { }); }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea((cb) => { + new import_obsidian8.Setting(containerEl).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea((cb) => { cb.setValue(plugin.localStorage.getPATHPaths().join("\n")); cb.onChange((value) => { plugin.localStorage.setPATHPaths(value.split("\n")); }); }); if (plugin.gitManager instanceof SimpleGit) - new import_obsidian7.Setting(containerEl).setName("Reload with new environment variables").setDesc( + new import_obsidian8.Setting(containerEl).setName("Reload with new environment variables").setDesc( "Removing previously added environment variables will not take effect until Obsidian is restarted." ).addButton((cb) => { cb.setButtonText("Reload"); @@ -27598,7 +32444,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.gitManager.setGitInstance(); }); }); - new import_obsidian7.Setting(containerEl).setName("Custom base path (Git repository path)").setDesc( + new import_obsidian8.Setting(containerEl).setName("Custom base path (Git repository path)").setDesc( ` Sets the relative path to the vault from which the Git binary should be executed. Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. @@ -27612,7 +32458,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.gitManager.updateBasePath(value || ""); }); }); - new import_obsidian7.Setting(containerEl).setName("Custom Git directory path (Instead of '.git')").setDesc( + new import_obsidian8.Setting(containerEl).setName("Custom Git directory path (Instead of '.git')").setDesc( `Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.` ).addText((cb) => { cb.setValue(plugin.settings.gitDir); @@ -27622,7 +32468,7 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { plugin.saveSettings(); }); }); - new import_obsidian7.Setting(containerEl).setName("Disable on this device").addToggle( + new import_obsidian8.Setting(containerEl).setName("Disable on this device").addToggle( (toggle) => toggle.setValue(plugin.localStorage.getPluginDisabled()).onChange((value) => { plugin.localStorage.setPluginDisabled(value); if (value) { @@ -27630,12 +32476,12 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { } else { plugin.loadPlugin(); } - new import_obsidian7.Notice( + new import_obsidian8.Notice( "Obsidian must be restarted for the changes to take affect" ); }) ); - new import_obsidian7.Setting(containerEl).setName("Donate").setDesc( + new import_obsidian8.Setting(containerEl).setName("Donate").setDesc( "If you like this Plugin, consider donating to support continued development." ).addButton((bt) => { bt.buttonEl.outerHTML = "Buy Me a Coffee at ko-fi.com"; @@ -27648,17 +32494,1392 @@ var ObsidianGitSettingsTab = class extends import_obsidian7.PluginSettingTab { const keys = containerEl.createDiv(); keys.setAttr("align", "center"); keys.addClass("obsidian-git-shortcuts"); - if (import_obsidian7.Platform.isMacOS === true) { + if (import_obsidian8.Platform.isMacOS === true) { keys.createEl("kbd", { text: "CMD (\u2318) + OPTION (\u2325) + I" }); } else { keys.createEl("kbd", { text: "CTRL + SHIFT + I" }); } } + configureLineAuthorShowStatus(show) { + this.settings.lineAuthor.show = show; + this.plugin.saveSettings(); + if (show) + this.plugin.lineAuthoringFeature.activateFeature(); + else + this.plugin.lineAuthoringFeature.deactivateFeature(); + } + /** + * Persists the setting {@link key} with value {@link value} and + * refreshes the line author info views. + */ + lineAuthorSettingHandler(key2, value) { + this.settings.lineAuthor[key2] = value; + this.plugin.saveSettings(); + this.plugin.lineAuthoringFeature.refreshLineAuthorViews(); + } + /** + * Ensure, that certain last shown values are persisten in the settings. + * + * Necessary for the line author info gutter context menus. + */ + beforeSaveSettings() { + const laSettings = this.settings.lineAuthor; + if (laSettings.authorDisplay !== "hide") { + laSettings.lastShownAuthorDisplay = laSettings.authorDisplay; + } + if (laSettings.dateTimeFormatOptions !== "hide") { + laSettings.lastShownDateTimeFormatOptions = laSettings.dateTimeFormatOptions; + } + } + addLineAuthorInfoSettings() { + const baseLineAuthorInfoSetting = new import_obsidian8.Setting(this.containerEl).setName( + "Show commit authoring information next to each line" + ); + if (!this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform()) { + baseLineAuthorInfoSetting.setDesc("Only available on desktop currently.").setDisabled(true); + } + baseLineAuthorInfoSetting.descEl.innerHTML = ` + Feature guide and quick examples
      + The commit hash, author name and authoring date can all be individually toggled.
      Hide everything, to only show the age-colored sidebar.`; + baseLineAuthorInfoSetting.addToggle( + (toggle) => toggle.setValue(this.settings.lineAuthor.show).onChange((value) => { + this.configureLineAuthorShowStatus(value); + this.display(); + }) + ); + if (this.settings.lineAuthor.show) { + const trackMovement = new import_obsidian8.Setting(this.containerEl).setName("Follow movement and copies across files and commits").setDesc("").addDropdown((dropdown) => { + dropdown.addOptions({ + inactive: "Do not follow (default)", + "same-commit": "Follow within same commit", + "all-commits": "Follow within all commits (maybe slow)" + }); + dropdown.setValue(this.settings.lineAuthor.followMovement); + dropdown.onChange( + (value) => this.lineAuthorSettingHandler("followMovement", value) + ); + }); + trackMovement.descEl.innerHTML = ` + By default (deactivated), each line only shows the newest commit where it was changed. +
      + With same commit, cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown. +
      + With all commits, cut-copy-paste-ing text inbetween multiple commits will be detected. +
      + It uses git-blame and + for matches (at least ${GIT_LINE_AUTHORING_MOVEMENT_DETECTION_MINIMAL_LENGTH} characters) within the same (or all) commit(s), the originating commit's information is shown.`; + new import_obsidian8.Setting(this.containerEl).setName("Show commit hash").addToggle((tgl) => { + tgl.setValue(this.settings.lineAuthor.showCommitHash); + tgl.onChange( + async (value) => this.lineAuthorSettingHandler("showCommitHash", value) + ); + }); + new import_obsidian8.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown((dropdown) => { + const options = { + hide: "Hide", + initials: "Initials (default)", + "first name": "First name", + "last name": "Last name", + full: "Full name" + }; + dropdown.addOptions(options); + dropdown.setValue(this.settings.lineAuthor.authorDisplay); + dropdown.onChange( + async (value) => this.lineAuthorSettingHandler("authorDisplay", value) + ); + }); + new import_obsidian8.Setting(this.containerEl).setName("Authoring date display").setDesc( + "If and how the date and time of authoring the line is displayed" + ).addDropdown((dropdown) => { + const options = { + hide: "Hide", + date: "Date (default)", + datetime: "Date and time", + "natural language": "Natural language", + custom: "Custom" + }; + dropdown.addOptions(options); + dropdown.setValue( + this.settings.lineAuthor.dateTimeFormatOptions + ); + dropdown.onChange( + async (value) => { + this.lineAuthorSettingHandler( + "dateTimeFormatOptions", + value + ); + this.display(); + } + ); + }); + if (this.settings.lineAuthor.dateTimeFormatOptions === "custom") { + const dateTimeFormatCustomStringSetting = new import_obsidian8.Setting( + this.containerEl + ); + dateTimeFormatCustomStringSetting.setName("Custom authoring date format").addText((cb) => { + cb.setValue( + this.settings.lineAuthor.dateTimeFormatCustomString + ); + cb.setPlaceholder("YYYY-MM-DD HH:mm"); + cb.onChange((value) => { + this.lineAuthorSettingHandler( + "dateTimeFormatCustomString", + value + ); + dateTimeFormatCustomStringSetting.descEl.innerHTML = this.previewCustomDateTimeDescriptionHtml( + value + ); + }); + }); + dateTimeFormatCustomStringSetting.descEl.innerHTML = this.previewCustomDateTimeDescriptionHtml( + this.settings.lineAuthor.dateTimeFormatCustomString + ); + } + new import_obsidian8.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown((dropdown) => { + const options = { + "viewer-local": "My local (default)", + "author-local": "Author's local", + utc0000: "UTC+0000/Z" + }; + dropdown.addOptions(options); + dropdown.setValue( + this.settings.lineAuthor.dateTimeTimezone + ); + dropdown.onChange( + async (value) => this.lineAuthorSettingHandler("dateTimeTimezone", value) + ); + }).descEl.innerHTML = ` + The time-zone in which the authoring date should be shown. + Either your local time-zone (default), + the author's time-zone during commit creation or + UTC\xB100:00. + `; + const oldestAgeSetting = new import_obsidian8.Setting(this.containerEl).setName( + "Oldest age in coloring" + ); + oldestAgeSetting.descEl.innerHTML = this.previewOldestAgeDescriptionHtml( + this.settings.lineAuthor.coloringMaxAge + )[0]; + oldestAgeSetting.addText((text2) => { + text2.setPlaceholder("1y"); + text2.setValue(this.settings.lineAuthor.coloringMaxAge); + text2.onChange((value) => { + const [preview, valid] = this.previewOldestAgeDescriptionHtml(value); + oldestAgeSetting.descEl.innerHTML = preview; + if (valid) { + this.lineAuthorSettingHandler("coloringMaxAge", value); + this.refreshColorSettingsName("oldest"); + } + }); + }); + this.createColorSetting("newest"); + this.createColorSetting("oldest"); + new import_obsidian8.Setting(this.containerEl).setName("Text color").addText((field) => { + field.setValue(this.settings.lineAuthor.textColorCss); + field.onChange((value) => { + this.lineAuthorSettingHandler("textColorCss", value); + }); + }).descEl.innerHTML = ` + The CSS color of the gutter text.
      + + It is higly recommended to use + + CSS variables + defined by themes + (e.g.
      var(--text-muted)
      or +
      var(--text-on-accent)
      , + because they automatically adapt to theme changes.
      + + See: + List of available CSS variables in Obsidian + + `; + new import_obsidian8.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle((tgl) => { + tgl.setValue(this.settings.lineAuthor.ignoreWhitespace); + tgl.onChange( + (value) => this.lineAuthorSettingHandler("ignoreWhitespace", value) + ); + }).descEl.innerHTML = ` + Whitespace and newlines are interpreted as + part of the document and in changes + by default (hence not ignored). + This makes the last line being shown as 'changed' + when a new subsequent line is added, + even if the previously last line's text is the same. +
      + If you don't care about purely-whitespace changes + (e.g. list nesting / quote indentation changes), + then activating this will provide more meaningful change detection. + `; + } + } + createColorSetting(which) { + const setting = new import_obsidian8.Setting(this.containerEl).setName("").addText((text2) => { + const color = pickColor(which, this.settings.lineAuthor); + const defaultColor = pickColor( + which, + DEFAULT_SETTINGS.lineAuthor + ); + text2.setPlaceholder(rgbToString(defaultColor)); + text2.setValue(rgbToString(color)); + text2.onChange((colorNew) => { + const rgb = convertToRgb(colorNew); + if (rgb !== void 0) { + const key2 = which === "newest" ? "colorNew" : "colorOld"; + this.lineAuthorSettingHandler(key2, rgb); + } + this.refreshColorSettingsDesc(which, rgb); + }); + }); + this.lineAuthorColorSettings.set(which, setting); + this.refreshColorSettingsName(which); + this.refreshColorSettingsDesc( + which, + pickColor(which, this.settings.lineAuthor) + ); + } + refreshColorSettingsName(which) { + const settingsDom = this.lineAuthorColorSettings.get(which); + if (settingsDom) { + const whichDescriber = which === "oldest" ? `oldest (${this.settings.lineAuthor.coloringMaxAge} or older)` : "newest"; + settingsDom.nameEl.innerText = `Color for ${whichDescriber} commits`; + } + } + refreshColorSettingsDesc(which, rgb) { + const settingsDom = this.lineAuthorColorSettings.get(which); + if (settingsDom) { + settingsDom.descEl.innerHTML = this.colorSettingPreviewDescHtml( + which, + this.settings.lineAuthor, + rgb !== void 0 + ); + } + } + colorSettingPreviewDescHtml(which, laSettings, colorIsValid) { + const rgbStr = colorIsValid ? previewColor(which, laSettings) : `rgba(127,127,127,0.3)`; + const today = import_obsidian8.moment.unix(import_obsidian8.moment.now() / 1e3).format("YYYY-MM-DD"); + const text2 = colorIsValid ? `abcdef Author Name ${today}` : "invalid color"; + const preview = `
      ${text2}
      `; + return `Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and + named colors (e.g. 'black', 'purple'). Color preview: ${preview}`; + } + previewCustomDateTimeDescriptionHtml(dateTimeFormatCustomString) { + const formattedDateTime = (0, import_obsidian8.moment)().format(dateTimeFormatCustomString); + return `
      Format string to display the authoring date.
      Currently: ${formattedDateTime}`; + } + previewOldestAgeDescriptionHtml(coloringMaxAge) { + const duration = parseColoringMaxAgeDuration(coloringMaxAge); + const durationString = duration !== void 0 ? `${duration.asDays()} days` : "invalid!"; + return [ + `The oldest age in the line author coloring. Everything older will have the same color. +
      Smallest valid age is "1d". Currently: ${durationString}`, + duration + ]; + } +}; +function pickColor(which, las) { + return which === "oldest" ? las.colorOld : las.colorNew; +} +function parseColoringMaxAgeDuration(durationString) { + const duration = import_obsidian8.moment.duration("P" + durationString.toUpperCase()); + return duration.isValid() && duration.asDays() && duration.asDays() >= 1 ? duration : void 0; +} + +// src/lineAuthor/model.ts +function lineAuthoringId(head, objHash, path2) { + if (head === void 0 || objHash === void 0 || path2 === void 0) { + return void 0; + } + return `head${head}-obj${objHash}-path${path2}`; +} +var LineAuthoringContainerType = import_state.Annotation.define(); +function newComputationResultAsTransaction(key2, la, state) { + return state.update({ + annotations: LineAuthoringContainerType.of({ + key: key2, + la, + lineOffsetsFromUnsavedChanges: /* @__PURE__ */ new Map() + }) + }); +} +function getLineAuthorAnnotation(tr) { + return tr.annotation(LineAuthoringContainerType); +} +var lineAuthorState = import_state.StateField.define({ + create: (_state) => void 0, + /** + * The state can be updated from either an annotated transaction containing + * the newest line authoring (for the saved document) - or from + * unsaved changes of the document as the user is actively typing in the editor. + * + * In the first case, we take the new line authoring and discard anything we had remembered + * from unsaved changes. In the second case, we use the unsaved changes in {@link enrichUnsavedChanges} to pre-compute information to immediately update the + * line author gutter without needing to wait until the document is saved and the + * line authoring is properly computed. + */ + update: (previous, transaction) => { + var _a2; + return (_a2 = getLineAuthorAnnotation(transaction)) != null ? _a2 : enrichUnsavedChanges(transaction, previous); + }, + // compare cache keys. + // equality rate is >= 95% :) + // hence avoids recomputation of views + compare: (l, r) => (l == null ? void 0 : l.key) === (r == null ? void 0 : r.key) +}); +function laStateDigest(laState) { + var _a2; + const digest = import_js_sha256.sha256.create(); + if (!laState) + return digest; + const { la, key: key2, lineOffsetsFromUnsavedChanges } = laState; + digest.update(la === "untracked" ? "t" : "f"); + digest.update(key2); + for (const [k, v] of (_a2 = lineOffsetsFromUnsavedChanges.entries()) != null ? _a2 : []) + digest.update([k, v]); + return digest; +} +var latestSettings = { + get: void 0, + save: void 0 +}; +function provideSettingsAccess(settingsGetter, settingsSetter) { + latestSettings.get = settingsGetter; + latestSettings.save = settingsSetter; +} +function maxAgeInDaysFromSettings(settings) { + var _a2, _b; + return (_b = (_a2 = parseColoringMaxAgeDuration(settings.coloringMaxAge)) == null ? void 0 : _a2.asDays()) != null ? _b : parseColoringMaxAgeDuration( + DEFAULT_SETTINGS.lineAuthor.coloringMaxAge + ).asDays(); +} +function enrichUnsavedChanges(tr, prev) { + if (!prev) + return void 0; + if (!tr.changes.empty) { + tr.changes.iterChanges((fromA, toA, fromB, toB) => { + var _a2; + const oldDoc = tr.startState.doc; + const { newDoc } = tr; + const beforeFrom = oldDoc.lineAt(fromA).number; + const beforeTo = oldDoc.lineAt(toA).number; + const afterFrom = newDoc.lineAt(fromB).number; + const afterTo = newDoc.lineAt(toB).number; + const beforeLen = beforeTo - beforeFrom + 1; + const afterLen = afterTo - afterFrom + 1; + for (let afterI = afterFrom; afterI <= afterTo; afterI++) { + let offset = (_a2 = prev.lineOffsetsFromUnsavedChanges.get(afterI)) != null ? _a2 : 0; + const isLastLine = afterTo === afterI; + const changeInNumberOfLines = afterLen - beforeLen; + if (isLastLine) + offset += changeInNumberOfLines; + prev.lineOffsetsFromUnsavedChanges.set(afterI, offset); + } + }); + } + return prev; +} + +// src/lineAuthor/control.ts +var LineAuthoringSubscriber = class { + // remember path to detect and adapt to renames + constructor(state) { + this.state = state; + this.subscribeMe(); + } + async notifyLineAuthoring(id, la) { + if (this.view === void 0) { + console.warn( + `Obsidian Git: View is not defined for editor cache key. Unforeseen situation. id: ${id}` + ); + return; + } + const state = this.view.state; + const transaction = newComputationResultAsTransaction(id, la, state); + this.view.dispatch(transaction); + } + updateToNewState(state) { + const filepathChanged = this.lastSeenPath && this.filepath != this.lastSeenPath; + this.state = state; + if (filepathChanged) { + this.unsubscribeMe(this.lastSeenPath); + this.subscribeMe(); + } + return this; + } + removeIfStale() { + if (this.view.destroyed) { + this.unsubscribeMe(this.lastSeenPath); + } + } + subscribeMe() { + if (this.filepath === void 0) + return; + eventsPerFilePathSingleton.ifFilepathDefinedTransformSubscribers( + this.filepath, + (subs) => subs.add(this) + ); + this.lastSeenPath = this.filepath; + } + unsubscribeMe(oldFilepath) { + eventsPerFilePathSingleton.ifFilepathDefinedTransformSubscribers( + oldFilepath, + (subs) => subs.delete(this) + ); + } + get filepath() { + var _a2, _b; + return (_b = (_a2 = this.state.field(import_obsidian9.editorViewField)) == null ? void 0 : _a2.file) == null ? void 0 : _b.path; + } + get view() { + return this.state.field(import_obsidian9.editorEditorField); + } +}; +var subscribeNewEditor = import_state2.StateField.define({ + create: (state) => new LineAuthoringSubscriber(state), + update: (v, transaction) => v.updateToNewState(transaction.state), + compare: (a, b) => a === b +}); + +// src/lineAuthor/view/cache.ts +init_polyfill_buffer(); +function clearViewCache() { + longestRenderedGutter = void 0; + renderedAgeInDaysForAdaptiveInitialColoring = []; + ageIdx = 0; + gutterInstances.clear(); + gutterMarkersRangeSet.clear(); + attachedGutterElements.clear(); +} +var longestRenderedGutter = void 0; +var getLongestRenderedGutter = () => longestRenderedGutter; +function conditionallyUpdateLongestRenderedGutter(gutter2, text2) { + var _a2; + const length = text2.length; + if (length < ((_a2 = longestRenderedGutter == null ? void 0 : longestRenderedGutter.length) != null ? _a2 : 0)) + return; + longestRenderedGutter = { gutter: gutter2, length, text: text2 }; + const settings = latestSettings.get(); + if (length !== settings.gutterSpacingFallbackLength) { + settings.gutterSpacingFallbackLength = length; + latestSettings.save(settings); + } +} +var renderedAgeInDaysForAdaptiveInitialColoring = []; +var ADAPTIVE_INITIAL_COLORING_AGE_CACHE_SIZE = 15; +var ageIdx = 0; +function recordRenderedAgeInDays(age) { + renderedAgeInDaysForAdaptiveInitialColoring[ageIdx] = age; + ageIdx = (ageIdx + 1) % ADAPTIVE_INITIAL_COLORING_AGE_CACHE_SIZE; +} +function computeAdaptiveInitialColoringAgeInDays() { + return median(renderedAgeInDaysForAdaptiveInitialColoring); +} +var gutterInstances = /* @__PURE__ */ new Map(); +var gutterMarkersRangeSet = /* @__PURE__ */ new Map(); +var attachedGutterElements = /* @__PURE__ */ new Set(); + +// src/lineAuthor/view/view.ts +init_polyfill_buffer(); +var import_state3 = require("@codemirror/state"); +var import_view2 = require("@codemirror/view"); + +// src/lineAuthor/view/gutter/gutter.ts +init_polyfill_buffer(); +var import_view = require("@codemirror/view"); +var import_js_sha2562 = __toESM(require_sha256()); +var import_obsidian10 = require("obsidian"); + +// src/lineAuthor/view/contextMenu.ts +init_polyfill_buffer(); + +// src/lineAuthor/view/gutter/gutterElementSearch.ts +init_polyfill_buffer(); +var mouseXY = { x: -10, y: -10 }; +function prepareGutterSearchForContextMenuHandling() { + if (mouseXY.x === -10) { + window.addEventListener("mousedown", (e) => { + mouseXY.x = e.clientX; + mouseXY.y = e.clientY; + }); + } +} +function findGutterElementUnderMouse() { + for (const elt of attachedGutterElements) { + if (contains(elt, mouseXY)) + return elt; + } +} +function contains(elt, pt) { + const { x, y, width, height } = elt.getBoundingClientRect(); + return x <= pt.x && pt.x <= x + width && y <= pt.y && pt.y <= y + height; +} + +// src/pluginGlobalRef.ts +init_polyfill_buffer(); +var pluginRef = {}; + +// src/lineAuthor/view/contextMenu.ts +var COMMIT_ATTR = "data-commit"; +function handleContextMenu(menu, editor, _mdv) { + if (editor.hasFocus()) + return; + const gutterElement = findGutterElementUnderMouse(); + if (!gutterElement) + return; + const info = getCommitInfo(gutterElement); + if (!info) + return; + if (!info.isZeroCommit && !info.isWaitingGutter) { + addCopyHashMenuItem(info, menu); + } + addConfigurableLineAuthorSettings("showCommitHash", menu); + addConfigurableLineAuthorSettings("authorDisplay", menu); + addConfigurableLineAuthorSettings("dateTimeFormatOptions", menu); +} +function addCopyHashMenuItem(commit2, menu) { + menu.addItem( + (item) => item.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick((_e) => navigator.clipboard.writeText(commit2.hash)) + ); +} +function addConfigurableLineAuthorSettings(key2, menu) { + var _a2, _b; + let title; + let actionNewValue; + const settings = pluginRef.plugin.settings.lineAuthor; + const currentValue = settings[key2]; + const currentlyShown = typeof currentValue === "boolean" ? currentValue : currentValue !== "hide"; + const defaultValue = DEFAULT_SETTINGS.lineAuthor[key2]; + if (key2 === "showCommitHash") { + title = "Show commit hash"; + actionNewValue = !currentValue; + } else if (key2 === "authorDisplay") { + const showOption = (_a2 = settings.lastShownAuthorDisplay) != null ? _a2 : defaultValue; + title = "Show author " + (currentlyShown ? currentValue : showOption); + actionNewValue = currentlyShown ? "hide" : showOption; + } else if (key2 === "dateTimeFormatOptions") { + const showOption = (_b = settings.lastShownDateTimeFormatOptions) != null ? _b : defaultValue; + title = "Show " + (currentlyShown ? currentValue : showOption); + title += !title.contains("date") ? " date" : ""; + actionNewValue = currentlyShown ? "hide" : showOption; + } else { + impossibleBranch(key2); + } + menu.addItem( + (item) => item.setTitle(title).setSection("obs-git-line-author-configure").setChecked(currentlyShown).onClick( + (_e) => { + var _a3, _b2; + return (_b2 = (_a3 = pluginRef.plugin) == null ? void 0 : _a3.settingsTab) == null ? void 0 : _b2.lineAuthorSettingHandler( + key2, + actionNewValue + ); + } + ) + ); +} +function enrichCommitInfoForContextMenu(commit2, isWaitingGutter, elt) { + elt.setAttr( + COMMIT_ATTR, + JSON.stringify({ + hash: commit2.hash, + isZeroCommit: commit2.isZeroCommit, + isWaitingGutter + }) + ); +} +function getCommitInfo(elt) { + const commitInfoStr = elt.getAttr(COMMIT_ATTR); + return commitInfoStr ? JSON.parse(commitInfoStr) : void 0; +} + +// src/lineAuthor/view/gutter/coloring.ts +init_polyfill_buffer(); +function previewColor(which, settings) { + return which === "oldest" ? coloringBasedOnCommitAge(0, false, settings).color : coloringBasedOnCommitAge(void 0, true, settings).color; +} +function coloringBasedOnCommitAge(commitAuthorEpochSeonds, isZeroCommit, settings) { + const maxAgeInDays = maxAgeInDaysFromSettings(settings); + const epochSecondsNow = Date.now() / 1e3; + const authoringEpochSeconds = commitAuthorEpochSeonds != null ? commitAuthorEpochSeonds : 0; + const secondsSinceCommit = isZeroCommit ? 0 : epochSecondsNow - authoringEpochSeconds; + const daysSinceCommit = secondsSinceCommit / 60 / 60 / 24; + const x = Math.pow( + Math.clamp(daysSinceCommit / maxAgeInDays, 0, 1), + 1 / 2.3 + ); + const dark = isDarkMode(); + const color0 = settings.colorNew; + const color1 = settings.colorOld; + const scaling = dark ? 0.4 : 1; + const r = lin(color0.r, color1.r, x) * scaling; + const g = lin(color0.g, color1.g, x) * scaling; + const b = lin(color0.b, color1.b, x) * scaling; + const a = dark ? 0.75 : 0.25; + return { color: `rgba(${r},${g},${b},${a})`, daysSinceCommit }; +} +function lin(z0, z1, x) { + return z0 + (z1 - z0) * x; +} +function isDarkMode() { + const obsidian = window == null ? void 0 : window.app; + return (obsidian == null ? void 0 : obsidian.getTheme()) === "obsidian"; +} +function setTextColorCssBasedOnSetting(settings) { + document.body.style.setProperty( + "--obs-git-gutter-text", + settings.textColorCss + ); +} + +// src/lineAuthor/view/gutter/commitChoice.ts +init_polyfill_buffer(); +function chooseNewestCommit(lineAuthoring, startLine, endLine) { + let newest = void 0; + for (let line = startLine; line <= endLine; line++) { + const currentHash = lineAuthoring.hashPerLine[line]; + const currentCommit = lineAuthoring.commits.get(currentHash); + if (!newest || currentCommit.isZeroCommit || isNewerThan(currentCommit, newest)) { + newest = currentCommit; + } + } + return newest; +} +function isNewerThan(left, right) { + var _a2, _b, _c, _d; + const l = (_b = (_a2 = left.author) == null ? void 0 : _a2.epochSeconds) != null ? _b : 0; + const r = (_d = (_c = right.author) == null ? void 0 : _c.epochSeconds) != null ? _d : 0; + return l > r; +} + +// src/lineAuthor/view/gutter/gutter.ts +var VALUE_NOT_FOUND_FALLBACK = "-"; +var NEW_CHANGE_CHARACTER = "+"; +var NEW_CHANGE_NUMBER_OF_CHARACTERS = 3; +var DIFFERING_AUTHOR_COMMITTER_MARKER = "*"; +var NON_WHITESPACE_REGEXP = /\S/g; +var UNINTRUSIVE_CHARACTER_FOR_WAITING_RENDERING = "%"; +var TextGutter = class extends import_view.GutterMarker { + constructor(text2) { + super(); + this.text = text2; + } + eq(other) { + return this.text === (other == null ? void 0 : other.text); + } + toDOM() { + return document.createTextNode(this.text); + } + destroy(dom) { + if (!document.body.contains(dom)) + dom.remove(); + } +}; +var LineAuthoringGutter = class extends import_view.GutterMarker { + /** + * **This should only be called {@link lineAuthoringGutterMarker}!** + * + * We want to avoid creating the same instance multiple times for improved performance. + */ + constructor(lineAuthoring, startLine, endLine, key2, settings, options) { + super(); + this.lineAuthoring = lineAuthoring; + this.startLine = startLine; + this.endLine = endLine; + this.key = key2; + this.settings = settings; + this.options = options; + this.point = false; + this.elementClass = "obs-git-blame-gutter"; + } + // Equality used by CodeMirror for optimisations + eq(other) { + return this.key === (other == null ? void 0 : other.key) && this.startLine === (other == null ? void 0 : other.startLine) && this.endLine === (other == null ? void 0 : other.endLine) && (this == null ? void 0 : this.options) === (other == null ? void 0 : other.options); + } + /** + * Renders to a Html node. + * + * It choses the newest commit within the line-range, + * renders it, makes adjustments for fake-commits and finally warps + * it into HTML. + * + * The DOM is actually precomputed with {@link computeDom}, + * which provides a finaliser to run before the DOM is handed over to CodeMirror. + * This is done, because this method is called frequently. It is called, + * whenever a gutter gets into the viewport and needs to be rendered. + * + * The age in days is recorded via {@link recordRenderedAgeInDays} to enable adaptive coloring. + */ + toDOM() { + var _a2; + this.precomputedDomProvider = (_a2 = this.precomputedDomProvider) != null ? _a2 : this.computeDom(); + return this.precomputedDomProvider(); + } + destroy(dom) { + if (!document.body.contains(dom)) { + dom.remove(); + attachedGutterElements.delete(dom); + } + } + /** + * Prepares the DOM for this gutter. + */ + computeDom() { + const commit2 = chooseNewestCommit( + this.lineAuthoring, + this.startLine, + this.endLine + ); + let toBeRenderedText = commit2.isZeroCommit ? "" : this.renderNonZeroCommit(commit2); + const isTrueCommit = !commit2.isZeroCommit && this.options !== "waiting-for-result"; + if (isTrueCommit) { + conditionallyUpdateLongestRenderedGutter(this, toBeRenderedText); + } else { + toBeRenderedText = this.adaptTextForFakeCommit( + commit2, + toBeRenderedText, + this.options + ); + } + const domProvider = this.createHtmlNode( + commit2, + toBeRenderedText, + this.options === "waiting-for-result" + ); + return domProvider; + } + createHtmlNode(commit2, text2, isWaitingGutter) { + var _a2; + const templateElt = window.createDiv(); + templateElt.innerText = text2; + const { color, daysSinceCommit } = coloringBasedOnCommitAge( + (_a2 = commit2 == null ? void 0 : commit2.author) == null ? void 0 : _a2.epochSeconds, + commit2 == null ? void 0 : commit2.isZeroCommit, + this.settings + ); + templateElt.style.backgroundColor = color; + enrichCommitInfoForContextMenu(commit2, isWaitingGutter, templateElt); + function prepareForDomAttachment() { + const elt = templateElt.cloneNode(true); + attachedGutterElements.add(elt); + if (!isWaitingGutter) + recordRenderedAgeInDays(daysSinceCommit); + return elt; + } + return prepareForDomAttachment; + } + renderNonZeroCommit(commit2) { + const optionalShortHash = this.settings.showCommitHash ? this.renderHash(commit2) : ""; + const optionalAuthorName = this.settings.authorDisplay === "hide" ? "" : `${this.renderAuthorName( + commit2, + this.settings.authorDisplay + )}`; + const optionalAuthoringDate = this.settings.dateTimeFormatOptions === "hide" ? "" : `${this.renderAuthoringDate( + commit2, + this.settings.dateTimeFormatOptions, + this.settings.dateTimeFormatCustomString, + this.settings.dateTimeTimezone + )}`; + const parts = [ + optionalShortHash, + optionalAuthorName, + optionalAuthoringDate + ]; + return parts.filter((x) => x.length >= 1).join(" "); + } + renderHash(nonZeroCommit) { + return nonZeroCommit.hash.substring(0, 6); + } + renderAuthorName(nonZeroCommit, authorDisplay) { + var _a2, _b, _c, _d; + const name = (_b = (_a2 = nonZeroCommit == null ? void 0 : nonZeroCommit.author) == null ? void 0 : _a2.name) != null ? _b : ""; + const words = name.split(" ").filter((word) => word.length >= 1); + let rendered; + switch (authorDisplay) { + case "initials": + rendered = words.map((word) => word[0].toUpperCase()).join(""); + break; + case "first name": + rendered = (_c = words.first()) != null ? _c : VALUE_NOT_FOUND_FALLBACK; + break; + case "last name": + rendered = (_d = words.last()) != null ? _d : VALUE_NOT_FOUND_FALLBACK; + break; + case "full": + rendered = name; + break; + default: + return impossibleBranch(authorDisplay); + } + if (!strictDeepEqual(nonZeroCommit == null ? void 0 : nonZeroCommit.author, nonZeroCommit == null ? void 0 : nonZeroCommit.committer)) { + rendered = rendered + DIFFERING_AUTHOR_COMMITTER_MARKER; + } + return rendered; + } + renderAuthoringDate(nonZeroCommit, dateTimeFormatOptions, dateTimeFormatCustomString, dateTimeTimezone) { + var _a2; + const FALLBACK_COMMIT_DATE = "?"; + if (((_a2 = nonZeroCommit == null ? void 0 : nonZeroCommit.author) == null ? void 0 : _a2.epochSeconds) === void 0) + return FALLBACK_COMMIT_DATE; + let dateTimeFormatting; + switch (dateTimeFormatOptions) { + case "date": + dateTimeFormatting = DATE_FORMAT; + break; + case "datetime": + dateTimeFormatting = DATE_TIME_FORMAT_MINUTES; + break; + case "custom": + dateTimeFormatting = dateTimeFormatCustomString; + break; + case "natural language": + dateTimeFormatting = (time) => { + const diff2 = time.diff((0, import_obsidian10.moment)()); + const addFluentSuffix = true; + return import_obsidian10.moment.duration(diff2).humanize(addFluentSuffix); + }; + break; + default: + return impossibleBranch(dateTimeFormatOptions); + } + let authoringDate = import_obsidian10.moment.unix( + nonZeroCommit.author.epochSeconds + ); + switch (dateTimeTimezone) { + case "viewer-local": + break; + case "author-local": + authoringDate = authoringDate.utcOffset( + nonZeroCommit.author.tz + ); + dateTimeFormatting += " Z"; + break; + case "utc0000": + authoringDate = authoringDate.utc(); + dateTimeFormatting += "[Z]"; + break; + default: + return impossibleBranch(dateTimeTimezone); + } + if (typeof dateTimeFormatting === "string") { + return authoringDate.format(dateTimeFormatting); + } else { + return dateTimeFormatting(authoringDate); + } + } + adaptTextForFakeCommit(commit2, toBeRenderedText, options) { + var _a2, _b, _c, _d; + const original = (_b = (_a2 = getLongestRenderedGutter()) == null ? void 0 : _a2.text) != null ? _b : toBeRenderedText; + const fillCharacter = options !== "waiting-for-result" && commit2.isZeroCommit ? NEW_CHANGE_CHARACTER : UNINTRUSIVE_CHARACTER_FOR_WAITING_RENDERING; + toBeRenderedText = original.replace( + NON_WHITESPACE_REGEXP, + fillCharacter + ); + const desiredTextLength = (_d = (_c = latestSettings.get()) == null ? void 0 : _c.gutterSpacingFallbackLength) != null ? _d : toBeRenderedText.length; + toBeRenderedText = resizeToLength( + toBeRenderedText, + desiredTextLength, + fillCharacter + ); + if (options !== "waiting-for-result" && commit2.isZeroCommit) { + const numberOfLastCharactersToKeep = Math.min( + desiredTextLength, + NEW_CHANGE_NUMBER_OF_CHARACTERS + ); + toBeRenderedText = prefixOfLengthAsWhitespace( + toBeRenderedText, + desiredTextLength - numberOfLastCharactersToKeep + ); + } + return toBeRenderedText; + } +}; +function lineAuthoringGutterMarker(la, startLine, endLine, key2, settings, options) { + const digest = import_js_sha2562.sha256.create(); + digest.update(Object.values(settings).join(",")); + digest.update(`s${startLine}-e${endLine}-k${key2}-o${options}`); + const cacheKey = digest.hex(); + const cached = gutterInstances.get(cacheKey); + if (cached) + return cached; + const result = new LineAuthoringGutter( + la, + startLine, + endLine, + key2, + settings, + options + ); + gutterInstances.set(cacheKey, result); + return result; +} + +// src/lineAuthor/view/gutter/initial.ts +init_polyfill_buffer(); +var import_obsidian11 = require("obsidian"); +function initialSpacingGutter() { + var _a2, _b; + const length = (_b = (_a2 = latestSettings.get()) == null ? void 0 : _a2.gutterSpacingFallbackLength) != null ? _b : DEFAULT_SETTINGS.lineAuthor.gutterSpacingFallbackLength; + return new TextGutter(Array(length).fill("-").join("")); +} +function initialLineAuthoringGutter(settings) { + const { lineAuthoring, ageForInitialRender } = adaptiveInitialColoredWaitingLineAuthoring(settings); + return lineAuthoringGutterMarker( + lineAuthoring, + 1, + 1, + "initialGutter" + ageForInitialRender, + // use a age coloring based cache key + settings, + "waiting-for-result" + ); +} +function adaptiveInitialColoredWaitingLineAuthoring(settings) { + var _a2; + const ageForInitialRender = (_a2 = computeAdaptiveInitialColoringAgeInDays()) != null ? _a2 : maxAgeInDaysFromSettings(settings) * 0.25; + const slightlyOlderAgeForInitialRender = (0, import_obsidian11.moment)().add( + -ageForInitialRender, + "days" + ); + const dummyAuthor = { + name: "", + epochSeconds: momentToEpochSeconds(slightlyOlderAgeForInitialRender), + tz: "+0000" + }; + const dummyCommit = { + hash: "waiting-for-result", + author: dummyAuthor, + committer: dummyAuthor, + isZeroCommit: false + }; + return { + lineAuthoring: { + hashPerLine: [void 0, "waiting-for-result"], + commits: /* @__PURE__ */ new Map([["waiting-for-result", dummyCommit]]) + }, + ageForInitialRender + }; +} + +// src/lineAuthor/view/gutter/untrackedFile.ts +init_polyfill_buffer(); +function newUntrackedFileGutter(key2, settings) { + const dummyLineAuthoring = { + hashPerLine: [void 0, "000000"], + commits: /* @__PURE__ */ new Map([["000000", zeroCommit]]) + }; + return lineAuthoringGutterMarker(dummyLineAuthoring, 1, 1, key2, settings); +} + +// src/lineAuthor/view/view.ts +var UNDISPLAYED = new TextGutter(""); +var lineAuthorGutter = (0, import_view2.gutter)({ + class: "line-author-gutter-container", + markers(view) { + const lineAuthoring = view.state.field(lineAuthorState, false); + return lineAuthoringGutterMarkersRangeSet(view, lineAuthoring); + }, + lineMarkerChange(update2) { + const newLineAuthoringId = laStateDigest( + update2.state.field(lineAuthorState) + ); + const oldLineAuthoringId = laStateDigest( + update2.startState.field(lineAuthorState) + ); + return oldLineAuthoringId !== newLineAuthoringId; + }, + renderEmptyElements: true, + initialSpacer: (view) => { + temporaryWorkaroundGutterSpacingForRenderedLineAuthoring(view); + return initialSpacingGutter(); + }, + updateSpacer: (_sp, update2) => { + var _a2, _b; + temporaryWorkaroundGutterSpacingForRenderedLineAuthoring(update2.view); + return (_b = (_a2 = getLongestRenderedGutter()) == null ? void 0 : _a2.gutter) != null ? _b : initialSpacingGutter(); + } +}); +function lineAuthoringGutterMarkersRangeSet(view, optLA) { + const digest = laStateDigest(optLA); + const doc = view.state.doc; + const lineBlockEndPos = /* @__PURE__ */ new Map(); + for (let line = 1; line <= doc.lines; line++) { + const from = doc.line(line).from; + const to = view.lineBlockAt(from).to; + lineBlockEndPos.set(line, [from, to]); + digest.update([from, to, 0]); + } + const laSettings = latestSettings.get(); + digest.update("s" + Object.values(latestSettings).join(",")); + const cacheKey = digest.hex(); + const cached = gutterMarkersRangeSet.get(cacheKey); + if (cached) + return cached; + const { result, allowCache } = computeLineAuthoringGutterMarkersRangeSet( + doc, + lineBlockEndPos, + laSettings, + optLA + ); + if (allowCache) + gutterMarkersRangeSet.set(cacheKey, result); + return result; +} +function computeLineAuthoringGutterMarkersRangeSet(doc, blocksPerLine, settings, optLA) { + let allowCache = true; + const docLastLine = doc.lines; + const ranges = []; + function add2(from, to, gutter2) { + return ranges.push(gutter2.range(from, to)); + } + const lineFrom = computeLineMappingForUnsavedChanges(docLastLine, optLA); + const emptyDoc = doc.length === 0; + const lastLineIsEmpty = doc.iterLines(docLastLine, docLastLine + 1).next().value === ""; + for (let startLine = 1; startLine <= docLastLine; startLine++) { + const [from, to] = blocksPerLine.get(startLine); + const endLine = doc.lineAt(to).number; + if (emptyDoc) { + add2(from, to, UNDISPLAYED); + continue; + } + if (startLine === docLastLine && lastLineIsEmpty) { + add2(from, to, UNDISPLAYED); + continue; + } + if (optLA === void 0) { + add2(from, to, initialLineAuthoringGutter(settings)); + allowCache = false; + continue; + } + const { key: key2, la } = optLA; + if (la === "untracked") { + add2(from, to, newUntrackedFileGutter(la, settings)); + continue; + } + const lastAuthorLine = la.hashPerLine.length - 1; + const laStartLine = lineFrom[startLine]; + const laEndLine = lineFrom[endLine]; + if (laEndLine && laEndLine > lastAuthorLine) { + add2(from, to, UNDISPLAYED); + } + if (laStartLine !== void 0 && between(1, laStartLine, lastAuthorLine) && laEndLine !== void 0 && between(1, laEndLine, lastAuthorLine)) { + add2( + from, + to, + lineAuthoringGutterMarker( + la, + laStartLine, + laEndLine, + key2, + settings + ) + ); + continue; + } + if (lastAuthorLine < 1) { + add2(from, to, initialLineAuthoringGutter(settings)); + allowCache = false; + continue; + } + const start = Math.clamp(laStartLine != null ? laStartLine : startLine, 1, lastAuthorLine); + const end = Math.clamp(laEndLine != null ? laEndLine : endLine, 1, lastAuthorLine); + add2( + from, + to, + lineAuthoringGutterMarker( + la, + start, + end, + key2 + "computing", + settings, + "waiting-for-result" + ) + ); + } + return { result: import_state3.RangeSet.of( + ranges, + /* sort = */ + true + ), allowCache }; +} +function computeLineMappingForUnsavedChanges(docLastLine, optLA) { + if (!(optLA == null ? void 0 : optLA.lineOffsetsFromUnsavedChanges)) { + return Array.from(new Array(docLastLine + 1), (ln) => ln); + } + const lineFrom = [void 0]; + let cumulativeLineOffset = 0; + for (let ln = 1; ln <= docLastLine; ln++) { + const unsavedChanges = optLA.lineOffsetsFromUnsavedChanges.get(ln); + cumulativeLineOffset += unsavedChanges != null ? unsavedChanges : 0; + lineFrom[ln] = unsavedChanges === void 0 ? ln - cumulativeLineOffset : void 0; + } + return lineFrom; +} +function temporaryWorkaroundGutterSpacingForRenderedLineAuthoring(view) { + const guttersContainers = view.dom.querySelectorAll( + ".cm-gutters" + ); + guttersContainers.forEach((cont) => { + if (!(cont == null ? void 0 : cont.style)) + return; + if (!cont.style.marginLeft) { + cont.style.marginLeft = "unset"; + } + }); +} + +// src/lineAuthor/lineAuthorProvider.ts +var LineAuthorProvider = class { + constructor(plugin) { + this.plugin = plugin; + /** + * Saves all computed line authoring results. + * + * See {@link LineAuthoringId} + */ + this.lineAuthorings = /* @__PURE__ */ new Map(); + } + async trackChanged(file) { + this.trackChangedHelper(file).catch((reason) => { + console.warn("Obsidian Git: Error in trackChanged." + reason); + return Promise.reject(reason); + }); + } + async trackChangedHelper(file) { + if (!file) + return; + if (file.path === void 0) { + console.warn( + "Obsidian Git: Attempted to track change of undefined filepath. Unforeseen situation." + ); + return; + } + this.computeLineAuthorInfo(file.path); + } + destroy() { + this.lineAuthorings.clear(); + eventsPerFilePathSingleton.clear(); + clearViewCache(); + } + async computeLineAuthorInfo(filepath) { + const gitManager = this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager; + const headRevision = await gitManager.submoduleAwareHeadRevisonInContainingDirectory( + filepath + ); + const fileHash = await gitManager.hashObject(filepath); + const key2 = lineAuthoringId(headRevision, fileHash, filepath); + if (key2 === void 0) { + return; + } + if (this.lineAuthorings.has(key2)) { + } else { + const gitAuthorResult = await gitManager.blame( + filepath, + this.plugin.settings.lineAuthor.followMovement, + this.plugin.settings.lineAuthor.ignoreWhitespace + ); + this.lineAuthorings.set(key2, gitAuthorResult); + } + this.notifyComputationResultToSubscribers(filepath, key2); + } + notifyComputationResultToSubscribers(filepath, key2) { + eventsPerFilePathSingleton.ifFilepathDefinedTransformSubscribers( + filepath, + async (subs) => subs.forEach( + (sub) => sub.notifyLineAuthoring(key2, this.lineAuthorings.get(key2)) + ) + ); + } +}; +var enabledLineAuthorInfoExtensions = import_state4.Prec.high([ + subscribeNewEditor, + lineAuthorState, + lineAuthorGutter +]); + +// src/lineAuthor/lineAuthorIntegration.ts +var LineAuthoringFeature = class { + constructor(plg) { + this.plg = plg; + this.codeMirrorExtensions = []; + this.handleWorkspaceLeaf = (leaf) => { + const obsView = leaf == null ? void 0 : leaf.view; + const file = obsView == null ? void 0 : obsView.file; + if (!this.lineAuthorInfoProvider) { + console.warn( + "Obsidian Git: undefined lineAuthorInfoProvider. Unexpected situation." + ); + return; + } + if (file === void 0 || (obsView == null ? void 0 : obsView.allowNoFile) === true) + return; + this.lineAuthorInfoProvider.trackChanged(file); + }; + } + // ========================= INIT and DE-INIT ========================== + onLoadPlugin() { + this.plg.registerEditorExtension(this.codeMirrorExtensions); + provideSettingsAccess( + () => this.plg.settings.lineAuthor, + (laSettings) => { + this.plg.settings.lineAuthor = laSettings; + this.plg.saveSettings(); + } + ); + } + conditionallyActivateBySettings() { + if (this.plg.settings.lineAuthor.show) { + this.activateFeature(); + } + } + activateFeature() { + try { + if (!this.isAvailableOnCurrentPlatform()) + return; + setTextColorCssBasedOnSetting(this.plg.settings.lineAuthor); + this.lineAuthorInfoProvider = new LineAuthorProvider(this.plg); + this.createEventHandlers(); + this.activateCodeMirrorExtensions(); + console.log(this.plg.manifest.name + ": Enabled line authoring."); + } catch (e) { + console.warn( + "Obsidian Git: Error while loading line authoring feature.", + e + ); + this.deactivateFeature(); + } + } + /** + * Deactivates the feature. This function is very defensive, as it is also + * called to cleanup, if a critical error in the line authoring has occurred. + */ + deactivateFeature() { + var _a2; + this.destroyEventHandlers(); + this.deactivateCodeMirrorExtensions(); + (_a2 = this.lineAuthorInfoProvider) == null ? void 0 : _a2.destroy(); + this.lineAuthorInfoProvider = void 0; + console.log(this.plg.manifest.name + ": Disabled line authoring."); + } + isAvailableOnCurrentPlatform() { + return { + available: this.plg.useSimpleGit && import_obsidian12.Platform.isDesktopApp, + gitManager: this.plg.gitManager instanceof SimpleGit ? this.plg.gitManager : void 0 + }; + } + // ========================= REFRESH ========================== + refreshLineAuthorViews() { + if (this.plg.settings.lineAuthor.show) { + this.deactivateFeature(); + this.activateFeature(); + } + } + // ========================= CODEMIRROR EXTENSIONS ========================== + activateCodeMirrorExtensions() { + this.codeMirrorExtensions.push(enabledLineAuthorInfoExtensions); + this.plg.app.workspace.updateOptions(); + this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf); + } + deactivateCodeMirrorExtensions() { + for (const ext of this.codeMirrorExtensions) { + this.codeMirrorExtensions.remove(ext); + } + this.plg.app.workspace.updateOptions(); + } + // ========================= HANDLERS ========================== + createEventHandlers() { + this.gutterContextMenuEvent = this.createGutterContextMenuHandler(); + this.fileOpenEvent = this.createFileOpenEvent(); + this.workspaceLeafChangeEvent = this.createWorkspaceLeafChangeEvent(); + this.fileModificationEvent = this.createVaultFileModificationHandler(); + this.refreshOnCssChangeEvent = this.createCssRefreshHandler(); + this.fileRenameEvent = this.createFileRenameEvent(); + prepareGutterSearchForContextMenuHandling(); + this.plg.registerEvent(this.gutterContextMenuEvent); + this.plg.registerEvent(this.refreshOnCssChangeEvent); + this.plg.registerEvent(this.fileOpenEvent); + this.plg.registerEvent(this.workspaceLeafChangeEvent); + this.plg.registerEvent(this.fileModificationEvent); + this.plg.registerEvent(this.fileRenameEvent); + } + destroyEventHandlers() { + this.plg.app.workspace.offref(this.refreshOnCssChangeEvent); + this.plg.app.workspace.offref(this.fileOpenEvent); + this.plg.app.workspace.offref(this.workspaceLeafChangeEvent); + this.plg.app.workspace.offref(this.refreshOnCssChangeEvent); + this.plg.app.vault.offref(this.fileRenameEvent); + this.plg.app.workspace.offref(this.gutterContextMenuEvent); + } + createFileOpenEvent() { + return this.plg.app.workspace.on( + "file-open", + (file) => { + var _a2; + return (_a2 = this.lineAuthorInfoProvider) == null ? void 0 : _a2.trackChanged(file); + } + ); + } + createWorkspaceLeafChangeEvent() { + return this.plg.app.workspace.on( + "active-leaf-change", + this.handleWorkspaceLeaf + ); + } + createFileRenameEvent() { + return this.plg.app.vault.on( + "rename", + (file, _old) => { + var _a2; + return file instanceof import_obsidian12.TFile && ((_a2 = this.lineAuthorInfoProvider) == null ? void 0 : _a2.trackChanged(file)); + } + ); + } + createVaultFileModificationHandler() { + return this.plg.app.vault.on( + "modify", + (anyPath) => { + var _a2; + return anyPath instanceof import_obsidian12.TFile && ((_a2 = this.lineAuthorInfoProvider) == null ? void 0 : _a2.trackChanged(anyPath)); + } + ); + } + createCssRefreshHandler() { + return this.plg.app.workspace.on( + "css-change", + () => this.refreshLineAuthorViews() + ); + } + createGutterContextMenuHandler() { + return this.plg.app.workspace.on("editor-menu", handleContextMenu); + } +}; + +// src/promiseQueue.ts +init_polyfill_buffer(); +var PromiseQueue = class { + constructor() { + this.tasks = []; + } + addTask(task) { + this.tasks.push(task); + if (this.tasks.length === 1) { + this.handleTask(); + } + } + async handleTask() { + if (this.tasks.length > 0) { + this.tasks[0]().finally(() => { + this.tasks.shift(); + this.handleTask(); + }); + } + } }; // src/statusBar.ts init_polyfill_buffer(); -var import_obsidian8 = require("obsidian"); +var import_obsidian13 = require("obsidian"); var StatusBar = class { constructor(statusBarEl, plugin) { this.statusBarEl = statusBarEl; @@ -27707,37 +33928,37 @@ var StatusBar = class { break; case 1 /* status */: this.statusBarEl.ariaLabel = "Checking repository status..."; - (0, import_obsidian8.setIcon)(this.iconEl, "refresh-cw"); + (0, import_obsidian13.setIcon)(this.iconEl, "refresh-cw"); this.statusBarEl.addClass(this.base + "status"); break; case 3 /* add */: this.statusBarEl.ariaLabel = "Adding files..."; - (0, import_obsidian8.setIcon)(this.iconEl, "refresh-w"); + (0, import_obsidian13.setIcon)(this.iconEl, "refresh-w"); this.statusBarEl.addClass(this.base + "add"); break; case 4 /* commit */: this.statusBarEl.ariaLabel = "Committing changes..."; - (0, import_obsidian8.setIcon)(this.iconEl, "git-commit"); + (0, import_obsidian13.setIcon)(this.iconEl, "git-commit"); this.statusBarEl.addClass(this.base + "commit"); break; case 5 /* push */: this.statusBarEl.ariaLabel = "Pushing changes..."; - (0, import_obsidian8.setIcon)(this.iconEl, "upload"); + (0, import_obsidian13.setIcon)(this.iconEl, "upload"); this.statusBarEl.addClass(this.base + "push"); break; case 2 /* pull */: this.statusBarEl.ariaLabel = "Pulling changes..."; - (0, import_obsidian8.setIcon)(this.iconEl, "download"); + (0, import_obsidian13.setIcon)(this.iconEl, "download"); this.statusBarEl.addClass(this.base + "pull"); break; case 6 /* conflicted */: this.statusBarEl.ariaLabel = "You have conflict files..."; - (0, import_obsidian8.setIcon)(this.iconEl, "alert-circle"); + (0, import_obsidian13.setIcon)(this.iconEl, "alert-circle"); this.statusBarEl.addClass(this.base + "conflict"); break; default: this.statusBarEl.ariaLabel = "Failed on initialization!"; - (0, import_obsidian8.setIcon)(this.iconEl, "alert-triangle"); + (0, import_obsidian13.setIcon)(this.iconEl, "alert-triangle"); this.statusBarEl.addClass(this.base + "failed-init"); break; } @@ -27746,8 +33967,8 @@ var StatusBar = class { var _a2; const timestamp = this.lastCommitTimestamp; if (timestamp) { - const moment = window.moment; - const fromNow = moment(timestamp).fromNow(); + const moment5 = window.moment; + const fromNow = moment5(timestamp).fromNow(); this.statusBarEl.ariaLabel = `${this.plugin.offlineMode ? "Offline: " : ""}Last Commit: ${fromNow}`; if ((_a2 = this.unPushedCommits) != null ? _a2 : 0 > 0) { this.statusBarEl.ariaLabel += ` @@ -27757,9 +33978,9 @@ var StatusBar = class { this.statusBarEl.ariaLabel = this.plugin.offlineMode ? "Git is offline" : "Git is ready"; } if (this.plugin.offlineMode) { - (0, import_obsidian8.setIcon)(this.iconEl, "globe"); + (0, import_obsidian13.setIcon)(this.iconEl, "globe"); } else { - (0, import_obsidian8.setIcon)(this.iconEl, "check"); + (0, import_obsidian13.setIcon)(this.iconEl, "check"); } if (this.plugin.settings.changedFilesInStatusBar && this.plugin.cachedStatus) { this.textEl.setText( @@ -27776,8 +33997,8 @@ var StatusBar = class { // src/ui/modals/changedFilesModal.ts init_polyfill_buffer(); -var import_obsidian9 = require("obsidian"); -var ChangedFilesModal = class extends import_obsidian9.FuzzySuggestModal { +var import_obsidian14 = require("obsidian"); +var ChangedFilesModal = class extends import_obsidian14.FuzzySuggestModal { constructor(plugin, changedFiles) { super(plugin.app); this.plugin = plugin; @@ -27815,8 +34036,8 @@ var ChangedFilesModal = class extends import_obsidian9.FuzzySuggestModal { // src/ui/modals/customMessageModal.ts init_polyfill_buffer(); -var import_obsidian10 = require("obsidian"); -var CustomMessageModal = class extends import_obsidian10.SuggestModal { +var import_obsidian15 = require("obsidian"); +var CustomMessageModal = class extends import_obsidian15.SuggestModal { constructor(plugin, fromAutoBackup) { super(plugin.app); this.fromAutoBackup = fromAutoBackup; @@ -27854,55 +34075,82 @@ var CustomMessageModal = class extends import_obsidian10.SuggestModal { } }; -// src/constants.ts +// src/openInGitHub.ts init_polyfill_buffer(); -var import_obsidian11 = require("obsidian"); -var DEFAULT_SETTINGS = { - commitMessage: "vault backup: {{date}}", - commitDateFormat: "YYYY-MM-DD HH:mm:ss", - autoSaveInterval: 0, - autoPushInterval: 0, - autoPullInterval: 0, - autoPullOnBoot: false, - disablePush: false, - pullBeforePush: true, - disablePopups: false, - listChangedFilesInMessageBody: false, - showStatusBar: true, - updateSubmodules: false, - syncMethod: "merge", - customMessageOnAutoBackup: false, - autoBackupAfterFileChange: false, - treeStructure: false, - refreshSourceControl: import_obsidian11.Platform.isDesktopApp, - basePath: "", - differentIntervalCommitAndPush: false, - changedFilesInStatusBar: false, - showedMobileNotice: false, - refreshSourceControlTimer: 7e3, - showBranchStatusBar: true, - setLastSaveToLastCommit: false, - submoduleRecurseCheckout: false, - gitDir: "", - showFileMenu: true -}; -var SOURCE_CONTROL_VIEW_CONFIG = { - type: "git-view", - name: "Source Control", - icon: "git-pull-request" -}; -var HISTORY_VIEW_CONFIG = { - type: "git-history-view", - name: "History", - icon: "history" -}; -var DIFF_VIEW_CONFIG = { - type: "diff-view", - name: "Diff View", - icon: "git-pull-request" -}; +var import_obsidian16 = require("obsidian"); +async function openLineInGitHub(editor, file, manager) { + const data = await getData(manager); + if (data.result === "failure") { + new import_obsidian16.Notice(data.reason); + return; + } + const { isGitHub, branch: branch2, repo, user } = data; + if (isGitHub) { + const path2 = manager.asRepositoryRelativePath(file.path, true); + const from = editor.getCursor("from").line + 1; + const to = editor.getCursor("to").line + 1; + if (from === to) { + window.open( + `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}` + ); + } else { + window.open( + `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}-L${to}` + ); + } + } else { + new import_obsidian16.Notice("It seems like you are not using GitHub"); + } +} +async function openHistoryInGitHub(file, manager) { + const data = await getData(manager); + if (data.result === "failure") { + new import_obsidian16.Notice(data.reason); + return; + } + const { isGitHub, branch: branch2, repo, user } = data; + const path2 = manager.asRepositoryRelativePath(file.path, true); + if (isGitHub) { + window.open( + `https://github.com/${user}/${repo}/commits/${branch2}/${path2}` + ); + } else { + new import_obsidian16.Notice("It seems like you are not using GitHub"); + } +} +async function getData(manager) { + const branchInfo = await manager.branchInfo(); + const remoteBranch = branchInfo.tracking; + const branch2 = branchInfo.current; + if (remoteBranch == null) { + return { + result: "failure", + reason: "Remote branch is not configured" + }; + } + if (branch2 == null) { + return { + result: "failure", + reason: "Failed to get current branch name" + }; + } + const remote = remoteBranch.substring(0, remoteBranch.indexOf("/")); + const remoteUrl = await manager.getConfig( + `remote.${remote}.url` + ); + const [isGitHub, httpsUser, httpsRepo, sshUser, sshRepo] = remoteUrl.match( + /(?:^https:\/\/github\.com\/(.*)\/(.*)\.git$)|(?:^git@github\.com:(.*)\/(.*)\.git$)/ + ); + return { + result: "success", + isGitHub: !!isGitHub, + repo: httpsRepo || sshRepo, + user: httpsUser || sshUser, + branch: branch2 + }; +} -// src/localStorageSettings.ts +// src/setting/localStorageSettings.ts init_polyfill_buffer(); var LocalStorageSettings = class { constructor(plugin) { @@ -28005,91 +34253,16 @@ var LocalStorageSettings = class { } }; -// src/openInGitHub.ts -init_polyfill_buffer(); -var import_obsidian12 = require("obsidian"); -async function openLineInGitHub(editor, file, manager) { - const data = await getData(manager); - if (data.result === "failure") { - new import_obsidian12.Notice(data.reason); - return; - } - const { isGitHub, branch: branch2, repo, user } = data; - if (isGitHub) { - const path2 = manager.getPath(file.path, true); - const from = editor.getCursor("from").line + 1; - const to = editor.getCursor("to").line + 1; - if (from === to) { - window.open( - `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}` - ); - } else { - window.open( - `https://github.com/${user}/${repo}/blob/${branch2}/${path2}?plain=1#L${from}-L${to}` - ); - } - } else { - new import_obsidian12.Notice("It seems like you are not using GitHub"); - } -} -async function openHistoryInGitHub(file, manager) { - const data = await getData(manager); - if (data.result === "failure") { - new import_obsidian12.Notice(data.reason); - return; - } - const { isGitHub, branch: branch2, repo, user } = data; - const path2 = manager.getPath(file.path, true); - if (isGitHub) { - window.open( - `https://github.com/${user}/${repo}/commits/${branch2}/${path2}` - ); - } else { - new import_obsidian12.Notice("It seems like you are not using GitHub"); - } -} -async function getData(manager) { - const branchInfo = await manager.branchInfo(); - const remoteBranch = branchInfo.tracking; - const branch2 = branchInfo.current; - if (remoteBranch == null) { - return { - result: "failure", - reason: "Remote branch is not configured" - }; - } - if (branch2 == null) { - return { - result: "failure", - reason: "Failed to get current branch name" - }; - } - const remote = remoteBranch.substring(0, remoteBranch.indexOf("/")); - const remoteUrl = await manager.getConfig( - `remote.${remote}.url` - ); - const [isGitHub, httpsUser, httpsRepo, sshUser, sshRepo] = remoteUrl.match( - /(?:^https:\/\/github\.com\/(.*)\/(.*)\.git$)|(?:^git@github\.com:(.*)\/(.*)\.git$)/ - ); - return { - result: "success", - isGitHub: !!isGitHub, - repo: httpsRepo || sshRepo, - user: httpsUser || sshUser, - branch: branch2 - }; -} - // src/ui/diff/diffView.ts init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/diff2html.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff-parser.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/diff-parser.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/types.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/types.js init_polyfill_buffer(); var LineType; (function(LineType2) { @@ -28111,7 +34284,7 @@ var DiffStyleType = { CHAR: "char" }; -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/utils.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/utils.js init_polyfill_buffer(); var specials = [ "-", @@ -28149,7 +34322,7 @@ function hashCode(text2) { return hash2; } -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff-parser.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/diff-parser.js var __spreadArray = function(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { @@ -28458,13 +34631,13 @@ function parse(diffInput, config) { return files; } -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/file-list-renderer.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/file-list-renderer.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/render-utils.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/render-utils.js init_polyfill_buffer(); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/rematch.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/rematch.js init_polyfill_buffer(); function levenshtein(a, b) { if (a.length === 0) { @@ -28558,7 +34731,7 @@ function newMatcherFn(distance2) { return group; } -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/render-utils.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/render-utils.js var __assign = function() { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -28748,7 +34921,7 @@ function diffHighlight(diffLine1, diffLine2, isCombined, config) { }; } -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/file-list-renderer.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/file-list-renderer.js var baseTemplatesPath = "file-summary"; var iconsBaseTemplatesPath = "icon"; function render(diffFiles, hoganUtils) { @@ -28770,7 +34943,7 @@ function render(diffFiles, hoganUtils) { }); } -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/line-by-line-renderer.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/line-by-line-renderer.js init_polyfill_buffer(); var __assign2 = function() { __assign2 = Object.assign || function(t) { @@ -28968,7 +35141,7 @@ var LineByLineRenderer = function() { }(); var line_by_line_renderer_default = LineByLineRenderer; -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/side-by-side-renderer.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/side-by-side-renderer.js init_polyfill_buffer(); var __assign3 = function() { __assign3 = Object.assign || function(t) { @@ -29177,11 +35350,11 @@ var SideBySideRenderer = function() { }(); var side_by_side_renderer_default = SideBySideRenderer; -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/hoganjs-utils.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/hoganjs-utils.js init_polyfill_buffer(); var Hogan3 = __toESM(require_hogan()); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html-templates.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/diff2html-templates.js init_polyfill_buffer(); var Hogan2 = __toESM(require_hogan()); var defaultTemplates = {}; @@ -29586,7 +35759,7 @@ defaultTemplates["tag-file-renamed"] = new Hogan2.Template({ code: function(c, p return t.fl(); }, partials: {}, subs: {} }); -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/hoganjs-utils.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/hoganjs-utils.js var __assign4 = function() { __assign4 = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -29632,7 +35805,7 @@ var HoganJsUtils = function() { }(); var hoganjs_utils_default = HoganJsUtils; -// node_modules/.pnpm/diff2html@3.4.34/node_modules/diff2html/lib-esm/diff2html.js +// node_modules/.pnpm/diff2html@3.4.35/node_modules/diff2html/lib-esm/diff2html.js var __assign5 = function() { __assign5 = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { @@ -29659,15 +35832,18 @@ function html(diffInput, configuration) { } // src/ui/diff/diffView.ts -var import_obsidian13 = require("obsidian"); -var DiffView = class extends import_obsidian13.ItemView { +var import_obsidian17 = require("obsidian"); +var DiffView = class extends import_obsidian17.ItemView { constructor(leaf, plugin) { super(leaf); this.plugin = plugin; this.gettingDiff = false; + this.gitRefreshBind = this.refresh.bind(this); + this.gitViewRefreshBind = this.refresh.bind(this); this.parser = new DOMParser(); this.navigation = true; - addEventListener("git-refresh", this.refresh.bind(this)); + addEventListener("git-refresh", this.gitRefreshBind); + addEventListener("git-view-refresh", this.gitViewRefreshBind); } getViewType() { return DIFF_VIEW_CONFIG.type; @@ -29694,7 +35870,8 @@ var DiffView = class extends import_obsidian13.ItemView { return this.state; } onClose() { - removeEventListener("git-refresh", this.refresh.bind(this)); + removeEventListener("git-refresh", this.gitRefreshBind); + removeEventListener("git-view-refresh", this.gitViewRefreshBind); return super.onClose(); } onOpen() { @@ -29713,16 +35890,26 @@ var DiffView = class extends import_obsidian13.ItemView { ); this.contentEl.empty(); if (!diff2) { - const content = await this.app.vault.adapter.read( - this.plugin.gitManager.getVaultPath(this.state.file) - ); - const header = `--- /dev/null + if (this.plugin.gitManager instanceof SimpleGit && await this.plugin.gitManager.isTracked( + this.state.file + )) { + diff2 = [ + `--- ${this.state.file}`, + `+++ ${this.state.file}`, + "" + ].join("\n"); + } else { + const content = await this.app.vault.adapter.read( + this.plugin.gitManager.getVaultPath(this.state.file) + ); + const header = `--- /dev/null +++ ${this.state.file} @@ -0,0 +1,${content.split("\n").length} @@`; - diff2 = [ - ...header.split("\n"), - ...content.split("\n").map((line) => `+${line}`) - ].join("\n"); + diff2 = [ + ...header.split("\n"), + ...content.split("\n").map((line) => `+${line}`) + ].join("\n"); + } } const diffEl = this.parser.parseFromString(html(diff2), "text/html").querySelector(".d2h-file-diff"); this.contentEl.append(diffEl); @@ -29735,12 +35922,12 @@ var DiffView = class extends import_obsidian13.ItemView { // src/ui/history/historyView.ts init_polyfill_buffer(); -var import_obsidian16 = require("obsidian"); +var import_obsidian20 = require("obsidian"); // src/ui/history/historyView.svelte init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/internal/index.mjs +// node_modules/.pnpm/svelte@3.59.0/node_modules/svelte/internal/index.mjs init_polyfill_buffer(); function noop() { } @@ -29790,6 +35977,32 @@ function loop(callback) { } }; } +var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global; +var ResizeObserverSingleton = class { + constructor(options) { + this.options = options; + this._listeners = "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0; + } + observe(element2, listener) { + this._listeners.set(element2, listener); + this._getObserver().observe(element2, this.options); + return () => { + this._listeners.delete(element2); + this._observer.unobserve(element2); + }; + } + _getObserver() { + var _a2; + return (_a2 = this._observer) !== null && _a2 !== void 0 ? _a2 : this._observer = new ResizeObserver((entries) => { + var _a3; + for (const entry of entries) { + ResizeObserverSingleton.entries.set(entry.target, entry); + (_a3 = this._listeners.get(entry.target)) === null || _a3 === void 0 ? void 0 : _a3(entry); + } + }); + } +}; +ResizeObserverSingleton.entries = "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0; var is_hydrating = false; function start_hydrating() { is_hydrating = true; @@ -29812,9 +36025,9 @@ function append_styles(target, style_sheet_id, styles) { function get_root_for_style(node) { if (!node) return document; - const root = node.getRootNode ? node.getRootNode() : node.ownerDocument; - if (root && root.host) { - return root; + const root2 = node.getRootNode ? node.getRootNode() : node.ownerDocument; + if (root2 && root2.host) { + return root2; } return node.ownerDocument; } @@ -29874,14 +36087,15 @@ function children(element2) { } function set_data(text2, data) { data = "" + data; - if (text2.wholeText !== data) - text2.data = data; + if (text2.data === data) + return; + text2.data = data; } function set_input_value(input, value) { input.value = value == null ? "" : value; } function set_style(node, key2, value, important) { - if (value === null) { + if (value == null) { node.style.removeProperty(key2); } else { node.style.setProperty(key2, value, important ? "important" : ""); @@ -30197,7 +36411,6 @@ function create_bidirectional_transition(node, fn, params, intro) { } }; } -var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global; var _boolean_attributes = [ "allowfullscreen", "allowpaymentrequest", @@ -30213,7 +36426,6 @@ var _boolean_attributes = [ "hidden", "inert", "ismap", - "itemscope", "loop", "multiple", "muted", @@ -30423,25 +36635,25 @@ function __awaiter(thisArg, _arguments, P, generator) { } // src/ui/history/historyView.svelte -var import_obsidian15 = require("obsidian"); +var import_obsidian19 = require("obsidian"); -// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/index.mjs +// node_modules/.pnpm/svelte@3.59.0/node_modules/svelte/index.mjs init_polyfill_buffer(); // src/ui/history/components/logComponent.svelte init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/transition/index.mjs +// node_modules/.pnpm/svelte@3.59.0/node_modules/svelte/transition/index.mjs init_polyfill_buffer(); -// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/easing/index.mjs +// node_modules/.pnpm/svelte@3.59.0/node_modules/svelte/easing/index.mjs init_polyfill_buffer(); function cubicOut(t) { const f = t - 1; return f * f * f + 1; } -// node_modules/.pnpm/svelte@3.57.0/node_modules/svelte/transition/index.mjs +// node_modules/.pnpm/svelte@3.59.0/node_modules/svelte/transition/index.mjs function slide(node, { delay: delay2 = 0, duration = 400, easing = cubicOut, axis = "y" } = {}) { const style = getComputedStyle(node); const opacity = +style.opacity; @@ -30465,7 +36677,7 @@ function slide(node, { delay: delay2 = 0, duration = 400, easing = cubicOut, axi // src/ui/history/components/logFileComponent.svelte init_polyfill_buffer(); -var import_obsidian14 = require("obsidian"); +var import_obsidian18 = require("obsidian"); function add_css(target) { append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); } @@ -30552,13 +36764,13 @@ function create_fragment(ctx) { t2 = space(); span = element("span"); t3 = text(t3_value); - attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); + attr(div0, "class", "tree-item-inner nav-file-title-content svelte-pmbo0n"); attr(div1, "class", "buttons"); attr(span, "class", "type"); attr(span, "data-type", span_data_type_value = /*diff*/ ctx[0].status); attr(div2, "class", "git-tools"); - attr(div3, "class", "nav-file-title"); + attr(div3, "class", "tree-item-self is-clickable nav-file-title"); attr( div3, "aria-label-position", @@ -30567,7 +36779,7 @@ function create_fragment(ctx) { ); attr(div3, "aria-label", div3_aria_label_value = /*diff*/ ctx[0].vault_path); - attr(main, "class", "nav-file svelte-pmbo0n"); + attr(main, "class", "tree-item nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -30669,11 +36881,11 @@ function instance($$self, $$props, $$invalidate) { let { diff: diff2 } = $$props; let { view } = $$props; let buttons = []; - window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian14.setIcon)(b, b.getAttr("data-icon"))), 0); + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian18.setIcon)(b, b.getAttr("data-icon"))), 0); function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(diff2.vault_path); - if (file instanceof import_obsidian14.TFile) { + if (file instanceof import_obsidian18.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -30782,9 +36994,9 @@ function create_else_block(ctx) { attr(div0, "data-icon", "folder"); set_style(div0, "padding-right", "5px"); set_style(div0, "display", "flex"); - attr(div1, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div2, "class", "nav-folder-title-content svelte-1lnl15d"); - attr(div3, "class", "nav-folder-title"); + attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d"); + attr(div3, "class", "tree-item-self is-clickable nav-folder-title"); attr( div3, "aria-label-position", @@ -30793,7 +37005,7 @@ function create_else_block(ctx) { ); attr(div3, "aria-label", div3_aria_label_value = /*entity*/ ctx[8].vaultPath); - attr(div4, "class", "nav-folder"); + attr(div4, "class", "tree-item nav-folder"); toggle_class( div4, "is-collapsed", @@ -30983,7 +37195,7 @@ function create_if_block_1(ctx) { c() { div = element("div"); create_component(logtreecomponent.$$.fragment); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -31309,7 +37521,7 @@ function create_if_block3(ctx) { c() { div = element("div"); if_block.c(); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -31599,8 +37811,8 @@ function create_fragment3(ctx) { t3 = space(); if (if_block1) if_block1.c(); - attr(div0, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div1, "class", "nav-folder-title-content"); + attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div1, "class", "tree-item-inner nav-folder-title-content"); attr(div1, "aria-label", div1_aria_label_value = /*log*/ ctx[0].message); attr( @@ -31609,8 +37821,8 @@ function create_fragment3(ctx) { /*side*/ ctx[5] ); - attr(div3, "class", "nav-folder-title"); - attr(div4, "class", "staged nav-folder"); + attr(div3, "class", "tree-item-self is-clickable nav-folder-title"); + attr(div4, "class", "tree-item nav-folder"); toggle_class( div4, "is-collapsed", @@ -31805,8 +38017,8 @@ function create_if_block4(ctx) { for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } - attr(div0, "class", "nav-folder-children"); - attr(div1, "class", "nav-folder mod-root"); + attr(div0, "class", "tree-item-children nav-folder-children"); + attr(div1, "class", "tree-item nav-folder mod-root"); }, m(target, anchor) { insert(target, div1, anchor); @@ -32076,8 +38288,8 @@ function instance4($$self, $$props, $$invalidate) { plugin.app.workspace.onLayoutReady(() => { window.setTimeout( () => { - buttons.forEach((btn) => (0, import_obsidian15.setIcon)(btn, btn.getAttr("data-icon"), 16)); - (0, import_obsidian15.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + buttons.forEach((btn) => (0, import_obsidian19.setIcon)(btn, btn.getAttr("data-icon"), 16)); + (0, import_obsidian19.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); }, 0 ); @@ -32122,7 +38334,7 @@ function instance4($$self, $$props, $$invalidate) { $: { if (layoutBtn) { layoutBtn.empty(); - (0, import_obsidian15.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + (0, import_obsidian19.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); } } } @@ -32149,7 +38361,7 @@ var HistoryView = class extends SvelteComponent { var historyView_default = HistoryView; // src/ui/history/historyView.ts -var HistoryView2 = class extends import_obsidian16.ItemView { +var HistoryView2 = class extends import_obsidian20.ItemView { constructor(leaf, plugin) { super(leaf); this.plugin = plugin; @@ -32181,8 +38393,8 @@ var HistoryView2 = class extends import_obsidian16.ItemView { // src/ui/modals/branchModal.ts init_polyfill_buffer(); -var import_obsidian17 = require("obsidian"); -var BranchModal = class extends import_obsidian17.FuzzySuggestModal { +var import_obsidian21 = require("obsidian"); +var BranchModal = class extends import_obsidian21.FuzzySuggestModal { constructor(branches) { super(app); this.branches = branches; @@ -32212,8 +38424,8 @@ var BranchModal = class extends import_obsidian17.FuzzySuggestModal { // src/ui/modals/ignoreModal.ts init_polyfill_buffer(); -var import_obsidian18 = require("obsidian"); -var IgnoreModal = class extends import_obsidian18.Modal { +var import_obsidian22 = require("obsidian"); +var IgnoreModal = class extends import_obsidian22.Modal { constructor(app2, content) { super(app2); this.content = content; @@ -32251,16 +38463,16 @@ var IgnoreModal = class extends import_obsidian18.Modal { // src/ui/sourceControl/sourceControl.ts init_polyfill_buffer(); -var import_obsidian25 = require("obsidian"); +var import_obsidian29 = require("obsidian"); // src/ui/sourceControl/sourceControl.svelte init_polyfill_buffer(); -var import_obsidian24 = require("obsidian"); +var import_obsidian28 = require("obsidian"); // src/ui/modals/discardModal.ts init_polyfill_buffer(); -var import_obsidian19 = require("obsidian"); -var DiscardModal = class extends import_obsidian19.Modal { +var import_obsidian23 = require("obsidian"); +var DiscardModal = class extends import_obsidian23.Modal { constructor(app2, deletion, filename) { super(app2); this.deletion = deletion; @@ -32316,15 +38528,15 @@ var DiscardModal = class extends import_obsidian19.Modal { // src/ui/sourceControl/components/fileComponent.svelte init_polyfill_buffer(); -var import_obsidian21 = require("obsidian"); +var import_obsidian25 = require("obsidian"); -// node_modules/.pnpm/obsidian-community-lib@2.0.2_ydzx5qoi6374xmclt4keb2sh6a/node_modules/obsidian-community-lib/dist/index.js +// node_modules/.pnpm/obsidian-community-lib@2.0.2_fbkkrmn4giwwsr5htt45gr2jni/node_modules/obsidian-community-lib/dist/index.js init_polyfill_buffer(); -// node_modules/.pnpm/obsidian-community-lib@2.0.2_ydzx5qoi6374xmclt4keb2sh6a/node_modules/obsidian-community-lib/dist/utils.js +// node_modules/.pnpm/obsidian-community-lib@2.0.2_fbkkrmn4giwwsr5htt45gr2jni/node_modules/obsidian-community-lib/dist/utils.js init_polyfill_buffer(); var feather = __toESM(require_feather()); -var import_obsidian20 = require("obsidian"); +var import_obsidian24 = require("obsidian"); function hoverPreview(event, view, to) { const targetEl = event.target; app.workspace.trigger("hover-link", { @@ -32431,7 +38643,7 @@ function create_fragment5(ctx) { t4 = space(); div4 = element("div"); t5 = text(t5_value); - attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); + attr(div0, "class", "tree-item-inner nav-file-title-content svelte-pmbo0n"); attr(div1, "data-icon", "undo"); attr(div1, "aria-label", "Discard"); attr(div1, "class", "clickable-icon"); @@ -32443,7 +38655,7 @@ function create_fragment5(ctx) { attr(div4, "data-type", div4_data_type_value = /*change*/ ctx[0].working_dir); attr(div5, "class", "git-tools"); - attr(div6, "class", "nav-file-title"); + attr(div6, "class", "tree-item-self is-clickable nav-file-title"); attr( div6, "aria-label-position", @@ -32452,7 +38664,7 @@ function create_fragment5(ctx) { ); attr(div6, "aria-label", div6_aria_label_value = /*change*/ ctx[0].vault_path); - attr(main, "class", "nav-file svelte-pmbo0n"); + attr(main, "class", "tree-item nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -32577,7 +38789,7 @@ function instance5($$self, $$props, $$invalidate) { let { view } = $$props; let { manager } = $$props; let buttons = []; - window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian21.setIcon)(b, b.getAttr("data-icon"))), 0); + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian25.setIcon)(b, b.getAttr("data-icon"))), 0); function hover(event) { if (app.vault.getAbstractFileByPath(change.vault_path)) { hoverPreview(event, view, change.vault_path); @@ -32587,7 +38799,7 @@ function instance5($$self, $$props, $$invalidate) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); console.log(event); - if (file instanceof import_obsidian21.TFile) { + if (file instanceof import_obsidian25.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -32683,7 +38895,7 @@ var fileComponent_default = FileComponent; // src/ui/sourceControl/components/pulledFileComponent.svelte init_polyfill_buffer(); -var import_obsidian22 = require("obsidian"); +var import_obsidian26 = require("obsidian"); function add_css5(target) { append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); } @@ -32718,12 +38930,12 @@ function create_fragment6(ctx) { div1 = element("div"); span = element("span"); t2 = text(t2_value); - attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); + attr(div0, "class", "tree-item-inner nav-file-title-content svelte-pmbo0n"); attr(span, "class", "type"); attr(span, "data-type", span_data_type_value = /*change*/ ctx[0].working_dir); attr(div1, "class", "git-tools"); - attr(div2, "class", "nav-file-title"); + attr(div2, "class", "tree-item-self is-clickable nav-file-title"); attr( div2, "aria-label-position", @@ -32732,7 +38944,7 @@ function create_fragment6(ctx) { ); attr(div2, "aria-label", div2_aria_label_value = /*change*/ ctx[0].vault_path); - attr(main, "class", "nav-file svelte-pmbo0n"); + attr(main, "class", "tree-item nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -32822,7 +39034,7 @@ function instance6($$self, $$props, $$invalidate) { function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); - if (file instanceof import_obsidian22.TFile) { + if (file instanceof import_obsidian26.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -32854,7 +39066,7 @@ var pulledFileComponent_default = PulledFileComponent; // src/ui/sourceControl/components/stagedFileComponent.svelte init_polyfill_buffer(); -var import_obsidian23 = require("obsidian"); +var import_obsidian27 = require("obsidian"); function add_css6(target) { append_styles(target, "svelte-pmbo0n", "main.svelte-pmbo0n .nav-file-title-content.svelte-pmbo0n{display:flex;align-items:center}"); } @@ -32939,7 +39151,7 @@ function create_fragment7(ctx) { t3 = space(); div3 = element("div"); t4 = text(t4_value); - attr(div0, "class", "nav-file-title-content svelte-pmbo0n"); + attr(div0, "class", "tree-item-inner nav-file-title-content svelte-pmbo0n"); attr(div1, "data-icon", "minus"); attr(div1, "aria-label", "Unstage"); attr(div1, "class", "clickable-icon"); @@ -32948,7 +39160,7 @@ function create_fragment7(ctx) { attr(div3, "data-type", div3_data_type_value = /*change*/ ctx[0].index); attr(div4, "class", "git-tools"); - attr(div5, "class", "nav-file-title"); + attr(div5, "class", "tree-item-self is-clickable nav-file-title"); attr( div5, "aria-label-position", @@ -32957,7 +39169,7 @@ function create_fragment7(ctx) { ); attr(div5, "aria-label", div5_aria_label_value = /*change*/ ctx[0].vault_path); - attr(main, "class", "nav-file svelte-pmbo0n"); + attr(main, "class", "tree-item nav-file svelte-pmbo0n"); }, m(target, anchor) { insert(target, main, anchor); @@ -33075,7 +39287,7 @@ function instance7($$self, $$props, $$invalidate) { let { view } = $$props; let { manager } = $$props; let buttons = []; - window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian23.setIcon)(b, b.getAttr("data-icon"), 16)), 0); + window.setTimeout(() => buttons.forEach((b) => (0, import_obsidian27.setIcon)(b, b.getAttr("data-icon"), 16)), 0); function hover(event) { if (app.vault.getAbstractFileByPath(change.vault_path)) { hoverPreview(event, view, change.vault_path); @@ -33084,7 +39296,7 @@ function instance7($$self, $$props, $$invalidate) { function open(event) { var _a2; const file = view.app.vault.getAbstractFileByPath(change.vault_path); - if (file instanceof import_obsidian23.TFile) { + if (file instanceof import_obsidian27.TFile) { (_a2 = getNewLeaf(event)) === null || _a2 === void 0 ? void 0 : _a2.openFile(file); } } @@ -33241,12 +39453,12 @@ function create_else_block3(ctx) { attr(div0, "data-icon", "folder"); set_style(div0, "padding-right", "5px"); set_style(div0, "display", "flex"); - attr(div1, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div2, "class", "nav-folder-title-content svelte-1lnl15d"); + attr(div1, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div2, "class", "tree-item-inner nav-folder-title-content svelte-1lnl15d"); set_style(div3, "width", "11px"); attr(div4, "class", "buttons"); attr(div5, "class", "git-tools"); - attr(div6, "class", "nav-folder-title"); + attr(div6, "class", "tree-item-self is-clickable nav-folder-title"); attr( div6, "aria-label-position", @@ -33255,7 +39467,7 @@ function create_else_block3(ctx) { ); attr(div6, "aria-label", div6_aria_label_value = /*entity*/ ctx[15].vaultPath); - attr(div7, "class", "nav-folder"); + attr(div7, "class", "tree-item nav-folder"); toggle_class( div7, "is-collapsed", @@ -33605,7 +39817,7 @@ function create_if_block_4(ctx) { c() { div = element("div"); create_component(treecomponent.$$.fragment); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -34240,20 +40452,20 @@ function create_if_block8(ctx) { t14 = space(); if (if_block2) if_block2.c(); - attr(div0, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div1, "class", "nav-folder-title-content"); + attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div1, "class", "tree-item-inner nav-folder-title-content"); attr(div2, "data-icon", "minus"); attr(div2, "aria-label", "Unstage"); attr(div2, "class", "clickable-icon"); attr(div3, "class", "buttons"); attr(div4, "class", "files-count svelte-48bivb"); attr(div5, "class", "git-tools"); - attr(div6, "class", "nav-folder-title"); - attr(div7, "class", "staged nav-folder"); + attr(div6, "class", "tree-item-self is-clickable nav-folder-title"); + attr(div7, "class", "staged tree-item nav-folder"); toggle_class(div7, "is-collapsed", !/*stagedOpen*/ ctx[13]); - attr(div8, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div9, "class", "nav-folder-title-content"); + attr(div8, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div9, "class", "tree-item-inner nav-folder-title-content"); attr(div10, "data-icon", "undo"); attr(div10, "aria-label", "Discard"); attr(div10, "class", "clickable-icon"); @@ -34263,12 +40475,12 @@ function create_if_block8(ctx) { attr(div12, "class", "buttons"); attr(div13, "class", "files-count svelte-48bivb"); attr(div14, "class", "git-tools"); - attr(div15, "class", "nav-folder-title"); + attr(div15, "class", "tree-item-self is-clickable nav-folder-title"); attr(div16, "class", "changes nav-folder"); toggle_class(div16, "is-collapsed", !/*changesOpen*/ ctx[12]); - attr(div17, "class", "nav-folder-children"); - attr(div18, "class", "nav-folder mod-root"); + attr(div17, "class", "tree-item-children nav-folder-children"); + attr(div18, "class", "tree-item nav-folder mod-root"); }, m(target, anchor) { insert(target, div18, anchor); @@ -34483,7 +40695,7 @@ function create_if_block_6(ctx) { c() { div = element("div"); if_block.c(); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -34762,7 +40974,7 @@ function create_if_block_42(ctx) { c() { div = element("div"); if_block.c(); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -35056,10 +41268,10 @@ function create_if_block_14(ctx) { t4 = space(); if (if_block) if_block.c(); - attr(div0, "class", "nav-folder-collapse-indicator collapse-icon"); - attr(div1, "class", "nav-folder-title-content"); + attr(div0, "class", "tree-item-icon nav-folder-collapse-indicator collapse-icon"); + attr(div1, "class", "tree-item-inner nav-folder-title-content"); attr(span, "class", "tree-item-flair"); - attr(div2, "class", "nav-folder-title"); + attr(div2, "class", "tree-item-self is-clickable nav-folder-title"); attr(div3, "class", "pulled nav-folder"); toggle_class(div3, "is-collapsed", !/*lastPulledFilesOpen*/ ctx[14]); @@ -35163,7 +41375,7 @@ function create_if_block_23(ctx) { c() { div = element("div"); if_block.c(); - attr(div, "class", "nav-folder-children"); + attr(div, "class", "tree-item-children nav-folder-children"); }, m(target, anchor) { insert(target, div, anchor); @@ -35755,8 +41967,8 @@ function instance9($$self, $$props, $$invalidate) { plugin.app.workspace.onLayoutReady(() => { window.setTimeout( () => { - buttons.forEach((btn) => (0, import_obsidian24.setIcon)(btn, btn.getAttr("data-icon"), 16)); - (0, import_obsidian24.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + buttons.forEach((btn) => (0, import_obsidian28.setIcon)(btn, btn.getAttr("data-icon"), 16)); + (0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); }, 0 ); @@ -35772,12 +41984,12 @@ function instance9($$self, $$props, $$invalidate) { plugin.setState(0 /* idle */); return false; } - plugin.gitManager.commit(commitMessage).then(() => { + plugin.promiseQueue.addTask(() => plugin.gitManager.commit(commitMessage).then(() => { if (commitMessage !== plugin.settings.commitMessage) { $$invalidate(2, commitMessage = ""); } plugin.setUpAutoBackup(); - }).finally(triggerRefresh2); + }).finally(triggerRefresh2)); } }); } @@ -35785,11 +41997,11 @@ function instance9($$self, $$props, $$invalidate) { return __awaiter(this, void 0, void 0, function* () { $$invalidate(5, loading = true); if (status2) { - plugin.createBackup(false, false, commitMessage).then(() => { + plugin.promiseQueue.addTask(() => plugin.createBackup(false, false, commitMessage).then(() => { if (commitMessage !== plugin.settings.commitMessage) { $$invalidate(2, commitMessage = ""); } - }).finally(triggerRefresh2); + }).finally(triggerRefresh2)); } }); } @@ -35843,26 +42055,26 @@ function instance9($$self, $$props, $$invalidate) { } function stageAll() { $$invalidate(5, loading = true); - plugin.gitManager.stageAll({ status: status2 }).finally(triggerRefresh2); + plugin.promiseQueue.addTask(() => plugin.gitManager.stageAll({ status: status2 }).finally(triggerRefresh2)); } function unstageAll() { $$invalidate(5, loading = true); - plugin.gitManager.unstageAll({ status: status2 }).finally(triggerRefresh2); + plugin.promiseQueue.addTask(() => plugin.gitManager.unstageAll({ status: status2 }).finally(triggerRefresh2)); } function push2() { $$invalidate(5, loading = true); - plugin.push().finally(triggerRefresh2); + plugin.promiseQueue.addTask(() => plugin.push().finally(triggerRefresh2)); } function pull2() { $$invalidate(5, loading = true); - plugin.pullChangesFromRemote().finally(triggerRefresh2); + plugin.promiseQueue.addTask(() => plugin.pullChangesFromRemote().finally(triggerRefresh2)); } function discard() { new DiscardModal(view.app, false, plugin.gitManager.getVaultPath("/")).myOpen().then((shouldDiscard) => { if (shouldDiscard === true) { - plugin.gitManager.discardAll({ status: plugin.cachedStatus }).finally(() => { + plugin.promiseQueue.addTask(() => plugin.gitManager.discardAll({ status: plugin.cachedStatus }).finally(() => { dispatchEvent(new CustomEvent("git-refresh")); - }); + })); } }); } @@ -35951,7 +42163,7 @@ function instance9($$self, $$props, $$invalidate) { $: { if (layoutBtn) { layoutBtn.empty(); - (0, import_obsidian24.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + (0, import_obsidian28.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); } } } @@ -36012,7 +42224,7 @@ var SourceControl = class extends SvelteComponent { var sourceControl_default = SourceControl; // src/ui/sourceControl/sourceControl.ts -var GitView = class extends import_obsidian25.ItemView { +var GitView = class extends import_obsidian29.ItemView { constructor(leaf, plugin) { super(leaf); this.plugin = plugin; @@ -36068,7 +42280,7 @@ var BranchStatusBar = class { }; // src/main.ts -var ObsidianGit = class extends import_obsidian26.Plugin { +var ObsidianGit = class extends import_obsidian30.Plugin { constructor() { super(...arguments); this.gitReady = false; @@ -36076,6 +42288,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.conflictOutputFile = "conflict-files-obsidian-git.md"; this.offlineMode = false; this.loading = false; + this.lineAuthoringFeature = new LineAuthoringFeature(this); } setState(state) { var _a2; @@ -36101,19 +42314,25 @@ var ObsidianGit = class extends import_obsidian26.Plugin { dispatchEvent(new CustomEvent("git-view-refresh")); } } + async refreshUpdatedHead() { + this.lineAuthoringFeature.refreshLineAuthorViews(); + } async onload() { console.log("loading " + this.manifest.name + " plugin"); + pluginRef.plugin = this; this.localStorage = new LocalStorageSettings(this); this.localStorage.migrate(); await this.loadSettings(); this.migrateSettings(); - this.addSettingTab(new ObsidianGitSettingsTab(this.app, this)); + this.settingsTab = new ObsidianGitSettingsTab(this.app, this); + this.addSettingTab(this.settingsTab); if (!this.localStorage.getPluginDisabled()) { this.loadPlugin(); } } async loadPlugin() { addEventListener("git-refresh", this.refresh.bind(this)); + addEventListener("git-head-update", this.refreshUpdatedHead.bind(this)); this.registerView(SOURCE_CONTROL_VIEW_CONFIG.type, (leaf) => { return new GitView(leaf, this); }); @@ -36123,6 +42342,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.registerView(DIFF_VIEW_CONFIG.type, (leaf) => { return new DiffView(leaf, this); }); + this.lineAuthoringFeature.onLoadPlugin(); this.app.workspace.registerHoverLinkSource( SOURCE_CONTROL_VIEW_CONFIG.type, { @@ -36202,7 +42422,10 @@ var ObsidianGit = class extends import_obsidian26.Plugin { active: true, state: { staged: false, - file: this.gitManager.getPath(file.path, true) + file: this.gitManager.asRepositoryRelativePath( + file.path, + true + ) } }); } @@ -36238,7 +42461,10 @@ var ObsidianGit = class extends import_obsidian26.Plugin { } else { app.vault.adapter.append( this.gitManager.getVaultPath(".gitignore"), - "\n" + this.gitManager.getPath(file.path, true) + "\n" + this.gitManager.asRepositoryRelativePath( + file.path, + true + ) ).then(() => { this.refresh(); }); @@ -36360,14 +42586,14 @@ var ObsidianGit = class extends import_obsidian26.Plugin { `${this.settings.basePath}/.git`, true ); - new import_obsidian26.Notice( + new import_obsidian30.Notice( "Successfully deleted repository. Reloading plugin..." ); this.unloadPlugin(); this.init(); } } else { - new import_obsidian26.Notice("No repository found"); + new import_obsidian30.Notice("No repository found"); } } }); @@ -36434,6 +42660,16 @@ var ObsidianGit = class extends import_obsidian26.Plugin { } } }); + this.addCommand({ + id: "toggle-line-author-info", + name: "Toggle line author information", + callback: () => { + var _a2; + return (_a2 = this.settingsTab) == null ? void 0 : _a2.configureLineAuthorShowStatus( + !this.settings.lineAuthor.show + ); + } + }); this.registerEvent( this.app.workspace.on("file-menu", (menu, file, source) => { this.handleFileMenu(menu, file, source); @@ -36449,7 +42685,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { }, 1e3) ); } - if (import_obsidian26.Platform.isDesktop && this.settings.showBranchStatusBar) { + if (import_obsidian30.Platform.isDesktop && this.settings.showBranchStatusBar) { const branchStatusBarEl = this.addStatusBarItem(); this.branchBar = new BranchStatusBar(branchStatusBarEl, this); this.registerInterval( @@ -36464,7 +42700,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { setRefreshDebouncer() { var _a2; (_a2 = this.debRefresh) == null ? void 0 : _a2.cancel(); - this.debRefresh = (0, import_obsidian26.debounce)( + this.debRefresh = (0, import_obsidian30.debounce)( () => { if (this.settings.refreshSourceControl) { this.refresh(); @@ -36476,8 +42712,8 @@ var ObsidianGit = class extends import_obsidian26.Plugin { } async showNotices() { const length = 1e4; - if (this.manifest.id === "obsidian-git" && import_obsidian26.Platform.isDesktopApp && !this.settings.showedMobileNotice) { - new import_obsidian26.Notice( + if (this.manifest.id === "obsidian-git" && import_obsidian30.Platform.isDesktopApp && !this.settings.showedMobileNotice) { + new import_obsidian30.Notice( "Obsidian Git is now available on mobile! Please read the plugin's README for more information.", length ); @@ -36485,7 +42721,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { await this.saveSettings(); } if (this.manifest.id === "obsidian-git-isomorphic") { - new import_obsidian26.Notice( + new import_obsidian30.Notice( "Obsidian Git Mobile is now deprecated. Please uninstall it and install Obsidian Git instead.", length ); @@ -36505,11 +42741,14 @@ var ObsidianGit = class extends import_obsidian26.Plugin { menu.addItem((item) => { item.setTitle(`Git: Stage`).setIcon("plus-circle").setSection("action").onClick((_) => { this.promiseQueue.addTask(async () => { - if (file instanceof import_obsidian26.TFile) { + if (file instanceof import_obsidian30.TFile) { await this.gitManager.stage(file.path, true); } else { await this.gitManager.stageAll({ - dir: this.gitManager.getPath(file.path, true) + dir: this.gitManager.asRepositoryRelativePath( + file.path, + true + ) }); } this.displayMessage(`Staged ${file.path}`); @@ -36519,11 +42758,14 @@ var ObsidianGit = class extends import_obsidian26.Plugin { menu.addItem((item) => { item.setTitle(`Git: Unstage`).setIcon("minus-circle").setSection("action").onClick((_) => { this.promiseQueue.addTask(async () => { - if (file instanceof import_obsidian26.TFile) { + if (file instanceof import_obsidian30.TFile) { await this.gitManager.unstage(file.path, true); } else { await this.gitManager.unstageAll({ - dir: this.gitManager.getPath(file.path, true) + dir: this.gitManager.asRepositoryRelativePath( + file.path, + true + ) }); } this.displayMessage(`Unstaged ${file.path}`); @@ -36555,10 +42797,15 @@ var ObsidianGit = class extends import_obsidian26.Plugin { unloadPlugin() { this.gitReady = false; dispatchEvent(new CustomEvent("git-refresh")); + this.lineAuthoringFeature.deactivateFeature(); this.clearAutoPull(); this.clearAutoPush(); this.clearAutoBackup(); removeEventListener("git-refresh", this.refresh.bind(this)); + removeEventListener( + "git-head-update", + this.refreshUpdatedHead.bind(this) + ); this.app.metadataCache.offref(this.modifyEvent); this.app.metadataCache.offref(this.deleteEvent); this.app.metadataCache.offref(this.createEvent); @@ -36577,12 +42824,14 @@ var ObsidianGit = class extends import_obsidian26.Plugin { if (data == void 0) { data = { showedMobileNotice: true }; } - this.settings = Object.assign({}, DEFAULT_SETTINGS, data); + this.settings = mergeSettingsByPriority(DEFAULT_SETTINGS, data); } async saveSettings() { + var _a2; + (_a2 = this.settingsTab) == null ? void 0 : _a2.beforeSaveSettings(); await this.saveData(this.settings); } - async saveLastAuto(date, mode) { + saveLastAuto(date, mode) { if (mode === "backup") { this.localStorage.setLastAutoBackup(date.toString()); } else if (mode === "pull") { @@ -36591,7 +42840,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.localStorage.setLastAutoPush(date.toString()); } } - async loadLastAuto() { + loadLastAuto() { var _a2, _b, _c; return { backup: new Date((_a2 = this.localStorage.getLastAutoBackup()) != null ? _a2 : ""), @@ -36599,11 +42848,14 @@ var ObsidianGit = class extends import_obsidian26.Plugin { push: new Date((_c = this.localStorage.getLastAutoPush()) != null ? _c : "") }; } + get useSimpleGit() { + return import_obsidian30.Platform.isDesktopApp; + } async init() { var _a2; this.showNotices(); try { - if (import_obsidian26.Platform.isDesktopApp) { + if (this.useSimpleGit) { this.gitManager = new SimpleGit(this); await this.gitManager.setGitInstance(); } else { @@ -36615,7 +42867,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.displayError("Cannot run git command"); break; case "missing-repo": - new import_obsidian26.Notice( + new import_obsidian30.Notice( "Can't find a valid git repository. Please create one via the given command or clone an existing repo.", 1e4 ); @@ -36640,6 +42892,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.registerEvent(this.createEvent); this.registerEvent(this.renameEvent); (_a2 = this.branchBar) == null ? void 0 : _a2.display(); + this.lineAuthoringFeature.conditionallyActivateBySettings(); dispatchEvent(new CustomEvent("git-refresh")); if (this.settings.autoPullOnBoot) { this.promiseQueue.addTask( @@ -36660,7 +42913,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { } async createNewRepo() { await this.gitManager.init(); - new import_obsidian26.Notice("Initialized new repo"); + new import_obsidian30.Notice("Initialized new repo"); await this.init(); } async cloneNewRepo() { @@ -36677,7 +42930,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { if (dir === confirmOption) { dir = "."; } - dir = (0, import_obsidian26.normalizePath)(dir); + dir = (0, import_obsidian30.normalizePath)(dir); if (dir === "/") { dir = "."; } @@ -36689,7 +42942,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { }); const containsConflictDir = await modal2.open(); if (containsConflictDir === void 0) { - new import_obsidian26.Notice("Aborted clone"); + new import_obsidian30.Notice("Aborted clone"); return; } else if (containsConflictDir === "YES") { const confirmOption2 = "DELETE ALL YOUR LOCAL CONFIG AND PLUGINS"; @@ -36705,7 +42958,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { true ); } else { - new import_obsidian26.Notice("Aborted clone"); + new import_obsidian30.Notice("Aborted clone"); return; } } @@ -36718,11 +42971,11 @@ var ObsidianGit = class extends import_obsidian26.Plugin { if (depth !== "") { depthInt = parseInt(depth); if (isNaN(depthInt)) { - new import_obsidian26.Notice("Invalid depth. Aborting clone."); + new import_obsidian30.Notice("Invalid depth. Aborting clone."); return; } } - new import_obsidian26.Notice(`Cloning new repo into "${dir}"`); + new import_obsidian30.Notice(`Cloning new repo into "${dir}"`); const oldBase = this.settings.basePath; const customDir = dir && dir !== "."; if (customDir) { @@ -36735,8 +42988,8 @@ var ObsidianGit = class extends import_obsidian26.Plugin { this.saveSettings(); throw error; } - new import_obsidian26.Notice("Cloned new repo."); - new import_obsidian26.Notice("Please restart Obsidian"); + new import_obsidian30.Notice("Cloned new repo."); + new import_obsidian30.Notice("Please restart Obsidian"); if (customDir) { this.saveSettings(); } @@ -36807,13 +43060,17 @@ var ObsidianGit = class extends import_obsidian26.Plugin { }) { if (!await this.isAllInitialized()) return false; - const hadConflict = this.localStorage.getConflict() === "true"; + let hadConflict = this.localStorage.getConflict() === "true"; let changedFiles; let status2; let unstagedFiles; if (this.gitManager instanceof SimpleGit) { this.mayDeleteConflictFile(); status2 = await this.updateCachedStatus(); + if (status2.conflicted.length == 0) { + this.localStorage.setConflict("false"); + hadConflict = false; + } if (fromAutoBackup && status2.conflicted.length > 0) { this.displayError( `Did not commit, because you have conflicts in ${status2.conflicted.length} ${status2.conflicted.length == 1 ? "file" : "files"}. Please resolve them and commit per command.` @@ -36850,7 +43107,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { let cmtMessage = commitMessage != null ? commitMessage : commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) { if (!this.settings.disablePopups && fromAutoBackup) { - new import_obsidian26.Notice( + new import_obsidian30.Notice( "Auto backup: Please enter a custom commit message. Leave empty to abort" ); } @@ -36879,6 +43136,11 @@ var ObsidianGit = class extends import_obsidian26.Plugin { unstagedFiles }); } + if (this.gitManager instanceof SimpleGit) { + if ((await this.updateCachedStatus()).conflicted.length == 0) { + this.localStorage.setConflict("false"); + } + } let roughly = false; if (committedFiles === void 0) { roughly = true; @@ -36905,7 +43167,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { const file = this.app.vault.getAbstractFileByPath( f.vault_path ); - if (file instanceof import_obsidian26.TFile) { + if (file instanceof import_obsidian30.TFile) { return file.stat.size >= 1e8; } return false; @@ -36981,7 +43243,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { ); if (file) { this.app.workspace.iterateAllLeaves((leaf) => { - if (leaf.view instanceof import_obsidian26.MarkdownView && leaf.view.file.path == file.path) { + if (leaf.view instanceof import_obsidian30.MarkdownView && leaf.view.file.path == file.path) { leaf.detach(); } }); @@ -37082,7 +43344,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { } async remotesAreSet() { if (!(await this.gitManager.branchInfo()).tracking) { - new import_obsidian26.Notice("No upstream branch is set. Please select one."); + new import_obsidian30.Notice("No upstream branch is set. Please select one."); const remoteBranch = await this.selectRemoteBranch(); if (remoteBranch == void 0) { this.displayError("Aborted. No upstream-branch is set!", 1e4); @@ -37136,7 +43398,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { await this.gitManager.discardAll({ status: this.cachedStatus }); - new import_obsidian26.Notice( + new import_obsidian30.Notice( "All local changes have been discarded. New files remain untouched." ); } @@ -37155,7 +43417,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { "modify", () => this.autoBackupDebouncer() ); - this.autoBackupDebouncer = (0, import_obsidian26.debounce)( + this.autoBackupDebouncer = (0, import_obsidian30.debounce)( () => this.doAutoBackup(), time, true @@ -37250,7 +43512,7 @@ var ObsidianGit = class extends import_obsidian26.Plugin { "", ...conflicted.map((e) => { const file = this.app.vault.getAbstractFileByPath(e); - if (file instanceof import_obsidian26.TFile) { + if (file instanceof import_obsidian30.TFile) { const link = this.app.metadataCache.fileToLinktext( file, "/" @@ -37353,18 +43615,18 @@ I strongly recommend to use "Source mode" for viewing the conflicted files. For var _a2; (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); if (!this.settings.disablePopups) { - new import_obsidian26.Notice(message, 5 * 1e3); + new import_obsidian30.Notice(message, 5 * 1e3); } console.log(`git obsidian message: ${message}`); } displayError(message, timeout = 10 * 1e3) { var _a2; if (message instanceof Errors.UserCanceledError) { - new import_obsidian26.Notice("Aborted"); + new import_obsidian30.Notice("Aborted"); return; } message = message.toString(); - new import_obsidian26.Notice(message, timeout); + new import_obsidian30.Notice(message, timeout); console.log(`git obsidian error: ${message}`); (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); } @@ -37388,6 +43650,16 @@ safe-buffer/index.js: crc-32/crc32.js: (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) +js-sha256/src/sha256.js: + (** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.9.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + *) + feather-icons/dist/feather.js: (*! Copyright (c) 2016 Jed Watson. diff --git a/notes/.obsidian/plugins/obsidian-git/manifest.json b/notes/.obsidian/plugins/obsidian-git/manifest.json index 9063c84..a3162b5 100644 --- a/notes/.obsidian/plugins/obsidian-git/manifest.json +++ b/notes/.obsidian/plugins/obsidian-git/manifest.json @@ -5,5 +5,5 @@ "isDesktopOnly": false, "fundingUrl": "https://ko-fi.com/vinzent", "js": "main.js", - "version": "2.19.1" + "version": "2.20.3" } diff --git a/notes/.obsidian/plugins/obsidian-git/styles.css b/notes/.obsidian/plugins/obsidian-git/styles.css index b70aac1..39cdb13 100644 --- a/notes/.obsidian/plugins/obsidian-git/styles.css +++ b/notes/.obsidian/plugins/obsidian-git/styles.css @@ -484,4 +484,24 @@ .workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag { border: 1px solid #3572b0; -} \ No newline at end of file +} + +/* ====================== Line Authoring Information ====================== */ + +.cm-gutterElement.obs-git-blame-gutter { + /* Add background color to spacing inbetween and around the gutter for better aesthetics */ + border-width: 0px 2px 0.2px 2px; + border-style: solid; + border-color: var(--background-secondary); + background-color: var(--background-secondary); +} + +.cm-gutterElement.obs-git-blame-gutter > div, .line-author-settings-preview { + /* delegate text color to settings */ + color: var(--obs-git-gutter-text); + font-family: monospace; + height: 100%; /* ensure, that age-based background color occupies entire parent */ + text-align: right; + padding: 0px 6px 0px 6px; + white-space: pre; /* Keep spaces and do not collapse them. */ +} diff --git a/notes/.obsidian/plugins/obsidian-icon-folder/main.js b/notes/.obsidian/plugins/obsidian-icon-folder/main.js index ebf46fa..80c09e1 100644 --- a/notes/.obsidian/plugins/obsidian-icon-folder/main.js +++ b/notes/.obsidian/plugins/obsidian-icon-folder/main.js @@ -130,6 +130,7 @@ const setPath = (newPath) => { const preloadedIcons = []; let iconPacks$1 = []; const moveIconPackDirectories = (plugin, from, to) => __awaiter(void 0, void 0, void 0, function* () { + // Tries to move all icon packs to the new folder. for (let i = 0; i < iconPacks$1.length; i++) { const iconPack = iconPacks$1[i]; const doesDirExist = yield createDirectory(plugin, iconPack.name); @@ -146,12 +147,17 @@ const moveIconPackDirectories = (plugin, from, to) => __awaiter(void 0, void 0, } new obsidian.Notice(`...moved ${iconPack.name}`); } + // Removes all the existing icon packs in the `from` directory. for (let i = 0; i < iconPacks$1.length; i++) { const iconPack = iconPacks$1[i]; if (yield plugin.app.vault.adapter.exists(`${from}/${iconPack.name}`)) { yield plugin.app.vault.adapter.rmdir(`${from}/${iconPack.name}`, true); } } + // Remove root directory that contains all the icon packs. + if (!to.startsWith(from)) { + yield plugin.app.vault.adapter.rmdir(`${from}`, true); + } }); const createIconPackDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () { yield createDirectory(plugin, dir); @@ -292,6 +298,11 @@ const loadIcon = (plugin, iconPacks, iconName) => __awaiter(void 0, void 0, void preloadedIcons.push(icon); }); const initIconPacks = (plugin) => __awaiter(void 0, void 0, void 0, function* () { + // Remove the beginning slash because paths which start with `/` are the same as without + // a slash. + if (path.startsWith('/')) { + path = path.slice(1); + } // Load all the custom generated icon packs. const loadedIconPacks = yield plugin.app.vault.adapter.list(path); for (let i = 0; i < loadedIconPacks.folders.length; i++) { @@ -2233,6 +2244,10 @@ var emoji = { isEmoji, }; +// Default obsidian file icon. +const DEFAULT_FILE_ICON = ''; +// Default obsidian folder icon. +const DEFAULT_FOLDER_ICON = ''; /** * Tries to read the file synchronously. * @param file File that will be read. @@ -2302,6 +2317,7 @@ const setMargin = (el, margin) => { */ const applyAll = (plugin, iconString, container) => { iconString = svg.setFontSize(iconString, plugin.getSettings().fontSize); + container.style.color = plugin.getSettings().iconColor; iconString = svg.colorize(iconString, plugin.getSettings().iconColor); // Sets the margin of an element. const margin = plugin.getSettings().extraMargin; @@ -2333,7 +2349,9 @@ const refreshIconNodes = (plugin) => { if (fileItem) { const titleEl = getFileItemTitleEl(fileItem); const iconNode = titleEl.querySelector('.obsidian-icon-folder-icon'); - iconNode.innerHTML = applyAll(plugin, iconNode.innerHTML, iconNode); + if (iconNode) { + iconNode.innerHTML = applyAll(plugin, iconNode.innerHTML, iconNode); + } } }); } @@ -2385,6 +2403,7 @@ const setIconForNode = (plugin, iconName, node, color) => { // The icon is possibly not an emoji. let iconContent = style.applyAll(plugin, possibleIcon, node); if (color) { + node.style.color = color; iconContent = svg.colorize(possibleIcon, color); } node.innerHTML = iconContent; @@ -2530,6 +2549,7 @@ class IconsPickerModal extends obsidian.FuzzySuggestModal { dom.createIconNode(this.plugin, this.path, iconName); (_a = this.onSelect) === null || _a === void 0 ? void 0 : _a.call(this, iconName); this.plugin.addFolderIcon(this.path, item); + this.plugin.notifyPlugins(); } renderSuggestion(item, el) { super.renderSuggestion(item, el); @@ -2869,8 +2889,6 @@ const update = (plugin, file, iconName) => { iconContainer.style.margin = null; } }; -// Default icon for tabs of obsidian. -const DEFAULT_ICON = ''; const remove$1 = (file, options) => { const iconContainers = getIconContainers(file.basename); if (iconContainers.length === 0) { @@ -2882,7 +2900,7 @@ const remove$1 = (file, options) => { iconContainer.style.display = 'none'; } else { - iconContainer.innerHTML = DEFAULT_ICON; + iconContainer.innerHTML = DEFAULT_FILE_ICON; } } }; @@ -2914,7 +2932,7 @@ const getFolders = (plugin) => { * @returns An array of files that include the folder path. */ const getFiles = (plugin, folderPath) => { - return plugin.app.vault.getFiles().filter((file) => file.path.includes(folderPath)); + return plugin.app.vault.getAllLoadedFiles().filter((file) => file.path.includes(folderPath)); }; const add = (plugin, folderPath, iconName, options) => { const folder = plugin.getData()[folderPath]; @@ -3050,15 +3068,15 @@ const addAll = (plugin, data, registeredFileExplorers, callback) => { } // Callback function to register other events to this file explorer. callback === null || callback === void 0 ? void 0 : callback(); - } - // Handles the custom rules. - customRule.addAll(plugin); - // Adds icons to already open file tabs. - if (plugin.getSettings().iconInTabsEnabled) { - for (const leaf of plugin.app.workspace.getLeavesOfType('markdown')) { - const file = leaf.view.file; - if (file) { - iconTabs.add(plugin, file); + // Handles the custom rules. + customRule.addAll(plugin); + // Adds icons to already open file tabs. + if (plugin.getSettings().iconInTabsEnabled) { + for (const leaf of plugin.app.workspace.getLeavesOfType('markdown')) { + const file = leaf.view.file; + if (file) { + iconTabs.add(plugin, file); + } } } } @@ -3367,6 +3385,13 @@ class CustomIconRuleSetting extends IconFolderSetting { } }); } + createDescriptionEl(container, text) { + const description = container.createEl('p', { + text, + cls: 'setting-item-description', + }); + description.style.marginBottom = 'var(--size-2-2)'; + } display() { new obsidian.Setting(this.containerEl) .setName('Add icon rule') @@ -3413,17 +3438,7 @@ class CustomIconRuleSetting extends IconFolderSetting { this.chooseIconBtn = btn; }); this.plugin.getSettings().rules.forEach((rule) => { - var _a; const settingRuleEl = new obsidian.Setting(this.containerEl).setName(rule.rule).setDesc(`Icon: ${rule.icon}`); - const colorPicker = new obsidian.ColorComponent(settingRuleEl.controlEl) - .setValue((_a = rule.color) !== null && _a !== void 0 ? _a : '#000000') - .onChange((value) => __awaiter(this, void 0, void 0, function* () { - rule.color = value; - yield this.plugin.saveIconFolderData(); - customRule.addToAllFiles(this.plugin, rule); - this.updateIconTabs(rule, false); - })); - settingRuleEl.components.push(colorPicker); // Add the configuration button for configuring where the custom rule gets applied to. settingRuleEl.addButton((btn) => { var _a; @@ -3465,30 +3480,85 @@ class CustomIconRuleSetting extends IconFolderSetting { btn.setIcon('pencil'); btn.setTooltip('Edit the custom rule'); btn.onClick(() => { + var _a; // Create modal and its children elements. const modal = new obsidian.Modal(this.plugin.app); + modal.contentEl.style.display = 'block'; modal.modalEl.classList.add('obsidian-icon-folder-custom-rule-modal'); modal.titleEl.createEl('h3', { text: 'Edit custom rule' }); + // Create the input for the rule. + this.createDescriptionEl(modal.contentEl, 'Regex or simple string'); const input = new obsidian.TextComponent(modal.contentEl); input.setValue(rule.rule); - const button = new obsidian.ButtonComponent(modal.contentEl); - button.setButtonText('Save'); - button.onClick(() => __awaiter(this, void 0, void 0, function* () { - // Update the rules with new edited rule. - const newRules = this.plugin.getSettings().rules.map((r) => { - if (rule.rule === r.rule && rule.color === r.color && rule.icon === r.icon && rule.for === r.for) { - return Object.assign(Object.assign({}, r), { rule: input.getValue() }); + input.onChange((value) => __awaiter(this, void 0, void 0, function* () { + rule.rule = value; + })); + // Create the change icon button with icon preview. + this.createDescriptionEl(modal.contentEl, 'Custom rule icon'); + const iconContainer = modal.contentEl.createDiv(); + iconContainer.style.display = 'flex'; + iconContainer.style.alignItems = 'center'; + iconContainer.style.justifyContent = 'space-between'; + const iconEl = iconContainer.createDiv(); + const iconPreviewEl = iconEl.createDiv(); + dom.setIconForNode(this.plugin, rule.icon, iconPreviewEl); + iconEl.style.display = 'flex'; + iconEl.style.alignItems = 'center'; + iconEl.style.justifyContent = 'space-between'; + iconEl.style.margin = null; + iconPreviewEl.innerHTML = svg.setFontSize(iconPreviewEl.innerHTML, 20); + const iconNameEl = iconEl.createEl('div', { cls: 'setting-item-description' }); + iconNameEl.style.paddingTop = '0'; + iconNameEl.style.marginLeft = 'var(--size-2-2)'; + iconNameEl.innerText = rule.icon; + const changeIconBtn = new obsidian.ButtonComponent(iconContainer); + changeIconBtn.setButtonText('Change icon'); + changeIconBtn.onClick(() => __awaiter(this, void 0, void 0, function* () { + const modal = new IconsPickerModal(this.app, this.plugin, rule.icon); + modal.onChooseItem = (item) => __awaiter(this, void 0, void 0, function* () { + let icon = ''; + if (typeof item === 'object') { + icon = item.displayName; } - return r; + else { + icon = item; + } + rule.icon = icon; + dom.setIconForNode(this.plugin, rule.icon, iconPreviewEl); + iconPreviewEl.innerHTML = svg.setFontSize(iconPreviewEl.innerHTML, 20); + iconNameEl.innerText = rule.icon; }); - this.plugin.getSettings().rules = newRules; + modal.open(); + })); + // Create the color picker for the rule. + this.createDescriptionEl(modal.contentEl, 'Color of the icon'); + const colorContainer = modal.contentEl.createDiv(); + colorContainer.style.display = 'flex'; + colorContainer.style.alignItems = 'center'; + colorContainer.style.justifyContent = 'space-between'; + const colorPicker = new obsidian.ColorComponent(colorContainer).setValue((_a = rule.color) !== null && _a !== void 0 ? _a : '#000000').onChange((value) => { + rule.color = value; + }); + const defaultColorButton = new obsidian.ButtonComponent(colorContainer); + defaultColorButton.setTooltip('Set color to the default one'); + defaultColorButton.setButtonText('Default'); + defaultColorButton.onClick(() => { + colorPicker.setValue('#000000'); + rule.color = undefined; + }); + // Create the save button. + const button = new obsidian.ButtonComponent(modal.contentEl); + button.buttonEl.style.marginTop = 'var(--size-4-4)'; + button.buttonEl.style.float = 'right'; + button.setButtonText('Save Changes'); + button.onClick(() => __awaiter(this, void 0, void 0, function* () { yield this.plugin.saveIconFolderData(); this.refreshDisplay(); new obsidian.Notice('Custom rule updated.'); // Refresh the DOM. yield customRule.removeFromAllFiles(this.plugin, rule); this.updateIconTabs(rule, true); - newRules.forEach((rule) => __awaiter(this, void 0, void 0, function* () { + this.plugin.getSettings().rules.forEach((rule) => __awaiter(this, void 0, void 0, function* () { yield customRule.addToAllFiles(this.plugin, rule); this.updateIconTabs(rule, false); })); @@ -3589,7 +3659,9 @@ const refreshStyleOfIcons = (plugin) => { if (folderItem) { const titleEl = getFileItemTitleEl(folderItem); const iconNode = titleEl.querySelector('.obsidian-icon-folder-icon'); - iconNode.innerHTML = style.applyAll(plugin, iconNode.innerHTML, iconNode); + if (iconNode) { + iconNode.innerHTML = style.applyAll(plugin, iconNode.innerHTML, iconNode); + } } // Apply style for all files in this inheritance. const files = inheritance.getFiles(plugin, folderPath); @@ -3597,7 +3669,9 @@ const refreshStyleOfIcons = (plugin) => { const fileItem = fileExplorer.view.fileItems[file.path]; const titleEl = getFileItemTitleEl(fileItem); const iconNode = titleEl.querySelector('.obsidian-icon-folder-icon'); - iconNode.innerHTML = style.applyAll(plugin, iconNode.innerHTML, iconNode); + if (iconNode) { + iconNode.innerHTML = style.applyAll(plugin, iconNode.innerHTML, iconNode); + } } } // Refreshes the icon style for all custom icon rules, when the color of the rule is @@ -3785,6 +3859,12 @@ var iconPacks = { path: '', downloadLink: 'https://github.com/lucide-icons/lucide/releases/download/v0.122.0/lucide-icons-0.122.0.zip', }, + tablerIcons: { + name: 'tabler-icons', + displayName: 'Tabler Icons', + path: 'svg', + downloadLink: 'https://github.com/tabler/tabler-icons/releases/download/v2.17.0/tabler-icons-2.17.0.zip', + }, }; var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; @@ -4147,27 +4227,70 @@ class BookmarkInternalPlugin extends InternalPluginInjector { } return undefined; } - setIcon(filePath, node) { + setIconOrRemove(filePath, node) { const iconName = icon.getByPath(this.plugin, filePath); - const iconNode = node.querySelector('.tree-item-icon'); - if (!iconNode || !iconName) { + let iconNode = node.querySelector('.tree-item-icon'); + if (!iconName) { + if (iconNode) { + // Reset the icon to the default obsidian icon. + const items = this.bookmark.instance.items; + const item = items.find((item) => item.path === filePath); + if ((item === null || item === void 0 ? void 0 : item.type) === 'file') { + iconNode.innerHTML = DEFAULT_FILE_ICON; + } + else if ((item === null || item === void 0 ? void 0 : item.type) === 'folder') { + iconNode.innerHTML = DEFAULT_FOLDER_ICON; + } + } return; } + // If the icon node is not defined, then we need to recreate it. + if (!iconNode) { + // Get the tree-item-self element where the original icon is set. + const treeItemSelf = node.querySelector('.tree-item-self'); + if (!treeItemSelf) { + return; + } + iconNode = node.createDiv({ cls: 'tree-item-icon' }); + // Prepends the icon to the tree-item-self element as a first child. + treeItemSelf.prepend(iconNode); + } + const defaultMargin = iconNode.style.margin; dom.setIconForNode(this.plugin, iconName, iconNode); + // Reset the margin to the default value to prevent overlapping with the text. + iconNode.style.margin = defaultMargin; } computeNodesWithPath(callback) { if (!this.leaf) { return; } - const { itemDoms, containerEl } = this.leaf; - // Retrieves all the items of the bookmark plugin which areo objects. - const items = this.bookmark.instance.items; - items.forEach((item) => { + /** + * Retrieves the lookup item from the bookmark plugin and calls the callback with the + * element and the path of the item. + * @param item BookmarkItem object which can be a folder or a file. + * @param itemDoms WeakMap of the bookmark plugin which contains the lookup item. + */ + const retrieveLookupItem = (item, itemDoms) => { const lookupItem = itemDoms.get(item); if (!lookupItem) { return; } - callback(lookupItem.el, item.path); + if (item.items) { + // If the item is a folder, then we need to retrieve all the items inside it. + for (const subItem of item.items) { + retrieveLookupItem(subItem, itemDoms); + } + } + // If the item is a `file` or a `folder` (not of type `group`), then we can call the callback. + if (item.type === 'file' || item.type === 'folder') { + callback(lookupItem.el, item.path); + } + }; + const { itemDoms, containerEl } = this.leaf; + // Retrieves all the items of the bookmark plugin which areo objects. + const items = this.bookmark.instance.items; + items.forEach((item) => { + retrieveLookupItem(item, itemDoms); }); } onMount() { @@ -4175,7 +4298,7 @@ class BookmarkInternalPlugin extends InternalPluginInjector { this.computeNodesWithPath((node, filePath) => { nodesWithPath[filePath] = node; }); - Object.entries(nodesWithPath).forEach(([filePath, node]) => this.setIcon(filePath, node)); + Object.entries(nodesWithPath).forEach(([filePath, node]) => this.setIconOrRemove(filePath, node)); } register() { if (!this.plugin.app.internalPlugins.getPluginById('file-explorer').enabled) { @@ -4189,14 +4312,17 @@ class BookmarkInternalPlugin extends InternalPluginInjector { const self = this; this.plugin.register(around(this.bookmark.instance, { addItem: function (next) { - return function (file) { - next.call(this, file); - self.onMount(); + return function (...args) { + next.call(this, ...args); + // TODO: Remove in the future, I could not think of a better way to do this. + setTimeout(() => { + self.onMount(); + }, 1000); }; }, removeItem: function (next) { - return function (file) { - next.call(this, file); + return function (...args) { + next.call(this, ...args); self.onMount(); }; }, @@ -4271,6 +4397,7 @@ class IconFolderPlugin extends obsidian.Plugin { item.onClick(() => { this.removeFolderIcon(file.path); dom.removeIconInPath(file.path); + this.notifyPlugins(); // Remove icon in tab when setting is enabled. if (this.getSettings().iconInTabsEnabled) { iconTabs.remove(file, { replaceWithDefaultIcon: true }); @@ -4353,25 +4480,10 @@ class IconFolderPlugin extends obsidian.Plugin { isSomeEmojiStyleActive() { return this.getSettings().emojiStyle !== 'none'; } - getSearchLeave() { - return this.app.workspace.getLeavesOfType('search')[0].view; - } - addIconsToSearch() { - console.log(this.app.workspace.getLeavesOfType('backlink')); - const searchLeaveDom = this.getSearchLeave().dom; - searchLeaveDom.children.forEach((child) => { - const file = child.file; - const collapseEl = child.collapseEl; - const existingIcon = child.containerEl.querySelector('.obsidian-icon-folder-icon'); - if (existingIcon) { - existingIcon.remove(); - } - const iconName = this.data[file.path]; - if (iconName) { - const iconNode = child.containerEl.createDiv(); - iconNode.classList.add('obsidian-icon-folder-icon'); - dom.setIconForNode(this, this.data[file.path], iconNode); - iconNode.insertAfter(collapseEl); + notifyPlugins() { + this.modifiedInternalPlugins.forEach((internalPlugin) => { + if (internalPlugin.enabled) { + internalPlugin.onMount(); } }); } @@ -4387,7 +4499,8 @@ class IconFolderPlugin extends obsidian.Plugin { icon.addAll(this, data, this.registeredFileExplorers, () => { //const searchLeaveDom = this.getSearchLeave().dom; //searchLeaveDom.changed = () => this.addIconsToSearch(); - // Register rename event for adding icons with custom rules to the DOM. + // Register rename event for adding icons with custom rules to the DOM and updating + // inheritance when file was moved to another directory. this.registerEvent(this.app.vault.on('rename', (file, oldPath) => { customRule.getSortedRules(this).forEach((rule) => __awaiter(this, void 0, void 0, function* () { if (customRule.doesExistInPath(rule, oldPath)) { @@ -4395,11 +4508,25 @@ class IconFolderPlugin extends obsidian.Plugin { } yield customRule.add(this, document.body, rule, file); })); + if (inheritance.doesExistInPath(this, file.path)) { + const folderPath = inheritance.getFolderPathByFilePath(this, file.path); + const folderInheritance = inheritance.getByPath(this, file.path); + const iconName = folderInheritance.inheritanceIcon; + dom.removeIconInPath(file.path); + inheritance.add(this, folderPath, iconName, { + file, + onAdd: (file) => { + if (this.getSettings().iconInTabsEnabled) { + iconTabs.add(this, file, { iconName }); + } + }, + }); + } })); // Register create event for checking inheritance functionality. this.registerEvent(this.app.vault.on('create', (file) => { const inheritanceFolders = Object.entries(this.data).filter(([k, v]) => k !== 'settings' && typeof v === 'object'); - if (file.parent.path === '/') + if (!file.parent || file.parent.path === '/') return; inheritanceFolders.forEach(([path, obj]) => { inheritance.add(this, path, obj.inheritanceIcon, { @@ -4563,4 +4690,4 @@ class IconFolderPlugin extends obsidian.Plugin { } module.exports = IconFolderPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzLy5wbnBtL0Byb2xsdXArcGx1Z2luLXR5cGVzY3JpcHRAOC41LjBfcm9sbHVwQDIuNzkuMV90c2xpYkAyLjUuMF90eXBlc2NyaXB0QDQuOS41L25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJzcmMvTWV0YURhdGEudHMiLCJzcmMvbGliL3V0aWwvc3ZnLnRzIiwic3JjL2ljb25QYWNrTWFuYWdlci50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS90d2Vtb2ppQDE0LjAuMi9ub2RlX21vZHVsZXMvdHdlbW9qaS9kaXN0L3R3ZW1vamkuZXNtLmpzIiwic3JjL2Vtb2ppLnRzIiwic3JjL3V0aWwudHMiLCJzcmMvbGliL3V0aWwvc3R5bGUudHMiLCJzcmMvbGliL3V0aWwvZG9tLnRzIiwic3JjL2ljb25zUGlja2VyTW9kYWwudHMiLCJzcmMvc2V0dGluZ3MvZGF0YS50cyIsInNyYy9saWIvY3VzdG9tUnVsZS50cyIsInNyYy9saWIvaWNvblRhYnMudHMiLCJzcmMvbGliL2luaGVyaXRhbmNlLnRzIiwic3JjL2xpYi9pY29uLnRzIiwic3JjL21pZ3JhdGlvbi50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uRm9sZGVyU2V0dGluZy50cyIsInNyYy9zZXR0aW5ncy91aS9jdXN0b21JY29uUGFjay50cyIsInNyYy9zZXR0aW5ncy91aS9jdXN0b21JY29uUnVsZS50cyIsInNyYy9zZXR0aW5ncy91aS9lbW9qaVN0eWxlLnRzIiwic3JjL3NldHRpbmdzL2hlbHBlci50cyIsInNyYy9zZXR0aW5ncy91aS9leHRyYU1hcmdpbi50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uQ29sb3IudHMiLCJzcmMvc2V0dGluZ3MvdWkvaWNvbkZvbnRTaXplLnRzIiwic3JjL3NldHRpbmdzL3VpL2ljb25QYWNrc1BhdGgudHMiLCJzcmMvaWNvblBhY2tzLnRzIiwibm9kZV9tb2R1bGVzLy5wbnBtL2pzemlwQDMuMTAuMS9ub2RlX21vZHVsZXMvanN6aXAvZGlzdC9qc3ppcC5taW4uanMiLCJzcmMvemlwVXRpbC50cyIsInNyYy9pY29uUGFja0Jyb3dzZXJNb2RhbC50cyIsInNyYy9zZXR0aW5ncy91aS9wcmVkZWZpbmVkSWNvblBhY2tzLnRzIiwic3JjL3NldHRpbmdzL3VpL3JlY2VudGx5VXNlZEljb25zLnRzIiwic3JjL3NldHRpbmdzL3VpL3RvZ2dsZUljb25JblRhYnMudHMiLCJzcmMvc2V0dGluZ3MvdWkvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvLnBucG0vbW9ua2V5LWFyb3VuZEAyLjMuMC9ub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsUGx1Z2luSW5qZWN0b3IudHMiLCJzcmMvaW50ZXJuYWwtcGx1Z2lucy9zdGFycmVkLnRzIiwic3JjL2ludGVybmFsLXBsdWdpbnMvYm9va21hcmsudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsiTm90aWNlIiwiaWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJkb2VzRXhpc3RJblBhdGgiLCJhZGRBbGwiLCJhZGQiLCJnZXRCeVBhdGgiLCJnZXRGaWxlcyIsInJlbW92ZSIsIlNldHRpbmciLCJDb2xvckNvbXBvbmVudCIsIk1vZGFsIiwiVGV4dENvbXBvbmVudCIsIkJ1dHRvbkNvbXBvbmVudCIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwicmVxdWlyZSIsImdsb2JhbCIsInJlcXVlc3RVcmwiLCJKU1ppcCIsIlBsdWdpblNldHRpbmdUYWIiLCJQbHVnaW4iLCJyZXF1aXJlQXBpVmVyc2lvbiIsIkljb25Gb2xkZXJTZXR0aW5nc1VJIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBb0dBO0FBQ08sU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztB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Q0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBQyxDQUFDLE9BQU0sQ0FBQyxPQUFPLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFD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QUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBT0EsZUFBTyxFQUFFQSxlQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxjQUFjLEdBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFlBQVksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMs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LENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG9JQUFvSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFFLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU9DLGNBQU0sQ0FBQ0EsY0FBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMscUNBQW9DLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBT0EsY0FBTSxDQUFDQSxjQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTs7O0FDVHQ5OUYsTUFBTSxlQUFlLEdBQUcsQ0FBTyxHQUFXLEtBQUksU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7SUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTUMsbUJBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzLy5wbnBtL0Byb2xsdXArcGx1Z2luLXR5cGVzY3JpcHRAOC41LjBfcm9sbHVwQDIuNzkuMV90c2xpYkAyLjUuMF90eXBlc2NyaXB0QDQuOS41L25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJzcmMvTWV0YURhdGEudHMiLCJzcmMvbGliL3V0aWwvc3ZnLnRzIiwic3JjL2ljb25QYWNrTWFuYWdlci50cyIsIm5vZGVfbW9kdWxlcy8ucG5wbS90d2Vtb2ppQDE0LjAuMi9ub2RlX21vZHVsZXMvdHdlbW9qaS9kaXN0L3R3ZW1vamkuZXNtLmpzIiwic3JjL2Vtb2ppLnRzIiwic3JjL3V0aWwudHMiLCJzcmMvbGliL3V0aWwvc3R5bGUudHMiLCJzcmMvbGliL3V0aWwvZG9tLnRzIiwic3JjL2ljb25zUGlja2VyTW9kYWwudHMiLCJzcmMvc2V0dGluZ3MvZGF0YS50cyIsInNyYy9saWIvY3VzdG9tUnVsZS50cyIsInNyYy9saWIvaWNvblRhYnMudHMiLCJzcmMvbGliL2luaGVyaXRhbmNlLnRzIiwic3JjL2xpYi9pY29uLnRzIiwic3JjL21pZ3JhdGlvbi50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uRm9sZGVyU2V0dGluZy50cyIsInNyYy9zZXR0aW5ncy91aS9jdXN0b21JY29uUGFjay50cyIsInNyYy9zZXR0aW5ncy91aS9jdXN0b21JY29uUnVsZS50cyIsInNyYy9zZXR0aW5ncy91aS9lbW9qaVN0eWxlLnRzIiwic3JjL3NldHRpbmdzL2hlbHBlci50cyIsInNyYy9zZXR0aW5ncy91aS9leHRyYU1hcmdpbi50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uQ29sb3IudHMiLCJzcmMvc2V0dGluZ3MvdWkvaWNvbkZvbnRTaXplLnRzIiwic3JjL3NldHRpbmdzL3VpL2ljb25QYWNrc1BhdGgudHMiLCJzcmMvaWNvblBhY2tzLnRzIiwibm9kZV9tb2R1bGVzLy5wbnBtL2pzemlwQDMuMTAuMS9ub2RlX21vZHVsZXMvanN6aXAvZGlzdC9qc3ppcC5taW4uanMiLCJzcmMvemlwVXRpbC50cyIsInNyYy9pY29uUGFja0Jyb3dzZXJNb2RhbC50cyIsInNyYy9zZXR0aW5ncy91aS9wcmVkZWZpbmVkSWNvblBhY2tzLnRzIiwic3JjL3NldHRpbmdzL3VpL3JlY2VudGx5VXNlZEljb25zLnRzIiwic3JjL3NldHRpbmdzL3VpL3RvZ2dsZUljb25JblRhYnMudHMiLCJzcmMvc2V0dGluZ3MvdWkvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvLnBucG0vbW9ua2V5LWFyb3VuZEAyLjMuMC9ub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsUGx1Z2luSW5qZWN0b3IudHMiLCJzcmMvaW50ZXJuYWwtcGx1Z2lucy9zdGFycmVkLnRzIiwic3JjL2ludGVybmFsLXBsdWdpbnMvYm9va21hcmsudHMiLCJzcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsiTm90aWNlIiwiaWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJkb2VzRXhpc3RJblBhdGgiLCJhZGRBbGwiLCJhZGQiLCJnZXRCeVBhdGgiLCJnZXRGaWxlcyIsInJlbW92ZSIsIlNldHRpbmciLCJNb2RhbCIsIlRleHRDb21wb25lbnQiLCJCdXR0b25Db21wb25lbnQiLCJDb2xvckNvbXBvbmVudCIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwicmVxdWlyZSIsImdsb2JhbCIsInJlcXVlc3RVcmwiLCJKU1ppcCIsIlBsdWdpblNldHRpbmdUYWIiLCJQbHVnaW4iLCJyZXF1aXJlQXBpVmVyc2lvbiIsIkljb25Gb2xkZXJTZXR0aW5nc1VJIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBb0dBO0FBQ08sU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsVUFBVSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQy9ELFFBQVEsU0FBUyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUNuRyxRQUFRLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtBQUN0RyxRQUFRLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRTtBQUN0SCxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM5RSxLQUFLLENBQUMsQ0FBQztBQUNQOztBQ3pIYyxNQUFPLFFBQVEsQ0FBQTtBQUU1Qjs7QUNIRDtBQUNBO0FBRUE7Ozs7O0FBS0c7QUFDSCxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWlCLEtBQVk7OztJQUU1QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7O0FBRy9DLElBQUEsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztBQUMvQixJQUFBLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFHaEYsSUFBQSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDN0IsUUFBQSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDckIsUUFBQSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDdkIsS0FBQTs7QUFHRCxJQUFBLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0FBQ3ZFLFFBQUEsTUFBTSxLQUFLLEdBQUcsQ0FBQSxFQUFBLEdBQUEsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFJLElBQUEsSUFBQSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUUsQ0FBQztBQUM1QyxRQUFBLE1BQU0sTUFBTSxHQUFHLENBQUEsRUFBQSxHQUFBLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssTUFBSSxJQUFBLElBQUEsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsR0FBQSxFQUFFLENBQUM7UUFDOUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNsQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JDLEtBQUE7QUFFRCxJQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0FBQzdCLFFBQUEsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUMsS0FBQTtBQUVELElBQUEsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEMsSUFBQSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVuQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7Ozs7OztBQU1HO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEtBQVk7QUFDbEUsSUFBQSxNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQy9DLElBQUEsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNqRCxJQUFBLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM1QixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBVSxPQUFBLEVBQUEsUUFBUSxDQUFLLEdBQUEsQ0FBQSxDQUFDLENBQUM7QUFDakUsS0FBQTtBQUNELElBQUEsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFXLFFBQUEsRUFBQSxRQUFRLENBQUssR0FBQSxDQUFBLENBQUMsQ0FBQztBQUNuRSxLQUFBO0FBQ0QsSUFBQSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRjs7Ozs7QUFLRztBQUNILE1BQU0sUUFBUSxHQUFHLENBQUMsU0FBaUIsRUFBRSxLQUFnQyxLQUFZO0lBQy9FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixLQUFLLEdBQUcsY0FBYyxDQUFDO0FBQ3hCLEtBQUE7QUFFRCxJQUFBLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7O0lBRS9CLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFNUMsSUFBQSxJQUFJLEdBQUcsRUFBRTtBQUNQLFFBQUEsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssTUFBTSxFQUFFO0FBQ25FLFlBQUEsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakMsU0FBQTtBQUFNLGFBQUEsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxFQUFFO0FBQzlFLFlBQUEsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbkMsU0FBQTtRQUVELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQztBQUN0QixLQUFBO0FBRUQsSUFBQSxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixVQUFlO0lBQ2IsT0FBTztJQUNQLFFBQVE7SUFDUixXQUFXO0NBQ1o7O0FDakZELElBQUksSUFBWSxDQUFDO0FBTVYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFlLEtBQVU7SUFDL0MsSUFBSSxPQUFPLEtBQUssb0NBQW9DLEVBQUU7UUFDcEQsT0FBTyxHQUFHLDhDQUE4QyxDQUFDO1FBQ3pELElBQUlBLGVBQU0sQ0FDUixDQUFBLENBQUEsRUFBSSxRQUFRLENBQUMsVUFBVSxDQUFxSSxtSUFBQSxDQUFBLEVBQzVKLElBQUksQ0FDTCxDQUFDO0FBQ0gsS0FBQTtJQUVELElBQUksR0FBRyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQVcsRUFBRSxDQUFDO0FBQ2xDLElBQUlDLFdBQVMsR0FHUCxFQUFFLENBQUM7QUFFRixNQUFNLHVCQUF1QixHQUFHLENBQU8sTUFBYyxFQUFFLElBQVksRUFBRSxFQUFVLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBOztBQUV2RyxJQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBR0EsV0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxRQUFBLE1BQU0sUUFBUSxHQUFHQSxXQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsRSxRQUFBLElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUlELGVBQU0sQ0FBQyxDQUF1QixvQkFBQSxFQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUEsZ0JBQUEsQ0FBa0IsQ0FBQyxDQUFDO1lBQ25FLFNBQVM7QUFDVixTQUFBO1FBRUQsSUFBSUEsZUFBTSxDQUFDLENBQVUsT0FBQSxFQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUEsR0FBQSxDQUFLLENBQUMsQ0FBQztBQUV6QyxRQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLFlBQUEsSUFBSSxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQSxFQUFHLElBQUksQ0FBSSxDQUFBLEVBQUEsUUFBUSxDQUFDLElBQUksQ0FBQSxDQUFFLENBQUMsRUFBRTtBQUNyRSxnQkFBQSxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2pDLENBQUcsRUFBQSxJQUFJLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUEsQ0FBQSxFQUFJLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBRSxFQUMzQyxDQUFBLEVBQUcsRUFBRSxDQUFJLENBQUEsRUFBQSxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBRSxDQUMxQyxDQUFDO0FBQ0gsYUFBQTtBQUNGLFNBQUE7UUFFRCxJQUFJQSxlQUFNLENBQUMsQ0FBWSxTQUFBLEVBQUEsUUFBUSxDQUFDLElBQUksQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUN6QyxLQUFBOztBQUdELElBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHQyxXQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3pDLFFBQUEsTUFBTSxRQUFRLEdBQUdBLFdBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QixRQUFBLElBQUksTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUEsRUFBRyxJQUFJLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUEsQ0FBRSxDQUFDLEVBQUU7WUFDckUsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUEsRUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDeEUsU0FBQTtBQUNGLEtBQUE7O0FBR0QsSUFBQSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUN4QixRQUFBLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsS0FBQTtBQUNILENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxDQUFPLE1BQWMsRUFBRSxHQUFXLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQzFGLElBQUEsTUFBTSxlQUFlLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ25DLElBQUFBLFdBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBTyxNQUFjLEVBQUUsR0FBVyxLQUFtQixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNqRixJQUFBQSxXQUFTLEdBQUdBLFdBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztBQUNsRSxJQUFBLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBLEVBQUcsSUFBSSxDQUFJLENBQUEsRUFBQSxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsWUFBb0IsS0FBc0I7QUFDMUYsSUFBQSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUEsQ0FBQSxFQUFJLFlBQVksQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxDQUFPLE1BQWMsRUFBRSxHQUFXLEtBQXNCLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQzlFLElBQUEsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUcsRUFBQSxJQUFJLElBQUksR0FBRyxDQUFBLENBQUUsQ0FBQyxDQUFDO0lBQzdFLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDakIsUUFBQSxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUEsQ0FBQSxFQUFJLEdBQUcsQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUN4RCxLQUFBO0FBRUQsSUFBQSxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDLENBQUEsQ0FBQztBQU1LLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFTLEtBQUk7QUFDN0MsSUFBQSxPQUFPLENBQUM7U0FDTCxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ25CLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBUUssTUFBTSxVQUFVLEdBQUcsQ0FDeEIsTUFBYyxFQUNkLFlBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixnQkFBeUIsS0FDUixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTtBQUNqQixJQUFBLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFBLENBQUEsRUFBSSxZQUFZLENBQUksQ0FBQSxFQUFBLGtCQUFrQixDQUFFLENBQUEsQ0FBQyxDQUFDO0FBQ3RHLElBQUEsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEQsUUFBQSxJQUFJLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQzNCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELFlBQUEsTUFBTSxXQUFXLEdBQUcsVUFBVSxHQUFHLGtCQUFrQixDQUFDO1lBQ3BELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFBLEVBQUksWUFBWSxDQUFJLENBQUEsRUFBQSxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RixZQUFBLE9BQU8sQ0FBQyxJQUFJLENBQ1YsQ0FBQSxDQUFBLEVBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQSxtQkFBQSxFQUFzQixrQkFBa0IsQ0FBQSxJQUFBLEVBQU8sV0FBVyxDQUFBLHdCQUFBLENBQTBCLENBQzVHLENBQUM7QUFDRixZQUFBLElBQUlELGVBQU0sQ0FDUixDQUFJLENBQUEsRUFBQSxRQUFRLENBQUMsVUFBVSxDQUFBLFVBQUEsRUFBYSxrQkFBa0IsQ0FBQSxJQUFBLEVBQU8sV0FBVyxDQUFBLHNCQUFBLENBQXdCLEVBQ2hHLElBQUksQ0FDTCxDQUFDO0FBQ0gsU0FBQTtBQUFNLGFBQUE7WUFDTCxPQUFPLENBQUMsSUFBSSxDQUNWLENBQUksQ0FBQSxFQUFBLFFBQVEsQ0FBQyxVQUFVLENBQXdELHFEQUFBLEVBQUEsa0JBQWtCLENBQUksRUFBQSxDQUFBLENBQ3RHLENBQUM7QUFDRixZQUFBLElBQUlBLGVBQU0sQ0FBQyxDQUFJLENBQUEsRUFBQSxRQUFRLENBQUMsVUFBVSxDQUE0Qyx5Q0FBQSxFQUFBLGtCQUFrQixDQUFHLENBQUEsQ0FBQSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVHLFNBQUE7QUFDRixLQUFBO0FBQU0sU0FBQTtRQUNMLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQSxDQUFBLEVBQUksWUFBWSxDQUFJLENBQUEsRUFBQSxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2hHLEtBQUE7QUFDSCxDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0sc0JBQXNCLEdBQUcsQ0FBTyxNQUFjLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQzVFLElBQUEsTUFBTSxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxlQUFlLEdBQUcsTUFBSztBQUNsQyxJQUFBLE9BQU9DLFdBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFNSyxNQUFNLG1CQUFtQixHQUFHLENBQU8sTUFBYyxFQUFFLEdBQVcsS0FBdUIsU0FBQSxDQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLGFBQUE7QUFDMUYsSUFBQSxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQztBQUMxRCxDQUFDLENBQUEsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3ZDLE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQzdDLE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDO0FBQy9DLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBb0IsRUFBRSxRQUFnQixFQUFFLE9BQWUsS0FBaUI7QUFDNUYsSUFBQSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLE9BQU87QUFDUixLQUFBO0lBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLElBQUEsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRWhGLElBQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7QUFDdkMsUUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxRQUFRLENBQUEsQ0FBRSxDQUFDLENBQUM7QUFDNUQsUUFBQSxPQUFPLElBQUksQ0FBQztBQUNiLEtBQUE7SUFFRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZELElBQUksVUFBVSxHQUFXLEVBQUUsQ0FBQztBQUM1QixJQUFBLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO0FBQ25ELFFBQUEsVUFBVSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQyxLQUFBO0lBRUQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsZUFBZSxFQUFFO0FBQ3BCLFFBQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsT0FBTyxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQ2xFLFFBQUEsT0FBTyxJQUFJLENBQUM7QUFDYixLQUFBO0FBRUQsSUFBQSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRyxJQUFBLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTFELElBQUEsTUFBTSxJQUFJLEdBQVM7UUFDakIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLFFBQUEsTUFBTSxFQUFFLGNBQWM7QUFDdEIsUUFBQSxRQUFRLEVBQUUsUUFBUTtRQUNsQixVQUFVO1FBQ1YsVUFBVTtBQUNWLFFBQUEsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ2pDLENBQUM7QUFFRixJQUFBLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUssTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQW9CLEtBQVk7QUFDbkUsSUFBQSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxRQUFBLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDakQsUUFBQSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN4QyxZQUFBLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQy9DLFNBQUE7QUFFRCxRQUFBLE9BQU8sTUFBTSxDQUFDO0FBQ2YsS0FBQTtBQUVELElBQUEsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDckYsQ0FBQyxDQUFDO0FBRUssTUFBTSxhQUFhLEdBQUcsQ0FBTyxNQUFjLEVBQUUsS0FBZSxLQUFJLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ3JFLElBQUEsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUVoRyxJQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3JDLFFBQUEsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixTQUFTO0FBQ1YsU0FBQTtRQUVELE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUMsS0FBQTtBQUNILENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBaUIsS0FBSTtBQUM1RCxJQUFBLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLGFBQVIsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFSLFFBQVEsR0FBSSxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFFSyxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEtBQUk7QUFDakQsSUFBQSxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFSyxNQUFNLFFBQVEsR0FBRyxDQUFPLE1BQWMsRUFBRSxTQUFtQixFQUFFLFFBQWdCLEtBQW1CLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxhQUFBO0FBQ3JHLElBQUEsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFNUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSTtBQUN6QyxRQUFBLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sTUFBTSxLQUFLLFlBQVksQ0FBQztBQUNqQyxLQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDYixJQUFJRCxlQUFNLENBQUMsQ0FBdUQsb0RBQUEsRUFBQSxRQUFRLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixPQUFPO0FBQ1IsS0FBQTtBQUVELElBQUEsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7QUFDN0QsSUFBQSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBLHVDQUFBLEVBQTBDLElBQUksQ0FBK0IsNEJBQUEsRUFBQSxRQUFRLENBQUksRUFBQSxDQUFBLENBQUMsQ0FBQztRQUN4RyxPQUFPO0FBQ1IsS0FBQTtBQUVELElBQUEsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELElBQUEsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUEsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLENBQU8sTUFBYyxLQUFtQixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsYUFBQTs7O0FBR25FLElBQUEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQ3hCLFFBQUEsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsS0FBQTs7QUFHRCxJQUFBLE1BQU0sZUFBZSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsRSxJQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2RCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFDLFFBQUEsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUMvRCxRQUFBLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDNUIsWUFBQSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFeEQsTUFBTSxXQUFXLEdBQVcsRUFBRSxDQUFDOztBQUUvQixZQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdEYsZ0JBQUEsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLGdCQUFBLE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDL0QsZ0JBQUEsSUFBSSxJQUFJLEVBQUU7QUFDUixvQkFBQSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hCLGlCQUFBO0FBQ0YsYUFBQTtBQUVELFlBQUFDLFdBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBb0IsaUJBQUEsRUFBQSxZQUFZLENBQUssRUFBQSxFQUFBLFdBQVcsQ0FBQyxNQUFNLENBQUcsQ0FBQSxDQUFBLENBQUMsQ0FBQztBQUN6RSxTQUFBO0FBQ0YsS0FBQTtBQUNILENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQW9CLEVBQUUsUUFBZ0IsRUFBRSxXQUFtQixLQUFzQjs7QUFFakgsSUFBQSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQSwwREFBQSxFQUE2RCxRQUFRLENBQWMsV0FBQSxFQUFBLFdBQVcsQ0FBSSxFQUFBLENBQUEsQ0FBQyxDQUFDO0FBQ2pILFFBQUEsT0FBTyxTQUFTLENBQUM7QUFDbEIsS0FBQTtBQUVELElBQUEsTUFBTSxRQUFRLEdBQUdBLFdBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQztJQUM5RSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2IsUUFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxZQUFZLENBQUEsZ0JBQUEsQ0FBa0IsQ0FBQyxDQUFDO0FBQzNGLFFBQUEsT0FBTyxTQUFTLENBQUM7QUFDbEIsS0FBQTtBQUVELElBQUEsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFMUIsSUFBQSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVLLE1BQU0scUJBQXFCLEdBQUcsTUFBYTtJQUNoRCxPQUFPQSxXQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBYSxFQUFFLFFBQVEsS0FBSTtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLFFBQUEsT0FBTyxLQUFLLENBQUM7S0FDZCxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixLQUFhO0FBQzFELElBQUEsTUFBTSxLQUFLLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUM1RyxDQUFDLENBQUM7QUFFSyxNQUFNLG9CQUFvQixHQUFHLENBQUMsVUFBa0IsRUFBRSxRQUFnQixLQUFZO0lBQ25GLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNkLElBQUEsSUFBSSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FDakMsQ0FBQyxJQUFJLEtBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQy9HLENBQUM7SUFDRixJQUFJLENBQUMsU0FBUyxFQUFFO0FBQ2QsUUFBQUEsV0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSTtBQUM3QixZQUFBLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUM5QixDQUFDLElBQUksS0FDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDL0csQ0FBQztBQUNGLFlBQUEsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsU0FBUyxHQUFHLElBQUksQ0FBQztBQUNsQixhQUFBO0FBQ0gsU0FBQyxDQUFDLENBQUM7QUFDSixLQUFBO0FBRUQsSUFBQSxJQUFJLFNBQVMsRUFBRTtBQUNiLFFBQUEsSUFBSSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7QUFDN0IsS0FBQTtBQUVELElBQUEsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDOztBQ3hXRDtBQUNBLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBYyxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMseXFaQUF5cVosQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsNkRBQTZELENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxPQUFPLENBQUMsU0FBUyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBQyxDQUFDLE9BQU0sQ0FBQyxPQUFPLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsU0FBUyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFD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LENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBT2dCLGVBQU8sRUFBRUEsZUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU9BLGVBQU8sRUFBRUEsZUFBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0dBQWdHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsY0FBYyxHQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFD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QUFLLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSUFBb0ksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPQyxjQUFNLENBQUNBLGNBQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxxQ0FBb0MsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLHFDQUFvQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxD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 diff --git a/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json b/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json index c2815f7..b115549 100644 --- a/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json +++ b/notes/.obsidian/plugins/obsidian-icon-folder/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-icon-folder", "name": "Icon Folder", - "version": "2.0.0", + "version": "2.1.1", "minAppVersion": "0.9.12", "description": "This plugin allows to add an emoji or an icon to a folder or file.", "author": "Florian Woelki", diff --git a/notes/.obsidian/plugins/obsidian-linter/main.js b/notes/.obsidian/plugins/obsidian-linter/main.js index e0aa8d3..716e349 100644 --- a/notes/.obsidian/plugins/obsidian-linter/main.js +++ b/notes/.obsidian/plugins/obsidian-linter/main.js @@ -3,118 +3,121 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var Xu=Object.create;var dn=Object.defineProperty;var Tl=Object.getOwnPropertyDescriptor;var ep=Object.getOwnPropertyNames;var ip=Object.getPrototypeOf,tp=Object.prototype.hasOwnProperty;var Yr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ll=(e,t)=>{for(var i in t)dn(e,i,{get:t[i],enumerable:!0})},El=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ep(t))!tp.call(e,r)&&r!==i&&dn(e,r,{get:()=>t[r],enumerable:!(n=Tl(t,r))||n.enumerable});return e};var un=(e,t,i)=>(i=e!=null?Xu(ip(e)):{},El(t||!e||!e.__esModule?dn(i,"default",{value:e,enumerable:!0}):i,e)),np=e=>El(dn({},"__esModule",{value:!0}),e),L=(e,t,i,n)=>{for(var r=n>1?void 0:n?Tl(t,i):t,a=e.length-1,s;a>=0;a--)(s=e[a])&&(r=(n?s(t,i,r):s(r))||r);return n&&r&&dn(t,i,r),r};var Ol=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var Ve=(e,t,i)=>(Ol(e,t,"read from private field"),i?i.call(e):t.get(e)),Ct=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},Cl=(e,t,i,n)=>(Ol(e,t,"write to private field"),n?n.call(e,i):t.set(e,i),i);var Xr=Yr((bc,Jr)=>{(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof Jr=="object"&&Jr.exports?Jr.exports=t():e.log=t()})(bc,function(){"use strict";var e=function(){},t="undefined",i=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function r(h,y){var w=h[y];if(typeof w.bind=="function")return w.bind(h);try{return Function.prototype.bind.call(w,h)}catch{return function(){return Function.prototype.apply.apply(w,[h,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&i?a:console[h]!==void 0?r(console,h):console.log!==void 0?r(console,"log"):e}function o(h,y){for(var w=0;w=0&&q<=b.levels.SILENT){if(S=q,j!==!1&&C(q),o.call(b,q,h),typeof console===t&&q{var M=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},ie=-1,ne=1,V=0;M.Diff=function(e,t){return[e,t]};M.prototype.diff_main=function(e,t,i,n){typeof n>"u"&&(this.Diff_Timeout<=0?n=Number.MAX_VALUE:n=new Date().getTime()+this.Diff_Timeout*1e3);var r=n;if(e==null||t==null)throw new Error("Null input. (diff_main)");if(e==t)return e?[new M.Diff(V,e)]:[];typeof i>"u"&&(i=!0);var a=i,s=this.diff_commonPrefix(e,t),o=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var d=this.diff_compute_(e,t,a,r);return o&&d.unshift(new M.Diff(V,o)),l&&d.push(new M.Diff(V,l)),this.diff_cleanupMerge(d),d};M.prototype.diff_compute_=function(e,t,i,n){var r;if(!e)return[new M.Diff(ne,t)];if(!t)return[new M.Diff(ie,e)];var a=e.length>t.length?e:t,s=e.length>t.length?t:e,o=a.indexOf(s);if(o!=-1)return r=[new M.Diff(ne,a.substring(0,o)),new M.Diff(V,s),new M.Diff(ne,a.substring(o+s.length))],e.length>t.length&&(r[0][0]=r[2][0]=ie),r;if(s.length==1)return[new M.Diff(ie,e),new M.Diff(ne,t)];var l=this.diff_halfMatch_(e,t);if(l){var d=l[0],c=l[1],u=l[2],p=l[3],g=l[4],h=this.diff_main(d,u,i,n),y=this.diff_main(c,p,i,n);return h.concat([new M.Diff(V,g)],y)}return i&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,n):this.diff_bisect_(e,t,n)};M.prototype.diff_lineMode_=function(e,t,i){var n=this.diff_linesToChars_(e,t);e=n.chars1,t=n.chars2;var r=n.lineArray,a=this.diff_main(e,t,!1,i);this.diff_charsToLines_(a,r),this.diff_cleanupSemantic(a),a.push(new M.Diff(V,""));for(var s=0,o=0,l=0,d="",c="";s=1&&l>=1){a.splice(s-o-l,o+l),s=s-o-l;for(var u=this.diff_main(d,c,!1,i),p=u.length-1;p>=0;p--)a.splice(s,0,u[p]);s=s+u.length}l=0,o=0,d="",c="";break}s++}return a.pop(),a};M.prototype.diff_bisect_=function(e,t,i){for(var n=e.length,r=t.length,a=Math.ceil((n+r)/2),s=a,o=2*a,l=new Array(o),d=new Array(o),c=0;ci);b++){for(var S=-b+g;S<=b-h;S+=2){var T=s+S,C;S==-b||S!=b&&l[T-1]n)h+=2;else if(_>r)g+=2;else if(p){var A=s+u-S;if(A>=0&&A=B)return this.diff_bisectSplit_(e,t,C,_,i)}}}for(var q=-b+y;q<=b-w;q+=2){var A=s+q,B;q==-b||q!=b&&d[A-1]n)w+=2;else if(j>r)y+=2;else if(!p){var T=s+u-q;if(T>=0&&T=B)return this.diff_bisectSplit_(e,t,C,_,i)}}}}return[new M.Diff(ie,e),new M.Diff(ne,t)]};M.prototype.diff_bisectSplit_=function(e,t,i,n,r){var a=e.substring(0,i),s=t.substring(0,n),o=e.substring(i),l=t.substring(n),d=this.diff_main(a,s,!1,r),c=this.diff_main(o,l,!1,r);return d.concat(c)};M.prototype.diff_linesToChars_=function(e,t){var i=[],n={};i[0]="";function r(l){for(var d="",c=0,u=-1,p=i.length;un?e=e.substring(i-n):it.length?e:t,n=e.length>t.length?t:e;if(i.length<4||n.length*2=h.length?[C,_,A,B,T]:null}var s=a(i,n,Math.ceil(i.length/4)),o=a(i,n,Math.ceil(i.length/2)),l;if(!s&&!o)return null;o?s?l=s[4].length>o[4].length?s:o:l=o:l=s;var d,c,u,p;e.length>t.length?(d=l[0],c=l[1],u=l[2],p=l[3]):(u=l[0],p=l[1],d=l[2],c=l[3]);var g=l[4];return[d,c,u,p,g]};M.prototype.diff_cleanupSemantic=function(e){for(var t=!1,i=[],n=0,r=null,a=0,s=0,o=0,l=0,d=0;a0?i[n-1]:-1,s=0,o=0,l=0,d=0,r=null,t=!0)),a++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),a=1;a=g?(p>=c.length/2||p>=u.length/2)&&(e.splice(a,0,new M.Diff(V,u.substring(0,p))),e[a-1][1]=c.substring(0,c.length-p),e[a+1][1]=u.substring(p),a++):(g>=c.length/2||g>=u.length/2)&&(e.splice(a,0,new M.Diff(V,c.substring(0,g))),e[a-1][0]=ne,e[a-1][1]=u.substring(0,u.length-g),e[a+1][0]=ie,e[a+1][1]=c.substring(g),a++),a++}a++}};M.prototype.diff_cleanupSemanticLossless=function(e){function t(g,h){if(!g||!h)return 6;var y=g.charAt(g.length-1),w=h.charAt(0),b=y.match(M.nonAlphaNumericRegex_),S=w.match(M.nonAlphaNumericRegex_),T=b&&y.match(M.whitespaceRegex_),C=S&&w.match(M.whitespaceRegex_),_=T&&y.match(M.linebreakRegex_),A=C&&w.match(M.linebreakRegex_),B=_&&g.match(M.blanklineEndRegex_),q=A&&h.match(M.blanklineStartRegex_);return B||q?5:_||A?4:b&&!T&&C?3:T||C?2:b||S?1:0}for(var i=1;i=u&&(u=p,l=n,d=r,c=a)}e[i-1][1]!=l&&(l?e[i-1][1]=l:(e.splice(i-1,1),i--),e[i][1]=d,c?e[i+1][1]=c:(e.splice(i+1,1),i--))}i++}};M.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;M.whitespaceRegex_=/\s/;M.linebreakRegex_=/[\r\n]/;M.blanklineEndRegex_=/\n\r?\n$/;M.blanklineStartRegex_=/^\r?\n\r?\n/;M.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,i=[],n=0,r=null,a=0,s=!1,o=!1,l=!1,d=!1;a0?i[n-1]:-1,l=d=!1),t=!0)),a++;t&&this.diff_cleanupMerge(e)};M.prototype.diff_cleanupMerge=function(e){e.push(new M.Diff(V,""));for(var t=0,i=0,n=0,r="",a="",s;t1?(i!==0&&n!==0&&(s=this.diff_commonPrefix(a,r),s!==0&&(t-i-n>0&&e[t-i-n-1][0]==V?e[t-i-n-1][1]+=a.substring(0,s):(e.splice(0,0,new M.Diff(V,a.substring(0,s))),t++),a=a.substring(s),r=r.substring(s)),s=this.diff_commonSuffix(a,r),s!==0&&(e[t][1]=a.substring(a.length-s)+e[t][1],a=a.substring(0,a.length-s),r=r.substring(0,r.length-s))),t-=i+n,e.splice(t,i+n),r.length&&(e.splice(t,0,new M.Diff(ie,r)),t++),a.length&&(e.splice(t,0,new M.Diff(ne,a)),t++),t++):t!==0&&e[t-1][0]==V?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,n=0,i=0,r="",a="";break}e[e.length-1][1]===""&&e.pop();var o=!1;for(t=1;tt));s++)r=i,a=n;return e.length!=s&&e[s][0]===ie?a:a+(t-r)};M.prototype.diff_prettyHtml=function(e){for(var t=[],i=/&/g,n=//g,a=/\n/g,s=0;s");switch(o){case ne:t[s]=''+d+"";break;case ie:t[s]=''+d+"";break;case V:t[s]=""+d+"";break}}return t.join("")};M.prototype.diff_text1=function(e){for(var t=[],i=0;ithis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var n=this.match_alphabet_(t),r=this;function a(C,_){var A=C/t.length,B=Math.abs(i-_);return r.Match_Distance?A+B/r.Match_Distance:B?1:A}var s=this.Match_Threshold,o=e.indexOf(t,i);o!=-1&&(s=Math.min(a(0,o),s),o=e.lastIndexOf(t,i+t.length),o!=-1&&(s=Math.min(a(0,o),s)));var l=1<=h;b--){var S=n[e.charAt(b-1)];if(g===0?w[b]=(w[b+1]<<1|1)&S:w[b]=(w[b+1]<<1|1)&S|((p[b+1]|p[b])<<1|1)|p[b+1],w[b]&l){var T=a(g,b-1);if(T<=s)if(s=T,o=b-1,o>i)h=Math.max(1,2*i-o);else break}}if(a(g+1,i)>s)break;p=w}return o};M.prototype.match_alphabet_=function(e){for(var t={},i=0;i"u")n=e,r=this.diff_main(n,t,!0),r.length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&typeof e=="object"&&typeof t>"u"&&typeof i>"u")r=e,n=this.diff_text1(r);else if(typeof e=="string"&&t&&typeof t=="object"&&typeof i>"u")n=e,r=t;else if(typeof e=="string"&&typeof t=="string"&&i&&typeof i=="object")n=e,r=i;else throw new Error("Unknown call format to patch_make.");if(r.length===0)return[];for(var a=[],s=new M.patch_obj,o=0,l=0,d=0,c=n,u=n,p=0;p=2*this.Patch_Margin&&o&&(this.patch_addContext_(s,c),a.push(s),s=new M.patch_obj,o=0,c=u,l=d);break}g!==ne&&(l+=h.length),g!==ie&&(d+=h.length)}return o&&(this.patch_addContext_(s,c),a.push(s)),a};M.prototype.patch_deepCopy=function(e){for(var t=[],i=0;ithis.Match_MaxBits?(l=this.match_main(t,o.substring(0,this.Match_MaxBits),s),l!=-1&&(d=this.match_main(t,o.substring(o.length-this.Match_MaxBits),s+o.length-this.Match_MaxBits),(d==-1||l>=d)&&(l=-1))):l=this.match_main(t,o,s),l==-1)r[a]=!1,n-=e[a].length2-e[a].length1;else{r[a]=!0,n=l-s;var c;if(d==-1?c=t.substring(l,l+o.length):c=t.substring(l,d+this.Match_MaxBits),o==c)t=t.substring(0,l)+this.diff_text2(e[a].diffs)+t.substring(l+o.length);else{var u=this.diff_main(o,c,!1);if(o.length>this.Match_MaxBits&&this.diff_levenshtein(u)/o.length>this.Patch_DeleteThreshold)r[a]=!1;else{this.diff_cleanupSemanticLossless(u);for(var p=0,g,h=0;ha[0][1].length){var s=t-a[0][1].length;a[0][1]=i.substring(a[0][1].length)+a[0][1],r.start1-=s,r.start2-=s,r.length1+=s,r.length2+=s}if(r=e[e.length-1],a=r.diffs,a.length==0||a[a.length-1][0]!=V)a.push(new M.Diff(V,i)),r.length1+=t,r.length2+=t;else if(t>a[a.length-1][1].length){var s=t-a[a.length-1][1].length;a[a.length-1][1]+=i.substring(0,s),r.length1+=s,r.length2+=s}return i};M.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,i=0;i2*t?(o.length1+=c.length,r+=c.length,l=!1,o.diffs.push(new M.Diff(d,c)),n.diffs.shift()):(c=c.substring(0,t-o.length1-this.Patch_Margin),o.length1+=c.length,r+=c.length,d===V?(o.length2+=c.length,a+=c.length):l=!1,o.diffs.push(new M.Diff(d,c)),c==n.diffs[0][1]?n.diffs.shift():n.diffs[0][1]=n.diffs[0][1].substring(c.length))}s=this.diff_text2(o.diffs),s=s.substring(s.length-this.Patch_Margin);var u=this.diff_text1(n.diffs).substring(0,this.Patch_Margin);u!==""&&(o.length1+=u.length,o.length2+=u.length,o.diffs.length!==0&&o.diffs[o.diffs.length-1][0]===V?o.diffs[o.diffs.length-1][1]+=u:o.diffs.push(new M.Diff(V,u))),l||e.splice(++i,0,o)}}};M.prototype.patch_toText=function(e){for(var t=[],i=0;i{bu.exports=Xb;var Gy=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Zy=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Qy=["Su","Mo","Tu","We","Th","Fr","Sa"],ss=["January","February","March","April","May","June","July","August","September","October","November","December"],Jy=["ACDT","ACST","ACWT","ADT","ACT","AEDT","AEST","AFT","AKDT","AKST","ALMT","AMT","AMST","ANAT","ANAST","AQTT","ART","AST","AWDT","AWST","AZOT","AZOST","AZT","AZST","BNT","BDT","BOT","BRT","BRST","BST","BTT","B","CAST","CAT","CCT","CDT","CEDT","CEST","CET","CHADT","CHAST","CHOT","CHOST","CHsT","CHUT","CIT","CKT","CLST","CLT","COT","CST","CVT","CWST","CXT","C","DAVT","DDUT","DST","EASST","EAST","EAT","ECT","EDT","EEDT","EEST","EET","EGT","EGST","EST","E","EIT","FET","FJT","FJST","FKST","FKT","FNT","F","GALT","GAMT","GET","GFT","GILT","GMT","GST","GYT","G","HADT","HAST","HKT","HOVT","HOVST","HST","ICT","IDT","IOT","IRDT","IRKT","IRKST","IRST","IST","JST","KGT","KOST","KRAT","KRAST","KST","KUYT","LHDT","LHST","LINT","L","MAGT","MAGST","MART","MAWT","MDT","MeST","MHT","MIST","MMT","MSD","MSK","MST","MUT","MVT","MYT","NCT","NDT","NFT","N","NOVT","NOVST","NPT","NRT","NST","NT","NUT","NZDT","NZST","OMST","OMSST","ORAT","O","PDT","PET","PETT","PETST","PGT","PHT","PHOT","PKT","PMDT","PMST","PONT","PST","PWT","PYT","PYST","P","QYZT","RET","ROTT","R","SAKT","SAMT","SAST","SBT","SCT","SGT","SRT","SLT","SLST","SRET","SST","SYOT","TAHT","TFT","TJT","TKT","TLT","TMT","TOT","TRUT","TVT","T","ULAT","ULAST","UTC","UYST","UYT","UZT","U","VET","VLAT","VLAST","VOLT","VUT","V","WAKT","WAT","WAST","WDT","WEDT","WEST","WET","WFT","WGT","WGST","WIB","WIT","WITA","WST","WT","YAKT","YAKST","YAP","YEK","YEKS"],os=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Xy=new RegExp(Gy.join("|"),"i"),eb=new RegExp(Zy.join("|"),"i"),ib=new RegExp("\\b("+Qy.join("|")+")\\b","i"),tb=new RegExp(ss.join("|"),"i"),nb=new RegExp(os.join("|"),"i"),rb=new RegExp("\\b("+Jy.join("|")+")\\b","i"),ab=/(\d+)(st|nd|rd|th)\b/i,sb=/(\d{1,4})([/.-])(\d{1,2})[/.-](\d{1,4})/,ob=/((\+|-)(12:00|11:00|10:00|09:30|09:00|08:00|07:00|06:00|05:00|04:00|03:30|03:00|02:00|01:00|00:00|01:00|02:00|03:00|03:30|04:00|04:30|05:00|05:30|05:45|06:00|06:30|07:00|08:00|08:45|09:00|09:30|10:00|10:30|11:00|12:00|12:45|13:00|14:00))$/,lb=/((\+|-)(1200|1100|1000|0930|0900|0800|0700|0600|0500|0400|0330|0300|0200|0100|0000|0100|0200|0300|0330|0400|0430|0500|0530|0545|0600|0630|0700|0800|0845|0900|0930|1000|1030|1100|1200|1245|1300|1400))$/,Vt="("+["AM?","PM?"].join("|")+")",cb=new RegExp("0\\d\\:\\d{1,2}\\:\\d{1,2}(\\s*)"+Vt,"i"),db=new RegExp("0\\d\\:\\d{1,2}(\\s*)"+Vt,"i"),ub=new RegExp("0\\d(\\s*)"+Vt,"i"),pb=new RegExp("\\d{1,2}\\:\\d{1,2}\\:\\d{1,2}(\\s*)"+Vt,"i"),mb=new RegExp("\\d{1,2}\\:\\d{1,2}(\\s*)"+Vt,"i"),gb=new RegExp("\\d{1,2}(\\s*)"+Vt,"i"),hb=new RegExp("\\d{1,2}"),fb=new RegExp(ss.join("|")+"-\\d{2}","i"),yb=new RegExp(os.join("|")+"-\\d{2}","i"),ol=new RegExp("(\\d{1,2})(\\D+)("+ss.join("|")+"|"+os.join("|")+")(\\2)('?\\d{2,4})"),bb=/\d{2}:\d{2}:\d{2}\.\d{3}/,vb=/\d{2}:\d{2}:\d{2}\.\d{2}/,xb=/\d{2}:\d{2}:\d{2}\.\d{1}/,wb=/T\d{2}:\d{2}:\d{2}/,kb=/0\d:\d{2}:\d{2}/,zb=/0\d:\d{2}/,Sb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}/,Ab=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{3}/,Tb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{2}/,Lb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{1}/,Eb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]/,Ob=/24:00:\d{2}/,Cb=/24:00:\d{2}\.\d{3}/,Mb=/24:00:\d{2}\.\d{2}/,qb=/24:00:\d{2}\.\d{1}/,Ib=/24:00/,_b=/\d{4}/,Bb=/\d{2}/,Fb=/'\d{2}/,mu=/0\d/,gu=/\d{1,2}/,Rb=/0\d/,Db=/\d{1,2}/,jb=/^([1-9])\/([1-9]|0[1-9])$/,Nb=/^([1-9])\/(1[012])$/,Pb=/^(0[1-9]|[12][0-9]|3[01])\/([1-9])$/,Kb=/^(0[1-9]|[12][0-9]|3[01])\/(1[012]|0[1-9])$/,$b=/^([1-9])(\D)([1-9][0-9])$/,Hb=/^([1-9])(\D)([0][0-9])$/,Yb=/^(0[1-9]|1[012])(\D)([1-9][0-9])$/,Wb=/^(0[1-9]|1[012])(\D)([0][0-9])$/,ll=/([/][M]|[M][/]|[MM]|[MMMM])/,hu=/(D)/,cl=/(Y)/,fu=/\d+\D.+$/,yu=/\D+(\d+)($|Z)/,Vb=/M\s*\d{1,2}\b.+$/,Ub=/M\D+(0[1-9])\b.+$/,as=/\d+\s+(H|h|k)/,Gb=/\b(at)\b/i,Zb=/\d{13}/,Qb=/\d{10}/,Jb={"/":"MDY",".":"DMY","-":"YMD"};function Xb(e,t){var i=e.toString();if(t=t||{},t.preferredOrder=t.preferredOrder||Jb,i=i.replace(Zb,"x"),i=i.replace(Qb,"X"),i=i.replace(Gb,"[$1]"),i.match(ol)){let[,d,c,u,p,g]=i.match(ol),h=[];d.length===2&&d[0]==="0"||t.preferLongFormat?h.push("DD"):h.push("D"),h.push(c),u.match(ss)?h.push("MMMM"):u.match(os)?h.push("MMM"):h.push(u),h.push(p),g[0]==="'"?h.push("'YY"):g.length===2?h.push("YY"):(g.length,h.push("YYYY"));var n=h.join("");i=i.replace(ol,n)}i=i.replace(Xy,"dddd"),i=i.replace(eb,"ddd"),i=i.replace(ib,"dd"),i=i.replace(ab,"Do"),i=i.replace(tb,"MMMM"),i=i.replace(nb,"MMM"),i=i.replace(sb,ev.bind(null,t)),i=i.replace(rb,d=>"["+d+"]"),i=i.replace(ob,"Z"),i=i.replace(lb,"ZZ"),i=i.replace(bb,"HH:mm:ss.SSS"),i=i.replace(vb,"HH:mm:ss.SS"),i=i.replace(xb,"HH:mm:ss.S"),i=i.replace(wb,"THH:mm:ss");function r(d){return function(c,u,p){return d+u+(p[0].toUpperCase()===p[0]?"A":"a")}}if(i=i.replace(cb,r("hh:mm:ss")),i=i.replace(pb,r("h:mm:ss")),i=i.replace(db,r("hh:mm")),i=i.replace(mb,r("h:mm")),i=i.replace(ub,r("hh")),i=i.replace(gb,r("h")),i=i.replace(kb,"HH:mm:ss"),i=i.replace(Ab,"H:mm:ss.SSS"),i=i.replace(Cb,(t.preferLongFormat?"kk":"k")+":mm:ss.SSS"),i=i.replace(Tb,"H:mm:ss.SS"),i=i.replace(Mb,(t.preferLongFormat?"kk":"k")+":mm:ss.SS"),i=i.replace(Lb,"H:mm:ss.S"),i=i.replace(qb,(t.preferLongFormat?"kk":"k")+":mm:ss.S"),i=i.replace(Sb,"H:mm:ss"),i=i.replace(Ob,(t.preferLongFormat?"kk":"k")+":mm:ss"),i=i.replace(zb,"HH:mm"),i=i.replace(Eb,"H:mm"),i=i.replace(Ib,(t.preferLongFormat?"kk":"k")+":mm"),i=i.replace(_b,"YYYY"),i=i.replace(Fb,"'YY"),i=i.replace(fb,"MMMM-YY"),i=i.replace(yb,"MMM-YY"),i=i.replace(jb,"D/M"),i=i.replace(Nb,"D/MM"),i=i.replace(Pb,"DD/M"),i=i.replace(Kb,"DD/MM"),i=i.replace($b,"M$2YY"),i=i.replace(Yb,"MM$2YY"),i=i.replace(Hb,"M$2DD"),i=i.replace(Wb,"MM$2DD"),i.match(ll)){var a=/0\d\.\d{2}|\d{2}\.\d{2}/,s=/\d{1}\.\d{2}/;i=i.replace(a,"H.mm"),i=i.replace(s,"h.mm")}if(!i.match(ll)&&i.match(cl)&&(i=i.replace(Rb,"MM")),!i.match(ll)&&i.match(cl)&&(i=i.replace(Db,t.preferLongFormat?"MM":"M")),i.match(Ub)&&!i.match(as)&&(i=i.replace(mu,"DD")),i.match(Vb)&&!i.match(as)&&(i=i.replace(gu,t.preferLongFormat?"DD":"D")),!i.match(hu)&&i.match(fu)&&!i.match(as)&&(i=i.replace(mu,"DD")),!i.match(hu)&&i.match(fu)&&!i.match(as)&&(i=i.replace(gu,t.preferLongFormat?"DD":"D")),i.match(cl)||(i=i.replace(Bb,"YY")),i.match(yu)){var o=i.match(yu)[1],l;o==="00"?l="HH":o==="24"?l=t.preferLongFormat?"kk":"k":o>12?l=t.preferLongFormat?"HH":"H":o[0]==="0"?l=t.preferLongFormat?"hh":"h":l=t.preferLongFormat?"hh":"k",i=i.replace(hb,l)}return i.length<1&&(i=void 0),i}function ev(e,t,i,n,r,a){var s,o=0,l=1,d=2,c=[i.length===1,r.length===1,a.length===1],u=[i[0]==="0",r[0]==="0",a[0]==="0"],p=i.length===4,g=r.length===4,h=a.length===4,y=typeof e.preferredOrder=="string"?e.preferredOrder:e.preferredOrder[n];i=parseInt(i,10),r=parseInt(r,10),a=parseInt(a,10),s=[i,r,a],y=y.toUpperCase();var w=function(S,T){c[S]!==c[T]&&!u[S]&&!u[T]&&(c[S]=!0,c[T]=!0)};if(i>31)return w(l,d),s[0]=p?"YYYY":"YY",s[1]=c[l]?"M":"MM",s[2]=c[d]?"D":"DD",s.join(n);if(i>12)return w(o,l),s[0]=c[o]?"D":"DD",s[1]=c[l]?"M":"MM",s[2]=h?"YYYY":"YY",s.join(n);if(r>12)return w(o,l),s[0]=c[o]?"M":"MM",s[1]=c[l]?"D":"DD",s[2]=h?"YYYY":"YY",s.join(n);if(a>31)return s[2]=h?"YYYY":"YY",y[0]==="M"&&i<13?(w(o,l),s[0]=c[o]?"M":"MM",s[1]=c[l]?"D":"DD",s.join(n)):(w(o,l),s[0]=c[o]?"D":"DD",s[1]=c[l]?"M":"MM",s.join(n));let b=[p,g,h];return w(y.indexOf("D"),y.indexOf("M")),s[y.indexOf("D")]=c[y.indexOf("D")]?"D":"DD",s[y.indexOf("M")]=c[y.indexOf("M")]?"M":"MM",s[y.indexOf("Y")]=b[y.indexOf("Y")]?"YYYY":"YY",s.join(n)}});var ku=Yr((pM,wu)=>{var xu=vu();wu.exports=xu;typeof window<"u"&&window.moment&&(window.moment.parseFormat=xu)});var ax={};Ll(ax,{default:()=>Ls});module.exports=np(ax);var oe=require("obsidian");function Wl(e){return typeof e>"u"||e===null}function rp(e){return typeof e=="object"&&e!==null}function ap(e){return Array.isArray(e)?e:Wl(e)?[]:[e]}function sp(e,t){var i,n,r,a;if(t)for(a=Object.keys(t),i=0,n=a.length;i()=>(t||e((t={exports:{}}).exports,t),t.exports),Rl=(e,t)=>{for(var i in t)mn(e,i,{get:t[i],enumerable:!0})},Dl=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of vp(t))!wp.call(e,r)&&r!==i&&mn(e,r,{get:()=>t[r],enumerable:!(n=Fl(t,r))||n.enumerable});return e};var gn=(e,t,i)=>(i=e!=null?bp(xp(e)):{},Dl(t||!e||!e.__esModule?mn(i,"default",{value:e,enumerable:!0}):i,e)),kp=e=>Dl(mn({},"__esModule",{value:!0}),e),T=(e,t,i,n)=>{for(var r=n>1?void 0:n?Fl(t,i):t,a=e.length-1,s;a>=0;a--)(s=e[a])&&(r=(n?s(t,i,r):s(r))||r);return n&&r&&mn(t,i,r),r};var Nl=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};var Ue=(e,t,i)=>(Nl(e,t,"read from private field"),i?i.call(e):t.get(e)),Bt=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},jl=(e,t,i,n)=>(Nl(e,t,"write to private field"),n?n.call(e,i):t.set(e,i),i);var sa=Jr((Lc,aa)=>{(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof aa=="object"&&aa.exports?aa.exports=t():e.log=t()})(Lc,function(){"use strict";var e=function(){},t="undefined",i=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function r(h,v){var w=h[v];if(typeof w.bind=="function")return w.bind(h);try{return Function.prototype.bind.call(w,h)}catch{return function(){return Function.prototype.apply.apply(w,[h,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&i?a:console[h]!==void 0?r(console,h):console.log!==void 0?r(console,"log"):e}function o(h,v){for(var w=0;w=0&&M<=z.levels.SILENT){if(S=M,D!==!1&&q(M),o.call(z,M,h),typeof console===t&&M{var C=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},ee=-1,te=1,W=0;C.Diff=function(e,t){return[e,t]};C.prototype.diff_main=function(e,t,i,n){typeof n>"u"&&(this.Diff_Timeout<=0?n=Number.MAX_VALUE:n=new Date().getTime()+this.Diff_Timeout*1e3);var r=n;if(e==null||t==null)throw new Error("Null input. (diff_main)");if(e==t)return e?[new C.Diff(W,e)]:[];typeof i>"u"&&(i=!0);var a=i,s=this.diff_commonPrefix(e,t),o=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var d=this.diff_compute_(e,t,a,r);return o&&d.unshift(new C.Diff(W,o)),l&&d.push(new C.Diff(W,l)),this.diff_cleanupMerge(d),d};C.prototype.diff_compute_=function(e,t,i,n){var r;if(!e)return[new C.Diff(te,t)];if(!t)return[new C.Diff(ee,e)];var a=e.length>t.length?e:t,s=e.length>t.length?t:e,o=a.indexOf(s);if(o!=-1)return r=[new C.Diff(te,a.substring(0,o)),new C.Diff(W,s),new C.Diff(te,a.substring(o+s.length))],e.length>t.length&&(r[0][0]=r[2][0]=ee),r;if(s.length==1)return[new C.Diff(ee,e),new C.Diff(te,t)];var l=this.diff_halfMatch_(e,t);if(l){var d=l[0],c=l[1],u=l[2],m=l[3],g=l[4],h=this.diff_main(d,u,i,n),v=this.diff_main(c,m,i,n);return h.concat([new C.Diff(W,g)],v)}return i&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,n):this.diff_bisect_(e,t,n)};C.prototype.diff_lineMode_=function(e,t,i){var n=this.diff_linesToChars_(e,t);e=n.chars1,t=n.chars2;var r=n.lineArray,a=this.diff_main(e,t,!1,i);this.diff_charsToLines_(a,r),this.diff_cleanupSemantic(a),a.push(new C.Diff(W,""));for(var s=0,o=0,l=0,d="",c="";s=1&&l>=1){a.splice(s-o-l,o+l),s=s-o-l;for(var u=this.diff_main(d,c,!1,i),m=u.length-1;m>=0;m--)a.splice(s,0,u[m]);s=s+u.length}l=0,o=0,d="",c="";break}s++}return a.pop(),a};C.prototype.diff_bisect_=function(e,t,i){for(var n=e.length,r=t.length,a=Math.ceil((n+r)/2),s=a,o=2*a,l=new Array(o),d=new Array(o),c=0;ci);z++){for(var S=-z+g;S<=z-h;S+=2){var L=s+S,q;S==-z||S!=z&&l[L-1]n)h+=2;else if(_>r)g+=2;else if(m){var A=s+u-S;if(A>=0&&A=F)return this.diff_bisectSplit_(e,t,q,_,i)}}}for(var M=-z+v;M<=z-w;M+=2){var A=s+M,F;M==-z||M!=z&&d[A-1]n)w+=2;else if(D>r)v+=2;else if(!m){var L=s+u-M;if(L>=0&&L=F)return this.diff_bisectSplit_(e,t,q,_,i)}}}}return[new C.Diff(ee,e),new C.Diff(te,t)]};C.prototype.diff_bisectSplit_=function(e,t,i,n,r){var a=e.substring(0,i),s=t.substring(0,n),o=e.substring(i),l=t.substring(n),d=this.diff_main(a,s,!1,r),c=this.diff_main(o,l,!1,r);return d.concat(c)};C.prototype.diff_linesToChars_=function(e,t){var i=[],n={};i[0]="";function r(l){for(var d="",c=0,u=-1,m=i.length;un?e=e.substring(i-n):it.length?e:t,n=e.length>t.length?t:e;if(i.length<4||n.length*2=h.length?[q,_,A,F,L]:null}var s=a(i,n,Math.ceil(i.length/4)),o=a(i,n,Math.ceil(i.length/2)),l;if(!s&&!o)return null;o?s?l=s[4].length>o[4].length?s:o:l=o:l=s;var d,c,u,m;e.length>t.length?(d=l[0],c=l[1],u=l[2],m=l[3]):(u=l[0],m=l[1],d=l[2],c=l[3]);var g=l[4];return[d,c,u,m,g]};C.prototype.diff_cleanupSemantic=function(e){for(var t=!1,i=[],n=0,r=null,a=0,s=0,o=0,l=0,d=0;a0?i[n-1]:-1,s=0,o=0,l=0,d=0,r=null,t=!0)),a++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),a=1;a=g?(m>=c.length/2||m>=u.length/2)&&(e.splice(a,0,new C.Diff(W,u.substring(0,m))),e[a-1][1]=c.substring(0,c.length-m),e[a+1][1]=u.substring(m),a++):(g>=c.length/2||g>=u.length/2)&&(e.splice(a,0,new C.Diff(W,c.substring(0,g))),e[a-1][0]=te,e[a-1][1]=u.substring(0,u.length-g),e[a+1][0]=ee,e[a+1][1]=c.substring(g),a++),a++}a++}};C.prototype.diff_cleanupSemanticLossless=function(e){function t(g,h){if(!g||!h)return 6;var v=g.charAt(g.length-1),w=h.charAt(0),z=v.match(C.nonAlphaNumericRegex_),S=w.match(C.nonAlphaNumericRegex_),L=z&&v.match(C.whitespaceRegex_),q=S&&w.match(C.whitespaceRegex_),_=L&&v.match(C.linebreakRegex_),A=q&&w.match(C.linebreakRegex_),F=_&&g.match(C.blanklineEndRegex_),M=A&&h.match(C.blanklineStartRegex_);return F||M?5:_||A?4:z&&!L&&q?3:L||q?2:z||S?1:0}for(var i=1;i=u&&(u=m,l=n,d=r,c=a)}e[i-1][1]!=l&&(l?e[i-1][1]=l:(e.splice(i-1,1),i--),e[i][1]=d,c?e[i+1][1]=c:(e.splice(i+1,1),i--))}i++}};C.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;C.whitespaceRegex_=/\s/;C.linebreakRegex_=/[\r\n]/;C.blanklineEndRegex_=/\n\r?\n$/;C.blanklineStartRegex_=/^\r?\n\r?\n/;C.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,i=[],n=0,r=null,a=0,s=!1,o=!1,l=!1,d=!1;a0?i[n-1]:-1,l=d=!1),t=!0)),a++;t&&this.diff_cleanupMerge(e)};C.prototype.diff_cleanupMerge=function(e){e.push(new C.Diff(W,""));for(var t=0,i=0,n=0,r="",a="",s;t1?(i!==0&&n!==0&&(s=this.diff_commonPrefix(a,r),s!==0&&(t-i-n>0&&e[t-i-n-1][0]==W?e[t-i-n-1][1]+=a.substring(0,s):(e.splice(0,0,new C.Diff(W,a.substring(0,s))),t++),a=a.substring(s),r=r.substring(s)),s=this.diff_commonSuffix(a,r),s!==0&&(e[t][1]=a.substring(a.length-s)+e[t][1],a=a.substring(0,a.length-s),r=r.substring(0,r.length-s))),t-=i+n,e.splice(t,i+n),r.length&&(e.splice(t,0,new C.Diff(ee,r)),t++),a.length&&(e.splice(t,0,new C.Diff(te,a)),t++),t++):t!==0&&e[t-1][0]==W?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,n=0,i=0,r="",a="";break}e[e.length-1][1]===""&&e.pop();var o=!1;for(t=1;tt));s++)r=i,a=n;return e.length!=s&&e[s][0]===ee?a:a+(t-r)};C.prototype.diff_prettyHtml=function(e){for(var t=[],i=/&/g,n=//g,a=/\n/g,s=0;s");switch(o){case te:t[s]=''+d+"";break;case ee:t[s]=''+d+"";break;case W:t[s]=""+d+"";break}}return t.join("")};C.prototype.diff_text1=function(e){for(var t=[],i=0;ithis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var n=this.match_alphabet_(t),r=this;function a(q,_){var A=q/t.length,F=Math.abs(i-_);return r.Match_Distance?A+F/r.Match_Distance:F?1:A}var s=this.Match_Threshold,o=e.indexOf(t,i);o!=-1&&(s=Math.min(a(0,o),s),o=e.lastIndexOf(t,i+t.length),o!=-1&&(s=Math.min(a(0,o),s)));var l=1<=h;z--){var S=n[e.charAt(z-1)];if(g===0?w[z]=(w[z+1]<<1|1)&S:w[z]=(w[z+1]<<1|1)&S|((m[z+1]|m[z])<<1|1)|m[z+1],w[z]&l){var L=a(g,z-1);if(L<=s)if(s=L,o=z-1,o>i)h=Math.max(1,2*i-o);else break}}if(a(g+1,i)>s)break;m=w}return o};C.prototype.match_alphabet_=function(e){for(var t={},i=0;i"u")n=e,r=this.diff_main(n,t,!0),r.length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&typeof e=="object"&&typeof t>"u"&&typeof i>"u")r=e,n=this.diff_text1(r);else if(typeof e=="string"&&t&&typeof t=="object"&&typeof i>"u")n=e,r=t;else if(typeof e=="string"&&typeof t=="string"&&i&&typeof i=="object")n=e,r=i;else throw new Error("Unknown call format to patch_make.");if(r.length===0)return[];for(var a=[],s=new C.patch_obj,o=0,l=0,d=0,c=n,u=n,m=0;m=2*this.Patch_Margin&&o&&(this.patch_addContext_(s,c),a.push(s),s=new C.patch_obj,o=0,c=u,l=d);break}g!==te&&(l+=h.length),g!==ee&&(d+=h.length)}return o&&(this.patch_addContext_(s,c),a.push(s)),a};C.prototype.patch_deepCopy=function(e){for(var t=[],i=0;ithis.Match_MaxBits?(l=this.match_main(t,o.substring(0,this.Match_MaxBits),s),l!=-1&&(d=this.match_main(t,o.substring(o.length-this.Match_MaxBits),s+o.length-this.Match_MaxBits),(d==-1||l>=d)&&(l=-1))):l=this.match_main(t,o,s),l==-1)r[a]=!1,n-=e[a].length2-e[a].length1;else{r[a]=!0,n=l-s;var c;if(d==-1?c=t.substring(l,l+o.length):c=t.substring(l,d+this.Match_MaxBits),o==c)t=t.substring(0,l)+this.diff_text2(e[a].diffs)+t.substring(l+o.length);else{var u=this.diff_main(o,c,!1);if(o.length>this.Match_MaxBits&&this.diff_levenshtein(u)/o.length>this.Patch_DeleteThreshold)r[a]=!1;else{this.diff_cleanupSemanticLossless(u);for(var m=0,g,h=0;ha[0][1].length){var s=t-a[0][1].length;a[0][1]=i.substring(a[0][1].length)+a[0][1],r.start1-=s,r.start2-=s,r.length1+=s,r.length2+=s}if(r=e[e.length-1],a=r.diffs,a.length==0||a[a.length-1][0]!=W)a.push(new C.Diff(W,i)),r.length1+=t,r.length2+=t;else if(t>a[a.length-1][1].length){var s=t-a[a.length-1][1].length;a[a.length-1][1]+=i.substring(0,s),r.length1+=s,r.length2+=s}return i};C.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,i=0;i2*t?(o.length1+=c.length,r+=c.length,l=!1,o.diffs.push(new C.Diff(d,c)),n.diffs.shift()):(c=c.substring(0,t-o.length1-this.Patch_Margin),o.length1+=c.length,r+=c.length,d===W?(o.length2+=c.length,a+=c.length):l=!1,o.diffs.push(new C.Diff(d,c)),c==n.diffs[0][1]?n.diffs.shift():n.diffs[0][1]=n.diffs[0][1].substring(c.length))}s=this.diff_text2(o.diffs),s=s.substring(s.length-this.Patch_Margin);var u=this.diff_text1(n.diffs).substring(0,this.Patch_Margin);u!==""&&(o.length1+=u.length,o.length2+=u.length,o.diffs.length!==0&&o.diffs[o.diffs.length-1][0]===W?o.diffs[o.diffs.length-1][1]+=u:o.diffs.push(new C.Diff(W,u))),l||e.splice(++i,0,o)}}};C.prototype.patch_toText=function(e){for(var t=[],i=0;i{Ru.exports=zv;var vb=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],xb=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wb=["Su","Mo","Tu","We","Th","Fr","Sa"],fs=["January","February","March","April","May","June","July","August","September","October","November","December"],kb=["ACDT","ACST","ACWT","ADT","ACT","AEDT","AEST","AFT","AKDT","AKST","ALMT","AMT","AMST","ANAT","ANAST","AQTT","ART","AST","AWDT","AWST","AZOT","AZOST","AZT","AZST","BNT","BDT","BOT","BRT","BRST","BST","BTT","B","CAST","CAT","CCT","CDT","CEDT","CEST","CET","CHADT","CHAST","CHOT","CHOST","CHsT","CHUT","CIT","CKT","CLST","CLT","COT","CST","CVT","CWST","CXT","C","DAVT","DDUT","DST","EASST","EAST","EAT","ECT","EDT","EEDT","EEST","EET","EGT","EGST","EST","E","EIT","FET","FJT","FJST","FKST","FKT","FNT","F","GALT","GAMT","GET","GFT","GILT","GMT","GST","GYT","G","HADT","HAST","HKT","HOVT","HOVST","HST","ICT","IDT","IOT","IRDT","IRKT","IRKST","IRST","IST","JST","KGT","KOST","KRAT","KRAST","KST","KUYT","LHDT","LHST","LINT","L","MAGT","MAGST","MART","MAWT","MDT","MeST","MHT","MIST","MMT","MSD","MSK","MST","MUT","MVT","MYT","NCT","NDT","NFT","N","NOVT","NOVST","NPT","NRT","NST","NT","NUT","NZDT","NZST","OMST","OMSST","ORAT","O","PDT","PET","PETT","PETST","PGT","PHT","PHOT","PKT","PMDT","PMST","PONT","PST","PWT","PYT","PYST","P","QYZT","RET","ROTT","R","SAKT","SAMT","SAST","SBT","SCT","SGT","SRT","SLT","SLST","SRET","SST","SYOT","TAHT","TFT","TJT","TKT","TLT","TMT","TOT","TRUT","TVT","T","ULAT","ULAST","UTC","UYST","UYT","UZT","U","VET","VLAT","VLAST","VOLT","VUT","V","WAKT","WAT","WAST","WDT","WEDT","WEST","WET","WFT","WGT","WGST","WIB","WIT","WITA","WST","WT","YAKT","YAKST","YAP","YEK","YEKS"],ys=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],zb=new RegExp(vb.join("|"),"i"),Sb=new RegExp(xb.join("|"),"i"),Tb=new RegExp("\\b("+wb.join("|")+")\\b","i"),Ab=new RegExp(fs.join("|"),"i"),Eb=new RegExp(ys.join("|"),"i"),Lb=new RegExp("\\b("+kb.join("|")+")\\b","i"),Ob=/(\d+)(st|nd|rd|th)\b/i,Cb=/(\d{1,4})([/.-])(\d{1,2})[/.-](\d{1,4})/,qb=/((\+|-)(12:00|11:00|10:00|09:30|09:00|08:00|07:00|06:00|05:00|04:00|03:30|03:00|02:00|01:00|00:00|01:00|02:00|03:00|03:30|04:00|04:30|05:00|05:30|05:45|06:00|06:30|07:00|08:00|08:45|09:00|09:30|10:00|10:30|11:00|12:00|12:45|13:00|14:00))$/,Mb=/((\+|-)(1200|1100|1000|0930|0900|0800|0700|0600|0500|0400|0330|0300|0200|0100|0000|0100|0200|0300|0330|0400|0430|0500|0530|0545|0600|0630|0700|0800|0845|0900|0930|1000|1030|1100|1200|1245|1300|1400))$/,Jt="("+["AM?","PM?"].join("|")+")",Ib=new RegExp("0\\d\\:\\d{1,2}\\:\\d{1,2}(\\s*)"+Jt,"i"),_b=new RegExp("0\\d\\:\\d{1,2}(\\s*)"+Jt,"i"),Bb=new RegExp("0\\d(\\s*)"+Jt,"i"),Fb=new RegExp("\\d{1,2}\\:\\d{1,2}\\:\\d{1,2}(\\s*)"+Jt,"i"),Rb=new RegExp("\\d{1,2}\\:\\d{1,2}(\\s*)"+Jt,"i"),Db=new RegExp("\\d{1,2}(\\s*)"+Jt,"i"),Nb=new RegExp("\\d{1,2}"),jb=new RegExp(fs.join("|")+"-\\d{2}","i"),Pb=new RegExp(ys.join("|")+"-\\d{2}","i"),yl=new RegExp("(\\d{1,2})(\\D+)("+fs.join("|")+"|"+ys.join("|")+")(\\2)('?\\d{2,4})"),Kb=/\d{2}:\d{2}:\d{2}\.\d{3}/,$b=/\d{2}:\d{2}:\d{2}\.\d{2}/,Hb=/\d{2}:\d{2}:\d{2}\.\d{1}/,Yb=/T\d{2}:\d{2}:\d{2}/,Wb=/0\d:\d{2}:\d{2}/,Vb=/0\d:\d{2}/,Ub=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}/,Gb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{3}/,Qb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{2}/,Zb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]:\d{2}\.\d{1}/,Jb=/\b([01]?[0-9]|2[0-3]):[0-5][0-9]/,Xb=/24:00:\d{2}/,ev=/24:00:\d{2}\.\d{3}/,iv=/24:00:\d{2}\.\d{2}/,tv=/24:00:\d{2}\.\d{1}/,nv=/24:00/,rv=/\d{4}/,av=/\d{2}/,sv=/'\d{2}/,Mu=/0\d/,Iu=/\d{1,2}/,ov=/0\d/,lv=/\d{1,2}/,cv=/^([1-9])\/([1-9]|0[1-9])$/,dv=/^([1-9])\/(1[012])$/,uv=/^(0[1-9]|[12][0-9]|3[01])\/([1-9])$/,pv=/^(0[1-9]|[12][0-9]|3[01])\/(1[012]|0[1-9])$/,mv=/^([1-9])(\D)([1-9][0-9])$/,gv=/^([1-9])(\D)([0][0-9])$/,hv=/^(0[1-9]|1[012])(\D)([1-9][0-9])$/,fv=/^(0[1-9]|1[012])(\D)([0][0-9])$/,bl=/([/][M]|[M][/]|[MM]|[MMMM])/,_u=/(D)/,vl=/(Y)/,Bu=/\d+\D.+$/,Fu=/\D+(\d+)($|Z)/,yv=/M\s*\d{1,2}\b.+$/,bv=/M\D+(0[1-9])\b.+$/,hs=/\d+\s+(H|h|k)/,vv=/\b(at)\b/i,xv=/\d{13}/,wv=/\d{10}/,kv={"/":"MDY",".":"DMY","-":"YMD"};function zv(e,t){var i=e.toString();if(t=t||{},t.preferredOrder=t.preferredOrder||kv,i=i.replace(xv,"x"),i=i.replace(wv,"X"),i=i.replace(vv,"[$1]"),i.match(yl)){let[,d,c,u,m,g]=i.match(yl),h=[];d.length===2&&d[0]==="0"||t.preferLongFormat?h.push("DD"):h.push("D"),h.push(c),u.match(fs)?h.push("MMMM"):u.match(ys)?h.push("MMM"):h.push(u),h.push(m),g[0]==="'"?h.push("'YY"):g.length===2?h.push("YY"):(g.length,h.push("YYYY"));var n=h.join("");i=i.replace(yl,n)}i=i.replace(zb,"dddd"),i=i.replace(Sb,"ddd"),i=i.replace(Tb,"dd"),i=i.replace(Ob,"Do"),i=i.replace(Ab,"MMMM"),i=i.replace(Eb,"MMM"),i=i.replace(Cb,Sv.bind(null,t)),i=i.replace(Lb,d=>"["+d+"]"),i=i.replace(qb,"Z"),i=i.replace(Mb,"ZZ"),i=i.replace(Kb,"HH:mm:ss.SSS"),i=i.replace($b,"HH:mm:ss.SS"),i=i.replace(Hb,"HH:mm:ss.S"),i=i.replace(Yb,"THH:mm:ss");function r(d){return function(c,u,m){return d+u+(m[0].toUpperCase()===m[0]?"A":"a")}}if(i=i.replace(Ib,r("hh:mm:ss")),i=i.replace(Fb,r("h:mm:ss")),i=i.replace(_b,r("hh:mm")),i=i.replace(Rb,r("h:mm")),i=i.replace(Bb,r("hh")),i=i.replace(Db,r("h")),i=i.replace(Wb,"HH:mm:ss"),i=i.replace(Gb,"H:mm:ss.SSS"),i=i.replace(ev,(t.preferLongFormat?"kk":"k")+":mm:ss.SSS"),i=i.replace(Qb,"H:mm:ss.SS"),i=i.replace(iv,(t.preferLongFormat?"kk":"k")+":mm:ss.SS"),i=i.replace(Zb,"H:mm:ss.S"),i=i.replace(tv,(t.preferLongFormat?"kk":"k")+":mm:ss.S"),i=i.replace(Ub,"H:mm:ss"),i=i.replace(Xb,(t.preferLongFormat?"kk":"k")+":mm:ss"),i=i.replace(Vb,"HH:mm"),i=i.replace(Jb,"H:mm"),i=i.replace(nv,(t.preferLongFormat?"kk":"k")+":mm"),i=i.replace(rv,"YYYY"),i=i.replace(sv,"'YY"),i=i.replace(jb,"MMMM-YY"),i=i.replace(Pb,"MMM-YY"),i=i.replace(cv,"D/M"),i=i.replace(dv,"D/MM"),i=i.replace(uv,"DD/M"),i=i.replace(pv,"DD/MM"),i=i.replace(mv,"M$2YY"),i=i.replace(hv,"MM$2YY"),i=i.replace(gv,"M$2DD"),i=i.replace(fv,"MM$2DD"),i.match(bl)){var a=/0\d\.\d{2}|\d{2}\.\d{2}/,s=/\d{1}\.\d{2}/;i=i.replace(a,"H.mm"),i=i.replace(s,"h.mm")}if(!i.match(bl)&&i.match(vl)&&(i=i.replace(ov,"MM")),!i.match(bl)&&i.match(vl)&&(i=i.replace(lv,t.preferLongFormat?"MM":"M")),i.match(bv)&&!i.match(hs)&&(i=i.replace(Mu,"DD")),i.match(yv)&&!i.match(hs)&&(i=i.replace(Iu,t.preferLongFormat?"DD":"D")),!i.match(_u)&&i.match(Bu)&&!i.match(hs)&&(i=i.replace(Mu,"DD")),!i.match(_u)&&i.match(Bu)&&!i.match(hs)&&(i=i.replace(Iu,t.preferLongFormat?"DD":"D")),i.match(vl)||(i=i.replace(av,"YY")),i.match(Fu)){var o=i.match(Fu)[1],l;o==="00"?l="HH":o==="24"?l=t.preferLongFormat?"kk":"k":o>12?l=t.preferLongFormat?"HH":"H":o[0]==="0"?l=t.preferLongFormat?"hh":"h":l=t.preferLongFormat?"hh":"k",i=i.replace(Nb,l)}return i.length<1&&(i=void 0),i}function Sv(e,t,i,n,r,a){var s,o=0,l=1,d=2,c=[i.length===1,r.length===1,a.length===1],u=[i[0]==="0",r[0]==="0",a[0]==="0"],m=i.length===4,g=r.length===4,h=a.length===4,v=typeof e.preferredOrder=="string"?e.preferredOrder:e.preferredOrder[n];i=parseInt(i,10),r=parseInt(r,10),a=parseInt(a,10),s=[i,r,a],v=v.toUpperCase();var w=function(S,L){c[S]!==c[L]&&!u[S]&&!u[L]&&(c[S]=!0,c[L]=!0)};if(i>31)return w(l,d),s[0]=m?"YYYY":"YY",s[1]=c[l]?"M":"MM",s[2]=c[d]?"D":"DD",s.join(n);if(i>12)return w(o,l),s[0]=c[o]?"D":"DD",s[1]=c[l]?"M":"MM",s[2]=h?"YYYY":"YY",s.join(n);if(r>12)return w(o,l),s[0]=c[o]?"M":"MM",s[1]=c[l]?"D":"DD",s[2]=h?"YYYY":"YY",s.join(n);if(a>31)return s[2]=h?"YYYY":"YY",v[0]==="M"&&i<13?(w(o,l),s[0]=c[o]?"M":"MM",s[1]=c[l]?"D":"DD",s.join(n)):(w(o,l),s[0]=c[o]?"D":"DD",s[1]=c[l]?"M":"MM",s.join(n));let z=[m,g,h];return w(v.indexOf("D"),v.indexOf("M")),s[v.indexOf("D")]=c[v.indexOf("D")]?"D":"DD",s[v.indexOf("M")]=c[v.indexOf("M")]?"M":"MM",s[v.indexOf("Y")]=z[v.indexOf("Y")]?"YYYY":"YY",s.join(n)}});var Pu=Jr((hM,ju)=>{var Nu=Du();ju.exports=Nu;typeof window<"u"&&window.moment&&(window.moment.parseFormat=Nu)});var Ox={};Rl(Ox,{default:()=>Rs});module.exports=kp(Ox);var oe=require("obsidian");function tc(e){return typeof e>"u"||e===null}function zp(e){return typeof e=="object"&&e!==null}function Sp(e){return Array.isArray(e)?e:tc(e)?[]:[e]}function Tp(e,t){var i,n,r,a;if(t)for(a=Object.keys(t),i=0,n=a.length;io&&(a=" ... ",t=n-o+a.length),i-n>o&&(s=" ...",i=n+o-s.length),{str:a+e.slice(t,i).replace(/\t/g,"\u2192")+s,pos:n-t+a.length}}function Is(e,t){return ve.repeat(" ",t-e.length)+e}function hp(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var i=/\r?\n|\r|\0/g,n=[0],r=[],a,s=-1;a=i.exec(e.buffer);)r.push(a.index),n.push(a.index+a[0].length),e.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,d,c=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+c+3);for(l=1;l<=t.linesBefore&&!(s-l<0);l++)d=qs(e.buffer,n[s-l],r[s-l],e.position-(n[s]-n[s-l]),u),o=ve.repeat(" ",t.indent)+Is((e.line-l+1).toString(),c)+" | "+d.str+` -`+o;for(d=qs(e.buffer,n[s],r[s],e.position,u),o+=ve.repeat(" ",t.indent)+Is((e.line+1).toString(),c)+" | "+d.str+` -`,o+=ve.repeat("-",t.indent+c+3+d.pos)+`^ -`,l=1;l<=t.linesAfter&&!(s+l>=r.length);l++)d=qs(e.buffer,n[s+l],r[s+l],e.position-(n[s]-n[s+l]),u),o+=ve.repeat(" ",t.indent)+Is((e.line+l+1).toString(),c)+" | "+d.str+` -`;return o.replace(/\n$/,"")}var fp=hp,yp=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],bp=["scalar","sequence","mapping"];function vp(e){var t={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(n){t[String(n)]=i})}),t}function xp(e,t){if(t=t||{},Object.keys(t).forEach(function(i){if(yp.indexOf(i)===-1)throw new je('Unknown option "'+i+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(i){return i},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=vp(t.styleAliases||null),bp.indexOf(this.kind)===-1)throw new je('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var Ie=xp;function Ml(e,t){var i=[];return e[t].forEach(function(n){var r=i.length;i.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(r=s)}),i[r]=n}),i}function wp(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,i;function n(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(t=0,i=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Kp=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function $p(e){return!(e===null||!Kp.test(e)||e[e.length-1]==="_")}function Hp(e){var t,i;return t=e.replace(/_/g,"").toLowerCase(),i=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:i*parseFloat(t,10)}var Yp=/^[-+]?[0-9]+e/;function Wp(e,t){var i;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ve.isNegativeZero(e))return"-0.0";return i=e.toString(10),Yp.test(i)?i.replace("e",".e"):i}function Vp(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||ve.isNegativeZero(e))}var Up=new Ie("tag:yaml.org,2002:float",{kind:"scalar",resolve:$p,construct:Hp,predicate:Vp,represent:Wp,defaultStyle:"lowercase"}),Gp=Tp.extend({implicit:[Cp,_p,Pp,Up]}),Zp=Gp,Ul=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Gl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Qp(e){return e===null?!1:Ul.exec(e)!==null||Gl.exec(e)!==null}function Jp(e){var t,i,n,r,a,s,o,l=0,d=null,c,u,p;if(t=Ul.exec(e),t===null&&(t=Gl.exec(e)),t===null)throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(i,n,r));if(a=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(c=+t[10],u=+(t[11]||0),d=(c*60+u)*6e4,t[9]==="-"&&(d=-d)),p=new Date(Date.UTC(i,n,r,a,s,o,l)),d&&p.setTime(p.getTime()-d),p}function Xp(e){return e.toISOString()}var em=new Ie("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Qp,construct:Jp,instanceOf:Date,represent:Xp});function im(e){return e==="<<"||e===null}var tm=new Ie("tag:yaml.org,2002:merge",{kind:"scalar",resolve:im}),Ns=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function nm(e){if(e===null)return!1;var t,i,n=0,r=e.length,a=Ns;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8===0}function rm(e){var t,i,n=e.replace(/[\r\n=]/g,""),r=n.length,a=Ns,s=0,o=[];for(t=0;t>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(t));return i=r%4*6,i===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):i===18?(o.push(s>>10&255),o.push(s>>2&255)):i===12&&o.push(s>>4&255),new Uint8Array(o)}function am(e){var t="",i=0,n,r,a=e.length,s=Ns;for(n=0;n>18&63],t+=s[i>>12&63],t+=s[i>>6&63],t+=s[i&63]),i=(i<<8)+e[n];return r=a%3,r===0?(t+=s[i>>18&63],t+=s[i>>12&63],t+=s[i>>6&63],t+=s[i&63]):r===2?(t+=s[i>>10&63],t+=s[i>>4&63],t+=s[i<<2&63],t+=s[64]):r===1&&(t+=s[i>>2&63],t+=s[i<<4&63],t+=s[64],t+=s[64]),t}function sm(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var om=new Ie("tag:yaml.org,2002:binary",{kind:"scalar",resolve:nm,construct:rm,predicate:sm,represent:am}),lm=Object.prototype.hasOwnProperty,cm=Object.prototype.toString;function dm(e){if(e===null)return!0;var t=[],i,n,r,a,s,o=e;for(i=0,n=o.length;i>10)+55296,(e-65536&1023)+56320)}var ic=new Array(256),tc=new Array(256);for(Zi=0;Zi<256;Zi++)ic[Zi]=_l(Zi)?1:0,tc[Zi]=_l(Zi);var Zi;function Om(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Zl,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function nc(e,t){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=fp(i),new je(t,i)}function K(e,t){throw nc(e,t)}function Ur(e,t){e.onWarning&&e.onWarning.call(null,nc(e,t))}var Bl={YAML:function(t,i,n){var r,a,s;t.version!==null&&K(t,"duplication of %YAML directive"),n.length!==1&&K(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),r===null&&K(t,"ill-formed argument of the YAML directive"),a=parseInt(r[1],10),s=parseInt(r[2],10),a!==1&&K(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Ur(t,"unsupported YAML version of the document")},TAG:function(t,i,n){var r,a;n.length!==2&&K(t,"TAG directive accepts exactly two arguments"),r=n[0],a=n[1],Xl.test(r)||K(t,"ill-formed tag handle (first argument) of the TAG directive"),Ri.call(t.tagMap,r)&&K(t,'there is a previously declared suffix for "'+r+'" tag handle'),ec.test(a)||K(t,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{K(t,"tag prefix is malformed: "+a)}t.tagMap[r]=a}};function Fi(e,t,i,n){var r,a,s,o;if(t1&&(e.result+=ve.repeat(` -`,t-1))}function Cm(e,t,i){var n,r,a,s,o,l,d,c,u=e.kind,p=e.result,g;if(g=e.input.charCodeAt(e.position),We(g)||qt(g)||g===35||g===38||g===42||g===33||g===124||g===62||g===39||g===34||g===37||g===64||g===96||(g===63||g===45)&&(r=e.input.charCodeAt(e.position+1),We(r)||i&&qt(r)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,o=!1;g!==0;){if(g===58){if(r=e.input.charCodeAt(e.position+1),We(r)||i&&qt(r))break}else if(g===35){if(n=e.input.charCodeAt(e.position-1),We(n))break}else{if(e.position===e.lineStart&&Qr(e)||i&&qt(g))break;if(hi(g))if(l=e.line,d=e.lineStart,c=e.lineIndent,he(e,!1,-1),e.lineIndent>=t){o=!0,g=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=d,e.lineIndent=c;break}}o&&(Fi(e,a,s,!1),Ks(e,e.line-l),a=s=e.position,o=!1),Qi(g)||(s=e.position+1),g=e.input.charCodeAt(++e.position)}return Fi(e,a,s,!1),e.result?!0:(e.kind=u,e.result=p,!1)}function Mm(e,t){var i,n,r;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if(Fi(e,n,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)n=e.position,e.position++,r=e.position;else return!0;else hi(i)?(Fi(e,n,r,!0),Ks(e,he(e,!1,t)),n=r=e.position):e.position===e.lineStart&&Qr(e)?K(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);K(e,"unexpected end of the stream within a single quoted scalar")}function qm(e,t){var i,n,r,a,s,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return Fi(e,i,e.position,!0),e.position++,!0;if(o===92){if(Fi(e,i,e.position,!0),o=e.input.charCodeAt(++e.position),hi(o))he(e,!1,t);else if(o<256&&ic[o])e.result+=tc[o],e.position++;else if((s=Tm(o))>0){for(r=s,a=0;r>0;r--)o=e.input.charCodeAt(++e.position),(s=Am(o))>=0?a=(a<<4)+s:K(e,"expected hexadecimal character");e.result+=Em(a),e.position++}else K(e,"unknown escape sequence");i=n=e.position}else hi(o)?(Fi(e,i,n,!0),Ks(e,he(e,!1,t)),i=n=e.position):e.position===e.lineStart&&Qr(e)?K(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}K(e,"unexpected end of the stream within a double quoted scalar")}function Im(e,t){var i=!0,n,r,a,s=e.tag,o,l=e.anchor,d,c,u,p,g,h=Object.create(null),y,w,b,S;if(S=e.input.charCodeAt(e.position),S===91)c=93,g=!1,o=[];else if(S===123)c=125,g=!0,o={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),S=e.input.charCodeAt(++e.position);S!==0;){if(he(e,!0,t),S=e.input.charCodeAt(e.position),S===c)return e.position++,e.tag=s,e.anchor=l,e.kind=g?"mapping":"sequence",e.result=o,!0;i?S===44&&K(e,"expected the node content, but found ','"):K(e,"missed comma between flow collection entries"),w=y=b=null,u=p=!1,S===63&&(d=e.input.charCodeAt(e.position+1),We(d)&&(u=p=!0,e.position++,he(e,!0,t))),n=e.line,r=e.lineStart,a=e.position,_t(e,t,Wr,!1,!0),w=e.tag,y=e.result,he(e,!0,t),S=e.input.charCodeAt(e.position),(p||e.line===n)&&S===58&&(u=!0,S=e.input.charCodeAt(++e.position),he(e,!0,t),_t(e,t,Wr,!1,!0),b=e.result),g?It(e,o,h,w,y,b,n,r,a):u?o.push(It(e,null,h,w,y,b,n,r,a)):o.push(y),he(e,!0,t),S=e.input.charCodeAt(e.position),S===44?(i=!0,S=e.input.charCodeAt(++e.position)):i=!1}K(e,"unexpected end of the stream within a flow collection")}function _m(e,t){var i,n,r=_s,a=!1,s=!1,o=t,l=0,d=!1,c,u;if(u=e.input.charCodeAt(e.position),u===124)n=!1;else if(u===62)n=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)_s===r?r=u===43?ql:wm:K(e,"repeat of a chomping mode identifier");else if((c=Lm(u))>=0)c===0?K(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?K(e,"repeat of an indentation width identifier"):(o=t+c-1,s=!0);else break;if(Qi(u)){do u=e.input.charCodeAt(++e.position);while(Qi(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!hi(u)&&u!==0)}for(;u!==0;){for(Ps(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!s||e.lineIndento&&(o=e.lineIndent),hi(u)){l++;continue}if(e.lineIndentt)&&l!==0)K(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(w&&(s=e.line,o=e.lineStart,l=e.position),_t(e,t,Vr,!0,r)&&(w?h=e.result:y=e.result),w||(It(e,u,p,g,h,y,s,o,l),g=h=y=null),he(e,!0,-1),S=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>t)&&S!==0)K(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),u=0,p=e.implicitTypes.length;u"),e.result!==null&&h.kind!==e.kind&&K(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):K(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||c}function jm(e){var t=e.position,i,n,r,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(he(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),i=e.position;s!==0&&!We(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(i,e.position),r=[],n.length<1&&K(e,"directive name must not be less than one character in length");s!==0;){for(;Qi(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!hi(s));break}if(hi(s))break;for(i=e.position;s!==0&&!We(s);)s=e.input.charCodeAt(++e.position);r.push(e.input.slice(i,e.position))}s!==0&&Ps(e),Ri.call(Bl,n)?Bl[n](e,n,r):Ur(e,'unknown document directive "'+n+'"')}if(he(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,he(e,!0,-1)):a&&K(e,"directives end mark is expected"),_t(e,e.lineIndent-1,Vr,!1,!0),he(e,!0,-1),e.checkLineBreaks&&zm.test(e.input.slice(t,e.position))&&Ur(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Qr(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,he(e,!0,-1));return}if(e.position"u"&&(i=t,t=null);var n=rc(e,i);if(typeof t!="function")return n;for(var r=0,a=n.length;ro&&(a=" ... ",t=n-o+a.length),i-n>o&&(s=" ...",i=n+o-s.length),{str:a+e.slice(t,i).replace(/\t/g,"\u2192")+s,pos:n-t+a.length}}function $s(e,t){return xe.repeat(" ",t-e.length)+e}function _p(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var i=/\r?\n|\r|\0/g,n=[0],r=[],a,s=-1;a=i.exec(e.buffer);)r.push(a.index),n.push(a.index+a[0].length),e.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,d,c=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+c+3);for(l=1;l<=t.linesBefore&&!(s-l<0);l++)d=Ks(e.buffer,n[s-l],r[s-l],e.position-(n[s]-n[s-l]),u),o=xe.repeat(" ",t.indent)+$s((e.line-l+1).toString(),c)+" | "+d.str+` +`+o;for(d=Ks(e.buffer,n[s],r[s],e.position,u),o+=xe.repeat(" ",t.indent)+$s((e.line+1).toString(),c)+" | "+d.str+` +`,o+=xe.repeat("-",t.indent+c+3+d.pos)+`^ +`,l=1;l<=t.linesAfter&&!(s+l>=r.length);l++)d=Ks(e.buffer,n[s+l],r[s+l],e.position-(n[s]-n[s+l]),u),o+=xe.repeat(" ",t.indent)+$s((e.line+l+1).toString(),c)+" | "+d.str+` +`;return o.replace(/\n$/,"")}var Bp=_p,Fp=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Rp=["scalar","sequence","mapping"];function Dp(e){var t={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(n){t[String(n)]=i})}),t}function Np(e,t){if(t=t||{},Object.keys(t).forEach(function(i){if(Fp.indexOf(i)===-1)throw new Ne('Unknown option "'+i+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(i){return i},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=Dp(t.styleAliases||null),Rp.indexOf(this.kind)===-1)throw new Ne('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var Ie=Np;function Pl(e,t){var i=[];return e[t].forEach(function(n){var r=i.length;i.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(r=s)}),i[r]=n}),i}function jp(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,i;function n(r){r.multi?(e.multi[r.kind].push(r),e.multi.fallback.push(r)):e[r.kind][r.tag]=e.fallback[r.tag]=r}for(t=0,i=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),om=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function lm(e){return!(e===null||!om.test(e)||e[e.length-1]==="_")}function cm(e){var t,i;return t=e.replace(/_/g,"").toLowerCase(),i=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:i*parseFloat(t,10)}var dm=/^[-+]?[0-9]+e/;function um(e,t){var i;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xe.isNegativeZero(e))return"-0.0";return i=e.toString(10),dm.test(i)?i.replace("e",".e"):i}function pm(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||xe.isNegativeZero(e))}var mm=new Ie("tag:yaml.org,2002:float",{kind:"scalar",resolve:lm,construct:cm,predicate:pm,represent:um,defaultStyle:"lowercase"}),gm=Yp.extend({implicit:[Gp,Xp,sm,mm]}),hm=gm,rc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ac=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function fm(e){return e===null?!1:rc.exec(e)!==null||ac.exec(e)!==null}function ym(e){var t,i,n,r,a,s,o,l=0,d=null,c,u,m;if(t=rc.exec(e),t===null&&(t=ac.exec(e)),t===null)throw new Error("Date resolve error");if(i=+t[1],n=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(i,n,r));if(a=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(c=+t[10],u=+(t[11]||0),d=(c*60+u)*6e4,t[9]==="-"&&(d=-d)),m=new Date(Date.UTC(i,n,r,a,s,o,l)),d&&m.setTime(m.getTime()-d),m}function bm(e){return e.toISOString()}var vm=new Ie("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:fm,construct:ym,instanceOf:Date,represent:bm});function xm(e){return e==="<<"||e===null}var wm=new Ie("tag:yaml.org,2002:merge",{kind:"scalar",resolve:xm}),Qs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function km(e){if(e===null)return!1;var t,i,n=0,r=e.length,a=Qs;for(i=0;i64)){if(t<0)return!1;n+=6}return n%8===0}function zm(e){var t,i,n=e.replace(/[\r\n=]/g,""),r=n.length,a=Qs,s=0,o=[];for(t=0;t>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(t));return i=r%4*6,i===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):i===18?(o.push(s>>10&255),o.push(s>>2&255)):i===12&&o.push(s>>4&255),new Uint8Array(o)}function Sm(e){var t="",i=0,n,r,a=e.length,s=Qs;for(n=0;n>18&63],t+=s[i>>12&63],t+=s[i>>6&63],t+=s[i&63]),i=(i<<8)+e[n];return r=a%3,r===0?(t+=s[i>>18&63],t+=s[i>>12&63],t+=s[i>>6&63],t+=s[i&63]):r===2?(t+=s[i>>10&63],t+=s[i>>4&63],t+=s[i<<2&63],t+=s[64]):r===1&&(t+=s[i>>2&63],t+=s[i<<4&63],t+=s[64],t+=s[64]),t}function Tm(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Am=new Ie("tag:yaml.org,2002:binary",{kind:"scalar",resolve:km,construct:zm,predicate:Tm,represent:Sm}),Em=Object.prototype.hasOwnProperty,Lm=Object.prototype.toString;function Om(e){if(e===null)return!0;var t=[],i,n,r,a,s,o=e;for(i=0,n=o.length;i>10)+55296,(e-65536&1023)+56320)}var uc=new Array(256),pc=new Array(256);for(Ji=0;Ji<256;Ji++)uc[Ji]=Hl(Ji)?1:0,pc[Ji]=Hl(Ji);var Ji;function Um(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||sc,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function mc(e,t){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=Bp(i),new Ne(t,i)}function P(e,t){throw mc(e,t)}function ia(e,t){e.onWarning&&e.onWarning.call(null,mc(e,t))}var Yl={YAML:function(t,i,n){var r,a,s;t.version!==null&&P(t,"duplication of %YAML directive"),n.length!==1&&P(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),r===null&&P(t,"ill-formed argument of the YAML directive"),a=parseInt(r[1],10),s=parseInt(r[2],10),a!==1&&P(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&ia(t,"unsupported YAML version of the document")},TAG:function(t,i,n){var r,a;n.length!==2&&P(t,"TAG directive accepts exactly two arguments"),r=n[0],a=n[1],cc.test(r)||P(t,"ill-formed tag handle (first argument) of the TAG directive"),Ri.call(t.tagMap,r)&&P(t,'there is a previously declared suffix for "'+r+'" tag handle'),dc.test(a)||P(t,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{P(t,"tag prefix is malformed: "+a)}t.tagMap[r]=a}};function Fi(e,t,i,n){var r,a,s,o;if(t1&&(e.result+=xe.repeat(` +`,t-1))}function Gm(e,t,i){var n,r,a,s,o,l,d,c,u=e.kind,m=e.result,g;if(g=e.input.charCodeAt(e.position),We(g)||Rt(g)||g===35||g===38||g===42||g===33||g===124||g===62||g===39||g===34||g===37||g===64||g===96||(g===63||g===45)&&(r=e.input.charCodeAt(e.position+1),We(r)||i&&Rt(r)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,o=!1;g!==0;){if(g===58){if(r=e.input.charCodeAt(e.position+1),We(r)||i&&Rt(r))break}else if(g===35){if(n=e.input.charCodeAt(e.position-1),We(n))break}else{if(e.position===e.lineStart&&ra(e)||i&&Rt(g))break;if(hi(g))if(l=e.line,d=e.lineStart,c=e.lineIndent,he(e,!1,-1),e.lineIndent>=t){o=!0,g=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=d,e.lineIndent=c;break}}o&&(Fi(e,a,s,!1),Js(e,e.line-l),a=s=e.position,o=!1),Xi(g)||(s=e.position+1),g=e.input.charCodeAt(++e.position)}return Fi(e,a,s,!1),e.result?!0:(e.kind=u,e.result=m,!1)}function Qm(e,t){var i,n,r;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if(Fi(e,n,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)n=e.position,e.position++,r=e.position;else return!0;else hi(i)?(Fi(e,n,r,!0),Js(e,he(e,!1,t)),n=r=e.position):e.position===e.lineStart&&ra(e)?P(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);P(e,"unexpected end of the stream within a single quoted scalar")}function Zm(e,t){var i,n,r,a,s,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=n=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return Fi(e,i,e.position,!0),e.position++,!0;if(o===92){if(Fi(e,i,e.position,!0),o=e.input.charCodeAt(++e.position),hi(o))he(e,!1,t);else if(o<256&&uc[o])e.result+=pc[o],e.position++;else if((s=Ym(o))>0){for(r=s,a=0;r>0;r--)o=e.input.charCodeAt(++e.position),(s=Hm(o))>=0?a=(a<<4)+s:P(e,"expected hexadecimal character");e.result+=Vm(a),e.position++}else P(e,"unknown escape sequence");i=n=e.position}else hi(o)?(Fi(e,i,n,!0),Js(e,he(e,!1,t)),i=n=e.position):e.position===e.lineStart&&ra(e)?P(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}P(e,"unexpected end of the stream within a double quoted scalar")}function Jm(e,t){var i=!0,n,r,a,s=e.tag,o,l=e.anchor,d,c,u,m,g,h=Object.create(null),v,w,z,S;if(S=e.input.charCodeAt(e.position),S===91)c=93,g=!1,o=[];else if(S===123)c=125,g=!0,o={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),S=e.input.charCodeAt(++e.position);S!==0;){if(he(e,!0,t),S=e.input.charCodeAt(e.position),S===c)return e.position++,e.tag=s,e.anchor=l,e.kind=g?"mapping":"sequence",e.result=o,!0;i?S===44&&P(e,"expected the node content, but found ','"):P(e,"missed comma between flow collection entries"),w=v=z=null,u=m=!1,S===63&&(d=e.input.charCodeAt(e.position+1),We(d)&&(u=m=!0,e.position++,he(e,!0,t))),n=e.line,r=e.lineStart,a=e.position,Nt(e,t,Xr,!1,!0),w=e.tag,v=e.result,he(e,!0,t),S=e.input.charCodeAt(e.position),(m||e.line===n)&&S===58&&(u=!0,S=e.input.charCodeAt(++e.position),he(e,!0,t),Nt(e,t,Xr,!1,!0),z=e.result),g?Dt(e,o,h,w,v,z,n,r,a):u?o.push(Dt(e,null,h,w,v,z,n,r,a)):o.push(v),he(e,!0,t),S=e.input.charCodeAt(e.position),S===44?(i=!0,S=e.input.charCodeAt(++e.position)):i=!1}P(e,"unexpected end of the stream within a flow collection")}function Xm(e,t){var i,n,r=Hs,a=!1,s=!1,o=t,l=0,d=!1,c,u;if(u=e.input.charCodeAt(e.position),u===124)n=!1;else if(u===62)n=!0;else return!1;for(e.kind="scalar",e.result="";u!==0;)if(u=e.input.charCodeAt(++e.position),u===43||u===45)Hs===r?r=u===43?Kl:jm:P(e,"repeat of a chomping mode identifier");else if((c=Wm(u))>=0)c===0?P(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?P(e,"repeat of an indentation width identifier"):(o=t+c-1,s=!0);else break;if(Xi(u)){do u=e.input.charCodeAt(++e.position);while(Xi(u));if(u===35)do u=e.input.charCodeAt(++e.position);while(!hi(u)&&u!==0)}for(;u!==0;){for(Zs(e),e.lineIndent=0,u=e.input.charCodeAt(e.position);(!s||e.lineIndento&&(o=e.lineIndent),hi(u)){l++;continue}if(e.lineIndentt)&&l!==0)P(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(w&&(s=e.line,o=e.lineStart,l=e.position),Nt(e,t,ea,!0,r)&&(w?h=e.result:v=e.result),w||(Dt(e,u,m,g,h,v,s,o,l),g=h=v=null),he(e,!0,-1),S=e.input.charCodeAt(e.position)),(e.line===a||e.lineIndent>t)&&S!==0)P(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),u=0,m=e.implicitTypes.length;u"),e.result!==null&&h.kind!==e.kind&&P(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result,e.tag)?(e.result=h.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):P(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||c}function rg(e){var t=e.position,i,n,r,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(he(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),i=e.position;s!==0&&!We(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(i,e.position),r=[],n.length<1&&P(e,"directive name must not be less than one character in length");s!==0;){for(;Xi(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!hi(s));break}if(hi(s))break;for(i=e.position;s!==0&&!We(s);)s=e.input.charCodeAt(++e.position);r.push(e.input.slice(i,e.position))}s!==0&&Zs(e),Ri.call(Yl,n)?Yl[n](e,n,r):ia(e,'unknown document directive "'+n+'"')}if(he(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,he(e,!0,-1)):a&&P(e,"directives end mark is expected"),Nt(e,e.lineIndent-1,ea,!1,!0),he(e,!0,-1),e.checkLineBreaks&&Km.test(e.input.slice(t,e.position))&&ia(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&ra(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,he(e,!0,-1));return}if(e.position"u"&&(i=t,t=null);var n=gc(e,i);if(typeof t!="function")return n;for(var r=0,a=n.length;r=55296&&i<=56319&&t+1=56320&&n<=57343)?(i-55296)*1024+n-56320+65536:i}function mc(e){var t=/^\n* /;return t.test(e)}var gc=1,Ds=2,hc=3,fc=4,Mt=5;function hg(e,t,i,n,r,a,s,o){var l,d=0,c=null,u=!1,p=!1,g=n!==-1,h=-1,y=mg(pn(e,0))&&gg(pn(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(d=pn(e,l),!fn(d))return Mt;y=y&&Nl(d,c,o),c=d}else{for(l=0;l=65536?l+=2:l++){if(d=pn(e,l),d===gn)u=!0,g&&(p=p||l-h-1>n&&e[h+1]!==" ",h=l);else if(!fn(d))return Mt;y=y&&Nl(d,c,o),c=d}p=p||g&&l-h-1>n&&e[h+1]!==" "}return!u&&!p?y&&!s&&!r(e)?gc:a===hn?Mt:Ds:i>9&&mc(e)?Mt:s?a===hn?Mt:Ds:p?fc:hc}function fg(e,t,i,n,r){e.dump=function(){if(t.length===0)return e.quotingType===hn?'""':"''";if(!e.noCompatMode&&(sg.indexOf(t)!==-1||og.test(t)))return e.quotingType===hn?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,i),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),o=n||e.flowLevel>-1&&i>=e.flowLevel;function l(d){return pg(e,d)}switch(hg(t,o,e.indent,s,l,e.quotingType,e.forceQuotes&&!n,r)){case gc:return t;case Ds:return"'"+t.replace(/'/g,"''")+"'";case hc:return"|"+Pl(t,e.indent)+Kl(Dl(t,a));case fc:return">"+Pl(t,e.indent)+Kl(Dl(yg(t,s),a));case Mt:return'"'+bg(t)+'"';default:throw new je("impossible error: invalid scalar style")}}()}function Pl(e,t){var i=mc(e)?String(t):"",n=e[e.length-1]===` +`&&(a+=i),a+=s;return a}function Vs(e,t){return` +`+xe.repeat(" ",e.indent*t)}function qg(e,t){var i,n,r;for(i=0,n=e.implicitTypes.length;i=55296&&i<=56319&&t+1=56320&&n<=57343)?(i-55296)*1024+n-56320+65536:i}function zc(e){var t=/^\n* /;return t.test(e)}var Sc=1,Us=2,Tc=3,Ac=4,Ft=5;function _g(e,t,i,n,r,a,s,o){var l,d=0,c=null,u=!1,m=!1,g=n!==-1,h=-1,v=Mg(hn(e,0))&&Ig(hn(e,e.length-1));if(t||s)for(l=0;l=65536?l+=2:l++){if(d=hn(e,l),!vn(d))return Ft;v=v&&Ql(d,c,o),c=d}else{for(l=0;l=65536?l+=2:l++){if(d=hn(e,l),d===yn)u=!0,g&&(m=m||l-h-1>n&&e[h+1]!==" ",h=l);else if(!vn(d))return Ft;v=v&&Ql(d,c,o),c=d}m=m||g&&l-h-1>n&&e[h+1]!==" "}return!u&&!m?v&&!s&&!r(e)?Sc:a===bn?Ft:Us:i>9&&zc(e)?Ft:s?a===bn?Ft:Us:m?Ac:Tc}function Bg(e,t,i,n,r){e.dump=function(){if(t.length===0)return e.quotingType===bn?'""':"''";if(!e.noCompatMode&&(Tg.indexOf(t)!==-1||Ag.test(t)))return e.quotingType===bn?'"'+t+'"':"'"+t+"'";var a=e.indent*Math.max(1,i),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),o=n||e.flowLevel>-1&&i>=e.flowLevel;function l(d){return qg(e,d)}switch(_g(t,o,e.indent,s,l,e.quotingType,e.forceQuotes&&!n,r)){case Sc:return t;case Us:return"'"+t.replace(/'/g,"''")+"'";case Tc:return"|"+Zl(t,e.indent)+Jl(Ul(t,a));case Ac:return">"+Zl(t,e.indent)+Jl(Ul(Fg(t,s),a));case Ft:return'"'+Rg(t)+'"';default:throw new Ne("impossible error: invalid scalar style")}}()}function Zl(e,t){var i=zc(e)?String(t):"",n=e[e.length-1]===` `,r=n&&(e[e.length-2]===` `||e===` `),a=r?"+":n?"":"-";return i+a+` -`}function Kl(e){return e[e.length-1]===` -`?e.slice(0,-1):e}function yg(e,t){for(var i=/(\n+)([^\n]*)/g,n=function(){var d=e.indexOf(` -`);return d=d!==-1?d:e.length,i.lastIndex=d,$l(e.slice(0,d),t)}(),r=e[0]===` +`}function Jl(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Fg(e,t){for(var i=/(\n+)([^\n]*)/g,n=function(){var d=e.indexOf(` +`);return d=d!==-1?d:e.length,i.lastIndex=d,Xl(e.slice(0,d),t)}(),r=e[0]===` `||e[0]===" ",a,s;s=i.exec(e);){var o=s[1],l=s[2];a=l[0]===" ",n+=o+(!r&&!a&&l!==""?` -`:"")+$l(l,t),r=a}return n}function $l(e,t){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,n,r=0,a,s=0,o=0,l="";n=i.exec(e);)o=n.index,o-r>t&&(a=s>r?s:o,l+=` +`:"")+Xl(l,t),r=a}return n}function Xl(e,t){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,n,r=0,a,s=0,o=0,l="";n=i.exec(e);)o=n.index,o-r>t&&(a=s>r?s:o,l+=` `+e.slice(r,a),r=a+1),s=o;return l+=` `,e.length-r>t&&s>r?l+=e.slice(r,s)+` -`+e.slice(s+1):l+=e.slice(r),l.slice(1)}function bg(e){for(var t="",i=0,n,r=0;r=65536?r+=2:r++)i=pn(e,r),n=_e[i],!n&&fn(i)?(t+=e[r],i>=65536&&(t+=e[r+1])):t+=n||cg(i);return t}function vg(e,t,i){var n="",r=e.tag,a,s,o;for(a=0,s=i.length;a"u"&&Ci(e,t,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=r,e.dump="["+n+"]"}function Hl(e,t,i,n){var r="",a=e.tag,s,o,l;for(s=0,o=i.length;s"u"&&Ci(e,t+1,null,!0,!0,!1,!0))&&((!n||r!=="")&&(r+=Rs(e,t)),e.dump&&gn===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=a,e.dump=r||"[]"}function xg(e,t,i){var n="",r=e.tag,a=Object.keys(i),s,o,l,d,c;for(s=0,o=a.length;s1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Ci(e,t,d,!1,!1)&&(c+=e.dump,n+=c));e.tag=r,e.dump="{"+n+"}"}function wg(e,t,i,n){var r="",a=e.tag,s=Object.keys(i),o,l,d,c,u,p;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new je("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,u&&(e.dump&&gn===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,u&&(p+=Rs(e,t)),Ci(e,t+1,c,!0,u)&&(e.dump&&gn===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,r+=p));e.tag=a,e.dump=r||"{}"}function Yl(e,t,i){var n,r,a,s,o,l;for(r=i?e.explicitTypes:e.implicitTypes,a=0,s=r.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function Ci(e,t,i,n,r,a,s){e.tag=null,e.dump=i,Yl(e,i,!1)||Yl(e,i,!0);var o=sc.call(e.dump),l=n,d;n&&(n=e.flowLevel<0||e.flowLevel>t);var c=o==="[object Object]"||o==="[object Array]",u,p;if(c&&(u=e.duplicates.indexOf(i),p=u!==-1),(e.tag!==null&&e.tag!=="?"||p||e.indent!==2&&t>0)&&(r=!1),p&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(c&&p&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),o==="[object Object]")n&&Object.keys(e.dump).length!==0?(wg(e,t,e.dump,r),p&&(e.dump="&ref_"+u+e.dump)):(xg(e,t,e.dump),p&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?Hl(e,t-1,e.dump,r):Hl(e,t,e.dump,r),p&&(e.dump="&ref_"+u+e.dump)):(vg(e,t,e.dump),p&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object String]")e.tag!=="?"&&fg(e,e.dump,t,a,l);else{if(o==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new je("unacceptable kind of an object to dump "+o)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function kg(e,t){var i=[],n=[],r,a;for(js(e,i,n),r=0,a=n.length;r=65536?r+=2:r++)i=hn(e,r),n=_e[i],!n&&vn(i)?(t+=e[r],i>=65536&&(t+=e[r+1])):t+=n||Lg(i);return t}function Dg(e,t,i){var n="",r=e.tag,a,s,o;for(a=0,s=i.length;a"u"&&Ci(e,t,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=r,e.dump="["+n+"]"}function ec(e,t,i,n){var r="",a=e.tag,s,o,l;for(s=0,o=i.length;s"u"&&Ci(e,t+1,null,!0,!0,!1,!0))&&((!n||r!=="")&&(r+=Vs(e,t)),e.dump&&yn===e.dump.charCodeAt(0)?r+="-":r+="- ",r+=e.dump);e.tag=a,e.dump=r||"[]"}function Ng(e,t,i){var n="",r=e.tag,a=Object.keys(i),s,o,l,d,c;for(s=0,o=a.length;s1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Ci(e,t,d,!1,!1)&&(c+=e.dump,n+=c));e.tag=r,e.dump="{"+n+"}"}function jg(e,t,i,n){var r="",a=e.tag,s=Object.keys(i),o,l,d,c,u,m;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Ne("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,u&&(e.dump&&yn===e.dump.charCodeAt(0)?m+="?":m+="? "),m+=e.dump,u&&(m+=Vs(e,t)),Ci(e,t+1,c,!0,u)&&(e.dump&&yn===e.dump.charCodeAt(0)?m+=":":m+=": ",m+=e.dump,r+=m));e.tag=a,e.dump=r||"{}"}function ic(e,t,i){var n,r,a,s,o,l;for(r=i?e.explicitTypes:e.implicitTypes,a=0,s=r.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function Ci(e,t,i,n,r,a,s){e.tag=null,e.dump=i,ic(e,i,!1)||ic(e,i,!0);var o=fc.call(e.dump),l=n,d;n&&(n=e.flowLevel<0||e.flowLevel>t);var c=o==="[object Object]"||o==="[object Array]",u,m;if(c&&(u=e.duplicates.indexOf(i),m=u!==-1),(e.tag!==null&&e.tag!=="?"||m||e.indent!==2&&t>0)&&(r=!1),m&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(c&&m&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),o==="[object Object]")n&&Object.keys(e.dump).length!==0?(jg(e,t,e.dump,r),m&&(e.dump="&ref_"+u+e.dump)):(Ng(e,t,e.dump),m&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!s&&t>0?ec(e,t-1,e.dump,r):ec(e,t,e.dump,r),m&&(e.dump="&ref_"+u+e.dump)):(Dg(e,t,e.dump),m&&(e.dump="&ref_"+u+" "+e.dump));else if(o==="[object String]")e.tag!=="?"&&Bg(e,e.dump,t,a,l);else{if(o==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new Ne("unacceptable kind of an object to dump "+o)}e.tag!==null&&e.tag!=="?"&&(d=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?d="!"+d:d.slice(0,18)==="tag:yaml.org,2002:"?d="!!"+d.slice(18):d="!<"+d+">",e.dump=d+" "+e.dump)}return!0}function Pg(e,t){var i=[],n=[],r,a;for(Gs(e,i,n),r=0,a=n.length;rUnicode-Block "Formulare" in voller Breite'},"include-cjk-symbols-and-punctuation":{name:"CJK-Symbole und Satzzeichen einschlie\xDFen",description:'Einschlie\xDFen CJK-Symbole und Satzzeichen Unicode-Block'},"include-dashes":{name:"Bindestriche einschlie\xDFen",description:"F\xFCgen Sie den Gedankenstrich (\u2013) und den Gedankenstrich (\u2014) ein"},"other-symbols":{name:"Andere Symbole",description:"Andere Symbole, die enthalten sind"}},"remove-trailing-punctuation-in-heading":{name:"Entfernen Sie nachgestellte Satzzeichen in der \xDCberschrift",description:"Entfernt die angegebene Interpunktion am Ende von \xDCberschriften, wobei darauf zu achten ist, dass das Semikolon am Ende von [HTML-Entit\xE4tsreferenzen](https://de.wikipedia.org/wiki/Typografische_Zeichen_in_XML_und_HTML) ignoriert wird.","punctuation-to-remove":{name:"Nachfolgende Interpunktion",description:"Das nachfolgende Satzzeichen, das aus den \xDCberschriften in der Datei entfernt werden soll."}},"remove-yaml-keys":{name:"Entfernen von YAML-Schl\xFCsseln",description:"Entfernt die angegebenen YAML-Schl\xFCssel","yaml-keys-to-remove":{name:"Zu entfernende YAML-Schl\xFCssel",description:"Die zu entfernenden yaml-Tasten aus der yaml-Frontmaterie mit oder ohne Doppelpunkt"}},"space-after-list-markers":{name:"Leerzeichen nach Listenmarkierungen",description:"Es sollte ein einzelnes Leerzeichen nach Listenmarkierungen und Kontrollk\xE4stchen geben."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Leerzeichen zwischen Chinesisch, Japanisch oder Koreanisch und Englisch oder Zahlen",description:"Stellt sicher, dass Chinesisch, Japanisch oder Koreanisch und Englisch oder Zahlen durch ein einziges Leerzeichen getrennt werden. Folgt diesen [Richtlinien](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Starker Stil",description:"Stellt sicher, dass der starke Stil konsistent ist.",style:{name:"Stil",description:"Der Stil, der verwendet wird, um starke/fettgedruckte Inhalte zu kennzeichnen"}},"trailing-spaces":{name:"Nachgestellte Leerzeichen",description:"Entfernt zus\xE4tzliche Leerzeichen nach jeder Zeile.","twp-space-line-break":{name:"Zwei Leerzeichen Zeilenumbruch",description:'Ignorieren Sie zwei Leerzeichen, gefolgt von einem Zeilenumbruch ("Zwei-Leerzeichen-Regel").'}},"two-spaces-between-lines-with-content":{name:"Zwei Leerzeichen zwischen Zeilen mit Inhalt",description:"Stellt sicher, dass zwei Leerzeichen an den Zeilenenden hinzugef\xFCgt werden, wobei der Inhalt in der n\xE4chsten Zeile f\xFCr Abs\xE4tze, Blockzitate und Listenelemente fortgesetzt wird"},"unordered-list-style":{name:"Ungeordneter Listenstil",description:"Stellt sicher, dass ungeordnete Listen dem angegebenen Stil folgen.","list-style":{name:"Stil des Listenelements",description:"Das Listenelementformat, das in ungeordneten Listen verwendet werden soll"}},"yaml-key-sort":{name:"Sortierung von YAML-Schl\xFCsseln",description:"Sortiert die YAML-Schl\xFCssel basierend auf der angegebenen Reihenfolge und Priorit\xE4t. Hinweis: Kann auch Leerzeilen entfernen.","yaml-key-priority-sort-order":{name:"Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t",description:"Die Reihenfolge, in der Schl\xFCssel sortiert werden sollen, wobei einer in jeder Zeile sortiert wird, in der er in der Reihenfolge sortiert wird, die in der Liste gefunden wird"},"priority-keys-at-start-of-yaml":{name:"Priorit\xE4tstasten beim Start von YAML",description:"Die Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t wird am Anfang der YAML-Frontmaterie platziert"},"yaml-sort-order-for-other-keys":{name:"YAML-Sortierreihenfolge f\xFCr andere Schl\xFCssel",description:"Die Art und Weise, wie die Schl\xFCssel sortiert werden, die nicht im Textbereich Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t gefunden werden"}},"yaml-timestamp":{name:"YAML-Zeitstempel",description:"Verfolgen Sie das Datum, an dem die Datei zuletzt bearbeitet wurde, in der YAML-Front. Ruft Datumsangaben aus Dateimetadaten ab.","date-created":{name:"Erstellungsdatum",description:"Der YAML-Schl\xFCssel, der f\xFCr das Erstellungsdatum verwendet werden soll"},"date-created-key":{name:"Erstellungsdatum des Schl\xFCssels",description:"Welcher YAML-Schl\xFCssel soll f\xFCr das Erstellungsdatum verwendet werden"},"force-retention-of-create-value":{name:"Erstellungsdatum erzwingen Schl\xFCsselwertaufbewahrung",description:"Verwendet den Wert in der YAML-Frontmaterie f\xFCr das Erstellungsdatum anstelle der Dateimetadaten, was n\xFCtzlich ist, um zu verhindern, dass \xC4nderungen an Dateimetadaten dazu f\xFChren, dass der Wert in einen anderen Wert ge\xE4ndert wird."},"date-modified":{name:"\xC4nderungsdatum",description:"Geben Sie das Datum ein, an dem die Datei zuletzt ge\xE4ndert wurde"},"date-modified-key":{name:"\xC4nderungsdatum des Schl\xFCssels",description:"Der YAML-Schl\xFCssel, der f\xFCr das \xC4nderungsdatum verwendet werden soll"},format:{name:"Format",description:"Zu verwendendes Momentdatumsformat (siehe [Momentformatoptionen](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"YAML-Titel-Alias",description:"F\xFCgt den Titel der Datei in den Aliasabschnitt der YAML-Frontmaterie ein. Ruft den Titel aus dem ersten H1- oder Dateinamen ab.","preserve-existing-alias-section-style":{name:"Vorhandenes Alias-Abschnittsformat beibehalten",description:"Wenn diese Option festgelegt ist, gilt die Einstellung `YAML-Aliase-Abschnittsstil` nur f\xFCr die neu erstellten Abschnitte"},"keep-alias-that-matches-the-filename":{name:"Behalten Sie einen Alias bei, der mit dem Dateinamen \xFCbereinstimmt",description:"Solche Aliase sind in der Regel redundant"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Verwenden Sie den YAML-Schl\xFCssel `linter-yaml-title-alias`, um bei \xC4nderungen von Dateinamen und \xDCberschriften zu helfen",description:"Wenn sich die erste H1-\xDCberschrift \xE4ndert oder der Dateiname ge\xE4ndert wird, wenn der erste H1 nicht vorhanden ist, wird der alte Alias, der in diesem Schl\xFCssel gespeichert ist, durch den neuen Wert ersetzt, anstatt nur einen neuen Eintrag in das Alias-Array einzuf\xFCgen"}},"yaml-title":{name:"YAML-Titel",description:"F\xFCgt den Titel der Datei in die YAML-Frontmaterie ein. Ruft den Titel aus dem ersten H1 oder Dateinamen ab, wenn kein H1 vorhanden ist.","title-key":{name:"Titel-Schl\xFCssel",description:"Der YAML-Schl\xFCssel, der f\xFCr den Titel verwendet werden soll"}}},enums:{"Title Case":"Titel Gro\xDF- und Kleinschreibung","ALL CAPS":"GROSSBUCHSTABEN","First letter":"Anfangsbuchstabe",".":".",")":")",ERROR:"Fehler",TRACE:"Spur",DEBUG:"Debuggen",INFO:"Info",WARN:"Warnen",SILENT:"Leise",ascending:"aufsteigend",lazy:"lazy",Nothing:"Faul","Remove hashtag":"Hashtag entfernen","Remove whole tag":"Ganzes Tag entfernen",asterisk:"Sternchen",underscore:"unterstreichen",consistent:"folgerichtig","-":"-","*":"*","+":"+",None:"Nichts","Ascending Alphabetical":"Aufsteigend Alphabetisch","Descending Alphabetical":"Absteigend Alphabetisch","multi-line":"mehrzeilig","single-line":"einzeilig","single string to single-line":"Single String zu Single-Line","single string to multi-line":"Single String zu Multi-Line","single string comma delimited":"Komma mit Trennzeichen f\xFCr eine Zeichenfolge","single string space delimited":"Einzelzeichenfolgenabstand durch Trennzeichen","single-line space delimited":"einzeiliger Abstand durch Trennzeichen"}};var Zs={commands:{"lint-file":{name:"Lint the current file","error-message":"Lint File Error in File"},"lint-file-unless-ignored":{name:"Lint the current file unless ignored"},"lint-all-files":{name:"Lint all files in the vault","error-message":"Lint All Files Error in File","success-message":"Linted all files","errors-message-singular":"Linted all files and there was 1 error.","errors-message-plural":"Linted all files and there were {NUM} errors.","start-message":"This will edit all of your files and may introduce errors.","submit-button-text":"Lint All","submit-button-notice-text":"Linting all files..."},"lint-all-files-in-folder":{name:"Lint all files in the current folder","start-message":"This will edit all of your files in {FOLDER_NAME} including files in its subfolders which may introduce errors.","submit-button-text":"Lint All Files in {FOLDER_NAME}","submit-button-notice-text":"Linting all files in {FOLDER_NAME}...","error-message":"Lint All Files in Folder Error in File","success-message":"Linted all {NUM} files in {FOLDER_NAME}.","message-singular":"Linted all {NUM} files in {FOLDER_NAME} and there was 1 error.","message-plural":"Linted all {FILE_COUNT} files in {FOLDER_NAME} and there were {ERROR_COUNT} error."},"paste-as-plain-text":{name:"Paste as Plain Text & without Modifications"},"lint-file-pop-up-menu-text":{name:"Lint file"},"lint-folder-pop-up-menu-text":{name:"Lint folder"}},logs:{"plugin-load":"Loading plugin","plugin-unload":"Unloading plugin","folder-lint":"Linting folder ","linter-run":"Running linter","paste-link-warning":"aborted paste lint as the clipboard content is a link and doing so will avoid conflicts with other plugins that modify pasting.","see-console":"See console for more details.","unknown-error":"An unknown error occurred during linting.","moment-locale-not-found":"Trying to switch Moment.js locale to {MOMENT_LOCALE}, got {CURRENT_LOCALE}","pre-rules":"rules before regular rules","post-rules":"rules after regular rules","rule-running":"rules running","custom-regex":"custom regex rules","running-custom-regex":"Running Custom Regex","running-custom-lint-command":"Running Custom Lint Commands","custom-lint-duplicate-warning":'You cannot run the same command ("{COMMAND_NAME}") as a custom lint rule twice.',"custom-lint-error-message":"Custom Lint Command","disabled-text":"is disabled","run-rule-text":"Running","timing-key-not-found":"timing key '{TIMING_KEY}' does not exist in the timing info list, so it was ignored","milliseconds-abbreviation":"ms","invalid-date-format-error":"The format of the created date '{DATE}' could not be parsed or determined so the created date was left alone in '{FILE_NAME}'","invalid-delimiter-error-message":"delimiter is only allowed to be a single character","missing-footnote-error-message":"Footnote '{FOOTNOTE}' has no corresponding footnote reference before the footnote contents and cannot be processed. Please make sure that all footnotes have a corresponding reference before the content of the footnote.","too-many-footnotes-error-message":"Footnote key '{FOOTNOTE_KEY}' has more than 1 footnote referencing it. Please update the footnotes so that there is only one footnote per footnote key.","wrapper-yaml-error":"error in the yaml: {ERROR_MESSAGE}","wrapper-unknown-error":"unknown error: {ERROR_MESSAGE}"},"notice-text":{"empty-clipboard":"There is no clipboard content.","characters-added":"characters added","characters-removed":"characters removed"},"linter-title":"Linter","empty-search-results-text":"No settings match search","warning-text":"Warning","file-backup-text":"Make sure you have backed up your files.",tabs:{names:{general:"General Settings",custom:"Custom Settings",yaml:"YAML Settings",heading:"Heading Settings",content:"Footnote Settings",footnote:"Content Settings",spacing:"Spacing Settings",paste:"Paste Settings",debug:"Debug Settings"},"default-search-bar-text":"Search all settings",general:{"lint-on-save":{name:"Lint on save",description:"Lint the file on manual save (when `Ctrl + S` is pressed or when `:w` is executed while using vim keybindings)"},"display-message":{name:"Display message on lint",description:"Display the number of characters changed after linting"},"folders-to-ignore":{name:"Folders to ignore",description:"Folders to ignore when linting all files or linting on save. Enter folder paths separated by newlines"},"override-locale":{name:"Override locale",description:"Set this if you want to use a locale different from the default"},"same-as-system-locale":"Same as system ({SYS_LOCALE})","yaml-aliases-section-style":{name:"YAML aliases section style",description:"The style of the YAML aliases section"},"yaml-tags-section-style":{name:"YAML tags section style",description:"The style of the YAML tags section"},"default-escape-character":{name:"Default Escape Character",description:"The default character to use to escape YAML values when a single quote and double quote are not present."},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"Remove Unnecessary Escape Characters when in Multi-Line Array Format",description:"Escape characters for multi-line YAML arrays don't need the same escaping as single-line arrays, so when in multi-line format remove extra escapes that are not necessary"},"number-of-dollar-signs-to-indicate-math-block":{name:"Number of Dollar Signs to Indicate Math Block",description:"The amount of dollar signs to consider the math content to be a math block instead of inline math"}},debug:{"log-level":{name:"Log Level",description:"The types of logs that will be allowed to be logged by the service. The default is ERROR."},"linter-config":{name:"Linter Config",description:"The contents of the data.json for the Linter as of the setting page loading"},"log-collection":{name:"Collect logs when linting on save and linting the current file",description:"Goes ahead and collects logs when you `Lint on save` and linting the current file. These logs can be helpful for debugging and create bug reports."},"linter-logs":{name:"Linter Logs",description:"The logs from the last `Lint on save` or the last lint current file run if enabled."}}},options:{"custom-command":{name:"Custom Commands",description:"Custom commands are Obsidian commands that get run after the linter is finished running its regular rules. This means that they do not run before the YAML timestamp logic runs, so they can cause YAML timestamp to be triggered on the next run of the linter. You may only select an Obsidian command once. **_Note that this currently only works on linting the current file._**",warning:"When selecting an option, make sure to select the option either by using the mouse or by hitting the enter key. Other selection methods may not work and only selections of an actual Obsidian command or an empty string will be saved.","add-input-button-text":"Add new command","command-search-placeholder-text":"Obsidian command","move-up-tooltip":"Move up","move-down-tooltip":"Move down","delete-tooltip":"Delete"},"custom-replace":{name:"Custom Regex Replacement",description:"Custom regex replacement can be used to replace anything that matches the find regex with the replacement value. The replace and find values will need to be valid regex values.",warning:"Use this with caution if you do not know regex. Also, please make sure that you do not use lookbehinds in your regex on iOS mobile as that will cause linting to fail since that is not supported on that platform.","add-input-button-text":"Add new regex replacement","regex-to-find-placeholder-text":"regex to find","flags-placeholder-text":"flags","regex-to-replace-placeholder-text":"regex to replace","delete-tooltip":"Delete"}},rules:{"auto-correct-common-misspellings":{name:"Auto-correct Common Misspellings",description:"Uses a dictionary of common misspellings to automatically convert them to their proper spellings. See [auto-correct map](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts) for the full list of auto-corrected words.","ignore-words":{name:"Ignore Words",description:"A comma separated list of lowercased words to ignore when auto-correcting"}},"add-blockquote-indentation-on-paste":{name:"Add Blockquote Indentation on Paste",description:"Adds blockquotes to all but the first line, when the cursor is in a blockquote/callout line during pasting"},"capitalize-headings":{name:"Capitalize Headings",description:"Headings should be formatted with capitalization",style:{name:"Style",description:"The style of capitalization to use"},"ignore-case-words":{name:"Ignore Cased Words",description:"Only apply title case style to words that are all lowercase"},"ignore-words":{name:"Ignore Words",description:"A comma separated list of words to ignore when capitalizing"},"lowercase-words":{name:"Lowercase Words",description:"A comma separated list of words to keep lowercase"}},"compact-yaml":{name:"Compact YAML",description:"Removes leading and trailing blank lines in the YAML front matter.","inner-new-lines":{name:"Inner New Lines",description:"Remove new lines that are not at the start or the end of the YAML"}},"consecutive-blank-lines":{name:"Consecutive blank lines",description:"There should be at most one consecutive blank line."},"convert-bullet-list-markers":{name:"Convert Bullet List Markers",description:"Converts common bullet list marker symbols to markdown list markers."},"convert-spaces-to-tabs":{name:"Convert Spaces to Tabs",description:"Converts leading spaces to tabs.",tabsize:{name:"Tabsize",description:"Number of spaces that will be converted to a tab"}},"emphasis-style":{name:"Emphasis Style",description:"Makes sure the emphasis style is consistent.",style:{name:"Style",description:"The style used to denote emphasized content"}},"empty-line-around-blockquotes":{name:"Empty Line Around Blockquotes",description:"Ensures that there is an empty line around blockquotes unless they start or end a document. **Note that an empty line is either one less level of nesting for blockquotes or a newline character.**"},"empty-line-around-code-fences":{name:"Empty Line Around Code Fences",description:"Ensures that there is an empty line around code fences unless they start or end a document."},"empty-line-around-math-blocks":{name:"Empty Line Around Math Blocks",description:"Ensures that there is an empty line around math blocks using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."},"empty-line-around-tables":{name:"Empty Line Around Tables",description:"Ensures that there is an empty line around github flavored tables unless they start or end a document."},"escape-yaml-special-characters":{name:"Escape YAML Special Characters",description:`Escapes colons with a space after them (: ), single quotes ('), and double quotes (") in YAML.`,"try-to-escape-single-line-arrays":{name:"Try to Escape Single Line Arrays",description:'Tries to escape array values assuming that an array starts with "[", ends with "]", and has items that are delimited by ",".'}},"file-name-heading":{name:"File Name Heading",description:"Inserts the file name as a H1 heading if no H1 heading exists."},"footnote-after-punctuation":{name:"Footnote after Punctuation",description:"Ensures that footnote references are placed after punctuation, not before."},"force-yaml-escape":{name:"Force YAML Escape",description:"Escapes the values for the specified YAML keys.","force-yaml-escape-keys":{name:"Force YAML Escape on Keys",description:"Uses the YAML escape character on the specified YAML keys separated by a new line character if it is not already escaped. Do not use on YAML arrays."}},"format-tags-in-yaml":{name:"Format Tags in YAML",description:"Remove Hashtags from tags in the YAML frontmatter, as they make the tags there invalid."},"format-yaml-array":{name:"Format Yaml Array",description:"Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array.","alias-key":{name:"Format yaml aliases section",description:"Turns on formatting for the yaml aliases section. You should not enable this option alongside the rule `YAML Title Alias` as they may not work well together or they may have different format styles selected causing unexpected results."},"tag-key":{name:"Format yaml tags section",description:"Turns on formatting for the yaml tags section."},"default-array-style":{name:"Default yaml array section style",description:"The style of other yaml arrays that are not `tags`, `aliases` or in `Force key values to be single-line arrays` and `Force key values to be multi-line arrays`"},"default-array-keys":{name:"Format yaml array sections",description:"Turns on formatting for regular yaml arrays"},"force-single-line-array-style":{name:"Force key values to be single-line arrays",description:"Forces the yaml array for the new line separated keys to be in single-line format (leave empty to disable this option)"},"force-multi-line-array-style":{name:"Force key values to be multi-line arrays",description:"Forces the yaml array for the new line separated keys to be in multi-line format (leave empty to disable this option)"}},"header-increment":{name:"Header Increment",description:"Heading levels should only increment by one level at a time","start-at-h2":{name:"Start Header Increment at Heading Level 2",description:"Makes heading level 2 the minimum heading level in a file for header increment and shifts all headings accordingly so they increment starting with a level 2 heading."}},"heading-blank-lines":{name:"Heading blank lines",description:"All headings have a blank line both before and after (except where the heading is at the beginning or end of the document).",bottom:{name:"Bottom",description:"Insert a blank line after headings"},"empty-line-after-yaml":{name:"Empty Line Between Yaml and Header",description:"Keep the empty line between the Yaml frontmatter and header"}},"headings-start-line":{name:"Headings Start Line",description:"Headings that do not start a line will have their preceding whitespace removed to make sure they get recognized as headers."},"insert-yaml-attributes":{name:"Insert YAML attributes",description:"Inserts the given YAML attributes into the YAML frontmatter. Put each attribute on a single line.","text-to-insert":{name:"Text to insert",description:"Text to insert into the YAML frontmatter"}},"line-break-at-document-end":{name:"Line Break at Document End",description:"Ensures that there is exactly one line break at the end of a document."},"move-footnotes-to-the-bottom":{name:"Move Footnotes to the bottom",description:"Move all footnotes to the bottom of the document."},"move-math-block-indicators-to-their-own-line":{name:"Move Math Block Indicators to Their Own Line",description:"Move all starting and ending math block indicators to their own lines using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."},"move-tags-to-yaml":{name:"Move Tags to Yaml",description:"Move all tags to Yaml frontmatter of the document.","how-to-handle-existing-tags":{name:"Body tag operation",description:"What to do with non-ignored tags in the body of the file once they have been moved to the frontmatter"},"tags-to-ignore":{name:"Tags to ignore",description:"The tags that will not be moved to the tags array or removed from the body content if `Remove the hashtag from tags in content body` is enabled. Each tag should be on a new line and without the `#`. **Make sure not to include the hashtag in the tag name.**"}},"no-bare-urls":{name:"No Bare URLs",description:"Encloses bare URLs with angle brackets except when enclosed in back ticks, square braces, or single or double quotes."},"ordered-list-style":{name:"Ordered List Style",description:"Makes sure that ordered lists follow the style specified. Note that 2 spaces or 1 tab is considered to be an indentation level.","number-style":{name:"Number Style",description:"The number style used in ordered list indicators"},"list-end-style":{name:"Ordered List Indicator End Style",description:"The ending character of an ordered list indicator"}},"paragraph-blank-lines":{name:"Paragraph blank lines",description:"All paragraphs should have exactly one blank line both before and after."},"prevent-double-checklist-indicator-on-paste":{name:"Prevent Double Checklist Indicator on Paste",description:"Removes starting checklist indicator from the text to paste if the line the cursor is on in the file has a checklist indicator"},"prevent-double-list-item-indicator-on-paste":{name:"Prevent Double List Item Indicator on Paste",description:"Removes starting list indicator from the text to paste if the line the cursor is on in the file has a list indicator"},"proper-ellipsis-on-paste":{name:"Proper Ellipsis on Paste",description:"Replaces three consecutive dots with an ellipsis even if they have a space between them in the text to paste"},"proper-ellipsis":{name:"Proper Ellipsis",description:"Replaces three consecutive dots with an ellipsis."},"re-index-footnotes":{name:"Re-Index Footnotes",description:"Re-indexes footnote keys and footnote, based on the order of occurrence (NOTE: This rule does *not* work if there is more than one footnote for a key.)"},"remove-consecutive-list-markers":{name:"Remove Consecutive List Markers",description:"Removes consecutive list markers. Useful when copy-pasting list items."},"remove-empty-lines-between-list-markers-and-checklists":{name:"Remove Empty Lines Between List Markers and Checklists",description:"There should not be any empty lines between list markers and checklists."},"remove-empty-list-markers":{name:"Remove Empty List Markers",description:"Removes empty list markers, i.e. list items without content."},"remove-hyphenated-line-breaks":{name:"Remove Hyphenated Line Breaks",description:"Removes hyphenated line breaks. Useful when pasting text from textbooks."},"remove-hyphens-on-paste":{name:"Remove Hyphens on Paste",description:"Removes hyphens from the text to paste"},"remove-leading-or-trailing-whitespace-on-paste":{name:"Remove Leading or Trailing Whitespace on Paste",description:"Removes any leading non-tab whitespace and all trailing whitespace for the text to paste"},"remove-leftover-footnotes-from-quote-on-paste":{name:"Remove Leftover Footnotes from Quote on Paste",description:"Removes any leftover footnote references for the text to paste"},"remove-link-spacing":{name:"Remove link spacing",description:"Removes spacing around link text."},"remove-multiple-blank-lines-on-paste":{name:"Remove Multiple Blank Lines on Paste",description:"Condenses multiple blank lines down into one blank line for the text to paste"},"remove-multiple-spaces":{name:"Remove Multiple Spaces",description:"Removes two or more consecutive spaces. Ignores spaces at the beginning and ending of the line. "},"remove-space-around-characters":{name:"Remove Space around Characters",description:"Ensures that certain characters are not surrounded by whitespace (either single spaces or a tab). Note that this may causes issues with markdown format in some cases.","include-fullwidth-forms":{name:"Include Fullwidth Forms",description:'Include Fullwidth Forms Unicode block'},"include-cjk-symbols-and-punctuation":{name:"Include CJK Symbols and Punctuation",description:'Include CJK Symbols and Punctuation Unicode block'},"include-dashes":{name:"Include Dashes",description:"Include en dash (\u2013) and em dash (\u2014)"},"other-symbols":{name:"Other symbols",description:"Other symbols to include"}},"remove-trailing-punctuation-in-heading":{name:"Remove Trailing Punctuation in Heading",description:"Removes the specified punctuation from the end of headings making sure to ignore the semicolon at the end of [HTML entity references](https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references).","punctuation-to-remove":{name:"Trailing Punctuation",description:"The trailing punctuation to remove from the headings in the file."}},"remove-yaml-keys":{name:"Remove YAML Keys",description:"Removes the YAML keys specified","yaml-keys-to-remove":{name:"YAML Keys to Remove",description:"The yaml keys to remove from the yaml frontmatter with or without colons"}},"space-after-list-markers":{name:"Space after list markers",description:"There should be a single space after list markers and checkboxes."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Space between Chinese Japanese or Korean and English or numbers",description:"Ensures that Chinese, Japanese, or Korean and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Strong Style",description:"Makes sure the strong style is consistent.",style:{name:"Style",description:"The style used to denote strong/bolded content"}},"trailing-spaces":{name:"Trailing spaces",description:"Removes extra spaces after every line.","twp-space-line-break":{name:"Two Space Linebreak",description:'Ignore two spaces followed by a line break ("Two Space Rule").'}},"two-spaces-between-lines-with-content":{name:"Two Spaces Between Lines with Content",description:"Makes sure that two spaces are added to the ends of lines with content continued on the next line for paragraphs, blockquotes, and list items"},"unordered-list-style":{name:"Unordered List Style",description:"Makes sure that unordered lists follow the style specified.","list-style":{name:"List item style",description:"The list item style to use in unordered lists"}},"yaml-key-sort":{name:"YAML Key Sort",description:"Sorts the YAML keys based on the order and priority specified. Note: may remove blank lines as well.","yaml-key-priority-sort-order":{name:"YAML Key Priority Sort Order",description:"The order in which to sort keys with one on each line where it sorts in the order found in the list"},"priority-keys-at-start-of-yaml":{name:"Priority Keys at Start of YAML",description:"YAML Key Priority Sort Order is placed at the start of the YAML frontmatter"},"yaml-sort-order-for-other-keys":{name:"YAML Sort Order for Other Keys",description:"The way in which to sort the keys that are not found in the YAML Key Priority Sort Order text area"}},"yaml-timestamp":{name:"YAML Timestamp",description:"Keep track of the date the file was last edited in the YAML front matter. Gets dates from file metadata.","date-created":{name:"Date Created",description:"Insert the file creation date"},"date-created-key":{name:"Date Created Key",description:"Which YAML key to use for creation date"},"force-retention-of-create-value":{name:"Force Date Created Key Value Retention",description:"Reuses the value in the YAML frontmatter for date created instead of the file metadata which is useful for preventing file metadata changes from causing the value to change to a different value."},"date-modified":{name:"Date Modified",description:"Insert the date the file was last modified"},"date-modified-key":{name:"Date Modified Key",description:"Which YAML key to use for modification date"},format:{name:"Format",description:"Moment date format to use (see [Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"YAML Title Alias",description:"Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename.","preserve-existing-alias-section-style":{name:"Preserve existing aliases section style",description:"If set, the `YAML aliases section style` setting applies only to the newly created sections"},"keep-alias-that-matches-the-filename":{name:"Keep alias that matches the filename",description:"Such aliases are usually redundant"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Use the YAML key `linter-yaml-title-alias` to help with filename and heading changes",description:"If set, when the first H1 heading changes or filename if first H1 is not present changes, then the old alias stored in this key will be replaced with the new value instead of just inserting a new entry in the aliases array"}},"yaml-title":{name:"YAML Title",description:"Inserts the title of the file into the YAML frontmatter. Gets the title from the first H1 or filename if there is no H1.","title-key":{name:"Title Key",description:"Which YAML key to use for title"}}},enums:{"Title Case":"Title Case","ALL CAPS":"ALL CAPS","First letter":"First letter",".":".",")":")",ERROR:"error",TRACE:"trace",DEBUG:"debug",INFO:"info",WARN:"warn",SILENT:"silent",ascending:"ascending",lazy:"lazy",Nothing:"Nothing","Remove hashtag":"Remove hashtag","Remove whole tag":"Remove whole tag",asterisk:"asterisk",underscore:"underscore",consistent:"consistent","-":"-","*":"*","+":"+",None:"None","Ascending Alphabetical":"Ascending Alphabetical","Descending Alphabetical":"Descending Alphabetical","multi-line":"multi-line","single-line":"single-line","single string to single-line":"single string to single-line","single string to multi-line":"single string to multi-line","single string comma delimited":"single string comma delimited","single string space delimited":"single string space delimited","single-line space delimited":"single-line space delimited"}};var Sc={commands:{"lint-file":{name:"Analizar este archivo","error-message":"Error Analizando un Archivooccuri\xF3 en el Archivo"},"lint-file-unless-ignored":{name:"Analizar este archivo si no es ignorado"},"lint-all-files":{name:"Analizar todos los archivos en la b\xF3veda","error-message":"Error Analizando Todos los Archivos en Archivo","success-message":"Analiz\xF3 todos los archivos","errors-message-singular":"Analiz\xF3 todos los archivos y un error ocurri\xF3.","errors-message-plural":"Analiz\xF3 todos los archivos y {NUM} errores ocurrieron","start-message":"Esto editar\xE1 todos de sus archivos y es possible que introduzca errores","submit-button-text":"Analizar Todo","submit-button-notice-text":"Analizando todos los archivos..."},"lint-all-files-in-folder":{name:"Analizar todos los archivos en esta carpeta","start-message":"Esto editar\xE1 todos de sus archivos en {FOLDER_NAME} incluyendo los archivos que existen en las subcarpetas y es possible que introduzca errores.","submit-button-text":"Analizar Todos los Archivos en {FOLDER_NAME}","submit-button-notice-text":"Analizando todos los archivos en {FOLDER_NAME}...","error-message":"Error Analizando Todos los Archivos en Carpeta en Archivo","success-message":"Analiz\xF3 los {NUM} archivos en {FOLDER_NAME}.","message-singular":"Analiz\xF3 los {NUM} archivos en {FOLDER_NAME} y un error ocurri\xF3.","message-plural":"Analiz\xF3 los {FILE_COUNT} archivos en {FOLDER_NAME} y {ERROR_COUNT} errores ocurrieron."},"paste-as-plain-text":{name:"Pegar como texto sin formato y sin modificaciones"},"lint-file-pop-up-menu-text":{name:"Analizar el archivo"},"lint-folder-pop-up-menu-text":{name:"Analizar la carpeta"}},logs:{"plugin-load":"Cargando el programa adicional","plugin-unload":"Descargando el programa adicional","folder-lint":"Analizando la carpeta ","linter-run":"Usando linter","paste-link-warning":"abort\xF3 lint de pagar porque el contento del portapapeles es un enlace y no lo hizo para evitar conflictos con otros programas adicionales que modifican lo que hace el pegar.","see-console":"Consulte la consola para obtener m\xE1s detalles.","unknown-error":"Se ha producido un error desconocido durante el linting.","moment-locale-not-found":"Intentando cambiar la zona de Moment.js a {MOMENT_LOCALE}, el resulto fue {CURRENT_LOCALE}","pre-rules":"Las reglas antes de las reglas normales","post-rules":"las reglas despu\xE9s de las reglas normales","rule-running":"usando las reglas","custom-regex":"las reglas regex personalizadas","running-custom-regex":"Usando regex personalizada","running-custom-lint-command":"Usando comandos de lint personalizados","custom-lint-duplicate-warning":'No se puede usar el mismo comando ("{COMMAND_NAME}") dos veces como un comando de lint.',"custom-lint-error-message":"El commando de lint personalizado","disabled-text":"es inhabilitado","run-rule-text":"Usando","timing-key-not-found":"clave de ritmo '{TIMING_KEY}' no ya existe en la lista de claves de ritmo y fue ignorado por eso","milliseconds-abbreviation":"ms","invalid-date-format-error":"No se pudo analizar ni identificar el formato de la fech de creaci\xF3n `{DATE}` entonces la fecha de creaci\xF3n se dej\xF3 sola en `{FILE_NAME}`","invalid-delimiter-error-message":"El delimitador solo puede ser de un solo car\xE1cter","missing-footnote-error-message":"La nota al pie `{FOOTNOTE}` no tiene ninguna referencia de nota al pie correspondiente antes del contenido de la nota al pie y no se puede procesar. Aseg\xFArese de que todas las notas a pie de p\xE1gina tengan una referencia correspondiente antes del contenido de la nota al pie de p\xE1gina.","too-many-footnotes-error-message":"La clave de nota al pie '{FOOTNOTE_KEY}' tiene m\xE1s de 1 nota al pie que hace referencia a ella. Actualice las notas al pie para que solo haya una nota al pie por clave de nota al pie.","wrapper-yaml-error":"hubo un error en el yaml: {ERROR_MESSAGE}","wrapper-unknown-error":"huno un error desconocido: {ERROR_MESSAGE}"},"notice-text":{"empty-clipboard":"No hay contenido del portapapeles.","characters-added":"Caracteres a\xF1adidos","characters-removed":"Caracteres eliminados"},"linter-title":"Linter","empty-search-results-text":"No hay configuraci\xF3n que coincida con la b\xFAsqueda","warning-text":"Advertencia","file-backup-text":"Aseg\xFArese de haber realizado una copia de seguridad de sus archivos.",tabs:{names:{general:"Ajustes generales",custom:"Ajustes personalizados",yaml:"Ajustes de YAML",heading:"Ajustes del encabezado",content:"Ajustes de notas al pie",footnote:"Ajustes del contenido",spacing:"Ajustes del espacio en blanco",paste:"Ajustes de pegar",debug:"Ajustes de depurar"},"default-search-bar-text":"Buscar en todos los ajustes",general:{"lint-on-save":{name:"Analizar en guardar",description:"Analizar el archivo en el guardado manual (cuando se presiona `Ctrl + S` o cuando se ejecuta `:w` mientras se usan combinaciones de claves de vim)"},"display-message":{name:"Mostrar mensaje en analizar",description:"Mostrar el n\xFAmero de caracteres modificados despu\xE9s de analizar"},"folders-to-ignore":{name:"Carpetas para omitir",description:"Carpetas que se deben omitir al analizar todos los archivos o al guardar en l\xEDnea. Introducir rutas de carpeta separadas por nuevas l\xEDneas"},"override-locale":{name:"Anular configuraci\xF3n regional",description:"Establezca esta opci\xF3n si desea utilizar una configuraci\xF3n regional diferente de la predeterminada"},"same-as-system-locale":"Igual que el sistema ({SYS_LOCALE})","yaml-aliases-section-style":{name:"Estilo de secci\xF3n de alias de YAML",description:"El estilo de la secci\xF3n de alias de YAML"},"yaml-tags-section-style":{name:"Estilo de secci\xF3n de etiquetas de YAML",description:"El estilo de la secci\xF3n de etiquetas de YAML"},"default-escape-character":{name:"Car\xE1cter de escape predeterminado",description:"El car\xE1cter predeterminado que se va a usar para escapar de los valores YAML cuando no hay comillas simples y comillas dobles."},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"Eliminaci\xF3n de caracteres de escape innecesarios cuando est\xE1 en formato de matriz multil\xEDnea",description:"Los caracteres de escape para matrices de YAML multil\xEDnea no necesitan el mismo escape que las matrices de una sola l\xEDnea, por lo que cuando est\xE1n en formato multil\xEDnea, elimine los escapes adicionales que no son necesarios"},"number-of-dollar-signs-to-indicate-math-block":{name:"N\xFAmero de signos de d\xF3lar para indicar el bloque matem\xE1tico",description:"La cantidad de signos de d\xF3lar para considerar el contenido matem\xE1tico como un bloque matem\xE1tico en lugar de matem\xE1ticas en l\xEDnea"}},debug:{"log-level":{name:"Nivel de registro",description:"Los tipos de registros que el servicio permitir\xE1 registrar. El valor predeterminado es error."},"linter-config":{name:"Configuraci\xF3n de Linter",description:"El contenido del archivo data.json para Linter a partir de la carga de la p\xE1gina de configuraci\xF3n"},"log-collection":{name:"Recopilar registros al activar y desactivar el archivo actual",description:"Contin\xFAa y recopila registros cuando `Analizar en guardar` y analizar el archivo actual. Estos registros pueden ser \xFAtiles para depurar y crear informes de errores."},"linter-logs":{name:"Registros de Linter",description:"Los registros del \xFAltimo `Analizar en guardar` o del \xFAltimo archivo actual de analizar se ejecutan si est\xE1n habilitados."}}},options:{"custom-command":{name:"Comandos personalizados",description:"Los comandos personalizados son comandos de Obsidian que se ejecutan despu\xE9s de que Linter termina de ejecutar sus reglas regulares. Esto significa que no se ejecutan antes de que se ejecute la l\xF3gica de marca de tiempo YAML, por lo que pueden hacer que la marca de tiempo de YAML se active en la siguiente ejecuci\xF3n del Linter. Solo puede seleccionar un comando de Obsidian una vez. **_Note que esto actualmente solo funciona para analizar el archivo actual._**",warning:"Al seleccionar una opci\xF3n, aseg\xFArese de seleccionar la opci\xF3n usando el rat\xF3n o presionando la clave Intro. Es posible que otros m\xE9todos de selecci\xF3n no funcionen y solo se guardar\xE1n las selecciones de un comando de Obsidian real o una cadena vac\xEDa.","add-input-button-text":"Agregar nuevo comando","command-search-placeholder-text":"Comando de Obsidian","move-up-tooltip":"Desplazar hacia arriba","move-down-tooltip":"Desplazar hacia abajo","delete-tooltip":"Borrar"},"custom-replace":{name:"Reemplazo regex personalizado",description:"El reemplazo de regex personalizado se puede usar para reemplazar cualquier cosa que coincida con el valor de b\xFAsqueda de regex con el valor de reemplazo. Los valores de reemplazo y b\xFAsqueda deber\xE1n ser valores regex v\xE1lidos.",warning:"Use esto con precauci\xF3n si no conoce regex. Adem\xE1s, aseg\xFArese de no usar lookbehinds en su regex en dispositivos m\xF3viles iOS, ya que eso har\xE1 que falle analizar ya que no es compatible con esa plataforma.","add-input-button-text":"Agregar nuevo reemplazo de regex","regex-to-find-placeholder-text":"Regex para encontrar","flags-placeholder-text":"Marcas","regex-to-replace-placeholder-text":"Regex para reemplazar","delete-tooltip":"Borrar"}},rules:{"auto-correct-common-misspellings":{name:"Correcci\xF3n autom\xE1tica de errores ortogr\xE1ficos comunes",description:"Utiliza un diccionario de errores ortogr\xE1ficos comunes para convertirlos autom\xE1ticamente a su ortograf\xEDa correcta. Consulte [mapa de autocorrecci\xF3n](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts) para obtener la lista completa de palabras corregidas autom\xE1ticamente.","ignore-words":{name:"Ignorar palabras",description:"Una lista separada por comas de palabras en min\xFAsculas para ignorar al corregir autom\xE1ticamente"}},"add-blockquote-indentation-on-paste":{name:"Agregar sangr\xEDa de blockquote en pegar",description:"Agrega blockquotes a todas menos a la primera l\xEDnea, cuando el cursor est\xE1 en una l\xEDnea blockquote/callout durante el pegado"},"capitalize-headings":{name:"Poner may\xFAsculas en los encabezados",description:"Los encabezados deben estar formateados con may\xFAsculas",style:{name:"Estilo",description:"El estilo de may\xFAsculas que se va a utilizar"},"ignore-case-words":{name:"Ignorar palabras en may\xFAsculas y min\xFAsculas",description:"Solo aplique el estilo de may\xFAsculas y min\xFAsculas a las palabras que est\xE9n todas en min\xFAsculas"},"ignore-words":{name:"Ignorar palabras",description:"Una lista de palabras separadas por comas para ignorar al poner en may\xFAsculas"},"lowercase-words":{name:"Palabras en min\xFAsculas",description:"Una lista de palabras separadas por comas para mantener min\xFAsculas"}},"compact-yaml":{name:"YAML compacto",description:"Elimina las l\xEDneas en blanco iniciales y finales en la materia frontal de YAML.","inner-new-lines":{name:"Nuevas l\xEDneas internas",description:"Quitar nuevas l\xEDneas que no est\xE9n al principio o al final del YAML"}},"consecutive-blank-lines":{name:"L\xEDneas en blanco consecutivas",description:"Debe haber como m\xE1ximo una l\xEDnea en blanco consecutiva."},"convert-bullet-list-markers":{name:"Convertir marcadores de lista de vi\xF1etas",description:"Convierte s\xEDmbolos de marcador de lista de vi\xF1etas comunes en marcadores de lista de rebajas."},"convert-spaces-to-tabs":{name:"Convertir espacios en pesta\xF1as",description:"Convierte los espacios iniciales en pesta\xF1as.",tabsize:{name:"Tama\xF1o de la pesta\xF1a",description:"N\xFAmero de espacios que se convertir\xE1n en una pesta\xF1a"}},"emphasis-style":{name:"Estilo de \xE9nfasis",description:"Se asegura de que el estilo de \xE9nfasis sea consistente.",style:{name:"Estilo",description:"El estilo utilizado para denotar el contenido enfatizado"}},"empty-line-around-blockquotes":{name:"L\xEDnea vac\xEDa alrededor de blockquotes",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de blockquotes a menos que inicien o finalicen un documento. **Tenga en cuenta que una l\xEDnea vac\xEDa es un nivel menos de anidamiento para blockquotes o un car\xE1cter de nueva l\xEDnea.**"},"empty-line-around-code-fences":{name:"L\xEDnea vac\xEDa alrededor de las vallas de c\xF3digo",description:"Garantiza que haya una l\xEDnea vac\xEDa alrededor de las vallas de c\xF3digo a menos que inicien o finalicen un documento."},"empty-line-around-math-blocks":{name:"L\xEDnea vac\xEDa alrededor de los bloques matem\xE1ticos",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de los bloques matem\xE1ticos usando `N\xFAmero de signos de d\xF3lar para indicar un bloque matem\xE1tico` para determinar cu\xE1ntos signos de d\xF3lar indica un bloque matem\xE1tico para matem\xE1ticas de una sola l\xEDnea."},"empty-line-around-tables":{name:"L\xEDnea vac\xEDa alrededor de las tablas",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de las tablas con sabor a github a menos que inicien o finalicen un documento."},"escape-yaml-special-characters":{name:"Evitar los caracteres especiales de YAML",description:`Escapa dos puntos con un espacio despu\xE9s de ellos (:), comillas simples (') y comillas dobles (") en YAML.`,"try-to-escape-single-line-arrays":{name:"Intente escapar las matrices de una sola l\xEDnea",description:'Intenta escapar de los valores de matriz suponiendo que una matriz comienza con "[", termina con "]" y tiene elementos que est\xE1n delimitados por ",".'}},"file-name-heading":{name:"Encabezado de nombre de archivo",description:"Inserta el nombre de archivo como un encabezado H1 si no existe ning\xFAn encabezado H1."},"footnote-after-punctuation":{name:"Nota al pie despu\xE9s de la puntuaci\xF3n",description:"Asegura que las referencias de notas al pie se coloquen despu\xE9s de la puntuaci\xF3n, no antes."},"force-yaml-escape":{name:"Forzar escape de YAML",description:"Escapa los valores de las claves YAML especificadas.","force-yaml-escape-keys":{name:"Forzar escape de YAML en las claves",description:"Utiliza el car\xE1cter de escape de YAML en las claves de YAML especificadas separadas por un nuevo car\xE1cter de l\xEDnea si a\xFAn no est\xE1 escapado. No lo use en matrices de YAML."}},"format-tags-in-yaml":{name:"Dar formato a las etiquetas de formato en YAML",description:"Elimine los hashtags de las etiquetas en el frontmatter del YAML, ya que hacen que las etiquetas no sean v\xE1lidas."},"format-yaml-array":{name:"Dar formato a las matrices de YAML",description:"Permite el formato de matrices regulares de YAML como multil\xEDnea o de una sola l\xEDnea y las `etiquetas` y `alias` pueden tener algunos formatos espec\xEDficos de YAML de Obsidian. Tenga en cuenta que una sola cadena a una sola l\xEDnea pasa de una sola entrada de cadena a una matriz de una sola l\xEDnea si hay m\xE1s de 1 entrada presente. Lo mismo es cierto para una sola cadena a multil\xEDnea, excepto que se convierte en una matriz multil\xEDnea.","alias-key":{name:"Dar formato a la secci\xF3n de alias de YAML",description:"Activa el formato para la secci\xF3n de alias yaml. No debe habilitar esta opci\xF3n junto con la regla `Alias de t\xEDtulo YAML`, ya que es posible que no funcionen bien juntos o que tengan diferentes estilos de formato seleccionados que causen resultados inesperados."},"tag-key":{name:"Dar formato a la secci\xF3n de etiquetas de YAML",description:"Activa el formato para la secci\xF3n de etiquetas de YAML."},"default-array-style":{name:"Estilo de secci\xF3n de matriz predeterminado de YAML",description:"El estilo de otras matrices de YAML que no son `etiquetas`, `alias` o en `Forzar valores de clave para que sean matrices de una sola l\xEDnea` y `Forzar valores de clave para que sean matrices multil\xEDnea`"},"default-array-keys":{name:"Dar formato a las secciones de matrices de YAML",description:"Activa el formato para matrices normales de YAML"},"force-single-line-array-style":{name:"Forzar que los valores de clave sean matrices de una sola l\xEDnea",description:"Fuerza la matriz de YAML para que las nuevas claves separadas por l\xEDnea est\xE9n en formato de una sola l\xEDnea (deje vac\xEDo para deshabilitar esta opci\xF3n)"},"force-multi-line-array-style":{name:"Forzar que los valores de las claves sean matrices multil\xEDneas",description:"Fuerza la matriz de YAML para que las nuevas claves separadas por l\xEDnea est\xE9n en formato multil\xEDnea (deje vac\xEDa para deshabilitar esta opci\xF3n)"}},"header-increment":{name:"Incremento de encabezado",description:"Los niveles de encabezado solo deben aumentar en un nivel a la vez","start-at-h2":{name:"Iniciar el incremento de encabezado en el nivel de encabezado 2",description:"Hace que el nivel de encabezado 2 sea el nivel de t\xEDtulo m\xEDnimo en un archivo para el incremento de encabezado y desplaza todos los encabezados en consecuencia para que se incrementen a partir de un encabezado de nivel 2."}},"heading-blank-lines":{name:"L\xEDneas en blanco de encabezado",description:"Todos los encabezados tienen una l\xEDnea en blanco antes y despu\xE9s (excepto cuando el encabezado est\xE1 al principio o al final del documento).",bottom:{name:"Abajo",description:"Insertar una l\xEDnea en blanco despu\xE9s de los encabezados"},"empty-line-after-yaml":{name:"L\xEDnea vac\xEDa entre el YAML y el encabezado",description:"Mantenga la l\xEDnea vac\xEDa entre el frontmatter del YAML y el encabezado"}},"headings-start-line":{name:"Comenzar los encabezados al principio de la l\xEDnea",description:"Los encabezados que no inician una l\xEDnea tendr\xE1n su espacio en blanco anterior eliminado para asegurarse de que se reconozcan como encabezados."},"insert-yaml-attributes":{name:"Insertar atributos de YAML",description:"Inserta los atributos especificados de YAML en el frontmatter del YAML. Coloque cada atributo en una sola l\xEDnea.","text-to-insert":{name:"Texto a insertar",description:"Texto para insertar en el frontmatter del YAML"}},"line-break-at-document-end":{name:"Salto de l\xEDnea al final del documento",description:"Asegura que haya exactamente un salto de l\xEDnea al final de un documento."},"move-footnotes-to-the-bottom":{name:"Mover las notas al pie a la parte inferior",description:"Mueva todas las notas al pie de p\xE1gina a la parte inferior del documento."},"move-math-block-indicators-to-their-own-line":{name:"Mover los indicadores de bloques matem\xE1ticos a su propia l\xEDnea",description:"Mueva todos los indicadores de bloques matem\xE1ticos iniciales y finales a sus propias l\xEDneas usando `N\xFAmero de signos de d\xF3lar para indicar un bloque matem\xE1tico` para determinar cu\xE1ntos signos de d\xF3lar indica un bloque matem\xE1tico para matem\xE1ticas de una sola l\xEDnea."},"move-tags-to-yaml":{name:"Mover etiquetas a YAML",description:"Mueva todas las etiquetas al frontmatter del YAML del documento.","how-to-handle-existing-tags":{name:"Operaci\xF3n de etiqueta corporal",description:"Lo qur se debe hacer con las etiquetas no ignoradas en el cuerpo del archivo una vez que se han movido al frontmatter"},"tags-to-ignore":{name:"Etiquetas para omitir",description:"Las etiquetas que no se mover\xE1n a la matriz de etiquetas ni se eliminar\xE1n del contenido del cuerpo si est\xE1 habilitado `Eliminar el hashtag de las etiquetas en el cuerpo del contenido`. Cada etiqueta debe estar en una nueva l\xEDnea y sin el `#`. **Aseg\xFArese de no incluir el hashtag en el nombre de la etiqueta.**"}},"no-bare-urls":{name:"Sin URL desnuda",description:"Encierra las direcciones URL desnudas con corchetes angulares, excepto cuando est\xE1n encerradas en marcas traseras, llaves cuadradas o comillas simples o dobles."},"ordered-list-style":{name:"Estilo de lista ordenada",description:"Se asegura de que las listas ordenadas siguen el estilo especificado. Tenga en cuenta que 2 espacios o 1 tabulaci\xF3n se considera un nivel de sangr\xEDa.","number-style":{name:"Estilo num\xE9rico",description:"El estilo num\xE9rico utilizado en los indicadores de lista ordenada"},"list-end-style":{name:"Estilo final del indicador de lista ordenada",description:"El car\xE1cter final de un indicador de lista ordenada"}},"paragraph-blank-lines":{name:"L\xEDneas en blanco del p\xE1rrafo",description:"Todos los p\xE1rrafos deben tener exactamente una l\xEDnea en blanco antes y despu\xE9s."},"prevent-double-checklist-indicator-on-paste":{name:"Evitar el indicador de doble lista de verificaci\xF3n en pegar",description:"Elimina el indicador de lista de verificaci\xF3n inicial del texto para pegar si la l\xEDnea en la que se encuentra el cursor en el archivo tiene un indicador de lista de verificaci\xF3n"},"prevent-double-list-item-indicator-on-paste":{name:"Prevenir el indicador de elemento de lista doble al pegar",description:"Elimina el indicador de lista inicial del texto para pegar si la l\xEDnea en la que se encuentra el cursor en el archivo tiene un indicador de lista"},"proper-ellipsis-on-paste":{name:"Puntos suspensivos adecuados al pegar",description:"Reemplaza tres puntos consecutivos por puntos suspensivos aunque tengan un espacio entre ellos en el texto a pegar"},"proper-ellipsis":{name:"Puntos suspensivos propios",description:"Reemplaza tres puntos consecutivos con puntos suspensivos."},"re-index-footnotes":{name:"Volver a indexar notas al pie",description:"Vuelve a indexar las notas al pie de p\xE1gina y las notas al pie, seg\xFAn el orden de aparici\xF3n (NOTA: esta regla *no* funciona si hay m\xE1s de una nota al pie para una clave)."},"remove-consecutive-list-markers":{name:"Eliminar marcadores de lista consecutiva",description:"Elimina marcadores de lista consecutivos. \xDAtil al copiar y pegar elementos de la lista."},"remove-empty-lines-between-list-markers-and-checklists":{name:"Eliminar l\xEDneas vac\xEDas entre marcadores de lista y listas de verificaci\xF3n",description:"No debe haber l\xEDneas vac\xEDas entre los marcadores de lista y las listas de verificaci\xF3n."},"remove-empty-list-markers":{name:"Eliminar marcadores de lista vac\xEDa",description:"Elimina marcadores de listas vac\xEDas, es decir, lista de elementos sin contenido."},"remove-hyphenated-line-breaks":{name:"Eliminar saltos de l\xEDnea con gui\xF3n",description:"Elimina los saltos de l\xEDnea con gui\xF3n. \xDAtil al pegar texto de libros de texto."},"remove-hyphens-on-paste":{name:"Eliminar guiones al pegar",description:"Elimina guiones del texto al pegar"},"remove-leading-or-trailing-whitespace-on-paste":{name:"Eliminar espacios en blanco iniciales o finales al pegar",description:"Elimina cualquier espacio en blanco inicial que no sea una pesta\xF1a y todos los espacios en blanco finales para que el texto se pegue"},"remove-leftover-footnotes-from-quote-on-paste":{name:"Eliminar las notas al pie sobrantes de la cita al pegar",description:"Elimina las referencias de notas al pie sobrantes para que el texto se pegue"},"remove-link-spacing":{name:"Quitar el espacio entre enlaces",description:"Elimina el espacio alrededor del texto del enlace."},"remove-multiple-blank-lines-on-paste":{name:"Eliminar varias l\xEDneas en blanco al pegar",description:"Condensa varias l\xEDneas en blanco en una l\xEDnea en blanco para que el texto se pegue"},"remove-multiple-spaces":{name:"Quitar varios espacios",description:"Elimina dos o m\xE1s espacios consecutivos. Ignora los espacios al principio y al final de la l\xEDnea."},"remove-space-around-characters":{name:"Quitar el espacio alrededor de los caracteres",description:"Garantiza que determinados caracteres no est\xE9n rodeados de espacios en blanco (ya sean espacios individuales o tabulaciones). Tenga en cuenta que esto puede causar problemas con el formato de descuento en algunos casos.","include-fullwidth-forms":{name:"Incluir formularios de ancho completo",description:'Incluir bloque Unicode de formularios de ancho completo'},"include-cjk-symbols-and-punctuation":{name:"Incluir s\xEDmbolos de CJK y puntuaci\xF3n",description:'Incluir Bloque Unicode de s\xEDmbolos y puntuaci\xF3n de CJK'},"include-dashes":{name:"Incluir guiones",description:"Incluir gui\xF3n corto (\u2013) y gui\xF3n largo (\u2014)"},"other-symbols":{name:"Otros s\xEDmbolos",description:"Otros s\xEDmbolos para incluir"}},"remove-trailing-punctuation-in-heading":{name:"Eliminar la puntuaci\xF3n final en el encabezado",description:"Elimina la puntuaci\xF3n especificada al final de los encabezados, asegur\xE1ndose de ignorar el punto y coma al final de [referencias de entidades de HTML](https://es.wikipedia.org/wiki/Anexo:Referencias_a_entidades_de_caracteres_XML_y_HTML).","punctuation-to-remove":{name:"Puntuaci\xF3n final",description:"La puntuaci\xF3n final que se eliminar\xE1 de los encabezados del archivo."}},"remove-yaml-keys":{name:"Eliminar claves de YAML",description:"Elimina las claves especificadas de YAML","yaml-keys-to-remove":{name:"Claves de YAML para eliminar",description:"Las claves de YAML para eliminar del frontmatter del YAML con o sin dos puntos"}},"space-after-list-markers":{name:"Espacio despu\xE9s de los marcadores de lista",description:"Debe haber un solo espacio despu\xE9s de los marcadores de lista y las casillas de verificaci\xF3n."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Espacio entre chino japon\xE9s o coreano e ingl\xE9s o n\xFAmeros",description:"Garantiza que el chino, el japon\xE9s o el coreano y el ingl\xE9s o los n\xFAmeros est\xE9n separados por un solo espacio. Sigue estas [directrices](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Estilo fuerte",description:"Se asegura de que el estilo fuerte sea consistente.",style:{name:"Estilo",description:"El estilo utilizado para denotar contenido fuerte/en negrita"}},"trailing-spaces":{name:"Espacios finales",description:"Elimina espacios adicionales despu\xE9s de cada l\xEDnea.","twp-space-line-break":{name:"Salto de l\xEDnea de dos espacios",description:'Ignore dos espacios seguidos de un salto de l\xEDnea ("Regla de dos espacios").'}},"two-spaces-between-lines-with-content":{name:"Dos espacios entre l\xEDneas con contenido",description:"Se asegura de que se agreguen dos espacios al final de las l\xEDneas con contenido que contin\xFAa en la siguiente l\xEDnea para p\xE1rrafos, comillas y elementos de lista"},"unordered-list-style":{name:"Estilo de lista desordenada",description:"Se asegura de que las listas desordenadas sigan el estilo especificado.","list-style":{name:"Estilo de elemento de lista",description:"El estilo de elemento de lista para usar en listas desordenadas"}},"yaml-key-sort":{name:"Clasificaci\xF3n de clave de YAML",description:"Ordena las claves de YAML seg\xFAn el orden y la prioridad especificados. Nota: tambi\xE9n puede eliminar las l\xEDneas en blanco.","yaml-key-priority-sort-order":{name:"Orden de clasificaci\xF3n de prioridad de clave de YAML",description:"El orden en el que se ordenan las claves con una en cada l\xEDnea donde se ordena en el orden que se encuentra en la lista"},"priority-keys-at-start-of-yaml":{name:"Claves de prioridad al inicio del YAML",description:"El orden de clasificaci\xF3n de prioridad clave de YAML se coloca al comienzo del frontmatter del YAML"},"yaml-sort-order-for-other-keys":{name:"Orden de clasificaci\xF3n de YAML para otras claves",description:"La forma en que ordenar las claves que no se encuentran en el \xE1rea de texto `Orden de clasificaci\xF3n de prioridad de clave de YAML`"}},"yaml-timestamp":{name:"Marca de tiempo de YAML",description:"Lleve un registro de la fecha en que se edit\xF3 el archivo por \xFAltima vez en el frente del YAML. Obtiene las fechas de los metadatos del archivo.","date-created":{name:"Fecha de creaci\xF3n",description:"Inserte la fecha de creaci\xF3n del archivo"},"date-created-key":{name:"Clave de fecha de creaci\xF3n",description:"La clave de YAML para usar para la fecha de creaci\xF3n"},"force-retention-of-create-value":{name:"Forzar la fecha de creaci\xF3n de la retenci\xF3n del valor clave",description:"Reutiliza el valor en el frontmatter del YAML para la fecha de creaci\xF3n en lugar de los metadatos del archivo, lo que es \xFAtil para evitar que los cambios en los metadatos del archivo provoquen que el valor cambie a un valor diferente."},"date-modified":{name:"Fecha modificada",description:"Inserte la fecha en que se modific\xF3 el archivo por \xFAltima vez"},"date-modified-key":{name:"Clave de fecha modificada",description:"La clave de YAML para usar para la fecha de modificaci\xF3n"},format:{name:"Formato",description:"Formato de fecha de Moment a usar (ver [Opciones de formato de Moment](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"Alias de t\xEDtulo de YAML",description:"Inserta el t\xEDtulo del archivo en la secci\xF3n de alias de YAML frontmatter. Obtiene el t\xEDtulo del primer H1 o nombre de archivo.","preserve-existing-alias-section-style":{name:"Conservar el estilo de secci\xF3n de alias existente",description:"Si se establece, la configuraci\xF3n `Estilo de secci\xF3n de alias de YAML` se aplica solo a las secciones reci\xE9n creadas"},"keep-alias-that-matches-the-filename":{name:"Mantenga el alias que coincida con el nombre del archivo",description:"Estos alias suelen ser redundantes."},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Use la clave de YAML `linter-yaml-title-alias` para ayudar con los cambios de nombre de archivo y encabezado",description:"Si se establece, cuando cambia el primer encabezado H1 o cambia el nombre de archivo si el primer H1 no est\xE1 presente, el alias anterior almacenado en esta clave se reemplazar\xE1 con el nuevo valor en lugar de simplemente insertar una nueva entrada en la matriz de alias."}},"yaml-title":{name:"T\xEDtulo de YAML",description:"Inserta el t\xEDtulo del archivo en el frontmatter del YAML. Obtiene el t\xEDtulo del primer H1 o nombre de archivo si no hay H1.","title-key":{name:"Clave de t\xEDtulo",description:"La clave de YAML usar para el t\xEDtulo"}}},enums:{"Title Case":"Titulo del Caso","ALL CAPS":"TODO MAY\xDASCULAS","First letter":"Primera letra",".":".",")":")",ERROR:"error",TRACE:"trazar",DEBUG:"depurar",INFO:"informaci\xF3n",WARN:"advertencia",SILENT:"silencio",ascending:"ascendente",lazy:"perezoso",Nothing:"nada","Remove hashtag":"Remove hashtag","Remove whole tag":"Remove whole tag",asterisk:"asterisco",underscore:"guion bajo",consistent:"congruente","-":"-","*":"*","+":"+",None:"nada","Ascending Alphabetical":"Ascendente alfab\xE9tico","Descending Alphabetical":"Descendiente alfab\xE9tico","multi-line":"multil\xEDnea","single-line":"linea sola","single string to single-line":"una sola cadena a una sola l\xEDnea","single string to multi-line":"cadena \xFAnica a multil\xEDnea","single string comma delimited":"cadena \xFAnica delimitada por comas","single string space delimited":"espacio de una sola cadena delimitado","single-line space delimited":"espacio de una sola l\xEDnea delimitado"}};var Ac={};var Tc={};var Lc={};var Ec={};var Oc={};var Cc={};var Mc={};var qc={};var Ic={};var _c={};var Bc={};var Fc={};var Rc={};var Dc={};var ra={};var jc={commands:{"lint-file":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","error-message":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519"},"lint-file-unless-ignored":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF08\u9664\u4E86\u88AB\u5FFD\u7565\u7684\u6587\u4EF6\uFF09"},"lint-all-files":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","error-message":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519","success-message":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","errors-message-singular":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF0C\u4F46\u6709 1 \u4E2A\u9519\u8BEF","errors-message-plural":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF0C\u4F46\u6709 {NUM} \u4E2A\u9519\u8BEF","start-message":"\u8FD9\u5C06\u7F16\u8F91\u6240\u6709\u6587\u4EF6\uFF0C\u5305\u62EC\u5B50\u6587\u4EF6\u5939\u4E2D\u7684\u6587\u4EF6\uFF0C\u53EF\u80FD\u4F1A\u5F15\u5165\u9519\u8BEF","submit-button-text":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","submit-button-notice-text":"\u6B63\u5728\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6..."},"lint-all-files-in-folder":{name:"\u683C\u5F0F\u5316\u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6","start-message":"\u8FD9\u5C06\u7F16\u8F91 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6\uFF0C\u5305\u62EC\u5B50\u6587\u4EF6\u5939\u4E2D\u7684\u6587\u4EF6\uFF0C\u53EF\u80FD\u4F1A\u5F15\u5165\u9519\u8BEF","submit-button-text":"\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6","submit-button-notice-text":"\u6B63\u5728\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6...","error-message":"\u683C\u5F0F\u5316\u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519","success-message":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709 {NUM} \u4E2A\u6587\u4EF6","message-singular":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709 {NUM} \u4E2A\u6587\u4EF6\uFF0C\u4F46\u6709 1 \u4E2A\u9519\u8BEF","message-plural":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u4E2D\u7684 {FILE_COUNT} \u4E2A\u6587\u4EF6\uFF0C\u4F46\u6709 {ERROR_COUNT} \u4E2A\u9519\u8BEF."},"paste-as-plain-text":{name:"\u7C98\u8D34\u4E3A\u7EAF\u6587\u672C\u4E14\u4E0D\u63D0\u9192"},"lint-file-pop-up-menu-text":{name:"\u683C\u5F0F\u5316\u6587\u4EF6"},"lint-folder-pop-up-menu-text":{name:"\u683C\u5F0F\u5316\u6587\u4EF6\u5939"}},logs:{"plugin-load":"\u6B63\u5728\u52A0\u8F7D\u63D2\u4EF6","plugin-unload":"\u6B63\u5728\u5378\u8F7D\u63D2\u4EF6","folder-lint":"\u6B63\u5728\u683C\u5F0F\u5316\u6587\u4EF6\u5939","linter-run":"\u6B63\u5728\u8FD0\u884CLinter","paste-link-warning":"\u4E2D\u6B62\u7C98\u8D34 lint \u56E0\u4E3A\u526A\u8D34\u677F\u5185\u5BB9\u662F\u4E00\u4E2A\u94FE\u63A5\uFF0C\u8FD9\u6837\u505A\u5C06\u907F\u514D\u4E0E\u5176\u4ED6\u4FEE\u6539\u7C98\u8D34\u7684\u63D2\u4EF6\u53D1\u751F\u51B2\u7A81","see-console":"\u8BF7\u67E5\u770B\u63A7\u5236\u53F0\u4EE5\u83B7\u53D6\u66F4\u591A\u4FE1\u606F","unknown-error":"\u683C\u5F0F\u5316\u8FC7\u7A0B\u53D1\u751F\u672A\u77E5\u9519\u8BEF","moment-locale-not-found":"\u5C1D\u8BD5\u901A\u8FC7 Moment.js \u5207\u6362\u5230 {MOMENT_LOCALE}, \u5B9E\u9645\u5207\u6362\u5230 {CURRENT_LOCALE}","pre-rules":"\u6BD4\u6B63\u5E38\u89C4\u5219\u4F18\u5148\u7EA7\u66F4\u9AD8\u7684\u89C4\u5219","post-rules":"\u6BD4\u6B63\u5E38\u89C4\u5219\u4F18\u5148\u7EA7\u66F4\u4F4E\u7684\u89C4\u5219","rule-running":"\u6B63\u5728\u8FD0\u884C\u89C4\u5219","custom-regex":"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219","running-custom-regex":"\u6B63\u5728\u8FD0\u884C\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219","running-custom-lint-command":"\u6B63\u5728\u8FD0\u884C\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316\u547D\u4EE4","custom-lint-duplicate-warning":'\u4F60\u4E0D\u80FD\u8FD0\u884C\u540C\u4E00\u4E2A\u81EA\u5B9A\u4E49\u89C4\u5219 ("{COMMAND_NAME}") \u4E24\u6B21',"custom-lint-error-message":"\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316\u547D\u4EE4","disabled-text":"\u5DF2\u7981\u7528","run-rule-text":"\u8FD0\u884C\u4E2D","timing-key-not-found":"\u8BA1\u65F6\u952E '{TIMING_KEY}' \u5728\u8BA1\u65F6\u4FE1\u606F\u5217\u8868\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u5FFD\u7565","milliseconds-abbreviation":"\u6BEB\u79D2","invalid-date-format-error":"\u65E0\u6CD5\u89E3\u6790\u6216\u786E\u5B9A'{FILE_NAME}'\u4E2D\u7684\u521B\u5EFA\u65E5\u671F'{DATE}'\u7684\u683C\u5F0F\uFF0C\u521B\u5EFA\u65E5\u671F\u672A\u8FDB\u884C\u4FEE\u6539","invalid-delimiter-error-message":"\u5206\u9694\u7B26\u53EA\u80FD\u4E3A\u5355\u4E2A\u5B57\u7B26","missing-footnote-error-message":"\u811A\u6CE8 \u201C{FOOTNOTE}\u201D \u5728\u811A\u6CE8\u5185\u5BB9\u4E4B\u524D\u6CA1\u6709\u5BF9\u5E94\u7684\u811A\u6CE8\u5F15\u7528\uFF0C\u65E0\u6CD5\u5904\u7406\u3002\u8BF7\u786E\u4FDD\u6240\u6709\u811A\u6CE8\u5728\u811A\u6CE8\u5185\u5BB9\u4E4B\u524D\u90FD\u6709\u76F8\u5E94\u7684\u5F15\u7528\u3002","too-many-footnotes-error-message":"\u811A\u6CE8 '{FOOTNOTE_KEY}' \u6709\u8D85\u8FC71\u4E2A\u811A\u6CE8\u5F15\u7528\uFF0C\u8BF7\u66F4\u65B0\u811A\u6CE8\u4F7F\u5F97\u4E00\u4E2A\u811A\u6CE8\u7F16\u53F7\u5BF9\u5E94\u4E00\u4E2A\u811A\u6CE8","wrapper-yaml-error":"yaml\u51FA\u73B0\u9519\u8BEF: {ERROR_MESSAGE}","wrapper-unknown-error":"\u672A\u77E5\u9519\u8BEF: {ERROR_MESSAGE}"},"notice-text":{"empty-clipboard":"\u526A\u8D34\u677F\u5185\u5BB9\u4E3A\u7A7A","characters-added":"\u5B57\u7B26\u5DF2\u6DFB\u52A0","characters-removed":"\u5B57\u7B26\u5DF2\u79FB\u9664"},"linter-title":"Linter","empty-search-results-text":"\u6CA1\u6709\u5339\u914D\u7684\u8BBE\u7F6E\u9879","warning-text":"\u8B66\u544A","file-backup-text":"\u8BF7\u786E\u4FDD\u4F60\u5DF2\u5907\u4EFD\u6587\u4EF6",tabs:{names:{general:"\u901A\u7528\u8BBE\u7F6E",custom:"\u81EA\u5B9A\u4E49\u8BBE\u7F6E",yaml:"YAML\u8BBE\u7F6E",heading:"\u6807\u9898\u8BBE\u7F6E",content:"\u811A\u6CE8\u8BBE\u7F6E",footnote:"\u5185\u5BB9\u8BBE\u7F6E",spacing:"\u95F4\u8DDD\u8BBE\u7F6E",paste:"\u7C98\u8D34\u8BBE\u7F6E",debug:"Debug\u8BBE\u7F6E"},"default-search-bar-text":"\u641C\u7D22\u6240\u6709\u8BBE\u7F6E\u9879",general:{"lint-on-save":{name:"\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u6587\u4EF6",description:"\u624B\u52A8\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316(\u5F53\u6309 `Ctrl + S` \u65F6\u6216\u8005\u4F7F\u7528vim\u6A21\u5F0F `:w` \u65F6)"},"display-message":{name:"\u683C\u5F0F\u5316\u540E\u663E\u793A\u6D88\u606F",description:"\u683C\u5F0F\u5316\u540E\u663E\u793A\u4FEE\u6539\u4E86\u591A\u5C11\u5B57\u7B26"},"folders-to-ignore":{name:"\u5FFD\u7565\u6587\u4EF6\u5939",description:"\u5F53\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u6216\u8005\u683C\u5F0F\u5316\u4FDD\u5B58\u65F6\u9700\u8981\u5FFD\u7565\u7684\u6587\u4EF6\uFF0C\u6BCF\u884C\u8F93\u5165\u4E00\u4E2A\u6587\u4EF6\u5939\u8DEF\u5F84"},"override-locale":{name:"\u8986\u76D6\u9ED8\u8BA4\u5730\u533A\u8BED\u8A00",description:"\u5982\u679C\u4F60\u60F3\u4F7F\u7528\u4E0D\u540C\u4E8E\u9ED8\u8BA4\u7684\u5730\u533A\u8BED\u8A00\u9700\u8981\u8BBE\u7F6E\u6B64\u9879"},"same-as-system-locale":"\u548C\u7CFB\u7EDF\u5730\u533A\u8BED\u8A00 ({SYS_LOCALE}) \u4E00\u81F4","yaml-aliases-section-style":{name:"YAML \u522B\u540D\u90E8\u5206\u7684\u6837\u5F0F",description:"YAML aliases \u90E8\u5206\u7684\u6837\u5F0F"},"yaml-tags-section-style":{name:"YAML tags \u90E8\u5206\u7684\u6837\u5F0F",description:"YAML tags \u90E8\u5206\u7684\u6837\u5F0F"},"default-escape-character":{name:"\u9ED8\u8BA4\u8F6C\u4E49\u5B57\u7B26",description:"\u5F53\u5355\u5F15\u53F7\u548C\u53CC\u5F15\u53F7\u4E0D\u5B58\u5728\u65F6\u7528\u4E8E\u8F6C\u4E49 YAML \u503C\u7684\u9ED8\u8BA4\u5B57\u7B26"},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"\u5F53\u4F7F\u7528\u591A\u884C\u6570\u7EC4\u683C\u5F0F\u65F6\u5220\u9664\u4E0D\u5FC5\u8981\u7684\u8F6C\u4E49\u5B57\u7B26",description:"\u591A\u884C YAML \u6570\u7EC4\u7684\u8F6C\u4E49\u5B57\u7B26\u4E0D\u9700\u8981\u4E0E\u5355\u884C\u6570\u7EC4\u76F8\u540C\u7684\u8F6C\u4E49\uFF0C\u56E0\u6B64\u5728\u591A\u884C\u683C\u5F0F\u65F6\uFF0C\u5220\u9664\u4E0D\u5FC5\u8981\u7684\u989D\u5916\u8F6C\u4E49"},"number-of-dollar-signs-to-indicate-math-block":{name:"\u6307\u793A\u6570\u5B66\u5757\u7684 $ \u7B26\u53F7\u6570\u91CF",description:"\u5C06\u6570\u5B66\u5185\u5BB9\u89C6\u4E3A\u6570\u5B66\u5757\u800C\u4E0D\u662F\u5185\u8054\u6570\u5B66\u7684 $ \u7B26\u53F7\u7684\u6570\u91CF"}},debug:{"log-level":{name:"\u65E5\u5FD7\u7EA7\u522B",description:"\u5141\u8BB8\u6253\u5370\u7684\u65E5\u5FD7\u7C7B\u578B\uFF0C\u9ED8\u8BA4\u662F ERROR"},"linter-config":{name:"\u683C\u5F0F\u5316\u8BBE\u7F6E",description:"\u5728\u8BBE\u7F6E\u9875\u9762\u52A0\u8F7D\u65F6\uFF0CLinter \u7684 data.json \u7684\u5185\u5BB9"},"log-collection":{name:"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u548C\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u6536\u96C6\u65E5\u5FD7",description:"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u548C\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u6536\u96C6\u65E5\u5FD7\u3002\u8FD9\u4E9B\u65E5\u5FD7\u6709\u52A9\u4E8E\u8C03\u8BD5\u548C\u521B\u5EFA\u9519\u8BEF\u62A5\u544A\u3002"},"linter-logs":{name:"Linter \u65E5\u5FD7",description:"\u5982\u679C\u5F00\u542F\uFF0C\u5219\u6700\u540E\u4E00\u6B21\u683C\u5F0F\u5316\u65F6\u4FDD\u5B58\u6216\u8005\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u751F\u6210\u65E5\u5FD7\u65E5\u5FD7"}}},options:{"custom-command":{name:"\u81EA\u5B9A\u4E49\u547D\u4EE4",description:"\u81EA\u5B9A\u4E49\u547D\u4EE4\u662F\u5728 linter \u5B8C\u6210\u8FD0\u884C\u5176\u5E38\u89C4\u89C4\u5219\u540E\u8FD0\u884C\u7684 Obsidian \u547D\u4EE4\u3002\u8FD9\u610F\u5473\u7740\u5B83\u4EEC\u4E0D\u4F1A\u5728 YAML \u65F6\u95F4\u6233\u903B\u8F91\u8FD0\u884C\u4E4B\u524D\u8FD0\u884C\uFF0C\u56E0\u6B64\u5B83\u4EEC\u53EF\u80FD\u4F1A\u5BFC\u81F4\u5728\u4E0B\u6B21\u8FD0\u884C linter \u65F6\u89E6\u53D1 YAML \u65F6\u95F4\u6233\u3002\u60A8\u53EA\u80FD\u9009\u62E9\u4E00\u6B21 Obsidian \u547D\u4EE4\u3002**_\u6CE8\u610F \u8FD9\u76EE\u524D\u4EC5\u9002\u7528\u4E8E\u68C0\u67E5\u5F53\u524D\u6587\u4EF6._**",warning:"\u9009\u62E9\u9009\u9879\u65F6\uFF0C\u8BF7\u786E\u4FDD\u4F7F\u7528\u9F20\u6807\u6216\u6309\u56DE\u8F66\u952E\u9009\u62E9\u8BE5\u9009\u9879\u3002\u5176\u4ED6\u9009\u62E9\u65B9\u6CD5\u53EF\u80FD\u4E0D\u8D77\u4F5C\u7528\uFF0C\u53EA\u4F1A\u4FDD\u5B58\u5B9E\u9645 Obsidian \u547D\u4EE4\u6216\u7A7A\u5B57\u7B26\u4E32\u7684\u9009\u62E9\u3002","add-input-button-text":"\u6DFB\u52A0\u65B0\u547D\u4EE4","command-search-placeholder-text":"Obsidian \u547D\u4EE4","move-up-tooltip":"\u4E0A\u79FB","move-down-tooltip":"\u4E0B\u79FB","delete-tooltip":"\u5220\u9664"},"custom-replace":{name:"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u66FF\u6362",description:"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u66FF\u6362\u53EF\u7528\u4E8E\u5C06\u67E5\u627E\u6B63\u5219\u8868\u8FBE\u5F0F\u5339\u914D\u7684\u4EFB\u4F55\u5185\u5BB9\u66FF\u6362\u4E3A\u66FF\u6362\u503C\u3002\u66FF\u6362\u548C\u67E5\u627E\u503C\u5FC5\u987B\u662F\u6709\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u503C",warning:"\u5982\u679C\u60A8\u4E0D\u77E5\u9053\u6B63\u5219\u8868\u8FBE\u5F0F\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u5B83\u3002\u53E6\u5916\uFF0C\u8BF7\u786E\u4FDD\u60A8\u4E0D\u8981\u5728iOS\u79FB\u52A8\u8BBE\u5907\u4E0A\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u4E2D\u4F7F\u7528\u56DE\u6EAF\uFF0C\u56E0\u4E3A\u8FD9\u4F1A\u5BFC\u81F4\u683C\u5F0F\u5316\u5931\u8D25\uFF0C\u56E0\u4E3A\u8BE5\u5E73\u53F0\u4E0D\u652F\u6301","add-input-button-text":"\u6DFB\u52A0\u65B0\u7684\u6B63\u5219\u66FF\u6362","regex-to-find-placeholder-text":"\u6B63\u5219\u67E5\u627E","flags-placeholder-text":"flags","regex-to-replace-placeholder-text":"\u6B63\u5219\u66FF\u6362","delete-tooltip":"\u5220\u9664"}},rules:{"auto-correct-common-misspellings":{name:"\u81EA\u52A8\u66F4\u6B63\u5E38\u89C1\u7684\u62FC\u5199\u9519\u8BEF",description:"\u4F7F\u7528\u5E38\u89C1\u62FC\u5199\u9519\u8BEF\u7684\u5B57\u5178\u81EA\u52A8\u5C06\u5B83\u4EEC\u8F6C\u6362\u4E3A\u6B63\u786E\u7684\u62FC\u5199\u3002\u6709\u5173\u81EA\u52A8\u66F4\u6B63\u5355\u8BCD\u7684\u5B8C\u6574\u5217\u8868\uFF0C\u8BF7\u53C2\u9605 [auto-correct map](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts)","ignore-words":{name:"\u5FFD\u7565\u5355\u8BCD",description:"\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5C0F\u5199\u5355\u8BCD\u5217\u8868\uFF0C\u5728\u81EA\u52A8\u66F4\u6B63\u65F6\u4F1A\u5FFD\u7565"}},"add-blockquote-indentation-on-paste":{name:"\u7C98\u8D34\u65F6\u6DFB\u52A0\u5757\u5F15\u7528(blockquote)\u7F29\u8FDB",description:"\u5728\u7C98\u8D34\u8FC7\u7A0B\u4E2D\u5149\u6807\u4F4D\u4E8E\u5757\u5F15\u7528/\u6807\u6CE8\u884C\u4E2D\u65F6\uFF0C\u5C06\u5757\u5F15\u7528\u6DFB\u52A0\u5230\u9664\u7B2C\u4E00\u884C\u4EE5\u5916\u7684\u6240\u6709\u884C"},"capitalize-headings":{name:"\u5927\u5199\u6807\u9898(Headdings)",description:"\u6807\u9898\u4F1A\u5728\u683C\u5F0F\u5316\u540E\u5927\u5199",style:{name:"\u6837\u5F0F",description:"\u5927\u5199\u7684\u65B9\u5F0F"},"ignore-case-words":{name:"\u5FFD\u7565\u5927\u5C0F\u5199\u7684\u5355\u8BCD",description:"\u4EC5\u5C06\u6807\u9898\u5927\u5C0F\u5199\u6837\u5F0F\u5E94\u7528\u4E8E\u5168\u90E8\u5C0F\u5199\u7684\u5355\u8BCD"},"ignore-words":{name:"\u5FFD\u7565\u5355\u8BCD",description:"\u5927\u5199\u65F6\u8981\u5FFD\u7565\u7684\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5355\u8BCD\u5217\u8868"},"lowercase-words":{name:"\u5C0F\u5199\u7684\u5355\u8BCD",description:"\u4FDD\u6301\u5C0F\u5199\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5355\u8BCD\u5217\u8868"}},"compact-yaml":{name:"\u7CBE\u7B80YAML",description:"\u79FB\u9664YAML\u524D\u540E\u7684\u7A7A\u884C","inner-new-lines":{name:"\u5185\u90E8\u65B0\u884C",description:"\u5220\u9664\u4E0D\u5728 YAML \u5F00\u5934\u6216\u7ED3\u5C3E\u7684\u65B0\u884C"}},"consecutive-blank-lines":{name:"\u8FDE\u7EED\u7A7A\u767D\u884C",description:"\u6700\u591A\u5E94\u8BE5\u6709\u4E00\u4E2A\u8FDE\u7EED\u7684\u7A7A\u884C"},"convert-bullet-list-markers":{name:"\u8F6C\u6362\u5B50\u5F39\u5217\u8868\u6807\u8BB0",description:"\u5C06\u5E38\u7528 bullet list \u5217\u8868\u6807\u8BB0\u8F6C\u6362\u4E3A Markdown \u5217\u8868\u6807\u8BB0"},"convert-spaces-to-tabs":{name:"\u8F6C\u6362\u7A7A\u683C\u4E3A\u5236\u8868\u7B26",description:"\u5C06\u884C\u9996\u7A7A\u683C\u8F6C\u6362\u4E3A\u5236\u8868\u7B26",tabsize:{name:"\u5236\u8868\u7B26\u5BBD\u5EA6",description:"\u5BF9\u5E94\u7684\u7A7A\u683C\u6570\u91CF\u8F6C\u53D8\u4E3A\u5236\u8868\u7B26"}},"emphasis-style":{name:"\u5F3A\u8C03\u98CE\u683C",description:"\u7528\u4E8E\u786E\u4FDD\u5F3A\u8C03\u7684\u98CE\u683C\u4E00\u81F4",style:{name:"\u98CE\u683C",description:"\u7528\u4E8E\u8868\u793A\u5F3A\u8C03\u5185\u5BB9\u7684\u98CE\u683C"}},"empty-line-around-blockquotes":{name:"\u5F15\u7528\u5757 Blockquotes \u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u5F15\u7528\u5757 Blockquote\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u5934\u548C\u7ED3\u5C3E\u3002**\u6CE8\u610F\uFF0C\u8FD9\u91CC\u5D4C\u5957\u5757\u5F15\u7528\u4E5F\u4F1A\u6709\u5BF9\u5E94\u7684\u7A7A\u884C**"},"empty-line-around-code-fences":{name:"\u4EE3\u7801\u5757\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u4EE3\u7801\u5757\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u5934\u6216\u7ED3\u5C3E"},"empty-line-around-math-blocks":{name:"\u6570\u5B66\u5757\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u6570\u5B66\u5757\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u4F7F\u7528\u201C\u8868\u793A\u6570\u5B66\u5757\u7684\u7F8E\u5143\u7B26\u53F7\u6570\u201D\u6765\u786E\u5B9A\u5355\u884C\u6570\u5B66\u7684\u6570\u5B66\u5757\u7684\u7F8E\u5143\u7B26\u53F7\u6570\u3002"},"empty-line-around-tables":{name:"\u8868\u683C\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD github \u98CE\u683C\u7684\u8868\u683C\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u59CB\u6216\u7ED3\u5C3E"},"escape-yaml-special-characters":{name:"\u8F6C\u4E49YAML\u7279\u6B8A\u5B57\u7B26",description:`\u8F6C\u4E49YAML\u4E2D\u7684\u5192\u53F7\uFF08: \uFF09\uFF0C\u5355\u5F15\u53F7\uFF08'\uFF09\u548C\u53CC\u5F15\u53F7\uFF08"\uFF09\u3002`,"try-to-escape-single-line-arrays":{name:"\u5C1D\u8BD5\u8F6C\u4E49\u5355\u884C\u6570\u7EC4",description:"\u5C1D\u8BD5\u8F6C\u4E49\u6570\u7EC4\u503C\uFF0C\u5047\u8BBE\u4E00\u4E2A\u6570\u7EC4\u4EE5\u201C[\u201D\u5F00\u5934\uFF0C\u201C]\u201D\u7ED3\u5C3E\uFF0C\u5E76\u4E14\u5177\u6709\u7531\u201C\uFF0C\u201D\u5206\u9694\u7684\u9879\u3002"}},"file-name-heading":{name:"\u6587\u4EF6\u540D\u4F5C\u4E3A\u6807\u9898",description:"\u5982\u679C\u6CA1\u6709H1\u6807\u9898\uFF0C\u5219\u63D2\u5165\u6587\u4EF6\u540D\u4F5C\u4E3AH1\u6807\u9898\u3002"},"footnote-after-punctuation":{name:"\u6807\u70B9\u7B26\u53F7\u540E\u811A\u6CE8",description:"\u786E\u4FDD\u811A\u6CE8\u5F15\u7528\u7F6E\u4E8E\u6807\u70B9\u7B26\u53F7\u4E4B\u540E\uFF0C\u800C\u4E0D\u662F\u4E4B\u524D\u3002"},"force-yaml-escape":{name:"\u5F3A\u5236YAML\u8F6C\u4E49",description:"\u8F6C\u4E49\u6307\u5B9AYAML\u952E\u7684\u503C\u3002","force-yaml-escape-keys":{name:"\u5F3A\u5236\u5BF9YAML\u952E\u8FDB\u884C\u8F6C\u4E49",description:"\u5982\u679C\u672A\u8F6C\u4E49\uFF0C\u5219\u4F7F\u7528YAML\u8F6C\u4E49\u5B57\u7B26\u5BF9\u7531\u6362\u884C\u7B26\u5206\u9694\u7684\u6307\u5B9AYAML\u952E\u8FDB\u884C\u8F6C\u4E49\u3002 \u4E0D\u8981\u5728YAML\u6570\u7EC4\u4E0A\u4F7F\u7528\u5B83\u3002"}},"format-tags-in-yaml":{name:"\u683C\u5F0F\u5316YAML\u4E2D\u7684\u6807\u7B7E",description:"\u4ECEYAML\u524D\u7F6E\u8BED\u8A00\u4E2D\u7684\u6807\u7B7E\u4E2D\u53BB\u9664\u4E95\u53F7\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u4F1A\u4F7F\u6807\u7B7E\u65E0\u6548\u3002"},"format-yaml-array":{name:"\u683C\u5F0F\u5316YAML\u6570\u7EC4",description:"\u5141\u8BB8\u5C06\u5E38\u89C4YAML\u6570\u7EC4\u683C\u5F0F\u5316\u4E3A\u591A\u884C\u6216\u5355\u884C\uFF0C\u5E76\u5141\u8BB8\u6709\u4E9BObsidian\u7279\u5B9A\u7684YAML\u683C\u5F0F\u53EF\u4EE5\u7528\u4F5C\u201Ctags\u201D\u548C\u201Caliases\u201D\u3002\u8BF7\u6CE8\u610F\uFF0C\u5355\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5355\u884C\uFF0C\u5982\u679C\u5B58\u5728\u591A\u4E2A\u6761\u76EE\uFF0C\u5219\u4F1A\u53D8\u4E3A\u5355\u884C\u6570\u7EC4\u3002\u5BF9\u4E8E\u5355\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u591A\u884C\uFF0C\u60C5\u51B5\u4E5F\u662F\u5982\u6B64\uFF0C\u53EA\u662F\u5B83\u53D8\u6210\u4E86\u591A\u884C\u6570\u7EC4\u3002","alias-key":{name:"\u683C\u5F0F\u5316yaml\u522B\u540D\u90E8\u5206",description:"\u6253\u5F00\u4E86YAML\u522B\u540D\u90E8\u5206\u7684\u683C\u5F0F\u8BBE\u7F6E\u3002\u4E0D\u5E94\u4E0E\u89C4\u5219`YAML Title Alias`\u540C\u65F6\u542F\u7528\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u53EF\u80FD\u4E0D\u4F1A\u5F88\u597D\u5730\u534F\u540C\u5DE5\u4F5C\uFF0C\u6216\u8005\u5B83\u4EEC\u53EF\u80FD\u6709\u4E0D\u540C\u7684\u683C\u5F0F\u6837\u5F0F\u9009\u62E9\uFF0C\u4ECE\u800C\u5BFC\u81F4\u610F\u5916\u7ED3\u679C\u3002"},"tag-key":{name:"\u683C\u5F0F\u5316yaml\u6807\u7B7E\u90E8\u5206",description:"\u6253\u5F00YAML\u6807\u7B7E\u90E8\u5206\u7684\u683C\u5F0F\u8BBE\u7F6E\u3002"},"default-array-style":{name:"\u9ED8\u8BA4\u7684yaml\u6570\u7EC4\u90E8\u5206\u683C\u5F0F",description:"\u9664\u4E86\u6807\u7B7E\uFF0C\u522B\u540D\u6216\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u5355\u884C\u6570\u7EC4\u548C\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u591A\u884C\u6570\u7EC4\u4E4B\u5916\uFF0C\u5176\u4ED6\u4E3A\u5E38\u89C4 yaml \u6570\u7EC4\u7684\u6837\u5F0F\u3002"},"default-array-keys":{name:"\u683C\u5F0F\u5316\u5E38\u89C4yaml\u6570\u7EC4\u90E8\u5206",description:"\u5BF9\u5E38\u89C4YAML\u6570\u7EC4\u6253\u5F00\u683C\u5F0F\u8BBE\u7F6E"},"force-single-line-array-style":{name:"\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u5355\u884C\u6570\u7EC4",description:"\u5F3A\u5236\u5C06\u65B0\u884C\u5206\u9694\u7684\u952E\u7684YAML\u6570\u7EC4\u683C\u5F0F\u4E3A\u5355\u884C\u683C\u5F0F\uFF08\u7559\u7A7A\u4EE5\u7981\u7528\u6B64\u9009\u9879\uFF09"},"force-multi-line-array-style":{name:"\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u591A\u884C\u6570\u7EC4",description:"\u5F3A\u5236\u5C06\u65B0\u884C\u5206\u9694\u7684\u952E\u7684YAML\u6570\u7EC4\u683C\u5F0F\u4E3A\u591A\u884C\u683C\u5F0F\uFF08\u7559\u7A7A\u4EE5\u7981\u7528\u6B64\u9009\u9879\uFF09"}},"header-increment":{name:"\u6807\u9898\u7EA7\u522B\u9012\u589E",description:"\u6807\u9898\u7EA7\u522B\u5E94\u4EC5\u4E00\u6B21\u9012\u589E\u4E00\u4E2A\u7EA7\u522B","start-at-h2":{name:"\u4ECE\u7B2C\u4E8C\u7EA7\u6807\u9898\u5F00\u59CB\u9012\u589E",description:"\u4F7F\u7B2C\u4E8C\u7EA7\u6807\u9898\u6210\u4E3A\u6587\u4EF6\u4E2D\u7684\u6700\u5C0F\u6807\u9898\u7EA7\u522B\uFF0C\u4ECE\u800C\u53EF\u76F8\u5E94\u5730\u8C03\u6574\u6240\u6709\u6807\u9898\uFF0C\u4EE5\u4FBF\u5B83\u4EEC\u4ECE\u7B2C\u4E8C\u7EA7\u6807\u9898\u5F00\u59CB\u9012\u589E\u3002"}},"heading-blank-lines":{name:"\u6807\u9898\u7A7A\u884C",description:"\u6240\u6709\u6807\u9898\u524D\u540E\u5747\u6709\u4E00\u4E2A\u7A7A\u884C\uFF08\u9664\u975E\u6807\u9898\u4F4D\u4E8E\u6587\u6863\u5F00\u5934\u6216\u7ED3\u5C3E\u5904\uFF09\u3002",bottom:{name:"\u5E95\u90E8",description:"\u5728\u6807\u9898\u540E\u63D2\u5165\u4E00\u4E2A\u7A7A\u884C"},"empty-line-after-yaml":{name:"Yaml \u4E0E\u6807\u9898\u4E4B\u95F4\u7684\u7A7A\u884C",description:"\u4FDD\u7559 Yaml \u524D\u7F6E\u5185\u5BB9\u4E0E\u6807\u9898\u4E4B\u95F4\u7684\u7A7A\u884C"}},"headings-start-line":{name:"\u6807\u9898\u8D77\u59CB\u884C",description:"\u4E0D\u4EE5\u65B0\u884C\u5F00\u59CB\u7684\u6807\u9898\u4F1A\u5C06\u5176\u524D\u9762\u7684\u7A7A\u767D\u5220\u9664\uFF0C\u4EE5\u786E\u4FDD\u5B83\u4EEC\u80FD\u88AB\u8BC6\u522B\u4E3A\u6807\u9898\u3002"},"insert-yaml-attributes":{name:"\u63D2\u5165 YAML \u5C5E\u6027",description:"\u5C06\u7ED9\u5B9A\u7684 YAML \u5C5E\u6027\u63D2\u5165\u5230 YAML \u524D\u7F6E\u5185\u5BB9\u4E2D\u3002\u6BCF\u4E2A\u5C5E\u6027\u5360\u4E00\u884C\u3002","text-to-insert":{name:"\u8981\u63D2\u5165\u7684\u6587\u672C",description:"\u8981\u63D2\u5165\u5230 YAML \u524D\u7F6E\u5185\u5BB9\u4E2D\u7684\u6587\u672C"}},"line-break-at-document-end":{name:"\u6587\u4EF6\u7ED3\u5C3E\u6362\u884C",description:"\u786E\u4FDD\u6587\u6863\u7ED3\u5C3E\u6070\u597D\u6709\u4E00\u884C\u7A7A\u884C\u3002"},"move-footnotes-to-the-bottom":{name:"\u79FB\u52A8\u811A\u6CE8\u81F3\u5E95\u90E8",description:"\u79FB\u52A8\u6240\u6709\u811A\u6CE8\u81F3\u6587\u6863\u5E95\u90E8"},"move-math-block-indicators-to-their-own-line":{name:"\u5C06\u6570\u5B66\u5757\u6307\u793A\u7B26\u79FB\u5230\u81EA\u5DF1\u7684\u884C\u4E0A",description:"\u4F7F\u7528\u201C\u6307\u793A\u6570\u5B66\u5757\u6240\u9700\u7F8E\u5143\u7B26\u53F7\u6570\u201D\u6765\u786E\u5B9A\u7528\u591A\u5C11\u4E2A\u7F8E\u5143\u7B26\u53F7\u8868\u793A\u5355\u884C\u6570\u5B66\u5F0F\uFF0C\u5C06\u6240\u6709\u8D77\u59CB\u548C\u7ED3\u675F\u6570\u5B66\u5757\u6307\u793A\u7B26\u79FB\u5230\u5B83\u4EEC\u81EA\u5DF1\u7684\u884C\u4E0A\u3002"},"move-tags-to-yaml":{name:"\u5C06\u6807\u7B7E\u79FB\u81F3 Yaml",description:"\u79FB\u52A8\u6240\u6709\u6807\u7B7E\u81F3 Yaml frontmatter","how-to-handle-existing-tags":{name:"\u5982\u4F55\u5904\u7406\u73B0\u6709\u7684\u6807\u7B7E",description:"\u4E00\u65E6\u79FB\u52A8\u5230\u4E86\u524D\u7F6E\u5143\u6570\u636E\uFF0C\u5BF9\u4E8E\u6587\u4EF6\u6B63\u6587\u4E2D\u7684\u975E\u88AB\u5FFD\u7565\u6807\u7B7E\uFF0C\u5E94\u8BE5\u91C7\u53D6\u4F55\u79CD\u64CD\u4F5C\uFF1F"},"tags-to-ignore":{name:"\u5FFD\u7565\u7684\u6807\u7B7E",description:"\u8FD9\u4E9B\u6807\u7B7E\u4E0D\u4F1A\u88AB\u79FB\u52A8\u5230\u6807\u7B7E\u6570\u7EC4\u4E2D\uFF0C\u4E5F\u4E0D\u4F1A\u5728\u201C\u4ECE\u6B63\u6587\u5185\u5BB9\u4E2D\u79FB\u9664\u6807\u7B7E\u4E2D\u7684\u4E95\u53F7\u201D\u542F\u7528\u65F6\u4ECE\u6B63\u6587\u5185\u5BB9\u4E2D\u79FB\u9664\u3002\u6BCF\u4E2A\u6807\u7B7E\u5E94\u8BE5\u5355\u72EC\u653E\u5728\u4E00\u884C\u4E0A\uFF0C\u4E0D\u8981\u5305\u542B\u201C#\u201D\u3002\u8BF7\u786E\u4FDD\u6807\u7B7E\u540D\u79F0\u4E2D\u4E0D\u8981\u5305\u542B\u4E95\u53F7\u3002"}},"no-bare-urls":{name:"\u7981\u6B62\u88F8\u9732URL",description:"\u9664\u975E\u88AB\u53CD\u5F15\u53F7\u3001\u65B9\u62EC\u53F7\u6216\u5355\u5F15\u53F7/\u53CC\u5F15\u53F7\u5305\u62EC\uFF0C\u5426\u5219\u5E94\u5C06\u88F8\u9732\u7684URL\u7528\u5C16\u62EC\u53F7\u5305\u56F4\u3002"},"ordered-list-style":{name:"\u6709\u5E8F\u5217\u8868\u6837\u5F0F",description:"\u786E\u4FDD\u6709\u5E8F\u5217\u8868\u9075\u5FAA\u6307\u5B9A\u7684\u6837\u5F0F\u3002\u8BF7\u6CE8\u610F\uFF0C2\u4E2A\u7A7A\u683C\u62161\u4E2A\u5236\u8868\u7B26\u88AB\u89C6\u4E3A\u7F29\u8FDB\u7EA7\u522B\u3002","number-style":{name:"\u5E8F\u53F7\u6837\u5F0F",description:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u4E2D\u4F7F\u7528\u7684\u5E8F\u53F7\u6837\u5F0F"},"list-end-style":{name:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u7ED3\u675F\u6837\u5F0F",description:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u7684\u7ED3\u675F\u5B57\u7B26"}},"paragraph-blank-lines":{name:"\u6BB5\u843D\u7A7A\u767D\u884C",description:"\u6BCF\u4E2A\u6BB5\u843D\u524D\u540E\u5E94\u8BE5\u6709\u4E14\u4EC5\u6709\u4E00\u884C\u7A7A\u767D\u884C\u3002"},"prevent-double-checklist-indicator-on-paste":{name:"\u9632\u6B62\u590D\u5236\u65F6\u51FA\u73B0\u91CD\u590D\u7684\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26",description:"\u5982\u679C\u6587\u4EF6\u4E2D\u5149\u6807\u6240\u5728\u884C\u6709\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26\uFF0C\u5219\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8D77\u59CB\u7684\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26\u3002"},"prevent-double-list-item-indicator-on-paste":{name:"\u9632\u6B62\u590D\u5236\u65F6\u51FA\u73B0\u91CD\u590D\u7684\u5217\u8868\u9879\u6307\u793A\u7B26",description:"\u5982\u679C\u6587\u4EF6\u4E2D\u5149\u6807\u6240\u5728\u884C\u6709\u5217\u8868\u9879\u6307\u793A\u7B26\uFF0C\u5219\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8D77\u59CB\u7684\u5217\u8868\u6307\u793A\u7B26\u3002"},"proper-ellipsis-on-paste":{name:"\u6B63\u786E\u7684\u7701\u7565\u53F7",description:"\u5373\u4F7F\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u5B83\u4EEC\u4E4B\u95F4\u6709\u7A7A\u683C\uFF0C\u4E5F\u7528\u7701\u7565\u53F7\u66FF\u6362\u4E09\u4E2A\u8FDE\u7EED\u7684\u70B9\u3002"},"proper-ellipsis":{name:"\u6B63\u786E\u7684\u7701\u7565\u53F7",description:"\u7528\u7701\u7565\u53F7\u66FF\u6362\u4E09\u4E2A\u8FDE\u7EED\u7684\u70B9\u3002"},"re-index-footnotes":{name:"\u91CD\u65B0\u7D22\u5F15\u811A\u6CE8",description:"\u57FA\u4E8E\u51FA\u73B0\u7684\u987A\u5E8F\u91CD\u65B0\u7D22\u5F15\u811A\u6CE8\u952E\u548C\u811A\u6CE8\uFF08\u6CE8\u610F\uFF1A\u5982\u679C\u4E00\u4E2A\u952E\u6709\u591A\u4E2A\u811A\u6CE8\uFF0C\u5219\u6B64\u89C4\u5219\u4E0D\u9002\u7528\u3002\uFF09"},"remove-consecutive-list-markers":{name:"\u79FB\u9664\u8FDE\u7EED\u7684\u5217\u8868\u6807\u8BB0",description:"\u79FB\u9664\u8FDE\u7EED\u7684\u5217\u8868\u6807\u8BB0\u3002\u590D\u5236\u7C98\u8D34\u5217\u8868\u9879\u65F6\u5F88\u6709\u7528\u3002"},"remove-empty-lines-between-list-markers-and-checklists":{name:"\u79FB\u9664\u5217\u8868\u6807\u8BB0\u548C\u6838\u5BF9\u5217\u8868\u9879\u4E4B\u95F4\u7684\u7A7A\u884C",description:"\u5217\u8868\u6807\u8BB0\u548C\u6838\u5BF9\u5217\u8868\u9879\u4E4B\u95F4\u4E0D\u5E94\u6709\u7A7A\u884C\u3002"},"remove-empty-list-markers":{name:"\u79FB\u9664\u7A7A\u7684\u5217\u8868\u6807\u8BB0",description:"\u79FB\u9664\u7A7A\u7684\u5217\u8868\u6807\u8BB0\uFF0C\u6BD4\u5982\u5217\u8868\u540E\u6CA1\u5185\u5BB9\u3002"},"remove-hyphenated-line-breaks":{name:"\u79FB\u9664\u4E2D\u5212\u7EBF\u6362\u884C\u7B26",description:"\u79FB\u9664\u4E2D\u5212\u7EBF\u6362\u884C\u7B26\u3002\u4ECE\u6559\u79D1\u4E66\u4E2D\u7C98\u8D34\u6587\u672C\u65F6\u5F88\u6709\u7528\u3002"},"remove-hyphens-on-paste":{name:"\u79FB\u9664\u8FDE\u5B57\u7B26",description:"\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8FDE\u5B57\u7B26\u3002"},"remove-leading-or-trailing-whitespace-on-paste":{name:"\u79FB\u9664\u7C98\u8D34\u65F6\u7684\u524D\u5BFC\u6216\u5C3E\u968F\u7A7A\u683C",description:"\u79FB\u9664\u8981\u7C98\u8D34\u7684\u6587\u672C\u7684\u4EFB\u4F55\u524D\u5BFC\u975E\u5236\u8868\u7B26\u7A7A\u683C\u548C\u6240\u6709\u5C3E\u968F\u7A7A\u683C\u3002"},"remove-leftover-footnotes-from-quote-on-paste":{name:"\u79FB\u9664\u5F15\u7528\u4E2D\u7684\u5269\u4F59\u811A\u6CE8",description:"\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u4EFB\u4F55\u5269\u4F59\u7684\u811A\u6CE8\u5F15\u7528\u3002"},"remove-link-spacing":{name:"\u79FB\u9664\u94FE\u63A5\u95F4\u8DDD",description:"\u79FB\u9664\u94FE\u63A5\u6587\u672C\u5468\u56F4\u7684\u95F4\u8DDD\u3002"},"remove-multiple-blank-lines-on-paste":{name:"\u79FB\u9664\u7C98\u8D34\u65F6\u7684\u591A\u4E2A\u7A7A\u767D\u884C",description:"\u5C06\u591A\u4E2A\u7A7A\u767D\u884C\u538B\u7F29\u4E3A\u4E00\u4E2A\u7A7A\u767D\u884C\u4EE5\u7C98\u8D34\u6587\u672C\u3002"},"remove-multiple-spaces":{name:"\u79FB\u9664\u591A\u4E2A\u7A7A\u683C",description:"\u79FB\u9664\u4E24\u4E2A\u6216\u66F4\u591A\u8FDE\u7EED\u7684\u7A7A\u683C\u3002\u5FFD\u7565\u884C\u9996\u548C\u884C\u5C3E\u7684\u7A7A\u683C\u3002"},"remove-space-around-characters":{name:"\u53BB\u9664\u5B57\u7B26\u5468\u56F4\u7684\u7A7A\u683C",description:"\u786E\u4FDD\u67D0\u4E9B\u5B57\u7B26\u5468\u56F4\u6CA1\u6709\u7A7A\u683C\uFF08\u5305\u62EC\u5355\u4E2A\u7A7A\u683C\u6216\u5236\u8868\u7B26\uFF09\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B\u5F71\u54CDmarkdown\u683C\u5F0F\u3002","include-fullwidth-forms":{name:"\u5305\u62EC\u5168\u89D2\u5F62\u5F0F",description:'\u5305\u62EC\u5168\u89D2\u5F62\u5F0FUnicode\u5757'},"include-cjk-symbols-and-punctuation":{name:"\u5305\u62ECCJK\u7B26\u53F7\u548C\u6807\u70B9",description:'\u5305\u62ECCJK\u7B26\u53F7\u548C\u6807\u70B9Unicode\u5757'},"include-dashes":{name:"\u5305\u62EC\u7834\u6298\u53F7",description:"\u5305\u62ECen dash (\u2013)\u548Cem dash (\u2014)"},"other-symbols":{name:"\u5176\u4ED6\u7B26\u53F7",description:"\u8981\u5305\u62EC\u7684\u5176\u4ED6\u7B26\u53F7"}},"remove-trailing-punctuation-in-heading":{name:"\u79FB\u9664\u6807\u9898\u4E2D\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7",description:"\u4ECE\u6807\u9898\u7684\u672B\u5C3E\u5220\u9664\u6307\u5B9A\u7684\u6807\u70B9\u7B26\u53F7\uFF0C\u786E\u4FDD\u5FFD\u7565HTML\u5B9E\u4F53\u5F15\u7528\u672B\u5C3E\u7684\u5206\u53F7\u3002","punctuation-to-remove":{name:"\u8981\u5220\u9664\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7",description:"\u8981\u4ECE\u6587\u4EF6\u6807\u9898\u4E2D\u5220\u9664\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7\u3002"}},"remove-yaml-keys":{name:"\u79FB\u9664 YAML \u952E",description:"\u79FB\u9664\u7279\u5B9A\u7684 YAML \u952E","yaml-keys-to-remove":{name:"\u9700\u8981\u79FB\u9664\u7684 YAML \u952E",description:"\u4ECE\u5E26\u6216\u4E0D\u5E26\u5192\u53F7\u7684 yaml frontmatter \u4E2D\u5220\u9664\u7684 YAML \u952E"}},"space-after-list-markers":{name:"\u5217\u8868\u6807\u8BB0\u540E\u7A7A\u683C",description:"\u5217\u8868\u6807\u8BB0\u548C\u590D\u9009\u6846\u540E\u5E94\u6709\u4E00\u4E2A\u7A7A\u683C"},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"\u4E2D\u6587\u65E5\u8BED\u6216\u97E9\u8BED\u4E0E\u82F1\u8BED\u6216\u6570\u5B57\u4E4B\u95F4\u7684\u7A7A\u683C",description:"\u786E\u4FDD\u4E2D\u6587\u3001\u65E5\u6587\u6216\u97E9\u6587\u548C\u82F1\u6587\u6216\u6570\u5B57\u7531\u5355\u4E2A\u7A7A\u683C\u5206\u9694. [\u53C2\u8003\u94FE\u63A5](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"\u52A0\u7C97\u98CE\u683C",description:"\u786E\u4FDD\u52A0\u7C97\u98CE\u683C\u4E00\u81F4",style:{name:"\u98CE\u683C",description:"\u7528\u4E8E\u8868\u793A\u52A0\u7C97\u7684\u98CE\u683C"}},"trailing-spaces":{name:"\u672B\u5C3E\u7A7A\u683C",description:"\u79FB\u9664\u6BCF\u884C\u672B\u5C3E\u591A\u4F59\u7684\u7A7A\u683C","twp-space-line-break":{name:"\u4E24\u4E2A\u7A7A\u683C\u7684\u6362\u884C",description:'\u5FFD\u7565\u4E24\u4E2A\u7A7A\u683C\u540E\u63A5\u6362\u884C\u7B26\u7684\u60C5\u51B5\uFF08"\u4E24\u4E2A\u7A7A\u683C\u89C4\u5219"\uFF09\u3002'}},"two-spaces-between-lines-with-content":{name:"\u5185\u5BB9\u95F4\u9694\u4E24\u4E2A\u7A7A\u683C",description:"\u786E\u4FDD\u5728\u6BB5\u843D\u3001\u5F15\u7528\u548C\u5217\u8868\u9879\u4E2D\uFF0C\u88AB\u5EF6\u7EED\u5230\u4E0B\u4E00\u884C\u7684\u5185\u5BB9\u7684\u884C\u672B\u6DFB\u52A0\u4E24\u4E2A\u7A7A\u683C\u3002"},"unordered-list-style":{name:"\u65E0\u5E8F\u5217\u8868\u98CE\u683C",description:"\u786E\u4FDD\u65E0\u5E8F\u5217\u8868\u7B26\u5408\u6307\u5B9A\u7684\u98CE\u683C","list-style":{name:"\u5217\u8868\u9879\u98CE\u683C",description:"\u5217\u8868\u9879\u9700\u8981\u6307\u5B9A\u7684\u98CE\u683C"}},"yaml-key-sort":{name:"YAML \u952E\u6392\u5E8F",description:"\u6839\u636E\u6307\u5B9A\u7684\u987A\u5E8F\u548C\u4F18\u5148\u7EA7\u5BF9 YAML \u952E\u8FDB\u884C\u6392\u5E8F\u3002\u6CE8\u610F\uFF1A\u4E5F\u8BB8\u4E5F\u4F1A\u5220\u9664\u7A7A\u767D\u884C\u3002","yaml-key-priority-sort-order":{name:"YAML \u952E\u4F18\u5148\u7EA7\u6392\u5E8F\u987A\u5E8F",description:"\u5BF9\u952E\u8FDB\u884C\u6392\u5E8F\u7684\u987A\u5E8F\uFF0C\u6BCF\u884C\u4E00\u4E2A\u952E\uFF0C\u6309\u5217\u8868\u4E2D\u7684\u987A\u5E8F\u8FDB\u884C\u6392\u5E8F"},"priority-keys-at-start-of-yaml":{name:"YAML \u521D\u59CB\u65F6\u952E\u7684\u4F18\u5148\u7EA7",description:"\u521D\u59CB\u65F6 YAML \u952E\u6392\u5E8F\u987A\u5E8F"},"yaml-sort-order-for-other-keys":{name:"YAML \u5176\u5B83\u952E\u7684\u6392\u5E8F\u987A\u5E8F",description:"\u5BF9 YAML \u952E\u4F18\u5148\u7EA7\u6392\u5E8F\u987A\u5E8F\u6587\u672C\u533A\u57DF\u4E2D\u672A\u627E\u5230\u7684\u952E\u8FDB\u884C\u6392\u5E8F"}},"yaml-timestamp":{name:"YAML \u65F6\u95F4\u6233",description:"\u5728 YAML frontmatter \u4E2D\u8DDF\u8E2A\u4E0A\u6B21\u7F16\u8F91\u6587\u6863\u7684\u65E5\u671F\u3002\u4ECE\u6587\u6863\u5143\u6570\u636E\u4E2D\u83B7\u53D6\u65E5\u671F\u3002","date-created":{name:"\u521B\u5EFA\u65E5\u671F",description:"\u63D2\u5165\u6587\u4EF6\u7684\u521B\u5EFA\u65E5\u671F"},"date-created-key":{name:"\u521B\u5EFA\u65E5\u671F\u7684\u952E",description:"\u4F7F\u7528\u54EA\u4E2A YAML \u952E\u6765\u8868\u793A\u521B\u5EFA\u65E5\u671F"},"force-retention-of-create-value":{name:"\u5F3A\u5236\u4FDD\u7559\u521B\u5EFA\u65E5\u671F\u7684\u952E\u503C",description:"\u91CD\u7528\u521B\u5EFA\u65E5\u671F\u7684 YAML frontmatter \u4E2D\u7684\u503C\uFF0C\u800C\u4E0D\u662F\u6587\u6863\u5143\u6570\u636E\uFF0C\u8FD9\u5BF9\u4E8E\u9632\u6B62\u6587\u6863\u5143\u6570\u636E\u66F4\u6539\u5BFC\u81F4\u503C\u66F4\u6539\u4E3A\u5176\u4ED6\u503C\u65F6\u975E\u5E38\u6709\u7528"},"date-modified":{name:"\u4FEE\u6539\u65E5\u671F",description:"\u63D2\u5165\u6587\u4EF6\u7684\u6700\u8FD1\u4E00\u6B21\u7684\u4FEE\u6539\u65E5\u671F"},"date-modified-key":{name:"\u4FEE\u6539\u65E5\u671F\u7684\u952E",description:"\u4F7F\u7528\u54EA\u4E2A YAML \u952E\u6765\u8868\u793A\u4FEE\u6539\u65E5\u671F"},format:{name:"\u683C\u5F0F",description:"Momentjs \u8BED\u6CD5\u98CE\u683C\u7684\u65E5\u671F\u683C\u5F0F \uFF08\u8BE6\u60C5\u8BBE\u7F6E\u89C1[Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/)"}},"yaml-title-alias":{name:"YAML \u6807\u9898\u522B\u540D",description:"\u5C06\u6587\u6863\u7684\u6807\u9898\u63D2\u5165 YAML frontmatter \u7684\u522B\u540D\u90E8\u5206\u3002\u4ECE\u7B2C\u4E00\u4E2A H1 \u6216\u6587\u6863\u540D\u4E2D\u83B7\u53D6\u6807\u9898","preserve-existing-alias-section-style":{name:"\u4FDD\u7559\u73B0\u6709\u522B\u540D\u90E8\u5206\u6837\u5F0F",description:"\u5982\u679C\u8BBE\u7F6E\uFF0C\u6B64\u9879\u4EC5\u5728\u65B0\u521B\u5EFA\u7684\u522B\u540D\u90E8\u5206\u751F\u6548"},"keep-alias-that-matches-the-filename":{name:"\u786E\u4FDD\u522B\u540D\u4E0E\u6587\u4EF6\u540D\u5339\u914D",description:"\u8FD9\u6837\u7684\u522B\u540D\u901A\u5E38\u662F\u591A\u4F59\u7684"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"\u4F7F\u7528 YAML \u952E `linter-yaml-title-alias` \u5E2E\u52A9\u66F4\u6539\u6587\u6863\u540D\u548C\u6807\u9898",description:"\u5982\u679C\u8BBE\u7F6E\uFF0C\u5F53\u7B2C\u4E00\u4E2A H1 \u6807\u9898\u66F4\u6539\u6216\u6587\u6863\u540D\uFF08\u5982\u679C\u7B2C\u4E00\u4E2A H1 \u4E0D\u5B58\u5728\uFF09\u66F4\u6539\u65F6\uFF0C\u5219\u6B64\u952E\u4E2D\u5B58\u50A8\u7684\u65E7\u522B\u540D\u5C06\u66FF\u6362\u4E3A\u65B0\u503C\uFF0C\u800C\u4E0D\u4EC5\u4EC5\u662F\u5728\u522B\u540D\u6570\u7EC4\u4E2D\u63D2\u5165\u65B0\u6761\u76EE"}},"yaml-title":{name:"YAML \u6807\u9898",description:"\u5C06\u6587\u6863\u7684\u6807\u9898\u63D2\u5165\u5230 YAML frontmatter\u4E2D\u3002\u83B7\u53D6\u7B2C\u4E00\u4E2A H1 \u6216\u6587\u6863\u540D\uFF08\u5982\u679C\u6CA1\u6709 H1\uFF09\u7684\u6807\u9898\u3002","title-key":{name:"\u6807\u9898\u952E",description:"\u6807\u9898\u4F7F\u7528\u54EA\u4E00\u4E2A YAML \u952E"}}},enums:{"Title Case":"\u6807\u9898\u5927\u5C0F\u5199","ALL CAPS":"\u5168\u90E8\u5927\u5199","First letter":"\u9996\u5B57\u6BCD\u5927\u5199",".":".",")":")",ERROR:"\u9519\u8BEF",TRACE:"\u8DDF\u8E2A",DEBUG:"debug",INFO:"\u4FE1\u606F",WARN:"\u8B66\u544A",SILENT:"\u9759\u9ED8",ascending:"\u5347\u5E8F",lazy:"\u61D2\u52A0\u8F7D",Nothing:"\u65E0","Remove hashtag":"\u79FB\u9664hashtag","Remove whole tag":"\u79FB\u9664\u6574\u4E2A\u6807\u7B7E",asterisk:"\u661F\u53F7",underscore:"\u4E0B\u5212\u7EBF",consistent:"\u4E00\u81F4","-":"-","*":"*","+":"+",None:"None","Ascending Alphabetical":"\u6309\u5B57\u6BCD\u987A\u5E8F\u5347\u5E8F","Descending Alphabetical":"\u6309\u5B57\u6BCD\u987A\u5E8F\u964D\u5E8F","multi-line":"\u591A\u884C","single-line":"\u5355\u884C","single string to single-line":"\u4E00\u884C\u4E00\u4E2A\u5B57\u7B26\u4E32","single string to multi-line":"\u591A\u884C\u4E00\u4E2A\u5B57\u7B26\u4E32","single string comma delimited":"\u5B57\u7B26\u4E32\u7528\u9017\u53F7\u5206\u9694","single string space delimited":"\u5B57\u7B26\u4E32\u7528\u7A7A\u683C\u5206\u9694","single-line space delimited":"\u5355\u884C\u7A7A\u683C\u5206\u9694"}};var Nc={};var Pc={ar:xc,cz:wc,da:kc,de:zc,en:Zs,es:Sc,fr:Ac,hi:Tc,id:Lc,it:Ec,ja:Oc,ko:Cc,nl:Mc,no:qc,pl:Ic,"pt-BR":Bc,pt:_c,ro:Fc,ru:Rc,sq:Dc,tr:ra,uk:ra,"zh-TW":Nc,zh:jc},sa="en",aa=Pc[sa];function oa(e){sa=e,aa=Pc[sa||"en"]}function E(e){return aa||Ji(`locale not found for '${sa}'`),aa&&Vs(aa,e)||Vs(Zs,e)}var la=function(e){if(e==null)return Og;if(typeof e=="string")return Eg(e);if(typeof e=="object")return Array.isArray(e)?Tg(e):Lg(e);if(typeof e=="function")return ca(e);throw new Error("Expected function, string, or object as test")};function Tg(e){let t=[],i=-1;for(;++i":""))+")"})}return u;function u(){let p=[],g,h,y;if((!t||r(o,l,d[d.length-1]||null))&&(p=Cg(i(o,d)),p[0]===da))return p;if(o.children&&p[0]!==Js)for(h=(n?o.children.length:-1)+a,y=d.concat(o);h>-1&&h=0;){let r=e.charAt(n);if(r===` -`)break;r.trim()===""||r===">"?i=r+i:i="",n--}return[i,n]}function Hc(e=""){let[t]=$c(e,e.length);return` -`+t.trim()}function Mg(e,t){if(t===0)return e;let i=t,n=t;for(;i>=0;){let r=e.charAt(i);if(r.trim()!=="")break;r===` +`+t.stack),ie.default.error(i),xn&&ca(i.substring(i.indexOf("]")+2),ie.default.levels.TRACE)}function wn(e){ie.default.info(`${oa} ${e}`),xn&&ca(e,ie.default.levels.INFO)}function fi(e){ie.default.debug(`${oa} ${e}`),xn&&ca(e,ie.default.levels.DEBUG)}function et(e){ie.default.warn(`${oa} ${e}`),xn&&ca(e,ie.default.levels.WARN)}function jt(e){ie.default.getLevel()<=ie.default.levels.DEBUG||ro.set(e,performance.now())}function Pt(e){if(ie.default.getLevel()<=ie.default.levels.DEBUG)return;ro.has(e)||et(E("logs.timing-key-not-found").replace("{TIMING_KEY}",e));let t=performance.now()-ro.get(e);fi(`${e}: ${t} `+E("logs.milliseconds-abbreviation"))}function ca(e,t){ie.default.getLevel()<=t&&la.push(e)}function ao(){la=[]}function kn(e){xn=e}function da(e){switch(e){case ie.default.levels.INFO:{ie.default.setLevel("info");break}case ie.default.levels.TRACE:{ie.default.setLevel("trace");break}case ie.default.levels.DEBUG:{ie.default.setLevel("debug");break}case ie.default.levels.SILENT:{ie.default.setLevel("silent");break}case ie.default.levels.ERROR:{ie.default.setLevel("error");break}case ie.default.levels.WARN:{ie.default.setLevel("warn");break}}}var Cc={};var qc={};var Mc={};var Ic={commands:{"lint-file":{name:"Flusen Sie die aktuelle Datei","error-message":"Lint-Datei-Fehler in der Datei"},"lint-file-unless-ignored":{name:"Flusen Sie die aktuelle Datei, es sei denn, sie wird ignoriert"},"lint-all-files":{name:"Flusen Sie alle Dateien im Tresor","error-message":"Lint alle Dateien Fehler in der Datei","success-message":"Alle Dateien gelinzelt","errors-message-singular":"Alle Dateien wurden gef\xFCttert und es gab 1 Fehler.","errors-message-plural":"Alle Dateien wurden gel\xE4hmt und es gab {NUM}-Fehler.","start-message":"Dadurch werden alle Ihre Dateien bearbeitet und es kann zu Fehlern kommen.","submit-button-text":"Fussel alle","submit-button-notice-text":"Linting alle Dateien..."},"lint-all-files-in-folder":{name:"Flusen Sie alle Dateien im aktuellen Ordner","start-message":"Dadurch werden alle Ihre Dateien in {FOLDER_NAME} bearbeitet, einschlie\xDFlich der Dateien in den Unterordnern, die zu Fehlern f\xFChren k\xF6nnen.","submit-button-text":"Lint alle Dateien in {FOLDER_NAME}","submit-button-notice-text":"Linting aller Dateien in {FOLDER_NAME}...","error-message":"Lint alle Dateien im Ordner Fehler in der Datei","success-message":"Alle {NUM}-Dateien wurden in {FOLDER_NAME} gelinzelt.","message-singular":"Alle {NUM}-Dateien in {FOLDER_NAME} wurden gef\xFCttert und es trat 1 Fehler auf.","message-plural":"Alle {FILE_COUNT}-Dateien in {FOLDER_NAME} wurden gelinzelt und es gab einen {ERROR_COUNT}-Fehler."},"paste-as-plain-text":{name:"Einf\xFCgen als reiner Text und ohne \xC4nderungen"},"lint-file-pop-up-menu-text":{name:"Lint-Datei"},"lint-folder-pop-up-menu-text":{name:"Fussel-Ordnerr"}},logs:{"plugin-load":"Plugin wird geladen","plugin-unload":"Plugin entladen","folder-lint":"Linting-Ordner ","linter-run":"Laufender Linter","paste-link-warning":"Abgebrochenes Einf\xFCgen von Flusen, da der Inhalt der Zwischenablage ein Link ist, wodurch Konflikte mit anderen Plugins vermieden werden, die das Einf\xFCgen \xE4ndern.","see-console":"Weitere Informationen finden Sie unter Konsole.","unknown-error":"Beim Flusen ist ein unbekannter Fehler aufgetreten.","moment-locale-not-found":"Beim Versuch, Moment.js locale auf {MOMENT_LOCALE} umzustellen, wurde {CURRENT_LOCALE} angezeigt","pre-rules":"Regeln vor regul\xE4ren Regeln","post-rules":"Regeln nach regul\xE4ren Regeln","rule-running":"Laufende Regeln","custom-regex":"Benutzerdefinierte Regex-Regeln","running-custom-regex":"Ausf\xFChren von benutzerdefinierten Regex","running-custom-lint-command":"Ausf\xFChren von benutzerdefinierten Lint-Befehlen","custom-lint-duplicate-warning":'Sie k\xF6nnen denselben Befehl ("{COMMAND_NAME}") nicht zweimal als benutzerdefinierte Lint-Regel ausf\xFChren.',"custom-lint-error-message":"Benutzerdefinierter Lint-Befehl","disabled-text":"ist deaktiviert","run-rule-text":"Ausgef\xFChrte","timing-key-not-found":"Der Timing-Schl\xFCssel '{TIMING_KEY}' ist in der Timing-Info-Liste nicht vorhanden, daher wurde er ignoriert","milliseconds-abbreviation":"ms","invalid-date-format-error":"Das Format des Erstellungsdatums '{DATE}' konnte nicht analysiert oder bestimmt werden, sodass das Erstellungsdatum in '{FILE_NAME}","invalid-delimiter-error-message":"Trennzeichen darf nur ein einzelnes Zeichen sein","missing-footnote-error-message":"Die Fu\xDFnote '{FOOTNOTE}' hat keinen entsprechenden Fu\xDFnotenverweis vor dem Fu\xDFnoteninhalt und kann nicht verarbeitet werden. Bitte achten Sie darauf, dass alle Fu\xDFnoten vor dem Inhalt der Fu\xDFnote einen entsprechenden Verweis haben.","too-many-footnotes-error-message":"Der Fu\xDFnotenschl\xFCssel '{FOOTNOTE_KEY}' hat mehr als 1 Fu\xDFnote, die darauf verweist. Bitte aktualisieren Sie die Fu\xDFnoten so, dass es nur noch eine Fu\xDFnote pro Fu\xDFnotenschl\xFCssel gibt.","wrapper-yaml-error":"Fehler in der YAML: {ERROR_MESSAGE}","wrapper-unknown-error":"Unbekannter Fehler: {ERROR_MESSAGE}","uneven-amount-of-quotes":"Die Vorkommen des Anf\xFChrungszeichens `{QUOTE}` in der Datei sind nicht gerade, daher k\xF6nnen wir gerade Anf\xFChrungszeichen nicht in intelligente Anf\xFChrungszeichen umwandeln"},"notice-text":{"empty-clipboard":"Es gibt keinen Inhalt der Zwischenablage.","characters-added":"Hinzugef\xFCgte Charaktere","characters-removed":"Zeichen entfernt"},"linter-title":"Linter","empty-search-results-text":"Keine Einstellungen stimmen mit der Suche \xFCberein","warning-text":"Warnung","file-backup-text":"Stellen Sie sicher, dass Sie Ihre Dateien gesichert haben.",tabs:{names:{general:"Allgemeine Einstellungen",custom:"Benutzerdefinierte Einstellungen",yaml:"YAML-Einstellungen",heading:"Einstellungen f\xFCr die \xDCberschrift",content:"Inhaltseinstellungen",footnote:"Fu\xDFnoten-Einstellungen",spacing:"Abstandseinstellungen",paste:"Einstellungen einf\xFCgen",debug:"Debug-Einstellungen"},"default-search-bar-text":"Alle Einstellungen durchsuchen",general:{"lint-on-save":{name:"Flusen beim Speichern",description:"Lenken Sie die Datei beim manuellen Speichern (wenn `Strg + S` gedr\xFCckt wird oder wenn `:w` ausgef\xFChrt wird, w\xE4hrend vim-Tastenkombinationen verwendet werden)"},"display-message":{name:"Meldung auf Flusen anzeigen",description:"Zeigen Sie die Anzahl der Zeichen an, die sich nach dem Linsen ge\xE4ndert haben"},"folders-to-ignore":{name:"Ordner, die ignoriert werden sollen",description:"Ordner, die ignoriert werden sollen, wenn alle Dateien gest\xFCrzt oder beim Speichern gest\xFCrzt werden. Geben Sie Ordnerpfade ein, die durch Zeilenumbr\xFCche getrennt sind"},"override-locale":{name:"Gebietsschema \xFCberschreiben",description:"Legen Sie diese Option fest, wenn Sie ein anderes Gebietsschema als das Standardgebietsschema verwenden m\xF6chten"},"same-as-system-locale":"Identisch mit System ({SYS_LOCALE})","yaml-aliases-section-style":{name:"YAML-Aliase-Abschnittsstil",description:"Der Stil des YAML-Aliasabschnitts"},"yaml-tags-section-style":{name:"Abschnittsstil f\xFCr YAML-Tags",description:"Der Stil des YAML-Tags-Abschnitts"},"default-escape-character":{name:"Standard-Escape-Zeichen",description:"Das Standardzeichen, das zum Maskieren von YAML-Werten verwendet werden soll, wenn ein einfaches Anf\xFChrungszeichen und kein doppeltes Anf\xFChrungszeichen vorhanden sind."},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"Entfernen Sie unn\xF6tige Escape-Zeichen im mehrzeiligen Array-Format",description:"Escape-Zeichen f\xFCr mehrzeilige YAML-Arrays ben\xF6tigen nicht die gleiche Escape-Funktion wie einzeilige Arrays. Entfernen Sie also im mehrzeiligen Format zus\xE4tzliche Escapezeichen, die nicht erforderlich sind"},"number-of-dollar-signs-to-indicate-math-block":{name:"Anzahl der Dollarzeichen, die den Matheblock anzeigen",description:"Die Anzahl der Dollarzeichen, um den mathematischen Inhalt als mathematischen Block anstelle von Inline-Mathematik zu betrachten"}},debug:{"log-level":{name:"Log-Ebene",description:"Die Arten von Protokollen, die vom Dienst protokolliert werden d\xFCrfen. Der Standardwert ist Fehler."},"linter-config":{name:"Linter-Konfiguration",description:"Der Inhalt der data.json f\xFCr den Linter zum Zeitpunkt des Ladens der Einstellungsseite"},"log-collection":{name:"Sammeln Sie Protokolle, wenn Sie beim Speichern und Flusen der aktuellen Datei flusen",description:"Geht voran und sammelt Protokolle, wenn Sie `Flusen beim Speichern` und die aktuelle Datei flusen. Diese Protokolle k\xF6nnen beim Debuggen und Erstellen von Fehlerberichten hilfreich sein."},"linter-logs":{name:"Linter-Protokolle",description:"Die Protokolle der letzten `Flusen beim Speichern` oder der letzten aktuellen Flusendatei werden ausgef\xFChrt, wenn sie aktiviert sind."}}},options:{"custom-command":{name:"Benutzerdefinierte Befehle",description:"Benutzerdefinierte Befehle sind Obsidian-Befehle, die ausgef\xFChrt werden, nachdem der Linter seine regul\xE4ren Regeln ausgef\xFChrt hat. Dies bedeutet, dass sie nicht ausgef\xFChrt werden, bevor die YAML-Zeitstempellogik ausgef\xFChrt wird, sodass sie dazu f\xFChren k\xF6nnen, dass der YAML-Zeitstempel bei der n\xE4chsten Ausf\xFChrung des Linter ausgel\xF6st wird. Sie k\xF6nnen einen Obsidian-Befehl nur einmal ausw\xE4hlen. **_Beachten Sie, dass dies derzeit nur beim Flusen der aktuellen Datei funktioniert._**",warning:"Wenn Sie eine Option ausw\xE4hlen, stellen Sie sicher, dass Sie die Option entweder mit der Maus oder durch Dr\xFCcken der Eingabetaste ausw\xE4hlen. Andere Auswahlmethoden funktionieren m\xF6glicherweise nicht und es werden nur Auswahlen eines tats\xE4chlichen Obsidian-Befehls oder einer leeren Zeichenfolge gespeichert.","add-input-button-text":"Neuen Befehl hinzuf\xFCgen","command-search-placeholder-text":"Obsidian-Befehl","move-up-tooltip":"Aufr\xFCcken","move-down-tooltip":"Bewegen Sie sich nach unten","delete-tooltip":"L\xF6schen"},"custom-replace":{name:"Benutzerdefinierter Regex-Ersatz",description:"Der benutzerdefinierte Regex-Ersatz kann verwendet werden, um alles zu ersetzen, was mit dem Such-Regex mit dem Ersatzwert \xFCbereinstimmt. Bei den Werten replace und find muss es sich um g\xFCltige Regex-Werte handeln.",warning:"Verwenden Sie dies mit Vorsicht, wenn Sie Regex nicht kennen. Stellen Sie au\xDFerdem sicher, dass Sie keine Lookbehinds in Ihrem regul\xE4ren Ausdruck auf iOS-Mobilger\xE4ten verwenden, da dies dazu f\xFChrt, dass Flusen fehlschlagen, da dies auf dieser Plattform nicht unterst\xFCtzt wird.","add-input-button-text":"Neuen Regex-Ersatz hinzuf\xFCgen","regex-to-find-placeholder-text":"Regex zu finden","flags-placeholder-text":"Flaggen","regex-to-replace-placeholder-text":"Regex zu ersetzen","move-up-tooltip":"Aufr\xFCcken","move-down-tooltip":"Bewegen Sie sich nach unten","delete-tooltip":"L\xF6schen"}},rules:{"auto-correct-common-misspellings":{name:"H\xE4ufige Rechtschreibfehler automatisch korrigieren",description:"Verwendet ein W\xF6rterbuch mit h\xE4ufigen Rechtschreibfehlern, um sie automatisch in die richtige Schreibweise umzuwandeln. Siehe [Autokorrekturkarte](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts) f\xFCr die vollst\xE4ndige Liste der automatisch korrigierten W\xF6rter.","ignore-words":{name:"Ignorieren Sie W\xF6rter",description:"Eine durch Kommas getrennte Liste von W\xF6rtern in Kleinbuchstaben, die bei der automatischen Korrektur ignoriert werden sollen"}},"add-blockquote-indentation-on-paste":{name:"Blockquote-Einr\xFCckung beim Einf\xFCgen hinzuf\xFCgen",description:"F\xFCgt Blockzitate zu allen au\xDFer der ersten Zeile hinzu, wenn sich der Cursor w\xE4hrend des Einf\xFCgens in einer Blockquote/Callout-Zeile befindet"},"blockquote-style":{name:"Blockquote-Stil",description:"Stellt sicher, dass der Blockquote-Stil konsistent ist.",style:{name:"Stil",description:"Der f\xFCr Blockquote-Indikatoren verwendete Stil"}},"capitalize-headings":{name:"\xDCberschriften gro\xDF schreiben",description:"\xDCberschriften sollten mit Gro\xDF- und Kleinschreibung formatiert werden",style:{name:"Stil",description:"Die Art der zu verwendenden Gro\xDFschreibung"},"ignore-case-words":{name:"Ignore Cased Words",description:"Only apply title case style to words that are all lowercase"},"ignore-words":{name:"Ignorieren Sie Gro\xDF-/Kleinschreibungsw\xF6rter",description:"Eine durch Kommas getrennte Liste von W\xF6rtern, die bei der Gro\xDFschreibung ignoriert werden sollen"},"lowercase-words":{name:"W\xF6rter in Kleinbuchstaben",description:"Eine durch Kommas getrennte Liste von W\xF6rtern, um Kleinbuchstaben zu behalten"}},"compact-yaml":{name:"Kompakte YAML",description:"Entfernt f\xFChrende und nachfolgende Leerzeilen in der YAML-Frontmaterie.","inner-new-lines":{name:"Innere neue Linien",description:"Entfernen Sie neue Zeilen, die sich nicht am Anfang oder am Ende der YAML befinden"}},"consecutive-blank-lines":{name:"Consecutive blank lines",description:"There should be at most one consecutive blank line."},"convert-bullet-list-markers":{name:"Aufeinanderfolgende Leerzeilen",description:"Konvertiert g\xE4ngige Symbole f\xFCr Aufz\xE4hlungslisten in Markdown-Listenmarkierungen."},"convert-spaces-to-tabs":{name:"Leerzeichen in Tabulatoren konvertieren",description:"Konvertiert f\xFChrende Leerzeichen in Tabulatoren.",tabsize:{name:"Tabgr\xF6\xDFe",description:"Anzahl der Leerzeichen, die in eine Registerkarte umgewandelt werden"}},"emphasis-style":{name:"Betonung Stil",description:"Stellt sicher, dass der Hervorhebungsstil konsistent ist.",style:{name:"Stil",description:"Der Stil, der verwendet wird, um hervorgehobene Inhalte zu kennzeichnen"}},"empty-line-around-blockquotes":{name:"Leere Zeile um Blockquotes",description:"Stellt sicher, dass Blockzitate in einer leeren Zeile stehen, es sei denn, sie beginnen oder beenden ein Dokument. **Beachten Sie, dass eine leere Zeile entweder eine Verschachtelungsebene weniger f\xFCr Blockzitate oder ein Zeilenumbruchzeichen ist.**"},"empty-line-around-code-fences":{name:"Leere Zeile um Code-Z\xE4une",description:"Stellt sicher, dass Codez\xE4une mit einer leeren Zeile versehen sind, es sei denn, sie beginnen oder beenden ein Dokument."},"empty-line-around-math-blocks":{name:"Leere Zeile um mathematische Bl\xF6cke",description:"Stellt sicher, dass es eine leere Zeile um mathematische Bl\xF6cke gibt, indem `Anzahl der Dollarzeichen, die einen mathematischen Block anzeigen` verwendet wird, um zu bestimmen, wie viele Dollarzeichen einen mathematischen Block f\xFCr einzeilige Mathematik anzeigen."},"empty-line-around-tables":{name:"Leere Zeile um Tabellen",description:"Stellt sicher, dass es eine leere Zeile um Github-Tabellen gibt, es sei denn, sie beginnen oder beenden ein Dokument."},"escape-yaml-special-characters":{name:"Escape-YAML-Sonderzeichen",description:`Maskiert Doppelpunkte mit einem Leerzeichen nach ihnen (:), einfache Anf\xFChrungszeichen (') und doppelte Anf\xFChrungszeichen (") in YAML.`,"try-to-escape-single-line-arrays":{name:"Versuchen Sie, Single-Line-Arrays zu umgehen",description:'Versucht, Arraywerte zu maskieren, wobei davon ausgegangen wird, dass ein Array mit "[" beginnt, mit "]" endet und Elemente enth\xE4lt, die durch "," getrennt sind.'}},"file-name-heading":{name:"\xDCberschrift des Dateinamens",description:"F\xFCgt den Dateinamen als H1-\xDCberschrift ein, wenn keine H1-\xDCberschrift vorhanden ist."},"footnote-after-punctuation":{name:"Fu\xDFnote nach Interpunktion",description:"Stellt sicher, dass Fu\xDFnotenverweise nach der Interpunktion und nicht davor platziert werden."},"force-yaml-escape":{name:"YAML-Escape erzwingen",description:"Maskiert die Werte f\xFCr die angegebenen YAML-Schl\xFCssel.","force-yaml-escape-keys":{name:"Erzwingen Sie die YAML-Escape-Klausel f\xFCr Schl\xFCssel",description:"Verwendet das YAML-Escapezeichen f\xFCr die angegebenen YAML-Schl\xFCssel, die durch ein Zeilenumbruchzeichen getrennt sind, wenn es nicht bereits mit Escapezeichen versehen ist. Nicht auf YAML-Arrays verwenden."}},"format-tags-in-yaml":{name:"Formatieren von Tags in YAML",description:"Entfernen Sie Hashtags aus Tags in der YAML-Frontmaterie, da sie die Tags dort ung\xFCltig machen."},"format-yaml-array":{name:"Formatieren des Yaml-Arrays",description:"Erm\xF6glicht die Formatierung von regul\xE4ren yaml-Arrays als mehrzeilig oder einzeilig und `schilder` und `decknamen` d\xFCrfen einige Obsidian-spezifische Yaml-Formate haben. Beachten Sie, dass eine einzelne Zeichenfolge zu einer einzelnen Zeile von einem einzelnen Zeichenfolgeneintrag zu einem einzeiligen Array wechselt, wenn mehr als 1 Eintrag vorhanden ist. Das Gleiche gilt f\xFCr eine einzelne Zeichenfolge bis zu einer mehrzeiligen Zeichenfolge, mit der Ausnahme, dass sie zu einem mehrzeiligen Array wird.","alias-key":{name:'Abschnitt "YAML-Aliase" formatieren',description:"Aktiviert die Formatierung f\xFCr den Abschnitt YAML-Aliase. Sie sollten diese Option nicht zusammen mit der Regel `YAML-Titel-Alias` aktivieren, da sie m\xF6glicherweise nicht gut zusammenarbeiten oder unterschiedliche Formatstile ausgew\xE4hlt haben, was zu unerwarteten Ergebnissen f\xFChrt."},"tag-key":{name:'Abschnitt "YAML-Tags formatieren"',description:"Aktiviert die Formatierung f\xFCr den Abschnitt YAML-Tags."},"default-array-style":{name:"Standardm\xE4\xDFiger YAML-Array-Abschnittsstil",description:"Der Stil anderer yaml-Arrays, die nicht `schilder`, `decknamen` oder in `Erzwingen von Schl\xFCsselwerten, dass es sich um einzeilige Arrays handelt` und `Erzwingen von Schl\xFCsselwerten, dass es sich um mehrzeilige Arrays handelt` sind"},"default-array-keys":{name:"Formatieren von Yaml-Array-Abschnitten",description:"Aktiviert die Formatierung f\xFCr regul\xE4re YAML-Arrays"},"force-single-line-array-style":{name:"Erzwingen von Schl\xFCsselwerten, dass es sich um einzeilige Arrays handelt",description:"Erzwingt, dass das YAML-Array f\xFCr die neuen zeilengetrennten Schl\xFCssel im einzeiligen Format vorliegt (leer lassen, um diese Option zu deaktivieren)"},"force-multi-line-array-style":{name:"Erzwingen von Schl\xFCsselwerten, dass es sich um mehrzeilige Arrays handelt",description:"Erzwingt, dass das yaml-Array f\xFCr die neuen zeilengetrennten Schl\xFCssel im mehrzeiligen Format vorliegt (leer lassen, um diese Option zu deaktivieren)"}},"header-increment":{name:"Header-Inkrement",description:"\xDCberschriftenebenen sollten jeweils nur um eine Ebene erh\xF6ht werden","start-at-h2":{name:"Start-Header-Inkrement auf \xDCberschriftenebene 2",description:"Legt die \xDCberschriftenebene 2 als minimale \xDCberschriftenebene in einer Datei f\xFCr das Kopfzeileninkrement fest und verschiebt alle \xDCberschriften entsprechend, sodass sie beginnend mit einer \xDCberschrift der Ebene 2 inkrementiert werden."}},"heading-blank-lines":{name:"\xDCberschrift Leerzeilen",description:"Alle \xDCberschriften haben sowohl davor als auch danach eine Leerzeile (au\xDFer wenn sich die \xDCberschrift am Anfang oder Ende des Dokuments befindet).",bottom:{name:"Unteres",description:"Einf\xFCgen einer Leerzeile nach \xDCberschriften"},"empty-line-after-yaml":{name:"Leere Zeile zwischen Yaml und Header",description:"Behalten Sie die leere Zeile zwischen der Yaml-Frontmaterie und dem Header bei"}},"headings-start-line":{name:"\xDCberschriften Startlinie",description:"Bei \xDCberschriften, die keine Zeile beginnen, wird der vorangehende Leerraum entfernt, um sicherzustellen, dass sie als \xDCberschriften erkannt werden."},"insert-yaml-attributes":{name:"Einf\xFCgen von YAML-Attributen",description:"F\xFCgt die angegebenen YAML-Attribute in die YAML-Frontmaterie ein. Setzen Sie jedes Attribut in eine einzelne Zeile.","text-to-insert":{name:"Text zum Einf\xFCgen",description:"Text, der in die YAML-Frontsache eingef\xFCgt werden soll"}},"line-break-at-document-end":{name:"Zeilenumbruch am Dokumentende",description:"Stellt sicher, dass am Ende eines Dokuments genau ein Zeilenumbruch steht."},"move-footnotes-to-the-bottom":{name:"Fu\xDFnoten nach unten verschieben",description:"Verschieben Sie alle Fu\xDFnoten an das Ende des Dokuments."},"move-math-block-indicators-to-their-own-line":{name:"Verschieben Sie mathematische Blockindikatoren in eine eigene Zeile",description:"Verschieben Sie alle Anfangs- und Endindikatoren f\xFCr mathematische Bl\xF6cke in ihre eigenen Zeilen, indem Sie `Anzahl der Dollarzeichen, die einen mathematischen Block anzeigen` verwenden, um zu bestimmen, wie viele Dollarzeichen einen mathematischen Block f\xFCr einzeilige Mathematik anzeigen."},"move-tags-to-yaml":{name:"Tags nach Yaml verschieben",description:"Verschieben Sie alle Tags in die Yaml-Frontsache des Dokuments.","how-to-handle-existing-tags":{name:"Body-Tag-Betrieb",description:"Die Aktion, die mit nicht ignorierten Tags im Hauptteil der Datei ausgef\xFChrt werden soll, nachdem sie in die Frontmaterie verschoben wurden"},"tags-to-ignore":{name:"Tags zum Ignorieren",description:"Die Tags, die nicht in das Tags-Array verschoben oder aus dem Textinhalt entfernt werden, wenn `Entfernen Sie den Hashtag aus Tags im Inhaltstext` aktiviert ist. Jedes Tag sollte in einer neuen Zeile und ohne das `#`` stehen. **Stellen Sie sicher, dass Sie den Hashtag nicht in den Tag-Namen aufnehmen.**"}},"no-bare-urls":{name:"Keine blo\xDFen URLs",description:"Umschlie\xDFt blo\xDFe URLs mit spitzen Klammern, es sei denn, sie sind in hintere H\xE4kchen, eckige Klammern oder einfache oder doppelte Anf\xFChrungszeichen eingeschlossen."},"ordered-list-style":{name:"Geordneter Listenstil",description:"Stellt sicher, dass geordnete Listen dem angegebenen Stil entsprechen. Beachten Sie, dass 2 Leerzeichen oder 1 Tabulator als Einr\xFCckungsebene betrachtet werden.","number-style":{name:"Zahlen-Stil",description:"Der Zahlenstil, der in geordneten Listenindikatoren verwendet wird"},"list-end-style":{name:"Endstil des geordneten Listenindikators",description:"Das Endzeichen eines geordneten Listenkennzeichens"}},"paragraph-blank-lines":{name:"Leere Absatzzeilen",description:"Alle Abs\xE4tze sollten sowohl davor als auch danach genau eine Leerzeile haben."},"prevent-double-checklist-indicator-on-paste":{name:"Verhindern Sie eine doppelte Checklistenanzeige beim Einf\xFCgen",description:"Entfernt die Start-Checklisten-Anzeige aus dem Text, um sie einzuf\xFCgen, wenn die Zeile, auf der sich der Cursor in der Datei befindet, \xFCber eine Checklistenanzeige verf\xFCgt"},"prevent-double-list-item-indicator-on-paste":{name:"Verhindern Sie die Anzeige f\xFCr doppelte Listenelemente beim Einf\xFCgen",description:"Entfernt den Startlistenindikator aus dem Text, der eingef\xFCgt werden soll, wenn die Zeile, auf der sich der Cursor in der Datei befindet, einen Listenindikator hat"},"proper-ellipsis-on-paste":{name:"Richtige Auslassungspunkte auf Paste",description:"Ersetzt drei aufeinanderfolgende Punkte durch Auslassungspunkte, auch wenn sie im Text ein Leerzeichen zum Einf\xFCgen haben"},"proper-ellipsis":{name:"Richtige Auslassungspunkte",description:"Ersetzt drei aufeinanderfolgende Punkte durch Auslassungspunkte."},"quote-style":{name:"Zitatstil",description:"Aktualisiert die Anf\xFChrungszeichen im Textk\xF6rperinhalt, sodass sie auf die angegebenen einfachen und doppelten Anf\xFChrungszeichenstile aktualisiert werden.","single-quote-enabled":{name:"Aktivieren Sie `Stil f\xFCr einfache Anf\xFChrungszeichen`",description:"Gibt an, dass der ausgew\xE4hlte einfache Anf\xFChrungszeichenstil verwendet werden soll."},"single-quote-style":{name:"Stil f\xFCr einfache Anf\xFChrungszeichen",description:"Der Stil der zu verwendenden einfachen Anf\xFChrungszeichen."},"double-quote-enabled":{name:"Aktivieren Sie `Stil f\xFCr doppelte Anf\xFChrungszeichen`",description:"Gibt an, dass der ausgew\xE4hlte doppelte Anf\xFChrungszeichenstil verwendet werden soll."},"double-quote-style":{name:"Stil f\xFCr doppelte Anf\xFChrungszeichen",description:"Der zu verwendende Stil der doppelten Anf\xFChrungszeichen."}},"re-index-footnotes":{name:"Fu\xDFnoten neu indizieren",description:"Indiziert Fu\xDFnotenschl\xFCssel und Fu\xDFnoten basierend auf der Reihenfolge des Auftretens neu (HINWEIS: Diese Regel funktioniert *nicht*, wenn es mehr als eine Fu\xDFnote f\xFCr einen Schl\xFCssel gibt.)"},"remove-consecutive-list-markers":{name:"Entfernen Sie aufeinanderfolgende Listenmarkierungen",description:"Entfernt aufeinanderfolgende Listenmarkierungen. N\xFCtzlich beim Kopieren und Einf\xFCgen von Listenelementen."},"remove-empty-lines-between-list-markers-and-checklists":{name:"Entfernen Sie leere Zeilen zwischen Listenmarkierungen und Checklisten",description:"Es sollten keine leeren Zeilen zwischen Listenmarkierungen und Checklisten stehen."},"remove-empty-list-markers":{name:"Entfernen Sie leere Listenmarkierungen",description:"Entfernt leere Listenmarkierungen, d.h. Listenelemente ohne Inhalt."},"remove-hyphenated-line-breaks":{name:"Entfernen Sie Zeilenumbr\xFCche mit Bindestrich",description:"Entfernt Zeilenumbr\xFCche mit Bindestrich. N\xFCtzlich beim Einf\xFCgen von Text aus Lehrb\xFCchern."},"remove-hyphens-on-paste":{name:"Entfernen Sie Bindestriche auf Paste",description:"Entfernt Bindestriche aus dem Text zum Einf\xFCgen"},"remove-leading-or-trailing-whitespace-on-paste":{name:"Entfernen Sie f\xFChrende oder nachgestellte Leerzeichen beim Einf\xFCgen",description:"Entfernt alle f\xFChrenden Leerzeichen ohne Tabulatoren und alle nachgestellten Leerzeichen, die der Text einf\xFCgen kann"},"remove-leftover-footnotes-from-quote-on-paste":{name:"Entfernen Sie \xFCbrig gebliebene Fu\xDFnoten aus dem Zitat beim Einf\xFCgen",description:"Entfernt alle \xFCbrig gebliebenen Fu\xDFnotenverweise, die der Text einf\xFCgen kann"},"remove-link-spacing":{name:"Linkabstand entfernen",description:"Entfernt den Abstand um den Linktext."},"remove-multiple-blank-lines-on-paste":{name:"Entfernen Sie mehrere Leerzeilen beim Einf\xFCgen",description:"Verdichtet mehrere Leerzeilen zu einer Leerzeile, damit der Text eingef\xFCgt werden kann"},"remove-multiple-spaces":{name:"Entfernen Sie mehrere Leerzeichen",description:"Entfernt zwei oder mehr aufeinanderfolgende Leerzeichen. Ignoriert Leerzeichen am Anfang und am Ende der Zeile."},"remove-space-around-characters":{name:"Entfernen Sie den Abstand um die Zeichen",description:"Stellt sicher, dass bestimmte Zeichen nicht von Leerzeichen umgeben sind (entweder einzelne Leerzeichen oder ein Tabulator). Beachten Sie, dass dies in einigen F\xE4llen zu Problemen mit dem Markdown-Format f\xFChren kann.","include-fullwidth-forms":{name:"Einf\xFCgen von Formularen in voller Breite",description:'Einschlie\xDFen Unicode-Block "Formulare" in voller Breite'},"include-cjk-symbols-and-punctuation":{name:"CJK-Symbole und Satzzeichen einschlie\xDFen",description:'Einschlie\xDFen CJK-Symbole und Satzzeichen Unicode-Block'},"include-dashes":{name:"Bindestriche einschlie\xDFen",description:"F\xFCgen Sie den Gedankenstrich (\u2013) und den Gedankenstrich (\u2014) ein"},"other-symbols":{name:"Andere Symbole",description:"Andere Symbole, die enthalten sind"}},"remove-space-before-or-after-characters":{name:"Entfernen Sie Leerzeichen vor oder nach Zeichen",description:"Entfernt Leerzeichen vor und nach den angegebenen Zeichen. Beachten Sie, dass dies in einigen F\xE4llen zu Problemen mit dem Markdown-Format f\xFChren kann.","characters-to-remove-space-before":{name:"Leerzeichen vor Zeichen entfernen",description:"Entfernt Leerzeichen vor den angegebenen Zeichen. **Hinweis: Die Verwendung von `{` oder `}` in der Zeichenliste wirkt sich unerwartet auf Dateien aus, da es in der Ignoriersyntax hinter den Kulissen verwendet wird.**"},"characters-to-remove-space-after":{name:"Leerzeichen nach Zeichen entfernen",description:"Entfernt Leerzeichen vor den angegebenen Zeichen. **Hinweis: Die Verwendung von `{` oder `}` in der Zeichenliste wirkt sich unerwartet auf Dateien aus, da es in der Ignoriersyntax hinter den Kulissen verwendet wird.**"}},"remove-trailing-punctuation-in-heading":{name:"Entfernen Sie nachgestellte Satzzeichen in der \xDCberschrift",description:"Entfernt die angegebene Interpunktion am Ende von \xDCberschriften, wobei darauf zu achten ist, dass das Semikolon am Ende von [HTML-Entit\xE4tsreferenzen](https://de.wikipedia.org/wiki/Typografische_Zeichen_in_XML_und_HTML) ignoriert wird.","punctuation-to-remove":{name:"Nachfolgende Interpunktion",description:"Das nachfolgende Satzzeichen, das aus den \xDCberschriften in der Datei entfernt werden soll."}},"remove-yaml-keys":{name:"Entfernen von YAML-Schl\xFCsseln",description:"Entfernt die angegebenen YAML-Schl\xFCssel","yaml-keys-to-remove":{name:"Zu entfernende YAML-Schl\xFCssel",description:"Die zu entfernenden yaml-Tasten aus der yaml-Frontmaterie mit oder ohne Doppelpunkt"}},"space-after-list-markers":{name:"Leerzeichen nach Listenmarkierungen",description:"Es sollte ein einzelnes Leerzeichen nach Listenmarkierungen und Kontrollk\xE4stchen geben."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Leerzeichen zwischen Chinesisch, Japanisch oder Koreanisch und Englisch oder Zahlen",description:"Stellt sicher, dass Chinesisch, Japanisch oder Koreanisch und Englisch oder Zahlen durch ein einziges Leerzeichen getrennt werden. Folgt diesen [Richtlinien](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Starker Stil",description:"Stellt sicher, dass der starke Stil konsistent ist.",style:{name:"Stil",description:"Der Stil, der verwendet wird, um starke/fettgedruckte Inhalte zu kennzeichnen"}},"trailing-spaces":{name:"Nachgestellte Leerzeichen",description:"Entfernt zus\xE4tzliche Leerzeichen nach jeder Zeile.","twp-space-line-break":{name:"Zwei Leerzeichen Zeilenumbruch",description:'Ignorieren Sie zwei Leerzeichen, gefolgt von einem Zeilenumbruch ("Zwei-Leerzeichen-Regel").'}},"two-spaces-between-lines-with-content":{name:"Zwei Leerzeichen zwischen Zeilen mit Inhalt",description:"Stellt sicher, dass zwei Leerzeichen an den Zeilenenden hinzugef\xFCgt werden, wobei der Inhalt in der n\xE4chsten Zeile f\xFCr Abs\xE4tze, Blockzitate und Listenelemente fortgesetzt wird"},"unordered-list-style":{name:"Ungeordneter Listenstil",description:"Stellt sicher, dass ungeordnete Listen dem angegebenen Stil folgen.","list-style":{name:"Stil des Listenelements",description:"Das Listenelementformat, das in ungeordneten Listen verwendet werden soll"}},"yaml-key-sort":{name:"Sortierung von YAML-Schl\xFCsseln",description:"Sortiert die YAML-Schl\xFCssel basierend auf der angegebenen Reihenfolge und Priorit\xE4t. Hinweis: Kann auch Leerzeilen entfernen.","yaml-key-priority-sort-order":{name:"Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t",description:"Die Reihenfolge, in der Schl\xFCssel sortiert werden sollen, wobei einer in jeder Zeile sortiert wird, in der er in der Reihenfolge sortiert wird, die in der Liste gefunden wird"},"priority-keys-at-start-of-yaml":{name:"Priorit\xE4tstasten beim Start von YAML",description:"Die Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t wird am Anfang der YAML-Frontmaterie platziert"},"yaml-sort-order-for-other-keys":{name:"YAML-Sortierreihenfolge f\xFCr andere Schl\xFCssel",description:"Die Art und Weise, wie die Schl\xFCssel sortiert werden, die nicht im Textbereich Sortierreihenfolge der YAML-Schl\xFCsselpriorit\xE4t gefunden werden"}},"yaml-timestamp":{name:"YAML-Zeitstempel",description:"Verfolgen Sie das Datum, an dem die Datei zuletzt bearbeitet wurde, in der YAML-Front. Ruft Datumsangaben aus Dateimetadaten ab.","date-created":{name:"Erstellungsdatum",description:"Der YAML-Schl\xFCssel, der f\xFCr das Erstellungsdatum verwendet werden soll"},"date-created-key":{name:"Erstellungsdatum des Schl\xFCssels",description:"Welcher YAML-Schl\xFCssel soll f\xFCr das Erstellungsdatum verwendet werden"},"force-retention-of-create-value":{name:"Erstellungsdatum erzwingen Schl\xFCsselwertaufbewahrung",description:"Verwendet den Wert in der YAML-Frontmaterie f\xFCr das Erstellungsdatum anstelle der Dateimetadaten, was n\xFCtzlich ist, um zu verhindern, dass \xC4nderungen an Dateimetadaten dazu f\xFChren, dass der Wert in einen anderen Wert ge\xE4ndert wird."},"date-modified":{name:"\xC4nderungsdatum",description:"Geben Sie das Datum ein, an dem die Datei zuletzt ge\xE4ndert wurde"},"date-modified-key":{name:"\xC4nderungsdatum des Schl\xFCssels",description:"Der YAML-Schl\xFCssel, der f\xFCr das \xC4nderungsdatum verwendet werden soll"},format:{name:"Format",description:"Zu verwendendes Momentdatumsformat (siehe [Momentformatoptionen](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"YAML-Titel-Alias",description:"F\xFCgt den Titel der Datei in den Aliasabschnitt der YAML-Frontmaterie ein. Ruft den Titel aus dem ersten H1- oder Dateinamen ab.","preserve-existing-alias-section-style":{name:"Vorhandenes Alias-Abschnittsformat beibehalten",description:"Wenn diese Option festgelegt ist, gilt die Einstellung `YAML-Aliase-Abschnittsstil` nur f\xFCr die neu erstellten Abschnitte"},"keep-alias-that-matches-the-filename":{name:"Behalten Sie einen Alias bei, der mit dem Dateinamen \xFCbereinstimmt",description:"Solche Aliase sind in der Regel redundant"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Verwenden Sie den YAML-Schl\xFCssel `linter-yaml-title-alias`, um bei \xC4nderungen von Dateinamen und \xDCberschriften zu helfen",description:"Wenn sich die erste H1-\xDCberschrift \xE4ndert oder der Dateiname ge\xE4ndert wird, wenn der erste H1 nicht vorhanden ist, wird der alte Alias, der in diesem Schl\xFCssel gespeichert ist, durch den neuen Wert ersetzt, anstatt nur einen neuen Eintrag in das Alias-Array einzuf\xFCgen"}},"yaml-title":{name:"YAML-Titel",description:"F\xFCgt den Titel der Datei in das YAML-Frontmatter ein. Ruft den Titel basierend auf dem ausgew\xE4hlten Modus ab.","title-key":{name:"Titel-Schl\xFCssel",description:"Der YAML-Schl\xFCssel, der f\xFCr den Titel verwendet werden soll"},mode:{name:"Modus",description:"Die zum Abrufen des Titels zu verwendende Methode"}}},enums:{"Title Case":"Titel Gro\xDF- und Kleinschreibung","ALL CAPS":"GROSSBUCHSTABEN","First letter":"Anfangsbuchstabe",".":".",")":")",ERROR:"Fehler",TRACE:"Spur",DEBUG:"Debuggen",INFO:"Info",WARN:"Warnen",SILENT:"Leise",ascending:"aufsteigend",lazy:"lazy",Nothing:"Faul","Remove hashtag":"Hashtag entfernen","Remove whole tag":"Ganzes Tag entfernen",asterisk:"Sternchen",underscore:"unterstreichen",consistent:"folgerichtig","-":"-","*":"*","+":"+",space:"Raum","no space":"kein Platz",None:"Nichts","Ascending Alphabetical":"Aufsteigend Alphabetisch","Descending Alphabetical":"Absteigend Alphabetisch","multi-line":"mehrzeilig","single-line":"einzeilig","single string to single-line":"Single String zu Single-Line","single string to multi-line":"Single String zu Multi-Line","single string comma delimited":"Komma mit Trennzeichen f\xFCr eine Zeichenfolge","single string space delimited":"Einzelzeichenfolgenabstand durch Trennzeichen","single-line space delimited":"einzeiliger Abstand durch Trennzeichen","first-h1":"erste \xDCberschrift der Ebene 1","first-h1-or-filename-if-h1-missing":"Erste \xDCberschrift der Ebene 1 oder Dateiname, wenn die \xDCberschrift der Ebene 1 fehlt",filename:"Dateinamen","''":"''","\u2018\u2019":"\u2018\u2019",'""':'""',"\u201C\u201D":"\u201C\u201D"}};var so={commands:{"lint-file":{name:"Lint the current file","error-message":"Lint File Error in File"},"lint-file-unless-ignored":{name:"Lint the current file unless ignored"},"lint-all-files":{name:"Lint all files in the vault","error-message":"Lint All Files Error in File","success-message":"Linted all files","errors-message-singular":"Linted all files and there was 1 error.","errors-message-plural":"Linted all files and there were {NUM} errors.","start-message":"This will edit all of your files and may introduce errors.","submit-button-text":"Lint All","submit-button-notice-text":"Linting all files..."},"lint-all-files-in-folder":{name:"Lint all files in the current folder","start-message":"This will edit all of your files in {FOLDER_NAME} including files in its subfolders which may introduce errors.","submit-button-text":"Lint All Files in {FOLDER_NAME}","submit-button-notice-text":"Linting all files in {FOLDER_NAME}...","error-message":"Lint All Files in Folder Error in File","success-message":"Linted all {NUM} files in {FOLDER_NAME}.","message-singular":"Linted all {NUM} files in {FOLDER_NAME} and there was 1 error.","message-plural":"Linted all {FILE_COUNT} files in {FOLDER_NAME} and there were {ERROR_COUNT} error."},"paste-as-plain-text":{name:"Paste as Plain Text & without Modifications"},"lint-file-pop-up-menu-text":{name:"Lint file"},"lint-folder-pop-up-menu-text":{name:"Lint folder"}},logs:{"plugin-load":"Loading plugin","plugin-unload":"Unloading plugin","folder-lint":"Linting folder ","linter-run":"Running linter","paste-link-warning":"aborted paste lint as the clipboard content is a link and doing so will avoid conflicts with other plugins that modify pasting.","see-console":"See console for more details.","unknown-error":"An unknown error occurred during linting.","moment-locale-not-found":"Trying to switch Moment.js locale to {MOMENT_LOCALE}, got {CURRENT_LOCALE}","pre-rules":"rules before regular rules","post-rules":"rules after regular rules","rule-running":"rules running","custom-regex":"custom regex rules","running-custom-regex":"Running Custom Regex","running-custom-lint-command":"Running Custom Lint Commands","custom-lint-duplicate-warning":'You cannot run the same command ("{COMMAND_NAME}") as a custom lint rule twice.',"custom-lint-error-message":"Custom Lint Command","disabled-text":"is disabled","run-rule-text":"Running","timing-key-not-found":"timing key '{TIMING_KEY}' does not exist in the timing info list, so it was ignored","milliseconds-abbreviation":"ms","invalid-date-format-error":"The format of the created date '{DATE}' could not be parsed or determined so the created date was left alone in '{FILE_NAME}'","invalid-delimiter-error-message":"delimiter is only allowed to be a single character","missing-footnote-error-message":"Footnote '{FOOTNOTE}' has no corresponding footnote reference before the footnote contents and cannot be processed. Please make sure that all footnotes have a corresponding reference before the content of the footnote.","too-many-footnotes-error-message":"Footnote key '{FOOTNOTE_KEY}' has more than 1 footnote referencing it. Please update the footnotes so that there is only one footnote per footnote key.","wrapper-yaml-error":"error in the yaml: {ERROR_MESSAGE}","wrapper-unknown-error":"unknown error: {ERROR_MESSAGE}","uneven-amount-of-quotes":"The instances of the `{QUOTE}` quote in the file is not even, so we cannot convert straight quotes to smart quotes"},"notice-text":{"empty-clipboard":"There is no clipboard content.","characters-added":"characters added","characters-removed":"characters removed"},"linter-title":"Linter","empty-search-results-text":"No settings match search","warning-text":"Warning","file-backup-text":"Make sure you have backed up your files.",tabs:{names:{general:"General Settings",custom:"Custom Settings",yaml:"YAML Settings",heading:"Heading Settings",content:"Content Settings",footnote:"Footnote Settings",spacing:"Spacing Settings",paste:"Paste Settings",debug:"Debug Settings"},"default-search-bar-text":"Search all settings",general:{"lint-on-save":{name:"Lint on save",description:"Lint the file on manual save (when `Ctrl + S` is pressed or when `:w` is executed while using vim keybindings)"},"display-message":{name:"Display message on lint",description:"Display the number of characters changed after linting"},"folders-to-ignore":{name:"Folders to ignore",description:"Folders to ignore when linting all files or linting on save. Enter folder paths separated by newlines"},"override-locale":{name:"Override locale",description:"Set this if you want to use a locale different from the default"},"same-as-system-locale":"Same as system ({SYS_LOCALE})","yaml-aliases-section-style":{name:"YAML aliases section style",description:"The style of the YAML aliases section"},"yaml-tags-section-style":{name:"YAML tags section style",description:"The style of the YAML tags section"},"default-escape-character":{name:"Default Escape Character",description:"The default character to use to escape YAML values when a single quote and double quote are not present."},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"Remove Unnecessary Escape Characters when in Multi-Line Array Format",description:"Escape characters for multi-line YAML arrays don't need the same escaping as single-line arrays, so when in multi-line format remove extra escapes that are not necessary"},"number-of-dollar-signs-to-indicate-math-block":{name:"Number of Dollar Signs to Indicate Math Block",description:"The amount of dollar signs to consider the math content to be a math block instead of inline math"}},debug:{"log-level":{name:"Log Level",description:"The types of logs that will be allowed to be logged by the service. The default is ERROR."},"linter-config":{name:"Linter Config",description:"The contents of the data.json for the Linter as of the setting page loading"},"log-collection":{name:"Collect logs when linting on save and linting the current file",description:"Goes ahead and collects logs when you `Lint on save` and linting the current file. These logs can be helpful for debugging and create bug reports."},"linter-logs":{name:"Linter Logs",description:"The logs from the last `Lint on save` or the last lint current file run if enabled."}}},options:{"custom-command":{name:"Custom Commands",description:"Custom commands are Obsidian commands that get run after the linter is finished running its regular rules. This means that they do not run before the YAML timestamp logic runs, so they can cause YAML timestamp to be triggered on the next run of the linter. You may only select an Obsidian command once. **_Note that this currently only works on linting the current file._**",warning:"When selecting an option, make sure to select the option either by using the mouse or by hitting the enter key. Other selection methods may not work and only selections of an actual Obsidian command or an empty string will be saved.","add-input-button-text":"Add new command","command-search-placeholder-text":"Obsidian command","move-up-tooltip":"Move up","move-down-tooltip":"Move down","delete-tooltip":"Delete"},"custom-replace":{name:"Custom Regex Replacement",description:"Custom regex replacement can be used to replace anything that matches the find regex with the replacement value. The replace and find values will need to be valid regex values.",warning:"Use this with caution if you do not know regex. Also, please make sure that you do not use lookbehinds in your regex on iOS mobile as that will cause linting to fail since that is not supported on that platform.","add-input-button-text":"Add new regex replacement","regex-to-find-placeholder-text":"regex to find","flags-placeholder-text":"flags","regex-to-replace-placeholder-text":"regex to replace","move-up-tooltip":"Move up","move-down-tooltip":"Move down","delete-tooltip":"Delete"}},rules:{"auto-correct-common-misspellings":{name:"Auto-correct Common Misspellings",description:"Uses a dictionary of common misspellings to automatically convert them to their proper spellings. See [auto-correct map](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts) for the full list of auto-corrected words.","ignore-words":{name:"Ignore Words",description:"A comma separated list of lowercased words to ignore when auto-correcting"}},"add-blockquote-indentation-on-paste":{name:"Add Blockquote Indentation on Paste",description:"Adds blockquotes to all but the first line, when the cursor is in a blockquote/callout line during pasting"},"blockquote-style":{name:"Blockquote Style",description:"Makes sure the blockquote style is consistent.",style:{name:"Style",description:"The style used on blockquote indicators"}},"capitalize-headings":{name:"Capitalize Headings",description:"Headings should be formatted with capitalization",style:{name:"Style",description:"The style of capitalization to use"},"ignore-case-words":{name:"Ignore Cased Words",description:"Only apply title case style to words that are all lowercase"},"ignore-words":{name:"Ignore Words",description:"A comma separated list of words to ignore when capitalizing"},"lowercase-words":{name:"Lowercase Words",description:"A comma separated list of words to keep lowercase"}},"compact-yaml":{name:"Compact YAML",description:"Removes leading and trailing blank lines in the YAML front matter.","inner-new-lines":{name:"Inner New Lines",description:"Remove new lines that are not at the start or the end of the YAML"}},"consecutive-blank-lines":{name:"Consecutive blank lines",description:"There should be at most one consecutive blank line."},"convert-bullet-list-markers":{name:"Convert Bullet List Markers",description:"Converts common bullet list marker symbols to markdown list markers."},"convert-spaces-to-tabs":{name:"Convert Spaces to Tabs",description:"Converts leading spaces to tabs.",tabsize:{name:"Tabsize",description:"Number of spaces that will be converted to a tab"}},"emphasis-style":{name:"Emphasis Style",description:"Makes sure the emphasis style is consistent.",style:{name:"Style",description:"The style used to denote emphasized content"}},"empty-line-around-blockquotes":{name:"Empty Line Around Blockquotes",description:"Ensures that there is an empty line around blockquotes unless they start or end a document. **Note that an empty line is either one less level of nesting for blockquotes or a newline character.**"},"empty-line-around-code-fences":{name:"Empty Line Around Code Fences",description:"Ensures that there is an empty line around code fences unless they start or end a document."},"empty-line-around-math-blocks":{name:"Empty Line Around Math Blocks",description:"Ensures that there is an empty line around math blocks using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."},"empty-line-around-tables":{name:"Empty Line Around Tables",description:"Ensures that there is an empty line around github flavored tables unless they start or end a document."},"escape-yaml-special-characters":{name:"Escape YAML Special Characters",description:`Escapes colons with a space after them (: ), single quotes ('), and double quotes (") in YAML.`,"try-to-escape-single-line-arrays":{name:"Try to Escape Single Line Arrays",description:'Tries to escape array values assuming that an array starts with "[", ends with "]", and has items that are delimited by ",".'}},"file-name-heading":{name:"File Name Heading",description:"Inserts the file name as a H1 heading if no H1 heading exists."},"footnote-after-punctuation":{name:"Footnote after Punctuation",description:"Ensures that footnote references are placed after punctuation, not before."},"force-yaml-escape":{name:"Force YAML Escape",description:"Escapes the values for the specified YAML keys.","force-yaml-escape-keys":{name:"Force YAML Escape on Keys",description:"Uses the YAML escape character on the specified YAML keys separated by a new line character if it is not already escaped. Do not use on YAML arrays."}},"format-tags-in-yaml":{name:"Format Tags in YAML",description:"Remove Hashtags from tags in the YAML frontmatter, as they make the tags there invalid."},"format-yaml-array":{name:"Format Yaml Array",description:"Allows for the formatting of regular yaml arrays as either multi-line or single-line and `tags` and `aliases` are allowed to have some Obsidian specific yaml formats. Note that single string to single-line goes from a single string entry to a single-line array if more than 1 entry is present. The same is true for single string to multi-line except it becomes a multi-line array.","alias-key":{name:"Format yaml aliases section",description:"Turns on formatting for the yaml aliases section. You should not enable this option alongside the rule `YAML Title Alias` as they may not work well together or they may have different format styles selected causing unexpected results."},"tag-key":{name:"Format yaml tags section",description:"Turns on formatting for the yaml tags section."},"default-array-style":{name:"Default yaml array section style",description:"The style of other yaml arrays that are not `tags`, `aliases` or in `Force key values to be single-line arrays` and `Force key values to be multi-line arrays`"},"default-array-keys":{name:"Format yaml array sections",description:"Turns on formatting for regular yaml arrays"},"force-single-line-array-style":{name:"Force key values to be single-line arrays",description:"Forces the yaml array for the new line separated keys to be in single-line format (leave empty to disable this option)"},"force-multi-line-array-style":{name:"Force key values to be multi-line arrays",description:"Forces the yaml array for the new line separated keys to be in multi-line format (leave empty to disable this option)"}},"header-increment":{name:"Header Increment",description:"Heading levels should only increment by one level at a time","start-at-h2":{name:"Start Header Increment at Heading Level 2",description:"Makes heading level 2 the minimum heading level in a file for header increment and shifts all headings accordingly so they increment starting with a level 2 heading."}},"heading-blank-lines":{name:"Heading blank lines",description:"All headings have a blank line both before and after (except where the heading is at the beginning or end of the document).",bottom:{name:"Bottom",description:"Insert a blank line after headings"},"empty-line-after-yaml":{name:"Empty Line Between Yaml and Header",description:"Keep the empty line between the Yaml frontmatter and header"}},"headings-start-line":{name:"Headings Start Line",description:"Headings that do not start a line will have their preceding whitespace removed to make sure they get recognized as headers."},"insert-yaml-attributes":{name:"Insert YAML attributes",description:"Inserts the given YAML attributes into the YAML frontmatter. Put each attribute on a single line.","text-to-insert":{name:"Text to insert",description:"Text to insert into the YAML frontmatter"}},"line-break-at-document-end":{name:"Line Break at Document End",description:"Ensures that there is exactly one line break at the end of a document."},"move-footnotes-to-the-bottom":{name:"Move Footnotes to the bottom",description:"Move all footnotes to the bottom of the document."},"move-math-block-indicators-to-their-own-line":{name:"Move Math Block Indicators to Their Own Line",description:"Move all starting and ending math block indicators to their own lines using `Number of Dollar Signs to Indicate a Math Block` to determine how many dollar signs indicates a math block for single-line math."},"move-tags-to-yaml":{name:"Move Tags to Yaml",description:"Move all tags to Yaml frontmatter of the document.","how-to-handle-existing-tags":{name:"Body tag operation",description:"What to do with non-ignored tags in the body of the file once they have been moved to the frontmatter"},"tags-to-ignore":{name:"Tags to ignore",description:"The tags that will not be moved to the tags array or removed from the body content if `Remove the hashtag from tags in content body` is enabled. Each tag should be on a new line and without the `#`. **Make sure not to include the hashtag in the tag name.**"}},"no-bare-urls":{name:"No Bare URLs",description:"Encloses bare URLs with angle brackets except when enclosed in back ticks, square braces, or single or double quotes."},"ordered-list-style":{name:"Ordered List Style",description:"Makes sure that ordered lists follow the style specified. Note that 2 spaces or 1 tab is considered to be an indentation level.","number-style":{name:"Number Style",description:"The number style used in ordered list indicators"},"list-end-style":{name:"Ordered List Indicator End Style",description:"The ending character of an ordered list indicator"}},"paragraph-blank-lines":{name:"Paragraph blank lines",description:"All paragraphs should have exactly one blank line both before and after."},"prevent-double-checklist-indicator-on-paste":{name:"Prevent Double Checklist Indicator on Paste",description:"Removes starting checklist indicator from the text to paste if the line the cursor is on in the file has a checklist indicator"},"prevent-double-list-item-indicator-on-paste":{name:"Prevent Double List Item Indicator on Paste",description:"Removes starting list indicator from the text to paste if the line the cursor is on in the file has a list indicator"},"proper-ellipsis-on-paste":{name:"Proper Ellipsis on Paste",description:"Replaces three consecutive dots with an ellipsis even if they have a space between them in the text to paste"},"proper-ellipsis":{name:"Proper Ellipsis",description:"Replaces three consecutive dots with an ellipsis."},"quote-style":{name:"Quote Style",description:"Updates the quotes in the body content to be updated to the specified single and double quote styles.","single-quote-enabled":{name:"Enable `Single Quote Style`",description:"Specifies that the selected single quote style should be used."},"single-quote-style":{name:"Single Quote Style",description:"The style of single quotes to use."},"double-quote-enabled":{name:"Enable `Double Quote Style`",description:"Specifies that the selected double quote style should be used."},"double-quote-style":{name:"Double Quote Style",description:"The style of double quotes to use."}},"re-index-footnotes":{name:"Re-Index Footnotes",description:"Re-indexes footnote keys and footnote, based on the order of occurrence (NOTE: This rule does *not* work if there is more than one footnote for a key.)"},"remove-consecutive-list-markers":{name:"Remove Consecutive List Markers",description:"Removes consecutive list markers. Useful when copy-pasting list items."},"remove-empty-lines-between-list-markers-and-checklists":{name:"Remove Empty Lines Between List Markers and Checklists",description:"There should not be any empty lines between list markers and checklists."},"remove-empty-list-markers":{name:"Remove Empty List Markers",description:"Removes empty list markers, i.e. list items without content."},"remove-hyphenated-line-breaks":{name:"Remove Hyphenated Line Breaks",description:"Removes hyphenated line breaks. Useful when pasting text from textbooks."},"remove-hyphens-on-paste":{name:"Remove Hyphens on Paste",description:"Removes hyphens from the text to paste"},"remove-leading-or-trailing-whitespace-on-paste":{name:"Remove Leading or Trailing Whitespace on Paste",description:"Removes any leading non-tab whitespace and all trailing whitespace for the text to paste"},"remove-leftover-footnotes-from-quote-on-paste":{name:"Remove Leftover Footnotes from Quote on Paste",description:"Removes any leftover footnote references for the text to paste"},"remove-link-spacing":{name:"Remove link spacing",description:"Removes spacing around link text."},"remove-multiple-blank-lines-on-paste":{name:"Remove Multiple Blank Lines on Paste",description:"Condenses multiple blank lines down into one blank line for the text to paste"},"remove-multiple-spaces":{name:"Remove Multiple Spaces",description:"Removes two or more consecutive spaces. Ignores spaces at the beginning and ending of the line. "},"remove-space-around-characters":{name:"Remove Space around Characters",description:"Ensures that certain characters are not surrounded by whitespace (either single spaces or a tab). Note that this may causes issues with markdown format in some cases.","include-fullwidth-forms":{name:"Include Fullwidth Forms",description:'Include Fullwidth Forms Unicode block'},"include-cjk-symbols-and-punctuation":{name:"Include CJK Symbols and Punctuation",description:'Include CJK Symbols and Punctuation Unicode block'},"include-dashes":{name:"Include Dashes",description:"Include en dash (\u2013) and em dash (\u2014)"},"other-symbols":{name:"Other symbols",description:"Other symbols to include"}},"remove-space-before-or-after-characters":{name:"Remove Space Before or After Characters",description:"Removes space before the specified characters and after the specified characters. Note that this may causes issues with markdown format in some cases.","characters-to-remove-space-before":{name:"Remove Space Before Characters",description:"Removes space before the specified characters. **Note: using `{` or `}` in the list of characters will unexpectedly affect files as it is used in the ignore syntax behind the scenes.**"},"characters-to-remove-space-after":{name:"Remove Space After Characters",description:"Removes space after the specified characters. **Note: using `{` or `}` in the list of characters will unexpectedly affect files as it is used in the ignore syntax behind the scenes.**"}},"remove-trailing-punctuation-in-heading":{name:"Remove Trailing Punctuation in Heading",description:"Removes the specified punctuation from the end of headings making sure to ignore the semicolon at the end of [HTML entity references](https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references).","punctuation-to-remove":{name:"Trailing Punctuation",description:"The trailing punctuation to remove from the headings in the file."}},"remove-yaml-keys":{name:"Remove YAML Keys",description:"Removes the YAML keys specified","yaml-keys-to-remove":{name:"YAML Keys to Remove",description:"The yaml keys to remove from the yaml frontmatter with or without colons"}},"space-after-list-markers":{name:"Space after list markers",description:"There should be a single space after list markers and checkboxes."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Space between Chinese Japanese or Korean and English or numbers",description:"Ensures that Chinese, Japanese, or Korean and English or numbers are separated by a single space. Follows these [guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Strong Style",description:"Makes sure the strong style is consistent.",style:{name:"Style",description:"The style used to denote strong/bolded content"}},"trailing-spaces":{name:"Trailing spaces",description:"Removes extra spaces after every line.","twp-space-line-break":{name:"Two Space Linebreak",description:'Ignore two spaces followed by a line break ("Two Space Rule").'}},"two-spaces-between-lines-with-content":{name:"Two Spaces Between Lines with Content",description:"Makes sure that two spaces are added to the ends of lines with content continued on the next line for paragraphs, blockquotes, and list items"},"unordered-list-style":{name:"Unordered List Style",description:"Makes sure that unordered lists follow the style specified.","list-style":{name:"List item style",description:"The list item style to use in unordered lists"}},"yaml-key-sort":{name:"YAML Key Sort",description:"Sorts the YAML keys based on the order and priority specified. Note: may remove blank lines as well.","yaml-key-priority-sort-order":{name:"YAML Key Priority Sort Order",description:"The order in which to sort keys with one on each line where it sorts in the order found in the list"},"priority-keys-at-start-of-yaml":{name:"Priority Keys at Start of YAML",description:"YAML Key Priority Sort Order is placed at the start of the YAML frontmatter"},"yaml-sort-order-for-other-keys":{name:"YAML Sort Order for Other Keys",description:"The way in which to sort the keys that are not found in the YAML Key Priority Sort Order text area"}},"yaml-timestamp":{name:"YAML Timestamp",description:"Keep track of the date the file was last edited in the YAML front matter. Gets dates from file metadata.","date-created":{name:"Date Created",description:"Insert the file creation date"},"date-created-key":{name:"Date Created Key",description:"Which YAML key to use for creation date"},"force-retention-of-create-value":{name:"Force Date Created Key Value Retention",description:"Reuses the value in the YAML frontmatter for date created instead of the file metadata which is useful for preventing file metadata changes from causing the value to change to a different value."},"date-modified":{name:"Date Modified",description:"Insert the date the file was last modified"},"date-modified-key":{name:"Date Modified Key",description:"Which YAML key to use for modification date"},format:{name:"Format",description:"Moment date format to use (see [Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"YAML Title Alias",description:"Inserts the title of the file into the YAML frontmatter's aliases section. Gets the title from the first H1 or filename.","preserve-existing-alias-section-style":{name:"Preserve existing aliases section style",description:"If set, the `YAML aliases section style` setting applies only to the newly created sections"},"keep-alias-that-matches-the-filename":{name:"Keep alias that matches the filename",description:"Such aliases are usually redundant"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Use the YAML key `linter-yaml-title-alias` to help with filename and heading changes",description:"If set, when the first H1 heading changes or filename if first H1 is not present changes, then the old alias stored in this key will be replaced with the new value instead of just inserting a new entry in the aliases array"}},"yaml-title":{name:"YAML Title",description:"Inserts the title of the file into the YAML frontmatter. Gets the title based on the selected mode.","title-key":{name:"Title Key",description:"Which YAML key to use for title"},mode:{name:"Mode",description:"The method to use to get the title"}}},enums:{"Title Case":"Title Case","ALL CAPS":"ALL CAPS","First letter":"First letter",".":".",")":")",ERROR:"error",TRACE:"trace",DEBUG:"debug",INFO:"info",WARN:"warn",SILENT:"silent",ascending:"ascending",lazy:"lazy",Nothing:"Nothing","Remove hashtag":"Remove hashtag","Remove whole tag":"Remove whole tag",asterisk:"asterisk",underscore:"underscore",consistent:"consistent","-":"-","*":"*","+":"+",space:"space","no space":"no space",None:"None","Ascending Alphabetical":"Ascending Alphabetical","Descending Alphabetical":"Descending Alphabetical","multi-line":"multi-line","single-line":"single-line","single string to single-line":"single string to single-line","single string to multi-line":"single string to multi-line","single string comma delimited":"single string comma delimited","single string space delimited":"single string space delimited","single-line space delimited":"single-line space delimited","first-h1":"First H1","first-h1-or-filename-if-h1-missing":"First H1 or Filename if H1 is Missing",filename:"Filename","''":"''","\u2018\u2019":"\u2018\u2019",'""':'""',"\u201C\u201D":"\u201C\u201D"}};var _c={commands:{"lint-file":{name:"Analizar este archivo","error-message":"Error Analizando un Archivooccuri\xF3 en el Archivo"},"lint-file-unless-ignored":{name:"Analizar este archivo si no es ignorado"},"lint-all-files":{name:"Analizar todos los archivos en la b\xF3veda","error-message":"Error Analizando Todos los Archivos en Archivo","success-message":"Analiz\xF3 todos los archivos","errors-message-singular":"Analiz\xF3 todos los archivos y un error ocurri\xF3.","errors-message-plural":"Analiz\xF3 todos los archivos y {NUM} errores ocurrieron","start-message":"Esto editar\xE1 todos de sus archivos y es possible que introduzca errores","submit-button-text":"Analizar Todo","submit-button-notice-text":"Analizando todos los archivos..."},"lint-all-files-in-folder":{name:"Analizar todos los archivos en esta carpeta","start-message":"Esto editar\xE1 todos de sus archivos en {FOLDER_NAME} incluyendo los archivos que existen en las subcarpetas y es possible que introduzca errores.","submit-button-text":"Analizar Todos los Archivos en {FOLDER_NAME}","submit-button-notice-text":"Analizando todos los archivos en {FOLDER_NAME}...","error-message":"Error Analizando Todos los Archivos en Carpeta en Archivo","success-message":"Analiz\xF3 los {NUM} archivos en {FOLDER_NAME}.","message-singular":"Analiz\xF3 los {NUM} archivos en {FOLDER_NAME} y un error ocurri\xF3.","message-plural":"Analiz\xF3 los {FILE_COUNT} archivos en {FOLDER_NAME} y {ERROR_COUNT} errores ocurrieron."},"paste-as-plain-text":{name:"Pegar como texto sin formato y sin modificaciones"},"lint-file-pop-up-menu-text":{name:"Analizar el archivo"},"lint-folder-pop-up-menu-text":{name:"Analizar la carpeta"}},logs:{"plugin-load":"Cargando el programa adicional","plugin-unload":"Descargando el programa adicional","folder-lint":"Analizando la carpeta ","linter-run":"Usando linter","paste-link-warning":"abort\xF3 lint de pagar porque el contento del portapapeles es un enlace y no lo hizo para evitar conflictos con otros programas adicionales que modifican lo que hace el pegar.","see-console":"Consulte la consola para obtener m\xE1s detalles.","unknown-error":"Se ha producido un error desconocido durante el linting.","moment-locale-not-found":"Intentando cambiar la zona de Moment.js a {MOMENT_LOCALE}, el resulto fue {CURRENT_LOCALE}","pre-rules":"Las reglas antes de las reglas normales","post-rules":"las reglas despu\xE9s de las reglas normales","rule-running":"usando las reglas","custom-regex":"las reglas regex personalizadas","running-custom-regex":"Usando regex personalizada","running-custom-lint-command":"Usando comandos de lint personalizados","custom-lint-duplicate-warning":'No se puede usar el mismo comando ("{COMMAND_NAME}") dos veces como un comando de lint.',"custom-lint-error-message":"El commando de lint personalizado","disabled-text":"es inhabilitado","run-rule-text":"Usando","timing-key-not-found":"clave de ritmo '{TIMING_KEY}' no ya existe en la lista de claves de ritmo y fue ignorado por eso","milliseconds-abbreviation":"ms","invalid-date-format-error":"No se pudo analizar ni identificar el formato de la fech de creaci\xF3n `{DATE}` entonces la fecha de creaci\xF3n se dej\xF3 sola en `{FILE_NAME}`","invalid-delimiter-error-message":"El delimitador solo puede ser de un solo car\xE1cter","missing-footnote-error-message":"La nota al pie `{FOOTNOTE}` no tiene ninguna referencia de nota al pie correspondiente antes del contenido de la nota al pie y no se puede procesar. Aseg\xFArese de que todas las notas a pie de p\xE1gina tengan una referencia correspondiente antes del contenido de la nota al pie de p\xE1gina.","too-many-footnotes-error-message":"La clave de nota al pie '{FOOTNOTE_KEY}' tiene m\xE1s de 1 nota al pie que hace referencia a ella. Actualice las notas al pie para que solo haya una nota al pie por clave de nota al pie.","wrapper-yaml-error":"hubo un error en el yaml: {ERROR_MESSAGE}","wrapper-unknown-error":"huno un error desconocido: {ERROR_MESSAGE}","uneven-amount-of-quotes":"Las instancias de la cita `{QUOTE}` en el archivo no son pares, por lo que no podemos convertir las comillas rectas en comillas tipogr\xE1ficas."},"notice-text":{"empty-clipboard":"No hay contenido del portapapeles.","characters-added":"Caracteres a\xF1adidos","characters-removed":"Caracteres eliminados"},"linter-title":"Linter","empty-search-results-text":"No hay configuraci\xF3n que coincida con la b\xFAsqueda","warning-text":"Advertencia","file-backup-text":"Aseg\xFArese de haber realizado una copia de seguridad de sus archivos.",tabs:{names:{general:"Ajustes generales",custom:"Ajustes personalizados",yaml:"Ajustes de YAML",heading:"Ajustes del encabezado",content:"Ajustes del contenido",footnote:"Ajustes de notas al pie",spacing:"Ajustes del espacio en blanco",paste:"Ajustes de pegar",debug:"Ajustes de depurar"},"default-search-bar-text":"Buscar en todos los ajustes",general:{"lint-on-save":{name:"Analizar en guardar",description:"Analizar el archivo en el guardado manual (cuando se presiona `Ctrl + S` o cuando se ejecuta `:w` mientras se usan combinaciones de claves de vim)"},"display-message":{name:"Mostrar mensaje en analizar",description:"Mostrar el n\xFAmero de caracteres modificados despu\xE9s de analizar"},"folders-to-ignore":{name:"Carpetas para omitir",description:"Carpetas que se deben omitir al analizar todos los archivos o al guardar en l\xEDnea. Introducir rutas de carpeta separadas por nuevas l\xEDneas"},"override-locale":{name:"Anular configuraci\xF3n regional",description:"Establezca esta opci\xF3n si desea utilizar una configuraci\xF3n regional diferente de la predeterminada"},"same-as-system-locale":"Igual que el sistema ({SYS_LOCALE})","yaml-aliases-section-style":{name:"Estilo de secci\xF3n de alias de YAML",description:"El estilo de la secci\xF3n de alias de YAML"},"yaml-tags-section-style":{name:"Estilo de secci\xF3n de etiquetas de YAML",description:"El estilo de la secci\xF3n de etiquetas de YAML"},"default-escape-character":{name:"Car\xE1cter de escape predeterminado",description:"El car\xE1cter predeterminado que se va a usar para escapar de los valores YAML cuando no hay comillas simples y comillas dobles."},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"Eliminaci\xF3n de caracteres de escape innecesarios cuando est\xE1 en formato de matriz multil\xEDnea",description:"Los caracteres de escape para matrices de YAML multil\xEDnea no necesitan el mismo escape que las matrices de una sola l\xEDnea, por lo que cuando est\xE1n en formato multil\xEDnea, elimine los escapes adicionales que no son necesarios"},"number-of-dollar-signs-to-indicate-math-block":{name:"N\xFAmero de signos de d\xF3lar para indicar el bloque matem\xE1tico",description:"La cantidad de signos de d\xF3lar para considerar el contenido matem\xE1tico como un bloque matem\xE1tico en lugar de matem\xE1ticas en l\xEDnea"}},debug:{"log-level":{name:"Nivel de registro",description:"Los tipos de registros que el servicio permitir\xE1 registrar. El valor predeterminado es error."},"linter-config":{name:"Configuraci\xF3n de Linter",description:"El contenido del archivo data.json para Linter a partir de la carga de la p\xE1gina de configuraci\xF3n"},"log-collection":{name:"Recopilar registros al activar y desactivar el archivo actual",description:"Contin\xFAa y recopila registros cuando `Analizar en guardar` y analizar el archivo actual. Estos registros pueden ser \xFAtiles para depurar y crear informes de errores."},"linter-logs":{name:"Registros de Linter",description:"Los registros del \xFAltimo `Analizar en guardar` o del \xFAltimo archivo actual de analizar se ejecutan si est\xE1n habilitados."}}},options:{"custom-command":{name:"Comandos personalizados",description:"Los comandos personalizados son comandos de Obsidian que se ejecutan despu\xE9s de que Linter termina de ejecutar sus reglas regulares. Esto significa que no se ejecutan antes de que se ejecute la l\xF3gica de marca de tiempo YAML, por lo que pueden hacer que la marca de tiempo de YAML se active en la siguiente ejecuci\xF3n del Linter. Solo puede seleccionar un comando de Obsidian una vez. **_Note que esto actualmente solo funciona para analizar el archivo actual._**",warning:"Al seleccionar una opci\xF3n, aseg\xFArese de seleccionar la opci\xF3n usando el rat\xF3n o presionando la clave Intro. Es posible que otros m\xE9todos de selecci\xF3n no funcionen y solo se guardar\xE1n las selecciones de un comando de Obsidian real o una cadena vac\xEDa.","add-input-button-text":"Agregar nuevo comando","command-search-placeholder-text":"Comando de Obsidian","move-up-tooltip":"Desplazar hacia arriba","move-down-tooltip":"Desplazar hacia abajo","delete-tooltip":"Borrar"},"custom-replace":{name:"Reemplazo regex personalizado",description:"El reemplazo de regex personalizado se puede usar para reemplazar cualquier cosa que coincida con el valor de b\xFAsqueda de regex con el valor de reemplazo. Los valores de reemplazo y b\xFAsqueda deber\xE1n ser valores regex v\xE1lidos.",warning:"Use esto con precauci\xF3n si no conoce regex. Adem\xE1s, aseg\xFArese de no usar lookbehinds en su regex en dispositivos m\xF3viles iOS, ya que eso har\xE1 que falle analizar ya que no es compatible con esa plataforma.","add-input-button-text":"Agregar nuevo reemplazo de regex","regex-to-find-placeholder-text":"Regex para encontrar","flags-placeholder-text":"Marcas","regex-to-replace-placeholder-text":"Regex para reemplazar","move-up-tooltip":"Desplazar hacia arriba","move-down-tooltip":"Desplazar hacia abajo","delete-tooltip":"Borrar"}},rules:{"auto-correct-common-misspellings":{name:"Correcci\xF3n autom\xE1tica de errores ortogr\xE1ficos comunes",description:"Utiliza un diccionario de errores ortogr\xE1ficos comunes para convertirlos autom\xE1ticamente a su ortograf\xEDa correcta. Consulte [mapa de autocorrecci\xF3n](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts) para obtener la lista completa de palabras corregidas autom\xE1ticamente.","ignore-words":{name:"Ignorar palabras",description:"Una lista separada por comas de palabras en min\xFAsculas para ignorar al corregir autom\xE1ticamente"}},"add-blockquote-indentation-on-paste":{name:"Agregar sangr\xEDa de blockquote en pegar",description:"Agrega blockquotes a todas menos a la primera l\xEDnea, cuando el cursor est\xE1 en una l\xEDnea blockquote/callout durante el pegado"},"blockquote-style":{name:"Estilo de cotizaci\xF3n en bloque",description:"Se asegura de que el estilo de la cita en bloque sea consistente.",style:{name:"Estilo",description:"El estilo utilizado en los indicadores de cotizaci\xF3n en bloque"}},"capitalize-headings":{name:"Poner may\xFAsculas en los encabezados",description:"Los encabezados deben estar formateados con may\xFAsculas",style:{name:"Estilo",description:"El estilo de may\xFAsculas que se va a utilizar"},"ignore-case-words":{name:"Ignorar palabras en may\xFAsculas y min\xFAsculas",description:"Solo aplique el estilo de may\xFAsculas y min\xFAsculas a las palabras que est\xE9n todas en min\xFAsculas"},"ignore-words":{name:"Ignorar palabras",description:"Una lista de palabras separadas por comas para ignorar al poner en may\xFAsculas"},"lowercase-words":{name:"Palabras en min\xFAsculas",description:"Una lista de palabras separadas por comas para mantener min\xFAsculas"}},"compact-yaml":{name:"YAML compacto",description:"Elimina las l\xEDneas en blanco iniciales y finales en la materia frontal de YAML.","inner-new-lines":{name:"Nuevas l\xEDneas internas",description:"Quitar nuevas l\xEDneas que no est\xE9n al principio o al final del YAML"}},"consecutive-blank-lines":{name:"L\xEDneas en blanco consecutivas",description:"Debe haber como m\xE1ximo una l\xEDnea en blanco consecutiva."},"convert-bullet-list-markers":{name:"Convertir marcadores de lista de vi\xF1etas",description:"Convierte s\xEDmbolos de marcador de lista de vi\xF1etas comunes en marcadores de lista de rebajas."},"convert-spaces-to-tabs":{name:"Convertir espacios en pesta\xF1as",description:"Convierte los espacios iniciales en pesta\xF1as.",tabsize:{name:"Tama\xF1o de la pesta\xF1a",description:"N\xFAmero de espacios que se convertir\xE1n en una pesta\xF1a"}},"emphasis-style":{name:"Estilo de \xE9nfasis",description:"Se asegura de que el estilo de \xE9nfasis sea consistente.",style:{name:"Estilo",description:"El estilo utilizado para denotar el contenido enfatizado"}},"empty-line-around-blockquotes":{name:"L\xEDnea vac\xEDa alrededor de blockquotes",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de blockquotes a menos que inicien o finalicen un documento. **Tenga en cuenta que una l\xEDnea vac\xEDa es un nivel menos de anidamiento para blockquotes o un car\xE1cter de nueva l\xEDnea.**"},"empty-line-around-code-fences":{name:"L\xEDnea vac\xEDa alrededor de las vallas de c\xF3digo",description:"Garantiza que haya una l\xEDnea vac\xEDa alrededor de las vallas de c\xF3digo a menos que inicien o finalicen un documento."},"empty-line-around-math-blocks":{name:"L\xEDnea vac\xEDa alrededor de los bloques matem\xE1ticos",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de los bloques matem\xE1ticos usando `N\xFAmero de signos de d\xF3lar para indicar un bloque matem\xE1tico` para determinar cu\xE1ntos signos de d\xF3lar indica un bloque matem\xE1tico para matem\xE1ticas de una sola l\xEDnea."},"empty-line-around-tables":{name:"L\xEDnea vac\xEDa alrededor de las tablas",description:"Asegura que haya una l\xEDnea vac\xEDa alrededor de las tablas con sabor a github a menos que inicien o finalicen un documento."},"escape-yaml-special-characters":{name:"Evitar los caracteres especiales de YAML",description:`Escapa dos puntos con un espacio despu\xE9s de ellos (:), comillas simples (') y comillas dobles (") en YAML.`,"try-to-escape-single-line-arrays":{name:"Intente escapar las matrices de una sola l\xEDnea",description:'Intenta escapar de los valores de matriz suponiendo que una matriz comienza con "[", termina con "]" y tiene elementos que est\xE1n delimitados por ",".'}},"file-name-heading":{name:"Encabezado de nombre de archivo",description:"Inserta el nombre de archivo como un encabezado H1 si no existe ning\xFAn encabezado H1."},"footnote-after-punctuation":{name:"Nota al pie despu\xE9s de la puntuaci\xF3n",description:"Asegura que las referencias de notas al pie se coloquen despu\xE9s de la puntuaci\xF3n, no antes."},"force-yaml-escape":{name:"Forzar escape de YAML",description:"Escapa los valores de las claves YAML especificadas.","force-yaml-escape-keys":{name:"Forzar escape de YAML en las claves",description:"Utiliza el car\xE1cter de escape de YAML en las claves de YAML especificadas separadas por un nuevo car\xE1cter de l\xEDnea si a\xFAn no est\xE1 escapado. No lo use en matrices de YAML."}},"format-tags-in-yaml":{name:"Dar formato a las etiquetas de formato en YAML",description:"Elimine los hashtags de las etiquetas en el frontmatter del YAML, ya que hacen que las etiquetas no sean v\xE1lidas."},"format-yaml-array":{name:"Dar formato a las matrices de YAML",description:"Permite el formato de matrices regulares de YAML como multil\xEDnea o de una sola l\xEDnea y las `etiquetas` y `alias` pueden tener algunos formatos espec\xEDficos de YAML de Obsidian. Tenga en cuenta que una sola cadena a una sola l\xEDnea pasa de una sola entrada de cadena a una matriz de una sola l\xEDnea si hay m\xE1s de 1 entrada presente. Lo mismo es cierto para una sola cadena a multil\xEDnea, excepto que se convierte en una matriz multil\xEDnea.","alias-key":{name:"Dar formato a la secci\xF3n de alias de YAML",description:"Activa el formato para la secci\xF3n de alias yaml. No debe habilitar esta opci\xF3n junto con la regla `Alias de t\xEDtulo YAML`, ya que es posible que no funcionen bien juntos o que tengan diferentes estilos de formato seleccionados que causen resultados inesperados."},"tag-key":{name:"Dar formato a la secci\xF3n de etiquetas de YAML",description:"Activa el formato para la secci\xF3n de etiquetas de YAML."},"default-array-style":{name:"Estilo de secci\xF3n de matriz predeterminado de YAML",description:"El estilo de otras matrices de YAML que no son `etiquetas`, `alias` o en `Forzar valores de clave para que sean matrices de una sola l\xEDnea` y `Forzar valores de clave para que sean matrices multil\xEDnea`"},"default-array-keys":{name:"Dar formato a las secciones de matrices de YAML",description:"Activa el formato para matrices normales de YAML"},"force-single-line-array-style":{name:"Forzar que los valores de clave sean matrices de una sola l\xEDnea",description:"Fuerza la matriz de YAML para que las nuevas claves separadas por l\xEDnea est\xE9n en formato de una sola l\xEDnea (deje vac\xEDo para deshabilitar esta opci\xF3n)"},"force-multi-line-array-style":{name:"Forzar que los valores de las claves sean matrices multil\xEDneas",description:"Fuerza la matriz de YAML para que las nuevas claves separadas por l\xEDnea est\xE9n en formato multil\xEDnea (deje vac\xEDa para deshabilitar esta opci\xF3n)"}},"header-increment":{name:"Incremento de encabezado",description:"Los niveles de encabezado solo deben aumentar en un nivel a la vez","start-at-h2":{name:"Iniciar el incremento de encabezado en el nivel de encabezado 2",description:"Hace que el nivel de encabezado 2 sea el nivel de t\xEDtulo m\xEDnimo en un archivo para el incremento de encabezado y desplaza todos los encabezados en consecuencia para que se incrementen a partir de un encabezado de nivel 2."}},"heading-blank-lines":{name:"L\xEDneas en blanco de encabezado",description:"Todos los encabezados tienen una l\xEDnea en blanco antes y despu\xE9s (excepto cuando el encabezado est\xE1 al principio o al final del documento).",bottom:{name:"Abajo",description:"Insertar una l\xEDnea en blanco despu\xE9s de los encabezados"},"empty-line-after-yaml":{name:"L\xEDnea vac\xEDa entre el YAML y el encabezado",description:"Mantenga la l\xEDnea vac\xEDa entre el frontmatter del YAML y el encabezado"}},"headings-start-line":{name:"Comenzar los encabezados al principio de la l\xEDnea",description:"Los encabezados que no inician una l\xEDnea tendr\xE1n su espacio en blanco anterior eliminado para asegurarse de que se reconozcan como encabezados."},"insert-yaml-attributes":{name:"Insertar atributos de YAML",description:"Inserta los atributos especificados de YAML en el frontmatter del YAML. Coloque cada atributo en una sola l\xEDnea.","text-to-insert":{name:"Texto a insertar",description:"Texto para insertar en el frontmatter del YAML"}},"line-break-at-document-end":{name:"Salto de l\xEDnea al final del documento",description:"Asegura que haya exactamente un salto de l\xEDnea al final de un documento."},"move-footnotes-to-the-bottom":{name:"Mover las notas al pie a la parte inferior",description:"Mueva todas las notas al pie de p\xE1gina a la parte inferior del documento."},"move-math-block-indicators-to-their-own-line":{name:"Mover los indicadores de bloques matem\xE1ticos a su propia l\xEDnea",description:"Mueva todos los indicadores de bloques matem\xE1ticos iniciales y finales a sus propias l\xEDneas usando `N\xFAmero de signos de d\xF3lar para indicar un bloque matem\xE1tico` para determinar cu\xE1ntos signos de d\xF3lar indica un bloque matem\xE1tico para matem\xE1ticas de una sola l\xEDnea."},"move-tags-to-yaml":{name:"Mover etiquetas a YAML",description:"Mueva todas las etiquetas al frontmatter del YAML del documento.","how-to-handle-existing-tags":{name:"Operaci\xF3n de etiqueta corporal",description:"Lo qur se debe hacer con las etiquetas no ignoradas en el cuerpo del archivo una vez que se han movido al frontmatter"},"tags-to-ignore":{name:"Etiquetas para omitir",description:"Las etiquetas que no se mover\xE1n a la matriz de etiquetas ni se eliminar\xE1n del contenido del cuerpo si est\xE1 habilitado `Eliminar el hashtag de las etiquetas en el cuerpo del contenido`. Cada etiqueta debe estar en una nueva l\xEDnea y sin el `#`. **Aseg\xFArese de no incluir el hashtag en el nombre de la etiqueta.**"}},"no-bare-urls":{name:"Sin URL desnuda",description:"Encierra las direcciones URL desnudas con corchetes angulares, excepto cuando est\xE1n encerradas en marcas traseras, llaves cuadradas o comillas simples o dobles."},"ordered-list-style":{name:"Estilo de lista ordenada",description:"Se asegura de que las listas ordenadas siguen el estilo especificado. Tenga en cuenta que 2 espacios o 1 tabulaci\xF3n se considera un nivel de sangr\xEDa.","number-style":{name:"Estilo num\xE9rico",description:"El estilo num\xE9rico utilizado en los indicadores de lista ordenada"},"list-end-style":{name:"Estilo final del indicador de lista ordenada",description:"El car\xE1cter final de un indicador de lista ordenada"}},"paragraph-blank-lines":{name:"L\xEDneas en blanco del p\xE1rrafo",description:"Todos los p\xE1rrafos deben tener exactamente una l\xEDnea en blanco antes y despu\xE9s."},"prevent-double-checklist-indicator-on-paste":{name:"Evitar el indicador de doble lista de verificaci\xF3n en pegar",description:"Elimina el indicador de lista de verificaci\xF3n inicial del texto para pegar si la l\xEDnea en la que se encuentra el cursor en el archivo tiene un indicador de lista de verificaci\xF3n"},"prevent-double-list-item-indicator-on-paste":{name:"Prevenir el indicador de elemento de lista doble al pegar",description:"Elimina el indicador de lista inicial del texto para pegar si la l\xEDnea en la que se encuentra el cursor en el archivo tiene un indicador de lista"},"proper-ellipsis-on-paste":{name:"Puntos suspensivos adecuados al pegar",description:"Reemplaza tres puntos consecutivos por puntos suspensivos aunque tengan un espacio entre ellos en el texto a pegar"},"proper-ellipsis":{name:"Puntos suspensivos propios",description:"Reemplaza tres puntos consecutivos con puntos suspensivos."},"quote-style":{name:"Estilo de cotizaci\xF3n",description:"Actualiza las comillas en el contenido del cuerpo para que se actualicen a los estilos de comillas simples y dobles especificados.","single-quote-enabled":{name:"Habilitar `Estilo de comillas simples`",description:"Especifica que se debe utilizar el estilo de comillas simples seleccionado."},"single-quote-style":{name:"Estilo de comillas simples",description:"El estilo de las comillas simples a utilizar."},"double-quote-enabled":{name:"Habilitar `Estilo de comillas dobles`",description:"Especifica que se debe utilizar el estilo de comillas dobles seleccionado."},"double-quote-style":{name:"Estilo de comillas dobles",description:"El estilo de comillas dobles a utilizar."}},"re-index-footnotes":{name:"Volver a indexar notas al pie",description:"Vuelve a indexar las notas al pie de p\xE1gina y las notas al pie, seg\xFAn el orden de aparici\xF3n (NOTA: esta regla *no* funciona si hay m\xE1s de una nota al pie para una clave)."},"remove-consecutive-list-markers":{name:"Eliminar marcadores de lista consecutiva",description:"Elimina marcadores de lista consecutivos. \xDAtil al copiar y pegar elementos de la lista."},"remove-empty-lines-between-list-markers-and-checklists":{name:"Eliminar l\xEDneas vac\xEDas entre marcadores de lista y listas de verificaci\xF3n",description:"No debe haber l\xEDneas vac\xEDas entre los marcadores de lista y las listas de verificaci\xF3n."},"remove-empty-list-markers":{name:"Eliminar marcadores de lista vac\xEDa",description:"Elimina marcadores de listas vac\xEDas, es decir, lista de elementos sin contenido."},"remove-hyphenated-line-breaks":{name:"Eliminar saltos de l\xEDnea con gui\xF3n",description:"Elimina los saltos de l\xEDnea con gui\xF3n. \xDAtil al pegar texto de libros de texto."},"remove-hyphens-on-paste":{name:"Eliminar guiones al pegar",description:"Elimina guiones del texto al pegar"},"remove-leading-or-trailing-whitespace-on-paste":{name:"Eliminar espacios en blanco iniciales o finales al pegar",description:"Elimina cualquier espacio en blanco inicial que no sea una pesta\xF1a y todos los espacios en blanco finales para que el texto se pegue"},"remove-leftover-footnotes-from-quote-on-paste":{name:"Eliminar las notas al pie sobrantes de la cita al pegar",description:"Elimina las referencias de notas al pie sobrantes para que el texto se pegue"},"remove-link-spacing":{name:"Quitar el espacio entre enlaces",description:"Elimina el espacio alrededor del texto del enlace."},"remove-multiple-blank-lines-on-paste":{name:"Eliminar varias l\xEDneas en blanco al pegar",description:"Condensa varias l\xEDneas en blanco en una l\xEDnea en blanco para que el texto se pegue"},"remove-multiple-spaces":{name:"Quitar varios espacios",description:"Elimina dos o m\xE1s espacios consecutivos. Ignora los espacios al principio y al final de la l\xEDnea."},"remove-space-around-characters":{name:"Quitar el espacio alrededor de los caracteres",description:"Garantiza que determinados caracteres no est\xE9n rodeados de espacios en blanco (ya sean espacios individuales o tabulaciones). Tenga en cuenta que esto puede causar problemas con el formato de descuento en algunos casos.","include-fullwidth-forms":{name:"Incluir formularios de ancho completo",description:'Incluir bloque Unicode de formularios de ancho completo'},"include-cjk-symbols-and-punctuation":{name:"Incluir s\xEDmbolos de CJK y puntuaci\xF3n",description:'Incluir Bloque Unicode de s\xEDmbolos y puntuaci\xF3n de CJK'},"include-dashes":{name:"Incluir guiones",description:"Incluir gui\xF3n corto (\u2013) y gui\xF3n largo (\u2014)"},"other-symbols":{name:"Otros s\xEDmbolos",description:"Otros s\xEDmbolos para incluir"}},"remove-space-before-or-after-characters":{name:"Quitar el espacio antes o despu\xE9s de los caracteres",description:"Elimina el espacio antes de los caracteres especificados y despu\xE9s de los caracteres especificados. Tenga en cuenta que esto puede causar problemas con el formato de descuento en algunos casos.","characters-to-remove-space-before":{name:"Eliminar espacio antes de los caracteres",description:"Elimina el espacio antes de los caracteres especificados. **Nota: el uso de `{` o `}` en la lista de caracteres afectar\xE1 inesperadamente a los archivos, ya que se usa en la sintaxis de ignorar en segundo plano.**"},"characters-to-remove-space-after":{name:"Eliminar espacio despu\xE9s de los caracteres",description:"Elimina el espacio despu\xE9s de los caracteres especificados. **Nota: el uso de `{` o `}` en la lista de caracteres afectar\xE1 inesperadamente a los archivos, ya que se usa en la sintaxis de ignorar en segundo plano.**"}},"remove-trailing-punctuation-in-heading":{name:"Eliminar la puntuaci\xF3n final en el encabezado",description:"Elimina la puntuaci\xF3n especificada al final de los encabezados, asegur\xE1ndose de ignorar el punto y coma al final de [referencias de entidades de HTML](https://es.wikipedia.org/wiki/Anexo:Referencias_a_entidades_de_caracteres_XML_y_HTML).","punctuation-to-remove":{name:"Puntuaci\xF3n final",description:"La puntuaci\xF3n final que se eliminar\xE1 de los encabezados del archivo."}},"remove-yaml-keys":{name:"Eliminar claves de YAML",description:"Elimina las claves especificadas de YAML","yaml-keys-to-remove":{name:"Claves de YAML para eliminar",description:"Las claves de YAML para eliminar del frontmatter del YAML con o sin dos puntos"}},"space-after-list-markers":{name:"Espacio despu\xE9s de los marcadores de lista",description:"Debe haber un solo espacio despu\xE9s de los marcadores de lista y las casillas de verificaci\xF3n."},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"Espacio entre chino japon\xE9s o coreano e ingl\xE9s o n\xFAmeros",description:"Garantiza que el chino, el japon\xE9s o el coreano y el ingl\xE9s o los n\xFAmeros est\xE9n separados por un solo espacio. Sigue estas [directrices](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"Estilo fuerte",description:"Se asegura de que el estilo fuerte sea consistente.",style:{name:"Estilo",description:"El estilo utilizado para denotar contenido fuerte/en negrita"}},"trailing-spaces":{name:"Espacios finales",description:"Elimina espacios adicionales despu\xE9s de cada l\xEDnea.","twp-space-line-break":{name:"Salto de l\xEDnea de dos espacios",description:'Ignore dos espacios seguidos de un salto de l\xEDnea ("Regla de dos espacios").'}},"two-spaces-between-lines-with-content":{name:"Dos espacios entre l\xEDneas con contenido",description:"Se asegura de que se agreguen dos espacios al final de las l\xEDneas con contenido que contin\xFAa en la siguiente l\xEDnea para p\xE1rrafos, comillas y elementos de lista"},"unordered-list-style":{name:"Estilo de lista desordenada",description:"Se asegura de que las listas desordenadas sigan el estilo especificado.","list-style":{name:"Estilo de elemento de lista",description:"El estilo de elemento de lista para usar en listas desordenadas"}},"yaml-key-sort":{name:"Clasificaci\xF3n de clave de YAML",description:"Ordena las claves de YAML seg\xFAn el orden y la prioridad especificados. Nota: tambi\xE9n puede eliminar las l\xEDneas en blanco.","yaml-key-priority-sort-order":{name:"Orden de clasificaci\xF3n de prioridad de clave de YAML",description:"El orden en el que se ordenan las claves con una en cada l\xEDnea donde se ordena en el orden que se encuentra en la lista"},"priority-keys-at-start-of-yaml":{name:"Claves de prioridad al inicio del YAML",description:"El orden de clasificaci\xF3n de prioridad clave de YAML se coloca al comienzo del frontmatter del YAML"},"yaml-sort-order-for-other-keys":{name:"Orden de clasificaci\xF3n de YAML para otras claves",description:"La forma en que ordenar las claves que no se encuentran en el \xE1rea de texto `Orden de clasificaci\xF3n de prioridad de clave de YAML`"}},"yaml-timestamp":{name:"Marca de tiempo de YAML",description:"Lleve un registro de la fecha en que se edit\xF3 el archivo por \xFAltima vez en el frente del YAML. Obtiene las fechas de los metadatos del archivo.","date-created":{name:"Fecha de creaci\xF3n",description:"Inserte la fecha de creaci\xF3n del archivo"},"date-created-key":{name:"Clave de fecha de creaci\xF3n",description:"La clave de YAML para usar para la fecha de creaci\xF3n"},"force-retention-of-create-value":{name:"Forzar la fecha de creaci\xF3n de la retenci\xF3n del valor clave",description:"Reutiliza el valor en el frontmatter del YAML para la fecha de creaci\xF3n en lugar de los metadatos del archivo, lo que es \xFAtil para evitar que los cambios en los metadatos del archivo provoquen que el valor cambie a un valor diferente."},"date-modified":{name:"Fecha modificada",description:"Inserte la fecha en que se modific\xF3 el archivo por \xFAltima vez"},"date-modified-key":{name:"Clave de fecha modificada",description:"La clave de YAML para usar para la fecha de modificaci\xF3n"},format:{name:"Formato",description:"Formato de fecha de Moment a usar (ver [Opciones de formato de Moment](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/))"}},"yaml-title-alias":{name:"Alias de t\xEDtulo de YAML",description:"Inserta el t\xEDtulo del archivo en la secci\xF3n de alias de YAML frontmatter. Obtiene el t\xEDtulo del primer H1 o nombre de archivo.","preserve-existing-alias-section-style":{name:"Conservar el estilo de secci\xF3n de alias existente",description:"Si se establece, la configuraci\xF3n `Estilo de secci\xF3n de alias de YAML` se aplica solo a las secciones reci\xE9n creadas"},"keep-alias-that-matches-the-filename":{name:"Mantenga el alias que coincida con el nombre del archivo",description:"Estos alias suelen ser redundantes."},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"Use la clave de YAML `linter-yaml-title-alias` para ayudar con los cambios de nombre de archivo y encabezado",description:"Si se establece, cuando cambia el primer encabezado H1 o cambia el nombre de archivo si el primer H1 no est\xE1 presente, el alias anterior almacenado en esta clave se reemplazar\xE1 con el nuevo valor en lugar de simplemente insertar una nueva entrada en la matriz de alias."}},"yaml-title":{name:"T\xEDtulo de YAML",description:"Inserta el t\xEDtulo del archivo en el frontmatter de YAML. Obtiene el t\xEDtulo seg\xFAn el modo seleccionado.","title-key":{name:"Clave de t\xEDtulo",description:"La clave de YAML para usar para el t\xEDtulo"},mode:{name:"Modo",description:"El m\xE9todo a utilizar para obtener el t\xEDtulo"}}},enums:{"Title Case":"Titulo del Caso","ALL CAPS":"TODO MAY\xDASCULAS","First letter":"Primera letra",".":".",")":")",ERROR:"error",TRACE:"trazar",DEBUG:"depurar",INFO:"informaci\xF3n",WARN:"advertencia",SILENT:"silencio",ascending:"ascendente",lazy:"perezoso",Nothing:"nada","Remove hashtag":"Remove hashtag","Remove whole tag":"Remove whole tag",asterisk:"asterisco",underscore:"guion bajo",consistent:"congruente","-":"-","*":"*","+":"+",space:"espacio","no space":"sin espacio",None:"nada","Ascending Alphabetical":"Ascendente alfab\xE9tico","Descending Alphabetical":"Descendiente alfab\xE9tico","multi-line":"multil\xEDnea","single-line":"linea sola","single string to single-line":"una sola cadena a una sola l\xEDnea","single string to multi-line":"cadena \xFAnica a multil\xEDnea","single string comma delimited":"cadena \xFAnica delimitada por comas","single string space delimited":"espacio de una sola cadena delimitado","single-line space delimited":"espacio de una sola l\xEDnea delimitado","first-h1":"primer encabezado de nivel 1","first-h1-or-filename-if-h1-missing":"primer encabezado de nivel 1 o nombre de archivo si falta el encabezado de primer nivel 1",filename:"nombre del archivo","''":"''","\u2018\u2019":"\u2018\u2019",'""':'""',"\u201C\u201D":"\u201C\u201D"}};var Bc={};var Fc={};var Rc={};var Dc={};var Nc={};var jc={};var Pc={};var Kc={};var $c={};var Hc={};var Yc={};var Wc={};var Vc={};var Uc={};var ua={};var Gc={commands:{"lint-file":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","error-message":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519"},"lint-file-unless-ignored":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF08\u9664\u4E86\u88AB\u5FFD\u7565\u7684\u6587\u4EF6\uFF09"},"lint-all-files":{name:"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","error-message":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519","success-message":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","errors-message-singular":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF0C\u4F46\u6709 1 \u4E2A\u9519\u8BEF","errors-message-plural":"\u5DF2\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\uFF0C\u4F46\u6709 {NUM} \u4E2A\u9519\u8BEF","start-message":"\u8FD9\u5C06\u7F16\u8F91\u6240\u6709\u6587\u4EF6\uFF0C\u5305\u62EC\u5B50\u6587\u4EF6\u5939\u4E2D\u7684\u6587\u4EF6\uFF0C\u53EF\u80FD\u4F1A\u5F15\u5165\u9519\u8BEF","submit-button-text":"\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6","submit-button-notice-text":"\u6B63\u5728\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6..."},"lint-all-files-in-folder":{name:"\u683C\u5F0F\u5316\u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6","start-message":"\u8FD9\u5C06\u7F16\u8F91 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6\uFF0C\u5305\u62EC\u5B50\u6587\u4EF6\u5939\u4E2D\u7684\u6587\u4EF6\uFF0C\u53EF\u80FD\u4F1A\u5F15\u5165\u9519\u8BEF","submit-button-text":"\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6","submit-button-notice-text":"\u6B63\u5728\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6...","error-message":"\u683C\u5F0F\u5316\u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u65F6\u51FA\u9519","success-message":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709 {NUM} \u4E2A\u6587\u4EF6","message-singular":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u6587\u4EF6\u5939\u4E2D\u7684\u6240\u6709 {NUM} \u4E2A\u6587\u4EF6\uFF0C\u4F46\u6709 1 \u4E2A\u9519\u8BEF","message-plural":"\u5DF2\u683C\u5F0F\u5316 {FOLDER_NAME} \u4E2D\u7684 {FILE_COUNT} \u4E2A\u6587\u4EF6\uFF0C\u4F46\u6709 {ERROR_COUNT} \u4E2A\u9519\u8BEF."},"paste-as-plain-text":{name:"\u7C98\u8D34\u4E3A\u7EAF\u6587\u672C\u4E14\u4E0D\u63D0\u9192"},"lint-file-pop-up-menu-text":{name:"\u683C\u5F0F\u5316\u6587\u4EF6"},"lint-folder-pop-up-menu-text":{name:"\u683C\u5F0F\u5316\u6587\u4EF6\u5939"}},logs:{"plugin-load":"\u6B63\u5728\u52A0\u8F7D\u63D2\u4EF6","plugin-unload":"\u6B63\u5728\u5378\u8F7D\u63D2\u4EF6","folder-lint":"\u6B63\u5728\u683C\u5F0F\u5316\u6587\u4EF6\u5939","linter-run":"\u6B63\u5728\u8FD0\u884CLinter","paste-link-warning":"\u4E2D\u6B62\u7C98\u8D34 lint \u56E0\u4E3A\u526A\u8D34\u677F\u5185\u5BB9\u662F\u4E00\u4E2A\u94FE\u63A5\uFF0C\u8FD9\u6837\u505A\u5C06\u907F\u514D\u4E0E\u5176\u4ED6\u4FEE\u6539\u7C98\u8D34\u7684\u63D2\u4EF6\u53D1\u751F\u51B2\u7A81","see-console":"\u8BF7\u67E5\u770B\u63A7\u5236\u53F0\u4EE5\u83B7\u53D6\u66F4\u591A\u4FE1\u606F","unknown-error":"\u683C\u5F0F\u5316\u8FC7\u7A0B\u53D1\u751F\u672A\u77E5\u9519\u8BEF","moment-locale-not-found":"\u5C1D\u8BD5\u901A\u8FC7 Moment.js \u5207\u6362\u5230 {MOMENT_LOCALE}, \u5B9E\u9645\u5207\u6362\u5230 {CURRENT_LOCALE}","pre-rules":"\u6BD4\u6B63\u5E38\u89C4\u5219\u4F18\u5148\u7EA7\u66F4\u9AD8\u7684\u89C4\u5219","post-rules":"\u6BD4\u6B63\u5E38\u89C4\u5219\u4F18\u5148\u7EA7\u66F4\u4F4E\u7684\u89C4\u5219","rule-running":"\u6B63\u5728\u8FD0\u884C\u89C4\u5219","custom-regex":"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219","running-custom-regex":"\u6B63\u5728\u8FD0\u884C\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u89C4\u5219","running-custom-lint-command":"\u6B63\u5728\u8FD0\u884C\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316\u547D\u4EE4","custom-lint-duplicate-warning":'\u4F60\u4E0D\u80FD\u8FD0\u884C\u540C\u4E00\u4E2A\u81EA\u5B9A\u4E49\u89C4\u5219 ("{COMMAND_NAME}") \u4E24\u6B21',"custom-lint-error-message":"\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316\u547D\u4EE4","disabled-text":"\u5DF2\u7981\u7528","run-rule-text":"\u8FD0\u884C\u4E2D","timing-key-not-found":"\u8BA1\u65F6\u952E '{TIMING_KEY}' \u5728\u8BA1\u65F6\u4FE1\u606F\u5217\u8868\u4E2D\u4E0D\u5B58\u5728\uFF0C\u5DF2\u5FFD\u7565","milliseconds-abbreviation":"\u6BEB\u79D2","invalid-date-format-error":"\u65E0\u6CD5\u89E3\u6790\u6216\u786E\u5B9A'{FILE_NAME}'\u4E2D\u7684\u521B\u5EFA\u65E5\u671F'{DATE}'\u7684\u683C\u5F0F\uFF0C\u521B\u5EFA\u65E5\u671F\u672A\u8FDB\u884C\u4FEE\u6539","invalid-delimiter-error-message":"\u5206\u9694\u7B26\u53EA\u80FD\u4E3A\u5355\u4E2A\u5B57\u7B26","missing-footnote-error-message":"\u811A\u6CE8 \u201C{FOOTNOTE}\u201D \u5728\u811A\u6CE8\u5185\u5BB9\u4E4B\u524D\u6CA1\u6709\u5BF9\u5E94\u7684\u811A\u6CE8\u5F15\u7528\uFF0C\u65E0\u6CD5\u5904\u7406\u3002\u8BF7\u786E\u4FDD\u6240\u6709\u811A\u6CE8\u5728\u811A\u6CE8\u5185\u5BB9\u4E4B\u524D\u90FD\u6709\u76F8\u5E94\u7684\u5F15\u7528\u3002","too-many-footnotes-error-message":"\u811A\u6CE8 '{FOOTNOTE_KEY}' \u6709\u8D85\u8FC71\u4E2A\u811A\u6CE8\u5F15\u7528\uFF0C\u8BF7\u66F4\u65B0\u811A\u6CE8\u4F7F\u5F97\u4E00\u4E2A\u811A\u6CE8\u7F16\u53F7\u5BF9\u5E94\u4E00\u4E2A\u811A\u6CE8","wrapper-yaml-error":"yaml\u51FA\u73B0\u9519\u8BEF: {ERROR_MESSAGE}","wrapper-unknown-error":"\u672A\u77E5\u9519\u8BEF: {ERROR_MESSAGE}","uneven-amount-of-quotes":"`{QUOTE}` \u5F15\u53F7\u5728\u6587\u4EF6\u4E2D\u7684\u5B9E\u4F8B\u4E0D\u662F\u5076\u6570\uFF0C\u6240\u4EE5\u6211\u4EEC\u65E0\u6CD5\u5C06\u76F4\u5F15\u53F7\u8F6C\u6362\u4E3A\u5F2F\u5F15\u53F7"},"notice-text":{"empty-clipboard":"\u526A\u8D34\u677F\u5185\u5BB9\u4E3A\u7A7A","characters-added":"\u5B57\u7B26\u5DF2\u6DFB\u52A0","characters-removed":"\u5B57\u7B26\u5DF2\u79FB\u9664"},"linter-title":"Linter","empty-search-results-text":"\u6CA1\u6709\u5339\u914D\u7684\u8BBE\u7F6E\u9879","warning-text":"\u8B66\u544A","file-backup-text":"\u8BF7\u786E\u4FDD\u4F60\u5DF2\u5907\u4EFD\u6587\u4EF6",tabs:{names:{general:"\u901A\u7528\u8BBE\u7F6E",custom:"\u81EA\u5B9A\u4E49\u8BBE\u7F6E",yaml:"YAML\u8BBE\u7F6E",heading:"\u6807\u9898\u8BBE\u7F6E",content:"\u811A\u6CE8\u8BBE\u7F6E",footnote:"\u5185\u5BB9\u8BBE\u7F6E",spacing:"\u95F4\u8DDD\u8BBE\u7F6E",paste:"\u7C98\u8D34\u8BBE\u7F6E",debug:"Debug\u8BBE\u7F6E"},"default-search-bar-text":"\u641C\u7D22\u6240\u6709\u8BBE\u7F6E\u9879",general:{"lint-on-save":{name:"\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u6587\u4EF6",description:"\u624B\u52A8\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316(\u5F53\u6309 `Ctrl + S` \u65F6\u6216\u8005\u4F7F\u7528vim\u6A21\u5F0F `:w` \u65F6)"},"display-message":{name:"\u683C\u5F0F\u5316\u540E\u663E\u793A\u6D88\u606F",description:"\u683C\u5F0F\u5316\u540E\u663E\u793A\u4FEE\u6539\u4E86\u591A\u5C11\u5B57\u7B26"},"folders-to-ignore":{name:"\u5FFD\u7565\u6587\u4EF6\u5939",description:"\u5F53\u683C\u5F0F\u5316\u6240\u6709\u6587\u4EF6\u6216\u8005\u683C\u5F0F\u5316\u4FDD\u5B58\u65F6\u9700\u8981\u5FFD\u7565\u7684\u6587\u4EF6\uFF0C\u6BCF\u884C\u8F93\u5165\u4E00\u4E2A\u6587\u4EF6\u5939\u8DEF\u5F84"},"override-locale":{name:"\u8986\u76D6\u9ED8\u8BA4\u5730\u533A\u8BED\u8A00",description:"\u5982\u679C\u4F60\u60F3\u4F7F\u7528\u4E0D\u540C\u4E8E\u9ED8\u8BA4\u7684\u5730\u533A\u8BED\u8A00\u9700\u8981\u8BBE\u7F6E\u6B64\u9879"},"same-as-system-locale":"\u548C\u7CFB\u7EDF\u5730\u533A\u8BED\u8A00 ({SYS_LOCALE}) \u4E00\u81F4","yaml-aliases-section-style":{name:"YAML \u522B\u540D\u90E8\u5206\u7684\u6837\u5F0F",description:"YAML aliases \u90E8\u5206\u7684\u6837\u5F0F"},"yaml-tags-section-style":{name:"YAML tags \u90E8\u5206\u7684\u6837\u5F0F",description:"YAML tags \u90E8\u5206\u7684\u6837\u5F0F"},"default-escape-character":{name:"\u9ED8\u8BA4\u8F6C\u4E49\u5B57\u7B26",description:"\u5F53\u5355\u5F15\u53F7\u548C\u53CC\u5F15\u53F7\u4E0D\u5B58\u5728\u65F6\u7528\u4E8E\u8F6C\u4E49 YAML \u503C\u7684\u9ED8\u8BA4\u5B57\u7B26"},"remove-unnecessary-escape-chars-in-multi-line-arrays":{name:"\u5F53\u4F7F\u7528\u591A\u884C\u6570\u7EC4\u683C\u5F0F\u65F6\u5220\u9664\u4E0D\u5FC5\u8981\u7684\u8F6C\u4E49\u5B57\u7B26",description:"\u591A\u884C YAML \u6570\u7EC4\u7684\u8F6C\u4E49\u5B57\u7B26\u4E0D\u9700\u8981\u4E0E\u5355\u884C\u6570\u7EC4\u76F8\u540C\u7684\u8F6C\u4E49\uFF0C\u56E0\u6B64\u5728\u591A\u884C\u683C\u5F0F\u65F6\uFF0C\u5220\u9664\u4E0D\u5FC5\u8981\u7684\u989D\u5916\u8F6C\u4E49"},"number-of-dollar-signs-to-indicate-math-block":{name:"\u6307\u793A\u6570\u5B66\u5757\u7684 $ \u7B26\u53F7\u6570\u91CF",description:"\u5C06\u6570\u5B66\u5185\u5BB9\u89C6\u4E3A\u6570\u5B66\u5757\u800C\u4E0D\u662F\u5185\u8054\u6570\u5B66\u7684 $ \u7B26\u53F7\u7684\u6570\u91CF"}},debug:{"log-level":{name:"\u65E5\u5FD7\u7EA7\u522B",description:"\u5141\u8BB8\u6253\u5370\u7684\u65E5\u5FD7\u7C7B\u578B\uFF0C\u9ED8\u8BA4\u662F ERROR"},"linter-config":{name:"\u683C\u5F0F\u5316\u8BBE\u7F6E",description:"\u5728\u8BBE\u7F6E\u9875\u9762\u52A0\u8F7D\u65F6\uFF0CLinter \u7684 data.json \u7684\u5185\u5BB9"},"log-collection":{name:"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u548C\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u6536\u96C6\u65E5\u5FD7",description:"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u548C\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u6536\u96C6\u65E5\u5FD7\u3002\u8FD9\u4E9B\u65E5\u5FD7\u6709\u52A9\u4E8E\u8C03\u8BD5\u548C\u521B\u5EFA\u9519\u8BEF\u62A5\u544A\u3002"},"linter-logs":{name:"Linter \u65E5\u5FD7",description:"\u5982\u679C\u5F00\u542F\uFF0C\u5219\u6700\u540E\u4E00\u6B21\u683C\u5F0F\u5316\u65F6\u4FDD\u5B58\u6216\u8005\u683C\u5F0F\u5316\u5F53\u524D\u6587\u6863\u65F6\u751F\u6210\u65E5\u5FD7\u65E5\u5FD7"}}},options:{"custom-command":{name:"\u81EA\u5B9A\u4E49\u547D\u4EE4",description:"\u81EA\u5B9A\u4E49\u547D\u4EE4\u662F\u5728 linter \u5B8C\u6210\u8FD0\u884C\u5176\u5E38\u89C4\u89C4\u5219\u540E\u8FD0\u884C\u7684 Obsidian \u547D\u4EE4\u3002\u8FD9\u610F\u5473\u7740\u5B83\u4EEC\u4E0D\u4F1A\u5728 YAML \u65F6\u95F4\u6233\u903B\u8F91\u8FD0\u884C\u4E4B\u524D\u8FD0\u884C\uFF0C\u56E0\u6B64\u5B83\u4EEC\u53EF\u80FD\u4F1A\u5BFC\u81F4\u5728\u4E0B\u6B21\u8FD0\u884C linter \u65F6\u89E6\u53D1 YAML \u65F6\u95F4\u6233\u3002\u60A8\u53EA\u80FD\u9009\u62E9\u4E00\u6B21 Obsidian \u547D\u4EE4\u3002**_\u6CE8\u610F \u8FD9\u76EE\u524D\u4EC5\u9002\u7528\u4E8E\u68C0\u67E5\u5F53\u524D\u6587\u4EF6._**",warning:"\u9009\u62E9\u9009\u9879\u65F6\uFF0C\u8BF7\u786E\u4FDD\u4F7F\u7528\u9F20\u6807\u6216\u6309\u56DE\u8F66\u952E\u9009\u62E9\u8BE5\u9009\u9879\u3002\u5176\u4ED6\u9009\u62E9\u65B9\u6CD5\u53EF\u80FD\u4E0D\u8D77\u4F5C\u7528\uFF0C\u53EA\u4F1A\u4FDD\u5B58\u5B9E\u9645 Obsidian \u547D\u4EE4\u6216\u7A7A\u5B57\u7B26\u4E32\u7684\u9009\u62E9\u3002","add-input-button-text":"\u6DFB\u52A0\u65B0\u547D\u4EE4","command-search-placeholder-text":"Obsidian \u547D\u4EE4","move-up-tooltip":"\u4E0A\u79FB","move-down-tooltip":"\u4E0B\u79FB","delete-tooltip":"\u5220\u9664"},"custom-replace":{name:"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u66FF\u6362",description:"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u66FF\u6362\u53EF\u7528\u4E8E\u5C06\u67E5\u627E\u6B63\u5219\u8868\u8FBE\u5F0F\u5339\u914D\u7684\u4EFB\u4F55\u5185\u5BB9\u66FF\u6362\u4E3A\u66FF\u6362\u503C\u3002\u66FF\u6362\u548C\u67E5\u627E\u503C\u5FC5\u987B\u662F\u6709\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u503C",warning:"\u5982\u679C\u60A8\u4E0D\u77E5\u9053\u6B63\u5219\u8868\u8FBE\u5F0F\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528\u5B83\u3002\u53E6\u5916\uFF0C\u8BF7\u786E\u4FDD\u60A8\u4E0D\u8981\u5728iOS\u79FB\u52A8\u8BBE\u5907\u4E0A\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u4E2D\u4F7F\u7528\u56DE\u6EAF\uFF0C\u56E0\u4E3A\u8FD9\u4F1A\u5BFC\u81F4\u683C\u5F0F\u5316\u5931\u8D25\uFF0C\u56E0\u4E3A\u8BE5\u5E73\u53F0\u4E0D\u652F\u6301","add-input-button-text":"\u6DFB\u52A0\u65B0\u7684\u6B63\u5219\u66FF\u6362","regex-to-find-placeholder-text":"\u6B63\u5219\u67E5\u627E","flags-placeholder-text":"flags","regex-to-replace-placeholder-text":"\u6B63\u5219\u66FF\u6362","move-up-tooltip":"\u4E0A\u79FB","move-down-tooltip":"\u4E0B\u79FB","delete-tooltip":"\u5220\u9664"}},rules:{"auto-correct-common-misspellings":{name:"\u81EA\u52A8\u66F4\u6B63\u5E38\u89C1\u7684\u62FC\u5199\u9519\u8BEF",description:"\u4F7F\u7528\u5E38\u89C1\u62FC\u5199\u9519\u8BEF\u7684\u5B57\u5178\u81EA\u52A8\u5C06\u5B83\u4EEC\u8F6C\u6362\u4E3A\u6B63\u786E\u7684\u62FC\u5199\u3002\u6709\u5173\u81EA\u52A8\u66F4\u6B63\u5355\u8BCD\u7684\u5B8C\u6574\u5217\u8868\uFF0C\u8BF7\u53C2\u9605 [auto-correct map](https://github.com/platers/obsidian-linter/tree/master/src/utils/auto-correct-misspellings.ts)","ignore-words":{name:"\u5FFD\u7565\u5355\u8BCD",description:"\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5C0F\u5199\u5355\u8BCD\u5217\u8868\uFF0C\u5728\u81EA\u52A8\u66F4\u6B63\u65F6\u4F1A\u5FFD\u7565"}},"add-blockquote-indentation-on-paste":{name:"\u7C98\u8D34\u65F6\u6DFB\u52A0\u5757\u5F15\u7528(blockquote)\u7F29\u8FDB",description:"\u5728\u7C98\u8D34\u8FC7\u7A0B\u4E2D\u5149\u6807\u4F4D\u4E8E\u5757\u5F15\u7528/\u6807\u6CE8\u884C\u4E2D\u65F6\uFF0C\u5C06\u5757\u5F15\u7528\u6DFB\u52A0\u5230\u9664\u7B2C\u4E00\u884C\u4EE5\u5916\u7684\u6240\u6709\u884C"},"blockquote-style":{name:"\u5757\u5F15\u7528\u6837\u5F0F",description:"\u786E\u4FDD\u5757\u5F15\u7528\u6837\u5F0F\u4E00\u81F4\u3002",style:{name:"\u98CE\u683C",description:"\u5757\u5F15\u7528\u6307\u793A\u5668\u4E0A\u4F7F\u7528\u7684\u6837\u5F0F"}},"capitalize-headings":{name:"\u5927\u5199\u6807\u9898(Headdings)",description:"\u6807\u9898\u4F1A\u5728\u683C\u5F0F\u5316\u540E\u5927\u5199",style:{name:"\u6837\u5F0F",description:"\u5927\u5199\u7684\u65B9\u5F0F"},"ignore-case-words":{name:"\u5FFD\u7565\u5927\u5C0F\u5199\u7684\u5355\u8BCD",description:"\u4EC5\u5C06\u6807\u9898\u5927\u5C0F\u5199\u6837\u5F0F\u5E94\u7528\u4E8E\u5168\u90E8\u5C0F\u5199\u7684\u5355\u8BCD"},"ignore-words":{name:"\u5FFD\u7565\u5355\u8BCD",description:"\u5927\u5199\u65F6\u8981\u5FFD\u7565\u7684\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5355\u8BCD\u5217\u8868"},"lowercase-words":{name:"\u5C0F\u5199\u7684\u5355\u8BCD",description:"\u4FDD\u6301\u5C0F\u5199\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5355\u8BCD\u5217\u8868"}},"compact-yaml":{name:"\u7CBE\u7B80YAML",description:"\u79FB\u9664YAML\u524D\u540E\u7684\u7A7A\u884C","inner-new-lines":{name:"\u5185\u90E8\u65B0\u884C",description:"\u5220\u9664\u4E0D\u5728 YAML \u5F00\u5934\u6216\u7ED3\u5C3E\u7684\u65B0\u884C"}},"consecutive-blank-lines":{name:"\u8FDE\u7EED\u7A7A\u767D\u884C",description:"\u6700\u591A\u5E94\u8BE5\u6709\u4E00\u4E2A\u8FDE\u7EED\u7684\u7A7A\u884C"},"convert-bullet-list-markers":{name:"\u8F6C\u6362\u5B50\u5F39\u5217\u8868\u6807\u8BB0",description:"\u5C06\u5E38\u7528 bullet list \u5217\u8868\u6807\u8BB0\u8F6C\u6362\u4E3A Markdown \u5217\u8868\u6807\u8BB0"},"convert-spaces-to-tabs":{name:"\u8F6C\u6362\u7A7A\u683C\u4E3A\u5236\u8868\u7B26",description:"\u5C06\u884C\u9996\u7A7A\u683C\u8F6C\u6362\u4E3A\u5236\u8868\u7B26",tabsize:{name:"\u5236\u8868\u7B26\u5BBD\u5EA6",description:"\u5BF9\u5E94\u7684\u7A7A\u683C\u6570\u91CF\u8F6C\u53D8\u4E3A\u5236\u8868\u7B26"}},"emphasis-style":{name:"\u5F3A\u8C03\u98CE\u683C",description:"\u7528\u4E8E\u786E\u4FDD\u5F3A\u8C03\u7684\u98CE\u683C\u4E00\u81F4",style:{name:"\u98CE\u683C",description:"\u7528\u4E8E\u8868\u793A\u5F3A\u8C03\u5185\u5BB9\u7684\u98CE\u683C"}},"empty-line-around-blockquotes":{name:"\u5F15\u7528\u5757 Blockquotes \u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u5F15\u7528\u5757 Blockquote\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u5934\u548C\u7ED3\u5C3E\u3002**\u6CE8\u610F\uFF0C\u8FD9\u91CC\u5D4C\u5957\u5757\u5F15\u7528\u4E5F\u4F1A\u6709\u5BF9\u5E94\u7684\u7A7A\u884C**"},"empty-line-around-code-fences":{name:"\u4EE3\u7801\u5757\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u4EE3\u7801\u5757\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u5934\u6216\u7ED3\u5C3E"},"empty-line-around-math-blocks":{name:"\u6570\u5B66\u5757\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD\u6570\u5B66\u5757\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u4F7F\u7528\u201C\u8868\u793A\u6570\u5B66\u5757\u7684\u7F8E\u5143\u7B26\u53F7\u6570\u201D\u6765\u786E\u5B9A\u5355\u884C\u6570\u5B66\u7684\u6570\u5B66\u5757\u7684\u7F8E\u5143\u7B26\u53F7\u6570\u3002"},"empty-line-around-tables":{name:"\u8868\u683C\u524D\u540E\u7A7A\u884C",description:"\u786E\u4FDD github \u98CE\u683C\u7684\u8868\u683C\u524D\u540E\u6709\u7A7A\u884C\uFF0C\u9664\u975E\u5B83\u5728\u6587\u6863\u7684\u5F00\u59CB\u6216\u7ED3\u5C3E"},"escape-yaml-special-characters":{name:"\u8F6C\u4E49YAML\u7279\u6B8A\u5B57\u7B26",description:`\u8F6C\u4E49YAML\u4E2D\u7684\u5192\u53F7\uFF08: \uFF09\uFF0C\u5355\u5F15\u53F7\uFF08'\uFF09\u548C\u53CC\u5F15\u53F7\uFF08"\uFF09\u3002`,"try-to-escape-single-line-arrays":{name:"\u5C1D\u8BD5\u8F6C\u4E49\u5355\u884C\u6570\u7EC4",description:"\u5C1D\u8BD5\u8F6C\u4E49\u6570\u7EC4\u503C\uFF0C\u5047\u8BBE\u4E00\u4E2A\u6570\u7EC4\u4EE5\u201C[\u201D\u5F00\u5934\uFF0C\u201C]\u201D\u7ED3\u5C3E\uFF0C\u5E76\u4E14\u5177\u6709\u7531\u201C\uFF0C\u201D\u5206\u9694\u7684\u9879\u3002"}},"file-name-heading":{name:"\u6587\u4EF6\u540D\u4F5C\u4E3A\u6807\u9898",description:"\u5982\u679C\u6CA1\u6709H1\u6807\u9898\uFF0C\u5219\u63D2\u5165\u6587\u4EF6\u540D\u4F5C\u4E3AH1\u6807\u9898\u3002"},"footnote-after-punctuation":{name:"\u6807\u70B9\u7B26\u53F7\u540E\u811A\u6CE8",description:"\u786E\u4FDD\u811A\u6CE8\u5F15\u7528\u7F6E\u4E8E\u6807\u70B9\u7B26\u53F7\u4E4B\u540E\uFF0C\u800C\u4E0D\u662F\u4E4B\u524D\u3002"},"force-yaml-escape":{name:"\u5F3A\u5236YAML\u8F6C\u4E49",description:"\u8F6C\u4E49\u6307\u5B9AYAML\u952E\u7684\u503C\u3002","force-yaml-escape-keys":{name:"\u5F3A\u5236\u5BF9YAML\u952E\u8FDB\u884C\u8F6C\u4E49",description:"\u5982\u679C\u672A\u8F6C\u4E49\uFF0C\u5219\u4F7F\u7528YAML\u8F6C\u4E49\u5B57\u7B26\u5BF9\u7531\u6362\u884C\u7B26\u5206\u9694\u7684\u6307\u5B9AYAML\u952E\u8FDB\u884C\u8F6C\u4E49\u3002 \u4E0D\u8981\u5728YAML\u6570\u7EC4\u4E0A\u4F7F\u7528\u5B83\u3002"}},"format-tags-in-yaml":{name:"\u683C\u5F0F\u5316YAML\u4E2D\u7684\u6807\u7B7E",description:"\u4ECEYAML\u524D\u7F6E\u8BED\u8A00\u4E2D\u7684\u6807\u7B7E\u4E2D\u53BB\u9664\u4E95\u53F7\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u4F1A\u4F7F\u6807\u7B7E\u65E0\u6548\u3002"},"format-yaml-array":{name:"\u683C\u5F0F\u5316YAML\u6570\u7EC4",description:"\u5141\u8BB8\u5C06\u5E38\u89C4YAML\u6570\u7EC4\u683C\u5F0F\u5316\u4E3A\u591A\u884C\u6216\u5355\u884C\uFF0C\u5E76\u5141\u8BB8\u6709\u4E9BObsidian\u7279\u5B9A\u7684YAML\u683C\u5F0F\u53EF\u4EE5\u7528\u4F5C\u201Ctags\u201D\u548C\u201Caliases\u201D\u3002\u8BF7\u6CE8\u610F\uFF0C\u5355\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5355\u884C\uFF0C\u5982\u679C\u5B58\u5728\u591A\u4E2A\u6761\u76EE\uFF0C\u5219\u4F1A\u53D8\u4E3A\u5355\u884C\u6570\u7EC4\u3002\u5BF9\u4E8E\u5355\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u591A\u884C\uFF0C\u60C5\u51B5\u4E5F\u662F\u5982\u6B64\uFF0C\u53EA\u662F\u5B83\u53D8\u6210\u4E86\u591A\u884C\u6570\u7EC4\u3002","alias-key":{name:"\u683C\u5F0F\u5316yaml\u522B\u540D\u90E8\u5206",description:"\u6253\u5F00\u4E86YAML\u522B\u540D\u90E8\u5206\u7684\u683C\u5F0F\u8BBE\u7F6E\u3002\u4E0D\u5E94\u4E0E\u89C4\u5219`YAML Title Alias`\u540C\u65F6\u542F\u7528\uFF0C\u56E0\u4E3A\u5B83\u4EEC\u53EF\u80FD\u4E0D\u4F1A\u5F88\u597D\u5730\u534F\u540C\u5DE5\u4F5C\uFF0C\u6216\u8005\u5B83\u4EEC\u53EF\u80FD\u6709\u4E0D\u540C\u7684\u683C\u5F0F\u6837\u5F0F\u9009\u62E9\uFF0C\u4ECE\u800C\u5BFC\u81F4\u610F\u5916\u7ED3\u679C\u3002"},"tag-key":{name:"\u683C\u5F0F\u5316yaml\u6807\u7B7E\u90E8\u5206",description:"\u6253\u5F00YAML\u6807\u7B7E\u90E8\u5206\u7684\u683C\u5F0F\u8BBE\u7F6E\u3002"},"default-array-style":{name:"\u9ED8\u8BA4\u7684yaml\u6570\u7EC4\u90E8\u5206\u683C\u5F0F",description:"\u9664\u4E86\u6807\u7B7E\uFF0C\u522B\u540D\u6216\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u5355\u884C\u6570\u7EC4\u548C\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u591A\u884C\u6570\u7EC4\u4E4B\u5916\uFF0C\u5176\u4ED6\u4E3A\u5E38\u89C4 yaml \u6570\u7EC4\u7684\u6837\u5F0F\u3002"},"default-array-keys":{name:"\u683C\u5F0F\u5316\u5E38\u89C4yaml\u6570\u7EC4\u90E8\u5206",description:"\u5BF9\u5E38\u89C4YAML\u6570\u7EC4\u6253\u5F00\u683C\u5F0F\u8BBE\u7F6E"},"force-single-line-array-style":{name:"\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u5355\u884C\u6570\u7EC4",description:"\u5F3A\u5236\u5C06\u65B0\u884C\u5206\u9694\u7684\u952E\u7684YAML\u6570\u7EC4\u683C\u5F0F\u4E3A\u5355\u884C\u683C\u5F0F\uFF08\u7559\u7A7A\u4EE5\u7981\u7528\u6B64\u9009\u9879\uFF09"},"force-multi-line-array-style":{name:"\u5C06\u952E\u503C\u5F3A\u5236\u4E3A\u591A\u884C\u6570\u7EC4",description:"\u5F3A\u5236\u5C06\u65B0\u884C\u5206\u9694\u7684\u952E\u7684YAML\u6570\u7EC4\u683C\u5F0F\u4E3A\u591A\u884C\u683C\u5F0F\uFF08\u7559\u7A7A\u4EE5\u7981\u7528\u6B64\u9009\u9879\uFF09"}},"header-increment":{name:"\u6807\u9898\u7EA7\u522B\u9012\u589E",description:"\u6807\u9898\u7EA7\u522B\u5E94\u4EC5\u4E00\u6B21\u9012\u589E\u4E00\u4E2A\u7EA7\u522B","start-at-h2":{name:"\u4ECE\u7B2C\u4E8C\u7EA7\u6807\u9898\u5F00\u59CB\u9012\u589E",description:"\u4F7F\u7B2C\u4E8C\u7EA7\u6807\u9898\u6210\u4E3A\u6587\u4EF6\u4E2D\u7684\u6700\u5C0F\u6807\u9898\u7EA7\u522B\uFF0C\u4ECE\u800C\u53EF\u76F8\u5E94\u5730\u8C03\u6574\u6240\u6709\u6807\u9898\uFF0C\u4EE5\u4FBF\u5B83\u4EEC\u4ECE\u7B2C\u4E8C\u7EA7\u6807\u9898\u5F00\u59CB\u9012\u589E\u3002"}},"heading-blank-lines":{name:"\u6807\u9898\u7A7A\u884C",description:"\u6240\u6709\u6807\u9898\u524D\u540E\u5747\u6709\u4E00\u4E2A\u7A7A\u884C\uFF08\u9664\u975E\u6807\u9898\u4F4D\u4E8E\u6587\u6863\u5F00\u5934\u6216\u7ED3\u5C3E\u5904\uFF09\u3002",bottom:{name:"\u5E95\u90E8",description:"\u5728\u6807\u9898\u540E\u63D2\u5165\u4E00\u4E2A\u7A7A\u884C"},"empty-line-after-yaml":{name:"Yaml \u4E0E\u6807\u9898\u4E4B\u95F4\u7684\u7A7A\u884C",description:"\u4FDD\u7559 Yaml \u524D\u7F6E\u5185\u5BB9\u4E0E\u6807\u9898\u4E4B\u95F4\u7684\u7A7A\u884C"}},"headings-start-line":{name:"\u6807\u9898\u8D77\u59CB\u884C",description:"\u4E0D\u4EE5\u65B0\u884C\u5F00\u59CB\u7684\u6807\u9898\u4F1A\u5C06\u5176\u524D\u9762\u7684\u7A7A\u767D\u5220\u9664\uFF0C\u4EE5\u786E\u4FDD\u5B83\u4EEC\u80FD\u88AB\u8BC6\u522B\u4E3A\u6807\u9898\u3002"},"insert-yaml-attributes":{name:"\u63D2\u5165 YAML \u5C5E\u6027",description:"\u5C06\u7ED9\u5B9A\u7684 YAML \u5C5E\u6027\u63D2\u5165\u5230 YAML \u524D\u7F6E\u5185\u5BB9\u4E2D\u3002\u6BCF\u4E2A\u5C5E\u6027\u5360\u4E00\u884C\u3002","text-to-insert":{name:"\u8981\u63D2\u5165\u7684\u6587\u672C",description:"\u8981\u63D2\u5165\u5230 YAML \u524D\u7F6E\u5185\u5BB9\u4E2D\u7684\u6587\u672C"}},"line-break-at-document-end":{name:"\u6587\u4EF6\u7ED3\u5C3E\u6362\u884C",description:"\u786E\u4FDD\u6587\u6863\u7ED3\u5C3E\u6070\u597D\u6709\u4E00\u884C\u7A7A\u884C\u3002"},"move-footnotes-to-the-bottom":{name:"\u79FB\u52A8\u811A\u6CE8\u81F3\u5E95\u90E8",description:"\u79FB\u52A8\u6240\u6709\u811A\u6CE8\u81F3\u6587\u6863\u5E95\u90E8"},"move-math-block-indicators-to-their-own-line":{name:"\u5C06\u6570\u5B66\u5757\u6307\u793A\u7B26\u79FB\u5230\u81EA\u5DF1\u7684\u884C\u4E0A",description:"\u4F7F\u7528\u201C\u6307\u793A\u6570\u5B66\u5757\u6240\u9700\u7F8E\u5143\u7B26\u53F7\u6570\u201D\u6765\u786E\u5B9A\u7528\u591A\u5C11\u4E2A\u7F8E\u5143\u7B26\u53F7\u8868\u793A\u5355\u884C\u6570\u5B66\u5F0F\uFF0C\u5C06\u6240\u6709\u8D77\u59CB\u548C\u7ED3\u675F\u6570\u5B66\u5757\u6307\u793A\u7B26\u79FB\u5230\u5B83\u4EEC\u81EA\u5DF1\u7684\u884C\u4E0A\u3002"},"move-tags-to-yaml":{name:"\u5C06\u6807\u7B7E\u79FB\u81F3 Yaml",description:"\u79FB\u52A8\u6240\u6709\u6807\u7B7E\u81F3 Yaml frontmatter","how-to-handle-existing-tags":{name:"\u5982\u4F55\u5904\u7406\u73B0\u6709\u7684\u6807\u7B7E",description:"\u4E00\u65E6\u79FB\u52A8\u5230\u4E86\u524D\u7F6E\u5143\u6570\u636E\uFF0C\u5BF9\u4E8E\u6587\u4EF6\u6B63\u6587\u4E2D\u7684\u975E\u88AB\u5FFD\u7565\u6807\u7B7E\uFF0C\u5E94\u8BE5\u91C7\u53D6\u4F55\u79CD\u64CD\u4F5C\uFF1F"},"tags-to-ignore":{name:"\u5FFD\u7565\u7684\u6807\u7B7E",description:"\u8FD9\u4E9B\u6807\u7B7E\u4E0D\u4F1A\u88AB\u79FB\u52A8\u5230\u6807\u7B7E\u6570\u7EC4\u4E2D\uFF0C\u4E5F\u4E0D\u4F1A\u5728\u201C\u4ECE\u6B63\u6587\u5185\u5BB9\u4E2D\u79FB\u9664\u6807\u7B7E\u4E2D\u7684\u4E95\u53F7\u201D\u542F\u7528\u65F6\u4ECE\u6B63\u6587\u5185\u5BB9\u4E2D\u79FB\u9664\u3002\u6BCF\u4E2A\u6807\u7B7E\u5E94\u8BE5\u5355\u72EC\u653E\u5728\u4E00\u884C\u4E0A\uFF0C\u4E0D\u8981\u5305\u542B\u201C#\u201D\u3002\u8BF7\u786E\u4FDD\u6807\u7B7E\u540D\u79F0\u4E2D\u4E0D\u8981\u5305\u542B\u4E95\u53F7\u3002"}},"no-bare-urls":{name:"\u7981\u6B62\u88F8\u9732URL",description:"\u9664\u975E\u88AB\u53CD\u5F15\u53F7\u3001\u65B9\u62EC\u53F7\u6216\u5355\u5F15\u53F7/\u53CC\u5F15\u53F7\u5305\u62EC\uFF0C\u5426\u5219\u5E94\u5C06\u88F8\u9732\u7684URL\u7528\u5C16\u62EC\u53F7\u5305\u56F4\u3002"},"ordered-list-style":{name:"\u6709\u5E8F\u5217\u8868\u6837\u5F0F",description:"\u786E\u4FDD\u6709\u5E8F\u5217\u8868\u9075\u5FAA\u6307\u5B9A\u7684\u6837\u5F0F\u3002\u8BF7\u6CE8\u610F\uFF0C2\u4E2A\u7A7A\u683C\u62161\u4E2A\u5236\u8868\u7B26\u88AB\u89C6\u4E3A\u7F29\u8FDB\u7EA7\u522B\u3002","number-style":{name:"\u5E8F\u53F7\u6837\u5F0F",description:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u4E2D\u4F7F\u7528\u7684\u5E8F\u53F7\u6837\u5F0F"},"list-end-style":{name:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u7ED3\u675F\u6837\u5F0F",description:"\u6709\u5E8F\u5217\u8868\u6307\u793A\u5668\u7684\u7ED3\u675F\u5B57\u7B26"}},"paragraph-blank-lines":{name:"\u6BB5\u843D\u7A7A\u767D\u884C",description:"\u6BCF\u4E2A\u6BB5\u843D\u524D\u540E\u5E94\u8BE5\u6709\u4E14\u4EC5\u6709\u4E00\u884C\u7A7A\u767D\u884C\u3002"},"prevent-double-checklist-indicator-on-paste":{name:"\u9632\u6B62\u590D\u5236\u65F6\u51FA\u73B0\u91CD\u590D\u7684\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26",description:"\u5982\u679C\u6587\u4EF6\u4E2D\u5149\u6807\u6240\u5728\u884C\u6709\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26\uFF0C\u5219\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8D77\u59CB\u7684\u6838\u5BF9\u5217\u8868\u6307\u793A\u7B26\u3002"},"prevent-double-list-item-indicator-on-paste":{name:"\u9632\u6B62\u590D\u5236\u65F6\u51FA\u73B0\u91CD\u590D\u7684\u5217\u8868\u9879\u6307\u793A\u7B26",description:"\u5982\u679C\u6587\u4EF6\u4E2D\u5149\u6807\u6240\u5728\u884C\u6709\u5217\u8868\u9879\u6307\u793A\u7B26\uFF0C\u5219\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8D77\u59CB\u7684\u5217\u8868\u6307\u793A\u7B26\u3002"},"proper-ellipsis-on-paste":{name:"\u6B63\u786E\u7684\u7701\u7565\u53F7",description:"\u5373\u4F7F\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u5B83\u4EEC\u4E4B\u95F4\u6709\u7A7A\u683C\uFF0C\u4E5F\u7528\u7701\u7565\u53F7\u66FF\u6362\u4E09\u4E2A\u8FDE\u7EED\u7684\u70B9\u3002"},"proper-ellipsis":{name:"\u6B63\u786E\u7684\u7701\u7565\u53F7",description:"\u7528\u7701\u7565\u53F7\u66FF\u6362\u4E09\u4E2A\u8FDE\u7EED\u7684\u70B9\u3002"},"quote-style":{name:"\u62A5\u4EF7\u98CE\u683C",description:"\u66F4\u65B0\u6B63\u6587\u5185\u5BB9\u4E2D\u7684\u5F15\u53F7\u4EE5\u66F4\u65B0\u4E3A\u6307\u5B9A\u7684\u5355\u5F15\u53F7\u548C\u53CC\u5F15\u53F7\u6837\u5F0F\u3002","single-quote-enabled":{name:"\u542F\u7528`\u5355\u5F15\u53F7\u6837\u5F0F`",description:"\u6307\u5B9A\u5E94\u4F7F\u7528\u9009\u5B9A\u7684\u5355\u5F15\u53F7\u6837\u5F0F\u3002"},"single-quote-style":{name:"\u5355\u5F15\u53F7\u6837\u5F0F",description:"\u8981\u4F7F\u7528\u7684\u5355\u5F15\u53F7\u6837\u5F0F\u3002"},"double-quote-enabled":{name:"\u542F\u7528`\u53CC\u5F15\u53F7\u6837\u5F0F`",description:"\u6307\u5B9A\u5E94\u4F7F\u7528\u9009\u5B9A\u7684\u53CC\u5F15\u53F7\u6837\u5F0F\u3002"},"double-quote-style":{name:"\u53CC\u5F15\u53F7\u6837\u5F0F",description:"\u8981\u4F7F\u7528\u7684\u53CC\u5F15\u53F7\u6837\u5F0F\u3002"}},"re-index-footnotes":{name:"\u91CD\u65B0\u7D22\u5F15\u811A\u6CE8",description:"\u57FA\u4E8E\u51FA\u73B0\u7684\u987A\u5E8F\u91CD\u65B0\u7D22\u5F15\u811A\u6CE8\u952E\u548C\u811A\u6CE8\uFF08\u6CE8\u610F\uFF1A\u5982\u679C\u4E00\u4E2A\u952E\u6709\u591A\u4E2A\u811A\u6CE8\uFF0C\u5219\u6B64\u89C4\u5219\u4E0D\u9002\u7528\u3002\uFF09"},"remove-consecutive-list-markers":{name:"\u79FB\u9664\u8FDE\u7EED\u7684\u5217\u8868\u6807\u8BB0",description:"\u79FB\u9664\u8FDE\u7EED\u7684\u5217\u8868\u6807\u8BB0\u3002\u590D\u5236\u7C98\u8D34\u5217\u8868\u9879\u65F6\u5F88\u6709\u7528\u3002"},"remove-empty-lines-between-list-markers-and-checklists":{name:"\u79FB\u9664\u5217\u8868\u6807\u8BB0\u548C\u6838\u5BF9\u5217\u8868\u9879\u4E4B\u95F4\u7684\u7A7A\u884C",description:"\u5217\u8868\u6807\u8BB0\u548C\u6838\u5BF9\u5217\u8868\u9879\u4E4B\u95F4\u4E0D\u5E94\u6709\u7A7A\u884C\u3002"},"remove-empty-list-markers":{name:"\u79FB\u9664\u7A7A\u7684\u5217\u8868\u6807\u8BB0",description:"\u79FB\u9664\u7A7A\u7684\u5217\u8868\u6807\u8BB0\uFF0C\u6BD4\u5982\u5217\u8868\u540E\u6CA1\u5185\u5BB9\u3002"},"remove-hyphenated-line-breaks":{name:"\u79FB\u9664\u4E2D\u5212\u7EBF\u6362\u884C\u7B26",description:"\u79FB\u9664\u4E2D\u5212\u7EBF\u6362\u884C\u7B26\u3002\u4ECE\u6559\u79D1\u4E66\u4E2D\u7C98\u8D34\u6587\u672C\u65F6\u5F88\u6709\u7528\u3002"},"remove-hyphens-on-paste":{name:"\u79FB\u9664\u8FDE\u5B57\u7B26",description:"\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u8FDE\u5B57\u7B26\u3002"},"remove-leading-or-trailing-whitespace-on-paste":{name:"\u79FB\u9664\u7C98\u8D34\u65F6\u7684\u524D\u5BFC\u6216\u5C3E\u968F\u7A7A\u683C",description:"\u79FB\u9664\u8981\u7C98\u8D34\u7684\u6587\u672C\u7684\u4EFB\u4F55\u524D\u5BFC\u975E\u5236\u8868\u7B26\u7A7A\u683C\u548C\u6240\u6709\u5C3E\u968F\u7A7A\u683C\u3002"},"remove-leftover-footnotes-from-quote-on-paste":{name:"\u79FB\u9664\u5F15\u7528\u4E2D\u7684\u5269\u4F59\u811A\u6CE8",description:"\u4ECE\u8981\u7C98\u8D34\u7684\u6587\u672C\u4E2D\u79FB\u9664\u4EFB\u4F55\u5269\u4F59\u7684\u811A\u6CE8\u5F15\u7528\u3002"},"remove-link-spacing":{name:"\u79FB\u9664\u94FE\u63A5\u95F4\u8DDD",description:"\u79FB\u9664\u94FE\u63A5\u6587\u672C\u5468\u56F4\u7684\u95F4\u8DDD\u3002"},"remove-multiple-blank-lines-on-paste":{name:"\u79FB\u9664\u7C98\u8D34\u65F6\u7684\u591A\u4E2A\u7A7A\u767D\u884C",description:"\u5C06\u591A\u4E2A\u7A7A\u767D\u884C\u538B\u7F29\u4E3A\u4E00\u4E2A\u7A7A\u767D\u884C\u4EE5\u7C98\u8D34\u6587\u672C\u3002"},"remove-multiple-spaces":{name:"\u79FB\u9664\u591A\u4E2A\u7A7A\u683C",description:"\u79FB\u9664\u4E24\u4E2A\u6216\u66F4\u591A\u8FDE\u7EED\u7684\u7A7A\u683C\u3002\u5FFD\u7565\u884C\u9996\u548C\u884C\u5C3E\u7684\u7A7A\u683C\u3002"},"remove-space-around-characters":{name:"\u53BB\u9664\u5B57\u7B26\u5468\u56F4\u7684\u7A7A\u683C",description:"\u786E\u4FDD\u67D0\u4E9B\u5B57\u7B26\u5468\u56F4\u6CA1\u6709\u7A7A\u683C\uFF08\u5305\u62EC\u5355\u4E2A\u7A7A\u683C\u6216\u5236\u8868\u7B26\uFF09\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B\u5F71\u54CDmarkdown\u683C\u5F0F\u3002","include-fullwidth-forms":{name:"\u5305\u62EC\u5168\u89D2\u5F62\u5F0F",description:'\u5305\u62EC\u5168\u89D2\u5F62\u5F0FUnicode\u5757'},"include-cjk-symbols-and-punctuation":{name:"\u5305\u62ECCJK\u7B26\u53F7\u548C\u6807\u70B9",description:'\u5305\u62ECCJK\u7B26\u53F7\u548C\u6807\u70B9Unicode\u5757'},"include-dashes":{name:"\u5305\u62EC\u7834\u6298\u53F7",description:"\u5305\u62ECen dash (\u2013)\u548Cem dash (\u2014)"},"other-symbols":{name:"\u5176\u4ED6\u7B26\u53F7",description:"\u8981\u5305\u62EC\u7684\u5176\u4ED6\u7B26\u53F7"}},"remove-space-before-or-after-characters":{name:"\u5220\u9664\u5B57\u7B26\u524D\u540E\u7684\u7A7A\u683C",description:"\u5220\u9664\u6307\u5B9A\u5B57\u7B26\u4E4B\u524D\u548C\u6307\u5B9A\u5B57\u7B26\u4E4B\u540E\u7684\u7A7A\u683C\u3002 \u8BF7\u6CE8\u610F\uFF0C\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u5BFC\u81F4\u964D\u4EF7\u683C\u5F0F\u51FA\u73B0\u95EE\u9898\u3002","characters-to-remove-space-before":{name:"\u5220\u9664\u5B57\u7B26\u524D\u7684\u7A7A\u683C",description:"\u5220\u9664\u6307\u5B9A\u5B57\u7B26\u524D\u7684\u7A7A\u683C\u3002 **\u6CE8\u610F\uFF1A\u5728\u5B57\u7B26\u5217\u8868\u4E2D\u4F7F\u7528`{`\u6216`}`\u4F1A\u610F\u5916\u5F71\u54CD\u6587\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u5728\u5E55\u540E\u7684\u5FFD\u7565\u8BED\u6CD5\u4E2D\u4F7F\u7528\u3002**"},"characters-to-remove-space-after":{name:"\u5220\u9664\u5B57\u7B26\u540E\u7684\u7A7A\u683C",description:"\u5220\u9664\u6307\u5B9A\u5B57\u7B26\u540E\u7684\u7A7A\u683C\u3002 **\u6CE8\u610F\uFF1A\u5728\u5B57\u7B26\u5217\u8868\u4E2D\u4F7F\u7528`{`\u6216`}`\u4F1A\u610F\u5916\u5F71\u54CD\u6587\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u5728\u5E55\u540E\u7684\u5FFD\u7565\u8BED\u6CD5\u4E2D\u4F7F\u7528\u3002**"}},"remove-trailing-punctuation-in-heading":{name:"\u79FB\u9664\u6807\u9898\u4E2D\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7",description:"\u4ECE\u6807\u9898\u7684\u672B\u5C3E\u5220\u9664\u6307\u5B9A\u7684\u6807\u70B9\u7B26\u53F7\uFF0C\u786E\u4FDD\u5FFD\u7565HTML\u5B9E\u4F53\u5F15\u7528\u672B\u5C3E\u7684\u5206\u53F7\u3002","punctuation-to-remove":{name:"\u8981\u5220\u9664\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7",description:"\u8981\u4ECE\u6587\u4EF6\u6807\u9898\u4E2D\u5220\u9664\u7684\u7ED3\u5C3E\u6807\u70B9\u7B26\u53F7\u3002"}},"remove-yaml-keys":{name:"\u79FB\u9664 YAML \u952E",description:"\u79FB\u9664\u7279\u5B9A\u7684 YAML \u952E","yaml-keys-to-remove":{name:"\u9700\u8981\u79FB\u9664\u7684 YAML \u952E",description:"\u4ECE\u5E26\u6216\u4E0D\u5E26\u5192\u53F7\u7684 yaml frontmatter \u4E2D\u5220\u9664\u7684 YAML \u952E"}},"space-after-list-markers":{name:"\u5217\u8868\u6807\u8BB0\u540E\u7A7A\u683C",description:"\u5217\u8868\u6807\u8BB0\u548C\u590D\u9009\u6846\u540E\u5E94\u6709\u4E00\u4E2A\u7A7A\u683C"},"space-between-chinese-japanese-or-korean-and-english-or-numbers":{name:"\u4E2D\u6587\u65E5\u8BED\u6216\u97E9\u8BED\u4E0E\u82F1\u8BED\u6216\u6570\u5B57\u4E4B\u95F4\u7684\u7A7A\u683C",description:"\u786E\u4FDD\u4E2D\u6587\u3001\u65E5\u6587\u6216\u97E9\u6587\u548C\u82F1\u6587\u6216\u6570\u5B57\u7531\u5355\u4E2A\u7A7A\u683C\u5206\u9694. [\u53C2\u8003\u94FE\u63A5](https://github.com/sparanoid/chinese-copywriting-guidelines)"},"strong-style":{name:"\u52A0\u7C97\u98CE\u683C",description:"\u786E\u4FDD\u52A0\u7C97\u98CE\u683C\u4E00\u81F4",style:{name:"\u98CE\u683C",description:"\u7528\u4E8E\u8868\u793A\u52A0\u7C97\u7684\u98CE\u683C"}},"trailing-spaces":{name:"\u672B\u5C3E\u7A7A\u683C",description:"\u79FB\u9664\u6BCF\u884C\u672B\u5C3E\u591A\u4F59\u7684\u7A7A\u683C","twp-space-line-break":{name:"\u4E24\u4E2A\u7A7A\u683C\u7684\u6362\u884C",description:'\u5FFD\u7565\u4E24\u4E2A\u7A7A\u683C\u540E\u63A5\u6362\u884C\u7B26\u7684\u60C5\u51B5\uFF08"\u4E24\u4E2A\u7A7A\u683C\u89C4\u5219"\uFF09\u3002'}},"two-spaces-between-lines-with-content":{name:"\u5185\u5BB9\u95F4\u9694\u4E24\u4E2A\u7A7A\u683C",description:"\u786E\u4FDD\u5728\u6BB5\u843D\u3001\u5F15\u7528\u548C\u5217\u8868\u9879\u4E2D\uFF0C\u88AB\u5EF6\u7EED\u5230\u4E0B\u4E00\u884C\u7684\u5185\u5BB9\u7684\u884C\u672B\u6DFB\u52A0\u4E24\u4E2A\u7A7A\u683C\u3002"},"unordered-list-style":{name:"\u65E0\u5E8F\u5217\u8868\u98CE\u683C",description:"\u786E\u4FDD\u65E0\u5E8F\u5217\u8868\u7B26\u5408\u6307\u5B9A\u7684\u98CE\u683C","list-style":{name:"\u5217\u8868\u9879\u98CE\u683C",description:"\u5217\u8868\u9879\u9700\u8981\u6307\u5B9A\u7684\u98CE\u683C"}},"yaml-key-sort":{name:"YAML \u952E\u6392\u5E8F",description:"\u6839\u636E\u6307\u5B9A\u7684\u987A\u5E8F\u548C\u4F18\u5148\u7EA7\u5BF9 YAML \u952E\u8FDB\u884C\u6392\u5E8F\u3002\u6CE8\u610F\uFF1A\u4E5F\u8BB8\u4E5F\u4F1A\u5220\u9664\u7A7A\u767D\u884C\u3002","yaml-key-priority-sort-order":{name:"YAML \u952E\u4F18\u5148\u7EA7\u6392\u5E8F\u987A\u5E8F",description:"\u5BF9\u952E\u8FDB\u884C\u6392\u5E8F\u7684\u987A\u5E8F\uFF0C\u6BCF\u884C\u4E00\u4E2A\u952E\uFF0C\u6309\u5217\u8868\u4E2D\u7684\u987A\u5E8F\u8FDB\u884C\u6392\u5E8F"},"priority-keys-at-start-of-yaml":{name:"YAML \u521D\u59CB\u65F6\u952E\u7684\u4F18\u5148\u7EA7",description:"\u521D\u59CB\u65F6 YAML \u952E\u6392\u5E8F\u987A\u5E8F"},"yaml-sort-order-for-other-keys":{name:"YAML \u5176\u5B83\u952E\u7684\u6392\u5E8F\u987A\u5E8F",description:"\u5BF9 YAML \u952E\u4F18\u5148\u7EA7\u6392\u5E8F\u987A\u5E8F\u6587\u672C\u533A\u57DF\u4E2D\u672A\u627E\u5230\u7684\u952E\u8FDB\u884C\u6392\u5E8F"}},"yaml-timestamp":{name:"YAML \u65F6\u95F4\u6233",description:"\u5728 YAML frontmatter \u4E2D\u8DDF\u8E2A\u4E0A\u6B21\u7F16\u8F91\u6587\u6863\u7684\u65E5\u671F\u3002\u4ECE\u6587\u6863\u5143\u6570\u636E\u4E2D\u83B7\u53D6\u65E5\u671F\u3002","date-created":{name:"\u521B\u5EFA\u65E5\u671F",description:"\u63D2\u5165\u6587\u4EF6\u7684\u521B\u5EFA\u65E5\u671F"},"date-created-key":{name:"\u521B\u5EFA\u65E5\u671F\u7684\u952E",description:"\u4F7F\u7528\u54EA\u4E2A YAML \u952E\u6765\u8868\u793A\u521B\u5EFA\u65E5\u671F"},"force-retention-of-create-value":{name:"\u5F3A\u5236\u4FDD\u7559\u521B\u5EFA\u65E5\u671F\u7684\u952E\u503C",description:"\u91CD\u7528\u521B\u5EFA\u65E5\u671F\u7684 YAML frontmatter \u4E2D\u7684\u503C\uFF0C\u800C\u4E0D\u662F\u6587\u6863\u5143\u6570\u636E\uFF0C\u8FD9\u5BF9\u4E8E\u9632\u6B62\u6587\u6863\u5143\u6570\u636E\u66F4\u6539\u5BFC\u81F4\u503C\u66F4\u6539\u4E3A\u5176\u4ED6\u503C\u65F6\u975E\u5E38\u6709\u7528"},"date-modified":{name:"\u4FEE\u6539\u65E5\u671F",description:"\u63D2\u5165\u6587\u4EF6\u7684\u6700\u8FD1\u4E00\u6B21\u7684\u4FEE\u6539\u65E5\u671F"},"date-modified-key":{name:"\u4FEE\u6539\u65E5\u671F\u7684\u952E",description:"\u4F7F\u7528\u54EA\u4E2A YAML \u952E\u6765\u8868\u793A\u4FEE\u6539\u65E5\u671F"},format:{name:"\u683C\u5F0F",description:"Momentjs \u8BED\u6CD5\u98CE\u683C\u7684\u65E5\u671F\u683C\u5F0F \uFF08\u8BE6\u60C5\u8BBE\u7F6E\u89C1[Moment format options](https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/)"}},"yaml-title-alias":{name:"YAML \u6807\u9898\u522B\u540D",description:"\u5C06\u6587\u6863\u7684\u6807\u9898\u63D2\u5165 YAML frontmatter \u7684\u522B\u540D\u90E8\u5206\u3002\u4ECE\u7B2C\u4E00\u4E2A H1 \u6216\u6587\u6863\u540D\u4E2D\u83B7\u53D6\u6807\u9898","preserve-existing-alias-section-style":{name:"\u4FDD\u7559\u73B0\u6709\u522B\u540D\u90E8\u5206\u6837\u5F0F",description:"\u5982\u679C\u8BBE\u7F6E\uFF0C\u6B64\u9879\u4EC5\u5728\u65B0\u521B\u5EFA\u7684\u522B\u540D\u90E8\u5206\u751F\u6548"},"keep-alias-that-matches-the-filename":{name:"\u786E\u4FDD\u522B\u540D\u4E0E\u6587\u4EF6\u540D\u5339\u914D",description:"\u8FD9\u6837\u7684\u522B\u540D\u901A\u5E38\u662F\u591A\u4F59\u7684"},"use-yaml-key-to-keep-track-of-old-filename-or-heading":{name:"\u4F7F\u7528 YAML \u952E `linter-yaml-title-alias` \u5E2E\u52A9\u66F4\u6539\u6587\u6863\u540D\u548C\u6807\u9898",description:"\u5982\u679C\u8BBE\u7F6E\uFF0C\u5F53\u7B2C\u4E00\u4E2A H1 \u6807\u9898\u66F4\u6539\u6216\u6587\u6863\u540D\uFF08\u5982\u679C\u7B2C\u4E00\u4E2A H1 \u4E0D\u5B58\u5728\uFF09\u66F4\u6539\u65F6\uFF0C\u5219\u6B64\u952E\u4E2D\u5B58\u50A8\u7684\u65E7\u522B\u540D\u5C06\u66FF\u6362\u4E3A\u65B0\u503C\uFF0C\u800C\u4E0D\u4EC5\u4EC5\u662F\u5728\u522B\u540D\u6570\u7EC4\u4E2D\u63D2\u5165\u65B0\u6761\u76EE"}},"yaml-title":{name:"YAML \u6807\u9898",description:"\u5C06\u6587\u4EF6\u7684\u6807\u9898\u63D2\u5165\u5230 YAML frontmatter \u4E2D\u3002 \u6839\u636E\u6240\u9009\u6A21\u5F0F\u83B7\u53D6\u6807\u9898\u3002","title-key":{name:"\u6807\u9898\u952E",description:"\u6807\u9898\u4F7F\u7528\u54EA\u4E00\u4E2A YAML \u952E"},mode:{name:"\u6A21\u5F0F",description:"\u7528\u4E8E\u83B7\u53D6\u6807\u9898\u7684\u65B9\u6CD5"}}},enums:{"Title Case":"\u6807\u9898\u5927\u5C0F\u5199","ALL CAPS":"\u5168\u90E8\u5927\u5199","First letter":"\u9996\u5B57\u6BCD\u5927\u5199",".":".",")":")",ERROR:"\u9519\u8BEF",TRACE:"\u8DDF\u8E2A",DEBUG:"debug",INFO:"\u4FE1\u606F",WARN:"\u8B66\u544A",SILENT:"\u9759\u9ED8",ascending:"\u5347\u5E8F",lazy:"\u61D2\u52A0\u8F7D",Nothing:"\u65E0","Remove hashtag":"\u79FB\u9664hashtag","Remove whole tag":"\u79FB\u9664\u6574\u4E2A\u6807\u7B7E",asterisk:"\u661F\u53F7",underscore:"\u4E0B\u5212\u7EBF",consistent:"\u4E00\u81F4","-":"-","*":"*","+":"+",space:"\u7A7A\u95F4","no space":"\u6CA1\u6709\u7A7A\u95F4",None:"None","Ascending Alphabetical":"\u6309\u5B57\u6BCD\u987A\u5E8F\u5347\u5E8F","Descending Alphabetical":"\u6309\u5B57\u6BCD\u987A\u5E8F\u964D\u5E8F","multi-line":"\u591A\u884C","single-line":"\u5355\u884C","single string to single-line":"\u4E00\u884C\u4E00\u4E2A\u5B57\u7B26\u4E32","single string to multi-line":"\u591A\u884C\u4E00\u4E2A\u5B57\u7B26\u4E32","single string comma delimited":"\u5B57\u7B26\u4E32\u7528\u9017\u53F7\u5206\u9694","single string space delimited":"\u5B57\u7B26\u4E32\u7528\u7A7A\u683C\u5206\u9694","single-line space delimited":"\u5355\u884C\u7A7A\u683C\u5206\u9694","first-h1":"\u7B2C\u4E00\u7EA7\u6807\u9898","first-h1-or-filename-if-h1-missing":"\u7B2C\u4E00\u7EA7 1 \u6807\u9898\u6216\u6587\u4EF6\u540D\uFF08\u5982\u679C\u7F3A\u5C11 1 \u7EA7\u6807\u9898\uFF09",filename:"\u6587\u4EF6\u540D","''":"''","\u2018\u2019":"\u2018\u2019",'""':'""',"\u201C\u201D":"\u201C\u201D"}};var Qc={};var Zc={ar:Cc,cz:qc,da:Mc,de:Ic,en:so,es:_c,fr:Bc,hi:Fc,id:Rc,it:Dc,ja:Nc,ko:jc,nl:Pc,no:Kc,pl:$c,"pt-BR":Yc,pt:Hc,ro:Wc,ru:Vc,sq:Uc,tr:ua,uk:ua,"zh-TW":Qc,zh:Gc},ma="en",pa=Zc[ma];function ga(e){ma=e,pa=Zc[ma||"en"]}function E(e){return pa||et(`locale not found for '${ma}'`),pa&&no(pa,e)||no(so,e)}var ha=function(e){if(e==null)return Ug;if(typeof e=="string")return Vg(e);if(typeof e=="object")return Array.isArray(e)?Yg(e):Wg(e);if(typeof e=="function")return fa(e);throw new Error("Expected function, string, or object as test")};function Yg(e){let t=[],i=-1;for(;++i":""))+")"})}return u;function u(){let m=[],g,h,v;if((!t||r(o,l,d[d.length-1]||null))&&(m=Gg(i(o,d)),m[0]===ya))return m;if(o.children&&m[0]!==lo)for(h=(n?o.children.length:-1)+a,v=d.concat(o);h>-1&&h=0;){let r=e.charAt(n);if(r===` +`)break;r.trim()===""||r===">"?i=r+i:i="",n--}return[i,n]}function ed(e=""){let[t]=Xc(e,e.length);return` +`+t.trim()}function Qg(e,t){if(t===0)return e;let i=t,n=t;for(;i>=0;){let r=e.charAt(i);if(r.trim()!=="")break;r===` `&&(n=i),i--}return i<0||n===0?e.substring(t+1):e.substring(0,n)+` -`+e.substring(t)}function qg(e,t,i){if(i===0)return e;let n=t.split(">").length-1,r=i,a=i,s=0;for(;r>=0;){let u=e.charAt(r);if(u.trim()!==""&&u!==">")break;if(u===">")s++;else if(u===` -`)if(s===0||s===n||s+1===n)a=r,s=0;else break;r--}if(r<0||a===0)return e.substring(i+1);let o=e.substring(a,i);if(o===` -`||o.startsWith(` +`+e.substring(t)}function Zg(e,t,i){if(i===0)return e;let n=t.split(">").length-1,r=i,a=i,s=0,o=!1,l="";for(;r>=0;){let g=e.charAt(r);if(g.trim()!==""&&g!==">")break;if(g===">"){if(o)break;s++}else if(g===` +`)if(s===0||s===n||s+1===n)a=r,s=0,l===` +`&&(o=!0);else break;r--,l=g}if(r<0||a===0)return e.substring(i+1);let d=e.substring(a,i);if(d===` +`||d.startsWith(` `))return e.substring(0,a)+` -`+e.substring(i);let d=e.lastIndexOf(` -`,a-1),c="";return d===-1?c=e.substring(0,a):c=e.substring(d,a),e.substring(0,a)+Hc(c)+e.substring(i)}function Ig(e,t){if(t===e.length-1)return e;let i=t,n=t,r=!0;for(;i").length-1,r=i,a=i,s=!0,o=0;for(;r")break;if(p===">")o++;else if(p===` -`)if(o===0||o===n||o+1===n)o=0,s?s=!1:a=r;else break;r++}if(r===e.length||a===e.length-1)return e.substring(0,i);let l=e.substring(i,a);if(l===` -`||l.endsWith(` +`+e.substring(n)}function Xg(e,t,i){if(i===e.length-1)return e;let n=t.split(">").length-1,r=i,a=i,s=!0,o=0,l=!1,d="";for(;r")break;if(h===">"){if(l)break;o++}else if(h===` +`)if(o===0||o===n||o+1===n)o=0,s?s=!1:a=r,d===` +`&&(l=!0);else break;r++,d=h}if(r===e.length||a===e.length-1)return e.substring(0,i);let c=e.substring(i,a);if(c===` +`||c.endsWith(` `))return e.substring(0,i)+` -`+e.substring(a);let c=e.indexOf(` -`,a+1),u="";return c===-1?u=e.substring(a):u=e.substring(a+1,c),e.substring(0,i)+Hc(u)+e.substring(a)}function et(e,t,i){let[n,r]=$c(e,t);if(n.trim()!==""){let s=_g(e,n,i);return qg(s,n,r)}let a=Ig(e,i);return Mg(a,r)}function Yc(e,t=0){let i=3735928559^t,n=1103547991^t;for(let r=0,a;r>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),4294967296*(2097151&n)+(i>>>0)}function Wc(e){return e=e.replaceAll("\\b","\b"),e=e.replaceAll("\\f","\f"),e=e.replaceAll("\\n",` -`),e=e.replaceAll("\\r","\r"),e=e.replaceAll("\\t"," "),e=e.replaceAll("\\v","\v"),e}function xn(e,t){if(t==0)return t;let i=t;for(;i>0&&e.charAt(i-1)!==` -`;)i--;return i}function Vc(e,t,i,n){return n>e.length-1?e:e.slice(0,n)+e.slice(n,e.length).replace(t,i)}function Me(e,t,i,n){let r=e.length,a=0,s;if(t<0?t=-t>r?0:r+t:t=t>r?r:t,i=i>0?i:0,n.length<1e4)s=Array.from(n),s.unshift(t,i),[].splice.apply(e,s);else for(i&&[].splice.apply(e,[t,i]);a0?(Me(e,e.length,0,t),e):t}var Uc=/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/;var Ue=Di(/[A-Za-z]/),wn=Di(/\d/),Gc=Di(/[\dA-Fa-f]/),Pe=Di(/[\dA-Za-z]/),Zc=Di(/[!-/:-@[-`{-~]/),io=Di(/[#-'*+\--9=?A-Z^-~]/);function kn(e){return e!==null&&(e<32||e===127)}function ee(e){return e!==null&&(e<0||e===32)}function F(e){return e!==null&&e<-2}function Z(e){return e===-2||e===-1||e===32}var Qc=Di(/\s/),Jc=Di(Uc);function Di(e){return t;function t(i){return i!==null&&e.test(String.fromCharCode(i))}}function to(e){if(e===null||ee(e)||Qc(e))return 1;if(Jc(e))return 2}function Rt(e,t,i){let n=[],r=-1;for(;++r1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;let u=Object.assign({},e[n][1].end),p=Object.assign({},e[i][1].start);Xc(u,-l),Xc(p,l),s={type:l>1?"strongSequence":"emphasisSequence",start:u,end:Object.assign({},e[n][1].end)},o={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[i][1].start),end:p},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[i][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},s.start),e[i][1].start=Object.assign({},o.end),d=[],e[n][1].end.offset-e[n][1].start.offset&&(d=Ne(d,[["enter",e[n][1],t],["exit",e[n][1],t]])),d=Ne(d,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",a,t]]),d=Ne(d,Rt(t.parser.constructs.insideSpan.null,e.slice(n+1,i),t)),d=Ne(d,[["exit",a,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[i][1].end.offset-e[i][1].start.offset?(c=2,d=Ne(d,[["enter",e[i][1],t],["exit",e[i][1],t]])):c=0,Me(e,n-1,i-n+3,d),i=n+d.length-c-2;break}}for(i=-1;++i=4?s(d):i(d)}function s(d){return d===null?l(d):F(d)?e.attempt(Yg,s,l)(d):(e.enter("codeFlowValue"),o(d))}function o(d){return d===null||F(d)?(e.exit("codeFlowValue"),s(d)):(e.consume(d),o)}function l(d){return e.exit("codeIndented"),t(d)}}function Vg(e,t,i){let n=this;return r;function r(s){return n.parser.lazy[n.now().line]?i(s):F(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r):$(e,a,"linePrefix",4+1)(s)}function a(s){let o=n.events[n.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(s):F(s)?r(s):i(s)}}var ro={name:"codeText",tokenize:Zg,resolve:Ug,previous:Gg};function Ug(e){let t=e.length-4,i=3,n,r;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(n=i;++n=4?t(s):e.interrupt(n.parser.constructs.flow,i,t)(s)}}function fa(e,t,i,n,r,a,s,o,l){let d=l||Number.POSITIVE_INFINITY,c=0;return u;function u(b){return b===60?(e.enter(n),e.enter(r),e.enter(a),e.consume(b),e.exit(a),p):b===null||b===41||kn(b)?i(b):(e.enter(n),e.enter(s),e.enter(o),e.enter("chunkString",{contentType:"string"}),y(b))}function p(b){return b===62?(e.enter(a),e.consume(b),e.exit(a),e.exit(r),e.exit(n),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),g(b))}function g(b){return b===62?(e.exit("chunkString"),e.exit(o),p(b)):b===null||b===60||F(b)?i(b):(e.consume(b),b===92?h:g)}function h(b){return b===60||b===62||b===92?(e.consume(b),g):g(b)}function y(b){return b===40?++c>d?i(b):(e.consume(b),y):b===41?c--?(e.consume(b),y):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(n),t(b)):b===null||ee(b)?c?i(b):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(n),t(b)):kn(b)?i(b):(e.consume(b),b===92?w:y)}function w(b){return b===40||b===41||b===92?(e.consume(b),y):y(b)}}function ya(e,t,i,n,r,a){let s=this,o=0,l;return d;function d(g){return e.enter(n),e.enter(r),e.consume(g),e.exit(r),e.enter(a),c}function c(g){return g===null||g===91||g===93&&!l||g===94&&!o&&"_hiddenFootnoteSupport"in s.parser.constructs||o>999?i(g):g===93?(e.exit(a),e.enter(r),e.consume(g),e.exit(r),e.exit(n),t):F(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(g))}function u(g){return g===null||g===91||g===93||F(g)||o++>999?(e.exit("chunkString"),c(g)):(e.consume(g),l=l||!Z(g),g===92?p:u)}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,u):u(g)}}function ba(e,t,i,n,r,a){let s;return o;function o(p){return e.enter(n),e.enter(r),e.consume(p),e.exit(r),s=p===40?41:p,l}function l(p){return p===s?(e.enter(r),e.consume(p),e.exit(r),e.exit(n),t):(e.enter(a),d(p))}function d(p){return p===s?(e.exit(a),l(s)):p===null?i(p):F(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),$(e,d,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===s||p===null||F(p)?(e.exit("chunkString"),d(p)):(e.consume(p),p===92?u:c)}function u(p){return p===s||p===92?(e.consume(p),c):c(p)}}function it(e,t){let i;return n;function n(r){return F(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),i=!0,n):Z(r)?$(e,n,i?"linePrefix":"lineSuffix")(r):t(r)}}function Be(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var so={name:"definition",tokenize:nh},th={tokenize:rh,partial:!0};function nh(e,t,i){let n=this,r;return a;function a(l){return e.enter("definition"),ya.call(n,e,s,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(l)}function s(l){return r=Be(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),l===58?(e.enter("definitionMarker"),e.consume(l),e.exit("definitionMarker"),it(e,fa(e,e.attempt(th,$(e,o,"whitespace"),$(e,o,"whitespace")),i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):i(l)}function o(l){return l===null||F(l)?(e.exit("definition"),n.parser.defined.includes(r)||n.parser.defined.push(r),t(l)):i(l)}}function rh(e,t,i){return n;function n(s){return ee(s)?it(e,r)(s):i(s)}function r(s){return s===34||s===39||s===40?ba(e,$(e,a,"whitespace"),i,"definitionTitle","definitionTitleMarker","definitionTitleString")(s):i(s)}function a(s){return s===null||F(s)?t(s):i(s)}}var oo={name:"hardBreakEscape",tokenize:ah};function ah(e,t,i){return n;function n(a){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(a),r}function r(a){return F(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):i(a)}}var lo={name:"headingAtx",tokenize:oh,resolve:sh};function sh(e,t){let i=e.length-2,n=3,r,a;return e[n][1].type==="whitespace"&&(n+=2),i-2>n&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(n===i-1||i-4>n&&e[i-2][1].type==="whitespace")&&(i-=n+1===i?2:4),i>n&&(r={type:"atxHeadingText",start:e[n][1].start,end:e[i][1].end},a={type:"chunkText",start:e[n][1].start,end:e[i][1].end,contentType:"text"},Me(e,n,i-n+1,[["enter",r,t],["enter",a,t],["exit",a,t],["exit",r,t]])),e}function oh(e,t,i){let n=this,r=0;return a;function a(c){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&r++<6?(e.consume(c),s):c===null||ee(c)?(e.exit("atxHeadingSequence"),n.interrupt?t(c):o(c)):i(c)}function o(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||F(c)?(e.exit("atxHeading"),t(c)):Z(c)?$(e,o,"whitespace")(c):(e.enter("atxHeadingText"),d(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),o(c))}function d(c){return c===null||c===35||ee(c)?(e.exit("atxHeadingText"),o(c)):(e.consume(c),d)}}var id=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],co=["pre","script","style","textarea"];var uo={name:"htmlFlow",tokenize:dh,resolveTo:ch,concrete:!0},lh={tokenize:uh,partial:!0};function ch(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function dh(e,t,i){let n=this,r,a,s,o,l;return d;function d(x){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(x),c}function c(x){return x===33?(e.consume(x),u):x===47?(e.consume(x),h):x===63?(e.consume(x),r=3,n.interrupt?t:ue):Ue(x)?(e.consume(x),s=String.fromCharCode(x),a=!0,y):i(x)}function u(x){return x===45?(e.consume(x),r=2,p):x===91?(e.consume(x),r=5,s="CDATA[",o=0,g):Ue(x)?(e.consume(x),r=4,n.interrupt?t:ue):i(x)}function p(x){return x===45?(e.consume(x),n.interrupt?t:ue):i(x)}function g(x){return x===s.charCodeAt(o++)?(e.consume(x),o===s.length?n.interrupt?t:N:g):i(x)}function h(x){return Ue(x)?(e.consume(x),s=String.fromCharCode(x),y):i(x)}function y(x){return x===null||x===47||x===62||ee(x)?x!==47&&a&&co.includes(s.toLowerCase())?(r=1,n.interrupt?t(x):N(x)):id.includes(s.toLowerCase())?(r=6,x===47?(e.consume(x),w):n.interrupt?t(x):N(x)):(r=7,n.interrupt&&!n.parser.lazy[n.now().line]?i(x):a?S(x):b(x)):x===45||Pe(x)?(e.consume(x),s+=String.fromCharCode(x),y):i(x)}function w(x){return x===62?(e.consume(x),n.interrupt?t:N):i(x)}function b(x){return Z(x)?(e.consume(x),b):j(x)}function S(x){return x===47?(e.consume(x),j):x===58||x===95||Ue(x)?(e.consume(x),T):Z(x)?(e.consume(x),S):j(x)}function T(x){return x===45||x===46||x===58||x===95||Pe(x)?(e.consume(x),T):C(x)}function C(x){return x===61?(e.consume(x),_):Z(x)?(e.consume(x),C):S(x)}function _(x){return x===null||x===60||x===61||x===62||x===96?i(x):x===34||x===39?(e.consume(x),l=x,A):Z(x)?(e.consume(x),_):(l=null,B(x))}function A(x){return x===null||F(x)?i(x):x===l?(e.consume(x),q):(e.consume(x),A)}function B(x){return x===null||x===34||x===39||x===60||x===61||x===62||x===96||ee(x)?C(x):(e.consume(x),B)}function q(x){return x===47||x===62||Z(x)?S(x):i(x)}function j(x){return x===62?(e.consume(x),Y):i(x)}function Y(x){return Z(x)?(e.consume(x),Y):x===null||F(x)?N(x):i(x)}function N(x){return x===45&&r===2?(e.consume(x),re):x===60&&r===1?(e.consume(x),Q):x===62&&r===4?(e.consume(x),ae):x===63&&r===3?(e.consume(x),ue):x===93&&r===5?(e.consume(x),de):F(x)&&(r===6||r===7)?e.check(lh,ae,U)(x):x===null||F(x)?U(x):(e.consume(x),N)}function U(x){return e.exit("htmlFlowData"),D(x)}function D(x){return x===null?z(x):F(x)?e.attempt({tokenize:W,partial:!0},D,z)(x):(e.enter("htmlFlowData"),N(x))}function W(x,pi,Ye){return Re;function Re(De){return x.enter("lineEnding"),x.consume(De),x.exit("lineEnding"),ri}function ri(De){return n.parser.lazy[n.now().line]?Ye(De):pi(De)}}function re(x){return x===45?(e.consume(x),ue):N(x)}function Q(x){return x===47?(e.consume(x),s="",ce):N(x)}function ce(x){return x===62&&co.includes(s.toLowerCase())?(e.consume(x),ae):Ue(x)&&s.length<8?(e.consume(x),s+=String.fromCharCode(x),ce):N(x)}function de(x){return x===93?(e.consume(x),ue):N(x)}function ue(x){return x===62?(e.consume(x),ae):x===45&&r===2?(e.consume(x),ue):N(x)}function ae(x){return x===null||F(x)?(e.exit("htmlFlowData"),z(x)):(e.consume(x),ae)}function z(x){return e.exit("htmlFlow"),t(x)}}function uh(e,t,i){return n;function n(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(yi,t,i)}}var po={name:"htmlText",tokenize:ph};function ph(e,t,i){let n=this,r,a,s,o;return l;function l(z){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(z),d}function d(z){return z===33?(e.consume(z),c):z===47?(e.consume(z),B):z===63?(e.consume(z),_):Ue(z)?(e.consume(z),Y):i(z)}function c(z){return z===45?(e.consume(z),u):z===91?(e.consume(z),a="CDATA[",s=0,w):Ue(z)?(e.consume(z),C):i(z)}function u(z){return z===45?(e.consume(z),p):i(z)}function p(z){return z===null||z===62?i(z):z===45?(e.consume(z),g):h(z)}function g(z){return z===null||z===62?i(z):h(z)}function h(z){return z===null?i(z):z===45?(e.consume(z),y):F(z)?(o=h,de(z)):(e.consume(z),h)}function y(z){return z===45?(e.consume(z),ae):h(z)}function w(z){return z===a.charCodeAt(s++)?(e.consume(z),s===a.length?b:w):i(z)}function b(z){return z===null?i(z):z===93?(e.consume(z),S):F(z)?(o=b,de(z)):(e.consume(z),b)}function S(z){return z===93?(e.consume(z),T):b(z)}function T(z){return z===62?ae(z):z===93?(e.consume(z),T):b(z)}function C(z){return z===null||z===62?ae(z):F(z)?(o=C,de(z)):(e.consume(z),C)}function _(z){return z===null?i(z):z===63?(e.consume(z),A):F(z)?(o=_,de(z)):(e.consume(z),_)}function A(z){return z===62?ae(z):_(z)}function B(z){return Ue(z)?(e.consume(z),q):i(z)}function q(z){return z===45||Pe(z)?(e.consume(z),q):j(z)}function j(z){return F(z)?(o=j,de(z)):Z(z)?(e.consume(z),j):ae(z)}function Y(z){return z===45||Pe(z)?(e.consume(z),Y):z===47||z===62||ee(z)?N(z):i(z)}function N(z){return z===47?(e.consume(z),ae):z===58||z===95||Ue(z)?(e.consume(z),U):F(z)?(o=N,de(z)):Z(z)?(e.consume(z),N):ae(z)}function U(z){return z===45||z===46||z===58||z===95||Pe(z)?(e.consume(z),U):D(z)}function D(z){return z===61?(e.consume(z),W):F(z)?(o=D,de(z)):Z(z)?(e.consume(z),D):N(z)}function W(z){return z===null||z===60||z===61||z===62||z===96?i(z):z===34||z===39?(e.consume(z),r=z,re):F(z)?(o=W,de(z)):Z(z)?(e.consume(z),W):(e.consume(z),r=void 0,ce)}function re(z){return z===r?(e.consume(z),Q):z===null?i(z):F(z)?(o=re,de(z)):(e.consume(z),re)}function Q(z){return z===62||z===47||ee(z)?N(z):i(z)}function ce(z){return z===null||z===34||z===39||z===60||z===61||z===96?i(z):z===62||ee(z)?N(z):(e.consume(z),ce)}function de(z){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(z),e.exit("lineEnding"),$(e,ue,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ue(z){return e.enter("htmlTextData"),o(z)}function ae(z){return z===62?(e.consume(z),e.exit("htmlTextData"),e.exit("htmlText"),t):i(z)}}var tt={name:"labelEnd",tokenize:bh,resolveTo:yh,resolveAll:fh},mh={tokenize:vh},gh={tokenize:xh},hh={tokenize:wh};function fh(e){let t=-1,i;for(;++t999||u===93&&!s||u===null||u===91||ee(u))return i(u);if(u===93){e.exit("chunkString");let p=e.exit("gfmFootnoteCallString");return r.includes(Be(n.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):i(u)}return ee(u)||(s=!0),a++,e.consume(u),u===92?c:d}function c(u){return u===91||u===92||u===93?(e.consume(u),a++,d):d(u)}}function jh(e,t,i){let n=this,r=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]),a,s=0,o;return l;function l(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),d}function d(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):i(h)}function c(h){if(s>999||h===93&&!o||h===null||h===91||ee(h))return i(h);if(h===93){e.exit("chunkString");let y=e.exit("gfmFootnoteDefinitionLabelString");return a=Be(n.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return ee(h)||(o=!0),s++,e.consume(h),h===92?u:c}function u(h){return h===91||h===92||h===93?(e.consume(h),s++,c):c(h)}function p(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),r.includes(a)||r.push(a),$(e,g,"gfmFootnoteDefinitionWhitespace")):i(h)}function g(h){return t(h)}}function Nh(e,t,i){return e.check(yi,t,e.attempt(Bh,t,i))}function Ph(e){e.exit("gfmFootnoteDefinition")}function Kh(e,t,i){let n=this;return $(e,r,"gfmFootnoteDefinitionIndent",4+1);function r(a){let s=n.events[n.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(a):i(a)}}var $h={tokenize:Hh},fo={text:{[91]:$h}};function Hh(e,t,i){let n=this;return r;function r(l){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?i(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return ee(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):i(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):i(l)}function o(l){return F(l)?t(l):Z(l)?e.check({tokenize:Yh},t,i)(l):i(l)}}function Yh(e,t,i){return $(e,n,"whitespace");function n(r){return r===null?i(r):t(r)}}var td={}.hasOwnProperty;function xa(e){let t={},i=-1;for(;++i=d||c+1s))return;let B=t.events.length,q=B,j,Y;for(;q--;)if(t.events[q][0]==="exit"&&t.events[q][1].type==="chunkFlow"){if(j){Y=t.events[q][1].end;break}j=!0}for(b(n),A=B;AT;){let _=i[C];t.containerState=_[1],_[0].exit.call(t,e)}i.length=T}function S(){r.write([null]),a=void 0,r=void 0,t.containerState._closeFlow=void 0}}function rf(e,t,i){return $(e,e.attempt(this.parser.constructs.document,t,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var yd={tokenize:af};function af(e){let t=this,i=e.attempt(yi,n,e.attempt(this.parser.constructs.flowInitial,r,$(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ao,r)),"linePrefix")));return i;function n(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,i}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,i}}var bd={resolveAll:kd()},vd=wd("string"),xd=wd("text");function wd(e){return{tokenize:t,resolveAll:kd(e==="text"?sf:void 0)};function t(i){let n=this,r=this.parser.constructs[e],a=i.attempt(r,s,o);return s;function s(c){return d(c)?a(c):o(c)}function o(c){if(c===null){i.consume(c);return}return i.enter("data"),i.consume(c),l}function l(c){return d(c)?(i.exit("data"),a(c)):(i.consume(c),l)}function d(c){if(c===null)return!0;let u=r[c],p=-1;if(u)for(;++p-1&&(s[0]=s[0].slice(n)),a>0&&s.push(e[r].slice(0,a))),s}function lf(e,t){let i=-1,n=[],r;for(;++i>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),4294967296*(2097151&n)+(i>>>0)}function td(e){return e=e.replaceAll("\\b","\b"),e=e.replaceAll("\\f","\f"),e=e.replaceAll("\\n",` +`),e=e.replaceAll("\\r","\r"),e=e.replaceAll("\\t"," "),e=e.replaceAll("\\v","\v"),e}function zn(e,t){if(t==0)return t;let i=t;for(;i>0&&e.charAt(i-1)!==` +`;)i--;return i}function nd(e,t,i,n){return n>e.length-1?e:e.slice(0,n)+e.slice(n,e.length).replace(t,i)}function rd(e,t){let i=0;for(let n=0,r=e.length;n-1&&(i++,n=a)}return i}function Ce(e,t,i,n){let r=e.length,a=0,s;if(t<0?t=-t>r?0:r+t:t=t>r?r:t,i=i>0?i:0,n.length<1e4)s=Array.from(n),s.unshift(t,i),[].splice.apply(e,s);else for(i&&[].splice.apply(e,[t,i]);a0?(Ce(e,e.length,0,t),e):t}var ad=/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/;var Ge=Di(/[A-Za-z]/),Sn=Di(/\d/),sd=Di(/[\dA-Fa-f]/),Pe=Di(/[\dA-Za-z]/),od=Di(/[!-/:-@[-`{-~]/),uo=Di(/[#-'*+\--9=?A-Z^-~]/);function Tn(e){return e!==null&&(e<32||e===127)}function X(e){return e!==null&&(e<0||e===32)}function B(e){return e!==null&&e<-2}function G(e){return e===-2||e===-1||e===32}var ld=Di(/\s/),cd=Di(ad);function Di(e){return t;function t(i){return i!==null&&e.test(String.fromCharCode(i))}}function po(e){if(e===null||X(e)||ld(e))return 1;if(cd(e))return 2}function Kt(e,t,i){let n=[],r=-1;for(;++r1&&e[i][1].end.offset-e[i][1].start.offset>1?2:1;let u=Object.assign({},e[n][1].end),m=Object.assign({},e[i][1].start);dd(u,-l),dd(m,l),s={type:l>1?"strongSequence":"emphasisSequence",start:u,end:Object.assign({},e[n][1].end)},o={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[i][1].start),end:m},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[i][1].start)},r={type:l>1?"strong":"emphasis",start:Object.assign({},s.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},s.start),e[i][1].start=Object.assign({},o.end),d=[],e[n][1].end.offset-e[n][1].start.offset&&(d=je(d,[["enter",e[n][1],t],["exit",e[n][1],t]])),d=je(d,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",a,t]]),d=je(d,Kt(t.parser.constructs.insideSpan.null,e.slice(n+1,i),t)),d=je(d,[["exit",a,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[i][1].end.offset-e[i][1].start.offset?(c=2,d=je(d,[["enter",e[i][1],t],["exit",e[i][1],t]])):c=0,Ce(e,n-1,i-n+3,d),i=n+d.length-c-2;break}}for(i=-1;++i=4?s(d):i(d)}function s(d){return d===null?l(d):B(d)?e.attempt(dh,s,l)(d):(e.enter("codeFlowValue"),o(d))}function o(d){return d===null||B(d)?(e.exit("codeFlowValue"),s(d)):(e.consume(d),o)}function l(d){return e.exit("codeIndented"),t(d)}}function ph(e,t,i){let n=this;return r;function r(s){return n.parser.lazy[n.now().line]?i(s):B(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r):K(e,a,"linePrefix",4+1)(s)}function a(s){let o=n.events[n.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(s):B(s)?r(s):i(s)}}var go={name:"codeText",tokenize:hh,resolve:mh,previous:gh};function mh(e){let t=e.length-4,i=3,n,r;if((e[i][1].type==="lineEnding"||e[i][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(n=i;++n=4?t(s):e.interrupt(n.parser.constructs.flow,i,t)(s)}}function Sa(e,t,i,n,r,a,s,o,l){let d=l||Number.POSITIVE_INFINITY,c=0;return u;function u(z){return z===60?(e.enter(n),e.enter(r),e.enter(a),e.consume(z),e.exit(a),m):z===null||z===41||Tn(z)?i(z):(e.enter(n),e.enter(s),e.enter(o),e.enter("chunkString",{contentType:"string"}),v(z))}function m(z){return z===62?(e.enter(a),e.consume(z),e.exit(a),e.exit(r),e.exit(n),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),g(z))}function g(z){return z===62?(e.exit("chunkString"),e.exit(o),m(z)):z===null||z===60||B(z)?i(z):(e.consume(z),z===92?h:g)}function h(z){return z===60||z===62||z===92?(e.consume(z),g):g(z)}function v(z){return z===40?++c>d?i(z):(e.consume(z),v):z===41?c--?(e.consume(z),v):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(n),t(z)):z===null||X(z)?c?i(z):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(n),t(z)):Tn(z)?i(z):(e.consume(z),z===92?w:v)}function w(z){return z===40||z===41||z===92?(e.consume(z),v):v(z)}}function Ta(e,t,i,n,r,a){let s=this,o=0,l;return d;function d(g){return e.enter(n),e.enter(r),e.consume(g),e.exit(r),e.enter(a),c}function c(g){return g===null||g===91||g===93&&!l||g===94&&!o&&"_hiddenFootnoteSupport"in s.parser.constructs||o>999?i(g):g===93?(e.exit(a),e.enter(r),e.consume(g),e.exit(r),e.exit(n),t):B(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(g))}function u(g){return g===null||g===91||g===93||B(g)||o++>999?(e.exit("chunkString"),c(g)):(e.consume(g),l=l||!G(g),g===92?m:u)}function m(g){return g===91||g===92||g===93?(e.consume(g),o++,u):u(g)}}function Aa(e,t,i,n,r,a){let s;return o;function o(m){return e.enter(n),e.enter(r),e.consume(m),e.exit(r),s=m===40?41:m,l}function l(m){return m===s?(e.enter(r),e.consume(m),e.exit(r),e.exit(n),t):(e.enter(a),d(m))}function d(m){return m===s?(e.exit(a),l(s)):m===null?i(m):B(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),K(e,d,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(m))}function c(m){return m===s||m===null||B(m)?(e.exit("chunkString"),d(m)):(e.consume(m),m===92?u:c)}function u(m){return m===s||m===92?(e.consume(m),c):c(m)}}function nt(e,t){let i;return n;function n(r){return B(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),i=!0,n):G(r)?K(e,n,i?"linePrefix":"lineSuffix")(r):t(r)}}function Be(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var fo={name:"definition",tokenize:kh},wh={tokenize:zh,partial:!0};function kh(e,t,i){let n=this,r;return a;function a(l){return e.enter("definition"),Ta.call(n,e,s,i,"definitionLabel","definitionLabelMarker","definitionLabelString")(l)}function s(l){return r=Be(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),l===58?(e.enter("definitionMarker"),e.consume(l),e.exit("definitionMarker"),nt(e,Sa(e,e.attempt(wh,K(e,o,"whitespace"),K(e,o,"whitespace")),i,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):i(l)}function o(l){return l===null||B(l)?(e.exit("definition"),n.parser.defined.includes(r)||n.parser.defined.push(r),t(l)):i(l)}}function zh(e,t,i){return n;function n(s){return X(s)?nt(e,r)(s):i(s)}function r(s){return s===34||s===39||s===40?Aa(e,K(e,a,"whitespace"),i,"definitionTitle","definitionTitleMarker","definitionTitleString")(s):i(s)}function a(s){return s===null||B(s)?t(s):i(s)}}var yo={name:"hardBreakEscape",tokenize:Sh};function Sh(e,t,i){return n;function n(a){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(a),r}function r(a){return B(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):i(a)}}var bo={name:"headingAtx",tokenize:Ah,resolve:Th};function Th(e,t){let i=e.length-2,n=3,r,a;return e[n][1].type==="whitespace"&&(n+=2),i-2>n&&e[i][1].type==="whitespace"&&(i-=2),e[i][1].type==="atxHeadingSequence"&&(n===i-1||i-4>n&&e[i-2][1].type==="whitespace")&&(i-=n+1===i?2:4),i>n&&(r={type:"atxHeadingText",start:e[n][1].start,end:e[i][1].end},a={type:"chunkText",start:e[n][1].start,end:e[i][1].end,contentType:"text"},Ce(e,n,i-n+1,[["enter",r,t],["enter",a,t],["exit",a,t],["exit",r,t]])),e}function Ah(e,t,i){let n=this,r=0;return a;function a(c){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&r++<6?(e.consume(c),s):c===null||X(c)?(e.exit("atxHeadingSequence"),n.interrupt?t(c):o(c)):i(c)}function o(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||B(c)?(e.exit("atxHeading"),t(c)):G(c)?K(e,o,"whitespace")(c):(e.enter("atxHeadingText"),d(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),o(c))}function d(c){return c===null||c===35||X(c)?(e.exit("atxHeadingText"),o(c)):(e.consume(c),d)}}var pd=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vo=["pre","script","style","textarea"];var xo={name:"htmlFlow",tokenize:Oh,resolveTo:Lh,concrete:!0},Eh={tokenize:Ch,partial:!0};function Lh(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Oh(e,t,i){let n=this,r,a,s,o,l;return d;function d(x){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(x),c}function c(x){return x===33?(e.consume(x),u):x===47?(e.consume(x),h):x===63?(e.consume(x),r=3,n.interrupt?t:ue):Ge(x)?(e.consume(x),s=String.fromCharCode(x),a=!0,v):i(x)}function u(x){return x===45?(e.consume(x),r=2,m):x===91?(e.consume(x),r=5,s="CDATA[",o=0,g):Ge(x)?(e.consume(x),r=4,n.interrupt?t:ue):i(x)}function m(x){return x===45?(e.consume(x),n.interrupt?t:ue):i(x)}function g(x){return x===s.charCodeAt(o++)?(e.consume(x),o===s.length?n.interrupt?t:j:g):i(x)}function h(x){return Ge(x)?(e.consume(x),s=String.fromCharCode(x),v):i(x)}function v(x){return x===null||x===47||x===62||X(x)?x!==47&&a&&vo.includes(s.toLowerCase())?(r=1,n.interrupt?t(x):j(x)):pd.includes(s.toLowerCase())?(r=6,x===47?(e.consume(x),w):n.interrupt?t(x):j(x)):(r=7,n.interrupt&&!n.parser.lazy[n.now().line]?i(x):a?S(x):z(x)):x===45||Pe(x)?(e.consume(x),s+=String.fromCharCode(x),v):i(x)}function w(x){return x===62?(e.consume(x),n.interrupt?t:j):i(x)}function z(x){return G(x)?(e.consume(x),z):D(x)}function S(x){return x===47?(e.consume(x),D):x===58||x===95||Ge(x)?(e.consume(x),L):G(x)?(e.consume(x),S):D(x)}function L(x){return x===45||x===46||x===58||x===95||Pe(x)?(e.consume(x),L):q(x)}function q(x){return x===61?(e.consume(x),_):G(x)?(e.consume(x),q):S(x)}function _(x){return x===null||x===60||x===61||x===62||x===96?i(x):x===34||x===39?(e.consume(x),l=x,A):G(x)?(e.consume(x),_):(l=null,F(x))}function A(x){return x===null||B(x)?i(x):x===l?(e.consume(x),M):(e.consume(x),A)}function F(x){return x===null||x===34||x===39||x===60||x===61||x===62||x===96||X(x)?q(x):(e.consume(x),F)}function M(x){return x===47||x===62||G(x)?S(x):i(x)}function D(x){return x===62?(e.consume(x),H):i(x)}function H(x){return G(x)?(e.consume(x),H):x===null||B(x)?j(x):i(x)}function j(x){return x===45&&r===2?(e.consume(x),re):x===60&&r===1?(e.consume(x),Q):x===62&&r===4?(e.consume(x),ae):x===63&&r===3?(e.consume(x),ue):x===93&&r===5?(e.consume(x),de):B(x)&&(r===6||r===7)?e.check(Eh,ae,V)(x):x===null||B(x)?V(x):(e.consume(x),j)}function V(x){return e.exit("htmlFlowData"),R(x)}function R(x){return x===null?k(x):B(x)?e.attempt({tokenize:Y,partial:!0},R,k)(x):(e.enter("htmlFlowData"),j(x))}function Y(x,pi,Ye){return Re;function Re(De){return x.enter("lineEnding"),x.consume(De),x.exit("lineEnding"),ai}function ai(De){return n.parser.lazy[n.now().line]?Ye(De):pi(De)}}function re(x){return x===45?(e.consume(x),ue):j(x)}function Q(x){return x===47?(e.consume(x),s="",ce):j(x)}function ce(x){return x===62&&vo.includes(s.toLowerCase())?(e.consume(x),ae):Ge(x)&&s.length<8?(e.consume(x),s+=String.fromCharCode(x),ce):j(x)}function de(x){return x===93?(e.consume(x),ue):j(x)}function ue(x){return x===62?(e.consume(x),ae):x===45&&r===2?(e.consume(x),ue):j(x)}function ae(x){return x===null||B(x)?(e.exit("htmlFlowData"),k(x)):(e.consume(x),ae)}function k(x){return e.exit("htmlFlow"),t(x)}}function Ch(e,t,i){return n;function n(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(yi,t,i)}}var wo={name:"htmlText",tokenize:qh};function qh(e,t,i){let n=this,r,a,s,o;return l;function l(k){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(k),d}function d(k){return k===33?(e.consume(k),c):k===47?(e.consume(k),F):k===63?(e.consume(k),_):Ge(k)?(e.consume(k),H):i(k)}function c(k){return k===45?(e.consume(k),u):k===91?(e.consume(k),a="CDATA[",s=0,w):Ge(k)?(e.consume(k),q):i(k)}function u(k){return k===45?(e.consume(k),m):i(k)}function m(k){return k===null||k===62?i(k):k===45?(e.consume(k),g):h(k)}function g(k){return k===null||k===62?i(k):h(k)}function h(k){return k===null?i(k):k===45?(e.consume(k),v):B(k)?(o=h,de(k)):(e.consume(k),h)}function v(k){return k===45?(e.consume(k),ae):h(k)}function w(k){return k===a.charCodeAt(s++)?(e.consume(k),s===a.length?z:w):i(k)}function z(k){return k===null?i(k):k===93?(e.consume(k),S):B(k)?(o=z,de(k)):(e.consume(k),z)}function S(k){return k===93?(e.consume(k),L):z(k)}function L(k){return k===62?ae(k):k===93?(e.consume(k),L):z(k)}function q(k){return k===null||k===62?ae(k):B(k)?(o=q,de(k)):(e.consume(k),q)}function _(k){return k===null?i(k):k===63?(e.consume(k),A):B(k)?(o=_,de(k)):(e.consume(k),_)}function A(k){return k===62?ae(k):_(k)}function F(k){return Ge(k)?(e.consume(k),M):i(k)}function M(k){return k===45||Pe(k)?(e.consume(k),M):D(k)}function D(k){return B(k)?(o=D,de(k)):G(k)?(e.consume(k),D):ae(k)}function H(k){return k===45||Pe(k)?(e.consume(k),H):k===47||k===62||X(k)?j(k):i(k)}function j(k){return k===47?(e.consume(k),ae):k===58||k===95||Ge(k)?(e.consume(k),V):B(k)?(o=j,de(k)):G(k)?(e.consume(k),j):ae(k)}function V(k){return k===45||k===46||k===58||k===95||Pe(k)?(e.consume(k),V):R(k)}function R(k){return k===61?(e.consume(k),Y):B(k)?(o=R,de(k)):G(k)?(e.consume(k),R):j(k)}function Y(k){return k===null||k===60||k===61||k===62||k===96?i(k):k===34||k===39?(e.consume(k),r=k,re):B(k)?(o=Y,de(k)):G(k)?(e.consume(k),Y):(e.consume(k),r=void 0,ce)}function re(k){return k===r?(e.consume(k),Q):k===null?i(k):B(k)?(o=re,de(k)):(e.consume(k),re)}function Q(k){return k===62||k===47||X(k)?j(k):i(k)}function ce(k){return k===null||k===34||k===39||k===60||k===61||k===96?i(k):k===62||X(k)?j(k):(e.consume(k),ce)}function de(k){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),K(e,ue,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ue(k){return e.enter("htmlTextData"),o(k)}function ae(k){return k===62?(e.consume(k),e.exit("htmlTextData"),e.exit("htmlText"),t):i(k)}}var rt={name:"labelEnd",tokenize:Rh,resolveTo:Fh,resolveAll:Bh},Mh={tokenize:Dh},Ih={tokenize:Nh},_h={tokenize:jh};function Bh(e){let t=-1,i;for(;++t999||u===93&&!s||u===null||u===91||X(u))return i(u);if(u===93){e.exit("chunkString");let m=e.exit("gfmFootnoteCallString");return r.includes(Be(n.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):i(u)}return X(u)||(s=!0),a++,e.consume(u),u===92?c:d}function c(u){return u===91||u===92||u===93?(e.consume(u),a++,d):d(u)}}function af(e,t,i){let n=this,r=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]),a,s=0,o;return l;function l(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),d}function d(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):i(h)}function c(h){if(s>999||h===93&&!o||h===null||h===91||X(h))return i(h);if(h===93){e.exit("chunkString");let v=e.exit("gfmFootnoteDefinitionLabelString");return a=Be(n.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return X(h)||(o=!0),s++,e.consume(h),h===92?u:c}function u(h){return h===91||h===92||h===93?(e.consume(h),s++,c):c(h)}function m(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),r.includes(a)||r.push(a),K(e,g,"gfmFootnoteDefinitionWhitespace")):i(h)}function g(h){return t(h)}}function sf(e,t,i){return e.check(yi,t,e.attempt(ef,t,i))}function of(e){e.exit("gfmFootnoteDefinition")}function lf(e,t,i){let n=this;return K(e,r,"gfmFootnoteDefinitionIndent",4+1);function r(a){let s=n.events[n.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(a):i(a)}}var cf={tokenize:df},To={text:{[91]:cf}};function df(e,t,i){let n=this;return r;function r(l){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?i(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return X(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):i(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):i(l)}function o(l){return B(l)?t(l):G(l)?e.check({tokenize:uf},t,i)(l):i(l)}}function uf(e,t,i){return K(e,n,"whitespace");function n(r){return r===null?i(r):t(r)}}var md={}.hasOwnProperty;function La(e){let t={},i=-1;for(;++i=d||c+1s))return;let F=t.events.length,M=F,D,H;for(;M--;)if(t.events[M][0]==="exit"&&t.events[M][1].type==="chunkFlow"){if(D){H=t.events[M][1].end;break}D=!0}for(z(n),A=F;AL;){let _=i[q];t.containerState=_[1],_[0].exit.call(t,e)}i.length=L}function S(){r.write([null]),a=void 0,r=void 0,t.containerState._closeFlow=void 0}}function zf(e,t,i){return K(e,e.attempt(this.parser.constructs.document,t,i),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var Ld={tokenize:Sf};function Sf(e){let t=this,i=e.attempt(yi,n,e.attempt(this.parser.constructs.flowInitial,r,K(e,e.attempt(this.parser.constructs.flow,r,e.attempt(ho,r)),"linePrefix")));return i;function n(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,i}function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,i}}var Od={resolveAll:Id()},Cd=Md("string"),qd=Md("text");function Md(e){return{tokenize:t,resolveAll:Id(e==="text"?Tf:void 0)};function t(i){let n=this,r=this.parser.constructs[e],a=i.attempt(r,s,o);return s;function s(c){return d(c)?a(c):o(c)}function o(c){if(c===null){i.consume(c);return}return i.enter("data"),i.consume(c),l}function l(c){return d(c)?(i.exit("data"),a(c)):(i.consume(c),l)}function d(c){if(c===null)return!0;let u=r[c],m=-1;if(u)for(;++m-1&&(s[0]=s[0].slice(n)),a>0&&s.push(e[r].slice(0,a))),s}function Ef(e,t){let i=-1,n=[],r;for(;++iff,contentInitial:()=>df,disable:()=>yf,document:()=>cf,flow:()=>pf,flowInitial:()=>uf,insideSpan:()=>hf,string:()=>mf,text:()=>gf});var cf={[42]:Fe,[43]:Fe,[45]:Fe,[48]:Fe,[49]:Fe,[50]:Fe,[51]:Fe,[52]:Fe,[53]:Fe,[54]:Fe,[55]:Fe,[56]:Fe,[57]:Fe,[62]:ua},df={[91]:so},uf={[-2]:Sn,[-1]:Sn,[32]:Sn},pf={[35]:lo,[42]:nt,[45]:[va,nt],[60]:uo,[61]:va,[95]:nt,[96]:ga,[126]:ga},mf={[38]:ma,[92]:pa},gf={[-5]:An,[-4]:An,[-3]:An,[33]:mo,[38]:ma,[42]:zn,[60]:[no,po],[91]:go,[92]:[oo,pa],[93]:tt,[95]:zn,[96]:ro},hf={null:[zn,bd]},ff={null:[42,95]},yf={null:[]};function Sd(e={}){let t=xa([xo].concat(e.extensions||[])),i={defined:[],lazy:{},constructs:t,content:n(gd),document:n(fd),flow:n(yd),string:n(vd),text:n(xd)};return i;function n(r){return a;function a(s){return zd(i,r,s)}}}var Ad=/[\0\t\n\r]/g;function Td(){let e=1,t="",i=!0,n;return r;function r(a,s,o){let l=[],d,c,u,p,g;for(a=t+a.toString(s),u=0,t="",i&&(a.charCodeAt(0)===65279&&u++,i=void 0);u13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"\uFFFD":String.fromCharCode(i)}var bf=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ka(e){return e.replace(bf,vf)}function vf(e,t,i){if(t)return t;if(i.charCodeAt(0)===35){let r=i.charCodeAt(1),a=r===120||r===88;return wa(i.slice(a?2:1),a?16:10)}return Dt(i)||e}function jt(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Ed(e.position):"start"in e||"end"in e?Ed(e):"line"in e||"column"in e?wo(e):""}function wo(e){return Od(e&&e.line)+":"+Od(e&&e.column)}function Ed(e){return wo(e&&e.start)+"-"+wo(e&&e.end)}function Od(e){return e&&typeof e=="number"?e:1}var Md={}.hasOwnProperty,ko=function(e,t,i){return typeof t!="string"&&(i=t,t=void 0),xf(i)(Ld(Sd(i).document().write(Td()(e,t,!0))))};function xf(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(gi),autolinkProtocol:N,autolinkEmail:N,atxHeading:o(an),blockQuote:o(mi),characterEscape:N,characterReference:N,codeFenced:o(Li),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:o(Li,l),codeText:o(Ot,l),codeTextData:N,data:N,codeFlowValue:N,definition:o(Es),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:o(Os),hardBreakEscape:o(sn),hardBreakTrailing:o(sn),htmlFlow:o(Nr,l),htmlFlowData:N,htmlText:o(Nr,l),htmlTextData:N,image:o(Cs),label:l,link:o(gi),listItem:o(Pr),listItemValue:h,listOrdered:o(Gi,g),listUnordered:o(Gi),paragraph:o(Kr),reference:Re,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:o(an),strong:o(on),thematicBreak:o(Hr)},exit:{atxHeading:c(),atxHeadingSequence:B,autolink:c(),autolinkEmail:ai,autolinkProtocol:Ti,blockQuote:c(),characterEscapeValue:U,characterReferenceMarkerHexadecimal:De,characterReferenceMarkerNumeric:De,characterReferenceValue:se,codeFenced:c(S),codeFencedFence:b,codeFencedFenceInfo:y,codeFencedFenceMeta:w,codeFlowValue:U,codeIndented:c(T),codeText:c(ce),codeTextData:U,data:U,definition:c(),definitionDestinationString:A,definitionLabelString:C,definitionTitleString:_,emphasis:c(),hardBreakEscape:c(W),hardBreakTrailing:c(W),htmlFlow:c(re),htmlFlowData:U,htmlText:c(Q),htmlTextData:U,image:c(ue),label:z,labelText:ae,lineEnding:D,link:c(de),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ri,resourceDestinationString:x,resourceTitleString:pi,resource:Ye,setextHeading:c(Y),setextHeadingLineSequence:j,setextHeadingText:q,strong:c(),thematicBreak:c()}};qd(t,(e||{}).mdastExtensions||[]);let i={};return n;function n(O){let I={type:"root",children:[]},H={stack:[I],tokenStack:[],config:t,enter:d,exit:u,buffer:l,resume:p,setData:a,getData:s},J=[],X=-1;for(;++X0){let si=H.tokenStack[H.tokenStack.length-1];(si[1]||Cd).call(H,void 0,si[0])}for(I.position={start:ji(O.length>0?O[0][1].start:{line:1,column:1,offset:0}),end:ji(O.length>0?O[O.length-2][1].end:{line:1,column:1,offset:0})},X=-1;++X0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[i,n]of t)this.onEviction(i,n.value)}_deleteIfExpired(t,i){return typeof i.expiry=="number"&&i.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,i.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,i){if(this._deleteIfExpired(t,i)===!1)return i.value}_getItemValue(t,i){return i.expiry?this._getOrDeleteIfExpired(t,i):i.value}_peek(t,i){let n=i.get(t);return this._getItemValue(t,n)}_set(t,i){this.cache.set(t,i),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,i){this.oldCache.delete(t),this._set(t,i)}*_entriesAscending(){for(let t of this.oldCache){let[i,n]=t;this.cache.has(i)||this._deleteIfExpired(i,n)===!1&&(yield t)}for(let t of this.cache){let[i,n]=t;this._deleteIfExpired(i,n)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let i=this.cache.get(t);return this._getItemValue(t,i)}if(this.oldCache.has(t)){let i=this.oldCache.get(t);if(this._deleteIfExpired(t,i)===!1)return this._moveToRecent(t,i),i.value}}set(t,i,{maxAge:n=this.maxAge}={}){let r=typeof n=="number"&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;this.cache.has(t)?this.cache.set(t,{value:i,expiry:r}):this._set(t,{value:i,expiry:r})}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let i=this.cache.delete(t);return i&&this._size--,this.oldCache.delete(t)||i}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let i=[...this._entriesAscending()],n=i.length-t;n<0?(this.cache=new Map(i),this.oldCache=new Map,this._size=i.length):(n>0&&this._emitEvictions(i.slice(0,n)),this.oldCache=new Map(i.slice(n)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[i,n]=t;this._deleteIfExpired(i,n)===!1&&(yield[i,n.value])}for(let t of this.oldCache){let[i,n]=t;this.cache.has(i)||this._deleteIfExpired(i,n)===!1&&(yield[i,n.value])}}*entriesDescending(){let t=[...this.cache];for(let i=t.length-1;i>=0;--i){let n=t[i],[r,a]=n;this._deleteIfExpired(r,a)===!1&&(yield[r,a.value])}t=[...this.oldCache];for(let i=t.length-1;i>=0;--i){let n=t[i],[r,a]=n;this.cache.has(r)||this._deleteIfExpired(r,a)===!1&&(yield[r,a.value])}}*entriesAscending(){for(let[t,i]of this._entriesAscending())yield[t,i.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let i of this.oldCache.keys())this.cache.has(i)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,i=this){for(let[n,r]of this.entriesAscending())t.call(i,r,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};var Ao=new Tn({maxSize:200});function If(e){let t=Yc(e);if(Ao.has(t))return Ao.get(t);let i=ko(e,{extensions:[xa([ho(),fo]),yo()],mdastExtensions:[[zo(),So],bo()]});return Ao.set(t,i),i}function fe(e,t){let i=If(t),n=[];return eo(i,e,r=>{n.push(r.position)}),n.sort((r,a)=>a.start.offset-r.start.offset),n}function Fd(e){let t=fe("footnoteDefinition",e),i=[],n=new Map,r=new Map;e=Dd(t,e,i,function(s,o,l){let d=o.match(/\[\^.*?\]/)[0];if(n.has(d)){let g=n.get(d);g.footnotesReferencingKey.push(o),n.set(d,g);return}let c,u=[];do c=s.lastIndexOf(d,l),c!==-1&&(u.push(c),l=c-1);while(c>-1);let p={key:d,referencePositions:u,footnotesReferencingKey:[o]};n.set(d,p)});for(let s of n){let o=s[1],l=o.referencePositions.length-o.footnotesReferencingKey.length;l=l>=0?l:0;let d=0;for(let c of o.footnotesReferencingKey){if(d+l>=o.referencePositions.length)throw new Error(E("logs.missing-footnote-error-message").replace("{FOOTNOTE}",c));r.set(c,o.referencePositions[l+d++])}}i=i.sort((s,o)=>r.get(s)-r.get(o)),i.length>0&&(e=e.trimEnd()+` +`;break}case-2:{s=t?" ":" ";break}case-1:{if(!t&&r)continue;s=" ";break}default:s=String.fromCharCode(a)}r=a===-2,n.push(s)}return n.join("")}var Oo={};Rl(Oo,{attentionMarkers:()=>Bf,contentInitial:()=>Of,disable:()=>Ff,document:()=>Lf,flow:()=>qf,flowInitial:()=>Cf,insideSpan:()=>_f,string:()=>Mf,text:()=>If});var Lf={[42]:Fe,[43]:Fe,[45]:Fe,[48]:Fe,[49]:Fe,[50]:Fe,[51]:Fe,[52]:Fe,[53]:Fe,[54]:Fe,[55]:Fe,[56]:Fe,[57]:Fe,[62]:va},Of={[91]:fo},Cf={[-2]:En,[-1]:En,[32]:En},qf={[35]:bo,[42]:at,[45]:[Ea,at],[60]:xo,[61]:Ea,[95]:at,[96]:ka,[126]:ka},Mf={[38]:wa,[92]:xa},If={[-5]:Ln,[-4]:Ln,[-3]:Ln,[33]:ko,[38]:wa,[42]:An,[60]:[mo,wo],[91]:zo,[92]:[yo,xa],[93]:rt,[95]:An,[96]:go},_f={null:[An,Od]},Bf={null:[42,95]},Ff={null:[]};function Bd(e={}){let t=La([Oo].concat(e.extensions||[])),i={defined:[],lazy:{},constructs:t,content:n(Td),document:n(Ed),flow:n(Ld),string:n(Cd),text:n(qd)};return i;function n(r){return a;function a(s){return _d(i,r,s)}}}var Fd=/[\0\t\n\r]/g;function Rd(){let e=1,t="",i=!0,n;return r;function r(a,s,o){let l=[],d,c,u,m,g;for(a=t+a.toString(s),u=0,t="",i&&(a.charCodeAt(0)===65279&&u++,i=void 0);u13&&i<32||i>126&&i<160||i>55295&&i<57344||i>64975&&i<65008||(i&65535)===65535||(i&65535)===65534||i>1114111?"\uFFFD":String.fromCharCode(i)}var Rf=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Ca(e){return e.replace(Rf,Df)}function Df(e,t,i){if(t)return t;if(i.charCodeAt(0)===35){let r=i.charCodeAt(1),a=r===120||r===88;return Oa(i.slice(a?2:1),a?16:10)}return $t(i)||e}function Ht(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Nd(e.position):"start"in e||"end"in e?Nd(e):"line"in e||"column"in e?Co(e):""}function Co(e){return jd(e&&e.line)+":"+jd(e&&e.column)}function Nd(e){return Co(e&&e.start)+"-"+Co(e&&e.end)}function jd(e){return e&&typeof e=="number"?e:1}var Kd={}.hasOwnProperty,qo=function(e,t,i){return typeof t!="string"&&(i=t,t=void 0),Nf(i)(Dd(Bd(i).document().write(Rd()(e,t,!0))))};function Nf(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(gi),autolinkProtocol:j,autolinkEmail:j,atxHeading:o(ln),blockQuote:o(mi),characterEscape:j,characterReference:j,codeFenced:o(Ei),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:o(Ei,l),codeText:o(_t,l),codeTextData:j,data:j,codeFlowValue:j,definition:o(Ds),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:o(Ns),hardBreakEscape:o(cn),hardBreakTrailing:o(cn),htmlFlow:o(Vr,l),htmlFlowData:j,htmlText:o(Vr,l),htmlTextData:j,image:o(js),label:l,link:o(gi),listItem:o(Ur),listItemValue:h,listOrdered:o(Zi,g),listUnordered:o(Zi),paragraph:o(Gr),reference:Re,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:o(ln),strong:o(dn),thematicBreak:o(Zr)},exit:{atxHeading:c(),atxHeadingSequence:F,autolink:c(),autolinkEmail:si,autolinkProtocol:Ai,blockQuote:c(),characterEscapeValue:V,characterReferenceMarkerHexadecimal:De,characterReferenceMarkerNumeric:De,characterReferenceValue:se,codeFenced:c(S),codeFencedFence:z,codeFencedFenceInfo:v,codeFencedFenceMeta:w,codeFlowValue:V,codeIndented:c(L),codeText:c(ce),codeTextData:V,data:V,definition:c(),definitionDestinationString:A,definitionLabelString:q,definitionTitleString:_,emphasis:c(),hardBreakEscape:c(Y),hardBreakTrailing:c(Y),htmlFlow:c(re),htmlFlowData:V,htmlText:c(Q),htmlTextData:V,image:c(ue),label:k,labelText:ae,lineEnding:R,link:c(de),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ai,resourceDestinationString:x,resourceTitleString:pi,resource:Ye,setextHeading:c(H),setextHeadingLineSequence:D,setextHeadingText:M,strong:c(),thematicBreak:c()}};$d(t,(e||{}).mdastExtensions||[]);let i={};return n;function n(O){let I={type:"root",children:[]},$={stack:[I],tokenStack:[],config:t,enter:d,exit:u,buffer:l,resume:m,setData:a,getData:s},Z=[],J=-1;for(;++J0){let oi=$.tokenStack[$.tokenStack.length-1];(oi[1]||Pd).call($,void 0,oi[0])}for(I.position={start:Ni(O.length>0?O[0][1].start:{line:1,column:1,offset:0}),end:Ni(O.length>0?O[O.length-2][1].end:{line:1,column:1,offset:0})},J=-1;++J0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[i,n]of t)this.onEviction(i,n.value)}_deleteIfExpired(t,i){return typeof i.expiry=="number"&&i.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,i.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,i){if(this._deleteIfExpired(t,i)===!1)return i.value}_getItemValue(t,i){return i.expiry?this._getOrDeleteIfExpired(t,i):i.value}_peek(t,i){let n=i.get(t);return this._getItemValue(t,n)}_set(t,i){this.cache.set(t,i),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,i){this.oldCache.delete(t),this._set(t,i)}*_entriesAscending(){for(let t of this.oldCache){let[i,n]=t;this.cache.has(i)||this._deleteIfExpired(i,n)===!1&&(yield t)}for(let t of this.cache){let[i,n]=t;this._deleteIfExpired(i,n)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let i=this.cache.get(t);return this._getItemValue(t,i)}if(this.oldCache.has(t)){let i=this.oldCache.get(t);if(this._deleteIfExpired(t,i)===!1)return this._moveToRecent(t,i),i.value}}set(t,i,{maxAge:n=this.maxAge}={}){let r=typeof n=="number"&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;this.cache.has(t)?this.cache.set(t,{value:i,expiry:r}):this._set(t,{value:i,expiry:r})}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let i=this.cache.delete(t);return i&&this._size--,this.oldCache.delete(t)||i}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let i=[...this._entriesAscending()],n=i.length-t;n<0?(this.cache=new Map(i),this.oldCache=new Map,this._size=i.length):(n>0&&this._emitEvictions(i.slice(0,n)),this.oldCache=new Map(i.slice(n)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[i,n]=t;this._deleteIfExpired(i,n)===!1&&(yield[i,n.value])}for(let t of this.oldCache){let[i,n]=t;this.cache.has(i)||this._deleteIfExpired(i,n)===!1&&(yield[i,n.value])}}*entriesDescending(){let t=[...this.cache];for(let i=t.length-1;i>=0;--i){let n=t[i],[r,a]=n;this._deleteIfExpired(r,a)===!1&&(yield[r,a.value])}t=[...this.oldCache];for(let i=t.length-1;i>=0;--i){let n=t[i],[r,a]=n;this.cache.has(r)||this._deleteIfExpired(r,a)===!1&&(yield[r,a.value])}}*entriesAscending(){for(let[t,i]of this._entriesAscending())yield[t,i.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let i of this.oldCache.keys())this.cache.has(i)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,i=this){for(let[n,r]of this.entriesAscending())t.call(i,r,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};var _o=new On({maxSize:200});function Vd(e){let t=id(e);if(_o.has(t))return _o.get(t);let i=qo(e,{extensions:[La([So(),To]),Ao()],mdastExtensions:[[Mo(),Io],Eo()]});return _o.set(t,i),i}function ye(e,t){let i=Vd(t),n=[];return ba(i,e,r=>{n.push(r.position)}),n.sort((r,a)=>a.start.offset-r.start.offset),n}function Jf(e){let t=Vd(e),i=[];return ba(t,"listItem",n=>{if(n.children)for(let r of n.children)r.type==="paragraph"&&i.push(r.position)}),i.sort((n,r)=>r.start.offset-n.start.offset),i}function Ud(e){let t=ye("footnoteDefinition",e),i=[],n=new Map,r=new Map;e=Qd(t,e,i,function(s,o,l){let d=o.match(/\[\^.*?\]/)[0];if(n.has(d)){let g=n.get(d);g.footnotesReferencingKey.push(o),n.set(d,g);return}let c,u=[];do c=s.lastIndexOf(d,l),c!==-1&&(u.push(c),l=c-1);while(c>-1);let m={key:d,referencePositions:u,footnotesReferencingKey:[o]};n.set(d,m)});for(let s of n){let o=s[1],l=o.referencePositions.length-o.footnotesReferencingKey.length;l=l>=0?l:0;let d=0;for(let c of o.footnotesReferencingKey){if(d+l>=o.referencePositions.length)throw new Error(E("logs.missing-footnote-error-message").replace("{FOOTNOTE}",c));r.set(c,o.referencePositions[l+d++])}}i=i.sort((s,o)=>r.get(s)-r.get(o)),i.length>0&&(e=e.trimEnd()+` `);for(let s of i)e+=` -`+s;return e}function Rd(e){let t=fe("footnoteDefinition",e),i=[],n=new Map,r=new Map,a=new Map,s=[],o=new Set,l=function(u,p,g){let h=p.match(/\[\^.*?\]/)[0];r.set(p,h);let y=o.has(h);if(y&&n.has(p))return n.get(p);if(y)throw new Error(E("logs.too-many-footnotes-error-message").replace("{FOOTNOTE_KEY}",h));let w,b=-1;do w=u.lastIndexOf(h,g),w!==-1&&(s.push({key:h,position:w}),b=w,g=w-1);while(w>-1);return o.add(h),b};e=Dd(t,e,i,(u,p,g)=>{n.set(p,l(u,p,g))}),i=i.sort((u,p)=>n.get(u)-n.get(p)),s=s.sort((u,p)=>p.position-u.position),i.length>0&&(e=e.trimEnd()+` -`);let d=1,c=new Set;for(let u of i){if(c.has(u))continue;c.add(u);let p=r.get(u),g=`[^${d++}]`;a.set(p,g),e+=` -`+u.replace(p,g)}for(let u of s){let p=a.get(u.key);e=Vc(e,u.key,p,u.position)}return e}function Dd(e,t,i,n){for(let r of e){let a=t.substring(r.start.offset,r.end.offset);i.push(a),r.end.offset-1);return o.add(h),z};e=Qd(t,e,i,(u,m,g)=>{n.set(m,l(u,m,g))}),i=i.sort((u,m)=>n.get(u)-n.get(m)),s=s.sort((u,m)=>m.position-u.position),i.length>0&&(e=e.trimEnd()+` +`);let d=1,c=new Set;for(let u of i){if(c.has(u))continue;c.add(u);let m=r.get(u),g=`[^${d++}]`;a.set(m,g),e+=` +`+u.replace(m,g)}for(let u of s){let m=a.get(u.key);e=nd(e,u.key,m,u.position)}return e}function Qd(e,t,i,n){for(let r of e){let a=t.substring(r.start.offset,r.end.offset);i.push(a),r.end.offset")||s.endsWith("
      ")||(n[a]=s+" ")}e=Se(e,i.start.offset,i.end.offset,n.join(` -`))}}return e}function Nd(e){let t=e.endsWith(` -`),i=fe("paragraph",e);if(i.length===0)return e;for(let n of i){let r=n.start.offset;for(r>0&&r--;r>=0&&e.charAt(r)!=` +`&&(t=t.substring(0,r.end.offset)+t.substring(r.end.offset+1)),t=t.substring(0,r.start.offset)+t.substring(r.end.offset),n(t,a,r.start.offset)}return t}function qa(e,t,i){let n=ye(i,e);if(n.length===0)return e;let r="";if(t==="underscore")r="_";else if(t==="asterisk")r="*";else{let a=n[n.length-1];r=e.substring(a.start.offset,a.start.offset+1)}i==="strong"&&(r+=r);for(let a of n){let s=r+e.substring(a.start.offset+r.length,a.end.offset-r.length)+r;e=fe(e,a.start.offset,a.end.offset,s)}return e}function Zd(e){let t=ye("paragraph",e);if(t.length===0)return e;for(let i of t){let n=e.substring(i.start.offset,i.end.offset).split(` +`),r=n.length-1;if(!(r<1)){for(let a=0;a")||s.endsWith("
      ")||(n[a]=s+" ")}e=fe(e,i.start.offset,i.end.offset,n.join(` +`))}}return e}function Jd(e){let t=e.endsWith(` +`),i=ye("paragraph",e);if(i.length===0)return e;for(let n of i){let r=n.start.offset;for(r>0&&r--;r>=0&&e.charAt(r)!=` `;)r--;r++;let a=e.substring(r,n.end.offset).split(` -`),s=a[0].trimStart();if(s.startsWith(">")||s.startsWith("- ")||s.startsWith("- ")||s.match(/^[0-9]+\.( |\t)+/))continue;let o=a.length,l=[],d=!1;for(let h=0;h")||y.endsWith("
      ")||y.endsWith(" ")}for(;r>0&&e.charAt(r-1)==` +`),s=a[0].trimStart();if(s.startsWith(">")||s.startsWith("- ")||s.startsWith("- ")||s.match(/^[0-9]+\.( |\t)+/))continue;let o=a.length,l=[],d=!1;for(let h=0;h")||v.endsWith("
      ")||v.endsWith(" ")}for(;r>0&&e.charAt(r-1)==` `;)r--;let c=e.length,u=n.end.offset;for(u?)*(\*|-|\+|- \[( | x)\]|\d+\.) /g,s=r.match(a);if(s){let o=r.split(new RegExp(a.source.replaceAll("(","(?:"))),l="",d=0;for(let c of o)d>0&&(l+=s[d-1]),l+=t(c),d++;r=l}else r=t(r);e=Se(e,n.start.offset+2,n.end.offset,r)}return e}function Yd(e){let t=fe("code",e);for(let i of t)e.substring(i.start.offset,i.end.offset).startsWith("```")&&(e=et(e,i.start.offset,i.end.offset));return e}function Wd(e,t){let i=fe("math",e);for(let n of i)e=et(e,n.start.offset,n.end.offset);i=fe("inlineMath",e);for(let n of i)e.substring(n.start.offset,n.end.offset).startsWith("$".repeat(t))&&(e=et(e,n.start.offset,n.end.offset));return e}function Vd(e){let t=fe("blockquote",e);for(let i of t){let n=i.end.offset;for(;n0&&e.charAt(a-1)!==` -`;)a--;let s=e.substring(a,r.end.offset),o=function(u){let p=u.lastIndexOf("> ");return p!==-1&&(u=u.substring(p+2)),u=u.replaceAll(" "," "),Math.floor((u.split(" ").length-1)/2)+1},l=new Map,d=function(u,p){let g=p;for(;g>u;)l.delete(g--)},c=-1;s=s.replace(/^(( |\t|> )*)((\d+(\.|\)))|[-*+])([^\n]*)$/gm,(u,p="",g,h,y,w,b)=>{let S=1,T=o(p);if(!/^\d/.test(h)){let C=T>c?T:c;return d(T,C),u}return l.has(T)?t==="ascending"&&(S=l.get(T)+1,l.set(T,S)):l.set(T,1),c>T&&d(T,c),c=T,`${p}${S}${i}${b}`}),e=Se(e,a,r.end.offset,s)}return e}function Gd(e,t){let i=fe("listItem",e);if(!i)return e;let n=/^((\d+[.)])|(- \[[ x]\]))/m,r=t;if(t=="consistent"){let a=i.length-1;for(;a>=0;){let s=e.substring(i[a].start.offset,i[a].end.offset);if(a--,!s.match(n)){r=s.charAt(0);break}}if(a==-1)return e}for(let a of i){let s=e.substring(a.start.offset,a.end.offset);s.match(n)||(s=r+s.substring(1),e=Se(e,a.start.offset,a.end.offset,s))}return e}function Zd(e,t){let i=fe("math",e),n=new RegExp("^(\\${"+t+",})(\\n*)"),r=new RegExp("(\\n*)(\\${"+t+",})([^\\$]*)$");for(let a of i)e=Bd(e,a.start.offset,a.end.offset,n,r);i=fe("inlineMath",e);for(let a of i)e.substring(a.start.offset,a.end.offset).startsWith("$".repeat(t))&&(e=Bd(e,a.start.offset,a.end.offset,n,r));return e}function Bd(e,t,i,n,r){let a=e.substring(xn(e,t),t)??"",s=e.substring(xn(e,i),i)??"",o=/^(>( |\t)*)+\$+$/m,l=e.substring(t,i);return l=l.replace(n,(d,c,u="")=>u===""?c+` +`),e}function Xd(e){let t=ye("link",e);for(let i of t){if(i==null)continue;let n=e.substring(i.start.offset,i.end.offset);if(!n.match(Cn))continue;let r=n.indexOf("]"),a=n.substring(0,1)+n.substring(1,r).trim()+n.substring(r);e=fe(e,i.start.offset,i.end.offset,a)}return e}function eu(e,t){let i=ye("emphasis",e);for(let n of i){let r=e.substring(n.start.offset+1,n.end.offset-1);r=t(r),e=fe(e,n.start.offset+1,n.end.offset-1,r)}return e}function iu(e,t){let i=ye("strong",e);for(let n of i){let r=e.substring(n.start.offset+2,n.end.offset-2);r=t(r),e=fe(e,n.start.offset+2,n.end.offset-2,r)}return e}function Ma(e,t){let i=Jf(e),n=/^\[.\] /;for(let r of i){let a=r.start.offset;for(;a>0&&e.charAt(a-1).trim()==="";)a--;(a===0||e.charAt(a-1).trim()!="")&&a++;let s=e.substring(a,r.end.offset);n.test(s)&&(a+=4,s=s.substring(4)),s=t(s),e=fe(e,a,r.end.offset,s)}return e}function tu(e){let t=ye("code",e);for(let i of t)e.substring(i.start.offset,i.end.offset).startsWith("```")&&(e=tt(e,i.start.offset,i.end.offset));return e}function nu(e,t){let i=ye("math",e);for(let n of i)e=tt(e,n.start.offset,n.end.offset);i=ye("inlineMath",e);for(let n of i)e.substring(n.start.offset,n.end.offset).startsWith("$".repeat(t))&&(e=tt(e,n.start.offset,n.end.offset));return e}function ru(e){let t=ye("blockquote",e);for(let i of t){let n=i.end.offset;for(;n0&&e.charAt(a-1)!==` +`;)a--;let s=e.substring(a,r.end.offset),o=function(u){let m=u.lastIndexOf("> ");return m!==-1&&(u=u.substring(m+2)),u=u.replaceAll(" "," "),Math.floor((u.split(" ").length-1)/2)+1},l=new Map,d=function(u,m){let g=m;for(;g>u;)l.delete(g--)},c=-1;s=s.replace(/^(( |\t|> )*)((\d+(\.|\)))|[-*+])([^\n]*)$/gm,(u,m="",g,h,v,w,z)=>{let S=1,L=o(m);if(!/^\d/.test(h)){let q=L>c?L:c;return d(L,q),u}return l.has(L)?t==="ascending"&&(S=l.get(L)+1,l.set(L,S)):l.set(L,1),c>L&&d(L,c),c=L,`${m}${S}${i}${z}`}),e=fe(e,a,r.end.offset,s)}return e}function su(e,t){let i=ye("listItem",e);if(!i)return e;let n=/^((\d+[.)])|(- \[[ x]\]))/m,r=t;if(t=="consistent"){let a=i.length-1;for(;a>=0;){let s=e.substring(i[a].start.offset,i[a].end.offset);if(a--,!s.match(n)){r=s.charAt(0);break}}if(a==-1)return e}for(let a of i){let s=e.substring(a.start.offset,a.end.offset);s.match(n)||(s=r+s.substring(1),e=fe(e,a.start.offset,a.end.offset,s))}return e}function Fo(e,t){let i=ye("blockquote",e);for(let n of i){let r=n.end.offset;for(;r( |\t)*)+\$+$/m,l=e.substring(t,i);return l=l.replace(n,(d,c,u="")=>u===""?c+` `+a:c+` -`),l=l.replace(r,(d,c="",u,p)=>{let g=c==="";return g&&o.test(s.trim())?d:g?` -`+a+u+p:` -`+u+p}),Se(e,t,i,l)}function Sa(e){let t=[...e.matchAll(Qd)],i=[];for(let n of t){let r=xn(e,n.index);if(r===0)continue;let a=xn(e,r-1),s=n[0],o=e.substring(r,n.index+s.length);if(_f(o,s))continue;let l=a,d=e.substring(a,r-1);if(s==="---"&&!d.includes("|"))continue;d=d.replace(To,h=>{let y=h.trim();return y===""||y==="|"||(l+=h.length-1),""});let c=s.replace(To,"");if(d.endsWith("|")&&(d=d.slice(0,-1)),c.endsWith("|")&&(c=c.slice(0,-1)),d.split("|").length!==c.split("|").length)continue;let u=n.index+n[0].length;if(u>=e.length-1){i.push({startIndex:l,endIndex:e.length});continue}let p=e.substring(u+1).split(` -`),g=0;for(;g]/.test(i)}var Ni=/^([ \t]*)(#+)([ \t]+)([^\n\r]*?)([ \t]+#+)?$/gm,Xd=`^XXX\\.*? +`),l=l.replace(r,(d,c="",u,m)=>{let g=c==="";return g&&o.test(s.trim())?d:g?` +`+a+u+m:` +`+u+m}),fe(e,t,i,l)}function Ia(e){let t=[...e.matchAll(cu)],i=[];for(let n of t){let r=zn(e,n.index);if(r===0)continue;let a=zn(e,r-1),s=n[0],o=e.substring(r,n.index+s.length);if(Xf(o,s))continue;let l=a,d=e.substring(a,r-1);if(!s.includes("|")&&!d.includes("|"))continue;d=d.replace(Bo,h=>{let v=h.trim();return v===""||v==="|"||(l+=h.length-1),""});let c=s.replace(Bo,"");if(d.endsWith("|")&&(d=d.slice(0,-1)),c.endsWith("|")&&(c=c.slice(0,-1)),d.split("|").length!==c.split("|").length)continue;let u=n.index+n[0].length;if(u>=e.length-1){i.push({startIndex:l,endIndex:e.length});continue}let m=e.substring(u+1).split(` +`),g=0;for(;g]/.test(i)}function lu(e){let t=0,i=[],n=[...e.matchAll(uu)];if(!n||n.length===0)return i;let r=[...e.matchAll(pu)];return n.forEach(a=>{t=a.index;let s=!1,o=e.length-1;for(;r&&r.length!==0&&!s;)if(r[0].index<=t)r.shift();else{s=!0;let l=r[0];o=l.index+l[0].length}i.push({startIndex:t,endIndex:o}),!r||r.length}),i.reverse()}var ji=/^([ \t]*)(#+)([ \t]+)([^\n\r]*?)([ \t]+#+)?$/gm,mu=`^XXX\\.*? (?:((?:.| )*?) -)?XXX(?=\\s|$)$`,Ae=/^---\n((?:(((?!---)(?:.|\n)*?)\n)?))---(?=\n|$)/,Bf=Xd.replaceAll("X","`"),Ff=Xd.replaceAll("X","~"),Rf=`^(( |( {4})).* -)+`,Wz=new RegExp(`${Bf}|${Ff}|${Rf}`,"gm"),Aa=/(!?)\[{2}([^\][\n|]+)(\|([^\][\n|]+))?(\|([^\][\n|]+))?\]{2}/g,Ln=/(!?)\[([^[]*)\](\(.*\))/g,En=/(\s|^)(#[^\s#;.,>\\s*)*",Qd=/(\|? *:?-{1,}:? *\|?)(\| *:?-{1,}:? *\|?)*( |\t)*$/gm,To=/^(((>[ ]?)*)|([ ]{0,3}))\|/m,Jd=/[^\n]*?\|[^\n]*?(\n|$)/m,Pt=/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,})/gi,iu=/]+)>((?:.(?!<\/a>))*.)<\/a>/g;function Ke(e){return e.replace(/\$/g,"$$$$")}function tu(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nu(e){let t=e.match(Aa);if(t){for(let i of t)if(i.includes("|")){let n=i.indexOf("|"),r=i.substring(0,n+1)+i.substring(n+1,i.length-2).trim()+"]]";e=e.replace(i,r)}}return e}function ru(e){let t=Sa(e);if(t.length===0)return e;for(let i of t)e=et(e,i.startIndex,i.endIndex);return e}function La(e){let t=e.match(/^#\s+(.*)/m);if(t&&t[1]){let i=t[1];return i=i.replaceAll(Aa,(n,r,a,s)=>s!=null?s.replace("|",""):a),i.replaceAll(Ln,"$2")}return""}function au(e){return[...e.matchAll(En)].map(t=>t[2])}var Eo="tag",Cn="tags",Mn=[Eo,Cn],Df="alias",Oo="aliases",qn=[Df,Oo],In="linter-yaml-title-alias";function bi(e){return e.match(Ae)===null&&(e=`--- +)?XXX(?=\\s|$)$`,Se=/^---\n((?:(((?!---)(?:.|\n)*?)\n)?))---(?=\n|$)/,ey=mu.replaceAll("X","`"),iy=mu.replaceAll("X","~"),ty=`^(( |( {4})).* +)+`,fS=new RegExp(`${ey}|${iy}|${ty}`,"gm"),_a=/(!?)\[{2}([^\][\n|]+)(\|([^\][\n|]+))?(\|([^\][\n|]+))?\]{2}/g,Cn=/(!?)\[([^[]*)\](\(.*\))/g,qn=/(\s|^)(#[^\s#;.,>\\s*)*",cu=/(\|? *:?-{1,}:? *\|?)(\| *:?-{1,}:? *\|?)*( |\t)*$/gm,Bo=/^(((>[ ]?)*)|([ ]{0,3}))\|/m,du=/[^\n]*?\|[^\n]*?(\n|$)/m,Wt=/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s`\]'"‘’“”>]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,}|www\.[a-zA-Z0-9]+\.[^\s`\]'"‘’“”>]{2,})/gi,hu=/]+)>((?:.(?!<\/a>))*.)<\/a>/g,fu=/[\p{L}\p{N}\p{Pc}\p{M}\-'’`]+/gu,yu=/&[^\s]+;$/mi,uu=Su(!0),pu=Su(!1),bu=/[“”„«»]/g,vu=/[‘’‚‹›]/g,xu=/<%[^]*?%>/g;function Ke(e){return e.replace(/\$/g,"$$$$")}function In(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wu(e){let t=e.match(_a);if(t){for(let i of t)if(i.includes("|")){let n=i.indexOf("|"),r=i.substring(0,n+1)+i.substring(n+1,i.length-2).trim()+"]]";e=e.replace(i,r)}}return e}function ku(e){let t=Ia(e);if(t.length===0)return e;for(let i of t)e=tt(e,i.startIndex,i.endIndex);return e}function Fa(e){let t=e.match(/^#\s+(.*)/m);if(t&&t[1]){let i=t[1];return i=i.replaceAll(_a,(n,r,a,s)=>s!=null?s.replace("|",""):a),i.replaceAll(Cn,"$2")}return""}function zu(e){return[...e.matchAll(qn)].map(t=>t[2])}function Su(e){let t="",i="";return e?i+="disable":i+="enable",new RegExp(t.replace("{ENDING_TEXT}",i),"g")}var Do="tag",_n="tags",Bn=[Do,_n],ny="alias",No="aliases",Fn=[ny,No],Rn="linter-yaml-title-alias";function bi(e){return e.match(Se)===null&&(e=`--- --- -`+e),e}function Te(e,t){if(!e.match(Ae))return e;let i=e.match(Ae)[0],n=t(i);return e=e.replace(i,Ke(n)),e}function Co(e){return new RegExp(`^([\\t ]*)${e}:[ \\t]*(\\S.*|(?:(?:\\n *- \\S.*)|((?:\\n *- *))*|(\\n([ \\t]+[^\\n]*))*)*)\\n`,"m")}function Le(e,t,i){let n=`${t}:${i} -`,r=!1,a=e.replace(Co(t),(s,o)=>(r=!0,o+n));return r||(a=`${e}${n}`),a}function Ee(e,t){let i=e.match(Co(t));return i==null?null:i[2]}function rt(e,t){return e.replace(Co(t),"")}function Je(e){if(e==null)return null;let t=Ys(e.replace(/\n(\t)+/g,` - `));return t??{}}function Ge(e,t,i,n){switch(typeof e=="string"&&(e=[e]),t){case"single-line":return e==null||e.length===0?" []":" "+Lo(e);case"multi-line":if(e==null||e.length===0)return` - - `;if(n)for(let r=0;r(r=!0,o+n));return r||(a=`${e}${n}`),a}function Ee(e,t){let i=e.match(jo(t));return i==null?null:i[2]}function st(e,t){return e.replace(jo(t),"")}function Xe(e){if(e==null)return null;let t=io(e.replace(/\n(\t)+/g,` + `));return t??{}}function Qe(e,t,i,n){switch(typeof e=="string"&&(e=[e]),t){case"single-line":return e==null||e.length===0?" []":" "+Ro(e);case"multi-line":if(e==null||e.length===0)return` + - `;if(n)for(let r=0;ri!="");if(e.includes(` -`)){let t=e.split(/[ \t]*\n[ \t]*-[ \t]*/);return t.splice(0,1),t=t.filter(i=>i!=""),t==null||t.length===0?null:t}return e}function Oa(e){if(e==null)return[];let t=[],i=[];Array.isArray(e)?i=e:e.includes(",")?i=Ea(e,","):i=Ea(e," ");for(let n of i)t.push(n.trim());return t}function Ca(e){return typeof e=="string"?Ea(e,","):e}function Ea(e,t=","){if(e==""||e==null)return null;if(t.length>1)throw new Error(E("logs.invalid-delimiter-error-message"));let i=[],n="",r=0;for(;r1&&(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"'))}function xi(e,t,i=!1,n=!1){let r=jf(e,t,i);if(n)return r;try{if(Ys(r)===e)return r}catch{}let a=Ws(e,{lineWidth:-1,quotingType:t,forceQuotes:i}).slice(0,-1),s=Ws(e,{lineWidth:-1,quotingType:t=='"'?"'":'"',forceQuotes:i}).slice(0,-1);return s===e||s.length")&&(i=i.substring(3)),i.endsWith("

      ")&&(i=i.substring(0,i.length-4)),t.innerHTML=i}function Xe(e){e.addClass("linter-visually-hidden")}function ki(e){e.removeClass("linter-visually-hidden")}var at=class{constructor(t,i,n,r,a){this.configKey=t;this.nameKey=i;this.descriptionKey=n;this.defaultValue=r;a&&(this.ruleAlias=a)}getName(){return E(this.nameKey)??""}getDescription(){return E(this.descriptionKey)??""}getSearchInfo(){return{name:this.getName(),description:this.getDescription()}}setOption(t,i){i.ruleConfigs[this.ruleAlias][this.configKey]=t}parseNameAndDescriptionAndRemoveSettingBorder(t){wi(this.getName(),t.nameEl),wi(this.getDescription(),t.descEl),t.settingEl.style.border="none"}},Kt=class extends at{display(i,n,r){let a=new $t.Setting(i).addToggle(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a)}},_n=class extends at{display(i,n,r){let a=new $t.Setting(i).addText(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a)}},qa=class extends at{display(i,n,r){let a=new $t.Setting(i).addTextArea(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a)}},Ia=class extends at{display(i,n,r){let a=new $t.Setting(i).addMomentFormat(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.setPlaceholder("dddd, MMMM Do YYYY, h:mm:ss a"),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a)}},_a=class{constructor(t,i){this.value=t,this.description=i}getDisplayValue(){return E(this.value)??""}},Ba=class extends at{constructor(i,n,r,a,s,o){super(i,n,r,a,o);this.options=s}getSearchInfo(){return{name:this.getName(),description:this.getDescription(),options:this.options}}display(i,n,r){let a=new $t.Setting(i).addDropdown(s=>{for(let o of this.options)s.addOption(o.value.replace("enums.",""),o.getDisplayValue());s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a)}};var Pi=class extends Error{constructor(t,i){super(t),this.cause=i??null,this.stack=i.stack??null,Object.setPrototypeOf(this,Pi.prototype)}};var P=(s=>(s.YAML="YAML",s.HEADING="Heading",s.FOOTNOTE="Footnote",s.CONTENT="Content",s.SPACING="Spacing",s.PASTE="Paste",s))(P||{}),Fa=class{constructor(t,i,n,r,a,s,o,l=[],d=!1){this.nameKey=t;this.descriptionKey=i;this.settingsKey=n;this.alias=r;this.type=a;this.apply=s;this.examples=o;this.options=l;this.hasSpecialExecutionOrder=d;l.unshift(new Kt("enabled",this.descriptionKey,"",!1));for(let c of l)c.ruleAlias=r}getDefaultOptions(){let t={};for(let i of this.options)t[i.configKey]=i.defaultValue;return t}getOptions(t){return t.ruleConfigs[this.settingsKey]}getName(){return E(this.nameKey)}getDescription(){return E(this.descriptionKey)}getURL(){return"https://github.com/platers/obsidian-linter/blob/master/docs/rules.md"+"#"+this.alias}enabledOptionName(){return this.options[0].configKey}},Ra=class{constructor(t,i,n,r={}){this.description=t,this.options=r,this.before=i,this.after=n}},ou=Object.values(P);function lu(e){let t=e.match(Ae);if(!t)return[];let i=t[1],n=Ee(i,"disabled rules");if(n==null)return[];let r=n.includes(` + - `);case"single string space delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(" ");case"single string comma delimited":return e==null||e.length===0?" ":e.length===1?" "+e[0]:" "+e.join(", ");case"single-line space delimited":return e==null||e.length===0?" []":e.length===1?" "+e[0]:" "+Ro(e).replaceAll(", "," ")}}function Ro(e){return e==null||e.length===0?"[]":"["+e.join(", ")+"]"}function vi(e){if(e==null||e.length===0)return null;if(e=e.trimEnd(),e.startsWith("["))return e=e.substring(1),e.endsWith("]")&&(e=e.substring(0,e.length-1)),e.length===0?null:Ra(e,",").filter(i=>i!="");if(e.includes(` +`)){let t=e.split(/[ \t]*\n[ \t]*-[ \t]*/);return t.splice(0,1),t=t.filter(i=>i!=""),t==null||t.length===0?null:t}return e}function Da(e){if(e==null)return[];let t=[],i=[];Array.isArray(e)?i=e:e.includes(",")?i=Ra(e,","):i=Ra(e," ");for(let n of i)t.push(n.trim());return t}function Na(e){return typeof e=="string"?Ra(e,","):e}function Ra(e,t=","){if(e==""||e==null)return null;if(t.length>1)throw new Error(E("logs.invalid-delimiter-error-message"));let i=[],n="",r=0;for(;r1&&(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"'))}function xi(e,t,i=!1,n=!1){let r=ry(e,t,i);if(n)return r;try{if(io(r)===e)return r}catch{}let a=to(e,{lineWidth:-1,quotingType:t,forceQuotes:i}).slice(0,-1),s=to(e,{lineWidth:-1,quotingType:t=='"'?"'":'"',forceQuotes:i}).slice(0,-1);return s===e||s.length")&&(n=n.substring(3)),n.endsWith("

      ")&&(n=n.substring(0,n.length-4)),t.innerHTML=n}function ei(e){e.addClass("linter-visually-hidden")}function ki(e){e.removeClass("linter-visually-hidden")}var ot=class{constructor(t,i,n,r,a){this.configKey=t;this.nameKey=i;this.descriptionKey=n;this.defaultValue=r;a&&(this.ruleAlias=a)}getName(){return E(this.nameKey)??""}getDescription(){return E(this.descriptionKey)??""}getSearchInfo(){return{name:this.getName(),description:this.getDescription()}}setOption(t,i){i.ruleConfigs[this.ruleAlias][this.configKey]=t}parseNameAndDescriptionAndRemoveSettingBorder(t,i){wi(this.getName(),t.nameEl,i.settingsTab.component),wi(this.getDescription(),t.descEl,i.settingsTab.component),t.settingEl.style.border="none"}},Vt=class extends ot{display(i,n,r){let a=new Ut.Setting(i).addToggle(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a,r)}},Dn=class extends ot{display(i,n,r){let a=new Ut.Setting(i).addText(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a,r)}},Pa=class extends ot{display(i,n,r){let a=new Ut.Setting(i).addTextArea(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a,r)}},Ka=class extends ot{display(i,n,r){let a=new Ut.Setting(i).addMomentFormat(s=>{s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.setPlaceholder("dddd, MMMM Do YYYY, h:mm:ss a"),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a,r)}},$a=class{constructor(t,i){this.value=t,this.description=i}getDisplayValue(){return E(this.value)??""}},Ha=class extends ot{constructor(i,n,r,a,s,o){super(i,n,r,a,o);this.options=s}getSearchInfo(){return{name:this.getName(),description:this.getDescription(),options:this.options}}display(i,n,r){let a=new Ut.Setting(i).addDropdown(s=>{for(let o of this.options)s.addOption(o.value.replace("enums.",""),o.getDisplayValue());s.setValue(n.ruleConfigs[this.ruleAlias][this.configKey]),s.onChange(o=>{this.setOption(o,n),r.settings=n,r.saveData(r.settings)})});this.parseNameAndDescriptionAndRemoveSettingBorder(a,r)}};var Pi=class extends Error{constructor(t,i){super(t),this.cause=i??null,this.stack=i.stack??null,Object.setPrototypeOf(this,Pi.prototype)}};var f={code:{replaceAction:"code",placeholder:"{CODE_BLOCK_PLACEHOLDER}"},inlineCode:{replaceAction:"inlineCode",placeholder:"{INLINE_CODE_BLOCK_PLACEHOLDER}"},image:{replaceAction:"image",placeholder:"{IMAGE_PLACEHOLDER}"},thematicBreak:{replaceAction:"thematicBreak",placeholder:"{HORIZONTAL_RULE_PLACEHOLDER}"},italics:{replaceAction:"emphasis",placeholder:"{ITALICS_PLACEHOLDER}"},bold:{replaceAction:"strong",placeholder:"{STRONG_PLACEHOLDER}"},list:{replaceAction:"list",placeholder:"{LIST_PLACEHOLDER}"},blockquote:{replaceAction:"blockquote",placeholder:"{BLOCKQUOTE_PLACEHOLDER}"},math:{replaceAction:"math",placeholder:"{MATH_PLACEHOLDER}"},inlineMath:{replaceAction:"inlineMath",placeholder:"{INLINE_MATH_PLACEHOLDER}"},html:{replaceAction:"html",placeholder:"{HTML_PLACEHOLDER}"},yaml:{replaceAction:Se,placeholder:Ke(`--- +---`)},wikiLink:{replaceAction:_a,placeholder:"{WIKI_LINK_PLACEHOLDER}"},obsidianMultiLineComments:{replaceAction:gu,placeholder:"{OBSIDIAN_COMMENT_PLACEHOLDER}"},footnoteAtStartOfLine:{replaceAction:/^(\[\^\w+\]) ?([,.;!:?])/gm,placeholder:"{FOOTNOTE_AT_START_OF_LINE_PLACEHOLDER}"},footnoteAfterATask:{replaceAction:/- \[.] (\[\^\w+\]) ?([,.;!:?])/gm,placeholder:"{FOOTNOTE_AFTER_A_TASK_PLACEHOLDER}"},url:{replaceAction:Wt,placeholder:"{URL_PLACEHOLDER}"},anchorTag:{replaceAction:hu,placeholder:"{ANCHOR_PLACEHOLDER}"},templaterCommand:{replaceAction:xu,placeholder:"{TEMPLATER_PLACEHOLDER}"},link:{replaceAction:oy,placeholder:"{REGULAR_LINK_PLACEHOLDER}"},tag:{replaceAction:ly,placeholder:"#tag-placeholder"},table:{replaceAction:cy,placeholder:"{TABLE_PLACEHOLDER}"},customIgnore:{replaceAction:dy,placeholder:"{CUSTOM_IGNORE_PLACEHOLDER}"}};function qe(e,t,i){let n=[];for(let r of e){let a;if(typeof r.replaceAction=="string")a=ay(t,r.placeholder,r.replaceAction);else if(r.replaceAction instanceof RegExp)a=sy(t,r.placeholder,r.replaceAction);else if(typeof r.replaceAction=="function"){let s=r.replaceAction;a=s(t,r.placeholder)}t=a.newText,n.push({replacedValues:a.replacedValues,placeholder:r.placeholder})}return t=i(t),n=n.reverse(),n!=null&&n.length>0&&n.forEach(r=>{r.replacedValues.forEach(a=>{t=t.replace(new RegExp(r.placeholder,"i"),Ke(a))})}),t}function ay(e,t,i){let n=ye(i,e),r=[];for(let a of n){let s=e.substring(a.start.offset,a.end.offset);r.push(s),e=fe(e,a.start.offset,a.end.offset,t)}return r.reverse(),{newText:e,replacedValues:r}}function sy(e,t,i){let n=e.match(i),r=[];if(i.flags.includes("g")){if(e=e.replaceAll(i,t),n)for(let a of n)r.push(a)}else e=e.replace(i,t),n&&r.push(n[0]);return{newText:e,replacedValues:r}}function oy(e,t){let i=ye("link",e),n=[];for(let r of i){if(r==null)continue;let a=e.substring(r.start.offset,r.end.offset);a.match(Cn)&&(n.push(a),e=fe(e,r.start.offset,r.end.offset,t))}return n.reverse(),{newText:e,replacedValues:n}}function ly(e,t){let i=[];return e=e.replace(qn,(n,r,a)=>(i.push(a),r+t)),{newText:e,replacedValues:i}}function cy(e,t){let i=Ia(e),n=new Array(i.length),r=0,a=n.length;for(let s of i)n[a-1-r++]=e.substring(s.startIndex,s.endIndex),e=fe(e,s.startIndex,s.endIndex,t);return{newText:e,replacedValues:n}}function dy(e,t){let i=lu(e),n=new Array(i.length),r=0,a=n.length;for(let s of i)n[a-1-r++]=e.substring(s.startIndex,s.endIndex),e=fe(e,s.startIndex,s.endIndex,t);return{newText:e,replacedValues:n}}var N=(s=>(s.YAML="YAML",s.HEADING="Heading",s.FOOTNOTE="Footnote",s.CONTENT="Content",s.SPACING="Spacing",s.PASTE="Paste",s))(N||{}),Ya=class{constructor(t,i,n,r,a,s,o,l=[],d=!1,c=[]){this.nameKey=t;this.descriptionKey=i;this.settingsKey=n;this.alias=r;this.type=a;this.applyAfterIgnore=s;this.examples=o;this.options=l;this.hasSpecialExecutionOrder=d;this.ignoreTypes=c;l.unshift(new Vt("enabled",this.descriptionKey,"",!1));for(let u of l)u.ruleAlias=r}getDefaultOptions(){let t={};for(let i of this.options)t[i.configKey]=i.defaultValue;return t}getOptions(t){return t.ruleConfigs[this.settingsKey]}getName(){return E(this.nameKey)}getDescription(){return E(this.descriptionKey)}getURL(){return"https://github.com/platers/obsidian-linter/blob/master/docs/rules.md"+"#"+this.alias}enabledOptionName(){return this.options[0].configKey}apply(t,i){return qe(this.ignoreTypes,t,n=>this.applyAfterIgnore(n,i))}},Wa=class{constructor(t,i,n,r={}){this.description=t,this.options=r,this.before=i,this.after=n}},Eu=Object.values(N);function Lu(e){let t=e.match(Se);if(!t)return[];let i=t[1],n=Ee(i,"disabled rules");if(n==null)return[];let r=n.includes(` `)?`disabled rules: -`:"disabled rules: ";r+=n;let s=Je(r)["disabled rules"];return s?(typeof s=="string"&&(s=[s]),s.includes("all")?Ki.map(o=>o.alias):s):[]}var Ki=[],Nf={},Bn=new Map;function cu(e){Ki.push(e),Ki.sort((t,i)=>ou.indexOf(t.type)-ou.indexOf(i.type)||t.settingsKey.localeCompare(i.settingsKey)),Nf[e.alias]=e,Bn.has(e.type)?Bn.get(e.type).push(e):Bn.set(e.type,[e])}function Da(e,t){let i;throw e instanceof yc?(i=e.toString(),i=E("logs.wrapper-yaml-error").replace("{ERROR_MESSAGE}",i.substring(i.indexOf(":")+1))):i=E("logs.wrapper-unknown-error").replace("{ERROR_MESSAGE}",e.message),new Pi(`"${t}" encountered an ${i}`,e)}var rn=un(du());function Pf(e){for(var t=[],i=1;io.alias):s):[]}var Ki=[],uy={},Nn=new Map;function Ou(e){Ki.push(e),Ki.sort((t,i)=>Eu.indexOf(t.type)-Eu.indexOf(i.type)||t.settingsKey.localeCompare(i.settingsKey)),uy[e.alias]=e,Nn.has(e.type)?Nn.get(e.type).push(e):Nn.set(e.type,[e])}function Va(e,t){let i;throw e instanceof Ec?(i=e.toString(),i=E("logs.wrapper-yaml-error").replace("{ERROR_MESSAGE}",i.substring(i.indexOf(":")+1))):i=E("logs.wrapper-unknown-error").replace("{ERROR_MESSAGE}",e.message),new Pi(`"${t}" encountered an ${i}`,e)}var on=gn(Cu());function py(e){for(var t=[],i=1;i0&&n.forEach(r=>{r.replacedValues.forEach(a=>{t=t.replace(new RegExp(r.placeholder,"i"),Ke(a))})}),t}function Kf(e,t,i){let n=fe(i,e),r=[];for(let a of n){let s=e.substring(a.start.offset,a.end.offset);r.push(s),e=Se(e,a.start.offset,a.end.offset,t)}return r.reverse(),{newText:e,replacedValues:r}}function $f(e,t,i){let n=e.match(i),r=[];if(i.flags.includes("g")){if(e=e.replaceAll(i,t),n)for(let a of n)r.push(a)}else e=e.replace(i,t),n&&r.push(n[0]);return{newText:e,replacedValues:r}}function Hf(e,t){let i=fe("link",e),n=[];for(let r of i){if(r==null)continue;let a=e.substring(r.start.offset,r.end.offset);a.match(Ln)&&(n.push(a),e=Se(e,r.start.offset,r.end.offset,t))}return n.reverse(),{newText:e,replacedValues:n}}function Yf(e,t){let i=[];return e=e.replace(En,(n,r,a)=>(i.push(a),r+t)),{newText:e,replacedValues:i}}function Wf(e,t){let i=Sa(e),n=new Array(i.length),r=0,a=n.length;for(let s of i)n[a-1-r++]=e.substring(s.startIndex,s.endIndex),e=Se(e,s.startIndex,s.endIndex,t);return{newText:e,replacedValues:n}}var Yt,Fn,$i,ei=class{static getRule(){if(!Ve(ei,Yt).has(this.name)){let t=new this,i=new Fa(t.nameKey,t.descriptionKey,t.settingsKey,t.alias,t.type,t.safeApply.bind(t),t.exampleBuilders.map(n=>n.example),t.optionBuilders.map(n=>n.option),t.hasSpecialExecutionOrder);Ve(ei,Yt).set(this.name,i),Ve(ei,Fn).set(t.alias,t)}return Ve(ei,Yt).get(this.name)}static applyIfEnabledBase(t,i,n,r){let a=t.getOptions(n);if(a[t.enabledOptionName()]){let s=Object.assign({},a,r);fi(`${E("logs.run-rule-text")} ${t.getName()}`);try{return[t.apply(i,s),!0]}catch(o){Da(o,t.getName())}}else return[i,!1]}static getBuilderByName(t){return Ve(ei,Fn).get(t)}static setNoSettingControl(t,i){Ve(ei,$i).has(t)||Ve(ei,$i).set(t,[]),Ve(ei,$i).get(t).push(i)}static hasSettingControl(t,i){return!Ve(ei,$i).has(t)||!Ve(ei,$i).get(t).includes(i)}},oi=ei;Yt=new WeakMap,Fn=new WeakMap,$i=new WeakMap,Ct(oi,Yt,new Map),Ct(oi,Fn,new Map),Ct(oi,$i,new Map);var k=class extends oi{constructor(i){super();this.alias=i.nameKey.replace(/rules\.(.*)\.name/,"$1"),this.settingsKey=i.nameKey.replace(/rules\.(.*)\.name/,"$1"),this.nameKey=i.nameKey,this.descriptionKey=i.descriptionKey,this.type=i.type,this.hasSpecialExecutionOrder=i.hasSpecialExecutionOrder??!1}static register(i){let n=i.getRule();cu(n)}safeApply(i,n){return this.apply(i,this.buildRuleOptions(n))}buildRuleOptions(i){i=i??{};let n=new this.OptionsClass,r=Object.assign(n,i);for(let a of this.optionBuilders)a.setRuleOption(r,i);return r}static applyIfEnabled(i,n,r,a){let s=this.getRule();return r.includes(s.alias)?(fi(s.alias+" "+E("logs.disabled-text")),[i,!1]):oi.applyIfEnabledBase(s,i,n,a)}static getRuleOptions(i){let n=oi.getRule.bind(this)(),r=new this,a=n.getOptions(i);return r.buildRuleOptions(a)}static noSettingControl(){return(i,n)=>{let r=i.constructor.name;oi.setNoSettingControl(r,n)}}},Mo,v=class{constructor(t){Ct(this,Mo,void 0);this.example=new Ra(t.description,t.before,t.after,t.options)}};Mo=new WeakMap;var Wt,Hi=class{constructor(t){Ct(this,Wt,void 0);this.OptionsClass=t.OptionsClass;let i=t.nameKey.split(".");i.length==1?this.configKey=i[0]:this.configKey=i[i.length-2],this.nameKey=t.nameKey,this.descriptionKey=t.descriptionKey,this.optionsKey=t.optionsKey}get defaultValue(){return new this.OptionsClass()[this.optionsKey]}get option(){return Ve(this,Wt)||Cl(this,Wt,this.buildOption()),Ve(this,Wt)}setRuleOption(t,i){let n=i[this.configKey];n!==void 0&&(t[this.optionsKey]=n)}};Wt=new WeakMap;var G=class extends Hi{buildOption(){return new Kt(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},ja=class extends Hi{buildOption(){return new _n(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},xe=class extends Hi{constructor(i){super(i);this.records=i.records.map(n=>new _a("enums."+n.value,n.description))}buildOption(){return new Ba(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue,this.records)}},ye=class extends Hi{constructor(i){super(i);this.separator=i.separator??` -`,this.splitter=i.splitter??/\n/}buildOption(){return new qa(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue.join(this.separator))}setRuleOption(i,n){if(n[this.configKey]!==void 0){let r=n[this.configKey].split(this.splitter).filter(function(a){return a!=""});i[this.optionsKey]=r}}},li=class extends Hi{buildOption(){return new _n(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},Na=class extends Hi{buildOption(){return new Ia(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}};var qo=new Map([["1nd","1st"],["2rd","2nd"],["2st","2nd"],["3nd","3rd"],["3st","3rd"],["4rd","4th"],["a-diaerers","a-diaereses"],["aaccess","access"],["aaccessibility","accessibility"],["aaccession","accession"],["aack","ack"],["aactual","actual"],["aactually","actually"],["aadd","add"],["aagain","again"],["aaggregation","aggregation"],["aanother","another"],["aapply","apply"],["aaproximate","approximate"],["aaproximated","approximated"],["aaproximately","approximately"],["aaproximates","approximates"],["aaproximating","approximating"],["aare","are"],["aassign","assign"],["aassignment","assignment"],["aassignments","assignments"],["aassociated","associated"],["aassumed","assumed"],["aautomatic","automatic"],["aautomatically","automatically"],["abailable","available"],["abanden","abandon"],["abandonded","abandoned"],["abandone","abandon"],["abandonned","abandoned"],["abandonning","abandoning"],["abbbreviated","abbreviated"],["abberation","aberration"],["abberations","aberrations"],["abberivates","abbreviates"],["abberration","aberration"],["abborted","aborted"],["abborting","aborting"],["abbrevate","abbreviate"],["abbrevation","abbreviation"],["abbrevations","abbreviations"],["abbreviaton","abbreviation"],["abbreviatons","abbreviations"],["abbriviate","abbreviate"],["abbriviation","abbreviation"],["abbriviations","abbreviations"],["aberation","aberration"],["abigious","ambiguous"],["abiguity","ambiguity"],["abilityes","abilities"],["abilties","abilities"],["abilty","ability"],["abiss","abyss"],["abitrarily","arbitrarily"],["abitrary","arbitrary"],["abitrate","arbitrate"],["abitration","arbitration"],["abizmal","abysmal"],["abnoramlly","abnormally"],["abnormalty","abnormally"],["abnormaly","abnormally"],["abnornally","abnormally"],["abnove","above"],["abnrormal","abnormal"],["aboluste","absolute"],["abolustely","absolutely"],["abolute","absolute"],["abondon","abandon"],["abondoned","abandoned"],["abondoning","abandoning"],["abondons","abandons"],["aboout","about"],["aborigene","aborigine"],["abortificant","abortifacient"],["aboslute","absolute"],["aboslutely","absolutely"],["abosulte","absolute"],["abosultely","absolutely"],["abosulute","absolute"],["abosulutely","absolutely"],["abotu","about"],["abount","about"],["aboutit","about it"],["aboutthe","about the"],["abouve","above"],["abov","above"],["aboved","above"],["abovemtioned","abovementioned"],["aboves","above"],["abovmentioned","abovementioned"],["abreviate","abbreviate"],["abreviated","abbreviated"],["abreviates","abbreviates"],["abreviating","abbreviating"],["abreviation","abbreviation"],["abreviations","abbreviations"],["abritrarily","arbitrarily"],["abritrary","arbitrary"],["abriviate","abbreviate"],["absail","abseil"],["absailing","abseiling"],["absance","absence"],["abscence","absence"],["abscound","abscond"],["abselutely","absolutely"],["abselutly","absolutely"],["absense","absence"],["absodefly","absolute"],["absodeflyly","absolutely"],["absolate","absolute"],["absolately","absolutely"],["absolaute","absolute"],["absolautely","absolutely"],["absoleted","obsoleted"],["absoletely","absolutely"],["absoliute","absolute"],["absoliutely","absolutely"],["absoloute","absolute"],["absoloutely","absolutely"],["absolte","absolute"],["absoltely","absolutely"],["absoltue","absolute"],["absoltuely","absolutely"],["absoluate","absolute"],["absoluately","absolutely"],["absolue","absolute"],["absoluely","absolutely"],["absoluet","absolute"],["absoluetly","absolutely"],["absolule","absolute"],["absolulte","absolute"],["absolultely","absolutely"],["absolune","absolute"],["absolunely","absolutely"],["absolure","absolute"],["absolurely","absolutely"],["absolut","absolute"],["absolutelly","absolutely"],["absoluth","absolute"],["absoluthe","absolute"],["absoluthely","absolutely"],["absoluthly","absolutely"],["absolutley","absolutely"],["absolutly","absolutely"],["absolutlye","absolutely"],["absoluute","absolute"],["absoluutely","absolutely"],["absoluve","absolute"],["absoluvely","absolutely"],["absoolute","absolute"],["absoolutely","absolutely"],["absorbant","absorbent"],["absorbsion","absorption"],["absorbtion","absorption"],["absorve","absorb"],["absould","absolute"],["absouldly","absolutely"],["absoule","absolute"],["absoulely","absolutely"],["absouletely","absolutely"],["absoult","absolute"],["absoulte","absolute"],["absoultely","absolutely"],["absoultly","absolutely"],["absoulute","absolute"],["absoulutely","absolutely"],["absout","absolute"],["absoute","absolute"],["absoutely","absolutely"],["absoutly","absolutely"],["abstact","abstract"],["abstacted","abstracted"],["abstacter","abstracter"],["abstacting","abstracting"],["abstaction","abstraction"],["abstactions","abstractions"],["abstactly","abstractly"],["abstactness","abstractness"],["abstactor","abstractor"],["abstacts","abstracts"],["abstanence","abstinence"],["abstrac","abstract"],["abstraced","abstracted"],["abstracer","abstracter"],["abstracing","abstracting"],["abstracion","abstraction"],["abstracions","abstractions"],["abstracly","abstractly"],["abstracness","abstractness"],["abstracor","abstractor"],["abstracs","abstracts"],["abstrat","abstract"],["abstrated","abstracted"],["abstrater","abstracter"],["abstrating","abstracting"],["abstration","abstraction"],["abstrations","abstractions"],["abstratly","abstractly"],["abstratness","abstractness"],["abstrator","abstractor"],["abstrats","abstracts"],["abstrct","abstract"],["abstrcted","abstracted"],["abstrcter","abstracter"],["abstrcting","abstracting"],["abstrction","abstraction"],["abstrctions","abstractions"],["abstrctly","abstractly"],["abstrctness","abstractness"],["abstrctor","abstractor"],["abstrcts","abstracts"],["absulute","absolute"],["absymal","abysmal"],["abtract","abstract"],["abtracted","abstracted"],["abtracter","abstracter"],["abtracting","abstracting"],["abtraction","abstraction"],["abtractions","abstractions"],["abtractly","abstractly"],["abtractness","abstractness"],["abtractor","abstractor"],["abtracts","abstracts"],["abudance","abundance"],["abudances","abundances"],["abundacies","abundances"],["abundancies","abundances"],["abundand","abundant"],["abundence","abundance"],["abundent","abundant"],["abundunt","abundant"],["abutts","abuts"],["abvailable","available"],["abvious","obvious"],["acadamy","academy"],["acadimy","academy"],["acadmic","academic"],["acale","scale"],["acatemy","academy"],["accademic","academic"],["accademy","academy"],["accapt","accept"],["accapted","accepted"],["accapts","accepts"],["acccept","accept"],["acccepted","accepted"],["acccepting","accepting"],["acccepts","accepts"],["accces","access"],["acccess","access"],["acccessd","accessed"],["acccessed","accessed"],["acccesses","accesses"],["acccessibility","accessibility"],["acccessible","accessible"],["acccessing","accessing"],["acccession","accession"],["acccessor","accessor"],["acccessors","accessors"],["acccord","accord"],["acccordance","accordance"],["acccordances","accordances"],["acccorded","accorded"],["acccording","according"],["acccordingly","accordingly"],["acccords","accords"],["acccount","account"],["acccumulate","accumulate"],["acccuracy","accuracy"],["acccurate","accurate"],["acccurately","accurately"],["acccused","accused"],["accecpt","accept"],["accecpted","accepted"],["accees","access"],["acceess","access"],["accelarate","accelerate"],["accelaration","acceleration"],["accelarete","accelerate"],["accelearion","acceleration"],["accelearte","accelerate"],["accelearted","accelerated"],["acceleartes","accelerates"],["acceleartion","acceleration"],["acceleartor","accelerator"],["acceleated","accelerated"],["acceleratoin","acceleration"],["acceleraton","acceleration"],["acceleratrion","acceleration"],["accelerte","accelerate"],["accelertion","acceleration"],["accellerate","accelerate"],["accellerated","accelerated"],["accellerating","accelerating"],["accelleration","acceleration"],["accellerator","accelerator"],["accending","ascending"],["acceot","accept"],["accepatble","acceptable"],["accepect","accept"],["accepected","accepted"],["accepeted","accepted"],["acceppt","accept"],["acceptence","acceptance"],["acceptible","acceptable"],["acceptted","accepted"],["acces","access"],["accesed","accessed"],["acceses","accesses"],["accesibility","accessibility"],["accesible","accessible"],["accesiblity","accessibility"],["accesiibility","accessibility"],["accesiiblity","accessibility"],["accesing","accessing"],["accesnt","accent"],["accesor","accessor"],["accesories","accessories"],["accesors","accessors"],["accesory","accessory"],["accessability","accessibility"],["accessable","accessible"],["accessbile","accessible"],["accessiable","accessible"],["accessibile","accessible"],["accessibiliity","accessibility"],["accessibilitiy","accessibility"],["accessibiltiy","accessibility"],["accessibilty","accessibility"],["accessiblilty","accessibility"],["accessiblity","accessibility"],["accessiibility","accessibility"],["accessiiblity","accessibility"],["accessile","accessible"],["accessintg","accessing"],["accessisble","accessible"],["accessoire","accessory"],["accessort","accessor"],["accesss","access"],["accesssibility","accessibility"],["accesssible","accessible"],["accesssiblity","accessibility"],["accesssiiblity","accessibility"],["accesssing","accessing"],["accesssor","accessor"],["accesssors","accessors"],["accet","accept"],["accetable","acceptable"],["accets","accepts"],["acchiev","achieve"],["acchievable","achievable"],["acchieve","achieve"],["acchieveable","achievable"],["acchieved","achieved"],["acchievement","achievement"],["acchievements","achievements"],["acchiever","achiever"],["acchieves","achieves"],["accidant","accident"],["acciddently","accidentally"],["accidentaly","accidentally"],["accidential","accidental"],["accidentially","accidentally"],["accidentically","accidentally"],["accidentilly","accidentally"],["accidentily","accidentally"],["accidently","accidentally"],["accidentually","accidentally"],["accidetly","accidentally"],["acciedential","accidental"],["acciednetally","accidentally"],["accient","accident"],["acciental","accidental"],["acclerated","accelerated"],["acclerates","accelerates"],["accleration","acceleration"],["acclerometers","accelerometers"],["acclimitization","acclimatization"],["accociate","associate"],["accociated","associated"],["accociates","associates"],["accociating","associating"],["accociation","association"],["accociations","associations"],["accoding","according"],["accodingly","accordingly"],["accodr","accord"],["accodrance","accordance"],["accodred","accorded"],["accodring","according"],["accodringly","accordingly"],["accodrs","accords"],["accointing","accounting"],["accoird","accord"],["accoirding","according"],["accomadate","accommodate"],["accomadated","accommodated"],["accomadates","accommodates"],["accomadating","accommodating"],["accomadation","accommodation"],["accomadations","accommodations"],["accomdate","accommodate"],["accomidate","accommodate"],["accommadate","accommodate"],["accommadates","accommodates"],["accommadating","accommodating"],["accommdated","accommodated"],["accomodata","accommodate"],["accomodate","accommodate"],["accomodated","accommodated"],["accomodates","accommodates"],["accomodating","accommodating"],["accomodation","accommodation"],["accomodations","accommodations"],["accompagned","accompanied"],["accompagnied","accompanied"],["accompagnies","accompanies"],["accompagniment","accompaniment"],["accompagning","accompanying"],["accompagny","accompany"],["accompagnying","accompanying"],["accompained","accompanied"],["accompanyed","accompanied"],["accompt","account"],["acconding","according"],["accont","account"],["accontant","accountant"],["acconted","accounted"],["acconting","accounting"],["accoording","according"],["accoordingly","accordingly"],["accoount","account"],["accopunt","account"],["accordding","according"],["accordeon","accordion"],["accordian","accordion"],["accordign","according"],["accordiingly","accordingly"],["accordinag","according"],["accordind","according"],["accordinly","accordingly"],["accordint","according"],["accordintly","accordingly"],["accordling","according"],["accordlingly","accordingly"],["accordng","according"],["accordngly","accordingly"],["accoriding","according"],["accoridng","according"],["accoridngly","accordingly"],["accoringly","accordingly"],["accorndingly","accordingly"],["accort","accord"],["accortance","accordance"],["accorted","accorded"],["accortind","according"],["accorting","according"],["accound","account"],["accouned","accounted"],["accoustic","acoustic"],["accoustically","acoustically"],["accoustics","acoustics"],["accout","account"],["accouting","accounting"],["accoutn","account"],["accpet","accept"],["accpets","accepts"],["accquainted","acquainted"],["accquire","acquire"],["accquired","acquired"],["accquires","acquires"],["accquiring","acquiring"],["accracy","accuracy"],["accrate","accurate"],["accrding","according"],["accrdingly","accordingly"],["accrediation","accreditation"],["accredidation","accreditation"],["accress","access"],["accroding","according"],["accrodingly","accordingly"],["accronym","acronym"],["accronyms","acronyms"],["accrording","according"],["accros","across"],["accrose","across"],["accross","across"],["accsess","access"],["accss","access"],["accssible","accessible"],["accssor","accessor"],["acctual","actual"],["accuarcy","accuracy"],["accuarte","accurate"],["accuartely","accurately"],["accumalate","accumulate"],["accumalates","accumulates"],["accumalator","accumulator"],["accumalte","accumulate"],["accumalted","accumulated"],["accumilated","accumulated"],["accumlate","accumulate"],["accumlated","accumulated"],["accumlates","accumulates"],["accumlating","accumulating"],["accumlator","accumulator"],["accummulating","accumulating"],["accummulators","accumulators"],["accumualte","accumulate"],["accumualtion","accumulation"],["accupied","occupied"],["accupts","accepts"],["accurable","accurate"],["accuraccies","accuracies"],["accuraccy","accuracy"],["accurancy","accuracy"],["accurarcy","accuracy"],["accuratelly","accurately"],["accuratley","accurately"],["accuratly","accurately"],["accurences","occurrences"],["accurracy","accuracy"],["accurring","occurring"],["accussed","accused"],["acditionally","additionally"],["acecess","access"],["acedemic","academic"],["acelerated","accelerated"],["acend","ascend"],["acendance","ascendance"],["acendancey","ascendancy"],["acended","ascended"],["acendence","ascendance"],["acendencey","ascendancy"],["acendency","ascendancy"],["acender","ascender"],["acending","ascending"],["acent","ascent"],["aceptable","acceptable"],["acerage","acreage"],["acess","access"],["acessable","accessible"],["acessed","accessed"],["acesses","accesses"],["acessible","accessible"],["acessing","accessing"],["acessor","accessor"],["acheive","achieve"],["acheived","achieved"],["acheivement","achievement"],["acheivements","achievements"],["acheives","achieves"],["acheiving","achieving"],["acheivment","achievement"],["acheivments","achievements"],["achievment","achievement"],["achievments","achievements"],["achitecture","architecture"],["achitectures","architectures"],["achivable","achievable"],["achivement","achievement"],["achivements","achievements"],["achor","anchor"],["achored","anchored"],["achoring","anchoring"],["achors","anchors"],["ACI","ACPI"],["acident","accident"],["acidental","accidental"],["acidentally","accidentally"],["acidents","accidents"],["acient","ancient"],["acients","ancients"],["ACII","ASCII"],["acition","action"],["acitions","actions"],["acitivate","activate"],["acitivation","activation"],["acitivity","activity"],["acitvate","activate"],["acitve","active"],["acivate","activate"],["acive","active"],["acknodledgment","acknowledgment"],["acknodledgments","acknowledgments"],["acknoledge","acknowledge"],["acknoledged","acknowledged"],["acknoledges","acknowledges"],["acknoledging","acknowledging"],["acknoledgment","acknowledgment"],["acknoledgments","acknowledgments"],["acknowldeged","acknowledged"],["acknowldegement","acknowledgement"],["acknowldegements","acknowledgements"],["acknowledgeing","acknowledging"],["acknowleding","acknowledging"],["acknowlege","acknowledge"],["acknowleged","acknowledged"],["acknowlegement","acknowledgement"],["acknowlegements","acknowledgements"],["acknowleges","acknowledges"],["acknowleging","acknowledging"],["acknowlegment","acknowledgment"],["ackowledge","acknowledge"],["ackowledged","acknowledged"],["ackowledgement","acknowledgement"],["ackowledgements","acknowledgements"],["ackowledges","acknowledges"],["ackowledging","acknowledging"],["acnowledge","acknowledge"],["acocunt","account"],["acommodate","accommodate"],["acommodated","accommodated"],["acommodates","accommodates"],["acommodating","accommodating"],["acommodation","accommodation"],["acommpany","accompany"],["acommpanying","accompanying"],["acomodate","accommodate"],["acomodated","accommodated"],["acompanies","accompanies"],["acomplish","accomplish"],["acomplished","accomplished"],["acomplishment","accomplishment"],["acomplishments","accomplishments"],["acontiguous","a contiguous"],["acoording","according"],["acoordingly","accordingly"],["acording","according"],["acordingly","accordingly"],["acordinng","according"],["acorss","across"],["acorting","according"],["acount","account"],["acounts","accounts"],["acquaintence","acquaintance"],["acquaintences","acquaintances"],["acquiantence","acquaintance"],["acquiantences","acquaintances"],["acquiesence","acquiescence"],["acquisiton","acquisition"],["acquisitons","acquisitions"],["acquited","acquitted"],["acquition","acquisition"],["acqure","acquire"],["acqured","acquired"],["acqures","acquires"],["acquring","acquiring"],["acqusition","acquisition"],["acqusitions","acquisitions"],["acrage","acreage"],["acroos","across"],["acrosss","across"],["acrue","accrue"],["acrued","accrued"],["acssume","assume"],["acssumed","assumed"],["actal","actual"],["actally","actually"],["actaly","actually"],["actaul","actual"],["actaully","actually"],["actial","actual"],["actially","actually"],["actialy","actually"],["actiavte","activate"],["actiavted","activated"],["actiavtes","activates"],["actiavting","activating"],["actiavtion","activation"],["actiavtions","activations"],["actiavtor","activator"],["actibity","activity"],["acticate","activate"],["actice","active"],["actine","active"],["actiual","actual"],["activ","active"],["activaed","activated"],["activationg","activating"],["actived","activated"],["activeta","activate"],["activete","activate"],["activeted","activated"],["activetes","activates"],["activiate","activate"],["activies","activities"],["activites","activities"],["activitis","activities"],["activitites","activities"],["activitiy","activity"],["activley","actively"],["activly","actively"],["activste","activate"],["activsted","activated"],["activstes","activates"],["activtes","activates"],["activties","activities"],["activtion","activation"],["activty","activity"],["activw","active"],["activy","activity"],["actove","active"],["actuaal","actual"],["actuaally","actually"],["actuak","actual"],["actuakly","actually"],["actuallin","actually"],["actualy","actually"],["actualyl","actually"],["actuell","actual"],["actuion","action"],["actuionable","actionable"],["actul","actual"],["actullay","actually"],["actully","actually"],["actural","actual"],["acturally","actually"],["actusally","actually"],["actve","active"],["actzal","actual"],["acual","actual"],["acually","actually"],["acuired","acquired"],["acuires","acquires"],["acumulate","accumulate"],["acumulated","accumulated"],["acumulates","accumulates"],["acumulating","accumulating"],["acumulation","accumulation"],["acumulative","accumulative"],["acumulator","accumulator"],["acuqire","acquire"],["acuracy","accuracy"],["acurate","accurate"],["acused","accused"],["acustom","accustom"],["acustommed","accustomed"],["acutal","actual"],["acutally","actually"],["acutual","actual"],["adapated","adapted"],["adapater","adapter"],["adapaters","adapters"],["adapative","adaptive"],["adapdive","adaptive"],["adapive","adaptive"],["adaptaion","adaptation"],["adaptare","adapter"],["adapte","adapter"],["adaptee","adapted"],["adaptes","adapters"],["adaptibe","adaptive"],["adaquate","adequate"],["adaquately","adequately"],["adatper","adapter"],["adatpers","adapters"],["adavance","advance"],["adavanced","advanced"],["adbandon","abandon"],["addapt","adapt"],["addaptation","adaptation"],["addaptations","adaptations"],["addapted","adapted"],["addapting","adapting"],["addapts","adapts"],["addd","add"],["addded","added"],["addding","adding"],["adddress","address"],["adddresses","addresses"],["addds","adds"],["addedd","added"],["addeed","added"],["addersses","addresses"],["addert","assert"],["adderted","asserted"],["addess","address"],["addessed","addressed"],["addesses","addresses"],["addessing","addressing"],["addied","added"],["addig","adding"],["addiional","additional"],["addiiton","addition"],["addiitonall","additional"],["addional","additional"],["addionally","additionally"],["addiotion","addition"],["addiotional","additional"],["addiotionally","additionally"],["addiotions","additions"],["additianal","additional"],["additianally","additionally"],["additinal","additional"],["additinally","additionally"],["additioanal","additional"],["additioanally","additionally"],["additioanlly","additionally"],["additiona","additional"],["additionallly","additionally"],["additionals","additional"],["additionaly","additionally"],["additionalyy","additionally"],["additionnal","additional"],["additionnally","additionally"],["additionnaly","additionally"],["additoin","addition"],["additoinal","additional"],["additoinally","additionally"],["additoinaly","additionally"],["additon","addition"],["additonal","additional"],["additonally","additionally"],["additonaly","additionally"],["addjust","adjust"],["addjusted","adjusted"],["addjusting","adjusting"],["addjusts","adjusts"],["addmission","admission"],["addmit","admit"],["addopt","adopt"],["addopted","adopted"],["addpress","address"],["addrass","address"],["addrees","address"],["addreess","address"],["addrerss","address"],["addrerssed","addressed"],["addrersser","addresser"],["addrersses","addresses"],["addrerssing","addressing"],["addrersss","address"],["addrersssed","addressed"],["addrerssser","addresser"],["addrerssses","addresses"],["addrersssing","addressing"],["addres","address"],["addresable","addressable"],["addresed","addressed"],["addreses","addresses"],["addresess","addresses"],["addresing","addressing"],["addressess","addresses"],["addressings","addressing"],["addresss","address"],["addresssed","addressed"],["addressses","addresses"],["addresssing","addressing"],["addrress","address"],["addrss","address"],["addrssed","addressed"],["addrsses","addresses"],["addrssing","addressing"],["addted","added"],["addtion","addition"],["addtional","additional"],["addtionally","additionally"],["addtitional","additional"],["adecuate","adequate"],["aded","added"],["adequit","adequate"],["adevnture","adventure"],["adevntured","adventured"],["adevnturer","adventurer"],["adevnturers","adventurers"],["adevntures","adventures"],["adevnturing","adventuring"],["adhearing","adhering"],["adherance","adherence"],["adiacent","adjacent"],["adiditon","addition"],["adin","admin"],["ading","adding"],["adition","addition"],["aditional","additional"],["aditionally","additionally"],["aditionaly","additionally"],["aditionnal","additional"],["adivsories","advisories"],["adivsoriyes","advisories"],["adivsory","advisory"],["adjacentsy","adjacency"],["adjactend","adjacent"],["adjancent","adjacent"],["adjascent","adjacent"],["adjasence","adjacence"],["adjasencies","adjacencies"],["adjasensy","adjacency"],["adjasent","adjacent"],["adjast","adjust"],["adjcence","adjacence"],["adjcencies","adjacencies"],["adjcent","adjacent"],["adjcentcy","adjacency"],["adjsence","adjacence"],["adjsencies","adjacencies"],["adjsuted","adjusted"],["adjuscent","adjacent"],["adjusment","adjustment"],["adjustement","adjustment"],["adjustements","adjustments"],["adjustificat","justification"],["adjustification","justification"],["adjustmant","adjustment"],["adjustmants","adjustments"],["adjustmenet","adjustment"],["admendment","amendment"],["admi","admin"],["admininistrative","administrative"],["admininistrator","administrator"],["admininistrators","administrators"],["admininstrator","administrator"],["administation","administration"],["administator","administrator"],["administor","administrator"],["administraively","administratively"],["adminitrator","administrator"],["adminssion","admission"],["adminstered","administered"],["adminstrate","administrate"],["adminstration","administration"],["adminstrative","administrative"],["adminstrator","administrator"],["adminstrators","administrators"],["admisible","admissible"],["admissability","admissibility"],["admissable","admissible"],["admited","admitted"],["admitedly","admittedly"],["admn","admin"],["admnistrator","administrator"],["admnistrators","administrators"],["adn","and"],["adobted","adopted"],["adolecent","adolescent"],["adpapted","adapted"],["adpat","adapt"],["adpated","adapted"],["adpater","adapter"],["adpaters","adapters"],["adpats","adapts"],["adpter","adapter"],["adquire","acquire"],["adquired","acquired"],["adquires","acquires"],["adquiring","acquiring"],["adrea","area"],["adrerss","address"],["adrerssed","addressed"],["adrersser","addresser"],["adrersses","addresses"],["adrerssing","addressing"],["adres","address"],["adresable","addressable"],["adresing","addressing"],["adress","address"],["adressable","addressable"],["adresse","address"],["adressed","addressed"],["adresses","addresses"],["adressing","addressing"],["adresss","address"],["adressses","addresses"],["adrress","address"],["adrresses","addresses"],["adtodetect","autodetect"],["adusted","adjusted"],["adustment","adjustment"],["advanatage","advantage"],["advanatages","advantages"],["advanatge","advantage"],["advandced","advanced"],["advane","advance"],["advaned","advanced"],["advantagous","advantageous"],["advanved","advanced"],["adventages","advantages"],["adventrous","adventurous"],["adverised","advertised"],["advertice","advertise"],["adverticed","advertised"],["advertisment","advertisement"],["advertisments","advertisements"],["advertistment","advertisement"],["advertistments","advertisements"],["advertize","advertise"],["advertized","advertised"],["advertizes","advertises"],["advesary","adversary"],["advetise","advertise"],["adviced","advised"],["adviseable","advisable"],["advisoriyes","advisories"],["advizable","advisable"],["adwances","advances"],["aequidistant","equidistant"],["aequivalent","equivalent"],["aeriel","aerial"],["aeriels","aerials"],["aesily","easily"],["aesy","easy"],["aexs","axes"],["afair","affair"],["afaraid","afraid"],["afe","safe"],["afecting","affecting"],["afer","after"],["aferwards","afterwards"],["afetr","after"],["affecfted","affected"],["afficianados","aficionados"],["afficionado","aficionado"],["afficionados","aficionados"],["affilate","affiliate"],["affilates","affiliates"],["affilation","affiliation"],["affilations","affiliations"],["affilliate","affiliate"],["affinitied","affinities"],["affinitiy","affinity"],["affinitze","affinitize"],["affinties","affinities"],["affintiy","affinity"],["affintize","affinitize"],["affinty","affinity"],["affitnity","affinity"],["afforementioned","aforementioned"],["affortable","affordable"],["afforts","affords"],["affraid","afraid"],["afinity","affinity"],["afor","for"],["aforememtioned","aforementioned"],["aforementiond","aforementioned"],["aforementionned","aforementioned"],["aformentioned","aforementioned"],["afterall","after all"],["afterw","after"],["aftrer","after"],["aftzer","after"],["againnst","against"],["againsg","against"],["againt","against"],["againts","against"],["agaisnt","against"],["agaist","against"],["agancies","agencies"],["agancy","agency"],["aganist","against"],["agant","agent"],["aggaravates","aggravates"],["aggegate","aggregate"],["aggessive","aggressive"],["aggessively","aggressively"],["agggregate","aggregate"],["aggragate","aggregate"],["aggragator","aggregator"],["aggrated","aggregated"],["aggreagate","aggregate"],["aggreataon","aggregation"],["aggreate","aggregate"],["aggreated","aggregated"],["aggreation","aggregation"],["aggreations","aggregations"],["aggreed","agreed"],["aggreement","agreement"],["aggregatet","aggregated"],["aggregetor","aggregator"],["aggreggate","aggregate"],["aggregious","egregious"],["aggregrate","aggregate"],["aggregrated","aggregated"],["aggresive","aggressive"],["aggresively","aggressively"],["aggrevate","aggravate"],["aggrgate","aggregate"],["agian","again"],["agianst","against"],["agin","again"],["aginst","against"],["aglorithm","algorithm"],["aglorithms","algorithms"],["agorithm","algorithm"],["agrain","again"],["agravate","aggravate"],["agre","agree"],["agred","agreed"],["agreeement","agreement"],["agreemnet","agreement"],["agreemnets","agreements"],["agreemnt","agreement"],["agregate","aggregate"],["agregated","aggregated"],["agregates","aggregates"],["agregation","aggregation"],["agregator","aggregator"],["agreing","agreeing"],["agrement","agreement"],["agression","aggression"],["agressive","aggressive"],["agressively","aggressively"],["agressiveness","aggressiveness"],["agressivity","aggressivity"],["agressor","aggressor"],["agresssive","aggressive"],["agrgument","argument"],["agrguments","arguments"],["agricultue","agriculture"],["agriculure","agriculture"],["agricuture","agriculture"],["agrieved","aggrieved"],["agrresive","aggressive"],["agrument","argument"],["agruments","arguments"],["agsinst","against"],["agument","argument"],["agumented","augmented"],["aguments","arguments"],["aheared","adhered"],["ahev","have"],["ahlpa","alpha"],["ahlpas","alphas"],["ahppen","happen"],["ahve","have"],["aicraft","aircraft"],["aiffer","differ"],["ailgn","align"],["aiport","airport"],["airator","aerator"],["airbourne","airborne"],["aircaft","aircraft"],["aircrafts'","aircraft's"],["aircrafts","aircraft"],["airfow","airflow"],["airlfow","airflow"],["airloom","heirloom"],["airporta","airports"],["airrcraft","aircraft"],["aisian","Asian"],["aixs","axis"],["aizmuth","azimuth"],["ajacence","adjacence"],["ajacencies","adjacencies"],["ajacency","adjacency"],["ajacent","adjacent"],["ajacentcy","adjacency"],["ajasence","adjacence"],["ajasencies","adjacencies"],["ajative","adjective"],["ajcencies","adjacencies"],["ajsencies","adjacencies"],["ajurnment","adjournment"],["ajust","adjust"],["ajusted","adjusted"],["ajustement","adjustment"],["ajusting","adjusting"],["ajustment","adjustment"],["ajustments","adjustments"],["ake","ache"],["akkumulate","accumulate"],["akkumulated","accumulated"],["akkumulates","accumulates"],["akkumulating","accumulating"],["akkumulation","accumulation"],["akkumulative","accumulative"],["akkumulator","accumulator"],["aknowledge","acknowledge"],["aks","ask"],["aksed","asked"],["aktivate","activate"],["aktivated","activated"],["aktivates","activates"],["aktivating","activating"],["aktivation","activation"],["akumulate","accumulate"],["akumulated","accumulated"],["akumulates","accumulates"],["akumulating","accumulating"],["akumulation","accumulation"],["akumulative","accumulative"],["akumulator","accumulator"],["alaready","already"],["albiet","albeit"],["albumns","albums"],["alcemy","alchemy"],["alchohol","alcohol"],["alchoholic","alcoholic"],["alchol","alcohol"],["alcholic","alcoholic"],["alcohal","alcohol"],["alcoholical","alcoholic"],["aleady","already"],["aleays","always"],["aledge","allege"],["aledged","alleged"],["aledges","alleges"],["alegance","allegiance"],["alege","allege"],["aleged","alleged"],["alegience","allegiance"],["alegorical","allegorical"],["alernate","alternate"],["alernated","alternated"],["alernately","alternately"],["alernates","alternates"],["alers","alerts"],["aleviate","alleviate"],["aleviates","alleviates"],["aleviating","alleviating"],["alevt","alert"],["algebraical","algebraic"],["algebric","algebraic"],["algebrra","algebra"],["algee","algae"],["alghorithm","algorithm"],["alghoritm","algorithm"],["alghoritmic","algorithmic"],["alghoritmically","algorithmically"],["alghoritms","algorithms"],["algined","aligned"],["alginment","alignment"],["alginments","alignments"],["algohm","algorithm"],["algohmic","algorithmic"],["algohmically","algorithmically"],["algohms","algorithms"],["algoirthm","algorithm"],["algoirthmic","algorithmic"],["algoirthmically","algorithmically"],["algoirthms","algorithms"],["algoithm","algorithm"],["algoithmic","algorithmic"],["algoithmically","algorithmically"],["algoithms","algorithms"],["algolithm","algorithm"],["algolithmic","algorithmic"],["algolithmically","algorithmically"],["algolithms","algorithms"],["algoorithm","algorithm"],["algoorithmic","algorithmic"],["algoorithmically","algorithmically"],["algoorithms","algorithms"],["algoprithm","algorithm"],["algoprithmic","algorithmic"],["algoprithmically","algorithmically"],["algoprithms","algorithms"],["algorgithm","algorithm"],["algorgithmic","algorithmic"],["algorgithmically","algorithmically"],["algorgithms","algorithms"],["algorhithm","algorithm"],["algorhithmic","algorithmic"],["algorhithmically","algorithmically"],["algorhithms","algorithms"],["algorhitm","algorithm"],["algorhitmic","algorithmic"],["algorhitmically","algorithmically"],["algorhitms","algorithms"],["algorhtm","algorithm"],["algorhtmic","algorithmic"],["algorhtmically","algorithmically"],["algorhtms","algorithms"],["algorhythm","algorithm"],["algorhythmic","algorithmic"],["algorhythmically","algorithmically"],["algorhythms","algorithms"],["algorhytm","algorithm"],["algorhytmic","algorithmic"],["algorhytmically","algorithmically"],["algorhytms","algorithms"],["algorightm","algorithm"],["algorightmic","algorithmic"],["algorightmically","algorithmically"],["algorightms","algorithms"],["algorihm","algorithm"],["algorihmic","algorithmic"],["algorihmically","algorithmically"],["algorihms","algorithms"],["algorihtm","algorithm"],["algorihtmic","algorithmic"],["algorihtmically","algorithmically"],["algorihtms","algorithms"],["algoristhms","algorithms"],["algorith","algorithm"],["algorithem","algorithm"],["algorithemic","algorithmic"],["algorithemically","algorithmically"],["algorithems","algorithms"],["algorithic","algorithmic"],["algorithically","algorithmically"],["algorithim","algorithm"],["algorithimes","algorithms"],["algorithimic","algorithmic"],["algorithimically","algorithmically"],["algorithims","algorithms"],["algorithmes","algorithms"],["algorithmi","algorithm"],["algorithmical","algorithmically"],["algorithmm","algorithm"],["algorithmmic","algorithmic"],["algorithmmically","algorithmically"],["algorithmms","algorithms"],["algorithmn","algorithm"],["algorithmnic","algorithmic"],["algorithmnically","algorithmically"],["algorithmns","algorithms"],["algoriths","algorithms"],["algorithsmic","algorithmic"],["algorithsmically","algorithmically"],["algorithsms","algorithms"],["algoritm","algorithm"],["algoritmic","algorithmic"],["algoritmically","algorithmically"],["algoritms","algorithms"],["algoroithm","algorithm"],["algoroithmic","algorithmic"],["algoroithmically","algorithmically"],["algoroithms","algorithms"],["algororithm","algorithm"],["algororithmic","algorithmic"],["algororithmically","algorithmically"],["algororithms","algorithms"],["algorothm","algorithm"],["algorothmic","algorithmic"],["algorothmically","algorithmically"],["algorothms","algorithms"],["algorrithm","algorithm"],["algorrithmic","algorithmic"],["algorrithmically","algorithmically"],["algorrithms","algorithms"],["algorritm","algorithm"],["algorritmic","algorithmic"],["algorritmically","algorithmically"],["algorritms","algorithms"],["algorthim","algorithm"],["algorthimic","algorithmic"],["algorthimically","algorithmically"],["algorthims","algorithms"],["algorthin","algorithm"],["algorthinic","algorithmic"],["algorthinically","algorithmically"],["algorthins","algorithms"],["algorthm","algorithm"],["algorthmic","algorithmic"],["algorthmically","algorithmically"],["algorthms","algorithms"],["algorthn","algorithm"],["algorthnic","algorithmic"],["algorthnically","algorithmically"],["algorthns","algorithms"],["algorthym","algorithm"],["algorthymic","algorithmic"],["algorthymically","algorithmically"],["algorthyms","algorithms"],["algorthyn","algorithm"],["algorthynic","algorithmic"],["algorthynically","algorithmically"],["algorthyns","algorithms"],["algortihm","algorithm"],["algortihmic","algorithmic"],["algortihmically","algorithmically"],["algortihms","algorithms"],["algortim","algorithm"],["algortimic","algorithmic"],["algortimically","algorithmically"],["algortims","algorithms"],["algortism","algorithm"],["algortismic","algorithmic"],["algortismically","algorithmically"],["algortisms","algorithms"],["algortithm","algorithm"],["algortithmic","algorithmic"],["algortithmically","algorithmically"],["algortithms","algorithms"],["algoruthm","algorithm"],["algoruthmic","algorithmic"],["algoruthmically","algorithmically"],["algoruthms","algorithms"],["algorwwithm","algorithm"],["algorwwithmic","algorithmic"],["algorwwithmically","algorithmically"],["algorwwithms","algorithms"],["algorythem","algorithm"],["algorythemic","algorithmic"],["algorythemically","algorithmically"],["algorythems","algorithms"],["algorythm","algorithm"],["algorythmic","algorithmic"],["algorythmically","algorithmically"],["algorythms","algorithms"],["algothitm","algorithm"],["algothitmic","algorithmic"],["algothitmically","algorithmically"],["algothitms","algorithms"],["algotighm","algorithm"],["algotighmic","algorithmic"],["algotighmically","algorithmically"],["algotighms","algorithms"],["algotihm","algorithm"],["algotihmic","algorithmic"],["algotihmically","algorithmically"],["algotihms","algorithms"],["algotirhm","algorithm"],["algotirhmic","algorithmic"],["algotirhmically","algorithmically"],["algotirhms","algorithms"],["algotithm","algorithm"],["algotithmic","algorithmic"],["algotithmically","algorithmically"],["algotithms","algorithms"],["algotrithm","algorithm"],["algotrithmic","algorithmic"],["algotrithmically","algorithmically"],["algotrithms","algorithms"],["alha","alpha"],["alhabet","alphabet"],["alhabetical","alphabetical"],["alhabetically","alphabetically"],["alhabeticaly","alphabetically"],["alhabets","alphabets"],["alhapet","alphabet"],["alhapetical","alphabetical"],["alhapetically","alphabetically"],["alhapeticaly","alphabetically"],["alhapets","alphabets"],["alhough","although"],["alhpa","alpha"],["alhpabet","alphabet"],["alhpabetical","alphabetical"],["alhpabetically","alphabetically"],["alhpabeticaly","alphabetically"],["alhpabets","alphabets"],["aliagn","align"],["aliasas","aliases"],["aliasses","aliases"],["alientating","alienating"],["aliged","aligned"],["alighned","aligned"],["alighnment","alignment"],["aligin","align"],["aligined","aligned"],["aligining","aligning"],["aliginment","alignment"],["aligins","aligns"],["aligment","alignment"],["aligments","alignments"],["alignation","alignment"],["alignd","aligned"],["aligne","align"],["alignement","alignment"],["alignemnt","alignment"],["alignemnts","alignments"],["alignemt","alignment"],["alignes","aligns"],["alignmant","alignment"],["alignmen","alignment"],["alignmenet","alignment"],["alignmenets","alignments"],["alignmenton","alignment on"],["alignmet","alignment"],["alignmets","alignments"],["alignmment","alignment"],["alignmments","alignments"],["alignmnet","alignment"],["alignmnt","alignment"],["alignrigh","alignright"],["alined","aligned"],["alinged","aligned"],["alinging","aligning"],["alingment","alignment"],["alinment","alignment"],["alinments","alignments"],["alising","aliasing"],["allcate","allocate"],["allcateing","allocating"],["allcater","allocator"],["allcaters","allocators"],["allcating","allocating"],["allcation","allocation"],["allcator","allocator"],["allcoate","allocate"],["allcoated","allocated"],["allcoateing","allocating"],["allcoateng","allocating"],["allcoater","allocator"],["allcoaters","allocators"],["allcoating","allocating"],["allcoation","allocation"],["allcoator","allocator"],["allcoators","allocators"],["alledge","allege"],["alledged","alleged"],["alledgedly","allegedly"],["alledges","alleges"],["allegedely","allegedly"],["allegedy","allegedly"],["allegely","allegedly"],["allegence","allegiance"],["allegience","allegiance"],["allif","all if"],["allign","align"],["alligned","aligned"],["allignement","alignment"],["allignemnt","alignment"],["alligning","aligning"],["allignment","alignment"],["allignmenterror","alignmenterror"],["allignments","alignments"],["alligns","aligns"],["alliviate","alleviate"],["allk","all"],["alllocate","allocate"],["alllocation","allocation"],["alllow","allow"],["alllowed","allowed"],["alllows","allows"],["allmost","almost"],["alloacate","allocate"],["allocae","allocate"],["allocaed","allocated"],["allocaes","allocates"],["allocagtor","allocator"],["allocaiing","allocating"],["allocaing","allocating"],["allocaion","allocation"],["allocaions","allocations"],["allocaite","allocate"],["allocaites","allocates"],["allocaiting","allocating"],["allocaition","allocation"],["allocaitions","allocations"],["allocaiton","allocation"],["allocaitons","allocations"],["allocal","allocate"],["allocarion","allocation"],["allocat","allocate"],["allocatbale","allocatable"],["allocatedi","allocated"],["allocatedp","allocated"],["allocateing","allocating"],["allocateng","allocating"],["allocaton","allocation"],["allocatoor","allocator"],["allocatote","allocate"],["allocatrd","allocated"],["allocattion","allocation"],["alloco","alloc"],["allocos","allocs"],["allocte","allocate"],["allocted","allocated"],["allocting","allocating"],["alloction","allocation"],["alloctions","allocations"],["alloctor","allocator"],["alloews","allows"],["allong","along"],["alloocates","allocates"],["allopone","allophone"],["allopones","allophones"],["allos","allows"],["alloted","allotted"],["allowence","allowance"],["allowences","allowances"],["allpication","application"],["allpications","applications"],["allso","also"],["allthough","although"],["alltough","although"],["allways","always"],["allwo","allow"],["allwos","allows"],["allws","allows"],["allwys","always"],["almoast","almost"],["almostly","almost"],["almsot","almost"],["alo","also"],["alocatable","allocatable"],["alocate","allocate"],["alocated","allocated"],["alocates","allocates"],["alocating","allocating"],["alocations","allocations"],["alochol","alcohol"],["alog","along"],["alogirhtm","algorithm"],["alogirhtmic","algorithmic"],["alogirhtmically","algorithmically"],["alogirhtms","algorithms"],["alogirthm","algorithm"],["alogirthmic","algorithmic"],["alogirthmically","algorithmically"],["alogirthms","algorithms"],["alogned","aligned"],["alogorithms","algorithms"],["alogrithm","algorithm"],["alogrithmic","algorithmic"],["alogrithmically","algorithmically"],["alogrithms","algorithms"],["alomst","almost"],["aloows","allows"],["alorithm","algorithm"],["alos","also"],["alotted","allotted"],["alow","allow"],["alowed","allowed"],["alowing","allowing"],["alows","allows"],["alpabet","alphabet"],["alpabetic","alphabetic"],["alpabetical","alphabetical"],["alpabets","alphabets"],["alpah","alpha"],["alpahabetical","alphabetical"],["alpahbetically","alphabetically"],["alph","alpha"],["alpha-numeric","alphanumeric"],["alphabeticaly","alphabetically"],["alphabeticly","alphabetical"],["alphapeicall","alphabetical"],["alphapeticaly","alphabetically"],["alrady","already"],["alraedy","already"],["alread","already"],["alreadly","already"],["alreadt","already"],["alreasy","already"],["alreay","already"],["alreayd","already"],["alreday","already"],["alredy","already"],["alrelady","already"],["alrms","alarms"],["alrogithm","algorithm"],["alrteady","already"],["als","also"],["alsmost","almost"],["alsot","also"],["alsready","already"],["altenative","alternative"],["alterated","altered"],["alterately","alternately"],["alterative","alternative"],["alteratives","alternatives"],["alterior","ulterior"],["alternaive","alternative"],["alternaives","alternatives"],["alternarive","alternative"],["alternarives","alternatives"],["alternatievly","alternatively"],["alternativey","alternatively"],["alternativley","alternatively"],["alternativly","alternatively"],["alternatve","alternative"],["alternavtely","alternatively"],["alternavtive","alternative"],["alternavtives","alternatives"],["alternetive","alternative"],["alternetives","alternatives"],["alternitive","alternative"],["alternitively","alternatively"],["alternitiveness","alternativeness"],["alternitives","alternatives"],["alternitivly","alternatively"],["altetnative","alternative"],["altho","although"],["althogh","although"],["althorithm","algorithm"],["althorithmic","algorithmic"],["althorithmically","algorithmically"],["althorithms","algorithms"],["althoug","although"],["althought","although"],["althougth","although"],["althouth","although"],["altitide","altitude"],["altitute","altitude"],["altogehter","altogether"],["altough","although"],["altought","although"],["altready","already"],["alue","value"],["alvorithm","algorithm"],["alvorithmic","algorithmic"],["alvorithmically","algorithmically"],["alvorithms","algorithms"],["alwais","always"],["alwas","always"],["alwast","always"],["alwasy","always"],["alwasys","always"],["alwauys","always"],["alway","always"],["alwyas","always"],["alwys","always"],["alyways","always"],["amacing","amazing"],["amacingly","amazingly"],["amalgomated","amalgamated"],["amatuer","amateur"],["amazaing","amazing"],["ambedded","embedded"],["ambibuity","ambiguity"],["ambien","ambient"],["ambigious","ambiguous"],["ambigous","ambiguous"],["ambiguious","ambiguous"],["ambiguitiy","ambiguity"],["ambiguos","ambiguous"],["ambitous","ambitious"],["ambuguity","ambiguity"],["ambulence","ambulance"],["ambulences","ambulances"],["amdgput","amdgpu"],["amendement","amendment"],["amendmant","amendment"],["Amercia","America"],["amerliorate","ameliorate"],["amgle","angle"],["amgles","angles"],["amiguous","ambiguous"],["amke","make"],["amking","making"],["ammend","amend"],["ammended","amended"],["ammending","amending"],["ammendment","amendment"],["ammendments","amendments"],["ammends","amends"],["ammong","among"],["ammongst","amongst"],["ammortizes","amortizes"],["ammoung","among"],["ammoungst","amongst"],["ammount","amount"],["ammused","amused"],["amny","many"],["amongs","among"],["amonst","amongst"],["amonut","amount"],["amound","amount"],["amounds","amounts"],["amoung","among"],["amoungst","amongst"],["amout","amount"],["amoutn","amount"],["amoutns","amounts"],["amouts","amounts"],["amperstands","ampersands"],["amphasis","emphasis"],["amplifer","amplifier"],["amplifyer","amplifier"],["amplitud","amplitude"],["ampty","empty"],["amuch","much"],["amung","among"],["amunition","ammunition"],["amunt","amount"],["analagous","analogous"],["analagus","analogous"],["analaog","analog"],["analgous","analogous"],["analig","analog"],["analise","analyse"],["analised","analysed"],["analiser","analyser"],["analising","analysing"],["analisis","analysis"],["analitic","analytic"],["analitical","analytical"],["analitically","analytically"],["analiticaly","analytically"],["analize","analyze"],["analized","analyzed"],["analizer","analyzer"],["analizes","analyzes"],["analizing","analyzing"],["analogeous","analogous"],["analogicaly","analogically"],["analoguous","analogous"],["analoguously","analogously"],["analogus","analogous"],["analouge","analogue"],["analouges","analogues"],["analsye","analyse"],["analsyed","analysed"],["analsyer","analyser"],["analsyers","analysers"],["analsyes","analyses"],["analsying","analysing"],["analsyis","analysis"],["analsyt","analyst"],["analsyts","analysts"],["analyis","analysis"],["analysator","analyser"],["analysus","analysis"],["analysy","analysis"],["analyticaly","analytically"],["analyticly","analytically"],["analyzator","analyzer"],["analzye","analyze"],["analzyed","analyzed"],["analzyer","analyzer"],["analzyers","analyzers"],["analzyes","analyzes"],["analzying","analyzing"],["ananlog","analog"],["anarchim","anarchism"],["anarchistm","anarchism"],["anarquism","anarchism"],["anarquist","anarchist"],["anaylse","analyse"],["anaylsed","analysed"],["anaylser","analyser"],["anaylses","analyses"],["anaylsis","analysis"],["anaylsises","analysises"],["anayltic","analytic"],["anayltical","analytical"],["anayltically","analytically"],["anayltics","analytics"],["anaylze","analyze"],["anaylzed","analyzed"],["anaylzer","analyzer"],["anaylzes","analyzes"],["anbd","and"],["ancapsulate","encapsulate"],["ancapsulated","encapsulated"],["ancapsulates","encapsulates"],["ancapsulating","encapsulating"],["ancapsulation","encapsulation"],["ancesetor","ancestor"],["ancesetors","ancestors"],["ancester","ancestor"],["ancesteres","ancestors"],["ancesters","ancestors"],["ancestore","ancestor"],["ancestores","ancestors"],["ancestory","ancestry"],["anchestor","ancestor"],["anchestors","ancestors"],["anchord","anchored"],["ancilliary","ancillary"],["andd","and"],["andoid","android"],["andoids","androids"],["andorid","android"],["andorids","androids"],["andriod","android"],["andriods","androids"],["androgenous","androgynous"],["androgeny","androgyny"],["androidextra","androidextras"],["androind","android"],["androinds","androids"],["andthe","and the"],["ane","and"],["anevironment","environment"],["anevironments","environments"],["angluar","angular"],["anhoter","another"],["anid","and"],["anihilation","annihilation"],["animaing","animating"],["animaite","animate"],["animaiter","animator"],["animaiters","animators"],["animaiton","animation"],["animaitons","animations"],["animaitor","animator"],["animaitors","animators"],["animaton","animation"],["animatonic","animatronic"],["animete","animate"],["animeted","animated"],["animetion","animation"],["animetions","animations"],["animets","animates"],["animore","anymore"],["aninate","animate"],["anination","animation"],["aniother","any other"],["anisotrophically","anisotropically"],["anitaliasing","antialiasing"],["anithing","anything"],["anitialising","antialiasing"],["anitime","anytime"],["anitrez","antirez"],["aniversary","anniversary"],["aniway","anyway"],["aniwhere","anywhere"],["anlge","angle"],["anlysis","analysis"],["anlyzing","analyzing"],["annayed","annoyed"],["annaying","annoying"],["annd","and"],["anniversery","anniversary"],["annnounce","announce"],["annoation","annotation"],["annoint","anoint"],["annointed","anointed"],["annointing","anointing"],["annoints","anoints"],["annonate","annotate"],["annonated","annotated"],["annonates","annotates"],["annonce","announce"],["annonced","announced"],["annoncement","announcement"],["annoncements","announcements"],["annonces","announces"],["annoncing","announcing"],["annonymous","anonymous"],["annotaion","annotation"],["annotaions","annotations"],["annoted","annotated"],["annother","another"],["annouce","announce"],["annouced","announced"],["annoucement","announcement"],["annoucements","announcements"],["annouces","announces"],["annoucing","announcing"],["annouing","annoying"],["announcment","announcement"],["announcments","announcements"],["announed","announced"],["announement","announcement"],["announements","announcements"],["annoymous","anonymous"],["annoyying","annoying"],["annualy","annually"],["annuled","annulled"],["annyoingly","annoyingly"],["anoher","another"],["anohter","another"],["anologon","analogon"],["anomally","anomaly"],["anomolies","anomalies"],["anomolous","anomalous"],["anomoly","anomaly"],["anonimity","anonymity"],["anononymous","anonymous"],["anonther","another"],["anonymouse","anonymous"],["anonyms","anonymous"],["anonymus","anonymous"],["anormalies","anomalies"],["anormaly","abnormally"],["anotate","annotate"],["anotated","annotated"],["anotates","annotates"],["anotating","annotating"],["anotation","annotation"],["anotations","annotations"],["anoter","another"],["anothe","another"],["anothers","another"],["anothr","another"],["anounce","announce"],["anounced","announced"],["anouncement","announcement"],["anount","amount"],["anoying","annoying"],["anoymous","anonymous"],["anroid","android"],["ansalisation","nasalisation"],["ansalization","nasalization"],["anser","answer"],["ansester","ancestor"],["ansesters","ancestors"],["ansestor","ancestor"],["ansestors","ancestors"],["answhare","answer"],["answhared","answered"],["answhareing","answering"],["answhares","answers"],["answharing","answering"],["answhars","answers"],["ansynchronous","asynchronous"],["antaliasing","antialiasing"],["antartic","antarctic"],["antecedant","antecedent"],["anteena","antenna"],["anteenas","antennas"],["anthing","anything"],["anthings","anythings"],["anthor","another"],["anthromorphization","anthropomorphization"],["anthropolgist","anthropologist"],["anthropolgy","anthropology"],["antialialised","antialiased"],["antialising","antialiasing"],["antiapartheid","anti-apartheid"],["anticpate","anticipate"],["antry","entry"],["antyhing","anything"],["anual","annual"],["anually","annually"],["anulled","annulled"],["anumber","a number"],["anuwhere","anywhere"],["anway","anyway"],["anways","anyway"],["anwhere","anywhere"],["anwser","answer"],["anwsered","answered"],["anwsering","answering"],["anwsers","answers"],["anyawy","anyway"],["anyhing","anything"],["anyhting","anything"],["anyhwere","anywhere"],["anylsing","analysing"],["anylzing","analyzing"],["anynmore","anymore"],["anyother","any other"],["anytghing","anything"],["anythig","anything"],["anythign","anything"],["anythimng","anything"],["anytiem","anytime"],["anytihng","anything"],["anyting","anything"],["anytning","anything"],["anytrhing","anything"],["anytthing","anything"],["anytying","anything"],["anywere","anywhere"],["anyy","any"],["aoache","apache"],["aond","and"],["aoto","auto"],["aotomate","automate"],["aotomated","automated"],["aotomatic","automatic"],["aotomatical","automatic"],["aotomaticall","automatically"],["aotomatically","automatically"],["aotomation","automation"],["aovid","avoid"],["apach","apache"],["apapted","adapted"],["aparant","apparent"],["aparantly","apparently"],["aparent","apparent"],["aparently","apparently"],["aparment","apartment"],["apdated","updated"],["apeal","appeal"],["apealed","appealed"],["apealing","appealing"],["apeals","appeals"],["apear","appear"],["apeared","appeared"],["apears","appears"],["apect","aspect"],["apects","aspects"],["apeends","appends"],["apend","append"],["apendage","appendage"],["apended","appended"],["apender","appender"],["apendices","appendices"],["apending","appending"],["apendix","appendix"],["apenines","Apennines"],["aperatures","apertures"],["aperure","aperture"],["aperures","apertures"],["apeture","aperture"],["apetures","apertures"],["apilogue","epilogue"],["aplha","alpha"],["aplication","application"],["aplications","applications"],["aplied","applied"],["aplies","applies"],["apllicatin","application"],["apllicatins","applications"],["apllication","application"],["apllications","applications"],["apllied","applied"],["apllies","applies"],["aplly","apply"],["apllying","applying"],["aply","apply"],["aplyed","applied"],["aplying","applying"],["apointed","appointed"],["apointing","appointing"],["apointment","appointment"],["apoints","appoints"],["apolegetic","apologetic"],["apolegetics","apologetics"],["aportionable","apportionable"],["apostrophie","apostrophe"],["apostrophies","apostrophes"],["appar","appear"],["apparant","apparent"],["apparantly","apparently"],["appared","appeared"],["apparence","appearance"],["apparenlty","apparently"],["apparenly","apparently"],["appares","appears"],["apparoches","approaches"],["appars","appears"],["appart","apart"],["appartment","apartment"],["appartments","apartments"],["appearaing","appearing"],["appearantly","apparently"],["appeareance","appearance"],["appearence","appearance"],["appearences","appearances"],["appearently","apparently"],["appeares","appears"],["appearning","appearing"],["appearrs","appears"],["appeciate","appreciate"],["appeded","appended"],["appeding","appending"],["appedn","append"],["appen","append"],["appendend","appended"],["appendent","appended"],["appendex","appendix"],["appendig","appending"],["appendign","appending"],["appendt","append"],["appeneded","appended"],["appenines","Apennines"],["appens","appends"],["appent","append"],["apperance","appearance"],["apperances","appearances"],["apperar","appear"],["apperarance","appearance"],["apperarances","appearances"],["apperared","appeared"],["apperaring","appearing"],["apperars","appears"],["appereance","appearance"],["appereances","appearances"],["appered","appeared"],["apperent","apparent"],["apperently","apparently"],["appers","appears"],["apperture","aperture"],["appicability","applicability"],["appicable","applicable"],["appicaliton","application"],["appicalitons","applications"],["appicant","applicant"],["appication","application"],["appication-specific","application-specific"],["appications","applications"],["appicative","applicative"],["appied","applied"],["appies","applies"],["applay","apply"],["applcation","application"],["applcations","applications"],["appliable","applicable"],["appliacable","applicable"],["appliaction","application"],["appliactions","applications"],["appliation","application"],["appliations","applications"],["applicabel","applicable"],["applicaion","application"],["applicaions","applications"],["applicaiton","application"],["applicaitons","applications"],["applicance","appliance"],["applicapility","applicability"],["applicaple","applicable"],["applicatable","applicable"],["applicaten","application"],["applicatin","application"],["applicatins","applications"],["applicatio","application"],["applicationb","application"],["applicatios","applications"],["applicatiosn","applications"],["applicaton","application"],["applicatons","applications"],["appliction","application"],["applictions","applications"],["applide","applied"],["applikation","application"],["applikations","applications"],["appllied","applied"],["applly","apply"],["applyable","applicable"],["applycable","applicable"],["applyed","applied"],["applyes","applies"],["applyied","applied"],["applyig","applying"],["applys","applies"],["applyting","applying"],["appned","append"],["appologies","apologies"],["appology","apology"],["appon","upon"],["appopriate","appropriate"],["apporach","approach"],["apporached","approached"],["apporaches","approaches"],["apporaching","approaching"],["apporiate","appropriate"],["apporoximate","approximate"],["apporoximated","approximated"],["apporpiate","appropriate"],["apporpriate","appropriate"],["apporpriated","appropriated"],["apporpriately","appropriately"],["apporpriates","appropriates"],["apporpriating","appropriating"],["apporpriation","appropriation"],["apporpriations","appropriations"],["apporval","approval"],["apporve","approve"],["apporved","approved"],["apporves","approves"],["apporving","approving"],["appoval","approval"],["appove","approve"],["appoved","approved"],["appoves","approves"],["appoving","approving"],["appoximate","approximate"],["appoximately","approximately"],["appoximates","approximates"],["appoximation","approximation"],["appoximations","approximations"],["apppear","appear"],["apppears","appears"],["apppend","append"],["apppends","appends"],["appplet","applet"],["appplication","application"],["appplications","applications"],["appplying","applying"],["apppriate","appropriate"],["appproach","approach"],["apppropriate","appropriate"],["appraoch","approach"],["appraochable","approachable"],["appraoched","approached"],["appraoches","approaches"],["appraoching","approaching"],["apprearance","appearance"],["apprently","apparently"],["appreteate","appreciate"],["appreteated","appreciated"],["appretiate","appreciate"],["appretiated","appreciated"],["appretiates","appreciates"],["appretiating","appreciating"],["appretiation","appreciation"],["appretiative","appreciative"],["apprieciate","appreciate"],["apprieciated","appreciated"],["apprieciates","appreciates"],["apprieciating","appreciating"],["apprieciation","appreciation"],["apprieciative","appreciative"],["appriopriate","appropriate"],["appripriate","appropriate"],["appriproate","appropriate"],["apprixamate","approximate"],["apprixamated","approximated"],["apprixamately","approximately"],["apprixamates","approximates"],["apprixamating","approximating"],["apprixamation","approximation"],["apprixamations","approximations"],["appriximate","approximate"],["appriximated","approximated"],["appriximately","approximately"],["appriximates","approximates"],["appriximating","approximating"],["appriximation","approximation"],["appriximations","approximations"],["approachs","approaches"],["approbiate","appropriate"],["approch","approach"],["approche","approach"],["approched","approached"],["approches","approaches"],["approching","approaching"],["approiate","appropriate"],["approopriate","appropriate"],["approoximate","approximate"],["approoximately","approximately"],["approoximates","approximates"],["approoximation","approximation"],["approoximations","approximations"],["approperiate","appropriate"],["appropiate","appropriate"],["appropiately","appropriately"],["approppriately","appropriately"],["appropraite","appropriate"],["appropraitely","appropriately"],["approprate","appropriate"],["approprated","appropriated"],["approprately","appropriately"],["appropration","appropriation"],["approprations","appropriations"],["appropriage","appropriate"],["appropriatedly","appropriately"],["appropriatee","appropriate"],["appropriatly","appropriately"],["appropriatness","appropriateness"],["appropriete","appropriate"],["appropritae","appropriate"],["appropritate","appropriate"],["appropritately","appropriately"],["approprite","appropriate"],["approproate","appropriate"],["appropropiate","appropriate"],["appropropiately","appropriately"],["appropropreate","appropriate"],["appropropriate","appropriate"],["approproximate","approximate"],["approproximately","approximately"],["approproximates","approximates"],["approproximation","approximation"],["approproximations","approximations"],["approprpiate","appropriate"],["approriate","appropriate"],["approriately","appropriately"],["approrpriate","appropriate"],["approrpriately","appropriately"],["approuval","approval"],["approuve","approve"],["approuved","approved"],["approuves","approves"],["approuving","approving"],["approvement","approval"],["approxamate","approximate"],["approxamately","approximately"],["approxamates","approximates"],["approxamation","approximation"],["approxamations","approximations"],["approxamatly","approximately"],["approxametely","approximately"],["approxiamte","approximate"],["approxiamtely","approximately"],["approxiamtes","approximates"],["approxiamtion","approximation"],["approxiamtions","approximations"],["approxiate","approximate"],["approxiately","approximately"],["approxiates","approximates"],["approxiation","approximation"],["approxiations","approximations"],["approximatively","approximately"],["approximatly","approximately"],["approximed","approximated"],["approximetely","approximately"],["approximitely","approximately"],["approxmate","approximate"],["approxmately","approximately"],["approxmates","approximates"],["approxmation","approximation"],["approxmations","approximations"],["approxmimation","approximation"],["apprpriate","appropriate"],["apprpriately","appropriately"],["appy","apply"],["appying","applying"],["apreciate","appreciate"],["apreciated","appreciated"],["apreciates","appreciates"],["apreciating","appreciating"],["apreciation","appreciation"],["apreciative","appreciative"],["aprehensive","apprehensive"],["apreteate","appreciate"],["apreteated","appreciated"],["apreteating","appreciating"],["apretiate","appreciate"],["apretiated","appreciated"],["apretiates","appreciates"],["apretiating","appreciating"],["apretiation","appreciation"],["apretiative","appreciative"],["aproach","approach"],["aproached","approached"],["aproaches","approaches"],["aproaching","approaching"],["aproch","approach"],["aproched","approached"],["aproches","approaches"],["aproching","approaching"],["aproove","approve"],["aprooved","approved"],["apropiate","appropriate"],["apropiately","appropriately"],["apropriate","appropriate"],["apropriately","appropriately"],["aproval","approval"],["aproximate","approximate"],["aproximately","approximately"],["aproximates","approximates"],["aproximation","approximation"],["aproximations","approximations"],["aprrovement","approval"],["aprroximate","approximate"],["aprroximately","approximately"],["aprroximates","approximates"],["aprroximation","approximation"],["aprroximations","approximations"],["aprtment","apartment"],["aqain","again"],["aqcuire","acquire"],["aqcuired","acquired"],["aqcuires","acquires"],["aqcuiring","acquiring"],["aquaduct","aqueduct"],["aquaint","acquaint"],["aquaintance","acquaintance"],["aquainted","acquainted"],["aquainting","acquainting"],["aquaints","acquaints"],["aquiantance","acquaintance"],["aquire","acquire"],["aquired","acquired"],["aquires","acquires"],["aquiring","acquiring"],["aquisition","acquisition"],["aquisitions","acquisitions"],["aquit","acquit"],["aquitted","acquitted"],["arameters","parameters"],["aranged","arranged"],["arangement","arrangement"],["araound","around"],["ararbic","arabic"],["aray","array"],["arays","arrays"],["arbiatraily","arbitrarily"],["arbiatray","arbitrary"],["arbibtarily","arbitrarily"],["arbibtary","arbitrary"],["arbibtrarily","arbitrarily"],["arbibtrary","arbitrary"],["arbiitrarily","arbitrarily"],["arbiitrary","arbitrary"],["arbirarily","arbitrarily"],["arbirary","arbitrary"],["arbiratily","arbitrarily"],["arbiraty","arbitrary"],["arbirtarily","arbitrarily"],["arbirtary","arbitrary"],["arbirtrarily","arbitrarily"],["arbirtrary","arbitrary"],["arbitarary","arbitrary"],["arbitarily","arbitrarily"],["arbitary","arbitrary"],["arbitiarily","arbitrarily"],["arbitiary","arbitrary"],["arbitiraly","arbitrarily"],["arbitiray","arbitrary"],["arbitrailly","arbitrarily"],["arbitraily","arbitrarily"],["arbitraion","arbitration"],["arbitrairly","arbitrarily"],["arbitrairy","arbitrary"],["arbitral","arbitrary"],["arbitralily","arbitrarily"],["arbitrally","arbitrarily"],["arbitralrily","arbitrarily"],["arbitralry","arbitrary"],["arbitraly","arbitrary"],["arbitrarion","arbitration"],["arbitraryily","arbitrarily"],["arbitraryly","arbitrary"],["arbitratily","arbitrarily"],["arbitratiojn","arbitration"],["arbitraton","arbitration"],["arbitratrily","arbitrarily"],["arbitratrion","arbitration"],["arbitratry","arbitrary"],["arbitraty","arbitrary"],["arbitray","arbitrary"],["arbitriarily","arbitrarily"],["arbitriary","arbitrary"],["arbitrily","arbitrarily"],["arbitrion","arbitration"],["arbitriraly","arbitrarily"],["arbitriray","arbitrary"],["arbitrition","arbitration"],["arbitrtily","arbitrarily"],["arbitrty","arbitrary"],["arbitry","arbitrary"],["arbitryarily","arbitrarily"],["arbitryary","arbitrary"],["arbitual","arbitrary"],["arbitually","arbitrarily"],["arbitualy","arbitrary"],["arbituarily","arbitrarily"],["arbituary","arbitrary"],["arbiturarily","arbitrarily"],["arbiturary","arbitrary"],["arbort","abort"],["arborted","aborted"],["arborting","aborting"],["arborts","aborts"],["arbritary","arbitrary"],["arbritrarily","arbitrarily"],["arbritrary","arbitrary"],["arbtirarily","arbitrarily"],["arbtirary","arbitrary"],["arbtrarily","arbitrarily"],["arbtrary","arbitrary"],["arbutrarily","arbitrarily"],["arbutrary","arbitrary"],["arch-dependet","arch-dependent"],["arch-independet","arch-independent"],["archaelogical","archaeological"],["archaelogists","archaeologists"],["archaelogy","archaeology"],["archetect","architect"],["archetects","architects"],["archetectural","architectural"],["archetecturally","architecturally"],["archetecture","architecture"],["archiac","archaic"],["archictect","architect"],["archictecture","architecture"],["archictectures","architectures"],["archicture","architecture"],["archiecture","architecture"],["archiectures","architectures"],["archimedian","archimedean"],["architct","architect"],["architcts","architects"],["architcture","architecture"],["architctures","architectures"],["architecht","architect"],["architechts","architects"],["architechturally","architecturally"],["architechture","architecture"],["architechtures","architectures"],["architectual","architectural"],["architectur","architecture"],["architecturs","architectures"],["architecturse","architectures"],["architecure","architecture"],["architecures","architectures"],["architecutre","architecture"],["architecutres","architectures"],["architecuture","architecture"],["architecutures","architectures"],["architetcure","architecture"],["architetcures","architectures"],["architeture","architecture"],["architetures","architectures"],["architure","architecture"],["architures","architectures"],["archiv","archive"],["archivel","archival"],["archor","anchor"],["archtecture","architecture"],["archtectures","architectures"],["archtiecture","architecture"],["archtiectures","architectures"],["archtitecture","architecture"],["archtitectures","architectures"],["archtype","archetype"],["archtypes","archetypes"],["archvie","archive"],["archvies","archives"],["archving","archiving"],["arcitecture","architecture"],["arcitectures","architectures"],["arcive","archive"],["arcived","archived"],["arciver","archiver"],["arcives","archives"],["arciving","archiving"],["arcticle","article"],["Ardiuno","Arduino"],["are'nt","aren't"],["aready","already"],["areea","area"],["aren's","aren't"],["aren;t","aren't"],["arent'","aren't"],["arent","aren't"],["arent;","aren't"],["areodynamics","aerodynamics"],["argement","argument"],["argements","arguments"],["argemnt","argument"],["argemnts","arguments"],["argment","argument"],["argments","arguments"],["argmument","argument"],["argmuments","arguments"],["argreement","agreement"],["argreements","agreements"],["argubly","arguably"],["arguement","argument"],["arguements","arguments"],["arguemnt","argument"],["arguemnts","arguments"],["arguemtn","argument"],["arguemtns","arguments"],["arguents","arguments"],["argumant","argument"],["argumants","arguments"],["argumeent","argument"],["argumeents","arguments"],["argumement","argument"],["argumements","arguments"],["argumemnt","argument"],["argumemnts","arguments"],["argumeng","argument"],["argumengs","arguments"],["argumens","arguments"],["argumenst","arguments"],["argumentents","arguments"],["argumeny","argument"],["argumet","argument"],["argumetn","argument"],["argumetns","arguments"],["argumets","arguments"],["argumnet","argument"],["argumnets","arguments"],["argumnt","argument"],["argumnts","arguments"],["arhive","archive"],["arhives","archives"],["aribitary","arbitrary"],["aribiter","arbiter"],["aribrary","arbitrary"],["aribtrarily","arbitrarily"],["aribtrary","arbitrary"],["ariflow","airflow"],["arised","arose"],["arithemetic","arithmetic"],["arithemtic","arithmetic"],["arithmatic","arithmetic"],["arithmentic","arithmetic"],["arithmetc","arithmetic"],["arithmethic","arithmetic"],["arithmitic","arithmetic"],["aritmetic","arithmetic"],["aritrary","arbitrary"],["aritst","artist"],["arival","arrival"],["arive","arrive"],["arlready","already"],["armamant","armament"],["armistace","armistice"],["armonic","harmonic"],["arn't","aren't"],["arne't","aren't"],["arogant","arrogant"],["arogent","arrogant"],["aronud","around"],["aroud","around"],["aroudn","around"],["arouind","around"],["arounf","around"],["aroung","around"],["arount","around"],["arquitecture","architecture"],["arquitectures","architectures"],["arraay","array"],["arragement","arrangement"],["arraival","arrival"],["arral","array"],["arranable","arrangeable"],["arrance","arrange"],["arrane","arrange"],["arraned","arranged"],["arranement","arrangement"],["arranements","arrangements"],["arranent","arrangement"],["arranents","arrangements"],["arranes","arranges"],["arrang","arrange"],["arrangable","arrangeable"],["arrangaeble","arrangeable"],["arrangaelbe","arrangeable"],["arrangd","arranged"],["arrangde","arranged"],["arrangemenet","arrangement"],["arrangemenets","arrangements"],["arrangent","arrangement"],["arrangents","arrangements"],["arrangmeent","arrangement"],["arrangmeents","arrangements"],["arrangmenet","arrangement"],["arrangmenets","arrangements"],["arrangment","arrangement"],["arrangments","arrangements"],["arrangnig","arranging"],["arrangs","arranges"],["arrangse","arranges"],["arrangt","arrangement"],["arrangte","arrange"],["arrangteable","arrangeable"],["arrangted","arranged"],["arrangtement","arrangement"],["arrangtements","arrangements"],["arrangtes","arranges"],["arrangting","arranging"],["arrangts","arrangements"],["arraning","arranging"],["arranment","arrangement"],["arranments","arrangements"],["arrants","arrangements"],["arraows","arrows"],["arrary","array"],["arrayes","arrays"],["arre","are"],["arreay","array"],["arrengement","arrangement"],["arrengements","arrangements"],["arriveis","arrives"],["arrivial","arrival"],["arround","around"],["arrray","array"],["arrrays","arrays"],["arrrive","arrive"],["arrrived","arrived"],["arrrives","arrives"],["arrtibute","attribute"],["arrya","array"],["arryas","arrays"],["arrys","arrays"],["artcile","article"],["articaft","artifact"],["articafts","artifacts"],["artical","article"],["articals","articles"],["articat","artifact"],["articats","artifacts"],["artice","article"],["articel","article"],["articels","articles"],["artifac","artifact"],["artifacs","artifacts"],["artifcat","artifact"],["artifcats","artifacts"],["artifical","artificial"],["artifically","artificially"],["artihmetic","arithmetic"],["artilce","article"],["artillary","artillery"],["artuments","arguments"],["arugment","argument"],["arugments","arguments"],["arument","argument"],["aruments","arguments"],["arund","around"],["arvg","argv"],["asai","Asia"],["asain","Asian"],["asbolute","absolute"],["asbolutelly","absolutely"],["asbolutely","absolutely"],["asbtract","abstract"],["asbtracted","abstracted"],["asbtracter","abstracter"],["asbtracting","abstracting"],["asbtraction","abstraction"],["asbtractions","abstractions"],["asbtractly","abstractly"],["asbtractness","abstractness"],["asbtractor","abstractor"],["asbtracts","abstracts"],["ascconciated","associated"],["asceding","ascending"],["ascpect","aspect"],["ascpects","aspects"],["asdignment","assignment"],["asdignments","assignments"],["asemble","assemble"],["asembled","assembled"],["asembler","assembler"],["asemblers","assemblers"],["asembles","assembles"],["asemblies","assemblies"],["asembling","assembling"],["asembly","assembly"],["asendance","ascendance"],["asendancey","ascendancy"],["asendancy","ascendancy"],["asendence","ascendance"],["asendencey","ascendancy"],["asendency","ascendancy"],["asending","ascending"],["asent","ascent"],["aserted","asserted"],["asertion","assertion"],["asess","assess"],["asessment","assessment"],["asessments","assessments"],["asetic","ascetic"],["asfar","as far"],["asign","assign"],["asigned","assigned"],["asignee","assignee"],["asignees","assignees"],["asigning","assigning"],["asignmend","assignment"],["asignmends","assignments"],["asignment","assignment"],["asignor","assignor"],["asigns","assigns"],["asii","ascii"],["asisstant","assistant"],["asisstants","assistants"],["asistance","assistance"],["aske","ask"],["askes","asks"],["aslo","also"],["asnwer","answer"],["asnwered","answered"],["asnwerer","answerer"],["asnwerers","answerers"],["asnwering","answering"],["asnwers","answers"],["asny","any"],["asnychronoue","asynchronous"],["asociated","associated"],["asolute","absolute"],["asorbed","absorbed"],["aspected","expected"],["asphyxation","asphyxiation"],["assasin","assassin"],["assasinate","assassinate"],["assasinated","assassinated"],["assasinates","assassinates"],["assasination","assassination"],["assasinations","assassinations"],["assasined","assassinated"],["assasins","assassins"],["assassintation","assassination"],["asscciated","associated"],["assciated","associated"],["asscii","ASCII"],["asscociated","associated"],["asscoitaed","associated"],["assebly","assembly"],["assebmly","assembly"],["assembe","assemble"],["assembed","assembled"],["assembeld","assembled"],["assember","assembler"],["assemblys","assemblies"],["assemby","assembly"],["assemly","assembly"],["assemnly","assembly"],["assemple","assemble"],["assending","ascending"],["asser","assert"],["assersion","assertion"],["assertation","assertion"],["assertio","assertion"],["assertting","asserting"],["assesmenet","assessment"],["assesment","assessment"],["assesments","assessments"],["assessmant","assessment"],["assessmants","assessments"],["assgin","assign"],["assgined","assigned"],["assgining","assigning"],["assginment","assignment"],["assginments","assignments"],["assgins","assigns"],["assicate","associate"],["assicated","associated"],["assicates","associates"],["assicating","associating"],["assication","association"],["assications","associations"],["assiciate","associate"],["assiciated","associated"],["assiciates","associates"],["assiciation","association"],["assiciations","associations"],["asside","aside"],["assiged","assigned"],["assigend","assigned"],["assigh","assign"],["assighed","assigned"],["assighee","assignee"],["assighees","assignees"],["assigher","assigner"],["assighers","assigners"],["assighing","assigning"],["assighor","assignor"],["assighors","assignors"],["assighs","assigns"],["assiging","assigning"],["assigment","assignment"],["assigments","assignments"],["assigmnent","assignment"],["assignalble","assignable"],["assignement","assignment"],["assignements","assignments"],["assignemnt","assignment"],["assignemnts","assignments"],["assignemtn","assignment"],["assignend","assigned"],["assignenment","assignment"],["assignenmentes","assignments"],["assignenments","assignments"],["assignenmet","assignment"],["assignes","assigns"],["assignmenet","assignment"],["assignmens","assignments"],["assignmet","assignment"],["assignmetns","assignments"],["assignmnet","assignment"],["assignt","assign"],["assigntment","assignment"],["assihnment","assignment"],["assihnments","assignments"],["assime","assume"],["assined","assigned"],["assing","assign"],["assinged","assigned"],["assinging","assigning"],["assingled","assigned"],["assingment","assignment"],["assingned","assigned"],["assingnment","assignment"],["assings","assigns"],["assinment","assignment"],["assiocate","associate"],["assiocated","associated"],["assiocates","associates"],["assiocating","associating"],["assiocation","association"],["assiociate","associate"],["assiociated","associated"],["assiociates","associates"],["assiociating","associating"],["assiociation","association"],["assisance","assistance"],["assisant","assistant"],["assisants","assistants"],["assising","assisting"],["assisnate","assassinate"],["assistence","assistance"],["assistent","assistant"],["assit","assist"],["assitant","assistant"],["assition","assertion"],["assmbler","assembler"],["assmeble","assemble"],["assmebler","assembler"],["assmebles","assembles"],["assmebling","assembling"],["assmebly","assembly"],["assmelber","assembler"],["assmption","assumption"],["assmptions","assumptions"],["assmume","assume"],["assmumed","assumed"],["assmumes","assumes"],["assmuming","assuming"],["assmumption","assumption"],["assmumptions","assumptions"],["assoaiate","associate"],["assoaiated","associated"],["assoaiates","associates"],["assoaiating","associating"],["assoaiation","association"],["assoaiations","associations"],["assoaiative","associative"],["assocaited","associated"],["assocate","associate"],["assocated","associated"],["assocates","associates"],["assocating","associating"],["assocation","association"],["assocations","associations"],["assocciated","associated"],["assocciation","association"],["assocciations","associations"],["assocciative","associative"],["associatated","associated"],["associatd","associated"],["associatied","associated"],["associcate","associate"],["associcated","associated"],["associcates","associates"],["associcating","associating"],["associdated","associated"],["associeate","associate"],["associeated","associated"],["associeates","associates"],["associeating","associating"],["associeation","association"],["associeations","associations"],["associeted","associated"],["associte","associate"],["associted","associated"],["assocites","associates"],["associting","associating"],["assocition","association"],["associtions","associations"],["associtive","associative"],["associuated","associated"],["assoction","association"],["assoiated","associated"],["assoicate","associate"],["assoicated","associated"],["assoicates","associates"],["assoication","association"],["assoiciative","associative"],["assomption","assumption"],["assosciate","associate"],["assosciated","associated"],["assosciates","associates"],["assosciating","associating"],["assosiacition","association"],["assosiacitions","associations"],["assosiacted","associated"],["assosiate","associate"],["assosiated","associated"],["assosiates","associates"],["assosiating","associating"],["assosiation","association"],["assosiations","associations"],["assosiative","associative"],["assosication","assassination"],["assotiated","associated"],["assoziated","associated"],["asssassans","assassins"],["asssembler","assembler"],["asssembly","assembly"],["asssert","assert"],["asssertion","assertion"],["asssociate","associated"],["asssociated","associated"],["asssociation","association"],["asssume","assume"],["asssumes","assumes"],["asssuming","assuming"],["assualt","assault"],["assualted","assaulted"],["assuembly","assembly"],["assum","assume"],["assuma","assume"],["assumad","assumed"],["assumang","assuming"],["assumas","assumes"],["assumbe","assume"],["assumbed","assumed"],["assumbes","assumes"],["assumbing","assuming"],["assumend","assumed"],["assumking","assuming"],["assumme","assume"],["assummed","assumed"],["assummes","assumes"],["assumming","assuming"],["assumne","assume"],["assumned","assumed"],["assumnes","assumes"],["assumning","assuming"],["assumong","assuming"],["assumotion","assumption"],["assumotions","assumptions"],["assumpation","assumption"],["assumpted","assumed"],["assums","assumes"],["assumse","assumes"],["assumtion","assumption"],["assumtions","assumptions"],["assumtpion","assumption"],["assumtpions","assumptions"],["assumu","assume"],["assumud","assumed"],["assumue","assume"],["assumued","assumed"],["assumues","assumes"],["assumuing","assuming"],["assumung","assuming"],["assumuption","assumption"],["assumuptions","assumptions"],["assumus","assumes"],["assupmption","assumption"],["assuption","assumption"],["assuptions","assumptions"],["assurred","assured"],["assymetric","asymmetric"],["assymetrical","asymmetrical"],["assymetries","asymmetries"],["assymetry","asymmetry"],["assymmetric","asymmetric"],["assymmetrical","asymmetrical"],["assymmetries","asymmetries"],["assymmetry","asymmetry"],["assymptote","asymptote"],["assymptotes","asymptotes"],["assymptotic","asymptotic"],["assymptotically","asymptotically"],["assymthotic","asymptotic"],["assymtote","asymptote"],["assymtotes","asymptotes"],["assymtotic","asymptotic"],["assymtotically","asymptotically"],["asterices","asterisks"],["asteriod","asteroid"],["astethic","aesthetic"],["astethically","aesthetically"],["astethicism","aestheticism"],["astethics","aesthetics"],["asthetic","aesthetic"],["asthetical","aesthetical"],["asthetically","aesthetically"],["asthetics","aesthetics"],["astiimate","estimate"],["astiimation","estimation"],["asume","assume"],["asumed","assumed"],["asumes","assumes"],["asuming","assuming"],["asumption","assumption"],["asure","assure"],["aswell","as well"],["asychronize","asynchronize"],["asychronized","asynchronized"],["asychronous","asynchronous"],["asychronously","asynchronously"],["asycn","async"],["asycnhronous","asynchronous"],["asycnhronously","asynchronously"],["asycronous","asynchronous"],["asymetic","asymmetric"],["asymetric","asymmetric"],["asymetrical","asymmetrical"],["asymetricaly","asymmetrically"],["asymmeric","asymmetric"],["asynchnous","asynchronous"],["asynchonous","asynchronous"],["asynchonously","asynchronously"],["asynchornous","asynchronous"],["asynchoronous","asynchronous"],["asynchrnous","asynchronous"],["asynchrnously","asynchronously"],["asynchromous","asynchronous"],["asynchron","asynchronous"],["asynchroneously","asynchronously"],["asynchronious","asynchronous"],["asynchronlous","asynchronous"],["asynchrons","asynchronous"],["asynchroous","asynchronous"],["asynchrounous","asynchronous"],["asynchrounsly","asynchronously"],["asyncronous","asynchronous"],["asyncronously","asynchronously"],["asynnc","async"],["asynschron","asynchronous"],["atach","attach"],["atached","attached"],["ataching","attaching"],["atachment","attachment"],["atachments","attachments"],["atack","attack"],["atain","attain"],["atatch","attach"],["atatchable","attachable"],["atatched","attached"],["atatches","attaches"],["atatching","attaching"],["atatchment","attachment"],["atatchments","attachments"],["atempt","attempt"],["atempting","attempting"],["atempts","attempts"],["atendance","attendance"],["atended","attended"],["atendee","attendee"],["atends","attends"],["atention","attention"],["atheistical","atheistic"],["athenean","Athenian"],["atheneans","Athenians"],["ather","other"],["athiesm","atheism"],["athiest","atheist"],["athough","although"],["athron","athlon"],["athros","atheros"],["atleast","at least"],["atll","all"],["atmoic","atomic"],["atmoically","atomically"],["atomatically","automatically"],["atomical","atomic"],["atomicly","atomically"],["atomiticity","atomicity"],["atomtical","automatic"],["atomtically","automatically"],["atomticaly","automatically"],["atomticlly","automatically"],["atomticly","automatically"],["atorecovery","autorecovery"],["atorney","attorney"],["atquired","acquired"],["atribs","attribs"],["atribut","attribute"],["atribute","attribute"],["atributed","attributed"],["atributes","attributes"],["atrribute","attribute"],["atrributes","attributes"],["atrtribute","attribute"],["atrtributes","attributes"],["attaced","attached"],["attachd","attached"],["attachement","attachment"],["attachements","attachments"],["attachemnt","attachment"],["attachemnts","attachments"],["attachen","attach"],["attachged","attached"],["attachmant","attachment"],["attachmants","attachments"],["attachs","attaches"],["attachted","attached"],["attacs","attacks"],["attacthed","attached"],["attampt","attempt"],["attatch","attach"],["attatched","attached"],["attatches","attaches"],["attatching","attaching"],["attatchment","attachment"],["attatchments","attachments"],["attch","attach"],["attched","attached"],["attches","attaches"],["attching","attaching"],["attchment","attachment"],["attement","attempt"],["attemented","attempted"],["attementing","attempting"],["attements","attempts"],["attemp","attempt"],["attemped","attempted"],["attemping","attempting"],["attemppt","attempt"],["attemps","attempts"],["attemptes","attempts"],["attemptting","attempting"],["attemt","attempt"],["attemted","attempted"],["attemting","attempting"],["attemtp","attempt"],["attemtped","attempted"],["attemtping","attempting"],["attemtps","attempts"],["attemtpted","attempted"],["attemtpts","attempts"],["attemts","attempts"],["attendence","attendance"],["attendent","attendant"],["attendents","attendants"],["attened","attended"],["attennuation","attenuation"],["attension","attention"],["attented","attended"],["attentuation","attenuation"],["attentuations","attenuations"],["attepmpt","attempt"],["attept","attempt"],["attetntion","attention"],["attibute","attribute"],["attibuted","attributed"],["attibutes","attributes"],["attirbute","attribute"],["attirbutes","attributes"],["attiribute","attribute"],["attitide","attitude"],["attmept","attempt"],["attmpt","attempt"],["attnetion","attention"],["attosencond","attosecond"],["attosenconds","attoseconds"],["attrbiute","attribute"],["attrbute","attribute"],["attrbuted","attributed"],["attrbutes","attributes"],["attrbution","attribution"],["attrbutions","attributions"],["attribbute","attribute"],["attribiute","attribute"],["attribiutes","attributes"],["attribte","attribute"],["attribted","attributed"],["attribting","attributing"],["attribtue","attribute"],["attribtutes","attributes"],["attribude","attribute"],["attribue","attribute"],["attribues","attributes"],["attribuets","attributes"],["attribuite","attribute"],["attribuites","attributes"],["attribuition","attribution"],["attribure","attribute"],["attribured","attributed"],["attribures","attributes"],["attriburte","attribute"],["attriburted","attributed"],["attriburtes","attributes"],["attriburtion","attribution"],["attribut","attribute"],["attributei","attribute"],["attributen","attribute"],["attributess","attributes"],["attributred","attributed"],["attributs","attributes"],["attribye","attribute"],["attribyes","attributes"],["attribyte","attribute"],["attribytes","attributes"],["attriebute","attribute"],["attriebuted","attributed"],["attriebutes","attributes"],["attriebuting","attributing"],["attrirbute","attribute"],["attrirbuted","attributed"],["attrirbutes","attributes"],["attrirbution","attribution"],["attritube","attribute"],["attritubed","attributed"],["attritubes","attributes"],["attriubtes","attributes"],["attriubute","attribute"],["attrocities","atrocities"],["attrribute","attribute"],["attrributed","attributed"],["attrributes","attributes"],["attrribution","attribution"],["attrubite","attribute"],["attrubites","attributes"],["attrubte","attribute"],["attrubtes","attributes"],["attrubure","attribute"],["attrubures","attributes"],["attrubute","attribute"],["attrubutes","attributes"],["attrubyte","attribute"],["attrubytes","attributes"],["attruibute","attribute"],["attruibutes","attributes"],["atttached","attached"],["atttribute","attribute"],["atttributes","attributes"],["atuhenticate","authenticate"],["atuhenticated","authenticated"],["atuhenticates","authenticates"],["atuhenticating","authenticating"],["atuhentication","authentication"],["atuhenticator","authenticator"],["atuhenticators","authenticators"],["auccess","success"],["auccessive","successive"],["audeince","audience"],["audiance","audience"],["augest","August"],["augmnet","augment"],["augmnetation","augmentation"],["augmneted","augmented"],["augmneter","augmenter"],["augmneters","augmenters"],["augmnetes","augments"],["augmneting","augmenting"],["augmnets","augments"],["auguest","august"],["auhtor","author"],["auhtors","authors"],["aunthenticate","authenticate"],["aunthenticated","authenticated"],["aunthenticates","authenticates"],["aunthenticating","authenticating"],["aunthentication","authentication"],["aunthenticator","authenticator"],["aunthenticators","authenticators"],["auospacing","autospacing"],["auot","auto"],["auotmatic","automatic"],["auromated","automated"],["austrailia","Australia"],["austrailian","Australian"],["Australien","Australian"],["Austrlaian","Australian"],["autasave","autosave"],["autasaves","autosaves"],["autenticate","authenticate"],["autenticated","authenticated"],["autenticates","authenticates"],["autenticating","authenticating"],["autentication","authentication"],["autenticator","authenticator"],["autenticators","authenticators"],["authecate","authenticate"],["authecated","authenticated"],["authecates","authenticates"],["authecating","authenticating"],["authecation","authentication"],["authecator","authenticator"],["authecators","authenticators"],["authenaticate","authenticate"],["authenaticated","authenticated"],["authenaticates","authenticates"],["authenaticating","authenticating"],["authenatication","authentication"],["authenaticator","authenticator"],["authenaticators","authenticators"],["authencate","authenticate"],["authencated","authenticated"],["authencates","authenticates"],["authencating","authenticating"],["authencation","authentication"],["authencator","authenticator"],["authencators","authenticators"],["authenciate","authenticate"],["authenciated","authenticated"],["authenciates","authenticates"],["authenciating","authenticating"],["authenciation","authentication"],["authenciator","authenticator"],["authenciators","authenticators"],["authencicate","authenticate"],["authencicated","authenticated"],["authencicates","authenticates"],["authencicating","authenticating"],["authencication","authentication"],["authencicator","authenticator"],["authencicators","authenticators"],["authencity","authenticity"],["authencticate","authenticate"],["authencticated","authenticated"],["authencticates","authenticates"],["authencticating","authenticating"],["authenctication","authentication"],["authencticator","authenticator"],["authencticators","authenticators"],["authendicate","authenticate"],["authendicated","authenticated"],["authendicates","authenticates"],["authendicating","authenticating"],["authendication","authentication"],["authendicator","authenticator"],["authendicators","authenticators"],["authenenticate","authenticate"],["authenenticated","authenticated"],["authenenticates","authenticates"],["authenenticating","authenticating"],["authenentication","authentication"],["authenenticator","authenticator"],["authenenticators","authenticators"],["authenfie","authenticate"],["authenfied","authenticated"],["authenfies","authenticates"],["authenfiing","authenticating"],["authenfiion","authentication"],["authenfior","authenticator"],["authenfiors","authenticators"],["authenicae","authenticate"],["authenicaed","authenticated"],["authenicaes","authenticates"],["authenicaing","authenticating"],["authenicaion","authentication"],["authenicaor","authenticator"],["authenicaors","authenticators"],["authenicate","authenticate"],["authenicated","authenticated"],["authenicates","authenticates"],["authenicating","authenticating"],["authenication","authentication"],["authenicator","authenticator"],["authenicators","authenticators"],["authenificate","authenticate"],["authenificated","authenticated"],["authenificates","authenticates"],["authenificating","authenticating"],["authenification","authentication"],["authenificator","authenticator"],["authenificators","authenticators"],["authenitcate","authenticate"],["authenitcated","authenticated"],["authenitcates","authenticates"],["authenitcating","authenticating"],["authenitcation","authentication"],["authenitcator","authenticator"],["authenitcators","authenticators"],["autheniticate","authenticate"],["autheniticated","authenticated"],["autheniticates","authenticates"],["autheniticating","authenticating"],["authenitication","authentication"],["autheniticator","authenticator"],["autheniticators","authenticators"],["authenricate","authenticate"],["authenricated","authenticated"],["authenricates","authenticates"],["authenricating","authenticating"],["authenrication","authentication"],["authenricator","authenticator"],["authenricators","authenticators"],["authentation","authentication"],["authentcated","authenticated"],["authentciate","authenticate"],["authentciated","authenticated"],["authentciates","authenticates"],["authentciating","authenticating"],["authentciation","authentication"],["authentciator","authenticator"],["authentciators","authenticators"],["authenticaiton","authentication"],["authenticateion","authentication"],["authentiction","authentication"],["authentification","authentication"],["auther","author"],["autherisation","authorisation"],["autherise","authorise"],["autherization","authorization"],["autherize","authorize"],["authers","authors"],["authethenticate","authenticate"],["authethenticated","authenticated"],["authethenticates","authenticates"],["authethenticating","authenticating"],["authethentication","authentication"],["authethenticator","authenticator"],["authethenticators","authenticators"],["authethicate","authenticate"],["authethicated","authenticated"],["authethicates","authenticates"],["authethicating","authenticating"],["authethication","authentication"],["authethicator","authenticator"],["authethicators","authenticators"],["autheticate","authenticate"],["autheticated","authenticated"],["autheticates","authenticates"],["autheticating","authenticating"],["authetication","authentication"],["autheticator","authenticator"],["autheticators","authenticators"],["authetnicate","authenticate"],["authetnicated","authenticated"],["authetnicates","authenticates"],["authetnicating","authenticating"],["authetnication","authentication"],["authetnicator","authenticator"],["authetnicators","authenticators"],["authetnticate","authenticate"],["authetnticated","authenticated"],["authetnticates","authenticates"],["authetnticating","authenticating"],["authetntication","authentication"],["authetnticator","authenticator"],["authetnticators","authenticators"],["authobiographic","autobiographic"],["authobiography","autobiography"],["authoer","author"],["authoratative","authoritative"],["authorative","authoritative"],["authorded","authored"],["authorites","authorities"],["authorithy","authority"],["authoritiers","authorities"],["authorititive","authoritative"],["authoritive","authoritative"],["authorizeed","authorized"],["authror","author"],["authrored","authored"],["authrorisation","authorisation"],["authrorities","authorities"],["authrorization","authorization"],["authrors","authors"],["autimatic","automatic"],["autimatically","automatically"],["autmatically","automatically"],["auto-dependancies","auto-dependencies"],["auto-destrcut","auto-destruct"],["auto-genrated","auto-generated"],["auto-genratet","auto-generated"],["auto-genration","auto-generation"],["auto-negatiotiation","auto-negotiation"],["auto-negatiotiations","auto-negotiations"],["auto-negoatiation","auto-negotiation"],["auto-negoatiations","auto-negotiations"],["auto-negoation","auto-negotiation"],["auto-negoations","auto-negotiations"],["auto-negociation","auto-negotiation"],["auto-negociations","auto-negotiations"],["auto-negogtiation","auto-negotiation"],["auto-negogtiations","auto-negotiations"],["auto-negoitation","auto-negotiation"],["auto-negoitations","auto-negotiations"],["auto-negoptionsotiation","auto-negotiation"],["auto-negoptionsotiations","auto-negotiations"],["auto-negosiation","auto-negotiation"],["auto-negosiations","auto-negotiations"],["auto-negotaiation","auto-negotiation"],["auto-negotaiations","auto-negotiations"],["auto-negotaition","auto-negotiation"],["auto-negotaitions","auto-negotiations"],["auto-negotatiation","auto-negotiation"],["auto-negotatiations","auto-negotiations"],["auto-negotation","auto-negotiation"],["auto-negotations","auto-negotiations"],["auto-negothiation","auto-negotiation"],["auto-negothiations","auto-negotiations"],["auto-negotication","auto-negotiation"],["auto-negotications","auto-negotiations"],["auto-negotioation","auto-negotiation"],["auto-negotioations","auto-negotiations"],["auto-negotion","auto-negotiation"],["auto-negotionation","auto-negotiation"],["auto-negotionations","auto-negotiations"],["auto-negotions","auto-negotiations"],["auto-negotiotation","auto-negotiation"],["auto-negotiotations","auto-negotiations"],["auto-negotitaion","auto-negotiation"],["auto-negotitaions","auto-negotiations"],["auto-negotitation","auto-negotiation"],["auto-negotitations","auto-negotiations"],["auto-negotition","auto-negotiation"],["auto-negotitions","auto-negotiations"],["auto-negoziation","auto-negotiation"],["auto-negoziations","auto-negotiations"],["auto-realease","auto-release"],["auto-realeased","auto-released"],["autochtonous","autochthonous"],["autocmplete","autocomplete"],["autocmpleted","autocompleted"],["autocmpletes","autocompletes"],["autocmpleting","autocompleting"],["autocommiting","autocommitting"],["autoconplete","autocomplete"],["autoconpleted","autocompleted"],["autoconpletes","autocompletes"],["autoconpleting","autocompleting"],["autoconpletion","autocompletion"],["autocoomit","autocommit"],["autoctonous","autochthonous"],["autoeselect","autoselect"],["autofilt","autofilter"],["autofomat","autoformat"],["autoformating","autoformatting"],["autogenrated","autogenerated"],["autogenratet","autogenerated"],["autogenration","autogeneration"],["autogroping","autogrouping"],["autohorized","authorized"],["autoincrememnt","autoincrement"],["autoincrementive","autoincrement"],["automaatically","automatically"],["automagicaly","automagically"],["automaitc","automatic"],["automaitcally","automatically"],["automanifactured","automanufactured"],["automatcally","automatically"],["automatially","automatically"],["automaticallly","automatically"],["automaticaly","automatically"],["automaticalyl","automatically"],["automaticalyy","automatically"],["automaticlly","automatically"],["automaticly","automatically"],["autometic","automatic"],["autometically","automatically"],["automibile","automobile"],["automical","automatic"],["automically","automatically"],["automicaly","automatically"],["automicatilly","automatically"],["automiclly","automatically"],["automicly","automatically"],["automonomous","autonomous"],["automtic","automatic"],["automtically","automatically"],["autonagotiation","autonegotiation"],["autonegatiotiation","autonegotiation"],["autonegatiotiations","autonegotiations"],["autonegoatiation","autonegotiation"],["autonegoatiations","autonegotiations"],["autonegoation","autonegotiation"],["autonegoations","autonegotiations"],["autonegociated","autonegotiated"],["autonegociation","autonegotiation"],["autonegociations","autonegotiations"],["autonegogtiation","autonegotiation"],["autonegogtiations","autonegotiations"],["autonegoitation","autonegotiation"],["autonegoitations","autonegotiations"],["autonegoptionsotiation","autonegotiation"],["autonegoptionsotiations","autonegotiations"],["autonegosiation","autonegotiation"],["autonegosiations","autonegotiations"],["autonegotaiation","autonegotiation"],["autonegotaiations","autonegotiations"],["autonegotaition","autonegotiation"],["autonegotaitions","autonegotiations"],["autonegotatiation","autonegotiation"],["autonegotatiations","autonegotiations"],["autonegotation","autonegotiation"],["autonegotations","autonegotiations"],["autonegothiation","autonegotiation"],["autonegothiations","autonegotiations"],["autonegotication","autonegotiation"],["autonegotications","autonegotiations"],["autonegotioation","autonegotiation"],["autonegotioations","autonegotiations"],["autonegotion","autonegotiation"],["autonegotionation","autonegotiation"],["autonegotionations","autonegotiations"],["autonegotions","autonegotiations"],["autonegotiotation","autonegotiation"],["autonegotiotations","autonegotiations"],["autonegotitaion","autonegotiation"],["autonegotitaions","autonegotiations"],["autonegotitation","autonegotiation"],["autonegotitations","autonegotiations"],["autonegotition","autonegotiation"],["autonegotitions","autonegotiations"],["autonegoziation","autonegotiation"],["autonegoziations","autonegotiations"],["autoneogotiation","autonegotiation"],["autoneotiation","autonegotiation"],["autonogotiation","autonegotiation"],["autonymous","autonomous"],["autoonf","autoconf"],["autopsec","autospec"],["autor","author"],["autorealease","autorelease"],["autorisation","authorisation"],["autoritative","authoritative"],["autority","authority"],["autorization","authorization"],["autoropeat","autorepeat"],["autors","authors"],["autosae","autosave"],["autosavegs","autosaves"],["autosaveperodical","autosaveperiodical"],["autosence","autosense"],["autum","autumn"],["auxialiary","auxiliary"],["auxilaries","auxiliaries"],["auxilary","auxiliary"],["auxileries","auxiliaries"],["auxilery","auxiliary"],["auxiliar","auxiliary"],["auxillaries","auxiliaries"],["auxillary","auxiliary"],["auxilleries","auxiliaries"],["auxillery","auxiliary"],["auxilliaries","auxiliaries"],["auxilliary","auxiliary"],["auxiluary","auxiliary"],["auxliliary","auxiliary"],["avaiable","available"],["avaialable","available"],["avaialbale","available"],["avaialbe","available"],["avaialbel","available"],["avaialbility","availability"],["avaialble","available"],["avaiblable","available"],["avaible","available"],["avaiiability","availability"],["avaiiable","available"],["avaiibility","availability"],["avaiible","available"],["avaiilable","available"],["availaable","available"],["availabable","available"],["availabal","available"],["availabale","available"],["availabality","availability"],["availabble","available"],["availabe","available"],["availabed","available"],["availabel","available"],["availabele","available"],["availabelity","availability"],["availabillity","availability"],["availabilty","availability"],["availabke","available"],["availabl","available"],["availabled","available"],["availablen","available"],["availablity","availability"],["availabyl","available"],["availaiable","available"],["availaibility","availability"],["availaible","available"],["availailability","availability"],["availaility","availability"],["availalable","available"],["availalbe","available"],["availalble","available"],["availale","available"],["availaliable","available"],["availality","availability"],["availanle","available"],["availavble","available"],["availavility","availability"],["availavle","available"],["availbable","available"],["availbale","available"],["availbe","available"],["availble","available"],["availeable","available"],["availebilities","availabilities"],["availebility","availability"],["availeble","available"],["availiable","available"],["availibility","availability"],["availibilty","availability"],["availible","available"],["availlable","available"],["avalable","available"],["avalaible","available"],["avalance","avalanche"],["avaliable","available"],["avalibale","available"],["avalible","available"],["avaloable","available"],["avaluate","evaluate"],["avaluated","evaluated"],["avaluates","evaluates"],["avaluating","evaluating"],["avance","advance"],["avanced","advanced"],["avances","advances"],["avancing","advancing"],["avaoid","avoid"],["avaoidable","avoidable"],["avaoided","avoided"],["avarage","average"],["avarageing","averaging"],["avarege","average"],["avation","aviation"],["avcoid","avoid"],["avcoids","avoids"],["avdisories","advisories"],["avdisoriyes","advisories"],["avdisory","advisory"],["avengence","a vengeance"],["averageed","averaged"],["averagine","averaging"],["averload","overload"],["averloaded","overloaded"],["averloads","overloads"],["avertising","advertising"],["avgerage","average"],["aviable","available"],["avialable","available"],["avilability","availability"],["avilable","available"],["aviod","avoid"],["avioded","avoided"],["avioding","avoiding"],["aviods","avoids"],["avisories","advisories"],["avisoriyes","advisories"],["avisory","advisory"],["avod","avoid"],["avoded","avoided"],["avoding","avoiding"],["avods","avoids"],["avoidence","avoidance"],["avoind","avoid"],["avoinded","avoided"],["avoinding","avoiding"],["avoinds","avoids"],["avriable","variable"],["avriables","variables"],["avriant","variant"],["avriants","variants"],["avtive","active"],["awared","awarded"],["aweful","awful"],["awefully","awfully"],["awkard","awkward"],["awming","awning"],["awmings","awnings"],["awnser","answer"],["awnsered","answered"],["awnsers","answers"],["awoid","avoid"],["awsome","awesome"],["awya","away"],["axises","axes"],["axissymmetric","axisymmetric"],["axix","axis"],["axixsymmetric","axisymmetric"],["axpressed","expressed"],["aysnc","async"],["ayways","always"],["bacause","because"],["baceause","because"],["bacground","background"],["bacic","basic"],["backards","backwards"],["backbround","background"],["backbrounds","backgrounds"],["backedn","backend"],["backedns","backends"],["backgorund","background"],["backgorunds","backgrounds"],["backgound","background"],["backgounds","backgrounds"],["backgournd","background"],["backgournds","backgrounds"],["backgrond","background"],["backgronds","backgrounds"],["backgroound","background"],["backgroounds","backgrounds"],["backgroud","background"],["backgroudn","background"],["backgroudns","backgrounds"],["backgrouds","backgrounds"],["backgroun","background"],["backgroung","background"],["backgroungs","backgrounds"],["backgrouns","backgrounds"],["backgrount","background"],["backgrounts","backgrounds"],["backgrouund","background"],["backgrund","background"],["backgrunds","backgrounds"],["backgruond","background"],["backgruonds","backgrounds"],["backlght","backlight"],["backlghting","backlighting"],["backlghts","backlights"],["backned","backend"],["backneds","backends"],["backound","background"],["backounds","backgrounds"],["backpsace","backspace"],["backrefence","backreference"],["backrgound","background"],["backrgounds","backgrounds"],["backround","background"],["backrounds","backgrounds"],["backsapce","backspace"],["backslase","backslash"],["backslases","backslashes"],["backslashs","backslashes"],["backwad","backwards"],["backwardss","backwards"],["backware","backward"],["backwark","backward"],["backwrad","backward"],["bactracking","backtracking"],["bacup","backup"],["baed","based"],["bage","bag"],["bahaving","behaving"],["bahavior","behavior"],["bahavioral","behavioral"],["bahaviors","behaviors"],["bahaviour","behaviour"],["baisc","basic"],["baised","raised"],["bakc","back"],["bakcrefs","backrefs"],["bakends","backends"],["bakground","background"],["bakgrounds","backgrounds"],["bakup","backup"],["bakups","backups"],["bakward","backward"],["bakwards","backwards"],["balacing","balancing"],["balence","balance"],["baloon","balloon"],["baloons","balloons"],["balse","false"],["banannas","bananas"],["bandwdith","bandwidth"],["bandwdiths","bandwidths"],["bandwidht","bandwidth"],["bandwidthm","bandwidth"],["bandwitdh","bandwidth"],["bandwith","bandwidth"],["bankrupcy","bankruptcy"],["banlance","balance"],["banruptcy","bankruptcy"],["barbedos","barbados"],["bariier","barrier"],["barnch","branch"],["barnched","branched"],["barncher","brancher"],["barnchers","branchers"],["barnches","branches"],["barnching","branching"],["barriors","barriers"],["barrriers","barriers"],["barycentic","barycentric"],["basci","basic"],["bascially","basically"],["bascktrack","backtrack"],["basf","base"],["basicallly","basically"],["basicaly","basically"],["basiclly","basically"],["basicly","basically"],["basline","baseline"],["baslines","baselines"],["bassic","basic"],["bassically","basically"],["bastract","abstract"],["bastracted","abstracted"],["bastracter","abstracter"],["bastracting","abstracting"],["bastraction","abstraction"],["bastractions","abstractions"],["bastractly","abstractly"],["bastractness","abstractness"],["bastractor","abstractor"],["bastracts","abstracts"],["bateries","batteries"],["batery","battery"],["battaries","batteries"],["battary","battery"],["bbefore","before"],["bboolean","boolean"],["bbooleans","booleans"],["bcak","back"],["bcause","because"],["beable","be able"],["beacaon","beacon"],["beacause","because"],["beachead","beachhead"],["beacuse","because"],["beaon","beacon"],["bearword","bareword"],["beastiality","bestiality"],["beatiful","beautiful"],["beauracracy","bureaucracy"],["beaurocracy","bureaucracy"],["beaurocratic","bureaucratic"],["beause","because"],["beauti","beauty"],["beautiy","beauty"],["beautyfied","beautified"],["beautyfull","beautiful"],["beaviour","behaviour"],["bebongs","belongs"],["becaause","because"],["becacdd","because"],["becahse","because"],["becamae","became"],["becaouse","because"],["becase","because"],["becasue","because"],["becasuse","because"],["becauae","because"],["becauce","because"],["becaue","because"],["becaues","because"],["becaus","because"],["becausee","because"],["becauseq","because"],["becauses","because"],["becausw","because"],["beccause","because"],["bechmark","benchmark"],["bechmarked","benchmarked"],["bechmarking","benchmarking"],["bechmarks","benchmarks"],["becoem","become"],["becomeing","becoming"],["becomme","become"],["becommes","becomes"],["becomming","becoming"],["becoms","becomes"],["becouse","because"],["becoz","because"],["bector","vector"],["bectors","vectors"],["becuase","because"],["becuse","because"],["becxause","because"],["bedore","before"],["beeings","beings"],["beetween","between"],["beetwen","between"],["beffer","buffer"],["befoer","before"],["befor","before"],["beforehands","beforehand"],["beforere","before"],["befores","before"],["beforing","before"],["befure","before"],["begginer","beginner"],["begginers","beginners"],["beggingin","beginning"],["begginging","beginning"],["begginig","beginning"],["beggining","beginning"],["begginings","beginnings"],["begginnig","beginning"],["begginning","beginning"],["beggins","begins"],["beghavior","behavior"],["beghaviors","behaviors"],["begiinning","beginning"],["beginer","beginner"],["begines","begins"],["begining","beginning"],["beginining","beginning"],["begininings","beginnings"],["begininng","beginning"],["begininngs","beginnings"],["beginn","begin"],["beginnig","beginning"],["beginnin","beginning"],["beginnning","beginning"],["beginnnings","beginnings"],["behabior","behavior"],["behabiors","behaviors"],["behabiour","behaviour"],["behabiours","behaviours"],["behabviour","behaviour"],["behaivior","behavior"],["behaiviour","behaviour"],["behaiviuor","behaviour"],["behaivor","behavior"],["behaivors","behaviors"],["behaivour","behaviour"],["behaivoural","behavioural"],["behaivours","behaviours"],["behavioutr","behaviour"],["behaviro","behavior"],["behaviuor","behaviour"],["behavoir","behavior"],["behavoirs","behaviors"],["behavour","behaviour"],["behavriour","behaviour"],["behavriours","behaviours"],["behinde","behind"],["behvaiour","behaviour"],["behviour","behaviour"],["beigin","begin"],["beiginning","beginning"],["beind","behind"],["beinning","beginning"],["bejond","beyond"],["beleagured","beleaguered"],["beleif","belief"],["beleifable","believable"],["beleifed","believed"],["beleifing","believing"],["beleivable","believable"],["beleive","believe"],["beleived","believed"],["beleives","believes"],["beleiving","believing"],["beliefable","believable"],["beliefed","believed"],["beliefing","believing"],["beligum","belgium"],["beling","belong"],["belivable","believable"],["belive","believe"],["beliveable","believable"],["beliveably","believably"],["beliveble","believable"],["belivebly","believably"],["beliving","believing"],["belligerant","belligerent"],["bellweather","bellwether"],["belog","belong"],["beloging","belonging"],["belogs","belongs"],["belond","belong"],["beloning","belonging"],["belown","belong"],["belwo","below"],["bemusemnt","bemusement"],["benchamarked","benchmarked"],["benchamarking","benchmarking"],["benchamrk","benchmark"],["benchamrked","benchmarked"],["benchamrking","benchmarking"],["benchamrks","benchmarks"],["benchmkar","benchmark"],["benchmkared","benchmarked"],["benchmkaring","benchmarking"],["benchmkars","benchmarks"],["benchs","benches"],["benckmark","benchmark"],["benckmarked","benchmarked"],["benckmarking","benchmarking"],["benckmarks","benchmarks"],["benechmark","benchmark"],["benechmarked","benchmarked"],["benechmarking","benchmarking"],["benechmarks","benchmarks"],["beneeth","beneath"],["benefical","beneficial"],["beneficary","beneficiary"],["benefied","benefited"],["benefitial","beneficial"],["beneits","benefits"],["benetifs","benefits"],["beng","being"],["benhind","behind"],["benificial","beneficial"],["benifit","benefit"],["benifite","benefit"],["benifited","benefited"],["benifitial","beneficial"],["benifits","benefits"],["benig","being"],["beond","beyond"],["berforming","performing"],["bergamont","bergamot"],["Berkley","Berkeley"],["Bernouilli","Bernoulli"],["berween","between"],["besed","based"],["beseige","besiege"],["beseiged","besieged"],["beseiging","besieging"],["besure","be sure"],["beteeen","between"],["beteen","between"],["beter","better"],["beteween","between"],["betrween","between"],["bettern","better"],["bettween","between"],["betwean","between"],["betwee","between"],["betweed","between"],["betweeen","between"],["betweem","between"],["betweend","between"],["betweeness","betweenness"],["betweent","between"],["betwen","between"],["betwene","between"],["betwenn","between"],["betwern","between"],["betwween","between"],["beucase","because"],["beuracracy","bureaucracy"],["beutification","beautification"],["beutiful","beautiful"],["beutifully","beautifully"],["bever","never"],["bevore","before"],["bevorehand","beforehand"],["bevorhand","beforehand"],["beweeen","between"],["beween","between"],["bewteen","between"],["bewteeness","betweenness"],["beyone","beyond"],["beyong","beyond"],["beyound","beyond"],["bffer","buffer"],["bginning","beginning"],["bi-langual","bi-lingual"],["bianries","binaries"],["bianry","binary"],["biappicative","biapplicative"],["biddings","bidding"],["bidimentionnal","bidimensional"],["bidning","binding"],["bidnings","bindings"],["bigallic","bigalloc"],["bigining","beginning"],["biginning","beginning"],["biinary","binary"],["bilangual","bilingual"],["bilateraly","bilaterally"],["billingualism","bilingualism"],["billon","billion"],["bimask","bitmask"],["bimillenia","bimillennia"],["bimillenial","bimillennial"],["bimillenium","bimillennium"],["bimontly","bimonthly"],["binairy","binary"],["binanary","binary"],["binar","binary"],["binay","binary"],["bindins","bindings"],["binidng","binding"],["binominal","binomial"],["binraries","binaries"],["binrary","binary"],["bion","bio"],["birght","bright"],["birghten","brighten"],["birghter","brighter"],["birghtest","brightest"],["birghtness","brightness"],["biridectionality","bidirectionality"],["bisct","bisect"],["bisines","business"],["bisiness","business"],["bisnes","business"],["bisness","business"],["bistream","bitstream"],["bisunes","business"],["bisuness","business"],["bitamps","bitmaps"],["bitap","bitmap"],["bitfileld","bitfield"],["bitfilelds","bitfields"],["bitis","bits"],["bitmast","bitmask"],["bitnaps","bitmaps"],["bitwise-orring","bitwise-oring"],["bizare","bizarre"],["bizarely","bizarrely"],["bizzare","bizarre"],["bject","object"],["bjects","objects"],["blackslashes","backslashes"],["blaclist","blacklist"],["blaim","blame"],["blaimed","blamed"],["blanace","balance"],["blancked","blanked"],["blatent","blatant"],["blatently","blatantly"],["blbos","blobs"],["blcok","block"],["blcoks","blocks"],["bleading","bleeding"],["blessd","blessed"],["blessure","blessing"],["bletooth","bluetooth"],["bleutooth","bluetooth"],["blindy","blindly"],["Blitzkreig","Blitzkrieg"],["bload","bloat"],["bloaded","bloated"],["blocack","blockack"],["bloccks","blocks"],["blocekd","blocked"],["blockhain","blockchain"],["blockhains","blockchains"],["blockin","blocking"],["blockse","blocks"],["bloddy","bloody"],["blodk","block"],["bloek","bloke"],["bloekes","blokes"],["bloeks","blokes"],["bloekss","blokes"],["blohted","bloated"],["blokcer","blocker"],["blokchain","blockchain"],["blokchains","blockchains"],["blokcing","blocking"],["bloked","blocked"],["bloker","blocker"],["bloking","blocking"],["blong","belong"],["blonged","belonged"],["blonging","belonging"],["blongs","belongs"],["bloock","block"],["bloocks","blocks"],["bloted","bloated"],["bluestooth","bluetooth"],["bluetooh","bluetooth"],["bluetoot","bluetooth"],["bluetootn","bluetooth"],["blured","blurred"],["blutooth","bluetooth"],["bnecause","because"],["boads","boards"],["boardcast","broadcast"],["bocome","become"],["boddy","body"],["bodiese","bodies"],["bodydbuilder","bodybuilder"],["boelean","boolean"],["boeleans","booleans"],["boffer","buffer"],["bofore","before"],["bofy","body"],["boggus","bogus"],["bogos","bogus"],["bointer","pointer"],["bolean","boolean"],["boleen","boolean"],["bolor","color"],["bombardement","bombardment"],["bombarment","bombardment"],["bondary","boundary"],["Bonnano","Bonanno"],["bood","boot"],["bookeeping","bookkeeping"],["bookkeeing","bookkeeping"],["bookkeeiping","bookkeeping"],["bookkepp","bookkeep"],["bookmakr","bookmark"],["bookmar","bookmark"],["booleam","boolean"],["booleamn","boolean"],["booleamns","booleans"],["booleams","booleans"],["booleanss","booleans"],["booleen","boolean"],["booleens","booleans"],["boolen","boolean"],["boolens","booleans"],["booltloader","bootloader"],["booltloaders","bootloaders"],["boomark","bookmark"],["boomarks","bookmarks"],["boook","book"],["booolean","boolean"],["boooleans","booleans"],["booshelf","bookshelf"],["booshelves","bookshelves"],["boostrap","bootstrap"],["boostrapped","bootstrapped"],["boostrapping","bootstrapping"],["boostraps","bootstraps"],["booteek","boutique"],["bootlaoder","bootloader"],["bootlaoders","bootloaders"],["bootoloader","bootloader"],["bootom","bottom"],["bootraping","bootstrapping"],["bootsram","bootram"],["bootsrap","bootstrap"],["bootstap","bootstrap"],["bootstapped","bootstrapped"],["bootstapping","bootstrapping"],["bootstaps","bootstraps"],["booundaries","boundaries"],["booundary","boundary"],["boquet","bouquet"],["borad","board"],["boradcast","broadcast"],["bording","boarding"],["bordreline","borderline"],["bordrelines","borderlines"],["borgwasy","bourgeoisie"],["borke","broke"],["borken","broken"],["borow","borrow"],["borwser","browsers"],["borwsers","browsers"],["bothe","both"],["boths","both"],["botifies","notifies"],["bottem","bottom"],["bottlenck","bottleneck"],["bottlencks","bottlenecks"],["bottlenect","bottleneck"],["bottlenects","bottlenecks"],["bottlneck","bottleneck"],["bottlnecks","bottlenecks"],["bottomborde","bottomborder"],["bottome","bottom"],["bottomn","bottom"],["bottonm","bottom"],["botttom","bottom"],["bouce","bounce"],["bouces","bounces"],["boudaries","boundaries"],["boudary","boundary"],["bouding","bounding"],["boudnaries","boundaries"],["boudnary","boundary"],["bouds","bounds"],["bouind","bound"],["bouinded","bounded"],["bouinding","bounding"],["bouinds","bounds"],["boun","bound"],["bounaaries","boundaries"],["bounaary","boundary"],["bounad","bound"],["bounadaries","boundaries"],["bounadary","boundary"],["bounaded","bounded"],["bounading","bounding"],["bounadries","boundaries"],["bounadry","boundary"],["bounads","bounds"],["bounardies","boundaries"],["bounardy","boundary"],["bounaries","boundaries"],["bounary","boundary"],["bounbdaries","boundaries"],["bounbdary","boundary"],["boundares","boundaries"],["boundaryi","boundary"],["boundarys","boundaries"],["bounday","boundary"],["boundays","boundaries"],["bounderies","boundaries"],["boundery","boundary"],["boundig","bounding"],["boundimg","bounding"],["boundin","bounding"],["boundrary","boundary"],["boundries","boundaries"],["boundry","boundary"],["bounduaries","boundaries"],["bouned","bounded"],["boungaries","boundaries"],["boungary","boundary"],["boungin","bounding"],["boungind","bounding"],["bounhdaries","boundaries"],["bounhdary","boundary"],["bounidng","bounding"],["bouning","bounding"],["bounnd","bound"],["bounndaries","boundaries"],["bounndary","boundary"],["bounnded","bounded"],["bounnding","bounding"],["bounnds","bounds"],["bounradies","boundaries"],["bounrady","boundary"],["bounraies","boundaries"],["bounraries","boundaries"],["bounrary","boundary"],["bounray","boundary"],["bouns","bounds"],["bounsaries","boundaries"],["bounsary","boundary"],["bounsd","bounds"],["bount","bound"],["bountries","boundaries"],["bountry","boundary"],["bounudaries","boundaries"],["bounudary","boundary"],["bounus","bonus"],["bouqet","bouquet"],["bouund","bound"],["bouunded","bounded"],["bouunding","bounding"],["bouunds","bounds"],["bouy","buoy"],["bouyancy","buoyancy"],["bouyant","buoyant"],["boyant","buoyant"],["boycot","boycott"],["bracese","braces"],["brach","branch"],["brackeds","brackets"],["bracketwith","bracket with"],["brackground","background"],["bradcast","broadcast"],["brakpoint","breakpoint"],["brakpoints","breakpoints"],["branchces","branches"],["brancheswith","branches with"],["branchs","branches"],["branchsi","branches"],["branck","branch"],["branckes","branches"],["brancket","bracket"],["branckets","brackets"],["brane","brain"],["braodcast","broadcast"],["braodcasted","broadcasted"],["braodcasts","broadcasts"],["Brasillian","Brazilian"],["brazeer","brassiere"],["brazillian","Brazilian"],["breakes","breaks"],["breakthough","breakthrough"],["breakthroughts","breakthroughs"],["breakthruogh","breakthrough"],["breakthruoghs","breakthroughs"],["breal","break"],["breefly","briefly"],["brefore","before"],["breif","brief"],["breifly","briefly"],["brekpoint","breakpoint"],["brekpoints","breakpoints"],["breshed","brushed"],["breshes","brushes"],["breshing","brushing"],["brethen","brethren"],["bretheren","brethren"],["brfore","before"],["bridg","bridge"],["brievely","briefly"],["brievety","brevity"],["brigde","bridge"],["brige","bridge"],["briges","bridges"],["brighness","brightness"],["brightnesss","brightness"],["brigth","bright"],["brigthnes","brightness"],["brigthness","brightness"],["briliant","brilliant"],["brilinear","bilinear"],["brillant","brilliant"],["brimestone","brimstone"],["bringin","bringing"],["bringtofont","bringtofront"],["brite","bright"],["briten","brighten"],["britened","brightened"],["britener","brightener"],["briteners","brighteners"],["britenes","brightenes"],["britening","brightening"],["briter","brighter"],["Britian","Britain"],["Brittish","British"],["brnach","branch"],["brnaches","branches"],["broacast","broadcast"],["broacasted","broadcast"],["broacasting","broadcasting"],["broacasts","broadcasts"],["broadacasting","broadcasting"],["broadcas","broadcast"],["broadcase","broadcast"],["broadcasti","broadcast"],["broadcat","broadcast"],["broady","broadly"],["broardcast","broadcast"],["broblematic","problematic"],["brocher","brochure"],["brocken","broken"],["brockend","broken"],["brockened","broken"],["brocolee","broccoli"],["brodcast","broadcast"],["broked","broken"],["brokem","broken"],["brokend","broken"],["brokened","broken"],["brokeness","brokenness"],["bronken","broken"],["brosable","browsable"],["broser","browser"],["brosers","browsers"],["brosing","browsing"],["broswable","browsable"],["broswe","browse"],["broswed","browsed"],["broswer","browser"],["broswers","browsers"],["broswing","browsing"],["brower","browser"],["browers","browsers"],["browing","browsing"],["browseable","browsable"],["browswable","browsable"],["browswe","browse"],["browswed","browsed"],["browswer","browser"],["browswers","browsers"],["browswing","browsing"],["brutaly","brutally"],["brwosable","browsable"],["brwose","browse"],["brwosed","browsed"],["brwoser","browser"],["brwosers","browsers"],["brwosing","browsing"],["btye","byte"],["btyes","bytes"],["buad","baud"],["bubbless","bubbles"],["Buddah","Buddha"],["Buddist","Buddhist"],["bufefr","buffer"],["bufer","buffer"],["bufers","buffers"],["buffereed","buffered"],["bufferent","buffered"],["bufferes","buffers"],["bufferred","buffered"],["buffeur","buffer"],["bufffer","buffer"],["bufffers","buffers"],["buffor","buffer"],["buffors","buffers"],["buffr","buffer"],["buffred","buffered"],["buffring","buffering"],["bufufer","buffer"],["buggest","biggest"],["bugous","bogus"],["buguous","bogus"],["bugus","bogus"],["buid","build"],["buider","builder"],["buiders","builders"],["buiding","building"],["buidl","build"],["buidling","building"],["buidlings","buildings"],["buidls","builds"],["buiild","build"],["buik","bulk"],["build-dependancies","build-dependencies"],["build-dependancy","build-dependency"],["build-in","built-in"],["builded","built"],["buildpackge","buildpackage"],["buildpackges","buildpackages"],["builing","building"],["builings","buildings"],["buillt","built"],["built-time","build-time"],["builter","builder"],["builters","builders"],["buinseses","businesses"],["buinsess","business"],["buinsesses","businesses"],["buipd","build"],["buisness","business"],["buisnessman","businessman"],["buissiness","business"],["buissinesses","businesses"],["buit","built"],["buitin","builtin"],["buitins","builtins"],["buitlin","builtin"],["buitlins","builtins"],["buitton","button"],["buittons","buttons"],["buld","build"],["bulding","building"],["bulds","builds"],["bulid","build"],["buliding","building"],["bulids","builds"],["bulit","built"],["bulitin","built-in"],["bulle","bullet"],["bulletted","bulleted"],["bulnerabilities","vulnerabilities"],["bulnerability","vulnerability"],["bulnerable","vulnerable"],["bult","built"],["bult-in","built-in"],["bultin","builtin"],["bumby","bumpy"],["bumpded","bumped"],["bumpt","bump"],["bumpted","bumped"],["bumpter","bumper"],["bumpting","bumping"],["bundel","bundle"],["bundeled","bundled"],["bundels","bundles"],["buoancy","buoyancy"],["bureauracy","bureaucracy"],["burocratic","bureaucratic"],["burried","buried"],["burtst","burst"],["busines","business"],["busness","business"],["bussiness","business"],["bussy","busy"],["buton","button"],["butons","buttons"],["butterly","butterfly"],["buttong","button"],["buttonn","button"],["buttonns","buttons"],["buttosn","buttons"],["buttton","button"],["butttons","buttons"],["buufers","buffers"],["buuild","build"],["buuilds","builds"],["bve","be"],["bwtween","between"],["bypas","bypass"],["bypased","bypassed"],["bypasing","bypassing"],["bytetream","bytestream"],["bytetreams","bytestreams"],["cabint","cabinet"],["cabints","cabinets"],["cacahe","cache"],["cacahes","caches"],["cace","cache"],["cachable","cacheable"],["cacheed","cached"],["cacheing","caching"],["cachline","cacheline"],["cacl","calc"],["caclate","calculate"],["cacluate","calculate"],["cacluated","calculated"],["cacluater","calculator"],["cacluates","calculates"],["cacluating","calculating"],["cacluation","calculation"],["cacluations","calculations"],["cacluator","calculator"],["caclucate","calculate"],["caclucation","calculation"],["caclucations","calculations"],["caclucator","calculator"],["caclulate","calculate"],["caclulated","calculated"],["caclulates","calculates"],["caclulating","calculating"],["caclulation","calculation"],["caclulations","calculations"],["caculate","calculate"],["caculated","calculated"],["caculater","calculator"],["caculates","calculates"],["caculating","calculating"],["caculation","calculation"],["caculations","calculations"],["caculator","calculator"],["cacuses","caucuses"],["cadidate","candidate"],["caefully","carefully"],["Caesarian","Caesarean"],["cahacter","character"],["cahacters","characters"],["cahange","change"],["cahanged","changed"],["cahanges","changes"],["cahanging","changing"],["cahannel","channel"],["caharacter","character"],["caharacters","characters"],["caharcter","character"],["caharcters","characters"],["cahc","cache"],["cahce","cache"],["cahced","cached"],["cahces","caches"],["cahche","cache"],["cahchedb","cachedb"],["cahches","caches"],["cahcing","caching"],["cahcs","caches"],["cahdidate","candidate"],["cahdidates","candidates"],["cahe","cache"],["cahes","caches"],["cahgne","change"],["cahgned","changed"],["cahgner","changer"],["cahgners","changers"],["cahgnes","changes"],["cahgning","changing"],["cahhel","channel"],["cahhels","channels"],["cahined","chained"],["cahing","caching"],["cahining","chaining"],["cahnge","change"],["cahnged","changed"],["cahnges","changes"],["cahnging","changing"],["cahnnel","channel"],["cahnnels","channels"],["cahr","char"],["cahracter","character"],["cahracters","characters"],["cahrging","charging"],["cahrs","chars"],["calaber","caliber"],["calalog","catalog"],["calback","callback"],["calbirate","calibrate"],["calbirated","calibrated"],["calbirates","calibrates"],["calbirating","calibrating"],["calbiration","calibration"],["calbirations","calibrations"],["calbirator","calibrator"],["calbirators","calibrators"],["calcable","calculable"],["calcalate","calculate"],["calciulate","calculate"],["calciulating","calculating"],["calclation","calculation"],["calcluate","calculate"],["calcluated","calculated"],["calcluates","calculates"],["calclulate","calculate"],["calclulated","calculated"],["calclulates","calculates"],["calclulating","calculating"],["calclulation","calculation"],["calclulations","calculations"],["calcualate","calculate"],["calcualated","calculated"],["calcualates","calculates"],["calcualating","calculating"],["calcualation","calculation"],["calcualations","calculations"],["calcualte","calculate"],["calcualted","calculated"],["calcualter","calculator"],["calcualtes","calculates"],["calcualting","calculating"],["calcualtion","calculation"],["calcualtions","calculations"],["calcualtor","calculator"],["calcuate","calculate"],["calcuated","calculated"],["calcuates","calculates"],["calcuation","calculation"],["calcuations","calculations"],["calculaion","calculation"],["calculataed","calculated"],["calculater","calculator"],["calculatted","calculated"],["calculatter","calculator"],["calculattion","calculation"],["calculattions","calculations"],["calculaution","calculation"],["calculautions","calculations"],["calculcate","calculate"],["calculcation","calculation"],["calculed","calculated"],["calculs","calculus"],["calcultate","calculate"],["calcultated","calculated"],["calcultater","calculator"],["calcultating","calculating"],["calcultator","calculator"],["calculting","calculating"],["calculuations","calculations"],["calcurate","calculate"],["calcurated","calculated"],["calcurates","calculates"],["calcurating","calculating"],["calcutate","calculate"],["calcutated","calculated"],["calcutates","calculates"],["calcutating","calculating"],["caleed","called"],["caleee","callee"],["calees","callees"],["caler","caller"],["calescing","coalescing"],["caliased","aliased"],["calibraiton","calibration"],["calibraitons","calibrations"],["calibrte","calibrate"],["calibrtion","calibration"],["caligraphy","calligraphy"],["calilng","calling"],["caliming","claiming"],["callabck","callback"],["callabcks","callbacks"],["callack","callback"],["callbacl","callback"],["callbacsk","callback"],["callbak","callback"],["callbakc","callback"],["callbakcs","callbacks"],["callbck","callback"],["callcack","callback"],["callcain","callchain"],["calld","called"],["calle","called"],["callef","called"],["callibrate","calibrate"],["callibrated","calibrated"],["callibrates","calibrates"],["callibrating","calibrating"],["callibration","calibration"],["callibrations","calibrations"],["callibri","calibri"],["callig","calling"],["callint","calling"],["callled","called"],["calllee","callee"],["calloed","called"],["callsr","calls"],["calsses","classes"],["calucalte","calculate"],["calucalted","calculated"],["calucaltes","calculates"],["calucalting","calculating"],["calucaltion","calculation"],["calucaltions","calculations"],["calucate","calculate"],["caluclate","calculate"],["caluclated","calculated"],["caluclater","calculator"],["caluclates","calculates"],["caluclating","calculating"],["caluclation","calculation"],["caluclations","calculations"],["caluclator","calculator"],["caluculate","calculate"],["caluculated","calculated"],["caluculates","calculates"],["caluculating","calculating"],["caluculation","calculation"],["caluculations","calculations"],["calue","value"],["calulate","calculate"],["calulated","calculated"],["calulater","calculator"],["calulates","calculates"],["calulating","calculating"],["calulation","calculation"],["calulations","calculations"],["Cambrige","Cambridge"],["camoflage","camouflage"],["camoflague","camouflage"],["campagin","campaign"],["campain","campaign"],["campaing","campaign"],["campains","campaigns"],["camparing","comparing"],["can;t","can't"],["canadan","canadian"],["canbe","can be"],["cancelaltion","cancellation"],["cancelation","cancellation"],["cancelations","cancellations"],["canceles","cancels"],["cancell","cancel"],["cancelles","cancels"],["cances","cancel"],["cancl","cancel"],["cancle","cancel"],["cancled","canceled"],["candadate","candidate"],["candadates","candidates"],["candiate","candidate"],["candiates","candidates"],["candidat","candidate"],["candidats","candidates"],["candidiate","candidate"],["candidiates","candidates"],["candinate","candidate"],["candinates","candidates"],["canditate","candidate"],["canditates","candidates"],["cange","change"],["canged","changed"],["canges","changes"],["canging","changing"],["canidate","candidate"],["canidates","candidates"],["cann't","can't"],["cann","can"],["cannister","canister"],["cannisters","canisters"],["cannnot","cannot"],["cannobt","cannot"],["cannonical","canonical"],["cannonicalize","canonicalize"],["cannont","cannot"],["cannotation","connotation"],["cannotations","connotations"],["cannott","cannot"],["canonalize","canonicalize"],["canonalized","canonicalized"],["canonalizes","canonicalizes"],["canonalizing","canonicalizing"],["canoncial","canonical"],["canonicalizations","canonicalization"],["canonival","canonical"],["canot","cannot"],["cant'","can't"],["cant't","can't"],["cant;","can't"],["cantact","contact"],["cantacted","contacted"],["cantacting","contacting"],["cantacts","contacts"],["canvase","canvas"],["caost","coast"],["capabable","capable"],["capabicity","capability"],["capabiities","capabilities"],["capabiity","capability"],["capabilies","capabilities"],["capabiliites","capabilities"],["capabilites","capabilities"],["capabilitieis","capabilities"],["capabilitiies","capabilities"],["capabilitires","capabilities"],["capabilitiy","capability"],["capabillity","capability"],["capabilties","capabilities"],["capabiltity","capability"],["capabilty","capability"],["capabitilies","capabilities"],["capablilities","capabilities"],["capablities","capabilities"],["capablity","capability"],["capaciy","capacity"],["capalize","capitalize"],["capalized","capitalized"],["capapbilities","capabilities"],["capatibilities","capabilities"],["capbability","capability"],["capbale","capable"],["capela","capella"],["caperbility","capability"],["Capetown","Cape Town"],["capibilities","capabilities"],["capible","capable"],["capitolize","capitalize"],["cappable","capable"],["captable","capable"],["captial","capital"],["captrure","capture"],["captued","captured"],["capturd","captured"],["caputre","capture"],["caputred","captured"],["caputres","captures"],["caputure","capture"],["carachter","character"],["caracter","character"],["caractere","character"],["caracteristic","characteristic"],["caracterized","characterized"],["caracters","characters"],["carbus","cardbus"],["carefuly","carefully"],["careing","caring"],["carfull","careful"],["cariage","carriage"],["caridge","carriage"],["cariier","carrier"],["carismatic","charismatic"],["Carmalite","Carmelite"],["Carnagie","Carnegie"],["Carnagie-Mellon","Carnegie-Mellon"],["Carnigie","Carnegie"],["Carnigie-Mellon","Carnegie-Mellon"],["carniverous","carnivorous"],["caronavirus","coronavirus"],["caronaviruses","coronaviruses"],["carreer","career"],["carreid","carried"],["carrers","careers"],["carret","caret"],["carriadge","carriage"],["Carribbean","Caribbean"],["Carribean","Caribbean"],["carrien","carrier"],["carrige","carriage"],["carrrier","carrier"],["carryintg","carrying"],["carryng","carrying"],["cartain","certain"],["cartdridge","cartridge"],["cartensian","Cartesian"],["Carthagian","Carthaginian"],["carthesian","cartesian"],["carthographer","cartographer"],["cartiesian","cartesian"],["cartilege","cartilage"],["cartilidge","cartilage"],["cartrige","cartridge"],["caryy","carry"],["cascace","cascade"],["case-insensative","case-insensitive"],["case-insensetive","case-insensitive"],["case-insensistive","case-insensitive"],["case-insensitiv","case-insensitive"],["case-insensitivy","case-insensitivity"],["case-insensitve","case-insensitive"],["case-insenstive","case-insensitive"],["case-insentive","case-insensitive"],["case-insentivite","case-insensitive"],["case-insesitive","case-insensitive"],["case-intensitive","case-insensitive"],["case-sensative","case-sensitive"],["case-sensetive","case-sensitive"],["case-sensistive","case-sensitive"],["case-sensitiv","case-sensitive"],["case-sensitve","case-sensitive"],["case-senstive","case-sensitive"],["case-sentive","case-sensitive"],["case-sentivite","case-sensitive"],["case-sesitive","case-sensitive"],["case-unsensitive","case-insensitive"],["caseinsensative","case-insensitive"],["caseinsensetive","case-insensitive"],["caseinsensistive","case-insensitive"],["caseinsensitiv","case-insensitive"],["caseinsensitve","case-insensitive"],["caseinsenstive","case-insensitive"],["caseinsentive","case-insensitive"],["caseinsentivite","case-insensitive"],["caseinsesitive","case-insensitive"],["caseintensitive","case-insensitive"],["caselessely","caselessly"],["casesensative","case-sensitive"],["casesensetive","casesensitive"],["casesensistive","case-sensitive"],["casesensitiv","case-sensitive"],["casesensitve","case-sensitive"],["casesenstive","case-sensitive"],["casesentive","case-sensitive"],["casesentivite","case-sensitive"],["casesesitive","case-sensitive"],["casette","cassette"],["cashe","cache"],["casion","caisson"],["caspule","capsule"],["caspules","capsules"],["cassawory","cassowary"],["cassowarry","cassowary"],["casue","cause"],["casued","caused"],["casues","causes"],["casuing","causing"],["casulaties","casualties"],["casulaty","casualty"],["cataalogue","catalogue"],["catagori","category"],["catagories","categories"],["catagorization","categorization"],["catagorizations","categorizations"],["catagorized","categorized"],["catagory","category"],["catapillar","caterpillar"],["catapillars","caterpillars"],["catapiller","caterpillar"],["catapillers","caterpillars"],["catastronphic","catastrophic"],["catastropic","catastrophic"],["catastropically","catastrophically"],["catastrphic","catastrophic"],["catche","catch"],["catched","caught"],["catchi","catch"],["catchs","catches"],["categogical","categorical"],["categogically","categorically"],["categogies","categories"],["categogy","category"],["cateogrical","categorical"],["cateogrically","categorically"],["cateogries","categories"],["cateogry","category"],["catepillar","caterpillar"],["catepillars","caterpillars"],["catergorize","categorize"],["catergorized","categorized"],["caterpilar","caterpillar"],["caterpilars","caterpillars"],["caterpiller","caterpillar"],["caterpillers","caterpillars"],["catgorical","categorical"],["catgorically","categorically"],["catgories","categories"],["catgory","category"],["cathlic","catholic"],["catholocism","catholicism"],["catloag","catalog"],["catloaged","cataloged"],["catloags","catalogs"],["catory","factory"],["catpture","capture"],["catpure","capture"],["catpured","captured"],["catpures","captures"],["catterpilar","caterpillar"],["catterpilars","caterpillars"],["catterpillar","caterpillar"],["catterpillars","caterpillars"],["cattleship","battleship"],["caucasion","caucasian"],["cauched","caught"],["caugt","caught"],["cauhgt","caught"],["cauing","causing"],["causees","causes"],["causion","caution"],["causioned","cautioned"],["causions","cautions"],["causious","cautious"],["cavaet","caveat"],["cavaets","caveats"],["ccahe","cache"],["ccale","scale"],["ccertificate","certificate"],["ccertificated","certificated"],["ccertificates","certificates"],["ccertification","certification"],["ccessible","accessible"],["cche","cache"],["cconfiguration","configuration"],["ccordinate","coordinate"],["ccordinates","coordinates"],["ccordinats","coordinates"],["ccoutant","accountant"],["ccpcheck","cppcheck"],["ccurred","occurred"],["ccustom","custom"],["ccustoms","customs"],["cdecompress","decompress"],["ceartype","cleartype"],["Ceasar","Caesar"],["ceate","create"],["ceated","created"],["ceates","creates"],["ceating","creating"],["ceation","creation"],["ceck","check"],["cecked","checked"],["cecker","checker"],["cecking","checking"],["cecks","checks"],["cedential","credential"],["cedentials","credentials"],["cehck","check"],["cehcked","checked"],["cehcker","checker"],["cehcking","checking"],["cehcks","checks"],["Celcius","Celsius"],["celles","cells"],["cellpading","cellpadding"],["cellst","cells"],["cellxs","cells"],["celsuis","celsius"],["cementary","cemetery"],["cemetarey","cemetery"],["cemetaries","cemeteries"],["cemetary","cemetery"],["cenario","scenario"],["cenarios","scenarios"],["cencter","center"],["cencus","census"],["cengter","center"],["censequence","consequence"],["centain","certain"],["cententenial","centennial"],["centerd","centered"],["centisencond","centisecond"],["centisenconds","centiseconds"],["centrifugeable","centrifugable"],["centrigrade","centigrade"],["centriod","centroid"],["centriods","centroids"],["centruies","centuries"],["centruy","century"],["centuties","centuries"],["centuty","century"],["cerain","certain"],["cerainly","certainly"],["cerainty","certainty"],["cerate","create"],["cereates","creates"],["cerimonial","ceremonial"],["cerimonies","ceremonies"],["cerimonious","ceremonious"],["cerimony","ceremony"],["ceromony","ceremony"],["certaily","certainly"],["certaincy","certainty"],["certainity","certainty"],["certaint","certain"],["certaion","certain"],["certan","certain"],["certficate","certificate"],["certficated","certificated"],["certficates","certificates"],["certfication","certification"],["certfications","certifications"],["certficiate","certificate"],["certficiated","certificated"],["certficiates","certificates"],["certficiation","certification"],["certficiations","certifications"],["certfied","certified"],["certfy","certify"],["certian","certain"],["certianly","certainly"],["certicate","certificate"],["certicated","certificated"],["certicates","certificates"],["certication","certification"],["certicicate","certificate"],["certifacte","certificate"],["certifacted","certificated"],["certifactes","certificates"],["certifaction","certification"],["certifcate","certificate"],["certifcated","certificated"],["certifcates","certificates"],["certifcation","certification"],["certifciate","certificate"],["certifciated","certificated"],["certifciates","certificates"],["certifciation","certification"],["certifiate","certificate"],["certifiated","certificated"],["certifiates","certificates"],["certifiating","certificating"],["certifiation","certification"],["certifiations","certifications"],["certificat","certificate"],["certificatd","certificated"],["certificaton","certification"],["certificats","certificates"],["certifice","certificate"],["certificed","certificated"],["certifices","certificates"],["certificion","certification"],["certificste","certificate"],["certificsted","certificated"],["certificstes","certificates"],["certificsting","certificating"],["certificstion","certification"],["certifificate","certificate"],["certifificated","certificated"],["certifificates","certificates"],["certifification","certification"],["certiticate","certificate"],["certiticated","certificated"],["certiticates","certificates"],["certitication","certification"],["cetain","certain"],["cetainly","certainly"],["cetainty","certainty"],["cetrainly","certainly"],["cetting","setting"],["Cgywin","Cygwin"],["chaarges","charges"],["chacacter","character"],["chacacters","characters"],["chache","cache"],["chached","cached"],["chacheline","cacheline"],["chaeck","check"],["chaecked","checked"],["chaecker","checker"],["chaecking","checking"],["chaecks","checks"],["chagne","change"],["chagned","changed"],["chagnes","changes"],["chahged","changed"],["chahging","changing"],["chaied","chained"],["chaing","chain"],["chalenging","challenging"],["challanage","challenge"],["challange","challenge"],["challanged","challenged"],["challanges","challenges"],["challege","challenge"],["chambre","chamber"],["chambres","chambers"],["Champange","Champagne"],["chanage","change"],["chanaged","changed"],["chanager","changer"],["chanages","changes"],["chanaging","changing"],["chanceled","canceled"],["chanceling","canceling"],["chanched","changed"],["chaneged","changed"],["chaneging","changing"],["chanel","channel"],["chanell","channel"],["chanels","channels"],["changable","changeable"],["changeble","changeable"],["changeing","changing"],["changge","change"],["changged","changed"],["changgeling","changeling"],["changges","changes"],["changlog","changelog"],["changuing","changing"],["chanined","chained"],["chaninging","changing"],["chanllenge","challenge"],["chanllenging","challenging"],["channael","channel"],["channe","channel"],["channeles","channels"],["channl","channel"],["channle","channel"],["channles","channels"],["channnel","channel"],["channnels","channels"],["chanses","chances"],["chaper","chapter"],["characaters","characters"],["characer","character"],["characers","characters"],["characeter","character"],["characeters","characters"],["characetrs","characters"],["characher","character"],["charachers","characters"],["charachter","character"],["charachters","characters"],["characstyle","charstyle"],["charactar","character"],["charactaristic","characteristic"],["charactaristics","characteristics"],["charactars","characters"],["characte","character"],["charactear","character"],["charactears","characters"],["characted","character"],["characteds","characters"],["characteer","character"],["characteers","characters"],["characteisation","characterisation"],["characteization","characterization"],["characteor","character"],["characteors","characters"],["characterclasses","character classes"],["characteres","characters"],["characterisic","characteristic"],["characterisically","characteristically"],["characterisicly","characteristically"],["characterisics","characteristics"],["characterisitic","characteristic"],["characterisitics","characteristics"],["characteristicly","characteristically"],["characteritic","characteristic"],["characteritics","characteristics"],["characteritisc","characteristic"],["characteritiscs","characteristics"],["charactersistic","characteristic"],["charactersistically","characteristically"],["charactersistics","characteristics"],["charactersitic","characteristic"],["charactersm","characters"],["characterss","characters"],["characterstic","characteristic"],["characterstically","characteristically"],["characterstics","characteristics"],["charactertistic","characteristic"],["charactertistically","characteristically"],["charactertistics","characteristics"],["charactes","characters"],["charactet","character"],["characteter","character"],["characteteristic","characteristic"],["characteteristics","characteristics"],["characteters","characters"],["charactetistic","characteristic"],["charactetistics","characteristics"],["charactetr","character"],["charactetrs","characters"],["charactets","characters"],["characther","character"],["charactiristic","characteristic"],["charactiristically","characteristically"],["charactiristics","characteristics"],["charactor","character"],["charactors","characters"],["charactristic","characteristic"],["charactristically","characteristically"],["charactristics","characteristics"],["charactrs","characters"],["characts","characters"],["characture","character"],["charakter","character"],["charakters","characters"],["chararacter","character"],["chararacters","characters"],["chararcter","character"],["chararcters","characters"],["charas","chars"],["charascter","character"],["charascters","characters"],["charasmatic","charismatic"],["charater","character"],["charaterize","characterize"],["charaterized","characterized"],["charaters","characters"],["charator","character"],["charators","characters"],["charcater","character"],["charcter","character"],["charcteristic","characteristic"],["charcteristics","characteristics"],["charcters","characters"],["charctor","character"],["charctors","characters"],["charecter","character"],["charecters","characters"],["charector","character"],["chargind","charging"],["charicter","character"],["charicters","characters"],["charictor","character"],["charictors","characters"],["chariman","chairman"],["charistics","characteristics"],["charizma","charisma"],["chartroose","chartreuse"],["chassy","chassis"],["chatacter","character"],["chatacters","characters"],["chatch","catch"],["chater","chapter"],["chawk","chalk"],["chcek","check"],["chceked","checked"],["chceking","checking"],["chceks","checks"],["chck","check"],["chckbox","checkbox"],["cheapeast","cheapest"],["cheatta","cheetah"],["chec","check"],["checbox","checkbox"],["checboxes","checkboxes"],["checg","check"],["checged","checked"],["checheckpoit","checkpoint"],["checheckpoits","checkpoints"],["cheched","checked"],["cheching","checking"],["chechk","check"],["chechs","checks"],["checkalaises","checkaliases"],["checkcsum","checksum"],["checkd","checked"],["checkes","checks"],["checket","checked"],["checkk","check"],["checkng","checking"],["checkoslovakia","czechoslovakia"],["checkox","checkbox"],["checkpoing","checkpoint"],["checkstum","checksum"],["checkstuming","checksumming"],["checkstumming","checksumming"],["checkstums","checksums"],["checksume","checksum"],["checksumed","checksummed"],["checksuming","checksumming"],["checkt","checked"],["checkum","checksum"],["checkums","checksums"],["checkuot","checkout"],["checl","check"],["checled","checked"],["checling","checking"],["checls","checks"],["cheduling","scheduling"],["cheeper","cheaper"],["cheeta","cheetah"],["cheif","chief"],["cheifs","chiefs"],["chek","check"],["chekc","check"],["chekcing","checking"],["chekd","checked"],["cheked","checked"],["chekers","checkers"],["cheking","checking"],["cheks","checks"],["cheksum","checksum"],["cheksums","checksums"],["chello","cello"],["chemcial","chemical"],["chemcially","chemically"],["chemestry","chemistry"],["chemicaly","chemically"],["chenged","changed"],["chennel","channel"],["cherch","church"],["cherchs","churches"],["cherck","check"],["chercking","checking"],["chercks","checks"],["chescksums","checksums"],["chgange","change"],["chganged","changed"],["chganges","changes"],["chganging","changing"],["chidren","children"],["childbird","childbirth"],["childen","children"],["childeren","children"],["childern","children"],["childlren","children"],["chiledren","children"],["chilren","children"],["chineese","Chinese"],["chinense","Chinese"],["chinesse","Chinese"],["chipersuite","ciphersuite"],["chipersuites","ciphersuites"],["chipertext","ciphertext"],["chipertexts","ciphertexts"],["chipet","chipset"],["chipslect","chipselect"],["chipstes","chipsets"],["chiuldren","children"],["chked","checked"],["chnage","change"],["chnaged","changed"],["chnages","changes"],["chnaging","changing"],["chnge","change"],["chnged","changed"],["chnges","changes"],["chnging","changing"],["chnnel","channel"],["choclate","chocolate"],["choicing","choosing"],["choise","choice"],["choises","choices"],["choising","choosing"],["chooose","choose"],["choos","choose"],["choosen","chosen"],["chopipng","chopping"],["choronological","chronological"],["chosed","chose"],["choseen","chosen"],["choser","chooser"],["chosing","choosing"],["chossen","chosen"],["chowsing","choosing"],["chracter","character"],["chracters","characters"],["chractor","character"],["chractors","characters"],["chrminance","chrominance"],["chromum","chromium"],["chuch","church"],["chuks","chunks"],["chunaks","chunks"],["chunc","chunk"],["chunck","chunk"],["chuncked","chunked"],["chuncking","chunking"],["chuncks","chunks"],["chuncksize","chunksize"],["chuncs","chunks"],["chuned","chunked"],["churchs","churches"],["cick","click"],["cicrle","circle"],["cicruit","circuit"],["cicruits","circuits"],["cicular","circular"],["ciculars","circulars"],["cihpher","cipher"],["cihphers","ciphers"],["cilinder","cylinder"],["cilinders","cylinders"],["cilindrical","cylindrical"],["cilyndre","cylinder"],["cilyndres","cylinders"],["cilyndrs","cylinders"],["Cincinatti","Cincinnati"],["Cincinnatti","Cincinnati"],["cinfiguration","configuration"],["cinfigurations","configurations"],["cintaner","container"],["ciontrol","control"],["ciper","cipher"],["cipers","ciphers"],["cipersuite","ciphersuite"],["cipersuites","ciphersuites"],["cipertext","ciphertext"],["cipertexts","ciphertexts"],["ciphe","cipher"],["cipherntext","ciphertext"],["ciphersuit","ciphersuite"],["ciphersuits","ciphersuites"],["ciphersute","ciphersuite"],["ciphersutes","ciphersuites"],["cipheruite","ciphersuite"],["cipheruites","ciphersuites"],["ciphes","ciphers"],["ciphr","cipher"],["ciphrs","ciphers"],["cips","chips"],["circluar","circular"],["circluarly","circularly"],["circluars","circulars"],["circomvent","circumvent"],["circomvented","circumvented"],["circomvents","circumvents"],["circual","circular"],["circuitery","circuitry"],["circulaton","circulation"],["circumferance","circumference"],["circumferencial","circumferential"],["circumsicion","circumcision"],["circumstancial","circumstantial"],["circumstansial","circumstantial"],["circumstnce","circumstance"],["circumstnces","circumstances"],["circumstncial","circumstantial"],["circumstntial","circumstantial"],["circumvernt","circumvent"],["circunference","circumference"],["circunferences","circumferences"],["circunstance","circumstance"],["circunstances","circumstances"],["circunstantial","circumstantial"],["circustances","circumstances"],["circut","circuit"],["circuts","circuits"],["ciricle","circle"],["ciricles","circles"],["ciricuit","circuit"],["ciricuits","circuits"],["ciricular","circular"],["ciricularise","circularise"],["ciricularize","circularize"],["ciriculum","curriculum"],["cirilic","Cyrillic"],["cirillic","Cyrillic"],["ciritc","critic"],["ciritcal","critical"],["ciritcality","criticality"],["ciritcals","criticals"],["ciritcs","critics"],["ciriteria","criteria"],["ciritic","critic"],["ciritical","critical"],["ciriticality","criticality"],["ciriticals","criticals"],["ciritics","critics"],["cirlce","circle"],["cirle","circle"],["cirles","circles"],["cirsumstances","circumstances"],["cirtcuit","circuit"],["cirucal","circular"],["cirucit","circuit"],["cirucits","circuits"],["ciruclar","circular"],["ciruclation","circulation"],["ciruclator","circulator"],["cirucmflex","circumflex"],["cirucular","circular"],["cirucumstance","circumstance"],["cirucumstances","circumstances"],["ciruit","circuit"],["ciruits","circuits"],["cirumflex","circumflex"],["cirumstance","circumstance"],["cirumstances","circumstances"],["civillian","civilian"],["civillians","civilians"],["cjange","change"],["cjanged","changed"],["cjanges","changes"],["cjoice","choice"],["cjoices","choices"],["ckecksum","checksum"],["claaes","classes"],["claculate","calculate"],["claculation","calculation"],["claer","clear"],["claerer","clearer"],["claerly","clearly"],["claibscale","calibscale"],["claime","claim"],["claimes","claims"],["clame","claim"],["claread","cleared"],["clared","cleared"],["clarety","clarity"],["claring","clearing"],["clasic","classic"],["clasical","classical"],["clasically","classically"],["clasification","classification"],["clasified","classified"],["clasifies","classifies"],["clasify","classify"],["clasifying","classifying"],["clasroom","classroom"],["clasrooms","classrooms"],["classess","classes"],["classesss","classes"],["classifcation","classification"],["classifed","classified"],["classifer","classifier"],["classifers","classifiers"],["classificaion","classification"],["classrom","classroom"],["classroms","classrooms"],["classs","class"],["classses","classes"],["clatified","clarified"],["claus","clause"],["clcoksource","clocksource"],["clcosed","closed"],["clea","clean"],["cleaered","cleared"],["cleaing","cleaning"],["cleancacne","cleancache"],["cleaness","cleanness"],["cleanning","cleaning"],["cleannup","cleanup"],["cleanpu","cleanup"],["cleanpus","cleanups"],["cleantup","cleanup"],["cleareance","clearance"],["cleares","clears"],["clearified","clarified"],["clearifies","clarifies"],["clearify","clarify"],["clearifying","clarifying"],["clearling","clearing"],["clearnance","clearance"],["clearnances","clearances"],["clearouput","clearoutput"],["clearted","cleared"],["cleary","clearly"],["cleaup","cleanup"],["cleaups","cleanups"],["cleck","check"],["cleean","clean"],["cleen","clean"],["cleened","cleaned"],["cleens","cleans"],["cleff","clef"],["cleint's","client's"],["cleint","client"],["cleints","clients"],["clened","cleaned"],["clener","cleaner"],["clening","cleaning"],["cler","clear"],["clese","close"],["cleses","closes"],["clevely","cleverly"],["cliboard","clipboard"],["cliboards","clipboards"],["clibpoard","clipboard"],["clibpoards","clipboards"],["cliens","clients"],["cliensite","client-side"],["clienta","client"],["clientelle","clientele"],["clik","click"],["cliks","clicks"],["climer","climber"],["climers","climbers"],["climing","climbing"],["clincial","clinical"],["clinets","clients"],["clinicaly","clinically"],["clipboad","clipboard"],["clipboads","clipboards"],["clipoard","clipboard"],["clipoards","clipboards"],["clipoing","clipping"],["cliuent","client"],["cliuents","clients"],["clloud","cloud"],["cllouded","clouded"],["clloudes","clouds"],["cllouding","clouding"],["cllouds","clouds"],["cloack","cloak"],["cloacks","cloaks"],["cloberring","clobbering"],["clocksourc","clocksource"],["clockw\xEDse","clockwise"],["clock_getttime","clock_gettime"],["cloding","closing"],["cloes","close"],["cloesd","closed"],["cloesed","closed"],["cloesing","closing"],["clonning","cloning"],["clory","glory"],["clos","close"],["closeing","closing"],["closesly","closely"],["closig","closing"],["clossed","closed"],["clossing","closing"],["clossion","collision"],["clossions","collisions"],["cloude","cloud"],["cloudes","clouds"],["cloumn","column"],["cloumns","columns"],["clousre","closure"],["clsoe","close"],["clssroom","classroom"],["clssrooms","classrooms"],["cluase","clause"],["clumn","column"],["clumsly","clumsily"],["cluser","cluster"],["clusetr","cluster"],["clustred","clustered"],["cmak","cmake"],["cmmand","command"],["cmmanded","commanded"],["cmmanding","commanding"],["cmmands","commands"],["cmobination","combination"],["cmoputer","computer"],["cmoputers","computers"],["cna","can"],["cnannel","channel"],["cnat'","can't"],["cnat","can't"],["cnfiguration","configuration"],["cnfigure","configure"],["cnfigured","configured"],["cnfigures","configures"],["cnfiguring","configuring"],["cnosole","console"],["cnosoles","consoles"],["cntain","contain"],["cntains","contains"],["cnter","center"],["co-incided","coincided"],["co-opearte","co-operate"],["co-opeartes","co-operates"],["co-ordinate","coordinate"],["co-ordinates","coordinates"],["coalace","coalesce"],["coalaced","coalesced"],["coalacence","coalescence"],["coalacing","coalescing"],["coalaesce","coalesce"],["coalaesced","coalesced"],["coalaescence","coalescence"],["coalaescing","coalescing"],["coalascece","coalescence"],["coalascence","coalescence"],["coalase","coalesce"],["coalasece","coalescence"],["coalased","coalesced"],["coalasence","coalescence"],["coalases","coalesces"],["coalasing","coalescing"],["coalcece","coalescence"],["coalcence","coalescence"],["coalesc","coalesce"],["coalescsing","coalescing"],["coalesed","coalesced"],["coalesence","coalescence"],["coalessing","coalescing"],["coallate","collate"],["coallates","collates"],["coallating","collating"],["coallece","coalesce"],["coalleced","coalesced"],["coallecence","coalescence"],["coalleces","coalesces"],["coallecing","coalescing"],["coallee","coalesce"],["coalleed","coalesced"],["coalleence","coalescence"],["coallees","coalesces"],["coalleing","coalescing"],["coallesce","coalesce"],["coallesced","coalesced"],["coallesceing","coalescing"],["coallescence","coalescence"],["coallesces","coalesces"],["coallescing","coalescing"],["coallese","coalesce"],["coallesed","coalesced"],["coallesence","coalescence"],["coalleses","coalesces"],["coallesing","coalescing"],["coallesse","coalesce"],["coallessed","coalesced"],["coallessence","coalescence"],["coallesses","coalesces"],["coallessing","coalescing"],["coallision","collision"],["coallisions","collisions"],["coalsce","coalesce"],["coalscece","coalescence"],["coalsced","coalesced"],["coalscence","coalescence"],["coalscing","coalescing"],["coalsece","coalescence"],["coalseced","coalesced"],["coalsecense","coalescence"],["coalsence","coalescence"],["coaslescing","coalescing"],["cobining","combining"],["cobvers","covers"],["coccinele","coccinelle"],["coctail","cocktail"],["cocument","document"],["cocumentation","documentation"],["cocuments","document"],["codeing","coding"],["codepoitn","codepoint"],["codesc","codecs"],["codespel","codespell"],["codesream","codestream"],["codition","condition"],["coditioned","conditioned"],["coditions","conditions"],["codo","code"],["codos","codes"],["coduct","conduct"],["coducted","conducted"],["coducter","conductor"],["coducting","conducting"],["coductor","conductor"],["coducts","conducts"],["coeffcient","coefficient"],["coeffcients","coefficients"],["coefficeint","coefficient"],["coefficeints","coefficients"],["coefficent","coefficient"],["coefficents","coefficients"],["coefficiens","coefficients"],["coefficientss","coefficients"],["coeffiecient","coefficient"],["coeffiecients","coefficients"],["coeffient","coefficient"],["coeffients","coefficients"],["coeficent","coefficient"],["coeficents","coefficients"],["coeficient","coefficient"],["coeficients","coefficients"],["coelesce","coalesce"],["coercable","coercible"],["coerceion","coercion"],["cofeee","coffee"],["cofficient","coefficient"],["cofficients","coefficients"],["cofidence","confidence"],["cofiguration","configuration"],["cofigure","configure"],["cofigured","configured"],["cofigures","configures"],["cofiguring","configuring"],["cofirm","confirm"],["cofirmation","confirmation"],["cofirmations","confirmations"],["cofirmed","confirmed"],["cofirming","confirming"],["cofirms","confirms"],["coform","conform"],["cofrim","confirm"],["cofrimation","confirmation"],["cofrimations","confirmations"],["cofrimed","confirmed"],["cofriming","confirming"],["cofrims","confirms"],["cognizent","cognizant"],["coherance","coherence"],["coherancy","coherency"],["coherant","coherent"],["coherantly","coherently"],["coice","choice"],["coincedentally","coincidentally"],["coinitailize","coinitialize"],["coinside","coincide"],["coinsided","coincided"],["coinsidence","coincidence"],["coinsident","coincident"],["coinsides","coincides"],["coinsiding","coinciding"],["cointain","contain"],["cointained","contained"],["cointaining","containing"],["cointains","contains"],["cokies","cookies"],["colaboration","collaboration"],["colaborations","collaborations"],["colateral","collateral"],["coldplg","coldplug"],["colected","collected"],["colection","collection"],["colections","collections"],["colelction","collection"],["colelctive","collective"],["colerscheme","colorscheme"],["colescing","coalescing"],["colision","collision"],["colission","collision"],["collaberative","collaborative"],["collaction","collection"],["collaobrative","collaborative"],["collaps","collapse"],["collapsable","collapsible"],["collasion","collision"],["collaspe","collapse"],["collasped","collapsed"],["collaspes","collapses"],["collaspible","collapsible"],["collasping","collapsing"],["collationg","collation"],["collborative","collaborative"],["collecing","collecting"],["collecion","collection"],["collecions","collections"],["colleciton","collection"],["collecitons","collections"],["collectin","collection"],["collecton","collection"],["collectons","collections"],["colleection","collection"],["collegue","colleague"],["collegues","colleagues"],["collektion","collection"],["colletion","collection"],["collidies","collides"],["collissions","collisions"],["collistion","collision"],["collistions","collisions"],["colllapses","collapses"],["collocalized","colocalized"],["collonade","colonnade"],["collonies","colonies"],["collony","colony"],["collorscheme","colorscheme"],["collosal","colossal"],["collpase","collapse"],["collpased","collapsed"],["collpases","collapses"],["collpasing","collapsing"],["collsion","collision"],["collsions","collisions"],["collumn","column"],["collumns","columns"],["colmn","column"],["colmns","columns"],["colmuned","columned"],["coloer","color"],["coloeration","coloration"],["coloered","colored"],["coloering","coloring"],["coloers","colors"],["coloful","colorful"],["colomn","column"],["colomns","columns"],["colon-seperated","colon-separated"],["colonizators","colonizers"],["coloringh","coloring"],["colorizoer","colorizer"],["colorpsace","colorspace"],["colorpsaces","colorspaces"],["colose","close"],["coloum","column"],["coloumn","column"],["coloumns","columns"],["coloums","columns"],["colourpsace","colourspace"],["colourpsaces","colourspaces"],["colsed","closed"],["colum","column"],["columm","column"],["colummn","column"],["colummns","columns"],["columms","columns"],["columnn","column"],["columnns","columns"],["columnss","columns"],["columnular","columnar"],["colums","columns"],["columsn","columns"],["colunns","columns"],["comammand","command"],["comamnd","command"],["comamnd-line","command-line"],["comamnded","commanded"],["comamnding","commanding"],["comamndline","commandline"],["comamnds","commands"],["comand","command"],["comand-line","command-line"],["comanded","commanded"],["comanding","commanding"],["comandline","commandline"],["comando","commando"],["comandos","commandos"],["comands","commands"],["comany","company"],["comapany","company"],["comapared","compared"],["comapatibility","compatibility"],["comapatible","compatible"],["comapletion","completion"],["comapnies","companies"],["comapny","company"],["comapre","compare"],["comapring","comparing"],["comaprison","comparison"],["comaptibele","compatible"],["comaptibelities","compatibilities"],["comaptibelity","compatibility"],["comaptible","compatible"],["comarators","comparators"],["comback","comeback"],["combained","combined"],["combanations","combinations"],["combatibility","compatibility"],["combatible","compatible"],["combiantion","combination"],["combiation","combination"],["combiations","combinations"],["combinate","combine"],["combinateion","combination"],["combinateions","combinations"],["combinatins","combinations"],["combinatio","combination"],["combinatios","combinations"],["combinaton","combination"],["combinatorical","combinatorial"],["combinbe","combined"],["combind","combined"],["combinded","combined"],["combiniation","combination"],["combiniations","combinations"],["combinine","combine"],["combintaion","combination"],["combintaions","combinations"],["combusion","combustion"],["comceptually","conceptually"],["comdemnation","condemnation"],["comect","connect"],["comected","connected"],["comecting","connecting"],["comectivity","connectivity"],["comedlib","comedilib"],["comemmorates","commemorates"],["comemoretion","commemoration"],["coment","comment"],["comented","commented"],["comenting","commenting"],["coments","comments"],["comfirm","confirm"],["comflicting","conflicting"],["comformance","conformance"],["comiled","compiled"],["comilers","compilers"],["comination","combination"],["comision","commission"],["comisioned","commissioned"],["comisioner","commissioner"],["comisioning","commissioning"],["comisions","commissions"],["comission","commission"],["comissioned","commissioned"],["comissioner","commissioner"],["comissioning","commissioning"],["comissions","commissions"],["comit","commit"],["comited","committed"],["comitee","committee"],["comiting","committing"],["comits","commits"],["comitted","committed"],["comittee","committee"],["comittees","committees"],["comitter","committer"],["comitting","committing"],["comittish","committish"],["comlain","complain"],["comlained","complained"],["comlainer","complainer"],["comlaining","complaining"],["comlains","complains"],["comlaint","complaint"],["comlaints","complaints"],["comlete","complete"],["comleted","completed"],["comletely","completely"],["comletion","completion"],["comletly","completely"],["comlex","complex"],["comlexity","complexity"],["comlpeter","completer"],["comma-separeted","comma-separated"],["commad","command"],["commadn","command"],["commadn-line","command-line"],["commadnline","commandline"],["commadns","commands"],["commads","commands"],["commandi","command"],["commandoes","commandos"],["commannd","command"],["commans","commands"],["commansd","commands"],["commect","connect"],["commected","connected"],["commecting","connecting"],["commectivity","connectivity"],["commedic","comedic"],["commemerative","commemorative"],["commemmorate","commemorate"],["commemmorating","commemorating"],["commenet","comment"],["commenetd","commented"],["commeneted","commented"],["commenstatus","commentstatus"],["commerical","commercial"],["commerically","commercially"],["commericial","commercial"],["commericially","commercially"],["commerorative","commemorative"],["comming","coming"],["comminication","communication"],["comminity","community"],["comminucating","communicating"],["comminucation","communication"],["commision","commission"],["commisioned","commissioned"],["commisioner","commissioner"],["commisioning","commissioning"],["commisions","commissions"],["commitable","committable"],["commited","committed"],["commitee","committee"],["commiter","committer"],["commiters","committers"],["commitin","committing"],["commiting","committing"],["commitish","committish"],["committ","commit"],["committe","committee"],["committi","committee"],["committis","committees"],["committment","commitment"],["committments","commitments"],["committy","committee"],["commma","comma"],["commma-separated","comma-separated"],["commmand","command"],["commmand-line","command-line"],["commmandline","commandline"],["commmands","commands"],["commmemorated","commemorated"],["commment","comment"],["commmented","commented"],["commmenting","commenting"],["commments","comments"],["commmet","comment"],["commmets","comments"],["commmit","commit"],["commmited","committed"],["commmiting","committing"],["commmits","commits"],["commmitted","committed"],["commmitter","committer"],["commmitters","committers"],["commmitting","committing"],["commmon","common"],["commmunicate","communicate"],["commmunicated","communicated"],["commmunicates","communicates"],["commmunicating","communicating"],["commmunication","communication"],["commmunity","community"],["commna","comma"],["commna-separated","comma-separated"],["commnad","command"],["commnad-line","command-line"],["commnadline","commandline"],["commnads","commands"],["commnand","command"],["commnand-line","command-line"],["commnandline","commandline"],["commnands","commands"],["commnd","command"],["commnd-line","command-line"],["commndline","commandline"],["commnds","commands"],["commnent","comment"],["commnents","comments"],["commnet","comment"],["commnetaries","commentaries"],["commnetary","commentary"],["commnetator","commentator"],["commnetators","commentators"],["commneted","commented"],["commneting","commenting"],["commnets","comments"],["commnication","communication"],["commnities","communities"],["commnity","community"],["commnt","comment"],["commnted","commented"],["commnuative","commutative"],["commnunicating","communicating"],["commnunication","communication"],["commnunity","community"],["commoditiy","commodity"],["commom","common"],["commond","command"],["commongly","commonly"],["commontly","commonly"],["commonweath","commonwealth"],["commpact","compact"],["commpaction","compaction"],["commpare","compare"],["commparisons","comparisons"],["commpatibility","compatibility"],["commpatible","compatible"],["commpessed","compressed"],["commpilation","compilation"],["commpile","compile"],["commpiled","compiled"],["commpiling","compiling"],["commplain","complain"],["commplete","complete"],["commpleted","completed"],["commpletely","completely"],["commpletes","completes"],["commpletion","completion"],["commplex","complex"],["commpliant","compliant"],["commplied","complied"],["commpn","common"],["commponent","component"],["commponents","components"],["commpound","compound"],["commpresd","compressed"],["commpresed","compressed"],["commpresion","compression"],["commpress","compress"],["commpressd","compressed"],["commpressed","compressed"],["commpression","compression"],["commpute","compute"],["commputed","computed"],["commputer","computer"],["commputes","computes"],["commputing","computing"],["commtited","committed"],["commtted","committed"],["commuication","communication"],["commuications","communications"],["commuinications","communications"],["communcated","communicated"],["communcation","communication"],["communcations","communications"],["communciation","communication"],["communiation","communication"],["communicaion","communication"],["communicatie","communication"],["communicaton","communication"],["communitcate","communicate"],["communitcated","communicated"],["communitcates","communicates"],["communitcation","communication"],["communitcations","communications"],["communites","communities"],["communiy","community"],["communiyt","community"],["communuication","communication"],["commutated","commuted"],["commutating","commuting"],["commutive","commutative"],["comnmand","command"],["comnnected","connected"],["comnparing","comparing"],["comnpletion","completion"],["comnpresion","compression"],["comnpress","compress"],["comobobox","combo-box"],["comon","common"],["comonent","component"],["comor","color"],["compability","compatibility"],["compabillity","compatibility"],["compabitiliby","compatibility"],["compabitility","compatibility"],["compagnion","companion"],["compagny","company"],["compaibility","compatibility"],["compain","complain"],["compair","compare"],["compaire","compare"],["compaired","compared"],["compairing","comparing"],["compairison","comparison"],["compairisons","comparisons"],["compairs","compares"],["compansate","compensate"],["compansated","compensated"],["compansates","compensates"],["compansating","compensating"],["compansation","compensation"],["compansations","compensations"],["comparaison","comparison"],["comparare","compare"],["comparasion","comparison"],["comparasions","comparisons"],["comparater","comparator"],["comparation","comparison"],["comparations","comparisons"],["compareable","comparable"],["compareing","comparing"],["compareison","comparison"],["compareisons","comparisons"],["comparements","compartments"],["compariable","comparable"],["comparied","compared"],["comparign","comparing"],["comparigon","comparison"],["comparigons","comparisons"],["compariing","comparing"],["comparion","comparison"],["comparions","comparisons"],["comparios","comparison"],["comparioss","comparisons"],["comparisaion","comparison"],["comparisaions","comparisons"],["comparisation","comparison"],["comparisations","comparisons"],["comparisement","comparison"],["comparisements","comparisons"],["comparisin","comparison"],["comparising","comparing"],["comparisins","comparisons"],["comparision","comparison"],["comparisions","comparisons"],["comparism","comparison"],["comparisment","comparison"],["comparisments","comparisons"],["comparisms","comparisons"],["comparisn","comparison"],["comparisns","comparisons"],["comparispon","comparison"],["comparispons","comparisons"],["comparission","comparison"],["comparissions","comparisons"],["comparisson","comparison"],["comparissons","comparisons"],["comparistion","comparison"],["comparistions","comparisons"],["compariston","comparison"],["comparistons","comparisons"],["comparition","comparison"],["comparitions","comparisons"],["comparititive","comparative"],["comparititively","comparatively"],["comparitive","comparative"],["comparitively","comparatively"],["comparitor","comparator"],["comparitors","comparators"],["comparizon","comparison"],["comparizons","comparisons"],["comparment","compartment"],["comparotor","comparator"],["comparotors","comparators"],["comparre","compare"],["comparsion","comparison"],["comparsions","comparisons"],["compatabable","compatible"],["compatabiity","compatibility"],["compatabile","compatible"],["compatabilities","compatibilities"],["compatability","compatibility"],["compatabillity","compatibility"],["compatabilty","compatibility"],["compatabily","compatibility"],["compatable","compatible"],["compatablility","compatibility"],["compatablities","compatibilities"],["compatablitiy","compatibility"],["compatablity","compatibility"],["compatably","compatibly"],["compataibility","compatibility"],["compataible","compatible"],["compataility","compatibility"],["compatatbility","compatibility"],["compatatble","compatible"],["compatatible","compatible"],["compatator","comparator"],["compatators","comparators"],["compatbile","compatible"],["compatbility","compatibility"],["compatiability","compatibility"],["compatiable","compatible"],["compatiablity","compatibility"],["compatibel","compatible"],["compatibile","compatible"],["compatibiliy","compatibility"],["compatibiltiy","compatibility"],["compatibilty","compatibility"],["compatibily","compatibility"],["compatibity","compatibility"],["compatiblilty","compatibility"],["compatiblities","compatibilities"],["compatiblity","compatibility"],["compation","compaction"],["compatitbility","compatibility"],["compativle","compatible"],["compaytibility","compatibility"],["compeitions","competitions"],["compeletely","completely"],["compelte","complete"],["compeltelyt","completely"],["compeltion","completion"],["compeltly","completely"],["compelx","complex"],["compelxes","complexes"],["compelxities","complexities"],["compelxity","complexity"],["compensantion","compensation"],["compenstate","compensate"],["compenstated","compensated"],["compenstates","compensates"],["competance","competence"],["competant","competent"],["competative","competitive"],["competetive","competitive"],["competions","completions"],["competitiion","competition"],["competive","competitive"],["competiveness","competitiveness"],["compex","complex"],["compfortable","comfortable"],["comphrehensive","comprehensive"],["compiant","compliant"],["compicated","complicated"],["compications","complications"],["compied","compiled"],["compilability","compatibility"],["compilant","compliant"],["compilaton","compilation"],["compilatons","compilations"],["compilcate","complicate"],["compilcated","complicated"],["compilcatedly","complicatedly"],["compilcates","complicates"],["compilcating","complicating"],["compilcation","complication"],["compilcations","complications"],["compileable","compilable"],["compiletime","compile time"],["compiliant","compliant"],["compiliation","compilation"],["compilier","compiler"],["compiliers","compilers"],["compitability","compatibility"],["compitable","compatible"],["compitent","competent"],["compitible","compatible"],["complaing","complaining"],["complanied","complained"],["complate","complete"],["complated","completed"],["complates","completes"],["complating","completing"],["complatly","completely"],["complatness","completeness"],["complats","completes"],["complcated","complicated"],["compleate","complete"],["compleated","completed"],["compleates","completes"],["compleating","completing"],["compleatly","completely"],["compleete","complete"],["compleeted","completed"],["compleetly","completely"],["compleetness","completeness"],["complelely","completely"],["complelte","complete"],["complementt","complement"],["compleness","completeness"],["complession","compression"],["complet","complete"],["completedthe","completed the"],["completeion","completion"],["completelly","completely"],["completelty","completely"],["completelyl","completely"],["completetion","completion"],["completetly","completely"],["completiom","completion"],["completition","completion"],["completley","completely"],["completly","completely"],["completness","completeness"],["complette","complete"],["complettly","completely"],["complety","completely"],["complext","complexity"],["compliace","compliance"],["complianse","compliance"],["compliation","compilation"],["compliations","compilations"],["complied-in","compiled-in"],["complience","compliance"],["complient","compliant"],["complile","compile"],["compliled","compiled"],["compliler","compiler"],["compliles","compiles"],["compliling","compiling"],["compling","compiling"],["complitely","completely"],["complmenet","complement"],["complted","completed"],["compluter","computer"],["compnent","component"],["compnents","components"],["compoennt","component"],["compoent","component"],["compoents","components"],["compoesd","composed"],["compoment","component"],["compoments","components"],["componant","component"],["componants","components"],["componbents","components"],["componding","compounding"],["componeent","component"],["componeents","components"],["componemt","component"],["componemts","components"],["componenet","component"],["componenets","components"],["componens","components"],["componentes","components"],["componet","component"],["componets","components"],["componnents","components"],["componoent","component"],["componoents","components"],["componsites","composites"],["compontent","component"],["compontents","components"],["composablity","composability"],["composibility","composability"],["composiblity","composability"],["composit","composite"],["compositong","compositing"],["composits","composites"],["compount","compound"],["comppatible","compatible"],["comppiler","compiler"],["comppilers","compilers"],["comppliance","compliance"],["comprable","comparable"],["compredded","compressed"],["compresed","compressed"],["compreser","compressor"],["compresers","compressors"],["compreses","compresses"],["compresible","compressible"],["compresing","compressing"],["compresion","compression"],["compresions","compressions"],["compresor","compressor"],["compresors","compressors"],["compressable","compressible"],["compresser","compressor"],["compressers","compressors"],["compresss","compress"],["compresssed","compressed"],["compresssion","compression"],["comprimise","compromise"],["compromize","compromise"],["compromized","compromised"],["compsable","composable"],["compsite","composite"],["comptabile","compatible"],["comptible","compatible"],["comptue","compute"],["compuatation","computation"],["compuation","computation"],["compulsary","compulsory"],["compulsery","compulsory"],["compund","compound"],["compunds","compounds"],["computaion","computation"],["computarized","computerized"],["computaton","computation"],["computtaion","computation"],["computtaions","computations"],["comress","compress"],["comressed","compressed"],["comresses","compresses"],["comressing","compressing"],["comression","compression"],["comrpess","compress"],["comrpessed","compressed"],["comrpesses","compresses"],["comrpessing","compressing"],["comrpession","compression"],["comstraint","constraint"],["comsume","consume"],["comsumed","consumed"],["comsumer","consumer"],["comsumers","consumers"],["comsumes","consumes"],["comsuming","consuming"],["comsumption","consumption"],["comtain","contain"],["comtained","contained"],["comtainer","container"],["comtains","contains"],["comunicate","communicate"],["comunication","communication"],["comunity","community"],["comventions","conventions"],["comverted","converted"],["conain","contain"],["conained","contained"],["conainer","container"],["conainers","containers"],["conaines","contains"],["conaining","containing"],["conains","contains"],["conaint","contain"],["conainted","contained"],["conainter","container"],["conatain","contain"],["conatainer","container"],["conatainers","containers"],["conatains","contains"],["conatin","contain"],["conatined","contained"],["conatiner","container"],["conatiners","containers"],["conatining","containing"],["conatins","contains"],["conbination","combination"],["conbinations","combinations"],["conbtrols","controls"],["concaneted","concatenated"],["concantenated","concatenated"],["concatenaded","concatenated"],["concatenaion","concatenation"],["concatened","concatenated"],["concatentaion","concatenation"],["concatentate","concatenate"],["concatentated","concatenated"],["concatentates","concatenates"],["concatentating","concatenating"],["concatentation","concatenation"],["concatentations","concatenations"],["concatented","concatenated"],["concatinate","concatenate"],["concatinated","concatenated"],["concatination","concatenation"],["concatinations","concatenations"],["concating","concatenating"],["concatonate","concatenate"],["concatonated","concatenated"],["concatonates","concatenates"],["concatonating","concatenating"],["conceed","concede"],["conceedd","conceded"],["concensors","consensus"],["concensus","consensus"],["concentate","concentrate"],["concentated","concentrated"],["concentates","concentrates"],["concentating","concentrating"],["concentation","concentration"],["concentic","concentric"],["concentraze","concentrate"],["concered","concerned"],["concerened","concerned"],["concering","concerning"],["concerntrating","concentrating"],["concicely","concisely"],["concider","consider"],["concidered","considered"],["concidering","considering"],["conciders","considers"],["concieted","conceited"],["concieve","conceive"],["concieved","conceived"],["concious","conscious"],["conciously","consciously"],["conciousness","consciousness"],["concurence","concurrence"],["concurency","concurrency"],["concurent","concurrent"],["concurently","concurrently"],["concurrect","concurrent"],["condamned","condemned"],["condem","condemn"],["condemmed","condemned"],["condfiguration","configuration"],["condfigurations","configurations"],["condfigure","configure"],["condfigured","configured"],["condfigures","configures"],["condfiguring","configuring"],["condict","conduct"],["condicted","conducted"],["condidate","candidate"],["condidates","candidates"],["condident","confident"],["condidential","confidential"],["condidional","conditional"],["condidtion","condition"],["condidtioning","conditioning"],["condidtions","conditions"],["condifurable","configurable"],["condifuration","configuration"],["condifure","configure"],["condifured","configured"],["condig","config"],["condigdialog","configdialog"],["condiiton","condition"],["condionally","conditionally"],["conditial","conditional"],["conditially","conditionally"],["conditialy","conditionally"],["conditianal","conditional"],["conditianally","conditionally"],["conditianaly","conditionally"],["conditionaly","conditionally"],["conditionn","condition"],["conditionnal","conditional"],["conditionnaly","conditionally"],["conditionned","conditioned"],["conditionsof","conditions of"],["conditoinal","conditional"],["conditon","condition"],["conditonal","conditional"],["conditons","conditions"],["condntional","conditional"],["condtiion","condition"],["condtiions","conditions"],["condtion","condition"],["condtional","conditional"],["condtionally","conditionally"],["condtionals","conditionals"],["condtioned","conditioned"],["condtions","conditions"],["condtition","condition"],["condtitional","conditional"],["condtitionals","conditionals"],["condtitions","conditions"],["conecct","connect"],["coneccted","connected"],["coneccting","connecting"],["conecction","connection"],["conecctions","connections"],["conecctivities","connectivities"],["conecctivity","connectivity"],["conecctor","connector"],["conecctors","connectors"],["coneccts","connects"],["conecept","concept"],["conecepts","concepts"],["conecjture","conjecture"],["conecjtures","conjectures"],["conecntrate","concentrate"],["conecntrated","concentrated"],["conecntrates","concentrates"],["conecpt","concept"],["conecpts","concepts"],["conect","connect"],["conected","connected"],["conecting","connecting"],["conection","connection"],["conections","connections"],["conectivities","connectivities"],["conectivity","connectivity"],["conectix","connectix"],["conector","connector"],["conectors","connectors"],["conects","connects"],["conecurrency","concurrency"],["conecutive","consecutive"],["coneect","connect"],["coneected","connected"],["coneecting","connecting"],["coneection","connection"],["coneections","connections"],["coneectivities","connectivities"],["coneectivity","connectivity"],["coneector","connector"],["coneectors","connectors"],["coneects","connects"],["conenct","connect"],["conencted","connected"],["conencting","connecting"],["conenction","connection"],["conenctions","connections"],["conenctivities","connectivities"],["conenctivity","connectivity"],["conenctor","connector"],["conenctors","connectors"],["conencts","connects"],["conenience","convenience"],["conenient","convenient"],["coneninece","convenience"],["coneninet","convenient"],["conent","content"],["conents","contents"],["conergence","convergence"],["conern","concern"],["conerning","concerning"],["conersion","conversion"],["conersions","conversions"],["conert","convert"],["conerted","converted"],["conerter","converter"],["conerters","converters"],["conerting","converting"],["conervative","conservative"],["conesencus","consensus"],["conet","connect"],["coneted","connected"],["coneting","connecting"],["conetion","connection"],["conetions","connections"],["conetivities","connectivities"],["conetivity","connectivity"],["conetnt","content"],["conetor","connector"],["conetors","connectors"],["conets","connects"],["conexant","connexant"],["conferene","conference"],["conferrencing","conferencing"],["confert","convert"],["confety","confetti"],["conffiguration","configuration"],["confgiuration","configuration"],["confgiure","configure"],["confgiured","configured"],["confguration","configuration"],["confgure","configure"],["confgured","configured"],["confict","conflict"],["conficted","conflicted"],["conficts","conflicts"],["confidance","confidence"],["confidantal","confidential"],["confidantally","confidentially"],["confidantals","confidentials"],["confidantial","confidential"],["confidantially","confidentially"],["confidental","confidential"],["confidentally","confidentially"],["confids","confides"],["confifurable","configurable"],["confifuration","configuration"],["confifure","configure"],["confifured","configured"],["configaration","configuration"],["configed","configured"],["configer","configure"],["configiration","configuration"],["configire","configure"],["configiuration","configuration"],["configration","configuration"],["configrations","configurations"],["configred","configured"],["configruation","configuration"],["configruations","configurations"],["configrued","configured"],["configuaration","configuration"],["configuarble","configurable"],["configuare","configure"],["configuared","configured"],["configuarion","configuration"],["configuarions","configurations"],["configuartion","configuration"],["configuartions","configurations"],["configuation","configuration"],["configuations","configurations"],["configue","configure"],["configued","configured"],["configuerd","configured"],["configuered","configured"],["configues","configures"],["configulate","configurate"],["configulation","configuration"],["configulations","configurations"],["configuraion","configuration"],["configuraiton","configuration"],["configuratiens","configurations"],["configuratiom","configuration"],["configurationn","configuration"],["configuratioon","configuration"],["configuratoin","configuration"],["configuratoins","configurations"],["configuraton","configuration"],["configuratons","configurations"],["configuratrions","configurations"],["configuratuion","configuration"],["configureable","configurable"],["configureing","configuring"],["configuretion","configuration"],["configurres","configures"],["configurring","configuring"],["configurses","configures"],["configurtation","configuration"],["configurting","configuring"],["configurtion","configuration"],["configurtoin","configuration"],["configury","configurable"],["configutation","configuration"],["configutations","configurations"],["configute","configure"],["configuted","configured"],["configutes","configures"],["configutration","configuration"],["confim","confirm"],["confimation","confirmation"],["confimations","confirmations"],["confimed","confirmed"],["confiming","confirming"],["confimred","confirmed"],["confims","confirms"],["confiramtion","confirmation"],["confirmacion","confirmation"],["confirmaed","confirmed"],["confirmas","confirms"],["confirmatino","confirmation"],["confirmatinon","confirmation"],["confirmd","confirmed"],["confirmedd","confirmed"],["confirmeed","confirmed"],["confirmming","confirming"],["confiug","config"],["confiugrable","configurable"],["confiugration","configuration"],["confiugrations","configurations"],["confiugre","configure"],["confiugred","configured"],["confiugres","configures"],["confiugring","configuring"],["confiugure","configure"],["conflictin","conflicting"],["conflift","conflict"],["conflit","conflict"],["confoguration","configuration"],["confort","comfort"],["confortable","comfortable"],["confrim","confirm"],["confrimation","confirmation"],["confrimations","confirmations"],["confrimed","confirmed"],["confriming","confirming"],["confrims","confirms"],["confucing","confusing"],["confucion","confusion"],["confuction","conjunction"],["confudion","confusion"],["confue","confuse"],["confued","confused"],["confues","confuses"],["confugiration","configuration"],["confugirble","configurable"],["confugire","configure"],["confugired","configured"],["confugires","configures"],["confugiring","configuring"],["confugrable","configurable"],["confugration","configuration"],["confugre","configure"],["confugred","configured"],["confugres","configures"],["confugring","configuring"],["confugurable","configurable"],["confuguration","configuration"],["confugure","configure"],["confugured","configured"],["confugures","configures"],["confuguring","configuring"],["confuigration","configuration"],["confuigrations","configurations"],["confuing","confusing"],["confunction","conjunction"],["confunder","confounder"],["confunse","confuse"],["confunsed","confused"],["confunses","confuses"],["confunsing","confusing"],["confurable","configurable"],["confuration","configuration"],["confure","configure"],["confured","configured"],["confures","configures"],["confuring","configuring"],["confurse","confuse"],["confursed","confused"],["confurses","confuses"],["confursing","confusing"],["confusting","confusing"],["confuze","confuse"],["confuzed","confused"],["confuzes","confuses"],["confuzing","confusing"],["confuzze","confuse"],["confuzzed","confused"],["confuzzes","confuses"],["confuzzing","confusing"],["congifurable","configurable"],["congifuration","configuration"],["congifure","configure"],["congifured","configured"],["congig","config"],["congigs","configs"],["congiguration","configuration"],["congigurations","configurations"],["congigure","configure"],["congnition","cognition"],["congnitive","cognitive"],["congradulations","congratulations"],["congresional","congressional"],["conider","consider"],["conifguration","configuration"],["conifiguration","configuration"],["conig","config"],["conigurable","configurable"],["conigured","configured"],["conincide","coincide"],["conincidence","coincidence"],["conincident","coincident"],["conincides","coincides"],["coninciding","coinciding"],["coninient","convenient"],["coninstallable","coinstallable"],["coninuation","continuation"],["coninue","continue"],["coninues","continues"],["coninuity","continuity"],["coninuous","continuous"],["conitinue","continue"],["conived","connived"],["conjecutre","conjecture"],["conjonction","conjunction"],["conjonctive","conjunctive"],["conjuction","conjunction"],["conjuctions","conjunctions"],["conjuncion","conjunction"],["conjuntion","conjunction"],["conjuntions","conjunctions"],["conlcude","conclude"],["conlcuded","concluded"],["conlcudes","concludes"],["conlcuding","concluding"],["conlcusion","conclusion"],["conlcusions","conclusions"],["conly","only"],["conmnection","connection"],["conmpress","compress"],["conmpression","compression"],["connaect","connect"],["conncection","connection"],["conncetion","connection"],["connction","connection"],["conncurrent","concurrent"],["connecetd","connected"],["connecion","connection"],["connecions","connections"],["conneciton","connection"],["connecitons","connections"],["connecor","connector"],["connecotr","connector"],["connecstatus","connectstatus"],["connectd","connected"],["connecte","connected"],["connectec","connected"],["connectes","connects"],["connectet","connected"],["connectibity","connectivity"],["connectino","connection"],["connectinos","connections"],["connectins","connections"],["connectiom","connection"],["connectioms","connections"],["connectiona","connection"],["connectionas","connections"],["connectiviy","connectivity"],["connectivty","connectivity"],["connecto","connect"],["connectted","connected"],["connecttion","connection"],["conneection","connection"],["conneiction","connection"],["connektors","connectors"],["connetced","connected"],["connetcion","connection"],["conneted","connected"],["Conneticut","Connecticut"],["connetion","connection"],["connetor","connector"],["connexion","connection"],["connnect","connect"],["connnected","connected"],["connnecting","connecting"],["connnection","connection"],["connnections","connections"],["connnects","connects"],["connot","cannot"],["connstrain","constrain"],["connstrained","constrained"],["connstraint","constraint"],["conntents","contents"],["conntroller","controller"],["conosuer","connoisseur"],["conotation","connotation"],["conotations","connotations"],["conotrol","control"],["conotroled","controlled"],["conotroling","controlling"],["conotrolled","controlled"],["conotrols","controls"],["conpares","compares"],["conplete","complete"],["conpleted","completed"],["conpletes","completes"],["conpleting","completing"],["conpletion","completion"],["conquerd","conquered"],["conquerer","conqueror"],["conquerers","conquerors"],["conqured","conquered"],["conrete","concrete"],["conrol","control"],["conroller","controller"],["conrrespond","correspond"],["conrrespondence","correspondence"],["conrrespondences","correspondences"],["conrrespondent","correspondent"],["conrrespondents","correspondents"],["conrresponding","corresponding"],["conrrespondingly","correspondingly"],["conrresponds","corresponds"],["conrrol","control"],["conrrupt","corrupt"],["conrruptable","corruptible"],["conrrupted","corrupted"],["conrruptible","corruptible"],["conrruption","corruption"],["conrruptions","corruptions"],["conrrupts","corrupts"],["conrtib","contrib"],["conrtibs","contribs"],["consants","constants"],["conscent","consent"],["consciencious","conscientious"],["consciouness","consciousness"],["consctruct","construct"],["consctructed","constructed"],["consctructing","constructing"],["consctruction","construction"],["consctructions","constructions"],["consctructive","constructive"],["consctructor","constructor"],["consctructors","constructors"],["consctructs","constructs"],["consdider","consider"],["consdidered","considered"],["consdiered","considered"],["consdired","considered"],["conseat","conceit"],["conseated","conceited"],["consective","consecutive"],["consectively","consecutively"],["consectutive","consecutive"],["consectuve","consecutive"],["consecuitively","consecutively"],["conseed","concede"],["conseedd","conceded"],["conseeded","conceded"],["conseeds","concedes"],["consenquently","consequently"],["consensis","consensus"],["consentrate","concentrate"],["consentrated","concentrated"],["consentrates","concentrates"],["consept","concept"],["consepts","concepts"],["consequentely","consequently"],["consequentually","consequently"],["consequeseces","consequences"],["consequetive","consecutive"],["consequtive","consecutive"],["consequtively","consecutively"],["consern","concern"],["conserned","concerned"],["conserning","concerning"],["conservativeky","conservatively"],["conservitive","conservative"],["consestently","consistently"],["consevible","conceivable"],["consiciousness","consciousness"],["consicousness","consciousness"],["considder","consider"],["considderation","consideration"],["considdered","considered"],["considdering","considering"],["considerd","considered"],["consideren","considered"],["considerion","consideration"],["considerions","considerations"],["considred","considered"],["consier","consider"],["consiers","considers"],["consifer","consider"],["consifered","considered"],["consious","conscious"],["consisant","consistent"],["consisent","consistent"],["consisently","consistently"],["consisntency","consistency"],["consistancy","consistency"],["consistant","consistent"],["consistantly","consistently"],["consisten","consistent"],["consistend","consistent"],["consistendly","consistently"],["consistendt","consistent"],["consistendtly","consistently"],["consistenly","consistently"],["consistuents","constituents"],["consit","consist"],["consitant","consistent"],["consited","consisted"],["consitency","consistency"],["consitent","consistent"],["consitently","consistently"],["consiting","consisting"],["consitional","conditional"],["consits","consists"],["consituencies","constituencies"],["consituency","constituency"],["consituent","constituent"],["consituents","constituents"],["consitute","constitute"],["consituted","constituted"],["consitutes","constitutes"],["consituting","constituting"],["consitution","constitution"],["consitutional","constitutional"],["consitutuent","constituent"],["consitutuents","constituents"],["consitutute","constitute"],["consitututed","constituted"],["consitututes","constitutes"],["consitututing","constituting"],["consntant","constant"],["consntantly","constantly"],["consntants","constants"],["consol","console"],["consolodate","consolidate"],["consolodated","consolidated"],["consonent","consonant"],["consonents","consonants"],["consorcium","consortium"],["conspiracys","conspiracies"],["conspiriator","conspirator"],["consquence","consequence"],["consquences","consequences"],["consquent","consequent"],["consquently","consequently"],["consrtuct","construct"],["consrtucted","constructed"],["consrtuctor","constructor"],["consrtuctors","constructors"],["consrtucts","constructs"],["consruction","construction"],["consructions","constructions"],["consructor","constructor"],["consructors","constructors"],["constaint","constraint"],["constainted","constrained"],["constaints","constraints"],["constallation","constellation"],["constallations","constellations"],["constan","constant"],["constanly","constantly"],["constantsm","constants"],["constarin","constrain"],["constarint","constraint"],["constarints","constraints"],["constarnation","consternation"],["constatn","constant"],["constatnt","constant"],["constatnts","constants"],["constcurts","constructs"],["constext","context"],["consting","consisting"],["constinually","continually"],["constistency","consistency"],["constists","consists"],["constitently","consistently"],["constituant","constituent"],["constituants","constituents"],["constitue","constitute"],["constitues","constitutes"],["constituion","constitution"],["constituional","constitutional"],["constitutent","constituent"],["constitutents","constituents"],["constly","costly"],["constract","construct"],["constracted","constructed"],["constractor","constructor"],["constractors","constructors"],["constrainsts","constraints"],["constrainted","constrained"],["constraintes","constraints"],["constrainting","constraining"],["constrait","constraint"],["constraits","constraints"],["constrans","constrains"],["constrant","constraint"],["constrants","constraints"],["constrast","contrast"],["constrasts","contrasts"],["constratints","constraints"],["constraucts","constructs"],["constrcuct","construct"],["constrcut","construct"],["constrcuted","constructed"],["constrcution","construction"],["constrcutor","constructor"],["constrcutors","constructors"],["constrcuts","constructs"],["constriants","constraints"],["constrint","constraint"],["constrints","constraints"],["constrollers","controllers"],["construc","construct"],["construces","constructs"],["construcing","constructing"],["construcion","construction"],["construciton","construction"],["construcor","constructor"],["construcs","constructs"],["constructcor","constructor"],["constructer","constructor"],["constructers","constructors"],["constructes","constructs"],["constructred","constructed"],["constructt","construct"],["constructted","constructed"],["constructting","constructing"],["constructtor","constructor"],["constructtors","constructors"],["constructts","constructs"],["constructued","constructed"],["constructur","constructor"],["constructure","constructor"],["constructurs","constructors"],["construktor","constructor"],["construnctor","constructor"],["construrtors","constructors"],["construst","construct"],["construsts","constructs"],["construt","construct"],["construtced","constructed"],["construter","constructor"],["construters","constructors"],["constrution","construction"],["construtor","constructor"],["construtors","constructors"],["consttruct","construct"],["consttructer","constructor"],["consttructers","constructors"],["consttruction","construction"],["consttructor","constructor"],["consttructors","constructors"],["constuct","construct"],["constucted","constructed"],["constucter","constructor"],["constucters","constructors"],["constucting","constructing"],["constuction","construction"],["constuctions","constructions"],["constuctor","constructor"],["constuctors","constructors"],["constucts","constructs"],["consturct","construct"],["consturctor","constructor"],["consuder","consider"],["consuemr","consumer"],["consulant","consultant"],["consultunt","consultant"],["consumate","consummate"],["consumated","consummated"],["consumating","consummating"],["consummed","consumed"],["consummer","consumer"],["consummers","consumers"],["consumtion","consumption"],["contacentaion","concatenation"],["contagen","contagion"],["contaienr","container"],["contaier","container"],["contails","contains"],["contaiminate","contaminate"],["contaiminated","contaminated"],["contaiminating","contaminating"],["containa","contain"],["containees","containers"],["containerr","container"],["containg","containing"],["containging","containing"],["containig","containing"],["containings","containing"],["containining","containing"],["containint","containing"],["containn","contain"],["containner","container"],["containners","containers"],["containns","contains"],["containr","container"],["containrs","containers"],["containted","contained"],["containter","container"],["containters","containers"],["containting","containing"],["containts","contains"],["containuations","continuations"],["contais","contains"],["contaisn","contains"],["contaiun","contain"],["contamporaries","contemporaries"],["contamporary","contemporary"],["contan","contain"],["contaned","contained"],["contanined","contained"],["contaning","containing"],["contanins","contains"],["contans","contains"],["contary","contrary"],["contatenated","concatenated"],["contatining","containing"],["contein","contain"],["conteined","contained"],["conteining","containing"],["conteins","contains"],["contempoary","contemporary"],["contemporaneus","contemporaneous"],["contempory","contemporary"],["conten","contain"],["contence","contents"],["contendor","contender"],["contener","container"],["conteners","containers"],["contenht","content"],["content-negatiotiation","content-negotiation"],["content-negoatiation","content-negotiation"],["content-negoation","content-negotiation"],["content-negociation","content-negotiation"],["content-negogtiation","content-negotiation"],["content-negoitation","content-negotiation"],["content-negoptionsotiation","content-negotiation"],["content-negosiation","content-negotiation"],["content-negotaiation","content-negotiation"],["content-negotaition","content-negotiation"],["content-negotatiation","content-negotiation"],["content-negotation","content-negotiation"],["content-negothiation","content-negotiation"],["content-negotication","content-negotiation"],["content-negotioation","content-negotiation"],["content-negotion","content-negotiation"],["content-negotionation","content-negotiation"],["content-negotiotation","content-negotiation"],["content-negotitaion","content-negotiation"],["content-negotitation","content-negotiation"],["content-negotition","content-negotiation"],["content-negoziation","content-negotiation"],["contentended","contended"],["contentn","content"],["contentss","contents"],["contermporaneous","contemporaneous"],["conterpart","counterpart"],["conterparts","counterparts"],["contersink","countersink"],["contex","context"],["contexta","context"],["contexual","contextual"],["contiains","contains"],["contian","contain"],["contianed","contained"],["contianer","container"],["contianers","containers"],["contianing","containing"],["contians","contains"],["contibute","contribute"],["contibuted","contributed"],["contibutes","contributes"],["contibutor","contributor"],["contigent","contingent"],["contigious","contiguous"],["contigiously","contiguously"],["contignuous","contiguous"],["contigous","contiguous"],["contiguious","contiguous"],["contiguities","continuities"],["contiguos","contiguous"],["contiguous-non","non-contiguous"],["continaing","containing"],["contination","continuation"],["contined","continued"],["continential","continental"],["continging","containing"],["contingous","contiguous"],["continguous","contiguous"],["continious","continuous"],["continiously","continuously"],["continoue","continue"],["continouos","continuous"],["continous","continuous"],["continously","continuously"],["continueing","continuing"],["continuely","continually"],["continuem","continuum"],["continuos","continuous"],["continuosly","continuously"],["continure","continue"],["continusly","continuously"],["continuting","continuing"],["contious","continuous"],["contiously","continuously"],["contiuation","continuation"],["contiue","continue"],["contiuguous","contiguous"],["contiuing","continuing"],["contniue","continue"],["contniued","continued"],["contniues","continues"],["contnt","content"],["contol","control"],["contoler","controller"],["contoller","controller"],["contollers","controllers"],["contolls","controls"],["contols","controls"],["contongency","contingency"],["contorl","control"],["contorled","controlled"],["contorls","controls"],["contoroller","controller"],["contraciction","contradiction"],["contracictions","contradictions"],["contracition","contradiction"],["contracitions","contradictions"],["contracter","contractor"],["contracters","contractors"],["contradically","contradictory"],["contradictary","contradictory"],["contrain","constrain"],["contrainers","containers"],["contraining","constraining"],["contraint","constraint"],["contrainted","constrained"],["contraints","constraints"],["contraitns","constraints"],["contraveining","contravening"],["contravercial","controversial"],["contraversy","controversy"],["contrbution","contribution"],["contribte","contribute"],["contribted","contributed"],["contribtes","contributes"],["contributer","contributor"],["contributers","contributors"],["contries","countries"],["contrinution","contribution"],["contrinutions","contributions"],["contritutions","contributions"],["contriubte","contribute"],["contriubted","contributed"],["contriubtes","contributes"],["contriubting","contributing"],["contriubtion","contribution"],["contriubtions","contributions"],["contrl","control"],["contrller","controller"],["contro","control"],["controlable","controllable"],["controled","controlled"],["controlelrs","controllers"],["controler","controller"],["controlers","controllers"],["controling","controlling"],["controll","control"],["controllerd","controlled"],["controllled","controlled"],["controlller","controller"],["controlllers","controllers"],["controllling","controlling"],["controllor","controller"],["controlls","controls"],["contronl","control"],["contronls","controls"],["controoler","controller"],["controvercial","controversial"],["controvercy","controversy"],["controveries","controversies"],["controversal","controversial"],["controversey","controversy"],["controversials","controversial"],["controvertial","controversial"],["controvery","controversy"],["contrrol","control"],["contrrols","controls"],["contrst","contrast"],["contrsted","contrasted"],["contrsting","contrasting"],["contrsts","contrasts"],["contrtoller","controller"],["contruct","construct"],["contructed","constructed"],["contructing","constructing"],["contruction","construction"],["contructions","constructions"],["contructor","constructor"],["contructors","constructors"],["contructs","constructs"],["contry","country"],["contryie","countryie"],["contsruction","construction"],["contsructor","constructor"],["contstant","constant"],["contstants","constants"],["contstraint","constraint"],["contstructing","constructing"],["contstruction","construction"],["contstructor","constructor"],["contstructors","constructors"],["contur","contour"],["contzains","contains"],["conuntry","country"],["conusmer","consumer"],["convaless","convalesce"],["convax","convex"],["convaxiity","convexity"],["convaxly","convexly"],["convaxness","convexness"],["conveinence","convenience"],["conveinences","conveniences"],["conveinent","convenient"],["conveinience","convenience"],["conveinient","convenient"],["convenant","covenant"],["conveneince","convenience"],["conveniance","convenience"],["conveniant","convenient"],["conveniantly","conveniently"],["convenince","convenience"],["conveninent","convenient"],["convense","convince"],["convential","conventional"],["conventient","convenient"],["convenvient","convenient"],["conver","convert"],["convereted","converted"],["convergance","convergence"],["converion","conversion"],["converions","conversions"],["converison","conversion"],["converitble","convertible"],["conversly","conversely"],["conversoin","conversion"],["converson","conversion"],["conversons","conversions"],["converssion","conversion"],["converst","convert"],["convertable","convertible"],["convertables","convertibles"],["convertet","converted"],["convertion","conversion"],["convertions","conversions"],["convery","convert"],["convesion","conversion"],["convesions","conversions"],["convet","convert"],["conveted","converted"],["conveter","converter"],["conveters","converters"],["conveting","converting"],["convetion","convention"],["convetions","conventions"],["convets","converts"],["conveyer","conveyor"],["conviced","convinced"],["conviencece","convenience"],["convienence","convenience"],["convienent","convenient"],["convienience","convenience"],["convienient","convenient"],["convieniently","conveniently"],["conviently","conveniently"],["conviguration","configuration"],["convigure","configure"],["convination","combination"],["convine","combine"],["convineance","convenience"],["convineances","conveniences"],["convineient","convenient"],["convinence","convenience"],["convinences","conveniences"],["convinent","convenient"],["convinently","conveniently"],["conviniance","convenience"],["conviniances","conveniences"],["convinience","convenience"],["conviniences","conveniences"],["conviniency","convenience"],["conviniencys","conveniences"],["convinient","convenient"],["conviniently","conveniently"],["convining","combining"],["convinve","convince"],["convinved","convinced"],["convinving","convincing"],["convirted","converted"],["convirting","converting"],["convised","convinced"],["convoultion","convolution"],["convoultions","convolutions"],["convovle","convolve"],["convovled","convolved"],["convovling","convolving"],["convrt","convert"],["convserion","conversion"],["conyak","cognac"],["coodinate","coordinate"],["coodinates","coordinates"],["coodrinate","coordinate"],["coodrinates","coordinates"],["cooefficient","coefficient"],["cooefficients","coefficients"],["cooger","cougar"],["cookoo","cuckoo"],["coolent","coolant"],["coolot","culotte"],["coolots","culottes"],["coomand","command"],["coommand","command"],["coomon","common"],["coonstantly","constantly"],["coonstructed","constructed"],["cooordinate","coordinate"],["cooordinates","coordinates"],["coopearte","cooperate"],["coopeartes","cooperates"],["cooporative","cooperative"],["coordanate","coordinate"],["coordanates","coordinates"],["coordenate","coordinate"],["coordenates","coordinates"],["coordiante","coordinate"],["coordiantes","coordinates"],["coordiantion","coordination"],["coordiate","coordinate"],["coordiates","coordinates"],["coordiinates","coordinates"],["coordinatess","coordinates"],["coordinats","coordinates"],["coordindate","coordinate"],["coordindates","coordinates"],["coordine","coordinate"],["coordines","coordinates"],["coording","according"],["coordingate","coordinate"],["coordingates","coordinates"],["coordingly","accordingly"],["coordiniate","coordinate"],["coordiniates","coordinates"],["coordinite","coordinate"],["coordinites","coordinates"],["coordinnate","coordinate"],["coordinnates","coordinates"],["coordintae","coordinate"],["coordintaes","coordinates"],["coordintate","coordinate"],["coordintates","coordinates"],["coordinte","coordinate"],["coordintes","coordinates"],["coorditate","coordinate"],["coordonate","coordinate"],["coordonated","coordinated"],["coordonates","coordinates"],["coorespond","correspond"],["cooresponded","corresponded"],["coorespondend","correspondent"],["coorespondent","correspondent"],["cooresponding","corresponding"],["cooresponds","corresponds"],["cooridate","coordinate"],["cooridated","coordinated"],["cooridates","coordinates"],["cooridnate","coordinate"],["cooridnated","coordinated"],["cooridnates","coordinates"],["coorinate","coordinate"],["coorinates","coordinates"],["coorination","coordination"],["cootdinate","coordinate"],["cootdinated","coordinated"],["cootdinates","coordinates"],["cootdinating","coordinating"],["cootdination","coordination"],["copeing","copying"],["copiese","copies"],["copiing","copying"],["copiler","compiler"],["coplete","complete"],["copleted","completed"],["copletely","completely"],["copletes","completes"],["copmetitors","competitors"],["copmilation","compilation"],["copmonent","component"],["copmutations","computations"],["copntroller","controller"],["coponent","component"],["copoying","copying"],["coppermines","coppermine"],["coppied","copied"],["copright","copyright"],["coprighted","copyrighted"],["coprights","copyrights"],["coproccessor","coprocessor"],["coproccessors","coprocessors"],["coprocesor","coprocessor"],["coprorate","corporate"],["coprorates","corporates"],["coproration","corporation"],["coprorations","corporations"],["coprright","copyright"],["coprrighted","copyrighted"],["coprrights","copyrights"],["copstruction","construction"],["copuright","copyright"],["copurighted","copyrighted"],["copurights","copyrights"],["copute","compute"],["coputed","computed"],["coputer","computer"],["coputes","computes"],["copver","cover"],["copyed","copied"],["copyeight","copyright"],["copyeighted","copyrighted"],["copyeights","copyrights"],["copyied","copied"],["copyrigth","copyright"],["copyrigthed","copyrighted"],["copyrigths","copyrights"],["copyritght","copyright"],["copyritghted","copyrighted"],["copyritghts","copyrights"],["copyrught","copyright"],["copyrughted","copyrighted"],["copyrughts","copyrights"],["copys","copies"],["copytight","copyright"],["copytighted","copyrighted"],["copytights","copyrights"],["copyting","copying"],["corale","chorale"],["cordinate","coordinate"],["cordinates","coordinates"],["cordoroy","corduroy"],["cordump","coredump"],["corecct","correct"],["corecctly","correctly"],["corect","correct"],["corected","corrected"],["corecting","correcting"],["corection","correction"],["corectly","correctly"],["corectness","correctness"],["corects","corrects"],["coreespond","correspond"],["coregated","corrugated"],["corelate","correlate"],["corelated","correlated"],["corelates","correlates"],["corellation","correlation"],["coreolis","Coriolis"],["corerct","correct"],["corerctly","correctly"],["corespond","correspond"],["coresponded","corresponded"],["corespondence","correspondence"],["coresponding","corresponding"],["coresponds","corresponds"],["corfirms","confirms"],["coridal","cordial"],["corispond","correspond"],["cornmitted","committed"],["corordinate","coordinate"],["corordinates","coordinates"],["corordination","coordination"],["corosbonding","corresponding"],["corosion","corrosion"],["corospond","correspond"],["corospondance","correspondence"],["corosponded","corresponded"],["corospondence","correspondence"],["corosponding","corresponding"],["corosponds","corresponds"],["corousel","carousel"],["corparate","corporate"],["corperations","corporations"],["corpration","corporation"],["corproration","corporation"],["corprorations","corporations"],["corrcect","correct"],["corrct","correct"],["corrdinate","coordinate"],["corrdinated","coordinated"],["corrdinates","coordinates"],["corrdinating","coordinating"],["corrdination","coordination"],["corrdinator","coordinator"],["corrdinators","coordinators"],["correclty","correctly"],["correcly","correctly"],["correcpond","correspond"],["correcponded","corresponded"],["correcponding","corresponding"],["correcponds","corresponds"],["correcs","corrects"],["correctably","correctable"],["correctely","correctly"],["correcters","correctors"],["correctlly","correctly"],["correctnes","correctness"],["correcton","correction"],["correctons","corrections"],["correcttness","correctness"],["correctures","correctors"],["correcty","correctly"],["correctyly","correctly"],["correcxt","correct"],["correcy","correct"],["correect","correct"],["correectly","correctly"],["correespond","correspond"],["correesponded","corresponded"],["correespondence","correspondence"],["correespondences","correspondences"],["correespondent","correspondent"],["correesponding","corresponding"],["correesponds","corresponds"],["correlasion","correlation"],["correlatd","correlated"],["correllate","correlate"],["correllation","correlation"],["correllations","correlations"],["correnspond","correspond"],["corrensponded","corresponded"],["correnspondence","correspondence"],["correnspondences","correspondences"],["correnspondent","correspondent"],["correnspondents","correspondents"],["corrensponding","corresponding"],["corrensponds","corresponds"],["correograph","choreograph"],["correponding","corresponding"],["correponds","corresponds"],["correponsing","corresponding"],["correposding","corresponding"],["correpsondence","correspondence"],["correpsonding","corresponding"],["corresond","correspond"],["corresonded","corresponded"],["corresonding","corresponding"],["corresonds","corresponds"],["correspdoning","corresponding"],["correspending","corresponding"],["correspinding","corresponding"],["correspnding","corresponding"],["correspodence","correspondence"],["correspoding","corresponding"],["correspoinding","corresponding"],["correspomd","correspond"],["correspomded","corresponded"],["correspomdence","correspondence"],["correspomdences","correspondences"],["correspomdent","correspondent"],["correspomdents","correspondents"],["correspomding","corresponding"],["correspomds","corresponds"],["correspon","correspond"],["correspondance","correspondence"],["correspondances","correspondences"],["correspondant","correspondent"],["correspondants","correspondents"],["correspondd","corresponded"],["correspondend","correspondent"],["correspondes","corresponds"],["correspondg","corresponding"],["correspondig","corresponding"],["corresponed","corresponded"],["corresponging","corresponding"],["corresponing","corresponding"],["correspons","corresponds"],["corresponsding","corresponding"],["corresponsing","corresponding"],["correspont","correspond"],["correspontence","correspondence"],["correspontences","correspondences"],["correspontend","correspondent"],["correspontent","correspondent"],["correspontents","correspondents"],["corresponting","corresponding"],["corresponts","corresponds"],["correspoond","correspond"],["corressponding","corresponding"],["corret","correct"],["correted","corrected"],["corretion","correction"],["corretly","correctly"],["corridoor","corridor"],["corridoors","corridors"],["corrispond","correspond"],["corrispondant","correspondent"],["corrispondants","correspondents"],["corrisponded","corresponded"],["corrispondence","correspondence"],["corrispondences","correspondences"],["corrisponding","corresponding"],["corrisponds","corresponds"],["corrleation","correlation"],["corrleations","correlations"],["corrolated","correlated"],["corrolates","correlates"],["corrolation","correlation"],["corrolations","correlations"],["corrrect","correct"],["corrrected","corrected"],["corrrecting","correcting"],["corrrection","correction"],["corrrections","corrections"],["corrrectly","correctly"],["corrrectness","correctness"],["corrrects","corrects"],["corrresponding","corresponding"],["corrresponds","corresponds"],["corrrupt","corrupt"],["corrrupted","corrupted"],["corrruption","corruption"],["corrseponding","corresponding"],["corrspond","correspond"],["corrsponded","corresponded"],["corrsponding","corresponding"],["corrsponds","corresponds"],["corrupeted","corrupted"],["corruptable","corruptible"],["corruptiuon","corruption"],["cors-site","cross-site"],["cors-sute","cross-site"],["corse","course"],["corsor","cursor"],["corss-compiling","cross-compiling"],["corss-site","cross-site"],["corss-sute","cross-site"],["corsshair","crosshair"],["corsshairs","crosshairs"],["corssite","cross-site"],["corsssite","cross-site"],["corsssute","cross-site"],["corssute","cross-site"],["corupt","corrupt"],["corupted","corrupted"],["coruption","corruption"],["coruptions","corruptions"],["corupts","corrupts"],["corus","chorus"],["corvering","covering"],["cosed","closed"],["cosnsrain","constrain"],["cosnsrained","constrained"],["cosntitutive","constitutive"],["cosntrain","constrain"],["cosntrained","constrained"],["cosntraining","constraining"],["cosntraint","constraint"],["cosntraints","constraints"],["cosntructed","constructed"],["cosntructor","constructor"],["cosnumer","consumer"],["cosolation","consolation"],["cosole","console"],["cosoled","consoled"],["cosoles","consoles"],["cosoling","consoling"],["costant","constant"],["costexpr","constexpr"],["costitution","constitution"],["costruct","construct"],["costructer","constructor"],["costructor","constructor"],["costumary","customary"],["costumize","customize"],["cotain","contain"],["cotained","contained"],["cotainer","container"],["cotains","contains"],["cotave","octave"],["cotaves","octaves"],["cotnain","contain"],["cotnained","contained"],["cotnainer","container"],["cotnainers","containers"],["cotnaining","containing"],["cotnains","contains"],["cotranser","cotransfer"],["cotrasferred","cotransferred"],["cotrasfers","cotransfers"],["cotrol","control"],["cotroll","control"],["cotrolled","controlled"],["cotroller","controller"],["cotrolles","controls"],["cotrolling","controlling"],["cotrolls","controls"],["cotrols","controls"],["cotten","cotton"],["coucil","council"],["coud","could"],["coudn't","couldn't"],["coudnt","couldn't"],["coul","could"],["could'nt","couldn't"],["could't","couldn't"],["couldent","couldn't"],["coulden`t","couldn't"],["couldn;t","couldn't"],["couldnt'","couldn't"],["couldnt","couldn't"],["couldnt;","couldn't"],["coulmns","columns"],["couln't","couldn't"],["couloumb","coulomb"],["coult","could"],["coummunities","communities"],["coummunity","community"],["coumpound","compound"],["coumpounds","compounds"],["counded","counted"],["counding","counting"],["coundition","condition"],["counds","counts"],["counld","could"],["counpound","compound"],["counpounds","compounds"],["countain","contain"],["countainer","container"],["countainers","containers"],["countains","contains"],["counterfit","counterfeit"],["counterfits","counterfeits"],["counterintuive","counter intuitive"],["countermeausure","countermeasure"],["countermeausures","countermeasures"],["counterpar","counterpart"],["counterpoart","counterpart"],["counterpoarts","counterparts"],["countinue","continue"],["courtesey","courtesy"],["cousing","cousin"],["couted","counted"],["couter","counter"],["coutermeasuere","countermeasure"],["coutermeasueres","countermeasures"],["coutermeasure","countermeasure"],["coutermeasures","countermeasures"],["couterpart","counterpart"],["couting","counting"],["coutner","counter"],["coutners","counters"],["couuld","could"],["couuldn't","couldn't"],["covarage","coverage"],["covarages","coverages"],["covarege","coverage"],["covection","convection"],["covention","convention"],["coventions","conventions"],["coverd","covered"],["covere","cover"],["coveres","covers"],["covergence","convergence"],["coverred","covered"],["coversion","conversion"],["coversions","conversions"],["coverting","converting"],["covnersion","conversion"],["covnert","convert"],["covnerted","converted"],["covnerter","converter"],["covnerters","converters"],["covnertible","convertible"],["covnerting","converting"],["covnertor","converter"],["covnertors","converters"],["covnerts","converts"],["covriance","covariance"],["covriate","covariate"],["covriates","covariates"],["coyp","copy"],["coypright","copyright"],["coyprighted","copyrighted"],["coyprights","copyrights"],["coyright","copyright"],["coyrighted","copyrighted"],["coyrights","copyrights"],["cpacities","capacities"],["cpacity","capacity"],["cpation","caption"],["cpcheck","cppcheck"],["cpontent","content"],["cppp","cpp"],["cpuld","could"],["craced","graced"],["craceful","graceful"],["cracefully","gracefully"],["cracefulness","gracefulness"],["craceless","graceless"],["cracing","gracing"],["crahed","crashed"],["crahes","crashes"],["crahses","crashes"],["crashaes","crashes"],["crasheed","crashed"],["crashees","crashes"],["crashess","crashes"],["crashign","crashing"],["crashs","crashes"],["crationist","creationist"],["crationists","creationists"],["creaate","create"],["creadential","credential"],["creadentialed","credentialed"],["creadentials","credentials"],["creaed","created"],["creaeted","created"],["creasoat","creosote"],["creastor","creator"],["creatation","creation"],["createa","create"],["createable","creatable"],["createdd","created"],["createing","creating"],["createive","creative"],["creatning","creating"],["creatre","create"],["creatred","created"],["creats","creates"],["credate","created"],["credetial","credential"],["credetials","credentials"],["credidential","credential"],["credidentials","credentials"],["credintial","credential"],["credintials","credentials"],["credis","credits"],["credists","credits"],["creditted","credited"],["creedence","credence"],["cresent","crescent"],["cresits","credits"],["cretae","create"],["cretaed","created"],["cretaes","creates"],["cretaing","creating"],["cretate","create"],["cretated","created"],["cretates","creates"],["cretating","creating"],["cretator","creator"],["cretators","creators"],["creted","created"],["creteria","criteria"],["crewsant","croissant"],["cricital","critical"],["cricitally","critically"],["cricitals","criticals"],["crirical","critical"],["crirically","critically"],["criricals","criticals"],["critcal","critical"],["critcally","critically"],["critcals","criticals"],["critcial","critical"],["critcially","critically"],["critcials","criticals"],["criteak","critique"],["critera","criteria"],["critereon","criterion"],["criterias","criteria"],["criteriom","criterion"],["criticial","critical"],["criticially","critically"],["criticials","criticals"],["criticists","critics"],["critiera","criteria"],["critiical","critical"],["critiically","critically"],["critiicals","criticals"],["critisising","criticising"],["critisism","criticism"],["critisisms","criticisms"],["critized","criticized"],["critizing","criticizing"],["croch","crotch"],["crockadile","crocodile"],["crockodiles","crocodiles"],["cronological","chronological"],["cronologically","chronologically"],["croppped","cropped"],["cros","cross"],["cros-site","cross-site"],["cros-sute","cross-site"],["croshet","crochet"],["crosreference","cross-reference"],["crosreferenced","cross-referenced"],["crosreferences","cross-references"],["cross-commpilation","cross-compilation"],["cross-orgin","cross-origin"],["crossgne","crossgen"],["crossin","crossing"],["crossite","cross-site"],["crossreference","cross-reference"],["crossreferenced","cross-referenced"],["crossreferences","cross-references"],["crosssite","cross-site"],["crosssute","cross-site"],["crossute","cross-site"],["crowdsigna","crowdsignal"],["crowkay","croquet"],["crowm","crown"],["crrespond","correspond"],["crsytal","crystal"],["crsytalline","crystalline"],["crsytallisation","crystallisation"],["crsytallise","crystallise"],["crsytallization","crystallization"],["crsytallize","crystallize"],["crsytallographic","crystallographic"],["crsytals","crystals"],["crtical","critical"],["crtically","critically"],["crticals","criticals"],["crticised","criticised"],["crucialy","crucially"],["crucifiction","crucifixion"],["cruncing","crunching"],["crurrent","current"],["crusies","cruises"],["crusor","cursor"],["crutial","crucial"],["crutially","crucially"],["crutialy","crucially"],["crypted","encrypted"],["cryptocraphic","cryptographic"],["cryptograpic","cryptographic"],["crystalisation","crystallisation"],["cryto","crypto"],["crytpo","crypto"],["csae","case"],["csaes","cases"],["cteate","create"],["cteateing","creating"],["cteater","creator"],["cteates","creates"],["cteating","creating"],["cteation","creation"],["cteations","creations"],["cteator","creator"],["ctificate","certificate"],["ctificated","certificated"],["ctificates","certificates"],["ctification","certification"],["cuasality","causality"],["cuasation","causation"],["cuase","cause"],["cuased","caused"],["cuases","causes"],["cuasing","causing"],["cuestion","question"],["cuestioned","questioned"],["cuestions","questions"],["cuileoga","cuileog"],["culiminating","culminating"],["cumlative","cumulative"],["cummand","command"],["cummulated","cumulated"],["cummulative","cumulative"],["cummunicate","communicate"],["cumulatative","cumulative"],["cumulattive","cumulative"],["cuncurency","concurrency"],["curch","church"],["curcuit","circuit"],["curcuits","circuits"],["curcumstance","circumstance"],["curcumstances","circumstances"],["cureful","careful"],["curefully","carefully"],["curefuly","carefully"],["curent","current"],["curentfilter","currentfilter"],["curently","currently"],["curernt","current"],["curerntly","currently"],["curev","curve"],["curevd","curved"],["curevs","curves"],["curiousities","curiosities"],["curiousity's","curiosity's"],["curiousity","curiosity"],["curnilinear","curvilinear"],["currecnies","currencies"],["currecny","currency"],["currected","corrected"],["currecting","correcting"],["curreent","current"],["curreents","currents"],["curremt","current"],["curremtly","currently"],["curremts","currents"],["curren","current"],["currenlty","currently"],["currenly","currently"],["currennt","current"],["currenntly","currently"],["currennts","currents"],["currentl","currently"],["currentlly","currently"],["currentry","currently"],["currenty","currently"],["curresponding","corresponding"],["curretly","currently"],["curretnly","currently"],["curriculem","curriculum"],["currious","curious"],["currnet","current"],["currnt","current"],["currntly","currently"],["curros","cursor"],["currrency","currency"],["currrent","current"],["currrently","currently"],["curruent","current"],["currupt","corrupt"],["curruptable","corruptible"],["currupted","corrupted"],["curruptible","corruptible"],["curruption","corruption"],["curruptions","corruptions"],["currupts","corrupts"],["currus","cirrus"],["curser","cursor"],["cursot","cursor"],["cursro","cursor"],["curvatrue","curvature"],["curvatrues","curvatures"],["curvelinear","curvilinear"],["cusstom","custom"],["cusstomer","customer"],["cusstomers","customers"],["cusstomizable","customizable"],["cusstomization","customization"],["cusstomize","customize"],["cusstomized","customized"],["cusstoms","customs"],["custoisable","customisable"],["custoisation","customisation"],["custoise","customise"],["custoised","customised"],["custoiser","customiser"],["custoisers","customisers"],["custoising","customising"],["custoizable","customizable"],["custoization","customization"],["custoize","customize"],["custoized","customized"],["custoizer","customizer"],["custoizers","customizers"],["custoizing","customizing"],["customable","customizable"],["customie","customize"],["customied","customized"],["customisaton","customisation"],["customisatons","customisations"],["customizaton","customization"],["customizatons","customizations"],["customizeble","customizable"],["customn","custom"],["customns","customs"],["customsied","customised"],["customzied","customized"],["custon","custom"],["custonary","customary"],["custoner","customer"],["custoners","customers"],["custonisable","customisable"],["custonisation","customisation"],["custonise","customise"],["custonised","customised"],["custoniser","customiser"],["custonisers","customisers"],["custonising","customising"],["custonizable","customizable"],["custonization","customization"],["custonize","customize"],["custonized","customized"],["custonizer","customizer"],["custonizers","customizers"],["custonizing","customizing"],["custons","customs"],["custormer","customer"],["custum","custom"],["custumer","customer"],["custumised","customised"],["custumized","customized"],["custums","customs"],["cutom","custom"],["cutted","cut"],["cuurently","currently"],["cuurrent","current"],["cuurrents","currents"],["cvignore","cvsignore"],["cxan","cyan"],["cycic","cyclic"],["cyclinder","cylinder"],["cyclinders","cylinders"],["cycular","circular"],["cygin","cygwin"],["cylcic","cyclic"],["cylcical","cyclical"],["cyle","cycle"],["cylic","cyclic"],["cylider","cylinder"],["cyliders","cylinders"],["cylindical","cylindrical"],["cylindre","cylinder"],["cyllinder","cylinder"],["cyllinders","cylinders"],["cylnder","cylinder"],["cylnders","cylinders"],["cylynders","cylinders"],["cymk","CMYK"],["cyphersuite","ciphersuite"],["cyphersuites","ciphersuites"],["cyphertext","ciphertext"],["cyphertexts","ciphertexts"],["cyprt","crypt"],["cyprtic","cryptic"],["cyprto","crypto"],["Cyrllic","Cyrillic"],["cyrpto","crypto"],["cyrrent","current"],["cyrrilic","Cyrillic"],["cyrstal","crystal"],["cyrstalline","crystalline"],["cyrstallisation","crystallisation"],["cyrstallise","crystallise"],["cyrstallization","crystallization"],["cyrstallize","crystallize"],["cyrstals","crystals"],["cyrto","crypto"],["cywgin","Cygwin"],["daa","data"],["dabase","database"],["daclaration","declaration"],["dacquiri","daiquiri"],["dadlock","deadlock"],["daed","dead"],["dafault","default"],["dafaults","defaults"],["dafaut","default"],["dafualt","default"],["dafualted","defaulted"],["dafualts","defaults"],["daita","data"],["dake","take"],["dalmation","Dalmatian"],["dalta","delta"],["damamge","damage"],["damamged","damaged"],["damamges","damages"],["damamging","damaging"],["damange","damage"],["damanged","damaged"],["damanges","damages"],["damanging","damaging"],["damenor","demeanor"],["damge","damage"],["dammage","damage"],["dammages","damages"],["danceing","dancing"],["dandidates","candidates"],["daplicating","duplicating"],["Dardenelles","Dardanelles"],["dasboard","dashboard"],["dasboards","dashboards"],["dasdot","dashdot"],["dashbaord","dashboard"],["dashbaords","dashboards"],["dashboad","dashboard"],["dashboads","dashboards"],["dashboar","dashboard"],["dashboars","dashboards"],["dashbord","dashboard"],["dashbords","dashboards"],["dashs","dashes"],["data-strcuture","data-structure"],["data-strcutures","data-structures"],["databaase","database"],["databaases","databases"],["databae","database"],["databaes","database"],["databaeses","databases"],["databas","database"],["databsae","database"],["databsaes","databases"],["databse","database"],["databses","databases"],["datadsir","datadir"],["dataet","dataset"],["dataets","datasets"],["datas","data"],["datastrcuture","datastructure"],["datastrcutures","datastructures"],["datastrem","datastream"],["datatbase","database"],["datatbases","databases"],["datatgram","datagram"],["datatgrams","datagrams"],["datatore","datastore"],["datatores","datastores"],["datatpe","datatype"],["datatpes","datatypes"],["datatpye","datatype"],["datatpyes","datatypes"],["datatset","dataset"],["datatsets","datasets"],["datatstructure","datastructure"],["datatstructures","datastructures"],["datattype","datatype"],["datattypes","datatypes"],["datatye","datatype"],["datatyep","datatype"],["datatyepe","datatype"],["datatyepes","datatypes"],["datatyeps","datatypes"],["datatyes","datatypes"],["datatyoe","datatype"],["datatyoes","datatypes"],["datatytpe","datatype"],["datatytpes","datatypes"],["dataum","datum"],["datbase","database"],["datbases","databases"],["datecreatedd","datecreated"],["datection","detection"],["datections","detections"],["datee","date"],["dateset","dataset"],["datesets","datasets"],["datset","dataset"],["datsets","datasets"],["daugher","daughter"],["daugther","daughter"],["daugthers","daughters"],["dbeian","Debian"],["DCHP","DHCP"],["dcok","dock"],["dcoked","docked"],["dcoker","docker"],["dcoking","docking"],["dcoks","docks"],["dcument","document"],["dcumented","documented"],["dcumenting","documenting"],["dcuments","documents"],["ddelete","delete"],["de-actived","deactivated"],["de-duplacate","de-duplicate"],["de-duplacated","de-duplicated"],["de-duplacates","de-duplicates"],["de-duplacation","de-duplication"],["de-duplacte","de-duplicate"],["de-duplacted","de-duplicated"],["de-duplactes","de-duplicates"],["de-duplaction","de-duplication"],["de-duplaicate","de-duplicate"],["de-duplaicated","de-duplicated"],["de-duplaicates","de-duplicates"],["de-duplaication","de-duplication"],["de-duplate","de-duplicate"],["de-duplated","de-duplicated"],["de-duplates","de-duplicates"],["de-duplation","de-duplication"],["de-fualt","default"],["de-fualts","defaults"],["de-registeres","de-registers"],["deacitivation","deactivation"],["deacitvated","deactivated"],["deactivatiion","deactivation"],["deactive","deactivate"],["deactiveate","deactivate"],["deactived","deactivated"],["deactivete","deactivate"],["deactiveted","deactivated"],["deactivetes","deactivates"],["deactiviate","deactivate"],["deactiviates","deactivates"],["deactiving","deactivating"],["deaemon","daemon"],["deafault","default"],["deafualt","default"],["deafualts","defaults"],["deafult","default"],["deafulted","defaulted"],["deafults","defaults"],["deail","deal"],["deailing","dealing"],["deaktivate","deactivate"],["deaktivated","deactivated"],["dealed","dealt"],["dealilng","dealing"],["dealloacte","deallocate"],["deallocaed","deallocated"],["dealocate","deallocate"],["dealte","delete"],["deamand","demand"],["deamanding","demanding"],["deamands","demands"],["deambigate","disambiguate"],["deambigates","disambiguates"],["deambigation","disambiguation"],["deambiguage","disambiguate"],["deambiguages","disambiguates"],["deambiguate","disambiguate"],["deambiguates","disambiguates"],["deambiguation","disambiguation"],["deamiguate","disambiguate"],["deamiguates","disambiguates"],["deamiguation","disambiguation"],["deamon","daemon"],["deamonisation","daemonisation"],["deamonise","daemonise"],["deamonised","daemonised"],["deamonises","daemonises"],["deamonising","daemonising"],["deamonization","daemonization"],["deamonize","daemonize"],["deamonized","daemonized"],["deamonizes","daemonizes"],["deamonizing","daemonizing"],["deamons","daemons"],["deassering","deasserting"],["deatch","detach"],["deatched","detached"],["deatches","detaches"],["deatching","detaching"],["deatil","detail"],["deatiled","detailed"],["deatiling","detailing"],["deatils","details"],["deativate","deactivate"],["deativated","deactivated"],["deativates","deactivates"],["deativation","deactivation"],["deattach","detach"],["deattached","detached"],["deattaches","detaches"],["deattaching","detaching"],["deattachment","detachment"],["deault","default"],["deaults","defaults"],["deauthenication","deauthentication"],["debain","Debian"],["debateable","debatable"],["debbuger","debugger"],["debehlper","debhelper"],["debgu","debug"],["debgug","debug"],["debguging","debugging"],["debhlper","debhelper"],["debia","Debian"],["debiab","Debian"],["debians","Debian's"],["debina","Debian"],["debloking","deblocking"],["debnia","Debian"],["debth","depth"],["debths","depths"],["debudg","debug"],["debudgged","debugged"],["debudgger","debugger"],["debudgging","debugging"],["debudgs","debugs"],["debufs","debugfs"],["debugee","debuggee"],["debuger","debugger"],["debugg","debug"],["debuggg","debug"],["debuggge","debuggee"],["debuggged","debugged"],["debugggee","debuggee"],["debuggger","debugger"],["debuggging","debugging"],["debugggs","debugs"],["debugginf","debugging"],["debuggs","debugs"],["debuging","debugging"],["decaffinated","decaffeinated"],["decalare","declare"],["decalared","declared"],["decalares","declares"],["decalaring","declaring"],["decalration","declaration"],["decalrations","declarations"],["decalratiosn","declarations"],["decapsulting","decapsulating"],["decathalon","decathlon"],["deccelerate","decelerate"],["deccelerated","decelerated"],["deccelerates","decelerates"],["deccelerating","decelerating"],["decceleration","deceleration"],["deccrement","decrement"],["deccremented","decremented"],["deccrements","decrements"],["Decemer","December"],["decend","descend"],["decendant","descendant"],["decendants","descendants"],["decendentant","descendant"],["decendentants","descendants"],["decending","descending"],["deciaml","decimal"],["deciamls","decimals"],["decices","decides"],["decidate","dedicate"],["decidated","dedicated"],["decidates","dedicates"],["decideable","decidable"],["decidely","decidedly"],["decie","decide"],["deciedd","decided"],["deciede","decide"],["decieded","decided"],["deciedes","decides"],["decieding","deciding"],["decieds","decides"],["deciemal","decimal"],["decies","decides"],["decieve","deceive"],["decieved","deceived"],["decieves","deceives"],["decieving","deceiving"],["decimials","decimals"],["decison","decision"],["decission","decision"],["declar","declare"],["declaraion","declaration"],["declaraions","declarations"],["declarated","declared"],["declaratinos","declarations"],["declaratiom","declaration"],["declaraton","declaration"],["declaratons","declarations"],["declarayion","declaration"],["declarayions","declarations"],["declard","declared"],["declarded","declared"],["declaritive","declarative"],["declaritively","declaratively"],["declarnig","declaring"],["declartated","declared"],["declartation","declaration"],["declartations","declarations"],["declartative","declarative"],["declartator","declarator"],["declartators","declarators"],["declarted","declared"],["declartion","declaration"],["declartions","declarations"],["declartiuon","declaration"],["declartiuons","declarations"],["declartiuve","declarative"],["declartive","declarative"],["declartor","declarator"],["declartors","declarators"],["declataions","declarations"],["declatation","declaration"],["declatations","declarations"],["declated","declared"],["declation","declaration"],["declations","declarations"],["declatory","declaratory"],["decleration","declaration"],["declerations","declarations"],["declration","declaration"],["decocde","decode"],["decocded","decoded"],["decocder","decoder"],["decocders","decoders"],["decocdes","decodes"],["decocding","decoding"],["decocdings","decodings"],["decodded","decoded"],["decodding","decoding"],["decodeing","decoding"],["decomissioned","decommissioned"],["decomissioning","decommissioning"],["decommissionn","decommission"],["decommissionned","decommissioned"],["decommpress","decompress"],["decomoposition","decomposition"],["decomposion","decomposition"],["decomposit","decompose"],["decomposited","decomposed"],["decompositing","decomposing"],["decompositon","decomposition"],["decompositons","decompositions"],["decomposits","decomposes"],["decompostion","decomposition"],["decompostition","decomposition"],["decompres","decompress"],["decompresed","decompressed"],["decompreser","decompressor"],["decompreses","decompresses"],["decompresing","decompressing"],["decompresion","decompression"],["decompresor","decompressor"],["decompressd","decompressed"],["decompresser","decompressor"],["decompresssion","decompression"],["decompse","decompose"],["decond","decode"],["deconde","decode"],["deconded","decoded"],["deconder","decoder"],["deconders","decoders"],["decondes","decodes"],["deconding","decoding"],["decondings","decodings"],["deconstract","deconstruct"],["deconstracted","deconstructed"],["deconstrcutor","deconstructor"],["decopose","decompose"],["decoposes","decomposes"],["decoraded","decorated"],["decoratrion","decoration"],["decorde","decode"],["decorded","decoded"],["decorder","decoder"],["decorders","decoders"],["decordes","decodes"],["decording","decoding"],["decordings","decodings"],["decorrellation","decorrelation"],["decortator","decorator"],["decortive","decorative"],["decose","decode"],["decosed","decoded"],["decoser","decoder"],["decosers","decoders"],["decoses","decodes"],["decosing","decoding"],["decosings","decodings"],["decration","decoration"],["decreace","decrease"],["decreas","decrease"],["decremenet","decrement"],["decremenetd","decremented"],["decremeneted","decremented"],["decrese","decrease"],["decress","decrees"],["decribe","describe"],["decribed","described"],["decribes","describes"],["decribing","describing"],["decriptive","descriptive"],["decriptor","descriptor"],["decriptors","descriptors"],["decrmenet","decrement"],["decrmenetd","decremented"],["decrmeneted","decremented"],["decrment","decrement"],["decrmented","decremented"],["decrmenting","decrementing"],["decrments","decrements"],["decroation","decoration"],["decrpt","decrypt"],["decrpted","decrypted"],["decrption","decryption"],["decrytion","decryption"],["decscription","description"],["decsion","decision"],["decsions","decisions"],["decsiptors","descriptors"],["decsribed","described"],["decsriptor","descriptor"],["decsriptors","descriptors"],["decstiption","description"],["decstiptions","descriptions"],["dectect","detect"],["dectected","detected"],["dectecting","detecting"],["dectection","detection"],["dectections","detections"],["dectector","detector"],["dectivate","deactivate"],["decutable","deductible"],["decutables","deductibles"],["decypher","decipher"],["decyphered","deciphered"],["ded","dead"],["dedault","default"],["dedections","detections"],["dedented","indented"],["dedfined","defined"],["dedidate","dedicate"],["dedidated","dedicated"],["dedidates","dedicates"],["dedly","deadly"],["deductable","deductible"],["deductables","deductibles"],["deduplacate","deduplicate"],["deduplacated","deduplicated"],["deduplacates","deduplicates"],["deduplacation","deduplication"],["deduplacte","deduplicate"],["deduplacted","deduplicated"],["deduplactes","deduplicates"],["deduplaction","deduplication"],["deduplaicate","deduplicate"],["deduplaicated","deduplicated"],["deduplaicates","deduplicates"],["deduplaication","deduplication"],["deduplate","deduplicate"],["deduplated","deduplicated"],["deduplates","deduplicates"],["deduplation","deduplication"],["dedupliate","deduplicate"],["dedupliated","deduplicated"],["deecorator","decorator"],["deeep","deep"],["deelte","delete"],["deendencies","dependencies"],["deendency","dependency"],["defail","detail"],["defailt","default"],["defalt","default"],["defalts","defaults"],["defalut","default"],["defargkey","defragkey"],["defatult","default"],["defaukt","default"],["defaul","default"],["defaulat","default"],["defaulats","defaults"],["defauld","default"],["defaulds","defaults"],["defaule","default"],["defaules","defaults"],["defaulf","default"],["defaulfs","defaults"],["defaulg","default"],["defaulgs","defaults"],["defaulh","default"],["defaulhs","defaults"],["defauling","defaulting"],["defaulit","default"],["defaulits","defaults"],["defaulkt","default"],["defaulkts","defaults"],["defaull","default"],["defaulls","defaults"],["defaullt","default"],["defaullts","defaults"],["defaulr","default"],["defaulrs","defaults"],["defaulrt","default"],["defaulrts","defaults"],["defaultet","defaulted"],["defaulty","default"],["defauly","default"],["defaulys","defaults"],["defaut","default"],["defautl","default"],["defautled","defaulted"],["defautling","defaulting"],["defautls","defaults"],["defautlt","default"],["defautly","default"],["defauts","defaults"],["defautt","default"],["defautted","defaulted"],["defautting","defaulting"],["defautts","defaults"],["defeault","default"],["defeaulted","defaulted"],["defeaulting","defaulting"],["defeaults","defaults"],["defecit","deficit"],["defeine","define"],["defeines","defines"],["defenate","definite"],["defenately","definitely"],["defendent","defendant"],["defendents","defendants"],["defenitely","definitely"],["defenition","definition"],["defenitions","definitions"],["defenitly","definitely"],["deferal","deferral"],["deferals","deferrals"],["deferance","deference"],["defered","deferred"],["deferencing","dereferencing"],["deferentiating","differentiating"],["defering","deferring"],["deferreal","deferral"],["deffensively","defensively"],["defferently","differently"],["deffering","differing"],["defferred","deferred"],["deffine","define"],["deffined","defined"],["deffinition","definition"],["deffinitively","definitively"],["deffirent","different"],["defiantely","defiantly"],["defice","device"],["defien","define"],["defiend","defined"],["defiened","defined"],["defin","define"],["definad","defined"],["definance","defiance"],["definate","definite"],["definately","definitely"],["defination","definition"],["definations","definitions"],["definatly","definitely"],["definding","defining"],["defineas","defines"],["defineed","defined"],["definend","defined"],["definete","definite"],["definetelly","definitely"],["definetely","definitely"],["definetly","definitely"],["definiation","definition"],["definied","defined"],["definietly","definitely"],["definifiton","definition"],["definining","defining"],["defininition","definition"],["defininitions","definitions"],["definintion","definition"],["definit","definite"],["definitian","definition"],["definitiion","definition"],["definitiions","definitions"],["definitio","definition"],["definitios","definitions"],["definitivly","definitively"],["definitly","definitely"],["definitoin","definition"],["definiton","definition"],["definitons","definitions"],["definned","defined"],["definnition","definition"],["defintian","definition"],["defintiion","definition"],["defintiions","definitions"],["defintion","definition"],["defintions","definitions"],["defintition","definition"],["defintivly","definitively"],["defition","definition"],["defitions","definitions"],["deflaut","default"],["defninition","definition"],["defninitions","definitions"],["defnitions","definitions"],["defore","before"],["defqault","default"],["defragmenation","defragmentation"],["defualt","default"],["defualtdict","defaultdict"],["defualts","defaults"],["defult","default"],["defulted","defaulted"],["defulting","defaulting"],["defults","defaults"],["degenarate","degenerate"],["degenarated","degenerated"],["degenarating","degenerating"],["degenaration","degeneration"],["degenracy","degeneracy"],["degenrate","degenerate"],["degenrated","degenerated"],["degenrates","degenerates"],["degenratet","degenerated"],["degenrating","degenerating"],["degenration","degeneration"],["degerate","degenerate"],["degeree","degree"],["degnerate","degenerate"],["degnerated","degenerated"],["degnerates","degenerates"],["degrads","degrades"],["degration","degradation"],["degredation","degradation"],["degreee","degree"],["degreeee","degree"],["degreeees","degrees"],["degreees","degrees"],["deifne","define"],["deifned","defined"],["deifnes","defines"],["deifning","defining"],["deimiter","delimiter"],["deine","define"],["deinitailse","deinitialise"],["deinitailze","deinitialize"],["deinitalized","deinitialized"],["deinstantating","deinstantiating"],["deintialize","deinitialize"],["deintialized","deinitialized"],["deintializing","deinitializing"],["deisgn","design"],["deisgned","designed"],["deisgner","designer"],["deisgners","designers"],["deisgning","designing"],["deisgns","designs"],["deivative","derivative"],["deivatives","derivatives"],["deivce","device"],["deivces","devices"],["deivices","devices"],["deklaration","declaration"],["dekstop","desktop"],["dekstops","desktops"],["dektop","desktop"],["dektops","desktops"],["delagate","delegate"],["delagates","delegates"],["delaloc","delalloc"],["delalyed","delayed"],["delapidated","dilapidated"],["delaraction","declaration"],["delaractions","declarations"],["delarations","declarations"],["delare","declare"],["delared","declared"],["delares","declares"],["delaring","declaring"],["delate","delete"],["delayis","delays"],["delcarations","declarations"],["delcare","declare"],["delcared","declared"],["delcares","declares"],["delclaration","declaration"],["delele","delete"],["delelete","delete"],["deleleted","deleted"],["deleletes","deletes"],["deleleting","deleting"],["delelte","delete"],["delemeter","delimiter"],["delemiter","delimiter"],["delerious","delirious"],["delet","delete"],["deletd","deleted"],["deleteable","deletable"],["deleteed","deleted"],["deleteing","deleting"],["deleteion","deletion"],["deleteting","deleting"],["deletiong","deletion"],["delets","deletes"],["delevopment","development"],["delevopp","develop"],["delgate","delegate"],["delgated","delegated"],["delgates","delegates"],["delgating","delegating"],["delgation","delegation"],["delgations","delegations"],["delgator","delegator"],["delgators","delegators"],["deliberatey","deliberately"],["deliberatly","deliberately"],["deliberite","deliberate"],["deliberitely","deliberately"],["delibery","delivery"],["delibrate","deliberate"],["delibrately","deliberately"],["delievering","delivering"],["delievery","delivery"],["delievred","delivered"],["delievries","deliveries"],["delievry","delivery"],["delimeted","delimited"],["delimeter","delimiter"],["delimeters","delimiters"],["delimiited","delimited"],["delimiiter","delimiter"],["delimiiters","delimiters"],["delimitiaion","delimitation"],["delimitiaions","delimitations"],["delimitiation","delimitation"],["delimitiations","delimitations"],["delimitied","delimited"],["delimitier","delimiter"],["delimitiers","delimiters"],["delimitiing","delimiting"],["delimitimg","delimiting"],["delimition","delimitation"],["delimitions","delimitations"],["delimitis","delimits"],["delimititation","delimitation"],["delimititations","delimitations"],["delimitited","delimited"],["delimititer","delimiter"],["delimititers","delimiters"],["delimititing","delimiting"],["delimitor","delimiter"],["delimitors","delimiters"],["delimitted","delimited"],["delimma","dilemma"],["delimted","delimited"],["delimters","delimiter"],["delink","unlink"],["delivared","delivered"],["delivative","derivative"],["delivatives","derivatives"],["deliverate","deliberate"],["delivermode","deliverymode"],["deliverying","delivering"],["delte","delete"],["delted","deleted"],["deltes","deletes"],["delting","deleting"],["deltion","deletion"],["delusionally","delusively"],["delvery","delivery"],["demaind","demand"],["demenor","demeanor"],["demension","dimension"],["demensional","dimensional"],["demensions","dimensions"],["demodualtor","demodulator"],["demog","demo"],["demographical","demographic"],["demolishon","demolition"],["demolision","demolition"],["demoninator","denominator"],["demoninators","denominators"],["demonstates","demonstrates"],["demonstrat","demonstrate"],["demonstrats","demonstrates"],["demorcracy","democracy"],["demostrate","demonstrate"],["demostrated","demonstrated"],["demostrates","demonstrates"],["demostrating","demonstrating"],["demostration","demonstration"],["demudulator","demodulator"],["denegrating","denigrating"],["denisty","density"],["denomitator","denominator"],["denomitators","denominators"],["densitity","density"],["densly","densely"],["denstiy","density"],["deocde","decode"],["deocded","decoded"],["deocder","decoder"],["deocders","decoders"],["deocdes","decodes"],["deocding","decoding"],["deocdings","decodings"],["deoes","does"],["deoesn't","doesn't"],["deompression","decompression"],["depandance","dependence"],["depandancies","dependencies"],["depandancy","dependency"],["depandent","dependent"],["deparment","department"],["deparmental","departmental"],["deparments","departments"],["depcrecated","deprecated"],["depden","depend"],["depdence","dependence"],["depdencente","dependence"],["depdencentes","dependences"],["depdences","dependences"],["depdencies","dependencies"],["depdency","dependency"],["depdend","depend"],["depdendancies","dependencies"],["depdendancy","dependency"],["depdendant","dependent"],["depdendants","dependents"],["depdended","depended"],["depdendence","dependence"],["depdendences","dependences"],["depdendencies","dependencies"],["depdendency","dependency"],["depdendent","dependent"],["depdendents","dependents"],["depdendet","dependent"],["depdendets","dependents"],["depdending","depending"],["depdends","depends"],["depdenence","dependence"],["depdenences","dependences"],["depdenencies","dependencies"],["depdenency","dependency"],["depdenent","dependent"],["depdenents","dependents"],["depdening","depending"],["depdenncies","dependencies"],["depdenncy","dependency"],["depdens","depends"],["depdent","dependent"],["depdents","dependents"],["depecated","deprecated"],["depedencies","dependencies"],["depedency","dependency"],["depedencys","dependencies"],["depedent","dependent"],["depeding","depending"],["depencencies","dependencies"],["depencency","dependency"],["depencendencies","dependencies"],["depencendency","dependency"],["depencendencys","dependencies"],["depencent","dependent"],["depencies","dependencies"],["depency","dependency"],["dependance","dependence"],["dependancies","dependencies"],["dependancy","dependency"],["dependancys","dependencies"],["dependand","dependent"],["dependcies","dependencies"],["dependcy","dependency"],["dependding","depending"],["dependecies","dependencies"],["dependecy","dependency"],["dependecys","dependencies"],["dependedn","dependent"],["dependees","dependencies"],["dependeing","depending"],["dependenceis","dependencies"],["dependencey","dependency"],["dependencie","dependency"],["dependencied","dependency"],["dependenciens","dependencies"],["dependencis","dependencies"],["dependencys","dependencies"],["dependendencies","dependencies"],["dependendency","dependency"],["dependendent","dependent"],["dependenies","dependencies"],["dependening","depending"],["dependeny","dependency"],["dependet","dependent"],["dependices","dependencies"],["dependicy","dependency"],["dependig","depending"],["dependncies","dependencies"],["dependncy","dependency"],["depened","depend"],["depenedecies","dependencies"],["depenedecy","dependency"],["depenedent","dependent"],["depenencies","dependencies"],["depenencis","dependencies"],["depenency","dependency"],["depenencys","dependencies"],["depenend","depend"],["depenendecies","dependencies"],["depenendecy","dependency"],["depenendence","dependence"],["depenendencies","dependencies"],["depenendency","dependency"],["depenendent","dependent"],["depenending","depending"],["depenent","dependent"],["depenently","dependently"],["depennding","depending"],["depent","depend"],["deperecate","deprecate"],["deperecated","deprecated"],["deperecates","deprecates"],["deperecating","deprecating"],["deploied","deployed"],["deploiment","deployment"],["deploiments","deployments"],["deployement","deployment"],["deploymenet","deployment"],["deploymenets","deployments"],["depndant","dependent"],["depnds","depends"],["deporarily","temporarily"],["deposint","deposing"],["depracated","deprecated"],["depreacte","deprecate"],["depreacted","deprecated"],["depreacts","deprecates"],["depreate","deprecate"],["depreated","deprecated"],["depreates","deprecates"],["depreating","deprecating"],["deprecatedf","deprecated"],["deprectaed","deprecated"],["deprectat","deprecate"],["deprectate","deprecate"],["deprectated","deprecated"],["deprectates","deprecates"],["deprectating","deprecating"],["deprectation","deprecation"],["deprectats","deprecates"],["deprected","deprecated"],["depricate","deprecate"],["depricated","deprecated"],["depricates","deprecates"],["depricating","deprecating"],["dequed","dequeued"],["dequeing","dequeuing"],["deques","dequeues"],["derageable","dirigible"],["derective","directive"],["derectory","directory"],["derefence","dereference"],["derefenced","dereferenced"],["derefencing","dereferencing"],["derefenrence","dereference"],["dereferance","dereference"],["dereferanced","dereferenced"],["dereferances","dereferences"],["dereferencable","dereferenceable"],["dereferencce","dereference"],["dereferencced","dereferenced"],["dereferencces","dereferences"],["dereferenccing","dereferencing"],["derefernce","dereference"],["derefernced","dereferenced"],["dereferncence","dereference"],["dereferncencer","dereferencer"],["dereferncencers","dereferencers"],["dereferncences","dereferences"],["dereferncer","dereferencer"],["dereferncers","dereferencers"],["derefernces","dereferences"],["dereferncing","dereferencing"],["derefernece","dereference"],["derefrencable","dereferenceable"],["derefrence","dereference"],["deregistartion","deregistration"],["deregisted","deregistered"],["deregisteres","deregisters"],["deregistrated","deregistered"],["deregistred","deregistered"],["deregiter","deregister"],["deregiters","deregisters"],["derevative","derivative"],["derevatives","derivatives"],["derferencing","dereferencing"],["derfien","define"],["derfiend","defined"],["derfine","define"],["derfined","defined"],["dergeistered","deregistered"],["dergistration","deregistration"],["deriair","derriere"],["dericed","derived"],["dericteries","directories"],["derictery","directory"],["dericteryes","directories"],["dericterys","directories"],["deriffed","derived"],["derivaties","derivatives"],["derivatio","derivation"],["derivativ","derivative"],["derivativs","derivatives"],["deriviated","derived"],["derivitive","derivative"],["derivitives","derivatives"],["derivitivs","derivatives"],["derivtive","derivative"],["derivtives","derivatives"],["dermine","determine"],["dermined","determined"],["dermines","determines"],["dermining","determining"],["derogitory","derogatory"],["derprecated","deprecated"],["derrivatives","derivatives"],["derrive","derive"],["derrived","derived"],["dertermine","determine"],["derterming","determining"],["derth","dearth"],["derviative","derivative"],["derviatives","derivatives"],["dervie","derive"],["dervied","derived"],["dervies","derives"],["dervived","derived"],["desactivate","deactivate"],["desactivated","deactivated"],["desallocate","deallocate"],["desallocated","deallocated"],["desallocates","deallocates"],["desaster","disaster"],["descallocate","deallocate"],["descallocated","deallocated"],["descchedules","deschedules"],["desccription","description"],["descencing","descending"],["descendands","descendants"],["descibe","describe"],["descibed","described"],["descibes","describes"],["descibing","describing"],["descide","decide"],["descided","decided"],["descides","decides"],["desciding","deciding"],["desciption","description"],["desciptions","descriptions"],["desciptor","descriptor"],["desciptors","descriptors"],["desciribe","describe"],["desciribed","described"],["desciribes","describes"],["desciribing","describing"],["desciription","description"],["desciriptions","descriptions"],["descirption","description"],["descirptor","descriptor"],["descision","decision"],["descisions","decisions"],["descize","disguise"],["descized","disguised"],["descktop","desktop"],["descktops","desktops"],["desconstructed","deconstructed"],["descover","discover"],["descovered","discovered"],["descovering","discovering"],["descovery","discovery"],["descrease","decrease"],["descreased","decreased"],["descreases","decreases"],["descreasing","decreasing"],["descrementing","decrementing"],["descrete","discrete"],["describ","describe"],["describbed","described"],["describibg","describing"],["describng","describing"],["describtion","description"],["describtions","descriptions"],["descrice","describe"],["descriced","described"],["descrices","describes"],["descricing","describing"],["descrie","describe"],["descriibes","describes"],["descriminant","discriminant"],["descriminate","discriminate"],["descriminated","discriminated"],["descriminates","discriminates"],["descriminating","discriminating"],["descriont","description"],["descriotor","descriptor"],["descripe","describe"],["descriped","described"],["descripes","describes"],["descriping","describing"],["descripition","description"],["descripor","descriptor"],["descripors","descriptors"],["descripter","descriptor"],["descripters","descriptors"],["descriptio","description"],["descriptiom","description"],["descriptionm","description"],["descriptior","descriptor"],["descriptiors","descriptors"],["descripto","descriptor"],["descriptoin","description"],["descriptoins","descriptions"],["descripton","description"],["descriptons","descriptions"],["descriptot","descriptor"],["descriptoy","descriptor"],["descriptuve","descriptive"],["descrition","description"],["descritpion","description"],["descritpions","descriptions"],["descritpiton","description"],["descritpitons","descriptions"],["descritpor","descriptor"],["descritpors","descriptors"],["descritpr","descriptor"],["descritpro","descriptor"],["descritpros","descriptors"],["descritprs","descriptors"],["descritption","description"],["descritptions","descriptions"],["descritptive","descriptive"],["descritptor","descriptor"],["descritptors","descriptors"],["descrption","description"],["descrptions","descriptions"],["descrptor","descriptor"],["descrptors","descriptors"],["descrtiption","description"],["descrtiptions","descriptions"],["descrutor","destructor"],["descrybe","describe"],["descrybing","describing"],["descryption","description"],["descryptions","descriptions"],["desctiption","description"],["desctiptor","descriptor"],["desctiptors","descriptors"],["desctop","desktop"],["desctructed","destructed"],["desctruction","destruction"],["desctructive","destructive"],["desctructor","destructor"],["desctructors","destructors"],["descuss","discuss"],["descvription","description"],["descvriptions","descriptions"],["deselct","deselect"],["deselctable","deselectable"],["deselctables","deselectable"],["deselcted","deselected"],["deselcting","deselecting"],["desepears","disappears"],["deserailise","deserialise"],["deserailize","deserialize"],["deserialisazion","deserialisation"],["deserializaed","deserialized"],["deserializazion","deserialization"],["deserialsiation","deserialisation"],["deserialsie","deserialise"],["deserialsied","deserialised"],["deserialsies","deserialises"],["deserialsing","deserialising"],["deserialze","deserialize"],["deserialzed","deserialized"],["deserialzes","deserializes"],["deserialziation","deserialization"],["deserialzie","deserialize"],["deserialzied","deserialized"],["deserialzies","deserializes"],["deserialzing","deserializing"],["desgin","design"],["desgin-mode","design-mode"],["desgined","designed"],["desginer","designer"],["desiar","desire"],["desicate","desiccate"],["desicion","decision"],["desicions","decisions"],["deside","decide"],["desided","decided"],["desides","decides"],["desig","design"],["desigern","designer"],["desigining","designing"],["designd","designed"],["desination","destination"],["desinations","destinations"],["desine","design"],["desing","design"],["desingable","designable"],["desinged","designed"],["desinger","designer"],["desinging","designing"],["desingn","design"],["desingned","designed"],["desingner","designer"],["desingning","designing"],["desingns","designs"],["desings","designs"],["desintaiton","destination"],["desintaitons","destinations"],["desintation","destination"],["desintations","destinations"],["desintegrated","disintegrated"],["desintegration","disintegration"],["desipite","despite"],["desireable","desirable"],["desision","decision"],["desisions","decisions"],["desitable","desirable"],["desitination","destination"],["desitinations","destinations"],["desition","decision"],["desitions","decisions"],["desitned","destined"],["deskop","desktop"],["deskops","desktops"],["desktiop","desktop"],["deskys","disguise"],["deslected","deselected"],["deslects","deselects"],["desltop","desktop"],["desltops","desktops"],["desn't","doesn't"],["desne","dense"],["desnse","dense"],["desogn","design"],["desogned","designed"],["desogner","designer"],["desogning","designing"],["desogns","designs"],["desolve","dissolve"],["desorder","disorder"],["desoriented","disoriented"],["desparately","desperately"],["despatch","dispatch"],["despict","depict"],["despiration","desperation"],["desplay","display"],["desplayed","displayed"],["desplays","displays"],["desposition","disposition"],["desrciption","description"],["desrciptions","descriptions"],["desribe","describe"],["desribed","described"],["desribes","describes"],["desribing","describing"],["desription","description"],["desriptions","descriptions"],["desriptor","descriptor"],["desriptors","descriptors"],["desrire","desire"],["desrired","desired"],["desroyer","destroyer"],["desscribe","describe"],["desscribing","describing"],["desscription","description"],["dessicate","desiccate"],["dessicated","desiccated"],["dessication","desiccation"],["dessigned","designed"],["desstructor","destructor"],["destablized","destabilized"],["destanation","destination"],["destanations","destinations"],["destiantion","destination"],["destiantions","destinations"],["destiation","destination"],["destiations","destinations"],["destinaion","destination"],["destinaions","destinations"],["destinaiton","destination"],["destinaitons","destinations"],["destinarion","destination"],["destinarions","destinations"],["destinataion","destination"],["destinataions","destinations"],["destinatin","destination"],["destinatino","destination"],["destinatinos","destinations"],["destinatins","destinations"],["destinaton","destination"],["destinatons","destinations"],["destinguish","distinguish"],["destintation","destination"],["destintations","destinations"],["destionation","destination"],["destionations","destinations"],["destop","desktop"],["destops","desktops"],["destoried","destroyed"],["destort","distort"],["destory","destroy"],["destoryed","destroyed"],["destorying","destroying"],["destorys","destroys"],["destoy","destroy"],["destoyed","destroyed"],["destrcut","destruct"],["destrcuted","destructed"],["destrcutor","destructor"],["destrcutors","destructors"],["destribute","distribute"],["destributed","distributed"],["destroi","destroy"],["destroied","destroyed"],["destroing","destroying"],["destrois","destroys"],["destroyes","destroys"],["destruciton","destruction"],["destructro","destructor"],["destructros","destructors"],["destruktor","destructor"],["destruktors","destructors"],["destrutor","destructor"],["destrutors","destructors"],["destry","destroy"],["destryed","destroyed"],["destryer","destroyer"],["destrying","destroying"],["destryiong","destroying"],["destryoed","destroyed"],["destryoing","destroying"],["destryong","destroying"],["destrys","destroys"],["destuction","destruction"],["destuctive","destructive"],["destuctor","destructor"],["destuctors","destructors"],["desturcted","destructed"],["desturtor","destructor"],["desturtors","destructors"],["desychronize","desynchronize"],["desychronized","desynchronized"],["detabase","database"],["detachs","detaches"],["detahced","detached"],["detaild","detailed"],["detailled","detailed"],["detais","details"],["detals","details"],["detatch","detach"],["detatched","detached"],["detatches","detaches"],["detatching","detaching"],["detault","default"],["detaulted","defaulted"],["detaulting","defaulting"],["detaults","defaults"],["detction","detection"],["detctions","detections"],["deteced","detected"],["detecing","detecting"],["detecion","detection"],["detecions","detections"],["detectected","detected"],["detectes","detects"],["detectetd","detected"],["detectsion","detection"],["detectsions","detections"],["detemine","determine"],["detemined","determined"],["detemines","determines"],["detemining","determining"],["deteoriated","deteriorated"],["deterant","deterrent"],["deteremine","determine"],["deteremined","determined"],["deteriate","deteriorate"],["deterimined","determined"],["deterine","determine"],["deterioriating","deteriorating"],["determaine","determine"],["determenant","determinant"],["determenistic","deterministic"],["determiens","determines"],["determimnes","determines"],["determin","determine"],["determinated","determined"],["determind","determined"],["determinded","determined"],["determinee","determine"],["determineing","determining"],["determinining","determining"],["deterministinc","deterministic"],["determinne","determine"],["determins","determines"],["determinse","determines"],["determinstic","deterministic"],["determinstically","deterministically"],["determintes","determines"],["determnine","determine"],["deternine","determine"],["detetmine","determine"],["detial","detail"],["detialed","detailed"],["detialing","detailing"],["detials","details"],["detination","destination"],["detinations","destinations"],["detremental","detrimental"],["detremining","determining"],["detrmine","determine"],["detrmined","determined"],["detrmines","determines"],["detrmining","determining"],["detroy","destroy"],["detroyed","destroyed"],["detroying","destroying"],["detroys","destroys"],["detructed","destructed"],["dettach","detach"],["dettaching","detaching"],["detur","detour"],["deturance","deterrence"],["deubug","debug"],["deubuging","debugging"],["deug","debug"],["deugging","debugging"],["devasted","devastated"],["devation","deviation"],["devce","device"],["devcent","decent"],["devcie","device"],["devcies","devices"],["develoers","developers"],["develoment","development"],["develoments","developments"],["develompent","development"],["develompental","developmental"],["develompents","developments"],["develope","develop"],["developement","development"],["developements","developments"],["developmemt","development"],["developmet","development"],["developmetns","developments"],["developmets","developments"],["developp","develop"],["developpe","develop"],["developped","developed"],["developpement","development"],["developper","developer"],["developpers","developers"],["developpment","development"],["develp","develop"],["develped","developed"],["develper","developer"],["develpers","developers"],["develping","developing"],["develpment","development"],["develpments","developments"],["develps","develops"],["devels","delves"],["deveolpment","development"],["deveopers","developers"],["deverloper","developer"],["deverlopers","developers"],["devestated","devastated"],["devestating","devastating"],["devfine","define"],["devfined","defined"],["devfines","defines"],["devic","device"],["devicde","device"],["devicdes","devices"],["device-dependend","device-dependent"],["devicec","device"],["devicecoordiinates","devicecoordinates"],["deviceremoveable","deviceremovable"],["devicesr","devices"],["devicess","devices"],["devicest","devices"],["devide","divide"],["devided","divided"],["devider","divider"],["deviders","dividers"],["devides","divides"],["deviding","dividing"],["deviece","device"],["devied","device"],["deviiate","deviate"],["deviiated","deviated"],["deviiates","deviates"],["deviiating","deviating"],["deviiation","deviation"],["deviiations","deviations"],["devined","defined"],["devired","derived"],["devirtualisaion","devirtualisation"],["devirtualisaiton","devirtualisation"],["devirtualizaion","devirtualization"],["devirtualizaiton","devirtualization"],["devirutalisation","devirtualisation"],["devirutalise","devirtualise"],["devirutalised","devirtualised"],["devirutalization","devirtualization"],["devirutalize","devirtualize"],["devirutalized","devirtualized"],["devisible","divisible"],["devision","division"],["devistating","devastating"],["devive","device"],["devleop","develop"],["devleoped","developed"],["devleoper","developer"],["devleopers","developers"],["devleoping","developing"],["devleopment","development"],["devleopper","developer"],["devleoppers","developers"],["devlop","develop"],["devloped","developed"],["devloper's","developer's"],["devloper","developer"],["devlopers","developers"],["devloping","developing"],["devlopment","development"],["devlopments","developments"],["devlopper","developer"],["devloppers","developers"],["devlops","develops"],["devolopement","development"],["devritualisation","devirtualisation"],["devritualization","devirtualization"],["devuce","device"],["dewrapping","unwrapping"],["dezert","dessert"],["dezibel","decibel"],["dezine","design"],["dezinens","denizens"],["dfine","define"],["dfined","defined"],["dfines","defines"],["dfinition","definition"],["dfinitions","definitions"],["dgetttext","dgettext"],["diable","disable"],["diabled","disabled"],["diabler","disabler"],["diablers","disablers"],["diables","disables"],["diablical","diabolical"],["diabling","disabling"],["diaciritc","diacritic"],["diaciritcs","diacritics"],["diagnistic","diagnostic"],["diagnoal","diagonal"],["diagnoals","diagonals"],["diagnol","diagonal"],["diagnosics","diagnostics"],["diagnositc","diagnostic"],["diagnotic","diagnostic"],["diagnotics","diagnostics"],["diagnxostic","diagnostic"],["diagonale","diagonal"],["diagonales","diagonals"],["diagramas","diagrams"],["diagramm","diagram"],["dialaog","dialog"],["dialate","dilate"],["dialgo","dialog"],["dialgos","dialogs"],["dialig","dialog"],["dialigs","dialogs"],["diamater","diameter"],["diamaters","diameters"],["diamon","diamond"],["diamons","diamonds"],["diamter","diameter"],["diamters","diameters"],["diangose","diagnose"],["dianostic","diagnostic"],["dianostics","diagnostics"],["diaplay","display"],["diaplays","displays"],["diappeares","disappears"],["diarea","diarrhea"],["diaresis","diaeresis"],["diasble","disable"],["diasbled","disabled"],["diasbles","disables"],["diasbling","disabling"],["diaspra","diaspora"],["diaster","disaster"],["diatance","distance"],["diatancing","distancing"],["dicard","discard"],["dicarded","discarded"],["dicarding","discarding"],["dicards","discards"],["dicates","dictates"],["dicationaries","dictionaries"],["dicationary","dictionary"],["dicergence","divergence"],["dichtomy","dichotomy"],["dicionaries","dictionaries"],["dicionary","dictionary"],["dicipline","discipline"],["dicitonaries","dictionaries"],["dicitonary","dictionary"],["dicline","decline"],["diconnected","disconnected"],["diconnection","disconnection"],["diconnects","disconnects"],["dicover","discover"],["dicovered","discovered"],["dicovering","discovering"],["dicovers","discovers"],["dicovery","discovery"],["dicrectory","directory"],["dicrete","discrete"],["dicretion","discretion"],["dicretionary","discretionary"],["dicriminate","discriminate"],["dicriminated","discriminated"],["dicriminates","discriminates"],["dicriminating","discriminating"],["dicriminator","discriminator"],["dicriminators","discriminators"],["dicsriminated","discriminated"],["dictaionaries","dictionaries"],["dictaionary","dictionary"],["dictinary","dictionary"],["dictioanries","dictionaries"],["dictioanry","dictionary"],["dictionarys","dictionaries"],["dictionay","dictionary"],["dictionnaries","dictionaries"],["dictionnary","dictionary"],["dictionries","dictionaries"],["dictionry","dictionary"],["dictoinaries","dictionaries"],["dictoinary","dictionary"],["dictonaries","dictionaries"],["dictonary","dictionary"],["dictrionaries","dictionaries"],["dictrionary","dictionary"],["dicussed","discussed"],["dicussions","discussions"],["did'nt","didn't"],["didi","did"],["didn;t","didn't"],["didnt'","didn't"],["didnt't","didn't"],["didnt","didn't"],["didnt;","didn't"],["diect","direct"],["diectly","directly"],["dielectirc","dielectric"],["dielectircs","dielectrics"],["diemsion","dimension"],["dieties","deities"],["diety","deity"],["diference","difference"],["diferences","differences"],["diferent","different"],["diferentiate","differentiate"],["diferentiated","differentiated"],["diferentiates","differentiates"],["diferentiating","differentiating"],["diferently","differently"],["diferrent","different"],["diffcult","difficult"],["diffculties","difficulties"],["diffculty","difficulty"],["diffeent","different"],["diffence","difference"],["diffenet","different"],["diffenrence","difference"],["diffenrences","differences"],["differance","difference"],["differances","differences"],["differant","different"],["differantiate","differentiate"],["differantiation","differentiation"],["differantiator","differentiator"],["differantion","differentiation"],["differate","differentiate"],["differece","difference"],["differect","different"],["differen","different"],["differencess","differences"],["differencial","differential"],["differenciate","differentiate"],["differenciated","differentiated"],["differenciates","differentiates"],["differenciating","differentiating"],["differenciation","differentiation"],["differencies","differences"],["differenct","different"],["differend","different"],["differene","difference"],["differenes","differences"],["differenly","differently"],["differens","difference"],["differense","difference"],["differentiatiations","differentiations"],["differentiaton","differentiation"],["differentl","differently"],["differernt","different"],["differes","differs"],["differetnt","different"],["differnce","difference"],["differnces","differences"],["differnciate","differentiate"],["differnec","difference"],["differnece","difference"],["differneces","differences"],["differnecs","differences"],["differnence","difference"],["differnences","differences"],["differnencing","differencing"],["differnent","different"],["differnet","different"],["differnetiate","differentiate"],["differnetiated","differentiated"],["differnetly","differently"],["differnt","different"],["differntiable","differentiable"],["differntial","differential"],["differntials","differentials"],["differntiate","differentiate"],["differntiated","differentiated"],["differntiates","differentiates"],["differntiating","differentiating"],["differntly","differently"],["differred","differed"],["differrence","difference"],["differrent","different"],["difffered","differed"],["diffferent","different"],["diffferently","differently"],["difffers","differs"],["difficault","difficult"],["difficaulties","difficulties"],["difficaulty","difficulty"],["difficulity","difficulty"],["difficutl","difficult"],["difficutly","difficulty"],["diffreences","differences"],["diffreent","different"],["diffrence","difference"],["diffrences","differences"],["diffrent","different"],["diffrential","differential"],["diffrentiate","differentiate"],["diffrentiated","differentiated"],["diffrently","differently"],["diffrerence","difference"],["diffrerences","differences"],["diffult","difficult"],["diffussion","diffusion"],["diffussive","diffusive"],["dificulties","difficulties"],["dificulty","difficulty"],["difinition","definition"],["difinitions","definitions"],["difract","diffract"],["difracted","diffracted"],["difraction","diffraction"],["difractive","diffractive"],["difussion","diffusion"],["difussive","diffusive"],["digesty","digest"],["diggit","digit"],["diggital","digital"],["diggits","digits"],["digial","digital"],["digist","digits"],["digitalise","digitize"],["digitalising","digitizing"],["digitalize","digitize"],["digitalizing","digitizing"],["digitial","digital"],["digitis","digits"],["dignostics","diagnostics"],["dilema","dilemma"],["dilemas","dilemmas"],["dilineate","delineate"],["dillema","dilemma"],["dillemas","dilemmas"],["dilligence","diligence"],["dilligent","diligent"],["dilligently","diligently"],["dillimport","dllimport"],["dimansion","dimension"],["dimansional","dimensional"],["dimansions","dimensions"],["dimemsions","dimensions"],["dimenional","dimensional"],["dimenionalities","dimensionalities"],["dimenionality","dimensionality"],["dimenions","dimensions"],["dimenionsal","dimensional"],["dimenionsalities","dimensionalities"],["dimenionsality","dimensionality"],["dimenison","dimension"],["dimensinal","dimensional"],["dimensinoal","dimensional"],["dimensinos","dimensions"],["dimensionaility","dimensionality"],["dimensiones","dimensions"],["dimensonal","dimensional"],["dimenstion","dimension"],["dimenstions","dimensions"],["dimention","dimension"],["dimentional","dimensional"],["dimentionnal","dimensional"],["dimentionnals","dimensional"],["dimentions","dimensions"],["dimesions","dimensions"],["dimesnion","dimension"],["dimesnional","dimensional"],["dimesnions","dimensions"],["diminsh","diminish"],["diminshed","diminished"],["diminuitive","diminutive"],["dimissed","dismissed"],["dimmension","dimension"],["dimmensioned","dimensioned"],["dimmensioning","dimensioning"],["dimmensions","dimensions"],["dimnension","dimension"],["dimnention","dimension"],["dimunitive","diminutive"],["dinamic","dynamic"],["dinamically","dynamically"],["dinamicaly","dynamically"],["dinamiclly","dynamically"],["dinamicly","dynamically"],["dinmaic","dynamic"],["dinteractively","interactively"],["diong","doing"],["diosese","diocese"],["diphtong","diphthong"],["diphtongs","diphthongs"],["diplacement","displacement"],["diplay","display"],["diplayed","displayed"],["diplaying","displaying"],["diplays","displays"],["diplomancy","diplomacy"],["dipthong","diphthong"],["dipthongs","diphthongs"],["dircet","direct"],["dircetories","directories"],["dircetory","directory"],["dirctly","directly"],["dirctories","directories"],["dirctory","directory"],["direccion","direction"],["direcctly","directly"],["direcctory","directory"],["direcctorys","directories"],["direcctries","directories"],["direcdories","directories"],["direcdory","directory"],["direcdorys","directories"],["direcion","direction"],["direcions","directions"],["direciton","direction"],["direcitonal","directional"],["direcitons","directions"],["direclty","directly"],["direcly","directly"],["direcories","directories"],["direcory","directory"],["direcotories","directories"],["direcotory","directory"],["direcotries","directories"],["direcotry","directory"],["direcoty","directory"],["directd","directed"],["directely","directly"],["directes","directs"],["directgories","directories"],["directgory","directory"],["directiories","directories"],["directiory","directory"],["directoies","directories"],["directon","direction"],["directoories","directories"],["directoory","directory"],["directores","directories"],["directoris","directories"],["directort","directory"],["directorty","directory"],["directorys","directories"],["directoty","directory"],["directove","directive"],["directoves","directives"],["directoy","directory"],["directpries","directories"],["directpry","directory"],["directries","directories"],["directrive","directive"],["directrives","directives"],["directrly","directly"],["directroies","directories"],["directrories","directories"],["directrory","directory"],["directroy","directory"],["directry","directory"],["directsion","direction"],["directsions","directions"],["directtories","directories"],["directtory","directory"],["directy","directly"],["direectly","directly"],["diregard","disregard"],["direktly","directly"],["direrctor","director"],["direrctories","directories"],["direrctors","directors"],["direrctory","directory"],["diretive","directive"],["diretly","directly"],["diretories","directories"],["diretory","directory"],["direvctory","directory"],["dirived","derived"],["dirrectly","directly"],["dirtectory","directory"],["dirtyed","dirtied"],["dirtyness","dirtiness"],["dirver","driver"],["disabe","disable"],["disabeling","disabling"],["disabels","disables"],["disabes","disables"],["disabilitiles","disabilities"],["disabilitily","disability"],["disabiltities","disabilities"],["disabiltitiy","disability"],["disabing","disabling"],["disabl","disable"],["disablle","disable"],["disadvantadge","disadvantage"],["disagreeed","disagreed"],["disagress","disagrees"],["disalb","disable"],["disalbe","disable"],["disalbed","disabled"],["disalbes","disables"],["disale","disable"],["disaled","disabled"],["disalow","disallow"],["disambigouate","disambiguate"],["disambiguaiton","disambiguation"],["disambiguiation","disambiguation"],["disapear","disappear"],["disapeard","disappeared"],["disapeared","disappeared"],["disapearing","disappearing"],["disapears","disappears"],["disapline","discipline"],["disapoint","disappoint"],["disapointed","disappointed"],["disapointing","disappointing"],["disappared","disappeared"],["disappearaing","disappearing"],["disappeard","disappeared"],["disappearred","disappeared"],["disapper","disappear"],["disapperar","disappear"],["disapperarance","disappearance"],["disapperared","disappeared"],["disapperars","disappears"],["disappered","disappeared"],["disappering","disappearing"],["disappers","disappears"],["disapporval","disapproval"],["disapporve","disapprove"],["disapporved","disapproved"],["disapporves","disapproves"],["disapporving","disapproving"],["disapprouval","disapproval"],["disapprouve","disapprove"],["disapprouved","disapproved"],["disapprouves","disapproves"],["disapprouving","disapproving"],["disaproval","disapproval"],["disard","discard"],["disariable","desirable"],["disassebled","disassembled"],["disassocate","disassociate"],["disassocation","disassociation"],["disasssembler","disassembler"],["disasterous","disastrous"],["disatisfaction","dissatisfaction"],["disatisfied","dissatisfied"],["disatrous","disastrous"],["disbale","disable"],["disbaled","disabled"],["disbales","disables"],["disbaling","disabling"],["disble","disable"],["disbled","disabled"],["discared","discarded"],["discareded","discarded"],["discarge","discharge"],["discconecct","disconnect"],["discconeccted","disconnected"],["discconeccting","disconnecting"],["discconecction","disconnection"],["discconecctions","disconnections"],["discconeccts","disconnects"],["discconect","disconnect"],["discconected","disconnected"],["discconecting","disconnecting"],["discconection","disconnection"],["discconections","disconnections"],["discconects","disconnects"],["discconeect","disconnect"],["discconeected","disconnected"],["discconeecting","disconnecting"],["discconeection","disconnection"],["discconeections","disconnections"],["discconeects","disconnects"],["discconenct","disconnect"],["discconencted","disconnected"],["discconencting","disconnecting"],["discconenction","disconnection"],["discconenctions","disconnections"],["discconencts","disconnects"],["discconet","disconnect"],["discconeted","disconnected"],["discconeting","disconnecting"],["discconetion","disconnection"],["discconetions","disconnections"],["discconets","disconnects"],["disccuss","discuss"],["discernable","discernible"],["dischare","discharge"],["discimenation","dissemination"],["disciplins","disciplines"],["disclamer","disclaimer"],["disconecct","disconnect"],["disconeccted","disconnected"],["disconeccting","disconnecting"],["disconecction","disconnection"],["disconecctions","disconnections"],["disconeccts","disconnects"],["disconect","disconnect"],["disconected","disconnected"],["disconecting","disconnecting"],["disconection","disconnection"],["disconections","disconnections"],["disconects","disconnects"],["disconeect","disconnect"],["disconeected","disconnected"],["disconeecting","disconnecting"],["disconeection","disconnection"],["disconeections","disconnections"],["disconeects","disconnects"],["disconenct","disconnect"],["disconencted","disconnected"],["disconencting","disconnecting"],["disconenction","disconnection"],["disconenctions","disconnections"],["disconencts","disconnects"],["disconet","disconnect"],["disconeted","disconnected"],["disconeting","disconnecting"],["disconetion","disconnection"],["disconetions","disconnections"],["disconets","disconnects"],["disconnec","disconnect"],["disconneced","disconnected"],["disconnet","disconnect"],["disconneted","disconnected"],["disconneting","disconnecting"],["disconnets","disconnects"],["disconnnect","disconnect"],["discontigious","discontiguous"],["discontigous","discontiguous"],["discontiguities","discontinuities"],["discontinous","discontinuous"],["discontinuos","discontinuous"],["discoraged","discouraged"],["discouranged","discouraged"],["discourarged","discouraged"],["discourrage","discourage"],["discourraged","discouraged"],["discove","discover"],["discoved","discovered"],["discovereability","discoverability"],["discoveribility","discoverability"],["discovey","discovery"],["discovr","discover"],["discovred","discovered"],["discovring","discovering"],["discovrs","discovers"],["discrace","disgrace"],["discraced","disgraced"],["discraceful","disgraceful"],["discracefully","disgracefully"],["discracefulness","disgracefulness"],["discraces","disgraces"],["discracing","disgracing"],["discrards","discards"],["discreminates","discriminates"],["discrepencies","discrepancies"],["discrepency","discrepancy"],["discrepicies","discrepancies"],["discribe","describe"],["discribed","described"],["discribes","describes"],["discribing","describing"],["discription","description"],["discriptions","descriptions"],["discriptor's","descriptor's"],["discriptor","descriptor"],["discriptors","descriptors"],["disctinction","distinction"],["disctinctive","distinctive"],["disctinguish","distinguish"],["disctionaries","dictionaries"],["disctionary","dictionary"],["discuassed","discussed"],["discused","discussed"],["discusion","discussion"],["discusions","discussions"],["discusson","discussion"],["discussons","discussions"],["discusting","disgusting"],["discuusion","discussion"],["disdvantage","disadvantage"],["disecting","dissecting"],["disection","dissection"],["diselect","deselect"],["disemination","dissemination"],["disenchanged","disenchanted"],["disencouraged","discouraged"],["disertation","dissertation"],["disfunctional","dysfunctional"],["disfunctionality","dysfunctionality"],["disgn","design"],["disgned","designed"],["disgner","designer"],["disgning","designing-"],["disgnostic","diagnostic"],["disgnostics","diagnostics"],["disgns","designs"],["disguisting","disgusting"],["disharge","discharge"],["disign","design"],["disignated","designated"],["disinguish","distinguish"],["disiplined","disciplined"],["disired","desired"],["disitributions","distributions"],["diskrete","discrete"],["diskretion","discretion"],["diskretization","discretization"],["diskretize","discretize"],["diskretized","discretized"],["diskrimination","discrimination"],["dislaimer","disclaimer"],["dislay","display"],["dislayed","displayed"],["dislaying","displaying"],["dislays","displays"],["dislpay","display"],["dislpayed","displayed"],["dislpaying","displaying"],["dislpays","displays"],["disnabled","disabled"],["disobediance","disobedience"],["disobediant","disobedient"],["disokay","display"],["disolve","dissolve"],["disolved","dissolved"],["disonnect","disconnect"],["disonnected","disconnected"],["disover","discover"],["disovered","discovered"],["disovering","discovering"],["disovery","discovery"],["dispached","dispatched"],["dispair","despair"],["dispalcement","displacement"],["dispalcements","displacements"],["dispaly","display"],["dispalyable","displayable"],["dispalyed","displayed"],["dispalyes","displays"],["dispalying","displaying"],["dispalys","displays"],["disparingly","disparagingly"],["disparite","disparate"],["dispatcgh","dispatch"],["dispatchs","dispatches"],["dispath","dispatch"],["dispathed","dispatched"],["dispathes","dispatches"],["dispathing","dispatching"],["dispay","display"],["dispayed","displayed"],["dispayes","displays"],["dispayport","displayport"],["dispays","displays"],["dispbibute","distribute"],["dispell","dispel"],["dispence","dispense"],["dispenced","dispensed"],["dispencing","dispensing"],["dispertion","dispersion"],["dispicable","despicable"],["dispite","despite"],["displa","display"],["displacemnt","displacement"],["displacemnts","displacements"],["displacment","displacement"],["displacments","displacements"],["displayd","displayed"],["displayied","displayed"],["displayig","displaying"],["disply","display"],["displyed","displayed"],["displying","displaying"],["displys","displays"],["dispode","dispose"],["disporue","disparue"],["disporve","disprove"],["disporved","disproved"],["disporves","disproves"],["disporving","disproving"],["disposel","disposal"],["dispossable","disposable"],["dispossal","disposal"],["disposse","dispose"],["dispossing","disposing"],["dispostion","disposition"],["disproportiate","disproportionate"],["disproportionatly","disproportionately"],["disputandem","disputandum"],["disregrad","disregard"],["disrete","discrete"],["disretion","discretion"],["disribution","distribution"],["disricts","districts"],["disrm","disarm"],["dissable","disable"],["dissabled","disabled"],["dissables","disables"],["dissabling","disabling"],["dissadvantage","disadvantage"],["dissadvantages","disadvantages"],["dissagreement","disagreement"],["dissagregation","dissaggregation"],["dissallow","disallow"],["dissallowed","disallowed"],["dissallowing","disallowing"],["dissallows","disallows"],["dissalow","disallow"],["dissalowed","disallowed"],["dissalowing","disallowing"],["dissalows","disallows"],["dissambiguate","disambiguate"],["dissamble","disassemble"],["dissambled","disassembled"],["dissambler","disassembler"],["dissambles","disassembles"],["dissamblies","disassemblies"],["dissambling","disassembling"],["dissambly","disassembly"],["dissapate","dissipate"],["dissapates","dissipates"],["dissapear","disappear"],["dissapearance","disappearance"],["dissapeard","disappeared"],["dissapeared","disappeared"],["dissapearing","disappearing"],["dissapears","disappears"],["dissaper","disappear"],["dissaperd","disappeared"],["dissapered","disappeared"],["dissapering","disappearing"],["dissapers","disappears"],["dissapoint","disappoint"],["dissapointed","disappointed"],["dissapointing","disappointing"],["dissapoints","disappoints"],["dissappear","disappear"],["dissappeard","disappeared"],["dissappeared","disappeared"],["dissappearing","disappearing"],["dissappears","disappears"],["dissapper","disappear"],["dissapperd","disappeared"],["dissappered","disappeared"],["dissappering","disappearing"],["dissappers","disappears"],["dissappointed","disappointed"],["dissapprove","disapprove"],["dissapproves","disapproves"],["dissarray","disarray"],["dissasemble","disassemble"],["dissasembled","disassembled"],["dissasembler","disassembler"],["dissasembles","disassembles"],["dissasemblies","disassemblies"],["dissasembling","disassembling"],["dissasembly","disassembly"],["dissasociate","disassociate"],["dissasociated","disassociated"],["dissasociates","disassociates"],["dissasociation","disassociation"],["dissassemble","disassemble"],["dissassembled","disassembled"],["dissassembler","disassembler"],["dissassembles","disassembles"],["dissassemblies","disassemblies"],["dissassembling","disassembling"],["dissassembly","disassembly"],["dissassociate","disassociate"],["dissassociated","disassociated"],["dissassociates","disassociates"],["dissassociating","disassociating"],["dissaster","disaster"],["dissasters","disasters"],["dissble","disable"],["dissbled","disabled"],["dissbles","disables"],["dissbling","disabling"],["dissconect","disconnect"],["dissconnect","disconnect"],["dissconnected","disconnected"],["dissconnects","disconnects"],["disscover","discover"],["disscovered","discovered"],["disscovering","discovering"],["disscovers","discovers"],["disscovery","discovery"],["dissct","dissect"],["disscted","dissected"],["disscting","dissecting"],["dissctor","dissector"],["dissctors","dissectors"],["disscts","dissects"],["disscuesed","discussed"],["disscus","discuss"],["disscused","discussed"],["disscuses","discusses"],["disscusing","discussing"],["disscusion","discussion"],["disscuss","discuss"],["disscussed","discussed"],["disscusses","discusses"],["disscussing","discussing"],["disscussion","discussion"],["disscussions","discussions"],["disshearteningly","dishearteningly"],["dissimialr","dissimilar"],["dissimialrity","dissimilarity"],["dissimialrly","dissimilarly"],["dissimiar","dissimilar"],["dissimilarily","dissimilarly"],["dissimilary","dissimilarly"],["dissimilat","dissimilar"],["dissimilia","dissimilar"],["dissimiliar","dissimilar"],["dissimiliarity","dissimilarity"],["dissimiliarly","dissimilarly"],["dissimiliarty","dissimilarity"],["dissimiliary","dissimilarity"],["dissimillar","dissimilar"],["dissimlar","dissimilar"],["dissimlarlity","dissimilarity"],["dissimlarly","dissimilarly"],["dissimliar","dissimilar"],["dissimliarly","dissimilarly"],["dissimmetric","dissymmetric"],["dissimmetrical","dissymmetrical"],["dissimmetry","dissymmetry"],["dissmantle","dismantle"],["dissmantled","dismantled"],["dissmantles","dismantles"],["dissmantling","dismantling"],["dissmis","dismiss"],["dissmised","dismissed"],["dissmises","dismisses"],["dissmising","dismissing"],["dissmiss","dismiss"],["dissmissed","dismissed"],["dissmisses","dismisses"],["dissmissing","dismissing"],["dissobediance","disobedience"],["dissobediant","disobedient"],["dissobedience","disobedience"],["dissobedient","disobedient"],["dissplay","display"],["dissrupt","disrupt"],["dissrupted","disrupted"],["dissrupting","disrupting"],["dissrupts","disrupts"],["disssemble","disassemble"],["disssembled","disassembled"],["disssembler","disassembler"],["disssembles","disassembles"],["disssemblies","disassemblies"],["disssembling","disassembling"],["disssembly","disassembly"],["disssociate","dissociate"],["disssociated","dissociated"],["disssociates","dissociates"],["disssociating","dissociating"],["distaced","distanced"],["distange","distance"],["distanse","distance"],["distantce","distance"],["distarct","distract"],["distater","disaster"],["distengish","distinguish"],["distibute","distribute"],["distibuted","distributed"],["distibutes","distributes"],["distibuting","distributing"],["distibution","distribution"],["distibutions","distributions"],["distiction","distinction"],["distictly","distinctly"],["distiguish","distinguish"],["distiguished","distinguished"],["distinative","distinctive"],["distingish","distinguish"],["distingished","distinguished"],["distingishes","distinguishes"],["distingishing","distinguishing"],["distingiush","distinguish"],["distingquished","distinguished"],["distinguise","distinguish"],["distinguised","distinguished"],["distinguises","distinguishes"],["distingush","distinguish"],["distingushed","distinguished"],["distingushes","distinguishes"],["distingushing","distinguishing"],["distingusih","distinguish"],["distinquish","distinguish"],["distinquishable","distinguishable"],["distinquished","distinguished"],["distinquishes","distinguishes"],["distinquishing","distinguishing"],["distintions","distinctions"],["distirbute","distribute"],["distirbuted","distributed"],["distirbutes","distributes"],["distirbuting","distributing"],["distirbution","distribution"],["distirbutions","distributions"],["distirted","distorted"],["distnace","distance"],["distnaces","distances"],["distnce","distance"],["distnces","distances"],["distnct","distinct"],["distncte","distance"],["distnctes","distances"],["distnguish","distinguish"],["distnguished","distinguished"],["distniguish","distinguish"],["distniguished","distinguished"],["distorsion","distortion"],["distorsional","distortional"],["distorsions","distortions"],["distrbute","distribute"],["distrbuted","distributed"],["distrbutes","distributes"],["distrbuting","distributing"],["distrbution","distribution"],["distrbutions","distributions"],["distrct","district"],["distrcts","districts"],["distrebuted","distributed"],["distribtion","distribution"],["distribtions","distributions"],["distribtuion","distribution"],["distribtuions","distributions"],["distribtution","distributions"],["distribue","distribute"],["distribued","distributed"],["distribues","distributes"],["distribuion","distribution"],["distribuite","distribute"],["distribuited","distributed"],["distribuiting","distributing"],["distribuition","distribution"],["distribuitng","distributing"],["distribure","distribute"],["districct","district"],["distrobute","distribute"],["distrobuted","distributed"],["distrobutes","distributes"],["distrobuting","distributing"],["distrobution","distribution"],["distrobutions","distributions"],["distrobuts","distributes"],["distroname","distro name"],["distroying","destroying"],["distrub","disturb"],["distrubiotion","distribution"],["distrubite","distribute"],["distrubtion","distribution"],["distrubute","distribute"],["distrubuted","distributed"],["distrubution","distribution"],["distrubutions","distributions"],["distrubutor","distributor"],["distrubutors","distributors"],["distruction","destruction"],["distructive","destructive"],["distructor","destructor"],["distructors","destructors"],["distuingish","distinguish"],["disuade","dissuade"],["disucssion","discussion"],["disucssions","discussions"],["disucussion","discussion"],["disussion","discussion"],["disussions","discussions"],["disutils","distutils"],["ditance","distance"],["ditial","digital"],["ditinguishes","distinguishes"],["ditorconfig","editorconfig"],["ditribute","distribute"],["ditributed","distributed"],["ditribution","distribution"],["ditributions","distributions"],["divde","divide"],["divded","divided"],["divdes","divides"],["divding","dividing"],["divertion","diversion"],["divertions","diversions"],["divet","divot"],["divice","device"],["divicer","divider"],["divion","division"],["divisable","divisible"],["divisior","divisor"],["divison","division"],["divisons","divisions"],["divrese","diverse"],["divsion","division"],["divsions","divisions"],["divsiors","divisors"],["dloating","floating"],["dnamically","dynamically"],["dne","done"],["dnymaic","dynamic"],["do'nt","don't"],["doagonal","diagonal"],["doagonals","diagonals"],["doalog","dialog"],["doamins","domains"],["doasn't","doesn't"],["doble","double"],["dobled","doubled"],["dobles","doubles"],["dobling","doubling"],["doccument","document"],["doccumented","documented"],["doccuments","documents"],["dockson","dachshund"],["docmenetation","documentation"],["docmuent","document"],["docmunet","document"],["docmunetation","documentation"],["docmuneted","documented"],["docmuneting","documenting"],["docmunets","documents"],["docoment","document"],["docomentation","documentation"],["docomented","documented"],["docomenting","documenting"],["docoments","documents"],["docrines","doctrines"],["docstatistik","docstatistic"],["docsund","dachshund"],["doctines","doctrines"],["doctorial","doctoral"],["docucument","document"],["docuement","document"],["docuements","documents"],["docuemnt","document"],["docuemnts","documents"],["docuemtn","document"],["docuemtnation","documentation"],["docuemtned","documented"],["docuemtning","documenting"],["docuemtns","documents"],["docuent","document"],["docuentation","documentation"],["documant","document"],["documantation","documentation"],["documants","documents"],["documation","documentation"],["documemt","document"],["documen","document"],["documenatation","documentation"],["documenation","documentation"],["documenatry","documentary"],["documenet","document"],["documenetation","documentation"],["documeneted","documented"],["documeneter","documenter"],["documeneters","documenters"],["documeneting","documenting"],["documenets","documents"],["documentaion","documentation"],["documentaiton","documentation"],["documentataion","documentation"],["documentataions","documentations"],["documentaton","documentation"],["documentes","documents"],["documention","documentation"],["documetation","documentation"],["documetnation","documentation"],["documment","document"],["documments","documents"],["documnet","document"],["documnetation","documentation"],["documument","document"],["docunment","document"],["doed","does"],["doen's","doesn't"],["doen't","doesn't"],["doen","done"],["doens't","doesn't"],["doens","does"],["doensn't","doesn't"],["does'nt","doesn't"],["does't","doesn't"],["doese't","doesn't"],["doese","does"],["doesen't","doesn't"],["doesent'","doesn't"],["doesent","doesn't"],["doesits","does its"],["doesn'","doesn't"],["doesn't't","doesn't"],["doesn;t","doesn't"],["doesnexist","doesn't exist"],["doesnt'","doesn't"],["doesnt't","doesn't"],["doesnt;","doesn't"],["doess","does"],["doestn't","doesn't"],["doign","doing"],["doiing","doing"],["doiuble","double"],["doiubled","doubled"],["dokc","dock"],["dokced","docked"],["dokcer","docker"],["dokcing","docking"],["dokcre","docker"],["dokcs","docks"],["doller","dollar"],["dollers","dollars"],["dollor","dollar"],["dollors","dollars"],["domait","domain"],["doman","domain"],["domans","domains"],["domension","dimension"],["domensions","dimensions"],["domian","domain"],["domians","domains"],["dominanted","dominated"],["dominanting","dominating"],["dominantion","domination"],["dominaton","domination"],["dominent","dominant"],["dominiant","dominant"],["domonstrate","demonstrate"],["domonstrates","demonstrates"],["domonstrating","demonstrating"],["domonstration","demonstration"],["domonstrations","demonstrations"],["donain","domain"],["donains","domains"],["donejun","dungeon"],["donejuns","dungeons"],["donig","doing"],["donn't","don't"],["donnot","do not"],["dont'","don't"],["dont't","don't"],["donwload","download"],["donwloaded","downloaded"],["donwloading","downloading"],["donwloads","downloads"],["doocument","document"],["doocumentaries","documentaries"],["doocumentary","documentary"],["doocumentation","documentation"],["doocumentations","documentations"],["doocumented","documented"],["doocumenting","documenting"],["doocuments","documents"],["doorjam","doorjamb"],["dorce","force"],["dorced","forced"],["dorceful","forceful"],["dordered","ordered"],["dorment","dormant"],["dorp","drop"],["dosclosed","disclosed"],["doscloses","discloses"],["dosclosing","disclosing"],["dosclosure","disclosure"],["dosclosures","disclosures"],["dosen't","doesn't"],["dosen;t","doesn't"],["dosens","dozens"],["dosent'","doesn't"],["dosent","doesn't"],["dosent;","doesn't"],["dosn't","doesn't"],["dosn;t","doesn't"],["dosnt","doesn't"],["dosposing","disposing"],["dosument","document"],["dosuments","documents"],["dota","data"],["doube","double"],["doube-click","double-click"],["doube-clicked","double-clicked"],["doube-clicks","double-clicks"],["doube-quote","double-quote"],["doube-quoted","double-quoted"],["doube-word","double-word"],["doube-wprd","double-word"],["doubeclick","double-click"],["doubeclicked","double-clicked"],["doubeclicks","double-clicks"],["doubel","double"],["doubele-click","double-click"],["doubele-clicked","double-clicked"],["doubele-clicks","double-clicks"],["doubeleclick","double-click"],["doubeleclicked","double-clicked"],["doubeleclicks","double-clicks"],["doubely","doubly"],["doubes","doubles"],["doublde","double"],["doublded","doubled"],["doubldes","doubles"],["doubleclick","double-click"],["doublely","doubly"],["doubletquote","doublequote"],["doubth","doubt"],["doubthed","doubted"],["doubthing","doubting"],["doubths","doubts"],["doucment","document"],["doucmentated","documented"],["doucmentation","documentation"],["doucmented","documented"],["doucmenter","documenter"],["doucmenters","documenters"],["doucmentes","documents"],["doucmenting","documenting"],["doucments","documents"],["douible","double"],["douibled","doubled"],["doulbe","double"],["doumentc","document"],["dout","doubt"],["dowgrade","downgrade"],["dowlink","downlink"],["dowlinks","downlinks"],["dowload","download"],["dowloaded","downloaded"],["dowloader","downloader"],["dowloaders","downloaders"],["dowloading","downloading"],["dowloads","downloads"],["downagrade","downgrade"],["downagraded","downgraded"],["downagrades","downgrades"],["downagrading","downgrading"],["downgade","downgrade"],["downgaded","downgraded"],["downgades","downgrades"],["downgading","downgrading"],["downgarade","downgrade"],["downgaraded","downgraded"],["downgarades","downgrades"],["downgarading","downgrading"],["downgarde","downgrade"],["downgarded","downgraded"],["downgardes","downgrades"],["downgarding","downgrading"],["downgarte","downgrade"],["downgarted","downgraded"],["downgartes","downgrades"],["downgarting","downgrading"],["downgradde","downgrade"],["downgradded","downgraded"],["downgraddes","downgrades"],["downgradding","downgrading"],["downgradei","downgrade"],["downgradingn","downgrading"],["downgrate","downgrade"],["downgrated","downgraded"],["downgrates","downgrades"],["downgrating","downgrading"],["downlad","download"],["downladed","downloaded"],["downlading","downloading"],["downlads","downloads"],["downlaod","download"],["downlaoded","downloaded"],["downlaodes","downloads"],["downlaoding","downloading"],["downlaods","downloads"],["downloadmanger","downloadmanager"],["downlod","download"],["downloded","downloaded"],["downloding","downloading"],["downlods","downloads"],["downlowd","download"],["downlowded","downloaded"],["downlowding","downloading"],["downlowds","downloads"],["downoad","download"],["downoaded","downloaded"],["downoading","downloading"],["downoads","downloads"],["downoload","download"],["downoloaded","downloaded"],["downoloading","downloading"],["downoloads","downloads"],["downrade","downgrade"],["downraded","downgraded"],["downrades","downgrades"],["downrading","downgrading"],["downrgade","downgrade"],["downrgaded","downgraded"],["downrgades","downgrades"],["downrgading","downgrading"],["downsteram","downstream"],["downsteramed","downstreamed"],["downsteramer","downstreamer"],["downsteramers","downstreamers"],["downsteraming","downstreaming"],["downsterams","downstreams"],["dows","does"],["dowt","doubt"],["doxgen","doxygen"],["doygen","doxygen"],["dpeends","depends"],["dpendent","dependent"],["dpkg-buildpackge","dpkg-buildpackage"],["dpkg-buildpackges","dpkg-buildpackages"],["dpuble","double"],["dpubles","doubles"],["draconain","draconian"],["dragable","draggable"],["draged","dragged"],["draging","dragging"],["draing","drawing"],["drammatic","dramatic"],["dramtic","dramatic"],["dran","drawn"],["drastical","drastically"],["drasticaly","drastically"],["drats","drafts"],["draughtman","draughtsman"],["Dravadian","Dravidian"],["draview","drawview"],["drawack","drawback"],["drawacks","drawbacks"],["drawm","drawn"],["drawng","drawing"],["dreasm","dreams"],["dreawn","drawn"],["dregee","degree"],["dregees","degrees"],["dregree","degree"],["dregrees","degrees"],["drescription","description"],["drescriptions","descriptions"],["driagram","diagram"],["driagrammed","diagrammed"],["driagramming","diagramming"],["driagrams","diagrams"],["driectly","directly"],["drity","dirty"],["driveing","driving"],["drivr","driver"],["drnik","drink"],["drob","drop"],["dropabel","droppable"],["dropable","droppable"],["droped","dropped"],["droping","dropping"],["droppend","dropped"],["droppped","dropped"],["dropse","drops"],["droput","dropout"],["druing","during"],["druming","drumming"],["drummless","drumless"],["drvier","driver"],["drwaing","drawing"],["drwawing","drawing"],["drwawings","drawings"],["dscrete","discrete"],["dscretion","discretion"],["dscribed","described"],["dsiable","disable"],["dsiabled","disabled"],["dsplays","displays"],["dstination","destination"],["dstinations","destinations"],["dthe","the"],["dtoring","storing"],["dubios","dubious"],["dublicade","duplicate"],["dublicat","duplicate"],["dublicate","duplicate"],["dublicated","duplicated"],["dublicates","duplicates"],["dublication","duplication"],["ducment","document"],["ducument","document"],["duirng","during"],["dulicate","duplicate"],["dum","dumb"],["dumplicate","duplicate"],["dumplicated","duplicated"],["dumplicates","duplicates"],["dumplicating","duplicating"],["duoblequote","doublequote"],["dupicate","duplicate"],["duplacate","duplicate"],["duplacated","duplicated"],["duplacates","duplicates"],["duplacation","duplication"],["duplacte","duplicate"],["duplacted","duplicated"],["duplactes","duplicates"],["duplaction","duplication"],["duplaicate","duplicate"],["duplaicated","duplicated"],["duplaicates","duplicates"],["duplaication","duplication"],["duplate","duplicate"],["duplated","duplicated"],["duplates","duplicates"],["duplation","duplication"],["duplcate","duplicate"],["duplciate","duplicate"],["dupliacate","duplicate"],["dupliacates","duplicates"],["dupliace","duplicate"],["dupliacte","duplicate"],["dupliacted","duplicated"],["dupliactes","duplicates"],["dupliagte","duplicate"],["dupliate","duplicate"],["dupliated","duplicated"],["dupliates","duplicates"],["dupliating","duplicating"],["dupliation","duplication"],["dupliations","duplications"],["duplicat","duplicate"],["duplicatd","duplicated"],["duplicats","duplicates"],["dupplicate","duplicate"],["dupplicated","duplicated"],["dupplicates","duplicates"],["dupplicating","duplicating"],["dupplication","duplication"],["dupplications","duplications"],["durationm","duration"],["durectories","directories"],["durectory","directory"],["dureing","during"],["durig","during"],["durining","during"],["durning","during"],["durring","during"],["duting","during"],["dyanamically","dynamically"],["dyanmic","dynamic"],["dyanmically","dynamically"],["dyas","dryas"],["dymamically","dynamically"],["dynamc","dynamic"],["dynamcly","dynamically"],["dynamcs","dynamics"],["dynamicaly","dynamically"],["dynamiclly","dynamically"],["dynamicly","dynamically"],["dynaminc","dynamic"],["dynamincal","dynamical"],["dynamincally","dynamically"],["dynamincs","dynamics"],["dynamlic","dynamic"],["dynamlically","dynamically"],["dynically","dynamically"],["dynmaic","dynamic"],["dynmaically","dynamically"],["dynmic","dynamic"],["dynmically","dynamically"],["dynmics","dynamics"],["eabled","enabled"],["eacf","each"],["eacg","each"],["eachother","each other"],["eachs","each"],["eactly","exactly"],["eagrely","eagerly"],["eahc","each"],["eailier","earlier"],["eaiser","easier"],["ealier","earlier"],["ealiest","earliest"],["eample","example"],["eamples","examples"],["eanable","enable"],["eanble","enable"],["earleir","earlier"],["earler","earlier"],["earliear","earlier"],["earlies","earliest"],["earlist","earliest"],["earlyer","earlier"],["earnt","earned"],["earpeice","earpiece"],["easely","easily"],["easili","easily"],["easiliy","easily"],["easilly","easily"],["easist","easiest"],["easiy","easily"],["easly","easily"],["easyer","easier"],["eaxct","exact"],["ebale","enable"],["ebaled","enabled"],["EBCIDC","EBCDIC"],["ebedded","embedded"],["eccessive","excessive"],["ecclectic","eclectic"],["eceonomy","economy"],["ecept","except"],["eception","exception"],["eceptions","exceptions"],["ecidious","deciduous"],["eclise","eclipse"],["eclispe","eclipse"],["ecnetricity","eccentricity"],["ecognized","recognized"],["ecomonic","economic"],["ecounter","encounter"],["ecountered","encountered"],["ecountering","encountering"],["ecounters","encounters"],["ecplicit","explicit"],["ecplicitly","explicitly"],["ecspecially","especially"],["ect","etc"],["ecxept","except"],["ecxite","excite"],["ecxited","excited"],["ecxites","excites"],["ecxiting","exciting"],["ecxtracted","extracted"],["EDCDIC","EBCDIC"],["eddge","edge"],["eddges","edges"],["edditable","editable"],["ede","edge"],["ediable","editable"],["edige","edge"],["ediges","edges"],["ediit","edit"],["ediiting","editing"],["ediitor","editor"],["ediitors","editors"],["ediits","edits"],["editedt","edited"],["editiing","editing"],["editoro","editor"],["editot","editor"],["editots","editors"],["editt","edit"],["editted","edited"],["editter","editor"],["editting","editing"],["edittor","editor"],["edn","end"],["ednif","endif"],["edxpected","expected"],["eearly","early"],["eeeprom","EEPROM"],["eescription","description"],["eevery","every"],["eeverything","everything"],["eeverywhere","everywhere"],["eextract","extract"],["eextracted","extracted"],["eextracting","extracting"],["eextraction","extraction"],["eextracts","extracts"],["efect","effect"],["efective","effective"],["efectively","effectively"],["efel","evil"],["eferences","references"],["efetivity","effectivity"],["effciency","efficiency"],["effcient","efficient"],["effciently","efficiently"],["effctive","effective"],["effctively","effectively"],["effeciency","efficiency"],["effecient","efficient"],["effeciently","efficiently"],["effecitvely","effectively"],["effeck","effect"],["effecked","effected"],["effecks","effects"],["effeckt","effect"],["effectice","effective"],["effecticely","effectively"],["effectiviness","effectiveness"],["effectivness","effectiveness"],["effectly","effectively"],["effedts","effects"],["effekt","effect"],["effexts","effects"],["efficcient","efficient"],["efficencty","efficiency"],["efficency","efficiency"],["efficent","efficient"],["efficently","efficiently"],["effiency","efficiency"],["effient","efficient"],["effiently","efficiently"],["effulence","effluence"],["eforceable","enforceable"],["egal","equal"],["egals","equals"],["egde","edge"],["egdes","edges"],["ege","edge"],["egenral","general"],["egenralise","generalise"],["egenralised","generalised"],["egenralises","generalises"],["egenralize","generalize"],["egenralized","generalized"],["egenralizes","generalizes"],["egenrally","generally"],["ehance","enhance"],["ehanced","enhanced"],["ehancement","enhancement"],["ehancements","enhancements"],["ehenever","whenever"],["ehough","enough"],["ehr","her"],["ehternet","Ethernet"],["ehthernet","ethernet"],["eighter","either"],["eihter","either"],["einstance","instance"],["eisntance","instance"],["eiter","either"],["eith","with"],["elaspe","elapse"],["elasped","elapsed"],["elaspes","elapses"],["elasping","elapsing"],["elction","election"],["elctromagnetic","electromagnetic"],["elease","release"],["eleased","released"],["eleases","releases"],["eleate","relate"],["electical","electrical"],["electirc","electric"],["electircal","electrical"],["electrial","electrical"],["electricly","electrically"],["electricty","electricity"],["electrinics","electronics"],["electriv","electric"],["electrnoics","electronics"],["eleemnt","element"],["eleent","element"],["elegible","eligible"],["elelement","element"],["elelements","elements"],["elelment","element"],["elelmental","elemental"],["elelmentary","elementary"],["elelments","elements"],["elemant","element"],["elemantary","elementary"],["elemement","element"],["elemements","elements"],["elememt","element"],["elemen","element"],["elemenent","element"],["elemenental","elemental"],["elemenents","elements"],["elemenet","element"],["elemenets","elements"],["elemens","elements"],["elemenst","elements"],["elementay","elementary"],["elementry","elementary"],["elemet","element"],["elemetal","elemental"],["elemetn","element"],["elemetns","elements"],["elemets","elements"],["eleminate","eliminate"],["eleminated","eliminated"],["eleminates","eliminates"],["eleminating","eliminating"],["elemnets","elements"],["elemnt","element"],["elemntal","elemental"],["elemnts","elements"],["elemt","element"],["elemtary","elementary"],["elemts","elements"],["elenment","element"],["eles","else"],["eletricity","electricity"],["eletromagnitic","electromagnetic"],["eletronic","electronic"],["elgible","eligible"],["elicided","elicited"],["eligable","eligible"],["elimentary","elementary"],["elimiante","eliminate"],["elimiate","eliminate"],["eliminetaion","elimination"],["elimintate","eliminate"],["eliminte","eliminate"],["elimnated","eliminated"],["eliptic","elliptic"],["eliptical","elliptical"],["elipticity","ellipticity"],["ellapsed","elapsed"],["ellected","elected"],["ellement","element"],["ellemental","elemental"],["ellementals","elementals"],["ellements","elements"],["elliminate","eliminate"],["elliminated","eliminated"],["elliminates","eliminates"],["elliminating","eliminating"],["ellipsises","ellipsis"],["ellision","elision"],["elmenet","element"],["elmenets","elements"],["elment","element"],["elments","elements"],["elminate","eliminate"],["elminated","eliminated"],["elminates","eliminates"],["elminating","eliminating"],["elphant","elephant"],["elsef","elseif"],["elsehwere","elsewhere"],["elseof","elseif"],["elseswhere","elsewhere"],["elsewehere","elsewhere"],["elsewere","elsewhere"],["elsewhwere","elsewhere"],["elsiof","elseif"],["elsof","elseif"],["emabaroged","embargoed"],["emable","enable"],["emabled","enabled"],["emables","enables"],["emabling","enabling"],["emailling","emailing"],["embarass","embarrass"],["embarassed","embarrassed"],["embarasses","embarrasses"],["embarassing","embarrassing"],["embarassment","embarrassment"],["embargos","embargoes"],["embarras","embarrass"],["embarrased","embarrassed"],["embarrasing","embarrassing"],["embarrasingly","embarrassingly"],["embarrasment","embarrassment"],["embbedded","embedded"],["embbeded","embedded"],["embdder","embedder"],["embdedded","embedded"],["embebbed","embedded"],["embedd","embed"],["embeddded","embedded"],["embeddeding","embedding"],["embedds","embeds"],["embeded","embedded"],["embededded","embedded"],["embeed","embed"],["embezelled","embezzled"],["emblamatic","emblematic"],["embold","embolden"],["embrodery","embroidery"],["emcompass","encompass"],["emcompassed","encompassed"],["emcompassing","encompassing"],["emedded","embedded"],["emegrency","emergency"],["emenet","element"],["emenets","elements"],["emiited","emitted"],["eminate","emanate"],["eminated","emanated"],["emision","emission"],["emited","emitted"],["emiting","emitting"],["emlation","emulation"],["emmediately","immediately"],["emminently","eminently"],["emmisaries","emissaries"],["emmisarries","emissaries"],["emmisarry","emissary"],["emmisary","emissary"],["emmision","emission"],["emmisions","emissions"],["emmit","emit"],["emmited","emitted"],["emmiting","emitting"],["emmits","emits"],["emmitted","emitted"],["emmitting","emitting"],["emnity","enmity"],["emoty","empty"],["emough","enough"],["emought","enough"],["emperical","empirical"],["emperically","empirically"],["emphaised","emphasised"],["emphsis","emphasis"],["emphysyma","emphysema"],["empiracally","empirically"],["empiricaly","empirically"],["emplyed","employed"],["emplyee","employee"],["emplyees","employees"],["emplyer","employer"],["emplyers","employers"],["emplying","employing"],["emplyment","employment"],["emplyments","employments"],["emporer","emperor"],["emprically","empirically"],["emprisoned","imprisoned"],["emprove","improve"],["emproved","improved"],["emprovement","improvement"],["emprovements","improvements"],["emproves","improves"],["emproving","improving"],["emptniess","emptiness"],["emptry","empty"],["emptyed","emptied"],["emptyy","empty"],["empy","empty"],["emtied","emptied"],["emties","empties"],["emtpies","empties"],["emtpy","empty"],["emty","empty"],["emtying","emptying"],["emultor","emulator"],["emultors","emulators"],["enabe","enable"],["enabel","enable"],["enabeled","enabled"],["enabeling","enabling"],["enabing","enabling"],["enabledi","enabled"],["enableing","enabling"],["enablen","enabled"],["enalbe","enable"],["enalbed","enabled"],["enalbes","enables"],["enameld","enameled"],["enaugh","enough"],["enbable","enable"],["enbabled","enabled"],["enbabling","enabling"],["enbale","enable"],["enbaled","enabled"],["enbales","enables"],["enbaling","enabling"],["enbedding","embedding"],["enble","enable"],["encapsualtes","encapsulates"],["encapsulatzion","encapsulation"],["encapsultion","encapsulation"],["encaspulate","encapsulate"],["encaspulated","encapsulated"],["encaspulates","encapsulates"],["encaspulating","encapsulating"],["encaspulation","encapsulation"],["enchanced","enhanced"],["enclosng","enclosing"],["enclosue","enclosure"],["enclosung","enclosing"],["enclude","include"],["encluding","including"],["encocde","encode"],["encocded","encoded"],["encocder","encoder"],["encocders","encoders"],["encocdes","encodes"],["encocding","encoding"],["encocdings","encodings"],["encodingt","encoding"],["encodning","encoding"],["encodnings","encodings"],["encompas","encompass"],["encompased","encompassed"],["encompases","encompasses"],["encompasing","encompassing"],["enconde","encode"],["enconded","encoded"],["enconder","encoder"],["enconders","encoders"],["encondes","encodes"],["enconding","encoding"],["encondings","encodings"],["encorded","encoded"],["encorder","encoder"],["encorders","encoders"],["encording","encoding"],["encordings","encodings"],["encorporating","incorporating"],["encoser","encoder"],["encosers","encoders"],["encosure","enclosure"],["encounterd","encountered"],["encountres","encounters"],["encouraing","encouraging"],["encouter","encounter"],["encoutered","encountered"],["encouters","encounters"],["encoutner","encounter"],["encoutners","encounters"],["encouttering","encountering"],["encrcypt","encrypt"],["encrcypted","encrypted"],["encrcyption","encryption"],["encrcyptions","encryptions"],["encrcypts","encrypts"],["encript","encrypt"],["encripted","encrypted"],["encription","encryption"],["encriptions","encryptions"],["encripts","encrypts"],["encrpt","encrypt"],["encrpted","encrypted"],["encrption","encryption"],["encrptions","encryptions"],["encrpts","encrypts"],["encrupted","encrypted"],["encrypiton","encryption"],["encryptiion","encryption"],["encryptio","encryption"],["encryptiong","encryption"],["encrytion","encryption"],["encrytped","encrypted"],["encrytption","encryption"],["encupsulates","encapsulates"],["encylopedia","encyclopedia"],["encypted","encrypted"],["encyption","encryption"],["endcoded","encoded"],["endcoder","encoder"],["endcoders","encoders"],["endcodes","encodes"],["endcoding","encoding"],["endcodings","encodings"],["endding","ending"],["ende","end"],["endevors","endeavors"],["endevour","endeavour"],["endfi","endif"],["endianes","endianness"],["endianess","endianness"],["endianity","endianness"],["endiannes","endianness"],["endig","ending"],["endiness","endianness"],["endnoden","endnode"],["endoint","endpoint"],["endolithes","endoliths"],["endpints","endpoints"],["endpiont","endpoint"],["endpionts","endpoints"],["endpont","endpoint"],["endponts","endpoints"],["endsup","ends up"],["enduce","induce"],["eneables","enables"],["enebale","enable"],["enebaled","enabled"],["eneble","enable"],["ened","need"],["enegeries","energies"],["enegery","energy"],["enehanced","enhanced"],["enery","energy"],["eneter","enter"],["enetered","entered"],["enetities","entities"],["enetity","entity"],["eneumeration","enumeration"],["eneumerations","enumerations"],["eneumretaion","enumeration"],["eneumretaions","enumerations"],["enew","new"],["enflamed","inflamed"],["enforcable","enforceable"],["enforceing","enforcing"],["enforcmement","enforcement"],["enforcment","enforcement"],["enfore","enforce"],["enfored","enforced"],["enfores","enforces"],["enforncing","enforcing"],["engagment","engagement"],["engeneer","engineer"],["engeneering","engineering"],["engery","energy"],["engieer","engineer"],["engieneer","engineer"],["engieneers","engineers"],["enginee","engine"],["enginge","engine"],["enginin","engine"],["enginineer","engineer"],["engoug","enough"],["enhabce","enhance"],["enhabced","enhanced"],["enhabces","enhances"],["enhabcing","enhancing"],["enhace","enhance"],["enhaced","enhanced"],["enhacement","enhancement"],["enhacements","enhancements"],["enhancd","enhanced"],["enhancment","enhancement"],["enhancments","enhancements"],["enhaned","enhanced"],["enhence","enhance"],["enhenced","enhanced"],["enhencement","enhancement"],["enhencements","enhancements"],["enhencment","enhancement"],["enhencments","enhancements"],["enironment","environment"],["enironments","environments"],["enities","entities"],["enitities","entities"],["enitity","entity"],["enitre","entire"],["enivornment","environment"],["enivornments","environments"],["enivronment","environment"],["enlargment","enlargement"],["enlargments","enlargements"],["enlightnment","enlightenment"],["enlose","enclose"],["enmpty","empty"],["enmum","enum"],["ennpoint","endpoint"],["enntries","entries"],["enocde","encode"],["enocded","encoded"],["enocder","encoder"],["enocders","encoders"],["enocdes","encodes"],["enocding","encoding"],["enocdings","encodings"],["enogh","enough"],["enoght","enough"],["enoguh","enough"],["enouch","enough"],["enoucnter","encounter"],["enoucntered","encountered"],["enoucntering","encountering"],["enoucnters","encounters"],["enouf","enough"],["enoufh","enough"],["enought","enough"],["enoughts","enough"],["enougth","enough"],["enouh","enough"],["enouhg","enough"],["enouncter","encounter"],["enounctered","encountered"],["enounctering","encountering"],["enouncters","encounters"],["enoung","enough"],["enoungh","enough"],["enounter","encounter"],["enountered","encountered"],["enountering","encountering"],["enounters","encounters"],["enouph","enough"],["enourage","encourage"],["enouraged","encouraged"],["enourages","encourages"],["enouraging","encouraging"],["enourmous","enormous"],["enourmously","enormously"],["enouth","enough"],["enouugh","enough"],["enpoint","endpoint"],["enpoints","endpoints"],["enque","enqueue"],["enqueing","enqueuing"],["enrties","entries"],["enrtries","entries"],["enrtry","entry"],["enrty","entry"],["ensconsed","ensconced"],["entaglements","entanglements"],["entended","intended"],["entension","extension"],["entensions","extensions"],["ententries","entries"],["enterance","entrance"],["enteratinment","entertainment"],["entereing","entering"],["enterie","entry"],["enteries","entries"],["enterily","entirely"],["enterprice","enterprise"],["enterprices","enterprises"],["entery","entry"],["enteties","entities"],["entety","entity"],["enthaplies","enthalpies"],["enthaply","enthalpy"],["enthousiasm","enthusiasm"],["enthusiam","enthusiasm"],["enthusiatic","enthusiastic"],["entierly","entirely"],["entireity","entirety"],["entires","entries"],["entirey","entirely"],["entirity","entirety"],["entirly","entirely"],["entitee","entity"],["entitees","entities"],["entites","entities"],["entiti","entity"],["entitie","entity"],["entitites","entities"],["entitities","entities"],["entitity","entity"],["entitiy","entity"],["entitiys","entities"],["entitlied","entitled"],["entitys","entities"],["entoties","entities"],["entoty","entity"],["entrace","entrance"],["entraced","entranced"],["entraces","entrances"],["entrepeneur","entrepreneur"],["entrepeneurs","entrepreneurs"],["entriess","entries"],["entrophy","entropy"],["enttries","entries"],["enttry","entry"],["enulation","emulation"],["enumarate","enumerate"],["enumarated","enumerated"],["enumarates","enumerates"],["enumarating","enumerating"],["enumation","enumeration"],["enumearate","enumerate"],["enumearation","enumeration"],["enumerble","enumerable"],["enumertaion","enumeration"],["enusre","ensure"],["envaluation","evaluation"],["enveloppe","envelope"],["envelopped","enveloped"],["enveloppes","envelopes"],["envelopping","enveloping"],["enver","never"],["envioment","environment"],["enviomental","environmental"],["envioments","environments"],["envionment","environment"],["envionmental","environmental"],["envionments","environments"],["enviorement","environment"],["envioremental","environmental"],["enviorements","environments"],["enviorenment","environment"],["enviorenmental","environmental"],["enviorenments","environments"],["enviorment","environment"],["enviormental","environmental"],["enviormentally","environmentally"],["enviorments","environments"],["enviornemnt","environment"],["enviornemntal","environmental"],["enviornemnts","environments"],["enviornment","environment"],["enviornmental","environmental"],["enviornmentalist","environmentalist"],["enviornmentally","environmentally"],["enviornments","environments"],["envioronment","environment"],["envioronmental","environmental"],["envioronments","environments"],["envireonment","environment"],["envirionment","environment"],["envirnment","environment"],["envirnmental","environmental"],["envirnments","environments"],["envirnoment","environment"],["envirnoments","environments"],["enviroiment","environment"],["enviroment","environment"],["enviromental","environmental"],["enviromentalist","environmentalist"],["enviromentally","environmentally"],["enviroments","environments"],["enviromnent","environment"],["enviromnental","environmental"],["enviromnentally","environmentally"],["enviromnents","environments"],["environement","environment"],["environemnt","environment"],["environemntal","environmental"],["environemnts","environments"],["environent","environment"],["environmane","environment"],["environmenet","environment"],["environmenets","environments"],["environmet","environment"],["environmets","environments"],["environmnet","environment"],["environmont","environment"],["environnement","environment"],["environtment","environment"],["envolutionary","evolutionary"],["envolved","involved"],["envorce","enforce"],["envrion","environ"],["envrionment","environment"],["envrionmental","environmental"],["envrionments","environments"],["envrions","environs"],["envriron","environ"],["envrironment","environment"],["envrironmental","environmental"],["envrironments","environments"],["envrirons","environs"],["envvironment","environment"],["enxt","next"],["enything","anything"],["enyway","anyway"],["epecifica","especifica"],["epect","expect"],["epected","expected"],["epectedly","expectedly"],["epecting","expecting"],["epects","expects"],["ephememeral","ephemeral"],["ephememeris","ephemeris"],["epidsodes","episodes"],["epigramic","epigrammatic"],["epilgoue","epilogue"],["episdoe","episode"],["episdoes","episodes"],["eploit","exploit"],["eploits","exploits"],["epmty","empty"],["epressions","expressions"],["epsiode","episode"],["eptied","emptied"],["eptier","emptier"],["epties","empties"],["eptrapolate","extrapolate"],["eptrapolated","extrapolated"],["eptrapolates","extrapolates"],["epty","empty"],["epxanded","expanded"],["epxected","expected"],["epxiressions","expressions"],["epxlicit","explicit"],["eqaul","equal"],["eqaulity","equality"],["eqaulizer","equalizer"],["eqivalent","equivalent"],["eqivalents","equivalents"],["equailateral","equilateral"],["equalibrium","equilibrium"],["equallity","equality"],["equalls","equals"],["equaly","equally"],["equeation","equation"],["equeations","equations"],["equel","equal"],["equelibrium","equilibrium"],["equialent","equivalent"],["equil","equal"],["equilavalent","equivalent"],["equilibium","equilibrium"],["equilibrum","equilibrium"],["equilvalent","equivalent"],["equilvalently","equivalently"],["equilvalents","equivalents"],["equiped","equipped"],["equipmentd","equipment"],["equipments","equipment"],["equippment","equipment"],["equiptment","equipment"],["equitorial","equatorial"],["equivalance","equivalence"],["equivalant","equivalent"],["equivelant","equivalent"],["equivelent","equivalent"],["equivelents","equivalents"],["equivilant","equivalent"],["equivilent","equivalent"],["equivivalent","equivalent"],["equivlalent","equivalent"],["equivlantly","equivalently"],["equivlent","equivalent"],["equivlently","equivalently"],["equivlents","equivalents"],["equivqlent","equivalent"],["eqution","equation"],["equtions","equations"],["equvalent","equivalent"],["equvivalent","equivalent"],["erasablocks","eraseblocks"],["eratic","erratic"],["eratically","erratically"],["eraticly","erratically"],["erformance","performance"],["erliear","earlier"],["erlier","earlier"],["erly","early"],["ermergency","emergency"],["eroneous","erroneous"],["eror","error"],["erorneus","erroneous"],["erorneusly","erroneously"],["erorr","error"],["erorrs","errors"],["erors","errors"],["erraneously","erroneously"],["erro","error"],["erroneus","erroneous"],["erroneusly","erroneously"],["erronous","erroneous"],["erronously","erroneously"],["errorneous","erroneous"],["errorneously","erroneously"],["errorneus","erroneous"],["errornous","erroneous"],["errornously","erroneously"],["errorprone","error-prone"],["errorr","error"],["erros","errors"],["errot","error"],["errots","errors"],["errro","error"],["errror","error"],["errrors","errors"],["errros","errors"],["errupted","erupted"],["ertoneous","erroneous"],["ertoneously","erroneously"],["ervery","every"],["erverything","everything"],["esacpe","escape"],["esacped","escaped"],["esacpes","escapes"],["escalte","escalate"],["escalted","escalated"],["escaltes","escalates"],["escalting","escalating"],["escaltion","escalation"],["escapeable","escapable"],["escapemant","escapement"],["escased","escaped"],["escation","escalation"],["esccape","escape"],["esccaped","escaped"],["escpae","escape"],["escpaed","escaped"],["esecute","execute"],["esential","essential"],["esentially","essentially"],["esge","edge"],["esger","edger"],["esgers","edgers"],["esges","edges"],["esging","edging"],["esiest","easiest"],["esimate","estimate"],["esimated","estimated"],["esimates","estimates"],["esimating","estimating"],["esimation","estimation"],["esimations","estimations"],["esimator","estimator"],["esimators","estimators"],["esists","exists"],["esitmate","estimate"],["esitmated","estimated"],["esitmates","estimates"],["esitmating","estimating"],["esitmation","estimation"],["esitmations","estimations"],["esitmator","estimator"],["esitmators","estimators"],["esle","else"],["esnure","ensure"],["esnured","ensured"],["esnures","ensures"],["espacally","especially"],["espace","escape"],["espaced","escaped"],["espaces","escapes"],["espacially","especially"],["espacing","escaping"],["espcially","especially"],["especailly","especially"],["especally","especially"],["especialy","especially"],["especialyl","especially"],["especiially","especially"],["espect","expect"],["espeically","especially"],["esseintially","essentially"],["essencial","essential"],["essense","essence"],["essentail","essential"],["essentailly","essentially"],["essentaily","essentially"],["essental","essential"],["essentally","essentially"],["essentals","essentials"],["essentialy","essentially"],["essentual","essential"],["essentually","essentially"],["essentualy","essentially"],["essesital","essential"],["essesitally","essentially"],["essesitaly","essentially"],["essiential","essential"],["esssential","essential"],["estabilish","establish"],["estabish","establish"],["estabishd","established"],["estabished","established"],["estabishes","establishes"],["estabishing","establishing"],["establised","established"],["establishs","establishes"],["establising","establishing"],["establsihed","established"],["estbalishment","establishment"],["estimage","estimate"],["estimages","estimates"],["estiomator","estimator"],["estiomators","estimators"],["esy","easy"],["etablish","establish"],["etablishd","established"],["etablished","established"],["etablishing","establishing"],["etcc","etc"],["etcp","etc"],["etensible","extensible"],["etension","extension"],["etensions","extensions"],["ethe","the"],["etherenet","Ethernet"],["ethernal","eternal"],["ethnocentricm","ethnocentrism"],["etiher","either"],["etroneous","erroneous"],["etroneously","erroneously"],["etsablishment","establishment"],["etsbalishment","establishment"],["etst","test"],["etsts","tests"],["etxt","text"],["euclidian","euclidean"],["euivalent","equivalent"],["euivalents","equivalents"],["euqivalent","equivalent"],["euqivalents","equivalents"],["euristic","heuristic"],["euristics","heuristics"],["Europian","European"],["Europians","Europeans"],["Eurpean","European"],["Eurpoean","European"],["evalation","evaluation"],["evalite","evaluate"],["evalited","evaluated"],["evalites","evaluates"],["evaluataion","evaluation"],["evaluataions","evaluations"],["evalueate","evaluate"],["evalueated","evaluated"],["evaluete","evaluate"],["evalueted","evaluated"],["evalulates","evaluates"],["evalutae","evaluate"],["evalutaed","evaluated"],["evalutaeing","evaluating"],["evalutaes","evaluates"],["evalutaing","evaluating"],["evalutaion","evaluation"],["evalutaions","evaluations"],["evalutaor","evaluator"],["evalutate","evaluate"],["evalutated","evaluated"],["evalutates","evaluates"],["evalutating","evaluating"],["evalutation","evaluation"],["evalutations","evaluations"],["evalute","evaluate"],["evaluted","evaluated"],["evalutes","evaluates"],["evaluting","evaluating"],["evalutions","evaluations"],["evalutive","evaluative"],["evalutor","evaluator"],["evalutors","evaluators"],["evaulate","evaluate"],["evaulated","evaluated"],["evaulates","evaluates"],["evaulating","evaluating"],["evaulation","evaluation"],["evaulator","evaluator"],["evaulted","evaluated"],["evauluate","evaluate"],["evauluated","evaluated"],["evauluates","evaluates"],["evauluation","evaluation"],["eveluate","evaluate"],["eveluated","evaluated"],["eveluates","evaluates"],["eveluating","evaluating"],["eveluation","evaluation"],["eveluations","evaluations"],["eveluator","evaluator"],["eveluators","evaluators"],["evenhtually","eventually"],["eventally","eventually"],["eventaully","eventually"],["eventhanders","event handlers"],["eventhough","even though"],["eventially","eventually"],["eventuall","eventually"],["eventualy","eventually"],["evenually","eventually"],["eveolution","evolution"],["eveolutionary","evolutionary"],["eveolve","evolve"],["eveolved","evolved"],["eveolves","evolves"],["eveolving","evolving"],["everage","average"],["everaged","averaged"],["everbody","everybody"],["everithing","everything"],["everone","everyone"],["everthing","everything"],["evertyhign","everything"],["evertyhing","everything"],["evertything","everything"],["everwhere","everywhere"],["everyhing","everything"],["everyhting","everything"],["everythig","everything"],["everythign","everything"],["everythin","everything"],["everythings","everything"],["everytime","every time"],["everyting","everything"],["everytone","everyone"],["evey","every"],["eveyone","everyone"],["eveyr","every"],["evidentally","evidently"],["evironment","environment"],["evironments","environments"],["evition","eviction"],["evluate","evaluate"],["evluated","evaluated"],["evluates","evaluates"],["evluating","evaluating"],["evluation","evaluation"],["evluations","evaluations"],["evluative","evaluative"],["evluator","evaluator"],["evluators","evaluators"],["evnet","event"],["evnts","events"],["evoluate","evaluate"],["evoluated","evaluated"],["evoluates","evaluates"],["evoluation","evaluations"],["evovler","evolver"],["evovling","evolving"],["evrithing","everything"],["evry","every"],["evrythign","everything"],["evrything","everything"],["evrywhere","everywhere"],["evyrthing","everything"],["ewhwer","where"],["exaclty","exactly"],["exacly","exactly"],["exactely","exactly"],["exacty","exactly"],["exacutable","executable"],["exagerate","exaggerate"],["exagerated","exaggerated"],["exagerates","exaggerates"],["exagerating","exaggerating"],["exagerrate","exaggerate"],["exagerrated","exaggerated"],["exagerrates","exaggerates"],["exagerrating","exaggerating"],["exameple","example"],["exameples","examples"],["examied","examined"],["examinated","examined"],["examing","examining"],["examinining","examining"],["examle","example"],["examles","examples"],["examlpe","example"],["examlpes","examples"],["examnple","example"],["examnples","examples"],["exampel","example"],["exampeles","examples"],["exampels","examples"],["examplees","examples"],["examplifies","exemplifies"],["exampple","example"],["exampples","examples"],["exampt","exempt"],["exand","expand"],["exansive","expansive"],["exapansion","expansion"],["exapend","expand"],["exaplain","explain"],["exaplaination","explanation"],["exaplained","explained"],["exaplaining","explaining"],["exaplains","explains"],["exaplanation","explanation"],["exaplanations","explanations"],["exaple","example"],["exaples","examples"],["exapmle","example"],["exapmles","examples"],["exapnsion","expansion"],["exat","exact"],["exatcly","exactly"],["exatctly","exactly"],["exatly","exactly"],["exausted","exhausted"],["excact","exact"],["excactly","exactly"],["excahcnge","exchange"],["excahnge","exchange"],["excahnges","exchanges"],["excange","exchange"],["excape","escape"],["excaped","escaped"],["excapes","escapes"],["excat","exact"],["excating","exacting"],["excatly","exactly"],["exccute","execute"],["excecise","exercise"],["excecises","exercises"],["excecpt","except"],["excecption","exception"],["excecptional","exceptional"],["excecptions","exceptions"],["excectable","executable"],["excectables","executables"],["excecte","execute"],["excectedly","expectedly"],["excectes","executes"],["excecting","executing"],["excectional","exceptional"],["excective","executive"],["excectives","executives"],["excector","executor"],["excectors","executors"],["excects","expects"],["excecutable","executable"],["excecutables","executables"],["excecute","execute"],["excecuted","executed"],["excecutes","executes"],["excecuting","executing"],["excecution","execution"],["excecutions","executions"],["excecutive","executive"],["excecutives","executives"],["excecutor","executor"],["excecutors","executors"],["excecuts","executes"],["exced","exceed"],["excedded","exceeded"],["excedding","exceeding"],["excede","exceed"],["exceded","exceeded"],["excedeed","exceeded"],["excedes","exceeds"],["exceding","exceeding"],["exceeed","exceed"],["exceirpt","excerpt"],["exceirpts","excerpts"],["excelent","excellent"],["excell","excel"],["excellance","excellence"],["excellant","excellent"],["excells","excels"],["excempt","exempt"],["excempted","exempted"],["excemption","exemption"],["excemptions","exemptions"],["excempts","exempts"],["excentric","eccentric"],["excentricity","eccentricity"],["excentuating","accentuating"],["exceopt","exempt"],["exceopted","exempted"],["exceopts","exempts"],["exceotion","exemption"],["exceotions","exemptions"],["excepetion","exception"],["excepion","exception"],["excepional","exceptional"],["excepionally","exceptionally"],["excepions","exceptions"],["exceprt","excerpt"],["exceprts","excerpts"],["exceptation","expectation"],["exceptionnal","exceptional"],["exceptionss","exceptions"],["exceptionts","exceptions"],["excercise","exercise"],["excercised","exercised"],["excerciser","exerciser"],["excercises","exercises"],["excercising","exercising"],["excerise","exercise"],["exces","excess"],["excesed","exceeded"],["excesive","excessive"],["excesively","excessively"],["excesss","excess"],["excesv","excessive"],["excesvly","excessively"],["excetion","exception"],["excetional","exceptional"],["excetions","exceptions"],["excetpion","exception"],["excetpional","exceptional"],["excetpions","exceptions"],["excetption","exception"],["excetptional","exceptional"],["excetptions","exceptions"],["excetra","etcetera"],["excetutable","executable"],["excetutables","executables"],["excetute","execute"],["excetuted","executed"],["excetutes","executes"],["excetuting","executing"],["excetution","execution"],["excetutions","executions"],["excetutive","executive"],["excetutives","executives"],["excetutor","executor"],["excetutors","executors"],["exceuctable","executable"],["exceuctables","executables"],["exceucte","execute"],["exceucted","executed"],["exceuctes","executes"],["exceucting","executing"],["exceuction","execution"],["exceuctions","executions"],["exceuctive","executive"],["exceuctives","executives"],["exceuctor","executor"],["exceuctors","executors"],["exceutable","executable"],["exceutables","executables"],["exceute","execute"],["exceuted","executed"],["exceutes","executes"],["exceuting","executing"],["exceution","execution"],["exceutions","executions"],["exceutive","executive"],["exceutives","executives"],["exceutor","executor"],["exceutors","executors"],["excewption","exception"],["excewptional","exceptional"],["excewptions","exceptions"],["exchage","exchange"],["exchaged","exchanged"],["exchages","exchanges"],["exchaging","exchanging"],["exchagne","exchange"],["exchagned","exchanged"],["exchagnes","exchanges"],["exchagnge","exchange"],["exchagnged","exchanged"],["exchagnges","exchanges"],["exchagnging","exchanging"],["exchagning","exchanging"],["exchanage","exchange"],["exchanaged","exchanged"],["exchanages","exchanges"],["exchanaging","exchanging"],["exchance","exchange"],["exchanced","exchanged"],["exchances","exchanges"],["exchanche","exchange"],["exchanched","exchanged"],["exchanches","exchanges"],["exchanching","exchanging"],["exchancing","exchanging"],["exchane","exchange"],["exchaned","exchanged"],["exchanes","exchanges"],["exchangable","exchangeable"],["exchaning","exchanging"],["exchaust","exhaust"],["exchausted","exhausted"],["exchausting","exhausting"],["exchaustive","exhaustive"],["exchausts","exhausts"],["exchenge","exchange"],["exchenged","exchanged"],["exchenges","exchanges"],["exchenging","exchanging"],["exchnage","exchange"],["exchnaged","exchanged"],["exchnages","exchanges"],["exchnaging","exchanging"],["exchng","exchange"],["exchngd","exchanged"],["exchnge","exchange"],["exchnged","exchanged"],["exchnges","exchanges"],["exchnging","exchanging"],["exchngng","exchanging"],["exchngs","exchanges"],["exciation","excitation"],["excipt","except"],["exciption","exception"],["exciptions","exceptions"],["excist","exist"],["excisted","existed"],["excisting","existing"],["excitment","excitement"],["exclamantion","exclamation"],["excludde","exclude"],["excludind","excluding"],["exclusiv","exclusive"],["exclusivelly","exclusively"],["exclusivly","exclusively"],["exclusivs","exclusives"],["excluslvely","exclusively"],["exclusuive","exclusive"],["exclusuively","exclusively"],["exclusuives","exclusives"],["excpect","expect"],["excpected","expected"],["excpecting","expecting"],["excpects","expects"],["excpeption","exception"],["excpet","except"],["excpetion","exception"],["excpetional","exceptional"],["excpetions","exceptions"],["excplicit","explicit"],["excplicitly","explicitly"],["excplict","explicit"],["excplictly","explicitly"],["excract","extract"],["exctacted","extracted"],["exctract","extract"],["exctracted","extracted"],["exctracting","extracting"],["exctraction","extraction"],["exctractions","extractions"],["exctractor","extractor"],["exctractors","extractors"],["exctracts","extracts"],["exculde","exclude"],["exculding","excluding"],["exculsive","exclusive"],["exculsively","exclusively"],["exculsivly","exclusively"],["excutable","executable"],["excutables","executables"],["excute","execute"],["excuted","executed"],["excutes","executes"],["excuting","executing"],["excution","execution"],["execeed","exceed"],["execeeded","exceeded"],["execeeds","exceeds"],["exeception","exception"],["execeptions","exceptions"],["execising","exercising"],["execption","exception"],["execptions","exceptions"],["exectable","executable"],["exection","execution"],["exections","executions"],["exectuable","executable"],["exectuableness","executableness"],["exectuables","executables"],["exectued","executed"],["exectuion","execution"],["exectuions","executions"],["execture","execute"],["exectured","executed"],["exectures","executes"],["execturing","executing"],["exectute","execute"],["exectuted","executed"],["exectutes","executes"],["exectution","execution"],["exectutions","executions"],["execuable","executable"],["execuables","executables"],["execuatable","executable"],["execuatables","executables"],["execuatble","executable"],["execuatbles","executables"],["execuate","execute"],["execuated","executed"],["execuates","executes"],["execuation","execution"],["execuations","executions"],["execubale","executable"],["execubales","executables"],["execucte","execute"],["execucted","executed"],["execuctes","executes"],["execuction","execution"],["execuctions","executions"],["execuctor","executor"],["execuctors","executors"],["execude","execute"],["execuded","executed"],["execudes","executes"],["execue","execute"],["execued","executed"],["execues","executes"],["execuet","execute"],["execuetable","executable"],["execuetd","executed"],["execuete","execute"],["execueted","executed"],["execuetes","executes"],["execuets","executes"],["execuing","executing"],["execuion","execution"],["execuions","executions"],["execuitable","executable"],["execuitables","executables"],["execuite","execute"],["execuited","executed"],["execuites","executes"],["execuiting","executing"],["execuition","execution"],["execuitions","executions"],["execulatble","executable"],["execulatbles","executables"],["execultable","executable"],["execultables","executables"],["execulusive","exclusive"],["execune","execute"],["execuned","executed"],["execunes","executes"],["execunting","executing"],["execurable","executable"],["execurables","executables"],["execure","execute"],["execured","executed"],["execures","executes"],["execusion","execution"],["execusions","executions"],["execusive","exclusive"],["execustion","execution"],["execustions","executions"],["execut","execute"],["executabable","executable"],["executabables","executables"],["executabe","executable"],["executabel","executable"],["executabels","executables"],["executabes","executables"],["executablble","executable"],["executabnle","executable"],["executabnles","executables"],["executation","execution"],["executations","executions"],["executbale","executable"],["executbales","executables"],["executble","executable"],["executbles","executables"],["executd","executed"],["executding","executing"],["executeable","executable"],["executeables","executables"],["executible","executable"],["executign","executing"],["executng","executing"],["executre","execute"],["executred","executed"],["executres","executes"],["executs","executes"],["executting","executing"],["executtion","execution"],["executtions","executions"],["executuable","executable"],["executuables","executables"],["executuble","executable"],["executubles","executables"],["executue","execute"],["executued","executed"],["executues","executes"],["executuing","executing"],["executuion","execution"],["executuions","executions"],["executung","executing"],["executuon","execution"],["executuons","executions"],["executute","execute"],["execututed","executed"],["execututes","executes"],["executution","execution"],["execututions","executions"],["exeed","exceed"],["exeeding","exceeding"],["exeedingly","exceedingly"],["exeeds","exceeds"],["exelent","excellent"],["exellent","excellent"],["exempel","example"],["exempels","examples"],["exemple","example"],["exemples","examples"],["exended","extended"],["exension","extension"],["exensions","extensions"],["exent","extent"],["exentended","extended"],["exepct","expect"],["exepcted","expected"],["exepcts","expects"],["exepect","expect"],["exepectation","expectation"],["exepectations","expectations"],["exepected","expected"],["exepectedly","expectedly"],["exepecting","expecting"],["exepects","expects"],["exepriment","experiment"],["exeprimental","experimental"],["exeptional","exceptional"],["exeptions","exceptions"],["exeqution","execution"],["exerbate","exacerbate"],["exerbated","exacerbated"],["exerciese","exercise"],["exerciesed","exercised"],["exercieses","exercises"],["exerciesing","exercising"],["exercize","exercise"],["exerimental","experimental"],["exerpt","excerpt"],["exerpts","excerpts"],["exersize","exercise"],["exersizes","exercises"],["exerternal","external"],["exeucte","execute"],["exeucted","executed"],["exeuctes","executes"],["exeution","execution"],["exexutable","executable"],["exhalted","exalted"],["exhange","exchange"],["exhanged","exchanged"],["exhanges","exchanges"],["exhanging","exchanging"],["exhaused","exhausted"],["exhautivity","exhaustivity"],["exhcuast","exhaust"],["exhcuasted","exhausted"],["exhibtion","exhibition"],["exhist","exist"],["exhistance","existence"],["exhisted","existed"],["exhistence","existence"],["exhisting","existing"],["exhists","exists"],["exhostive","exhaustive"],["exhustiveness","exhaustiveness"],["exibition","exhibition"],["exibitions","exhibitions"],["exicting","exciting"],["exinct","extinct"],["exipration","expiration"],["exipre","expire"],["exipred","expired"],["exipres","expires"],["exising","existing"],["exisit","exist"],["exisited","existed"],["exisitent","existent"],["exisiting","existing"],["exisitng","existing"],["exisits","exists"],["existance","existence"],["existant","existent"],["existatus","exitstatus"],["existencd","existence"],["existend","existed"],["existense","existence"],["existin","existing"],["existince","existence"],["existng","existing"],["existsing","existing"],["existting","existing"],["existung","existing"],["existy","exist"],["existying","existing"],["exitance","existence"],["exitation","excitation"],["exitations","excitations"],["exitt","exit"],["exitted","exited"],["exitting","exiting"],["exitts","exits"],["exixst","exist"],["exixt","exist"],["exlamation","exclamation"],["exlcude","exclude"],["exlcuding","excluding"],["exlcusion","exclusion"],["exlcusions","exclusions"],["exlcusive","exclusive"],["exlicit","explicit"],["exlicite","explicit"],["exlicitely","explicitly"],["exlicitly","explicitly"],["exliled","exiled"],["exlpoit","exploit"],["exlpoited","exploited"],["exlpoits","exploits"],["exlusion","exclusion"],["exlusionary","exclusionary"],["exlusions","exclusions"],["exlusive","exclusive"],["exlusively","exclusively"],["exmaine","examine"],["exmained","examined"],["exmaines","examines"],["exmaple","example"],["exmaples","examples"],["exmple","example"],["exmport","export"],["exnternal","external"],["exnternalities","externalities"],["exnternality","externality"],["exnternally","externally"],["exntry","entry"],["exolicit","explicit"],["exolicitly","explicitly"],["exonorate","exonerate"],["exort","export"],["exoskelaton","exoskeleton"],["expalin","explain"],["expaning","expanding"],["expanion","expansion"],["expanions","expansions"],["expanshion","expansion"],["expanshions","expansions"],["expanssion","expansion"],["exparation","expiration"],["expasion","expansion"],["expatriot","expatriate"],["expception","exception"],["expcetation","expectation"],["expcetations","expectations"],["expceted","expected"],["expceting","expecting"],["expcets","expects"],["expct","expect"],["expcted","expected"],["expctedly","expectedly"],["expcting","expecting"],["expeced","expected"],["expeceted","expected"],["expecially","especially"],["expectaion","expectation"],["expectaions","expectations"],["expectatoins","expectations"],["expectatons","expectations"],["expectd","expected"],["expecte","expected"],["expectes","expects"],["expection","exception"],["expections","exceptions"],["expeditonary","expeditionary"],["expeect","expect"],["expeected","expected"],["expeectedly","expectedly"],["expeecting","expecting"],["expeects","expects"],["expeense","expense"],["expeenses","expenses"],["expeensive","expensive"],["expeience","experience"],["expeienced","experienced"],["expeiences","experiences"],["expeiencing","experiencing"],["expeiment","experiment"],["expeimental","experimental"],["expeimentally","experimentally"],["expeimentation","experimentation"],["expeimentations","experimentations"],["expeimented","experimented"],["expeimentel","experimental"],["expeimentelly","experimentally"],["expeimenter","experimenter"],["expeimenters","experimenters"],["expeimenting","experimenting"],["expeiments","experiments"],["expeiriment","experiment"],["expeirimental","experimental"],["expeirimentally","experimentally"],["expeirimentation","experimentation"],["expeirimentations","experimentations"],["expeirimented","experimented"],["expeirimentel","experimental"],["expeirimentelly","experimentally"],["expeirimenter","experimenter"],["expeirimenters","experimenters"],["expeirimenting","experimenting"],["expeiriments","experiments"],["expell","expel"],["expells","expels"],["expement","experiment"],["expemental","experimental"],["expementally","experimentally"],["expementation","experimentation"],["expementations","experimentations"],["expemented","experimented"],["expementel","experimental"],["expementelly","experimentally"],["expementer","experimenter"],["expementers","experimenters"],["expementing","experimenting"],["expements","experiments"],["expemplar","exemplar"],["expemplars","exemplars"],["expemplary","exemplary"],["expempt","exempt"],["expempted","exempted"],["expemt","exempt"],["expemted","exempted"],["expemtion","exemption"],["expemtions","exemptions"],["expemts","exempts"],["expence","expense"],["expences","expenses"],["expencive","expensive"],["expendeble","expendable"],["expepect","expect"],["expepected","expected"],["expepectedly","expectedly"],["expepecting","expecting"],["expepects","expects"],["expepted","expected"],["expeptedly","expectedly"],["expepting","expecting"],["expeption","exception"],["expeptions","exceptions"],["expepts","expects"],["experament","experiment"],["experamental","experimental"],["experamentally","experimentally"],["experamentation","experimentation"],["experamentations","experimentations"],["experamented","experimented"],["experamentel","experimental"],["experamentelly","experimentally"],["experamenter","experimenter"],["experamenters","experimenters"],["experamenting","experimenting"],["experaments","experiments"],["experation","expiration"],["expercting","expecting"],["expercts","expects"],["expereince","experience"],["expereinced","experienced"],["expereinces","experiences"],["expereincing","experiencing"],["experement","experiment"],["experemental","experimental"],["experementally","experimentally"],["experementation","experimentation"],["experementations","experimentations"],["experemented","experimented"],["experementel","experimental"],["experementelly","experimentally"],["experementer","experimenter"],["experementers","experimenters"],["experementing","experimenting"],["experements","experiments"],["experence","experience"],["experenced","experienced"],["experences","experiences"],["experencing","experiencing"],["experes","express"],["experesed","expressed"],["experesion","expression"],["experesions","expressions"],["experess","express"],["experessed","expressed"],["experesses","expresses"],["experessing","expressing"],["experession's","expression's"],["experession","expression"],["experessions","expressions"],["experiance","experience"],["experianced","experienced"],["experiances","experiences"],["experiancial","experiential"],["experiancing","experiencing"],["experiansial","experiential"],["experiantial","experiential"],["experiation","expiration"],["experiations","expirations"],["experice","experience"],["expericed","experienced"],["experices","experiences"],["expericing","experiencing"],["experiement","experiment"],["experienshial","experiential"],["experiensial","experiential"],["experies","expires"],["experim","experiment"],["experimal","experimental"],["experimally","experimentally"],["experimanent","experiment"],["experimanental","experimental"],["experimanentally","experimentally"],["experimanentation","experimentation"],["experimanentations","experimentations"],["experimanented","experimented"],["experimanentel","experimental"],["experimanentelly","experimentally"],["experimanenter","experimenter"],["experimanenters","experimenters"],["experimanenting","experimenting"],["experimanents","experiments"],["experimanet","experiment"],["experimanetal","experimental"],["experimanetally","experimentally"],["experimanetation","experimentation"],["experimanetations","experimentations"],["experimaneted","experimented"],["experimanetel","experimental"],["experimanetelly","experimentally"],["experimaneter","experimenter"],["experimaneters","experimenters"],["experimaneting","experimenting"],["experimanets","experiments"],["experimant","experiment"],["experimantal","experimental"],["experimantally","experimentally"],["experimantation","experimentation"],["experimantations","experimentations"],["experimanted","experimented"],["experimantel","experimental"],["experimantelly","experimentally"],["experimanter","experimenter"],["experimanters","experimenters"],["experimanting","experimenting"],["experimants","experiments"],["experimation","experimentation"],["experimations","experimentations"],["experimdnt","experiment"],["experimdntal","experimental"],["experimdntally","experimentally"],["experimdntation","experimentation"],["experimdntations","experimentations"],["experimdnted","experimented"],["experimdntel","experimental"],["experimdntelly","experimentally"],["experimdnter","experimenter"],["experimdnters","experimenters"],["experimdnting","experimenting"],["experimdnts","experiments"],["experimed","experimented"],["experimel","experimental"],["experimelly","experimentally"],["experimen","experiment"],["experimenal","experimental"],["experimenally","experimentally"],["experimenat","experiment"],["experimenatal","experimental"],["experimenatally","experimentally"],["experimenatation","experimentation"],["experimenatations","experimentations"],["experimenated","experimented"],["experimenatel","experimental"],["experimenatelly","experimentally"],["experimenater","experimenter"],["experimenaters","experimenters"],["experimenating","experimenting"],["experimenation","experimentation"],["experimenations","experimentations"],["experimenats","experiments"],["experimened","experimented"],["experimenel","experimental"],["experimenelly","experimentally"],["experimener","experimenter"],["experimeners","experimenters"],["experimening","experimenting"],["experimens","experiments"],["experimentaal","experimental"],["experimentaally","experimentally"],["experimentaat","experiment"],["experimentaatl","experimental"],["experimentaatlly","experimentally"],["experimentaats","experiments"],["experimentaed","experimented"],["experimentaer","experimenter"],["experimentaing","experimenting"],["experimentaion","experimentation"],["experimentaions","experimentations"],["experimentait","experiment"],["experimentaital","experimental"],["experimentaitally","experimentally"],["experimentaited","experimented"],["experimentaiter","experimenter"],["experimentaiters","experimenters"],["experimentaitng","experimenting"],["experimentaiton","experimentation"],["experimentaitons","experimentations"],["experimentat","experimental"],["experimentatal","experimental"],["experimentatally","experimentally"],["experimentatation","experimentation"],["experimentatations","experimentations"],["experimentated","experimented"],["experimentater","experimenter"],["experimentatl","experimental"],["experimentatlly","experimentally"],["experimentatly","experimentally"],["experimentel","experimental"],["experimentelly","experimentally"],["experimentt","experiment"],["experimentted","experimented"],["experimentter","experimenter"],["experimentters","experimenters"],["experimentts","experiments"],["experimer","experimenter"],["experimers","experimenters"],["experimet","experiment"],["experimetal","experimental"],["experimetally","experimentally"],["experimetation","experimentation"],["experimetations","experimentations"],["experimeted","experimented"],["experimetel","experimental"],["experimetelly","experimentally"],["experimetent","experiment"],["experimetental","experimental"],["experimetentally","experimentally"],["experimetentation","experimentation"],["experimetentations","experimentations"],["experimetented","experimented"],["experimetentel","experimental"],["experimetentelly","experimentally"],["experimetenter","experimenter"],["experimetenters","experimenters"],["experimetenting","experimenting"],["experimetents","experiments"],["experimeter","experimenter"],["experimeters","experimenters"],["experimeting","experimenting"],["experimetn","experiment"],["experimetnal","experimental"],["experimetnally","experimentally"],["experimetnation","experimentation"],["experimetnations","experimentations"],["experimetned","experimented"],["experimetnel","experimental"],["experimetnelly","experimentally"],["experimetner","experimenter"],["experimetners","experimenters"],["experimetning","experimenting"],["experimetns","experiments"],["experimets","experiments"],["experiming","experimenting"],["experimint","experiment"],["experimintal","experimental"],["experimintally","experimentally"],["experimintation","experimentation"],["experimintations","experimentations"],["experiminted","experimented"],["experimintel","experimental"],["experimintelly","experimentally"],["experiminter","experimenter"],["experiminters","experimenters"],["experiminting","experimenting"],["experimints","experiments"],["experimment","experiment"],["experimmental","experimental"],["experimmentally","experimentally"],["experimmentation","experimentation"],["experimmentations","experimentations"],["experimmented","experimented"],["experimmentel","experimental"],["experimmentelly","experimentally"],["experimmenter","experimenter"],["experimmenters","experimenters"],["experimmenting","experimenting"],["experimments","experiments"],["experimnet","experiment"],["experimnetal","experimental"],["experimnetally","experimentally"],["experimnetation","experimentation"],["experimnetations","experimentations"],["experimneted","experimented"],["experimnetel","experimental"],["experimnetelly","experimentally"],["experimneter","experimenter"],["experimneters","experimenters"],["experimneting","experimenting"],["experimnets","experiments"],["experimnt","experiment"],["experimntal","experimental"],["experimntally","experimentally"],["experimntation","experimentation"],["experimntations","experimentations"],["experimnted","experimented"],["experimntel","experimental"],["experimntelly","experimentally"],["experimnter","experimenter"],["experimnters","experimenters"],["experimnting","experimenting"],["experimnts","experiments"],["experims","experiments"],["experimten","experiment"],["experimtenal","experimental"],["experimtenally","experimentally"],["experimtenation","experimentation"],["experimtenations","experimentations"],["experimtened","experimented"],["experimtenel","experimental"],["experimtenelly","experimentally"],["experimtener","experimenter"],["experimteners","experimenters"],["experimtening","experimenting"],["experimtens","experiments"],["experinece","experience"],["experineced","experienced"],["experinement","experiment"],["experinemental","experimental"],["experinementally","experimentally"],["experinementation","experimentation"],["experinementations","experimentations"],["experinemented","experimented"],["experinementel","experimental"],["experinementelly","experimentally"],["experinementer","experimenter"],["experinementers","experimenters"],["experinementing","experimenting"],["experinements","experiments"],["experiration","expiration"],["experirations","expirations"],["expermenet","experiment"],["expermenetal","experimental"],["expermenetally","experimentally"],["expermenetation","experimentation"],["expermenetations","experimentations"],["expermeneted","experimented"],["expermenetel","experimental"],["expermenetelly","experimentally"],["expermeneter","experimenter"],["expermeneters","experimenters"],["expermeneting","experimenting"],["expermenets","experiments"],["experment","experiment"],["expermental","experimental"],["expermentally","experimentally"],["expermentation","experimentation"],["expermentations","experimentations"],["expermented","experimented"],["expermentel","experimental"],["expermentelly","experimentally"],["expermenter","experimenter"],["expermenters","experimenters"],["expermenting","experimenting"],["experments","experiments"],["expermient","experiment"],["expermiental","experimental"],["expermientally","experimentally"],["expermientation","experimentation"],["expermientations","experimentations"],["expermiented","experimented"],["expermientel","experimental"],["expermientelly","experimentally"],["expermienter","experimenter"],["expermienters","experimenters"],["expermienting","experimenting"],["expermients","experiments"],["expermiment","experiment"],["expermimental","experimental"],["expermimentally","experimentally"],["expermimentation","experimentation"],["expermimentations","experimentations"],["expermimented","experimented"],["expermimentel","experimental"],["expermimentelly","experimentally"],["expermimenter","experimenter"],["expermimenters","experimenters"],["expermimenting","experimenting"],["expermiments","experiments"],["experminent","experiment"],["experminental","experimental"],["experminentally","experimentally"],["experminentation","experimentation"],["experminentations","experimentations"],["experminents","experiments"],["expernal","external"],["expers","express"],["expersed","expressed"],["expersing","expressing"],["expersion","expression"],["expersions","expressions"],["expersive","expensive"],["experss","express"],["experssed","expressed"],["expersses","expresses"],["experssing","expressing"],["experssion","expression"],["experssions","expressions"],["expese","expense"],["expeses","expenses"],["expesive","expensive"],["expesnce","expense"],["expesnces","expenses"],["expesncive","expensive"],["expess","express"],["expessed","expressed"],["expesses","expresses"],["expessing","expressing"],["expession","expression"],["expessions","expressions"],["expest","expect"],["expested","expected"],["expestedly","expectedly"],["expesting","expecting"],["expetancy","expectancy"],["expetation","expectation"],["expetc","expect"],["expetced","expected"],["expetcedly","expectedly"],["expetcing","expecting"],["expetcs","expects"],["expetct","expect"],["expetcted","expected"],["expetctedly","expectedly"],["expetcting","expecting"],["expetcts","expects"],["expetect","expect"],["expetected","expected"],["expetectedly","expectedly"],["expetecting","expecting"],["expetectly","expectedly"],["expetects","expects"],["expeted","expected"],["expetedly","expectedly"],["expetiment","experiment"],["expetimental","experimental"],["expetimentally","experimentally"],["expetimentation","experimentation"],["expetimentations","experimentations"],["expetimented","experimented"],["expetimentel","experimental"],["expetimentelly","experimentally"],["expetimenter","experimenter"],["expetimenters","experimenters"],["expetimenting","experimenting"],["expetiments","experiments"],["expeting","expecting"],["expetion","exception"],["expetional","exceptional"],["expetions","exceptions"],["expets","expects"],["expewriment","experiment"],["expewrimental","experimental"],["expewrimentally","experimentally"],["expewrimentation","experimentation"],["expewrimentations","experimentations"],["expewrimented","experimented"],["expewrimentel","experimental"],["expewrimentelly","experimentally"],["expewrimenter","experimenter"],["expewrimenters","experimenters"],["expewrimenting","experimenting"],["expewriments","experiments"],["expexct","expect"],["expexcted","expected"],["expexctedly","expectedly"],["expexcting","expecting"],["expexcts","expects"],["expexnasion","expansion"],["expexnasions","expansions"],["expext","expect"],["expexted","expected"],["expextedly","expectedly"],["expexting","expecting"],["expexts","expects"],["expicit","explicit"],["expicitly","explicitly"],["expidition","expedition"],["expiditions","expeditions"],["expierence","experience"],["expierenced","experienced"],["expierences","experiences"],["expierience","experience"],["expieriences","experiences"],["expilicitely","explicitly"],["expireitme","expiretime"],["expiriation","expiration"],["expirie","expire"],["expiried","expired"],["expirience","experience"],["expiriences","experiences"],["expirimental","experimental"],["expiriy","expiry"],["explaination","explanation"],["explainations","explanations"],["explainatory","explanatory"],["explaind","explained"],["explanaiton","explanation"],["explanaitons","explanations"],["explane","explain"],["explaned","explained"],["explanes","explains"],["explaning","explaining"],["explantion","explanation"],["explantions","explanations"],["explcit","explicit"],["explecit","explicit"],["explecitely","explicitly"],["explecitily","explicitly"],["explecitly","explicitly"],["explenation","explanation"],["explicat","explicate"],["explicilt","explicit"],["explicilty","explicitly"],["explicitelly","explicitly"],["explicitely","explicitly"],["explicitily","explicitly"],["explicity","explicitly"],["explicityly","explicitly"],["explict","explicit"],["explictely","explicitly"],["explictily","explicitly"],["explictly","explicitly"],["explin","explain"],["explination","explanation"],["explinations","explanations"],["explined","explained"],["explins","explains"],["explit","explicit"],["explitictly","explicitly"],["explitit","explicit"],["explitly","explicitly"],["explizit","explicit"],["explizitly","explicitly"],["exploititive","exploitative"],["expoed","exposed"],["expoent","exponent"],["expoential","exponential"],["expoentially","exponentially"],["expoentntial","exponential"],["expoerted","exported"],["expoit","exploit"],["expoitation","exploitation"],["expoited","exploited"],["expoits","exploits"],["expolde","explode"],["exponant","exponent"],["exponantation","exponentiation"],["exponantially","exponentially"],["exponantialy","exponentially"],["exponants","exponents"],["exponentation","exponentiation"],["exponentialy","exponentially"],["exponentiel","exponential"],["exponentiell","exponential"],["exponetial","exponential"],["exporession","expression"],["expors","exports"],["expport","export"],["exppressed","expressed"],["expres","express"],["expresed","expressed"],["expresing","expressing"],["expresion","expression"],["expresions","expressions"],["expressable","expressible"],["expressino","expression"],["expresso","espresso"],["expresss","express"],["expresssion","expression"],["expresssions","expressions"],["exprience","experience"],["exprienced","experienced"],["expriences","experiences"],["exprimental","experimental"],["expropiated","expropriated"],["expropiation","expropriation"],["exprot","export"],["exproted","exported"],["exproting","exporting"],["exprots","exports"],["exprted","exported"],["exptected","expected"],["exra","extra"],["exract","extract"],["exressed","expressed"],["exression","expression"],["exsistence","existence"],["exsistent","existent"],["exsisting","existing"],["exsists","exists"],["exsiting","existing"],["exspect","expect"],["exspected","expected"],["exspectedly","expectedly"],["exspecting","expecting"],["exspects","expects"],["exspense","expense"],["exspensed","expensed"],["exspenses","expenses"],["exstacy","ecstasy"],["exsted","existed"],["exsting","existing"],["exstream","extreme"],["exsts","exists"],["extaction","extraction"],["extactly","exactly"],["extacy","ecstasy"],["extarnal","external"],["extarnally","externally"],["extatic","ecstatic"],["extedn","extend"],["extedned","extended"],["extedner","extender"],["extedners","extenders"],["extedns","extends"],["extemely","extremely"],["exten","extent"],["extenal","external"],["extendded","extended"],["extendet","extended"],["extendsions","extensions"],["extened","extended"],["exteneded","extended"],["extenisble","extensible"],["extennsions","extensions"],["extensability","extensibility"],["extensiable","extensible"],["extensibity","extensibility"],["extensilbe","extensible"],["extensiones","extensions"],["extensivly","extensively"],["extenson","extension"],["extenstion","extension"],["extenstions","extensions"],["extented","extended"],["extention","extension"],["extentions","extensions"],["extepect","expect"],["extepecting","expecting"],["extepects","expects"],["exteral","external"],["extered","exerted"],["extereme","extreme"],["exterme","extreme"],["extermest","extremest"],["extermist","extremist"],["extermists","extremists"],["extermly","extremely"],["extermporaneous","extemporaneous"],["externaly","externally"],["externel","external"],["externelly","externally"],["externels","externals"],["extesion","extension"],["extesions","extensions"],["extesnion","extension"],["extesnions","extensions"],["extimate","estimate"],["extimated","estimated"],["extimates","estimates"],["extimating","estimating"],["extimation","estimation"],["extimations","estimations"],["extimator","estimator"],["extimators","estimators"],["extist","exist"],["extit","exit"],["extnesion","extension"],["extrac","extract"],["extraced","extracted"],["extracing","extracting"],["extracter","extractor"],["extractet","extracted"],["extractino","extracting"],["extractins","extractions"],["extradiction","extradition"],["extraenous","extraneous"],["extranous","extraneous"],["extrapoliate","extrapolate"],["extrat","extract"],["extrated","extracted"],["extraterrestial","extraterrestrial"],["extraterrestials","extraterrestrials"],["extrates","extracts"],["extrating","extracting"],["extration","extraction"],["extrator","extractor"],["extrators","extractors"],["extrats","extracts"],["extravagent","extravagant"],["extraversion","extroversion"],["extravert","extrovert"],["extraverts","extroverts"],["extraxt","extract"],["extraxted","extracted"],["extraxting","extracting"],["extraxtors","extractors"],["extraxts","extracts"],["extream","extreme"],["extreamely","extremely"],["extreamily","extremely"],["extreamly","extremely"],["extreams","extremes"],["extreem","extreme"],["extreemly","extremely"],["extremaly","extremely"],["extremeley","extremely"],["extremelly","extremely"],["extrememe","extreme"],["extrememely","extremely"],["extrememly","extremely"],["extremeophile","extremophile"],["extremitys","extremities"],["extremly","extremely"],["extrenal","external"],["extrenally","externally"],["extrenaly","externally"],["extrime","extreme"],["extrimely","extremely"],["extrimly","extremely"],["extrmities","extremities"],["extrodinary","extraordinary"],["extrordinarily","extraordinarily"],["extrordinary","extraordinary"],["extry","entry"],["exturd","extrude"],["exturde","extrude"],["exturded","extruded"],["exturdes","extrudes"],["exturding","extruding"],["exuberent","exuberant"],["exucuted","executed"],["eyt","yet"],["ezdrop","eavesdrop"],["fability","facility"],["fabircate","fabricate"],["fabircated","fabricated"],["fabircates","fabricates"],["fabircatings","fabricating"],["fabircation","fabrication"],["facce","face"],["faciliate","facilitate"],["faciliated","facilitated"],["faciliates","facilitates"],["faciliating","facilitating"],["facilites","facilities"],["facilitiate","facilitate"],["facilitiates","facilitates"],["facilititate","facilitate"],["facillitate","facilitate"],["facillities","facilities"],["faciltate","facilitate"],["facilties","facilities"],["facinated","fascinated"],["facirity","facility"],["facist","fascist"],["facorite","favorite"],["facorites","favorites"],["facourite","favourite"],["facourites","favourites"],["facours","favours"],["factization","factorization"],["factorizaiton","factorization"],["factorys","factories"],["fadind","fading"],["faeture","feature"],["faetures","features"],["Fahrenheight","Fahrenheit"],["faield","failed"],["faild","failed"],["failded","failed"],["faile","failed"],["failer","failure"],["failes","fails"],["failicies","facilities"],["failicy","facility"],["failied","failed"],["failiure","failure"],["failiures","failures"],["failiver","failover"],["faill","fail"],["failled","failed"],["faillure","failure"],["failng","failing"],["failre","failure"],["failrue","failure"],["failture","failure"],["failue","failure"],["failuer","failure"],["failues","failures"],["failured","failed"],["faireness","fairness"],["fairoh","pharaoh"],["faiway","fairway"],["faiways","fairways"],["faktor","factor"],["faktored","factored"],["faktoring","factoring"],["faktors","factors"],["falg","flag"],["falgs","flags"],["falied","failed"],["faliure","failure"],["faliures","failures"],["fallabck","fallback"],["fallbck","fallback"],["fallhrough","fallthrough"],["fallthruogh","fallthrough"],["falltrough","fallthrough"],["falshed","flashed"],["falshes","flashes"],["falshing","flashing"],["falsly","falsely"],["falt","fault"],["falure","failure"],["familar","familiar"],["familes","families"],["familiies","families"],["familiy","family"],["familliar","familiar"],["familly","family"],["famlilies","families"],["famlily","family"],["famoust","famous"],["fanatism","fanaticism"],["fancyness","fanciness"],["Farenheight","Fahrenheit"],["Farenheit","Fahrenheit"],["faries","fairies"],["farmework","framework"],["fasade","facade"],["fasion","fashion"],["fasle","false"],["fassade","facade"],["fassinate","fascinate"],["fasterner","fastener"],["fasterners","fasteners"],["fastner","fastener"],["fastners","fasteners"],["fastr","faster"],["fatc","fact"],["fater","faster"],["fatig","fatigue"],["fatser","faster"],["fature","feature"],["faught","fought"],["fauilure","failure"],["fauilures","failures"],["fauture","feature"],["fautured","featured"],["fautures","features"],["fauturing","featuring"],["favoutrable","favourable"],["favuourites","favourites"],["faymus","famous"],["fcound","found"],["feasabile","feasible"],["feasability","feasibility"],["feasable","feasible"],["featchd","fetched"],["featched","fetched"],["featching","fetching"],["featchs","fetches"],["featchss","fetches"],["featchure","feature"],["featchured","featured"],["featchures","features"],["featchuring","featuring"],["featre","feature"],["featue","feature"],["featued","featured"],["featues","features"],["featur","feature"],["featurs","features"],["feautre","feature"],["feauture","feature"],["feautures","features"],["febbruary","February"],["febewary","February"],["februar","February"],["Febuary","February"],["Feburary","February"],["fecthing","fetching"],["fedality","fidelity"],["fedreally","federally"],["feeback","feedback"],["feeded","fed"],["feek","feel"],["feeks","feels"],["feetur","feature"],["feeture","feature"],["feild","field"],["feld","field"],["felisatus","felicitous"],["femminist","feminist"],["fempto","femto"],["feonsay","fianc\xE9e"],["fequency","frequency"],["feromone","pheromone"],["fertil","fertile"],["fertily","fertility"],["fetaure","feature"],["fetaures","features"],["fetchs","fetches"],["feture","feature"],["fetures","features"],["fewsha","fuchsia"],["fezent","pheasant"],["fhurter","further"],["fials","fails"],["fianite","finite"],["fianlly","finally"],["fibonaacci","Fibonacci"],["ficticious","fictitious"],["fictious","fictitious"],["fidality","fidelity"],["fiddley","fiddly"],["fidn","find"],["fied","field"],["fiedl","field"],["fiedled","fielded"],["fiedls","fields"],["fieid","field"],["fieldlst","fieldlist"],["fieled","field"],["fielesystem","filesystem"],["fielesystems","filesystems"],["fielname","filename"],["fielneame","filename"],["fiercly","fiercely"],["fightings","fighting"],["figurestyle","figurestyles"],["filal","final"],["fileand","file and"],["fileds","fields"],["fileld","field"],["filelds","fields"],["filenae","filename"],["filese","files"],["fileshystem","filesystem"],["fileshystems","filesystems"],["filesnames","filenames"],["filess","files"],["filesstem","filesystem"],["filessytem","filesystem"],["filessytems","filesystems"],["fileststem","filesystem"],["filesysems","filesystems"],["filesysthem","filesystem"],["filesysthems","filesystems"],["filesystmes","filesystems"],["filesystyem","filesystem"],["filesystyems","filesystems"],["filesytem","filesystem"],["filesytems","filesystems"],["filesytsem","filesystem"],["fileter","filter"],["filetest","file test"],["filetests","file tests"],["fileystem","filesystem"],["fileystems","filesystems"],["filiament","filament"],["fillay","fillet"],["fillement","filament"],["fillowing","following"],["fillung","filling"],["filnal","final"],["filname","filename"],["filp","flip"],["filpped","flipped"],["filpping","flipping"],["filps","flips"],["filse","files"],["filsystem","filesystem"],["filsystems","filesystems"],["filterd","filtered"],["filterig","filtering"],["filterin","filtering"],["filterring","filtering"],["filtersing","filtering"],["filterss","filters"],["filtype","filetype"],["filtypes","filetypes"],["fimilies","families"],["fimrware","firmware"],["fimware","firmware"],["finacial","financial"],["finailse","finalise"],["finailze","finalize"],["finallly","finally"],["finanace","finance"],["finanaced","financed"],["finanaces","finances"],["finanacially","financially"],["finanacier","financier"],["financialy","financially"],["finanize","finalize"],["finanlize","finalize"],["fincally","finally"],["finctionalities","functionalities"],["finctionality","functionality"],["finde","find"],["findn","find"],["findout","find out"],["finelly","finally"],["finess","finesse"],["fingeprint","fingerprint"],["finialization","finalization"],["finializing","finalizing"],["finilizes","finalizes"],["finisched","finished"],["finised","finished"],["finishied","finished"],["finishs","finishes"],["finitel","finite"],["finness","finesse"],["finnished","finished"],["finshed","finished"],["finshing","finishing"],["finsih","finish"],["finsihed","finished"],["finsihes","finishes"],["finsihing","finishing"],["finsished","finished"],["finxed","fixed"],["finxing","fixing"],["fiorget","forget"],["firday","Friday"],["firends","friends"],["firey","fiery"],["firmare","firmware"],["firmaware","firmware"],["firmawre","firmware"],["firmeare","firmware"],["firmeware","firmware"],["firmnware","firmware"],["firmwart","firmware"],["firmwear","firmware"],["firmwqre","firmware"],["firmwre","firmware"],["firmwware","firmware"],["firsr","first"],["firsth","first"],["firware","firmware"],["firwmare","firmware"],["fisionable","fissionable"],["fisisist","physicist"],["fisist","physicist"],["fisrt","first"],["fitering","filtering"],["fitler","filter"],["fitlers","filters"],["fivety","fifty"],["fixel","pixel"],["fixels","pixels"],["fixeme","fixme"],["fixwd","fixed"],["fizeek","physique"],["flacor","flavor"],["flacored","flavored"],["flacoring","flavoring"],["flacorings","flavorings"],["flacors","flavors"],["flacour","flavour"],["flacoured","flavoured"],["flacouring","flavouring"],["flacourings","flavourings"],["flacours","flavours"],["flaged","flagged"],["flages","flags"],["flagg","flag"],["flahsed","flashed"],["flahses","flashes"],["flahsing","flashing"],["flakyness","flakiness"],["flamable","flammable"],["flaot","float"],["flaoting","floating"],["flashflame","flashframe"],["flashig","flashing"],["flasing","flashing"],["flate","flat"],["flatened","flattened"],["flattend","flattened"],["flattenning","flattening"],["flawess","flawless"],["fle","file"],["flem","phlegm"],["Flemmish","Flemish"],["flewant","fluent"],["flexability","flexibility"],["flexable","flexible"],["flexibel","flexible"],["flexibele","flexible"],["flexibilty","flexibility"],["flext","flex"],["flie","file"],["fliter","filter"],["flitered","filtered"],["flitering","filtering"],["fliters","filters"],["floading-add","floating-add"],["floatation","flotation"],["floride","fluoride"],["floting","floating"],["flouride","fluoride"],["flourine","fluorine"],["flourishment","flourishing"],["flter","filter"],["fluctuand","fluctuant"],["flud","flood"],["fluorish","flourish"],["fluoroscent","fluorescent"],["fluroescent","fluorescent"],["flushs","flushes"],["flusing","flushing"],["focu","focus"],["focued","focused"],["focument","document"],["focuse","focus"],["focusf","focus"],["focuss","focus"],["focussed","focused"],["focusses","focuses"],["fof","for"],["foget","forget"],["fogot","forgot"],["fogotten","forgotten"],["fointers","pointers"],["foler","folder"],["folers","folders"],["folfer","folder"],["folfers","folders"],["folled","followed"],["foller","follower"],["follers","followers"],["follew","follow"],["follewed","followed"],["follewer","follower"],["follewers","followers"],["follewin","following"],["follewind","following"],["follewing","following"],["follewinwg","following"],["follewiong","following"],["follewiwng","following"],["follewong","following"],["follews","follows"],["follfow","follow"],["follfowed","followed"],["follfower","follower"],["follfowers","followers"],["follfowin","following"],["follfowind","following"],["follfowing","following"],["follfowinwg","following"],["follfowiong","following"],["follfowiwng","following"],["follfowong","following"],["follfows","follows"],["follin","following"],["follind","following"],["follinwg","following"],["folliong","following"],["folliw","follow"],["folliwed","followed"],["folliwer","follower"],["folliwers","followers"],["folliwin","following"],["folliwind","following"],["folliwing","following"],["folliwinwg","following"],["folliwiong","following"],["folliwiwng","following"],["folliwng","following"],["folliwong","following"],["folliws","follows"],["folllow","follow"],["folllowed","followed"],["folllower","follower"],["folllowers","followers"],["folllowin","following"],["folllowind","following"],["folllowing","following"],["folllowinwg","following"],["folllowiong","following"],["folllowiwng","following"],["folllowong","following"],["follod","followed"],["folloeing","following"],["folloing","following"],["folloiwng","following"],["follolwing","following"],["follong","following"],["follos","follows"],["followes","follows"],["followig","following"],["followign","following"],["followin","following"],["followind","following"],["followint","following"],["followng","following"],["followwing","following"],["followwings","followings"],["folls","follows"],["follw","follow"],["follwed","followed"],["follwer","follower"],["follwers","followers"],["follwin","following"],["follwind","following"],["follwing","following"],["follwinwg","following"],["follwiong","following"],["follwiwng","following"],["follwo","follow"],["follwoe","follow"],["follwoed","followed"],["follwoeed","followed"],["follwoeer","follower"],["follwoeers","followers"],["follwoein","following"],["follwoeind","following"],["follwoeing","following"],["follwoeinwg","following"],["follwoeiong","following"],["follwoeiwng","following"],["follwoeong","following"],["follwoer","follower"],["follwoers","followers"],["follwoes","follows"],["follwoin","following"],["follwoind","following"],["follwoing","following"],["follwoinwg","following"],["follwoiong","following"],["follwoiwng","following"],["follwong","following"],["follwoong","following"],["follwos","follows"],["follwow","follow"],["follwowed","followed"],["follwower","follower"],["follwowers","followers"],["follwowin","following"],["follwowind","following"],["follwowing","following"],["follwowinwg","following"],["follwowiong","following"],["follwowiwng","following"],["follwowong","following"],["follwows","follows"],["follws","follows"],["follww","follow"],["follwwed","followed"],["follwwer","follower"],["follwwers","followers"],["follwwin","following"],["follwwind","following"],["follwwing","following"],["follwwinwg","following"],["follwwiong","following"],["follwwiwng","following"],["follwwong","following"],["follwws","follows"],["foloow","follow"],["foloowed","followed"],["foloower","follower"],["foloowers","followers"],["foloowin","following"],["foloowind","following"],["foloowing","following"],["foloowinwg","following"],["foloowiong","following"],["foloowiwng","following"],["foloowong","following"],["foloows","follows"],["folow","follow"],["folowed","followed"],["folower","follower"],["folowers","followers"],["folowin","following"],["folowind","following"],["folowing","following"],["folowinwg","following"],["folowiong","following"],["folowiwng","following"],["folowong","following"],["folows","follows"],["foloww","follow"],["folowwed","followed"],["folowwer","follower"],["folowwers","followers"],["folowwin","following"],["folowwind","following"],["folowwing","following"],["folowwinwg","following"],["folowwiong","following"],["folowwiwng","following"],["folowwong","following"],["folowws","follows"],["folse","false"],["folwo","follow"],["folwoed","followed"],["folwoer","follower"],["folwoers","followers"],["folwoin","following"],["folwoind","following"],["folwoing","following"],["folwoinwg","following"],["folwoiong","following"],["folwoiwng","following"],["folwoong","following"],["folwos","follows"],["folx","folks"],["fom","from"],["fomat","format"],["fomated","formatted"],["fomater","formatter"],["fomates","formats"],["fomating","formatting"],["fomats","formats"],["fomatted","formatted"],["fomatter","formatter"],["fomatting","formatting"],["fomed","formed"],["fomrat","format"],["fomrated","formatted"],["fomrater","formatter"],["fomrating","formatting"],["fomrats","formats"],["fomratted","formatted"],["fomratter","formatter"],["fomratting","formatting"],["fomula","formula"],["fomulas","formula"],["fonction","function"],["fonctional","functional"],["fonctionalities","functionalities"],["fonctionality","functionality"],["fonctioning","functioning"],["fonctionnalies","functionalities"],["fonctionnalities","functionalities"],["fonctionnality","functionality"],["fonctions","functions"],["fonetic","phonetic"],["fontier","frontier"],["fontonfig","fontconfig"],["fontrier","frontier"],["fonud","found"],["foontnotes","footnotes"],["foootball","football"],["foorter","footer"],["footnoes","footnotes"],["footprinst","footprints"],["foound","found"],["foppy","floppy"],["foppys","floppies"],["foramatting","formatting"],["foramt","format"],["forat","format"],["forbad","forbade"],["forbbiden","forbidden"],["forbiden","forbidden"],["forbit","forbid"],["forbiten","forbidden"],["forbitten","forbidden"],["forcably","forcibly"],["forcast","forecast"],["forcasted","forecasted"],["forcaster","forecaster"],["forcasters","forecasters"],["forcasting","forecasting"],["forcasts","forecasts"],["forcot","forgot"],["forece","force"],["foreced","forced"],["foreces","forces"],["foregrond","foreground"],["foregronds","foregrounds"],["foreing","foreign"],["forementionned","aforementioned"],["forermly","formerly"],["forfiet","forfeit"],["forgeround","foreground"],["forgoten","forgotten"],["forground","foreground"],["forhead","forehead"],["foriegn","foreign"],["forld","fold"],["forlder","folder"],["forlders","folders"],["Formalhaut","Fomalhaut"],["formallize","formalize"],["formallized","formalized"],["formate","format"],["formated","formatted"],["formater","formatter"],["formaters","formatters"],["formates","formats"],["formath","format"],["formaths","formats"],["formating","formatting"],["formatteded","formatted"],["formattgin","formatting"],["formattind","formatting"],["formattings","formatting"],["formattring","formatting"],["formattted","formatted"],["formattting","formatting"],["formelly","formerly"],["formely","formerly"],["formend","formed"],["formidible","formidable"],["formmatted","formatted"],["formost","foremost"],["formt","format"],["formua","formula"],["formual","formula"],["formuale","formulae"],["formuals","formulas"],["fornat","format"],["fornated","formatted"],["fornater","formatter"],["fornats","formats"],["fornatted","formatted"],["fornatter","formatter"],["forot","forgot"],["forotten","forgotten"],["forr","for"],["forsaw","foresaw"],["forse","force"],["forseeable","foreseeable"],["fortan","fortran"],["fortat","format"],["forteen","fourteen"],["fortelling","foretelling"],["forthcominng","forthcoming"],["forthcomming","forthcoming"],["fortunaly","fortunately"],["fortunat","fortunate"],["fortunatelly","fortunately"],["fortunatly","fortunately"],["fortunetly","fortunately"],["forula","formula"],["forulas","formulas"],["forumla","formula"],["forumlas","formulas"],["forumula","formula"],["forumulas","formulas"],["forunate","fortunate"],["forunately","fortunately"],["forunner","forerunner"],["forutunate","fortunate"],["forutunately","fortunately"],["forver","forever"],["forwad","forward"],["forwaded","forwarded"],["forwading","forwarding"],["forwads","forwards"],["forwardig","forwarding"],["forwaring","forwarding"],["forwwarded","forwarded"],["foto","photo"],["fotograf","photograph"],["fotografic","photographic"],["fotografical","photographical"],["fotografy","photography"],["fotograph","photograph"],["fotography","photography"],["foucs","focus"],["foudn","found"],["foudning","founding"],["fougth","fought"],["foult","fault"],["foults","faults"],["foundaries","foundries"],["foundary","foundry"],["Foundland","Newfoundland"],["fourties","forties"],["fourty","forty"],["fouth","fourth"],["fouund","found"],["foward","forward"],["fowarded","forwarded"],["fowarding","forwarding"],["fowards","forwards"],["fprmat","format"],["fracional","fractional"],["fragement","fragment"],["fragementation","fragmentation"],["fragements","fragments"],["fragmant","fragment"],["fragmantation","fragmentation"],["fragmants","fragments"],["fragmenet","fragment"],["fragmenetd","fragmented"],["fragmeneted","fragmented"],["fragmeneting","fragmenting"],["fragmenets","fragments"],["fragmnet","fragment"],["frambuffer","framebuffer"],["framebufer","framebuffer"],["framei","frame"],["frament","fragment"],["framented","fragmented"],["framents","fragments"],["frametyp","frametype"],["framewoek","framework"],["framewoeks","frameworks"],["frameworkk","framework"],["framlayout","framelayout"],["framming","framing"],["framwework","framework"],["framwork","framework"],["framworks","frameworks"],["frane","frame"],["frankin","franklin"],["Fransiscan","Franciscan"],["Fransiscans","Franciscans"],["franzise","franchise"],["frecuencies","frequencies"],["frecuency","frequency"],["frecuent","frequent"],["frecuented","frequented"],["frecuently","frequently"],["frecuents","frequents"],["freecallrelpy","freecallreply"],["freedon","freedom"],["freedons","freedoms"],["freedum","freedom"],["freedums","freedoms"],["freee","free"],["freeed","freed"],["freezs","freezes"],["freind","friend"],["freindly","friendly"],["freqencies","frequencies"],["freqency","frequency"],["freqeuncies","frequencies"],["freqeuncy","frequency"],["freqiencies","frequencies"],["freqiency","frequency"],["freqquencies","frequencies"],["freqquency","frequency"],["frequancies","frequencies"],["frequancy","frequency"],["frequant","frequent"],["frequantly","frequently"],["frequences","frequencies"],["frequencey","frequency"],["frequenies","frequencies"],["frequentily","frequently"],["frequncies","frequencies"],["frequncy","frequency"],["freze","freeze"],["frezes","freezes"],["frgament","fragment"],["fricton","friction"],["fridey","Friday"],["frimware","firmware"],["frisday","Friday"],["frist","first"],["frition","friction"],["fritional","frictional"],["fritions","frictions"],["frmat","format"],["frmo","from"],["froce","force"],["frok","from"],["fromal","formal"],["fromat","format"],["fromated","formatted"],["fromates","formats"],["fromating","formatting"],["fromation","formation"],["fromats","formats"],["frome","from"],["fromed","formed"],["fromm","from"],["froms","forms"],["fromt","from"],["fromthe","from the"],["fronend","frontend"],["fronends","frontends"],["froniter","frontier"],["frontent","frontend"],["frontents","frontends"],["frop","drop"],["fropm","from"],["frops","drops"],["frowarded","forwarded"],["frowrad","forward"],["frowrading","forwarding"],["frowrads","forwards"],["frozee","frozen"],["fschk","fsck"],["FTBS","FTBFS"],["ftrunacate","ftruncate"],["fualt","fault"],["fualts","faults"],["fucntion","function"],["fucntional","functional"],["fucntionality","functionality"],["fucntioned","functioned"],["fucntioning","functioning"],["fucntions","functions"],["fuction","function"],["fuctionality","functionality"],["fuctiones","functioned"],["fuctioning","functioning"],["fuctionoid","functionoid"],["fuctions","functions"],["fuetherst","furthest"],["fuethest","furthest"],["fufill","fulfill"],["fufilled","fulfilled"],["fugure","figure"],["fugured","figured"],["fugures","figures"],["fule","file"],["fulfiled","fulfilled"],["fullfiled","fulfilled"],["fullfiling","fulfilling"],["fullfilled","fulfilled"],["fullfilling","fulfilling"],["fullfills","fulfills"],["fullly","fully"],["fulsh","flush"],["fuly","fully"],["fumction","function"],["fumctional","functional"],["fumctionally","functionally"],["fumctioned","functioned"],["fumctions","functions"],["funcation","function"],["funchtion","function"],["funchtional","functional"],["funchtioned","functioned"],["funchtioning","functioning"],["funchtionn","function"],["funchtionnal","functional"],["funchtionned","functioned"],["funchtionning","functioning"],["funchtionns","functions"],["funchtions","functions"],["funcion","function"],["funcions","functions"],["funciotn","function"],["funciotns","functions"],["funciton","function"],["funcitonal","functional"],["funcitonality","functionality"],["funcitonally","functionally"],["funcitoned","functioned"],["funcitoning","functioning"],["funcitons","functions"],["funcstions","functions"],["functiion","function"],["functiional","functional"],["functiionality","functionality"],["functiionally","functionally"],["functiioning","functioning"],["functiions","functions"],["functin","function"],["functinality","functionality"],["functino","function"],["functins","functions"],["functio","function"],["functionability","functionality"],["functionaility","functionality"],["functionailty","functionality"],["functionaily","functionality"],["functionallities","functionalities"],["functionallity","functionality"],["functionaltiy","functionality"],["functionalty","functionality"],["functionionalities","functionalities"],["functionionality","functionality"],["functionnal","functional"],["functionnalities","functionalities"],["functionnality","functionality"],["functionnaly","functionally"],["functionning","functioning"],["functionon","function"],["functionss","functions"],["functios","functions"],["functiosn","functions"],["functiton","function"],["functitonal","functional"],["functitonally","functionally"],["functitoned","functioned"],["functitons","functions"],["functon","function"],["functonal","functional"],["functonality","functionality"],["functoning","functioning"],["functons","functions"],["functtion","function"],["functtional","functional"],["functtionalities","functionalities"],["functtioned","functioned"],["functtioning","functioning"],["functtions","functions"],["funczion","function"],["fundametal","fundamental"],["fundametals","fundamentals"],["fundation","foundation"],["fundemantal","fundamental"],["fundemental","fundamental"],["fundementally","fundamentally"],["fundementals","fundamentals"],["funguses","fungi"],["funktion","function"],["funnnily","funnily"],["funtion","function"],["funtional","functional"],["funtionalities","functionalities"],["funtionality","functionality"],["funtionallity","functionality"],["funtionally","functionally"],["funtionalty","functionality"],["funtioning","functioning"],["funtions","functions"],["funvtion","function"],["funvtional","functional"],["funvtionalities","functionalities"],["funvtionality","functionality"],["funvtioned","functioned"],["funvtioning","functioning"],["funvtions","functions"],["funxtion","function"],["funxtional","functional"],["funxtionalities","functionalities"],["funxtionality","functionality"],["funxtioned","functioned"],["funxtioning","functioning"],["funxtions","functions"],["furether","further"],["furethermore","furthermore"],["furethest","furthest"],["furfill","fulfill"],["furher","further"],["furhermore","furthermore"],["furhest","furthest"],["furhter","further"],["furhtermore","furthermore"],["furhtest","furthest"],["furmalae","formulae"],["furmula","formula"],["furmulae","formulae"],["furnction","function"],["furnctional","functional"],["furnctions","functions"],["furneture","furniture"],["furser","further"],["fursermore","furthermore"],["furst","first"],["fursther","further"],["fursthermore","furthermore"],["fursthest","furthest"],["furter","further"],["furthemore","furthermore"],["furthermor","furthermore"],["furtherst","furthest"],["furthremore","furthermore"],["furthrest","furthest"],["furthur","further"],["furture","future"],["furure","future"],["furuther","further"],["furutre","future"],["furzzer","fuzzer"],["fuschia","fuchsia"],["fushed","flushed"],["fushing","flushing"],["futher","further"],["futherize","further"],["futhermore","furthermore"],["futrue","future"],["futrure","future"],["futture","future"],["fwe","few"],["fwirte","fwrite"],["fxed","fixed"],["fysical","physical"],["fysisist","physicist"],["fysisit","physicist"],["gabage","garbage"],["galatic","galactic"],["Galations","Galatians"],["gallaries","galleries"],["gallary","gallery"],["gallaxies","galaxies"],["gallleries","galleries"],["galllery","gallery"],["galllerys","galleries"],["galvinized","galvanized"],["Gameboy","Game Boy"],["ganbia","gambia"],["ganerate","generate"],["ganes","games"],["ganster","gangster"],["garabge","garbage"],["garantee","guarantee"],["garanteed","guaranteed"],["garanteeed","guaranteed"],["garantees","guarantees"],["garantied","guaranteed"],["garanty","guarantee"],["garbadge","garbage"],["garbage-dollected","garbage-collected"],["garbagge","garbage"],["garbarge","garbage"],["gard","guard"],["gardai","garda\xED"],["garentee","guarantee"],["garnison","garrison"],["garuantee","guarantee"],["garuanteed","guaranteed"],["garuantees","guarantees"],["garuantied","guaranteed"],["gatable","gateable"],["gateing","gating"],["gatherig","gathering"],["gatway","gateway"],["gauage","gauge"],["gauarana","guaran\xE1"],["gauarantee","guarantee"],["gauaranteed","guaranteed"],["gauarentee","guarantee"],["gauarenteed","guaranteed"],["gaurantee","guarantee"],["gauranteed","guaranteed"],["gauranteeing","guaranteeing"],["gaurantees","guarantees"],["gaurentee","guarantee"],["gaurenteed","guaranteed"],["gaurentees","guarantees"],["gaus'","Gauss'"],["gaus's","Gauss'"],["gausian","gaussian"],["geeneric","generic"],["geenrate","generate"],["geenrated","generated"],["geenrates","generates"],["geenration","generation"],["geenrational","generational"],["geeoteen","guillotine"],["geeral","general"],["gemetrical","geometrical"],["gemetry","geometry"],["gemoetry","geometry"],["gemometric","geometric"],["genarate","generate"],["genarated","generated"],["genarating","generating"],["genaration","generation"],["genearal","general"],["genearally","generally"],["genearted","generated"],["geneate","generate"],["geneated","generated"],["geneates","generates"],["geneating","generating"],["geneation","generation"],["geneological","genealogical"],["geneologies","genealogies"],["geneology","genealogy"],["generaates","generates"],["generaly","generally"],["generalyl","generally"],["generalyse","generalise"],["generater","generator"],["generaters","generators"],["generatig","generating"],["generatng","generating"],["generatting","generating"],["genereate","generate"],["genereated","generated"],["genereates","generates"],["genereating","generating"],["genered","generated"],["genereic","generic"],["generell","general"],["generelly","generally"],["genererate","generate"],["genererated","generated"],["genererater","generator"],["genererating","generating"],["genereration","generation"],["genereted","generated"],["generilise","generalise"],["generilised","generalised"],["generilises","generalises"],["generilize","generalize"],["generilized","generalized"],["generilizes","generalizes"],["generiously","generously"],["generla","general"],["generlaizes","generalizes"],["generlas","generals"],["generted","generated"],["generting","generating"],["genertion","generation"],["genertor","generator"],["genertors","generators"],["genialia","genitalia"],["genral","general"],["genralisation","generalisation"],["genralisations","generalisations"],["genralise","generalise"],["genralised","generalised"],["genralises","generalises"],["genralization","generalization"],["genralizations","generalizations"],["genralize","generalize"],["genralized","generalized"],["genralizes","generalizes"],["genrally","generally"],["genrals","generals"],["genrate","generate"],["genrated","generated"],["genrates","generates"],["genratet","generated"],["genrating","generating"],["genration","generation"],["genrations","generations"],["genrator","generator"],["genrators","generators"],["genreate","generate"],["genreated","generated"],["genreates","generates"],["genreating","generating"],["genreic","generic"],["genric","generic"],["genrics","generics"],["gental","gentle"],["genuin","genuine"],["geocentic","geocentric"],["geoemtries","geometries"],["geoemtry","geometry"],["geogcountry","geocountry"],["geographich","geographic"],["geographicial","geographical"],["geoio","geoip"],["geomertic","geometric"],["geomerties","geometries"],["geomerty","geometry"],["geomery","geometry"],["geometites","geometries"],["geometrician","geometer"],["geometricians","geometers"],["geometrie","geometry"],["geometrys","geometries"],["geomety","geometry"],["geometyr","geometry"],["geomitrically","geometrically"],["geomoetric","geometric"],["geomoetrically","geometrically"],["geomoetry","geometry"],["geomtery","geometry"],["geomtries","geometries"],["geomtry","geometry"],["geomtrys","geometries"],["georeferncing","georeferencing"],["geraff","giraffe"],["geraphics","graphics"],["gerat","great"],["gereating","generating"],["gerenate","generate"],["gerenated","generated"],["gerenates","generates"],["gerenating","generating"],["gerenation","generation"],["gerenations","generations"],["gerenic","generic"],["gerenics","generics"],["gererate","generate"],["gererated","generated"],["gerilla","guerrilla"],["gerneral","general"],["gernerally","generally"],["gerneraly","generally"],["gernerate","generate"],["gernerated","generated"],["gernerates","generates"],["gernerating","generating"],["gerneration","generation"],["gernerator","generator"],["gernerators","generators"],["gerneric","generic"],["gernerics","generics"],["gess","guess"],["get's","gets"],["get;s","gets"],["getfastproperyvalue","getfastpropertyvalue"],["getimezone","gettimezone"],["geting","getting"],["getlael","getlabel"],["getoe","ghetto"],["getoject","getobject"],["gettetx","gettext"],["gettter","getter"],["gettters","getters"],["getttext","gettext"],["getttime","gettime"],["getttimeofday","gettimeofday"],["gettting","getting"],["ggogled","Googled"],["Ghandi","Gandhi"],["ghostcript","ghostscript"],["ghostscritp","ghostscript"],["ghraphic","graphic"],["gien","given"],["gigibit","gigabit"],["gilotine","guillotine"],["gilty","guilty"],["ginee","guinea"],["gingam","gingham"],["gioen","given"],["gir","git"],["giser","geyser"],["gisers","geysers"],["git-buildpackge","git-buildpackage"],["git-buildpackges","git-buildpackages"],["gitar","guitar"],["gitars","guitars"],["gitatributes","gitattributes"],["giveing","giving"],["givveing","giving"],["givven","given"],["givving","giving"],["glamourous","glamorous"],["glight","flight"],["gloab","globe"],["gloabal","global"],["gloabl","global"],["gloassaries","glossaries"],["gloassary","glossary"],["globablly","globally"],["globaly","globally"],["globbal","global"],["globel","global"],["glorfied","glorified"],["glpyh","glyph"],["glpyhs","glyphs"],["glyh","glyph"],["glyhs","glyphs"],["glyped","glyphed"],["glyphes","glyphs"],["glyping","glyphing"],["glyserin","glycerin"],["gnawwed","gnawed"],["gneral","general"],["gnerally","generally"],["gnerals","generals"],["gnerate","generate"],["gnerated","generated"],["gnerates","generates"],["gnerating","generating"],["gneration","generation"],["gnerations","generations"],["gneric","generic"],["gnorung","ignoring"],["gobal","global"],["gocde","gcode"],["godess","goddess"],["godesses","goddesses"],["Godounov","Godunov"],["goemetries","geometries"],["goess","goes"],["gogether","together"],["goign","going"],["goin","going"],["goind","going"],["golbal","global"],["golbally","globally"],["golbaly","globally"],["gonig","going"],["gool","ghoul"],["gord","gourd"],["gormay","gourmet"],["gorry","gory"],["gorup","group"],["goruped","grouped"],["goruping","grouping"],["gorups","groups"],["gost","ghost"],["Gothenberg","Gothenburg"],["Gottleib","Gottlieb"],["goup","group"],["gouped","grouped"],["goups","groups"],["gouvener","governor"],["govement","government"],["govenment","government"],["govenor","governor"],["govenrment","government"],["goverance","governance"],["goverment","government"],["govermental","governmental"],["govermnment","government"],["governer","governor"],["governmnet","government"],["govorment","government"],["govormental","governmental"],["govornment","government"],["grabage","garbage"],["grabed","grabbed"],["grabing","grabbing"],["gracefull","graceful"],["gracefuly","gracefully"],["gradiants","gradients"],["gradualy","gradually"],["graet","great"],["grafics","graphics"],["grafitti","graffiti"],["grahic","graphic"],["grahical","graphical"],["grahics","graphics"],["grahpic","graphic"],["grahpical","graphical"],["grahpics","graphics"],["gramar","grammar"],["gramatically","grammatically"],["grammartical","grammatical"],["grammaticaly","grammatically"],["grammer","grammar"],["grammers","grammars"],["granchildren","grandchildren"],["granilarity","granularity"],["granuality","granularity"],["granualtiry","granularity"],["granulatiry","granularity"],["grapgics","graphics"],["graphcis","graphics"],["graphis","graphics"],["grapic","graphic"],["grapical","graphical"],["grapics","graphics"],["grat","great"],["gratefull","grateful"],["gratuitious","gratuitous"],["grbber","grabber"],["greatful","grateful"],["greatfully","gratefully"],["greather","greater"],["greif","grief"],["grephic","graphic"],["grestest","greatest"],["greysacles","greyscales"],["gridles","griddles"],["grigorian","Gregorian"],["grobal","global"],["grobally","globally"],["grometry","geometry"],["grooup","group"],["groouped","grouped"],["groouping","grouping"],["grooups","groups"],["gropu","group"],["groubpy","groupby"],["groupd","grouped"],["groupping","grouping"],["groupt","grouped"],["grranted","granted"],["gruop","group"],["gruopd","grouped"],["gruops","groups"],["grup","group"],["gruped","grouped"],["gruping","grouping"],["grups","groups"],["grwo","grow"],["guage","gauge"],["guarante","guarantee"],["guaranted","guaranteed"],["guaranteey","guaranty"],["guaranteing","guaranteeing"],["guarantes","guarantees"],["guarantie","guarantee"],["guarbage","garbage"],["guareded","guarded"],["guareente","guarantee"],["guareented","guaranteed"],["guareentee","guarantee"],["guareenteed","guaranteed"],["guareenteeing","guaranteeing"],["guareentees","guarantees"],["guareenteing","guaranteeing"],["guareentes","guarantees"],["guareenty","guaranty"],["guarente","guarantee"],["guarented","guaranteed"],["guarentee","guarantee"],["guarenteed","guaranteed"],["guarenteede","guarantee"],["guarenteeded","guaranteed"],["guarenteedeing","guaranteeing"],["guarenteedes","guarantees"],["guarenteedy","guaranty"],["guarenteeing","guaranteeing"],["guarenteer","guarantee"],["guarenteerd","guaranteed"],["guarenteering","guaranteeing"],["guarenteers","guarantees"],["guarentees","guarantees"],["guarenteing","guaranteeing"],["guarentes","guarantees"],["guarentie","guarantee"],["guarentied","guaranteed"],["guarentieing","guaranteeing"],["guarenties","guarantees"],["guarenty","guaranty"],["guarentyd","guaranteed"],["guarentying","guarantee"],["guarentyinging","guaranteeing"],["guarentys","guarantees"],["guarging","guarding"],["guarnante","guarantee"],["guarnanted","guaranteed"],["guarnantee","guarantee"],["guarnanteed","guaranteed"],["guarnanteeing","guaranteeing"],["guarnantees","guarantees"],["guarnanteing","guaranteeing"],["guarnantes","guarantees"],["guarnanty","guaranty"],["guarnate","guarantee"],["guarnated","guaranteed"],["guarnatee","guarantee"],["guarnateed","guaranteed"],["guarnateee","guarantee"],["guarnateeed","guaranteed"],["guarnateeeing","guaranteeing"],["guarnateees","guarantees"],["guarnateeing","guaranteeing"],["guarnatees","guarantees"],["guarnateing","guaranteeing"],["guarnates","guarantees"],["guarnatey","guaranty"],["guarnaty","guaranty"],["guarnete","guarantee"],["guarneted","guaranteed"],["guarnetee","guarantee"],["guarneteed","guaranteed"],["guarneteeing","guaranteeing"],["guarnetees","guarantees"],["guarneteing","guaranteeing"],["guarnetes","guarantees"],["guarnety","guaranty"],["guarnte","guarantee"],["guarnted","guaranteed"],["guarntee","guarantee"],["guarnteed","guaranteed"],["guarnteeing","guaranteeing"],["guarntees","guarantees"],["guarnteing","guaranteeing"],["guarntes","guarantees"],["guarnty","guaranty"],["guarrante","guarantee"],["guarranted","guaranteed"],["guarrantee","guarantee"],["guarranteed","guaranteed"],["guarranteeing","guaranteeing"],["guarrantees","guarantees"],["guarranteing","guaranteeing"],["guarrantes","guarantees"],["guarrantie","guarantee"],["guarrantied","guaranteed"],["guarrantieing","guaranteeing"],["guarranties","guarantees"],["guarranty","guaranty"],["guarrantyd","guaranteed"],["guarrantying","guaranteeing"],["guarrantys","guarantees"],["guarrente","guarantee"],["guarrented","guaranteed"],["guarrentee","guarantee"],["guarrenteed","guaranteed"],["guarrenteeing","guaranteeing"],["guarrentees","guarantees"],["guarrenteing","guaranteeing"],["guarrentes","guarantees"],["guarrenty","guaranty"],["guaruante","guarantee"],["guaruanted","guaranteed"],["guaruantee","guarantee"],["guaruanteed","guaranteed"],["guaruanteeing","guaranteeing"],["guaruantees","guarantees"],["guaruanteing","guaranteeing"],["guaruantes","guarantees"],["guaruanty","guaranty"],["guarunte","guarantee"],["guarunted","guaranteed"],["guaruntee","guarantee"],["guarunteed","guaranteed"],["guarunteeing","guaranteeing"],["guaruntees","guarantees"],["guarunteing","guaranteeing"],["guaruntes","guarantees"],["guarunty","guaranty"],["guas'","Gauss'"],["guas's","Gauss'"],["guas","Gauss"],["guass'","Gauss'"],["guass","Gauss"],["guassian","Gaussian"],["Guatamala","Guatemala"],["Guatamalan","Guatemalan"],["gud","good"],["guerrila","guerrilla"],["guerrilas","guerrillas"],["gueswork","guesswork"],["guideded","guided"],["guidence","guidance"],["guidline","guideline"],["guidlines","guidelines"],["Guilia","Giulia"],["Guilio","Giulio"],["Guiness","Guinness"],["Guiseppe","Giuseppe"],["gunanine","guanine"],["gurantee","guarantee"],["guranteed","guaranteed"],["guranteeing","guaranteeing"],["gurantees","guarantees"],["gurrantee","guarantee"],["guttaral","guttural"],["gutteral","guttural"],["gylph","glyph"],["gziniflate","gzinflate"],["gziped","gzipped"],["haa","has"],["haave","have"],["habaeus","habeas"],["habbit","habit"],["habeus","habeas"],["hability","ability"],["Habsbourg","Habsburg"],["hace","have"],["hachish","hackish"],["hadling","handling"],["hadnler","handler"],["haeder","header"],["haemorrage","haemorrhage"],["halarious","hilarious"],["hald","held"],["halfs","halves"],["halp","help"],["halpoints","halfpoints"],["hammmer","hammer"],["hampster","hamster"],["handel","handle"],["handeler","handler"],["handeles","handles"],["handeling","handling"],["handels","handles"],["hander","handler"],["handfull","handful"],["handhake","handshake"],["handker","handler"],["handleer","handler"],["handleing","handling"],["handlig","handling"],["handlling","handling"],["handsake","handshake"],["handshacke","handshake"],["handshackes","handshakes"],["handshacking","handshaking"],["handshage","handshake"],["handshages","handshakes"],["handshaging","handshaking"],["handshak","handshake"],["handshakng","handshaking"],["handshakre","handshake"],["handshakres","handshakes"],["handshakring","handshaking"],["handshaks","handshakes"],["handshale","handshake"],["handshales","handshakes"],["handshaling","handshaking"],["handshare","handshake"],["handshares","handshakes"],["handsharing","handshaking"],["handshk","handshake"],["handshke","handshake"],["handshkes","handshakes"],["handshking","handshaking"],["handshkng","handshaking"],["handshks","handshakes"],["handskake","handshake"],["handwirting","handwriting"],["hanel","handle"],["hangig","hanging"],["hanlde","handle"],["hanlded","handled"],["hanlder","handler"],["hanlders","handlers"],["hanldes","handles"],["hanlding","handling"],["hanldle","handle"],["hanle","handle"],["hanled","handled"],["hanles","handles"],["hanling","handling"],["hanshake","handshake"],["hanshakes","handshakes"],["hansome","handsome"],["hapen","happen"],["hapend","happened"],["hapends","happens"],["hapened","happened"],["hapening","happening"],["hapenn","happen"],["hapenned","happened"],["hapenning","happening"],["hapenns","happens"],["hapens","happens"],["happaned","happened"],["happended","happened"],["happenned","happened"],["happenning","happening"],["happennings","happenings"],["happenns","happens"],["happilly","happily"],["happne","happen"],["happpen","happen"],["happpened","happened"],["happpening","happening"],["happpenings","happenings"],["happpens","happens"],["harased","harassed"],["harases","harasses"],["harasment","harassment"],["harasments","harassments"],["harassement","harassment"],["harcoded","hardcoded"],["harcoding","hardcoding"],["hard-wirted","hard-wired"],["hardare","hardware"],["hardocde","hardcode"],["hardward","hardware"],["hardwdare","hardware"],["hardwirted","hardwired"],["harge","charge"],["harras","harass"],["harrased","harassed"],["harrases","harasses"],["harrasing","harassing"],["harrasment","harassment"],["harrasments","harassments"],["harrass","harass"],["harrassed","harassed"],["harrasses","harassed"],["harrassing","harassing"],["harrassment","harassment"],["harrassments","harassments"],["harth","hearth"],["harware","hardware"],["harwdare","hardware"],["has'nt","hasn't"],["hases","hashes"],["hashi","hash"],["hashreference","hash reference"],["hashs","hashes"],["hashses","hashes"],["hask","hash"],["hasn;t","hasn't"],["hasnt'","hasn't"],["hasnt","hasn't"],["hass","hash"],["hastable","hashtable"],["hastables","hashtables"],["Hatian","Haitian"],["hauty","haughty"],["have'nt","haven't"],["haveing","having"],["haven;t","haven't"],["havent'","haven't"],["havent't","haven't"],["havent","haven't"],["havew","have"],["haviest","heaviest"],["havn't","haven't"],["havnt","haven't"],["hax","hex"],["haynus","heinous"],["hazzle","hassle"],["hda","had"],["headder","header"],["headders","headers"],["headerr","header"],["headerrs","headers"],["headle","handle"],["headong","heading"],["headquarer","headquarter"],["headquater","headquarter"],["headquatered","headquartered"],["headquaters","headquarters"],["heaer","header"],["healthercare","healthcare"],["heathy","healthy"],["hefer","heifer"],["Heidelburg","Heidelberg"],["heigest","highest"],["heigher","higher"],["heighest","highest"],["heighit","height"],["heighteen","eighteen"],["heigt","height"],["heigth","height"],["heirachies","hierarchies"],["heirachy","hierarchy"],["heirarchic","hierarchic"],["heirarchical","hierarchical"],["heirarchically","hierarchically"],["heirarchies","hierarchies"],["heirarchy","hierarchy"],["heiroglyphics","hieroglyphics"],["helerps","helpers"],["hellow","hello"],["helment","helmet"],["heloer","helper"],["heloers","helpers"],["helpe","helper"],["helpfull","helpful"],["helpfuly","helpfully"],["helpped","helped"],["hemipshere","hemisphere"],["hemipsheres","hemispheres"],["hemishpere","hemisphere"],["hemishperes","hemispheres"],["hemmorhage","hemorrhage"],["hemorage","haemorrhage"],["henc","hence"],["henderence","hindrance"],["hendler","handler"],["hense","hence"],["hepler","helper"],["herarchy","hierarchy"],["herat","heart"],["heree","here"],["heridity","heredity"],["heroe","hero"],["heros","heroes"],["herselv","herself"],["hertiage","heritage"],["hertically","hectically"],["hertzs","hertz"],["hese","these"],["hesiate","hesitate"],["hesistant","hesitant"],["hesistate","hesitate"],["hesistated","hesitated"],["hesistates","hesitates"],["hesistating","hesitating"],["hesistation","hesitation"],["hesistations","hesitations"],["hestiate","hesitate"],["hetrogeneous","heterogeneous"],["heuristc","heuristic"],["heuristcs","heuristics"],["heursitics","heuristics"],["hevy","heavy"],["hexademical","hexadecimal"],["hexdecimal","hexadecimal"],["hexgaon","hexagon"],["hexgaonal","hexagonal"],["hexgaons","hexagons"],["hexidecimal","hexadecimal"],["hge","he"],["hiarchical","hierarchical"],["hiarchy","hierarchy"],["hiddden","hidden"],["hidded","hidden"],["hideen","hidden"],["hiden","hidden"],["hiearchies","hierarchies"],["hiearchy","hierarchy"],["hieght","height"],["hiena","hyena"],["hierachical","hierarchical"],["hierachies","hierarchies"],["hierachries","hierarchies"],["hierachry","hierarchy"],["hierachy","hierarchy"],["hierarachical","hierarchical"],["hierarachy","hierarchy"],["hierarchichal","hierarchical"],["hierarchichally","hierarchically"],["hierarchie","hierarchy"],["hierarcical","hierarchical"],["hierarcy","hierarchy"],["hierarhcical","hierarchical"],["hierarhcically","hierarchically"],["hierarhcies","hierarchies"],["hierarhcy","hierarchy"],["hierchy","hierarchy"],["hieroglph","hieroglyph"],["hieroglphs","hieroglyphs"],["hietus","hiatus"],["higeine","hygiene"],["higer","higher"],["higest","highest"],["high-affort","high-effort"],["highight","highlight"],["highighted","highlighted"],["highighter","highlighter"],["highighters","highlighters"],["highights","highlights"],["highjack","hijack"],["highligh","highlight"],["highlighed","highlighted"],["highligher","highlighter"],["highlighers","highlighters"],["highlighing","highlighting"],["highlighs","highlights"],["highlightin","highlighting"],["highlightning","highlighting"],["highligjt","highlight"],["highligjted","highlighted"],["highligjtes","highlights"],["highligjting","highlighting"],["highligjts","highlights"],["highligt","highlight"],["highligted","highlighted"],["highligth","highlight"],["highligting","highlighting"],["highligts","highlights"],["highter","higher"],["hightest","highest"],["hightlight","highlight"],["hightlighted","highlighted"],["hightlighting","highlighting"],["hightlights","highlights"],["hights","heights"],["higlight","highlight"],["higlighted","highlighted"],["higlighting","highlighting"],["higlights","highlights"],["higly","highly"],["higth","height"],["higway","highway"],["hijkack","hijack"],["hijkacked","hijacked"],["hijkacking","hijacking"],["hijkacks","hijacks"],["hilight","highlight"],["hilighted","highlighted"],["hilighting","highlighting"],["hilights","highlights"],["hillarious","hilarious"],["himselv","himself"],["hinderance","hindrance"],["hinderence","hindrance"],["hindrence","hindrance"],["hipopotamus","hippopotamus"],["hipotetical","hypothetical"],["hirachy","hierarchy"],["hirarchies","hierarchies"],["hirarchy","hierarchy"],["hirarcies","hierarchies"],["hirearchy","hierarchy"],["hirearcy","hierarchy"],["hismelf","himself"],["hisory","history"],["histgram","histogram"],["histocompatability","histocompatibility"],["historgram","histogram"],["historgrams","histograms"],["historicians","historians"],["historyan","historian"],["historyans","historians"],["historycal","historical"],["historycally","historically"],["historycaly","historically"],["histroian","historian"],["histroians","historians"],["histroic","historic"],["histroical","historical"],["histroically","historically"],["histroicaly","historically"],["histroies","histories"],["histroy","history"],["histry","history"],["hitogram","histogram"],["hitories","histories"],["hitory","history"],["hitsingles","hit singles"],["hiygeine","hygiene"],["hmdi","hdmi"],["hnalder","handler"],["hoeks","hoax"],["hoever","however"],["hokay","okay"],["holf","hold"],["holliday","holiday"],["hollowcost","holocaust"],["homapage","homepage"],["homegeneous","homogeneous"],["homestate","home state"],["homogeneize","homogenize"],["homogeneized","homogenized"],["homogenious","homogeneous"],["homogeniously","homogeneously"],["homogenity","homogeneity"],["homogenius","homogeneous"],["homogeniusly","homogeneously"],["homogenoues","homogeneous"],["homogenous","homogeneous"],["homogenously","homogeneously"],["homogenuous","homogeneous"],["honory","honorary"],["hoook","hook"],["hoooks","hooks"],["hootsba","chutzpah"],["hopefulle","hopefully"],["hopefullly","hopefully"],["hopefullt","hopefully"],["hopefullu","hopefully"],["hopefuly","hopefully"],["hopeing","hoping"],["hopful","hopeful"],["hopfully","hopefully"],["hopmepage","homepage"],["hopmepages","homepages"],["hoppefully","hopefully"],["hopyfully","hopefully"],["horicontal","horizontal"],["horicontally","horizontally"],["horinzontal","horizontal"],["horizntal","horizontal"],["horizonal","horizontal"],["horizonally","horizontally"],["horizontale","horizontal"],["horiztonal","horizontal"],["horiztonally","horizontally"],["horphan","orphan"],["horrable","horrible"],["horrifing","horrifying"],["horyzontally","horizontally"],["horziontal","horizontal"],["horziontally","horizontally"],["horzontal","horizontal"],["horzontally","horizontally"],["hosited","hoisted"],["hospitible","hospitable"],["hostanme","hostname"],["hostorical","historical"],["hostories","histories"],["hostory","history"],["hostspot","hotspot"],["hostspots","hotspots"],["hotizontal","horizontal"],["hotname","hostname"],["hounour","honour"],["houres","hours"],["housand","thousand"],["houskeeping","housekeeping"],["hovever","however"],["hovewer","however"],["howeever","however"],["howerver","however"],["howeverm","however"],["howewer","however"],["howver","however"],["hradware","hardware"],["hradwares","hardwares"],["hrlp","help"],["hrlped","helped"],["hrlper","helper"],["hrlpers","helpers"],["hrlping","helping"],["hrlps","helps"],["hrough","through"],["hsa","has"],["hsell","shell"],["hsi","his"],["hsitorians","historians"],["hsotname","hostname"],["hsould'nt","shouldn't"],["hsould","should"],["hsouldn't","shouldn't"],["hstory","history"],["htacccess","htaccess"],["hte","the"],["htey","they"],["htikn","think"],["hting","thing"],["htink","think"],["htis","this"],["htmp","html"],["htting","hitting"],["hueristic","heuristic"],["humber","number"],["huminoid","humanoid"],["humoural","humoral"],["humurous","humorous"],["hunderd","hundred"],["hundreths","hundredths"],["hundrets","hundreds"],["hunrgy","hungry"],["huricane","hurricane"],["huristic","heuristic"],["husban","husband"],["hvae","have"],["hvaing","having"],["hve","have"],["hwihc","which"],["hwile","while"],["hwole","whole"],["hybernate","hibernate"],["hydogen","hydrogen"],["hydrolic","hydraulic"],["hydrolics","hydraulics"],["hydropile","hydrophile"],["hydropilic","hydrophilic"],["hydropobe","hydrophobe"],["hydropobic","hydrophobic"],["hyerarchy","hierarchy"],["hyerlink","hyperlink"],["hygeine","hygiene"],["hygene","hygiene"],["hygenic","hygienic"],["hygine","hygiene"],["hyjack","hijack"],["hyjacking","hijacking"],["hypen","hyphen"],["hypenate","hyphenate"],["hypenated","hyphenated"],["hypenates","hyphenates"],["hypenating","hyphenating"],["hypenation","hyphenation"],["hypens","hyphens"],["hyperboly","hyperbole"],["Hyperldger","Hyperledger"],["hypervior","hypervisor"],["hypocracy","hypocrisy"],["hypocrasy","hypocrisy"],["hypocricy","hypocrisy"],["hypocrit","hypocrite"],["hypocrits","hypocrites"],["hyposeses","hypotheses"],["hyposesis","hypothesis"],["hypoteses","hypotheses"],["hypotesis","hypothesis"],["hypotethically","hypothetically"],["hypothenuse","hypotenuse"],["hypothenuses","hypotenuses"],["hypter","hyper"],["hyptothetical","hypothetical"],["hyptothetically","hypothetically"],["hypvervisor","hypervisor"],["hypvervisors","hypervisors"],["hypvisor","hypervisor"],["hypvisors","hypervisors"],["I'sd","I'd"],["i;ll","I'll"],["iamge","image"],["ibject","object"],["ibjects","objects"],["ibrary","library"],["icesickle","icicle"],["iclude","include"],["icluded","included"],["icludes","includes"],["icluding","including"],["iconclastic","iconoclastic"],["iconifie","iconify"],["icrease","increase"],["icreased","increased"],["icreases","increases"],["icreasing","increasing"],["icrement","increment"],["icrementally","incrementally"],["icremented","incremented"],["icrementing","incrementing"],["icrements","increments"],["idae","idea"],["idaeidae","idea"],["idaes","ideas"],["idealogies","ideologies"],["idealogy","ideology"],["idefinite","indefinite"],["idel","idle"],["idelogy","ideology"],["idemopotent","idempotent"],["idendified","identified"],["idendifier","identifier"],["idendifiers","identifiers"],["idenfied","identified"],["idenfifier","identifier"],["idenfifiers","identifiers"],["idenfitifer","identifier"],["idenfitifers","identifiers"],["idenfitify","identify"],["idenitfy","identify"],["idenitify","identify"],["identation","indentation"],["identcial","identical"],["identfied","identified"],["identfier","identifier"],["identfiers","identifiers"],["identiable","identifiable"],["idential","identical"],["identic","identical"],["identicial","identical"],["identidier","identifier"],["identies","identities"],["identifaction","identification"],["identifcation","identification"],["identifeir","identifier"],["identifeirs","identifiers"],["identifer","identifier"],["identifers","identifiers"],["identificable","identifiable"],["identifictaion","identification"],["identifieer","identifier"],["identifiler","identifier"],["identifilers","identifiers"],["identifing","identifying"],["identifiy","identify"],["identifyable","identifiable"],["identifyed","identified"],["identiviert","identifiers"],["identtation","indentation"],["identties","identities"],["identtifier","identifier"],["identty","identity"],["ideosyncracies","ideosyncrasies"],["ideosyncratic","idiosyncratic"],["idetifier","identifier"],["idetifiers","identifiers"],["idetifies","identifies"],["idicate","indicate"],["idicated","indicated"],["idicates","indicates"],["idicating","indicating"],["idices","indices"],["idiosyncracies","idiosyncrasies"],["idiosyncracy","idiosyncrasy"],["idividual","individual"],["idividually","individually"],["idividuals","individuals"],["idons","icons"],["iechart","piechart"],["ifself","itself"],["ifset","if set"],["ignest","ingest"],["ignested","ingested"],["ignesting","ingesting"],["ignests","ingests"],["ignnore","ignore"],["ignoded","ignored"],["ignonre","ignore"],["ignora","ignore"],["ignord","ignored"],["ignoreing","ignoring"],["ignorence","ignorance"],["ignorgable","ignorable"],["ignorgd","ignored"],["ignorge","ignore"],["ignorged","ignored"],["ignorgg","ignoring"],["ignorgig","ignoring"],["ignorging","ignoring"],["ignorgs","ignores"],["ignormable","ignorable"],["ignormd","ignored"],["ignorme","ignore"],["ignormed","ignored"],["ignormg","ignoring"],["ignormig","ignoring"],["ignorming","ignoring"],["ignorms","ignores"],["ignornable","ignorable"],["ignornd","ignored"],["ignorne","ignore"],["ignorned","ignored"],["ignorng","ignoring"],["ignornig","ignoring"],["ignorning","ignoring"],["ignorns","ignores"],["ignorrable","ignorable"],["ignorrd","ignored"],["ignorre","ignore"],["ignorred","ignored"],["ignorrg","ignoring"],["ignorrig","ignoring"],["ignorring","ignoring"],["ignorrs","ignores"],["ignors","ignores"],["ignortable","ignorable"],["ignortd","ignored"],["ignorte","ignore"],["ignorted","ignored"],["ignortg","ignoring"],["ignortig","ignoring"],["ignorting","ignoring"],["ignorts","ignores"],["ignory","ignore"],["ignroed","ignored"],["ignroing","ignoring"],["igoned","ignored"],["igonorando","ignorando"],["igonore","ignore"],["igore","ignore"],["igored","ignored"],["igores","ignores"],["igoring","ignoring"],["igrnore","ignore"],["Ihaca","Ithaca"],["ihs","his"],["iif","if"],["iimmune","immune"],["iinclude","include"],["iinterval","interval"],["iiterator","iterator"],["iland","island"],["ileagle","illegal"],["ilegal","illegal"],["ilegle","illegal"],["iligal","illegal"],["illegimacy","illegitimacy"],["illegitmate","illegitimate"],["illess","illness"],["illgal","illegal"],["illiegal","illegal"],["illigal","illegal"],["illigitament","illegitimate"],["illistrate","illustrate"],["illustrasion","illustration"],["illution","illusion"],["ilness","illness"],["ilogical","illogical"],["iluminate","illuminate"],["iluminated","illuminated"],["iluminates","illuminates"],["ilumination","illumination"],["iluminations","illuminations"],["ilustrate","illustrate"],["ilustrated","illustrated"],["ilustration","illustration"],["imagenary","imaginary"],["imaghe","image"],["imagin","imagine"],["imapct","impact"],["imapcted","impacted"],["imapcting","impacting"],["imapcts","impacts"],["imapge","image"],["imbaress","embarrass"],["imbed","embed"],["imbedded","embedded"],["imbedding","embedding"],["imblance","imbalance"],["imbrase","embrace"],["imcoming","incoming"],["imcomming","incoming"],["imcompatibility","incompatibility"],["imcompatible","incompatible"],["imcomplete","incomplete"],["imedatly","immediately"],["imedialy","immediately"],["imediate","immediate"],["imediately","immediately"],["imediatly","immediately"],["imense","immense"],["imfamus","infamous"],["imgage","image"],["imidiately","immediately"],["imilar","similar"],["imlement","implement"],["imlementation","implementation"],["imlemented","implemented"],["imlementing","implementing"],["imlements","implements"],["imlicit","implicit"],["imlicitly","implicitly"],["imliment","implement"],["imlimentation","implementation"],["imlimented","implemented"],["imlimenting","implementing"],["imliments","implements"],["immadiate","immediate"],["immadiately","immediately"],["immadiatly","immediately"],["immeadiate","immediate"],["immeadiately","immediately"],["immedaite","immediate"],["immedate","immediate"],["immedately","immediately"],["immedeate","immediate"],["immedeately","immediately"],["immedially","immediately"],["immedialty","immediately"],["immediantely","immediately"],["immediatelly","immediately"],["immediatelty","immediately"],["immediatley","immediately"],["immediatlly","immediately"],["immediatly","immediately"],["immediatlye","immediately"],["immeditaly","immediately"],["immeditately","immediately"],["immeidate","immediate"],["immeidately","immediately"],["immenantly","eminently"],["immidately","immediately"],["immidatly","immediately"],["immidiate","immediate"],["immidiatelly","immediately"],["immidiately","immediately"],["immidiatly","immediately"],["immitate","imitate"],["immitated","imitated"],["immitating","imitating"],["immitator","imitator"],["immmediate","immediate"],["immmediately","immediately"],["immsersive","immersive"],["immsersively","immersively"],["immuniy","immunity"],["immunosupressant","immunosuppressant"],["immutible","immutable"],["imolicit","implicit"],["imolicitly","implicitly"],["imort","import"],["imortable","importable"],["imorted","imported"],["imortes","imports"],["imorting","importing"],["imorts","imports"],["imovable","immovable"],["impcat","impact"],["impcated","impacted"],["impcating","impacting"],["impcats","impacts"],["impecabbly","impeccably"],["impedence","impedance"],["impeed","impede"],["impelement","implement"],["impelementation","implementation"],["impelemented","implemented"],["impelementing","implementing"],["impelements","implements"],["impelentation","implementation"],["impelment","implement"],["impelmentation","implementation"],["impelmentations","implementations"],["impement","implement"],["impementaion","implementation"],["impementaions","implementations"],["impementated","implemented"],["impementation","implementation"],["impementations","implementations"],["impemented","implemented"],["impementing","implementing"],["impementling","implementing"],["impementor","implementer"],["impements","implements"],["imperiaal","imperial"],["imperically","empirically"],["imperitive","imperative"],["impermable","impermeable"],["impiled","implied"],["implace","inplace"],["implament","implement"],["implamentation","implementation"],["implamented","implemented"],["implamenting","implementing"],["implaments","implements"],["implcit","implicit"],["implcitly","implicitly"],["implct","implicit"],["implemantation","implementation"],["implemataion","implementation"],["implemataions","implementations"],["implemememnt","implement"],["implemememntation","implementation"],["implemement","implement"],["implemementation","implementation"],["implemementations","implementations"],["implememented","implemented"],["implemementing","implementing"],["implemements","implements"],["implememetation","implementation"],["implememntation","implementation"],["implememt","implement"],["implememtation","implementation"],["implememtations","implementations"],["implememted","implemented"],["implememting","implementing"],["implememts","implements"],["implemen","implement"],["implemenatation","implementation"],["implemenation","implementation"],["implemenationa","implementation"],["implemenationd","implementation"],["implemenations","implementations"],["implemencted","implemented"],["implemend","implement"],["implemends","implements"],["implemened","implemented"],["implemenet","implement"],["implemenetaion","implementation"],["implemenetaions","implementations"],["implemenetation","implementation"],["implemenetations","implementations"],["implemenetd","implemented"],["implemeneted","implemented"],["implemeneter","implementer"],["implemeneting","implementing"],["implemenetions","implementations"],["implemenets","implements"],["implemenrt","implement"],["implementaed","implemented"],["implementaion","implementation"],["implementaions","implementations"],["implementaiton","implementation"],["implementaitons","implementations"],["implementantions","implementations"],["implementastion","implementation"],["implementataion","implementation"],["implementatation","implementation"],["implementated","implemented"],["implementates","implements"],["implementating","implementing"],["implementatins","implementations"],["implementation-spacific","implementation-specific"],["implementatition","implementation"],["implementatoin","implementation"],["implementatoins","implementations"],["implementatoion","implementation"],["implementaton","implementation"],["implementator","implementer"],["implementators","implementers"],["implementattion","implementation"],["implementd","implemented"],["implementes","implements"],["implementet","implemented"],["implemention","implementation"],["implementtaion","implementation"],["implemet","implement"],["implemetation","implementation"],["implemetations","implementations"],["implemeted","implemented"],["implemeting","implementing"],["implemetnation","implementation"],["implemets","implements"],["implemnt","implement"],["implemntation","implementation"],["implemntations","implementations"],["implemt","implement"],["implemtation","implementation"],["implemtations","implementations"],["implemted","implemented"],["implemtentation","implementation"],["implemtentations","implementations"],["implemting","implementing"],["implemts","implements"],["impleneted","implemented"],["implenment","implement"],["implenmentation","implementation"],["implent","implement"],["implentation","implementation"],["implentations","implementations"],["implented","implemented"],["implenting","implementing"],["implentors","implementers"],["implents","implements"],["implet","implement"],["impletation","implementation"],["impletations","implementations"],["impleted","implemented"],["impleter","implementer"],["impleting","implementing"],["impletment","implement"],["implets","implements"],["implicitely","implicitly"],["implicitley","implicitly"],["implict","implicit"],["implictly","implicitly"],["implimcit","implicit"],["implimcitly","implicitly"],["impliment","implement"],["implimentaion","implementation"],["implimentaions","implementations"],["implimentation","implementation"],["implimentation-spacific","implementation-specific"],["implimentations","implementations"],["implimented","implemented"],["implimenting","implementing"],["implimention","implementation"],["implimentions","implementations"],["implimentor","implementor"],["impliments","implements"],["implmenet","implement"],["implmenetaion","implementation"],["implmenetaions","implementations"],["implmenetation","implementation"],["implmenetations","implementations"],["implmenetd","implemented"],["implmeneted","implemented"],["implmeneter","implementer"],["implmeneting","implementing"],["implmenets","implements"],["implment","implement"],["implmentation","implementation"],["implmentations","implementations"],["implmented","implemented"],["implmenting","implementing"],["implments","implements"],["imploys","employs"],["imporing","importing"],["imporot","import"],["imporoted","imported"],["imporoting","importing"],["imporots","imports"],["imporove","improve"],["imporoved","improved"],["imporovement","improvement"],["imporovements","improvements"],["imporoves","improves"],["imporoving","improving"],["imporsts","imports"],["importamt","important"],["importat","important"],["importd","imported"],["importent","important"],["importnt","important"],["imporve","improve"],["imporved","improved"],["imporvement","improvement"],["imporvements","improvements"],["imporves","improves"],["imporving","improving"],["imporvment","improvement"],["imposible","impossible"],["impossiblble","impossible"],["impot","import"],["impove","improve"],["impoved","improved"],["impovement","improvement"],["impovements","improvements"],["impoves","improves"],["impoving","improving"],["impplement","implement"],["impplementating","implementing"],["impplementation","implementation"],["impplemented","implemented"],["impremented","implemented"],["impres","impress"],["impresive","impressive"],["impressario","impresario"],["imprioned","imprisoned"],["imprisonned","imprisoned"],["improbe","improve"],["improbement","improvement"],["improbements","improvements"],["improbes","improves"],["improbing","improving"],["improbment","improvement"],["improbments","improvements"],["improof","improve"],["improofement","improvement"],["improofing","improving"],["improofment","improvement"],["improofs","improves"],["improove","improve"],["improoved","improved"],["improovement","improvement"],["improovements","improvements"],["improoves","improves"],["improoving","improving"],["improovment","improvement"],["improovments","improvements"],["impropely","improperly"],["improssible","impossible"],["improt","import"],["improtance","importance"],["improtant","important"],["improtantly","importantly"],["improtation","importation"],["improtations","importations"],["improted","imported"],["improter","importer"],["improters","importers"],["improting","importing"],["improts","imports"],["improvemen","improvement"],["improvemenet","improvement"],["improvemenets","improvements"],["improvemens","improvements"],["improvision","improvisation"],["improvmenet","improvement"],["improvmenets","improvements"],["improvment","improvement"],["improvments","improvements"],["imput","input"],["imrovement","improvement"],["in-memeory","in-memory"],["inablility","inability"],["inacccessible","inaccessible"],["inaccesible","inaccessible"],["inaccessable","inaccessible"],["inaccuraccies","inaccuracies"],["inaccuraccy","inaccuracy"],["inacessible","inaccessible"],["inacurate","inaccurate"],["inacurracies","inaccuracies"],["inacurrate","inaccurate"],["inadiquate","inadequate"],["inadquate","inadequate"],["inadvertant","inadvertent"],["inadvertantly","inadvertently"],["inadvertedly","inadvertently"],["inagurated","inaugurated"],["inaguration","inauguration"],["inaktively","inactively"],["inalid","invalid"],["inappropiate","inappropriate"],["inappropreate","inappropriate"],["inapropriate","inappropriate"],["inapropriately","inappropriately"],["inate","innate"],["inaugures","inaugurates"],["inavlid","invalid"],["inbalance","imbalance"],["inbalanced","imbalanced"],["inbed","embed"],["inbedded","embedded"],["inbility","inability"],["incalid","invalid"],["incarcirated","incarcerated"],["incase","in case"],["incatation","incantation"],["incatations","incantations"],["incative","inactive"],["incement","increment"],["incemental","incremental"],["incementally","incrementally"],["incemented","incremented"],["incements","increments"],["incerase","increase"],["incerased","increased"],["incerasing","increasing"],["incidential","incidental"],["incidentially","incidentally"],["incidently","incidentally"],["inclding","including"],["incldue","include"],["incldued","included"],["incldues","includes"],["inclinaison","inclination"],["inclode","include"],["inclreased","increased"],["includ","include"],["includea","include"],["includee","include"],["includeing","including"],["includied","included"],["includig","including"],["includign","including"],["includng","including"],["inclue","include"],["inclued","included"],["inclues","includes"],["incluging","including"],["incluide","include"],["incluing","including"],["inclused","included"],["inclusing","including"],["inclusinve","inclusive"],["inclution","inclusion"],["inclutions","inclusions"],["incmrement","increment"],["incoherance","incoherence"],["incoherancy","incoherency"],["incoherant","incoherent"],["incoherantly","incoherently"],["incomapatibility","incompatibility"],["incomapatible","incompatible"],["incomaptibele","incompatible"],["incomaptibelities","incompatibilities"],["incomaptibelity","incompatibility"],["incomaptible","incompatible"],["incombatibilities","incompatibilities"],["incombatibility","incompatibility"],["incomfortable","uncomfortable"],["incomming","incoming"],["incommplete","incomplete"],["incompatabable","incompatible"],["incompatabiity","incompatibility"],["incompatabile","incompatible"],["incompatabilities","incompatibilities"],["incompatability","incompatibility"],["incompatabillity","incompatibility"],["incompatabilty","incompatibility"],["incompatabily","incompatibility"],["incompatable","incompatible"],["incompatablility","incompatibility"],["incompatablities","incompatibilities"],["incompatablitiy","incompatibility"],["incompatablity","incompatibility"],["incompatably","incompatibly"],["incompataibility","incompatibility"],["incompataible","incompatible"],["incompataility","incompatibility"],["incompatatbility","incompatibility"],["incompatatble","incompatible"],["incompatatible","incompatible"],["incompatbility","incompatibility"],["incompatble","incompatible"],["incompatiability","incompatibility"],["incompatiable","incompatible"],["incompatibile","incompatible"],["incompatibilies","incompatibilities"],["incompatiblities","incompatibilities"],["incompatiblity","incompatibility"],["incompetance","incompetence"],["incompetant","incompetent"],["incompete","incomplete"],["incomping","incoming"],["incompleate","incomplete"],["incompleete","incomplete"],["incompletd","incomplete"],["incomptable","incompatible"],["incomptetent","incompetent"],["incomptible","incompatible"],["inconcistencies","inconsistencies"],["inconcistency","inconsistency"],["inconcistent","inconsistent"],["inconditional","unconditional"],["inconditionally","unconditionally"],["inconfortable","uncomfortable"],["inconisistent","inconsistent"],["inconistencies","inconsistencies"],["inconlusive","inconclusive"],["inconsisent","inconsistent"],["inconsisently","inconsistently"],["inconsisntency","inconsistency"],["inconsistance","inconsistency"],["inconsistancies","inconsistencies"],["inconsistancy","inconsistency"],["inconsistant","inconsistent"],["inconsisten","inconsistent"],["inconsistend","inconsistent"],["inconsistendly","inconsistently"],["inconsistendt","inconsistent"],["inconsistendtly","inconsistently"],["inconsistenly","inconsistently"],["inconsistented","inconsistent"],["inconsitant","inconsistent"],["inconsitency","inconsistency"],["inconsitent","inconsistent"],["inconveniant","inconvenient"],["inconveniantly","inconveniently"],["inconvertable","inconvertible"],["inconvienience","inconvenience"],["inconvienient","inconvenient"],["inconvineance","inconvenience"],["inconvineances","inconveniences"],["inconvinence","inconvenience"],["inconvinences","inconveniences"],["inconviniance","inconvenience"],["inconviniances","inconveniences"],["inconvinience","inconvenience"],["inconviniences","inconveniences"],["inconviniency","inconvenience"],["inconviniencys","inconveniences"],["incooperates","incorporates"],["incoperate","incorporate"],["incoperated","incorporated"],["incoperates","incorporates"],["incoperating","incorporating"],["incoporate","incorporate"],["incoporated","incorporated"],["incoporates","incorporates"],["incoporating","incorporating"],["incoprorate","incorporate"],["incoprorated","incorporated"],["incoprorates","incorporates"],["incoprorating","incorporating"],["incorect","incorrect"],["incorectly","incorrectly"],["incoropate","incorporate"],["incoropates","incorporates"],["incoroporated","incorporated"],["incorparates","incorporates"],["incorperate","incorporate"],["incorperated","incorporated"],["incorperates","incorporates"],["incorperating","incorporating"],["incorperation","incorporation"],["incorportaed","incorporated"],["incorported","incorporated"],["incorprates","incorporates"],["incorreclty","incorrectly"],["incorrecly","incorrectly"],["incorrecty","incorrectly"],["incorreect","incorrect"],["incorreectly","incorrectly"],["incorrent","incorrect"],["incorret","incorrect"],["incorrrect","incorrect"],["incorrrectly","incorrectly"],["incorruptable","incorruptible"],["incosistencies","inconsistencies"],["incosistency","inconsistency"],["incosistent","inconsistent"],["incosistente","inconsistent"],["incramentally","incrementally"],["increadible","incredible"],["increading","increasing"],["increaing","increasing"],["increament","increment"],["increas","increase"],["incredable","incredible"],["incremantal","incremental"],["incremeantal","incremental"],["incremenet","increment"],["incremenetd","incremented"],["incremeneted","incremented"],["incrementaly","incrementally"],["incremet","increment"],["incremetal","incremental"],["incremeted","incremented"],["incremnet","increment"],["increse","increase"],["incresed","increased"],["increses","increases"],["incresing","increasing"],["incrfemental","incremental"],["incrmenet","increment"],["incrmenetd","incremented"],["incrmeneted","incremented"],["incrment","increment"],["incrmental","incremental"],["incrmentally","incrementally"],["incrmented","incremented"],["incrmenting","incrementing"],["incrments","increments"],["inctance","instance"],["inctroduce","introduce"],["inctroduced","introduced"],["incude","include"],["incuded","included"],["incudes","includes"],["incuding","including"],["inculde","include"],["inculded","included"],["inculdes","includes"],["inculding","including"],["incunabla","incunabula"],["incure","incur"],["incurruptable","incorruptible"],["incurruptible","incorruptible"],["incvalid","invalid"],["indcates","indicates"],["indciate","indicate"],["inddex","index"],["inddividual","individual"],["inddividually","individually"],["inddividuals","individuals"],["indecate","indicate"],["indeces","indices"],["indecies","indices"],["indefinate","indefinite"],["indefinately","indefinitely"],["indefineable","undefinable"],["indefinetly","indefinitely"],["indefinitiley","indefinitely"],["indefinitively","indefinitely"],["indefinitly","indefinitely"],["indefintly","indefinitely"],["indempotent","idempotent"],["indendation","indentation"],["indentaction","indentation"],["indentaion","indentation"],["indentended","indented"],["indentical","identical"],["indentically","identically"],["indentifer","identifier"],["indentification","identification"],["indentified","identified"],["indentifier","identifier"],["indentifies","identifies"],["indentifing","identifying"],["indentify","identify"],["indentifying","identifying"],["indentit","identity"],["indentity","identity"],["indentleveal","indentlevel"],["indenx","index"],["indepandance","independence"],["indepdence","independence"],["indepdencente","independence"],["indepdendance","independence"],["indepdendant","independent"],["indepdendantly","independently"],["indepdendence","independence"],["indepdendency","independency"],["indepdendent","independent"],["indepdendently","independently"],["indepdendet","independent"],["indepdendetly","independently"],["indepdenence","independence"],["indepdenent","independent"],["indepdenently","independently"],["indepdent","independent"],["indepdented","independent"],["indepdentedly","independently"],["indepdently","independently"],["indepedantly","independently"],["indepedence","independence"],["indepedent","independent"],["indepedently","independently"],["independ","independent"],["independance","independence"],["independant","independent"],["independantly","independently"],["independece","independence"],["independed","independent"],["independedly","independently"],["independend","independent"],["independendet","independent"],["independet","independent"],["independly","independently"],["independnent","independent"],["independnet","independent"],["independnt","independent"],["independntly","independently"],["independt","independent"],["independtly","independently"],["indepenedent","independent"],["indepenendence","independence"],["indepenent","independent"],["indepenently","independently"],["indepent","independent"],["indepentent","independent"],["indepently","independently"],["inderect","indirect"],["inderts","inserts"],["indes","index"],["indespensable","indispensable"],["indespensible","indispensable"],["indexig","indexing"],["indiactor","indicator"],["indiate","indicate"],["indiated","indicated"],["indiates","indicates"],["indiating","indicating"],["indicaite","indicate"],["indicat","indicate"],["indicees","indices"],["indiciate","indicate"],["indiciated","indicated"],["indiciates","indicates"],["indiciating","indicating"],["indicies","indices"],["indicte","indicate"],["indictement","indictment"],["indictes","indicates"],["indictor","indicator"],["indigineous","indigenous"],["indipendence","independence"],["indipendent","independent"],["indipendently","independently"],["indiquate","indicate"],["indiquates","indicates"],["indirecty","indirectly"],["indispensible","indispensable"],["indisputible","indisputable"],["indisputibly","indisputably"],["indistiguishable","indistinguishable"],["indivdual","individual"],["indivdually","individually"],["indivdualy","individually"],["individal","individual"],["individally","individually"],["individals","individuals"],["individaul","individual"],["individaully","individually"],["individauls","individuals"],["individauly","individually"],["individial","individual"],["individualy","individually"],["individuel","individual"],["individuelly","individually"],["individuely","individually"],["indivisual","individual"],["indivisuality","individuality"],["indivisually","individually"],["indivisuals","individuals"],["indiviual","individual"],["indiviually","individually"],["indiviuals","individuals"],["indivual","individual"],["indivudual","individual"],["indivudually","individually"],["indizies","indices"],["indpendent","independent"],["indpendently","independently"],["indrect","indirect"],["indulgue","indulge"],["indure","endure"],["indutrial","industrial"],["indvidual","individual"],["indviduals","individuals"],["indxes","indexes"],["inearisation","linearisation"],["ineffciency","inefficiency"],["ineffcient","inefficient"],["ineffciently","inefficiently"],["inefficency","inefficiency"],["inefficent","inefficient"],["inefficently","inefficiently"],["inefficenty","inefficiently"],["inefficienty","inefficiently"],["ineffiecent","inefficient"],["ineffient","inefficient"],["ineffiently","inefficiently"],["ineficient","inefficient"],["inegrate","integrate"],["inegrated","integrated"],["ineqality","inequality"],["inequalitiy","inequality"],["inerface","interface"],["inerit","inherit"],["ineritance","inheritance"],["inerited","inherited"],["ineriting","inheriting"],["ineritor","inheritor"],["ineritors","inheritors"],["inerits","inherits"],["inernal","internal"],["inerrupt","interrupt"],["inershia","inertia"],["inershial","inertial"],["inersia","inertia"],["inersial","inertial"],["inertion","insertion"],["ines","lines"],["inestart","linestart"],["inetrrupts","interrupts"],["inevatible","inevitable"],["inevitible","inevitable"],["inevititably","inevitably"],["inexistant","inexistent"],["inexperiance","inexperience"],["inexperianced","inexperienced"],["inexpierence","inexperience"],["inexpierenced","inexperienced"],["inexpirience","inexperience"],["inexpirienced","inexperienced"],["infact","in fact"],["infalability","infallibility"],["infallable","infallible"],["infalte","inflate"],["infalted","inflated"],["infaltes","inflates"],["infalting","inflating"],["infectuous","infectious"],["infered","inferred"],["inferface","interface"],["infering","inferring"],["inferrable","inferable"],["inferrence","inference"],["infex","index"],["infilitrate","infiltrate"],["infilitrated","infiltrated"],["infilitration","infiltration"],["infinate","infinite"],["infinately","infinitely"],["infininte","infinite"],["infinit","infinite"],["infinitie","infinity"],["infinitly","infinitely"],["infinte","infinite"],["infintesimal","infinitesimal"],["infinty","infinity"],["infite","infinite"],["inflamation","inflammation"],["inflatoin","inflation"],["inflexable","inflexible"],["inflight","in-flight"],["influece","influence"],["influeced","influenced"],["influeces","influences"],["influecing","influencing"],["influencial","influential"],["influencin","influencing"],["influented","influenced"],["infoemation","information"],["infomation","information"],["infomational","informational"],["infomed","informed"],["infomer","informer"],["infomration","information"],["infoms","informs"],["infor","info"],["inforamtion","information"],["inforation","information"],["inforational","informational"],["inforce","enforce"],["inforced","enforced"],["informacion","information"],["informaion","information"],["informaiton","information"],["informatation","information"],["informatations","information"],["informatikon","information"],["informatins","information"],["informatio","information"],["informatiom","information"],["informations","information"],["informatoin","information"],["informatoins","information"],["informaton","information"],["informfation","information"],["informtion","information"],["inforrmation","information"],["infrantryman","infantryman"],["infrasctructure","infrastructure"],["infrastrcuture","infrastructure"],["infrastruture","infrastructure"],["infrastucture","infrastructure"],["infrastuctures","infrastructures"],["infreqency","infrequency"],["infreqentcy","infrequency"],["infreqeuncy","infrequency"],["infreqeuntcy","infrequency"],["infrequancies","infrequencies"],["infrequancy","infrequency"],["infrequantcies","infrequencies"],["infrequantcy","infrequency"],["infrequentcies","infrequencies"],["infrigement","infringement"],["infromation","information"],["infromatoin","information"],["infrormation","information"],["infrustructure","infrastructure"],["ingegral","integral"],["ingenius","ingenious"],["ingnore","ignore"],["ingnored","ignored"],["ingnores","ignores"],["ingnoring","ignoring"],["ingore","ignore"],["ingored","ignored"],["ingores","ignores"],["ingoring","ignoring"],["ingration","integration"],["ingreediants","ingredients"],["inh","in"],["inhabitans","inhabitants"],["inherantly","inherently"],["inheratance","inheritance"],["inheret","inherit"],["inherets","inherits"],["inheritablility","inheritability"],["inheritence","inheritance"],["inherith","inherit"],["inherithed","inherited"],["inherithing","inheriting"],["inheriths","inherits"],["inheritted","inherited"],["inherrit","inherit"],["inherritance","inheritance"],["inherrited","inherited"],["inherriting","inheriting"],["inherrits","inherits"],["inhert","inherit"],["inhertance","inheritance"],["inhertances","inheritances"],["inherted","inherited"],["inhertiance","inheritance"],["inherting","inheriting"],["inherts","inherits"],["inhomogenous","inhomogeneous"],["inialized","initialized"],["iniate","initiate"],["inidicate","indicate"],["inidicated","indicated"],["inidicates","indicates"],["inidicating","indicating"],["inidication","indication"],["inidications","indications"],["inidividual","individual"],["inidvidual","individual"],["inifinite","infinite"],["inifinity","infinity"],["inifinte","infinite"],["inifite","infinite"],["iniitial","initial"],["iniitialization","initialization"],["iniitializations","initializations"],["iniitialize","initialize"],["iniitialized","initialized"],["iniitializes","initializes"],["iniitializing","initializing"],["inintialisation","initialisation"],["inintialization","initialization"],["inisialise","initialise"],["inisialised","initialised"],["inisialises","initialises"],["iniside","inside"],["inisides","insides"],["initail","initial"],["initailisation","initialisation"],["initailise","initialise"],["initailised","initialised"],["initailiser","initialiser"],["initailisers","initialisers"],["initailises","initialises"],["initailising","initialising"],["initailization","initialization"],["initailize","initialize"],["initailized","initialized"],["initailizer","initializer"],["initailizers","initializers"],["initailizes","initializes"],["initailizing","initializing"],["initailly","initially"],["initails","initials"],["initailsation","initialisation"],["initailse","initialise"],["initailsed","initialised"],["initailsiation","initialisation"],["initaily","initially"],["initailzation","initialization"],["initailze","initialize"],["initailzed","initialized"],["initailziation","initialization"],["inital","initial"],["initalialisation","initialisation"],["initalialization","initialization"],["initalisation","initialisation"],["initalise","initialise"],["initalised","initialised"],["initaliser","initialiser"],["initalises","initialises"],["initalising","initialising"],["initalization","initialization"],["initalize","initialize"],["initalized","initialized"],["initalizer","initializer"],["initalizes","initializes"],["initalizing","initializing"],["initally","initially"],["initals","initials"],["initiailize","initialize"],["initiailized","initialized"],["initiailizes","initializes"],["initiailizing","initializing"],["initiaitive","initiative"],["initiaitives","initiatives"],["initialialise","initialise"],["initialialize","initialize"],["initialiasation","initialisation"],["initialiase","initialise"],["initialiased","initialised"],["initialiation","initialization"],["initialiazation","initialization"],["initialiaze","initialize"],["initialiazed","initialized"],["initialied","initialized"],["initialilsing","initialising"],["initialilzing","initializing"],["initialisaing","initialising"],["initialisaiton","initialisation"],["initialisated","initialised"],["initialisatin","initialisation"],["initialisationg","initialisation"],["initialisaton","initialisation"],["initialisatons","initialisations"],["initialiseing","initialising"],["initialisiation","initialisation"],["initialisong","initialising"],["initialiting","initializing"],["initialitse","initialise"],["initialitsing","initialising"],["initialitze","initialize"],["initialitzing","initializing"],["initializa","initialize"],["initializad","initialized"],["initializaed","initialized"],["initializaing","initializing"],["initializaiton","initialization"],["initializate","initialize"],["initializated","initialized"],["initializates","initializes"],["initializatin","initialization"],["initializating","initializing"],["initializationg","initialization"],["initializaton","initialization"],["initializatons","initializations"],["initializedd","initialized"],["initializeing","initializing"],["initializiation","initialization"],["initializong","initializing"],["initialsation","initialisation"],["initialse","initialise"],["initialsed","initialised"],["initialses","initialises"],["initialsing","initialising"],["initialy","initially"],["initialyl","initially"],["initialyse","initialise"],["initialysed","initialised"],["initialyses","initialises"],["initialysing","initialising"],["initialyze","initialize"],["initialyzed","initialized"],["initialyzes","initializes"],["initialyzing","initializing"],["initialzation","initialization"],["initialze","initialize"],["initialzed","initialized"],["initialzes","initializes"],["initialzing","initializing"],["initiatiate","initiate"],["initiatiated","initiated"],["initiatiater","initiator"],["initiatiating","initiating"],["initiatiator","initiator"],["initiatiats","initiates"],["initiatie","initiate"],["initiatied","initiated"],["initiaties","initiates"],["initiialise","initialise"],["initiialize","initialize"],["initilialised","initialised"],["initilialization","initialization"],["initilializations","initializations"],["initilialize","initialize"],["initilialized","initialized"],["initilializes","initializes"],["initilializing","initializing"],["initiliase","initialise"],["initiliased","initialised"],["initiliases","initialises"],["initiliasing","initialising"],["initiliaze","initialize"],["initiliazed","initialized"],["initiliazes","initializes"],["initiliazing","initializing"],["initilisation","initialisation"],["initilisations","initialisations"],["initilise","initialise"],["initilised","initialised"],["initilises","initialises"],["initilising","initialising"],["initilization","initialization"],["initilizations","initializations"],["initilize","initialize"],["initilized","initialized"],["initilizes","initializes"],["initilizing","initializing"],["inititalisation","initialisation"],["inititalisations","initialisations"],["inititalise","initialise"],["inititalised","initialised"],["inititaliser","initialiser"],["inititalising","initialising"],["inititalization","initialization"],["inititalizations","initializations"],["inititalize","initialize"],["inititate","initiate"],["inititator","initiator"],["inititialization","initialization"],["inititializations","initializations"],["initliasation","initialisation"],["initliase","initialise"],["initliased","initialised"],["initliaser","initialiser"],["initliazation","initialization"],["initliaze","initialize"],["initliazed","initialized"],["initliazer","initializer"],["inituialisation","initialisation"],["inituialization","initialization"],["inivisible","invisible"],["inizialize","initialize"],["inizialized","initialized"],["inizializes","initializes"],["inlalid","invalid"],["inlclude","include"],["inlcluded","included"],["inlcludes","includes"],["inlcluding","including"],["inlcludion","inclusion"],["inlclusive","inclusive"],["inlcude","include"],["inlcuded","included"],["inlcudes","includes"],["inlcuding","including"],["inlcusion","inclusion"],["inlcusive","inclusive"],["inlin","inline"],["inlude","include"],["inluded","included"],["inludes","includes"],["inluding","including"],["inludung","including"],["inluence","influence"],["inlusive","inclusive"],["inmediate","immediate"],["inmediatelly","immediately"],["inmediately","immediately"],["inmediatily","immediately"],["inmediatly","immediately"],["inmense","immense"],["inmigrant","immigrant"],["inmigrants","immigrants"],["inmmediately","immediately"],["inmplementation","implementation"],["innactive","inactive"],["innacurate","inaccurate"],["innacurately","inaccurately"],["innappropriate","inappropriate"],["innecesarily","unnecessarily"],["innecesary","unnecessary"],["innecessarily","unnecessarily"],["innecessary","unnecessary"],["inneffectual","ineffectual"],["innocous","innocuous"],["innoculate","inoculate"],["innoculated","inoculated"],["innosense","innocence"],["inocence","innocence"],["inofficial","unofficial"],["inofrmation","information"],["inoperant","inoperative"],["inoquous","innocuous"],["inot","into"],["inouts","inputs"],["inpact","impact"],["inpacted","impacted"],["inpacting","impacting"],["inpacts","impacts"],["inpeach","impeach"],["inpecting","inspecting"],["inpection","inspection"],["inpections","inspections"],["inpending","impending"],["inpenetrable","impenetrable"],["inplementation","implementation"],["inplementations","implementations"],["inplemented","implemented"],["inplicit","implicit"],["inplicitly","implicitly"],["inpolite","impolite"],["inport","import"],["inportant","important"],["inposible","impossible"],["inpossible","impossible"],["inpout","input"],["inpouts","inputs"],["inpractical","impractical"],["inpracticality","impracticality"],["inpractically","impractically"],["inprisonment","imprisonment"],["inproove","improve"],["inprooved","improved"],["inprooves","improves"],["inprooving","improving"],["inproovment","improvement"],["inproovments","improvements"],["inproper","improper"],["inproperly","improperly"],["inproving","improving"],["inpsection","inspection"],["inpterpreter","interpreter"],["inpu","input"],["inputed","inputted"],["inputsream","inputstream"],["inpuut","input"],["inrement","increment"],["inrements","increments"],["inreractive","interactive"],["inrerface","interface"],["inresponsive","unresponsive"],["inro","into"],["ins't","isn't"],["insallation","installation"],["insalled","installed"],["inscpeting","inspecting"],["insctuction","instruction"],["insctuctional","instructional"],["insctuctions","instructions"],["insde","inside"],["insead","instead"],["insectiverous","insectivorous"],["insensative","insensitive"],["insensetive","insensitive"],["insensistive","insensitive"],["insensistively","insensitively"],["insensitiv","insensitive"],["insensitivy","insensitivity"],["insensitve","insensitive"],["insenstive","insensitive"],["insenstively","insensitively"],["insentives","incentives"],["insentivite","insensitive"],["insepect","inspect"],["insepected","inspected"],["insepection","inspection"],["insepects","inspects"],["insependent","independent"],["inseperable","inseparable"],["insepsion","inception"],["inser","insert"],["insering","inserting"],["insersect","intersect"],["insersected","intersected"],["insersecting","intersecting"],["insersects","intersects"],["inserst","insert"],["insersted","inserted"],["inserster","inserter"],["insersting","inserting"],["inserstor","inserter"],["insersts","inserts"],["insertin","inserting"],["insertino","inserting"],["insesitive","insensitive"],["insesitively","insensitively"],["insesitiveness","insensitiveness"],["insesitivity","insensitivity"],["insetad","instead"],["insetead","instead"],["inseted","inserted"],["insid","inside"],["insidde","inside"],["insiddes","insides"],["insided","inside"],["insignificat","insignificant"],["insignificatly","insignificantly"],["insigt","insight"],["insigth","insight"],["insigths","insights"],["insigts","insights"],["insistance","insistence"],["insititute","institute"],["insitution","institution"],["insitutions","institutions"],["insonsistency","inconsistency"],["instaance","instance"],["instabce","instance"],["instace","instance"],["instaces","instances"],["instaciate","instantiate"],["instad","instead"],["instade","instead"],["instaead","instead"],["instaed","instead"],["instal","install"],["instalation","installation"],["instalations","installations"],["instaled","installed"],["instaler","installer"],["instaling","installing"],["installaion","installation"],["installaiton","installation"],["installaitons","installations"],["installataion","installation"],["installataions","installations"],["installatation","installation"],["installationa","installation"],["installes","installs"],["installtion","installation"],["instals","installs"],["instancd","instance"],["instanciate","instantiate"],["instanciated","instantiated"],["instanciates","instantiates"],["instanciating","instantiating"],["instanciation","instantiation"],["instanciations","instantiations"],["instane","instance"],["instanes","instances"],["instanseation","instantiation"],["instansiate","instantiate"],["instansiated","instantiated"],["instansiates","instantiates"],["instansiation","instantiation"],["instantate","instantiate"],["instantating","instantiating"],["instantation","instantiation"],["instantations","instantiations"],["instantiaties","instantiates"],["instanze","instance"],["instatance","instance"],["instatiate","instantiate"],["instatiation","instantiation"],["instatiations","instantiations"],["insteance","instance"],["insted","instead"],["insteead","instead"],["inster","insert"],["insterad","instead"],["insterrupts","interrupts"],["instersction","intersection"],["instersctions","intersections"],["instersectioned","intersection"],["instert","insert"],["insterted","inserted"],["instertion","insertion"],["institue","institute"],["instlal","install"],["instlalation","installation"],["instlalations","installations"],["instlaled","installed"],["instlaler","installer"],["instlaling","installing"],["instlals","installs"],["instller","installer"],["instnace","instance"],["instnaces","instances"],["instnance","instance"],["instnances","instances"],["instnat","instant"],["instnatiated","instantiated"],["instnatiation","instantiation"],["instnatiations","instantiations"],["instnce","instance"],["instnces","instances"],["instnsiated","instantiated"],["instnsiation","instantiation"],["instnsiations","instantiations"],["instnt","instant"],["instntly","instantly"],["instrace","instance"],["instralled","installed"],["instrction","instruction"],["instrctional","instructional"],["instrctions","instructions"],["instrcut","instruct"],["instrcutino","instruction"],["instrcutinoal","instructional"],["instrcutinos","instructions"],["instrcution","instruction"],["instrcutional","instructional"],["instrcutions","instructions"],["instrcuts","instructs"],["instread","instead"],["instrinsic","intrinsic"],["instruccion","instruction"],["instruccional","instructional"],["instruccions","instructions"],["instrucion","instruction"],["instrucional","instructional"],["instrucions","instructions"],["instruciton","instruction"],["instrucitonal","instructional"],["instrucitons","instructions"],["instrumenet","instrument"],["instrumenetation","instrumentation"],["instrumenetd","instrumented"],["instrumeneted","instrumented"],["instrumentaion","instrumentation"],["instrumnet","instrument"],["instrumnets","instruments"],["instsall","install"],["instsallation","installation"],["instsallations","installations"],["instsalled","installed"],["instsalls","installs"],["instuction","instruction"],["instuctional","instructional"],["instuctions","instructions"],["instuments","instruments"],["insturment","instrument"],["insturments","instruments"],["instutionalized","institutionalized"],["instutions","intuitions"],["insuffciency","insufficiency"],["insuffcient","insufficient"],["insuffciently","insufficiently"],["insufficency","insufficiency"],["insufficent","insufficient"],["insufficently","insufficiently"],["insuffiency","insufficiency"],["insuffient","insufficient"],["insuffiently","insufficiently"],["insurasnce","insurance"],["insurence","insurance"],["intaces","instance"],["intack","intact"],["intall","install"],["intallation","installation"],["intallationpath","installationpath"],["intallations","installations"],["intalled","installed"],["intalleing","installing"],["intaller","installer"],["intalles","installs"],["intalling","installing"],["intalls","installs"],["intances","instances"],["intantiate","instantiate"],["intantiating","instantiating"],["inteaction","interaction"],["intead","instead"],["inteded","intended"],["intedned","intended"],["inteface","interface"],["intefere","interfere"],["intefered","interfered"],["inteference","interference"],["integarte","integrate"],["integarted","integrated"],["integartes","integrates"],["integated","integrated"],["integates","integrates"],["integating","integrating"],["integation","integration"],["integations","integrations"],["integeral","integral"],["integere","integer"],["integreated","integrated"],["integrety","integrity"],["integrey","integrity"],["intelectual","intellectual"],["intelegence","intelligence"],["intelegent","intelligent"],["intelegently","intelligently"],["inteligability","intelligibility"],["inteligable","intelligible"],["inteligance","intelligence"],["inteligantly","intelligently"],["inteligence","intelligence"],["inteligent","intelligent"],["intelisense","intellisense"],["intelligable","intelligible"],["intemediary","intermediary"],["intenal","internal"],["intenational","international"],["intendet","intended"],["inteneded","intended"],["intenisty","intensity"],["intension","intention"],["intensional","intentional"],["intensionally","intentionally"],["intensionaly","intentionally"],["intentation","indentation"],["intentended","intended"],["intentially","intentionally"],["intentialy","intentionally"],["intentionaly","intentionally"],["intentionly","intentionally"],["intepolate","interpolate"],["intepolated","interpolated"],["intepolates","interpolates"],["intepret","interpret"],["intepretable","interpretable"],["intepretation","interpretation"],["intepretations","interpretations"],["intepretator","interpreter"],["intepretators","interpreters"],["intepreted","interpreted"],["intepreter","interpreter"],["intepreter-based","interpreter-based"],["intepreters","interpreters"],["intepretes","interprets"],["intepreting","interpreting"],["intepretor","interpreter"],["intepretors","interpreters"],["inteprets","interprets"],["inter-operability","interoperability"],["interace","interface"],["interaces","interfaces"],["interacive","interactive"],["interacively","interactively"],["interacsion","interaction"],["interacsions","interactions"],["interactionn","interaction"],["interactionns","interactions"],["interactiv","interactive"],["interactivly","interactively"],["interactuable","interactive"],["interafce","interface"],["interakt","interact"],["interaktion","interaction"],["interaktions","interactions"],["interaktive","interactively"],["interaktively","interactively"],["interaktivly","interactively"],["interaly","internally"],["interanl","internal"],["interanlly","internally"],["interate","iterate"],["interational","international"],["interative","interactive"],["interatively","interactively"],["interator","iterator"],["interators","iterators"],["interaxction","interaction"],["interaxctions","interactions"],["interaxtion","interaction"],["interaxtions","interactions"],["intercahnge","interchange"],["intercahnged","interchanged"],["intercation","interaction"],["interchage","interchange"],["interchangable","interchangeable"],["interchangably","interchangeably"],["interchangeble","interchangeable"],["intercollegate","intercollegiate"],["intercontinential","intercontinental"],["intercontinetal","intercontinental"],["interdependant","interdependent"],["interecptor","interceptor"],["intereested","interested"],["intereference","interference"],["intereferences","interferences"],["interelated","interrelated"],["interelaved","interleaved"],["interepolate","interpolate"],["interepolated","interpolated"],["interepolates","interpolates"],["interepolating","interpolating"],["interepolation","interpolation"],["interepret","interpret"],["interepretation","interpretation"],["interepretations","interpretations"],["interepreted","interpreted"],["interepreting","interpreting"],["intereprets","interprets"],["interept","intercept"],["interesct","intersect"],["interescted","intersected"],["interescting","intersecting"],["interesction","intersection"],["interesctions","intersections"],["interescts","intersects"],["interesect","intersect"],["interesected","intersected"],["interesecting","intersecting"],["interesection","intersection"],["interesections","intersections"],["interesects","intersects"],["intereset","interest"],["intereseted","interested"],["intereseting","interesting"],["interesing","interesting"],["interespersed","interspersed"],["interesseted","interested"],["interesst","interest"],["interessted","interested"],["interessting","interesting"],["intereview","interview"],["interfal","interval"],["interfals","intervals"],["interfave","interface"],["interfaves","interfaces"],["interfcae","interface"],["interfcaes","interfaces"],["interfear","interfere"],["interfearence","interference"],["interfearnce","interference"],["interfer","interfere"],["interferance","interference"],["interferd","interfered"],["interfereing","interfering"],["interfernce","interference"],["interferred","interfered"],["interferring","interfering"],["interfers","interferes"],["intergated","integrated"],["interger's","integer's"],["interger","integer"],["intergerated","integrated"],["intergers","integers"],["intergrate","integrate"],["intergrated","integrated"],["intergrates","integrates"],["intergrating","integrating"],["intergration","integration"],["intergrations","integrations"],["interit","inherit"],["interitance","inheritance"],["interited","inherited"],["interiting","inheriting"],["interits","inherits"],["interliveing","interleaving"],["interlly","internally"],["intermediat","intermediate"],["intermeidate","intermediate"],["intermidiate","intermediate"],["intermitent","intermittent"],["intermittant","intermittent"],["intermperance","intemperance"],["internaly","internally"],["internatinal","international"],["internatioanl","international"],["internation","international"],["internel","internal"],["internels","internals"],["internface","interface"],["interogators","interrogators"],["interopeable","interoperable"],["interoprability","interoperability"],["interperated","interpreted"],["interpert","interpret"],["interpertation","interpretation"],["interpertations","interpretations"],["interperted","interpreted"],["interperter","interpreter"],["interperters","interpreters"],["interperting","interpreting"],["interpertive","interpretive"],["interperts","interprets"],["interpet","interpret"],["interpetation","interpretation"],["interpeted","interpreted"],["interpeter","interpreter"],["interpeters","interpreters"],["interpeting","interpreting"],["interpets","interprets"],["interploate","interpolate"],["interploated","interpolated"],["interploates","interpolates"],["interploatin","interpolating"],["interploation","interpolation"],["interpolaed","interpolated"],["interpolaion","interpolation"],["interpolaiton","interpolation"],["interpolar","interpolator"],["interpolayed","interpolated"],["interporation","interpolation"],["interporations","interpolations"],["interprate","interpret"],["interprated","interpreted"],["interpreation","interpretation"],["interprerter","interpreter"],["interpretated","interpreted"],["interprete","interpret"],["interpretes","interprets"],["interpretet","interpreted"],["interpretion","interpretation"],["interpretions","interpretations"],["interpretor","interpreter"],["interprett","interpret"],["interpretted","interpreted"],["interpretter","interpreter"],["interpretting","interpreting"],["interract","interact"],["interracting","interacting"],["interractive","interactive"],["interracts","interacts"],["interrest","interest"],["interrested","interested"],["interresting","interesting"],["interrface","interface"],["interrim","interim"],["interript","interrupt"],["interrput","interrupt"],["interrputed","interrupted"],["interrrupt","interrupt"],["interrrupted","interrupted"],["interrrupting","interrupting"],["interrrupts","interrupts"],["interrtups","interrupts"],["interrugum","interregnum"],["interrum","interim"],["interrup","interrupt"],["interruped","interrupted"],["interruping","interrupting"],["interrups","interrupts"],["interruptable","interruptible"],["interruptors","interrupters"],["interruptted","interrupted"],["interrut","interrupt"],["interrutps","interrupts"],["interscetion","intersection"],["intersecct","intersect"],["interseccted","intersected"],["interseccting","intersecting"],["intersecction","intersection"],["interseccts","intersects"],["intersecrion","intersection"],["intersecton","intersection"],["intersectons","intersections"],["intersparsed","interspersed"],["interst","interest"],["intersted","interested"],["intersting","interesting"],["intersts","interests"],["intertaining","entertaining"],["intertia","inertia"],["intertial","inertial"],["interupt","interrupt"],["interupted","interrupted"],["interupting","interrupting"],["interupts","interrupts"],["interuupt","interrupt"],["intervall","interval"],["intervalls","intervals"],["interveening","intervening"],["intervines","intervenes"],["intesity","intensity"],["inteval","interval"],["intevals","intervals"],["intevene","intervene"],["intger","integer"],["intgers","integers"],["intgral","integral"],["inthe","in the"],["intiailise","initialise"],["intiailised","initialised"],["intiailiseing","initialising"],["intiailiser","initialiser"],["intiailises","initialises"],["intiailising","initialising"],["intiailize","initialize"],["intiailized","initialized"],["intiailizeing","initializing"],["intiailizer","initializer"],["intiailizes","initializes"],["intiailizing","initializing"],["intial","initial"],["intiale","initial"],["intialisation","initialisation"],["intialise","initialise"],["intialised","initialised"],["intialiser","initialiser"],["intialisers","initialisers"],["intialises","initialises"],["intialising","initialising"],["intialistion","initialisation"],["intializating","initializing"],["intialization","initialization"],["intializaze","initialize"],["intialize","initialize"],["intialized","initialized"],["intializer","initializer"],["intializers","initializers"],["intializes","initializes"],["intializing","initializing"],["intializtion","initialization"],["intialled","initialled"],["intiallisation","initialisation"],["intiallisations","initialisations"],["intiallised","initialised"],["intiallization","initialization"],["intiallizations","initializations"],["intiallized","initialized"],["intiallly","initially"],["intially","initially"],["intials","initials"],["intialse","initialise"],["intialsed","initialised"],["intialsing","initialising"],["intialte","initialise"],["intialy","initially"],["intialze","initialize"],["intialzed","initialized"],["intialzing","initializing"],["inticement","enticement"],["intiger","integer"],["intiial","initial"],["intiialise","initialise"],["intiialize","initialize"],["intilising","initialising"],["intilizing","initializing"],["intimite","intimate"],["intinite","infinite"],["intitial","initial"],["intitialization","initialization"],["intitialize","initialize"],["intitialized","initialized"],["intitials","initials"],["intity","entity"],["intot","into"],["intoto","into"],["intpreter","interpreter"],["intput","input"],["intputs","inputs"],["intraversion","introversion"],["intravert","introvert"],["intraverts","introverts"],["intrduced","introduced"],["intreeg","intrigue"],["intreeged","intrigued"],["intreeging","intriguing"],["intreegued","intrigued"],["intreeguing","intriguing"],["intreface","interface"],["intregral","integral"],["intrerrupt","interrupt"],["intresst","interest"],["intressted","interested"],["intressting","interesting"],["intrested","interested"],["intresting","interesting"],["intriduce","introduce"],["intriduced","introduced"],["intriduction","introduction"],["intrisinc","intrinsic"],["intrisincs","intrinsics"],["introducted","introduced"],["introductionary","introductory"],["introdued","introduced"],["introduse","introduce"],["introdused","introduced"],["introduses","introduces"],["introdusing","introducing"],["introsepectable","introspectable"],["introsepection","introspection"],["intrrupt","interrupt"],["intrrupted","interrupted"],["intrrupting","interrupting"],["intrrupts","interrupts"],["intruction","instruction"],["intructional","instructional"],["intructions","instructions"],["intruduced","introduced"],["intruducing","introducing"],["intrument","instrument"],["intrumental","instrumental"],["intrumented","instrumented"],["intrumenting","instrumenting"],["intruments","instruments"],["intrusted","entrusted"],["intstead","instead"],["intstructed","instructed"],["intstructer","instructor"],["intstructing","instructing"],["intstruction","instruction"],["intstructional","instructional"],["intstructions","instructions"],["intstructor","instructor"],["intstructs","instructs"],["intterrupt","interrupt"],["intterupt","interrupt"],["intterupted","interrupted"],["intterupting","interrupting"],["intterupts","interrupts"],["intuative","intuitive"],["inturpratasion","interpretation"],["inturpratation","interpretation"],["inturprett","interpret"],["intutive","intuitive"],["intutively","intuitively"],["inudstry","industry"],["inut","input"],["invaid","invalid"],["invaild","invalid"],["invaildate","invalidate"],["invailid","invalid"],["invalaid","invalid"],["invald","invalid"],["invaldates","invalidates"],["invalde","invalid"],["invalidatiopn","invalidation"],["invalide","invalid"],["invalidiate","invalidate"],["invalidte","invalidate"],["invalidted","invalidated"],["invalidtes","invalidates"],["invalidting","invalidating"],["invalidtion","invalidation"],["invalied","invalid"],["invalud","invalid"],["invarient","invariant"],["invarients","invariants"],["invarinat","invariant"],["invarinats","invariants"],["inventer","inventor"],["inverded","inverted"],["inverion","inversion"],["inverions","inversions"],["invertedd","inverted"],["invertibrates","invertebrates"],["invertion","inversion"],["invertions","inversions"],["inverval","interval"],["inveryed","inverted"],["invesitgated","investigated"],["invesitgating","investigating"],["invesitgation","investigation"],["invesitgations","investigations"],["investingate","investigate"],["inveting","inverting"],["invetory","inventory"],["inviation","invitation"],["invididual","individual"],["invidivual","individual"],["invidual","individual"],["invidually","individually"],["invisble","invisible"],["invisblity","invisibility"],["invisiable","invisible"],["invisibile","invisible"],["invisivble","invisible"],["invlaid","invalid"],["invlid","invalid"],["invlisible","invisible"],["invlove","involve"],["invloved","involved"],["invloves","involves"],["invocaition","invocation"],["invokable","invocable"],["invokation","invocation"],["invokations","invocations"],["invokve","invoke"],["invokved","invoked"],["invokves","invokes"],["invokving","invoking"],["involvment","involvement"],["invovle","involve"],["invovled","involved"],["invovles","involves"],["invovling","involving"],["ioclt","ioctl"],["iomaped","iomapped"],["ionde","inode"],["iplementation","implementation"],["ipmrovement","improvement"],["ipmrovements","improvements"],["iput","input"],["ireelevant","irrelevant"],["irelevent","irrelevant"],["iresistable","irresistible"],["iresistably","irresistibly"],["iresistible","irresistible"],["iresistibly","irresistibly"],["iritable","irritable"],["iritate","irritate"],["iritated","irritated"],["iritating","irritating"],["ironicly","ironically"],["irradate","irradiate"],["irradated","irradiated"],["irradates","irradiates"],["irradating","irradiating"],["irradation","irradiation"],["irraditate","irradiate"],["irraditated","irradiated"],["irraditates","irradiates"],["irraditating","irradiating"],["irregularties","irregularities"],["irregulier","irregular"],["irregulierties","irregularities"],["irrelavent","irrelevant"],["irrelevent","irrelevant"],["irrelvant","irrelevant"],["irreplacable","irreplaceable"],["irreplacalbe","irreplaceable"],["irreproducable","irreproducible"],["irresepective","irrespective"],["irresistable","irresistible"],["irresistably","irresistibly"],["irreversable","irreversible"],["is'nt","isn't"],["isalha","isalpha"],["isconnection","isconnected"],["iscrated","iscreated"],["iself","itself"],["iselfe","itself"],["iserting","inserting"],["isimilar","similar"],["isloation","isolation"],["ismas","isthmus"],["isn;t","isn't"],["isnpiron","inspiron"],["isnt'","isn't"],["isnt","isn't"],["isnt;","isn't"],["isntalation","installation"],["isntalations","installations"],["isntallation","installation"],["isntallations","installations"],["isntance","instance"],["isntances","instances"],["isotrophically","isotropically"],["ispatches","dispatches"],["isplay","display"],["Israelies","Israelis"],["isse","issue"],["isses","issues"],["isssue","issue"],["isssued","issued"],["isssues","issues"],["issueing","issuing"],["istalling","installing"],["istance","instance"],["istead","instead"],["istened","listened"],["istener","listener"],["isteners","listeners"],["istening","listening"],["isue","issue"],["iteartor","iterator"],["iteator","iterator"],["iteger","integer"],["itegral","integral"],["itegrals","integrals"],["iten","item"],["itens","items"],["itention","intention"],["itentional","intentional"],["itentionally","intentionally"],["itentionaly","intentionally"],["iteraion","iteration"],["iteraions","iterations"],["iteratable","iterable"],["iterater","iterator"],["iteraterate","iterate"],["iteratered","iterated"],["iteratior","iterator"],["iteratiors","iterators"],["iteratons","iterations"],["itereating","iterating"],["iterface","interface"],["iterfaces","interfaces"],["iternations","iterations"],["iterpreter","interpreter"],["iterration","iteration"],["iterrations","iterations"],["iterrupt","interrupt"],["iterstion","iteration"],["iterstions","iterations"],["itertation","iteration"],["iteself","itself"],["itesm","items"],["itheir","their"],["itheirs","theirs"],["itialise","initialise"],["itialised","initialised"],["itialises","initialises"],["itialising","initialising"],["itialize","initialize"],["itialized","initialized"],["itializes","initializes"],["itializing","initializing"],["itnerest","interest"],["itnerface","interface"],["itnerfaces","interfaces"],["itnernal","internal"],["itnerprelation","interpretation"],["itnerpret","interpret"],["itnerpretation","interpretation"],["itnerpretaton","interpretation"],["itnerpreted","interpreted"],["itnerpreter","interpreter"],["itnerpreting","interpreting"],["itnerprets","interprets"],["itnervals","intervals"],["itnroduced","introduced"],["itsef","itself"],["itsel","itself"],["itselfs","itself"],["itselt","itself"],["itselv","itself"],["itsems","items"],["itslef","itself"],["itslev","itself"],["itsself","itself"],["itterate","iterate"],["itterated","iterated"],["itterates","iterates"],["itterating","iterating"],["itteration","iteration"],["itterations","iterations"],["itterative","iterative"],["itterator","iterator"],["itterators","iterators"],["iunior","junior"],["ivalid","invalid"],["ivocation","invocation"],["ivoked","invoked"],["iwithout","without"],["iwll","will"],["iwth","with"],["jagid","jagged"],["jagwar","jaguar"],["januar","January"],["janurary","January"],["Januray","January"],["japanease","japanese"],["japaneese","Japanese"],["Japanes","Japanese"],["japanses","Japanese"],["jaques","jacques"],["javacript","javascript"],["javascipt","javascript"],["javasciript","javascript"],["javascritp","javascript"],["javascropt","javascript"],["javasript","javascript"],["javasrript","javascript"],["javescript","javascript"],["javsscript","javascript"],["jeapardy","jeopardy"],["jeffies","jiffies"],["jekins","Jenkins"],["jelous","jealous"],["jelousy","jealousy"],["jelusey","jealousy"],["jenkin","Jenkins"],["jenkkins","Jenkins"],["jenkns","Jenkins"],["jepordize","jeopardize"],["jewllery","jewellery"],["jhondoe","johndoe"],["jist","gist"],["jitterr","jitter"],["jitterring","jittering"],["jodpers","jodhpurs"],["Johanine","Johannine"],["joineable","joinable"],["joinning","joining"],["jont","joint"],["jonts","joints"],["jornal","journal"],["jorunal","journal"],["Jospeh","Joseph"],["jossle","jostle"],["jouney","journey"],["journied","journeyed"],["journies","journeys"],["joystik","joystick"],["jscipt","jscript"],["jstu","just"],["jsut","just"],["juadaism","Judaism"],["juadism","Judaism"],["judical","judicial"],["judisuary","judiciary"],["juducial","judicial"],["juge","judge"],["juipter","Jupiter"],["jumo","jump"],["jumoed","jumped"],["jumpimng","jumping"],["jupyther","Jupyter"],["juristiction","jurisdiction"],["juristictions","jurisdictions"],["jus","just"],["justfied","justified"],["justication","justification"],["justifed","justified"],["justs","just"],["juxt","just"],["juxtification","justification"],["juxtifications","justifications"],["juxtified","justified"],["juxtifies","justifies"],["juxtifying","justifying"],["kakfa","Kafka"],["kazakstan","Kazakhstan"],["keep-alives","keep-alive"],["keept","kept"],["kenerl","kernel"],["kenerls","kernels"],["kenrel","kernel"],["kenrels","kernels"],["kepping","keeping"],["kepps","keeps"],["kerenl","kernel"],["kerenls","kernels"],["kernal","kernel"],["kernals","kernels"],["kernerl","kernel"],["kernerls","kernels"],["keword","keyword"],["kewords","keywords"],["kewword","keyword"],["kewwords","keywords"],["keybaord","keyboard"],["keybaords","keyboards"],["keyboaard","keyboard"],["keyboaards","keyboards"],["keyboad","keyboard"],["keyboads","keyboards"],["keybooard","keyboard"],["keybooards","keyboards"],["keyborad","keyboard"],["keyborads","keyboards"],["keybord","keyboard"],["keybords","keyboards"],["keybroad","keyboard"],["keybroads","keyboards"],["keyevente","keyevent"],["keyords","keywords"],["keyoutch","keytouch"],["keyowrd","keyword"],["keypair","key pair"],["keypairs","key pairs"],["keyservers","key servers"],["keystokes","keystrokes"],["keyward","keyword"],["keywoards","keywords"],["keywork","keyword"],["keyworkd","keyword"],["keyworkds","keywords"],["keywors","keywords"],["keywprd","keyword"],["kindergarden","kindergarten"],["kindgergarden","kindergarten"],["kindgergarten","kindergarten"],["kinf","kind"],["kinfs","kinds"],["kinnect","Kinect"],["klenex","kleenex"],["klick","click"],["klicked","clicked"],["klicks","clicks"],["klunky","clunky"],["knive","knife"],["kno","know"],["knowladge","knowledge"],["knowlage","knowledge"],["knowlageable","knowledgeable"],["knowlegde","knowledge"],["knowlege","knowledge"],["knowlegeabel","knowledgeable"],["knowlegeable","knowledgeable"],["knwo","know"],["knwoing","knowing"],["knwoingly","knowingly"],["knwon","known"],["knwos","knows"],["kocalized","localized"],["konstant","constant"],["konstants","constants"],["konw","know"],["konwn","known"],["konws","knows"],["koordinate","coordinate"],["koordinates","coordinates"],["kown","known"],["kubenates","Kubernetes"],["kubenernetes","Kubernetes"],["kubenertes","Kubernetes"],["kubenetes","Kubernetes"],["kubenretes","Kubernetes"],["kuberenetes","Kubernetes"],["kuberentes","Kubernetes"],["kuberetes","Kubernetes"],["kubermetes","Kubernetes"],["kubernates","Kubernetes"],["kubernests","Kubernetes"],["kubernete","Kubernetes"],["kuberntes","Kubernetes"],["kwno","know"],["kwoledgebase","knowledge base"],["kyrillic","cyrillic"],["labbel","label"],["labbeled","labeled"],["labbels","labels"],["labed","labeled"],["labeld","labelled"],["labirinth","labyrinth"],["lable","label"],["lablel","label"],["lablels","labels"],["lables","labels"],["labouriously","laboriously"],["labratory","laboratory"],["lagacies","legacies"],["lagacy","legacy"],["laguage","language"],["laguages","languages"],["laguague","language"],["laguagues","languages"],["laiter","later"],["lamda","lambda"],["lamdas","lambdas"],["lanaguage","language"],["lanaguge","language"],["lanaguges","languages"],["lanagugs","languages"],["lanauge","language"],["langage","language"],["langauage","language"],["langauge","language"],["langauges","languages"],["langeuage","language"],["langeuagesection","languagesection"],["langht","length"],["langhts","lengths"],["langth","length"],["langths","lengths"],["languace","language"],["languaces","languages"],["languae","language"],["languaes","languages"],["language-spacific","language-specific"],["languahe","language"],["languahes","languages"],["languaje","language"],["languajes","languages"],["langual","lingual"],["languale","language"],["languales","languages"],["langualge","language"],["langualges","languages"],["languange","language"],["languanges","languages"],["languaqe","language"],["languaqes","languages"],["languate","language"],["languates","languages"],["languauge","language"],["languauges","languages"],["languege","language"],["langueges","languages"],["langugae","language"],["langugaes","languages"],["langugage","language"],["langugages","languages"],["languge","language"],["languges","languages"],["langugue","language"],["langugues","languages"],["lanich","launch"],["lanuage","language"],["lanuch","launch"],["lanuched","launched"],["lanuches","launches"],["lanuching","launching"],["lanugage","language"],["lanugages","languages"],["laod","load"],["laoded","loaded"],["laoding","loading"],["laods","loads"],["laout","layout"],["larg","large"],["largst","largest"],["larrry","larry"],["lastes","latest"],["lastr","last"],["latets","latest"],["lating","latin"],["latitide","latitude"],["latitue","latitude"],["latitute","latitude"],["latops","laptops"],["latset","latest"],["lattitude","latitude"],["lauch","launch"],["lauched","launched"],["laucher","launcher"],["lauches","launches"],["lauching","launching"],["lauguage","language"],["launck","launch"],["launhed","launched"],["lavae","larvae"],["layed","laid"],["layou","layout"],["lazer","laser"],["laziliy","lazily"],["lazyness","laziness"],["lcoally","locally"],["lcoation","location"],["lcuase","clause"],["leaast","least"],["leace","leave"],["leack","leak"],["leagacy","legacy"],["leagal","legal"],["leagalise","legalise"],["leagality","legality"],["leagalize","legalize"],["leagcy","legacy"],["leage","league"],["leagel","legal"],["leagelise","legalise"],["leagelity","legality"],["leagelize","legalize"],["leageue","league"],["leagl","legal"],["leaglise","legalise"],["leaglity","legality"],["leaglize","legalize"],["leapyear","leap year"],["leapyears","leap years"],["leary","leery"],["leaset","least"],["leasy","least"],["leathal","lethal"],["leats","least"],["leaveing","leaving"],["leavong","leaving"],["lefted","left"],["legac","legacy"],["legact","legacy"],["legalimate","legitimate"],["legasy","legacy"],["legel","legal"],["leggacies","legacies"],["leggacy","legacy"],["leght","length"],["leghts","lengths"],["legitamate","legitimate"],["legitimiately","legitimately"],["legitmate","legitimate"],["legnth","length"],["legth","length"],["legths","lengths"],["leibnitz","leibniz"],["leightweight","lightweight"],["lene","lens"],["lenggth","length"],["lengh","length"],["lenghs","lengths"],["lenght","length"],["lenghten","lengthen"],["lenghtend","lengthened"],["lenghtened","lengthened"],["lenghtening","lengthening"],["lenghth","length"],["lenghthen","lengthen"],["lenghths","lengths"],["lenghthy","lengthy"],["lenghtly","lengthy"],["lenghts","lengths"],["lenghty","lengthy"],["lengt","length"],["lengten","lengthen"],["lengtext","longtext"],["lengthes","lengths"],["lengthh","length"],["lengts","lengths"],["leniant","lenient"],["leninent","lenient"],["lentgh","length"],["lentghs","lengths"],["lenth","length"],["lenths","lengths"],["leran","learn"],["leraned","learned"],["lerans","learns"],["lessson","lesson"],["lesssons","lessons"],["lesstiff","LessTif"],["letgitimate","legitimate"],["letmost","leftmost"],["leutenant","lieutenant"],["levaridge","leverage"],["levetate","levitate"],["levetated","levitated"],["levetates","levitates"],["levetating","levitating"],["levl","level"],["levle","level"],["lexial","lexical"],["lexigraphic","lexicographic"],["lexigraphical","lexicographical"],["lexigraphically","lexicographically"],["leyer","layer"],["leyered","layered"],["leyering","layering"],["leyers","layers"],["liares","liars"],["liasion","liaison"],["liason","liaison"],["liasons","liaisons"],["libarary","library"],["libaries","libraries"],["libary","library"],["libell","libel"],["liberaries","libraries"],["liberary","library"],["liberoffice","libreoffice"],["liberry","library"],["libgng","libpng"],["libguistic","linguistic"],["libguistics","linguistics"],["libitarianisn","libertarianism"],["libraarie","library"],["libraaries","libraries"],["libraary","library"],["librabarie","library"],["librabaries","libraries"],["librabary","library"],["librabie","library"],["librabies","libraries"],["librabrie","library"],["librabries","libraries"],["librabry","library"],["libraby","library"],["libraie","library"],["libraier","library"],["libraies","libraries"],["libraiesr","libraries"],["libraire","library"],["libraires","libraries"],["librairies","libraries"],["librairy","library"],["libralie","library"],["libralies","libraries"],["libraly","library"],["libraray","library"],["libraris","libraries"],["librarries","libraries"],["librarry","library"],["libraryes","libraries"],["libratie","library"],["libraties","libraries"],["libraty","library"],["libray","library"],["librayr","library"],["libreoffie","libreoffice"],["libreoficekit","libreofficekit"],["libreries","libraries"],["librery","library"],["libries","libraries"],["librraies","libraries"],["librraries","libraries"],["librrary","library"],["librray","library"],["libstc++","libstdc++"],["licate","locate"],["licated","located"],["lication","location"],["lications","locations"],["licenceing","licencing"],["licese","license"],["licesne","license"],["licesnes","licenses"],["licesning","licensing"],["licesnse","license"],["licesnses","licenses"],["licesnsing","licensing"],["licsense","license"],["licsenses","licenses"],["licsensing","licensing"],["lieing","lying"],["liek","like"],["liekd","liked"],["lient","client"],["lients","clients"],["liesure","leisure"],["lieuenant","lieutenant"],["liev","live"],["lieved","lived"],["lifceycle","lifecycle"],["lifecyle","lifecycle"],["lifes","lives"],["lifeycle","lifecycle"],["liftime","lifetime"],["lighing","lighting"],["lightbulp","lightbulb"],["lightweigh","lightweight"],["lightwieght","lightweight"],["lightwight","lightweight"],["lightyear","light year"],["lightyears","light years"],["ligth","light"],["ligthing","lighting"],["ligths","lights"],["ligthweight","lightweight"],["ligthweights","lightweights"],["liitle","little"],["likeley","likely"],["likelly","likely"],["likelyhood","likelihood"],["likewis","likewise"],["likey","likely"],["liklelihood","likelihood"],["likley","likely"],["likly","likely"],["lileral","literal"],["limiation","limitation"],["limiations","limitations"],["liminted","limited"],["limitaion","limitation"],["limite","limit"],["limitiaion","limitation"],["limitiaions","limitations"],["limitiation","limitation"],["limitiations","limitations"],["limitied","limited"],["limitier","limiter"],["limitiers","limiters"],["limitiing","limiting"],["limitimg","limiting"],["limition","limitation"],["limitions","limitations"],["limitis","limits"],["limititation","limitation"],["limititations","limitations"],["limitited","limited"],["limititer","limiter"],["limititers","limiters"],["limititing","limiting"],["limitted","limited"],["limitter","limiter"],["limitting","limiting"],["limitts","limits"],["limk","link"],["limted","limited"],["limti","limit"],["limts","limits"],["linaer","linear"],["linar","linear"],["linarly","linearly"],["lincese","license"],["lincesed","licensed"],["linceses","licenses"],["lineary","linearly"],["linerisation","linearisation"],["linerisations","linearisations"],["lineseach","linesearch"],["lineseaches","linesearches"],["liness","lines"],["linewdith","linewidth"],["linez","lines"],["lingth","length"],["linheight","lineheight"],["linkfy","linkify"],["linnaena","linnaean"],["lintain","lintian"],["linz","lines"],["lippizaner","lipizzaner"],["liquify","liquefy"],["lisetning","listening"],["lising","listing"],["listapck","listpack"],["listbbox","listbox"],["listeing","listening"],["listeneing","listening"],["listeneres","listeners"],["listenes","listens"],["listensers","listeners"],["listenter","listener"],["listenters","listeners"],["listernes","listeners"],["listner","listener"],["listners","listeners"],["litaral","literal"],["litarally","literally"],["litarals","literals"],["litature","literature"],["liteautrue","literature"],["literaly","literally"],["literture","literature"],["litle","little"],["litquid","liquid"],["litquids","liquids"],["lits","list"],["litte","little"],["littel","little"],["littel-endian","little-endian"],["littele","little"],["littelry","literally"],["litteral","literal"],["litterally","literally"],["litterals","literals"],["litterate","literate"],["litterature","literature"],["liuke","like"],["liveing","living"],["livel","level"],["livetime","lifetime"],["livley","lively"],["lizens","license"],["lizense","license"],["lizensing","licensing"],["lke","like"],["llinear","linear"],["lmits","limits"],["loaader","loader"],["loacal","local"],["loacality","locality"],["loacally","locally"],["loacation","location"],["loaction","location"],["loactions","locations"],["loadig","loading"],["loadin","loading"],["loadning","loading"],["locae","locate"],["locaes","locates"],["locahost","localhost"],["locaiing","locating"],["locailty","locality"],["locaing","locating"],["locaion","location"],["locaions","locations"],["locaise","localise"],["locaised","localised"],["locaiser","localiser"],["locaises","localises"],["locaite","locate"],["locaites","locates"],["locaiting","locating"],["locaition","location"],["locaitions","locations"],["locaiton","location"],["locaitons","locations"],["locaize","localize"],["locaized","localized"],["locaizer","localizer"],["locaizes","localizes"],["localation","location"],["localed","located"],["localtion","location"],["localtions","locations"],["localy","locally"],["localzation","localization"],["locatins","locations"],["loccked","locked"],["locgical","logical"],["lockingf","locking"],["lodable","loadable"],["loded","loaded"],["loder","loader"],["loders","loaders"],["loding","loading"],["loev","love"],["logarithimic","logarithmic"],["logarithmical","logarithmically"],["logaritmic","logarithmic"],["logcal","logical"],["loggging","logging"],["logial","logical"],["logially","logically"],["logicaly","logically"],["logictech","logitech"],["logile","logfile"],["logitude","longitude"],["logitudes","longitudes"],["logoic","logic"],["logorithm","logarithm"],["logorithmic","logarithmic"],["logorithms","logarithms"],["logrithm","logarithm"],["logrithms","logarithms"],["logwritter","logwriter"],["loign","login"],["loigns","logins"],["lokal","local"],["lokale","locale"],["lokales","locales"],["lokaly","locally"],["lolal","total"],["lolerant","tolerant"],["lond","long"],["lonelyness","loneliness"],["long-runnign","long-running"],["longers","longer"],["longitudonal","longitudinal"],["longitue","longitude"],["longitutde","longitude"],["longitute","longitude"],["longst","longest"],["longuer","longer"],["longuest","longest"],["lonley","lonely"],["looback","loopback"],["loobacks","loopbacks"],["loobpack","loopback"],["loockdown","lockdown"],["lookes","looks"],["looknig","looking"],["looop","loop"],["loopup","lookup"],["loosley","loosely"],["loosly","loosely"],["losely","loosely"],["losen","loosen"],["losened","loosened"],["lotharingen","Lothringen"],["lpatform","platform"],["luckly","luckily"],["luminose","luminous"],["luminousity","luminosity"],["lveo","love"],["lvoe","love"],["Lybia","Libya"],["maake","make"],["mabe","maybe"],["mabye","maybe"],["macack","macaque"],["macason","moccasin"],["macasons","moccasins"],["maccro","macro"],["maccros","macros"],["machanism","mechanism"],["machanisms","mechanisms"],["mached","matched"],["maches","matches"],["machettie","machete"],["machinary","machinery"],["machine-dependend","machine-dependent"],["machiness","machines"],["mackeral","mackerel"],["maco","macro"],["macor","macro"],["macors","macros"],["macpakge","package"],["macroses","macros"],["macrow","macro"],["macthing","matching"],["madantory","mandatory"],["madatory","mandatory"],["maddness","madness"],["maesure","measure"],["maesured","measured"],["maesurement","measurement"],["maesurements","measurements"],["maesures","measures"],["maesuring","measuring"],["magasine","magazine"],["magincian","magician"],["magisine","magazine"],["magizine","magazine"],["magnatiude","magnitude"],["magnatude","magnitude"],["magnificient","magnificent"],["magolia","magnolia"],["mahcine","machine"],["maibe","maybe"],["maibox","mailbox"],["mailformed","malformed"],["mailling","mailing"],["maillinglist","mailing list"],["maillinglists","mailing lists"],["mailny","mainly"],["mailstrum","maelstrom"],["mainenance","maintenance"],["maininly","mainly"],["mainling","mailing"],["maintainance","maintenance"],["maintaince","maintenance"],["maintainces","maintenances"],["maintainence","maintenance"],["maintaing","maintaining"],["maintan","maintain"],["maintanance","maintenance"],["maintance","maintenance"],["maintane","maintain"],["maintanence","maintenance"],["maintaner","maintainer"],["maintaners","maintainers"],["maintans","maintains"],["maintenace","maintenance"],["maintenence","maintenance"],["maintiain","maintain"],["maintians","maintains"],["maintinaing","maintaining"],["maintioned","mentioned"],["mairabd","MariaDB"],["mairadb","MariaDB"],["maitain","maintain"],["maitainance","maintenance"],["maitained","maintained"],["maitainers","maintainers"],["majoroty","majority"],["maka","make"],["makefle","makefile"],["makeing","making"],["makign","making"],["makretplace","marketplace"],["makro","macro"],["makros","macros"],["Malcom","Malcolm"],["maliciousally","maliciously"],["malicius","malicious"],["maliciusally","maliciously"],["maliciusly","maliciously"],["malicous","malicious"],["malicousally","maliciously"],["malicously","maliciously"],["maline","malign"],["malined","maligned"],["malining","maligning"],["malins","maligns"],["malless","malice"],["malplace","misplace"],["malplaced","misplaced"],["maltesian","Maltese"],["mamagement","management"],["mamal","mammal"],["mamalian","mammalian"],["mamento","memento"],["mamentos","mementos"],["mamory","memory"],["mamuth","mammoth"],["manafacturer","manufacturer"],["manafacturers","manufacturers"],["managament","management"],["manageed","managed"],["managemenet","management"],["managenment","management"],["managet","manager"],["managets","managers"],["managmenet","management"],["managment","management"],["manaise","mayonnaise"],["manal","manual"],["manange","manage"],["manangement","management"],["mananger","manager"],["manangers","managers"],["manaul","manual"],["manaully","manually"],["manauls","manuals"],["manaze","mayonnaise"],["mandatatory","mandatory"],["mandetory","mandatory"],["manement","management"],["maneouvre","manoeuvre"],["maneouvred","manoeuvred"],["maneouvres","manoeuvres"],["maneouvring","manoeuvring"],["manetain","maintain"],["manetained","maintained"],["manetainer","maintainer"],["manetainers","maintainers"],["manetaining","maintaining"],["manetains","maintains"],["mangaed","managed"],["mangaement","management"],["mangager","manager"],["mangagers","managers"],["mangement","management"],["mangementt","management"],["manifacture","manufacture"],["manifactured","manufactured"],["manifacturer","manufacturer"],["manifacturers","manufacturers"],["manifactures","manufactures"],["manifect","manifest"],["manipluate","manipulate"],["manipluated","manipulated"],["manipulatin","manipulating"],["manipulaton","manipulation"],["manipute","manipulate"],["maniputed","manipulated"],["maniputing","manipulating"],["manipution","manipulation"],["maniputions","manipulations"],["maniputor","manipulator"],["manisfestations","manifestations"],["maniuplate","manipulate"],["maniuplated","manipulated"],["maniuplates","manipulates"],["maniuplating","manipulating"],["maniuplation","manipulation"],["maniuplations","manipulations"],["maniuplator","manipulator"],["maniuplators","manipulators"],["mannor","manner"],["mannual","manual"],["mannually","manually"],["mannualy","manually"],["manoeuverability","maneuverability"],["manoeuvering","maneuvering"],["manouevring","manoeuvring"],["mantain","maintain"],["mantainable","maintainable"],["mantained","maintained"],["mantainer","maintainer"],["mantainers","maintainers"],["mantaining","maintaining"],["mantains","maintains"],["mantanine","maintain"],["mantanined","maintained"],["mantatory","mandatory"],["mantenance","maintenance"],["manualy","manually"],["manualyl","manually"],["manualyy","manually"],["manuell","manual"],["manuelly","manually"],["manufactuerd","manufactured"],["manufacturedd","manufactured"],["manufature","manufacture"],["manufatured","manufactured"],["manufaturing","manufacturing"],["manufaucturing","manufacturing"],["manulally","manually"],["manule","manual"],["manuley","manually"],["manully","manually"],["manuly","manually"],["manupilations","manipulations"],["manupulate","manipulate"],["manupulated","manipulated"],["manupulates","manipulates"],["manupulating","manipulating"],["manupulation","manipulation"],["manupulations","manipulations"],["manuver","maneuver"],["manyal","manual"],["manyally","manually"],["manyals","manuals"],["mapable","mappable"],["mape","map"],["maped","mapped"],["maping","mapping"],["mapings","mappings"],["mapp","map"],["mappeds","mapped"],["mappeed","mapped"],["mappping","mapping"],["mapppings","mappings"],["margings","margins"],["mariabd","MariaDB"],["mariage","marriage"],["marjority","majority"],["marketting","marketing"],["markey","marquee"],["markeys","marquees"],["marmelade","marmalade"],["marrage","marriage"],["marraige","marriage"],["marrtyred","martyred"],["marryied","married"],["marshmellow","marshmallow"],["marshmellows","marshmallows"],["marter","martyr"],["masakist","masochist"],["mashetty","machete"],["mashine","machine"],["mashined","machined"],["mashines","machines"],["masia","messiah"],["masicer","massacre"],["masiff","massif"],["maskerading","masquerading"],["maskeraid","masquerade"],["masos","macos"],["masquarade","masquerade"],["masqurade","masquerade"],["Massachusettes","Massachusetts"],["Massachussets","Massachusetts"],["Massachussetts","Massachusetts"],["massagebox","messagebox"],["massectomy","mastectomy"],["massewer","masseur"],["massmedia","mass media"],["massoose","masseuse"],["masster","master"],["masteer","master"],["masterbation","masturbation"],["mastquerade","masquerade"],["mata-data","meta-data"],["matadata","metadata"],["matainer","maintainer"],["matainers","maintainers"],["mataphysical","metaphysical"],["matatable","metatable"],["matc","match"],["matchies","matches"],["matchign","matching"],["matchin","matching"],["matchs","matches"],["matchter","matcher"],["matcing","matching"],["mateiral","material"],["mateirals","materials"],["matemathical","mathematical"],["materaial","material"],["materaials","materials"],["materail","material"],["materails","materials"],["materalists","materialist"],["materil","material"],["materilism","materialism"],["materilize","materialize"],["materils","materials"],["materla","material"],["materlas","materials"],["mathamatics","mathematics"],["mathces","matches"],["mathch","match"],["mathched","matched"],["mathches","matches"],["mathching","matching"],["mathcing","matching"],["mathed","matched"],["mathematicaly","mathematically"],["mathematican","mathematician"],["mathematicas","mathematics"],["mathes","matches"],["mathetician","mathematician"],["matheticians","mathematicians"],["mathimatic","mathematic"],["mathimatical","mathematical"],["mathimatically","mathematically"],["mathimatician","mathematician"],["mathimaticians","mathematicians"],["mathimatics","mathematics"],["mathing","matching"],["mathmatical","mathematical"],["mathmatically","mathematically"],["mathmatician","mathematician"],["mathmaticians","mathematicians"],["mathod","method"],["matinay","matinee"],["matix","matrix"],["matreial","material"],["matreials","materials"],["matresses","mattresses"],["matrial","material"],["matrials","materials"],["matser","master"],["matzch","match"],["mavrick","maverick"],["mawsoleum","mausoleum"],["maximice","maximize"],["maximim","maximum"],["maximimum","maximum"],["maximium","maximum"],["maximnum","maximum"],["maximnums","maximums"],["maximun","maximum"],["maxinum","maximum"],["maxium","maximum"],["maxiumum","maximum"],["maxmimum","maximum"],["maxmium","maximum"],["maxmiums","maximums"],["maxosx","macosx"],["maxumum","maximum"],["maybee","maybe"],["mayonase","mayonnaise"],["mayority","majority"],["mayu","may"],["mayybe","maybe"],["mazilla","Mozilla"],["mccarthyst","mccarthyist"],["mchanic","mechanic"],["mchanical","mechanical"],["mchanically","mechanically"],["mchanicals","mechanicals"],["mchanics","mechanics"],["mchanism","mechanism"],["mchanisms","mechanisms"],["mcroscope","microscope"],["mcroscopes","microscopes"],["mcroscopic","microscopic"],["mcroscopies","microscopies"],["mcroscopy","microscopy"],["mdification","modification"],["mdifications","modifications"],["mdified","modified"],["mdifier","modifier"],["mdifiers","modifiers"],["mdifies","modifies"],["mdify","modify"],["mdifying","modifying"],["mdoel","model"],["mdoeled","modeled"],["mdoeling","modeling"],["mdoelled","modelled"],["mdoelling","modelling"],["mdoels","models"],["meaasure","measure"],["meaasured","measured"],["meaasures","measures"],["meachanism","mechanism"],["meachanisms","mechanisms"],["meachinism","mechanism"],["meachinisms","mechanisms"],["meachnism","mechanism"],["meachnisms","mechanisms"],["meading","meaning"],["meaing","meaning"],["mealflur","millefleur"],["meanigfull","meaningful"],["meanign","meaning"],["meanin","meaning"],["meaninful","meaningful"],["meaningfull","meaningful"],["meanining","meaning"],["meaninless","meaningless"],["meaninng","meaning"],["meassurable","measurable"],["meassurably","measurably"],["meassure","measure"],["meassured","measured"],["meassurement","measurement"],["meassurements","measurements"],["meassures","measures"],["meassuring","measuring"],["measue","measure"],["measued","measured"],["measuement","measurement"],["measuements","measurements"],["measuer","measurer"],["measues","measures"],["measuing","measuring"],["measuremenet","measurement"],["measuremenets","measurements"],["measurmenet","measurement"],["measurmenets","measurements"],["measurment","measurement"],["measurments","measurements"],["meatadata","metadata"],["meatfile","metafile"],["meathod","method"],["meaure","measure"],["meaured","measured"],["meaurement","measurement"],["meaurements","measurements"],["meaurer","measurer"],["meaurers","measurers"],["meaures","measures"],["meauring","measuring"],["meausure","measure"],["meausures","measures"],["meber","member"],["mebmer","member"],["mebrain","membrane"],["mebrains","membranes"],["mebran","membrane"],["mebrans","membranes"],["mecahinsm","mechanism"],["mecahinsms","mechanisms"],["mecahnic","mechanic"],["mecahnics","mechanics"],["mecahnism","mechanism"],["mecanical","mechanical"],["mecanism","mechanism"],["mecanisms","mechanisms"],["meccob","macabre"],["mechamism","mechanism"],["mechamisms","mechanisms"],["mechananism","mechanism"],["mechancial","mechanical"],["mechandise","merchandise"],["mechanim","mechanism"],["mechanims","mechanisms"],["mechanis","mechanism"],["mechansim","mechanism"],["mechansims","mechanisms"],["mechine","machine"],["mechines","machines"],["mechinism","mechanism"],["mechnanism","mechanism"],["mechnism","mechanism"],["mechnisms","mechanisms"],["medacine","medicine"],["medai","media"],["meddo","meadow"],["meddos","meadows"],["medeival","medieval"],["medevial","medieval"],["medhod","method"],["medhods","methods"],["medievel","medieval"],["medifor","metaphor"],["medifors","metaphors"],["medioker","mediocre"],["mediphor","metaphor"],["mediphors","metaphors"],["medisinal","medicinal"],["mediterainnean","mediterranean"],["Mediteranean","Mediterranean"],["medow","meadow"],["medows","meadows"],["meeds","needs"],["meens","means"],["meerkrat","meerkat"],["meerly","merely"],["meetign","meeting"],["meganism","mechanism"],["mege","merge"],["mehcanic","mechanic"],["mehcanical","mechanical"],["mehcanically","mechanically"],["mehcanics","mechanics"],["mehod","method"],["mehodical","methodical"],["mehodically","methodically"],["mehods","methods"],["mehtod","method"],["mehtodical","methodical"],["mehtodically","methodically"],["mehtods","methods"],["meida","media"],["melancoly","melancholy"],["melieux","milieux"],["melineum","millennium"],["melineumms","millennia"],["melineums","millennia"],["melinneum","millennium"],["melinneums","millennia"],["mellineum","millennium"],["mellineums","millennia"],["mellinneum","millennium"],["mellinneums","millennia"],["membran","membrane"],["membranaphone","membranophone"],["membrans","membranes"],["memcahe","memcache"],["memcahed","memcached"],["memeasurement","measurement"],["memeber","member"],["memebered","remembered"],["memebers","members"],["memebership","membership"],["memeberships","memberships"],["memebr","member"],["memebrof","memberof"],["memebrs","members"],["mememory","memory"],["mememto","memento"],["memeory","memory"],["memer","member"],["memership","membership"],["memerships","memberships"],["memery","memory"],["memick","mimic"],["memicked","mimicked"],["memicking","mimicking"],["memics","mimics"],["memmber","member"],["memmick","mimic"],["memmicked","mimicked"],["memmicking","mimicking"],["memmics","mimics"],["memmory","memory"],["memoery","memory"],["memomry","memory"],["memor","memory"],["memoty","memory"],["memove","memmove"],["mempry","memory"],["memroy","memory"],["memwar","memoir"],["memwars","memoirs"],["memwoir","memoir"],["memwoirs","memoirs"],["menally","mentally"],["menas","means"],["menetion","mention"],["menetioned","mentioned"],["menetioning","mentioning"],["menetions","mentions"],["meni","menu"],["menioned","mentioned"],["mensioned","mentioned"],["mensioning","mentioning"],["ment","meant"],["menthods","methods"],["mentiond","mentioned"],["mentione","mentioned"],["mentionned","mentioned"],["mentionning","mentioning"],["mentionnned","mentioned"],["menual","manual"],["menue","menu"],["menues","menus"],["menutitems","menuitems"],["meraj","mirage"],["merajes","mirages"],["merang","meringue"],["mercahnt","merchant"],["mercentile","mercantile"],["merchantibility","merchantability"],["merecat","meerkat"],["merecats","meerkats"],["mergable","mergeable"],["merget","merge"],["mergge","merge"],["mergged","merged"],["mergging","merging"],["mermory","memory"],["merory","memory"],["merrors","mirrors"],["mesage","message"],["mesages","messages"],["mesaureed","measured"],["meskeeto","mosquito"],["meskeetos","mosquitoes"],["mesoneen","mezzanine"],["mesoneens","mezzanines"],["messaes","messages"],["messag","message"],["messagetqueue","messagequeue"],["messagin","messaging"],["messagoe","message"],["messags","messages"],["messagses","messages"],["messanger","messenger"],["messangers","messengers"],["messave","message"],["messeges","messages"],["messenging","messaging"],["messgae","message"],["messgaed","messaged"],["messgaes","messages"],["messge","message"],["messges","messages"],["messsage","message"],["messsages","messages"],["messure","measure"],["messured","measured"],["messurement","measurement"],["messures","measures"],["messuring","measuring"],["messurment","measurement"],["mesure","measure"],["mesured","measured"],["mesurement","measurement"],["mesurements","measurements"],["mesures","measures"],["mesuring","measuring"],["mesurment","measurement"],["meta-attrubute","meta-attribute"],["meta-attrubutes","meta-attributes"],["meta-progamming","meta-programming"],["metacharater","metacharacter"],["metacharaters","metacharacters"],["metalic","metallic"],["metalurgic","metallurgic"],["metalurgical","metallurgical"],["metalurgy","metallurgy"],["metamorphysis","metamorphosis"],["metapackge","metapackage"],["metapackges","metapackages"],["metaphore","metaphor"],["metaphoricial","metaphorical"],["metaprogamming","metaprogramming"],["metatdata","metadata"],["metdata","metadata"],["meterial","material"],["meterials","materials"],["meterologist","meteorologist"],["meterology","meteorology"],["methaphor","metaphor"],["methaphors","metaphors"],["methd","method"],["methdos","methods"],["methds","methods"],["methid","method"],["methids","methods"],["methjod","method"],["methodd","method"],["methode","method"],["methoden","methods"],["methodss","methods"],["methon","method"],["methons","methods"],["methot","method"],["methots","methods"],["metifor","metaphor"],["metifors","metaphors"],["metion","mention"],["metioned","mentioned"],["metiphor","metaphor"],["metiphors","metaphors"],["metod","method"],["metodologies","methodologies"],["metodology","methodology"],["metods","methods"],["metrig","metric"],["metrigal","metrical"],["metrigs","metrics"],["mey","may"],["meybe","maybe"],["mezmorise","mesmerise"],["mezmorised","mesmerised"],["mezmoriser","mesmeriser"],["mezmorises","mesmerises"],["mezmorising","mesmerising"],["mezmorize","mesmerize"],["mezmorized","mesmerized"],["mezmorizer","mesmerizer"],["mezmorizes","mesmerizes"],["mezmorizing","mesmerizing"],["miagic","magic"],["miagical","magical"],["mial","mail"],["mices","mice"],["Michagan","Michigan"],["micorcode","microcode"],["micorcodes","microcodes"],["Micorsoft","Microsoft"],["micoscope","microscope"],["micoscopes","microscopes"],["micoscopic","microscopic"],["micoscopies","microscopies"],["micoscopy","microscopy"],["Micosoft","Microsoft"],["micrcontroller","microcontroller"],["micrcontrollers","microcontrollers"],["microcontroler","microcontroller"],["microcontrolers","microcontrollers"],["Microfost","Microsoft"],["microntroller","microcontroller"],["microntrollers","microcontrollers"],["microoseconds","microseconds"],["micropone","microphone"],["micropones","microphones"],["microprocesspr","microprocessor"],["microprocessprs","microprocessors"],["microseond","microsecond"],["microseonds","microseconds"],["Microsft","Microsoft"],["microship","microchip"],["microships","microchips"],["Microsof","Microsoft"],["Microsofot","Microsoft"],["Micrsft","Microsoft"],["Micrsoft","Microsoft"],["middlware","middleware"],["midevil","medieval"],["midified","modified"],["midpints","midpoints"],["midpiont","midpoint"],["midpionts","midpoints"],["midpont","midpoint"],["midponts","midpoints"],["mige","midge"],["miges","midges"],["migh","might"],["migrateable","migratable"],["migth","might"],["miht","might"],["miinimisation","minimisation"],["miinimise","minimise"],["miinimised","minimised"],["miinimises","minimises"],["miinimising","minimising"],["miinimization","minimization"],["miinimize","minimize"],["miinimized","minimized"],["miinimizes","minimizes"],["miinimizing","minimizing"],["miinimum","minimum"],["mikrosecond","microsecond"],["mikroseconds","microseconds"],["milage","mileage"],["milages","mileages"],["mileau","milieu"],["milennia","millennia"],["milennium","millennium"],["mileu","milieu"],["miliary","military"],["milicious","malicious"],["miliciousally","maliciously"],["miliciously","maliciously"],["milicous","malicious"],["milicousally","maliciously"],["milicously","maliciously"],["miligram","milligram"],["milimeter","millimeter"],["milimeters","millimeters"],["milimetre","millimetre"],["milimetres","millimetres"],["milimiters","millimeters"],["milion","million"],["miliraty","military"],["milisecond","millisecond"],["miliseconds","milliseconds"],["milisecons","milliseconds"],["milivolts","millivolts"],["milktoast","milquetoast"],["milktoasts","milquetoasts"],["milleneum","millennium"],["millenia","millennia"],["millenial","millennial"],["millenialism","millennialism"],["millenials","millennials"],["millenium","millennium"],["millepede","millipede"],["milliescond","millisecond"],["milliesconds","milliseconds"],["millimiter","millimeter"],["millimiters","millimeters"],["millimitre","millimetre"],["millimitres","millimetres"],["millioniare","millionaire"],["millioniares","millionaires"],["millisencond","millisecond"],["millisenconds","milliseconds"],["milliseond","millisecond"],["milliseonds","milliseconds"],["millitant","militant"],["millitary","military"],["millon","million"],["millsecond","millisecond"],["millseconds","milliseconds"],["millsencond","millisecond"],["millsenconds","milliseconds"],["miltary","military"],["miltisite","multisite"],["milyew","milieu"],["mimach","mismatch"],["mimachd","mismatched"],["mimached","mismatched"],["mimaches","mismatches"],["mimaching","mismatching"],["mimatch","mismatch"],["mimatchd","mismatched"],["mimatched","mismatched"],["mimatches","mismatches"],["mimatching","mismatching"],["mimicing","mimicking"],["mimick","mimic"],["mimicks","mimics"],["mimimal","minimal"],["mimimum","minimum"],["mimimun","minimum"],["miminal","minimal"],["miminally","minimally"],["miminaly","minimally"],["miminise","minimise"],["miminised","minimised"],["miminises","minimises"],["miminising","minimising"],["miminize","minimize"],["miminized","minimized"],["miminizes","minimizes"],["miminizing","minimizing"],["mimmick","mimic"],["mimmicked","mimicked"],["mimmicking","mimicking"],["mimmics","mimics"],["minature","miniature"],["minerial","mineral"],["MingGW","MinGW"],["minimam","minimum"],["minimial","minimal"],["minimium","minimum"],["minimsation","minimisation"],["minimse","minimise"],["minimsed","minimised"],["minimses","minimises"],["minimsing","minimising"],["minimumm","minimum"],["minimumn","minimum"],["minimun","minimum"],["minimzation","minimization"],["minimze","minimize"],["minimzed","minimized"],["minimzes","minimizes"],["minimzing","minimizing"],["mininal","minimal"],["mininise","minimise"],["mininised","minimised"],["mininises","minimises"],["mininising","minimising"],["mininize","minimize"],["mininized","minimized"],["mininizes","minimizes"],["mininizing","minimizing"],["mininum","minimum"],["miniscule","minuscule"],["miniscully","minusculely"],["miniture","miniature"],["minium","minimum"],["miniums","minimums"],["miniumum","minimum"],["minmal","minimal"],["minmum","minimum"],["minnimum","minimum"],["minnimums","minimums"],["minsitry","ministry"],["minstries","ministries"],["minstry","ministry"],["minum","minimum"],["minumum","minimum"],["minuscle","minuscule"],["minuts","minutes"],["miplementation","implementation"],["mirconesia","micronesia"],["mircophone","microphone"],["mircophones","microphones"],["mircoscope","microscope"],["mircoscopes","microscopes"],["mircoservice","microservice"],["mircoservices","microservices"],["mircosoft","Microsoft"],["mirgate","migrate"],["mirgated","migrated"],["mirgates","migrates"],["mirometer","micrometer"],["mirometers","micrometers"],["mirored","mirrored"],["miroring","mirroring"],["mirorr","mirror"],["mirorred","mirrored"],["mirorring","mirroring"],["mirorrs","mirrors"],["mirro","mirror"],["mirroed","mirrored"],["mirrorn","mirror"],["mirrorred","mirrored"],["mis-alignement","misalignment"],["mis-alignment","misalignment"],["mis-intepret","mis-interpret"],["mis-intepreted","mis-interpreted"],["mis-match","mismatch"],["misalignement","misalignment"],["misalinged","misaligned"],["misbehaive","misbehave"],["miscallenous","miscellaneous"],["misceancellous","miscellaneous"],["miscelaneous","miscellaneous"],["miscellanious","miscellaneous"],["miscellanous","miscellaneous"],["miscelleneous","miscellaneous"],["mischeivous","mischievous"],["mischevious","mischievous"],["mischevus","mischievous"],["mischevusly","mischievously"],["mischieveous","mischievous"],["mischieveously","mischievously"],["mischievious","mischievous"],["misconfiged","misconfigured"],["Miscrosoft","Microsoft"],["misdameanor","misdemeanor"],["misdameanors","misdemeanors"],["misdemenor","misdemeanor"],["misdemenors","misdemeanors"],["miselaneous","miscellaneous"],["miselaneously","miscellaneously"],["misellaneous","miscellaneous"],["misellaneously","miscellaneously"],["misformed","malformed"],["misfourtunes","misfortunes"],["misile","missile"],["mising","missing"],["misintepret","misinterpret"],["misintepreted","misinterpreted"],["misinterpert","misinterpret"],["misinterperted","misinterpreted"],["misinterperting","misinterpreting"],["misinterperts","misinterprets"],["misinterprett","misinterpret"],["misinterpretted","misinterpreted"],["misisng","missing"],["mismach","mismatch"],["mismached","mismatched"],["mismaches","mismatches"],["mismaching","mismatching"],["mismactch","mismatch"],["mismatchd","mismatched"],["mismatich","mismatch"],["Misouri","Missouri"],["mispell","misspell"],["mispelled","misspelled"],["mispelling","misspelling"],["mispellings","misspellings"],["mispelt","misspelt"],["mispronounciation","mispronunciation"],["misquito","mosquito"],["misquitos","mosquitos"],["missable","miscible"],["missconfiguration","misconfiguration"],["missconfigure","misconfigure"],["missconfigured","misconfigured"],["missconfigures","misconfigures"],["missconfiguring","misconfiguring"],["misscounted","miscounted"],["missen","mizzen"],["missign","missing"],["missingassignement","missingassignment"],["missings","missing"],["Missisipi","Mississippi"],["Missisippi","Mississippi"],["missle","missile"],["missleading","misleading"],["missletow","mistletoe"],["missmanaged","mismanaged"],["missmatch","mismatch"],["missmatchd","mismatched"],["missmatched","mismatched"],["missmatches","mismatches"],["missmatching","mismatching"],["missonary","missionary"],["misspel","misspell"],["misssing","missing"],["misstake","mistake"],["misstaken","mistaken"],["misstakes","mistakes"],["misstype","mistype"],["misstypes","mistypes"],["missunderstood","misunderstood"],["missuse","misuse"],["missused","misused"],["missusing","misusing"],["mistatch","mismatch"],["mistatchd","mismatched"],["mistatched","mismatched"],["mistatches","mismatches"],["mistatching","mismatching"],["misteek","mystique"],["misteeks","mystiques"],["misterious","mysterious"],["mistery","mystery"],["misteryous","mysterious"],["mistic","mystic"],["mistical","mystical"],["mistics","mystics"],["mistmatch","mismatch"],["mistmatched","mismatched"],["mistmatches","mismatches"],["mistmatching","mismatching"],["mistro","maestro"],["mistros","maestros"],["mistrow","maestro"],["mistrows","maestros"],["misue","misuse"],["misued","misused"],["misuing","misusing"],["miticate","mitigate"],["miticated","mitigated"],["miticateing","mitigating"],["miticates","mitigates"],["miticating","mitigating"],["miticator","mitigator"],["mittigate","mitigate"],["miximum","maximum"],["mixted","mixed"],["mixure","mixture"],["mjor","major"],["mkae","make"],["mkaes","makes"],["mkaing","making"],["mke","make"],["mkea","make"],["mmaped","mapped"],["mmatching","matching"],["mmbers","members"],["mmnemonic","mnemonic"],["mnay","many"],["mobify","modify"],["mocrochip","microchip"],["mocrochips","microchips"],["mocrocode","microcode"],["mocrocodes","microcodes"],["mocrocontroller","microcontroller"],["mocrocontrollers","microcontrollers"],["mocrophone","microphone"],["mocrophones","microphones"],["mocroprocessor","microprocessor"],["mocroprocessors","microprocessors"],["mocrosecond","microsecond"],["mocroseconds","microseconds"],["Mocrosoft","Microsoft"],["mocule","module"],["mocules","modules"],["moddel","model"],["moddeled","modeled"],["moddelled","modelled"],["moddels","models"],["modee","mode"],["modelinng","modeling"],["modell","model"],["modellinng","modelling"],["modernination","modernization"],["moderninations","modernizations"],["moderninationz","modernizations"],["modernizationz","modernizations"],["modesettting","modesetting"],["modeul","module"],["modeuls","modules"],["modfel","model"],["modfiable","modifiable"],["modfication","modification"],["modfications","modifications"],["modfide","modified"],["modfided","modified"],["modfider","modifier"],["modfiders","modifiers"],["modfides","modifies"],["modfied","modified"],["modfieid","modified"],["modfieir","modifier"],["modfieirs","modifiers"],["modfieis","modifies"],["modfier","modifier"],["modfiers","modifiers"],["modfies","modifies"],["modfifiable","modifiable"],["modfification","modification"],["modfifications","modifications"],["modfified","modified"],["modfifier","modifier"],["modfifiers","modifiers"],["modfifies","modifies"],["modfify","modify"],["modfifying","modifying"],["modfiiable","modifiable"],["modfiication","modification"],["modfiications","modifications"],["modfitied","modified"],["modfitier","modifier"],["modfitiers","modifiers"],["modfities","modifies"],["modfity","modify"],["modfitying","modifying"],["modfiy","modify"],["modfiying","modifying"],["modfy","modify"],["modfying","modifying"],["modications","modifications"],["modidfication","modification"],["modidfications","modifications"],["modidfied","modified"],["modidfier","modifier"],["modidfiers","modifiers"],["modidfies","modifies"],["modidfy","modify"],["modidfying","modifying"],["modifable","modifiable"],["modifaction","modification"],["modifactions","modifications"],["modifation","modification"],["modifations","modifications"],["modifcation","modification"],["modifcations","modifications"],["modifciation","modification"],["modifciations","modifications"],["modifcication","modification"],["modifcications","modifications"],["modifdied","modified"],["modifdy","modify"],["modifed","modified"],["modifer","modifier"],["modifers","modifiers"],["modifes","modifies"],["modiffer","modifier"],["modiffers","modifiers"],["modifiation","modification"],["modifiations","modifications"],["modificatioon","modification"],["modificatioons","modifications"],["modificaton","modification"],["modificatons","modifications"],["modifid","modified"],["modifified","modified"],["modifify","modify"],["modifing","modifying"],["modifires","modifiers"],["modifiy","modify"],["modifiying","modifying"],["modifiyng","modifying"],["modifled","modified"],["modifler","modifier"],["modiflers","modifiers"],["modift","modify"],["modifty","modify"],["modifu","modify"],["modifuable","modifiable"],["modifued","modified"],["modifx","modify"],["modifyable","modifiable"],["modiration","moderation"],["modle","model"],["modlue","module"],["modprobbing","modprobing"],["modprobeing","modprobing"],["modtified","modified"],["modue","module"],["moduel","module"],["moduels","modules"],["moduile","module"],["modukles","modules"],["modul","module"],["modules's","modules'"],["moduless","modules"],["modulie","module"],["modulu","modulo"],["modulues","modules"],["modyfy","modify"],["moent","moment"],["moeny","money"],["mofdified","modified"],["mofification","modification"],["mofified","modified"],["mofifies","modifies"],["mofify","modify"],["mohammedan","muslim"],["mohammedans","muslims"],["moint","mount"],["mointor","monitor"],["mointored","monitored"],["mointoring","monitoring"],["mointors","monitors"],["moleclues","molecules"],["momement","moment"],["momementarily","momentarily"],["momements","moments"],["momemtarily","momentarily"],["momemtary","momentary"],["momemtn","moment"],["momentarely","momentarily"],["momento","memento"],["momery","memory"],["momoent","moment"],["momoment","moment"],["momomentarily","momentarily"],["momoments","moments"],["momory","memory"],["monarkey","monarchy"],["monarkeys","monarchies"],["monarkies","monarchies"],["monestaries","monasteries"],["monestic","monastic"],["monickers","monikers"],["monitary","monetary"],["moniter","monitor"],["monitoing","monitoring"],["monkies","monkeys"],["monochorome","monochrome"],["monochromo","monochrome"],["monocrome","monochrome"],["monolite","monolithic"],["monontonicity","monotonicity"],["monopace","monospace"],["monotir","monitor"],["monotired","monitored"],["monotiring","monitoring"],["monotirs","monitors"],["monsday","Monday"],["Monserrat","Montserrat"],["monstrum","monster"],["montains","mountains"],["montaj","montage"],["montajes","montages"],["montanous","mountainous"],["monthe","month"],["monthes","months"],["montly","monthly"],["Montnana","Montana"],["monts","months"],["montypic","monotypic"],["moodify","modify"],["moounting","mounting"],["mopdule","module"],["mopre","more"],["mor","more"],["mordern","modern"],["morever","moreover"],["morg","morgue"],["morgage","mortgage"],["morges","morgues"],["morgs","morgues"],["morisette","morissette"],["mormalise","normalise"],["mormalised","normalised"],["mormalises","normalises"],["mormalize","normalize"],["mormalized","normalized"],["mormalizes","normalizes"],["morrisette","morissette"],["morroccan","moroccan"],["morrocco","morocco"],["morroco","morocco"],["mortage","mortgage"],["morter","mortar"],["moslty","mostly"],["mostlky","mostly"],["mosture","moisture"],["mosty","mostly"],["moteef","motif"],["moteefs","motifs"],["moteur","motor"],["moteured","motored"],["moteuring","motoring"],["moteurs","motors"],["mothing","nothing"],["motiviated","motivated"],["motiviation","motivation"],["motononic","monotonic"],["motoroloa","motorola"],["moudle","module"],["moudule","module"],["mountian","mountain"],["mountpiont","mountpoint"],["mountpionts","mountpoints"],["mouspointer","mousepointer"],["moutn","mount"],["moutned","mounted"],["moutning","mounting"],["moutnpoint","mountpoint"],["moutnpoints","mountpoints"],["moutns","mounts"],["mouvement","movement"],["mouvements","movements"],["movebackwrd","movebackward"],["moveble","movable"],["movemement","movement"],["movemements","movements"],["movememnt","movement"],["movememnts","movements"],["movememt","movement"],["movememts","movements"],["movemet","movement"],["movemets","movements"],["movemment","movement"],["movemments","movements"],["movemnet","movement"],["movemnets","movements"],["movemnt","movement"],["movemnts","movements"],["movment","movement"],["moziila","Mozilla"],["mozila","Mozilla"],["mozzilla","mozilla"],["mroe","more"],["msbild","MSBuild"],["msbilds","MSBuild's"],["msbuid","MSBuild"],["msbuids","MSBuild's"],["msbuld","MSBuild"],["msbulds","MSBuild's"],["msbulid","MSBuild"],["msbulids","MSBuild's"],["mssing","missing"],["msssge","message"],["mthod","method"],["mtuually","mutually"],["mucuous","mucous"],["muder","murder"],["mudering","murdering"],["mudule","module"],["mudules","modules"],["muext","mutex"],["muiltiple","multiple"],["muiltiples","multiples"],["muliple","multiple"],["muliples","multiples"],["mulithread","multithread"],["mulitiplier","multiplier"],["mulitipliers","multipliers"],["mulitpart","multipart"],["mulitpath","multipath"],["mulitple","multiple"],["mulitplication","multiplication"],["mulitplicative","multiplicative"],["mulitplied","multiplied"],["mulitplier","multiplier"],["mulitpliers","multipliers"],["mulitply","multiply"],["multi-dimenional","multi-dimensional"],["multi-dimenionsal","multi-dimensional"],["multi-langual","multi-lingual"],["multi-presistion","multi-precision"],["multi-threded","multi-threaded"],["multible","multiple"],["multibye","multibyte"],["multicat","multicast"],["multicultralism","multiculturalism"],["multidimenional","multi-dimensional"],["multidimenionsal","multi-dimensional"],["multidimensinal","multidimensional"],["multidimension","multidimensional"],["multidimensionnal","multidimensional"],["multidimentionnal","multidimensional"],["multiecast","multicast"],["multifuction","multifunction"],["multilangual","multilingual"],["multile","multiple"],["multilpe","multiple"],["multipe","multiple"],["multipes","multiples"],["multipiler","multiplier"],["multipilers","multipliers"],["multipled","multiplied"],["multiplers","multipliers"],["multipliciaton","multiplication"],["multiplicites","multiplicities"],["multiplicty","multiplicity"],["multiplikation","multiplication"],["multipling","multiplying"],["multipllication","multiplication"],["multiplyed","multiplied"],["multipresistion","multiprecision"],["multipul","multiple"],["multipy","multiply"],["multipyling","multiplying"],["multithreded","multithreaded"],["multitute","multitude"],["multivriate","multivariate"],["multixsite","multisite"],["multline","multiline"],["multliple","multiple"],["multliples","multiples"],["multliplied","multiplied"],["multliplier","multiplier"],["multlipliers","multipliers"],["multliplies","multiplies"],["multliply","multiply"],["multliplying","multiplying"],["multple","multiple"],["multples","multiples"],["multplied","multiplied"],["multplier","multiplier"],["multpliers","multipliers"],["multplies","multiplies"],["multply","multiply"],["multplying","multiplying"],["multy","multi"],["multy-thread","multithread"],["mumber","number"],["mumbers","numbers"],["munbers","numbers"],["muncipalities","municipalities"],["muncipality","municipality"],["municiple","municipal"],["munnicipality","municipality"],["munute","minute"],["murr","myrrh"],["muscial","musical"],["muscician","musician"],["muscicians","musicians"],["musn't","mustn't"],["must't","mustn't"],["mustator","mutator"],["muste","must"],["mutablity","mutability"],["mutbale","mutable"],["mutch","much"],["mutches","matches"],["mutecies","mutexes"],["mutexs","mutexes"],["muti","multi"],["muticast","multicast"],["mutices","mutexes"],["mutilcast","multicast"],["mutiliated","mutilated"],["mutimarked","multimarked"],["mutipath","multipath"],["mutiple","multiple"],["mutiply","multiply"],["mutli","multi"],["mutli-threaded","multi-threaded"],["mutlipart","multipart"],["mutliple","multiple"],["mutliples","multiples"],["mutliplication","multiplication"],["mutliplicites","multiplicities"],["mutliplier","multiplier"],["mutlipliers","multipliers"],["mutliply","multiply"],["mutully","mutually"],["mutux","mutex"],["mutuxes","mutexes"],["mutuxs","mutexes"],["muyst","must"],["myabe","maybe"],["mybe","maybe"],["myitereator","myiterator"],["myraid","myriad"],["mysef","myself"],["mysefl","myself"],["mysekf","myself"],["myselfe","myself"],["myselfes","myself"],["myselv","myself"],["myselve","myself"],["myselves","myself"],["myslef","myself"],["mysogynist","misogynist"],["mysogyny","misogyny"],["mysterous","mysterious"],["mystql","mysql"],["mystrow","maestro"],["mystrows","maestros"],["Mythraic","Mithraic"],["myu","my"],["nadly","badly"],["nagative","negative"],["nagatively","negatively"],["nagatives","negatives"],["nagivation","navigation"],["naieve","naive"],["nam","name"],["namaed","named"],["namaes","names"],["nameing","naming"],["namemespace","namespace"],["namepace","namespace"],["namepsace","namespace"],["namepsaces","namespaces"],["namesapce","namespace"],["namesapced","namespaced"],["namesapces","namespaces"],["namess","names"],["namesspaces","namespaces"],["namme","name"],["namne","name"],["namned","named"],["namnes","names"],["namnespace","namespace"],["namnespaces","namespaces"],["nams","names"],["nane","name"],["nanosencond","nanosecond"],["nanosenconds","nanoseconds"],["nanoseond","nanosecond"],["nanoseonds","nanoseconds"],["Naploeon","Napoleon"],["Napolean","Napoleon"],["Napoleonian","Napoleonic"],["nasted","nested"],["nasting","nesting"],["nastly","nasty"],["nastyness","nastiness"],["natched","matched"],["natches","matches"],["nativelyx","natively"],["natrual","natural"],["naturaly","naturally"],["naturely","naturally"],["naturual","natural"],["naturually","naturally"],["natvigation","navigation"],["navagate","navigate"],["navagating","navigating"],["navagation","navigation"],["navagitation","navigation"],["naviagte","navigate"],["naviagted","navigated"],["naviagtes","navigates"],["naviagting","navigating"],["naviagtion","navigation"],["navitvely","natively"],["navtive","native"],["navtives","natives"],["naxima","maxima"],["naximal","maximal"],["naximum","maximum"],["Nazereth","Nazareth"],["nclude","include"],["ndoe","node"],["ndoes","nodes"],["neady","needy"],["neagtive","negative"],["neares","nearest"],["nearset","nearest"],["necassery","necessary"],["necassry","necessary"],["necause","because"],["neccecarily","necessarily"],["neccecary","necessary"],["neccesarily","necessarily"],["neccesary","necessary"],["neccessarily","necessarily"],["neccessarry","necessary"],["neccessary","necessary"],["neccessities","necessities"],["neccessity","necessity"],["neccisary","necessary"],["neccsessary","necessary"],["necesarily","necessarily"],["necesarrily","necessarily"],["necesarry","necessary"],["necesary","necessary"],["necessaery","necessary"],["necessairly","necessarily"],["necessar","necessary"],["necessarilly","necessarily"],["necessarly","necessarily"],["necessarry","necessary"],["necessaryly","necessarily"],["necessay","necessary"],["necesserily","necessarily"],["necessery","necessary"],["necessesary","necessary"],["necessiate","necessitate"],["nechanism","mechanism"],["necssary","necessary"],["nedd","need"],["nedded","needed"],["neded","needed"],["nedia","media"],["nedium","medium"],["nediums","mediums"],["nedle","needle"],["neds","needs"],["needeed","needed"],["neeed","need"],["neeeded","needed"],["neeeding","needing"],["neeedle","needle"],["neeedn't","needn't"],["neeeds","needs"],["nees","needs"],["neesd","needs"],["neesds","needs"],["neested","nested"],["neesting","nesting"],["negaive","negative"],["negarive","negative"],["negatiotiable","negotiable"],["negatiotiate","negotiate"],["negatiotiated","negotiated"],["negatiotiates","negotiates"],["negatiotiating","negotiating"],["negatiotiation","negotiation"],["negatiotiations","negotiations"],["negatiotiator","negotiator"],["negatiotiators","negotiators"],["negativ","negative"],["negatve","negative"],["negible","negligible"],["negitiable","negotiable"],["negitiate","negotiate"],["negitiated","negotiated"],["negitiates","negotiates"],["negitiating","negotiating"],["negitiation","negotiation"],["negitiations","negotiations"],["negitiator","negotiator"],["negitiators","negotiators"],["negitive","negative"],["neglible","negligible"],["negligable","negligible"],["negligble","negligible"],["negoable","negotiable"],["negoate","negotiate"],["negoated","negotiated"],["negoates","negotiates"],["negoatiable","negotiable"],["negoatiate","negotiate"],["negoatiated","negotiated"],["negoatiates","negotiates"],["negoatiating","negotiating"],["negoatiation","negotiation"],["negoatiations","negotiations"],["negoatiator","negotiator"],["negoatiators","negotiators"],["negoating","negotiating"],["negoation","negotiation"],["negoations","negotiations"],["negoator","negotiator"],["negoators","negotiators"],["negociable","negotiable"],["negociate","negotiate"],["negociated","negotiated"],["negociates","negotiates"],["negociating","negotiating"],["negociation","negotiation"],["negociations","negotiations"],["negociator","negotiator"],["negociators","negotiators"],["negogtiable","negotiable"],["negogtiate","negotiate"],["negogtiated","negotiated"],["negogtiates","negotiates"],["negogtiating","negotiating"],["negogtiation","negotiation"],["negogtiations","negotiations"],["negogtiator","negotiator"],["negogtiators","negotiators"],["negoitable","negotiable"],["negoitate","negotiate"],["negoitated","negotiated"],["negoitates","negotiates"],["negoitating","negotiating"],["negoitation","negotiation"],["negoitations","negotiations"],["negoitator","negotiator"],["negoitators","negotiators"],["negoptionsotiable","negotiable"],["negoptionsotiate","negotiate"],["negoptionsotiated","negotiated"],["negoptionsotiates","negotiates"],["negoptionsotiating","negotiating"],["negoptionsotiation","negotiation"],["negoptionsotiations","negotiations"],["negoptionsotiator","negotiator"],["negoptionsotiators","negotiators"],["negosiable","negotiable"],["negosiate","negotiate"],["negosiated","negotiated"],["negosiates","negotiates"],["negosiating","negotiating"],["negosiation","negotiation"],["negosiations","negotiations"],["negosiator","negotiator"],["negosiators","negotiators"],["negotable","negotiable"],["negotaiable","negotiable"],["negotaiate","negotiate"],["negotaiated","negotiated"],["negotaiates","negotiates"],["negotaiating","negotiating"],["negotaiation","negotiation"],["negotaiations","negotiations"],["negotaiator","negotiator"],["negotaiators","negotiators"],["negotaible","negotiable"],["negotaite","negotiate"],["negotaited","negotiated"],["negotaites","negotiates"],["negotaiting","negotiating"],["negotaition","negotiation"],["negotaitions","negotiations"],["negotaitor","negotiator"],["negotaitors","negotiators"],["negotate","negotiate"],["negotated","negotiated"],["negotates","negotiates"],["negotatiable","negotiable"],["negotatiate","negotiate"],["negotatiated","negotiated"],["negotatiates","negotiates"],["negotatiating","negotiating"],["negotatiation","negotiation"],["negotatiations","negotiations"],["negotatiator","negotiator"],["negotatiators","negotiators"],["negotatible","negotiable"],["negotatie","negotiate"],["negotatied","negotiated"],["negotaties","negotiates"],["negotating","negotiating"],["negotation","negotiation"],["negotations","negotiations"],["negotatior","negotiator"],["negotatiors","negotiators"],["negotator","negotiator"],["negotators","negotiators"],["negothiable","negotiable"],["negothiate","negotiate"],["negothiated","negotiated"],["negothiates","negotiates"],["negothiating","negotiating"],["negothiation","negotiation"],["negothiations","negotiations"],["negothiator","negotiator"],["negothiators","negotiators"],["negotible","negotiable"],["negoticable","negotiable"],["negoticate","negotiate"],["negoticated","negotiated"],["negoticates","negotiates"],["negoticating","negotiating"],["negotication","negotiation"],["negotications","negotiations"],["negoticator","negotiator"],["negoticators","negotiators"],["negotinate","negotiate"],["negotioable","negotiable"],["negotioate","negotiate"],["negotioated","negotiated"],["negotioates","negotiates"],["negotioating","negotiating"],["negotioation","negotiation"],["negotioations","negotiations"],["negotioator","negotiator"],["negotioators","negotiators"],["negotioble","negotiable"],["negotion","negotiation"],["negotionable","negotiable"],["negotionate","negotiate"],["negotionated","negotiated"],["negotionates","negotiates"],["negotionating","negotiating"],["negotionation","negotiation"],["negotionations","negotiations"],["negotionator","negotiator"],["negotionators","negotiators"],["negotions","negotiations"],["negotiotable","negotiable"],["negotiotate","negotiate"],["negotiotated","negotiated"],["negotiotates","negotiates"],["negotiotating","negotiating"],["negotiotation","negotiation"],["negotiotations","negotiations"],["negotiotator","negotiator"],["negotiotators","negotiators"],["negotiote","negotiate"],["negotioted","negotiated"],["negotiotes","negotiates"],["negotioting","negotiating"],["negotiotion","negotiation"],["negotiotions","negotiations"],["negotiotor","negotiator"],["negotiotors","negotiators"],["negotitable","negotiable"],["negotitae","negotiate"],["negotitaed","negotiated"],["negotitaes","negotiates"],["negotitaing","negotiating"],["negotitaion","negotiation"],["negotitaions","negotiations"],["negotitaor","negotiator"],["negotitaors","negotiators"],["negotitate","negotiate"],["negotitated","negotiated"],["negotitates","negotiates"],["negotitating","negotiating"],["negotitation","negotiation"],["negotitations","negotiations"],["negotitator","negotiator"],["negotitators","negotiators"],["negotite","negotiate"],["negotited","negotiated"],["negotites","negotiates"],["negotiting","negotiating"],["negotition","negotiation"],["negotitions","negotiations"],["negotitor","negotiator"],["negotitors","negotiators"],["negoziable","negotiable"],["negoziate","negotiate"],["negoziated","negotiated"],["negoziates","negotiates"],["negoziating","negotiating"],["negoziation","negotiation"],["negoziations","negotiations"],["negoziator","negotiator"],["negoziators","negotiators"],["negtive","negative"],["neibhbors","neighbors"],["neibhbours","neighbours"],["neibor","neighbor"],["neiborhood","neighborhood"],["neiborhoods","neighborhoods"],["neibors","neighbors"],["neigbhor","neighbor"],["neigbhorhood","neighborhood"],["neigbhorhoods","neighborhoods"],["neigbhors","neighbors"],["neigbhour","neighbour"],["neigbhours","neighbours"],["neigbor","neighbor"],["neigborhood","neighborhood"],["neigboring","neighboring"],["neigbors","neighbors"],["neigbourhood","neighbourhood"],["neighbar","neighbor"],["neighbarhood","neighborhood"],["neighbarhoods","neighborhoods"],["neighbaring","neighboring"],["neighbars","neighbors"],["neighbbor","neighbor"],["neighbborhood","neighborhood"],["neighbborhoods","neighborhoods"],["neighbboring","neighboring"],["neighbbors","neighbors"],["neighbeard","neighborhood"],["neighbeards","neighborhoods"],["neighbehood","neighborhood"],["neighbehoods","neighborhoods"],["neighbeing","neighboring"],["neighbeod","neighborhood"],["neighbeods","neighborhoods"],["neighbeor","neighbor"],["neighbeordhood","neighborhood"],["neighbeordhoods","neighborhoods"],["neighbeorhod","neighborhood"],["neighbeorhods","neighborhoods"],["neighbeorhood","neighborhood"],["neighbeorhoods","neighborhoods"],["neighbeors","neighbors"],["neighber","neighbor"],["neighbergh","neighbor"],["neighberghs","neighbors"],["neighberhhod","neighborhood"],["neighberhhods","neighborhoods"],["neighberhhood","neighborhood"],["neighberhhoods","neighborhoods"],["neighberhing","neighboring"],["neighberhod","neighborhood"],["neighberhodd","neighborhood"],["neighberhodds","neighborhoods"],["neighberhods","neighborhoods"],["neighberhood","neighborhood"],["neighberhooding","neighboring"],["neighberhoods","neighborhoods"],["neighberhoof","neighborhood"],["neighberhoofs","neighborhoods"],["neighberhoood","neighborhood"],["neighberhooods","neighborhoods"],["neighberhoor","neighbor"],["neighberhoors","neighbors"],["neighberhoud","neighborhood"],["neighberhouds","neighborhoods"],["neighbering","neighboring"],["neighbers","neighbors"],["neighbes","neighbors"],["neighbet","neighbor"],["neighbethood","neighborhood"],["neighbethoods","neighborhoods"],["neighbets","neighbors"],["neighbeuing","neighbouring"],["neighbeurgh","neighbour"],["neighbeurghs","neighbours"],["neighbeurhing","neighbouring"],["neighbeurhooding","neighbouring"],["neighbeurhoor","neighbour"],["neighbeurhoors","neighbours"],["neighbeus","neighbours"],["neighbeut","neighbour"],["neighbeuthood","neighbourhood"],["neighbeuthoods","neighbourhoods"],["neighbeuts","neighbours"],["neighbhor","neighbor"],["neighbhorhood","neighborhood"],["neighbhorhoods","neighborhoods"],["neighbhoring","neighboring"],["neighbhors","neighbors"],["neighboard","neighborhood"],["neighboards","neighborhoods"],["neighbohood","neighborhood"],["neighbohoods","neighborhoods"],["neighboing","neighboring"],["neighbood","neighborhood"],["neighboods","neighborhoods"],["neighboordhood","neighborhood"],["neighboordhoods","neighborhoods"],["neighboorhod","neighborhood"],["neighboorhods","neighborhoods"],["neighboorhood","neighborhood"],["neighboorhoods","neighborhoods"],["neighbooring","neighboring"],["neighborgh","neighbor"],["neighborghs","neighbors"],["neighborhhod","neighborhood"],["neighborhhods","neighborhoods"],["neighborhhood","neighborhood"],["neighborhhoods","neighborhoods"],["neighborhing","neighboring"],["neighborhod","neighborhood"],["neighborhodd","neighborhood"],["neighborhodds","neighborhoods"],["neighborhods","neighborhoods"],["neighborhooding","neighboring"],["neighborhoof","neighborhood"],["neighborhoofs","neighborhoods"],["neighborhoood","neighborhood"],["neighborhooods","neighborhoods"],["neighborhoor","neighbor"],["neighborhoors","neighbors"],["neighborhoud","neighborhood"],["neighborhouds","neighborhoods"],["neighbos","neighbors"],["neighbot","neighbor"],["neighbothood","neighborhood"],["neighbothoods","neighborhoods"],["neighbots","neighbors"],["neighbouing","neighbouring"],["neighbourgh","neighbour"],["neighbourghs","neighbours"],["neighbourhhod","neighbourhood"],["neighbourhhods","neighbourhoods"],["neighbourhhood","neighbourhood"],["neighbourhhoods","neighbourhoods"],["neighbourhing","neighbouring"],["neighbourhod","neighbourhood"],["neighbourhodd","neighbourhood"],["neighbourhodds","neighbourhoods"],["neighbourhods","neighbourhoods"],["neighbourhooding","neighbouring"],["neighbourhoof","neighbourhood"],["neighbourhoofs","neighbourhoods"],["neighbourhoood","neighbourhood"],["neighbourhooods","neighbourhoods"],["neighbourhoor","neighbour"],["neighbourhoors","neighbours"],["neighbourhoud","neighbourhood"],["neighbourhouds","neighbourhoods"],["neighbous","neighbours"],["neighbout","neighbour"],["neighbouthood","neighbourhood"],["neighbouthoods","neighbourhoods"],["neighbouts","neighbours"],["neighbr","neighbor"],["neighbrs","neighbors"],["neighbur","neighbor"],["neighburhood","neighborhood"],["neighburhoods","neighborhoods"],["neighburing","neighboring"],["neighburs","neighbors"],["neigher","neither"],["neighobr","neighbor"],["neighobrhood","neighborhood"],["neighobrhoods","neighborhoods"],["neighobring","neighboring"],["neighobrs","neighbors"],["neighor","neighbor"],["neighorhood","neighborhood"],["neighorhoods","neighborhoods"],["neighoring","neighboring"],["neighors","neighbors"],["neighour","neighbour"],["neighourhood","neighbourhood"],["neighourhoods","neighbourhoods"],["neighouring","neighbouring"],["neighours","neighbours"],["neighror","neighbour"],["neighrorhood","neighbourhood"],["neighrorhoods","neighbourhoods"],["neighroring","neighbouring"],["neighrors","neighbours"],["neighrour","neighbour"],["neighrourhood","neighbourhood"],["neighrourhoods","neighbourhoods"],["neighrouring","neighbouring"],["neighrours","neighbours"],["neight","neither"],["neightbor","neighbor"],["neightborhood","neighborhood"],["neightborhoods","neighborhoods"],["neightboring","neighboring"],["neightbors","neighbors"],["neightbour","neighbour"],["neightbourhood","neighbourhood"],["neightbourhoods","neighbourhoods"],["neightbouring","neighbouring"],["neightbours","neighbours"],["neighter","neither"],["neightobr","neighbor"],["neightobrhood","neighborhood"],["neightobrhoods","neighborhoods"],["neightobring","neighboring"],["neightobrs","neighbors"],["neiter","neither"],["nelink","netlink"],["nenviroment","environment"],["neolitic","neolithic"],["nerver","never"],["nescesaries","necessaries"],["nescesarily","necessarily"],["nescesarrily","necessarily"],["nescesarry","necessary"],["nescessarily","necessarily"],["nescessary","necessary"],["nesesarily","necessarily"],["nessary","necessary"],["nessasarily","necessarily"],["nessasary","necessary"],["nessecarilt","necessarily"],["nessecarily","necessarily"],["nessecarry","necessary"],["nessecary","necessary"],["nesseccarily","necessarily"],["nesseccary","necessary"],["nessesarily","necessarily"],["nessesary","necessary"],["nessessarily","necessarily"],["nessessary","necessary"],["nestin","nesting"],["nestwork","network"],["netacpe","netscape"],["netcape","netscape"],["nethods","methods"],["netiher","neither"],["netowrk","network"],["netowrks","networks"],["netscpe","netscape"],["netwplit","netsplit"],["netwrok","network"],["netwroked","networked"],["netwroks","networks"],["netwrork","network"],["neumeric","numeric"],["nevelope","envelope"],["nevelopes","envelopes"],["nevere","never"],["neveretheless","nevertheless"],["nevers","never"],["neverthless","nevertheless"],["newine","newline"],["newines","newlines"],["newletters","newsletters"],["nework","network"],["neworks","networks"],["newslines","newlines"],["newthon","newton"],["newtork","network"],["Newyorker","New Yorker"],["niear","near"],["niearest","nearest"],["niether","neither"],["nighbor","neighbor"],["nighborhood","neighborhood"],["nighboring","neighboring"],["nighlties","nightlies"],["nighlty","nightly"],["nightfa;;","nightfall"],["nightime","nighttime"],["nimutes","minutes"],["nineth","ninth"],["ninima","minima"],["ninimal","minimal"],["ninimum","minimum"],["ninjs","ninja"],["ninteenth","nineteenth"],["nither","neither"],["nknown","unknown"],["nkow","know"],["nkwo","know"],["nmae","name"],["nned","need"],["nneeded","needed"],["nnumber","number"],["no-overide","no-override"],["nodels","models"],["nodess","nodes"],["nodulated","modulated"],["nofified","notified"],["nofity","notify"],["nohypen","nohyphen"],["nomber","number"],["nombered","numbered"],["nombering","numbering"],["nombers","numbers"],["nomimal","nominal"],["non-alphanumunder","non-alphanumeric"],["non-asii","non-ascii"],["non-assiged","non-assigned"],["non-bloking","non-blocking"],["non-compleeted","non-completed"],["non-complient","non-compliant"],["non-corelated","non-correlated"],["non-existant","non-existent"],["non-exluded","non-excluded"],["non-indentended","non-indented"],["non-inmediate","non-immediate"],["non-inreractive","non-interactive"],["non-instnat","non-instant"],["non-meausure","non-measure"],["non-negatiotiable","non-negotiable"],["non-negatiotiated","non-negotiated"],["non-negativ","non-negative"],["non-negoable","non-negotiable"],["non-negoated","non-negotiated"],["non-negoatiable","non-negotiable"],["non-negoatiated","non-negotiated"],["non-negociable","non-negotiable"],["non-negociated","non-negotiated"],["non-negogtiable","non-negotiable"],["non-negogtiated","non-negotiated"],["non-negoitable","non-negotiable"],["non-negoitated","non-negotiated"],["non-negoptionsotiable","non-negotiable"],["non-negoptionsotiated","non-negotiated"],["non-negosiable","non-negotiable"],["non-negosiated","non-negotiated"],["non-negotable","non-negotiable"],["non-negotaiable","non-negotiable"],["non-negotaiated","non-negotiated"],["non-negotaible","non-negotiable"],["non-negotaited","non-negotiated"],["non-negotated","non-negotiated"],["non-negotatiable","non-negotiable"],["non-negotatiated","non-negotiated"],["non-negotatible","non-negotiable"],["non-negotatied","non-negotiated"],["non-negothiable","non-negotiable"],["non-negothiated","non-negotiated"],["non-negotible","non-negotiable"],["non-negoticable","non-negotiable"],["non-negoticated","non-negotiated"],["non-negotioable","non-negotiable"],["non-negotioated","non-negotiated"],["non-negotioble","non-negotiable"],["non-negotionable","non-negotiable"],["non-negotionated","non-negotiated"],["non-negotiotable","non-negotiable"],["non-negotiotated","non-negotiated"],["non-negotiote","non-negotiated"],["non-negotitable","non-negotiable"],["non-negotitaed","non-negotiated"],["non-negotitated","non-negotiated"],["non-negotited","non-negotiated"],["non-negoziable","non-negotiable"],["non-negoziated","non-negotiated"],["non-priviliged","non-privileged"],["non-referenced-counted","non-reference-counted"],["non-replacable","non-replaceable"],["non-replacalbe","non-replaceable"],["non-reproducable","non-reproducible"],["non-seperable","non-separable"],["non-trasparent","non-transparent"],["non-useful","useless"],["non-usefull","useless"],["non-virutal","non-virtual"],["nonbloking","non-blocking"],["noncombatents","noncombatants"],["noncontigous","non-contiguous"],["nonesense","nonsense"],["nonesensical","nonsensical"],["nonexistance","nonexistence"],["nonexistant","nonexistent"],["nonnegarive","nonnegative"],["nonneighboring","non-neighboring"],["nonsence","nonsense"],["nonsens","nonsense"],["nonseperable","non-separable"],["nonte","note"],["nontheless","nonetheless"],["noo","no"],["noone","no one"],["noralize","normalize"],["noralized","normalized"],["noramal","normal"],["noramalise","normalise"],["noramalised","normalised"],["noramalises","normalises"],["noramalising","normalising"],["noramalize","normalize"],["noramalized","normalized"],["noramalizes","normalizes"],["noramalizing","normalizing"],["noramals","normals"],["noraml","normal"],["norhern","northern"],["norifications","notifications"],["normailzation","normalization"],["normaized","normalized"],["normale","normal"],["normales","normals"],["normaly","normally"],["normalyl","normally"],["normalyly","normally"],["normalysed","normalised"],["normalyy","normally"],["normalyzation","normalization"],["normalyze","normalize"],["normalyzed","normalized"],["normlly","normally"],["normnal","normal"],["normol","normal"],["normolise","normalise"],["normolize","normalize"],["northen","northern"],["northereastern","northeastern"],["nortmally","normally"],["notabley","notably"],["notaion","notation"],["notaly","notably"],["notasion","notation"],["notatin","notation"],["noteable","notable"],["noteably","notably"],["noteboook","notebook"],["noteboooks","notebooks"],["noteriety","notoriety"],["notfication","notification"],["notfications","notifications"],["notfy","notify"],["noth","north"],["nothern","northern"],["nothign","nothing"],["nothigng","nothing"],["nothihg","nothing"],["nothin","nothing"],["nothind","nothing"],["nothink","nothing"],["noticable","noticeable"],["noticably","noticeably"],["notication","notification"],["notications","notifications"],["noticeing","noticing"],["noticiable","noticeable"],["noticible","noticeable"],["notifaction","notification"],["notifactions","notifications"],["notifcation","notification"],["notifcations","notifications"],["notifed","notified"],["notifer","notifier"],["notifes","notifies"],["notifiation","notification"],["notificaction","notification"],["notificaiton","notification"],["notificaitons","notifications"],["notificaton","notification"],["notificatons","notifications"],["notificiation","notification"],["notificiations","notifications"],["notifiy","notify"],["notifiying","notifying"],["notifycation","notification"],["notity","notify"],["notmalize","normalize"],["notmalized","normalized"],["notmutch","notmuch"],["notning","nothing"],["nott","not"],["nottaion","notation"],["nottaions","notations"],["notwhithstanding","notwithstanding"],["noveau","nouveau"],["novemeber","November"],["Novemer","November"],["Novermber","November"],["nowadys","nowadays"],["nowdays","nowadays"],["nowe","now"],["ntification","notification"],["nuber","number"],["nubering","numbering"],["nubmer","number"],["nubmers","numbers"],["nucular","nuclear"],["nuculear","nuclear"],["nuisanse","nuisance"],["nuissance","nuisance"],["nulk","null"],["Nullabour","Nullarbor"],["nulll","null"],["numbber","number"],["numbbered","numbered"],["numbbering","numbering"],["numbbers","numbers"],["numberal","numeral"],["numberals","numerals"],["numberic","numeric"],["numberous","numerous"],["numberr","number"],["numberred","numbered"],["numberring","numbering"],["numberrs","numbers"],["numberss","numbers"],["numbert","number"],["numbet","number"],["numbets","numbers"],["numbres","numbers"],["numearate","numerate"],["numearation","numeration"],["numeber","number"],["numebering","numbering"],["numebers","numbers"],["numebr","number"],["numebrs","numbers"],["numer","number"],["numeraotr","numerator"],["numerbering","numbering"],["numercial","numerical"],["numercially","numerically"],["numering","numbering"],["numers","numbers"],["nummber","number"],["nummbers","numbers"],["nummeric","numeric"],["numnber","number"],["numnbered","numbered"],["numnbering","numbering"],["numnbers","numbers"],["numner","number"],["numners","numbers"],["numver","number"],["numvers","numbers"],["nunber","number"],["nunbers","numbers"],["Nuremburg","Nuremberg"],["nusance","nuisance"],["nutritent","nutrient"],["nutritents","nutrients"],["nuturing","nurturing"],["nwe","new"],["nwo","now"],["o'caml","OCaml"],["oaram","param"],["obay","obey"],["obect","object"],["obediance","obedience"],["obediant","obedient"],["obejct","object"],["obejcted","objected"],["obejction","objection"],["obejctions","objections"],["obejctive","objective"],["obejctively","objectively"],["obejctives","objectives"],["obejcts","objects"],["obeject","object"],["obejection","objection"],["obejects","objects"],["oberflow","overflow"],["oberflowed","overflowed"],["oberflowing","overflowing"],["oberflows","overflows"],["oberv","observe"],["obervant","observant"],["obervation","observation"],["obervations","observations"],["oberve","observe"],["oberved","observed"],["oberver","observer"],["obervers","observers"],["oberves","observes"],["oberving","observing"],["obervs","observes"],["obeservation","observation"],["obeservations","observations"],["obeserve","observe"],["obeserved","observed"],["obeserver","observer"],["obeservers","observers"],["obeserves","observes"],["obeserving","observing"],["obession","obsession"],["obessions","obsessions"],["obgect","object"],["obgects","objects"],["obhect","object"],["obhectification","objectification"],["obhectifies","objectifies"],["obhectify","objectify"],["obhectifying","objectifying"],["obhecting","objecting"],["obhection","objection"],["obhects","objects"],["obious","obvious"],["obiously","obviously"],["obivous","obvious"],["obivously","obviously"],["objec","object"],["objecs","objects"],["objectss","objects"],["objejct","object"],["objekt","object"],["objet","object"],["objetc","object"],["objetcs","objects"],["objets","objects"],["objtain","obtain"],["objtained","obtained"],["objtains","obtains"],["objump","objdump"],["oblitque","oblique"],["obnject","object"],["obscur","obscure"],["obselete","obsolete"],["obseravtion","observation"],["obseravtions","observations"],["observ","observe"],["observered","observed"],["obsevrer","observer"],["obsevrers","observers"],["obsolate","obsolete"],["obsolesence","obsolescence"],["obsolite","obsolete"],["obsolited","obsoleted"],["obsolte","obsolete"],["obsolted","obsoleted"],["obssessed","obsessed"],["obstacal","obstacle"],["obstancles","obstacles"],["obstruced","obstructed"],["obsure","obscure"],["obtaiend","obtained"],["obtaiens","obtains"],["obtainig","obtaining"],["obtaion","obtain"],["obtaioned","obtained"],["obtaions","obtains"],["obtrain","obtain"],["obtrained","obtained"],["obtrains","obtains"],["obusing","abusing"],["obvioulsy","obviously"],["obvisious","obvious"],["obvisous","obvious"],["obvisously","obviously"],["obyect","object"],["obyekt","object"],["ocasion","occasion"],["ocasional","occasional"],["ocasionally","occasionally"],["ocasionaly","occasionally"],["ocasioned","occasioned"],["ocasions","occasions"],["ocassion","occasion"],["ocassional","occasional"],["ocassionally","occasionally"],["ocassionaly","occasionally"],["ocassioned","occasioned"],["ocassions","occasions"],["occaisionally","occasionally"],["occaison","occasion"],["occasinal","occasional"],["occasinally","occasionally"],["occasioanlly","occasionally"],["occasionaly","occasionally"],["occassion","occasion"],["occassional","occasional"],["occassionally","occasionally"],["occassionaly","occasionally"],["occassioned","occasioned"],["occassions","occasions"],["occational","occasional"],["occationally","occasionally"],["occcur","occur"],["occcured","occurred"],["occcurs","occurs"],["occour","occur"],["occoured","occurred"],["occouring","occurring"],["occourring","occurring"],["occours","occurs"],["occrrance","occurrence"],["occrrances","occurrences"],["occrred","occurred"],["occrring","occurring"],["occsionally","occasionally"],["occucence","occurrence"],["occucences","occurrences"],["occulusion","occlusion"],["occuped","occupied"],["occupided","occupied"],["occuracy","accuracy"],["occurance","occurrence"],["occurances","occurrences"],["occurately","accurately"],["occurded","occurred"],["occured","occurred"],["occurence","occurrence"],["occurences","occurrences"],["occures","occurs"],["occuring","occurring"],["occurr","occur"],["occurrance","occurrence"],["occurrances","occurrences"],["occurrencs","occurrences"],["occurrs","occurs"],["oclock","o'clock"],["ocntext","context"],["ocorrence","occurrence"],["ocorrences","occurrences"],["octect","octet"],["octects","octets"],["octohedra","octahedra"],["octohedral","octahedral"],["octohedron","octahedron"],["ocuntries","countries"],["ocuntry","country"],["ocupied","occupied"],["ocupies","occupies"],["ocupy","occupy"],["ocupying","occupying"],["ocur","occur"],["ocurr","occur"],["ocurrance","occurrence"],["ocurred","occurred"],["ocurrence","occurrence"],["ocurrences","occurrences"],["ocurring","occurring"],["ocurrred","occurred"],["ocurrs","occurs"],["odly","oddly"],["ody","body"],["oen","one"],["ofcource","of course"],["offcers","officers"],["offcial","official"],["offcially","officially"],["offcials","officials"],["offerd","offered"],["offereings","offerings"],["offest","offset"],["offests","offsets"],["offfence","offence"],["offfences","offences"],["offfense","offense"],["offfenses","offenses"],["offfset","offset"],["offfsets","offsets"],["offic","office"],["offical","official"],["offically","officially"],["officals","officials"],["officaly","officially"],["officeal","official"],["officeally","officially"],["officeals","officials"],["officealy","officially"],["officialy","officially"],["offloded","offloaded"],["offred","offered"],["offsence","offence"],["offsense","offense"],["offsenses","offenses"],["offser","offset"],["offseted","offsetted"],["offseting","offsetting"],["offsetp","offset"],["offsett","offset"],["offstets","offsets"],["offten","often"],["oficial","official"],["oficially","officially"],["ofmodule","of module"],["ofo","of"],["ofrom","from"],["ofsetted","offsetted"],["ofsset","offset"],["oftenly","often"],["ofthe","of the"],["oherwise","otherwise"],["ohter","other"],["ohters","others"],["ohterwise","otherwise"],["oigin","origin"],["oiginal","original"],["oiginally","originally"],["oiginals","originals"],["oiginating","originating"],["oigins","origins"],["ois","is"],["ojbect","object"],["oje","one"],["oject","object"],["ojection","objection"],["ojective","objective"],["ojects","objects"],["ojekts","objects"],["okat","okay"],["oldes","oldest"],["olny","only"],["olt","old"],["olther","other"],["oly","only"],["omision","omission"],["omited","omitted"],["omiting","omitting"],["omitt","omit"],["omlette","omelette"],["ommision","omission"],["ommission","omission"],["ommit","omit"],["ommited","omitted"],["ommiting","omitting"],["ommits","omits"],["ommitted","omitted"],["ommitting","omitting"],["omniverous","omnivorous"],["omniverously","omnivorously"],["omplementaion","implementation"],["omplementation","implementation"],["omre","more"],["onchage","onchange"],["ond","one"],["one-dimenional","one-dimensional"],["one-dimenionsal","one-dimensional"],["onece","once"],["onedimenional","one-dimensional"],["onedimenionsal","one-dimensional"],["oneliners","one-liners"],["oneyway","oneway"],["ongly","only"],["onl","only"],["onliene","online"],["onlly","only"],["onlye","only"],["onlyonce","only once"],["onoly","only"],["onother","another"],["ons","owns"],["onself","oneself"],["ontain","contain"],["ontained","contained"],["ontainer","container"],["ontainers","containers"],["ontainging","containing"],["ontaining","containing"],["ontainor","container"],["ontainors","containers"],["ontains","contains"],["ontext","context"],["onthe","on the"],["ontop","on top"],["ontrolled","controlled"],["onw","own"],["onwed","owned"],["onwer","owner"],["onwership","ownership"],["onwing","owning"],["onws","owns"],["onyl","only"],["oommits","commits"],["ooutput","output"],["ooutputs","outputs"],["opactity","opacity"],["opactiy","opacity"],["opacy","opacity"],["opague","opaque"],["opatque","opaque"],["opbject","object"],["opbjective","objective"],["opbjects","objects"],["opeaaration","operation"],["opeaarations","operations"],["opeabcration","operation"],["opeabcrations","operations"],["opearand","operand"],["opearands","operands"],["opearate","operate"],["opearates","operates"],["opearating","operating"],["opearation","operation"],["opearations","operations"],["opearatios","operations"],["opearator","operator"],["opearators","operators"],["opearion","operation"],["opearions","operations"],["opearios","operations"],["opeariton","operation"],["opearitons","operations"],["opearitos","operations"],["opearnd","operand"],["opearnds","operands"],["opearor","operator"],["opearors","operators"],["opearte","operate"],["opearted","operated"],["opeartes","operates"],["opearting","operating"],["opeartion","operation"],["opeartions","operations"],["opeartios","operations"],["opeartor","operator"],["opeartors","operators"],["opeate","operate"],["opeates","operates"],["opeation","operation"],["opeational","operational"],["opeations","operations"],["opeatios","operations"],["opeator","operator"],["opeators","operators"],["opeatror","operator"],["opeatrors","operators"],["opeg","open"],["opeging","opening"],["opeing","opening"],["opeinging","opening"],["opeings","openings"],["opem","open"],["opemed","opened"],["opemess","openness"],["opeming","opening"],["opems","opens"],["openbrower","openbrowser"],["opended","opened"],["openeing","opening"],["openend","opened"],["openened","opened"],["openening","opening"],["openess","openness"],["openin","opening"],["openned","opened"],["openning","opening"],["operaand","operand"],["operaands","operands"],["operaion","operation"],["operaions","operations"],["operaiton","operation"],["operandes","operands"],["operaror","operator"],["operatation","operation"],["operatations","operations"],["operater","operator"],["operatings","operating"],["operatio","operation"],["operatione","operation"],["operatior","operator"],["operatng","operating"],["operato","operator"],["operaton","operation"],["operatons","operations"],["operattion","operation"],["operattions","operations"],["opereation","operation"],["opertaion","operation"],["opertaions","operations"],["opertion","operation"],["opertional","operational"],["opertions","operations"],["opertor","operator"],["opertors","operators"],["opetional","optional"],["ophan","orphan"],["ophtalmology","ophthalmology"],["opion","option"],["opionally","optionally"],["opions","options"],["opitionally","optionally"],["opiton","option"],["opitons","options"],["opject","object"],["opjected","objected"],["opjecteing","objecting"],["opjectification","objectification"],["opjectifications","objectifications"],["opjectified","objectified"],["opjecting","objecting"],["opjection","objection"],["opjections","objections"],["opjective","objective"],["opjectively","objectively"],["opjects","objects"],["opne","open"],["opned","opened"],["opnegroup","opengroup"],["opnssl","openssl"],["oponent","opponent"],["oportunity","opportunity"],["opose","oppose"],["oposed","opposed"],["oposite","opposite"],["oposition","opposition"],["oppenly","openly"],["opperate","operate"],["opperated","operated"],["opperates","operates"],["opperation","operation"],["opperational","operational"],["opperations","operations"],["oppertunist","opportunist"],["oppertunities","opportunities"],["oppertunity","opportunity"],["oppinion","opinion"],["oppinions","opinions"],["opponant","opponent"],["oppononent","opponent"],["opportunisticly","opportunistically"],["opportunistly","opportunistically"],["opportunties","opportunities"],["oppositition","opposition"],["oppossed","opposed"],["opprotunity","opportunity"],["opproximate","approximate"],["opps","oops"],["oppsofite","opposite"],["oppurtunity","opportunity"],["opration","operation"],["oprations","operations"],["opreating","operating"],["opreation","operation"],["opreations","operations"],["opression","oppression"],["opressive","oppressive"],["oprimization","optimization"],["oprimizations","optimizations"],["oprimize","optimize"],["oprimized","optimized"],["oprimizes","optimizes"],["optain","obtain"],["optained","obtained"],["optains","obtains"],["optaionl","optional"],["optening","opening"],["optet","opted"],["opthalmic","ophthalmic"],["opthalmologist","ophthalmologist"],["opthalmology","ophthalmology"],["opthamologist","ophthalmologist"],["optiional","optional"],["optimasation","optimization"],["optimazation","optimization"],["optimial","optimal"],["optimiality","optimality"],["optimisim","optimism"],["optimisitc","optimistic"],["optimisitic","optimistic"],["optimissm","optimism"],["optimitation","optimization"],["optimizaing","optimizing"],["optimizaton","optimization"],["optimizier","optimizer"],["optimiztion","optimization"],["optimiztions","optimizations"],["optimsitic","optimistic"],["optimyze","optimize"],["optimze","optimize"],["optimzie","optimize"],["optin","option"],["optinal","optional"],["optinally","optionally"],["optins","options"],["optio","option"],["optioanl","optional"],["optioin","option"],["optioinal","optional"],["optioins","options"],["optionalliy","optionally"],["optionallly","optionally"],["optionaly","optionally"],["optionel","optional"],["optiones","options"],["optionial","optional"],["optionn","option"],["optionnal","optional"],["optionnally","optionally"],["optionnaly","optionally"],["optionss","options"],["optios","options"],["optismied","optimised"],["optizmied","optimized"],["optmisation","optimisation"],["optmisations","optimisations"],["optmization","optimization"],["optmizations","optimizations"],["optmize","optimize"],["optmized","optimized"],["optoin","option"],["optoins","options"],["optomism","optimism"],["opton","option"],["optonal","optional"],["optonally","optionally"],["optons","options"],["opyion","option"],["opyions","options"],["orcale","oracle"],["orded","ordered"],["orderd","ordered"],["ordert","ordered"],["ording","ordering"],["ordner","order"],["orede","order"],["oredes","orders"],["oreding","ordering"],["oredred","ordered"],["orgamise","organise"],["organim","organism"],["organisaion","organisation"],["organisaions","organisations"],["organistion","organisation"],["organistions","organisations"],["organizaion","organization"],["organizaions","organizations"],["organiztion","organization"],["organiztions","organizations"],["organsiation","organisation"],["organsiations","organisations"],["organsied","organised"],["organsier","organiser"],["organsiers","organisers"],["organsies","organises"],["organsiing","organising"],["organziation","organization"],["organziations","organizations"],["organzied","organized"],["organzier","organizer"],["organziers","organizers"],["organzies","organizes"],["organziing","organizing"],["orgiginal","original"],["orgiginally","originally"],["orgiginals","originals"],["orginal","original"],["orginally","originally"],["orginals","originals"],["orginate","originate"],["orginated","originated"],["orginates","originates"],["orginating","originating"],["orginial","original"],["orginially","originally"],["orginials","originals"],["orginiate","originate"],["orginiated","originated"],["orginiates","originates"],["orgininal","original"],["orgininals","originals"],["orginisation","organisation"],["orginisations","organisations"],["orginised","organised"],["orginization","organization"],["orginizations","organizations"],["orginized","organized"],["orginx","originx"],["orginy","originy"],["orhpan","orphan"],["oriant","orient"],["oriantate","orientate"],["oriantated","orientated"],["oriantation","orientation"],["oridinarily","ordinarily"],["orieation","orientation"],["orieations","orientations"],["orienatate","orientate"],["orienatated","orientated"],["orienatation","orientation"],["orienation","orientation"],["orientaion","orientation"],["orientatied","orientated"],["oriente","oriented"],["orientiation","orientation"],["orientied","oriented"],["orientned","oriented"],["orietation","orientation"],["orietations","orientations"],["origanaly","originally"],["origial","original"],["origially","originally"],["origianal","original"],["origianally","originally"],["origianaly","originally"],["origianl","original"],["origianls","originals"],["origigin","origin"],["origiginal","original"],["origiginally","originally"],["origiginals","originals"],["originaly","originally"],["originial","original"],["originially","originally"],["originiated","originated"],["originiating","originating"],["origininal","original"],["origininate","originate"],["origininated","originated"],["origininates","originates"],["origininating","originating"],["origining","originating"],["originnally","originally"],["origion","origin"],["origional","original"],["origionally","originally"],["orign","origin"],["orignal","original"],["orignally","originally"],["orignate","originate"],["orignated","originated"],["orignates","originates"],["orignial","original"],["orignially","originally"],["origninal","original"],["oringal","original"],["oringally","originally"],["orpan","orphan"],["orpanage","orphanage"],["orpaned","orphaned"],["orpans","orphans"],["orriginal","original"],["orthagnal","orthogonal"],["orthagonal","orthogonal"],["orthagonalize","orthogonalize"],["orthoganal","orthogonal"],["orthoganalize","orthogonalize"],["orthognal","orthogonal"],["orthonormalizatin","orthonormalization"],["ortogonal","orthogonal"],["ortogonality","orthogonality"],["osbscure","obscure"],["osciallator","oscillator"],["oscilate","oscillate"],["oscilated","oscillated"],["oscilating","oscillating"],["oscilator","oscillator"],["oscilliscope","oscilloscope"],["oscilliscopes","oscilloscopes"],["osffset","offset"],["osffsets","offsets"],["osffsetting","offsetting"],["osicllations","oscillations"],["otain","obtain"],["otained","obtained"],["otains","obtains"],["otehr","other"],["otehrwice","otherwise"],["otehrwise","otherwise"],["otehrwize","otherwise"],["oterwice","otherwise"],["oterwise","otherwise"],["oterwize","otherwise"],["othe","other"],["othere","other"],["otherewise","otherwise"],["otherise","otherwise"],["otheriwse","otherwise"],["otherwaise","otherwise"],["otherways","otherwise"],["otherweis","otherwise"],["otherweise","otherwise"],["otherwhere","elsewhere"],["otherwhile","otherwise"],["otherwhise","otherwise"],["otherwice","otherwise"],["otherwide","otherwise"],["otherwis","otherwise"],["otherwize","otherwise"],["otherwordly","otherworldly"],["otherwose","otherwise"],["otherwrite","overwrite"],["otherws","otherwise"],["otherwse","otherwise"],["otherwsie","otherwise"],["otherwsise","otherwise"],["otherwuise","otherwise"],["otherwwise","otherwise"],["otherwyse","otherwise"],["othewice","otherwise"],["othewise","otherwise"],["othewize","otherwise"],["otho","otoh"],["othographic","orthographic"],["othwerise","otherwise"],["othwerwise","otherwise"],["othwhise","otherwise"],["otification","notification"],["otiginal","original"],["otion","option"],["otionally","optionally"],["otions","options"],["otpion","option"],["otpions","options"],["otput","output"],["otu","out"],["oublisher","publisher"],["ouer","outer"],["ouevre","oeuvre"],["oultinenodes","outlinenodes"],["oultiner","outliner"],["oultline","outline"],["oultlines","outlines"],["ountline","outline"],["ouptut","output"],["ouptuted","outputted"],["ouptuting","outputting"],["ouptuts","outputs"],["ouput","output"],["ouputarea","outputarea"],["ouputs","outputs"],["ouputted","outputted"],["ouputting","outputting"],["ourselfes","ourselves"],["ourselfs","ourselves"],["ourselvs","ourselves"],["ouside","outside"],["oustanding","outstanding"],["oustide","outside"],["outbut","output"],["outbuts","outputs"],["outgoign","outgoing"],["outisde","outside"],["outllook","outlook"],["outoign","outgoing"],["outout","output"],["outperfoem","outperform"],["outperfoeming","outperforming"],["outperfom","outperform"],["outperfome","outperform"],["outperfomeing","outperforming"],["outperfoming","outperforming"],["outperfomr","outperform"],["outperfomring","outperforming"],["outpout","output"],["outpouts","outputs"],["outpupt","output"],["outpusts","outputs"],["outputed","outputted"],["outputing","outputting"],["outselves","ourselves"],["outsid","outside"],["outter","outer"],["outtermost","outermost"],["outupt","output"],["outupts","outputs"],["outuput","output"],["outut","output"],["oututs","outputs"],["outweight","outweigh"],["outweights","outweighs"],["ouur","our"],["ouurs","ours"],["oveerun","overrun"],["oveflow","overflow"],["oveflowed","overflowed"],["oveflowing","overflowing"],["oveflows","overflows"],["ovelap","overlap"],["ovelapping","overlapping"],["over-engeneer","over-engineer"],["over-engeneering","over-engineering"],["overaall","overall"],["overal","overall"],["overcompansate","overcompensate"],["overcompansated","overcompensated"],["overcompansates","overcompensates"],["overcompansating","overcompensating"],["overcompansation","overcompensation"],["overcompansations","overcompensations"],["overengeneer","overengineer"],["overengeneering","overengineering"],["overfl","overflow"],["overfow","overflow"],["overfowed","overflowed"],["overfowing","overflowing"],["overfows","overflows"],["overhread","overhead"],["overiddden","overridden"],["overidden","overridden"],["overide","override"],["overiden","overridden"],["overides","overrides"],["overiding","overriding"],["overlaped","overlapped"],["overlaping","overlapping"],["overlapp","overlap"],["overlayed","overlaid"],["overlflow","overflow"],["overlflowed","overflowed"],["overlflowing","overflowing"],["overlflows","overflows"],["overlfow","overflow"],["overlfowed","overflowed"],["overlfowing","overflowing"],["overlfows","overflows"],["overlodaded","overloaded"],["overloded","overloaded"],["overlodes","overloads"],["overlow","overflow"],["overlowing","overflowing"],["overlows","overflows"],["overreidden","overridden"],["overreide","override"],["overreides","overrides"],["overriabled","overridable"],["overriddable","overridable"],["overriddden","overridden"],["overriddes","overrides"],["overridding","overriding"],["overrideable","overridable"],["overriden","overridden"],["overrident","overridden"],["overridiing","overriding"],["overrids","overrides"],["overrriddden","overridden"],["overrridden","overridden"],["overrride","override"],["overrriden","overridden"],["overrrides","overrides"],["overrriding","overriding"],["overrrun","overrun"],["overshaddowed","overshadowed"],["oversubcribe","oversubscribe"],["oversubcribed","oversubscribed"],["oversubcribes","oversubscribes"],["oversubcribing","oversubscribing"],["oversubscibe","oversubscribe"],["oversubscibed","oversubscribed"],["oversubscirbe","oversubscribe"],["oversubscirbed","oversubscribed"],["overthere","over there"],["overun","overrun"],["overvise","otherwise"],["overvize","otherwise"],["overvride","override"],["overvrides","overrides"],["overvrite","overwrite"],["overvrites","overwrites"],["overwelm","overwhelm"],["overwelming","overwhelming"],["overwheliming","overwhelming"],["overwiew","overview"],["overwirte","overwrite"],["overwirting","overwriting"],["overwirtten","overwritten"],["overwise","otherwise"],["overwite","overwrite"],["overwites","overwrites"],["overwitten","overwritten"],["overwize","otherwise"],["overwride","overwrite"],["overwriteable","overwritable"],["overwriten","overwritten"],["overwritren","overwritten"],["overwrittes","overwrites"],["overwrittin","overwriting"],["overwritting","overwriting"],["ovewrite","overwrite"],["ovewrites","overwrites"],["ovewriting","overwriting"],["ovewritten","overwritten"],["ovewrote","overwrote"],["ovride","override"],["ovrides","overrides"],["ovrlapped","overlapped"],["ovrridable","overridable"],["ovrridables","overridables"],["ovrwrt","overwrite"],["ovservable","observable"],["ovservation","observation"],["ovserve","observe"],["ovveride","override"],["ovverridden","overridden"],["ovverride","override"],["ovverrides","overrides"],["ovverriding","overriding"],["owener","owner"],["owerflow","overflow"],["owerflowed","overflowed"],["owerflowing","overflowing"],["owerflows","overflows"],["owership","ownership"],["owervrite","overwrite"],["owervrites","overwrites"],["owerwrite","overwrite"],["owerwrites","overwrites"],["owful","awful"],["ownder","owner"],["ownerhsip","ownership"],["ownner","owner"],["ownward","onward"],["ownwer","owner"],["ownwership","ownership"],["owrk","work"],["owudl","would"],["oxigen","oxygen"],["oximoron","oxymoron"],["oxzillary","auxiliary"],["oyu","you"],["p0enis","penis"],["paackage","package"],["pacakge","package"],["pacakges","packages"],["pacakging","packaging"],["paceholder","placeholder"],["pachage","package"],["paches","patches"],["pacht","patch"],["pachtches","patches"],["pachtes","patches"],["pacjage","package"],["pacjages","packages"],["packacge","package"],["packaeg","package"],["packaege","package"],["packaeges","packages"],["packaegs","packages"],["packag","package"],["packags","packages"],["packaing","packaging"],["packats","packets"],["packege","package"],["packge","package"],["packged","packaged"],["packgement","packaging"],["packges'","packages'"],["packges","packages"],["packgs","packages"],["packhage","package"],["packhages","packages"],["packtes","packets"],["pactch","patch"],["pactched","patched"],["pactches","patches"],["padam","param"],["padds","pads"],["pading","padding"],["paermission","permission"],["paermissions","permissions"],["paeth","path"],["pagagraph","paragraph"],["pahses","phases"],["paide","paid"],["painiting","painting"],["paintile","painttile"],["paintin","painting"],["paitience","patience"],["paiting","painting"],["pakage","package"],["pakageimpl","packageimpl"],["pakages","packages"],["pakcage","package"],["paket","packet"],["pakge","package"],["pakvage","package"],["palatte","palette"],["paleolitic","paleolithic"],["palete","palette"],["paliamentarian","parliamentarian"],["Palistian","Palestinian"],["Palistinian","Palestinian"],["Palistinians","Palestinians"],["pallete","palette"],["pallette","palette"],["palletted","paletted"],["paltette","palette"],["paltform","platform"],["pamflet","pamphlet"],["pamplet","pamphlet"],["paniced","panicked"],["panicing","panicking"],["pannel","panel"],["pannels","panels"],["pantomine","pantomime"],["paoition","position"],["paor","pair"],["Papanicalou","Papanicolaou"],["paradime","paradigm"],["paradym","paradigm"],["paraemeter","parameter"],["paraemeters","parameters"],["paraeters","parameters"],["parafanalia","paraphernalia"],["paragaph","paragraph"],["paragaraph","paragraph"],["paragarapha","paragraph"],["paragarph","paragraph"],["paragarphs","paragraphs"],["paragph","paragraph"],["paragpraph","paragraph"],["paragraphy","paragraph"],["paragrphs","paragraphs"],["parahaps","perhaps"],["paralel","parallel"],["paralelising","parallelising"],["paralelism","parallelism"],["paralelizing","parallelizing"],["paralell","parallel"],["paralelle","parallel"],["paralellism","parallelism"],["paralellization","parallelization"],["paralelly","parallelly"],["paralely","parallelly"],["paralle","parallel"],["parallell","parallel"],["parallely","parallelly"],["paralles","parallels"],["parallization","parallelization"],["parallize","parallelize"],["parallized","parallelized"],["parallizes","parallelizes"],["parallizing","parallelizing"],["paralllel","parallel"],["paralllels","parallels"],["paramameter","parameter"],["paramameters","parameters"],["paramater","parameter"],["paramaters","parameters"],["paramemeter","parameter"],["paramemeters","parameters"],["paramemter","parameter"],["paramemters","parameters"],["paramenet","parameter"],["paramenets","parameters"],["paramenter","parameter"],["paramenters","parameters"],["paramer","parameter"],["paramert","parameter"],["paramerters","parameters"],["paramerts","parameters"],["paramete","parameter"],["parameteras","parameters"],["parameteres","parameters"],["parameterical","parametrical"],["parameterts","parameters"],["parametes","parameters"],["parametised","parametrised"],["parametr","parameter"],["parametre","parameter"],["parametreless","parameterless"],["parametres","parameters"],["parametrs","parameters"],["parametter","parameter"],["parametters","parameters"],["paramss","params"],["paramter","parameter"],["paramterer","parameter"],["paramterers","parameters"],["paramteres","parameters"],["paramterize","parameterize"],["paramterless","parameterless"],["paramters","parameters"],["paramtrical","parametrical"],["parana","piranha"],["paraniac","paranoiac"],["paranoya","paranoia"],["parant","parent"],["parantheses","parentheses"],["paranthesis","parenthesis"],["parants","parents"],["paraphanalia","paraphernalia"],["paraphenalia","paraphernalia"],["pararagraph","paragraph"],["pararaph","paragraph"],["parareter","parameter"],["parargaph","paragraph"],["parargaphs","paragraphs"],["pararmeter","parameter"],["pararmeters","parameters"],["parastic","parasitic"],["parastics","parasitics"],["paratheses","parentheses"],["paratmers","parameters"],["paravirutalisation","paravirtualisation"],["paravirutalise","paravirtualise"],["paravirutalised","paravirtualised"],["paravirutalization","paravirtualization"],["paravirutalize","paravirtualize"],["paravirutalized","paravirtualized"],["parctical","practical"],["parctically","practically"],["pard","part"],["parellelogram","parallelogram"],["parellels","parallels"],["parem","param"],["paremeter","parameter"],["paremeters","parameters"],["paremter","parameter"],["paremters","parameters"],["parenthese","parentheses"],["parenthesed","parenthesized"],["parenthesies","parentheses"],["parenthises","parentheses"],["parenthsis","parenthesis"],["parge","large"],["parial","partial"],["parially","partially"],["paricular","particular"],["paricularly","particularly"],["parisitic","parasitic"],["paritally","partially"],["paritals","partials"],["paritial","partial"],["parition","partition"],["paritioning","partitioning"],["paritions","partitions"],["paritition","partition"],["parititioned","partitioned"],["parititioner","partitioner"],["parititiones","partitions"],["parititioning","partitioning"],["parititions","partitions"],["paritiy","parity"],["parituclar","particular"],["parliment","parliament"],["parmaeter","parameter"],["parmaeters","parameters"],["parmameter","parameter"],["parmameters","parameters"],["parmaters","parameters"],["parmeter","parameter"],["parmeters","parameters"],["parmter","parameter"],["parmters","parameters"],["parnoia","paranoia"],["parnter","partner"],["parntered","partnered"],["parntering","partnering"],["parnters","partners"],["parntership","partnership"],["parnterships","partnerships"],["parrakeets","parakeets"],["parralel","parallel"],["parrallel","parallel"],["parrallell","parallel"],["parrallelly","parallelly"],["parrallely","parallelly"],["parrent","parent"],["parseing","parsing"],["parsering","parsing"],["parsin","parsing"],["parstree","parse tree"],["partaining","pertaining"],["partcular","particular"],["partcularity","particularity"],["partcularly","particularly"],["parth","path"],["partialy","partially"],["particalar","particular"],["particalarly","particularly"],["particale","particle"],["particales","particles"],["partically","partially"],["particals","particles"],["particaluar","particular"],["particaluarly","particularly"],["particalur","particular"],["particalurly","particularly"],["particant","participant"],["particaular","particular"],["particaularly","particularly"],["particaulr","particular"],["particaulrly","particularly"],["particlar","particular"],["particlars","particulars"],["particually","particularly"],["particualr","particular"],["particuar","particular"],["particuarly","particularly"],["particulaly","particularly"],["particularily","particularly"],["particulary","particularly"],["particuliar","particular"],["partifular","particular"],["partiiton","partition"],["partiitoned","partitioned"],["partiitoning","partitioning"],["partiitons","partitions"],["partioned","partitioned"],["partirion","partition"],["partirioned","partitioned"],["partirioning","partitioning"],["partirions","partitions"],["partision","partition"],["partisioned","partitioned"],["partisioning","partitioning"],["partisions","partitions"],["partitial","partial"],["partiticipant","participant"],["partiticipants","participants"],["partiticular","particular"],["partitinioning","partitioning"],["partitioing","partitioning"],["partitiones","partitions"],["partitionned","partitioned"],["partitionning","partitioning"],["partitionns","partitions"],["partitionss","partitions"],["partiton","partition"],["partitoned","partitioned"],["partitoning","partitioning"],["partitons","partitions"],["partiula","particular"],["partiular","particular"],["partiularly","particularly"],["partiulars","particulars"],["pasengers","passengers"],["paser","parser"],["pasesd","passed"],["pash","hash"],["pasitioning","positioning"],["pasive","passive"],["pasre","parse"],["pasred","parsed"],["pasres","parses"],["passerbys","passersby"],["passin","passing"],["passiv","passive"],["passowrd","password"],["passs","pass"],["passsed","passed"],["passsing","passing"],["passthrought","passthrough"],["passthruogh","passthrough"],["passtime","pastime"],["passtrough","passthrough"],["passwird","password"],["passwirds","passwords"],["passwrod","password"],["passwrods","passwords"],["pasteing","pasting"],["pasttime","pastime"],["pastural","pastoral"],["pasword","password"],["paswords","passwords"],["patameter","parameter"],["patameters","parameters"],["patcket","packet"],["patckets","packets"],["patern","pattern"],["paterns","patterns"],["pathalogical","pathological"],["pathame","pathname"],["pathames","pathnames"],["pathane","pathname"],["pathced","patched"],["pathes","paths"],["pathign","pathing"],["pathnme","pathname"],["patholgoical","pathological"],["patial","spatial"],["paticular","particular"],["paticularly","particularly"],["patition","partition"],["pattented","patented"],["pattersn","patterns"],["pavillion","pavilion"],["pavillions","pavilions"],["pa\xEDnt","paint"],["pblisher","publisher"],["pbulisher","publisher"],["peacd","peace"],["peacefuland","peaceful and"],["peacify","pacify"],["peageant","pageant"],["peaple","people"],["peaples","peoples"],["pecentage","percentage"],["pecularities","peculiarities"],["pecularity","peculiarity"],["peculure","peculiar"],["pedestrain","pedestrian"],["peding","pending"],["pedning","pending"],["pefer","prefer"],["peferable","preferable"],["peferably","preferably"],["pefered","preferred"],["peference","preference"],["peferences","preferences"],["peferential","preferential"],["peferentially","preferentially"],["peferred","preferred"],["peferring","preferring"],["pefers","prefers"],["peform","perform"],["peformance","performance"],["peformed","performed"],["peforming","performing"],["pege","page"],["pehaps","perhaps"],["peice","piece"],["peicemeal","piecemeal"],["peices","pieces"],["peirod","period"],["peirodical","periodical"],["peirodicals","periodicals"],["peirods","periods"],["penalities","penalties"],["penality","penalty"],["penatly","penalty"],["pendantic","pedantic"],["pendig","pending"],["pendning","pending"],["penerator","penetrator"],["penisula","peninsula"],["penisular","peninsular"],["pennal","panel"],["pennals","panels"],["penninsula","peninsula"],["penninsular","peninsular"],["pennisula","peninsula"],["Pennyslvania","Pennsylvania"],["pensinula","peninsula"],["pensle","pencil"],["penultimante","penultimate"],["peom","poem"],["peoms","poems"],["peopel","people"],["peopels","peoples"],["peopl","people"],["peotry","poetry"],["pepare","prepare"],["peprocessor","preprocessor"],["per-interpeter","per-interpreter"],["perade","parade"],["peraphs","perhaps"],["percentange","percentage"],["percentanges","percentages"],["percentil","percentile"],["percepted","perceived"],["percetage","percentage"],["percetages","percentages"],["percievable","perceivable"],["percievabley","perceivably"],["percievably","perceivably"],["percieve","perceive"],["percieved","perceived"],["percise","precise"],["percisely","precisely"],["percision","precision"],["perenially","perennially"],["peretrator","perpetrator"],["perfec","perfect"],["perfecct","perfect"],["perfecctly","perfectly"],["perfeclty","perfectly"],["perfecly","perfectly"],["perfectably","perfectly"],["perfer","prefer"],["perferable","preferable"],["perferably","preferably"],["perferance","preference"],["perferances","preferences"],["perferct","perfect"],["perferctly","perfectly"],["perferect","perfect"],["perferectly","perfectly"],["perfered","preferred"],["perference","preference"],["perferences","preferences"],["perferm","perform"],["perfermance","performance"],["perfermances","performances"],["perfermence","performance"],["perfermences","performances"],["perferr","prefer"],["perferrable","preferable"],["perferrably","preferably"],["perferrance","preference"],["perferrances","preferences"],["perferred","preferred"],["perferrence","preference"],["perferrences","preferences"],["perferrm","perform"],["perferrmance","performance"],["perferrmances","performances"],["perferrmence","performance"],["perferrmences","performances"],["perferrs","prefers"],["perfers","prefers"],["perfix","prefix"],["perfmormance","performance"],["perfoem","perform"],["perfoemamce","performance"],["perfoemamces","performances"],["perfoemance","performance"],["perfoemanse","performance"],["perfoemanses","performances"],["perfoemant","performant"],["perfoemative","performative"],["perfoemed","performed"],["perfoemer","performer"],["perfoemers","performers"],["perfoeming","performing"],["perfoemnace","performance"],["perfoemnaces","performances"],["perfoems","performs"],["perfom","perform"],["perfomamce","performance"],["perfomamces","performances"],["perfomance","performance"],["perfomanse","performance"],["perfomanses","performances"],["perfomant","performant"],["perfomative","performative"],["perfome","perform"],["perfomeamce","performance"],["perfomeamces","performances"],["perfomeance","performance"],["perfomeanse","performance"],["perfomeanses","performances"],["perfomeant","performant"],["perfomeative","performative"],["perfomed","performed"],["perfomeed","performed"],["perfomeer","performer"],["perfomeers","performers"],["perfomeing","performing"],["perfomenace","performance"],["perfomenaces","performances"],["perfomer","performer"],["perfomers","performers"],["perfomes","performs"],["perfoming","performing"],["perfomnace","performance"],["perfomnaces","performances"],["perfomr","perform"],["perfomramce","performance"],["perfomramces","performances"],["perfomrance","performance"],["perfomranse","performance"],["perfomranses","performances"],["perfomrant","performant"],["perfomrative","performative"],["perfomred","performed"],["perfomrer","performer"],["perfomrers","performers"],["perfomring","performing"],["perfomrnace","performance"],["perfomrnaces","performances"],["perfomrs","performs"],["perfoms","performs"],["perfor","perform"],["perforam","perform"],["perforamed","performed"],["perforaming","performing"],["perforamnce","performance"],["perforamnces","performances"],["perforams","performs"],["perford","performed"],["perforemd","performed"],["performace","performance"],["performaed","performed"],["performamce","performance"],["performane","performance"],["performence","performance"],["performnace","performance"],["perfors","performs"],["perfro","perform"],["perfrom","perform"],["perfromance","performance"],["perfromed","performed"],["perfroming","performing"],["perfroms","performs"],["perhabs","perhaps"],["perhas","perhaps"],["perhasp","perhaps"],["perheaps","perhaps"],["perhpas","perhaps"],["peridic","periodic"],["perihperal","peripheral"],["perihperals","peripherals"],["perimetre","perimeter"],["perimetres","perimeters"],["periode","period"],["periodicaly","periodically"],["periodioc","periodic"],["peripathetic","peripatetic"],["peripherial","peripheral"],["peripherials","peripherals"],["perisist","persist"],["perisisted","persisted"],["perisistent","persistent"],["peristent","persistent"],["perjery","perjury"],["perjorative","pejorative"],["perlciritc","perlcritic"],["permable","permeable"],["permament","permanent"],["permamently","permanently"],["permanant","permanent"],["permanantly","permanently"],["permanentely","permanently"],["permanenty","permanently"],["permantly","permanently"],["permenant","permanent"],["permenantly","permanently"],["permessioned","permissioned"],["permision","permission"],["permisions","permissions"],["permisison","permission"],["permisisons","permissions"],["permissable","permissible"],["permissiosn","permissions"],["permisson","permission"],["permissons","permissions"],["permisssion","permission"],["permisssions","permissions"],["permited","permitted"],["permition","permission"],["permitions","permissions"],["permmission","permission"],["permmissions","permissions"],["permormance","performance"],["permssion","permission"],["permssions","permissions"],["permuatate","permutate"],["permuatated","permutated"],["permuatates","permutates"],["permuatating","permutating"],["permuatation","permutation"],["permuatations","permutations"],["permuation","permutation"],["permuations","permutations"],["permutaion","permutation"],["permutaions","permutations"],["permution","permutation"],["permutions","permutations"],["peroendicular","perpendicular"],["perogative","prerogative"],["peroid","period"],["peroidic","periodic"],["peroidical","periodical"],["peroidically","periodically"],["peroidicals","periodicals"],["peroidicity","periodicity"],["peroids","periods"],["peronal","personal"],["peroperly","properly"],["perosnality","personality"],["perpandicular","perpendicular"],["perpandicularly","perpendicularly"],["perperties","properties"],["perpertrated","perpetrated"],["perperty","property"],["perphas","perhaps"],["perpindicular","perpendicular"],["perpsective","perspective"],["perpsectives","perspectives"],["perrror","perror"],["persan","person"],["persepctive","perspective"],["persepective","perspective"],["persepectives","perspectives"],["perserve","preserve"],["perserved","preserved"],["perserverance","perseverance"],["perservere","persevere"],["perservered","persevered"],["perserveres","perseveres"],["perservering","persevering"],["perserves","preserves"],["perserving","preserving"],["perseverence","perseverance"],["persisit","persist"],["persisited","persisted"],["persistance","persistence"],["persistant","persistent"],["persistantly","persistently"],["persisten","persistent"],["persistented","persisted"],["persited","persisted"],["persitent","persistent"],["personalitie","personality"],["personalitites","personalities"],["personalitity","personality"],["personalitys","personalities"],["personaly","personally"],["personell","personnel"],["personnal","personal"],["personnaly","personally"],["personnell","personnel"],["perspecitve","perspective"],["persuded","persuaded"],["persue","pursue"],["persued","pursued"],["persuing","pursuing"],["persuit","pursuit"],["persuits","pursuits"],["persumably","presumably"],["perticular","particular"],["perticularly","particularly"],["perticulars","particulars"],["pertrub","perturb"],["pertrubation","perturbation"],["pertrubations","perturbations"],["pertrubing","perturbing"],["pertub","perturb"],["pertubate","perturb"],["pertubated","perturbed"],["pertubates","perturbs"],["pertubation","perturbation"],["pertubations","perturbations"],["pertubing","perturbing"],["perturbate","perturb"],["perturbates","perturbs"],["pervious","previous"],["perviously","previously"],["pessiary","pessary"],["petetion","petition"],["pevent","prevent"],["pevents","prevents"],["pezier","bezier"],["phanthom","phantom"],["Pharoah","Pharaoh"],["phasepsace","phasespace"],["phasis","phases"],["phenomenom","phenomenon"],["phenomenonal","phenomenal"],["phenomenonly","phenomenally"],["phenomonenon","phenomenon"],["phenomonon","phenomenon"],["phenonmena","phenomena"],["pheriparials","peripherals"],["Philipines","Philippines"],["philisopher","philosopher"],["philisophical","philosophical"],["philisophy","philosophy"],["Phillipine","Philippine"],["phillipines","philippines"],["Phillippines","Philippines"],["phillosophically","philosophically"],["philospher","philosopher"],["philosphies","philosophies"],["philosphy","philosophy"],["phisical","physical"],["phisically","physically"],["phisicaly","physically"],["phisics","physics"],["phisosophy","philosophy"],["Phonecian","Phoenecian"],["phoneticly","phonetically"],["phongraph","phonograph"],["phote","photo"],["photografic","photographic"],["photografical","photographical"],["photografy","photography"],["photograpic","photographic"],["photograpical","photographical"],["phsical","physical"],["phsyically","physically"],["phtread","pthread"],["phtreads","pthreads"],["phyiscal","physical"],["phyiscally","physically"],["phyiscs","physics"],["phylosophical","philosophical"],["physcial","physical"],["physial","physical"],["physicaly","physically"],["physisist","physicist"],["phython","python"],["phyton","python"],["phy_interace","phy_interface"],["piblisher","publisher"],["pice","piece"],["picoseond","picosecond"],["picoseonds","picoseconds"],["piggypack","piggyback"],["piggypacked","piggybacked"],["pilgrimmage","pilgrimage"],["pilgrimmages","pilgrimages"],["pimxap","pixmap"],["pimxaps","pixmaps"],["pinapple","pineapple"],["pinnaple","pineapple"],["pinoneered","pioneered"],["piont","point"],["pionter","pointer"],["pionts","points"],["piority","priority"],["pipeine","pipeline"],["pipeines","pipelines"],["pipelien","pipeline"],["pipeliens","pipelines"],["pipelin","pipeline"],["pipelinining","pipelining"],["pipelins","pipelines"],["pipepline","pipeline"],["pipeplines","pipelines"],["pipiline","pipeline"],["pipilines","pipelines"],["pipleine","pipeline"],["pipleines","pipelines"],["pipleline","pipeline"],["piplelines","pipelines"],["pitty","pity"],["pivott","pivot"],["pivotting","pivoting"],["pixes","pixels"],["placeemnt","placement"],["placeemnts","placements"],["placehoder","placeholder"],["placeholde","placeholder"],["placeholdes","placeholders"],["placeholer","placeholder"],["placeholers","placeholders"],["placemenet","placement"],["placemenets","placements"],["placholder","placeholder"],["placholders","placeholders"],["placmenet","placement"],["placmenets","placements"],["plaform","platform"],["plaforms","platforms"],["plaftorm","platform"],["plaftorms","platforms"],["plagarism","plagiarism"],["plalform","platform"],["plalforms","platforms"],["planation","plantation"],["plantext","plaintext"],["plantiff","plaintiff"],["plasement","placement"],["plasements","placements"],["plateu","plateau"],["platfarm","platform"],["platfarms","platforms"],["platfform","platform"],["platfforms","platforms"],["platflorm","platform"],["platflorms","platforms"],["platfoem","platform"],["platfom","platform"],["platfomr","platform"],["platfomrs","platforms"],["platfoms","platforms"],["platform-spacific","platform-specific"],["platforma","platforms"],["platformt","platforms"],["platfrom","platform"],["platfroms","platforms"],["plathome","platform"],["platofmr","platform"],["platofmrs","platforms"],["platofms","platforms"],["platofmss","platforms"],["platoform","platform"],["platoforms","platforms"],["platofrm","platform"],["platofrms","platforms"],["plattform","platform"],["plattforms","platforms"],["plausability","plausibility"],["plausable","plausible"],["playble","playable"],["playge","plague"],["playgerise","plagiarise"],["playgerize","plagiarize"],["playgropund","playground"],["playist","playlist"],["playists","playlists"],["playright","playwright"],["playwrite","playwright"],["playwrites","playwrights"],["plcae","place"],["plcaebo","placebo"],["plcaed","placed"],["plcaeholder","placeholder"],["plcaeholders","placeholders"],["plcaement","placement"],["plcaements","placements"],["plcaes","places"],["pleaase","please"],["pleacing","placing"],["pleae","please"],["pleaee","please"],["pleaes","please"],["pleasd","pleased"],["pleasent","pleasant"],["pleasently","pleasantly"],["plebicite","plebiscite"],["plecing","placing"],["plent","plenty"],["plesae","please"],["plesant","pleasant"],["plese","please"],["plesently","pleasantly"],["pliars","pliers"],["pllatforms","platforms"],["ploted","plotted"],["ploting","plotting"],["ploynomial","polynomial"],["ploynomials","polynomials"],["pltform","platform"],["pltforms","platforms"],["plugable","pluggable"],["pluged","plugged"],["pluign","plugin"],["pluigns","plugins"],["pluse","pulse"],["plyotropy","pleiotropy"],["pobular","popular"],["pobularity","popularity"],["podule","module"],["poenis","penis"],["poential","potential"],["poentially","potentially"],["poentials","potentials"],["poeoples","peoples"],["poeple","people"],["poety","poetry"],["pogress","progress"],["poicies","policies"],["poicy","policy"],["poiint","point"],["poiints","points"],["poind","point"],["poindcloud","pointcloud"],["poiner","pointer"],["poing","point"],["poinits","points"],["poinnter","pointer"],["poins","points"],["pointeres","pointers"],["pointes","points"],["pointetr","pointer"],["pointetrs","pointers"],["pointeur","pointer"],["pointseta","poinsettia"],["pointss","points"],["pointzer","pointer"],["poinyent","poignant"],["poisin","poison"],["poisition","position"],["poisitioned","positioned"],["poisitioning","positioning"],["poisitionning","positioning"],["poisitions","positions"],["poistion","position"],["poistioned","positioned"],["poistioning","positioning"],["poistions","positions"],["poistive","positive"],["poistively","positively"],["poistives","positives"],["poistivly","positively"],["poit","point"],["poitd","pointed"],["poited","pointed"],["poiter","pointer"],["poiters","pointers"],["poiting","pointing"],["poitless","pointless"],["poitlessly","pointlessly"],["poitn","point"],["poitnd","pointed"],["poitned","pointed"],["poitner","pointer"],["poitnes","points"],["poitning","pointing"],["poitns","points"],["poits","points"],["poiunter","pointer"],["poject","project"],["pojecting","projecting"],["pojnt","point"],["pojrect","project"],["pojrected","projected"],["pojrecting","projecting"],["pojrection","projection"],["pojrections","projections"],["pojrector","projector"],["pojrectors","projectors"],["pojrects","projects"],["poket","pocket"],["polariy","polarity"],["polgon","polygon"],["polgons","polygons"],["polical","political"],["policiy","policy"],["poligon","polygon"],["poligons","polygons"],["polinator","pollinator"],["polinators","pollinators"],["politican","politician"],["politicans","politicians"],["politicing","politicking"],["pollenate","pollinate"],["polltry","poultry"],["polocies","policies"],["polocy","policy"],["polocys","policies"],["pologon","polygon"],["pologons","polygons"],["polotic","politic"],["polotical","political"],["polotics","politics"],["poltical","political"],["poltry","poultry"],["polute","pollute"],["poluted","polluted"],["polutes","pollutes"],["poluting","polluting"],["polution","pollution"],["polyar","polar"],["polyedral","polyhedral"],["polygond","polygons"],["polygone","polygon"],["polymorpic","polymorphic"],["polynomal","polynomial"],["polynomals","polynomials"],["polyphonyic","polyphonic"],["polypoygon","polypolygon"],["polypoylgons","polypolygons"],["polysaccaride","polysaccharide"],["polysaccharid","polysaccharide"],["pomegranite","pomegranate"],["pomotion","promotion"],["pompay","Pompeii"],["ponint","point"],["poninted","pointed"],["poninter","pointer"],["poninting","pointing"],["ponints","points"],["ponit","point"],["ponitd","pointed"],["ponited","pointed"],["poniter","pointer"],["poniters","pointers"],["ponits","points"],["pont","point"],["pontential","potential"],["ponter","pointer"],["ponting","pointing"],["ponts","points"],["pontuation","punctuation"],["pooint","point"],["poointed","pointed"],["poointer","pointer"],["pooints","points"],["poost","post"],["poperee","potpourri"],["poperties","properties"],["popoen","popen"],["popolate","populate"],["popolated","populated"],["popolates","populates"],["popolating","populating"],["poportional","proportional"],["popoulation","population"],["popoup","popup"],["poppup","popup"],["popularaty","popularity"],["populare","popular"],["populer","popular"],["popullate","populate"],["popullated","populated"],["popuplar","popular"],["popuplarity","popularity"],["popuplate","populate"],["popuplated","populated"],["popuplates","populates"],["popuplating","populating"],["popuplation","population"],["porbably","probably"],["porblem","problem"],["porblems","problems"],["porcess","process"],["porcessed","processed"],["porcesses","processes"],["porcessing","processing"],["porcessor","processor"],["porcessors","processors"],["porgram","program"],["porgrammeer","programmer"],["porgrammeers","programmers"],["porgramming","programming"],["porgrams","programs"],["poriferal","peripheral"],["porject","project"],["porjection","projection"],["porjects","projects"],["porotocol","protocol"],["porotocols","protocols"],["porperties","properties"],["porperty","property"],["porportion","proportion"],["porportional","proportional"],["porportionally","proportionally"],["porportioning","proportioning"],["porportions","proportions"],["porsalin","porcelain"],["porshan","portion"],["porshon","portion"],["portait","portrait"],["portaits","portraits"],["portayed","portrayed"],["portected","protected"],["portguese","Portuguese"],["portioon","portion"],["portraing","portraying"],["portugese","Portuguese"],["portuguease","Portuguese"],["portugues","Portuguese"],["porve","prove"],["porved","proved"],["porven","proven"],["porves","proves"],["porvide","provide"],["porvided","provided"],["porvider","provider"],["porvides","provides"],["porviding","providing"],["porvids","provides"],["porving","proving"],["posative","positive"],["posatives","positives"],["posativity","positivity"],["poseesions","possessions"],["posess","possess"],["posessed","possessed"],["posesses","possesses"],["posessing","possessing"],["posession","possession"],["posessions","possessions"],["posibilities","possibilities"],["posibility","possibility"],["posibilties","possibilities"],["posible","possible"],["posiblity","possibility"],["posibly","possibly"],["posiitive","positive"],["posiitives","positives"],["posiitivity","positivity"],["posisition","position"],["posisitioned","positioned"],["posistion","position"],["positionn","position"],["positionned","positioned"],["positionnes","positions"],["positionning","positioning"],["positionns","positions"],["positiv","positive"],["positivie","positive"],["positivies","positives"],["positivly","positively"],["positoin","position"],["positoined","positioned"],["positoins","positions"],["positonal","positional"],["positoned","positioned"],["positoning","positioning"],["positve","positive"],["positves","positives"],["POSIX-complient","POSIX-compliant"],["pospone","postpone"],["posponed","postponed"],["posption","position"],["possabilites","possibilities"],["possabilities","possibilities"],["possability","possibility"],["possabilties","possibilities"],["possabily","possibly"],["possable","possible"],["possably","possibly"],["possbily","possibly"],["possble","possible"],["possbly","possibly"],["posseses","possesses"],["possesing","possessing"],["possesion","possession"],["possesive","possessive"],["possessess","possesses"],["possiable","possible"],["possibbe","possible"],["possibe","possible"],["possibile","possible"],["possibilies","possibilities"],["possibilites","possibilities"],["possibilitities","possibilities"],["possibiliy","possibility"],["possibillity","possibility"],["possibilties","possibilities"],["possibilty","possibility"],["possibily","possibly"],["possibities","possibilities"],["possibity","possibility"],["possiblble","possible"],["possiblec","possible"],["possiblely","possibly"],["possiblility","possibility"],["possiblilty","possibility"],["possiblities","possibilities"],["possiblity","possibility"],["possiblly","possibly"],["possilbe","possible"],["possily","possibly"],["possition","position"],["possitive","positive"],["possitives","positives"],["possobily","possibly"],["possoble","possible"],["possobly","possibly"],["posssible","possible"],["post-morten","post-mortem"],["post-proces","post-process"],["post-procesing","post-processing"],["postcondtion","postcondition"],["postcondtions","postconditions"],["Postdam","Potsdam"],["postgress","PostgreSQL"],["postgressql","PostgreSQL"],["postgrsql","PostgreSQL"],["posthomous","posthumous"],["postiional","positional"],["postiive","positive"],["postincremend","postincrement"],["postion","position"],["postioned","positioned"],["postions","positions"],["postition","position"],["postitive","positive"],["postitives","positives"],["postive","positive"],["postives","positives"],["postmage","postimage"],["postphoned","postponed"],["postpocessing","postprocessing"],["postponinig","postponing"],["postprocesing","postprocessing"],["postscritp","postscript"],["postulat","postulate"],["postuminus","posthumous"],["postumus","posthumous"],["potatoe","potato"],["potatos","potatoes"],["potencial","potential"],["potencially","potentially"],["potencials","potentials"],["potenial","potential"],["potenially","potentially"],["potentail","potential"],["potentailly","potentially"],["potentails","potentials"],["potental","potential"],["potentally","potentially"],["potentatially","potentially"],["potententially","potentially"],["potentiallly","potentially"],["potentialy","potentially"],["potentiel","potential"],["potentiomenter","potentiometer"],["potition","position"],["potocol","protocol"],["potrait","portrait"],["potrayed","portrayed"],["poulations","populations"],["pount","point"],["pounts","points"],["poupular","popular"],["poverful","powerful"],["poweful","powerful"],["powerfull","powerful"],["powerppc","powerpc"],["pozitive","positive"],["pozitively","positively"],["pozitives","positives"],["ppcheck","cppcheck"],["ppeline","pipeline"],["ppelines","pipelines"],["ppolygons","polygons"],["ppublisher","publisher"],["ppyint","pyint"],["praameter","parameter"],["praameters","parameters"],["prabability","probability"],["prabable","probable"],["prabably","probably"],["pracitcal","practical"],["pracitcally","practically"],["practial","practical"],["practially","practically"],["practicaly","practically"],["practicioner","practitioner"],["practicioners","practitioners"],["practicly","practically"],["practictitioner","practitioner"],["practictitioners","practitioners"],["practicval","practical"],["practioner","practitioner"],["practioners","practitioners"],["praefix","prefix"],["pragam","pragma"],["pragmato","pragma to"],["prairy","prairie"],["pramater","parameter"],["prameter","parameter"],["prameters","parameters"],["prarameter","parameter"],["prarameters","parameters"],["prarie","prairie"],["praries","prairies"],["pratical","practical"],["pratically","practically"],["pratice","practice"],["prcess","process"],["prcesses","processes"],["prcessing","processing"],["prcoess","process"],["prcoessed","processed"],["prcoesses","processes"],["prcoessing","processing"],["prctiles","percentiles"],["prdpagate","propagate"],["prdpagated","propagated"],["prdpagates","propagates"],["prdpagating","propagating"],["prdpagation","propagation"],["prdpagations","propagations"],["prdpagator","propagator"],["prdpagators","propagators"],["pre-condifure","pre-configure"],["pre-condifured","pre-configured"],["pre-confifure","pre-configure"],["pre-confifured","pre-configured"],["pre-confure","pre-configure"],["pre-confured","pre-configured"],["pre-congifure","pre-configure"],["pre-congifured","pre-configured"],["pre-defiend","pre-defined"],["pre-defiened","pre-defined"],["pre-empt","preempt"],["pre-pended","prepended"],["pre-pre-realease","pre-pre-release"],["pre-proces","pre-process"],["pre-procesing","pre-processing"],["pre-realease","pre-release"],["pre-registeres","pre-registers"],["prealocate","preallocate"],["prealocated","preallocated"],["prealocates","preallocates"],["prealocating","preallocating"],["preambule","preamble"],["preamle","preamble"],["preample","preamble"],["preaorocessing","preprocessing"],["preapared","prepared"],["preapre","prepare"],["preaprooved","preapproved"],["prebious","previous"],["precacheed","precached"],["precceding","preceding"],["precding","preceding"],["preced","precede"],["precedencs","precedence"],["precedessor","predecessor"],["preceds","precedes"],["preceision","precision"],["precence","presence"],["precendance","precedence"],["precendances","precedences"],["precende","precedence"],["precendece","precedence"],["precendeces","precedences"],["precendence","precedence"],["precendences","precedences"],["precendencies","precedences"],["precendent","precedent"],["precendes","precedences"],["precending","preceding"],["precends","precedence"],["precenences","preferences"],["precense","presence"],["precentage","percentage"],["precentile","percentile"],["precentiles","percentiles"],["precessing","processing"],["precice","precise"],["precicion","precision"],["precidence","precedence"],["precisily","precisely"],["precisionn","precision"],["precisision","precision"],["precisly","precisely"],["precison","precision"],["precize","precise"],["precomuted","precomputed"],["preconditoner","preconditioner"],["preconditoners","preconditioners"],["precondtion","precondition"],["precondtioner","preconditioner"],["precondtioners","preconditioners"],["precondtionner","preconditioner"],["precondtionners","preconditioners"],["precondtions","preconditions"],["preconfiged","preconfigured"],["precsions","precisions"],["precuation","precaution"],["preculde","preclude"],["preculded","precluded"],["preculdes","precludes"],["precumputed","precomputed"],["precurser","precursor"],["precussion","percussion"],["precussions","percussions"],["predecesor","predecessor"],["predecesors","predecessors"],["predeclarnig","predeclaring"],["predefiend","predefined"],["predefiened","predefined"],["predefiined","predefined"],["predefineds","predefined"],["predessor","predecessor"],["predfined","predefined"],["predicat","predicate"],["predicatble","predictable"],["predicitons","predictions"],["predictible","predictable"],["predifined","predefined"],["predomiantly","predominately"],["preeceding","preceding"],["preemptable","preemptible"],["preesnt","present"],["prefectches","prefetches"],["prefecth","prefetch"],["prefectly","perfectly"],["prefence","preference"],["prefences","preferences"],["preferance","preference"],["preferances","preferences"],["preferecne","preference"],["preferecnes","preferences"],["prefered","preferred"],["preferencfe","preference"],["preferencfes","preferences"],["preferes","prefers"],["prefering","preferring"],["prefernce","preference"],["prefernces","preferences"],["prefernec","preference"],["preferr","prefer"],["preferrable","preferable"],["preferrably","preferably"],["preferrence","preference"],["preferrences","preferences"],["preferrred","preferred"],["prefetchs","prefetches"],["prefex","prefix"],["preffer","prefer"],["prefferable","preferable"],["prefferably","preferably"],["preffered","preferred"],["preffix","prefix"],["preffixed","prefixed"],["preffixes","prefixes"],["preffixing","prefixing"],["prefices","prefixes"],["preformance","performance"],["preformances","performances"],["pregancies","pregnancies"],["prehaps","perhaps"],["preiod","period"],["preivew","preview"],["preivous","previous"],["prejected","projected"],["prejection","projection"],["prejections","projections"],["preliferation","proliferation"],["prelimitary","preliminary"],["premeire","premiere"],["premeired","premiered"],["premillenial","premillennial"],["preminence","preeminence"],["premission","permission"],["premit","permit"],["premits","permits"],["Premonasterians","Premonstratensians"],["premption","preemption"],["premptive","preemptive"],["premptively","preemptively"],["preocess","process"],["preocupation","preoccupation"],["preoperty","property"],["prepair","prepare"],["prepaired","prepared"],["prepand","prepend"],["preparetion","preparation"],["preparetions","preparations"],["prepartion","preparation"],["prepartions","preparations"],["prepate","prepare"],["prepated","prepared"],["prepates","prepares"],["prepatory","preparatory"],["prependet","prepended"],["prepented","prepended"],["preperation","preparation"],["preperations","preparations"],["preponderence","preponderance"],["preppend","prepend"],["preppended","prepended"],["preppendet","prepended"],["preppented","prepended"],["preprend","prepend"],["preprended","prepended"],["prepresent","represent"],["prepresented","represented"],["prepresents","represents"],["preproces","preprocess"],["preprocesing","preprocessing"],["preprocesor","preprocessor"],["preprocesser","preprocessor"],["preprocessers","preprocessors"],["preprocesssing","preprocessing"],["prequisite","prerequisite"],["prequisites","prerequisites"],["prerequesite","prerequisite"],["prerequesites","prerequisites"],["prerequisit","prerequisite"],["prerequisities","prerequisites"],["prerequisits","prerequisites"],["prerequiste","prerequisite"],["prerequsite","prerequisite"],["prerequsites","prerequisites"],["preriod","period"],["preriodic","periodic"],["prersistent","persistent"],["presance","presence"],["prescripe","prescribe"],["prescriped","prescribed"],["prescrition","prescription"],["prescritions","prescriptions"],["presearvation","preservation"],["presearvations","preservations"],["presearve","preserve"],["presearved","preserved"],["presearver","preserver"],["presearves","preserves"],["presearving","preserving"],["presedential","presidential"],["presenece","presence"],["presener","presenter"],["presense","presence"],["presentaion","presentation"],["presentaional","presentational"],["presentaions","presentations"],["presernt","present"],["preserrved","preserved"],["preserv","preserve"],["presetation","presentation"],["preseve","preserve"],["preseved","preserved"],["preseverance","perseverance"],["preseverence","perseverance"],["preseves","preserves"],["preseving","preserving"],["presicion","precision"],["presidenital","presidential"],["presidental","presidential"],["presist","persist"],["presistable","persistable"],["presistance","persistence"],["presistant","persistent"],["presistantly","persistently"],["presisted","persisted"],["presistence","persistence"],["presistency","persistency"],["presistent","persistent"],["presistently","persistently"],["presisting","persisting"],["presistion","precision"],["presists","persists"],["presitgious","prestigious"],["presmissions","permissions"],["presntation","presentation"],["presntations","presentations"],["prespective","perspective"],["presreved","preserved"],["pressent","present"],["pressentation","presentation"],["pressented","presented"],["pressre","pressure"],["pressue","pressure"],["pressues","pressures"],["prestigeous","prestigious"],["prestigous","prestigious"],["presuambly","presumably"],["presumabely","presumably"],["presumaby","presumably"],["presumebly","presumably"],["presumely","presumably"],["presumibly","presumably"],["pretaining","pertaining"],["pretect","protect"],["pretected","protected"],["pretecting","protecting"],["pretection","protection"],["pretects","protects"],["pretendend","pretended"],["pretty-printter","pretty-printer"],["preveiw","preview"],["preveiwed","previewed"],["preveiwer","previewer"],["preveiwers","previewers"],["preveiws","previews"],["prevelance","prevalence"],["prevelant","prevalent"],["preven","prevent"],["prevend","prevent"],["preverse","perverse"],["preverses","preserves"],["preverve","preserve"],["prevew","preview"],["prevews","previews"],["previewd","previewed"],["previious","previous"],["previlege","privilege"],["previoous","previous"],["previos","previous"],["previosly","previously"],["previosu","previous"],["previosuly","previously"],["previou","previous"],["previouls","previous"],["previoulsy","previously"],["previouly","previously"],["previouse","previous"],["previousl","previously"],["previousy","previously"],["previsou","previous"],["previsouly","previously"],["previuous","previous"],["previus","previous"],["previvous","previous"],["prevoius","previous"],["prevous","previous"],["prevously","previously"],["prewview","preview"],["prexisting","preexisting"],["prexixed","prefixed"],["prfer","prefer"],["prferable","preferable"],["prferables","preferable"],["prference","preference"],["prferred","preferred"],["prgram","program"],["priave","private"],["pricipal","principal"],["priciple","principle"],["priciples","principles"],["pricision","precision"],["priestood","priesthood"],["primaray","primary"],["primarely","primarily"],["primarly","primarily"],["primative","primitive"],["primatively","primitively"],["primatives","primitives"],["primay","primary"],["primeter","perimeter"],["primitave","primitive"],["primitiv","primitive"],["primitve","primitive"],["primitves","primitives"],["primive","primitive"],["primordal","primordial"],["princeple","principle"],["princeples","principles"],["princible","principle"],["principaly","principality"],["principial","principal"],["principlaity","principality"],["principly","principally"],["princliple","principle"],["prind","print"],["prinicipal","principal"],["prining","printing"],["printting","printing"],["prioirties","priorities"],["prioirty","priority"],["prioritiy","priority"],["priorization","prioritization"],["priorizations","prioritizations"],["priorty","priority"],["priot","prior"],["priotise","prioritise"],["priotised","prioritised"],["priotising","prioritising"],["priotities","priorities"],["priotitize","prioritize"],["priotity","priority"],["priotized","prioritized"],["priotizing","prioritizing"],["priots","priors"],["prirority","priority"],["pris","prise"],["priting","printing"],["privalege","privilege"],["privaleges","privileges"],["privaye","private"],["privcy","privacy"],["privde","provide"],["priveledge","privilege"],["priveledged","privileged"],["priveledges","privileges"],["privelege","privilege"],["priveleged","privileged"],["priveleges","privileges"],["privelige","privilege"],["priveliged","privileged"],["priveliges","privileges"],["privelleges","privileges"],["priviate","private"],["privide","provide"],["privided","provided"],["privides","provides"],["prividing","providing"],["priview","preview"],["privilage","privilege"],["privilaged","privileged"],["privilages","privileges"],["priviledge","privilege"],["priviledged","privileged"],["priviledges","privileges"],["privilidge","privilege"],["privilidged","privileged"],["privilidges","privileges"],["privilige","privilege"],["priviliged","privileged"],["priviliges","privileges"],["privious","previous"],["priviously","previously"],["privision","provision"],["privisional","provisional"],["privisions","provisions"],["privledge","privilege"],["privleges","privileges"],["privte","private"],["prject","project"],["prjecting","projecting"],["prjection","projection"],["prjections","projections"],["prjects","projects"],["prmitive","primitive"],["prmitives","primitives"],["prmopting","prompting"],["proable","probable"],["proably","probably"],["probabalistic","probabilistic"],["probabaly","probably"],["probabilaty","probability"],["probabilisitic","probabilistic"],["probabilites","probabilities"],["probabilty","probability"],["probablay","probably"],["probablistic","probabilistic"],["probablities","probabilities"],["probablity","probability"],["probablly","probably"],["probaby","probably"],["probalby","probably"],["probalibity","probability"],["probaly","probably"],["probbably","probably"],["probbailities","probabilities"],["probbaility","probability"],["probbaly","probably"],["probbed","probed"],["probblem","problem"],["probblems","problems"],["probblez","problem"],["probblezs","problems"],["probbly","probably"],["probelm","problem"],["probelmatic","problematic"],["probelms","problems"],["probem","problem"],["proberly","properly"],["problably","probably"],["problaem","problem"],["problaems","problems"],["problamatic","problematic"],["probleme","problem"],["problemes","problems"],["problimatic","problematic"],["problme","problem"],["problmes","problems"],["probly","probably"],["procceed","proceed"],["proccesor","processor"],["proccesors","processors"],["proccess","process"],["proccessed","processed"],["proccesses","processes"],["proccessing","processing"],["proccessor","processor"],["proccessors","processors"],["procecure","procedure"],["procecures","procedures"],["procedger","procedure"],["procedings","proceedings"],["procedre","procedure"],["procedres","procedures"],["proceedes","proceeds"],["proceedure","procedure"],["proceedures","procedures"],["proceeed","proceed"],["proceeeded","proceeded"],["proceeeding","proceeding"],["proceeeds","proceeds"],["proceeedures","procedures"],["procees","process"],["proceesed","processed"],["proceesor","processor"],["procelain","porcelain"],["procelains","porcelains"],["procentual","percentual"],["proces","process"],["procesed","processed"],["proceses","processes"],["proceshandler","processhandler"],["procesing","processing"],["procesor","processor"],["processeed","processed"],["processees","processes"],["processer","processor"],["processess","processes"],["processessing","processing"],["processig","processing"],["processinf","processing"],["processore","processor"],["processpr","processor"],["processsed","processed"],["processses","processes"],["processsing","processing"],["processsors","processors"],["procesure","procedure"],["procesures","procedures"],["procide","provide"],["procided","provided"],["procides","provides"],["proclaimation","proclamation"],["proclamed","proclaimed"],["proclaming","proclaiming"],["proclomation","proclamation"],["procoess","process"],["procoessed","processed"],["procoessing","processing"],["proctect","protect"],["proctected","protected"],["proctecting","protecting"],["proctects","protects"],["procteted","protected"],["procude","produce"],["procuded","produced"],["prodceding","proceeding"],["prodecure","procedure"],["producable","producible"],["producables","producible"],["produciton","production"],["producitons","productions"],["producted","produced"],["productiviy","productivity"],["produkt","product"],["produse","produce"],["prodused","produced"],["produses","produces"],["proedural","procedural"],["proedure","procedure"],["proedures","procedures"],["proejct","project"],["proejcted","projected"],["proejcting","projecting"],["proejction","projection"],["proepr","proper"],["proeprly","properly"],["proeprties","properties"],["proeprty","property"],["proerties","properties"],["proessing","processing"],["profesional","professional"],["profesionally","professionally"],["profesionals","professionals"],["profesor","professor"],["professer","professor"],["proffesed","professed"],["proffesion","profession"],["proffesional","professional"],["proffesor","professor"],["proffessor","professor"],["profie","profile"],["profied","profiled"],["profier","profiler"],["profies","profiles"],["profilic","prolific"],["profirle","profile"],["profirled","profiled"],["profirler","profiler"],["profirles","profiles"],["profissional","professional"],["proflie","profile"],["proflier","profiler"],["proflies","profiles"],["profling","profiling"],["profund","profound"],["profundly","profoundly"],["progagate","propagate"],["progagated","propagated"],["progagates","propagates"],["progagating","propagating"],["progagation","propagation"],["progagations","propagations"],["progagator","propagator"],["progagators","propagators"],["progam","program"],["progamability","programmability"],["progamable","programmable"],["progamatic","programmatic"],["progamatically","programmatically"],["progamed","programmed"],["progamer","programmer"],["progamers","programmers"],["progaming","programming"],["progamm","program"],["progammability","programmability"],["progammable","programmable"],["progammatic","programmatic"],["progammatically","programmatically"],["progammed","programmed"],["progammer","programmer"],["progammers","programmers"],["progamming","programming"],["progamms","programs"],["progams","programs"],["progapate","propagate"],["progapated","propagated"],["progapates","propagates"],["progapating","propagating"],["progapation","propagation"],["progapations","propagations"],["progapator","propagator"],["progapators","propagators"],["progaramm","program"],["progarammability","programmability"],["progarammable","programmable"],["progarammatic","programmatic"],["progarammatically","programmatically"],["progarammed","programmed"],["progarammer","programmer"],["progarammers","programmers"],["progaramming","programming"],["progaramms","programs"],["progarm","program"],["progarmability","programmability"],["progarmable","programmable"],["progarmatic","programmatic"],["progarmatically","programmatically"],["progarmed","programmed"],["progarmer","programmer"],["progarmers","programmers"],["progarming","programming"],["progarms","programs"],["progate","propagate"],["progated","propagated"],["progates","propagates"],["progating","propagating"],["progation","propagation"],["progations","propagations"],["progess","progress"],["progessbar","progressbar"],["progessed","progressed"],["progesses","progresses"],["progessive","progressive"],["progessor","progressor"],["progesss","progress"],["progesssive","progressive"],["progidy","prodigy"],["programable","programmable"],["programatic","programmatic"],["programatically","programmatically"],["programattically","programmatically"],["programd","programmed"],["programemer","programmer"],["programemers","programmers"],["programers","programmers"],["programmaticaly","programmatically"],["programmend","programmed"],["programmetically","programmatically"],["programmical","programmatical"],["programmign","programming"],["programmming","programming"],["programms","programs"],["progreess","progress"],["progres","progress"],["progresively","progressively"],["progresss","progress"],["progrewss","progress"],["progrmae","program"],["progrss","progress"],["prohabition","prohibition"],["prohibitted","prohibited"],["prohibitting","prohibiting"],["prohibt","prohibit"],["prohibted","prohibited"],["prohibting","prohibiting"],["prohibts","prohibits"],["proirity","priority"],["projct's","project's"],["projct","project"],["projction","projection"],["projctions","projections"],["projctor","projector"],["projctors","projectors"],["projcts","projects"],["projectd","projected"],["projectio","projection"],["projecttion","projection"],["projet","project"],["projetction","projection"],["projeted","projected"],["projeting","projecting"],["projets","projects"],["prolbems","problems"],["prolem","problem"],["prolematic","problematic"],["prolems","problems"],["prologomena","prolegomena"],["prominance","prominence"],["prominant","prominent"],["prominantly","prominently"],["promis","promise"],["promiscous","promiscuous"],["promiss","promise"],["promissed","promised"],["promisses","promises"],["promissing","promising"],["promixity","proximity"],["prommpt","prompt"],["prommpts","prompts"],["promotted","promoted"],["promprted","prompted"],["promps","prompts"],["promt","prompt"],["promts","prompts"],["pronnounced","pronounced"],["pronomial","pronominal"],["prononciation","pronunciation"],["pronouce","pronounce"],["pronouced","pronounced"],["pronounched","pronounced"],["pronounciation","pronunciation"],["pronunce","pronounce"],["proocecure","procedure"],["proocecures","procedures"],["proocedure","procedure"],["proocedures","procedures"],["proocess","process"],["proocessed","processed"],["proocesses","processes"],["proocessing","processing"],["proocol","protocol"],["proocols","protocols"],["prooduce","produce"],["prooduced","produced"],["prooduces","produces"],["prooduct","product"],["prooerties","properties"],["prooerty","property"],["prool","pool"],["prooof","proof"],["prooper","proper"],["prooperly","properly"],["prooperties","properties"],["prooperty","property"],["proose","propose"],["proosed","proposed"],["prooses","proposes"],["proove","prove"],["prooved","proved"],["prooven","proven"],["prooves","proves"],["prooving","proving"],["proovread","proofread"],["prooxies","proxies"],["prooxy","proxy"],["propably","probably"],["propage","propagate"],["propatagion","propagation"],["propator","propagator"],["propators","propagators"],["propbably","probably"],["propely","properly"],["propeoperties","properties"],["propereties","properties"],["properety","property"],["properies","properties"],["properites","properties"],["properities","properties"],["properries","properties"],["properrt","property"],["properrys","properties"],["propert","property"],["properteis","properties"],["propertery","property"],["propertion","proportion"],["propertional","proportional"],["propertions","proportions"],["propertise","properties"],["propertu","property"],["propertus","properties"],["propertys","properties"],["propertyst","properties"],["propeties","properties"],["propetry","property"],["propetrys","properties"],["propety","property"],["propetys","properties"],["propgated","propagated"],["prophacy","prophecy"],["propietary","proprietary"],["propietries","proprietaries"],["propietry","proprietary"],["propigate","propagate"],["propigation","propagation"],["proplem","problem"],["propmt","prompt"],["propmted","prompted"],["propmter","prompter"],["propmts","prompts"],["propoagate","propagate"],["propoerties","properties"],["propoerty","property"],["propoganda","propaganda"],["propogate","propagate"],["propogated","propagated"],["propogates","propagates"],["propogating","propagating"],["propogation","propagation"],["proporpotion","proportion"],["proporpotional","proportional"],["proportianal","proportional"],["proporties","properties"],["proportinal","proportional"],["proporty","property"],["propostion","proposition"],["proppely","properly"],["propper","proper"],["propperly","properly"],["propperties","properties"],["propperty","property"],["proprely","properly"],["propreties","properties"],["proprety","property"],["proprietory","proprietary"],["proproable","probable"],["proproably","probably"],["proprocessed","preprocessed"],["proprogate","propagate"],["proprogated","propagated"],["proprogates","propagates"],["proprogating","propagating"],["proprogation","propagation"],["proprogations","propagations"],["proprogator","propagator"],["proprogators","propagators"],["proproties","properties"],["proprotion","proportion"],["proprotional","proportional"],["proprotionally","proportionally"],["proprotions","proportions"],["proprty","property"],["propt","prompt"],["propteries","properties"],["propterties","properties"],["propterty","property"],["propvider","provider"],["prority","priority"],["prorotype","prototype"],["proseletyzing","proselytizing"],["prosess","process"],["prosessor","processor"],["protable","portable"],["protaganist","protagonist"],["protaganists","protagonists"],["protcol","protocol"],["protcols","protocols"],["protcool","protocol"],["protcools","protocols"],["protcted","protected"],["protecion","protection"],["protectiv","protective"],["protedcted","protected"],["protential","potential"],["protext","protect"],["protocal","protocol"],["protocals","protocols"],["protocl","protocol"],["protocls","protocols"],["protoco","protocol"],["protocoll","protocol"],["protocolls","protocols"],["protocos","protocols"],["protoganist","protagonist"],["protoge","protege"],["protol","protocol"],["protols","protocols"],["prototyes","prototypes"],["protoype","prototype"],["protoyped","prototyped"],["protoypes","prototypes"],["protoyping","prototyping"],["protoytpe","prototype"],["protoytpes","prototypes"],["protrait","portrait"],["protraits","portraits"],["protrayed","portrayed"],["protruberance","protuberance"],["protruberances","protuberances"],["prouncements","pronouncements"],["provacative","provocative"],["provded","provided"],["provder","provider"],["provdided","provided"],["provdie","provide"],["provdied","provided"],["provdies","provides"],["provding","providing"],["provences","provinces"],["provicde","provide"],["provicded","provided"],["provicdes","provides"],["provicial","provincial"],["provideres","providers"],["providewd","provided"],["providfers","providers"],["provieded","provided"],["proviedes","provides"],["provinicial","provincial"],["provisioing","provisioning"],["provisiong","provisioning"],["provisionging","provisioning"],["provisiosn","provision"],["provisonal","provisional"],["provive","provide"],["provived","provided"],["provives","provides"],["proviving","providing"],["provode","provide"],["provoded","provided"],["provoder","provider"],["provodes","provides"],["provoding","providing"],["provods","provides"],["provsioning","provisioning"],["proximty","proximity"],["prozess","process"],["prpeparations","preparations"],["prpose","propose"],["prposed","proposed"],["prposer","proposer"],["prposers","proposers"],["prposes","proposes"],["prposiing","proposing"],["prrcision","precision"],["prrottypes","prototypes"],["prset","preset"],["prsets","presets"],["prtinf","printf"],["prufe","proof"],["prviate","private"],["psaswd","passwd"],["pseude","pseudo"],["pseudononymous","pseudonymous"],["pseudonyn","pseudonym"],["pseudopoential","pseudopotential"],["pseudopoentials","pseudopotentials"],["pseudorinverse","pseudoinverse"],["pseuo-palette","pseudo-palette"],["psitoin","position"],["psitoined","positioned"],["psitoins","positions"],["psot","post"],["psots","posts"],["psrameter","parameter"],["pssed","passed"],["pssibility","possibility"],["psudo","pseudo"],["psudoinverse","pseudoinverse"],["psuedo","pseudo"],["psuedo-fork","pseudo-fork"],["psuedoinverse","pseudoinverse"],["psuedolayer","pseudolayer"],["psuh","push"],["psychadelic","psychedelic"],["psycology","psychology"],["psyhic","psychic"],["ptd","pdf"],["ptherad","pthread"],["ptherads","pthreads"],["pthon","python"],["pthred","pthread"],["pthreds","pthreads"],["ptorions","portions"],["ptrss","press"],["pubilsh","publish"],["pubilshed","published"],["pubilsher","publisher"],["pubilshers","publishers"],["pubilshing","publishing"],["pubish","publish"],["pubished","published"],["pubisher","publisher"],["pubishers","publishers"],["pubishing","publishing"],["publcation","publication"],["publcise","publicise"],["publcize","publicize"],["publiaher","publisher"],["publically","publicly"],["publicaly","publicly"],["publiched","published"],["publicher","publisher"],["publichers","publishers"],["publiches","publishes"],["publiching","publishing"],["publihsed","published"],["publihser","publisher"],["publised","published"],["publisehd","published"],["publisehr","publisher"],["publisehrs","publishers"],["publiser","publisher"],["publisers","publishers"],["publisged","published"],["publisger","publisher"],["publisgers","publishers"],["publishd","published"],["publisheed","published"],["publisherr","publisher"],["publishher","publisher"],["publishor","publisher"],["publishr","publisher"],["publishre","publisher"],["publishrs","publishers"],["publissher","publisher"],["publlisher","publisher"],["publsh","publish"],["publshed","published"],["publsher","publisher"],["publshers","publishers"],["publshing","publishing"],["publsih","publish"],["publsihed","published"],["publsiher","publisher"],["publsihers","publishers"],["publsihes","publishes"],["publsihing","publishing"],["publuc","public"],["publucation","publication"],["publush","publish"],["publusher","publisher"],["publushers","publishers"],["publushes","publishes"],["publushing","publishing"],["puchasing","purchasing"],["Pucini","Puccini"],["Puertorrican","Puerto Rican"],["Puertorricans","Puerto Ricans"],["pulisher","publisher"],["pullrequest","pull request"],["pullrequests","pull requests"],["pumkin","pumpkin"],["punctation","punctuation"],["puplar","popular"],["puplarity","popularity"],["puplate","populate"],["puplated","populated"],["puplates","populates"],["puplating","populating"],["puplation","population"],["puplisher","publisher"],["pupose","purpose"],["puposes","purposes"],["pupulated","populated"],["purcahed","purchased"],["purcahse","purchase"],["purgest","purges"],["puritannical","puritanical"],["purposedly","purposely"],["purpotedly","purportedly"],["purpse","purpose"],["pursuade","persuade"],["pursuaded","persuaded"],["pursuades","persuades"],["pusehd","pushed"],["pususading","persuading"],["puting","putting"],["putpose","purpose"],["putposed","purposed"],["putposes","purposes"],["pwoer","power"],["pxoxied","proxied"],["pxoxies","proxies"],["pxoxy","proxy"],["pyhon","python"],["pyhsical","physical"],["pyhsically","physically"],["pyhsicals","physicals"],["pyhsicaly","physically"],["pyhthon","python"],["pyhton","python"],["pyramide","pyramid"],["pyramides","pyramids"],["pyrhon","python"],["pyscic","psychic"],["pythin","python"],["pythjon","python"],["pytnon","python"],["pytohn","python"],["pyton","python"],["pytyon","python"],["qest","quest"],["qests","quests"],["qeuest","quest"],["qeuests","quests"],["qeueue","queue"],["qeust","quest"],["qeusts","quests"],["qiest","quest"],["qiests","quests"],["qith","with"],["qoute","quote"],["qouted","quoted"],["qoutes","quotes"],["qouting","quoting"],["quadddec","quaddec"],["quadranle","quadrangle"],["quailified","qualified"],["qualfied","qualified"],["qualfy","qualify"],["qualifer","qualifier"],["qualitification","qualification"],["qualitifications","qualifications"],["quanitified","quantified"],["quantaties","quantities"],["quantaty","quantity"],["quantitites","quantities"],["quantititive","quantitative"],["quantitity","quantity"],["quantitiy","quantity"],["quarantaine","quarantine"],["quarentine","quarantine"],["quartenion","quaternion"],["quartenions","quaternions"],["quartically","quadratically"],["quatation","quotation"],["quater","quarter"],["quation","equation"],["quations","equations"],["quckstarter","quickstarter"],["qudrangles","quadrangles"],["quee","queue"],["Queenland","Queensland"],["queing","queueing"],["queiried","queried"],["queisce","quiesce"],["queriable","queryable"],["quering","querying"],["querries","queries"],["queryies","queries"],["queryinterace","queryinterface"],["querys","queries"],["queset","quest"],["quesets","quests"],["quesiton","question"],["quesitonable","questionable"],["quesitons","questions"],["quesr","quest"],["quesrs","quests"],["questionaire","questionnaire"],["questionnair","questionnaire"],["questoin","question"],["questoins","questions"],["questonable","questionable"],["queu","queue"],["queueud","queued"],["queus","queues"],["quew","queue"],["quickier","quicker"],["quicklyu","quickly"],["quickyl","quickly"],["quicly","quickly"],["quiessent","quiescent"],["quiests","quests"],["quikc","quick"],["quinessential","quintessential"],["quiting","quitting"],["quitt","quit"],["quitted","quit"],["quizes","quizzes"],["quotaion","quotation"],["quoteed","quoted"],["quottes","quotes"],["quried","queried"],["quroum","quorum"],["qust","quest"],["qusts","quests"],["rabinnical","rabbinical"],["racaus","raucous"],["ractise","practise"],["radation","radiation"],["radiactive","radioactive"],["radiaton","radiation"],["radify","ratify"],["radiobuttion","radiobutton"],["radis","radix"],["rady","ready"],["raed","read"],["raeding","reading"],["raeds","reads"],["raedy","ready"],["raelly","really"],["raisedd","raised"],["ralation","relation"],["randmom","random"],["randomally","randomly"],["raoming","roaming"],["raotat","rotate"],["raotate","rotate"],["raotated","rotated"],["raotates","rotates"],["raotating","rotating"],["raotation","rotation"],["raotations","rotations"],["raotats","rotates"],["raplace","replace"],["raplacing","replacing"],["rapresent","represent"],["rapresentation","representation"],["rapresented","represented"],["rapresenting","representing"],["rapresents","represents"],["rapsberry","raspberry"],["rarelly","rarely"],["rarified","rarefied"],["rasberry","raspberry"],["rasie","raise"],["rasied","raised"],["rasies","raises"],["rasiing","raising"],["rasing","raising"],["rasons","reasons"],["raspbery","raspberry"],["raspoberry","raspberry"],["rathar","rather"],["rathern","rather"],["rcall","recall"],["rceate","create"],["rceating","creating"],["rduce","reduce"],["re-attachement","re-attachment"],["re-defiend","re-defined"],["re-engeneer","re-engineer"],["re-engeneering","re-engineering"],["re-evaulated","re-evaluated"],["re-impliment","re-implement"],["re-implimenting","re-implementing"],["re-negatiotiable","re-negotiable"],["re-negatiotiate","re-negotiate"],["re-negatiotiated","re-negotiated"],["re-negatiotiates","re-negotiates"],["re-negatiotiating","re-negotiating"],["re-negatiotiation","re-negotiation"],["re-negatiotiations","re-negotiations"],["re-negatiotiator","re-negotiator"],["re-negatiotiators","re-negotiators"],["re-negoable","re-negotiable"],["re-negoate","re-negotiate"],["re-negoated","re-negotiated"],["re-negoates","re-negotiates"],["re-negoatiable","re-negotiable"],["re-negoatiate","re-negotiate"],["re-negoatiated","re-negotiated"],["re-negoatiates","re-negotiates"],["re-negoatiating","re-negotiating"],["re-negoatiation","re-negotiation"],["re-negoatiations","re-negotiations"],["re-negoatiator","re-negotiator"],["re-negoatiators","re-negotiators"],["re-negoating","re-negotiating"],["re-negoation","re-negotiation"],["re-negoations","re-negotiations"],["re-negoator","re-negotiator"],["re-negoators","re-negotiators"],["re-negociable","re-negotiable"],["re-negociate","re-negotiate"],["re-negociated","re-negotiated"],["re-negociates","re-negotiates"],["re-negociating","re-negotiating"],["re-negociation","re-negotiation"],["re-negociations","re-negotiations"],["re-negociator","re-negotiator"],["re-negociators","re-negotiators"],["re-negogtiable","re-negotiable"],["re-negogtiate","re-negotiate"],["re-negogtiated","re-negotiated"],["re-negogtiates","re-negotiates"],["re-negogtiating","re-negotiating"],["re-negogtiation","re-negotiation"],["re-negogtiations","re-negotiations"],["re-negogtiator","re-negotiator"],["re-negogtiators","re-negotiators"],["re-negoitable","re-negotiable"],["re-negoitate","re-negotiate"],["re-negoitated","re-negotiated"],["re-negoitates","re-negotiates"],["re-negoitating","re-negotiating"],["re-negoitation","re-negotiation"],["re-negoitations","re-negotiations"],["re-negoitator","re-negotiator"],["re-negoitators","re-negotiators"],["re-negoptionsotiable","re-negotiable"],["re-negoptionsotiate","re-negotiate"],["re-negoptionsotiated","re-negotiated"],["re-negoptionsotiates","re-negotiates"],["re-negoptionsotiating","re-negotiating"],["re-negoptionsotiation","re-negotiation"],["re-negoptionsotiations","re-negotiations"],["re-negoptionsotiator","re-negotiator"],["re-negoptionsotiators","re-negotiators"],["re-negosiable","re-negotiable"],["re-negosiate","re-negotiate"],["re-negosiated","re-negotiated"],["re-negosiates","re-negotiates"],["re-negosiating","re-negotiating"],["re-negosiation","re-negotiation"],["re-negosiations","re-negotiations"],["re-negosiator","re-negotiator"],["re-negosiators","re-negotiators"],["re-negotable","re-negotiable"],["re-negotaiable","re-negotiable"],["re-negotaiate","re-negotiate"],["re-negotaiated","re-negotiated"],["re-negotaiates","re-negotiates"],["re-negotaiating","re-negotiating"],["re-negotaiation","re-negotiation"],["re-negotaiations","re-negotiations"],["re-negotaiator","re-negotiator"],["re-negotaiators","re-negotiators"],["re-negotaible","re-negotiable"],["re-negotaite","re-negotiate"],["re-negotaited","re-negotiated"],["re-negotaites","re-negotiates"],["re-negotaiting","re-negotiating"],["re-negotaition","re-negotiation"],["re-negotaitions","re-negotiations"],["re-negotaitor","re-negotiator"],["re-negotaitors","re-negotiators"],["re-negotate","re-negotiate"],["re-negotated","re-negotiated"],["re-negotates","re-negotiates"],["re-negotatiable","re-negotiable"],["re-negotatiate","re-negotiate"],["re-negotatiated","re-negotiated"],["re-negotatiates","re-negotiates"],["re-negotatiating","re-negotiating"],["re-negotatiation","re-negotiation"],["re-negotatiations","re-negotiations"],["re-negotatiator","re-negotiator"],["re-negotatiators","re-negotiators"],["re-negotatible","re-negotiable"],["re-negotatie","re-negotiate"],["re-negotatied","re-negotiated"],["re-negotaties","re-negotiates"],["re-negotating","re-negotiating"],["re-negotation","re-negotiation"],["re-negotations","re-negotiations"],["re-negotatior","re-negotiator"],["re-negotatiors","re-negotiators"],["re-negotator","re-negotiator"],["re-negotators","re-negotiators"],["re-negothiable","re-negotiable"],["re-negothiate","re-negotiate"],["re-negothiated","re-negotiated"],["re-negothiates","re-negotiates"],["re-negothiating","re-negotiating"],["re-negothiation","re-negotiation"],["re-negothiations","re-negotiations"],["re-negothiator","re-negotiator"],["re-negothiators","re-negotiators"],["re-negotible","re-negotiable"],["re-negoticable","re-negotiable"],["re-negoticate","re-negotiate"],["re-negoticated","re-negotiated"],["re-negoticates","re-negotiates"],["re-negoticating","re-negotiating"],["re-negotication","re-negotiation"],["re-negotications","re-negotiations"],["re-negoticator","re-negotiator"],["re-negoticators","re-negotiators"],["re-negotioable","re-negotiable"],["re-negotioate","re-negotiate"],["re-negotioated","re-negotiated"],["re-negotioates","re-negotiates"],["re-negotioating","re-negotiating"],["re-negotioation","re-negotiation"],["re-negotioations","re-negotiations"],["re-negotioator","re-negotiator"],["re-negotioators","re-negotiators"],["re-negotioble","re-negotiable"],["re-negotion","re-negotiation"],["re-negotionable","re-negotiable"],["re-negotionate","re-negotiate"],["re-negotionated","re-negotiated"],["re-negotionates","re-negotiates"],["re-negotionating","re-negotiating"],["re-negotionation","re-negotiation"],["re-negotionations","re-negotiations"],["re-negotionator","re-negotiator"],["re-negotionators","re-negotiators"],["re-negotions","re-negotiations"],["re-negotiotable","re-negotiable"],["re-negotiotate","re-negotiate"],["re-negotiotated","re-negotiated"],["re-negotiotates","re-negotiates"],["re-negotiotating","re-negotiating"],["re-negotiotation","re-negotiation"],["re-negotiotations","re-negotiations"],["re-negotiotator","re-negotiator"],["re-negotiotators","re-negotiators"],["re-negotiote","re-negotiate"],["re-negotioted","re-negotiated"],["re-negotiotes","re-negotiates"],["re-negotioting","re-negotiating"],["re-negotiotion","re-negotiation"],["re-negotiotions","re-negotiations"],["re-negotiotor","re-negotiator"],["re-negotiotors","re-negotiators"],["re-negotitable","re-negotiable"],["re-negotitae","re-negotiate"],["re-negotitaed","re-negotiated"],["re-negotitaes","re-negotiates"],["re-negotitaing","re-negotiating"],["re-negotitaion","re-negotiation"],["re-negotitaions","re-negotiations"],["re-negotitaor","re-negotiator"],["re-negotitaors","re-negotiators"],["re-negotitate","re-negotiate"],["re-negotitated","re-negotiated"],["re-negotitates","re-negotiates"],["re-negotitating","re-negotiating"],["re-negotitation","re-negotiation"],["re-negotitations","re-negotiations"],["re-negotitator","re-negotiator"],["re-negotitators","re-negotiators"],["re-negotite","re-negotiate"],["re-negotited","re-negotiated"],["re-negotites","re-negotiates"],["re-negotiting","re-negotiating"],["re-negotition","re-negotiation"],["re-negotitions","re-negotiations"],["re-negotitor","re-negotiator"],["re-negotitors","re-negotiators"],["re-negoziable","re-negotiable"],["re-negoziate","re-negotiate"],["re-negoziated","re-negotiated"],["re-negoziates","re-negotiates"],["re-negoziating","re-negotiating"],["re-negoziation","re-negotiation"],["re-negoziations","re-negotiations"],["re-negoziator","re-negotiator"],["re-negoziators","re-negotiators"],["re-realease","re-release"],["re-uplad","re-upload"],["re-upladed","re-uploaded"],["re-uplader","re-uploader"],["re-upladers","re-uploaders"],["re-uplading","re-uploading"],["re-uplads","re-uploads"],["re-uplaod","re-upload"],["re-uplaoded","re-uploaded"],["re-uplaoder","re-uploader"],["re-uplaoders","re-uploaders"],["re-uplaoding","re-uploading"],["re-uplaods","re-uploads"],["re-uplod","re-upload"],["re-uploded","re-uploaded"],["re-uploder","re-uploader"],["re-uploders","re-uploaders"],["re-uploding","re-uploading"],["re-uplods","re-uploads"],["reaaly","really"],["reaarange","rearrange"],["reaaranges","rearranges"],["reaasigned","reassigned"],["reacahable","reachable"],["reacahble","reachable"],["reaccurring","recurring"],["reaceive","receive"],["reacheable","reachable"],["reachers","readers"],["reachs","reaches"],["reacing","reaching"],["reacll","recall"],["reactquire","reacquire"],["readabilty","readability"],["readanle","readable"],["readapted","re-adapted"],["readble","readable"],["readdrss","readdress"],["readdrssed","readdressed"],["readdrsses","readdresses"],["readdrssing","readdressing"],["readeable","readable"],["reademe","README"],["readiable","readable"],["readibility","readability"],["readible","readable"],["readig","reading"],["readigs","readings"],["readius","radius"],["readl-only","read-only"],["readmition","readmission"],["readnig","reading"],["readning","reading"],["readyness","readiness"],["reaeched","reached"],["reagrding","regarding"],["reaktivate","reactivate"],["reaktivated","reactivated"],["realease","release"],["realeased","released"],["realeases","releases"],["realiable","reliable"],["realitime","realtime"],["realitvely","relatively"],["realiy","really"],["realiztion","realization"],["realiztions","realizations"],["realling","really"],["reallize","realize"],["reallllly","really"],["reallocae","reallocate"],["reallocaes","reallocates"],["reallocaiing","reallocating"],["reallocaing","reallocating"],["reallocaion","reallocation"],["reallocaions","reallocations"],["reallocaite","reallocate"],["reallocaites","reallocates"],["reallocaiting","reallocating"],["reallocaition","reallocation"],["reallocaitions","reallocations"],["reallocaiton","reallocation"],["reallocaitons","reallocations"],["realsitic","realistic"],["realted","related"],["realyl","really"],["reamde","README"],["reamins","remains"],["reander","render"],["reanme","rename"],["reanmed","renamed"],["reanmes","renames"],["reanming","renaming"],["reaon","reason"],["reaons","reasons"],["reapeat","repeat"],["reapeated","repeated"],["reapeater","repeater"],["reapeating","repeating"],["reapeats","repeats"],["reappeares","reappears"],["reapper","reappear"],["reappered","reappeared"],["reappering","reappearing"],["rearely","rarely"],["rearranable","rearrangeable"],["rearrane","rearrange"],["rearraned","rearranged"],["rearranement","rearrangement"],["rearranements","rearrangements"],["rearranent","rearrangement"],["rearranents","rearrangements"],["rearranes","rearranges"],["rearrang","rearrange"],["rearrangable","rearrangeable"],["rearrangaeble","rearrangeable"],["rearrangaelbe","rearrangeable"],["rearrangd","rearranged"],["rearrangde","rearranged"],["rearrangent","rearrangement"],["rearrangents","rearrangements"],["rearrangmeent","rearrangement"],["rearrangmeents","rearrangements"],["rearrangmenet","rearrangement"],["rearrangmenets","rearrangements"],["rearrangment","rearrangement"],["rearrangments","rearrangements"],["rearrangnig","rearranging"],["rearrangning","rearranging"],["rearrangs","rearranges"],["rearrangse","rearranges"],["rearrangt","rearrangement"],["rearrangte","rearrange"],["rearrangteable","rearrangeable"],["rearrangteables","rearrangeables"],["rearrangted","rearranged"],["rearrangtement","rearrangement"],["rearrangtements","rearrangements"],["rearrangtes","rearranges"],["rearrangting","rearranging"],["rearrangts","rearrangements"],["rearraning","rearranging"],["rearranment","rearrangement"],["rearranments","rearrangements"],["rearrant","rearrangement"],["rearrants","rearrangements"],["reasearch","research"],["reasearcher","researcher"],["reasearchers","researchers"],["reasnable","reasonable"],["reasoable","reasonable"],["reasonabily","reasonably"],["reasonble","reasonable"],["reasonbly","reasonably"],["reasonnable","reasonable"],["reasonnably","reasonably"],["reassinging","reassigning"],["reassocition","reassociation"],["reasssign","reassign"],["reatime","realtime"],["reattachement","reattachment"],["rebiulding","rebuilding"],["rebllions","rebellions"],["reboto","reboot"],["rebounce","rebound"],["rebuilded","rebuilt"],["rebuillt","rebuilt"],["rebuils","rebuilds"],["rebuit","rebuilt"],["rebuld","rebuild"],["rebulding","rebuilding"],["rebulds","rebuilds"],["rebulid","rebuild"],["rebuliding","rebuilding"],["rebulids","rebuilds"],["rebulit","rebuilt"],["recahed","reached"],["recal","recall"],["recalcualte","recalculate"],["recalcualted","recalculated"],["recalcualter","re-calculator"],["recalcualtes","recalculates"],["recalcualting","recalculating"],["recalcualtion","recalculation"],["recalcualtions","recalculations"],["recalcuate","recalculate"],["recalcuated","recalculated"],["recalcuates","recalculates"],["recalcuations","recalculations"],["recalculaion","recalculation"],["recalculatble","re-calculable"],["recalcution","recalculation"],["recalulate","recalculate"],["recalulation","recalculation"],["recangle","rectangle"],["recangles","rectangles"],["reccomend","recommend"],["reccomendations","recommendations"],["reccomended","recommended"],["reccomending","recommending"],["reccommend","recommend"],["reccommendation","recommendation"],["reccommendations","recommendations"],["reccommended","recommended"],["reccommending","recommending"],["reccommends","recommends"],["recconecct","reconnect"],["recconeccted","reconnected"],["recconeccting","reconnecting"],["recconecction","reconnection"],["recconecctions","reconnections"],["recconeccts","reconnects"],["recconect","reconnect"],["recconected","reconnected"],["recconecting","reconnecting"],["recconection","reconnection"],["recconections","reconnections"],["recconects","reconnects"],["recconeect","reconnect"],["recconeected","reconnected"],["recconeecting","reconnecting"],["recconeection","reconnection"],["recconeections","reconnections"],["recconeects","reconnects"],["recconenct","reconnect"],["recconencted","reconnected"],["recconencting","reconnecting"],["recconenction","reconnection"],["recconenctions","reconnections"],["recconencts","reconnects"],["recconet","reconnect"],["recconeted","reconnected"],["recconeting","reconnecting"],["recconetion","reconnection"],["recconetions","reconnections"],["recconets","reconnects"],["reccord","record"],["reccorded","recorded"],["reccording","recording"],["reccords","records"],["reccuring","recurring"],["reccursive","recursive"],["reccursively","recursively"],["receeded","receded"],["receeding","receding"],["receied","received"],["receieve","receive"],["receieved","received"],["receieves","receives"],["receieving","receiving"],["receipient","recipient"],["receipients","recipients"],["receiption","reception"],["receiv","receive"],["receivd","received"],["receivedfrom","received from"],["receiveing","receiving"],["receiviing","receiving"],["receivs","receives"],["recenet","recent"],["recenlty","recently"],["recenly","recently"],["recenty","recently"],["recepient","recipient"],["recepients","recipients"],["recepion","reception"],["receve","receive"],["receved","received"],["receves","receives"],["recevie","receive"],["recevied","received"],["recevier","receiver"],["recevies","receives"],["receving","receiving"],["rechable","reachable"],["rechargable","rechargeable"],["recheability","reachability"],["reched","reached"],["rechek","recheck"],["recide","reside"],["recided","resided"],["recident","resident"],["recidents","residents"],["reciding","residing"],["reciepents","recipients"],["reciept","receipt"],["recieve","receive"],["recieved","received"],["reciever","receiver"],["recievers","receivers"],["recieves","receives"],["recieving","receiving"],["recievs","receives"],["recipiant","recipient"],["recipiants","recipients"],["recipie","recipe"],["recipies","recipes"],["reciprocoal","reciprocal"],["reciprocoals","reciprocals"],["recive","receive"],["recived","received"],["reciver","receiver"],["recivers","receivers"],["recivership","receivership"],["recives","receives"],["reciving","receiving"],["reclaimation","reclamation"],["recntly","recently"],["recod","record"],["recofig","reconfig"],["recoginizing-","recognizing"],["recogise","recognise"],["recogize","recognize"],["recogized","recognized"],["recogizes","recognizes"],["recogizing","recognizing"],["recogniced","recognised"],["recogninse","recognise"],["recognizeable","recognizable"],["recognzied","recognized"],["recomend","recommend"],["recomendation","recommendation"],["recomendations","recommendations"],["recomendatoin","recommendation"],["recomendatoins","recommendations"],["recomended","recommended"],["recomending","recommending"],["recomends","recommends"],["recommad","recommend"],["recommaded","recommended"],["recommand","recommend"],["recommandation","recommendation"],["recommanded","recommended"],["recommanding","recommending"],["recommands","recommends"],["recommd","recommend"],["recommdation","recommendation"],["recommded","recommended"],["recommdend","recommend"],["recommdended","recommended"],["recommdends","recommends"],["recommds","recommends"],["recommed","recommend"],["recommedation","recommendation"],["recommedations","recommendations"],["recommeded","recommended"],["recommeding","recommending"],["recommeds","recommends"],["recommened","recommended"],["recommeneded","recommended"],["recommented","recommended"],["recommmend","recommend"],["recommmended","recommended"],["recommmends","recommends"],["recommnd","recommend"],["recommnded","recommended"],["recommnds","recommends"],["recommned","recommend"],["recommneded","recommended"],["recommneds","recommends"],["recommpile","recompile"],["recommpiled","recompiled"],["recompence","recompense"],["recomput","recompute"],["recomputaion","recomputation"],["recompuute","recompute"],["recompuuted","recomputed"],["recompuutes","recomputes"],["recompuuting","recomputing"],["reconaissance","reconnaissance"],["reconcilation","reconciliation"],["recondifure","reconfigure"],["reconecct","reconnect"],["reconeccted","reconnected"],["reconeccting","reconnecting"],["reconecction","reconnection"],["reconecctions","reconnections"],["reconeccts","reconnects"],["reconect","reconnect"],["reconected","reconnected"],["reconecting","reconnecting"],["reconection","reconnection"],["reconections","reconnections"],["reconects","reconnects"],["reconeect","reconnect"],["reconeected","reconnected"],["reconeecting","reconnecting"],["reconeection","reconnection"],["reconeections","reconnections"],["reconeects","reconnects"],["reconenct","reconnect"],["reconencted","reconnected"],["reconencting","reconnecting"],["reconenction","reconnection"],["reconenctions","reconnections"],["reconencts","reconnects"],["reconet","reconnect"],["reconeted","reconnected"],["reconeting","reconnecting"],["reconetion","reconnection"],["reconetions","reconnections"],["reconets","reconnects"],["reconfifure","reconfigure"],["reconfiged","reconfigured"],["reconfugire","reconfigure"],["reconfugre","reconfigure"],["reconfugure","reconfigure"],["reconfure","reconfigure"],["recongifure","reconfigure"],["recongize","recognize"],["recongized","recognized"],["recongnises","recognises"],["recongnizes","recognizes"],["reconize","recognize"],["reconized","recognized"],["reconnaisance","reconnaissance"],["reconnaissence","reconnaissance"],["reconnct","reconnect"],["reconncted","reconnected"],["reconncting","reconnecting"],["reconncts","reconnects"],["reconsidder","reconsider"],["reconstrcut","reconstruct"],["reconstrcuted","reconstructed"],["reconstrcution","reconstruction"],["reconstuct","reconstruct"],["reconstucted","reconstructed"],["reconstucting","reconstructing"],["reconstucts","reconstructs"],["reconsturction","reconstruction"],["recontruct","reconstruct"],["recontructed","reconstructed"],["recontructing","reconstructing"],["recontruction","reconstruction"],["recontructions","reconstructions"],["recontructor","reconstructor"],["recontructors","reconstructors"],["recontructs","reconstructs"],["recordproducer","record producer"],["recordss","records"],["recored","recorded"],["recoriding","recording"],["recourced","resourced"],["recources","resources"],["recourcing","resourcing"],["recpie","recipe"],["recpies","recipes"],["recquired","required"],["recrational","recreational"],["recreateation","recreation"],["recrod","record"],["recrods","records"],["recrusevly","recursively"],["recrusion","recursion"],["recrusive","recursive"],["recrusivelly","recursively"],["recrusively","recursively"],["rectange","rectangle"],["rectanges","rectangles"],["rectanglar","rectangular"],["rectangluar","rectangular"],["rectiinear","rectilinear"],["recude","reduce"],["recuiting","recruiting"],["reculrively","recursively"],["recuring","recurring"],["recurisvely","recursively"],["recurively","recursively"],["recurrance","recurrence"],["recursily","recursively"],["recursivelly","recursively"],["recursivion","recursion"],["recursivley","recursively"],["recursivly","recursively"],["recurssed","recursed"],["recursses","recurses"],["recurssing","recursing"],["recurssion","recursion"],["recurssive","recursive"],["recusrive","recursive"],["recusrively","recursively"],["recusrsive","recursive"],["recustion","recursion"],["recyclying","recycling"],["recylcing","recycling"],["recyle","recycle"],["recyled","recycled"],["recyles","recycles"],["recyling","recycling"],["redability","readability"],["redandant","redundant"],["redeable","readable"],["redeclaation","redeclaration"],["redefiend","redefined"],["redefiende","redefined"],["redefintion","redefinition"],["redefintions","redefinitions"],["redenderer","renderer"],["redered","rendered"],["redict","redirect"],["rediculous","ridiculous"],["redidual","residual"],["redifine","redefine"],["redifinition","redefinition"],["redifinitions","redefinitions"],["redifintion","redefinition"],["redifintions","redefinitions"],["reding","reading"],["redings","readings"],["redircet","redirect"],["redirectd","redirected"],["redirectrion","redirection"],["redisign","redesign"],["redistirbute","redistribute"],["redistirbuted","redistributed"],["redistirbutes","redistributes"],["redistirbuting","redistributing"],["redistirbution","redistribution"],["redistributeable","redistributable"],["redistrubute","redistribute"],["redistrubuted","redistributed"],["redistrubution","redistribution"],["redistrubutions","redistributions"],["redliens","redlines"],["rednerer","renderer"],["redonly","readonly"],["redudancy","redundancy"],["redudant","redundant"],["redunancy","redundancy"],["redunant","redundant"],["redundacy","redundancy"],["redundand","redundant"],["redundat","redundant"],["redundency","redundancy"],["redundent","redundant"],["reduntancy","redundancy"],["reduntant","redundant"],["reease","release"],["reeased","released"],["reeaser","releaser"],["reeasers","releasers"],["reeases","releases"],["reeasing","releasing"],["reedeming","redeeming"],["reegion","region"],["reegions","regions"],["reelation","relation"],["reelease","release"],["reenable","re-enable"],["reenabled","re-enabled"],["reename","rename"],["reencode","re-encode"],["reenfoce","reinforce"],["reenfoced","reinforced"],["reenforced","reinforced"],["reesrved","reserved"],["reesult","result"],["reeturn","return"],["reeturned","returned"],["reeturning","returning"],["reeturns","returns"],["reevalute","reevaluate"],["reevaulating","reevaluating"],["refcound","refcount"],["refcounf","refcount"],["refect","reflect"],["refected","reflected"],["refecting","reflecting"],["refectiv","reflective"],["refector","refactor"],["refectoring","refactoring"],["refects","reflects"],["refedendum","referendum"],["refeinement","refinement"],["refeinements","refinements"],["refelects","reflects"],["refence","reference"],["refences","references"],["refenence","reference"],["refenrenced","referenced"],["referal","referral"],["referance","reference"],["referanced","referenced"],["referances","references"],["referant","referent"],["referebces","references"],["referece","reference"],["referecence","reference"],["referecences","references"],["refereces","references"],["referecne","reference"],["refered","referred"],["referefences","references"],["referemce","reference"],["referemces","references"],["referenace","reference"],["referenc","reference"],["referencable","referenceable"],["referencial","referential"],["referencially","referentially"],["referencs","references"],["referenct","referenced"],["referene","reference"],["referenece","reference"],["refereneced","referenced"],["refereneces","references"],["referened","referenced"],["referenence","reference"],["referenenced","referenced"],["referenences","references"],["referenes","references"],["referennces","references"],["referense","reference"],["referensed","referenced"],["referenses","references"],["referenz","reference"],["referenzes","references"],["refererd","referred"],["refererence","reference"],["referiang","referring"],["refering","referring"],["refernce","reference"],["refernced","referenced"],["referncence","reference"],["referncences","references"],["refernces","references"],["referncial","referential"],["referncing","referencing"],["refernece","reference"],["referneced","referenced"],["referneces","references"],["refernnce","reference"],["referr","refer"],["referrence","reference"],["referrenced","referenced"],["referrences","references"],["referrencing","referencing"],["referreres","referrers"],["referres","refers"],["referrs","refers"],["refertence","reference"],["refertenced","referenced"],["refertences","references"],["refesh","refresh"],["refeshed","refreshed"],["refeshes","refreshes"],["refeshing","refreshing"],["reffered","referred"],["refference","reference"],["reffering","referring"],["refferr","refer"],["reffers","refers"],["refinemenet","refinement"],["refinmenet","refinement"],["refinment","refinement"],["reflet","reflect"],["refleted","reflected"],["refleting","reflecting"],["refletion","reflection"],["refletions","reflections"],["reflets","reflects"],["refocuss","refocus"],["refocussed","refocused"],["reformating","reformatting"],["reformattd","reformatted"],["refreh","refresh"],["refrence","reference"],["refrenced","referenced"],["refrences","references"],["refrencing","referencing"],["refrerence","reference"],["refrerenced","referenced"],["refrerenceing","referencing"],["refrerences","references"],["refrerencial","referential"],["refrers","refers"],["refreshs","refreshes"],["refreshses","refreshes"],["refridgeration","refrigeration"],["refridgerator","refrigerator"],["refromatting","refomatting"],["refromist","reformist"],["refrormatting","reformatting"],["refure","refuse"],["refures","refuses"],["refusla","refusal"],["regalar","regular"],["regalars","regulars"],["regardes","regards"],["regardles","regardless"],["regardlesss","regardless"],["regaring","regarding"],["regarldess","regardless"],["regarless","regardless"],["regart","regard"],["regarted","regarded"],["regarting","regarding"],["regartless","regardless"],["regconized","recognized"],["regeister","register"],["regeistered","registered"],["regeistration","registration"],["regenarated","regenerated"],["regenrated","regenerated"],["regenratet","regenerated"],["regenrating","regenerating"],["regenration","regeneration"],["regenrative","regenerative"],["regession","regression"],["regestered","registered"],["regidstered","registered"],["regio","region"],["regiser","register"],["regisration","registration"],["regist","register"],["registartion","registration"],["registe","register"],["registed","registered"],["registeing","registering"],["registeration","registration"],["registerered","registered"],["registeres","registers"],["registeresd","registered"],["registerred","registered"],["registert","registered"],["registery","registry"],["registes","registers"],["registing","registering"],["registors","registers"],["registrain","registration"],["registraion","registration"],["registraions","registrations"],["registraration","registration"],["registrated","registered"],["registred","registered"],["registrer","register"],["registring","registering"],["registrs","registers"],["registy","registry"],["regiter","register"],["regitered","registered"],["regitering","registering"],["regiters","registers"],["regluar","regular"],["regon","region"],["regons","regions"],["regorded","recorded"],["regresion","regression"],["regresison","regression"],["regresssion","regression"],["regrigerator","refrigerator"],["regsion","region"],["regsions","regions"],["regsiter","register"],["regsitered","registered"],["regsitering","registering"],["regsiters","registers"],["regsitry","registry"],["regster","register"],["regstered","registered"],["regstering","registering"],["regsters","registers"],["regstry","registry"],["regualar","regular"],["regualarly","regularly"],["regualator","regulator"],["regualr","regular"],["regualtor","regulator"],["reguardless","regardless"],["reguarldess","regardless"],["reguarlise","regularise"],["reguarliser","regulariser"],["reguarlize","regularize"],["reguarlizer","regularizer"],["reguarly","regularly"],["reguator","regulator"],["reguire","require"],["reguired","required"],["reguirement","requirement"],["reguirements","requirements"],["reguires","requires"],["reguiring","requiring"],["regulaer","regular"],["regulaion","regulation"],["regulamentation","regulation"],["regulamentations","regulations"],["regulaotrs","regulators"],["regulaotry","regulatory"],["regularily","regularly"],["regulariry","regularly"],["regularlisation","regularisation"],["regularlise","regularise"],["regularlised","regularised"],["regularliser","regulariser"],["regularlises","regularises"],["regularlising","regularising"],["regularlization","regularization"],["regularlize","regularize"],["regularlized","regularized"],["regularlizer","regularizer"],["regularlizes","regularizes"],["regularlizing","regularizing"],["regularlly","regularly"],["regulax","regular"],["reguler","regular"],["regulr","regular"],["regultor","regulator"],["regultors","regulators"],["regultory","regulatory"],["regurlarly","regularly"],["reguster","register"],["rehersal","rehearsal"],["rehersing","rehearsing"],["reicarnation","reincarnation"],["reigining","reigning"],["reigonal","regional"],["reigster","register"],["reigstered","registered"],["reigstering","registering"],["reigsters","registers"],["reigstration","registration"],["reimplemenet","reimplement"],["reimplementaion","reimplementation"],["reimplementaions","reimplementations"],["reimplemention","reimplementation"],["reimplementions","reimplementations"],["reimplented","reimplemented"],["reimplents","reimplements"],["reimpliment","reimplement"],["reimplimenting","reimplementing"],["reimplmenet","reimplement"],["reimplment","reimplement"],["reimplmentation","reimplementation"],["reimplmented","reimplemented"],["reimplmenting","reimplementing"],["reimplments","reimplements"],["reimpplement","reimplement"],["reimpplementating","reimplementing"],["reimpplementation","reimplementation"],["reimpplemented","reimplemented"],["reimpremented","reimplemented"],["reinfoce","reinforce"],["reinfoced","reinforced"],["reinfocement","reinforcement"],["reinfocements","reinforcements"],["reinfoces","reinforces"],["reinfocing","reinforcing"],["reinitailise","reinitialise"],["reinitailised","reinitialised"],["reinitailize","reinitialize"],["reinitalize","reinitialize"],["reinitilize","reinitialize"],["reinitilized","reinitialized"],["reinstatiate","reinstantiate"],["reinstatiated","reinstantiated"],["reinstatiates","reinstantiates"],["reinstatiation","reinstantiation"],["reintantiate","reinstantiate"],["reintantiating","reinstantiating"],["reintepret","reinterpret"],["reintepreted","reinterpreted"],["reister","register"],["reitterate","reiterate"],["reitterated","reiterated"],["reitterates","reiterates"],["reivison","revision"],["rejplace","replace"],["reknown","renown"],["reknowned","renowned"],["rekursed","recursed"],["rekursion","recursion"],["rekursive","recursive"],["relaative","relative"],["relady","ready"],["relaease","release"],["relaese","release"],["relaesed","released"],["relaeses","releases"],["relaesing","releasing"],["relaged","related"],["relaimed","reclaimed"],["relaion","relation"],["relaive","relative"],["relaly","really"],["relase","release"],["relased","released"],["relaser","releaser"],["relases","releases"],["relashionship","relationship"],["relashionships","relationships"],["relasing","releasing"],["relataive","relative"],["relatated","related"],["relatd","related"],["relatdness","relatedness"],["relatibe","relative"],["relatibely","relatively"],["relatievly","relatively"],["relatiopnship","relationship"],["relativ","relative"],["relativly","relatively"],["relavant","relevant"],["relavent","relevant"],["releaase","release"],["releaased","released"],["relead","reload"],["releae","release"],["releaed","released"],["releaeing","releasing"],["releaing","releasing"],["releas","release"],["releasead","released"],["releasse","release"],["releated","related"],["releating","relating"],["releation","relation"],["releations","relations"],["releationship","relationship"],["releationships","relationships"],["releative","relative"],["releavant","relevant"],["relecant","relevant"],["releive","relieve"],["releived","relieved"],["releiver","reliever"],["releoad","reload"],["relese","release"],["relesed","released"],["releses","releases"],["reletive","relative"],["reletively","relatively"],["relevabt","relevant"],["relevane","relevant"],["releveant","relevant"],["relevence","relevance"],["relevent","relevant"],["relfected","reflected"],["relfecting","reflecting"],["relfection","reflection"],["relfections","reflections"],["reliablity","reliability"],["relient","reliant"],["religeous","religious"],["religous","religious"],["religously","religiously"],["relinguish","relinquish"],["relinguishing","relinquishing"],["relinqushment","relinquishment"],["relintquish","relinquish"],["relitavely","relatively"],["relly","really"],["reloade","reload"],["relocae","relocate"],["relocaes","relocates"],["relocaiing","relocating"],["relocaing","relocating"],["relocaion","relocation"],["relocaions","relocations"],["relocaite","relocate"],["relocaites","relocates"],["relocaiting","relocating"],["relocaition","relocation"],["relocaitions","relocations"],["relocaiton","relocation"],["relocaitons","relocations"],["relocateable","relocatable"],["reloccate","relocate"],["reloccated","relocated"],["reloccates","relocates"],["relpacement","replacement"],["relpy","reply"],["reltive","relative"],["relyable","reliable"],["relyably","reliably"],["relyed","relied"],["relys","relies"],["remaing","remaining"],["remainging","remaining"],["remainig","remaining"],["remainst","remains"],["remaning","remaining"],["remaped","remapped"],["remaping","remapping"],["rembember","remember"],["rembembered","remembered"],["rembembering","remembering"],["rembembers","remembers"],["rember","remember"],["remeber","remember"],["remebered","remembered"],["remebering","remembering"],["remebers","remembers"],["rememberable","memorable"],["rememberance","remembrance"],["rememberd","remembered"],["remembrence","remembrance"],["rememeber","remember"],["rememebered","remembered"],["rememebering","remembering"],["rememebers","remembers"],["rememebr","remember"],["rememebred","remembered"],["rememebrs","remembers"],["rememember","remember"],["rememembered","remembered"],["rememembers","remembers"],["rememer","remember"],["rememered","remembered"],["rememers","remembers"],["rememor","remember"],["rememored","remembered"],["rememoring","remembering"],["rememors","remembers"],["rememver","remember"],["remenant","remnant"],["remenber","remember"],["remenicent","reminiscent"],["remian","remain"],["remianed","remained"],["remianing","remaining"],["remians","remains"],["reminent","remnant"],["reminescent","reminiscent"],["remining","remaining"],["reminiscense","reminiscence"],["reminscent","reminiscent"],["reminsicent","reminiscent"],["remmeber","remember"],["remmebered","remembered"],["remmebering","remembering"],["remmebers","remembers"],["remmove","remove"],["remoce","remove"],["remoive","remove"],["remoived","removed"],["remoives","removes"],["remoiving","removing"],["remontly","remotely"],["remoote","remote"],["remore","remote"],["remorted","reported"],["remot","remote"],["removce","remove"],["removeable","removable"],["removefromat","removeformat"],["removeing","removing"],["removerd","removed"],["remve","remove"],["remved","removed"],["remves","removes"],["remvoe","remove"],["remvoed","removed"],["remvoes","removes"],["remvove","remove"],["remvoved","removed"],["remvoves","removes"],["remvs","removes"],["renabled","re-enabled"],["renderadble","renderable"],["renderd","rendered"],["rendereing","rendering"],["rendererd","rendered"],["renderered","rendered"],["renderering","rendering"],["renderning","rendering"],["renderr","render"],["renderring","rendering"],["rendevous","rendezvous"],["rendezous","rendezvous"],["rendired","rendered"],["rendirer","renderer"],["rendirers","renderers"],["rendiring","rendering"],["rendring","rendering"],["renedered","rendered"],["renegatiotiable","renegotiable"],["renegatiotiate","renegotiate"],["renegatiotiated","renegotiated"],["renegatiotiates","renegotiates"],["renegatiotiating","renegotiating"],["renegatiotiation","renegotiation"],["renegatiotiations","renegotiations"],["renegatiotiator","renegotiator"],["renegatiotiators","renegotiators"],["renegoable","renegotiable"],["renegoate","renegotiate"],["renegoated","renegotiated"],["renegoates","renegotiates"],["renegoatiable","renegotiable"],["renegoatiate","renegotiate"],["renegoatiated","renegotiated"],["renegoatiates","renegotiates"],["renegoatiating","renegotiating"],["renegoatiation","renegotiation"],["renegoatiations","renegotiations"],["renegoatiator","renegotiator"],["renegoatiators","renegotiators"],["renegoating","renegotiating"],["renegoation","renegotiation"],["renegoations","renegotiations"],["renegoator","renegotiator"],["renegoators","renegotiators"],["renegociable","renegotiable"],["renegociate","renegotiate"],["renegociated","renegotiated"],["renegociates","renegotiates"],["renegociating","renegotiating"],["renegociation","renegotiation"],["renegociations","renegotiations"],["renegociator","renegotiator"],["renegociators","renegotiators"],["renegogtiable","renegotiable"],["renegogtiate","renegotiate"],["renegogtiated","renegotiated"],["renegogtiates","renegotiates"],["renegogtiating","renegotiating"],["renegogtiation","renegotiation"],["renegogtiations","renegotiations"],["renegogtiator","renegotiator"],["renegogtiators","renegotiators"],["renegoitable","renegotiable"],["renegoitate","renegotiate"],["renegoitated","renegotiated"],["renegoitates","renegotiates"],["renegoitating","renegotiating"],["renegoitation","renegotiation"],["renegoitations","renegotiations"],["renegoitator","renegotiator"],["renegoitators","renegotiators"],["renegoptionsotiable","renegotiable"],["renegoptionsotiate","renegotiate"],["renegoptionsotiated","renegotiated"],["renegoptionsotiates","renegotiates"],["renegoptionsotiating","renegotiating"],["renegoptionsotiation","renegotiation"],["renegoptionsotiations","renegotiations"],["renegoptionsotiator","renegotiator"],["renegoptionsotiators","renegotiators"],["renegosiable","renegotiable"],["renegosiate","renegotiate"],["renegosiated","renegotiated"],["renegosiates","renegotiates"],["renegosiating","renegotiating"],["renegosiation","renegotiation"],["renegosiations","renegotiations"],["renegosiator","renegotiator"],["renegosiators","renegotiators"],["renegotable","renegotiable"],["renegotaiable","renegotiable"],["renegotaiate","renegotiate"],["renegotaiated","renegotiated"],["renegotaiates","renegotiates"],["renegotaiating","renegotiating"],["renegotaiation","renegotiation"],["renegotaiations","renegotiations"],["renegotaiator","renegotiator"],["renegotaiators","renegotiators"],["renegotaible","renegotiable"],["renegotaite","renegotiate"],["renegotaited","renegotiated"],["renegotaites","renegotiates"],["renegotaiting","renegotiating"],["renegotaition","renegotiation"],["renegotaitions","renegotiations"],["renegotaitor","renegotiator"],["renegotaitors","renegotiators"],["renegotate","renegotiate"],["renegotated","renegotiated"],["renegotates","renegotiates"],["renegotatiable","renegotiable"],["renegotatiate","renegotiate"],["renegotatiated","renegotiated"],["renegotatiates","renegotiates"],["renegotatiating","renegotiating"],["renegotatiation","renegotiation"],["renegotatiations","renegotiations"],["renegotatiator","renegotiator"],["renegotatiators","renegotiators"],["renegotatible","renegotiable"],["renegotatie","renegotiate"],["renegotatied","renegotiated"],["renegotaties","renegotiates"],["renegotating","renegotiating"],["renegotation","renegotiation"],["renegotations","renegotiations"],["renegotatior","renegotiator"],["renegotatiors","renegotiators"],["renegotator","renegotiator"],["renegotators","renegotiators"],["renegothiable","renegotiable"],["renegothiate","renegotiate"],["renegothiated","renegotiated"],["renegothiates","renegotiates"],["renegothiating","renegotiating"],["renegothiation","renegotiation"],["renegothiations","renegotiations"],["renegothiator","renegotiator"],["renegothiators","renegotiators"],["renegotible","renegotiable"],["renegoticable","renegotiable"],["renegoticate","renegotiate"],["renegoticated","renegotiated"],["renegoticates","renegotiates"],["renegoticating","renegotiating"],["renegotication","renegotiation"],["renegotications","renegotiations"],["renegoticator","renegotiator"],["renegoticators","renegotiators"],["renegotioable","renegotiable"],["renegotioate","renegotiate"],["renegotioated","renegotiated"],["renegotioates","renegotiates"],["renegotioating","renegotiating"],["renegotioation","renegotiation"],["renegotioations","renegotiations"],["renegotioator","renegotiator"],["renegotioators","renegotiators"],["renegotioble","renegotiable"],["renegotion","renegotiation"],["renegotionable","renegotiable"],["renegotionate","renegotiate"],["renegotionated","renegotiated"],["renegotionates","renegotiates"],["renegotionating","renegotiating"],["renegotionation","renegotiation"],["renegotionations","renegotiations"],["renegotionator","renegotiator"],["renegotionators","renegotiators"],["renegotions","renegotiations"],["renegotiotable","renegotiable"],["renegotiotate","renegotiate"],["renegotiotated","renegotiated"],["renegotiotates","renegotiates"],["renegotiotating","renegotiating"],["renegotiotation","renegotiation"],["renegotiotations","renegotiations"],["renegotiotator","renegotiator"],["renegotiotators","renegotiators"],["renegotiote","renegotiate"],["renegotioted","renegotiated"],["renegotiotes","renegotiates"],["renegotioting","renegotiating"],["renegotiotion","renegotiation"],["renegotiotions","renegotiations"],["renegotiotor","renegotiator"],["renegotiotors","renegotiators"],["renegotitable","renegotiable"],["renegotitae","renegotiate"],["renegotitaed","renegotiated"],["renegotitaes","renegotiates"],["renegotitaing","renegotiating"],["renegotitaion","renegotiation"],["renegotitaions","renegotiations"],["renegotitaor","renegotiator"],["renegotitaors","renegotiators"],["renegotitate","renegotiate"],["renegotitated","renegotiated"],["renegotitates","renegotiates"],["renegotitating","renegotiating"],["renegotitation","renegotiation"],["renegotitations","renegotiations"],["renegotitator","renegotiator"],["renegotitators","renegotiators"],["renegotite","renegotiate"],["renegotited","renegotiated"],["renegotites","renegotiates"],["renegotiting","renegotiating"],["renegotition","renegotiation"],["renegotitions","renegotiations"],["renegotitor","renegotiator"],["renegotitors","renegotiators"],["renegoziable","renegotiable"],["renegoziate","renegotiate"],["renegoziated","renegotiated"],["renegoziates","renegotiates"],["renegoziating","renegotiating"],["renegoziation","renegotiation"],["renegoziations","renegotiations"],["renegoziator","renegotiator"],["renegoziators","renegotiators"],["reneweal","renewal"],["renewl","renewal"],["renforce","reinforce"],["renforced","reinforced"],["renforcement","reinforcement"],["renforcements","reinforcements"],["renforces","reinforces"],["rennovate","renovate"],["rennovated","renovated"],["rennovating","renovating"],["rennovation","renovation"],["rentime","runtime"],["rentors","renters"],["reoadmap","roadmap"],["reoccurrence","recurrence"],["reoder","reorder"],["reomvable","removable"],["reomve","remove"],["reomved","removed"],["reomves","removes"],["reomving","removing"],["reonly","read-only"],["reopended","reopened"],["reoport","report"],["reopsitory","repository"],["reord","record"],["reorded","reorder"],["reorer","reorder"],["reorganision","reorganisation"],["reorginised","reorganised"],["reorginized","reorganized"],["reosnable","reasonable"],["reosne","reason"],["reosurce","resource"],["reosurced","resourced"],["reosurces","resources"],["reosurcing","resourcing"],["reounded","rounded"],["repace","replace"],["repaced","replaced"],["repacement","replacement"],["repacements","replacements"],["repaces","replaces"],["repacing","replacing"],["repackge","repackage"],["repackged","repackaged"],["repaitnt","repaint"],["reparamterization","reparameterization"],["repblic","republic"],["repblican","republican"],["repblicans","republicans"],["repblics","republics"],["repeates","repeats"],["repeatly","repeatedly"],["repect","respect"],["repectable","respectable"],["repected","respected"],["repecting","respecting"],["repective","respective"],["repectively","respectively"],["repects","respects"],["repedability","repeatability"],["repedable","repeatable"],["repeition","repetition"],["repentence","repentance"],["repentent","repentant"],["reperesent","represent"],["reperesentation","representation"],["reperesentational","representational"],["reperesentations","representations"],["reperesented","represented"],["reperesenting","representing"],["reperesents","represents"],["repersentation","representation"],["repertoir","repertoire"],["repesent","represent"],["repesentation","representation"],["repesentational","representational"],["repesented","represented"],["repesenting","representing"],["repesents","represents"],["repet","repeat"],["repetative","repetitive"],["repete","repeat"],["repeteadly","repeatedly"],["repetetion","repetition"],["repetetions","repetitions"],["repetetive","repetitive"],["repeting","repeating"],["repetion","repetition"],["repetions","repetitions"],["repetive","repetitive"],["repid","rapid"],["repition","repetition"],["repitions","repetitions"],["repitition","repetition"],["repititions","repetitions"],["replacability","replaceability"],["replacables","replaceables"],["replacacing","replacing"],["replacalbe","replaceable"],["replacalbes","replaceables"],["replacament","replacement"],["replacaments","replacements"],["replacate","replicate"],["replacated","replicated"],["replacates","replicates"],["replacating","replicating"],["replacation","replication"],["replacd","replaced"],["replaceemnt","replacement"],["replaceemnts","replacements"],["replacemenet","replacement"],["replacmenet","replacement"],["replacment","replacement"],["replacments","replacements"],["replacong","replacing"],["replaint","repaint"],["replasement","replacement"],["replasements","replacements"],["replcace","replace"],["replcaced","replaced"],["replcaof","replicaof"],["replicae","replicate"],["replicaes","replicates"],["replicaiing","replicating"],["replicaion","replication"],["replicaions","replications"],["replicaite","replicate"],["replicaites","replicates"],["replicaiting","replicating"],["replicaition","replication"],["replicaitions","replications"],["replicaiton","replication"],["replicaitons","replications"],["repling","replying"],["replys","replies"],["reponding","responding"],["reponse","response"],["reponses","responses"],["reponsibilities","responsibilities"],["reponsibility","responsibility"],["reponsible","responsible"],["reporing","reporting"],["reporitory","repository"],["reportadly","reportedly"],["reportign","reporting"],["reportresouces","reportresources"],["reposiotory","repository"],["reposiry","repository"],["repositiories","repositories"],["repositiory","repository"],["repositiroes","repositories"],["reposititioning","repositioning"],["repositorry","repository"],["repositotries","repositories"],["repositotry","repository"],["repositry","repository"],["reposoitory","repository"],["reposond","respond"],["reposonder","responder"],["reposonders","responders"],["reposonding","responding"],["reposonse","response"],["reposonses","responses"],["repostiories","repositories"],["repostiory","repository"],["repostories","repositories"],["repostory","repository"],["repport","report"],["reppository","repository"],["repraesentation","representation"],["repraesentational","representational"],["repraesentations","representations"],["reprecussion","repercussion"],["reprecussions","repercussions"],["repreesnt","represent"],["repreesnted","represented"],["repreesnts","represents"],["reprensent","represent"],["reprensentation","representation"],["reprensentational","representational"],["reprensentations","representations"],["reprepresents","represents"],["represantation","representation"],["represantational","representational"],["represantations","representations"],["represantative","representative"],["represenatation","representation"],["represenatational","representational"],["represenatations","representations"],["represenation","representation"],["represenational","representational"],["represenations","representations"],["represend","represent"],["representaion","representation"],["representaional","representational"],["representaions","representations"],["representaiton","representation"],["representated","represented"],["representating","representing"],["representd","represented"],["representiative","representative"],["represention","representation"],["representions","representations"],["representive","representative"],["representives","representatives"],["represet","represent"],["represetation","representation"],["represeted","represented"],["represeting","representing"],["represets","represents"],["represnet","represent"],["represnetated","represented"],["represnetation","representation"],["represnetations","representations"],["represneted","represented"],["represneting","representing"],["represnets","represents"],["represnt","represent"],["represntation","representation"],["represntative","representative"],["represnted","represented"],["represnts","represents"],["repressent","represent"],["repressentation","representation"],["repressenting","representing"],["repressents","represents"],["reprociblbe","reproducible"],["reprocible","reproducible"],["reprodice","reproduce"],["reprodiced","reproduced"],["reprodicibility","reproducibility"],["reprodicible","reproducible"],["reprodicibly","reproducibly"],["reprodicing","reproducing"],["reprodiction","reproduction"],["reproducabely","reproducibly"],["reproducability","reproducibility"],["reproducable","reproducible"],["reproducablitity","reproducibility"],["reproducably","reproducibly"],["reproduciability","reproduceability"],["reproduciable","reproduceable"],["reproduciblity","reproducibility"],["reprot","report"],["reprots","reports"],["reprsent","represent"],["reprsentation","representation"],["reprsentations","representations"],["reprsented","represented"],["reprsenting","representing"],["reprsents","represents"],["reprtoire","repertoire"],["reprucible","reproducible"],["repsectively","respectively"],["repsonse","response"],["repsonses","responses"],["repsonsible","responsible"],["repspectively","respectively"],["repsresents","represents"],["reptition","repetition"],["repubic","republic"],["repubican","republican"],["repubicans","republicans"],["repubics","republics"],["republi","republic"],["republian","republican"],["republians","republicans"],["republis","republics"],["repulic","republic"],["repulican","republican"],["repulicans","republicans"],["repulics","republics"],["reputpose","repurpose"],["reputposed","repurposed"],["reputposes","repurposes"],["reputposing","repurposing"],["reqest","request"],["reqested","requested"],["reqests","requests"],["reqeuest","request"],["reqeust","request"],["reqeusted","requested"],["reqeusting","requesting"],["reqeusts","requests"],["reqiest","request"],["reqire","require"],["reqired","required"],["reqirement","requirement"],["reqirements","requirements"],["reqires","requires"],["reqiring","requiring"],["reqiure","require"],["reqrite","rewrite"],["reqrites","rewrites"],["requencies","frequencies"],["requency","frequency"],["requeried","required"],["requeriment","requirement"],["requeriments","requirements"],["reques","request"],["requesr","request"],["requestd","requested"],["requestesd","requested"],["requestested","requested"],["requestied","requested"],["requestying","requesting"],["requet","request"],["requeted","requested"],["requeting","requesting"],["requets","requests"],["requeum","requiem"],["requied","required"],["requierd","required"],["requiere","require"],["requiered","required"],["requierement","requirement"],["requierements","requirements"],["requieres","requires"],["requiering","requiring"],["requies","requires"],["requiest","request"],["requiested","requested"],["requiesting","requesting"],["requiests","requests"],["requird","required"],["requireing","requiring"],["requiremenet","requirement"],["requiremenets","requirements"],["requiremnt","requirement"],["requirment","requirement"],["requirments","requirements"],["requisit","requisite"],["requisits","requisites"],["requre","require"],["requred","required"],["requrement","requirement"],["requrements","requirements"],["requres","requires"],["requrest","request"],["requrested","requested"],["requresting","requesting"],["requrests","requests"],["requried","required"],["requriement","requirement"],["requriements","requirements"],["requries","requires"],["requriment","requirement"],["requring","requiring"],["requrired","required"],["requrirement","requirement"],["requrirements","requirements"],["requris","require"],["requsite","requisite"],["requsites","requisites"],["requst","request"],["requsted","requested"],["requsting","requesting"],["requsts","requests"],["reregisteration","reregistration"],["rererences","references"],["rerference","reference"],["rerferences","references"],["rerpesentation","representation"],["rertieve","retrieve"],["rertieved","retrieved"],["rertiever","retriever"],["rertievers","retrievers"],["rertieves","retrieves"],["reruirement","requirement"],["reruirements","requirements"],["reruning","rerunning"],["rerwite","rewrite"],["resarch","research"],["resart","restart"],["resarts","restarts"],["resaurant","restaurant"],["resaurants","restaurants"],["rescaned","rescanned"],["rescource","resource"],["rescourced","resourced"],["rescources","resources"],["rescourcing","resourcing"],["rescrition","restriction"],["rescritions","restrictions"],["rescueing","rescuing"],["reseach","research"],["reseached","researched"],["researvation","reservation"],["researvations","reservations"],["researve","reserve"],["researved","reserved"],["researves","reserves"],["researving","reserving"],["reselction","reselection"],["resembelance","resemblance"],["resembes","resembles"],["resemblence","resemblance"],["resently","recently"],["resepect","respect"],["resepected","respected"],["resepecting","respecting"],["resepective","respective"],["resepectively","respectively"],["resepects","respects"],["reseration","reservation"],["reserv","reserve"],["reserverd","reserved"],["reservered","reserved"],["resestatus","resetstatus"],["resetable","resettable"],["reseted","reset"],["reseting","resetting"],["resetted","reset"],["reseved","reserved"],["reseverd","reserved"],["resevered","reserved"],["resevering","reserving"],["resevoir","reservoir"],["resgister","register"],["resgisters","registers"],["residental","residential"],["resierfs","reiserfs"],["resignement","resignment"],["resilence","resilience"],["resistable","resistible"],["resistence","resistance"],["resistent","resistant"],["resitance","resistance"],["resitances","resistances"],["resitor","resistor"],["resitors","resistors"],["resivwar","reservoir"],["resizeable","resizable"],["resizeble","resizable"],["reslection","reselection"],["reslove","resolve"],["resloved","resolved"],["resloves","resolves"],["resloving","resolving"],["reslut","result"],["resluts","results"],["resoect","respect"],["resoective","respective"],["resoiurce","resource"],["resoiurced","resourced"],["resoiurces","resources"],["resoiurcing","resourcing"],["resoltion","resolution"],["resoltuion","resolution"],["resoltuions","resolutions"],["resoluitons","resolutions"],["resolutin","resolution"],["resolutino","resolution"],["resolutinos","resolutions"],["resolutins","resolutions"],["resoluton","resolution"],["resolvinf","resolving"],["reson","reason"],["resonable","reasonable"],["resons","reasons"],["resonse","response"],["resonses","responses"],["resoource","resource"],["resoourced","resourced"],["resoources","resources"],["resoourcing","resourcing"],["resopnse","response"],["resopnses","responses"],["resorce","resource"],["resorced","resourced"],["resorces","resources"],["resorcing","resourcing"],["resore","restore"],["resorece","resource"],["resoreces","resources"],["resoruce","resource"],["resoruced","resourced"],["resoruces","resources"],["resorucing","resourcing"],["resotration","restoration"],["resotrations","restorations"],["resotrative","restorative"],["resotre","restore"],["resotrer","restorer"],["resotrers","restorers"],["resotres","restores"],["resotring","restoring"],["resouce","resource"],["resouced","resourced"],["resouces","resources"],["resoucing","resourcing"],["resoultion","resolution"],["resoultions","resolutions"],["resourcees","resources"],["resourceype","resourcetype"],["resoure","resource"],["resourecs","resources"],["resoured","resourced"],["resoures","resources"],["resourses","resources"],["resoution","resolution"],["resoves","resolves"],["resovle","resolve"],["resovled","resolved"],["resovles","resolves"],["resovling","resolving"],["respawining","respawning"],["respecitve","respective"],["respecitvely","respectively"],["respecive","respective"],["respecively","respectively"],["respectivelly","respectively"],["respectivley","respectively"],["respectivly","respectively"],["respnse","response"],["respnses","responses"],["respoduce","reproduce"],["responce","response"],["responces","responses"],["responibilities","responsibilities"],["responisble","responsible"],["responnsibilty","responsibility"],["responsabilities","responsibilities"],["responsability","responsibility"],["responsable","responsible"],["responsbile","responsible"],["responser's","responder's"],["responser","responder"],["responsers","responders"],["responsess","responses"],["responsibile","responsible"],["responsibilites","responsibilities"],["responsibilty","responsibility"],["responsiblities","responsibilities"],["responsiblity","responsibility"],["responsing","responding"],["respose","response"],["resposes","responses"],["resposibility","responsibility"],["resposible","responsible"],["resposiblity","responsibility"],["respositories","repositories"],["respository","repository"],["resposive","responsive"],["resposiveness","responsiveness"],["resposne","response"],["resposnes","responses"],["respresent","represent"],["respresentation","representation"],["respresentational","representational"],["respresentations","representations"],["respresented","represented"],["respresenting","representing"],["respresents","represents"],["resquest","request"],["resrouce","resource"],["resrouced","resourced"],["resrouces","resources"],["resroucing","resourcing"],["reSructuredText","reStructuredText"],["resrved","reserved"],["ressapee","recipe"],["ressemblance","resemblance"],["ressemble","resemble"],["ressembled","resembled"],["ressemblence","resemblance"],["ressembling","resembling"],["ressemle","resemble"],["resset","reset"],["resseted","reset"],["ressets","resets"],["ressetting","resetting"],["ressize","resize"],["ressizes","resizes"],["ressource","resource"],["ressourced","resourced"],["ressources","resources"],["ressourcing","resourcing"],["resssurecting","resurrecting"],["ressult","result"],["ressurect","resurrect"],["ressurected","resurrected"],["ressurecting","resurrecting"],["ressurection","resurrection"],["ressurects","resurrects"],["ressurrection","resurrection"],["restarant","restaurant"],["restarants","restaurants"],["restaraunt","restaurant"],["restaraunteur","restaurateur"],["restaraunteurs","restaurateurs"],["restaraunts","restaurants"],["restauranteurs","restaurateurs"],["restauration","restoration"],["restauraunt","restaurant"],["restaurnad","restaurant"],["restaurnat","restaurant"],["resteraunt","restaurant"],["resteraunts","restaurants"],["restes","reset"],["restesting","retesting"],["resticted","restricted"],["restoding","restoring"],["restoiring","restoring"],["restor","restore"],["restorated","restored"],["restoreable","restorable"],["restoreble","restorable"],["restoreing","restoring"],["restors","restores"],["restouration","restoration"],["restrcted","restricted"],["restrcuture","restructure"],["restriced","restricted"],["restroing","restoring"],["reStructuredTetx","reStructuredText"],["reStructuredTxet","reStructuredText"],["reStrucuredText","reStructuredText"],["restuarant","restaurant"],["restuarants","restaurants"],["reStucturedText","reStructuredText"],["restucturing","restructuring"],["reStucuredText","reStructuredText"],["resturant","restaurant"],["resturants","restaurants"],["resturaunt","restaurant"],["resturaunts","restaurants"],["resturcturation","restructuration"],["resturcture","restructure"],["resturctured","restructured"],["resturctures","restructures"],["resturcturing","restructuring"],["resturns","returns"],["resuable","reusable"],["resuables","reusables"],["resubstituion","resubstitution"],["resuction","reduction"],["resuilt","result"],["resuilted","resulted"],["resuilting","resulting"],["resuilts","results"],["resul","result"],["resuling","resulting"],["resullt","result"],["resulotion","resolution"],["resulsets","resultsets"],["resulst","results"],["resultion","resolution"],["resultions","resolutions"],["resultung","resulting"],["resulution","resolution"],["resumbmitting","resubmitting"],["resumitted","resubmitted"],["resumt","resume"],["resuorce","resource"],["resuorced","resourced"],["resuorces","resources"],["resuorcing","resourcing"],["resurce","resource"],["resurced","resourced"],["resurces","resources"],["resurcing","resourcing"],["resurecting","resurrecting"],["resursively","recursively"],["resuse","reuse"],["resuts","results"],["resycn","resync"],["retalitated","retaliated"],["retalitation","retaliation"],["retangles","rectangles"],["retanslate","retranslate"],["rether","rather"],["retieve","retrieve"],["retieved","retrieved"],["retieves","retrieves"],["retieving","retrieving"],["retinew","retinue"],["retireve","retrieve"],["retireved","retrieved"],["retirever","retriever"],["retirevers","retrievers"],["retireves","retrieves"],["retireving","retrieving"],["retirned","returned"],["retore","restore"],["retored","restored"],["retores","restores"],["retoric","rhetoric"],["retorical","rhetorical"],["retoring","restoring"],["retourned","returned"],["retpresenting","representing"],["retquirement","requirement"],["retquirements","requirements"],["retquireseek","requireseek"],["retquiresgpos","requiresgpos"],["retquiresgsub","requiresgsub"],["retquiressl","requiressl"],["retranser","retransfer"],["retransferd","retransferred"],["retransfered","retransferred"],["retransfering","retransferring"],["retransferrd","retransferred"],["retransmited","retransmitted"],["retransmition","retransmission"],["retreevable","retrievable"],["retreeval","retrieval"],["retreeve","retrieve"],["retreeved","retrieved"],["retreeves","retrieves"],["retreeving","retrieving"],["retreivable","retrievable"],["retreival","retrieval"],["retreive","retrieve"],["retreived","retrieved"],["retreives","retrieves"],["retreiving","retrieving"],["retrevable","retrievable"],["retreval","retrieval"],["retreve","retrieve"],["retreved","retrieved"],["retreves","retrieves"],["retreving","retrieving"],["retrict","restrict"],["retricted","restricted"],["retriebe","retrieve"],["retriece","retrieve"],["retrieces","retrieves"],["retriev","retrieve"],["retrieveds","retrieved"],["retrive","retrieve"],["retrived","retrieved"],["retrives","retrieves"],["retriving","retrieving"],["retrn","return"],["retrned","returned"],["retrns","returns"],["retrun","return"],["retruned","returned"],["retruns","returns"],["retrvieve","retrieve"],["retrvieved","retrieved"],["retrviever","retriever"],["retrvievers","retrievers"],["retrvieves","retrieves"],["retsart","restart"],["retsarts","restarts"],["retun","return"],["retunrned","returned"],["retunrs","returns"],["retuns","returns"],["retur","return"],["reture","return"],["retured","returned"],["returend","returned"],["retures","returns"],["returing","returning"],["returm","return"],["returmed","returned"],["returming","returning"],["returms","returns"],["returnd","returned"],["returnes","returns"],["returnig","returning"],["returnn","return"],["returnned","returned"],["returnning","returning"],["returs","returns"],["retursn","returns"],["retutning","returning"],["retyring","retrying"],["reudce","reduce"],["reudced","reduced"],["reudces","reduces"],["reudction","reduction"],["reudctions","reductions"],["reuest","request"],["reuests","requests"],["reulator","regulator"],["reundant","redundant"],["reundantly","redundantly"],["reuplad","reupload"],["reupladed","reuploaded"],["reuplader","reuploader"],["reupladers","reuploaders"],["reuplading","reuploading"],["reuplads","reuploads"],["reuplaod","reupload"],["reuplaoded","reuploaded"],["reuplaoder","reuploader"],["reuplaoders","reuploaders"],["reuplaoding","reuploading"],["reuplaods","reuploads"],["reuplod","reupload"],["reuploded","reuploaded"],["reuploder","reuploader"],["reuploders","reuploaders"],["reuploding","reuploading"],["reuplods","reuploads"],["reuqest","request"],["reuqested","requested"],["reuqesting","requesting"],["reuqests","requests"],["reurn","return"],["reursively","recursively"],["reuslt","result"],["reussing","reusing"],["reutnred","returned"],["reutrn","return"],["reutrns","returns"],["revaildating","revalidating"],["revaluated","reevaluated"],["reveiw","review"],["reveiwed","reviewed"],["reveiwer","reviewer"],["reveiwers","reviewers"],["reveiwing","reviewing"],["reveiws","reviews"],["revelent","relevant"],["revelution","revolution"],["revelutions","revolutions"],["reveokes","revokes"],["reverce","reverse"],["reverced","reversed"],["revereces","references"],["reverese","reverse"],["reveresed","reversed"],["reveret","revert"],["revereted","reverted"],["reversable","reversible"],["reverse-engeneer","reverse-engineer"],["reverse-engeneering","reverse-engineering"],["reverse-engieer","reverse-engineer"],["reverseed","reversed"],["reversees","reverses"],["reverve","reserve"],["reverved","reserved"],["revewrse","reverse"],["reviewl","review"],["reviewsectio","reviewsection"],["revisisions","revisions"],["revison","revision"],["revisons","revisions"],["revist","revisit"],["revisted","revisited"],["revisting","revisiting"],["revists","revisits"],["reviwed","reviewed"],["reviwer","reviewer"],["reviwers","reviewers"],["reviwing","reviewing"],["revoluion","revolution"],["revolutionar","revolutionary"],["revrese","reverse"],["revrieve","retrieve"],["revrieved","retrieved"],["revriever","retriever"],["revrievers","retrievers"],["revrieves","retrieves"],["revsion","revision"],["rewiev","review"],["rewieved","reviewed"],["rewiever","reviewer"],["rewieving","reviewing"],["rewievs","reviews"],["rewirtable","rewritable"],["rewirte","rewrite"],["rewirtten","rewritten"],["rewitable","rewritable"],["rewite","rewrite"],["rewitten","rewritten"],["reworkd","reworked"],["rewriet","rewrite"],["rewriite","rewrite"],["rewriten","rewritten"],["rewritting","rewriting"],["rewuired","required"],["rference","reference"],["rferences","references"],["rfeturned","returned"],["rgister","register"],["rhymme","rhyme"],["rhythem","rhythm"],["rhythim","rhythm"],["rhythimcally","rhythmically"],["rhytmic","rhythmic"],["ridiculus","ridiculous"],["righ","right"],["righht","right"],["righmost","rightmost"],["rightt","right"],["rigourous","rigorous"],["rigt","right"],["rigth","right"],["rigths","rights"],["rigurous","rigorous"],["riminder","reminder"],["riminders","reminders"],["riminding","reminding"],["rimitives","primitives"],["rininging","ringing"],["rispective","respective"],["ristrict","restrict"],["ristricted","restricted"],["ristriction","restriction"],["ritable","writable"],["rivised","revised"],["rizes","rises"],["rlation","relation"],["rlse","else"],["rmeote","remote"],["rmeove","remove"],["rmeoved","removed"],["rmeoves","removes"],["rmove","remove"],["rmoved","removed"],["rmoving","removing"],["roataion","rotation"],["roatation","rotation"],["roated","rotated"],["roation","rotation"],["roboustness","robustness"],["robustnes","robustness"],["Rockerfeller","Rockefeller"],["rococco","rococo"],["rocord","record"],["rocorded","recorded"],["rocorder","recorder"],["rocording","recording"],["rocordings","recordings"],["rocords","records"],["roduceer","producer"],["roigin","origin"],["roiginal","original"],["roiginally","originally"],["roiginals","originals"],["roiginating","originating"],["roigins","origins"],["romote","remote"],["romoted","remoted"],["romoteing","remoting"],["romotely","remotely"],["romotes","remotes"],["romoting","remoting"],["romotly","remotely"],["roomate","roommate"],["ropeat","repeat"],["rorated","rotated"],["rosponse","response"],["rosponsive","responsive"],["rotaion","rotation"],["rotaions","rotations"],["rotaiton","rotation"],["rotaitons","rotations"],["rotat","rotate"],["rotataion","rotation"],["rotataions","rotations"],["rotateable","rotatable"],["rouding","rounding"],["roughtly","roughly"],["rougly","roughly"],["rouine","routine"],["rouines","routines"],["round-robbin","round-robin"],["roundign","rounding"],["roung","round"],["rountine","routine"],["rountines","routines"],["routiens","routines"],["routins","routines"],["rovide","provide"],["rovided","provided"],["rovider","provider"],["rovides","provides"],["roviding","providing"],["rqeuested","requested"],["rqeuesting","requesting"],["rquested","requested"],["rquesting","requesting"],["rquire","require"],["rquired","required"],["rquirement","requirement"],["rquires","requires"],["rquiring","requiring"],["rranslation","translation"],["rranslations","translations"],["rrase","erase"],["rrror","error"],["rrrored","errored"],["rrroring","erroring"],["rrrors","errors"],["rubarb","rhubarb"],["rucuperate","recuperate"],["rudimentally","rudimentary"],["rudimentatry","rudimentary"],["rudimentory","rudimentary"],["rudimentry","rudimentary"],["rulle","rule"],["rumatic","rheumatic"],["runn","run"],["runnig","running"],["runnign","running"],["runnigng","running"],["runnin","running"],["runnint","running"],["runnners","runners"],["runnning","running"],["runns","runs"],["runnung","running"],["runting","runtime"],["rurrent","current"],["russina","Russian"],["Russion","Russian"],["rwite","write"],["rysnc","rsync"],["rythem","rhythm"],["rythim","rhythm"],["rythm","rhythm"],["rythmic","rhythmic"],["rythyms","rhythms"],["saame","same"],["sabatage","sabotage"],["sabatour","saboteur"],["sacalar","scalar"],["sacalars","scalars"],["sacarin","saccharin"],["sacle","scale"],["sacrafice","sacrifice"],["sacreligious","sacrilegious"],["Sacremento","Sacramento"],["sacrifical","sacrificial"],["sacrifying","sacrificing"],["sacrilegeous","sacrilegious"],["sacrin","saccharin"],["sade","sad"],["saem","same"],["safe-pooint","safe-point"],["safe-pooints","safe-points"],["safeing","saving"],["safepooint","safepoint"],["safepooints","safepoints"],["safequard","safeguard"],["saferi","Safari"],["safetly","safely"],["safly","safely"],["saftey","safety"],["safty","safety"],["saggital","sagittal"],["sagital","sagittal"],["Sagitarius","Sagittarius"],["sais","says"],["saleries","salaries"],["salery","salary"],["salveof","slaveof"],["samle","sample"],["samled","sampled"],["samll","small"],["samller","smaller"],["sammon","salmon"],["samori","samurai"],["sampel","sample"],["sampeld","sampled"],["sampels","samples"],["samwich","sandwich"],["samwiches","sandwiches"],["sanaty","sanity"],["sanctionning","sanctioning"],["sandobx","sandbox"],["sandwhich","sandwich"],["Sanhedrim","Sanhedrin"],["sanitizisation","sanitization"],["sanizer","sanitizer"],["sanpshot","snapshot"],["sanpsnots","snapshots"],["sansitizer","sanitizer"],["sansitizers","sanitizers"],["santioned","sanctioned"],["santize","sanitize"],["santized","sanitized"],["santizes","sanitizes"],["santizing","sanitizing"],["sanwich","sandwich"],["sanwiches","sandwiches"],["sanytise","sanitise"],["sanytize","sanitize"],["saphire","sapphire"],["saphires","sapphires"],["sargant","sergeant"],["sargeant","sergeant"],["sarted","started"],["sarter","starter"],["sarters","starters"],["sastisfies","satisfies"],["satandard","standard"],["satandards","standards"],["satelite","satellite"],["satelites","satellites"],["satelitte","satellite"],["satellittes","satellites"],["satement","statement"],["satements","statements"],["saterday","Saturday"],["saterdays","Saturdays"],["satified","satisfied"],["satifies","satisfies"],["satifsy","satisfy"],["satify","satisfy"],["satifying","satisfying"],["satisfactority","satisfactorily"],["satisfiabilty","satisfiability"],["satisfing","satisfying"],["satisfyied","satisfied"],["satisifed","satisfied"],["satisified","satisfied"],["satisifies","satisfies"],["satisify","satisfy"],["satisifying","satisfying"],["satistying","satisfying"],["satric","satiric"],["satrical","satirical"],["satrically","satirically"],["sattelite","satellite"],["sattelites","satellites"],["sattellite","satellite"],["sattellites","satellites"],["satuaday","Saturday"],["satuadays","Saturdays"],["saturdey","Saturday"],["satursday","Saturday"],["satus","status"],["saught","sought"],["sav","save"],["savees","saves"],["saveing","saving"],["savely","safely"],["savere","severe"],["savety","safety"],["savgroup","savegroup"],["savy","savvy"],["saxaphone","saxophone"],["sbsampling","subsampling"],["scahr","schar"],["scalarr","scalar"],["scaleability","scalability"],["scaleable","scalable"],["scaleing","scaling"],["scalled","scaled"],["scandanavia","Scandinavia"],["scaned","scanned"],["scaning","scanning"],["scannning","scanning"],["scaricity","scarcity"],["scavange","scavenge"],["scavanged","scavenged"],["scavanger","scavenger"],["scavangers","scavengers"],["scavanges","scavenges"],["sccope","scope"],["sceanrio","scenario"],["sceanrios","scenarios"],["scecified","specified"],["scenarion","scenario"],["scenarions","scenarios"],["scenegraaph","scenegraph"],["scenegraaphs","scenegraphs"],["sceond","second"],["sceonds","seconds"],["scetch","sketch"],["scetched","sketched"],["scetches","sketches"],["scetching","sketching"],["schdule","schedule"],["schduled","scheduled"],["schduleing","scheduling"],["schduler","scheduler"],["schdules","schedules"],["schduling","scheduling"],["schedual","schedule"],["scheduald","scheduled"],["schedualed","scheduled"],["schedualing","scheduling"],["schedulier","scheduler"],["schedulling","scheduling"],["scheduluing","scheduling"],["schem","scheme"],["schemd","schemed"],["schems","schemes"],["schme","scheme"],["schmea","schema"],["schmeas","schemas"],["schmes","schemes"],["scholarhip","scholarship"],["scholarhips","scholarships"],["scholdn't","shouldn't"],["schould","should"],["scientfic","scientific"],["scientfically","scientifically"],["scientficaly","scientifically"],["scientficly","scientifically"],["scientifc","scientific"],["scientifcally","scientifically"],["scientifcaly","scientifically"],["scientifcly","scientifically"],["scientis","scientist"],["scientiss","scientist"],["scince","science"],["scinece","science"],["scintiallation","scintillation"],["scintillatqt","scintillaqt"],["scipted","scripted"],["scipting","scripting"],["sciript","script"],["sciripts","scripts"],["scirpt","script"],["scirpts","scripts"],["scketch","sketch"],["scketched","sketched"],["scketches","sketches"],["scketching","sketching"],["sclar","scalar"],["scneario","scenario"],["scnearios","scenarios"],["scoket","socket"],["scoll","scroll"],["scolling","scrolling"],["scondary","secondary"],["scopeing","scoping"],["scorebord","scoreboard"],["scources","sources"],["scrach","scratch"],["scrached","scratched"],["scraches","scratches"],["scraching","scratching"],["scrachs","scratches"],["scrao","scrap"],["screeb","screen"],["screebs","screens"],["screenchot","screenshot"],["screenchots","screenshots"],["screenwrighter","screenwriter"],["screnn","screen"],["scriopted","scripted"],["scriopting","scripting"],["scriopts","scripts"],["scriopttype","scripttype"],["scriping","scripting"],["scripst","scripts"],["scriptype","scripttype"],["scritp","script"],["scritped","scripted"],["scritping","scripting"],["scritps","scripts"],["scritpt","script"],["scritpts","scripts"],["scroipt","script"],["scroipted","scripted"],["scroipting","scripting"],["scroipts","scripts"],["scroipttype","scripttype"],["scrollablbe","scrollable"],["scrollin","scrolling"],["scroolbar","scrollbar"],["scrpt","script"],["scrpted","scripted"],["scrpting","scripting"],["scrpts","scripts"],["scrren","screen"],["scrutinity","scrutiny"],["scubscribe","subscribe"],["scubscribed","subscribed"],["scubscriber","subscriber"],["scubscribes","subscribes"],["scuccessully","successfully"],["scupt","sculpt"],["scupted","sculpted"],["scupting","sculpting"],["scupture","sculpture"],["scuptures","sculptures"],["seach","search"],["seached","searched"],["seaches","searches"],["seaching","searching"],["seachkey","searchkey"],["seacrchable","searchable"],["seamlessley","seamlessly"],["seamlessy","seamlessly"],["searcahble","searchable"],["searcheable","searchable"],["searchin","searching"],["searchs","searches"],["seatch","search"],["seccond","second"],["secconds","seconds"],["secction","section"],["secene","scene"],["secific","specific"],["secion","section"],["secions","sections"],["secirity","security"],["seciton","section"],["secitons","sections"],["secne","scene"],["secod","second"],["secods","seconds"],["seconadry","secondary"],["seconcary","secondary"],["secondaray","secondary"],["seconday","secondary"],["seconf","second"],["seconfs","seconds"],["seconly","secondly"],["secont","second"],["secontary","secondary"],["secontly","secondly"],["seconts","seconds"],["secord","second"],["secords","seconds"],["secotr","sector"],["secound","second"],["secoundary","secondary"],["secoundly","secondly"],["secounds","seconds"],["secquence","sequence"],["secratary","secretary"],["secretery","secretary"],["secrion","section"],["secruity","security"],["sectin","section"],["sectins","sections"],["sectionning","sectioning"],["secton","section"],["sectoned","sectioned"],["sectoning","sectioning"],["sectons","sections"],["sectopm","section"],["sectopmed","sectioned"],["sectopming","sectioning"],["sectopms","sections"],["sectopn","section"],["sectopned","sectioned"],["sectopning","sectioning"],["sectopns","sections"],["secue","secure"],["secuely","securely"],["secuence","sequence"],["secuenced","sequenced"],["secuences","sequences"],["secuencial","sequential"],["secuencing","sequencing"],["secuirty","security"],["secuity","security"],["secund","second"],["secunds","seconds"],["securiy","security"],["securiyt","security"],["securly","securely"],["securre","secure"],["securrely","securely"],["securrly","securely"],["securtity","security"],["securtiy","security"],["securty","security"],["securuity","security"],["sedereal","sidereal"],["seeem","seem"],["seeen","seen"],["seelect","select"],["seelected","selected"],["seemes","seems"],["seemless","seamless"],["seemlessly","seamlessly"],["seesion","session"],["seesions","sessions"],["seetings","settings"],["seeverities","severities"],["seeverity","severity"],["segault","segfault"],["segaults","segfaults"],["segement","segment"],["segementation","segmentation"],["segemented","segmented"],["segements","segments"],["segemnts","segments"],["segfualt","segfault"],["segfualts","segfaults"],["segmantation","segmentation"],["segmend","segment"],["segmendation","segmentation"],["segmended","segmented"],["segmends","segments"],["segmenet","segment"],["segmenetd","segmented"],["segmeneted","segmented"],["segmenets","segments"],["segmenst","segments"],["segmentaion","segmentation"],["segmente","segment"],["segmentes","segments"],["segmetn","segment"],["segmetned","segmented"],["segmetns","segments"],["segument","segment"],["seguoys","segues"],["seh","she"],["seige","siege"],["seing","seeing"],["seinor","senior"],["seires","series"],["sekect","select"],["sekected","selected"],["sekects","selects"],["selcetion","selection"],["selct","select"],["selctable","selectable"],["selctables","selectable"],["selcted","selected"],["selcting","selecting"],["selction","selection"],["selctions","selections"],["seldomly","seldom"],["selecction","selection"],["selecctions","selections"],["seleced","selected"],["selecetd","selected"],["seleceted","selected"],["selecgt","select"],["selecgted","selected"],["selecgting","selecting"],["selecing","selecting"],["selecrtion","selection"],["selectd","selected"],["selectes","selects"],["selectoin","selection"],["selecton","selection"],["selectons","selections"],["seledted","selected"],["selektions","selections"],["selektor","selector"],["selet","select"],["selets","selects"],["self-comparisson","self-comparison"],["self-contianed","self-contained"],["self-referencial","self-referential"],["self-refering","self-referring"],["selfs","self"],["sellect","select"],["sellected","selected"],["selv","self"],["semaintics","semantics"],["semaphone","semaphore"],["semaphones","semaphores"],["semaphor","semaphore"],["semaphors","semaphores"],["semapthore","semaphore"],["semapthores","semaphores"],["sematic","semantic"],["sematical","semantical"],["sematically","semantically"],["sematics","semantics"],["sematnics","semantics"],["semding","sending"],["sementation","segmentation"],["sementic","semantic"],["sementically","semantically"],["sementics","semantics"],["semgent","segment"],["semgentation","segmentation"],["semicolor","semicolon"],["semicolumn","semicolon"],["semicondutor","semiconductor"],["sempahore","semaphore"],["sempahores","semaphores"],["sempaphore","semaphore"],["sempaphores","semaphores"],["semphore","semaphore"],["semphores","semaphores"],["sempphore","semaphore"],["senaphore","semaphore"],["senaphores","semaphores"],["senario","scenario"],["senarios","scenarios"],["sencond","second"],["sencondary","secondary"],["senconds","seconds"],["sendign","sending"],["sendinging","sending"],["sendinng","sending"],["senfile","sendfile"],["senintels","sentinels"],["senitnel","sentinel"],["senitnels","sentinels"],["senquence","sequence"],["sensative","sensitive"],["sensetive","sensitive"],["sensisble","sensible"],["sensistive","sensitive"],["sensititive","sensitive"],["sensititivies","sensitivities"],["sensititivity","sensitivity"],["sensititivy","sensitivity"],["sensitiv","sensitive"],["sensitiveties","sensitivities"],["sensitivety","sensitivity"],["sensitivites","sensitivities"],["sensitivties","sensitivities"],["sensitivty","sensitivity"],["sensitve","sensitive"],["senstive","sensitive"],["sensure","censure"],["sentance","sentence"],["sentances","sentences"],["senteces","sentences"],["sentense","sentence"],["sentienl","sentinel"],["sentinal","sentinel"],["sentinals","sentinels"],["sention","section"],["sentions","sections"],["sentive","sensitive"],["sentivite","sensitive"],["sepaate","separate"],["separartor","separator"],["separat","separate"],["separatelly","separately"],["separater","separator"],["separatley","separately"],["separatly","separately"],["separato","separator"],["separatos","separators"],["separatring","separating"],["separed","separated"],["separete","separate"],["separeted","separated"],["separetedly","separately"],["separetely","separately"],["separeter","separator"],["separetes","separates"],["separeting","separating"],["separetly","separately"],["separetor","separator"],["separtates","separates"],["separte","separate"],["separted","separated"],["separtes","separates"],["separting","separating"],["sepatae","separate"],["sepatate","separate"],["sepcial","special"],["sepcific","specific"],["sepcifically","specifically"],["sepcification","specification"],["sepcifications","specifications"],["sepcified","specified"],["sepcifier","specifier"],["sepcifies","specifies"],["sepcify","specify"],["sepcifying","specifying"],["sepearable","separable"],["sepearate","separate"],["sepearated","separated"],["sepearately","separately"],["sepearates","separates"],["sepearation","separation"],["sepearator","separator"],["sepearators","separators"],["sepearet","separate"],["sepearetly","separately"],["sepearte","separate"],["sepearted","separated"],["sepeartely","separately"],["sepeartes","separates"],["sepeartor","separator"],["sepeartors","separators"],["sepeate","separate"],["sepeated","separated"],["sepeates","separates"],["sepeator","separator"],["sepeators","separators"],["sepecial","special"],["sepecifed","specified"],["sepecific","specific"],["sepecification","specification"],["sepecified","specified"],["sepecifier","specifier"],["sepecifiers","specifiers"],["sepecifies","specifies"],["sepecify","specify"],["sepectral","spectral"],["sepeicfy","specify"],["sependent","dependent"],["sepending","depending"],["seperable","separable"],["seperad","separate"],["seperadly","separately"],["seperaly","separately"],["seperaor","separator"],["seperaors","separators"],["seperare","separate"],["seperared","separated"],["seperares","separates"],["seperat","separate"],["seperataed","separated"],["seperatally","separately"],["seperataly","separately"],["seperatated","separated"],["seperatd","separated"],["seperate","separate"],["seperated","separated"],["seperatedly","separately"],["seperatedy","separated"],["seperateely","separately"],["seperateing","separating"],["seperatelly","separately"],["seperately","separately"],["seperater","separator"],["seperaters","separators"],["seperates","separates"],["seperating","separating"],["seperation","separation"],["seperations","separations"],["seperatism","separatism"],["seperatist","separatist"],["seperatley","separately"],["seperatly","separately"],["seperato","separator"],["seperator","separator"],["seperators","separators"],["seperatos","separators"],["sepereate","separate"],["sepereated","separated"],["sepereates","separates"],["sepererate","separate"],["sepererated","separated"],["sepererates","separates"],["seperete","separate"],["sepereted","separated"],["seperetes","separates"],["seperratly","separately"],["sepertator","separator"],["sepertators","separators"],["sepertor","separator"],["sepertors","separators"],["sepetaror","separator"],["sepetarors","separators"],["sepetate","separate"],["sepetated","separated"],["sepetately","separately"],["sepetates","separates"],["sepina","subpoena"],["seporate","separate"],["sepparation","separation"],["sepparations","separations"],["sepperate","separate"],["seprarate","separate"],["seprate","separate"],["seprated","separated"],["seprator","separator"],["seprators","separators"],["Septemer","September"],["seqence","sequence"],["seqenced","sequenced"],["seqences","sequences"],["seqencing","sequencing"],["seqense","sequence"],["seqensed","sequenced"],["seqenses","sequences"],["seqensing","sequencing"],["seqenstial","sequential"],["seqential","sequential"],["seqeuence","sequence"],["seqeuencer","sequencer"],["seqeuental","sequential"],["seqeunce","sequence"],["seqeuncer","sequencer"],["seqeuntials","sequentials"],["sequcne","sequence"],["sequece","sequence"],["sequecence","sequence"],["sequecences","sequences"],["sequeces","sequences"],["sequeence","sequence"],["sequelce","sequence"],["sequemce","sequence"],["sequemces","sequences"],["sequencial","sequential"],["sequencially","sequentially"],["sequencies","sequences"],["sequense","sequence"],["sequensed","sequenced"],["sequenses","sequences"],["sequensing","sequencing"],["sequenstial","sequential"],["sequentialy","sequentially"],["sequenzes","sequences"],["sequetial","sequential"],["sequnce","sequence"],["sequnced","sequenced"],["sequncer","sequencer"],["sequncers","sequencers"],["sequnces","sequences"],["sequnece","sequence"],["sequneces","sequences"],["ser","set"],["serach","search"],["serached","searched"],["seracher","searcher"],["seraches","searches"],["seraching","searching"],["serachs","searches"],["serailisation","serialisation"],["serailise","serialise"],["serailised","serialised"],["serailization","serialization"],["serailize","serialize"],["serailized","serialized"],["serailse","serialise"],["serailsed","serialised"],["serailze","serialize"],["serailzed","serialized"],["serch","search"],["serched","searched"],["serches","searches"],["serching","searching"],["sercive","service"],["sercived","serviced"],["sercives","services"],["serciving","servicing"],["sereverless","serverless"],["serevrless","serverless"],["sergent","sergeant"],["serialialisation","serialisation"],["serialialise","serialise"],["serialialised","serialised"],["serialialises","serialises"],["serialialising","serialising"],["serialialization","serialization"],["serialialize","serialize"],["serialialized","serialized"],["serialializes","serializes"],["serialializing","serializing"],["serialiasation","serialisation"],["serialiazation","serialization"],["serialsiation","serialisation"],["serialsie","serialise"],["serialsied","serialised"],["serialsies","serialises"],["serialsing","serialising"],["serialziation","serialization"],["serialzie","serialize"],["serialzied","serialized"],["serialzies","serializes"],["serialzing","serializing"],["serice","service"],["serie","series"],["seriel","serial"],["serieses","series"],["serios","serious"],["seriouly","seriously"],["seriuos","serious"],["serivce","service"],["serivces","services"],["sersies","series"],["sertificate","certificate"],["sertificated","certificated"],["sertificates","certificates"],["sertification","certification"],["servece","service"],["serveced","serviced"],["serveces","services"],["servecing","servicing"],["serveice","service"],["serveiced","serviced"],["serveices","services"],["serveicing","servicing"],["serveless","serverless"],["serveral","several"],["serverite","severity"],["serverites","severities"],["serverities","severities"],["serverity","severity"],["serverles","serverless"],["serverlesss","serverless"],["serverlsss","serverless"],["servicies","services"],["servie","service"],["servies","services"],["servive","service"],["servoce","service"],["servoced","serviced"],["servoces","services"],["servocing","servicing"],["sesion","session"],["sesions","sessions"],["sesitive","sensitive"],["sesitively","sensitively"],["sesitiveness","sensitiveness"],["sesitivity","sensitivity"],["sessio","session"],["sesssion","session"],["sesssions","sessions"],["sestatusbar","setstatusbar"],["sestatusmsg","setstatusmsg"],["setevn","setenv"],["setgit","setgid"],["seting","setting"],["setings","settings"],["setion","section"],["setions","sections"],["setitng","setting"],["setitngs","settings"],["setquential","sequential"],["setted","set"],["settelement","settlement"],["settign","setting"],["settigns","settings"],["settigs","settings"],["settiing","setting"],["settiings","settings"],["settinga","settings"],["settingss","settings"],["settins","settings"],["settlment","settlement"],["settng","setting"],["settter","setter"],["settters","setters"],["settting","setting"],["setttings","settings"],["settup","setup"],["setyp","setup"],["setyps","setups"],["seuence","sequence"],["seuences","sequences"],["sevaral","several"],["severat","several"],["severeal","several"],["severirirty","severity"],["severirities","severities"],["severite","severity"],["severites","severities"],["severiy","severity"],["severl","several"],["severley","severely"],["severly","severely"],["sevice","service"],["sevirity","severity"],["sevral","several"],["sevrally","severally"],["sevrity","severity"],["sewdonim","pseudonym"],["sewdonims","pseudonyms"],["sewrvice","service"],["sfety","safety"],["sgadow","shadow"],["sh1sum","sha1sum"],["shadasloo","shadaloo"],["shaddow","shadow"],["shadhow","shadow"],["shadoloo","shadaloo"],["shal","shall"],["shandeleer","chandelier"],["shandeleers","chandeliers"],["shandow","shadow"],["shaneal","chenille"],["shanghi","Shanghai"],["shapshot","snapshot"],["shapshots","snapshots"],["shapsnot","snapshot"],["shapsnots","snapshots"],["sharable","shareable"],["shareed","shared"],["shareing","sharing"],["sharloton","charlatan"],["sharraid","charade"],["sharraids","charades"],["shashes","slashes"],["shatow","ch\xE2teau"],["shbang","shebang"],["shedule","schedule"],["sheduled","scheduled"],["shedules","schedules"],["sheduling","scheduling"],["sheepherd","shepherd"],["sheepherds","shepherds"],["sheeps","sheep"],["sheild","shield"],["sheilded","shielded"],["sheilding","shielding"],["sheilds","shields"],["shepe","shape"],["shepered","shepherd"],["sheperedly","shepherdly"],["shepereds","shepherds"],["shepes","shapes"],["sheping","shaping"],["shepre","sphere"],["shepres","spheres"],["sherif","sheriff"],["shfit","shift"],["shfited","shifted"],["shfiting","shifting"],["shfits","shifts"],["shfted","shifted"],["shicane","chicane"],["shif","shift"],["shif-tab","shift-tab"],["shineing","shining"],["shiped","shipped"],["shiping","shipping"],["shoftware","software"],["shoild","should"],["shoing","showing"],["sholder","shoulder"],["sholdn't","shouldn't"],["sholuld","should"],["sholuldn't","shouldn't"],["shoould","should"],["shopkeeepers","shopkeepers"],["shorcut","shortcut"],["shorcuts","shortcuts"],["shorly","shortly"],["short-cicruit","short-circuit"],["short-cicruits","short-circuits"],["shortcat","shortcut"],["shortcats","shortcuts"],["shortcomming","shortcoming"],["shortcommings","shortcomings"],["shortcutt","shortcut"],["shortern","shorten"],["shorthly","shortly"],["shortkut","shortcut"],["shortkuts","shortcuts"],["shortwhile","short while"],["shotcut","shortcut"],["shotcuts","shortcuts"],["shotdown","shutdown"],["shoucl","should"],["shoud","should"],["shoudl","should"],["shoudld","should"],["shoudle","should"],["shoudln't","shouldn't"],["shoudlnt","shouldn't"],["shoudn't","shouldn't"],["shoudn","shouldn"],["should'nt","shouldn't"],["should't","shouldn't"],["shouldn;t","shouldn't"],["shouldnt'","shouldn't"],["shouldnt","shouldn't"],["shouldnt;","shouldn't"],["shoule","should"],["shoulld","should"],["shouln't","shouldn't"],["shouls","should"],["shoult","should"],["shouod","should"],["shouw","show"],["shouws","shows"],["showvinism","chauvinism"],["shpae","shape"],["shpaes","shapes"],["shpapes","shapes"],["shpere","sphere"],["shperes","spheres"],["shpped","shipped"],["shreak","shriek"],["shreshold","threshold"],["shriks","shrinks"],["shttp","https"],["shudown","shutdown"],["shufle","shuffle"],["shuld","should"],["shure","sure"],["shurely","surely"],["shutdownm","shutdown"],["shuting","shutting"],["shutodwn","shutdown"],["shwo","show"],["shwon","shown"],["shystem","system"],["shystems","systems"],["sibiling","sibling"],["sibilings","siblings"],["sibtitle","subtitle"],["sibtitles","subtitles"],["sicinct","succinct"],["sicinctly","succinctly"],["sicne","since"],["sidde","side"],["sideral","sidereal"],["siduction","seduction"],["siezure","seizure"],["siezures","seizures"],["siffix","suffix"],["siffixed","suffixed"],["siffixes","suffixes"],["siffixing","suffixing"],["sigaled","signaled"],["siganture","signature"],["sigantures","signatures"],["sigen","sign"],["sigificance","significance"],["siginificant","significant"],["siginificantly","significantly"],["siginify","signify"],["sigit","digit"],["sigits","digits"],["sigleton","singleton"],["signales","signals"],["signall","signal"],["signatue","signature"],["signatur","signature"],["signes","signs"],["signficant","significant"],["signficantly","significantly"],["signficiant","significant"],["signfies","signifies"],["signguature","signature"],["signifanct","significant"],["signifant","significant"],["signifantly","significantly"],["signifcant","significant"],["signifcantly","significantly"],["signifficant","significant"],["significanly","significantly"],["significat","significant"],["significatly","significantly"],["significently","significantly"],["signifigant","significant"],["signifigantly","significantly"],["signitories","signatories"],["signitory","signatory"],["signol","signal"],["signto","sign to"],["signul","signal"],["signular","singular"],["signularity","singularity"],["silentely","silently"],["silenty","silently"],["silouhette","silhouette"],["silouhetted","silhouetted"],["silouhettes","silhouettes"],["silouhetting","silhouetting"],["simeple","simple"],["simetrie","symmetry"],["simetries","symmetries"],["simgle","single"],["simialr","similar"],["simialrity","similarity"],["simialrly","similarly"],["simiar","similar"],["similarily","similarly"],["similary","similarly"],["similat","similar"],["similia","similar"],["similiar","similar"],["similiarity","similarity"],["similiarly","similarly"],["similiarty","similarity"],["similiary","similarity"],["simillar","similar"],["similtaneous","simultaneous"],["simlar","similar"],["simlarlity","similarity"],["simlarly","similarly"],["simliar","similar"],["simliarly","similarly"],["simlicity","simplicity"],["simlified","simplified"],["simmetric","symmetric"],["simmetrical","symmetrical"],["simmetry","symmetry"],["simmilar","similar"],["simpification","simplification"],["simpifications","simplifications"],["simpified","simplified"],["simplei","simply"],["simpley","simply"],["simplfy","simplify"],["simplicitly","simplicity"],["simplicty","simplicity"],["simplier","simpler"],["simpliest","simplest"],["simplifed","simplified"],["simplificaiton","simplification"],["simplificaitons","simplifications"],["simplifiy","simplify"],["simplifys","simplifies"],["simpliifcation","simplification"],["simpliifcations","simplifications"],["simplist","simplest"],["simpy","simply"],["simualte","simulate"],["simualted","simulated"],["simualtes","simulates"],["simualting","simulating"],["simualtion","simulation"],["simualtions","simulations"],["simualtor","simulator"],["simualtors","simulators"],["simulaiton","simulation"],["simulaitons","simulations"],["simulantaneous","simultaneous"],["simulantaneously","simultaneously"],["simulataeous","simultaneous"],["simulataeously","simultaneously"],["simulataneity","simultaneity"],["simulataneous","simultaneous"],["simulataneously","simultaneously"],["simulatanious","simultaneous"],["simulataniously","simultaneously"],["simulatanous","simultaneous"],["simulatanously","simultaneously"],["simulatation","simulation"],["simulatenous","simultaneous"],["simulatenously","simultaneously"],["simultanaeous","simultaneous"],["simultaneos","simultaneous"],["simultaneosly","simultaneously"],["simultanious","simultaneous"],["simultaniously","simultaneously"],["simultanous","simultaneous"],["simultanously","simultaneously"],["simutaneously","simultaneously"],["sinature","signature"],["sincerley","sincerely"],["sincerly","sincerely"],["singaled","signaled"],["singals","signals"],["singature","signature"],["singatures","signatures"],["singelar","singular"],["singelarity","singularity"],["singelarly","singularly"],["singelton","singleton"],["singl","single"],["singlar","singular"],["single-threded","single-threaded"],["singlton","singleton"],["singltons","singletons"],["singluar","singular"],["singlular","singular"],["singlularly","singularly"],["singnal","signal"],["singnalled","signalled"],["singnals","signals"],["singolar","singular"],["singoolar","singular"],["singoolarity","singularity"],["singoolarly","singularly"],["singsog","singsong"],["singuarity","singularity"],["singuarl","singular"],["singulat","singular"],["singulaties","singularities"],["sinlge","single"],["sinlges","singles"],["sinply","simply"],["sintac","syntax"],["sintacks","syntax"],["sintacs","syntax"],["sintact","syntax"],["sintacts","syntax"],["sintak","syntax"],["sintaks","syntax"],["sintakt","syntax"],["sintakts","syntax"],["sintax","syntax"],["Sionist","Zionist"],["Sionists","Zionists"],["siply","simply"],["sircle","circle"],["sircles","circles"],["sircular","circular"],["sirect","direct"],["sirected","directed"],["sirecting","directing"],["sirection","direction"],["sirectional","directional"],["sirectionalities","directionalities"],["sirectionality","directionality"],["sirectionals","directionals"],["sirectionless","directionless"],["sirections","directions"],["sirective","directive"],["sirectives","directives"],["sirectly","directly"],["sirectness","directness"],["sirector","director"],["sirectories","directories"],["sirectors","directors"],["sirectory","directory"],["sirects","directs"],["sisnce","since"],["sistem","system"],["sistematically","systematically"],["sistematics","systematics"],["sistematies","systematies"],["sistematising","systematising"],["sistematizing","systematizing"],["sistematy","systematy"],["sistemed","systemed"],["sistemic","systemic"],["sistemically","systemically"],["sistemics","systemics"],["sistemist","systemist"],["sistemists","systemists"],["sistemize","systemize"],["sistemized","systemized"],["sistemizes","systemizes"],["sistemizing","systemizing"],["sistems","systems"],["sitation","situation"],["sitations","situations"],["sitaution","situation"],["sitautions","situations"],["sitck","stick"],["siteu","site"],["sitill","still"],["sitirring","stirring"],["sitirs","stirs"],["sitl","still"],["sitll","still"],["sitmuli","stimuli"],["situationnal","situational"],["situatuion","situation"],["situatuions","situations"],["situatution","situation"],["situatutions","situations"],["situbbornness","stubbornness"],["situdio","studio"],["situdios","studios"],["situration","situation"],["siturations","situations"],["situtaion","situation"],["situtaions","situations"],["situtation","situation"],["situtations","situations"],["siutable","suitable"],["siute","suite"],["sivible","visible"],["siwtch","switch"],["siwtched","switched"],["siwtching","switching"],["sizre","size"],["Skagerak","Skagerrak"],["skalar","scalar"],["skateing","skating"],["skecth","sketch"],["skecthes","sketches"],["skeep","skip"],["skelton","skeleton"],["skept","skipped"],["sketchs","sketches"],["skipd","skipped"],["skipe","skip"],["skiping","skipping"],["skippd","skipped"],["skippped","skipped"],["skippps","skips"],["slach","slash"],["slaches","slashes"],["slase","slash"],["slases","slashes"],["slashs","slashes"],["slaugterhouses","slaughterhouses"],["slect","select"],["slected","selected"],["slecting","selecting"],["slection","selection"],["sleect","select"],["sleeped","slept"],["sleepp","sleep"],["slicable","sliceable"],["slient","silent"],["sliently","silently"],["slighlty","slightly"],["slighly","slightly"],["slightl","slightly"],["slighty","slightly"],["slignt","slight"],["sligntly","slightly"],["sligth","slight"],["sligthly","slightly"],["sligtly","slightly"],["sliped","slipped"],["sliseshow","slideshow"],["slowy","slowly"],["sluggify","slugify"],["smae","same"],["smal","small"],["smaler","smaller"],["smallar","smaller"],["smalles","smallest"],["smaple","sample"],["smaples","samples"],["smealting","smelting"],["smething","something"],["smller","smaller"],["smoe","some"],["smoot","smooth"],["smooter","smoother"],["smoothign","smoothing"],["smooting","smoothing"],["smouth","smooth"],["smouthness","smoothness"],["smove","move"],["snaped","snapped"],["snaphot","snapshot"],["snaphsot","snapshot"],["snaping","snapping"],["snappng","snapping"],["snapsnot","snapshot"],["snapsnots","snapshots"],["sneeks","sneaks"],["snese","sneeze"],["snipet","snippet"],["snipets","snippets"],["snpashot","snapshot"],["snpashots","snapshots"],["snyc","sync"],["snytax","syntax"],["Soalris","Solaris"],["socail","social"],["socalism","socialism"],["socekts","sockets"],["socities","societies"],["soecialize","specialized"],["soem","some"],["soemthing","something"],["soemwhere","somewhere"],["sofisticated","sophisticated"],["softend","softened"],["softwares","software"],["softwre","software"],["sofware","software"],["sofwtare","software"],["sohw","show"],["soilders","soldiers"],["soiurce","source"],["soket","socket"],["sokets","sockets"],["solarmutx","solarmutex"],["solatary","solitary"],["solate","isolate"],["solated","isolated"],["solates","isolates"],["solating","isolating"],["soley","solely"],["solfed","solved"],["solfes","solves"],["solfing","solving"],["solfs","solves"],["soliders","soldiers"],["solification","solidification"],["soliliquy","soliloquy"],["soltion","solution"],["soltuion","solution"],["soltuions","solutions"],["soluable","soluble"],["solum","solemn"],["soluton","solution"],["solutons","solutions"],["solveable","solvable"],["solveing","solving"],["solwed","solved"],["som","some"],["someboby","somebody"],["somehing","something"],["somehting","something"],["somehwat","somewhat"],["somehwere","somewhere"],["somehwo","somehow"],["somelse","someone else"],["somemore","some more"],["somene","someone"],["somenone","someone"],["someon","someone"],["somethig","something"],["somethign","something"],["somethimes","sometimes"],["somethimg","something"],["somethiong","something"],["sometiems","sometimes"],["sometihing","something"],["sometihng","something"],["sometims","sometimes"],["sometines","sometimes"],["someting","something"],["sometinhg","something"],["sometring","something"],["sometrings","somethings"],["somewere","somewhere"],["somewher","somewhere"],["somewho","somehow"],["somme","some"],["somthign","something"],["somthing","something"],["somthingelse","somethingelse"],["somtimes","sometimes"],["somwhat","somewhat"],["somwhere","somewhere"],["somwho","somehow"],["somwhow","somehow"],["sonething","something"],["songlar","singular"],["sooaside","suicide"],["soodonim","pseudonym"],["soource","source"],["sophicated","sophisticated"],["sophisicated","sophisticated"],["sophisitcated","sophisticated"],["sophisticted","sophisticated"],["sophmore","sophomore"],["sorceror","sorcerer"],["sorkflow","workflow"],["sorrounding","surrounding"],["sortig","sorting"],["sortings","sorting"],["sortlst","sortlist"],["sortner","sorter"],["sortnr","sorter"],["soscket","socket"],["sotfware","software"],["souce","source"],["souces","sources"],["soucre","source"],["soucres","sources"],["soudn","sound"],["soudns","sounds"],["sould'nt","shouldn't"],["souldn't","shouldn't"],["soundard","soundcard"],["sountrack","soundtrack"],["sourc","source"],["sourcedrectory","sourcedirectory"],["sourcee","source"],["sourcees","sources"],["sourct","source"],["sourrounding","surrounding"],["sourth","south"],["sourthern","southern"],["southbrige","southbridge"],["souvenier","souvenir"],["souveniers","souvenirs"],["soveits","soviets"],["sover","solver"],["sovereignity","sovereignty"],["soverign","sovereign"],["soverignity","sovereignty"],["soverignty","sovereignty"],["sovle","solve"],["sovled","solved"],["sovren","sovereign"],["spacific","specific"],["spacification","specification"],["spacifications","specifications"],["spacifics","specifics"],["spacified","specified"],["spacifies","specifies"],["spaece","space"],["spaeced","spaced"],["spaeces","spaces"],["spaecing","spacing"],["spageti","spaghetti"],["spagetti","spaghetti"],["spagheti","spaghetti"],["spagnum","sphagnum"],["spainish","Spanish"],["spaning","spanning"],["sparate","separate"],["sparately","separately"],["spash","splash"],["spashed","splashed"],["spashes","splashes"],["spaw","spawn"],["spawed","spawned"],["spawing","spawning"],["spawining","spawning"],["spaws","spawns"],["spcae","space"],["spcaed","spaced"],["spcaes","spaces"],["spcaing","spacing"],["spcecified","specified"],["spcial","special"],["spcific","specific"],["spcification","specification"],["spcifications","specifications"],["spcified","specified"],["spcifies","specifies"],["spcify","specify"],["speaced","spaced"],["speach","speech"],["speacing","spacing"],["spearator","separator"],["spearators","separators"],["spec-complient","spec-compliant"],["specail","special"],["specefic","specific"],["specefically","specifically"],["speceficly","specifically"],["specefied","specified"],["specfic","specific"],["specfically","specifically"],["specfication","specification"],["specfications","specifications"],["specficication","specification"],["specficications","specifications"],["specficied","specified"],["specficies","specifies"],["specficy","specify"],["specficying","specifying"],["specfied","specified"],["specfield","specified"],["specfies","specifies"],["specfifies","specifies"],["specfify","specify"],["specfifying","specifying"],["specfiied","specified"],["specfy","specify"],["specfying","specifying"],["speciafied","specified"],["specialisaiton","specialisation"],["specialisaitons","specialisations"],["specializaiton","specialization"],["specializaitons","specializations"],["specialy","specially"],["specic","specific"],["specical","special"],["specication","specification"],["specidic","specific"],["specied","specified"],["speciefied","specified"],["specifactions","specifications"],["specifc","specific"],["specifcally","specifically"],["specifcation","specification"],["specifcations","specifications"],["specifcied","specified"],["specifclly","specifically"],["specifed","specified"],["specifes","specifies"],["speciffic","specific"],["speciffically","specifically"],["specifially","specifically"],["specificaiton","specification"],["specificaitons","specifications"],["specificallly","specifically"],["specificaly","specifically"],["specificated","specified"],["specificateion","specification"],["specificatin","specification"],["specificaton","specification"],["specificed","specified"],["specifices","specifies"],["specificially","specifically"],["specificiation","specification"],["specificiations","specifications"],["specificically","specifically"],["specificied","specified"],["specificl","specific"],["specificly","specifically"],["specifiction","specification"],["specifictions","specifications"],["specifid","specified"],["specifiec","specific"],["specifiecally","specifically"],["specifiecation","specification"],["specifiecations","specifications"],["specifiecd","specified"],["specifieced","specified"],["specifiecs","specifics"],["specifieed","specified"],["specifiees","specifies"],["specifig","specific"],["specifigation","specification"],["specifigations","specifications"],["specifing","specifying"],["specifities","specifics"],["specifiy","specify"],["specifiying","specifying"],["specifric","specific"],["specift","specify"],["specifyed","specified"],["specifyied","specified"],["specifyig","specifying"],["specifyinhg","specifying"],["speciic","specific"],["speciied","specified"],["speciifc","specific"],["speciifed","specified"],["specilisation","specialisation"],["specilisations","specialisations"],["specilization","specialization"],["specilizations","specializations"],["specilized","specialized"],["speciman","specimen"],["speciries","specifies"],["speciry","specify"],["specivied","specified"],["speciy","specify"],["speciyfing","specifying"],["speciyfying","specifying"],["speciying","specifying"],["spectauclar","spectacular"],["spectaulars","spectaculars"],["spectification","specification"],["spectifications","specifications"],["spectified","specified"],["spectifies","specifies"],["spectify","specify"],["spectifying","specifying"],["spectular","spectacular"],["spectularly","spectacularly"],["spectum","spectrum"],["specturm","spectrum"],["specualtive","speculative"],["specufies","specifies"],["specufy","specify"],["spedific","specific"],["spedified","specified"],["spedify","specify"],["speeak","speak"],["speeaking","speaking"],["speeling","spelling"],["speelling","spelling"],["speep","sleep"],["speep-up","speed-up"],["speeped","sped"],["speeping","sleeping"],["spefcifiable","specifiable"],["spefcific","specific"],["spefcifically","specifically"],["spefcification","specification"],["spefcifications","specifications"],["spefcifics","specifics"],["spefcifieid","specified"],["spefcifieir","specifier"],["spefcifieirs","specifiers"],["spefcifieis","specifies"],["spefcifiy","specify"],["spefcifiying","specifying"],["spefeid","specified"],["spefeir","specifier"],["spefeirs","specifiers"],["spefeis","specifies"],["spefiable","specifiable"],["spefial","special"],["spefic","specific"],["speficable","specifiable"],["spefically","specifically"],["spefication","specification"],["spefications","specifications"],["speficed","specified"],["speficeid","specified"],["speficeir","specifier"],["speficeirs","specifiers"],["speficeis","specifies"],["speficer","specifier"],["speficers","specifiers"],["spefices","specifies"],["speficiable","specifiable"],["speficiallally","specifically"],["speficiallation","specification"],["speficiallations","specifications"],["speficialleid","specified"],["speficialleir","specifier"],["speficialleirs","specifiers"],["speficialleis","specifies"],["speficialliable","specifiable"],["speficiallic","specific"],["speficiallically","specifically"],["speficiallication","specification"],["speficiallications","specifications"],["speficiallics","specifics"],["speficiallied","specified"],["speficiallier","specifier"],["speficialliers","specifiers"],["speficiallies","specifies"],["speficiallifed","specified"],["speficiallifer","specifier"],["speficiallifers","specifiers"],["speficiallifes","specifies"],["speficially","specifically"],["speficiation","specification"],["speficiations","specifications"],["speficic","specific"],["speficically","specifically"],["speficication","specification"],["speficications","specifications"],["speficics","specifics"],["speficied","specified"],["speficieid","specified"],["speficieir","specifier"],["speficieirs","specifiers"],["speficieis","specifies"],["speficier","specifier"],["speficiers","specifiers"],["speficies","specifies"],["speficifally","specifically"],["speficifation","specification"],["speficifations","specifications"],["speficifc","specific"],["speficifcally","specifically"],["speficifcation","specification"],["speficifcations","specifications"],["speficifcs","specifics"],["speficifed","specified"],["speficifeid","specified"],["speficifeir","specifier"],["speficifeirs","specifiers"],["speficifeis","specifies"],["speficifer","specifier"],["speficifers","specifiers"],["speficifes","specifies"],["speficifiable","specifiable"],["speficific","specific"],["speficifically","specifically"],["speficification","specification"],["speficifications","specifications"],["speficifics","specifics"],["speficified","specified"],["speficifier","specifier"],["speficifiers","specifiers"],["speficifies","specifies"],["speficififed","specified"],["speficififer","specifier"],["speficififers","specifiers"],["speficififes","specifies"],["speficify","specify"],["speficifying","specifying"],["speficiiable","specifiable"],["speficiic","specific"],["speficiically","specifically"],["speficiication","specification"],["speficiications","specifications"],["speficiics","specifics"],["speficiied","specified"],["speficiier","specifier"],["speficiiers","specifiers"],["speficiies","specifies"],["speficiifed","specified"],["speficiifer","specifier"],["speficiifers","specifiers"],["speficiifes","specifies"],["speficillally","specifically"],["speficillation","specification"],["speficillations","specifications"],["speficilleid","specified"],["speficilleir","specifier"],["speficilleirs","specifiers"],["speficilleis","specifies"],["speficilliable","specifiable"],["speficillic","specific"],["speficillically","specifically"],["speficillication","specification"],["speficillications","specifications"],["speficillics","specifics"],["speficillied","specified"],["speficillier","specifier"],["speficilliers","specifiers"],["speficillies","specifies"],["speficillifed","specified"],["speficillifer","specifier"],["speficillifers","specifiers"],["speficillifes","specifies"],["speficilly","specifically"],["speficitally","specifically"],["speficitation","specification"],["speficitations","specifications"],["speficiteid","specified"],["speficiteir","specifier"],["speficiteirs","specifiers"],["speficiteis","specifies"],["speficitiable","specifiable"],["speficitic","specific"],["speficitically","specifically"],["speficitication","specification"],["speficitications","specifications"],["speficitics","specifics"],["speficitied","specified"],["speficitier","specifier"],["speficitiers","specifiers"],["speficities","specificities"],["speficitifed","specified"],["speficitifer","specifier"],["speficitifers","specifiers"],["speficitifes","specifies"],["speficity","specificity"],["speficiy","specify"],["speficiying","specifying"],["spefics","specifics"],["speficy","specify"],["speficying","specifying"],["spefied","specified"],["spefier","specifier"],["spefiers","specifiers"],["spefies","specifies"],["spefifally","specifically"],["spefifation","specification"],["spefifations","specifications"],["spefifed","specified"],["spefifeid","specified"],["spefifeir","specifier"],["spefifeirs","specifiers"],["spefifeis","specifies"],["spefifer","specifier"],["spefifers","specifiers"],["spefifes","specifies"],["spefifiable","specifiable"],["spefific","specific"],["spefifically","specifically"],["spefification","specification"],["spefifications","specifications"],["spefifics","specifics"],["spefified","specified"],["spefifier","specifier"],["spefifiers","specifiers"],["spefifies","specifies"],["spefififed","specified"],["spefififer","specifier"],["spefififers","specifiers"],["spefififes","specifies"],["spefify","specify"],["spefifying","specifying"],["spefiiable","specifiable"],["spefiic","specific"],["spefiically","specifically"],["spefiication","specification"],["spefiications","specifications"],["spefiics","specifics"],["spefiied","specified"],["spefiier","specifier"],["spefiiers","specifiers"],["spefiies","specifies"],["spefiifally","specifically"],["spefiifation","specification"],["spefiifations","specifications"],["spefiifeid","specified"],["spefiifeir","specifier"],["spefiifeirs","specifiers"],["spefiifeis","specifies"],["spefiifiable","specifiable"],["spefiific","specific"],["spefiifically","specifically"],["spefiification","specification"],["spefiifications","specifications"],["spefiifics","specifics"],["spefiified","specified"],["spefiifier","specifier"],["spefiifiers","specifiers"],["spefiifies","specifies"],["spefiififed","specified"],["spefiififer","specifier"],["spefiififers","specifiers"],["spefiififes","specifies"],["spefiify","specify"],["spefiifying","specifying"],["spefixally","specifically"],["spefixation","specification"],["spefixations","specifications"],["spefixeid","specified"],["spefixeir","specifier"],["spefixeirs","specifiers"],["spefixeis","specifies"],["spefixiable","specifiable"],["spefixic","specific"],["spefixically","specifically"],["spefixication","specification"],["spefixications","specifications"],["spefixics","specifics"],["spefixied","specified"],["spefixier","specifier"],["spefixiers","specifiers"],["spefixies","specifies"],["spefixifed","specified"],["spefixifer","specifier"],["spefixifers","specifiers"],["spefixifes","specifies"],["spefixy","specify"],["spefixying","specifying"],["spefiy","specify"],["spefiying","specifying"],["spefy","specify"],["spefying","specifying"],["speherical","spherical"],["speical","special"],["speices","species"],["speicfied","specified"],["speicific","specific"],["speicified","specified"],["speicify","specify"],["speling","spelling"],["spellshecking","spellchecking"],["spendour","splendour"],["speparate","separate"],["speparated","separated"],["speparating","separating"],["speparation","separation"],["speparator","separator"],["spepc","spec"],["speperatd","separated"],["speperate","separate"],["speperateing","separating"],["speperater","separator"],["speperates","separates"],["speperating","separating"],["speperator","separator"],["speperats","separates"],["sperate","separate"],["sperately","separately"],["sperhical","spherical"],["spermatozoan","spermatozoon"],["speshal","special"],["speshel","special"],["spesialisation","specialization"],["spesific","specific"],["spesifical","specific"],["spesifically","specifically"],["spesificaly","specifically"],["spesifics","specifics"],["spesified","specified"],["spesifities","specifics"],["spesify","specify"],["spezialisation","specialization"],["spezific","specific"],["spezified","specified"],["spezify","specify"],["spicific","specific"],["spicified","specified"],["spicify","specify"],["spiltting","splitting"],["spindel","spindle"],["spindels","spindles"],["spinlcok","spinlock"],["spinock","spinlock"],["spligs","splits"],["spliiter","splitter"],["spliitting","splitting"],["spliting","splitting"],["splitted","split"],["splittng","splitting"],["spllitting","splitting"],["spoace","space"],["spoaced","spaced"],["spoaces","spaces"],["spoacing","spacing"],["sponser","sponsor"],["sponsered","sponsored"],["sponsers","sponsors"],["sponsership","sponsorship"],["spontanous","spontaneous"],["sponzored","sponsored"],["spoonfulls","spoonfuls"],["sporatic","sporadic"],["sporious","spurious"],["sppeches","speeches"],["spport","support"],["spported","supported"],["spporting","supporting"],["spports","supports"],["spreaded","spread"],["spreadhseet","spreadsheet"],["spreadhseets","spreadsheets"],["spreadsheat","spreadsheet"],["spreadsheats","spreadsheets"],["spreasheet","spreadsheet"],["spreasheets","spreadsheets"],["sprech","speech"],["sprecial","special"],["sprecialized","specialized"],["sprecially","specially"],["spred","spread"],["spredsheet","spreadsheet"],["spreedsheet","spreadsheet"],["sprinf","sprintf"],["spririous","spurious"],["spriritual","spiritual"],["spritual","spiritual"],["sproon","spoon"],["spsace","space"],["spsaced","spaced"],["spsaces","spaces"],["spsacing","spacing"],["sptintf","sprintf"],["spurios","spurious"],["spurrious","spurious"],["sqare","square"],["sqared","squared"],["sqares","squares"],["sqash","squash"],["sqashed","squashed"],["sqashing","squashing"],["sqaure","square"],["sqaured","squared"],["sqaures","squares"],["sqeuence","sequence"],["squashgin","squashing"],["squence","sequence"],["squirel","squirrel"],["squirl","squirrel"],["squrared","squared"],["srcipt","script"],["srcipts","scripts"],["sreampropinfo","streampropinfo"],["sreenshot","screenshot"],["sreenshots","screenshots"],["sreturns","returns"],["srikeout","strikeout"],["sring","string"],["srings","strings"],["srink","shrink"],["srinkd","shrunk"],["srinked","shrunk"],["srinking","shrinking"],["sript","script"],["sripts","scripts"],["srollbar","scrollbar"],["srouce","source"],["srtifact","artifact"],["srtifacts","artifacts"],["srtings","strings"],["srtructure","structure"],["srttings","settings"],["sructure","structure"],["sructures","structures"],["srunk","shrunk"],["srunken","shrunken"],["srunkn","shrunken"],["ssame","same"],["ssee","see"],["ssoaiating","associating"],["ssome","some"],["stabalization","stabilization"],["stabilitation","stabilization"],["stabilite","stabilize"],["stabilited","stabilized"],["stabilites","stabilizes"],["stabiliting","stabilizing"],["stabillity","stability"],["stabilty","stability"],["stablility","stability"],["stablilization","stabilization"],["stablize","stabilize"],["stach","stack"],["stacionary","stationary"],["stackk","stack"],["stadnard","standard"],["stadnardisation","standardisation"],["stadnardised","standardised"],["stadnardising","standardising"],["stadnardization","standardization"],["stadnardized","standardized"],["stadnardizing","standardizing"],["stadnards","standards"],["stae","state"],["staement","statement"],["staically","statically"],["stainlees","stainless"],["staion","station"],["staions","stations"],["staition","station"],["staitions","stations"],["stalagtite","stalactite"],["standar","standard"],["standarad","standard"],["standard-complient","standard-compliant"],["standardss","standards"],["standarisation","standardisation"],["standarise","standardise"],["standarised","standardised"],["standarises","standardises"],["standarising","standardising"],["standarization","standardization"],["standarize","standardize"],["standarized","standardized"],["standarizes","standardizes"],["standarizing","standardizing"],["standart","standard"],["standartd","standard"],["standartds","standards"],["standartisation","standardisation"],["standartisator","standardiser"],["standartised","standardised"],["standartization","standardization"],["standartizator","standardizer"],["standartized","standardized"],["standarts","standards"],["standatd","standard"],["standrat","standard"],["standrats","standards"],["standtard","standard"],["stange","strange"],["stanp","stamp"],["staration","starvation"],["stard","start"],["stardard","standard"],["stardardize","standardize"],["stardardized","standardized"],["stardardizes","standardizes"],["stardardizing","standardizing"],["stardards","standards"],["staright","straight"],["startd","started"],["startegic","strategic"],["startegies","strategies"],["startegy","strategy"],["startet","started"],["startign","starting"],["startin","starting"],["startlisteneing","startlistening"],["startnig","starting"],["startparanthesis","startparentheses"],["startted","started"],["startting","starting"],["starup","startup"],["starups","startups"],["statamenet","statement"],["statamenets","statements"],["stategies","strategies"],["stategise","strategise"],["stategised","strategised"],["stategize","strategize"],["stategized","strategized"],["stategy","strategy"],["stateman","statesman"],["statemanet","statement"],["statememts","statements"],["statemen","statement"],["statemenet","statement"],["statemenets","statements"],["statemet","statement"],["statemnts","statements"],["stati","statuses"],["staticly","statically"],["statictic","statistic"],["statictics","statistics"],["statisfied","satisfied"],["statisfies","satisfies"],["statisfy","satisfy"],["statisfying","satisfying"],["statisitics","statistics"],["statistices","statistics"],["statitic","statistic"],["statitics","statistics"],["statmenet","statement"],["statmenmt","statement"],["statment","statement"],["statments","statements"],["statrt","start"],["stattistic","statistic"],["statubar","statusbar"],["statuline","statusline"],["statulines","statuslines"],["statup","startup"],["staturday","Saturday"],["statuss","status"],["statusses","statuses"],["statustics","statistics"],["staulk","stalk"],["stauration","saturation"],["staus","status"],["stawberries","strawberries"],["stawberry","strawberry"],["stawk","stalk"],["stcokbrush","stockbrush"],["stdanard","standard"],["stdanards","standards"],["stength","strength"],["steram","stream"],["steramed","streamed"],["steramer","streamer"],["steraming","streaming"],["sterams","streams"],["sterio","stereo"],["steriods","steroids"],["sterotype","stereotype"],["sterotypes","stereotypes"],["stickness","stickiness"],["stickyness","stickiness"],["stiffneing","stiffening"],["stiky","sticky"],["stil","still"],["stilus","stylus"],["stingent","stringent"],["stipped","stripped"],["stiring","stirring"],["stirng","string"],["stirngs","strings"],["stirr","stir"],["stirrs","stirs"],["stivk","stick"],["stivks","sticks"],["stle","style"],["stlye","style"],["stlyes","styles"],["stnad","stand"],["stndard","standard"],["stoage","storage"],["stoages","storages"],["stocahstic","stochastic"],["stocastic","stochastic"],["stoer","store"],["stoers","stores"],["stomache","stomach"],["stompted","stomped"],["stong","strong"],["stoped","stopped"],["stoping","stopping"],["stopp","stop"],["stoppped","stopped"],["stoppping","stopping"],["stopps","stops"],["stopry","story"],["storag","storage"],["storeable","storable"],["storeage","storage"],["stoream","stream"],["storeble","storable"],["storeing","storing"],["storge","storage"],["storise","stories"],["stornegst","strongest"],["stoyr","story"],["stpo","stop"],["stradegies","strategies"],["stradegy","strategy"],["stragegy","strategy"],["strageties","strategies"],["stragety","strategy"],["straigh-forward","straightforward"],["straighforward","straightforward"],["straightfoward","straightforward"],["straigt","straight"],["straigth","straight"],["straines","strains"],["strangness","strangeness"],["strart","start"],["strarted","started"],["strarting","starting"],["strarts","starts"],["stratagically","strategically"],["strcture","structure"],["strctures","structures"],["strcutre","structure"],["strcutural","structural"],["strcuture","structure"],["strcutures","structures"],["streamm","stream"],["streammed","streamed"],["streamming","streaming"],["streatched","stretched"],["strech","stretch"],["streched","stretched"],["streches","stretches"],["streching","stretching"],["strectch","stretch"],["strecth","stretch"],["strecthed","stretched"],["strecthes","stretches"],["strecthing","stretching"],["streem","stream"],["streemlining","streamlining"],["stregth","strength"],["streightish","straightish"],["streightly","straightly"],["streightness","straightness"],["streigtish","straightish"],["streigtly","straightly"],["streigtness","straightness"],["strem","stream"],["strema","stream"],["strengh","strength"],["strenghen","strengthen"],["strenghened","strengthened"],["strenghening","strengthening"],["strenght","strength"],["strenghten","strengthen"],["strenghtened","strengthened"],["strenghtening","strengthening"],["strenghts","strengths"],["strengtened","strengthened"],["strenous","strenuous"],["strentgh","strength"],["strenth","strength"],["strerrror","strerror"],["striaght","straight"],["striaghten","straighten"],["striaghtens","straightens"],["striaghtforward","straightforward"],["striaghts","straights"],["striclty","strictly"],["stricly","strictly"],["stricteir","stricter"],["strictier","stricter"],["strictiest","strictest"],["strictist","strictest"],["strig","string"],["strigification","stringification"],["strigifying","stringifying"],["striing","string"],["striings","strings"],["strikely","strikingly"],["stringifed","stringified"],["strinsg","strings"],["strippen","stripped"],["stript","stripped"],["strirngification","stringification"],["strnad","strand"],["strng","string"],["stroage","storage"],["stroe","store"],["stroing","storing"],["stronlgy","strongly"],["stronly","strongly"],["strore","store"],["strored","stored"],["strores","stores"],["stroring","storing"],["strotage","storage"],["stroyboard","storyboard"],["struc","struct"],["strucrure","structure"],["strucrured","structured"],["strucrures","structures"],["structed","structured"],["structer","structure"],["structere","structure"],["structered","structured"],["structeres","structures"],["structetr","structure"],["structire","structure"],["structre","structure"],["structred","structured"],["structres","structures"],["structrual","structural"],["structrue","structure"],["structrued","structured"],["structrues","structures"],["structual","structural"],["structue","structure"],["structued","structured"],["structues","structures"],["structur","structure"],["structurs","structures"],["strucur","structure"],["strucure","structure"],["strucured","structured"],["strucures","structures"],["strucuring","structuring"],["strucurs","structures"],["strucutre","structure"],["strucutred","structured"],["strucutres","structures"],["strucuture","structure"],["struggel","struggle"],["struggeled","struggled"],["struggeling","struggling"],["struggels","struggles"],["struttural","structural"],["strutture","structure"],["struture","structure"],["ststion","station"],["ststionary","stationary"],["ststioned","stationed"],["ststionery","stationery"],["ststions","stations"],["ststr","strstr"],["stteting","setting"],["sttetings","settings"],["stubborness","stubbornness"],["stucked","stuck"],["stuckt","stuck"],["stuct","struct"],["stucts","structs"],["stucture","structure"],["stuctured","structured"],["stuctures","structures"],["studdy","study"],["studetn","student"],["studetns","students"],["studing","studying"],["studoi","studio"],["studois","studios"],["stuggling","struggling"],["stuido","studio"],["stuidos","studios"],["stuill","still"],["stummac","stomach"],["sturctural","structural"],["sturcture","structure"],["sturctures","structures"],["sturture","structure"],["sturtured","structured"],["sturtures","structures"],["sturucture","structure"],["stutdown","shutdown"],["stutus","status"],["styhe","style"],["styilistic","stylistic"],["stylessheets","stylesheets"],["sub-lcuase","sub-clause"],["subbtle","subtle"],["subcatagories","subcategories"],["subcatagory","subcategory"],["subcirucit","subcircuit"],["subcommannd","subcommand"],["subcommnad","subcommand"],["subconchus","subconscious"],["subconsiously","subconsciously"],["subcribe","subscribe"],["subcribed","subscribed"],["subcribes","subscribes"],["subcribing","subscribing"],["subdirectoires","subdirectories"],["subdirectorys","subdirectories"],["subdirecty","subdirectory"],["subdivisio","subdivision"],["subdivisiond","subdivisioned"],["subdoamin","subdomain"],["subdoamins","subdomains"],["subelemet","subelement"],["subelemets","subelements"],["subexperesion","subexpression"],["subexperesions","subexpressions"],["subexperession","subexpression"],["subexperessions","subexpressions"],["subexpersion","subexpression"],["subexpersions","subexpressions"],["subexperssion","subexpression"],["subexperssions","subexpressions"],["subexpession","subexpression"],["subexpessions","subexpressions"],["subexpresssion","subexpression"],["subexpresssions","subexpressions"],["subfolfer","subfolder"],["subfolfers","subfolders"],["subfromat","subformat"],["subfromats","subformats"],["subfroms","subforms"],["subgregion","subregion"],["subirectory","subdirectory"],["subjec","subject"],["subjet","subject"],["subjudgation","subjugation"],["sublass","subclass"],["sublasse","subclasse"],["sublasses","subclasses"],["sublcasses","subclasses"],["sublcuase","subclause"],["suble","subtle"],["submachne","submachine"],["submision","submission"],["submisson","submission"],["submited","submitted"],["submition","submission"],["submitions","submissions"],["submittted","submitted"],["submoule","submodule"],["submti","submit"],["subnegatiotiation","subnegotiation"],["subnegatiotiations","subnegotiations"],["subnegoatiation","subnegotiation"],["subnegoatiations","subnegotiations"],["subnegoation","subnegotiation"],["subnegoations","subnegotiations"],["subnegociation","subnegotiation"],["subnegociations","subnegotiations"],["subnegogtiation","subnegotiation"],["subnegogtiations","subnegotiations"],["subnegoitation","subnegotiation"],["subnegoitations","subnegotiations"],["subnegoptionsotiation","subnegotiation"],["subnegoptionsotiations","subnegotiations"],["subnegosiation","subnegotiation"],["subnegosiations","subnegotiations"],["subnegotaiation","subnegotiation"],["subnegotaiations","subnegotiations"],["subnegotaition","subnegotiation"],["subnegotaitions","subnegotiations"],["subnegotatiation","subnegotiation"],["subnegotatiations","subnegotiations"],["subnegotation","subnegotiation"],["subnegotations","subnegotiations"],["subnegothiation","subnegotiation"],["subnegothiations","subnegotiations"],["subnegotication","subnegotiation"],["subnegotications","subnegotiations"],["subnegotioation","subnegotiation"],["subnegotioations","subnegotiations"],["subnegotion","subnegotiation"],["subnegotionation","subnegotiation"],["subnegotionations","subnegotiations"],["subnegotions","subnegotiations"],["subnegotiotation","subnegotiation"],["subnegotiotations","subnegotiations"],["subnegotiotion","subnegotiation"],["subnegotiotions","subnegotiations"],["subnegotitaion","subnegotiation"],["subnegotitaions","subnegotiations"],["subnegotitation","subnegotiation"],["subnegotitations","subnegotiations"],["subnegotition","subnegotiation"],["subnegotitions","subnegotiations"],["subnegoziation","subnegotiation"],["subnegoziations","subnegotiations"],["subobjecs","subobjects"],["suborutine","subroutine"],["suborutines","subroutines"],["suboutine","subroutine"],["subpackge","subpackage"],["subpackges","subpackages"],["subpecies","subspecies"],["subporgram","subprogram"],["subproccese","subprocess"],["subpsace","subspace"],["subquue","subqueue"],["subract","subtract"],["subracted","subtracted"],["subraction","subtraction"],["subree","subtree"],["subresoure","subresource"],["subresoures","subresources"],["subroutie","subroutine"],["subrouties","subroutines"],["subsceptible","susceptible"],["subscibe","subscribe"],["subscibed","subscribed"],["subsciber","subscriber"],["subscibers","subscribers"],["subscirbe","subscribe"],["subscirbed","subscribed"],["subscirber","subscriber"],["subscirbers","subscribers"],["subscirbes","subscribes"],["subscirbing","subscribing"],["subscirpt","subscript"],["subscirption","subscription"],["subscirptions","subscriptions"],["subscritpion","subscription"],["subscritpions","subscriptions"],["subscritpiton","subscription"],["subscritpitons","subscriptions"],["subscritpt","subscript"],["subscritption","subscription"],["subscritptions","subscriptions"],["subsctitution","substitution"],["subsecrion","subsection"],["subsedent","subsequent"],["subseqence","subsequence"],["subseqent","subsequent"],["subsequest","subsequent"],["subsequnce","subsequence"],["subsequnt","subsequent"],["subsequntly","subsequently"],["subseuqent","subsequent"],["subshystem","subsystem"],["subshystems","subsystems"],["subsidary","subsidiary"],["subsiduary","subsidiary"],["subsiquent","subsequent"],["subsiquently","subsequently"],["subsituent","substituent"],["subsituents","substituents"],["subsitutable","substitutable"],["subsitutatble","substitutable"],["subsitute","substitute"],["subsituted","substituted"],["subsitutes","substitutes"],["subsituting","substituting"],["subsitution","substitution"],["subsitutions","substitutions"],["subsitutuent","substituent"],["subsitutuents","substituents"],["subsitutute","substitute"],["subsitututed","substituted"],["subsitututes","substitutes"],["subsitututing","substituting"],["subsitutution","substitution"],["subsquent","subsequent"],["subsquently","subsequently"],["subsriber","subscriber"],["substace","substance"],["substact","subtract"],["substaintially","substantially"],["substancial","substantial"],["substantialy","substantially"],["substantivly","substantively"],["substask","subtask"],["substasks","subtasks"],["substatial","substantial"],["substential","substantial"],["substentially","substantially"],["substition","substitution"],["substitions","substitutions"],["substitition","substitution"],["substititions","substitutions"],["substituation","substitution"],["substituations","substitutions"],["substitude","substitute"],["substituded","substituted"],["substitudes","substitutes"],["substituding","substituting"],["substitue","substitute"],["substitues","substitutes"],["substituing","substituting"],["substituion","substitution"],["substituions","substitutions"],["substiution","substitution"],["substract","subtract"],["substracted","subtracted"],["substracting","subtracting"],["substraction","subtraction"],["substracts","subtracts"],["substucture","substructure"],["substuctures","substructures"],["substutite","substitute"],["subsysthem","subsystem"],["subsysthems","subsystems"],["subsystyem","subsystem"],["subsystyems","subsystems"],["subsysytem","subsystem"],["subsysytems","subsystems"],["subsytem","subsystem"],["subsytems","subsystems"],["subtabels","subtables"],["subtak","subtask"],["subtances","substances"],["subterranian","subterranean"],["subtitute","substitute"],["subtituted","substituted"],["subtitutes","substitutes"],["subtituting","substituting"],["subtitution","substitution"],["subtitutions","substitutions"],["subtrafuge","subterfuge"],["subtrate","substrate"],["subtrates","substrates"],["subtring","substring"],["subtrings","substrings"],["subtsitutable","substitutable"],["subtsitutatble","substitutable"],["suburburban","suburban"],["subystem","subsystem"],["subystems","subsystems"],["succceeded","succeeded"],["succcess","success"],["succcesses","successes"],["succcessful","successful"],["succcessfully","successfully"],["succcessor","successor"],["succcessors","successors"],["succcessul","successful"],["succcessully","successfully"],["succecful","successful"],["succed","succeed"],["succedd","succeed"],["succedded","succeeded"],["succedding","succeeding"],["succedds","succeeds"],["succede","succeed"],["succeded","succeeded"],["succedes","succeeds"],["succedfully","successfully"],["succeding","succeeding"],["succeds","succeeds"],["succee","succeed"],["succeedde","succeeded"],["succeedes","succeeds"],["succeess","success"],["succeesses","successes"],["succes","success"],["succesful","successful"],["succesfull","successful"],["succesfully","successfully"],["succesfuly","successfully"],["succesion","succession"],["succesive","successive"],["succesor","successor"],["succesors","successors"],["successfui","successful"],["successfule","successful"],["successfull","successful"],["successfullies","successfully"],["successfullly","successfully"],["successfulln","successful"],["successfullness","successfulness"],["successfullt","successfully"],["successfuly","successfully"],["successing","successive"],["successs","success"],["successsfully","successfully"],["successsion","succession"],["successul","successful"],["successully","successfully"],["succesully","successfully"],["succicently","sufficiently"],["succint","succinct"],["succseeded","succeeded"],["succsess","success"],["succsessfull","successful"],["succsessive","successive"],["succssful","successful"],["succussfully","successfully"],["suceed","succeed"],["suceeded","succeeded"],["suceeding","succeeding"],["suceeds","succeeds"],["suceessfully","successfully"],["suces","success"],["suceses","successes"],["sucesful","successful"],["sucesfull","successful"],["sucesfully","successfully"],["sucesfuly","successfully"],["sucesion","succession"],["sucesive","successive"],["sucess","success"],["sucesscient","sufficient"],["sucessed","succeeded"],["sucessefully","successfully"],["sucesses","successes"],["sucessess","success"],["sucessflly","successfully"],["sucessfually","successfully"],["sucessfukk","successful"],["sucessful","successful"],["sucessfull","successful"],["sucessfully","successfully"],["sucessfuly","successfully"],["sucession","succession"],["sucessiv","successive"],["sucessive","successive"],["sucessively","successively"],["sucessor","successor"],["sucessors","successors"],["sucessot","successor"],["sucesss","success"],["sucessses","successes"],["sucesssful","successful"],["sucesssfull","successful"],["sucesssfully","successfully"],["sucesssfuly","successfully"],["sucessufll","successful"],["sucessuflly","successfully"],["sucessully","successfully"],["sucide","suicide"],["sucidial","suicidal"],["sucome","succumb"],["sucsede","succeed"],["sucsess","success"],["sudent","student"],["sudents","students"],["sudmobule","submodule"],["sudmobules","submodules"],["sueful","useful"],["sueprset","superset"],["suface","surface"],["sufaces","surfaces"],["sufface","surface"],["suffaces","surfaces"],["suffciency","sufficiency"],["suffcient","sufficient"],["suffciently","sufficiently"],["sufferage","suffrage"],["sufferred","suffered"],["sufferring","suffering"],["sufficate","suffocate"],["sufficated","suffocated"],["sufficates","suffocates"],["sufficating","suffocating"],["suffication","suffocation"],["sufficency","sufficiency"],["sufficent","sufficient"],["sufficently","sufficiently"],["sufficiancy","sufficiency"],["sufficiant","sufficient"],["sufficiantly","sufficiently"],["sufficiennt","sufficient"],["sufficienntly","sufficiently"],["suffiency","sufficiency"],["suffient","sufficient"],["suffiently","sufficiently"],["suffisticated","sophisticated"],["suficate","suffocate"],["suficated","suffocated"],["suficates","suffocates"],["suficating","suffocating"],["sufication","suffocation"],["suficcient","sufficient"],["suficient","sufficient"],["suficiently","sufficiently"],["sufocate","suffocate"],["sufocated","suffocated"],["sufocates","suffocates"],["sufocating","suffocating"],["sufocation","suffocation"],["sugested","suggested"],["sugestion","suggestion"],["sugestions","suggestions"],["sugests","suggests"],["suggesst","suggest"],["suggessted","suggested"],["suggessting","suggesting"],["suggesstion","suggestion"],["suggesstions","suggestions"],["suggessts","suggests"],["suggestes","suggests"],["suggestin","suggestion"],["suggestins","suggestions"],["suggestsed","suggested"],["suggestted","suggested"],["suggesttion","suggestion"],["suggesttions","suggestions"],["sugget","suggest"],["suggeted","suggested"],["suggetsed","suggested"],["suggetsing","suggesting"],["suggetsion","suggestion"],["sugggest","suggest"],["sugggested","suggested"],["sugggesting","suggesting"],["sugggestion","suggestion"],["sugggestions","suggestions"],["sugguest","suggest"],["sugguested","suggested"],["sugguesting","suggesting"],["sugguestion","suggestion"],["sugguestions","suggestions"],["suh","such"],["suiete","suite"],["suiteable","suitable"],["sumamry","summary"],["sumarize","summarize"],["sumary","summary"],["sumbitted","submitted"],["sumed-up","summed-up"],["summarizen","summarize"],["summay","summary"],["summerised","summarised"],["summerized","summarized"],["summersalt","somersault"],["summmaries","summaries"],["summmarisation","summarisation"],["summmarised","summarised"],["summmarization","summarization"],["summmarized","summarized"],["summmary","summary"],["sumodules","submodules"],["sumulate","simulate"],["sumulated","simulated"],["sumulates","simulates"],["sumulation","simulation"],["sumulations","simulations"],["sundey","Sunday"],["sunglases","sunglasses"],["sunsday","Sunday"],["suntask","subtask"],["suop","soup"],["supeblock","superblock"],["supeena","subpoena"],["superbock","superblock"],["superbocks","superblocks"],["supercalifragilisticexpialidoceous","supercalifragilisticexpialidocious"],["supercede","supersede"],["superceded","superseded"],["supercedes","supersedes"],["superceding","superseding"],["superceed","supersede"],["superceeded","superseded"],["superflouous","superfluous"],["superflous","superfluous"],["superflouse","superfluous"],["superfluious","superfluous"],["superfluos","superfluous"],["superfulous","superfluous"],["superintendant","superintendent"],["superopeator","superoperator"],["supersed","superseded"],["superseedd","superseded"],["superseede","supersede"],["superseeded","superseded"],["suphisticated","sophisticated"],["suplant","supplant"],["suplanted","supplanted"],["suplanting","supplanting"],["suplants","supplants"],["suplementary","supplementary"],["suplied","supplied"],["suplimented","supplemented"],["supllies","supplies"],["suport","support"],["suported","supported"],["suporting","supporting"],["suports","supports"],["suportted","supported"],["suposable","supposable"],["supose","suppose"],["suposeable","supposable"],["suposed","supposed"],["suposedly","supposedly"],["suposes","supposes"],["suposing","supposing"],["suposse","suppose"],["suppied","supplied"],["suppier","supplier"],["suppies","supplies"],["supplamented","supplemented"],["suppliad","supplied"],["suppliementing","supplementing"],["suppliment","supplement"],["supplyed","supplied"],["suppoed","supposed"],["suppoert","support"],["suppoort","support"],["suppoorts","supports"],["suppopose","suppose"],["suppoprt","support"],["suppoprted","supported"],["suppor","support"],["suppored","supported"],["supporession","suppression"],["supporing","supporting"],["supportd","supported"],["supportes","supports"],["supportin","supporting"],["supportt","support"],["supportted","supported"],["supportting","supporting"],["supportts","supports"],["supposeable","supposable"],["supposeded","supposed"],["supposedely","supposedly"],["supposeds","supposed"],["supposedy","supposedly"],["supposingly","supposedly"],["suppossed","supposed"],["suppoted","supported"],["suppplied","supplied"],["suppport","support"],["suppported","supported"],["suppporting","supporting"],["suppports","supports"],["suppres","suppress"],["suppresed","suppressed"],["suppresion","suppression"],["suppresions","suppressions"],["suppressingd","suppressing"],["supprot","support"],["supproted","supported"],["supproter","supporter"],["supproters","supporters"],["supproting","supporting"],["supprots","supports"],["supprt","support"],["supprted","supported"],["suppurt","support"],["suppurted","supported"],["suppurter","supporter"],["suppurters","supporters"],["suppurting","supporting"],["suppurtive","supportive"],["suppurts","supports"],["suppy","supply"],["suppying","supplying"],["suprassing","surpassing"],["supres","suppress"],["supresed","suppressed"],["supreses","suppresses"],["supresing","suppressing"],["supresion","suppression"],["supress","suppress"],["supressed","suppressed"],["supresses","suppresses"],["supressible","suppressible"],["supressing","suppressing"],["supression","suppression"],["supressions","suppressions"],["supressor","suppressor"],["supressors","suppressors"],["supresssion","suppression"],["suprious","spurious"],["suprise","surprise"],["suprised","surprised"],["suprises","surprises"],["suprising","surprising"],["suprisingly","surprisingly"],["suprize","surprise"],["suprized","surprised"],["suprizing","surprising"],["suprizingly","surprisingly"],["supsend","suspend"],["supspect","suspect"],["supspected","suspected"],["supspecting","suspecting"],["supspects","suspects"],["surbert","sherbet"],["surfce","surface"],["surgest","suggest"],["surgested","suggested"],["surgestion","suggestion"],["surgestions","suggestions"],["surgests","suggests"],["suround","surround"],["surounded","surrounded"],["surounding","surrounding"],["suroundings","surroundings"],["surounds","surrounds"],["surpise","surprise"],["surpises","surprises"],["surplanted","supplanted"],["surport","support"],["surported","supported"],["surpress","suppress"],["surpressed","suppressed"],["surpresses","suppresses"],["surpressing","suppressing"],["surprisinlgy","surprisingly"],["surprize","surprise"],["surprized","surprised"],["surprizing","surprising"],["surprizingly","surprisingly"],["surregat","surrogate"],["surrepetitious","surreptitious"],["surrepetitiously","surreptitiously"],["surreptious","surreptitious"],["surreptiously","surreptitiously"],["surrogage","surrogate"],["surronded","surrounded"],["surrouded","surrounded"],["surrouding","surrounding"],["surrrounded","surrounded"],["surrundering","surrendering"],["survay","survey"],["survays","surveys"],["surveilence","surveillance"],["surveill","surveil"],["surveyer","surveyor"],["surviver","survivor"],["survivers","survivors"],["survivied","survived"],["susbcribed","subscribed"],["susbsystem","subsystem"],["susbsystems","subsystems"],["susbsytem","subsystem"],["susbsytems","subsystems"],["suscribe","subscribe"],["suscribed","subscribed"],["suscribes","subscribes"],["suscript","subscript"],["susepect","suspect"],["suseptable","susceptible"],["suseptible","susceptible"],["susinctly","succinctly"],["susinkt","succinct"],["suspedn","suspend"],["suspeneded","suspended"],["suspention","suspension"],["suspicios","suspicious"],["suspicioulsy","suspiciously"],["suspicous","suspicious"],["suspicously","suspiciously"],["suspision","suspicion"],["suspsend","suspend"],["sussinct","succinct"],["sustainaiblity","sustainability"],["sustem","system"],["sustems","systems"],["sustitution","substitution"],["sustitutions","substitutions"],["susupend","suspend"],["sutdown","shutdown"],["sutisfaction","satisfaction"],["sutisfied","satisfied"],["sutisfies","satisfies"],["sutisfy","satisfy"],["sutisfying","satisfying"],["suttled","shuttled"],["suttles","shuttles"],["suttlety","subtlety"],["suttling","shuttling"],["suuport","support"],["suuported","supported"],["suuporting","supporting"],["suuports","supports"],["suvenear","souvenir"],["suystem","system"],["suystemic","systemic"],["suystems","systems"],["svelt","svelte"],["swaer","swear"],["swaers","swears"],["swalloed","swallowed"],["swaped","swapped"],["swapiness","swappiness"],["swaping","swapping"],["swarmin","swarming"],["swcloumns","swcolumns"],["swepth","swept"],["swich","switch"],["swiched","switched"],["swiching","switching"],["swicth","switch"],["swicthed","switched"],["swicthing","switching"],["swiming","swimming"],["switchs","switches"],["switcht","switched"],["switchting","switching"],["swith","switch"],["swithable","switchable"],["swithc","switch"],["swithcboard","switchboard"],["swithced","switched"],["swithces","switches"],["swithch","switch"],["swithches","switches"],["swithching","switching"],["swithcing","switching"],["swithcover","switchover"],["swithed","switched"],["swither","switcher"],["swithes","switches"],["swithing","switching"],["switiches","switches"],["swown","shown"],["swtich","switch"],["swtichable","switchable"],["swtichback","switchback"],["swtichbacks","switchbacks"],["swtichboard","switchboard"],["swtichboards","switchboards"],["swtiched","switched"],["swticher","switcher"],["swtichers","switchers"],["swtiches","switches"],["swtiching","switching"],["swtichover","switchover"],["swtichs","switches"],["sxl","xsl"],["syantax","syntax"],["syas","says"],["syatem","system"],["syatems","systems"],["sybsystem","subsystem"],["sybsystems","subsystems"],["sychronisation","synchronisation"],["sychronise","synchronise"],["sychronised","synchronised"],["sychroniser","synchroniser"],["sychronises","synchronises"],["sychronisly","synchronously"],["sychronization","synchronization"],["sychronize","synchronize"],["sychronized","synchronized"],["sychronizer","synchronizer"],["sychronizes","synchronizes"],["sychronmode","synchronmode"],["sychronous","synchronous"],["sychronously","synchronously"],["sycle","cycle"],["sycled","cycled"],["sycles","cycles"],["sycling","cycling"],["sycn","sync"],["sycology","psychology"],["sycronise","synchronise"],["sycronised","synchronised"],["sycronises","synchronises"],["sycronising","synchronising"],["sycronization","synchronization"],["sycronizations","synchronizations"],["sycronize","synchronize"],["sycronized","synchronized"],["sycronizes","synchronizes"],["sycronizing","synchronizing"],["sycronous","synchronous"],["sycronously","synchronously"],["sycronus","synchronous"],["sylabus","syllabus"],["syle","style"],["syles","styles"],["sylibol","syllable"],["sylinder","cylinder"],["sylinders","cylinders"],["sylistic","stylistic"],["sylog","syslog"],["symantics","semantics"],["symblic","symbolic"],["symbo","symbol"],["symboles","symbols"],["symboll","symbol"],["symbonname","symbolname"],["symbsol","symbol"],["symbsols","symbols"],["symemetric","symmetric"],["symetri","symmetry"],["symetric","symmetric"],["symetrical","symmetrical"],["symetrically","symmetrically"],["symetry","symmetry"],["symettric","symmetric"],["symmetic","symmetric"],["symmetral","symmetric"],["symmetri","symmetry"],["symmetricaly","symmetrically"],["symnol","symbol"],["symnols","symbols"],["symobilic","symbolic"],["symobl","symbol"],["symoblic","symbolic"],["symoblically","symbolically"],["symobls","symbols"],["symobolic","symbolic"],["symobolical","symbolical"],["symol","symbol"],["symols","symbols"],["synagouge","synagogue"],["synamic","dynamic"],["synax","syntax"],["synching","syncing"],["synchonisation","synchronisation"],["synchonise","synchronise"],["synchonised","synchronised"],["synchonises","synchronises"],["synchonising","synchronising"],["synchonization","synchronization"],["synchonize","synchronize"],["synchonized","synchronized"],["synchonizes","synchronizes"],["synchonizing","synchronizing"],["synchonous","synchronous"],["synchonrous","synchronous"],["synchrnization","synchronization"],["synchrnonization","synchronization"],["synchroizing","synchronizing"],["synchromized","synchronized"],["synchroneous","synchronous"],["synchroneously","synchronously"],["synchronious","synchronous"],["synchroniously","synchronously"],["synchronizaton","synchronization"],["synchronsouly","synchronously"],["synchronuous","synchronous"],["synchronuously","synchronously"],["synchronus","synchronous"],["syncrhonise","synchronise"],["syncrhonised","synchronised"],["syncrhonize","synchronize"],["syncrhonized","synchronized"],["syncronise","synchronise"],["syncronised","synchronised"],["syncronises","synchronises"],["syncronising","synchronising"],["syncronization","synchronization"],["syncronizations","synchronizations"],["syncronize","synchronize"],["syncronized","synchronized"],["syncronizes","synchronizes"],["syncronizing","synchronizing"],["syncronous","synchronous"],["syncronously","synchronously"],["syncronus","synchronous"],["syncting","syncing"],["syndonic","syntonic"],["syndrom","syndrome"],["syndroms","syndromes"],["synomym","synonym"],["synonim","synonym"],["synonomous","synonymous"],["synonymns","synonyms"],["synopis","synopsis"],["synopsys","synopsis"],["synoym","synonym"],["synphony","symphony"],["synposis","synopsis"],["synronous","synchronous"],["syntac","syntax"],["syntacks","syntax"],["syntacs","syntax"],["syntact","syntax"],["syntactally","syntactically"],["syntacts","syntax"],["syntak","syntax"],["syntaks","syntax"],["syntakt","syntax"],["syntakts","syntax"],["syntatic","syntactic"],["syntatically","syntactically"],["syntaxe","syntax"],["syntaxg","syntax"],["syntaxt","syntax"],["syntehsise","synthesise"],["syntehsised","synthesised"],["syntehsize","synthesize"],["syntehsized","synthesized"],["syntesis","synthesis"],["syntethic","synthetic"],["syntethically","synthetically"],["syntethics","synthetics"],["syntetic","synthetic"],["syntetize","synthesize"],["syntetized","synthesized"],["synthethic","synthetic"],["synthetize","synthesize"],["synthetized","synthesized"],["synthetizes","synthesizes"],["synthtic","synthetic"],["syphyllis","syphilis"],["sypmtoms","symptoms"],["sypport","support"],["syrap","syrup"],["sysbols","symbols"],["syschronize","synchronize"],["sysem","system"],["sysematic","systematic"],["sysems","systems"],["sysmatically","systematically"],["sysmbol","symbol"],["sysmograph","seismograph"],["sysmte","system"],["sysmtes","systems"],["systax","syntax"],["syste","system"],["systen","system"],["systens","systems"],["systesm","systems"],["systhem","system"],["systhems","systems"],["systm","system"],["systme","system"],["systmes","systems"],["systms","systems"],["systyem","system"],["systyems","systems"],["sysyem","system"],["sysyems","systems"],["sytax","syntax"],["sytem","system"],["sytematic","systematic"],["sytemd","systemd"],["syteme","system"],["sytems","systems"],["sythesis","synthesis"],["sytle","style"],["sytled","styled"],["sytles","styles"],["sytlesheet","stylesheet"],["sytling","styling"],["sytnax","syntax"],["sytntax","syntax"],["sytsem","system"],["sytsemic","systemic"],["sytsems","systems"],["szenario","scenario"],["szenarios","scenarios"],["szes","sizes"],["szie","size"],["szied","sized"],["szies","sizes"],["tabacco","tobacco"],["tabbaray","taboret"],["tabblow","tableau"],["tabe","table"],["tabel","table"],["tabeles","tables"],["tabels","tables"],["tabeview","tabview"],["tabke","table"],["tabl","table"],["tablepsace","tablespace"],["tablepsaces","tablespaces"],["tablle","table"],["tabluar","tabular"],["tabluate","tabulate"],["tabluated","tabulated"],["tabluates","tabulates"],["tabluating","tabulating"],["tabualte","tabulate"],["tabualted","tabulated"],["tabualtes","tabulates"],["tabualting","tabulating"],["tabualtor","tabulator"],["tabualtors","tabulators"],["taged","tagged"],["taget","target"],["tageted","targeted"],["tageting","targeting"],["tagets","targets"],["tagggen","taggen"],["tagnet","tangent"],["tagnetial","tangential"],["tagnets","tangents"],["tagued","tagged"],["tahn","than"],["taht","that"],["takslet","tasklet"],["talbe","table"],["talekd","talked"],["tallerable","tolerable"],["tamplate","template"],["tamplated","templated"],["tamplates","templates"],["tamplating","templating"],["tangeant","tangent"],["tangeantial","tangential"],["tangeants","tangents"],["tangenet","tangent"],["tangensial","tangential"],["tangentailly","tangentially"],["tanget","tangent"],["tangetial","tangential"],["tangetially","tangentially"],["tangets","tangents"],["tansact","transact"],["tansaction","transaction"],["tansactional","transactional"],["tansactions","transactions"],["tanseint","transient"],["tansfomed","transformed"],["tansient","transient"],["tanslate","translate"],["tanslated","translated"],["tanslates","translates"],["tanslation","translation"],["tanslations","translations"],["tanslator","translator"],["tansmit","transmit"],["tansverse","transverse"],["tarbal","tarball"],["tarbals","tarballs"],["tarce","trace"],["tarced","traced"],["tarces","traces"],["tarcing","tracing"],["targed","target"],["targer","target"],["targest","targets"],["targetted","targeted"],["targetting","targeting"],["targettting","targeting"],["targt","target"],["targte","target"],["tarmigan","ptarmigan"],["tarnsparent","transparent"],["tarpolin","tarpaulin"],["tarvis","Travis"],["tarvisci","TravisCI"],["tasbar","taskbar"],["taskelt","tasklet"],["tast","taste"],["tatgert","target"],["tatgerted","targeted"],["tatgerting","targeting"],["tatgerts","targets"],["tath","that"],["tatoo","tattoo"],["tatoos","tattoos"],["tattooes","tattoos"],["tawk","talk"],["taxanomic","taxonomic"],["taxanomy","taxonomy"],["taxnomy","taxonomy"],["taxomonmy","taxonomy"],["taxonmy","taxonomy"],["taxonoy","taxonomy"],["taylored","tailored"],["tbe","the"],["tbey","they"],["tcahce","cache"],["tcahces","caches"],["tcheckout","checkout"],["tcpdumpp","tcpdump"],["tcppcheck","cppcheck"],["teacer","teacher"],["teacers","teachers"],["teached","taught"],["teachnig","teaching"],["teaher","teacher"],["teahers","teachers"],["teamplate","template"],["teamplates","templates"],["teated","treated"],["teched","taught"],["techer","teacher"],["techers","teachers"],["teches","teaches"],["techical","technical"],["techician","technician"],["techicians","technicians"],["techincal","technical"],["techincally","technically"],["teching","teaching"],["techinically","technically"],["techinique","technique"],["techiniques","techniques"],["techinque","technique"],["techinques","techniques"],["techique","technique"],["techiques","techniques"],["techneek","technique"],["technic","technique"],["technics","techniques"],["technik","technique"],["techniks","techniques"],["techniquest","techniques"],["techniquet","technique"],["technitian","technician"],["technition","technician"],["technlogy","technology"],["technnology","technology"],["technolgy","technology"],["technoloiges","technologies"],["tecnic","technique"],["tecnical","technical"],["tecnically","technically"],["tecnician","technician"],["tecnicians","technicians"],["tecnique","technique"],["tecniques","techniques"],["tedeous","tedious"],["tefine","define"],["teh","the"],["tehy","they"],["tekst","text"],["teksts","texts"],["telegramm","telegram"],["telelevision","television"],["televsion","television"],["telocom","telecom"],["telphony","telephony"],["temaplate","template"],["temaplates","templates"],["temeprature","temperature"],["temepratures","temperatures"],["temerature","temperature"],["teminal","terminal"],["teminals","terminals"],["teminate","terminate"],["teminated","terminated"],["teminating","terminating"],["temination","termination"],["temlate","template"],["temorarily","temporarily"],["temorary","temporary"],["tempalte","template"],["tempaltes","templates"],["temparal","temporal"],["tempararily","temporarily"],["temparary","temporary"],["temparate","temperate"],["temparature","temperature"],["temparily","temporarily"],["tempate","template"],["tempated","templated"],["tempates","templates"],["tempatied","templatized"],["tempation","temptation"],["tempatised","templatised"],["tempatized","templatized"],["tempature","temperature"],["tempdate","template"],["tempearture","temperature"],["tempeartures","temperatures"],["tempearure","temperature"],["tempelate","template"],["temperarily","temporarily"],["temperarure","temperature"],["temperary","temporary"],["temperatur","temperature"],["tempereature","temperature"],["temperment","temperament"],["tempertaure","temperature"],["temperture","temperature"],["templaced","templated"],["templaces","templates"],["templacing","templating"],["templaet","template"],["templat","template"],["templateas","templates"],["templete","template"],["templeted","templated"],["templetes","templates"],["templeting","templating"],["tempoaray","temporary"],["tempopary","temporary"],["temporaere","temporary"],["temporafy","temporary"],["temporalily","temporarily"],["temporarely","temporarily"],["temporarilly","temporarily"],["temporarilty","temporarily"],["temporarilu","temporary"],["temporarirly","temporarily"],["temporay","temporary"],["tempories","temporaries"],["temporily","temporarily"],["tempororaries","temporaries"],["tempororarily","temporarily"],["tempororary","temporary"],["temporories","temporaries"],["tempororily","temporarily"],["temporory","temporary"],["temporraies","temporaries"],["temporraily","temporarily"],["temporraries","temporaries"],["temporrarily","temporarily"],["temporrary","temporary"],["temporray","temporary"],["temporries","temporaries"],["temporrily","temporarily"],["temporry","temporary"],["temportal","temporal"],["temportaries","temporaries"],["temportarily","temporarily"],["temportary","temporary"],["tempory","temporary"],["temporyries","temporaries"],["temporyrily","temporarily"],["temporyry","temporary"],["tempraaily","temporarily"],["tempraal","temporal"],["tempraarily","temporarily"],["tempraarly","temporarily"],["tempraary","temporary"],["tempraay","temporary"],["tempraily","temporarily"],["tempral","temporal"],["temprament","temperament"],["tempramental","temperamental"],["tempraraily","temporarily"],["tempraral","temporal"],["temprararily","temporarily"],["temprararly","temporarily"],["temprarary","temporary"],["tempraray","temporary"],["temprarily","temporarily"],["temprature","temperature"],["tempratures","temperatures"],["tempray","temporary"],["tempreature","temperature"],["tempreatures","temperatures"],["temprement","temperament"],["tempremental","temperamental"],["temproaily","temporarily"],["temproal","temporal"],["temproarily","temporarily"],["temproarly","temporarily"],["temproary","temporary"],["temproay","temporary"],["temprol","temporal"],["temproment","temperament"],["tempromental","temperamental"],["temproraily","temporarily"],["temproral","temporal"],["temproraly","temporarily"],["temprorarily","temporarily"],["temprorarly","temporarily"],["temprorary","temporary"],["temproray","temporary"],["temprorily","temporarily"],["temprory","temporary"],["temproy","temporary"],["temptatation","temptation"],["tempurature","temperature"],["tempurture","temperature"],["temr","term"],["temrinal","terminal"],["temselves","themselves"],["temtation","temptation"],["tenacle","tentacle"],["tenacles","tentacles"],["tenanet","tenant"],["tenanets","tenants"],["tenatious","tenacious"],["tenatiously","tenaciously"],["tenative","tentative"],["tenatively","tentatively"],["tendacy","tendency"],["tendancies","tendencies"],["tendancy","tendency"],["tennisplayer","tennis player"],["tentaive","tentative"],["tentaively","tentatively"],["tention","tension"],["teplmate","template"],["teplmated","templated"],["teplmates","templates"],["tepmorarily","temporarily"],["teraform","terraform"],["teraformed","terraformed"],["teraforming","terraforming"],["teraforms","terraforms"],["terfform","terraform"],["terfformed","terraformed"],["terfforming","terraforming"],["terfforms","terraforms"],["teridactyl","pterodactyl"],["terific","terrific"],["terimnate","terminate"],["termial","terminal"],["termials","terminals"],["termianted","terminated"],["termimal","terminal"],["termimals","terminals"],["terminater","terminator"],["terminaters","terminators"],["terminats","terminates"],["termindate","terminate"],["termine","determine"],["termined","terminated"],["terminte","terminate"],["termintor","terminator"],["termniate","terminate"],["termniated","terminated"],["termniates","terminates"],["termniating","terminating"],["termniation","termination"],["termniations","terminations"],["termniator","terminator"],["termniators","terminators"],["termo","thermo"],["termostat","thermostat"],["termperatue","temperature"],["termperatues","temperatures"],["termperature","temperature"],["termperatures","temperatures"],["termplate","template"],["termplated","templated"],["termplates","templates"],["termporal","temporal"],["termporaries","temporaries"],["termporarily","temporarily"],["termporary","temporary"],["ternament","tournament"],["ternimate","terminate"],["terninal","terminal"],["terninals","terminals"],["terrable","terrible"],["terrestial","terrestrial"],["terrform","terraform"],["terrformed","terraformed"],["terrforming","terraforming"],["terrforms","terraforms"],["terriffic","terrific"],["terriories","territories"],["terriory","territory"],["territorist","terrorist"],["territoy","territory"],["terroist","terrorist"],["terurn","return"],["terurns","returns"],["tescase","testcase"],["tescases","testcases"],["tesellate","tessellate"],["tesellated","tessellated"],["tesellation","tessellation"],["tesellator","tessellator"],["tesited","tested"],["tessealte","tessellate"],["tessealted","tessellated"],["tesselatad","tessellated"],["tesselate","tessellate"],["tesselated","tessellated"],["tesselation","tessellation"],["tesselator","tessellator"],["tessleate","tessellate"],["tessleated","tessellated"],["tessleating","tessellating"],["tessleator","tessellator"],["testeing","testing"],["testiclular","testicular"],["testin","testing"],["testng","testing"],["testof","test of"],["testomony","testimony"],["testsing","testing"],["tetrahedran","tetrahedron"],["tetrahedrans","tetrahedrons"],["tetry","retry"],["tetss","tests"],["tetxture","texture"],["teusday","Tuesday"],["texchnically","technically"],["texline","textline"],["textfrme","textframe"],["texual","textual"],["texually","textually"],["texure","texture"],["texured","textured"],["texures","textures"],["texxt","text"],["tey","they"],["tghe","the"],["thansk","thanks"],["thansparent","transparent"],["thant","than"],["thare","there"],["that;s","that's"],["thats'","that's"],["thats","that's"],["thats;","that's"],["thck","thick"],["theard","thread"],["thearding","threading"],["theards","threads"],["theared","threaded"],["theather","theater"],["theef","thief"],["theer","there"],["theery","theory"],["theese","these"],["thefore","therefore"],["theif","thief"],["theifs","thieves"],["theive","thief"],["theives","thieves"],["themplate","template"],["themselces","themselves"],["themselfes","themselves"],["themselfs","themselves"],["themselvs","themselves"],["themslves","themselves"],["thenes","themes"],["thenn","then"],["theorectical","theoretical"],["theoreticall","theoretically"],["theoreticaly","theoretically"],["theorical","theoretical"],["theorically","theoretically"],["theoritical","theoretical"],["theoritically","theoretically"],["therafter","thereafter"],["therapudic","therapeutic"],["therby","thereby"],["thereads","threads"],["thereom","theorem"],["thererin","therein"],["theres","there's"],["thereshold","threshold"],["theresholds","thresholds"],["therfore","therefore"],["thermisor","thermistor"],["thermisors","thermistors"],["thermostast","thermostat"],["thermostasts","thermostats"],["therstat","thermostat"],["therwise","otherwise"],["theshold","threshold"],["thesholds","thresholds"],["thest","test"],["thetraedral","tetrahedral"],["thetrahedron","tetrahedron"],["thev","the"],["theves","thieves"],["thgat","that"],["thge","the"],["thhese","these"],["thhis","this"],["thid","this"],["thier","their"],["thign","thing"],["thigns","things"],["thigny","thingy"],["thigsn","things"],["thikn","think"],["thikness","thickness"],["thiknesses","thicknesses"],["thikns","thinks"],["thiks","thinks"],["thimngs","things"],["thinigs","things"],["thinkabel","thinkable"],["thinn","thin"],["thirtyth","thirtieth"],["this'd","this would"],["thisle","thistle"],["thist","this"],["thisy","this"],["thiunk","think"],["thjese","these"],["thme","them"],["thn","then"],["thna","than"],["thnak","thank"],["thnaks","thanks"],["thne","then"],["thnig","thing"],["thnigs","things"],["thonic","chthonic"],["thoroidal","toroidal"],["thoroughty","thoroughly"],["thoruoghly","thoroughly"],["thoses","those"],["thouch","touch"],["thoughout","throughout"],["thougth","thought"],["thounsands","thousands"],["thourghly","thoroughly"],["thourough","thorough"],["thouroughly","thoroughly"],["thq","the"],["thrad","thread"],["threadsave","threadsafe"],["threashold","threshold"],["threasholds","thresholds"],["threatend","threatened"],["threatment","treatment"],["threatments","treatments"],["threatning","threatening"],["thred","thread"],["threded","threaded"],["thredhold","threshold"],["threding","threading"],["threds","threads"],["three-dimenional","three-dimensional"],["three-dimenionsal","three-dimensional"],["threedimenional","three-dimensional"],["threedimenionsal","three-dimensional"],["threee","three"],["threhold","threshold"],["threrefore","therefore"],["threshhold","threshold"],["threshholds","thresholds"],["threshod","threshold"],["threshods","thresholds"],["threshol","threshold"],["thresold","threshold"],["thresshold","threshold"],["thrid","third"],["throen","thrown"],["throgh","through"],["throrough","thorough"],["throttoling","throttling"],["throug","through"],["througg","through"],["throughly","thoroughly"],["throughtout","throughout"],["througout","throughout"],["througt","through"],["througth","through"],["throuh","through"],["throuhg","through"],["throuhgout","throughout"],["throuhgput","throughput"],["throuth","through"],["throwgh","through"],["thrreshold","threshold"],["thrresholds","thresholds"],["thrue","through"],["thrugh","through"],["thruogh","through"],["thruoghout","throughout"],["thruoghput","throughput"],["thruout","throughout"],["thses","these"],["thsi","this"],["thsnk","thank"],["thsnked","thanked"],["thsnkful","thankful"],["thsnkfully","thankfully"],["thsnkfulness","thankfulness"],["thsnking","thanking"],["thsnks","thanks"],["thsnkyou","thank you"],["thsoe","those"],["thsose","those"],["thsould","should"],["thst","that"],["thta","that"],["thtat","that"],["thumbbnail","thumbnail"],["thumbnal","thumbnail"],["thumbnals","thumbnails"],["thundebird","thunderbird"],["thurday","Thursday"],["thurough","thorough"],["thurrow","thorough"],["thursdey","Thursday"],["thurver","further"],["thyat","that"],["tichened","thickened"],["tichness","thickness"],["tickness","thickness"],["tidibt","tidbit"],["tidibts","tidbits"],["tieing","tying"],["tiemout","timeout"],["tiemstamp","timestamp"],["tiemstamped","timestamped"],["tiemstamps","timestamps"],["tieth","tithe"],["tigger","trigger"],["tiggered","triggered"],["tiggering","triggering"],["tiggers","triggers"],["tighly","tightly"],["tightely","tightly"],["tigth","tight"],["tigthen","tighten"],["tigthened","tightened"],["tigthening","tightening"],["tigthens","tightens"],["tigthly","tightly"],["tihkn","think"],["tihs","this"],["tiitle","title"],["tillt","tilt"],["tillted","tilted"],["tillts","tilts"],["timdelta","timedelta"],["timedlta","timedelta"],["timeing","timing"],["timemout","timeout"],["timeot","timeout"],["timeoutted","timed out"],["timere","timer"],["timesamp","timestamp"],["timesamped","timestamped"],["timesamps","timestamps"],["timeschedule","time schedule"],["timespanp","timespan"],["timespanps","timespans"],["timestan","timespan"],["timestans","timespans"],["timestap","timestamp"],["timestaped","timestamped"],["timestaping","timestamping"],["timestaps","timestamps"],["timestemp","timestamp"],["timestemps","timestamps"],["timestmap","timestamp"],["timestmaps","timestamps"],["timetamp","timestamp"],["timetamps","timestamps"],["timmestamp","timestamp"],["timmestamps","timestamps"],["timne","time"],["timoeut","timeout"],["timout","timeout"],["timtout","timeout"],["timzeone","timezone"],["timzeones","timezones"],["timzezone","timezone"],["timzezones","timezones"],["tinterrupts","interrupts"],["tipically","typically"],["tirangle","triangle"],["tirangles","triangles"],["titel","title"],["titels","titles"],["titile","title"],["tittled","titled"],["tittling","titling"],["tje","the"],["tjhe","the"],["tjpanishad","upanishad"],["tkae","take"],["tkaes","takes"],["tkaing","taking"],["tlaking","talking"],["tmis","this"],["tne","the"],["toally","totally"],["tobbaco","tobacco"],["tobot","robot"],["toches","touches"],["tocksen","toxin"],["todya","today"],["toekn","token"],["togehter","together"],["togeter","together"],["togeterness","togetherness"],["toggel","toggle"],["toggeles","toggles"],["toggeling","toggling"],["toggels","toggles"],["toggleing","toggling"],["togheter","together"],["toghether","together"],["togle","toggle"],["togled","toggled"],["togling","toggling"],["toglle","toggle"],["toglled","toggled"],["togther","together"],["tolarable","tolerable"],["tolelerance","tolerance"],["tolen","token"],["tolens","tokens"],["toleranz","tolerance"],["tolerence","tolerance"],["tolerences","tolerances"],["tolerent","tolerant"],["tolernce","tolerance"],["Tolkein","Tolkien"],["tollerable","tolerable"],["tollerance","tolerance"],["tollerances","tolerances"],["tolorance","tolerance"],["tolorances","tolerances"],["tolorant","tolerant"],["tomatoe","tomato"],["tomatos","tomatoes"],["tommorow","tomorrow"],["tommorrow","tomorrow"],["tomorrrow","tomorrow"],["tongiht","tonight"],["tonihgt","tonight"],["tood","todo"],["toogle","toggle"],["toogling","toggling"],["tookits","toolkits"],["toolar","toolbar"],["toolsbox","toolbox"],["toom","tomb"],["toos","tools"],["tootonic","teutonic"],["topicaizer","topicalizer"],["topologie","topology"],["torerable","tolerable"],["toriodal","toroidal"],["tork","torque"],["tormenters","tormentors"],["tornadoe","tornado"],["torpeados","torpedoes"],["torpedos","torpedoes"],["tortilini","tortellini"],["tortise","tortoise"],["torward","toward"],["torwards","towards"],["totaly","totally"],["totat","total"],["totation","rotation"],["totats","totals"],["tothe","to the"],["tothiba","toshiba"],["totol","total"],["totorial","tutorial"],["totorials","tutorials"],["touble","trouble"],["toubles","troubles"],["toubling","troubling"],["toughtful","thoughtful"],["toughtly","tightly"],["toughts","thoughts"],["tounge","tongue"],["touple","tuple"],["towords","towards"],["towrad","toward"],["toxen","toxin"],["tpye","type"],["tpyed","typed"],["tpyes","types"],["tpyo","typo"],["trabsform","transform"],["traceablity","traceability"],["trackign","tracking"],["trackling","tracking"],["tracsode","transcode"],["tracsoded","transcoded"],["tracsoder","transcoder"],["tracsoders","transcoders"],["tracsodes","transcodes"],["tracsoding","transcoding"],["traddition","tradition"],["tradditional","traditional"],["tradditions","traditions"],["tradgic","tragic"],["tradionally","traditionally"],["traditilnal","traditional"],["traditiona","traditional"],["traditionaly","traditionally"],["traditionnal","traditional"],["traditionnally","traditionally"],["traditition","tradition"],["tradtional","traditional"],["tradtionally","traditionally"],["trafficed","trafficked"],["trafficing","trafficking"],["trafic","traffic"],["tragectory","trajectory"],["traget","target"],["trageted","targeted"],["trageting","targeting"],["tragets","targets"],["traige","triage"],["traiger","triager"],["traigers","triagers"],["traiges","triages"],["traiging","triaging"],["trailins","trailing"],["traingle","triangle"],["traingles","triangles"],["traingular","triangular"],["traingulate","triangulate"],["traingulated","triangulated"],["traingulates","triangulates"],["traingulating","triangulating"],["traingulation","triangulation"],["traingulations","triangulations"],["trainig","training"],["trainigs","training"],["trainng","training"],["trainngs","training"],["traked","tracked"],["traker","tracker"],["trakers","trackers"],["traking","tracking"],["tramsmit","transmit"],["tramsmits","transmits"],["tramsmitted","transmitted"],["tramsmitting","transmitting"],["tranaction","transaction"],["tranactional","transactional"],["tranactions","transactions"],["tranalating","translating"],["tranalation","translation"],["tranalations","translations"],["tranasction","transaction"],["tranasctions","transactions"],["tranceiver","transceiver"],["tranceivers","transceivers"],["trancendent","transcendent"],["trancending","transcending"],["tranclate","translate"],["trandional","traditional"],["tranfer","transfer"],["tranfered","transferred"],["tranfering","transferring"],["tranferred","transferred"],["tranfers","transfers"],["tranform","transform"],["tranformable","transformable"],["tranformation","transformation"],["tranformations","transformations"],["tranformative","transformative"],["tranformed","transformed"],["tranforming","transforming"],["tranforms","transforms"],["tranient","transient"],["tranients","transients"],["tranistion","transition"],["tranistioned","transitioned"],["tranistioning","transitioning"],["tranistions","transitions"],["tranition","transition"],["tranitioned","transitioned"],["tranitioning","transitioning"],["tranitions","transitions"],["tranlatable","translatable"],["tranlate","translate"],["tranlated","translated"],["tranlates","translates"],["tranlating","translating"],["tranlation","translation"],["tranlations","translations"],["tranlsation","translation"],["tranlsations","translations"],["tranmission","transmission"],["tranmist","transmit"],["tranmitted","transmitted"],["tranmitting","transmitting"],["tranparent","transparent"],["tranparently","transparently"],["tranport","transport"],["tranported","transported"],["tranporting","transporting"],["tranports","transports"],["transacion","transaction"],["transacions","transactions"],["transaciton","transaction"],["transacitons","transactions"],["transacrtion","transaction"],["transacrtions","transactions"],["transaction-spacific","transaction-specific"],["transactoin","transaction"],["transactoins","transactions"],["transalation","translation"],["transalations","translations"],["transalt","translate"],["transalte","translate"],["transalted","translated"],["transaltes","translates"],["transaltion","translation"],["transaltions","translations"],["transaltor","translator"],["transaltors","translators"],["transcendance","transcendence"],["transcendant","transcendent"],["transcendentational","transcendental"],["transcevier","transceiver"],["transciever","transceiver"],["transcievers","transceivers"],["transcocde","transcode"],["transcocded","transcoded"],["transcocder","transcoder"],["transcocders","transcoders"],["transcocdes","transcodes"],["transcocding","transcoding"],["transcocdings","transcodings"],["transconde","transcode"],["transconded","transcoded"],["transconder","transcoder"],["transconders","transcoders"],["transcondes","transcodes"],["transconding","transcoding"],["transcondings","transcodings"],["transcorde","transcode"],["transcorded","transcoded"],["transcorder","transcoder"],["transcorders","transcoders"],["transcordes","transcodes"],["transcording","transcoding"],["transcordings","transcodings"],["transcoser","transcoder"],["transcosers","transcoders"],["transction","transaction"],["transctions","transactions"],["transeint","transient"],["transending","transcending"],["transer","transfer"],["transesxuals","transsexuals"],["transferd","transferred"],["transfered","transferred"],["transfering","transferring"],["transferrd","transferred"],["transfom","transform"],["transfomation","transformation"],["transfomational","transformational"],["transfomations","transformations"],["transfomed","transformed"],["transfomer","transformer"],["transfomm","transform"],["transfoprmation","transformation"],["transforation","transformation"],["transforations","transformations"],["transformated","transformed"],["transformates","transforms"],["transformaton","transformation"],["transformatted","transformed"],["transfrom","transform"],["transfromation","transformation"],["transfromations","transformations"],["transfromed","transformed"],["transfromer","transformer"],["transfroming","transforming"],["transfroms","transforms"],["transiet","transient"],["transiets","transients"],["transision","transition"],["transisioning","transitioning"],["transisions","transitions"],["transisition","transition"],["transisitioned","transitioned"],["transisitioning","transitioning"],["transisitions","transitions"],["transistion","transition"],["transistioning","transitioning"],["transistions","transitions"],["transitionnal","transitional"],["transitionned","transitioned"],["transitionning","transitioning"],["transitionns","transitions"],["transiton","transition"],["transitoning","transitioning"],["transitons","transitions"],["transitor","transistor"],["transitors","transistors"],["translater","translator"],["translaters","translators"],["translatied","translated"],["translatoin","translation"],["translatoins","translations"],["translteration","transliteration"],["transmision","transmission"],["transmisive","transmissive"],["transmissable","transmissible"],["transmissione","transmission"],["transmist","transmit"],["transmited","transmitted"],["transmiter","transmitter"],["transmiters","transmitters"],["transmiting","transmitting"],["transmition","transmission"],["transmitsion","transmission"],["transmittd","transmitted"],["transmittion","transmission"],["transmitts","transmits"],["transmmit","transmit"],["transocde","transcode"],["transocded","transcoded"],["transocder","transcoder"],["transocders","transcoders"],["transocdes","transcodes"],["transocding","transcoding"],["transocdings","transcodings"],["transofrm","transform"],["transofrmation","transformation"],["transofrmations","transformations"],["transofrmed","transformed"],["transofrmer","transformer"],["transofrmers","transformers"],["transofrming","transforming"],["transofrms","transforms"],["transolate","translate"],["transolated","translated"],["transolates","translates"],["transolating","translating"],["transolation","translation"],["transolations","translations"],["transorm","transform"],["transormed","transformed"],["transorming","transforming"],["transorms","transforms"],["transpable","transposable"],["transpacencies","transparencies"],["transpacency","transparency"],["transpaernt","transparent"],["transpaerntly","transparently"],["transpancies","transparencies"],["transpancy","transparency"],["transpant","transplant"],["transparaent","transparent"],["transparaently","transparently"],["transparanceies","transparencies"],["transparancey","transparency"],["transparancies","transparencies"],["transparancy","transparency"],["transparanet","transparent"],["transparanetly","transparently"],["transparanies","transparencies"],["transparant","transparent"],["transparantly","transparently"],["transparany","transparency"],["transpararent","transparent"],["transpararently","transparently"],["transparcencies","transparencies"],["transparcency","transparency"],["transparcenies","transparencies"],["transparceny","transparency"],["transparecy","transparency"],["transpareny","transparency"],["transparities","transparencies"],["transparity","transparency"],["transparnecies","transparencies"],["transparnecy","transparency"],["transparnt","transparent"],["transparntly","transparently"],["transparren","transparent"],["transparrenly","transparently"],["transparrent","transparent"],["transparrently","transparently"],["transpart","transport"],["transparts","transports"],["transpatrent","transparent"],["transpatrently","transparently"],["transpencies","transparencies"],["transpency","transparency"],["transpeorted","transported"],["transperancies","transparencies"],["transperancy","transparency"],["transperant","transparent"],["transperantly","transparently"],["transperencies","transparencies"],["transperency","transparency"],["transperent","transparent"],["transperently","transparently"],["transporation","transportation"],["transportatin","transportation"],["transprencies","transparencies"],["transprency","transparency"],["transprent","transparent"],["transprently","transparently"],["transprot","transport"],["transproted","transported"],["transproting","transporting"],["transprots","transports"],["transprt","transport"],["transprted","transported"],["transprting","transporting"],["transprts","transports"],["transpsition","transposition"],["transsend","transcend"],["transtion","transition"],["transtioned","transitioned"],["transtioning","transitioning"],["transtions","transitions"],["transtition","transition"],["transtitioned","transitioned"],["transtitioning","transitioning"],["transtitions","transitions"],["transtorm","transform"],["transtormed","transformed"],["transvorm","transform"],["transvormation","transformation"],["transvormed","transformed"],["transvorming","transforming"],["transvorms","transforms"],["tranversing","traversing"],["trapeziod","trapezoid"],["trapeziodal","trapezoidal"],["trasaction","transaction"],["trascation","transaction"],["trasfer","transfer"],["trasferred","transferred"],["trasfers","transfers"],["trasform","transform"],["trasformable","transformable"],["trasformation","transformation"],["trasformations","transformations"],["trasformative","transformative"],["trasformed","transformed"],["trasformer","transformer"],["trasformers","transformers"],["trasforming","transforming"],["trasforms","transforms"],["traslalate","translate"],["traslalated","translated"],["traslalating","translating"],["traslalation","translation"],["traslalations","translations"],["traslate","translate"],["traslated","translated"],["traslates","translates"],["traslating","translating"],["traslation","translation"],["traslations","translations"],["traslucency","translucency"],["trasmission","transmission"],["trasmit","transmit"],["trasnaction","transaction"],["trasnfer","transfer"],["trasnfered","transferred"],["trasnferred","transferred"],["trasnfers","transfers"],["trasnform","transform"],["trasnformation","transformation"],["trasnformed","transformed"],["trasnformer","transformer"],["trasnformers","transformers"],["trasnforms","transforms"],["trasnlate","translate"],["trasnlated","translated"],["trasnlation","translation"],["trasnlations","translations"],["trasnparencies","transparencies"],["trasnparency","transparency"],["trasnparent","transparent"],["trasnport","transport"],["trasnports","transports"],["trasnsmit","transmit"],["trasparency","transparency"],["trasparent","transparent"],["trasparently","transparently"],["trasport","transport"],["trasportable","transportable"],["trasported","transported"],["trasporter","transporter"],["trasports","transports"],["traspose","transpose"],["trasposed","transposed"],["trasposing","transposing"],["trasposition","transposition"],["traspositions","transpositions"],["traved","traversed"],["traveersal","traversal"],["traveerse","traverse"],["traveersed","traversed"],["traveerses","traverses"],["traveersing","traversing"],["traveral","traversal"],["travercal","traversal"],["traverce","traverse"],["traverced","traversed"],["traverces","traverses"],["travercing","traversing"],["travere","traverse"],["travered","traversed"],["traveres","traverse"],["traveresal","traversal"],["traveresed","traversed"],["travereses","traverses"],["traveresing","traversing"],["travering","traversing"],["traverssal","traversal"],["travesal","traversal"],["travese","traverse"],["travesed","traversed"],["traveses","traverses"],["travesing","traversing"],["tre","tree"],["treate","treat"],["treatement","treatment"],["treatements","treatments"],["treates","treats"],["tremelo","tremolo"],["tremelos","tremolos"],["trempoline","trampoline"],["treshhold","threshold"],["treshold","threshold"],["tressle","trestle"],["treting","treating"],["trgistration","registration"],["trhe","the"],["triancle","triangle"],["triancles","triangles"],["trianed","trained"],["triange","triangle"],["triangel","triangle"],["triangels","triangles"],["trianglular","triangular"],["trianglutaion","triangulation"],["triangulataion","triangulation"],["triangultaion","triangulation"],["trianing","training"],["trianlge","triangle"],["trianlges","triangles"],["trians","trains"],["trigered","triggered"],["trigerred","triggered"],["trigerring","triggering"],["trigers","triggers"],["trigged","triggered"],["triggerd","triggered"],["triggeres","triggers"],["triggerred","triggered"],["triggerring","triggering"],["triggerrs","triggers"],["triggger","trigger"],["trignometric","trigonometric"],["trignometry","trigonometry"],["triguered","triggered"],["triked","tricked"],["trikery","trickery"],["triky","tricky"],["trilineal","trilinear"],["trimed","trimmed"],["trimmng","trimming"],["trinagle","triangle"],["trinagles","triangles"],["triniy","trinity"],["triology","trilogy"],["tripel","triple"],["tripeld","tripled"],["tripels","triples"],["tripple","triple"],["triuangulate","triangulate"],["trival","trivial"],["trivally","trivially"],["trivias","trivia"],["trivival","trivial"],["trnasfers","transfers"],["trnasmit","transmit"],["trnasmited","transmitted"],["trnasmits","transmits"],["trnsfer","transfer"],["trnsfered","transferred"],["trnsfers","transfers"],["troling","trolling"],["trottle","throttle"],["troubeshoot","troubleshoot"],["troubeshooted","troubleshooted"],["troubeshooter","troubleshooter"],["troubeshooting","troubleshooting"],["troubeshoots","troubleshoots"],["troublehshoot","troubleshoot"],["troublehshooting","troubleshooting"],["troublshoot","troubleshoot"],["troublshooting","troubleshooting"],["trought","through"],["troup","troupe"],["trriger","trigger"],["trrigered","triggered"],["trrigering","triggering"],["trrigers","triggers"],["trrigger","trigger"],["trriggered","triggered"],["trriggering","triggering"],["trriggers","triggers"],["trubble","trouble"],["trubbled","troubled"],["trubbles","troubles"],["truble","trouble"],["trubled","troubled"],["trubles","troubles"],["trubling","troubling"],["trucate","truncate"],["trucated","truncated"],["trucates","truncates"],["trucating","truncating"],["trucnate","truncate"],["trucnated","truncated"],["trucnating","truncating"],["truct","struct"],["truelly","truly"],["truely","truly"],["truied","tried"],["trully","truly"],["trun","turn"],["trunacted","truncated"],["truncat","truncate"],["trunctate","truncate"],["trunctated","truncated"],["trunctating","truncating"],["trunctation","truncation"],["truncted","truncated"],["truned","turned"],["truns","turns"],["trustworthly","trustworthy"],["trustworthyness","trustworthiness"],["trustworty","trustworthy"],["trustwortyness","trustworthiness"],["trustwothy","trustworthy"],["truw","true"],["tryed","tried"],["tryes","tries"],["tryig","trying"],["tryinng","trying"],["trys","tries"],["tryying","trying"],["ttests","tests"],["tthe","the"],["tuesdey","Tuesday"],["tuesdsy","Tuesday"],["tufure","future"],["tuhmbnail","thumbnail"],["tunelled","tunnelled"],["tunelling","tunneling"],["tunned","tuned"],["tunnell","tunnel"],["tuotiral","tutorial"],["tuotirals","tutorials"],["tupel","tuple"],["tupple","tuple"],["tupples","tuples"],["ture","true"],["turle","turtle"],["turly","truly"],["turorial","tutorial"],["turorials","tutorials"],["turtleh","turtle"],["turtlehs","turtles"],["turtorial","tutorial"],["turtorials","tutorials"],["Tuscon","Tucson"],["tusday","Tuesday"],["tuseday","Tuesday"],["tust","trust"],["tution","tuition"],["tutoriel","tutorial"],["tutoriels","tutorials"],["tweleve","twelve"],["twelth","twelfth"],["two-dimenional","two-dimensional"],["two-dimenionsal","two-dimensional"],["twodimenional","two-dimensional"],["twodimenionsal","two-dimensional"],["twon","town"],["twpo","two"],["tyep","type"],["tyhat","that"],["tyies","tries"],["tymecode","timecode"],["tyope","type"],["typcast","typecast"],["typcasting","typecasting"],["typcasts","typecasts"],["typcial","typical"],["typcially","typically"],["typechek","typecheck"],["typecheking","typechecking"],["typesrript","typescript"],["typicallly","typically"],["typicaly","typically"],["typicially","typically"],["typle","tuple"],["typles","tuples"],["typographc","typographic"],["typpe","type"],["typped","typed"],["typpes","types"],["typpical","typical"],["typpically","typically"],["tyranies","tyrannies"],["tyrany","tyranny"],["tyring","trying"],["tyrranies","tyrannies"],["tyrrany","tyranny"],["ubelieveble","unbelievable"],["ubelievebly","unbelievably"],["ubernetes","Kubernetes"],["ubiquitious","ubiquitous"],["ubiquituously","ubiquitously"],["ubitquitous","ubiquitous"],["ublisher","publisher"],["ubunut","Ubuntu"],["ubutu","Ubuntu"],["ubutunu","Ubuntu"],["udpatable","updatable"],["udpate","update"],["udpated","updated"],["udpater","updater"],["udpates","updates"],["udpating","updating"],["ueful","useful"],["uegister","unregister"],["uesd","used"],["ueses","uses"],["uesful","useful"],["uesfull","useful"],["uesfulness","usefulness"],["uesless","useless"],["ueslessness","uselessness"],["uest","quest"],["uests","quests"],["uffer","buffer"],["uffered","buffered"],["uffering","buffering"],["uffers","buffers"],["uggly","ugly"],["ugglyness","ugliness"],["uglyness","ugliness"],["uique","unique"],["uise","use"],["uisng","using"],["uites","suites"],["uknown","unknown"],["uknowns","unknowns"],["Ukranian","Ukrainian"],["uless","unless"],["ulimited","unlimited"],["ulter","alter"],["ulteration","alteration"],["ulterations","alterations"],["ultered","altered"],["ultering","altering"],["ulters","alters"],["ultimatly","ultimately"],["ultimely","ultimately"],["umambiguous","unambiguous"],["umark","unmark"],["umarked","unmarked"],["umbrealla","umbrella"],["uminportant","unimportant"],["umit","unit"],["umless","unless"],["ummark","unmark"],["umoutn","umount"],["un-complete","incomplete"],["unabailable","unavailable"],["unabale","unable"],["unabel","unable"],["unablet","unable"],["unacceptible","unacceptable"],["unaccesible","inaccessible"],["unaccessable","inaccessible"],["unacknowleged","unacknowledged"],["unacompanied","unaccompanied"],["unadvertantly","inadvertently"],["unadvertedly","inadvertently"],["unadvertent","inadvertent"],["unadvertently","inadvertently"],["unahppy","unhappy"],["unalllowed","unallowed"],["unambigious","unambiguous"],["unambigous","unambiguous"],["unambigously","unambiguously"],["unamed","unnamed"],["unanimuous","unanimous"],["unanymous","unanimous"],["unappretiated","unappreciated"],["unappretiative","unappreciative"],["unapprieciated","unappreciated"],["unapprieciative","unappreciative"],["unapretiated","unappreciated"],["unapretiative","unappreciative"],["unaquired","unacquired"],["unarchving","unarchiving"],["unassing","unassign"],["unassinged","unassigned"],["unassinging","unassigning"],["unassings","unassigns"],["unathenticated","unauthenticated"],["unathorised","unauthorised"],["unathorized","unauthorized"],["unatteded","unattended"],["unauthenicated","unauthenticated"],["unauthenticed","unauthenticated"],["unavaiable","unavailable"],["unavaialable","unavailable"],["unavaialbale","unavailable"],["unavaialbe","unavailable"],["unavaialbel","unavailable"],["unavaialbility","unavailability"],["unavaialble","unavailable"],["unavaible","unavailable"],["unavailabel","unavailable"],["unavailiability","unavailability"],["unavailible","unavailable"],["unavaliable","unavailable"],["unavaoidable","unavoidable"],["unavilable","unavailable"],["unballance","unbalance"],["unbeknowst","unbeknownst"],["unbeleifable","unbelievable"],["unbeleivable","unbelievable"],["unbeliefable","unbelievable"],["unbelivable","unbelievable"],["unbeliveable","unbelievable"],["unbeliveably","unbelievably"],["unbelivebly","unbelievably"],["unborned","unborn"],["unbouind","unbound"],["unbouinded","unbounded"],["unboun","unbound"],["unbounad","unbound"],["unbounaded","unbounded"],["unbouned","unbounded"],["unbounnd","unbound"],["unbounnded","unbounded"],["unbouund","unbound"],["unbouunded","unbounded"],["uncahnged","unchanged"],["uncalcualted","uncalculated"],["unce","once"],["uncehck","uncheck"],["uncehcked","unchecked"],["uncerain","uncertain"],["uncerainties","uncertainties"],["uncerainty","uncertainty"],["uncertaincy","uncertainty"],["uncertainities","uncertainties"],["uncertainity","uncertainty"],["uncessarily","unnecessarily"],["uncetain","uncertain"],["uncetainties","uncertainties"],["uncetainty","uncertainty"],["unchache","uncache"],["unchached","uncached"],["unchaged","unchanged"],["unchainged","unchanged"],["unchallengable","unchallengeable"],["unchaned","unchanged"],["unchaneged","unchanged"],["unchangable","unchangeable"],["uncheked","unchecked"],["unchenged","unchanged"],["uncognized","unrecognized"],["uncoment","uncomment"],["uncomented","uncommented"],["uncomenting","uncommenting"],["uncoments","uncomments"],["uncomitted","uncommitted"],["uncommited","uncommitted"],["uncommment","uncomment"],["uncommmented","uncommented"],["uncommmenting","uncommenting"],["uncommments","uncomments"],["uncommmitted","uncommitted"],["uncommmon","uncommon"],["uncommpresed","uncompressed"],["uncommpresion","uncompression"],["uncommpressd","uncompressed"],["uncommpressed","uncompressed"],["uncommpression","uncompression"],["uncommtited","uncommitted"],["uncomon","uncommon"],["uncompetetive","uncompetitive"],["uncompetive","uncompetitive"],["uncomplete","incomplete"],["uncompleteness","incompleteness"],["uncompletness","incompleteness"],["uncompres","uncompress"],["uncompresed","uncompressed"],["uncompreses","uncompresses"],["uncompresing","uncompressing"],["uncompresor","uncompressor"],["uncompresors","uncompressors"],["uncompressible","incompressible"],["uncomprss","uncompress"],["unconcious","unconscious"],["unconciousness","unconsciousness"],["unconcistencies","inconsistencies"],["unconcistency","inconsistency"],["unconcistent","inconsistent"],["uncondisional","unconditional"],["uncondisionaly","unconditionally"],["uncondisionnal","unconditional"],["uncondisionnaly","unconditionally"],["unconditial","unconditional"],["unconditially","unconditionally"],["unconditialy","unconditionally"],["unconditianal","unconditional"],["unconditianally","unconditionally"],["unconditianaly","unconditionally"],["unconditinally","unconditionally"],["unconditinaly","unconditionally"],["unconditionaly","unconditionally"],["unconditionnal","unconditional"],["unconditionnally","unconditionally"],["unconditionnaly","unconditionally"],["uncondtional","unconditional"],["uncondtionally","unconditionally"],["unconfiged","unconfigured"],["unconfortability","discomfort"],["unconsisntency","inconsistency"],["unconsistent","inconsistent"],["uncontitutional","unconstitutional"],["uncontrained","unconstrained"],["uncontrolable","uncontrollable"],["unconvential","unconventional"],["unconventionnal","unconventional"],["uncorectly","incorrectly"],["uncorelated","uncorrelated"],["uncorrect","incorrect"],["uncorrectly","incorrectly"],["uncorrolated","uncorrelated"],["uncoverted","unconverted"],["uncrypted","unencrypted"],["undecideable","undecidable"],["undefied","undefined"],["undefien","undefine"],["undefiend","undefined"],["undefinied","undefined"],["undeflow","underflow"],["undeflows","underflows"],["undefuned","undefined"],["undelying","underlying"],["underfiend","undefined"],["underfined","undefined"],["underfow","underflow"],["underfowed","underflowed"],["underfowing","underflowing"],["underfows","underflows"],["underlayed","underlaid"],["underlaying","underlying"],["underlflow","underflow"],["underlflowed","underflowed"],["underlflowing","underflowing"],["underlflows","underflows"],["underlfow","underflow"],["underlfowed","underflowed"],["underlfowing","underflowing"],["underlfows","underflows"],["underlow","underflow"],["underlowed","underflowed"],["underlowing","underflowing"],["underlows","underflows"],["underlyng","underlying"],["underneeth","underneath"],["underrrun","underrun"],["undersacn","underscan"],["understadn","understand"],["understadnable","understandable"],["understadning","understanding"],["understadns","understands"],["understoon","understood"],["understoud","understood"],["undertand","understand"],["undertandable","understandable"],["undertanded","understood"],["undertanding","understanding"],["undertands","understands"],["undertsand","understand"],["undertsanding","understanding"],["undertsands","understands"],["undertsood","understood"],["undertstand","understand"],["undertstands","understands"],["underun","underrun"],["underuns","underruns"],["underware","underwear"],["underying","underlying"],["underyling","underlying"],["undescore","underscore"],["undescored","underscored"],["undescores","underscores"],["undesireable","undesirable"],["undesitable","undesirable"],["undestand","understand"],["undestood","understood"],["undet","under"],["undetecable","undetectable"],["undetstand","understand"],["undetware","underwear"],["undetwater","underwater"],["undfine","undefine"],["undfined","undefined"],["undfines","undefines"],["undistinghable","indistinguishable"],["undocummented","undocumented"],["undorder","unorder"],["undordered","unordered"],["undoubtely","undoubtedly"],["undreground","underground"],["undupplicated","unduplicated"],["uneccesary","unnecessary"],["uneccessarily","unnecessarily"],["uneccessary","unnecessary"],["unecessarily","unnecessarily"],["unecessary","unnecessary"],["uneforceable","unenforceable"],["uneform","uniform"],["unencrpt","unencrypt"],["unencrpted","unencrypted"],["unenforcable","unenforceable"],["unepected","unexpected"],["unepectedly","unexpectedly"],["unequalities","inequalities"],["unequality","inequality"],["uner","under"],["unesacpe","unescape"],["unesacped","unescaped"],["unessecarry","unnecessary"],["unessecary","unnecessary"],["unevaluted","unevaluated"],["unexcected","unexpected"],["unexcectedly","unexpectedly"],["unexcpected","unexpected"],["unexcpectedly","unexpectedly"],["unexecpted","unexpected"],["unexecptedly","unexpectedly"],["unexected","unexpected"],["unexectedly","unexpectedly"],["unexepcted","unexpected"],["unexepctedly","unexpectedly"],["unexepected","unexpected"],["unexepectedly","unexpectedly"],["unexpacted","unexpected"],["unexpactedly","unexpectedly"],["unexpcted","unexpected"],["unexpctedly","unexpectedly"],["unexpecetd","unexpected"],["unexpecetdly","unexpectedly"],["unexpect","unexpected"],["unexpectd","unexpected"],["unexpectdly","unexpectedly"],["unexpecte","unexpected"],["unexpectely","unexpectedly"],["unexpectend","unexpected"],["unexpectendly","unexpectedly"],["unexpectly","unexpectedly"],["unexpeected","unexpected"],["unexpeectedly","unexpectedly"],["unexpepected","unexpected"],["unexpepectedly","unexpectedly"],["unexpepted","unexpected"],["unexpeptedly","unexpectedly"],["unexpercted","unexpected"],["unexperctedly","unexpectedly"],["unexpested","unexpected"],["unexpestedly","unexpectedly"],["unexpetced","unexpected"],["unexpetcedly","unexpectedly"],["unexpetct","unexpected"],["unexpetcted","unexpected"],["unexpetctedly","unexpectedly"],["unexpetctly","unexpectedly"],["unexpetect","unexpected"],["unexpetected","unexpected"],["unexpetectedly","unexpectedly"],["unexpetectly","unexpectedly"],["unexpeted","unexpected"],["unexpetedly","unexpectedly"],["unexpexcted","unexpected"],["unexpexctedly","unexpectedly"],["unexpexted","unexpected"],["unexpextedly","unexpectedly"],["unexspected","unexpected"],["unexspectedly","unexpectedly"],["unfilp","unflip"],["unfilpped","unflipped"],["unfilpping","unflipping"],["unfilps","unflips"],["unflaged","unflagged"],["unflexible","inflexible"],["unforetunately","unfortunately"],["unforgetable","unforgettable"],["unforgiveable","unforgivable"],["unformated","unformatted"],["unforseen","unforeseen"],["unforttunately","unfortunately"],["unfortuante","unfortunate"],["unfortuantely","unfortunately"],["unfortunaltely","unfortunately"],["unfortunaly","unfortunately"],["unfortunat","unfortunate"],["unfortunatelly","unfortunately"],["unfortunatetly","unfortunately"],["unfortunatley","unfortunately"],["unfortunatly","unfortunately"],["unfortunetly","unfortunately"],["unfortuntaly","unfortunately"],["unforunate","unfortunate"],["unforunately","unfortunately"],["unforutunate","unfortunate"],["unforutunately","unfortunately"],["unfotunately","unfortunately"],["unfourtunately","unfortunately"],["unfourtunetly","unfortunately"],["unfurtunately","unfortunately"],["ungeneralizeable","ungeneralizable"],["ungly","ugly"],["unhandeled","unhandled"],["unhilight","unhighlight"],["unhilighted","unhighlighted"],["unhilights","unhighlights"],["Unicde","Unicode"],["unich","unix"],["unidentifiedly","unidentified"],["unidimensionnal","unidimensional"],["unifform","uniform"],["unifforms","uniforms"],["unifiy","unify"],["uniformely","uniformly"],["unifrom","uniform"],["unifromed","uniformed"],["unifromity","uniformity"],["unifroms","uniforms"],["unigned","unsigned"],["unihabited","uninhabited"],["unilateraly","unilaterally"],["unilatreal","unilateral"],["unilatreally","unilaterally"],["unimpemented","unimplemented"],["unimplemeneted","unimplemented"],["unimplimented","unimplemented"],["uninitailised","uninitialised"],["uninitailized","uninitialized"],["uninitalise","uninitialise"],["uninitalised","uninitialised"],["uninitalises","uninitialises"],["uninitalize","uninitialize"],["uninitalized","uninitialized"],["uninitalizes","uninitializes"],["uniniteresting","uninteresting"],["uninitializaed","uninitialized"],["uninitialse","uninitialise"],["uninitialsed","uninitialised"],["uninitialses","uninitialises"],["uninitialze","uninitialize"],["uninitialzed","uninitialized"],["uninitialzes","uninitializes"],["uninstalable","uninstallable"],["uninstatiated","uninstantiated"],["uninstlal","uninstall"],["uninstlalation","uninstallation"],["uninstlalations","uninstallations"],["uninstlaled","uninstalled"],["uninstlaler","uninstaller"],["uninstlaling","uninstalling"],["uninstlals","uninstalls"],["unint8_t","uint8_t"],["unintelligable","unintelligible"],["unintentially","unintentionally"],["uninteressting","uninteresting"],["uninterpretted","uninterpreted"],["uninterruped","uninterrupted"],["uninterruptable","uninterruptible"],["unintersting","uninteresting"],["uninteruppted","uninterrupted"],["uninterupted","uninterrupted"],["unintesting","uninteresting"],["unintialised","uninitialised"],["unintialized","uninitialized"],["unintiallised","uninitialised"],["unintiallized","uninitialized"],["unintialsied","uninitialised"],["unintialzied","uninitialized"],["unio","union"],["unios","unions"],["uniqe","unique"],["uniqu","unique"],["uniquness","uniqueness"],["unistalled","uninstalled"],["uniterrupted","uninterrupted"],["UnitesStates","UnitedStates"],["unitialize","uninitialize"],["unitialized","uninitialized"],["unitilised","uninitialised"],["unitilising","uninitialising"],["unitilities","utilities"],["unitility","utility"],["unitilized","uninitialized"],["unitilizing","uninitializing"],["unitilties","utilities"],["unitilty","utility"],["unititialized","uninitialized"],["unitl","until"],["unitled","untitled"],["unitss","units"],["univeral","universal"],["univerally","universally"],["univeriality","universality"],["univeristies","universities"],["univeristy","university"],["univerities","universities"],["univerity","university"],["universial","universal"],["universiality","universality"],["universirty","university"],["universtal","universal"],["universtiy","university"],["univesities","universities"],["univesity","university"],["univiersal","universal"],["univrsal","universal"],["unkmown","unknown"],["unknon","unknown"],["unknonw","unknown"],["unknonwn","unknown"],["unknonws","unknowns"],["unknwn","unknown"],["unknwns","unknowns"],["unknwoing","unknowing"],["unknwoingly","unknowingly"],["unknwon","unknown"],["unknwons","unknowns"],["unknwown","unknown"],["unknwowns","unknowns"],["unkonwn","unknown"],["unkonwns","unknowns"],["unkown","unknown"],["unkowns","unknowns"],["unkwown","unknown"],["unlcear","unclear"],["unles","unless"],["unlikey","unlikely"],["unlikley","unlikely"],["unlimeted","unlimited"],["unlimitied","unlimited"],["unlimted","unlimited"],["unline","unlike"],["unloadins","unloading"],["unmached","unmatched"],["unmainted","unmaintained"],["unmaping","unmapping"],["unmappend","unmapped"],["unmarsalling","unmarshalling"],["unmaximice","unmaximize"],["unmistakeably","unmistakably"],["unmodfide","unmodified"],["unmodfided","unmodified"],["unmodfied","unmodified"],["unmodfieid","unmodified"],["unmodfified","unmodified"],["unmodfitied","unmodified"],["unmodifable","unmodifiable"],["unmodifed","unmodified"],["unmoutned","unmounted"],["unnacquired","unacquired"],["unncessary","unnecessary"],["unneccecarily","unnecessarily"],["unneccecary","unnecessary"],["unneccesarily","unnecessarily"],["unneccesary","unnecessary"],["unneccessarily","unnecessarily"],["unneccessary","unnecessary"],["unneceesarily","unnecessarily"],["unnecesarily","unnecessarily"],["unnecesarrily","unnecessarily"],["unnecesarry","unnecessary"],["unnecesary","unnecessary"],["unnecesasry","unnecessary"],["unnecessar","unnecessary"],["unnecessarilly","unnecessarily"],["unnecesserily","unnecessarily"],["unnecessery","unnecessary"],["unnecessiarlly","unnecessarily"],["unnecssary","unnecessary"],["unnedded","unneeded"],["unneded","unneeded"],["unneedingly","unnecessarily"],["unnescessarily","unnecessarily"],["unnescessary","unnecessary"],["unnesesarily","unnecessarily"],["unnessarily","unnecessarily"],["unnessasary","unnecessary"],["unnessecarily","unnecessarily"],["unnessecarry","unnecessary"],["unnessecary","unnecessary"],["unnessesarily","unnecessarily"],["unnessesary","unnecessary"],["unnessessarily","unnecessarily"],["unnessessary","unnecessary"],["unning","running"],["unnnecessary","unnecessary"],["unnown","unknown"],["unnowns","unknowns"],["unnsupported","unsupported"],["unnused","unused"],["unobstrusive","unobtrusive"],["unocde","Unicode"],["unoffical","unofficial"],["unoin","union"],["unompress","uncompress"],["unoperational","nonoperational"],["unorderd","unordered"],["unoredered","unordered"],["unorotated","unrotated"],["unoticeable","unnoticeable"],["unpacke","unpacked"],["unpacket","unpacked"],["unparseable","unparsable"],["unpertubated","unperturbed"],["unperturb","unperturbed"],["unperturbated","unperturbed"],["unperturbe","unperturbed"],["unplease","displease"],["unpleasent","unpleasant"],["unplesant","unpleasant"],["unplesent","unpleasant"],["unprecendented","unprecedented"],["unprecidented","unprecedented"],["unprecise","imprecise"],["unpredicatable","unpredictable"],["unpredicatble","unpredictable"],["unpredictablity","unpredictability"],["unpredictible","unpredictable"],["unpriviledged","unprivileged"],["unpriviliged","unprivileged"],["unprmopted","unprompted"],["unqiue","unique"],["unqoute","unquote"],["unqouted","unquoted"],["unqoutes","unquotes"],["unqouting","unquoting"],["unque","unique"],["unreacahable","unreachable"],["unreacahble","unreachable"],["unreacheable","unreachable"],["unrealeased","unreleased"],["unreasonabily","unreasonably"],["unrechable","unreachable"],["unrecocnized","unrecognized"],["unrecoginized","unrecognized"],["unrecogized","unrecognized"],["unrecognixed","unrecognized"],["unrecongized","unrecognized"],["unreconized","unrecognized"],["unrecovable","unrecoverable"],["unrecovarable","unrecoverable"],["unrecoverd","unrecovered"],["unregester","unregister"],["unregiste","unregister"],["unregisted","unregistered"],["unregisteing","registering"],["unregisterd","unregistered"],["unregistert","unregistered"],["unregistes","unregisters"],["unregisting","unregistering"],["unregistred","unregistered"],["unregistrs","unregisters"],["unregiter","unregister"],["unregiters","unregisters"],["unregnized","unrecognized"],["unregognised","unrecognised"],["unregsiter","unregister"],["unregsitered","unregistered"],["unregsitering","unregistering"],["unregsiters","unregisters"],["unregster","unregister"],["unregstered","unregistered"],["unregstering","unregistering"],["unregsters","unregisters"],["unreigister","unregister"],["unreigster","unregister"],["unreigstered","unregistered"],["unreigstering","unregistering"],["unreigsters","unregisters"],["unrelatd","unrelated"],["unreleated","unrelated"],["unrelted","unrelated"],["unrelyable","unreliable"],["unrelying","underlying"],["unrepentent","unrepentant"],["unrepetant","unrepentant"],["unrepetent","unrepentant"],["unreplacable","unreplaceable"],["unreplacalbe","unreplaceable"],["unreproducable","unreproducible"],["unresgister","unregister"],["unresgisterd","unregistered"],["unresgistered","unregistered"],["unresgisters","unregisters"],["unresolvabvle","unresolvable"],["unresonable","unreasonable"],["unresposive","unresponsive"],["unrestrcited","unrestricted"],["unrgesiter","unregister"],["unroated","unrotated"],["unrosponsive","unresponsive"],["unsanfe","unsafe"],["unsccessful","unsuccessful"],["unscubscribe","subscribe"],["unscubscribed","subscribed"],["unsearcahble","unsearchable"],["unselct","unselect"],["unselcted","unselected"],["unselctes","unselects"],["unselcting","unselecting"],["unselcts","unselects"],["unselecgt","unselect"],["unselecgted","unselected"],["unselecgtes","unselects"],["unselecgting","unselecting"],["unselecgts","unselects"],["unselectabe","unselectable"],["unsepcified","unspecified"],["unseting","unsetting"],["unsetset","unset"],["unsettin","unsetting"],["unsharable","unshareable"],["unshfit","unshift"],["unshfited","unshifted"],["unshfiting","unshifting"],["unshfits","unshifts"],["unsiged","unsigned"],["unsigend","unsigned"],["unsignd","unsigned"],["unsignificant","insignificant"],["unsinged","unsigned"],["unsoclicited","unsolicited"],["unsolicitied","unsolicited"],["unsolicted","unsolicited"],["unsollicited","unsolicited"],["unspecificed","unspecified"],["unspecifiec","unspecific"],["unspecifiecd","unspecified"],["unspecifieced","unspecified"],["unspefcifieid","unspecified"],["unspefeid","unspecified"],["unspeficed","unspecified"],["unspeficeid","unspecified"],["unspeficialleid","unspecified"],["unspeficiallied","unspecified"],["unspeficiallifed","unspecified"],["unspeficied","unspecified"],["unspeficieid","unspecified"],["unspeficifed","unspecified"],["unspeficifeid","unspecified"],["unspeficified","unspecified"],["unspeficififed","unspecified"],["unspeficiied","unspecified"],["unspeficiifed","unspecified"],["unspeficilleid","unspecified"],["unspeficillied","unspecified"],["unspeficillifed","unspecified"],["unspeficiteid","unspecified"],["unspeficitied","unspecified"],["unspeficitifed","unspecified"],["unspefied","unspecified"],["unspefifed","unspecified"],["unspefifeid","unspecified"],["unspefified","unspecified"],["unspefififed","unspecified"],["unspefiied","unspecified"],["unspefiifeid","unspecified"],["unspefiified","unspecified"],["unspefiififed","unspecified"],["unspefixeid","unspecified"],["unspefixied","unspecified"],["unspefixifed","unspecified"],["unspported","unsupported"],["unstabel","unstable"],["unstalbe","unstable"],["unsuable","unusable"],["unsual","unusual"],["unsubscibe","unsubscribe"],["unsubscibed","unsubscribed"],["unsubscibing","unsubscribing"],["unsubscirbe","unsubscribe"],["unsubscirbed","unsubscribed"],["unsubscirbing","unsubscribing"],["unsubscirption","unsubscription"],["unsubscirptions","unsubscriptions"],["unsubscritpion","unsubscription"],["unsubscritpions","unsubscriptions"],["unsubscritpiton","unsubscription"],["unsubscritpitons","unsubscriptions"],["unsubscritption","unsubscription"],["unsubscritptions","unsubscriptions"],["unsubstanciated","unsubstantiated"],["unsucccessful","unsuccessful"],["unsucccessfully","unsuccessfully"],["unsucccessul","unsuccessful"],["unsucccessully","unsuccessfully"],["unsuccee","unsuccessful"],["unsucceed","unsuccessful"],["unsucceedde","unsuccessful"],["unsucceeded","unsuccessful"],["unsucceeds","unsuccessful"],["unsucceeed","unsuccessful"],["unsuccees","unsuccessful"],["unsuccesful","unsuccessful"],["unsuccesfull","unsuccessful"],["unsuccesfully","unsuccessfully"],["unsuccess","unsuccessful"],["unsuccessfull","unsuccessful"],["unsuccessfullly","unsuccessfully"],["unsucesful","unsuccessful"],["unsucesfull","unsuccessful"],["unsucesfully","unsuccessfully"],["unsucesfuly","unsuccessfully"],["unsucessefully","unsuccessfully"],["unsucessflly","unsuccessfully"],["unsucessfually","unsuccessfully"],["unsucessful","unsuccessful"],["unsucessfull","unsuccessful"],["unsucessfully","unsuccessfully"],["unsucessfuly","unsuccessfully"],["unsucesssful","unsuccessful"],["unsucesssfull","unsuccessful"],["unsucesssfully","unsuccessfully"],["unsucesssfuly","unsuccessfully"],["unsucessufll","unsuccessful"],["unsucessuflly","unsuccessfully"],["unsucessully","unsuccessfully"],["unsued","unused"],["unsufficient","insufficient"],["unsuportable","unsupportable"],["unsuported","unsupported"],["unsupport","unsupported"],["unsupproted","unsupported"],["unsupress","unsuppress"],["unsupressed","unsuppressed"],["unsupresses","unsuppresses"],["unsuprised","unsurprised"],["unsuprising","unsurprising"],["unsuprisingly","unsurprisingly"],["unsuprized","unsurprised"],["unsuprizing","unsurprising"],["unsuprizingly","unsurprisingly"],["unsurprized","unsurprised"],["unsurprizing","unsurprising"],["unsurprizingly","unsurprisingly"],["unsused","unused"],["unswithced","unswitched"],["unsychronise","unsynchronise"],["unsychronised","unsynchronised"],["unsychronize","unsynchronize"],["unsychronized","unsynchronized"],["untargetted","untargeted"],["unter","under"],["untill","until"],["untintuitive","unintuitive"],["untoched","untouched"],["untqueue","unqueue"],["untrached","untracked"],["untranslateable","untranslatable"],["untrasformed","untransformed"],["untrasposed","untransposed"],["untrustworty","untrustworthy"],["unued","unused"],["ununsed","unused"],["ununsual","unusual"],["unusal","unusual"],["unusally","unusually"],["unuseable","unusable"],["unuseful","useless"],["unusre","unsure"],["unusuable","unusable"],["unusued","unused"],["unvailable","unavailable"],["unvalid","invalid"],["unvalidate","invalidate"],["unverfified","unverified"],["unversionned","unversioned"],["unversoned","unversioned"],["unviersity","university"],["unwarrented","unwarranted"],["unweildly","unwieldy"],["unwieldly","unwieldy"],["unwraped","unwrapped"],["unwrritten","unwritten"],["unx","unix"],["unxepected","unexpected"],["unxepectedly","unexpectedly"],["unxpected","unexpected"],["unziped","unzipped"],["upadate","update"],["upadated","updated"],["upadater","updater"],["upadates","updates"],["upadating","updating"],["upadte","update"],["upadted","updated"],["upadter","updater"],["upadters","updaters"],["upadtes","updates"],["upagrade","upgrade"],["upagraded","upgraded"],["upagrades","upgrades"],["upagrading","upgrading"],["upate","update"],["upated","updated"],["upater","updater"],["upates","updates"],["upating","updating"],["upcomming","upcoming"],["updaing","updating"],["updat","update"],["updateded","updated"],["updateed","updated"],["updatees","updates"],["updateing","updating"],["updatess","updates"],["updatig","updating"],["updats","updates"],["updgrade","upgrade"],["updgraded","upgraded"],["updgrades","upgrades"],["updgrading","upgrading"],["updrage","upgrade"],["updraged","upgraded"],["updrages","upgrades"],["updraging","upgrading"],["updte","update"],["upercase","uppercase"],["uperclass","upperclass"],["upgade","upgrade"],["upgaded","upgraded"],["upgades","upgrades"],["upgading","upgrading"],["upgarade","upgrade"],["upgaraded","upgraded"],["upgarades","upgrades"],["upgarading","upgrading"],["upgarde","upgrade"],["upgarded","upgraded"],["upgardes","upgrades"],["upgarding","upgrading"],["upgarte","upgrade"],["upgarted","upgraded"],["upgartes","upgrades"],["upgarting","upgrading"],["upgerade","upgrade"],["upgeraded","upgraded"],["upgerades","upgrades"],["upgerading","upgrading"],["upgradablilty","upgradability"],["upgradde","upgrade"],["upgradded","upgraded"],["upgraddes","upgrades"],["upgradding","upgrading"],["upgradei","upgrade"],["upgradingn","upgrading"],["upgrate","upgrade"],["upgrated","upgraded"],["upgrates","upgrades"],["upgrating","upgrading"],["upholstry","upholstery"],["uplad","upload"],["upladaded","uploaded"],["upladed","uploaded"],["uplader","uploader"],["upladers","uploaders"],["uplading","uploading"],["uplads","uploads"],["uplaod","upload"],["uplaodaded","uploaded"],["uplaoded","uploaded"],["uplaoder","uploader"],["uplaoders","uploaders"],["uplaodes","uploads"],["uplaoding","uploading"],["uplaods","uploads"],["upliad","upload"],["uplod","upload"],["uplodaded","uploaded"],["uploded","uploaded"],["uploder","uploader"],["uploders","uploaders"],["uploding","uploading"],["uplods","uploads"],["uppler","upper"],["uppon","upon"],["upported","supported"],["upporterd","supported"],["uppper","upper"],["uppstream","upstream"],["uppstreamed","upstreamed"],["uppstreamer","upstreamer"],["uppstreaming","upstreaming"],["uppstreams","upstreams"],["uppwards","upwards"],["uprade","upgrade"],["upraded","upgraded"],["uprades","upgrades"],["uprading","upgrading"],["uprgade","upgrade"],["uprgaded","upgraded"],["uprgades","upgrades"],["uprgading","upgrading"],["upsream","upstream"],["upsreamed","upstreamed"],["upsreamer","upstreamer"],["upsreaming","upstreaming"],["upsreams","upstreams"],["upsrteam","upstream"],["upsrteamed","upstreamed"],["upsrteamer","upstreamer"],["upsrteaming","upstreaming"],["upsrteams","upstreams"],["upsteam","upstream"],["upsteamed","upstreamed"],["upsteamer","upstreamer"],["upsteaming","upstreaming"],["upsteams","upstreams"],["upsteram","upstream"],["upsteramed","upstreamed"],["upsteramer","upstreamer"],["upsteraming","upstreaming"],["upsterams","upstreams"],["upstread","upstream"],["upstreamedd","upstreamed"],["upstreammed","upstreamed"],["upstreammer","upstreamer"],["upstreamming","upstreaming"],["upstreem","upstream"],["upstreemed","upstreamed"],["upstreemer","upstreamer"],["upstreeming","upstreaming"],["upstreems","upstreams"],["upstrema","upstream"],["upsupported","unsupported"],["uptadeable","updatable"],["uptdate","update"],["uptim","uptime"],["uptions","options"],["uptodate","up-to-date"],["uptodateness","up-to-dateness"],["uptream","upstream"],["uptreamed","upstreamed"],["uptreamer","upstreamer"],["uptreaming","upstreaming"],["uptreams","upstreams"],["uqest","quest"],["uqests","quests"],["urrlib","urllib"],["usag","usage"],["usal","usual"],["usally","usually"],["uscaled","unscaled"],["useability","usability"],["useable","usable"],["useage","usage"],["usebility","usability"],["useble","usable"],["useed","used"],["usees","uses"],["usefl","useful"],["usefule","useful"],["usefulfor","useful for"],["usefull","useful"],["usefullness","usefulness"],["usefult","useful"],["usefuly","usefully"],["usefutl","useful"],["usege","usage"],["useing","using"],["user-defiend","user-defined"],["user-defiened","user-defined"],["usera","users"],["userame","username"],["userames","usernames"],["userapace","userspace"],["userful","useful"],["userpace","userspace"],["userpsace","userspace"],["usersapce","userspace"],["userspase","userspace"],["usesfull","useful"],["usespace","userspace"],["usetnet","Usenet"],["usibility","usability"],["usible","usable"],["usig","using"],["usigned","unsigned"],["usiing","using"],["usin","using"],["usind","using"],["usinging","using"],["usinng","using"],["usng","using"],["usnig","using"],["usptart","upstart"],["usptarts","upstarts"],["usseful","useful"],["ussual","usual"],["ussuall","usual"],["ussually","usually"],["usuable","usable"],["usuage","usage"],["usuallly","usually"],["usualy","usually"],["usualyl","usually"],["usue","use"],["usued","used"],["usueful","useful"],["usuer","user"],["usuing","using"],["usupported","unsupported"],["ususal","usual"],["ususally","usually"],["UTF8ness","UTF-8-ness"],["utiilties","utilities"],["utilies","utilities"],["utililties","utilities"],["utilis","utilise"],["utilisa","utilise"],["utilisaton","utilisation"],["utilites","utilities"],["utilitisation","utilisation"],["utilitise","utilise"],["utilitises","utilises"],["utilitising","utilising"],["utilitiy","utility"],["utilitization","utilization"],["utilitize","utilize"],["utilitizes","utilizes"],["utilitizing","utilizing"],["utiliz","utilize"],["utiliza","utilize"],["utilizaton","utilization"],["utillities","utilities"],["utilties","utilities"],["utiltities","utilities"],["utiltity","utility"],["utilty","utility"],["utitity","utility"],["utitlities","utilities"],["utitlity","utility"],["utitlty","utility"],["utlities","utilities"],["utlity","utility"],["utput","output"],["utputs","outputs"],["uupload","upload"],["uupper","upper"],["vaalues","values"],["vaccum","vacuum"],["vaccume","vacuum"],["vaccuum","vacuum"],["vacinity","vicinity"],["vactor","vector"],["vactors","vectors"],["vacumme","vacuum"],["vacuosly","vacuously"],["vaelues","values"],["vaguaries","vagaries"],["vaiable","variable"],["vaiables","variables"],["vaiant","variant"],["vaiants","variants"],["vaidate","validate"],["vaieties","varieties"],["vailable","available"],["vaild","valid"],["vailidity","validity"],["vailidty","validity"],["vairable","variable"],["vairables","variables"],["vairous","various"],["vakue","value"],["vakued","valued"],["vakues","values"],["valailable","available"],["valdate","validate"],["valetta","valletta"],["valeu","value"],["valiator","validator"],["validade","validate"],["validata","validate"],["validataion","validation"],["validaterelase","validaterelease"],["valide","valid"],["valididty","validity"],["validing","validating"],["validte","validate"],["validted","validated"],["validtes","validates"],["validting","validating"],["validtion","validation"],["valied","valid"],["valies","values"],["valif","valid"],["valitdity","validity"],["valkues","values"],["vallgrind","valgrind"],["vallid","valid"],["vallidation","validation"],["vallidity","validity"],["vallue","value"],["vallues","values"],["valsues","values"],["valtage","voltage"],["valtages","voltages"],["valu","value"],["valuble","valuable"],["valudes","values"],["value-to-pack","value to pack"],["valueable","valuable"],["valuess","values"],["valuie","value"],["valulation","valuation"],["valulations","valuations"],["valule","value"],["valuled","valued"],["valules","values"],["valuling","valuing"],["vanishs","vanishes"],["varable","variable"],["varables","variables"],["varaiable","variable"],["varaiables","variables"],["varaiance","variance"],["varaiation","variation"],["varaible","variable"],["varaibles","variables"],["varaint","variant"],["varaints","variants"],["varation","variation"],["varations","variations"],["variabble","variable"],["variabbles","variables"],["variabe","variable"],["variabel","variable"],["variabele","variable"],["variabes","variables"],["variabla","variable"],["variablen","variable"],["varialbe","variable"],["varialbes","variables"],["varialbles","variables"],["varian","variant"],["variantions","variations"],["variatinos","variations"],["variationnal","variational"],["variatoin","variation"],["variatoins","variations"],["variavle","variable"],["variavles","variables"],["varibable","variable"],["varibables","variables"],["varibale","variable"],["varibales","variables"],["varibaless","variables"],["varibel","variable"],["varibels","variables"],["varibility","variability"],["variblae","variable"],["variblaes","variables"],["varible","variable"],["varibles","variables"],["varience","variance"],["varient","variant"],["varients","variants"],["varierty","variety"],["variey","variety"],["varify","verify"],["variing","varying"],["varing","varying"],["varities","varieties"],["varity","variety"],["variuos","various"],["variuous","various"],["varius","various"],["varn","warn"],["varned","warned"],["varning","warning"],["varnings","warnings"],["varns","warns"],["varoius","various"],["varous","various"],["varously","variously"],["varriance","variance"],["varriances","variances"],["vartical","vertical"],["vartically","vertically"],["vas","was"],["vasall","vassal"],["vasalls","vassals"],["vaue","value"],["vaule","value"],["vauled","valued"],["vaules","values"],["vauling","valuing"],["vavle","valve"],["vavlue","value"],["vavriable","variable"],["vavriables","variables"],["vbsrcript","vbscript"],["vebrose","verbose"],["vecotr","vector"],["vecotrs","vectors"],["vectices","vertices"],["vectore","vector"],["vectores","vectors"],["vectorss","vectors"],["vectror","vector"],["vectrors","vectors"],["vecvtor","vector"],["vecvtors","vectors"],["vedio","video"],["vefiry","verify"],["vegatarian","vegetarian"],["vegeterian","vegetarian"],["vegitable","vegetable"],["vegitables","vegetables"],["vegtable","vegetable"],["vehicule","vehicle"],["veify","verify"],["veiw","view"],["veiwed","viewed"],["veiwer","viewer"],["veiwers","viewers"],["veiwing","viewing"],["veiwings","viewings"],["veiws","views"],["vektor","vector"],["vektors","vectors"],["velidate","validate"],["vell","well"],["velociries","velocities"],["velociry","velocity"],["vender","vendor"],["venders","vendors"],["venemous","venomous"],["vengance","vengeance"],["vengence","vengeance"],["verbaitm","verbatim"],["verbatum","verbatim"],["verbous","verbose"],["verbouse","verbose"],["verbously","verbosely"],["verbse","verbose"],["verctor","vector"],["verctors","vectors"],["veresion","version"],["veresions","versions"],["verfication","verification"],["verficiation","verification"],["verfier","verifier"],["verfies","verifies"],["verfifiable","verifiable"],["verfification","verification"],["verfifications","verifications"],["verfified","verified"],["verfifier","verifier"],["verfifiers","verifiers"],["verfifies","verifies"],["verfify","verify"],["verfifying","verifying"],["verfires","verifies"],["verfiy","verify"],["verfiying","verifying"],["verfy","verify"],["verfying","verifying"],["verical","vertical"],["verifcation","verification"],["verifiaction","verification"],["verificaion","verification"],["verificaions","verifications"],["verificiation","verification"],["verificiations","verifications"],["verifieing","verifying"],["verifing","verifying"],["verifiy","verify"],["verifiying","verifying"],["verifty","verify"],["veriftying","verifying"],["verifyied","verified"],["verion","version"],["verions","versions"],["veriosn","version"],["veriosns","versions"],["verious","various"],["verison","version"],["verisoned","versioned"],["verisoner","versioner"],["verisoners","versioners"],["verisoning","versioning"],["verisons","versions"],["veritcal","vertical"],["veritcally","vertically"],["veritical","vertical"],["verly","very"],["vermillion","vermilion"],["verndor","vendor"],["verrical","vertical"],["verry","very"],["vershin","version"],["versin","version"],["versino","version"],["versinos","versions"],["versins","versions"],["versio","version"],["versiob","version"],["versioed","versioned"],["versioing","versioning"],["versiom","version"],["versionaddded","versionadded"],["versionm","version"],["versionms","versions"],["versionned","versioned"],["versionning","versioning"],["versios","versions"],["versitilaty","versatility"],["versitile","versatile"],["versitlity","versatility"],["versoin","version"],["versoion","version"],["versoions","versions"],["verson","version"],["versoned","versioned"],["versons","versions"],["vertextes","vertices"],["vertexts","vertices"],["vertial","vertical"],["verticall","vertical"],["verticaly","vertically"],["verticies","vertices"],["verticla","vertical"],["verticlealign","verticalalign"],["vertiece","vertex"],["vertieces","vertices"],["vertifiable","verifiable"],["vertification","verification"],["vertifications","verifications"],["vertify","verify"],["vertikal","vertical"],["vertix","vertex"],["vertixes","vertices"],["vertixs","vertices"],["vertx","vertex"],["veryfieng","verifying"],["veryfy","verify"],["veryified","verified"],["veryifies","verifies"],["veryify","verify"],["veryifying","verifying"],["vesion","version"],["vesions","versions"],["vetex","vertex"],["vetexes","vertices"],["vetod","vetoed"],["vetween","between"],["vew","view"],["veyr","very"],["vhild","child"],["viatnamese","Vietnamese"],["vice-fersa","vice-versa"],["vice-wersa","vice-versa"],["vicefersa","vice-versa"],["viceversa","vice-versa"],["vicewersa","vice-versa"],["videostreamming","videostreaming"],["viee","view"],["viees","views"],["vieport","viewport"],["vieports","viewports"],["vietnamesea","Vietnamese"],["viewtransfromation","viewtransformation"],["vigilence","vigilance"],["vigourous","vigorous"],["vill","will"],["villian","villain"],["villification","vilification"],["villify","vilify"],["vincinity","vicinity"],["vinrator","vibrator"],["vioalte","violate"],["vioaltion","violation"],["violentce","violence"],["violoated","violated"],["violoating","violating"],["violoation","violation"],["violoations","violations"],["virtal","virtual"],["virtaul","virtual"],["virtical","vertical"],["virtiual","virtual"],["virttual","virtual"],["virttually","virtually"],["virtualisaion","virtualisation"],["virtualisaiton","virtualisation"],["virtualizaion","virtualization"],["virtualizaiton","virtualization"],["virtualiziation","virtualization"],["virtualy","virtually"],["virtualzation","virtualization"],["virtuell","virtual"],["virtural","virtual"],["virture","virtue"],["virutal","virtual"],["virutalenv","virtualenv"],["virutalisation","virtualisation"],["virutalise","virtualise"],["virutalised","virtualised"],["virutalization","virtualization"],["virutalize","virtualize"],["virutalized","virtualized"],["virutally","virtually"],["virutals","virtuals"],["virutual","virtual"],["visability","visibility"],["visable","visible"],["visably","visibly"],["visbility","visibility"],["visble","visible"],["visblie","visible"],["visbly","visibly"],["visiable","visible"],["visiably","visibly"],["visibale","visible"],["visibibilty","visibility"],["visibile","visible"],["visibililty","visibility"],["visibilit","visibility"],["visibilty","visibility"],["visibl","visible"],["visibleable","visible"],["visibles","visible"],["visiblities","visibilities"],["visiblity","visibility"],["visiblle","visible"],["visinble","visible"],["visious","vicious"],["visisble","visible"],["visiter","visitor"],["visiters","visitors"],["visitng","visiting"],["visivble","visible"],["vissible","visible"],["visted","visited"],["visting","visiting"],["vistors","visitors"],["visuab","visual"],["visuabisation","visualisation"],["visuabise","visualise"],["visuabised","visualised"],["visuabises","visualises"],["visuabization","visualization"],["visuabize","visualize"],["visuabized","visualized"],["visuabizes","visualizes"],["visuables","visuals"],["visuably","visually"],["visuabs","visuals"],["visuaisation","visualisation"],["visuaise","visualise"],["visuaised","visualised"],["visuaises","visualises"],["visuaization","visualization"],["visuaize","visualize"],["visuaized","visualized"],["visuaizes","visualizes"],["visuale","visual"],["visuales","visuals"],["visualizaion","visualization"],["visualizaiton","visualization"],["visualizaitons","visualizations"],["visualizaton","visualization"],["visualizatons","visualizations"],["visuallisation","visualisation"],["visuallization","visualization"],["visualy","visually"],["visualzation","visualization"],["vitories","victories"],["vitrual","virtual"],["vitrually","virtually"],["vitual","virtual"],["viusally","visually"],["viusualisation","visualisation"],["viwe","view"],["viwed","viewed"],["viweed","viewed"],["viwer","viewer"],["viwers","viewers"],["viwes","views"],["vizualisation","visualisation"],["vizualise","visualise"],["vizualised","visualised"],["vizualize","visualize"],["vizualized","visualized"],["vlarge","large"],["vlaue","value"],["vlaues","values"],["vlone","clone"],["vloned","cloned"],["vlones","clones"],["vlues","values"],["voif","void"],["volatage","voltage"],["volatages","voltages"],["volatge","voltage"],["volatges","voltages"],["volcanoe","volcano"],["volenteer","volunteer"],["volenteered","volunteered"],["volenteers","volunteers"],["voleyball","volleyball"],["volontary","voluntary"],["volonteer","volunteer"],["volonteered","volunteered"],["volonteering","volunteering"],["volonteers","volunteers"],["volounteer","volunteer"],["volounteered","volunteered"],["volounteering","volunteering"],["volounteers","volunteers"],["volumn","volume"],["volumne","volume"],["volums","volume"],["volxel","voxel"],["volxels","voxels"],["vonfig","config"],["vould","would"],["vreity","variety"],["vresion","version"],["vrey","very"],["vriable","variable"],["vriables","variables"],["vriety","variety"],["vrifier","verifier"],["vrifies","verifies"],["vrify","verify"],["vrilog","Verilog"],["vritual","virtual"],["vritualenv","virtualenv"],["vritualisation","virtualisation"],["vritualise","virtualise"],["vritualization","virtualization"],["vritualize","virtualize"],["vrituoso","virtuoso"],["vrsion","version"],["vrsions","versions"],["Vulacn","Vulcan"],["Vulakn","Vulkan"],["vulbearable","vulnerable"],["vulbearabule","vulnerable"],["vulbearbilities","vulnerabilities"],["vulbearbility","vulnerability"],["vulbearbuilities","vulnerabilities"],["vulbearbuility","vulnerability"],["vulberabilility","vulnerability"],["vulberabilites","vulnerabilities"],["vulberabiliti","vulnerability"],["vulberabilitie","vulnerability"],["vulberabilitis","vulnerabilities"],["vulberabilitiy","vulnerability"],["vulberabillities","vulnerabilities"],["vulberabillity","vulnerability"],["vulberabilties","vulnerabilities"],["vulberabilty","vulnerability"],["vulberablility","vulnerability"],["vulberabuilility","vulnerability"],["vulberabuilites","vulnerabilities"],["vulberabuiliti","vulnerability"],["vulberabuilitie","vulnerability"],["vulberabuilities","vulnerabilities"],["vulberabuilitis","vulnerabilities"],["vulberabuilitiy","vulnerability"],["vulberabuility","vulnerability"],["vulberabuillities","vulnerabilities"],["vulberabuillity","vulnerability"],["vulberabuilties","vulnerabilities"],["vulberabuilty","vulnerability"],["vulberabule","vulnerable"],["vulberabulility","vulnerability"],["vulberbilities","vulnerabilities"],["vulberbility","vulnerability"],["vulberbuilities","vulnerabilities"],["vulberbuility","vulnerability"],["vulerabilities","vulnerabilities"],["vulerability","vulnerability"],["vulerable","vulnerable"],["vulerabuilities","vulnerabilities"],["vulerabuility","vulnerability"],["vulerabule","vulnerable"],["vulernabilities","vulnerabilities"],["vulernability","vulnerability"],["vulernable","vulnerable"],["vulnarabilities","vulnerabilities"],["vulnarability","vulnerability"],["vulneabilities","vulnerabilities"],["vulneability","vulnerability"],["vulneable","vulnerable"],["vulnearabilities","vulnerabilities"],["vulnearability","vulnerability"],["vulnearable","vulnerable"],["vulnearabule","vulnerable"],["vulnearbilities","vulnerabilities"],["vulnearbility","vulnerability"],["vulnearbuilities","vulnerabilities"],["vulnearbuility","vulnerability"],["vulnerabilies","vulnerabilities"],["vulnerabiliies","vulnerabilities"],["vulnerabilility","vulnerability"],["vulnerabilites","vulnerabilities"],["vulnerabiliti","vulnerability"],["vulnerabilitie","vulnerability"],["vulnerabilitis","vulnerabilities"],["vulnerabilitiy","vulnerability"],["vulnerabilitu","vulnerability"],["vulnerabiliy","vulnerability"],["vulnerabillities","vulnerabilities"],["vulnerabillity","vulnerability"],["vulnerabilties","vulnerabilities"],["vulnerabilty","vulnerability"],["vulnerablility","vulnerability"],["vulnerablities","vulnerabilities"],["vulnerablity","vulnerability"],["vulnerabuilility","vulnerability"],["vulnerabuilites","vulnerabilities"],["vulnerabuiliti","vulnerability"],["vulnerabuilitie","vulnerability"],["vulnerabuilities","vulnerabilities"],["vulnerabuilitis","vulnerabilities"],["vulnerabuilitiy","vulnerability"],["vulnerabuility","vulnerability"],["vulnerabuillities","vulnerabilities"],["vulnerabuillity","vulnerability"],["vulnerabuilties","vulnerabilities"],["vulnerabuilty","vulnerability"],["vulnerabule","vulnerable"],["vulnerabulility","vulnerability"],["vulnerarbilities","vulnerabilities"],["vulnerarbility","vulnerability"],["vulnerarble","vulnerable"],["vulnerbilities","vulnerabilities"],["vulnerbility","vulnerability"],["vulnerbuilities","vulnerabilities"],["vulnerbuility","vulnerability"],["vulnreabilities","vulnerabilities"],["vulnreability","vulnerability"],["vunerabilities","vulnerabilities"],["vunerability","vulnerability"],["vunerable","vulnerable"],["vyer","very"],["vyre","very"],["waht","what"],["wainting","waiting"],["waisline","waistline"],["waislines","waistlines"],["waitting","waiting"],["wakup","wakeup"],["wallthickness","wall thickness"],["want;s","wants"],["wantto","want to"],["wappers","wrappers"],["warantee","warranty"],["waranties","warranties"],["waranty","warranty"],["wardobe","wardrobe"],["waring","warning"],["warings","warnings"],["warinigs","warnings"],["warining","warning"],["warinings","warnings"],["warks","works"],["warlking","walking"],["warnibg","warning"],["warnibgs","warnings"],["warnig","warning"],["warnign","warning"],["warnigns","warnings"],["warnigs","warnings"],["warniing","warning"],["warniings","warnings"],["warnin","warning"],["warnind","warning"],["warninds","warnings"],["warninf","warning"],["warninfs","warnings"],["warningss","warnings"],["warninig","warning"],["warninigs","warnings"],["warnining","warning"],["warninings","warnings"],["warninng","warning"],["warninngs","warnings"],["warnins","warnings"],["warninsg","warnings"],["warninsgs","warnings"],["warniong","warning"],["warniongs","warnings"],["warnkng","warning"],["warnkngs","warnings"],["warrent","warrant"],["warrents","warrants"],["warrn","warn"],["warrned","warned"],["warrning","warning"],["warrnings","warnings"],["warrriors","warriors"],["was'nt","wasn't"],["was't","wasn't"],["was;t","wasn't"],["wasn;t","wasn't"],["wasnt'","wasn't"],["wasnt","wasn't"],["wasnt;","wasn't"],["wass","was"],["wastefullness","wastefulness"],["watchdong","watchdog"],["watchog","watchdog"],["watermask","watermark"],["wathc","watch"],["wathdog","watchdog"],["wathever","whatever"],["wating","waiting"],["watn","want"],["wavelengh","wavelength"],["wavelenghs","wavelengths"],["wavelenght","wavelength"],["wavelenghts","wavelengths"],["wavelnes","wavelines"],["wayoint","waypoint"],["wayoints","waypoints"],["wayword","wayward"],["weahter","weather"],["weahters","weathers"],["weaponary","weaponry"],["weas","was"],["webage","webpage"],["webbased","web-based"],["webiste","website"],["wedensday","Wednesday"],["wednesay","Wednesday"],["wednesdaay","Wednesday"],["wednesdey","Wednesday"],["wednessday","Wednesday"],["wednsday","Wednesday"],["wege","wedge"],["wehere","where"],["wehn","when"],["wehther","whether"],["weigth","weight"],["weigthed","weighted"],["weigths","weights"],["weilded","wielded"],["weill","will"],["weired","weird"],["weitght","weight"],["wel","well"],["wendesday","Wednesday"],["wendsay","Wednesday"],["wendsday","Wednesday"],["wensday","Wednesday"],["were'nt","weren't"],["wereabouts","whereabouts"],["wereas","whereas"],["weree","were"],["werent","weren't"],["werever","wherever"],["wew","we"],["whant","want"],["whants","wants"],["whataver","whatever"],["whatepsace","whitespace"],["whatepsaces","whitespaces"],["whathever","whatever"],["whch","which"],["whcich","which"],["whcih","which"],["wheh","when"],["whehter","whether"],["wheigh","weigh"],["whem","when"],["whenevery","whenever"],["whenn","when"],["whenver","whenever"],["wheras","whereas"],["wherease","whereas"],["whereever","wherever"],["wherether","whether"],["whery","where"],["wheteher","whether"],["whetehr","whether"],["wheter","whether"],["whethe","whether"],["whethter","whether"],["whever","wherever"],["whheel","wheel"],["whhen","when"],["whic","which"],["whicg","which"],["which;s","which's"],["whichs","which's"],["whicht","which"],["whih","which"],["whihc","which"],["whihch","which"],["whike","while"],["whilest","whilst"],["whiltelist","whitelist"],["whiltelisted","whitelisted"],["whiltelisting","whitelisting"],["whiltelists","whitelists"],["whilw","while"],["whioch","which"],["whishlist","wishlist"],["whitch","which"],["whitchever","whichever"],["whitepsace","whitespace"],["whitepsaces","whitespaces"],["whith","with"],["whithin","within"],["whithout","without"],["whitre","white"],["whitspace","whitespace"],["whitspaces","whitespace"],["whlch","which"],["whle","while"],["whlie","while"],["whn","when"],["whne","when"],["whoes","whose"],["whoknows","who knows"],["wholey","wholly"],["whoose","whose"],["whould","would"],["whre","where"],["whta","what"],["whther","whether"],["whtihin","within"],["whyth","with"],["whythout","without"],["wiat","wait"],["wice","vice"],["wice-versa","vice-versa"],["wice-wersa","vice-versa"],["wiceversa","vice-versa"],["wicewersa","vice-versa"],["wich","which"],["widder","wider"],["widesread","widespread"],["widgect","widget"],["widged","widget"],["widghet","widget"],["widghets","widgets"],["widgit","widget"],["widgtes","widgets"],["widht","width"],["widhtpoint","widthpoint"],["widhtpoints","widthpoints"],["widthn","width"],["widthout","without"],["wief","wife"],["wieghed","weighed"],["wieght","weight"],["wieghts","weights"],["wieh","view"],["wierd","weird"],["wierdly","weirdly"],["wierdness","weirdness"],["wieth","width"],["wiew","view"],["wigdet","widget"],["wigdets","widgets"],["wih","with"],["wihch","which"],["wihich","which"],["wihite","white"],["wihle","while"],["wihout","without"],["wiht","with"],["wihtin","within"],["wihtout","without"],["wiil","will"],["wikpedia","wikipedia"],["wilcard","wildcard"],["wilcards","wildcards"],["wilh","will"],["wille","will"],["willingless","willingness"],["willk","will"],["willl","will"],["windo","window"],["windoes","windows"],["windoow","window"],["windoows","windows"],["windos","windows"],["windowz","windows"],["windwo","window"],["windwos","windows"],["winn","win"],["winndow","window"],["winndows","windows"],["winodw","window"],["wipoing","wiping"],["wirh","with"],["wirte","write"],["wirter","writer"],["wirters","writers"],["wirtes","writes"],["wirting","writing"],["wirtten","written"],["wirtual","virtual"],["witable","writeable"],["witdh","width"],["witdhs","widths"],["witdth","width"],["witdths","widths"],["witheld","withheld"],["withh","with"],["withih","within"],["withinn","within"],["withion","within"],["witho","with"],["withoit","without"],["withold","withhold"],["witholding","withholding"],["withon","within"],["withoout","without"],["withot","without"],["withotu","without"],["withou","without"],["withoud","without"],["withoug","without"],["withough","without"],["withought","without"],["withouht","without"],["withount","without"],["withourt","without"],["withous","without"],["withouth","without"],["withouyt","without"],["withput","without"],["withrawal","withdrawal"],["witht","with"],["withthe","with the"],["withtin","within"],["withun","within"],["withuout","without"],["witin","within"],["witk","with"],["witn","with"],["witout","without"],["witrh","with"],["witth","with"],["wiull","will"],["wiyh","with"],["wiyhout","without"],["wiyth","with"],["wizzard","wizard"],["wjat","what"],["wll","will"],["wlll","will"],["wnated","wanted"],["wnating","wanting"],["wnats","wants"],["woh","who"],["wohle","whole"],["woill","will"],["woithout","without"],["wokr","work"],["wokring","working"],["wolrd","world"],["wolrdly","worldly"],["wolrdwide","worldwide"],["wolwide","worldwide"],["won;t","won't"],["wonderfull","wonderful"],["wonderig","wondering"],["wont't","won't"],["woraround","workaround"],["worarounds","workarounds"],["worbench","workbench"],["worbenches","workbenches"],["worchester","Worcester"],["wordlwide","worldwide"],["wordpres","wordpress"],["worfklow","workflow"],["worfklows","workflows"],["worflow","workflow"],["worflows","workflows"],["workaorund","workaround"],["workaorunds","workarounds"],["workaound","workaround"],["workaounds","workarounds"],["workaraound","workaround"],["workaraounds","workarounds"],["workarbound","workaround"],["workaroud","workaround"],["workaroudn","workaround"],["workaroudns","workarounds"],["workarouds","workarounds"],["workarould","workaround"],["workaroung","workaround"],["workaroungs","workarounds"],["workarround","workaround"],["workarrounds","workarounds"],["workarund","workaround"],["workarunds","workarounds"],["workbanch","workbench"],["workbanches","workbenches"],["workbanchs","workbenches"],["workbenchs","workbenches"],["workbennch","workbench"],["workbennches","workbenches"],["workbnech","workbench"],["workbneches","workbenches"],["workboos","workbooks"],["workes","works"],["workfow","workflow"],["workfows","workflows"],["workign","working"],["worklfow","workflow"],["worklfows","workflows"],["workpsace","workspace"],["workpsaces","workspaces"],["workround","workaround"],["workrounds","workarounds"],["workspce","workspace"],["workspsace","workspace"],["workspsaces","workspaces"],["workstaion","workstation"],["workstaions","workstations"],["workstaition","workstation"],["workstaitions","workstations"],["workstaiton","workstation"],["workstaitons","workstations"],["workststion","workstation"],["workststions","workstations"],["worl","world"],["world-reknown","world renown"],["world-reknowned","world renowned"],["worload","workload"],["worloads","workloads"],["worls","world"],["wornged","wronged"],["worngs","wrongs"],["worrry","worry"],["worser","worse"],["worstened","worsened"],["worthwile","worthwhile"],["woth","worth"],["wothout","without"],["wotk","work"],["wotked","worked"],["wotking","working"],["wotks","works"],["woud","would"],["woudl","would"],["woudn't","wouldn't"],["would'nt","wouldn't"],["would't","wouldn't"],["wouldent","wouldn't"],["woulden`t","wouldn't"],["wouldn;t","wouldn't"],["wouldnt'","wouldn't"],["wouldnt","wouldn't"],["wouldnt;","wouldn't"],["wounderful","wonderful"],["wouold","would"],["wouuld","would"],["wqs","was"],["wraapp","wrap"],["wraapped","wrapped"],["wraapper","wrapper"],["wraappers","wrappers"],["wraapping","wrapping"],["wraapps","wraps"],["wraning","warning"],["wranings","warnings"],["wrapepd","wrapped"],["wraper","wrapper"],["wrapp","wrap"],["wrappered","wrapped"],["wrappng","wrapping"],["wrapps","wraps"],["wresters","wrestlers"],["wriet","write"],["writebufer","writebuffer"],["writechetque","writecheque"],["writeing","writing"],["writen","written"],["writet","writes"],["writewr","writer"],["writingm","writing"],["writters","writers"],["writting","writing"],["writtten","written"],["wrkload","workload"],["wrkloads","workloads"],["wrod","word"],["wroet","wrote"],["wrog","wrong"],["wrok","work"],["wroked","worked"],["wrokflow","workflow"],["wrokflows","workflows"],["wroking","working"],["wrokload","workload"],["wrokloads","workloads"],["wroks","works"],["wron","wrong"],["wronf","wrong"],["wront","wrong"],["wrtie","write"],["wrting","writing"],["wsee","see"],["wser","user"],["wth","with"],["wtih","with"],["wtyle","style"],["wuold","would"],["wupport","support"],["wuth","with"],["wuthin","within"],["wya","way"],["wyth","with"],["wythout","without"],["xdescribe","describe"],["xdpf","xpdf"],["xenophoby","xenophobia"],["xepect","expect"],["xepected","expected"],["xepectedly","expectedly"],["xepecting","expecting"],["xepects","expects"],["xgetttext","xgettext"],["xinitiazlize","xinitialize"],["xmdoel","xmodel"],["xour","your"],["xwindows","X"],["xyou","you"],["yaching","yachting"],["yaer","year"],["yaerly","yearly"],["yaers","years"],["yatch","yacht"],["yearm","year"],["yeasr","years"],["yeild","yield"],["yeilded","yielded"],["yeilding","yielding"],["yeilds","yields"],["yeld","yield"],["yelded","yielded"],["yelding","yielding"],["yelds","yields"],["yello","yellow"],["yera","year"],["yeras","years"],["yersa","years"],["yhe","the"],["yieldin","yielding"],["ymbols","symbols"],["yoman","yeoman"],["yomen","yeomen"],["yot","yacht"],["yotube","youtube"],["youforic","euphoric"],["youforically","euphorically"],["youlogy","eulogy"],["yourselfes","yourselves"],["youself","yourself"],["youthinasia","euthanasia"],["ypes","types"],["yrea","year"],["ytou","you"],["yuforic","euphoric"],["yuforically","euphorically"],["yugoslac","yugoslav"],["yuo","you"],["yuor","your"],["yur","your"],["zar","czar"],["zars","czars"],["zeebra","zebra"],["zefer","zephyr"],["zefers","zephyrs"],["zellot","zealot"],["zellots","zealots"],["zemporary","temporary"],["zick-zack","zig-zag"],["zimmap","zipmap"],["zimpaps","zipmaps"],["zink","zinc"],["ziped","zipped"],["ziper","zipper"],["ziping","zipping"],["zlot","slot"],["zombe","zombie"],["zomebie","zombie"],["zoocheenei","zucchinis"],["zoocheeni","zucchini"],["zoocheinei","zucchinis"],["zoocheini","zucchini"],["zookeenee","zucchini"],["zookeenees","zucchinis"],["zookeenei","zucchinis"],["zookeeni","zucchini"],["zookeinee","zucchini"],["zookeinees","zucchinis"],["zookeinei","zucchinis"],["zookeini","zucchini"],["zucheenei","zucchinis"],["zucheeni","zucchini"],["zukeenee","zucchini"],["zukeenees","zucchinis"],["zukeenei","zucchinis"],["zukeeni","zucchini"],["zuser","user"],["zylophone","xylophone"],["zylophones","xylophone"],["__attribyte__","__attribute__"],["__cpluspus","__cplusplus"],["__cpusplus","__cplusplus"],["\xE9valuate","evaluate"],["\u0441ontain","contain"],["\u0441ontained","contained"],["\u0441ontainer","container"],["\u0441ontainers","containers"],["\u0441ontaining","containing"],["\u0441ontainor","container"],["\u0441ontainors","containers"],["\u0441ontains","contains"]]);var Pa=class{constructor(){this.ignoreWords=[]}},Rn=class extends k{constructor(){super({nameKey:"rules.auto-correct-common-misspellings.name",descriptionKey:"rules.auto-correct-common-misspellings.description",type:"Content"})}get OptionsClass(){return Pa}apply(t,i){return R([f.yaml,f.code,f.inlineCode,f.math,f.inlineMath,f.link,f.wikiLink,f.tag,f.image,f.url],t,n=>{let r=/[\p{L}\p{N}\p{Pc}\p{M}\-'’`]+/gu;return n.replaceAll(r,a=>{let s=a.toLowerCase();if(!qo.has(s)||i.ignoreWords.includes(s))return a;let o=qo.get(s);return a.charAt(0)==a.charAt(0).toUpperCase()&&(o=o.charAt(0).toUpperCase()+o.substring(1)),o})})}get exampleBuilders(){return[new v({description:"Auto-correct misspellings in regular text, but not code blocks, math blocks, YAML, or tags",before:m` +`).map(function(m,g){return g===0?m:""+c+m}).join(` +`)),s+=u+n[l+1]}),s}var p=py;var yp=gn(sa());var Fs=require("obsidian");var Qt,jn,$i,ii=class{static getRule(){if(!Ue(ii,Qt).has(this.name)){let t=new this,i=new Ya(t.nameKey,t.descriptionKey,t.settingsKey,t.alias,t.type,t.safeApply.bind(t),t.exampleBuilders.map(n=>n.example),t.optionBuilders.map(n=>n.option),t.hasSpecialExecutionOrder,t.ignoreTypes);Ue(ii,Qt).set(this.name,i),Ue(ii,jn).set(t.alias,t)}return Ue(ii,Qt).get(this.name)}static applyIfEnabledBase(t,i,n,r){let a=t.getOptions(n);if(a[t.enabledOptionName()]){let s=Object.assign({},a,r);fi(`${E("logs.run-rule-text")} ${t.getName()}`);try{return[t.apply(i,s),!0]}catch(o){Va(o,t.getName())}}else return[i,!1]}static getBuilderByName(t){return Ue(ii,jn).get(t)}static setNoSettingControl(t,i){Ue(ii,$i).has(t)||Ue(ii,$i).set(t,[]),Ue(ii,$i).get(t).push(i)}static hasSettingControl(t,i){return!Ue(ii,$i).has(t)||!Ue(ii,$i).get(t).includes(i)}},li=ii;Qt=new WeakMap,jn=new WeakMap,$i=new WeakMap,Bt(li,Qt,new Map),Bt(li,jn,new Map),Bt(li,$i,new Map);var b=class extends li{constructor(i){super();this.alias=i.nameKey.replace(/rules\.(.*)\.name/,"$1"),this.settingsKey=i.nameKey.replace(/rules\.(.*)\.name/,"$1"),this.nameKey=i.nameKey,this.descriptionKey=i.descriptionKey,this.type=i.type,this.hasSpecialExecutionOrder=i.hasSpecialExecutionOrder??!1,i.type==="Paste"?this.ignoreTypes=[]:i.ruleIgnoreTypes?this.ignoreTypes=[f.customIgnore,...i.ruleIgnoreTypes]:this.ignoreTypes=[f.customIgnore]}static register(i){let n=i.getRule();Ou(n)}safeApply(i,n){return this.apply(i,this.buildRuleOptions(n))}buildRuleOptions(i){i=i??{};let n=new this.OptionsClass,r=Object.assign(n,i);for(let a of this.optionBuilders)a.setRuleOption(r,i);return r}static applyIfEnabled(i,n,r,a){let s=this.getRule();return r.includes(s.alias)?(fi(s.alias+" "+E("logs.disabled-text")),[i,!1]):li.applyIfEnabledBase(s,i,n,a)}static getRuleOptions(i){let n=li.getRule.bind(this)(),r=new this,a=n.getOptions(i);return r.buildRuleOptions(a)}static noSettingControl(){return(i,n)=>{let r=i.constructor.name;li.setNoSettingControl(r,n)}}},Po,y=class{constructor(t){Bt(this,Po,void 0);this.example=new Wa(t.description,t.before,t.after,t.options)}};Po=new WeakMap;var Zt,Hi=class{constructor(t){Bt(this,Zt,void 0);this.OptionsClass=t.OptionsClass;let i=t.nameKey.split(".");i.length==1?this.configKey=i[0]:this.configKey=i[i.length-2],this.nameKey=t.nameKey,this.descriptionKey=t.descriptionKey,this.optionsKey=t.optionsKey}get defaultValue(){return new this.OptionsClass()[this.optionsKey]}get option(){return Ue(this,Zt)||jl(this,Zt,this.buildOption()),Ue(this,Zt)}setRuleOption(t,i){let n=i[this.configKey];n!==void 0&&(t[this.optionsKey]=n)}};Zt=new WeakMap;var U=class extends Hi{buildOption(){return new Vt(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},Ua=class extends Hi{buildOption(){return new Dn(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},ne=class extends Hi{constructor(i){super(i);this.records=i.records.map(n=>new $a("enums."+n.value,n.description))}buildOption(){return new Ha(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue,this.records)}},be=class extends Hi{constructor(i){super(i);this.separator=i.separator??` +`,this.splitter=i.splitter??/\n/}buildOption(){return new Pa(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue.join(this.separator))}setRuleOption(i,n){if(n[this.configKey]!==void 0){let r=n[this.configKey].split(this.splitter).filter(function(a){return a!=""});i[this.optionsKey]=r}}},Ve=class extends Hi{buildOption(){return new Dn(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}},Ga=class extends Hi{buildOption(){return new Ka(this.configKey,this.nameKey,this.descriptionKey,this.defaultValue)}};var Ko=new Map([["1nd","1st"],["2rd","2nd"],["2st","2nd"],["3nd","3rd"],["3st","3rd"],["4rd","4th"],["a-diaerers","a-diaereses"],["aaccess","access"],["aaccessibility","accessibility"],["aaccession","accession"],["aack","ack"],["aactual","actual"],["aactually","actually"],["aadd","add"],["aagain","again"],["aaggregation","aggregation"],["aanother","another"],["aapply","apply"],["aaproximate","approximate"],["aaproximated","approximated"],["aaproximately","approximately"],["aaproximates","approximates"],["aaproximating","approximating"],["aare","are"],["aassign","assign"],["aassignment","assignment"],["aassignments","assignments"],["aassociated","associated"],["aassumed","assumed"],["aautomatic","automatic"],["aautomatically","automatically"],["abailable","available"],["abanden","abandon"],["abandonded","abandoned"],["abandone","abandon"],["abandonned","abandoned"],["abandonning","abandoning"],["abbbreviated","abbreviated"],["abberation","aberration"],["abberations","aberrations"],["abberivates","abbreviates"],["abberration","aberration"],["abborted","aborted"],["abborting","aborting"],["abbrevate","abbreviate"],["abbrevation","abbreviation"],["abbrevations","abbreviations"],["abbreviaton","abbreviation"],["abbreviatons","abbreviations"],["abbriviate","abbreviate"],["abbriviation","abbreviation"],["abbriviations","abbreviations"],["aberation","aberration"],["abigious","ambiguous"],["abiguity","ambiguity"],["abilityes","abilities"],["abilties","abilities"],["abilty","ability"],["abiss","abyss"],["abitrarily","arbitrarily"],["abitrary","arbitrary"],["abitrate","arbitrate"],["abitration","arbitration"],["abizmal","abysmal"],["abnoramlly","abnormally"],["abnormalty","abnormally"],["abnormaly","abnormally"],["abnornally","abnormally"],["abnove","above"],["abnrormal","abnormal"],["aboluste","absolute"],["abolustely","absolutely"],["abolute","absolute"],["abondon","abandon"],["abondoned","abandoned"],["abondoning","abandoning"],["abondons","abandons"],["aboout","about"],["aborigene","aborigine"],["abortificant","abortifacient"],["aboslute","absolute"],["aboslutely","absolutely"],["abosulte","absolute"],["abosultely","absolutely"],["abosulute","absolute"],["abosulutely","absolutely"],["abotu","about"],["abount","about"],["aboutit","about it"],["aboutthe","about the"],["abouve","above"],["abov","above"],["aboved","above"],["abovemtioned","abovementioned"],["aboves","above"],["abovmentioned","abovementioned"],["abreviate","abbreviate"],["abreviated","abbreviated"],["abreviates","abbreviates"],["abreviating","abbreviating"],["abreviation","abbreviation"],["abreviations","abbreviations"],["abritrarily","arbitrarily"],["abritrary","arbitrary"],["abriviate","abbreviate"],["absail","abseil"],["absailing","abseiling"],["absance","absence"],["abscence","absence"],["abscound","abscond"],["abselutely","absolutely"],["abselutly","absolutely"],["absense","absence"],["absodefly","absolute"],["absodeflyly","absolutely"],["absolate","absolute"],["absolately","absolutely"],["absolaute","absolute"],["absolautely","absolutely"],["absoleted","obsoleted"],["absoletely","absolutely"],["absoliute","absolute"],["absoliutely","absolutely"],["absoloute","absolute"],["absoloutely","absolutely"],["absolte","absolute"],["absoltely","absolutely"],["absoltue","absolute"],["absoltuely","absolutely"],["absoluate","absolute"],["absoluately","absolutely"],["absolue","absolute"],["absoluely","absolutely"],["absoluet","absolute"],["absoluetly","absolutely"],["absolule","absolute"],["absolulte","absolute"],["absolultely","absolutely"],["absolune","absolute"],["absolunely","absolutely"],["absolure","absolute"],["absolurely","absolutely"],["absolut","absolute"],["absolutelly","absolutely"],["absoluth","absolute"],["absoluthe","absolute"],["absoluthely","absolutely"],["absoluthly","absolutely"],["absolutley","absolutely"],["absolutly","absolutely"],["absolutlye","absolutely"],["absoluute","absolute"],["absoluutely","absolutely"],["absoluve","absolute"],["absoluvely","absolutely"],["absoolute","absolute"],["absoolutely","absolutely"],["absorbant","absorbent"],["absorbsion","absorption"],["absorbtion","absorption"],["absorve","absorb"],["absould","absolute"],["absouldly","absolutely"],["absoule","absolute"],["absoulely","absolutely"],["absouletely","absolutely"],["absoult","absolute"],["absoulte","absolute"],["absoultely","absolutely"],["absoultly","absolutely"],["absoulute","absolute"],["absoulutely","absolutely"],["absout","absolute"],["absoute","absolute"],["absoutely","absolutely"],["absoutly","absolutely"],["abstact","abstract"],["abstacted","abstracted"],["abstacter","abstracter"],["abstacting","abstracting"],["abstaction","abstraction"],["abstactions","abstractions"],["abstactly","abstractly"],["abstactness","abstractness"],["abstactor","abstractor"],["abstacts","abstracts"],["abstanence","abstinence"],["abstrac","abstract"],["abstraced","abstracted"],["abstracer","abstracter"],["abstracing","abstracting"],["abstracion","abstraction"],["abstracions","abstractions"],["abstracly","abstractly"],["abstracness","abstractness"],["abstracor","abstractor"],["abstracs","abstracts"],["abstrat","abstract"],["abstrated","abstracted"],["abstrater","abstracter"],["abstrating","abstracting"],["abstration","abstraction"],["abstrations","abstractions"],["abstratly","abstractly"],["abstratness","abstractness"],["abstrator","abstractor"],["abstrats","abstracts"],["abstrct","abstract"],["abstrcted","abstracted"],["abstrcter","abstracter"],["abstrcting","abstracting"],["abstrction","abstraction"],["abstrctions","abstractions"],["abstrctly","abstractly"],["abstrctness","abstractness"],["abstrctor","abstractor"],["abstrcts","abstracts"],["absulute","absolute"],["absymal","abysmal"],["abtract","abstract"],["abtracted","abstracted"],["abtracter","abstracter"],["abtracting","abstracting"],["abtraction","abstraction"],["abtractions","abstractions"],["abtractly","abstractly"],["abtractness","abstractness"],["abtractor","abstractor"],["abtracts","abstracts"],["abudance","abundance"],["abudances","abundances"],["abundacies","abundances"],["abundancies","abundances"],["abundand","abundant"],["abundence","abundance"],["abundent","abundant"],["abundunt","abundant"],["abutts","abuts"],["abvailable","available"],["abvious","obvious"],["acadamy","academy"],["acadimy","academy"],["acadmic","academic"],["acale","scale"],["acatemy","academy"],["accademic","academic"],["accademy","academy"],["accapt","accept"],["accapted","accepted"],["accapts","accepts"],["acccept","accept"],["acccepted","accepted"],["acccepting","accepting"],["acccepts","accepts"],["accces","access"],["acccess","access"],["acccessd","accessed"],["acccessed","accessed"],["acccesses","accesses"],["acccessibility","accessibility"],["acccessible","accessible"],["acccessing","accessing"],["acccession","accession"],["acccessor","accessor"],["acccessors","accessors"],["acccord","accord"],["acccordance","accordance"],["acccordances","accordances"],["acccorded","accorded"],["acccording","according"],["acccordingly","accordingly"],["acccords","accords"],["acccount","account"],["acccumulate","accumulate"],["acccuracy","accuracy"],["acccurate","accurate"],["acccurately","accurately"],["acccused","accused"],["accecpt","accept"],["accecpted","accepted"],["accees","access"],["acceess","access"],["accelarate","accelerate"],["accelaration","acceleration"],["accelarete","accelerate"],["accelearion","acceleration"],["accelearte","accelerate"],["accelearted","accelerated"],["acceleartes","accelerates"],["acceleartion","acceleration"],["acceleartor","accelerator"],["acceleated","accelerated"],["acceleratoin","acceleration"],["acceleraton","acceleration"],["acceleratrion","acceleration"],["accelerte","accelerate"],["accelertion","acceleration"],["accellerate","accelerate"],["accellerated","accelerated"],["accellerating","accelerating"],["accelleration","acceleration"],["accellerator","accelerator"],["accending","ascending"],["acceot","accept"],["accepatble","acceptable"],["accepect","accept"],["accepected","accepted"],["accepeted","accepted"],["acceppt","accept"],["acceptence","acceptance"],["acceptible","acceptable"],["acceptted","accepted"],["acces","access"],["accesed","accessed"],["acceses","accesses"],["accesibility","accessibility"],["accesible","accessible"],["accesiblity","accessibility"],["accesiibility","accessibility"],["accesiiblity","accessibility"],["accesing","accessing"],["accesnt","accent"],["accesor","accessor"],["accesories","accessories"],["accesors","accessors"],["accesory","accessory"],["accessability","accessibility"],["accessable","accessible"],["accessbile","accessible"],["accessiable","accessible"],["accessibile","accessible"],["accessibiliity","accessibility"],["accessibilitiy","accessibility"],["accessibiltiy","accessibility"],["accessibilty","accessibility"],["accessiblilty","accessibility"],["accessiblity","accessibility"],["accessiibility","accessibility"],["accessiiblity","accessibility"],["accessile","accessible"],["accessintg","accessing"],["accessisble","accessible"],["accessoire","accessory"],["accessort","accessor"],["accesss","access"],["accesssibility","accessibility"],["accesssible","accessible"],["accesssiblity","accessibility"],["accesssiiblity","accessibility"],["accesssing","accessing"],["accesssor","accessor"],["accesssors","accessors"],["accet","accept"],["accetable","acceptable"],["accets","accepts"],["acchiev","achieve"],["acchievable","achievable"],["acchieve","achieve"],["acchieveable","achievable"],["acchieved","achieved"],["acchievement","achievement"],["acchievements","achievements"],["acchiever","achiever"],["acchieves","achieves"],["accidant","accident"],["acciddently","accidentally"],["accidentaly","accidentally"],["accidential","accidental"],["accidentially","accidentally"],["accidentically","accidentally"],["accidentilly","accidentally"],["accidentily","accidentally"],["accidently","accidentally"],["accidentually","accidentally"],["accidetly","accidentally"],["acciedential","accidental"],["acciednetally","accidentally"],["accient","accident"],["acciental","accidental"],["acclerated","accelerated"],["acclerates","accelerates"],["accleration","acceleration"],["acclerometers","accelerometers"],["acclimitization","acclimatization"],["accociate","associate"],["accociated","associated"],["accociates","associates"],["accociating","associating"],["accociation","association"],["accociations","associations"],["accoding","according"],["accodingly","accordingly"],["accodr","accord"],["accodrance","accordance"],["accodred","accorded"],["accodring","according"],["accodringly","accordingly"],["accodrs","accords"],["accointing","accounting"],["accoird","accord"],["accoirding","according"],["accomadate","accommodate"],["accomadated","accommodated"],["accomadates","accommodates"],["accomadating","accommodating"],["accomadation","accommodation"],["accomadations","accommodations"],["accomdate","accommodate"],["accomidate","accommodate"],["accommadate","accommodate"],["accommadates","accommodates"],["accommadating","accommodating"],["accommdated","accommodated"],["accomodata","accommodate"],["accomodate","accommodate"],["accomodated","accommodated"],["accomodates","accommodates"],["accomodating","accommodating"],["accomodation","accommodation"],["accomodations","accommodations"],["accompagned","accompanied"],["accompagnied","accompanied"],["accompagnies","accompanies"],["accompagniment","accompaniment"],["accompagning","accompanying"],["accompagny","accompany"],["accompagnying","accompanying"],["accompained","accompanied"],["accompanyed","accompanied"],["accompt","account"],["acconding","according"],["accont","account"],["accontant","accountant"],["acconted","accounted"],["acconting","accounting"],["accoording","according"],["accoordingly","accordingly"],["accoount","account"],["accopunt","account"],["accordding","according"],["accordeon","accordion"],["accordian","accordion"],["accordign","according"],["accordiingly","accordingly"],["accordinag","according"],["accordind","according"],["accordinly","accordingly"],["accordint","according"],["accordintly","accordingly"],["accordling","according"],["accordlingly","accordingly"],["accordng","according"],["accordngly","accordingly"],["accoriding","according"],["accoridng","according"],["accoridngly","accordingly"],["accoringly","accordingly"],["accorndingly","accordingly"],["accort","accord"],["accortance","accordance"],["accorted","accorded"],["accortind","according"],["accorting","according"],["accound","account"],["accouned","accounted"],["accoustic","acoustic"],["accoustically","acoustically"],["accoustics","acoustics"],["accout","account"],["accouting","accounting"],["accoutn","account"],["accpet","accept"],["accpets","accepts"],["accquainted","acquainted"],["accquire","acquire"],["accquired","acquired"],["accquires","acquires"],["accquiring","acquiring"],["accracy","accuracy"],["accrate","accurate"],["accrding","according"],["accrdingly","accordingly"],["accrediation","accreditation"],["accredidation","accreditation"],["accress","access"],["accroding","according"],["accrodingly","accordingly"],["accronym","acronym"],["accronyms","acronyms"],["accrording","according"],["accros","across"],["accrose","across"],["accross","across"],["accsess","access"],["accss","access"],["accssible","accessible"],["accssor","accessor"],["acctual","actual"],["accuarcy","accuracy"],["accuarte","accurate"],["accuartely","accurately"],["accumalate","accumulate"],["accumalates","accumulates"],["accumalator","accumulator"],["accumalte","accumulate"],["accumalted","accumulated"],["accumilated","accumulated"],["accumlate","accumulate"],["accumlated","accumulated"],["accumlates","accumulates"],["accumlating","accumulating"],["accumlator","accumulator"],["accummulating","accumulating"],["accummulators","accumulators"],["accumualte","accumulate"],["accumualtion","accumulation"],["accupied","occupied"],["accupts","accepts"],["accurable","accurate"],["accuraccies","accuracies"],["accuraccy","accuracy"],["accurancy","accuracy"],["accurarcy","accuracy"],["accuratelly","accurately"],["accuratley","accurately"],["accuratly","accurately"],["accurences","occurrences"],["accurracy","accuracy"],["accurring","occurring"],["accussed","accused"],["acditionally","additionally"],["acecess","access"],["acedemic","academic"],["acelerated","accelerated"],["acend","ascend"],["acendance","ascendance"],["acendancey","ascendancy"],["acended","ascended"],["acendence","ascendance"],["acendencey","ascendancy"],["acendency","ascendancy"],["acender","ascender"],["acending","ascending"],["acent","ascent"],["aceptable","acceptable"],["acerage","acreage"],["acess","access"],["acessable","accessible"],["acessed","accessed"],["acesses","accesses"],["acessible","accessible"],["acessing","accessing"],["acessor","accessor"],["acheive","achieve"],["acheived","achieved"],["acheivement","achievement"],["acheivements","achievements"],["acheives","achieves"],["acheiving","achieving"],["acheivment","achievement"],["acheivments","achievements"],["achievment","achievement"],["achievments","achievements"],["achitecture","architecture"],["achitectures","architectures"],["achivable","achievable"],["achivement","achievement"],["achivements","achievements"],["achor","anchor"],["achored","anchored"],["achoring","anchoring"],["achors","anchors"],["ACI","ACPI"],["acident","accident"],["acidental","accidental"],["acidentally","accidentally"],["acidents","accidents"],["acient","ancient"],["acients","ancients"],["ACII","ASCII"],["acition","action"],["acitions","actions"],["acitivate","activate"],["acitivation","activation"],["acitivity","activity"],["acitvate","activate"],["acitve","active"],["acivate","activate"],["acive","active"],["acknodledgment","acknowledgment"],["acknodledgments","acknowledgments"],["acknoledge","acknowledge"],["acknoledged","acknowledged"],["acknoledges","acknowledges"],["acknoledging","acknowledging"],["acknoledgment","acknowledgment"],["acknoledgments","acknowledgments"],["acknowldeged","acknowledged"],["acknowldegement","acknowledgement"],["acknowldegements","acknowledgements"],["acknowledgeing","acknowledging"],["acknowleding","acknowledging"],["acknowlege","acknowledge"],["acknowleged","acknowledged"],["acknowlegement","acknowledgement"],["acknowlegements","acknowledgements"],["acknowleges","acknowledges"],["acknowleging","acknowledging"],["acknowlegment","acknowledgment"],["ackowledge","acknowledge"],["ackowledged","acknowledged"],["ackowledgement","acknowledgement"],["ackowledgements","acknowledgements"],["ackowledges","acknowledges"],["ackowledging","acknowledging"],["acnowledge","acknowledge"],["acocunt","account"],["acommodate","accommodate"],["acommodated","accommodated"],["acommodates","accommodates"],["acommodating","accommodating"],["acommodation","accommodation"],["acommpany","accompany"],["acommpanying","accompanying"],["acomodate","accommodate"],["acomodated","accommodated"],["acompanies","accompanies"],["acomplish","accomplish"],["acomplished","accomplished"],["acomplishment","accomplishment"],["acomplishments","accomplishments"],["acontiguous","a contiguous"],["acoording","according"],["acoordingly","accordingly"],["acording","according"],["acordingly","accordingly"],["acordinng","according"],["acorss","across"],["acorting","according"],["acount","account"],["acounts","accounts"],["acquaintence","acquaintance"],["acquaintences","acquaintances"],["acquiantence","acquaintance"],["acquiantences","acquaintances"],["acquiesence","acquiescence"],["acquisiton","acquisition"],["acquisitons","acquisitions"],["acquited","acquitted"],["acquition","acquisition"],["acqure","acquire"],["acqured","acquired"],["acqures","acquires"],["acquring","acquiring"],["acqusition","acquisition"],["acqusitions","acquisitions"],["acrage","acreage"],["acroos","across"],["acrosss","across"],["acrue","accrue"],["acrued","accrued"],["acssume","assume"],["acssumed","assumed"],["actal","actual"],["actally","actually"],["actaly","actually"],["actaul","actual"],["actaully","actually"],["actial","actual"],["actially","actually"],["actialy","actually"],["actiavte","activate"],["actiavted","activated"],["actiavtes","activates"],["actiavting","activating"],["actiavtion","activation"],["actiavtions","activations"],["actiavtor","activator"],["actibity","activity"],["acticate","activate"],["actice","active"],["actine","active"],["actiual","actual"],["activ","active"],["activaed","activated"],["activationg","activating"],["actived","activated"],["activeta","activate"],["activete","activate"],["activeted","activated"],["activetes","activates"],["activiate","activate"],["activies","activities"],["activites","activities"],["activitis","activities"],["activitites","activities"],["activitiy","activity"],["activley","actively"],["activly","actively"],["activste","activate"],["activsted","activated"],["activstes","activates"],["activtes","activates"],["activties","activities"],["activtion","activation"],["activty","activity"],["activw","active"],["activy","activity"],["actove","active"],["actuaal","actual"],["actuaally","actually"],["actuak","actual"],["actuakly","actually"],["actuallin","actually"],["actualy","actually"],["actualyl","actually"],["actuell","actual"],["actuion","action"],["actuionable","actionable"],["actul","actual"],["actullay","actually"],["actully","actually"],["actural","actual"],["acturally","actually"],["actusally","actually"],["actve","active"],["actzal","actual"],["acual","actual"],["acually","actually"],["acuired","acquired"],["acuires","acquires"],["acumulate","accumulate"],["acumulated","accumulated"],["acumulates","accumulates"],["acumulating","accumulating"],["acumulation","accumulation"],["acumulative","accumulative"],["acumulator","accumulator"],["acuqire","acquire"],["acuracy","accuracy"],["acurate","accurate"],["acused","accused"],["acustom","accustom"],["acustommed","accustomed"],["acutal","actual"],["acutally","actually"],["acutual","actual"],["adapated","adapted"],["adapater","adapter"],["adapaters","adapters"],["adapative","adaptive"],["adapdive","adaptive"],["adapive","adaptive"],["adaptaion","adaptation"],["adaptare","adapter"],["adapte","adapter"],["adaptee","adapted"],["adaptes","adapters"],["adaptibe","adaptive"],["adaquate","adequate"],["adaquately","adequately"],["adatper","adapter"],["adatpers","adapters"],["adavance","advance"],["adavanced","advanced"],["adbandon","abandon"],["addapt","adapt"],["addaptation","adaptation"],["addaptations","adaptations"],["addapted","adapted"],["addapting","adapting"],["addapts","adapts"],["addd","add"],["addded","added"],["addding","adding"],["adddress","address"],["adddresses","addresses"],["addds","adds"],["addedd","added"],["addeed","added"],["addersses","addresses"],["addert","assert"],["adderted","asserted"],["addess","address"],["addessed","addressed"],["addesses","addresses"],["addessing","addressing"],["addied","added"],["addig","adding"],["addiional","additional"],["addiiton","addition"],["addiitonall","additional"],["addional","additional"],["addionally","additionally"],["addiotion","addition"],["addiotional","additional"],["addiotionally","additionally"],["addiotions","additions"],["additianal","additional"],["additianally","additionally"],["additinal","additional"],["additinally","additionally"],["additioanal","additional"],["additioanally","additionally"],["additioanlly","additionally"],["additiona","additional"],["additionallly","additionally"],["additionals","additional"],["additionaly","additionally"],["additionalyy","additionally"],["additionnal","additional"],["additionnally","additionally"],["additionnaly","additionally"],["additoin","addition"],["additoinal","additional"],["additoinally","additionally"],["additoinaly","additionally"],["additon","addition"],["additonal","additional"],["additonally","additionally"],["additonaly","additionally"],["addjust","adjust"],["addjusted","adjusted"],["addjusting","adjusting"],["addjusts","adjusts"],["addmission","admission"],["addmit","admit"],["addopt","adopt"],["addopted","adopted"],["addpress","address"],["addrass","address"],["addrees","address"],["addreess","address"],["addrerss","address"],["addrerssed","addressed"],["addrersser","addresser"],["addrersses","addresses"],["addrerssing","addressing"],["addrersss","address"],["addrersssed","addressed"],["addrerssser","addresser"],["addrerssses","addresses"],["addrersssing","addressing"],["addres","address"],["addresable","addressable"],["addresed","addressed"],["addreses","addresses"],["addresess","addresses"],["addresing","addressing"],["addressess","addresses"],["addressings","addressing"],["addresss","address"],["addresssed","addressed"],["addressses","addresses"],["addresssing","addressing"],["addrress","address"],["addrss","address"],["addrssed","addressed"],["addrsses","addresses"],["addrssing","addressing"],["addted","added"],["addtion","addition"],["addtional","additional"],["addtionally","additionally"],["addtitional","additional"],["adecuate","adequate"],["aded","added"],["adequit","adequate"],["adevnture","adventure"],["adevntured","adventured"],["adevnturer","adventurer"],["adevnturers","adventurers"],["adevntures","adventures"],["adevnturing","adventuring"],["adhearing","adhering"],["adherance","adherence"],["adiacent","adjacent"],["adiditon","addition"],["adin","admin"],["ading","adding"],["adition","addition"],["aditional","additional"],["aditionally","additionally"],["aditionaly","additionally"],["aditionnal","additional"],["adivsories","advisories"],["adivsoriyes","advisories"],["adivsory","advisory"],["adjacentsy","adjacency"],["adjactend","adjacent"],["adjancent","adjacent"],["adjascent","adjacent"],["adjasence","adjacence"],["adjasencies","adjacencies"],["adjasensy","adjacency"],["adjasent","adjacent"],["adjast","adjust"],["adjcence","adjacence"],["adjcencies","adjacencies"],["adjcent","adjacent"],["adjcentcy","adjacency"],["adjsence","adjacence"],["adjsencies","adjacencies"],["adjsuted","adjusted"],["adjuscent","adjacent"],["adjusment","adjustment"],["adjustement","adjustment"],["adjustements","adjustments"],["adjustificat","justification"],["adjustification","justification"],["adjustmant","adjustment"],["adjustmants","adjustments"],["adjustmenet","adjustment"],["admendment","amendment"],["admi","admin"],["admininistrative","administrative"],["admininistrator","administrator"],["admininistrators","administrators"],["admininstrator","administrator"],["administation","administration"],["administator","administrator"],["administor","administrator"],["administraively","administratively"],["adminitrator","administrator"],["adminssion","admission"],["adminstered","administered"],["adminstrate","administrate"],["adminstration","administration"],["adminstrative","administrative"],["adminstrator","administrator"],["adminstrators","administrators"],["admisible","admissible"],["admissability","admissibility"],["admissable","admissible"],["admited","admitted"],["admitedly","admittedly"],["admn","admin"],["admnistrator","administrator"],["admnistrators","administrators"],["adn","and"],["adobted","adopted"],["adolecent","adolescent"],["adpapted","adapted"],["adpat","adapt"],["adpated","adapted"],["adpater","adapter"],["adpaters","adapters"],["adpats","adapts"],["adpter","adapter"],["adquire","acquire"],["adquired","acquired"],["adquires","acquires"],["adquiring","acquiring"],["adrea","area"],["adrerss","address"],["adrerssed","addressed"],["adrersser","addresser"],["adrersses","addresses"],["adrerssing","addressing"],["adres","address"],["adresable","addressable"],["adresing","addressing"],["adress","address"],["adressable","addressable"],["adresse","address"],["adressed","addressed"],["adresses","addresses"],["adressing","addressing"],["adresss","address"],["adressses","addresses"],["adrress","address"],["adrresses","addresses"],["adtodetect","autodetect"],["adusted","adjusted"],["adustment","adjustment"],["advanatage","advantage"],["advanatages","advantages"],["advanatge","advantage"],["advandced","advanced"],["advane","advance"],["advaned","advanced"],["advantagous","advantageous"],["advanved","advanced"],["adventages","advantages"],["adventrous","adventurous"],["adverised","advertised"],["advertice","advertise"],["adverticed","advertised"],["advertisment","advertisement"],["advertisments","advertisements"],["advertistment","advertisement"],["advertistments","advertisements"],["advertize","advertise"],["advertized","advertised"],["advertizes","advertises"],["advesary","adversary"],["advetise","advertise"],["adviced","advised"],["adviseable","advisable"],["advisoriyes","advisories"],["advizable","advisable"],["adwances","advances"],["aequidistant","equidistant"],["aequivalent","equivalent"],["aeriel","aerial"],["aeriels","aerials"],["aesily","easily"],["aesy","easy"],["aexs","axes"],["afair","affair"],["afaraid","afraid"],["afe","safe"],["afecting","affecting"],["afer","after"],["aferwards","afterwards"],["afetr","after"],["affecfted","affected"],["afficianados","aficionados"],["afficionado","aficionado"],["afficionados","aficionados"],["affilate","affiliate"],["affilates","affiliates"],["affilation","affiliation"],["affilations","affiliations"],["affilliate","affiliate"],["affinitied","affinities"],["affinitiy","affinity"],["affinitze","affinitize"],["affinties","affinities"],["affintiy","affinity"],["affintize","affinitize"],["affinty","affinity"],["affitnity","affinity"],["afforementioned","aforementioned"],["affortable","affordable"],["afforts","affords"],["affraid","afraid"],["afinity","affinity"],["afor","for"],["aforememtioned","aforementioned"],["aforementiond","aforementioned"],["aforementionned","aforementioned"],["aformentioned","aforementioned"],["afterall","after all"],["afterw","after"],["aftrer","after"],["aftzer","after"],["againnst","against"],["againsg","against"],["againt","against"],["againts","against"],["agaisnt","against"],["agaist","against"],["agancies","agencies"],["agancy","agency"],["aganist","against"],["agant","agent"],["aggaravates","aggravates"],["aggegate","aggregate"],["aggessive","aggressive"],["aggessively","aggressively"],["agggregate","aggregate"],["aggragate","aggregate"],["aggragator","aggregator"],["aggrated","aggregated"],["aggreagate","aggregate"],["aggreataon","aggregation"],["aggreate","aggregate"],["aggreated","aggregated"],["aggreation","aggregation"],["aggreations","aggregations"],["aggreed","agreed"],["aggreement","agreement"],["aggregatet","aggregated"],["aggregetor","aggregator"],["aggreggate","aggregate"],["aggregious","egregious"],["aggregrate","aggregate"],["aggregrated","aggregated"],["aggresive","aggressive"],["aggresively","aggressively"],["aggrevate","aggravate"],["aggrgate","aggregate"],["agian","again"],["agianst","against"],["agin","again"],["aginst","against"],["aglorithm","algorithm"],["aglorithms","algorithms"],["agorithm","algorithm"],["agrain","again"],["agravate","aggravate"],["agre","agree"],["agred","agreed"],["agreeement","agreement"],["agreemnet","agreement"],["agreemnets","agreements"],["agreemnt","agreement"],["agregate","aggregate"],["agregated","aggregated"],["agregates","aggregates"],["agregation","aggregation"],["agregator","aggregator"],["agreing","agreeing"],["agrement","agreement"],["agression","aggression"],["agressive","aggressive"],["agressively","aggressively"],["agressiveness","aggressiveness"],["agressivity","aggressivity"],["agressor","aggressor"],["agresssive","aggressive"],["agrgument","argument"],["agrguments","arguments"],["agricultue","agriculture"],["agriculure","agriculture"],["agricuture","agriculture"],["agrieved","aggrieved"],["agrresive","aggressive"],["agrument","argument"],["agruments","arguments"],["agsinst","against"],["agument","argument"],["agumented","augmented"],["aguments","arguments"],["aheared","adhered"],["ahev","have"],["ahlpa","alpha"],["ahlpas","alphas"],["ahppen","happen"],["ahve","have"],["aicraft","aircraft"],["aiffer","differ"],["ailgn","align"],["aiport","airport"],["airator","aerator"],["airbourne","airborne"],["aircaft","aircraft"],["aircrafts'","aircraft's"],["aircrafts","aircraft"],["airfow","airflow"],["airlfow","airflow"],["airloom","heirloom"],["airporta","airports"],["airrcraft","aircraft"],["aisian","Asian"],["aixs","axis"],["aizmuth","azimuth"],["ajacence","adjacence"],["ajacencies","adjacencies"],["ajacency","adjacency"],["ajacent","adjacent"],["ajacentcy","adjacency"],["ajasence","adjacence"],["ajasencies","adjacencies"],["ajative","adjective"],["ajcencies","adjacencies"],["ajsencies","adjacencies"],["ajurnment","adjournment"],["ajust","adjust"],["ajusted","adjusted"],["ajustement","adjustment"],["ajusting","adjusting"],["ajustment","adjustment"],["ajustments","adjustments"],["ake","ache"],["akkumulate","accumulate"],["akkumulated","accumulated"],["akkumulates","accumulates"],["akkumulating","accumulating"],["akkumulation","accumulation"],["akkumulative","accumulative"],["akkumulator","accumulator"],["aknowledge","acknowledge"],["aks","ask"],["aksed","asked"],["aktivate","activate"],["aktivated","activated"],["aktivates","activates"],["aktivating","activating"],["aktivation","activation"],["akumulate","accumulate"],["akumulated","accumulated"],["akumulates","accumulates"],["akumulating","accumulating"],["akumulation","accumulation"],["akumulative","accumulative"],["akumulator","accumulator"],["alaready","already"],["albiet","albeit"],["albumns","albums"],["alcemy","alchemy"],["alchohol","alcohol"],["alchoholic","alcoholic"],["alchol","alcohol"],["alcholic","alcoholic"],["alcohal","alcohol"],["alcoholical","alcoholic"],["aleady","already"],["aleays","always"],["aledge","allege"],["aledged","alleged"],["aledges","alleges"],["alegance","allegiance"],["alege","allege"],["aleged","alleged"],["alegience","allegiance"],["alegorical","allegorical"],["alernate","alternate"],["alernated","alternated"],["alernately","alternately"],["alernates","alternates"],["alers","alerts"],["aleviate","alleviate"],["aleviates","alleviates"],["aleviating","alleviating"],["alevt","alert"],["algebraical","algebraic"],["algebric","algebraic"],["algebrra","algebra"],["algee","algae"],["alghorithm","algorithm"],["alghoritm","algorithm"],["alghoritmic","algorithmic"],["alghoritmically","algorithmically"],["alghoritms","algorithms"],["algined","aligned"],["alginment","alignment"],["alginments","alignments"],["algohm","algorithm"],["algohmic","algorithmic"],["algohmically","algorithmically"],["algohms","algorithms"],["algoirthm","algorithm"],["algoirthmic","algorithmic"],["algoirthmically","algorithmically"],["algoirthms","algorithms"],["algoithm","algorithm"],["algoithmic","algorithmic"],["algoithmically","algorithmically"],["algoithms","algorithms"],["algolithm","algorithm"],["algolithmic","algorithmic"],["algolithmically","algorithmically"],["algolithms","algorithms"],["algoorithm","algorithm"],["algoorithmic","algorithmic"],["algoorithmically","algorithmically"],["algoorithms","algorithms"],["algoprithm","algorithm"],["algoprithmic","algorithmic"],["algoprithmically","algorithmically"],["algoprithms","algorithms"],["algorgithm","algorithm"],["algorgithmic","algorithmic"],["algorgithmically","algorithmically"],["algorgithms","algorithms"],["algorhithm","algorithm"],["algorhithmic","algorithmic"],["algorhithmically","algorithmically"],["algorhithms","algorithms"],["algorhitm","algorithm"],["algorhitmic","algorithmic"],["algorhitmically","algorithmically"],["algorhitms","algorithms"],["algorhtm","algorithm"],["algorhtmic","algorithmic"],["algorhtmically","algorithmically"],["algorhtms","algorithms"],["algorhythm","algorithm"],["algorhythmic","algorithmic"],["algorhythmically","algorithmically"],["algorhythms","algorithms"],["algorhytm","algorithm"],["algorhytmic","algorithmic"],["algorhytmically","algorithmically"],["algorhytms","algorithms"],["algorightm","algorithm"],["algorightmic","algorithmic"],["algorightmically","algorithmically"],["algorightms","algorithms"],["algorihm","algorithm"],["algorihmic","algorithmic"],["algorihmically","algorithmically"],["algorihms","algorithms"],["algorihtm","algorithm"],["algorihtmic","algorithmic"],["algorihtmically","algorithmically"],["algorihtms","algorithms"],["algoristhms","algorithms"],["algorith","algorithm"],["algorithem","algorithm"],["algorithemic","algorithmic"],["algorithemically","algorithmically"],["algorithems","algorithms"],["algorithic","algorithmic"],["algorithically","algorithmically"],["algorithim","algorithm"],["algorithimes","algorithms"],["algorithimic","algorithmic"],["algorithimically","algorithmically"],["algorithims","algorithms"],["algorithmes","algorithms"],["algorithmi","algorithm"],["algorithmical","algorithmically"],["algorithmm","algorithm"],["algorithmmic","algorithmic"],["algorithmmically","algorithmically"],["algorithmms","algorithms"],["algorithmn","algorithm"],["algorithmnic","algorithmic"],["algorithmnically","algorithmically"],["algorithmns","algorithms"],["algoriths","algorithms"],["algorithsmic","algorithmic"],["algorithsmically","algorithmically"],["algorithsms","algorithms"],["algoritm","algorithm"],["algoritmic","algorithmic"],["algoritmically","algorithmically"],["algoritms","algorithms"],["algoroithm","algorithm"],["algoroithmic","algorithmic"],["algoroithmically","algorithmically"],["algoroithms","algorithms"],["algororithm","algorithm"],["algororithmic","algorithmic"],["algororithmically","algorithmically"],["algororithms","algorithms"],["algorothm","algorithm"],["algorothmic","algorithmic"],["algorothmically","algorithmically"],["algorothms","algorithms"],["algorrithm","algorithm"],["algorrithmic","algorithmic"],["algorrithmically","algorithmically"],["algorrithms","algorithms"],["algorritm","algorithm"],["algorritmic","algorithmic"],["algorritmically","algorithmically"],["algorritms","algorithms"],["algorthim","algorithm"],["algorthimic","algorithmic"],["algorthimically","algorithmically"],["algorthims","algorithms"],["algorthin","algorithm"],["algorthinic","algorithmic"],["algorthinically","algorithmically"],["algorthins","algorithms"],["algorthm","algorithm"],["algorthmic","algorithmic"],["algorthmically","algorithmically"],["algorthms","algorithms"],["algorthn","algorithm"],["algorthnic","algorithmic"],["algorthnically","algorithmically"],["algorthns","algorithms"],["algorthym","algorithm"],["algorthymic","algorithmic"],["algorthymically","algorithmically"],["algorthyms","algorithms"],["algorthyn","algorithm"],["algorthynic","algorithmic"],["algorthynically","algorithmically"],["algorthyns","algorithms"],["algortihm","algorithm"],["algortihmic","algorithmic"],["algortihmically","algorithmically"],["algortihms","algorithms"],["algortim","algorithm"],["algortimic","algorithmic"],["algortimically","algorithmically"],["algortims","algorithms"],["algortism","algorithm"],["algortismic","algorithmic"],["algortismically","algorithmically"],["algortisms","algorithms"],["algortithm","algorithm"],["algortithmic","algorithmic"],["algortithmically","algorithmically"],["algortithms","algorithms"],["algoruthm","algorithm"],["algoruthmic","algorithmic"],["algoruthmically","algorithmically"],["algoruthms","algorithms"],["algorwwithm","algorithm"],["algorwwithmic","algorithmic"],["algorwwithmically","algorithmically"],["algorwwithms","algorithms"],["algorythem","algorithm"],["algorythemic","algorithmic"],["algorythemically","algorithmically"],["algorythems","algorithms"],["algorythm","algorithm"],["algorythmic","algorithmic"],["algorythmically","algorithmically"],["algorythms","algorithms"],["algothitm","algorithm"],["algothitmic","algorithmic"],["algothitmically","algorithmically"],["algothitms","algorithms"],["algotighm","algorithm"],["algotighmic","algorithmic"],["algotighmically","algorithmically"],["algotighms","algorithms"],["algotihm","algorithm"],["algotihmic","algorithmic"],["algotihmically","algorithmically"],["algotihms","algorithms"],["algotirhm","algorithm"],["algotirhmic","algorithmic"],["algotirhmically","algorithmically"],["algotirhms","algorithms"],["algotithm","algorithm"],["algotithmic","algorithmic"],["algotithmically","algorithmically"],["algotithms","algorithms"],["algotrithm","algorithm"],["algotrithmic","algorithmic"],["algotrithmically","algorithmically"],["algotrithms","algorithms"],["alha","alpha"],["alhabet","alphabet"],["alhabetical","alphabetical"],["alhabetically","alphabetically"],["alhabeticaly","alphabetically"],["alhabets","alphabets"],["alhapet","alphabet"],["alhapetical","alphabetical"],["alhapetically","alphabetically"],["alhapeticaly","alphabetically"],["alhapets","alphabets"],["alhough","although"],["alhpa","alpha"],["alhpabet","alphabet"],["alhpabetical","alphabetical"],["alhpabetically","alphabetically"],["alhpabeticaly","alphabetically"],["alhpabets","alphabets"],["aliagn","align"],["aliasas","aliases"],["aliasses","aliases"],["alientating","alienating"],["aliged","aligned"],["alighned","aligned"],["alighnment","alignment"],["aligin","align"],["aligined","aligned"],["aligining","aligning"],["aliginment","alignment"],["aligins","aligns"],["aligment","alignment"],["aligments","alignments"],["alignation","alignment"],["alignd","aligned"],["aligne","align"],["alignement","alignment"],["alignemnt","alignment"],["alignemnts","alignments"],["alignemt","alignment"],["alignes","aligns"],["alignmant","alignment"],["alignmen","alignment"],["alignmenet","alignment"],["alignmenets","alignments"],["alignmenton","alignment on"],["alignmet","alignment"],["alignmets","alignments"],["alignmment","alignment"],["alignmments","alignments"],["alignmnet","alignment"],["alignmnt","alignment"],["alignrigh","alignright"],["alined","aligned"],["alinged","aligned"],["alinging","aligning"],["alingment","alignment"],["alinment","alignment"],["alinments","alignments"],["alising","aliasing"],["allcate","allocate"],["allcateing","allocating"],["allcater","allocator"],["allcaters","allocators"],["allcating","allocating"],["allcation","allocation"],["allcator","allocator"],["allcoate","allocate"],["allcoated","allocated"],["allcoateing","allocating"],["allcoateng","allocating"],["allcoater","allocator"],["allcoaters","allocators"],["allcoating","allocating"],["allcoation","allocation"],["allcoator","allocator"],["allcoators","allocators"],["alledge","allege"],["alledged","alleged"],["alledgedly","allegedly"],["alledges","alleges"],["allegedely","allegedly"],["allegedy","allegedly"],["allegely","allegedly"],["allegence","allegiance"],["allegience","allegiance"],["allif","all if"],["allign","align"],["alligned","aligned"],["allignement","alignment"],["allignemnt","alignment"],["alligning","aligning"],["allignment","alignment"],["allignmenterror","alignmenterror"],["allignments","alignments"],["alligns","aligns"],["alliviate","alleviate"],["allk","all"],["alllocate","allocate"],["alllocation","allocation"],["alllow","allow"],["alllowed","allowed"],["alllows","allows"],["allmost","almost"],["alloacate","allocate"],["allocae","allocate"],["allocaed","allocated"],["allocaes","allocates"],["allocagtor","allocator"],["allocaiing","allocating"],["allocaing","allocating"],["allocaion","allocation"],["allocaions","allocations"],["allocaite","allocate"],["allocaites","allocates"],["allocaiting","allocating"],["allocaition","allocation"],["allocaitions","allocations"],["allocaiton","allocation"],["allocaitons","allocations"],["allocal","allocate"],["allocarion","allocation"],["allocat","allocate"],["allocatbale","allocatable"],["allocatedi","allocated"],["allocatedp","allocated"],["allocateing","allocating"],["allocateng","allocating"],["allocaton","allocation"],["allocatoor","allocator"],["allocatote","allocate"],["allocatrd","allocated"],["allocattion","allocation"],["alloco","alloc"],["allocos","allocs"],["allocte","allocate"],["allocted","allocated"],["allocting","allocating"],["alloction","allocation"],["alloctions","allocations"],["alloctor","allocator"],["alloews","allows"],["allong","along"],["alloocates","allocates"],["allopone","allophone"],["allopones","allophones"],["allos","allows"],["alloted","allotted"],["allowence","allowance"],["allowences","allowances"],["allpication","application"],["allpications","applications"],["allso","also"],["allthough","although"],["alltough","although"],["allways","always"],["allwo","allow"],["allwos","allows"],["allws","allows"],["allwys","always"],["almoast","almost"],["almostly","almost"],["almsot","almost"],["alo","also"],["alocatable","allocatable"],["alocate","allocate"],["alocated","allocated"],["alocates","allocates"],["alocating","allocating"],["alocations","allocations"],["alochol","alcohol"],["alog","along"],["alogirhtm","algorithm"],["alogirhtmic","algorithmic"],["alogirhtmically","algorithmically"],["alogirhtms","algorithms"],["alogirthm","algorithm"],["alogirthmic","algorithmic"],["alogirthmically","algorithmically"],["alogirthms","algorithms"],["alogned","aligned"],["alogorithms","algorithms"],["alogrithm","algorithm"],["alogrithmic","algorithmic"],["alogrithmically","algorithmically"],["alogrithms","algorithms"],["alomst","almost"],["aloows","allows"],["alorithm","algorithm"],["alos","also"],["alotted","allotted"],["alow","allow"],["alowed","allowed"],["alowing","allowing"],["alows","allows"],["alpabet","alphabet"],["alpabetic","alphabetic"],["alpabetical","alphabetical"],["alpabets","alphabets"],["alpah","alpha"],["alpahabetical","alphabetical"],["alpahbetically","alphabetically"],["alph","alpha"],["alpha-numeric","alphanumeric"],["alphabeticaly","alphabetically"],["alphabeticly","alphabetical"],["alphapeicall","alphabetical"],["alphapeticaly","alphabetically"],["alrady","already"],["alraedy","already"],["alread","already"],["alreadly","already"],["alreadt","already"],["alreasy","already"],["alreay","already"],["alreayd","already"],["alreday","already"],["alredy","already"],["alrelady","already"],["alrms","alarms"],["alrogithm","algorithm"],["alrteady","already"],["als","also"],["alsmost","almost"],["alsot","also"],["alsready","already"],["altenative","alternative"],["alterated","altered"],["alterately","alternately"],["alterative","alternative"],["alteratives","alternatives"],["alterior","ulterior"],["alternaive","alternative"],["alternaives","alternatives"],["alternarive","alternative"],["alternarives","alternatives"],["alternatievly","alternatively"],["alternativey","alternatively"],["alternativley","alternatively"],["alternativly","alternatively"],["alternatve","alternative"],["alternavtely","alternatively"],["alternavtive","alternative"],["alternavtives","alternatives"],["alternetive","alternative"],["alternetives","alternatives"],["alternitive","alternative"],["alternitively","alternatively"],["alternitiveness","alternativeness"],["alternitives","alternatives"],["alternitivly","alternatively"],["altetnative","alternative"],["altho","although"],["althogh","although"],["althorithm","algorithm"],["althorithmic","algorithmic"],["althorithmically","algorithmically"],["althorithms","algorithms"],["althoug","although"],["althought","although"],["althougth","although"],["althouth","although"],["altitide","altitude"],["altitute","altitude"],["altogehter","altogether"],["altough","although"],["altought","although"],["altready","already"],["alue","value"],["alvorithm","algorithm"],["alvorithmic","algorithmic"],["alvorithmically","algorithmically"],["alvorithms","algorithms"],["alwais","always"],["alwas","always"],["alwast","always"],["alwasy","always"],["alwasys","always"],["alwauys","always"],["alway","always"],["alwyas","always"],["alwys","always"],["alyways","always"],["amacing","amazing"],["amacingly","amazingly"],["amalgomated","amalgamated"],["amatuer","amateur"],["amazaing","amazing"],["ambedded","embedded"],["ambibuity","ambiguity"],["ambien","ambient"],["ambigious","ambiguous"],["ambigous","ambiguous"],["ambiguious","ambiguous"],["ambiguitiy","ambiguity"],["ambiguos","ambiguous"],["ambitous","ambitious"],["ambuguity","ambiguity"],["ambulence","ambulance"],["ambulences","ambulances"],["amdgput","amdgpu"],["amendement","amendment"],["amendmant","amendment"],["Amercia","America"],["amerliorate","ameliorate"],["amgle","angle"],["amgles","angles"],["amiguous","ambiguous"],["amke","make"],["amking","making"],["ammend","amend"],["ammended","amended"],["ammending","amending"],["ammendment","amendment"],["ammendments","amendments"],["ammends","amends"],["ammong","among"],["ammongst","amongst"],["ammortizes","amortizes"],["ammoung","among"],["ammoungst","amongst"],["ammount","amount"],["ammused","amused"],["amny","many"],["amongs","among"],["amonst","amongst"],["amonut","amount"],["amound","amount"],["amounds","amounts"],["amoung","among"],["amoungst","amongst"],["amout","amount"],["amoutn","amount"],["amoutns","amounts"],["amouts","amounts"],["amperstands","ampersands"],["amphasis","emphasis"],["amplifer","amplifier"],["amplifyer","amplifier"],["amplitud","amplitude"],["ampty","empty"],["amuch","much"],["amung","among"],["amunition","ammunition"],["amunt","amount"],["analagous","analogous"],["analagus","analogous"],["analaog","analog"],["analgous","analogous"],["analig","analog"],["analise","analyse"],["analised","analysed"],["analiser","analyser"],["analising","analysing"],["analisis","analysis"],["analitic","analytic"],["analitical","analytical"],["analitically","analytically"],["analiticaly","analytically"],["analize","analyze"],["analized","analyzed"],["analizer","analyzer"],["analizes","analyzes"],["analizing","analyzing"],["analogeous","analogous"],["analogicaly","analogically"],["analoguous","analogous"],["analoguously","analogously"],["analogus","analogous"],["analouge","analogue"],["analouges","analogues"],["analsye","analyse"],["analsyed","analysed"],["analsyer","analyser"],["analsyers","analysers"],["analsyes","analyses"],["analsying","analysing"],["analsyis","analysis"],["analsyt","analyst"],["analsyts","analysts"],["analyis","analysis"],["analysator","analyser"],["analysus","analysis"],["analysy","analysis"],["analyticaly","analytically"],["analyticly","analytically"],["analyzator","analyzer"],["analzye","analyze"],["analzyed","analyzed"],["analzyer","analyzer"],["analzyers","analyzers"],["analzyes","analyzes"],["analzying","analyzing"],["ananlog","analog"],["anarchim","anarchism"],["anarchistm","anarchism"],["anarquism","anarchism"],["anarquist","anarchist"],["anaylse","analyse"],["anaylsed","analysed"],["anaylser","analyser"],["anaylses","analyses"],["anaylsis","analysis"],["anaylsises","analysises"],["anayltic","analytic"],["anayltical","analytical"],["anayltically","analytically"],["anayltics","analytics"],["anaylze","analyze"],["anaylzed","analyzed"],["anaylzer","analyzer"],["anaylzes","analyzes"],["anbd","and"],["ancapsulate","encapsulate"],["ancapsulated","encapsulated"],["ancapsulates","encapsulates"],["ancapsulating","encapsulating"],["ancapsulation","encapsulation"],["ancesetor","ancestor"],["ancesetors","ancestors"],["ancester","ancestor"],["ancesteres","ancestors"],["ancesters","ancestors"],["ancestore","ancestor"],["ancestores","ancestors"],["ancestory","ancestry"],["anchestor","ancestor"],["anchestors","ancestors"],["anchord","anchored"],["ancilliary","ancillary"],["andd","and"],["andoid","android"],["andoids","androids"],["andorid","android"],["andorids","androids"],["andriod","android"],["andriods","androids"],["androgenous","androgynous"],["androgeny","androgyny"],["androidextra","androidextras"],["androind","android"],["androinds","androids"],["andthe","and the"],["ane","and"],["anevironment","environment"],["anevironments","environments"],["angluar","angular"],["anhoter","another"],["anid","and"],["anihilation","annihilation"],["animaing","animating"],["animaite","animate"],["animaiter","animator"],["animaiters","animators"],["animaiton","animation"],["animaitons","animations"],["animaitor","animator"],["animaitors","animators"],["animaton","animation"],["animatonic","animatronic"],["animete","animate"],["animeted","animated"],["animetion","animation"],["animetions","animations"],["animets","animates"],["animore","anymore"],["aninate","animate"],["anination","animation"],["aniother","any other"],["anisotrophically","anisotropically"],["anitaliasing","antialiasing"],["anithing","anything"],["anitialising","antialiasing"],["anitime","anytime"],["anitrez","antirez"],["aniversary","anniversary"],["aniway","anyway"],["aniwhere","anywhere"],["anlge","angle"],["anlysis","analysis"],["anlyzing","analyzing"],["annayed","annoyed"],["annaying","annoying"],["annd","and"],["anniversery","anniversary"],["annnounce","announce"],["annoation","annotation"],["annoint","anoint"],["annointed","anointed"],["annointing","anointing"],["annoints","anoints"],["annonate","annotate"],["annonated","annotated"],["annonates","annotates"],["annonce","announce"],["annonced","announced"],["annoncement","announcement"],["annoncements","announcements"],["annonces","announces"],["annoncing","announcing"],["annonymous","anonymous"],["annotaion","annotation"],["annotaions","annotations"],["annoted","annotated"],["annother","another"],["annouce","announce"],["annouced","announced"],["annoucement","announcement"],["annoucements","announcements"],["annouces","announces"],["annoucing","announcing"],["annouing","annoying"],["announcment","announcement"],["announcments","announcements"],["announed","announced"],["announement","announcement"],["announements","announcements"],["annoymous","anonymous"],["annoyying","annoying"],["annualy","annually"],["annuled","annulled"],["annyoingly","annoyingly"],["anoher","another"],["anohter","another"],["anologon","analogon"],["anomally","anomaly"],["anomolies","anomalies"],["anomolous","anomalous"],["anomoly","anomaly"],["anonimity","anonymity"],["anononymous","anonymous"],["anonther","another"],["anonymouse","anonymous"],["anonyms","anonymous"],["anonymus","anonymous"],["anormalies","anomalies"],["anormaly","abnormally"],["anotate","annotate"],["anotated","annotated"],["anotates","annotates"],["anotating","annotating"],["anotation","annotation"],["anotations","annotations"],["anoter","another"],["anothe","another"],["anothers","another"],["anothr","another"],["anounce","announce"],["anounced","announced"],["anouncement","announcement"],["anount","amount"],["anoying","annoying"],["anoymous","anonymous"],["anroid","android"],["ansalisation","nasalisation"],["ansalization","nasalization"],["anser","answer"],["ansester","ancestor"],["ansesters","ancestors"],["ansestor","ancestor"],["ansestors","ancestors"],["answhare","answer"],["answhared","answered"],["answhareing","answering"],["answhares","answers"],["answharing","answering"],["answhars","answers"],["ansynchronous","asynchronous"],["antaliasing","antialiasing"],["antartic","antarctic"],["antecedant","antecedent"],["anteena","antenna"],["anteenas","antennas"],["anthing","anything"],["anthings","anythings"],["anthor","another"],["anthromorphization","anthropomorphization"],["anthropolgist","anthropologist"],["anthropolgy","anthropology"],["antialialised","antialiased"],["antialising","antialiasing"],["antiapartheid","anti-apartheid"],["anticpate","anticipate"],["antry","entry"],["antyhing","anything"],["anual","annual"],["anually","annually"],["anulled","annulled"],["anumber","a number"],["anuwhere","anywhere"],["anway","anyway"],["anways","anyway"],["anwhere","anywhere"],["anwser","answer"],["anwsered","answered"],["anwsering","answering"],["anwsers","answers"],["anyawy","anyway"],["anyhing","anything"],["anyhting","anything"],["anyhwere","anywhere"],["anylsing","analysing"],["anylzing","analyzing"],["anynmore","anymore"],["anyother","any other"],["anytghing","anything"],["anythig","anything"],["anythign","anything"],["anythimng","anything"],["anytiem","anytime"],["anytihng","anything"],["anyting","anything"],["anytning","anything"],["anytrhing","anything"],["anytthing","anything"],["anytying","anything"],["anywere","anywhere"],["anyy","any"],["aoache","apache"],["aond","and"],["aoto","auto"],["aotomate","automate"],["aotomated","automated"],["aotomatic","automatic"],["aotomatical","automatic"],["aotomaticall","automatically"],["aotomatically","automatically"],["aotomation","automation"],["aovid","avoid"],["apach","apache"],["apapted","adapted"],["aparant","apparent"],["aparantly","apparently"],["aparent","apparent"],["aparently","apparently"],["aparment","apartment"],["apdated","updated"],["apeal","appeal"],["apealed","appealed"],["apealing","appealing"],["apeals","appeals"],["apear","appear"],["apeared","appeared"],["apears","appears"],["apect","aspect"],["apects","aspects"],["apeends","appends"],["apend","append"],["apendage","appendage"],["apended","appended"],["apender","appender"],["apendices","appendices"],["apending","appending"],["apendix","appendix"],["apenines","Apennines"],["aperatures","apertures"],["aperure","aperture"],["aperures","apertures"],["apeture","aperture"],["apetures","apertures"],["apilogue","epilogue"],["aplha","alpha"],["aplication","application"],["aplications","applications"],["aplied","applied"],["aplies","applies"],["apllicatin","application"],["apllicatins","applications"],["apllication","application"],["apllications","applications"],["apllied","applied"],["apllies","applies"],["aplly","apply"],["apllying","applying"],["aply","apply"],["aplyed","applied"],["aplying","applying"],["apointed","appointed"],["apointing","appointing"],["apointment","appointment"],["apoints","appoints"],["apolegetic","apologetic"],["apolegetics","apologetics"],["aportionable","apportionable"],["apostrophie","apostrophe"],["apostrophies","apostrophes"],["appar","appear"],["apparant","apparent"],["apparantly","apparently"],["appared","appeared"],["apparence","appearance"],["apparenlty","apparently"],["apparenly","apparently"],["appares","appears"],["apparoches","approaches"],["appars","appears"],["appart","apart"],["appartment","apartment"],["appartments","apartments"],["appearaing","appearing"],["appearantly","apparently"],["appeareance","appearance"],["appearence","appearance"],["appearences","appearances"],["appearently","apparently"],["appeares","appears"],["appearning","appearing"],["appearrs","appears"],["appeciate","appreciate"],["appeded","appended"],["appeding","appending"],["appedn","append"],["appen","append"],["appendend","appended"],["appendent","appended"],["appendex","appendix"],["appendig","appending"],["appendign","appending"],["appendt","append"],["appeneded","appended"],["appenines","Apennines"],["appens","appends"],["appent","append"],["apperance","appearance"],["apperances","appearances"],["apperar","appear"],["apperarance","appearance"],["apperarances","appearances"],["apperared","appeared"],["apperaring","appearing"],["apperars","appears"],["appereance","appearance"],["appereances","appearances"],["appered","appeared"],["apperent","apparent"],["apperently","apparently"],["appers","appears"],["apperture","aperture"],["appicability","applicability"],["appicable","applicable"],["appicaliton","application"],["appicalitons","applications"],["appicant","applicant"],["appication","application"],["appication-specific","application-specific"],["appications","applications"],["appicative","applicative"],["appied","applied"],["appies","applies"],["applay","apply"],["applcation","application"],["applcations","applications"],["appliable","applicable"],["appliacable","applicable"],["appliaction","application"],["appliactions","applications"],["appliation","application"],["appliations","applications"],["applicabel","applicable"],["applicaion","application"],["applicaions","applications"],["applicaiton","application"],["applicaitons","applications"],["applicance","appliance"],["applicapility","applicability"],["applicaple","applicable"],["applicatable","applicable"],["applicaten","application"],["applicatin","application"],["applicatins","applications"],["applicatio","application"],["applicationb","application"],["applicatios","applications"],["applicatiosn","applications"],["applicaton","application"],["applicatons","applications"],["appliction","application"],["applictions","applications"],["applide","applied"],["applikation","application"],["applikations","applications"],["appllied","applied"],["applly","apply"],["applyable","applicable"],["applycable","applicable"],["applyed","applied"],["applyes","applies"],["applyied","applied"],["applyig","applying"],["applys","applies"],["applyting","applying"],["appned","append"],["appologies","apologies"],["appology","apology"],["appon","upon"],["appopriate","appropriate"],["apporach","approach"],["apporached","approached"],["apporaches","approaches"],["apporaching","approaching"],["apporiate","appropriate"],["apporoximate","approximate"],["apporoximated","approximated"],["apporpiate","appropriate"],["apporpriate","appropriate"],["apporpriated","appropriated"],["apporpriately","appropriately"],["apporpriates","appropriates"],["apporpriating","appropriating"],["apporpriation","appropriation"],["apporpriations","appropriations"],["apporval","approval"],["apporve","approve"],["apporved","approved"],["apporves","approves"],["apporving","approving"],["appoval","approval"],["appove","approve"],["appoved","approved"],["appoves","approves"],["appoving","approving"],["appoximate","approximate"],["appoximately","approximately"],["appoximates","approximates"],["appoximation","approximation"],["appoximations","approximations"],["apppear","appear"],["apppears","appears"],["apppend","append"],["apppends","appends"],["appplet","applet"],["appplication","application"],["appplications","applications"],["appplying","applying"],["apppriate","appropriate"],["appproach","approach"],["apppropriate","appropriate"],["appraoch","approach"],["appraochable","approachable"],["appraoched","approached"],["appraoches","approaches"],["appraoching","approaching"],["apprearance","appearance"],["apprently","apparently"],["appreteate","appreciate"],["appreteated","appreciated"],["appretiate","appreciate"],["appretiated","appreciated"],["appretiates","appreciates"],["appretiating","appreciating"],["appretiation","appreciation"],["appretiative","appreciative"],["apprieciate","appreciate"],["apprieciated","appreciated"],["apprieciates","appreciates"],["apprieciating","appreciating"],["apprieciation","appreciation"],["apprieciative","appreciative"],["appriopriate","appropriate"],["appripriate","appropriate"],["appriproate","appropriate"],["apprixamate","approximate"],["apprixamated","approximated"],["apprixamately","approximately"],["apprixamates","approximates"],["apprixamating","approximating"],["apprixamation","approximation"],["apprixamations","approximations"],["appriximate","approximate"],["appriximated","approximated"],["appriximately","approximately"],["appriximates","approximates"],["appriximating","approximating"],["appriximation","approximation"],["appriximations","approximations"],["approachs","approaches"],["approbiate","appropriate"],["approch","approach"],["approche","approach"],["approched","approached"],["approches","approaches"],["approching","approaching"],["approiate","appropriate"],["approopriate","appropriate"],["approoximate","approximate"],["approoximately","approximately"],["approoximates","approximates"],["approoximation","approximation"],["approoximations","approximations"],["approperiate","appropriate"],["appropiate","appropriate"],["appropiately","appropriately"],["approppriately","appropriately"],["appropraite","appropriate"],["appropraitely","appropriately"],["approprate","appropriate"],["approprated","appropriated"],["approprately","appropriately"],["appropration","appropriation"],["approprations","appropriations"],["appropriage","appropriate"],["appropriatedly","appropriately"],["appropriatee","appropriate"],["appropriatly","appropriately"],["appropriatness","appropriateness"],["appropriete","appropriate"],["appropritae","appropriate"],["appropritate","appropriate"],["appropritately","appropriately"],["approprite","appropriate"],["approproate","appropriate"],["appropropiate","appropriate"],["appropropiately","appropriately"],["appropropreate","appropriate"],["appropropriate","appropriate"],["approproximate","approximate"],["approproximately","approximately"],["approproximates","approximates"],["approproximation","approximation"],["approproximations","approximations"],["approprpiate","appropriate"],["approriate","appropriate"],["approriately","appropriately"],["approrpriate","appropriate"],["approrpriately","appropriately"],["approuval","approval"],["approuve","approve"],["approuved","approved"],["approuves","approves"],["approuving","approving"],["approvement","approval"],["approxamate","approximate"],["approxamately","approximately"],["approxamates","approximates"],["approxamation","approximation"],["approxamations","approximations"],["approxamatly","approximately"],["approxametely","approximately"],["approxiamte","approximate"],["approxiamtely","approximately"],["approxiamtes","approximates"],["approxiamtion","approximation"],["approxiamtions","approximations"],["approxiate","approximate"],["approxiately","approximately"],["approxiates","approximates"],["approxiation","approximation"],["approxiations","approximations"],["approximatively","approximately"],["approximatly","approximately"],["approximed","approximated"],["approximetely","approximately"],["approximitely","approximately"],["approxmate","approximate"],["approxmately","approximately"],["approxmates","approximates"],["approxmation","approximation"],["approxmations","approximations"],["approxmimation","approximation"],["apprpriate","appropriate"],["apprpriately","appropriately"],["appy","apply"],["appying","applying"],["apreciate","appreciate"],["apreciated","appreciated"],["apreciates","appreciates"],["apreciating","appreciating"],["apreciation","appreciation"],["apreciative","appreciative"],["aprehensive","apprehensive"],["apreteate","appreciate"],["apreteated","appreciated"],["apreteating","appreciating"],["apretiate","appreciate"],["apretiated","appreciated"],["apretiates","appreciates"],["apretiating","appreciating"],["apretiation","appreciation"],["apretiative","appreciative"],["aproach","approach"],["aproached","approached"],["aproaches","approaches"],["aproaching","approaching"],["aproch","approach"],["aproched","approached"],["aproches","approaches"],["aproching","approaching"],["aproove","approve"],["aprooved","approved"],["apropiate","appropriate"],["apropiately","appropriately"],["apropriate","appropriate"],["apropriately","appropriately"],["aproval","approval"],["aproximate","approximate"],["aproximately","approximately"],["aproximates","approximates"],["aproximation","approximation"],["aproximations","approximations"],["aprrovement","approval"],["aprroximate","approximate"],["aprroximately","approximately"],["aprroximates","approximates"],["aprroximation","approximation"],["aprroximations","approximations"],["aprtment","apartment"],["aqain","again"],["aqcuire","acquire"],["aqcuired","acquired"],["aqcuires","acquires"],["aqcuiring","acquiring"],["aquaduct","aqueduct"],["aquaint","acquaint"],["aquaintance","acquaintance"],["aquainted","acquainted"],["aquainting","acquainting"],["aquaints","acquaints"],["aquiantance","acquaintance"],["aquire","acquire"],["aquired","acquired"],["aquires","acquires"],["aquiring","acquiring"],["aquisition","acquisition"],["aquisitions","acquisitions"],["aquit","acquit"],["aquitted","acquitted"],["arameters","parameters"],["aranged","arranged"],["arangement","arrangement"],["araound","around"],["ararbic","arabic"],["aray","array"],["arays","arrays"],["arbiatraily","arbitrarily"],["arbiatray","arbitrary"],["arbibtarily","arbitrarily"],["arbibtary","arbitrary"],["arbibtrarily","arbitrarily"],["arbibtrary","arbitrary"],["arbiitrarily","arbitrarily"],["arbiitrary","arbitrary"],["arbirarily","arbitrarily"],["arbirary","arbitrary"],["arbiratily","arbitrarily"],["arbiraty","arbitrary"],["arbirtarily","arbitrarily"],["arbirtary","arbitrary"],["arbirtrarily","arbitrarily"],["arbirtrary","arbitrary"],["arbitarary","arbitrary"],["arbitarily","arbitrarily"],["arbitary","arbitrary"],["arbitiarily","arbitrarily"],["arbitiary","arbitrary"],["arbitiraly","arbitrarily"],["arbitiray","arbitrary"],["arbitrailly","arbitrarily"],["arbitraily","arbitrarily"],["arbitraion","arbitration"],["arbitrairly","arbitrarily"],["arbitrairy","arbitrary"],["arbitral","arbitrary"],["arbitralily","arbitrarily"],["arbitrally","arbitrarily"],["arbitralrily","arbitrarily"],["arbitralry","arbitrary"],["arbitraly","arbitrary"],["arbitrarion","arbitration"],["arbitraryily","arbitrarily"],["arbitraryly","arbitrary"],["arbitratily","arbitrarily"],["arbitratiojn","arbitration"],["arbitraton","arbitration"],["arbitratrily","arbitrarily"],["arbitratrion","arbitration"],["arbitratry","arbitrary"],["arbitraty","arbitrary"],["arbitray","arbitrary"],["arbitriarily","arbitrarily"],["arbitriary","arbitrary"],["arbitrily","arbitrarily"],["arbitrion","arbitration"],["arbitriraly","arbitrarily"],["arbitriray","arbitrary"],["arbitrition","arbitration"],["arbitrtily","arbitrarily"],["arbitrty","arbitrary"],["arbitry","arbitrary"],["arbitryarily","arbitrarily"],["arbitryary","arbitrary"],["arbitual","arbitrary"],["arbitually","arbitrarily"],["arbitualy","arbitrary"],["arbituarily","arbitrarily"],["arbituary","arbitrary"],["arbiturarily","arbitrarily"],["arbiturary","arbitrary"],["arbort","abort"],["arborted","aborted"],["arborting","aborting"],["arborts","aborts"],["arbritary","arbitrary"],["arbritrarily","arbitrarily"],["arbritrary","arbitrary"],["arbtirarily","arbitrarily"],["arbtirary","arbitrary"],["arbtrarily","arbitrarily"],["arbtrary","arbitrary"],["arbutrarily","arbitrarily"],["arbutrary","arbitrary"],["arch-dependet","arch-dependent"],["arch-independet","arch-independent"],["archaelogical","archaeological"],["archaelogists","archaeologists"],["archaelogy","archaeology"],["archetect","architect"],["archetects","architects"],["archetectural","architectural"],["archetecturally","architecturally"],["archetecture","architecture"],["archiac","archaic"],["archictect","architect"],["archictecture","architecture"],["archictectures","architectures"],["archicture","architecture"],["archiecture","architecture"],["archiectures","architectures"],["archimedian","archimedean"],["architct","architect"],["architcts","architects"],["architcture","architecture"],["architctures","architectures"],["architecht","architect"],["architechts","architects"],["architechturally","architecturally"],["architechture","architecture"],["architechtures","architectures"],["architectual","architectural"],["architectur","architecture"],["architecturs","architectures"],["architecturse","architectures"],["architecure","architecture"],["architecures","architectures"],["architecutre","architecture"],["architecutres","architectures"],["architecuture","architecture"],["architecutures","architectures"],["architetcure","architecture"],["architetcures","architectures"],["architeture","architecture"],["architetures","architectures"],["architure","architecture"],["architures","architectures"],["archiv","archive"],["archivel","archival"],["archor","anchor"],["archtecture","architecture"],["archtectures","architectures"],["archtiecture","architecture"],["archtiectures","architectures"],["archtitecture","architecture"],["archtitectures","architectures"],["archtype","archetype"],["archtypes","archetypes"],["archvie","archive"],["archvies","archives"],["archving","archiving"],["arcitecture","architecture"],["arcitectures","architectures"],["arcive","archive"],["arcived","archived"],["arciver","archiver"],["arcives","archives"],["arciving","archiving"],["arcticle","article"],["Ardiuno","Arduino"],["are'nt","aren't"],["aready","already"],["areea","area"],["aren's","aren't"],["aren;t","aren't"],["arent'","aren't"],["arent","aren't"],["arent;","aren't"],["areodynamics","aerodynamics"],["argement","argument"],["argements","arguments"],["argemnt","argument"],["argemnts","arguments"],["argment","argument"],["argments","arguments"],["argmument","argument"],["argmuments","arguments"],["argreement","agreement"],["argreements","agreements"],["argubly","arguably"],["arguement","argument"],["arguements","arguments"],["arguemnt","argument"],["arguemnts","arguments"],["arguemtn","argument"],["arguemtns","arguments"],["arguents","arguments"],["argumant","argument"],["argumants","arguments"],["argumeent","argument"],["argumeents","arguments"],["argumement","argument"],["argumements","arguments"],["argumemnt","argument"],["argumemnts","arguments"],["argumeng","argument"],["argumengs","arguments"],["argumens","arguments"],["argumenst","arguments"],["argumentents","arguments"],["argumeny","argument"],["argumet","argument"],["argumetn","argument"],["argumetns","arguments"],["argumets","arguments"],["argumnet","argument"],["argumnets","arguments"],["argumnt","argument"],["argumnts","arguments"],["arhive","archive"],["arhives","archives"],["aribitary","arbitrary"],["aribiter","arbiter"],["aribrary","arbitrary"],["aribtrarily","arbitrarily"],["aribtrary","arbitrary"],["ariflow","airflow"],["arised","arose"],["arithemetic","arithmetic"],["arithemtic","arithmetic"],["arithmatic","arithmetic"],["arithmentic","arithmetic"],["arithmetc","arithmetic"],["arithmethic","arithmetic"],["arithmitic","arithmetic"],["aritmetic","arithmetic"],["aritrary","arbitrary"],["aritst","artist"],["arival","arrival"],["arive","arrive"],["arlready","already"],["armamant","armament"],["armistace","armistice"],["armonic","harmonic"],["arn't","aren't"],["arne't","aren't"],["arogant","arrogant"],["arogent","arrogant"],["aronud","around"],["aroud","around"],["aroudn","around"],["arouind","around"],["arounf","around"],["aroung","around"],["arount","around"],["arquitecture","architecture"],["arquitectures","architectures"],["arraay","array"],["arragement","arrangement"],["arraival","arrival"],["arral","array"],["arranable","arrangeable"],["arrance","arrange"],["arrane","arrange"],["arraned","arranged"],["arranement","arrangement"],["arranements","arrangements"],["arranent","arrangement"],["arranents","arrangements"],["arranes","arranges"],["arrang","arrange"],["arrangable","arrangeable"],["arrangaeble","arrangeable"],["arrangaelbe","arrangeable"],["arrangd","arranged"],["arrangde","arranged"],["arrangemenet","arrangement"],["arrangemenets","arrangements"],["arrangent","arrangement"],["arrangents","arrangements"],["arrangmeent","arrangement"],["arrangmeents","arrangements"],["arrangmenet","arrangement"],["arrangmenets","arrangements"],["arrangment","arrangement"],["arrangments","arrangements"],["arrangnig","arranging"],["arrangs","arranges"],["arrangse","arranges"],["arrangt","arrangement"],["arrangte","arrange"],["arrangteable","arrangeable"],["arrangted","arranged"],["arrangtement","arrangement"],["arrangtements","arrangements"],["arrangtes","arranges"],["arrangting","arranging"],["arrangts","arrangements"],["arraning","arranging"],["arranment","arrangement"],["arranments","arrangements"],["arrants","arrangements"],["arraows","arrows"],["arrary","array"],["arrayes","arrays"],["arre","are"],["arreay","array"],["arrengement","arrangement"],["arrengements","arrangements"],["arriveis","arrives"],["arrivial","arrival"],["arround","around"],["arrray","array"],["arrrays","arrays"],["arrrive","arrive"],["arrrived","arrived"],["arrrives","arrives"],["arrtibute","attribute"],["arrya","array"],["arryas","arrays"],["arrys","arrays"],["artcile","article"],["articaft","artifact"],["articafts","artifacts"],["artical","article"],["articals","articles"],["articat","artifact"],["articats","artifacts"],["artice","article"],["articel","article"],["articels","articles"],["artifac","artifact"],["artifacs","artifacts"],["artifcat","artifact"],["artifcats","artifacts"],["artifical","artificial"],["artifically","artificially"],["artihmetic","arithmetic"],["artilce","article"],["artillary","artillery"],["artuments","arguments"],["arugment","argument"],["arugments","arguments"],["arument","argument"],["aruments","arguments"],["arund","around"],["arvg","argv"],["asai","Asia"],["asain","Asian"],["asbolute","absolute"],["asbolutelly","absolutely"],["asbolutely","absolutely"],["asbtract","abstract"],["asbtracted","abstracted"],["asbtracter","abstracter"],["asbtracting","abstracting"],["asbtraction","abstraction"],["asbtractions","abstractions"],["asbtractly","abstractly"],["asbtractness","abstractness"],["asbtractor","abstractor"],["asbtracts","abstracts"],["ascconciated","associated"],["asceding","ascending"],["ascpect","aspect"],["ascpects","aspects"],["asdignment","assignment"],["asdignments","assignments"],["asemble","assemble"],["asembled","assembled"],["asembler","assembler"],["asemblers","assemblers"],["asembles","assembles"],["asemblies","assemblies"],["asembling","assembling"],["asembly","assembly"],["asendance","ascendance"],["asendancey","ascendancy"],["asendancy","ascendancy"],["asendence","ascendance"],["asendencey","ascendancy"],["asendency","ascendancy"],["asending","ascending"],["asent","ascent"],["aserted","asserted"],["asertion","assertion"],["asess","assess"],["asessment","assessment"],["asessments","assessments"],["asetic","ascetic"],["asfar","as far"],["asign","assign"],["asigned","assigned"],["asignee","assignee"],["asignees","assignees"],["asigning","assigning"],["asignmend","assignment"],["asignmends","assignments"],["asignment","assignment"],["asignor","assignor"],["asigns","assigns"],["asii","ascii"],["asisstant","assistant"],["asisstants","assistants"],["asistance","assistance"],["aske","ask"],["askes","asks"],["aslo","also"],["asnwer","answer"],["asnwered","answered"],["asnwerer","answerer"],["asnwerers","answerers"],["asnwering","answering"],["asnwers","answers"],["asny","any"],["asnychronoue","asynchronous"],["asociated","associated"],["asolute","absolute"],["asorbed","absorbed"],["aspected","expected"],["asphyxation","asphyxiation"],["assasin","assassin"],["assasinate","assassinate"],["assasinated","assassinated"],["assasinates","assassinates"],["assasination","assassination"],["assasinations","assassinations"],["assasined","assassinated"],["assasins","assassins"],["assassintation","assassination"],["asscciated","associated"],["assciated","associated"],["asscii","ASCII"],["asscociated","associated"],["asscoitaed","associated"],["assebly","assembly"],["assebmly","assembly"],["assembe","assemble"],["assembed","assembled"],["assembeld","assembled"],["assember","assembler"],["assemblys","assemblies"],["assemby","assembly"],["assemly","assembly"],["assemnly","assembly"],["assemple","assemble"],["assending","ascending"],["asser","assert"],["assersion","assertion"],["assertation","assertion"],["assertio","assertion"],["assertting","asserting"],["assesmenet","assessment"],["assesment","assessment"],["assesments","assessments"],["assessmant","assessment"],["assessmants","assessments"],["assgin","assign"],["assgined","assigned"],["assgining","assigning"],["assginment","assignment"],["assginments","assignments"],["assgins","assigns"],["assicate","associate"],["assicated","associated"],["assicates","associates"],["assicating","associating"],["assication","association"],["assications","associations"],["assiciate","associate"],["assiciated","associated"],["assiciates","associates"],["assiciation","association"],["assiciations","associations"],["asside","aside"],["assiged","assigned"],["assigend","assigned"],["assigh","assign"],["assighed","assigned"],["assighee","assignee"],["assighees","assignees"],["assigher","assigner"],["assighers","assigners"],["assighing","assigning"],["assighor","assignor"],["assighors","assignors"],["assighs","assigns"],["assiging","assigning"],["assigment","assignment"],["assigments","assignments"],["assigmnent","assignment"],["assignalble","assignable"],["assignement","assignment"],["assignements","assignments"],["assignemnt","assignment"],["assignemnts","assignments"],["assignemtn","assignment"],["assignend","assigned"],["assignenment","assignment"],["assignenmentes","assignments"],["assignenments","assignments"],["assignenmet","assignment"],["assignes","assigns"],["assignmenet","assignment"],["assignmens","assignments"],["assignmet","assignment"],["assignmetns","assignments"],["assignmnet","assignment"],["assignt","assign"],["assigntment","assignment"],["assihnment","assignment"],["assihnments","assignments"],["assime","assume"],["assined","assigned"],["assing","assign"],["assinged","assigned"],["assinging","assigning"],["assingled","assigned"],["assingment","assignment"],["assingned","assigned"],["assingnment","assignment"],["assings","assigns"],["assinment","assignment"],["assiocate","associate"],["assiocated","associated"],["assiocates","associates"],["assiocating","associating"],["assiocation","association"],["assiociate","associate"],["assiociated","associated"],["assiociates","associates"],["assiociating","associating"],["assiociation","association"],["assisance","assistance"],["assisant","assistant"],["assisants","assistants"],["assising","assisting"],["assisnate","assassinate"],["assistence","assistance"],["assistent","assistant"],["assit","assist"],["assitant","assistant"],["assition","assertion"],["assmbler","assembler"],["assmeble","assemble"],["assmebler","assembler"],["assmebles","assembles"],["assmebling","assembling"],["assmebly","assembly"],["assmelber","assembler"],["assmption","assumption"],["assmptions","assumptions"],["assmume","assume"],["assmumed","assumed"],["assmumes","assumes"],["assmuming","assuming"],["assmumption","assumption"],["assmumptions","assumptions"],["assoaiate","associate"],["assoaiated","associated"],["assoaiates","associates"],["assoaiating","associating"],["assoaiation","association"],["assoaiations","associations"],["assoaiative","associative"],["assocaited","associated"],["assocate","associate"],["assocated","associated"],["assocates","associates"],["assocating","associating"],["assocation","association"],["assocations","associations"],["assocciated","associated"],["assocciation","association"],["assocciations","associations"],["assocciative","associative"],["associatated","associated"],["associatd","associated"],["associatied","associated"],["associcate","associate"],["associcated","associated"],["associcates","associates"],["associcating","associating"],["associdated","associated"],["associeate","associate"],["associeated","associated"],["associeates","associates"],["associeating","associating"],["associeation","association"],["associeations","associations"],["associeted","associated"],["associte","associate"],["associted","associated"],["assocites","associates"],["associting","associating"],["assocition","association"],["associtions","associations"],["associtive","associative"],["associuated","associated"],["assoction","association"],["assoiated","associated"],["assoicate","associate"],["assoicated","associated"],["assoicates","associates"],["assoication","association"],["assoiciative","associative"],["assomption","assumption"],["assosciate","associate"],["assosciated","associated"],["assosciates","associates"],["assosciating","associating"],["assosiacition","association"],["assosiacitions","associations"],["assosiacted","associated"],["assosiate","associate"],["assosiated","associated"],["assosiates","associates"],["assosiating","associating"],["assosiation","association"],["assosiations","associations"],["assosiative","associative"],["assosication","assassination"],["assotiated","associated"],["assoziated","associated"],["asssassans","assassins"],["asssembler","assembler"],["asssembly","assembly"],["asssert","assert"],["asssertion","assertion"],["asssociate","associated"],["asssociated","associated"],["asssociation","association"],["asssume","assume"],["asssumes","assumes"],["asssuming","assuming"],["assualt","assault"],["assualted","assaulted"],["assuembly","assembly"],["assum","assume"],["assuma","assume"],["assumad","assumed"],["assumang","assuming"],["assumas","assumes"],["assumbe","assume"],["assumbed","assumed"],["assumbes","assumes"],["assumbing","assuming"],["assumend","assumed"],["assumking","assuming"],["assumme","assume"],["assummed","assumed"],["assummes","assumes"],["assumming","assuming"],["assumne","assume"],["assumned","assumed"],["assumnes","assumes"],["assumning","assuming"],["assumong","assuming"],["assumotion","assumption"],["assumotions","assumptions"],["assumpation","assumption"],["assumpted","assumed"],["assums","assumes"],["assumse","assumes"],["assumtion","assumption"],["assumtions","assumptions"],["assumtpion","assumption"],["assumtpions","assumptions"],["assumu","assume"],["assumud","assumed"],["assumue","assume"],["assumued","assumed"],["assumues","assumes"],["assumuing","assuming"],["assumung","assuming"],["assumuption","assumption"],["assumuptions","assumptions"],["assumus","assumes"],["assupmption","assumption"],["assuption","assumption"],["assuptions","assumptions"],["assurred","assured"],["assymetric","asymmetric"],["assymetrical","asymmetrical"],["assymetries","asymmetries"],["assymetry","asymmetry"],["assymmetric","asymmetric"],["assymmetrical","asymmetrical"],["assymmetries","asymmetries"],["assymmetry","asymmetry"],["assymptote","asymptote"],["assymptotes","asymptotes"],["assymptotic","asymptotic"],["assymptotically","asymptotically"],["assymthotic","asymptotic"],["assymtote","asymptote"],["assymtotes","asymptotes"],["assymtotic","asymptotic"],["assymtotically","asymptotically"],["asterices","asterisks"],["asteriod","asteroid"],["astethic","aesthetic"],["astethically","aesthetically"],["astethicism","aestheticism"],["astethics","aesthetics"],["asthetic","aesthetic"],["asthetical","aesthetical"],["asthetically","aesthetically"],["asthetics","aesthetics"],["astiimate","estimate"],["astiimation","estimation"],["asume","assume"],["asumed","assumed"],["asumes","assumes"],["asuming","assuming"],["asumption","assumption"],["asure","assure"],["aswell","as well"],["asychronize","asynchronize"],["asychronized","asynchronized"],["asychronous","asynchronous"],["asychronously","asynchronously"],["asycn","async"],["asycnhronous","asynchronous"],["asycnhronously","asynchronously"],["asycronous","asynchronous"],["asymetic","asymmetric"],["asymetric","asymmetric"],["asymetrical","asymmetrical"],["asymetricaly","asymmetrically"],["asymmeric","asymmetric"],["asynchnous","asynchronous"],["asynchonous","asynchronous"],["asynchonously","asynchronously"],["asynchornous","asynchronous"],["asynchoronous","asynchronous"],["asynchrnous","asynchronous"],["asynchrnously","asynchronously"],["asynchromous","asynchronous"],["asynchron","asynchronous"],["asynchroneously","asynchronously"],["asynchronious","asynchronous"],["asynchronlous","asynchronous"],["asynchrons","asynchronous"],["asynchroous","asynchronous"],["asynchrounous","asynchronous"],["asynchrounsly","asynchronously"],["asyncronous","asynchronous"],["asyncronously","asynchronously"],["asynnc","async"],["asynschron","asynchronous"],["atach","attach"],["atached","attached"],["ataching","attaching"],["atachment","attachment"],["atachments","attachments"],["atack","attack"],["atain","attain"],["atatch","attach"],["atatchable","attachable"],["atatched","attached"],["atatches","attaches"],["atatching","attaching"],["atatchment","attachment"],["atatchments","attachments"],["atempt","attempt"],["atempting","attempting"],["atempts","attempts"],["atendance","attendance"],["atended","attended"],["atendee","attendee"],["atends","attends"],["atention","attention"],["atheistical","atheistic"],["athenean","Athenian"],["atheneans","Athenians"],["ather","other"],["athiesm","atheism"],["athiest","atheist"],["athough","although"],["athron","athlon"],["athros","atheros"],["atleast","at least"],["atll","all"],["atmoic","atomic"],["atmoically","atomically"],["atomatically","automatically"],["atomical","atomic"],["atomicly","atomically"],["atomiticity","atomicity"],["atomtical","automatic"],["atomtically","automatically"],["atomticaly","automatically"],["atomticlly","automatically"],["atomticly","automatically"],["atorecovery","autorecovery"],["atorney","attorney"],["atquired","acquired"],["atribs","attribs"],["atribut","attribute"],["atribute","attribute"],["atributed","attributed"],["atributes","attributes"],["atrribute","attribute"],["atrributes","attributes"],["atrtribute","attribute"],["atrtributes","attributes"],["attaced","attached"],["attachd","attached"],["attachement","attachment"],["attachements","attachments"],["attachemnt","attachment"],["attachemnts","attachments"],["attachen","attach"],["attachged","attached"],["attachmant","attachment"],["attachmants","attachments"],["attachs","attaches"],["attachted","attached"],["attacs","attacks"],["attacthed","attached"],["attampt","attempt"],["attatch","attach"],["attatched","attached"],["attatches","attaches"],["attatching","attaching"],["attatchment","attachment"],["attatchments","attachments"],["attch","attach"],["attched","attached"],["attches","attaches"],["attching","attaching"],["attchment","attachment"],["attement","attempt"],["attemented","attempted"],["attementing","attempting"],["attements","attempts"],["attemp","attempt"],["attemped","attempted"],["attemping","attempting"],["attemppt","attempt"],["attemps","attempts"],["attemptes","attempts"],["attemptting","attempting"],["attemt","attempt"],["attemted","attempted"],["attemting","attempting"],["attemtp","attempt"],["attemtped","attempted"],["attemtping","attempting"],["attemtps","attempts"],["attemtpted","attempted"],["attemtpts","attempts"],["attemts","attempts"],["attendence","attendance"],["attendent","attendant"],["attendents","attendants"],["attened","attended"],["attennuation","attenuation"],["attension","attention"],["attented","attended"],["attentuation","attenuation"],["attentuations","attenuations"],["attepmpt","attempt"],["attept","attempt"],["attetntion","attention"],["attibute","attribute"],["attibuted","attributed"],["attibutes","attributes"],["attirbute","attribute"],["attirbutes","attributes"],["attiribute","attribute"],["attitide","attitude"],["attmept","attempt"],["attmpt","attempt"],["attnetion","attention"],["attosencond","attosecond"],["attosenconds","attoseconds"],["attrbiute","attribute"],["attrbute","attribute"],["attrbuted","attributed"],["attrbutes","attributes"],["attrbution","attribution"],["attrbutions","attributions"],["attribbute","attribute"],["attribiute","attribute"],["attribiutes","attributes"],["attribte","attribute"],["attribted","attributed"],["attribting","attributing"],["attribtue","attribute"],["attribtutes","attributes"],["attribude","attribute"],["attribue","attribute"],["attribues","attributes"],["attribuets","attributes"],["attribuite","attribute"],["attribuites","attributes"],["attribuition","attribution"],["attribure","attribute"],["attribured","attributed"],["attribures","attributes"],["attriburte","attribute"],["attriburted","attributed"],["attriburtes","attributes"],["attriburtion","attribution"],["attribut","attribute"],["attributei","attribute"],["attributen","attribute"],["attributess","attributes"],["attributred","attributed"],["attributs","attributes"],["attribye","attribute"],["attribyes","attributes"],["attribyte","attribute"],["attribytes","attributes"],["attriebute","attribute"],["attriebuted","attributed"],["attriebutes","attributes"],["attriebuting","attributing"],["attrirbute","attribute"],["attrirbuted","attributed"],["attrirbutes","attributes"],["attrirbution","attribution"],["attritube","attribute"],["attritubed","attributed"],["attritubes","attributes"],["attriubtes","attributes"],["attriubute","attribute"],["attrocities","atrocities"],["attrribute","attribute"],["attrributed","attributed"],["attrributes","attributes"],["attrribution","attribution"],["attrubite","attribute"],["attrubites","attributes"],["attrubte","attribute"],["attrubtes","attributes"],["attrubure","attribute"],["attrubures","attributes"],["attrubute","attribute"],["attrubutes","attributes"],["attrubyte","attribute"],["attrubytes","attributes"],["attruibute","attribute"],["attruibutes","attributes"],["atttached","attached"],["atttribute","attribute"],["atttributes","attributes"],["atuhenticate","authenticate"],["atuhenticated","authenticated"],["atuhenticates","authenticates"],["atuhenticating","authenticating"],["atuhentication","authentication"],["atuhenticator","authenticator"],["atuhenticators","authenticators"],["auccess","success"],["auccessive","successive"],["audeince","audience"],["audiance","audience"],["augest","August"],["augmnet","augment"],["augmnetation","augmentation"],["augmneted","augmented"],["augmneter","augmenter"],["augmneters","augmenters"],["augmnetes","augments"],["augmneting","augmenting"],["augmnets","augments"],["auguest","august"],["auhtor","author"],["auhtors","authors"],["aunthenticate","authenticate"],["aunthenticated","authenticated"],["aunthenticates","authenticates"],["aunthenticating","authenticating"],["aunthentication","authentication"],["aunthenticator","authenticator"],["aunthenticators","authenticators"],["auospacing","autospacing"],["auot","auto"],["auotmatic","automatic"],["auromated","automated"],["austrailia","Australia"],["austrailian","Australian"],["Australien","Australian"],["Austrlaian","Australian"],["autasave","autosave"],["autasaves","autosaves"],["autenticate","authenticate"],["autenticated","authenticated"],["autenticates","authenticates"],["autenticating","authenticating"],["autentication","authentication"],["autenticator","authenticator"],["autenticators","authenticators"],["authecate","authenticate"],["authecated","authenticated"],["authecates","authenticates"],["authecating","authenticating"],["authecation","authentication"],["authecator","authenticator"],["authecators","authenticators"],["authenaticate","authenticate"],["authenaticated","authenticated"],["authenaticates","authenticates"],["authenaticating","authenticating"],["authenatication","authentication"],["authenaticator","authenticator"],["authenaticators","authenticators"],["authencate","authenticate"],["authencated","authenticated"],["authencates","authenticates"],["authencating","authenticating"],["authencation","authentication"],["authencator","authenticator"],["authencators","authenticators"],["authenciate","authenticate"],["authenciated","authenticated"],["authenciates","authenticates"],["authenciating","authenticating"],["authenciation","authentication"],["authenciator","authenticator"],["authenciators","authenticators"],["authencicate","authenticate"],["authencicated","authenticated"],["authencicates","authenticates"],["authencicating","authenticating"],["authencication","authentication"],["authencicator","authenticator"],["authencicators","authenticators"],["authencity","authenticity"],["authencticate","authenticate"],["authencticated","authenticated"],["authencticates","authenticates"],["authencticating","authenticating"],["authenctication","authentication"],["authencticator","authenticator"],["authencticators","authenticators"],["authendicate","authenticate"],["authendicated","authenticated"],["authendicates","authenticates"],["authendicating","authenticating"],["authendication","authentication"],["authendicator","authenticator"],["authendicators","authenticators"],["authenenticate","authenticate"],["authenenticated","authenticated"],["authenenticates","authenticates"],["authenenticating","authenticating"],["authenentication","authentication"],["authenenticator","authenticator"],["authenenticators","authenticators"],["authenfie","authenticate"],["authenfied","authenticated"],["authenfies","authenticates"],["authenfiing","authenticating"],["authenfiion","authentication"],["authenfior","authenticator"],["authenfiors","authenticators"],["authenicae","authenticate"],["authenicaed","authenticated"],["authenicaes","authenticates"],["authenicaing","authenticating"],["authenicaion","authentication"],["authenicaor","authenticator"],["authenicaors","authenticators"],["authenicate","authenticate"],["authenicated","authenticated"],["authenicates","authenticates"],["authenicating","authenticating"],["authenication","authentication"],["authenicator","authenticator"],["authenicators","authenticators"],["authenificate","authenticate"],["authenificated","authenticated"],["authenificates","authenticates"],["authenificating","authenticating"],["authenification","authentication"],["authenificator","authenticator"],["authenificators","authenticators"],["authenitcate","authenticate"],["authenitcated","authenticated"],["authenitcates","authenticates"],["authenitcating","authenticating"],["authenitcation","authentication"],["authenitcator","authenticator"],["authenitcators","authenticators"],["autheniticate","authenticate"],["autheniticated","authenticated"],["autheniticates","authenticates"],["autheniticating","authenticating"],["authenitication","authentication"],["autheniticator","authenticator"],["autheniticators","authenticators"],["authenricate","authenticate"],["authenricated","authenticated"],["authenricates","authenticates"],["authenricating","authenticating"],["authenrication","authentication"],["authenricator","authenticator"],["authenricators","authenticators"],["authentation","authentication"],["authentcated","authenticated"],["authentciate","authenticate"],["authentciated","authenticated"],["authentciates","authenticates"],["authentciating","authenticating"],["authentciation","authentication"],["authentciator","authenticator"],["authentciators","authenticators"],["authenticaiton","authentication"],["authenticateion","authentication"],["authentiction","authentication"],["authentification","authentication"],["auther","author"],["autherisation","authorisation"],["autherise","authorise"],["autherization","authorization"],["autherize","authorize"],["authers","authors"],["authethenticate","authenticate"],["authethenticated","authenticated"],["authethenticates","authenticates"],["authethenticating","authenticating"],["authethentication","authentication"],["authethenticator","authenticator"],["authethenticators","authenticators"],["authethicate","authenticate"],["authethicated","authenticated"],["authethicates","authenticates"],["authethicating","authenticating"],["authethication","authentication"],["authethicator","authenticator"],["authethicators","authenticators"],["autheticate","authenticate"],["autheticated","authenticated"],["autheticates","authenticates"],["autheticating","authenticating"],["authetication","authentication"],["autheticator","authenticator"],["autheticators","authenticators"],["authetnicate","authenticate"],["authetnicated","authenticated"],["authetnicates","authenticates"],["authetnicating","authenticating"],["authetnication","authentication"],["authetnicator","authenticator"],["authetnicators","authenticators"],["authetnticate","authenticate"],["authetnticated","authenticated"],["authetnticates","authenticates"],["authetnticating","authenticating"],["authetntication","authentication"],["authetnticator","authenticator"],["authetnticators","authenticators"],["authobiographic","autobiographic"],["authobiography","autobiography"],["authoer","author"],["authoratative","authoritative"],["authorative","authoritative"],["authorded","authored"],["authorites","authorities"],["authorithy","authority"],["authoritiers","authorities"],["authorititive","authoritative"],["authoritive","authoritative"],["authorizeed","authorized"],["authror","author"],["authrored","authored"],["authrorisation","authorisation"],["authrorities","authorities"],["authrorization","authorization"],["authrors","authors"],["autimatic","automatic"],["autimatically","automatically"],["autmatically","automatically"],["auto-dependancies","auto-dependencies"],["auto-destrcut","auto-destruct"],["auto-genrated","auto-generated"],["auto-genratet","auto-generated"],["auto-genration","auto-generation"],["auto-negatiotiation","auto-negotiation"],["auto-negatiotiations","auto-negotiations"],["auto-negoatiation","auto-negotiation"],["auto-negoatiations","auto-negotiations"],["auto-negoation","auto-negotiation"],["auto-negoations","auto-negotiations"],["auto-negociation","auto-negotiation"],["auto-negociations","auto-negotiations"],["auto-negogtiation","auto-negotiation"],["auto-negogtiations","auto-negotiations"],["auto-negoitation","auto-negotiation"],["auto-negoitations","auto-negotiations"],["auto-negoptionsotiation","auto-negotiation"],["auto-negoptionsotiations","auto-negotiations"],["auto-negosiation","auto-negotiation"],["auto-negosiations","auto-negotiations"],["auto-negotaiation","auto-negotiation"],["auto-negotaiations","auto-negotiations"],["auto-negotaition","auto-negotiation"],["auto-negotaitions","auto-negotiations"],["auto-negotatiation","auto-negotiation"],["auto-negotatiations","auto-negotiations"],["auto-negotation","auto-negotiation"],["auto-negotations","auto-negotiations"],["auto-negothiation","auto-negotiation"],["auto-negothiations","auto-negotiations"],["auto-negotication","auto-negotiation"],["auto-negotications","auto-negotiations"],["auto-negotioation","auto-negotiation"],["auto-negotioations","auto-negotiations"],["auto-negotion","auto-negotiation"],["auto-negotionation","auto-negotiation"],["auto-negotionations","auto-negotiations"],["auto-negotions","auto-negotiations"],["auto-negotiotation","auto-negotiation"],["auto-negotiotations","auto-negotiations"],["auto-negotitaion","auto-negotiation"],["auto-negotitaions","auto-negotiations"],["auto-negotitation","auto-negotiation"],["auto-negotitations","auto-negotiations"],["auto-negotition","auto-negotiation"],["auto-negotitions","auto-negotiations"],["auto-negoziation","auto-negotiation"],["auto-negoziations","auto-negotiations"],["auto-realease","auto-release"],["auto-realeased","auto-released"],["autochtonous","autochthonous"],["autocmplete","autocomplete"],["autocmpleted","autocompleted"],["autocmpletes","autocompletes"],["autocmpleting","autocompleting"],["autocommiting","autocommitting"],["autoconplete","autocomplete"],["autoconpleted","autocompleted"],["autoconpletes","autocompletes"],["autoconpleting","autocompleting"],["autoconpletion","autocompletion"],["autocoomit","autocommit"],["autoctonous","autochthonous"],["autoeselect","autoselect"],["autofilt","autofilter"],["autofomat","autoformat"],["autoformating","autoformatting"],["autogenrated","autogenerated"],["autogenratet","autogenerated"],["autogenration","autogeneration"],["autogroping","autogrouping"],["autohorized","authorized"],["autoincrememnt","autoincrement"],["autoincrementive","autoincrement"],["automaatically","automatically"],["automagicaly","automagically"],["automaitc","automatic"],["automaitcally","automatically"],["automanifactured","automanufactured"],["automatcally","automatically"],["automatially","automatically"],["automaticallly","automatically"],["automaticaly","automatically"],["automaticalyl","automatically"],["automaticalyy","automatically"],["automaticlly","automatically"],["automaticly","automatically"],["autometic","automatic"],["autometically","automatically"],["automibile","automobile"],["automical","automatic"],["automically","automatically"],["automicaly","automatically"],["automicatilly","automatically"],["automiclly","automatically"],["automicly","automatically"],["automonomous","autonomous"],["automtic","automatic"],["automtically","automatically"],["autonagotiation","autonegotiation"],["autonegatiotiation","autonegotiation"],["autonegatiotiations","autonegotiations"],["autonegoatiation","autonegotiation"],["autonegoatiations","autonegotiations"],["autonegoation","autonegotiation"],["autonegoations","autonegotiations"],["autonegociated","autonegotiated"],["autonegociation","autonegotiation"],["autonegociations","autonegotiations"],["autonegogtiation","autonegotiation"],["autonegogtiations","autonegotiations"],["autonegoitation","autonegotiation"],["autonegoitations","autonegotiations"],["autonegoptionsotiation","autonegotiation"],["autonegoptionsotiations","autonegotiations"],["autonegosiation","autonegotiation"],["autonegosiations","autonegotiations"],["autonegotaiation","autonegotiation"],["autonegotaiations","autonegotiations"],["autonegotaition","autonegotiation"],["autonegotaitions","autonegotiations"],["autonegotatiation","autonegotiation"],["autonegotatiations","autonegotiations"],["autonegotation","autonegotiation"],["autonegotations","autonegotiations"],["autonegothiation","autonegotiation"],["autonegothiations","autonegotiations"],["autonegotication","autonegotiation"],["autonegotications","autonegotiations"],["autonegotioation","autonegotiation"],["autonegotioations","autonegotiations"],["autonegotion","autonegotiation"],["autonegotionation","autonegotiation"],["autonegotionations","autonegotiations"],["autonegotions","autonegotiations"],["autonegotiotation","autonegotiation"],["autonegotiotations","autonegotiations"],["autonegotitaion","autonegotiation"],["autonegotitaions","autonegotiations"],["autonegotitation","autonegotiation"],["autonegotitations","autonegotiations"],["autonegotition","autonegotiation"],["autonegotitions","autonegotiations"],["autonegoziation","autonegotiation"],["autonegoziations","autonegotiations"],["autoneogotiation","autonegotiation"],["autoneotiation","autonegotiation"],["autonogotiation","autonegotiation"],["autonymous","autonomous"],["autoonf","autoconf"],["autopsec","autospec"],["autor","author"],["autorealease","autorelease"],["autorisation","authorisation"],["autoritative","authoritative"],["autority","authority"],["autorization","authorization"],["autoropeat","autorepeat"],["autors","authors"],["autosae","autosave"],["autosavegs","autosaves"],["autosaveperodical","autosaveperiodical"],["autosence","autosense"],["autum","autumn"],["auxialiary","auxiliary"],["auxilaries","auxiliaries"],["auxilary","auxiliary"],["auxileries","auxiliaries"],["auxilery","auxiliary"],["auxiliar","auxiliary"],["auxillaries","auxiliaries"],["auxillary","auxiliary"],["auxilleries","auxiliaries"],["auxillery","auxiliary"],["auxilliaries","auxiliaries"],["auxilliary","auxiliary"],["auxiluary","auxiliary"],["auxliliary","auxiliary"],["avaiable","available"],["avaialable","available"],["avaialbale","available"],["avaialbe","available"],["avaialbel","available"],["avaialbility","availability"],["avaialble","available"],["avaiblable","available"],["avaible","available"],["avaiiability","availability"],["avaiiable","available"],["avaiibility","availability"],["avaiible","available"],["avaiilable","available"],["availaable","available"],["availabable","available"],["availabal","available"],["availabale","available"],["availabality","availability"],["availabble","available"],["availabe","available"],["availabed","available"],["availabel","available"],["availabele","available"],["availabelity","availability"],["availabillity","availability"],["availabilty","availability"],["availabke","available"],["availabl","available"],["availabled","available"],["availablen","available"],["availablity","availability"],["availabyl","available"],["availaiable","available"],["availaibility","availability"],["availaible","available"],["availailability","availability"],["availaility","availability"],["availalable","available"],["availalbe","available"],["availalble","available"],["availale","available"],["availaliable","available"],["availality","availability"],["availanle","available"],["availavble","available"],["availavility","availability"],["availavle","available"],["availbable","available"],["availbale","available"],["availbe","available"],["availble","available"],["availeable","available"],["availebilities","availabilities"],["availebility","availability"],["availeble","available"],["availiable","available"],["availibility","availability"],["availibilty","availability"],["availible","available"],["availlable","available"],["avalable","available"],["avalaible","available"],["avalance","avalanche"],["avaliable","available"],["avalibale","available"],["avalible","available"],["avaloable","available"],["avaluate","evaluate"],["avaluated","evaluated"],["avaluates","evaluates"],["avaluating","evaluating"],["avance","advance"],["avanced","advanced"],["avances","advances"],["avancing","advancing"],["avaoid","avoid"],["avaoidable","avoidable"],["avaoided","avoided"],["avarage","average"],["avarageing","averaging"],["avarege","average"],["avation","aviation"],["avcoid","avoid"],["avcoids","avoids"],["avdisories","advisories"],["avdisoriyes","advisories"],["avdisory","advisory"],["avengence","a vengeance"],["averageed","averaged"],["averagine","averaging"],["averload","overload"],["averloaded","overloaded"],["averloads","overloads"],["avertising","advertising"],["avgerage","average"],["aviable","available"],["avialable","available"],["avilability","availability"],["avilable","available"],["aviod","avoid"],["avioded","avoided"],["avioding","avoiding"],["aviods","avoids"],["avisories","advisories"],["avisoriyes","advisories"],["avisory","advisory"],["avod","avoid"],["avoded","avoided"],["avoding","avoiding"],["avods","avoids"],["avoidence","avoidance"],["avoind","avoid"],["avoinded","avoided"],["avoinding","avoiding"],["avoinds","avoids"],["avriable","variable"],["avriables","variables"],["avriant","variant"],["avriants","variants"],["avtive","active"],["awared","awarded"],["aweful","awful"],["awefully","awfully"],["awkard","awkward"],["awming","awning"],["awmings","awnings"],["awnser","answer"],["awnsered","answered"],["awnsers","answers"],["awoid","avoid"],["awsome","awesome"],["awya","away"],["axises","axes"],["axissymmetric","axisymmetric"],["axix","axis"],["axixsymmetric","axisymmetric"],["axpressed","expressed"],["aysnc","async"],["ayways","always"],["bacause","because"],["baceause","because"],["bacground","background"],["bacic","basic"],["backards","backwards"],["backbround","background"],["backbrounds","backgrounds"],["backedn","backend"],["backedns","backends"],["backgorund","background"],["backgorunds","backgrounds"],["backgound","background"],["backgounds","backgrounds"],["backgournd","background"],["backgournds","backgrounds"],["backgrond","background"],["backgronds","backgrounds"],["backgroound","background"],["backgroounds","backgrounds"],["backgroud","background"],["backgroudn","background"],["backgroudns","backgrounds"],["backgrouds","backgrounds"],["backgroun","background"],["backgroung","background"],["backgroungs","backgrounds"],["backgrouns","backgrounds"],["backgrount","background"],["backgrounts","backgrounds"],["backgrouund","background"],["backgrund","background"],["backgrunds","backgrounds"],["backgruond","background"],["backgruonds","backgrounds"],["backlght","backlight"],["backlghting","backlighting"],["backlghts","backlights"],["backned","backend"],["backneds","backends"],["backound","background"],["backounds","backgrounds"],["backpsace","backspace"],["backrefence","backreference"],["backrgound","background"],["backrgounds","backgrounds"],["backround","background"],["backrounds","backgrounds"],["backsapce","backspace"],["backslase","backslash"],["backslases","backslashes"],["backslashs","backslashes"],["backwad","backwards"],["backwardss","backwards"],["backware","backward"],["backwark","backward"],["backwrad","backward"],["bactracking","backtracking"],["bacup","backup"],["baed","based"],["bage","bag"],["bahaving","behaving"],["bahavior","behavior"],["bahavioral","behavioral"],["bahaviors","behaviors"],["bahaviour","behaviour"],["baisc","basic"],["baised","raised"],["bakc","back"],["bakcrefs","backrefs"],["bakends","backends"],["bakground","background"],["bakgrounds","backgrounds"],["bakup","backup"],["bakups","backups"],["bakward","backward"],["bakwards","backwards"],["balacing","balancing"],["balence","balance"],["baloon","balloon"],["baloons","balloons"],["balse","false"],["banannas","bananas"],["bandwdith","bandwidth"],["bandwdiths","bandwidths"],["bandwidht","bandwidth"],["bandwidthm","bandwidth"],["bandwitdh","bandwidth"],["bandwith","bandwidth"],["bankrupcy","bankruptcy"],["banlance","balance"],["banruptcy","bankruptcy"],["barbedos","barbados"],["bariier","barrier"],["barnch","branch"],["barnched","branched"],["barncher","brancher"],["barnchers","branchers"],["barnches","branches"],["barnching","branching"],["barriors","barriers"],["barrriers","barriers"],["barycentic","barycentric"],["basci","basic"],["bascially","basically"],["bascktrack","backtrack"],["basf","base"],["basicallly","basically"],["basicaly","basically"],["basiclly","basically"],["basicly","basically"],["basline","baseline"],["baslines","baselines"],["bassic","basic"],["bassically","basically"],["bastract","abstract"],["bastracted","abstracted"],["bastracter","abstracter"],["bastracting","abstracting"],["bastraction","abstraction"],["bastractions","abstractions"],["bastractly","abstractly"],["bastractness","abstractness"],["bastractor","abstractor"],["bastracts","abstracts"],["bateries","batteries"],["batery","battery"],["battaries","batteries"],["battary","battery"],["bbefore","before"],["bboolean","boolean"],["bbooleans","booleans"],["bcak","back"],["bcause","because"],["beable","be able"],["beacaon","beacon"],["beacause","because"],["beachead","beachhead"],["beacuse","because"],["beaon","beacon"],["bearword","bareword"],["beastiality","bestiality"],["beatiful","beautiful"],["beauracracy","bureaucracy"],["beaurocracy","bureaucracy"],["beaurocratic","bureaucratic"],["beause","because"],["beauti","beauty"],["beautiy","beauty"],["beautyfied","beautified"],["beautyfull","beautiful"],["beaviour","behaviour"],["bebongs","belongs"],["becaause","because"],["becacdd","because"],["becahse","because"],["becamae","became"],["becaouse","because"],["becase","because"],["becasue","because"],["becasuse","because"],["becauae","because"],["becauce","because"],["becaue","because"],["becaues","because"],["becaus","because"],["becausee","because"],["becauseq","because"],["becauses","because"],["becausw","because"],["beccause","because"],["bechmark","benchmark"],["bechmarked","benchmarked"],["bechmarking","benchmarking"],["bechmarks","benchmarks"],["becoem","become"],["becomeing","becoming"],["becomme","become"],["becommes","becomes"],["becomming","becoming"],["becoms","becomes"],["becouse","because"],["becoz","because"],["bector","vector"],["bectors","vectors"],["becuase","because"],["becuse","because"],["becxause","because"],["bedore","before"],["beeings","beings"],["beetween","between"],["beetwen","between"],["beffer","buffer"],["befoer","before"],["befor","before"],["beforehands","beforehand"],["beforere","before"],["befores","before"],["beforing","before"],["befure","before"],["begginer","beginner"],["begginers","beginners"],["beggingin","beginning"],["begginging","beginning"],["begginig","beginning"],["beggining","beginning"],["begginings","beginnings"],["begginnig","beginning"],["begginning","beginning"],["beggins","begins"],["beghavior","behavior"],["beghaviors","behaviors"],["begiinning","beginning"],["beginer","beginner"],["begines","begins"],["begining","beginning"],["beginining","beginning"],["begininings","beginnings"],["begininng","beginning"],["begininngs","beginnings"],["beginn","begin"],["beginnig","beginning"],["beginnin","beginning"],["beginnning","beginning"],["beginnnings","beginnings"],["behabior","behavior"],["behabiors","behaviors"],["behabiour","behaviour"],["behabiours","behaviours"],["behabviour","behaviour"],["behaivior","behavior"],["behaiviour","behaviour"],["behaiviuor","behaviour"],["behaivor","behavior"],["behaivors","behaviors"],["behaivour","behaviour"],["behaivoural","behavioural"],["behaivours","behaviours"],["behavioutr","behaviour"],["behaviro","behavior"],["behaviuor","behaviour"],["behavoir","behavior"],["behavoirs","behaviors"],["behavour","behaviour"],["behavriour","behaviour"],["behavriours","behaviours"],["behinde","behind"],["behvaiour","behaviour"],["behviour","behaviour"],["beigin","begin"],["beiginning","beginning"],["beind","behind"],["beinning","beginning"],["bejond","beyond"],["beleagured","beleaguered"],["beleif","belief"],["beleifable","believable"],["beleifed","believed"],["beleifing","believing"],["beleivable","believable"],["beleive","believe"],["beleived","believed"],["beleives","believes"],["beleiving","believing"],["beliefable","believable"],["beliefed","believed"],["beliefing","believing"],["beligum","belgium"],["beling","belong"],["belivable","believable"],["belive","believe"],["beliveable","believable"],["beliveably","believably"],["beliveble","believable"],["belivebly","believably"],["beliving","believing"],["belligerant","belligerent"],["bellweather","bellwether"],["belog","belong"],["beloging","belonging"],["belogs","belongs"],["belond","belong"],["beloning","belonging"],["belown","belong"],["belwo","below"],["bemusemnt","bemusement"],["benchamarked","benchmarked"],["benchamarking","benchmarking"],["benchamrk","benchmark"],["benchamrked","benchmarked"],["benchamrking","benchmarking"],["benchamrks","benchmarks"],["benchmkar","benchmark"],["benchmkared","benchmarked"],["benchmkaring","benchmarking"],["benchmkars","benchmarks"],["benchs","benches"],["benckmark","benchmark"],["benckmarked","benchmarked"],["benckmarking","benchmarking"],["benckmarks","benchmarks"],["benechmark","benchmark"],["benechmarked","benchmarked"],["benechmarking","benchmarking"],["benechmarks","benchmarks"],["beneeth","beneath"],["benefical","beneficial"],["beneficary","beneficiary"],["benefied","benefited"],["benefitial","beneficial"],["beneits","benefits"],["benetifs","benefits"],["beng","being"],["benhind","behind"],["benificial","beneficial"],["benifit","benefit"],["benifite","benefit"],["benifited","benefited"],["benifitial","beneficial"],["benifits","benefits"],["benig","being"],["beond","beyond"],["berforming","performing"],["bergamont","bergamot"],["Berkley","Berkeley"],["Bernouilli","Bernoulli"],["berween","between"],["besed","based"],["beseige","besiege"],["beseiged","besieged"],["beseiging","besieging"],["besure","be sure"],["beteeen","between"],["beteen","between"],["beter","better"],["beteween","between"],["betrween","between"],["bettern","better"],["bettween","between"],["betwean","between"],["betwee","between"],["betweed","between"],["betweeen","between"],["betweem","between"],["betweend","between"],["betweeness","betweenness"],["betweent","between"],["betwen","between"],["betwene","between"],["betwenn","between"],["betwern","between"],["betwween","between"],["beucase","because"],["beuracracy","bureaucracy"],["beutification","beautification"],["beutiful","beautiful"],["beutifully","beautifully"],["bever","never"],["bevore","before"],["bevorehand","beforehand"],["bevorhand","beforehand"],["beweeen","between"],["beween","between"],["bewteen","between"],["bewteeness","betweenness"],["beyone","beyond"],["beyong","beyond"],["beyound","beyond"],["bffer","buffer"],["bginning","beginning"],["bi-langual","bi-lingual"],["bianries","binaries"],["bianry","binary"],["biappicative","biapplicative"],["biddings","bidding"],["bidimentionnal","bidimensional"],["bidning","binding"],["bidnings","bindings"],["bigallic","bigalloc"],["bigining","beginning"],["biginning","beginning"],["biinary","binary"],["bilangual","bilingual"],["bilateraly","bilaterally"],["billingualism","bilingualism"],["billon","billion"],["bimask","bitmask"],["bimillenia","bimillennia"],["bimillenial","bimillennial"],["bimillenium","bimillennium"],["bimontly","bimonthly"],["binairy","binary"],["binanary","binary"],["binar","binary"],["binay","binary"],["bindins","bindings"],["binidng","binding"],["binominal","binomial"],["binraries","binaries"],["binrary","binary"],["bion","bio"],["birght","bright"],["birghten","brighten"],["birghter","brighter"],["birghtest","brightest"],["birghtness","brightness"],["biridectionality","bidirectionality"],["bisct","bisect"],["bisines","business"],["bisiness","business"],["bisnes","business"],["bisness","business"],["bistream","bitstream"],["bisunes","business"],["bisuness","business"],["bitamps","bitmaps"],["bitap","bitmap"],["bitfileld","bitfield"],["bitfilelds","bitfields"],["bitis","bits"],["bitmast","bitmask"],["bitnaps","bitmaps"],["bitwise-orring","bitwise-oring"],["bizare","bizarre"],["bizarely","bizarrely"],["bizzare","bizarre"],["bject","object"],["bjects","objects"],["blackslashes","backslashes"],["blaclist","blacklist"],["blaim","blame"],["blaimed","blamed"],["blanace","balance"],["blancked","blanked"],["blatent","blatant"],["blatently","blatantly"],["blbos","blobs"],["blcok","block"],["blcoks","blocks"],["bleading","bleeding"],["blessd","blessed"],["blessure","blessing"],["bletooth","bluetooth"],["bleutooth","bluetooth"],["blindy","blindly"],["Blitzkreig","Blitzkrieg"],["bload","bloat"],["bloaded","bloated"],["blocack","blockack"],["bloccks","blocks"],["blocekd","blocked"],["blockhain","blockchain"],["blockhains","blockchains"],["blockin","blocking"],["blockse","blocks"],["bloddy","bloody"],["blodk","block"],["bloek","bloke"],["bloekes","blokes"],["bloeks","blokes"],["bloekss","blokes"],["blohted","bloated"],["blokcer","blocker"],["blokchain","blockchain"],["blokchains","blockchains"],["blokcing","blocking"],["bloked","blocked"],["bloker","blocker"],["bloking","blocking"],["blong","belong"],["blonged","belonged"],["blonging","belonging"],["blongs","belongs"],["bloock","block"],["bloocks","blocks"],["bloted","bloated"],["bluestooth","bluetooth"],["bluetooh","bluetooth"],["bluetoot","bluetooth"],["bluetootn","bluetooth"],["blured","blurred"],["blutooth","bluetooth"],["bnecause","because"],["boads","boards"],["boardcast","broadcast"],["bocome","become"],["boddy","body"],["bodiese","bodies"],["bodydbuilder","bodybuilder"],["boelean","boolean"],["boeleans","booleans"],["boffer","buffer"],["bofore","before"],["bofy","body"],["boggus","bogus"],["bogos","bogus"],["bointer","pointer"],["bolean","boolean"],["boleen","boolean"],["bolor","color"],["bombardement","bombardment"],["bombarment","bombardment"],["bondary","boundary"],["Bonnano","Bonanno"],["bood","boot"],["bookeeping","bookkeeping"],["bookkeeing","bookkeeping"],["bookkeeiping","bookkeeping"],["bookkepp","bookkeep"],["bookmakr","bookmark"],["bookmar","bookmark"],["booleam","boolean"],["booleamn","boolean"],["booleamns","booleans"],["booleams","booleans"],["booleanss","booleans"],["booleen","boolean"],["booleens","booleans"],["boolen","boolean"],["boolens","booleans"],["booltloader","bootloader"],["booltloaders","bootloaders"],["boomark","bookmark"],["boomarks","bookmarks"],["boook","book"],["booolean","boolean"],["boooleans","booleans"],["booshelf","bookshelf"],["booshelves","bookshelves"],["boostrap","bootstrap"],["boostrapped","bootstrapped"],["boostrapping","bootstrapping"],["boostraps","bootstraps"],["booteek","boutique"],["bootlaoder","bootloader"],["bootlaoders","bootloaders"],["bootoloader","bootloader"],["bootom","bottom"],["bootraping","bootstrapping"],["bootsram","bootram"],["bootsrap","bootstrap"],["bootstap","bootstrap"],["bootstapped","bootstrapped"],["bootstapping","bootstrapping"],["bootstaps","bootstraps"],["booundaries","boundaries"],["booundary","boundary"],["boquet","bouquet"],["borad","board"],["boradcast","broadcast"],["bording","boarding"],["bordreline","borderline"],["bordrelines","borderlines"],["borgwasy","bourgeoisie"],["borke","broke"],["borken","broken"],["borow","borrow"],["borwser","browsers"],["borwsers","browsers"],["bothe","both"],["boths","both"],["botifies","notifies"],["bottem","bottom"],["bottlenck","bottleneck"],["bottlencks","bottlenecks"],["bottlenect","bottleneck"],["bottlenects","bottlenecks"],["bottlneck","bottleneck"],["bottlnecks","bottlenecks"],["bottomborde","bottomborder"],["bottome","bottom"],["bottomn","bottom"],["bottonm","bottom"],["botttom","bottom"],["bouce","bounce"],["bouces","bounces"],["boudaries","boundaries"],["boudary","boundary"],["bouding","bounding"],["boudnaries","boundaries"],["boudnary","boundary"],["bouds","bounds"],["bouind","bound"],["bouinded","bounded"],["bouinding","bounding"],["bouinds","bounds"],["boun","bound"],["bounaaries","boundaries"],["bounaary","boundary"],["bounad","bound"],["bounadaries","boundaries"],["bounadary","boundary"],["bounaded","bounded"],["bounading","bounding"],["bounadries","boundaries"],["bounadry","boundary"],["bounads","bounds"],["bounardies","boundaries"],["bounardy","boundary"],["bounaries","boundaries"],["bounary","boundary"],["bounbdaries","boundaries"],["bounbdary","boundary"],["boundares","boundaries"],["boundaryi","boundary"],["boundarys","boundaries"],["bounday","boundary"],["boundays","boundaries"],["bounderies","boundaries"],["boundery","boundary"],["boundig","bounding"],["boundimg","bounding"],["boundin","bounding"],["boundrary","boundary"],["boundries","boundaries"],["boundry","boundary"],["bounduaries","boundaries"],["bouned","bounded"],["boungaries","boundaries"],["boungary","boundary"],["boungin","bounding"],["boungind","bounding"],["bounhdaries","boundaries"],["bounhdary","boundary"],["bounidng","bounding"],["bouning","bounding"],["bounnd","bound"],["bounndaries","boundaries"],["bounndary","boundary"],["bounnded","bounded"],["bounnding","bounding"],["bounnds","bounds"],["bounradies","boundaries"],["bounrady","boundary"],["bounraies","boundaries"],["bounraries","boundaries"],["bounrary","boundary"],["bounray","boundary"],["bouns","bounds"],["bounsaries","boundaries"],["bounsary","boundary"],["bounsd","bounds"],["bount","bound"],["bountries","boundaries"],["bountry","boundary"],["bounudaries","boundaries"],["bounudary","boundary"],["bounus","bonus"],["bouqet","bouquet"],["bouund","bound"],["bouunded","bounded"],["bouunding","bounding"],["bouunds","bounds"],["bouy","buoy"],["bouyancy","buoyancy"],["bouyant","buoyant"],["boyant","buoyant"],["boycot","boycott"],["bracese","braces"],["brach","branch"],["brackeds","brackets"],["bracketwith","bracket with"],["brackground","background"],["bradcast","broadcast"],["brakpoint","breakpoint"],["brakpoints","breakpoints"],["branchces","branches"],["brancheswith","branches with"],["branchs","branches"],["branchsi","branches"],["branck","branch"],["branckes","branches"],["brancket","bracket"],["branckets","brackets"],["brane","brain"],["braodcast","broadcast"],["braodcasted","broadcasted"],["braodcasts","broadcasts"],["Brasillian","Brazilian"],["brazeer","brassiere"],["brazillian","Brazilian"],["breakes","breaks"],["breakthough","breakthrough"],["breakthroughts","breakthroughs"],["breakthruogh","breakthrough"],["breakthruoghs","breakthroughs"],["breal","break"],["breefly","briefly"],["brefore","before"],["breif","brief"],["breifly","briefly"],["brekpoint","breakpoint"],["brekpoints","breakpoints"],["breshed","brushed"],["breshes","brushes"],["breshing","brushing"],["brethen","brethren"],["bretheren","brethren"],["brfore","before"],["bridg","bridge"],["brievely","briefly"],["brievety","brevity"],["brigde","bridge"],["brige","bridge"],["briges","bridges"],["brighness","brightness"],["brightnesss","brightness"],["brigth","bright"],["brigthnes","brightness"],["brigthness","brightness"],["briliant","brilliant"],["brilinear","bilinear"],["brillant","brilliant"],["brimestone","brimstone"],["bringin","bringing"],["bringtofont","bringtofront"],["brite","bright"],["briten","brighten"],["britened","brightened"],["britener","brightener"],["briteners","brighteners"],["britenes","brightenes"],["britening","brightening"],["briter","brighter"],["Britian","Britain"],["Brittish","British"],["brnach","branch"],["brnaches","branches"],["broacast","broadcast"],["broacasted","broadcast"],["broacasting","broadcasting"],["broacasts","broadcasts"],["broadacasting","broadcasting"],["broadcas","broadcast"],["broadcase","broadcast"],["broadcasti","broadcast"],["broadcat","broadcast"],["broady","broadly"],["broardcast","broadcast"],["broblematic","problematic"],["brocher","brochure"],["brocken","broken"],["brockend","broken"],["brockened","broken"],["brocolee","broccoli"],["brodcast","broadcast"],["broked","broken"],["brokem","broken"],["brokend","broken"],["brokened","broken"],["brokeness","brokenness"],["bronken","broken"],["brosable","browsable"],["broser","browser"],["brosers","browsers"],["brosing","browsing"],["broswable","browsable"],["broswe","browse"],["broswed","browsed"],["broswer","browser"],["broswers","browsers"],["broswing","browsing"],["brower","browser"],["browers","browsers"],["browing","browsing"],["browseable","browsable"],["browswable","browsable"],["browswe","browse"],["browswed","browsed"],["browswer","browser"],["browswers","browsers"],["browswing","browsing"],["brutaly","brutally"],["brwosable","browsable"],["brwose","browse"],["brwosed","browsed"],["brwoser","browser"],["brwosers","browsers"],["brwosing","browsing"],["btye","byte"],["btyes","bytes"],["buad","baud"],["bubbless","bubbles"],["Buddah","Buddha"],["Buddist","Buddhist"],["bufefr","buffer"],["bufer","buffer"],["bufers","buffers"],["buffereed","buffered"],["bufferent","buffered"],["bufferes","buffers"],["bufferred","buffered"],["buffeur","buffer"],["bufffer","buffer"],["bufffers","buffers"],["buffor","buffer"],["buffors","buffers"],["buffr","buffer"],["buffred","buffered"],["buffring","buffering"],["bufufer","buffer"],["buggest","biggest"],["bugous","bogus"],["buguous","bogus"],["bugus","bogus"],["buid","build"],["buider","builder"],["buiders","builders"],["buiding","building"],["buidl","build"],["buidling","building"],["buidlings","buildings"],["buidls","builds"],["buiild","build"],["buik","bulk"],["build-dependancies","build-dependencies"],["build-dependancy","build-dependency"],["build-in","built-in"],["builded","built"],["buildpackge","buildpackage"],["buildpackges","buildpackages"],["builing","building"],["builings","buildings"],["buillt","built"],["built-time","build-time"],["builter","builder"],["builters","builders"],["buinseses","businesses"],["buinsess","business"],["buinsesses","businesses"],["buipd","build"],["buisness","business"],["buisnessman","businessman"],["buissiness","business"],["buissinesses","businesses"],["buit","built"],["buitin","builtin"],["buitins","builtins"],["buitlin","builtin"],["buitlins","builtins"],["buitton","button"],["buittons","buttons"],["buld","build"],["bulding","building"],["bulds","builds"],["bulid","build"],["buliding","building"],["bulids","builds"],["bulit","built"],["bulitin","built-in"],["bulle","bullet"],["bulletted","bulleted"],["bulnerabilities","vulnerabilities"],["bulnerability","vulnerability"],["bulnerable","vulnerable"],["bult","built"],["bult-in","built-in"],["bultin","builtin"],["bumby","bumpy"],["bumpded","bumped"],["bumpt","bump"],["bumpted","bumped"],["bumpter","bumper"],["bumpting","bumping"],["bundel","bundle"],["bundeled","bundled"],["bundels","bundles"],["buoancy","buoyancy"],["bureauracy","bureaucracy"],["burocratic","bureaucratic"],["burried","buried"],["burtst","burst"],["busines","business"],["busness","business"],["bussiness","business"],["bussy","busy"],["buton","button"],["butons","buttons"],["butterly","butterfly"],["buttong","button"],["buttonn","button"],["buttonns","buttons"],["buttosn","buttons"],["buttton","button"],["butttons","buttons"],["buufers","buffers"],["buuild","build"],["buuilds","builds"],["bve","be"],["bwtween","between"],["bypas","bypass"],["bypased","bypassed"],["bypasing","bypassing"],["bytetream","bytestream"],["bytetreams","bytestreams"],["cabint","cabinet"],["cabints","cabinets"],["cacahe","cache"],["cacahes","caches"],["cace","cache"],["cachable","cacheable"],["cacheed","cached"],["cacheing","caching"],["cachline","cacheline"],["cacl","calc"],["caclate","calculate"],["cacluate","calculate"],["cacluated","calculated"],["cacluater","calculator"],["cacluates","calculates"],["cacluating","calculating"],["cacluation","calculation"],["cacluations","calculations"],["cacluator","calculator"],["caclucate","calculate"],["caclucation","calculation"],["caclucations","calculations"],["caclucator","calculator"],["caclulate","calculate"],["caclulated","calculated"],["caclulates","calculates"],["caclulating","calculating"],["caclulation","calculation"],["caclulations","calculations"],["caculate","calculate"],["caculated","calculated"],["caculater","calculator"],["caculates","calculates"],["caculating","calculating"],["caculation","calculation"],["caculations","calculations"],["caculator","calculator"],["cacuses","caucuses"],["cadidate","candidate"],["caefully","carefully"],["Caesarian","Caesarean"],["cahacter","character"],["cahacters","characters"],["cahange","change"],["cahanged","changed"],["cahanges","changes"],["cahanging","changing"],["cahannel","channel"],["caharacter","character"],["caharacters","characters"],["caharcter","character"],["caharcters","characters"],["cahc","cache"],["cahce","cache"],["cahced","cached"],["cahces","caches"],["cahche","cache"],["cahchedb","cachedb"],["cahches","caches"],["cahcing","caching"],["cahcs","caches"],["cahdidate","candidate"],["cahdidates","candidates"],["cahe","cache"],["cahes","caches"],["cahgne","change"],["cahgned","changed"],["cahgner","changer"],["cahgners","changers"],["cahgnes","changes"],["cahgning","changing"],["cahhel","channel"],["cahhels","channels"],["cahined","chained"],["cahing","caching"],["cahining","chaining"],["cahnge","change"],["cahnged","changed"],["cahnges","changes"],["cahnging","changing"],["cahnnel","channel"],["cahnnels","channels"],["cahr","char"],["cahracter","character"],["cahracters","characters"],["cahrging","charging"],["cahrs","chars"],["calaber","caliber"],["calalog","catalog"],["calback","callback"],["calbirate","calibrate"],["calbirated","calibrated"],["calbirates","calibrates"],["calbirating","calibrating"],["calbiration","calibration"],["calbirations","calibrations"],["calbirator","calibrator"],["calbirators","calibrators"],["calcable","calculable"],["calcalate","calculate"],["calciulate","calculate"],["calciulating","calculating"],["calclation","calculation"],["calcluate","calculate"],["calcluated","calculated"],["calcluates","calculates"],["calclulate","calculate"],["calclulated","calculated"],["calclulates","calculates"],["calclulating","calculating"],["calclulation","calculation"],["calclulations","calculations"],["calcualate","calculate"],["calcualated","calculated"],["calcualates","calculates"],["calcualating","calculating"],["calcualation","calculation"],["calcualations","calculations"],["calcualte","calculate"],["calcualted","calculated"],["calcualter","calculator"],["calcualtes","calculates"],["calcualting","calculating"],["calcualtion","calculation"],["calcualtions","calculations"],["calcualtor","calculator"],["calcuate","calculate"],["calcuated","calculated"],["calcuates","calculates"],["calcuation","calculation"],["calcuations","calculations"],["calculaion","calculation"],["calculataed","calculated"],["calculater","calculator"],["calculatted","calculated"],["calculatter","calculator"],["calculattion","calculation"],["calculattions","calculations"],["calculaution","calculation"],["calculautions","calculations"],["calculcate","calculate"],["calculcation","calculation"],["calculed","calculated"],["calculs","calculus"],["calcultate","calculate"],["calcultated","calculated"],["calcultater","calculator"],["calcultating","calculating"],["calcultator","calculator"],["calculting","calculating"],["calculuations","calculations"],["calcurate","calculate"],["calcurated","calculated"],["calcurates","calculates"],["calcurating","calculating"],["calcutate","calculate"],["calcutated","calculated"],["calcutates","calculates"],["calcutating","calculating"],["caleed","called"],["caleee","callee"],["calees","callees"],["caler","caller"],["calescing","coalescing"],["caliased","aliased"],["calibraiton","calibration"],["calibraitons","calibrations"],["calibrte","calibrate"],["calibrtion","calibration"],["caligraphy","calligraphy"],["calilng","calling"],["caliming","claiming"],["callabck","callback"],["callabcks","callbacks"],["callack","callback"],["callbacl","callback"],["callbacsk","callback"],["callbak","callback"],["callbakc","callback"],["callbakcs","callbacks"],["callbck","callback"],["callcack","callback"],["callcain","callchain"],["calld","called"],["calle","called"],["callef","called"],["callibrate","calibrate"],["callibrated","calibrated"],["callibrates","calibrates"],["callibrating","calibrating"],["callibration","calibration"],["callibrations","calibrations"],["callibri","calibri"],["callig","calling"],["callint","calling"],["callled","called"],["calllee","callee"],["calloed","called"],["callsr","calls"],["calsses","classes"],["calucalte","calculate"],["calucalted","calculated"],["calucaltes","calculates"],["calucalting","calculating"],["calucaltion","calculation"],["calucaltions","calculations"],["calucate","calculate"],["caluclate","calculate"],["caluclated","calculated"],["caluclater","calculator"],["caluclates","calculates"],["caluclating","calculating"],["caluclation","calculation"],["caluclations","calculations"],["caluclator","calculator"],["caluculate","calculate"],["caluculated","calculated"],["caluculates","calculates"],["caluculating","calculating"],["caluculation","calculation"],["caluculations","calculations"],["calue","value"],["calulate","calculate"],["calulated","calculated"],["calulater","calculator"],["calulates","calculates"],["calulating","calculating"],["calulation","calculation"],["calulations","calculations"],["Cambrige","Cambridge"],["camoflage","camouflage"],["camoflague","camouflage"],["campagin","campaign"],["campain","campaign"],["campaing","campaign"],["campains","campaigns"],["camparing","comparing"],["can;t","can't"],["canadan","canadian"],["canbe","can be"],["cancelaltion","cancellation"],["cancelation","cancellation"],["cancelations","cancellations"],["canceles","cancels"],["cancell","cancel"],["cancelles","cancels"],["cances","cancel"],["cancl","cancel"],["cancle","cancel"],["cancled","canceled"],["candadate","candidate"],["candadates","candidates"],["candiate","candidate"],["candiates","candidates"],["candidat","candidate"],["candidats","candidates"],["candidiate","candidate"],["candidiates","candidates"],["candinate","candidate"],["candinates","candidates"],["canditate","candidate"],["canditates","candidates"],["cange","change"],["canged","changed"],["canges","changes"],["canging","changing"],["canidate","candidate"],["canidates","candidates"],["cann't","can't"],["cann","can"],["cannister","canister"],["cannisters","canisters"],["cannnot","cannot"],["cannobt","cannot"],["cannonical","canonical"],["cannonicalize","canonicalize"],["cannont","cannot"],["cannotation","connotation"],["cannotations","connotations"],["cannott","cannot"],["canonalize","canonicalize"],["canonalized","canonicalized"],["canonalizes","canonicalizes"],["canonalizing","canonicalizing"],["canoncial","canonical"],["canonicalizations","canonicalization"],["canonival","canonical"],["canot","cannot"],["cant'","can't"],["cant't","can't"],["cant;","can't"],["cantact","contact"],["cantacted","contacted"],["cantacting","contacting"],["cantacts","contacts"],["canvase","canvas"],["caost","coast"],["capabable","capable"],["capabicity","capability"],["capabiities","capabilities"],["capabiity","capability"],["capabilies","capabilities"],["capabiliites","capabilities"],["capabilites","capabilities"],["capabilitieis","capabilities"],["capabilitiies","capabilities"],["capabilitires","capabilities"],["capabilitiy","capability"],["capabillity","capability"],["capabilties","capabilities"],["capabiltity","capability"],["capabilty","capability"],["capabitilies","capabilities"],["capablilities","capabilities"],["capablities","capabilities"],["capablity","capability"],["capaciy","capacity"],["capalize","capitalize"],["capalized","capitalized"],["capapbilities","capabilities"],["capatibilities","capabilities"],["capbability","capability"],["capbale","capable"],["capela","capella"],["caperbility","capability"],["Capetown","Cape Town"],["capibilities","capabilities"],["capible","capable"],["capitolize","capitalize"],["cappable","capable"],["captable","capable"],["captial","capital"],["captrure","capture"],["captued","captured"],["capturd","captured"],["caputre","capture"],["caputred","captured"],["caputres","captures"],["caputure","capture"],["carachter","character"],["caracter","character"],["caractere","character"],["caracteristic","characteristic"],["caracterized","characterized"],["caracters","characters"],["carbus","cardbus"],["carefuly","carefully"],["careing","caring"],["carfull","careful"],["cariage","carriage"],["caridge","carriage"],["cariier","carrier"],["carismatic","charismatic"],["Carmalite","Carmelite"],["Carnagie","Carnegie"],["Carnagie-Mellon","Carnegie-Mellon"],["Carnigie","Carnegie"],["Carnigie-Mellon","Carnegie-Mellon"],["carniverous","carnivorous"],["caronavirus","coronavirus"],["caronaviruses","coronaviruses"],["carreer","career"],["carreid","carried"],["carrers","careers"],["carret","caret"],["carriadge","carriage"],["Carribbean","Caribbean"],["Carribean","Caribbean"],["carrien","carrier"],["carrige","carriage"],["carrrier","carrier"],["carryintg","carrying"],["carryng","carrying"],["cartain","certain"],["cartdridge","cartridge"],["cartensian","Cartesian"],["Carthagian","Carthaginian"],["carthesian","cartesian"],["carthographer","cartographer"],["cartiesian","cartesian"],["cartilege","cartilage"],["cartilidge","cartilage"],["cartrige","cartridge"],["caryy","carry"],["cascace","cascade"],["case-insensative","case-insensitive"],["case-insensetive","case-insensitive"],["case-insensistive","case-insensitive"],["case-insensitiv","case-insensitive"],["case-insensitivy","case-insensitivity"],["case-insensitve","case-insensitive"],["case-insenstive","case-insensitive"],["case-insentive","case-insensitive"],["case-insentivite","case-insensitive"],["case-insesitive","case-insensitive"],["case-intensitive","case-insensitive"],["case-sensative","case-sensitive"],["case-sensetive","case-sensitive"],["case-sensistive","case-sensitive"],["case-sensitiv","case-sensitive"],["case-sensitve","case-sensitive"],["case-senstive","case-sensitive"],["case-sentive","case-sensitive"],["case-sentivite","case-sensitive"],["case-sesitive","case-sensitive"],["case-unsensitive","case-insensitive"],["caseinsensative","case-insensitive"],["caseinsensetive","case-insensitive"],["caseinsensistive","case-insensitive"],["caseinsensitiv","case-insensitive"],["caseinsensitve","case-insensitive"],["caseinsenstive","case-insensitive"],["caseinsentive","case-insensitive"],["caseinsentivite","case-insensitive"],["caseinsesitive","case-insensitive"],["caseintensitive","case-insensitive"],["caselessely","caselessly"],["casesensative","case-sensitive"],["casesensetive","casesensitive"],["casesensistive","case-sensitive"],["casesensitiv","case-sensitive"],["casesensitve","case-sensitive"],["casesenstive","case-sensitive"],["casesentive","case-sensitive"],["casesentivite","case-sensitive"],["casesesitive","case-sensitive"],["casette","cassette"],["cashe","cache"],["casion","caisson"],["caspule","capsule"],["caspules","capsules"],["cassawory","cassowary"],["cassowarry","cassowary"],["casue","cause"],["casued","caused"],["casues","causes"],["casuing","causing"],["casulaties","casualties"],["casulaty","casualty"],["cataalogue","catalogue"],["catagori","category"],["catagories","categories"],["catagorization","categorization"],["catagorizations","categorizations"],["catagorized","categorized"],["catagory","category"],["catapillar","caterpillar"],["catapillars","caterpillars"],["catapiller","caterpillar"],["catapillers","caterpillars"],["catastronphic","catastrophic"],["catastropic","catastrophic"],["catastropically","catastrophically"],["catastrphic","catastrophic"],["catche","catch"],["catched","caught"],["catchi","catch"],["catchs","catches"],["categogical","categorical"],["categogically","categorically"],["categogies","categories"],["categogy","category"],["cateogrical","categorical"],["cateogrically","categorically"],["cateogries","categories"],["cateogry","category"],["catepillar","caterpillar"],["catepillars","caterpillars"],["catergorize","categorize"],["catergorized","categorized"],["caterpilar","caterpillar"],["caterpilars","caterpillars"],["caterpiller","caterpillar"],["caterpillers","caterpillars"],["catgorical","categorical"],["catgorically","categorically"],["catgories","categories"],["catgory","category"],["cathlic","catholic"],["catholocism","catholicism"],["catloag","catalog"],["catloaged","cataloged"],["catloags","catalogs"],["catory","factory"],["catpture","capture"],["catpure","capture"],["catpured","captured"],["catpures","captures"],["catterpilar","caterpillar"],["catterpilars","caterpillars"],["catterpillar","caterpillar"],["catterpillars","caterpillars"],["cattleship","battleship"],["caucasion","caucasian"],["cauched","caught"],["caugt","caught"],["cauhgt","caught"],["cauing","causing"],["causees","causes"],["causion","caution"],["causioned","cautioned"],["causions","cautions"],["causious","cautious"],["cavaet","caveat"],["cavaets","caveats"],["ccahe","cache"],["ccale","scale"],["ccertificate","certificate"],["ccertificated","certificated"],["ccertificates","certificates"],["ccertification","certification"],["ccessible","accessible"],["cche","cache"],["cconfiguration","configuration"],["ccordinate","coordinate"],["ccordinates","coordinates"],["ccordinats","coordinates"],["ccoutant","accountant"],["ccpcheck","cppcheck"],["ccurred","occurred"],["ccustom","custom"],["ccustoms","customs"],["cdecompress","decompress"],["ceartype","cleartype"],["Ceasar","Caesar"],["ceate","create"],["ceated","created"],["ceates","creates"],["ceating","creating"],["ceation","creation"],["ceck","check"],["cecked","checked"],["cecker","checker"],["cecking","checking"],["cecks","checks"],["cedential","credential"],["cedentials","credentials"],["cehck","check"],["cehcked","checked"],["cehcker","checker"],["cehcking","checking"],["cehcks","checks"],["Celcius","Celsius"],["celles","cells"],["cellpading","cellpadding"],["cellst","cells"],["cellxs","cells"],["celsuis","celsius"],["cementary","cemetery"],["cemetarey","cemetery"],["cemetaries","cemeteries"],["cemetary","cemetery"],["cenario","scenario"],["cenarios","scenarios"],["cencter","center"],["cencus","census"],["cengter","center"],["censequence","consequence"],["centain","certain"],["cententenial","centennial"],["centerd","centered"],["centisencond","centisecond"],["centisenconds","centiseconds"],["centrifugeable","centrifugable"],["centrigrade","centigrade"],["centriod","centroid"],["centriods","centroids"],["centruies","centuries"],["centruy","century"],["centuties","centuries"],["centuty","century"],["cerain","certain"],["cerainly","certainly"],["cerainty","certainty"],["cerate","create"],["cereates","creates"],["cerimonial","ceremonial"],["cerimonies","ceremonies"],["cerimonious","ceremonious"],["cerimony","ceremony"],["ceromony","ceremony"],["certaily","certainly"],["certaincy","certainty"],["certainity","certainty"],["certaint","certain"],["certaion","certain"],["certan","certain"],["certficate","certificate"],["certficated","certificated"],["certficates","certificates"],["certfication","certification"],["certfications","certifications"],["certficiate","certificate"],["certficiated","certificated"],["certficiates","certificates"],["certficiation","certification"],["certficiations","certifications"],["certfied","certified"],["certfy","certify"],["certian","certain"],["certianly","certainly"],["certicate","certificate"],["certicated","certificated"],["certicates","certificates"],["certication","certification"],["certicicate","certificate"],["certifacte","certificate"],["certifacted","certificated"],["certifactes","certificates"],["certifaction","certification"],["certifcate","certificate"],["certifcated","certificated"],["certifcates","certificates"],["certifcation","certification"],["certifciate","certificate"],["certifciated","certificated"],["certifciates","certificates"],["certifciation","certification"],["certifiate","certificate"],["certifiated","certificated"],["certifiates","certificates"],["certifiating","certificating"],["certifiation","certification"],["certifiations","certifications"],["certificat","certificate"],["certificatd","certificated"],["certificaton","certification"],["certificats","certificates"],["certifice","certificate"],["certificed","certificated"],["certifices","certificates"],["certificion","certification"],["certificste","certificate"],["certificsted","certificated"],["certificstes","certificates"],["certificsting","certificating"],["certificstion","certification"],["certifificate","certificate"],["certifificated","certificated"],["certifificates","certificates"],["certifification","certification"],["certiticate","certificate"],["certiticated","certificated"],["certiticates","certificates"],["certitication","certification"],["cetain","certain"],["cetainly","certainly"],["cetainty","certainty"],["cetrainly","certainly"],["cetting","setting"],["Cgywin","Cygwin"],["chaarges","charges"],["chacacter","character"],["chacacters","characters"],["chache","cache"],["chached","cached"],["chacheline","cacheline"],["chaeck","check"],["chaecked","checked"],["chaecker","checker"],["chaecking","checking"],["chaecks","checks"],["chagne","change"],["chagned","changed"],["chagnes","changes"],["chahged","changed"],["chahging","changing"],["chaied","chained"],["chaing","chain"],["chalenging","challenging"],["challanage","challenge"],["challange","challenge"],["challanged","challenged"],["challanges","challenges"],["challege","challenge"],["chambre","chamber"],["chambres","chambers"],["Champange","Champagne"],["chanage","change"],["chanaged","changed"],["chanager","changer"],["chanages","changes"],["chanaging","changing"],["chanceled","canceled"],["chanceling","canceling"],["chanched","changed"],["chaneged","changed"],["chaneging","changing"],["chanel","channel"],["chanell","channel"],["chanels","channels"],["changable","changeable"],["changeble","changeable"],["changeing","changing"],["changge","change"],["changged","changed"],["changgeling","changeling"],["changges","changes"],["changlog","changelog"],["changuing","changing"],["chanined","chained"],["chaninging","changing"],["chanllenge","challenge"],["chanllenging","challenging"],["channael","channel"],["channe","channel"],["channeles","channels"],["channl","channel"],["channle","channel"],["channles","channels"],["channnel","channel"],["channnels","channels"],["chanses","chances"],["chaper","chapter"],["characaters","characters"],["characer","character"],["characers","characters"],["characeter","character"],["characeters","characters"],["characetrs","characters"],["characher","character"],["charachers","characters"],["charachter","character"],["charachters","characters"],["characstyle","charstyle"],["charactar","character"],["charactaristic","characteristic"],["charactaristics","characteristics"],["charactars","characters"],["characte","character"],["charactear","character"],["charactears","characters"],["characted","character"],["characteds","characters"],["characteer","character"],["characteers","characters"],["characteisation","characterisation"],["characteization","characterization"],["characteor","character"],["characteors","characters"],["characterclasses","character classes"],["characteres","characters"],["characterisic","characteristic"],["characterisically","characteristically"],["characterisicly","characteristically"],["characterisics","characteristics"],["characterisitic","characteristic"],["characterisitics","characteristics"],["characteristicly","characteristically"],["characteritic","characteristic"],["characteritics","characteristics"],["characteritisc","characteristic"],["characteritiscs","characteristics"],["charactersistic","characteristic"],["charactersistically","characteristically"],["charactersistics","characteristics"],["charactersitic","characteristic"],["charactersm","characters"],["characterss","characters"],["characterstic","characteristic"],["characterstically","characteristically"],["characterstics","characteristics"],["charactertistic","characteristic"],["charactertistically","characteristically"],["charactertistics","characteristics"],["charactes","characters"],["charactet","character"],["characteter","character"],["characteteristic","characteristic"],["characteteristics","characteristics"],["characteters","characters"],["charactetistic","characteristic"],["charactetistics","characteristics"],["charactetr","character"],["charactetrs","characters"],["charactets","characters"],["characther","character"],["charactiristic","characteristic"],["charactiristically","characteristically"],["charactiristics","characteristics"],["charactor","character"],["charactors","characters"],["charactristic","characteristic"],["charactristically","characteristically"],["charactristics","characteristics"],["charactrs","characters"],["characts","characters"],["characture","character"],["charakter","character"],["charakters","characters"],["chararacter","character"],["chararacters","characters"],["chararcter","character"],["chararcters","characters"],["charas","chars"],["charascter","character"],["charascters","characters"],["charasmatic","charismatic"],["charater","character"],["charaterize","characterize"],["charaterized","characterized"],["charaters","characters"],["charator","character"],["charators","characters"],["charcater","character"],["charcter","character"],["charcteristic","characteristic"],["charcteristics","characteristics"],["charcters","characters"],["charctor","character"],["charctors","characters"],["charecter","character"],["charecters","characters"],["charector","character"],["chargind","charging"],["charicter","character"],["charicters","characters"],["charictor","character"],["charictors","characters"],["chariman","chairman"],["charistics","characteristics"],["charizma","charisma"],["chartroose","chartreuse"],["chassy","chassis"],["chatacter","character"],["chatacters","characters"],["chatch","catch"],["chater","chapter"],["chawk","chalk"],["chcek","check"],["chceked","checked"],["chceking","checking"],["chceks","checks"],["chck","check"],["chckbox","checkbox"],["cheapeast","cheapest"],["cheatta","cheetah"],["chec","check"],["checbox","checkbox"],["checboxes","checkboxes"],["checg","check"],["checged","checked"],["checheckpoit","checkpoint"],["checheckpoits","checkpoints"],["cheched","checked"],["cheching","checking"],["chechk","check"],["chechs","checks"],["checkalaises","checkaliases"],["checkcsum","checksum"],["checkd","checked"],["checkes","checks"],["checket","checked"],["checkk","check"],["checkng","checking"],["checkoslovakia","czechoslovakia"],["checkox","checkbox"],["checkpoing","checkpoint"],["checkstum","checksum"],["checkstuming","checksumming"],["checkstumming","checksumming"],["checkstums","checksums"],["checksume","checksum"],["checksumed","checksummed"],["checksuming","checksumming"],["checkt","checked"],["checkum","checksum"],["checkums","checksums"],["checkuot","checkout"],["checl","check"],["checled","checked"],["checling","checking"],["checls","checks"],["cheduling","scheduling"],["cheeper","cheaper"],["cheeta","cheetah"],["cheif","chief"],["cheifs","chiefs"],["chek","check"],["chekc","check"],["chekcing","checking"],["chekd","checked"],["cheked","checked"],["chekers","checkers"],["cheking","checking"],["cheks","checks"],["cheksum","checksum"],["cheksums","checksums"],["chello","cello"],["chemcial","chemical"],["chemcially","chemically"],["chemestry","chemistry"],["chemicaly","chemically"],["chenged","changed"],["chennel","channel"],["cherch","church"],["cherchs","churches"],["cherck","check"],["chercking","checking"],["chercks","checks"],["chescksums","checksums"],["chgange","change"],["chganged","changed"],["chganges","changes"],["chganging","changing"],["chidren","children"],["childbird","childbirth"],["childen","children"],["childeren","children"],["childern","children"],["childlren","children"],["chiledren","children"],["chilren","children"],["chineese","Chinese"],["chinense","Chinese"],["chinesse","Chinese"],["chipersuite","ciphersuite"],["chipersuites","ciphersuites"],["chipertext","ciphertext"],["chipertexts","ciphertexts"],["chipet","chipset"],["chipslect","chipselect"],["chipstes","chipsets"],["chiuldren","children"],["chked","checked"],["chnage","change"],["chnaged","changed"],["chnages","changes"],["chnaging","changing"],["chnge","change"],["chnged","changed"],["chnges","changes"],["chnging","changing"],["chnnel","channel"],["choclate","chocolate"],["choicing","choosing"],["choise","choice"],["choises","choices"],["choising","choosing"],["chooose","choose"],["choos","choose"],["choosen","chosen"],["chopipng","chopping"],["choronological","chronological"],["chosed","chose"],["choseen","chosen"],["choser","chooser"],["chosing","choosing"],["chossen","chosen"],["chowsing","choosing"],["chracter","character"],["chracters","characters"],["chractor","character"],["chractors","characters"],["chrminance","chrominance"],["chromum","chromium"],["chuch","church"],["chuks","chunks"],["chunaks","chunks"],["chunc","chunk"],["chunck","chunk"],["chuncked","chunked"],["chuncking","chunking"],["chuncks","chunks"],["chuncksize","chunksize"],["chuncs","chunks"],["chuned","chunked"],["churchs","churches"],["cick","click"],["cicrle","circle"],["cicruit","circuit"],["cicruits","circuits"],["cicular","circular"],["ciculars","circulars"],["cihpher","cipher"],["cihphers","ciphers"],["cilinder","cylinder"],["cilinders","cylinders"],["cilindrical","cylindrical"],["cilyndre","cylinder"],["cilyndres","cylinders"],["cilyndrs","cylinders"],["Cincinatti","Cincinnati"],["Cincinnatti","Cincinnati"],["cinfiguration","configuration"],["cinfigurations","configurations"],["cintaner","container"],["ciontrol","control"],["ciper","cipher"],["cipers","ciphers"],["cipersuite","ciphersuite"],["cipersuites","ciphersuites"],["cipertext","ciphertext"],["cipertexts","ciphertexts"],["ciphe","cipher"],["cipherntext","ciphertext"],["ciphersuit","ciphersuite"],["ciphersuits","ciphersuites"],["ciphersute","ciphersuite"],["ciphersutes","ciphersuites"],["cipheruite","ciphersuite"],["cipheruites","ciphersuites"],["ciphes","ciphers"],["ciphr","cipher"],["ciphrs","ciphers"],["cips","chips"],["circluar","circular"],["circluarly","circularly"],["circluars","circulars"],["circomvent","circumvent"],["circomvented","circumvented"],["circomvents","circumvents"],["circual","circular"],["circuitery","circuitry"],["circulaton","circulation"],["circumferance","circumference"],["circumferencial","circumferential"],["circumsicion","circumcision"],["circumstancial","circumstantial"],["circumstansial","circumstantial"],["circumstnce","circumstance"],["circumstnces","circumstances"],["circumstncial","circumstantial"],["circumstntial","circumstantial"],["circumvernt","circumvent"],["circunference","circumference"],["circunferences","circumferences"],["circunstance","circumstance"],["circunstances","circumstances"],["circunstantial","circumstantial"],["circustances","circumstances"],["circut","circuit"],["circuts","circuits"],["ciricle","circle"],["ciricles","circles"],["ciricuit","circuit"],["ciricuits","circuits"],["ciricular","circular"],["ciricularise","circularise"],["ciricularize","circularize"],["ciriculum","curriculum"],["cirilic","Cyrillic"],["cirillic","Cyrillic"],["ciritc","critic"],["ciritcal","critical"],["ciritcality","criticality"],["ciritcals","criticals"],["ciritcs","critics"],["ciriteria","criteria"],["ciritic","critic"],["ciritical","critical"],["ciriticality","criticality"],["ciriticals","criticals"],["ciritics","critics"],["cirlce","circle"],["cirle","circle"],["cirles","circles"],["cirsumstances","circumstances"],["cirtcuit","circuit"],["cirucal","circular"],["cirucit","circuit"],["cirucits","circuits"],["ciruclar","circular"],["ciruclation","circulation"],["ciruclator","circulator"],["cirucmflex","circumflex"],["cirucular","circular"],["cirucumstance","circumstance"],["cirucumstances","circumstances"],["ciruit","circuit"],["ciruits","circuits"],["cirumflex","circumflex"],["cirumstance","circumstance"],["cirumstances","circumstances"],["civillian","civilian"],["civillians","civilians"],["cjange","change"],["cjanged","changed"],["cjanges","changes"],["cjoice","choice"],["cjoices","choices"],["ckecksum","checksum"],["claaes","classes"],["claculate","calculate"],["claculation","calculation"],["claer","clear"],["claerer","clearer"],["claerly","clearly"],["claibscale","calibscale"],["claime","claim"],["claimes","claims"],["clame","claim"],["claread","cleared"],["clared","cleared"],["clarety","clarity"],["claring","clearing"],["clasic","classic"],["clasical","classical"],["clasically","classically"],["clasification","classification"],["clasified","classified"],["clasifies","classifies"],["clasify","classify"],["clasifying","classifying"],["clasroom","classroom"],["clasrooms","classrooms"],["classess","classes"],["classesss","classes"],["classifcation","classification"],["classifed","classified"],["classifer","classifier"],["classifers","classifiers"],["classificaion","classification"],["classrom","classroom"],["classroms","classrooms"],["classs","class"],["classses","classes"],["clatified","clarified"],["claus","clause"],["clcoksource","clocksource"],["clcosed","closed"],["clea","clean"],["cleaered","cleared"],["cleaing","cleaning"],["cleancacne","cleancache"],["cleaness","cleanness"],["cleanning","cleaning"],["cleannup","cleanup"],["cleanpu","cleanup"],["cleanpus","cleanups"],["cleantup","cleanup"],["cleareance","clearance"],["cleares","clears"],["clearified","clarified"],["clearifies","clarifies"],["clearify","clarify"],["clearifying","clarifying"],["clearling","clearing"],["clearnance","clearance"],["clearnances","clearances"],["clearouput","clearoutput"],["clearted","cleared"],["cleary","clearly"],["cleaup","cleanup"],["cleaups","cleanups"],["cleck","check"],["cleean","clean"],["cleen","clean"],["cleened","cleaned"],["cleens","cleans"],["cleff","clef"],["cleint's","client's"],["cleint","client"],["cleints","clients"],["clened","cleaned"],["clener","cleaner"],["clening","cleaning"],["cler","clear"],["clese","close"],["cleses","closes"],["clevely","cleverly"],["cliboard","clipboard"],["cliboards","clipboards"],["clibpoard","clipboard"],["clibpoards","clipboards"],["cliens","clients"],["cliensite","client-side"],["clienta","client"],["clientelle","clientele"],["clik","click"],["cliks","clicks"],["climer","climber"],["climers","climbers"],["climing","climbing"],["clincial","clinical"],["clinets","clients"],["clinicaly","clinically"],["clipboad","clipboard"],["clipboads","clipboards"],["clipoard","clipboard"],["clipoards","clipboards"],["clipoing","clipping"],["cliuent","client"],["cliuents","clients"],["clloud","cloud"],["cllouded","clouded"],["clloudes","clouds"],["cllouding","clouding"],["cllouds","clouds"],["cloack","cloak"],["cloacks","cloaks"],["cloberring","clobbering"],["clocksourc","clocksource"],["clockw\xEDse","clockwise"],["clock_getttime","clock_gettime"],["cloding","closing"],["cloes","close"],["cloesd","closed"],["cloesed","closed"],["cloesing","closing"],["clonning","cloning"],["clory","glory"],["clos","close"],["closeing","closing"],["closesly","closely"],["closig","closing"],["clossed","closed"],["clossing","closing"],["clossion","collision"],["clossions","collisions"],["cloude","cloud"],["cloudes","clouds"],["cloumn","column"],["cloumns","columns"],["clousre","closure"],["clsoe","close"],["clssroom","classroom"],["clssrooms","classrooms"],["cluase","clause"],["clumn","column"],["clumsly","clumsily"],["cluser","cluster"],["clusetr","cluster"],["clustred","clustered"],["cmak","cmake"],["cmmand","command"],["cmmanded","commanded"],["cmmanding","commanding"],["cmmands","commands"],["cmobination","combination"],["cmoputer","computer"],["cmoputers","computers"],["cna","can"],["cnannel","channel"],["cnat'","can't"],["cnat","can't"],["cnfiguration","configuration"],["cnfigure","configure"],["cnfigured","configured"],["cnfigures","configures"],["cnfiguring","configuring"],["cnosole","console"],["cnosoles","consoles"],["cntain","contain"],["cntains","contains"],["cnter","center"],["co-incided","coincided"],["co-opearte","co-operate"],["co-opeartes","co-operates"],["co-ordinate","coordinate"],["co-ordinates","coordinates"],["coalace","coalesce"],["coalaced","coalesced"],["coalacence","coalescence"],["coalacing","coalescing"],["coalaesce","coalesce"],["coalaesced","coalesced"],["coalaescence","coalescence"],["coalaescing","coalescing"],["coalascece","coalescence"],["coalascence","coalescence"],["coalase","coalesce"],["coalasece","coalescence"],["coalased","coalesced"],["coalasence","coalescence"],["coalases","coalesces"],["coalasing","coalescing"],["coalcece","coalescence"],["coalcence","coalescence"],["coalesc","coalesce"],["coalescsing","coalescing"],["coalesed","coalesced"],["coalesence","coalescence"],["coalessing","coalescing"],["coallate","collate"],["coallates","collates"],["coallating","collating"],["coallece","coalesce"],["coalleced","coalesced"],["coallecence","coalescence"],["coalleces","coalesces"],["coallecing","coalescing"],["coallee","coalesce"],["coalleed","coalesced"],["coalleence","coalescence"],["coallees","coalesces"],["coalleing","coalescing"],["coallesce","coalesce"],["coallesced","coalesced"],["coallesceing","coalescing"],["coallescence","coalescence"],["coallesces","coalesces"],["coallescing","coalescing"],["coallese","coalesce"],["coallesed","coalesced"],["coallesence","coalescence"],["coalleses","coalesces"],["coallesing","coalescing"],["coallesse","coalesce"],["coallessed","coalesced"],["coallessence","coalescence"],["coallesses","coalesces"],["coallessing","coalescing"],["coallision","collision"],["coallisions","collisions"],["coalsce","coalesce"],["coalscece","coalescence"],["coalsced","coalesced"],["coalscence","coalescence"],["coalscing","coalescing"],["coalsece","coalescence"],["coalseced","coalesced"],["coalsecense","coalescence"],["coalsence","coalescence"],["coaslescing","coalescing"],["cobining","combining"],["cobvers","covers"],["coccinele","coccinelle"],["coctail","cocktail"],["cocument","document"],["cocumentation","documentation"],["cocuments","document"],["codeing","coding"],["codepoitn","codepoint"],["codesc","codecs"],["codespel","codespell"],["codesream","codestream"],["codition","condition"],["coditioned","conditioned"],["coditions","conditions"],["codo","code"],["codos","codes"],["coduct","conduct"],["coducted","conducted"],["coducter","conductor"],["coducting","conducting"],["coductor","conductor"],["coducts","conducts"],["coeffcient","coefficient"],["coeffcients","coefficients"],["coefficeint","coefficient"],["coefficeints","coefficients"],["coefficent","coefficient"],["coefficents","coefficients"],["coefficiens","coefficients"],["coefficientss","coefficients"],["coeffiecient","coefficient"],["coeffiecients","coefficients"],["coeffient","coefficient"],["coeffients","coefficients"],["coeficent","coefficient"],["coeficents","coefficients"],["coeficient","coefficient"],["coeficients","coefficients"],["coelesce","coalesce"],["coercable","coercible"],["coerceion","coercion"],["cofeee","coffee"],["cofficient","coefficient"],["cofficients","coefficients"],["cofidence","confidence"],["cofiguration","configuration"],["cofigure","configure"],["cofigured","configured"],["cofigures","configures"],["cofiguring","configuring"],["cofirm","confirm"],["cofirmation","confirmation"],["cofirmations","confirmations"],["cofirmed","confirmed"],["cofirming","confirming"],["cofirms","confirms"],["coform","conform"],["cofrim","confirm"],["cofrimation","confirmation"],["cofrimations","confirmations"],["cofrimed","confirmed"],["cofriming","confirming"],["cofrims","confirms"],["cognizent","cognizant"],["coherance","coherence"],["coherancy","coherency"],["coherant","coherent"],["coherantly","coherently"],["coice","choice"],["coincedentally","coincidentally"],["coinitailize","coinitialize"],["coinside","coincide"],["coinsided","coincided"],["coinsidence","coincidence"],["coinsident","coincident"],["coinsides","coincides"],["coinsiding","coinciding"],["cointain","contain"],["cointained","contained"],["cointaining","containing"],["cointains","contains"],["cokies","cookies"],["colaboration","collaboration"],["colaborations","collaborations"],["colateral","collateral"],["coldplg","coldplug"],["colected","collected"],["colection","collection"],["colections","collections"],["colelction","collection"],["colelctive","collective"],["colerscheme","colorscheme"],["colescing","coalescing"],["colision","collision"],["colission","collision"],["collaberative","collaborative"],["collaction","collection"],["collaobrative","collaborative"],["collaps","collapse"],["collapsable","collapsible"],["collasion","collision"],["collaspe","collapse"],["collasped","collapsed"],["collaspes","collapses"],["collaspible","collapsible"],["collasping","collapsing"],["collationg","collation"],["collborative","collaborative"],["collecing","collecting"],["collecion","collection"],["collecions","collections"],["colleciton","collection"],["collecitons","collections"],["collectin","collection"],["collecton","collection"],["collectons","collections"],["colleection","collection"],["collegue","colleague"],["collegues","colleagues"],["collektion","collection"],["colletion","collection"],["collidies","collides"],["collissions","collisions"],["collistion","collision"],["collistions","collisions"],["colllapses","collapses"],["collocalized","colocalized"],["collonade","colonnade"],["collonies","colonies"],["collony","colony"],["collorscheme","colorscheme"],["collosal","colossal"],["collpase","collapse"],["collpased","collapsed"],["collpases","collapses"],["collpasing","collapsing"],["collsion","collision"],["collsions","collisions"],["collumn","column"],["collumns","columns"],["colmn","column"],["colmns","columns"],["colmuned","columned"],["coloer","color"],["coloeration","coloration"],["coloered","colored"],["coloering","coloring"],["coloers","colors"],["coloful","colorful"],["colomn","column"],["colomns","columns"],["colon-seperated","colon-separated"],["colonizators","colonizers"],["coloringh","coloring"],["colorizoer","colorizer"],["colorpsace","colorspace"],["colorpsaces","colorspaces"],["colose","close"],["coloum","column"],["coloumn","column"],["coloumns","columns"],["coloums","columns"],["colourpsace","colourspace"],["colourpsaces","colourspaces"],["colsed","closed"],["colum","column"],["columm","column"],["colummn","column"],["colummns","columns"],["columms","columns"],["columnn","column"],["columnns","columns"],["columnss","columns"],["columnular","columnar"],["colums","columns"],["columsn","columns"],["colunns","columns"],["comammand","command"],["comamnd","command"],["comamnd-line","command-line"],["comamnded","commanded"],["comamnding","commanding"],["comamndline","commandline"],["comamnds","commands"],["comand","command"],["comand-line","command-line"],["comanded","commanded"],["comanding","commanding"],["comandline","commandline"],["comando","commando"],["comandos","commandos"],["comands","commands"],["comany","company"],["comapany","company"],["comapared","compared"],["comapatibility","compatibility"],["comapatible","compatible"],["comapletion","completion"],["comapnies","companies"],["comapny","company"],["comapre","compare"],["comapring","comparing"],["comaprison","comparison"],["comaptibele","compatible"],["comaptibelities","compatibilities"],["comaptibelity","compatibility"],["comaptible","compatible"],["comarators","comparators"],["comback","comeback"],["combained","combined"],["combanations","combinations"],["combatibility","compatibility"],["combatible","compatible"],["combiantion","combination"],["combiation","combination"],["combiations","combinations"],["combinate","combine"],["combinateion","combination"],["combinateions","combinations"],["combinatins","combinations"],["combinatio","combination"],["combinatios","combinations"],["combinaton","combination"],["combinatorical","combinatorial"],["combinbe","combined"],["combind","combined"],["combinded","combined"],["combiniation","combination"],["combiniations","combinations"],["combinine","combine"],["combintaion","combination"],["combintaions","combinations"],["combusion","combustion"],["comceptually","conceptually"],["comdemnation","condemnation"],["comect","connect"],["comected","connected"],["comecting","connecting"],["comectivity","connectivity"],["comedlib","comedilib"],["comemmorates","commemorates"],["comemoretion","commemoration"],["coment","comment"],["comented","commented"],["comenting","commenting"],["coments","comments"],["comfirm","confirm"],["comflicting","conflicting"],["comformance","conformance"],["comiled","compiled"],["comilers","compilers"],["comination","combination"],["comision","commission"],["comisioned","commissioned"],["comisioner","commissioner"],["comisioning","commissioning"],["comisions","commissions"],["comission","commission"],["comissioned","commissioned"],["comissioner","commissioner"],["comissioning","commissioning"],["comissions","commissions"],["comit","commit"],["comited","committed"],["comitee","committee"],["comiting","committing"],["comits","commits"],["comitted","committed"],["comittee","committee"],["comittees","committees"],["comitter","committer"],["comitting","committing"],["comittish","committish"],["comlain","complain"],["comlained","complained"],["comlainer","complainer"],["comlaining","complaining"],["comlains","complains"],["comlaint","complaint"],["comlaints","complaints"],["comlete","complete"],["comleted","completed"],["comletely","completely"],["comletion","completion"],["comletly","completely"],["comlex","complex"],["comlexity","complexity"],["comlpeter","completer"],["comma-separeted","comma-separated"],["commad","command"],["commadn","command"],["commadn-line","command-line"],["commadnline","commandline"],["commadns","commands"],["commads","commands"],["commandi","command"],["commandoes","commandos"],["commannd","command"],["commans","commands"],["commansd","commands"],["commect","connect"],["commected","connected"],["commecting","connecting"],["commectivity","connectivity"],["commedic","comedic"],["commemerative","commemorative"],["commemmorate","commemorate"],["commemmorating","commemorating"],["commenet","comment"],["commenetd","commented"],["commeneted","commented"],["commenstatus","commentstatus"],["commerical","commercial"],["commerically","commercially"],["commericial","commercial"],["commericially","commercially"],["commerorative","commemorative"],["comming","coming"],["comminication","communication"],["comminity","community"],["comminucating","communicating"],["comminucation","communication"],["commision","commission"],["commisioned","commissioned"],["commisioner","commissioner"],["commisioning","commissioning"],["commisions","commissions"],["commitable","committable"],["commited","committed"],["commitee","committee"],["commiter","committer"],["commiters","committers"],["commitin","committing"],["commiting","committing"],["commitish","committish"],["committ","commit"],["committe","committee"],["committi","committee"],["committis","committees"],["committment","commitment"],["committments","commitments"],["committy","committee"],["commma","comma"],["commma-separated","comma-separated"],["commmand","command"],["commmand-line","command-line"],["commmandline","commandline"],["commmands","commands"],["commmemorated","commemorated"],["commment","comment"],["commmented","commented"],["commmenting","commenting"],["commments","comments"],["commmet","comment"],["commmets","comments"],["commmit","commit"],["commmited","committed"],["commmiting","committing"],["commmits","commits"],["commmitted","committed"],["commmitter","committer"],["commmitters","committers"],["commmitting","committing"],["commmon","common"],["commmunicate","communicate"],["commmunicated","communicated"],["commmunicates","communicates"],["commmunicating","communicating"],["commmunication","communication"],["commmunity","community"],["commna","comma"],["commna-separated","comma-separated"],["commnad","command"],["commnad-line","command-line"],["commnadline","commandline"],["commnads","commands"],["commnand","command"],["commnand-line","command-line"],["commnandline","commandline"],["commnands","commands"],["commnd","command"],["commnd-line","command-line"],["commndline","commandline"],["commnds","commands"],["commnent","comment"],["commnents","comments"],["commnet","comment"],["commnetaries","commentaries"],["commnetary","commentary"],["commnetator","commentator"],["commnetators","commentators"],["commneted","commented"],["commneting","commenting"],["commnets","comments"],["commnication","communication"],["commnities","communities"],["commnity","community"],["commnt","comment"],["commnted","commented"],["commnuative","commutative"],["commnunicating","communicating"],["commnunication","communication"],["commnunity","community"],["commoditiy","commodity"],["commom","common"],["commond","command"],["commongly","commonly"],["commontly","commonly"],["commonweath","commonwealth"],["commpact","compact"],["commpaction","compaction"],["commpare","compare"],["commparisons","comparisons"],["commpatibility","compatibility"],["commpatible","compatible"],["commpessed","compressed"],["commpilation","compilation"],["commpile","compile"],["commpiled","compiled"],["commpiling","compiling"],["commplain","complain"],["commplete","complete"],["commpleted","completed"],["commpletely","completely"],["commpletes","completes"],["commpletion","completion"],["commplex","complex"],["commpliant","compliant"],["commplied","complied"],["commpn","common"],["commponent","component"],["commponents","components"],["commpound","compound"],["commpresd","compressed"],["commpresed","compressed"],["commpresion","compression"],["commpress","compress"],["commpressd","compressed"],["commpressed","compressed"],["commpression","compression"],["commpute","compute"],["commputed","computed"],["commputer","computer"],["commputes","computes"],["commputing","computing"],["commtited","committed"],["commtted","committed"],["commuication","communication"],["commuications","communications"],["commuinications","communications"],["communcated","communicated"],["communcation","communication"],["communcations","communications"],["communciation","communication"],["communiation","communication"],["communicaion","communication"],["communicatie","communication"],["communicaton","communication"],["communitcate","communicate"],["communitcated","communicated"],["communitcates","communicates"],["communitcation","communication"],["communitcations","communications"],["communites","communities"],["communiy","community"],["communiyt","community"],["communuication","communication"],["commutated","commuted"],["commutating","commuting"],["commutive","commutative"],["comnmand","command"],["comnnected","connected"],["comnparing","comparing"],["comnpletion","completion"],["comnpresion","compression"],["comnpress","compress"],["comobobox","combo-box"],["comon","common"],["comonent","component"],["comor","color"],["compability","compatibility"],["compabillity","compatibility"],["compabitiliby","compatibility"],["compabitility","compatibility"],["compagnion","companion"],["compagny","company"],["compaibility","compatibility"],["compain","complain"],["compair","compare"],["compaire","compare"],["compaired","compared"],["compairing","comparing"],["compairison","comparison"],["compairisons","comparisons"],["compairs","compares"],["compansate","compensate"],["compansated","compensated"],["compansates","compensates"],["compansating","compensating"],["compansation","compensation"],["compansations","compensations"],["comparaison","comparison"],["comparare","compare"],["comparasion","comparison"],["comparasions","comparisons"],["comparater","comparator"],["comparation","comparison"],["comparations","comparisons"],["compareable","comparable"],["compareing","comparing"],["compareison","comparison"],["compareisons","comparisons"],["comparements","compartments"],["compariable","comparable"],["comparied","compared"],["comparign","comparing"],["comparigon","comparison"],["comparigons","comparisons"],["compariing","comparing"],["comparion","comparison"],["comparions","comparisons"],["comparios","comparison"],["comparioss","comparisons"],["comparisaion","comparison"],["comparisaions","comparisons"],["comparisation","comparison"],["comparisations","comparisons"],["comparisement","comparison"],["comparisements","comparisons"],["comparisin","comparison"],["comparising","comparing"],["comparisins","comparisons"],["comparision","comparison"],["comparisions","comparisons"],["comparism","comparison"],["comparisment","comparison"],["comparisments","comparisons"],["comparisms","comparisons"],["comparisn","comparison"],["comparisns","comparisons"],["comparispon","comparison"],["comparispons","comparisons"],["comparission","comparison"],["comparissions","comparisons"],["comparisson","comparison"],["comparissons","comparisons"],["comparistion","comparison"],["comparistions","comparisons"],["compariston","comparison"],["comparistons","comparisons"],["comparition","comparison"],["comparitions","comparisons"],["comparititive","comparative"],["comparititively","comparatively"],["comparitive","comparative"],["comparitively","comparatively"],["comparitor","comparator"],["comparitors","comparators"],["comparizon","comparison"],["comparizons","comparisons"],["comparment","compartment"],["comparotor","comparator"],["comparotors","comparators"],["comparre","compare"],["comparsion","comparison"],["comparsions","comparisons"],["compatabable","compatible"],["compatabiity","compatibility"],["compatabile","compatible"],["compatabilities","compatibilities"],["compatability","compatibility"],["compatabillity","compatibility"],["compatabilty","compatibility"],["compatabily","compatibility"],["compatable","compatible"],["compatablility","compatibility"],["compatablities","compatibilities"],["compatablitiy","compatibility"],["compatablity","compatibility"],["compatably","compatibly"],["compataibility","compatibility"],["compataible","compatible"],["compataility","compatibility"],["compatatbility","compatibility"],["compatatble","compatible"],["compatatible","compatible"],["compatator","comparator"],["compatators","comparators"],["compatbile","compatible"],["compatbility","compatibility"],["compatiability","compatibility"],["compatiable","compatible"],["compatiablity","compatibility"],["compatibel","compatible"],["compatibile","compatible"],["compatibiliy","compatibility"],["compatibiltiy","compatibility"],["compatibilty","compatibility"],["compatibily","compatibility"],["compatibity","compatibility"],["compatiblilty","compatibility"],["compatiblities","compatibilities"],["compatiblity","compatibility"],["compation","compaction"],["compatitbility","compatibility"],["compativle","compatible"],["compaytibility","compatibility"],["compeitions","competitions"],["compeletely","completely"],["compelte","complete"],["compeltelyt","completely"],["compeltion","completion"],["compeltly","completely"],["compelx","complex"],["compelxes","complexes"],["compelxities","complexities"],["compelxity","complexity"],["compensantion","compensation"],["compenstate","compensate"],["compenstated","compensated"],["compenstates","compensates"],["competance","competence"],["competant","competent"],["competative","competitive"],["competetive","competitive"],["competions","completions"],["competitiion","competition"],["competive","competitive"],["competiveness","competitiveness"],["compex","complex"],["compfortable","comfortable"],["comphrehensive","comprehensive"],["compiant","compliant"],["compicated","complicated"],["compications","complications"],["compied","compiled"],["compilability","compatibility"],["compilant","compliant"],["compilaton","compilation"],["compilatons","compilations"],["compilcate","complicate"],["compilcated","complicated"],["compilcatedly","complicatedly"],["compilcates","complicates"],["compilcating","complicating"],["compilcation","complication"],["compilcations","complications"],["compileable","compilable"],["compiletime","compile time"],["compiliant","compliant"],["compiliation","compilation"],["compilier","compiler"],["compiliers","compilers"],["compitability","compatibility"],["compitable","compatible"],["compitent","competent"],["compitible","compatible"],["complaing","complaining"],["complanied","complained"],["complate","complete"],["complated","completed"],["complates","completes"],["complating","completing"],["complatly","completely"],["complatness","completeness"],["complats","completes"],["complcated","complicated"],["compleate","complete"],["compleated","completed"],["compleates","completes"],["compleating","completing"],["compleatly","completely"],["compleete","complete"],["compleeted","completed"],["compleetly","completely"],["compleetness","completeness"],["complelely","completely"],["complelte","complete"],["complementt","complement"],["compleness","completeness"],["complession","compression"],["complet","complete"],["completedthe","completed the"],["completeion","completion"],["completelly","completely"],["completelty","completely"],["completelyl","completely"],["completetion","completion"],["completetly","completely"],["completiom","completion"],["completition","completion"],["completley","completely"],["completly","completely"],["completness","completeness"],["complette","complete"],["complettly","completely"],["complety","completely"],["complext","complexity"],["compliace","compliance"],["complianse","compliance"],["compliation","compilation"],["compliations","compilations"],["complied-in","compiled-in"],["complience","compliance"],["complient","compliant"],["complile","compile"],["compliled","compiled"],["compliler","compiler"],["compliles","compiles"],["compliling","compiling"],["compling","compiling"],["complitely","completely"],["complmenet","complement"],["complted","completed"],["compluter","computer"],["compnent","component"],["compnents","components"],["compoennt","component"],["compoent","component"],["compoents","components"],["compoesd","composed"],["compoment","component"],["compoments","components"],["componant","component"],["componants","components"],["componbents","components"],["componding","compounding"],["componeent","component"],["componeents","components"],["componemt","component"],["componemts","components"],["componenet","component"],["componenets","components"],["componens","components"],["componentes","components"],["componet","component"],["componets","components"],["componnents","components"],["componoent","component"],["componoents","components"],["componsites","composites"],["compontent","component"],["compontents","components"],["composablity","composability"],["composibility","composability"],["composiblity","composability"],["composit","composite"],["compositong","compositing"],["composits","composites"],["compount","compound"],["comppatible","compatible"],["comppiler","compiler"],["comppilers","compilers"],["comppliance","compliance"],["comprable","comparable"],["compredded","compressed"],["compresed","compressed"],["compreser","compressor"],["compresers","compressors"],["compreses","compresses"],["compresible","compressible"],["compresing","compressing"],["compresion","compression"],["compresions","compressions"],["compresor","compressor"],["compresors","compressors"],["compressable","compressible"],["compresser","compressor"],["compressers","compressors"],["compresss","compress"],["compresssed","compressed"],["compresssion","compression"],["comprimise","compromise"],["compromize","compromise"],["compromized","compromised"],["compsable","composable"],["compsite","composite"],["comptabile","compatible"],["comptible","compatible"],["comptue","compute"],["compuatation","computation"],["compuation","computation"],["compulsary","compulsory"],["compulsery","compulsory"],["compund","compound"],["compunds","compounds"],["computaion","computation"],["computarized","computerized"],["computaton","computation"],["computtaion","computation"],["computtaions","computations"],["comress","compress"],["comressed","compressed"],["comresses","compresses"],["comressing","compressing"],["comression","compression"],["comrpess","compress"],["comrpessed","compressed"],["comrpesses","compresses"],["comrpessing","compressing"],["comrpession","compression"],["comstraint","constraint"],["comsume","consume"],["comsumed","consumed"],["comsumer","consumer"],["comsumers","consumers"],["comsumes","consumes"],["comsuming","consuming"],["comsumption","consumption"],["comtain","contain"],["comtained","contained"],["comtainer","container"],["comtains","contains"],["comunicate","communicate"],["comunication","communication"],["comunity","community"],["comventions","conventions"],["comverted","converted"],["conain","contain"],["conained","contained"],["conainer","container"],["conainers","containers"],["conaines","contains"],["conaining","containing"],["conains","contains"],["conaint","contain"],["conainted","contained"],["conainter","container"],["conatain","contain"],["conatainer","container"],["conatainers","containers"],["conatains","contains"],["conatin","contain"],["conatined","contained"],["conatiner","container"],["conatiners","containers"],["conatining","containing"],["conatins","contains"],["conbination","combination"],["conbinations","combinations"],["conbtrols","controls"],["concaneted","concatenated"],["concantenated","concatenated"],["concatenaded","concatenated"],["concatenaion","concatenation"],["concatened","concatenated"],["concatentaion","concatenation"],["concatentate","concatenate"],["concatentated","concatenated"],["concatentates","concatenates"],["concatentating","concatenating"],["concatentation","concatenation"],["concatentations","concatenations"],["concatented","concatenated"],["concatinate","concatenate"],["concatinated","concatenated"],["concatination","concatenation"],["concatinations","concatenations"],["concating","concatenating"],["concatonate","concatenate"],["concatonated","concatenated"],["concatonates","concatenates"],["concatonating","concatenating"],["conceed","concede"],["conceedd","conceded"],["concensors","consensus"],["concensus","consensus"],["concentate","concentrate"],["concentated","concentrated"],["concentates","concentrates"],["concentating","concentrating"],["concentation","concentration"],["concentic","concentric"],["concentraze","concentrate"],["concered","concerned"],["concerened","concerned"],["concering","concerning"],["concerntrating","concentrating"],["concicely","concisely"],["concider","consider"],["concidered","considered"],["concidering","considering"],["conciders","considers"],["concieted","conceited"],["concieve","conceive"],["concieved","conceived"],["concious","conscious"],["conciously","consciously"],["conciousness","consciousness"],["concurence","concurrence"],["concurency","concurrency"],["concurent","concurrent"],["concurently","concurrently"],["concurrect","concurrent"],["condamned","condemned"],["condem","condemn"],["condemmed","condemned"],["condfiguration","configuration"],["condfigurations","configurations"],["condfigure","configure"],["condfigured","configured"],["condfigures","configures"],["condfiguring","configuring"],["condict","conduct"],["condicted","conducted"],["condidate","candidate"],["condidates","candidates"],["condident","confident"],["condidential","confidential"],["condidional","conditional"],["condidtion","condition"],["condidtioning","conditioning"],["condidtions","conditions"],["condifurable","configurable"],["condifuration","configuration"],["condifure","configure"],["condifured","configured"],["condig","config"],["condigdialog","configdialog"],["condiiton","condition"],["condionally","conditionally"],["conditial","conditional"],["conditially","conditionally"],["conditialy","conditionally"],["conditianal","conditional"],["conditianally","conditionally"],["conditianaly","conditionally"],["conditionaly","conditionally"],["conditionn","condition"],["conditionnal","conditional"],["conditionnaly","conditionally"],["conditionned","conditioned"],["conditionsof","conditions of"],["conditoinal","conditional"],["conditon","condition"],["conditonal","conditional"],["conditons","conditions"],["condntional","conditional"],["condtiion","condition"],["condtiions","conditions"],["condtion","condition"],["condtional","conditional"],["condtionally","conditionally"],["condtionals","conditionals"],["condtioned","conditioned"],["condtions","conditions"],["condtition","condition"],["condtitional","conditional"],["condtitionals","conditionals"],["condtitions","conditions"],["conecct","connect"],["coneccted","connected"],["coneccting","connecting"],["conecction","connection"],["conecctions","connections"],["conecctivities","connectivities"],["conecctivity","connectivity"],["conecctor","connector"],["conecctors","connectors"],["coneccts","connects"],["conecept","concept"],["conecepts","concepts"],["conecjture","conjecture"],["conecjtures","conjectures"],["conecntrate","concentrate"],["conecntrated","concentrated"],["conecntrates","concentrates"],["conecpt","concept"],["conecpts","concepts"],["conect","connect"],["conected","connected"],["conecting","connecting"],["conection","connection"],["conections","connections"],["conectivities","connectivities"],["conectivity","connectivity"],["conectix","connectix"],["conector","connector"],["conectors","connectors"],["conects","connects"],["conecurrency","concurrency"],["conecutive","consecutive"],["coneect","connect"],["coneected","connected"],["coneecting","connecting"],["coneection","connection"],["coneections","connections"],["coneectivities","connectivities"],["coneectivity","connectivity"],["coneector","connector"],["coneectors","connectors"],["coneects","connects"],["conenct","connect"],["conencted","connected"],["conencting","connecting"],["conenction","connection"],["conenctions","connections"],["conenctivities","connectivities"],["conenctivity","connectivity"],["conenctor","connector"],["conenctors","connectors"],["conencts","connects"],["conenience","convenience"],["conenient","convenient"],["coneninece","convenience"],["coneninet","convenient"],["conent","content"],["conents","contents"],["conergence","convergence"],["conern","concern"],["conerning","concerning"],["conersion","conversion"],["conersions","conversions"],["conert","convert"],["conerted","converted"],["conerter","converter"],["conerters","converters"],["conerting","converting"],["conervative","conservative"],["conesencus","consensus"],["conet","connect"],["coneted","connected"],["coneting","connecting"],["conetion","connection"],["conetions","connections"],["conetivities","connectivities"],["conetivity","connectivity"],["conetnt","content"],["conetor","connector"],["conetors","connectors"],["conets","connects"],["conexant","connexant"],["conferene","conference"],["conferrencing","conferencing"],["confert","convert"],["confety","confetti"],["conffiguration","configuration"],["confgiuration","configuration"],["confgiure","configure"],["confgiured","configured"],["confguration","configuration"],["confgure","configure"],["confgured","configured"],["confict","conflict"],["conficted","conflicted"],["conficts","conflicts"],["confidance","confidence"],["confidantal","confidential"],["confidantally","confidentially"],["confidantals","confidentials"],["confidantial","confidential"],["confidantially","confidentially"],["confidental","confidential"],["confidentally","confidentially"],["confids","confides"],["confifurable","configurable"],["confifuration","configuration"],["confifure","configure"],["confifured","configured"],["configaration","configuration"],["configed","configured"],["configer","configure"],["configiration","configuration"],["configire","configure"],["configiuration","configuration"],["configration","configuration"],["configrations","configurations"],["configred","configured"],["configruation","configuration"],["configruations","configurations"],["configrued","configured"],["configuaration","configuration"],["configuarble","configurable"],["configuare","configure"],["configuared","configured"],["configuarion","configuration"],["configuarions","configurations"],["configuartion","configuration"],["configuartions","configurations"],["configuation","configuration"],["configuations","configurations"],["configue","configure"],["configued","configured"],["configuerd","configured"],["configuered","configured"],["configues","configures"],["configulate","configurate"],["configulation","configuration"],["configulations","configurations"],["configuraion","configuration"],["configuraiton","configuration"],["configuratiens","configurations"],["configuratiom","configuration"],["configurationn","configuration"],["configuratioon","configuration"],["configuratoin","configuration"],["configuratoins","configurations"],["configuraton","configuration"],["configuratons","configurations"],["configuratrions","configurations"],["configuratuion","configuration"],["configureable","configurable"],["configureing","configuring"],["configuretion","configuration"],["configurres","configures"],["configurring","configuring"],["configurses","configures"],["configurtation","configuration"],["configurting","configuring"],["configurtion","configuration"],["configurtoin","configuration"],["configury","configurable"],["configutation","configuration"],["configutations","configurations"],["configute","configure"],["configuted","configured"],["configutes","configures"],["configutration","configuration"],["confim","confirm"],["confimation","confirmation"],["confimations","confirmations"],["confimed","confirmed"],["confiming","confirming"],["confimred","confirmed"],["confims","confirms"],["confiramtion","confirmation"],["confirmacion","confirmation"],["confirmaed","confirmed"],["confirmas","confirms"],["confirmatino","confirmation"],["confirmatinon","confirmation"],["confirmd","confirmed"],["confirmedd","confirmed"],["confirmeed","confirmed"],["confirmming","confirming"],["confiug","config"],["confiugrable","configurable"],["confiugration","configuration"],["confiugrations","configurations"],["confiugre","configure"],["confiugred","configured"],["confiugres","configures"],["confiugring","configuring"],["confiugure","configure"],["conflictin","conflicting"],["conflift","conflict"],["conflit","conflict"],["confoguration","configuration"],["confort","comfort"],["confortable","comfortable"],["confrim","confirm"],["confrimation","confirmation"],["confrimations","confirmations"],["confrimed","confirmed"],["confriming","confirming"],["confrims","confirms"],["confucing","confusing"],["confucion","confusion"],["confuction","conjunction"],["confudion","confusion"],["confue","confuse"],["confued","confused"],["confues","confuses"],["confugiration","configuration"],["confugirble","configurable"],["confugire","configure"],["confugired","configured"],["confugires","configures"],["confugiring","configuring"],["confugrable","configurable"],["confugration","configuration"],["confugre","configure"],["confugred","configured"],["confugres","configures"],["confugring","configuring"],["confugurable","configurable"],["confuguration","configuration"],["confugure","configure"],["confugured","configured"],["confugures","configures"],["confuguring","configuring"],["confuigration","configuration"],["confuigrations","configurations"],["confuing","confusing"],["confunction","conjunction"],["confunder","confounder"],["confunse","confuse"],["confunsed","confused"],["confunses","confuses"],["confunsing","confusing"],["confurable","configurable"],["confuration","configuration"],["confure","configure"],["confured","configured"],["confures","configures"],["confuring","configuring"],["confurse","confuse"],["confursed","confused"],["confurses","confuses"],["confursing","confusing"],["confusting","confusing"],["confuze","confuse"],["confuzed","confused"],["confuzes","confuses"],["confuzing","confusing"],["confuzze","confuse"],["confuzzed","confused"],["confuzzes","confuses"],["confuzzing","confusing"],["congifurable","configurable"],["congifuration","configuration"],["congifure","configure"],["congifured","configured"],["congig","config"],["congigs","configs"],["congiguration","configuration"],["congigurations","configurations"],["congigure","configure"],["congnition","cognition"],["congnitive","cognitive"],["congradulations","congratulations"],["congresional","congressional"],["conider","consider"],["conifguration","configuration"],["conifiguration","configuration"],["conig","config"],["conigurable","configurable"],["conigured","configured"],["conincide","coincide"],["conincidence","coincidence"],["conincident","coincident"],["conincides","coincides"],["coninciding","coinciding"],["coninient","convenient"],["coninstallable","coinstallable"],["coninuation","continuation"],["coninue","continue"],["coninues","continues"],["coninuity","continuity"],["coninuous","continuous"],["conitinue","continue"],["conived","connived"],["conjecutre","conjecture"],["conjonction","conjunction"],["conjonctive","conjunctive"],["conjuction","conjunction"],["conjuctions","conjunctions"],["conjuncion","conjunction"],["conjuntion","conjunction"],["conjuntions","conjunctions"],["conlcude","conclude"],["conlcuded","concluded"],["conlcudes","concludes"],["conlcuding","concluding"],["conlcusion","conclusion"],["conlcusions","conclusions"],["conly","only"],["conmnection","connection"],["conmpress","compress"],["conmpression","compression"],["connaect","connect"],["conncection","connection"],["conncetion","connection"],["connction","connection"],["conncurrent","concurrent"],["connecetd","connected"],["connecion","connection"],["connecions","connections"],["conneciton","connection"],["connecitons","connections"],["connecor","connector"],["connecotr","connector"],["connecstatus","connectstatus"],["connectd","connected"],["connecte","connected"],["connectec","connected"],["connectes","connects"],["connectet","connected"],["connectibity","connectivity"],["connectino","connection"],["connectinos","connections"],["connectins","connections"],["connectiom","connection"],["connectioms","connections"],["connectiona","connection"],["connectionas","connections"],["connectiviy","connectivity"],["connectivty","connectivity"],["connecto","connect"],["connectted","connected"],["connecttion","connection"],["conneection","connection"],["conneiction","connection"],["connektors","connectors"],["connetced","connected"],["connetcion","connection"],["conneted","connected"],["Conneticut","Connecticut"],["connetion","connection"],["connetor","connector"],["connexion","connection"],["connnect","connect"],["connnected","connected"],["connnecting","connecting"],["connnection","connection"],["connnections","connections"],["connnects","connects"],["connot","cannot"],["connstrain","constrain"],["connstrained","constrained"],["connstraint","constraint"],["conntents","contents"],["conntroller","controller"],["conosuer","connoisseur"],["conotation","connotation"],["conotations","connotations"],["conotrol","control"],["conotroled","controlled"],["conotroling","controlling"],["conotrolled","controlled"],["conotrols","controls"],["conpares","compares"],["conplete","complete"],["conpleted","completed"],["conpletes","completes"],["conpleting","completing"],["conpletion","completion"],["conquerd","conquered"],["conquerer","conqueror"],["conquerers","conquerors"],["conqured","conquered"],["conrete","concrete"],["conrol","control"],["conroller","controller"],["conrrespond","correspond"],["conrrespondence","correspondence"],["conrrespondences","correspondences"],["conrrespondent","correspondent"],["conrrespondents","correspondents"],["conrresponding","corresponding"],["conrrespondingly","correspondingly"],["conrresponds","corresponds"],["conrrol","control"],["conrrupt","corrupt"],["conrruptable","corruptible"],["conrrupted","corrupted"],["conrruptible","corruptible"],["conrruption","corruption"],["conrruptions","corruptions"],["conrrupts","corrupts"],["conrtib","contrib"],["conrtibs","contribs"],["consants","constants"],["conscent","consent"],["consciencious","conscientious"],["consciouness","consciousness"],["consctruct","construct"],["consctructed","constructed"],["consctructing","constructing"],["consctruction","construction"],["consctructions","constructions"],["consctructive","constructive"],["consctructor","constructor"],["consctructors","constructors"],["consctructs","constructs"],["consdider","consider"],["consdidered","considered"],["consdiered","considered"],["consdired","considered"],["conseat","conceit"],["conseated","conceited"],["consective","consecutive"],["consectively","consecutively"],["consectutive","consecutive"],["consectuve","consecutive"],["consecuitively","consecutively"],["conseed","concede"],["conseedd","conceded"],["conseeded","conceded"],["conseeds","concedes"],["consenquently","consequently"],["consensis","consensus"],["consentrate","concentrate"],["consentrated","concentrated"],["consentrates","concentrates"],["consept","concept"],["consepts","concepts"],["consequentely","consequently"],["consequentually","consequently"],["consequeseces","consequences"],["consequetive","consecutive"],["consequtive","consecutive"],["consequtively","consecutively"],["consern","concern"],["conserned","concerned"],["conserning","concerning"],["conservativeky","conservatively"],["conservitive","conservative"],["consestently","consistently"],["consevible","conceivable"],["consiciousness","consciousness"],["consicousness","consciousness"],["considder","consider"],["considderation","consideration"],["considdered","considered"],["considdering","considering"],["considerd","considered"],["consideren","considered"],["considerion","consideration"],["considerions","considerations"],["considred","considered"],["consier","consider"],["consiers","considers"],["consifer","consider"],["consifered","considered"],["consious","conscious"],["consisant","consistent"],["consisent","consistent"],["consisently","consistently"],["consisntency","consistency"],["consistancy","consistency"],["consistant","consistent"],["consistantly","consistently"],["consisten","consistent"],["consistend","consistent"],["consistendly","consistently"],["consistendt","consistent"],["consistendtly","consistently"],["consistenly","consistently"],["consistuents","constituents"],["consit","consist"],["consitant","consistent"],["consited","consisted"],["consitency","consistency"],["consitent","consistent"],["consitently","consistently"],["consiting","consisting"],["consitional","conditional"],["consits","consists"],["consituencies","constituencies"],["consituency","constituency"],["consituent","constituent"],["consituents","constituents"],["consitute","constitute"],["consituted","constituted"],["consitutes","constitutes"],["consituting","constituting"],["consitution","constitution"],["consitutional","constitutional"],["consitutuent","constituent"],["consitutuents","constituents"],["consitutute","constitute"],["consitututed","constituted"],["consitututes","constitutes"],["consitututing","constituting"],["consntant","constant"],["consntantly","constantly"],["consntants","constants"],["consol","console"],["consolodate","consolidate"],["consolodated","consolidated"],["consonent","consonant"],["consonents","consonants"],["consorcium","consortium"],["conspiracys","conspiracies"],["conspiriator","conspirator"],["consquence","consequence"],["consquences","consequences"],["consquent","consequent"],["consquently","consequently"],["consrtuct","construct"],["consrtucted","constructed"],["consrtuctor","constructor"],["consrtuctors","constructors"],["consrtucts","constructs"],["consruction","construction"],["consructions","constructions"],["consructor","constructor"],["consructors","constructors"],["constaint","constraint"],["constainted","constrained"],["constaints","constraints"],["constallation","constellation"],["constallations","constellations"],["constan","constant"],["constanly","constantly"],["constantsm","constants"],["constarin","constrain"],["constarint","constraint"],["constarints","constraints"],["constarnation","consternation"],["constatn","constant"],["constatnt","constant"],["constatnts","constants"],["constcurts","constructs"],["constext","context"],["consting","consisting"],["constinually","continually"],["constistency","consistency"],["constists","consists"],["constitently","consistently"],["constituant","constituent"],["constituants","constituents"],["constitue","constitute"],["constitues","constitutes"],["constituion","constitution"],["constituional","constitutional"],["constitutent","constituent"],["constitutents","constituents"],["constly","costly"],["constract","construct"],["constracted","constructed"],["constractor","constructor"],["constractors","constructors"],["constrainsts","constraints"],["constrainted","constrained"],["constraintes","constraints"],["constrainting","constraining"],["constrait","constraint"],["constraits","constraints"],["constrans","constrains"],["constrant","constraint"],["constrants","constraints"],["constrast","contrast"],["constrasts","contrasts"],["constratints","constraints"],["constraucts","constructs"],["constrcuct","construct"],["constrcut","construct"],["constrcuted","constructed"],["constrcution","construction"],["constrcutor","constructor"],["constrcutors","constructors"],["constrcuts","constructs"],["constriants","constraints"],["constrint","constraint"],["constrints","constraints"],["constrollers","controllers"],["construc","construct"],["construces","constructs"],["construcing","constructing"],["construcion","construction"],["construciton","construction"],["construcor","constructor"],["construcs","constructs"],["constructcor","constructor"],["constructer","constructor"],["constructers","constructors"],["constructes","constructs"],["constructred","constructed"],["constructt","construct"],["constructted","constructed"],["constructting","constructing"],["constructtor","constructor"],["constructtors","constructors"],["constructts","constructs"],["constructued","constructed"],["constructur","constructor"],["constructure","constructor"],["constructurs","constructors"],["construktor","constructor"],["construnctor","constructor"],["construrtors","constructors"],["construst","construct"],["construsts","constructs"],["construt","construct"],["construtced","constructed"],["construter","constructor"],["construters","constructors"],["constrution","construction"],["construtor","constructor"],["construtors","constructors"],["consttruct","construct"],["consttructer","constructor"],["consttructers","constructors"],["consttruction","construction"],["consttructor","constructor"],["consttructors","constructors"],["constuct","construct"],["constucted","constructed"],["constucter","constructor"],["constucters","constructors"],["constucting","constructing"],["constuction","construction"],["constuctions","constructions"],["constuctor","constructor"],["constuctors","constructors"],["constucts","constructs"],["consturct","construct"],["consturctor","constructor"],["consuder","consider"],["consuemr","consumer"],["consulant","consultant"],["consultunt","consultant"],["consumate","consummate"],["consumated","consummated"],["consumating","consummating"],["consummed","consumed"],["consummer","consumer"],["consummers","consumers"],["consumtion","consumption"],["contacentaion","concatenation"],["contagen","contagion"],["contaienr","container"],["contaier","container"],["contails","contains"],["contaiminate","contaminate"],["contaiminated","contaminated"],["contaiminating","contaminating"],["containa","contain"],["containees","containers"],["containerr","container"],["containg","containing"],["containging","containing"],["containig","containing"],["containings","containing"],["containining","containing"],["containint","containing"],["containn","contain"],["containner","container"],["containners","containers"],["containns","contains"],["containr","container"],["containrs","containers"],["containted","contained"],["containter","container"],["containters","containers"],["containting","containing"],["containts","contains"],["containuations","continuations"],["contais","contains"],["contaisn","contains"],["contaiun","contain"],["contamporaries","contemporaries"],["contamporary","contemporary"],["contan","contain"],["contaned","contained"],["contanined","contained"],["contaning","containing"],["contanins","contains"],["contans","contains"],["contary","contrary"],["contatenated","concatenated"],["contatining","containing"],["contein","contain"],["conteined","contained"],["conteining","containing"],["conteins","contains"],["contempoary","contemporary"],["contemporaneus","contemporaneous"],["contempory","contemporary"],["conten","contain"],["contence","contents"],["contendor","contender"],["contener","container"],["conteners","containers"],["contenht","content"],["content-negatiotiation","content-negotiation"],["content-negoatiation","content-negotiation"],["content-negoation","content-negotiation"],["content-negociation","content-negotiation"],["content-negogtiation","content-negotiation"],["content-negoitation","content-negotiation"],["content-negoptionsotiation","content-negotiation"],["content-negosiation","content-negotiation"],["content-negotaiation","content-negotiation"],["content-negotaition","content-negotiation"],["content-negotatiation","content-negotiation"],["content-negotation","content-negotiation"],["content-negothiation","content-negotiation"],["content-negotication","content-negotiation"],["content-negotioation","content-negotiation"],["content-negotion","content-negotiation"],["content-negotionation","content-negotiation"],["content-negotiotation","content-negotiation"],["content-negotitaion","content-negotiation"],["content-negotitation","content-negotiation"],["content-negotition","content-negotiation"],["content-negoziation","content-negotiation"],["contentended","contended"],["contentn","content"],["contentss","contents"],["contermporaneous","contemporaneous"],["conterpart","counterpart"],["conterparts","counterparts"],["contersink","countersink"],["contex","context"],["contexta","context"],["contexual","contextual"],["contiains","contains"],["contian","contain"],["contianed","contained"],["contianer","container"],["contianers","containers"],["contianing","containing"],["contians","contains"],["contibute","contribute"],["contibuted","contributed"],["contibutes","contributes"],["contibutor","contributor"],["contigent","contingent"],["contigious","contiguous"],["contigiously","contiguously"],["contignuous","contiguous"],["contigous","contiguous"],["contiguious","contiguous"],["contiguities","continuities"],["contiguos","contiguous"],["contiguous-non","non-contiguous"],["continaing","containing"],["contination","continuation"],["contined","continued"],["continential","continental"],["continging","containing"],["contingous","contiguous"],["continguous","contiguous"],["continious","continuous"],["continiously","continuously"],["continoue","continue"],["continouos","continuous"],["continous","continuous"],["continously","continuously"],["continueing","continuing"],["continuely","continually"],["continuem","continuum"],["continuos","continuous"],["continuosly","continuously"],["continure","continue"],["continusly","continuously"],["continuting","continuing"],["contious","continuous"],["contiously","continuously"],["contiuation","continuation"],["contiue","continue"],["contiuguous","contiguous"],["contiuing","continuing"],["contniue","continue"],["contniued","continued"],["contniues","continues"],["contnt","content"],["contol","control"],["contoler","controller"],["contoller","controller"],["contollers","controllers"],["contolls","controls"],["contols","controls"],["contongency","contingency"],["contorl","control"],["contorled","controlled"],["contorls","controls"],["contoroller","controller"],["contraciction","contradiction"],["contracictions","contradictions"],["contracition","contradiction"],["contracitions","contradictions"],["contracter","contractor"],["contracters","contractors"],["contradically","contradictory"],["contradictary","contradictory"],["contrain","constrain"],["contrainers","containers"],["contraining","constraining"],["contraint","constraint"],["contrainted","constrained"],["contraints","constraints"],["contraitns","constraints"],["contraveining","contravening"],["contravercial","controversial"],["contraversy","controversy"],["contrbution","contribution"],["contribte","contribute"],["contribted","contributed"],["contribtes","contributes"],["contributer","contributor"],["contributers","contributors"],["contries","countries"],["contrinution","contribution"],["contrinutions","contributions"],["contritutions","contributions"],["contriubte","contribute"],["contriubted","contributed"],["contriubtes","contributes"],["contriubting","contributing"],["contriubtion","contribution"],["contriubtions","contributions"],["contrl","control"],["contrller","controller"],["contro","control"],["controlable","controllable"],["controled","controlled"],["controlelrs","controllers"],["controler","controller"],["controlers","controllers"],["controling","controlling"],["controll","control"],["controllerd","controlled"],["controllled","controlled"],["controlller","controller"],["controlllers","controllers"],["controllling","controlling"],["controllor","controller"],["controlls","controls"],["contronl","control"],["contronls","controls"],["controoler","controller"],["controvercial","controversial"],["controvercy","controversy"],["controveries","controversies"],["controversal","controversial"],["controversey","controversy"],["controversials","controversial"],["controvertial","controversial"],["controvery","controversy"],["contrrol","control"],["contrrols","controls"],["contrst","contrast"],["contrsted","contrasted"],["contrsting","contrasting"],["contrsts","contrasts"],["contrtoller","controller"],["contruct","construct"],["contructed","constructed"],["contructing","constructing"],["contruction","construction"],["contructions","constructions"],["contructor","constructor"],["contructors","constructors"],["contructs","constructs"],["contry","country"],["contryie","countryie"],["contsruction","construction"],["contsructor","constructor"],["contstant","constant"],["contstants","constants"],["contstraint","constraint"],["contstructing","constructing"],["contstruction","construction"],["contstructor","constructor"],["contstructors","constructors"],["contur","contour"],["contzains","contains"],["conuntry","country"],["conusmer","consumer"],["convaless","convalesce"],["convax","convex"],["convaxiity","convexity"],["convaxly","convexly"],["convaxness","convexness"],["conveinence","convenience"],["conveinences","conveniences"],["conveinent","convenient"],["conveinience","convenience"],["conveinient","convenient"],["convenant","covenant"],["conveneince","convenience"],["conveniance","convenience"],["conveniant","convenient"],["conveniantly","conveniently"],["convenince","convenience"],["conveninent","convenient"],["convense","convince"],["convential","conventional"],["conventient","convenient"],["convenvient","convenient"],["conver","convert"],["convereted","converted"],["convergance","convergence"],["converion","conversion"],["converions","conversions"],["converison","conversion"],["converitble","convertible"],["conversly","conversely"],["conversoin","conversion"],["converson","conversion"],["conversons","conversions"],["converssion","conversion"],["converst","convert"],["convertable","convertible"],["convertables","convertibles"],["convertet","converted"],["convertion","conversion"],["convertions","conversions"],["convery","convert"],["convesion","conversion"],["convesions","conversions"],["convet","convert"],["conveted","converted"],["conveter","converter"],["conveters","converters"],["conveting","converting"],["convetion","convention"],["convetions","conventions"],["convets","converts"],["conveyer","conveyor"],["conviced","convinced"],["conviencece","convenience"],["convienence","convenience"],["convienent","convenient"],["convienience","convenience"],["convienient","convenient"],["convieniently","conveniently"],["conviently","conveniently"],["conviguration","configuration"],["convigure","configure"],["convination","combination"],["convine","combine"],["convineance","convenience"],["convineances","conveniences"],["convineient","convenient"],["convinence","convenience"],["convinences","conveniences"],["convinent","convenient"],["convinently","conveniently"],["conviniance","convenience"],["conviniances","conveniences"],["convinience","convenience"],["conviniences","conveniences"],["conviniency","convenience"],["conviniencys","conveniences"],["convinient","convenient"],["conviniently","conveniently"],["convining","combining"],["convinve","convince"],["convinved","convinced"],["convinving","convincing"],["convirted","converted"],["convirting","converting"],["convised","convinced"],["convoultion","convolution"],["convoultions","convolutions"],["convovle","convolve"],["convovled","convolved"],["convovling","convolving"],["convrt","convert"],["convserion","conversion"],["conyak","cognac"],["coodinate","coordinate"],["coodinates","coordinates"],["coodrinate","coordinate"],["coodrinates","coordinates"],["cooefficient","coefficient"],["cooefficients","coefficients"],["cooger","cougar"],["cookoo","cuckoo"],["coolent","coolant"],["coolot","culotte"],["coolots","culottes"],["coomand","command"],["coommand","command"],["coomon","common"],["coonstantly","constantly"],["coonstructed","constructed"],["cooordinate","coordinate"],["cooordinates","coordinates"],["coopearte","cooperate"],["coopeartes","cooperates"],["cooporative","cooperative"],["coordanate","coordinate"],["coordanates","coordinates"],["coordenate","coordinate"],["coordenates","coordinates"],["coordiante","coordinate"],["coordiantes","coordinates"],["coordiantion","coordination"],["coordiate","coordinate"],["coordiates","coordinates"],["coordiinates","coordinates"],["coordinatess","coordinates"],["coordinats","coordinates"],["coordindate","coordinate"],["coordindates","coordinates"],["coordine","coordinate"],["coordines","coordinates"],["coording","according"],["coordingate","coordinate"],["coordingates","coordinates"],["coordingly","accordingly"],["coordiniate","coordinate"],["coordiniates","coordinates"],["coordinite","coordinate"],["coordinites","coordinates"],["coordinnate","coordinate"],["coordinnates","coordinates"],["coordintae","coordinate"],["coordintaes","coordinates"],["coordintate","coordinate"],["coordintates","coordinates"],["coordinte","coordinate"],["coordintes","coordinates"],["coorditate","coordinate"],["coordonate","coordinate"],["coordonated","coordinated"],["coordonates","coordinates"],["coorespond","correspond"],["cooresponded","corresponded"],["coorespondend","correspondent"],["coorespondent","correspondent"],["cooresponding","corresponding"],["cooresponds","corresponds"],["cooridate","coordinate"],["cooridated","coordinated"],["cooridates","coordinates"],["cooridnate","coordinate"],["cooridnated","coordinated"],["cooridnates","coordinates"],["coorinate","coordinate"],["coorinates","coordinates"],["coorination","coordination"],["cootdinate","coordinate"],["cootdinated","coordinated"],["cootdinates","coordinates"],["cootdinating","coordinating"],["cootdination","coordination"],["copeing","copying"],["copiese","copies"],["copiing","copying"],["copiler","compiler"],["coplete","complete"],["copleted","completed"],["copletely","completely"],["copletes","completes"],["copmetitors","competitors"],["copmilation","compilation"],["copmonent","component"],["copmutations","computations"],["copntroller","controller"],["coponent","component"],["copoying","copying"],["coppermines","coppermine"],["coppied","copied"],["copright","copyright"],["coprighted","copyrighted"],["coprights","copyrights"],["coproccessor","coprocessor"],["coproccessors","coprocessors"],["coprocesor","coprocessor"],["coprorate","corporate"],["coprorates","corporates"],["coproration","corporation"],["coprorations","corporations"],["coprright","copyright"],["coprrighted","copyrighted"],["coprrights","copyrights"],["copstruction","construction"],["copuright","copyright"],["copurighted","copyrighted"],["copurights","copyrights"],["copute","compute"],["coputed","computed"],["coputer","computer"],["coputes","computes"],["copver","cover"],["copyed","copied"],["copyeight","copyright"],["copyeighted","copyrighted"],["copyeights","copyrights"],["copyied","copied"],["copyrigth","copyright"],["copyrigthed","copyrighted"],["copyrigths","copyrights"],["copyritght","copyright"],["copyritghted","copyrighted"],["copyritghts","copyrights"],["copyrught","copyright"],["copyrughted","copyrighted"],["copyrughts","copyrights"],["copys","copies"],["copytight","copyright"],["copytighted","copyrighted"],["copytights","copyrights"],["copyting","copying"],["corale","chorale"],["cordinate","coordinate"],["cordinates","coordinates"],["cordoroy","corduroy"],["cordump","coredump"],["corecct","correct"],["corecctly","correctly"],["corect","correct"],["corected","corrected"],["corecting","correcting"],["corection","correction"],["corectly","correctly"],["corectness","correctness"],["corects","corrects"],["coreespond","correspond"],["coregated","corrugated"],["corelate","correlate"],["corelated","correlated"],["corelates","correlates"],["corellation","correlation"],["coreolis","Coriolis"],["corerct","correct"],["corerctly","correctly"],["corespond","correspond"],["coresponded","corresponded"],["corespondence","correspondence"],["coresponding","corresponding"],["coresponds","corresponds"],["corfirms","confirms"],["coridal","cordial"],["corispond","correspond"],["cornmitted","committed"],["corordinate","coordinate"],["corordinates","coordinates"],["corordination","coordination"],["corosbonding","corresponding"],["corosion","corrosion"],["corospond","correspond"],["corospondance","correspondence"],["corosponded","corresponded"],["corospondence","correspondence"],["corosponding","corresponding"],["corosponds","corresponds"],["corousel","carousel"],["corparate","corporate"],["corperations","corporations"],["corpration","corporation"],["corproration","corporation"],["corprorations","corporations"],["corrcect","correct"],["corrct","correct"],["corrdinate","coordinate"],["corrdinated","coordinated"],["corrdinates","coordinates"],["corrdinating","coordinating"],["corrdination","coordination"],["corrdinator","coordinator"],["corrdinators","coordinators"],["correclty","correctly"],["correcly","correctly"],["correcpond","correspond"],["correcponded","corresponded"],["correcponding","corresponding"],["correcponds","corresponds"],["correcs","corrects"],["correctably","correctable"],["correctely","correctly"],["correcters","correctors"],["correctlly","correctly"],["correctnes","correctness"],["correcton","correction"],["correctons","corrections"],["correcttness","correctness"],["correctures","correctors"],["correcty","correctly"],["correctyly","correctly"],["correcxt","correct"],["correcy","correct"],["correect","correct"],["correectly","correctly"],["correespond","correspond"],["correesponded","corresponded"],["correespondence","correspondence"],["correespondences","correspondences"],["correespondent","correspondent"],["correesponding","corresponding"],["correesponds","corresponds"],["correlasion","correlation"],["correlatd","correlated"],["correllate","correlate"],["correllation","correlation"],["correllations","correlations"],["correnspond","correspond"],["corrensponded","corresponded"],["correnspondence","correspondence"],["correnspondences","correspondences"],["correnspondent","correspondent"],["correnspondents","correspondents"],["corrensponding","corresponding"],["corrensponds","corresponds"],["correograph","choreograph"],["correponding","corresponding"],["correponds","corresponds"],["correponsing","corresponding"],["correposding","corresponding"],["correpsondence","correspondence"],["correpsonding","corresponding"],["corresond","correspond"],["corresonded","corresponded"],["corresonding","corresponding"],["corresonds","corresponds"],["correspdoning","corresponding"],["correspending","corresponding"],["correspinding","corresponding"],["correspnding","corresponding"],["correspodence","correspondence"],["correspoding","corresponding"],["correspoinding","corresponding"],["correspomd","correspond"],["correspomded","corresponded"],["correspomdence","correspondence"],["correspomdences","correspondences"],["correspomdent","correspondent"],["correspomdents","correspondents"],["correspomding","corresponding"],["correspomds","corresponds"],["correspon","correspond"],["correspondance","correspondence"],["correspondances","correspondences"],["correspondant","correspondent"],["correspondants","correspondents"],["correspondd","corresponded"],["correspondend","correspondent"],["correspondes","corresponds"],["correspondg","corresponding"],["correspondig","corresponding"],["corresponed","corresponded"],["corresponging","corresponding"],["corresponing","corresponding"],["correspons","corresponds"],["corresponsding","corresponding"],["corresponsing","corresponding"],["correspont","correspond"],["correspontence","correspondence"],["correspontences","correspondences"],["correspontend","correspondent"],["correspontent","correspondent"],["correspontents","correspondents"],["corresponting","corresponding"],["corresponts","corresponds"],["correspoond","correspond"],["corressponding","corresponding"],["corret","correct"],["correted","corrected"],["corretion","correction"],["corretly","correctly"],["corridoor","corridor"],["corridoors","corridors"],["corrispond","correspond"],["corrispondant","correspondent"],["corrispondants","correspondents"],["corrisponded","corresponded"],["corrispondence","correspondence"],["corrispondences","correspondences"],["corrisponding","corresponding"],["corrisponds","corresponds"],["corrleation","correlation"],["corrleations","correlations"],["corrolated","correlated"],["corrolates","correlates"],["corrolation","correlation"],["corrolations","correlations"],["corrrect","correct"],["corrrected","corrected"],["corrrecting","correcting"],["corrrection","correction"],["corrrections","corrections"],["corrrectly","correctly"],["corrrectness","correctness"],["corrrects","corrects"],["corrresponding","corresponding"],["corrresponds","corresponds"],["corrrupt","corrupt"],["corrrupted","corrupted"],["corrruption","corruption"],["corrseponding","corresponding"],["corrspond","correspond"],["corrsponded","corresponded"],["corrsponding","corresponding"],["corrsponds","corresponds"],["corrupeted","corrupted"],["corruptable","corruptible"],["corruptiuon","corruption"],["cors-site","cross-site"],["cors-sute","cross-site"],["corse","course"],["corsor","cursor"],["corss-compiling","cross-compiling"],["corss-site","cross-site"],["corss-sute","cross-site"],["corsshair","crosshair"],["corsshairs","crosshairs"],["corssite","cross-site"],["corsssite","cross-site"],["corsssute","cross-site"],["corssute","cross-site"],["corupt","corrupt"],["corupted","corrupted"],["coruption","corruption"],["coruptions","corruptions"],["corupts","corrupts"],["corus","chorus"],["corvering","covering"],["cosed","closed"],["cosnsrain","constrain"],["cosnsrained","constrained"],["cosntitutive","constitutive"],["cosntrain","constrain"],["cosntrained","constrained"],["cosntraining","constraining"],["cosntraint","constraint"],["cosntraints","constraints"],["cosntructed","constructed"],["cosntructor","constructor"],["cosnumer","consumer"],["cosolation","consolation"],["cosole","console"],["cosoled","consoled"],["cosoles","consoles"],["cosoling","consoling"],["costant","constant"],["costexpr","constexpr"],["costitution","constitution"],["costruct","construct"],["costructer","constructor"],["costructor","constructor"],["costumary","customary"],["costumize","customize"],["cotain","contain"],["cotained","contained"],["cotainer","container"],["cotains","contains"],["cotave","octave"],["cotaves","octaves"],["cotnain","contain"],["cotnained","contained"],["cotnainer","container"],["cotnainers","containers"],["cotnaining","containing"],["cotnains","contains"],["cotranser","cotransfer"],["cotrasferred","cotransferred"],["cotrasfers","cotransfers"],["cotrol","control"],["cotroll","control"],["cotrolled","controlled"],["cotroller","controller"],["cotrolles","controls"],["cotrolling","controlling"],["cotrolls","controls"],["cotrols","controls"],["cotten","cotton"],["coucil","council"],["coud","could"],["coudn't","couldn't"],["coudnt","couldn't"],["coul","could"],["could'nt","couldn't"],["could't","couldn't"],["couldent","couldn't"],["coulden`t","couldn't"],["couldn;t","couldn't"],["couldnt'","couldn't"],["couldnt","couldn't"],["couldnt;","couldn't"],["coulmns","columns"],["couln't","couldn't"],["couloumb","coulomb"],["coult","could"],["coummunities","communities"],["coummunity","community"],["coumpound","compound"],["coumpounds","compounds"],["counded","counted"],["counding","counting"],["coundition","condition"],["counds","counts"],["counld","could"],["counpound","compound"],["counpounds","compounds"],["countain","contain"],["countainer","container"],["countainers","containers"],["countains","contains"],["counterfit","counterfeit"],["counterfits","counterfeits"],["counterintuive","counter intuitive"],["countermeausure","countermeasure"],["countermeausures","countermeasures"],["counterpar","counterpart"],["counterpoart","counterpart"],["counterpoarts","counterparts"],["countinue","continue"],["courtesey","courtesy"],["cousing","cousin"],["couted","counted"],["couter","counter"],["coutermeasuere","countermeasure"],["coutermeasueres","countermeasures"],["coutermeasure","countermeasure"],["coutermeasures","countermeasures"],["couterpart","counterpart"],["couting","counting"],["coutner","counter"],["coutners","counters"],["couuld","could"],["couuldn't","couldn't"],["covarage","coverage"],["covarages","coverages"],["covarege","coverage"],["covection","convection"],["covention","convention"],["coventions","conventions"],["coverd","covered"],["covere","cover"],["coveres","covers"],["covergence","convergence"],["coverred","covered"],["coversion","conversion"],["coversions","conversions"],["coverting","converting"],["covnersion","conversion"],["covnert","convert"],["covnerted","converted"],["covnerter","converter"],["covnerters","converters"],["covnertible","convertible"],["covnerting","converting"],["covnertor","converter"],["covnertors","converters"],["covnerts","converts"],["covriance","covariance"],["covriate","covariate"],["covriates","covariates"],["coyp","copy"],["coypright","copyright"],["coyprighted","copyrighted"],["coyprights","copyrights"],["coyright","copyright"],["coyrighted","copyrighted"],["coyrights","copyrights"],["cpacities","capacities"],["cpacity","capacity"],["cpation","caption"],["cpcheck","cppcheck"],["cpontent","content"],["cppp","cpp"],["cpuld","could"],["craced","graced"],["craceful","graceful"],["cracefully","gracefully"],["cracefulness","gracefulness"],["craceless","graceless"],["cracing","gracing"],["crahed","crashed"],["crahes","crashes"],["crahses","crashes"],["crashaes","crashes"],["crasheed","crashed"],["crashees","crashes"],["crashess","crashes"],["crashign","crashing"],["crashs","crashes"],["crationist","creationist"],["crationists","creationists"],["creaate","create"],["creadential","credential"],["creadentialed","credentialed"],["creadentials","credentials"],["creaed","created"],["creaeted","created"],["creasoat","creosote"],["creastor","creator"],["creatation","creation"],["createa","create"],["createable","creatable"],["createdd","created"],["createing","creating"],["createive","creative"],["creatning","creating"],["creatre","create"],["creatred","created"],["creats","creates"],["credate","created"],["credetial","credential"],["credetials","credentials"],["credidential","credential"],["credidentials","credentials"],["credintial","credential"],["credintials","credentials"],["credis","credits"],["credists","credits"],["creditted","credited"],["creedence","credence"],["cresent","crescent"],["cresits","credits"],["cretae","create"],["cretaed","created"],["cretaes","creates"],["cretaing","creating"],["cretate","create"],["cretated","created"],["cretates","creates"],["cretating","creating"],["cretator","creator"],["cretators","creators"],["creted","created"],["creteria","criteria"],["crewsant","croissant"],["cricital","critical"],["cricitally","critically"],["cricitals","criticals"],["crirical","critical"],["crirically","critically"],["criricals","criticals"],["critcal","critical"],["critcally","critically"],["critcals","criticals"],["critcial","critical"],["critcially","critically"],["critcials","criticals"],["criteak","critique"],["critera","criteria"],["critereon","criterion"],["criterias","criteria"],["criteriom","criterion"],["criticial","critical"],["criticially","critically"],["criticials","criticals"],["criticists","critics"],["critiera","criteria"],["critiical","critical"],["critiically","critically"],["critiicals","criticals"],["critisising","criticising"],["critisism","criticism"],["critisisms","criticisms"],["critized","criticized"],["critizing","criticizing"],["croch","crotch"],["crockadile","crocodile"],["crockodiles","crocodiles"],["cronological","chronological"],["cronologically","chronologically"],["croppped","cropped"],["cros","cross"],["cros-site","cross-site"],["cros-sute","cross-site"],["croshet","crochet"],["crosreference","cross-reference"],["crosreferenced","cross-referenced"],["crosreferences","cross-references"],["cross-commpilation","cross-compilation"],["cross-orgin","cross-origin"],["crossgne","crossgen"],["crossin","crossing"],["crossite","cross-site"],["crossreference","cross-reference"],["crossreferenced","cross-referenced"],["crossreferences","cross-references"],["crosssite","cross-site"],["crosssute","cross-site"],["crossute","cross-site"],["crowdsigna","crowdsignal"],["crowkay","croquet"],["crowm","crown"],["crrespond","correspond"],["crsytal","crystal"],["crsytalline","crystalline"],["crsytallisation","crystallisation"],["crsytallise","crystallise"],["crsytallization","crystallization"],["crsytallize","crystallize"],["crsytallographic","crystallographic"],["crsytals","crystals"],["crtical","critical"],["crtically","critically"],["crticals","criticals"],["crticised","criticised"],["crucialy","crucially"],["crucifiction","crucifixion"],["cruncing","crunching"],["crurrent","current"],["crusies","cruises"],["crusor","cursor"],["crutial","crucial"],["crutially","crucially"],["crutialy","crucially"],["crypted","encrypted"],["cryptocraphic","cryptographic"],["cryptograpic","cryptographic"],["crystalisation","crystallisation"],["cryto","crypto"],["crytpo","crypto"],["csae","case"],["csaes","cases"],["cteate","create"],["cteateing","creating"],["cteater","creator"],["cteates","creates"],["cteating","creating"],["cteation","creation"],["cteations","creations"],["cteator","creator"],["ctificate","certificate"],["ctificated","certificated"],["ctificates","certificates"],["ctification","certification"],["cuasality","causality"],["cuasation","causation"],["cuase","cause"],["cuased","caused"],["cuases","causes"],["cuasing","causing"],["cuestion","question"],["cuestioned","questioned"],["cuestions","questions"],["cuileoga","cuileog"],["culiminating","culminating"],["cumlative","cumulative"],["cummand","command"],["cummulated","cumulated"],["cummulative","cumulative"],["cummunicate","communicate"],["cumulatative","cumulative"],["cumulattive","cumulative"],["cuncurency","concurrency"],["curch","church"],["curcuit","circuit"],["curcuits","circuits"],["curcumstance","circumstance"],["curcumstances","circumstances"],["cureful","careful"],["curefully","carefully"],["curefuly","carefully"],["curent","current"],["curentfilter","currentfilter"],["curently","currently"],["curernt","current"],["curerntly","currently"],["curev","curve"],["curevd","curved"],["curevs","curves"],["curiousities","curiosities"],["curiousity's","curiosity's"],["curiousity","curiosity"],["curnilinear","curvilinear"],["currecnies","currencies"],["currecny","currency"],["currected","corrected"],["currecting","correcting"],["curreent","current"],["curreents","currents"],["curremt","current"],["curremtly","currently"],["curremts","currents"],["curren","current"],["currenlty","currently"],["currenly","currently"],["currennt","current"],["currenntly","currently"],["currennts","currents"],["currentl","currently"],["currentlly","currently"],["currentry","currently"],["currenty","currently"],["curresponding","corresponding"],["curretly","currently"],["curretnly","currently"],["curriculem","curriculum"],["currious","curious"],["currnet","current"],["currnt","current"],["currntly","currently"],["curros","cursor"],["currrency","currency"],["currrent","current"],["currrently","currently"],["curruent","current"],["currupt","corrupt"],["curruptable","corruptible"],["currupted","corrupted"],["curruptible","corruptible"],["curruption","corruption"],["curruptions","corruptions"],["currupts","corrupts"],["currus","cirrus"],["curser","cursor"],["cursot","cursor"],["cursro","cursor"],["curvatrue","curvature"],["curvatrues","curvatures"],["curvelinear","curvilinear"],["cusstom","custom"],["cusstomer","customer"],["cusstomers","customers"],["cusstomizable","customizable"],["cusstomization","customization"],["cusstomize","customize"],["cusstomized","customized"],["cusstoms","customs"],["custoisable","customisable"],["custoisation","customisation"],["custoise","customise"],["custoised","customised"],["custoiser","customiser"],["custoisers","customisers"],["custoising","customising"],["custoizable","customizable"],["custoization","customization"],["custoize","customize"],["custoized","customized"],["custoizer","customizer"],["custoizers","customizers"],["custoizing","customizing"],["customable","customizable"],["customie","customize"],["customied","customized"],["customisaton","customisation"],["customisatons","customisations"],["customizaton","customization"],["customizatons","customizations"],["customizeble","customizable"],["customn","custom"],["customns","customs"],["customsied","customised"],["customzied","customized"],["custon","custom"],["custonary","customary"],["custoner","customer"],["custoners","customers"],["custonisable","customisable"],["custonisation","customisation"],["custonise","customise"],["custonised","customised"],["custoniser","customiser"],["custonisers","customisers"],["custonising","customising"],["custonizable","customizable"],["custonization","customization"],["custonize","customize"],["custonized","customized"],["custonizer","customizer"],["custonizers","customizers"],["custonizing","customizing"],["custons","customs"],["custormer","customer"],["custum","custom"],["custumer","customer"],["custumised","customised"],["custumized","customized"],["custums","customs"],["cutom","custom"],["cutted","cut"],["cuurently","currently"],["cuurrent","current"],["cuurrents","currents"],["cvignore","cvsignore"],["cxan","cyan"],["cycic","cyclic"],["cyclinder","cylinder"],["cyclinders","cylinders"],["cycular","circular"],["cygin","cygwin"],["cylcic","cyclic"],["cylcical","cyclical"],["cyle","cycle"],["cylic","cyclic"],["cylider","cylinder"],["cyliders","cylinders"],["cylindical","cylindrical"],["cylindre","cylinder"],["cyllinder","cylinder"],["cyllinders","cylinders"],["cylnder","cylinder"],["cylnders","cylinders"],["cylynders","cylinders"],["cymk","CMYK"],["cyphersuite","ciphersuite"],["cyphersuites","ciphersuites"],["cyphertext","ciphertext"],["cyphertexts","ciphertexts"],["cyprt","crypt"],["cyprtic","cryptic"],["cyprto","crypto"],["Cyrllic","Cyrillic"],["cyrpto","crypto"],["cyrrent","current"],["cyrrilic","Cyrillic"],["cyrstal","crystal"],["cyrstalline","crystalline"],["cyrstallisation","crystallisation"],["cyrstallise","crystallise"],["cyrstallization","crystallization"],["cyrstallize","crystallize"],["cyrstals","crystals"],["cyrto","crypto"],["cywgin","Cygwin"],["daa","data"],["dabase","database"],["daclaration","declaration"],["dacquiri","daiquiri"],["dadlock","deadlock"],["daed","dead"],["dafault","default"],["dafaults","defaults"],["dafaut","default"],["dafualt","default"],["dafualted","defaulted"],["dafualts","defaults"],["daita","data"],["dake","take"],["dalmation","Dalmatian"],["dalta","delta"],["damamge","damage"],["damamged","damaged"],["damamges","damages"],["damamging","damaging"],["damange","damage"],["damanged","damaged"],["damanges","damages"],["damanging","damaging"],["damenor","demeanor"],["damge","damage"],["dammage","damage"],["dammages","damages"],["danceing","dancing"],["dandidates","candidates"],["daplicating","duplicating"],["Dardenelles","Dardanelles"],["dasboard","dashboard"],["dasboards","dashboards"],["dasdot","dashdot"],["dashbaord","dashboard"],["dashbaords","dashboards"],["dashboad","dashboard"],["dashboads","dashboards"],["dashboar","dashboard"],["dashboars","dashboards"],["dashbord","dashboard"],["dashbords","dashboards"],["dashs","dashes"],["data-strcuture","data-structure"],["data-strcutures","data-structures"],["databaase","database"],["databaases","databases"],["databae","database"],["databaes","database"],["databaeses","databases"],["databas","database"],["databsae","database"],["databsaes","databases"],["databse","database"],["databses","databases"],["datadsir","datadir"],["dataet","dataset"],["dataets","datasets"],["datas","data"],["datastrcuture","datastructure"],["datastrcutures","datastructures"],["datastrem","datastream"],["datatbase","database"],["datatbases","databases"],["datatgram","datagram"],["datatgrams","datagrams"],["datatore","datastore"],["datatores","datastores"],["datatpe","datatype"],["datatpes","datatypes"],["datatpye","datatype"],["datatpyes","datatypes"],["datatset","dataset"],["datatsets","datasets"],["datatstructure","datastructure"],["datatstructures","datastructures"],["datattype","datatype"],["datattypes","datatypes"],["datatye","datatype"],["datatyep","datatype"],["datatyepe","datatype"],["datatyepes","datatypes"],["datatyeps","datatypes"],["datatyes","datatypes"],["datatyoe","datatype"],["datatyoes","datatypes"],["datatytpe","datatype"],["datatytpes","datatypes"],["dataum","datum"],["datbase","database"],["datbases","databases"],["datecreatedd","datecreated"],["datection","detection"],["datections","detections"],["datee","date"],["dateset","dataset"],["datesets","datasets"],["datset","dataset"],["datsets","datasets"],["daugher","daughter"],["daugther","daughter"],["daugthers","daughters"],["dbeian","Debian"],["DCHP","DHCP"],["dcok","dock"],["dcoked","docked"],["dcoker","docker"],["dcoking","docking"],["dcoks","docks"],["dcument","document"],["dcumented","documented"],["dcumenting","documenting"],["dcuments","documents"],["ddelete","delete"],["de-actived","deactivated"],["de-duplacate","de-duplicate"],["de-duplacated","de-duplicated"],["de-duplacates","de-duplicates"],["de-duplacation","de-duplication"],["de-duplacte","de-duplicate"],["de-duplacted","de-duplicated"],["de-duplactes","de-duplicates"],["de-duplaction","de-duplication"],["de-duplaicate","de-duplicate"],["de-duplaicated","de-duplicated"],["de-duplaicates","de-duplicates"],["de-duplaication","de-duplication"],["de-duplate","de-duplicate"],["de-duplated","de-duplicated"],["de-duplates","de-duplicates"],["de-duplation","de-duplication"],["de-fualt","default"],["de-fualts","defaults"],["de-registeres","de-registers"],["deacitivation","deactivation"],["deacitvated","deactivated"],["deactivatiion","deactivation"],["deactive","deactivate"],["deactiveate","deactivate"],["deactived","deactivated"],["deactivete","deactivate"],["deactiveted","deactivated"],["deactivetes","deactivates"],["deactiviate","deactivate"],["deactiviates","deactivates"],["deactiving","deactivating"],["deaemon","daemon"],["deafault","default"],["deafualt","default"],["deafualts","defaults"],["deafult","default"],["deafulted","defaulted"],["deafults","defaults"],["deail","deal"],["deailing","dealing"],["deaktivate","deactivate"],["deaktivated","deactivated"],["dealed","dealt"],["dealilng","dealing"],["dealloacte","deallocate"],["deallocaed","deallocated"],["dealocate","deallocate"],["dealte","delete"],["deamand","demand"],["deamanding","demanding"],["deamands","demands"],["deambigate","disambiguate"],["deambigates","disambiguates"],["deambigation","disambiguation"],["deambiguage","disambiguate"],["deambiguages","disambiguates"],["deambiguate","disambiguate"],["deambiguates","disambiguates"],["deambiguation","disambiguation"],["deamiguate","disambiguate"],["deamiguates","disambiguates"],["deamiguation","disambiguation"],["deamon","daemon"],["deamonisation","daemonisation"],["deamonise","daemonise"],["deamonised","daemonised"],["deamonises","daemonises"],["deamonising","daemonising"],["deamonization","daemonization"],["deamonize","daemonize"],["deamonized","daemonized"],["deamonizes","daemonizes"],["deamonizing","daemonizing"],["deamons","daemons"],["deassering","deasserting"],["deatch","detach"],["deatched","detached"],["deatches","detaches"],["deatching","detaching"],["deatil","detail"],["deatiled","detailed"],["deatiling","detailing"],["deatils","details"],["deativate","deactivate"],["deativated","deactivated"],["deativates","deactivates"],["deativation","deactivation"],["deattach","detach"],["deattached","detached"],["deattaches","detaches"],["deattaching","detaching"],["deattachment","detachment"],["deault","default"],["deaults","defaults"],["deauthenication","deauthentication"],["debain","Debian"],["debateable","debatable"],["debbuger","debugger"],["debehlper","debhelper"],["debgu","debug"],["debgug","debug"],["debguging","debugging"],["debhlper","debhelper"],["debia","Debian"],["debiab","Debian"],["debians","Debian's"],["debina","Debian"],["debloking","deblocking"],["debnia","Debian"],["debth","depth"],["debths","depths"],["debudg","debug"],["debudgged","debugged"],["debudgger","debugger"],["debudgging","debugging"],["debudgs","debugs"],["debufs","debugfs"],["debugee","debuggee"],["debuger","debugger"],["debugg","debug"],["debuggg","debug"],["debuggge","debuggee"],["debuggged","debugged"],["debugggee","debuggee"],["debuggger","debugger"],["debuggging","debugging"],["debugggs","debugs"],["debugginf","debugging"],["debuggs","debugs"],["debuging","debugging"],["decaffinated","decaffeinated"],["decalare","declare"],["decalared","declared"],["decalares","declares"],["decalaring","declaring"],["decalration","declaration"],["decalrations","declarations"],["decalratiosn","declarations"],["decapsulting","decapsulating"],["decathalon","decathlon"],["deccelerate","decelerate"],["deccelerated","decelerated"],["deccelerates","decelerates"],["deccelerating","decelerating"],["decceleration","deceleration"],["deccrement","decrement"],["deccremented","decremented"],["deccrements","decrements"],["Decemer","December"],["decend","descend"],["decendant","descendant"],["decendants","descendants"],["decendentant","descendant"],["decendentants","descendants"],["decending","descending"],["deciaml","decimal"],["deciamls","decimals"],["decices","decides"],["decidate","dedicate"],["decidated","dedicated"],["decidates","dedicates"],["decideable","decidable"],["decidely","decidedly"],["decie","decide"],["deciedd","decided"],["deciede","decide"],["decieded","decided"],["deciedes","decides"],["decieding","deciding"],["decieds","decides"],["deciemal","decimal"],["decies","decides"],["decieve","deceive"],["decieved","deceived"],["decieves","deceives"],["decieving","deceiving"],["decimials","decimals"],["decison","decision"],["decission","decision"],["declar","declare"],["declaraion","declaration"],["declaraions","declarations"],["declarated","declared"],["declaratinos","declarations"],["declaratiom","declaration"],["declaraton","declaration"],["declaratons","declarations"],["declarayion","declaration"],["declarayions","declarations"],["declard","declared"],["declarded","declared"],["declaritive","declarative"],["declaritively","declaratively"],["declarnig","declaring"],["declartated","declared"],["declartation","declaration"],["declartations","declarations"],["declartative","declarative"],["declartator","declarator"],["declartators","declarators"],["declarted","declared"],["declartion","declaration"],["declartions","declarations"],["declartiuon","declaration"],["declartiuons","declarations"],["declartiuve","declarative"],["declartive","declarative"],["declartor","declarator"],["declartors","declarators"],["declataions","declarations"],["declatation","declaration"],["declatations","declarations"],["declated","declared"],["declation","declaration"],["declations","declarations"],["declatory","declaratory"],["decleration","declaration"],["declerations","declarations"],["declration","declaration"],["decocde","decode"],["decocded","decoded"],["decocder","decoder"],["decocders","decoders"],["decocdes","decodes"],["decocding","decoding"],["decocdings","decodings"],["decodded","decoded"],["decodding","decoding"],["decodeing","decoding"],["decomissioned","decommissioned"],["decomissioning","decommissioning"],["decommissionn","decommission"],["decommissionned","decommissioned"],["decommpress","decompress"],["decomoposition","decomposition"],["decomposion","decomposition"],["decomposit","decompose"],["decomposited","decomposed"],["decompositing","decomposing"],["decompositon","decomposition"],["decompositons","decompositions"],["decomposits","decomposes"],["decompostion","decomposition"],["decompostition","decomposition"],["decompres","decompress"],["decompresed","decompressed"],["decompreser","decompressor"],["decompreses","decompresses"],["decompresing","decompressing"],["decompresion","decompression"],["decompresor","decompressor"],["decompressd","decompressed"],["decompresser","decompressor"],["decompresssion","decompression"],["decompse","decompose"],["decond","decode"],["deconde","decode"],["deconded","decoded"],["deconder","decoder"],["deconders","decoders"],["decondes","decodes"],["deconding","decoding"],["decondings","decodings"],["deconstract","deconstruct"],["deconstracted","deconstructed"],["deconstrcutor","deconstructor"],["decopose","decompose"],["decoposes","decomposes"],["decoraded","decorated"],["decoratrion","decoration"],["decorde","decode"],["decorded","decoded"],["decorder","decoder"],["decorders","decoders"],["decordes","decodes"],["decording","decoding"],["decordings","decodings"],["decorrellation","decorrelation"],["decortator","decorator"],["decortive","decorative"],["decose","decode"],["decosed","decoded"],["decoser","decoder"],["decosers","decoders"],["decoses","decodes"],["decosing","decoding"],["decosings","decodings"],["decration","decoration"],["decreace","decrease"],["decreas","decrease"],["decremenet","decrement"],["decremenetd","decremented"],["decremeneted","decremented"],["decrese","decrease"],["decress","decrees"],["decribe","describe"],["decribed","described"],["decribes","describes"],["decribing","describing"],["decriptive","descriptive"],["decriptor","descriptor"],["decriptors","descriptors"],["decrmenet","decrement"],["decrmenetd","decremented"],["decrmeneted","decremented"],["decrment","decrement"],["decrmented","decremented"],["decrmenting","decrementing"],["decrments","decrements"],["decroation","decoration"],["decrpt","decrypt"],["decrpted","decrypted"],["decrption","decryption"],["decrytion","decryption"],["decscription","description"],["decsion","decision"],["decsions","decisions"],["decsiptors","descriptors"],["decsribed","described"],["decsriptor","descriptor"],["decsriptors","descriptors"],["decstiption","description"],["decstiptions","descriptions"],["dectect","detect"],["dectected","detected"],["dectecting","detecting"],["dectection","detection"],["dectections","detections"],["dectector","detector"],["dectivate","deactivate"],["decutable","deductible"],["decutables","deductibles"],["decypher","decipher"],["decyphered","deciphered"],["ded","dead"],["dedault","default"],["dedections","detections"],["dedented","indented"],["dedfined","defined"],["dedidate","dedicate"],["dedidated","dedicated"],["dedidates","dedicates"],["dedly","deadly"],["deductable","deductible"],["deductables","deductibles"],["deduplacate","deduplicate"],["deduplacated","deduplicated"],["deduplacates","deduplicates"],["deduplacation","deduplication"],["deduplacte","deduplicate"],["deduplacted","deduplicated"],["deduplactes","deduplicates"],["deduplaction","deduplication"],["deduplaicate","deduplicate"],["deduplaicated","deduplicated"],["deduplaicates","deduplicates"],["deduplaication","deduplication"],["deduplate","deduplicate"],["deduplated","deduplicated"],["deduplates","deduplicates"],["deduplation","deduplication"],["dedupliate","deduplicate"],["dedupliated","deduplicated"],["deecorator","decorator"],["deeep","deep"],["deelte","delete"],["deendencies","dependencies"],["deendency","dependency"],["defail","detail"],["defailt","default"],["defalt","default"],["defalts","defaults"],["defalut","default"],["defargkey","defragkey"],["defatult","default"],["defaukt","default"],["defaul","default"],["defaulat","default"],["defaulats","defaults"],["defauld","default"],["defaulds","defaults"],["defaule","default"],["defaules","defaults"],["defaulf","default"],["defaulfs","defaults"],["defaulg","default"],["defaulgs","defaults"],["defaulh","default"],["defaulhs","defaults"],["defauling","defaulting"],["defaulit","default"],["defaulits","defaults"],["defaulkt","default"],["defaulkts","defaults"],["defaull","default"],["defaulls","defaults"],["defaullt","default"],["defaullts","defaults"],["defaulr","default"],["defaulrs","defaults"],["defaulrt","default"],["defaulrts","defaults"],["defaultet","defaulted"],["defaulty","default"],["defauly","default"],["defaulys","defaults"],["defaut","default"],["defautl","default"],["defautled","defaulted"],["defautling","defaulting"],["defautls","defaults"],["defautlt","default"],["defautly","default"],["defauts","defaults"],["defautt","default"],["defautted","defaulted"],["defautting","defaulting"],["defautts","defaults"],["defeault","default"],["defeaulted","defaulted"],["defeaulting","defaulting"],["defeaults","defaults"],["defecit","deficit"],["defeine","define"],["defeines","defines"],["defenate","definite"],["defenately","definitely"],["defendent","defendant"],["defendents","defendants"],["defenitely","definitely"],["defenition","definition"],["defenitions","definitions"],["defenitly","definitely"],["deferal","deferral"],["deferals","deferrals"],["deferance","deference"],["defered","deferred"],["deferencing","dereferencing"],["deferentiating","differentiating"],["defering","deferring"],["deferreal","deferral"],["deffensively","defensively"],["defferently","differently"],["deffering","differing"],["defferred","deferred"],["deffine","define"],["deffined","defined"],["deffinition","definition"],["deffinitively","definitively"],["deffirent","different"],["defiantely","defiantly"],["defice","device"],["defien","define"],["defiend","defined"],["defiened","defined"],["defin","define"],["definad","defined"],["definance","defiance"],["definate","definite"],["definately","definitely"],["defination","definition"],["definations","definitions"],["definatly","definitely"],["definding","defining"],["defineas","defines"],["defineed","defined"],["definend","defined"],["definete","definite"],["definetelly","definitely"],["definetely","definitely"],["definetly","definitely"],["definiation","definition"],["definied","defined"],["definietly","definitely"],["definifiton","definition"],["definining","defining"],["defininition","definition"],["defininitions","definitions"],["definintion","definition"],["definit","definite"],["definitian","definition"],["definitiion","definition"],["definitiions","definitions"],["definitio","definition"],["definitios","definitions"],["definitivly","definitively"],["definitly","definitely"],["definitoin","definition"],["definiton","definition"],["definitons","definitions"],["definned","defined"],["definnition","definition"],["defintian","definition"],["defintiion","definition"],["defintiions","definitions"],["defintion","definition"],["defintions","definitions"],["defintition","definition"],["defintivly","definitively"],["defition","definition"],["defitions","definitions"],["deflaut","default"],["defninition","definition"],["defninitions","definitions"],["defnitions","definitions"],["defore","before"],["defqault","default"],["defragmenation","defragmentation"],["defualt","default"],["defualtdict","defaultdict"],["defualts","defaults"],["defult","default"],["defulted","defaulted"],["defulting","defaulting"],["defults","defaults"],["degenarate","degenerate"],["degenarated","degenerated"],["degenarating","degenerating"],["degenaration","degeneration"],["degenracy","degeneracy"],["degenrate","degenerate"],["degenrated","degenerated"],["degenrates","degenerates"],["degenratet","degenerated"],["degenrating","degenerating"],["degenration","degeneration"],["degerate","degenerate"],["degeree","degree"],["degnerate","degenerate"],["degnerated","degenerated"],["degnerates","degenerates"],["degrads","degrades"],["degration","degradation"],["degredation","degradation"],["degreee","degree"],["degreeee","degree"],["degreeees","degrees"],["degreees","degrees"],["deifne","define"],["deifned","defined"],["deifnes","defines"],["deifning","defining"],["deimiter","delimiter"],["deine","define"],["deinitailse","deinitialise"],["deinitailze","deinitialize"],["deinitalized","deinitialized"],["deinstantating","deinstantiating"],["deintialize","deinitialize"],["deintialized","deinitialized"],["deintializing","deinitializing"],["deisgn","design"],["deisgned","designed"],["deisgner","designer"],["deisgners","designers"],["deisgning","designing"],["deisgns","designs"],["deivative","derivative"],["deivatives","derivatives"],["deivce","device"],["deivces","devices"],["deivices","devices"],["deklaration","declaration"],["dekstop","desktop"],["dekstops","desktops"],["dektop","desktop"],["dektops","desktops"],["delagate","delegate"],["delagates","delegates"],["delaloc","delalloc"],["delalyed","delayed"],["delapidated","dilapidated"],["delaraction","declaration"],["delaractions","declarations"],["delarations","declarations"],["delare","declare"],["delared","declared"],["delares","declares"],["delaring","declaring"],["delate","delete"],["delayis","delays"],["delcarations","declarations"],["delcare","declare"],["delcared","declared"],["delcares","declares"],["delclaration","declaration"],["delele","delete"],["delelete","delete"],["deleleted","deleted"],["deleletes","deletes"],["deleleting","deleting"],["delelte","delete"],["delemeter","delimiter"],["delemiter","delimiter"],["delerious","delirious"],["delet","delete"],["deletd","deleted"],["deleteable","deletable"],["deleteed","deleted"],["deleteing","deleting"],["deleteion","deletion"],["deleteting","deleting"],["deletiong","deletion"],["delets","deletes"],["delevopment","development"],["delevopp","develop"],["delgate","delegate"],["delgated","delegated"],["delgates","delegates"],["delgating","delegating"],["delgation","delegation"],["delgations","delegations"],["delgator","delegator"],["delgators","delegators"],["deliberatey","deliberately"],["deliberatly","deliberately"],["deliberite","deliberate"],["deliberitely","deliberately"],["delibery","delivery"],["delibrate","deliberate"],["delibrately","deliberately"],["delievering","delivering"],["delievery","delivery"],["delievred","delivered"],["delievries","deliveries"],["delievry","delivery"],["delimeted","delimited"],["delimeter","delimiter"],["delimeters","delimiters"],["delimiited","delimited"],["delimiiter","delimiter"],["delimiiters","delimiters"],["delimitiaion","delimitation"],["delimitiaions","delimitations"],["delimitiation","delimitation"],["delimitiations","delimitations"],["delimitied","delimited"],["delimitier","delimiter"],["delimitiers","delimiters"],["delimitiing","delimiting"],["delimitimg","delimiting"],["delimition","delimitation"],["delimitions","delimitations"],["delimitis","delimits"],["delimititation","delimitation"],["delimititations","delimitations"],["delimitited","delimited"],["delimititer","delimiter"],["delimititers","delimiters"],["delimititing","delimiting"],["delimitor","delimiter"],["delimitors","delimiters"],["delimitted","delimited"],["delimma","dilemma"],["delimted","delimited"],["delimters","delimiter"],["delink","unlink"],["delivared","delivered"],["delivative","derivative"],["delivatives","derivatives"],["deliverate","deliberate"],["delivermode","deliverymode"],["deliverying","delivering"],["delte","delete"],["delted","deleted"],["deltes","deletes"],["delting","deleting"],["deltion","deletion"],["delusionally","delusively"],["delvery","delivery"],["demaind","demand"],["demenor","demeanor"],["demension","dimension"],["demensional","dimensional"],["demensions","dimensions"],["demodualtor","demodulator"],["demog","demo"],["demographical","demographic"],["demolishon","demolition"],["demolision","demolition"],["demoninator","denominator"],["demoninators","denominators"],["demonstates","demonstrates"],["demonstrat","demonstrate"],["demonstrats","demonstrates"],["demorcracy","democracy"],["demostrate","demonstrate"],["demostrated","demonstrated"],["demostrates","demonstrates"],["demostrating","demonstrating"],["demostration","demonstration"],["demudulator","demodulator"],["denegrating","denigrating"],["denisty","density"],["denomitator","denominator"],["denomitators","denominators"],["densitity","density"],["densly","densely"],["denstiy","density"],["deocde","decode"],["deocded","decoded"],["deocder","decoder"],["deocders","decoders"],["deocdes","decodes"],["deocding","decoding"],["deocdings","decodings"],["deoes","does"],["deoesn't","doesn't"],["deompression","decompression"],["depandance","dependence"],["depandancies","dependencies"],["depandancy","dependency"],["depandent","dependent"],["deparment","department"],["deparmental","departmental"],["deparments","departments"],["depcrecated","deprecated"],["depden","depend"],["depdence","dependence"],["depdencente","dependence"],["depdencentes","dependences"],["depdences","dependences"],["depdencies","dependencies"],["depdency","dependency"],["depdend","depend"],["depdendancies","dependencies"],["depdendancy","dependency"],["depdendant","dependent"],["depdendants","dependents"],["depdended","depended"],["depdendence","dependence"],["depdendences","dependences"],["depdendencies","dependencies"],["depdendency","dependency"],["depdendent","dependent"],["depdendents","dependents"],["depdendet","dependent"],["depdendets","dependents"],["depdending","depending"],["depdends","depends"],["depdenence","dependence"],["depdenences","dependences"],["depdenencies","dependencies"],["depdenency","dependency"],["depdenent","dependent"],["depdenents","dependents"],["depdening","depending"],["depdenncies","dependencies"],["depdenncy","dependency"],["depdens","depends"],["depdent","dependent"],["depdents","dependents"],["depecated","deprecated"],["depedencies","dependencies"],["depedency","dependency"],["depedencys","dependencies"],["depedent","dependent"],["depeding","depending"],["depencencies","dependencies"],["depencency","dependency"],["depencendencies","dependencies"],["depencendency","dependency"],["depencendencys","dependencies"],["depencent","dependent"],["depencies","dependencies"],["depency","dependency"],["dependance","dependence"],["dependancies","dependencies"],["dependancy","dependency"],["dependancys","dependencies"],["dependand","dependent"],["dependcies","dependencies"],["dependcy","dependency"],["dependding","depending"],["dependecies","dependencies"],["dependecy","dependency"],["dependecys","dependencies"],["dependedn","dependent"],["dependees","dependencies"],["dependeing","depending"],["dependenceis","dependencies"],["dependencey","dependency"],["dependencie","dependency"],["dependencied","dependency"],["dependenciens","dependencies"],["dependencis","dependencies"],["dependencys","dependencies"],["dependendencies","dependencies"],["dependendency","dependency"],["dependendent","dependent"],["dependenies","dependencies"],["dependening","depending"],["dependeny","dependency"],["dependet","dependent"],["dependices","dependencies"],["dependicy","dependency"],["dependig","depending"],["dependncies","dependencies"],["dependncy","dependency"],["depened","depend"],["depenedecies","dependencies"],["depenedecy","dependency"],["depenedent","dependent"],["depenencies","dependencies"],["depenencis","dependencies"],["depenency","dependency"],["depenencys","dependencies"],["depenend","depend"],["depenendecies","dependencies"],["depenendecy","dependency"],["depenendence","dependence"],["depenendencies","dependencies"],["depenendency","dependency"],["depenendent","dependent"],["depenending","depending"],["depenent","dependent"],["depenently","dependently"],["depennding","depending"],["depent","depend"],["deperecate","deprecate"],["deperecated","deprecated"],["deperecates","deprecates"],["deperecating","deprecating"],["deploied","deployed"],["deploiment","deployment"],["deploiments","deployments"],["deployement","deployment"],["deploymenet","deployment"],["deploymenets","deployments"],["depndant","dependent"],["depnds","depends"],["deporarily","temporarily"],["deposint","deposing"],["depracated","deprecated"],["depreacte","deprecate"],["depreacted","deprecated"],["depreacts","deprecates"],["depreate","deprecate"],["depreated","deprecated"],["depreates","deprecates"],["depreating","deprecating"],["deprecatedf","deprecated"],["deprectaed","deprecated"],["deprectat","deprecate"],["deprectate","deprecate"],["deprectated","deprecated"],["deprectates","deprecates"],["deprectating","deprecating"],["deprectation","deprecation"],["deprectats","deprecates"],["deprected","deprecated"],["depricate","deprecate"],["depricated","deprecated"],["depricates","deprecates"],["depricating","deprecating"],["dequed","dequeued"],["dequeing","dequeuing"],["deques","dequeues"],["derageable","dirigible"],["derective","directive"],["derectory","directory"],["derefence","dereference"],["derefenced","dereferenced"],["derefencing","dereferencing"],["derefenrence","dereference"],["dereferance","dereference"],["dereferanced","dereferenced"],["dereferances","dereferences"],["dereferencable","dereferenceable"],["dereferencce","dereference"],["dereferencced","dereferenced"],["dereferencces","dereferences"],["dereferenccing","dereferencing"],["derefernce","dereference"],["derefernced","dereferenced"],["dereferncence","dereference"],["dereferncencer","dereferencer"],["dereferncencers","dereferencers"],["dereferncences","dereferences"],["dereferncer","dereferencer"],["dereferncers","dereferencers"],["derefernces","dereferences"],["dereferncing","dereferencing"],["derefernece","dereference"],["derefrencable","dereferenceable"],["derefrence","dereference"],["deregistartion","deregistration"],["deregisted","deregistered"],["deregisteres","deregisters"],["deregistrated","deregistered"],["deregistred","deregistered"],["deregiter","deregister"],["deregiters","deregisters"],["derevative","derivative"],["derevatives","derivatives"],["derferencing","dereferencing"],["derfien","define"],["derfiend","defined"],["derfine","define"],["derfined","defined"],["dergeistered","deregistered"],["dergistration","deregistration"],["deriair","derriere"],["dericed","derived"],["dericteries","directories"],["derictery","directory"],["dericteryes","directories"],["dericterys","directories"],["deriffed","derived"],["derivaties","derivatives"],["derivatio","derivation"],["derivativ","derivative"],["derivativs","derivatives"],["deriviated","derived"],["derivitive","derivative"],["derivitives","derivatives"],["derivitivs","derivatives"],["derivtive","derivative"],["derivtives","derivatives"],["dermine","determine"],["dermined","determined"],["dermines","determines"],["dermining","determining"],["derogitory","derogatory"],["derprecated","deprecated"],["derrivatives","derivatives"],["derrive","derive"],["derrived","derived"],["dertermine","determine"],["derterming","determining"],["derth","dearth"],["derviative","derivative"],["derviatives","derivatives"],["dervie","derive"],["dervied","derived"],["dervies","derives"],["dervived","derived"],["desactivate","deactivate"],["desactivated","deactivated"],["desallocate","deallocate"],["desallocated","deallocated"],["desallocates","deallocates"],["desaster","disaster"],["descallocate","deallocate"],["descallocated","deallocated"],["descchedules","deschedules"],["desccription","description"],["descencing","descending"],["descendands","descendants"],["descibe","describe"],["descibed","described"],["descibes","describes"],["descibing","describing"],["descide","decide"],["descided","decided"],["descides","decides"],["desciding","deciding"],["desciption","description"],["desciptions","descriptions"],["desciptor","descriptor"],["desciptors","descriptors"],["desciribe","describe"],["desciribed","described"],["desciribes","describes"],["desciribing","describing"],["desciription","description"],["desciriptions","descriptions"],["descirption","description"],["descirptor","descriptor"],["descision","decision"],["descisions","decisions"],["descize","disguise"],["descized","disguised"],["descktop","desktop"],["descktops","desktops"],["desconstructed","deconstructed"],["descover","discover"],["descovered","discovered"],["descovering","discovering"],["descovery","discovery"],["descrease","decrease"],["descreased","decreased"],["descreases","decreases"],["descreasing","decreasing"],["descrementing","decrementing"],["descrete","discrete"],["describ","describe"],["describbed","described"],["describibg","describing"],["describng","describing"],["describtion","description"],["describtions","descriptions"],["descrice","describe"],["descriced","described"],["descrices","describes"],["descricing","describing"],["descrie","describe"],["descriibes","describes"],["descriminant","discriminant"],["descriminate","discriminate"],["descriminated","discriminated"],["descriminates","discriminates"],["descriminating","discriminating"],["descriont","description"],["descriotor","descriptor"],["descripe","describe"],["descriped","described"],["descripes","describes"],["descriping","describing"],["descripition","description"],["descripor","descriptor"],["descripors","descriptors"],["descripter","descriptor"],["descripters","descriptors"],["descriptio","description"],["descriptiom","description"],["descriptionm","description"],["descriptior","descriptor"],["descriptiors","descriptors"],["descripto","descriptor"],["descriptoin","description"],["descriptoins","descriptions"],["descripton","description"],["descriptons","descriptions"],["descriptot","descriptor"],["descriptoy","descriptor"],["descriptuve","descriptive"],["descrition","description"],["descritpion","description"],["descritpions","descriptions"],["descritpiton","description"],["descritpitons","descriptions"],["descritpor","descriptor"],["descritpors","descriptors"],["descritpr","descriptor"],["descritpro","descriptor"],["descritpros","descriptors"],["descritprs","descriptors"],["descritption","description"],["descritptions","descriptions"],["descritptive","descriptive"],["descritptor","descriptor"],["descritptors","descriptors"],["descrption","description"],["descrptions","descriptions"],["descrptor","descriptor"],["descrptors","descriptors"],["descrtiption","description"],["descrtiptions","descriptions"],["descrutor","destructor"],["descrybe","describe"],["descrybing","describing"],["descryption","description"],["descryptions","descriptions"],["desctiption","description"],["desctiptor","descriptor"],["desctiptors","descriptors"],["desctop","desktop"],["desctructed","destructed"],["desctruction","destruction"],["desctructive","destructive"],["desctructor","destructor"],["desctructors","destructors"],["descuss","discuss"],["descvription","description"],["descvriptions","descriptions"],["deselct","deselect"],["deselctable","deselectable"],["deselctables","deselectable"],["deselcted","deselected"],["deselcting","deselecting"],["desepears","disappears"],["deserailise","deserialise"],["deserailize","deserialize"],["deserialisazion","deserialisation"],["deserializaed","deserialized"],["deserializazion","deserialization"],["deserialsiation","deserialisation"],["deserialsie","deserialise"],["deserialsied","deserialised"],["deserialsies","deserialises"],["deserialsing","deserialising"],["deserialze","deserialize"],["deserialzed","deserialized"],["deserialzes","deserializes"],["deserialziation","deserialization"],["deserialzie","deserialize"],["deserialzied","deserialized"],["deserialzies","deserializes"],["deserialzing","deserializing"],["desgin","design"],["desgin-mode","design-mode"],["desgined","designed"],["desginer","designer"],["desiar","desire"],["desicate","desiccate"],["desicion","decision"],["desicions","decisions"],["deside","decide"],["desided","decided"],["desides","decides"],["desig","design"],["desigern","designer"],["desigining","designing"],["designd","designed"],["desination","destination"],["desinations","destinations"],["desine","design"],["desing","design"],["desingable","designable"],["desinged","designed"],["desinger","designer"],["desinging","designing"],["desingn","design"],["desingned","designed"],["desingner","designer"],["desingning","designing"],["desingns","designs"],["desings","designs"],["desintaiton","destination"],["desintaitons","destinations"],["desintation","destination"],["desintations","destinations"],["desintegrated","disintegrated"],["desintegration","disintegration"],["desipite","despite"],["desireable","desirable"],["desision","decision"],["desisions","decisions"],["desitable","desirable"],["desitination","destination"],["desitinations","destinations"],["desition","decision"],["desitions","decisions"],["desitned","destined"],["deskop","desktop"],["deskops","desktops"],["desktiop","desktop"],["deskys","disguise"],["deslected","deselected"],["deslects","deselects"],["desltop","desktop"],["desltops","desktops"],["desn't","doesn't"],["desne","dense"],["desnse","dense"],["desogn","design"],["desogned","designed"],["desogner","designer"],["desogning","designing"],["desogns","designs"],["desolve","dissolve"],["desorder","disorder"],["desoriented","disoriented"],["desparately","desperately"],["despatch","dispatch"],["despict","depict"],["despiration","desperation"],["desplay","display"],["desplayed","displayed"],["desplays","displays"],["desposition","disposition"],["desrciption","description"],["desrciptions","descriptions"],["desribe","describe"],["desribed","described"],["desribes","describes"],["desribing","describing"],["desription","description"],["desriptions","descriptions"],["desriptor","descriptor"],["desriptors","descriptors"],["desrire","desire"],["desrired","desired"],["desroyer","destroyer"],["desscribe","describe"],["desscribing","describing"],["desscription","description"],["dessicate","desiccate"],["dessicated","desiccated"],["dessication","desiccation"],["dessigned","designed"],["desstructor","destructor"],["destablized","destabilized"],["destanation","destination"],["destanations","destinations"],["destiantion","destination"],["destiantions","destinations"],["destiation","destination"],["destiations","destinations"],["destinaion","destination"],["destinaions","destinations"],["destinaiton","destination"],["destinaitons","destinations"],["destinarion","destination"],["destinarions","destinations"],["destinataion","destination"],["destinataions","destinations"],["destinatin","destination"],["destinatino","destination"],["destinatinos","destinations"],["destinatins","destinations"],["destinaton","destination"],["destinatons","destinations"],["destinguish","distinguish"],["destintation","destination"],["destintations","destinations"],["destionation","destination"],["destionations","destinations"],["destop","desktop"],["destops","desktops"],["destoried","destroyed"],["destort","distort"],["destory","destroy"],["destoryed","destroyed"],["destorying","destroying"],["destorys","destroys"],["destoy","destroy"],["destoyed","destroyed"],["destrcut","destruct"],["destrcuted","destructed"],["destrcutor","destructor"],["destrcutors","destructors"],["destribute","distribute"],["destributed","distributed"],["destroi","destroy"],["destroied","destroyed"],["destroing","destroying"],["destrois","destroys"],["destroyes","destroys"],["destruciton","destruction"],["destructro","destructor"],["destructros","destructors"],["destruktor","destructor"],["destruktors","destructors"],["destrutor","destructor"],["destrutors","destructors"],["destry","destroy"],["destryed","destroyed"],["destryer","destroyer"],["destrying","destroying"],["destryiong","destroying"],["destryoed","destroyed"],["destryoing","destroying"],["destryong","destroying"],["destrys","destroys"],["destuction","destruction"],["destuctive","destructive"],["destuctor","destructor"],["destuctors","destructors"],["desturcted","destructed"],["desturtor","destructor"],["desturtors","destructors"],["desychronize","desynchronize"],["desychronized","desynchronized"],["detabase","database"],["detachs","detaches"],["detahced","detached"],["detaild","detailed"],["detailled","detailed"],["detais","details"],["detals","details"],["detatch","detach"],["detatched","detached"],["detatches","detaches"],["detatching","detaching"],["detault","default"],["detaulted","defaulted"],["detaulting","defaulting"],["detaults","defaults"],["detction","detection"],["detctions","detections"],["deteced","detected"],["detecing","detecting"],["detecion","detection"],["detecions","detections"],["detectected","detected"],["detectes","detects"],["detectetd","detected"],["detectsion","detection"],["detectsions","detections"],["detemine","determine"],["detemined","determined"],["detemines","determines"],["detemining","determining"],["deteoriated","deteriorated"],["deterant","deterrent"],["deteremine","determine"],["deteremined","determined"],["deteriate","deteriorate"],["deterimined","determined"],["deterine","determine"],["deterioriating","deteriorating"],["determaine","determine"],["determenant","determinant"],["determenistic","deterministic"],["determiens","determines"],["determimnes","determines"],["determin","determine"],["determinated","determined"],["determind","determined"],["determinded","determined"],["determinee","determine"],["determineing","determining"],["determinining","determining"],["deterministinc","deterministic"],["determinne","determine"],["determins","determines"],["determinse","determines"],["determinstic","deterministic"],["determinstically","deterministically"],["determintes","determines"],["determnine","determine"],["deternine","determine"],["detetmine","determine"],["detial","detail"],["detialed","detailed"],["detialing","detailing"],["detials","details"],["detination","destination"],["detinations","destinations"],["detremental","detrimental"],["detremining","determining"],["detrmine","determine"],["detrmined","determined"],["detrmines","determines"],["detrmining","determining"],["detroy","destroy"],["detroyed","destroyed"],["detroying","destroying"],["detroys","destroys"],["detructed","destructed"],["dettach","detach"],["dettaching","detaching"],["detur","detour"],["deturance","deterrence"],["deubug","debug"],["deubuging","debugging"],["deug","debug"],["deugging","debugging"],["devasted","devastated"],["devation","deviation"],["devce","device"],["devcent","decent"],["devcie","device"],["devcies","devices"],["develoers","developers"],["develoment","development"],["develoments","developments"],["develompent","development"],["develompental","developmental"],["develompents","developments"],["develope","develop"],["developement","development"],["developements","developments"],["developmemt","development"],["developmet","development"],["developmetns","developments"],["developmets","developments"],["developp","develop"],["developpe","develop"],["developped","developed"],["developpement","development"],["developper","developer"],["developpers","developers"],["developpment","development"],["develp","develop"],["develped","developed"],["develper","developer"],["develpers","developers"],["develping","developing"],["develpment","development"],["develpments","developments"],["develps","develops"],["devels","delves"],["deveolpment","development"],["deveopers","developers"],["deverloper","developer"],["deverlopers","developers"],["devestated","devastated"],["devestating","devastating"],["devfine","define"],["devfined","defined"],["devfines","defines"],["devic","device"],["devicde","device"],["devicdes","devices"],["device-dependend","device-dependent"],["devicec","device"],["devicecoordiinates","devicecoordinates"],["deviceremoveable","deviceremovable"],["devicesr","devices"],["devicess","devices"],["devicest","devices"],["devide","divide"],["devided","divided"],["devider","divider"],["deviders","dividers"],["devides","divides"],["deviding","dividing"],["deviece","device"],["devied","device"],["deviiate","deviate"],["deviiated","deviated"],["deviiates","deviates"],["deviiating","deviating"],["deviiation","deviation"],["deviiations","deviations"],["devined","defined"],["devired","derived"],["devirtualisaion","devirtualisation"],["devirtualisaiton","devirtualisation"],["devirtualizaion","devirtualization"],["devirtualizaiton","devirtualization"],["devirutalisation","devirtualisation"],["devirutalise","devirtualise"],["devirutalised","devirtualised"],["devirutalization","devirtualization"],["devirutalize","devirtualize"],["devirutalized","devirtualized"],["devisible","divisible"],["devision","division"],["devistating","devastating"],["devive","device"],["devleop","develop"],["devleoped","developed"],["devleoper","developer"],["devleopers","developers"],["devleoping","developing"],["devleopment","development"],["devleopper","developer"],["devleoppers","developers"],["devlop","develop"],["devloped","developed"],["devloper's","developer's"],["devloper","developer"],["devlopers","developers"],["devloping","developing"],["devlopment","development"],["devlopments","developments"],["devlopper","developer"],["devloppers","developers"],["devlops","develops"],["devolopement","development"],["devritualisation","devirtualisation"],["devritualization","devirtualization"],["devuce","device"],["dewrapping","unwrapping"],["dezert","dessert"],["dezibel","decibel"],["dezine","design"],["dezinens","denizens"],["dfine","define"],["dfined","defined"],["dfines","defines"],["dfinition","definition"],["dfinitions","definitions"],["dgetttext","dgettext"],["diable","disable"],["diabled","disabled"],["diabler","disabler"],["diablers","disablers"],["diables","disables"],["diablical","diabolical"],["diabling","disabling"],["diaciritc","diacritic"],["diaciritcs","diacritics"],["diagnistic","diagnostic"],["diagnoal","diagonal"],["diagnoals","diagonals"],["diagnol","diagonal"],["diagnosics","diagnostics"],["diagnositc","diagnostic"],["diagnotic","diagnostic"],["diagnotics","diagnostics"],["diagnxostic","diagnostic"],["diagonale","diagonal"],["diagonales","diagonals"],["diagramas","diagrams"],["diagramm","diagram"],["dialaog","dialog"],["dialate","dilate"],["dialgo","dialog"],["dialgos","dialogs"],["dialig","dialog"],["dialigs","dialogs"],["diamater","diameter"],["diamaters","diameters"],["diamon","diamond"],["diamons","diamonds"],["diamter","diameter"],["diamters","diameters"],["diangose","diagnose"],["dianostic","diagnostic"],["dianostics","diagnostics"],["diaplay","display"],["diaplays","displays"],["diappeares","disappears"],["diarea","diarrhea"],["diaresis","diaeresis"],["diasble","disable"],["diasbled","disabled"],["diasbles","disables"],["diasbling","disabling"],["diaspra","diaspora"],["diaster","disaster"],["diatance","distance"],["diatancing","distancing"],["dicard","discard"],["dicarded","discarded"],["dicarding","discarding"],["dicards","discards"],["dicates","dictates"],["dicationaries","dictionaries"],["dicationary","dictionary"],["dicergence","divergence"],["dichtomy","dichotomy"],["dicionaries","dictionaries"],["dicionary","dictionary"],["dicipline","discipline"],["dicitonaries","dictionaries"],["dicitonary","dictionary"],["dicline","decline"],["diconnected","disconnected"],["diconnection","disconnection"],["diconnects","disconnects"],["dicover","discover"],["dicovered","discovered"],["dicovering","discovering"],["dicovers","discovers"],["dicovery","discovery"],["dicrectory","directory"],["dicrete","discrete"],["dicretion","discretion"],["dicretionary","discretionary"],["dicriminate","discriminate"],["dicriminated","discriminated"],["dicriminates","discriminates"],["dicriminating","discriminating"],["dicriminator","discriminator"],["dicriminators","discriminators"],["dicsriminated","discriminated"],["dictaionaries","dictionaries"],["dictaionary","dictionary"],["dictinary","dictionary"],["dictioanries","dictionaries"],["dictioanry","dictionary"],["dictionarys","dictionaries"],["dictionay","dictionary"],["dictionnaries","dictionaries"],["dictionnary","dictionary"],["dictionries","dictionaries"],["dictionry","dictionary"],["dictoinaries","dictionaries"],["dictoinary","dictionary"],["dictonaries","dictionaries"],["dictonary","dictionary"],["dictrionaries","dictionaries"],["dictrionary","dictionary"],["dicussed","discussed"],["dicussions","discussions"],["did'nt","didn't"],["didi","did"],["didn;t","didn't"],["didnt'","didn't"],["didnt't","didn't"],["didnt","didn't"],["didnt;","didn't"],["diect","direct"],["diectly","directly"],["dielectirc","dielectric"],["dielectircs","dielectrics"],["diemsion","dimension"],["dieties","deities"],["diety","deity"],["diference","difference"],["diferences","differences"],["diferent","different"],["diferentiate","differentiate"],["diferentiated","differentiated"],["diferentiates","differentiates"],["diferentiating","differentiating"],["diferently","differently"],["diferrent","different"],["diffcult","difficult"],["diffculties","difficulties"],["diffculty","difficulty"],["diffeent","different"],["diffence","difference"],["diffenet","different"],["diffenrence","difference"],["diffenrences","differences"],["differance","difference"],["differances","differences"],["differant","different"],["differantiate","differentiate"],["differantiation","differentiation"],["differantiator","differentiator"],["differantion","differentiation"],["differate","differentiate"],["differece","difference"],["differect","different"],["differen","different"],["differencess","differences"],["differencial","differential"],["differenciate","differentiate"],["differenciated","differentiated"],["differenciates","differentiates"],["differenciating","differentiating"],["differenciation","differentiation"],["differencies","differences"],["differenct","different"],["differend","different"],["differene","difference"],["differenes","differences"],["differenly","differently"],["differens","difference"],["differense","difference"],["differentiatiations","differentiations"],["differentiaton","differentiation"],["differentl","differently"],["differernt","different"],["differes","differs"],["differetnt","different"],["differnce","difference"],["differnces","differences"],["differnciate","differentiate"],["differnec","difference"],["differnece","difference"],["differneces","differences"],["differnecs","differences"],["differnence","difference"],["differnences","differences"],["differnencing","differencing"],["differnent","different"],["differnet","different"],["differnetiate","differentiate"],["differnetiated","differentiated"],["differnetly","differently"],["differnt","different"],["differntiable","differentiable"],["differntial","differential"],["differntials","differentials"],["differntiate","differentiate"],["differntiated","differentiated"],["differntiates","differentiates"],["differntiating","differentiating"],["differntly","differently"],["differred","differed"],["differrence","difference"],["differrent","different"],["difffered","differed"],["diffferent","different"],["diffferently","differently"],["difffers","differs"],["difficault","difficult"],["difficaulties","difficulties"],["difficaulty","difficulty"],["difficulity","difficulty"],["difficutl","difficult"],["difficutly","difficulty"],["diffreences","differences"],["diffreent","different"],["diffrence","difference"],["diffrences","differences"],["diffrent","different"],["diffrential","differential"],["diffrentiate","differentiate"],["diffrentiated","differentiated"],["diffrently","differently"],["diffrerence","difference"],["diffrerences","differences"],["diffult","difficult"],["diffussion","diffusion"],["diffussive","diffusive"],["dificulties","difficulties"],["dificulty","difficulty"],["difinition","definition"],["difinitions","definitions"],["difract","diffract"],["difracted","diffracted"],["difraction","diffraction"],["difractive","diffractive"],["difussion","diffusion"],["difussive","diffusive"],["digesty","digest"],["diggit","digit"],["diggital","digital"],["diggits","digits"],["digial","digital"],["digist","digits"],["digitalise","digitize"],["digitalising","digitizing"],["digitalize","digitize"],["digitalizing","digitizing"],["digitial","digital"],["digitis","digits"],["dignostics","diagnostics"],["dilema","dilemma"],["dilemas","dilemmas"],["dilineate","delineate"],["dillema","dilemma"],["dillemas","dilemmas"],["dilligence","diligence"],["dilligent","diligent"],["dilligently","diligently"],["dillimport","dllimport"],["dimansion","dimension"],["dimansional","dimensional"],["dimansions","dimensions"],["dimemsions","dimensions"],["dimenional","dimensional"],["dimenionalities","dimensionalities"],["dimenionality","dimensionality"],["dimenions","dimensions"],["dimenionsal","dimensional"],["dimenionsalities","dimensionalities"],["dimenionsality","dimensionality"],["dimenison","dimension"],["dimensinal","dimensional"],["dimensinoal","dimensional"],["dimensinos","dimensions"],["dimensionaility","dimensionality"],["dimensiones","dimensions"],["dimensonal","dimensional"],["dimenstion","dimension"],["dimenstions","dimensions"],["dimention","dimension"],["dimentional","dimensional"],["dimentionnal","dimensional"],["dimentionnals","dimensional"],["dimentions","dimensions"],["dimesions","dimensions"],["dimesnion","dimension"],["dimesnional","dimensional"],["dimesnions","dimensions"],["diminsh","diminish"],["diminshed","diminished"],["diminuitive","diminutive"],["dimissed","dismissed"],["dimmension","dimension"],["dimmensioned","dimensioned"],["dimmensioning","dimensioning"],["dimmensions","dimensions"],["dimnension","dimension"],["dimnention","dimension"],["dimunitive","diminutive"],["dinamic","dynamic"],["dinamically","dynamically"],["dinamicaly","dynamically"],["dinamiclly","dynamically"],["dinamicly","dynamically"],["dinmaic","dynamic"],["dinteractively","interactively"],["diong","doing"],["diosese","diocese"],["diphtong","diphthong"],["diphtongs","diphthongs"],["diplacement","displacement"],["diplay","display"],["diplayed","displayed"],["diplaying","displaying"],["diplays","displays"],["diplomancy","diplomacy"],["dipthong","diphthong"],["dipthongs","diphthongs"],["dircet","direct"],["dircetories","directories"],["dircetory","directory"],["dirctly","directly"],["dirctories","directories"],["dirctory","directory"],["direccion","direction"],["direcctly","directly"],["direcctory","directory"],["direcctorys","directories"],["direcctries","directories"],["direcdories","directories"],["direcdory","directory"],["direcdorys","directories"],["direcion","direction"],["direcions","directions"],["direciton","direction"],["direcitonal","directional"],["direcitons","directions"],["direclty","directly"],["direcly","directly"],["direcories","directories"],["direcory","directory"],["direcotories","directories"],["direcotory","directory"],["direcotries","directories"],["direcotry","directory"],["direcoty","directory"],["directd","directed"],["directely","directly"],["directes","directs"],["directgories","directories"],["directgory","directory"],["directiories","directories"],["directiory","directory"],["directoies","directories"],["directon","direction"],["directoories","directories"],["directoory","directory"],["directores","directories"],["directoris","directories"],["directort","directory"],["directorty","directory"],["directorys","directories"],["directoty","directory"],["directove","directive"],["directoves","directives"],["directoy","directory"],["directpries","directories"],["directpry","directory"],["directries","directories"],["directrive","directive"],["directrives","directives"],["directrly","directly"],["directroies","directories"],["directrories","directories"],["directrory","directory"],["directroy","directory"],["directry","directory"],["directsion","direction"],["directsions","directions"],["directtories","directories"],["directtory","directory"],["directy","directly"],["direectly","directly"],["diregard","disregard"],["direktly","directly"],["direrctor","director"],["direrctories","directories"],["direrctors","directors"],["direrctory","directory"],["diretive","directive"],["diretly","directly"],["diretories","directories"],["diretory","directory"],["direvctory","directory"],["dirived","derived"],["dirrectly","directly"],["dirtectory","directory"],["dirtyed","dirtied"],["dirtyness","dirtiness"],["dirver","driver"],["disabe","disable"],["disabeling","disabling"],["disabels","disables"],["disabes","disables"],["disabilitiles","disabilities"],["disabilitily","disability"],["disabiltities","disabilities"],["disabiltitiy","disability"],["disabing","disabling"],["disabl","disable"],["disablle","disable"],["disadvantadge","disadvantage"],["disagreeed","disagreed"],["disagress","disagrees"],["disalb","disable"],["disalbe","disable"],["disalbed","disabled"],["disalbes","disables"],["disale","disable"],["disaled","disabled"],["disalow","disallow"],["disambigouate","disambiguate"],["disambiguaiton","disambiguation"],["disambiguiation","disambiguation"],["disapear","disappear"],["disapeard","disappeared"],["disapeared","disappeared"],["disapearing","disappearing"],["disapears","disappears"],["disapline","discipline"],["disapoint","disappoint"],["disapointed","disappointed"],["disapointing","disappointing"],["disappared","disappeared"],["disappearaing","disappearing"],["disappeard","disappeared"],["disappearred","disappeared"],["disapper","disappear"],["disapperar","disappear"],["disapperarance","disappearance"],["disapperared","disappeared"],["disapperars","disappears"],["disappered","disappeared"],["disappering","disappearing"],["disappers","disappears"],["disapporval","disapproval"],["disapporve","disapprove"],["disapporved","disapproved"],["disapporves","disapproves"],["disapporving","disapproving"],["disapprouval","disapproval"],["disapprouve","disapprove"],["disapprouved","disapproved"],["disapprouves","disapproves"],["disapprouving","disapproving"],["disaproval","disapproval"],["disard","discard"],["disariable","desirable"],["disassebled","disassembled"],["disassocate","disassociate"],["disassocation","disassociation"],["disasssembler","disassembler"],["disasterous","disastrous"],["disatisfaction","dissatisfaction"],["disatisfied","dissatisfied"],["disatrous","disastrous"],["disbale","disable"],["disbaled","disabled"],["disbales","disables"],["disbaling","disabling"],["disble","disable"],["disbled","disabled"],["discared","discarded"],["discareded","discarded"],["discarge","discharge"],["discconecct","disconnect"],["discconeccted","disconnected"],["discconeccting","disconnecting"],["discconecction","disconnection"],["discconecctions","disconnections"],["discconeccts","disconnects"],["discconect","disconnect"],["discconected","disconnected"],["discconecting","disconnecting"],["discconection","disconnection"],["discconections","disconnections"],["discconects","disconnects"],["discconeect","disconnect"],["discconeected","disconnected"],["discconeecting","disconnecting"],["discconeection","disconnection"],["discconeections","disconnections"],["discconeects","disconnects"],["discconenct","disconnect"],["discconencted","disconnected"],["discconencting","disconnecting"],["discconenction","disconnection"],["discconenctions","disconnections"],["discconencts","disconnects"],["discconet","disconnect"],["discconeted","disconnected"],["discconeting","disconnecting"],["discconetion","disconnection"],["discconetions","disconnections"],["discconets","disconnects"],["disccuss","discuss"],["discernable","discernible"],["dischare","discharge"],["discimenation","dissemination"],["disciplins","disciplines"],["disclamer","disclaimer"],["disconecct","disconnect"],["disconeccted","disconnected"],["disconeccting","disconnecting"],["disconecction","disconnection"],["disconecctions","disconnections"],["disconeccts","disconnects"],["disconect","disconnect"],["disconected","disconnected"],["disconecting","disconnecting"],["disconection","disconnection"],["disconections","disconnections"],["disconects","disconnects"],["disconeect","disconnect"],["disconeected","disconnected"],["disconeecting","disconnecting"],["disconeection","disconnection"],["disconeections","disconnections"],["disconeects","disconnects"],["disconenct","disconnect"],["disconencted","disconnected"],["disconencting","disconnecting"],["disconenction","disconnection"],["disconenctions","disconnections"],["disconencts","disconnects"],["disconet","disconnect"],["disconeted","disconnected"],["disconeting","disconnecting"],["disconetion","disconnection"],["disconetions","disconnections"],["disconets","disconnects"],["disconnec","disconnect"],["disconneced","disconnected"],["disconnet","disconnect"],["disconneted","disconnected"],["disconneting","disconnecting"],["disconnets","disconnects"],["disconnnect","disconnect"],["discontigious","discontiguous"],["discontigous","discontiguous"],["discontiguities","discontinuities"],["discontinous","discontinuous"],["discontinuos","discontinuous"],["discoraged","discouraged"],["discouranged","discouraged"],["discourarged","discouraged"],["discourrage","discourage"],["discourraged","discouraged"],["discove","discover"],["discoved","discovered"],["discovereability","discoverability"],["discoveribility","discoverability"],["discovey","discovery"],["discovr","discover"],["discovred","discovered"],["discovring","discovering"],["discovrs","discovers"],["discrace","disgrace"],["discraced","disgraced"],["discraceful","disgraceful"],["discracefully","disgracefully"],["discracefulness","disgracefulness"],["discraces","disgraces"],["discracing","disgracing"],["discrards","discards"],["discreminates","discriminates"],["discrepencies","discrepancies"],["discrepency","discrepancy"],["discrepicies","discrepancies"],["discribe","describe"],["discribed","described"],["discribes","describes"],["discribing","describing"],["discription","description"],["discriptions","descriptions"],["discriptor's","descriptor's"],["discriptor","descriptor"],["discriptors","descriptors"],["disctinction","distinction"],["disctinctive","distinctive"],["disctinguish","distinguish"],["disctionaries","dictionaries"],["disctionary","dictionary"],["discuassed","discussed"],["discused","discussed"],["discusion","discussion"],["discusions","discussions"],["discusson","discussion"],["discussons","discussions"],["discusting","disgusting"],["discuusion","discussion"],["disdvantage","disadvantage"],["disecting","dissecting"],["disection","dissection"],["diselect","deselect"],["disemination","dissemination"],["disenchanged","disenchanted"],["disencouraged","discouraged"],["disertation","dissertation"],["disfunctional","dysfunctional"],["disfunctionality","dysfunctionality"],["disgn","design"],["disgned","designed"],["disgner","designer"],["disgning","designing-"],["disgnostic","diagnostic"],["disgnostics","diagnostics"],["disgns","designs"],["disguisting","disgusting"],["disharge","discharge"],["disign","design"],["disignated","designated"],["disinguish","distinguish"],["disiplined","disciplined"],["disired","desired"],["disitributions","distributions"],["diskrete","discrete"],["diskretion","discretion"],["diskretization","discretization"],["diskretize","discretize"],["diskretized","discretized"],["diskrimination","discrimination"],["dislaimer","disclaimer"],["dislay","display"],["dislayed","displayed"],["dislaying","displaying"],["dislays","displays"],["dislpay","display"],["dislpayed","displayed"],["dislpaying","displaying"],["dislpays","displays"],["disnabled","disabled"],["disobediance","disobedience"],["disobediant","disobedient"],["disokay","display"],["disolve","dissolve"],["disolved","dissolved"],["disonnect","disconnect"],["disonnected","disconnected"],["disover","discover"],["disovered","discovered"],["disovering","discovering"],["disovery","discovery"],["dispached","dispatched"],["dispair","despair"],["dispalcement","displacement"],["dispalcements","displacements"],["dispaly","display"],["dispalyable","displayable"],["dispalyed","displayed"],["dispalyes","displays"],["dispalying","displaying"],["dispalys","displays"],["disparingly","disparagingly"],["disparite","disparate"],["dispatcgh","dispatch"],["dispatchs","dispatches"],["dispath","dispatch"],["dispathed","dispatched"],["dispathes","dispatches"],["dispathing","dispatching"],["dispay","display"],["dispayed","displayed"],["dispayes","displays"],["dispayport","displayport"],["dispays","displays"],["dispbibute","distribute"],["dispell","dispel"],["dispence","dispense"],["dispenced","dispensed"],["dispencing","dispensing"],["dispertion","dispersion"],["dispicable","despicable"],["dispite","despite"],["displa","display"],["displacemnt","displacement"],["displacemnts","displacements"],["displacment","displacement"],["displacments","displacements"],["displayd","displayed"],["displayied","displayed"],["displayig","displaying"],["disply","display"],["displyed","displayed"],["displying","displaying"],["displys","displays"],["dispode","dispose"],["disporue","disparue"],["disporve","disprove"],["disporved","disproved"],["disporves","disproves"],["disporving","disproving"],["disposel","disposal"],["dispossable","disposable"],["dispossal","disposal"],["disposse","dispose"],["dispossing","disposing"],["dispostion","disposition"],["disproportiate","disproportionate"],["disproportionatly","disproportionately"],["disputandem","disputandum"],["disregrad","disregard"],["disrete","discrete"],["disretion","discretion"],["disribution","distribution"],["disricts","districts"],["disrm","disarm"],["dissable","disable"],["dissabled","disabled"],["dissables","disables"],["dissabling","disabling"],["dissadvantage","disadvantage"],["dissadvantages","disadvantages"],["dissagreement","disagreement"],["dissagregation","dissaggregation"],["dissallow","disallow"],["dissallowed","disallowed"],["dissallowing","disallowing"],["dissallows","disallows"],["dissalow","disallow"],["dissalowed","disallowed"],["dissalowing","disallowing"],["dissalows","disallows"],["dissambiguate","disambiguate"],["dissamble","disassemble"],["dissambled","disassembled"],["dissambler","disassembler"],["dissambles","disassembles"],["dissamblies","disassemblies"],["dissambling","disassembling"],["dissambly","disassembly"],["dissapate","dissipate"],["dissapates","dissipates"],["dissapear","disappear"],["dissapearance","disappearance"],["dissapeard","disappeared"],["dissapeared","disappeared"],["dissapearing","disappearing"],["dissapears","disappears"],["dissaper","disappear"],["dissaperd","disappeared"],["dissapered","disappeared"],["dissapering","disappearing"],["dissapers","disappears"],["dissapoint","disappoint"],["dissapointed","disappointed"],["dissapointing","disappointing"],["dissapoints","disappoints"],["dissappear","disappear"],["dissappeard","disappeared"],["dissappeared","disappeared"],["dissappearing","disappearing"],["dissappears","disappears"],["dissapper","disappear"],["dissapperd","disappeared"],["dissappered","disappeared"],["dissappering","disappearing"],["dissappers","disappears"],["dissappointed","disappointed"],["dissapprove","disapprove"],["dissapproves","disapproves"],["dissarray","disarray"],["dissasemble","disassemble"],["dissasembled","disassembled"],["dissasembler","disassembler"],["dissasembles","disassembles"],["dissasemblies","disassemblies"],["dissasembling","disassembling"],["dissasembly","disassembly"],["dissasociate","disassociate"],["dissasociated","disassociated"],["dissasociates","disassociates"],["dissasociation","disassociation"],["dissassemble","disassemble"],["dissassembled","disassembled"],["dissassembler","disassembler"],["dissassembles","disassembles"],["dissassemblies","disassemblies"],["dissassembling","disassembling"],["dissassembly","disassembly"],["dissassociate","disassociate"],["dissassociated","disassociated"],["dissassociates","disassociates"],["dissassociating","disassociating"],["dissaster","disaster"],["dissasters","disasters"],["dissble","disable"],["dissbled","disabled"],["dissbles","disables"],["dissbling","disabling"],["dissconect","disconnect"],["dissconnect","disconnect"],["dissconnected","disconnected"],["dissconnects","disconnects"],["disscover","discover"],["disscovered","discovered"],["disscovering","discovering"],["disscovers","discovers"],["disscovery","discovery"],["dissct","dissect"],["disscted","dissected"],["disscting","dissecting"],["dissctor","dissector"],["dissctors","dissectors"],["disscts","dissects"],["disscuesed","discussed"],["disscus","discuss"],["disscused","discussed"],["disscuses","discusses"],["disscusing","discussing"],["disscusion","discussion"],["disscuss","discuss"],["disscussed","discussed"],["disscusses","discusses"],["disscussing","discussing"],["disscussion","discussion"],["disscussions","discussions"],["disshearteningly","dishearteningly"],["dissimialr","dissimilar"],["dissimialrity","dissimilarity"],["dissimialrly","dissimilarly"],["dissimiar","dissimilar"],["dissimilarily","dissimilarly"],["dissimilary","dissimilarly"],["dissimilat","dissimilar"],["dissimilia","dissimilar"],["dissimiliar","dissimilar"],["dissimiliarity","dissimilarity"],["dissimiliarly","dissimilarly"],["dissimiliarty","dissimilarity"],["dissimiliary","dissimilarity"],["dissimillar","dissimilar"],["dissimlar","dissimilar"],["dissimlarlity","dissimilarity"],["dissimlarly","dissimilarly"],["dissimliar","dissimilar"],["dissimliarly","dissimilarly"],["dissimmetric","dissymmetric"],["dissimmetrical","dissymmetrical"],["dissimmetry","dissymmetry"],["dissmantle","dismantle"],["dissmantled","dismantled"],["dissmantles","dismantles"],["dissmantling","dismantling"],["dissmis","dismiss"],["dissmised","dismissed"],["dissmises","dismisses"],["dissmising","dismissing"],["dissmiss","dismiss"],["dissmissed","dismissed"],["dissmisses","dismisses"],["dissmissing","dismissing"],["dissobediance","disobedience"],["dissobediant","disobedient"],["dissobedience","disobedience"],["dissobedient","disobedient"],["dissplay","display"],["dissrupt","disrupt"],["dissrupted","disrupted"],["dissrupting","disrupting"],["dissrupts","disrupts"],["disssemble","disassemble"],["disssembled","disassembled"],["disssembler","disassembler"],["disssembles","disassembles"],["disssemblies","disassemblies"],["disssembling","disassembling"],["disssembly","disassembly"],["disssociate","dissociate"],["disssociated","dissociated"],["disssociates","dissociates"],["disssociating","dissociating"],["distaced","distanced"],["distange","distance"],["distanse","distance"],["distantce","distance"],["distarct","distract"],["distater","disaster"],["distengish","distinguish"],["distibute","distribute"],["distibuted","distributed"],["distibutes","distributes"],["distibuting","distributing"],["distibution","distribution"],["distibutions","distributions"],["distiction","distinction"],["distictly","distinctly"],["distiguish","distinguish"],["distiguished","distinguished"],["distinative","distinctive"],["distingish","distinguish"],["distingished","distinguished"],["distingishes","distinguishes"],["distingishing","distinguishing"],["distingiush","distinguish"],["distingquished","distinguished"],["distinguise","distinguish"],["distinguised","distinguished"],["distinguises","distinguishes"],["distingush","distinguish"],["distingushed","distinguished"],["distingushes","distinguishes"],["distingushing","distinguishing"],["distingusih","distinguish"],["distinquish","distinguish"],["distinquishable","distinguishable"],["distinquished","distinguished"],["distinquishes","distinguishes"],["distinquishing","distinguishing"],["distintions","distinctions"],["distirbute","distribute"],["distirbuted","distributed"],["distirbutes","distributes"],["distirbuting","distributing"],["distirbution","distribution"],["distirbutions","distributions"],["distirted","distorted"],["distnace","distance"],["distnaces","distances"],["distnce","distance"],["distnces","distances"],["distnct","distinct"],["distncte","distance"],["distnctes","distances"],["distnguish","distinguish"],["distnguished","distinguished"],["distniguish","distinguish"],["distniguished","distinguished"],["distorsion","distortion"],["distorsional","distortional"],["distorsions","distortions"],["distrbute","distribute"],["distrbuted","distributed"],["distrbutes","distributes"],["distrbuting","distributing"],["distrbution","distribution"],["distrbutions","distributions"],["distrct","district"],["distrcts","districts"],["distrebuted","distributed"],["distribtion","distribution"],["distribtions","distributions"],["distribtuion","distribution"],["distribtuions","distributions"],["distribtution","distributions"],["distribue","distribute"],["distribued","distributed"],["distribues","distributes"],["distribuion","distribution"],["distribuite","distribute"],["distribuited","distributed"],["distribuiting","distributing"],["distribuition","distribution"],["distribuitng","distributing"],["distribure","distribute"],["districct","district"],["distrobute","distribute"],["distrobuted","distributed"],["distrobutes","distributes"],["distrobuting","distributing"],["distrobution","distribution"],["distrobutions","distributions"],["distrobuts","distributes"],["distroname","distro name"],["distroying","destroying"],["distrub","disturb"],["distrubiotion","distribution"],["distrubite","distribute"],["distrubtion","distribution"],["distrubute","distribute"],["distrubuted","distributed"],["distrubution","distribution"],["distrubutions","distributions"],["distrubutor","distributor"],["distrubutors","distributors"],["distruction","destruction"],["distructive","destructive"],["distructor","destructor"],["distructors","destructors"],["distuingish","distinguish"],["disuade","dissuade"],["disucssion","discussion"],["disucssions","discussions"],["disucussion","discussion"],["disussion","discussion"],["disussions","discussions"],["disutils","distutils"],["ditance","distance"],["ditial","digital"],["ditinguishes","distinguishes"],["ditorconfig","editorconfig"],["ditribute","distribute"],["ditributed","distributed"],["ditribution","distribution"],["ditributions","distributions"],["divde","divide"],["divded","divided"],["divdes","divides"],["divding","dividing"],["divertion","diversion"],["divertions","diversions"],["divet","divot"],["divice","device"],["divicer","divider"],["divion","division"],["divisable","divisible"],["divisior","divisor"],["divison","division"],["divisons","divisions"],["divrese","diverse"],["divsion","division"],["divsions","divisions"],["divsiors","divisors"],["dloating","floating"],["dnamically","dynamically"],["dne","done"],["dnymaic","dynamic"],["do'nt","don't"],["doagonal","diagonal"],["doagonals","diagonals"],["doalog","dialog"],["doamins","domains"],["doasn't","doesn't"],["doble","double"],["dobled","doubled"],["dobles","doubles"],["dobling","doubling"],["doccument","document"],["doccumented","documented"],["doccuments","documents"],["dockson","dachshund"],["docmenetation","documentation"],["docmuent","document"],["docmunet","document"],["docmunetation","documentation"],["docmuneted","documented"],["docmuneting","documenting"],["docmunets","documents"],["docoment","document"],["docomentation","documentation"],["docomented","documented"],["docomenting","documenting"],["docoments","documents"],["docrines","doctrines"],["docstatistik","docstatistic"],["docsund","dachshund"],["doctines","doctrines"],["doctorial","doctoral"],["docucument","document"],["docuement","document"],["docuements","documents"],["docuemnt","document"],["docuemnts","documents"],["docuemtn","document"],["docuemtnation","documentation"],["docuemtned","documented"],["docuemtning","documenting"],["docuemtns","documents"],["docuent","document"],["docuentation","documentation"],["documant","document"],["documantation","documentation"],["documants","documents"],["documation","documentation"],["documemt","document"],["documen","document"],["documenatation","documentation"],["documenation","documentation"],["documenatry","documentary"],["documenet","document"],["documenetation","documentation"],["documeneted","documented"],["documeneter","documenter"],["documeneters","documenters"],["documeneting","documenting"],["documenets","documents"],["documentaion","documentation"],["documentaiton","documentation"],["documentataion","documentation"],["documentataions","documentations"],["documentaton","documentation"],["documentes","documents"],["documention","documentation"],["documetation","documentation"],["documetnation","documentation"],["documment","document"],["documments","documents"],["documnet","document"],["documnetation","documentation"],["documument","document"],["docunment","document"],["doed","does"],["doen's","doesn't"],["doen't","doesn't"],["doen","done"],["doens't","doesn't"],["doens","does"],["doensn't","doesn't"],["does'nt","doesn't"],["does't","doesn't"],["doese't","doesn't"],["doese","does"],["doesen't","doesn't"],["doesent'","doesn't"],["doesent","doesn't"],["doesits","does its"],["doesn'","doesn't"],["doesn't't","doesn't"],["doesn;t","doesn't"],["doesnexist","doesn't exist"],["doesnt'","doesn't"],["doesnt't","doesn't"],["doesnt;","doesn't"],["doess","does"],["doestn't","doesn't"],["doign","doing"],["doiing","doing"],["doiuble","double"],["doiubled","doubled"],["dokc","dock"],["dokced","docked"],["dokcer","docker"],["dokcing","docking"],["dokcre","docker"],["dokcs","docks"],["doller","dollar"],["dollers","dollars"],["dollor","dollar"],["dollors","dollars"],["domait","domain"],["doman","domain"],["domans","domains"],["domension","dimension"],["domensions","dimensions"],["domian","domain"],["domians","domains"],["dominanted","dominated"],["dominanting","dominating"],["dominantion","domination"],["dominaton","domination"],["dominent","dominant"],["dominiant","dominant"],["domonstrate","demonstrate"],["domonstrates","demonstrates"],["domonstrating","demonstrating"],["domonstration","demonstration"],["domonstrations","demonstrations"],["donain","domain"],["donains","domains"],["donejun","dungeon"],["donejuns","dungeons"],["donig","doing"],["donn't","don't"],["donnot","do not"],["dont'","don't"],["dont't","don't"],["donwload","download"],["donwloaded","downloaded"],["donwloading","downloading"],["donwloads","downloads"],["doocument","document"],["doocumentaries","documentaries"],["doocumentary","documentary"],["doocumentation","documentation"],["doocumentations","documentations"],["doocumented","documented"],["doocumenting","documenting"],["doocuments","documents"],["doorjam","doorjamb"],["dorce","force"],["dorced","forced"],["dorceful","forceful"],["dordered","ordered"],["dorment","dormant"],["dorp","drop"],["dosclosed","disclosed"],["doscloses","discloses"],["dosclosing","disclosing"],["dosclosure","disclosure"],["dosclosures","disclosures"],["dosen't","doesn't"],["dosen;t","doesn't"],["dosens","dozens"],["dosent'","doesn't"],["dosent","doesn't"],["dosent;","doesn't"],["dosn't","doesn't"],["dosn;t","doesn't"],["dosnt","doesn't"],["dosposing","disposing"],["dosument","document"],["dosuments","documents"],["dota","data"],["doube","double"],["doube-click","double-click"],["doube-clicked","double-clicked"],["doube-clicks","double-clicks"],["doube-quote","double-quote"],["doube-quoted","double-quoted"],["doube-word","double-word"],["doube-wprd","double-word"],["doubeclick","double-click"],["doubeclicked","double-clicked"],["doubeclicks","double-clicks"],["doubel","double"],["doubele-click","double-click"],["doubele-clicked","double-clicked"],["doubele-clicks","double-clicks"],["doubeleclick","double-click"],["doubeleclicked","double-clicked"],["doubeleclicks","double-clicks"],["doubely","doubly"],["doubes","doubles"],["doublde","double"],["doublded","doubled"],["doubldes","doubles"],["doubleclick","double-click"],["doublely","doubly"],["doubletquote","doublequote"],["doubth","doubt"],["doubthed","doubted"],["doubthing","doubting"],["doubths","doubts"],["doucment","document"],["doucmentated","documented"],["doucmentation","documentation"],["doucmented","documented"],["doucmenter","documenter"],["doucmenters","documenters"],["doucmentes","documents"],["doucmenting","documenting"],["doucments","documents"],["douible","double"],["douibled","doubled"],["doulbe","double"],["doumentc","document"],["dout","doubt"],["dowgrade","downgrade"],["dowlink","downlink"],["dowlinks","downlinks"],["dowload","download"],["dowloaded","downloaded"],["dowloader","downloader"],["dowloaders","downloaders"],["dowloading","downloading"],["dowloads","downloads"],["downagrade","downgrade"],["downagraded","downgraded"],["downagrades","downgrades"],["downagrading","downgrading"],["downgade","downgrade"],["downgaded","downgraded"],["downgades","downgrades"],["downgading","downgrading"],["downgarade","downgrade"],["downgaraded","downgraded"],["downgarades","downgrades"],["downgarading","downgrading"],["downgarde","downgrade"],["downgarded","downgraded"],["downgardes","downgrades"],["downgarding","downgrading"],["downgarte","downgrade"],["downgarted","downgraded"],["downgartes","downgrades"],["downgarting","downgrading"],["downgradde","downgrade"],["downgradded","downgraded"],["downgraddes","downgrades"],["downgradding","downgrading"],["downgradei","downgrade"],["downgradingn","downgrading"],["downgrate","downgrade"],["downgrated","downgraded"],["downgrates","downgrades"],["downgrating","downgrading"],["downlad","download"],["downladed","downloaded"],["downlading","downloading"],["downlads","downloads"],["downlaod","download"],["downlaoded","downloaded"],["downlaodes","downloads"],["downlaoding","downloading"],["downlaods","downloads"],["downloadmanger","downloadmanager"],["downlod","download"],["downloded","downloaded"],["downloding","downloading"],["downlods","downloads"],["downlowd","download"],["downlowded","downloaded"],["downlowding","downloading"],["downlowds","downloads"],["downoad","download"],["downoaded","downloaded"],["downoading","downloading"],["downoads","downloads"],["downoload","download"],["downoloaded","downloaded"],["downoloading","downloading"],["downoloads","downloads"],["downrade","downgrade"],["downraded","downgraded"],["downrades","downgrades"],["downrading","downgrading"],["downrgade","downgrade"],["downrgaded","downgraded"],["downrgades","downgrades"],["downrgading","downgrading"],["downsteram","downstream"],["downsteramed","downstreamed"],["downsteramer","downstreamer"],["downsteramers","downstreamers"],["downsteraming","downstreaming"],["downsterams","downstreams"],["dows","does"],["dowt","doubt"],["doxgen","doxygen"],["doygen","doxygen"],["dpeends","depends"],["dpendent","dependent"],["dpkg-buildpackge","dpkg-buildpackage"],["dpkg-buildpackges","dpkg-buildpackages"],["dpuble","double"],["dpubles","doubles"],["draconain","draconian"],["dragable","draggable"],["draged","dragged"],["draging","dragging"],["draing","drawing"],["drammatic","dramatic"],["dramtic","dramatic"],["dran","drawn"],["drastical","drastically"],["drasticaly","drastically"],["drats","drafts"],["draughtman","draughtsman"],["Dravadian","Dravidian"],["draview","drawview"],["drawack","drawback"],["drawacks","drawbacks"],["drawm","drawn"],["drawng","drawing"],["dreasm","dreams"],["dreawn","drawn"],["dregee","degree"],["dregees","degrees"],["dregree","degree"],["dregrees","degrees"],["drescription","description"],["drescriptions","descriptions"],["driagram","diagram"],["driagrammed","diagrammed"],["driagramming","diagramming"],["driagrams","diagrams"],["driectly","directly"],["drity","dirty"],["driveing","driving"],["drivr","driver"],["drnik","drink"],["drob","drop"],["dropabel","droppable"],["dropable","droppable"],["droped","dropped"],["droping","dropping"],["droppend","dropped"],["droppped","dropped"],["dropse","drops"],["droput","dropout"],["druing","during"],["druming","drumming"],["drummless","drumless"],["drvier","driver"],["drwaing","drawing"],["drwawing","drawing"],["drwawings","drawings"],["dscrete","discrete"],["dscretion","discretion"],["dscribed","described"],["dsiable","disable"],["dsiabled","disabled"],["dsplays","displays"],["dstination","destination"],["dstinations","destinations"],["dthe","the"],["dtoring","storing"],["dubios","dubious"],["dublicade","duplicate"],["dublicat","duplicate"],["dublicate","duplicate"],["dublicated","duplicated"],["dublicates","duplicates"],["dublication","duplication"],["ducment","document"],["ducument","document"],["duirng","during"],["dulicate","duplicate"],["dum","dumb"],["dumplicate","duplicate"],["dumplicated","duplicated"],["dumplicates","duplicates"],["dumplicating","duplicating"],["duoblequote","doublequote"],["dupicate","duplicate"],["duplacate","duplicate"],["duplacated","duplicated"],["duplacates","duplicates"],["duplacation","duplication"],["duplacte","duplicate"],["duplacted","duplicated"],["duplactes","duplicates"],["duplaction","duplication"],["duplaicate","duplicate"],["duplaicated","duplicated"],["duplaicates","duplicates"],["duplaication","duplication"],["duplate","duplicate"],["duplated","duplicated"],["duplates","duplicates"],["duplation","duplication"],["duplcate","duplicate"],["duplciate","duplicate"],["dupliacate","duplicate"],["dupliacates","duplicates"],["dupliace","duplicate"],["dupliacte","duplicate"],["dupliacted","duplicated"],["dupliactes","duplicates"],["dupliagte","duplicate"],["dupliate","duplicate"],["dupliated","duplicated"],["dupliates","duplicates"],["dupliating","duplicating"],["dupliation","duplication"],["dupliations","duplications"],["duplicat","duplicate"],["duplicatd","duplicated"],["duplicats","duplicates"],["dupplicate","duplicate"],["dupplicated","duplicated"],["dupplicates","duplicates"],["dupplicating","duplicating"],["dupplication","duplication"],["dupplications","duplications"],["durationm","duration"],["durectories","directories"],["durectory","directory"],["dureing","during"],["durig","during"],["durining","during"],["durning","during"],["durring","during"],["duting","during"],["dyanamically","dynamically"],["dyanmic","dynamic"],["dyanmically","dynamically"],["dyas","dryas"],["dymamically","dynamically"],["dynamc","dynamic"],["dynamcly","dynamically"],["dynamcs","dynamics"],["dynamicaly","dynamically"],["dynamiclly","dynamically"],["dynamicly","dynamically"],["dynaminc","dynamic"],["dynamincal","dynamical"],["dynamincally","dynamically"],["dynamincs","dynamics"],["dynamlic","dynamic"],["dynamlically","dynamically"],["dynically","dynamically"],["dynmaic","dynamic"],["dynmaically","dynamically"],["dynmic","dynamic"],["dynmically","dynamically"],["dynmics","dynamics"],["eabled","enabled"],["eacf","each"],["eacg","each"],["eachother","each other"],["eachs","each"],["eactly","exactly"],["eagrely","eagerly"],["eahc","each"],["eailier","earlier"],["eaiser","easier"],["ealier","earlier"],["ealiest","earliest"],["eample","example"],["eamples","examples"],["eanable","enable"],["eanble","enable"],["earleir","earlier"],["earler","earlier"],["earliear","earlier"],["earlies","earliest"],["earlist","earliest"],["earlyer","earlier"],["earnt","earned"],["earpeice","earpiece"],["easely","easily"],["easili","easily"],["easiliy","easily"],["easilly","easily"],["easist","easiest"],["easiy","easily"],["easly","easily"],["easyer","easier"],["eaxct","exact"],["ebale","enable"],["ebaled","enabled"],["EBCIDC","EBCDIC"],["ebedded","embedded"],["eccessive","excessive"],["ecclectic","eclectic"],["eceonomy","economy"],["ecept","except"],["eception","exception"],["eceptions","exceptions"],["ecidious","deciduous"],["eclise","eclipse"],["eclispe","eclipse"],["ecnetricity","eccentricity"],["ecognized","recognized"],["ecomonic","economic"],["ecounter","encounter"],["ecountered","encountered"],["ecountering","encountering"],["ecounters","encounters"],["ecplicit","explicit"],["ecplicitly","explicitly"],["ecspecially","especially"],["ect","etc"],["ecxept","except"],["ecxite","excite"],["ecxited","excited"],["ecxites","excites"],["ecxiting","exciting"],["ecxtracted","extracted"],["EDCDIC","EBCDIC"],["eddge","edge"],["eddges","edges"],["edditable","editable"],["ede","edge"],["ediable","editable"],["edige","edge"],["ediges","edges"],["ediit","edit"],["ediiting","editing"],["ediitor","editor"],["ediitors","editors"],["ediits","edits"],["editedt","edited"],["editiing","editing"],["editoro","editor"],["editot","editor"],["editots","editors"],["editt","edit"],["editted","edited"],["editter","editor"],["editting","editing"],["edittor","editor"],["edn","end"],["ednif","endif"],["edxpected","expected"],["eearly","early"],["eeeprom","EEPROM"],["eescription","description"],["eevery","every"],["eeverything","everything"],["eeverywhere","everywhere"],["eextract","extract"],["eextracted","extracted"],["eextracting","extracting"],["eextraction","extraction"],["eextracts","extracts"],["efect","effect"],["efective","effective"],["efectively","effectively"],["efel","evil"],["eferences","references"],["efetivity","effectivity"],["effciency","efficiency"],["effcient","efficient"],["effciently","efficiently"],["effctive","effective"],["effctively","effectively"],["effeciency","efficiency"],["effecient","efficient"],["effeciently","efficiently"],["effecitvely","effectively"],["effeck","effect"],["effecked","effected"],["effecks","effects"],["effeckt","effect"],["effectice","effective"],["effecticely","effectively"],["effectiviness","effectiveness"],["effectivness","effectiveness"],["effectly","effectively"],["effedts","effects"],["effekt","effect"],["effexts","effects"],["efficcient","efficient"],["efficencty","efficiency"],["efficency","efficiency"],["efficent","efficient"],["efficently","efficiently"],["effiency","efficiency"],["effient","efficient"],["effiently","efficiently"],["effulence","effluence"],["eforceable","enforceable"],["egal","equal"],["egals","equals"],["egde","edge"],["egdes","edges"],["ege","edge"],["egenral","general"],["egenralise","generalise"],["egenralised","generalised"],["egenralises","generalises"],["egenralize","generalize"],["egenralized","generalized"],["egenralizes","generalizes"],["egenrally","generally"],["ehance","enhance"],["ehanced","enhanced"],["ehancement","enhancement"],["ehancements","enhancements"],["ehenever","whenever"],["ehough","enough"],["ehr","her"],["ehternet","Ethernet"],["ehthernet","ethernet"],["eighter","either"],["eihter","either"],["einstance","instance"],["eisntance","instance"],["eiter","either"],["eith","with"],["elaspe","elapse"],["elasped","elapsed"],["elaspes","elapses"],["elasping","elapsing"],["elction","election"],["elctromagnetic","electromagnetic"],["elease","release"],["eleased","released"],["eleases","releases"],["eleate","relate"],["electical","electrical"],["electirc","electric"],["electircal","electrical"],["electrial","electrical"],["electricly","electrically"],["electricty","electricity"],["electrinics","electronics"],["electriv","electric"],["electrnoics","electronics"],["eleemnt","element"],["eleent","element"],["elegible","eligible"],["elelement","element"],["elelements","elements"],["elelment","element"],["elelmental","elemental"],["elelmentary","elementary"],["elelments","elements"],["elemant","element"],["elemantary","elementary"],["elemement","element"],["elemements","elements"],["elememt","element"],["elemen","element"],["elemenent","element"],["elemenental","elemental"],["elemenents","elements"],["elemenet","element"],["elemenets","elements"],["elemens","elements"],["elemenst","elements"],["elementay","elementary"],["elementry","elementary"],["elemet","element"],["elemetal","elemental"],["elemetn","element"],["elemetns","elements"],["elemets","elements"],["eleminate","eliminate"],["eleminated","eliminated"],["eleminates","eliminates"],["eleminating","eliminating"],["elemnets","elements"],["elemnt","element"],["elemntal","elemental"],["elemnts","elements"],["elemt","element"],["elemtary","elementary"],["elemts","elements"],["elenment","element"],["eles","else"],["eletricity","electricity"],["eletromagnitic","electromagnetic"],["eletronic","electronic"],["elgible","eligible"],["elicided","elicited"],["eligable","eligible"],["elimentary","elementary"],["elimiante","eliminate"],["elimiate","eliminate"],["eliminetaion","elimination"],["elimintate","eliminate"],["eliminte","eliminate"],["elimnated","eliminated"],["eliptic","elliptic"],["eliptical","elliptical"],["elipticity","ellipticity"],["ellapsed","elapsed"],["ellected","elected"],["ellement","element"],["ellemental","elemental"],["ellementals","elementals"],["ellements","elements"],["elliminate","eliminate"],["elliminated","eliminated"],["elliminates","eliminates"],["elliminating","eliminating"],["ellipsises","ellipsis"],["ellision","elision"],["elmenet","element"],["elmenets","elements"],["elment","element"],["elments","elements"],["elminate","eliminate"],["elminated","eliminated"],["elminates","eliminates"],["elminating","eliminating"],["elphant","elephant"],["elsef","elseif"],["elsehwere","elsewhere"],["elseof","elseif"],["elseswhere","elsewhere"],["elsewehere","elsewhere"],["elsewere","elsewhere"],["elsewhwere","elsewhere"],["elsiof","elseif"],["elsof","elseif"],["emabaroged","embargoed"],["emable","enable"],["emabled","enabled"],["emables","enables"],["emabling","enabling"],["emailling","emailing"],["embarass","embarrass"],["embarassed","embarrassed"],["embarasses","embarrasses"],["embarassing","embarrassing"],["embarassment","embarrassment"],["embargos","embargoes"],["embarras","embarrass"],["embarrased","embarrassed"],["embarrasing","embarrassing"],["embarrasingly","embarrassingly"],["embarrasment","embarrassment"],["embbedded","embedded"],["embbeded","embedded"],["embdder","embedder"],["embdedded","embedded"],["embebbed","embedded"],["embedd","embed"],["embeddded","embedded"],["embeddeding","embedding"],["embedds","embeds"],["embeded","embedded"],["embededded","embedded"],["embeed","embed"],["embezelled","embezzled"],["emblamatic","emblematic"],["embold","embolden"],["embrodery","embroidery"],["emcompass","encompass"],["emcompassed","encompassed"],["emcompassing","encompassing"],["emedded","embedded"],["emegrency","emergency"],["emenet","element"],["emenets","elements"],["emiited","emitted"],["eminate","emanate"],["eminated","emanated"],["emision","emission"],["emited","emitted"],["emiting","emitting"],["emlation","emulation"],["emmediately","immediately"],["emminently","eminently"],["emmisaries","emissaries"],["emmisarries","emissaries"],["emmisarry","emissary"],["emmisary","emissary"],["emmision","emission"],["emmisions","emissions"],["emmit","emit"],["emmited","emitted"],["emmiting","emitting"],["emmits","emits"],["emmitted","emitted"],["emmitting","emitting"],["emnity","enmity"],["emoty","empty"],["emough","enough"],["emought","enough"],["emperical","empirical"],["emperically","empirically"],["emphaised","emphasised"],["emphsis","emphasis"],["emphysyma","emphysema"],["empiracally","empirically"],["empiricaly","empirically"],["emplyed","employed"],["emplyee","employee"],["emplyees","employees"],["emplyer","employer"],["emplyers","employers"],["emplying","employing"],["emplyment","employment"],["emplyments","employments"],["emporer","emperor"],["emprically","empirically"],["emprisoned","imprisoned"],["emprove","improve"],["emproved","improved"],["emprovement","improvement"],["emprovements","improvements"],["emproves","improves"],["emproving","improving"],["emptniess","emptiness"],["emptry","empty"],["emptyed","emptied"],["emptyy","empty"],["empy","empty"],["emtied","emptied"],["emties","empties"],["emtpies","empties"],["emtpy","empty"],["emty","empty"],["emtying","emptying"],["emultor","emulator"],["emultors","emulators"],["enabe","enable"],["enabel","enable"],["enabeled","enabled"],["enabeling","enabling"],["enabing","enabling"],["enabledi","enabled"],["enableing","enabling"],["enablen","enabled"],["enalbe","enable"],["enalbed","enabled"],["enalbes","enables"],["enameld","enameled"],["enaugh","enough"],["enbable","enable"],["enbabled","enabled"],["enbabling","enabling"],["enbale","enable"],["enbaled","enabled"],["enbales","enables"],["enbaling","enabling"],["enbedding","embedding"],["enble","enable"],["encapsualtes","encapsulates"],["encapsulatzion","encapsulation"],["encapsultion","encapsulation"],["encaspulate","encapsulate"],["encaspulated","encapsulated"],["encaspulates","encapsulates"],["encaspulating","encapsulating"],["encaspulation","encapsulation"],["enchanced","enhanced"],["enclosng","enclosing"],["enclosue","enclosure"],["enclosung","enclosing"],["enclude","include"],["encluding","including"],["encocde","encode"],["encocded","encoded"],["encocder","encoder"],["encocders","encoders"],["encocdes","encodes"],["encocding","encoding"],["encocdings","encodings"],["encodingt","encoding"],["encodning","encoding"],["encodnings","encodings"],["encompas","encompass"],["encompased","encompassed"],["encompases","encompasses"],["encompasing","encompassing"],["enconde","encode"],["enconded","encoded"],["enconder","encoder"],["enconders","encoders"],["encondes","encodes"],["enconding","encoding"],["encondings","encodings"],["encorded","encoded"],["encorder","encoder"],["encorders","encoders"],["encording","encoding"],["encordings","encodings"],["encorporating","incorporating"],["encoser","encoder"],["encosers","encoders"],["encosure","enclosure"],["encounterd","encountered"],["encountres","encounters"],["encouraing","encouraging"],["encouter","encounter"],["encoutered","encountered"],["encouters","encounters"],["encoutner","encounter"],["encoutners","encounters"],["encouttering","encountering"],["encrcypt","encrypt"],["encrcypted","encrypted"],["encrcyption","encryption"],["encrcyptions","encryptions"],["encrcypts","encrypts"],["encript","encrypt"],["encripted","encrypted"],["encription","encryption"],["encriptions","encryptions"],["encripts","encrypts"],["encrpt","encrypt"],["encrpted","encrypted"],["encrption","encryption"],["encrptions","encryptions"],["encrpts","encrypts"],["encrupted","encrypted"],["encrypiton","encryption"],["encryptiion","encryption"],["encryptio","encryption"],["encryptiong","encryption"],["encrytion","encryption"],["encrytped","encrypted"],["encrytption","encryption"],["encupsulates","encapsulates"],["encylopedia","encyclopedia"],["encypted","encrypted"],["encyption","encryption"],["endcoded","encoded"],["endcoder","encoder"],["endcoders","encoders"],["endcodes","encodes"],["endcoding","encoding"],["endcodings","encodings"],["endding","ending"],["ende","end"],["endevors","endeavors"],["endevour","endeavour"],["endfi","endif"],["endianes","endianness"],["endianess","endianness"],["endianity","endianness"],["endiannes","endianness"],["endig","ending"],["endiness","endianness"],["endnoden","endnode"],["endoint","endpoint"],["endolithes","endoliths"],["endpints","endpoints"],["endpiont","endpoint"],["endpionts","endpoints"],["endpont","endpoint"],["endponts","endpoints"],["endsup","ends up"],["enduce","induce"],["eneables","enables"],["enebale","enable"],["enebaled","enabled"],["eneble","enable"],["ened","need"],["enegeries","energies"],["enegery","energy"],["enehanced","enhanced"],["enery","energy"],["eneter","enter"],["enetered","entered"],["enetities","entities"],["enetity","entity"],["eneumeration","enumeration"],["eneumerations","enumerations"],["eneumretaion","enumeration"],["eneumretaions","enumerations"],["enew","new"],["enflamed","inflamed"],["enforcable","enforceable"],["enforceing","enforcing"],["enforcmement","enforcement"],["enforcment","enforcement"],["enfore","enforce"],["enfored","enforced"],["enfores","enforces"],["enforncing","enforcing"],["engagment","engagement"],["engeneer","engineer"],["engeneering","engineering"],["engery","energy"],["engieer","engineer"],["engieneer","engineer"],["engieneers","engineers"],["enginee","engine"],["enginge","engine"],["enginin","engine"],["enginineer","engineer"],["engoug","enough"],["enhabce","enhance"],["enhabced","enhanced"],["enhabces","enhances"],["enhabcing","enhancing"],["enhace","enhance"],["enhaced","enhanced"],["enhacement","enhancement"],["enhacements","enhancements"],["enhancd","enhanced"],["enhancment","enhancement"],["enhancments","enhancements"],["enhaned","enhanced"],["enhence","enhance"],["enhenced","enhanced"],["enhencement","enhancement"],["enhencements","enhancements"],["enhencment","enhancement"],["enhencments","enhancements"],["enironment","environment"],["enironments","environments"],["enities","entities"],["enitities","entities"],["enitity","entity"],["enitre","entire"],["enivornment","environment"],["enivornments","environments"],["enivronment","environment"],["enlargment","enlargement"],["enlargments","enlargements"],["enlightnment","enlightenment"],["enlose","enclose"],["enmpty","empty"],["enmum","enum"],["ennpoint","endpoint"],["enntries","entries"],["enocde","encode"],["enocded","encoded"],["enocder","encoder"],["enocders","encoders"],["enocdes","encodes"],["enocding","encoding"],["enocdings","encodings"],["enogh","enough"],["enoght","enough"],["enoguh","enough"],["enouch","enough"],["enoucnter","encounter"],["enoucntered","encountered"],["enoucntering","encountering"],["enoucnters","encounters"],["enouf","enough"],["enoufh","enough"],["enought","enough"],["enoughts","enough"],["enougth","enough"],["enouh","enough"],["enouhg","enough"],["enouncter","encounter"],["enounctered","encountered"],["enounctering","encountering"],["enouncters","encounters"],["enoung","enough"],["enoungh","enough"],["enounter","encounter"],["enountered","encountered"],["enountering","encountering"],["enounters","encounters"],["enouph","enough"],["enourage","encourage"],["enouraged","encouraged"],["enourages","encourages"],["enouraging","encouraging"],["enourmous","enormous"],["enourmously","enormously"],["enouth","enough"],["enouugh","enough"],["enpoint","endpoint"],["enpoints","endpoints"],["enque","enqueue"],["enqueing","enqueuing"],["enrties","entries"],["enrtries","entries"],["enrtry","entry"],["enrty","entry"],["ensconsed","ensconced"],["entaglements","entanglements"],["entended","intended"],["entension","extension"],["entensions","extensions"],["ententries","entries"],["enterance","entrance"],["enteratinment","entertainment"],["entereing","entering"],["enterie","entry"],["enteries","entries"],["enterily","entirely"],["enterprice","enterprise"],["enterprices","enterprises"],["entery","entry"],["enteties","entities"],["entety","entity"],["enthaplies","enthalpies"],["enthaply","enthalpy"],["enthousiasm","enthusiasm"],["enthusiam","enthusiasm"],["enthusiatic","enthusiastic"],["entierly","entirely"],["entireity","entirety"],["entires","entries"],["entirey","entirely"],["entirity","entirety"],["entirly","entirely"],["entitee","entity"],["entitees","entities"],["entites","entities"],["entiti","entity"],["entitie","entity"],["entitites","entities"],["entitities","entities"],["entitity","entity"],["entitiy","entity"],["entitiys","entities"],["entitlied","entitled"],["entitys","entities"],["entoties","entities"],["entoty","entity"],["entrace","entrance"],["entraced","entranced"],["entraces","entrances"],["entrepeneur","entrepreneur"],["entrepeneurs","entrepreneurs"],["entriess","entries"],["entrophy","entropy"],["enttries","entries"],["enttry","entry"],["enulation","emulation"],["enumarate","enumerate"],["enumarated","enumerated"],["enumarates","enumerates"],["enumarating","enumerating"],["enumation","enumeration"],["enumearate","enumerate"],["enumearation","enumeration"],["enumerble","enumerable"],["enumertaion","enumeration"],["enusre","ensure"],["envaluation","evaluation"],["enveloppe","envelope"],["envelopped","enveloped"],["enveloppes","envelopes"],["envelopping","enveloping"],["enver","never"],["envioment","environment"],["enviomental","environmental"],["envioments","environments"],["envionment","environment"],["envionmental","environmental"],["envionments","environments"],["enviorement","environment"],["envioremental","environmental"],["enviorements","environments"],["enviorenment","environment"],["enviorenmental","environmental"],["enviorenments","environments"],["enviorment","environment"],["enviormental","environmental"],["enviormentally","environmentally"],["enviorments","environments"],["enviornemnt","environment"],["enviornemntal","environmental"],["enviornemnts","environments"],["enviornment","environment"],["enviornmental","environmental"],["enviornmentalist","environmentalist"],["enviornmentally","environmentally"],["enviornments","environments"],["envioronment","environment"],["envioronmental","environmental"],["envioronments","environments"],["envireonment","environment"],["envirionment","environment"],["envirnment","environment"],["envirnmental","environmental"],["envirnments","environments"],["envirnoment","environment"],["envirnoments","environments"],["enviroiment","environment"],["enviroment","environment"],["enviromental","environmental"],["enviromentalist","environmentalist"],["enviromentally","environmentally"],["enviroments","environments"],["enviromnent","environment"],["enviromnental","environmental"],["enviromnentally","environmentally"],["enviromnents","environments"],["environement","environment"],["environemnt","environment"],["environemntal","environmental"],["environemnts","environments"],["environent","environment"],["environmane","environment"],["environmenet","environment"],["environmenets","environments"],["environmet","environment"],["environmets","environments"],["environmnet","environment"],["environmont","environment"],["environnement","environment"],["environtment","environment"],["envolutionary","evolutionary"],["envolved","involved"],["envorce","enforce"],["envrion","environ"],["envrionment","environment"],["envrionmental","environmental"],["envrionments","environments"],["envrions","environs"],["envriron","environ"],["envrironment","environment"],["envrironmental","environmental"],["envrironments","environments"],["envrirons","environs"],["envvironment","environment"],["enxt","next"],["enything","anything"],["enyway","anyway"],["epecifica","especifica"],["epect","expect"],["epected","expected"],["epectedly","expectedly"],["epecting","expecting"],["epects","expects"],["ephememeral","ephemeral"],["ephememeris","ephemeris"],["epidsodes","episodes"],["epigramic","epigrammatic"],["epilgoue","epilogue"],["episdoe","episode"],["episdoes","episodes"],["eploit","exploit"],["eploits","exploits"],["epmty","empty"],["epressions","expressions"],["epsiode","episode"],["eptied","emptied"],["eptier","emptier"],["epties","empties"],["eptrapolate","extrapolate"],["eptrapolated","extrapolated"],["eptrapolates","extrapolates"],["epty","empty"],["epxanded","expanded"],["epxected","expected"],["epxiressions","expressions"],["epxlicit","explicit"],["eqaul","equal"],["eqaulity","equality"],["eqaulizer","equalizer"],["eqivalent","equivalent"],["eqivalents","equivalents"],["equailateral","equilateral"],["equalibrium","equilibrium"],["equallity","equality"],["equalls","equals"],["equaly","equally"],["equeation","equation"],["equeations","equations"],["equel","equal"],["equelibrium","equilibrium"],["equialent","equivalent"],["equil","equal"],["equilavalent","equivalent"],["equilibium","equilibrium"],["equilibrum","equilibrium"],["equilvalent","equivalent"],["equilvalently","equivalently"],["equilvalents","equivalents"],["equiped","equipped"],["equipmentd","equipment"],["equipments","equipment"],["equippment","equipment"],["equiptment","equipment"],["equitorial","equatorial"],["equivalance","equivalence"],["equivalant","equivalent"],["equivelant","equivalent"],["equivelent","equivalent"],["equivelents","equivalents"],["equivilant","equivalent"],["equivilent","equivalent"],["equivivalent","equivalent"],["equivlalent","equivalent"],["equivlantly","equivalently"],["equivlent","equivalent"],["equivlently","equivalently"],["equivlents","equivalents"],["equivqlent","equivalent"],["eqution","equation"],["equtions","equations"],["equvalent","equivalent"],["equvivalent","equivalent"],["erasablocks","eraseblocks"],["eratic","erratic"],["eratically","erratically"],["eraticly","erratically"],["erformance","performance"],["erliear","earlier"],["erlier","earlier"],["erly","early"],["ermergency","emergency"],["eroneous","erroneous"],["eror","error"],["erorneus","erroneous"],["erorneusly","erroneously"],["erorr","error"],["erorrs","errors"],["erors","errors"],["erraneously","erroneously"],["erro","error"],["erroneus","erroneous"],["erroneusly","erroneously"],["erronous","erroneous"],["erronously","erroneously"],["errorneous","erroneous"],["errorneously","erroneously"],["errorneus","erroneous"],["errornous","erroneous"],["errornously","erroneously"],["errorprone","error-prone"],["errorr","error"],["erros","errors"],["errot","error"],["errots","errors"],["errro","error"],["errror","error"],["errrors","errors"],["errros","errors"],["errupted","erupted"],["ertoneous","erroneous"],["ertoneously","erroneously"],["ervery","every"],["erverything","everything"],["esacpe","escape"],["esacped","escaped"],["esacpes","escapes"],["escalte","escalate"],["escalted","escalated"],["escaltes","escalates"],["escalting","escalating"],["escaltion","escalation"],["escapeable","escapable"],["escapemant","escapement"],["escased","escaped"],["escation","escalation"],["esccape","escape"],["esccaped","escaped"],["escpae","escape"],["escpaed","escaped"],["esecute","execute"],["esential","essential"],["esentially","essentially"],["esge","edge"],["esger","edger"],["esgers","edgers"],["esges","edges"],["esging","edging"],["esiest","easiest"],["esimate","estimate"],["esimated","estimated"],["esimates","estimates"],["esimating","estimating"],["esimation","estimation"],["esimations","estimations"],["esimator","estimator"],["esimators","estimators"],["esists","exists"],["esitmate","estimate"],["esitmated","estimated"],["esitmates","estimates"],["esitmating","estimating"],["esitmation","estimation"],["esitmations","estimations"],["esitmator","estimator"],["esitmators","estimators"],["esle","else"],["esnure","ensure"],["esnured","ensured"],["esnures","ensures"],["espacally","especially"],["espace","escape"],["espaced","escaped"],["espaces","escapes"],["espacially","especially"],["espacing","escaping"],["espcially","especially"],["especailly","especially"],["especally","especially"],["especialy","especially"],["especialyl","especially"],["especiially","especially"],["espect","expect"],["espeically","especially"],["esseintially","essentially"],["essencial","essential"],["essense","essence"],["essentail","essential"],["essentailly","essentially"],["essentaily","essentially"],["essental","essential"],["essentally","essentially"],["essentals","essentials"],["essentialy","essentially"],["essentual","essential"],["essentually","essentially"],["essentualy","essentially"],["essesital","essential"],["essesitally","essentially"],["essesitaly","essentially"],["essiential","essential"],["esssential","essential"],["estabilish","establish"],["estabish","establish"],["estabishd","established"],["estabished","established"],["estabishes","establishes"],["estabishing","establishing"],["establised","established"],["establishs","establishes"],["establising","establishing"],["establsihed","established"],["estbalishment","establishment"],["estimage","estimate"],["estimages","estimates"],["estiomator","estimator"],["estiomators","estimators"],["esy","easy"],["etablish","establish"],["etablishd","established"],["etablished","established"],["etablishing","establishing"],["etcc","etc"],["etcp","etc"],["etensible","extensible"],["etension","extension"],["etensions","extensions"],["ethe","the"],["etherenet","Ethernet"],["ethernal","eternal"],["ethnocentricm","ethnocentrism"],["etiher","either"],["etroneous","erroneous"],["etroneously","erroneously"],["etsablishment","establishment"],["etsbalishment","establishment"],["etst","test"],["etsts","tests"],["etxt","text"],["euclidian","euclidean"],["euivalent","equivalent"],["euivalents","equivalents"],["euqivalent","equivalent"],["euqivalents","equivalents"],["euristic","heuristic"],["euristics","heuristics"],["Europian","European"],["Europians","Europeans"],["Eurpean","European"],["Eurpoean","European"],["evalation","evaluation"],["evalite","evaluate"],["evalited","evaluated"],["evalites","evaluates"],["evaluataion","evaluation"],["evaluataions","evaluations"],["evalueate","evaluate"],["evalueated","evaluated"],["evaluete","evaluate"],["evalueted","evaluated"],["evalulates","evaluates"],["evalutae","evaluate"],["evalutaed","evaluated"],["evalutaeing","evaluating"],["evalutaes","evaluates"],["evalutaing","evaluating"],["evalutaion","evaluation"],["evalutaions","evaluations"],["evalutaor","evaluator"],["evalutate","evaluate"],["evalutated","evaluated"],["evalutates","evaluates"],["evalutating","evaluating"],["evalutation","evaluation"],["evalutations","evaluations"],["evalute","evaluate"],["evaluted","evaluated"],["evalutes","evaluates"],["evaluting","evaluating"],["evalutions","evaluations"],["evalutive","evaluative"],["evalutor","evaluator"],["evalutors","evaluators"],["evaulate","evaluate"],["evaulated","evaluated"],["evaulates","evaluates"],["evaulating","evaluating"],["evaulation","evaluation"],["evaulator","evaluator"],["evaulted","evaluated"],["evauluate","evaluate"],["evauluated","evaluated"],["evauluates","evaluates"],["evauluation","evaluation"],["eveluate","evaluate"],["eveluated","evaluated"],["eveluates","evaluates"],["eveluating","evaluating"],["eveluation","evaluation"],["eveluations","evaluations"],["eveluator","evaluator"],["eveluators","evaluators"],["evenhtually","eventually"],["eventally","eventually"],["eventaully","eventually"],["eventhanders","event handlers"],["eventhough","even though"],["eventially","eventually"],["eventuall","eventually"],["eventualy","eventually"],["evenually","eventually"],["eveolution","evolution"],["eveolutionary","evolutionary"],["eveolve","evolve"],["eveolved","evolved"],["eveolves","evolves"],["eveolving","evolving"],["everage","average"],["everaged","averaged"],["everbody","everybody"],["everithing","everything"],["everone","everyone"],["everthing","everything"],["evertyhign","everything"],["evertyhing","everything"],["evertything","everything"],["everwhere","everywhere"],["everyhing","everything"],["everyhting","everything"],["everythig","everything"],["everythign","everything"],["everythin","everything"],["everythings","everything"],["everytime","every time"],["everyting","everything"],["everytone","everyone"],["evey","every"],["eveyone","everyone"],["eveyr","every"],["evidentally","evidently"],["evironment","environment"],["evironments","environments"],["evition","eviction"],["evluate","evaluate"],["evluated","evaluated"],["evluates","evaluates"],["evluating","evaluating"],["evluation","evaluation"],["evluations","evaluations"],["evluative","evaluative"],["evluator","evaluator"],["evluators","evaluators"],["evnet","event"],["evnts","events"],["evoluate","evaluate"],["evoluated","evaluated"],["evoluates","evaluates"],["evoluation","evaluations"],["evovler","evolver"],["evovling","evolving"],["evrithing","everything"],["evry","every"],["evrythign","everything"],["evrything","everything"],["evrywhere","everywhere"],["evyrthing","everything"],["ewhwer","where"],["exaclty","exactly"],["exacly","exactly"],["exactely","exactly"],["exacty","exactly"],["exacutable","executable"],["exagerate","exaggerate"],["exagerated","exaggerated"],["exagerates","exaggerates"],["exagerating","exaggerating"],["exagerrate","exaggerate"],["exagerrated","exaggerated"],["exagerrates","exaggerates"],["exagerrating","exaggerating"],["exameple","example"],["exameples","examples"],["examied","examined"],["examinated","examined"],["examing","examining"],["examinining","examining"],["examle","example"],["examles","examples"],["examlpe","example"],["examlpes","examples"],["examnple","example"],["examnples","examples"],["exampel","example"],["exampeles","examples"],["exampels","examples"],["examplees","examples"],["examplifies","exemplifies"],["exampple","example"],["exampples","examples"],["exampt","exempt"],["exand","expand"],["exansive","expansive"],["exapansion","expansion"],["exapend","expand"],["exaplain","explain"],["exaplaination","explanation"],["exaplained","explained"],["exaplaining","explaining"],["exaplains","explains"],["exaplanation","explanation"],["exaplanations","explanations"],["exaple","example"],["exaples","examples"],["exapmle","example"],["exapmles","examples"],["exapnsion","expansion"],["exat","exact"],["exatcly","exactly"],["exatctly","exactly"],["exatly","exactly"],["exausted","exhausted"],["excact","exact"],["excactly","exactly"],["excahcnge","exchange"],["excahnge","exchange"],["excahnges","exchanges"],["excange","exchange"],["excape","escape"],["excaped","escaped"],["excapes","escapes"],["excat","exact"],["excating","exacting"],["excatly","exactly"],["exccute","execute"],["excecise","exercise"],["excecises","exercises"],["excecpt","except"],["excecption","exception"],["excecptional","exceptional"],["excecptions","exceptions"],["excectable","executable"],["excectables","executables"],["excecte","execute"],["excectedly","expectedly"],["excectes","executes"],["excecting","executing"],["excectional","exceptional"],["excective","executive"],["excectives","executives"],["excector","executor"],["excectors","executors"],["excects","expects"],["excecutable","executable"],["excecutables","executables"],["excecute","execute"],["excecuted","executed"],["excecutes","executes"],["excecuting","executing"],["excecution","execution"],["excecutions","executions"],["excecutive","executive"],["excecutives","executives"],["excecutor","executor"],["excecutors","executors"],["excecuts","executes"],["exced","exceed"],["excedded","exceeded"],["excedding","exceeding"],["excede","exceed"],["exceded","exceeded"],["excedeed","exceeded"],["excedes","exceeds"],["exceding","exceeding"],["exceeed","exceed"],["exceirpt","excerpt"],["exceirpts","excerpts"],["excelent","excellent"],["excell","excel"],["excellance","excellence"],["excellant","excellent"],["excells","excels"],["excempt","exempt"],["excempted","exempted"],["excemption","exemption"],["excemptions","exemptions"],["excempts","exempts"],["excentric","eccentric"],["excentricity","eccentricity"],["excentuating","accentuating"],["exceopt","exempt"],["exceopted","exempted"],["exceopts","exempts"],["exceotion","exemption"],["exceotions","exemptions"],["excepetion","exception"],["excepion","exception"],["excepional","exceptional"],["excepionally","exceptionally"],["excepions","exceptions"],["exceprt","excerpt"],["exceprts","excerpts"],["exceptation","expectation"],["exceptionnal","exceptional"],["exceptionss","exceptions"],["exceptionts","exceptions"],["excercise","exercise"],["excercised","exercised"],["excerciser","exerciser"],["excercises","exercises"],["excercising","exercising"],["excerise","exercise"],["exces","excess"],["excesed","exceeded"],["excesive","excessive"],["excesively","excessively"],["excesss","excess"],["excesv","excessive"],["excesvly","excessively"],["excetion","exception"],["excetional","exceptional"],["excetions","exceptions"],["excetpion","exception"],["excetpional","exceptional"],["excetpions","exceptions"],["excetption","exception"],["excetptional","exceptional"],["excetptions","exceptions"],["excetra","etcetera"],["excetutable","executable"],["excetutables","executables"],["excetute","execute"],["excetuted","executed"],["excetutes","executes"],["excetuting","executing"],["excetution","execution"],["excetutions","executions"],["excetutive","executive"],["excetutives","executives"],["excetutor","executor"],["excetutors","executors"],["exceuctable","executable"],["exceuctables","executables"],["exceucte","execute"],["exceucted","executed"],["exceuctes","executes"],["exceucting","executing"],["exceuction","execution"],["exceuctions","executions"],["exceuctive","executive"],["exceuctives","executives"],["exceuctor","executor"],["exceuctors","executors"],["exceutable","executable"],["exceutables","executables"],["exceute","execute"],["exceuted","executed"],["exceutes","executes"],["exceuting","executing"],["exceution","execution"],["exceutions","executions"],["exceutive","executive"],["exceutives","executives"],["exceutor","executor"],["exceutors","executors"],["excewption","exception"],["excewptional","exceptional"],["excewptions","exceptions"],["exchage","exchange"],["exchaged","exchanged"],["exchages","exchanges"],["exchaging","exchanging"],["exchagne","exchange"],["exchagned","exchanged"],["exchagnes","exchanges"],["exchagnge","exchange"],["exchagnged","exchanged"],["exchagnges","exchanges"],["exchagnging","exchanging"],["exchagning","exchanging"],["exchanage","exchange"],["exchanaged","exchanged"],["exchanages","exchanges"],["exchanaging","exchanging"],["exchance","exchange"],["exchanced","exchanged"],["exchances","exchanges"],["exchanche","exchange"],["exchanched","exchanged"],["exchanches","exchanges"],["exchanching","exchanging"],["exchancing","exchanging"],["exchane","exchange"],["exchaned","exchanged"],["exchanes","exchanges"],["exchangable","exchangeable"],["exchaning","exchanging"],["exchaust","exhaust"],["exchausted","exhausted"],["exchausting","exhausting"],["exchaustive","exhaustive"],["exchausts","exhausts"],["exchenge","exchange"],["exchenged","exchanged"],["exchenges","exchanges"],["exchenging","exchanging"],["exchnage","exchange"],["exchnaged","exchanged"],["exchnages","exchanges"],["exchnaging","exchanging"],["exchng","exchange"],["exchngd","exchanged"],["exchnge","exchange"],["exchnged","exchanged"],["exchnges","exchanges"],["exchnging","exchanging"],["exchngng","exchanging"],["exchngs","exchanges"],["exciation","excitation"],["excipt","except"],["exciption","exception"],["exciptions","exceptions"],["excist","exist"],["excisted","existed"],["excisting","existing"],["excitment","excitement"],["exclamantion","exclamation"],["excludde","exclude"],["excludind","excluding"],["exclusiv","exclusive"],["exclusivelly","exclusively"],["exclusivly","exclusively"],["exclusivs","exclusives"],["excluslvely","exclusively"],["exclusuive","exclusive"],["exclusuively","exclusively"],["exclusuives","exclusives"],["excpect","expect"],["excpected","expected"],["excpecting","expecting"],["excpects","expects"],["excpeption","exception"],["excpet","except"],["excpetion","exception"],["excpetional","exceptional"],["excpetions","exceptions"],["excplicit","explicit"],["excplicitly","explicitly"],["excplict","explicit"],["excplictly","explicitly"],["excract","extract"],["exctacted","extracted"],["exctract","extract"],["exctracted","extracted"],["exctracting","extracting"],["exctraction","extraction"],["exctractions","extractions"],["exctractor","extractor"],["exctractors","extractors"],["exctracts","extracts"],["exculde","exclude"],["exculding","excluding"],["exculsive","exclusive"],["exculsively","exclusively"],["exculsivly","exclusively"],["excutable","executable"],["excutables","executables"],["excute","execute"],["excuted","executed"],["excutes","executes"],["excuting","executing"],["excution","execution"],["execeed","exceed"],["execeeded","exceeded"],["execeeds","exceeds"],["exeception","exception"],["execeptions","exceptions"],["execising","exercising"],["execption","exception"],["execptions","exceptions"],["exectable","executable"],["exection","execution"],["exections","executions"],["exectuable","executable"],["exectuableness","executableness"],["exectuables","executables"],["exectued","executed"],["exectuion","execution"],["exectuions","executions"],["execture","execute"],["exectured","executed"],["exectures","executes"],["execturing","executing"],["exectute","execute"],["exectuted","executed"],["exectutes","executes"],["exectution","execution"],["exectutions","executions"],["execuable","executable"],["execuables","executables"],["execuatable","executable"],["execuatables","executables"],["execuatble","executable"],["execuatbles","executables"],["execuate","execute"],["execuated","executed"],["execuates","executes"],["execuation","execution"],["execuations","executions"],["execubale","executable"],["execubales","executables"],["execucte","execute"],["execucted","executed"],["execuctes","executes"],["execuction","execution"],["execuctions","executions"],["execuctor","executor"],["execuctors","executors"],["execude","execute"],["execuded","executed"],["execudes","executes"],["execue","execute"],["execued","executed"],["execues","executes"],["execuet","execute"],["execuetable","executable"],["execuetd","executed"],["execuete","execute"],["execueted","executed"],["execuetes","executes"],["execuets","executes"],["execuing","executing"],["execuion","execution"],["execuions","executions"],["execuitable","executable"],["execuitables","executables"],["execuite","execute"],["execuited","executed"],["execuites","executes"],["execuiting","executing"],["execuition","execution"],["execuitions","executions"],["execulatble","executable"],["execulatbles","executables"],["execultable","executable"],["execultables","executables"],["execulusive","exclusive"],["execune","execute"],["execuned","executed"],["execunes","executes"],["execunting","executing"],["execurable","executable"],["execurables","executables"],["execure","execute"],["execured","executed"],["execures","executes"],["execusion","execution"],["execusions","executions"],["execusive","exclusive"],["execustion","execution"],["execustions","executions"],["execut","execute"],["executabable","executable"],["executabables","executables"],["executabe","executable"],["executabel","executable"],["executabels","executables"],["executabes","executables"],["executablble","executable"],["executabnle","executable"],["executabnles","executables"],["executation","execution"],["executations","executions"],["executbale","executable"],["executbales","executables"],["executble","executable"],["executbles","executables"],["executd","executed"],["executding","executing"],["executeable","executable"],["executeables","executables"],["executible","executable"],["executign","executing"],["executng","executing"],["executre","execute"],["executred","executed"],["executres","executes"],["executs","executes"],["executting","executing"],["executtion","execution"],["executtions","executions"],["executuable","executable"],["executuables","executables"],["executuble","executable"],["executubles","executables"],["executue","execute"],["executued","executed"],["executues","executes"],["executuing","executing"],["executuion","execution"],["executuions","executions"],["executung","executing"],["executuon","execution"],["executuons","executions"],["executute","execute"],["execututed","executed"],["execututes","executes"],["executution","execution"],["execututions","executions"],["exeed","exceed"],["exeeding","exceeding"],["exeedingly","exceedingly"],["exeeds","exceeds"],["exelent","excellent"],["exellent","excellent"],["exempel","example"],["exempels","examples"],["exemple","example"],["exemples","examples"],["exended","extended"],["exension","extension"],["exensions","extensions"],["exent","extent"],["exentended","extended"],["exepct","expect"],["exepcted","expected"],["exepcts","expects"],["exepect","expect"],["exepectation","expectation"],["exepectations","expectations"],["exepected","expected"],["exepectedly","expectedly"],["exepecting","expecting"],["exepects","expects"],["exepriment","experiment"],["exeprimental","experimental"],["exeptional","exceptional"],["exeptions","exceptions"],["exeqution","execution"],["exerbate","exacerbate"],["exerbated","exacerbated"],["exerciese","exercise"],["exerciesed","exercised"],["exercieses","exercises"],["exerciesing","exercising"],["exercize","exercise"],["exerimental","experimental"],["exerpt","excerpt"],["exerpts","excerpts"],["exersize","exercise"],["exersizes","exercises"],["exerternal","external"],["exeucte","execute"],["exeucted","executed"],["exeuctes","executes"],["exeution","execution"],["exexutable","executable"],["exhalted","exalted"],["exhange","exchange"],["exhanged","exchanged"],["exhanges","exchanges"],["exhanging","exchanging"],["exhaused","exhausted"],["exhautivity","exhaustivity"],["exhcuast","exhaust"],["exhcuasted","exhausted"],["exhibtion","exhibition"],["exhist","exist"],["exhistance","existence"],["exhisted","existed"],["exhistence","existence"],["exhisting","existing"],["exhists","exists"],["exhostive","exhaustive"],["exhustiveness","exhaustiveness"],["exibition","exhibition"],["exibitions","exhibitions"],["exicting","exciting"],["exinct","extinct"],["exipration","expiration"],["exipre","expire"],["exipred","expired"],["exipres","expires"],["exising","existing"],["exisit","exist"],["exisited","existed"],["exisitent","existent"],["exisiting","existing"],["exisitng","existing"],["exisits","exists"],["existance","existence"],["existant","existent"],["existatus","exitstatus"],["existencd","existence"],["existend","existed"],["existense","existence"],["existin","existing"],["existince","existence"],["existng","existing"],["existsing","existing"],["existting","existing"],["existung","existing"],["existy","exist"],["existying","existing"],["exitance","existence"],["exitation","excitation"],["exitations","excitations"],["exitt","exit"],["exitted","exited"],["exitting","exiting"],["exitts","exits"],["exixst","exist"],["exixt","exist"],["exlamation","exclamation"],["exlcude","exclude"],["exlcuding","excluding"],["exlcusion","exclusion"],["exlcusions","exclusions"],["exlcusive","exclusive"],["exlicit","explicit"],["exlicite","explicit"],["exlicitely","explicitly"],["exlicitly","explicitly"],["exliled","exiled"],["exlpoit","exploit"],["exlpoited","exploited"],["exlpoits","exploits"],["exlusion","exclusion"],["exlusionary","exclusionary"],["exlusions","exclusions"],["exlusive","exclusive"],["exlusively","exclusively"],["exmaine","examine"],["exmained","examined"],["exmaines","examines"],["exmaple","example"],["exmaples","examples"],["exmple","example"],["exmport","export"],["exnternal","external"],["exnternalities","externalities"],["exnternality","externality"],["exnternally","externally"],["exntry","entry"],["exolicit","explicit"],["exolicitly","explicitly"],["exonorate","exonerate"],["exort","export"],["exoskelaton","exoskeleton"],["expalin","explain"],["expaning","expanding"],["expanion","expansion"],["expanions","expansions"],["expanshion","expansion"],["expanshions","expansions"],["expanssion","expansion"],["exparation","expiration"],["expasion","expansion"],["expatriot","expatriate"],["expception","exception"],["expcetation","expectation"],["expcetations","expectations"],["expceted","expected"],["expceting","expecting"],["expcets","expects"],["expct","expect"],["expcted","expected"],["expctedly","expectedly"],["expcting","expecting"],["expeced","expected"],["expeceted","expected"],["expecially","especially"],["expectaion","expectation"],["expectaions","expectations"],["expectatoins","expectations"],["expectatons","expectations"],["expectd","expected"],["expecte","expected"],["expectes","expects"],["expection","exception"],["expections","exceptions"],["expeditonary","expeditionary"],["expeect","expect"],["expeected","expected"],["expeectedly","expectedly"],["expeecting","expecting"],["expeects","expects"],["expeense","expense"],["expeenses","expenses"],["expeensive","expensive"],["expeience","experience"],["expeienced","experienced"],["expeiences","experiences"],["expeiencing","experiencing"],["expeiment","experiment"],["expeimental","experimental"],["expeimentally","experimentally"],["expeimentation","experimentation"],["expeimentations","experimentations"],["expeimented","experimented"],["expeimentel","experimental"],["expeimentelly","experimentally"],["expeimenter","experimenter"],["expeimenters","experimenters"],["expeimenting","experimenting"],["expeiments","experiments"],["expeiriment","experiment"],["expeirimental","experimental"],["expeirimentally","experimentally"],["expeirimentation","experimentation"],["expeirimentations","experimentations"],["expeirimented","experimented"],["expeirimentel","experimental"],["expeirimentelly","experimentally"],["expeirimenter","experimenter"],["expeirimenters","experimenters"],["expeirimenting","experimenting"],["expeiriments","experiments"],["expell","expel"],["expells","expels"],["expement","experiment"],["expemental","experimental"],["expementally","experimentally"],["expementation","experimentation"],["expementations","experimentations"],["expemented","experimented"],["expementel","experimental"],["expementelly","experimentally"],["expementer","experimenter"],["expementers","experimenters"],["expementing","experimenting"],["expements","experiments"],["expemplar","exemplar"],["expemplars","exemplars"],["expemplary","exemplary"],["expempt","exempt"],["expempted","exempted"],["expemt","exempt"],["expemted","exempted"],["expemtion","exemption"],["expemtions","exemptions"],["expemts","exempts"],["expence","expense"],["expences","expenses"],["expencive","expensive"],["expendeble","expendable"],["expepect","expect"],["expepected","expected"],["expepectedly","expectedly"],["expepecting","expecting"],["expepects","expects"],["expepted","expected"],["expeptedly","expectedly"],["expepting","expecting"],["expeption","exception"],["expeptions","exceptions"],["expepts","expects"],["experament","experiment"],["experamental","experimental"],["experamentally","experimentally"],["experamentation","experimentation"],["experamentations","experimentations"],["experamented","experimented"],["experamentel","experimental"],["experamentelly","experimentally"],["experamenter","experimenter"],["experamenters","experimenters"],["experamenting","experimenting"],["experaments","experiments"],["experation","expiration"],["expercting","expecting"],["expercts","expects"],["expereince","experience"],["expereinced","experienced"],["expereinces","experiences"],["expereincing","experiencing"],["experement","experiment"],["experemental","experimental"],["experementally","experimentally"],["experementation","experimentation"],["experementations","experimentations"],["experemented","experimented"],["experementel","experimental"],["experementelly","experimentally"],["experementer","experimenter"],["experementers","experimenters"],["experementing","experimenting"],["experements","experiments"],["experence","experience"],["experenced","experienced"],["experences","experiences"],["experencing","experiencing"],["experes","express"],["experesed","expressed"],["experesion","expression"],["experesions","expressions"],["experess","express"],["experessed","expressed"],["experesses","expresses"],["experessing","expressing"],["experession's","expression's"],["experession","expression"],["experessions","expressions"],["experiance","experience"],["experianced","experienced"],["experiances","experiences"],["experiancial","experiential"],["experiancing","experiencing"],["experiansial","experiential"],["experiantial","experiential"],["experiation","expiration"],["experiations","expirations"],["experice","experience"],["expericed","experienced"],["experices","experiences"],["expericing","experiencing"],["experiement","experiment"],["experienshial","experiential"],["experiensial","experiential"],["experies","expires"],["experim","experiment"],["experimal","experimental"],["experimally","experimentally"],["experimanent","experiment"],["experimanental","experimental"],["experimanentally","experimentally"],["experimanentation","experimentation"],["experimanentations","experimentations"],["experimanented","experimented"],["experimanentel","experimental"],["experimanentelly","experimentally"],["experimanenter","experimenter"],["experimanenters","experimenters"],["experimanenting","experimenting"],["experimanents","experiments"],["experimanet","experiment"],["experimanetal","experimental"],["experimanetally","experimentally"],["experimanetation","experimentation"],["experimanetations","experimentations"],["experimaneted","experimented"],["experimanetel","experimental"],["experimanetelly","experimentally"],["experimaneter","experimenter"],["experimaneters","experimenters"],["experimaneting","experimenting"],["experimanets","experiments"],["experimant","experiment"],["experimantal","experimental"],["experimantally","experimentally"],["experimantation","experimentation"],["experimantations","experimentations"],["experimanted","experimented"],["experimantel","experimental"],["experimantelly","experimentally"],["experimanter","experimenter"],["experimanters","experimenters"],["experimanting","experimenting"],["experimants","experiments"],["experimation","experimentation"],["experimations","experimentations"],["experimdnt","experiment"],["experimdntal","experimental"],["experimdntally","experimentally"],["experimdntation","experimentation"],["experimdntations","experimentations"],["experimdnted","experimented"],["experimdntel","experimental"],["experimdntelly","experimentally"],["experimdnter","experimenter"],["experimdnters","experimenters"],["experimdnting","experimenting"],["experimdnts","experiments"],["experimed","experimented"],["experimel","experimental"],["experimelly","experimentally"],["experimen","experiment"],["experimenal","experimental"],["experimenally","experimentally"],["experimenat","experiment"],["experimenatal","experimental"],["experimenatally","experimentally"],["experimenatation","experimentation"],["experimenatations","experimentations"],["experimenated","experimented"],["experimenatel","experimental"],["experimenatelly","experimentally"],["experimenater","experimenter"],["experimenaters","experimenters"],["experimenating","experimenting"],["experimenation","experimentation"],["experimenations","experimentations"],["experimenats","experiments"],["experimened","experimented"],["experimenel","experimental"],["experimenelly","experimentally"],["experimener","experimenter"],["experimeners","experimenters"],["experimening","experimenting"],["experimens","experiments"],["experimentaal","experimental"],["experimentaally","experimentally"],["experimentaat","experiment"],["experimentaatl","experimental"],["experimentaatlly","experimentally"],["experimentaats","experiments"],["experimentaed","experimented"],["experimentaer","experimenter"],["experimentaing","experimenting"],["experimentaion","experimentation"],["experimentaions","experimentations"],["experimentait","experiment"],["experimentaital","experimental"],["experimentaitally","experimentally"],["experimentaited","experimented"],["experimentaiter","experimenter"],["experimentaiters","experimenters"],["experimentaitng","experimenting"],["experimentaiton","experimentation"],["experimentaitons","experimentations"],["experimentat","experimental"],["experimentatal","experimental"],["experimentatally","experimentally"],["experimentatation","experimentation"],["experimentatations","experimentations"],["experimentated","experimented"],["experimentater","experimenter"],["experimentatl","experimental"],["experimentatlly","experimentally"],["experimentatly","experimentally"],["experimentel","experimental"],["experimentelly","experimentally"],["experimentt","experiment"],["experimentted","experimented"],["experimentter","experimenter"],["experimentters","experimenters"],["experimentts","experiments"],["experimer","experimenter"],["experimers","experimenters"],["experimet","experiment"],["experimetal","experimental"],["experimetally","experimentally"],["experimetation","experimentation"],["experimetations","experimentations"],["experimeted","experimented"],["experimetel","experimental"],["experimetelly","experimentally"],["experimetent","experiment"],["experimetental","experimental"],["experimetentally","experimentally"],["experimetentation","experimentation"],["experimetentations","experimentations"],["experimetented","experimented"],["experimetentel","experimental"],["experimetentelly","experimentally"],["experimetenter","experimenter"],["experimetenters","experimenters"],["experimetenting","experimenting"],["experimetents","experiments"],["experimeter","experimenter"],["experimeters","experimenters"],["experimeting","experimenting"],["experimetn","experiment"],["experimetnal","experimental"],["experimetnally","experimentally"],["experimetnation","experimentation"],["experimetnations","experimentations"],["experimetned","experimented"],["experimetnel","experimental"],["experimetnelly","experimentally"],["experimetner","experimenter"],["experimetners","experimenters"],["experimetning","experimenting"],["experimetns","experiments"],["experimets","experiments"],["experiming","experimenting"],["experimint","experiment"],["experimintal","experimental"],["experimintally","experimentally"],["experimintation","experimentation"],["experimintations","experimentations"],["experiminted","experimented"],["experimintel","experimental"],["experimintelly","experimentally"],["experiminter","experimenter"],["experiminters","experimenters"],["experiminting","experimenting"],["experimints","experiments"],["experimment","experiment"],["experimmental","experimental"],["experimmentally","experimentally"],["experimmentation","experimentation"],["experimmentations","experimentations"],["experimmented","experimented"],["experimmentel","experimental"],["experimmentelly","experimentally"],["experimmenter","experimenter"],["experimmenters","experimenters"],["experimmenting","experimenting"],["experimments","experiments"],["experimnet","experiment"],["experimnetal","experimental"],["experimnetally","experimentally"],["experimnetation","experimentation"],["experimnetations","experimentations"],["experimneted","experimented"],["experimnetel","experimental"],["experimnetelly","experimentally"],["experimneter","experimenter"],["experimneters","experimenters"],["experimneting","experimenting"],["experimnets","experiments"],["experimnt","experiment"],["experimntal","experimental"],["experimntally","experimentally"],["experimntation","experimentation"],["experimntations","experimentations"],["experimnted","experimented"],["experimntel","experimental"],["experimntelly","experimentally"],["experimnter","experimenter"],["experimnters","experimenters"],["experimnting","experimenting"],["experimnts","experiments"],["experims","experiments"],["experimten","experiment"],["experimtenal","experimental"],["experimtenally","experimentally"],["experimtenation","experimentation"],["experimtenations","experimentations"],["experimtened","experimented"],["experimtenel","experimental"],["experimtenelly","experimentally"],["experimtener","experimenter"],["experimteners","experimenters"],["experimtening","experimenting"],["experimtens","experiments"],["experinece","experience"],["experineced","experienced"],["experinement","experiment"],["experinemental","experimental"],["experinementally","experimentally"],["experinementation","experimentation"],["experinementations","experimentations"],["experinemented","experimented"],["experinementel","experimental"],["experinementelly","experimentally"],["experinementer","experimenter"],["experinementers","experimenters"],["experinementing","experimenting"],["experinements","experiments"],["experiration","expiration"],["experirations","expirations"],["expermenet","experiment"],["expermenetal","experimental"],["expermenetally","experimentally"],["expermenetation","experimentation"],["expermenetations","experimentations"],["expermeneted","experimented"],["expermenetel","experimental"],["expermenetelly","experimentally"],["expermeneter","experimenter"],["expermeneters","experimenters"],["expermeneting","experimenting"],["expermenets","experiments"],["experment","experiment"],["expermental","experimental"],["expermentally","experimentally"],["expermentation","experimentation"],["expermentations","experimentations"],["expermented","experimented"],["expermentel","experimental"],["expermentelly","experimentally"],["expermenter","experimenter"],["expermenters","experimenters"],["expermenting","experimenting"],["experments","experiments"],["expermient","experiment"],["expermiental","experimental"],["expermientally","experimentally"],["expermientation","experimentation"],["expermientations","experimentations"],["expermiented","experimented"],["expermientel","experimental"],["expermientelly","experimentally"],["expermienter","experimenter"],["expermienters","experimenters"],["expermienting","experimenting"],["expermients","experiments"],["expermiment","experiment"],["expermimental","experimental"],["expermimentally","experimentally"],["expermimentation","experimentation"],["expermimentations","experimentations"],["expermimented","experimented"],["expermimentel","experimental"],["expermimentelly","experimentally"],["expermimenter","experimenter"],["expermimenters","experimenters"],["expermimenting","experimenting"],["expermiments","experiments"],["experminent","experiment"],["experminental","experimental"],["experminentally","experimentally"],["experminentation","experimentation"],["experminentations","experimentations"],["experminents","experiments"],["expernal","external"],["expers","express"],["expersed","expressed"],["expersing","expressing"],["expersion","expression"],["expersions","expressions"],["expersive","expensive"],["experss","express"],["experssed","expressed"],["expersses","expresses"],["experssing","expressing"],["experssion","expression"],["experssions","expressions"],["expese","expense"],["expeses","expenses"],["expesive","expensive"],["expesnce","expense"],["expesnces","expenses"],["expesncive","expensive"],["expess","express"],["expessed","expressed"],["expesses","expresses"],["expessing","expressing"],["expession","expression"],["expessions","expressions"],["expest","expect"],["expested","expected"],["expestedly","expectedly"],["expesting","expecting"],["expetancy","expectancy"],["expetation","expectation"],["expetc","expect"],["expetced","expected"],["expetcedly","expectedly"],["expetcing","expecting"],["expetcs","expects"],["expetct","expect"],["expetcted","expected"],["expetctedly","expectedly"],["expetcting","expecting"],["expetcts","expects"],["expetect","expect"],["expetected","expected"],["expetectedly","expectedly"],["expetecting","expecting"],["expetectly","expectedly"],["expetects","expects"],["expeted","expected"],["expetedly","expectedly"],["expetiment","experiment"],["expetimental","experimental"],["expetimentally","experimentally"],["expetimentation","experimentation"],["expetimentations","experimentations"],["expetimented","experimented"],["expetimentel","experimental"],["expetimentelly","experimentally"],["expetimenter","experimenter"],["expetimenters","experimenters"],["expetimenting","experimenting"],["expetiments","experiments"],["expeting","expecting"],["expetion","exception"],["expetional","exceptional"],["expetions","exceptions"],["expets","expects"],["expewriment","experiment"],["expewrimental","experimental"],["expewrimentally","experimentally"],["expewrimentation","experimentation"],["expewrimentations","experimentations"],["expewrimented","experimented"],["expewrimentel","experimental"],["expewrimentelly","experimentally"],["expewrimenter","experimenter"],["expewrimenters","experimenters"],["expewrimenting","experimenting"],["expewriments","experiments"],["expexct","expect"],["expexcted","expected"],["expexctedly","expectedly"],["expexcting","expecting"],["expexcts","expects"],["expexnasion","expansion"],["expexnasions","expansions"],["expext","expect"],["expexted","expected"],["expextedly","expectedly"],["expexting","expecting"],["expexts","expects"],["expicit","explicit"],["expicitly","explicitly"],["expidition","expedition"],["expiditions","expeditions"],["expierence","experience"],["expierenced","experienced"],["expierences","experiences"],["expierience","experience"],["expieriences","experiences"],["expilicitely","explicitly"],["expireitme","expiretime"],["expiriation","expiration"],["expirie","expire"],["expiried","expired"],["expirience","experience"],["expiriences","experiences"],["expirimental","experimental"],["expiriy","expiry"],["explaination","explanation"],["explainations","explanations"],["explainatory","explanatory"],["explaind","explained"],["explanaiton","explanation"],["explanaitons","explanations"],["explane","explain"],["explaned","explained"],["explanes","explains"],["explaning","explaining"],["explantion","explanation"],["explantions","explanations"],["explcit","explicit"],["explecit","explicit"],["explecitely","explicitly"],["explecitily","explicitly"],["explecitly","explicitly"],["explenation","explanation"],["explicat","explicate"],["explicilt","explicit"],["explicilty","explicitly"],["explicitelly","explicitly"],["explicitely","explicitly"],["explicitily","explicitly"],["explicity","explicitly"],["explicityly","explicitly"],["explict","explicit"],["explictely","explicitly"],["explictily","explicitly"],["explictly","explicitly"],["explin","explain"],["explination","explanation"],["explinations","explanations"],["explined","explained"],["explins","explains"],["explit","explicit"],["explitictly","explicitly"],["explitit","explicit"],["explitly","explicitly"],["explizit","explicit"],["explizitly","explicitly"],["exploititive","exploitative"],["expoed","exposed"],["expoent","exponent"],["expoential","exponential"],["expoentially","exponentially"],["expoentntial","exponential"],["expoerted","exported"],["expoit","exploit"],["expoitation","exploitation"],["expoited","exploited"],["expoits","exploits"],["expolde","explode"],["exponant","exponent"],["exponantation","exponentiation"],["exponantially","exponentially"],["exponantialy","exponentially"],["exponants","exponents"],["exponentation","exponentiation"],["exponentialy","exponentially"],["exponentiel","exponential"],["exponentiell","exponential"],["exponetial","exponential"],["exporession","expression"],["expors","exports"],["expport","export"],["exppressed","expressed"],["expres","express"],["expresed","expressed"],["expresing","expressing"],["expresion","expression"],["expresions","expressions"],["expressable","expressible"],["expressino","expression"],["expresso","espresso"],["expresss","express"],["expresssion","expression"],["expresssions","expressions"],["exprience","experience"],["exprienced","experienced"],["expriences","experiences"],["exprimental","experimental"],["expropiated","expropriated"],["expropiation","expropriation"],["exprot","export"],["exproted","exported"],["exproting","exporting"],["exprots","exports"],["exprted","exported"],["exptected","expected"],["exra","extra"],["exract","extract"],["exressed","expressed"],["exression","expression"],["exsistence","existence"],["exsistent","existent"],["exsisting","existing"],["exsists","exists"],["exsiting","existing"],["exspect","expect"],["exspected","expected"],["exspectedly","expectedly"],["exspecting","expecting"],["exspects","expects"],["exspense","expense"],["exspensed","expensed"],["exspenses","expenses"],["exstacy","ecstasy"],["exsted","existed"],["exsting","existing"],["exstream","extreme"],["exsts","exists"],["extaction","extraction"],["extactly","exactly"],["extacy","ecstasy"],["extarnal","external"],["extarnally","externally"],["extatic","ecstatic"],["extedn","extend"],["extedned","extended"],["extedner","extender"],["extedners","extenders"],["extedns","extends"],["extemely","extremely"],["exten","extent"],["extenal","external"],["extendded","extended"],["extendet","extended"],["extendsions","extensions"],["extened","extended"],["exteneded","extended"],["extenisble","extensible"],["extennsions","extensions"],["extensability","extensibility"],["extensiable","extensible"],["extensibity","extensibility"],["extensilbe","extensible"],["extensiones","extensions"],["extensivly","extensively"],["extenson","extension"],["extenstion","extension"],["extenstions","extensions"],["extented","extended"],["extention","extension"],["extentions","extensions"],["extepect","expect"],["extepecting","expecting"],["extepects","expects"],["exteral","external"],["extered","exerted"],["extereme","extreme"],["exterme","extreme"],["extermest","extremest"],["extermist","extremist"],["extermists","extremists"],["extermly","extremely"],["extermporaneous","extemporaneous"],["externaly","externally"],["externel","external"],["externelly","externally"],["externels","externals"],["extesion","extension"],["extesions","extensions"],["extesnion","extension"],["extesnions","extensions"],["extimate","estimate"],["extimated","estimated"],["extimates","estimates"],["extimating","estimating"],["extimation","estimation"],["extimations","estimations"],["extimator","estimator"],["extimators","estimators"],["extist","exist"],["extit","exit"],["extnesion","extension"],["extrac","extract"],["extraced","extracted"],["extracing","extracting"],["extracter","extractor"],["extractet","extracted"],["extractino","extracting"],["extractins","extractions"],["extradiction","extradition"],["extraenous","extraneous"],["extranous","extraneous"],["extrapoliate","extrapolate"],["extrat","extract"],["extrated","extracted"],["extraterrestial","extraterrestrial"],["extraterrestials","extraterrestrials"],["extrates","extracts"],["extrating","extracting"],["extration","extraction"],["extrator","extractor"],["extrators","extractors"],["extrats","extracts"],["extravagent","extravagant"],["extraversion","extroversion"],["extravert","extrovert"],["extraverts","extroverts"],["extraxt","extract"],["extraxted","extracted"],["extraxting","extracting"],["extraxtors","extractors"],["extraxts","extracts"],["extream","extreme"],["extreamely","extremely"],["extreamily","extremely"],["extreamly","extremely"],["extreams","extremes"],["extreem","extreme"],["extreemly","extremely"],["extremaly","extremely"],["extremeley","extremely"],["extremelly","extremely"],["extrememe","extreme"],["extrememely","extremely"],["extrememly","extremely"],["extremeophile","extremophile"],["extremitys","extremities"],["extremly","extremely"],["extrenal","external"],["extrenally","externally"],["extrenaly","externally"],["extrime","extreme"],["extrimely","extremely"],["extrimly","extremely"],["extrmities","extremities"],["extrodinary","extraordinary"],["extrordinarily","extraordinarily"],["extrordinary","extraordinary"],["extry","entry"],["exturd","extrude"],["exturde","extrude"],["exturded","extruded"],["exturdes","extrudes"],["exturding","extruding"],["exuberent","exuberant"],["exucuted","executed"],["eyt","yet"],["ezdrop","eavesdrop"],["fability","facility"],["fabircate","fabricate"],["fabircated","fabricated"],["fabircates","fabricates"],["fabircatings","fabricating"],["fabircation","fabrication"],["facce","face"],["faciliate","facilitate"],["faciliated","facilitated"],["faciliates","facilitates"],["faciliating","facilitating"],["facilites","facilities"],["facilitiate","facilitate"],["facilitiates","facilitates"],["facilititate","facilitate"],["facillitate","facilitate"],["facillities","facilities"],["faciltate","facilitate"],["facilties","facilities"],["facinated","fascinated"],["facirity","facility"],["facist","fascist"],["facorite","favorite"],["facorites","favorites"],["facourite","favourite"],["facourites","favourites"],["facours","favours"],["factization","factorization"],["factorizaiton","factorization"],["factorys","factories"],["fadind","fading"],["faeture","feature"],["faetures","features"],["Fahrenheight","Fahrenheit"],["faield","failed"],["faild","failed"],["failded","failed"],["faile","failed"],["failer","failure"],["failes","fails"],["failicies","facilities"],["failicy","facility"],["failied","failed"],["failiure","failure"],["failiures","failures"],["failiver","failover"],["faill","fail"],["failled","failed"],["faillure","failure"],["failng","failing"],["failre","failure"],["failrue","failure"],["failture","failure"],["failue","failure"],["failuer","failure"],["failues","failures"],["failured","failed"],["faireness","fairness"],["fairoh","pharaoh"],["faiway","fairway"],["faiways","fairways"],["faktor","factor"],["faktored","factored"],["faktoring","factoring"],["faktors","factors"],["falg","flag"],["falgs","flags"],["falied","failed"],["faliure","failure"],["faliures","failures"],["fallabck","fallback"],["fallbck","fallback"],["fallhrough","fallthrough"],["fallthruogh","fallthrough"],["falltrough","fallthrough"],["falshed","flashed"],["falshes","flashes"],["falshing","flashing"],["falsly","falsely"],["falt","fault"],["falure","failure"],["familar","familiar"],["familes","families"],["familiies","families"],["familiy","family"],["familliar","familiar"],["familly","family"],["famlilies","families"],["famlily","family"],["famoust","famous"],["fanatism","fanaticism"],["fancyness","fanciness"],["Farenheight","Fahrenheit"],["Farenheit","Fahrenheit"],["faries","fairies"],["farmework","framework"],["fasade","facade"],["fasion","fashion"],["fasle","false"],["fassade","facade"],["fassinate","fascinate"],["fasterner","fastener"],["fasterners","fasteners"],["fastner","fastener"],["fastners","fasteners"],["fastr","faster"],["fatc","fact"],["fater","faster"],["fatig","fatigue"],["fatser","faster"],["fature","feature"],["faught","fought"],["fauilure","failure"],["fauilures","failures"],["fauture","feature"],["fautured","featured"],["fautures","features"],["fauturing","featuring"],["favoutrable","favourable"],["favuourites","favourites"],["faymus","famous"],["fcound","found"],["feasabile","feasible"],["feasability","feasibility"],["feasable","feasible"],["featchd","fetched"],["featched","fetched"],["featching","fetching"],["featchs","fetches"],["featchss","fetches"],["featchure","feature"],["featchured","featured"],["featchures","features"],["featchuring","featuring"],["featre","feature"],["featue","feature"],["featued","featured"],["featues","features"],["featur","feature"],["featurs","features"],["feautre","feature"],["feauture","feature"],["feautures","features"],["febbruary","February"],["febewary","February"],["februar","February"],["Febuary","February"],["Feburary","February"],["fecthing","fetching"],["fedality","fidelity"],["fedreally","federally"],["feeback","feedback"],["feeded","fed"],["feek","feel"],["feeks","feels"],["feetur","feature"],["feeture","feature"],["feild","field"],["feld","field"],["felisatus","felicitous"],["femminist","feminist"],["fempto","femto"],["feonsay","fianc\xE9e"],["fequency","frequency"],["feromone","pheromone"],["fertil","fertile"],["fertily","fertility"],["fetaure","feature"],["fetaures","features"],["fetchs","fetches"],["feture","feature"],["fetures","features"],["fewsha","fuchsia"],["fezent","pheasant"],["fhurter","further"],["fials","fails"],["fianite","finite"],["fianlly","finally"],["fibonaacci","Fibonacci"],["ficticious","fictitious"],["fictious","fictitious"],["fidality","fidelity"],["fiddley","fiddly"],["fidn","find"],["fied","field"],["fiedl","field"],["fiedled","fielded"],["fiedls","fields"],["fieid","field"],["fieldlst","fieldlist"],["fieled","field"],["fielesystem","filesystem"],["fielesystems","filesystems"],["fielname","filename"],["fielneame","filename"],["fiercly","fiercely"],["fightings","fighting"],["figurestyle","figurestyles"],["filal","final"],["fileand","file and"],["fileds","fields"],["fileld","field"],["filelds","fields"],["filenae","filename"],["filese","files"],["fileshystem","filesystem"],["fileshystems","filesystems"],["filesnames","filenames"],["filess","files"],["filesstem","filesystem"],["filessytem","filesystem"],["filessytems","filesystems"],["fileststem","filesystem"],["filesysems","filesystems"],["filesysthem","filesystem"],["filesysthems","filesystems"],["filesystmes","filesystems"],["filesystyem","filesystem"],["filesystyems","filesystems"],["filesytem","filesystem"],["filesytems","filesystems"],["filesytsem","filesystem"],["fileter","filter"],["filetest","file test"],["filetests","file tests"],["fileystem","filesystem"],["fileystems","filesystems"],["filiament","filament"],["fillay","fillet"],["fillement","filament"],["fillowing","following"],["fillung","filling"],["filnal","final"],["filname","filename"],["filp","flip"],["filpped","flipped"],["filpping","flipping"],["filps","flips"],["filse","files"],["filsystem","filesystem"],["filsystems","filesystems"],["filterd","filtered"],["filterig","filtering"],["filterin","filtering"],["filterring","filtering"],["filtersing","filtering"],["filterss","filters"],["filtype","filetype"],["filtypes","filetypes"],["fimilies","families"],["fimrware","firmware"],["fimware","firmware"],["finacial","financial"],["finailse","finalise"],["finailze","finalize"],["finallly","finally"],["finanace","finance"],["finanaced","financed"],["finanaces","finances"],["finanacially","financially"],["finanacier","financier"],["financialy","financially"],["finanize","finalize"],["finanlize","finalize"],["fincally","finally"],["finctionalities","functionalities"],["finctionality","functionality"],["finde","find"],["findn","find"],["findout","find out"],["finelly","finally"],["finess","finesse"],["fingeprint","fingerprint"],["finialization","finalization"],["finializing","finalizing"],["finilizes","finalizes"],["finisched","finished"],["finised","finished"],["finishied","finished"],["finishs","finishes"],["finitel","finite"],["finness","finesse"],["finnished","finished"],["finshed","finished"],["finshing","finishing"],["finsih","finish"],["finsihed","finished"],["finsihes","finishes"],["finsihing","finishing"],["finsished","finished"],["finxed","fixed"],["finxing","fixing"],["fiorget","forget"],["firday","Friday"],["firends","friends"],["firey","fiery"],["firmare","firmware"],["firmaware","firmware"],["firmawre","firmware"],["firmeare","firmware"],["firmeware","firmware"],["firmnware","firmware"],["firmwart","firmware"],["firmwear","firmware"],["firmwqre","firmware"],["firmwre","firmware"],["firmwware","firmware"],["firsr","first"],["firsth","first"],["firware","firmware"],["firwmare","firmware"],["fisionable","fissionable"],["fisisist","physicist"],["fisist","physicist"],["fisrt","first"],["fitering","filtering"],["fitler","filter"],["fitlers","filters"],["fivety","fifty"],["fixel","pixel"],["fixels","pixels"],["fixeme","fixme"],["fixwd","fixed"],["fizeek","physique"],["flacor","flavor"],["flacored","flavored"],["flacoring","flavoring"],["flacorings","flavorings"],["flacors","flavors"],["flacour","flavour"],["flacoured","flavoured"],["flacouring","flavouring"],["flacourings","flavourings"],["flacours","flavours"],["flaged","flagged"],["flages","flags"],["flagg","flag"],["flahsed","flashed"],["flahses","flashes"],["flahsing","flashing"],["flakyness","flakiness"],["flamable","flammable"],["flaot","float"],["flaoting","floating"],["flashflame","flashframe"],["flashig","flashing"],["flasing","flashing"],["flate","flat"],["flatened","flattened"],["flattend","flattened"],["flattenning","flattening"],["flawess","flawless"],["fle","file"],["flem","phlegm"],["Flemmish","Flemish"],["flewant","fluent"],["flexability","flexibility"],["flexable","flexible"],["flexibel","flexible"],["flexibele","flexible"],["flexibilty","flexibility"],["flext","flex"],["flie","file"],["fliter","filter"],["flitered","filtered"],["flitering","filtering"],["fliters","filters"],["floading-add","floating-add"],["floatation","flotation"],["floride","fluoride"],["floting","floating"],["flouride","fluoride"],["flourine","fluorine"],["flourishment","flourishing"],["flter","filter"],["fluctuand","fluctuant"],["flud","flood"],["fluorish","flourish"],["fluoroscent","fluorescent"],["fluroescent","fluorescent"],["flushs","flushes"],["flusing","flushing"],["focu","focus"],["focued","focused"],["focument","document"],["focuse","focus"],["focusf","focus"],["focuss","focus"],["focussed","focused"],["focusses","focuses"],["fof","for"],["foget","forget"],["fogot","forgot"],["fogotten","forgotten"],["fointers","pointers"],["foler","folder"],["folers","folders"],["folfer","folder"],["folfers","folders"],["folled","followed"],["foller","follower"],["follers","followers"],["follew","follow"],["follewed","followed"],["follewer","follower"],["follewers","followers"],["follewin","following"],["follewind","following"],["follewing","following"],["follewinwg","following"],["follewiong","following"],["follewiwng","following"],["follewong","following"],["follews","follows"],["follfow","follow"],["follfowed","followed"],["follfower","follower"],["follfowers","followers"],["follfowin","following"],["follfowind","following"],["follfowing","following"],["follfowinwg","following"],["follfowiong","following"],["follfowiwng","following"],["follfowong","following"],["follfows","follows"],["follin","following"],["follind","following"],["follinwg","following"],["folliong","following"],["folliw","follow"],["folliwed","followed"],["folliwer","follower"],["folliwers","followers"],["folliwin","following"],["folliwind","following"],["folliwing","following"],["folliwinwg","following"],["folliwiong","following"],["folliwiwng","following"],["folliwng","following"],["folliwong","following"],["folliws","follows"],["folllow","follow"],["folllowed","followed"],["folllower","follower"],["folllowers","followers"],["folllowin","following"],["folllowind","following"],["folllowing","following"],["folllowinwg","following"],["folllowiong","following"],["folllowiwng","following"],["folllowong","following"],["follod","followed"],["folloeing","following"],["folloing","following"],["folloiwng","following"],["follolwing","following"],["follong","following"],["follos","follows"],["followes","follows"],["followig","following"],["followign","following"],["followin","following"],["followind","following"],["followint","following"],["followng","following"],["followwing","following"],["followwings","followings"],["folls","follows"],["follw","follow"],["follwed","followed"],["follwer","follower"],["follwers","followers"],["follwin","following"],["follwind","following"],["follwing","following"],["follwinwg","following"],["follwiong","following"],["follwiwng","following"],["follwo","follow"],["follwoe","follow"],["follwoed","followed"],["follwoeed","followed"],["follwoeer","follower"],["follwoeers","followers"],["follwoein","following"],["follwoeind","following"],["follwoeing","following"],["follwoeinwg","following"],["follwoeiong","following"],["follwoeiwng","following"],["follwoeong","following"],["follwoer","follower"],["follwoers","followers"],["follwoes","follows"],["follwoin","following"],["follwoind","following"],["follwoing","following"],["follwoinwg","following"],["follwoiong","following"],["follwoiwng","following"],["follwong","following"],["follwoong","following"],["follwos","follows"],["follwow","follow"],["follwowed","followed"],["follwower","follower"],["follwowers","followers"],["follwowin","following"],["follwowind","following"],["follwowing","following"],["follwowinwg","following"],["follwowiong","following"],["follwowiwng","following"],["follwowong","following"],["follwows","follows"],["follws","follows"],["follww","follow"],["follwwed","followed"],["follwwer","follower"],["follwwers","followers"],["follwwin","following"],["follwwind","following"],["follwwing","following"],["follwwinwg","following"],["follwwiong","following"],["follwwiwng","following"],["follwwong","following"],["follwws","follows"],["foloow","follow"],["foloowed","followed"],["foloower","follower"],["foloowers","followers"],["foloowin","following"],["foloowind","following"],["foloowing","following"],["foloowinwg","following"],["foloowiong","following"],["foloowiwng","following"],["foloowong","following"],["foloows","follows"],["folow","follow"],["folowed","followed"],["folower","follower"],["folowers","followers"],["folowin","following"],["folowind","following"],["folowing","following"],["folowinwg","following"],["folowiong","following"],["folowiwng","following"],["folowong","following"],["folows","follows"],["foloww","follow"],["folowwed","followed"],["folowwer","follower"],["folowwers","followers"],["folowwin","following"],["folowwind","following"],["folowwing","following"],["folowwinwg","following"],["folowwiong","following"],["folowwiwng","following"],["folowwong","following"],["folowws","follows"],["folse","false"],["folwo","follow"],["folwoed","followed"],["folwoer","follower"],["folwoers","followers"],["folwoin","following"],["folwoind","following"],["folwoing","following"],["folwoinwg","following"],["folwoiong","following"],["folwoiwng","following"],["folwoong","following"],["folwos","follows"],["folx","folks"],["fom","from"],["fomat","format"],["fomated","formatted"],["fomater","formatter"],["fomates","formats"],["fomating","formatting"],["fomats","formats"],["fomatted","formatted"],["fomatter","formatter"],["fomatting","formatting"],["fomed","formed"],["fomrat","format"],["fomrated","formatted"],["fomrater","formatter"],["fomrating","formatting"],["fomrats","formats"],["fomratted","formatted"],["fomratter","formatter"],["fomratting","formatting"],["fomula","formula"],["fomulas","formula"],["fonction","function"],["fonctional","functional"],["fonctionalities","functionalities"],["fonctionality","functionality"],["fonctioning","functioning"],["fonctionnalies","functionalities"],["fonctionnalities","functionalities"],["fonctionnality","functionality"],["fonctions","functions"],["fonetic","phonetic"],["fontier","frontier"],["fontonfig","fontconfig"],["fontrier","frontier"],["fonud","found"],["foontnotes","footnotes"],["foootball","football"],["foorter","footer"],["footnoes","footnotes"],["footprinst","footprints"],["foound","found"],["foppy","floppy"],["foppys","floppies"],["foramatting","formatting"],["foramt","format"],["forat","format"],["forbad","forbade"],["forbbiden","forbidden"],["forbiden","forbidden"],["forbit","forbid"],["forbiten","forbidden"],["forbitten","forbidden"],["forcably","forcibly"],["forcast","forecast"],["forcasted","forecasted"],["forcaster","forecaster"],["forcasters","forecasters"],["forcasting","forecasting"],["forcasts","forecasts"],["forcot","forgot"],["forece","force"],["foreced","forced"],["foreces","forces"],["foregrond","foreground"],["foregronds","foregrounds"],["foreing","foreign"],["forementionned","aforementioned"],["forermly","formerly"],["forfiet","forfeit"],["forgeround","foreground"],["forgoten","forgotten"],["forground","foreground"],["forhead","forehead"],["foriegn","foreign"],["forld","fold"],["forlder","folder"],["forlders","folders"],["Formalhaut","Fomalhaut"],["formallize","formalize"],["formallized","formalized"],["formate","format"],["formated","formatted"],["formater","formatter"],["formaters","formatters"],["formates","formats"],["formath","format"],["formaths","formats"],["formating","formatting"],["formatteded","formatted"],["formattgin","formatting"],["formattind","formatting"],["formattings","formatting"],["formattring","formatting"],["formattted","formatted"],["formattting","formatting"],["formelly","formerly"],["formely","formerly"],["formend","formed"],["formidible","formidable"],["formmatted","formatted"],["formost","foremost"],["formt","format"],["formua","formula"],["formual","formula"],["formuale","formulae"],["formuals","formulas"],["fornat","format"],["fornated","formatted"],["fornater","formatter"],["fornats","formats"],["fornatted","formatted"],["fornatter","formatter"],["forot","forgot"],["forotten","forgotten"],["forr","for"],["forsaw","foresaw"],["forse","force"],["forseeable","foreseeable"],["fortan","fortran"],["fortat","format"],["forteen","fourteen"],["fortelling","foretelling"],["forthcominng","forthcoming"],["forthcomming","forthcoming"],["fortunaly","fortunately"],["fortunat","fortunate"],["fortunatelly","fortunately"],["fortunatly","fortunately"],["fortunetly","fortunately"],["forula","formula"],["forulas","formulas"],["forumla","formula"],["forumlas","formulas"],["forumula","formula"],["forumulas","formulas"],["forunate","fortunate"],["forunately","fortunately"],["forunner","forerunner"],["forutunate","fortunate"],["forutunately","fortunately"],["forver","forever"],["forwad","forward"],["forwaded","forwarded"],["forwading","forwarding"],["forwads","forwards"],["forwardig","forwarding"],["forwaring","forwarding"],["forwwarded","forwarded"],["foto","photo"],["fotograf","photograph"],["fotografic","photographic"],["fotografical","photographical"],["fotografy","photography"],["fotograph","photograph"],["fotography","photography"],["foucs","focus"],["foudn","found"],["foudning","founding"],["fougth","fought"],["foult","fault"],["foults","faults"],["foundaries","foundries"],["foundary","foundry"],["Foundland","Newfoundland"],["fourties","forties"],["fourty","forty"],["fouth","fourth"],["fouund","found"],["foward","forward"],["fowarded","forwarded"],["fowarding","forwarding"],["fowards","forwards"],["fprmat","format"],["fracional","fractional"],["fragement","fragment"],["fragementation","fragmentation"],["fragements","fragments"],["fragmant","fragment"],["fragmantation","fragmentation"],["fragmants","fragments"],["fragmenet","fragment"],["fragmenetd","fragmented"],["fragmeneted","fragmented"],["fragmeneting","fragmenting"],["fragmenets","fragments"],["fragmnet","fragment"],["frambuffer","framebuffer"],["framebufer","framebuffer"],["framei","frame"],["frament","fragment"],["framented","fragmented"],["framents","fragments"],["frametyp","frametype"],["framewoek","framework"],["framewoeks","frameworks"],["frameworkk","framework"],["framlayout","framelayout"],["framming","framing"],["framwework","framework"],["framwork","framework"],["framworks","frameworks"],["frane","frame"],["frankin","franklin"],["Fransiscan","Franciscan"],["Fransiscans","Franciscans"],["franzise","franchise"],["frecuencies","frequencies"],["frecuency","frequency"],["frecuent","frequent"],["frecuented","frequented"],["frecuently","frequently"],["frecuents","frequents"],["freecallrelpy","freecallreply"],["freedon","freedom"],["freedons","freedoms"],["freedum","freedom"],["freedums","freedoms"],["freee","free"],["freeed","freed"],["freezs","freezes"],["freind","friend"],["freindly","friendly"],["freqencies","frequencies"],["freqency","frequency"],["freqeuncies","frequencies"],["freqeuncy","frequency"],["freqiencies","frequencies"],["freqiency","frequency"],["freqquencies","frequencies"],["freqquency","frequency"],["frequancies","frequencies"],["frequancy","frequency"],["frequant","frequent"],["frequantly","frequently"],["frequences","frequencies"],["frequencey","frequency"],["frequenies","frequencies"],["frequentily","frequently"],["frequncies","frequencies"],["frequncy","frequency"],["freze","freeze"],["frezes","freezes"],["frgament","fragment"],["fricton","friction"],["fridey","Friday"],["frimware","firmware"],["frisday","Friday"],["frist","first"],["frition","friction"],["fritional","frictional"],["fritions","frictions"],["frmat","format"],["frmo","from"],["froce","force"],["frok","from"],["fromal","formal"],["fromat","format"],["fromated","formatted"],["fromates","formats"],["fromating","formatting"],["fromation","formation"],["fromats","formats"],["frome","from"],["fromed","formed"],["fromm","from"],["froms","forms"],["fromt","from"],["fromthe","from the"],["fronend","frontend"],["fronends","frontends"],["froniter","frontier"],["frontent","frontend"],["frontents","frontends"],["frop","drop"],["fropm","from"],["frops","drops"],["frowarded","forwarded"],["frowrad","forward"],["frowrading","forwarding"],["frowrads","forwards"],["frozee","frozen"],["fschk","fsck"],["FTBS","FTBFS"],["ftrunacate","ftruncate"],["fualt","fault"],["fualts","faults"],["fucntion","function"],["fucntional","functional"],["fucntionality","functionality"],["fucntioned","functioned"],["fucntioning","functioning"],["fucntions","functions"],["fuction","function"],["fuctionality","functionality"],["fuctiones","functioned"],["fuctioning","functioning"],["fuctionoid","functionoid"],["fuctions","functions"],["fuetherst","furthest"],["fuethest","furthest"],["fufill","fulfill"],["fufilled","fulfilled"],["fugure","figure"],["fugured","figured"],["fugures","figures"],["fule","file"],["fulfiled","fulfilled"],["fullfiled","fulfilled"],["fullfiling","fulfilling"],["fullfilled","fulfilled"],["fullfilling","fulfilling"],["fullfills","fulfills"],["fullly","fully"],["fulsh","flush"],["fuly","fully"],["fumction","function"],["fumctional","functional"],["fumctionally","functionally"],["fumctioned","functioned"],["fumctions","functions"],["funcation","function"],["funchtion","function"],["funchtional","functional"],["funchtioned","functioned"],["funchtioning","functioning"],["funchtionn","function"],["funchtionnal","functional"],["funchtionned","functioned"],["funchtionning","functioning"],["funchtionns","functions"],["funchtions","functions"],["funcion","function"],["funcions","functions"],["funciotn","function"],["funciotns","functions"],["funciton","function"],["funcitonal","functional"],["funcitonality","functionality"],["funcitonally","functionally"],["funcitoned","functioned"],["funcitoning","functioning"],["funcitons","functions"],["funcstions","functions"],["functiion","function"],["functiional","functional"],["functiionality","functionality"],["functiionally","functionally"],["functiioning","functioning"],["functiions","functions"],["functin","function"],["functinality","functionality"],["functino","function"],["functins","functions"],["functio","function"],["functionability","functionality"],["functionaility","functionality"],["functionailty","functionality"],["functionaily","functionality"],["functionallities","functionalities"],["functionallity","functionality"],["functionaltiy","functionality"],["functionalty","functionality"],["functionionalities","functionalities"],["functionionality","functionality"],["functionnal","functional"],["functionnalities","functionalities"],["functionnality","functionality"],["functionnaly","functionally"],["functionning","functioning"],["functionon","function"],["functionss","functions"],["functios","functions"],["functiosn","functions"],["functiton","function"],["functitonal","functional"],["functitonally","functionally"],["functitoned","functioned"],["functitons","functions"],["functon","function"],["functonal","functional"],["functonality","functionality"],["functoning","functioning"],["functons","functions"],["functtion","function"],["functtional","functional"],["functtionalities","functionalities"],["functtioned","functioned"],["functtioning","functioning"],["functtions","functions"],["funczion","function"],["fundametal","fundamental"],["fundametals","fundamentals"],["fundation","foundation"],["fundemantal","fundamental"],["fundemental","fundamental"],["fundementally","fundamentally"],["fundementals","fundamentals"],["funguses","fungi"],["funktion","function"],["funnnily","funnily"],["funtion","function"],["funtional","functional"],["funtionalities","functionalities"],["funtionality","functionality"],["funtionallity","functionality"],["funtionally","functionally"],["funtionalty","functionality"],["funtioning","functioning"],["funtions","functions"],["funvtion","function"],["funvtional","functional"],["funvtionalities","functionalities"],["funvtionality","functionality"],["funvtioned","functioned"],["funvtioning","functioning"],["funvtions","functions"],["funxtion","function"],["funxtional","functional"],["funxtionalities","functionalities"],["funxtionality","functionality"],["funxtioned","functioned"],["funxtioning","functioning"],["funxtions","functions"],["furether","further"],["furethermore","furthermore"],["furethest","furthest"],["furfill","fulfill"],["furher","further"],["furhermore","furthermore"],["furhest","furthest"],["furhter","further"],["furhtermore","furthermore"],["furhtest","furthest"],["furmalae","formulae"],["furmula","formula"],["furmulae","formulae"],["furnction","function"],["furnctional","functional"],["furnctions","functions"],["furneture","furniture"],["furser","further"],["fursermore","furthermore"],["furst","first"],["fursther","further"],["fursthermore","furthermore"],["fursthest","furthest"],["furter","further"],["furthemore","furthermore"],["furthermor","furthermore"],["furtherst","furthest"],["furthremore","furthermore"],["furthrest","furthest"],["furthur","further"],["furture","future"],["furure","future"],["furuther","further"],["furutre","future"],["furzzer","fuzzer"],["fuschia","fuchsia"],["fushed","flushed"],["fushing","flushing"],["futher","further"],["futherize","further"],["futhermore","furthermore"],["futrue","future"],["futrure","future"],["futture","future"],["fwe","few"],["fwirte","fwrite"],["fxed","fixed"],["fysical","physical"],["fysisist","physicist"],["fysisit","physicist"],["gabage","garbage"],["galatic","galactic"],["Galations","Galatians"],["gallaries","galleries"],["gallary","gallery"],["gallaxies","galaxies"],["gallleries","galleries"],["galllery","gallery"],["galllerys","galleries"],["galvinized","galvanized"],["Gameboy","Game Boy"],["ganbia","gambia"],["ganerate","generate"],["ganes","games"],["ganster","gangster"],["garabge","garbage"],["garantee","guarantee"],["garanteed","guaranteed"],["garanteeed","guaranteed"],["garantees","guarantees"],["garantied","guaranteed"],["garanty","guarantee"],["garbadge","garbage"],["garbage-dollected","garbage-collected"],["garbagge","garbage"],["garbarge","garbage"],["gard","guard"],["gardai","garda\xED"],["garentee","guarantee"],["garnison","garrison"],["garuantee","guarantee"],["garuanteed","guaranteed"],["garuantees","guarantees"],["garuantied","guaranteed"],["gatable","gateable"],["gateing","gating"],["gatherig","gathering"],["gatway","gateway"],["gauage","gauge"],["gauarana","guaran\xE1"],["gauarantee","guarantee"],["gauaranteed","guaranteed"],["gauarentee","guarantee"],["gauarenteed","guaranteed"],["gaurantee","guarantee"],["gauranteed","guaranteed"],["gauranteeing","guaranteeing"],["gaurantees","guarantees"],["gaurentee","guarantee"],["gaurenteed","guaranteed"],["gaurentees","guarantees"],["gaus'","Gauss'"],["gaus's","Gauss'"],["gausian","gaussian"],["geeneric","generic"],["geenrate","generate"],["geenrated","generated"],["geenrates","generates"],["geenration","generation"],["geenrational","generational"],["geeoteen","guillotine"],["geeral","general"],["gemetrical","geometrical"],["gemetry","geometry"],["gemoetry","geometry"],["gemometric","geometric"],["genarate","generate"],["genarated","generated"],["genarating","generating"],["genaration","generation"],["genearal","general"],["genearally","generally"],["genearted","generated"],["geneate","generate"],["geneated","generated"],["geneates","generates"],["geneating","generating"],["geneation","generation"],["geneological","genealogical"],["geneologies","genealogies"],["geneology","genealogy"],["generaates","generates"],["generaly","generally"],["generalyl","generally"],["generalyse","generalise"],["generater","generator"],["generaters","generators"],["generatig","generating"],["generatng","generating"],["generatting","generating"],["genereate","generate"],["genereated","generated"],["genereates","generates"],["genereating","generating"],["genered","generated"],["genereic","generic"],["generell","general"],["generelly","generally"],["genererate","generate"],["genererated","generated"],["genererater","generator"],["genererating","generating"],["genereration","generation"],["genereted","generated"],["generilise","generalise"],["generilised","generalised"],["generilises","generalises"],["generilize","generalize"],["generilized","generalized"],["generilizes","generalizes"],["generiously","generously"],["generla","general"],["generlaizes","generalizes"],["generlas","generals"],["generted","generated"],["generting","generating"],["genertion","generation"],["genertor","generator"],["genertors","generators"],["genialia","genitalia"],["genral","general"],["genralisation","generalisation"],["genralisations","generalisations"],["genralise","generalise"],["genralised","generalised"],["genralises","generalises"],["genralization","generalization"],["genralizations","generalizations"],["genralize","generalize"],["genralized","generalized"],["genralizes","generalizes"],["genrally","generally"],["genrals","generals"],["genrate","generate"],["genrated","generated"],["genrates","generates"],["genratet","generated"],["genrating","generating"],["genration","generation"],["genrations","generations"],["genrator","generator"],["genrators","generators"],["genreate","generate"],["genreated","generated"],["genreates","generates"],["genreating","generating"],["genreic","generic"],["genric","generic"],["genrics","generics"],["gental","gentle"],["genuin","genuine"],["geocentic","geocentric"],["geoemtries","geometries"],["geoemtry","geometry"],["geogcountry","geocountry"],["geographich","geographic"],["geographicial","geographical"],["geoio","geoip"],["geomertic","geometric"],["geomerties","geometries"],["geomerty","geometry"],["geomery","geometry"],["geometites","geometries"],["geometrician","geometer"],["geometricians","geometers"],["geometrie","geometry"],["geometrys","geometries"],["geomety","geometry"],["geometyr","geometry"],["geomitrically","geometrically"],["geomoetric","geometric"],["geomoetrically","geometrically"],["geomoetry","geometry"],["geomtery","geometry"],["geomtries","geometries"],["geomtry","geometry"],["geomtrys","geometries"],["georeferncing","georeferencing"],["geraff","giraffe"],["geraphics","graphics"],["gerat","great"],["gereating","generating"],["gerenate","generate"],["gerenated","generated"],["gerenates","generates"],["gerenating","generating"],["gerenation","generation"],["gerenations","generations"],["gerenic","generic"],["gerenics","generics"],["gererate","generate"],["gererated","generated"],["gerilla","guerrilla"],["gerneral","general"],["gernerally","generally"],["gerneraly","generally"],["gernerate","generate"],["gernerated","generated"],["gernerates","generates"],["gernerating","generating"],["gerneration","generation"],["gernerator","generator"],["gernerators","generators"],["gerneric","generic"],["gernerics","generics"],["gess","guess"],["get's","gets"],["get;s","gets"],["getfastproperyvalue","getfastpropertyvalue"],["getimezone","gettimezone"],["geting","getting"],["getlael","getlabel"],["getoe","ghetto"],["getoject","getobject"],["gettetx","gettext"],["gettter","getter"],["gettters","getters"],["getttext","gettext"],["getttime","gettime"],["getttimeofday","gettimeofday"],["gettting","getting"],["ggogled","Googled"],["Ghandi","Gandhi"],["ghostcript","ghostscript"],["ghostscritp","ghostscript"],["ghraphic","graphic"],["gien","given"],["gigibit","gigabit"],["gilotine","guillotine"],["gilty","guilty"],["ginee","guinea"],["gingam","gingham"],["gioen","given"],["gir","git"],["giser","geyser"],["gisers","geysers"],["git-buildpackge","git-buildpackage"],["git-buildpackges","git-buildpackages"],["gitar","guitar"],["gitars","guitars"],["gitatributes","gitattributes"],["giveing","giving"],["givveing","giving"],["givven","given"],["givving","giving"],["glamourous","glamorous"],["glight","flight"],["gloab","globe"],["gloabal","global"],["gloabl","global"],["gloassaries","glossaries"],["gloassary","glossary"],["globablly","globally"],["globaly","globally"],["globbal","global"],["globel","global"],["glorfied","glorified"],["glpyh","glyph"],["glpyhs","glyphs"],["glyh","glyph"],["glyhs","glyphs"],["glyped","glyphed"],["glyphes","glyphs"],["glyping","glyphing"],["glyserin","glycerin"],["gnawwed","gnawed"],["gneral","general"],["gnerally","generally"],["gnerals","generals"],["gnerate","generate"],["gnerated","generated"],["gnerates","generates"],["gnerating","generating"],["gneration","generation"],["gnerations","generations"],["gneric","generic"],["gnorung","ignoring"],["gobal","global"],["gocde","gcode"],["godess","goddess"],["godesses","goddesses"],["Godounov","Godunov"],["goemetries","geometries"],["goess","goes"],["gogether","together"],["goign","going"],["goin","going"],["goind","going"],["golbal","global"],["golbally","globally"],["golbaly","globally"],["gonig","going"],["gool","ghoul"],["gord","gourd"],["gormay","gourmet"],["gorry","gory"],["gorup","group"],["goruped","grouped"],["goruping","grouping"],["gorups","groups"],["gost","ghost"],["Gothenberg","Gothenburg"],["Gottleib","Gottlieb"],["goup","group"],["gouped","grouped"],["goups","groups"],["gouvener","governor"],["govement","government"],["govenment","government"],["govenor","governor"],["govenrment","government"],["goverance","governance"],["goverment","government"],["govermental","governmental"],["govermnment","government"],["governer","governor"],["governmnet","government"],["govorment","government"],["govormental","governmental"],["govornment","government"],["grabage","garbage"],["grabed","grabbed"],["grabing","grabbing"],["gracefull","graceful"],["gracefuly","gracefully"],["gradiants","gradients"],["gradualy","gradually"],["graet","great"],["grafics","graphics"],["grafitti","graffiti"],["grahic","graphic"],["grahical","graphical"],["grahics","graphics"],["grahpic","graphic"],["grahpical","graphical"],["grahpics","graphics"],["gramar","grammar"],["gramatically","grammatically"],["grammartical","grammatical"],["grammaticaly","grammatically"],["grammer","grammar"],["grammers","grammars"],["granchildren","grandchildren"],["granilarity","granularity"],["granuality","granularity"],["granualtiry","granularity"],["granulatiry","granularity"],["grapgics","graphics"],["graphcis","graphics"],["graphis","graphics"],["grapic","graphic"],["grapical","graphical"],["grapics","graphics"],["grat","great"],["gratefull","grateful"],["gratuitious","gratuitous"],["grbber","grabber"],["greatful","grateful"],["greatfully","gratefully"],["greather","greater"],["greif","grief"],["grephic","graphic"],["grestest","greatest"],["greysacles","greyscales"],["gridles","griddles"],["grigorian","Gregorian"],["grobal","global"],["grobally","globally"],["grometry","geometry"],["grooup","group"],["groouped","grouped"],["groouping","grouping"],["grooups","groups"],["gropu","group"],["groubpy","groupby"],["groupd","grouped"],["groupping","grouping"],["groupt","grouped"],["grranted","granted"],["gruop","group"],["gruopd","grouped"],["gruops","groups"],["grup","group"],["gruped","grouped"],["gruping","grouping"],["grups","groups"],["grwo","grow"],["guage","gauge"],["guarante","guarantee"],["guaranted","guaranteed"],["guaranteey","guaranty"],["guaranteing","guaranteeing"],["guarantes","guarantees"],["guarantie","guarantee"],["guarbage","garbage"],["guareded","guarded"],["guareente","guarantee"],["guareented","guaranteed"],["guareentee","guarantee"],["guareenteed","guaranteed"],["guareenteeing","guaranteeing"],["guareentees","guarantees"],["guareenteing","guaranteeing"],["guareentes","guarantees"],["guareenty","guaranty"],["guarente","guarantee"],["guarented","guaranteed"],["guarentee","guarantee"],["guarenteed","guaranteed"],["guarenteede","guarantee"],["guarenteeded","guaranteed"],["guarenteedeing","guaranteeing"],["guarenteedes","guarantees"],["guarenteedy","guaranty"],["guarenteeing","guaranteeing"],["guarenteer","guarantee"],["guarenteerd","guaranteed"],["guarenteering","guaranteeing"],["guarenteers","guarantees"],["guarentees","guarantees"],["guarenteing","guaranteeing"],["guarentes","guarantees"],["guarentie","guarantee"],["guarentied","guaranteed"],["guarentieing","guaranteeing"],["guarenties","guarantees"],["guarenty","guaranty"],["guarentyd","guaranteed"],["guarentying","guarantee"],["guarentyinging","guaranteeing"],["guarentys","guarantees"],["guarging","guarding"],["guarnante","guarantee"],["guarnanted","guaranteed"],["guarnantee","guarantee"],["guarnanteed","guaranteed"],["guarnanteeing","guaranteeing"],["guarnantees","guarantees"],["guarnanteing","guaranteeing"],["guarnantes","guarantees"],["guarnanty","guaranty"],["guarnate","guarantee"],["guarnated","guaranteed"],["guarnatee","guarantee"],["guarnateed","guaranteed"],["guarnateee","guarantee"],["guarnateeed","guaranteed"],["guarnateeeing","guaranteeing"],["guarnateees","guarantees"],["guarnateeing","guaranteeing"],["guarnatees","guarantees"],["guarnateing","guaranteeing"],["guarnates","guarantees"],["guarnatey","guaranty"],["guarnaty","guaranty"],["guarnete","guarantee"],["guarneted","guaranteed"],["guarnetee","guarantee"],["guarneteed","guaranteed"],["guarneteeing","guaranteeing"],["guarnetees","guarantees"],["guarneteing","guaranteeing"],["guarnetes","guarantees"],["guarnety","guaranty"],["guarnte","guarantee"],["guarnted","guaranteed"],["guarntee","guarantee"],["guarnteed","guaranteed"],["guarnteeing","guaranteeing"],["guarntees","guarantees"],["guarnteing","guaranteeing"],["guarntes","guarantees"],["guarnty","guaranty"],["guarrante","guarantee"],["guarranted","guaranteed"],["guarrantee","guarantee"],["guarranteed","guaranteed"],["guarranteeing","guaranteeing"],["guarrantees","guarantees"],["guarranteing","guaranteeing"],["guarrantes","guarantees"],["guarrantie","guarantee"],["guarrantied","guaranteed"],["guarrantieing","guaranteeing"],["guarranties","guarantees"],["guarranty","guaranty"],["guarrantyd","guaranteed"],["guarrantying","guaranteeing"],["guarrantys","guarantees"],["guarrente","guarantee"],["guarrented","guaranteed"],["guarrentee","guarantee"],["guarrenteed","guaranteed"],["guarrenteeing","guaranteeing"],["guarrentees","guarantees"],["guarrenteing","guaranteeing"],["guarrentes","guarantees"],["guarrenty","guaranty"],["guaruante","guarantee"],["guaruanted","guaranteed"],["guaruantee","guarantee"],["guaruanteed","guaranteed"],["guaruanteeing","guaranteeing"],["guaruantees","guarantees"],["guaruanteing","guaranteeing"],["guaruantes","guarantees"],["guaruanty","guaranty"],["guarunte","guarantee"],["guarunted","guaranteed"],["guaruntee","guarantee"],["guarunteed","guaranteed"],["guarunteeing","guaranteeing"],["guaruntees","guarantees"],["guarunteing","guaranteeing"],["guaruntes","guarantees"],["guarunty","guaranty"],["guas'","Gauss'"],["guas's","Gauss'"],["guas","Gauss"],["guass'","Gauss'"],["guass","Gauss"],["guassian","Gaussian"],["Guatamala","Guatemala"],["Guatamalan","Guatemalan"],["gud","good"],["guerrila","guerrilla"],["guerrilas","guerrillas"],["gueswork","guesswork"],["guideded","guided"],["guidence","guidance"],["guidline","guideline"],["guidlines","guidelines"],["Guilia","Giulia"],["Guilio","Giulio"],["Guiness","Guinness"],["Guiseppe","Giuseppe"],["gunanine","guanine"],["gurantee","guarantee"],["guranteed","guaranteed"],["guranteeing","guaranteeing"],["gurantees","guarantees"],["gurrantee","guarantee"],["guttaral","guttural"],["gutteral","guttural"],["gylph","glyph"],["gziniflate","gzinflate"],["gziped","gzipped"],["haa","has"],["haave","have"],["habaeus","habeas"],["habbit","habit"],["habeus","habeas"],["hability","ability"],["Habsbourg","Habsburg"],["hace","have"],["hachish","hackish"],["hadling","handling"],["hadnler","handler"],["haeder","header"],["haemorrage","haemorrhage"],["halarious","hilarious"],["hald","held"],["halfs","halves"],["halp","help"],["halpoints","halfpoints"],["hammmer","hammer"],["hampster","hamster"],["handel","handle"],["handeler","handler"],["handeles","handles"],["handeling","handling"],["handels","handles"],["hander","handler"],["handfull","handful"],["handhake","handshake"],["handker","handler"],["handleer","handler"],["handleing","handling"],["handlig","handling"],["handlling","handling"],["handsake","handshake"],["handshacke","handshake"],["handshackes","handshakes"],["handshacking","handshaking"],["handshage","handshake"],["handshages","handshakes"],["handshaging","handshaking"],["handshak","handshake"],["handshakng","handshaking"],["handshakre","handshake"],["handshakres","handshakes"],["handshakring","handshaking"],["handshaks","handshakes"],["handshale","handshake"],["handshales","handshakes"],["handshaling","handshaking"],["handshare","handshake"],["handshares","handshakes"],["handsharing","handshaking"],["handshk","handshake"],["handshke","handshake"],["handshkes","handshakes"],["handshking","handshaking"],["handshkng","handshaking"],["handshks","handshakes"],["handskake","handshake"],["handwirting","handwriting"],["hanel","handle"],["hangig","hanging"],["hanlde","handle"],["hanlded","handled"],["hanlder","handler"],["hanlders","handlers"],["hanldes","handles"],["hanlding","handling"],["hanldle","handle"],["hanle","handle"],["hanled","handled"],["hanles","handles"],["hanling","handling"],["hanshake","handshake"],["hanshakes","handshakes"],["hansome","handsome"],["hapen","happen"],["hapend","happened"],["hapends","happens"],["hapened","happened"],["hapening","happening"],["hapenn","happen"],["hapenned","happened"],["hapenning","happening"],["hapenns","happens"],["hapens","happens"],["happaned","happened"],["happended","happened"],["happenned","happened"],["happenning","happening"],["happennings","happenings"],["happenns","happens"],["happilly","happily"],["happne","happen"],["happpen","happen"],["happpened","happened"],["happpening","happening"],["happpenings","happenings"],["happpens","happens"],["harased","harassed"],["harases","harasses"],["harasment","harassment"],["harasments","harassments"],["harassement","harassment"],["harcoded","hardcoded"],["harcoding","hardcoding"],["hard-wirted","hard-wired"],["hardare","hardware"],["hardocde","hardcode"],["hardward","hardware"],["hardwdare","hardware"],["hardwirted","hardwired"],["harge","charge"],["harras","harass"],["harrased","harassed"],["harrases","harasses"],["harrasing","harassing"],["harrasment","harassment"],["harrasments","harassments"],["harrass","harass"],["harrassed","harassed"],["harrasses","harassed"],["harrassing","harassing"],["harrassment","harassment"],["harrassments","harassments"],["harth","hearth"],["harware","hardware"],["harwdare","hardware"],["has'nt","hasn't"],["hases","hashes"],["hashi","hash"],["hashreference","hash reference"],["hashs","hashes"],["hashses","hashes"],["hask","hash"],["hasn;t","hasn't"],["hasnt'","hasn't"],["hasnt","hasn't"],["hass","hash"],["hastable","hashtable"],["hastables","hashtables"],["Hatian","Haitian"],["hauty","haughty"],["have'nt","haven't"],["haveing","having"],["haven;t","haven't"],["havent'","haven't"],["havent't","haven't"],["havent","haven't"],["havew","have"],["haviest","heaviest"],["havn't","haven't"],["havnt","haven't"],["hax","hex"],["haynus","heinous"],["hazzle","hassle"],["hda","had"],["headder","header"],["headders","headers"],["headerr","header"],["headerrs","headers"],["headle","handle"],["headong","heading"],["headquarer","headquarter"],["headquater","headquarter"],["headquatered","headquartered"],["headquaters","headquarters"],["heaer","header"],["healthercare","healthcare"],["heathy","healthy"],["hefer","heifer"],["Heidelburg","Heidelberg"],["heigest","highest"],["heigher","higher"],["heighest","highest"],["heighit","height"],["heighteen","eighteen"],["heigt","height"],["heigth","height"],["heirachies","hierarchies"],["heirachy","hierarchy"],["heirarchic","hierarchic"],["heirarchical","hierarchical"],["heirarchically","hierarchically"],["heirarchies","hierarchies"],["heirarchy","hierarchy"],["heiroglyphics","hieroglyphics"],["helerps","helpers"],["hellow","hello"],["helment","helmet"],["heloer","helper"],["heloers","helpers"],["helpe","helper"],["helpfull","helpful"],["helpfuly","helpfully"],["helpped","helped"],["hemipshere","hemisphere"],["hemipsheres","hemispheres"],["hemishpere","hemisphere"],["hemishperes","hemispheres"],["hemmorhage","hemorrhage"],["hemorage","haemorrhage"],["henc","hence"],["henderence","hindrance"],["hendler","handler"],["hense","hence"],["hepler","helper"],["herarchy","hierarchy"],["herat","heart"],["heree","here"],["heridity","heredity"],["heroe","hero"],["heros","heroes"],["herselv","herself"],["hertiage","heritage"],["hertically","hectically"],["hertzs","hertz"],["hese","these"],["hesiate","hesitate"],["hesistant","hesitant"],["hesistate","hesitate"],["hesistated","hesitated"],["hesistates","hesitates"],["hesistating","hesitating"],["hesistation","hesitation"],["hesistations","hesitations"],["hestiate","hesitate"],["hetrogeneous","heterogeneous"],["heuristc","heuristic"],["heuristcs","heuristics"],["heursitics","heuristics"],["hevy","heavy"],["hexademical","hexadecimal"],["hexdecimal","hexadecimal"],["hexgaon","hexagon"],["hexgaonal","hexagonal"],["hexgaons","hexagons"],["hexidecimal","hexadecimal"],["hge","he"],["hiarchical","hierarchical"],["hiarchy","hierarchy"],["hiddden","hidden"],["hidded","hidden"],["hideen","hidden"],["hiden","hidden"],["hiearchies","hierarchies"],["hiearchy","hierarchy"],["hieght","height"],["hiena","hyena"],["hierachical","hierarchical"],["hierachies","hierarchies"],["hierachries","hierarchies"],["hierachry","hierarchy"],["hierachy","hierarchy"],["hierarachical","hierarchical"],["hierarachy","hierarchy"],["hierarchichal","hierarchical"],["hierarchichally","hierarchically"],["hierarchie","hierarchy"],["hierarcical","hierarchical"],["hierarcy","hierarchy"],["hierarhcical","hierarchical"],["hierarhcically","hierarchically"],["hierarhcies","hierarchies"],["hierarhcy","hierarchy"],["hierchy","hierarchy"],["hieroglph","hieroglyph"],["hieroglphs","hieroglyphs"],["hietus","hiatus"],["higeine","hygiene"],["higer","higher"],["higest","highest"],["high-affort","high-effort"],["highight","highlight"],["highighted","highlighted"],["highighter","highlighter"],["highighters","highlighters"],["highights","highlights"],["highjack","hijack"],["highligh","highlight"],["highlighed","highlighted"],["highligher","highlighter"],["highlighers","highlighters"],["highlighing","highlighting"],["highlighs","highlights"],["highlightin","highlighting"],["highlightning","highlighting"],["highligjt","highlight"],["highligjted","highlighted"],["highligjtes","highlights"],["highligjting","highlighting"],["highligjts","highlights"],["highligt","highlight"],["highligted","highlighted"],["highligth","highlight"],["highligting","highlighting"],["highligts","highlights"],["highter","higher"],["hightest","highest"],["hightlight","highlight"],["hightlighted","highlighted"],["hightlighting","highlighting"],["hightlights","highlights"],["hights","heights"],["higlight","highlight"],["higlighted","highlighted"],["higlighting","highlighting"],["higlights","highlights"],["higly","highly"],["higth","height"],["higway","highway"],["hijkack","hijack"],["hijkacked","hijacked"],["hijkacking","hijacking"],["hijkacks","hijacks"],["hilight","highlight"],["hilighted","highlighted"],["hilighting","highlighting"],["hilights","highlights"],["hillarious","hilarious"],["himselv","himself"],["hinderance","hindrance"],["hinderence","hindrance"],["hindrence","hindrance"],["hipopotamus","hippopotamus"],["hipotetical","hypothetical"],["hirachy","hierarchy"],["hirarchies","hierarchies"],["hirarchy","hierarchy"],["hirarcies","hierarchies"],["hirearchy","hierarchy"],["hirearcy","hierarchy"],["hismelf","himself"],["hisory","history"],["histgram","histogram"],["histocompatability","histocompatibility"],["historgram","histogram"],["historgrams","histograms"],["historicians","historians"],["historyan","historian"],["historyans","historians"],["historycal","historical"],["historycally","historically"],["historycaly","historically"],["histroian","historian"],["histroians","historians"],["histroic","historic"],["histroical","historical"],["histroically","historically"],["histroicaly","historically"],["histroies","histories"],["histroy","history"],["histry","history"],["hitogram","histogram"],["hitories","histories"],["hitory","history"],["hitsingles","hit singles"],["hiygeine","hygiene"],["hmdi","hdmi"],["hnalder","handler"],["hoeks","hoax"],["hoever","however"],["hokay","okay"],["holf","hold"],["holliday","holiday"],["hollowcost","holocaust"],["homapage","homepage"],["homegeneous","homogeneous"],["homestate","home state"],["homogeneize","homogenize"],["homogeneized","homogenized"],["homogenious","homogeneous"],["homogeniously","homogeneously"],["homogenity","homogeneity"],["homogenius","homogeneous"],["homogeniusly","homogeneously"],["homogenoues","homogeneous"],["homogenous","homogeneous"],["homogenously","homogeneously"],["homogenuous","homogeneous"],["honory","honorary"],["hoook","hook"],["hoooks","hooks"],["hootsba","chutzpah"],["hopefulle","hopefully"],["hopefullly","hopefully"],["hopefullt","hopefully"],["hopefullu","hopefully"],["hopefuly","hopefully"],["hopeing","hoping"],["hopful","hopeful"],["hopfully","hopefully"],["hopmepage","homepage"],["hopmepages","homepages"],["hoppefully","hopefully"],["hopyfully","hopefully"],["horicontal","horizontal"],["horicontally","horizontally"],["horinzontal","horizontal"],["horizntal","horizontal"],["horizonal","horizontal"],["horizonally","horizontally"],["horizontale","horizontal"],["horiztonal","horizontal"],["horiztonally","horizontally"],["horphan","orphan"],["horrable","horrible"],["horrifing","horrifying"],["horyzontally","horizontally"],["horziontal","horizontal"],["horziontally","horizontally"],["horzontal","horizontal"],["horzontally","horizontally"],["hosited","hoisted"],["hospitible","hospitable"],["hostanme","hostname"],["hostorical","historical"],["hostories","histories"],["hostory","history"],["hostspot","hotspot"],["hostspots","hotspots"],["hotizontal","horizontal"],["hotname","hostname"],["hounour","honour"],["houres","hours"],["housand","thousand"],["houskeeping","housekeeping"],["hovever","however"],["hovewer","however"],["howeever","however"],["howerver","however"],["howeverm","however"],["howewer","however"],["howver","however"],["hradware","hardware"],["hradwares","hardwares"],["hrlp","help"],["hrlped","helped"],["hrlper","helper"],["hrlpers","helpers"],["hrlping","helping"],["hrlps","helps"],["hrough","through"],["hsa","has"],["hsell","shell"],["hsi","his"],["hsitorians","historians"],["hsotname","hostname"],["hsould'nt","shouldn't"],["hsould","should"],["hsouldn't","shouldn't"],["hstory","history"],["htacccess","htaccess"],["hte","the"],["htey","they"],["htikn","think"],["hting","thing"],["htink","think"],["htis","this"],["htmp","html"],["htting","hitting"],["hueristic","heuristic"],["humber","number"],["huminoid","humanoid"],["humoural","humoral"],["humurous","humorous"],["hunderd","hundred"],["hundreths","hundredths"],["hundrets","hundreds"],["hunrgy","hungry"],["huricane","hurricane"],["huristic","heuristic"],["husban","husband"],["hvae","have"],["hvaing","having"],["hve","have"],["hwihc","which"],["hwile","while"],["hwole","whole"],["hybernate","hibernate"],["hydogen","hydrogen"],["hydrolic","hydraulic"],["hydrolics","hydraulics"],["hydropile","hydrophile"],["hydropilic","hydrophilic"],["hydropobe","hydrophobe"],["hydropobic","hydrophobic"],["hyerarchy","hierarchy"],["hyerlink","hyperlink"],["hygeine","hygiene"],["hygene","hygiene"],["hygenic","hygienic"],["hygine","hygiene"],["hyjack","hijack"],["hyjacking","hijacking"],["hypen","hyphen"],["hypenate","hyphenate"],["hypenated","hyphenated"],["hypenates","hyphenates"],["hypenating","hyphenating"],["hypenation","hyphenation"],["hypens","hyphens"],["hyperboly","hyperbole"],["Hyperldger","Hyperledger"],["hypervior","hypervisor"],["hypocracy","hypocrisy"],["hypocrasy","hypocrisy"],["hypocricy","hypocrisy"],["hypocrit","hypocrite"],["hypocrits","hypocrites"],["hyposeses","hypotheses"],["hyposesis","hypothesis"],["hypoteses","hypotheses"],["hypotesis","hypothesis"],["hypotethically","hypothetically"],["hypothenuse","hypotenuse"],["hypothenuses","hypotenuses"],["hypter","hyper"],["hyptothetical","hypothetical"],["hyptothetically","hypothetically"],["hypvervisor","hypervisor"],["hypvervisors","hypervisors"],["hypvisor","hypervisor"],["hypvisors","hypervisors"],["I'sd","I'd"],["i;ll","I'll"],["iamge","image"],["ibject","object"],["ibjects","objects"],["ibrary","library"],["icesickle","icicle"],["iclude","include"],["icluded","included"],["icludes","includes"],["icluding","including"],["iconclastic","iconoclastic"],["iconifie","iconify"],["icrease","increase"],["icreased","increased"],["icreases","increases"],["icreasing","increasing"],["icrement","increment"],["icrementally","incrementally"],["icremented","incremented"],["icrementing","incrementing"],["icrements","increments"],["idae","idea"],["idaeidae","idea"],["idaes","ideas"],["idealogies","ideologies"],["idealogy","ideology"],["idefinite","indefinite"],["idel","idle"],["idelogy","ideology"],["idemopotent","idempotent"],["idendified","identified"],["idendifier","identifier"],["idendifiers","identifiers"],["idenfied","identified"],["idenfifier","identifier"],["idenfifiers","identifiers"],["idenfitifer","identifier"],["idenfitifers","identifiers"],["idenfitify","identify"],["idenitfy","identify"],["idenitify","identify"],["identation","indentation"],["identcial","identical"],["identfied","identified"],["identfier","identifier"],["identfiers","identifiers"],["identiable","identifiable"],["idential","identical"],["identic","identical"],["identicial","identical"],["identidier","identifier"],["identies","identities"],["identifaction","identification"],["identifcation","identification"],["identifeir","identifier"],["identifeirs","identifiers"],["identifer","identifier"],["identifers","identifiers"],["identificable","identifiable"],["identifictaion","identification"],["identifieer","identifier"],["identifiler","identifier"],["identifilers","identifiers"],["identifing","identifying"],["identifiy","identify"],["identifyable","identifiable"],["identifyed","identified"],["identiviert","identifiers"],["identtation","indentation"],["identties","identities"],["identtifier","identifier"],["identty","identity"],["ideosyncracies","ideosyncrasies"],["ideosyncratic","idiosyncratic"],["idetifier","identifier"],["idetifiers","identifiers"],["idetifies","identifies"],["idicate","indicate"],["idicated","indicated"],["idicates","indicates"],["idicating","indicating"],["idices","indices"],["idiosyncracies","idiosyncrasies"],["idiosyncracy","idiosyncrasy"],["idividual","individual"],["idividually","individually"],["idividuals","individuals"],["idons","icons"],["iechart","piechart"],["ifself","itself"],["ifset","if set"],["ignest","ingest"],["ignested","ingested"],["ignesting","ingesting"],["ignests","ingests"],["ignnore","ignore"],["ignoded","ignored"],["ignonre","ignore"],["ignora","ignore"],["ignord","ignored"],["ignoreing","ignoring"],["ignorence","ignorance"],["ignorgable","ignorable"],["ignorgd","ignored"],["ignorge","ignore"],["ignorged","ignored"],["ignorgg","ignoring"],["ignorgig","ignoring"],["ignorging","ignoring"],["ignorgs","ignores"],["ignormable","ignorable"],["ignormd","ignored"],["ignorme","ignore"],["ignormed","ignored"],["ignormg","ignoring"],["ignormig","ignoring"],["ignorming","ignoring"],["ignorms","ignores"],["ignornable","ignorable"],["ignornd","ignored"],["ignorne","ignore"],["ignorned","ignored"],["ignorng","ignoring"],["ignornig","ignoring"],["ignorning","ignoring"],["ignorns","ignores"],["ignorrable","ignorable"],["ignorrd","ignored"],["ignorre","ignore"],["ignorred","ignored"],["ignorrg","ignoring"],["ignorrig","ignoring"],["ignorring","ignoring"],["ignorrs","ignores"],["ignors","ignores"],["ignortable","ignorable"],["ignortd","ignored"],["ignorte","ignore"],["ignorted","ignored"],["ignortg","ignoring"],["ignortig","ignoring"],["ignorting","ignoring"],["ignorts","ignores"],["ignory","ignore"],["ignroed","ignored"],["ignroing","ignoring"],["igoned","ignored"],["igonorando","ignorando"],["igonore","ignore"],["igore","ignore"],["igored","ignored"],["igores","ignores"],["igoring","ignoring"],["igrnore","ignore"],["Ihaca","Ithaca"],["ihs","his"],["iif","if"],["iimmune","immune"],["iinclude","include"],["iinterval","interval"],["iiterator","iterator"],["iland","island"],["ileagle","illegal"],["ilegal","illegal"],["ilegle","illegal"],["iligal","illegal"],["illegimacy","illegitimacy"],["illegitmate","illegitimate"],["illess","illness"],["illgal","illegal"],["illiegal","illegal"],["illigal","illegal"],["illigitament","illegitimate"],["illistrate","illustrate"],["illustrasion","illustration"],["illution","illusion"],["ilness","illness"],["ilogical","illogical"],["iluminate","illuminate"],["iluminated","illuminated"],["iluminates","illuminates"],["ilumination","illumination"],["iluminations","illuminations"],["ilustrate","illustrate"],["ilustrated","illustrated"],["ilustration","illustration"],["imagenary","imaginary"],["imaghe","image"],["imagin","imagine"],["imapct","impact"],["imapcted","impacted"],["imapcting","impacting"],["imapcts","impacts"],["imapge","image"],["imbaress","embarrass"],["imbed","embed"],["imbedded","embedded"],["imbedding","embedding"],["imblance","imbalance"],["imbrase","embrace"],["imcoming","incoming"],["imcomming","incoming"],["imcompatibility","incompatibility"],["imcompatible","incompatible"],["imcomplete","incomplete"],["imedatly","immediately"],["imedialy","immediately"],["imediate","immediate"],["imediately","immediately"],["imediatly","immediately"],["imense","immense"],["imfamus","infamous"],["imgage","image"],["imidiately","immediately"],["imilar","similar"],["imlement","implement"],["imlementation","implementation"],["imlemented","implemented"],["imlementing","implementing"],["imlements","implements"],["imlicit","implicit"],["imlicitly","implicitly"],["imliment","implement"],["imlimentation","implementation"],["imlimented","implemented"],["imlimenting","implementing"],["imliments","implements"],["immadiate","immediate"],["immadiately","immediately"],["immadiatly","immediately"],["immeadiate","immediate"],["immeadiately","immediately"],["immedaite","immediate"],["immedate","immediate"],["immedately","immediately"],["immedeate","immediate"],["immedeately","immediately"],["immedially","immediately"],["immedialty","immediately"],["immediantely","immediately"],["immediatelly","immediately"],["immediatelty","immediately"],["immediatley","immediately"],["immediatlly","immediately"],["immediatly","immediately"],["immediatlye","immediately"],["immeditaly","immediately"],["immeditately","immediately"],["immeidate","immediate"],["immeidately","immediately"],["immenantly","eminently"],["immidately","immediately"],["immidatly","immediately"],["immidiate","immediate"],["immidiatelly","immediately"],["immidiately","immediately"],["immidiatly","immediately"],["immitate","imitate"],["immitated","imitated"],["immitating","imitating"],["immitator","imitator"],["immmediate","immediate"],["immmediately","immediately"],["immsersive","immersive"],["immsersively","immersively"],["immuniy","immunity"],["immunosupressant","immunosuppressant"],["immutible","immutable"],["imolicit","implicit"],["imolicitly","implicitly"],["imort","import"],["imortable","importable"],["imorted","imported"],["imortes","imports"],["imorting","importing"],["imorts","imports"],["imovable","immovable"],["impcat","impact"],["impcated","impacted"],["impcating","impacting"],["impcats","impacts"],["impecabbly","impeccably"],["impedence","impedance"],["impeed","impede"],["impelement","implement"],["impelementation","implementation"],["impelemented","implemented"],["impelementing","implementing"],["impelements","implements"],["impelentation","implementation"],["impelment","implement"],["impelmentation","implementation"],["impelmentations","implementations"],["impement","implement"],["impementaion","implementation"],["impementaions","implementations"],["impementated","implemented"],["impementation","implementation"],["impementations","implementations"],["impemented","implemented"],["impementing","implementing"],["impementling","implementing"],["impementor","implementer"],["impements","implements"],["imperiaal","imperial"],["imperically","empirically"],["imperitive","imperative"],["impermable","impermeable"],["impiled","implied"],["implace","inplace"],["implament","implement"],["implamentation","implementation"],["implamented","implemented"],["implamenting","implementing"],["implaments","implements"],["implcit","implicit"],["implcitly","implicitly"],["implct","implicit"],["implemantation","implementation"],["implemataion","implementation"],["implemataions","implementations"],["implemememnt","implement"],["implemememntation","implementation"],["implemement","implement"],["implemementation","implementation"],["implemementations","implementations"],["implememented","implemented"],["implemementing","implementing"],["implemements","implements"],["implememetation","implementation"],["implememntation","implementation"],["implememt","implement"],["implememtation","implementation"],["implememtations","implementations"],["implememted","implemented"],["implememting","implementing"],["implememts","implements"],["implemen","implement"],["implemenatation","implementation"],["implemenation","implementation"],["implemenationa","implementation"],["implemenationd","implementation"],["implemenations","implementations"],["implemencted","implemented"],["implemend","implement"],["implemends","implements"],["implemened","implemented"],["implemenet","implement"],["implemenetaion","implementation"],["implemenetaions","implementations"],["implemenetation","implementation"],["implemenetations","implementations"],["implemenetd","implemented"],["implemeneted","implemented"],["implemeneter","implementer"],["implemeneting","implementing"],["implemenetions","implementations"],["implemenets","implements"],["implemenrt","implement"],["implementaed","implemented"],["implementaion","implementation"],["implementaions","implementations"],["implementaiton","implementation"],["implementaitons","implementations"],["implementantions","implementations"],["implementastion","implementation"],["implementataion","implementation"],["implementatation","implementation"],["implementated","implemented"],["implementates","implements"],["implementating","implementing"],["implementatins","implementations"],["implementation-spacific","implementation-specific"],["implementatition","implementation"],["implementatoin","implementation"],["implementatoins","implementations"],["implementatoion","implementation"],["implementaton","implementation"],["implementator","implementer"],["implementators","implementers"],["implementattion","implementation"],["implementd","implemented"],["implementes","implements"],["implementet","implemented"],["implemention","implementation"],["implementtaion","implementation"],["implemet","implement"],["implemetation","implementation"],["implemetations","implementations"],["implemeted","implemented"],["implemeting","implementing"],["implemetnation","implementation"],["implemets","implements"],["implemnt","implement"],["implemntation","implementation"],["implemntations","implementations"],["implemt","implement"],["implemtation","implementation"],["implemtations","implementations"],["implemted","implemented"],["implemtentation","implementation"],["implemtentations","implementations"],["implemting","implementing"],["implemts","implements"],["impleneted","implemented"],["implenment","implement"],["implenmentation","implementation"],["implent","implement"],["implentation","implementation"],["implentations","implementations"],["implented","implemented"],["implenting","implementing"],["implentors","implementers"],["implents","implements"],["implet","implement"],["impletation","implementation"],["impletations","implementations"],["impleted","implemented"],["impleter","implementer"],["impleting","implementing"],["impletment","implement"],["implets","implements"],["implicitely","implicitly"],["implicitley","implicitly"],["implict","implicit"],["implictly","implicitly"],["implimcit","implicit"],["implimcitly","implicitly"],["impliment","implement"],["implimentaion","implementation"],["implimentaions","implementations"],["implimentation","implementation"],["implimentation-spacific","implementation-specific"],["implimentations","implementations"],["implimented","implemented"],["implimenting","implementing"],["implimention","implementation"],["implimentions","implementations"],["implimentor","implementor"],["impliments","implements"],["implmenet","implement"],["implmenetaion","implementation"],["implmenetaions","implementations"],["implmenetation","implementation"],["implmenetations","implementations"],["implmenetd","implemented"],["implmeneted","implemented"],["implmeneter","implementer"],["implmeneting","implementing"],["implmenets","implements"],["implment","implement"],["implmentation","implementation"],["implmentations","implementations"],["implmented","implemented"],["implmenting","implementing"],["implments","implements"],["imploys","employs"],["imporing","importing"],["imporot","import"],["imporoted","imported"],["imporoting","importing"],["imporots","imports"],["imporove","improve"],["imporoved","improved"],["imporovement","improvement"],["imporovements","improvements"],["imporoves","improves"],["imporoving","improving"],["imporsts","imports"],["importamt","important"],["importat","important"],["importd","imported"],["importent","important"],["importnt","important"],["imporve","improve"],["imporved","improved"],["imporvement","improvement"],["imporvements","improvements"],["imporves","improves"],["imporving","improving"],["imporvment","improvement"],["imposible","impossible"],["impossiblble","impossible"],["impot","import"],["impove","improve"],["impoved","improved"],["impovement","improvement"],["impovements","improvements"],["impoves","improves"],["impoving","improving"],["impplement","implement"],["impplementating","implementing"],["impplementation","implementation"],["impplemented","implemented"],["impremented","implemented"],["impres","impress"],["impresive","impressive"],["impressario","impresario"],["imprioned","imprisoned"],["imprisonned","imprisoned"],["improbe","improve"],["improbement","improvement"],["improbements","improvements"],["improbes","improves"],["improbing","improving"],["improbment","improvement"],["improbments","improvements"],["improof","improve"],["improofement","improvement"],["improofing","improving"],["improofment","improvement"],["improofs","improves"],["improove","improve"],["improoved","improved"],["improovement","improvement"],["improovements","improvements"],["improoves","improves"],["improoving","improving"],["improovment","improvement"],["improovments","improvements"],["impropely","improperly"],["improssible","impossible"],["improt","import"],["improtance","importance"],["improtant","important"],["improtantly","importantly"],["improtation","importation"],["improtations","importations"],["improted","imported"],["improter","importer"],["improters","importers"],["improting","importing"],["improts","imports"],["improvemen","improvement"],["improvemenet","improvement"],["improvemenets","improvements"],["improvemens","improvements"],["improvision","improvisation"],["improvmenet","improvement"],["improvmenets","improvements"],["improvment","improvement"],["improvments","improvements"],["imput","input"],["imrovement","improvement"],["in-memeory","in-memory"],["inablility","inability"],["inacccessible","inaccessible"],["inaccesible","inaccessible"],["inaccessable","inaccessible"],["inaccuraccies","inaccuracies"],["inaccuraccy","inaccuracy"],["inacessible","inaccessible"],["inacurate","inaccurate"],["inacurracies","inaccuracies"],["inacurrate","inaccurate"],["inadiquate","inadequate"],["inadquate","inadequate"],["inadvertant","inadvertent"],["inadvertantly","inadvertently"],["inadvertedly","inadvertently"],["inagurated","inaugurated"],["inaguration","inauguration"],["inaktively","inactively"],["inalid","invalid"],["inappropiate","inappropriate"],["inappropreate","inappropriate"],["inapropriate","inappropriate"],["inapropriately","inappropriately"],["inate","innate"],["inaugures","inaugurates"],["inavlid","invalid"],["inbalance","imbalance"],["inbalanced","imbalanced"],["inbed","embed"],["inbedded","embedded"],["inbility","inability"],["incalid","invalid"],["incarcirated","incarcerated"],["incase","in case"],["incatation","incantation"],["incatations","incantations"],["incative","inactive"],["incement","increment"],["incemental","incremental"],["incementally","incrementally"],["incemented","incremented"],["incements","increments"],["incerase","increase"],["incerased","increased"],["incerasing","increasing"],["incidential","incidental"],["incidentially","incidentally"],["incidently","incidentally"],["inclding","including"],["incldue","include"],["incldued","included"],["incldues","includes"],["inclinaison","inclination"],["inclode","include"],["inclreased","increased"],["includ","include"],["includea","include"],["includee","include"],["includeing","including"],["includied","included"],["includig","including"],["includign","including"],["includng","including"],["inclue","include"],["inclued","included"],["inclues","includes"],["incluging","including"],["incluide","include"],["incluing","including"],["inclused","included"],["inclusing","including"],["inclusinve","inclusive"],["inclution","inclusion"],["inclutions","inclusions"],["incmrement","increment"],["incoherance","incoherence"],["incoherancy","incoherency"],["incoherant","incoherent"],["incoherantly","incoherently"],["incomapatibility","incompatibility"],["incomapatible","incompatible"],["incomaptibele","incompatible"],["incomaptibelities","incompatibilities"],["incomaptibelity","incompatibility"],["incomaptible","incompatible"],["incombatibilities","incompatibilities"],["incombatibility","incompatibility"],["incomfortable","uncomfortable"],["incomming","incoming"],["incommplete","incomplete"],["incompatabable","incompatible"],["incompatabiity","incompatibility"],["incompatabile","incompatible"],["incompatabilities","incompatibilities"],["incompatability","incompatibility"],["incompatabillity","incompatibility"],["incompatabilty","incompatibility"],["incompatabily","incompatibility"],["incompatable","incompatible"],["incompatablility","incompatibility"],["incompatablities","incompatibilities"],["incompatablitiy","incompatibility"],["incompatablity","incompatibility"],["incompatably","incompatibly"],["incompataibility","incompatibility"],["incompataible","incompatible"],["incompataility","incompatibility"],["incompatatbility","incompatibility"],["incompatatble","incompatible"],["incompatatible","incompatible"],["incompatbility","incompatibility"],["incompatble","incompatible"],["incompatiability","incompatibility"],["incompatiable","incompatible"],["incompatibile","incompatible"],["incompatibilies","incompatibilities"],["incompatiblities","incompatibilities"],["incompatiblity","incompatibility"],["incompetance","incompetence"],["incompetant","incompetent"],["incompete","incomplete"],["incomping","incoming"],["incompleate","incomplete"],["incompleete","incomplete"],["incompletd","incomplete"],["incomptable","incompatible"],["incomptetent","incompetent"],["incomptible","incompatible"],["inconcistencies","inconsistencies"],["inconcistency","inconsistency"],["inconcistent","inconsistent"],["inconditional","unconditional"],["inconditionally","unconditionally"],["inconfortable","uncomfortable"],["inconisistent","inconsistent"],["inconistencies","inconsistencies"],["inconlusive","inconclusive"],["inconsisent","inconsistent"],["inconsisently","inconsistently"],["inconsisntency","inconsistency"],["inconsistance","inconsistency"],["inconsistancies","inconsistencies"],["inconsistancy","inconsistency"],["inconsistant","inconsistent"],["inconsisten","inconsistent"],["inconsistend","inconsistent"],["inconsistendly","inconsistently"],["inconsistendt","inconsistent"],["inconsistendtly","inconsistently"],["inconsistenly","inconsistently"],["inconsistented","inconsistent"],["inconsitant","inconsistent"],["inconsitency","inconsistency"],["inconsitent","inconsistent"],["inconveniant","inconvenient"],["inconveniantly","inconveniently"],["inconvertable","inconvertible"],["inconvienience","inconvenience"],["inconvienient","inconvenient"],["inconvineance","inconvenience"],["inconvineances","inconveniences"],["inconvinence","inconvenience"],["inconvinences","inconveniences"],["inconviniance","inconvenience"],["inconviniances","inconveniences"],["inconvinience","inconvenience"],["inconviniences","inconveniences"],["inconviniency","inconvenience"],["inconviniencys","inconveniences"],["incooperates","incorporates"],["incoperate","incorporate"],["incoperated","incorporated"],["incoperates","incorporates"],["incoperating","incorporating"],["incoporate","incorporate"],["incoporated","incorporated"],["incoporates","incorporates"],["incoporating","incorporating"],["incoprorate","incorporate"],["incoprorated","incorporated"],["incoprorates","incorporates"],["incoprorating","incorporating"],["incorect","incorrect"],["incorectly","incorrectly"],["incoropate","incorporate"],["incoropates","incorporates"],["incoroporated","incorporated"],["incorparates","incorporates"],["incorperate","incorporate"],["incorperated","incorporated"],["incorperates","incorporates"],["incorperating","incorporating"],["incorperation","incorporation"],["incorportaed","incorporated"],["incorported","incorporated"],["incorprates","incorporates"],["incorreclty","incorrectly"],["incorrecly","incorrectly"],["incorrecty","incorrectly"],["incorreect","incorrect"],["incorreectly","incorrectly"],["incorrent","incorrect"],["incorret","incorrect"],["incorrrect","incorrect"],["incorrrectly","incorrectly"],["incorruptable","incorruptible"],["incosistencies","inconsistencies"],["incosistency","inconsistency"],["incosistent","inconsistent"],["incosistente","inconsistent"],["incramentally","incrementally"],["increadible","incredible"],["increading","increasing"],["increaing","increasing"],["increament","increment"],["increas","increase"],["incredable","incredible"],["incremantal","incremental"],["incremeantal","incremental"],["incremenet","increment"],["incremenetd","incremented"],["incremeneted","incremented"],["incrementaly","incrementally"],["incremet","increment"],["incremetal","incremental"],["incremeted","incremented"],["incremnet","increment"],["increse","increase"],["incresed","increased"],["increses","increases"],["incresing","increasing"],["incrfemental","incremental"],["incrmenet","increment"],["incrmenetd","incremented"],["incrmeneted","incremented"],["incrment","increment"],["incrmental","incremental"],["incrmentally","incrementally"],["incrmented","incremented"],["incrmenting","incrementing"],["incrments","increments"],["inctance","instance"],["inctroduce","introduce"],["inctroduced","introduced"],["incude","include"],["incuded","included"],["incudes","includes"],["incuding","including"],["inculde","include"],["inculded","included"],["inculdes","includes"],["inculding","including"],["incunabla","incunabula"],["incure","incur"],["incurruptable","incorruptible"],["incurruptible","incorruptible"],["incvalid","invalid"],["indcates","indicates"],["indciate","indicate"],["inddex","index"],["inddividual","individual"],["inddividually","individually"],["inddividuals","individuals"],["indecate","indicate"],["indeces","indices"],["indecies","indices"],["indefinate","indefinite"],["indefinately","indefinitely"],["indefineable","undefinable"],["indefinetly","indefinitely"],["indefinitiley","indefinitely"],["indefinitively","indefinitely"],["indefinitly","indefinitely"],["indefintly","indefinitely"],["indempotent","idempotent"],["indendation","indentation"],["indentaction","indentation"],["indentaion","indentation"],["indentended","indented"],["indentical","identical"],["indentically","identically"],["indentifer","identifier"],["indentification","identification"],["indentified","identified"],["indentifier","identifier"],["indentifies","identifies"],["indentifing","identifying"],["indentify","identify"],["indentifying","identifying"],["indentit","identity"],["indentity","identity"],["indentleveal","indentlevel"],["indenx","index"],["indepandance","independence"],["indepdence","independence"],["indepdencente","independence"],["indepdendance","independence"],["indepdendant","independent"],["indepdendantly","independently"],["indepdendence","independence"],["indepdendency","independency"],["indepdendent","independent"],["indepdendently","independently"],["indepdendet","independent"],["indepdendetly","independently"],["indepdenence","independence"],["indepdenent","independent"],["indepdenently","independently"],["indepdent","independent"],["indepdented","independent"],["indepdentedly","independently"],["indepdently","independently"],["indepedantly","independently"],["indepedence","independence"],["indepedent","independent"],["indepedently","independently"],["independ","independent"],["independance","independence"],["independant","independent"],["independantly","independently"],["independece","independence"],["independed","independent"],["independedly","independently"],["independend","independent"],["independendet","independent"],["independet","independent"],["independly","independently"],["independnent","independent"],["independnet","independent"],["independnt","independent"],["independntly","independently"],["independt","independent"],["independtly","independently"],["indepenedent","independent"],["indepenendence","independence"],["indepenent","independent"],["indepenently","independently"],["indepent","independent"],["indepentent","independent"],["indepently","independently"],["inderect","indirect"],["inderts","inserts"],["indes","index"],["indespensable","indispensable"],["indespensible","indispensable"],["indexig","indexing"],["indiactor","indicator"],["indiate","indicate"],["indiated","indicated"],["indiates","indicates"],["indiating","indicating"],["indicaite","indicate"],["indicat","indicate"],["indicees","indices"],["indiciate","indicate"],["indiciated","indicated"],["indiciates","indicates"],["indiciating","indicating"],["indicies","indices"],["indicte","indicate"],["indictement","indictment"],["indictes","indicates"],["indictor","indicator"],["indigineous","indigenous"],["indipendence","independence"],["indipendent","independent"],["indipendently","independently"],["indiquate","indicate"],["indiquates","indicates"],["indirecty","indirectly"],["indispensible","indispensable"],["indisputible","indisputable"],["indisputibly","indisputably"],["indistiguishable","indistinguishable"],["indivdual","individual"],["indivdually","individually"],["indivdualy","individually"],["individal","individual"],["individally","individually"],["individals","individuals"],["individaul","individual"],["individaully","individually"],["individauls","individuals"],["individauly","individually"],["individial","individual"],["individualy","individually"],["individuel","individual"],["individuelly","individually"],["individuely","individually"],["indivisual","individual"],["indivisuality","individuality"],["indivisually","individually"],["indivisuals","individuals"],["indiviual","individual"],["indiviually","individually"],["indiviuals","individuals"],["indivual","individual"],["indivudual","individual"],["indivudually","individually"],["indizies","indices"],["indpendent","independent"],["indpendently","independently"],["indrect","indirect"],["indulgue","indulge"],["indure","endure"],["indutrial","industrial"],["indvidual","individual"],["indviduals","individuals"],["indxes","indexes"],["inearisation","linearisation"],["ineffciency","inefficiency"],["ineffcient","inefficient"],["ineffciently","inefficiently"],["inefficency","inefficiency"],["inefficent","inefficient"],["inefficently","inefficiently"],["inefficenty","inefficiently"],["inefficienty","inefficiently"],["ineffiecent","inefficient"],["ineffient","inefficient"],["ineffiently","inefficiently"],["ineficient","inefficient"],["inegrate","integrate"],["inegrated","integrated"],["ineqality","inequality"],["inequalitiy","inequality"],["inerface","interface"],["inerit","inherit"],["ineritance","inheritance"],["inerited","inherited"],["ineriting","inheriting"],["ineritor","inheritor"],["ineritors","inheritors"],["inerits","inherits"],["inernal","internal"],["inerrupt","interrupt"],["inershia","inertia"],["inershial","inertial"],["inersia","inertia"],["inersial","inertial"],["inertion","insertion"],["ines","lines"],["inestart","linestart"],["inetrrupts","interrupts"],["inevatible","inevitable"],["inevitible","inevitable"],["inevititably","inevitably"],["inexistant","inexistent"],["inexperiance","inexperience"],["inexperianced","inexperienced"],["inexpierence","inexperience"],["inexpierenced","inexperienced"],["inexpirience","inexperience"],["inexpirienced","inexperienced"],["infact","in fact"],["infalability","infallibility"],["infallable","infallible"],["infalte","inflate"],["infalted","inflated"],["infaltes","inflates"],["infalting","inflating"],["infectuous","infectious"],["infered","inferred"],["inferface","interface"],["infering","inferring"],["inferrable","inferable"],["inferrence","inference"],["infex","index"],["infilitrate","infiltrate"],["infilitrated","infiltrated"],["infilitration","infiltration"],["infinate","infinite"],["infinately","infinitely"],["infininte","infinite"],["infinit","infinite"],["infinitie","infinity"],["infinitly","infinitely"],["infinte","infinite"],["infintesimal","infinitesimal"],["infinty","infinity"],["infite","infinite"],["inflamation","inflammation"],["inflatoin","inflation"],["inflexable","inflexible"],["inflight","in-flight"],["influece","influence"],["influeced","influenced"],["influeces","influences"],["influecing","influencing"],["influencial","influential"],["influencin","influencing"],["influented","influenced"],["infoemation","information"],["infomation","information"],["infomational","informational"],["infomed","informed"],["infomer","informer"],["infomration","information"],["infoms","informs"],["infor","info"],["inforamtion","information"],["inforation","information"],["inforational","informational"],["inforce","enforce"],["inforced","enforced"],["informacion","information"],["informaion","information"],["informaiton","information"],["informatation","information"],["informatations","information"],["informatikon","information"],["informatins","information"],["informatio","information"],["informatiom","information"],["informations","information"],["informatoin","information"],["informatoins","information"],["informaton","information"],["informfation","information"],["informtion","information"],["inforrmation","information"],["infrantryman","infantryman"],["infrasctructure","infrastructure"],["infrastrcuture","infrastructure"],["infrastruture","infrastructure"],["infrastucture","infrastructure"],["infrastuctures","infrastructures"],["infreqency","infrequency"],["infreqentcy","infrequency"],["infreqeuncy","infrequency"],["infreqeuntcy","infrequency"],["infrequancies","infrequencies"],["infrequancy","infrequency"],["infrequantcies","infrequencies"],["infrequantcy","infrequency"],["infrequentcies","infrequencies"],["infrigement","infringement"],["infromation","information"],["infromatoin","information"],["infrormation","information"],["infrustructure","infrastructure"],["ingegral","integral"],["ingenius","ingenious"],["ingnore","ignore"],["ingnored","ignored"],["ingnores","ignores"],["ingnoring","ignoring"],["ingore","ignore"],["ingored","ignored"],["ingores","ignores"],["ingoring","ignoring"],["ingration","integration"],["ingreediants","ingredients"],["inh","in"],["inhabitans","inhabitants"],["inherantly","inherently"],["inheratance","inheritance"],["inheret","inherit"],["inherets","inherits"],["inheritablility","inheritability"],["inheritence","inheritance"],["inherith","inherit"],["inherithed","inherited"],["inherithing","inheriting"],["inheriths","inherits"],["inheritted","inherited"],["inherrit","inherit"],["inherritance","inheritance"],["inherrited","inherited"],["inherriting","inheriting"],["inherrits","inherits"],["inhert","inherit"],["inhertance","inheritance"],["inhertances","inheritances"],["inherted","inherited"],["inhertiance","inheritance"],["inherting","inheriting"],["inherts","inherits"],["inhomogenous","inhomogeneous"],["inialized","initialized"],["iniate","initiate"],["inidicate","indicate"],["inidicated","indicated"],["inidicates","indicates"],["inidicating","indicating"],["inidication","indication"],["inidications","indications"],["inidividual","individual"],["inidvidual","individual"],["inifinite","infinite"],["inifinity","infinity"],["inifinte","infinite"],["inifite","infinite"],["iniitial","initial"],["iniitialization","initialization"],["iniitializations","initializations"],["iniitialize","initialize"],["iniitialized","initialized"],["iniitializes","initializes"],["iniitializing","initializing"],["inintialisation","initialisation"],["inintialization","initialization"],["inisialise","initialise"],["inisialised","initialised"],["inisialises","initialises"],["iniside","inside"],["inisides","insides"],["initail","initial"],["initailisation","initialisation"],["initailise","initialise"],["initailised","initialised"],["initailiser","initialiser"],["initailisers","initialisers"],["initailises","initialises"],["initailising","initialising"],["initailization","initialization"],["initailize","initialize"],["initailized","initialized"],["initailizer","initializer"],["initailizers","initializers"],["initailizes","initializes"],["initailizing","initializing"],["initailly","initially"],["initails","initials"],["initailsation","initialisation"],["initailse","initialise"],["initailsed","initialised"],["initailsiation","initialisation"],["initaily","initially"],["initailzation","initialization"],["initailze","initialize"],["initailzed","initialized"],["initailziation","initialization"],["inital","initial"],["initalialisation","initialisation"],["initalialization","initialization"],["initalisation","initialisation"],["initalise","initialise"],["initalised","initialised"],["initaliser","initialiser"],["initalises","initialises"],["initalising","initialising"],["initalization","initialization"],["initalize","initialize"],["initalized","initialized"],["initalizer","initializer"],["initalizes","initializes"],["initalizing","initializing"],["initally","initially"],["initals","initials"],["initiailize","initialize"],["initiailized","initialized"],["initiailizes","initializes"],["initiailizing","initializing"],["initiaitive","initiative"],["initiaitives","initiatives"],["initialialise","initialise"],["initialialize","initialize"],["initialiasation","initialisation"],["initialiase","initialise"],["initialiased","initialised"],["initialiation","initialization"],["initialiazation","initialization"],["initialiaze","initialize"],["initialiazed","initialized"],["initialied","initialized"],["initialilsing","initialising"],["initialilzing","initializing"],["initialisaing","initialising"],["initialisaiton","initialisation"],["initialisated","initialised"],["initialisatin","initialisation"],["initialisationg","initialisation"],["initialisaton","initialisation"],["initialisatons","initialisations"],["initialiseing","initialising"],["initialisiation","initialisation"],["initialisong","initialising"],["initialiting","initializing"],["initialitse","initialise"],["initialitsing","initialising"],["initialitze","initialize"],["initialitzing","initializing"],["initializa","initialize"],["initializad","initialized"],["initializaed","initialized"],["initializaing","initializing"],["initializaiton","initialization"],["initializate","initialize"],["initializated","initialized"],["initializates","initializes"],["initializatin","initialization"],["initializating","initializing"],["initializationg","initialization"],["initializaton","initialization"],["initializatons","initializations"],["initializedd","initialized"],["initializeing","initializing"],["initializiation","initialization"],["initializong","initializing"],["initialsation","initialisation"],["initialse","initialise"],["initialsed","initialised"],["initialses","initialises"],["initialsing","initialising"],["initialy","initially"],["initialyl","initially"],["initialyse","initialise"],["initialysed","initialised"],["initialyses","initialises"],["initialysing","initialising"],["initialyze","initialize"],["initialyzed","initialized"],["initialyzes","initializes"],["initialyzing","initializing"],["initialzation","initialization"],["initialze","initialize"],["initialzed","initialized"],["initialzes","initializes"],["initialzing","initializing"],["initiatiate","initiate"],["initiatiated","initiated"],["initiatiater","initiator"],["initiatiating","initiating"],["initiatiator","initiator"],["initiatiats","initiates"],["initiatie","initiate"],["initiatied","initiated"],["initiaties","initiates"],["initiialise","initialise"],["initiialize","initialize"],["initilialised","initialised"],["initilialization","initialization"],["initilializations","initializations"],["initilialize","initialize"],["initilialized","initialized"],["initilializes","initializes"],["initilializing","initializing"],["initiliase","initialise"],["initiliased","initialised"],["initiliases","initialises"],["initiliasing","initialising"],["initiliaze","initialize"],["initiliazed","initialized"],["initiliazes","initializes"],["initiliazing","initializing"],["initilisation","initialisation"],["initilisations","initialisations"],["initilise","initialise"],["initilised","initialised"],["initilises","initialises"],["initilising","initialising"],["initilization","initialization"],["initilizations","initializations"],["initilize","initialize"],["initilized","initialized"],["initilizes","initializes"],["initilizing","initializing"],["inititalisation","initialisation"],["inititalisations","initialisations"],["inititalise","initialise"],["inititalised","initialised"],["inititaliser","initialiser"],["inititalising","initialising"],["inititalization","initialization"],["inititalizations","initializations"],["inititalize","initialize"],["inititate","initiate"],["inititator","initiator"],["inititialization","initialization"],["inititializations","initializations"],["initliasation","initialisation"],["initliase","initialise"],["initliased","initialised"],["initliaser","initialiser"],["initliazation","initialization"],["initliaze","initialize"],["initliazed","initialized"],["initliazer","initializer"],["inituialisation","initialisation"],["inituialization","initialization"],["inivisible","invisible"],["inizialize","initialize"],["inizialized","initialized"],["inizializes","initializes"],["inlalid","invalid"],["inlclude","include"],["inlcluded","included"],["inlcludes","includes"],["inlcluding","including"],["inlcludion","inclusion"],["inlclusive","inclusive"],["inlcude","include"],["inlcuded","included"],["inlcudes","includes"],["inlcuding","including"],["inlcusion","inclusion"],["inlcusive","inclusive"],["inlin","inline"],["inlude","include"],["inluded","included"],["inludes","includes"],["inluding","including"],["inludung","including"],["inluence","influence"],["inlusive","inclusive"],["inmediate","immediate"],["inmediatelly","immediately"],["inmediately","immediately"],["inmediatily","immediately"],["inmediatly","immediately"],["inmense","immense"],["inmigrant","immigrant"],["inmigrants","immigrants"],["inmmediately","immediately"],["inmplementation","implementation"],["innactive","inactive"],["innacurate","inaccurate"],["innacurately","inaccurately"],["innappropriate","inappropriate"],["innecesarily","unnecessarily"],["innecesary","unnecessary"],["innecessarily","unnecessarily"],["innecessary","unnecessary"],["inneffectual","ineffectual"],["innocous","innocuous"],["innoculate","inoculate"],["innoculated","inoculated"],["innosense","innocence"],["inocence","innocence"],["inofficial","unofficial"],["inofrmation","information"],["inoperant","inoperative"],["inoquous","innocuous"],["inot","into"],["inouts","inputs"],["inpact","impact"],["inpacted","impacted"],["inpacting","impacting"],["inpacts","impacts"],["inpeach","impeach"],["inpecting","inspecting"],["inpection","inspection"],["inpections","inspections"],["inpending","impending"],["inpenetrable","impenetrable"],["inplementation","implementation"],["inplementations","implementations"],["inplemented","implemented"],["inplicit","implicit"],["inplicitly","implicitly"],["inpolite","impolite"],["inport","import"],["inportant","important"],["inposible","impossible"],["inpossible","impossible"],["inpout","input"],["inpouts","inputs"],["inpractical","impractical"],["inpracticality","impracticality"],["inpractically","impractically"],["inprisonment","imprisonment"],["inproove","improve"],["inprooved","improved"],["inprooves","improves"],["inprooving","improving"],["inproovment","improvement"],["inproovments","improvements"],["inproper","improper"],["inproperly","improperly"],["inproving","improving"],["inpsection","inspection"],["inpterpreter","interpreter"],["inpu","input"],["inputed","inputted"],["inputsream","inputstream"],["inpuut","input"],["inrement","increment"],["inrements","increments"],["inreractive","interactive"],["inrerface","interface"],["inresponsive","unresponsive"],["inro","into"],["ins't","isn't"],["insallation","installation"],["insalled","installed"],["inscpeting","inspecting"],["insctuction","instruction"],["insctuctional","instructional"],["insctuctions","instructions"],["insde","inside"],["insead","instead"],["insectiverous","insectivorous"],["insensative","insensitive"],["insensetive","insensitive"],["insensistive","insensitive"],["insensistively","insensitively"],["insensitiv","insensitive"],["insensitivy","insensitivity"],["insensitve","insensitive"],["insenstive","insensitive"],["insenstively","insensitively"],["insentives","incentives"],["insentivite","insensitive"],["insepect","inspect"],["insepected","inspected"],["insepection","inspection"],["insepects","inspects"],["insependent","independent"],["inseperable","inseparable"],["insepsion","inception"],["inser","insert"],["insering","inserting"],["insersect","intersect"],["insersected","intersected"],["insersecting","intersecting"],["insersects","intersects"],["inserst","insert"],["insersted","inserted"],["inserster","inserter"],["insersting","inserting"],["inserstor","inserter"],["insersts","inserts"],["insertin","inserting"],["insertino","inserting"],["insesitive","insensitive"],["insesitively","insensitively"],["insesitiveness","insensitiveness"],["insesitivity","insensitivity"],["insetad","instead"],["insetead","instead"],["inseted","inserted"],["insid","inside"],["insidde","inside"],["insiddes","insides"],["insided","inside"],["insignificat","insignificant"],["insignificatly","insignificantly"],["insigt","insight"],["insigth","insight"],["insigths","insights"],["insigts","insights"],["insistance","insistence"],["insititute","institute"],["insitution","institution"],["insitutions","institutions"],["insonsistency","inconsistency"],["instaance","instance"],["instabce","instance"],["instace","instance"],["instaces","instances"],["instaciate","instantiate"],["instad","instead"],["instade","instead"],["instaead","instead"],["instaed","instead"],["instal","install"],["instalation","installation"],["instalations","installations"],["instaled","installed"],["instaler","installer"],["instaling","installing"],["installaion","installation"],["installaiton","installation"],["installaitons","installations"],["installataion","installation"],["installataions","installations"],["installatation","installation"],["installationa","installation"],["installes","installs"],["installtion","installation"],["instals","installs"],["instancd","instance"],["instanciate","instantiate"],["instanciated","instantiated"],["instanciates","instantiates"],["instanciating","instantiating"],["instanciation","instantiation"],["instanciations","instantiations"],["instane","instance"],["instanes","instances"],["instanseation","instantiation"],["instansiate","instantiate"],["instansiated","instantiated"],["instansiates","instantiates"],["instansiation","instantiation"],["instantate","instantiate"],["instantating","instantiating"],["instantation","instantiation"],["instantations","instantiations"],["instantiaties","instantiates"],["instanze","instance"],["instatance","instance"],["instatiate","instantiate"],["instatiation","instantiation"],["instatiations","instantiations"],["insteance","instance"],["insted","instead"],["insteead","instead"],["inster","insert"],["insterad","instead"],["insterrupts","interrupts"],["instersction","intersection"],["instersctions","intersections"],["instersectioned","intersection"],["instert","insert"],["insterted","inserted"],["instertion","insertion"],["institue","institute"],["instlal","install"],["instlalation","installation"],["instlalations","installations"],["instlaled","installed"],["instlaler","installer"],["instlaling","installing"],["instlals","installs"],["instller","installer"],["instnace","instance"],["instnaces","instances"],["instnance","instance"],["instnances","instances"],["instnat","instant"],["instnatiated","instantiated"],["instnatiation","instantiation"],["instnatiations","instantiations"],["instnce","instance"],["instnces","instances"],["instnsiated","instantiated"],["instnsiation","instantiation"],["instnsiations","instantiations"],["instnt","instant"],["instntly","instantly"],["instrace","instance"],["instralled","installed"],["instrction","instruction"],["instrctional","instructional"],["instrctions","instructions"],["instrcut","instruct"],["instrcutino","instruction"],["instrcutinoal","instructional"],["instrcutinos","instructions"],["instrcution","instruction"],["instrcutional","instructional"],["instrcutions","instructions"],["instrcuts","instructs"],["instread","instead"],["instrinsic","intrinsic"],["instruccion","instruction"],["instruccional","instructional"],["instruccions","instructions"],["instrucion","instruction"],["instrucional","instructional"],["instrucions","instructions"],["instruciton","instruction"],["instrucitonal","instructional"],["instrucitons","instructions"],["instrumenet","instrument"],["instrumenetation","instrumentation"],["instrumenetd","instrumented"],["instrumeneted","instrumented"],["instrumentaion","instrumentation"],["instrumnet","instrument"],["instrumnets","instruments"],["instsall","install"],["instsallation","installation"],["instsallations","installations"],["instsalled","installed"],["instsalls","installs"],["instuction","instruction"],["instuctional","instructional"],["instuctions","instructions"],["instuments","instruments"],["insturment","instrument"],["insturments","instruments"],["instutionalized","institutionalized"],["instutions","intuitions"],["insuffciency","insufficiency"],["insuffcient","insufficient"],["insuffciently","insufficiently"],["insufficency","insufficiency"],["insufficent","insufficient"],["insufficently","insufficiently"],["insuffiency","insufficiency"],["insuffient","insufficient"],["insuffiently","insufficiently"],["insurasnce","insurance"],["insurence","insurance"],["intaces","instance"],["intack","intact"],["intall","install"],["intallation","installation"],["intallationpath","installationpath"],["intallations","installations"],["intalled","installed"],["intalleing","installing"],["intaller","installer"],["intalles","installs"],["intalling","installing"],["intalls","installs"],["intances","instances"],["intantiate","instantiate"],["intantiating","instantiating"],["inteaction","interaction"],["intead","instead"],["inteded","intended"],["intedned","intended"],["inteface","interface"],["intefere","interfere"],["intefered","interfered"],["inteference","interference"],["integarte","integrate"],["integarted","integrated"],["integartes","integrates"],["integated","integrated"],["integates","integrates"],["integating","integrating"],["integation","integration"],["integations","integrations"],["integeral","integral"],["integere","integer"],["integreated","integrated"],["integrety","integrity"],["integrey","integrity"],["intelectual","intellectual"],["intelegence","intelligence"],["intelegent","intelligent"],["intelegently","intelligently"],["inteligability","intelligibility"],["inteligable","intelligible"],["inteligance","intelligence"],["inteligantly","intelligently"],["inteligence","intelligence"],["inteligent","intelligent"],["intelisense","intellisense"],["intelligable","intelligible"],["intemediary","intermediary"],["intenal","internal"],["intenational","international"],["intendet","intended"],["inteneded","intended"],["intenisty","intensity"],["intension","intention"],["intensional","intentional"],["intensionally","intentionally"],["intensionaly","intentionally"],["intentation","indentation"],["intentended","intended"],["intentially","intentionally"],["intentialy","intentionally"],["intentionaly","intentionally"],["intentionly","intentionally"],["intepolate","interpolate"],["intepolated","interpolated"],["intepolates","interpolates"],["intepret","interpret"],["intepretable","interpretable"],["intepretation","interpretation"],["intepretations","interpretations"],["intepretator","interpreter"],["intepretators","interpreters"],["intepreted","interpreted"],["intepreter","interpreter"],["intepreter-based","interpreter-based"],["intepreters","interpreters"],["intepretes","interprets"],["intepreting","interpreting"],["intepretor","interpreter"],["intepretors","interpreters"],["inteprets","interprets"],["inter-operability","interoperability"],["interace","interface"],["interaces","interfaces"],["interacive","interactive"],["interacively","interactively"],["interacsion","interaction"],["interacsions","interactions"],["interactionn","interaction"],["interactionns","interactions"],["interactiv","interactive"],["interactivly","interactively"],["interactuable","interactive"],["interafce","interface"],["interakt","interact"],["interaktion","interaction"],["interaktions","interactions"],["interaktive","interactively"],["interaktively","interactively"],["interaktivly","interactively"],["interaly","internally"],["interanl","internal"],["interanlly","internally"],["interate","iterate"],["interational","international"],["interative","interactive"],["interatively","interactively"],["interator","iterator"],["interators","iterators"],["interaxction","interaction"],["interaxctions","interactions"],["interaxtion","interaction"],["interaxtions","interactions"],["intercahnge","interchange"],["intercahnged","interchanged"],["intercation","interaction"],["interchage","interchange"],["interchangable","interchangeable"],["interchangably","interchangeably"],["interchangeble","interchangeable"],["intercollegate","intercollegiate"],["intercontinential","intercontinental"],["intercontinetal","intercontinental"],["interdependant","interdependent"],["interecptor","interceptor"],["intereested","interested"],["intereference","interference"],["intereferences","interferences"],["interelated","interrelated"],["interelaved","interleaved"],["interepolate","interpolate"],["interepolated","interpolated"],["interepolates","interpolates"],["interepolating","interpolating"],["interepolation","interpolation"],["interepret","interpret"],["interepretation","interpretation"],["interepretations","interpretations"],["interepreted","interpreted"],["interepreting","interpreting"],["intereprets","interprets"],["interept","intercept"],["interesct","intersect"],["interescted","intersected"],["interescting","intersecting"],["interesction","intersection"],["interesctions","intersections"],["interescts","intersects"],["interesect","intersect"],["interesected","intersected"],["interesecting","intersecting"],["interesection","intersection"],["interesections","intersections"],["interesects","intersects"],["intereset","interest"],["intereseted","interested"],["intereseting","interesting"],["interesing","interesting"],["interespersed","interspersed"],["interesseted","interested"],["interesst","interest"],["interessted","interested"],["interessting","interesting"],["intereview","interview"],["interfal","interval"],["interfals","intervals"],["interfave","interface"],["interfaves","interfaces"],["interfcae","interface"],["interfcaes","interfaces"],["interfear","interfere"],["interfearence","interference"],["interfearnce","interference"],["interfer","interfere"],["interferance","interference"],["interferd","interfered"],["interfereing","interfering"],["interfernce","interference"],["interferred","interfered"],["interferring","interfering"],["interfers","interferes"],["intergated","integrated"],["interger's","integer's"],["interger","integer"],["intergerated","integrated"],["intergers","integers"],["intergrate","integrate"],["intergrated","integrated"],["intergrates","integrates"],["intergrating","integrating"],["intergration","integration"],["intergrations","integrations"],["interit","inherit"],["interitance","inheritance"],["interited","inherited"],["interiting","inheriting"],["interits","inherits"],["interliveing","interleaving"],["interlly","internally"],["intermediat","intermediate"],["intermeidate","intermediate"],["intermidiate","intermediate"],["intermitent","intermittent"],["intermittant","intermittent"],["intermperance","intemperance"],["internaly","internally"],["internatinal","international"],["internatioanl","international"],["internation","international"],["internel","internal"],["internels","internals"],["internface","interface"],["interogators","interrogators"],["interopeable","interoperable"],["interoprability","interoperability"],["interperated","interpreted"],["interpert","interpret"],["interpertation","interpretation"],["interpertations","interpretations"],["interperted","interpreted"],["interperter","interpreter"],["interperters","interpreters"],["interperting","interpreting"],["interpertive","interpretive"],["interperts","interprets"],["interpet","interpret"],["interpetation","interpretation"],["interpeted","interpreted"],["interpeter","interpreter"],["interpeters","interpreters"],["interpeting","interpreting"],["interpets","interprets"],["interploate","interpolate"],["interploated","interpolated"],["interploates","interpolates"],["interploatin","interpolating"],["interploation","interpolation"],["interpolaed","interpolated"],["interpolaion","interpolation"],["interpolaiton","interpolation"],["interpolar","interpolator"],["interpolayed","interpolated"],["interporation","interpolation"],["interporations","interpolations"],["interprate","interpret"],["interprated","interpreted"],["interpreation","interpretation"],["interprerter","interpreter"],["interpretated","interpreted"],["interprete","interpret"],["interpretes","interprets"],["interpretet","interpreted"],["interpretion","interpretation"],["interpretions","interpretations"],["interpretor","interpreter"],["interprett","interpret"],["interpretted","interpreted"],["interpretter","interpreter"],["interpretting","interpreting"],["interract","interact"],["interracting","interacting"],["interractive","interactive"],["interracts","interacts"],["interrest","interest"],["interrested","interested"],["interresting","interesting"],["interrface","interface"],["interrim","interim"],["interript","interrupt"],["interrput","interrupt"],["interrputed","interrupted"],["interrrupt","interrupt"],["interrrupted","interrupted"],["interrrupting","interrupting"],["interrrupts","interrupts"],["interrtups","interrupts"],["interrugum","interregnum"],["interrum","interim"],["interrup","interrupt"],["interruped","interrupted"],["interruping","interrupting"],["interrups","interrupts"],["interruptable","interruptible"],["interruptors","interrupters"],["interruptted","interrupted"],["interrut","interrupt"],["interrutps","interrupts"],["interscetion","intersection"],["intersecct","intersect"],["interseccted","intersected"],["interseccting","intersecting"],["intersecction","intersection"],["interseccts","intersects"],["intersecrion","intersection"],["intersecton","intersection"],["intersectons","intersections"],["intersparsed","interspersed"],["interst","interest"],["intersted","interested"],["intersting","interesting"],["intersts","interests"],["intertaining","entertaining"],["intertia","inertia"],["intertial","inertial"],["interupt","interrupt"],["interupted","interrupted"],["interupting","interrupting"],["interupts","interrupts"],["interuupt","interrupt"],["intervall","interval"],["intervalls","intervals"],["interveening","intervening"],["intervines","intervenes"],["intesity","intensity"],["inteval","interval"],["intevals","intervals"],["intevene","intervene"],["intger","integer"],["intgers","integers"],["intgral","integral"],["inthe","in the"],["intiailise","initialise"],["intiailised","initialised"],["intiailiseing","initialising"],["intiailiser","initialiser"],["intiailises","initialises"],["intiailising","initialising"],["intiailize","initialize"],["intiailized","initialized"],["intiailizeing","initializing"],["intiailizer","initializer"],["intiailizes","initializes"],["intiailizing","initializing"],["intial","initial"],["intiale","initial"],["intialisation","initialisation"],["intialise","initialise"],["intialised","initialised"],["intialiser","initialiser"],["intialisers","initialisers"],["intialises","initialises"],["intialising","initialising"],["intialistion","initialisation"],["intializating","initializing"],["intialization","initialization"],["intializaze","initialize"],["intialize","initialize"],["intialized","initialized"],["intializer","initializer"],["intializers","initializers"],["intializes","initializes"],["intializing","initializing"],["intializtion","initialization"],["intialled","initialled"],["intiallisation","initialisation"],["intiallisations","initialisations"],["intiallised","initialised"],["intiallization","initialization"],["intiallizations","initializations"],["intiallized","initialized"],["intiallly","initially"],["intially","initially"],["intials","initials"],["intialse","initialise"],["intialsed","initialised"],["intialsing","initialising"],["intialte","initialise"],["intialy","initially"],["intialze","initialize"],["intialzed","initialized"],["intialzing","initializing"],["inticement","enticement"],["intiger","integer"],["intiial","initial"],["intiialise","initialise"],["intiialize","initialize"],["intilising","initialising"],["intilizing","initializing"],["intimite","intimate"],["intinite","infinite"],["intitial","initial"],["intitialization","initialization"],["intitialize","initialize"],["intitialized","initialized"],["intitials","initials"],["intity","entity"],["intot","into"],["intoto","into"],["intpreter","interpreter"],["intput","input"],["intputs","inputs"],["intraversion","introversion"],["intravert","introvert"],["intraverts","introverts"],["intrduced","introduced"],["intreeg","intrigue"],["intreeged","intrigued"],["intreeging","intriguing"],["intreegued","intrigued"],["intreeguing","intriguing"],["intreface","interface"],["intregral","integral"],["intrerrupt","interrupt"],["intresst","interest"],["intressted","interested"],["intressting","interesting"],["intrested","interested"],["intresting","interesting"],["intriduce","introduce"],["intriduced","introduced"],["intriduction","introduction"],["intrisinc","intrinsic"],["intrisincs","intrinsics"],["introducted","introduced"],["introductionary","introductory"],["introdued","introduced"],["introduse","introduce"],["introdused","introduced"],["introduses","introduces"],["introdusing","introducing"],["introsepectable","introspectable"],["introsepection","introspection"],["intrrupt","interrupt"],["intrrupted","interrupted"],["intrrupting","interrupting"],["intrrupts","interrupts"],["intruction","instruction"],["intructional","instructional"],["intructions","instructions"],["intruduced","introduced"],["intruducing","introducing"],["intrument","instrument"],["intrumental","instrumental"],["intrumented","instrumented"],["intrumenting","instrumenting"],["intruments","instruments"],["intrusted","entrusted"],["intstead","instead"],["intstructed","instructed"],["intstructer","instructor"],["intstructing","instructing"],["intstruction","instruction"],["intstructional","instructional"],["intstructions","instructions"],["intstructor","instructor"],["intstructs","instructs"],["intterrupt","interrupt"],["intterupt","interrupt"],["intterupted","interrupted"],["intterupting","interrupting"],["intterupts","interrupts"],["intuative","intuitive"],["inturpratasion","interpretation"],["inturpratation","interpretation"],["inturprett","interpret"],["intutive","intuitive"],["intutively","intuitively"],["inudstry","industry"],["inut","input"],["invaid","invalid"],["invaild","invalid"],["invaildate","invalidate"],["invailid","invalid"],["invalaid","invalid"],["invald","invalid"],["invaldates","invalidates"],["invalde","invalid"],["invalidatiopn","invalidation"],["invalide","invalid"],["invalidiate","invalidate"],["invalidte","invalidate"],["invalidted","invalidated"],["invalidtes","invalidates"],["invalidting","invalidating"],["invalidtion","invalidation"],["invalied","invalid"],["invalud","invalid"],["invarient","invariant"],["invarients","invariants"],["invarinat","invariant"],["invarinats","invariants"],["inventer","inventor"],["inverded","inverted"],["inverion","inversion"],["inverions","inversions"],["invertedd","inverted"],["invertibrates","invertebrates"],["invertion","inversion"],["invertions","inversions"],["inverval","interval"],["inveryed","inverted"],["invesitgated","investigated"],["invesitgating","investigating"],["invesitgation","investigation"],["invesitgations","investigations"],["investingate","investigate"],["inveting","inverting"],["invetory","inventory"],["inviation","invitation"],["invididual","individual"],["invidivual","individual"],["invidual","individual"],["invidually","individually"],["invisble","invisible"],["invisblity","invisibility"],["invisiable","invisible"],["invisibile","invisible"],["invisivble","invisible"],["invlaid","invalid"],["invlid","invalid"],["invlisible","invisible"],["invlove","involve"],["invloved","involved"],["invloves","involves"],["invocaition","invocation"],["invokable","invocable"],["invokation","invocation"],["invokations","invocations"],["invokve","invoke"],["invokved","invoked"],["invokves","invokes"],["invokving","invoking"],["involvment","involvement"],["invovle","involve"],["invovled","involved"],["invovles","involves"],["invovling","involving"],["ioclt","ioctl"],["iomaped","iomapped"],["ionde","inode"],["iplementation","implementation"],["ipmrovement","improvement"],["ipmrovements","improvements"],["iput","input"],["ireelevant","irrelevant"],["irelevent","irrelevant"],["iresistable","irresistible"],["iresistably","irresistibly"],["iresistible","irresistible"],["iresistibly","irresistibly"],["iritable","irritable"],["iritate","irritate"],["iritated","irritated"],["iritating","irritating"],["ironicly","ironically"],["irradate","irradiate"],["irradated","irradiated"],["irradates","irradiates"],["irradating","irradiating"],["irradation","irradiation"],["irraditate","irradiate"],["irraditated","irradiated"],["irraditates","irradiates"],["irraditating","irradiating"],["irregularties","irregularities"],["irregulier","irregular"],["irregulierties","irregularities"],["irrelavent","irrelevant"],["irrelevent","irrelevant"],["irrelvant","irrelevant"],["irreplacable","irreplaceable"],["irreplacalbe","irreplaceable"],["irreproducable","irreproducible"],["irresepective","irrespective"],["irresistable","irresistible"],["irresistably","irresistibly"],["irreversable","irreversible"],["is'nt","isn't"],["isalha","isalpha"],["isconnection","isconnected"],["iscrated","iscreated"],["iself","itself"],["iselfe","itself"],["iserting","inserting"],["isimilar","similar"],["isloation","isolation"],["ismas","isthmus"],["isn;t","isn't"],["isnpiron","inspiron"],["isnt'","isn't"],["isnt","isn't"],["isnt;","isn't"],["isntalation","installation"],["isntalations","installations"],["isntallation","installation"],["isntallations","installations"],["isntance","instance"],["isntances","instances"],["isotrophically","isotropically"],["ispatches","dispatches"],["isplay","display"],["Israelies","Israelis"],["isse","issue"],["isses","issues"],["isssue","issue"],["isssued","issued"],["isssues","issues"],["issueing","issuing"],["istalling","installing"],["istance","instance"],["istead","instead"],["istened","listened"],["istener","listener"],["isteners","listeners"],["istening","listening"],["isue","issue"],["iteartor","iterator"],["iteator","iterator"],["iteger","integer"],["itegral","integral"],["itegrals","integrals"],["iten","item"],["itens","items"],["itention","intention"],["itentional","intentional"],["itentionally","intentionally"],["itentionaly","intentionally"],["iteraion","iteration"],["iteraions","iterations"],["iteratable","iterable"],["iterater","iterator"],["iteraterate","iterate"],["iteratered","iterated"],["iteratior","iterator"],["iteratiors","iterators"],["iteratons","iterations"],["itereating","iterating"],["iterface","interface"],["iterfaces","interfaces"],["iternations","iterations"],["iterpreter","interpreter"],["iterration","iteration"],["iterrations","iterations"],["iterrupt","interrupt"],["iterstion","iteration"],["iterstions","iterations"],["itertation","iteration"],["iteself","itself"],["itesm","items"],["itheir","their"],["itheirs","theirs"],["itialise","initialise"],["itialised","initialised"],["itialises","initialises"],["itialising","initialising"],["itialize","initialize"],["itialized","initialized"],["itializes","initializes"],["itializing","initializing"],["itnerest","interest"],["itnerface","interface"],["itnerfaces","interfaces"],["itnernal","internal"],["itnerprelation","interpretation"],["itnerpret","interpret"],["itnerpretation","interpretation"],["itnerpretaton","interpretation"],["itnerpreted","interpreted"],["itnerpreter","interpreter"],["itnerpreting","interpreting"],["itnerprets","interprets"],["itnervals","intervals"],["itnroduced","introduced"],["itsef","itself"],["itsel","itself"],["itselfs","itself"],["itselt","itself"],["itselv","itself"],["itsems","items"],["itslef","itself"],["itslev","itself"],["itsself","itself"],["itterate","iterate"],["itterated","iterated"],["itterates","iterates"],["itterating","iterating"],["itteration","iteration"],["itterations","iterations"],["itterative","iterative"],["itterator","iterator"],["itterators","iterators"],["iunior","junior"],["ivalid","invalid"],["ivocation","invocation"],["ivoked","invoked"],["iwithout","without"],["iwll","will"],["iwth","with"],["jagid","jagged"],["jagwar","jaguar"],["januar","January"],["janurary","January"],["Januray","January"],["japanease","japanese"],["japaneese","Japanese"],["Japanes","Japanese"],["japanses","Japanese"],["jaques","jacques"],["javacript","javascript"],["javascipt","javascript"],["javasciript","javascript"],["javascritp","javascript"],["javascropt","javascript"],["javasript","javascript"],["javasrript","javascript"],["javescript","javascript"],["javsscript","javascript"],["jeapardy","jeopardy"],["jeffies","jiffies"],["jekins","Jenkins"],["jelous","jealous"],["jelousy","jealousy"],["jelusey","jealousy"],["jenkin","Jenkins"],["jenkkins","Jenkins"],["jenkns","Jenkins"],["jepordize","jeopardize"],["jewllery","jewellery"],["jhondoe","johndoe"],["jist","gist"],["jitterr","jitter"],["jitterring","jittering"],["jodpers","jodhpurs"],["Johanine","Johannine"],["joineable","joinable"],["joinning","joining"],["jont","joint"],["jonts","joints"],["jornal","journal"],["jorunal","journal"],["Jospeh","Joseph"],["jossle","jostle"],["jouney","journey"],["journied","journeyed"],["journies","journeys"],["joystik","joystick"],["jscipt","jscript"],["jstu","just"],["jsut","just"],["juadaism","Judaism"],["juadism","Judaism"],["judical","judicial"],["judisuary","judiciary"],["juducial","judicial"],["juge","judge"],["juipter","Jupiter"],["jumo","jump"],["jumoed","jumped"],["jumpimng","jumping"],["jupyther","Jupyter"],["juristiction","jurisdiction"],["juristictions","jurisdictions"],["jus","just"],["justfied","justified"],["justication","justification"],["justifed","justified"],["justs","just"],["juxt","just"],["juxtification","justification"],["juxtifications","justifications"],["juxtified","justified"],["juxtifies","justifies"],["juxtifying","justifying"],["kakfa","Kafka"],["kazakstan","Kazakhstan"],["keep-alives","keep-alive"],["keept","kept"],["kenerl","kernel"],["kenerls","kernels"],["kenrel","kernel"],["kenrels","kernels"],["kepping","keeping"],["kepps","keeps"],["kerenl","kernel"],["kerenls","kernels"],["kernal","kernel"],["kernals","kernels"],["kernerl","kernel"],["kernerls","kernels"],["keword","keyword"],["kewords","keywords"],["kewword","keyword"],["kewwords","keywords"],["keybaord","keyboard"],["keybaords","keyboards"],["keyboaard","keyboard"],["keyboaards","keyboards"],["keyboad","keyboard"],["keyboads","keyboards"],["keybooard","keyboard"],["keybooards","keyboards"],["keyborad","keyboard"],["keyborads","keyboards"],["keybord","keyboard"],["keybords","keyboards"],["keybroad","keyboard"],["keybroads","keyboards"],["keyevente","keyevent"],["keyords","keywords"],["keyoutch","keytouch"],["keyowrd","keyword"],["keypair","key pair"],["keypairs","key pairs"],["keyservers","key servers"],["keystokes","keystrokes"],["keyward","keyword"],["keywoards","keywords"],["keywork","keyword"],["keyworkd","keyword"],["keyworkds","keywords"],["keywors","keywords"],["keywprd","keyword"],["kindergarden","kindergarten"],["kindgergarden","kindergarten"],["kindgergarten","kindergarten"],["kinf","kind"],["kinfs","kinds"],["kinnect","Kinect"],["klenex","kleenex"],["klick","click"],["klicked","clicked"],["klicks","clicks"],["klunky","clunky"],["knive","knife"],["kno","know"],["knowladge","knowledge"],["knowlage","knowledge"],["knowlageable","knowledgeable"],["knowlegde","knowledge"],["knowlege","knowledge"],["knowlegeabel","knowledgeable"],["knowlegeable","knowledgeable"],["knwo","know"],["knwoing","knowing"],["knwoingly","knowingly"],["knwon","known"],["knwos","knows"],["kocalized","localized"],["konstant","constant"],["konstants","constants"],["konw","know"],["konwn","known"],["konws","knows"],["koordinate","coordinate"],["koordinates","coordinates"],["kown","known"],["kubenates","Kubernetes"],["kubenernetes","Kubernetes"],["kubenertes","Kubernetes"],["kubenetes","Kubernetes"],["kubenretes","Kubernetes"],["kuberenetes","Kubernetes"],["kuberentes","Kubernetes"],["kuberetes","Kubernetes"],["kubermetes","Kubernetes"],["kubernates","Kubernetes"],["kubernests","Kubernetes"],["kubernete","Kubernetes"],["kuberntes","Kubernetes"],["kwno","know"],["kwoledgebase","knowledge base"],["kyrillic","cyrillic"],["labbel","label"],["labbeled","labeled"],["labbels","labels"],["labed","labeled"],["labeld","labelled"],["labirinth","labyrinth"],["lable","label"],["lablel","label"],["lablels","labels"],["lables","labels"],["labouriously","laboriously"],["labratory","laboratory"],["lagacies","legacies"],["lagacy","legacy"],["laguage","language"],["laguages","languages"],["laguague","language"],["laguagues","languages"],["laiter","later"],["lamda","lambda"],["lamdas","lambdas"],["lanaguage","language"],["lanaguge","language"],["lanaguges","languages"],["lanagugs","languages"],["lanauge","language"],["langage","language"],["langauage","language"],["langauge","language"],["langauges","languages"],["langeuage","language"],["langeuagesection","languagesection"],["langht","length"],["langhts","lengths"],["langth","length"],["langths","lengths"],["languace","language"],["languaces","languages"],["languae","language"],["languaes","languages"],["language-spacific","language-specific"],["languahe","language"],["languahes","languages"],["languaje","language"],["languajes","languages"],["langual","lingual"],["languale","language"],["languales","languages"],["langualge","language"],["langualges","languages"],["languange","language"],["languanges","languages"],["languaqe","language"],["languaqes","languages"],["languate","language"],["languates","languages"],["languauge","language"],["languauges","languages"],["languege","language"],["langueges","languages"],["langugae","language"],["langugaes","languages"],["langugage","language"],["langugages","languages"],["languge","language"],["languges","languages"],["langugue","language"],["langugues","languages"],["lanich","launch"],["lanuage","language"],["lanuch","launch"],["lanuched","launched"],["lanuches","launches"],["lanuching","launching"],["lanugage","language"],["lanugages","languages"],["laod","load"],["laoded","loaded"],["laoding","loading"],["laods","loads"],["laout","layout"],["larg","large"],["largst","largest"],["larrry","larry"],["lastes","latest"],["lastr","last"],["latets","latest"],["lating","latin"],["latitide","latitude"],["latitue","latitude"],["latitute","latitude"],["latops","laptops"],["latset","latest"],["lattitude","latitude"],["lauch","launch"],["lauched","launched"],["laucher","launcher"],["lauches","launches"],["lauching","launching"],["lauguage","language"],["launck","launch"],["launhed","launched"],["lavae","larvae"],["layed","laid"],["layou","layout"],["lazer","laser"],["laziliy","lazily"],["lazyness","laziness"],["lcoally","locally"],["lcoation","location"],["lcuase","clause"],["leaast","least"],["leace","leave"],["leack","leak"],["leagacy","legacy"],["leagal","legal"],["leagalise","legalise"],["leagality","legality"],["leagalize","legalize"],["leagcy","legacy"],["leage","league"],["leagel","legal"],["leagelise","legalise"],["leagelity","legality"],["leagelize","legalize"],["leageue","league"],["leagl","legal"],["leaglise","legalise"],["leaglity","legality"],["leaglize","legalize"],["leapyear","leap year"],["leapyears","leap years"],["leary","leery"],["leaset","least"],["leasy","least"],["leathal","lethal"],["leats","least"],["leaveing","leaving"],["leavong","leaving"],["lefted","left"],["legac","legacy"],["legact","legacy"],["legalimate","legitimate"],["legasy","legacy"],["legel","legal"],["leggacies","legacies"],["leggacy","legacy"],["leght","length"],["leghts","lengths"],["legitamate","legitimate"],["legitimiately","legitimately"],["legitmate","legitimate"],["legnth","length"],["legth","length"],["legths","lengths"],["leibnitz","leibniz"],["leightweight","lightweight"],["lene","lens"],["lenggth","length"],["lengh","length"],["lenghs","lengths"],["lenght","length"],["lenghten","lengthen"],["lenghtend","lengthened"],["lenghtened","lengthened"],["lenghtening","lengthening"],["lenghth","length"],["lenghthen","lengthen"],["lenghths","lengths"],["lenghthy","lengthy"],["lenghtly","lengthy"],["lenghts","lengths"],["lenghty","lengthy"],["lengt","length"],["lengten","lengthen"],["lengtext","longtext"],["lengthes","lengths"],["lengthh","length"],["lengts","lengths"],["leniant","lenient"],["leninent","lenient"],["lentgh","length"],["lentghs","lengths"],["lenth","length"],["lenths","lengths"],["leran","learn"],["leraned","learned"],["lerans","learns"],["lessson","lesson"],["lesssons","lessons"],["lesstiff","LessTif"],["letgitimate","legitimate"],["letmost","leftmost"],["leutenant","lieutenant"],["levaridge","leverage"],["levetate","levitate"],["levetated","levitated"],["levetates","levitates"],["levetating","levitating"],["levl","level"],["levle","level"],["lexial","lexical"],["lexigraphic","lexicographic"],["lexigraphical","lexicographical"],["lexigraphically","lexicographically"],["leyer","layer"],["leyered","layered"],["leyering","layering"],["leyers","layers"],["liares","liars"],["liasion","liaison"],["liason","liaison"],["liasons","liaisons"],["libarary","library"],["libaries","libraries"],["libary","library"],["libell","libel"],["liberaries","libraries"],["liberary","library"],["liberoffice","libreoffice"],["liberry","library"],["libgng","libpng"],["libguistic","linguistic"],["libguistics","linguistics"],["libitarianisn","libertarianism"],["libraarie","library"],["libraaries","libraries"],["libraary","library"],["librabarie","library"],["librabaries","libraries"],["librabary","library"],["librabie","library"],["librabies","libraries"],["librabrie","library"],["librabries","libraries"],["librabry","library"],["libraby","library"],["libraie","library"],["libraier","library"],["libraies","libraries"],["libraiesr","libraries"],["libraire","library"],["libraires","libraries"],["librairies","libraries"],["librairy","library"],["libralie","library"],["libralies","libraries"],["libraly","library"],["libraray","library"],["libraris","libraries"],["librarries","libraries"],["librarry","library"],["libraryes","libraries"],["libratie","library"],["libraties","libraries"],["libraty","library"],["libray","library"],["librayr","library"],["libreoffie","libreoffice"],["libreoficekit","libreofficekit"],["libreries","libraries"],["librery","library"],["libries","libraries"],["librraies","libraries"],["librraries","libraries"],["librrary","library"],["librray","library"],["libstc++","libstdc++"],["licate","locate"],["licated","located"],["lication","location"],["lications","locations"],["licenceing","licencing"],["licese","license"],["licesne","license"],["licesnes","licenses"],["licesning","licensing"],["licesnse","license"],["licesnses","licenses"],["licesnsing","licensing"],["licsense","license"],["licsenses","licenses"],["licsensing","licensing"],["lieing","lying"],["liek","like"],["liekd","liked"],["lient","client"],["lients","clients"],["liesure","leisure"],["lieuenant","lieutenant"],["liev","live"],["lieved","lived"],["lifceycle","lifecycle"],["lifecyle","lifecycle"],["lifes","lives"],["lifeycle","lifecycle"],["liftime","lifetime"],["lighing","lighting"],["lightbulp","lightbulb"],["lightweigh","lightweight"],["lightwieght","lightweight"],["lightwight","lightweight"],["lightyear","light year"],["lightyears","light years"],["ligth","light"],["ligthing","lighting"],["ligths","lights"],["ligthweight","lightweight"],["ligthweights","lightweights"],["liitle","little"],["likeley","likely"],["likelly","likely"],["likelyhood","likelihood"],["likewis","likewise"],["likey","likely"],["liklelihood","likelihood"],["likley","likely"],["likly","likely"],["lileral","literal"],["limiation","limitation"],["limiations","limitations"],["liminted","limited"],["limitaion","limitation"],["limite","limit"],["limitiaion","limitation"],["limitiaions","limitations"],["limitiation","limitation"],["limitiations","limitations"],["limitied","limited"],["limitier","limiter"],["limitiers","limiters"],["limitiing","limiting"],["limitimg","limiting"],["limition","limitation"],["limitions","limitations"],["limitis","limits"],["limititation","limitation"],["limititations","limitations"],["limitited","limited"],["limititer","limiter"],["limititers","limiters"],["limititing","limiting"],["limitted","limited"],["limitter","limiter"],["limitting","limiting"],["limitts","limits"],["limk","link"],["limted","limited"],["limti","limit"],["limts","limits"],["linaer","linear"],["linar","linear"],["linarly","linearly"],["lincese","license"],["lincesed","licensed"],["linceses","licenses"],["lineary","linearly"],["linerisation","linearisation"],["linerisations","linearisations"],["lineseach","linesearch"],["lineseaches","linesearches"],["liness","lines"],["linewdith","linewidth"],["linez","lines"],["lingth","length"],["linheight","lineheight"],["linkfy","linkify"],["linnaena","linnaean"],["lintain","lintian"],["linz","lines"],["lippizaner","lipizzaner"],["liquify","liquefy"],["lisetning","listening"],["lising","listing"],["listapck","listpack"],["listbbox","listbox"],["listeing","listening"],["listeneing","listening"],["listeneres","listeners"],["listenes","listens"],["listensers","listeners"],["listenter","listener"],["listenters","listeners"],["listernes","listeners"],["listner","listener"],["listners","listeners"],["litaral","literal"],["litarally","literally"],["litarals","literals"],["litature","literature"],["liteautrue","literature"],["literaly","literally"],["literture","literature"],["litle","little"],["litquid","liquid"],["litquids","liquids"],["lits","list"],["litte","little"],["littel","little"],["littel-endian","little-endian"],["littele","little"],["littelry","literally"],["litteral","literal"],["litterally","literally"],["litterals","literals"],["litterate","literate"],["litterature","literature"],["liuke","like"],["liveing","living"],["livel","level"],["livetime","lifetime"],["livley","lively"],["lizens","license"],["lizense","license"],["lizensing","licensing"],["lke","like"],["llinear","linear"],["lmits","limits"],["loaader","loader"],["loacal","local"],["loacality","locality"],["loacally","locally"],["loacation","location"],["loaction","location"],["loactions","locations"],["loadig","loading"],["loadin","loading"],["loadning","loading"],["locae","locate"],["locaes","locates"],["locahost","localhost"],["locaiing","locating"],["locailty","locality"],["locaing","locating"],["locaion","location"],["locaions","locations"],["locaise","localise"],["locaised","localised"],["locaiser","localiser"],["locaises","localises"],["locaite","locate"],["locaites","locates"],["locaiting","locating"],["locaition","location"],["locaitions","locations"],["locaiton","location"],["locaitons","locations"],["locaize","localize"],["locaized","localized"],["locaizer","localizer"],["locaizes","localizes"],["localation","location"],["localed","located"],["localtion","location"],["localtions","locations"],["localy","locally"],["localzation","localization"],["locatins","locations"],["loccked","locked"],["locgical","logical"],["lockingf","locking"],["lodable","loadable"],["loded","loaded"],["loder","loader"],["loders","loaders"],["loding","loading"],["loev","love"],["logarithimic","logarithmic"],["logarithmical","logarithmically"],["logaritmic","logarithmic"],["logcal","logical"],["loggging","logging"],["logial","logical"],["logially","logically"],["logicaly","logically"],["logictech","logitech"],["logile","logfile"],["logitude","longitude"],["logitudes","longitudes"],["logoic","logic"],["logorithm","logarithm"],["logorithmic","logarithmic"],["logorithms","logarithms"],["logrithm","logarithm"],["logrithms","logarithms"],["logwritter","logwriter"],["loign","login"],["loigns","logins"],["lokal","local"],["lokale","locale"],["lokales","locales"],["lokaly","locally"],["lolal","total"],["lolerant","tolerant"],["lond","long"],["lonelyness","loneliness"],["long-runnign","long-running"],["longers","longer"],["longitudonal","longitudinal"],["longitue","longitude"],["longitutde","longitude"],["longitute","longitude"],["longst","longest"],["longuer","longer"],["longuest","longest"],["lonley","lonely"],["looback","loopback"],["loobacks","loopbacks"],["loobpack","loopback"],["loockdown","lockdown"],["lookes","looks"],["looknig","looking"],["looop","loop"],["loopup","lookup"],["loosley","loosely"],["loosly","loosely"],["losely","loosely"],["losen","loosen"],["losened","loosened"],["lotharingen","Lothringen"],["lpatform","platform"],["luckly","luckily"],["luminose","luminous"],["luminousity","luminosity"],["lveo","love"],["lvoe","love"],["Lybia","Libya"],["maake","make"],["mabe","maybe"],["mabye","maybe"],["macack","macaque"],["macason","moccasin"],["macasons","moccasins"],["maccro","macro"],["maccros","macros"],["machanism","mechanism"],["machanisms","mechanisms"],["mached","matched"],["maches","matches"],["machettie","machete"],["machinary","machinery"],["machine-dependend","machine-dependent"],["machiness","machines"],["mackeral","mackerel"],["maco","macro"],["macor","macro"],["macors","macros"],["macpakge","package"],["macroses","macros"],["macrow","macro"],["macthing","matching"],["madantory","mandatory"],["madatory","mandatory"],["maddness","madness"],["maesure","measure"],["maesured","measured"],["maesurement","measurement"],["maesurements","measurements"],["maesures","measures"],["maesuring","measuring"],["magasine","magazine"],["magincian","magician"],["magisine","magazine"],["magizine","magazine"],["magnatiude","magnitude"],["magnatude","magnitude"],["magnificient","magnificent"],["magolia","magnolia"],["mahcine","machine"],["maibe","maybe"],["maibox","mailbox"],["mailformed","malformed"],["mailling","mailing"],["maillinglist","mailing list"],["maillinglists","mailing lists"],["mailny","mainly"],["mailstrum","maelstrom"],["mainenance","maintenance"],["maininly","mainly"],["mainling","mailing"],["maintainance","maintenance"],["maintaince","maintenance"],["maintainces","maintenances"],["maintainence","maintenance"],["maintaing","maintaining"],["maintan","maintain"],["maintanance","maintenance"],["maintance","maintenance"],["maintane","maintain"],["maintanence","maintenance"],["maintaner","maintainer"],["maintaners","maintainers"],["maintans","maintains"],["maintenace","maintenance"],["maintenence","maintenance"],["maintiain","maintain"],["maintians","maintains"],["maintinaing","maintaining"],["maintioned","mentioned"],["mairabd","MariaDB"],["mairadb","MariaDB"],["maitain","maintain"],["maitainance","maintenance"],["maitained","maintained"],["maitainers","maintainers"],["majoroty","majority"],["maka","make"],["makefle","makefile"],["makeing","making"],["makign","making"],["makretplace","marketplace"],["makro","macro"],["makros","macros"],["Malcom","Malcolm"],["maliciousally","maliciously"],["malicius","malicious"],["maliciusally","maliciously"],["maliciusly","maliciously"],["malicous","malicious"],["malicousally","maliciously"],["malicously","maliciously"],["maline","malign"],["malined","maligned"],["malining","maligning"],["malins","maligns"],["malless","malice"],["malplace","misplace"],["malplaced","misplaced"],["maltesian","Maltese"],["mamagement","management"],["mamal","mammal"],["mamalian","mammalian"],["mamento","memento"],["mamentos","mementos"],["mamory","memory"],["mamuth","mammoth"],["manafacturer","manufacturer"],["manafacturers","manufacturers"],["managament","management"],["manageed","managed"],["managemenet","management"],["managenment","management"],["managet","manager"],["managets","managers"],["managmenet","management"],["managment","management"],["manaise","mayonnaise"],["manal","manual"],["manange","manage"],["manangement","management"],["mananger","manager"],["manangers","managers"],["manaul","manual"],["manaully","manually"],["manauls","manuals"],["manaze","mayonnaise"],["mandatatory","mandatory"],["mandetory","mandatory"],["manement","management"],["maneouvre","manoeuvre"],["maneouvred","manoeuvred"],["maneouvres","manoeuvres"],["maneouvring","manoeuvring"],["manetain","maintain"],["manetained","maintained"],["manetainer","maintainer"],["manetainers","maintainers"],["manetaining","maintaining"],["manetains","maintains"],["mangaed","managed"],["mangaement","management"],["mangager","manager"],["mangagers","managers"],["mangement","management"],["mangementt","management"],["manifacture","manufacture"],["manifactured","manufactured"],["manifacturer","manufacturer"],["manifacturers","manufacturers"],["manifactures","manufactures"],["manifect","manifest"],["manipluate","manipulate"],["manipluated","manipulated"],["manipulatin","manipulating"],["manipulaton","manipulation"],["manipute","manipulate"],["maniputed","manipulated"],["maniputing","manipulating"],["manipution","manipulation"],["maniputions","manipulations"],["maniputor","manipulator"],["manisfestations","manifestations"],["maniuplate","manipulate"],["maniuplated","manipulated"],["maniuplates","manipulates"],["maniuplating","manipulating"],["maniuplation","manipulation"],["maniuplations","manipulations"],["maniuplator","manipulator"],["maniuplators","manipulators"],["mannor","manner"],["mannual","manual"],["mannually","manually"],["mannualy","manually"],["manoeuverability","maneuverability"],["manoeuvering","maneuvering"],["manouevring","manoeuvring"],["mantain","maintain"],["mantainable","maintainable"],["mantained","maintained"],["mantainer","maintainer"],["mantainers","maintainers"],["mantaining","maintaining"],["mantains","maintains"],["mantanine","maintain"],["mantanined","maintained"],["mantatory","mandatory"],["mantenance","maintenance"],["manualy","manually"],["manualyl","manually"],["manualyy","manually"],["manuell","manual"],["manuelly","manually"],["manufactuerd","manufactured"],["manufacturedd","manufactured"],["manufature","manufacture"],["manufatured","manufactured"],["manufaturing","manufacturing"],["manufaucturing","manufacturing"],["manulally","manually"],["manule","manual"],["manuley","manually"],["manully","manually"],["manuly","manually"],["manupilations","manipulations"],["manupulate","manipulate"],["manupulated","manipulated"],["manupulates","manipulates"],["manupulating","manipulating"],["manupulation","manipulation"],["manupulations","manipulations"],["manuver","maneuver"],["manyal","manual"],["manyally","manually"],["manyals","manuals"],["mapable","mappable"],["mape","map"],["maped","mapped"],["maping","mapping"],["mapings","mappings"],["mapp","map"],["mappeds","mapped"],["mappeed","mapped"],["mappping","mapping"],["mapppings","mappings"],["margings","margins"],["mariabd","MariaDB"],["mariage","marriage"],["marjority","majority"],["marketting","marketing"],["markey","marquee"],["markeys","marquees"],["marmelade","marmalade"],["marrage","marriage"],["marraige","marriage"],["marrtyred","martyred"],["marryied","married"],["marshmellow","marshmallow"],["marshmellows","marshmallows"],["marter","martyr"],["masakist","masochist"],["mashetty","machete"],["mashine","machine"],["mashined","machined"],["mashines","machines"],["masia","messiah"],["masicer","massacre"],["masiff","massif"],["maskerading","masquerading"],["maskeraid","masquerade"],["masos","macos"],["masquarade","masquerade"],["masqurade","masquerade"],["Massachusettes","Massachusetts"],["Massachussets","Massachusetts"],["Massachussetts","Massachusetts"],["massagebox","messagebox"],["massectomy","mastectomy"],["massewer","masseur"],["massmedia","mass media"],["massoose","masseuse"],["masster","master"],["masteer","master"],["masterbation","masturbation"],["mastquerade","masquerade"],["mata-data","meta-data"],["matadata","metadata"],["matainer","maintainer"],["matainers","maintainers"],["mataphysical","metaphysical"],["matatable","metatable"],["matc","match"],["matchies","matches"],["matchign","matching"],["matchin","matching"],["matchs","matches"],["matchter","matcher"],["matcing","matching"],["mateiral","material"],["mateirals","materials"],["matemathical","mathematical"],["materaial","material"],["materaials","materials"],["materail","material"],["materails","materials"],["materalists","materialist"],["materil","material"],["materilism","materialism"],["materilize","materialize"],["materils","materials"],["materla","material"],["materlas","materials"],["mathamatics","mathematics"],["mathces","matches"],["mathch","match"],["mathched","matched"],["mathches","matches"],["mathching","matching"],["mathcing","matching"],["mathed","matched"],["mathematicaly","mathematically"],["mathematican","mathematician"],["mathematicas","mathematics"],["mathes","matches"],["mathetician","mathematician"],["matheticians","mathematicians"],["mathimatic","mathematic"],["mathimatical","mathematical"],["mathimatically","mathematically"],["mathimatician","mathematician"],["mathimaticians","mathematicians"],["mathimatics","mathematics"],["mathing","matching"],["mathmatical","mathematical"],["mathmatically","mathematically"],["mathmatician","mathematician"],["mathmaticians","mathematicians"],["mathod","method"],["matinay","matinee"],["matix","matrix"],["matreial","material"],["matreials","materials"],["matresses","mattresses"],["matrial","material"],["matrials","materials"],["matser","master"],["matzch","match"],["mavrick","maverick"],["mawsoleum","mausoleum"],["maximice","maximize"],["maximim","maximum"],["maximimum","maximum"],["maximium","maximum"],["maximnum","maximum"],["maximnums","maximums"],["maximun","maximum"],["maxinum","maximum"],["maxium","maximum"],["maxiumum","maximum"],["maxmimum","maximum"],["maxmium","maximum"],["maxmiums","maximums"],["maxosx","macosx"],["maxumum","maximum"],["maybee","maybe"],["mayonase","mayonnaise"],["mayority","majority"],["mayu","may"],["mayybe","maybe"],["mazilla","Mozilla"],["mccarthyst","mccarthyist"],["mchanic","mechanic"],["mchanical","mechanical"],["mchanically","mechanically"],["mchanicals","mechanicals"],["mchanics","mechanics"],["mchanism","mechanism"],["mchanisms","mechanisms"],["mcroscope","microscope"],["mcroscopes","microscopes"],["mcroscopic","microscopic"],["mcroscopies","microscopies"],["mcroscopy","microscopy"],["mdification","modification"],["mdifications","modifications"],["mdified","modified"],["mdifier","modifier"],["mdifiers","modifiers"],["mdifies","modifies"],["mdify","modify"],["mdifying","modifying"],["mdoel","model"],["mdoeled","modeled"],["mdoeling","modeling"],["mdoelled","modelled"],["mdoelling","modelling"],["mdoels","models"],["meaasure","measure"],["meaasured","measured"],["meaasures","measures"],["meachanism","mechanism"],["meachanisms","mechanisms"],["meachinism","mechanism"],["meachinisms","mechanisms"],["meachnism","mechanism"],["meachnisms","mechanisms"],["meading","meaning"],["meaing","meaning"],["mealflur","millefleur"],["meanigfull","meaningful"],["meanign","meaning"],["meanin","meaning"],["meaninful","meaningful"],["meaningfull","meaningful"],["meanining","meaning"],["meaninless","meaningless"],["meaninng","meaning"],["meassurable","measurable"],["meassurably","measurably"],["meassure","measure"],["meassured","measured"],["meassurement","measurement"],["meassurements","measurements"],["meassures","measures"],["meassuring","measuring"],["measue","measure"],["measued","measured"],["measuement","measurement"],["measuements","measurements"],["measuer","measurer"],["measues","measures"],["measuing","measuring"],["measuremenet","measurement"],["measuremenets","measurements"],["measurmenet","measurement"],["measurmenets","measurements"],["measurment","measurement"],["measurments","measurements"],["meatadata","metadata"],["meatfile","metafile"],["meathod","method"],["meaure","measure"],["meaured","measured"],["meaurement","measurement"],["meaurements","measurements"],["meaurer","measurer"],["meaurers","measurers"],["meaures","measures"],["meauring","measuring"],["meausure","measure"],["meausures","measures"],["meber","member"],["mebmer","member"],["mebrain","membrane"],["mebrains","membranes"],["mebran","membrane"],["mebrans","membranes"],["mecahinsm","mechanism"],["mecahinsms","mechanisms"],["mecahnic","mechanic"],["mecahnics","mechanics"],["mecahnism","mechanism"],["mecanical","mechanical"],["mecanism","mechanism"],["mecanisms","mechanisms"],["meccob","macabre"],["mechamism","mechanism"],["mechamisms","mechanisms"],["mechananism","mechanism"],["mechancial","mechanical"],["mechandise","merchandise"],["mechanim","mechanism"],["mechanims","mechanisms"],["mechanis","mechanism"],["mechansim","mechanism"],["mechansims","mechanisms"],["mechine","machine"],["mechines","machines"],["mechinism","mechanism"],["mechnanism","mechanism"],["mechnism","mechanism"],["mechnisms","mechanisms"],["medacine","medicine"],["medai","media"],["meddo","meadow"],["meddos","meadows"],["medeival","medieval"],["medevial","medieval"],["medhod","method"],["medhods","methods"],["medievel","medieval"],["medifor","metaphor"],["medifors","metaphors"],["medioker","mediocre"],["mediphor","metaphor"],["mediphors","metaphors"],["medisinal","medicinal"],["mediterainnean","mediterranean"],["Mediteranean","Mediterranean"],["medow","meadow"],["medows","meadows"],["meeds","needs"],["meens","means"],["meerkrat","meerkat"],["meerly","merely"],["meetign","meeting"],["meganism","mechanism"],["mege","merge"],["mehcanic","mechanic"],["mehcanical","mechanical"],["mehcanically","mechanically"],["mehcanics","mechanics"],["mehod","method"],["mehodical","methodical"],["mehodically","methodically"],["mehods","methods"],["mehtod","method"],["mehtodical","methodical"],["mehtodically","methodically"],["mehtods","methods"],["meida","media"],["melancoly","melancholy"],["melieux","milieux"],["melineum","millennium"],["melineumms","millennia"],["melineums","millennia"],["melinneum","millennium"],["melinneums","millennia"],["mellineum","millennium"],["mellineums","millennia"],["mellinneum","millennium"],["mellinneums","millennia"],["membran","membrane"],["membranaphone","membranophone"],["membrans","membranes"],["memcahe","memcache"],["memcahed","memcached"],["memeasurement","measurement"],["memeber","member"],["memebered","remembered"],["memebers","members"],["memebership","membership"],["memeberships","memberships"],["memebr","member"],["memebrof","memberof"],["memebrs","members"],["mememory","memory"],["mememto","memento"],["memeory","memory"],["memer","member"],["memership","membership"],["memerships","memberships"],["memery","memory"],["memick","mimic"],["memicked","mimicked"],["memicking","mimicking"],["memics","mimics"],["memmber","member"],["memmick","mimic"],["memmicked","mimicked"],["memmicking","mimicking"],["memmics","mimics"],["memmory","memory"],["memoery","memory"],["memomry","memory"],["memor","memory"],["memoty","memory"],["memove","memmove"],["mempry","memory"],["memroy","memory"],["memwar","memoir"],["memwars","memoirs"],["memwoir","memoir"],["memwoirs","memoirs"],["menally","mentally"],["menas","means"],["menetion","mention"],["menetioned","mentioned"],["menetioning","mentioning"],["menetions","mentions"],["meni","menu"],["menioned","mentioned"],["mensioned","mentioned"],["mensioning","mentioning"],["ment","meant"],["menthods","methods"],["mentiond","mentioned"],["mentione","mentioned"],["mentionned","mentioned"],["mentionning","mentioning"],["mentionnned","mentioned"],["menual","manual"],["menue","menu"],["menues","menus"],["menutitems","menuitems"],["meraj","mirage"],["merajes","mirages"],["merang","meringue"],["mercahnt","merchant"],["mercentile","mercantile"],["merchantibility","merchantability"],["merecat","meerkat"],["merecats","meerkats"],["mergable","mergeable"],["merget","merge"],["mergge","merge"],["mergged","merged"],["mergging","merging"],["mermory","memory"],["merory","memory"],["merrors","mirrors"],["mesage","message"],["mesages","messages"],["mesaureed","measured"],["meskeeto","mosquito"],["meskeetos","mosquitoes"],["mesoneen","mezzanine"],["mesoneens","mezzanines"],["messaes","messages"],["messag","message"],["messagetqueue","messagequeue"],["messagin","messaging"],["messagoe","message"],["messags","messages"],["messagses","messages"],["messanger","messenger"],["messangers","messengers"],["messave","message"],["messeges","messages"],["messenging","messaging"],["messgae","message"],["messgaed","messaged"],["messgaes","messages"],["messge","message"],["messges","messages"],["messsage","message"],["messsages","messages"],["messure","measure"],["messured","measured"],["messurement","measurement"],["messures","measures"],["messuring","measuring"],["messurment","measurement"],["mesure","measure"],["mesured","measured"],["mesurement","measurement"],["mesurements","measurements"],["mesures","measures"],["mesuring","measuring"],["mesurment","measurement"],["meta-attrubute","meta-attribute"],["meta-attrubutes","meta-attributes"],["meta-progamming","meta-programming"],["metacharater","metacharacter"],["metacharaters","metacharacters"],["metalic","metallic"],["metalurgic","metallurgic"],["metalurgical","metallurgical"],["metalurgy","metallurgy"],["metamorphysis","metamorphosis"],["metapackge","metapackage"],["metapackges","metapackages"],["metaphore","metaphor"],["metaphoricial","metaphorical"],["metaprogamming","metaprogramming"],["metatdata","metadata"],["metdata","metadata"],["meterial","material"],["meterials","materials"],["meterologist","meteorologist"],["meterology","meteorology"],["methaphor","metaphor"],["methaphors","metaphors"],["methd","method"],["methdos","methods"],["methds","methods"],["methid","method"],["methids","methods"],["methjod","method"],["methodd","method"],["methode","method"],["methoden","methods"],["methodss","methods"],["methon","method"],["methons","methods"],["methot","method"],["methots","methods"],["metifor","metaphor"],["metifors","metaphors"],["metion","mention"],["metioned","mentioned"],["metiphor","metaphor"],["metiphors","metaphors"],["metod","method"],["metodologies","methodologies"],["metodology","methodology"],["metods","methods"],["metrig","metric"],["metrigal","metrical"],["metrigs","metrics"],["mey","may"],["meybe","maybe"],["mezmorise","mesmerise"],["mezmorised","mesmerised"],["mezmoriser","mesmeriser"],["mezmorises","mesmerises"],["mezmorising","mesmerising"],["mezmorize","mesmerize"],["mezmorized","mesmerized"],["mezmorizer","mesmerizer"],["mezmorizes","mesmerizes"],["mezmorizing","mesmerizing"],["miagic","magic"],["miagical","magical"],["mial","mail"],["mices","mice"],["Michagan","Michigan"],["micorcode","microcode"],["micorcodes","microcodes"],["Micorsoft","Microsoft"],["micoscope","microscope"],["micoscopes","microscopes"],["micoscopic","microscopic"],["micoscopies","microscopies"],["micoscopy","microscopy"],["Micosoft","Microsoft"],["micrcontroller","microcontroller"],["micrcontrollers","microcontrollers"],["microcontroler","microcontroller"],["microcontrolers","microcontrollers"],["Microfost","Microsoft"],["microntroller","microcontroller"],["microntrollers","microcontrollers"],["microoseconds","microseconds"],["micropone","microphone"],["micropones","microphones"],["microprocesspr","microprocessor"],["microprocessprs","microprocessors"],["microseond","microsecond"],["microseonds","microseconds"],["Microsft","Microsoft"],["microship","microchip"],["microships","microchips"],["Microsof","Microsoft"],["Microsofot","Microsoft"],["Micrsft","Microsoft"],["Micrsoft","Microsoft"],["middlware","middleware"],["midevil","medieval"],["midified","modified"],["midpints","midpoints"],["midpiont","midpoint"],["midpionts","midpoints"],["midpont","midpoint"],["midponts","midpoints"],["mige","midge"],["miges","midges"],["migh","might"],["migrateable","migratable"],["migth","might"],["miht","might"],["miinimisation","minimisation"],["miinimise","minimise"],["miinimised","minimised"],["miinimises","minimises"],["miinimising","minimising"],["miinimization","minimization"],["miinimize","minimize"],["miinimized","minimized"],["miinimizes","minimizes"],["miinimizing","minimizing"],["miinimum","minimum"],["mikrosecond","microsecond"],["mikroseconds","microseconds"],["milage","mileage"],["milages","mileages"],["mileau","milieu"],["milennia","millennia"],["milennium","millennium"],["mileu","milieu"],["miliary","military"],["milicious","malicious"],["miliciousally","maliciously"],["miliciously","maliciously"],["milicous","malicious"],["milicousally","maliciously"],["milicously","maliciously"],["miligram","milligram"],["milimeter","millimeter"],["milimeters","millimeters"],["milimetre","millimetre"],["milimetres","millimetres"],["milimiters","millimeters"],["milion","million"],["miliraty","military"],["milisecond","millisecond"],["miliseconds","milliseconds"],["milisecons","milliseconds"],["milivolts","millivolts"],["milktoast","milquetoast"],["milktoasts","milquetoasts"],["milleneum","millennium"],["millenia","millennia"],["millenial","millennial"],["millenialism","millennialism"],["millenials","millennials"],["millenium","millennium"],["millepede","millipede"],["milliescond","millisecond"],["milliesconds","milliseconds"],["millimiter","millimeter"],["millimiters","millimeters"],["millimitre","millimetre"],["millimitres","millimetres"],["millioniare","millionaire"],["millioniares","millionaires"],["millisencond","millisecond"],["millisenconds","milliseconds"],["milliseond","millisecond"],["milliseonds","milliseconds"],["millitant","militant"],["millitary","military"],["millon","million"],["millsecond","millisecond"],["millseconds","milliseconds"],["millsencond","millisecond"],["millsenconds","milliseconds"],["miltary","military"],["miltisite","multisite"],["milyew","milieu"],["mimach","mismatch"],["mimachd","mismatched"],["mimached","mismatched"],["mimaches","mismatches"],["mimaching","mismatching"],["mimatch","mismatch"],["mimatchd","mismatched"],["mimatched","mismatched"],["mimatches","mismatches"],["mimatching","mismatching"],["mimicing","mimicking"],["mimick","mimic"],["mimicks","mimics"],["mimimal","minimal"],["mimimum","minimum"],["mimimun","minimum"],["miminal","minimal"],["miminally","minimally"],["miminaly","minimally"],["miminise","minimise"],["miminised","minimised"],["miminises","minimises"],["miminising","minimising"],["miminize","minimize"],["miminized","minimized"],["miminizes","minimizes"],["miminizing","minimizing"],["mimmick","mimic"],["mimmicked","mimicked"],["mimmicking","mimicking"],["mimmics","mimics"],["minature","miniature"],["minerial","mineral"],["MingGW","MinGW"],["minimam","minimum"],["minimial","minimal"],["minimium","minimum"],["minimsation","minimisation"],["minimse","minimise"],["minimsed","minimised"],["minimses","minimises"],["minimsing","minimising"],["minimumm","minimum"],["minimumn","minimum"],["minimun","minimum"],["minimzation","minimization"],["minimze","minimize"],["minimzed","minimized"],["minimzes","minimizes"],["minimzing","minimizing"],["mininal","minimal"],["mininise","minimise"],["mininised","minimised"],["mininises","minimises"],["mininising","minimising"],["mininize","minimize"],["mininized","minimized"],["mininizes","minimizes"],["mininizing","minimizing"],["mininum","minimum"],["miniscule","minuscule"],["miniscully","minusculely"],["miniture","miniature"],["minium","minimum"],["miniums","minimums"],["miniumum","minimum"],["minmal","minimal"],["minmum","minimum"],["minnimum","minimum"],["minnimums","minimums"],["minsitry","ministry"],["minstries","ministries"],["minstry","ministry"],["minum","minimum"],["minumum","minimum"],["minuscle","minuscule"],["minuts","minutes"],["miplementation","implementation"],["mirconesia","micronesia"],["mircophone","microphone"],["mircophones","microphones"],["mircoscope","microscope"],["mircoscopes","microscopes"],["mircoservice","microservice"],["mircoservices","microservices"],["mircosoft","Microsoft"],["mirgate","migrate"],["mirgated","migrated"],["mirgates","migrates"],["mirometer","micrometer"],["mirometers","micrometers"],["mirored","mirrored"],["miroring","mirroring"],["mirorr","mirror"],["mirorred","mirrored"],["mirorring","mirroring"],["mirorrs","mirrors"],["mirro","mirror"],["mirroed","mirrored"],["mirrorn","mirror"],["mirrorred","mirrored"],["mis-alignement","misalignment"],["mis-alignment","misalignment"],["mis-intepret","mis-interpret"],["mis-intepreted","mis-interpreted"],["mis-match","mismatch"],["misalignement","misalignment"],["misalinged","misaligned"],["misbehaive","misbehave"],["miscallenous","miscellaneous"],["misceancellous","miscellaneous"],["miscelaneous","miscellaneous"],["miscellanious","miscellaneous"],["miscellanous","miscellaneous"],["miscelleneous","miscellaneous"],["mischeivous","mischievous"],["mischevious","mischievous"],["mischevus","mischievous"],["mischevusly","mischievously"],["mischieveous","mischievous"],["mischieveously","mischievously"],["mischievious","mischievous"],["misconfiged","misconfigured"],["Miscrosoft","Microsoft"],["misdameanor","misdemeanor"],["misdameanors","misdemeanors"],["misdemenor","misdemeanor"],["misdemenors","misdemeanors"],["miselaneous","miscellaneous"],["miselaneously","miscellaneously"],["misellaneous","miscellaneous"],["misellaneously","miscellaneously"],["misformed","malformed"],["misfourtunes","misfortunes"],["misile","missile"],["mising","missing"],["misintepret","misinterpret"],["misintepreted","misinterpreted"],["misinterpert","misinterpret"],["misinterperted","misinterpreted"],["misinterperting","misinterpreting"],["misinterperts","misinterprets"],["misinterprett","misinterpret"],["misinterpretted","misinterpreted"],["misisng","missing"],["mismach","mismatch"],["mismached","mismatched"],["mismaches","mismatches"],["mismaching","mismatching"],["mismactch","mismatch"],["mismatchd","mismatched"],["mismatich","mismatch"],["Misouri","Missouri"],["mispell","misspell"],["mispelled","misspelled"],["mispelling","misspelling"],["mispellings","misspellings"],["mispelt","misspelt"],["mispronounciation","mispronunciation"],["misquito","mosquito"],["misquitos","mosquitos"],["missable","miscible"],["missconfiguration","misconfiguration"],["missconfigure","misconfigure"],["missconfigured","misconfigured"],["missconfigures","misconfigures"],["missconfiguring","misconfiguring"],["misscounted","miscounted"],["missen","mizzen"],["missign","missing"],["missingassignement","missingassignment"],["missings","missing"],["Missisipi","Mississippi"],["Missisippi","Mississippi"],["missle","missile"],["missleading","misleading"],["missletow","mistletoe"],["missmanaged","mismanaged"],["missmatch","mismatch"],["missmatchd","mismatched"],["missmatched","mismatched"],["missmatches","mismatches"],["missmatching","mismatching"],["missonary","missionary"],["misspel","misspell"],["misssing","missing"],["misstake","mistake"],["misstaken","mistaken"],["misstakes","mistakes"],["misstype","mistype"],["misstypes","mistypes"],["missunderstood","misunderstood"],["missuse","misuse"],["missused","misused"],["missusing","misusing"],["mistatch","mismatch"],["mistatchd","mismatched"],["mistatched","mismatched"],["mistatches","mismatches"],["mistatching","mismatching"],["misteek","mystique"],["misteeks","mystiques"],["misterious","mysterious"],["mistery","mystery"],["misteryous","mysterious"],["mistic","mystic"],["mistical","mystical"],["mistics","mystics"],["mistmatch","mismatch"],["mistmatched","mismatched"],["mistmatches","mismatches"],["mistmatching","mismatching"],["mistro","maestro"],["mistros","maestros"],["mistrow","maestro"],["mistrows","maestros"],["misue","misuse"],["misued","misused"],["misuing","misusing"],["miticate","mitigate"],["miticated","mitigated"],["miticateing","mitigating"],["miticates","mitigates"],["miticating","mitigating"],["miticator","mitigator"],["mittigate","mitigate"],["miximum","maximum"],["mixted","mixed"],["mixure","mixture"],["mjor","major"],["mkae","make"],["mkaes","makes"],["mkaing","making"],["mke","make"],["mkea","make"],["mmaped","mapped"],["mmatching","matching"],["mmbers","members"],["mmnemonic","mnemonic"],["mnay","many"],["mobify","modify"],["mocrochip","microchip"],["mocrochips","microchips"],["mocrocode","microcode"],["mocrocodes","microcodes"],["mocrocontroller","microcontroller"],["mocrocontrollers","microcontrollers"],["mocrophone","microphone"],["mocrophones","microphones"],["mocroprocessor","microprocessor"],["mocroprocessors","microprocessors"],["mocrosecond","microsecond"],["mocroseconds","microseconds"],["Mocrosoft","Microsoft"],["mocule","module"],["mocules","modules"],["moddel","model"],["moddeled","modeled"],["moddelled","modelled"],["moddels","models"],["modee","mode"],["modelinng","modeling"],["modell","model"],["modellinng","modelling"],["modernination","modernization"],["moderninations","modernizations"],["moderninationz","modernizations"],["modernizationz","modernizations"],["modesettting","modesetting"],["modeul","module"],["modeuls","modules"],["modfel","model"],["modfiable","modifiable"],["modfication","modification"],["modfications","modifications"],["modfide","modified"],["modfided","modified"],["modfider","modifier"],["modfiders","modifiers"],["modfides","modifies"],["modfied","modified"],["modfieid","modified"],["modfieir","modifier"],["modfieirs","modifiers"],["modfieis","modifies"],["modfier","modifier"],["modfiers","modifiers"],["modfies","modifies"],["modfifiable","modifiable"],["modfification","modification"],["modfifications","modifications"],["modfified","modified"],["modfifier","modifier"],["modfifiers","modifiers"],["modfifies","modifies"],["modfify","modify"],["modfifying","modifying"],["modfiiable","modifiable"],["modfiication","modification"],["modfiications","modifications"],["modfitied","modified"],["modfitier","modifier"],["modfitiers","modifiers"],["modfities","modifies"],["modfity","modify"],["modfitying","modifying"],["modfiy","modify"],["modfiying","modifying"],["modfy","modify"],["modfying","modifying"],["modications","modifications"],["modidfication","modification"],["modidfications","modifications"],["modidfied","modified"],["modidfier","modifier"],["modidfiers","modifiers"],["modidfies","modifies"],["modidfy","modify"],["modidfying","modifying"],["modifable","modifiable"],["modifaction","modification"],["modifactions","modifications"],["modifation","modification"],["modifations","modifications"],["modifcation","modification"],["modifcations","modifications"],["modifciation","modification"],["modifciations","modifications"],["modifcication","modification"],["modifcications","modifications"],["modifdied","modified"],["modifdy","modify"],["modifed","modified"],["modifer","modifier"],["modifers","modifiers"],["modifes","modifies"],["modiffer","modifier"],["modiffers","modifiers"],["modifiation","modification"],["modifiations","modifications"],["modificatioon","modification"],["modificatioons","modifications"],["modificaton","modification"],["modificatons","modifications"],["modifid","modified"],["modifified","modified"],["modifify","modify"],["modifing","modifying"],["modifires","modifiers"],["modifiy","modify"],["modifiying","modifying"],["modifiyng","modifying"],["modifled","modified"],["modifler","modifier"],["modiflers","modifiers"],["modift","modify"],["modifty","modify"],["modifu","modify"],["modifuable","modifiable"],["modifued","modified"],["modifx","modify"],["modifyable","modifiable"],["modiration","moderation"],["modle","model"],["modlue","module"],["modprobbing","modprobing"],["modprobeing","modprobing"],["modtified","modified"],["modue","module"],["moduel","module"],["moduels","modules"],["moduile","module"],["modukles","modules"],["modul","module"],["modules's","modules'"],["moduless","modules"],["modulie","module"],["modulu","modulo"],["modulues","modules"],["modyfy","modify"],["moent","moment"],["moeny","money"],["mofdified","modified"],["mofification","modification"],["mofified","modified"],["mofifies","modifies"],["mofify","modify"],["mohammedan","muslim"],["mohammedans","muslims"],["moint","mount"],["mointor","monitor"],["mointored","monitored"],["mointoring","monitoring"],["mointors","monitors"],["moleclues","molecules"],["momement","moment"],["momementarily","momentarily"],["momements","moments"],["momemtarily","momentarily"],["momemtary","momentary"],["momemtn","moment"],["momentarely","momentarily"],["momento","memento"],["momery","memory"],["momoent","moment"],["momoment","moment"],["momomentarily","momentarily"],["momoments","moments"],["momory","memory"],["monarkey","monarchy"],["monarkeys","monarchies"],["monarkies","monarchies"],["monestaries","monasteries"],["monestic","monastic"],["monickers","monikers"],["monitary","monetary"],["moniter","monitor"],["monitoing","monitoring"],["monkies","monkeys"],["monochorome","monochrome"],["monochromo","monochrome"],["monocrome","monochrome"],["monolite","monolithic"],["monontonicity","monotonicity"],["monopace","monospace"],["monotir","monitor"],["monotired","monitored"],["monotiring","monitoring"],["monotirs","monitors"],["monsday","Monday"],["Monserrat","Montserrat"],["monstrum","monster"],["montains","mountains"],["montaj","montage"],["montajes","montages"],["montanous","mountainous"],["monthe","month"],["monthes","months"],["montly","monthly"],["Montnana","Montana"],["monts","months"],["montypic","monotypic"],["moodify","modify"],["moounting","mounting"],["mopdule","module"],["mopre","more"],["mor","more"],["mordern","modern"],["morever","moreover"],["morg","morgue"],["morgage","mortgage"],["morges","morgues"],["morgs","morgues"],["morisette","morissette"],["mormalise","normalise"],["mormalised","normalised"],["mormalises","normalises"],["mormalize","normalize"],["mormalized","normalized"],["mormalizes","normalizes"],["morrisette","morissette"],["morroccan","moroccan"],["morrocco","morocco"],["morroco","morocco"],["mortage","mortgage"],["morter","mortar"],["moslty","mostly"],["mostlky","mostly"],["mosture","moisture"],["mosty","mostly"],["moteef","motif"],["moteefs","motifs"],["moteur","motor"],["moteured","motored"],["moteuring","motoring"],["moteurs","motors"],["mothing","nothing"],["motiviated","motivated"],["motiviation","motivation"],["motononic","monotonic"],["motoroloa","motorola"],["moudle","module"],["moudule","module"],["mountian","mountain"],["mountpiont","mountpoint"],["mountpionts","mountpoints"],["mouspointer","mousepointer"],["moutn","mount"],["moutned","mounted"],["moutning","mounting"],["moutnpoint","mountpoint"],["moutnpoints","mountpoints"],["moutns","mounts"],["mouvement","movement"],["mouvements","movements"],["movebackwrd","movebackward"],["moveble","movable"],["movemement","movement"],["movemements","movements"],["movememnt","movement"],["movememnts","movements"],["movememt","movement"],["movememts","movements"],["movemet","movement"],["movemets","movements"],["movemment","movement"],["movemments","movements"],["movemnet","movement"],["movemnets","movements"],["movemnt","movement"],["movemnts","movements"],["movment","movement"],["moziila","Mozilla"],["mozila","Mozilla"],["mozzilla","mozilla"],["mroe","more"],["msbild","MSBuild"],["msbilds","MSBuild's"],["msbuid","MSBuild"],["msbuids","MSBuild's"],["msbuld","MSBuild"],["msbulds","MSBuild's"],["msbulid","MSBuild"],["msbulids","MSBuild's"],["mssing","missing"],["msssge","message"],["mthod","method"],["mtuually","mutually"],["mucuous","mucous"],["muder","murder"],["mudering","murdering"],["mudule","module"],["mudules","modules"],["muext","mutex"],["muiltiple","multiple"],["muiltiples","multiples"],["muliple","multiple"],["muliples","multiples"],["mulithread","multithread"],["mulitiplier","multiplier"],["mulitipliers","multipliers"],["mulitpart","multipart"],["mulitpath","multipath"],["mulitple","multiple"],["mulitplication","multiplication"],["mulitplicative","multiplicative"],["mulitplied","multiplied"],["mulitplier","multiplier"],["mulitpliers","multipliers"],["mulitply","multiply"],["multi-dimenional","multi-dimensional"],["multi-dimenionsal","multi-dimensional"],["multi-langual","multi-lingual"],["multi-presistion","multi-precision"],["multi-threded","multi-threaded"],["multible","multiple"],["multibye","multibyte"],["multicat","multicast"],["multicultralism","multiculturalism"],["multidimenional","multi-dimensional"],["multidimenionsal","multi-dimensional"],["multidimensinal","multidimensional"],["multidimension","multidimensional"],["multidimensionnal","multidimensional"],["multidimentionnal","multidimensional"],["multiecast","multicast"],["multifuction","multifunction"],["multilangual","multilingual"],["multile","multiple"],["multilpe","multiple"],["multipe","multiple"],["multipes","multiples"],["multipiler","multiplier"],["multipilers","multipliers"],["multipled","multiplied"],["multiplers","multipliers"],["multipliciaton","multiplication"],["multiplicites","multiplicities"],["multiplicty","multiplicity"],["multiplikation","multiplication"],["multipling","multiplying"],["multipllication","multiplication"],["multiplyed","multiplied"],["multipresistion","multiprecision"],["multipul","multiple"],["multipy","multiply"],["multipyling","multiplying"],["multithreded","multithreaded"],["multitute","multitude"],["multivriate","multivariate"],["multixsite","multisite"],["multline","multiline"],["multliple","multiple"],["multliples","multiples"],["multliplied","multiplied"],["multliplier","multiplier"],["multlipliers","multipliers"],["multliplies","multiplies"],["multliply","multiply"],["multliplying","multiplying"],["multple","multiple"],["multples","multiples"],["multplied","multiplied"],["multplier","multiplier"],["multpliers","multipliers"],["multplies","multiplies"],["multply","multiply"],["multplying","multiplying"],["multy","multi"],["multy-thread","multithread"],["mumber","number"],["mumbers","numbers"],["munbers","numbers"],["muncipalities","municipalities"],["muncipality","municipality"],["municiple","municipal"],["munnicipality","municipality"],["munute","minute"],["murr","myrrh"],["muscial","musical"],["muscician","musician"],["muscicians","musicians"],["musn't","mustn't"],["must't","mustn't"],["mustator","mutator"],["muste","must"],["mutablity","mutability"],["mutbale","mutable"],["mutch","much"],["mutches","matches"],["mutecies","mutexes"],["mutexs","mutexes"],["muti","multi"],["muticast","multicast"],["mutices","mutexes"],["mutilcast","multicast"],["mutiliated","mutilated"],["mutimarked","multimarked"],["mutipath","multipath"],["mutiple","multiple"],["mutiply","multiply"],["mutli","multi"],["mutli-threaded","multi-threaded"],["mutlipart","multipart"],["mutliple","multiple"],["mutliples","multiples"],["mutliplication","multiplication"],["mutliplicites","multiplicities"],["mutliplier","multiplier"],["mutlipliers","multipliers"],["mutliply","multiply"],["mutully","mutually"],["mutux","mutex"],["mutuxes","mutexes"],["mutuxs","mutexes"],["muyst","must"],["myabe","maybe"],["mybe","maybe"],["myitereator","myiterator"],["myraid","myriad"],["mysef","myself"],["mysefl","myself"],["mysekf","myself"],["myselfe","myself"],["myselfes","myself"],["myselv","myself"],["myselve","myself"],["myselves","myself"],["myslef","myself"],["mysogynist","misogynist"],["mysogyny","misogyny"],["mysterous","mysterious"],["mystql","mysql"],["mystrow","maestro"],["mystrows","maestros"],["Mythraic","Mithraic"],["myu","my"],["nadly","badly"],["nagative","negative"],["nagatively","negatively"],["nagatives","negatives"],["nagivation","navigation"],["naieve","naive"],["nam","name"],["namaed","named"],["namaes","names"],["nameing","naming"],["namemespace","namespace"],["namepace","namespace"],["namepsace","namespace"],["namepsaces","namespaces"],["namesapce","namespace"],["namesapced","namespaced"],["namesapces","namespaces"],["namess","names"],["namesspaces","namespaces"],["namme","name"],["namne","name"],["namned","named"],["namnes","names"],["namnespace","namespace"],["namnespaces","namespaces"],["nams","names"],["nane","name"],["nanosencond","nanosecond"],["nanosenconds","nanoseconds"],["nanoseond","nanosecond"],["nanoseonds","nanoseconds"],["Naploeon","Napoleon"],["Napolean","Napoleon"],["Napoleonian","Napoleonic"],["nasted","nested"],["nasting","nesting"],["nastly","nasty"],["nastyness","nastiness"],["natched","matched"],["natches","matches"],["nativelyx","natively"],["natrual","natural"],["naturaly","naturally"],["naturely","naturally"],["naturual","natural"],["naturually","naturally"],["natvigation","navigation"],["navagate","navigate"],["navagating","navigating"],["navagation","navigation"],["navagitation","navigation"],["naviagte","navigate"],["naviagted","navigated"],["naviagtes","navigates"],["naviagting","navigating"],["naviagtion","navigation"],["navitvely","natively"],["navtive","native"],["navtives","natives"],["naxima","maxima"],["naximal","maximal"],["naximum","maximum"],["Nazereth","Nazareth"],["nclude","include"],["ndoe","node"],["ndoes","nodes"],["neady","needy"],["neagtive","negative"],["neares","nearest"],["nearset","nearest"],["necassery","necessary"],["necassry","necessary"],["necause","because"],["neccecarily","necessarily"],["neccecary","necessary"],["neccesarily","necessarily"],["neccesary","necessary"],["neccessarily","necessarily"],["neccessarry","necessary"],["neccessary","necessary"],["neccessities","necessities"],["neccessity","necessity"],["neccisary","necessary"],["neccsessary","necessary"],["necesarily","necessarily"],["necesarrily","necessarily"],["necesarry","necessary"],["necesary","necessary"],["necessaery","necessary"],["necessairly","necessarily"],["necessar","necessary"],["necessarilly","necessarily"],["necessarly","necessarily"],["necessarry","necessary"],["necessaryly","necessarily"],["necessay","necessary"],["necesserily","necessarily"],["necessery","necessary"],["necessesary","necessary"],["necessiate","necessitate"],["nechanism","mechanism"],["necssary","necessary"],["nedd","need"],["nedded","needed"],["neded","needed"],["nedia","media"],["nedium","medium"],["nediums","mediums"],["nedle","needle"],["neds","needs"],["needeed","needed"],["neeed","need"],["neeeded","needed"],["neeeding","needing"],["neeedle","needle"],["neeedn't","needn't"],["neeeds","needs"],["nees","needs"],["neesd","needs"],["neesds","needs"],["neested","nested"],["neesting","nesting"],["negaive","negative"],["negarive","negative"],["negatiotiable","negotiable"],["negatiotiate","negotiate"],["negatiotiated","negotiated"],["negatiotiates","negotiates"],["negatiotiating","negotiating"],["negatiotiation","negotiation"],["negatiotiations","negotiations"],["negatiotiator","negotiator"],["negatiotiators","negotiators"],["negativ","negative"],["negatve","negative"],["negible","negligible"],["negitiable","negotiable"],["negitiate","negotiate"],["negitiated","negotiated"],["negitiates","negotiates"],["negitiating","negotiating"],["negitiation","negotiation"],["negitiations","negotiations"],["negitiator","negotiator"],["negitiators","negotiators"],["negitive","negative"],["neglible","negligible"],["negligable","negligible"],["negligble","negligible"],["negoable","negotiable"],["negoate","negotiate"],["negoated","negotiated"],["negoates","negotiates"],["negoatiable","negotiable"],["negoatiate","negotiate"],["negoatiated","negotiated"],["negoatiates","negotiates"],["negoatiating","negotiating"],["negoatiation","negotiation"],["negoatiations","negotiations"],["negoatiator","negotiator"],["negoatiators","negotiators"],["negoating","negotiating"],["negoation","negotiation"],["negoations","negotiations"],["negoator","negotiator"],["negoators","negotiators"],["negociable","negotiable"],["negociate","negotiate"],["negociated","negotiated"],["negociates","negotiates"],["negociating","negotiating"],["negociation","negotiation"],["negociations","negotiations"],["negociator","negotiator"],["negociators","negotiators"],["negogtiable","negotiable"],["negogtiate","negotiate"],["negogtiated","negotiated"],["negogtiates","negotiates"],["negogtiating","negotiating"],["negogtiation","negotiation"],["negogtiations","negotiations"],["negogtiator","negotiator"],["negogtiators","negotiators"],["negoitable","negotiable"],["negoitate","negotiate"],["negoitated","negotiated"],["negoitates","negotiates"],["negoitating","negotiating"],["negoitation","negotiation"],["negoitations","negotiations"],["negoitator","negotiator"],["negoitators","negotiators"],["negoptionsotiable","negotiable"],["negoptionsotiate","negotiate"],["negoptionsotiated","negotiated"],["negoptionsotiates","negotiates"],["negoptionsotiating","negotiating"],["negoptionsotiation","negotiation"],["negoptionsotiations","negotiations"],["negoptionsotiator","negotiator"],["negoptionsotiators","negotiators"],["negosiable","negotiable"],["negosiate","negotiate"],["negosiated","negotiated"],["negosiates","negotiates"],["negosiating","negotiating"],["negosiation","negotiation"],["negosiations","negotiations"],["negosiator","negotiator"],["negosiators","negotiators"],["negotable","negotiable"],["negotaiable","negotiable"],["negotaiate","negotiate"],["negotaiated","negotiated"],["negotaiates","negotiates"],["negotaiating","negotiating"],["negotaiation","negotiation"],["negotaiations","negotiations"],["negotaiator","negotiator"],["negotaiators","negotiators"],["negotaible","negotiable"],["negotaite","negotiate"],["negotaited","negotiated"],["negotaites","negotiates"],["negotaiting","negotiating"],["negotaition","negotiation"],["negotaitions","negotiations"],["negotaitor","negotiator"],["negotaitors","negotiators"],["negotate","negotiate"],["negotated","negotiated"],["negotates","negotiates"],["negotatiable","negotiable"],["negotatiate","negotiate"],["negotatiated","negotiated"],["negotatiates","negotiates"],["negotatiating","negotiating"],["negotatiation","negotiation"],["negotatiations","negotiations"],["negotatiator","negotiator"],["negotatiators","negotiators"],["negotatible","negotiable"],["negotatie","negotiate"],["negotatied","negotiated"],["negotaties","negotiates"],["negotating","negotiating"],["negotation","negotiation"],["negotations","negotiations"],["negotatior","negotiator"],["negotatiors","negotiators"],["negotator","negotiator"],["negotators","negotiators"],["negothiable","negotiable"],["negothiate","negotiate"],["negothiated","negotiated"],["negothiates","negotiates"],["negothiating","negotiating"],["negothiation","negotiation"],["negothiations","negotiations"],["negothiator","negotiator"],["negothiators","negotiators"],["negotible","negotiable"],["negoticable","negotiable"],["negoticate","negotiate"],["negoticated","negotiated"],["negoticates","negotiates"],["negoticating","negotiating"],["negotication","negotiation"],["negotications","negotiations"],["negoticator","negotiator"],["negoticators","negotiators"],["negotinate","negotiate"],["negotioable","negotiable"],["negotioate","negotiate"],["negotioated","negotiated"],["negotioates","negotiates"],["negotioating","negotiating"],["negotioation","negotiation"],["negotioations","negotiations"],["negotioator","negotiator"],["negotioators","negotiators"],["negotioble","negotiable"],["negotion","negotiation"],["negotionable","negotiable"],["negotionate","negotiate"],["negotionated","negotiated"],["negotionates","negotiates"],["negotionating","negotiating"],["negotionation","negotiation"],["negotionations","negotiations"],["negotionator","negotiator"],["negotionators","negotiators"],["negotions","negotiations"],["negotiotable","negotiable"],["negotiotate","negotiate"],["negotiotated","negotiated"],["negotiotates","negotiates"],["negotiotating","negotiating"],["negotiotation","negotiation"],["negotiotations","negotiations"],["negotiotator","negotiator"],["negotiotators","negotiators"],["negotiote","negotiate"],["negotioted","negotiated"],["negotiotes","negotiates"],["negotioting","negotiating"],["negotiotion","negotiation"],["negotiotions","negotiations"],["negotiotor","negotiator"],["negotiotors","negotiators"],["negotitable","negotiable"],["negotitae","negotiate"],["negotitaed","negotiated"],["negotitaes","negotiates"],["negotitaing","negotiating"],["negotitaion","negotiation"],["negotitaions","negotiations"],["negotitaor","negotiator"],["negotitaors","negotiators"],["negotitate","negotiate"],["negotitated","negotiated"],["negotitates","negotiates"],["negotitating","negotiating"],["negotitation","negotiation"],["negotitations","negotiations"],["negotitator","negotiator"],["negotitators","negotiators"],["negotite","negotiate"],["negotited","negotiated"],["negotites","negotiates"],["negotiting","negotiating"],["negotition","negotiation"],["negotitions","negotiations"],["negotitor","negotiator"],["negotitors","negotiators"],["negoziable","negotiable"],["negoziate","negotiate"],["negoziated","negotiated"],["negoziates","negotiates"],["negoziating","negotiating"],["negoziation","negotiation"],["negoziations","negotiations"],["negoziator","negotiator"],["negoziators","negotiators"],["negtive","negative"],["neibhbors","neighbors"],["neibhbours","neighbours"],["neibor","neighbor"],["neiborhood","neighborhood"],["neiborhoods","neighborhoods"],["neibors","neighbors"],["neigbhor","neighbor"],["neigbhorhood","neighborhood"],["neigbhorhoods","neighborhoods"],["neigbhors","neighbors"],["neigbhour","neighbour"],["neigbhours","neighbours"],["neigbor","neighbor"],["neigborhood","neighborhood"],["neigboring","neighboring"],["neigbors","neighbors"],["neigbourhood","neighbourhood"],["neighbar","neighbor"],["neighbarhood","neighborhood"],["neighbarhoods","neighborhoods"],["neighbaring","neighboring"],["neighbars","neighbors"],["neighbbor","neighbor"],["neighbborhood","neighborhood"],["neighbborhoods","neighborhoods"],["neighbboring","neighboring"],["neighbbors","neighbors"],["neighbeard","neighborhood"],["neighbeards","neighborhoods"],["neighbehood","neighborhood"],["neighbehoods","neighborhoods"],["neighbeing","neighboring"],["neighbeod","neighborhood"],["neighbeods","neighborhoods"],["neighbeor","neighbor"],["neighbeordhood","neighborhood"],["neighbeordhoods","neighborhoods"],["neighbeorhod","neighborhood"],["neighbeorhods","neighborhoods"],["neighbeorhood","neighborhood"],["neighbeorhoods","neighborhoods"],["neighbeors","neighbors"],["neighber","neighbor"],["neighbergh","neighbor"],["neighberghs","neighbors"],["neighberhhod","neighborhood"],["neighberhhods","neighborhoods"],["neighberhhood","neighborhood"],["neighberhhoods","neighborhoods"],["neighberhing","neighboring"],["neighberhod","neighborhood"],["neighberhodd","neighborhood"],["neighberhodds","neighborhoods"],["neighberhods","neighborhoods"],["neighberhood","neighborhood"],["neighberhooding","neighboring"],["neighberhoods","neighborhoods"],["neighberhoof","neighborhood"],["neighberhoofs","neighborhoods"],["neighberhoood","neighborhood"],["neighberhooods","neighborhoods"],["neighberhoor","neighbor"],["neighberhoors","neighbors"],["neighberhoud","neighborhood"],["neighberhouds","neighborhoods"],["neighbering","neighboring"],["neighbers","neighbors"],["neighbes","neighbors"],["neighbet","neighbor"],["neighbethood","neighborhood"],["neighbethoods","neighborhoods"],["neighbets","neighbors"],["neighbeuing","neighbouring"],["neighbeurgh","neighbour"],["neighbeurghs","neighbours"],["neighbeurhing","neighbouring"],["neighbeurhooding","neighbouring"],["neighbeurhoor","neighbour"],["neighbeurhoors","neighbours"],["neighbeus","neighbours"],["neighbeut","neighbour"],["neighbeuthood","neighbourhood"],["neighbeuthoods","neighbourhoods"],["neighbeuts","neighbours"],["neighbhor","neighbor"],["neighbhorhood","neighborhood"],["neighbhorhoods","neighborhoods"],["neighbhoring","neighboring"],["neighbhors","neighbors"],["neighboard","neighborhood"],["neighboards","neighborhoods"],["neighbohood","neighborhood"],["neighbohoods","neighborhoods"],["neighboing","neighboring"],["neighbood","neighborhood"],["neighboods","neighborhoods"],["neighboordhood","neighborhood"],["neighboordhoods","neighborhoods"],["neighboorhod","neighborhood"],["neighboorhods","neighborhoods"],["neighboorhood","neighborhood"],["neighboorhoods","neighborhoods"],["neighbooring","neighboring"],["neighborgh","neighbor"],["neighborghs","neighbors"],["neighborhhod","neighborhood"],["neighborhhods","neighborhoods"],["neighborhhood","neighborhood"],["neighborhhoods","neighborhoods"],["neighborhing","neighboring"],["neighborhod","neighborhood"],["neighborhodd","neighborhood"],["neighborhodds","neighborhoods"],["neighborhods","neighborhoods"],["neighborhooding","neighboring"],["neighborhoof","neighborhood"],["neighborhoofs","neighborhoods"],["neighborhoood","neighborhood"],["neighborhooods","neighborhoods"],["neighborhoor","neighbor"],["neighborhoors","neighbors"],["neighborhoud","neighborhood"],["neighborhouds","neighborhoods"],["neighbos","neighbors"],["neighbot","neighbor"],["neighbothood","neighborhood"],["neighbothoods","neighborhoods"],["neighbots","neighbors"],["neighbouing","neighbouring"],["neighbourgh","neighbour"],["neighbourghs","neighbours"],["neighbourhhod","neighbourhood"],["neighbourhhods","neighbourhoods"],["neighbourhhood","neighbourhood"],["neighbourhhoods","neighbourhoods"],["neighbourhing","neighbouring"],["neighbourhod","neighbourhood"],["neighbourhodd","neighbourhood"],["neighbourhodds","neighbourhoods"],["neighbourhods","neighbourhoods"],["neighbourhooding","neighbouring"],["neighbourhoof","neighbourhood"],["neighbourhoofs","neighbourhoods"],["neighbourhoood","neighbourhood"],["neighbourhooods","neighbourhoods"],["neighbourhoor","neighbour"],["neighbourhoors","neighbours"],["neighbourhoud","neighbourhood"],["neighbourhouds","neighbourhoods"],["neighbous","neighbours"],["neighbout","neighbour"],["neighbouthood","neighbourhood"],["neighbouthoods","neighbourhoods"],["neighbouts","neighbours"],["neighbr","neighbor"],["neighbrs","neighbors"],["neighbur","neighbor"],["neighburhood","neighborhood"],["neighburhoods","neighborhoods"],["neighburing","neighboring"],["neighburs","neighbors"],["neigher","neither"],["neighobr","neighbor"],["neighobrhood","neighborhood"],["neighobrhoods","neighborhoods"],["neighobring","neighboring"],["neighobrs","neighbors"],["neighor","neighbor"],["neighorhood","neighborhood"],["neighorhoods","neighborhoods"],["neighoring","neighboring"],["neighors","neighbors"],["neighour","neighbour"],["neighourhood","neighbourhood"],["neighourhoods","neighbourhoods"],["neighouring","neighbouring"],["neighours","neighbours"],["neighror","neighbour"],["neighrorhood","neighbourhood"],["neighrorhoods","neighbourhoods"],["neighroring","neighbouring"],["neighrors","neighbours"],["neighrour","neighbour"],["neighrourhood","neighbourhood"],["neighrourhoods","neighbourhoods"],["neighrouring","neighbouring"],["neighrours","neighbours"],["neight","neither"],["neightbor","neighbor"],["neightborhood","neighborhood"],["neightborhoods","neighborhoods"],["neightboring","neighboring"],["neightbors","neighbors"],["neightbour","neighbour"],["neightbourhood","neighbourhood"],["neightbourhoods","neighbourhoods"],["neightbouring","neighbouring"],["neightbours","neighbours"],["neighter","neither"],["neightobr","neighbor"],["neightobrhood","neighborhood"],["neightobrhoods","neighborhoods"],["neightobring","neighboring"],["neightobrs","neighbors"],["neiter","neither"],["nelink","netlink"],["nenviroment","environment"],["neolitic","neolithic"],["nerver","never"],["nescesaries","necessaries"],["nescesarily","necessarily"],["nescesarrily","necessarily"],["nescesarry","necessary"],["nescessarily","necessarily"],["nescessary","necessary"],["nesesarily","necessarily"],["nessary","necessary"],["nessasarily","necessarily"],["nessasary","necessary"],["nessecarilt","necessarily"],["nessecarily","necessarily"],["nessecarry","necessary"],["nessecary","necessary"],["nesseccarily","necessarily"],["nesseccary","necessary"],["nessesarily","necessarily"],["nessesary","necessary"],["nessessarily","necessarily"],["nessessary","necessary"],["nestin","nesting"],["nestwork","network"],["netacpe","netscape"],["netcape","netscape"],["nethods","methods"],["netiher","neither"],["netowrk","network"],["netowrks","networks"],["netscpe","netscape"],["netwplit","netsplit"],["netwrok","network"],["netwroked","networked"],["netwroks","networks"],["netwrork","network"],["neumeric","numeric"],["nevelope","envelope"],["nevelopes","envelopes"],["nevere","never"],["neveretheless","nevertheless"],["nevers","never"],["neverthless","nevertheless"],["newine","newline"],["newines","newlines"],["newletters","newsletters"],["nework","network"],["neworks","networks"],["newslines","newlines"],["newthon","newton"],["newtork","network"],["Newyorker","New Yorker"],["niear","near"],["niearest","nearest"],["niether","neither"],["nighbor","neighbor"],["nighborhood","neighborhood"],["nighboring","neighboring"],["nighlties","nightlies"],["nighlty","nightly"],["nightfa;;","nightfall"],["nightime","nighttime"],["nimutes","minutes"],["nineth","ninth"],["ninima","minima"],["ninimal","minimal"],["ninimum","minimum"],["ninjs","ninja"],["ninteenth","nineteenth"],["nither","neither"],["nknown","unknown"],["nkow","know"],["nkwo","know"],["nmae","name"],["nned","need"],["nneeded","needed"],["nnumber","number"],["no-overide","no-override"],["nodels","models"],["nodess","nodes"],["nodulated","modulated"],["nofified","notified"],["nofity","notify"],["nohypen","nohyphen"],["nomber","number"],["nombered","numbered"],["nombering","numbering"],["nombers","numbers"],["nomimal","nominal"],["non-alphanumunder","non-alphanumeric"],["non-asii","non-ascii"],["non-assiged","non-assigned"],["non-bloking","non-blocking"],["non-compleeted","non-completed"],["non-complient","non-compliant"],["non-corelated","non-correlated"],["non-existant","non-existent"],["non-exluded","non-excluded"],["non-indentended","non-indented"],["non-inmediate","non-immediate"],["non-inreractive","non-interactive"],["non-instnat","non-instant"],["non-meausure","non-measure"],["non-negatiotiable","non-negotiable"],["non-negatiotiated","non-negotiated"],["non-negativ","non-negative"],["non-negoable","non-negotiable"],["non-negoated","non-negotiated"],["non-negoatiable","non-negotiable"],["non-negoatiated","non-negotiated"],["non-negociable","non-negotiable"],["non-negociated","non-negotiated"],["non-negogtiable","non-negotiable"],["non-negogtiated","non-negotiated"],["non-negoitable","non-negotiable"],["non-negoitated","non-negotiated"],["non-negoptionsotiable","non-negotiable"],["non-negoptionsotiated","non-negotiated"],["non-negosiable","non-negotiable"],["non-negosiated","non-negotiated"],["non-negotable","non-negotiable"],["non-negotaiable","non-negotiable"],["non-negotaiated","non-negotiated"],["non-negotaible","non-negotiable"],["non-negotaited","non-negotiated"],["non-negotated","non-negotiated"],["non-negotatiable","non-negotiable"],["non-negotatiated","non-negotiated"],["non-negotatible","non-negotiable"],["non-negotatied","non-negotiated"],["non-negothiable","non-negotiable"],["non-negothiated","non-negotiated"],["non-negotible","non-negotiable"],["non-negoticable","non-negotiable"],["non-negoticated","non-negotiated"],["non-negotioable","non-negotiable"],["non-negotioated","non-negotiated"],["non-negotioble","non-negotiable"],["non-negotionable","non-negotiable"],["non-negotionated","non-negotiated"],["non-negotiotable","non-negotiable"],["non-negotiotated","non-negotiated"],["non-negotiote","non-negotiated"],["non-negotitable","non-negotiable"],["non-negotitaed","non-negotiated"],["non-negotitated","non-negotiated"],["non-negotited","non-negotiated"],["non-negoziable","non-negotiable"],["non-negoziated","non-negotiated"],["non-priviliged","non-privileged"],["non-referenced-counted","non-reference-counted"],["non-replacable","non-replaceable"],["non-replacalbe","non-replaceable"],["non-reproducable","non-reproducible"],["non-seperable","non-separable"],["non-trasparent","non-transparent"],["non-useful","useless"],["non-usefull","useless"],["non-virutal","non-virtual"],["nonbloking","non-blocking"],["noncombatents","noncombatants"],["noncontigous","non-contiguous"],["nonesense","nonsense"],["nonesensical","nonsensical"],["nonexistance","nonexistence"],["nonexistant","nonexistent"],["nonnegarive","nonnegative"],["nonneighboring","non-neighboring"],["nonsence","nonsense"],["nonsens","nonsense"],["nonseperable","non-separable"],["nonte","note"],["nontheless","nonetheless"],["noo","no"],["noone","no one"],["noralize","normalize"],["noralized","normalized"],["noramal","normal"],["noramalise","normalise"],["noramalised","normalised"],["noramalises","normalises"],["noramalising","normalising"],["noramalize","normalize"],["noramalized","normalized"],["noramalizes","normalizes"],["noramalizing","normalizing"],["noramals","normals"],["noraml","normal"],["norhern","northern"],["norifications","notifications"],["normailzation","normalization"],["normaized","normalized"],["normale","normal"],["normales","normals"],["normaly","normally"],["normalyl","normally"],["normalyly","normally"],["normalysed","normalised"],["normalyy","normally"],["normalyzation","normalization"],["normalyze","normalize"],["normalyzed","normalized"],["normlly","normally"],["normnal","normal"],["normol","normal"],["normolise","normalise"],["normolize","normalize"],["northen","northern"],["northereastern","northeastern"],["nortmally","normally"],["notabley","notably"],["notaion","notation"],["notaly","notably"],["notasion","notation"],["notatin","notation"],["noteable","notable"],["noteably","notably"],["noteboook","notebook"],["noteboooks","notebooks"],["noteriety","notoriety"],["notfication","notification"],["notfications","notifications"],["notfy","notify"],["noth","north"],["nothern","northern"],["nothign","nothing"],["nothigng","nothing"],["nothihg","nothing"],["nothin","nothing"],["nothind","nothing"],["nothink","nothing"],["noticable","noticeable"],["noticably","noticeably"],["notication","notification"],["notications","notifications"],["noticeing","noticing"],["noticiable","noticeable"],["noticible","noticeable"],["notifaction","notification"],["notifactions","notifications"],["notifcation","notification"],["notifcations","notifications"],["notifed","notified"],["notifer","notifier"],["notifes","notifies"],["notifiation","notification"],["notificaction","notification"],["notificaiton","notification"],["notificaitons","notifications"],["notificaton","notification"],["notificatons","notifications"],["notificiation","notification"],["notificiations","notifications"],["notifiy","notify"],["notifiying","notifying"],["notifycation","notification"],["notity","notify"],["notmalize","normalize"],["notmalized","normalized"],["notmutch","notmuch"],["notning","nothing"],["nott","not"],["nottaion","notation"],["nottaions","notations"],["notwhithstanding","notwithstanding"],["noveau","nouveau"],["novemeber","November"],["Novemer","November"],["Novermber","November"],["nowadys","nowadays"],["nowdays","nowadays"],["nowe","now"],["ntification","notification"],["nuber","number"],["nubering","numbering"],["nubmer","number"],["nubmers","numbers"],["nucular","nuclear"],["nuculear","nuclear"],["nuisanse","nuisance"],["nuissance","nuisance"],["nulk","null"],["Nullabour","Nullarbor"],["nulll","null"],["numbber","number"],["numbbered","numbered"],["numbbering","numbering"],["numbbers","numbers"],["numberal","numeral"],["numberals","numerals"],["numberic","numeric"],["numberous","numerous"],["numberr","number"],["numberred","numbered"],["numberring","numbering"],["numberrs","numbers"],["numberss","numbers"],["numbert","number"],["numbet","number"],["numbets","numbers"],["numbres","numbers"],["numearate","numerate"],["numearation","numeration"],["numeber","number"],["numebering","numbering"],["numebers","numbers"],["numebr","number"],["numebrs","numbers"],["numer","number"],["numeraotr","numerator"],["numerbering","numbering"],["numercial","numerical"],["numercially","numerically"],["numering","numbering"],["numers","numbers"],["nummber","number"],["nummbers","numbers"],["nummeric","numeric"],["numnber","number"],["numnbered","numbered"],["numnbering","numbering"],["numnbers","numbers"],["numner","number"],["numners","numbers"],["numver","number"],["numvers","numbers"],["nunber","number"],["nunbers","numbers"],["Nuremburg","Nuremberg"],["nusance","nuisance"],["nutritent","nutrient"],["nutritents","nutrients"],["nuturing","nurturing"],["nwe","new"],["nwo","now"],["o'caml","OCaml"],["oaram","param"],["obay","obey"],["obect","object"],["obediance","obedience"],["obediant","obedient"],["obejct","object"],["obejcted","objected"],["obejction","objection"],["obejctions","objections"],["obejctive","objective"],["obejctively","objectively"],["obejctives","objectives"],["obejcts","objects"],["obeject","object"],["obejection","objection"],["obejects","objects"],["oberflow","overflow"],["oberflowed","overflowed"],["oberflowing","overflowing"],["oberflows","overflows"],["oberv","observe"],["obervant","observant"],["obervation","observation"],["obervations","observations"],["oberve","observe"],["oberved","observed"],["oberver","observer"],["obervers","observers"],["oberves","observes"],["oberving","observing"],["obervs","observes"],["obeservation","observation"],["obeservations","observations"],["obeserve","observe"],["obeserved","observed"],["obeserver","observer"],["obeservers","observers"],["obeserves","observes"],["obeserving","observing"],["obession","obsession"],["obessions","obsessions"],["obgect","object"],["obgects","objects"],["obhect","object"],["obhectification","objectification"],["obhectifies","objectifies"],["obhectify","objectify"],["obhectifying","objectifying"],["obhecting","objecting"],["obhection","objection"],["obhects","objects"],["obious","obvious"],["obiously","obviously"],["obivous","obvious"],["obivously","obviously"],["objec","object"],["objecs","objects"],["objectss","objects"],["objejct","object"],["objekt","object"],["objet","object"],["objetc","object"],["objetcs","objects"],["objets","objects"],["objtain","obtain"],["objtained","obtained"],["objtains","obtains"],["objump","objdump"],["oblitque","oblique"],["obnject","object"],["obscur","obscure"],["obselete","obsolete"],["obseravtion","observation"],["obseravtions","observations"],["observ","observe"],["observered","observed"],["obsevrer","observer"],["obsevrers","observers"],["obsolate","obsolete"],["obsolesence","obsolescence"],["obsolite","obsolete"],["obsolited","obsoleted"],["obsolte","obsolete"],["obsolted","obsoleted"],["obssessed","obsessed"],["obstacal","obstacle"],["obstancles","obstacles"],["obstruced","obstructed"],["obsure","obscure"],["obtaiend","obtained"],["obtaiens","obtains"],["obtainig","obtaining"],["obtaion","obtain"],["obtaioned","obtained"],["obtaions","obtains"],["obtrain","obtain"],["obtrained","obtained"],["obtrains","obtains"],["obusing","abusing"],["obvioulsy","obviously"],["obvisious","obvious"],["obvisous","obvious"],["obvisously","obviously"],["obyect","object"],["obyekt","object"],["ocasion","occasion"],["ocasional","occasional"],["ocasionally","occasionally"],["ocasionaly","occasionally"],["ocasioned","occasioned"],["ocasions","occasions"],["ocassion","occasion"],["ocassional","occasional"],["ocassionally","occasionally"],["ocassionaly","occasionally"],["ocassioned","occasioned"],["ocassions","occasions"],["occaisionally","occasionally"],["occaison","occasion"],["occasinal","occasional"],["occasinally","occasionally"],["occasioanlly","occasionally"],["occasionaly","occasionally"],["occassion","occasion"],["occassional","occasional"],["occassionally","occasionally"],["occassionaly","occasionally"],["occassioned","occasioned"],["occassions","occasions"],["occational","occasional"],["occationally","occasionally"],["occcur","occur"],["occcured","occurred"],["occcurs","occurs"],["occour","occur"],["occoured","occurred"],["occouring","occurring"],["occourring","occurring"],["occours","occurs"],["occrrance","occurrence"],["occrrances","occurrences"],["occrred","occurred"],["occrring","occurring"],["occsionally","occasionally"],["occucence","occurrence"],["occucences","occurrences"],["occulusion","occlusion"],["occuped","occupied"],["occupided","occupied"],["occuracy","accuracy"],["occurance","occurrence"],["occurances","occurrences"],["occurately","accurately"],["occurded","occurred"],["occured","occurred"],["occurence","occurrence"],["occurences","occurrences"],["occures","occurs"],["occuring","occurring"],["occurr","occur"],["occurrance","occurrence"],["occurrances","occurrences"],["occurrencs","occurrences"],["occurrs","occurs"],["oclock","o'clock"],["ocntext","context"],["ocorrence","occurrence"],["ocorrences","occurrences"],["octect","octet"],["octects","octets"],["octohedra","octahedra"],["octohedral","octahedral"],["octohedron","octahedron"],["ocuntries","countries"],["ocuntry","country"],["ocupied","occupied"],["ocupies","occupies"],["ocupy","occupy"],["ocupying","occupying"],["ocur","occur"],["ocurr","occur"],["ocurrance","occurrence"],["ocurred","occurred"],["ocurrence","occurrence"],["ocurrences","occurrences"],["ocurring","occurring"],["ocurrred","occurred"],["ocurrs","occurs"],["odly","oddly"],["ody","body"],["oen","one"],["ofcource","of course"],["offcers","officers"],["offcial","official"],["offcially","officially"],["offcials","officials"],["offerd","offered"],["offereings","offerings"],["offest","offset"],["offests","offsets"],["offfence","offence"],["offfences","offences"],["offfense","offense"],["offfenses","offenses"],["offfset","offset"],["offfsets","offsets"],["offic","office"],["offical","official"],["offically","officially"],["officals","officials"],["officaly","officially"],["officeal","official"],["officeally","officially"],["officeals","officials"],["officealy","officially"],["officialy","officially"],["offloded","offloaded"],["offred","offered"],["offsence","offence"],["offsense","offense"],["offsenses","offenses"],["offser","offset"],["offseted","offsetted"],["offseting","offsetting"],["offsetp","offset"],["offsett","offset"],["offstets","offsets"],["offten","often"],["oficial","official"],["oficially","officially"],["ofmodule","of module"],["ofo","of"],["ofrom","from"],["ofsetted","offsetted"],["ofsset","offset"],["oftenly","often"],["ofthe","of the"],["oherwise","otherwise"],["ohter","other"],["ohters","others"],["ohterwise","otherwise"],["oigin","origin"],["oiginal","original"],["oiginally","originally"],["oiginals","originals"],["oiginating","originating"],["oigins","origins"],["ois","is"],["ojbect","object"],["oje","one"],["oject","object"],["ojection","objection"],["ojective","objective"],["ojects","objects"],["ojekts","objects"],["okat","okay"],["oldes","oldest"],["olny","only"],["olt","old"],["olther","other"],["oly","only"],["omision","omission"],["omited","omitted"],["omiting","omitting"],["omitt","omit"],["omlette","omelette"],["ommision","omission"],["ommission","omission"],["ommit","omit"],["ommited","omitted"],["ommiting","omitting"],["ommits","omits"],["ommitted","omitted"],["ommitting","omitting"],["omniverous","omnivorous"],["omniverously","omnivorously"],["omplementaion","implementation"],["omplementation","implementation"],["omre","more"],["onchage","onchange"],["ond","one"],["one-dimenional","one-dimensional"],["one-dimenionsal","one-dimensional"],["onece","once"],["onedimenional","one-dimensional"],["onedimenionsal","one-dimensional"],["oneliners","one-liners"],["oneyway","oneway"],["ongly","only"],["onl","only"],["onliene","online"],["onlly","only"],["onlye","only"],["onlyonce","only once"],["onoly","only"],["onother","another"],["ons","owns"],["onself","oneself"],["ontain","contain"],["ontained","contained"],["ontainer","container"],["ontainers","containers"],["ontainging","containing"],["ontaining","containing"],["ontainor","container"],["ontainors","containers"],["ontains","contains"],["ontext","context"],["onthe","on the"],["ontop","on top"],["ontrolled","controlled"],["onw","own"],["onwed","owned"],["onwer","owner"],["onwership","ownership"],["onwing","owning"],["onws","owns"],["onyl","only"],["oommits","commits"],["ooutput","output"],["ooutputs","outputs"],["opactity","opacity"],["opactiy","opacity"],["opacy","opacity"],["opague","opaque"],["opatque","opaque"],["opbject","object"],["opbjective","objective"],["opbjects","objects"],["opeaaration","operation"],["opeaarations","operations"],["opeabcration","operation"],["opeabcrations","operations"],["opearand","operand"],["opearands","operands"],["opearate","operate"],["opearates","operates"],["opearating","operating"],["opearation","operation"],["opearations","operations"],["opearatios","operations"],["opearator","operator"],["opearators","operators"],["opearion","operation"],["opearions","operations"],["opearios","operations"],["opeariton","operation"],["opearitons","operations"],["opearitos","operations"],["opearnd","operand"],["opearnds","operands"],["opearor","operator"],["opearors","operators"],["opearte","operate"],["opearted","operated"],["opeartes","operates"],["opearting","operating"],["opeartion","operation"],["opeartions","operations"],["opeartios","operations"],["opeartor","operator"],["opeartors","operators"],["opeate","operate"],["opeates","operates"],["opeation","operation"],["opeational","operational"],["opeations","operations"],["opeatios","operations"],["opeator","operator"],["opeators","operators"],["opeatror","operator"],["opeatrors","operators"],["opeg","open"],["opeging","opening"],["opeing","opening"],["opeinging","opening"],["opeings","openings"],["opem","open"],["opemed","opened"],["opemess","openness"],["opeming","opening"],["opems","opens"],["openbrower","openbrowser"],["opended","opened"],["openeing","opening"],["openend","opened"],["openened","opened"],["openening","opening"],["openess","openness"],["openin","opening"],["openned","opened"],["openning","opening"],["operaand","operand"],["operaands","operands"],["operaion","operation"],["operaions","operations"],["operaiton","operation"],["operandes","operands"],["operaror","operator"],["operatation","operation"],["operatations","operations"],["operater","operator"],["operatings","operating"],["operatio","operation"],["operatione","operation"],["operatior","operator"],["operatng","operating"],["operato","operator"],["operaton","operation"],["operatons","operations"],["operattion","operation"],["operattions","operations"],["opereation","operation"],["opertaion","operation"],["opertaions","operations"],["opertion","operation"],["opertional","operational"],["opertions","operations"],["opertor","operator"],["opertors","operators"],["opetional","optional"],["ophan","orphan"],["ophtalmology","ophthalmology"],["opion","option"],["opionally","optionally"],["opions","options"],["opitionally","optionally"],["opiton","option"],["opitons","options"],["opject","object"],["opjected","objected"],["opjecteing","objecting"],["opjectification","objectification"],["opjectifications","objectifications"],["opjectified","objectified"],["opjecting","objecting"],["opjection","objection"],["opjections","objections"],["opjective","objective"],["opjectively","objectively"],["opjects","objects"],["opne","open"],["opned","opened"],["opnegroup","opengroup"],["opnssl","openssl"],["oponent","opponent"],["oportunity","opportunity"],["opose","oppose"],["oposed","opposed"],["oposite","opposite"],["oposition","opposition"],["oppenly","openly"],["opperate","operate"],["opperated","operated"],["opperates","operates"],["opperation","operation"],["opperational","operational"],["opperations","operations"],["oppertunist","opportunist"],["oppertunities","opportunities"],["oppertunity","opportunity"],["oppinion","opinion"],["oppinions","opinions"],["opponant","opponent"],["oppononent","opponent"],["opportunisticly","opportunistically"],["opportunistly","opportunistically"],["opportunties","opportunities"],["oppositition","opposition"],["oppossed","opposed"],["opprotunity","opportunity"],["opproximate","approximate"],["opps","oops"],["oppsofite","opposite"],["oppurtunity","opportunity"],["opration","operation"],["oprations","operations"],["opreating","operating"],["opreation","operation"],["opreations","operations"],["opression","oppression"],["opressive","oppressive"],["oprimization","optimization"],["oprimizations","optimizations"],["oprimize","optimize"],["oprimized","optimized"],["oprimizes","optimizes"],["optain","obtain"],["optained","obtained"],["optains","obtains"],["optaionl","optional"],["optening","opening"],["optet","opted"],["opthalmic","ophthalmic"],["opthalmologist","ophthalmologist"],["opthalmology","ophthalmology"],["opthamologist","ophthalmologist"],["optiional","optional"],["optimasation","optimization"],["optimazation","optimization"],["optimial","optimal"],["optimiality","optimality"],["optimisim","optimism"],["optimisitc","optimistic"],["optimisitic","optimistic"],["optimissm","optimism"],["optimitation","optimization"],["optimizaing","optimizing"],["optimizaton","optimization"],["optimizier","optimizer"],["optimiztion","optimization"],["optimiztions","optimizations"],["optimsitic","optimistic"],["optimyze","optimize"],["optimze","optimize"],["optimzie","optimize"],["optin","option"],["optinal","optional"],["optinally","optionally"],["optins","options"],["optio","option"],["optioanl","optional"],["optioin","option"],["optioinal","optional"],["optioins","options"],["optionalliy","optionally"],["optionallly","optionally"],["optionaly","optionally"],["optionel","optional"],["optiones","options"],["optionial","optional"],["optionn","option"],["optionnal","optional"],["optionnally","optionally"],["optionnaly","optionally"],["optionss","options"],["optios","options"],["optismied","optimised"],["optizmied","optimized"],["optmisation","optimisation"],["optmisations","optimisations"],["optmization","optimization"],["optmizations","optimizations"],["optmize","optimize"],["optmized","optimized"],["optoin","option"],["optoins","options"],["optomism","optimism"],["opton","option"],["optonal","optional"],["optonally","optionally"],["optons","options"],["opyion","option"],["opyions","options"],["orcale","oracle"],["orded","ordered"],["orderd","ordered"],["ordert","ordered"],["ording","ordering"],["ordner","order"],["orede","order"],["oredes","orders"],["oreding","ordering"],["oredred","ordered"],["orgamise","organise"],["organim","organism"],["organisaion","organisation"],["organisaions","organisations"],["organistion","organisation"],["organistions","organisations"],["organizaion","organization"],["organizaions","organizations"],["organiztion","organization"],["organiztions","organizations"],["organsiation","organisation"],["organsiations","organisations"],["organsied","organised"],["organsier","organiser"],["organsiers","organisers"],["organsies","organises"],["organsiing","organising"],["organziation","organization"],["organziations","organizations"],["organzied","organized"],["organzier","organizer"],["organziers","organizers"],["organzies","organizes"],["organziing","organizing"],["orgiginal","original"],["orgiginally","originally"],["orgiginals","originals"],["orginal","original"],["orginally","originally"],["orginals","originals"],["orginate","originate"],["orginated","originated"],["orginates","originates"],["orginating","originating"],["orginial","original"],["orginially","originally"],["orginials","originals"],["orginiate","originate"],["orginiated","originated"],["orginiates","originates"],["orgininal","original"],["orgininals","originals"],["orginisation","organisation"],["orginisations","organisations"],["orginised","organised"],["orginization","organization"],["orginizations","organizations"],["orginized","organized"],["orginx","originx"],["orginy","originy"],["orhpan","orphan"],["oriant","orient"],["oriantate","orientate"],["oriantated","orientated"],["oriantation","orientation"],["oridinarily","ordinarily"],["orieation","orientation"],["orieations","orientations"],["orienatate","orientate"],["orienatated","orientated"],["orienatation","orientation"],["orienation","orientation"],["orientaion","orientation"],["orientatied","orientated"],["oriente","oriented"],["orientiation","orientation"],["orientied","oriented"],["orientned","oriented"],["orietation","orientation"],["orietations","orientations"],["origanaly","originally"],["origial","original"],["origially","originally"],["origianal","original"],["origianally","originally"],["origianaly","originally"],["origianl","original"],["origianls","originals"],["origigin","origin"],["origiginal","original"],["origiginally","originally"],["origiginals","originals"],["originaly","originally"],["originial","original"],["originially","originally"],["originiated","originated"],["originiating","originating"],["origininal","original"],["origininate","originate"],["origininated","originated"],["origininates","originates"],["origininating","originating"],["origining","originating"],["originnally","originally"],["origion","origin"],["origional","original"],["origionally","originally"],["orign","origin"],["orignal","original"],["orignally","originally"],["orignate","originate"],["orignated","originated"],["orignates","originates"],["orignial","original"],["orignially","originally"],["origninal","original"],["oringal","original"],["oringally","originally"],["orpan","orphan"],["orpanage","orphanage"],["orpaned","orphaned"],["orpans","orphans"],["orriginal","original"],["orthagnal","orthogonal"],["orthagonal","orthogonal"],["orthagonalize","orthogonalize"],["orthoganal","orthogonal"],["orthoganalize","orthogonalize"],["orthognal","orthogonal"],["orthonormalizatin","orthonormalization"],["ortogonal","orthogonal"],["ortogonality","orthogonality"],["osbscure","obscure"],["osciallator","oscillator"],["oscilate","oscillate"],["oscilated","oscillated"],["oscilating","oscillating"],["oscilator","oscillator"],["oscilliscope","oscilloscope"],["oscilliscopes","oscilloscopes"],["osffset","offset"],["osffsets","offsets"],["osffsetting","offsetting"],["osicllations","oscillations"],["otain","obtain"],["otained","obtained"],["otains","obtains"],["otehr","other"],["otehrwice","otherwise"],["otehrwise","otherwise"],["otehrwize","otherwise"],["oterwice","otherwise"],["oterwise","otherwise"],["oterwize","otherwise"],["othe","other"],["othere","other"],["otherewise","otherwise"],["otherise","otherwise"],["otheriwse","otherwise"],["otherwaise","otherwise"],["otherways","otherwise"],["otherweis","otherwise"],["otherweise","otherwise"],["otherwhere","elsewhere"],["otherwhile","otherwise"],["otherwhise","otherwise"],["otherwice","otherwise"],["otherwide","otherwise"],["otherwis","otherwise"],["otherwize","otherwise"],["otherwordly","otherworldly"],["otherwose","otherwise"],["otherwrite","overwrite"],["otherws","otherwise"],["otherwse","otherwise"],["otherwsie","otherwise"],["otherwsise","otherwise"],["otherwuise","otherwise"],["otherwwise","otherwise"],["otherwyse","otherwise"],["othewice","otherwise"],["othewise","otherwise"],["othewize","otherwise"],["otho","otoh"],["othographic","orthographic"],["othwerise","otherwise"],["othwerwise","otherwise"],["othwhise","otherwise"],["otification","notification"],["otiginal","original"],["otion","option"],["otionally","optionally"],["otions","options"],["otpion","option"],["otpions","options"],["otput","output"],["otu","out"],["oublisher","publisher"],["ouer","outer"],["ouevre","oeuvre"],["oultinenodes","outlinenodes"],["oultiner","outliner"],["oultline","outline"],["oultlines","outlines"],["ountline","outline"],["ouptut","output"],["ouptuted","outputted"],["ouptuting","outputting"],["ouptuts","outputs"],["ouput","output"],["ouputarea","outputarea"],["ouputs","outputs"],["ouputted","outputted"],["ouputting","outputting"],["ourselfes","ourselves"],["ourselfs","ourselves"],["ourselvs","ourselves"],["ouside","outside"],["oustanding","outstanding"],["oustide","outside"],["outbut","output"],["outbuts","outputs"],["outgoign","outgoing"],["outisde","outside"],["outllook","outlook"],["outoign","outgoing"],["outout","output"],["outperfoem","outperform"],["outperfoeming","outperforming"],["outperfom","outperform"],["outperfome","outperform"],["outperfomeing","outperforming"],["outperfoming","outperforming"],["outperfomr","outperform"],["outperfomring","outperforming"],["outpout","output"],["outpouts","outputs"],["outpupt","output"],["outpusts","outputs"],["outputed","outputted"],["outputing","outputting"],["outselves","ourselves"],["outsid","outside"],["outter","outer"],["outtermost","outermost"],["outupt","output"],["outupts","outputs"],["outuput","output"],["outut","output"],["oututs","outputs"],["outweight","outweigh"],["outweights","outweighs"],["ouur","our"],["ouurs","ours"],["oveerun","overrun"],["oveflow","overflow"],["oveflowed","overflowed"],["oveflowing","overflowing"],["oveflows","overflows"],["ovelap","overlap"],["ovelapping","overlapping"],["over-engeneer","over-engineer"],["over-engeneering","over-engineering"],["overaall","overall"],["overal","overall"],["overcompansate","overcompensate"],["overcompansated","overcompensated"],["overcompansates","overcompensates"],["overcompansating","overcompensating"],["overcompansation","overcompensation"],["overcompansations","overcompensations"],["overengeneer","overengineer"],["overengeneering","overengineering"],["overfl","overflow"],["overfow","overflow"],["overfowed","overflowed"],["overfowing","overflowing"],["overfows","overflows"],["overhread","overhead"],["overiddden","overridden"],["overidden","overridden"],["overide","override"],["overiden","overridden"],["overides","overrides"],["overiding","overriding"],["overlaped","overlapped"],["overlaping","overlapping"],["overlapp","overlap"],["overlayed","overlaid"],["overlflow","overflow"],["overlflowed","overflowed"],["overlflowing","overflowing"],["overlflows","overflows"],["overlfow","overflow"],["overlfowed","overflowed"],["overlfowing","overflowing"],["overlfows","overflows"],["overlodaded","overloaded"],["overloded","overloaded"],["overlodes","overloads"],["overlow","overflow"],["overlowing","overflowing"],["overlows","overflows"],["overreidden","overridden"],["overreide","override"],["overreides","overrides"],["overriabled","overridable"],["overriddable","overridable"],["overriddden","overridden"],["overriddes","overrides"],["overridding","overriding"],["overrideable","overridable"],["overriden","overridden"],["overrident","overridden"],["overridiing","overriding"],["overrids","overrides"],["overrriddden","overridden"],["overrridden","overridden"],["overrride","override"],["overrriden","overridden"],["overrrides","overrides"],["overrriding","overriding"],["overrrun","overrun"],["overshaddowed","overshadowed"],["oversubcribe","oversubscribe"],["oversubcribed","oversubscribed"],["oversubcribes","oversubscribes"],["oversubcribing","oversubscribing"],["oversubscibe","oversubscribe"],["oversubscibed","oversubscribed"],["oversubscirbe","oversubscribe"],["oversubscirbed","oversubscribed"],["overthere","over there"],["overun","overrun"],["overvise","otherwise"],["overvize","otherwise"],["overvride","override"],["overvrides","overrides"],["overvrite","overwrite"],["overvrites","overwrites"],["overwelm","overwhelm"],["overwelming","overwhelming"],["overwheliming","overwhelming"],["overwiew","overview"],["overwirte","overwrite"],["overwirting","overwriting"],["overwirtten","overwritten"],["overwise","otherwise"],["overwite","overwrite"],["overwites","overwrites"],["overwitten","overwritten"],["overwize","otherwise"],["overwride","overwrite"],["overwriteable","overwritable"],["overwriten","overwritten"],["overwritren","overwritten"],["overwrittes","overwrites"],["overwrittin","overwriting"],["overwritting","overwriting"],["ovewrite","overwrite"],["ovewrites","overwrites"],["ovewriting","overwriting"],["ovewritten","overwritten"],["ovewrote","overwrote"],["ovride","override"],["ovrides","overrides"],["ovrlapped","overlapped"],["ovrridable","overridable"],["ovrridables","overridables"],["ovrwrt","overwrite"],["ovservable","observable"],["ovservation","observation"],["ovserve","observe"],["ovveride","override"],["ovverridden","overridden"],["ovverride","override"],["ovverrides","overrides"],["ovverriding","overriding"],["owener","owner"],["owerflow","overflow"],["owerflowed","overflowed"],["owerflowing","overflowing"],["owerflows","overflows"],["owership","ownership"],["owervrite","overwrite"],["owervrites","overwrites"],["owerwrite","overwrite"],["owerwrites","overwrites"],["owful","awful"],["ownder","owner"],["ownerhsip","ownership"],["ownner","owner"],["ownward","onward"],["ownwer","owner"],["ownwership","ownership"],["owrk","work"],["owudl","would"],["oxigen","oxygen"],["oximoron","oxymoron"],["oxzillary","auxiliary"],["oyu","you"],["p0enis","penis"],["paackage","package"],["pacakge","package"],["pacakges","packages"],["pacakging","packaging"],["paceholder","placeholder"],["pachage","package"],["paches","patches"],["pacht","patch"],["pachtches","patches"],["pachtes","patches"],["pacjage","package"],["pacjages","packages"],["packacge","package"],["packaeg","package"],["packaege","package"],["packaeges","packages"],["packaegs","packages"],["packag","package"],["packags","packages"],["packaing","packaging"],["packats","packets"],["packege","package"],["packge","package"],["packged","packaged"],["packgement","packaging"],["packges'","packages'"],["packges","packages"],["packgs","packages"],["packhage","package"],["packhages","packages"],["packtes","packets"],["pactch","patch"],["pactched","patched"],["pactches","patches"],["padam","param"],["padds","pads"],["pading","padding"],["paermission","permission"],["paermissions","permissions"],["paeth","path"],["pagagraph","paragraph"],["pahses","phases"],["paide","paid"],["painiting","painting"],["paintile","painttile"],["paintin","painting"],["paitience","patience"],["paiting","painting"],["pakage","package"],["pakageimpl","packageimpl"],["pakages","packages"],["pakcage","package"],["paket","packet"],["pakge","package"],["pakvage","package"],["palatte","palette"],["paleolitic","paleolithic"],["palete","palette"],["paliamentarian","parliamentarian"],["Palistian","Palestinian"],["Palistinian","Palestinian"],["Palistinians","Palestinians"],["pallete","palette"],["pallette","palette"],["palletted","paletted"],["paltette","palette"],["paltform","platform"],["pamflet","pamphlet"],["pamplet","pamphlet"],["paniced","panicked"],["panicing","panicking"],["pannel","panel"],["pannels","panels"],["pantomine","pantomime"],["paoition","position"],["paor","pair"],["Papanicalou","Papanicolaou"],["paradime","paradigm"],["paradym","paradigm"],["paraemeter","parameter"],["paraemeters","parameters"],["paraeters","parameters"],["parafanalia","paraphernalia"],["paragaph","paragraph"],["paragaraph","paragraph"],["paragarapha","paragraph"],["paragarph","paragraph"],["paragarphs","paragraphs"],["paragph","paragraph"],["paragpraph","paragraph"],["paragraphy","paragraph"],["paragrphs","paragraphs"],["parahaps","perhaps"],["paralel","parallel"],["paralelising","parallelising"],["paralelism","parallelism"],["paralelizing","parallelizing"],["paralell","parallel"],["paralelle","parallel"],["paralellism","parallelism"],["paralellization","parallelization"],["paralelly","parallelly"],["paralely","parallelly"],["paralle","parallel"],["parallell","parallel"],["parallely","parallelly"],["paralles","parallels"],["parallization","parallelization"],["parallize","parallelize"],["parallized","parallelized"],["parallizes","parallelizes"],["parallizing","parallelizing"],["paralllel","parallel"],["paralllels","parallels"],["paramameter","parameter"],["paramameters","parameters"],["paramater","parameter"],["paramaters","parameters"],["paramemeter","parameter"],["paramemeters","parameters"],["paramemter","parameter"],["paramemters","parameters"],["paramenet","parameter"],["paramenets","parameters"],["paramenter","parameter"],["paramenters","parameters"],["paramer","parameter"],["paramert","parameter"],["paramerters","parameters"],["paramerts","parameters"],["paramete","parameter"],["parameteras","parameters"],["parameteres","parameters"],["parameterical","parametrical"],["parameterts","parameters"],["parametes","parameters"],["parametised","parametrised"],["parametr","parameter"],["parametre","parameter"],["parametreless","parameterless"],["parametres","parameters"],["parametrs","parameters"],["parametter","parameter"],["parametters","parameters"],["paramss","params"],["paramter","parameter"],["paramterer","parameter"],["paramterers","parameters"],["paramteres","parameters"],["paramterize","parameterize"],["paramterless","parameterless"],["paramters","parameters"],["paramtrical","parametrical"],["parana","piranha"],["paraniac","paranoiac"],["paranoya","paranoia"],["parant","parent"],["parantheses","parentheses"],["paranthesis","parenthesis"],["parants","parents"],["paraphanalia","paraphernalia"],["paraphenalia","paraphernalia"],["pararagraph","paragraph"],["pararaph","paragraph"],["parareter","parameter"],["parargaph","paragraph"],["parargaphs","paragraphs"],["pararmeter","parameter"],["pararmeters","parameters"],["parastic","parasitic"],["parastics","parasitics"],["paratheses","parentheses"],["paratmers","parameters"],["paravirutalisation","paravirtualisation"],["paravirutalise","paravirtualise"],["paravirutalised","paravirtualised"],["paravirutalization","paravirtualization"],["paravirutalize","paravirtualize"],["paravirutalized","paravirtualized"],["parctical","practical"],["parctically","practically"],["pard","part"],["parellelogram","parallelogram"],["parellels","parallels"],["parem","param"],["paremeter","parameter"],["paremeters","parameters"],["paremter","parameter"],["paremters","parameters"],["parenthese","parentheses"],["parenthesed","parenthesized"],["parenthesies","parentheses"],["parenthises","parentheses"],["parenthsis","parenthesis"],["parge","large"],["parial","partial"],["parially","partially"],["paricular","particular"],["paricularly","particularly"],["parisitic","parasitic"],["paritally","partially"],["paritals","partials"],["paritial","partial"],["parition","partition"],["paritioning","partitioning"],["paritions","partitions"],["paritition","partition"],["parititioned","partitioned"],["parititioner","partitioner"],["parititiones","partitions"],["parititioning","partitioning"],["parititions","partitions"],["paritiy","parity"],["parituclar","particular"],["parliment","parliament"],["parmaeter","parameter"],["parmaeters","parameters"],["parmameter","parameter"],["parmameters","parameters"],["parmaters","parameters"],["parmeter","parameter"],["parmeters","parameters"],["parmter","parameter"],["parmters","parameters"],["parnoia","paranoia"],["parnter","partner"],["parntered","partnered"],["parntering","partnering"],["parnters","partners"],["parntership","partnership"],["parnterships","partnerships"],["parrakeets","parakeets"],["parralel","parallel"],["parrallel","parallel"],["parrallell","parallel"],["parrallelly","parallelly"],["parrallely","parallelly"],["parrent","parent"],["parseing","parsing"],["parsering","parsing"],["parsin","parsing"],["parstree","parse tree"],["partaining","pertaining"],["partcular","particular"],["partcularity","particularity"],["partcularly","particularly"],["parth","path"],["partialy","partially"],["particalar","particular"],["particalarly","particularly"],["particale","particle"],["particales","particles"],["partically","partially"],["particals","particles"],["particaluar","particular"],["particaluarly","particularly"],["particalur","particular"],["particalurly","particularly"],["particant","participant"],["particaular","particular"],["particaularly","particularly"],["particaulr","particular"],["particaulrly","particularly"],["particlar","particular"],["particlars","particulars"],["particually","particularly"],["particualr","particular"],["particuar","particular"],["particuarly","particularly"],["particulaly","particularly"],["particularily","particularly"],["particulary","particularly"],["particuliar","particular"],["partifular","particular"],["partiiton","partition"],["partiitoned","partitioned"],["partiitoning","partitioning"],["partiitons","partitions"],["partioned","partitioned"],["partirion","partition"],["partirioned","partitioned"],["partirioning","partitioning"],["partirions","partitions"],["partision","partition"],["partisioned","partitioned"],["partisioning","partitioning"],["partisions","partitions"],["partitial","partial"],["partiticipant","participant"],["partiticipants","participants"],["partiticular","particular"],["partitinioning","partitioning"],["partitioing","partitioning"],["partitiones","partitions"],["partitionned","partitioned"],["partitionning","partitioning"],["partitionns","partitions"],["partitionss","partitions"],["partiton","partition"],["partitoned","partitioned"],["partitoning","partitioning"],["partitons","partitions"],["partiula","particular"],["partiular","particular"],["partiularly","particularly"],["partiulars","particulars"],["pasengers","passengers"],["paser","parser"],["pasesd","passed"],["pash","hash"],["pasitioning","positioning"],["pasive","passive"],["pasre","parse"],["pasred","parsed"],["pasres","parses"],["passerbys","passersby"],["passin","passing"],["passiv","passive"],["passowrd","password"],["passs","pass"],["passsed","passed"],["passsing","passing"],["passthrought","passthrough"],["passthruogh","passthrough"],["passtime","pastime"],["passtrough","passthrough"],["passwird","password"],["passwirds","passwords"],["passwrod","password"],["passwrods","passwords"],["pasteing","pasting"],["pasttime","pastime"],["pastural","pastoral"],["pasword","password"],["paswords","passwords"],["patameter","parameter"],["patameters","parameters"],["patcket","packet"],["patckets","packets"],["patern","pattern"],["paterns","patterns"],["pathalogical","pathological"],["pathame","pathname"],["pathames","pathnames"],["pathane","pathname"],["pathced","patched"],["pathes","paths"],["pathign","pathing"],["pathnme","pathname"],["patholgoical","pathological"],["patial","spatial"],["paticular","particular"],["paticularly","particularly"],["patition","partition"],["pattented","patented"],["pattersn","patterns"],["pavillion","pavilion"],["pavillions","pavilions"],["pa\xEDnt","paint"],["pblisher","publisher"],["pbulisher","publisher"],["peacd","peace"],["peacefuland","peaceful and"],["peacify","pacify"],["peageant","pageant"],["peaple","people"],["peaples","peoples"],["pecentage","percentage"],["pecularities","peculiarities"],["pecularity","peculiarity"],["peculure","peculiar"],["pedestrain","pedestrian"],["peding","pending"],["pedning","pending"],["pefer","prefer"],["peferable","preferable"],["peferably","preferably"],["pefered","preferred"],["peference","preference"],["peferences","preferences"],["peferential","preferential"],["peferentially","preferentially"],["peferred","preferred"],["peferring","preferring"],["pefers","prefers"],["peform","perform"],["peformance","performance"],["peformed","performed"],["peforming","performing"],["pege","page"],["pehaps","perhaps"],["peice","piece"],["peicemeal","piecemeal"],["peices","pieces"],["peirod","period"],["peirodical","periodical"],["peirodicals","periodicals"],["peirods","periods"],["penalities","penalties"],["penality","penalty"],["penatly","penalty"],["pendantic","pedantic"],["pendig","pending"],["pendning","pending"],["penerator","penetrator"],["penisula","peninsula"],["penisular","peninsular"],["pennal","panel"],["pennals","panels"],["penninsula","peninsula"],["penninsular","peninsular"],["pennisula","peninsula"],["Pennyslvania","Pennsylvania"],["pensinula","peninsula"],["pensle","pencil"],["penultimante","penultimate"],["peom","poem"],["peoms","poems"],["peopel","people"],["peopels","peoples"],["peopl","people"],["peotry","poetry"],["pepare","prepare"],["peprocessor","preprocessor"],["per-interpeter","per-interpreter"],["perade","parade"],["peraphs","perhaps"],["percentange","percentage"],["percentanges","percentages"],["percentil","percentile"],["percepted","perceived"],["percetage","percentage"],["percetages","percentages"],["percievable","perceivable"],["percievabley","perceivably"],["percievably","perceivably"],["percieve","perceive"],["percieved","perceived"],["percise","precise"],["percisely","precisely"],["percision","precision"],["perenially","perennially"],["peretrator","perpetrator"],["perfec","perfect"],["perfecct","perfect"],["perfecctly","perfectly"],["perfeclty","perfectly"],["perfecly","perfectly"],["perfectably","perfectly"],["perfer","prefer"],["perferable","preferable"],["perferably","preferably"],["perferance","preference"],["perferances","preferences"],["perferct","perfect"],["perferctly","perfectly"],["perferect","perfect"],["perferectly","perfectly"],["perfered","preferred"],["perference","preference"],["perferences","preferences"],["perferm","perform"],["perfermance","performance"],["perfermances","performances"],["perfermence","performance"],["perfermences","performances"],["perferr","prefer"],["perferrable","preferable"],["perferrably","preferably"],["perferrance","preference"],["perferrances","preferences"],["perferred","preferred"],["perferrence","preference"],["perferrences","preferences"],["perferrm","perform"],["perferrmance","performance"],["perferrmances","performances"],["perferrmence","performance"],["perferrmences","performances"],["perferrs","prefers"],["perfers","prefers"],["perfix","prefix"],["perfmormance","performance"],["perfoem","perform"],["perfoemamce","performance"],["perfoemamces","performances"],["perfoemance","performance"],["perfoemanse","performance"],["perfoemanses","performances"],["perfoemant","performant"],["perfoemative","performative"],["perfoemed","performed"],["perfoemer","performer"],["perfoemers","performers"],["perfoeming","performing"],["perfoemnace","performance"],["perfoemnaces","performances"],["perfoems","performs"],["perfom","perform"],["perfomamce","performance"],["perfomamces","performances"],["perfomance","performance"],["perfomanse","performance"],["perfomanses","performances"],["perfomant","performant"],["perfomative","performative"],["perfome","perform"],["perfomeamce","performance"],["perfomeamces","performances"],["perfomeance","performance"],["perfomeanse","performance"],["perfomeanses","performances"],["perfomeant","performant"],["perfomeative","performative"],["perfomed","performed"],["perfomeed","performed"],["perfomeer","performer"],["perfomeers","performers"],["perfomeing","performing"],["perfomenace","performance"],["perfomenaces","performances"],["perfomer","performer"],["perfomers","performers"],["perfomes","performs"],["perfoming","performing"],["perfomnace","performance"],["perfomnaces","performances"],["perfomr","perform"],["perfomramce","performance"],["perfomramces","performances"],["perfomrance","performance"],["perfomranse","performance"],["perfomranses","performances"],["perfomrant","performant"],["perfomrative","performative"],["perfomred","performed"],["perfomrer","performer"],["perfomrers","performers"],["perfomring","performing"],["perfomrnace","performance"],["perfomrnaces","performances"],["perfomrs","performs"],["perfoms","performs"],["perfor","perform"],["perforam","perform"],["perforamed","performed"],["perforaming","performing"],["perforamnce","performance"],["perforamnces","performances"],["perforams","performs"],["perford","performed"],["perforemd","performed"],["performace","performance"],["performaed","performed"],["performamce","performance"],["performane","performance"],["performence","performance"],["performnace","performance"],["perfors","performs"],["perfro","perform"],["perfrom","perform"],["perfromance","performance"],["perfromed","performed"],["perfroming","performing"],["perfroms","performs"],["perhabs","perhaps"],["perhas","perhaps"],["perhasp","perhaps"],["perheaps","perhaps"],["perhpas","perhaps"],["peridic","periodic"],["perihperal","peripheral"],["perihperals","peripherals"],["perimetre","perimeter"],["perimetres","perimeters"],["periode","period"],["periodicaly","periodically"],["periodioc","periodic"],["peripathetic","peripatetic"],["peripherial","peripheral"],["peripherials","peripherals"],["perisist","persist"],["perisisted","persisted"],["perisistent","persistent"],["peristent","persistent"],["perjery","perjury"],["perjorative","pejorative"],["perlciritc","perlcritic"],["permable","permeable"],["permament","permanent"],["permamently","permanently"],["permanant","permanent"],["permanantly","permanently"],["permanentely","permanently"],["permanenty","permanently"],["permantly","permanently"],["permenant","permanent"],["permenantly","permanently"],["permessioned","permissioned"],["permision","permission"],["permisions","permissions"],["permisison","permission"],["permisisons","permissions"],["permissable","permissible"],["permissiosn","permissions"],["permisson","permission"],["permissons","permissions"],["permisssion","permission"],["permisssions","permissions"],["permited","permitted"],["permition","permission"],["permitions","permissions"],["permmission","permission"],["permmissions","permissions"],["permormance","performance"],["permssion","permission"],["permssions","permissions"],["permuatate","permutate"],["permuatated","permutated"],["permuatates","permutates"],["permuatating","permutating"],["permuatation","permutation"],["permuatations","permutations"],["permuation","permutation"],["permuations","permutations"],["permutaion","permutation"],["permutaions","permutations"],["permution","permutation"],["permutions","permutations"],["peroendicular","perpendicular"],["perogative","prerogative"],["peroid","period"],["peroidic","periodic"],["peroidical","periodical"],["peroidically","periodically"],["peroidicals","periodicals"],["peroidicity","periodicity"],["peroids","periods"],["peronal","personal"],["peroperly","properly"],["perosnality","personality"],["perpandicular","perpendicular"],["perpandicularly","perpendicularly"],["perperties","properties"],["perpertrated","perpetrated"],["perperty","property"],["perphas","perhaps"],["perpindicular","perpendicular"],["perpsective","perspective"],["perpsectives","perspectives"],["perrror","perror"],["persan","person"],["persepctive","perspective"],["persepective","perspective"],["persepectives","perspectives"],["perserve","preserve"],["perserved","preserved"],["perserverance","perseverance"],["perservere","persevere"],["perservered","persevered"],["perserveres","perseveres"],["perservering","persevering"],["perserves","preserves"],["perserving","preserving"],["perseverence","perseverance"],["persisit","persist"],["persisited","persisted"],["persistance","persistence"],["persistant","persistent"],["persistantly","persistently"],["persisten","persistent"],["persistented","persisted"],["persited","persisted"],["persitent","persistent"],["personalitie","personality"],["personalitites","personalities"],["personalitity","personality"],["personalitys","personalities"],["personaly","personally"],["personell","personnel"],["personnal","personal"],["personnaly","personally"],["personnell","personnel"],["perspecitve","perspective"],["persuded","persuaded"],["persue","pursue"],["persued","pursued"],["persuing","pursuing"],["persuit","pursuit"],["persuits","pursuits"],["persumably","presumably"],["perticular","particular"],["perticularly","particularly"],["perticulars","particulars"],["pertrub","perturb"],["pertrubation","perturbation"],["pertrubations","perturbations"],["pertrubing","perturbing"],["pertub","perturb"],["pertubate","perturb"],["pertubated","perturbed"],["pertubates","perturbs"],["pertubation","perturbation"],["pertubations","perturbations"],["pertubing","perturbing"],["perturbate","perturb"],["perturbates","perturbs"],["pervious","previous"],["perviously","previously"],["pessiary","pessary"],["petetion","petition"],["pevent","prevent"],["pevents","prevents"],["pezier","bezier"],["phanthom","phantom"],["Pharoah","Pharaoh"],["phasepsace","phasespace"],["phasis","phases"],["phenomenom","phenomenon"],["phenomenonal","phenomenal"],["phenomenonly","phenomenally"],["phenomonenon","phenomenon"],["phenomonon","phenomenon"],["phenonmena","phenomena"],["pheriparials","peripherals"],["Philipines","Philippines"],["philisopher","philosopher"],["philisophical","philosophical"],["philisophy","philosophy"],["Phillipine","Philippine"],["phillipines","philippines"],["Phillippines","Philippines"],["phillosophically","philosophically"],["philospher","philosopher"],["philosphies","philosophies"],["philosphy","philosophy"],["phisical","physical"],["phisically","physically"],["phisicaly","physically"],["phisics","physics"],["phisosophy","philosophy"],["Phonecian","Phoenecian"],["phoneticly","phonetically"],["phongraph","phonograph"],["phote","photo"],["photografic","photographic"],["photografical","photographical"],["photografy","photography"],["photograpic","photographic"],["photograpical","photographical"],["phsical","physical"],["phsyically","physically"],["phtread","pthread"],["phtreads","pthreads"],["phyiscal","physical"],["phyiscally","physically"],["phyiscs","physics"],["phylosophical","philosophical"],["physcial","physical"],["physial","physical"],["physicaly","physically"],["physisist","physicist"],["phython","python"],["phyton","python"],["phy_interace","phy_interface"],["piblisher","publisher"],["pice","piece"],["picoseond","picosecond"],["picoseonds","picoseconds"],["piggypack","piggyback"],["piggypacked","piggybacked"],["pilgrimmage","pilgrimage"],["pilgrimmages","pilgrimages"],["pimxap","pixmap"],["pimxaps","pixmaps"],["pinapple","pineapple"],["pinnaple","pineapple"],["pinoneered","pioneered"],["piont","point"],["pionter","pointer"],["pionts","points"],["piority","priority"],["pipeine","pipeline"],["pipeines","pipelines"],["pipelien","pipeline"],["pipeliens","pipelines"],["pipelin","pipeline"],["pipelinining","pipelining"],["pipelins","pipelines"],["pipepline","pipeline"],["pipeplines","pipelines"],["pipiline","pipeline"],["pipilines","pipelines"],["pipleine","pipeline"],["pipleines","pipelines"],["pipleline","pipeline"],["piplelines","pipelines"],["pitty","pity"],["pivott","pivot"],["pivotting","pivoting"],["pixes","pixels"],["placeemnt","placement"],["placeemnts","placements"],["placehoder","placeholder"],["placeholde","placeholder"],["placeholdes","placeholders"],["placeholer","placeholder"],["placeholers","placeholders"],["placemenet","placement"],["placemenets","placements"],["placholder","placeholder"],["placholders","placeholders"],["placmenet","placement"],["placmenets","placements"],["plaform","platform"],["plaforms","platforms"],["plaftorm","platform"],["plaftorms","platforms"],["plagarism","plagiarism"],["plalform","platform"],["plalforms","platforms"],["planation","plantation"],["plantext","plaintext"],["plantiff","plaintiff"],["plasement","placement"],["plasements","placements"],["plateu","plateau"],["platfarm","platform"],["platfarms","platforms"],["platfform","platform"],["platfforms","platforms"],["platflorm","platform"],["platflorms","platforms"],["platfoem","platform"],["platfom","platform"],["platfomr","platform"],["platfomrs","platforms"],["platfoms","platforms"],["platform-spacific","platform-specific"],["platforma","platforms"],["platformt","platforms"],["platfrom","platform"],["platfroms","platforms"],["plathome","platform"],["platofmr","platform"],["platofmrs","platforms"],["platofms","platforms"],["platofmss","platforms"],["platoform","platform"],["platoforms","platforms"],["platofrm","platform"],["platofrms","platforms"],["plattform","platform"],["plattforms","platforms"],["plausability","plausibility"],["plausable","plausible"],["playble","playable"],["playge","plague"],["playgerise","plagiarise"],["playgerize","plagiarize"],["playgropund","playground"],["playist","playlist"],["playists","playlists"],["playright","playwright"],["playwrite","playwright"],["playwrites","playwrights"],["plcae","place"],["plcaebo","placebo"],["plcaed","placed"],["plcaeholder","placeholder"],["plcaeholders","placeholders"],["plcaement","placement"],["plcaements","placements"],["plcaes","places"],["pleaase","please"],["pleacing","placing"],["pleae","please"],["pleaee","please"],["pleaes","please"],["pleasd","pleased"],["pleasent","pleasant"],["pleasently","pleasantly"],["plebicite","plebiscite"],["plecing","placing"],["plent","plenty"],["plesae","please"],["plesant","pleasant"],["plese","please"],["plesently","pleasantly"],["pliars","pliers"],["pllatforms","platforms"],["ploted","plotted"],["ploting","plotting"],["ploynomial","polynomial"],["ploynomials","polynomials"],["pltform","platform"],["pltforms","platforms"],["plugable","pluggable"],["pluged","plugged"],["pluign","plugin"],["pluigns","plugins"],["pluse","pulse"],["plyotropy","pleiotropy"],["pobular","popular"],["pobularity","popularity"],["podule","module"],["poenis","penis"],["poential","potential"],["poentially","potentially"],["poentials","potentials"],["poeoples","peoples"],["poeple","people"],["poety","poetry"],["pogress","progress"],["poicies","policies"],["poicy","policy"],["poiint","point"],["poiints","points"],["poind","point"],["poindcloud","pointcloud"],["poiner","pointer"],["poing","point"],["poinits","points"],["poinnter","pointer"],["poins","points"],["pointeres","pointers"],["pointes","points"],["pointetr","pointer"],["pointetrs","pointers"],["pointeur","pointer"],["pointseta","poinsettia"],["pointss","points"],["pointzer","pointer"],["poinyent","poignant"],["poisin","poison"],["poisition","position"],["poisitioned","positioned"],["poisitioning","positioning"],["poisitionning","positioning"],["poisitions","positions"],["poistion","position"],["poistioned","positioned"],["poistioning","positioning"],["poistions","positions"],["poistive","positive"],["poistively","positively"],["poistives","positives"],["poistivly","positively"],["poit","point"],["poitd","pointed"],["poited","pointed"],["poiter","pointer"],["poiters","pointers"],["poiting","pointing"],["poitless","pointless"],["poitlessly","pointlessly"],["poitn","point"],["poitnd","pointed"],["poitned","pointed"],["poitner","pointer"],["poitnes","points"],["poitning","pointing"],["poitns","points"],["poits","points"],["poiunter","pointer"],["poject","project"],["pojecting","projecting"],["pojnt","point"],["pojrect","project"],["pojrected","projected"],["pojrecting","projecting"],["pojrection","projection"],["pojrections","projections"],["pojrector","projector"],["pojrectors","projectors"],["pojrects","projects"],["poket","pocket"],["polariy","polarity"],["polgon","polygon"],["polgons","polygons"],["polical","political"],["policiy","policy"],["poligon","polygon"],["poligons","polygons"],["polinator","pollinator"],["polinators","pollinators"],["politican","politician"],["politicans","politicians"],["politicing","politicking"],["pollenate","pollinate"],["polltry","poultry"],["polocies","policies"],["polocy","policy"],["polocys","policies"],["pologon","polygon"],["pologons","polygons"],["polotic","politic"],["polotical","political"],["polotics","politics"],["poltical","political"],["poltry","poultry"],["polute","pollute"],["poluted","polluted"],["polutes","pollutes"],["poluting","polluting"],["polution","pollution"],["polyar","polar"],["polyedral","polyhedral"],["polygond","polygons"],["polygone","polygon"],["polymorpic","polymorphic"],["polynomal","polynomial"],["polynomals","polynomials"],["polyphonyic","polyphonic"],["polypoygon","polypolygon"],["polypoylgons","polypolygons"],["polysaccaride","polysaccharide"],["polysaccharid","polysaccharide"],["pomegranite","pomegranate"],["pomotion","promotion"],["pompay","Pompeii"],["ponint","point"],["poninted","pointed"],["poninter","pointer"],["poninting","pointing"],["ponints","points"],["ponit","point"],["ponitd","pointed"],["ponited","pointed"],["poniter","pointer"],["poniters","pointers"],["ponits","points"],["pont","point"],["pontential","potential"],["ponter","pointer"],["ponting","pointing"],["ponts","points"],["pontuation","punctuation"],["pooint","point"],["poointed","pointed"],["poointer","pointer"],["pooints","points"],["poost","post"],["poperee","potpourri"],["poperties","properties"],["popoen","popen"],["popolate","populate"],["popolated","populated"],["popolates","populates"],["popolating","populating"],["poportional","proportional"],["popoulation","population"],["popoup","popup"],["poppup","popup"],["popularaty","popularity"],["populare","popular"],["populer","popular"],["popullate","populate"],["popullated","populated"],["popuplar","popular"],["popuplarity","popularity"],["popuplate","populate"],["popuplated","populated"],["popuplates","populates"],["popuplating","populating"],["popuplation","population"],["porbably","probably"],["porblem","problem"],["porblems","problems"],["porcess","process"],["porcessed","processed"],["porcesses","processes"],["porcessing","processing"],["porcessor","processor"],["porcessors","processors"],["porgram","program"],["porgrammeer","programmer"],["porgrammeers","programmers"],["porgramming","programming"],["porgrams","programs"],["poriferal","peripheral"],["porject","project"],["porjection","projection"],["porjects","projects"],["porotocol","protocol"],["porotocols","protocols"],["porperties","properties"],["porperty","property"],["porportion","proportion"],["porportional","proportional"],["porportionally","proportionally"],["porportioning","proportioning"],["porportions","proportions"],["porsalin","porcelain"],["porshan","portion"],["porshon","portion"],["portait","portrait"],["portaits","portraits"],["portayed","portrayed"],["portected","protected"],["portguese","Portuguese"],["portioon","portion"],["portraing","portraying"],["portugese","Portuguese"],["portuguease","Portuguese"],["portugues","Portuguese"],["porve","prove"],["porved","proved"],["porven","proven"],["porves","proves"],["porvide","provide"],["porvided","provided"],["porvider","provider"],["porvides","provides"],["porviding","providing"],["porvids","provides"],["porving","proving"],["posative","positive"],["posatives","positives"],["posativity","positivity"],["poseesions","possessions"],["posess","possess"],["posessed","possessed"],["posesses","possesses"],["posessing","possessing"],["posession","possession"],["posessions","possessions"],["posibilities","possibilities"],["posibility","possibility"],["posibilties","possibilities"],["posible","possible"],["posiblity","possibility"],["posibly","possibly"],["posiitive","positive"],["posiitives","positives"],["posiitivity","positivity"],["posisition","position"],["posisitioned","positioned"],["posistion","position"],["positionn","position"],["positionned","positioned"],["positionnes","positions"],["positionning","positioning"],["positionns","positions"],["positiv","positive"],["positivie","positive"],["positivies","positives"],["positivly","positively"],["positoin","position"],["positoined","positioned"],["positoins","positions"],["positonal","positional"],["positoned","positioned"],["positoning","positioning"],["positve","positive"],["positves","positives"],["POSIX-complient","POSIX-compliant"],["pospone","postpone"],["posponed","postponed"],["posption","position"],["possabilites","possibilities"],["possabilities","possibilities"],["possability","possibility"],["possabilties","possibilities"],["possabily","possibly"],["possable","possible"],["possably","possibly"],["possbily","possibly"],["possble","possible"],["possbly","possibly"],["posseses","possesses"],["possesing","possessing"],["possesion","possession"],["possesive","possessive"],["possessess","possesses"],["possiable","possible"],["possibbe","possible"],["possibe","possible"],["possibile","possible"],["possibilies","possibilities"],["possibilites","possibilities"],["possibilitities","possibilities"],["possibiliy","possibility"],["possibillity","possibility"],["possibilties","possibilities"],["possibilty","possibility"],["possibily","possibly"],["possibities","possibilities"],["possibity","possibility"],["possiblble","possible"],["possiblec","possible"],["possiblely","possibly"],["possiblility","possibility"],["possiblilty","possibility"],["possiblities","possibilities"],["possiblity","possibility"],["possiblly","possibly"],["possilbe","possible"],["possily","possibly"],["possition","position"],["possitive","positive"],["possitives","positives"],["possobily","possibly"],["possoble","possible"],["possobly","possibly"],["posssible","possible"],["post-morten","post-mortem"],["post-proces","post-process"],["post-procesing","post-processing"],["postcondtion","postcondition"],["postcondtions","postconditions"],["Postdam","Potsdam"],["postgress","PostgreSQL"],["postgressql","PostgreSQL"],["postgrsql","PostgreSQL"],["posthomous","posthumous"],["postiional","positional"],["postiive","positive"],["postincremend","postincrement"],["postion","position"],["postioned","positioned"],["postions","positions"],["postition","position"],["postitive","positive"],["postitives","positives"],["postive","positive"],["postives","positives"],["postmage","postimage"],["postphoned","postponed"],["postpocessing","postprocessing"],["postponinig","postponing"],["postprocesing","postprocessing"],["postscritp","postscript"],["postulat","postulate"],["postuminus","posthumous"],["postumus","posthumous"],["potatoe","potato"],["potatos","potatoes"],["potencial","potential"],["potencially","potentially"],["potencials","potentials"],["potenial","potential"],["potenially","potentially"],["potentail","potential"],["potentailly","potentially"],["potentails","potentials"],["potental","potential"],["potentally","potentially"],["potentatially","potentially"],["potententially","potentially"],["potentiallly","potentially"],["potentialy","potentially"],["potentiel","potential"],["potentiomenter","potentiometer"],["potition","position"],["potocol","protocol"],["potrait","portrait"],["potrayed","portrayed"],["poulations","populations"],["pount","point"],["pounts","points"],["poupular","popular"],["poverful","powerful"],["poweful","powerful"],["powerfull","powerful"],["powerppc","powerpc"],["pozitive","positive"],["pozitively","positively"],["pozitives","positives"],["ppcheck","cppcheck"],["ppeline","pipeline"],["ppelines","pipelines"],["ppolygons","polygons"],["ppublisher","publisher"],["ppyint","pyint"],["praameter","parameter"],["praameters","parameters"],["prabability","probability"],["prabable","probable"],["prabably","probably"],["pracitcal","practical"],["pracitcally","practically"],["practial","practical"],["practially","practically"],["practicaly","practically"],["practicioner","practitioner"],["practicioners","practitioners"],["practicly","practically"],["practictitioner","practitioner"],["practictitioners","practitioners"],["practicval","practical"],["practioner","practitioner"],["practioners","practitioners"],["praefix","prefix"],["pragam","pragma"],["pragmato","pragma to"],["prairy","prairie"],["pramater","parameter"],["prameter","parameter"],["prameters","parameters"],["prarameter","parameter"],["prarameters","parameters"],["prarie","prairie"],["praries","prairies"],["pratical","practical"],["pratically","practically"],["pratice","practice"],["prcess","process"],["prcesses","processes"],["prcessing","processing"],["prcoess","process"],["prcoessed","processed"],["prcoesses","processes"],["prcoessing","processing"],["prctiles","percentiles"],["prdpagate","propagate"],["prdpagated","propagated"],["prdpagates","propagates"],["prdpagating","propagating"],["prdpagation","propagation"],["prdpagations","propagations"],["prdpagator","propagator"],["prdpagators","propagators"],["pre-condifure","pre-configure"],["pre-condifured","pre-configured"],["pre-confifure","pre-configure"],["pre-confifured","pre-configured"],["pre-confure","pre-configure"],["pre-confured","pre-configured"],["pre-congifure","pre-configure"],["pre-congifured","pre-configured"],["pre-defiend","pre-defined"],["pre-defiened","pre-defined"],["pre-empt","preempt"],["pre-pended","prepended"],["pre-pre-realease","pre-pre-release"],["pre-proces","pre-process"],["pre-procesing","pre-processing"],["pre-realease","pre-release"],["pre-registeres","pre-registers"],["prealocate","preallocate"],["prealocated","preallocated"],["prealocates","preallocates"],["prealocating","preallocating"],["preambule","preamble"],["preamle","preamble"],["preample","preamble"],["preaorocessing","preprocessing"],["preapared","prepared"],["preapre","prepare"],["preaprooved","preapproved"],["prebious","previous"],["precacheed","precached"],["precceding","preceding"],["precding","preceding"],["preced","precede"],["precedencs","precedence"],["precedessor","predecessor"],["preceds","precedes"],["preceision","precision"],["precence","presence"],["precendance","precedence"],["precendances","precedences"],["precende","precedence"],["precendece","precedence"],["precendeces","precedences"],["precendence","precedence"],["precendences","precedences"],["precendencies","precedences"],["precendent","precedent"],["precendes","precedences"],["precending","preceding"],["precends","precedence"],["precenences","preferences"],["precense","presence"],["precentage","percentage"],["precentile","percentile"],["precentiles","percentiles"],["precessing","processing"],["precice","precise"],["precicion","precision"],["precidence","precedence"],["precisily","precisely"],["precisionn","precision"],["precisision","precision"],["precisly","precisely"],["precison","precision"],["precize","precise"],["precomuted","precomputed"],["preconditoner","preconditioner"],["preconditoners","preconditioners"],["precondtion","precondition"],["precondtioner","preconditioner"],["precondtioners","preconditioners"],["precondtionner","preconditioner"],["precondtionners","preconditioners"],["precondtions","preconditions"],["preconfiged","preconfigured"],["precsions","precisions"],["precuation","precaution"],["preculde","preclude"],["preculded","precluded"],["preculdes","precludes"],["precumputed","precomputed"],["precurser","precursor"],["precussion","percussion"],["precussions","percussions"],["predecesor","predecessor"],["predecesors","predecessors"],["predeclarnig","predeclaring"],["predefiend","predefined"],["predefiened","predefined"],["predefiined","predefined"],["predefineds","predefined"],["predessor","predecessor"],["predfined","predefined"],["predicat","predicate"],["predicatble","predictable"],["predicitons","predictions"],["predictible","predictable"],["predifined","predefined"],["predomiantly","predominately"],["preeceding","preceding"],["preemptable","preemptible"],["preesnt","present"],["prefectches","prefetches"],["prefecth","prefetch"],["prefectly","perfectly"],["prefence","preference"],["prefences","preferences"],["preferance","preference"],["preferances","preferences"],["preferecne","preference"],["preferecnes","preferences"],["prefered","preferred"],["preferencfe","preference"],["preferencfes","preferences"],["preferes","prefers"],["prefering","preferring"],["prefernce","preference"],["prefernces","preferences"],["prefernec","preference"],["preferr","prefer"],["preferrable","preferable"],["preferrably","preferably"],["preferrence","preference"],["preferrences","preferences"],["preferrred","preferred"],["prefetchs","prefetches"],["prefex","prefix"],["preffer","prefer"],["prefferable","preferable"],["prefferably","preferably"],["preffered","preferred"],["preffix","prefix"],["preffixed","prefixed"],["preffixes","prefixes"],["preffixing","prefixing"],["prefices","prefixes"],["preformance","performance"],["preformances","performances"],["pregancies","pregnancies"],["prehaps","perhaps"],["preiod","period"],["preivew","preview"],["preivous","previous"],["prejected","projected"],["prejection","projection"],["prejections","projections"],["preliferation","proliferation"],["prelimitary","preliminary"],["premeire","premiere"],["premeired","premiered"],["premillenial","premillennial"],["preminence","preeminence"],["premission","permission"],["premit","permit"],["premits","permits"],["Premonasterians","Premonstratensians"],["premption","preemption"],["premptive","preemptive"],["premptively","preemptively"],["preocess","process"],["preocupation","preoccupation"],["preoperty","property"],["prepair","prepare"],["prepaired","prepared"],["prepand","prepend"],["preparetion","preparation"],["preparetions","preparations"],["prepartion","preparation"],["prepartions","preparations"],["prepate","prepare"],["prepated","prepared"],["prepates","prepares"],["prepatory","preparatory"],["prependet","prepended"],["prepented","prepended"],["preperation","preparation"],["preperations","preparations"],["preponderence","preponderance"],["preppend","prepend"],["preppended","prepended"],["preppendet","prepended"],["preppented","prepended"],["preprend","prepend"],["preprended","prepended"],["prepresent","represent"],["prepresented","represented"],["prepresents","represents"],["preproces","preprocess"],["preprocesing","preprocessing"],["preprocesor","preprocessor"],["preprocesser","preprocessor"],["preprocessers","preprocessors"],["preprocesssing","preprocessing"],["prequisite","prerequisite"],["prequisites","prerequisites"],["prerequesite","prerequisite"],["prerequesites","prerequisites"],["prerequisit","prerequisite"],["prerequisities","prerequisites"],["prerequisits","prerequisites"],["prerequiste","prerequisite"],["prerequsite","prerequisite"],["prerequsites","prerequisites"],["preriod","period"],["preriodic","periodic"],["prersistent","persistent"],["presance","presence"],["prescripe","prescribe"],["prescriped","prescribed"],["prescrition","prescription"],["prescritions","prescriptions"],["presearvation","preservation"],["presearvations","preservations"],["presearve","preserve"],["presearved","preserved"],["presearver","preserver"],["presearves","preserves"],["presearving","preserving"],["presedential","presidential"],["presenece","presence"],["presener","presenter"],["presense","presence"],["presentaion","presentation"],["presentaional","presentational"],["presentaions","presentations"],["presernt","present"],["preserrved","preserved"],["preserv","preserve"],["presetation","presentation"],["preseve","preserve"],["preseved","preserved"],["preseverance","perseverance"],["preseverence","perseverance"],["preseves","preserves"],["preseving","preserving"],["presicion","precision"],["presidenital","presidential"],["presidental","presidential"],["presist","persist"],["presistable","persistable"],["presistance","persistence"],["presistant","persistent"],["presistantly","persistently"],["presisted","persisted"],["presistence","persistence"],["presistency","persistency"],["presistent","persistent"],["presistently","persistently"],["presisting","persisting"],["presistion","precision"],["presists","persists"],["presitgious","prestigious"],["presmissions","permissions"],["presntation","presentation"],["presntations","presentations"],["prespective","perspective"],["presreved","preserved"],["pressent","present"],["pressentation","presentation"],["pressented","presented"],["pressre","pressure"],["pressue","pressure"],["pressues","pressures"],["prestigeous","prestigious"],["prestigous","prestigious"],["presuambly","presumably"],["presumabely","presumably"],["presumaby","presumably"],["presumebly","presumably"],["presumely","presumably"],["presumibly","presumably"],["pretaining","pertaining"],["pretect","protect"],["pretected","protected"],["pretecting","protecting"],["pretection","protection"],["pretects","protects"],["pretendend","pretended"],["pretty-printter","pretty-printer"],["preveiw","preview"],["preveiwed","previewed"],["preveiwer","previewer"],["preveiwers","previewers"],["preveiws","previews"],["prevelance","prevalence"],["prevelant","prevalent"],["preven","prevent"],["prevend","prevent"],["preverse","perverse"],["preverses","preserves"],["preverve","preserve"],["prevew","preview"],["prevews","previews"],["previewd","previewed"],["previious","previous"],["previlege","privilege"],["previoous","previous"],["previos","previous"],["previosly","previously"],["previosu","previous"],["previosuly","previously"],["previou","previous"],["previouls","previous"],["previoulsy","previously"],["previouly","previously"],["previouse","previous"],["previousl","previously"],["previousy","previously"],["previsou","previous"],["previsouly","previously"],["previuous","previous"],["previus","previous"],["previvous","previous"],["prevoius","previous"],["prevous","previous"],["prevously","previously"],["prewview","preview"],["prexisting","preexisting"],["prexixed","prefixed"],["prfer","prefer"],["prferable","preferable"],["prferables","preferable"],["prference","preference"],["prferred","preferred"],["prgram","program"],["priave","private"],["pricipal","principal"],["priciple","principle"],["priciples","principles"],["pricision","precision"],["priestood","priesthood"],["primaray","primary"],["primarely","primarily"],["primarly","primarily"],["primative","primitive"],["primatively","primitively"],["primatives","primitives"],["primay","primary"],["primeter","perimeter"],["primitave","primitive"],["primitiv","primitive"],["primitve","primitive"],["primitves","primitives"],["primive","primitive"],["primordal","primordial"],["princeple","principle"],["princeples","principles"],["princible","principle"],["principaly","principality"],["principial","principal"],["principlaity","principality"],["principly","principally"],["princliple","principle"],["prind","print"],["prinicipal","principal"],["prining","printing"],["printting","printing"],["prioirties","priorities"],["prioirty","priority"],["prioritiy","priority"],["priorization","prioritization"],["priorizations","prioritizations"],["priorty","priority"],["priot","prior"],["priotise","prioritise"],["priotised","prioritised"],["priotising","prioritising"],["priotities","priorities"],["priotitize","prioritize"],["priotity","priority"],["priotized","prioritized"],["priotizing","prioritizing"],["priots","priors"],["prirority","priority"],["pris","prise"],["priting","printing"],["privalege","privilege"],["privaleges","privileges"],["privaye","private"],["privcy","privacy"],["privde","provide"],["priveledge","privilege"],["priveledged","privileged"],["priveledges","privileges"],["privelege","privilege"],["priveleged","privileged"],["priveleges","privileges"],["privelige","privilege"],["priveliged","privileged"],["priveliges","privileges"],["privelleges","privileges"],["priviate","private"],["privide","provide"],["privided","provided"],["privides","provides"],["prividing","providing"],["priview","preview"],["privilage","privilege"],["privilaged","privileged"],["privilages","privileges"],["priviledge","privilege"],["priviledged","privileged"],["priviledges","privileges"],["privilidge","privilege"],["privilidged","privileged"],["privilidges","privileges"],["privilige","privilege"],["priviliged","privileged"],["priviliges","privileges"],["privious","previous"],["priviously","previously"],["privision","provision"],["privisional","provisional"],["privisions","provisions"],["privledge","privilege"],["privleges","privileges"],["privte","private"],["prject","project"],["prjecting","projecting"],["prjection","projection"],["prjections","projections"],["prjects","projects"],["prmitive","primitive"],["prmitives","primitives"],["prmopting","prompting"],["proable","probable"],["proably","probably"],["probabalistic","probabilistic"],["probabaly","probably"],["probabilaty","probability"],["probabilisitic","probabilistic"],["probabilites","probabilities"],["probabilty","probability"],["probablay","probably"],["probablistic","probabilistic"],["probablities","probabilities"],["probablity","probability"],["probablly","probably"],["probaby","probably"],["probalby","probably"],["probalibity","probability"],["probaly","probably"],["probbably","probably"],["probbailities","probabilities"],["probbaility","probability"],["probbaly","probably"],["probbed","probed"],["probblem","problem"],["probblems","problems"],["probblez","problem"],["probblezs","problems"],["probbly","probably"],["probelm","problem"],["probelmatic","problematic"],["probelms","problems"],["probem","problem"],["proberly","properly"],["problably","probably"],["problaem","problem"],["problaems","problems"],["problamatic","problematic"],["probleme","problem"],["problemes","problems"],["problimatic","problematic"],["problme","problem"],["problmes","problems"],["probly","probably"],["procceed","proceed"],["proccesor","processor"],["proccesors","processors"],["proccess","process"],["proccessed","processed"],["proccesses","processes"],["proccessing","processing"],["proccessor","processor"],["proccessors","processors"],["procecure","procedure"],["procecures","procedures"],["procedger","procedure"],["procedings","proceedings"],["procedre","procedure"],["procedres","procedures"],["proceedes","proceeds"],["proceedure","procedure"],["proceedures","procedures"],["proceeed","proceed"],["proceeeded","proceeded"],["proceeeding","proceeding"],["proceeeds","proceeds"],["proceeedures","procedures"],["procees","process"],["proceesed","processed"],["proceesor","processor"],["procelain","porcelain"],["procelains","porcelains"],["procentual","percentual"],["proces","process"],["procesed","processed"],["proceses","processes"],["proceshandler","processhandler"],["procesing","processing"],["procesor","processor"],["processeed","processed"],["processees","processes"],["processer","processor"],["processess","processes"],["processessing","processing"],["processig","processing"],["processinf","processing"],["processore","processor"],["processpr","processor"],["processsed","processed"],["processses","processes"],["processsing","processing"],["processsors","processors"],["procesure","procedure"],["procesures","procedures"],["procide","provide"],["procided","provided"],["procides","provides"],["proclaimation","proclamation"],["proclamed","proclaimed"],["proclaming","proclaiming"],["proclomation","proclamation"],["procoess","process"],["procoessed","processed"],["procoessing","processing"],["proctect","protect"],["proctected","protected"],["proctecting","protecting"],["proctects","protects"],["procteted","protected"],["procude","produce"],["procuded","produced"],["prodceding","proceeding"],["prodecure","procedure"],["producable","producible"],["producables","producible"],["produciton","production"],["producitons","productions"],["producted","produced"],["productiviy","productivity"],["produkt","product"],["produse","produce"],["prodused","produced"],["produses","produces"],["proedural","procedural"],["proedure","procedure"],["proedures","procedures"],["proejct","project"],["proejcted","projected"],["proejcting","projecting"],["proejction","projection"],["proepr","proper"],["proeprly","properly"],["proeprties","properties"],["proeprty","property"],["proerties","properties"],["proessing","processing"],["profesional","professional"],["profesionally","professionally"],["profesionals","professionals"],["profesor","professor"],["professer","professor"],["proffesed","professed"],["proffesion","profession"],["proffesional","professional"],["proffesor","professor"],["proffessor","professor"],["profie","profile"],["profied","profiled"],["profier","profiler"],["profies","profiles"],["profilic","prolific"],["profirle","profile"],["profirled","profiled"],["profirler","profiler"],["profirles","profiles"],["profissional","professional"],["proflie","profile"],["proflier","profiler"],["proflies","profiles"],["profling","profiling"],["profund","profound"],["profundly","profoundly"],["progagate","propagate"],["progagated","propagated"],["progagates","propagates"],["progagating","propagating"],["progagation","propagation"],["progagations","propagations"],["progagator","propagator"],["progagators","propagators"],["progam","program"],["progamability","programmability"],["progamable","programmable"],["progamatic","programmatic"],["progamatically","programmatically"],["progamed","programmed"],["progamer","programmer"],["progamers","programmers"],["progaming","programming"],["progamm","program"],["progammability","programmability"],["progammable","programmable"],["progammatic","programmatic"],["progammatically","programmatically"],["progammed","programmed"],["progammer","programmer"],["progammers","programmers"],["progamming","programming"],["progamms","programs"],["progams","programs"],["progapate","propagate"],["progapated","propagated"],["progapates","propagates"],["progapating","propagating"],["progapation","propagation"],["progapations","propagations"],["progapator","propagator"],["progapators","propagators"],["progaramm","program"],["progarammability","programmability"],["progarammable","programmable"],["progarammatic","programmatic"],["progarammatically","programmatically"],["progarammed","programmed"],["progarammer","programmer"],["progarammers","programmers"],["progaramming","programming"],["progaramms","programs"],["progarm","program"],["progarmability","programmability"],["progarmable","programmable"],["progarmatic","programmatic"],["progarmatically","programmatically"],["progarmed","programmed"],["progarmer","programmer"],["progarmers","programmers"],["progarming","programming"],["progarms","programs"],["progate","propagate"],["progated","propagated"],["progates","propagates"],["progating","propagating"],["progation","propagation"],["progations","propagations"],["progess","progress"],["progessbar","progressbar"],["progessed","progressed"],["progesses","progresses"],["progessive","progressive"],["progessor","progressor"],["progesss","progress"],["progesssive","progressive"],["progidy","prodigy"],["programable","programmable"],["programatic","programmatic"],["programatically","programmatically"],["programattically","programmatically"],["programd","programmed"],["programemer","programmer"],["programemers","programmers"],["programers","programmers"],["programmaticaly","programmatically"],["programmend","programmed"],["programmetically","programmatically"],["programmical","programmatical"],["programmign","programming"],["programmming","programming"],["programms","programs"],["progreess","progress"],["progres","progress"],["progresively","progressively"],["progresss","progress"],["progrewss","progress"],["progrmae","program"],["progrss","progress"],["prohabition","prohibition"],["prohibitted","prohibited"],["prohibitting","prohibiting"],["prohibt","prohibit"],["prohibted","prohibited"],["prohibting","prohibiting"],["prohibts","prohibits"],["proirity","priority"],["projct's","project's"],["projct","project"],["projction","projection"],["projctions","projections"],["projctor","projector"],["projctors","projectors"],["projcts","projects"],["projectd","projected"],["projectio","projection"],["projecttion","projection"],["projet","project"],["projetction","projection"],["projeted","projected"],["projeting","projecting"],["projets","projects"],["prolbems","problems"],["prolem","problem"],["prolematic","problematic"],["prolems","problems"],["prologomena","prolegomena"],["prominance","prominence"],["prominant","prominent"],["prominantly","prominently"],["promis","promise"],["promiscous","promiscuous"],["promiss","promise"],["promissed","promised"],["promisses","promises"],["promissing","promising"],["promixity","proximity"],["prommpt","prompt"],["prommpts","prompts"],["promotted","promoted"],["promprted","prompted"],["promps","prompts"],["promt","prompt"],["promts","prompts"],["pronnounced","pronounced"],["pronomial","pronominal"],["prononciation","pronunciation"],["pronouce","pronounce"],["pronouced","pronounced"],["pronounched","pronounced"],["pronounciation","pronunciation"],["pronunce","pronounce"],["proocecure","procedure"],["proocecures","procedures"],["proocedure","procedure"],["proocedures","procedures"],["proocess","process"],["proocessed","processed"],["proocesses","processes"],["proocessing","processing"],["proocol","protocol"],["proocols","protocols"],["prooduce","produce"],["prooduced","produced"],["prooduces","produces"],["prooduct","product"],["prooerties","properties"],["prooerty","property"],["prool","pool"],["prooof","proof"],["prooper","proper"],["prooperly","properly"],["prooperties","properties"],["prooperty","property"],["proose","propose"],["proosed","proposed"],["prooses","proposes"],["proove","prove"],["prooved","proved"],["prooven","proven"],["prooves","proves"],["prooving","proving"],["proovread","proofread"],["prooxies","proxies"],["prooxy","proxy"],["propably","probably"],["propage","propagate"],["propatagion","propagation"],["propator","propagator"],["propators","propagators"],["propbably","probably"],["propely","properly"],["propeoperties","properties"],["propereties","properties"],["properety","property"],["properies","properties"],["properites","properties"],["properities","properties"],["properries","properties"],["properrt","property"],["properrys","properties"],["propert","property"],["properteis","properties"],["propertery","property"],["propertion","proportion"],["propertional","proportional"],["propertions","proportions"],["propertise","properties"],["propertu","property"],["propertus","properties"],["propertys","properties"],["propertyst","properties"],["propeties","properties"],["propetry","property"],["propetrys","properties"],["propety","property"],["propetys","properties"],["propgated","propagated"],["prophacy","prophecy"],["propietary","proprietary"],["propietries","proprietaries"],["propietry","proprietary"],["propigate","propagate"],["propigation","propagation"],["proplem","problem"],["propmt","prompt"],["propmted","prompted"],["propmter","prompter"],["propmts","prompts"],["propoagate","propagate"],["propoerties","properties"],["propoerty","property"],["propoganda","propaganda"],["propogate","propagate"],["propogated","propagated"],["propogates","propagates"],["propogating","propagating"],["propogation","propagation"],["proporpotion","proportion"],["proporpotional","proportional"],["proportianal","proportional"],["proporties","properties"],["proportinal","proportional"],["proporty","property"],["propostion","proposition"],["proppely","properly"],["propper","proper"],["propperly","properly"],["propperties","properties"],["propperty","property"],["proprely","properly"],["propreties","properties"],["proprety","property"],["proprietory","proprietary"],["proproable","probable"],["proproably","probably"],["proprocessed","preprocessed"],["proprogate","propagate"],["proprogated","propagated"],["proprogates","propagates"],["proprogating","propagating"],["proprogation","propagation"],["proprogations","propagations"],["proprogator","propagator"],["proprogators","propagators"],["proproties","properties"],["proprotion","proportion"],["proprotional","proportional"],["proprotionally","proportionally"],["proprotions","proportions"],["proprty","property"],["propt","prompt"],["propteries","properties"],["propterties","properties"],["propterty","property"],["propvider","provider"],["prority","priority"],["prorotype","prototype"],["proseletyzing","proselytizing"],["prosess","process"],["prosessor","processor"],["protable","portable"],["protaganist","protagonist"],["protaganists","protagonists"],["protcol","protocol"],["protcols","protocols"],["protcool","protocol"],["protcools","protocols"],["protcted","protected"],["protecion","protection"],["protectiv","protective"],["protedcted","protected"],["protential","potential"],["protext","protect"],["protocal","protocol"],["protocals","protocols"],["protocl","protocol"],["protocls","protocols"],["protoco","protocol"],["protocoll","protocol"],["protocolls","protocols"],["protocos","protocols"],["protoganist","protagonist"],["protoge","protege"],["protol","protocol"],["protols","protocols"],["prototyes","prototypes"],["protoype","prototype"],["protoyped","prototyped"],["protoypes","prototypes"],["protoyping","prototyping"],["protoytpe","prototype"],["protoytpes","prototypes"],["protrait","portrait"],["protraits","portraits"],["protrayed","portrayed"],["protruberance","protuberance"],["protruberances","protuberances"],["prouncements","pronouncements"],["provacative","provocative"],["provded","provided"],["provder","provider"],["provdided","provided"],["provdie","provide"],["provdied","provided"],["provdies","provides"],["provding","providing"],["provences","provinces"],["provicde","provide"],["provicded","provided"],["provicdes","provides"],["provicial","provincial"],["provideres","providers"],["providewd","provided"],["providfers","providers"],["provieded","provided"],["proviedes","provides"],["provinicial","provincial"],["provisioing","provisioning"],["provisiong","provisioning"],["provisionging","provisioning"],["provisiosn","provision"],["provisonal","provisional"],["provive","provide"],["provived","provided"],["provives","provides"],["proviving","providing"],["provode","provide"],["provoded","provided"],["provoder","provider"],["provodes","provides"],["provoding","providing"],["provods","provides"],["provsioning","provisioning"],["proximty","proximity"],["prozess","process"],["prpeparations","preparations"],["prpose","propose"],["prposed","proposed"],["prposer","proposer"],["prposers","proposers"],["prposes","proposes"],["prposiing","proposing"],["prrcision","precision"],["prrottypes","prototypes"],["prset","preset"],["prsets","presets"],["prtinf","printf"],["prufe","proof"],["prviate","private"],["psaswd","passwd"],["pseude","pseudo"],["pseudononymous","pseudonymous"],["pseudonyn","pseudonym"],["pseudopoential","pseudopotential"],["pseudopoentials","pseudopotentials"],["pseudorinverse","pseudoinverse"],["pseuo-palette","pseudo-palette"],["psitoin","position"],["psitoined","positioned"],["psitoins","positions"],["psot","post"],["psots","posts"],["psrameter","parameter"],["pssed","passed"],["pssibility","possibility"],["psudo","pseudo"],["psudoinverse","pseudoinverse"],["psuedo","pseudo"],["psuedo-fork","pseudo-fork"],["psuedoinverse","pseudoinverse"],["psuedolayer","pseudolayer"],["psuh","push"],["psychadelic","psychedelic"],["psycology","psychology"],["psyhic","psychic"],["ptd","pdf"],["ptherad","pthread"],["ptherads","pthreads"],["pthon","python"],["pthred","pthread"],["pthreds","pthreads"],["ptorions","portions"],["ptrss","press"],["pubilsh","publish"],["pubilshed","published"],["pubilsher","publisher"],["pubilshers","publishers"],["pubilshing","publishing"],["pubish","publish"],["pubished","published"],["pubisher","publisher"],["pubishers","publishers"],["pubishing","publishing"],["publcation","publication"],["publcise","publicise"],["publcize","publicize"],["publiaher","publisher"],["publically","publicly"],["publicaly","publicly"],["publiched","published"],["publicher","publisher"],["publichers","publishers"],["publiches","publishes"],["publiching","publishing"],["publihsed","published"],["publihser","publisher"],["publised","published"],["publisehd","published"],["publisehr","publisher"],["publisehrs","publishers"],["publiser","publisher"],["publisers","publishers"],["publisged","published"],["publisger","publisher"],["publisgers","publishers"],["publishd","published"],["publisheed","published"],["publisherr","publisher"],["publishher","publisher"],["publishor","publisher"],["publishr","publisher"],["publishre","publisher"],["publishrs","publishers"],["publissher","publisher"],["publlisher","publisher"],["publsh","publish"],["publshed","published"],["publsher","publisher"],["publshers","publishers"],["publshing","publishing"],["publsih","publish"],["publsihed","published"],["publsiher","publisher"],["publsihers","publishers"],["publsihes","publishes"],["publsihing","publishing"],["publuc","public"],["publucation","publication"],["publush","publish"],["publusher","publisher"],["publushers","publishers"],["publushes","publishes"],["publushing","publishing"],["puchasing","purchasing"],["Pucini","Puccini"],["Puertorrican","Puerto Rican"],["Puertorricans","Puerto Ricans"],["pulisher","publisher"],["pullrequest","pull request"],["pullrequests","pull requests"],["pumkin","pumpkin"],["punctation","punctuation"],["puplar","popular"],["puplarity","popularity"],["puplate","populate"],["puplated","populated"],["puplates","populates"],["puplating","populating"],["puplation","population"],["puplisher","publisher"],["pupose","purpose"],["puposes","purposes"],["pupulated","populated"],["purcahed","purchased"],["purcahse","purchase"],["purgest","purges"],["puritannical","puritanical"],["purposedly","purposely"],["purpotedly","purportedly"],["purpse","purpose"],["pursuade","persuade"],["pursuaded","persuaded"],["pursuades","persuades"],["pusehd","pushed"],["pususading","persuading"],["puting","putting"],["putpose","purpose"],["putposed","purposed"],["putposes","purposes"],["pwoer","power"],["pxoxied","proxied"],["pxoxies","proxies"],["pxoxy","proxy"],["pyhon","python"],["pyhsical","physical"],["pyhsically","physically"],["pyhsicals","physicals"],["pyhsicaly","physically"],["pyhthon","python"],["pyhton","python"],["pyramide","pyramid"],["pyramides","pyramids"],["pyrhon","python"],["pyscic","psychic"],["pythin","python"],["pythjon","python"],["pytnon","python"],["pytohn","python"],["pyton","python"],["pytyon","python"],["qest","quest"],["qests","quests"],["qeuest","quest"],["qeuests","quests"],["qeueue","queue"],["qeust","quest"],["qeusts","quests"],["qiest","quest"],["qiests","quests"],["qith","with"],["qoute","quote"],["qouted","quoted"],["qoutes","quotes"],["qouting","quoting"],["quadddec","quaddec"],["quadranle","quadrangle"],["quailified","qualified"],["qualfied","qualified"],["qualfy","qualify"],["qualifer","qualifier"],["qualitification","qualification"],["qualitifications","qualifications"],["quanitified","quantified"],["quantaties","quantities"],["quantaty","quantity"],["quantitites","quantities"],["quantititive","quantitative"],["quantitity","quantity"],["quantitiy","quantity"],["quarantaine","quarantine"],["quarentine","quarantine"],["quartenion","quaternion"],["quartenions","quaternions"],["quartically","quadratically"],["quatation","quotation"],["quater","quarter"],["quation","equation"],["quations","equations"],["quckstarter","quickstarter"],["qudrangles","quadrangles"],["quee","queue"],["Queenland","Queensland"],["queing","queueing"],["queiried","queried"],["queisce","quiesce"],["queriable","queryable"],["quering","querying"],["querries","queries"],["queryies","queries"],["queryinterace","queryinterface"],["querys","queries"],["queset","quest"],["quesets","quests"],["quesiton","question"],["quesitonable","questionable"],["quesitons","questions"],["quesr","quest"],["quesrs","quests"],["questionaire","questionnaire"],["questionnair","questionnaire"],["questoin","question"],["questoins","questions"],["questonable","questionable"],["queu","queue"],["queueud","queued"],["queus","queues"],["quew","queue"],["quickier","quicker"],["quicklyu","quickly"],["quickyl","quickly"],["quicly","quickly"],["quiessent","quiescent"],["quiests","quests"],["quikc","quick"],["quinessential","quintessential"],["quiting","quitting"],["quitt","quit"],["quitted","quit"],["quizes","quizzes"],["quotaion","quotation"],["quoteed","quoted"],["quottes","quotes"],["quried","queried"],["quroum","quorum"],["qust","quest"],["qusts","quests"],["rabinnical","rabbinical"],["racaus","raucous"],["ractise","practise"],["radation","radiation"],["radiactive","radioactive"],["radiaton","radiation"],["radify","ratify"],["radiobuttion","radiobutton"],["radis","radix"],["rady","ready"],["raed","read"],["raeding","reading"],["raeds","reads"],["raedy","ready"],["raelly","really"],["raisedd","raised"],["ralation","relation"],["randmom","random"],["randomally","randomly"],["raoming","roaming"],["raotat","rotate"],["raotate","rotate"],["raotated","rotated"],["raotates","rotates"],["raotating","rotating"],["raotation","rotation"],["raotations","rotations"],["raotats","rotates"],["raplace","replace"],["raplacing","replacing"],["rapresent","represent"],["rapresentation","representation"],["rapresented","represented"],["rapresenting","representing"],["rapresents","represents"],["rapsberry","raspberry"],["rarelly","rarely"],["rarified","rarefied"],["rasberry","raspberry"],["rasie","raise"],["rasied","raised"],["rasies","raises"],["rasiing","raising"],["rasing","raising"],["rasons","reasons"],["raspbery","raspberry"],["raspoberry","raspberry"],["rathar","rather"],["rathern","rather"],["rcall","recall"],["rceate","create"],["rceating","creating"],["rduce","reduce"],["re-attachement","re-attachment"],["re-defiend","re-defined"],["re-engeneer","re-engineer"],["re-engeneering","re-engineering"],["re-evaulated","re-evaluated"],["re-impliment","re-implement"],["re-implimenting","re-implementing"],["re-negatiotiable","re-negotiable"],["re-negatiotiate","re-negotiate"],["re-negatiotiated","re-negotiated"],["re-negatiotiates","re-negotiates"],["re-negatiotiating","re-negotiating"],["re-negatiotiation","re-negotiation"],["re-negatiotiations","re-negotiations"],["re-negatiotiator","re-negotiator"],["re-negatiotiators","re-negotiators"],["re-negoable","re-negotiable"],["re-negoate","re-negotiate"],["re-negoated","re-negotiated"],["re-negoates","re-negotiates"],["re-negoatiable","re-negotiable"],["re-negoatiate","re-negotiate"],["re-negoatiated","re-negotiated"],["re-negoatiates","re-negotiates"],["re-negoatiating","re-negotiating"],["re-negoatiation","re-negotiation"],["re-negoatiations","re-negotiations"],["re-negoatiator","re-negotiator"],["re-negoatiators","re-negotiators"],["re-negoating","re-negotiating"],["re-negoation","re-negotiation"],["re-negoations","re-negotiations"],["re-negoator","re-negotiator"],["re-negoators","re-negotiators"],["re-negociable","re-negotiable"],["re-negociate","re-negotiate"],["re-negociated","re-negotiated"],["re-negociates","re-negotiates"],["re-negociating","re-negotiating"],["re-negociation","re-negotiation"],["re-negociations","re-negotiations"],["re-negociator","re-negotiator"],["re-negociators","re-negotiators"],["re-negogtiable","re-negotiable"],["re-negogtiate","re-negotiate"],["re-negogtiated","re-negotiated"],["re-negogtiates","re-negotiates"],["re-negogtiating","re-negotiating"],["re-negogtiation","re-negotiation"],["re-negogtiations","re-negotiations"],["re-negogtiator","re-negotiator"],["re-negogtiators","re-negotiators"],["re-negoitable","re-negotiable"],["re-negoitate","re-negotiate"],["re-negoitated","re-negotiated"],["re-negoitates","re-negotiates"],["re-negoitating","re-negotiating"],["re-negoitation","re-negotiation"],["re-negoitations","re-negotiations"],["re-negoitator","re-negotiator"],["re-negoitators","re-negotiators"],["re-negoptionsotiable","re-negotiable"],["re-negoptionsotiate","re-negotiate"],["re-negoptionsotiated","re-negotiated"],["re-negoptionsotiates","re-negotiates"],["re-negoptionsotiating","re-negotiating"],["re-negoptionsotiation","re-negotiation"],["re-negoptionsotiations","re-negotiations"],["re-negoptionsotiator","re-negotiator"],["re-negoptionsotiators","re-negotiators"],["re-negosiable","re-negotiable"],["re-negosiate","re-negotiate"],["re-negosiated","re-negotiated"],["re-negosiates","re-negotiates"],["re-negosiating","re-negotiating"],["re-negosiation","re-negotiation"],["re-negosiations","re-negotiations"],["re-negosiator","re-negotiator"],["re-negosiators","re-negotiators"],["re-negotable","re-negotiable"],["re-negotaiable","re-negotiable"],["re-negotaiate","re-negotiate"],["re-negotaiated","re-negotiated"],["re-negotaiates","re-negotiates"],["re-negotaiating","re-negotiating"],["re-negotaiation","re-negotiation"],["re-negotaiations","re-negotiations"],["re-negotaiator","re-negotiator"],["re-negotaiators","re-negotiators"],["re-negotaible","re-negotiable"],["re-negotaite","re-negotiate"],["re-negotaited","re-negotiated"],["re-negotaites","re-negotiates"],["re-negotaiting","re-negotiating"],["re-negotaition","re-negotiation"],["re-negotaitions","re-negotiations"],["re-negotaitor","re-negotiator"],["re-negotaitors","re-negotiators"],["re-negotate","re-negotiate"],["re-negotated","re-negotiated"],["re-negotates","re-negotiates"],["re-negotatiable","re-negotiable"],["re-negotatiate","re-negotiate"],["re-negotatiated","re-negotiated"],["re-negotatiates","re-negotiates"],["re-negotatiating","re-negotiating"],["re-negotatiation","re-negotiation"],["re-negotatiations","re-negotiations"],["re-negotatiator","re-negotiator"],["re-negotatiators","re-negotiators"],["re-negotatible","re-negotiable"],["re-negotatie","re-negotiate"],["re-negotatied","re-negotiated"],["re-negotaties","re-negotiates"],["re-negotating","re-negotiating"],["re-negotation","re-negotiation"],["re-negotations","re-negotiations"],["re-negotatior","re-negotiator"],["re-negotatiors","re-negotiators"],["re-negotator","re-negotiator"],["re-negotators","re-negotiators"],["re-negothiable","re-negotiable"],["re-negothiate","re-negotiate"],["re-negothiated","re-negotiated"],["re-negothiates","re-negotiates"],["re-negothiating","re-negotiating"],["re-negothiation","re-negotiation"],["re-negothiations","re-negotiations"],["re-negothiator","re-negotiator"],["re-negothiators","re-negotiators"],["re-negotible","re-negotiable"],["re-negoticable","re-negotiable"],["re-negoticate","re-negotiate"],["re-negoticated","re-negotiated"],["re-negoticates","re-negotiates"],["re-negoticating","re-negotiating"],["re-negotication","re-negotiation"],["re-negotications","re-negotiations"],["re-negoticator","re-negotiator"],["re-negoticators","re-negotiators"],["re-negotioable","re-negotiable"],["re-negotioate","re-negotiate"],["re-negotioated","re-negotiated"],["re-negotioates","re-negotiates"],["re-negotioating","re-negotiating"],["re-negotioation","re-negotiation"],["re-negotioations","re-negotiations"],["re-negotioator","re-negotiator"],["re-negotioators","re-negotiators"],["re-negotioble","re-negotiable"],["re-negotion","re-negotiation"],["re-negotionable","re-negotiable"],["re-negotionate","re-negotiate"],["re-negotionated","re-negotiated"],["re-negotionates","re-negotiates"],["re-negotionating","re-negotiating"],["re-negotionation","re-negotiation"],["re-negotionations","re-negotiations"],["re-negotionator","re-negotiator"],["re-negotionators","re-negotiators"],["re-negotions","re-negotiations"],["re-negotiotable","re-negotiable"],["re-negotiotate","re-negotiate"],["re-negotiotated","re-negotiated"],["re-negotiotates","re-negotiates"],["re-negotiotating","re-negotiating"],["re-negotiotation","re-negotiation"],["re-negotiotations","re-negotiations"],["re-negotiotator","re-negotiator"],["re-negotiotators","re-negotiators"],["re-negotiote","re-negotiate"],["re-negotioted","re-negotiated"],["re-negotiotes","re-negotiates"],["re-negotioting","re-negotiating"],["re-negotiotion","re-negotiation"],["re-negotiotions","re-negotiations"],["re-negotiotor","re-negotiator"],["re-negotiotors","re-negotiators"],["re-negotitable","re-negotiable"],["re-negotitae","re-negotiate"],["re-negotitaed","re-negotiated"],["re-negotitaes","re-negotiates"],["re-negotitaing","re-negotiating"],["re-negotitaion","re-negotiation"],["re-negotitaions","re-negotiations"],["re-negotitaor","re-negotiator"],["re-negotitaors","re-negotiators"],["re-negotitate","re-negotiate"],["re-negotitated","re-negotiated"],["re-negotitates","re-negotiates"],["re-negotitating","re-negotiating"],["re-negotitation","re-negotiation"],["re-negotitations","re-negotiations"],["re-negotitator","re-negotiator"],["re-negotitators","re-negotiators"],["re-negotite","re-negotiate"],["re-negotited","re-negotiated"],["re-negotites","re-negotiates"],["re-negotiting","re-negotiating"],["re-negotition","re-negotiation"],["re-negotitions","re-negotiations"],["re-negotitor","re-negotiator"],["re-negotitors","re-negotiators"],["re-negoziable","re-negotiable"],["re-negoziate","re-negotiate"],["re-negoziated","re-negotiated"],["re-negoziates","re-negotiates"],["re-negoziating","re-negotiating"],["re-negoziation","re-negotiation"],["re-negoziations","re-negotiations"],["re-negoziator","re-negotiator"],["re-negoziators","re-negotiators"],["re-realease","re-release"],["re-uplad","re-upload"],["re-upladed","re-uploaded"],["re-uplader","re-uploader"],["re-upladers","re-uploaders"],["re-uplading","re-uploading"],["re-uplads","re-uploads"],["re-uplaod","re-upload"],["re-uplaoded","re-uploaded"],["re-uplaoder","re-uploader"],["re-uplaoders","re-uploaders"],["re-uplaoding","re-uploading"],["re-uplaods","re-uploads"],["re-uplod","re-upload"],["re-uploded","re-uploaded"],["re-uploder","re-uploader"],["re-uploders","re-uploaders"],["re-uploding","re-uploading"],["re-uplods","re-uploads"],["reaaly","really"],["reaarange","rearrange"],["reaaranges","rearranges"],["reaasigned","reassigned"],["reacahable","reachable"],["reacahble","reachable"],["reaccurring","recurring"],["reaceive","receive"],["reacheable","reachable"],["reachers","readers"],["reachs","reaches"],["reacing","reaching"],["reacll","recall"],["reactquire","reacquire"],["readabilty","readability"],["readanle","readable"],["readapted","re-adapted"],["readble","readable"],["readdrss","readdress"],["readdrssed","readdressed"],["readdrsses","readdresses"],["readdrssing","readdressing"],["readeable","readable"],["reademe","README"],["readiable","readable"],["readibility","readability"],["readible","readable"],["readig","reading"],["readigs","readings"],["readius","radius"],["readl-only","read-only"],["readmition","readmission"],["readnig","reading"],["readning","reading"],["readyness","readiness"],["reaeched","reached"],["reagrding","regarding"],["reaktivate","reactivate"],["reaktivated","reactivated"],["realease","release"],["realeased","released"],["realeases","releases"],["realiable","reliable"],["realitime","realtime"],["realitvely","relatively"],["realiy","really"],["realiztion","realization"],["realiztions","realizations"],["realling","really"],["reallize","realize"],["reallllly","really"],["reallocae","reallocate"],["reallocaes","reallocates"],["reallocaiing","reallocating"],["reallocaing","reallocating"],["reallocaion","reallocation"],["reallocaions","reallocations"],["reallocaite","reallocate"],["reallocaites","reallocates"],["reallocaiting","reallocating"],["reallocaition","reallocation"],["reallocaitions","reallocations"],["reallocaiton","reallocation"],["reallocaitons","reallocations"],["realsitic","realistic"],["realted","related"],["realyl","really"],["reamde","README"],["reamins","remains"],["reander","render"],["reanme","rename"],["reanmed","renamed"],["reanmes","renames"],["reanming","renaming"],["reaon","reason"],["reaons","reasons"],["reapeat","repeat"],["reapeated","repeated"],["reapeater","repeater"],["reapeating","repeating"],["reapeats","repeats"],["reappeares","reappears"],["reapper","reappear"],["reappered","reappeared"],["reappering","reappearing"],["rearely","rarely"],["rearranable","rearrangeable"],["rearrane","rearrange"],["rearraned","rearranged"],["rearranement","rearrangement"],["rearranements","rearrangements"],["rearranent","rearrangement"],["rearranents","rearrangements"],["rearranes","rearranges"],["rearrang","rearrange"],["rearrangable","rearrangeable"],["rearrangaeble","rearrangeable"],["rearrangaelbe","rearrangeable"],["rearrangd","rearranged"],["rearrangde","rearranged"],["rearrangent","rearrangement"],["rearrangents","rearrangements"],["rearrangmeent","rearrangement"],["rearrangmeents","rearrangements"],["rearrangmenet","rearrangement"],["rearrangmenets","rearrangements"],["rearrangment","rearrangement"],["rearrangments","rearrangements"],["rearrangnig","rearranging"],["rearrangning","rearranging"],["rearrangs","rearranges"],["rearrangse","rearranges"],["rearrangt","rearrangement"],["rearrangte","rearrange"],["rearrangteable","rearrangeable"],["rearrangteables","rearrangeables"],["rearrangted","rearranged"],["rearrangtement","rearrangement"],["rearrangtements","rearrangements"],["rearrangtes","rearranges"],["rearrangting","rearranging"],["rearrangts","rearrangements"],["rearraning","rearranging"],["rearranment","rearrangement"],["rearranments","rearrangements"],["rearrant","rearrangement"],["rearrants","rearrangements"],["reasearch","research"],["reasearcher","researcher"],["reasearchers","researchers"],["reasnable","reasonable"],["reasoable","reasonable"],["reasonabily","reasonably"],["reasonble","reasonable"],["reasonbly","reasonably"],["reasonnable","reasonable"],["reasonnably","reasonably"],["reassinging","reassigning"],["reassocition","reassociation"],["reasssign","reassign"],["reatime","realtime"],["reattachement","reattachment"],["rebiulding","rebuilding"],["rebllions","rebellions"],["reboto","reboot"],["rebounce","rebound"],["rebuilded","rebuilt"],["rebuillt","rebuilt"],["rebuils","rebuilds"],["rebuit","rebuilt"],["rebuld","rebuild"],["rebulding","rebuilding"],["rebulds","rebuilds"],["rebulid","rebuild"],["rebuliding","rebuilding"],["rebulids","rebuilds"],["rebulit","rebuilt"],["recahed","reached"],["recal","recall"],["recalcualte","recalculate"],["recalcualted","recalculated"],["recalcualter","re-calculator"],["recalcualtes","recalculates"],["recalcualting","recalculating"],["recalcualtion","recalculation"],["recalcualtions","recalculations"],["recalcuate","recalculate"],["recalcuated","recalculated"],["recalcuates","recalculates"],["recalcuations","recalculations"],["recalculaion","recalculation"],["recalculatble","re-calculable"],["recalcution","recalculation"],["recalulate","recalculate"],["recalulation","recalculation"],["recangle","rectangle"],["recangles","rectangles"],["reccomend","recommend"],["reccomendations","recommendations"],["reccomended","recommended"],["reccomending","recommending"],["reccommend","recommend"],["reccommendation","recommendation"],["reccommendations","recommendations"],["reccommended","recommended"],["reccommending","recommending"],["reccommends","recommends"],["recconecct","reconnect"],["recconeccted","reconnected"],["recconeccting","reconnecting"],["recconecction","reconnection"],["recconecctions","reconnections"],["recconeccts","reconnects"],["recconect","reconnect"],["recconected","reconnected"],["recconecting","reconnecting"],["recconection","reconnection"],["recconections","reconnections"],["recconects","reconnects"],["recconeect","reconnect"],["recconeected","reconnected"],["recconeecting","reconnecting"],["recconeection","reconnection"],["recconeections","reconnections"],["recconeects","reconnects"],["recconenct","reconnect"],["recconencted","reconnected"],["recconencting","reconnecting"],["recconenction","reconnection"],["recconenctions","reconnections"],["recconencts","reconnects"],["recconet","reconnect"],["recconeted","reconnected"],["recconeting","reconnecting"],["recconetion","reconnection"],["recconetions","reconnections"],["recconets","reconnects"],["reccord","record"],["reccorded","recorded"],["reccording","recording"],["reccords","records"],["reccuring","recurring"],["reccursive","recursive"],["reccursively","recursively"],["receeded","receded"],["receeding","receding"],["receied","received"],["receieve","receive"],["receieved","received"],["receieves","receives"],["receieving","receiving"],["receipient","recipient"],["receipients","recipients"],["receiption","reception"],["receiv","receive"],["receivd","received"],["receivedfrom","received from"],["receiveing","receiving"],["receiviing","receiving"],["receivs","receives"],["recenet","recent"],["recenlty","recently"],["recenly","recently"],["recenty","recently"],["recepient","recipient"],["recepients","recipients"],["recepion","reception"],["receve","receive"],["receved","received"],["receves","receives"],["recevie","receive"],["recevied","received"],["recevier","receiver"],["recevies","receives"],["receving","receiving"],["rechable","reachable"],["rechargable","rechargeable"],["recheability","reachability"],["reched","reached"],["rechek","recheck"],["recide","reside"],["recided","resided"],["recident","resident"],["recidents","residents"],["reciding","residing"],["reciepents","recipients"],["reciept","receipt"],["recieve","receive"],["recieved","received"],["reciever","receiver"],["recievers","receivers"],["recieves","receives"],["recieving","receiving"],["recievs","receives"],["recipiant","recipient"],["recipiants","recipients"],["recipie","recipe"],["recipies","recipes"],["reciprocoal","reciprocal"],["reciprocoals","reciprocals"],["recive","receive"],["recived","received"],["reciver","receiver"],["recivers","receivers"],["recivership","receivership"],["recives","receives"],["reciving","receiving"],["reclaimation","reclamation"],["recntly","recently"],["recod","record"],["recofig","reconfig"],["recoginizing-","recognizing"],["recogise","recognise"],["recogize","recognize"],["recogized","recognized"],["recogizes","recognizes"],["recogizing","recognizing"],["recogniced","recognised"],["recogninse","recognise"],["recognizeable","recognizable"],["recognzied","recognized"],["recomend","recommend"],["recomendation","recommendation"],["recomendations","recommendations"],["recomendatoin","recommendation"],["recomendatoins","recommendations"],["recomended","recommended"],["recomending","recommending"],["recomends","recommends"],["recommad","recommend"],["recommaded","recommended"],["recommand","recommend"],["recommandation","recommendation"],["recommanded","recommended"],["recommanding","recommending"],["recommands","recommends"],["recommd","recommend"],["recommdation","recommendation"],["recommded","recommended"],["recommdend","recommend"],["recommdended","recommended"],["recommdends","recommends"],["recommds","recommends"],["recommed","recommend"],["recommedation","recommendation"],["recommedations","recommendations"],["recommeded","recommended"],["recommeding","recommending"],["recommeds","recommends"],["recommened","recommended"],["recommeneded","recommended"],["recommented","recommended"],["recommmend","recommend"],["recommmended","recommended"],["recommmends","recommends"],["recommnd","recommend"],["recommnded","recommended"],["recommnds","recommends"],["recommned","recommend"],["recommneded","recommended"],["recommneds","recommends"],["recommpile","recompile"],["recommpiled","recompiled"],["recompence","recompense"],["recomput","recompute"],["recomputaion","recomputation"],["recompuute","recompute"],["recompuuted","recomputed"],["recompuutes","recomputes"],["recompuuting","recomputing"],["reconaissance","reconnaissance"],["reconcilation","reconciliation"],["recondifure","reconfigure"],["reconecct","reconnect"],["reconeccted","reconnected"],["reconeccting","reconnecting"],["reconecction","reconnection"],["reconecctions","reconnections"],["reconeccts","reconnects"],["reconect","reconnect"],["reconected","reconnected"],["reconecting","reconnecting"],["reconection","reconnection"],["reconections","reconnections"],["reconects","reconnects"],["reconeect","reconnect"],["reconeected","reconnected"],["reconeecting","reconnecting"],["reconeection","reconnection"],["reconeections","reconnections"],["reconeects","reconnects"],["reconenct","reconnect"],["reconencted","reconnected"],["reconencting","reconnecting"],["reconenction","reconnection"],["reconenctions","reconnections"],["reconencts","reconnects"],["reconet","reconnect"],["reconeted","reconnected"],["reconeting","reconnecting"],["reconetion","reconnection"],["reconetions","reconnections"],["reconets","reconnects"],["reconfifure","reconfigure"],["reconfiged","reconfigured"],["reconfugire","reconfigure"],["reconfugre","reconfigure"],["reconfugure","reconfigure"],["reconfure","reconfigure"],["recongifure","reconfigure"],["recongize","recognize"],["recongized","recognized"],["recongnises","recognises"],["recongnizes","recognizes"],["reconize","recognize"],["reconized","recognized"],["reconnaisance","reconnaissance"],["reconnaissence","reconnaissance"],["reconnct","reconnect"],["reconncted","reconnected"],["reconncting","reconnecting"],["reconncts","reconnects"],["reconsidder","reconsider"],["reconstrcut","reconstruct"],["reconstrcuted","reconstructed"],["reconstrcution","reconstruction"],["reconstuct","reconstruct"],["reconstucted","reconstructed"],["reconstucting","reconstructing"],["reconstucts","reconstructs"],["reconsturction","reconstruction"],["recontruct","reconstruct"],["recontructed","reconstructed"],["recontructing","reconstructing"],["recontruction","reconstruction"],["recontructions","reconstructions"],["recontructor","reconstructor"],["recontructors","reconstructors"],["recontructs","reconstructs"],["recordproducer","record producer"],["recordss","records"],["recored","recorded"],["recoriding","recording"],["recourced","resourced"],["recources","resources"],["recourcing","resourcing"],["recpie","recipe"],["recpies","recipes"],["recquired","required"],["recrational","recreational"],["recreateation","recreation"],["recrod","record"],["recrods","records"],["recrusevly","recursively"],["recrusion","recursion"],["recrusive","recursive"],["recrusivelly","recursively"],["recrusively","recursively"],["rectange","rectangle"],["rectanges","rectangles"],["rectanglar","rectangular"],["rectangluar","rectangular"],["rectiinear","rectilinear"],["recude","reduce"],["recuiting","recruiting"],["reculrively","recursively"],["recuring","recurring"],["recurisvely","recursively"],["recurively","recursively"],["recurrance","recurrence"],["recursily","recursively"],["recursivelly","recursively"],["recursivion","recursion"],["recursivley","recursively"],["recursivly","recursively"],["recurssed","recursed"],["recursses","recurses"],["recurssing","recursing"],["recurssion","recursion"],["recurssive","recursive"],["recusrive","recursive"],["recusrively","recursively"],["recusrsive","recursive"],["recustion","recursion"],["recyclying","recycling"],["recylcing","recycling"],["recyle","recycle"],["recyled","recycled"],["recyles","recycles"],["recyling","recycling"],["redability","readability"],["redandant","redundant"],["redeable","readable"],["redeclaation","redeclaration"],["redefiend","redefined"],["redefiende","redefined"],["redefintion","redefinition"],["redefintions","redefinitions"],["redenderer","renderer"],["redered","rendered"],["redict","redirect"],["rediculous","ridiculous"],["redidual","residual"],["redifine","redefine"],["redifinition","redefinition"],["redifinitions","redefinitions"],["redifintion","redefinition"],["redifintions","redefinitions"],["reding","reading"],["redings","readings"],["redircet","redirect"],["redirectd","redirected"],["redirectrion","redirection"],["redisign","redesign"],["redistirbute","redistribute"],["redistirbuted","redistributed"],["redistirbutes","redistributes"],["redistirbuting","redistributing"],["redistirbution","redistribution"],["redistributeable","redistributable"],["redistrubute","redistribute"],["redistrubuted","redistributed"],["redistrubution","redistribution"],["redistrubutions","redistributions"],["redliens","redlines"],["rednerer","renderer"],["redonly","readonly"],["redudancy","redundancy"],["redudant","redundant"],["redunancy","redundancy"],["redunant","redundant"],["redundacy","redundancy"],["redundand","redundant"],["redundat","redundant"],["redundency","redundancy"],["redundent","redundant"],["reduntancy","redundancy"],["reduntant","redundant"],["reease","release"],["reeased","released"],["reeaser","releaser"],["reeasers","releasers"],["reeases","releases"],["reeasing","releasing"],["reedeming","redeeming"],["reegion","region"],["reegions","regions"],["reelation","relation"],["reelease","release"],["reenable","re-enable"],["reenabled","re-enabled"],["reename","rename"],["reencode","re-encode"],["reenfoce","reinforce"],["reenfoced","reinforced"],["reenforced","reinforced"],["reesrved","reserved"],["reesult","result"],["reeturn","return"],["reeturned","returned"],["reeturning","returning"],["reeturns","returns"],["reevalute","reevaluate"],["reevaulating","reevaluating"],["refcound","refcount"],["refcounf","refcount"],["refect","reflect"],["refected","reflected"],["refecting","reflecting"],["refectiv","reflective"],["refector","refactor"],["refectoring","refactoring"],["refects","reflects"],["refedendum","referendum"],["refeinement","refinement"],["refeinements","refinements"],["refelects","reflects"],["refence","reference"],["refences","references"],["refenence","reference"],["refenrenced","referenced"],["referal","referral"],["referance","reference"],["referanced","referenced"],["referances","references"],["referant","referent"],["referebces","references"],["referece","reference"],["referecence","reference"],["referecences","references"],["refereces","references"],["referecne","reference"],["refered","referred"],["referefences","references"],["referemce","reference"],["referemces","references"],["referenace","reference"],["referenc","reference"],["referencable","referenceable"],["referencial","referential"],["referencially","referentially"],["referencs","references"],["referenct","referenced"],["referene","reference"],["referenece","reference"],["refereneced","referenced"],["refereneces","references"],["referened","referenced"],["referenence","reference"],["referenenced","referenced"],["referenences","references"],["referenes","references"],["referennces","references"],["referense","reference"],["referensed","referenced"],["referenses","references"],["referenz","reference"],["referenzes","references"],["refererd","referred"],["refererence","reference"],["referiang","referring"],["refering","referring"],["refernce","reference"],["refernced","referenced"],["referncence","reference"],["referncences","references"],["refernces","references"],["referncial","referential"],["referncing","referencing"],["refernece","reference"],["referneced","referenced"],["referneces","references"],["refernnce","reference"],["referr","refer"],["referrence","reference"],["referrenced","referenced"],["referrences","references"],["referrencing","referencing"],["referreres","referrers"],["referres","refers"],["referrs","refers"],["refertence","reference"],["refertenced","referenced"],["refertences","references"],["refesh","refresh"],["refeshed","refreshed"],["refeshes","refreshes"],["refeshing","refreshing"],["reffered","referred"],["refference","reference"],["reffering","referring"],["refferr","refer"],["reffers","refers"],["refinemenet","refinement"],["refinmenet","refinement"],["refinment","refinement"],["reflet","reflect"],["refleted","reflected"],["refleting","reflecting"],["refletion","reflection"],["refletions","reflections"],["reflets","reflects"],["refocuss","refocus"],["refocussed","refocused"],["reformating","reformatting"],["reformattd","reformatted"],["refreh","refresh"],["refrence","reference"],["refrenced","referenced"],["refrences","references"],["refrencing","referencing"],["refrerence","reference"],["refrerenced","referenced"],["refrerenceing","referencing"],["refrerences","references"],["refrerencial","referential"],["refrers","refers"],["refreshs","refreshes"],["refreshses","refreshes"],["refridgeration","refrigeration"],["refridgerator","refrigerator"],["refromatting","refomatting"],["refromist","reformist"],["refrormatting","reformatting"],["refure","refuse"],["refures","refuses"],["refusla","refusal"],["regalar","regular"],["regalars","regulars"],["regardes","regards"],["regardles","regardless"],["regardlesss","regardless"],["regaring","regarding"],["regarldess","regardless"],["regarless","regardless"],["regart","regard"],["regarted","regarded"],["regarting","regarding"],["regartless","regardless"],["regconized","recognized"],["regeister","register"],["regeistered","registered"],["regeistration","registration"],["regenarated","regenerated"],["regenrated","regenerated"],["regenratet","regenerated"],["regenrating","regenerating"],["regenration","regeneration"],["regenrative","regenerative"],["regession","regression"],["regestered","registered"],["regidstered","registered"],["regio","region"],["regiser","register"],["regisration","registration"],["regist","register"],["registartion","registration"],["registe","register"],["registed","registered"],["registeing","registering"],["registeration","registration"],["registerered","registered"],["registeres","registers"],["registeresd","registered"],["registerred","registered"],["registert","registered"],["registery","registry"],["registes","registers"],["registing","registering"],["registors","registers"],["registrain","registration"],["registraion","registration"],["registraions","registrations"],["registraration","registration"],["registrated","registered"],["registred","registered"],["registrer","register"],["registring","registering"],["registrs","registers"],["registy","registry"],["regiter","register"],["regitered","registered"],["regitering","registering"],["regiters","registers"],["regluar","regular"],["regon","region"],["regons","regions"],["regorded","recorded"],["regresion","regression"],["regresison","regression"],["regresssion","regression"],["regrigerator","refrigerator"],["regsion","region"],["regsions","regions"],["regsiter","register"],["regsitered","registered"],["regsitering","registering"],["regsiters","registers"],["regsitry","registry"],["regster","register"],["regstered","registered"],["regstering","registering"],["regsters","registers"],["regstry","registry"],["regualar","regular"],["regualarly","regularly"],["regualator","regulator"],["regualr","regular"],["regualtor","regulator"],["reguardless","regardless"],["reguarldess","regardless"],["reguarlise","regularise"],["reguarliser","regulariser"],["reguarlize","regularize"],["reguarlizer","regularizer"],["reguarly","regularly"],["reguator","regulator"],["reguire","require"],["reguired","required"],["reguirement","requirement"],["reguirements","requirements"],["reguires","requires"],["reguiring","requiring"],["regulaer","regular"],["regulaion","regulation"],["regulamentation","regulation"],["regulamentations","regulations"],["regulaotrs","regulators"],["regulaotry","regulatory"],["regularily","regularly"],["regulariry","regularly"],["regularlisation","regularisation"],["regularlise","regularise"],["regularlised","regularised"],["regularliser","regulariser"],["regularlises","regularises"],["regularlising","regularising"],["regularlization","regularization"],["regularlize","regularize"],["regularlized","regularized"],["regularlizer","regularizer"],["regularlizes","regularizes"],["regularlizing","regularizing"],["regularlly","regularly"],["regulax","regular"],["reguler","regular"],["regulr","regular"],["regultor","regulator"],["regultors","regulators"],["regultory","regulatory"],["regurlarly","regularly"],["reguster","register"],["rehersal","rehearsal"],["rehersing","rehearsing"],["reicarnation","reincarnation"],["reigining","reigning"],["reigonal","regional"],["reigster","register"],["reigstered","registered"],["reigstering","registering"],["reigsters","registers"],["reigstration","registration"],["reimplemenet","reimplement"],["reimplementaion","reimplementation"],["reimplementaions","reimplementations"],["reimplemention","reimplementation"],["reimplementions","reimplementations"],["reimplented","reimplemented"],["reimplents","reimplements"],["reimpliment","reimplement"],["reimplimenting","reimplementing"],["reimplmenet","reimplement"],["reimplment","reimplement"],["reimplmentation","reimplementation"],["reimplmented","reimplemented"],["reimplmenting","reimplementing"],["reimplments","reimplements"],["reimpplement","reimplement"],["reimpplementating","reimplementing"],["reimpplementation","reimplementation"],["reimpplemented","reimplemented"],["reimpremented","reimplemented"],["reinfoce","reinforce"],["reinfoced","reinforced"],["reinfocement","reinforcement"],["reinfocements","reinforcements"],["reinfoces","reinforces"],["reinfocing","reinforcing"],["reinitailise","reinitialise"],["reinitailised","reinitialised"],["reinitailize","reinitialize"],["reinitalize","reinitialize"],["reinitilize","reinitialize"],["reinitilized","reinitialized"],["reinstatiate","reinstantiate"],["reinstatiated","reinstantiated"],["reinstatiates","reinstantiates"],["reinstatiation","reinstantiation"],["reintantiate","reinstantiate"],["reintantiating","reinstantiating"],["reintepret","reinterpret"],["reintepreted","reinterpreted"],["reister","register"],["reitterate","reiterate"],["reitterated","reiterated"],["reitterates","reiterates"],["reivison","revision"],["rejplace","replace"],["reknown","renown"],["reknowned","renowned"],["rekursed","recursed"],["rekursion","recursion"],["rekursive","recursive"],["relaative","relative"],["relady","ready"],["relaease","release"],["relaese","release"],["relaesed","released"],["relaeses","releases"],["relaesing","releasing"],["relaged","related"],["relaimed","reclaimed"],["relaion","relation"],["relaive","relative"],["relaly","really"],["relase","release"],["relased","released"],["relaser","releaser"],["relases","releases"],["relashionship","relationship"],["relashionships","relationships"],["relasing","releasing"],["relataive","relative"],["relatated","related"],["relatd","related"],["relatdness","relatedness"],["relatibe","relative"],["relatibely","relatively"],["relatievly","relatively"],["relatiopnship","relationship"],["relativ","relative"],["relativly","relatively"],["relavant","relevant"],["relavent","relevant"],["releaase","release"],["releaased","released"],["relead","reload"],["releae","release"],["releaed","released"],["releaeing","releasing"],["releaing","releasing"],["releas","release"],["releasead","released"],["releasse","release"],["releated","related"],["releating","relating"],["releation","relation"],["releations","relations"],["releationship","relationship"],["releationships","relationships"],["releative","relative"],["releavant","relevant"],["relecant","relevant"],["releive","relieve"],["releived","relieved"],["releiver","reliever"],["releoad","reload"],["relese","release"],["relesed","released"],["releses","releases"],["reletive","relative"],["reletively","relatively"],["relevabt","relevant"],["relevane","relevant"],["releveant","relevant"],["relevence","relevance"],["relevent","relevant"],["relfected","reflected"],["relfecting","reflecting"],["relfection","reflection"],["relfections","reflections"],["reliablity","reliability"],["relient","reliant"],["religeous","religious"],["religous","religious"],["religously","religiously"],["relinguish","relinquish"],["relinguishing","relinquishing"],["relinqushment","relinquishment"],["relintquish","relinquish"],["relitavely","relatively"],["relly","really"],["reloade","reload"],["relocae","relocate"],["relocaes","relocates"],["relocaiing","relocating"],["relocaing","relocating"],["relocaion","relocation"],["relocaions","relocations"],["relocaite","relocate"],["relocaites","relocates"],["relocaiting","relocating"],["relocaition","relocation"],["relocaitions","relocations"],["relocaiton","relocation"],["relocaitons","relocations"],["relocateable","relocatable"],["reloccate","relocate"],["reloccated","relocated"],["reloccates","relocates"],["relpacement","replacement"],["relpy","reply"],["reltive","relative"],["relyable","reliable"],["relyably","reliably"],["relyed","relied"],["relys","relies"],["remaing","remaining"],["remainging","remaining"],["remainig","remaining"],["remainst","remains"],["remaning","remaining"],["remaped","remapped"],["remaping","remapping"],["rembember","remember"],["rembembered","remembered"],["rembembering","remembering"],["rembembers","remembers"],["rember","remember"],["remeber","remember"],["remebered","remembered"],["remebering","remembering"],["remebers","remembers"],["rememberable","memorable"],["rememberance","remembrance"],["rememberd","remembered"],["remembrence","remembrance"],["rememeber","remember"],["rememebered","remembered"],["rememebering","remembering"],["rememebers","remembers"],["rememebr","remember"],["rememebred","remembered"],["rememebrs","remembers"],["rememember","remember"],["rememembered","remembered"],["rememembers","remembers"],["rememer","remember"],["rememered","remembered"],["rememers","remembers"],["rememor","remember"],["rememored","remembered"],["rememoring","remembering"],["rememors","remembers"],["rememver","remember"],["remenant","remnant"],["remenber","remember"],["remenicent","reminiscent"],["remian","remain"],["remianed","remained"],["remianing","remaining"],["remians","remains"],["reminent","remnant"],["reminescent","reminiscent"],["remining","remaining"],["reminiscense","reminiscence"],["reminscent","reminiscent"],["reminsicent","reminiscent"],["remmeber","remember"],["remmebered","remembered"],["remmebering","remembering"],["remmebers","remembers"],["remmove","remove"],["remoce","remove"],["remoive","remove"],["remoived","removed"],["remoives","removes"],["remoiving","removing"],["remontly","remotely"],["remoote","remote"],["remore","remote"],["remorted","reported"],["remot","remote"],["removce","remove"],["removeable","removable"],["removefromat","removeformat"],["removeing","removing"],["removerd","removed"],["remve","remove"],["remved","removed"],["remves","removes"],["remvoe","remove"],["remvoed","removed"],["remvoes","removes"],["remvove","remove"],["remvoved","removed"],["remvoves","removes"],["remvs","removes"],["renabled","re-enabled"],["renderadble","renderable"],["renderd","rendered"],["rendereing","rendering"],["rendererd","rendered"],["renderered","rendered"],["renderering","rendering"],["renderning","rendering"],["renderr","render"],["renderring","rendering"],["rendevous","rendezvous"],["rendezous","rendezvous"],["rendired","rendered"],["rendirer","renderer"],["rendirers","renderers"],["rendiring","rendering"],["rendring","rendering"],["renedered","rendered"],["renegatiotiable","renegotiable"],["renegatiotiate","renegotiate"],["renegatiotiated","renegotiated"],["renegatiotiates","renegotiates"],["renegatiotiating","renegotiating"],["renegatiotiation","renegotiation"],["renegatiotiations","renegotiations"],["renegatiotiator","renegotiator"],["renegatiotiators","renegotiators"],["renegoable","renegotiable"],["renegoate","renegotiate"],["renegoated","renegotiated"],["renegoates","renegotiates"],["renegoatiable","renegotiable"],["renegoatiate","renegotiate"],["renegoatiated","renegotiated"],["renegoatiates","renegotiates"],["renegoatiating","renegotiating"],["renegoatiation","renegotiation"],["renegoatiations","renegotiations"],["renegoatiator","renegotiator"],["renegoatiators","renegotiators"],["renegoating","renegotiating"],["renegoation","renegotiation"],["renegoations","renegotiations"],["renegoator","renegotiator"],["renegoators","renegotiators"],["renegociable","renegotiable"],["renegociate","renegotiate"],["renegociated","renegotiated"],["renegociates","renegotiates"],["renegociating","renegotiating"],["renegociation","renegotiation"],["renegociations","renegotiations"],["renegociator","renegotiator"],["renegociators","renegotiators"],["renegogtiable","renegotiable"],["renegogtiate","renegotiate"],["renegogtiated","renegotiated"],["renegogtiates","renegotiates"],["renegogtiating","renegotiating"],["renegogtiation","renegotiation"],["renegogtiations","renegotiations"],["renegogtiator","renegotiator"],["renegogtiators","renegotiators"],["renegoitable","renegotiable"],["renegoitate","renegotiate"],["renegoitated","renegotiated"],["renegoitates","renegotiates"],["renegoitating","renegotiating"],["renegoitation","renegotiation"],["renegoitations","renegotiations"],["renegoitator","renegotiator"],["renegoitators","renegotiators"],["renegoptionsotiable","renegotiable"],["renegoptionsotiate","renegotiate"],["renegoptionsotiated","renegotiated"],["renegoptionsotiates","renegotiates"],["renegoptionsotiating","renegotiating"],["renegoptionsotiation","renegotiation"],["renegoptionsotiations","renegotiations"],["renegoptionsotiator","renegotiator"],["renegoptionsotiators","renegotiators"],["renegosiable","renegotiable"],["renegosiate","renegotiate"],["renegosiated","renegotiated"],["renegosiates","renegotiates"],["renegosiating","renegotiating"],["renegosiation","renegotiation"],["renegosiations","renegotiations"],["renegosiator","renegotiator"],["renegosiators","renegotiators"],["renegotable","renegotiable"],["renegotaiable","renegotiable"],["renegotaiate","renegotiate"],["renegotaiated","renegotiated"],["renegotaiates","renegotiates"],["renegotaiating","renegotiating"],["renegotaiation","renegotiation"],["renegotaiations","renegotiations"],["renegotaiator","renegotiator"],["renegotaiators","renegotiators"],["renegotaible","renegotiable"],["renegotaite","renegotiate"],["renegotaited","renegotiated"],["renegotaites","renegotiates"],["renegotaiting","renegotiating"],["renegotaition","renegotiation"],["renegotaitions","renegotiations"],["renegotaitor","renegotiator"],["renegotaitors","renegotiators"],["renegotate","renegotiate"],["renegotated","renegotiated"],["renegotates","renegotiates"],["renegotatiable","renegotiable"],["renegotatiate","renegotiate"],["renegotatiated","renegotiated"],["renegotatiates","renegotiates"],["renegotatiating","renegotiating"],["renegotatiation","renegotiation"],["renegotatiations","renegotiations"],["renegotatiator","renegotiator"],["renegotatiators","renegotiators"],["renegotatible","renegotiable"],["renegotatie","renegotiate"],["renegotatied","renegotiated"],["renegotaties","renegotiates"],["renegotating","renegotiating"],["renegotation","renegotiation"],["renegotations","renegotiations"],["renegotatior","renegotiator"],["renegotatiors","renegotiators"],["renegotator","renegotiator"],["renegotators","renegotiators"],["renegothiable","renegotiable"],["renegothiate","renegotiate"],["renegothiated","renegotiated"],["renegothiates","renegotiates"],["renegothiating","renegotiating"],["renegothiation","renegotiation"],["renegothiations","renegotiations"],["renegothiator","renegotiator"],["renegothiators","renegotiators"],["renegotible","renegotiable"],["renegoticable","renegotiable"],["renegoticate","renegotiate"],["renegoticated","renegotiated"],["renegoticates","renegotiates"],["renegoticating","renegotiating"],["renegotication","renegotiation"],["renegotications","renegotiations"],["renegoticator","renegotiator"],["renegoticators","renegotiators"],["renegotioable","renegotiable"],["renegotioate","renegotiate"],["renegotioated","renegotiated"],["renegotioates","renegotiates"],["renegotioating","renegotiating"],["renegotioation","renegotiation"],["renegotioations","renegotiations"],["renegotioator","renegotiator"],["renegotioators","renegotiators"],["renegotioble","renegotiable"],["renegotion","renegotiation"],["renegotionable","renegotiable"],["renegotionate","renegotiate"],["renegotionated","renegotiated"],["renegotionates","renegotiates"],["renegotionating","renegotiating"],["renegotionation","renegotiation"],["renegotionations","renegotiations"],["renegotionator","renegotiator"],["renegotionators","renegotiators"],["renegotions","renegotiations"],["renegotiotable","renegotiable"],["renegotiotate","renegotiate"],["renegotiotated","renegotiated"],["renegotiotates","renegotiates"],["renegotiotating","renegotiating"],["renegotiotation","renegotiation"],["renegotiotations","renegotiations"],["renegotiotator","renegotiator"],["renegotiotators","renegotiators"],["renegotiote","renegotiate"],["renegotioted","renegotiated"],["renegotiotes","renegotiates"],["renegotioting","renegotiating"],["renegotiotion","renegotiation"],["renegotiotions","renegotiations"],["renegotiotor","renegotiator"],["renegotiotors","renegotiators"],["renegotitable","renegotiable"],["renegotitae","renegotiate"],["renegotitaed","renegotiated"],["renegotitaes","renegotiates"],["renegotitaing","renegotiating"],["renegotitaion","renegotiation"],["renegotitaions","renegotiations"],["renegotitaor","renegotiator"],["renegotitaors","renegotiators"],["renegotitate","renegotiate"],["renegotitated","renegotiated"],["renegotitates","renegotiates"],["renegotitating","renegotiating"],["renegotitation","renegotiation"],["renegotitations","renegotiations"],["renegotitator","renegotiator"],["renegotitators","renegotiators"],["renegotite","renegotiate"],["renegotited","renegotiated"],["renegotites","renegotiates"],["renegotiting","renegotiating"],["renegotition","renegotiation"],["renegotitions","renegotiations"],["renegotitor","renegotiator"],["renegotitors","renegotiators"],["renegoziable","renegotiable"],["renegoziate","renegotiate"],["renegoziated","renegotiated"],["renegoziates","renegotiates"],["renegoziating","renegotiating"],["renegoziation","renegotiation"],["renegoziations","renegotiations"],["renegoziator","renegotiator"],["renegoziators","renegotiators"],["reneweal","renewal"],["renewl","renewal"],["renforce","reinforce"],["renforced","reinforced"],["renforcement","reinforcement"],["renforcements","reinforcements"],["renforces","reinforces"],["rennovate","renovate"],["rennovated","renovated"],["rennovating","renovating"],["rennovation","renovation"],["rentime","runtime"],["rentors","renters"],["reoadmap","roadmap"],["reoccurrence","recurrence"],["reoder","reorder"],["reomvable","removable"],["reomve","remove"],["reomved","removed"],["reomves","removes"],["reomving","removing"],["reonly","read-only"],["reopended","reopened"],["reoport","report"],["reopsitory","repository"],["reord","record"],["reorded","reorder"],["reorer","reorder"],["reorganision","reorganisation"],["reorginised","reorganised"],["reorginized","reorganized"],["reosnable","reasonable"],["reosne","reason"],["reosurce","resource"],["reosurced","resourced"],["reosurces","resources"],["reosurcing","resourcing"],["reounded","rounded"],["repace","replace"],["repaced","replaced"],["repacement","replacement"],["repacements","replacements"],["repaces","replaces"],["repacing","replacing"],["repackge","repackage"],["repackged","repackaged"],["repaitnt","repaint"],["reparamterization","reparameterization"],["repblic","republic"],["repblican","republican"],["repblicans","republicans"],["repblics","republics"],["repeates","repeats"],["repeatly","repeatedly"],["repect","respect"],["repectable","respectable"],["repected","respected"],["repecting","respecting"],["repective","respective"],["repectively","respectively"],["repects","respects"],["repedability","repeatability"],["repedable","repeatable"],["repeition","repetition"],["repentence","repentance"],["repentent","repentant"],["reperesent","represent"],["reperesentation","representation"],["reperesentational","representational"],["reperesentations","representations"],["reperesented","represented"],["reperesenting","representing"],["reperesents","represents"],["repersentation","representation"],["repertoir","repertoire"],["repesent","represent"],["repesentation","representation"],["repesentational","representational"],["repesented","represented"],["repesenting","representing"],["repesents","represents"],["repet","repeat"],["repetative","repetitive"],["repete","repeat"],["repeteadly","repeatedly"],["repetetion","repetition"],["repetetions","repetitions"],["repetetive","repetitive"],["repeting","repeating"],["repetion","repetition"],["repetions","repetitions"],["repetive","repetitive"],["repid","rapid"],["repition","repetition"],["repitions","repetitions"],["repitition","repetition"],["repititions","repetitions"],["replacability","replaceability"],["replacables","replaceables"],["replacacing","replacing"],["replacalbe","replaceable"],["replacalbes","replaceables"],["replacament","replacement"],["replacaments","replacements"],["replacate","replicate"],["replacated","replicated"],["replacates","replicates"],["replacating","replicating"],["replacation","replication"],["replacd","replaced"],["replaceemnt","replacement"],["replaceemnts","replacements"],["replacemenet","replacement"],["replacmenet","replacement"],["replacment","replacement"],["replacments","replacements"],["replacong","replacing"],["replaint","repaint"],["replasement","replacement"],["replasements","replacements"],["replcace","replace"],["replcaced","replaced"],["replcaof","replicaof"],["replicae","replicate"],["replicaes","replicates"],["replicaiing","replicating"],["replicaion","replication"],["replicaions","replications"],["replicaite","replicate"],["replicaites","replicates"],["replicaiting","replicating"],["replicaition","replication"],["replicaitions","replications"],["replicaiton","replication"],["replicaitons","replications"],["repling","replying"],["replys","replies"],["reponding","responding"],["reponse","response"],["reponses","responses"],["reponsibilities","responsibilities"],["reponsibility","responsibility"],["reponsible","responsible"],["reporing","reporting"],["reporitory","repository"],["reportadly","reportedly"],["reportign","reporting"],["reportresouces","reportresources"],["reposiotory","repository"],["reposiry","repository"],["repositiories","repositories"],["repositiory","repository"],["repositiroes","repositories"],["reposititioning","repositioning"],["repositorry","repository"],["repositotries","repositories"],["repositotry","repository"],["repositry","repository"],["reposoitory","repository"],["reposond","respond"],["reposonder","responder"],["reposonders","responders"],["reposonding","responding"],["reposonse","response"],["reposonses","responses"],["repostiories","repositories"],["repostiory","repository"],["repostories","repositories"],["repostory","repository"],["repport","report"],["reppository","repository"],["repraesentation","representation"],["repraesentational","representational"],["repraesentations","representations"],["reprecussion","repercussion"],["reprecussions","repercussions"],["repreesnt","represent"],["repreesnted","represented"],["repreesnts","represents"],["reprensent","represent"],["reprensentation","representation"],["reprensentational","representational"],["reprensentations","representations"],["reprepresents","represents"],["represantation","representation"],["represantational","representational"],["represantations","representations"],["represantative","representative"],["represenatation","representation"],["represenatational","representational"],["represenatations","representations"],["represenation","representation"],["represenational","representational"],["represenations","representations"],["represend","represent"],["representaion","representation"],["representaional","representational"],["representaions","representations"],["representaiton","representation"],["representated","represented"],["representating","representing"],["representd","represented"],["representiative","representative"],["represention","representation"],["representions","representations"],["representive","representative"],["representives","representatives"],["represet","represent"],["represetation","representation"],["represeted","represented"],["represeting","representing"],["represets","represents"],["represnet","represent"],["represnetated","represented"],["represnetation","representation"],["represnetations","representations"],["represneted","represented"],["represneting","representing"],["represnets","represents"],["represnt","represent"],["represntation","representation"],["represntative","representative"],["represnted","represented"],["represnts","represents"],["repressent","represent"],["repressentation","representation"],["repressenting","representing"],["repressents","represents"],["reprociblbe","reproducible"],["reprocible","reproducible"],["reprodice","reproduce"],["reprodiced","reproduced"],["reprodicibility","reproducibility"],["reprodicible","reproducible"],["reprodicibly","reproducibly"],["reprodicing","reproducing"],["reprodiction","reproduction"],["reproducabely","reproducibly"],["reproducability","reproducibility"],["reproducable","reproducible"],["reproducablitity","reproducibility"],["reproducably","reproducibly"],["reproduciability","reproduceability"],["reproduciable","reproduceable"],["reproduciblity","reproducibility"],["reprot","report"],["reprots","reports"],["reprsent","represent"],["reprsentation","representation"],["reprsentations","representations"],["reprsented","represented"],["reprsenting","representing"],["reprsents","represents"],["reprtoire","repertoire"],["reprucible","reproducible"],["repsectively","respectively"],["repsonse","response"],["repsonses","responses"],["repsonsible","responsible"],["repspectively","respectively"],["repsresents","represents"],["reptition","repetition"],["repubic","republic"],["repubican","republican"],["repubicans","republicans"],["repubics","republics"],["republi","republic"],["republian","republican"],["republians","republicans"],["republis","republics"],["repulic","republic"],["repulican","republican"],["repulicans","republicans"],["repulics","republics"],["reputpose","repurpose"],["reputposed","repurposed"],["reputposes","repurposes"],["reputposing","repurposing"],["reqest","request"],["reqested","requested"],["reqests","requests"],["reqeuest","request"],["reqeust","request"],["reqeusted","requested"],["reqeusting","requesting"],["reqeusts","requests"],["reqiest","request"],["reqire","require"],["reqired","required"],["reqirement","requirement"],["reqirements","requirements"],["reqires","requires"],["reqiring","requiring"],["reqiure","require"],["reqrite","rewrite"],["reqrites","rewrites"],["requencies","frequencies"],["requency","frequency"],["requeried","required"],["requeriment","requirement"],["requeriments","requirements"],["reques","request"],["requesr","request"],["requestd","requested"],["requestesd","requested"],["requestested","requested"],["requestied","requested"],["requestying","requesting"],["requet","request"],["requeted","requested"],["requeting","requesting"],["requets","requests"],["requeum","requiem"],["requied","required"],["requierd","required"],["requiere","require"],["requiered","required"],["requierement","requirement"],["requierements","requirements"],["requieres","requires"],["requiering","requiring"],["requies","requires"],["requiest","request"],["requiested","requested"],["requiesting","requesting"],["requiests","requests"],["requird","required"],["requireing","requiring"],["requiremenet","requirement"],["requiremenets","requirements"],["requiremnt","requirement"],["requirment","requirement"],["requirments","requirements"],["requisit","requisite"],["requisits","requisites"],["requre","require"],["requred","required"],["requrement","requirement"],["requrements","requirements"],["requres","requires"],["requrest","request"],["requrested","requested"],["requresting","requesting"],["requrests","requests"],["requried","required"],["requriement","requirement"],["requriements","requirements"],["requries","requires"],["requriment","requirement"],["requring","requiring"],["requrired","required"],["requrirement","requirement"],["requrirements","requirements"],["requris","require"],["requsite","requisite"],["requsites","requisites"],["requst","request"],["requsted","requested"],["requsting","requesting"],["requsts","requests"],["reregisteration","reregistration"],["rererences","references"],["rerference","reference"],["rerferences","references"],["rerpesentation","representation"],["rertieve","retrieve"],["rertieved","retrieved"],["rertiever","retriever"],["rertievers","retrievers"],["rertieves","retrieves"],["reruirement","requirement"],["reruirements","requirements"],["reruning","rerunning"],["rerwite","rewrite"],["resarch","research"],["resart","restart"],["resarts","restarts"],["resaurant","restaurant"],["resaurants","restaurants"],["rescaned","rescanned"],["rescource","resource"],["rescourced","resourced"],["rescources","resources"],["rescourcing","resourcing"],["rescrition","restriction"],["rescritions","restrictions"],["rescueing","rescuing"],["reseach","research"],["reseached","researched"],["researvation","reservation"],["researvations","reservations"],["researve","reserve"],["researved","reserved"],["researves","reserves"],["researving","reserving"],["reselction","reselection"],["resembelance","resemblance"],["resembes","resembles"],["resemblence","resemblance"],["resently","recently"],["resepect","respect"],["resepected","respected"],["resepecting","respecting"],["resepective","respective"],["resepectively","respectively"],["resepects","respects"],["reseration","reservation"],["reserv","reserve"],["reserverd","reserved"],["reservered","reserved"],["resestatus","resetstatus"],["resetable","resettable"],["reseted","reset"],["reseting","resetting"],["resetted","reset"],["reseved","reserved"],["reseverd","reserved"],["resevered","reserved"],["resevering","reserving"],["resevoir","reservoir"],["resgister","register"],["resgisters","registers"],["residental","residential"],["resierfs","reiserfs"],["resignement","resignment"],["resilence","resilience"],["resistable","resistible"],["resistence","resistance"],["resistent","resistant"],["resitance","resistance"],["resitances","resistances"],["resitor","resistor"],["resitors","resistors"],["resivwar","reservoir"],["resizeable","resizable"],["resizeble","resizable"],["reslection","reselection"],["reslove","resolve"],["resloved","resolved"],["resloves","resolves"],["resloving","resolving"],["reslut","result"],["resluts","results"],["resoect","respect"],["resoective","respective"],["resoiurce","resource"],["resoiurced","resourced"],["resoiurces","resources"],["resoiurcing","resourcing"],["resoltion","resolution"],["resoltuion","resolution"],["resoltuions","resolutions"],["resoluitons","resolutions"],["resolutin","resolution"],["resolutino","resolution"],["resolutinos","resolutions"],["resolutins","resolutions"],["resoluton","resolution"],["resolvinf","resolving"],["reson","reason"],["resonable","reasonable"],["resons","reasons"],["resonse","response"],["resonses","responses"],["resoource","resource"],["resoourced","resourced"],["resoources","resources"],["resoourcing","resourcing"],["resopnse","response"],["resopnses","responses"],["resorce","resource"],["resorced","resourced"],["resorces","resources"],["resorcing","resourcing"],["resore","restore"],["resorece","resource"],["resoreces","resources"],["resoruce","resource"],["resoruced","resourced"],["resoruces","resources"],["resorucing","resourcing"],["resotration","restoration"],["resotrations","restorations"],["resotrative","restorative"],["resotre","restore"],["resotrer","restorer"],["resotrers","restorers"],["resotres","restores"],["resotring","restoring"],["resouce","resource"],["resouced","resourced"],["resouces","resources"],["resoucing","resourcing"],["resoultion","resolution"],["resoultions","resolutions"],["resourcees","resources"],["resourceype","resourcetype"],["resoure","resource"],["resourecs","resources"],["resoured","resourced"],["resoures","resources"],["resourses","resources"],["resoution","resolution"],["resoves","resolves"],["resovle","resolve"],["resovled","resolved"],["resovles","resolves"],["resovling","resolving"],["respawining","respawning"],["respecitve","respective"],["respecitvely","respectively"],["respecive","respective"],["respecively","respectively"],["respectivelly","respectively"],["respectivley","respectively"],["respectivly","respectively"],["respnse","response"],["respnses","responses"],["respoduce","reproduce"],["responce","response"],["responces","responses"],["responibilities","responsibilities"],["responisble","responsible"],["responnsibilty","responsibility"],["responsabilities","responsibilities"],["responsability","responsibility"],["responsable","responsible"],["responsbile","responsible"],["responser's","responder's"],["responser","responder"],["responsers","responders"],["responsess","responses"],["responsibile","responsible"],["responsibilites","responsibilities"],["responsibilty","responsibility"],["responsiblities","responsibilities"],["responsiblity","responsibility"],["responsing","responding"],["respose","response"],["resposes","responses"],["resposibility","responsibility"],["resposible","responsible"],["resposiblity","responsibility"],["respositories","repositories"],["respository","repository"],["resposive","responsive"],["resposiveness","responsiveness"],["resposne","response"],["resposnes","responses"],["respresent","represent"],["respresentation","representation"],["respresentational","representational"],["respresentations","representations"],["respresented","represented"],["respresenting","representing"],["respresents","represents"],["resquest","request"],["resrouce","resource"],["resrouced","resourced"],["resrouces","resources"],["resroucing","resourcing"],["reSructuredText","reStructuredText"],["resrved","reserved"],["ressapee","recipe"],["ressemblance","resemblance"],["ressemble","resemble"],["ressembled","resembled"],["ressemblence","resemblance"],["ressembling","resembling"],["ressemle","resemble"],["resset","reset"],["resseted","reset"],["ressets","resets"],["ressetting","resetting"],["ressize","resize"],["ressizes","resizes"],["ressource","resource"],["ressourced","resourced"],["ressources","resources"],["ressourcing","resourcing"],["resssurecting","resurrecting"],["ressult","result"],["ressurect","resurrect"],["ressurected","resurrected"],["ressurecting","resurrecting"],["ressurection","resurrection"],["ressurects","resurrects"],["ressurrection","resurrection"],["restarant","restaurant"],["restarants","restaurants"],["restaraunt","restaurant"],["restaraunteur","restaurateur"],["restaraunteurs","restaurateurs"],["restaraunts","restaurants"],["restauranteurs","restaurateurs"],["restauration","restoration"],["restauraunt","restaurant"],["restaurnad","restaurant"],["restaurnat","restaurant"],["resteraunt","restaurant"],["resteraunts","restaurants"],["restes","reset"],["restesting","retesting"],["resticted","restricted"],["restoding","restoring"],["restoiring","restoring"],["restor","restore"],["restorated","restored"],["restoreable","restorable"],["restoreble","restorable"],["restoreing","restoring"],["restors","restores"],["restouration","restoration"],["restrcted","restricted"],["restrcuture","restructure"],["restriced","restricted"],["restroing","restoring"],["reStructuredTetx","reStructuredText"],["reStructuredTxet","reStructuredText"],["reStrucuredText","reStructuredText"],["restuarant","restaurant"],["restuarants","restaurants"],["reStucturedText","reStructuredText"],["restucturing","restructuring"],["reStucuredText","reStructuredText"],["resturant","restaurant"],["resturants","restaurants"],["resturaunt","restaurant"],["resturaunts","restaurants"],["resturcturation","restructuration"],["resturcture","restructure"],["resturctured","restructured"],["resturctures","restructures"],["resturcturing","restructuring"],["resturns","returns"],["resuable","reusable"],["resuables","reusables"],["resubstituion","resubstitution"],["resuction","reduction"],["resuilt","result"],["resuilted","resulted"],["resuilting","resulting"],["resuilts","results"],["resul","result"],["resuling","resulting"],["resullt","result"],["resulotion","resolution"],["resulsets","resultsets"],["resulst","results"],["resultion","resolution"],["resultions","resolutions"],["resultung","resulting"],["resulution","resolution"],["resumbmitting","resubmitting"],["resumitted","resubmitted"],["resumt","resume"],["resuorce","resource"],["resuorced","resourced"],["resuorces","resources"],["resuorcing","resourcing"],["resurce","resource"],["resurced","resourced"],["resurces","resources"],["resurcing","resourcing"],["resurecting","resurrecting"],["resursively","recursively"],["resuse","reuse"],["resuts","results"],["resycn","resync"],["retalitated","retaliated"],["retalitation","retaliation"],["retangles","rectangles"],["retanslate","retranslate"],["rether","rather"],["retieve","retrieve"],["retieved","retrieved"],["retieves","retrieves"],["retieving","retrieving"],["retinew","retinue"],["retireve","retrieve"],["retireved","retrieved"],["retirever","retriever"],["retirevers","retrievers"],["retireves","retrieves"],["retireving","retrieving"],["retirned","returned"],["retore","restore"],["retored","restored"],["retores","restores"],["retoric","rhetoric"],["retorical","rhetorical"],["retoring","restoring"],["retourned","returned"],["retpresenting","representing"],["retquirement","requirement"],["retquirements","requirements"],["retquireseek","requireseek"],["retquiresgpos","requiresgpos"],["retquiresgsub","requiresgsub"],["retquiressl","requiressl"],["retranser","retransfer"],["retransferd","retransferred"],["retransfered","retransferred"],["retransfering","retransferring"],["retransferrd","retransferred"],["retransmited","retransmitted"],["retransmition","retransmission"],["retreevable","retrievable"],["retreeval","retrieval"],["retreeve","retrieve"],["retreeved","retrieved"],["retreeves","retrieves"],["retreeving","retrieving"],["retreivable","retrievable"],["retreival","retrieval"],["retreive","retrieve"],["retreived","retrieved"],["retreives","retrieves"],["retreiving","retrieving"],["retrevable","retrievable"],["retreval","retrieval"],["retreve","retrieve"],["retreved","retrieved"],["retreves","retrieves"],["retreving","retrieving"],["retrict","restrict"],["retricted","restricted"],["retriebe","retrieve"],["retriece","retrieve"],["retrieces","retrieves"],["retriev","retrieve"],["retrieveds","retrieved"],["retrive","retrieve"],["retrived","retrieved"],["retrives","retrieves"],["retriving","retrieving"],["retrn","return"],["retrned","returned"],["retrns","returns"],["retrun","return"],["retruned","returned"],["retruns","returns"],["retrvieve","retrieve"],["retrvieved","retrieved"],["retrviever","retriever"],["retrvievers","retrievers"],["retrvieves","retrieves"],["retsart","restart"],["retsarts","restarts"],["retun","return"],["retunrned","returned"],["retunrs","returns"],["retuns","returns"],["retur","return"],["reture","return"],["retured","returned"],["returend","returned"],["retures","returns"],["returing","returning"],["returm","return"],["returmed","returned"],["returming","returning"],["returms","returns"],["returnd","returned"],["returnes","returns"],["returnig","returning"],["returnn","return"],["returnned","returned"],["returnning","returning"],["returs","returns"],["retursn","returns"],["retutning","returning"],["retyring","retrying"],["reudce","reduce"],["reudced","reduced"],["reudces","reduces"],["reudction","reduction"],["reudctions","reductions"],["reuest","request"],["reuests","requests"],["reulator","regulator"],["reundant","redundant"],["reundantly","redundantly"],["reuplad","reupload"],["reupladed","reuploaded"],["reuplader","reuploader"],["reupladers","reuploaders"],["reuplading","reuploading"],["reuplads","reuploads"],["reuplaod","reupload"],["reuplaoded","reuploaded"],["reuplaoder","reuploader"],["reuplaoders","reuploaders"],["reuplaoding","reuploading"],["reuplaods","reuploads"],["reuplod","reupload"],["reuploded","reuploaded"],["reuploder","reuploader"],["reuploders","reuploaders"],["reuploding","reuploading"],["reuplods","reuploads"],["reuqest","request"],["reuqested","requested"],["reuqesting","requesting"],["reuqests","requests"],["reurn","return"],["reursively","recursively"],["reuslt","result"],["reussing","reusing"],["reutnred","returned"],["reutrn","return"],["reutrns","returns"],["revaildating","revalidating"],["revaluated","reevaluated"],["reveiw","review"],["reveiwed","reviewed"],["reveiwer","reviewer"],["reveiwers","reviewers"],["reveiwing","reviewing"],["reveiws","reviews"],["revelent","relevant"],["revelution","revolution"],["revelutions","revolutions"],["reveokes","revokes"],["reverce","reverse"],["reverced","reversed"],["revereces","references"],["reverese","reverse"],["reveresed","reversed"],["reveret","revert"],["revereted","reverted"],["reversable","reversible"],["reverse-engeneer","reverse-engineer"],["reverse-engeneering","reverse-engineering"],["reverse-engieer","reverse-engineer"],["reverseed","reversed"],["reversees","reverses"],["reverve","reserve"],["reverved","reserved"],["revewrse","reverse"],["reviewl","review"],["reviewsectio","reviewsection"],["revisisions","revisions"],["revison","revision"],["revisons","revisions"],["revist","revisit"],["revisted","revisited"],["revisting","revisiting"],["revists","revisits"],["reviwed","reviewed"],["reviwer","reviewer"],["reviwers","reviewers"],["reviwing","reviewing"],["revoluion","revolution"],["revolutionar","revolutionary"],["revrese","reverse"],["revrieve","retrieve"],["revrieved","retrieved"],["revriever","retriever"],["revrievers","retrievers"],["revrieves","retrieves"],["revsion","revision"],["rewiev","review"],["rewieved","reviewed"],["rewiever","reviewer"],["rewieving","reviewing"],["rewievs","reviews"],["rewirtable","rewritable"],["rewirte","rewrite"],["rewirtten","rewritten"],["rewitable","rewritable"],["rewite","rewrite"],["rewitten","rewritten"],["reworkd","reworked"],["rewriet","rewrite"],["rewriite","rewrite"],["rewriten","rewritten"],["rewritting","rewriting"],["rewuired","required"],["rference","reference"],["rferences","references"],["rfeturned","returned"],["rgister","register"],["rhymme","rhyme"],["rhythem","rhythm"],["rhythim","rhythm"],["rhythimcally","rhythmically"],["rhytmic","rhythmic"],["ridiculus","ridiculous"],["righ","right"],["righht","right"],["righmost","rightmost"],["rightt","right"],["rigourous","rigorous"],["rigt","right"],["rigth","right"],["rigths","rights"],["rigurous","rigorous"],["riminder","reminder"],["riminders","reminders"],["riminding","reminding"],["rimitives","primitives"],["rininging","ringing"],["rispective","respective"],["ristrict","restrict"],["ristricted","restricted"],["ristriction","restriction"],["ritable","writable"],["rivised","revised"],["rizes","rises"],["rlation","relation"],["rlse","else"],["rmeote","remote"],["rmeove","remove"],["rmeoved","removed"],["rmeoves","removes"],["rmove","remove"],["rmoved","removed"],["rmoving","removing"],["roataion","rotation"],["roatation","rotation"],["roated","rotated"],["roation","rotation"],["roboustness","robustness"],["robustnes","robustness"],["Rockerfeller","Rockefeller"],["rococco","rococo"],["rocord","record"],["rocorded","recorded"],["rocorder","recorder"],["rocording","recording"],["rocordings","recordings"],["rocords","records"],["roduceer","producer"],["roigin","origin"],["roiginal","original"],["roiginally","originally"],["roiginals","originals"],["roiginating","originating"],["roigins","origins"],["romote","remote"],["romoted","remoted"],["romoteing","remoting"],["romotely","remotely"],["romotes","remotes"],["romoting","remoting"],["romotly","remotely"],["roomate","roommate"],["ropeat","repeat"],["rorated","rotated"],["rosponse","response"],["rosponsive","responsive"],["rotaion","rotation"],["rotaions","rotations"],["rotaiton","rotation"],["rotaitons","rotations"],["rotat","rotate"],["rotataion","rotation"],["rotataions","rotations"],["rotateable","rotatable"],["rouding","rounding"],["roughtly","roughly"],["rougly","roughly"],["rouine","routine"],["rouines","routines"],["round-robbin","round-robin"],["roundign","rounding"],["roung","round"],["rountine","routine"],["rountines","routines"],["routiens","routines"],["routins","routines"],["rovide","provide"],["rovided","provided"],["rovider","provider"],["rovides","provides"],["roviding","providing"],["rqeuested","requested"],["rqeuesting","requesting"],["rquested","requested"],["rquesting","requesting"],["rquire","require"],["rquired","required"],["rquirement","requirement"],["rquires","requires"],["rquiring","requiring"],["rranslation","translation"],["rranslations","translations"],["rrase","erase"],["rrror","error"],["rrrored","errored"],["rrroring","erroring"],["rrrors","errors"],["rubarb","rhubarb"],["rucuperate","recuperate"],["rudimentally","rudimentary"],["rudimentatry","rudimentary"],["rudimentory","rudimentary"],["rudimentry","rudimentary"],["rulle","rule"],["rumatic","rheumatic"],["runn","run"],["runnig","running"],["runnign","running"],["runnigng","running"],["runnin","running"],["runnint","running"],["runnners","runners"],["runnning","running"],["runns","runs"],["runnung","running"],["runting","runtime"],["rurrent","current"],["russina","Russian"],["Russion","Russian"],["rwite","write"],["rysnc","rsync"],["rythem","rhythm"],["rythim","rhythm"],["rythm","rhythm"],["rythmic","rhythmic"],["rythyms","rhythms"],["saame","same"],["sabatage","sabotage"],["sabatour","saboteur"],["sacalar","scalar"],["sacalars","scalars"],["sacarin","saccharin"],["sacle","scale"],["sacrafice","sacrifice"],["sacreligious","sacrilegious"],["Sacremento","Sacramento"],["sacrifical","sacrificial"],["sacrifying","sacrificing"],["sacrilegeous","sacrilegious"],["sacrin","saccharin"],["sade","sad"],["saem","same"],["safe-pooint","safe-point"],["safe-pooints","safe-points"],["safeing","saving"],["safepooint","safepoint"],["safepooints","safepoints"],["safequard","safeguard"],["saferi","Safari"],["safetly","safely"],["safly","safely"],["saftey","safety"],["safty","safety"],["saggital","sagittal"],["sagital","sagittal"],["Sagitarius","Sagittarius"],["sais","says"],["saleries","salaries"],["salery","salary"],["salveof","slaveof"],["samle","sample"],["samled","sampled"],["samll","small"],["samller","smaller"],["sammon","salmon"],["samori","samurai"],["sampel","sample"],["sampeld","sampled"],["sampels","samples"],["samwich","sandwich"],["samwiches","sandwiches"],["sanaty","sanity"],["sanctionning","sanctioning"],["sandobx","sandbox"],["sandwhich","sandwich"],["Sanhedrim","Sanhedrin"],["sanitizisation","sanitization"],["sanizer","sanitizer"],["sanpshot","snapshot"],["sanpsnots","snapshots"],["sansitizer","sanitizer"],["sansitizers","sanitizers"],["santioned","sanctioned"],["santize","sanitize"],["santized","sanitized"],["santizes","sanitizes"],["santizing","sanitizing"],["sanwich","sandwich"],["sanwiches","sandwiches"],["sanytise","sanitise"],["sanytize","sanitize"],["saphire","sapphire"],["saphires","sapphires"],["sargant","sergeant"],["sargeant","sergeant"],["sarted","started"],["sarter","starter"],["sarters","starters"],["sastisfies","satisfies"],["satandard","standard"],["satandards","standards"],["satelite","satellite"],["satelites","satellites"],["satelitte","satellite"],["satellittes","satellites"],["satement","statement"],["satements","statements"],["saterday","Saturday"],["saterdays","Saturdays"],["satified","satisfied"],["satifies","satisfies"],["satifsy","satisfy"],["satify","satisfy"],["satifying","satisfying"],["satisfactority","satisfactorily"],["satisfiabilty","satisfiability"],["satisfing","satisfying"],["satisfyied","satisfied"],["satisifed","satisfied"],["satisified","satisfied"],["satisifies","satisfies"],["satisify","satisfy"],["satisifying","satisfying"],["satistying","satisfying"],["satric","satiric"],["satrical","satirical"],["satrically","satirically"],["sattelite","satellite"],["sattelites","satellites"],["sattellite","satellite"],["sattellites","satellites"],["satuaday","Saturday"],["satuadays","Saturdays"],["saturdey","Saturday"],["satursday","Saturday"],["satus","status"],["saught","sought"],["sav","save"],["savees","saves"],["saveing","saving"],["savely","safely"],["savere","severe"],["savety","safety"],["savgroup","savegroup"],["savy","savvy"],["saxaphone","saxophone"],["sbsampling","subsampling"],["scahr","schar"],["scalarr","scalar"],["scaleability","scalability"],["scaleable","scalable"],["scaleing","scaling"],["scalled","scaled"],["scandanavia","Scandinavia"],["scaned","scanned"],["scaning","scanning"],["scannning","scanning"],["scaricity","scarcity"],["scavange","scavenge"],["scavanged","scavenged"],["scavanger","scavenger"],["scavangers","scavengers"],["scavanges","scavenges"],["sccope","scope"],["sceanrio","scenario"],["sceanrios","scenarios"],["scecified","specified"],["scenarion","scenario"],["scenarions","scenarios"],["scenegraaph","scenegraph"],["scenegraaphs","scenegraphs"],["sceond","second"],["sceonds","seconds"],["scetch","sketch"],["scetched","sketched"],["scetches","sketches"],["scetching","sketching"],["schdule","schedule"],["schduled","scheduled"],["schduleing","scheduling"],["schduler","scheduler"],["schdules","schedules"],["schduling","scheduling"],["schedual","schedule"],["scheduald","scheduled"],["schedualed","scheduled"],["schedualing","scheduling"],["schedulier","scheduler"],["schedulling","scheduling"],["scheduluing","scheduling"],["schem","scheme"],["schemd","schemed"],["schems","schemes"],["schme","scheme"],["schmea","schema"],["schmeas","schemas"],["schmes","schemes"],["scholarhip","scholarship"],["scholarhips","scholarships"],["scholdn't","shouldn't"],["schould","should"],["scientfic","scientific"],["scientfically","scientifically"],["scientficaly","scientifically"],["scientficly","scientifically"],["scientifc","scientific"],["scientifcally","scientifically"],["scientifcaly","scientifically"],["scientifcly","scientifically"],["scientis","scientist"],["scientiss","scientist"],["scince","science"],["scinece","science"],["scintiallation","scintillation"],["scintillatqt","scintillaqt"],["scipted","scripted"],["scipting","scripting"],["sciript","script"],["sciripts","scripts"],["scirpt","script"],["scirpts","scripts"],["scketch","sketch"],["scketched","sketched"],["scketches","sketches"],["scketching","sketching"],["sclar","scalar"],["scneario","scenario"],["scnearios","scenarios"],["scoket","socket"],["scoll","scroll"],["scolling","scrolling"],["scondary","secondary"],["scopeing","scoping"],["scorebord","scoreboard"],["scources","sources"],["scrach","scratch"],["scrached","scratched"],["scraches","scratches"],["scraching","scratching"],["scrachs","scratches"],["scrao","scrap"],["screeb","screen"],["screebs","screens"],["screenchot","screenshot"],["screenchots","screenshots"],["screenwrighter","screenwriter"],["screnn","screen"],["scriopted","scripted"],["scriopting","scripting"],["scriopts","scripts"],["scriopttype","scripttype"],["scriping","scripting"],["scripst","scripts"],["scriptype","scripttype"],["scritp","script"],["scritped","scripted"],["scritping","scripting"],["scritps","scripts"],["scritpt","script"],["scritpts","scripts"],["scroipt","script"],["scroipted","scripted"],["scroipting","scripting"],["scroipts","scripts"],["scroipttype","scripttype"],["scrollablbe","scrollable"],["scrollin","scrolling"],["scroolbar","scrollbar"],["scrpt","script"],["scrpted","scripted"],["scrpting","scripting"],["scrpts","scripts"],["scrren","screen"],["scrutinity","scrutiny"],["scubscribe","subscribe"],["scubscribed","subscribed"],["scubscriber","subscriber"],["scubscribes","subscribes"],["scuccessully","successfully"],["scupt","sculpt"],["scupted","sculpted"],["scupting","sculpting"],["scupture","sculpture"],["scuptures","sculptures"],["seach","search"],["seached","searched"],["seaches","searches"],["seaching","searching"],["seachkey","searchkey"],["seacrchable","searchable"],["seamlessley","seamlessly"],["seamlessy","seamlessly"],["searcahble","searchable"],["searcheable","searchable"],["searchin","searching"],["searchs","searches"],["seatch","search"],["seccond","second"],["secconds","seconds"],["secction","section"],["secene","scene"],["secific","specific"],["secion","section"],["secions","sections"],["secirity","security"],["seciton","section"],["secitons","sections"],["secne","scene"],["secod","second"],["secods","seconds"],["seconadry","secondary"],["seconcary","secondary"],["secondaray","secondary"],["seconday","secondary"],["seconf","second"],["seconfs","seconds"],["seconly","secondly"],["secont","second"],["secontary","secondary"],["secontly","secondly"],["seconts","seconds"],["secord","second"],["secords","seconds"],["secotr","sector"],["secound","second"],["secoundary","secondary"],["secoundly","secondly"],["secounds","seconds"],["secquence","sequence"],["secratary","secretary"],["secretery","secretary"],["secrion","section"],["secruity","security"],["sectin","section"],["sectins","sections"],["sectionning","sectioning"],["secton","section"],["sectoned","sectioned"],["sectoning","sectioning"],["sectons","sections"],["sectopm","section"],["sectopmed","sectioned"],["sectopming","sectioning"],["sectopms","sections"],["sectopn","section"],["sectopned","sectioned"],["sectopning","sectioning"],["sectopns","sections"],["secue","secure"],["secuely","securely"],["secuence","sequence"],["secuenced","sequenced"],["secuences","sequences"],["secuencial","sequential"],["secuencing","sequencing"],["secuirty","security"],["secuity","security"],["secund","second"],["secunds","seconds"],["securiy","security"],["securiyt","security"],["securly","securely"],["securre","secure"],["securrely","securely"],["securrly","securely"],["securtity","security"],["securtiy","security"],["securty","security"],["securuity","security"],["sedereal","sidereal"],["seeem","seem"],["seeen","seen"],["seelect","select"],["seelected","selected"],["seemes","seems"],["seemless","seamless"],["seemlessly","seamlessly"],["seesion","session"],["seesions","sessions"],["seetings","settings"],["seeverities","severities"],["seeverity","severity"],["segault","segfault"],["segaults","segfaults"],["segement","segment"],["segementation","segmentation"],["segemented","segmented"],["segements","segments"],["segemnts","segments"],["segfualt","segfault"],["segfualts","segfaults"],["segmantation","segmentation"],["segmend","segment"],["segmendation","segmentation"],["segmended","segmented"],["segmends","segments"],["segmenet","segment"],["segmenetd","segmented"],["segmeneted","segmented"],["segmenets","segments"],["segmenst","segments"],["segmentaion","segmentation"],["segmente","segment"],["segmentes","segments"],["segmetn","segment"],["segmetned","segmented"],["segmetns","segments"],["segument","segment"],["seguoys","segues"],["seh","she"],["seige","siege"],["seing","seeing"],["seinor","senior"],["seires","series"],["sekect","select"],["sekected","selected"],["sekects","selects"],["selcetion","selection"],["selct","select"],["selctable","selectable"],["selctables","selectable"],["selcted","selected"],["selcting","selecting"],["selction","selection"],["selctions","selections"],["seldomly","seldom"],["selecction","selection"],["selecctions","selections"],["seleced","selected"],["selecetd","selected"],["seleceted","selected"],["selecgt","select"],["selecgted","selected"],["selecgting","selecting"],["selecing","selecting"],["selecrtion","selection"],["selectd","selected"],["selectes","selects"],["selectoin","selection"],["selecton","selection"],["selectons","selections"],["seledted","selected"],["selektions","selections"],["selektor","selector"],["selet","select"],["selets","selects"],["self-comparisson","self-comparison"],["self-contianed","self-contained"],["self-referencial","self-referential"],["self-refering","self-referring"],["selfs","self"],["sellect","select"],["sellected","selected"],["selv","self"],["semaintics","semantics"],["semaphone","semaphore"],["semaphones","semaphores"],["semaphor","semaphore"],["semaphors","semaphores"],["semapthore","semaphore"],["semapthores","semaphores"],["sematic","semantic"],["sematical","semantical"],["sematically","semantically"],["sematics","semantics"],["sematnics","semantics"],["semding","sending"],["sementation","segmentation"],["sementic","semantic"],["sementically","semantically"],["sementics","semantics"],["semgent","segment"],["semgentation","segmentation"],["semicolor","semicolon"],["semicolumn","semicolon"],["semicondutor","semiconductor"],["sempahore","semaphore"],["sempahores","semaphores"],["sempaphore","semaphore"],["sempaphores","semaphores"],["semphore","semaphore"],["semphores","semaphores"],["sempphore","semaphore"],["senaphore","semaphore"],["senaphores","semaphores"],["senario","scenario"],["senarios","scenarios"],["sencond","second"],["sencondary","secondary"],["senconds","seconds"],["sendign","sending"],["sendinging","sending"],["sendinng","sending"],["senfile","sendfile"],["senintels","sentinels"],["senitnel","sentinel"],["senitnels","sentinels"],["senquence","sequence"],["sensative","sensitive"],["sensetive","sensitive"],["sensisble","sensible"],["sensistive","sensitive"],["sensititive","sensitive"],["sensititivies","sensitivities"],["sensititivity","sensitivity"],["sensititivy","sensitivity"],["sensitiv","sensitive"],["sensitiveties","sensitivities"],["sensitivety","sensitivity"],["sensitivites","sensitivities"],["sensitivties","sensitivities"],["sensitivty","sensitivity"],["sensitve","sensitive"],["senstive","sensitive"],["sensure","censure"],["sentance","sentence"],["sentances","sentences"],["senteces","sentences"],["sentense","sentence"],["sentienl","sentinel"],["sentinal","sentinel"],["sentinals","sentinels"],["sention","section"],["sentions","sections"],["sentive","sensitive"],["sentivite","sensitive"],["sepaate","separate"],["separartor","separator"],["separat","separate"],["separatelly","separately"],["separater","separator"],["separatley","separately"],["separatly","separately"],["separato","separator"],["separatos","separators"],["separatring","separating"],["separed","separated"],["separete","separate"],["separeted","separated"],["separetedly","separately"],["separetely","separately"],["separeter","separator"],["separetes","separates"],["separeting","separating"],["separetly","separately"],["separetor","separator"],["separtates","separates"],["separte","separate"],["separted","separated"],["separtes","separates"],["separting","separating"],["sepatae","separate"],["sepatate","separate"],["sepcial","special"],["sepcific","specific"],["sepcifically","specifically"],["sepcification","specification"],["sepcifications","specifications"],["sepcified","specified"],["sepcifier","specifier"],["sepcifies","specifies"],["sepcify","specify"],["sepcifying","specifying"],["sepearable","separable"],["sepearate","separate"],["sepearated","separated"],["sepearately","separately"],["sepearates","separates"],["sepearation","separation"],["sepearator","separator"],["sepearators","separators"],["sepearet","separate"],["sepearetly","separately"],["sepearte","separate"],["sepearted","separated"],["sepeartely","separately"],["sepeartes","separates"],["sepeartor","separator"],["sepeartors","separators"],["sepeate","separate"],["sepeated","separated"],["sepeates","separates"],["sepeator","separator"],["sepeators","separators"],["sepecial","special"],["sepecifed","specified"],["sepecific","specific"],["sepecification","specification"],["sepecified","specified"],["sepecifier","specifier"],["sepecifiers","specifiers"],["sepecifies","specifies"],["sepecify","specify"],["sepectral","spectral"],["sepeicfy","specify"],["sependent","dependent"],["sepending","depending"],["seperable","separable"],["seperad","separate"],["seperadly","separately"],["seperaly","separately"],["seperaor","separator"],["seperaors","separators"],["seperare","separate"],["seperared","separated"],["seperares","separates"],["seperat","separate"],["seperataed","separated"],["seperatally","separately"],["seperataly","separately"],["seperatated","separated"],["seperatd","separated"],["seperate","separate"],["seperated","separated"],["seperatedly","separately"],["seperatedy","separated"],["seperateely","separately"],["seperateing","separating"],["seperatelly","separately"],["seperately","separately"],["seperater","separator"],["seperaters","separators"],["seperates","separates"],["seperating","separating"],["seperation","separation"],["seperations","separations"],["seperatism","separatism"],["seperatist","separatist"],["seperatley","separately"],["seperatly","separately"],["seperato","separator"],["seperator","separator"],["seperators","separators"],["seperatos","separators"],["sepereate","separate"],["sepereated","separated"],["sepereates","separates"],["sepererate","separate"],["sepererated","separated"],["sepererates","separates"],["seperete","separate"],["sepereted","separated"],["seperetes","separates"],["seperratly","separately"],["sepertator","separator"],["sepertators","separators"],["sepertor","separator"],["sepertors","separators"],["sepetaror","separator"],["sepetarors","separators"],["sepetate","separate"],["sepetated","separated"],["sepetately","separately"],["sepetates","separates"],["sepina","subpoena"],["seporate","separate"],["sepparation","separation"],["sepparations","separations"],["sepperate","separate"],["seprarate","separate"],["seprate","separate"],["seprated","separated"],["seprator","separator"],["seprators","separators"],["Septemer","September"],["seqence","sequence"],["seqenced","sequenced"],["seqences","sequences"],["seqencing","sequencing"],["seqense","sequence"],["seqensed","sequenced"],["seqenses","sequences"],["seqensing","sequencing"],["seqenstial","sequential"],["seqential","sequential"],["seqeuence","sequence"],["seqeuencer","sequencer"],["seqeuental","sequential"],["seqeunce","sequence"],["seqeuncer","sequencer"],["seqeuntials","sequentials"],["sequcne","sequence"],["sequece","sequence"],["sequecence","sequence"],["sequecences","sequences"],["sequeces","sequences"],["sequeence","sequence"],["sequelce","sequence"],["sequemce","sequence"],["sequemces","sequences"],["sequencial","sequential"],["sequencially","sequentially"],["sequencies","sequences"],["sequense","sequence"],["sequensed","sequenced"],["sequenses","sequences"],["sequensing","sequencing"],["sequenstial","sequential"],["sequentialy","sequentially"],["sequenzes","sequences"],["sequetial","sequential"],["sequnce","sequence"],["sequnced","sequenced"],["sequncer","sequencer"],["sequncers","sequencers"],["sequnces","sequences"],["sequnece","sequence"],["sequneces","sequences"],["ser","set"],["serach","search"],["serached","searched"],["seracher","searcher"],["seraches","searches"],["seraching","searching"],["serachs","searches"],["serailisation","serialisation"],["serailise","serialise"],["serailised","serialised"],["serailization","serialization"],["serailize","serialize"],["serailized","serialized"],["serailse","serialise"],["serailsed","serialised"],["serailze","serialize"],["serailzed","serialized"],["serch","search"],["serched","searched"],["serches","searches"],["serching","searching"],["sercive","service"],["sercived","serviced"],["sercives","services"],["serciving","servicing"],["sereverless","serverless"],["serevrless","serverless"],["sergent","sergeant"],["serialialisation","serialisation"],["serialialise","serialise"],["serialialised","serialised"],["serialialises","serialises"],["serialialising","serialising"],["serialialization","serialization"],["serialialize","serialize"],["serialialized","serialized"],["serialializes","serializes"],["serialializing","serializing"],["serialiasation","serialisation"],["serialiazation","serialization"],["serialsiation","serialisation"],["serialsie","serialise"],["serialsied","serialised"],["serialsies","serialises"],["serialsing","serialising"],["serialziation","serialization"],["serialzie","serialize"],["serialzied","serialized"],["serialzies","serializes"],["serialzing","serializing"],["serice","service"],["serie","series"],["seriel","serial"],["serieses","series"],["serios","serious"],["seriouly","seriously"],["seriuos","serious"],["serivce","service"],["serivces","services"],["sersies","series"],["sertificate","certificate"],["sertificated","certificated"],["sertificates","certificates"],["sertification","certification"],["servece","service"],["serveced","serviced"],["serveces","services"],["servecing","servicing"],["serveice","service"],["serveiced","serviced"],["serveices","services"],["serveicing","servicing"],["serveless","serverless"],["serveral","several"],["serverite","severity"],["serverites","severities"],["serverities","severities"],["serverity","severity"],["serverles","serverless"],["serverlesss","serverless"],["serverlsss","serverless"],["servicies","services"],["servie","service"],["servies","services"],["servive","service"],["servoce","service"],["servoced","serviced"],["servoces","services"],["servocing","servicing"],["sesion","session"],["sesions","sessions"],["sesitive","sensitive"],["sesitively","sensitively"],["sesitiveness","sensitiveness"],["sesitivity","sensitivity"],["sessio","session"],["sesssion","session"],["sesssions","sessions"],["sestatusbar","setstatusbar"],["sestatusmsg","setstatusmsg"],["setevn","setenv"],["setgit","setgid"],["seting","setting"],["setings","settings"],["setion","section"],["setions","sections"],["setitng","setting"],["setitngs","settings"],["setquential","sequential"],["setted","set"],["settelement","settlement"],["settign","setting"],["settigns","settings"],["settigs","settings"],["settiing","setting"],["settiings","settings"],["settinga","settings"],["settingss","settings"],["settins","settings"],["settlment","settlement"],["settng","setting"],["settter","setter"],["settters","setters"],["settting","setting"],["setttings","settings"],["settup","setup"],["setyp","setup"],["setyps","setups"],["seuence","sequence"],["seuences","sequences"],["sevaral","several"],["severat","several"],["severeal","several"],["severirirty","severity"],["severirities","severities"],["severite","severity"],["severites","severities"],["severiy","severity"],["severl","several"],["severley","severely"],["severly","severely"],["sevice","service"],["sevirity","severity"],["sevral","several"],["sevrally","severally"],["sevrity","severity"],["sewdonim","pseudonym"],["sewdonims","pseudonyms"],["sewrvice","service"],["sfety","safety"],["sgadow","shadow"],["sh1sum","sha1sum"],["shadasloo","shadaloo"],["shaddow","shadow"],["shadhow","shadow"],["shadoloo","shadaloo"],["shal","shall"],["shandeleer","chandelier"],["shandeleers","chandeliers"],["shandow","shadow"],["shaneal","chenille"],["shanghi","Shanghai"],["shapshot","snapshot"],["shapshots","snapshots"],["shapsnot","snapshot"],["shapsnots","snapshots"],["sharable","shareable"],["shareed","shared"],["shareing","sharing"],["sharloton","charlatan"],["sharraid","charade"],["sharraids","charades"],["shashes","slashes"],["shatow","ch\xE2teau"],["shbang","shebang"],["shedule","schedule"],["sheduled","scheduled"],["shedules","schedules"],["sheduling","scheduling"],["sheepherd","shepherd"],["sheepherds","shepherds"],["sheeps","sheep"],["sheild","shield"],["sheilded","shielded"],["sheilding","shielding"],["sheilds","shields"],["shepe","shape"],["shepered","shepherd"],["sheperedly","shepherdly"],["shepereds","shepherds"],["shepes","shapes"],["sheping","shaping"],["shepre","sphere"],["shepres","spheres"],["sherif","sheriff"],["shfit","shift"],["shfited","shifted"],["shfiting","shifting"],["shfits","shifts"],["shfted","shifted"],["shicane","chicane"],["shif","shift"],["shif-tab","shift-tab"],["shineing","shining"],["shiped","shipped"],["shiping","shipping"],["shoftware","software"],["shoild","should"],["shoing","showing"],["sholder","shoulder"],["sholdn't","shouldn't"],["sholuld","should"],["sholuldn't","shouldn't"],["shoould","should"],["shopkeeepers","shopkeepers"],["shorcut","shortcut"],["shorcuts","shortcuts"],["shorly","shortly"],["short-cicruit","short-circuit"],["short-cicruits","short-circuits"],["shortcat","shortcut"],["shortcats","shortcuts"],["shortcomming","shortcoming"],["shortcommings","shortcomings"],["shortcutt","shortcut"],["shortern","shorten"],["shorthly","shortly"],["shortkut","shortcut"],["shortkuts","shortcuts"],["shortwhile","short while"],["shotcut","shortcut"],["shotcuts","shortcuts"],["shotdown","shutdown"],["shoucl","should"],["shoud","should"],["shoudl","should"],["shoudld","should"],["shoudle","should"],["shoudln't","shouldn't"],["shoudlnt","shouldn't"],["shoudn't","shouldn't"],["shoudn","shouldn"],["should'nt","shouldn't"],["should't","shouldn't"],["shouldn;t","shouldn't"],["shouldnt'","shouldn't"],["shouldnt","shouldn't"],["shouldnt;","shouldn't"],["shoule","should"],["shoulld","should"],["shouln't","shouldn't"],["shouls","should"],["shoult","should"],["shouod","should"],["shouw","show"],["shouws","shows"],["showvinism","chauvinism"],["shpae","shape"],["shpaes","shapes"],["shpapes","shapes"],["shpere","sphere"],["shperes","spheres"],["shpped","shipped"],["shreak","shriek"],["shreshold","threshold"],["shriks","shrinks"],["shttp","https"],["shudown","shutdown"],["shufle","shuffle"],["shuld","should"],["shure","sure"],["shurely","surely"],["shutdownm","shutdown"],["shuting","shutting"],["shutodwn","shutdown"],["shwo","show"],["shwon","shown"],["shystem","system"],["shystems","systems"],["sibiling","sibling"],["sibilings","siblings"],["sibtitle","subtitle"],["sibtitles","subtitles"],["sicinct","succinct"],["sicinctly","succinctly"],["sicne","since"],["sidde","side"],["sideral","sidereal"],["siduction","seduction"],["siezure","seizure"],["siezures","seizures"],["siffix","suffix"],["siffixed","suffixed"],["siffixes","suffixes"],["siffixing","suffixing"],["sigaled","signaled"],["siganture","signature"],["sigantures","signatures"],["sigen","sign"],["sigificance","significance"],["siginificant","significant"],["siginificantly","significantly"],["siginify","signify"],["sigit","digit"],["sigits","digits"],["sigleton","singleton"],["signales","signals"],["signall","signal"],["signatue","signature"],["signatur","signature"],["signes","signs"],["signficant","significant"],["signficantly","significantly"],["signficiant","significant"],["signfies","signifies"],["signguature","signature"],["signifanct","significant"],["signifant","significant"],["signifantly","significantly"],["signifcant","significant"],["signifcantly","significantly"],["signifficant","significant"],["significanly","significantly"],["significat","significant"],["significatly","significantly"],["significently","significantly"],["signifigant","significant"],["signifigantly","significantly"],["signitories","signatories"],["signitory","signatory"],["signol","signal"],["signto","sign to"],["signul","signal"],["signular","singular"],["signularity","singularity"],["silentely","silently"],["silenty","silently"],["silouhette","silhouette"],["silouhetted","silhouetted"],["silouhettes","silhouettes"],["silouhetting","silhouetting"],["simeple","simple"],["simetrie","symmetry"],["simetries","symmetries"],["simgle","single"],["simialr","similar"],["simialrity","similarity"],["simialrly","similarly"],["simiar","similar"],["similarily","similarly"],["similary","similarly"],["similat","similar"],["similia","similar"],["similiar","similar"],["similiarity","similarity"],["similiarly","similarly"],["similiarty","similarity"],["similiary","similarity"],["simillar","similar"],["similtaneous","simultaneous"],["simlar","similar"],["simlarlity","similarity"],["simlarly","similarly"],["simliar","similar"],["simliarly","similarly"],["simlicity","simplicity"],["simlified","simplified"],["simmetric","symmetric"],["simmetrical","symmetrical"],["simmetry","symmetry"],["simmilar","similar"],["simpification","simplification"],["simpifications","simplifications"],["simpified","simplified"],["simplei","simply"],["simpley","simply"],["simplfy","simplify"],["simplicitly","simplicity"],["simplicty","simplicity"],["simplier","simpler"],["simpliest","simplest"],["simplifed","simplified"],["simplificaiton","simplification"],["simplificaitons","simplifications"],["simplifiy","simplify"],["simplifys","simplifies"],["simpliifcation","simplification"],["simpliifcations","simplifications"],["simplist","simplest"],["simpy","simply"],["simualte","simulate"],["simualted","simulated"],["simualtes","simulates"],["simualting","simulating"],["simualtion","simulation"],["simualtions","simulations"],["simualtor","simulator"],["simualtors","simulators"],["simulaiton","simulation"],["simulaitons","simulations"],["simulantaneous","simultaneous"],["simulantaneously","simultaneously"],["simulataeous","simultaneous"],["simulataeously","simultaneously"],["simulataneity","simultaneity"],["simulataneous","simultaneous"],["simulataneously","simultaneously"],["simulatanious","simultaneous"],["simulataniously","simultaneously"],["simulatanous","simultaneous"],["simulatanously","simultaneously"],["simulatation","simulation"],["simulatenous","simultaneous"],["simulatenously","simultaneously"],["simultanaeous","simultaneous"],["simultaneos","simultaneous"],["simultaneosly","simultaneously"],["simultanious","simultaneous"],["simultaniously","simultaneously"],["simultanous","simultaneous"],["simultanously","simultaneously"],["simutaneously","simultaneously"],["sinature","signature"],["sincerley","sincerely"],["sincerly","sincerely"],["singaled","signaled"],["singals","signals"],["singature","signature"],["singatures","signatures"],["singelar","singular"],["singelarity","singularity"],["singelarly","singularly"],["singelton","singleton"],["singl","single"],["singlar","singular"],["single-threded","single-threaded"],["singlton","singleton"],["singltons","singletons"],["singluar","singular"],["singlular","singular"],["singlularly","singularly"],["singnal","signal"],["singnalled","signalled"],["singnals","signals"],["singolar","singular"],["singoolar","singular"],["singoolarity","singularity"],["singoolarly","singularly"],["singsog","singsong"],["singuarity","singularity"],["singuarl","singular"],["singulat","singular"],["singulaties","singularities"],["sinlge","single"],["sinlges","singles"],["sinply","simply"],["sintac","syntax"],["sintacks","syntax"],["sintacs","syntax"],["sintact","syntax"],["sintacts","syntax"],["sintak","syntax"],["sintaks","syntax"],["sintakt","syntax"],["sintakts","syntax"],["sintax","syntax"],["Sionist","Zionist"],["Sionists","Zionists"],["siply","simply"],["sircle","circle"],["sircles","circles"],["sircular","circular"],["sirect","direct"],["sirected","directed"],["sirecting","directing"],["sirection","direction"],["sirectional","directional"],["sirectionalities","directionalities"],["sirectionality","directionality"],["sirectionals","directionals"],["sirectionless","directionless"],["sirections","directions"],["sirective","directive"],["sirectives","directives"],["sirectly","directly"],["sirectness","directness"],["sirector","director"],["sirectories","directories"],["sirectors","directors"],["sirectory","directory"],["sirects","directs"],["sisnce","since"],["sistem","system"],["sistematically","systematically"],["sistematics","systematics"],["sistematies","systematies"],["sistematising","systematising"],["sistematizing","systematizing"],["sistematy","systematy"],["sistemed","systemed"],["sistemic","systemic"],["sistemically","systemically"],["sistemics","systemics"],["sistemist","systemist"],["sistemists","systemists"],["sistemize","systemize"],["sistemized","systemized"],["sistemizes","systemizes"],["sistemizing","systemizing"],["sistems","systems"],["sitation","situation"],["sitations","situations"],["sitaution","situation"],["sitautions","situations"],["sitck","stick"],["siteu","site"],["sitill","still"],["sitirring","stirring"],["sitirs","stirs"],["sitl","still"],["sitll","still"],["sitmuli","stimuli"],["situationnal","situational"],["situatuion","situation"],["situatuions","situations"],["situatution","situation"],["situatutions","situations"],["situbbornness","stubbornness"],["situdio","studio"],["situdios","studios"],["situration","situation"],["siturations","situations"],["situtaion","situation"],["situtaions","situations"],["situtation","situation"],["situtations","situations"],["siutable","suitable"],["siute","suite"],["sivible","visible"],["siwtch","switch"],["siwtched","switched"],["siwtching","switching"],["sizre","size"],["Skagerak","Skagerrak"],["skalar","scalar"],["skateing","skating"],["skecth","sketch"],["skecthes","sketches"],["skeep","skip"],["skelton","skeleton"],["skept","skipped"],["sketchs","sketches"],["skipd","skipped"],["skipe","skip"],["skiping","skipping"],["skippd","skipped"],["skippped","skipped"],["skippps","skips"],["slach","slash"],["slaches","slashes"],["slase","slash"],["slases","slashes"],["slashs","slashes"],["slaugterhouses","slaughterhouses"],["slect","select"],["slected","selected"],["slecting","selecting"],["slection","selection"],["sleect","select"],["sleeped","slept"],["sleepp","sleep"],["slicable","sliceable"],["slient","silent"],["sliently","silently"],["slighlty","slightly"],["slighly","slightly"],["slightl","slightly"],["slighty","slightly"],["slignt","slight"],["sligntly","slightly"],["sligth","slight"],["sligthly","slightly"],["sligtly","slightly"],["sliped","slipped"],["sliseshow","slideshow"],["slowy","slowly"],["sluggify","slugify"],["smae","same"],["smal","small"],["smaler","smaller"],["smallar","smaller"],["smalles","smallest"],["smaple","sample"],["smaples","samples"],["smealting","smelting"],["smething","something"],["smller","smaller"],["smoe","some"],["smoot","smooth"],["smooter","smoother"],["smoothign","smoothing"],["smooting","smoothing"],["smouth","smooth"],["smouthness","smoothness"],["smove","move"],["snaped","snapped"],["snaphot","snapshot"],["snaphsot","snapshot"],["snaping","snapping"],["snappng","snapping"],["snapsnot","snapshot"],["snapsnots","snapshots"],["sneeks","sneaks"],["snese","sneeze"],["snipet","snippet"],["snipets","snippets"],["snpashot","snapshot"],["snpashots","snapshots"],["snyc","sync"],["snytax","syntax"],["Soalris","Solaris"],["socail","social"],["socalism","socialism"],["socekts","sockets"],["socities","societies"],["soecialize","specialized"],["soem","some"],["soemthing","something"],["soemwhere","somewhere"],["sofisticated","sophisticated"],["softend","softened"],["softwares","software"],["softwre","software"],["sofware","software"],["sofwtare","software"],["sohw","show"],["soilders","soldiers"],["soiurce","source"],["soket","socket"],["sokets","sockets"],["solarmutx","solarmutex"],["solatary","solitary"],["solate","isolate"],["solated","isolated"],["solates","isolates"],["solating","isolating"],["soley","solely"],["solfed","solved"],["solfes","solves"],["solfing","solving"],["solfs","solves"],["soliders","soldiers"],["solification","solidification"],["soliliquy","soliloquy"],["soltion","solution"],["soltuion","solution"],["soltuions","solutions"],["soluable","soluble"],["solum","solemn"],["soluton","solution"],["solutons","solutions"],["solveable","solvable"],["solveing","solving"],["solwed","solved"],["som","some"],["someboby","somebody"],["somehing","something"],["somehting","something"],["somehwat","somewhat"],["somehwere","somewhere"],["somehwo","somehow"],["somelse","someone else"],["somemore","some more"],["somene","someone"],["somenone","someone"],["someon","someone"],["somethig","something"],["somethign","something"],["somethimes","sometimes"],["somethimg","something"],["somethiong","something"],["sometiems","sometimes"],["sometihing","something"],["sometihng","something"],["sometims","sometimes"],["sometines","sometimes"],["someting","something"],["sometinhg","something"],["sometring","something"],["sometrings","somethings"],["somewere","somewhere"],["somewher","somewhere"],["somewho","somehow"],["somme","some"],["somthign","something"],["somthing","something"],["somthingelse","somethingelse"],["somtimes","sometimes"],["somwhat","somewhat"],["somwhere","somewhere"],["somwho","somehow"],["somwhow","somehow"],["sonething","something"],["songlar","singular"],["sooaside","suicide"],["soodonim","pseudonym"],["soource","source"],["sophicated","sophisticated"],["sophisicated","sophisticated"],["sophisitcated","sophisticated"],["sophisticted","sophisticated"],["sophmore","sophomore"],["sorceror","sorcerer"],["sorkflow","workflow"],["sorrounding","surrounding"],["sortig","sorting"],["sortings","sorting"],["sortlst","sortlist"],["sortner","sorter"],["sortnr","sorter"],["soscket","socket"],["sotfware","software"],["souce","source"],["souces","sources"],["soucre","source"],["soucres","sources"],["soudn","sound"],["soudns","sounds"],["sould'nt","shouldn't"],["souldn't","shouldn't"],["soundard","soundcard"],["sountrack","soundtrack"],["sourc","source"],["sourcedrectory","sourcedirectory"],["sourcee","source"],["sourcees","sources"],["sourct","source"],["sourrounding","surrounding"],["sourth","south"],["sourthern","southern"],["southbrige","southbridge"],["souvenier","souvenir"],["souveniers","souvenirs"],["soveits","soviets"],["sover","solver"],["sovereignity","sovereignty"],["soverign","sovereign"],["soverignity","sovereignty"],["soverignty","sovereignty"],["sovle","solve"],["sovled","solved"],["sovren","sovereign"],["spacific","specific"],["spacification","specification"],["spacifications","specifications"],["spacifics","specifics"],["spacified","specified"],["spacifies","specifies"],["spaece","space"],["spaeced","spaced"],["spaeces","spaces"],["spaecing","spacing"],["spageti","spaghetti"],["spagetti","spaghetti"],["spagheti","spaghetti"],["spagnum","sphagnum"],["spainish","Spanish"],["spaning","spanning"],["sparate","separate"],["sparately","separately"],["spash","splash"],["spashed","splashed"],["spashes","splashes"],["spaw","spawn"],["spawed","spawned"],["spawing","spawning"],["spawining","spawning"],["spaws","spawns"],["spcae","space"],["spcaed","spaced"],["spcaes","spaces"],["spcaing","spacing"],["spcecified","specified"],["spcial","special"],["spcific","specific"],["spcification","specification"],["spcifications","specifications"],["spcified","specified"],["spcifies","specifies"],["spcify","specify"],["speaced","spaced"],["speach","speech"],["speacing","spacing"],["spearator","separator"],["spearators","separators"],["spec-complient","spec-compliant"],["specail","special"],["specefic","specific"],["specefically","specifically"],["speceficly","specifically"],["specefied","specified"],["specfic","specific"],["specfically","specifically"],["specfication","specification"],["specfications","specifications"],["specficication","specification"],["specficications","specifications"],["specficied","specified"],["specficies","specifies"],["specficy","specify"],["specficying","specifying"],["specfied","specified"],["specfield","specified"],["specfies","specifies"],["specfifies","specifies"],["specfify","specify"],["specfifying","specifying"],["specfiied","specified"],["specfy","specify"],["specfying","specifying"],["speciafied","specified"],["specialisaiton","specialisation"],["specialisaitons","specialisations"],["specializaiton","specialization"],["specializaitons","specializations"],["specialy","specially"],["specic","specific"],["specical","special"],["specication","specification"],["specidic","specific"],["specied","specified"],["speciefied","specified"],["specifactions","specifications"],["specifc","specific"],["specifcally","specifically"],["specifcation","specification"],["specifcations","specifications"],["specifcied","specified"],["specifclly","specifically"],["specifed","specified"],["specifes","specifies"],["speciffic","specific"],["speciffically","specifically"],["specifially","specifically"],["specificaiton","specification"],["specificaitons","specifications"],["specificallly","specifically"],["specificaly","specifically"],["specificated","specified"],["specificateion","specification"],["specificatin","specification"],["specificaton","specification"],["specificed","specified"],["specifices","specifies"],["specificially","specifically"],["specificiation","specification"],["specificiations","specifications"],["specificically","specifically"],["specificied","specified"],["specificl","specific"],["specificly","specifically"],["specifiction","specification"],["specifictions","specifications"],["specifid","specified"],["specifiec","specific"],["specifiecally","specifically"],["specifiecation","specification"],["specifiecations","specifications"],["specifiecd","specified"],["specifieced","specified"],["specifiecs","specifics"],["specifieed","specified"],["specifiees","specifies"],["specifig","specific"],["specifigation","specification"],["specifigations","specifications"],["specifing","specifying"],["specifities","specifics"],["specifiy","specify"],["specifiying","specifying"],["specifric","specific"],["specift","specify"],["specifyed","specified"],["specifyied","specified"],["specifyig","specifying"],["specifyinhg","specifying"],["speciic","specific"],["speciied","specified"],["speciifc","specific"],["speciifed","specified"],["specilisation","specialisation"],["specilisations","specialisations"],["specilization","specialization"],["specilizations","specializations"],["specilized","specialized"],["speciman","specimen"],["speciries","specifies"],["speciry","specify"],["specivied","specified"],["speciy","specify"],["speciyfing","specifying"],["speciyfying","specifying"],["speciying","specifying"],["spectauclar","spectacular"],["spectaulars","spectaculars"],["spectification","specification"],["spectifications","specifications"],["spectified","specified"],["spectifies","specifies"],["spectify","specify"],["spectifying","specifying"],["spectular","spectacular"],["spectularly","spectacularly"],["spectum","spectrum"],["specturm","spectrum"],["specualtive","speculative"],["specufies","specifies"],["specufy","specify"],["spedific","specific"],["spedified","specified"],["spedify","specify"],["speeak","speak"],["speeaking","speaking"],["speeling","spelling"],["speelling","spelling"],["speep","sleep"],["speep-up","speed-up"],["speeped","sped"],["speeping","sleeping"],["spefcifiable","specifiable"],["spefcific","specific"],["spefcifically","specifically"],["spefcification","specification"],["spefcifications","specifications"],["spefcifics","specifics"],["spefcifieid","specified"],["spefcifieir","specifier"],["spefcifieirs","specifiers"],["spefcifieis","specifies"],["spefcifiy","specify"],["spefcifiying","specifying"],["spefeid","specified"],["spefeir","specifier"],["spefeirs","specifiers"],["spefeis","specifies"],["spefiable","specifiable"],["spefial","special"],["spefic","specific"],["speficable","specifiable"],["spefically","specifically"],["spefication","specification"],["spefications","specifications"],["speficed","specified"],["speficeid","specified"],["speficeir","specifier"],["speficeirs","specifiers"],["speficeis","specifies"],["speficer","specifier"],["speficers","specifiers"],["spefices","specifies"],["speficiable","specifiable"],["speficiallally","specifically"],["speficiallation","specification"],["speficiallations","specifications"],["speficialleid","specified"],["speficialleir","specifier"],["speficialleirs","specifiers"],["speficialleis","specifies"],["speficialliable","specifiable"],["speficiallic","specific"],["speficiallically","specifically"],["speficiallication","specification"],["speficiallications","specifications"],["speficiallics","specifics"],["speficiallied","specified"],["speficiallier","specifier"],["speficialliers","specifiers"],["speficiallies","specifies"],["speficiallifed","specified"],["speficiallifer","specifier"],["speficiallifers","specifiers"],["speficiallifes","specifies"],["speficially","specifically"],["speficiation","specification"],["speficiations","specifications"],["speficic","specific"],["speficically","specifically"],["speficication","specification"],["speficications","specifications"],["speficics","specifics"],["speficied","specified"],["speficieid","specified"],["speficieir","specifier"],["speficieirs","specifiers"],["speficieis","specifies"],["speficier","specifier"],["speficiers","specifiers"],["speficies","specifies"],["speficifally","specifically"],["speficifation","specification"],["speficifations","specifications"],["speficifc","specific"],["speficifcally","specifically"],["speficifcation","specification"],["speficifcations","specifications"],["speficifcs","specifics"],["speficifed","specified"],["speficifeid","specified"],["speficifeir","specifier"],["speficifeirs","specifiers"],["speficifeis","specifies"],["speficifer","specifier"],["speficifers","specifiers"],["speficifes","specifies"],["speficifiable","specifiable"],["speficific","specific"],["speficifically","specifically"],["speficification","specification"],["speficifications","specifications"],["speficifics","specifics"],["speficified","specified"],["speficifier","specifier"],["speficifiers","specifiers"],["speficifies","specifies"],["speficififed","specified"],["speficififer","specifier"],["speficififers","specifiers"],["speficififes","specifies"],["speficify","specify"],["speficifying","specifying"],["speficiiable","specifiable"],["speficiic","specific"],["speficiically","specifically"],["speficiication","specification"],["speficiications","specifications"],["speficiics","specifics"],["speficiied","specified"],["speficiier","specifier"],["speficiiers","specifiers"],["speficiies","specifies"],["speficiifed","specified"],["speficiifer","specifier"],["speficiifers","specifiers"],["speficiifes","specifies"],["speficillally","specifically"],["speficillation","specification"],["speficillations","specifications"],["speficilleid","specified"],["speficilleir","specifier"],["speficilleirs","specifiers"],["speficilleis","specifies"],["speficilliable","specifiable"],["speficillic","specific"],["speficillically","specifically"],["speficillication","specification"],["speficillications","specifications"],["speficillics","specifics"],["speficillied","specified"],["speficillier","specifier"],["speficilliers","specifiers"],["speficillies","specifies"],["speficillifed","specified"],["speficillifer","specifier"],["speficillifers","specifiers"],["speficillifes","specifies"],["speficilly","specifically"],["speficitally","specifically"],["speficitation","specification"],["speficitations","specifications"],["speficiteid","specified"],["speficiteir","specifier"],["speficiteirs","specifiers"],["speficiteis","specifies"],["speficitiable","specifiable"],["speficitic","specific"],["speficitically","specifically"],["speficitication","specification"],["speficitications","specifications"],["speficitics","specifics"],["speficitied","specified"],["speficitier","specifier"],["speficitiers","specifiers"],["speficities","specificities"],["speficitifed","specified"],["speficitifer","specifier"],["speficitifers","specifiers"],["speficitifes","specifies"],["speficity","specificity"],["speficiy","specify"],["speficiying","specifying"],["spefics","specifics"],["speficy","specify"],["speficying","specifying"],["spefied","specified"],["spefier","specifier"],["spefiers","specifiers"],["spefies","specifies"],["spefifally","specifically"],["spefifation","specification"],["spefifations","specifications"],["spefifed","specified"],["spefifeid","specified"],["spefifeir","specifier"],["spefifeirs","specifiers"],["spefifeis","specifies"],["spefifer","specifier"],["spefifers","specifiers"],["spefifes","specifies"],["spefifiable","specifiable"],["spefific","specific"],["spefifically","specifically"],["spefification","specification"],["spefifications","specifications"],["spefifics","specifics"],["spefified","specified"],["spefifier","specifier"],["spefifiers","specifiers"],["spefifies","specifies"],["spefififed","specified"],["spefififer","specifier"],["spefififers","specifiers"],["spefififes","specifies"],["spefify","specify"],["spefifying","specifying"],["spefiiable","specifiable"],["spefiic","specific"],["spefiically","specifically"],["spefiication","specification"],["spefiications","specifications"],["spefiics","specifics"],["spefiied","specified"],["spefiier","specifier"],["spefiiers","specifiers"],["spefiies","specifies"],["spefiifally","specifically"],["spefiifation","specification"],["spefiifations","specifications"],["spefiifeid","specified"],["spefiifeir","specifier"],["spefiifeirs","specifiers"],["spefiifeis","specifies"],["spefiifiable","specifiable"],["spefiific","specific"],["spefiifically","specifically"],["spefiification","specification"],["spefiifications","specifications"],["spefiifics","specifics"],["spefiified","specified"],["spefiifier","specifier"],["spefiifiers","specifiers"],["spefiifies","specifies"],["spefiififed","specified"],["spefiififer","specifier"],["spefiififers","specifiers"],["spefiififes","specifies"],["spefiify","specify"],["spefiifying","specifying"],["spefixally","specifically"],["spefixation","specification"],["spefixations","specifications"],["spefixeid","specified"],["spefixeir","specifier"],["spefixeirs","specifiers"],["spefixeis","specifies"],["spefixiable","specifiable"],["spefixic","specific"],["spefixically","specifically"],["spefixication","specification"],["spefixications","specifications"],["spefixics","specifics"],["spefixied","specified"],["spefixier","specifier"],["spefixiers","specifiers"],["spefixies","specifies"],["spefixifed","specified"],["spefixifer","specifier"],["spefixifers","specifiers"],["spefixifes","specifies"],["spefixy","specify"],["spefixying","specifying"],["spefiy","specify"],["spefiying","specifying"],["spefy","specify"],["spefying","specifying"],["speherical","spherical"],["speical","special"],["speices","species"],["speicfied","specified"],["speicific","specific"],["speicified","specified"],["speicify","specify"],["speling","spelling"],["spellshecking","spellchecking"],["spendour","splendour"],["speparate","separate"],["speparated","separated"],["speparating","separating"],["speparation","separation"],["speparator","separator"],["spepc","spec"],["speperatd","separated"],["speperate","separate"],["speperateing","separating"],["speperater","separator"],["speperates","separates"],["speperating","separating"],["speperator","separator"],["speperats","separates"],["sperate","separate"],["sperately","separately"],["sperhical","spherical"],["spermatozoan","spermatozoon"],["speshal","special"],["speshel","special"],["spesialisation","specialization"],["spesific","specific"],["spesifical","specific"],["spesifically","specifically"],["spesificaly","specifically"],["spesifics","specifics"],["spesified","specified"],["spesifities","specifics"],["spesify","specify"],["spezialisation","specialization"],["spezific","specific"],["spezified","specified"],["spezify","specify"],["spicific","specific"],["spicified","specified"],["spicify","specify"],["spiltting","splitting"],["spindel","spindle"],["spindels","spindles"],["spinlcok","spinlock"],["spinock","spinlock"],["spligs","splits"],["spliiter","splitter"],["spliitting","splitting"],["spliting","splitting"],["splitted","split"],["splittng","splitting"],["spllitting","splitting"],["spoace","space"],["spoaced","spaced"],["spoaces","spaces"],["spoacing","spacing"],["sponser","sponsor"],["sponsered","sponsored"],["sponsers","sponsors"],["sponsership","sponsorship"],["spontanous","spontaneous"],["sponzored","sponsored"],["spoonfulls","spoonfuls"],["sporatic","sporadic"],["sporious","spurious"],["sppeches","speeches"],["spport","support"],["spported","supported"],["spporting","supporting"],["spports","supports"],["spreaded","spread"],["spreadhseet","spreadsheet"],["spreadhseets","spreadsheets"],["spreadsheat","spreadsheet"],["spreadsheats","spreadsheets"],["spreasheet","spreadsheet"],["spreasheets","spreadsheets"],["sprech","speech"],["sprecial","special"],["sprecialized","specialized"],["sprecially","specially"],["spred","spread"],["spredsheet","spreadsheet"],["spreedsheet","spreadsheet"],["sprinf","sprintf"],["spririous","spurious"],["spriritual","spiritual"],["spritual","spiritual"],["sproon","spoon"],["spsace","space"],["spsaced","spaced"],["spsaces","spaces"],["spsacing","spacing"],["sptintf","sprintf"],["spurios","spurious"],["spurrious","spurious"],["sqare","square"],["sqared","squared"],["sqares","squares"],["sqash","squash"],["sqashed","squashed"],["sqashing","squashing"],["sqaure","square"],["sqaured","squared"],["sqaures","squares"],["sqeuence","sequence"],["squashgin","squashing"],["squence","sequence"],["squirel","squirrel"],["squirl","squirrel"],["squrared","squared"],["srcipt","script"],["srcipts","scripts"],["sreampropinfo","streampropinfo"],["sreenshot","screenshot"],["sreenshots","screenshots"],["sreturns","returns"],["srikeout","strikeout"],["sring","string"],["srings","strings"],["srink","shrink"],["srinkd","shrunk"],["srinked","shrunk"],["srinking","shrinking"],["sript","script"],["sripts","scripts"],["srollbar","scrollbar"],["srouce","source"],["srtifact","artifact"],["srtifacts","artifacts"],["srtings","strings"],["srtructure","structure"],["srttings","settings"],["sructure","structure"],["sructures","structures"],["srunk","shrunk"],["srunken","shrunken"],["srunkn","shrunken"],["ssame","same"],["ssee","see"],["ssoaiating","associating"],["ssome","some"],["stabalization","stabilization"],["stabilitation","stabilization"],["stabilite","stabilize"],["stabilited","stabilized"],["stabilites","stabilizes"],["stabiliting","stabilizing"],["stabillity","stability"],["stabilty","stability"],["stablility","stability"],["stablilization","stabilization"],["stablize","stabilize"],["stach","stack"],["stacionary","stationary"],["stackk","stack"],["stadnard","standard"],["stadnardisation","standardisation"],["stadnardised","standardised"],["stadnardising","standardising"],["stadnardization","standardization"],["stadnardized","standardized"],["stadnardizing","standardizing"],["stadnards","standards"],["stae","state"],["staement","statement"],["staically","statically"],["stainlees","stainless"],["staion","station"],["staions","stations"],["staition","station"],["staitions","stations"],["stalagtite","stalactite"],["standar","standard"],["standarad","standard"],["standard-complient","standard-compliant"],["standardss","standards"],["standarisation","standardisation"],["standarise","standardise"],["standarised","standardised"],["standarises","standardises"],["standarising","standardising"],["standarization","standardization"],["standarize","standardize"],["standarized","standardized"],["standarizes","standardizes"],["standarizing","standardizing"],["standart","standard"],["standartd","standard"],["standartds","standards"],["standartisation","standardisation"],["standartisator","standardiser"],["standartised","standardised"],["standartization","standardization"],["standartizator","standardizer"],["standartized","standardized"],["standarts","standards"],["standatd","standard"],["standrat","standard"],["standrats","standards"],["standtard","standard"],["stange","strange"],["stanp","stamp"],["staration","starvation"],["stard","start"],["stardard","standard"],["stardardize","standardize"],["stardardized","standardized"],["stardardizes","standardizes"],["stardardizing","standardizing"],["stardards","standards"],["staright","straight"],["startd","started"],["startegic","strategic"],["startegies","strategies"],["startegy","strategy"],["startet","started"],["startign","starting"],["startin","starting"],["startlisteneing","startlistening"],["startnig","starting"],["startparanthesis","startparentheses"],["startted","started"],["startting","starting"],["starup","startup"],["starups","startups"],["statamenet","statement"],["statamenets","statements"],["stategies","strategies"],["stategise","strategise"],["stategised","strategised"],["stategize","strategize"],["stategized","strategized"],["stategy","strategy"],["stateman","statesman"],["statemanet","statement"],["statememts","statements"],["statemen","statement"],["statemenet","statement"],["statemenets","statements"],["statemet","statement"],["statemnts","statements"],["stati","statuses"],["staticly","statically"],["statictic","statistic"],["statictics","statistics"],["statisfied","satisfied"],["statisfies","satisfies"],["statisfy","satisfy"],["statisfying","satisfying"],["statisitics","statistics"],["statistices","statistics"],["statitic","statistic"],["statitics","statistics"],["statmenet","statement"],["statmenmt","statement"],["statment","statement"],["statments","statements"],["statrt","start"],["stattistic","statistic"],["statubar","statusbar"],["statuline","statusline"],["statulines","statuslines"],["statup","startup"],["staturday","Saturday"],["statuss","status"],["statusses","statuses"],["statustics","statistics"],["staulk","stalk"],["stauration","saturation"],["staus","status"],["stawberries","strawberries"],["stawberry","strawberry"],["stawk","stalk"],["stcokbrush","stockbrush"],["stdanard","standard"],["stdanards","standards"],["stength","strength"],["steram","stream"],["steramed","streamed"],["steramer","streamer"],["steraming","streaming"],["sterams","streams"],["sterio","stereo"],["steriods","steroids"],["sterotype","stereotype"],["sterotypes","stereotypes"],["stickness","stickiness"],["stickyness","stickiness"],["stiffneing","stiffening"],["stiky","sticky"],["stil","still"],["stilus","stylus"],["stingent","stringent"],["stipped","stripped"],["stiring","stirring"],["stirng","string"],["stirngs","strings"],["stirr","stir"],["stirrs","stirs"],["stivk","stick"],["stivks","sticks"],["stle","style"],["stlye","style"],["stlyes","styles"],["stnad","stand"],["stndard","standard"],["stoage","storage"],["stoages","storages"],["stocahstic","stochastic"],["stocastic","stochastic"],["stoer","store"],["stoers","stores"],["stomache","stomach"],["stompted","stomped"],["stong","strong"],["stoped","stopped"],["stoping","stopping"],["stopp","stop"],["stoppped","stopped"],["stoppping","stopping"],["stopps","stops"],["stopry","story"],["storag","storage"],["storeable","storable"],["storeage","storage"],["stoream","stream"],["storeble","storable"],["storeing","storing"],["storge","storage"],["storise","stories"],["stornegst","strongest"],["stoyr","story"],["stpo","stop"],["stradegies","strategies"],["stradegy","strategy"],["stragegy","strategy"],["strageties","strategies"],["stragety","strategy"],["straigh-forward","straightforward"],["straighforward","straightforward"],["straightfoward","straightforward"],["straigt","straight"],["straigth","straight"],["straines","strains"],["strangness","strangeness"],["strart","start"],["strarted","started"],["strarting","starting"],["strarts","starts"],["stratagically","strategically"],["strcture","structure"],["strctures","structures"],["strcutre","structure"],["strcutural","structural"],["strcuture","structure"],["strcutures","structures"],["streamm","stream"],["streammed","streamed"],["streamming","streaming"],["streatched","stretched"],["strech","stretch"],["streched","stretched"],["streches","stretches"],["streching","stretching"],["strectch","stretch"],["strecth","stretch"],["strecthed","stretched"],["strecthes","stretches"],["strecthing","stretching"],["streem","stream"],["streemlining","streamlining"],["stregth","strength"],["streightish","straightish"],["streightly","straightly"],["streightness","straightness"],["streigtish","straightish"],["streigtly","straightly"],["streigtness","straightness"],["strem","stream"],["strema","stream"],["strengh","strength"],["strenghen","strengthen"],["strenghened","strengthened"],["strenghening","strengthening"],["strenght","strength"],["strenghten","strengthen"],["strenghtened","strengthened"],["strenghtening","strengthening"],["strenghts","strengths"],["strengtened","strengthened"],["strenous","strenuous"],["strentgh","strength"],["strenth","strength"],["strerrror","strerror"],["striaght","straight"],["striaghten","straighten"],["striaghtens","straightens"],["striaghtforward","straightforward"],["striaghts","straights"],["striclty","strictly"],["stricly","strictly"],["stricteir","stricter"],["strictier","stricter"],["strictiest","strictest"],["strictist","strictest"],["strig","string"],["strigification","stringification"],["strigifying","stringifying"],["striing","string"],["striings","strings"],["strikely","strikingly"],["stringifed","stringified"],["strinsg","strings"],["strippen","stripped"],["stript","stripped"],["strirngification","stringification"],["strnad","strand"],["strng","string"],["stroage","storage"],["stroe","store"],["stroing","storing"],["stronlgy","strongly"],["stronly","strongly"],["strore","store"],["strored","stored"],["strores","stores"],["stroring","storing"],["strotage","storage"],["stroyboard","storyboard"],["struc","struct"],["strucrure","structure"],["strucrured","structured"],["strucrures","structures"],["structed","structured"],["structer","structure"],["structere","structure"],["structered","structured"],["structeres","structures"],["structetr","structure"],["structire","structure"],["structre","structure"],["structred","structured"],["structres","structures"],["structrual","structural"],["structrue","structure"],["structrued","structured"],["structrues","structures"],["structual","structural"],["structue","structure"],["structued","structured"],["structues","structures"],["structur","structure"],["structurs","structures"],["strucur","structure"],["strucure","structure"],["strucured","structured"],["strucures","structures"],["strucuring","structuring"],["strucurs","structures"],["strucutre","structure"],["strucutred","structured"],["strucutres","structures"],["strucuture","structure"],["struggel","struggle"],["struggeled","struggled"],["struggeling","struggling"],["struggels","struggles"],["struttural","structural"],["strutture","structure"],["struture","structure"],["ststion","station"],["ststionary","stationary"],["ststioned","stationed"],["ststionery","stationery"],["ststions","stations"],["ststr","strstr"],["stteting","setting"],["sttetings","settings"],["stubborness","stubbornness"],["stucked","stuck"],["stuckt","stuck"],["stuct","struct"],["stucts","structs"],["stucture","structure"],["stuctured","structured"],["stuctures","structures"],["studdy","study"],["studetn","student"],["studetns","students"],["studing","studying"],["studoi","studio"],["studois","studios"],["stuggling","struggling"],["stuido","studio"],["stuidos","studios"],["stuill","still"],["stummac","stomach"],["sturctural","structural"],["sturcture","structure"],["sturctures","structures"],["sturture","structure"],["sturtured","structured"],["sturtures","structures"],["sturucture","structure"],["stutdown","shutdown"],["stutus","status"],["styhe","style"],["styilistic","stylistic"],["stylessheets","stylesheets"],["sub-lcuase","sub-clause"],["subbtle","subtle"],["subcatagories","subcategories"],["subcatagory","subcategory"],["subcirucit","subcircuit"],["subcommannd","subcommand"],["subcommnad","subcommand"],["subconchus","subconscious"],["subconsiously","subconsciously"],["subcribe","subscribe"],["subcribed","subscribed"],["subcribes","subscribes"],["subcribing","subscribing"],["subdirectoires","subdirectories"],["subdirectorys","subdirectories"],["subdirecty","subdirectory"],["subdivisio","subdivision"],["subdivisiond","subdivisioned"],["subdoamin","subdomain"],["subdoamins","subdomains"],["subelemet","subelement"],["subelemets","subelements"],["subexperesion","subexpression"],["subexperesions","subexpressions"],["subexperession","subexpression"],["subexperessions","subexpressions"],["subexpersion","subexpression"],["subexpersions","subexpressions"],["subexperssion","subexpression"],["subexperssions","subexpressions"],["subexpession","subexpression"],["subexpessions","subexpressions"],["subexpresssion","subexpression"],["subexpresssions","subexpressions"],["subfolfer","subfolder"],["subfolfers","subfolders"],["subfromat","subformat"],["subfromats","subformats"],["subfroms","subforms"],["subgregion","subregion"],["subirectory","subdirectory"],["subjec","subject"],["subjet","subject"],["subjudgation","subjugation"],["sublass","subclass"],["sublasse","subclasse"],["sublasses","subclasses"],["sublcasses","subclasses"],["sublcuase","subclause"],["suble","subtle"],["submachne","submachine"],["submision","submission"],["submisson","submission"],["submited","submitted"],["submition","submission"],["submitions","submissions"],["submittted","submitted"],["submoule","submodule"],["submti","submit"],["subnegatiotiation","subnegotiation"],["subnegatiotiations","subnegotiations"],["subnegoatiation","subnegotiation"],["subnegoatiations","subnegotiations"],["subnegoation","subnegotiation"],["subnegoations","subnegotiations"],["subnegociation","subnegotiation"],["subnegociations","subnegotiations"],["subnegogtiation","subnegotiation"],["subnegogtiations","subnegotiations"],["subnegoitation","subnegotiation"],["subnegoitations","subnegotiations"],["subnegoptionsotiation","subnegotiation"],["subnegoptionsotiations","subnegotiations"],["subnegosiation","subnegotiation"],["subnegosiations","subnegotiations"],["subnegotaiation","subnegotiation"],["subnegotaiations","subnegotiations"],["subnegotaition","subnegotiation"],["subnegotaitions","subnegotiations"],["subnegotatiation","subnegotiation"],["subnegotatiations","subnegotiations"],["subnegotation","subnegotiation"],["subnegotations","subnegotiations"],["subnegothiation","subnegotiation"],["subnegothiations","subnegotiations"],["subnegotication","subnegotiation"],["subnegotications","subnegotiations"],["subnegotioation","subnegotiation"],["subnegotioations","subnegotiations"],["subnegotion","subnegotiation"],["subnegotionation","subnegotiation"],["subnegotionations","subnegotiations"],["subnegotions","subnegotiations"],["subnegotiotation","subnegotiation"],["subnegotiotations","subnegotiations"],["subnegotiotion","subnegotiation"],["subnegotiotions","subnegotiations"],["subnegotitaion","subnegotiation"],["subnegotitaions","subnegotiations"],["subnegotitation","subnegotiation"],["subnegotitations","subnegotiations"],["subnegotition","subnegotiation"],["subnegotitions","subnegotiations"],["subnegoziation","subnegotiation"],["subnegoziations","subnegotiations"],["subobjecs","subobjects"],["suborutine","subroutine"],["suborutines","subroutines"],["suboutine","subroutine"],["subpackge","subpackage"],["subpackges","subpackages"],["subpecies","subspecies"],["subporgram","subprogram"],["subproccese","subprocess"],["subpsace","subspace"],["subquue","subqueue"],["subract","subtract"],["subracted","subtracted"],["subraction","subtraction"],["subree","subtree"],["subresoure","subresource"],["subresoures","subresources"],["subroutie","subroutine"],["subrouties","subroutines"],["subsceptible","susceptible"],["subscibe","subscribe"],["subscibed","subscribed"],["subsciber","subscriber"],["subscibers","subscribers"],["subscirbe","subscribe"],["subscirbed","subscribed"],["subscirber","subscriber"],["subscirbers","subscribers"],["subscirbes","subscribes"],["subscirbing","subscribing"],["subscirpt","subscript"],["subscirption","subscription"],["subscirptions","subscriptions"],["subscritpion","subscription"],["subscritpions","subscriptions"],["subscritpiton","subscription"],["subscritpitons","subscriptions"],["subscritpt","subscript"],["subscritption","subscription"],["subscritptions","subscriptions"],["subsctitution","substitution"],["subsecrion","subsection"],["subsedent","subsequent"],["subseqence","subsequence"],["subseqent","subsequent"],["subsequest","subsequent"],["subsequnce","subsequence"],["subsequnt","subsequent"],["subsequntly","subsequently"],["subseuqent","subsequent"],["subshystem","subsystem"],["subshystems","subsystems"],["subsidary","subsidiary"],["subsiduary","subsidiary"],["subsiquent","subsequent"],["subsiquently","subsequently"],["subsituent","substituent"],["subsituents","substituents"],["subsitutable","substitutable"],["subsitutatble","substitutable"],["subsitute","substitute"],["subsituted","substituted"],["subsitutes","substitutes"],["subsituting","substituting"],["subsitution","substitution"],["subsitutions","substitutions"],["subsitutuent","substituent"],["subsitutuents","substituents"],["subsitutute","substitute"],["subsitututed","substituted"],["subsitututes","substitutes"],["subsitututing","substituting"],["subsitutution","substitution"],["subsquent","subsequent"],["subsquently","subsequently"],["subsriber","subscriber"],["substace","substance"],["substact","subtract"],["substaintially","substantially"],["substancial","substantial"],["substantialy","substantially"],["substantivly","substantively"],["substask","subtask"],["substasks","subtasks"],["substatial","substantial"],["substential","substantial"],["substentially","substantially"],["substition","substitution"],["substitions","substitutions"],["substitition","substitution"],["substititions","substitutions"],["substituation","substitution"],["substituations","substitutions"],["substitude","substitute"],["substituded","substituted"],["substitudes","substitutes"],["substituding","substituting"],["substitue","substitute"],["substitues","substitutes"],["substituing","substituting"],["substituion","substitution"],["substituions","substitutions"],["substiution","substitution"],["substract","subtract"],["substracted","subtracted"],["substracting","subtracting"],["substraction","subtraction"],["substracts","subtracts"],["substucture","substructure"],["substuctures","substructures"],["substutite","substitute"],["subsysthem","subsystem"],["subsysthems","subsystems"],["subsystyem","subsystem"],["subsystyems","subsystems"],["subsysytem","subsystem"],["subsysytems","subsystems"],["subsytem","subsystem"],["subsytems","subsystems"],["subtabels","subtables"],["subtak","subtask"],["subtances","substances"],["subterranian","subterranean"],["subtitute","substitute"],["subtituted","substituted"],["subtitutes","substitutes"],["subtituting","substituting"],["subtitution","substitution"],["subtitutions","substitutions"],["subtrafuge","subterfuge"],["subtrate","substrate"],["subtrates","substrates"],["subtring","substring"],["subtrings","substrings"],["subtsitutable","substitutable"],["subtsitutatble","substitutable"],["suburburban","suburban"],["subystem","subsystem"],["subystems","subsystems"],["succceeded","succeeded"],["succcess","success"],["succcesses","successes"],["succcessful","successful"],["succcessfully","successfully"],["succcessor","successor"],["succcessors","successors"],["succcessul","successful"],["succcessully","successfully"],["succecful","successful"],["succed","succeed"],["succedd","succeed"],["succedded","succeeded"],["succedding","succeeding"],["succedds","succeeds"],["succede","succeed"],["succeded","succeeded"],["succedes","succeeds"],["succedfully","successfully"],["succeding","succeeding"],["succeds","succeeds"],["succee","succeed"],["succeedde","succeeded"],["succeedes","succeeds"],["succeess","success"],["succeesses","successes"],["succes","success"],["succesful","successful"],["succesfull","successful"],["succesfully","successfully"],["succesfuly","successfully"],["succesion","succession"],["succesive","successive"],["succesor","successor"],["succesors","successors"],["successfui","successful"],["successfule","successful"],["successfull","successful"],["successfullies","successfully"],["successfullly","successfully"],["successfulln","successful"],["successfullness","successfulness"],["successfullt","successfully"],["successfuly","successfully"],["successing","successive"],["successs","success"],["successsfully","successfully"],["successsion","succession"],["successul","successful"],["successully","successfully"],["succesully","successfully"],["succicently","sufficiently"],["succint","succinct"],["succseeded","succeeded"],["succsess","success"],["succsessfull","successful"],["succsessive","successive"],["succssful","successful"],["succussfully","successfully"],["suceed","succeed"],["suceeded","succeeded"],["suceeding","succeeding"],["suceeds","succeeds"],["suceessfully","successfully"],["suces","success"],["suceses","successes"],["sucesful","successful"],["sucesfull","successful"],["sucesfully","successfully"],["sucesfuly","successfully"],["sucesion","succession"],["sucesive","successive"],["sucess","success"],["sucesscient","sufficient"],["sucessed","succeeded"],["sucessefully","successfully"],["sucesses","successes"],["sucessess","success"],["sucessflly","successfully"],["sucessfually","successfully"],["sucessfukk","successful"],["sucessful","successful"],["sucessfull","successful"],["sucessfully","successfully"],["sucessfuly","successfully"],["sucession","succession"],["sucessiv","successive"],["sucessive","successive"],["sucessively","successively"],["sucessor","successor"],["sucessors","successors"],["sucessot","successor"],["sucesss","success"],["sucessses","successes"],["sucesssful","successful"],["sucesssfull","successful"],["sucesssfully","successfully"],["sucesssfuly","successfully"],["sucessufll","successful"],["sucessuflly","successfully"],["sucessully","successfully"],["sucide","suicide"],["sucidial","suicidal"],["sucome","succumb"],["sucsede","succeed"],["sucsess","success"],["sudent","student"],["sudents","students"],["sudmobule","submodule"],["sudmobules","submodules"],["sueful","useful"],["sueprset","superset"],["suface","surface"],["sufaces","surfaces"],["sufface","surface"],["suffaces","surfaces"],["suffciency","sufficiency"],["suffcient","sufficient"],["suffciently","sufficiently"],["sufferage","suffrage"],["sufferred","suffered"],["sufferring","suffering"],["sufficate","suffocate"],["sufficated","suffocated"],["sufficates","suffocates"],["sufficating","suffocating"],["suffication","suffocation"],["sufficency","sufficiency"],["sufficent","sufficient"],["sufficently","sufficiently"],["sufficiancy","sufficiency"],["sufficiant","sufficient"],["sufficiantly","sufficiently"],["sufficiennt","sufficient"],["sufficienntly","sufficiently"],["suffiency","sufficiency"],["suffient","sufficient"],["suffiently","sufficiently"],["suffisticated","sophisticated"],["suficate","suffocate"],["suficated","suffocated"],["suficates","suffocates"],["suficating","suffocating"],["sufication","suffocation"],["suficcient","sufficient"],["suficient","sufficient"],["suficiently","sufficiently"],["sufocate","suffocate"],["sufocated","suffocated"],["sufocates","suffocates"],["sufocating","suffocating"],["sufocation","suffocation"],["sugested","suggested"],["sugestion","suggestion"],["sugestions","suggestions"],["sugests","suggests"],["suggesst","suggest"],["suggessted","suggested"],["suggessting","suggesting"],["suggesstion","suggestion"],["suggesstions","suggestions"],["suggessts","suggests"],["suggestes","suggests"],["suggestin","suggestion"],["suggestins","suggestions"],["suggestsed","suggested"],["suggestted","suggested"],["suggesttion","suggestion"],["suggesttions","suggestions"],["sugget","suggest"],["suggeted","suggested"],["suggetsed","suggested"],["suggetsing","suggesting"],["suggetsion","suggestion"],["sugggest","suggest"],["sugggested","suggested"],["sugggesting","suggesting"],["sugggestion","suggestion"],["sugggestions","suggestions"],["sugguest","suggest"],["sugguested","suggested"],["sugguesting","suggesting"],["sugguestion","suggestion"],["sugguestions","suggestions"],["suh","such"],["suiete","suite"],["suiteable","suitable"],["sumamry","summary"],["sumarize","summarize"],["sumary","summary"],["sumbitted","submitted"],["sumed-up","summed-up"],["summarizen","summarize"],["summay","summary"],["summerised","summarised"],["summerized","summarized"],["summersalt","somersault"],["summmaries","summaries"],["summmarisation","summarisation"],["summmarised","summarised"],["summmarization","summarization"],["summmarized","summarized"],["summmary","summary"],["sumodules","submodules"],["sumulate","simulate"],["sumulated","simulated"],["sumulates","simulates"],["sumulation","simulation"],["sumulations","simulations"],["sundey","Sunday"],["sunglases","sunglasses"],["sunsday","Sunday"],["suntask","subtask"],["suop","soup"],["supeblock","superblock"],["supeena","subpoena"],["superbock","superblock"],["superbocks","superblocks"],["supercalifragilisticexpialidoceous","supercalifragilisticexpialidocious"],["supercede","supersede"],["superceded","superseded"],["supercedes","supersedes"],["superceding","superseding"],["superceed","supersede"],["superceeded","superseded"],["superflouous","superfluous"],["superflous","superfluous"],["superflouse","superfluous"],["superfluious","superfluous"],["superfluos","superfluous"],["superfulous","superfluous"],["superintendant","superintendent"],["superopeator","superoperator"],["supersed","superseded"],["superseedd","superseded"],["superseede","supersede"],["superseeded","superseded"],["suphisticated","sophisticated"],["suplant","supplant"],["suplanted","supplanted"],["suplanting","supplanting"],["suplants","supplants"],["suplementary","supplementary"],["suplied","supplied"],["suplimented","supplemented"],["supllies","supplies"],["suport","support"],["suported","supported"],["suporting","supporting"],["suports","supports"],["suportted","supported"],["suposable","supposable"],["supose","suppose"],["suposeable","supposable"],["suposed","supposed"],["suposedly","supposedly"],["suposes","supposes"],["suposing","supposing"],["suposse","suppose"],["suppied","supplied"],["suppier","supplier"],["suppies","supplies"],["supplamented","supplemented"],["suppliad","supplied"],["suppliementing","supplementing"],["suppliment","supplement"],["supplyed","supplied"],["suppoed","supposed"],["suppoert","support"],["suppoort","support"],["suppoorts","supports"],["suppopose","suppose"],["suppoprt","support"],["suppoprted","supported"],["suppor","support"],["suppored","supported"],["supporession","suppression"],["supporing","supporting"],["supportd","supported"],["supportes","supports"],["supportin","supporting"],["supportt","support"],["supportted","supported"],["supportting","supporting"],["supportts","supports"],["supposeable","supposable"],["supposeded","supposed"],["supposedely","supposedly"],["supposeds","supposed"],["supposedy","supposedly"],["supposingly","supposedly"],["suppossed","supposed"],["suppoted","supported"],["suppplied","supplied"],["suppport","support"],["suppported","supported"],["suppporting","supporting"],["suppports","supports"],["suppres","suppress"],["suppresed","suppressed"],["suppresion","suppression"],["suppresions","suppressions"],["suppressingd","suppressing"],["supprot","support"],["supproted","supported"],["supproter","supporter"],["supproters","supporters"],["supproting","supporting"],["supprots","supports"],["supprt","support"],["supprted","supported"],["suppurt","support"],["suppurted","supported"],["suppurter","supporter"],["suppurters","supporters"],["suppurting","supporting"],["suppurtive","supportive"],["suppurts","supports"],["suppy","supply"],["suppying","supplying"],["suprassing","surpassing"],["supres","suppress"],["supresed","suppressed"],["supreses","suppresses"],["supresing","suppressing"],["supresion","suppression"],["supress","suppress"],["supressed","suppressed"],["supresses","suppresses"],["supressible","suppressible"],["supressing","suppressing"],["supression","suppression"],["supressions","suppressions"],["supressor","suppressor"],["supressors","suppressors"],["supresssion","suppression"],["suprious","spurious"],["suprise","surprise"],["suprised","surprised"],["suprises","surprises"],["suprising","surprising"],["suprisingly","surprisingly"],["suprize","surprise"],["suprized","surprised"],["suprizing","surprising"],["suprizingly","surprisingly"],["supsend","suspend"],["supspect","suspect"],["supspected","suspected"],["supspecting","suspecting"],["supspects","suspects"],["surbert","sherbet"],["surfce","surface"],["surgest","suggest"],["surgested","suggested"],["surgestion","suggestion"],["surgestions","suggestions"],["surgests","suggests"],["suround","surround"],["surounded","surrounded"],["surounding","surrounding"],["suroundings","surroundings"],["surounds","surrounds"],["surpise","surprise"],["surpises","surprises"],["surplanted","supplanted"],["surport","support"],["surported","supported"],["surpress","suppress"],["surpressed","suppressed"],["surpresses","suppresses"],["surpressing","suppressing"],["surprisinlgy","surprisingly"],["surprize","surprise"],["surprized","surprised"],["surprizing","surprising"],["surprizingly","surprisingly"],["surregat","surrogate"],["surrepetitious","surreptitious"],["surrepetitiously","surreptitiously"],["surreptious","surreptitious"],["surreptiously","surreptitiously"],["surrogage","surrogate"],["surronded","surrounded"],["surrouded","surrounded"],["surrouding","surrounding"],["surrrounded","surrounded"],["surrundering","surrendering"],["survay","survey"],["survays","surveys"],["surveilence","surveillance"],["surveill","surveil"],["surveyer","surveyor"],["surviver","survivor"],["survivers","survivors"],["survivied","survived"],["susbcribed","subscribed"],["susbsystem","subsystem"],["susbsystems","subsystems"],["susbsytem","subsystem"],["susbsytems","subsystems"],["suscribe","subscribe"],["suscribed","subscribed"],["suscribes","subscribes"],["suscript","subscript"],["susepect","suspect"],["suseptable","susceptible"],["suseptible","susceptible"],["susinctly","succinctly"],["susinkt","succinct"],["suspedn","suspend"],["suspeneded","suspended"],["suspention","suspension"],["suspicios","suspicious"],["suspicioulsy","suspiciously"],["suspicous","suspicious"],["suspicously","suspiciously"],["suspision","suspicion"],["suspsend","suspend"],["sussinct","succinct"],["sustainaiblity","sustainability"],["sustem","system"],["sustems","systems"],["sustitution","substitution"],["sustitutions","substitutions"],["susupend","suspend"],["sutdown","shutdown"],["sutisfaction","satisfaction"],["sutisfied","satisfied"],["sutisfies","satisfies"],["sutisfy","satisfy"],["sutisfying","satisfying"],["suttled","shuttled"],["suttles","shuttles"],["suttlety","subtlety"],["suttling","shuttling"],["suuport","support"],["suuported","supported"],["suuporting","supporting"],["suuports","supports"],["suvenear","souvenir"],["suystem","system"],["suystemic","systemic"],["suystems","systems"],["svelt","svelte"],["swaer","swear"],["swaers","swears"],["swalloed","swallowed"],["swaped","swapped"],["swapiness","swappiness"],["swaping","swapping"],["swarmin","swarming"],["swcloumns","swcolumns"],["swepth","swept"],["swich","switch"],["swiched","switched"],["swiching","switching"],["swicth","switch"],["swicthed","switched"],["swicthing","switching"],["swiming","swimming"],["switchs","switches"],["switcht","switched"],["switchting","switching"],["swith","switch"],["swithable","switchable"],["swithc","switch"],["swithcboard","switchboard"],["swithced","switched"],["swithces","switches"],["swithch","switch"],["swithches","switches"],["swithching","switching"],["swithcing","switching"],["swithcover","switchover"],["swithed","switched"],["swither","switcher"],["swithes","switches"],["swithing","switching"],["switiches","switches"],["swown","shown"],["swtich","switch"],["swtichable","switchable"],["swtichback","switchback"],["swtichbacks","switchbacks"],["swtichboard","switchboard"],["swtichboards","switchboards"],["swtiched","switched"],["swticher","switcher"],["swtichers","switchers"],["swtiches","switches"],["swtiching","switching"],["swtichover","switchover"],["swtichs","switches"],["sxl","xsl"],["syantax","syntax"],["syas","says"],["syatem","system"],["syatems","systems"],["sybsystem","subsystem"],["sybsystems","subsystems"],["sychronisation","synchronisation"],["sychronise","synchronise"],["sychronised","synchronised"],["sychroniser","synchroniser"],["sychronises","synchronises"],["sychronisly","synchronously"],["sychronization","synchronization"],["sychronize","synchronize"],["sychronized","synchronized"],["sychronizer","synchronizer"],["sychronizes","synchronizes"],["sychronmode","synchronmode"],["sychronous","synchronous"],["sychronously","synchronously"],["sycle","cycle"],["sycled","cycled"],["sycles","cycles"],["sycling","cycling"],["sycn","sync"],["sycology","psychology"],["sycronise","synchronise"],["sycronised","synchronised"],["sycronises","synchronises"],["sycronising","synchronising"],["sycronization","synchronization"],["sycronizations","synchronizations"],["sycronize","synchronize"],["sycronized","synchronized"],["sycronizes","synchronizes"],["sycronizing","synchronizing"],["sycronous","synchronous"],["sycronously","synchronously"],["sycronus","synchronous"],["sylabus","syllabus"],["syle","style"],["syles","styles"],["sylibol","syllable"],["sylinder","cylinder"],["sylinders","cylinders"],["sylistic","stylistic"],["sylog","syslog"],["symantics","semantics"],["symblic","symbolic"],["symbo","symbol"],["symboles","symbols"],["symboll","symbol"],["symbonname","symbolname"],["symbsol","symbol"],["symbsols","symbols"],["symemetric","symmetric"],["symetri","symmetry"],["symetric","symmetric"],["symetrical","symmetrical"],["symetrically","symmetrically"],["symetry","symmetry"],["symettric","symmetric"],["symmetic","symmetric"],["symmetral","symmetric"],["symmetri","symmetry"],["symmetricaly","symmetrically"],["symnol","symbol"],["symnols","symbols"],["symobilic","symbolic"],["symobl","symbol"],["symoblic","symbolic"],["symoblically","symbolically"],["symobls","symbols"],["symobolic","symbolic"],["symobolical","symbolical"],["symol","symbol"],["symols","symbols"],["synagouge","synagogue"],["synamic","dynamic"],["synax","syntax"],["synching","syncing"],["synchonisation","synchronisation"],["synchonise","synchronise"],["synchonised","synchronised"],["synchonises","synchronises"],["synchonising","synchronising"],["synchonization","synchronization"],["synchonize","synchronize"],["synchonized","synchronized"],["synchonizes","synchronizes"],["synchonizing","synchronizing"],["synchonous","synchronous"],["synchonrous","synchronous"],["synchrnization","synchronization"],["synchrnonization","synchronization"],["synchroizing","synchronizing"],["synchromized","synchronized"],["synchroneous","synchronous"],["synchroneously","synchronously"],["synchronious","synchronous"],["synchroniously","synchronously"],["synchronizaton","synchronization"],["synchronsouly","synchronously"],["synchronuous","synchronous"],["synchronuously","synchronously"],["synchronus","synchronous"],["syncrhonise","synchronise"],["syncrhonised","synchronised"],["syncrhonize","synchronize"],["syncrhonized","synchronized"],["syncronise","synchronise"],["syncronised","synchronised"],["syncronises","synchronises"],["syncronising","synchronising"],["syncronization","synchronization"],["syncronizations","synchronizations"],["syncronize","synchronize"],["syncronized","synchronized"],["syncronizes","synchronizes"],["syncronizing","synchronizing"],["syncronous","synchronous"],["syncronously","synchronously"],["syncronus","synchronous"],["syncting","syncing"],["syndonic","syntonic"],["syndrom","syndrome"],["syndroms","syndromes"],["synomym","synonym"],["synonim","synonym"],["synonomous","synonymous"],["synonymns","synonyms"],["synopis","synopsis"],["synopsys","synopsis"],["synoym","synonym"],["synphony","symphony"],["synposis","synopsis"],["synronous","synchronous"],["syntac","syntax"],["syntacks","syntax"],["syntacs","syntax"],["syntact","syntax"],["syntactally","syntactically"],["syntacts","syntax"],["syntak","syntax"],["syntaks","syntax"],["syntakt","syntax"],["syntakts","syntax"],["syntatic","syntactic"],["syntatically","syntactically"],["syntaxe","syntax"],["syntaxg","syntax"],["syntaxt","syntax"],["syntehsise","synthesise"],["syntehsised","synthesised"],["syntehsize","synthesize"],["syntehsized","synthesized"],["syntesis","synthesis"],["syntethic","synthetic"],["syntethically","synthetically"],["syntethics","synthetics"],["syntetic","synthetic"],["syntetize","synthesize"],["syntetized","synthesized"],["synthethic","synthetic"],["synthetize","synthesize"],["synthetized","synthesized"],["synthetizes","synthesizes"],["synthtic","synthetic"],["syphyllis","syphilis"],["sypmtoms","symptoms"],["sypport","support"],["syrap","syrup"],["sysbols","symbols"],["syschronize","synchronize"],["sysem","system"],["sysematic","systematic"],["sysems","systems"],["sysmatically","systematically"],["sysmbol","symbol"],["sysmograph","seismograph"],["sysmte","system"],["sysmtes","systems"],["systax","syntax"],["syste","system"],["systen","system"],["systens","systems"],["systesm","systems"],["systhem","system"],["systhems","systems"],["systm","system"],["systme","system"],["systmes","systems"],["systms","systems"],["systyem","system"],["systyems","systems"],["sysyem","system"],["sysyems","systems"],["sytax","syntax"],["sytem","system"],["sytematic","systematic"],["sytemd","systemd"],["syteme","system"],["sytems","systems"],["sythesis","synthesis"],["sytle","style"],["sytled","styled"],["sytles","styles"],["sytlesheet","stylesheet"],["sytling","styling"],["sytnax","syntax"],["sytntax","syntax"],["sytsem","system"],["sytsemic","systemic"],["sytsems","systems"],["szenario","scenario"],["szenarios","scenarios"],["szes","sizes"],["szie","size"],["szied","sized"],["szies","sizes"],["tabacco","tobacco"],["tabbaray","taboret"],["tabblow","tableau"],["tabe","table"],["tabel","table"],["tabeles","tables"],["tabels","tables"],["tabeview","tabview"],["tabke","table"],["tabl","table"],["tablepsace","tablespace"],["tablepsaces","tablespaces"],["tablle","table"],["tabluar","tabular"],["tabluate","tabulate"],["tabluated","tabulated"],["tabluates","tabulates"],["tabluating","tabulating"],["tabualte","tabulate"],["tabualted","tabulated"],["tabualtes","tabulates"],["tabualting","tabulating"],["tabualtor","tabulator"],["tabualtors","tabulators"],["taged","tagged"],["taget","target"],["tageted","targeted"],["tageting","targeting"],["tagets","targets"],["tagggen","taggen"],["tagnet","tangent"],["tagnetial","tangential"],["tagnets","tangents"],["tagued","tagged"],["tahn","than"],["taht","that"],["takslet","tasklet"],["talbe","table"],["talekd","talked"],["tallerable","tolerable"],["tamplate","template"],["tamplated","templated"],["tamplates","templates"],["tamplating","templating"],["tangeant","tangent"],["tangeantial","tangential"],["tangeants","tangents"],["tangenet","tangent"],["tangensial","tangential"],["tangentailly","tangentially"],["tanget","tangent"],["tangetial","tangential"],["tangetially","tangentially"],["tangets","tangents"],["tansact","transact"],["tansaction","transaction"],["tansactional","transactional"],["tansactions","transactions"],["tanseint","transient"],["tansfomed","transformed"],["tansient","transient"],["tanslate","translate"],["tanslated","translated"],["tanslates","translates"],["tanslation","translation"],["tanslations","translations"],["tanslator","translator"],["tansmit","transmit"],["tansverse","transverse"],["tarbal","tarball"],["tarbals","tarballs"],["tarce","trace"],["tarced","traced"],["tarces","traces"],["tarcing","tracing"],["targed","target"],["targer","target"],["targest","targets"],["targetted","targeted"],["targetting","targeting"],["targettting","targeting"],["targt","target"],["targte","target"],["tarmigan","ptarmigan"],["tarnsparent","transparent"],["tarpolin","tarpaulin"],["tarvis","Travis"],["tarvisci","TravisCI"],["tasbar","taskbar"],["taskelt","tasklet"],["tast","taste"],["tatgert","target"],["tatgerted","targeted"],["tatgerting","targeting"],["tatgerts","targets"],["tath","that"],["tatoo","tattoo"],["tatoos","tattoos"],["tattooes","tattoos"],["tawk","talk"],["taxanomic","taxonomic"],["taxanomy","taxonomy"],["taxnomy","taxonomy"],["taxomonmy","taxonomy"],["taxonmy","taxonomy"],["taxonoy","taxonomy"],["taylored","tailored"],["tbe","the"],["tbey","they"],["tcahce","cache"],["tcahces","caches"],["tcheckout","checkout"],["tcpdumpp","tcpdump"],["tcppcheck","cppcheck"],["teacer","teacher"],["teacers","teachers"],["teached","taught"],["teachnig","teaching"],["teaher","teacher"],["teahers","teachers"],["teamplate","template"],["teamplates","templates"],["teated","treated"],["teched","taught"],["techer","teacher"],["techers","teachers"],["teches","teaches"],["techical","technical"],["techician","technician"],["techicians","technicians"],["techincal","technical"],["techincally","technically"],["teching","teaching"],["techinically","technically"],["techinique","technique"],["techiniques","techniques"],["techinque","technique"],["techinques","techniques"],["techique","technique"],["techiques","techniques"],["techneek","technique"],["technic","technique"],["technics","techniques"],["technik","technique"],["techniks","techniques"],["techniquest","techniques"],["techniquet","technique"],["technitian","technician"],["technition","technician"],["technlogy","technology"],["technnology","technology"],["technolgy","technology"],["technoloiges","technologies"],["tecnic","technique"],["tecnical","technical"],["tecnically","technically"],["tecnician","technician"],["tecnicians","technicians"],["tecnique","technique"],["tecniques","techniques"],["tedeous","tedious"],["tefine","define"],["teh","the"],["tehy","they"],["tekst","text"],["teksts","texts"],["telegramm","telegram"],["telelevision","television"],["televsion","television"],["telocom","telecom"],["telphony","telephony"],["temaplate","template"],["temaplates","templates"],["temeprature","temperature"],["temepratures","temperatures"],["temerature","temperature"],["teminal","terminal"],["teminals","terminals"],["teminate","terminate"],["teminated","terminated"],["teminating","terminating"],["temination","termination"],["temlate","template"],["temorarily","temporarily"],["temorary","temporary"],["tempalte","template"],["tempaltes","templates"],["temparal","temporal"],["tempararily","temporarily"],["temparary","temporary"],["temparate","temperate"],["temparature","temperature"],["temparily","temporarily"],["tempate","template"],["tempated","templated"],["tempates","templates"],["tempatied","templatized"],["tempation","temptation"],["tempatised","templatised"],["tempatized","templatized"],["tempature","temperature"],["tempdate","template"],["tempearture","temperature"],["tempeartures","temperatures"],["tempearure","temperature"],["tempelate","template"],["temperarily","temporarily"],["temperarure","temperature"],["temperary","temporary"],["temperatur","temperature"],["tempereature","temperature"],["temperment","temperament"],["tempertaure","temperature"],["temperture","temperature"],["templaced","templated"],["templaces","templates"],["templacing","templating"],["templaet","template"],["templat","template"],["templateas","templates"],["templete","template"],["templeted","templated"],["templetes","templates"],["templeting","templating"],["tempoaray","temporary"],["tempopary","temporary"],["temporaere","temporary"],["temporafy","temporary"],["temporalily","temporarily"],["temporarely","temporarily"],["temporarilly","temporarily"],["temporarilty","temporarily"],["temporarilu","temporary"],["temporarirly","temporarily"],["temporay","temporary"],["tempories","temporaries"],["temporily","temporarily"],["tempororaries","temporaries"],["tempororarily","temporarily"],["tempororary","temporary"],["temporories","temporaries"],["tempororily","temporarily"],["temporory","temporary"],["temporraies","temporaries"],["temporraily","temporarily"],["temporraries","temporaries"],["temporrarily","temporarily"],["temporrary","temporary"],["temporray","temporary"],["temporries","temporaries"],["temporrily","temporarily"],["temporry","temporary"],["temportal","temporal"],["temportaries","temporaries"],["temportarily","temporarily"],["temportary","temporary"],["tempory","temporary"],["temporyries","temporaries"],["temporyrily","temporarily"],["temporyry","temporary"],["tempraaily","temporarily"],["tempraal","temporal"],["tempraarily","temporarily"],["tempraarly","temporarily"],["tempraary","temporary"],["tempraay","temporary"],["tempraily","temporarily"],["tempral","temporal"],["temprament","temperament"],["tempramental","temperamental"],["tempraraily","temporarily"],["tempraral","temporal"],["temprararily","temporarily"],["temprararly","temporarily"],["temprarary","temporary"],["tempraray","temporary"],["temprarily","temporarily"],["temprature","temperature"],["tempratures","temperatures"],["tempray","temporary"],["tempreature","temperature"],["tempreatures","temperatures"],["temprement","temperament"],["tempremental","temperamental"],["temproaily","temporarily"],["temproal","temporal"],["temproarily","temporarily"],["temproarly","temporarily"],["temproary","temporary"],["temproay","temporary"],["temprol","temporal"],["temproment","temperament"],["tempromental","temperamental"],["temproraily","temporarily"],["temproral","temporal"],["temproraly","temporarily"],["temprorarily","temporarily"],["temprorarly","temporarily"],["temprorary","temporary"],["temproray","temporary"],["temprorily","temporarily"],["temprory","temporary"],["temproy","temporary"],["temptatation","temptation"],["tempurature","temperature"],["tempurture","temperature"],["temr","term"],["temrinal","terminal"],["temselves","themselves"],["temtation","temptation"],["tenacle","tentacle"],["tenacles","tentacles"],["tenanet","tenant"],["tenanets","tenants"],["tenatious","tenacious"],["tenatiously","tenaciously"],["tenative","tentative"],["tenatively","tentatively"],["tendacy","tendency"],["tendancies","tendencies"],["tendancy","tendency"],["tennisplayer","tennis player"],["tentaive","tentative"],["tentaively","tentatively"],["tention","tension"],["teplmate","template"],["teplmated","templated"],["teplmates","templates"],["tepmorarily","temporarily"],["teraform","terraform"],["teraformed","terraformed"],["teraforming","terraforming"],["teraforms","terraforms"],["terfform","terraform"],["terfformed","terraformed"],["terfforming","terraforming"],["terfforms","terraforms"],["teridactyl","pterodactyl"],["terific","terrific"],["terimnate","terminate"],["termial","terminal"],["termials","terminals"],["termianted","terminated"],["termimal","terminal"],["termimals","terminals"],["terminater","terminator"],["terminaters","terminators"],["terminats","terminates"],["termindate","terminate"],["termine","determine"],["termined","terminated"],["terminte","terminate"],["termintor","terminator"],["termniate","terminate"],["termniated","terminated"],["termniates","terminates"],["termniating","terminating"],["termniation","termination"],["termniations","terminations"],["termniator","terminator"],["termniators","terminators"],["termo","thermo"],["termostat","thermostat"],["termperatue","temperature"],["termperatues","temperatures"],["termperature","temperature"],["termperatures","temperatures"],["termplate","template"],["termplated","templated"],["termplates","templates"],["termporal","temporal"],["termporaries","temporaries"],["termporarily","temporarily"],["termporary","temporary"],["ternament","tournament"],["ternimate","terminate"],["terninal","terminal"],["terninals","terminals"],["terrable","terrible"],["terrestial","terrestrial"],["terrform","terraform"],["terrformed","terraformed"],["terrforming","terraforming"],["terrforms","terraforms"],["terriffic","terrific"],["terriories","territories"],["terriory","territory"],["territorist","terrorist"],["territoy","territory"],["terroist","terrorist"],["terurn","return"],["terurns","returns"],["tescase","testcase"],["tescases","testcases"],["tesellate","tessellate"],["tesellated","tessellated"],["tesellation","tessellation"],["tesellator","tessellator"],["tesited","tested"],["tessealte","tessellate"],["tessealted","tessellated"],["tesselatad","tessellated"],["tesselate","tessellate"],["tesselated","tessellated"],["tesselation","tessellation"],["tesselator","tessellator"],["tessleate","tessellate"],["tessleated","tessellated"],["tessleating","tessellating"],["tessleator","tessellator"],["testeing","testing"],["testiclular","testicular"],["testin","testing"],["testng","testing"],["testof","test of"],["testomony","testimony"],["testsing","testing"],["tetrahedran","tetrahedron"],["tetrahedrans","tetrahedrons"],["tetry","retry"],["tetss","tests"],["tetxture","texture"],["teusday","Tuesday"],["texchnically","technically"],["texline","textline"],["textfrme","textframe"],["texual","textual"],["texually","textually"],["texure","texture"],["texured","textured"],["texures","textures"],["texxt","text"],["tey","they"],["tghe","the"],["thansk","thanks"],["thansparent","transparent"],["thant","than"],["thare","there"],["that;s","that's"],["thats'","that's"],["thats","that's"],["thats;","that's"],["thck","thick"],["theard","thread"],["thearding","threading"],["theards","threads"],["theared","threaded"],["theather","theater"],["theef","thief"],["theer","there"],["theery","theory"],["theese","these"],["thefore","therefore"],["theif","thief"],["theifs","thieves"],["theive","thief"],["theives","thieves"],["themplate","template"],["themselces","themselves"],["themselfes","themselves"],["themselfs","themselves"],["themselvs","themselves"],["themslves","themselves"],["thenes","themes"],["thenn","then"],["theorectical","theoretical"],["theoreticall","theoretically"],["theoreticaly","theoretically"],["theorical","theoretical"],["theorically","theoretically"],["theoritical","theoretical"],["theoritically","theoretically"],["therafter","thereafter"],["therapudic","therapeutic"],["therby","thereby"],["thereads","threads"],["thereom","theorem"],["thererin","therein"],["theres","there's"],["thereshold","threshold"],["theresholds","thresholds"],["therfore","therefore"],["thermisor","thermistor"],["thermisors","thermistors"],["thermostast","thermostat"],["thermostasts","thermostats"],["therstat","thermostat"],["therwise","otherwise"],["theshold","threshold"],["thesholds","thresholds"],["thest","test"],["thetraedral","tetrahedral"],["thetrahedron","tetrahedron"],["thev","the"],["theves","thieves"],["thgat","that"],["thge","the"],["thhese","these"],["thhis","this"],["thid","this"],["thier","their"],["thign","thing"],["thigns","things"],["thigny","thingy"],["thigsn","things"],["thikn","think"],["thikness","thickness"],["thiknesses","thicknesses"],["thikns","thinks"],["thiks","thinks"],["thimngs","things"],["thinigs","things"],["thinkabel","thinkable"],["thinn","thin"],["thirtyth","thirtieth"],["this'd","this would"],["thisle","thistle"],["thist","this"],["thisy","this"],["thiunk","think"],["thjese","these"],["thme","them"],["thn","then"],["thna","than"],["thnak","thank"],["thnaks","thanks"],["thne","then"],["thnig","thing"],["thnigs","things"],["thonic","chthonic"],["thoroidal","toroidal"],["thoroughty","thoroughly"],["thoruoghly","thoroughly"],["thoses","those"],["thouch","touch"],["thoughout","throughout"],["thougth","thought"],["thounsands","thousands"],["thourghly","thoroughly"],["thourough","thorough"],["thouroughly","thoroughly"],["thq","the"],["thrad","thread"],["threadsave","threadsafe"],["threashold","threshold"],["threasholds","thresholds"],["threatend","threatened"],["threatment","treatment"],["threatments","treatments"],["threatning","threatening"],["thred","thread"],["threded","threaded"],["thredhold","threshold"],["threding","threading"],["threds","threads"],["three-dimenional","three-dimensional"],["three-dimenionsal","three-dimensional"],["threedimenional","three-dimensional"],["threedimenionsal","three-dimensional"],["threee","three"],["threhold","threshold"],["threrefore","therefore"],["threshhold","threshold"],["threshholds","thresholds"],["threshod","threshold"],["threshods","thresholds"],["threshol","threshold"],["thresold","threshold"],["thresshold","threshold"],["thrid","third"],["throen","thrown"],["throgh","through"],["throrough","thorough"],["throttoling","throttling"],["throug","through"],["througg","through"],["throughly","thoroughly"],["throughtout","throughout"],["througout","throughout"],["througt","through"],["througth","through"],["throuh","through"],["throuhg","through"],["throuhgout","throughout"],["throuhgput","throughput"],["throuth","through"],["throwgh","through"],["thrreshold","threshold"],["thrresholds","thresholds"],["thrue","through"],["thrugh","through"],["thruogh","through"],["thruoghout","throughout"],["thruoghput","throughput"],["thruout","throughout"],["thses","these"],["thsi","this"],["thsnk","thank"],["thsnked","thanked"],["thsnkful","thankful"],["thsnkfully","thankfully"],["thsnkfulness","thankfulness"],["thsnking","thanking"],["thsnks","thanks"],["thsnkyou","thank you"],["thsoe","those"],["thsose","those"],["thsould","should"],["thst","that"],["thta","that"],["thtat","that"],["thumbbnail","thumbnail"],["thumbnal","thumbnail"],["thumbnals","thumbnails"],["thundebird","thunderbird"],["thurday","Thursday"],["thurough","thorough"],["thurrow","thorough"],["thursdey","Thursday"],["thurver","further"],["thyat","that"],["tichened","thickened"],["tichness","thickness"],["tickness","thickness"],["tidibt","tidbit"],["tidibts","tidbits"],["tieing","tying"],["tiemout","timeout"],["tiemstamp","timestamp"],["tiemstamped","timestamped"],["tiemstamps","timestamps"],["tieth","tithe"],["tigger","trigger"],["tiggered","triggered"],["tiggering","triggering"],["tiggers","triggers"],["tighly","tightly"],["tightely","tightly"],["tigth","tight"],["tigthen","tighten"],["tigthened","tightened"],["tigthening","tightening"],["tigthens","tightens"],["tigthly","tightly"],["tihkn","think"],["tihs","this"],["tiitle","title"],["tillt","tilt"],["tillted","tilted"],["tillts","tilts"],["timdelta","timedelta"],["timedlta","timedelta"],["timeing","timing"],["timemout","timeout"],["timeot","timeout"],["timeoutted","timed out"],["timere","timer"],["timesamp","timestamp"],["timesamped","timestamped"],["timesamps","timestamps"],["timeschedule","time schedule"],["timespanp","timespan"],["timespanps","timespans"],["timestan","timespan"],["timestans","timespans"],["timestap","timestamp"],["timestaped","timestamped"],["timestaping","timestamping"],["timestaps","timestamps"],["timestemp","timestamp"],["timestemps","timestamps"],["timestmap","timestamp"],["timestmaps","timestamps"],["timetamp","timestamp"],["timetamps","timestamps"],["timmestamp","timestamp"],["timmestamps","timestamps"],["timne","time"],["timoeut","timeout"],["timout","timeout"],["timtout","timeout"],["timzeone","timezone"],["timzeones","timezones"],["timzezone","timezone"],["timzezones","timezones"],["tinterrupts","interrupts"],["tipically","typically"],["tirangle","triangle"],["tirangles","triangles"],["titel","title"],["titels","titles"],["titile","title"],["tittled","titled"],["tittling","titling"],["tje","the"],["tjhe","the"],["tjpanishad","upanishad"],["tkae","take"],["tkaes","takes"],["tkaing","taking"],["tlaking","talking"],["tmis","this"],["tne","the"],["toally","totally"],["tobbaco","tobacco"],["tobot","robot"],["toches","touches"],["tocksen","toxin"],["todya","today"],["toekn","token"],["togehter","together"],["togeter","together"],["togeterness","togetherness"],["toggel","toggle"],["toggeles","toggles"],["toggeling","toggling"],["toggels","toggles"],["toggleing","toggling"],["togheter","together"],["toghether","together"],["togle","toggle"],["togled","toggled"],["togling","toggling"],["toglle","toggle"],["toglled","toggled"],["togther","together"],["tolarable","tolerable"],["tolelerance","tolerance"],["tolen","token"],["tolens","tokens"],["toleranz","tolerance"],["tolerence","tolerance"],["tolerences","tolerances"],["tolerent","tolerant"],["tolernce","tolerance"],["Tolkein","Tolkien"],["tollerable","tolerable"],["tollerance","tolerance"],["tollerances","tolerances"],["tolorance","tolerance"],["tolorances","tolerances"],["tolorant","tolerant"],["tomatoe","tomato"],["tomatos","tomatoes"],["tommorow","tomorrow"],["tommorrow","tomorrow"],["tomorrrow","tomorrow"],["tongiht","tonight"],["tonihgt","tonight"],["tood","todo"],["toogle","toggle"],["toogling","toggling"],["tookits","toolkits"],["toolar","toolbar"],["toolsbox","toolbox"],["toom","tomb"],["toos","tools"],["tootonic","teutonic"],["topicaizer","topicalizer"],["topologie","topology"],["torerable","tolerable"],["toriodal","toroidal"],["tork","torque"],["tormenters","tormentors"],["tornadoe","tornado"],["torpeados","torpedoes"],["torpedos","torpedoes"],["tortilini","tortellini"],["tortise","tortoise"],["torward","toward"],["torwards","towards"],["totaly","totally"],["totat","total"],["totation","rotation"],["totats","totals"],["tothe","to the"],["tothiba","toshiba"],["totol","total"],["totorial","tutorial"],["totorials","tutorials"],["touble","trouble"],["toubles","troubles"],["toubling","troubling"],["toughtful","thoughtful"],["toughtly","tightly"],["toughts","thoughts"],["tounge","tongue"],["touple","tuple"],["towords","towards"],["towrad","toward"],["toxen","toxin"],["tpye","type"],["tpyed","typed"],["tpyes","types"],["tpyo","typo"],["trabsform","transform"],["traceablity","traceability"],["trackign","tracking"],["trackling","tracking"],["tracsode","transcode"],["tracsoded","transcoded"],["tracsoder","transcoder"],["tracsoders","transcoders"],["tracsodes","transcodes"],["tracsoding","transcoding"],["traddition","tradition"],["tradditional","traditional"],["tradditions","traditions"],["tradgic","tragic"],["tradionally","traditionally"],["traditilnal","traditional"],["traditiona","traditional"],["traditionaly","traditionally"],["traditionnal","traditional"],["traditionnally","traditionally"],["traditition","tradition"],["tradtional","traditional"],["tradtionally","traditionally"],["trafficed","trafficked"],["trafficing","trafficking"],["trafic","traffic"],["tragectory","trajectory"],["traget","target"],["trageted","targeted"],["trageting","targeting"],["tragets","targets"],["traige","triage"],["traiger","triager"],["traigers","triagers"],["traiges","triages"],["traiging","triaging"],["trailins","trailing"],["traingle","triangle"],["traingles","triangles"],["traingular","triangular"],["traingulate","triangulate"],["traingulated","triangulated"],["traingulates","triangulates"],["traingulating","triangulating"],["traingulation","triangulation"],["traingulations","triangulations"],["trainig","training"],["trainigs","training"],["trainng","training"],["trainngs","training"],["traked","tracked"],["traker","tracker"],["trakers","trackers"],["traking","tracking"],["tramsmit","transmit"],["tramsmits","transmits"],["tramsmitted","transmitted"],["tramsmitting","transmitting"],["tranaction","transaction"],["tranactional","transactional"],["tranactions","transactions"],["tranalating","translating"],["tranalation","translation"],["tranalations","translations"],["tranasction","transaction"],["tranasctions","transactions"],["tranceiver","transceiver"],["tranceivers","transceivers"],["trancendent","transcendent"],["trancending","transcending"],["tranclate","translate"],["trandional","traditional"],["tranfer","transfer"],["tranfered","transferred"],["tranfering","transferring"],["tranferred","transferred"],["tranfers","transfers"],["tranform","transform"],["tranformable","transformable"],["tranformation","transformation"],["tranformations","transformations"],["tranformative","transformative"],["tranformed","transformed"],["tranforming","transforming"],["tranforms","transforms"],["tranient","transient"],["tranients","transients"],["tranistion","transition"],["tranistioned","transitioned"],["tranistioning","transitioning"],["tranistions","transitions"],["tranition","transition"],["tranitioned","transitioned"],["tranitioning","transitioning"],["tranitions","transitions"],["tranlatable","translatable"],["tranlate","translate"],["tranlated","translated"],["tranlates","translates"],["tranlating","translating"],["tranlation","translation"],["tranlations","translations"],["tranlsation","translation"],["tranlsations","translations"],["tranmission","transmission"],["tranmist","transmit"],["tranmitted","transmitted"],["tranmitting","transmitting"],["tranparent","transparent"],["tranparently","transparently"],["tranport","transport"],["tranported","transported"],["tranporting","transporting"],["tranports","transports"],["transacion","transaction"],["transacions","transactions"],["transaciton","transaction"],["transacitons","transactions"],["transacrtion","transaction"],["transacrtions","transactions"],["transaction-spacific","transaction-specific"],["transactoin","transaction"],["transactoins","transactions"],["transalation","translation"],["transalations","translations"],["transalt","translate"],["transalte","translate"],["transalted","translated"],["transaltes","translates"],["transaltion","translation"],["transaltions","translations"],["transaltor","translator"],["transaltors","translators"],["transcendance","transcendence"],["transcendant","transcendent"],["transcendentational","transcendental"],["transcevier","transceiver"],["transciever","transceiver"],["transcievers","transceivers"],["transcocde","transcode"],["transcocded","transcoded"],["transcocder","transcoder"],["transcocders","transcoders"],["transcocdes","transcodes"],["transcocding","transcoding"],["transcocdings","transcodings"],["transconde","transcode"],["transconded","transcoded"],["transconder","transcoder"],["transconders","transcoders"],["transcondes","transcodes"],["transconding","transcoding"],["transcondings","transcodings"],["transcorde","transcode"],["transcorded","transcoded"],["transcorder","transcoder"],["transcorders","transcoders"],["transcordes","transcodes"],["transcording","transcoding"],["transcordings","transcodings"],["transcoser","transcoder"],["transcosers","transcoders"],["transction","transaction"],["transctions","transactions"],["transeint","transient"],["transending","transcending"],["transer","transfer"],["transesxuals","transsexuals"],["transferd","transferred"],["transfered","transferred"],["transfering","transferring"],["transferrd","transferred"],["transfom","transform"],["transfomation","transformation"],["transfomational","transformational"],["transfomations","transformations"],["transfomed","transformed"],["transfomer","transformer"],["transfomm","transform"],["transfoprmation","transformation"],["transforation","transformation"],["transforations","transformations"],["transformated","transformed"],["transformates","transforms"],["transformaton","transformation"],["transformatted","transformed"],["transfrom","transform"],["transfromation","transformation"],["transfromations","transformations"],["transfromed","transformed"],["transfromer","transformer"],["transfroming","transforming"],["transfroms","transforms"],["transiet","transient"],["transiets","transients"],["transision","transition"],["transisioning","transitioning"],["transisions","transitions"],["transisition","transition"],["transisitioned","transitioned"],["transisitioning","transitioning"],["transisitions","transitions"],["transistion","transition"],["transistioning","transitioning"],["transistions","transitions"],["transitionnal","transitional"],["transitionned","transitioned"],["transitionning","transitioning"],["transitionns","transitions"],["transiton","transition"],["transitoning","transitioning"],["transitons","transitions"],["transitor","transistor"],["transitors","transistors"],["translater","translator"],["translaters","translators"],["translatied","translated"],["translatoin","translation"],["translatoins","translations"],["translteration","transliteration"],["transmision","transmission"],["transmisive","transmissive"],["transmissable","transmissible"],["transmissione","transmission"],["transmist","transmit"],["transmited","transmitted"],["transmiter","transmitter"],["transmiters","transmitters"],["transmiting","transmitting"],["transmition","transmission"],["transmitsion","transmission"],["transmittd","transmitted"],["transmittion","transmission"],["transmitts","transmits"],["transmmit","transmit"],["transocde","transcode"],["transocded","transcoded"],["transocder","transcoder"],["transocders","transcoders"],["transocdes","transcodes"],["transocding","transcoding"],["transocdings","transcodings"],["transofrm","transform"],["transofrmation","transformation"],["transofrmations","transformations"],["transofrmed","transformed"],["transofrmer","transformer"],["transofrmers","transformers"],["transofrming","transforming"],["transofrms","transforms"],["transolate","translate"],["transolated","translated"],["transolates","translates"],["transolating","translating"],["transolation","translation"],["transolations","translations"],["transorm","transform"],["transormed","transformed"],["transorming","transforming"],["transorms","transforms"],["transpable","transposable"],["transpacencies","transparencies"],["transpacency","transparency"],["transpaernt","transparent"],["transpaerntly","transparently"],["transpancies","transparencies"],["transpancy","transparency"],["transpant","transplant"],["transparaent","transparent"],["transparaently","transparently"],["transparanceies","transparencies"],["transparancey","transparency"],["transparancies","transparencies"],["transparancy","transparency"],["transparanet","transparent"],["transparanetly","transparently"],["transparanies","transparencies"],["transparant","transparent"],["transparantly","transparently"],["transparany","transparency"],["transpararent","transparent"],["transpararently","transparently"],["transparcencies","transparencies"],["transparcency","transparency"],["transparcenies","transparencies"],["transparceny","transparency"],["transparecy","transparency"],["transpareny","transparency"],["transparities","transparencies"],["transparity","transparency"],["transparnecies","transparencies"],["transparnecy","transparency"],["transparnt","transparent"],["transparntly","transparently"],["transparren","transparent"],["transparrenly","transparently"],["transparrent","transparent"],["transparrently","transparently"],["transpart","transport"],["transparts","transports"],["transpatrent","transparent"],["transpatrently","transparently"],["transpencies","transparencies"],["transpency","transparency"],["transpeorted","transported"],["transperancies","transparencies"],["transperancy","transparency"],["transperant","transparent"],["transperantly","transparently"],["transperencies","transparencies"],["transperency","transparency"],["transperent","transparent"],["transperently","transparently"],["transporation","transportation"],["transportatin","transportation"],["transprencies","transparencies"],["transprency","transparency"],["transprent","transparent"],["transprently","transparently"],["transprot","transport"],["transproted","transported"],["transproting","transporting"],["transprots","transports"],["transprt","transport"],["transprted","transported"],["transprting","transporting"],["transprts","transports"],["transpsition","transposition"],["transsend","transcend"],["transtion","transition"],["transtioned","transitioned"],["transtioning","transitioning"],["transtions","transitions"],["transtition","transition"],["transtitioned","transitioned"],["transtitioning","transitioning"],["transtitions","transitions"],["transtorm","transform"],["transtormed","transformed"],["transvorm","transform"],["transvormation","transformation"],["transvormed","transformed"],["transvorming","transforming"],["transvorms","transforms"],["tranversing","traversing"],["trapeziod","trapezoid"],["trapeziodal","trapezoidal"],["trasaction","transaction"],["trascation","transaction"],["trasfer","transfer"],["trasferred","transferred"],["trasfers","transfers"],["trasform","transform"],["trasformable","transformable"],["trasformation","transformation"],["trasformations","transformations"],["trasformative","transformative"],["trasformed","transformed"],["trasformer","transformer"],["trasformers","transformers"],["trasforming","transforming"],["trasforms","transforms"],["traslalate","translate"],["traslalated","translated"],["traslalating","translating"],["traslalation","translation"],["traslalations","translations"],["traslate","translate"],["traslated","translated"],["traslates","translates"],["traslating","translating"],["traslation","translation"],["traslations","translations"],["traslucency","translucency"],["trasmission","transmission"],["trasmit","transmit"],["trasnaction","transaction"],["trasnfer","transfer"],["trasnfered","transferred"],["trasnferred","transferred"],["trasnfers","transfers"],["trasnform","transform"],["trasnformation","transformation"],["trasnformed","transformed"],["trasnformer","transformer"],["trasnformers","transformers"],["trasnforms","transforms"],["trasnlate","translate"],["trasnlated","translated"],["trasnlation","translation"],["trasnlations","translations"],["trasnparencies","transparencies"],["trasnparency","transparency"],["trasnparent","transparent"],["trasnport","transport"],["trasnports","transports"],["trasnsmit","transmit"],["trasparency","transparency"],["trasparent","transparent"],["trasparently","transparently"],["trasport","transport"],["trasportable","transportable"],["trasported","transported"],["trasporter","transporter"],["trasports","transports"],["traspose","transpose"],["trasposed","transposed"],["trasposing","transposing"],["trasposition","transposition"],["traspositions","transpositions"],["traved","traversed"],["traveersal","traversal"],["traveerse","traverse"],["traveersed","traversed"],["traveerses","traverses"],["traveersing","traversing"],["traveral","traversal"],["travercal","traversal"],["traverce","traverse"],["traverced","traversed"],["traverces","traverses"],["travercing","traversing"],["travere","traverse"],["travered","traversed"],["traveres","traverse"],["traveresal","traversal"],["traveresed","traversed"],["travereses","traverses"],["traveresing","traversing"],["travering","traversing"],["traverssal","traversal"],["travesal","traversal"],["travese","traverse"],["travesed","traversed"],["traveses","traverses"],["travesing","traversing"],["tre","tree"],["treate","treat"],["treatement","treatment"],["treatements","treatments"],["treates","treats"],["tremelo","tremolo"],["tremelos","tremolos"],["trempoline","trampoline"],["treshhold","threshold"],["treshold","threshold"],["tressle","trestle"],["treting","treating"],["trgistration","registration"],["trhe","the"],["triancle","triangle"],["triancles","triangles"],["trianed","trained"],["triange","triangle"],["triangel","triangle"],["triangels","triangles"],["trianglular","triangular"],["trianglutaion","triangulation"],["triangulataion","triangulation"],["triangultaion","triangulation"],["trianing","training"],["trianlge","triangle"],["trianlges","triangles"],["trians","trains"],["trigered","triggered"],["trigerred","triggered"],["trigerring","triggering"],["trigers","triggers"],["trigged","triggered"],["triggerd","triggered"],["triggeres","triggers"],["triggerred","triggered"],["triggerring","triggering"],["triggerrs","triggers"],["triggger","trigger"],["trignometric","trigonometric"],["trignometry","trigonometry"],["triguered","triggered"],["triked","tricked"],["trikery","trickery"],["triky","tricky"],["trilineal","trilinear"],["trimed","trimmed"],["trimmng","trimming"],["trinagle","triangle"],["trinagles","triangles"],["triniy","trinity"],["triology","trilogy"],["tripel","triple"],["tripeld","tripled"],["tripels","triples"],["tripple","triple"],["triuangulate","triangulate"],["trival","trivial"],["trivally","trivially"],["trivias","trivia"],["trivival","trivial"],["trnasfers","transfers"],["trnasmit","transmit"],["trnasmited","transmitted"],["trnasmits","transmits"],["trnsfer","transfer"],["trnsfered","transferred"],["trnsfers","transfers"],["troling","trolling"],["trottle","throttle"],["troubeshoot","troubleshoot"],["troubeshooted","troubleshooted"],["troubeshooter","troubleshooter"],["troubeshooting","troubleshooting"],["troubeshoots","troubleshoots"],["troublehshoot","troubleshoot"],["troublehshooting","troubleshooting"],["troublshoot","troubleshoot"],["troublshooting","troubleshooting"],["trought","through"],["troup","troupe"],["trriger","trigger"],["trrigered","triggered"],["trrigering","triggering"],["trrigers","triggers"],["trrigger","trigger"],["trriggered","triggered"],["trriggering","triggering"],["trriggers","triggers"],["trubble","trouble"],["trubbled","troubled"],["trubbles","troubles"],["truble","trouble"],["trubled","troubled"],["trubles","troubles"],["trubling","troubling"],["trucate","truncate"],["trucated","truncated"],["trucates","truncates"],["trucating","truncating"],["trucnate","truncate"],["trucnated","truncated"],["trucnating","truncating"],["truct","struct"],["truelly","truly"],["truely","truly"],["truied","tried"],["trully","truly"],["trun","turn"],["trunacted","truncated"],["truncat","truncate"],["trunctate","truncate"],["trunctated","truncated"],["trunctating","truncating"],["trunctation","truncation"],["truncted","truncated"],["truned","turned"],["truns","turns"],["trustworthly","trustworthy"],["trustworthyness","trustworthiness"],["trustworty","trustworthy"],["trustwortyness","trustworthiness"],["trustwothy","trustworthy"],["truw","true"],["tryed","tried"],["tryes","tries"],["tryig","trying"],["tryinng","trying"],["trys","tries"],["tryying","trying"],["ttests","tests"],["tthe","the"],["tuesdey","Tuesday"],["tuesdsy","Tuesday"],["tufure","future"],["tuhmbnail","thumbnail"],["tunelled","tunnelled"],["tunelling","tunneling"],["tunned","tuned"],["tunnell","tunnel"],["tuotiral","tutorial"],["tuotirals","tutorials"],["tupel","tuple"],["tupple","tuple"],["tupples","tuples"],["ture","true"],["turle","turtle"],["turly","truly"],["turorial","tutorial"],["turorials","tutorials"],["turtleh","turtle"],["turtlehs","turtles"],["turtorial","tutorial"],["turtorials","tutorials"],["Tuscon","Tucson"],["tusday","Tuesday"],["tuseday","Tuesday"],["tust","trust"],["tution","tuition"],["tutoriel","tutorial"],["tutoriels","tutorials"],["tweleve","twelve"],["twelth","twelfth"],["two-dimenional","two-dimensional"],["two-dimenionsal","two-dimensional"],["twodimenional","two-dimensional"],["twodimenionsal","two-dimensional"],["twon","town"],["twpo","two"],["tyep","type"],["tyhat","that"],["tyies","tries"],["tymecode","timecode"],["tyope","type"],["typcast","typecast"],["typcasting","typecasting"],["typcasts","typecasts"],["typcial","typical"],["typcially","typically"],["typechek","typecheck"],["typecheking","typechecking"],["typesrript","typescript"],["typicallly","typically"],["typicaly","typically"],["typicially","typically"],["typle","tuple"],["typles","tuples"],["typographc","typographic"],["typpe","type"],["typped","typed"],["typpes","types"],["typpical","typical"],["typpically","typically"],["tyranies","tyrannies"],["tyrany","tyranny"],["tyring","trying"],["tyrranies","tyrannies"],["tyrrany","tyranny"],["ubelieveble","unbelievable"],["ubelievebly","unbelievably"],["ubernetes","Kubernetes"],["ubiquitious","ubiquitous"],["ubiquituously","ubiquitously"],["ubitquitous","ubiquitous"],["ublisher","publisher"],["ubunut","Ubuntu"],["ubutu","Ubuntu"],["ubutunu","Ubuntu"],["udpatable","updatable"],["udpate","update"],["udpated","updated"],["udpater","updater"],["udpates","updates"],["udpating","updating"],["ueful","useful"],["uegister","unregister"],["uesd","used"],["ueses","uses"],["uesful","useful"],["uesfull","useful"],["uesfulness","usefulness"],["uesless","useless"],["ueslessness","uselessness"],["uest","quest"],["uests","quests"],["uffer","buffer"],["uffered","buffered"],["uffering","buffering"],["uffers","buffers"],["uggly","ugly"],["ugglyness","ugliness"],["uglyness","ugliness"],["uique","unique"],["uise","use"],["uisng","using"],["uites","suites"],["uknown","unknown"],["uknowns","unknowns"],["Ukranian","Ukrainian"],["uless","unless"],["ulimited","unlimited"],["ulter","alter"],["ulteration","alteration"],["ulterations","alterations"],["ultered","altered"],["ultering","altering"],["ulters","alters"],["ultimatly","ultimately"],["ultimely","ultimately"],["umambiguous","unambiguous"],["umark","unmark"],["umarked","unmarked"],["umbrealla","umbrella"],["uminportant","unimportant"],["umit","unit"],["umless","unless"],["ummark","unmark"],["umoutn","umount"],["un-complete","incomplete"],["unabailable","unavailable"],["unabale","unable"],["unabel","unable"],["unablet","unable"],["unacceptible","unacceptable"],["unaccesible","inaccessible"],["unaccessable","inaccessible"],["unacknowleged","unacknowledged"],["unacompanied","unaccompanied"],["unadvertantly","inadvertently"],["unadvertedly","inadvertently"],["unadvertent","inadvertent"],["unadvertently","inadvertently"],["unahppy","unhappy"],["unalllowed","unallowed"],["unambigious","unambiguous"],["unambigous","unambiguous"],["unambigously","unambiguously"],["unamed","unnamed"],["unanimuous","unanimous"],["unanymous","unanimous"],["unappretiated","unappreciated"],["unappretiative","unappreciative"],["unapprieciated","unappreciated"],["unapprieciative","unappreciative"],["unapretiated","unappreciated"],["unapretiative","unappreciative"],["unaquired","unacquired"],["unarchving","unarchiving"],["unassing","unassign"],["unassinged","unassigned"],["unassinging","unassigning"],["unassings","unassigns"],["unathenticated","unauthenticated"],["unathorised","unauthorised"],["unathorized","unauthorized"],["unatteded","unattended"],["unauthenicated","unauthenticated"],["unauthenticed","unauthenticated"],["unavaiable","unavailable"],["unavaialable","unavailable"],["unavaialbale","unavailable"],["unavaialbe","unavailable"],["unavaialbel","unavailable"],["unavaialbility","unavailability"],["unavaialble","unavailable"],["unavaible","unavailable"],["unavailabel","unavailable"],["unavailiability","unavailability"],["unavailible","unavailable"],["unavaliable","unavailable"],["unavaoidable","unavoidable"],["unavilable","unavailable"],["unballance","unbalance"],["unbeknowst","unbeknownst"],["unbeleifable","unbelievable"],["unbeleivable","unbelievable"],["unbeliefable","unbelievable"],["unbelivable","unbelievable"],["unbeliveable","unbelievable"],["unbeliveably","unbelievably"],["unbelivebly","unbelievably"],["unborned","unborn"],["unbouind","unbound"],["unbouinded","unbounded"],["unboun","unbound"],["unbounad","unbound"],["unbounaded","unbounded"],["unbouned","unbounded"],["unbounnd","unbound"],["unbounnded","unbounded"],["unbouund","unbound"],["unbouunded","unbounded"],["uncahnged","unchanged"],["uncalcualted","uncalculated"],["unce","once"],["uncehck","uncheck"],["uncehcked","unchecked"],["uncerain","uncertain"],["uncerainties","uncertainties"],["uncerainty","uncertainty"],["uncertaincy","uncertainty"],["uncertainities","uncertainties"],["uncertainity","uncertainty"],["uncessarily","unnecessarily"],["uncetain","uncertain"],["uncetainties","uncertainties"],["uncetainty","uncertainty"],["unchache","uncache"],["unchached","uncached"],["unchaged","unchanged"],["unchainged","unchanged"],["unchallengable","unchallengeable"],["unchaned","unchanged"],["unchaneged","unchanged"],["unchangable","unchangeable"],["uncheked","unchecked"],["unchenged","unchanged"],["uncognized","unrecognized"],["uncoment","uncomment"],["uncomented","uncommented"],["uncomenting","uncommenting"],["uncoments","uncomments"],["uncomitted","uncommitted"],["uncommited","uncommitted"],["uncommment","uncomment"],["uncommmented","uncommented"],["uncommmenting","uncommenting"],["uncommments","uncomments"],["uncommmitted","uncommitted"],["uncommmon","uncommon"],["uncommpresed","uncompressed"],["uncommpresion","uncompression"],["uncommpressd","uncompressed"],["uncommpressed","uncompressed"],["uncommpression","uncompression"],["uncommtited","uncommitted"],["uncomon","uncommon"],["uncompetetive","uncompetitive"],["uncompetive","uncompetitive"],["uncomplete","incomplete"],["uncompleteness","incompleteness"],["uncompletness","incompleteness"],["uncompres","uncompress"],["uncompresed","uncompressed"],["uncompreses","uncompresses"],["uncompresing","uncompressing"],["uncompresor","uncompressor"],["uncompresors","uncompressors"],["uncompressible","incompressible"],["uncomprss","uncompress"],["unconcious","unconscious"],["unconciousness","unconsciousness"],["unconcistencies","inconsistencies"],["unconcistency","inconsistency"],["unconcistent","inconsistent"],["uncondisional","unconditional"],["uncondisionaly","unconditionally"],["uncondisionnal","unconditional"],["uncondisionnaly","unconditionally"],["unconditial","unconditional"],["unconditially","unconditionally"],["unconditialy","unconditionally"],["unconditianal","unconditional"],["unconditianally","unconditionally"],["unconditianaly","unconditionally"],["unconditinally","unconditionally"],["unconditinaly","unconditionally"],["unconditionaly","unconditionally"],["unconditionnal","unconditional"],["unconditionnally","unconditionally"],["unconditionnaly","unconditionally"],["uncondtional","unconditional"],["uncondtionally","unconditionally"],["unconfiged","unconfigured"],["unconfortability","discomfort"],["unconsisntency","inconsistency"],["unconsistent","inconsistent"],["uncontitutional","unconstitutional"],["uncontrained","unconstrained"],["uncontrolable","uncontrollable"],["unconvential","unconventional"],["unconventionnal","unconventional"],["uncorectly","incorrectly"],["uncorelated","uncorrelated"],["uncorrect","incorrect"],["uncorrectly","incorrectly"],["uncorrolated","uncorrelated"],["uncoverted","unconverted"],["uncrypted","unencrypted"],["undecideable","undecidable"],["undefied","undefined"],["undefien","undefine"],["undefiend","undefined"],["undefinied","undefined"],["undeflow","underflow"],["undeflows","underflows"],["undefuned","undefined"],["undelying","underlying"],["underfiend","undefined"],["underfined","undefined"],["underfow","underflow"],["underfowed","underflowed"],["underfowing","underflowing"],["underfows","underflows"],["underlayed","underlaid"],["underlaying","underlying"],["underlflow","underflow"],["underlflowed","underflowed"],["underlflowing","underflowing"],["underlflows","underflows"],["underlfow","underflow"],["underlfowed","underflowed"],["underlfowing","underflowing"],["underlfows","underflows"],["underlow","underflow"],["underlowed","underflowed"],["underlowing","underflowing"],["underlows","underflows"],["underlyng","underlying"],["underneeth","underneath"],["underrrun","underrun"],["undersacn","underscan"],["understadn","understand"],["understadnable","understandable"],["understadning","understanding"],["understadns","understands"],["understoon","understood"],["understoud","understood"],["undertand","understand"],["undertandable","understandable"],["undertanded","understood"],["undertanding","understanding"],["undertands","understands"],["undertsand","understand"],["undertsanding","understanding"],["undertsands","understands"],["undertsood","understood"],["undertstand","understand"],["undertstands","understands"],["underun","underrun"],["underuns","underruns"],["underware","underwear"],["underying","underlying"],["underyling","underlying"],["undescore","underscore"],["undescored","underscored"],["undescores","underscores"],["undesireable","undesirable"],["undesitable","undesirable"],["undestand","understand"],["undestood","understood"],["undet","under"],["undetecable","undetectable"],["undetstand","understand"],["undetware","underwear"],["undetwater","underwater"],["undfine","undefine"],["undfined","undefined"],["undfines","undefines"],["undistinghable","indistinguishable"],["undocummented","undocumented"],["undorder","unorder"],["undordered","unordered"],["undoubtely","undoubtedly"],["undreground","underground"],["undupplicated","unduplicated"],["uneccesary","unnecessary"],["uneccessarily","unnecessarily"],["uneccessary","unnecessary"],["unecessarily","unnecessarily"],["unecessary","unnecessary"],["uneforceable","unenforceable"],["uneform","uniform"],["unencrpt","unencrypt"],["unencrpted","unencrypted"],["unenforcable","unenforceable"],["unepected","unexpected"],["unepectedly","unexpectedly"],["unequalities","inequalities"],["unequality","inequality"],["uner","under"],["unesacpe","unescape"],["unesacped","unescaped"],["unessecarry","unnecessary"],["unessecary","unnecessary"],["unevaluted","unevaluated"],["unexcected","unexpected"],["unexcectedly","unexpectedly"],["unexcpected","unexpected"],["unexcpectedly","unexpectedly"],["unexecpted","unexpected"],["unexecptedly","unexpectedly"],["unexected","unexpected"],["unexectedly","unexpectedly"],["unexepcted","unexpected"],["unexepctedly","unexpectedly"],["unexepected","unexpected"],["unexepectedly","unexpectedly"],["unexpacted","unexpected"],["unexpactedly","unexpectedly"],["unexpcted","unexpected"],["unexpctedly","unexpectedly"],["unexpecetd","unexpected"],["unexpecetdly","unexpectedly"],["unexpect","unexpected"],["unexpectd","unexpected"],["unexpectdly","unexpectedly"],["unexpecte","unexpected"],["unexpectely","unexpectedly"],["unexpectend","unexpected"],["unexpectendly","unexpectedly"],["unexpectly","unexpectedly"],["unexpeected","unexpected"],["unexpeectedly","unexpectedly"],["unexpepected","unexpected"],["unexpepectedly","unexpectedly"],["unexpepted","unexpected"],["unexpeptedly","unexpectedly"],["unexpercted","unexpected"],["unexperctedly","unexpectedly"],["unexpested","unexpected"],["unexpestedly","unexpectedly"],["unexpetced","unexpected"],["unexpetcedly","unexpectedly"],["unexpetct","unexpected"],["unexpetcted","unexpected"],["unexpetctedly","unexpectedly"],["unexpetctly","unexpectedly"],["unexpetect","unexpected"],["unexpetected","unexpected"],["unexpetectedly","unexpectedly"],["unexpetectly","unexpectedly"],["unexpeted","unexpected"],["unexpetedly","unexpectedly"],["unexpexcted","unexpected"],["unexpexctedly","unexpectedly"],["unexpexted","unexpected"],["unexpextedly","unexpectedly"],["unexspected","unexpected"],["unexspectedly","unexpectedly"],["unfilp","unflip"],["unfilpped","unflipped"],["unfilpping","unflipping"],["unfilps","unflips"],["unflaged","unflagged"],["unflexible","inflexible"],["unforetunately","unfortunately"],["unforgetable","unforgettable"],["unforgiveable","unforgivable"],["unformated","unformatted"],["unforseen","unforeseen"],["unforttunately","unfortunately"],["unfortuante","unfortunate"],["unfortuantely","unfortunately"],["unfortunaltely","unfortunately"],["unfortunaly","unfortunately"],["unfortunat","unfortunate"],["unfortunatelly","unfortunately"],["unfortunatetly","unfortunately"],["unfortunatley","unfortunately"],["unfortunatly","unfortunately"],["unfortunetly","unfortunately"],["unfortuntaly","unfortunately"],["unforunate","unfortunate"],["unforunately","unfortunately"],["unforutunate","unfortunate"],["unforutunately","unfortunately"],["unfotunately","unfortunately"],["unfourtunately","unfortunately"],["unfourtunetly","unfortunately"],["unfurtunately","unfortunately"],["ungeneralizeable","ungeneralizable"],["ungly","ugly"],["unhandeled","unhandled"],["unhilight","unhighlight"],["unhilighted","unhighlighted"],["unhilights","unhighlights"],["Unicde","Unicode"],["unich","unix"],["unidentifiedly","unidentified"],["unidimensionnal","unidimensional"],["unifform","uniform"],["unifforms","uniforms"],["unifiy","unify"],["uniformely","uniformly"],["unifrom","uniform"],["unifromed","uniformed"],["unifromity","uniformity"],["unifroms","uniforms"],["unigned","unsigned"],["unihabited","uninhabited"],["unilateraly","unilaterally"],["unilatreal","unilateral"],["unilatreally","unilaterally"],["unimpemented","unimplemented"],["unimplemeneted","unimplemented"],["unimplimented","unimplemented"],["uninitailised","uninitialised"],["uninitailized","uninitialized"],["uninitalise","uninitialise"],["uninitalised","uninitialised"],["uninitalises","uninitialises"],["uninitalize","uninitialize"],["uninitalized","uninitialized"],["uninitalizes","uninitializes"],["uniniteresting","uninteresting"],["uninitializaed","uninitialized"],["uninitialse","uninitialise"],["uninitialsed","uninitialised"],["uninitialses","uninitialises"],["uninitialze","uninitialize"],["uninitialzed","uninitialized"],["uninitialzes","uninitializes"],["uninstalable","uninstallable"],["uninstatiated","uninstantiated"],["uninstlal","uninstall"],["uninstlalation","uninstallation"],["uninstlalations","uninstallations"],["uninstlaled","uninstalled"],["uninstlaler","uninstaller"],["uninstlaling","uninstalling"],["uninstlals","uninstalls"],["unint8_t","uint8_t"],["unintelligable","unintelligible"],["unintentially","unintentionally"],["uninteressting","uninteresting"],["uninterpretted","uninterpreted"],["uninterruped","uninterrupted"],["uninterruptable","uninterruptible"],["unintersting","uninteresting"],["uninteruppted","uninterrupted"],["uninterupted","uninterrupted"],["unintesting","uninteresting"],["unintialised","uninitialised"],["unintialized","uninitialized"],["unintiallised","uninitialised"],["unintiallized","uninitialized"],["unintialsied","uninitialised"],["unintialzied","uninitialized"],["unio","union"],["unios","unions"],["uniqe","unique"],["uniqu","unique"],["uniquness","uniqueness"],["unistalled","uninstalled"],["uniterrupted","uninterrupted"],["UnitesStates","UnitedStates"],["unitialize","uninitialize"],["unitialized","uninitialized"],["unitilised","uninitialised"],["unitilising","uninitialising"],["unitilities","utilities"],["unitility","utility"],["unitilized","uninitialized"],["unitilizing","uninitializing"],["unitilties","utilities"],["unitilty","utility"],["unititialized","uninitialized"],["unitl","until"],["unitled","untitled"],["unitss","units"],["univeral","universal"],["univerally","universally"],["univeriality","universality"],["univeristies","universities"],["univeristy","university"],["univerities","universities"],["univerity","university"],["universial","universal"],["universiality","universality"],["universirty","university"],["universtal","universal"],["universtiy","university"],["univesities","universities"],["univesity","university"],["univiersal","universal"],["univrsal","universal"],["unkmown","unknown"],["unknon","unknown"],["unknonw","unknown"],["unknonwn","unknown"],["unknonws","unknowns"],["unknwn","unknown"],["unknwns","unknowns"],["unknwoing","unknowing"],["unknwoingly","unknowingly"],["unknwon","unknown"],["unknwons","unknowns"],["unknwown","unknown"],["unknwowns","unknowns"],["unkonwn","unknown"],["unkonwns","unknowns"],["unkown","unknown"],["unkowns","unknowns"],["unkwown","unknown"],["unlcear","unclear"],["unles","unless"],["unlikey","unlikely"],["unlikley","unlikely"],["unlimeted","unlimited"],["unlimitied","unlimited"],["unlimted","unlimited"],["unline","unlike"],["unloadins","unloading"],["unmached","unmatched"],["unmainted","unmaintained"],["unmaping","unmapping"],["unmappend","unmapped"],["unmarsalling","unmarshalling"],["unmaximice","unmaximize"],["unmistakeably","unmistakably"],["unmodfide","unmodified"],["unmodfided","unmodified"],["unmodfied","unmodified"],["unmodfieid","unmodified"],["unmodfified","unmodified"],["unmodfitied","unmodified"],["unmodifable","unmodifiable"],["unmodifed","unmodified"],["unmoutned","unmounted"],["unnacquired","unacquired"],["unncessary","unnecessary"],["unneccecarily","unnecessarily"],["unneccecary","unnecessary"],["unneccesarily","unnecessarily"],["unneccesary","unnecessary"],["unneccessarily","unnecessarily"],["unneccessary","unnecessary"],["unneceesarily","unnecessarily"],["unnecesarily","unnecessarily"],["unnecesarrily","unnecessarily"],["unnecesarry","unnecessary"],["unnecesary","unnecessary"],["unnecesasry","unnecessary"],["unnecessar","unnecessary"],["unnecessarilly","unnecessarily"],["unnecesserily","unnecessarily"],["unnecessery","unnecessary"],["unnecessiarlly","unnecessarily"],["unnecssary","unnecessary"],["unnedded","unneeded"],["unneded","unneeded"],["unneedingly","unnecessarily"],["unnescessarily","unnecessarily"],["unnescessary","unnecessary"],["unnesesarily","unnecessarily"],["unnessarily","unnecessarily"],["unnessasary","unnecessary"],["unnessecarily","unnecessarily"],["unnessecarry","unnecessary"],["unnessecary","unnecessary"],["unnessesarily","unnecessarily"],["unnessesary","unnecessary"],["unnessessarily","unnecessarily"],["unnessessary","unnecessary"],["unning","running"],["unnnecessary","unnecessary"],["unnown","unknown"],["unnowns","unknowns"],["unnsupported","unsupported"],["unnused","unused"],["unobstrusive","unobtrusive"],["unocde","Unicode"],["unoffical","unofficial"],["unoin","union"],["unompress","uncompress"],["unoperational","nonoperational"],["unorderd","unordered"],["unoredered","unordered"],["unorotated","unrotated"],["unoticeable","unnoticeable"],["unpacke","unpacked"],["unpacket","unpacked"],["unparseable","unparsable"],["unpertubated","unperturbed"],["unperturb","unperturbed"],["unperturbated","unperturbed"],["unperturbe","unperturbed"],["unplease","displease"],["unpleasent","unpleasant"],["unplesant","unpleasant"],["unplesent","unpleasant"],["unprecendented","unprecedented"],["unprecidented","unprecedented"],["unprecise","imprecise"],["unpredicatable","unpredictable"],["unpredicatble","unpredictable"],["unpredictablity","unpredictability"],["unpredictible","unpredictable"],["unpriviledged","unprivileged"],["unpriviliged","unprivileged"],["unprmopted","unprompted"],["unqiue","unique"],["unqoute","unquote"],["unqouted","unquoted"],["unqoutes","unquotes"],["unqouting","unquoting"],["unque","unique"],["unreacahable","unreachable"],["unreacahble","unreachable"],["unreacheable","unreachable"],["unrealeased","unreleased"],["unreasonabily","unreasonably"],["unrechable","unreachable"],["unrecocnized","unrecognized"],["unrecoginized","unrecognized"],["unrecogized","unrecognized"],["unrecognixed","unrecognized"],["unrecongized","unrecognized"],["unreconized","unrecognized"],["unrecovable","unrecoverable"],["unrecovarable","unrecoverable"],["unrecoverd","unrecovered"],["unregester","unregister"],["unregiste","unregister"],["unregisted","unregistered"],["unregisteing","registering"],["unregisterd","unregistered"],["unregistert","unregistered"],["unregistes","unregisters"],["unregisting","unregistering"],["unregistred","unregistered"],["unregistrs","unregisters"],["unregiter","unregister"],["unregiters","unregisters"],["unregnized","unrecognized"],["unregognised","unrecognised"],["unregsiter","unregister"],["unregsitered","unregistered"],["unregsitering","unregistering"],["unregsiters","unregisters"],["unregster","unregister"],["unregstered","unregistered"],["unregstering","unregistering"],["unregsters","unregisters"],["unreigister","unregister"],["unreigster","unregister"],["unreigstered","unregistered"],["unreigstering","unregistering"],["unreigsters","unregisters"],["unrelatd","unrelated"],["unreleated","unrelated"],["unrelted","unrelated"],["unrelyable","unreliable"],["unrelying","underlying"],["unrepentent","unrepentant"],["unrepetant","unrepentant"],["unrepetent","unrepentant"],["unreplacable","unreplaceable"],["unreplacalbe","unreplaceable"],["unreproducable","unreproducible"],["unresgister","unregister"],["unresgisterd","unregistered"],["unresgistered","unregistered"],["unresgisters","unregisters"],["unresolvabvle","unresolvable"],["unresonable","unreasonable"],["unresposive","unresponsive"],["unrestrcited","unrestricted"],["unrgesiter","unregister"],["unroated","unrotated"],["unrosponsive","unresponsive"],["unsanfe","unsafe"],["unsccessful","unsuccessful"],["unscubscribe","subscribe"],["unscubscribed","subscribed"],["unsearcahble","unsearchable"],["unselct","unselect"],["unselcted","unselected"],["unselctes","unselects"],["unselcting","unselecting"],["unselcts","unselects"],["unselecgt","unselect"],["unselecgted","unselected"],["unselecgtes","unselects"],["unselecgting","unselecting"],["unselecgts","unselects"],["unselectabe","unselectable"],["unsepcified","unspecified"],["unseting","unsetting"],["unsetset","unset"],["unsettin","unsetting"],["unsharable","unshareable"],["unshfit","unshift"],["unshfited","unshifted"],["unshfiting","unshifting"],["unshfits","unshifts"],["unsiged","unsigned"],["unsigend","unsigned"],["unsignd","unsigned"],["unsignificant","insignificant"],["unsinged","unsigned"],["unsoclicited","unsolicited"],["unsolicitied","unsolicited"],["unsolicted","unsolicited"],["unsollicited","unsolicited"],["unspecificed","unspecified"],["unspecifiec","unspecific"],["unspecifiecd","unspecified"],["unspecifieced","unspecified"],["unspefcifieid","unspecified"],["unspefeid","unspecified"],["unspeficed","unspecified"],["unspeficeid","unspecified"],["unspeficialleid","unspecified"],["unspeficiallied","unspecified"],["unspeficiallifed","unspecified"],["unspeficied","unspecified"],["unspeficieid","unspecified"],["unspeficifed","unspecified"],["unspeficifeid","unspecified"],["unspeficified","unspecified"],["unspeficififed","unspecified"],["unspeficiied","unspecified"],["unspeficiifed","unspecified"],["unspeficilleid","unspecified"],["unspeficillied","unspecified"],["unspeficillifed","unspecified"],["unspeficiteid","unspecified"],["unspeficitied","unspecified"],["unspeficitifed","unspecified"],["unspefied","unspecified"],["unspefifed","unspecified"],["unspefifeid","unspecified"],["unspefified","unspecified"],["unspefififed","unspecified"],["unspefiied","unspecified"],["unspefiifeid","unspecified"],["unspefiified","unspecified"],["unspefiififed","unspecified"],["unspefixeid","unspecified"],["unspefixied","unspecified"],["unspefixifed","unspecified"],["unspported","unsupported"],["unstabel","unstable"],["unstalbe","unstable"],["unsuable","unusable"],["unsual","unusual"],["unsubscibe","unsubscribe"],["unsubscibed","unsubscribed"],["unsubscibing","unsubscribing"],["unsubscirbe","unsubscribe"],["unsubscirbed","unsubscribed"],["unsubscirbing","unsubscribing"],["unsubscirption","unsubscription"],["unsubscirptions","unsubscriptions"],["unsubscritpion","unsubscription"],["unsubscritpions","unsubscriptions"],["unsubscritpiton","unsubscription"],["unsubscritpitons","unsubscriptions"],["unsubscritption","unsubscription"],["unsubscritptions","unsubscriptions"],["unsubstanciated","unsubstantiated"],["unsucccessful","unsuccessful"],["unsucccessfully","unsuccessfully"],["unsucccessul","unsuccessful"],["unsucccessully","unsuccessfully"],["unsuccee","unsuccessful"],["unsucceed","unsuccessful"],["unsucceedde","unsuccessful"],["unsucceeded","unsuccessful"],["unsucceeds","unsuccessful"],["unsucceeed","unsuccessful"],["unsuccees","unsuccessful"],["unsuccesful","unsuccessful"],["unsuccesfull","unsuccessful"],["unsuccesfully","unsuccessfully"],["unsuccess","unsuccessful"],["unsuccessfull","unsuccessful"],["unsuccessfullly","unsuccessfully"],["unsucesful","unsuccessful"],["unsucesfull","unsuccessful"],["unsucesfully","unsuccessfully"],["unsucesfuly","unsuccessfully"],["unsucessefully","unsuccessfully"],["unsucessflly","unsuccessfully"],["unsucessfually","unsuccessfully"],["unsucessful","unsuccessful"],["unsucessfull","unsuccessful"],["unsucessfully","unsuccessfully"],["unsucessfuly","unsuccessfully"],["unsucesssful","unsuccessful"],["unsucesssfull","unsuccessful"],["unsucesssfully","unsuccessfully"],["unsucesssfuly","unsuccessfully"],["unsucessufll","unsuccessful"],["unsucessuflly","unsuccessfully"],["unsucessully","unsuccessfully"],["unsued","unused"],["unsufficient","insufficient"],["unsuportable","unsupportable"],["unsuported","unsupported"],["unsupport","unsupported"],["unsupproted","unsupported"],["unsupress","unsuppress"],["unsupressed","unsuppressed"],["unsupresses","unsuppresses"],["unsuprised","unsurprised"],["unsuprising","unsurprising"],["unsuprisingly","unsurprisingly"],["unsuprized","unsurprised"],["unsuprizing","unsurprising"],["unsuprizingly","unsurprisingly"],["unsurprized","unsurprised"],["unsurprizing","unsurprising"],["unsurprizingly","unsurprisingly"],["unsused","unused"],["unswithced","unswitched"],["unsychronise","unsynchronise"],["unsychronised","unsynchronised"],["unsychronize","unsynchronize"],["unsychronized","unsynchronized"],["untargetted","untargeted"],["unter","under"],["untill","until"],["untintuitive","unintuitive"],["untoched","untouched"],["untqueue","unqueue"],["untrached","untracked"],["untranslateable","untranslatable"],["untrasformed","untransformed"],["untrasposed","untransposed"],["untrustworty","untrustworthy"],["unued","unused"],["ununsed","unused"],["ununsual","unusual"],["unusal","unusual"],["unusally","unusually"],["unuseable","unusable"],["unuseful","useless"],["unusre","unsure"],["unusuable","unusable"],["unusued","unused"],["unvailable","unavailable"],["unvalid","invalid"],["unvalidate","invalidate"],["unverfified","unverified"],["unversionned","unversioned"],["unversoned","unversioned"],["unviersity","university"],["unwarrented","unwarranted"],["unweildly","unwieldy"],["unwieldly","unwieldy"],["unwraped","unwrapped"],["unwrritten","unwritten"],["unx","unix"],["unxepected","unexpected"],["unxepectedly","unexpectedly"],["unxpected","unexpected"],["unziped","unzipped"],["upadate","update"],["upadated","updated"],["upadater","updater"],["upadates","updates"],["upadating","updating"],["upadte","update"],["upadted","updated"],["upadter","updater"],["upadters","updaters"],["upadtes","updates"],["upagrade","upgrade"],["upagraded","upgraded"],["upagrades","upgrades"],["upagrading","upgrading"],["upate","update"],["upated","updated"],["upater","updater"],["upates","updates"],["upating","updating"],["upcomming","upcoming"],["updaing","updating"],["updat","update"],["updateded","updated"],["updateed","updated"],["updatees","updates"],["updateing","updating"],["updatess","updates"],["updatig","updating"],["updats","updates"],["updgrade","upgrade"],["updgraded","upgraded"],["updgrades","upgrades"],["updgrading","upgrading"],["updrage","upgrade"],["updraged","upgraded"],["updrages","upgrades"],["updraging","upgrading"],["updte","update"],["upercase","uppercase"],["uperclass","upperclass"],["upgade","upgrade"],["upgaded","upgraded"],["upgades","upgrades"],["upgading","upgrading"],["upgarade","upgrade"],["upgaraded","upgraded"],["upgarades","upgrades"],["upgarading","upgrading"],["upgarde","upgrade"],["upgarded","upgraded"],["upgardes","upgrades"],["upgarding","upgrading"],["upgarte","upgrade"],["upgarted","upgraded"],["upgartes","upgrades"],["upgarting","upgrading"],["upgerade","upgrade"],["upgeraded","upgraded"],["upgerades","upgrades"],["upgerading","upgrading"],["upgradablilty","upgradability"],["upgradde","upgrade"],["upgradded","upgraded"],["upgraddes","upgrades"],["upgradding","upgrading"],["upgradei","upgrade"],["upgradingn","upgrading"],["upgrate","upgrade"],["upgrated","upgraded"],["upgrates","upgrades"],["upgrating","upgrading"],["upholstry","upholstery"],["uplad","upload"],["upladaded","uploaded"],["upladed","uploaded"],["uplader","uploader"],["upladers","uploaders"],["uplading","uploading"],["uplads","uploads"],["uplaod","upload"],["uplaodaded","uploaded"],["uplaoded","uploaded"],["uplaoder","uploader"],["uplaoders","uploaders"],["uplaodes","uploads"],["uplaoding","uploading"],["uplaods","uploads"],["upliad","upload"],["uplod","upload"],["uplodaded","uploaded"],["uploded","uploaded"],["uploder","uploader"],["uploders","uploaders"],["uploding","uploading"],["uplods","uploads"],["uppler","upper"],["uppon","upon"],["upported","supported"],["upporterd","supported"],["uppper","upper"],["uppstream","upstream"],["uppstreamed","upstreamed"],["uppstreamer","upstreamer"],["uppstreaming","upstreaming"],["uppstreams","upstreams"],["uppwards","upwards"],["uprade","upgrade"],["upraded","upgraded"],["uprades","upgrades"],["uprading","upgrading"],["uprgade","upgrade"],["uprgaded","upgraded"],["uprgades","upgrades"],["uprgading","upgrading"],["upsream","upstream"],["upsreamed","upstreamed"],["upsreamer","upstreamer"],["upsreaming","upstreaming"],["upsreams","upstreams"],["upsrteam","upstream"],["upsrteamed","upstreamed"],["upsrteamer","upstreamer"],["upsrteaming","upstreaming"],["upsrteams","upstreams"],["upsteam","upstream"],["upsteamed","upstreamed"],["upsteamer","upstreamer"],["upsteaming","upstreaming"],["upsteams","upstreams"],["upsteram","upstream"],["upsteramed","upstreamed"],["upsteramer","upstreamer"],["upsteraming","upstreaming"],["upsterams","upstreams"],["upstread","upstream"],["upstreamedd","upstreamed"],["upstreammed","upstreamed"],["upstreammer","upstreamer"],["upstreamming","upstreaming"],["upstreem","upstream"],["upstreemed","upstreamed"],["upstreemer","upstreamer"],["upstreeming","upstreaming"],["upstreems","upstreams"],["upstrema","upstream"],["upsupported","unsupported"],["uptadeable","updatable"],["uptdate","update"],["uptim","uptime"],["uptions","options"],["uptodate","up-to-date"],["uptodateness","up-to-dateness"],["uptream","upstream"],["uptreamed","upstreamed"],["uptreamer","upstreamer"],["uptreaming","upstreaming"],["uptreams","upstreams"],["uqest","quest"],["uqests","quests"],["urrlib","urllib"],["usag","usage"],["usal","usual"],["usally","usually"],["uscaled","unscaled"],["useability","usability"],["useable","usable"],["useage","usage"],["usebility","usability"],["useble","usable"],["useed","used"],["usees","uses"],["usefl","useful"],["usefule","useful"],["usefulfor","useful for"],["usefull","useful"],["usefullness","usefulness"],["usefult","useful"],["usefuly","usefully"],["usefutl","useful"],["usege","usage"],["useing","using"],["user-defiend","user-defined"],["user-defiened","user-defined"],["usera","users"],["userame","username"],["userames","usernames"],["userapace","userspace"],["userful","useful"],["userpace","userspace"],["userpsace","userspace"],["usersapce","userspace"],["userspase","userspace"],["usesfull","useful"],["usespace","userspace"],["usetnet","Usenet"],["usibility","usability"],["usible","usable"],["usig","using"],["usigned","unsigned"],["usiing","using"],["usin","using"],["usind","using"],["usinging","using"],["usinng","using"],["usng","using"],["usnig","using"],["usptart","upstart"],["usptarts","upstarts"],["usseful","useful"],["ussual","usual"],["ussuall","usual"],["ussually","usually"],["usuable","usable"],["usuage","usage"],["usuallly","usually"],["usualy","usually"],["usualyl","usually"],["usue","use"],["usued","used"],["usueful","useful"],["usuer","user"],["usuing","using"],["usupported","unsupported"],["ususal","usual"],["ususally","usually"],["UTF8ness","UTF-8-ness"],["utiilties","utilities"],["utilies","utilities"],["utililties","utilities"],["utilis","utilise"],["utilisa","utilise"],["utilisaton","utilisation"],["utilites","utilities"],["utilitisation","utilisation"],["utilitise","utilise"],["utilitises","utilises"],["utilitising","utilising"],["utilitiy","utility"],["utilitization","utilization"],["utilitize","utilize"],["utilitizes","utilizes"],["utilitizing","utilizing"],["utiliz","utilize"],["utiliza","utilize"],["utilizaton","utilization"],["utillities","utilities"],["utilties","utilities"],["utiltities","utilities"],["utiltity","utility"],["utilty","utility"],["utitity","utility"],["utitlities","utilities"],["utitlity","utility"],["utitlty","utility"],["utlities","utilities"],["utlity","utility"],["utput","output"],["utputs","outputs"],["uupload","upload"],["uupper","upper"],["vaalues","values"],["vaccum","vacuum"],["vaccume","vacuum"],["vaccuum","vacuum"],["vacinity","vicinity"],["vactor","vector"],["vactors","vectors"],["vacumme","vacuum"],["vacuosly","vacuously"],["vaelues","values"],["vaguaries","vagaries"],["vaiable","variable"],["vaiables","variables"],["vaiant","variant"],["vaiants","variants"],["vaidate","validate"],["vaieties","varieties"],["vailable","available"],["vaild","valid"],["vailidity","validity"],["vailidty","validity"],["vairable","variable"],["vairables","variables"],["vairous","various"],["vakue","value"],["vakued","valued"],["vakues","values"],["valailable","available"],["valdate","validate"],["valetta","valletta"],["valeu","value"],["valiator","validator"],["validade","validate"],["validata","validate"],["validataion","validation"],["validaterelase","validaterelease"],["valide","valid"],["valididty","validity"],["validing","validating"],["validte","validate"],["validted","validated"],["validtes","validates"],["validting","validating"],["validtion","validation"],["valied","valid"],["valies","values"],["valif","valid"],["valitdity","validity"],["valkues","values"],["vallgrind","valgrind"],["vallid","valid"],["vallidation","validation"],["vallidity","validity"],["vallue","value"],["vallues","values"],["valsues","values"],["valtage","voltage"],["valtages","voltages"],["valu","value"],["valuble","valuable"],["valudes","values"],["value-to-pack","value to pack"],["valueable","valuable"],["valuess","values"],["valuie","value"],["valulation","valuation"],["valulations","valuations"],["valule","value"],["valuled","valued"],["valules","values"],["valuling","valuing"],["vanishs","vanishes"],["varable","variable"],["varables","variables"],["varaiable","variable"],["varaiables","variables"],["varaiance","variance"],["varaiation","variation"],["varaible","variable"],["varaibles","variables"],["varaint","variant"],["varaints","variants"],["varation","variation"],["varations","variations"],["variabble","variable"],["variabbles","variables"],["variabe","variable"],["variabel","variable"],["variabele","variable"],["variabes","variables"],["variabla","variable"],["variablen","variable"],["varialbe","variable"],["varialbes","variables"],["varialbles","variables"],["varian","variant"],["variantions","variations"],["variatinos","variations"],["variationnal","variational"],["variatoin","variation"],["variatoins","variations"],["variavle","variable"],["variavles","variables"],["varibable","variable"],["varibables","variables"],["varibale","variable"],["varibales","variables"],["varibaless","variables"],["varibel","variable"],["varibels","variables"],["varibility","variability"],["variblae","variable"],["variblaes","variables"],["varible","variable"],["varibles","variables"],["varience","variance"],["varient","variant"],["varients","variants"],["varierty","variety"],["variey","variety"],["varify","verify"],["variing","varying"],["varing","varying"],["varities","varieties"],["varity","variety"],["variuos","various"],["variuous","various"],["varius","various"],["varn","warn"],["varned","warned"],["varning","warning"],["varnings","warnings"],["varns","warns"],["varoius","various"],["varous","various"],["varously","variously"],["varriance","variance"],["varriances","variances"],["vartical","vertical"],["vartically","vertically"],["vas","was"],["vasall","vassal"],["vasalls","vassals"],["vaue","value"],["vaule","value"],["vauled","valued"],["vaules","values"],["vauling","valuing"],["vavle","valve"],["vavlue","value"],["vavriable","variable"],["vavriables","variables"],["vbsrcript","vbscript"],["vebrose","verbose"],["vecotr","vector"],["vecotrs","vectors"],["vectices","vertices"],["vectore","vector"],["vectores","vectors"],["vectorss","vectors"],["vectror","vector"],["vectrors","vectors"],["vecvtor","vector"],["vecvtors","vectors"],["vedio","video"],["vefiry","verify"],["vegatarian","vegetarian"],["vegeterian","vegetarian"],["vegitable","vegetable"],["vegitables","vegetables"],["vegtable","vegetable"],["vehicule","vehicle"],["veify","verify"],["veiw","view"],["veiwed","viewed"],["veiwer","viewer"],["veiwers","viewers"],["veiwing","viewing"],["veiwings","viewings"],["veiws","views"],["vektor","vector"],["vektors","vectors"],["velidate","validate"],["vell","well"],["velociries","velocities"],["velociry","velocity"],["vender","vendor"],["venders","vendors"],["venemous","venomous"],["vengance","vengeance"],["vengence","vengeance"],["verbaitm","verbatim"],["verbatum","verbatim"],["verbous","verbose"],["verbouse","verbose"],["verbously","verbosely"],["verbse","verbose"],["verctor","vector"],["verctors","vectors"],["veresion","version"],["veresions","versions"],["verfication","verification"],["verficiation","verification"],["verfier","verifier"],["verfies","verifies"],["verfifiable","verifiable"],["verfification","verification"],["verfifications","verifications"],["verfified","verified"],["verfifier","verifier"],["verfifiers","verifiers"],["verfifies","verifies"],["verfify","verify"],["verfifying","verifying"],["verfires","verifies"],["verfiy","verify"],["verfiying","verifying"],["verfy","verify"],["verfying","verifying"],["verical","vertical"],["verifcation","verification"],["verifiaction","verification"],["verificaion","verification"],["verificaions","verifications"],["verificiation","verification"],["verificiations","verifications"],["verifieing","verifying"],["verifing","verifying"],["verifiy","verify"],["verifiying","verifying"],["verifty","verify"],["veriftying","verifying"],["verifyied","verified"],["verion","version"],["verions","versions"],["veriosn","version"],["veriosns","versions"],["verious","various"],["verison","version"],["verisoned","versioned"],["verisoner","versioner"],["verisoners","versioners"],["verisoning","versioning"],["verisons","versions"],["veritcal","vertical"],["veritcally","vertically"],["veritical","vertical"],["verly","very"],["vermillion","vermilion"],["verndor","vendor"],["verrical","vertical"],["verry","very"],["vershin","version"],["versin","version"],["versino","version"],["versinos","versions"],["versins","versions"],["versio","version"],["versiob","version"],["versioed","versioned"],["versioing","versioning"],["versiom","version"],["versionaddded","versionadded"],["versionm","version"],["versionms","versions"],["versionned","versioned"],["versionning","versioning"],["versios","versions"],["versitilaty","versatility"],["versitile","versatile"],["versitlity","versatility"],["versoin","version"],["versoion","version"],["versoions","versions"],["verson","version"],["versoned","versioned"],["versons","versions"],["vertextes","vertices"],["vertexts","vertices"],["vertial","vertical"],["verticall","vertical"],["verticaly","vertically"],["verticies","vertices"],["verticla","vertical"],["verticlealign","verticalalign"],["vertiece","vertex"],["vertieces","vertices"],["vertifiable","verifiable"],["vertification","verification"],["vertifications","verifications"],["vertify","verify"],["vertikal","vertical"],["vertix","vertex"],["vertixes","vertices"],["vertixs","vertices"],["vertx","vertex"],["veryfieng","verifying"],["veryfy","verify"],["veryified","verified"],["veryifies","verifies"],["veryify","verify"],["veryifying","verifying"],["vesion","version"],["vesions","versions"],["vetex","vertex"],["vetexes","vertices"],["vetod","vetoed"],["vetween","between"],["vew","view"],["veyr","very"],["vhild","child"],["viatnamese","Vietnamese"],["vice-fersa","vice-versa"],["vice-wersa","vice-versa"],["vicefersa","vice-versa"],["viceversa","vice-versa"],["vicewersa","vice-versa"],["videostreamming","videostreaming"],["viee","view"],["viees","views"],["vieport","viewport"],["vieports","viewports"],["vietnamesea","Vietnamese"],["viewtransfromation","viewtransformation"],["vigilence","vigilance"],["vigourous","vigorous"],["vill","will"],["villian","villain"],["villification","vilification"],["villify","vilify"],["vincinity","vicinity"],["vinrator","vibrator"],["vioalte","violate"],["vioaltion","violation"],["violentce","violence"],["violoated","violated"],["violoating","violating"],["violoation","violation"],["violoations","violations"],["virtal","virtual"],["virtaul","virtual"],["virtical","vertical"],["virtiual","virtual"],["virttual","virtual"],["virttually","virtually"],["virtualisaion","virtualisation"],["virtualisaiton","virtualisation"],["virtualizaion","virtualization"],["virtualizaiton","virtualization"],["virtualiziation","virtualization"],["virtualy","virtually"],["virtualzation","virtualization"],["virtuell","virtual"],["virtural","virtual"],["virture","virtue"],["virutal","virtual"],["virutalenv","virtualenv"],["virutalisation","virtualisation"],["virutalise","virtualise"],["virutalised","virtualised"],["virutalization","virtualization"],["virutalize","virtualize"],["virutalized","virtualized"],["virutally","virtually"],["virutals","virtuals"],["virutual","virtual"],["visability","visibility"],["visable","visible"],["visably","visibly"],["visbility","visibility"],["visble","visible"],["visblie","visible"],["visbly","visibly"],["visiable","visible"],["visiably","visibly"],["visibale","visible"],["visibibilty","visibility"],["visibile","visible"],["visibililty","visibility"],["visibilit","visibility"],["visibilty","visibility"],["visibl","visible"],["visibleable","visible"],["visibles","visible"],["visiblities","visibilities"],["visiblity","visibility"],["visiblle","visible"],["visinble","visible"],["visious","vicious"],["visisble","visible"],["visiter","visitor"],["visiters","visitors"],["visitng","visiting"],["visivble","visible"],["vissible","visible"],["visted","visited"],["visting","visiting"],["vistors","visitors"],["visuab","visual"],["visuabisation","visualisation"],["visuabise","visualise"],["visuabised","visualised"],["visuabises","visualises"],["visuabization","visualization"],["visuabize","visualize"],["visuabized","visualized"],["visuabizes","visualizes"],["visuables","visuals"],["visuably","visually"],["visuabs","visuals"],["visuaisation","visualisation"],["visuaise","visualise"],["visuaised","visualised"],["visuaises","visualises"],["visuaization","visualization"],["visuaize","visualize"],["visuaized","visualized"],["visuaizes","visualizes"],["visuale","visual"],["visuales","visuals"],["visualizaion","visualization"],["visualizaiton","visualization"],["visualizaitons","visualizations"],["visualizaton","visualization"],["visualizatons","visualizations"],["visuallisation","visualisation"],["visuallization","visualization"],["visualy","visually"],["visualzation","visualization"],["vitories","victories"],["vitrual","virtual"],["vitrually","virtually"],["vitual","virtual"],["viusally","visually"],["viusualisation","visualisation"],["viwe","view"],["viwed","viewed"],["viweed","viewed"],["viwer","viewer"],["viwers","viewers"],["viwes","views"],["vizualisation","visualisation"],["vizualise","visualise"],["vizualised","visualised"],["vizualize","visualize"],["vizualized","visualized"],["vlarge","large"],["vlaue","value"],["vlaues","values"],["vlone","clone"],["vloned","cloned"],["vlones","clones"],["vlues","values"],["voif","void"],["volatage","voltage"],["volatages","voltages"],["volatge","voltage"],["volatges","voltages"],["volcanoe","volcano"],["volenteer","volunteer"],["volenteered","volunteered"],["volenteers","volunteers"],["voleyball","volleyball"],["volontary","voluntary"],["volonteer","volunteer"],["volonteered","volunteered"],["volonteering","volunteering"],["volonteers","volunteers"],["volounteer","volunteer"],["volounteered","volunteered"],["volounteering","volunteering"],["volounteers","volunteers"],["volumn","volume"],["volumne","volume"],["volums","volume"],["volxel","voxel"],["volxels","voxels"],["vonfig","config"],["vould","would"],["vreity","variety"],["vresion","version"],["vrey","very"],["vriable","variable"],["vriables","variables"],["vriety","variety"],["vrifier","verifier"],["vrifies","verifies"],["vrify","verify"],["vrilog","Verilog"],["vritual","virtual"],["vritualenv","virtualenv"],["vritualisation","virtualisation"],["vritualise","virtualise"],["vritualization","virtualization"],["vritualize","virtualize"],["vrituoso","virtuoso"],["vrsion","version"],["vrsions","versions"],["Vulacn","Vulcan"],["Vulakn","Vulkan"],["vulbearable","vulnerable"],["vulbearabule","vulnerable"],["vulbearbilities","vulnerabilities"],["vulbearbility","vulnerability"],["vulbearbuilities","vulnerabilities"],["vulbearbuility","vulnerability"],["vulberabilility","vulnerability"],["vulberabilites","vulnerabilities"],["vulberabiliti","vulnerability"],["vulberabilitie","vulnerability"],["vulberabilitis","vulnerabilities"],["vulberabilitiy","vulnerability"],["vulberabillities","vulnerabilities"],["vulberabillity","vulnerability"],["vulberabilties","vulnerabilities"],["vulberabilty","vulnerability"],["vulberablility","vulnerability"],["vulberabuilility","vulnerability"],["vulberabuilites","vulnerabilities"],["vulberabuiliti","vulnerability"],["vulberabuilitie","vulnerability"],["vulberabuilities","vulnerabilities"],["vulberabuilitis","vulnerabilities"],["vulberabuilitiy","vulnerability"],["vulberabuility","vulnerability"],["vulberabuillities","vulnerabilities"],["vulberabuillity","vulnerability"],["vulberabuilties","vulnerabilities"],["vulberabuilty","vulnerability"],["vulberabule","vulnerable"],["vulberabulility","vulnerability"],["vulberbilities","vulnerabilities"],["vulberbility","vulnerability"],["vulberbuilities","vulnerabilities"],["vulberbuility","vulnerability"],["vulerabilities","vulnerabilities"],["vulerability","vulnerability"],["vulerable","vulnerable"],["vulerabuilities","vulnerabilities"],["vulerabuility","vulnerability"],["vulerabule","vulnerable"],["vulernabilities","vulnerabilities"],["vulernability","vulnerability"],["vulernable","vulnerable"],["vulnarabilities","vulnerabilities"],["vulnarability","vulnerability"],["vulneabilities","vulnerabilities"],["vulneability","vulnerability"],["vulneable","vulnerable"],["vulnearabilities","vulnerabilities"],["vulnearability","vulnerability"],["vulnearable","vulnerable"],["vulnearabule","vulnerable"],["vulnearbilities","vulnerabilities"],["vulnearbility","vulnerability"],["vulnearbuilities","vulnerabilities"],["vulnearbuility","vulnerability"],["vulnerabilies","vulnerabilities"],["vulnerabiliies","vulnerabilities"],["vulnerabilility","vulnerability"],["vulnerabilites","vulnerabilities"],["vulnerabiliti","vulnerability"],["vulnerabilitie","vulnerability"],["vulnerabilitis","vulnerabilities"],["vulnerabilitiy","vulnerability"],["vulnerabilitu","vulnerability"],["vulnerabiliy","vulnerability"],["vulnerabillities","vulnerabilities"],["vulnerabillity","vulnerability"],["vulnerabilties","vulnerabilities"],["vulnerabilty","vulnerability"],["vulnerablility","vulnerability"],["vulnerablities","vulnerabilities"],["vulnerablity","vulnerability"],["vulnerabuilility","vulnerability"],["vulnerabuilites","vulnerabilities"],["vulnerabuiliti","vulnerability"],["vulnerabuilitie","vulnerability"],["vulnerabuilities","vulnerabilities"],["vulnerabuilitis","vulnerabilities"],["vulnerabuilitiy","vulnerability"],["vulnerabuility","vulnerability"],["vulnerabuillities","vulnerabilities"],["vulnerabuillity","vulnerability"],["vulnerabuilties","vulnerabilities"],["vulnerabuilty","vulnerability"],["vulnerabule","vulnerable"],["vulnerabulility","vulnerability"],["vulnerarbilities","vulnerabilities"],["vulnerarbility","vulnerability"],["vulnerarble","vulnerable"],["vulnerbilities","vulnerabilities"],["vulnerbility","vulnerability"],["vulnerbuilities","vulnerabilities"],["vulnerbuility","vulnerability"],["vulnreabilities","vulnerabilities"],["vulnreability","vulnerability"],["vunerabilities","vulnerabilities"],["vunerability","vulnerability"],["vunerable","vulnerable"],["vyer","very"],["vyre","very"],["waht","what"],["wainting","waiting"],["waisline","waistline"],["waislines","waistlines"],["waitting","waiting"],["wakup","wakeup"],["wallthickness","wall thickness"],["want;s","wants"],["wantto","want to"],["wappers","wrappers"],["warantee","warranty"],["waranties","warranties"],["waranty","warranty"],["wardobe","wardrobe"],["waring","warning"],["warings","warnings"],["warinigs","warnings"],["warining","warning"],["warinings","warnings"],["warks","works"],["warlking","walking"],["warnibg","warning"],["warnibgs","warnings"],["warnig","warning"],["warnign","warning"],["warnigns","warnings"],["warnigs","warnings"],["warniing","warning"],["warniings","warnings"],["warnin","warning"],["warnind","warning"],["warninds","warnings"],["warninf","warning"],["warninfs","warnings"],["warningss","warnings"],["warninig","warning"],["warninigs","warnings"],["warnining","warning"],["warninings","warnings"],["warninng","warning"],["warninngs","warnings"],["warnins","warnings"],["warninsg","warnings"],["warninsgs","warnings"],["warniong","warning"],["warniongs","warnings"],["warnkng","warning"],["warnkngs","warnings"],["warrent","warrant"],["warrents","warrants"],["warrn","warn"],["warrned","warned"],["warrning","warning"],["warrnings","warnings"],["warrriors","warriors"],["was'nt","wasn't"],["was't","wasn't"],["was;t","wasn't"],["wasn;t","wasn't"],["wasnt'","wasn't"],["wasnt","wasn't"],["wasnt;","wasn't"],["wass","was"],["wastefullness","wastefulness"],["watchdong","watchdog"],["watchog","watchdog"],["watermask","watermark"],["wathc","watch"],["wathdog","watchdog"],["wathever","whatever"],["wating","waiting"],["watn","want"],["wavelengh","wavelength"],["wavelenghs","wavelengths"],["wavelenght","wavelength"],["wavelenghts","wavelengths"],["wavelnes","wavelines"],["wayoint","waypoint"],["wayoints","waypoints"],["wayword","wayward"],["weahter","weather"],["weahters","weathers"],["weaponary","weaponry"],["weas","was"],["webage","webpage"],["webbased","web-based"],["webiste","website"],["wedensday","Wednesday"],["wednesay","Wednesday"],["wednesdaay","Wednesday"],["wednesdey","Wednesday"],["wednessday","Wednesday"],["wednsday","Wednesday"],["wege","wedge"],["wehere","where"],["wehn","when"],["wehther","whether"],["weigth","weight"],["weigthed","weighted"],["weigths","weights"],["weilded","wielded"],["weill","will"],["weired","weird"],["weitght","weight"],["wel","well"],["wendesday","Wednesday"],["wendsay","Wednesday"],["wendsday","Wednesday"],["wensday","Wednesday"],["were'nt","weren't"],["wereabouts","whereabouts"],["wereas","whereas"],["weree","were"],["werent","weren't"],["werever","wherever"],["wew","we"],["whant","want"],["whants","wants"],["whataver","whatever"],["whatepsace","whitespace"],["whatepsaces","whitespaces"],["whathever","whatever"],["whch","which"],["whcich","which"],["whcih","which"],["wheh","when"],["whehter","whether"],["wheigh","weigh"],["whem","when"],["whenevery","whenever"],["whenn","when"],["whenver","whenever"],["wheras","whereas"],["wherease","whereas"],["whereever","wherever"],["wherether","whether"],["whery","where"],["wheteher","whether"],["whetehr","whether"],["wheter","whether"],["whethe","whether"],["whethter","whether"],["whever","wherever"],["whheel","wheel"],["whhen","when"],["whic","which"],["whicg","which"],["which;s","which's"],["whichs","which's"],["whicht","which"],["whih","which"],["whihc","which"],["whihch","which"],["whike","while"],["whilest","whilst"],["whiltelist","whitelist"],["whiltelisted","whitelisted"],["whiltelisting","whitelisting"],["whiltelists","whitelists"],["whilw","while"],["whioch","which"],["whishlist","wishlist"],["whitch","which"],["whitchever","whichever"],["whitepsace","whitespace"],["whitepsaces","whitespaces"],["whith","with"],["whithin","within"],["whithout","without"],["whitre","white"],["whitspace","whitespace"],["whitspaces","whitespace"],["whlch","which"],["whle","while"],["whlie","while"],["whn","when"],["whne","when"],["whoes","whose"],["whoknows","who knows"],["wholey","wholly"],["whoose","whose"],["whould","would"],["whre","where"],["whta","what"],["whther","whether"],["whtihin","within"],["whyth","with"],["whythout","without"],["wiat","wait"],["wice","vice"],["wice-versa","vice-versa"],["wice-wersa","vice-versa"],["wiceversa","vice-versa"],["wicewersa","vice-versa"],["wich","which"],["widder","wider"],["widesread","widespread"],["widgect","widget"],["widged","widget"],["widghet","widget"],["widghets","widgets"],["widgit","widget"],["widgtes","widgets"],["widht","width"],["widhtpoint","widthpoint"],["widhtpoints","widthpoints"],["widthn","width"],["widthout","without"],["wief","wife"],["wieghed","weighed"],["wieght","weight"],["wieghts","weights"],["wieh","view"],["wierd","weird"],["wierdly","weirdly"],["wierdness","weirdness"],["wieth","width"],["wiew","view"],["wigdet","widget"],["wigdets","widgets"],["wih","with"],["wihch","which"],["wihich","which"],["wihite","white"],["wihle","while"],["wihout","without"],["wiht","with"],["wihtin","within"],["wihtout","without"],["wiil","will"],["wikpedia","wikipedia"],["wilcard","wildcard"],["wilcards","wildcards"],["wilh","will"],["wille","will"],["willingless","willingness"],["willk","will"],["willl","will"],["windo","window"],["windoes","windows"],["windoow","window"],["windoows","windows"],["windos","windows"],["windowz","windows"],["windwo","window"],["windwos","windows"],["winn","win"],["winndow","window"],["winndows","windows"],["winodw","window"],["wipoing","wiping"],["wirh","with"],["wirte","write"],["wirter","writer"],["wirters","writers"],["wirtes","writes"],["wirting","writing"],["wirtten","written"],["wirtual","virtual"],["witable","writeable"],["witdh","width"],["witdhs","widths"],["witdth","width"],["witdths","widths"],["witheld","withheld"],["withh","with"],["withih","within"],["withinn","within"],["withion","within"],["witho","with"],["withoit","without"],["withold","withhold"],["witholding","withholding"],["withon","within"],["withoout","without"],["withot","without"],["withotu","without"],["withou","without"],["withoud","without"],["withoug","without"],["withough","without"],["withought","without"],["withouht","without"],["withount","without"],["withourt","without"],["withous","without"],["withouth","without"],["withouyt","without"],["withput","without"],["withrawal","withdrawal"],["witht","with"],["withthe","with the"],["withtin","within"],["withun","within"],["withuout","without"],["witin","within"],["witk","with"],["witn","with"],["witout","without"],["witrh","with"],["witth","with"],["wiull","will"],["wiyh","with"],["wiyhout","without"],["wiyth","with"],["wizzard","wizard"],["wjat","what"],["wll","will"],["wlll","will"],["wnated","wanted"],["wnating","wanting"],["wnats","wants"],["woh","who"],["wohle","whole"],["woill","will"],["woithout","without"],["wokr","work"],["wokring","working"],["wolrd","world"],["wolrdly","worldly"],["wolrdwide","worldwide"],["wolwide","worldwide"],["won;t","won't"],["wonderfull","wonderful"],["wonderig","wondering"],["wont't","won't"],["woraround","workaround"],["worarounds","workarounds"],["worbench","workbench"],["worbenches","workbenches"],["worchester","Worcester"],["wordlwide","worldwide"],["wordpres","wordpress"],["worfklow","workflow"],["worfklows","workflows"],["worflow","workflow"],["worflows","workflows"],["workaorund","workaround"],["workaorunds","workarounds"],["workaound","workaround"],["workaounds","workarounds"],["workaraound","workaround"],["workaraounds","workarounds"],["workarbound","workaround"],["workaroud","workaround"],["workaroudn","workaround"],["workaroudns","workarounds"],["workarouds","workarounds"],["workarould","workaround"],["workaroung","workaround"],["workaroungs","workarounds"],["workarround","workaround"],["workarrounds","workarounds"],["workarund","workaround"],["workarunds","workarounds"],["workbanch","workbench"],["workbanches","workbenches"],["workbanchs","workbenches"],["workbenchs","workbenches"],["workbennch","workbench"],["workbennches","workbenches"],["workbnech","workbench"],["workbneches","workbenches"],["workboos","workbooks"],["workes","works"],["workfow","workflow"],["workfows","workflows"],["workign","working"],["worklfow","workflow"],["worklfows","workflows"],["workpsace","workspace"],["workpsaces","workspaces"],["workround","workaround"],["workrounds","workarounds"],["workspce","workspace"],["workspsace","workspace"],["workspsaces","workspaces"],["workstaion","workstation"],["workstaions","workstations"],["workstaition","workstation"],["workstaitions","workstations"],["workstaiton","workstation"],["workstaitons","workstations"],["workststion","workstation"],["workststions","workstations"],["worl","world"],["world-reknown","world renown"],["world-reknowned","world renowned"],["worload","workload"],["worloads","workloads"],["worls","world"],["wornged","wronged"],["worngs","wrongs"],["worrry","worry"],["worser","worse"],["worstened","worsened"],["worthwile","worthwhile"],["woth","worth"],["wothout","without"],["wotk","work"],["wotked","worked"],["wotking","working"],["wotks","works"],["woud","would"],["woudl","would"],["woudn't","wouldn't"],["would'nt","wouldn't"],["would't","wouldn't"],["wouldent","wouldn't"],["woulden`t","wouldn't"],["wouldn;t","wouldn't"],["wouldnt'","wouldn't"],["wouldnt","wouldn't"],["wouldnt;","wouldn't"],["wounderful","wonderful"],["wouold","would"],["wouuld","would"],["wqs","was"],["wraapp","wrap"],["wraapped","wrapped"],["wraapper","wrapper"],["wraappers","wrappers"],["wraapping","wrapping"],["wraapps","wraps"],["wraning","warning"],["wranings","warnings"],["wrapepd","wrapped"],["wraper","wrapper"],["wrapp","wrap"],["wrappered","wrapped"],["wrappng","wrapping"],["wrapps","wraps"],["wresters","wrestlers"],["wriet","write"],["writebufer","writebuffer"],["writechetque","writecheque"],["writeing","writing"],["writen","written"],["writet","writes"],["writewr","writer"],["writingm","writing"],["writters","writers"],["writting","writing"],["writtten","written"],["wrkload","workload"],["wrkloads","workloads"],["wrod","word"],["wroet","wrote"],["wrog","wrong"],["wrok","work"],["wroked","worked"],["wrokflow","workflow"],["wrokflows","workflows"],["wroking","working"],["wrokload","workload"],["wrokloads","workloads"],["wroks","works"],["wron","wrong"],["wronf","wrong"],["wront","wrong"],["wrtie","write"],["wrting","writing"],["wsee","see"],["wser","user"],["wth","with"],["wtih","with"],["wtyle","style"],["wuold","would"],["wupport","support"],["wuth","with"],["wuthin","within"],["wya","way"],["wyth","with"],["wythout","without"],["xdescribe","describe"],["xdpf","xpdf"],["xenophoby","xenophobia"],["xepect","expect"],["xepected","expected"],["xepectedly","expectedly"],["xepecting","expecting"],["xepects","expects"],["xgetttext","xgettext"],["xinitiazlize","xinitialize"],["xmdoel","xmodel"],["xour","your"],["xwindows","X"],["xyou","you"],["yaching","yachting"],["yaer","year"],["yaerly","yearly"],["yaers","years"],["yatch","yacht"],["yearm","year"],["yeasr","years"],["yeild","yield"],["yeilded","yielded"],["yeilding","yielding"],["yeilds","yields"],["yeld","yield"],["yelded","yielded"],["yelding","yielding"],["yelds","yields"],["yello","yellow"],["yera","year"],["yeras","years"],["yersa","years"],["yhe","the"],["yieldin","yielding"],["ymbols","symbols"],["yoman","yeoman"],["yomen","yeomen"],["yot","yacht"],["yotube","youtube"],["youforic","euphoric"],["youforically","euphorically"],["youlogy","eulogy"],["yourselfes","yourselves"],["youself","yourself"],["youthinasia","euthanasia"],["ypes","types"],["yrea","year"],["ytou","you"],["yuforic","euphoric"],["yuforically","euphorically"],["yugoslac","yugoslav"],["yuo","you"],["yuor","your"],["yur","your"],["zar","czar"],["zars","czars"],["zeebra","zebra"],["zefer","zephyr"],["zefers","zephyrs"],["zellot","zealot"],["zellots","zealots"],["zemporary","temporary"],["zick-zack","zig-zag"],["zimmap","zipmap"],["zimpaps","zipmaps"],["zink","zinc"],["ziped","zipped"],["ziper","zipper"],["ziping","zipping"],["zlot","slot"],["zombe","zombie"],["zomebie","zombie"],["zoocheenei","zucchinis"],["zoocheeni","zucchini"],["zoocheinei","zucchinis"],["zoocheini","zucchini"],["zookeenee","zucchini"],["zookeenees","zucchinis"],["zookeenei","zucchinis"],["zookeeni","zucchini"],["zookeinee","zucchini"],["zookeinees","zucchinis"],["zookeinei","zucchinis"],["zookeini","zucchini"],["zucheenei","zucchinis"],["zucheeni","zucchini"],["zukeenee","zucchini"],["zukeenees","zucchinis"],["zukeenei","zucchinis"],["zukeeni","zucchini"],["zuser","user"],["zylophone","xylophone"],["zylophones","xylophone"],["__attribyte__","__attribute__"],["__cpluspus","__cplusplus"],["__cpusplus","__cplusplus"],["\xE9valuate","evaluate"],["\u0441ontain","contain"],["\u0441ontained","contained"],["\u0441ontainer","container"],["\u0441ontainers","containers"],["\u0441ontaining","containing"],["\u0441ontainor","container"],["\u0441ontainors","containers"],["\u0441ontains","contains"]]);var Qa=class{constructor(){this.ignoreWords=[]}},Pn=class extends b{constructor(){super({nameKey:"rules.auto-correct-common-misspellings.name",descriptionKey:"rules.auto-correct-common-misspellings.description",type:"Content",ruleIgnoreTypes:[f.yaml,f.code,f.inlineCode,f.math,f.inlineMath,f.link,f.wikiLink,f.tag,f.image,f.url]})}get OptionsClass(){return Qa}apply(t,i){return t.replaceAll(fu,n=>this.replaceWordWithCorrectCasing(n,i))}replaceWordWithCorrectCasing(t,i){let n=t.toLowerCase();if(!Ko.has(n)||i.ignoreWords.includes(n))return t;let r=Ko.get(n);return t.charAt(0)==t.charAt(0).toUpperCase()&&(r=r.charAt(0).toUpperCase()+r.substring(1)),r}get exampleBuilders(){return[new y({description:"Auto-correct misspellings in regular text, but not code blocks, math blocks, YAML, or tags",before:p` --- key: absoltely --- @@ -134,7 +137,7 @@ var Xu=Object.create;var dn=Object.defineProperty;var Tl=Object.getOwnPropertyDe The same $ defenately $ applies to inline math. ${""} #defenately stays the same - `,after:m` + `,after:p` --- key: absoltely --- @@ -154,61 +157,95 @@ var Xu=Object.create;var dn=Object.defineProperty;var Tl=Object.getOwnPropertyDe The same $ defenately $ applies to inline math. ${""} #defenately stays the same - `}),new v({description:"Auto-correct misspellings keeps first letter's case",before:m` + `}),new y({description:"Auto-correct misspellings keeps first letter's case",before:p` Accodringly we made sure to update logic to make sure it would handle case sensitivity. - `,after:m` + `,after:p` Accordingly we made sure to update logic to make sure it would handle case sensitivity. - `}),new v({description:"Links should not be auto-corrected",before:m` + `}),new y({description:"Links should not be auto-corrected",before:p` http://www.Absoltely.com should not be corrected - `,after:m` + `,after:p` http://www.Absoltely.com should not be corrected - `})]}get optionBuilders(){return[new ye({OptionsClass:Pa,nameKey:"rules.auto-correct-common-misspellings.ignore-words.name",descriptionKey:"rules.auto-correct-common-misspellings.ignore-words.description",optionsKey:"ignoreWords",splitter:On,separator:", "})]}};Rn=L([k.register],Rn);var Ka=class{};L([k.noSettingControl()],Ka.prototype,"lineContent",2);var st=class extends k{constructor(){super({nameKey:"rules.add-blockquote-indentation-on-paste.name",descriptionKey:"rules.add-blockquote-indentation-on-paste.description",type:"Paste"})}get OptionsClass(){return Ka}apply(t,i){let n=/^(\s*)((> ?)+) .*/,r=i.lineContent.match(n);if(!r)return t;let a=r[1]??"",s=r[2]??"";return t.trim().replace(/\n/gm,` -${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted into regular text does not get blockquotified with current line being `Part 1 of the sentence`",before:m` + `})]}get optionBuilders(){return[new be({OptionsClass:Qa,nameKey:"rules.auto-correct-common-misspellings.ignore-words.name",descriptionKey:"rules.auto-correct-common-misspellings.ignore-words.description",optionsKey:"ignoreWords",splitter:Mn,separator:", "})]}};Pn=T([b.register],Pn);var Za=class{constructor(){this.style="space"}},lt=class extends b{constructor(){super({nameKey:"rules.blockquote-style.name",descriptionKey:"rules.blockquote-style.description",type:"Content",hasSpecialExecutionOrder:!0,ruleIgnoreTypes:[f.html]})}get OptionsClass(){return Za}apply(t,i){return i.style==="space"?Fo(t,this.addSpaceToIndicator):Fo(t,this.removeSpaceFromIndicator)}removeSpaceFromIndicator(t){return t.replace(/>( |\t)+/g,">")}addSpaceToIndicator(t){return t.replace(/>([^ ])/g,"> $1").replace(/>>/g,"> >")}get exampleBuilders(){return[new y({description:"When style = `space`, a space is added to blockquotes missing a space after the indicator",before:p` + >Blockquotes will have a space added if one is not present + > Will be left as is. + ${""} + > Nested blockquotes are also updated + >>Nesting levels are handled correctly + >> Even when only partially needing updates + > >Updated as well + >>>>>>> Is handled too + > > >>> As well + ${""} + > Note that html is not affected in blockquotes + `,after:p` + > Blockquotes will have a space added if one is not present + > Will be left as is. + ${""} + > Nested blockquotes are also updated + > > Nesting levels are handled correctly + > > Even when only partially needing updates + > > Updated as well + > > > > > > > Is handled too + > > > > > As well + ${""} + > Note that html is not affected in blockquotes + `}),new y({description:"When style = `no space`, spaces are removed after a blockquote indicator",before:p` + > Multiple spaces are removed + > > Nesting is handled + > > > > > Especially when multiple levels are involved + > >>> > Even when partially correct already, it is handled + `,after:p` + >Multiple spaces are removed + >>Nesting is handled + >>>>>Especially when multiple levels are involved + >>>>>Even when partially correct already, it is handled + `,options:{style:"no space"}})]}get optionBuilders(){return[new ne({OptionsClass:Za,nameKey:"rules.blockquote-style.style.name",descriptionKey:"rules.blockquote-style.style.description",optionsKey:"style",records:[{value:"space",description:"> indicator is followed by a space"},{value:"no space",description:">indicator is not followed by a space"}]})]}};lt=T([b.register],lt);var Ja=class{};T([b.noSettingControl()],Ja.prototype,"lineContent",2);var ct=class extends b{constructor(){super({nameKey:"rules.add-blockquote-indentation-on-paste.name",descriptionKey:"rules.add-blockquote-indentation-on-paste.description",type:"Paste"})}get OptionsClass(){return Ja}apply(t,i){let n=/^(\s*)((> ?)+) .*/,r=i.lineContent.match(n);if(!r)return t;let a=r[1]??"",s=r[2]??"";return t.trim().replace(/\n/gm,` +${a}${s} `)}get exampleBuilders(){return[new y({description:"Line being pasted into regular text does not get blockquotified with current line being `Part 1 of the sentence`",before:p` was much less likely to succeed, but they tried it anyway. Part 2 was much more interesting. - `,after:m` + `,after:p` was much less likely to succeed, but they tried it anyway. Part 2 was much more interesting. - `,options:{lineContent:"Part 1 of the sentence"}}),new v({description:"Line being pasted into a blockquote gets blockquotified with current line being `> > `",before:m` + `,options:{lineContent:"Part 1 of the sentence"}}),new y({description:"Line being pasted into a blockquote gets blockquotified with current line being `> > `",before:p` ${""} This content is being added to a blockquote Note that the second line is indented and the surrounding blank lines were trimmed ${""} - `,after:m` + `,after:p` This content is being added to a blockquote > > Note that the second line is indented and the surrounding blank lines were trimmed - `,options:{lineContent:"> > "}})]}get optionBuilders(){return[]}};st=L([k.register],st);var ot=class{constructor(){this.style="Title Case";this.ignoreWords=["macOS","iOS","iPhone","iPad","JavaScript","TypeScript","AppleScript","I"];this.lowercaseWords=["a","an","the","aboard","about","abt.","above","abreast","absent","across","after","against","along","aloft","alongside","amid","amidst","mid","midst","among","amongst","anti","apropos","around","round","as","aslant","astride","at","atop","ontop","bar","barring","before","B4","behind","below","beneath","neath","beside","besides","between","'tween","beyond","but","by","chez","circa","c.","ca.","come","concerning","contra","counting","cum","despite","spite","down","during","effective","ere","except","excepting","excluding","failing","following","for","from","in","including","inside","into","less","like","minus","modulo","mod","near","nearer","nearest","next","notwithstanding","of","o'","off","offshore","on","onto","opposite","out","outside","over","o'er","pace","past","pending","per","plus","post","pre","pro","qua","re","regarding","respecting","sans","save","saving","short","since","sub","than","through","thru","throughout","thruout","till","times","to","t'","touching","toward","towards","under","underneath","unlike","until","unto","up","upon","versus","vs.","v.","via","vice","vis-\xE0-vis","wanting","with","w/","w.","c\u0304","within","w/i","without","'thout","w/o","abroad","adrift","aft","afterward","afterwards","ahead","apart","ashore","aside","away","back","backward","backwards","beforehand","downhill","downstage","downstairs","downstream","downward","downwards","downwind","east","eastward","eastwards","forth","forward","forwards","heavenward","heavenwards","hence","henceforth","here","hereby","herein","hereof","hereto","herewith","home","homeward","homewards","indoors","inward","inwards","leftward","leftwards","north","northeast","northward","northwards","northwest","now","onward","onwards","outdoors","outward","outwards","overboard","overhead","overland","overseas","rightward","rightwards","seaward","seawards","skywards","skyward","south","southeast","southwards","southward","southwest","then","thence","thenceforth","there","thereby","therein","thereof","thereto","therewith","together","underfoot","underground","uphill","upstage","upstairs","upstream","upward","upwards","upwind","west","westward","westwards","when","whence","where","whereby","wherein","whereto","wherewith","although","because","considering","given","granted","if","lest","once","provided","providing","seeing","so","supposing","though","unless","whenever","whereas","wherever","while","whilst","ago","according to","as regards","counter to","instead of","owing to","pertaining to","at the behest of","at the expense of","at the hands of","at risk of","at the risk of","at variance with","by dint of","by means of","by virtue of","by way of","for the sake of","for sake of","for lack of","for want of","from want of","in accordance with","in addition to","in case of","in charge of","in compliance with","in conformity with","in contact with","in exchange for","in favor of","in front of","in lieu of","in light of","in the light of","in line with","in place of","in point of","in quest of","in relation to","in regard to","with regard to","in respect to","with respect to","in return for","in search of","in step with","in touch with","in terms of","in the name of","in view of","on account of","on behalf of","on grounds of","on the grounds of","on the part of","on top of","with a view to","with the exception of","\xE0 la","a la","as soon as","as well as","close to","due to","far from","in case","other than","prior to","pursuant to","regardless of","subsequent to","as long as","as much as","as far as","by the time","in as much as","inasmuch","in order to","in order that","even","provide that","if only","whether","whose","whoever","why","how","or not","whatever","what","both","and","or","not only","but also","either","neither","nor","just","rather","no sooner","such","that","yet","is","it"];this.ignoreCasedWords=!0}},lt=class extends k{constructor(){super({nameKey:"rules.capitalize-headings.name",descriptionKey:"rules.capitalize-headings.description",type:"Heading",hasSpecialExecutionOrder:!0})}get OptionsClass(){return ot}apply(t,i){return R([f.code,f.yaml,f.link,f.wikiLink,f.tag],t,n=>n.replace(Ni,r=>{if(i.style==="ALL CAPS")return r.toUpperCase();let a=i.style==="First letter",s=r.match(/\S+/g),o=i.ignoreWords,l=i.lowercaseWords,d=!0;for(let c=1;c > "}})]}get optionBuilders(){return[]}};ct=T([b.register],ct);var dt=class{constructor(){this.style="Title Case";this.ignoreWords=["macOS","iOS","iPhone","iPad","JavaScript","TypeScript","AppleScript","I"];this.lowercaseWords=["a","an","the","aboard","about","abt.","above","abreast","absent","across","after","against","along","aloft","alongside","amid","amidst","mid","midst","among","amongst","anti","apropos","around","round","as","aslant","astride","at","atop","ontop","bar","barring","before","B4","behind","below","beneath","neath","beside","besides","between","'tween","beyond","but","by","chez","circa","c.","ca.","come","concerning","contra","counting","cum","despite","spite","down","during","effective","ere","except","excepting","excluding","failing","following","for","from","in","including","inside","into","less","like","minus","modulo","mod","near","nearer","nearest","next","notwithstanding","of","o'","off","offshore","on","onto","opposite","out","outside","over","o'er","pace","past","pending","per","plus","post","pre","pro","qua","re","regarding","respecting","sans","save","saving","short","since","sub","than","through","thru","throughout","thruout","till","times","to","t'","touching","toward","towards","under","underneath","unlike","until","unto","up","upon","versus","vs.","v.","via","vice","vis-\xE0-vis","wanting","with","w/","w.","c\u0304","within","w/i","without","'thout","w/o","abroad","adrift","aft","afterward","afterwards","ahead","apart","ashore","aside","away","back","backward","backwards","beforehand","downhill","downstage","downstairs","downstream","downward","downwards","downwind","east","eastward","eastwards","forth","forward","forwards","heavenward","heavenwards","hence","henceforth","here","hereby","herein","hereof","hereto","herewith","home","homeward","homewards","indoors","inward","inwards","leftward","leftwards","north","northeast","northward","northwards","northwest","now","onward","onwards","outdoors","outward","outwards","overboard","overhead","overland","overseas","rightward","rightwards","seaward","seawards","skywards","skyward","south","southeast","southwards","southward","southwest","then","thence","thenceforth","there","thereby","therein","thereof","thereto","therewith","together","underfoot","underground","uphill","upstage","upstairs","upstream","upward","upwards","upwind","west","westward","westwards","when","whence","where","whereby","wherein","whereto","wherewith","although","because","considering","given","granted","if","lest","once","provided","providing","seeing","so","supposing","though","unless","whenever","whereas","wherever","while","whilst","ago","according to","as regards","counter to","instead of","owing to","pertaining to","at the behest of","at the expense of","at the hands of","at risk of","at the risk of","at variance with","by dint of","by means of","by virtue of","by way of","for the sake of","for sake of","for lack of","for want of","from want of","in accordance with","in addition to","in case of","in charge of","in compliance with","in conformity with","in contact with","in exchange for","in favor of","in front of","in lieu of","in light of","in the light of","in line with","in place of","in point of","in quest of","in relation to","in regard to","with regard to","in respect to","with respect to","in return for","in search of","in step with","in touch with","in terms of","in the name of","in view of","on account of","on behalf of","on grounds of","on the grounds of","on the part of","on top of","with a view to","with the exception of","\xE0 la","a la","as soon as","as well as","close to","due to","far from","in case","other than","prior to","pursuant to","regardless of","subsequent to","as long as","as much as","as far as","by the time","in as much as","inasmuch","in order to","in order that","even","provide that","if only","whether","whose","whoever","why","how","or not","whatever","what","both","and","or","not only","but also","either","neither","nor","just","rather","no sooner","such","that","yet","is","it"];this.ignoreCasedWords=!0}},ut=class extends b{constructor(){super({nameKey:"rules.capitalize-headings.name",descriptionKey:"rules.capitalize-headings.description",type:"Heading",hasSpecialExecutionOrder:!0,ruleIgnoreTypes:[f.code,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return dt}apply(t,i){return t.replace(ji,n=>{if(i.style==="ALL CAPS")return n.toUpperCase();let r=i.style==="First letter",a=n.match(/\S+/g),s=i.ignoreWords,o=i.lowercaseWords,l=!0;for(let d=1;d(n=n.replace(/^---\n+/,`--- + `,options:{style:"ALL CAPS"}})]}get optionBuilders(){return[new ne({OptionsClass:dt,nameKey:"rules.capitalize-headings.style.name",descriptionKey:"rules.capitalize-headings.style.description",optionsKey:"style",records:[{value:"Title Case",description:"Capitalize Using Title Case Rules"},{value:"ALL CAPS",description:"CAPITALIZE THE WHOLE TITLE"},{value:"First letter",description:"Only capitalize the first letter"}]}),new U({OptionsClass:dt,nameKey:"rules.capitalize-headings.ignore-case-words.name",descriptionKey:"rules.capitalize-headings.ignore-case-words.description",optionsKey:"ignoreCasedWords"}),new be({OptionsClass:dt,nameKey:"rules.capitalize-headings.ignore-words.name",descriptionKey:"rules.capitalize-headings.ignore-words.description",optionsKey:"ignoreWords",splitter:Mn,separator:", "}),new be({OptionsClass:dt,nameKey:"rules.capitalize-headings.lowercase-words.name",descriptionKey:"rules.capitalize-headings.lowercase-words.description",optionsKey:"lowercaseWords",splitter:Mn,separator:", "})]}};ut=T([b.register],ut);var Xa=class{constructor(){this.innerNewLines=!1}},Kn=class extends b{constructor(){super({nameKey:"rules.compact-yaml.name",descriptionKey:"rules.compact-yaml.description",type:"Spacing"})}get OptionsClass(){return Xa}apply(t,i){return Te(t,n=>(n=n.replace(/^---\n+/,`--- `),n=n.replace(/\n+---/,` ---`),i.innerNewLines&&(n=n.replaceAll(/\n{2,}/g,` -`)),n))}get exampleBuilders(){return[new v({description:"Remove blank lines at the start and end of the YAML",before:m` +`)),n))}get exampleBuilders(){return[new y({description:"Remove blank lines at the start and end of the YAML",before:p` --- ${""} date: today @@ -216,13 +253,13 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i title: unchanged without inner new lines turned on ${""} --- - `,after:m` + `,after:p` --- date: today ${""} title: unchanged without inner new lines turned on --- - `}),new v({description:"Remove blank lines anywhere in YAML with inner new lines set to true",before:m` + `}),new y({description:"Remove blank lines anywhere in YAML with inner new lines set to true",before:p` --- ${""} date: today @@ -236,7 +273,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} ${""} Body content here. - `,after:m` + `,after:p` --- date: today title: remove inner new lines @@ -246,42 +283,42 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} ${""} Body content here. - `,options:{innerNewLines:!0}})]}get optionBuilders(){return[new G({OptionsClass:$a,nameKey:"rules.compact-yaml.inner-new-lines.name",descriptionKey:"rules.compact-yaml.inner-new-lines.description",optionsKey:"innerNewLines"})]}};Dn=L([k.register],Dn);var Io=class{},jn=class extends k{constructor(){super({nameKey:"rules.consecutive-blank-lines.name",descriptionKey:"rules.consecutive-blank-lines.description",type:"Spacing"})}get OptionsClass(){return Io}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>n.replace(/(\n([\t\v\f\r \u00a0\u2000-\u200b\u2028-\u2029\u3000]+)?){2,}\n/g,` + `,options:{innerNewLines:!0}})]}get optionBuilders(){return[new U({OptionsClass:Xa,nameKey:"rules.compact-yaml.inner-new-lines.name",descriptionKey:"rules.compact-yaml.inner-new-lines.description",optionsKey:"innerNewLines"})]}};Kn=T([b.register],Kn);var $o=class{},$n=class extends b{constructor(){super({nameKey:"rules.consecutive-blank-lines.name",descriptionKey:"rules.consecutive-blank-lines.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return $o}apply(t,i){return t.replace(/(\n([\t\v\f\r \u00a0\u2000-\u200b\u2028-\u2029\u3000]+)?){2,}\n/g,` -`))}get exampleBuilders(){return[new v({description:"",before:m` +`)}get exampleBuilders(){return[new y({description:"",before:p` Some text ${""} ${""} Some more text - `,after:m` + `,after:p` Some text ${""} Some more text - `})]}get optionBuilders(){return[]}};jn=L([k.register],jn);var _o=class{},Nn=class extends k{constructor(){super({nameKey:"rules.convert-bullet-list-markers.name",descriptionKey:"rules.convert-bullet-list-markers.description",type:"Content"})}get OptionsClass(){return _o}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>n.replace(/^([^\S\n]*)([•§])([^\S\n]*)/gm,"$1-$3"))}get exampleBuilders(){return[new v({description:"Converts \u2022",before:m` + `})]}get optionBuilders(){return[]}};$n=T([b.register],$n);var Ho=class{},Hn=class extends b{constructor(){super({nameKey:"rules.convert-bullet-list-markers.name",descriptionKey:"rules.convert-bullet-list-markers.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return Ho}apply(t,i){return t.replace(/^([^\S\n]*)([•§])([^\S\n]*)/gm,"$1-$3")}get exampleBuilders(){return[new y({description:"Converts \u2022",before:p` • item 1 • item 2 - `,after:m` + `,after:p` - item 1 - item 2 - `}),new v({description:"Converts \xA7",before:m` + `}),new y({description:"Converts \xA7",before:p` • item 1 § item 2 § item 3 - `,after:m` + `,after:p` - item 1 - item 2 - item 3 - `})]}get optionBuilders(){return[]}};Nn=L([k.register],Nn);var Ha=class{constructor(){this.tabsize=4}},Pn=class extends k{constructor(){super({nameKey:"rules.convert-spaces-to-tabs.name",descriptionKey:"rules.convert-spaces-to-tabs.description",type:"Spacing"})}get OptionsClass(){return Ha}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>{let r=String(i.tabsize),a=new RegExp("^( *) {"+String(r)+"}","gm");for(;n.match(a)!=null;)n=n.replace(a,"$1 ");return n})}get exampleBuilders(){return[new v({description:"Converting spaces to tabs with `tabsize = 3`",before:m` + `})]}get optionBuilders(){return[]}};Hn=T([b.register],Hn);var es=class{constructor(){this.tabsize=4}},Yn=class extends b{constructor(){super({nameKey:"rules.convert-spaces-to-tabs.name",descriptionKey:"rules.convert-spaces-to-tabs.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return es}apply(t,i){let n=String(i.tabsize),r=new RegExp("^( *) {"+String(n)+"}","gm");for(;t.match(r)!=null;)t=t.replace(r,"$1 ");return t}get exampleBuilders(){return[new y({description:"Converting spaces to tabs with `tabsize = 3`",before:p` - text with no indention - text indented with 3 spaces - text with no indention - text indented with 6 spaces - `,after:m` + `,after:p` - text with no indention \t- text indented with 3 spaces - text with no indention \t\t- text indented with 6 spaces - `,options:{tabsize:3}})]}get optionBuilders(){return[new ja({OptionsClass:Ha,nameKey:"rules.convert-spaces-to-tabs.tabsize.name",descriptionKey:"rules.convert-spaces-to-tabs.tabsize.description",optionsKey:"tabsize"})]}};Pn=L([k.register],Pn);var Ya=class{constructor(){this.style="consistent"}},Kn=class extends k{constructor(){super({nameKey:"rules.emphasis-style.name",descriptionKey:"rules.emphasis-style.description",type:"Content"})}get OptionsClass(){return Ya}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.math,f.inlineMath],t,n=>za(n,i.style,"emphasis"))}get exampleBuilders(){return[new v({description:"Emphasis indicators should use underscores when style is set to 'underscore'",before:m` + `,options:{tabsize:3}})]}get optionBuilders(){return[new Ua({OptionsClass:es,nameKey:"rules.convert-spaces-to-tabs.tabsize.name",descriptionKey:"rules.convert-spaces-to-tabs.tabsize.description",optionsKey:"tabsize"})]}};Yn=T([b.register],Yn);var is=class{constructor(){this.style="consistent"}},Wn=class extends b{constructor(){super({nameKey:"rules.emphasis-style.name",descriptionKey:"rules.emphasis-style.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.math,f.inlineMath]})}get OptionsClass(){return is}apply(t,i){return qa(t,i.style,"emphasis")}get exampleBuilders(){return[new y({description:"Emphasis indicators should use underscores when style is set to 'underscore'",before:p` # Emphasis Cases ${""} *Test emphasis* @@ -296,7 +333,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} * List Item1 with *emphasized text* * List Item2 - `,after:m` + `,after:p` # Emphasis Cases ${""} _Test emphasis_ @@ -311,7 +348,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} * List Item1 with _emphasized text_ * List Item2 - `,options:{style:"underscore"}}),new v({description:"Emphasis indicators should use asterisks when style is set to 'asterisk'",before:m` + `,options:{style:"underscore"}}),new y({description:"Emphasis indicators should use asterisks when style is set to 'asterisk'",before:p` # Emphasis Cases ${""} _Test emphasis_ @@ -323,7 +360,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,after:m` + `,after:p` # Emphasis Cases ${""} *Test emphasis* @@ -335,7 +372,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is __*nested emphasis* and ending bold__ ${""} __Test bold__ - `,options:{style:"asterisk"}}),new v({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:m` + `,options:{style:"asterisk"}}),new y({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:p` # Emphasis First Emphasis Is an Asterisk ${""} *First emphasis* @@ -346,7 +383,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is **_nested emphasis_ and ending bold** ${""} __Test bold__ - `,after:m` + `,after:p` # Emphasis First Emphasis Is an Asterisk ${""} *First emphasis* @@ -357,7 +394,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is ***nested emphasis* and ending bold** ${""} __Test bold__ - `,options:{style:"consistent"}}),new v({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:m` + `,options:{style:"consistent"}}),new y({description:"Emphasis indicators should use consistent style based on first emphasis indicator in a file when style is set to 'consistent'",before:p` # Emphasis First Emphasis Is an Underscore ${""} **_First emphasis_** @@ -368,7 +405,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is __*nested emphasis* and ending bold__ ${""} __Test bold__ - `,after:m` + `,after:p` # Emphasis First Emphasis Is an Underscore ${""} **_First emphasis_** @@ -379,25 +416,25 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,options:{style:"consistent"}})]}get optionBuilders(){return[new xe({OptionsClass:Ya,nameKey:"rules.emphasis-style.style.name",descriptionKey:"rules.emphasis-style.style.description",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of emphasis is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure * is the emphasis indicator"},{value:"underscore",description:"Makes sure _ is the emphasis indicator"}]})]}};Kn=L([k.register],Kn);var Bo=class{},$n=class extends k{constructor(){super({nameKey:"rules.empty-line-around-blockquotes.name",descriptionKey:"rules.empty-line-around-blockquotes.description",type:"Spacing"})}get OptionsClass(){return Bo}apply(t,i){return Vd(t)}get exampleBuilders(){return[new v({description:"Blockquotes that start a document do not get an empty line before them.",before:m` + `,options:{style:"consistent"}})]}get optionBuilders(){return[new ne({OptionsClass:is,nameKey:"rules.emphasis-style.style.name",descriptionKey:"rules.emphasis-style.style.description",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of emphasis is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure * is the emphasis indicator"},{value:"underscore",description:"Makes sure _ is the emphasis indicator"}]})]}};Wn=T([b.register],Wn);var Yo=class{},Vn=class extends b{constructor(){super({nameKey:"rules.empty-line-around-blockquotes.name",descriptionKey:"rules.empty-line-around-blockquotes.description",type:"Spacing"})}get OptionsClass(){return Yo}apply(t,i){return ru(t)}get exampleBuilders(){return[new y({description:"Blockquotes that start a document do not get an empty line before them.",before:p` > Quote content here > quote content continued # Title here - `,after:m` + `,after:p` > Quote content here > quote content continued ${""} # Title here - `}),new v({description:"Blockquotes that end a document do not get an empty line after them.",before:m` + `}),new y({description:"Blockquotes that end a document do not get an empty line after them.",before:p` # Heading 1 > Quote content here > quote content continued - `,after:m` + `,after:p` # Heading 1 ${""} > Quote content here > quote content continued - `}),new v({description:"Blockquotes that are nested have the proper empty line added",before:m` + `}),new y({description:"Blockquotes that are nested have the proper empty line added",before:p` # Make sure that nested blockquotes are accounted for correctly > Quote content here > quote content continued @@ -410,7 +447,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} > > Quote content here > > quote content continued - `,after:m` + `,after:p` # Make sure that nested blockquotes are accounted for correctly ${""} > Quote content here @@ -425,31 +462,31 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} > > Quote content here > > quote content continued - `})]}get optionBuilders(){return[]}};$n=L([k.register],$n);var Fo=class{},Hn=class extends k{constructor(){super({nameKey:"rules.empty-line-around-code-fences.name",descriptionKey:"rules.empty-line-around-code-fences.description",type:"Spacing"})}get OptionsClass(){return Fo}apply(t,i){return Yd(t)}get exampleBuilders(){return[new v({description:"Fenced code blocks that start a document do not get an empty line before them.",before:m` + `})]}get optionBuilders(){return[]}};Vn=T([b.register],Vn);var Wo=class{},Un=class extends b{constructor(){super({nameKey:"rules.empty-line-around-code-fences.name",descriptionKey:"rules.empty-line-around-code-fences.description",type:"Spacing"})}get OptionsClass(){return Wo}apply(t,i){return tu(t)}get exampleBuilders(){return[new y({description:"Fenced code blocks that start a document do not get an empty line before them.",before:p` \`\`\` js var temp = 'text'; // this is a code block \`\`\` Text after code block. - `,after:m` + `,after:p` \`\`\` js var temp = 'text'; // this is a code block \`\`\` ${""} Text after code block. - `}),new v({description:"Fenced code blocks that end a document do not get an empty line after them.",before:m` + `}),new y({description:"Fenced code blocks that end a document do not get an empty line after them.",before:p` # Heading 1 \`\`\` Here is a code block \`\`\` - `,after:m` + `,after:p` # Heading 1 ${""} \`\`\` Here is a code block \`\`\` - `}),new v({description:"Fenced code blocks that are in a blockquote have the proper empty line added",before:m` + `}),new y({description:"Fenced code blocks that are in a blockquote have the proper empty line added",before:p` # Make sure that code blocks in blockquotes are accounted for correctly > \`\`\`js > var text = 'this is some text'; @@ -466,7 +503,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > \`\`\`js > > var other text = 'this is more text'; > > \`\`\` - `,after:m` + `,after:p` # Make sure that code blocks in blockquotes are accounted for correctly > \`\`\`js @@ -484,7 +521,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > \`\`\`js > > var other text = 'this is more text'; > > \`\`\` - `}),new v({description:"Nested fenced code blocks get empty lines added around them",before:m` + `}),new y({description:"Nested fenced code blocks get empty lines added around them",before:p` \`\`\`markdown # Header ${""} @@ -492,7 +529,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i var text = 'some string'; \`\`\`\` \`\`\` - `,after:m` + `,after:p` \`\`\`markdown # Header ${""} @@ -501,42 +538,42 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i \`\`\`\` ${""} \`\`\` - `})]}get optionBuilders(){return[]}};Hn=L([k.register],Hn);var Wa=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};L([k.noSettingControl()],Wa.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var Yn=class extends k{constructor(){super({nameKey:"rules.empty-line-around-math-blocks.name",descriptionKey:"rules.empty-line-around-math-blocks.description",type:"Spacing"})}get OptionsClass(){return Wa}apply(t,i){return R([f.yaml,f.code],t,n=>Wd(n,i.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new v({description:"Math blocks that start a document do not get an empty line before them.",before:m` + `})]}get optionBuilders(){return[]}};Un=T([b.register],Un);var ts=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};T([b.noSettingControl()],ts.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var Gn=class extends b{constructor(){super({nameKey:"rules.empty-line-around-math-blocks.name",descriptionKey:"rules.empty-line-around-math-blocks.description",type:"Spacing",ruleIgnoreTypes:[f.yaml,f.code]})}get OptionsClass(){return ts}apply(t,i){return nu(t,i.minimumNumberOfDollarSignsToBeAMathBlock)}get exampleBuilders(){return[new y({description:"Math blocks that start a document do not get an empty line before them.",before:p` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ some more text - `,after:m` + `,after:p` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ ${""} some more text - `}),new v({description:"Math blocks that are singe-line are updated based on the value of `Number of Dollar Signs to Indicate a Math Block` (in this case its value is 2)",before:m` + `}),new y({description:"Math blocks that are singe-line are updated based on the value of `Number of Dollar Signs to Indicate a Math Block` (in this case its value is 2)",before:p` $$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ some more text - `,after:m` + `,after:p` $$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ ${""} some more text - `}),new v({description:"Math blocks that end a document do not get an empty line after them.",before:m` + `}),new y({description:"Math blocks that end a document do not get an empty line after them.",before:p` Some text $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `,after:m` + `,after:p` Some text ${""} $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `}),new v({description:"Math blocks that are not at the start or the end of the document will have an empty line added before and after them",before:m` + `}),new y({description:"Math blocks that are not at the start or the end of the document will have an empty line added before and after them",before:p` Some text $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ some more text - `,after:m` + `,after:p` Some text ${""} $$ @@ -544,7 +581,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i $$ ${""} some more text - `}),new v({description:"Math blocks in callouts or blockquotes have the appropriately formatted blank lines added",before:m` + `}),new y({description:"Math blocks in callouts or blockquotes have the appropriately formatted blank lines added",before:p` > Math block in blockquote > $$ > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} @@ -556,7 +593,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > $$ > > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} > > $$ - `,after:m` + `,after:p` > Math block in blockquote > > $$ @@ -570,7 +607,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > $$ > > \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} > > $$ - `})]}get optionBuilders(){return[]}};Yn=L([k.register],Yn);var Ro=class{},Wn=class extends k{constructor(){super({nameKey:"rules.empty-line-around-tables.name",descriptionKey:"rules.empty-line-around-tables.description",type:"Spacing"})}get OptionsClass(){return Ro}apply(t,i){return R([f.yaml,f.code,f.math,f.inlineMath,f.wikiLink,f.link],t,n=>ru(n))}get exampleBuilders(){return[new v({description:"Tables that start a document do not get an empty line before them.",before:m` + `})]}get optionBuilders(){return[]}};Gn=T([b.register],Gn);var Vo=class{},Qn=class extends b{constructor(){super({nameKey:"rules.empty-line-around-tables.name",descriptionKey:"rules.empty-line-around-tables.description",type:"Spacing",ruleIgnoreTypes:[f.yaml,f.code,f.math,f.inlineMath,f.wikiLink,f.link]})}get OptionsClass(){return Vo}apply(t,i){return ku(t)}get exampleBuilders(){return[new y({description:"Tables that start a document do not get an empty line before them.",before:p` | Column 1 | Column 2 | |----------|----------| | foo | bar | @@ -580,7 +617,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i # Heading ${""} **Note that text directly following a table is considered part of a table according to github markdown** - `,after:m` + `,after:p` | Column 1 | Column 2 | |----------|----------| | foo | bar | @@ -591,14 +628,14 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i # Heading ${""} **Note that text directly following a table is considered part of a table according to github markdown** - `}),new v({description:"Tables that end a document do not get an empty line after them.",before:m` + `}),new y({description:"Tables that end a document do not get an empty line after them.",before:p` # Heading 1 | Column 1 | Column 2 | |----------|----------| | foo | bar | | baz | qux | | quux | quuz | - `,after:m` + `,after:p` # Heading 1 ${""} | Column 1 | Column 2 | @@ -606,7 +643,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i | foo | bar | | baz | qux | | quux | quuz | - `}),new v({description:"Tables that are not at the start or the end of the document will have an empty line added before and after them",before:m` + `}),new y({description:"Tables that are not at the start or the end of the document will have an empty line added before and after them",before:p` # Table 1 | Column 1 | Column 2 | Column 3 | |----------|----------|----------| @@ -620,7 +657,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i foo | bar # Header for more content New paragraph. - `,after:m` + `,after:p` # Table 1 ${""} | Column 1 | Column 2 | Column 3 | @@ -638,7 +675,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i ${""} # Header for more content New paragraph. - `}),new v({description:"Tables in callouts or blockquotes have the appropriately formatted blank lines added",before:m` + `}),new y({description:"Tables in callouts or blockquotes have the appropriately formatted blank lines added",before:p` > Table in blockquote > | Column 1 | Column 2 | Column 3 | > |----------|----------|----------| @@ -654,7 +691,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > | foo | bar | blob | > > | baz | qux | trust | > > | quux | quuz | glob | - `,after:m` + `,after:p` > Table in blockquote > > | Column 1 | Column 2 | Column 3 | @@ -672,19 +709,19 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i > > | foo | bar | blob | > > | baz | qux | trust | > > | quux | quuz | glob | - `})]}get optionBuilders(){return[]}};Wn=L([k.register],Wn);var Vn=class{constructor(){this.defaultEscapeCharacter='"';this.tryToEscapeSingleLineArrays=!1}};L([k.noSettingControl()],Vn.prototype,"defaultEscapeCharacter",2);var ct=class extends k{constructor(){super({nameKey:"rules.escape-yaml-special-characters.name",descriptionKey:"rules.escape-yaml-special-characters.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return Vn}apply(t,i){return Te(t,n=>{let r=n.split(` -`),a=r.length;if(a<1)return n;for(let s=0;s=o.length,c=o.startsWith("-"),u=c&&o.length<2;if(d&&u)continue;let p=1;if(!c)p+=l;else if(l!==-1&&s+1{let r=n.split(` +`),a=r.length;if(a<1)return n;for(let s=0;s=o.length,c=o.startsWith("-"),u=c&&o.length<2;if(d&&u)continue;let m=1;if(!c)m+=l;else if(l!==-1&&s+1{if(n.match(/^#\s.*/m))return n;let a=i.fileName,s=n.indexOf(` ----`);s=s==-1||!n.startsWith(`--- -`)?0:s+5;let o=`# ${a} -`;return n.lengthn.replace(/(\[\^\w+\]) ?([,.;!:?])/gm,"$2$1"))}get exampleBuilders(){return[new v({description:"Placing footnotes after punctuation.",before:m` + `,options:{fileName:"File Name"}})]}get optionBuilders(){return[]}};Jn=T([b.register],Jn);var Uo=class{},Xn=class extends b{constructor(){super({nameKey:"rules.footnote-after-punctuation.name",descriptionKey:"rules.footnote-after-punctuation.description",type:"Footnote",ruleIgnoreTypes:[f.code,f.inlineCode,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.footnoteAtStartOfLine,f.footnoteAfterATask]})}get OptionsClass(){return Uo}apply(t,i){return t.replace(/(\[\^\w+\]) ?([,.;!:?])/gm,"$2$1")}get exampleBuilders(){return[new y({description:"Placing footnotes after punctuation.",before:p` Lorem[^1]. Ipsum[^2], doletes. - `,after:m` + `,after:p` Lorem.[^1] Ipsum,[^2] doletes. - `}),new v({description:"A footnote at the start of a task is not moved to after the punctuation",before:m` + `}),new y({description:"A footnote at the start of a task is not moved to after the punctuation",before:p` - [ ] [^1]: This is a footnote and a task. - [ ] This is a footnote and a task that gets swapped with the punctuation[^2]! [^2]: This footnote got modified - `,after:m` + `,after:p` - [ ] [^1]: This is a footnote and a task. - [ ] This is a footnote and a task that gets swapped with the punctuation![^2] [^2]: This footnote got modified - `})]}get optionBuilders(){return[]}};Gn=L([k.register],Gn);var Zn=class{constructor(){this.defaultEscapeCharacter='"';this.forceYamlEscape=[]}};L([k.noSettingControl()],Zn.prototype,"defaultEscapeCharacter",2);var dt=class extends k{constructor(){super({nameKey:"rules.force-yaml-escape.name",descriptionKey:"rules.force-yaml-escape.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return Zn}apply(t,i){return Te(t,n=>{for(let r of i.forceYamlEscape){let a=Ee(n,r);if(a!=null){if(a.includes(` -`)||a.startsWith(" [")||Ma(a))continue;a=xi(a,i.defaultEscapeCharacter,!0),n=Le(n,r," "+a)}}return n})}get exampleBuilders(){return[new v({description:"YAML without anything to escape",before:m` + `})]}get optionBuilders(){return[]}};Xn=T([b.register],Xn);var er=class{constructor(){this.defaultEscapeCharacter='"';this.forceYamlEscape=[]}};T([b.noSettingControl()],er.prototype,"defaultEscapeCharacter",2);var mt=class extends b{constructor(){super({nameKey:"rules.force-yaml-escape.name",descriptionKey:"rules.force-yaml-escape.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return er}apply(t,i){return Te(t,n=>{for(let r of i.forceYamlEscape){let a=Ee(n,r);if(a!=null){if(a.includes(` +`)||a.startsWith(" [")||ja(a))continue;a=xi(a,i.defaultEscapeCharacter,!0),n=Ae(n,r," "+a)}}return n})}get exampleBuilders(){return[new y({description:"YAML without anything to escape",before:p` --- key: value otherKey: [] --- - `,after:m` + `,after:p` --- key: value otherKey: [] --- - `}),new v({description:"Force YAML keys to be escaped with double quotes where not already escaped with `Force Yaml Escape on Keys = 'key'\\n'title'\\n'bool'`",before:m` + `}),new y({description:"Force YAML keys to be escaped with double quotes where not already escaped with `Force Yaml Escape on Keys = 'key'\\n'title'\\n'bool'`",before:p` --- key: 'Already escaped value' title: This is a title @@ -792,7 +829,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i --- ${""} _Note that the force Yaml key option should not be used with arrays._ - `,after:m` + `,after:p` --- key: 'Already escaped value' title: "This is a title" @@ -801,45 +838,45 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i --- ${""} _Note that the force Yaml key option should not be used with arrays._ - `,options:{forceYamlEscape:["key","title","bool"],defaultEscapeCharacter:'"'}})]}get optionBuilders(){return[new ye({OptionsClass:Zn,nameKey:"rules.force-yaml-escape.force-yaml-escape-keys.name",descriptionKey:"rules.force-yaml-escape.force-yaml-escape-keys.description",optionsKey:"forceYamlEscape"})]}};dt=L([k.register],dt);var jo=class{},ut=class extends k{constructor(){super({nameKey:"rules.format-tags-in-yaml.name",descriptionKey:"rules.format-tags-in-yaml.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return jo}apply(t,i){return Te(t,n=>n.replace(new RegExp(`\\n(${Cn}|${Eo}):(.*?)(?=\\n(?:[A-Za-z-]+?:|---))`,"s"),function(r){return r.replaceAll("#","")}))}get exampleBuilders(){return[new v({description:"Format Tags in YAML frontmatter",before:m` + `,options:{forceYamlEscape:["key","title","bool"],defaultEscapeCharacter:'"'}})]}get optionBuilders(){return[new be({OptionsClass:er,nameKey:"rules.force-yaml-escape.force-yaml-escape-keys.name",descriptionKey:"rules.force-yaml-escape.force-yaml-escape-keys.description",optionsKey:"forceYamlEscape"})]}};mt=T([b.register],mt);var Go=class{},gt=class extends b{constructor(){super({nameKey:"rules.format-tags-in-yaml.name",descriptionKey:"rules.format-tags-in-yaml.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return Go}apply(t,i){return Te(t,n=>n.replace(new RegExp(`\\n(${_n}|${Do}):(.*?)(?=\\n(?:[A-Za-z-]+?:|---))`,"s"),function(r){return r.replaceAll("#","")}))}get exampleBuilders(){return[new y({description:"Format Tags in YAML frontmatter",before:p` --- tags: #one #two #three #nested/four/five --- - `,after:m` + `,after:p` --- tags: one two three nested/four/five --- - `}),new v({description:"Format tags in array",before:m` + `}),new y({description:"Format tags in array",before:p` --- tags: [#one #two #three] --- - `,after:m` + `,after:p` --- tags: [one two three] --- - `}),new v({description:"Format tags in array with `tag` as the tags key",before:m` + `}),new y({description:"Format tags in array with `tag` as the tags key",before:p` --- tag: [#one #two #three] --- - `,after:m` + `,after:p` --- tag: [one two three] --- - `}),new v({description:"Format tags in list",before:m` + `}),new y({description:"Format tags in list",before:p` --- tags: - #tag1 - #tag2 --- - `,after:m` + `,after:p` --- tags: - tag1 - tag2 --- - `})]}get optionBuilders(){return[]}};ut=L([k.register],ut);var Ze=class{constructor(){this.aliasArrayStyle="single-line";this.formatAliasKey=!0;this.tagArrayStyle="single-line";this.formatTagKey=!0;this.defaultArrayStyle="single-line";this.formatArrayKeys=!0;this.forceSingleLineArrayStyle=[];this.forceMultiLineArrayStyle=[];this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};L([k.noSettingControl()],Ze.prototype,"aliasArrayStyle",2),L([k.noSettingControl()],Ze.prototype,"tagArrayStyle",2),L([k.noSettingControl()],Ze.prototype,"defaultEscapeCharacter",2),L([k.noSettingControl()],Ze.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var Qn=class extends k{constructor(){super({nameKey:"rules.format-yaml-array.name",descriptionKey:"rules.format-yaml-array.description",type:"YAML"})}get OptionsClass(){return Ze}apply(t,i){return Te(t,n=>{let r=Je(n.replace(`--- + `})]}get optionBuilders(){return[]}};gt=T([b.register],gt);var Ze=class{constructor(){this.aliasArrayStyle="single-line";this.formatAliasKey=!0;this.tagArrayStyle="single-line";this.formatTagKey=!0;this.defaultArrayStyle="single-line";this.formatArrayKeys=!0;this.forceSingleLineArrayStyle=[];this.forceMultiLineArrayStyle=[];this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};T([b.noSettingControl()],Ze.prototype,"aliasArrayStyle",2),T([b.noSettingControl()],Ze.prototype,"tagArrayStyle",2),T([b.noSettingControl()],Ze.prototype,"defaultEscapeCharacter",2),T([b.noSettingControl()],Ze.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var ir=class extends b{constructor(){super({nameKey:"rules.format-yaml-array.name",descriptionKey:"rules.format-yaml-array.description",type:"YAML"})}get OptionsClass(){return Ze}apply(t,i){return Te(t,n=>{let r=Xe(n.replace(`--- `,"").replace(` ----`,""));if(!r)return n;for(let a of qn)if(i.formatAliasKey&&Object.keys(r).includes(a)){n=Le(n,a,Ge(Ca(vi(Ee(n,a))),i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays));break}for(let a of Mn)if(i.formatTagKey&&Object.keys(r).includes(a)){n=Le(n,a,Ge(Oa(vi(Ee(n,a))),i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays));break}if(i.formatArrayKeys){let a=[...qn,...Mn,...i.forceMultiLineArrayStyle,...i.forceSingleLineArrayStyle];for(let s of Object.keys(r))a.includes(s)||!Array.isArray(r[s])||r[s].length!==0&&typeof r[s][0]=="object"&&r[s][0]!==null||(n=Le(n,s,Ge(vi(Ee(n,s)),i.defaultArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)))}for(let a of i.forceSingleLineArrayStyle)Object.keys(r).includes(a)&&(n=Le(n,a,Ge(vi(Ee(n,a)),"single-line",i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));for(let a of i.forceMultiLineArrayStyle)Object.keys(r).includes(a)&&(n=Le(n,a,Ge(vi(Ee(n,a)),"multi-line",i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));return n})}get exampleBuilders(){return[new v({description:"Format tags as a single-line array delimited by spaces and aliases as a multi-line array and format the key `test` to be a single-line array",before:m` +---`,""));if(!r)return n;for(let a of Fn)if(i.formatAliasKey&&Object.keys(r).includes(a)){n=Ae(n,a,Qe(Na(vi(Ee(n,a))),i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays));break}for(let a of Bn)if(i.formatTagKey&&Object.keys(r).includes(a)){n=Ae(n,a,Qe(Da(vi(Ee(n,a))),i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays));break}if(i.formatArrayKeys){let a=[...Fn,...Bn,...i.forceMultiLineArrayStyle,...i.forceSingleLineArrayStyle];for(let s of Object.keys(r))a.includes(s)||!Array.isArray(r[s])||r[s].length!==0&&typeof r[s][0]=="object"&&r[s][0]!==null||(n=Ae(n,s,Qe(vi(Ee(n,s)),i.defaultArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)))}for(let a of i.forceSingleLineArrayStyle)Object.keys(r).includes(a)&&(n=Ae(n,a,Qe(vi(Ee(n,a)),"single-line",i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));for(let a of i.forceMultiLineArrayStyle)Object.keys(r).includes(a)&&(n=Ae(n,a,Qe(vi(Ee(n,a)),"multi-line",i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));return n})}get exampleBuilders(){return[new y({description:"Format tags as a single-line array delimited by spaces and aliases as a multi-line array and format the key `test` to be a single-line array",before:p` --- tags: - computer @@ -853,7 +890,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i Nesting yaml arrays may result in unexpected results. ${""} Multi-line arrays will have empty values removed only leaving one if it is completely empty. The same is not true for single-line arrays as that is invalid yaml unless it comes as the last entry in the array. - `,after:m` + `,after:p` --- tags: [computer, research] aliases: @@ -867,7 +904,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i Nesting yaml arrays may result in unexpected results. ${""} Multi-line arrays will have empty values removed only leaving one if it is completely empty. The same is not true for single-line arrays as that is invalid yaml unless it comes as the last entry in the array. - `,options:{aliasArrayStyle:"multi-line",forceSingleLineArrayStyle:["test"]}}),new v({description:"Format tags as a single string with space delimiters, ignore aliases, and format regular yaml arrays as single-line arrays",before:m` + `,options:{aliasArrayStyle:"multi-line",forceSingleLineArrayStyle:["test"]}}),new y({description:"Format tags as a single string with space delimiters, ignore aliases, and format regular yaml arrays as single-line arrays",before:p` --- aliases: Typescript types: @@ -875,13 +912,13 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i - peer reviewed tags: [computer, science, trajectory] --- - `,after:m` + `,after:p` --- aliases: Typescript types: [thought provoking, peer reviewed] tags: computer science trajectory --- - `,options:{formatAliasKey:!1,tagArrayStyle:"single string space delimited"}}),new v({description:"Arrays with dictionaries in them are ignored",before:m` + `,options:{formatAliasKey:!1,tagArrayStyle:"single string space delimited"}}),new y({description:"Arrays with dictionaries in them are ignored",before:p` --- gists: - id: test123 @@ -889,7 +926,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i filename: file.md isPublic: true --- - `,after:m` + `,after:p` --- gists: - id: test123 @@ -897,7 +934,7 @@ ${a}${s} `)}get exampleBuilders(){return[new v({description:"Line being pasted i filename: file.md isPublic: true --- - `,options:{formatArrayKeys:!0,defaultArrayStyle:"single-line"}})]}get optionBuilders(){return[new G({OptionsClass:Ze,nameKey:"rules.format-yaml-array.alias-key.name",descriptionKey:"rules.format-yaml-array.alias-key.description",optionsKey:"formatAliasKey"}),new G({OptionsClass:Ze,nameKey:"rules.format-yaml-array.tag-key.name",descriptionKey:"rules.format-yaml-array.tag-key.description",optionsKey:"formatTagKey"}),new xe({OptionsClass:Ze,nameKey:"rules.format-yaml-array.default-array-style.name",descriptionKey:"rules.format-yaml-array.default-array-style.description",optionsKey:"defaultArrayStyle",records:[{value:"multi-line",description:"```key:\\n - value```"},{value:"single-line",description:"```key: [value]```"}]}),new G({OptionsClass:Ze,nameKey:"rules.format-yaml-array.default-array-keys.name",descriptionKey:"rules.format-yaml-array.default-array-keys.description",optionsKey:"formatArrayKeys"}),new ye({OptionsClass:Ze,nameKey:"rules.format-yaml-array.force-single-line-array-style.name",descriptionKey:"rules.format-yaml-array.force-single-line-array-style.description",optionsKey:"forceSingleLineArrayStyle"}),new ye({OptionsClass:Ze,nameKey:"rules.format-yaml-array.force-multi-line-array-style.name",descriptionKey:"rules.format-yaml-array.force-multi-line-array-style.description",optionsKey:"forceMultiLineArrayStyle"})]}};Qn=L([k.register],Qn);var Ga=class{constructor(){this.startAtH2=!1}},Jn=class extends k{constructor(){super({nameKey:"rules.header-increment.name",descriptionKey:"rules.header-increment.description",type:"Heading"})}get OptionsClass(){return Ga}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>{let r=0,a=i.startAtH2?2:1,s=[],o=[0,0,0,0,0,0],l=o.length;return n.replace(Ni,(d,c="",u="",p="",g="",h="")=>{let y=u.length;if(y=y<=l?y:l,o[y-1]>=0&&y=w;b--)o[b]=0}if(o[y-1]<=0){let w=r,b=s.length+a;b=b<=l?b:l;for(let S=w;S{let h=c.length;if(h=h<=o?h:o,s[h-1]>=0&&h=v;w--)s[w]=0}if(s[h-1]<=0){let v=n,w=a.length+r;w=w<=o?w:o;for(let z=v;z(i.bottom?(n=n.replace(/^(#+\s.*)/gm,` + `,options:{startAtH2:!0}})]}get optionBuilders(){return[new U({OptionsClass:as,nameKey:"rules.header-increment.start-at-h2.name",descriptionKey:"rules.header-increment.start-at-h2.description",optionsKey:"startAtH2"})]}};tr=T([b.register],tr);var rr=class{constructor(){this.bottom=!0;this.emptyLineAfterYaml=!0}},nr=class extends b{constructor(){super({nameKey:"rules.heading-blank-lines.name",descriptionKey:"rules.heading-blank-lines.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink]})}get OptionsClass(){return rr}apply(t,i){return i.bottom?(t=t.replace(/^(#+\s.*)/gm,` $1 -`),n=n.replace(/\n+(#+\s.*)/g,` +`),t=t.replace(/\n+(#+\s.*)/g,` -$1`),n=n.replace(/(^#+\s.*)\n+/gm,`$1 +$1`),t=t.replace(/(^#+\s.*)\n+/gm,`$1 -`)):(n=n.replace(/(^#+\s.*)\n+/gm,`$1 -`),n=n.replace(/\n+(#+\s.*)/g,` +`)):(t=t.replace(/(^#+\s.*)\n+/gm,`$1 +`),t=t.replace(/\n+(#+\s.*)/g,` -$1`)),n=n.replace(/^\n+(#+\s.*)/,"$1"),n=n.replace(/(#+\s.*)\n+$/,"$1"),i.emptyLineAfterYaml||(n=n.replace(new RegExp("("+Ae.source+")\\n+(#+\\s.*)"),`$1 -$5`)),n))}get exampleBuilders(){return[new v({description:"Headings should be surrounded by blank lines",before:m` +$1`)),t=t.replace(/^\n+(#+\s.*)/,"$1"),t=t.replace(/(#+\s.*)\n+$/,"$1"),i.emptyLineAfterYaml||(t=t.replace(new RegExp("("+Se.source+")\\n+(#+\\s.*)"),`$1 +$5`)),t}get exampleBuilders(){return[new y({description:"Headings should be surrounded by blank lines",before:p` # H1 ## H2 ${""} @@ -988,7 +1025,7 @@ $5`)),n))}get exampleBuilders(){return[new v({description:"Headings should be su line ## H2 ${""} - `,after:m` + `,after:p` # H1 ${""} ## H2 @@ -998,13 +1035,13 @@ $5`)),n))}get exampleBuilders(){return[new v({description:"Headings should be su line ${""} ## H2 - `}),new v({description:"With `Bottom=false`",before:m` + `}),new y({description:"With `Bottom=false`",before:p` # H1 line ## H2 # H1 line - `,after:m` + `,after:p` # H1 line ${""} @@ -1012,59 +1049,59 @@ $5`)),n))}get exampleBuilders(){return[new v({description:"Headings should be su ${""} # H1 line - `,options:{bottom:!1,emptyLineAfterYaml:!0}}),new v({description:"Empty line before header and after Yaml is removed with `Empty Line Between Yaml and Header=false`",before:m` + `,options:{bottom:!1,emptyLineAfterYaml:!0}}),new y({description:"Empty line before header and after Yaml is removed with `Empty Line Between Yaml and Header=false`",before:p` --- key: value --- ${""} # Header Paragraph here... - `,after:m` + `,after:p` --- key: value --- # Header Paragraph here... - `,options:{bottom:!0,emptyLineAfterYaml:!1}})]}get optionBuilders(){return[new G({OptionsClass:er,nameKey:"rules.heading-blank-lines.bottom.name",descriptionKey:"rules.heading-blank-lines.bottom.description",optionsKey:"bottom"}),new G({OptionsClass:er,nameKey:"rules.heading-blank-lines.empty-line-after-yaml.name",descriptionKey:"rules.heading-blank-lines.empty-line-after-yaml.description",optionsKey:"emptyLineAfterYaml"})]}};Xn=L([k.register],Xn);var No=class{},ir=class extends k{constructor(){super({nameKey:"rules.headings-start-line.name",descriptionKey:"rules.headings-start-line.description",type:"Heading"})}get OptionsClass(){return No}apply(t,i){return R([f.code,f.math,f.yaml],t,n=>n.replaceAll(Ni,r=>r.trimStart()))}get exampleBuilders(){return[new v({description:"Removes spaces prior to a heading",before:m` + `,options:{bottom:!0,emptyLineAfterYaml:!1}})]}get optionBuilders(){return[new U({OptionsClass:rr,nameKey:"rules.heading-blank-lines.bottom.name",descriptionKey:"rules.heading-blank-lines.bottom.description",optionsKey:"bottom"}),new U({OptionsClass:rr,nameKey:"rules.heading-blank-lines.empty-line-after-yaml.name",descriptionKey:"rules.heading-blank-lines.empty-line-after-yaml.description",optionsKey:"emptyLineAfterYaml"})]}};nr=T([b.register],nr);var Qo=class{},ar=class extends b{constructor(){super({nameKey:"rules.headings-start-line.name",descriptionKey:"rules.headings-start-line.description",type:"Heading",ruleIgnoreTypes:[f.code,f.math,f.yaml]})}get OptionsClass(){return Qo}apply(t,i){return t.replaceAll(ji,n=>n.trimStart())}get exampleBuilders(){return[new y({description:"Removes spaces prior to a heading",before:p` ${""} ## Other heading preceded by 2 spaces ## _Note that if the spacing is enough for the header to be considered to be part of a codeblock it will not be affected by this rule._ - `,after:m` + `,after:p` ## Other heading preceded by 2 spaces ## _Note that if the spacing is enough for the header to be considered to be part of a codeblock it will not be affected by this rule._ - `}),new v({description:"Tags are not affected by this",before:m` + `}),new y({description:"Tags are not affected by this",before:p` ${""} #test ${""} # Heading & - `,after:m` + `,after:p` ${""} #test # Heading & - `})]}get optionBuilders(){return[]}};ir=L([k.register],ir);var Za=class{constructor(){this.textToInsert=["aliases: ","tags: "]}},tr=class extends k{constructor(){super({nameKey:"rules.insert-yaml-attributes.name",descriptionKey:"rules.insert-yaml-attributes.description",type:"YAML"})}get OptionsClass(){return Za}apply(t,i){return t=bi(t),Te(t,n=>{let r=i.textToInsert.reverse(),a=Je(n.match(Ae)[1]);for(let s of r){let o=s.split(":")[0];Object.prototype.hasOwnProperty.call(a,o)||(n=n.replace(/^---\n/,Ke(`--- + `})]}get optionBuilders(){return[]}};ar=T([b.register],ar);var ss=class{constructor(){this.textToInsert=["aliases: ","tags: "]}},sr=class extends b{constructor(){super({nameKey:"rules.insert-yaml-attributes.name",descriptionKey:"rules.insert-yaml-attributes.description",type:"YAML"})}get OptionsClass(){return ss}apply(t,i){return t=bi(t),Te(t,n=>{let r=i.textToInsert.reverse(),a=Xe(n.match(Se)[1]);for(let s of r){let o=s.split(":")[0];Object.prototype.hasOwnProperty.call(a,o)||(n=n.replace(/^---\n/,Ke(`--- ${s} -`)))}return n})}get exampleBuilders(){return[new v({description:"Insert static lines into YAML frontmatter. Text to insert: `aliases:\ntags: doc\nanimal: dog`",before:m` +`)))}return n})}get exampleBuilders(){return[new y({description:"Insert static lines into YAML frontmatter. Text to insert: `aliases:\ntags: doc\nanimal: dog`",before:p` --- animal: cat --- - `,after:m` + `,after:p` --- aliases: tags: doc animal: cat --- - `,options:{textToInsert:["aliases:","tags: doc","animal: dog"]}})]}get optionBuilders(){return[new ye({OptionsClass:Za,nameKey:"rules.insert-yaml-attributes.text-to-insert.name",descriptionKey:"rules.insert-yaml-attributes.text-to-insert.description",optionsKey:"textToInsert"})]}};tr=L([k.register],tr);var Po=class{},nr=class extends k{constructor(){super({nameKey:"rules.line-break-at-document-end.name",descriptionKey:"rules.line-break-at-document-end.description",type:"Spacing"})}get OptionsClass(){return Po}apply(t,i){return t=t.replace(/\n+$/g,""),t+=` -`,t}get exampleBuilders(){return[new v({description:"Appending a line break to the end of the document.",before:m` + `,options:{textToInsert:["aliases:","tags: doc","animal: dog"]}})]}get optionBuilders(){return[new be({OptionsClass:ss,nameKey:"rules.insert-yaml-attributes.text-to-insert.name",descriptionKey:"rules.insert-yaml-attributes.text-to-insert.description",optionsKey:"textToInsert"})]}};sr=T([b.register],sr);var Zo=class{},or=class extends b{constructor(){super({nameKey:"rules.line-break-at-document-end.name",descriptionKey:"rules.line-break-at-document-end.description",type:"Spacing"})}get OptionsClass(){return Zo}apply(t,i){return t=t.replace(/\n+$/g,""),t+=` +`,t}get exampleBuilders(){return[new y({description:"Appending a line break to the end of the document.",before:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit. - `,after:m` + `,after:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} - `}),new v({description:"Removing trailing line breaks to the end of the document, except one.",before:m` + `}),new y({description:"Removing trailing line breaks to the end of the document, except one.",before:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} ${""} ${""} - `,after:m` + `,after:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${""} - `})]}get optionBuilders(){return[]}};nr=L([k.register],nr);var Ko=class{},rr=class extends k{constructor(){super({nameKey:"rules.move-footnotes-to-the-bottom.name",descriptionKey:"rules.move-footnotes-to-the-bottom.description",type:"Footnote"})}get OptionsClass(){return Ko}apply(t,i){return R([f.code,f.inlineCode,f.math,f.yaml],t,n=>Fd(n))}get exampleBuilders(){return[new v({description:"Moving footnotes to the bottom",before:m` + `})]}get optionBuilders(){return[]}};or=T([b.register],or);var Jo=class{},lr=class extends b{constructor(){super({nameKey:"rules.move-footnotes-to-the-bottom.name",descriptionKey:"rules.move-footnotes-to-the-bottom.description",type:"Footnote",ruleIgnoreTypes:[f.code,f.inlineCode,f.math,f.yaml]})}get OptionsClass(){return Jo}apply(t,i){return Ud(t)}get exampleBuilders(){return[new y({description:"Moving footnotes to the bottom",before:p` Lorem ipsum, consectetur adipiscing elit. [^1] Donec dictum turpis quis ipsum pellentesque. ${""} [^1]: first footnote @@ -1073,7 +1110,7 @@ ${s} [^2]: second footnote ${""} Maecenas malesuada dignissim purus ac volutpat. - `,after:m` + `,after:p` Lorem ipsum, consectetur adipiscing elit. [^1] Donec dictum turpis quis ipsum pellentesque. ${""} Quisque lorem est, fringilla sed enim at, sollicitudin lacinia nisi.[^2] @@ -1081,14 +1118,14 @@ ${s} ${""} [^1]: first footnote [^2]: second footnote - `})]}get optionBuilders(){return[]}};rr=L([k.register],rr);var Qa=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};L([k.noSettingControl()],Qa.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var ar=class extends k{constructor(){super({nameKey:"rules.move-math-block-indicators-to-their-own-line.name",descriptionKey:"rules.move-math-block-indicators-to-their-own-line.description",type:"Spacing"})}get OptionsClass(){return Qa}apply(t,i){return R([f.code,f.inlineCode],t,n=>Zd(n,i.minimumNumberOfDollarSignsToBeAMathBlock))}get exampleBuilders(){return[new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2",before:m` + `})]}get optionBuilders(){return[]}};lr=T([b.register],lr);var os=class{constructor(){this.minimumNumberOfDollarSignsToBeAMathBlock=2}};T([b.noSettingControl()],os.prototype,"minimumNumberOfDollarSignsToBeAMathBlock",2);var cr=class extends b{constructor(){super({nameKey:"rules.move-math-block-indicators-to-their-own-line.name",descriptionKey:"rules.move-math-block-indicators-to-their-own-line.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.inlineCode]})}get OptionsClass(){return os}apply(t,i){return ou(t,i.minimumNumberOfDollarSignsToBeAMathBlock)}get exampleBuilders(){return[new y({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2",before:p` This is left alone: $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ The following is updated: $$L = \\frac{1}{2} \\rho v^2 S C_L$$ - `,after:m` + `,after:p` This is left alone: $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} @@ -1097,23 +1134,23 @@ ${s} $$ L = \\frac{1}{2} \\rho v^2 S C_L $$ - `}),new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 3 and opening indicator is on the same line as the start of the content",before:m` + `}),new y({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 3 and opening indicator is on the same line as the start of the content",before:p` $$$\\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$$ - `,after:m` + `,after:p` $$$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$$ - `}),new v({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2 and ending indicator is on the same line as the ending line of the content",before:m` + `}),new y({description:"Moving math block indicator to its own line when `Number of Dollar Signs to Indicate a Math Block` = 2 and ending indicator is on the same line as the ending line of the content",before:p` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix}$$ - `,after:m` + `,after:p` $$ \\boldsymbol{a}=\\begin{bmatrix}a_x \\\\ a_y\\end{bmatrix} $$ - `})]}get optionBuilders(){return[]}};ar=L([k.register],ar);var Yi=class{constructor(){this.tagArrayStyle="single-line";this.howToHandleExistingTags="Nothing";this.tagsToIgnore=[];this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};L([k.noSettingControl()],Yi.prototype,"tagArrayStyle",2),L([k.noSettingControl()],Yi.prototype,"defaultEscapeCharacter",2),L([k.noSettingControl()],Yi.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var sr=class extends k{constructor(){super({nameKey:"rules.move-tags-to-yaml.name",descriptionKey:"rules.move-tags-to-yaml.description",type:"YAML"})}get OptionsClass(){return Yi}apply(t,i){return R([f.code,f.inlineCode,f.math,f.html,f.wikiLink,f.link],t,n=>{let r;return R([f.yaml],n,a=>(r=au(a),a)),r.length===0||(n=bi(n),n=Te(n,a=>{a=a.replace(`--- -`,"").replace("---","");let s=[],o=Cn;for(let c of Mn){let u=Ee(a,c);if(u!=null){s=Oa(vi(u)),o=c;break}}let l=new Set;if(typeof s=="string")l.add(s),s=[s];else if(s!=null)for(let c of s)l.add(c);else s=[];for(let c of r){let u=c.trim().substring(1);!l.has(u)&&!i.tagsToIgnore.includes(u)&&(l.add(u),s.push(u))}return`--- -${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays))}---`}),n=R([f.yaml],n,a=>(i.howToHandleExistingTags!=="Nothing"&&(a=a.replace(En,s=>{let o=s.indexOf("#"),l=s.substring(o+1);return i.tagsToIgnore.includes(l)?s:i.howToHandleExistingTags==="Remove hashtag"?s.substring(0,o)+l:""})),a)),n=n.replace(/(\n---)( |\t)+/,"$1")),n})}get exampleBuilders(){return[new v({description:"Move tags from body to Yaml with `Tags to ignore = 'ignored-tag'`",before:m` + `})]}get optionBuilders(){return[]}};cr=T([b.register],cr);var Yi=class{constructor(){this.tagArrayStyle="single-line";this.howToHandleExistingTags="Nothing";this.tagsToIgnore=[];this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};T([b.noSettingControl()],Yi.prototype,"tagArrayStyle",2),T([b.noSettingControl()],Yi.prototype,"defaultEscapeCharacter",2),T([b.noSettingControl()],Yi.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var dr=class extends b{constructor(){super({nameKey:"rules.move-tags-to-yaml.name",descriptionKey:"rules.move-tags-to-yaml.description",type:"YAML",ruleIgnoreTypes:[f.code,f.inlineCode,f.math,f.html,f.wikiLink,f.link]})}get OptionsClass(){return Yi}apply(t,i){let n;return qe([f.yaml],t,r=>(n=zu(r),r)),n.length===0||(t=bi(t),t=Te(t,r=>{r=r.replace(`--- +`,"").replace("---","");let a=[],s=_n;for(let d of Bn){let c=Ee(r,d);if(c!=null){a=Da(vi(c)),s=d;break}}let o=new Set;if(typeof a=="string")o.add(a),a=[a];else if(a!=null)for(let d of a)o.add(d);else a=[];for(let d of n){let c=d.trim().substring(1);!o.has(c)&&!i.tagsToIgnore.includes(c)&&(o.add(c),a.push(c))}return`--- +${Ae(r,s,Qe(a,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays))}---`}),t=qe([f.yaml],t,r=>(i.howToHandleExistingTags!=="Nothing"&&(r=r.replace(qn,a=>{let s=a.indexOf("#"),o=a.substring(s+1);return i.tagsToIgnore.includes(o)?a:i.howToHandleExistingTags==="Remove hashtag"?a.substring(0,s)+o:""})),r)),t=t.replace(/(\n---)( |\t)+/,"$1")),t}get exampleBuilders(){return[new y({description:"Move tags from body to Yaml with `Tags to ignore = 'ignored-tag'`",before:p` Text has to do with #test and #markdown ${""} #test content here @@ -1125,7 +1162,7 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape This inline code \`#ignored content\` ${""} #ignored-tag is ignored since it is in the ignored list - `,after:m` + `,after:p` --- tags: [test, markdown] --- @@ -1140,41 +1177,41 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape This inline code \`#ignored content\` ${""} #ignored-tag is ignored since it is in the ignored list - `,options:{tagsToIgnore:["ignored-tag"]}}),new v({description:"Move tags from body to YAML with existing tags retains the already existing ones and only adds new ones",before:m` + `,options:{tagsToIgnore:["ignored-tag"]}}),new y({description:"Move tags from body to YAML with existing tags retains the already existing ones and only adds new ones",before:p` --- tags: [test, tag2] --- Text has to do with #test and #markdown - `,after:m` + `,after:p` --- tags: [test, tag2, markdown] --- Text has to do with #test and #markdown - `}),new v({description:"Move tags to YAML frontmatter and then remove hashtags in body content tags when `Body tag operation = 'Remove hashtag'` and `Tags to ignore = 'yet-another-ignored-tag'`.",before:m` + `}),new y({description:"Move tags to YAML frontmatter and then remove hashtags in body content tags when `Body tag operation = 'Remove hashtag'` and `Tags to ignore = 'yet-another-ignored-tag'`.",before:p` --- tags: [test, tag2] --- Text has to do with #test and #markdown ${""} The tag at the end of this line stays as a tag since it is ignored #yet-another-ignored-tag - `,after:m` + `,after:p` --- tags: [test, tag2, markdown] --- Text has to do with test and markdown ${""} The tag at the end of this line stays as a tag since it is ignored #yet-another-ignored-tag - `,options:{howToHandleExistingTags:"Remove hashtag",tagsToIgnore:["yet-another-ignored-tag"]}}),new v({description:"Move tags to YAML frontmatter and then remove body content tags when `Body tag operation = 'Remove whole tag'`.",before:m` + `,options:{howToHandleExistingTags:"Remove hashtag",tagsToIgnore:["yet-another-ignored-tag"]}}),new y({description:"Move tags to YAML frontmatter and then remove body content tags when `Body tag operation = 'Remove whole tag'`.",before:p` --- tags: [test, tag2] --- This document will have #tags removed and spacing around tags is left alone except for the space prior to the hashtag #warning - `,after:m` + `,after:p` --- tags: [test, tag2, tags, warning] --- This document will have removed and spacing around tags is left alone except for the space prior to the hashtag - `,options:{howToHandleExistingTags:"Remove whole tag"}})]}get optionBuilders(){return[new xe({OptionsClass:Yi,nameKey:"rules.move-tags-to-yaml.how-to-handle-existing-tags.name",descriptionKey:"rules.move-tags-to-yaml.how-to-handle-existing-tags.description",optionsKey:"howToHandleExistingTags",records:[{value:"Nothing",description:"Leaves tags in the body of the file alone"},{value:"Remove hashtag",description:"Removes `#` from tags in content body after moving them to the YAML frontmatter"},{value:"Remove whole tag",description:"Removes the whole tag in content body after moving them to the YAML frontmatter. _Note that this removes the first space prior to the tag as well_"}]}),new ye({OptionsClass:Yi,nameKey:"rules.move-tags-to-yaml.tags-to-ignore.name",descriptionKey:"rules.move-tags-to-yaml.tags-to-ignore.description",optionsKey:"tagsToIgnore"})]}};sr=L([k.register],sr);var $o=class{},pu="'\"\u2018\u2019\u201C\u201D`[]",or=class extends k{constructor(){super({nameKey:"rules.no-bare-urls.name",descriptionKey:"rules.no-bare-urls.description",type:"Content"})}get OptionsClass(){return $o}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.image,f.inlineCode,f.anchorTag],t,n=>{let r=n.match(Pt);if(!r)return n;let a=0,s=r.length;for(let o=0;o=n.length?void 0:n.charAt(c);if(u!=null&&pu.includes(u)&&p!=null&&pu.includes(p)){a=d+l.length;continue}if(u!=null&&u==="<"&&p!=null&&p===">"){let g=d-1;for(;g>0&&n.charAt(g-1)==="<";)g--;let h=c;for(;h";)h++;n=Se(n,g,h+1,"<"+l+">"),a=d+l.length;continue}n=Se(n,d,d+l.length,"<"+l+">"),a=d+l.length+2}return n})}get exampleBuilders(){return[new v({description:"Make sure that links are inside of angle brackets when not in single quotes('), double quotes(\"), or backticks(`)",before:m` + `,options:{howToHandleExistingTags:"Remove whole tag"}})]}get optionBuilders(){return[new ne({OptionsClass:Yi,nameKey:"rules.move-tags-to-yaml.how-to-handle-existing-tags.name",descriptionKey:"rules.move-tags-to-yaml.how-to-handle-existing-tags.description",optionsKey:"howToHandleExistingTags",records:[{value:"Nothing",description:"Leaves tags in the body of the file alone"},{value:"Remove hashtag",description:"Removes `#` from tags in content body after moving them to the YAML frontmatter"},{value:"Remove whole tag",description:"Removes the whole tag in content body after moving them to the YAML frontmatter. _Note that this removes the first space prior to the tag as well_"}]}),new be({OptionsClass:Yi,nameKey:"rules.move-tags-to-yaml.tags-to-ignore.name",descriptionKey:"rules.move-tags-to-yaml.tags-to-ignore.description",optionsKey:"tagsToIgnore"})]}};dr=T([b.register],dr);var Xo=class{},qu="'\"\u2018\u2019\u201C\u201D`[]",ur=class extends b{constructor(){super({nameKey:"rules.no-bare-urls.name",descriptionKey:"rules.no-bare-urls.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.image,f.inlineCode,f.anchorTag]})}get OptionsClass(){return Xo}apply(t,i){let n=t.match(Wt);if(!n)return t;let r=0,a=n.length;for(let s=0;s=t.length?void 0:t.charAt(d);if(c!=null&&qu.includes(c)&&u!=null&&qu.includes(u)){r=l+o.length;continue}if(c!=null&&c==="<"&&u!=null&&u===">"){let m=l-1;for(;m>0&&t.charAt(m-1)==="<";)m--;let g=d;for(;g";)g++;t=fe(t,m,g+1,"<"+o+">"),r=l+o.length;continue}t=fe(t,l,l+o.length,"<"+o+">"),r=l+o.length+2}return t}get exampleBuilders(){return[new y({description:"Make sure that links are inside of angle brackets when not in single quotes('), double quotes(\"), or backticks(`)",before:p` https://github.com braces around url should stay the same: [https://github.com] backticks around url should stay the same: \`https://github.com\` @@ -1184,7 +1221,7 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape links should stay the same: [](https://github.com) https://gitlab.com - `,after:m` + `,after:p` braces around url should stay the same: [https://github.com] backticks around url should stay the same: \`https://github.com\` @@ -1194,25 +1231,25 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape links should stay the same: [](https://github.com) - `}),new v({description:`Angle brackets are added if the url is not the only text in the single quotes(') or double quotes(")`,before:m` + `}),new y({description:`Angle brackets are added if the url is not the only text in the single quotes(') or double quotes(")`,before:p` [https://github.com some text here] backticks around a url should stay the same: \`https://github.com some text here\` single quotes around a url should stay the same, but only if the contents of the single quotes is the url: 'https://github.com some text here' double quotes around a url should stay the same, but only if the contents of the double quotes is the url: "https://github.com some text here" - `,after:m` + `,after:p` [ some text here] backticks around a url should stay the same: \`https://github.com some text here\` single quotes around a url should stay the same, but only if the contents of the single quotes is the url: ' some text here' double quotes around a url should stay the same, but only if the contents of the double quotes is the url: " some text here" - `}),new v({description:"Multiple angle brackets at the start and or end of a url will be reduced down to 1",before:m` + `}),new y({description:"Multiple angle brackets at the start and or end of a url will be reduced down to 1",before:p` < > <> - `,after:m` + `,after:p` - `})]}get optionBuilders(){return[]}};or=L([k.register],or);var cr=class{constructor(){this.numberStyle="ascending";this.listEndStyle="."}},lr=class extends k{constructor(){super({nameKey:"rules.ordered-list-style.name",descriptionKey:"rules.ordered-list-style.description",type:"Content"})}get OptionsClass(){return cr}apply(t,i){return R([f.code,f.math,f.yaml,f.tag],t,n=>Ud(n,i.numberStyle,i.listEndStyle))}get exampleBuilders(){return[new v({description:"Ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:m` + `})]}get optionBuilders(){return[]}};ur=T([b.register],ur);var mr=class{constructor(){this.numberStyle="ascending";this.listEndStyle="."}},pr=class extends b{constructor(){super({nameKey:"rules.ordered-list-style.name",descriptionKey:"rules.ordered-list-style.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.tag]})}get OptionsClass(){return mr}apply(t,i){return au(t,i.numberStyle,i.listEndStyle)}get exampleBuilders(){return[new y({description:"Ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:p` 1. Item 1 2. Item 2 4. Item 3 @@ -1222,7 +1259,7 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape 1. Item 1 1. Item 2 1. Item 3 - `,after:m` + `,after:p` 1. Item 1 2. Item 2 3. Item 3 @@ -1232,187 +1269,244 @@ ${Le(a,o,Ge(s,i.tagArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscape 1. Item 1 2. Item 2 3. Item 3 - `}),new v({description:"Nested ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:m` + `}),new y({description:"Nested ordered lists have list items set to ascending numerical order when Number Style is `ascending`.",before:p` 1. Item 1 2. Item 2 1. Subitem 1 5. Subitem 2 2. Subitem 3 4. Item 3 - `,after:m` + `,after:p` 1. Item 1 2. Item 2 1. Subitem 1 2. Subitem 2 3. Subitem 3 3. Item 3 - `}),new v({description:"Ordered list in blockquote has list items set to '1.' when Number Style is `lazy`.",before:m` + `}),new y({description:"Ordered list in blockquote has list items set to '1.' when Number Style is `lazy`.",before:p` > 1. Item 1 > 4. Item 2 > > 1. Subitem 1 > > 5. Subitem 2 > > 2. Subitem 3 - `,after:m` + `,after:p` > 1. Item 1 > 1. Item 2 > > 1. Subitem 1 > > 1. Subitem 2 > > 1. Subitem 3 - `,options:{numberStyle:"lazy"}}),new v({description:"Ordered list in blockquote has list items set to ascending numerical order when Number Style is `ascending`.",before:m` + `,options:{numberStyle:"lazy"}}),new y({description:"Ordered list in blockquote has list items set to ascending numerical order when Number Style is `ascending`.",before:p` > 1. Item 1 > 4. Item 2 > > 1. Subitem 1 > > 5. Subitem 2 > > 2. Subitem 3 - `,after:m` + `,after:p` > 1. Item 1 > 2. Item 2 > > 1. Subitem 1 > > 2. Subitem 2 > > 3. Subitem 3 - `}),new v({description:"Nested ordered list has list items set to '1)' when Number Style is `lazy` and Ordered List Indicator End Style is `)`.",before:m` + `}),new y({description:"Nested ordered list has list items set to '1)' when Number Style is `lazy` and Ordered List Indicator End Style is `)`.",before:p` 1. Item 1 2. Item 2 1. Subitem 1 5. Subitem 2 2. Subitem 3 4. Item 3 - `,after:m` + `,after:p` 1) Item 1 1) Item 2 1) Subitem 1 1) Subitem 2 1) Subitem 3 1) Item 3 - `,options:{listEndStyle:")",numberStyle:"lazy"}})]}get optionBuilders(){return[new xe({OptionsClass:cr,nameKey:"rules.ordered-list-style.number-style.name",descriptionKey:"rules.ordered-list-style.number-style.description",optionsKey:"numberStyle",records:[{value:"ascending",description:"Makes sure ordered list items are ascending (i.e. 1, 2, 3, etc.)"},{value:"lazy",description:"Makes sure ordered list item indicators all are the number 1"}]}),new xe({OptionsClass:cr,nameKey:"rules.ordered-list-style.list-end-style.name",descriptionKey:"rules.ordered-list-style.list-end-style.description",optionsKey:"listEndStyle",records:[{value:".",description:"Makes sure ordered list items indicators end in '.' (i.e `1.`)"},{value:")",description:"Makes sure ordered list item indicators end in ')' (i.e. `1)`)"}]})]}};lr=L([k.register],lr);var Ho=class{},dr=class extends k{constructor(){super({nameKey:"rules.paragraph-blank-lines.name",descriptionKey:"rules.paragraph-blank-lines.description",type:"Spacing"})}get OptionsClass(){return Ho}apply(t,i){return R([f.obsidianMultiLineComments,f.yaml,f.table],t,Nd)}get exampleBuilders(){return[new v({description:"Paragraphs should be surrounded by blank lines",before:m` + `,options:{listEndStyle:")",numberStyle:"lazy"}})]}get optionBuilders(){return[new ne({OptionsClass:mr,nameKey:"rules.ordered-list-style.number-style.name",descriptionKey:"rules.ordered-list-style.number-style.description",optionsKey:"numberStyle",records:[{value:"ascending",description:"Makes sure ordered list items are ascending (i.e. 1, 2, 3, etc.)"},{value:"lazy",description:"Makes sure ordered list item indicators all are the number 1"}]}),new ne({OptionsClass:mr,nameKey:"rules.ordered-list-style.list-end-style.name",descriptionKey:"rules.ordered-list-style.list-end-style.description",optionsKey:"listEndStyle",records:[{value:".",description:"Makes sure ordered list items indicators end in '.' (i.e `1.`)"},{value:")",description:"Makes sure ordered list item indicators end in ')' (i.e. `1)`)"}]})]}};pr=T([b.register],pr);var el=class{},gr=class extends b{constructor(){super({nameKey:"rules.paragraph-blank-lines.name",descriptionKey:"rules.paragraph-blank-lines.description",type:"Spacing",ruleIgnoreTypes:[f.obsidianMultiLineComments,f.yaml,f.table]})}get OptionsClass(){return el}apply(t,i){return Jd(t)}get exampleBuilders(){return[new y({description:"Paragraphs should be surrounded by blank lines",before:p` # H1 Newlines are inserted. A paragraph is a line that starts with a letter. - `,after:m` + `,after:p` # H1 ${""} Newlines are inserted. ${""} A paragraph is a line that starts with a letter. - `})]}get optionBuilders(){return[]}};dr=L([k.register],dr);var Ja=class{};L([k.noSettingControl()],Ja.prototype,"lineContent",2);var pt=class extends k{constructor(){super({nameKey:"rules.prevent-double-checklist-indicator-on-paste.name",descriptionKey:"rules.prevent-double-checklist-indicator-on-paste.description",type:"Paste"})}get OptionsClass(){return Ja}apply(t,i){let n=new RegExp(`^${Nt}- \\[[ x]] `),r=/^\s*- \[[ x]] /,a=n.test(i.lineContent),s=r.test(t);return!a||!s?t:t.replace(r,"")}get exampleBuilders(){return[new v({description:"Line being pasted is left alone when current line has no checklist indicator in it: `Regular text here`",before:m` + `}),new y({description:"Paragraphs can be extended via the use of 2 or more spaces at the end of a line or line break html",before:p` + # H1 + Content${" "} + Paragraph content continued
      + Paragraph content continued once more
      + Last line of paragraph + A new paragraph + # H2 + `,after:p` + # H1 + ${""} + Content${" "} + Paragraph content continued
      + Paragraph content continued once more
      + Last line of paragraph + ${""} + A new paragraph + ${""} + # H2 + `})]}get optionBuilders(){return[]}};gr=T([b.register],gr);var ls=class{};T([b.noSettingControl()],ls.prototype,"lineContent",2);var ht=class extends b{constructor(){super({nameKey:"rules.prevent-double-checklist-indicator-on-paste.name",descriptionKey:"rules.prevent-double-checklist-indicator-on-paste.description",type:"Paste"})}get OptionsClass(){return ls}apply(t,i){let n=new RegExp(`^${Yt}- \\[[ x]] `),r=/^\s*- \[[ x]] /,a=n.test(i.lineContent),s=r.test(t);return!a||!s?t:t.replace(r,"")}get exampleBuilders(){return[new y({description:"Line being pasted is left alone when current line has no checklist indicator in it: `Regular text here`",before:p` - [ ] Checklist item being pasted - `,after:m` + `,after:p` - [ ] Checklist item being pasted - `,options:{lineContent:"Regular text here"}}),new v({description:"Line being pasted into a blockquote without a checklist indicator is left alone when it lacks a checklist indicator: `> > `",before:m` + `,options:{lineContent:"Regular text here"}}),new y({description:"Line being pasted into a blockquote without a checklist indicator is left alone when it lacks a checklist indicator: `> > `",before:p` - [ ] Checklist item contents here More content here - `,after:m` + `,after:p` - [ ] Checklist item contents here More content here - `,options:{lineContent:"> > "}}),new v({description:"Line being pasted into a blockquote with a checklist indicator is has its checklist indicator removed when current line is: `> - [x] `",before:m` + `,options:{lineContent:"> > "}}),new y({description:"Line being pasted into a blockquote with a checklist indicator is has its checklist indicator removed when current line is: `> - [x] `",before:p` - [ ] Checklist item contents here More content here - `,after:m` + `,after:p` Checklist item contents here More content here - `,options:{lineContent:"> - [x] "}}),new v({description:"Line being pasted with a checklist indicator is has its checklist indicator removed when current line is: `- [ ] `",before:m` + `,options:{lineContent:"> - [x] "}}),new y({description:"Line being pasted with a checklist indicator is has its checklist indicator removed when current line is: `- [ ] `",before:p` - [x] Checklist item 1 - [ ] Checklist item 2 - `,after:m` + `,after:p` Checklist item 1 - [ ] Checklist item 2 - `,options:{lineContent:"- [ ] "}})]}get optionBuilders(){return[]}};pt=L([k.register],pt);var Xa=class{};L([k.noSettingControl()],Xa.prototype,"lineContent",2);var mt=class extends k{constructor(){super({nameKey:"rules.prevent-double-list-item-indicator-on-paste.name",descriptionKey:"rules.prevent-double-list-item-indicator-on-paste.description",type:"Paste"})}get OptionsClass(){return Xa}apply(t,i){let n=new RegExp(`^${Nt}[*+-] `),r=/^\s*[*+-] /,a=n.test(i.lineContent),s=r.test(t);return!a||!s?t:t.replace(r,"")}get exampleBuilders(){return[new v({description:"Line being pasted is left alone when current line has no list indicator in it: `Regular text here`",before:m` + `,options:{lineContent:"- [ ] "}})]}get optionBuilders(){return[]}};ht=T([b.register],ht);var cs=class{};T([b.noSettingControl()],cs.prototype,"lineContent",2);var ft=class extends b{constructor(){super({nameKey:"rules.prevent-double-list-item-indicator-on-paste.name",descriptionKey:"rules.prevent-double-list-item-indicator-on-paste.description",type:"Paste"})}get OptionsClass(){return cs}apply(t,i){let n=new RegExp(`^${Yt}[*+-] `),r=/^\s*[*+-] /,a=n.test(i.lineContent),s=r.test(t);return!a||!s?t:t.replace(r,"")}get exampleBuilders(){return[new y({description:"Line being pasted is left alone when current line has no list indicator in it: `Regular text here`",before:p` - List item being pasted - `,after:m` + `,after:p` - List item being pasted - `,options:{lineContent:"Regular text here"}}),new v({description:"Line being pasted into a blockquote without a list indicator is left alone when it lacks a list indicator: `> > `",before:m` + `,options:{lineContent:"Regular text here"}}),new y({description:"Line being pasted into a blockquote without a list indicator is left alone when it lacks a list indicator: `> > `",before:p` * List item contents here More content here - `,after:m` + `,after:p` * List item contents here More content here - `,options:{lineContent:"> > "}}),new v({description:"Line being pasted into a blockquote with a list indicator is has its list indicator removed when current line is: `> * `",before:m` + `,options:{lineContent:"> > "}}),new y({description:"Line being pasted into a blockquote with a list indicator is has its list indicator removed when current line is: `> * `",before:p` + List item contents here More content here - `,after:m` + `,after:p` List item contents here More content here - `,options:{lineContent:"> * "}}),new v({description:"Line being pasted with a list indicator is has its list indicator removed when current line is: `+ `",before:m` + `,options:{lineContent:"> * "}}),new y({description:"Line being pasted with a list indicator is has its list indicator removed when current line is: `+ `",before:p` - List item 1 - List item 2 - `,after:m` + `,after:p` List item 1 - List item 2 - `,options:{lineContent:"+ "}})]}get optionBuilders(){return[]}};mt=L([k.register],mt);var Yo=class{},gt=class extends k{constructor(){super({nameKey:"rules.proper-ellipsis-on-paste.name",descriptionKey:"rules.proper-ellipsis-on-paste.description",type:"Paste"})}get OptionsClass(){return Yo}apply(t,i){return t.replaceAll(Ta,"\u2026")}get exampleBuilders(){return[new v({description:"Replacing three consecutive dots with an ellipsis even if spaces are present",before:m` + `,options:{lineContent:"+ "}})]}get optionBuilders(){return[]}};ft=T([b.register],ft);var il=class{},yt=class extends b{constructor(){super({nameKey:"rules.proper-ellipsis-on-paste.name",descriptionKey:"rules.proper-ellipsis-on-paste.description",type:"Paste"})}get OptionsClass(){return il}apply(t,i){return t.replaceAll(Ba,"\u2026")}get exampleBuilders(){return[new y({description:"Replacing three consecutive dots with an ellipsis even if spaces are present",before:p` Lorem (...) Impsum. Lorem (. ..) Impsum. Lorem (. . .) Impsum. - `,after:m` + `,after:p` Lorem (…) Impsum. Lorem (…) Impsum. Lorem (…) Impsum. - `})]}get optionBuilders(){return[]}};gt=L([k.register],gt);var Wo=class{},ur=class extends k{constructor(){super({nameKey:"rules.proper-ellipsis.name",descriptionKey:"rules.proper-ellipsis.description",type:"Content"})}get OptionsClass(){return Wo}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.image],t,n=>n.replaceAll(Ta,"\u2026"))}get exampleBuilders(){return[new v({description:"Replacing three consecutive dots with an ellipsis.",before:m` + `})]}get optionBuilders(){return[]}};yt=T([b.register],yt);var tl=class{},hr=class extends b{constructor(){super({nameKey:"rules.proper-ellipsis.name",descriptionKey:"rules.proper-ellipsis.description",type:"Content"})}get OptionsClass(){return tl}apply(t,i){return qe([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.image],t,n=>n.replaceAll(Ba,"\u2026"))}get exampleBuilders(){return[new y({description:"Replacing three consecutive dots with an ellipsis.",before:p` Lorem (...) Impsum. - `,after:m` + `,after:p` Lorem (…) Impsum. - `})]}get optionBuilders(){return[]}};ur=L([k.register],ur);var Vo=class{},pr=class extends k{constructor(){super({nameKey:"rules.re-index-footnotes.name",descriptionKey:"rules.re-index-footnotes.description",type:"Footnote"})}get OptionsClass(){return Vo}apply(t,i){return R([f.code,f.inlineCode,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,Rd)}get exampleBuilders(){return[new v({description:"Re-indexing footnotes after having deleted previous footnotes",before:m` + `})]}get optionBuilders(){return[]}};hr=T([b.register],hr);var Gy=["a'ight","ain't","amn't","'n'","aren't","'bout","boy's","can't","cap'n","'cause","'cept","could've","couldn't","couldn't've","daren't","daresn't","dasn't","didn't","doesn't","don't","d'ye","d'ya","e'en","e'er","'em","everybody's","everyone's","everything's","fo'c'sle","'gainst","g'day","girl's","giv'n","gi'z","gon't","guy's","hadn't","had've","hasn't","haven't","he'd","he'll","he's","here's","how'd","how'll","how're","how's","I'd","I'd've","I'd'nt","I'd'nt've","If'n","I'll","I'm","I'm'o","I've","isn't","it'd","it'll","it's","let's","loven't","ma'am","mayn't","may've","mightn't","might've","mine's","mustn't","mustn't've","must've","'neath","needn't","ne'er","o'clock","o'er","ol'","ought've","oughtn't","oughtn't've","'round","shalln't","shan'","shan't","she'd","she'll","she's","should've","shouldn't","shouldn't've","somebody's","someone's","something's","so're","so's","so've","that'll","that're","that's","that'd","there'd","there'll","there're","there's","these're","these've","they'd","they'd've","they'll","they're","they've","this's","those're","those've","'thout","'til","'tis","to've","'twas","'tween","'twere","w'all","w'at","wasn't","we'd","we'd've","we'll","we're","we've","weren't","what'd","what'll","what're","what's","what've","when's","where'd","where'll","where're","where's","where've","which'd","which'll","which're","which's","which've","who'd","who'd've","who'll","who're","who's","who've","why'd","why're","why's","willn't","won't","would've","wouldn't","wouldn't've","y'ain't","y'all","y'all'd've","y'all'd'n't've","y'all're","y'all'ren't","y'at","yes'm","y'know","you'd","you'll","you're","you've","when'd","willn't"],bt=class{constructor(){this.singleQuoteStyleEnabled=!0;this.singleQuoteStyle="''";this.doubleQuoteStyleEnabled=!0;this.doubleQuoteStyle='""'}},fr=class extends b{constructor(){super({nameKey:"rules.quote-style.name",descriptionKey:"rules.quote-style.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.math,f.inlineMath,f.html,f.templaterCommand]})}get OptionsClass(){return bt}apply(t,i){let n=t;return i.doubleQuoteStyleEnabled&&(i.doubleQuoteStyle==='""'?n=this.convertSmartDoubleQuotesToStraightQuotes(n):n=this.convertStraightDoubleQuotesToDoubleSmartQuotes(n)),i.singleQuoteStyleEnabled&&(i.singleQuoteStyle==="''"?n=this.convertSmartSingleQuotesToStraightQuotes(n):n=this.convertStraightSingleQuotesToSingleSmartQuotes(n)),n}convertSmartSingleQuotesToStraightQuotes(t){return t.replace(vu,"'")}convertSmartDoubleQuotesToStraightQuotes(t){return t.replace(bu,'"')}convertStraightDoubleQuotesToDoubleSmartQuotes(t){this.throwErrorIfNotEqualNumberOfQuotes(t,'"');let i="\u201C\u201D"[0],n="\u201C\u201D"[1],r=0;return t=t.replaceAll('"',()=>{let a=i;return r%2===1&&(a=n),r++,a}),t}convertStraightSingleQuotesToSingleSmartQuotes(t){let i="\u2018\u2019"[0],n="\u2018\u2019"[1];t=this.convertContractionStraightQuotesToSmartQuotes(t,i,n),t=this.convertPossessiveStraightQuotesToSmartQuotes(t,n),this.throwErrorIfNotEqualNumberOfQuotes(t,"'");let r=0;return t=t.replaceAll("'",()=>{let a=i;return r%2===1&&(a=n),r++,a}),t}convertContractionStraightQuotesToSmartQuotes(t,i,n){let r=function(a){return a[0]==="'"&&(a=i+a.substring(1)),a.replaceAll("'",n)};for(let a of Gy)t=t.replace(new RegExp(a,"gi"),r);return t}convertPossessiveStraightQuotesToSmartQuotes(t,i){return t.replace(/([a-zA-Z0-9]'s|s')/g,n=>n.replace("'",i))}throwErrorIfNotEqualNumberOfQuotes(t,i){if(rd(t,i)%2!==0)throw new Error(E("logs.uneven-amount-of-quotes").replace("{QUOTE}",i))}get exampleBuilders(){return[new y({description:"Smart quotes used in file are converted to straight quotes when styles are set to `Straight`",before:p` + # Double Quote Cases + “There are a bunch of different kinds of smart quote indicators” + „More than you would think” + «Including this one for Spanish» + # Single Quote Cases + ‘Simple smart quotes get replaced’ + ‚Another single style smart quote also gets replaced’ + ‹Even this style of single smart quotes is replaced› + `,after:p` + # Double Quote Cases + "There are a bunch of different kinds of smart quote indicators" + "More than you would think" + "Including this one for Spanish" + # Single Quote Cases + 'Simple smart quotes get replaced' + 'Another single style smart quote also gets replaced' + 'Even this style of single smart quotes is replaced' + `}),new y({description:"Straight quotes used in file are converted to smart quotes when styles are set to `Smart`",before:p` + "As you can see, these double quotes will be converted to smart quotes" + "Common contractions are handled as well. For example can't is updated to smart quotes." + "Nesting a quote in a quote like so: 'here I am' is handled correctly" + 'Single quotes by themselves are handled correctly' + Possessives are handled correctly: Pam's dog is really cool! + Templater commands are ignored: <% tp.date.now("YYYY-MM-DD", 7) %> + ${""} + Be careful as converting straight quotes to smart quotes requires you to have an even amount of quotes + once possessives and common contractions have been dealt with. If not, it will throw an error. + `,after:p` + “As you can see, these double quotes will be converted to smart quotes” + “Common contractions are handled as well. For example can’t is updated to smart quotes.” + “Nesting a quote in a quote like so: ‘here I am’ is handled correctly” + ‘Single quotes by themselves are handled correctly’ + Possessives are handled correctly: Pam’s dog is really cool! + Templater commands are ignored: <% tp.date.now("YYYY-MM-DD", 7) %> + ${""} + Be careful as converting straight quotes to smart quotes requires you to have an even amount of quotes + once possessives and common contractions have been dealt with. If not, it will throw an error. + `,options:{singleQuoteStyle:"\u2018\u2019",doubleQuoteStyle:"\u201C\u201D"}})]}get optionBuilders(){return[new U({OptionsClass:bt,nameKey:"rules.quote-style.single-quote-enabled.name",descriptionKey:"rules.quote-style.single-quote-enabled.description",optionsKey:"singleQuoteStyleEnabled"}),new ne({OptionsClass:bt,nameKey:"rules.quote-style.single-quote-style.name",descriptionKey:"rules.quote-style.single-quote-style.description",optionsKey:"singleQuoteStyle",records:[{value:"''",description:`Uses "'" instead of smart single quotes`},{value:"\u2018\u2019",description:'Uses "\u2018" and "\u2019" instead of straight single quotes'}]}),new U({OptionsClass:bt,nameKey:"rules.quote-style.double-quote-enabled.name",descriptionKey:"rules.quote-style.double-quote-enabled.description",optionsKey:"doubleQuoteStyleEnabled"}),new ne({OptionsClass:bt,nameKey:"rules.quote-style.double-quote-style.name",descriptionKey:"rules.quote-style.double-quote-style.description",optionsKey:"doubleQuoteStyle",records:[{value:'""',description:`Uses '"' instead of smart double quotes`},{value:"\u201C\u201D",description:"Uses '\u201C' and '\u201D' instead of straight double quotes"}]})]}};fr=T([b.register],fr);var nl=class{},yr=class extends b{constructor(){super({nameKey:"rules.re-index-footnotes.name",descriptionKey:"rules.re-index-footnotes.description",type:"Footnote",ruleIgnoreTypes:[f.code,f.inlineCode,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return nl}apply(t,i){return Gd(t)}get exampleBuilders(){return[new y({description:"Re-indexing footnotes after having deleted previous footnotes",before:p` Lorem ipsum at aliquet felis.[^3] Donec dictum turpis quis pellentesque,[^5] et iaculis tortor condimentum. ${""} [^3]: first footnote [^5]: second footnote - `,after:m` + `,after:p` Lorem ipsum at aliquet felis.[^1] Donec dictum turpis quis pellentesque,[^2] et iaculis tortor condimentum. ${""} [^1]: first footnote [^2]: second footnote - `}),new v({description:"Re-indexing footnotes after inserting a footnote between",before:m` + `}),new y({description:"Re-indexing footnotes after inserting a footnote between",before:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^1a] Vestibulum nec blandit felis, vulputate finibus purus.[^2] Praesent quis iaculis diam. ${""} [^1]: first footnote [^1a]: third footnote, inserted later [^2]: second footnotes - `,after:m` + `,after:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^2] Vestibulum nec blandit felis, vulputate finibus purus.[^3] Praesent quis iaculis diam. ${""} [^1]: first footnote [^2]: third footnote, inserted later [^3]: second footnotes - `}),new v({description:"Re-indexing footnotes preserves multiple references to the same footnote index",before:m` + `}),new y({description:"Re-indexing footnotes preserves multiple references to the same footnote index",before:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^1a] Vestibulum nec blandit felis, vulputate finibus purus.[^2] Praesent quis iaculis diam.[^1] ${""} [^1]: first footnote [^1a]: third footnote, inserted later [^2]: second footnotes - `,after:m` + `,after:p` Lorem ipsum dolor sit amet, consectetur adipiscing elit.[^1] Aenean at aliquet felis. Donec dictum turpis quis ipsum pellentesque, et iaculis tortor condimentum.[^2] Vestibulum nec blandit felis, vulputate finibus purus.[^3] Praesent quis iaculis diam.[^1] ${""} [^1]: first footnote [^2]: third footnote, inserted later [^3]: second footnotes - `}),new v({description:"Re-indexing footnotes condense duplicate footnotes into 1 when key and footnote are the same",before:m` + `}),new y({description:"Re-indexing footnotes condense duplicate footnotes into 1 when key and footnote are the same",before:p` bla[^1], bla[^1], bla[^2] [^1]: bla [^1]: bla [^2]: bla - `,after:m` + `,after:p` bla[^1], bla[^1], bla[^2] ${""} [^1]: bla [^2]: bla - `})]}get optionBuilders(){return[]}};pr=L([k.register],pr);var Uo=class{},mr=class extends k{constructor(){super({nameKey:"rules.remove-consecutive-list-markers.name",descriptionKey:"rules.remove-consecutive-list-markers.description",type:"Content"})}get OptionsClass(){return Uo}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>n.replace(/^([ |\t]*)- - \b/gm,"$1- "))}get exampleBuilders(){return[new v({description:"Removing consecutive list markers.",before:m` + `})]}get optionBuilders(){return[]}};yr=T([b.register],yr);var rl=class{},br=class extends b{constructor(){super({nameKey:"rules.remove-consecutive-list-markers.name",descriptionKey:"rules.remove-consecutive-list-markers.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return rl}apply(t,i){return t.replace(/^([ |\t]*)- - \b/gm,"$1- ")}get exampleBuilders(){return[new y({description:"Removing consecutive list markers.",before:p` - item 1 - - copypasted item A - item 2 - indented item - - copypasted item B - `,after:m` + `,after:p` - item 1 - copypasted item A - item 2 - indented item - copypasted item B - `})]}get optionBuilders(){return[]}};mr=L([k.register],mr);var Go=class{},gr=class extends k{constructor(){super({nameKey:"rules.remove-empty-lines-between-list-markers-and-checklists.name",descriptionKey:"rules.remove-empty-lines-between-list-markers-and-checklists.description",type:"Spacing"})}get OptionsClass(){return Go}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.thematicBreak],t,n=>{let r=function(c,u,p){let g=new RegExp(`^${u} -{2,}${u}$`,"gm"),h,y=c;do h=y.match(g),y=y.replaceAll(g,p);while(h);return y};return n=r(n,"(( |\\t)*- \\[( |x)\\]( |\\t)+.+)",`$1 -$5`),n=r(n,"(( |\\t)*\\d+\\.( |\\t)+.+)",`$1 -$4`),n=r(n,"(( |\\t)*\\+( |\\t)+.+)",`$1 -$4`),n=r(n,"(( |\\t)*-(?! \\[( |x)\\])( |\\t)+.+)",`$1 -$5`),r(n,"(( |\\t)*\\*( |\\t)+.+)",`$1 -$4`)})}get exampleBuilders(){return[new v({description:"",before:m` + `})]}get optionBuilders(){return[]}};br=T([b.register],br);var al=class{},vr=class extends b{constructor(){super({nameKey:"rules.remove-empty-lines-between-list-markers-and-checklists.name",descriptionKey:"rules.remove-empty-lines-between-list-markers-and-checklists.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.thematicBreak]});this.replaceEmptyLinesBetweenList=function(i,n,r){let a=new RegExp(`^${n} +{2,}${n}$`,"gm"),s,o=i;do s=o.match(a),o=o.replaceAll(a,r);while(s);return o}}get OptionsClass(){return al}apply(i,n){let r="(( |\\t)*- \\[( |x)\\]( |\\t)+.+)";i=this.replaceEmptyLinesBetweenList(i,r,`$1 +$5`);let a="(( |\\t)*\\d+\\.( |\\t)+.+)";i=this.replaceEmptyLinesBetweenList(i,a,`$1 +$4`);let s="(( |\\t)*\\+( |\\t)+.+)";i=this.replaceEmptyLinesBetweenList(i,s,`$1 +$4`);let o="(( |\\t)*-(?! \\[( |x)\\])( |\\t)+.+)";i=this.replaceEmptyLinesBetweenList(i,o,`$1 +$5`);let l="(( |\\t)*\\*( |\\t)+.+)";return this.replaceEmptyLinesBetweenList(i,l,`$1 +$4`)}get exampleBuilders(){return[new y({description:"",before:p` 1. Item 1 ${""} 2. Item 2 @@ -1440,7 +1534,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` \t* Subitem 1 ${""} * Item 2 - `,after:m` + `,after:p` 1. Item 1 2. Item 2 ${""} @@ -1459,7 +1553,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` * Item 1 \t* Subitem 1 * Item 2 - `})]}get optionBuilders(){return[]}};gr=L([k.register],gr);var Zo=class{},hr=class extends k{constructor(){super({nameKey:"rules.remove-empty-list-markers.name",descriptionKey:"rules.remove-empty-list-markers.description",type:"Content"})}get OptionsClass(){return Zo}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>{let r=new RegExp(`^${Nt}(-|\\*|\\+|\\d+[.)]|- (\\[( |x)\\]))\\s*?$`,"gm");return n=n.replace(new RegExp(r.source+"\\n","gm"),""),n=n.replace(new RegExp("\\n"+r.source,"gm"),""),n.replace(r,"")})}get exampleBuilders(){return[new v({description:"Removes empty list markers.",before:m` + `})]}get optionBuilders(){return[]}};vr=T([b.register],vr);var sl=class{},xr=class extends b{constructor(){super({nameKey:"rules.remove-empty-list-markers.name",descriptionKey:"rules.remove-empty-list-markers.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return sl}apply(t,i){let n=new RegExp(`^${Yt}(-|\\*|\\+|\\d+[.)]|- (\\[( |x)\\]))\\s*?$`,"gm");return t=t.replace(new RegExp(n.source+"\\n","gm"),""),t=t.replace(new RegExp("\\n"+n.source,"gm"),""),t.replace(n,"")}get exampleBuilders(){return[new y({description:"Removes empty list markers.",before:p` - item 1 - - item 2 @@ -1471,7 +1565,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` + list 3 item 1 + + list 3 item 2 - `,after:m` + `,after:p` - item 1 - item 2 ${""} @@ -1480,7 +1574,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` ${""} + list 3 item 1 + list 3 item 2 - `}),new v({description:"Removes empty ordered list markers.",before:m` + `}),new y({description:"Removes empty ordered list markers.",before:p` 1. item 1 2. 3. item 2 @@ -1490,7 +1584,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` 3. ${""} ${""} _Note that this rule does not make sure that the ordered list is sequential after removal_ - `,after:m` + `,after:p` 1. item 1 3. item 2 ${""} @@ -1498,19 +1592,19 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` 2. list 2 item 2 ${""} _Note that this rule does not make sure that the ordered list is sequential after removal_ - `}),new v({description:"Removes empty checklist markers.",before:m` + `}),new y({description:"Removes empty checklist markers.",before:p` - [ ] item 1 - [x] - [ ] item 2 - [ ] ${""} ${""} _Note that this will affect checked and uncheck checked list items_ - `,after:m` + `,after:p` - [ ] item 1 - [ ] item 2 ${""} _Note that this will affect checked and uncheck checked list items_ - `}),new v({description:"Removes empty list, checklist, and ordered list markers in callouts/blockquotes",before:m` + `}),new y({description:"Removes empty list, checklist, and ordered list markers in callouts/blockquotes",before:p` > Checklist in blockquote > - [ ] item 1 > - [x] @@ -1540,7 +1634,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` > + item 1 > + > + item 2 - `,after:m` + `,after:p` > Checklist in blockquote > - [ ] item 1 > - [ ] item 2 @@ -1563,36 +1657,36 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` > > + item 1 > + item 2 - `})]}get optionBuilders(){return[]}};hr=L([k.register],hr);var Qo=class{},fr=class extends k{constructor(){super({nameKey:"rules.remove-hyphenated-line-breaks.name",descriptionKey:"rules.remove-hyphenated-line-breaks.description",type:"Content"})}get OptionsClass(){return Qo}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>n.replace(/\b[-‐] \b/g,""))}get exampleBuilders(){return[new v({description:"Removing hyphenated line breaks.",before:m` + `})]}get optionBuilders(){return[]}};xr=T([b.register],xr);var ol=class{},wr=class extends b{constructor(){super({nameKey:"rules.remove-hyphenated-line-breaks.name",descriptionKey:"rules.remove-hyphenated-line-breaks.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return ol}apply(t,i){return t.replace(/\b[-‐] \b/g,"")}get exampleBuilders(){return[new y({description:"Removing hyphenated line breaks.",before:p` This text has a linebr‐ eak. - `,after:m` + `,after:p` This text has a linebreak. - `})]}get optionBuilders(){return[]}};fr=L([k.register],fr);var Jo=class{},ht=class extends k{constructor(){super({nameKey:"rules.remove-hyphens-on-paste.name",descriptionKey:"rules.remove-hyphens-on-paste.description",type:"Paste"})}get OptionsClass(){return Jo}apply(t,i){return t.replace(/([^\s-])[-‐]\s+\n?(?=\w)/g,"$1")}get exampleBuilders(){return[new v({description:"Remove hyphen in content to paste",before:m` + `})]}get optionBuilders(){return[]}};wr=T([b.register],wr);var ll=class{},vt=class extends b{constructor(){super({nameKey:"rules.remove-hyphens-on-paste.name",descriptionKey:"rules.remove-hyphens-on-paste.description",type:"Paste"})}get OptionsClass(){return ll}apply(t,i){return t.replace(/([^\s-])[-‐]\s+\n?(?=\w)/g,"$1")}get exampleBuilders(){return[new y({description:"Remove hyphen in content to paste",before:p` Text that was cool but hyper- tension made it uncool. - `,after:m` + `,after:p` Text that was cool but hypertension made it uncool. - `})]}get optionBuilders(){return[]}};ht=L([k.register],ht);var Xo=class{},ft=class extends k{constructor(){super({nameKey:"rules.remove-leading-or-trailing-whitespace-on-paste.name",descriptionKey:"rules.remove-leading-or-trailing-whitespace-on-paste.description",type:"Paste"})}get OptionsClass(){return Xo}apply(t,i){return t.replace(/^[\n ]+|\s+$/g,"")}get exampleBuilders(){return[new v({description:"Removes leading spaces and newline characters",before:m` + `})]}get optionBuilders(){return[]}};vt=T([b.register],vt);var cl=class{},xt=class extends b{constructor(){super({nameKey:"rules.remove-leading-or-trailing-whitespace-on-paste.name",descriptionKey:"rules.remove-leading-or-trailing-whitespace-on-paste.description",type:"Paste"})}get OptionsClass(){return cl}apply(t,i){return t.replace(/^[\n ]+|\s+$/g,"")}get exampleBuilders(){return[new y({description:"Removes leading spaces and newline characters",before:p` ${""} ${""} This text was really indented ${""} - `,after:m` + `,after:p` This text was really indented - `}),new v({description:"Leaves leading tabs alone",before:m` + `}),new y({description:"Leaves leading tabs alone",before:p` ${""} ${""} \t\tThis text is really indented ${""} - `,after:" This text is really indented"})]}get optionBuilders(){return[]}};ft=L([k.register],ft);var el=class{},yt=class extends k{constructor(){super({nameKey:"rules.remove-leftover-footnotes-from-quote-on-paste.name",descriptionKey:"rules.remove-leftover-footnotes-from-quote-on-paste.description",type:"Paste"})}get OptionsClass(){return el}apply(t,i){return t.replace(/(\D)[.,]\d+/g,"$1")}get exampleBuilders(){return[new v({description:"Footnote reference removed",before:m` + `,after:" This text is really indented"})]}get optionBuilders(){return[]}};xt=T([b.register],xt);var dl=class{},wt=class extends b{constructor(){super({nameKey:"rules.remove-leftover-footnotes-from-quote-on-paste.name",descriptionKey:"rules.remove-leftover-footnotes-from-quote-on-paste.description",type:"Paste"})}get OptionsClass(){return dl}apply(t,i){return t.replace(/(\D)[.,]\d+/g,"$1")}get exampleBuilders(){return[new y({description:"Footnote reference removed",before:p` He was sure that he would get off without doing any time, but the cops had other plans.50 ${""} _Note that the format for footnote references to move is a dot or comma followed by any number of digits_ - `,after:m` + `,after:p` He was sure that he would get off without doing any time, but the cops had other plans ${""} _Note that the format for footnote references to move is a dot or comma followed by any number of digits_ - `})]}get optionBuilders(){return[]}};yt=L([k.register],yt);var il=class{},yr=class extends k{constructor(){super({nameKey:"rules.remove-link-spacing.name",descriptionKey:"rules.remove-link-spacing.description",type:"Spacing"})}get OptionsClass(){return il}apply(t,i){return t=Pd(t),nu(t)}get exampleBuilders(){return[new v({description:"Space in regular markdown link text",before:m` + `})]}get optionBuilders(){return[]}};wt=T([b.register],wt);var ul=class{},kr=class extends b{constructor(){super({nameKey:"rules.remove-link-spacing.name",descriptionKey:"rules.remove-link-spacing.description",type:"Spacing"})}get OptionsClass(){return ul}apply(t,i){return t=Xd(t),wu(t)}get exampleBuilders(){return[new y({description:"Space in regular markdown link text",before:p` [ here is link text1 ](link_here) [ here is link text2](link_here) [here is link text3 ](link_here) @@ -1601,7 +1695,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` [](link_here) **Note that image markdown syntax does not get affected even if it is transclusion:** ![\there is link text6 ](link_here) - `,after:m` + `,after:p` [here is link text1](link_here) [here is link text2](link_here) [here is link text3](link_here) @@ -1610,7 +1704,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` [](link_here) **Note that image markdown syntax does not get affected even if it is transclusion:** ![\there is link text6 ](link_here) - `}),new v({description:"Space in wiki link text",before:m` + `}),new y({description:"Space in wiki link text",before:p` [[link_here| here is link text1 ]] [[link_here|here is link text2 ]] [[link_here| here is link text3]] @@ -1618,7 +1712,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` [[link_here|\there is link text5\t]] ![[link_here|\there is link text6\t]] [[link_here]] - `,after:m` + `,after:p` [[link_here|here is link text1]] [[link_here|here is link text2]] [[link_here|here is link text3]] @@ -1626,32 +1720,32 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` [[link_here|here is link text5]] ![[link_here|here is link text6]] [[link_here]] - `})]}get optionBuilders(){return[]}};yr=L([k.register],yr);var tl=class{},bt=class extends k{constructor(){super({nameKey:"rules.remove-multiple-blank-lines-on-paste.name",descriptionKey:"rules.remove-multiple-blank-lines-on-paste.description",type:"Paste"})}get OptionsClass(){return tl}apply(t,i){return t.replace(/\n{3,}/g,` + `})]}get optionBuilders(){return[]}};kr=T([b.register],kr);var pl=class{},kt=class extends b{constructor(){super({nameKey:"rules.remove-multiple-blank-lines-on-paste.name",descriptionKey:"rules.remove-multiple-blank-lines-on-paste.description",type:"Paste"})}get OptionsClass(){return pl}apply(t,i){return t.replace(/\n{3,}/g,` -`)}get exampleBuilders(){return[new v({description:"Multiple blanks lines condensed down to one",before:m` +`)}get exampleBuilders(){return[new y({description:"Multiple blanks lines condensed down to one",before:p` Here is the first line. ${""} ${""} ${""} ${""} Here is some more text. - `,after:m` + `,after:p` Here is the first line. ${""} Here is some more text. - `}),new v({description:"Text with only one blank line in a row is left alone",before:m` + `}),new y({description:"Text with only one blank line in a row is left alone",before:p` First line. ${""} Last line. - `,after:m` + `,after:p` First line. ${""} Last line. - `})]}get optionBuilders(){return[]}};bt=L([k.register],bt);var nl=class{},br=class extends k{constructor(){super({nameKey:"rules.remove-multiple-spaces.name",descriptionKey:"rules.remove-multiple-spaces.description",type:"Content"})}get OptionsClass(){return nl}apply(t,i){return R([f.code,f.inlineCode,f.math,f.inlineMath,f.yaml,f.link,f.wikiLink,f.tag,f.table],t,n=>(n=n.replace(/(?!^>)([^\s])( ){2,}([^\s])/gm,"$1 $3"),n))}get exampleBuilders(){return[new v({description:"Removing double and triple space.",before:m` + `})]}get optionBuilders(){return[]}};kt=T([b.register],kt);var ml=class{},zr=class extends b{constructor(){super({nameKey:"rules.remove-multiple-spaces.name",descriptionKey:"rules.remove-multiple-spaces.description",type:"Content",ruleIgnoreTypes:[f.code,f.inlineCode,f.math,f.inlineMath,f.yaml,f.link,f.wikiLink,f.tag,f.table]})}get OptionsClass(){return ml}apply(t,i){return t=t.replace(/(?!^>)([^\s])( ){2,}([^\s])/gm,"$1 $3"),t}get exampleBuilders(){return[new y({description:"Removing double and triple space.",before:p` Lorem ipsum dolor sit amet. - `,after:m` + `,after:p` Lorem ipsum dolor sit amet. - `})]}get optionBuilders(){return[]}};br=L([k.register],br);var vt=class{constructor(){this.includeFullwidthForms=!0;this.includeCJKSymbolsAndPunctuation=!0;this.includeDashes=!0;this.otherSymbols=""}},vr=class extends k{constructor(){super({nameKey:"rules.remove-space-around-characters.name",descriptionKey:"rules.remove-space-around-characters.description",type:"Spacing"})}get OptionsClass(){return vt}apply(t,i){let n="";if(i.includeFullwidthForms&&(n+="\uFF01-\uFF5E"),i.includeCJKSymbolsAndPunctuation&&(n+="\u3000-\u30FF"),i.includeDashes&&(n+="\u2013\u2014"),n+=tu(i.otherSymbols),!n)return t;let r=new RegExp(`([ ])+([${n}])`,"g"),a=new RegExp(`([${n}])([ ])+`,"g"),s=function(l){return l.replace(r,"$2").replace(a,"$1")},o=R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag,f.list],t,s);return o=Hd(o,s),o}get exampleBuilders(){return[new v({description:"Remove Spaces and Tabs around Fullwidth Characters",before:m` + `})]}get optionBuilders(){return[]}};zr=T([b.register],zr);var zt=class{constructor(){this.includeFullwidthForms=!0;this.includeCJKSymbolsAndPunctuation=!0;this.includeDashes=!0;this.otherSymbols=""}},Sr=class extends b{constructor(){super({nameKey:"rules.remove-space-around-characters.name",descriptionKey:"rules.remove-space-around-characters.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return zt}apply(t,i){let n="";if(i.includeFullwidthForms&&(n+="\uFF01-\uFF5E"),i.includeCJKSymbolsAndPunctuation&&(n+="\u3000-\u30FF"),i.includeDashes&&(n+="\u2013\u2014"),n+=In(i.otherSymbols),!n)return t;let r=new RegExp(`([ ])+([${n}])`,"g"),a=new RegExp(`([${n}])([ ])+`,"g"),s=function(l){return l.replace(r,"$2").replace(a,"$1")},o=qe([f.list],t,s);return o=Ma(o,s),o}get exampleBuilders(){return[new y({description:"Remove Spaces and Tabs around Fullwidth Characters",before:p` Full list of affected characters: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.:;!?"'`^~ ̄_&@#%+-*=<>()[]{}⦅⦆|¦/\¬$£¢₩¥。、「」『』〔〕【】—…–《》〈〉 This is a fullwidth period\t 。 with text after it. This is a fullwidth comma\t, with text after it. @@ -1660,7 +1754,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is a fullwidth colon : with text after it. This is a fullwidth semicolon ; with text after it. Removes space at start of line - `,after:m` + `,after:p` Full list of affected characters:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.:;!?"'`^~ ̄_&@#%+-*=<>()[]{}⦅⦆|¦/\¬$£¢₩¥。、「」『』〔〕【】—…–《》〈〉 This is a fullwidth period。with text after it. This is a fullwidth comma,with text after it. @@ -1669,29 +1763,29 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is a fullwidth colon:with text after it. This is a fullwidth semicolon;with text after it. Removes space at start of line - `}),new v({description:"Fullwidth Characters in List Do not Affect List Markdown Syntax",before:m` + `}),new y({description:"Fullwidth Characters in List Do not Affect List Markdown Syntax",before:p` # List indicators should not have the space after them removed if they are followed by a fullwidth character ${""} - [ contents here] - - \t[ more contents here] more text here - + \t[ another item here] + - [ more contents here] more text here + + [ another item here] * [ one last item here] ${""} # Nested in a block quote ${""} > - [ contents here] - > - \t[ more contents here] more text here - > + \t[ another item here] + > - [ more contents here] more text here + > + [ another item here] > * [ one last item here] ${""} # Doubly nested in a block quote ${""} > The following is doubly nested > > - [ contents here] - > > - \t[ more contents here] more text here - > > + \t[ another item here] + > > - [ more contents here] more text here + > > + [ another item here] > > * [ one last item here] - `,after:m` + `,after:p` # List indicators should not have the space after them removed if they are followed by a fullwidth character ${""} - [contents here] @@ -1713,19 +1807,37 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` > > - [more contents here]more text here > > + [another item here] > > * [one last item here] - `})]}get optionBuilders(){return[new G({nameKey:"rules.remove-space-around-characters.include-fullwidth-forms.name",descriptionKey:"rules.remove-space-around-characters.include-fullwidth-forms.description",OptionsClass:vt,optionsKey:"includeFullwidthForms"}),new G({nameKey:"rules.remove-space-around-characters.include-cjk-symbols-and-punctuation.name",descriptionKey:"rules.remove-space-around-characters.include-cjk-symbols-and-punctuation.description",OptionsClass:vt,optionsKey:"includeCJKSymbolsAndPunctuation"}),new G({nameKey:"rules.remove-space-around-characters.include-dashes.name",descriptionKey:"rules.remove-space-around-characters.include-dashes.description",OptionsClass:vt,optionsKey:"includeDashes"}),new li({nameKey:"rules.remove-space-around-characters.other-symbols.name",descriptionKey:"rules.remove-space-around-characters.other-symbols.description",OptionsClass:vt,optionsKey:"otherSymbols"})]}};vr=L([k.register],vr);var es=class{constructor(){this.punctuationToRemove=".,;:!\u3002\uFF0C\uFF1B\uFF1A\uFF01"}},xr=class extends k{constructor(){super({nameKey:"rules.remove-trailing-punctuation-in-heading.name",descriptionKey:"rules.remove-trailing-punctuation-in-heading.description",type:"Heading"})}get OptionsClass(){return es}apply(t,i){return R([f.code,f.math,f.yaml],t,n=>n.replaceAll(Ni,(r,a="",s="",o="",l="",d="")=>{if(l==""||l.match(/&[^\s]+;$/mi))return r;let c=l.charAt(l.length-1);return i.punctuationToRemove.includes(c)?a+s+o+l.substring(0,l.length-1)+d:r}))}get exampleBuilders(){return[new v({description:"Removes punctuation from the end of a heading",before:m` + `})]}get optionBuilders(){return[new U({nameKey:"rules.remove-space-around-characters.include-fullwidth-forms.name",descriptionKey:"rules.remove-space-around-characters.include-fullwidth-forms.description",OptionsClass:zt,optionsKey:"includeFullwidthForms"}),new U({nameKey:"rules.remove-space-around-characters.include-cjk-symbols-and-punctuation.name",descriptionKey:"rules.remove-space-around-characters.include-cjk-symbols-and-punctuation.description",OptionsClass:zt,optionsKey:"includeCJKSymbolsAndPunctuation"}),new U({nameKey:"rules.remove-space-around-characters.include-dashes.name",descriptionKey:"rules.remove-space-around-characters.include-dashes.description",OptionsClass:zt,optionsKey:"includeDashes"}),new Ve({nameKey:"rules.remove-space-around-characters.other-symbols.name",descriptionKey:"rules.remove-space-around-characters.other-symbols.description",OptionsClass:zt,optionsKey:"otherSymbols"})]}};Sr=T([b.register],Sr);var Ar=class{constructor(){this.charactersToRemoveSpacesBefore=",!?;:).\u2019\u201D]";this.charactersToRemoveSpacesAfter="\xBF\xA1\u2018\u201C(["}},Tr=class extends b{constructor(){super({nameKey:"rules.remove-space-before-or-after-characters.name",descriptionKey:"rules.remove-space-before-or-after-characters.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return Ar}apply(t,i){let n=In(i.charactersToRemoveSpacesBefore),r=In(i.charactersToRemoveSpacesAfter);if(!n&&!r)return t;let a=new RegExp(`([ ])+([${n}])`,"g"),s=new RegExp(`([${r}])([ ])+`,"g"),o=function(d){return d.replace(a,"$2").replace(s,"$1")},l=qe([f.list,f.html],t,o);return l=Ma(l,o),l}get exampleBuilders(){return[new y({description:"Remove Spaces and Tabs Before and After Default Symbol Set",before:p` + In the end , the space gets removed\t . + The space before the question mark was removed right ? + The space before the exclamation point gets removed ! + A semicolon ; and colon : have spaces removed before them + ‘ Text in single quotes ’ + “ Text in double quotes ” + [ Text in square braces ] + ( Text in parenthesis ) + `,after:p` + In the end, the space gets removed. + The space before the question mark was removed right? + The space before the exclamation point gets removed! + A semicolon; and colon: have spaces removed before them + ‘Text in single quotes’ + “Text in double quotes” + [Text in square braces] + (Text in parenthesis) + `})]}get optionBuilders(){return[new Ve({nameKey:"rules.remove-space-before-or-after-characters.characters-to-remove-space-before.name",descriptionKey:"rules.remove-space-before-or-after-characters.characters-to-remove-space-before.description",OptionsClass:Ar,optionsKey:"charactersToRemoveSpacesBefore"}),new Ve({nameKey:"rules.remove-space-before-or-after-characters.characters-to-remove-space-after.name",descriptionKey:"rules.remove-space-before-or-after-characters.characters-to-remove-space-after.description",OptionsClass:Ar,optionsKey:"charactersToRemoveSpacesAfter"})]}};Tr=T([b.register],Tr);var ds=class{constructor(){this.punctuationToRemove=".,;:!\u3002\uFF0C\uFF1B\uFF1A\uFF01"}},Er=class extends b{constructor(){super({nameKey:"rules.remove-trailing-punctuation-in-heading.name",descriptionKey:"rules.remove-trailing-punctuation-in-heading.description",type:"Heading",ruleIgnoreTypes:[f.code,f.math,f.yaml]})}get OptionsClass(){return ds}apply(t,i){return t.replaceAll(ji,(n,r="",a="",s="",o="",l="")=>{if(o==""||o.match(yu))return n;let d=o.charAt(o.length-1);return i.punctuationToRemove.includes(d)?r+a+s+o.substring(0,o.length-1)+l:n})}get exampleBuilders(){return[new y({description:"Removes punctuation from the end of a heading",before:p` # Heading ends in a period. ## Other heading ends in an exclamation mark! ## - `,after:m` + `,after:p` # Heading ends in a period ## Other heading ends in an exclamation mark ## - `}),new v({description:"HTML Entities at the end of a heading is ignored",before:m` + `}),new y({description:"HTML Entities at the end of a heading is ignored",before:p` # Heading 1 ## Heading & - `,after:m` + `,after:p` # Heading 1 ## Heading & - `})]}get optionBuilders(){return[new li({OptionsClass:es,nameKey:"rules.remove-trailing-punctuation-in-heading.punctuation-to-remove.name",descriptionKey:"rules.remove-trailing-punctuation-in-heading.punctuation-to-remove.description",optionsKey:"punctuationToRemove"})]}};xr=L([k.register],xr);var is=class{constructor(){this.yamlKeysToRemove=[]}},wr=class extends k{constructor(){super({nameKey:"rules.remove-yaml-keys.name",descriptionKey:"rules.remove-yaml-keys.description",type:"YAML"})}get OptionsClass(){return is}apply(t,i){let n=i.yamlKeysToRemove,r=t.match(Ae);if(!r||n.length===0)return t;let a=r[1];for(let s of n){let o=s.trim();o.endsWith(":")&&(o=o.substring(0,o.length-1)),a=rt(a,o)}return t.replace(r[1],a)}get exampleBuilders(){return[new v({description:'Removes the values specified in `YAML Keys to Remove` = "status:\nkeywords\ndate"',before:m` + `})]}get optionBuilders(){return[new Ve({OptionsClass:ds,nameKey:"rules.remove-trailing-punctuation-in-heading.punctuation-to-remove.name",descriptionKey:"rules.remove-trailing-punctuation-in-heading.punctuation-to-remove.description",optionsKey:"punctuationToRemove"})]}};Er=T([b.register],Er);var us=class{constructor(){this.yamlKeysToRemove=[]}},Lr=class extends b{constructor(){super({nameKey:"rules.remove-yaml-keys.name",descriptionKey:"rules.remove-yaml-keys.description",type:"YAML"})}get OptionsClass(){return us}apply(t,i){let n=i.yamlKeysToRemove,r=t.match(Se);if(!r||n.length===0)return t;let a=r[1];for(let s of n){let o=s.trim();o.endsWith(":")&&(o=o.substring(0,o.length-1)),a=st(a,o)}return t.replace(r[1],a)}get exampleBuilders(){return[new y({description:'Removes the values specified in `YAML Keys to Remove` = "status:\nkeywords\ndate"',before:p` --- language: Typescript type: programming @@ -1740,7 +1852,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` # Header Context ${""} Text - `,after:m` + `,after:p` --- language: Typescript type: programming @@ -1750,37 +1862,37 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` # Header Context ${""} Text - `,options:{yamlKeysToRemove:["status:","keywords","date"]}})]}get optionBuilders(){return[new ye({OptionsClass:is,nameKey:"rules.remove-yaml-keys.yaml-keys-to-remove.name",descriptionKey:"rules.remove-yaml-keys.yaml-keys-to-remove.description",optionsKey:"yamlKeysToRemove"})]}};wr=L([k.register],wr);var rl=class{},kr=class extends k{constructor(){super({nameKey:"rules.space-after-list-markers.name",descriptionKey:"rules.space-after-list-markers.description",type:"Spacing"})}get OptionsClass(){return rl}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>(n=n.replace(/^(\s*\d+\.|\s*[-+*])[^\S\r\n]+/gm,"$1 "),n.replace(/^(\s*\d+\.|\s*[-+*]\s+\[[ xX]\])[^\S\r\n]+/gm,"$1 ")))}get exampleBuilders(){return[new v({description:"",before:m` + `,options:{yamlKeysToRemove:["status:","keywords","date"]}})]}get optionBuilders(){return[new be({OptionsClass:us,nameKey:"rules.remove-yaml-keys.yaml-keys-to-remove.name",descriptionKey:"rules.remove-yaml-keys.yaml-keys-to-remove.description",optionsKey:"yamlKeysToRemove"})]}};Lr=T([b.register],Lr);var gl=class{},Or=class extends b{constructor(){super({nameKey:"rules.space-after-list-markers.name",descriptionKey:"rules.space-after-list-markers.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return gl}apply(t,i){return t=t.replace(/^(\s*\d+\.|\s*[-+*])[^\S\r\n]+/gm,"$1 "),t.replace(/^(\s*\d+\.|\s*[-+*]\s+\[[ xX]\])[^\S\r\n]+/gm,"$1 ")}get exampleBuilders(){return[new y({description:"",before:p` 1. Item 1 2. Item 2 ${""} - [ ] Item 1 - [x] Item 2 \t- [ ] Item 3 - `,after:m` + `,after:p` 1. Item 1 2. Item 2 ${""} - [ ] Item 1 - [x] Item 2 \t- [ ] Item 3 - `})]}get optionBuilders(){return[]}};kr=L([k.register],kr);var al=class{},zr=class extends k{constructor(){super({nameKey:"rules.space-between-chinese-japanese-or-korean-and-english-or-numbers.name",descriptionKey:"rules.space-between-chinese-japanese-or-korean-and-english-or-numbers.description",type:"Spacing"})}get OptionsClass(){return al}apply(t,i){let n=/(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})( *)(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+'"([¥$]|\*[^*])/gmu,r=/(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+;:'"°%$)\]]|[^*]\*)( *)(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})/gmu,a=`${f.link.placeholder}|${f.inlineMath.placeholder}|${f.inlineCode.placeholder}|${f.wikiLink.placeholder}`.replaceAll("{","\\{").replaceAll("}","\\}"),s=new RegExp(`(\\p{sc=Han}|\\p{sc=Katakana}|\\p{sc=Hiragana}|\\p{sc=Hangul})( *)(${a})`,"gmu"),o=new RegExp(`(${a})( *)(\\p{sc=Han}|\\p{sc=Katakana}|\\p{sc=Hiragana}|\\p{sc=Hangul})`,"gmu"),l=function(d){return d.replace(n,"$1 $3").replace(r,"$1 $3")};return R([f.code,f.inlineCode,f.yaml,f.image,f.link,f.wikiLink,f.tag,f.math,f.inlineMath,f.html],t,d=>{let c=R([f.italics,f.bold],d,l);return c=c.replace(s,"$1 $3").replace(o,"$1 $3"),c=Kd(c,l),c=$d(c,l),c})}get exampleBuilders(){return[new v({description:"Space between Chinese and English",before:m` + `})]}get optionBuilders(){return[]}};Or=T([b.register],Or);var hl=class{},Cr=class extends b{constructor(){super({nameKey:"rules.space-between-chinese-japanese-or-korean-and-english-or-numbers.name",descriptionKey:"rules.space-between-chinese-japanese-or-korean-and-english-or-numbers.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.inlineCode,f.yaml,f.image,f.link,f.wikiLink,f.tag,f.math,f.inlineMath,f.html]})}get OptionsClass(){return hl}apply(t,i){let n=/(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})( *)(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+'"([¥$]|\*[^*])/gmu,r=/(\[[^[]*\]\(.*\)|`[^`]*`|\w+|[-+;:'"°%$)\]]|[^*]\*)( *)(\p{sc=Han}|\p{sc=Katakana}|\p{sc=Hiragana}|\p{sc=Hangul})/gmu,a=`${f.link.placeholder}|${f.inlineMath.placeholder}|${f.inlineCode.placeholder}|${f.wikiLink.placeholder}`.replaceAll("{","\\{").replaceAll("}","\\}"),s=new RegExp(`(\\p{sc=Han}|\\p{sc=Katakana}|\\p{sc=Hiragana}|\\p{sc=Hangul})( *)(${a})`,"gmu"),o=new RegExp(`(${a})( *)(\\p{sc=Han}|\\p{sc=Katakana}|\\p{sc=Hiragana}|\\p{sc=Hangul})`,"gmu"),l=function(c){return c.replace(n,"$1 $3").replace(r,"$1 $3")},d=qe([f.italics,f.bold],t,l);return d=d.replace(s,"$1 $3").replace(o,"$1 $3"),d=eu(d,l),d=iu(d,l),d}get exampleBuilders(){return[new y({description:"Space between Chinese and English",before:p` 中文字符串english中文字符串。 - `,after:m` + `,after:p` 中文字符串 english 中文字符串。 - `}),new v({description:"Space between Chinese and link",before:m` + `}),new y({description:"Space between Chinese and link",before:p` 中文字符串[english](http://example.com)中文字符串。 - `,after:m` + `,after:p` 中文字符串 [english](http://example.com) 中文字符串。 - `}),new v({description:"Space between Chinese and inline code block",before:m` + `}),new y({description:"Space between Chinese and inline code block",before:p` 中文字符串\`code\`中文字符串。 - `,after:m` + `,after:p` 中文字符串 \`code\` 中文字符串。 - `}),new v({description:"No space between Chinese and English in tag",before:m` + `}),new y({description:"No space between Chinese and English in tag",before:p` #标签A #标签2标签 - `,after:m` + `,after:p` #标签A #标签2标签 - `}),new v({description:"Make sure that spaces are not added between italics and chinese characters to preserve markdown syntax",before:m` + `}),new y({description:"Make sure that spaces are not added between italics and chinese characters to preserve markdown syntax",before:p` _这是一个数学公式_ *这是一个数学公式english* ${""} @@ -1788,7 +1900,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` ${""} **_这是一_个数学公式** *这是一hello__个数学world公式__* - `,after:m` + `,after:p` _这是一个数学公式_ *这是一个数学公式 english* ${""} @@ -1796,27 +1908,27 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` ${""} **_ 这是一 _ 个数学公式** *这是一 hello__ 个数学 world 公式 __* - `}),new v({description:"Images and links are ignored",before:m` + `}),new y({description:"Images and links are ignored",before:p` [[这是一个数学公式english]] ![[这是一个数学公式english.jpg]] [这是一个数学公式english](这是一个数学公式english.md) ![这是一个数学公式english](这是一个数学公式english.jpg) - `,after:m` + `,after:p` [[这是一个数学公式english]] ![[这是一个数学公式english.jpg]] [这是一个数学公式english](这是一个数学公式english.md) ![这是一个数学公式english](这是一个数学公式english.jpg) - `}),new v({description:"Space between CJK and English",before:m` + `}),new y({description:"Space between CJK and English",before:p` 日本語englishひらがな カタカナenglishカタカナ ハンカクカタカナenglish123全角数字 한글english한글 - `,after:m` + `,after:p` 日本語 english ひらがな カタカナ english カタカナ ハンカクカタカナ english123全角数字 한글 english 한글 - `})]}get optionBuilders(){return[]}};zr=L([k.register],zr);var ts=class{constructor(){this.style="consistent"}},Sr=class extends k{constructor(){super({nameKey:"rules.strong-style.name",descriptionKey:"rules.strong-style.description",type:"Content"})}get OptionsClass(){return ts}apply(t,i){return R([f.code,f.yaml,f.link,f.wikiLink,f.tag,f.math,f.inlineMath],t,n=>za(n,i.style,"strong"))}get exampleBuilders(){return[new v({description:"Strong indicators should use underscores when style is set to 'underscore'",before:m` + `})]}get optionBuilders(){return[]}};Cr=T([b.register],Cr);var ps=class{constructor(){this.style="consistent"}},qr=class extends b{constructor(){super({nameKey:"rules.strong-style.name",descriptionKey:"rules.strong-style.description",type:"Content",ruleIgnoreTypes:[f.code,f.yaml,f.link,f.wikiLink,f.tag,f.math,f.inlineMath]})}get OptionsClass(){return ps}apply(t,i){return qa(t,i.style,"strong")}get exampleBuilders(){return[new y({description:"Strong indicators should use underscores when style is set to 'underscore'",before:p` # Strong/Bold Cases ${""} **Test bold** @@ -1831,7 +1943,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` ${""} * List Item1 with **bold text** * List Item2 - `,after:m` + `,after:p` # Strong/Bold Cases ${""} __Test bold__ @@ -1846,7 +1958,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` ${""} * List Item1 with __bold text__ * List Item2 - `,options:{style:"underscore"}}),new v({description:"Strong indicators should use asterisks when style is set to 'asterisk'",before:m` + `,options:{style:"underscore"}}),new y({description:"Strong indicators should use asterisks when style is set to 'asterisk'",before:p` # Strong/Bold Cases ${""} __Test bold__ @@ -1858,7 +1970,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is ___nested emphasis_ and ending bold__ ${""} _Test emphasis_ - `,after:m` + `,after:p` # Strong/Bold Cases ${""} **Test bold** @@ -1870,7 +1982,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is **_nested emphasis_ and ending bold** ${""} _Test emphasis_ - `,options:{style:"asterisk"}}),new v({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:m` + `,options:{style:"asterisk"}}),new y({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:p` # Strong First Strong Is an Asterisk ${""} **First bold** @@ -1881,7 +1993,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is **_nested emphasis_ and ending bold** ${""} __Test bold__ - `,after:m` + `,after:p` # Strong First Strong Is an Asterisk ${""} **First bold** @@ -1892,7 +2004,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is **_nested emphasis_ and ending bold** ${""} **Test bold** - `,options:{style:"consistent"}}),new v({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:m` + `,options:{style:"consistent"}}),new y({description:"Strong indicators should use consistent style based on first strong indicator in a file when style is set to 'consistent'",before:p` # Strong First Strong Is an Underscore ${""} __First bold__ @@ -1903,7 +2015,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is ___nested emphasis_ and ending bold__ ${""} **Test bold** - `,after:m` + `,after:p` # Strong First Strong Is an Underscore ${""} __First bold__ @@ -1914,19 +2026,19 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` This is ___nested emphasis_ and ending bold__ ${""} __Test bold__ - `,options:{style:"consistent"}})]}get optionBuilders(){return[new xe({OptionsClass:ts,nameKey:"rules.strong-style.style.name",descriptionKey:"rules.strong-style.style.description",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of strong is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure ** is the strong indicator"},{value:"underscore",description:"Makes sure __ is the strong indicator"}]})]}};Sr=L([k.register],Sr);var ns=class{constructor(){this.twoSpaceLineBreak=!1}},Ar=class extends k{constructor(){super({nameKey:"rules.trailing-spaces.name",descriptionKey:"rules.trailing-spaces.description",type:"Spacing"})}get OptionsClass(){return ns}apply(t,i){return R([f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag],t,n=>i.twoSpaceLineBreak?(n=n.replace(/(\S)[ \t]$/gm,"$1"),n=n.replace(/(\S)[ \t]{3,}$/gm,"$1"),n=n.replace(/(\S)( ?\t\t? ?)$/gm,"$1"),n):n.replace(/[ \t]+$/gm,""))}get exampleBuilders(){return[new v({description:"Removes trailing spaces and tabs.",before:m` + `,options:{style:"consistent"}})]}get optionBuilders(){return[new ne({OptionsClass:ps,nameKey:"rules.strong-style.style.name",descriptionKey:"rules.strong-style.style.description",optionsKey:"style",records:[{value:"consistent",description:"Makes sure the first instance of strong is the style that will be used throughout the document"},{value:"asterisk",description:"Makes sure ** is the strong indicator"},{value:"underscore",description:"Makes sure __ is the strong indicator"}]})]}};qr=T([b.register],qr);var ms=class{constructor(){this.twoSpaceLineBreak=!1}},Mr=class extends b{constructor(){super({nameKey:"rules.trailing-spaces.name",descriptionKey:"rules.trailing-spaces.description",type:"Spacing",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.link,f.wikiLink,f.tag]})}get OptionsClass(){return ms}apply(t,i){return i.twoSpaceLineBreak?(t=t.replace(/(\S)[ \t]$/gm,"$1"),t=t.replace(/(\S)[ \t]{3,}$/gm,"$1"),t=t.replace(/(\S)( ?\t\t? ?)$/gm,"$1"),t):t.replace(/[ \t]+$/gm,"")}get exampleBuilders(){return[new y({description:"Removes trailing spaces and tabs.",before:p` # H1 Line with trailing spaces and tabs. ${""} - `,after:m` + `,after:p` # H1 Line with trailing spaces and tabs. - `}),new v({description:"With `Two Space Linebreak = true`",before:m` + `}),new y({description:"With `Two Space Linebreak = true`",before:p` # H1 Line with trailing spaces and tabs. ${""} - `,after:m` + `,after:p` # H1 Line with trailing spaces and tabs. ${""} - `,options:{twoSpaceLineBreak:!0}})]}get optionBuilders(){return[new G({OptionsClass:ns,nameKey:"rules.trailing-spaces.twp-space-line-break.name",descriptionKey:"rules.trailing-spaces.twp-space-line-break.description",optionsKey:"twoSpaceLineBreak"})]}};Ar=L([k.register],Ar);var sl=class{},Tr=class extends k{constructor(){super({nameKey:"rules.two-spaces-between-lines-with-content.name",descriptionKey:"rules.two-spaces-between-lines-with-content.description",type:"Content"})}get OptionsClass(){return sl}apply(t,i){return R([f.obsidianMultiLineComments,f.yaml,f.table],t,jd)}get exampleBuilders(){return[new v({description:"Make sure two spaces are added to the ends of lines that have content on it and the next line for lists, blockquotes, and paragraphs",before:m` + `,options:{twoSpaceLineBreak:!0}})]}get optionBuilders(){return[new U({OptionsClass:ms,nameKey:"rules.trailing-spaces.twp-space-line-break.name",descriptionKey:"rules.trailing-spaces.twp-space-line-break.description",optionsKey:"twoSpaceLineBreak"})]}};Mr=T([b.register],Mr);var fl=class{},Ir=class extends b{constructor(){super({nameKey:"rules.two-spaces-between-lines-with-content.name",descriptionKey:"rules.two-spaces-between-lines-with-content.description",type:"Content",ruleIgnoreTypes:[f.obsidianMultiLineComments,f.yaml,f.table]})}get OptionsClass(){return fl}apply(t,i){return Zd(t)}get exampleBuilders(){return[new y({description:"Make sure two spaces are added to the ends of lines that have content on it and the next line for lists, blockquotes, and paragraphs",before:p` # Heading 1 First paragraph stays as the first paragraph ${""} @@ -1965,7 +2077,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` Even more content here ${""} - `,after:m` + `,after:p` # Heading 1 First paragraph stays as the first paragraph ${""} @@ -2004,7 +2116,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` Even more content here ${""} - `})]}get optionBuilders(){return[]}};Tr=L([k.register],Tr);var rs=class{constructor(){this.listStyle="consistent"}},Lr=class extends k{constructor(){super({nameKey:"rules.unordered-list-style.name",descriptionKey:"rules.unordered-list-style.description",type:"Content"})}get OptionsClass(){return rs}apply(t,i){return R([f.code,f.math,f.yaml,f.tag],t,n=>Gd(n,i.listStyle))}get exampleBuilders(){return[new v({description:"Unordered lists have their indicator updated to `*` when `List item style = 'consistent'` and `*` is the first unordered list indicator",before:m` + `})]}get optionBuilders(){return[]}};Ir=T([b.register],Ir);var gs=class{constructor(){this.listStyle="consistent"}},_r=class extends b{constructor(){super({nameKey:"rules.unordered-list-style.name",descriptionKey:"rules.unordered-list-style.description",type:"Content",ruleIgnoreTypes:[f.code,f.math,f.yaml,f.tag]})}get OptionsClass(){return gs}apply(t,i){return su(t,i.listStyle)}get exampleBuilders(){return[new y({description:"Unordered lists have their indicator updated to `*` when `List item style = 'consistent'` and `*` is the first unordered list indicator",before:p` 1. ordered item 1 2. ordered item 2 ${""} @@ -2022,7 +2134,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `,after:m` + `,after:p` 1. ordered item 1 2. ordered item 2 ${""} @@ -2040,7 +2152,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `}),new v({description:"Unordered lists have their indicator updated to `-` when `List item style = '-'`",before:m` + `}),new y({description:"Unordered lists have their indicator updated to `-` when `List item style = '-'`",before:p` - Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -2059,7 +2171,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` * Sub item 2 1. Item 3 + Sub item 3 - `,after:m` + `,after:p` - Item 1 - Sublist 1 item 1 - Sublist 1 item 2 @@ -2078,7 +2190,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` - Sub item 2 1. Item 3 - Sub item 3 - `,options:{listStyle:"-"}}),new v({description:"Unordered lists have their indicator updated to `*` when `List item style = '*'`",before:m` + `,options:{listStyle:"-"}}),new y({description:"Unordered lists have their indicator updated to `*` when `List item style = '*'`",before:p` - Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -2089,7 +2201,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` - Sublist 3 item 1 - Sublist 3 item 2 ${""} - `,after:m` + `,after:p` * Item 1 * Sublist 1 item 1 * Sublist 1 item 2 @@ -2100,24 +2212,24 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` * Sublist 3 item 1 * Sublist 3 item 2 ${""} - `,options:{listStyle:"*"}}),new v({description:"Unordered list in blockquote has list item indicators set to `+` when `List item style = '-'`",before:m` + `,options:{listStyle:"*"}}),new y({description:"Unordered list in blockquote has list item indicators set to `+` when `List item style = '-'`",before:p` > - Item 1 > + Item 2 > > * Subitem 1 > > + Subitem 2 > > - Sub sub item 1 > > - Subitem 3 - `,after:m` + `,after:p` > + Item 1 > + Item 2 > > + Subitem 1 > > + Subitem 2 > > + Sub sub item 1 > > + Subitem 3 - `,options:{listStyle:"+"}})]}get optionBuilders(){return[new xe({OptionsClass:rs,nameKey:"rules.unordered-list-style.list-style.name",descriptionKey:"rules.unordered-list-style.list-style.description",optionsKey:"listStyle",records:[{value:"consistent",description:"Makes sure unordered list items use a consistent list item indicator in the file which will be based on the first list item found"},{value:"-",description:"Makes sure unordered list items use `-` as their indicator"},{value:"*",description:"Makes sure unordered list items use `*` as their indicator"},{value:"+",description:"Makes sure unordered list items use `+` as their indicator"}]})]}};Lr=L([k.register],Lr);var Mi=class{constructor(){this.priorityKeysAtStartOfYaml=!0;this.yamlKeyPrioritySortOrder=[];this.yamlSortOrderForOtherKeys="None"}};L([k.noSettingControl()],Mi.prototype,"dateModifiedKey",2),L([k.noSettingControl()],Mi.prototype,"currentTimeFormatted",2),L([k.noSettingControl()],Mi.prototype,"yamlTimestampDateModifiedEnabled",2);var xt=class extends k{constructor(){super({nameKey:"rules.yaml-key-sort.name",descriptionKey:"rules.yaml-key-sort.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return Mi}apply(t,i){let n=t.match(Ae);if(!n)return t;let r=n[1],a=i.priorityKeysAtStartOfYaml,s=function(T,C){return T==C?C:Le(C,i.dateModifiedKey," "+i.currentTimeFormatted)},o=function(T,C,_){let A=`${C}${T}`;return _&&(A=`${T}${C}`),i.yamlTimestampDateModifiedEnabled&&(A=s(n[1],A)),t.replace(n[1],A)},l=function(T,C){let _="";for(let A of C){let B=Ee(T,A);B!==null&&(B.includes(` -`)?_+=`${A}:${B} -`:_+=`${A}: ${B} -`,T=rt(T,A))}return{remainingYaml:T,sortedYamlKeyValues:_}},d=i.yamlKeyPrioritySortOrder,c=l(r,d),u=c.sortedYamlKeyValues;r=c.remainingYaml;let p=i.yamlSortOrderForOtherKeys,g=Je(r);if(g==null)return o(u,r,a);let h=function(T,C){return T=T.toLowerCase(),C=C.toLowerCase(),T>C?-1:C>T?1:0},y=function(T,C){return T=T.toLowerCase(),C=C.toLowerCase(),Ti?-1:i>t?1:0}get exampleBuilders(){return[new y({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language`",before:p` --- language: Typescript type: programming @@ -2126,7 +2238,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP date: 02/15/2022 --- - `,after:m` + `,after:p` --- date: 02/15/2022 type: programming @@ -2135,7 +2247,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` keywords: [] status: WIP --- - `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"None",priorityKeysAtStartOfYaml:!0}}),new v({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Ascending Alphabetical`",before:m` + `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"None",priorityKeysAtStartOfYaml:!0}}),new y({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Ascending Alphabetical`",before:p` --- language: Typescript type: programming @@ -2144,7 +2256,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP date: 02/15/2022 --- - `,after:m` + `,after:p` --- date: 02/15/2022 type: programming @@ -2153,7 +2265,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP tags: computer --- - `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Ascending Alphabetical"}}),new v({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Descending Alphabetical`",before:m` + `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Ascending Alphabetical"}}),new y({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Descending Alphabetical`",before:p` --- language: Typescript type: programming @@ -2162,7 +2274,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP date: 02/15/2022 --- - `,after:m` + `,after:p` --- date: 02/15/2022 type: programming @@ -2171,7 +2283,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP keywords: [] --- - `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Descending Alphabetical",priorityKeysAtStartOfYaml:!0}}),new v({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Descending Alphabetical` and `'Priority Keys at Start of YAML' = false`",before:m` + `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Descending Alphabetical",priorityKeysAtStartOfYaml:!0}}),new y({description:"Sorts YAML keys in order specified by `YAML Key Priority Sort Order` has a sort order of `date type language` with `'YAML Sort Order for Other Keys' = Descending Alphabetical` and `'Priority Keys at Start of YAML' = false`",before:p` --- language: Typescript type: programming @@ -2181,7 +2293,7 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` status: WIP date: 02/15/2022 --- - `,after:m` + `,after:p` --- tags: computer status: WIP @@ -2190,98 +2302,98 @@ $4`)})}get exampleBuilders(){return[new v({description:"",before:m` type: programming language: Typescript --- - `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Descending Alphabetical",priorityKeysAtStartOfYaml:!1}})]}get optionBuilders(){return[new ye({OptionsClass:Mi,nameKey:"rules.yaml-key-sort.yaml-key-priority-sort-order.name",descriptionKey:"rules.yaml-key-sort.yaml-key-priority-sort-order.description",optionsKey:"yamlKeyPrioritySortOrder"}),new G({OptionsClass:Mi,nameKey:"rules.yaml-key-sort.priority-keys-at-start-of-yaml.name",descriptionKey:"rules.yaml-key-sort.priority-keys-at-start-of-yaml.description",optionsKey:"priorityKeysAtStartOfYaml"}),new xe({OptionsClass:Mi,nameKey:"rules.yaml-key-sort.yaml-sort-order-for-other-keys.name",descriptionKey:"rules.yaml-key-sort.yaml-sort-order-for-other-keys.description",optionsKey:"yamlSortOrderForOtherKeys",records:[{value:"None",description:"No sorting other than what is in the YAML Key Priority Sort Order text area"},{value:"Ascending Alphabetical",description:"Sorts the keys based on key value from a to z"},{value:"Descending Alphabetical",description:"Sorts the keys based on key value from z to a"}]})]}};xt=L([k.register],xt);var Qe=require("obsidian");var zu=un(ku());var $e=class{constructor(){this.dateCreatedKey="date created";this.dateCreated=!0;this.forceRetentionOfCreatedValue=!1;this.format="dddd, MMMM Do YYYY, h:mm:ss a";this.dateModified=!0;this.dateModifiedKey="date modified";this.locale="en"}};L([k.noSettingControl()],$e.prototype,"alreadyModified",2),L([k.noSettingControl()],$e.prototype,"fileCreatedTime",2),L([k.noSettingControl()],$e.prototype,"fileModifiedTime",2),L([k.noSettingControl()],$e.prototype,"locale",2),L([k.noSettingControl()],$e.prototype,"currentTime",2),L([k.noSettingControl()],$e.prototype,"fileName",2);var Wi=class extends k{constructor(){super({nameKey:"rules.yaml-timestamp.name",descriptionKey:"rules.yaml-timestamp.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return $e}apply(t,i){let n=i.alreadyModified,r=bi(t);return n=n||r!==t,Te(r,a=>{if(i.dateCreated){let s=!1;[a,s]=this.handleDateCreatedValue(a,i),n=n||s}return i.dateModified&&(a=this.handleDateModifiedValue(a,n,i)),a})}handleDateCreatedValue(t,i){let n=!1,r=` + `,options:{yamlKeyPrioritySortOrder:["date","type","language"],yamlSortOrderForOtherKeys:"Descending Alphabetical",priorityKeysAtStartOfYaml:!1}})]}get optionBuilders(){return[new be({OptionsClass:qi,nameKey:"rules.yaml-key-sort.yaml-key-priority-sort-order.name",descriptionKey:"rules.yaml-key-sort.yaml-key-priority-sort-order.description",optionsKey:"yamlKeyPrioritySortOrder"}),new U({OptionsClass:qi,nameKey:"rules.yaml-key-sort.priority-keys-at-start-of-yaml.name",descriptionKey:"rules.yaml-key-sort.priority-keys-at-start-of-yaml.description",optionsKey:"priorityKeysAtStartOfYaml"}),new ne({OptionsClass:qi,nameKey:"rules.yaml-key-sort.yaml-sort-order-for-other-keys.name",descriptionKey:"rules.yaml-key-sort.yaml-sort-order-for-other-keys.description",optionsKey:"yamlSortOrderForOtherKeys",records:[{value:"None",description:"No sorting other than what is in the YAML Key Priority Sort Order text area"},{value:"Ascending Alphabetical",description:"Sorts the keys based on key value from a to z"},{value:"Descending Alphabetical",description:"Sorts the keys based on key value from z to a"}]})]}};St=T([b.register],St);var Je=require("obsidian");var Ku=gn(Pu());var $e=class{constructor(){this.dateCreatedKey="date created";this.dateCreated=!0;this.forceRetentionOfCreatedValue=!1;this.format="dddd, MMMM Do YYYY, h:mm:ss a";this.dateModified=!0;this.dateModifiedKey="date modified";this.locale="en"}};T([b.noSettingControl()],$e.prototype,"alreadyModified",2),T([b.noSettingControl()],$e.prototype,"fileCreatedTime",2),T([b.noSettingControl()],$e.prototype,"fileModifiedTime",2),T([b.noSettingControl()],$e.prototype,"locale",2),T([b.noSettingControl()],$e.prototype,"currentTime",2),T([b.noSettingControl()],$e.prototype,"fileName",2);var Wi=class extends b{constructor(){super({nameKey:"rules.yaml-timestamp.name",descriptionKey:"rules.yaml-timestamp.description",type:"YAML",hasSpecialExecutionOrder:!0})}get OptionsClass(){return $e}apply(t,i){let n=i.alreadyModified,r=bi(t);return n=n||r!==t,Te(r,a=>{if(i.dateCreated){let s=!1;[a,s]=this.handleDateCreatedValue(a,i),n=n||s}return i.dateModified&&(a=this.handleDateModifiedValue(a,n,i)),a})}handleDateCreatedValue(t,i){let n=!1,r=` ${i.dateCreatedKey}: [^ ]+ `,a=` ${i.dateCreatedKey}:[ ]* -`,s=new RegExp(a),o=new RegExp(r),l=(0,Qe.moment)(i.fileCreatedTime);l.locale(i.locale);let d=l.format(i.format),c=` +`,s=new RegExp(a),o=new RegExp(r),l=(0,Je.moment)(i.fileCreatedTime);l.locale(i.locale);let d=l.format(i.format),c=` ${i.dateCreatedKey}: ${d}`,u=o.test(t);if(!u&&s.test(t))t=t.replace(s,Ke(c)+` -`),n=!0;else if(u){if(u){let p=this.getYAMLTimestampString(t,o,i.dateCreatedKey),g=(0,Qe.moment)(p,i.format,i.locale,!0);if(g==null||!g.isValid()&&!i.forceRetentionOfCreatedValue)t=t.replace(o,Ke(c)+` -`),n=!0;else if(i.forceRetentionOfCreatedValue){let h=this.parseValueToCurrentFormatIfPossible(p,i.format,i.locale);if(h==null)throw new Error(E("logs.invalid-date-format-error").replace("{DATE}",p).replace("{FILE_NAME}",i.fileName));let y=` -${i.dateCreatedKey}: ${h.format(i.format)}`;t=t.replace(o,Ke(y)+` -`),n=!0}}}else{let p=t.indexOf(` ----`);t=Xi(t,p,` +`),n=!0;else if(u){if(u){let m=this.getYAMLTimestampString(t,o,i.dateCreatedKey),g=(0,Je.moment)(m,i.format,i.locale,!0);if(g==null||!g.isValid()&&!i.forceRetentionOfCreatedValue)t=t.replace(o,Ke(c)+` +`),n=!0;else if(i.forceRetentionOfCreatedValue){let h=this.parseValueToCurrentFormatIfPossible(m,i.format,i.locale);if(h==null)throw new Error(E("logs.invalid-date-format-error").replace("{DATE}",m).replace("{FILE_NAME}",i.fileName));let v=` +${i.dateCreatedKey}: ${h.format(i.format)}`;t=t.replace(o,Ke(v)+` +`),n=!0}}}else{let m=t.indexOf(` +---`);t=it(t,m,` ${i.dateCreatedKey}: ${d}`),n=!0}return[t,n]}handleDateModifiedValue(t,i,n){let r=` ${n.dateModifiedKey}: [^ ]+ `,a=` ${n.dateModifiedKey}:[ ]* -`,s=new RegExp(a),o=new RegExp(r),l=(0,Qe.moment)(n.fileModifiedTime);l.locale(n.locale);let d=n.currentTime.format(n.format),c=` -${n.dateModifiedKey}: ${d}`,u=o.test(t);if(u){let p=(0,Qe.moment)(t.match(o)[0].replace(n.dateModifiedKey+":","").trim(),n.format,n.locale,!0);(i||p==null||!p.isValid()||this.getTimeDifferenceInSeconds(p,l,n)>5)&&(t=t.replace(o,Ke(c)+` +`,s=new RegExp(a),o=new RegExp(r),l=(0,Je.moment)(n.fileModifiedTime);l.locale(n.locale);let d=n.currentTime.format(n.format),c=` +${n.dateModifiedKey}: ${d}`,u=o.test(t);if(u){let m=(0,Je.moment)(t.match(o)[0].replace(n.dateModifiedKey+":","").trim(),n.format,n.locale,!0);(i||m==null||!m.isValid()||this.getTimeDifferenceInSeconds(m,l,n)>5)&&(t=t.replace(o,Ke(c)+` `))}else if(s.test(t))t=t.replace(s,Ke(c)+` -`);else if(!u){let p=t.indexOf(` ----`);t=Xi(t,p,c)}return t}parseValueToCurrentFormatIfPossible(t,i,n){if(t==null)return null;let r=(0,Qe.moment)(t,i,n,!0);if(r!=null&&r.isValid())return r;let a=(0,zu.default)(t);if(a!=null){let s=(0,Qe.moment)(t,a);return s.locale(n),(0,Qe.moment)(s.format(i),i,n,!0)}return null}getYAMLTimestampString(t,i,n){return t.match(i)[0].replace(n+":","").trim()}getTimeDifferenceInSeconds(t,i,n){let r=(0,Qe.moment)(i.format(n.format),n.format,n.locale,!0);return Math.abs(t.diff(r,"seconds"))}get exampleBuilders(){return[new v({description:"Adds a header with the date.",before:m` +`);else if(!u){let m=t.indexOf(` +---`);t=it(t,m,c)}return t}parseValueToCurrentFormatIfPossible(t,i,n){if(t==null)return null;let r=(0,Je.moment)(t,i,n,!0);if(r!=null&&r.isValid())return r;let a=(0,Ku.default)(t);if(a!=null){let s=(0,Je.moment)(t,a);return s.locale(n),(0,Je.moment)(s.format(i),i,n,!0)}return null}getYAMLTimestampString(t,i,n){return t.match(i)[0].replace(n+":","").trim()}getTimeDifferenceInSeconds(t,i,n){let r=(0,Je.moment)(i.format(n.format),n.format,n.locale,!0);return Math.abs(t.diff(r,"seconds"))}get exampleBuilders(){return[new y({description:"Adds a header with the date.",before:p` # H1 - `,after:m` + `,after:p` --- date created: Wednesday, January 1st 2020, 12:00:00 am date modified: Thursday, January 2nd 2020, 12:00:05 am --- # H1 - `,options:{fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-02T00:00:00-00:00",currentTime:(0,Qe.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"dateCreated option is false",before:m` + `,options:{fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-02T00:00:00-00:00",currentTime:(0,Je.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new y({description:"dateCreated option is false",before:p` # H1 - `,after:m` + `,after:p` --- date modified: Thursday, January 2nd 2020, 12:00:05 am --- # H1 - `,options:{dateCreated:!1,fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Qe.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"Date Created Key is set",before:m` + `,options:{dateCreated:!1,fileCreatedTime:"2020-01-01T00:00:00-00:00",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Je.moment)("Thursday, January 2nd 2020, 12:00:05 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new y({description:"Date Created Key is set",before:p` # H1 - `,after:m` + `,after:p` --- created: Wednesday, January 1st 2020, 12:00:00 am --- # H1 - `,options:{dateCreated:!0,dateModified:!1,dateCreatedKey:"created",fileCreatedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Qe.moment)("Thursday, January 2nd 2020, 12:00:03 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new v({description:"Date Modified Key is set",before:m` + `,options:{dateCreated:!0,dateModified:!1,dateCreatedKey:"created",fileCreatedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Je.moment)("Thursday, January 2nd 2020, 12:00:03 am","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}}),new y({description:"Date Modified Key is set",before:p` # H1 - `,after:m` + `,after:p` --- modified: Wednesday, January 1st 2020, 4:00:00 pm --- # H1 - `,options:{dateCreated:!1,dateModified:!0,dateModifiedKey:"modified",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Qe.moment)("Wednesday, January 1st 2020, 4:00:00 pm","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}})]}get optionBuilders(){return[new G({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-created.name",descriptionKey:"rules.yaml-timestamp.date-created.description",optionsKey:"dateCreated"}),new li({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-created-key.name",descriptionKey:"rules.yaml-timestamp.date-created-key.description",optionsKey:"dateCreatedKey"}),new G({OptionsClass:$e,nameKey:"rules.yaml-timestamp.force-retention-of-create-value.name",descriptionKey:"rules.yaml-timestamp.force-retention-of-create-value.description",optionsKey:"forceRetentionOfCreatedValue"}),new G({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-modified.name",descriptionKey:"rules.yaml-timestamp.date-modified.description",optionsKey:"dateModified"}),new li({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-modified-key.name",descriptionKey:"rules.yaml-timestamp.date-modified-key.description",optionsKey:"dateModifiedKey"}),new Na({OptionsClass:$e,nameKey:"rules.yaml-timestamp.format.name",descriptionKey:"rules.yaml-timestamp.format.description",optionsKey:"format"})]}};Wi=L([k.register],Wi);var zi=class{constructor(){this.preserveExistingAliasesSectionStyle=!0;this.keepAliasThatMatchesTheFilename=!1;this.useYamlKeyToKeepTrackOfOldFilenameOrHeading=!0;this.aliasArrayStyle="multi-line";this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};L([k.noSettingControl()],zi.prototype,"aliasArrayStyle",2),L([k.noSettingControl()],zi.prototype,"fileName",2),L([k.noSettingControl()],zi.prototype,"defaultEscapeCharacter",2),L([k.noSettingControl()],zi.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var Er=class extends k{constructor(){super({nameKey:"rules.yaml-title-alias.name",descriptionKey:"rules.yaml-title-alias.description",type:"YAML"})}get OptionsClass(){return zi}apply(t,i){t=bi(t);let n=R([f.code,f.math,f.yaml,f.tag],t,La);n=n||i.fileName;let r=null,a=t.match(Ae)[1],s=!i.keepAliasThatMatchesTheFilename&&n===i.fileName;i.useYamlKeyToKeepTrackOfOldFilenameOrHeading&&(r=Je(Ee(a,In)));let o=a.replace(`--- + `,options:{dateCreated:!1,dateModified:!0,dateModifiedKey:"modified",fileModifiedTime:"2020-01-01T00:00:00-00:00",currentTime:(0,Je.moment)("Wednesday, January 1st 2020, 4:00:00 pm","dddd, MMMM Do YYYY, h:mm:ss a"),alreadyModified:!1}})]}get optionBuilders(){return[new U({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-created.name",descriptionKey:"rules.yaml-timestamp.date-created.description",optionsKey:"dateCreated"}),new Ve({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-created-key.name",descriptionKey:"rules.yaml-timestamp.date-created-key.description",optionsKey:"dateCreatedKey"}),new U({OptionsClass:$e,nameKey:"rules.yaml-timestamp.force-retention-of-create-value.name",descriptionKey:"rules.yaml-timestamp.force-retention-of-create-value.description",optionsKey:"forceRetentionOfCreatedValue"}),new U({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-modified.name",descriptionKey:"rules.yaml-timestamp.date-modified.description",optionsKey:"dateModified"}),new Ve({OptionsClass:$e,nameKey:"rules.yaml-timestamp.date-modified-key.name",descriptionKey:"rules.yaml-timestamp.date-modified-key.description",optionsKey:"dateModifiedKey"}),new Ga({OptionsClass:$e,nameKey:"rules.yaml-timestamp.format.name",descriptionKey:"rules.yaml-timestamp.format.description",optionsKey:"format"})]}};Wi=T([b.register],Wi);var zi=class{constructor(){this.preserveExistingAliasesSectionStyle=!0;this.keepAliasThatMatchesTheFilename=!1;this.useYamlKeyToKeepTrackOfOldFilenameOrHeading=!0;this.aliasArrayStyle="multi-line";this.defaultEscapeCharacter='"';this.removeUnnecessaryEscapeCharsForMultiLineArrays=!1}};T([b.noSettingControl()],zi.prototype,"aliasArrayStyle",2),T([b.noSettingControl()],zi.prototype,"fileName",2),T([b.noSettingControl()],zi.prototype,"defaultEscapeCharacter",2),T([b.noSettingControl()],zi.prototype,"removeUnnecessaryEscapeCharsForMultiLineArrays",2);var Br=class extends b{constructor(){super({nameKey:"rules.yaml-title-alias.name",descriptionKey:"rules.yaml-title-alias.description",type:"YAML"})}get OptionsClass(){return zi}apply(t,i){t=bi(t);let n=qe([f.code,f.math,f.yaml,f.tag],t,Fa);n=n||i.fileName;let r=null,a=t.match(Se)[1],s=!i.keepAliasThatMatchesTheFilename&&n===i.fileName;i.useYamlKeyToKeepTrackOfOldFilenameOrHeading&&(r=Xe(Ee(a,Rn)));let o=a.replace(`--- `,"").replace(` ----`,""),l=Je(a);r=Je(Ee(a,In)),n=xi(n,i.defaultEscapeCharacter);let d=function(p,g){if(p==null)return g?"":n;if(typeof p=="string")g?p===n&&(p=""):r===p?p=n:p=[n,p];else if(r!==null){let h=p.indexOf(r);h!==-1&&(g?p.splice(h,1):p[h]=n)}else{let h=p.indexOf(n);h!==-1?g&&p.splice(h,1):g||(p=[n,...p])}return p===""||p.length===0?"":p},c=null,u=Object.keys(l);for(let p of qn)if(u.includes(p)){c=p;break}if(c!=null){let p=Ee(o,c),g="multi-line",h=p==="",y=!1;p.includes(` -`)||(p.match(/^\[.*\]/)===null?(g="single string to single-line",y=!0):g="single-line");let w=Ca(vi(p)),b=d(w,s);b===""?o=rt(o,c):i.preserveExistingAliasesSectionStyle?!h&&(y&&n==b||!y||w==b)?o=Le(o,c,Ge(b,g,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)):o=Le(o,c,Ge(b,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)):o=Le(o,c,Ge(b,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays))}else s||(o=Le(o,Oo,Ge(n,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));return!i.useYamlKeyToKeepTrackOfOldFilenameOrHeading||s?o=rt(o,In):o=Le(o,In,` ${n}`),t=t.replace(`--- +---`,""),l=Xe(a);r=Xe(Ee(a,Rn));let d=n.includes(",")&&(i.aliasArrayStyle==="single-line"||i.aliasArrayStyle==="single string to single-line"||i.aliasArrayStyle==="single string comma delimited");n=xi(n,i.defaultEscapeCharacter,d);let c=function(g,h){if(g==null)return h?"":n;if(typeof g=="string")h?g===n&&(g=""):r===g?g=n:g=[n,g];else if(r!==null){let v=g.indexOf(r);v!==-1&&(h?g.splice(v,1):g[v]=n)}else{let v=g.indexOf(n);v!==-1?h&&g.splice(v,1):h||(g=[n,...g])}return g===""||g.length===0?"":g},u=null,m=Object.keys(l);for(let g of Fn)if(m.includes(g)){u=g;break}if(u!=null){let g=Ee(o,u),h="multi-line",v=g==="",w=!1;g.includes(` +`)||(g.match(/^\[.*\]/)===null?(h="single string to single-line",w=!0):h="single-line");let z=Na(vi(g)),S=c(z,s);S===""?o=st(o,u):i.preserveExistingAliasesSectionStyle?!v&&(w&&n==S||!w||z==S)?o=Ae(o,u,Qe(S,h,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)):o=Ae(o,u,Qe(S,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)):o=Ae(o,u,Qe(S,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays))}else s||(o=Ae(o,No,Qe(n,i.aliasArrayStyle,i.defaultEscapeCharacter,i.removeUnnecessaryEscapeCharsForMultiLineArrays)));return!i.useYamlKeyToKeepTrackOfOldFilenameOrHeading||s?o=st(o,Rn):o=Ae(o,Rn,` ${n}`),t=t.replace(`--- ${a}--- `,`--- ${o}--- -`),t}get exampleBuilders(){return[new v({description:"Adds a header with the title from heading.",before:m` +`),t}get exampleBuilders(){return[new y({description:"Adds a header with the title from heading.",before:p` # Obsidian - `,after:m` + `,after:p` --- aliases: - Obsidian linter-yaml-title-alias: Obsidian --- # Obsidian - `}),new v({description:"Adds a header with the title from heading without YAML key when the use of the YAML key is set to false.",before:m` + `}),new y({description:"Adds a header with the title from heading without YAML key when the use of the YAML key is set to false.",before:p` # Obsidian - `,after:m` + `,after:p` --- aliases: - Obsidian --- # Obsidian - `,options:{useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new v({description:"Adds a header with the title.",before:m` + `,options:{useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new y({description:"Adds a header with the title.",before:p` ${""} - `,after:m` + `,after:p` --- aliases: - Filename linter-yaml-title-alias: Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new v({description:"Adds a header with the title without YAML key when the use of the YAML key is set to false.",before:m` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new y({description:"Adds a header with the title without YAML key when the use of the YAML key is set to false.",before:p` ${""} - `,after:m` + `,after:p` --- aliases: - Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0,useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new v({description:"Replaces old filename with new filename when no header is present and filename is different than the old one listed in `linter-yaml-title-alias`.",before:m` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0,useYamlKeyToKeepTrackOfOldFilenameOrHeading:!1}}),new y({description:"Replaces old filename with new filename when no header is present and filename is different than the old one listed in `linter-yaml-title-alias`.",before:p` --- aliases: - Old Filename @@ -2289,7 +2401,7 @@ ${o}--- linter-yaml-title-alias: Old Filename --- ${""} - `,after:m` + `,after:p` --- aliases: - Filename @@ -2297,49 +2409,63 @@ ${o}--- linter-yaml-title-alias: Filename --- ${""} - `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new v({description:"Make sure that markdown and wiki links in first H1 get their values converted to text",before:m` + `,options:{fileName:"Filename",keepAliasThatMatchesTheFilename:!0}}),new y({description:"Make sure that markdown and wiki links in first H1 get their values converted to text",before:p` # This is a [Heading](markdown.md) - `,after:m` + `,after:p` --- aliases: - This is a Heading linter-yaml-title-alias: This is a Heading --- # This is a [Heading](markdown.md) - `,options:{aliasArrayStyle:"multi-line"}})]}get optionBuilders(){return[new G({OptionsClass:zi,nameKey:"rules.yaml-title-alias.preserve-existing-alias-section-style.name",descriptionKey:"rules.yaml-title-alias.preserve-existing-alias-section-style.description",optionsKey:"preserveExistingAliasesSectionStyle"}),new G({OptionsClass:zi,nameKey:"rules.yaml-title-alias.keep-alias-that-matches-the-filename.name",descriptionKey:"rules.yaml-title-alias.keep-alias-that-matches-the-filename.description",optionsKey:"keepAliasThatMatchesTheFilename"}),new G({OptionsClass:zi,nameKey:"rules.yaml-title-alias.use-yaml-key-to-keep-track-of-old-filename-or-heading.name",descriptionKey:"rules.yaml-title-alias.use-yaml-key-to-keep-track-of-old-filename-or-heading.description",optionsKey:"useYamlKeyToKeepTrackOfOldFilenameOrHeading"})]}};Er=L([k.register],Er);var Ut=class{constructor(){this.defaultEscapeCharacter='"';this.titleKey="title"}};L([k.noSettingControl()],Ut.prototype,"fileName",2),L([k.noSettingControl()],Ut.prototype,"defaultEscapeCharacter",2);var Or=class extends k{constructor(){super({nameKey:"rules.yaml-title.name",descriptionKey:"rules.yaml-title.description",type:"YAML"})}get OptionsClass(){return Ut}apply(t,i){t=bi(t);let n=R([f.code,f.math,f.yaml,f.tag],t,La);return n=n||i.fileName,n=xi(n,i.defaultEscapeCharacter),Te(t,r=>{let a=` + `,options:{aliasArrayStyle:"multi-line"}})]}get optionBuilders(){return[new U({OptionsClass:zi,nameKey:"rules.yaml-title-alias.preserve-existing-alias-section-style.name",descriptionKey:"rules.yaml-title-alias.preserve-existing-alias-section-style.description",optionsKey:"preserveExistingAliasesSectionStyle"}),new U({OptionsClass:zi,nameKey:"rules.yaml-title-alias.keep-alias-that-matches-the-filename.name",descriptionKey:"rules.yaml-title-alias.keep-alias-that-matches-the-filename.description",optionsKey:"keepAliasThatMatchesTheFilename"}),new U({OptionsClass:zi,nameKey:"rules.yaml-title-alias.use-yaml-key-to-keep-track-of-old-filename-or-heading.name",descriptionKey:"rules.yaml-title-alias.use-yaml-key-to-keep-track-of-old-filename-or-heading.description",optionsKey:"useYamlKeyToKeepTrackOfOldFilenameOrHeading"})]}};Br=T([b.register],Br);var Tt=class{constructor(){this.defaultEscapeCharacter='"';this.titleKey="title";this.mode="first-h1-or-filename-if-h1-missing"}};T([b.noSettingControl()],Tt.prototype,"fileName",2),T([b.noSettingControl()],Tt.prototype,"defaultEscapeCharacter",2);var Fr=class extends b{constructor(){super({nameKey:"rules.yaml-title.name",descriptionKey:"rules.yaml-title.description",type:"YAML"})}get OptionsClass(){return Tt}apply(t,i){t=bi(t);let n="";switch(i.mode){case"filename":n=i.fileName;break;case"first-h1":n=this.getFirstH1Header(t);break;default:n=this.getFirstH1Header(t),n=n||i.fileName}return n=xi(n,i.defaultEscapeCharacter),Te(t,r=>{let a=` ${i.titleKey}.* `,s=new RegExp(a);if(s.test(r))r=r.replace(s,Ke(` ${i.titleKey}: ${n} `));else{let o=r.indexOf(` ----`);r=Xi(r,o,` -${i.titleKey}: ${n}`)}return r})}get exampleBuilders(){return[new v({description:"Adds a header with the title from heading.",before:m` +---`);r=it(r,o,` +${i.titleKey}: ${n}`)}return r})}getFirstH1Header(t){return qe([f.code,f.math,f.yaml,f.tag],t,Fa)}get exampleBuilders(){return[new y({description:"Adds a header with the title from heading when `mode = 'First H1 or Filename if H1 Missing'`.",before:p` # Obsidian - `,after:m` + `,after:p` --- title: Obsidian --- # Obsidian - `,options:{fileName:"Filename"}}),new v({description:"Adds a header with the title.",before:m` + `,options:{fileName:"Filename"}}),new y({description:"Adds a header with the title when `mode = 'First H1 or Filename if H1 Missing'`.",before:p` ${""} - `,after:m` + `,after:p` --- title: Filename --- ${""} - `,options:{fileName:"Filename"}}),new v({description:"Make sure that markdown links in headings are properly copied to the yaml as just the text",before:m` + `,options:{fileName:"Filename"}}),new y({description:"Make sure that markdown links in headings are properly copied to the YAML as just the text when `mode = 'First H1 or Filename if H1 Missing'`",before:p` # This is a [Heading](test heading.md) - `,after:m` + `,after:p` --- title: This is a Heading --- # This is a [Heading](test heading.md) - `})]}get optionBuilders(){return[new li({OptionsClass:Ut,nameKey:"rules.yaml-title.title-key.name",descriptionKey:"rules.yaml-title.title-key.description",optionsKey:"titleKey"})]}};Or=L([k.register],Or);var av=` + `}),new y({description:"When `mode = 'First H1'`, title does not have a value if no H1 is present",before:p` + ## This is a Heading + `,after:p` + --- + title: "" + --- + ## This is a Heading + `,options:{mode:"first-h1",fileName:"Filename"}}),new y({description:"When `mode = 'Filename'`, title uses the filename ignoring all H1s. Note: the filename is \"Filename\" in this example.",before:p` + # This is a Heading + `,after:p` + --- + title: Filename + --- + # This is a Heading + `,options:{mode:"filename",fileName:"Filename"}})]}get optionBuilders(){return[new Ve({OptionsClass:Tt,nameKey:"rules.yaml-title.title-key.name",descriptionKey:"rules.yaml-title.title-key.description",optionsKey:"titleKey"}),new ne({OptionsClass:Tt,nameKey:"rules.yaml-title.mode.name",descriptionKey:"rules.yaml-title.mode.description",optionsKey:"mode",records:[{value:"first-h1-or-filename-if-h1-missing",description:"Uses the first H1 in the file or the filename of the file if there is not H1"},{value:"filename",description:"Uses the filename as the title"},{value:"first-h1",description:"Uses the first H1 in the file as the title"}]})]}};Fr=T([b.register],Fr);var Ov=` -`,sv=` +`,Cv=` @@ -2347,7 +2473,7 @@ ${i.titleKey}: ${n}`)}return r})}get exampleBuilders(){return[new v({description -`,ov=` +`,qv=` @@ -2360,44 +2486,44 @@ ${i.titleKey}: ${n}`)}return r})}get exampleBuilders(){return[new v({description -`,lv=` +`,Mv=` -`,cv=` +`,Iv=` -`,dv=` +`,_v=` -`,uv=` +`,Bv=` -`,pv=` +`,Fv=` -`,mv=` +`,Rv=` -`,gv=` +`,Dv=` -`,hv=` +`,Nv=` -`,fv=` +`,jv=` -`,yv=` +`,Pv=` -`,we={folder:{id:"lint-folder",source:sv},file:{id:"lint-file",source:av},vault:{id:"lint-vault",source:ov},whitespace:{id:"lint-whitespace",source:lv},math:{id:"lint-math",source:cv},content:{id:"lint-content",source:dv},paste:{id:"lint-paste",source:uv},custom:{id:"lint-custom",source:pv},heading:{id:"lint-heading",source:mv},footer:{id:"lint-footer",source:gv},yaml:{id:"lint-yaml",source:hv},general:{id:"lint-general",source:fv},debug:{id:"lint-debug",source:yv}};var Gt=require("obsidian");var ls=class{constructor(){this.disabledRules=[]}lintText(t){Bt(E("logs.rule-running"));let i=t.oldText;this.disabledRules=lu(i);let n=E("logs.pre-rules");Bt(n);let r=this.runBeforeRegularRules(t);Ft(n);let a=E("logs.disabled-text");for(let o of Ki){if(this.disabledRules.includes(o.alias)){fi(o.alias+" "+a);continue}else if(o.hasSpecialExecutionOrder||o.type==="Paste")continue;Bt(o.alias),[r]=oi.applyIfEnabledBase(o,r,t.settings,{fileCreatedTime:t.fileInfo.createdAtFormatted,fileModifiedTime:t.fileInfo.modifiedAtFormatted,fileName:t.fileInfo.name,locale:t.momentLocale,minimumNumberOfDollarSignsToBeAMathBlock:t.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock,aliasArrayStyle:t.settings.commonStyles.aliasArrayStyle,tagArrayStyle:t.settings.commonStyles.tagArrayStyle,defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter,removeUnnecessaryEscapeCharsForMultiLineArrays:t.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays}),Ft(o.alias)}let s=E("logs.custom-regex");return Bt(s),r=this.runCustomRegexReplacement(t.settings.customRegexes,r),Ft(s),t.oldText=r,this.runAfterRegularRules(i,t)}runBeforeRegularRules(t){let i=t.oldText;return[i]=ut.applyIfEnabled(i,t.settings,this.disabledRules),[i]=ct.applyIfEnabled(i,t.settings,this.disabledRules,{defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter}),i}runAfterRegularRules(t,i){let n=i.oldText,r=E("logs.post-rules");Bt(r),[n]=lt.applyIfEnabled(n,i.settings,this.disabledRules),[n]=dt.applyIfEnabled(n,i.settings,this.disabledRules,{defaultEscapeCharacter:i.settings.commonStyles.escapeCharacter});let a=i.getCurrentTime(),s;[n,s]=Wi.applyIfEnabled(n,i.settings,this.disabledRules,{fileCreatedTime:i.fileInfo.createdAtFormatted,fileModifiedTime:i.fileInfo.modifiedAtFormatted,currentTime:a,alreadyModified:t!=n,locale:i.momentLocale});let o=Wi.getRuleOptions(i.settings);return a=i.getCurrentTime(),[n]=xt.applyIfEnabled(n,i.settings,this.disabledRules,{currentTimeFormatted:a.format(o.format),yamlTimestampDateModifiedEnabled:s&&o.dateModified,dateModifiedKey:o.dateModifiedKey}),Ft(r),Ft(E("logs.rule-running")),n}runCustomCommands(t,i){fi(E("logs.running-custom-lint-command"));let n=new Set;for(let r of t){if(r.id){if(n.has(r.id)){Ji(E("logs.custom-lint-duplicate-warning").replace("{COMMAND_NAME}",r.name));continue}}else continue;try{n.add(r.id),i.executeCommandById(r.id)}catch(a){Da(a,`${E("logs.custom-lint-error-message")} ${r.id}`)}}}runCustomRegexReplacement(t,i){fi(E("logs.running-custom-regex"));let n=i;for(let r of t){if(r.find==null||r.replace===void 0||r.replace===null)continue;let a=new RegExp(`${r.find}`,r.flags);n=n.replace(a,Wc(r.replace))}return n}runPasteLint(t,i){let n=i.oldText;return[n]=ht.applyIfEnabled(n,i.settings,[]),[n]=bt.applyIfEnabled(n,i.settings,[]),[n]=yt.applyIfEnabled(n,i.settings,[]),[n]=gt.applyIfEnabled(n,i.settings,[]),[n]=ft.applyIfEnabled(n,i.settings,[]),[n]=pt.applyIfEnabled(n,i.settings,[],{lineContent:t}),[n]=mt.applyIfEnabled(n,i.settings,[],{lineContent:t}),[n]=st.applyIfEnabled(n,i.settings,[],{lineContent:t}),n}};function Cr(e,t=null,i,n){let r=t?(0,Gt.moment)(t.stat.ctime):(0,Gt.moment)();r.locale(i);let a=t?(0,Gt.moment)(t.stat.mtime):(0,Gt.moment)();a.locale(i);let s=a.format(),o=r.format();return{oldText:e,fileInfo:{name:t?t.basename:"",createdAtFormatted:o,modifiedAtFormatted:s},settings:n,momentLocale:i,getCurrentTime:()=>{let l=(0,Gt.moment)();return l.locale(i),l}}}var cs=require("obsidian");var Mr=class extends cs.Modal{constructor(t,i,n,r,a){super(t),this.modalEl.addClass("confirm-modal"),this.contentEl.createEl("h3",{text:E("warning-text")}).style.textAlign="center",this.contentEl.createEl("p",{text:i+" "+E("file-backup-text")}).id="confirm-dialog",this.contentEl.createDiv("modal-button-container",s=>{s.createEl("button",{text:"Cancel"}).addEventListener("click",()=>this.close());let o=s.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:n});o.addEventListener("click",async l=>{new cs.Notice(r),this.close(),await a()}),setTimeout(()=>{o.focus()},50)})}};var nn=require("obsidian");var Su=require("obsidian");var bv={General:we.general.id,Custom:we.custom.id,YAML:we.yaml.id,Heading:we.heading.id,Footnote:we.footer.id,Content:we.content.id,Spacing:we.whitespace.id,Paste:we.paste.id,Debug:we.debug.id},vv={General:"tabs.names.general",Custom:"tabs.names.custom",YAML:"tabs.names.yaml",Heading:"tabs.names.heading",Footnote:"tabs.names.footnote",Content:"tabs.names.content",Spacing:"tabs.names.spacing",Paste:"tabs.names.paste",Debug:"tabs.names.debug"},Si=class{constructor(t,i,n,r,a){this.name=n;this.isMobile=r;this.plugin=a;this.searchSettingInfo=[];this.navButton=t.createDiv("linter-navigation-item");let s="linter-desktop";r&&(s="linter-mobile"),this.navButton.addClass(s),(0,Su.setIcon)(this.navButton.createSpan({cls:"linter-navigation-item-icon"}),bv[n],20);let o=E(vv[n]);this.navButton.createSpan().setText(o),this.contentEl=i.createDiv("linter-tab-settings"),this.contentEl.id=n.toLowerCase().replace(" ","-"),this.headingEl=this.contentEl.createEl("h2",{text:o}),Xe(this.headingEl)}addSettingSearchInfo(t,i="",n="",r=null,a=null){this.searchSettingInfo.push({containerEl:t,name:i.toLowerCase(),description:n.toLowerCase(),options:r,alias:a})}updateTabDisplayMode(t,i="the status is still the same"){switch(t?(this.navButton.addClass("linter-navigation-item-selected"),ki(this.contentEl)):(this.navButton.removeClass("linter-navigation-item-selected"),Xe(this.contentEl)),i){case"entering search mode by focusing on the search input box":ki(this.contentEl),ki(this.headingEl);for(let n of this.searchSettingInfo)ki(n.containerEl);break;case"leaving search mode by selecting a tab":Xe(this.headingEl);for(let n of this.searchSettingInfo)ki(n.containerEl);break}}};var Ai=require("obsidian"),Au=require("obsidian");var ds=class extends Si{constructor(t,i,n,r){super(t,i,"General",n,r),this.display()}display(){let t=this.contentEl.createDiv(),i=E("tabs.general.lint-on-save.name"),n=E("tabs.general.lint-on-save.description"),r=new Ai.Setting(t).setName(i).addToggle(d=>{d.setValue(this.plugin.settings.lintOnSave).onChange(async c=>{this.plugin.settings.lintOnSave=c,await this.plugin.saveSettings()})});wi(n,r.descEl),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.display-message.name"),n=E("tabs.general.display-message.description"),new Ai.Setting(t).setName(i).setDesc(n).addToggle(d=>{d.setValue(this.plugin.settings.displayChanged).onChange(async c=>{this.plugin.settings.displayChanged=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.folders-to-ignore.name"),n=E("tabs.general.folders-to-ignore.description"),new Ai.Setting(t).setName(i).setDesc(n).addTextArea(d=>{d.setValue(this.plugin.settings.foldersToIgnore.join(` +`,we={folder:{id:"lint-folder",source:Cv},file:{id:"lint-file",source:Ov},vault:{id:"lint-vault",source:qv},whitespace:{id:"lint-whitespace",source:Mv},math:{id:"lint-math",source:Iv},content:{id:"lint-content",source:_v},paste:{id:"lint-paste",source:Bv},custom:{id:"lint-custom",source:Fv},heading:{id:"lint-heading",source:Rv},footer:{id:"lint-footer",source:Dv},yaml:{id:"lint-yaml",source:Nv},general:{id:"lint-general",source:jv},debug:{id:"lint-debug",source:Pv}};var Xt=require("obsidian");var bs=class{constructor(){this.disabledRules=[]}lintText(t){jt(E("logs.rule-running"));let i=t.oldText;this.disabledRules=Lu(i);let n=E("logs.pre-rules");jt(n);let r=this.runBeforeRegularRules(t);Pt(n);let a=E("logs.disabled-text");for(let o of Ki){if(this.disabledRules.includes(o.alias)){fi(o.alias+" "+a);continue}else if(o.hasSpecialExecutionOrder||o.type==="Paste")continue;jt(o.alias),[r]=li.applyIfEnabledBase(o,r,t.settings,{fileCreatedTime:t.fileInfo.createdAtFormatted,fileModifiedTime:t.fileInfo.modifiedAtFormatted,fileName:t.fileInfo.name,locale:t.momentLocale,minimumNumberOfDollarSignsToBeAMathBlock:t.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock,aliasArrayStyle:t.settings.commonStyles.aliasArrayStyle,tagArrayStyle:t.settings.commonStyles.tagArrayStyle,defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter,removeUnnecessaryEscapeCharsForMultiLineArrays:t.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays}),Pt(o.alias)}let s=E("logs.custom-regex");return jt(s),r=this.runCustomRegexReplacement(t.settings.customRegexes,r),Pt(s),t.oldText=r,this.runAfterRegularRules(i,t)}runBeforeRegularRules(t){let i=t.oldText;return[i]=gt.applyIfEnabled(i,t.settings,this.disabledRules),[i]=pt.applyIfEnabled(i,t.settings,this.disabledRules,{defaultEscapeCharacter:t.settings.commonStyles.escapeCharacter}),i}runAfterRegularRules(t,i){let n=i.oldText,r=E("logs.post-rules");jt(r),[n]=ut.applyIfEnabled(n,i.settings,this.disabledRules),[n]=lt.applyIfEnabled(n,i.settings,this.disabledRules),[n]=mt.applyIfEnabled(n,i.settings,this.disabledRules,{defaultEscapeCharacter:i.settings.commonStyles.escapeCharacter});let a=i.getCurrentTime(),s;[n,s]=Wi.applyIfEnabled(n,i.settings,this.disabledRules,{fileCreatedTime:i.fileInfo.createdAtFormatted,fileModifiedTime:i.fileInfo.modifiedAtFormatted,currentTime:a,alreadyModified:t!=n,locale:i.momentLocale});let o=Wi.getRuleOptions(i.settings);return a=i.getCurrentTime(),[n]=St.applyIfEnabled(n,i.settings,this.disabledRules,{currentTimeFormatted:a.format(o.format),yamlTimestampDateModifiedEnabled:s&&o.dateModified,dateModifiedKey:o.dateModifiedKey}),Pt(r),Pt(E("logs.rule-running")),n}runCustomCommands(t,i){fi(E("logs.running-custom-lint-command"));let n=new Set;for(let r of t){if(r.id){if(n.has(r.id)){et(E("logs.custom-lint-duplicate-warning").replace("{COMMAND_NAME}",r.name));continue}}else continue;try{n.add(r.id),i.executeCommandById(r.id)}catch(a){Va(a,`${E("logs.custom-lint-error-message")} ${r.id}`)}}}runCustomRegexReplacement(t,i){fi(E("logs.running-custom-regex"));let n=i;for(let r of t){if(r.find==null||r.replace===void 0||r.replace===null)continue;let a=new RegExp(`${r.find}`,r.flags);n=n.replace(a,td(r.replace))}return n}runPasteLint(t,i){let n=i.oldText;return[n]=vt.applyIfEnabled(n,i.settings,[]),[n]=kt.applyIfEnabled(n,i.settings,[]),[n]=wt.applyIfEnabled(n,i.settings,[]),[n]=yt.applyIfEnabled(n,i.settings,[]),[n]=xt.applyIfEnabled(n,i.settings,[]),[n]=ht.applyIfEnabled(n,i.settings,[],{lineContent:t}),[n]=ft.applyIfEnabled(n,i.settings,[],{lineContent:t}),[n]=ct.applyIfEnabled(n,i.settings,[],{lineContent:t}),n}};function Rr(e,t=null,i,n){let r=t?(0,Xt.moment)(t.stat.ctime):(0,Xt.moment)();r.locale(i);let a=t?(0,Xt.moment)(t.stat.mtime):(0,Xt.moment)();a.locale(i);let s=a.format(),o=r.format();return{oldText:e,fileInfo:{name:t?t.basename:"",createdAtFormatted:o,modifiedAtFormatted:s},settings:n,momentLocale:i,getCurrentTime:()=>{let l=(0,Xt.moment)();return l.locale(i),l}}}var vs=require("obsidian");var Dr=class extends vs.Modal{constructor(t,i,n,r,a){super(t),this.modalEl.addClass("confirm-modal"),this.contentEl.createEl("h3",{text:E("warning-text")}).style.textAlign="center",this.contentEl.createEl("p",{text:i+" "+E("file-backup-text")}).id="confirm-dialog",this.contentEl.createDiv("modal-button-container",s=>{s.createEl("button",{text:"Cancel"}).addEventListener("click",()=>this.close());let o=s.createEl("button",{attr:{type:"submit"},cls:"mod-cta",text:n});o.addEventListener("click",async l=>{new vs.Notice(r),this.close(),await a()}),setTimeout(()=>{o.focus()},50)})}};var Gi=require("obsidian");var $u=require("obsidian");var Kv={General:we.general.id,Custom:we.custom.id,YAML:we.yaml.id,Heading:we.heading.id,Footnote:we.footer.id,Content:we.content.id,Spacing:we.whitespace.id,Paste:we.paste.id,Debug:we.debug.id},$v={General:"tabs.names.general",Custom:"tabs.names.custom",YAML:"tabs.names.yaml",Heading:"tabs.names.heading",Footnote:"tabs.names.footnote",Content:"tabs.names.content",Spacing:"tabs.names.spacing",Paste:"tabs.names.paste",Debug:"tabs.names.debug"},Si=class{constructor(t,i,n,r,a){this.name=n;this.isMobile=r;this.plugin=a;this.searchSettingInfo=[];this.navButton=t.createDiv("linter-navigation-item");let s="linter-desktop";r&&(s="linter-mobile"),this.navButton.addClass(s),(0,$u.setIcon)(this.navButton.createSpan({cls:"linter-navigation-item-icon"}),Kv[n]);let o=E($v[n]);this.navButton.createSpan().setText(o),this.contentEl=i.createDiv("linter-tab-settings"),this.contentEl.id=n.toLowerCase().replace(" ","-"),this.headingEl=this.contentEl.createEl("h2",{text:o}),ei(this.headingEl)}addSettingSearchInfo(t,i="",n="",r=null,a=null){this.searchSettingInfo.push({containerEl:t,name:i.toLowerCase(),description:n.toLowerCase(),options:r,alias:a})}updateTabDisplayMode(t,i="the status is still the same"){switch(t?(this.navButton.addClass("linter-navigation-item-selected"),ki(this.contentEl)):(this.navButton.removeClass("linter-navigation-item-selected"),ei(this.contentEl)),i){case"entering search mode by focusing on the search input box":ki(this.contentEl),ki(this.headingEl);for(let n of this.searchSettingInfo)ki(n.containerEl);break;case"leaving search mode by selecting a tab":ei(this.headingEl);for(let n of this.searchSettingInfo)ki(n.containerEl);break}}};var Ti=require("obsidian"),Hu=require("obsidian");var xs=class extends Si{constructor(t,i,n,r){super(t,i,"General",n,r),this.display()}display(){let t=this.contentEl.createDiv(),i=E("tabs.general.lint-on-save.name"),n=E("tabs.general.lint-on-save.description"),r=new Ti.Setting(t).setName(i).addToggle(d=>{d.setValue(this.plugin.settings.lintOnSave).onChange(async c=>{this.plugin.settings.lintOnSave=c,await this.plugin.saveSettings()})});wi(n,r.descEl,this.plugin.settingsTab.component),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.display-message.name"),n=E("tabs.general.display-message.description"),new Ti.Setting(t).setName(i).setDesc(n).addToggle(d=>{d.setValue(this.plugin.settings.displayChanged).onChange(async c=>{this.plugin.settings.displayChanged=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.folders-to-ignore.name"),n=E("tabs.general.folders-to-ignore.description"),new Ti.Setting(t).setName(i).setDesc(n).addTextArea(d=>{d.setValue(this.plugin.settings.foldersToIgnore.join(` `)).onChange(async c=>{this.plugin.settings.foldersToIgnore=c.split(` -`),await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let a=navigator.language?.toLowerCase();t=this.contentEl.createDiv(),i=E("tabs.general.override-locale.name"),n=E("tabs.general.override-locale.description"),new Ai.Setting(t).setName(i).setDesc(n).addDropdown(d=>{d.addOption("system-default",E("tabs.general.same-as-system-locale").replace("{SYS_LOCALE}",a)),Au.moment.locales().forEach(c=>{d.addOption(c,c)}),d.setValue(this.plugin.settings.linterLocale),d.onChange(async c=>{this.plugin.settings.linterLocale=c,await this.plugin.setOrUpdateMomentInstance(),await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let s=["multi-line","single-line","single string comma delimited","single string to single-line","single string to multi-line"];t=this.contentEl.createDiv(),i=E("tabs.general.yaml-aliases-section-style.name"),n=E("tabs.general.yaml-aliases-section-style.description"),new Ai.Setting(t).setName(i).setDesc(n).addDropdown(d=>{s.forEach(c=>{let u="enums."+c;d.addOption(c,E(u))}),d.setValue(this.plugin.settings.commonStyles.aliasArrayStyle),d.onChange(async c=>{this.plugin.settings.commonStyles.aliasArrayStyle=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let o=["multi-line","single-line","single string to single-line","single string to multi-line","single-line space delimited","single string space delimited","single string comma delimited"];t=this.contentEl.createDiv(),i=E("tabs.general.yaml-tags-section-style.name"),n=E("tabs.general.yaml-tags-section-style.description"),new Ai.Setting(t).setName(i).setDesc(n).addDropdown(d=>{o.forEach(c=>{let u="enums."+c;d.addOption(c,E(u))}),d.setValue(this.plugin.settings.commonStyles.tagArrayStyle),d.onChange(async c=>{this.plugin.settings.commonStyles.tagArrayStyle=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let l=['"',"'"];t=this.contentEl.createDiv(),i=E("tabs.general.default-escape-character.name"),n=E("tabs.general.default-escape-character.description"),new Ai.Setting(t).setName(i).setDesc(n).addDropdown(d=>{l.forEach(c=>{d.addOption(c,c)}),d.setValue(this.plugin.settings.commonStyles.escapeCharacter),d.onChange(async c=>{this.plugin.settings.commonStyles.escapeCharacter=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.remove-unnecessary-escape-chars-in-multi-line-arrays.name"),n=E("tabs.general.remove-unnecessary-escape-chars-in-multi-line-arrays.description"),new Ai.Setting(t).setName(i).setDesc(n).addToggle(d=>{d.setValue(this.plugin.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays).onChange(async c=>{this.plugin.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.number-of-dollar-signs-to-indicate-math-block.name"),n=E("tabs.general.number-of-dollar-signs-to-indicate-math-block.description"),new Ai.Setting(t).setName(i).setDesc(n).addText(d=>{d.setValue(this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock.toString()).onChange(async c=>{let u=parseInt(c);isNaN(u)&&(u=2),this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock=u,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n)}};var us=class extends Si{constructor(i,n,r,a,s,o){super(i,n,r,s,o);this.rules=a;this.display()}display(){for(let i of this.rules){let n=this.contentEl.createDiv();n.id=i.alias,n.createEl(this.isMobile?"h4":"h3",{},a=>{a.innerHTML=`${i.getName()}`});let r=[];for(let a of i.options)a.display(n,this.plugin.settings,this.plugin),r.push(a.getSearchInfo());this.addSettingSearchInfo(n,i.getName().toLowerCase(),i.getDescription().toLowerCase(),r,n.id)}}};var Gu=require("obsidian");var Tu=require("obsidian");var Zt=class{constructor(t,i,n,r,a,s,o,l){this.containerEl=t;this.name=i;this.description=n;this.warning=r;this.addInputBtnText=a;this.isMobile=s;this.saveSettings=o;this.onAddInput=l}display(){this.containerEl.createEl(this.isMobile?"h4":"h3",{text:this.name}),wi(this.description,this.containerEl),this.warning!=null&&this.containerEl.createEl("p",{text:this.warning,cls:"mod-warning"}),new Tu.Setting(this.containerEl).addButton(t=>{t.setButtonText(this.addInputBtnText).setCta().onClick(()=>this.onAddInput())}),this.inputElDiv=this.containerEl.createDiv(),this.showInputEls()}resetInputEls(){this.inputElDiv.empty(),this.showInputEls()}};var Uu=require("obsidian");var pe="top",ke="bottom",be="right",ge="left",ps="auto",Vi=[pe,ke,be,ge],qi="start",wt="end",Lu="clippingParents",ms="viewport",Qt="popper",Eu="reference",dl=Vi.reduce(function(e,t){return e.concat([t+"-"+qi,t+"-"+wt])},[]),gs=[].concat(Vi,[ps]).reduce(function(e,t){return e.concat([t,t+"-"+qi,t+"-"+wt])},[]),xv="beforeRead",wv="read",kv="afterRead",zv="beforeMain",Sv="main",Av="afterMain",Tv="beforeWrite",Lv="write",Ev="afterWrite",Ou=[xv,wv,kv,zv,Sv,Av,Tv,Lv,Ev];function Oe(e){return e?(e.nodeName||"").toLowerCase():null}function le(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ii(e){var t=le(e).Element;return e instanceof t||e instanceof Element}function ze(e){var t=le(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Jt(e){if(typeof ShadowRoot>"u")return!1;var t=le(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Ov(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},a=t.elements[i];!ze(a)||!Oe(a)||(Object.assign(a.style,n),Object.keys(r).forEach(function(s){var o=r[s];o===!1?a.removeAttribute(s):a.setAttribute(s,o===!0?"":o)}))})}function Cv(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],a=t.attributes[n]||{},s=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]),o=s.reduce(function(l,d){return l[d]="",l},{});!ze(r)||!Oe(r)||(Object.assign(r.style,o),Object.keys(a).forEach(function(l){r.removeAttribute(l)}))})}}var Cu={name:"applyStyles",enabled:!0,phase:"write",fn:Ov,effect:Cv,requires:["computeStyles"]};function Ce(e){return e.split("-")[0]}var ci=Math.max,kt=Math.min,Ii=Math.round;function Xt(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function qr(){return!/^((?!chrome|android).)*safari/i.test(Xt())}function ti(e,t,i){t===void 0&&(t=!1),i===void 0&&(i=!1);var n=e.getBoundingClientRect(),r=1,a=1;t&&ze(e)&&(r=e.offsetWidth>0&&Ii(n.width)/e.offsetWidth||1,a=e.offsetHeight>0&&Ii(n.height)/e.offsetHeight||1);var s=ii(e)?le(e):window,o=s.visualViewport,l=!qr()&&i,d=(n.left+(l&&o?o.offsetLeft:0))/r,c=(n.top+(l&&o?o.offsetTop:0))/a,u=n.width/r,p=n.height/a;return{width:u,height:p,top:c,right:d+u,bottom:c+p,left:d,x:d,y:c}}function zt(e){var t=ti(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}function Ir(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Jt(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function He(e){return le(e).getComputedStyle(e)}function ul(e){return["table","td","th"].indexOf(Oe(e))>=0}function qe(e){return((ii(e)?e.ownerDocument:e.document)||window.document).documentElement}function _i(e){return Oe(e)==="html"?e:e.assignedSlot||e.parentNode||(Jt(e)?e.host:null)||qe(e)}function Mu(e){return!ze(e)||He(e).position==="fixed"?null:e.offsetParent}function Mv(e){var t=/firefox/i.test(Xt()),i=/Trident/i.test(Xt());if(i&&ze(e)){var n=He(e);if(n.position==="fixed")return null}var r=_i(e);for(Jt(r)&&(r=r.host);ze(r)&&["html","body"].indexOf(Oe(r))<0;){var a=He(r);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||t&&a.willChange==="filter"||t&&a.filter&&a.filter!=="none")return r;r=r.parentNode}return null}function di(e){for(var t=le(e),i=Mu(e);i&&ul(i)&&He(i).position==="static";)i=Mu(i);return i&&(Oe(i)==="html"||Oe(i)==="body"&&He(i).position==="static")?t:i||Mv(e)||t}function St(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function At(e,t,i){return ci(e,kt(t,i))}function qu(e,t,i){var n=At(e,t,i);return n>i?i:n}function _r(){return{top:0,right:0,bottom:0,left:0}}function Br(e){return Object.assign({},_r(),e)}function Fr(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}var qv=function(t,i){return t=typeof t=="function"?t(Object.assign({},i.rects,{placement:i.placement})):t,Br(typeof t!="number"?t:Fr(t,Vi))};function Iv(e){var t,i=e.state,n=e.name,r=e.options,a=i.elements.arrow,s=i.modifiersData.popperOffsets,o=Ce(i.placement),l=St(o),d=[ge,be].indexOf(o)>=0,c=d?"height":"width";if(!(!a||!s)){var u=qv(r.padding,i),p=zt(a),g=l==="y"?pe:ge,h=l==="y"?ke:be,y=i.rects.reference[c]+i.rects.reference[l]-s[l]-i.rects.popper[c],w=s[l]-i.rects.reference[l],b=di(a),S=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,T=y/2-w/2,C=u[g],_=S-p[c]-u[h],A=S/2-p[c]/2+T,B=At(C,A,_),q=l;i.modifiersData[n]=(t={},t[q]=B,t.centerOffset=B-A,t)}}function _v(e){var t=e.state,i=e.options,n=i.element,r=n===void 0?"[data-popper-arrow]":n;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||Ir(t.elements.popper,r)&&(t.elements.arrow=r))}var Iu={name:"arrow",enabled:!0,phase:"main",fn:Iv,effect:_v,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ni(e){return e.split("-")[1]}var Bv={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Fv(e,t){var i=e.x,n=e.y,r=t.devicePixelRatio||1;return{x:Ii(i*r)/r||0,y:Ii(n*r)/r||0}}function _u(e){var t,i=e.popper,n=e.popperRect,r=e.placement,a=e.variation,s=e.offsets,o=e.position,l=e.gpuAcceleration,d=e.adaptive,c=e.roundOffsets,u=e.isFixed,p=s.x,g=p===void 0?0:p,h=s.y,y=h===void 0?0:h,w=typeof c=="function"?c({x:g,y}):{x:g,y};g=w.x,y=w.y;var b=s.hasOwnProperty("x"),S=s.hasOwnProperty("y"),T=ge,C=pe,_=window;if(d){var A=di(i),B="clientHeight",q="clientWidth";if(A===le(i)&&(A=qe(i),He(A).position!=="static"&&o==="absolute"&&(B="scrollHeight",q="scrollWidth")),A=A,r===pe||(r===ge||r===be)&&a===wt){C=ke;var j=u&&A===_&&_.visualViewport?_.visualViewport.height:A[B];y-=j-n.height,y*=l?1:-1}if(r===ge||(r===pe||r===ke)&&a===wt){T=be;var Y=u&&A===_&&_.visualViewport?_.visualViewport.width:A[q];g-=Y-n.width,g*=l?1:-1}}var N=Object.assign({position:o},d&&Bv),U=c===!0?Fv({x:g,y},le(i)):{x:g,y};if(g=U.x,y=U.y,l){var D;return Object.assign({},N,(D={},D[C]=S?"0":"",D[T]=b?"0":"",D.transform=(_.devicePixelRatio||1)<=1?"translate("+g+"px, "+y+"px)":"translate3d("+g+"px, "+y+"px, 0)",D))}return Object.assign({},N,(t={},t[C]=S?y+"px":"",t[T]=b?g+"px":"",t.transform="",t))}function Rv(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=n===void 0?!0:n,a=i.adaptive,s=a===void 0?!0:a,o=i.roundOffsets,l=o===void 0?!0:o;if(!1)var d;var c={placement:Ce(t.placement),variation:ni(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,_u(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,_u(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var Bu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Rv,data:{}};var hs={passive:!0};function Dv(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,a=r===void 0?!0:r,s=n.resize,o=s===void 0?!0:s,l=le(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&d.forEach(function(c){c.addEventListener("scroll",i.update,hs)}),o&&l.addEventListener("resize",i.update,hs),function(){a&&d.forEach(function(c){c.removeEventListener("scroll",i.update,hs)}),o&&l.removeEventListener("resize",i.update,hs)}}var Fu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Dv,data:{}};var jv={left:"right",right:"left",bottom:"top",top:"bottom"};function en(e){return e.replace(/left|right|bottom|top/g,function(t){return jv[t]})}var Nv={start:"end",end:"start"};function fs(e){return e.replace(/start|end/g,function(t){return Nv[t]})}function Tt(e){var t=le(e),i=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:i,scrollTop:n}}function Lt(e){return ti(qe(e)).left+Tt(e).scrollLeft}function pl(e,t){var i=le(e),n=qe(e),r=i.visualViewport,a=n.clientWidth,s=n.clientHeight,o=0,l=0;if(r){a=r.width,s=r.height;var d=qr();(d||!d&&t==="fixed")&&(o=r.offsetLeft,l=r.offsetTop)}return{width:a,height:s,x:o+Lt(e),y:l}}function ml(e){var t,i=qe(e),n=Tt(e),r=(t=e.ownerDocument)==null?void 0:t.body,a=ci(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=ci(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+Lt(e),l=-n.scrollTop;return He(r||i).direction==="rtl"&&(o+=ci(i.clientWidth,r?r.clientWidth:0)-a),{width:a,height:s,x:o,y:l}}function Et(e){var t=He(e),i=t.overflow,n=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+r+n)}function ys(e){return["html","body","#document"].indexOf(Oe(e))>=0?e.ownerDocument.body:ze(e)&&Et(e)?e:ys(_i(e))}function Ui(e,t){var i;t===void 0&&(t=[]);var n=ys(e),r=n===((i=e.ownerDocument)==null?void 0:i.body),a=le(n),s=r?[a].concat(a.visualViewport||[],Et(n)?n:[]):n,o=t.concat(s);return r?o:o.concat(Ui(_i(s)))}function tn(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Pv(e,t){var i=ti(e,!1,t==="fixed");return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}function Ru(e,t,i){return t===ms?tn(pl(e,i)):ii(t)?Pv(t,i):tn(ml(qe(e)))}function Kv(e){var t=Ui(_i(e)),i=["absolute","fixed"].indexOf(He(e).position)>=0,n=i&&ze(e)?di(e):e;return ii(n)?t.filter(function(r){return ii(r)&&Ir(r,n)&&Oe(r)!=="body"}):[]}function gl(e,t,i,n){var r=t==="clippingParents"?Kv(e):[].concat(t),a=[].concat(r,[i]),s=a[0],o=a.reduce(function(l,d){var c=Ru(e,d,n);return l.top=ci(c.top,l.top),l.right=kt(c.right,l.right),l.bottom=kt(c.bottom,l.bottom),l.left=ci(c.left,l.left),l},Ru(e,s,n));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Rr(e){var t=e.reference,i=e.element,n=e.placement,r=n?Ce(n):null,a=n?ni(n):null,s=t.x+t.width/2-i.width/2,o=t.y+t.height/2-i.height/2,l;switch(r){case pe:l={x:s,y:t.y-i.height};break;case ke:l={x:s,y:t.y+t.height};break;case be:l={x:t.x+t.width,y:o};break;case ge:l={x:t.x-i.width,y:o};break;default:l={x:t.x,y:t.y}}var d=r?St(r):null;if(d!=null){var c=d==="y"?"height":"width";switch(a){case qi:l[d]=l[d]-(t[c]/2-i[c]/2);break;case wt:l[d]=l[d]+(t[c]/2-i[c]/2);break;default:}}return l}function ui(e,t){t===void 0&&(t={});var i=t,n=i.placement,r=n===void 0?e.placement:n,a=i.strategy,s=a===void 0?e.strategy:a,o=i.boundary,l=o===void 0?Lu:o,d=i.rootBoundary,c=d===void 0?ms:d,u=i.elementContext,p=u===void 0?Qt:u,g=i.altBoundary,h=g===void 0?!1:g,y=i.padding,w=y===void 0?0:y,b=Br(typeof w!="number"?w:Fr(w,Vi)),S=p===Qt?Eu:Qt,T=e.rects.popper,C=e.elements[h?S:p],_=gl(ii(C)?C:C.contextElement||qe(e.elements.popper),l,c,s),A=ti(e.elements.reference),B=Rr({reference:A,element:T,strategy:"absolute",placement:r}),q=tn(Object.assign({},T,B)),j=p===Qt?q:A,Y={top:_.top-j.top+b.top,bottom:j.bottom-_.bottom+b.bottom,left:_.left-j.left+b.left,right:j.right-_.right+b.right},N=e.modifiersData.offset;if(p===Qt&&N){var U=N[r];Object.keys(Y).forEach(function(D){var W=[be,ke].indexOf(D)>=0?1:-1,re=[pe,ke].indexOf(D)>=0?"y":"x";Y[D]+=U[re]*W})}return Y}function hl(e,t){t===void 0&&(t={});var i=t,n=i.placement,r=i.boundary,a=i.rootBoundary,s=i.padding,o=i.flipVariations,l=i.allowedAutoPlacements,d=l===void 0?gs:l,c=ni(n),u=c?o?dl:dl.filter(function(h){return ni(h)===c}):Vi,p=u.filter(function(h){return d.indexOf(h)>=0});p.length===0&&(p=u);var g=p.reduce(function(h,y){return h[y]=ui(e,{placement:y,boundary:r,rootBoundary:a,padding:s})[Ce(y)],h},{});return Object.keys(g).sort(function(h,y){return g[h]-g[y]})}function $v(e){if(Ce(e)===ps)return[];var t=en(e);return[fs(e),t,fs(t)]}function Hv(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,a=r===void 0?!0:r,s=i.altAxis,o=s===void 0?!0:s,l=i.fallbackPlacements,d=i.padding,c=i.boundary,u=i.rootBoundary,p=i.altBoundary,g=i.flipVariations,h=g===void 0?!0:g,y=i.allowedAutoPlacements,w=t.options.placement,b=Ce(w),S=b===w,T=l||(S||!h?[en(w)]:$v(w)),C=[w].concat(T).reduce(function(Ye,Re){return Ye.concat(Ce(Re)===ps?hl(t,{placement:Re,boundary:c,rootBoundary:u,padding:d,flipVariations:h,allowedAutoPlacements:y}):Re)},[]),_=t.rects.reference,A=t.rects.popper,B=new Map,q=!0,j=C[0],Y=0;Y=0,re=W?"width":"height",Q=ui(t,{placement:N,boundary:c,rootBoundary:u,altBoundary:p,padding:d}),ce=W?D?be:ge:D?ke:pe;_[re]>A[re]&&(ce=en(ce));var de=en(ce),ue=[];if(a&&ue.push(Q[U]<=0),o&&ue.push(Q[ce]<=0,Q[de]<=0),ue.every(function(Ye){return Ye})){j=N,q=!1;break}B.set(N,ue)}if(q)for(var ae=h?3:1,z=function(Re){var ri=C.find(function(De){var se=B.get(De);if(se)return se.slice(0,Re).every(function(Ti){return Ti})});if(ri)return j=ri,"break"},x=ae;x>0;x--){var pi=z(x);if(pi==="break")break}t.placement!==j&&(t.modifiersData[n]._skip=!0,t.placement=j,t.reset=!0)}}var Du={name:"flip",enabled:!0,phase:"main",fn:Hv,requiresIfExists:["offset"],data:{_skip:!1}};function ju(e,t,i){return i===void 0&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function Nu(e){return[pe,be,ke,ge].some(function(t){return e[t]>=0})}function Yv(e){var t=e.state,i=e.name,n=t.rects.reference,r=t.rects.popper,a=t.modifiersData.preventOverflow,s=ui(t,{elementContext:"reference"}),o=ui(t,{altBoundary:!0}),l=ju(s,n),d=ju(o,r,a),c=Nu(l),u=Nu(d);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:d,isReferenceHidden:c,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":u})}var Pu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Yv};function Wv(e,t,i){var n=Ce(e),r=[ge,pe].indexOf(n)>=0?-1:1,a=typeof i=="function"?i(Object.assign({},t,{placement:e})):i,s=a[0],o=a[1];return s=s||0,o=(o||0)*r,[ge,be].indexOf(n)>=0?{x:o,y:s}:{x:s,y:o}}function Vv(e){var t=e.state,i=e.options,n=e.name,r=i.offset,a=r===void 0?[0,0]:r,s=gs.reduce(function(c,u){return c[u]=Wv(u,t.rects,a),c},{}),o=s[t.placement],l=o.x,d=o.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=d),t.modifiersData[n]=s}var Ku={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Vv};function Uv(e){var t=e.state,i=e.name;t.modifiersData[i]=Rr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var $u={name:"popperOffsets",enabled:!0,phase:"read",fn:Uv,data:{}};function fl(e){return e==="x"?"y":"x"}function Gv(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,a=r===void 0?!0:r,s=i.altAxis,o=s===void 0?!1:s,l=i.boundary,d=i.rootBoundary,c=i.altBoundary,u=i.padding,p=i.tether,g=p===void 0?!0:p,h=i.tetherOffset,y=h===void 0?0:h,w=ui(t,{boundary:l,rootBoundary:d,padding:u,altBoundary:c}),b=Ce(t.placement),S=ni(t.placement),T=!S,C=St(b),_=fl(C),A=t.modifiersData.popperOffsets,B=t.rects.reference,q=t.rects.popper,j=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,Y=typeof j=="number"?{mainAxis:j,altAxis:j}:Object.assign({mainAxis:0,altAxis:0},j),N=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,U={x:0,y:0};if(A){if(a){var D,W=C==="y"?pe:ge,re=C==="y"?ke:be,Q=C==="y"?"height":"width",ce=A[C],de=ce+w[W],ue=ce-w[re],ae=g?-q[Q]/2:0,z=S===qi?B[Q]:q[Q],x=S===qi?-q[Q]:-B[Q],pi=t.elements.arrow,Ye=g&&pi?zt(pi):{width:0,height:0},Re=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:_r(),ri=Re[W],De=Re[re],se=At(0,B[Q],Ye[Q]),Ti=T?B[Q]/2-ae-se-ri-Y.mainAxis:z-se-ri-Y.mainAxis,ai=T?-B[Q]/2+ae+se+De+Y.mainAxis:x+se+De+Y.mainAxis,mi=t.elements.arrow&&di(t.elements.arrow),Li=mi?C==="y"?mi.clientTop||0:mi.clientLeft||0:0,Ot=(D=N?.[C])!=null?D:0,Es=ce+Ti-Ot-Li,Os=ce+ai-Ot,an=At(g?kt(de,Es):de,ce,g?ci(ue,Os):ue);A[C]=an,U[C]=an-ce}if(o){var sn,Nr=C==="x"?pe:ge,Cs=C==="x"?ke:be,gi=A[_],Gi=_==="y"?"height":"width",Pr=gi+w[Nr],Kr=gi-w[Cs],on=[pe,ge].indexOf(b)!==-1,$r=(sn=N?.[_])!=null?sn:0,Hr=on?Pr:gi-B[Gi]-q[Gi]-$r+Y.altAxis,O=on?gi+B[Gi]+q[Gi]-$r-Y.altAxis:Kr,I=g&&on?qu(Hr,gi,O):At(g?Hr:Pr,gi,g?O:Kr);A[_]=I,U[_]=I-gi}t.modifiersData[n]=U}}var Hu={name:"preventOverflow",enabled:!0,phase:"main",fn:Gv,requiresIfExists:["offset"]};function yl(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function bl(e){return e===le(e)||!ze(e)?Tt(e):yl(e)}function Zv(e){var t=e.getBoundingClientRect(),i=Ii(t.width)/e.offsetWidth||1,n=Ii(t.height)/e.offsetHeight||1;return i!==1||n!==1}function vl(e,t,i){i===void 0&&(i=!1);var n=ze(t),r=ze(t)&&Zv(t),a=qe(t),s=ti(e,r,i),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&((Oe(t)!=="body"||Et(a))&&(o=bl(t)),ze(t)?(l=ti(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):a&&(l.x=Lt(a))),{x:s.left+o.scrollLeft-l.x,y:s.top+o.scrollTop-l.y,width:s.width,height:s.height}}function Qv(e){var t=new Map,i=new Set,n=[];e.forEach(function(a){t.set(a.name,a)});function r(a){i.add(a.name);var s=[].concat(a.requires||[],a.requiresIfExists||[]);s.forEach(function(o){if(!i.has(o)){var l=t.get(o);l&&r(l)}}),n.push(a)}return e.forEach(function(a){i.has(a.name)||r(a)}),n}function xl(e){var t=Qv(e);return Ou.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}function wl(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}function kl(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}var Yu={placement:"bottom",modifiers:[],strategy:"absolute"};function Wu(){for(var e=arguments.length,t=new Array(e),i=0;i(e%t+t)%t,Sl=class{constructor(t,i,n){this.owner=t,this.containerEl=i,i.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),i.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),n.register([],"ArrowUp",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),n.register([],"ArrowDown",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),n.register([],"Enter",r=>{if(!r.isComposing)return this.useSelectedItem(r),!1})}onSuggestionClick(t,i){t.preventDefault();let n=this.suggestions.indexOf(i);this.setSelectedItem(n,!1),this.useSelectedItem(t)}onSuggestionMouseover(t,i){let n=this.suggestions.indexOf(i);this.setSelectedItem(n,!1)}setSuggestions(t){this.containerEl.empty();let i=[];t.forEach(n=>{let r=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(n,r),i.push(r)}),this.values=t,this.suggestions=i,this.setSelectedItem(0,!1)}useSelectedItem(t){let i=this.values[this.selectedItem];i&&this.owner.selectSuggestion(i,t)}setSelectedItem(t,i){let n=Xv(t,this.suggestions.length),r=this.suggestions[this.selectedItem],a=this.suggestions[n];r?.removeClass("is-selected"),a?.addClass("is-selected"),this.selectedItem=n,i&&a.scrollIntoView(!1)}},bs=class{constructor(t,i){this.app=t,this.inputEl=i,this.scope=new Uu.Scope,this.suggestEl=createDiv("suggestion-container");let n=this.suggestEl.createDiv("suggestion");this.suggest=new Sl(this,n,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",r=>{r.preventDefault()})}onInputChanged(){let t=this.inputEl.value,i=this.getSuggestions(t);if(!i){this.close();return}i.length>0?(this.suggest.setSuggestions(i),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(t,i){this.app.keymap.pushScope(this.scope),t.appendChild(this.suggestEl),this.popper=zl(i,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:n,instance:r})=>{let a=`${n.rects.reference.width}px`;n.styles.popper.width!==a&&(n.styles.popper.width=a,r.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var Dr=class extends bs{constructor(i,n,r=[]){super(i,n);this.app=i;this.inputEl=n;this.valuesToExclude=r}getSuggestions(i){let n=this.app.commands.listCommands();if(!n)return[];let r=n.filter(o=>{for(let l of this.valuesToExclude)if(l.id==o.id&&!(this.inputEl.hasAttribute("commandId")&&this.inputEl.getAttribute("commandId")==o.id))return!1;return!0}),a=[],s=i.toLowerCase();return r.forEach(o=>{(o.id.contains(s)||o.name.toLowerCase().contains(s))&&a.push(o)}),a}renderSuggestion(i,n){n.setText(i.name)}selectSuggestion(i){this.inputEl.value=i.name,this.inputEl.setAttribute("commandId",i.id),this.inputEl.trigger("input"),this.close()}};var vs=class extends Zt{constructor(i,n,r,a,s){super(i,E("options.custom-command.name"),E("options.custom-command.description"),E("options.custom-command.warning"),E("options.custom-command.add-input-button-text"),r,s,()=>{let o={id:"",name:""};this.lintCommands.push(o),this.saveSettings(),this.addCommand(o,this.lintCommands.length-1,!0)});this.lintCommands=n;this.app=a;this.display()}showInputEls(){this.lintCommands.forEach((i,n)=>{this.addCommand(i,n)})}addCommand(i,n,r=!1){new Gu.Setting(this.inputElDiv).addSearch(a=>{new Dr(this.app,a.inputEl,this.lintCommands),a.setPlaceholder(E("options.custom-command.command-search-placeholder-text")).setValue(i.name).onChange(s=>{let o={id:a.inputEl.getAttribute("commandId"),name:s};o.name&&o.id?(this.lintCommands[n]=o,this.saveSettings()):!o.name&&!o.id&&(this.lintCommands[n]=o,this.saveSettings())}),a.inputEl.setAttr("tabIndex",n),a.inputEl.addClass("linter-custom-command"),r&&a.inputEl.focus()}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip(E("options.custom-command.move-up-tooltip")).onClick(()=>{this.arrayMove(n,n-1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip(E("options.custom-command.move-down-tooltip")).onClick(()=>{this.arrayMove(n,n+1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip(E("options.custom-command.delete-tooltip")).onClick(()=>{this.lintCommands.splice(n,1),this.saveSettings(),this.resetInputEls()})})}arrayMove(i,n){if(n<0||n===this.lintCommands.length)return;let r=this.lintCommands[i];this.lintCommands[i]=this.lintCommands[n],this.lintCommands[n]=r}};var Zu=require("obsidian");var ex="gm",xs=class extends Zt{constructor(i,n,r,a){super(i,E("options.custom-replace.name"),E("options.custom-replace.description"),E("options.custom-replace.warning"),E("options.custom-replace.add-input-button-text"),r,a,()=>{let s={find:"",replace:"",flags:ex};this.regexes.push(s),this.saveSettings(),this.addRegex(s,this.regexes.length-1,!0)});this.regexes=n;this.display()}showInputEls(){this.regexes.forEach((i,n)=>{this.addRegex(i,n)})}addRegex(i,n,r=!1){new Zu.Setting(this.inputElDiv).addText(a=>{a.setPlaceholder(E("options.custom-replace.regex-to-find-placeholder-text")).setValue(i.find).onChange(s=>{this.regexes[n].find=s,this.saveSettings()}),a.inputEl.setAttr("inputIndex",n),a.inputEl.addClass("linter-custom-regex-replacement"),r&&a.inputEl.focus()}).addText(a=>{a.setPlaceholder(E("options.custom-replace.flags-placeholder-text")).setValue(i.flags).onChange(s=>{this.regexes[n].flags=s,this.saveSettings()})}).addText(a=>{a.setPlaceholder(E("options.custom-replace.regex-to-replace-placeholder-text")).setValue(i.replace).onChange(s=>{this.regexes[n].replace=s,this.saveSettings()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip(E("options.custom-replace.delete-tooltip")).onClick(()=>{this.regexes.splice(n,1),this.saveSettings(),this.resetInputEls()})})}};var ws=class extends Si{constructor(i,n,r,a,s){super(i,n,"Custom",r,s);this.app=a;this.display()}display(){let i=this.contentEl.createDiv(),n=new vs(i,this.plugin.settings.lintCommands,this.isMobile,this.app,()=>{this.plugin.saveSettings()});this.addSettingSearchInfo(i,n.name,n.description.replaceAll(` +`),await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let a=navigator.language?.toLowerCase();t=this.contentEl.createDiv(),i=E("tabs.general.override-locale.name"),n=E("tabs.general.override-locale.description"),new Ti.Setting(t).setName(i).setDesc(n).addDropdown(d=>{d.addOption("system-default",E("tabs.general.same-as-system-locale").replace("{SYS_LOCALE}",a)),Hu.moment.locales().forEach(c=>{d.addOption(c,c)}),d.setValue(this.plugin.settings.linterLocale),d.onChange(async c=>{this.plugin.settings.linterLocale=c,await this.plugin.setOrUpdateMomentInstance(),await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let s=["multi-line","single-line","single string comma delimited","single string to single-line","single string to multi-line"];t=this.contentEl.createDiv(),i=E("tabs.general.yaml-aliases-section-style.name"),n=E("tabs.general.yaml-aliases-section-style.description"),new Ti.Setting(t).setName(i).setDesc(n).addDropdown(d=>{s.forEach(c=>{let u="enums."+c;d.addOption(c,E(u))}),d.setValue(this.plugin.settings.commonStyles.aliasArrayStyle),d.onChange(async c=>{this.plugin.settings.commonStyles.aliasArrayStyle=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let o=["multi-line","single-line","single string to single-line","single string to multi-line","single-line space delimited","single string space delimited","single string comma delimited"];t=this.contentEl.createDiv(),i=E("tabs.general.yaml-tags-section-style.name"),n=E("tabs.general.yaml-tags-section-style.description"),new Ti.Setting(t).setName(i).setDesc(n).addDropdown(d=>{o.forEach(c=>{let u="enums."+c;d.addOption(c,E(u))}),d.setValue(this.plugin.settings.commonStyles.tagArrayStyle),d.onChange(async c=>{this.plugin.settings.commonStyles.tagArrayStyle=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n);let l=['"',"'"];t=this.contentEl.createDiv(),i=E("tabs.general.default-escape-character.name"),n=E("tabs.general.default-escape-character.description"),new Ti.Setting(t).setName(i).setDesc(n).addDropdown(d=>{l.forEach(c=>{d.addOption(c,c)}),d.setValue(this.plugin.settings.commonStyles.escapeCharacter),d.onChange(async c=>{this.plugin.settings.commonStyles.escapeCharacter=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.remove-unnecessary-escape-chars-in-multi-line-arrays.name"),n=E("tabs.general.remove-unnecessary-escape-chars-in-multi-line-arrays.description"),new Ti.Setting(t).setName(i).setDesc(n).addToggle(d=>{d.setValue(this.plugin.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays).onChange(async c=>{this.plugin.settings.commonStyles.removeUnnecessaryEscapeCharsForMultiLineArrays=c,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.general.number-of-dollar-signs-to-indicate-math-block.name"),n=E("tabs.general.number-of-dollar-signs-to-indicate-math-block.description"),new Ti.Setting(t).setName(i).setDesc(n).addText(d=>{d.setValue(this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock.toString()).onChange(async c=>{let u=parseInt(c);isNaN(u)&&(u=2),this.plugin.settings.commonStyles.minimumNumberOfDollarSignsToBeAMathBlock=u,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n)}};var ws=class extends Si{constructor(i,n,r,a,s,o){super(i,n,r,s,o);this.rules=a;this.display()}display(){for(let i of this.rules){let n=this.contentEl.createDiv();n.id=i.alias,n.createEl(this.isMobile?"h4":"h3",{},a=>{a.innerHTML=`${i.getName()}`});let r=[];for(let a of i.options)a.display(n,this.plugin.settings,this.plugin),r.push(a.getSearchInfo());this.addSettingSearchInfo(n,i.getName().toLowerCase(),i.getDescription().toLowerCase(),r,n.id)}}};var gp=require("obsidian");var Yu=require("obsidian");var en=class{constructor(t,i,n,r,a,s,o,l,d){this.containerEl=t;this.parentComponent=i;this.name=n;this.description=r;this.warning=a;this.addInputBtnText=s;this.isMobile=o;this.saveSettings=l;this.onAddInput=d}display(){this.containerEl.createEl(this.isMobile?"h4":"h3",{text:this.name}),wi(this.description,this.containerEl,this.parentComponent),this.warning!=null&&this.containerEl.createEl("p",{text:this.warning,cls:"mod-warning"}),new Yu.Setting(this.containerEl).addButton(t=>{t.setButtonText(this.addInputBtnText).setCta().onClick(()=>this.onAddInput())}),this.inputElDiv=this.containerEl.createDiv(),this.showInputEls()}resetInputEls(){this.inputElDiv.empty(),this.showInputEls()}};var mp=require("obsidian");var pe="top",ke="bottom",ve="right",ge="left",ks="auto",Vi=[pe,ke,ve,ge],Mi="start",At="end",Wu="clippingParents",zs="viewport",tn="popper",Vu="reference",xl=Vi.reduce(function(e,t){return e.concat([t+"-"+Mi,t+"-"+At])},[]),Ss=[].concat(Vi,[ks]).reduce(function(e,t){return e.concat([t,t+"-"+Mi,t+"-"+At])},[]),Hv="beforeRead",Yv="read",Wv="afterRead",Vv="beforeMain",Uv="main",Gv="afterMain",Qv="beforeWrite",Zv="write",Jv="afterWrite",Uu=[Hv,Yv,Wv,Vv,Uv,Gv,Qv,Zv,Jv];function Le(e){return e?(e.nodeName||"").toLowerCase():null}function le(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ti(e){var t=le(e).Element;return e instanceof t||e instanceof Element}function ze(e){var t=le(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function nn(e){if(typeof ShadowRoot>"u")return!1;var t=le(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Xv(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},a=t.elements[i];!ze(a)||!Le(a)||(Object.assign(a.style,n),Object.keys(r).forEach(function(s){var o=r[s];o===!1?a.removeAttribute(s):a.setAttribute(s,o===!0?"":o)}))})}function ex(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],a=t.attributes[n]||{},s=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]),o=s.reduce(function(l,d){return l[d]="",l},{});!ze(r)||!Le(r)||(Object.assign(r.style,o),Object.keys(a).forEach(function(l){r.removeAttribute(l)}))})}}var Gu={name:"applyStyles",enabled:!0,phase:"write",fn:Xv,effect:ex,requires:["computeStyles"]};function Oe(e){return e.split("-")[0]}var ci=Math.max,Et=Math.min,Ii=Math.round;function rn(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Nr(){return!/^((?!chrome|android).)*safari/i.test(rn())}function ni(e,t,i){t===void 0&&(t=!1),i===void 0&&(i=!1);var n=e.getBoundingClientRect(),r=1,a=1;t&&ze(e)&&(r=e.offsetWidth>0&&Ii(n.width)/e.offsetWidth||1,a=e.offsetHeight>0&&Ii(n.height)/e.offsetHeight||1);var s=ti(e)?le(e):window,o=s.visualViewport,l=!Nr()&&i,d=(n.left+(l&&o?o.offsetLeft:0))/r,c=(n.top+(l&&o?o.offsetTop:0))/a,u=n.width/r,m=n.height/a;return{width:u,height:m,top:c,right:d+u,bottom:c+m,left:d,x:d,y:c}}function Lt(e){var t=ni(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}function jr(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&nn(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function He(e){return le(e).getComputedStyle(e)}function wl(e){return["table","td","th"].indexOf(Le(e))>=0}function Me(e){return((ti(e)?e.ownerDocument:e.document)||window.document).documentElement}function _i(e){return Le(e)==="html"?e:e.assignedSlot||e.parentNode||(nn(e)?e.host:null)||Me(e)}function Qu(e){return!ze(e)||He(e).position==="fixed"?null:e.offsetParent}function ix(e){var t=/firefox/i.test(rn()),i=/Trident/i.test(rn());if(i&&ze(e)){var n=He(e);if(n.position==="fixed")return null}var r=_i(e);for(nn(r)&&(r=r.host);ze(r)&&["html","body"].indexOf(Le(r))<0;){var a=He(r);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||t&&a.willChange==="filter"||t&&a.filter&&a.filter!=="none")return r;r=r.parentNode}return null}function di(e){for(var t=le(e),i=Qu(e);i&&wl(i)&&He(i).position==="static";)i=Qu(i);return i&&(Le(i)==="html"||Le(i)==="body"&&He(i).position==="static")?t:i||ix(e)||t}function Ot(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ct(e,t,i){return ci(e,Et(t,i))}function Zu(e,t,i){var n=Ct(e,t,i);return n>i?i:n}function Pr(){return{top:0,right:0,bottom:0,left:0}}function Kr(e){return Object.assign({},Pr(),e)}function $r(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}var tx=function(t,i){return t=typeof t=="function"?t(Object.assign({},i.rects,{placement:i.placement})):t,Kr(typeof t!="number"?t:$r(t,Vi))};function nx(e){var t,i=e.state,n=e.name,r=e.options,a=i.elements.arrow,s=i.modifiersData.popperOffsets,o=Oe(i.placement),l=Ot(o),d=[ge,ve].indexOf(o)>=0,c=d?"height":"width";if(!(!a||!s)){var u=tx(r.padding,i),m=Lt(a),g=l==="y"?pe:ge,h=l==="y"?ke:ve,v=i.rects.reference[c]+i.rects.reference[l]-s[l]-i.rects.popper[c],w=s[l]-i.rects.reference[l],z=di(a),S=z?l==="y"?z.clientHeight||0:z.clientWidth||0:0,L=v/2-w/2,q=u[g],_=S-m[c]-u[h],A=S/2-m[c]/2+L,F=Ct(q,A,_),M=l;i.modifiersData[n]=(t={},t[M]=F,t.centerOffset=F-A,t)}}function rx(e){var t=e.state,i=e.options,n=i.element,r=n===void 0?"[data-popper-arrow]":n;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||jr(t.elements.popper,r)&&(t.elements.arrow=r))}var Ju={name:"arrow",enabled:!0,phase:"main",fn:nx,effect:rx,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ri(e){return e.split("-")[1]}var ax={top:"auto",right:"auto",bottom:"auto",left:"auto"};function sx(e,t){var i=e.x,n=e.y,r=t.devicePixelRatio||1;return{x:Ii(i*r)/r||0,y:Ii(n*r)/r||0}}function Xu(e){var t,i=e.popper,n=e.popperRect,r=e.placement,a=e.variation,s=e.offsets,o=e.position,l=e.gpuAcceleration,d=e.adaptive,c=e.roundOffsets,u=e.isFixed,m=s.x,g=m===void 0?0:m,h=s.y,v=h===void 0?0:h,w=typeof c=="function"?c({x:g,y:v}):{x:g,y:v};g=w.x,v=w.y;var z=s.hasOwnProperty("x"),S=s.hasOwnProperty("y"),L=ge,q=pe,_=window;if(d){var A=di(i),F="clientHeight",M="clientWidth";if(A===le(i)&&(A=Me(i),He(A).position!=="static"&&o==="absolute"&&(F="scrollHeight",M="scrollWidth")),A=A,r===pe||(r===ge||r===ve)&&a===At){q=ke;var D=u&&A===_&&_.visualViewport?_.visualViewport.height:A[F];v-=D-n.height,v*=l?1:-1}if(r===ge||(r===pe||r===ke)&&a===At){L=ve;var H=u&&A===_&&_.visualViewport?_.visualViewport.width:A[M];g-=H-n.width,g*=l?1:-1}}var j=Object.assign({position:o},d&&ax),V=c===!0?sx({x:g,y:v},le(i)):{x:g,y:v};if(g=V.x,v=V.y,l){var R;return Object.assign({},j,(R={},R[q]=S?"0":"",R[L]=z?"0":"",R.transform=(_.devicePixelRatio||1)<=1?"translate("+g+"px, "+v+"px)":"translate3d("+g+"px, "+v+"px, 0)",R))}return Object.assign({},j,(t={},t[q]=S?v+"px":"",t[L]=z?g+"px":"",t.transform="",t))}function ox(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=n===void 0?!0:n,a=i.adaptive,s=a===void 0?!0:a,o=i.roundOffsets,l=o===void 0?!0:o;if(!1)var d;var c={placement:Oe(t.placement),variation:ri(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Xu(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Xu(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var ep={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:ox,data:{}};var Ts={passive:!0};function lx(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,a=r===void 0?!0:r,s=n.resize,o=s===void 0?!0:s,l=le(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&d.forEach(function(c){c.addEventListener("scroll",i.update,Ts)}),o&&l.addEventListener("resize",i.update,Ts),function(){a&&d.forEach(function(c){c.removeEventListener("scroll",i.update,Ts)}),o&&l.removeEventListener("resize",i.update,Ts)}}var ip={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:lx,data:{}};var cx={left:"right",right:"left",bottom:"top",top:"bottom"};function an(e){return e.replace(/left|right|bottom|top/g,function(t){return cx[t]})}var dx={start:"end",end:"start"};function As(e){return e.replace(/start|end/g,function(t){return dx[t]})}function qt(e){var t=le(e),i=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:i,scrollTop:n}}function Mt(e){return ni(Me(e)).left+qt(e).scrollLeft}function kl(e,t){var i=le(e),n=Me(e),r=i.visualViewport,a=n.clientWidth,s=n.clientHeight,o=0,l=0;if(r){a=r.width,s=r.height;var d=Nr();(d||!d&&t==="fixed")&&(o=r.offsetLeft,l=r.offsetTop)}return{width:a,height:s,x:o+Mt(e),y:l}}function zl(e){var t,i=Me(e),n=qt(e),r=(t=e.ownerDocument)==null?void 0:t.body,a=ci(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=ci(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+Mt(e),l=-n.scrollTop;return He(r||i).direction==="rtl"&&(o+=ci(i.clientWidth,r?r.clientWidth:0)-a),{width:a,height:s,x:o,y:l}}function It(e){var t=He(e),i=t.overflow,n=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+r+n)}function Es(e){return["html","body","#document"].indexOf(Le(e))>=0?e.ownerDocument.body:ze(e)&&It(e)?e:Es(_i(e))}function Ui(e,t){var i;t===void 0&&(t=[]);var n=Es(e),r=n===((i=e.ownerDocument)==null?void 0:i.body),a=le(n),s=r?[a].concat(a.visualViewport||[],It(n)?n:[]):n,o=t.concat(s);return r?o:o.concat(Ui(_i(s)))}function sn(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function ux(e,t){var i=ni(e,!1,t==="fixed");return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}function tp(e,t,i){return t===zs?sn(kl(e,i)):ti(t)?ux(t,i):sn(zl(Me(e)))}function px(e){var t=Ui(_i(e)),i=["absolute","fixed"].indexOf(He(e).position)>=0,n=i&&ze(e)?di(e):e;return ti(n)?t.filter(function(r){return ti(r)&&jr(r,n)&&Le(r)!=="body"}):[]}function Sl(e,t,i,n){var r=t==="clippingParents"?px(e):[].concat(t),a=[].concat(r,[i]),s=a[0],o=a.reduce(function(l,d){var c=tp(e,d,n);return l.top=ci(c.top,l.top),l.right=Et(c.right,l.right),l.bottom=Et(c.bottom,l.bottom),l.left=ci(c.left,l.left),l},tp(e,s,n));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Hr(e){var t=e.reference,i=e.element,n=e.placement,r=n?Oe(n):null,a=n?ri(n):null,s=t.x+t.width/2-i.width/2,o=t.y+t.height/2-i.height/2,l;switch(r){case pe:l={x:s,y:t.y-i.height};break;case ke:l={x:s,y:t.y+t.height};break;case ve:l={x:t.x+t.width,y:o};break;case ge:l={x:t.x-i.width,y:o};break;default:l={x:t.x,y:t.y}}var d=r?Ot(r):null;if(d!=null){var c=d==="y"?"height":"width";switch(a){case Mi:l[d]=l[d]-(t[c]/2-i[c]/2);break;case At:l[d]=l[d]+(t[c]/2-i[c]/2);break;default:}}return l}function ui(e,t){t===void 0&&(t={});var i=t,n=i.placement,r=n===void 0?e.placement:n,a=i.strategy,s=a===void 0?e.strategy:a,o=i.boundary,l=o===void 0?Wu:o,d=i.rootBoundary,c=d===void 0?zs:d,u=i.elementContext,m=u===void 0?tn:u,g=i.altBoundary,h=g===void 0?!1:g,v=i.padding,w=v===void 0?0:v,z=Kr(typeof w!="number"?w:$r(w,Vi)),S=m===tn?Vu:tn,L=e.rects.popper,q=e.elements[h?S:m],_=Sl(ti(q)?q:q.contextElement||Me(e.elements.popper),l,c,s),A=ni(e.elements.reference),F=Hr({reference:A,element:L,strategy:"absolute",placement:r}),M=sn(Object.assign({},L,F)),D=m===tn?M:A,H={top:_.top-D.top+z.top,bottom:D.bottom-_.bottom+z.bottom,left:_.left-D.left+z.left,right:D.right-_.right+z.right},j=e.modifiersData.offset;if(m===tn&&j){var V=j[r];Object.keys(H).forEach(function(R){var Y=[ve,ke].indexOf(R)>=0?1:-1,re=[pe,ke].indexOf(R)>=0?"y":"x";H[R]+=V[re]*Y})}return H}function Tl(e,t){t===void 0&&(t={});var i=t,n=i.placement,r=i.boundary,a=i.rootBoundary,s=i.padding,o=i.flipVariations,l=i.allowedAutoPlacements,d=l===void 0?Ss:l,c=ri(n),u=c?o?xl:xl.filter(function(h){return ri(h)===c}):Vi,m=u.filter(function(h){return d.indexOf(h)>=0});m.length===0&&(m=u);var g=m.reduce(function(h,v){return h[v]=ui(e,{placement:v,boundary:r,rootBoundary:a,padding:s})[Oe(v)],h},{});return Object.keys(g).sort(function(h,v){return g[h]-g[v]})}function mx(e){if(Oe(e)===ks)return[];var t=an(e);return[As(e),t,As(t)]}function gx(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,a=r===void 0?!0:r,s=i.altAxis,o=s===void 0?!0:s,l=i.fallbackPlacements,d=i.padding,c=i.boundary,u=i.rootBoundary,m=i.altBoundary,g=i.flipVariations,h=g===void 0?!0:g,v=i.allowedAutoPlacements,w=t.options.placement,z=Oe(w),S=z===w,L=l||(S||!h?[an(w)]:mx(w)),q=[w].concat(L).reduce(function(Ye,Re){return Ye.concat(Oe(Re)===ks?Tl(t,{placement:Re,boundary:c,rootBoundary:u,padding:d,flipVariations:h,allowedAutoPlacements:v}):Re)},[]),_=t.rects.reference,A=t.rects.popper,F=new Map,M=!0,D=q[0],H=0;H=0,re=Y?"width":"height",Q=ui(t,{placement:j,boundary:c,rootBoundary:u,altBoundary:m,padding:d}),ce=Y?R?ve:ge:R?ke:pe;_[re]>A[re]&&(ce=an(ce));var de=an(ce),ue=[];if(a&&ue.push(Q[V]<=0),o&&ue.push(Q[ce]<=0,Q[de]<=0),ue.every(function(Ye){return Ye})){D=j,M=!1;break}F.set(j,ue)}if(M)for(var ae=h?3:1,k=function(Re){var ai=q.find(function(De){var se=F.get(De);if(se)return se.slice(0,Re).every(function(Ai){return Ai})});if(ai)return D=ai,"break"},x=ae;x>0;x--){var pi=k(x);if(pi==="break")break}t.placement!==D&&(t.modifiersData[n]._skip=!0,t.placement=D,t.reset=!0)}}var np={name:"flip",enabled:!0,phase:"main",fn:gx,requiresIfExists:["offset"],data:{_skip:!1}};function rp(e,t,i){return i===void 0&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}function ap(e){return[pe,ve,ke,ge].some(function(t){return e[t]>=0})}function hx(e){var t=e.state,i=e.name,n=t.rects.reference,r=t.rects.popper,a=t.modifiersData.preventOverflow,s=ui(t,{elementContext:"reference"}),o=ui(t,{altBoundary:!0}),l=rp(s,n),d=rp(o,r,a),c=ap(l),u=ap(d);t.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:d,isReferenceHidden:c,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":u})}var sp={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hx};function fx(e,t,i){var n=Oe(e),r=[ge,pe].indexOf(n)>=0?-1:1,a=typeof i=="function"?i(Object.assign({},t,{placement:e})):i,s=a[0],o=a[1];return s=s||0,o=(o||0)*r,[ge,ve].indexOf(n)>=0?{x:o,y:s}:{x:s,y:o}}function yx(e){var t=e.state,i=e.options,n=e.name,r=i.offset,a=r===void 0?[0,0]:r,s=Ss.reduce(function(c,u){return c[u]=fx(u,t.rects,a),c},{}),o=s[t.placement],l=o.x,d=o.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=d),t.modifiersData[n]=s}var op={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:yx};function bx(e){var t=e.state,i=e.name;t.modifiersData[i]=Hr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var lp={name:"popperOffsets",enabled:!0,phase:"read",fn:bx,data:{}};function Al(e){return e==="x"?"y":"x"}function vx(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,a=r===void 0?!0:r,s=i.altAxis,o=s===void 0?!1:s,l=i.boundary,d=i.rootBoundary,c=i.altBoundary,u=i.padding,m=i.tether,g=m===void 0?!0:m,h=i.tetherOffset,v=h===void 0?0:h,w=ui(t,{boundary:l,rootBoundary:d,padding:u,altBoundary:c}),z=Oe(t.placement),S=ri(t.placement),L=!S,q=Ot(z),_=Al(q),A=t.modifiersData.popperOffsets,F=t.rects.reference,M=t.rects.popper,D=typeof v=="function"?v(Object.assign({},t.rects,{placement:t.placement})):v,H=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(A){if(a){var R,Y=q==="y"?pe:ge,re=q==="y"?ke:ve,Q=q==="y"?"height":"width",ce=A[q],de=ce+w[Y],ue=ce-w[re],ae=g?-M[Q]/2:0,k=S===Mi?F[Q]:M[Q],x=S===Mi?-M[Q]:-F[Q],pi=t.elements.arrow,Ye=g&&pi?Lt(pi):{width:0,height:0},Re=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Pr(),ai=Re[Y],De=Re[re],se=Ct(0,F[Q],Ye[Q]),Ai=L?F[Q]/2-ae-se-ai-H.mainAxis:k-se-ai-H.mainAxis,si=L?-F[Q]/2+ae+se+De+H.mainAxis:x+se+De+H.mainAxis,mi=t.elements.arrow&&di(t.elements.arrow),Ei=mi?q==="y"?mi.clientTop||0:mi.clientLeft||0:0,_t=(R=j?.[q])!=null?R:0,Ds=ce+Ai-_t-Ei,Ns=ce+si-_t,ln=Ct(g?Et(de,Ds):de,ce,g?ci(ue,Ns):ue);A[q]=ln,V[q]=ln-ce}if(o){var cn,Vr=q==="x"?pe:ge,js=q==="x"?ke:ve,gi=A[_],Zi=_==="y"?"height":"width",Ur=gi+w[Vr],Gr=gi-w[js],dn=[pe,ge].indexOf(z)!==-1,Qr=(cn=j?.[_])!=null?cn:0,Zr=dn?Ur:gi-F[Zi]-M[Zi]-Qr+H.altAxis,O=dn?gi+F[Zi]+M[Zi]-Qr-H.altAxis:Gr,I=g&&dn?Zu(Zr,gi,O):Ct(g?Zr:Ur,gi,g?O:Gr);A[_]=I,V[_]=I-gi}t.modifiersData[n]=V}}var cp={name:"preventOverflow",enabled:!0,phase:"main",fn:vx,requiresIfExists:["offset"]};function El(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Ll(e){return e===le(e)||!ze(e)?qt(e):El(e)}function xx(e){var t=e.getBoundingClientRect(),i=Ii(t.width)/e.offsetWidth||1,n=Ii(t.height)/e.offsetHeight||1;return i!==1||n!==1}function Ol(e,t,i){i===void 0&&(i=!1);var n=ze(t),r=ze(t)&&xx(t),a=Me(t),s=ni(e,r,i),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&((Le(t)!=="body"||It(a))&&(o=Ll(t)),ze(t)?(l=ni(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):a&&(l.x=Mt(a))),{x:s.left+o.scrollLeft-l.x,y:s.top+o.scrollTop-l.y,width:s.width,height:s.height}}function wx(e){var t=new Map,i=new Set,n=[];e.forEach(function(a){t.set(a.name,a)});function r(a){i.add(a.name);var s=[].concat(a.requires||[],a.requiresIfExists||[]);s.forEach(function(o){if(!i.has(o)){var l=t.get(o);l&&r(l)}}),n.push(a)}return e.forEach(function(a){i.has(a.name)||r(a)}),n}function Cl(e){var t=wx(e);return Uu.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}function ql(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}function Ml(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}var dp={placement:"bottom",modifiers:[],strategy:"absolute"};function up(){for(var e=arguments.length,t=new Array(e),i=0;i(e%t+t)%t,_l=class{constructor(t,i,n){this.owner=t,this.containerEl=i,i.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),i.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),n.register([],"ArrowUp",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem-1,!0),!1}),n.register([],"ArrowDown",r=>{if(!r.isComposing)return this.setSelectedItem(this.selectedItem+1,!0),!1}),n.register([],"Enter",r=>{if(!r.isComposing)return this.useSelectedItem(r),!1})}onSuggestionClick(t,i){t.preventDefault();let n=this.suggestions.indexOf(i);this.setSelectedItem(n,!1),this.useSelectedItem(t)}onSuggestionMouseover(t,i){let n=this.suggestions.indexOf(i);this.setSelectedItem(n,!1)}setSuggestions(t){this.containerEl.empty();let i=[];t.forEach(n=>{let r=this.containerEl.createDiv("suggestion-item");this.owner.renderSuggestion(n,r),i.push(r)}),this.values=t,this.suggestions=i,this.setSelectedItem(0,!1)}useSelectedItem(t){let i=this.values[this.selectedItem];i&&this.owner.selectSuggestion(i,t)}setSelectedItem(t,i){let n=zx(t,this.suggestions.length),r=this.suggestions[this.selectedItem],a=this.suggestions[n];r?.removeClass("is-selected"),a?.addClass("is-selected"),this.selectedItem=n,i&&a.scrollIntoView(!1)}},Ls=class{constructor(t,i){this.app=t,this.inputEl=i,this.scope=new mp.Scope,this.suggestEl=createDiv("suggestion-container");let n=this.suggestEl.createDiv("suggestion");this.suggest=new _l(this,n,this.scope),this.scope.register([],"Escape",this.close.bind(this)),this.inputEl.addEventListener("input",this.onInputChanged.bind(this)),this.inputEl.addEventListener("focus",this.onInputChanged.bind(this)),this.inputEl.addEventListener("blur",this.close.bind(this)),this.suggestEl.on("mousedown",".suggestion-container",r=>{r.preventDefault()})}onInputChanged(){let t=this.inputEl.value,i=this.getSuggestions(t);if(!i){this.close();return}i.length>0?(this.suggest.setSuggestions(i),this.open(this.app.dom.appContainerEl,this.inputEl)):this.close()}open(t,i){this.app.keymap.pushScope(this.scope),t.appendChild(this.suggestEl),this.popper=Il(i,this.suggestEl,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:({state:n,instance:r})=>{let a=`${n.rects.reference.width}px`;n.styles.popper.width!==a&&(n.styles.popper.width=a,r.update())},phase:"beforeWrite",requires:["computeStyles"]}]})}close(){this.app.keymap.popScope(this.scope),this.suggest.setSuggestions([]),this.popper&&this.popper.destroy(),this.suggestEl.detach()}};var Yr=class extends Ls{constructor(i,n,r=[]){super(i,n);this.app=i;this.inputEl=n;this.valuesToExclude=r}getSuggestions(i){let n=this.app.commands.listCommands();if(!n)return[];let r=n.filter(o=>{for(let l of this.valuesToExclude)if(l.id==o.id&&!(this.inputEl.hasAttribute("commandId")&&this.inputEl.getAttribute("commandId")==o.id))return!1;return!0}),a=[],s=i.toLowerCase();return r.forEach(o=>{(o.id.contains(s)||o.name.toLowerCase().contains(s))&&a.push(o)}),a}renderSuggestion(i,n){n.setText(i.name)}selectSuggestion(i){this.inputEl.value=i.name,this.inputEl.setAttribute("commandId",i.id),this.inputEl.trigger("input"),this.close()}};var Os=class extends en{constructor(i,n,r,a,s,o){super(i,n,E("options.custom-command.name"),E("options.custom-command.description"),E("options.custom-command.warning"),E("options.custom-command.add-input-button-text"),a,o,()=>{let l={id:"",name:""};this.lintCommands.push(l),this.saveSettings(),this.addCommand(l,this.lintCommands.length-1,!0)});this.lintCommands=r;this.app=s;this.display()}showInputEls(){this.lintCommands.forEach((i,n)=>{this.addCommand(i,n)})}addCommand(i,n,r=!1){new gp.Setting(this.inputElDiv).addSearch(a=>{new Yr(this.app,a.inputEl,this.lintCommands),a.setPlaceholder(E("options.custom-command.command-search-placeholder-text")).setValue(i.name).onChange(s=>{let o={id:a.inputEl.getAttribute("commandId"),name:s};o.name&&o.id?(this.lintCommands[n]=o,this.saveSettings()):!o.name&&!o.id&&(this.lintCommands[n]=o,this.saveSettings())}),a.inputEl.setAttr("tabIndex",n),a.inputEl.addClass("linter-custom-command"),r&&a.inputEl.focus()}).addExtraButton(a=>{a.setIcon("up-chevron-glyph").setTooltip(E("options.custom-command.move-up-tooltip")).onClick(()=>{this.arrayMove(n,n-1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(a=>{a.setIcon("down-chevron-glyph").setTooltip(E("options.custom-command.move-down-tooltip")).onClick(()=>{this.arrayMove(n,n+1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(a=>{a.setIcon("cross").setTooltip(E("options.custom-command.delete-tooltip")).onClick(()=>{this.lintCommands.splice(n,1),this.saveSettings(),this.resetInputEls()})})}arrayMove(i,n){if(n<0||n===this.lintCommands.length)return;let r=this.lintCommands[i];this.lintCommands[i]=this.lintCommands[n],this.lintCommands[n]=r}};var hp=require("obsidian");var Sx="gm",Cs=class extends en{constructor(i,n,r,a,s){super(i,n,E("options.custom-replace.name"),E("options.custom-replace.description"),E("options.custom-replace.warning"),E("options.custom-replace.add-input-button-text"),a,s,()=>{let o={find:"",replace:"",flags:Sx};this.regexes.push(o),this.saveSettings(),this.addRegex(o,this.regexes.length-1,!0)});this.regexes=r;this.display()}showInputEls(){this.regexes.forEach((i,n)=>{this.addRegex(i,n)})}addRegex(i,n,r=!1){let a=new hp.Setting(this.inputElDiv).addText(s=>{s.setPlaceholder(E("options.custom-replace.regex-to-find-placeholder-text")).setValue(i.find).onChange(o=>{this.regexes[n].find=o,this.saveSettings()}),s.inputEl.setAttr("inputIndex",n),s.inputEl.addClass("linter-custom-regex-replacement"),r&&s.inputEl.focus()}).addText(s=>{s.setPlaceholder(E("options.custom-replace.flags-placeholder-text")).setValue(i.flags).onChange(o=>{this.regexes[n].flags=o,this.saveSettings()})}).addText(s=>{s.setPlaceholder(E("options.custom-replace.regex-to-replace-placeholder-text")).setValue(i.replace).onChange(o=>{this.regexes[n].replace=o,this.saveSettings()})}).addExtraButton(s=>{s.setIcon("up-chevron-glyph").setTooltip(E("options.custom-replace.move-up-tooltip")).onClick(()=>{this.arrayMove(n,n-1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(s=>{s.setIcon("down-chevron-glyph").setTooltip(E("options.custom-replace.move-down-tooltip")).onClick(()=>{this.arrayMove(n,n+1),this.saveSettings(),this.resetInputEls()})}).addExtraButton(s=>{s.setIcon("cross").setTooltip(E("options.custom-replace.delete-tooltip")).onClick(()=>{this.regexes.splice(n,1),this.saveSettings(),this.resetInputEls()})});a.settingEl.style.flexWrap="wrap"}arrayMove(i,n){if(n<0||n===this.regexes.length)return;let r=this.regexes[i];this.regexes[i]=this.regexes[n],this.regexes[n]=r}};var qs=class extends Si{constructor(i,n,r,a,s){super(i,n,"Custom",r,s);this.app=a;this.display()}display(){let i=this.contentEl.createDiv(),n=new Os(i,this.plugin.settingsTab.component,this.plugin.settings.lintCommands,this.isMobile,this.app,()=>{this.plugin.saveSettings()});this.addSettingSearchInfo(i,n.name,n.description.replaceAll(` `," ")+n.warning.replaceAll(` -`," "));let r=this.contentEl.createDiv(),a=new xs(r,this.plugin.settings.customRegexes,this.isMobile,()=>{this.plugin.saveSettings()});this.addSettingSearchInfo(r,a.name,a.description.replaceAll(` +`," "));let r=this.contentEl.createDiv(),a=new Cs(r,this.plugin.settingsTab.component,this.plugin.settings.customRegexes,this.isMobile,()=>{this.plugin.saveSettings()});this.addSettingSearchInfo(r,a.name,a.description.replaceAll(` `," ")+a.warning.replaceAll(` -`," "))}};var Qu=require("obsidian");var ks=class{constructor(t,i,n,r){this.containerEl=t;this.searchZeroState=i;this.tabNameToTab=n;this.onFocus=r;this.searchSettingInfo=new Map;for(let[a,s]of n)this.searchSettingInfo.set(a,s.searchSettingInfo);this.display()}display(){let t=new Qu.Setting(this.containerEl);t.settingEl.style.border="none",t.addSearch(i=>{this.search=i}),this.search.setPlaceholder(E("tabs.default-search-bar-text")),this.search.inputEl.onfocus=()=>{this.onFocus()},this.search.onChange(i=>{this.searchSettings(i.toLowerCase())})}searchSettings(t){let i=new Set,n=function(r,a){ki(r),i.has(a)||i.add(a)};for(let[r,a]of this.searchSettingInfo)for(let s of a)if(t.trim()===""||s.alias?.includes(t)||s.description.includes(t)||s.name.includes(t))n(s.containerEl,r);else if(s.options)for(let o of s.options){if(o.description.toLowerCase().includes(t)||o.name.toLowerCase().includes(t)){n(s.containerEl,r);break}else if(o.options){for(let l of o.options)if(l.description.toLowerCase().includes(t)||l.value.toLowerCase().includes(t)){n(s.containerEl,r);break}}Xe(s.containerEl)}else Xe(s.containerEl);for(let[r,a]of this.tabNameToTab)i.has(r)?ki(a.headingEl):Xe(a.headingEl);i.size===0?ki(this.searchZeroState):Xe(this.searchZeroState)}focusOnInput(){this.search.inputEl.focus()}};var Ss=un(Xr());var Al=require("obsidian");var jr=class{constructor(t,i,n,r=!0){this.containerEl=t;this.name=i;this.description=n;this.disabled=r;this.display()}display(){let t=this.containerEl.createDiv(),i=t.createDiv("setting-item-info");this.nameEl=i.createDiv("setting-item-name"),this.nameEl.setText(this.name),this.descEl=i.createDiv("setting-item-description"),this.descEl.setText(this.description),this.inputEl=t.createDiv().createEl("textarea",{cls:"full-width"}),this.inputEl.spellcheck=!1,this.inputEl.disabled=this.disabled}getInput(){return this.inputEl.value}};var ix=Object.keys(Ss.default.levels),tx=Object.values(Ss.default.levels),zs=class extends Si{constructor(t,i,n,r){super(t,i,"Debug",n,r),this.display()}display(){let t=this.contentEl.createDiv(),i=E("tabs.debug.log-level.name"),n=E("tabs.debug.log-level.description");new Al.Setting(t).setName(i).setDesc(n).addDropdown(o=>{ix.forEach((l,d)=>{o.addOption(tx[d],E("enums."+l))}),o.setValue(this.plugin.settings.logLevel+""),o.onChange(async l=>{let d=parseInt(l);isNaN(d)&&(d=Ss.default.levels.ERROR),na(d),this.plugin.settings.logLevel=d,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.linter-config.name"),n=E("tabs.debug.linter-config.description"),new jr(t,i,n).inputEl.setText(JSON.stringify(this.plugin.settings,null,2)),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.log-collection.name"),n=E("tabs.debug.log-collection.description");let a=new Al.Setting(t).setName(i).addToggle(o=>{o.setValue(this.plugin.settings.recordLintOnSaveLogs).onChange(async l=>{this.plugin.settings.recordLintOnSaveLogs=l,await this.plugin.saveSettings()})});wi(n,a.descEl),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.linter-logs.name"),n=E("tabs.debug.linter-logs.description");let s=new jr(t,i,"");s.inputEl.setText(ia.join(` -`)),wi(n,s.descEl),this.addSettingSearchInfo(t,i,n)}};var As=class extends nn.PluginSettingTab{constructor(i,n){super(i,n);this.tabNameToTab=new Map;this.selectedTab="General";this.plugin=n}display(){let{containerEl:i}=this;i.empty();let n=i.createDiv("linter-setting-title");nn.Platform.isMobile?n.addClass("linter-mobile"):n.createEl("h1").setText(E("linter-title")),this.navContainer=i.createEl("nav",{cls:"linter-setting-header"}),this.tabNavEl=this.navContainer.createDiv("linter-setting-tab-group"),this.settingsContentEl=i.createDiv("linter-setting-content"),this.addTabs(nn.Platform.isMobile),this.createSearchZeroState(nn.Platform.isMobile),this.generateSearchBar(n),this.selectedTab==""&&this.tabSearcher.focusOnInput()}addTabs(i){this.addTab(new ds(this.tabNavEl,this.settingsContentEl,i,this.plugin));for(let n of Object.values(P))this.addTab(new us(this.tabNavEl,this.settingsContentEl,n,Bn.get(n),i,this.plugin));this.addTab(new ws(this.tabNavEl,this.settingsContentEl,i,this.app,this.plugin)),this.addTab(new zs(this.tabNavEl,this.settingsContentEl,i,this.plugin))}generateSearchBar(i){this.tabSearcher=new ks(i,this.searchZeroState,this.tabNameToTab,()=>{for(let n of this.tabNameToTab.values()){n.updateTabDisplayMode(!1,"entering search mode by focusing on the search input box");let r=this.tabSearcher.search.getValue();this.selectedTab==""&&r.trim()!=""&&this.tabSearcher.searchSettings(r.toLowerCase()),this.selectedTab=""}})}createSearchZeroState(i){this.searchZeroState=this.settingsContentEl.createDiv(),Xe(this.searchZeroState),this.searchZeroState.createEl(i?"h3":"h2",{text:E("empty-search-results-text")}).style.textAlign="center"}addTab(i){i.navButton.onclick=()=>{this.onTabClick(i.name)},i.updateTabDisplayMode(this.selectedTab===i.name,"the status is still the same"),this.tabNameToTab.set(i.name,i)}onTabClick(i){if(this.selectedTab!==i){if(this.selectedTab=="")for(let[n,r]of this.tabNameToTab)r.updateTabDisplayMode(n===i,"leaving search mode by selecting a tab");else Xe(this.searchZeroState),this.tabNameToTab.get(i).updateTabDisplayMode(!0),this.tabNameToTab.get(this.selectedTab).updateTabDisplayMode(!1);this.selectedTab=i}}};var nx={en:"en-gb",zh:"zh-cn","zh-TW":"zh-tw",ru:"ru",ko:"ko",it:"it",id:"id",ro:"ro","pt-BR":"pt-br",cz:"cs",da:"da",de:"de",es:"es",fr:"fr",no:"nn",pl:"pl",pt:"pt",tr:"tr",hi:"hi",nl:"nl",ar:"ar",ja:"ja"},rx={ruleConfigs:{},lintOnSave:!1,recordLintOnSaveLogs:!1,displayChanged:!0,settingsConvertedToConfigKeyValues:!1,foldersToIgnore:[],linterLocale:"system-default",logLevel:Ju.default.levels.ERROR,lintCommands:[],customRegexes:[],commonStyles:{aliasArrayStyle:"single-line",tagArrayStyle:"single-line",minimumNumberOfDollarSignsToBeAMathBlock:2,escapeCharacter:'"',removeUnnecessaryEscapeCharsForMultiLineArrays:!1}},Ls=class extends oe.Plugin{constructor(){super(...arguments);this.eventRefs=[];this.isEnabled=!0;this.rulesRunner=new ls}async onload(){oa(window.localStorage.getItem("language")),bn(E("logs.plugin-load")),this.isEnabled=!0;for(let i in we){let n=we[i];(0,oe.addIcon)(n.id,n.source)}await this.loadSettings(),this.addCommands(),this.registerEventsAndSaveCallback(),this.addSettingTab(new As(this.app,this))}async onunload(){bn(E("logs.plugin-unload")),this.isEnabled=!1;for(let i of this.eventRefs)this.app.workspace.offref(i)}async loadSettings(){let i=await this.loadData();this.settings=Object.assign({},rx,i),na(this.settings.logLevel),this.setOrUpdateMomentInstance(),this.settings.settingsConvertedToConfigKeyValues||this.moveConfigValuesToKeyBasedFormat();for(let n of Ki)this.settings.ruleConfigs[n.alias]||(this.settings.ruleConfigs[n.alias]=n.getDefaultOptions())}async saveSettings(){await this.saveData(this.settings)}addCommands(){this.addCommand({id:"lint-file",name:E("commands.lint-file.name"),editorCallback:i=>{vn(this.settings.recordLintOnSaveLogs),Gs(),this.runLinterEditor(i),vn(!1)},icon:we.file.id,hotkeys:[{modifiers:["Mod","Alt"],key:"L"}]}),this.addCommand({id:"lint-file-unless-ignored",name:E("commands.lint-file-unless-ignored.name"),editorCallback:i=>{let n=this.app.workspace.getActiveFile();this.shouldIgnoreFile(n)||this.runLinterEditor(i)},icon:we.file.id}),this.addCommand({id:"lint-all-files",name:E("commands.lint-all-files.name"),icon:we.vault.id,callback:()=>{let i=E("commands.lint-all-files.start-message"),n=E("commands.lint-all-files.submit-button-text"),r=E("commands.lint-all-files.submit-button-notice-text");new Mr(this.app,i,n,r,()=>this.runLinterAllFiles(this.app)).open()}}),this.addCommand({id:"lint-all-files-in-folder",name:E("commands.lint-all-files-in-folder.name"),icon:we.folder.id,editorCheckCallback:(i,n)=>{if(i)return!this.app.workspace.getActiveFile().parent.isRoot();this.createFolderLintModal(this.app.workspace.getActiveFile().parent)}}),this.addCommand({id:"paste-as-plain-text",name:E("commands.paste-as-plain-text.name"),editorCallback:i=>this.pasteAsPlainText(i)})}registerEventsAndSaveCallback(){let i=this.app.workspace.on("editor-paste",s=>{s.defaultPrevented||this.modifyPasteEvent(s)});this.registerEvent(i),this.eventRefs.push(i),i=this.app.workspace.on("file-menu",(s,o,l)=>this.onMenuOpenCallback(s,o,l)),this.registerEvent(i),this.eventRefs.push(i);let n=this.app.commands?.commands?.["editor:save-file"];typeof n?.callback=="function"&&(n.callback=()=>{if(this.settings.lintOnSave&&this.isEnabled){let s=this.getEditor();if(!s)return;let o=this.app.workspace.getActiveFile();this.shouldIgnoreFile(o)||(vn(this.settings.recordLintOnSaveLogs),Gs(),this.runLinterEditor(s),vn(!1))}});let a=this;window.CodeMirrorAdapter.commands.save=()=>{a.app.commands.executeCommandById("editor:save-file")}}onMenuOpenCallback(i,n,r){n instanceof oe.TFile&&n.extension==="md"?i.addItem(a=>{a.setIcon(we.file.id).setTitle(E("commands.lint-file-pop-up-menu-text.name")).onClick(async()=>{this.runLinterFile(n)})}):n instanceof oe.TFolder&&i.addItem(a=>{a.setTitle(E("commands.lint-folder-pop-up-menu-text.name")).setIcon(we.folder.id).onClick(()=>this.createFolderLintModal(n))})}shouldIgnoreFile(i){for(let n of this.settings.foldersToIgnore)if(n.length>0&&i.path.startsWith(n))return!0;return!1}async runLinterFile(i){let n=Kc(await this.app.vault.read(i)),r=this.rulesRunner.lintText(Cr(n,i,this.momentLocale,this.settings));await this.app.vault.modify(i,r)}async runLinterAllFiles(i){let n=0;await Promise.all(i.vault.getMarkdownFiles().map(async a=>{if(!this.shouldIgnoreFile(a))try{await this.runLinterFile(a)}catch(s){this.handleLintError(a,s,E("commands.lint-all-files.error-message")+" '{FILE_PATH}'"),n+=1}}));let r=0;if(n===0)new oe.Notice(E("commands.lint-all-files.success-message"),r);else{let a=n===1?E("commands.lint-all-files.errors-message-singular"):E("commands.lint-all-files.errors-message-plural").replace("{NUM}",n.toString());new oe.Notice(a,r)}}async runLinterAllFilesInFolder(i){bn(E("logs.folder-lint")+i.name);let n=0,r=0,a=(0,oe.normalizePath)(i.path)+"/";await Promise.all(this.app.vault.getMarkdownFiles().map(async o=>{if((0,oe.normalizePath)(o.path).startsWith(a)&&!this.shouldIgnoreFile(o)){try{await this.runLinterFile(o)}catch(l){this.handleLintError(o,l,E("commands.lint-all-files-in-folder.error-message")+" '{FILE_PATH}'"),n+=1}r++}}));let s=0;if(n===0)new oe.Notice(E("commands.lint-all-files-in-folder.success-message").replace("{NUM}",r.toString()).replace("{FOLDER_NAME}",i.name),s);else{let o=n===1?E("commands.lint-all-files-in-folder.message-singular").replace("{NUM}",r.toString()).replace("{FOLDER_NAME}",i.name):E("commands.lint-all-files-in-folder.message-plural").replace("{FILE_COUNT}",r.toString()).replace("{FOLDER_NAME}",i.name).replace("{ERROR_COUNT}",n.toString());new oe.Notice(o,s)}}createFolderLintModal(i){let n=E("commands.lint-all-files-in-folder.start-message").replace("{FOLDER_NAME}",i.name),r=E("commands.lint-all-files-in-folder.submit-button-text").replace("{FOLDER_NAME}",i.name),a=E("commands.lint-all-files-in-folder.submit-button-notice-text").replace("{FOLDER_NAME}",i.name);new Mr(this.app,n,r,a,()=>this.runLinterAllFilesInFolder(i)).open()}runLinterEditor(i){bn(E("logs.linter-run"));let n=this.app.workspace.getActiveFile(),r=i.getValue(),a;try{a=this.rulesRunner.lintText(Cr(r,n,this.momentLocale,this.settings))}catch(u){this.handleLintError(n,u,E("commands.lint-file.error-message")+" '{FILE_PATH}'",!1);return}let o=new rn.default.diff_match_patch().diff_main(r,a),l="";o.forEach(u=>{function p(y){let w=y.split(` -`);return{line:w.length-1,ch:w[w.length-1].length}}let[g,h]=u;if(g==rn.default.DIFF_INSERT)i.replaceRange(h,p(l)),l+=h;else if(g==rn.default.DIFF_DELETE){let y=p(l),w=l;w+=h;let b=p(w);i.replaceRange("",y,b)}else l+=h});let d=o.map(u=>u[0]==rn.default.DIFF_INSERT?u[1].length:0).reduce((u,p)=>u+p,0),c=o.map(u=>u[0]==rn.default.DIFF_DELETE?u[1].length:0).reduce((u,p)=>u+p,0);this.displayChangedMessage(d,c);try{this.rulesRunner.runCustomCommands(this.settings.lintCommands,this.app.commands)}catch(u){this.handleLintError(n,u,E("commands.lint-file.error-message")+" '{FILE_PATH}'",!1)}}async setOrUpdateMomentInstance(){let i=localStorage.getItem("language")||"en",n=navigator.language?.toLowerCase(),r=nx[i];this.settings.linterLocale!=="system-default"?r=this.settings.linterLocale:n.startsWith(i)&&(r=n),this.momentLocale=r;let a=Ts.moment.locale(),s=Ts.moment.locale(r);fi(E("logs.moment-locale-not-found").replace("{MOMENT_LOCALE}",r).replace("{CURRENT_LOCALE}",s)),Ts.moment.locale(a)}displayChangedMessage(i,n){if(this.settings.displayChanged){let r=m` +`," "))}};var fp=require("obsidian");var Ms=class{constructor(t,i,n,r){this.containerEl=t;this.searchZeroState=i;this.tabNameToTab=n;this.onFocus=r;this.searchSettingInfo=new Map;for(let[a,s]of n)this.searchSettingInfo.set(a,s.searchSettingInfo);this.display()}display(){let t=new fp.Setting(this.containerEl);t.settingEl.style.border="none",t.addSearch(i=>{this.search=i}),this.search.setPlaceholder(E("tabs.default-search-bar-text")),this.search.inputEl.onfocus=()=>{this.onFocus()},this.search.onChange(i=>{this.searchSettings(i.toLowerCase())})}searchSettings(t){let i=new Set,n=function(r,a){ki(r),i.has(a)||i.add(a)};for(let[r,a]of this.searchSettingInfo)for(let s of a)if(t.trim()===""||s.alias?.includes(t)||s.description.includes(t)||s.name.includes(t))n(s.containerEl,r);else if(s.options)for(let o of s.options){if(o.description.toLowerCase().includes(t)||o.name.toLowerCase().includes(t)){n(s.containerEl,r);break}else if(o.options){for(let l of o.options)if(l.description.toLowerCase().includes(t)||l.value.toLowerCase().includes(t)){n(s.containerEl,r);break}}ei(s.containerEl)}else ei(s.containerEl);for(let[r,a]of this.tabNameToTab)i.has(r)?ki(a.headingEl):ei(a.headingEl);i.size===0?ki(this.searchZeroState):ei(this.searchZeroState)}focusOnInput(){this.search.inputEl.focus()}};var _s=gn(sa());var Bl=require("obsidian");var Wr=class{constructor(t,i,n,r=!0){this.containerEl=t;this.name=i;this.description=n;this.disabled=r;this.display()}display(){let t=this.containerEl.createDiv(),i=t.createDiv("setting-item-info");this.nameEl=i.createDiv("setting-item-name"),this.nameEl.setText(this.name),this.descEl=i.createDiv("setting-item-description"),this.descEl.setText(this.description),this.inputEl=t.createDiv().createEl("textarea",{cls:"full-width"}),this.inputEl.spellcheck=!1,this.inputEl.disabled=this.disabled}getInput(){return this.inputEl.value}};var Tx=Object.keys(_s.default.levels),Ax=Object.values(_s.default.levels),Is=class extends Si{constructor(t,i,n,r){super(t,i,"Debug",n,r),this.display()}display(){let t=this.contentEl.createDiv(),i=E("tabs.debug.log-level.name"),n=E("tabs.debug.log-level.description");new Bl.Setting(t).setName(i).setDesc(n).addDropdown(o=>{Tx.forEach((l,d)=>{o.addOption(Ax[d],E("enums."+l))}),o.setValue(this.plugin.settings.logLevel+""),o.onChange(async l=>{let d=parseInt(l);isNaN(d)&&(d=_s.default.levels.ERROR),da(d),this.plugin.settings.logLevel=d,await this.plugin.saveSettings()})}),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.linter-config.name"),n=E("tabs.debug.linter-config.description"),new Wr(t,i,n).inputEl.setText(JSON.stringify(this.plugin.settings,null,2)),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.log-collection.name"),n=E("tabs.debug.log-collection.description");let a=new Bl.Setting(t).setName(i).addToggle(o=>{o.setValue(this.plugin.settings.recordLintOnSaveLogs).onChange(async l=>{this.plugin.settings.recordLintOnSaveLogs=l,await this.plugin.saveSettings()})});wi(n,a.descEl,this.plugin.settingsTab.component),this.addSettingSearchInfo(t,i,n),t=this.contentEl.createDiv(),i=E("tabs.debug.linter-logs.name"),n=E("tabs.debug.linter-logs.description");let s=new Wr(t,i,"");s.inputEl.setText(la.join(` +`)),wi(n,s.descEl,this.plugin.settingsTab.component),this.addSettingSearchInfo(t,i,n)}};var Bs=class extends Gi.PluginSettingTab{constructor(i,n){super(i,n);this.plugin=n;this.tabNameToTab=new Map;this.selectedTab="General";this.component=new Gi.Component}display(){let{containerEl:i}=this;this.component.load(),i.empty();let n=i.createDiv("linter-setting-title");Gi.Platform.isMobile?n.addClass("linter-mobile"):n.createEl("h1").setText(E("linter-title")),this.navContainer=i.createEl("nav",{cls:"linter-setting-header"}),this.tabNavEl=this.navContainer.createDiv("linter-setting-tab-group"),this.settingsContentEl=i.createDiv("linter-setting-content"),this.addTabs(Gi.Platform.isMobile),this.createSearchZeroState(Gi.Platform.isMobile),this.generateSearchBar(n),this.selectedTab==""&&this.tabSearcher.focusOnInput()}hide(){this.component.unload()}addTabs(i){this.addTab(new xs(this.tabNavEl,this.settingsContentEl,i,this.plugin));for(let n of Object.values(N))this.addTab(new ws(this.tabNavEl,this.settingsContentEl,n,Nn.get(n),i,this.plugin));this.addTab(new qs(this.tabNavEl,this.settingsContentEl,i,this.app,this.plugin)),this.addTab(new Is(this.tabNavEl,this.settingsContentEl,i,this.plugin))}generateSearchBar(i){this.tabSearcher=new Ms(i,this.searchZeroState,this.tabNameToTab,()=>{for(let n of this.tabNameToTab.values()){n.updateTabDisplayMode(!1,"entering search mode by focusing on the search input box");let r=this.tabSearcher.search.getValue();this.selectedTab==""&&r.trim()!=""&&this.tabSearcher.searchSettings(r.toLowerCase()),this.selectedTab=""}})}createSearchZeroState(i){this.searchZeroState=this.settingsContentEl.createDiv(),ei(this.searchZeroState),this.searchZeroState.createEl(i?"h3":"h2",{text:E("empty-search-results-text")}).style.textAlign="center"}addTab(i){i.navButton.onclick=()=>{this.onTabClick(i.name)},i.updateTabDisplayMode(this.selectedTab===i.name,"the status is still the same"),this.tabNameToTab.set(i.name,i)}onTabClick(i){if(this.selectedTab!==i){if(this.selectedTab=="")for(let[n,r]of this.tabNameToTab)r.updateTabDisplayMode(n===i,"leaving search mode by selecting a tab");else ei(this.searchZeroState),this.tabNameToTab.get(i).updateTabDisplayMode(!0),this.tabNameToTab.get(this.selectedTab).updateTabDisplayMode(!1);this.selectedTab=i}}};var Ex={en:"en-gb",zh:"zh-cn","zh-TW":"zh-tw",ru:"ru",ko:"ko",it:"it",id:"id",ro:"ro","pt-BR":"pt-br",cz:"cs",da:"da",de:"de",es:"es",fr:"fr",no:"nn",pl:"pl",pt:"pt",tr:"tr",hi:"hi",nl:"nl",ar:"ar",ja:"ja"},Qi=0,Lx={ruleConfigs:{},lintOnSave:!1,recordLintOnSaveLogs:!1,displayChanged:!0,settingsConvertedToConfigKeyValues:!1,foldersToIgnore:[],linterLocale:"system-default",logLevel:yp.default.levels.ERROR,lintCommands:[],customRegexes:[],commonStyles:{aliasArrayStyle:"single-line",tagArrayStyle:"single-line",minimumNumberOfDollarSignsToBeAMathBlock:2,escapeCharacter:'"',removeUnnecessaryEscapeCharsForMultiLineArrays:!1}},Rs=class extends oe.Plugin{constructor(){super(...arguments);this.eventRefs=[];this.isEnabled=!0;this.rulesRunner=new bs}async onload(){ga(window.localStorage.getItem("language")),wn(E("logs.plugin-load")),this.isEnabled=!0;for(let i in we){let n=we[i];(0,oe.addIcon)(n.id,n.source)}await this.loadSettings(),this.addCommands(),this.registerEventsAndSaveCallback(),this.settingsTab=new Bs(this.app,this),this.addSettingTab(this.settingsTab)}async onunload(){wn(E("logs.plugin-unload")),this.isEnabled=!1;for(let i of this.eventRefs)this.app.workspace.offref(i)}async loadSettings(){let i=await this.loadData();this.settings=Object.assign({},Lx,i),da(this.settings.logLevel),this.setOrUpdateMomentInstance(),this.settings.settingsConvertedToConfigKeyValues||this.moveConfigValuesToKeyBasedFormat();for(let n of Ki)this.settings.ruleConfigs[n.alias]||(this.settings.ruleConfigs[n.alias]=n.getDefaultOptions())}async saveSettings(){await this.saveData(this.settings)}addCommands(){this.addCommand({id:"lint-file",name:E("commands.lint-file.name"),editorCallback:i=>{kn(this.settings.recordLintOnSaveLogs),ao(),this.runLinterEditor(i),kn(!1)},icon:we.file.id,hotkeys:[{modifiers:["Mod","Alt"],key:"L"}]}),this.addCommand({id:"lint-file-unless-ignored",name:E("commands.lint-file-unless-ignored.name"),editorCallback:i=>{let n=this.app.workspace.getActiveFile();this.shouldIgnoreFile(n)||this.runLinterEditor(i)},icon:we.file.id}),this.addCommand({id:"lint-all-files",name:E("commands.lint-all-files.name"),icon:we.vault.id,callback:()=>{let i=E("commands.lint-all-files.start-message"),n=E("commands.lint-all-files.submit-button-text"),r=E("commands.lint-all-files.submit-button-notice-text");new Dr(this.app,i,n,r,()=>this.runLinterAllFiles(this.app)).open()}}),this.addCommand({id:"lint-all-files-in-folder",name:E("commands.lint-all-files-in-folder.name"),icon:we.folder.id,editorCheckCallback:(i,n)=>{if(i)return!this.app.workspace.getActiveFile().parent.isRoot();this.createFolderLintModal(this.app.workspace.getActiveFile().parent)}}),this.addCommand({id:"paste-as-plain-text",name:E("commands.paste-as-plain-text.name"),editorCallback:i=>this.pasteAsPlainText(i)})}registerEventsAndSaveCallback(){let i=this.app.workspace.on("editor-paste",s=>{s.defaultPrevented||this.modifyPasteEvent(s)});this.registerEvent(i),this.eventRefs.push(i),i=this.app.workspace.on("file-menu",(s,o,l)=>this.onMenuOpenCallback(s,o,l)),this.registerEvent(i),this.eventRefs.push(i);let n=this.app.commands?.commands?.["editor:save-file"];typeof n?.callback=="function"&&(n.callback=()=>{if(this.settings.lintOnSave&&this.isEnabled){let s=this.getEditor();if(!s)return;let o=this.app.workspace.getActiveFile();this.shouldIgnoreFile(o)||(kn(this.settings.recordLintOnSaveLogs),ao(),this.runLinterEditor(s),kn(!1))}});let a=this;window.CodeMirrorAdapter.commands.save=()=>{a.app.commands.executeCommandById("editor:save-file")}}onMenuOpenCallback(i,n,r){n instanceof oe.TFile&&n.extension==="md"?i.addItem(a=>{a.setIcon(we.file.id).setTitle(E("commands.lint-file-pop-up-menu-text.name")).onClick(async()=>{this.runLinterFile(n)})}):n instanceof oe.TFolder&&i.addItem(a=>{a.setTitle(E("commands.lint-folder-pop-up-menu-text.name")).setIcon(we.folder.id).onClick(()=>this.createFolderLintModal(n))})}shouldIgnoreFile(i){for(let n of this.settings.foldersToIgnore)if(n.length>0&&i.path.startsWith(n))return!0;return!1}async runLinterFile(i){let n=Jc(await this.app.vault.read(i)),r=this.rulesRunner.lintText(Rr(n,i,this.momentLocale,this.settings));await this.app.vault.modify(i,r)}async runLinterAllFiles(i){let n=0;if(await Promise.all(i.vault.getMarkdownFiles().map(async r=>{if(!this.shouldIgnoreFile(r))try{await this.runLinterFile(r)}catch(a){this.handleLintError(r,a,E("commands.lint-all-files.error-message")+" '{FILE_PATH}'"),n+=1}})),n===0)new oe.Notice(E("commands.lint-all-files.success-message"),Qi);else{let r=n===1?E("commands.lint-all-files.errors-message-singular"):E("commands.lint-all-files.errors-message-plural").replace("{NUM}",n.toString());new oe.Notice(r,Qi)}}async runLinterAllFilesInFolder(i){wn(E("logs.folder-lint")+i.name);let n=0,r=0,a=(0,oe.normalizePath)(i.path)+"/";if(await Promise.all(this.app.vault.getMarkdownFiles().map(async s=>{if((0,oe.normalizePath)(s.path).startsWith(a)&&!this.shouldIgnoreFile(s)){try{await this.runLinterFile(s)}catch(o){this.handleLintError(s,o,E("commands.lint-all-files-in-folder.error-message")+" '{FILE_PATH}'"),n+=1}r++}})),n===0)new oe.Notice(E("commands.lint-all-files-in-folder.success-message").replace("{NUM}",r.toString()).replace("{FOLDER_NAME}",i.name),Qi);else{let s=n===1?E("commands.lint-all-files-in-folder.message-singular").replace("{NUM}",r.toString()).replace("{FOLDER_NAME}",i.name):E("commands.lint-all-files-in-folder.message-plural").replace("{FILE_COUNT}",r.toString()).replace("{FOLDER_NAME}",i.name).replace("{ERROR_COUNT}",n.toString());new oe.Notice(s,Qi)}}createFolderLintModal(i){let n=E("commands.lint-all-files-in-folder.start-message").replace("{FOLDER_NAME}",i.name),r=E("commands.lint-all-files-in-folder.submit-button-text").replace("{FOLDER_NAME}",i.name),a=E("commands.lint-all-files-in-folder.submit-button-notice-text").replace("{FOLDER_NAME}",i.name);new Dr(this.app,n,r,a,()=>this.runLinterAllFilesInFolder(i)).open()}runLinterEditor(i){wn(E("logs.linter-run"));let n=this.app.workspace.getActiveFile(),r=i.getValue(),a;try{a=this.rulesRunner.lintText(Rr(r,n,this.momentLocale,this.settings))}catch(u){this.handleLintError(n,u,E("commands.lint-file.error-message")+" '{FILE_PATH}'",!1);return}let o=new on.default.diff_match_patch().diff_main(r,a),l="";o.forEach(u=>{function m(v){let w=v.split(` +`);return{line:w.length-1,ch:w[w.length-1].length}}let[g,h]=u;if(g==on.default.DIFF_INSERT)i.replaceRange(h,m(l)),l+=h;else if(g==on.default.DIFF_DELETE){let v=m(l),w=l;w+=h;let z=m(w);i.replaceRange("",v,z)}else l+=h});let d=o.map(u=>u[0]==on.default.DIFF_INSERT?u[1].length:0).reduce((u,m)=>u+m,0),c=o.map(u=>u[0]==on.default.DIFF_DELETE?u[1].length:0).reduce((u,m)=>u+m,0);this.displayChangedMessage(d,c);try{this.rulesRunner.runCustomCommands(this.settings.lintCommands,this.app.commands)}catch(u){this.handleLintError(n,u,E("commands.lint-file.error-message")+" '{FILE_PATH}'",!1)}}async setOrUpdateMomentInstance(){let i=localStorage.getItem("language")||"en",n=navigator.language?.toLowerCase(),r=Ex[i];this.settings.linterLocale!=="system-default"?r=this.settings.linterLocale:n.startsWith(i)&&(r=n),this.momentLocale=r;let a=Fs.moment.locale(),s=Fs.moment.locale(r);fi(E("logs.moment-locale-not-found").replace("{MOMENT_LOCALE}",r).replace("{CURRENT_LOCALE}",s)),Fs.moment.locale(a)}displayChangedMessage(i,n){if(this.settings.displayChanged){let r=p` ${i} ${E("notice-text.characters-added")} ${n} ${E("notice-text.characters-removed")} `;new oe.Notice(r)}}handleLintError(i,n,r,a=!0){let s=r.replace("{FILE_PATH}",i.path),o=E("logs.see-console");n instanceof Pi?a?new oe.Notice(`${s} ${n.message}. -${o}`):new oe.Notice(`${n.message}. -${o}`):new oe.Notice(`${E("logs.unknown-error")} ${o}`),vc(s,n)}async modifyPasteEvent(i){let n=this.getEditor();if(!n)return;let r=i.clipboardData.getData("text/plain");if(!r)return;if(Pt.test(r.trim())){Ji(E("logs.paste-link-warning"));return}if(i.stopPropagation(),i.preventDefault(),!i.defaultPrevented)return;let a=this.app.vault.getConfig("autoConvertHtml"),s=i.clipboardData.getData("text/html"),o=s&&a?(0,oe.htmlToMarkdown)(s):r,l=n.listSelections();if(l.length===1){let d=l[0];o=this.rulesRunner.runPasteLint(this.getLineContent(n,d),Cr(o,null,this.momentLocale,this.settings)),n.replaceSelection(o)}else this.handleMultiCursorPaste(n,l,o)}handleMultiCursorPaste(i,n,r){let a=this.convertContentIntoProperPasteContent(n,r),s=[];n.forEach((o,l)=>{r=this.rulesRunner.runPasteLint(this.getLineContent(i,o),Cr(a[l],null,this.momentLocale,this.settings)),s.push({text:r,from:o.anchor,to:o.head})}),i.transaction({changes:s})}convertContentIntoProperPasteContent(i,n){let r=n.split(` -`),a=[];if(r.length%i.length!==0)for(let s=0;s{r=this.rulesRunner.runPasteLint(this.getLineContent(i,o),Rr(a[l],null,this.momentLocale,this.settings)),s.push({text:r,from:o.anchor,to:o.head})}),i.transaction({changes:s})}convertContentIntoProperPasteContent(i,n){let r=n.split(` +`),a=[];if(r.length%i.length!==0)for(let s=0;s { + const dropVariants = this.getDropVariants(); + for (const v of dropVariants) { const { placeToMove } = v; - switch (v.whereToMove) { - case "before": - case "after": - v.left = Math.round(view.coordsAtPos(editor.posToOffset({ - line: placeToMove.getFirstLineContentStart().line, - ch: placeToMove.getFirstLineIndent().length, - })).left); - break; - case "inside": - v.left = Math.round(view.coordsAtPos(editor.posToOffset({ - line: placeToMove.getFirstLineContentStart().line, - ch: placeToMove.getFirstLineIndent().length, - })).left + - view.defaultCharacterWidth * 2); - break; + v.left = this.leftPadding + (v.level - 1) * this.tabWidth; + const positionAfterList = v.whereToMove === "after" || v.whereToMove === "inside"; + const line = positionAfterList + ? placeToMove.getContentEndIncludingChildren().line + : placeToMove.getFirstLineContentStart().line; + const linePos = editor.posToOffset({ + line, + ch: 0, + }); + v.top = view.coordsAtPos(linePos, -1).top; + if (positionAfterList) { + v.top += view.lineBlockAt(linePos).height; } - switch (v.whereToMove) { - case "before": - v.top = Math.round(view.coordsAtPos(editor.posToOffset(placeToMove.getFirstLineContentStart())).top); - break; - case "after": - case "inside": - v.top = Math.round(view.coordsAtPos(editor.posToOffset(placeToMove.getContentEndIncludingChildren())).top + view.defaultLineHeight); - break; - } - v.dist = Math.abs(Math.hypot(y - v.top, x - v.left)); - return v; - }) - .sort((a, b) => { - return a.dist - b.dist; - }) + // Better vertical alignment + v.top -= 8; + } + const nearestLineTop = dropVariants + .sort((a, b) => Math.abs(y - a.top) - Math.abs(y - b.top)) + .first().top; + const variansOnNearestLine = dropVariants.filter((v) => Math.abs(v.top - nearestLineTop) <= 4); + this.dropVariant = variansOnNearestLine + .sort((a, b) => Math.abs(x - a.left) - Math.abs(x - b.left)) .first(); } addDropVariant(v) { @@ -1309,7 +1306,6 @@ class DragAndDropState { level, left: 0, top: 0, - dist: 0, placeToMove, whereToMove: "before", }); @@ -1318,7 +1314,6 @@ class DragAndDropState { level, left: 0, top: 0, - dist: 0, placeToMove, whereToMove: "after", }); @@ -1331,7 +1326,6 @@ class DragAndDropState { level: level + 1, left: 0, top: 0, - dist: 0, placeToMove, whereToMove: "inside", }); @@ -1343,6 +1337,23 @@ class DragAndDropState { }; visit(this.root.getChildren()); } + calculateLeftPadding() { + this.leftPadding = this.view.coordsAtPos(0, -1).left; + } + calculateTabWidth() { + const { view } = this; + const singleIndent = language.indentString(view.state, language.getIndentUnit(view.state)); + for (let i = 1; i <= view.state.doc.lines; i++) { + const line = view.state.doc.line(i); + if (line.text.startsWith(singleIndent)) { + const a = view.coordsAtPos(line.from, -1); + const b = view.coordsAtPos(line.from + singleIndent.length, -1); + this.tabWidth = b.left - a.left; + return; + } + } + this.tabWidth = view.defaultCharacterWidth * language.getIndentUnit(view.state); + } } const dndStarted = state.StateEffect.define({ map: (lines, change) => lines.map((l) => change.mapPos(l)), @@ -2165,7 +2176,7 @@ function compareReleases(a, b) { return aMajor - bMajor; } function parseChangelog() { - const markdown = "## 4.5.0\n\n### Drag-and-Drop (Experimental)\n\nNow you can drag and drop items using your mouse! 🎉\n\nThis feature is experimental and is disabled by default. To enable this feature, open the plugin settings and turn on the `Drag-and-Drop (Experimental)` setting.\n\nIf you find a bug, please report the [issue](https://github.com/vslinko/obsidian-outliner/issues). Leave your other feedback [here](https://github.com/vslinko/obsidian-outliner/discussions/190).\n\n\n"; + const markdown = "## 4.7.0\n\n### Drag-and-Drop\n\nDrag-and-drop got a few updates and it's now enabled by default for all Obsidian Desktop users!\n\nYou can still disable this feature in the plugin's settings.\n\nIf you find a bug, please report the [issue](https://github.com/vslinko/obsidian-outliner/issues). Leave your other feedback [here](https://github.com/vslinko/obsidian-outliner/discussions).\n\n\n\n## 4.5.0\n\n### Drag-and-Drop (Experimental)\n\nNow you can drag and drop items using your mouse! 🎉\n\nThis feature is experimental and is disabled by default. To enable this feature, open the plugin settings and turn on the `Drag-and-Drop (Experimental)` setting.\n\nIf you find a bug, please report the [issue](https://github.com/vslinko/obsidian-outliner/issues). Leave your other feedback [here](https://github.com/vslinko/obsidian-outliner/discussions/190).\n\n\n"; const releaseNotes = []; let version; let content = ""; @@ -2204,7 +2215,7 @@ class ReleaseNotesAnnouncement { if (releaseNotes.trim().length === 0) { return; } - const modalTitle = `Welcome to Obsidian Outliner ${"4.6.7"}`; + const modalTitle = `Welcome to Obsidian Outliner ${"4.7.1"}`; this.modal = new ReleaseNotesModal(this.plugin, modalTitle, releaseNotes, this.handleClose); this.modal.open(); }; @@ -2212,7 +2223,7 @@ class ReleaseNotesAnnouncement { if (!this.modal) { return; } - this.settings.previousRelease = "4.6.7"; + this.settings.previousRelease = "4.7.1"; yield this.settings.save(); }); } @@ -2329,9 +2340,7 @@ class ObsidianOutlinerPluginSettingTab extends obsidian.PluginSettingTab { yield this.settings.save(); })); }); - new obsidian.Setting(containerEl) - .setName("Drag-and-Drop (Experimental)") - .addToggle((toggle) => { + new obsidian.Setting(containerEl).setName("Drag-and-Drop").addToggle((toggle) => { toggle.setValue(this.settings.dragAndDrop).onChange((value) => __awaiter(this, void 0, void 0, function* () { this.settings.dragAndDrop = value; yield this.settings.save(); @@ -2394,6 +2403,88 @@ class ShiftTabBehaviourOverride { } } +class SystemInfoModal extends obsidian.Modal { + constructor(app, settings) { + super(app); + this.settings = settings; + } + onOpen() { + return __awaiter(this, void 0, void 0, function* () { + this.titleEl.setText("System Information"); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const app = this.app; + const data = { + process: { + arch: process.arch, + platform: process.platform, + }, + app: { + internalPlugins: { + config: app.internalPlugins.config, + }, + isMobile: app.isMobile, + plugins: { + enabledPlugins: Array.from(app.plugins.enabledPlugins), + manifests: Object.keys(app.plugins.manifests).reduce((acc, key) => { + acc[key] = { + version: app.plugins.manifests[key].version, + }; + return acc; + }, {}), + }, + vault: { + config: app.vault.config, + }, + }, + plugin: { + settings: { values: this.settings.getValues() }, + }, + }; + const text = JSON.stringify(data, null, 2); + const pre = this.contentEl.createEl("pre"); + pre.setText(text); + pre.setCssStyles({ + overflow: "scroll", + maxHeight: "300px", + }); + const button = this.contentEl.createEl("button"); + button.setText("Copy and Close"); + button.onClickEvent(() => { + navigator.clipboard.writeText("```json\n" + text + "\n```"); + this.close(); + }); + }); + } +} +class SystemInfo { + constructor(plugin, settings) { + this.plugin = plugin; + this.settings = settings; + this.callback = () => { + const modal = new SystemInfoModal(this.plugin.app, this.settings); + modal.open(); + }; + } + load() { + return __awaiter(this, void 0, void 0, function* () { + this.plugin.addCommand({ + id: "system-info", + name: "Show System Info", + callback: this.callback, + hotkeys: [ + { + modifiers: ["Mod", "Shift", "Alt"], + key: "I", + }, + ], + }); + }); + } + unload() { + return __awaiter(this, void 0, void 0, function* () { }); + } +} + class TabBehaviourOverride { constructor(plugin, imeDetector, obsidianSettings, settings, operationPerformer) { this.plugin = plugin; @@ -3090,7 +3181,7 @@ const DEFAULT_SETTINGS = { selectAll: true, listLines: false, listLineAction: "toggle-folding", - dndExperiment: false, + dnd: true, previousRelease: null, }; class Settings { @@ -3148,10 +3239,10 @@ class Settings { this.set("listLineAction", value); } get dragAndDrop() { - return this.values.dndExperiment; + return this.values.dnd; } set dragAndDrop(value) { - this.set("dndExperiment", value); + this.set("dnd", value); } get debug() { return this.values.debug; @@ -3186,6 +3277,9 @@ class Settings { yield this.storage.saveData(this.values); }); } + getValues() { + return Object.assign({}, this.values); + } set(key, value) { this.values[key] = value; for (const cb of this.callbacks) { @@ -3210,6 +3304,7 @@ class ObsidianOutlinerPlugin extends obsidian.Plugin { // service features new ReleaseNotesAnnouncement(this, this.settings), new SettingsTab(this, this.settings), + new SystemInfo(this, this.settings), // general features new ListsMovementCommands(this, this.obsidianSettings, this.operationPerformer), new ListsFoldingCommands(this, this.obsidianSettings), @@ -3256,4 +3351,4 @@ class ObsidianOutlinerPlugin extends obsidian.Plugin { } module.exports = ObsidianOutlinerPlugin; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9vcGVyYXRpb25zL01vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lLnRzIiwic3JjL2VkaXRvci9pbmRleC50cyIsInNyYy91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFjay50cyIsInNyYy9mZWF0dXJlcy9BcnJvd0xlZnRBbmRDdHJsQXJyb3dMZWZ0QmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvcm9vdC9pbmRleC50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnRzIiwic3JjL2ZlYXR1cmVzL0JhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlLnRzIiwic3JjL2ZlYXR1cmVzL0JldHRlckxpc3RzU3R5bGVzLnRzIiwic3JjL29wZXJhdGlvbnMvU2VsZWN0QWxsQ29udGVudC50cyIsInNyYy9mZWF0dXJlcy9DdHJsQUFuZENtZEFCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxOZXh0TGluZUNvbnRlbnRTdGFydC50cyIsInNyYy9mZWF0dXJlcy9EZWxldGVCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy9vcGVyYXRpb25zL01vdmVMaXN0VG9EaWZmZXJlbnRQb3NpdGlvbi50cyIsInNyYy9mZWF0dXJlcy9EcmFnQW5kRHJvcC50cyIsInNyYy9vcGVyYXRpb25zL0tlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMudHMiLCJzcmMvb3BlcmF0aW9ucy9LZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQudHMiLCJzcmMvZmVhdHVyZXMvRWRpdG9yU2VsZWN0aW9uc0JlaGF2aW91ck92ZXJyaWRlLnRzIiwic3JjL3V0aWxzL2NoZWNrYm94UmUudHMiLCJzcmMvdXRpbHMvaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gudHMiLCJzcmMvb3BlcmF0aW9ucy9DcmVhdGVOZXdJdGVtLnRzIiwic3JjL29wZXJhdGlvbnMvT3V0ZGVudExpc3QudHMiLCJzcmMvb3BlcmF0aW9ucy9PdXRkZW50TGlzdElmSXRzRW1wdHkudHMiLCJzcmMvZmVhdHVyZXMvRW50ZXJCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy91dGlscy9jcmVhdGVFZGl0b3JDYWxsYmFjay50cyIsInNyYy9mZWF0dXJlcy9MaXN0c0ZvbGRpbmdDb21tYW5kcy50cyIsInNyYy9vcGVyYXRpb25zL0luZGVudExpc3QudHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlTGlzdERvd24udHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlTGlzdFVwLnRzIiwic3JjL2ZlYXR1cmVzL0xpc3RzTW92ZW1lbnRDb21tYW5kcy50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydC50cyIsInNyYy9mZWF0dXJlcy9NZXRhQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvZmVhdHVyZXMvUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50LnRzIiwic3JjL2ZlYXR1cmVzL1NldHRpbmdzVGFiLnRzIiwic3JjL2ZlYXR1cmVzL1NoaWZ0VGFiQmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvZmVhdHVyZXMvVGFiQmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvZmVhdHVyZXMvVmVydGljYWxMaW5lcy50cyIsInNyYy9zZXJ2aWNlcy9DaGFuZ2VzQXBwbGljYXRvci50cyIsInNyYy9zZXJ2aWNlcy9JTUVEZXRlY3Rvci50cyIsInNyYy9zZXJ2aWNlcy9Mb2dnZXIudHMiLCJzcmMvc2VydmljZXMvT2JzaWRpYW5TZXR0aW5ncy50cyIsInNyYy9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXIudHMiLCJzcmMvc2VydmljZXMvUGFyc2VyLnRzIiwic3JjL3NlcnZpY2VzL1NldHRpbmdzLnRzIiwic3JjL09ic2lkaWFuT3V0bGluZXJQbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2VzRGVjb3JhdGUoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHtcclxuICAgIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxyXG4gICAgdmFyIGtpbmQgPSBjb250ZXh0SW4ua2luZCwga2V5ID0ga2luZCA9PT0gXCJnZXR0ZXJcIiA/IFwiZ2V0XCIgOiBraW5kID09PSBcInNldHRlclwiID8gXCJzZXRcIiA6IFwidmFsdWVcIjtcclxuICAgIHZhciB0YXJnZXQgPSAhZGVzY3JpcHRvckluICYmIGN0b3IgPyBjb250ZXh0SW5bXCJzdGF0aWNcIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsO1xyXG4gICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XHJcbiAgICB2YXIgXywgZG9uZSA9IGZhbHNlO1xyXG4gICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICB2YXIgY29udGV4dCA9IHt9O1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluKSBjb250ZXh0W3BdID0gcCA9PT0gXCJhY2Nlc3NcIiA/IHt9IDogY29udGV4dEluW3BdO1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdO1xyXG4gICAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9ICgwLCBkZWNvcmF0b3JzW2ldKShraW5kID09PSBcImFjY2Vzc29yXCIgPyB7IGdldDogZGVzY3JpcHRvci5nZXQsIHNldDogZGVzY3JpcHRvci5zZXQgfSA6IGRlc2NyaXB0b3Jba2V5XSwgY29udGV4dCk7XHJcbiAgICAgICAgaWYgKGtpbmQgPT09IFwiYWNjZXNzb3JcIikge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3QgZXhwZWN0ZWRcIik7XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5pbml0KSkgaW5pdGlhbGl6ZXJzLnB1c2goXyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xyXG4gICAgICAgICAgICBpZiAoa2luZCA9PT0gXCJmaWVsZFwiKSBpbml0aWFsaXplcnMucHVzaChfKTtcclxuICAgICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTtcclxuICAgIGRvbmUgPSB0cnVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcclxuICAgIHZhciB1c2VWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlVmFsdWUgPyB2YWx1ZSA6IHZvaWQgMDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Byb3BLZXkoeCkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xyXG4gICAgaWYgKHR5cGVvZiBuYW1lID09PSBcInN5bWJvbFwiKSBuYW1lID0gbmFtZS5kZXNjcmlwdGlvbiA/IFwiW1wiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCBcIl1cIikgOiBcIlwiO1xyXG4gICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCBcIm5hbWVcIiwgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBwcmVmaXggPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiIFwiLCBuYW1lKSA6IG5hbWUgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKGcgJiYgKGcgPSAwLCBvcFswXSAmJiAoXyA9IDApKSwgXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobSwgayk7XHJcbiAgICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xyXG4gICAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XHJcbiAgICB9XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xyXG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgcCkpIF9fY3JlYXRlQmluZGluZyhvLCBtLCBwKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xyXG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XHJcbiAgICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XHJcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBmYWxzZSB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcclxufSkgOiBmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBvW1wiZGVmYXVsdFwiXSA9IHY7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChrICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgX19jcmVhdGVCaW5kaW5nKHJlc3VsdCwgbW9kLCBrKTtcclxuICAgIF9fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsIG1vZCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHN0YXRlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiBraW5kID09PSBcIm1cIiA/IGYgOiBraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlcikgOiBmID8gZi52YWx1ZSA6IHN0YXRlLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcIm1cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZVwiKTtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4gKGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRJbihzdGF0ZSwgcmVjZWl2ZXIpIHtcclxuICAgIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xyXG4gICAgcmV0dXJuIHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTtcclxufVxyXG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdExpbmUsIFBvc2l0aW9uLCBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHRoaXMucm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzSW5mbygpO1xuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleCgobCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgY3Vyc29yLmNoID09PSBsLmZyb20uY2ggKyBsaXN0LmdldENoZWNrYm94TGVuZ3RoKCkgJiZcbiAgICAgICAgY3Vyc29yLmxpbmUgPT09IGwuZnJvbS5saW5lXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gMCkge1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkSXRlbShyb290LCBjdXJzb3IpO1xuICAgIH0gZWxzZSBpZiAobGluZU5vID4gMCkge1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yVG9QcmV2aW91c05vdGVMaW5lKHJvb3QsIGxpbmVzLCBsaW5lTm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW92ZUN1cnNvclRvUHJldmlvdXNOb3RlTGluZShcbiAgICByb290OiBSb290LFxuICAgIGxpbmVzOiBMaXN0TGluZVtdLFxuICAgIGxpbmVObzogbnVtYmVyXG4gICkge1xuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGxpbmVzW2xpbmVObyAtIDFdLnRvKTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZEl0ZW0ocm9vdDogUm9vdCwgY3Vyc29yOiBQb3NpdGlvbikge1xuICAgIGNvbnN0IHByZXYgPSByb290LmdldExpc3RVbmRlckxpbmUoY3Vyc29yLmxpbmUgLSAxKTtcblxuICAgIGlmICghcHJldikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHByZXYuaXNGb2xkZWQoKSkge1xuICAgICAgY29uc3QgZm9sZFJvb3QgPSBwcmV2LmdldFRvcEZvbGRSb290KCk7XG4gICAgICBjb25zdCBmaXJzdExpbmVFbmQgPSBmb2xkUm9vdC5nZXRMaW5lc0luZm8oKVswXS50bztcbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihmaXJzdExpbmVFbmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IocHJldi5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBFZGl0b3IsIGVkaXRvckluZm9GaWVsZCB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQge1xuICBmb2xkRWZmZWN0LFxuICBmb2xkYWJsZSxcbiAgZm9sZGVkUmFuZ2VzLFxuICB1bmZvbGRFZmZlY3QsXG59IGZyb20gXCJAY29kZW1pcnJvci9sYW5ndWFnZVwiO1xuaW1wb3J0IHsgRWRpdG9yU3RhdGUgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcbmltcG9ydCB7IEVkaXRvclZpZXcsIHJ1blNjb3BlSGFuZGxlcnMgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3JQb3NpdGlvbiB7XG4gIGxpbmU6IG51bWJlcjtcbiAgY2g6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE15RWRpdG9yUmFuZ2Uge1xuICBmcm9tOiBNeUVkaXRvclBvc2l0aW9uO1xuICB0bzogTXlFZGl0b3JQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIE15RWRpdG9yU2VsZWN0aW9uIHtcbiAgYW5jaG9yOiBNeUVkaXRvclBvc2l0aW9uO1xuICBoZWFkOiBNeUVkaXRvclBvc2l0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRpdG9yRnJvbVN0YXRlKHN0YXRlOiBFZGl0b3JTdGF0ZSkge1xuICBjb25zdCB7IGVkaXRvciB9ID0gc3RhdGUuZmllbGQoZWRpdG9ySW5mb0ZpZWxkKTtcblxuICBpZiAoIWVkaXRvcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBNeUVkaXRvcihlZGl0b3IpO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIE9ic2lkaWFuWm9vbVBsdWdpbj86IHtcbiAgICAgIGdldFpvb21SYW5nZShlOiBFZGl0b3IpOiBNeUVkaXRvclJhbmdlO1xuICAgICAgem9vbU91dChlOiBFZGl0b3IpOiB2b2lkO1xuICAgICAgem9vbUluKGU6IEVkaXRvciwgbGluZTogbnVtYmVyKTogdm9pZDtcbiAgICAgIHJlZnJlc2hab29tPyhlOiBFZGl0b3IpOiB2b2lkO1xuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9sZEluc2lkZSh2aWV3OiBFZGl0b3JWaWV3LCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpIHtcbiAgbGV0IGZvdW5kOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG4gIGZvbGRlZFJhbmdlcyh2aWV3LnN0YXRlKS5iZXR3ZWVuKGZyb20sIHRvLCAoZnJvbSwgdG8pID0+IHtcbiAgICBpZiAoIWZvdW5kIHx8IGZvdW5kLmZyb20gPiBmcm9tKSBmb3VuZCA9IHsgZnJvbSwgdG8gfTtcbiAgfSk7XG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGNsYXNzIE15RWRpdG9yIHtcbiAgcHJpdmF0ZSB2aWV3OiBFZGl0b3JWaWV3O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZTogRWRpdG9yKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICB0aGlzLnZpZXcgPSAodGhpcy5lIGFzIGFueSkuY207XG4gIH1cblxuICBnZXRDdXJzb3IoKTogTXlFZGl0b3JQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZS5nZXRDdXJzb3IoKTtcbiAgfVxuXG4gIGdldExpbmUobjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldExpbmUobik7XG4gIH1cblxuICBsYXN0TGluZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmUubGFzdExpbmUoKTtcbiAgfVxuXG4gIGxpc3RTZWxlY3Rpb25zKCk6IE15RWRpdG9yU2VsZWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmUubGlzdFNlbGVjdGlvbnMoKTtcbiAgfVxuXG4gIGdldFJhbmdlKGZyb206IE15RWRpdG9yUG9zaXRpb24sIHRvOiBNeUVkaXRvclBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldFJhbmdlKGZyb20sIHRvKTtcbiAgfVxuXG4gIHJlcGxhY2VSYW5nZShcbiAgICByZXBsYWNlbWVudDogc3RyaW5nLFxuICAgIGZyb206IE15RWRpdG9yUG9zaXRpb24sXG4gICAgdG86IE15RWRpdG9yUG9zaXRpb25cbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZS5yZXBsYWNlUmFuZ2UocmVwbGFjZW1lbnQsIGZyb20sIHRvKTtcbiAgfVxuXG4gIHNldFNlbGVjdGlvbnMoc2VsZWN0aW9uczogTXlFZGl0b3JTZWxlY3Rpb25bXSk6IHZvaWQge1xuICAgIHRoaXMuZS5zZXRTZWxlY3Rpb25zKHNlbGVjdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsdWUodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5lLnNldFZhbHVlKHRleHQpO1xuICB9XG5cbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldFZhbHVlKCk7XG4gIH1cblxuICBvZmZzZXRUb1BvcyhvZmZzZXQ6IG51bWJlcik6IE15RWRpdG9yUG9zaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmUub2Zmc2V0VG9Qb3Mob2Zmc2V0KTtcbiAgfVxuXG4gIHBvc1RvT2Zmc2V0KHBvczogTXlFZGl0b3JQb3NpdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZS5wb3NUb09mZnNldChwb3MpO1xuICB9XG5cbiAgZm9sZChuOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IHZpZXcgfSA9IHRoaXM7XG4gICAgY29uc3QgbCA9IHZpZXcubGluZUJsb2NrQXQodmlldy5zdGF0ZS5kb2MubGluZShuICsgMSkuZnJvbSk7XG4gICAgY29uc3QgcmFuZ2UgPSBmb2xkYWJsZSh2aWV3LnN0YXRlLCBsLmZyb20sIGwudG8pO1xuXG4gICAgaWYgKCFyYW5nZSB8fCByYW5nZS5mcm9tID09PSByYW5nZS50bykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpZXcuZGlzcGF0Y2goeyBlZmZlY3RzOiBbZm9sZEVmZmVjdC5vZihyYW5nZSldIH0pO1xuICB9XG5cbiAgdW5mb2xkKG46IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmlldyB9ID0gdGhpcztcbiAgICBjb25zdCBsID0gdmlldy5saW5lQmxvY2tBdCh2aWV3LnN0YXRlLmRvYy5saW5lKG4gKyAxKS5mcm9tKTtcbiAgICBjb25zdCByYW5nZSA9IGZvbGRJbnNpZGUodmlldywgbC5mcm9tLCBsLnRvKTtcblxuICAgIGlmICghcmFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2aWV3LmRpc3BhdGNoKHsgZWZmZWN0czogW3VuZm9sZEVmZmVjdC5vZihyYW5nZSldIH0pO1xuICB9XG5cbiAgZ2V0QWxsRm9sZGVkTGluZXMoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGMgPSBmb2xkZWRSYW5nZXModGhpcy52aWV3LnN0YXRlKS5pdGVyKCk7XG4gICAgY29uc3QgcmVzOiBudW1iZXJbXSA9IFtdO1xuICAgIHdoaWxlIChjLnZhbHVlKSB7XG4gICAgICByZXMucHVzaCh0aGlzLm9mZnNldFRvUG9zKGMuZnJvbSkubGluZSk7XG4gICAgICBjLm5leHQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHRyaWdnZXJPbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHJ1blNjb3BlSGFuZGxlcnModGhpcy52aWV3LCBlLCBcImVkaXRvclwiKTtcbiAgfVxuXG4gIGdldFpvb21SYW5nZSgpOiBNeUVkaXRvclJhbmdlIHwgbnVsbCB7XG4gICAgaWYgKCF3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gd2luZG93Lk9ic2lkaWFuWm9vbVBsdWdpbi5nZXRab29tUmFuZ2UodGhpcy5lKTtcbiAgfVxuXG4gIHpvb21PdXQoKSB7XG4gICAgaWYgKCF3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2luZG93Lk9ic2lkaWFuWm9vbVBsdWdpbi56b29tT3V0KHRoaXMuZSk7XG4gIH1cblxuICB6b29tSW4obGluZTogbnVtYmVyKSB7XG4gICAgaWYgKCF3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2luZG93Lk9ic2lkaWFuWm9vbVBsdWdpbi56b29tSW4odGhpcy5lLCBsaW5lKTtcbiAgfVxuXG4gIHRyeVJlZnJlc2hab29tKGxpbmU6IG51bWJlcikge1xuICAgIGlmICghd2luZG93Lk9ic2lkaWFuWm9vbVBsdWdpbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luLnJlZnJlc2hab29tKSB7XG4gICAgICB3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luLnJlZnJlc2hab29tKHRoaXMuZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4uem9vbUluKHRoaXMuZSwgbGluZSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBFZGl0b3JWaWV3IH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKGNvbmZpZzoge1xuICBjaGVjaz86IChlZGl0b3I6IE15RWRpdG9yKSA9PiBib29sZWFuO1xuICBydW46IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgc2hvdWxkVXBkYXRlOiBib29sZWFuO1xuICAgIHNob3VsZFN0b3BQcm9wYWdhdGlvbjogYm9vbGVhbjtcbiAgfTtcbn0pIHtcbiAgY29uc3QgY2hlY2sgPSBjb25maWcuY2hlY2sgfHwgKCgpID0+IHRydWUpO1xuICBjb25zdCB7IHJ1biB9ID0gY29uZmlnO1xuXG4gIHJldHVybiAodmlldzogRWRpdG9yVmlldyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGVkaXRvciA9IGdldEVkaXRvckZyb21TdGF0ZSh2aWV3LnN0YXRlKTtcblxuICAgIGlmICghY2hlY2soZWRpdG9yKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc2hvdWxkVXBkYXRlLCBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHJ1bihlZGl0b3IpO1xuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZSB8fCBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IE1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmVcIjtcbmltcG9ydCB7IElNRURldGVjdG9yIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRURldGVjdG9yXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEFycm93TGVmdEFuZEN0cmxBcnJvd0xlZnRCZWhhdmlvdXJPdmVycmlkZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBpbWVEZXRlY3RvcjogSU1FRGV0ZWN0b3IsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIGtleW1hcC5vZihbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiQXJyb3dMZWZ0XCIsXG4gICAgICAgICAgcnVuOiBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB3aW46IFwiYy1BcnJvd0xlZnRcIixcbiAgICAgICAgICBsaW51eDogXCJjLUFycm93TGVmdFwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ICE9PSBcIm5ldmVyXCIgJiZcbiAgICAgICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmUocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGNtcFBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGEubGluZSAtIGIubGluZSB8fCBhLmNoIC0gYi5jaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGNtcFBvcyhhLCBiKSA8IDAgPyBiIDogYTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pblBvcyhhOiBQb3NpdGlvbiwgYjogUG9zaXRpb24pIHtcbiAgcmV0dXJuIGNtcFBvcyhhLCBiKSA8IDAgPyBhIDogYjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmFuZ2VzSW50ZXJzZWN0cyhcbiAgYTogW1Bvc2l0aW9uLCBQb3NpdGlvbl0sXG4gIGI6IFtQb3NpdGlvbiwgUG9zaXRpb25dXG4pIHtcbiAgcmV0dXJuIGNtcFBvcyhhWzFdLCBiWzBdKSA+PSAwICYmIGNtcFBvcyhhWzBdLCBiWzFdKSA8PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290OiBSb290KSB7XG4gIGZ1bmN0aW9uIHZpc2l0KHBhcmVudDogUm9vdCB8IExpc3QpIHtcbiAgICBsZXQgaW5kZXggPSAxO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBwYXJlbnQuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKC9cXGQrXFwuLy50ZXN0KGNoaWxkLmdldEJ1bGxldCgpKSkge1xuICAgICAgICBjaGlsZC5yZXBsYXRlQnVsbGV0KGAke2luZGV4Kyt9LmApO1xuICAgICAgfVxuXG4gICAgICB2aXNpdChjaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgdmlzaXQocm9vdCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb24ge1xuICBjaDogbnVtYmVyO1xuICBsaW5lOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdExpbmUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGZyb206IFBvc2l0aW9uO1xuICB0bzogUG9zaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2Uge1xuICBhbmNob3I6IFBvc2l0aW9uO1xuICBoZWFkOiBQb3NpdGlvbjtcbn1cblxubGV0IGlkU2VxID0gMDtcblxuZXhwb3J0IGNsYXNzIExpc3Qge1xuICBwcml2YXRlIGlkOiBudW1iZXI7XG4gIHByaXZhdGUgcGFyZW50OiBMaXN0IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2hpbGRyZW46IExpc3RbXSA9IFtdO1xuICBwcml2YXRlIG5vdGVzSW5kZW50OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsaW5lczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvb3Q6IFJvb3QsXG4gICAgcHJpdmF0ZSBpbmRlbnQ6IHN0cmluZyxcbiAgICBwcml2YXRlIGJ1bGxldDogc3RyaW5nLFxuICAgIHByaXZhdGUgb3B0aW9uYWxDaGVja2JveDogc3RyaW5nLFxuICAgIHByaXZhdGUgc3BhY2VBZnRlckJ1bGxldDogc3RyaW5nLFxuICAgIGZpcnN0TGluZTogc3RyaW5nLFxuICAgIHByaXZhdGUgZm9sZFJvb3Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgdGhpcy5pZCA9IGlkU2VxKys7XG4gICAgdGhpcy5saW5lcy5wdXNoKGZpcnN0TGluZSk7XG4gIH1cblxuICBnZXRJRCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxuXG4gIGdldE5vdGVzSW5kZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm5vdGVzSW5kZW50O1xuICB9XG5cbiAgc2V0Tm90ZXNJbmRlbnQobm90ZXNJbmRlbnQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLm5vdGVzSW5kZW50ICE9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdGVzIGluZGVudCBhbHJlYWR5IHByb3ZpZGVkYCk7XG4gICAgfVxuICAgIHRoaXMubm90ZXNJbmRlbnQgPSBub3Rlc0luZGVudDtcbiAgfVxuXG4gIGFkZExpbmUodGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBhZGQgbGluZSwgbm90ZXMgaW5kZW50IHNob3VsZCBiZSBwcm92aWRlZCBmaXJzdGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5saW5lcy5wdXNoKHRleHQpO1xuICB9XG5cbiAgcmVwbGFjZUxpbmVzKGxpbmVzOiBzdHJpbmdbXSkge1xuICAgIGlmIChsaW5lcy5sZW5ndGggPiAxICYmIHRoaXMubm90ZXNJbmRlbnQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBhZGQgbGluZSwgbm90ZXMgaW5kZW50IHNob3VsZCBiZSBwcm92aWRlZCBmaXJzdGBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5saW5lcyA9IGxpbmVzO1xuICB9XG5cbiAgZ2V0TGluZUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmxpbmVzLmxlbmd0aDtcbiAgfVxuXG4gIGdldFJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdDtcbiAgfVxuXG4gIGdldENoaWxkcmVuKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmNvbmNhdCgpO1xuICB9XG5cbiAgZ2V0TGluZXNJbmZvKCk6IExpc3RMaW5lW10ge1xuICAgIGNvbnN0IHN0YXJ0TGluZSA9IHRoaXMucm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKHRoaXMpWzBdO1xuXG4gICAgcmV0dXJuIHRoaXMubGluZXMubWFwKChyb3csIGkpID0+IHtcbiAgICAgIGNvbnN0IGxpbmUgPSBzdGFydExpbmUgKyBpO1xuICAgICAgY29uc3Qgc3RhcnRDaCA9XG4gICAgICAgIGkgPT09IDAgPyB0aGlzLmdldENvbnRlbnRTdGFydENoKCkgOiB0aGlzLm5vdGVzSW5kZW50Lmxlbmd0aDtcbiAgICAgIGNvbnN0IGVuZENoID0gc3RhcnRDaCArIHJvdy5sZW5ndGg7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRleHQ6IHJvdyxcbiAgICAgICAgZnJvbTogeyBsaW5lLCBjaDogc3RhcnRDaCB9LFxuICAgICAgICB0bzogeyBsaW5lLCBjaDogZW5kQ2ggfSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBnZXRMaW5lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMubGluZXMuY29uY2F0KCk7XG4gIH1cblxuICBnZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKSB7XG4gICAgY29uc3Qgc3RhcnRMaW5lID0gdGhpcy5yb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YodGhpcylbMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogc3RhcnRMaW5lLFxuICAgICAgY2g6IHRoaXMuZ2V0Q29udGVudFN0YXJ0Q2goKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpIHtcbiAgICBjb25zdCBzdGFydExpbmUgPSB0aGlzLnJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZih0aGlzKVswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICBjaDogdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpICsgdGhpcy5nZXRDaGVja2JveExlbmd0aCgpLFxuICAgIH07XG4gIH1cblxuICBnZXRMYXN0TGluZUNvbnRlbnRFbmQoKSB7XG4gICAgY29uc3QgZW5kTGluZSA9IHRoaXMucm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKHRoaXMpWzFdO1xuICAgIGNvbnN0IGVuZENoID1cbiAgICAgIHRoaXMubGluZXMubGVuZ3RoID09PSAxXG4gICAgICAgID8gdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpICsgdGhpcy5saW5lc1swXS5sZW5ndGhcbiAgICAgICAgOiB0aGlzLm5vdGVzSW5kZW50Lmxlbmd0aCArIHRoaXMubGluZXNbdGhpcy5saW5lcy5sZW5ndGggLSAxXS5sZW5ndGg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogZW5kTGluZSxcbiAgICAgIGNoOiBlbmRDaCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29udGVudEVuZEluY2x1ZGluZ0NoaWxkcmVuKCkge1xuICAgIHJldHVybiB0aGlzLmdldExhc3RDaGlsZCgpLmdldExhc3RMaW5lQ29udGVudEVuZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0Q2hpbGQoKSB7XG4gICAgbGV0IGxhc3RDaGlsZDogTGlzdCA9IHRoaXM7XG5cbiAgICB3aGlsZSAoIWxhc3RDaGlsZC5pc0VtcHR5KCkpIHtcbiAgICAgIGxhc3RDaGlsZCA9IGxhc3RDaGlsZC5nZXRDaGlsZHJlbigpLmxhc3QoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFzdENoaWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZW50U3RhcnRDaCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRlbnQubGVuZ3RoICsgdGhpcy5idWxsZXQubGVuZ3RoICsgMTtcbiAgfVxuXG4gIGlzRm9sZGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZvbGRSb290KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmVudC5pc0ZvbGRlZCgpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzRm9sZFJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9sZFJvb3Q7XG4gIH1cblxuICBnZXRUb3BGb2xkUm9vdCgpIHtcbiAgICBsZXQgdG1wOiBMaXN0ID0gdGhpcztcbiAgICBsZXQgZm9sZFJvb3Q6IExpc3QgfCBudWxsID0gbnVsbDtcbiAgICB3aGlsZSAodG1wKSB7XG4gICAgICBpZiAodG1wLmlzRm9sZFJvb3QoKSkge1xuICAgICAgICBmb2xkUm9vdCA9IHRtcDtcbiAgICAgIH1cbiAgICAgIHRtcCA9IHRtcC5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBmb2xkUm9vdDtcbiAgfVxuXG4gIGdldExldmVsKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldExldmVsKCkgKyAxO1xuICB9XG5cbiAgdW5pbmRlbnRDb250ZW50KGZyb206IG51bWJlciwgdGlsbDogbnVtYmVyKSB7XG4gICAgdGhpcy5pbmRlbnQgPSB0aGlzLmluZGVudC5zbGljZSgwLCBmcm9tKSArIHRoaXMuaW5kZW50LnNsaWNlKHRpbGwpO1xuICAgIGlmICh0aGlzLm5vdGVzSW5kZW50ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm5vdGVzSW5kZW50ID1cbiAgICAgICAgdGhpcy5ub3Rlc0luZGVudC5zbGljZSgwLCBmcm9tKSArIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UodGlsbCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICBjaGlsZC51bmluZGVudENvbnRlbnQoZnJvbSwgdGlsbCk7XG4gICAgfVxuICB9XG5cbiAgaW5kZW50Q29udGVudChpbmRlbnRQb3M6IG51bWJlciwgaW5kZW50Q2hhcnM6IHN0cmluZykge1xuICAgIHRoaXMuaW5kZW50ID1cbiAgICAgIHRoaXMuaW5kZW50LnNsaWNlKDAsIGluZGVudFBvcykgK1xuICAgICAgaW5kZW50Q2hhcnMgK1xuICAgICAgdGhpcy5pbmRlbnQuc2xpY2UoaW5kZW50UG9zKTtcbiAgICBpZiAodGhpcy5ub3Rlc0luZGVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5ub3Rlc0luZGVudCA9XG4gICAgICAgIHRoaXMubm90ZXNJbmRlbnQuc2xpY2UoMCwgaW5kZW50UG9zKSArXG4gICAgICAgIGluZGVudENoYXJzICtcbiAgICAgICAgdGhpcy5ub3Rlc0luZGVudC5zbGljZShpbmRlbnRQb3MpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgY2hpbGQuaW5kZW50Q29udGVudChpbmRlbnRQb3MsIGluZGVudENoYXJzKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaXJzdExpbmVJbmRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZW50O1xuICB9XG5cbiAgZ2V0QnVsbGV0KCkge1xuICAgIHJldHVybiB0aGlzLmJ1bGxldDtcbiAgfVxuXG4gIGdldFNwYWNlQWZ0ZXJCdWxsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BhY2VBZnRlckJ1bGxldDtcbiAgfVxuXG4gIGdldENoZWNrYm94TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbmFsQ2hlY2tib3gubGVuZ3RoO1xuICB9XG5cbiAgcmVwbGF0ZUJ1bGxldChidWxsZXQ6IHN0cmluZykge1xuICAgIHRoaXMuYnVsbGV0ID0gYnVsbGV0O1xuICB9XG5cbiAgZ2V0UGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGFkZEJlZm9yZUFsbChsaXN0OiBMaXN0KSB7XG4gICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIGFkZEFmdGVyQWxsKGxpc3Q6IExpc3QpIHtcbiAgICB0aGlzLmNoaWxkcmVuLnB1c2gobGlzdCk7XG4gICAgbGlzdC5wYXJlbnQgPSB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQobGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YobGlzdCk7XG4gICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaSwgMSk7XG4gICAgbGlzdC5wYXJlbnQgPSBudWxsO1xuICB9XG5cbiAgYWRkQmVmb3JlKGJlZm9yZTogTGlzdCwgbGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YoYmVmb3JlKTtcbiAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBsaXN0KTtcbiAgICBsaXN0LnBhcmVudCA9IHRoaXM7XG4gIH1cblxuICBhZGRBZnRlcihiZWZvcmU6IExpc3QsIGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGJlZm9yZSk7XG4gICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaSArIDEsIDAsIGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIGdldFByZXZTaWJsaW5nT2YobGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YobGlzdCk7XG4gICAgcmV0dXJuIGkgPiAwID8gdGhpcy5jaGlsZHJlbltpIC0gMV0gOiBudWxsO1xuICB9XG5cbiAgZ2V0TmV4dFNpYmxpbmdPZihsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihsaXN0KTtcbiAgICByZXR1cm4gaSA+PSAwICYmIGkgPCB0aGlzLmNoaWxkcmVuLmxlbmd0aCA/IHRoaXMuY2hpbGRyZW5baSArIDFdIDogbnVsbDtcbiAgfVxuXG4gIGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlcyArPVxuICAgICAgICBpID09PSAwXG4gICAgICAgICAgPyB0aGlzLmluZGVudCArIHRoaXMuYnVsbGV0ICsgdGhpcy5zcGFjZUFmdGVyQnVsbGV0XG4gICAgICAgICAgOiB0aGlzLm5vdGVzSW5kZW50O1xuICAgICAgcmVzICs9IHRoaXMubGluZXNbaV07XG4gICAgICByZXMgKz0gXCJcXG5cIjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIHJlcyArPSBjaGlsZC5wcmludCgpO1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBjbG9uZShuZXdSb290OiBSb290KSB7XG4gICAgY29uc3QgY2xvbmUgPSBuZXcgTGlzdChcbiAgICAgIG5ld1Jvb3QsXG4gICAgICB0aGlzLmluZGVudCxcbiAgICAgIHRoaXMuYnVsbGV0LFxuICAgICAgdGhpcy5vcHRpb25hbENoZWNrYm94LFxuICAgICAgdGhpcy5zcGFjZUFmdGVyQnVsbGV0LFxuICAgICAgXCJcIixcbiAgICAgIHRoaXMuZm9sZFJvb3RcbiAgICApO1xuICAgIGNsb25lLmlkID0gdGhpcy5pZDtcbiAgICBjbG9uZS5saW5lcyA9IHRoaXMubGluZXMuY29uY2F0KCk7XG4gICAgY2xvbmUubm90ZXNJbmRlbnQgPSB0aGlzLm5vdGVzSW5kZW50O1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgY2xvbmUuYWRkQWZ0ZXJBbGwoY2hpbGQuY2xvbmUobmV3Um9vdCkpO1xuICAgIH1cblxuICAgIHJldHVybiBjbG9uZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUm9vdCB7XG4gIHByaXZhdGUgcm9vdExpc3QgPSBuZXcgTGlzdCh0aGlzLCBcIlwiLCBcIlwiLCBcIlwiLCBcIlwiLCBcIlwiLCBmYWxzZSk7XG4gIHByaXZhdGUgc2VsZWN0aW9uczogUmFuZ2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RhcnQ6IFBvc2l0aW9uLFxuICAgIHByaXZhdGUgZW5kOiBQb3NpdGlvbixcbiAgICBzZWxlY3Rpb25zOiBSYW5nZVtdXG4gICkge1xuICAgIHRoaXMucmVwbGFjZVNlbGVjdGlvbnMoc2VsZWN0aW9ucyk7XG4gIH1cblxuICBnZXRSb290TGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb290TGlzdDtcbiAgfVxuXG4gIGdldENvbnRlbnRSYW5nZSgpOiBbUG9zaXRpb24sIFBvc2l0aW9uXSB7XG4gICAgcmV0dXJuIFt0aGlzLmdldENvbnRlbnRTdGFydCgpLCB0aGlzLmdldENvbnRlbnRFbmQoKV07XG4gIH1cblxuICBnZXRDb250ZW50U3RhcnQoKTogUG9zaXRpb24ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuc3RhcnQgfTtcbiAgfVxuXG4gIGdldENvbnRlbnRFbmQoKTogUG9zaXRpb24ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuZW5kIH07XG4gIH1cblxuICBnZXRTZWxlY3Rpb25zKCk6IFJhbmdlW10ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbnMubWFwKChzKSA9PiAoe1xuICAgICAgYW5jaG9yOiB7IC4uLnMuYW5jaG9yIH0sXG4gICAgICBoZWFkOiB7IC4uLnMuaGVhZCB9LFxuICAgIH0pKTtcbiAgfVxuXG4gIGhhc1NpbmdsZUN1cnNvcigpIHtcbiAgICBpZiAoIXRoaXMuaGFzU2luZ2xlU2VsZWN0aW9uKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbnNbMF07XG5cbiAgICByZXR1cm4gKFxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5saW5lID09PSBzZWxlY3Rpb24uaGVhZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmNoID09PSBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICk7XG4gIH1cblxuICBoYXNTaW5nbGVTZWxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9ucy5sZW5ndGggPT09IDE7XG4gIH1cblxuICBnZXRTZWxlY3Rpb24oKSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb25zW3RoaXMuc2VsZWN0aW9ucy5sZW5ndGggLSAxXTtcblxuICAgIGNvbnN0IGZyb20gPVxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5jaCA+IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgICAgID8gc2VsZWN0aW9uLmhlYWQuY2hcbiAgICAgICAgOiBzZWxlY3Rpb24uYW5jaG9yLmNoO1xuICAgIGNvbnN0IHRvID1cbiAgICAgIHNlbGVjdGlvbi5hbmNob3IuY2ggPiBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICAgICA/IHNlbGVjdGlvbi5hbmNob3IuY2hcbiAgICAgICAgOiBzZWxlY3Rpb24uaGVhZC5jaDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zZWxlY3Rpb24sXG4gICAgICBmcm9tLFxuICAgICAgdG8sXG4gICAgfTtcbiAgfVxuXG4gIGdldEN1cnNvcigpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLnNlbGVjdGlvbnNbdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCAtIDFdLmhlYWQgfTtcbiAgfVxuXG4gIHJlcGxhY2VDdXJzb3IoY3Vyc29yOiBQb3NpdGlvbikge1xuICAgIHRoaXMuc2VsZWN0aW9ucyA9IFt7IGFuY2hvcjogY3Vyc29yLCBoZWFkOiBjdXJzb3IgfV07XG4gIH1cblxuICByZXBsYWNlU2VsZWN0aW9ucyhzZWxlY3Rpb25zOiBSYW5nZVtdKSB7XG4gICAgaWYgKHNlbGVjdGlvbnMubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gY3JlYXRlIFJvb3Qgd2l0aG91dCBzZWxlY3Rpb25zYCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9ucyA9IHNlbGVjdGlvbnM7XG4gIH1cblxuICBnZXRMaXN0VW5kZXJDdXJzb3IoKTogTGlzdCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlzdFVuZGVyTGluZSh0aGlzLmdldEN1cnNvcigpLmxpbmUpO1xuICB9XG5cbiAgZ2V0TGlzdFVuZGVyTGluZShsaW5lOiBudW1iZXIpIHtcbiAgICBpZiAobGluZSA8IHRoaXMuc3RhcnQubGluZSB8fCBsaW5lID4gdGhpcy5lbmQubGluZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQ6IExpc3QgPSBudWxsO1xuICAgIGxldCBpbmRleDogbnVtYmVyID0gdGhpcy5zdGFydC5saW5lO1xuXG4gICAgY29uc3QgdmlzaXRBcnIgPSAobGw6IExpc3RbXSkgPT4ge1xuICAgICAgZm9yIChjb25zdCBsIG9mIGxsKSB7XG4gICAgICAgIGNvbnN0IGxpc3RGcm9tTGluZSA9IGluZGV4O1xuICAgICAgICBjb25zdCBsaXN0VGlsbExpbmUgPSBsaXN0RnJvbUxpbmUgKyBsLmdldExpbmVDb3VudCgpIC0gMTtcblxuICAgICAgICBpZiAobGluZSA+PSBsaXN0RnJvbUxpbmUgJiYgbGluZSA8PSBsaXN0VGlsbExpbmUpIHtcbiAgICAgICAgICByZXN1bHQgPSBsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluZGV4ID0gbGlzdFRpbGxMaW5lICsgMTtcbiAgICAgICAgICB2aXNpdEFycihsLmdldENoaWxkcmVuKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmlzaXRBcnIodGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3Q6IExpc3QpOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCB7XG4gICAgbGV0IHJlc3VsdDogW251bWJlciwgbnVtYmVyXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBsaW5lOiBudW1iZXIgPSB0aGlzLnN0YXJ0LmxpbmU7XG5cbiAgICBjb25zdCB2aXNpdEFyciA9IChsbDogTGlzdFtdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGwgb2YgbGwpIHtcbiAgICAgICAgY29uc3QgbGlzdEZyb21MaW5lID0gbGluZTtcbiAgICAgICAgY29uc3QgbGlzdFRpbGxMaW5lID0gbGlzdEZyb21MaW5lICsgbC5nZXRMaW5lQ291bnQoKSAtIDE7XG5cbiAgICAgICAgaWYgKGwgPT09IGxpc3QpIHtcbiAgICAgICAgICByZXN1bHQgPSBbbGlzdEZyb21MaW5lLCBsaXN0VGlsbExpbmVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxpbmUgPSBsaXN0VGlsbExpbmUgKyAxO1xuICAgICAgICAgIHZpc2l0QXJyKGwuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHZpc2l0QXJyKHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIGxldCByZXMgPSBcIlwiO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnJvb3RMaXN0LmdldENoaWxkcmVuKCkpIHtcbiAgICAgIHJlcyArPSBjaGlsZC5wcmludCgpO1xuICAgIH1cblxuICAgIHJldHVybiByZXMucmVwbGFjZSgvXFxuJC8sIFwiXCIpO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgY2xvbmUgPSBuZXcgUm9vdChcbiAgICAgIHsgLi4udGhpcy5zdGFydCB9LFxuICAgICAgeyAuLi50aGlzLmVuZCB9LFxuICAgICAgdGhpcy5nZXRTZWxlY3Rpb25zKClcbiAgICApO1xuICAgIGNsb25lLnJvb3RMaXN0ID0gdGhpcy5yb290TGlzdC5jbG9uZShjbG9uZSk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHtcbiAgTGlzdCxcbiAgTGlzdExpbmUsXG4gIFBvc2l0aW9uLFxuICBSb290LFxuICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzLFxufSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgRGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleChcbiAgICAgIChsKSA9PiBjdXJzb3IuY2ggPT09IGwuZnJvbS5jaCAmJiBjdXJzb3IubGluZSA9PT0gbC5mcm9tLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gMCkge1xuICAgICAgdGhpcy5tZXJnZVdpdGhQcmV2aW91c0l0ZW0ocm9vdCwgY3Vyc29yLCBsaXN0KTtcbiAgICB9IGVsc2UgaWYgKGxpbmVObyA+IDApIHtcbiAgICAgIHRoaXMubWVyZ2VOb3Rlcyhyb290LCBjdXJzb3IsIGxpc3QsIGxpbmVzLCBsaW5lTm8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VOb3RlcyhcbiAgICByb290OiBSb290LFxuICAgIGN1cnNvcjogUG9zaXRpb24sXG4gICAgbGlzdDogTGlzdCxcbiAgICBsaW5lczogTGlzdExpbmVbXSxcbiAgICBsaW5lTm86IG51bWJlclxuICApIHtcbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByZXZMaW5lTm8gPSBsaW5lTm8gLSAxO1xuXG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lIC0gMSxcbiAgICAgIGNoOiBsaW5lc1twcmV2TGluZU5vXS50ZXh0Lmxlbmd0aCArIGxpbmVzW3ByZXZMaW5lTm9dLmZyb20uY2gsXG4gICAgfSk7XG5cbiAgICBsaW5lc1twcmV2TGluZU5vXS50ZXh0ICs9IGxpbmVzW2xpbmVOb10udGV4dDtcbiAgICBsaW5lcy5zcGxpY2UobGluZU5vLCAxKTtcblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKGxpbmVzLm1hcCgobCkgPT4gbC50ZXh0KSk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlV2l0aFByZXZpb3VzSXRlbShyb290OiBSb290LCBjdXJzb3I6IFBvc2l0aW9uLCBsaXN0OiBMaXN0KSB7XG4gICAgaWYgKHJvb3QuZ2V0Q2hpbGRyZW4oKVswXSA9PT0gbGlzdCAmJiBsaXN0LmlzRW1wdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByZXYgPSByb290LmdldExpc3RVbmRlckxpbmUoY3Vyc29yLmxpbmUgLSAxKTtcblxuICAgIGlmICghcHJldikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJvdGhBcmVFbXB0eSA9IHByZXYuaXNFbXB0eSgpICYmIGxpc3QuaXNFbXB0eSgpO1xuICAgIGNvbnN0IHByZXZJc0VtcHR5QW5kU2FtZUxldmVsID1cbiAgICAgIHByZXYuaXNFbXB0eSgpICYmICFsaXN0LmlzRW1wdHkoKSAmJiBwcmV2LmdldExldmVsKCkgPT09IGxpc3QuZ2V0TGV2ZWwoKTtcbiAgICBjb25zdCBsaXN0SXNFbXB0eUFuZFByZXZJc1BhcmVudCA9XG4gICAgICBsaXN0LmlzRW1wdHkoKSAmJiBwcmV2LmdldExldmVsKCkgPT09IGxpc3QuZ2V0TGV2ZWwoKSAtIDE7XG5cbiAgICBpZiAoYm90aEFyZUVtcHR5IHx8IHByZXZJc0VtcHR5QW5kU2FtZUxldmVsIHx8IGxpc3RJc0VtcHR5QW5kUHJldklzUGFyZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgICAgY29uc3QgcHJldkVuZCA9IHByZXYuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG5cbiAgICAgIGlmICghcHJldi5nZXROb3Rlc0luZGVudCgpICYmIGxpc3QuZ2V0Tm90ZXNJbmRlbnQoKSkge1xuICAgICAgICBwcmV2LnNldE5vdGVzSW5kZW50KFxuICAgICAgICAgIHByZXYuZ2V0Rmlyc3RMaW5lSW5kZW50KCkgK1xuICAgICAgICAgICAgbGlzdC5nZXROb3Rlc0luZGVudCgpLnNsaWNlKGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lcyA9IHByZXYuZ2V0TGluZXMoKTtcbiAgICAgIGNvbnN0IG5ld0xpbmVzID0gbGlzdC5nZXRMaW5lcygpO1xuICAgICAgb2xkTGluZXNbb2xkTGluZXMubGVuZ3RoIC0gMV0gKz0gbmV3TGluZXNbMF07XG4gICAgICBjb25zdCByZXN1bHRMaW5lcyA9IG9sZExpbmVzLmNvbmNhdChuZXdMaW5lcy5zbGljZSgxKSk7XG5cbiAgICAgIHByZXYucmVwbGFjZUxpbmVzKHJlc3VsdExpbmVzKTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcblxuICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICBsaXN0LnJlbW92ZUNoaWxkKGMpO1xuICAgICAgICBwcmV2LmFkZEFmdGVyQWxsKGMpO1xuICAgICAgfVxuXG4gICAgICByb290LnJlcGxhY2VDdXJzb3IocHJldkVuZCk7XG5cbiAgICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvRGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmRcIjtcbmltcG9ydCB7IElNRURldGVjdG9yIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRURldGVjdG9yXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJCYWNrc3BhY2VcIixcbiAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZXR0aW5ncy5rZWVwQ3Vyc29yV2l0aGluQ29udGVudCAhPT0gXCJuZXZlclwiICYmXG4gICAgICAhdGhpcy5pbWVEZXRlY3Rvci5pc09wZW5lZCgpXG4gICAgKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLnBlcmZvcm0oXG4gICAgICAocm9vdCkgPT4gbmV3IERlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE9ic2lkaWFuU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXR0aW5nc1wiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcblxuY29uc3QgQkVUVEVSX0xJU1RTX0JPRFlfQ0xBU1MgPSBcIm91dGxpbmVyLXBsdWdpbi1iZXR0ZXItbGlzdHNcIjtcblxuZXhwb3J0IGNsYXNzIEJldHRlckxpc3RzU3R5bGVzIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIHByaXZhdGUgdXBkYXRlQm9keUNsYXNzSW50ZXJ2YWw6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3NcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy51cGRhdGVCb2R5Q2xhc3MoKTtcbiAgICB0aGlzLnVwZGF0ZUJvZHlDbGFzc0ludGVydmFsID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQm9keUNsYXNzKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZUJvZHlDbGFzc0ludGVydmFsKTtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoQkVUVEVSX0xJU1RTX0JPRFlfQ0xBU1MpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCb2R5Q2xhc3MgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2hvdWxkRXhpc3RzID1cbiAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncy5pc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSAmJlxuICAgICAgdGhpcy5zZXR0aW5ncy5iZXR0ZXJMaXN0c1N0eWxlcztcbiAgICBjb25zdCBleGlzdHMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhCRVRURVJfTElTVFNfQk9EWV9DTEFTUyk7XG5cbiAgICBpZiAoc2hvdWxkRXhpc3RzICYmICFleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChCRVRURVJfTElTVFNfQk9EWV9DTEFTUyk7XG4gICAgfVxuXG4gICAgaWYgKCFzaG91bGRFeGlzdHMgJiYgZXhpc3RzKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoQkVUVEVSX0xJU1RTX0JPRFlfQ0xBU1MpO1xuICAgIH1cbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290LCBtYXhQb3MsIG1pblBvcyB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RBbGxDb250ZW50IGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZVNlbGVjdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gcm9vdC5nZXRTZWxlY3Rpb25zKClbMF07XG4gICAgY29uc3QgW3Jvb3RTdGFydCwgcm9vdEVuZF0gPSByb290LmdldENvbnRlbnRSYW5nZSgpO1xuXG4gICAgY29uc3Qgc2VsZWN0aW9uRnJvbSA9IG1pblBvcyhzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uaGVhZCk7XG4gICAgY29uc3Qgc2VsZWN0aW9uVG8gPSBtYXhQb3Moc2VsZWN0aW9uLmFuY2hvciwgc2VsZWN0aW9uLmhlYWQpO1xuXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uRnJvbS5saW5lIDwgcm9vdFN0YXJ0LmxpbmUgfHxcbiAgICAgIHNlbGVjdGlvblRvLmxpbmUgPiByb290RW5kLmxpbmVcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPT09IHJvb3RTdGFydC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Gcm9tLmNoID09PSByb290U3RhcnQuY2ggJiZcbiAgICAgIHNlbGVjdGlvblRvLmxpbmUgPT09IHJvb3RFbmQubGluZSAmJlxuICAgICAgc2VsZWN0aW9uVG8uY2ggPT09IHJvb3RFbmQuY2hcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjb250ZW50U3RhcnQgPSBsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydEFmdGVyQ2hlY2tib3goKTtcbiAgICBjb25zdCBjb250ZW50RW5kID0gbGlzdC5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKTtcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA8IGNvbnRlbnRTdGFydC5saW5lIHx8XG4gICAgICBzZWxlY3Rpb25Uby5saW5lID4gY29udGVudEVuZC5saW5lXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPT09IGNvbnRlbnRTdGFydC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Gcm9tLmNoID09PSBjb250ZW50U3RhcnQuY2ggJiZcbiAgICAgIHNlbGVjdGlvblRvLmxpbmUgPT09IGNvbnRlbnRFbmQubGluZSAmJlxuICAgICAgc2VsZWN0aW9uVG8uY2ggPT09IGNvbnRlbnRFbmQuY2hcbiAgICApIHtcbiAgICAgIC8vIHNlbGVjdCB3aG9sZSBsaXN0XG4gICAgICByb290LnJlcGxhY2VTZWxlY3Rpb25zKFt7IGFuY2hvcjogcm9vdFN0YXJ0LCBoZWFkOiByb290RW5kIH1dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gc2VsZWN0IHdob2xlIGxpbmVcbiAgICAgIHJvb3QucmVwbGFjZVNlbGVjdGlvbnMoW3sgYW5jaG9yOiBjb250ZW50U3RhcnQsIGhlYWQ6IGNvbnRlbnRFbmQgfV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IFNlbGVjdEFsbENvbnRlbnQgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9TZWxlY3RBbGxDb250ZW50XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uUGVyZm9ybWVyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09wZXJhdGlvblBlcmZvcm1lclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcbmltcG9ydCB7IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBDdHJsQUFuZENtZEFCZWhhdmlvdXJPdmVycmlkZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBpbWVEZXRlY3RvcjogSU1FRGV0ZWN0b3IsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIGtleW1hcC5vZihbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiYy1hXCIsXG4gICAgICAgICAgbWFjOiBcIm0tYVwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLm92ZXJyaWRlU2VsZWN0QWxsQmVoYXZpb3VyICYmICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgU2VsZWN0QWxsQ29udGVudChyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBEZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZCB9IGZyb20gXCIuL0RlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kXCI7XG5pbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsTmV4dExpbmVDb250ZW50U3RhcnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIGRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kOiBEZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHtcbiAgICB0aGlzLmRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kID1cbiAgICAgIG5ldyBEZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZChyb290KTtcbiAgfVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZC5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG5cbiAgICBjb25zdCBsaW5lTm8gPSBsaW5lcy5maW5kSW5kZXgoXG4gICAgICAobCkgPT4gY3Vyc29yLmNoID09PSBsLnRvLmNoICYmIGN1cnNvci5saW5lID09PSBsLnRvLmxpbmVcbiAgICApO1xuXG4gICAgaWYgKGxpbmVObyA9PT0gbGluZXMubGVuZ3RoIC0gMSkge1xuICAgICAgY29uc3QgbmV4dExpbmUgPSBsaW5lc1tsaW5lTm9dLnRvLmxpbmUgKyAxO1xuICAgICAgY29uc3QgbmV4dExpc3QgPSByb290LmdldExpc3RVbmRlckxpbmUobmV4dExpbmUpO1xuICAgICAgaWYgKCFuZXh0TGlzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IobmV4dExpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkpO1xuICAgICAgdGhpcy5kZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZC5wZXJmb3JtKCk7XG4gICAgfSBlbHNlIGlmIChsaW5lTm8gPj0gMCkge1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGxpbmVzW2xpbmVObyArIDFdLmZyb20pO1xuICAgICAgdGhpcy5kZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZC5wZXJmb3JtKCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZVRpbGxOZXh0TGluZUNvbnRlbnRTdGFydCB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZVRpbGxOZXh0TGluZUNvbnRlbnRTdGFydFwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgRGVsZXRlQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgaW1lRGV0ZWN0b3I6IElNRURldGVjdG9yLFxuICAgIHByaXZhdGUgb3BlcmF0aW9uUGVyZm9ybWVyOiBPcGVyYXRpb25QZXJmb3JtZXJcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkRlbGV0ZVwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ICE9PSBcIm5ldmVyXCIgJiZcbiAgICAgICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlVGlsbE5leHRMaW5lQ29udGVudFN0YXJ0KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBMaXN0LCBSb290LCByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuaW50ZXJmYWNlIEN1cnNvckFuY2hvciB7XG4gIGN1cnNvckxpc3Q6IExpc3Q7XG4gIGxpbmVEaWZmOiBudW1iZXI7XG4gIGNoRGlmZjogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTW92ZUxpc3RUb0RpZmZlcmVudFBvc2l0aW9uIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb290OiBSb290LFxuICAgIHByaXZhdGUgbGlzdFRvTW92ZTogTGlzdCxcbiAgICBwcml2YXRlIHBsYWNlVG9Nb3ZlOiBMaXN0LFxuICAgIHByaXZhdGUgd2hlcmVUb01vdmU6IFwiYmVmb3JlXCIgfCBcImFmdGVyXCIgfCBcImluc2lkZVwiLFxuICAgIHByaXZhdGUgZGVmYXVsdEluZGVudENoYXJzOiBzdHJpbmdcbiAgKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgaWYgKHRoaXMubGlzdFRvTW92ZSA9PT0gdGhpcy5wbGFjZVRvTW92ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgY3Vyc29yQW5jaG9yID0gdGhpcy5jYWxjdWxhdGVDdXJzb3JBbmNob3IoKTtcbiAgICB0aGlzLm1vdmVMaXN0KCk7XG4gICAgdGhpcy5jaGFuZ2VJbmRlbnQoKTtcbiAgICB0aGlzLnJlc3RvcmVDdXJzb3IoY3Vyc29yQW5jaG9yKTtcbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHRoaXMucm9vdCk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUN1cnNvckFuY2hvcigpOiBDdXJzb3JBbmNob3Ige1xuICAgIGNvbnN0IGN1cnNvckxpbmUgPSB0aGlzLnJvb3QuZ2V0Q3Vyc29yKCkubGluZTtcblxuICAgIGNvbnN0IGxpbmVzID0gW1xuICAgICAgdGhpcy5saXN0VG9Nb3ZlLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUsXG4gICAgICB0aGlzLmxpc3RUb01vdmUuZ2V0TGFzdExpbmVDb250ZW50RW5kKCkubGluZSxcbiAgICAgIHRoaXMucGxhY2VUb01vdmUuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSxcbiAgICAgIHRoaXMucGxhY2VUb01vdmUuZ2V0TGFzdExpbmVDb250ZW50RW5kKCkubGluZSxcbiAgICBdO1xuICAgIGNvbnN0IGxpc3RTdGFydExpbmUgPSBNYXRoLm1pbiguLi5saW5lcyk7XG4gICAgY29uc3QgbGlzdEVuZExpbmUgPSBNYXRoLm1heCguLi5saW5lcyk7XG5cbiAgICBpZiAoY3Vyc29yTGluZSA8IGxpc3RTdGFydExpbmUgfHwgY3Vyc29yTGluZSA+IGxpc3RFbmRMaW5lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSB0aGlzLnJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgY3Vyc29yTGlzdCA9IHRoaXMucm9vdC5nZXRMaXN0VW5kZXJMaW5lKGN1cnNvci5saW5lKTtcbiAgICBjb25zdCBjdXJzb3JMaXN0U3RhcnQgPSBjdXJzb3JMaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gY3Vyc29yLmxpbmUgLSBjdXJzb3JMaXN0U3RhcnQubGluZTtcbiAgICBjb25zdCBjaERpZmYgPSBjdXJzb3IuY2ggLSBjdXJzb3JMaXN0U3RhcnQuY2g7XG5cbiAgICByZXR1cm4geyBjdXJzb3JMaXN0LCBsaW5lRGlmZiwgY2hEaWZmIH07XG4gIH1cblxuICBwcml2YXRlIG1vdmVMaXN0KCkge1xuICAgIHRoaXMubGlzdFRvTW92ZS5nZXRQYXJlbnQoKS5yZW1vdmVDaGlsZCh0aGlzLmxpc3RUb01vdmUpO1xuXG4gICAgc3dpdGNoICh0aGlzLndoZXJlVG9Nb3ZlKSB7XG4gICAgICBjYXNlIFwiYmVmb3JlXCI6XG4gICAgICAgIHRoaXMucGxhY2VUb01vdmVcbiAgICAgICAgICAuZ2V0UGFyZW50KClcbiAgICAgICAgICAuYWRkQmVmb3JlKHRoaXMucGxhY2VUb01vdmUsIHRoaXMubGlzdFRvTW92ZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiYWZ0ZXJcIjpcbiAgICAgICAgdGhpcy5wbGFjZVRvTW92ZVxuICAgICAgICAgIC5nZXRQYXJlbnQoKVxuICAgICAgICAgIC5hZGRBZnRlcih0aGlzLnBsYWNlVG9Nb3ZlLCB0aGlzLmxpc3RUb01vdmUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcImluc2lkZVwiOlxuICAgICAgICB0aGlzLnBsYWNlVG9Nb3ZlLmFkZEJlZm9yZUFsbCh0aGlzLmxpc3RUb01vdmUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUluZGVudCgpIHtcbiAgICBjb25zdCBvbGRJbmRlbnQgPSB0aGlzLmxpc3RUb01vdmUuZ2V0Rmlyc3RMaW5lSW5kZW50KCk7XG4gICAgY29uc3QgbmV3SW5kZW50ID1cbiAgICAgIHRoaXMud2hlcmVUb01vdmUgPT09IFwiaW5zaWRlXCJcbiAgICAgICAgPyB0aGlzLnBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUluZGVudCgpICsgdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnNcbiAgICAgICAgOiB0aGlzLnBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUluZGVudCgpO1xuICAgIHRoaXMubGlzdFRvTW92ZS51bmluZGVudENvbnRlbnQoMCwgb2xkSW5kZW50Lmxlbmd0aCk7XG4gICAgdGhpcy5saXN0VG9Nb3ZlLmluZGVudENvbnRlbnQoMCwgbmV3SW5kZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZUN1cnNvcihjdXJzb3JBbmNob3I6IEN1cnNvckFuY2hvcikge1xuICAgIGlmIChjdXJzb3JBbmNob3IpIHtcbiAgICAgIGNvbnN0IGN1cnNvckxpc3RTdGFydCA9XG4gICAgICAgIGN1cnNvckFuY2hvci5jdXJzb3JMaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpO1xuXG4gICAgICB0aGlzLnJvb3QucmVwbGFjZUN1cnNvcih7XG4gICAgICAgIGxpbmU6IGN1cnNvckxpc3RTdGFydC5saW5lICsgY3Vyc29yQW5jaG9yLmxpbmVEaWZmLFxuICAgICAgICBjaDogY3Vyc29yTGlzdFN0YXJ0LmNoICsgY3Vyc29yQW5jaG9yLmNoRGlmZixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXaGVuIHlvdSBtb3ZlIGEgbGlzdCwgdGhlIHNjcmVlbiBzY3JvbGxzIHRvIHRoZSBjdXJzb3IuXG4gICAgICAvLyBJdCBpcyBiZXR0ZXIgdG8gbW92ZSB0aGUgY3Vyc29yIGludG8gdGhlIHZpZXdwb3J0IHRoYW4gbGV0IHRoZSBzY3JlZW4gc2Nyb2xsLlxuICAgICAgdGhpcy5yb290LnJlcGxhY2VDdXJzb3IodGhpcy5saXN0VG9Nb3ZlLmdldExhc3RMaW5lQ29udGVudEVuZCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5vdGljZSwgUGxhdGZvcm0sIFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IFN0YXRlRWZmZWN0LCBTdGF0ZUZpZWxkIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBEZWNvcmF0aW9uLCBEZWNvcmF0aW9uU2V0LCBFZGl0b3JWaWV3IH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IE1vdmVMaXN0VG9EaWZmZXJlbnRQb3NpdGlvbiB9IGZyb20gXCIuLi9vcGVyYXRpb25zL01vdmVMaXN0VG9EaWZmZXJlbnRQb3NpdGlvblwiO1xuaW1wb3J0IHsgTGlzdCwgUm9vdCwgY21wUG9zIH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvT2JzaWRpYW5TZXR0aW5nc1wiO1xuaW1wb3J0IHsgT3BlcmF0aW9uUGVyZm9ybWVyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09wZXJhdGlvblBlcmZvcm1lclwiO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1BhcnNlclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcblxuY29uc3QgQk9EWV9DTEFTUyA9IFwib3V0bGluZXItcGx1Z2luLWRuZFwiO1xuXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3AgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgcHJpdmF0ZSBkcm9wWm9uZTogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgcHJlU3RhcnQ6IERyYWdBbmREcm9wUHJlU3RhcnRTdGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXRlOiBEcmFnQW5kRHJvcFN0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgb2Jpc2lkaWFuOiBPYnNpZGlhblNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihbXG4gICAgICBkcmFnZ2luZ0xpbmVzU3RhdGVGaWVsZCxcbiAgICAgIGRyb3BwaW5nTGluZXNTdGF0ZUZpZWxkLFxuICAgIF0pO1xuICAgIHRoaXMuZW5hYmxlRmVhdHVyZVRvZ2dsZSgpO1xuICAgIHRoaXMuY3JlYXRlRHJvcFpvbmUoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMucmVtb3ZlRHJvcFpvbmUoKTtcbiAgICB0aGlzLmRpc2FibGVGZWF0dXJlVG9nZ2xlKCk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUZlYXR1cmVUb2dnbGUoKSB7XG4gICAgdGhpcy5zZXR0aW5ncy5vbkNoYW5nZSh0aGlzLmhhbmRsZVNldHRpbmdzQ2hhbmdlKTtcbiAgICB0aGlzLmhhbmRsZVNldHRpbmdzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVGZWF0dXJlVG9nZ2xlKCkge1xuICAgIHRoaXMuc2V0dGluZ3MucmVtb3ZlQ2FsbGJhY2sodGhpcy5oYW5kbGVTZXR0aW5nc0NoYW5nZSk7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKEJPRFlfQ0xBU1MpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEcm9wWm9uZSgpIHtcbiAgICB0aGlzLmRyb3Bab25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLmRyb3Bab25lLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tZHJvcC16b25lXCIpO1xuICAgIHRoaXMuZHJvcFpvbmUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5kcm9wWm9uZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURyb3Bab25lKCkge1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5kcm9wWm9uZSk7XG4gICAgdGhpcy5kcm9wWm9uZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5oYW5kbGVNb3VzZURvd24sIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmhhbmRsZU1vdXNlTW92ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgdGhpcy5oYW5kbGVNb3VzZVVwKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFdmVudExpc3RlbmVycygpIHtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlTW91c2VEb3duLCB7XG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5oYW5kbGVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2V0dGluZ3NDaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0ZlYXR1cmVTdXBwb3J0ZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNldHRpbmdzLmRyYWdBbmREcm9wKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoQk9EWV9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShCT0RZX0NMQVNTKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZURvd24gPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgIGlmIChcbiAgICAgICFpc0ZlYXR1cmVTdXBwb3J0ZWQoKSB8fFxuICAgICAgIXRoaXMuc2V0dGluZ3MuZHJhZ0FuZERyb3AgfHxcbiAgICAgICFpc0NsaWNrT25CdWxsZXQoZSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3ID0gZ2V0RWRpdG9yVmlld0Zyb21IVE1MRWxlbWVudChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgaWYgKCF2aWV3KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLnByZVN0YXJ0ID0ge1xuICAgICAgeDogZS54LFxuICAgICAgeTogZS55LFxuICAgICAgdmlldyxcbiAgICB9O1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlTW91c2VNb3ZlID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5wcmVTdGFydCkge1xuICAgICAgdGhpcy5zdGFydERyYWdnaW5nKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXRlKSB7XG4gICAgICB0aGlzLmRldGVjdEFuZERyYXdEcm9wWm9uZShlLngsIGUueSk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlTW91c2VVcCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcmVTdGFydCkge1xuICAgICAgdGhpcy5wcmVTdGFydCA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXRlKSB7XG4gICAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICYmIGUuY29kZSA9PT0gXCJFc2NhcGVcIikge1xuICAgICAgdGhpcy5jYW5jZWxEcmFnZ2luZygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHN0YXJ0RHJhZ2dpbmcoKSB7XG4gICAgY29uc3QgeyB4LCB5LCB2aWV3IH0gPSB0aGlzLnByZVN0YXJ0O1xuICAgIHRoaXMucHJlU3RhcnQgPSBudWxsO1xuXG4gICAgY29uc3QgZWRpdG9yID0gZ2V0RWRpdG9yRnJvbVN0YXRlKHZpZXcuc3RhdGUpO1xuICAgIGNvbnN0IHBvcyA9IGVkaXRvci5vZmZzZXRUb1Bvcyh2aWV3LnBvc0F0Q29vcmRzKHsgeCwgeSB9KSk7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMucGFyc2VyLnBhcnNlKGVkaXRvciwgcG9zKTtcbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJMaW5lKHBvcy5saW5lKTtcbiAgICBjb25zdCBzdGF0ZSA9IG5ldyBEcmFnQW5kRHJvcFN0YXRlKHZpZXcsIGVkaXRvciwgcm9vdCwgbGlzdCk7XG5cbiAgICBpZiAoIXN0YXRlLmhhc0Ryb3BWYXJpYW50cygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaGlnaGxpZ2h0RHJhZ2dpbmdMaW5lcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RBbmREcmF3RHJvcFpvbmUoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0YXRlLmNhbGN1bGF0ZU5lYXJlc3REcm9wVmFyaWFudCh4LCB5KTtcbiAgICB0aGlzLmRyYXdEcm9wWm9uZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxEcmFnZ2luZygpIHtcbiAgICB0aGlzLnN0YXRlLmRyb3BWYXJpYW50ID0gbnVsbDtcbiAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wRHJhZ2dpbmcoKSB7XG4gICAgdGhpcy51bmhpZ2h0bGlnaHREcmFnZ2luZ0xpbmVzKCk7XG4gICAgdGhpcy5oaWRlRHJvcFpvbmUoKTtcbiAgICB0aGlzLmFwcGx5Q2hhbmdlcygpO1xuICAgIHRoaXMuc3RhdGUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmRyb3BWYXJpYW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcztcbiAgICBjb25zdCB7IGRyb3BWYXJpYW50LCBlZGl0b3IsIHJvb3QsIGxpc3QgfSA9IHN0YXRlO1xuXG4gICAgY29uc3QgbmV3Um9vdCA9IHRoaXMucGFyc2VyLnBhcnNlKGVkaXRvciwgcm9vdC5nZXRDb250ZW50U3RhcnQoKSk7XG4gICAgaWYgKCFpc1NhbWVSb290cyhyb290LCBuZXdSb290KSkge1xuICAgICAgbmV3IE5vdGljZShcbiAgICAgICAgYFRoZSBpdGVtIGNhbm5vdCBiZSBtb3ZlZC4gVGhlIHBhZ2UgY29udGVudCBjaGFuZ2VkIGR1cmluZyB0aGUgbW92ZS5gLFxuICAgICAgICA1MDAwXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLmV2YWwoXG4gICAgICByb290LFxuICAgICAgbmV3IE1vdmVMaXN0VG9EaWZmZXJlbnRQb3NpdGlvbihcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbGlzdCxcbiAgICAgICAgZHJvcFZhcmlhbnQucGxhY2VUb01vdmUsXG4gICAgICAgIGRyb3BWYXJpYW50LndoZXJlVG9Nb3ZlLFxuICAgICAgICB0aGlzLm9iaXNpZGlhbi5nZXREZWZhdWx0SW5kZW50Q2hhcnMoKVxuICAgICAgKSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodERyYWdnaW5nTGluZXMoKSB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcztcbiAgICBjb25zdCB7IGxpc3QsIGVkaXRvciwgdmlldyB9ID0gc3RhdGU7XG5cbiAgICBjb25zdCBsaW5lcyA9IFtdO1xuICAgIGNvbnN0IGZyb21MaW5lID0gbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lO1xuICAgIGNvbnN0IHRpbGxMaW5lID0gbGlzdC5nZXRDb250ZW50RW5kSW5jbHVkaW5nQ2hpbGRyZW4oKS5saW5lO1xuICAgIGZvciAobGV0IGkgPSBmcm9tTGluZTsgaSA8PSB0aWxsTGluZTsgaSsrKSB7XG4gICAgICBsaW5lcy5wdXNoKGVkaXRvci5wb3NUb09mZnNldCh7IGxpbmU6IGksIGNoOiAwIH0pKTtcbiAgICB9XG4gICAgdmlldy5kaXNwYXRjaCh7XG4gICAgICBlZmZlY3RzOiBbZG5kU3RhcnRlZC5vZihsaW5lcyldLFxuICAgIH0pO1xuXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwib3V0bGluZXItcGx1Z2luLWRyYWdnaW5nXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmhpZ2h0bGlnaHREcmFnZ2luZ0xpbmVzKCkge1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIm91dGxpbmVyLXBsdWdpbi1kcmFnZ2luZ1wiKTtcblxuICAgIHRoaXMuc3RhdGUudmlldy5kaXNwYXRjaCh7XG4gICAgICBlZmZlY3RzOiBbZG5kRW5kZWQub2YoKV0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXdEcm9wWm9uZSgpIHtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSB0aGlzO1xuICAgIGNvbnN0IHsgdmlldywgZWRpdG9yLCBsaXN0LCBkcm9wVmFyaWFudCB9ID0gc3RhdGU7XG5cbiAgICBjb25zdCB3aWR0aCA9IE1hdGgucm91bmQoXG4gICAgICB2aWV3LmNvbnRlbnRET00ub2Zmc2V0V2lkdGggLVxuICAgICAgICAoZHJvcFZhcmlhbnQubGVmdCAtXG4gICAgICAgICAgdmlldy5jb29yZHNBdFBvcyhcbiAgICAgICAgICAgIGVkaXRvci5wb3NUb09mZnNldCh7XG4gICAgICAgICAgICAgIGxpbmU6IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSxcbiAgICAgICAgICAgICAgY2g6IDAsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkubGVmdClcbiAgICApO1xuXG4gICAgdGhpcy5kcm9wWm9uZS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgIHRoaXMuZHJvcFpvbmUuc3R5bGUudG9wID0gZHJvcFZhcmlhbnQudG9wICsgXCJweFwiO1xuICAgIHRoaXMuZHJvcFpvbmUuc3R5bGUubGVmdCA9IGRyb3BWYXJpYW50LmxlZnQgKyBcInB4XCI7XG4gICAgdGhpcy5kcm9wWm9uZS5zdHlsZS53aWR0aCA9IHdpZHRoICsgXCJweFwiO1xuXG4gICAgaWYgKFxuICAgICAgZHJvcFZhcmlhbnQud2hlcmVUb01vdmUgPT09IFwiYmVmb3JlXCIgJiZcbiAgICAgICF0aGlzLmRyb3Bab25lLmNsYXNzTGlzdC5jb250YWlucyhcIm91dGxpbmVyLXBsdWdpbi1kcm9wLXpvbmUtYmVmb3JlXCIpXG4gICAgKSB7XG4gICAgICB0aGlzLmRyb3Bab25lLmNsYXNzTGlzdC5yZW1vdmUoXCJvdXRsaW5lci1wbHVnaW4tZHJvcC16b25lLWFmdGVyXCIpO1xuICAgICAgdGhpcy5kcm9wWm9uZS5jbGFzc0xpc3QuYWRkKFwib3V0bGluZXItcGx1Z2luLWRyb3Atem9uZS1iZWZvcmVcIik7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChkcm9wVmFyaWFudC53aGVyZVRvTW92ZSA9PT0gXCJhZnRlclwiIHx8XG4gICAgICAgIGRyb3BWYXJpYW50LndoZXJlVG9Nb3ZlID09PSBcImluc2lkZVwiKSAmJlxuICAgICAgIXRoaXMuZHJvcFpvbmUuY2xhc3NMaXN0LmNvbnRhaW5zKFwib3V0bGluZXItcGx1Z2luLWRyb3Atem9uZS1hZnRlclwiKVxuICAgICkge1xuICAgICAgdGhpcy5kcm9wWm9uZS5jbGFzc0xpc3QucmVtb3ZlKFwib3V0bGluZXItcGx1Z2luLWRyb3Atem9uZS1iZWZvcmVcIik7XG4gICAgICB0aGlzLmRyb3Bab25lLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tZHJvcC16b25lLWFmdGVyXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhcmVudCA9XG4gICAgICBkcm9wVmFyaWFudC53aGVyZVRvTW92ZSA9PT0gXCJpbnNpZGVcIlxuICAgICAgICA/IGRyb3BWYXJpYW50LnBsYWNlVG9Nb3ZlXG4gICAgICAgIDogZHJvcFZhcmlhbnQucGxhY2VUb01vdmUuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgbmV3UGFyZW50SXNSb290TGlzdCA9ICFuZXdQYXJlbnQuZ2V0UGFyZW50KCk7XG5cbiAgICB0aGlzLnN0YXRlLnZpZXcuZGlzcGF0Y2goe1xuICAgICAgZWZmZWN0czogW1xuICAgICAgICBkbmRNb3ZlZC5vZihcbiAgICAgICAgICBuZXdQYXJlbnRJc1Jvb3RMaXN0XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogZWRpdG9yLnBvc1RvT2Zmc2V0KHtcbiAgICAgICAgICAgICAgICBsaW5lOiBuZXdQYXJlbnQuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSxcbiAgICAgICAgICAgICAgICBjaDogMCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGVEcm9wWm9uZSgpIHtcbiAgICB0aGlzLmRyb3Bab25lLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgfVxufVxuXG5pbnRlcmZhY2UgRHJvcFZhcmlhbnQge1xuICBsaW5lOiBudW1iZXI7XG4gIGxldmVsOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGRpc3Q6IG51bWJlcjtcbiAgcGxhY2VUb01vdmU6IExpc3Q7XG4gIHdoZXJlVG9Nb3ZlOiBcImFmdGVyXCIgfCBcImJlZm9yZVwiIHwgXCJpbnNpZGVcIjtcbn1cblxuaW50ZXJmYWNlIERyYWdBbmREcm9wUHJlU3RhcnRTdGF0ZSB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB2aWV3OiBFZGl0b3JWaWV3O1xufVxuXG5jbGFzcyBEcmFnQW5kRHJvcFN0YXRlIHtcbiAgcHJpdmF0ZSBkcm9wVmFyaWFudHM6IE1hcDxzdHJpbmcsIERyb3BWYXJpYW50PiA9IG5ldyBNYXAoKTtcbiAgcHVibGljIGRyb3BWYXJpYW50OiBEcm9wVmFyaWFudCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXc6IEVkaXRvclZpZXcsXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvcjogTXlFZGl0b3IsXG4gICAgcHVibGljIHJlYWRvbmx5IHJvb3Q6IFJvb3QsXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RcbiAgKSB7XG4gICAgdGhpcy5jb2xsZWN0RHJvcFZhcmlhbnRzKCk7XG4gIH1cblxuICBnZXREcm9wVmFyaWFudHMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5kcm9wVmFyaWFudHMudmFsdWVzKCkpO1xuICB9XG5cbiAgaGFzRHJvcFZhcmlhbnRzKCkge1xuICAgIHJldHVybiB0aGlzLmRyb3BWYXJpYW50cy5zaXplID4gMDtcbiAgfVxuXG4gIGNhbGN1bGF0ZU5lYXJlc3REcm9wVmFyaWFudCh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGNvbnN0IHsgdmlldywgZWRpdG9yIH0gPSB0aGlzO1xuXG4gICAgdGhpcy5kcm9wVmFyaWFudCA9IHRoaXMuZ2V0RHJvcFZhcmlhbnRzKClcbiAgICAgIC5tYXAoKHYpID0+IHtcbiAgICAgICAgY29uc3QgeyBwbGFjZVRvTW92ZSB9ID0gdjtcblxuICAgICAgICBzd2l0Y2ggKHYud2hlcmVUb01vdmUpIHtcbiAgICAgICAgICBjYXNlIFwiYmVmb3JlXCI6XG4gICAgICAgICAgY2FzZSBcImFmdGVyXCI6XG4gICAgICAgICAgICB2LmxlZnQgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICB2aWV3LmNvb3Jkc0F0UG9zKFxuICAgICAgICAgICAgICAgIGVkaXRvci5wb3NUb09mZnNldCh7XG4gICAgICAgICAgICAgICAgICBsaW5lOiBwbGFjZVRvTW92ZS5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lLFxuICAgICAgICAgICAgICAgICAgY2g6IHBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLmxlZnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgXCJpbnNpZGVcIjpcbiAgICAgICAgICAgIHYubGVmdCA9IE1hdGgucm91bmQoXG4gICAgICAgICAgICAgIHZpZXcuY29vcmRzQXRQb3MoXG4gICAgICAgICAgICAgICAgZWRpdG9yLnBvc1RvT2Zmc2V0KHtcbiAgICAgICAgICAgICAgICAgIGxpbmU6IHBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUsXG4gICAgICAgICAgICAgICAgICBjaDogcGxhY2VUb01vdmUuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICkubGVmdCArXG4gICAgICAgICAgICAgICAgdmlldy5kZWZhdWx0Q2hhcmFjdGVyV2lkdGggKiAyXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHYud2hlcmVUb01vdmUpIHtcbiAgICAgICAgICBjYXNlIFwiYmVmb3JlXCI6XG4gICAgICAgICAgICB2LnRvcCA9IE1hdGgucm91bmQoXG4gICAgICAgICAgICAgIHZpZXcuY29vcmRzQXRQb3MoXG4gICAgICAgICAgICAgICAgZWRpdG9yLnBvc1RvT2Zmc2V0KHBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpKVxuICAgICAgICAgICAgICApLnRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBcImFmdGVyXCI6XG4gICAgICAgICAgY2FzZSBcImluc2lkZVwiOlxuICAgICAgICAgICAgdi50b3AgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICB2aWV3LmNvb3Jkc0F0UG9zKFxuICAgICAgICAgICAgICAgIGVkaXRvci5wb3NUb09mZnNldChwbGFjZVRvTW92ZS5nZXRDb250ZW50RW5kSW5jbHVkaW5nQ2hpbGRyZW4oKSlcbiAgICAgICAgICAgICAgKS50b3AgKyB2aWV3LmRlZmF1bHRMaW5lSGVpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB2LmRpc3QgPSBNYXRoLmFicyhNYXRoLmh5cG90KHkgLSB2LnRvcCwgeCAtIHYubGVmdCkpO1xuXG4gICAgICAgIHJldHVybiB2O1xuICAgICAgfSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBhLmRpc3QgLSBiLmRpc3Q7XG4gICAgICB9KVxuICAgICAgLmZpcnN0KCk7XG4gIH1cblxuICBwcml2YXRlIGFkZERyb3BWYXJpYW50KHY6IERyb3BWYXJpYW50KSB7XG4gICAgdGhpcy5kcm9wVmFyaWFudHMuc2V0KGAke3YubGluZX0gJHt2LmxldmVsfWAsIHYpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0RHJvcFZhcmlhbnRzKCkge1xuICAgIGNvbnN0IHZpc2l0ID0gKGxpc3RzOiBMaXN0W10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgcGxhY2VUb01vdmUgb2YgbGlzdHMpIHtcbiAgICAgICAgY29uc3QgbGluZUJlZm9yZSA9IHBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmU7XG4gICAgICAgIGNvbnN0IGxpbmVBZnRlciA9IHBsYWNlVG9Nb3ZlLmdldENvbnRlbnRFbmRJbmNsdWRpbmdDaGlsZHJlbigpLmxpbmUgKyAxO1xuXG4gICAgICAgIGNvbnN0IGxldmVsID0gcGxhY2VUb01vdmUuZ2V0TGV2ZWwoKTtcblxuICAgICAgICB0aGlzLmFkZERyb3BWYXJpYW50KHtcbiAgICAgICAgICBsaW5lOiBsaW5lQmVmb3JlLFxuICAgICAgICAgIGxldmVsLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGRpc3Q6IDAsXG4gICAgICAgICAgcGxhY2VUb01vdmUsXG4gICAgICAgICAgd2hlcmVUb01vdmU6IFwiYmVmb3JlXCIsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFkZERyb3BWYXJpYW50KHtcbiAgICAgICAgICBsaW5lOiBsaW5lQWZ0ZXIsXG4gICAgICAgICAgbGV2ZWwsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgZGlzdDogMCxcbiAgICAgICAgICBwbGFjZVRvTW92ZSxcbiAgICAgICAgICB3aGVyZVRvTW92ZTogXCJhZnRlclwiLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocGxhY2VUb01vdmUgPT09IHRoaXMubGlzdCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBsYWNlVG9Nb3ZlLmlzRW1wdHkoKSkge1xuICAgICAgICAgIHRoaXMuYWRkRHJvcFZhcmlhbnQoe1xuICAgICAgICAgICAgbGluZTogbGluZUFmdGVyLFxuICAgICAgICAgICAgbGV2ZWw6IGxldmVsICsgMSxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBkaXN0OiAwLFxuICAgICAgICAgICAgcGxhY2VUb01vdmUsXG4gICAgICAgICAgICB3aGVyZVRvTW92ZTogXCJpbnNpZGVcIixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2aXNpdChwbGFjZVRvTW92ZS5nZXRDaGlsZHJlbigpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB2aXNpdCh0aGlzLnJvb3QuZ2V0Q2hpbGRyZW4oKSk7XG4gIH1cbn1cblxuY29uc3QgZG5kU3RhcnRlZCA9IFN0YXRlRWZmZWN0LmRlZmluZTxudW1iZXJbXT4oe1xuICBtYXA6IChsaW5lcywgY2hhbmdlKSA9PiBsaW5lcy5tYXAoKGwpID0+IGNoYW5nZS5tYXBQb3MobCkpLFxufSk7XG5cbmNvbnN0IGRuZE1vdmVkID0gU3RhdGVFZmZlY3QuZGVmaW5lPG51bWJlciB8IG51bGw+KHtcbiAgbWFwOiAobGluZSwgY2hhbmdlKSA9PiAobGluZSAhPT0gbnVsbCA/IGNoYW5nZS5tYXBQb3MobGluZSkgOiBsaW5lKSxcbn0pO1xuXG5jb25zdCBkbmRFbmRlZCA9IFN0YXRlRWZmZWN0LmRlZmluZTx2b2lkPigpO1xuXG5jb25zdCBkcmFnZ2luZ0xpbmVEZWNvcmF0aW9uID0gRGVjb3JhdGlvbi5saW5lKHtcbiAgY2xhc3M6IFwib3V0bGluZXItcGx1Z2luLWRyYWdnaW5nLWxpbmVcIixcbn0pO1xuXG5jb25zdCBkcm9wcGluZ0xpbmVEZWNvcmF0aW9uID0gRGVjb3JhdGlvbi5saW5lKHtcbiAgY2xhc3M6IFwib3V0bGluZXItcGx1Z2luLWRyb3BwaW5nLWxpbmVcIixcbn0pO1xuXG5jb25zdCBkcmFnZ2luZ0xpbmVzU3RhdGVGaWVsZCA9IFN0YXRlRmllbGQuZGVmaW5lPERlY29yYXRpb25TZXQ+KHtcbiAgY3JlYXRlOiAoKSA9PiBEZWNvcmF0aW9uLm5vbmUsXG5cbiAgdXBkYXRlOiAoZG5kU3RhdGUsIHRyKSA9PiB7XG4gICAgZG5kU3RhdGUgPSBkbmRTdGF0ZS5tYXAodHIuY2hhbmdlcyk7XG5cbiAgICBmb3IgKGNvbnN0IGUgb2YgdHIuZWZmZWN0cykge1xuICAgICAgaWYgKGUuaXMoZG5kU3RhcnRlZCkpIHtcbiAgICAgICAgZG5kU3RhdGUgPSBkbmRTdGF0ZS51cGRhdGUoe1xuICAgICAgICAgIGFkZDogZS52YWx1ZS5tYXAoKGwpID0+IGRyYWdnaW5nTGluZURlY29yYXRpb24ucmFuZ2UobCwgbCkpLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGUuaXMoZG5kRW5kZWQpKSB7XG4gICAgICAgIGRuZFN0YXRlID0gRGVjb3JhdGlvbi5ub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkbmRTdGF0ZTtcbiAgfSxcblxuICBwcm92aWRlOiAoZikgPT4gRWRpdG9yVmlldy5kZWNvcmF0aW9ucy5mcm9tKGYpLFxufSk7XG5cbmNvbnN0IGRyb3BwaW5nTGluZXNTdGF0ZUZpZWxkID0gU3RhdGVGaWVsZC5kZWZpbmU8RGVjb3JhdGlvblNldD4oe1xuICBjcmVhdGU6ICgpID0+IERlY29yYXRpb24ubm9uZSxcblxuICB1cGRhdGU6IChkbmREcm9wcGluZ1N0YXRlLCB0cikgPT4ge1xuICAgIGRuZERyb3BwaW5nU3RhdGUgPSBkbmREcm9wcGluZ1N0YXRlLm1hcCh0ci5jaGFuZ2VzKTtcblxuICAgIGZvciAoY29uc3QgZSBvZiB0ci5lZmZlY3RzKSB7XG4gICAgICBpZiAoZS5pcyhkbmRNb3ZlZCkpIHtcbiAgICAgICAgZG5kRHJvcHBpbmdTdGF0ZSA9XG4gICAgICAgICAgZS52YWx1ZSA9PT0gbnVsbFxuICAgICAgICAgICAgPyBEZWNvcmF0aW9uLm5vbmVcbiAgICAgICAgICAgIDogRGVjb3JhdGlvbi5zZXQoZHJvcHBpbmdMaW5lRGVjb3JhdGlvbi5yYW5nZShlLnZhbHVlLCBlLnZhbHVlKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlLmlzKGRuZEVuZGVkKSkge1xuICAgICAgICBkbmREcm9wcGluZ1N0YXRlID0gRGVjb3JhdGlvbi5ub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkbmREcm9wcGluZ1N0YXRlO1xuICB9LFxuXG4gIHByb3ZpZGU6IChmKSA9PiBFZGl0b3JWaWV3LmRlY29yYXRpb25zLmZyb20oZiksXG59KTtcblxuZnVuY3Rpb24gZ2V0RWRpdG9yVmlld0Zyb21IVE1MRWxlbWVudChlOiBIVE1MRWxlbWVudCkge1xuICB3aGlsZSAoZSAmJiAhZS5jbGFzc0xpc3QuY29udGFpbnMoXCJjbS1lZGl0b3JcIikpIHtcbiAgICBlID0gZS5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgaWYgKCFlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gRWRpdG9yVmlldy5maW5kRnJvbURPTShlKTtcbn1cblxuZnVuY3Rpb24gaXNDbGlja09uQnVsbGV0KGU6IE1vdXNlRXZlbnQpIHtcbiAgbGV0IGVsID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgd2hpbGUgKGVsKSB7XG4gICAgaWYgKFxuICAgICAgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwiY20tZm9ybWF0dGluZy1saXN0XCIpIHx8XG4gICAgICBlbC5jbGFzc0xpc3QuY29udGFpbnMoXCJjbS1mb2xkLWluZGljYXRvclwiKSB8fFxuICAgICAgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwidGFzay1saXN0LWl0ZW0tY2hlY2tib3hcIilcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNTYW1lUm9vdHMoYTogUm9vdCwgYjogUm9vdCkge1xuICBjb25zdCBbYVN0YXJ0LCBhRW5kXSA9IGEuZ2V0Q29udGVudFJhbmdlKCk7XG4gIGNvbnN0IFtiU3RhcnQsIGJFbmRdID0gYi5nZXRDb250ZW50UmFuZ2UoKTtcblxuICBpZiAoY21wUG9zKGFTdGFydCwgYlN0YXJ0KSAhPT0gMCB8fCBjbXBQb3MoYUVuZCwgYkVuZCkgIT09IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gYS5wcmludCgpID09PSBiLnByaW50KCk7XG59XG5cbmZ1bmN0aW9uIGlzRmVhdHVyZVN1cHBvcnRlZCgpIHtcbiAgcmV0dXJuIFBsYXRmb3JtLmlzRGVza3RvcDtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgaWYgKCFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb2xkUm9vdCA9IGxpc3QuZ2V0VG9wRm9sZFJvb3QoKTtcbiAgICBjb25zdCBmaXJzdExpbmVFbmQgPSBmb2xkUm9vdC5nZXRMaW5lc0luZm8oKVswXS50bztcblxuICAgIGlmIChjdXJzb3IubGluZSA+IGZpcnN0TGluZUVuZC5saW5lKSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGZpcnN0TGluZUVuZCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBLZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGFydCA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpO1xuICAgIGNvbnN0IGxpbmVQcmVmaXggPVxuICAgICAgY29udGVudFN0YXJ0LmxpbmUgPT09IGN1cnNvci5saW5lXG4gICAgICAgID8gY29udGVudFN0YXJ0LmNoXG4gICAgICAgIDogbGlzdC5nZXROb3Rlc0luZGVudCgpLmxlbmd0aDtcblxuICAgIGlmIChjdXJzb3IuY2ggPCBsaW5lUHJlZml4KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgICAgbGluZTogY3Vyc29yLmxpbmUsXG4gICAgICAgIGNoOiBsaW5lUHJlZml4LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgVHJhbnNhY3Rpb24gfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9LZWVwQ3Vyc29yT3V0c2lkZUZvbGRlZExpbmVzXCI7XG5pbXBvcnQgeyBLZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9LZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnRcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QYXJzZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JTZWxlY3Rpb25zQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIEVkaXRvclN0YXRlLnRyYW5zYWN0aW9uRXh0ZW5kZXIub2YodGhpcy50cmFuc2FjdGlvbkV4dGVuZGVyKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgdHJhbnNhY3Rpb25FeHRlbmRlciA9ICh0cjogVHJhbnNhY3Rpb24pOiBudWxsID0+IHtcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5rZWVwQ3Vyc29yV2l0aGluQ29udGVudCA9PT0gXCJuZXZlclwiIHx8ICF0ci5zZWxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvciA9IGdldEVkaXRvckZyb21TdGF0ZSh0ci5zdGFydFN0YXRlKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25zQ2hhbmdlcyhlZGl0b3IpO1xuICAgIH0sIDApO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25zQ2hhbmdlcyA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMucGFyc2VyLnBhcnNlKGVkaXRvcik7XG5cbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbmV3IEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMocm9vdCksXG4gICAgICAgIGVkaXRvclxuICAgICAgKTtcblxuICAgICAgaWYgKHNob3VsZFN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgIHJvb3QsXG4gICAgICBuZXcgS2VlcEN1cnNvcldpdGhpbkxpc3RDb250ZW50KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImV4cG9ydCBjb25zdCBjaGVja2JveFJlID0gYFxcXFxbW15cXFxcW1xcXFxdXVxcXFxdWyBcXHRdYDtcbiIsImV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveChsaW5lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGxpbmUgPT09IFwiXCIgfHwgbGluZSA9PT0gXCJbIF0gXCI7XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdCwgUG9zaXRpb24sIFJvb3QsIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgY2hlY2tib3hSZSB9IGZyb20gXCIuLi91dGlscy9jaGVja2JveFJlXCI7XG5pbXBvcnQgeyBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveCB9IGZyb20gXCIuLi91dGlscy9pc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldFpvb21SYW5nZSB7XG4gIGdldFpvb21SYW5nZSgpOiB7IGZyb206IFBvc2l0aW9uOyB0bzogUG9zaXRpb24gfSB8IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVOZXdJdGVtIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb290OiBSb290LFxuICAgIHByaXZhdGUgZGVmYXVsdEluZGVudENoYXJzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBnZXRab29tUmFuZ2U6IEdldFpvb21SYW5nZVxuICApIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlU2VsZWN0aW9uKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSByb290LmdldFNlbGVjdGlvbigpO1xuICAgIGlmICghc2VsZWN0aW9uIHx8IHNlbGVjdGlvbi5hbmNob3IubGluZSAhPT0gc2VsZWN0aW9uLmhlYWQubGluZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGlmIChsaW5lcy5sZW5ndGggPT09IDEgJiYgaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZXNbMF0udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVVbmRlckN1cnNvciA9IGxpbmVzLmZpbmQoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICBpZiAoY3Vyc29yLmNoIDwgbGluZVVuZGVyQ3Vyc29yLmZyb20uY2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IG9sZExpbmVzLCBuZXdMaW5lcyB9ID0gbGluZXMucmVkdWNlKFxuICAgICAgKGFjYywgbGluZSkgPT4ge1xuICAgICAgICBpZiAoY3Vyc29yLmxpbmUgPiBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGFjYy5vbGRMaW5lcy5wdXNoKGxpbmUudGV4dCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yLmxpbmUgPT09IGxpbmUuZnJvbS5saW5lKSB7XG4gICAgICAgICAgY29uc3QgbGVmdCA9IGxpbmUudGV4dC5zbGljZSgwLCBzZWxlY3Rpb24uZnJvbSAtIGxpbmUuZnJvbS5jaCk7XG4gICAgICAgICAgY29uc3QgcmlnaHQgPSBsaW5lLnRleHQuc2xpY2Uoc2VsZWN0aW9uLnRvIC0gbGluZS5mcm9tLmNoKTtcbiAgICAgICAgICBhY2Mub2xkTGluZXMucHVzaChsZWZ0KTtcbiAgICAgICAgICBhY2MubmV3TGluZXMucHVzaChyaWdodCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yLmxpbmUgPCBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGFjYy5uZXdMaW5lcy5wdXNoKGxpbmUudGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb2xkTGluZXM6IFtdLFxuICAgICAgICBuZXdMaW5lczogW10sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGNvZGVCbG9ja0JhY3RpY2tzID0gb2xkTGluZXMuam9pbihcIlxcblwiKS5zcGxpdChcImBgYFwiKS5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGlzSW5zaWRlQ29kZWJsb2NrID1cbiAgICAgIGNvZGVCbG9ja0JhY3RpY2tzID4gMCAmJiBjb2RlQmxvY2tCYWN0aWNrcyAlIDIgIT09IDA7XG5cbiAgICBpZiAoaXNJbnNpZGVDb2RlYmxvY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHpvb21SYW5nZSA9IHRoaXMuZ2V0Wm9vbVJhbmdlLmdldFpvb21SYW5nZSgpO1xuICAgIGNvbnN0IGxpc3RJc1pvb21pbmdSb290ID0gQm9vbGVhbihcbiAgICAgIHpvb21SYW5nZSAmJlxuICAgICAgICBsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUgPj0gem9vbVJhbmdlLmZyb20ubGluZSAmJlxuICAgICAgICBsaXN0LmdldExhc3RMaW5lQ29udGVudEVuZCgpLmxpbmUgPD0gem9vbVJhbmdlLmZyb20ubGluZVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICFsaXN0LmlzRW1wdHkoKTtcbiAgICBjb25zdCBjaGlsZElzRm9sZGVkID0gbGlzdC5pc0ZvbGRSb290KCk7XG4gICAgY29uc3QgZW5kUG9zID0gbGlzdC5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKTtcbiAgICBjb25zdCBlbmRPZkxpbmUgPSBjdXJzb3IubGluZSA9PT0gZW5kUG9zLmxpbmUgJiYgY3Vyc29yLmNoID09PSBlbmRQb3MuY2g7XG5cbiAgICBjb25zdCBvbkNoaWxkTGV2ZWwgPVxuICAgICAgbGlzdElzWm9vbWluZ1Jvb3QgfHwgKGhhc0NoaWxkcmVuICYmICFjaGlsZElzRm9sZGVkICYmIGVuZE9mTGluZSk7XG5cbiAgICBjb25zdCBpbmRlbnQgPSBvbkNoaWxkTGV2ZWxcbiAgICAgID8gaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0Rmlyc3RMaW5lSW5kZW50KClcbiAgICAgICAgOiBsaXN0LmdldEZpcnN0TGluZUluZGVudCgpICsgdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnNcbiAgICAgIDogbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKTtcblxuICAgIGNvbnN0IGJ1bGxldCA9XG4gICAgICBvbkNoaWxkTGV2ZWwgJiYgaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0QnVsbGV0KClcbiAgICAgICAgOiBsaXN0LmdldEJ1bGxldCgpO1xuXG4gICAgY29uc3Qgc3BhY2VBZnRlckJ1bGxldCA9XG4gICAgICBvbkNoaWxkTGV2ZWwgJiYgaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0U3BhY2VBZnRlckJ1bGxldCgpXG4gICAgICAgIDogbGlzdC5nZXRTcGFjZUFmdGVyQnVsbGV0KCk7XG5cbiAgICBjb25zdCBwcmVmaXggPSBvbGRMaW5lc1swXS5tYXRjaChjaGVja2JveFJlKSA/IFwiWyBdIFwiIDogXCJcIjtcblxuICAgIGNvbnN0IG5ld0xpc3QgPSBuZXcgTGlzdChcbiAgICAgIGxpc3QuZ2V0Um9vdCgpLFxuICAgICAgaW5kZW50LFxuICAgICAgYnVsbGV0LFxuICAgICAgcHJlZml4LFxuICAgICAgc3BhY2VBZnRlckJ1bGxldCxcbiAgICAgIHByZWZpeCArIG5ld0xpbmVzLnNoaWZ0KCksXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICBpZiAobmV3TGluZXMubGVuZ3RoID4gMCkge1xuICAgICAgbmV3TGlzdC5zZXROb3Rlc0luZGVudChsaXN0LmdldE5vdGVzSW5kZW50KCkpO1xuICAgICAgZm9yIChjb25zdCBsaW5lIG9mIG5ld0xpbmVzKSB7XG4gICAgICAgIG5ld0xpc3QuYWRkTGluZShsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob25DaGlsZExldmVsKSB7XG4gICAgICBsaXN0LmFkZEJlZm9yZUFsbChuZXdMaXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFjaGlsZElzRm9sZGVkIHx8ICFlbmRPZkxpbmUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBsaXN0LmdldENoaWxkcmVuKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICBsaXN0LnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgICAgICAgICBuZXdMaXN0LmFkZEFmdGVyQWxsKGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaXN0LmdldFBhcmVudCgpLmFkZEFmdGVyKGxpc3QsIG5ld0xpc3QpO1xuICAgIH1cblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKG9sZExpbmVzKTtcblxuICAgIGNvbnN0IG5ld0xpc3RTdGFydCA9IG5ld0xpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IG5ld0xpc3RTdGFydC5saW5lLFxuICAgICAgY2g6IG5ld0xpc3RTdGFydC5jaCArIHByZWZpeC5sZW5ndGgsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBPdXRkZW50TGlzdCBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG5cbiAgICBpZiAoIWdyYW5kUGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVCZWZvcmUgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgaW5kZW50Um1Gcm9tID0gcGFyZW50LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcbiAgICBjb25zdCBpbmRlbnRSbVRpbGwgPSBsaXN0LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcblxuICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICBncmFuZFBhcmVudC5hZGRBZnRlcihwYXJlbnQsIGxpc3QpO1xuICAgIGxpc3QudW5pbmRlbnRDb250ZW50KGluZGVudFJtRnJvbSwgaW5kZW50Um1UaWxsKTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVBZnRlciA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcbiAgICBjb25zdCBsaW5lRGlmZiA9IGxpc3RTdGFydExpbmVBZnRlciAtIGxpc3RTdGFydExpbmVCZWZvcmU7XG4gICAgY29uc3QgY2hEaWZmID0gaW5kZW50Um1UaWxsIC0gaW5kZW50Um1Gcm9tO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2ggLSBjaERpZmYsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcbmltcG9ydCB7IE91dGRlbnRMaXN0IH0gZnJvbSBcIi4vT3V0ZGVudExpc3RcIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveCB9IGZyb20gXCIuLi91dGlscy9pc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveFwiO1xuXG5leHBvcnQgY2xhc3MgT3V0ZGVudExpc3RJZkl0c0VtcHR5IGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBvdXRkZW50TGlzdDogT3V0ZGVudExpc3Q7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7XG4gICAgdGhpcy5vdXRkZW50TGlzdCA9IG5ldyBPdXRkZW50TGlzdChyb290KTtcbiAgfVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRkZW50TGlzdC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRkZW50TGlzdC5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzKCk7XG5cbiAgICBpZiAoXG4gICAgICBsaW5lcy5sZW5ndGggPiAxIHx8XG4gICAgICAhaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZXNbMF0pIHx8XG4gICAgICBsaXN0LmdldExldmVsKCkgPT09IDFcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm91dGRlbnRMaXN0LnBlcmZvcm0oKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgUHJlYyB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBDcmVhdGVOZXdJdGVtIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvQ3JlYXRlTmV3SXRlbVwiO1xuaW1wb3J0IHsgT3V0ZGVudExpc3RJZkl0c0VtcHR5IH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3V0ZGVudExpc3RJZkl0c0VtcHR5XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvUGFyc2VyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEVudGVyQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgaW1lRGV0ZWN0b3I6IElNRURldGVjdG9yLFxuICAgIHByaXZhdGUgb2JzaWRpYW5TZXR0aW5nczogT2JzaWRpYW5TZXR0aW5ncyxcbiAgICBwcml2YXRlIHBhcnNlcjogUGFyc2VyLFxuICAgIHByaXZhdGUgb3BlcmF0aW9uUGVyZm9ybWVyOiBPcGVyYXRpb25QZXJmb3JtZXJcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBQcmVjLmhpZ2hlc3QoXG4gICAgICAgIGtleW1hcC5vZihbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIkVudGVyXCIsXG4gICAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVFbnRlckJlaGF2aW91ciAmJiAhdGhpcy5pbWVEZXRlY3Rvci5pc09wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJzZXIucGFyc2UoZWRpdG9yKTtcblxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvdWxkVXBkYXRlOiBmYWxzZSxcbiAgICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAge1xuICAgICAgY29uc3QgcmVzID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbmV3IE91dGRlbnRMaXN0SWZJdHNFbXB0eShyb290KSxcbiAgICAgICAgZWRpdG9yXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzLnNob3VsZFN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRJbmRlbnRDaGFycyA9IHRoaXMub2JzaWRpYW5TZXR0aW5ncy5nZXREZWZhdWx0SW5kZW50Q2hhcnMoKTtcbiAgICAgIGNvbnN0IHpvb21SYW5nZSA9IGVkaXRvci5nZXRab29tUmFuZ2UoKTtcbiAgICAgIGNvbnN0IGdldFpvb21SYW5nZSA9IHtcbiAgICAgICAgZ2V0Wm9vbVJhbmdlOiAoKSA9PiB6b29tUmFuZ2UsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXMgPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5ldmFsKFxuICAgICAgICByb290LFxuICAgICAgICBuZXcgQ3JlYXRlTmV3SXRlbShyb290LCBkZWZhdWx0SW5kZW50Q2hhcnMsIGdldFpvb21SYW5nZSksXG4gICAgICAgIGVkaXRvclxuICAgICAgKTtcblxuICAgICAgaWYgKHJlcy5zaG91bGRVcGRhdGUgJiYgem9vbVJhbmdlKSB7XG4gICAgICAgIGVkaXRvci50cnlSZWZyZXNoWm9vbSh6b29tUmFuZ2UuZnJvbS5saW5lKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gIH07XG59XG4iLCJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZGl0b3JDYWxsYmFjayhjYjogKGVkaXRvcjogTXlFZGl0b3IpID0+IGJvb2xlYW4pIHtcbiAgcmV0dXJuIChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgIGNvbnN0IG15RWRpdG9yID0gbmV3IE15RWRpdG9yKGVkaXRvcik7XG4gICAgY29uc3Qgc2hvdWxkU3RvcFByb3BhZ2F0aW9uID0gY2IobXlFZGl0b3IpO1xuXG4gICAgaWYgKFxuICAgICAgIXNob3VsZFN0b3BQcm9wYWdhdGlvbiAmJlxuICAgICAgd2luZG93LmV2ZW50ICYmXG4gICAgICB3aW5kb3cuZXZlbnQudHlwZSA9PT0gXCJrZXlkb3duXCJcbiAgICApIHtcbiAgICAgIG15RWRpdG9yLnRyaWdnZXJPbktleURvd24od2luZG93LmV2ZW50IGFzIEtleWJvYXJkRXZlbnQpO1xuICAgIH1cbiAgfTtcbn1cbiIsImltcG9ydCB7IE5vdGljZSwgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2V0dGluZ3NcIjtcbmltcG9ydCB7IGNyZWF0ZUVkaXRvckNhbGxiYWNrIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZUVkaXRvckNhbGxiYWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBMaXN0c0ZvbGRpbmdDb21tYW5kcyBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBvYnNpZGlhblNldHRpbmdzOiBPYnNpZGlhblNldHRpbmdzXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiZm9sZFwiLFxuICAgICAgaWNvbjogXCJjaGV2cm9ucy1kb3duLXVwXCIsXG4gICAgICBuYW1lOiBcIkZvbGQgdGhlIGxpc3RcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLmZvbGQpLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93VXBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcInVuZm9sZFwiLFxuICAgICAgaWNvbjogXCJjaGV2cm9ucy11cC1kb3duXCIsXG4gICAgICBuYW1lOiBcIlVuZm9sZCB0aGUgbGlzdFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IGNyZWF0ZUVkaXRvckNhbGxiYWNrKHRoaXMudW5mb2xkKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd0Rvd25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9sZChlZGl0b3I6IE15RWRpdG9yLCB0eXBlOiBcImZvbGRcIiB8IFwidW5mb2xkXCIpIHtcbiAgICBpZiAoIXRoaXMub2JzaWRpYW5TZXR0aW5ncy5nZXRGb2xkU2V0dGluZ3MoKS5mb2xkSW5kZW50KSB7XG4gICAgICBuZXcgTm90aWNlKFxuICAgICAgICBgVW5hYmxlIHRvICR7dHlwZX0gYmVjYXVzZSBmb2xkaW5nIGlzIGRpc2FibGVkLiBQbGVhc2UgZW5hYmxlIFwiRm9sZCBpbmRlbnRcIiBpbiBPYnNpZGlhbiBzZXR0aW5ncy5gLFxuICAgICAgICA1MDAwXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gZWRpdG9yLmdldEN1cnNvcigpO1xuXG4gICAgaWYgKHR5cGUgPT09IFwiZm9sZFwiKSB7XG4gICAgICBlZGl0b3IuZm9sZChjdXJzb3IubGluZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVkaXRvci51bmZvbGQoY3Vyc29yLmxpbmUpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJmb2xkXCIpO1xuICB9O1xuXG4gIHByaXZhdGUgdW5mb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJ1bmZvbGRcIik7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBJbmRlbnRMaXN0IGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290LCBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBwcmV2ID0gcGFyZW50LmdldFByZXZTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBpZiAoIXByZXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGNvbnN0IGluZGVudFBvcyA9IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoO1xuICAgIGxldCBpbmRlbnRDaGFycyA9IFwiXCI7XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIXByZXYuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IHByZXZcbiAgICAgICAgLmdldENoaWxkcmVuKClbMF1cbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwcmV2LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGluZGVudENoYXJzID09PSBcIlwiKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3RcbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwYXJlbnQuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIWxpc3QuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3QuZ2V0Q2hpbGRyZW4oKVswXS5nZXRGaXJzdExpbmVJbmRlbnQoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIpIHtcbiAgICAgIGluZGVudENoYXJzID0gdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnM7XG4gICAgfVxuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgIHByZXYuYWRkQWZ0ZXJBbGwobGlzdCk7XG4gICAgbGlzdC5pbmRlbnRDb250ZW50KGluZGVudFBvcywgaW5kZW50Q2hhcnMpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoICsgaW5kZW50Q2hhcnMubGVuZ3RoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QsIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUxpc3REb3duIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBncmFuZFBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBuZXh0ID0gcGFyZW50LmdldE5leHRTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQmVmb3JlID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuXG4gICAgaWYgKCFuZXh0ICYmIGdyYW5kUGFyZW50KSB7XG4gICAgICBjb25zdCBuZXdQYXJlbnQgPSBncmFuZFBhcmVudC5nZXROZXh0U2libGluZ09mKHBhcmVudCk7XG5cbiAgICAgIGlmIChuZXdQYXJlbnQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgICAgICBuZXdQYXJlbnQuYWRkQmVmb3JlQWxsKGxpc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmV4dCkge1xuICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgIHBhcmVudC5hZGRBZnRlcihuZXh0LCBsaXN0KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVBZnRlciA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcbiAgICBjb25zdCBsaW5lRGlmZiA9IGxpc3RTdGFydExpbmVBZnRlciAtIGxpc3RTdGFydExpbmVCZWZvcmU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIHJvb3QucmVwbGFjZUN1cnNvcih7XG4gICAgICBsaW5lOiBjdXJzb3IubGluZSArIGxpbmVEaWZmLFxuICAgICAgY2g6IGN1cnNvci5jaCxcbiAgICB9KTtcblxuICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290LCByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVMaXN0VXAgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgIGNvbnN0IGdyYW5kUGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpO1xuICAgIGNvbnN0IHByZXYgPSBwYXJlbnQuZ2V0UHJldlNpYmxpbmdPZihsaXN0KTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVCZWZvcmUgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG5cbiAgICBpZiAoIXByZXYgJiYgZ3JhbmRQYXJlbnQpIHtcbiAgICAgIGNvbnN0IG5ld1BhcmVudCA9IGdyYW5kUGFyZW50LmdldFByZXZTaWJsaW5nT2YocGFyZW50KTtcblxuICAgICAgaWYgKG5ld1BhcmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICAgIG5ld1BhcmVudC5hZGRBZnRlckFsbChsaXN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByZXYpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICBwYXJlbnQuYWRkQmVmb3JlKHByZXYsIGxpc3QpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy51cGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBJbmRlbnRMaXN0IH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvSW5kZW50TGlzdFwiO1xuaW1wb3J0IHsgTW92ZUxpc3REb3duIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUxpc3REb3duXCI7XG5pbXBvcnQgeyBNb3ZlTGlzdFVwIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUxpc3RVcFwiO1xuaW1wb3J0IHsgT3V0ZGVudExpc3QgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9PdXRkZW50TGlzdFwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBjcmVhdGVFZGl0b3JDYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVFZGl0b3JDYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgTGlzdHNNb3ZlbWVudENvbW1hbmRzIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcIm1vdmUtbGlzdC1pdGVtLXVwXCIsXG4gICAgICBpY29uOiBcImFycm93LXVwXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgdXBcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLm1vdmVMaXN0VXApLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIiwgXCJTaGlmdFwiXSxcbiAgICAgICAgICBrZXk6IFwiQXJyb3dVcFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tZG93blwiLFxuICAgICAgaWNvbjogXCJhcnJvdy1kb3duXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgZG93blwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IGNyZWF0ZUVkaXRvckNhbGxiYWNrKHRoaXMubW92ZUxpc3REb3duKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCIsIFwiU2hpZnRcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93RG93blwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiaW5kZW50LWxpc3RcIixcbiAgICAgIGljb246IFwiaW5kZW50XCIsXG4gICAgICBuYW1lOiBcIkluZGVudCB0aGUgbGlzdCBhbmQgc3VibGlzdHNcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLmluZGVudExpc3QpLFxuICAgICAgaG90a2V5czogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcIm91dGRlbnQtbGlzdFwiLFxuICAgICAgaWNvbjogXCJvdXRkZW50XCIsXG4gICAgICBuYW1lOiBcIk91dGRlbnQgdGhlIGxpc3QgYW5kIHN1Ymxpc3RzXCIsXG4gICAgICBlZGl0b3JDYWxsYmFjazogY3JlYXRlRWRpdG9yQ2FsbGJhY2sodGhpcy5vdXRkZW50TGlzdCksXG4gICAgICBob3RrZXlzOiBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdERvd24gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHsgc2hvdWxkU3RvcFByb3BhZ2F0aW9uIH0gPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGlzdERvd24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuXG4gICAgcmV0dXJuIHNob3VsZFN0b3BQcm9wYWdhdGlvbjtcbiAgfTtcblxuICBwcml2YXRlIG1vdmVMaXN0VXAgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHsgc2hvdWxkU3RvcFByb3BhZ2F0aW9uIH0gPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGlzdFVwKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBpbmRlbnRMaXN0ID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PlxuICAgICAgICBuZXcgSW5kZW50TGlzdChyb290LCB0aGlzLm9ic2lkaWFuU2V0dGluZ3MuZ2V0RGVmYXVsdEluZGVudENoYXJzKCkpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBvdXRkZW50TGlzdCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLnBlcmZvcm0oXG4gICAgICAocm9vdCkgPT4gbmV3IE91dGRlbnRMaXN0KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsQ3VycmVudExpbmVDb250ZW50U3RhcnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzSW5mbygpO1xuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleCgobCkgPT4gbC5mcm9tLmxpbmUgPT09IGN1cnNvci5saW5lKTtcblxuICAgIGxpbmVzW2xpbmVOb10udGV4dCA9IGxpbmVzW2xpbmVOb10udGV4dC5zbGljZShcbiAgICAgIGN1cnNvci5jaCAtIGxpbmVzW2xpbmVOb10uZnJvbS5jaFxuICAgICk7XG5cbiAgICBsaXN0LnJlcGxhY2VMaW5lcyhsaW5lcy5tYXAoKGwpID0+IGwudGV4dCkpO1xuICAgIHJvb3QucmVwbGFjZUN1cnNvcihsaW5lc1tsaW5lTm9dLmZyb20pO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydCB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydFwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgTWV0YUJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIG1hYzogXCJtLUJhY2tzcGFjZVwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ICE9PSBcIm5ldmVyXCIgJiZcbiAgICAgICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlVGlsbEN1cnJlbnRMaW5lQ29udGVudFN0YXJ0KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE1hcmtkb3duUmVuZGVyZXIsIE1vZGFsLCBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jbGFzcyBSZWxlYXNlTm90ZXNNb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgdGl0bGU6IHN0cmluZyxcbiAgICBwcml2YXRlIGNvbnRlbnQ6IHN0cmluZyxcbiAgICBwcml2YXRlIGNiOiAoKSA9PiB2b2lkXG4gICkge1xuICAgIHN1cGVyKHBsdWdpbi5hcHApO1xuICB9XG5cbiAgYXN5bmMgb25PcGVuKCkge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuXG4gICAgTWFya2Rvd25SZW5kZXJlci5yZW5kZXJNYXJrZG93bihcbiAgICAgIHRoaXMuY29udGVudCxcbiAgICAgIHRoaXMuY29udGVudEVsLFxuICAgICAgXCJcIixcbiAgICAgIHRoaXMucGx1Z2luXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVSZWxlYXNlcyhhOiBzdHJpbmcsIGI6IHN0cmluZykge1xuICBjb25zdCBbYU1ham9yLCBhTWlub3IsIGFQYXRjaF0gPSBhLnNwbGl0KFwiLlwiLCAzKS5tYXAoTnVtYmVyKTtcbiAgY29uc3QgW2JNYWpvciwgYk1pbm9yLCBiUGF0Y2hdID0gYi5zcGxpdChcIi5cIiwgMykubWFwKE51bWJlcik7XG5cbiAgaWYgKGFNYWpvciA9PT0gYk1ham9yKSB7XG4gICAgaWYgKGFNaW5vciA9PT0gYk1pbm9yKSB7XG4gICAgICByZXR1cm4gYVBhdGNoIC0gYlBhdGNoO1xuICAgIH1cblxuICAgIHJldHVybiBhTWlub3IgLSBiTWlub3I7XG4gIH1cblxuICByZXR1cm4gYU1ham9yIC0gYk1ham9yO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNoYW5nZWxvZygpIHtcbiAgY29uc3QgbWFya2Rvd24gPSBDSEFOR0VMT0dfTUQ7XG4gIGNvbnN0IHJlbGVhc2VOb3RlczogW3N0cmluZywgc3RyaW5nXVtdID0gW107XG4gIGxldCB2ZXJzaW9uO1xuICBsZXQgY29udGVudCA9IFwiXCI7XG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIG1hcmtkb3duLnNwbGl0KFwiXFxuXCIpKSB7XG4gICAgY29uc3QgdmVyc2lvbkhlYWRlck1hdGNoZXMgPSAvXiMrXFxzKyhcXGQrXFwuXFxkK1xcLlxcZCspJC8uZXhlYyhsaW5lKTtcbiAgICBpZiAodmVyc2lvbkhlYWRlck1hdGNoZXMpIHtcbiAgICAgIGlmICh2ZXJzaW9uICYmIGNvbnRlbnQudHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVsZWFzZU5vdGVzLnB1c2goW3ZlcnNpb24sIGNvbnRlbnRdKTtcbiAgICAgIH1cbiAgICAgIHZlcnNpb24gPSB2ZXJzaW9uSGVhZGVyTWF0Y2hlc1sxXTtcbiAgICAgIGNvbnRlbnQgPSBsaW5lO1xuICAgICAgY29udGVudCArPSBcIlxcblwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ICs9IGxpbmU7XG4gICAgICBjb250ZW50ICs9IFwiXFxuXCI7XG4gICAgfVxuICB9XG5cbiAgaWYgKHZlcnNpb24gJiYgY29udGVudC50cmltKCkubGVuZ3RoID4gMCkge1xuICAgIHJlbGVhc2VOb3Rlcy5wdXNoKFt2ZXJzaW9uLCBjb250ZW50XSk7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU5vdGVzO1xufVxuXG5leHBvcnQgY2xhc3MgUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50IGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIHByaXZhdGUgbW9kYWw6IFJlbGVhc2VOb3Rlc01vZGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLCBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncykge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwic2hvdy1yZWxlYXNlLW5vdGVzXCIsXG4gICAgICBuYW1lOiBcIlNob3cgUmVsZWFzZSBOb3Rlc1wiLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuc2hvd01vZGFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zaG93TW9kYWwodGhpcy5zZXR0aW5ncy5wcmV2aW91c1JlbGVhc2UpO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge1xuICAgIGlmICghdGhpcy5tb2RhbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gdGhpcy5tb2RhbDtcbiAgICB0aGlzLm1vZGFsID0gbnVsbDtcbiAgICBtb2RhbC5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TW9kYWwgPSAocHJldmlvdXNSZWxlYXNlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkgPT4ge1xuICAgIGxldCByZWxlYXNlTm90ZXMgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgW3ZlcnNpb24sIGNvbnRlbnRdIG9mIHBhcnNlQ2hhbmdlbG9nKCkpIHtcbiAgICAgIGlmIChjb21wYXJlUmVsZWFzZXModmVyc2lvbiwgcHJldmlvdXNSZWxlYXNlIHx8IFwiMC4wLjBcIikgPiAwKSB7XG4gICAgICAgIHJlbGVhc2VOb3RlcyArPSBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZWxlYXNlTm90ZXMudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsVGl0bGUgPSBgV2VsY29tZSB0byBPYnNpZGlhbiBPdXRsaW5lciAke1BMVUdJTl9WRVJTSU9OfWA7XG5cbiAgICB0aGlzLm1vZGFsID0gbmV3IFJlbGVhc2VOb3Rlc01vZGFsKFxuICAgICAgdGhpcy5wbHVnaW4sXG4gICAgICBtb2RhbFRpdGxlLFxuICAgICAgcmVsZWFzZU5vdGVzLFxuICAgICAgdGhpcy5oYW5kbGVDbG9zZVxuICAgICk7XG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbG9zZSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIXRoaXMubW9kYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldHRpbmdzLnByZXZpb3VzUmVsZWFzZSA9IFBMVUdJTl9WRVJTSU9OO1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgQXBwLCBQbHVnaW5TZXR0aW5nVGFiLCBQbHVnaW5fMiwgU2V0dGluZyB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQge1xuICBLZWVwQ3Vyc29yV2l0aGluQ29udGVudCxcbiAgU2V0dGluZ3MsXG4gIFZlcnRpY2FsTGluZXNBY3Rpb24sXG59IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jbGFzcyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gIH1cblxuICBkaXNwbGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29udGFpbmVyRWwgfSA9IHRoaXM7XG5cbiAgICBjb250YWluZXJFbC5lbXB0eSgpO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlN0aWNrIHRoZSBjdXJzb3IgdG8gdGhlIGNvbnRlbnRcIilcbiAgICAgIC5zZXREZXNjKFwiRG9uJ3QgbGV0IHRoZSBjdXJzb3IgbW92ZSB0byB0aGUgYnVsbGV0IHBvc2l0aW9uLlwiKVxuICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICBkcm9wZG93blxuICAgICAgICAgIC5hZGRPcHRpb25zKHtcbiAgICAgICAgICAgIG5ldmVyOiBcIk5ldmVyXCIsXG4gICAgICAgICAgICBcImJ1bGxldC1vbmx5XCI6IFwiU3RpY2sgY3Vyc29yIG91dCBvZiBidWxsZXRzXCIsXG4gICAgICAgICAgICBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjogXCJTdGljayBjdXJzb3Igb3V0IG9mIGJ1bGxldHMgYW5kIGNoZWNrYm94ZXNcIixcbiAgICAgICAgICB9IGFzIHsgW2tleSBpbiBLZWVwQ3Vyc29yV2l0aGluQ29udGVudF06IHN0cmluZyB9KVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50KVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWU6IEtlZXBDdXJzb3JXaXRoaW5Db250ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkVuaGFuY2UgdGhlIFRhYiBrZXlcIilcbiAgICAgIC5zZXREZXNjKFwiTWFrZSBUYWIgYW5kIFNoaWZ0LVRhYiBiZWhhdmUgdGhlIHNhbWUgYXMgb3RoZXIgb3V0bGluZXJzLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlVGFiQmVoYXZpb3VyKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVUYWJCZWhhdmlvdXIgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRW5oYW5jZSB0aGUgRW50ZXIga2V5XCIpXG4gICAgICAuc2V0RGVzYyhcIk1ha2UgdGhlIEVudGVyIGtleSBiZWhhdmUgdGhlIHNhbWUgYXMgb3RoZXIgb3V0bGluZXJzLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlRW50ZXJCZWhhdmlvdXIpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5vdmVycmlkZUVudGVyQmVoYXZpb3VyID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkVuaGFuY2UgdGhlIEN0cmwrQSBvciBDbWQrQSBiZWhhdmlvclwiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiUHJlc3MgdGhlIGhvdGtleSBvbmNlIHRvIHNlbGVjdCB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIFByZXNzIHRoZSBob3RrZXkgdHdpY2UgdG8gc2VsZWN0IHRoZSBlbnRpcmUgbGlzdC5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlU2VsZWN0QWxsQmVoYXZpb3VyKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXIgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiSW1wcm92ZSB0aGUgc3R5bGUgb2YgeW91ciBsaXN0c1wiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiU3R5bGVzIGFyZSBvbmx5IGNvbXBhdGlibGUgd2l0aCBidWlsdC1pbiBPYnNpZGlhbiB0aGVtZXMgYW5kIG1heSBub3QgYmUgY29tcGF0aWJsZSB3aXRoIG90aGVyIHRoZW1lcy5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmJldHRlckxpc3RzU3R5bGVzKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MuYmV0dGVyTGlzdHNTdHlsZXMgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRHJhdyB2ZXJ0aWNhbCBpbmRlbnRhdGlvbiBsaW5lc1wiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXMpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lcyA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlZlcnRpY2FsIGluZGVudGF0aW9uIGxpbmUgY2xpY2sgYWN0aW9uXCIpXG4gICAgICAuYWRkRHJvcGRvd24oKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgIGRyb3Bkb3duXG4gICAgICAgICAgLmFkZE9wdGlvbnMoe1xuICAgICAgICAgICAgbm9uZTogXCJOb25lXCIsXG4gICAgICAgICAgICBcInpvb20taW5cIjogXCJab29tIEluXCIsXG4gICAgICAgICAgICBcInRvZ2dsZS1mb2xkaW5nXCI6IFwiVG9nZ2xlIEZvbGRpbmdcIixcbiAgICAgICAgICB9IGFzIHsgW2tleSBpbiBWZXJ0aWNhbExpbmVzQWN0aW9uXTogc3RyaW5nIH0pXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lc0FjdGlvbilcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlOiBWZXJ0aWNhbExpbmVzQWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXNBY3Rpb24gPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRHJhZy1hbmQtRHJvcCAoRXhwZXJpbWVudGFsKVwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmRyYWdBbmREcm9wKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmRyYWdBbmREcm9wID0gdmFsdWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zZXR0aW5ncy5zYXZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRGVidWcgbW9kZVwiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiT3BlbiBEZXZUb29scyAoQ29tbWFuZCtPcHRpb24rSSBvciBDb250cm9sK1NoaWZ0K0kpIHRvIGNvcHkgdGhlIGRlYnVnIGxvZ3MuXCJcbiAgICAgIClcbiAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5kZWJ1Zykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5kZWJ1ZyA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXR0aW5nc1RhYiBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4uYWRkU2V0dGluZ1RhYihcbiAgICAgIG5ldyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ1RhYihcbiAgICAgICAgdGhpcy5wbHVnaW4uYXBwLFxuICAgICAgICB0aGlzLnBsdWdpbixcbiAgICAgICAgdGhpcy5zZXR0aW5nc1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgUHJlYyB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBPdXRkZW50TGlzdCB9IGZyb20gXCIuLi9vcGVyYXRpb25zL091dGRlbnRMaXN0XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uUGVyZm9ybWVyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09wZXJhdGlvblBlcmZvcm1lclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcbmltcG9ydCB7IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBTaGlmdFRhYkJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAgUHJlYy5oaWdoZXN0KFxuICAgICAgICBrZXltYXAub2YoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJzLVRhYlwiLFxuICAgICAgICAgICAgcnVuOiBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLm92ZXJyaWRlVGFiQmVoYXZpb3VyICYmICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBPdXRkZW50TGlzdChyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBQcmVjIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IEluZGVudExpc3QgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9JbmRlbnRMaXN0XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIFRhYkJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiVGFiXCIsXG4gICAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVUYWJCZWhhdmlvdXIgJiYgIXRoaXMuaW1lRGV0ZWN0b3IuaXNPcGVuZWQoKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLnBlcmZvcm0oXG4gICAgICAocm9vdCkgPT5cbiAgICAgICAgbmV3IEluZGVudExpc3Qocm9vdCwgdGhpcy5vYnNpZGlhblNldHRpbmdzLmdldERlZmF1bHRJbmRlbnRDaGFycygpKSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQge1xuICBFZGl0b3JWaWV3LFxuICBQbHVnaW5WYWx1ZSxcbiAgVmlld1BsdWdpbixcbiAgVmlld1VwZGF0ZSxcbn0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IExpc3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvUGFyc2VyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jb25zdCBWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTID0gXCJvdXRsaW5lci1wbHVnaW4tdmVydGljYWwtbGluZXNcIjtcblxuaW50ZXJmYWNlIExpbmVEYXRhIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGxpc3Q6IExpc3Q7XG59XG5cbmNsYXNzIFZlcnRpY2FsTGluZXNQbHVnaW5WYWx1ZSBpbXBsZW1lbnRzIFBsdWdpblZhbHVlIHtcbiAgcHJpdmF0ZSBzY2hlZHVsZWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIHNjcm9sbGVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBjb250ZW50Q29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBlZGl0b3I6IE15RWRpdG9yO1xuICBwcml2YXRlIGxhc3RMaW5lOiBudW1iZXI7XG4gIHByaXZhdGUgbGluZXM6IExpbmVEYXRhW107XG4gIHByaXZhdGUgbGluZUVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvYnNpZGlhblNldHRpbmdzOiBPYnNpZGlhblNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSB2aWV3OiBFZGl0b3JWaWV3XG4gICkge1xuICAgIHRoaXMudmlldy5zY3JvbGxET00uYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICB0aGlzLnNldHRpbmdzLm9uQ2hhbmdlKHRoaXMuc2NoZWR1bGVSZWNhbGN1bGF0ZSk7XG5cbiAgICB0aGlzLnByZXBhcmVEb20oKTtcbiAgICB0aGlzLndhaXRGb3JFZGl0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgd2FpdEZvckVkaXRvciA9ICgpID0+IHtcbiAgICBjb25zdCBlZGl0b3IgPSBnZXRFZGl0b3JGcm9tU3RhdGUodGhpcy52aWV3LnN0YXRlKTtcbiAgICBpZiAoIWVkaXRvcikge1xuICAgICAgc2V0VGltZW91dCh0aGlzLndhaXRGb3JFZGl0b3IsIDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIHByZXBhcmVEb20oKSB7XG4gICAgdGhpcy5jb250ZW50Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuY2xhc3NMaXN0LmFkZChcbiAgICAgIFwib3V0bGluZXItcGx1Z2luLWxpc3QtbGluZXMtY29udGVudC1jb250YWluZXJcIlxuICAgICk7XG5cbiAgICB0aGlzLnNjcm9sbGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLnNjcm9sbGVyLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tbGlzdC1saW5lcy1zY3JvbGxlclwiKTtcblxuICAgIHRoaXMuc2Nyb2xsZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50Q29udGFpbmVyKTtcbiAgICB0aGlzLnZpZXcuZG9tLmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNjcm9sbCA9IChlOiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wIH0gPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnNjcm9sbGVyLnNjcm9sbFRvKHNjcm9sbExlZnQsIHNjcm9sbFRvcCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZVJlY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZCk7XG4gICAgdGhpcy5zY2hlZHVsZWQgPSBzZXRUaW1lb3V0KHRoaXMuY2FsY3VsYXRlLCAwKTtcbiAgfTtcblxuICB1cGRhdGUodXBkYXRlOiBWaWV3VXBkYXRlKSB7XG4gICAgaWYgKFxuICAgICAgdXBkYXRlLmRvY0NoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS52aWV3cG9ydENoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS5nZW9tZXRyeUNoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS50cmFuc2FjdGlvbnMuc29tZSgodHIpID0+IHRyLnJlY29uZmlndXJlZClcbiAgICApIHtcbiAgICAgIHRoaXMuc2NoZWR1bGVSZWNhbGN1bGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgIHRoaXMubGluZXMgPSBbXTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lcyAmJlxuICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpICYmXG4gICAgICB0aGlzLnZpZXcudmlld3BvcnRMaW5lQmxvY2tzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMudmlldy52aXNpYmxlUmFuZ2VzLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IGZyb21MaW5lID0gdGhpcy5lZGl0b3Iub2Zmc2V0VG9Qb3ModGhpcy52aWV3LnZpZXdwb3J0LmZyb20pLmxpbmU7XG4gICAgICBjb25zdCB0b0xpbmUgPSB0aGlzLmVkaXRvci5vZmZzZXRUb1Bvcyh0aGlzLnZpZXcudmlld3BvcnQudG8pLmxpbmU7XG4gICAgICBjb25zdCBsaXN0cyA9IHRoaXMucGFyc2VyLnBhcnNlUmFuZ2UodGhpcy5lZGl0b3IsIGZyb21MaW5lLCB0b0xpbmUpO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpc3Qgb2YgbGlzdHMpIHtcbiAgICAgICAgdGhpcy5sYXN0TGluZSA9IGxpc3QuZ2V0Q29udGVudEVuZCgpLmxpbmU7XG5cbiAgICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICAgIHRoaXMucmVjdXJzaXZlKGMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGluZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgYS50b3AgPT09IGIudG9wID8gYS5sZWZ0IC0gYi5sZWZ0IDogYS50b3AgLSBiLnRvcFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURvbSgpO1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0TmV4dFNpYmxpbmcobGlzdDogTGlzdCk6IExpc3QgfCBudWxsIHtcbiAgICBsZXQgbGlzdFRtcCA9IGxpc3Q7XG4gICAgbGV0IHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIHdoaWxlIChwKSB7XG4gICAgICBjb25zdCBuZXh0U2libGluZyA9IHAuZ2V0TmV4dFNpYmxpbmdPZihsaXN0VG1wKTtcbiAgICAgIGlmIChuZXh0U2libGluZykge1xuICAgICAgICByZXR1cm4gbmV4dFNpYmxpbmc7XG4gICAgICB9XG4gICAgICBsaXN0VG1wID0gcDtcbiAgICAgIHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVjdXJzaXZlKGxpc3Q6IExpc3QsIHBhcmVudEN0eDogeyByb290TGVmdD86IG51bWJlciB9ID0ge30pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGxpc3QuZ2V0Q2hpbGRyZW4oKTtcblxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lLFxuICAgICAgY2g6IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoLFxuICAgIH0pO1xuICAgIGNvbnN0IG5leHRTaWJsaW5nID0gdGhpcy5nZXROZXh0U2libGluZyhsaXN0KTtcbiAgICBjb25zdCB0aWxsT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbmV4dFNpYmxpbmdcbiAgICAgICAgPyBuZXh0U2libGluZy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lIC0gMVxuICAgICAgICA6IHRoaXMubGFzdExpbmUsXG4gICAgICBjaDogMCxcbiAgICB9KTtcblxuICAgIGxldCB2aXNpYmxlRnJvbSA9IHRoaXMudmlldy52aXNpYmxlUmFuZ2VzWzBdLmZyb207XG4gICAgbGV0IHZpc2libGVUbyA9XG4gICAgICB0aGlzLnZpZXcudmlzaWJsZVJhbmdlc1t0aGlzLnZpZXcudmlzaWJsZVJhbmdlcy5sZW5ndGggLSAxXS50bztcbiAgICBjb25zdCB6b29tUmFuZ2UgPSB0aGlzLmVkaXRvci5nZXRab29tUmFuZ2UoKTtcbiAgICBpZiAoem9vbVJhbmdlKSB7XG4gICAgICB2aXNpYmxlRnJvbSA9IE1hdGgubWF4KFxuICAgICAgICB2aXNpYmxlRnJvbSxcbiAgICAgICAgdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoem9vbVJhbmdlLmZyb20pXG4gICAgICApO1xuICAgICAgdmlzaWJsZVRvID0gTWF0aC5taW4odmlzaWJsZVRvLCB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh6b29tUmFuZ2UudG8pKTtcbiAgICB9XG5cbiAgICBpZiAoZnJvbU9mZnNldCA+IHZpc2libGVUbyB8fCB0aWxsT2Zmc2V0IDwgdmlzaWJsZUZyb20pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb29yZHMgPSB0aGlzLnZpZXcuY29vcmRzQXRQb3MoZnJvbU9mZnNldCwgMSk7XG4gICAgaWYgKHBhcmVudEN0eC5yb290TGVmdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJlbnRDdHgucm9vdExlZnQgPSBjb29yZHMubGVmdDtcbiAgICB9XG4gICAgY29uc3QgbGVmdCA9IE1hdGguZmxvb3IoY29vcmRzLnJpZ2h0IC0gcGFyZW50Q3R4LnJvb3RMZWZ0KTtcblxuICAgIGNvbnN0IHRvcCA9XG4gICAgICB2aXNpYmxlRnJvbSA+IDAgJiYgZnJvbU9mZnNldCA8IHZpc2libGVGcm9tXG4gICAgICAgID8gLTIwXG4gICAgICAgIDogdGhpcy52aWV3LmxpbmVCbG9ja0F0KGZyb21PZmZzZXQpLnRvcDtcbiAgICBjb25zdCBib3R0b20gPVxuICAgICAgdGlsbE9mZnNldCA+IHZpc2libGVUb1xuICAgICAgICA/IHRoaXMudmlldy5saW5lQmxvY2tBdCh2aXNpYmxlVG8gLSAxKS5ib3R0b21cbiAgICAgICAgOiB0aGlzLnZpZXcubGluZUJsb2NrQXQodGlsbE9mZnNldCkuYm90dG9tO1xuICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcblxuICAgIGlmIChoZWlnaHQgPiAwICYmICFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIGNvbnN0IG5leHRTaWJsaW5nID0gbGlzdC5nZXRQYXJlbnQoKS5nZXROZXh0U2libGluZ09mKGxpc3QpO1xuICAgICAgY29uc3QgaGFzTmV4dFNpYmxpbmcgPVxuICAgICAgICAhIW5leHRTaWJsaW5nICYmXG4gICAgICAgIHRoaXMuZWRpdG9yLnBvc1RvT2Zmc2V0KG5leHRTaWJsaW5nLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpKSA8PVxuICAgICAgICAgIHZpc2libGVUbztcblxuICAgICAgdGhpcy5saW5lcy5wdXNoKHtcbiAgICAgICAgdG9wLFxuICAgICAgICBsZWZ0LFxuICAgICAgICBoZWlnaHQ6IGBjYWxjKCR7aGVpZ2h0fXB4ICR7aGFzTmV4dFNpYmxpbmcgPyBcIi0gMS41ZW1cIiA6IFwiLSAyZW1cIn0pYCxcbiAgICAgICAgbGlzdCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmICghY2hpbGQuaXNFbXB0eSgpKSB7XG4gICAgICAgIHRoaXMucmVjdXJzaXZlKGNoaWxkLCBwYXJlbnRDdHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DbGljayA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgbGluZSA9IHRoaXMubGluZXNbTnVtYmVyKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZGF0YXNldC5pbmRleCldO1xuXG4gICAgc3dpdGNoICh0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXNBY3Rpb24pIHtcbiAgICAgIGNhc2UgXCJ6b29tLWluXCI6XG4gICAgICAgIHRoaXMuem9vbUluKGxpbmUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcInRvZ2dsZS1mb2xkaW5nXCI6XG4gICAgICAgIHRoaXMudG9nZ2xlRm9sZGluZyhsaW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgem9vbUluKGxpbmU6IExpbmVEYXRhKSB7XG4gICAgY29uc3QgZWRpdG9yID0gZ2V0RWRpdG9yRnJvbVN0YXRlKHRoaXMudmlldy5zdGF0ZSk7XG5cbiAgICBlZGl0b3Iuem9vbUluKGxpbmUubGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlRm9sZGluZyhsaW5lOiBMaW5lRGF0YSkge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gbGluZTtcblxuICAgIGlmIChsaXN0LmlzRW1wdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBuZWVkVG9VbmZvbGQgPSB0cnVlO1xuICAgIGNvbnN0IGxpbmVzVG9Ub2dnbGU6IG51bWJlcltdID0gW107XG4gICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKGMuaXNFbXB0eSgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFjLmlzRm9sZGVkKCkpIHtcbiAgICAgICAgbmVlZFRvVW5mb2xkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBsaW5lc1RvVG9nZ2xlLnB1c2goYy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0b3IgPSBnZXRFZGl0b3JGcm9tU3RhdGUodGhpcy52aWV3LnN0YXRlKTtcblxuICAgIGZvciAoY29uc3QgbCBvZiBsaW5lc1RvVG9nZ2xlKSB7XG4gICAgICBpZiAobmVlZFRvVW5mb2xkKSB7XG4gICAgICAgIGVkaXRvci51bmZvbGQobCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlZGl0b3IuZm9sZChsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvbSgpIHtcbiAgICBjb25zdCBjbVNjcm9sbCA9IHRoaXMudmlldy5zY3JvbGxET007XG4gICAgY29uc3QgY21Db250ZW50ID0gdGhpcy52aWV3LmNvbnRlbnRET007XG4gICAgY29uc3QgY21Db250ZW50Q29udGFpbmVyID0gY21Db250ZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgY21TaXplciA9IGNtQ29udGVudENvbnRhaW5lci5wYXJlbnRFbGVtZW50O1xuXG4gICAgLyoqXG4gICAgICogT2JzaWRpYW4gY2FuIGFkZCBhZGRpdGlvbmFsIGVsZW1lbnRzIGludG8gQ29udGVudCBNYW5hZ2VyLlxuICAgICAqIFRoZSBtb3N0IG9idmlvdXMgY2FzZSBpcyB0aGUgJ2VtYmVkZGVkLWJhY2tsaW5rcycgY29yZSBwbHVnaW4gdGhhdCBhZGRzIGEgbWVudSBpbnNpZGUgYSBDb250ZW50IE1hbmFnZXIuXG4gICAgICogV2UgbXVzdCB0YWtlIGhlaWdodHMgb2YgYWxsIG9mIHRoZXNlIGVsZW1lbnRzIGludG8gYWNjb3VudFxuICAgICAqIHRvIGJlIGFibGUgdG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHNpemUgb2YgbGluZXMnIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBsZXQgY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNtU2l6ZXIuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNtU2l6ZXJDaGlsZHJlblN1bUhlaWdodCArPSBjbVNpemVyLmNoaWxkcmVuW2ldLmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICB0aGlzLnNjcm9sbGVyLnN0eWxlLnRvcCA9IGNtU2Nyb2xsLm9mZnNldFRvcCArIFwicHhcIjtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuc3R5bGUuaGVpZ2h0ID0gY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5MZWZ0ID1cbiAgICAgIGNtQ29udGVudENvbnRhaW5lci5vZmZzZXRMZWZ0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5Ub3AgPVxuICAgICAgKGNtQ29udGVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0VG9wIC0gMjQgKyBcInB4XCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGggPT09IGkpIHtcbiAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGUuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1saXN0LWxpbmVcIik7XG4gICAgICAgIGUuZGF0YXNldC5pbmRleCA9IFN0cmluZyhpKTtcbiAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgIHRoaXMuY29udGVudENvbnRhaW5lci5hcHBlbmRDaGlsZChlKTtcbiAgICAgICAgdGhpcy5saW5lRWxlbWVudHMucHVzaChlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbCA9IHRoaXMubGluZXNbaV07XG4gICAgICBjb25zdCBlID0gdGhpcy5saW5lRWxlbWVudHNbaV07XG4gICAgICBlLnN0eWxlLnRvcCA9IGwudG9wICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gbC5sZWZ0ICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5oZWlnaHQgPSBsLmhlaWdodDtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gdGhpcy5saW5lcy5sZW5ndGg7IGkgPCB0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZSA9IHRoaXMubGluZUVsZW1lbnRzW2ldO1xuICAgICAgZS5zdHlsZS50b3AgPSBcIjBweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuaGVpZ2h0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZXR0aW5ncy5yZW1vdmVDYWxsYmFjayh0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUpO1xuICAgIHRoaXMudmlldy5zY3JvbGxET00ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICB0aGlzLnZpZXcuZG9tLnJlbW92ZUNoaWxkKHRoaXMuc2Nyb2xsZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZlcnRpY2FsTGluZXMgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgcHJpdmF0ZSB1cGRhdGVCb2R5Q2xhc3NJbnRlcnZhbDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBwYXJzZXI6IFBhcnNlclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnVwZGF0ZUJvZHlDbGFzcygpO1xuICAgIHRoaXMudXBkYXRlQm9keUNsYXNzSW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVCb2R5Q2xhc3MoKTtcbiAgICB9LCAxMDAwKTtcblxuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAgVmlld1BsdWdpbi5kZWZpbmUoXG4gICAgICAgICh2aWV3KSA9PlxuICAgICAgICAgIG5ldyBWZXJ0aWNhbExpbmVzUGx1Z2luVmFsdWUoXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLFxuICAgICAgICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICAgICAgICB2aWV3XG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZUJvZHlDbGFzc0ludGVydmFsKTtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoVkVSVElDQUxfTElORVNfQk9EWV9DTEFTUyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJvZHlDbGFzcyA9ICgpID0+IHtcbiAgICBjb25zdCBzaG91bGRFeGlzdHMgPVxuICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpICYmXG4gICAgICB0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXM7XG4gICAgY29uc3QgZXhpc3RzID0gZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoVkVSVElDQUxfTElORVNfQk9EWV9DTEFTUyk7XG5cbiAgICBpZiAoc2hvdWxkRXhpc3RzICYmICFleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoIXNob3VsZEV4aXN0cyAmJiBleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTKTtcbiAgICB9XG4gIH07XG59XG4iLCJpbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IExpc3QsIFBvc2l0aW9uLCBSb290LCBpc1Jhbmdlc0ludGVyc2VjdHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgQ2hhbmdlc0FwcGxpY2F0b3Ige1xuICBhcHBseShlZGl0b3I6IE15RWRpdG9yLCBwcmV2Um9vdDogUm9vdCwgbmV3Um9vdDogUm9vdCkge1xuICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmNhbGN1bGF0ZUNoYW5nZXMoZWRpdG9yLCBwcmV2Um9vdCwgbmV3Um9vdCk7XG4gICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IHsgcmVwbGFjZW1lbnQsIGNoYW5nZUZyb20sIGNoYW5nZVRvIH0gPSBjaGFuZ2VzO1xuXG4gICAgICBjb25zdCB7IHVuZm9sZCwgZm9sZCB9ID0gdGhpcy5jYWxjdWxhdGVGb2xkaW5nT3ByYXRpb25zKFxuICAgICAgICBwcmV2Um9vdCxcbiAgICAgICAgbmV3Um9vdCxcbiAgICAgICAgY2hhbmdlRnJvbSxcbiAgICAgICAgY2hhbmdlVG9cbiAgICAgICk7XG5cbiAgICAgIGZvciAoY29uc3QgbGluZSBvZiB1bmZvbGQpIHtcbiAgICAgICAgZWRpdG9yLnVuZm9sZChsaW5lKTtcbiAgICAgIH1cblxuICAgICAgZWRpdG9yLnJlcGxhY2VSYW5nZShyZXBsYWNlbWVudCwgY2hhbmdlRnJvbSwgY2hhbmdlVG8pO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgZm9sZCkge1xuICAgICAgICBlZGl0b3IuZm9sZChsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0b3Iuc2V0U2VsZWN0aW9ucyhuZXdSb290LmdldFNlbGVjdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUNoYW5nZXMoZWRpdG9yOiBNeUVkaXRvciwgcHJldlJvb3Q6IFJvb3QsIG5ld1Jvb3Q6IFJvb3QpIHtcbiAgICBjb25zdCByb290UmFuZ2UgPSBwcmV2Um9vdC5nZXRDb250ZW50UmFuZ2UoKTtcbiAgICBjb25zdCBvbGRTdHJpbmcgPSBlZGl0b3IuZ2V0UmFuZ2Uocm9vdFJhbmdlWzBdLCByb290UmFuZ2VbMV0pO1xuICAgIGNvbnN0IG5ld1N0cmluZyA9IG5ld1Jvb3QucHJpbnQoKTtcblxuICAgIGNvbnN0IGNoYW5nZUZyb20gPSB7IC4uLnJvb3RSYW5nZVswXSB9O1xuICAgIGNvbnN0IGNoYW5nZVRvID0geyAuLi5yb290UmFuZ2VbMV0gfTtcbiAgICBsZXQgb2xkVG1wID0gb2xkU3RyaW5nO1xuICAgIGxldCBuZXdUbXAgPSBuZXdTdHJpbmc7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgbmxJbmRleCA9IG9sZFRtcC5sYXN0SW5kZXhPZihcIlxcblwiKTtcblxuICAgICAgaWYgKG5sSW5kZXggPCAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lID0gb2xkVG1wLnNsaWNlKG5sSW5kZXgpO1xuICAgICAgY29uc3QgbmV3TGluZSA9IG5ld1RtcC5zbGljZSgtb2xkTGluZS5sZW5ndGgpO1xuXG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgb2xkVG1wID0gb2xkVG1wLnNsaWNlKDAsIC1vbGRMaW5lLmxlbmd0aCk7XG4gICAgICBuZXdUbXAgPSBuZXdUbXAuc2xpY2UoMCwgLW9sZExpbmUubGVuZ3RoKTtcbiAgICAgIGNvbnN0IG5sSW5kZXgyID0gb2xkVG1wLmxhc3RJbmRleE9mKFwiXFxuXCIpO1xuICAgICAgY2hhbmdlVG8uY2ggPVxuICAgICAgICBubEluZGV4MiA+PSAwID8gb2xkVG1wLmxlbmd0aCAtIG5sSW5kZXgyIC0gMSA6IG9sZFRtcC5sZW5ndGg7XG4gICAgICBjaGFuZ2VUby5saW5lLS07XG4gICAgfVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IG5sSW5kZXggPSBvbGRUbXAuaW5kZXhPZihcIlxcblwiKTtcblxuICAgICAgaWYgKG5sSW5kZXggPCAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lID0gb2xkVG1wLnNsaWNlKDAsIG5sSW5kZXggKyAxKTtcbiAgICAgIGNvbnN0IG5ld0xpbmUgPSBuZXdUbXAuc2xpY2UoMCwgb2xkTGluZS5sZW5ndGgpO1xuXG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2hhbmdlRnJvbS5saW5lKys7XG4gICAgICBvbGRUbXAgPSBvbGRUbXAuc2xpY2Uob2xkTGluZS5sZW5ndGgpO1xuICAgICAgbmV3VG1wID0gbmV3VG1wLnNsaWNlKG9sZExpbmUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAob2xkVG1wID09PSBuZXdUbXApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZXBsYWNlbWVudDogbmV3VG1wLFxuICAgICAgY2hhbmdlRnJvbSxcbiAgICAgIGNoYW5nZVRvLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUZvbGRpbmdPcHJhdGlvbnMoXG4gICAgcHJldlJvb3Q6IFJvb3QsXG4gICAgbmV3Um9vdDogUm9vdCxcbiAgICBjaGFuZ2VGcm9tOiBQb3NpdGlvbixcbiAgICBjaGFuZ2VUbzogUG9zaXRpb25cbiAgKSB7XG4gICAgY29uc3QgY2hhbmdlZFJhbmdlOiBbUG9zaXRpb24sIFBvc2l0aW9uXSA9IFtjaGFuZ2VGcm9tLCBjaGFuZ2VUb107XG5cbiAgICBjb25zdCBwcmV2TGlzdHMgPSBnZXRBbGxDaGlsZHJlbihwcmV2Um9vdCk7XG4gICAgY29uc3QgbmV3TGlzdHMgPSBnZXRBbGxDaGlsZHJlbihuZXdSb290KTtcblxuICAgIGNvbnN0IHVuZm9sZDogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBmb2xkOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcmV2TGlzdCBvZiBwcmV2TGlzdHMudmFsdWVzKCkpIHtcbiAgICAgIGlmICghcHJldkxpc3QuaXNGb2xkUm9vdCgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdMaXN0ID0gbmV3TGlzdHMuZ2V0KHByZXZMaXN0LmdldElEKCkpO1xuXG4gICAgICBpZiAoIW5ld0xpc3QpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByZXZMaXN0UmFuZ2U6IFtQb3NpdGlvbiwgUG9zaXRpb25dID0gW1xuICAgICAgICBwcmV2TGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKSxcbiAgICAgICAgcHJldkxpc3QuZ2V0Q29udGVudEVuZEluY2x1ZGluZ0NoaWxkcmVuKCksXG4gICAgICBdO1xuXG4gICAgICBpZiAoaXNSYW5nZXNJbnRlcnNlY3RzKHByZXZMaXN0UmFuZ2UsIGNoYW5nZWRSYW5nZSkpIHtcbiAgICAgICAgdW5mb2xkLnB1c2gocHJldkxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSk7XG4gICAgICAgIGZvbGQucHVzaChuZXdMaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVuZm9sZC5zb3J0KChhLCBiKSA9PiBiIC0gYSk7XG4gICAgZm9sZC5zb3J0KChhLCBiKSA9PiBiIC0gYSk7XG5cbiAgICByZXR1cm4geyB1bmZvbGQsIGZvbGQgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBbGxDaGlsZHJlblJlZHVjZUZuKGFjYzogTWFwPG51bWJlciwgTGlzdD4sIGNoaWxkOiBMaXN0KSB7XG4gIGFjYy5zZXQoY2hpbGQuZ2V0SUQoKSwgY2hpbGQpO1xuICBjaGlsZC5nZXRDaGlsZHJlbigpLnJlZHVjZShnZXRBbGxDaGlsZHJlblJlZHVjZUZuLCBhY2MpO1xuXG4gIHJldHVybiBhY2M7XG59XG5cbmZ1bmN0aW9uIGdldEFsbENoaWxkcmVuKHJvb3Q6IFJvb3QpOiBNYXA8bnVtYmVyLCBMaXN0PiB7XG4gIHJldHVybiByb290LmdldENoaWxkcmVuKCkucmVkdWNlKGdldEFsbENoaWxkcmVuUmVkdWNlRm4sIG5ldyBNYXAoKSk7XG59XG4iLCJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5leHBvcnQgY2xhc3MgSU1FRGV0ZWN0b3Ige1xuICBwcml2YXRlIGNvbXBvc2l0aW9uID0gZmFsc2U7XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25zdGFydFwiLCB0aGlzLm9uQ29tcG9zaXRpb25TdGFydCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uZW5kXCIsIHRoaXMub25Db21wb3NpdGlvbkVuZCk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uZW5kXCIsIHRoaXMub25Db21wb3NpdGlvbkVuZCk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uc3RhcnRcIiwgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQpO1xuICB9XG5cbiAgaXNPcGVuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9zaXRpb24gJiYgUGxhdGZvcm0uaXNEZXNrdG9wO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbXBvc2l0aW9uU3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5jb21wb3NpdGlvbiA9IHRydWU7XG4gIH07XG5cbiAgcHJpdmF0ZSBvbkNvbXBvc2l0aW9uRW5kID0gKCkgPT4ge1xuICAgIHRoaXMuY29tcG9zaXRpb24gPSBmYWxzZTtcbiAgfTtcbn1cbiIsIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcblxuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzKSB7fVxuXG4gIGxvZyhtZXRob2Q6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MuZGVidWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmluZm8obWV0aG9kLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGJpbmQobWV0aG9kOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB0aGlzLmxvZyhtZXRob2QsIC4uLmFyZ3MpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBBcHAgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblRhYnNTZXR0aW5ncyB7XG4gIHVzZVRhYjogYm9vbGVhbjtcbiAgdGFiU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuRm9sZFNldHRpbmdzIHtcbiAgZm9sZEluZGVudDogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gZ2V0SGlkZGVuT2JzaWRpYW5Db25maWcoYXBwOiBBcHApIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmV0dXJuIChhcHAudmF1bHQgYXMgYW55KS5jb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBPYnNpZGlhblNldHRpbmdzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCkge31cblxuICBpc0xlZ2FjeUVkaXRvckVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGxlZ2FjeUVkaXRvcjogYm9vbGVhbiB9ID0ge1xuICAgICAgbGVnYWN5RWRpdG9yOiBmYWxzZSxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZy5sZWdhY3lFZGl0b3I7XG4gIH1cblxuICBpc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGNzc1RoZW1lOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNzc1RoZW1lOiBcIlwiLFxuICAgICAgLi4uZ2V0SGlkZGVuT2JzaWRpYW5Db25maWcodGhpcy5hcHApLFxuICAgIH07XG5cbiAgICByZXR1cm4gY29uZmlnLmNzc1RoZW1lID09PSBcIlwiO1xuICB9XG5cbiAgZ2V0VGFic1NldHRpbmdzKCk6IE9ic2lkaWFuVGFic1NldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXNlVGFiOiB0cnVlLFxuICAgICAgdGFiU2l6ZTogNCxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Rm9sZFNldHRpbmdzKCk6IE9ic2lkaWFuRm9sZFNldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9sZEluZGVudDogdHJ1ZSxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGVmYXVsdEluZGVudENoYXJzKCkge1xuICAgIGNvbnN0IHsgdXNlVGFiLCB0YWJTaXplIH0gPSB0aGlzLmdldFRhYnNTZXR0aW5ncygpO1xuXG4gICAgcmV0dXJuIHVzZVRhYiA/IFwiXFx0XCIgOiBuZXcgQXJyYXkodGFiU2l6ZSkuZmlsbChcIiBcIikuam9pbihcIlwiKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ2hhbmdlc0FwcGxpY2F0b3IgfSBmcm9tIFwiLi9DaGFuZ2VzQXBwbGljYXRvclwiO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSBcIi4vUGFyc2VyXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvblBlcmZvcm1lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBjaGFuZ2VzQXBwbGljYXRvcjogQ2hhbmdlc0FwcGxpY2F0b3JcbiAgKSB7fVxuXG4gIGV2YWwocm9vdDogUm9vdCwgb3A6IE9wZXJhdGlvbiwgZWRpdG9yOiBNeUVkaXRvcikge1xuICAgIGNvbnN0IHByZXZSb290ID0gcm9vdC5jbG9uZSgpO1xuXG4gICAgb3AucGVyZm9ybSgpO1xuXG4gICAgaWYgKG9wLnNob3VsZFVwZGF0ZSgpKSB7XG4gICAgICB0aGlzLmNoYW5nZXNBcHBsaWNhdG9yLmFwcGx5KGVkaXRvciwgcHJldlJvb3QsIHJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzaG91bGRVcGRhdGU6IG9wLnNob3VsZFVwZGF0ZSgpLFxuICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBvcC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcGVyZm9ybShcbiAgICBjYjogKHJvb3Q6IFJvb3QpID0+IE9wZXJhdGlvbixcbiAgICBlZGl0b3I6IE15RWRpdG9yLFxuICAgIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKVxuICApIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJzZXIucGFyc2UoZWRpdG9yLCBjdXJzb3IpO1xuXG4gICAgaWYgKCFyb290KSB7XG4gICAgICByZXR1cm4geyBzaG91bGRVcGRhdGU6IGZhbHNlLCBzaG91bGRTdG9wUHJvcGFnYXRpb246IGZhbHNlIH07XG4gICAgfVxuXG4gICAgY29uc3Qgb3AgPSBjYihyb290KTtcblxuICAgIHJldHVybiB0aGlzLmV2YWwocm9vdCwgb3AsIGVkaXRvcik7XG4gIH1cbn1cbiIsImltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuL0xvZ2dlclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi9TZXR0aW5nc1wiO1xuXG5pbXBvcnQgeyBMaXN0LCBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IGNoZWNrYm94UmUgfSBmcm9tIFwiLi4vdXRpbHMvY2hlY2tib3hSZVwiO1xuXG5jb25zdCBidWxsZXRTaWduUmUgPSBgKD86Wy0qK118XFxcXGQrXFxcXC4pYDtcbmNvbnN0IG9wdGlvbmFsQ2hlY2tib3hSZSA9IGAoPzoke2NoZWNrYm94UmV9KT9gO1xuXG5jb25zdCBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZSA9IG5ldyBSZWdFeHAoYF4ke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBsaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChgXlsgXFx0XSoke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBzdHJpbmdXaXRoU3BhY2VzUmUgPSBuZXcgUmVnRXhwKGBeWyBcXHRdK2ApO1xuY29uc3QgcGFyc2VMaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChcbiAgYF4oWyBcXHRdKikoJHtidWxsZXRTaWduUmV9KSggfFxcdCkoJHtvcHRpb25hbENoZWNrYm94UmV9KSguKikkYFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJQb3NpdGlvbiB7XG4gIGxpbmU6IG51bWJlcjtcbiAgY2g6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJTZWxlY3Rpb24ge1xuICBhbmNob3I6IFJlYWRlclBvc2l0aW9uO1xuICBoZWFkOiBSZWFkZXJQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXIge1xuICBnZXRDdXJzb3IoKTogUmVhZGVyUG9zaXRpb247XG4gIGdldExpbmUobjogbnVtYmVyKTogc3RyaW5nO1xuICBsYXN0TGluZSgpOiBudW1iZXI7XG4gIGxpc3RTZWxlY3Rpb25zKCk6IFJlYWRlclNlbGVjdGlvbltdO1xuICBnZXRBbGxGb2xkZWRMaW5lcygpOiBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIFBhcnNlTGlzdExpc3Qge1xuICBnZXRGaXJzdExpbmVJbmRlbnQoKTogc3RyaW5nO1xuICBzZXROb3Rlc0luZGVudChub3Rlc0luZGVudDogc3RyaW5nKTogdm9pZDtcbiAgZ2V0Tm90ZXNJbmRlbnQoKTogc3RyaW5nIHwgbnVsbDtcbiAgYWRkTGluZSh0ZXh0OiBzdHJpbmcpOiB2b2lkO1xuICBnZXRQYXJlbnQoKTogUGFyc2VMaXN0TGlzdCB8IG51bGw7XG4gIGFkZEFmdGVyQWxsKGxpc3Q6IFBhcnNlTGlzdExpc3QpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUGFyc2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IExvZ2dlciwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHt9XG5cbiAgcGFyc2VSYW5nZShlZGl0b3I6IFJlYWRlciwgZnJvbUxpbmUgPSAwLCB0b0xpbmUgPSBlZGl0b3IubGFzdExpbmUoKSk6IFJvb3RbXSB7XG4gICAgY29uc3QgbGlzdHM6IFJvb3RbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IGZyb21MaW5lOyBpIDw9IHRvTGluZTsgaSsrKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUoaSk7XG5cbiAgICAgIGlmIChpID09PSBmcm9tTGluZSB8fCB0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMucGFyc2VXaXRoTGltaXRzKGVkaXRvciwgaSwgZnJvbUxpbmUsIHRvTGluZSk7XG5cbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICBsaXN0cy5wdXNoKGxpc3QpO1xuICAgICAgICAgIGkgPSBsaXN0LmdldENvbnRlbnRFbmQoKS5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RzO1xuICB9XG5cbiAgcGFyc2UoZWRpdG9yOiBSZWFkZXIsIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKSk6IFJvb3QgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhMaW1pdHMoZWRpdG9yLCBjdXJzb3IubGluZSwgMCwgZWRpdG9yLmxhc3RMaW5lKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVdpdGhMaW1pdHMoXG4gICAgZWRpdG9yOiBSZWFkZXIsXG4gICAgcGFyc2luZ1N0YXJ0TGluZTogbnVtYmVyLFxuICAgIGxpbWl0RnJvbTogbnVtYmVyLFxuICAgIGxpbWl0VG86IG51bWJlclxuICApOiBSb290IHwgbnVsbCB7XG4gICAgY29uc3QgZCA9IHRoaXMubG9nZ2VyLmJpbmQoXCJwYXJzZUxpc3RcIik7XG4gICAgY29uc3QgZXJyb3IgPSAobXNnOiBzdHJpbmcpOiBudWxsID0+IHtcbiAgICAgIGQobXNnKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUocGFyc2luZ1N0YXJ0TGluZSk7XG5cbiAgICBsZXQgbGlzdExvb2tpbmdQb3M6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuaXNMaXN0SXRlbShsaW5lKSkge1xuICAgICAgbGlzdExvb2tpbmdQb3MgPSBwYXJzaW5nU3RhcnRMaW5lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0xpbmVXaXRoSW5kZW50KGxpbmUpKSB7XG4gICAgICBsZXQgbGlzdExvb2tpbmdQb3NTZWFyY2ggPSBwYXJzaW5nU3RhcnRMaW5lIC0gMTtcbiAgICAgIHdoaWxlIChsaXN0TG9va2luZ1Bvc1NlYXJjaCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0TG9va2luZ1Bvc1NlYXJjaCk7XG4gICAgICAgIGlmICh0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgICBsaXN0TG9va2luZ1BvcyA9IGxpc3RMb29raW5nUG9zU2VhcmNoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICAgIGxpc3RMb29raW5nUG9zU2VhcmNoLS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGlzdExvb2tpbmdQb3MgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBsaXN0U3RhcnRMaW5lOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgbGlzdFN0YXJ0TGluZUxvb2t1cCA9IGxpc3RMb29raW5nUG9zO1xuICAgIHdoaWxlIChsaXN0U3RhcnRMaW5lTG9va3VwID49IDApIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0U3RhcnRMaW5lTG9va3VwKTtcbiAgICAgIGlmICghdGhpcy5pc0xpc3RJdGVtKGxpbmUpICYmICF0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0xpc3RJdGVtV2l0aG91dFNwYWNlcyhsaW5lKSkge1xuICAgICAgICBsaXN0U3RhcnRMaW5lID0gbGlzdFN0YXJ0TGluZUxvb2t1cDtcbiAgICAgICAgaWYgKGxpc3RTdGFydExpbmVMb29rdXAgPD0gbGltaXRGcm9tKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpc3RTdGFydExpbmVMb29rdXAtLTtcbiAgICB9XG5cbiAgICBpZiAobGlzdFN0YXJ0TGluZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGxpc3RFbmRMaW5lID0gbGlzdExvb2tpbmdQb3M7XG4gICAgbGV0IGxpc3RFbmRMaW5lTG9va3VwID0gbGlzdExvb2tpbmdQb3M7XG4gICAgd2hpbGUgKGxpc3RFbmRMaW5lTG9va3VwIDw9IGVkaXRvci5sYXN0TGluZSgpKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmVMb29rdXApO1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdEl0ZW0obGluZSkgJiYgIXRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc0VtcHR5TGluZShsaW5lKSkge1xuICAgICAgICBsaXN0RW5kTGluZSA9IGxpc3RFbmRMaW5lTG9va3VwO1xuICAgICAgfVxuICAgICAgaWYgKGxpc3RFbmRMaW5lTG9va3VwID49IGxpbWl0VG8pIHtcbiAgICAgICAgbGlzdEVuZExpbmUgPSBsaW1pdFRvO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGxpc3RFbmRMaW5lTG9va3VwKys7XG4gICAgfVxuXG4gICAgaWYgKGxpc3RTdGFydExpbmUgPiBwYXJzaW5nU3RhcnRMaW5lIHx8IGxpc3RFbmRMaW5lIDwgcGFyc2luZ1N0YXJ0TGluZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIGxhc3QgbGluZSBjb250YWlucyBvbmx5IHNwYWNlcyBhbmQgdGhhdCdzIGluY29ycmVjdCBpbmRlbnQsIHRoZW4gaWdub3JlIHRoZSBsYXN0IGxpbmVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnNsaW5rby9vYnNpZGlhbi1vdXRsaW5lci9pc3N1ZXMvMzY4XG4gICAgaWYgKGxpc3RFbmRMaW5lID4gbGlzdFN0YXJ0TGluZSkge1xuICAgICAgY29uc3QgbGFzdExpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0RW5kTGluZSk7XG4gICAgICBpZiAobGFzdExpbmUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCBwcmV2TGluZSA9IGVkaXRvci5nZXRMaW5lKGxpc3RFbmRMaW5lIC0gMSk7XG4gICAgICAgIGNvbnN0IFssIHByZXZMaW5lSW5kZW50XSA9IC9eKFxccyopLy5leGVjKHByZXZMaW5lKTtcbiAgICAgICAgaWYgKCFsYXN0TGluZS5zdGFydHNXaXRoKHByZXZMaW5lSW5kZW50KSkge1xuICAgICAgICAgIGxpc3RFbmRMaW5lLS07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByb290ID0gbmV3IFJvb3QoXG4gICAgICB7IGxpbmU6IGxpc3RTdGFydExpbmUsIGNoOiAwIH0sXG4gICAgICB7IGxpbmU6IGxpc3RFbmRMaW5lLCBjaDogZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmUpLmxlbmd0aCB9LFxuICAgICAgZWRpdG9yLmxpc3RTZWxlY3Rpb25zKCkubWFwKChyKSA9PiAoe1xuICAgICAgICBhbmNob3I6IHsgbGluZTogci5hbmNob3IubGluZSwgY2g6IHIuYW5jaG9yLmNoIH0sXG4gICAgICAgIGhlYWQ6IHsgbGluZTogci5oZWFkLmxpbmUsIGNoOiByLmhlYWQuY2ggfSxcbiAgICAgIH0pKVxuICAgICk7XG5cbiAgICBsZXQgY3VycmVudFBhcmVudDogUGFyc2VMaXN0TGlzdCA9IHJvb3QuZ2V0Um9vdExpc3QoKTtcbiAgICBsZXQgY3VycmVudExpc3Q6IFBhcnNlTGlzdExpc3QgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgY3VycmVudEluZGVudCA9IFwiXCI7XG5cbiAgICBjb25zdCBmb2xkZWRMaW5lcyA9IGVkaXRvci5nZXRBbGxGb2xkZWRMaW5lcygpO1xuXG4gICAgZm9yIChsZXQgbCA9IGxpc3RTdGFydExpbmU7IGwgPD0gbGlzdEVuZExpbmU7IGwrKykge1xuICAgICAgY29uc3QgbGluZSA9IGVkaXRvci5nZXRMaW5lKGwpO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHBhcnNlTGlzdEl0ZW1SZS5leGVjKGxpbmUpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICBjb25zdCBbLCBpbmRlbnQsIGJ1bGxldCwgc3BhY2VBZnRlckJ1bGxldF0gPSBtYXRjaGVzO1xuICAgICAgICBsZXQgWywgLCAsICwgb3B0aW9uYWxDaGVja2JveCwgY29udGVudF0gPSBtYXRjaGVzO1xuXG4gICAgICAgIGNvbnRlbnQgPSBvcHRpb25hbENoZWNrYm94ICsgY29udGVudDtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3Mua2VlcEN1cnNvcldpdGhpbkNvbnRlbnQgIT09IFwiYnVsbGV0LWFuZC1jaGVja2JveFwiKSB7XG4gICAgICAgICAgb3B0aW9uYWxDaGVja2JveCA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wYXJlTGVuZ3RoID0gTWF0aC5taW4oY3VycmVudEluZGVudC5sZW5ndGgsIGluZGVudC5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpbmRlbnRTbGljZSA9IGluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGVudFNsaWNlID0gY3VycmVudEluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcblxuICAgICAgICBpZiAoaW5kZW50U2xpY2UgIT09IGN1cnJlbnRJbmRlbnRTbGljZSkge1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkID0gY3VycmVudEluZGVudFNsaWNlXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuICAgICAgICAgIGNvbnN0IGdvdCA9IGluZGVudFNsaWNlLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG5cbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBgVW5hYmxlIHRvIHBhcnNlIGxpc3Q6IGV4cGVjdGVkIGluZGVudCBcIiR7ZXhwZWN0ZWR9XCIsIGdvdCBcIiR7Z290fVwiYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZW50Lmxlbmd0aCA+IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRMaXN0O1xuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZW50Lmxlbmd0aCA8IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGggPj0gaW5kZW50Lmxlbmd0aCAmJlxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRQYXJlbnQoKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRQYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb2xkUm9vdCA9IGZvbGRlZExpbmVzLmluY2x1ZGVzKGwpO1xuXG4gICAgICAgIGN1cnJlbnRMaXN0ID0gbmV3IExpc3QoXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBpbmRlbnQsXG4gICAgICAgICAgYnVsbGV0LFxuICAgICAgICAgIG9wdGlvbmFsQ2hlY2tib3gsXG4gICAgICAgICAgc3BhY2VBZnRlckJ1bGxldCxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgIGZvbGRSb290XG4gICAgICAgICk7XG4gICAgICAgIGN1cnJlbnRQYXJlbnQuYWRkQWZ0ZXJBbGwoY3VycmVudExpc3QpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdCkge1xuICAgICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgbGlzdCBpdGVtLCBnb3QgZW1wdHkgbGluZWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZW50VG9DaGVjayA9IGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkgfHwgY3VycmVudEluZGVudDtcblxuICAgICAgICBpZiAobGluZS5pbmRleE9mKGluZGVudFRvQ2hlY2spICE9PSAwKSB7XG4gICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSBpbmRlbnRUb0NoZWNrLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG4gICAgICAgICAgY29uc3QgZ290ID0gbGluZVxuICAgICAgICAgICAgLm1hdGNoKC9eWyBcXHRdKi8pWzBdXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuXG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBpbmRlbnQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2dvdH1cImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdC5nZXROb3Rlc0luZGVudCgpKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUubWF0Y2goL15bIFxcdF0rLyk7XG5cbiAgICAgICAgICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlc1swXS5sZW5ndGggPD0gY3VycmVudEluZGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICgvXlxccyskLy50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgc29tZSBpbmRlbnQsIGdvdCBubyBpbmRlbnRgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGN1cnJlbnRMaXN0LnNldE5vdGVzSW5kZW50KG1hdGNoZXNbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudExpc3QuYWRkTGluZShsaW5lLnNsaWNlKGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkubGVuZ3RoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBsaXN0IGl0ZW0gb3Igbm90ZSwgZ290IFwiJHtsaW5lfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VtcHR5TGluZShsaW5lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGluZS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzTGluZVdpdGhJbmRlbnQobGluZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZ1dpdGhTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0xpc3RJdGVtKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVJlLnRlc3QobGluZSk7XG4gIH1cblxuICBwcml2YXRlIGlzTGlzdEl0ZW1XaXRob3V0U3BhY2VzKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG59XG4iLCJleHBvcnQgdHlwZSBWZXJ0aWNhbExpbmVzQWN0aW9uID0gXCJub25lXCIgfCBcInpvb20taW5cIiB8IFwidG9nZ2xlLWZvbGRpbmdcIjtcbmV4cG9ydCB0eXBlIEtlZXBDdXJzb3JXaXRoaW5Db250ZW50ID1cbiAgfCBcIm5ldmVyXCJcbiAgfCBcImJ1bGxldC1vbmx5XCJcbiAgfCBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjtcblxuaW50ZXJmYWNlIFNldHRpbmdzT2JqZWN0IHtcbiAgc3R5bGVMaXN0czogYm9vbGVhbjtcbiAgZGVidWc6IGJvb2xlYW47XG4gIHN0aWNrQ3Vyc29yOiBLZWVwQ3Vyc29yV2l0aGluQ29udGVudCB8IGJvb2xlYW47XG4gIGJldHRlckVudGVyOiBib29sZWFuO1xuICBiZXR0ZXJUYWI6IGJvb2xlYW47XG4gIHNlbGVjdEFsbDogYm9vbGVhbjtcbiAgbGlzdExpbmVzOiBib29sZWFuO1xuICBsaXN0TGluZUFjdGlvbjogVmVydGljYWxMaW5lc0FjdGlvbjtcbiAgZG5kRXhwZXJpbWVudDogYm9vbGVhbjtcbiAgcHJldmlvdXNSZWxlYXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5jb25zdCBERUZBVUxUX1NFVFRJTkdTOiBTZXR0aW5nc09iamVjdCA9IHtcbiAgc3R5bGVMaXN0czogdHJ1ZSxcbiAgZGVidWc6IGZhbHNlLFxuICBzdGlja0N1cnNvcjogXCJidWxsZXQtYW5kLWNoZWNrYm94XCIsXG4gIGJldHRlckVudGVyOiB0cnVlLFxuICBiZXR0ZXJUYWI6IHRydWUsXG4gIHNlbGVjdEFsbDogdHJ1ZSxcbiAgbGlzdExpbmVzOiBmYWxzZSxcbiAgbGlzdExpbmVBY3Rpb246IFwidG9nZ2xlLWZvbGRpbmdcIixcbiAgZG5kRXhwZXJpbWVudDogZmFsc2UsXG4gIHByZXZpb3VzUmVsZWFzZTogbnVsbCxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZSB7XG4gIGxvYWREYXRhKCk6IFByb21pc2U8U2V0dGluZ3NPYmplY3Q+O1xuICBzYXZlRGF0YShzZXR0aW5nczogU2V0dGluZ3NPYmplY3QpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG50eXBlIENhbGxiYWNrID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIFNldHRpbmdzIHtcbiAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlO1xuICBwcml2YXRlIHZhbHVlczogU2V0dGluZ3NPYmplY3Q7XG4gIHByaXZhdGUgY2FsbGJhY2tzOiBTZXQ8Q2FsbGJhY2s+O1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMuY2FsbGJhY2tzID0gbmV3IFNldCgpO1xuICB9XG5cbiAgZ2V0IGtlZXBDdXJzb3JXaXRoaW5Db250ZW50KCkge1xuICAgIC8vIEFkYXB0b3IgZm9yIHVzZXJzIG1pZ3JhdGluZyBmcm9tIG9sZGVyIHZlcnNpb24gb2YgdGhlIHBsdWdpbi5cbiAgICBpZiAodGhpcy52YWx1ZXMuc3RpY2tDdXJzb3IgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVzLnN0aWNrQ3Vyc29yID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIFwibmV2ZXJcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuc3RpY2tDdXJzb3I7XG4gIH1cblxuICBzZXQga2VlcEN1cnNvcldpdGhpbkNvbnRlbnQodmFsdWU6IEtlZXBDdXJzb3JXaXRoaW5Db250ZW50KSB7XG4gICAgdGhpcy5zZXQoXCJzdGlja0N1cnNvclwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgb3ZlcnJpZGVUYWJCZWhhdmlvdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmJldHRlclRhYjtcbiAgfVxuXG4gIHNldCBvdmVycmlkZVRhYkJlaGF2aW91cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwiYmV0dGVyVGFiXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBvdmVycmlkZUVudGVyQmVoYXZpb3VyKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5iZXR0ZXJFbnRlcjtcbiAgfVxuXG4gIHNldCBvdmVycmlkZUVudGVyQmVoYXZpb3VyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJiZXR0ZXJFbnRlclwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgb3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLnNlbGVjdEFsbDtcbiAgfVxuXG4gIHNldCBvdmVycmlkZVNlbGVjdEFsbEJlaGF2aW91cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic2VsZWN0QWxsXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBiZXR0ZXJMaXN0c1N0eWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuc3R5bGVMaXN0cztcbiAgfVxuXG4gIHNldCBiZXR0ZXJMaXN0c1N0eWxlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic3R5bGVMaXN0c1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmVydGljYWxMaW5lcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMubGlzdExpbmVzO1xuICB9XG5cbiAgc2V0IHZlcnRpY2FsTGluZXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImxpc3RMaW5lc1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmVydGljYWxMaW5lc0FjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMubGlzdExpbmVBY3Rpb247XG4gIH1cblxuICBzZXQgdmVydGljYWxMaW5lc0FjdGlvbih2YWx1ZTogVmVydGljYWxMaW5lc0FjdGlvbikge1xuICAgIHRoaXMuc2V0KFwibGlzdExpbmVBY3Rpb25cIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRyYWdBbmREcm9wKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5kbmRFeHBlcmltZW50O1xuICB9XG5cbiAgc2V0IGRyYWdBbmREcm9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJkbmRFeHBlcmltZW50XCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBkZWJ1ZygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuZGVidWc7XG4gIH1cblxuICBzZXQgZGVidWcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImRlYnVnXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBwcmV2aW91c1JlbGVhc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLnByZXZpb3VzUmVsZWFzZTtcbiAgfVxuXG4gIHNldCBwcmV2aW91c1JlbGVhc2UodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLnNldChcInByZXZpb3VzUmVsZWFzZVwiLCB2YWx1ZSk7XG4gIH1cblxuICBvbkNoYW5nZShjYjogQ2FsbGJhY2spIHtcbiAgICB0aGlzLmNhbGxiYWNrcy5hZGQoY2IpO1xuICB9XG5cbiAgcmVtb3ZlQ2FsbGJhY2soY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgdGhpcy5jYWxsYmFja3MuZGVsZXRlKGNiKTtcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKERFRkFVTFRfU0VUVElOR1MpKSB7XG4gICAgICB0aGlzLnNldChrIGFzIGtleW9mIFNldHRpbmdzT2JqZWN0LCB2KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMudmFsdWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgREVGQVVMVF9TRVRUSU5HUyxcbiAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5sb2FkRGF0YSgpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNhdmVEYXRhKHRoaXMudmFsdWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0PFQgZXh0ZW5kcyBrZXlvZiBTZXR0aW5nc09iamVjdD4oXG4gICAga2V5OiBULFxuICAgIHZhbHVlOiBTZXR0aW5nc09iamVjdFtUXVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlc1trZXldID0gdmFsdWU7XG5cbiAgICBmb3IgKGNvbnN0IGNiIG9mIHRoaXMuY2FsbGJhY2tzKSB7XG4gICAgICBjYigpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IEFycm93TGVmdEFuZEN0cmxBcnJvd0xlZnRCZWhhdmlvdXJPdmVycmlkZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0Fycm93TGVmdEFuZEN0cmxBcnJvd0xlZnRCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGUgfSBmcm9tIFwiLi9mZWF0dXJlcy9CYWNrc3BhY2VCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgQmV0dGVyTGlzdHNTdHlsZXMgfSBmcm9tIFwiLi9mZWF0dXJlcy9CZXR0ZXJMaXN0c1N0eWxlc1wiO1xuaW1wb3J0IHsgQ3RybEFBbmRDbWRBQmVoYXZpb3VyT3ZlcnJpZGUgfSBmcm9tIFwiLi9mZWF0dXJlcy9DdHJsQUFuZENtZEFCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgRGVsZXRlQmVoYXZpb3VyT3ZlcnJpZGUgfSBmcm9tIFwiLi9mZWF0dXJlcy9EZWxldGVCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3AgfSBmcm9tIFwiLi9mZWF0dXJlcy9EcmFnQW5kRHJvcFwiO1xuaW1wb3J0IHsgRWRpdG9yU2VsZWN0aW9uc0JlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRWRpdG9yU2VsZWN0aW9uc0JlaGF2aW91ck92ZXJyaWRlXCI7XG5pbXBvcnQgeyBFbnRlckJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRW50ZXJCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0ZlYXR1cmVcIjtcbmltcG9ydCB7IExpc3RzRm9sZGluZ0NvbW1hbmRzIH0gZnJvbSBcIi4vZmVhdHVyZXMvTGlzdHNGb2xkaW5nQ29tbWFuZHNcIjtcbmltcG9ydCB7IExpc3RzTW92ZW1lbnRDb21tYW5kcyB9IGZyb20gXCIuL2ZlYXR1cmVzL0xpc3RzTW92ZW1lbnRDb21tYW5kc1wiO1xuaW1wb3J0IHsgTWV0YUJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvTWV0YUJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlXCI7XG5pbXBvcnQgeyBSZWxlYXNlTm90ZXNBbm5vdW5jZW1lbnQgfSBmcm9tIFwiLi9mZWF0dXJlcy9SZWxlYXNlTm90ZXNBbm5vdW5jZW1lbnRcIjtcbmltcG9ydCB7IFNldHRpbmdzVGFiIH0gZnJvbSBcIi4vZmVhdHVyZXMvU2V0dGluZ3NUYWJcIjtcbmltcG9ydCB7IFNoaWZ0VGFiQmVoYXZpb3VyT3ZlcnJpZGUgfSBmcm9tIFwiLi9mZWF0dXJlcy9TaGlmdFRhYkJlaGF2aW91ck92ZXJyaWRlXCI7XG5pbXBvcnQgeyBUYWJCZWhhdmlvdXJPdmVycmlkZSB9IGZyb20gXCIuL2ZlYXR1cmVzL1RhYkJlaGF2aW91ck92ZXJyaWRlXCI7XG5pbXBvcnQgeyBWZXJ0aWNhbExpbmVzIH0gZnJvbSBcIi4vZmVhdHVyZXMvVmVydGljYWxMaW5lc1wiO1xuaW1wb3J0IHsgQ2hhbmdlc0FwcGxpY2F0b3IgfSBmcm9tIFwiLi9zZXJ2aWNlcy9DaGFuZ2VzQXBwbGljYXRvclwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4vc2VydmljZXMvTG9nZ2VyXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNldHRpbmdzIH0gZnJvbSBcIi4vc2VydmljZXMvT2JzaWRpYW5TZXR0aW5nc1wiO1xuaW1wb3J0IHsgT3BlcmF0aW9uUGVyZm9ybWVyIH0gZnJvbSBcIi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9QYXJzZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4vc2VydmljZXMvU2V0dGluZ3NcIjtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBQTFVHSU5fVkVSU0lPTjogc3RyaW5nO1xuICBjb25zdCBDSEFOR0VMT0dfTUQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT2JzaWRpYW5PdXRsaW5lclBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG4gIHByaXZhdGUgZmVhdHVyZXM6IEZlYXR1cmVbXTtcbiAgcHJvdGVjdGVkIHNldHRpbmdzOiBTZXR0aW5ncztcbiAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcjtcbiAgcHJpdmF0ZSBvYnNpZGlhblNldHRpbmdzOiBPYnNpZGlhblNldHRpbmdzO1xuICBwcml2YXRlIHBhcnNlcjogUGFyc2VyO1xuICBwcml2YXRlIGNoYW5nZXNBcHBsaWNhdG9yOiBDaGFuZ2VzQXBwbGljYXRvcjtcbiAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lcjtcbiAgcHJpdmF0ZSBpbWVEZXRlY3RvcjogSU1FRGV0ZWN0b3I7XG5cbiAgYXN5bmMgb25sb2FkKCkge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIG9ic2lkaWFuLW91dGxpbmVyYCk7XG5cbiAgICBhd2FpdCB0aGlzLnByZXBhcmVTZXR0aW5ncygpO1xuXG4gICAgdGhpcy5vYnNpZGlhblNldHRpbmdzID0gbmV3IE9ic2lkaWFuU2V0dGluZ3ModGhpcy5hcHApO1xuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzLnNldHRpbmdzKTtcbiAgICB0aGlzLnBhcnNlciA9IG5ldyBQYXJzZXIodGhpcy5sb2dnZXIsIHRoaXMuc2V0dGluZ3MpO1xuICAgIHRoaXMuY2hhbmdlc0FwcGxpY2F0b3IgPSBuZXcgQ2hhbmdlc0FwcGxpY2F0b3IoKTtcbiAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lciA9IG5ldyBPcGVyYXRpb25QZXJmb3JtZXIoXG4gICAgICB0aGlzLnBhcnNlcixcbiAgICAgIHRoaXMuY2hhbmdlc0FwcGxpY2F0b3JcbiAgICApO1xuXG4gICAgdGhpcy5pbWVEZXRlY3RvciA9IG5ldyBJTUVEZXRlY3RvcigpO1xuICAgIGF3YWl0IHRoaXMuaW1lRGV0ZWN0b3IubG9hZCgpO1xuXG4gICAgdGhpcy5mZWF0dXJlcyA9IFtcbiAgICAgIC8vIHNlcnZpY2UgZmVhdHVyZXNcbiAgICAgIG5ldyBSZWxlYXNlTm90ZXNBbm5vdW5jZW1lbnQodGhpcywgdGhpcy5zZXR0aW5ncyksXG4gICAgICBuZXcgU2V0dGluZ3NUYWIodGhpcywgdGhpcy5zZXR0aW5ncyksXG5cbiAgICAgIC8vIGdlbmVyYWwgZmVhdHVyZXNcbiAgICAgIG5ldyBMaXN0c01vdmVtZW50Q29tbWFuZHMoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncyxcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG4gICAgICBuZXcgTGlzdHNGb2xkaW5nQ29tbWFuZHModGhpcywgdGhpcy5vYnNpZGlhblNldHRpbmdzKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3Mua2VlcEN1cnNvcldpdGhpbkNvbnRlbnRcbiAgICAgIG5ldyBFZGl0b3JTZWxlY3Rpb25zQmVoYXZpb3VyT3ZlcnJpZGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMucGFyc2VyLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcbiAgICAgIG5ldyBBcnJvd0xlZnRBbmRDdHJsQXJyb3dMZWZ0QmVoYXZpb3VyT3ZlcnJpZGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lRGV0ZWN0b3IsXG4gICAgICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyXG4gICAgICApLFxuICAgICAgbmV3IEJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcbiAgICAgIG5ldyBNZXRhQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lRGV0ZWN0b3IsXG4gICAgICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyXG4gICAgICApLFxuICAgICAgbmV3IERlbGV0ZUJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3Mub3ZlcnJpZGVUYWJCZWhhdmlvdXJcbiAgICAgIG5ldyBUYWJCZWhhdmlvdXJPdmVycmlkZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5pbWVEZXRlY3RvcixcbiAgICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcbiAgICAgIG5ldyBTaGlmdFRhYkJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3Mub3ZlcnJpZGVFbnRlckJlaGF2aW91clxuICAgICAgbmV3IEVudGVyQmVoYXZpb3VyT3ZlcnJpZGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMuaW1lRGV0ZWN0b3IsXG4gICAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncyxcbiAgICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyXG4gICAgICApLFxuXG4gICAgICAvLyBmZWF0dXJlcyBiYXNlZCBvbiBzZXR0aW5ncy5vdmVycmlkZVNlbGVjdEFsbEJlaGF2aW91clxuICAgICAgbmV3IEN0cmxBQW5kQ21kQUJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3MuYmV0dGVyTGlzdHNTdHlsZXNcbiAgICAgIG5ldyBCZXR0ZXJMaXN0c1N0eWxlcyh0aGlzLnNldHRpbmdzLCB0aGlzLm9ic2lkaWFuU2V0dGluZ3MpLFxuXG4gICAgICAvLyBmZWF0dXJlcyBiYXNlZCBvbiBzZXR0aW5ncy52ZXJ0aWNhbExpbmVzXG4gICAgICBuZXcgVmVydGljYWxMaW5lcyhcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLFxuICAgICAgICB0aGlzLnBhcnNlclxuICAgICAgKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3MuZHJhZ0FuZERyb3BcbiAgICAgIG5ldyBEcmFnQW5kRHJvcChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLFxuICAgICAgICB0aGlzLnBhcnNlcixcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG4gICAgXTtcblxuICAgIGZvciAoY29uc3QgZmVhdHVyZSBvZiB0aGlzLmZlYXR1cmVzKSB7XG4gICAgICBhd2FpdCBmZWF0dXJlLmxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBvbnVubG9hZCgpIHtcbiAgICBjb25zb2xlLmxvZyhgVW5sb2FkaW5nIG9ic2lkaWFuLW91dGxpbmVyYCk7XG5cbiAgICBhd2FpdCB0aGlzLmltZURldGVjdG9yLnVubG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIHRoaXMuZmVhdHVyZXMpIHtcbiAgICAgIGF3YWl0IGZlYXR1cmUudW5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHByZXBhcmVTZXR0aW5ncygpIHtcbiAgICB0aGlzLnNldHRpbmdzID0gbmV3IFNldHRpbmdzKHRoaXMpO1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3MubG9hZCgpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiZWRpdG9ySW5mb0ZpZWxkIiwiZm9sZGVkUmFuZ2VzIiwiZm9sZGFibGUiLCJmb2xkRWZmZWN0IiwidW5mb2xkRWZmZWN0IiwicnVuU2NvcGVIYW5kbGVycyIsImtleW1hcCIsIk5vdGljZSIsIlN0YXRlRWZmZWN0IiwiRGVjb3JhdGlvbiIsIlN0YXRlRmllbGQiLCJFZGl0b3JWaWV3IiwiUGxhdGZvcm0iLCJFZGl0b3JTdGF0ZSIsIlByZWMiLCJNb2RhbCIsIk1hcmtkb3duUmVuZGVyZXIiLCJQbHVnaW5TZXR0aW5nVGFiIiwiU2V0dGluZyIsIlZpZXdQbHVnaW4iLCJQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBb0dBO0FBQ08sU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0FBQzdELElBQUksU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0FBQ2hILElBQUksT0FBTyxLQUFLLENBQUMs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USxFQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEI7O2dCQUdELElBQUksc0JBQXNCLENBQ3hCLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQ3hCOztBQUdELGdCQUFBLElBQUksNkJBQTZCLENBQy9CLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEI7O2dCQUdELElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7O0FBRzNELGdCQUFBLElBQUksYUFBYSxDQUNmLElBQUksRUFDSixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FDWjs7QUFHRCxnQkFBQSxJQUFJLFdBQVcsQ0FDYixJQUFJLEVBQ0osSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUN4QjthQUNGLENBQUM7QUFFRixZQUFBLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNuQyxnQkFBQSxNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN0QixhQUFBO1NBQ0YsQ0FBQSxDQUFBO0FBQUEsS0FBQTtJQUVLLFFBQVEsR0FBQTs7QUFDWixZQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQSwyQkFBQSxDQUE2QixDQUFDLENBQUM7QUFFM0MsWUFBQSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7QUFFaEMsWUFBQSxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDbkMsZ0JBQUEsTUFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDeEIsYUFBQTtTQUNGLENBQUEsQ0FBQTtBQUFBLEtBQUE7SUFFZSxlQUFlLEdBQUE7O1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkMsWUFBQSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUIsQ0FBQSxDQUFBO0FBQUEsS0FBQTtBQUNGOzs7OyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXX0= +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9vcGVyYXRpb25zL01vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRMaW5lLnRzIiwic3JjL2VkaXRvci9pbmRleC50cyIsInNyYy91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFjay50cyIsInNyYy9mZWF0dXJlcy9BcnJvd0xlZnRBbmRDdHJsQXJyb3dMZWZ0QmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvcm9vdC9pbmRleC50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnRzIiwic3JjL2ZlYXR1cmVzL0JhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlLnRzIiwic3JjL2ZlYXR1cmVzL0JldHRlckxpc3RzU3R5bGVzLnRzIiwic3JjL29wZXJhdGlvbnMvU2VsZWN0QWxsQ29udGVudC50cyIsInNyYy9mZWF0dXJlcy9DdHJsQUFuZENtZEFCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxOZXh0TGluZUNvbnRlbnRTdGFydC50cyIsInNyYy9mZWF0dXJlcy9EZWxldGVCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy9vcGVyYXRpb25zL01vdmVMaXN0VG9EaWZmZXJlbnRQb3NpdGlvbi50cyIsInNyYy9mZWF0dXJlcy9EcmFnQW5kRHJvcC50cyIsInNyYy9vcGVyYXRpb25zL0tlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMudHMiLCJzcmMvb3BlcmF0aW9ucy9LZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQudHMiLCJzcmMvZmVhdHVyZXMvRWRpdG9yU2VsZWN0aW9uc0JlaGF2aW91ck92ZXJyaWRlLnRzIiwic3JjL3V0aWxzL2NoZWNrYm94UmUudHMiLCJzcmMvdXRpbHMvaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gudHMiLCJzcmMvb3BlcmF0aW9ucy9DcmVhdGVOZXdJdGVtLnRzIiwic3JjL29wZXJhdGlvbnMvT3V0ZGVudExpc3QudHMiLCJzcmMvb3BlcmF0aW9ucy9PdXRkZW50TGlzdElmSXRzRW1wdHkudHMiLCJzcmMvZmVhdHVyZXMvRW50ZXJCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy91dGlscy9jcmVhdGVFZGl0b3JDYWxsYmFjay50cyIsInNyYy9mZWF0dXJlcy9MaXN0c0ZvbGRpbmdDb21tYW5kcy50cyIsInNyYy9vcGVyYXRpb25zL0luZGVudExpc3QudHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlTGlzdERvd24udHMiLCJzcmMvb3BlcmF0aW9ucy9Nb3ZlTGlzdFVwLnRzIiwic3JjL2ZlYXR1cmVzL0xpc3RzTW92ZW1lbnRDb21tYW5kcy50cyIsInNyYy9vcGVyYXRpb25zL0RlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydC50cyIsInNyYy9mZWF0dXJlcy9NZXRhQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvZmVhdHVyZXMvUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50LnRzIiwic3JjL2ZlYXR1cmVzL1NldHRpbmdzVGFiLnRzIiwic3JjL2ZlYXR1cmVzL1NoaWZ0VGFiQmVoYXZpb3VyT3ZlcnJpZGUudHMiLCJzcmMvZmVhdHVyZXMvU3lzdGVtSW5mby50cyIsInNyYy9mZWF0dXJlcy9UYWJCZWhhdmlvdXJPdmVycmlkZS50cyIsInNyYy9mZWF0dXJlcy9WZXJ0aWNhbExpbmVzLnRzIiwic3JjL3NlcnZpY2VzL0NoYW5nZXNBcHBsaWNhdG9yLnRzIiwic3JjL3NlcnZpY2VzL0lNRURldGVjdG9yLnRzIiwic3JjL3NlcnZpY2VzL0xvZ2dlci50cyIsInNyYy9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzLnRzIiwic3JjL3NlcnZpY2VzL09wZXJhdGlvblBlcmZvcm1lci50cyIsInNyYy9zZXJ2aWNlcy9QYXJzZXIudHMiLCJzcmMvc2VydmljZXMvU2V0dGluZ3MudHMiLCJzcmMvT2JzaWRpYW5PdXRsaW5lclBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXNEZWNvcmF0ZShjdG9yLCBkZXNjcmlwdG9ySW4sIGRlY29yYXRvcnMsIGNvbnRleHRJbiwgaW5pdGlhbGl6ZXJzLCBleHRyYUluaXRpYWxpemVycykge1xyXG4gICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRnVuY3Rpb24gZXhwZWN0ZWRcIik7IHJldHVybiBmOyB9XHJcbiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJbltcInN0YXRpY1wiXSA/IGN0b3IgOiBjdG9yLnByb3RvdHlwZSA6IG51bGw7XHJcbiAgICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JJbiB8fCAodGFyZ2V0ID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGNvbnRleHRJbi5uYW1lKSA6IHt9KTtcclxuICAgIHZhciBfLCBkb25lID0gZmFsc2U7XHJcbiAgICBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICAgIHZhciBjb250ZXh0ID0ge307XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XHJcbiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4uYWNjZXNzKSBjb250ZXh0LmFjY2Vzc1twXSA9IGNvbnRleHRJbi5hY2Nlc3NbcF07XHJcbiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkXCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcclxuICAgICAgICBpZiAoa2luZCA9PT0gXCJhY2Nlc3NvclwiKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmdldCkpIGRlc2NyaXB0b3IuZ2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LnNldCkpIGRlc2NyaXB0b3Iuc2V0ID0gXztcclxuICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMucHVzaChfKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoXyA9IGFjY2VwdChyZXN1bHQpKSB7XHJcbiAgICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy5wdXNoKF8pO1xyXG4gICAgICAgICAgICBlbHNlIGRlc2NyaXB0b3Jba2V5XSA9IF87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldCkgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgY29udGV4dEluLm5hbWUsIGRlc2NyaXB0b3IpO1xyXG4gICAgZG9uZSA9IHRydWU7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19ydW5Jbml0aWFsaXplcnModGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkge1xyXG4gICAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcHJvcEtleSh4KSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHggPT09IFwic3ltYm9sXCIgPyB4IDogXCJcIi5jb25jYXQoeCk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zZXRGdW5jdGlvbk5hbWUoZiwgbmFtZSwgcHJlZml4KSB7XHJcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIFwibmFtZVwiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHByZWZpeCA/IFwiXCIuY29uY2F0KHByZWZpeCwgXCIgXCIsIG5hbWUpIDogbmFtZSB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19jcmVhdGVCaW5kaW5nID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcclxuICAgIGlmICghZGVzYyB8fCAoXCJnZXRcIiBpbiBkZXNjID8gIW0uX19lc01vZHVsZSA6IGRlc2Mud3JpdGFibGUgfHwgZGVzYy5jb25maWd1cmFibGUpKSB7XHJcbiAgICAgICAgZGVzYyA9IHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1ba107IH0gfTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBrMiwgZGVzYyk7XHJcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgb1trMl0gPSBtW2tdO1xyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgbykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkKCkge1xyXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG4vKiogQGRlcHJlY2F0ZWQgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xyXG4gICAgZm9yICh2YXIgcyA9IDAsIGkgPSAwLCBpbCA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbDsgaSsrKSBzICs9IGFyZ3VtZW50c1tpXS5sZW5ndGg7XHJcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXHJcbiAgICAgICAgICAgIHJba10gPSBhW2pdO1xyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5KHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XHJcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIF9fYXdhaXQgPyAodGhpcy52ID0gdiwgdGhpcykgOiBuZXcgX19hd2FpdCh2KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxyXG4gICAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IGZhbHNlIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxudmFyIF9fc2V0TW9kdWxlRGVmYXVsdCA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgdikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xyXG59KSA6IGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIG9bXCJkZWZhdWx0XCJdID0gdjtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiAoa2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEluKHN0YXRlLCByZWNlaXZlcikge1xyXG4gICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XHJcbiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xyXG59XHJcbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBMaXN0TGluZSwgUG9zaXRpb24sIFJvb3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmUgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gdGhpcy5yb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGN1cnNvciA9IHRoaXMucm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lcyA9IGxpc3QuZ2V0TGluZXNJbmZvKCk7XG4gICAgY29uc3QgbGluZU5vID0gbGluZXMuZmluZEluZGV4KChsKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBjdXJzb3IuY2ggPT09IGwuZnJvbS5jaCArIGxpc3QuZ2V0Q2hlY2tib3hMZW5ndGgoKSAmJlxuICAgICAgICBjdXJzb3IubGluZSA9PT0gbC5mcm9tLmxpbmVcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpZiAobGluZU5vID09PSAwKSB7XG4gICAgICB0aGlzLm1vdmVDdXJzb3JUb1ByZXZpb3VzVW5mb2xkZWRJdGVtKHJvb3QsIGN1cnNvcik7XG4gICAgfSBlbHNlIGlmIChsaW5lTm8gPiAwKSB7XG4gICAgICB0aGlzLm1vdmVDdXJzb3JUb1ByZXZpb3VzTm90ZUxpbmUocm9vdCwgbGluZXMsIGxpbmVObyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ3Vyc29yVG9QcmV2aW91c05vdGVMaW5lKFxuICAgIHJvb3Q6IFJvb3QsXG4gICAgbGluZXM6IExpc3RMaW5lW10sXG4gICAgbGluZU5vOiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICByb290LnJlcGxhY2VDdXJzb3IobGluZXNbbGluZU5vIC0gMV0udG8pO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkSXRlbShyb290OiBSb290LCBjdXJzb3I6IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgcHJldiA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShjdXJzb3IubGluZSAtIDEpO1xuXG4gICAgaWYgKCFwcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBpZiAocHJldi5pc0ZvbGRlZCgpKSB7XG4gICAgICBjb25zdCBmb2xkUm9vdCA9IHByZXYuZ2V0VG9wRm9sZFJvb3QoKTtcbiAgICAgIGNvbnN0IGZpcnN0TGluZUVuZCA9IGZvbGRSb290LmdldExpbmVzSW5mbygpWzBdLnRvO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGZpcnN0TGluZUVuZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihwcmV2LmdldExhc3RMaW5lQ29udGVudEVuZCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IEVkaXRvciwgZWRpdG9ySW5mb0ZpZWxkIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7XG4gIGZvbGRFZmZlY3QsXG4gIGZvbGRhYmxlLFxuICBmb2xkZWRSYW5nZXMsXG4gIHVuZm9sZEVmZmVjdCxcbn0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsgRWRpdG9yVmlldywgcnVuU2NvcGVIYW5kbGVycyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmV4cG9ydCBjbGFzcyBNeUVkaXRvclBvc2l0aW9uIHtcbiAgbGluZTogbnVtYmVyO1xuICBjaDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3JSYW5nZSB7XG4gIGZyb206IE15RWRpdG9yUG9zaXRpb247XG4gIHRvOiBNeUVkaXRvclBvc2l0aW9uO1xufVxuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3JTZWxlY3Rpb24ge1xuICBhbmNob3I6IE15RWRpdG9yUG9zaXRpb247XG4gIGhlYWQ6IE15RWRpdG9yUG9zaXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0b3JGcm9tU3RhdGUoc3RhdGU6IEVkaXRvclN0YXRlKSB7XG4gIGNvbnN0IHsgZWRpdG9yIH0gPSBzdGF0ZS5maWVsZChlZGl0b3JJbmZvRmllbGQpO1xuXG4gIGlmICghZWRpdG9yKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV3IE15RWRpdG9yKGVkaXRvcik7XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgT2JzaWRpYW5ab29tUGx1Z2luPzoge1xuICAgICAgZ2V0Wm9vbVJhbmdlKGU6IEVkaXRvcik6IE15RWRpdG9yUmFuZ2U7XG4gICAgICB6b29tT3V0KGU6IEVkaXRvcik6IHZvaWQ7XG4gICAgICB6b29tSW4oZTogRWRpdG9yLCBsaW5lOiBudW1iZXIpOiB2b2lkO1xuICAgICAgcmVmcmVzaFpvb20/KGU6IEVkaXRvcik6IHZvaWQ7XG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb2xkSW5zaWRlKHZpZXc6IEVkaXRvclZpZXcsIGZyb206IG51bWJlciwgdG86IG51bWJlcikge1xuICBsZXQgZm91bmQ6IHsgZnJvbTogbnVtYmVyOyB0bzogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcbiAgZm9sZGVkUmFuZ2VzKHZpZXcuc3RhdGUpLmJldHdlZW4oZnJvbSwgdG8sIChmcm9tLCB0bykgPT4ge1xuICAgIGlmICghZm91bmQgfHwgZm91bmQuZnJvbSA+IGZyb20pIGZvdW5kID0geyBmcm9tLCB0byB9O1xuICB9KTtcbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5leHBvcnQgY2xhc3MgTXlFZGl0b3Ige1xuICBwcml2YXRlIHZpZXc6IEVkaXRvclZpZXc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlOiBFZGl0b3IpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRoaXMudmlldyA9ICh0aGlzLmUgYXMgYW55KS5jbTtcbiAgfVxuXG4gIGdldEN1cnNvcigpOiBNeUVkaXRvclBvc2l0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5lLmdldEN1cnNvcigpO1xuICB9XG5cbiAgZ2V0TGluZShuOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmUuZ2V0TGluZShuKTtcbiAgfVxuXG4gIGxhc3RMaW5lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZS5sYXN0TGluZSgpO1xuICB9XG5cbiAgbGlzdFNlbGVjdGlvbnMoKTogTXlFZGl0b3JTZWxlY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZS5saXN0U2VsZWN0aW9ucygpO1xuICB9XG5cbiAgZ2V0UmFuZ2UoZnJvbTogTXlFZGl0b3JQb3NpdGlvbiwgdG86IE15RWRpdG9yUG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmUuZ2V0UmFuZ2UoZnJvbSwgdG8pO1xuICB9XG5cbiAgcmVwbGFjZVJhbmdlKFxuICAgIHJlcGxhY2VtZW50OiBzdHJpbmcsXG4gICAgZnJvbTogTXlFZGl0b3JQb3NpdGlvbixcbiAgICB0bzogTXlFZGl0b3JQb3NpdGlvblxuICApOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5lLnJlcGxhY2VSYW5nZShyZXBsYWNlbWVudCwgZnJvbSwgdG8pO1xuICB9XG5cbiAgc2V0U2VsZWN0aW9ucyhzZWxlY3Rpb25zOiBNeUVkaXRvclNlbGVjdGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5lLnNldFNlbGVjdGlvbnMoc2VsZWN0aW9ucyk7XG4gIH1cblxuICBzZXRWYWx1ZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmUuc2V0VmFsdWUodGV4dCk7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmUuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIG9mZnNldFRvUG9zKG9mZnNldDogbnVtYmVyKTogTXlFZGl0b3JQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZS5vZmZzZXRUb1BvcyhvZmZzZXQpO1xuICB9XG5cbiAgcG9zVG9PZmZzZXQocG9zOiBNeUVkaXRvclBvc2l0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5lLnBvc1RvT2Zmc2V0KHBvcyk7XG4gIH1cblxuICBmb2xkKG46IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmlldyB9ID0gdGhpcztcbiAgICBjb25zdCBsID0gdmlldy5saW5lQmxvY2tBdCh2aWV3LnN0YXRlLmRvYy5saW5lKG4gKyAxKS5mcm9tKTtcbiAgICBjb25zdCByYW5nZSA9IGZvbGRhYmxlKHZpZXcuc3RhdGUsIGwuZnJvbSwgbC50byk7XG5cbiAgICBpZiAoIXJhbmdlIHx8IHJhbmdlLmZyb20gPT09IHJhbmdlLnRvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmlldy5kaXNwYXRjaCh7IGVmZmVjdHM6IFtmb2xkRWZmZWN0Lm9mKHJhbmdlKV0gfSk7XG4gIH1cblxuICB1bmZvbGQobjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyB2aWV3IH0gPSB0aGlzO1xuICAgIGNvbnN0IGwgPSB2aWV3LmxpbmVCbG9ja0F0KHZpZXcuc3RhdGUuZG9jLmxpbmUobiArIDEpLmZyb20pO1xuICAgIGNvbnN0IHJhbmdlID0gZm9sZEluc2lkZSh2aWV3LCBsLmZyb20sIGwudG8pO1xuXG4gICAgaWYgKCFyYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpZXcuZGlzcGF0Y2goeyBlZmZlY3RzOiBbdW5mb2xkRWZmZWN0Lm9mKHJhbmdlKV0gfSk7XG4gIH1cblxuICBnZXRBbGxGb2xkZWRMaW5lcygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgYyA9IGZvbGRlZFJhbmdlcyh0aGlzLnZpZXcuc3RhdGUpLml0ZXIoKTtcbiAgICBjb25zdCByZXM6IG51bWJlcltdID0gW107XG4gICAgd2hpbGUgKGMudmFsdWUpIHtcbiAgICAgIHJlcy5wdXNoKHRoaXMub2Zmc2V0VG9Qb3MoYy5mcm9tKS5saW5lKTtcbiAgICAgIGMubmV4dCgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgdHJpZ2dlck9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgcnVuU2NvcGVIYW5kbGVycyh0aGlzLnZpZXcsIGUsIFwiZWRpdG9yXCIpO1xuICB9XG5cbiAgZ2V0Wm9vbVJhbmdlKCk6IE15RWRpdG9yUmFuZ2UgfCBudWxsIHtcbiAgICBpZiAoIXdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luLmdldFpvb21SYW5nZSh0aGlzLmUpO1xuICB9XG5cbiAgem9vbU91dCgpIHtcbiAgICBpZiAoIXdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luLnpvb21PdXQodGhpcy5lKTtcbiAgfVxuXG4gIHpvb21JbihsaW5lOiBudW1iZXIpIHtcbiAgICBpZiAoIXdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luLnpvb21Jbih0aGlzLmUsIGxpbmUpO1xuICB9XG5cbiAgdHJ5UmVmcmVzaFpvb20obGluZTogbnVtYmVyKSB7XG4gICAgaWYgKCF3aW5kb3cuT2JzaWRpYW5ab29tUGx1Z2luKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4ucmVmcmVzaFpvb20pIHtcbiAgICAgIHdpbmRvdy5PYnNpZGlhblpvb21QbHVnaW4ucmVmcmVzaFpvb20odGhpcy5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lk9ic2lkaWFuWm9vbVBsdWdpbi56b29tSW4odGhpcy5lLCBsaW5lKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciwgZ2V0RWRpdG9yRnJvbVN0YXRlIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soY29uZmlnOiB7XG4gIGNoZWNrPzogKGVkaXRvcjogTXlFZGl0b3IpID0+IGJvb2xlYW47XG4gIHJ1bjogKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBzaG91bGRVcGRhdGU6IGJvb2xlYW47XG4gICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBib29sZWFuO1xuICB9O1xufSkge1xuICBjb25zdCBjaGVjayA9IGNvbmZpZy5jaGVjayB8fCAoKCkgPT4gdHJ1ZSk7XG4gIGNvbnN0IHsgcnVuIH0gPSBjb25maWc7XG5cbiAgcmV0dXJuICh2aWV3OiBFZGl0b3JWaWV3KTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZWRpdG9yID0gZ2V0RWRpdG9yRnJvbVN0YXRlKHZpZXcuc3RhdGUpO1xuXG4gICAgaWYgKCFjaGVjayhlZGl0b3IpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgeyBzaG91bGRVcGRhdGUsIHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gcnVuKGVkaXRvcik7XG5cbiAgICByZXR1cm4gc2hvdWxkVXBkYXRlIHx8IHNob3VsZFN0b3BQcm9wYWdhdGlvbjtcbiAgfTtcbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgTW92ZUN1cnNvclRvUHJldmlvdXNVbmZvbGRlZExpbmUgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9Nb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZVwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgQXJyb3dMZWZ0QW5kQ3RybEFycm93TGVmdEJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJBcnJvd0xlZnRcIixcbiAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgIGNoZWNrOiB0aGlzLmNoZWNrLFxuICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHdpbjogXCJjLUFycm93TGVmdFwiLFxuICAgICAgICAgIGxpbnV4OiBcImMtQXJyb3dMZWZ0XCIsXG4gICAgICAgICAgcnVuOiBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2V0dGluZ3Mua2VlcEN1cnNvcldpdGhpbkNvbnRlbnQgIT09IFwibmV2ZXJcIiAmJlxuICAgICAgIXRoaXMuaW1lRGV0ZWN0b3IuaXNPcGVuZWQoKVxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlQ3Vyc29yVG9QcmV2aW91c1VuZm9sZGVkTGluZShyb290KSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gY21wUG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gYS5saW5lIC0gYi5saW5lIHx8IGEuY2ggLSBiLmNoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4UG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gY21wUG9zKGEsIGIpIDwgMCA/IGIgOiBhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWluUG9zKGE6IFBvc2l0aW9uLCBiOiBQb3NpdGlvbikge1xuICByZXR1cm4gY21wUG9zKGEsIGIpIDwgMCA/IGEgOiBiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSYW5nZXNJbnRlcnNlY3RzKFxuICBhOiBbUG9zaXRpb24sIFBvc2l0aW9uXSxcbiAgYjogW1Bvc2l0aW9uLCBQb3NpdGlvbl1cbikge1xuICByZXR1cm4gY21wUG9zKGFbMV0sIGJbMF0pID49IDAgJiYgY21wUG9zKGFbMF0sIGJbMV0pIDw9IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3Q6IFJvb3QpIHtcbiAgZnVuY3Rpb24gdmlzaXQocGFyZW50OiBSb290IHwgTGlzdCkge1xuICAgIGxldCBpbmRleCA9IDE7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHBhcmVudC5nZXRDaGlsZHJlbigpKSB7XG4gICAgICBpZiAoL1xcZCtcXC4vLnRlc3QoY2hpbGQuZ2V0QnVsbGV0KCkpKSB7XG4gICAgICAgIGNoaWxkLnJlcGxhdGVCdWxsZXQoYCR7aW5kZXgrK30uYCk7XG4gICAgICB9XG5cbiAgICAgIHZpc2l0KGNoaWxkKTtcbiAgICB9XG4gIH1cblxuICB2aXNpdChyb290KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gIGNoOiBudW1iZXI7XG4gIGxpbmU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TGluZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgZnJvbTogUG9zaXRpb247XG4gIHRvOiBQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYW5nZSB7XG4gIGFuY2hvcjogUG9zaXRpb247XG4gIGhlYWQ6IFBvc2l0aW9uO1xufVxuXG5sZXQgaWRTZXEgPSAwO1xuXG5leHBvcnQgY2xhc3MgTGlzdCB7XG4gIHByaXZhdGUgaWQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBwYXJlbnQ6IExpc3QgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjaGlsZHJlbjogTGlzdFtdID0gW107XG4gIHByaXZhdGUgbm90ZXNJbmRlbnQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm9vdDogUm9vdCxcbiAgICBwcml2YXRlIGluZGVudDogc3RyaW5nLFxuICAgIHByaXZhdGUgYnVsbGV0OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBvcHRpb25hbENoZWNrYm94OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBzcGFjZUFmdGVyQnVsbGV0OiBzdHJpbmcsXG4gICAgZmlyc3RMaW5lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBmb2xkUm9vdDogYm9vbGVhblxuICApIHtcbiAgICB0aGlzLmlkID0gaWRTZXErKztcbiAgICB0aGlzLmxpbmVzLnB1c2goZmlyc3RMaW5lKTtcbiAgfVxuXG4gIGdldElEKCkge1xuICAgIHJldHVybiB0aGlzLmlkO1xuICB9XG5cbiAgZ2V0Tm90ZXNJbmRlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubm90ZXNJbmRlbnQ7XG4gIH1cblxuICBzZXROb3Rlc0luZGVudChub3Rlc0luZGVudDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm90ZXMgaW5kZW50IGFscmVhZHkgcHJvdmlkZWRgKTtcbiAgICB9XG4gICAgdGhpcy5ub3Rlc0luZGVudCA9IG5vdGVzSW5kZW50O1xuICB9XG5cbiAgYWRkTGluZSh0ZXh0OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5ub3Rlc0luZGVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5hYmxlIHRvIGFkZCBsaW5lLCBub3RlcyBpbmRlbnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZpcnN0YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmVzLnB1c2godGV4dCk7XG4gIH1cblxuICByZXBsYWNlTGluZXMobGluZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDEgJiYgdGhpcy5ub3Rlc0luZGVudCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5hYmxlIHRvIGFkZCBsaW5lLCBub3RlcyBpbmRlbnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZpcnN0YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmVzID0gbGluZXM7XG4gIH1cblxuICBnZXRMaW5lQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGluZXMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0Um9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5yb290O1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uY29uY2F0KCk7XG4gIH1cblxuICBnZXRMaW5lc0luZm8oKTogTGlzdExpbmVbXSB7XG4gICAgY29uc3Qgc3RhcnRMaW5lID0gdGhpcy5yb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YodGhpcylbMF07XG5cbiAgICByZXR1cm4gdGhpcy5saW5lcy5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgY29uc3QgbGluZSA9IHN0YXJ0TGluZSArIGk7XG4gICAgICBjb25zdCBzdGFydENoID1cbiAgICAgICAgaSA9PT0gMCA/IHRoaXMuZ2V0Q29udGVudFN0YXJ0Q2goKSA6IHRoaXMubm90ZXNJbmRlbnQubGVuZ3RoO1xuICAgICAgY29uc3QgZW5kQ2ggPSBzdGFydENoICsgcm93Lmxlbmd0aDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogcm93LFxuICAgICAgICBmcm9tOiB7IGxpbmUsIGNoOiBzdGFydENoIH0sXG4gICAgICAgIHRvOiB7IGxpbmUsIGNoOiBlbmRDaCB9LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldExpbmVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5saW5lcy5jb25jYXQoKTtcbiAgfVxuXG4gIGdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpIHtcbiAgICBjb25zdCBzdGFydExpbmUgPSB0aGlzLnJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZih0aGlzKVswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICBjaDogdGhpcy5nZXRDb250ZW50U3RhcnRDaCgpLFxuICAgIH07XG4gIH1cblxuICBnZXRGaXJzdExpbmVDb250ZW50U3RhcnRBZnRlckNoZWNrYm94KCkge1xuICAgIGNvbnN0IHN0YXJ0TGluZSA9IHRoaXMucm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKHRoaXMpWzBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmU6IHN0YXJ0TGluZSxcbiAgICAgIGNoOiB0aGlzLmdldENvbnRlbnRTdGFydENoKCkgKyB0aGlzLmdldENoZWNrYm94TGVuZ3RoKCksXG4gICAgfTtcbiAgfVxuXG4gIGdldExhc3RMaW5lQ29udGVudEVuZCgpIHtcbiAgICBjb25zdCBlbmRMaW5lID0gdGhpcy5yb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YodGhpcylbMV07XG4gICAgY29uc3QgZW5kQ2ggPVxuICAgICAgdGhpcy5saW5lcy5sZW5ndGggPT09IDFcbiAgICAgICAgPyB0aGlzLmdldENvbnRlbnRTdGFydENoKCkgKyB0aGlzLmxpbmVzWzBdLmxlbmd0aFxuICAgICAgICA6IHRoaXMubm90ZXNJbmRlbnQubGVuZ3RoICsgdGhpcy5saW5lc1t0aGlzLmxpbmVzLmxlbmd0aCAtIDFdLmxlbmd0aDtcblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBlbmRMaW5lLFxuICAgICAgY2g6IGVuZENoLFxuICAgIH07XG4gIH1cblxuICBnZXRDb250ZW50RW5kSW5jbHVkaW5nQ2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFzdENoaWxkKCkuZ2V0TGFzdExpbmVDb250ZW50RW5kKCk7XG4gIH1cblxuICBwcml2YXRlIGdldExhc3RDaGlsZCgpIHtcbiAgICBsZXQgbGFzdENoaWxkOiBMaXN0ID0gdGhpcztcblxuICAgIHdoaWxlICghbGFzdENoaWxkLmlzRW1wdHkoKSkge1xuICAgICAgbGFzdENoaWxkID0gbGFzdENoaWxkLmdldENoaWxkcmVuKCkubGFzdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0Q2hpbGQ7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRlbnRTdGFydENoKCkge1xuICAgIHJldHVybiB0aGlzLmluZGVudC5sZW5ndGggKyB0aGlzLmJ1bGxldC5sZW5ndGggKyAxO1xuICB9XG5cbiAgaXNGb2xkZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZm9sZFJvb3QpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyZW50LmlzRm9sZGVkKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNGb2xkUm9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb2xkUm9vdDtcbiAgfVxuXG4gIGdldFRvcEZvbGRSb290KCkge1xuICAgIGxldCB0bXA6IExpc3QgPSB0aGlzO1xuICAgIGxldCBmb2xkUm9vdDogTGlzdCB8IG51bGwgPSBudWxsO1xuICAgIHdoaWxlICh0bXApIHtcbiAgICAgIGlmICh0bXAuaXNGb2xkUm9vdCgpKSB7XG4gICAgICAgIGZvbGRSb290ID0gdG1wO1xuICAgICAgfVxuICAgICAgdG1wID0gdG1wLnBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIGZvbGRSb290O1xuICB9XG5cbiAgZ2V0TGV2ZWwoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZ2V0TGV2ZWwoKSArIDE7XG4gIH1cblxuICB1bmluZGVudENvbnRlbnQoZnJvbTogbnVtYmVyLCB0aWxsOiBudW1iZXIpIHtcbiAgICB0aGlzLmluZGVudCA9IHRoaXMuaW5kZW50LnNsaWNlKDAsIGZyb20pICsgdGhpcy5pbmRlbnQuc2xpY2UodGlsbCk7XG4gICAgaWYgKHRoaXMubm90ZXNJbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMubm90ZXNJbmRlbnQgPVxuICAgICAgICB0aGlzLm5vdGVzSW5kZW50LnNsaWNlKDAsIGZyb20pICsgdGhpcy5ub3Rlc0luZGVudC5zbGljZSh0aWxsKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIGNoaWxkLnVuaW5kZW50Q29udGVudChmcm9tLCB0aWxsKTtcbiAgICB9XG4gIH1cblxuICBpbmRlbnRDb250ZW50KGluZGVudFBvczogbnVtYmVyLCBpbmRlbnRDaGFyczogc3RyaW5nKSB7XG4gICAgdGhpcy5pbmRlbnQgPVxuICAgICAgdGhpcy5pbmRlbnQuc2xpY2UoMCwgaW5kZW50UG9zKSArXG4gICAgICBpbmRlbnRDaGFycyArXG4gICAgICB0aGlzLmluZGVudC5zbGljZShpbmRlbnRQb3MpO1xuICAgIGlmICh0aGlzLm5vdGVzSW5kZW50ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm5vdGVzSW5kZW50ID1cbiAgICAgICAgdGhpcy5ub3Rlc0luZGVudC5zbGljZSgwLCBpbmRlbnRQb3MpICtcbiAgICAgICAgaW5kZW50Q2hhcnMgK1xuICAgICAgICB0aGlzLm5vdGVzSW5kZW50LnNsaWNlKGluZGVudFBvcyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICBjaGlsZC5pbmRlbnRDb250ZW50KGluZGVudFBvcywgaW5kZW50Q2hhcnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldEZpcnN0TGluZUluZGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRlbnQ7XG4gIH1cblxuICBnZXRCdWxsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsbGV0O1xuICB9XG5cbiAgZ2V0U3BhY2VBZnRlckJ1bGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5zcGFjZUFmdGVyQnVsbGV0O1xuICB9XG5cbiAgZ2V0Q2hlY2tib3hMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uYWxDaGVja2JveC5sZW5ndGg7XG4gIH1cblxuICByZXBsYXRlQnVsbGV0KGJ1bGxldDogc3RyaW5nKSB7XG4gICAgdGhpcy5idWxsZXQgPSBidWxsZXQ7XG4gIH1cblxuICBnZXRQYXJlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50O1xuICB9XG5cbiAgYWRkQmVmb3JlQWxsKGxpc3Q6IExpc3QpIHtcbiAgICB0aGlzLmNoaWxkcmVuLnVuc2hpZnQobGlzdCk7XG4gICAgbGlzdC5wYXJlbnQgPSB0aGlzO1xuICB9XG5cbiAgYWRkQWZ0ZXJBbGwobGlzdDogTGlzdCkge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaChsaXN0KTtcbiAgICBsaXN0LnBhcmVudCA9IHRoaXM7XG4gIH1cblxuICByZW1vdmVDaGlsZChsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihsaXN0KTtcbiAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAxKTtcbiAgICBsaXN0LnBhcmVudCA9IG51bGw7XG4gIH1cblxuICBhZGRCZWZvcmUoYmVmb3JlOiBMaXN0LCBsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihiZWZvcmUpO1xuICAgIHRoaXMuY2hpbGRyZW4uc3BsaWNlKGksIDAsIGxpc3QpO1xuICAgIGxpc3QucGFyZW50ID0gdGhpcztcbiAgfVxuXG4gIGFkZEFmdGVyKGJlZm9yZTogTGlzdCwgbGlzdDogTGlzdCkge1xuICAgIGNvbnN0IGkgPSB0aGlzLmNoaWxkcmVuLmluZGV4T2YoYmVmb3JlKTtcbiAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpICsgMSwgMCwgbGlzdCk7XG4gICAgbGlzdC5wYXJlbnQgPSB0aGlzO1xuICB9XG5cbiAgZ2V0UHJldlNpYmxpbmdPZihsaXN0OiBMaXN0KSB7XG4gICAgY29uc3QgaSA9IHRoaXMuY2hpbGRyZW4uaW5kZXhPZihsaXN0KTtcbiAgICByZXR1cm4gaSA+IDAgPyB0aGlzLmNoaWxkcmVuW2kgLSAxXSA6IG51bGw7XG4gIH1cblxuICBnZXROZXh0U2libGluZ09mKGxpc3Q6IExpc3QpIHtcbiAgICBjb25zdCBpID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGxpc3QpO1xuICAgIHJldHVybiBpID49IDAgJiYgaSA8IHRoaXMuY2hpbGRyZW4ubGVuZ3RoID8gdGhpcy5jaGlsZHJlbltpICsgMV0gOiBudWxsO1xuICB9XG5cbiAgaXNFbXB0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwcmludCgpIHtcbiAgICBsZXQgcmVzID0gXCJcIjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5saW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgcmVzICs9XG4gICAgICAgIGkgPT09IDBcbiAgICAgICAgICA/IHRoaXMuaW5kZW50ICsgdGhpcy5idWxsZXQgKyB0aGlzLnNwYWNlQWZ0ZXJCdWxsZXRcbiAgICAgICAgICA6IHRoaXMubm90ZXNJbmRlbnQ7XG4gICAgICByZXMgKz0gdGhpcy5saW5lc1tpXTtcbiAgICAgIHJlcyArPSBcIlxcblwiO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgcmVzICs9IGNoaWxkLnByaW50KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGNsb25lKG5ld1Jvb3Q6IFJvb3QpIHtcbiAgICBjb25zdCBjbG9uZSA9IG5ldyBMaXN0KFxuICAgICAgbmV3Um9vdCxcbiAgICAgIHRoaXMuaW5kZW50LFxuICAgICAgdGhpcy5idWxsZXQsXG4gICAgICB0aGlzLm9wdGlvbmFsQ2hlY2tib3gsXG4gICAgICB0aGlzLnNwYWNlQWZ0ZXJCdWxsZXQsXG4gICAgICBcIlwiLFxuICAgICAgdGhpcy5mb2xkUm9vdFxuICAgICk7XG4gICAgY2xvbmUuaWQgPSB0aGlzLmlkO1xuICAgIGNsb25lLmxpbmVzID0gdGhpcy5saW5lcy5jb25jYXQoKTtcbiAgICBjbG9uZS5ub3Rlc0luZGVudCA9IHRoaXMubm90ZXNJbmRlbnQ7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICBjbG9uZS5hZGRBZnRlckFsbChjaGlsZC5jbG9uZShuZXdSb290KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSb290IHtcbiAgcHJpdmF0ZSByb290TGlzdCA9IG5ldyBMaXN0KHRoaXMsIFwiXCIsIFwiXCIsIFwiXCIsIFwiXCIsIFwiXCIsIGZhbHNlKTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25zOiBSYW5nZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGFydDogUG9zaXRpb24sXG4gICAgcHJpdmF0ZSBlbmQ6IFBvc2l0aW9uLFxuICAgIHNlbGVjdGlvbnM6IFJhbmdlW11cbiAgKSB7XG4gICAgdGhpcy5yZXBsYWNlU2VsZWN0aW9ucyhzZWxlY3Rpb25zKTtcbiAgfVxuXG4gIGdldFJvb3RMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvb3RMaXN0O1xuICB9XG5cbiAgZ2V0Q29udGVudFJhbmdlKCk6IFtQb3NpdGlvbiwgUG9zaXRpb25dIHtcbiAgICByZXR1cm4gW3RoaXMuZ2V0Q29udGVudFN0YXJ0KCksIHRoaXMuZ2V0Q29udGVudEVuZCgpXTtcbiAgfVxuXG4gIGdldENvbnRlbnRTdGFydCgpOiBQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdGFydCB9O1xuICB9XG5cbiAgZ2V0Q29udGVudEVuZCgpOiBQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5lbmQgfTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbnMoKTogUmFuZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9ucy5tYXAoKHMpID0+ICh7XG4gICAgICBhbmNob3I6IHsgLi4ucy5hbmNob3IgfSxcbiAgICAgIGhlYWQ6IHsgLi4ucy5oZWFkIH0sXG4gICAgfSkpO1xuICB9XG5cbiAgaGFzU2luZ2xlQ3Vyc29yKCkge1xuICAgIGlmICghdGhpcy5oYXNTaW5nbGVTZWxlY3Rpb24oKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uc1swXTtcblxuICAgIHJldHVybiAoXG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmxpbmUgPT09IHNlbGVjdGlvbi5oZWFkLmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbi5hbmNob3IuY2ggPT09IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgKTtcbiAgfVxuXG4gIGhhc1NpbmdsZVNlbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldFNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbnNbdGhpcy5zZWxlY3Rpb25zLmxlbmd0aCAtIDFdO1xuXG4gICAgY29uc3QgZnJvbSA9XG4gICAgICBzZWxlY3Rpb24uYW5jaG9yLmNoID4gc2VsZWN0aW9uLmhlYWQuY2hcbiAgICAgICAgPyBzZWxlY3Rpb24uaGVhZC5jaFxuICAgICAgICA6IHNlbGVjdGlvbi5hbmNob3IuY2g7XG4gICAgY29uc3QgdG8gPVxuICAgICAgc2VsZWN0aW9uLmFuY2hvci5jaCA+IHNlbGVjdGlvbi5oZWFkLmNoXG4gICAgICAgID8gc2VsZWN0aW9uLmFuY2hvci5jaFxuICAgICAgICA6IHNlbGVjdGlvbi5oZWFkLmNoO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNlbGVjdGlvbixcbiAgICAgIGZyb20sXG4gICAgICB0byxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q3Vyc29yKCkge1xuICAgIHJldHVybiB7IC4uLnRoaXMuc2VsZWN0aW9uc1t0aGlzLnNlbGVjdGlvbnMubGVuZ3RoIC0gMV0uaGVhZCB9O1xuICB9XG5cbiAgcmVwbGFjZUN1cnNvcihjdXJzb3I6IFBvc2l0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gW3sgYW5jaG9yOiBjdXJzb3IsIGhlYWQ6IGN1cnNvciB9XTtcbiAgfVxuXG4gIHJlcGxhY2VTZWxlY3Rpb25zKHNlbGVjdGlvbnM6IFJhbmdlW10pIHtcbiAgICBpZiAoc2VsZWN0aW9ucy5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBjcmVhdGUgUm9vdCB3aXRob3V0IHNlbGVjdGlvbnNgKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gc2VsZWN0aW9ucztcbiAgfVxuXG4gIGdldExpc3RVbmRlckN1cnNvcigpOiBMaXN0IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaXN0VW5kZXJMaW5lKHRoaXMuZ2V0Q3Vyc29yKCkubGluZSk7XG4gIH1cblxuICBnZXRMaXN0VW5kZXJMaW5lKGxpbmU6IG51bWJlcikge1xuICAgIGlmIChsaW5lIDwgdGhpcy5zdGFydC5saW5lIHx8IGxpbmUgPiB0aGlzLmVuZC5saW5lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdDogTGlzdCA9IG51bGw7XG4gICAgbGV0IGluZGV4OiBudW1iZXIgPSB0aGlzLnN0YXJ0LmxpbmU7XG5cbiAgICBjb25zdCB2aXNpdEFyciA9IChsbDogTGlzdFtdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGwgb2YgbGwpIHtcbiAgICAgICAgY29uc3QgbGlzdEZyb21MaW5lID0gaW5kZXg7XG4gICAgICAgIGNvbnN0IGxpc3RUaWxsTGluZSA9IGxpc3RGcm9tTGluZSArIGwuZ2V0TGluZUNvdW50KCkgLSAxO1xuXG4gICAgICAgIGlmIChsaW5lID49IGxpc3RGcm9tTGluZSAmJiBsaW5lIDw9IGxpc3RUaWxsTGluZSkge1xuICAgICAgICAgIHJlc3VsdCA9IGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW5kZXggPSBsaXN0VGlsbExpbmUgKyAxO1xuICAgICAgICAgIHZpc2l0QXJyKGwuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB2aXNpdEFycih0aGlzLnJvb3RMaXN0LmdldENoaWxkcmVuKCkpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdDogTGlzdCk6IFtudW1iZXIsIG51bWJlcl0gfCBudWxsIHtcbiAgICBsZXQgcmVzdWx0OiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxpbmU6IG51bWJlciA9IHRoaXMuc3RhcnQubGluZTtcblxuICAgIGNvbnN0IHZpc2l0QXJyID0gKGxsOiBMaXN0W10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgbCBvZiBsbCkge1xuICAgICAgICBjb25zdCBsaXN0RnJvbUxpbmUgPSBsaW5lO1xuICAgICAgICBjb25zdCBsaXN0VGlsbExpbmUgPSBsaXN0RnJvbUxpbmUgKyBsLmdldExpbmVDb3VudCgpIC0gMTtcblxuICAgICAgICBpZiAobCA9PT0gbGlzdCkge1xuICAgICAgICAgIHJlc3VsdCA9IFtsaXN0RnJvbUxpbmUsIGxpc3RUaWxsTGluZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGluZSA9IGxpc3RUaWxsTGluZSArIDE7XG4gICAgICAgICAgdmlzaXRBcnIobC5nZXRDaGlsZHJlbigpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmlzaXRBcnIodGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gdGhpcy5yb290TGlzdC5nZXRDaGlsZHJlbigpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMucm9vdExpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgcmVzICs9IGNoaWxkLnByaW50KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5yZXBsYWNlKC9cXG4kLywgXCJcIik7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICBjb25zdCBjbG9uZSA9IG5ldyBSb290KFxuICAgICAgeyAuLi50aGlzLnN0YXJ0IH0sXG4gICAgICB7IC4uLnRoaXMuZW5kIH0sXG4gICAgICB0aGlzLmdldFNlbGVjdGlvbnMoKVxuICAgICk7XG4gICAgY2xvbmUucm9vdExpc3QgPSB0aGlzLnJvb3RMaXN0LmNsb25lKGNsb25lKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQge1xuICBMaXN0LFxuICBMaXN0TGluZSxcbiAgUG9zaXRpb24sXG4gIFJvb3QsXG4gIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMsXG59IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZCBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzSW5mbygpO1xuXG4gICAgY29uc3QgbGluZU5vID0gbGluZXMuZmluZEluZGV4KFxuICAgICAgKGwpID0+IGN1cnNvci5jaCA9PT0gbC5mcm9tLmNoICYmIGN1cnNvci5saW5lID09PSBsLmZyb20ubGluZVxuICAgICk7XG5cbiAgICBpZiAobGluZU5vID09PSAwKSB7XG4gICAgICB0aGlzLm1lcmdlV2l0aFByZXZpb3VzSXRlbShyb290LCBjdXJzb3IsIGxpc3QpO1xuICAgIH0gZWxzZSBpZiAobGluZU5vID4gMCkge1xuICAgICAgdGhpcy5tZXJnZU5vdGVzKHJvb3QsIGN1cnNvciwgbGlzdCwgbGluZXMsIGxpbmVObyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZU5vdGVzKFxuICAgIHJvb3Q6IFJvb3QsXG4gICAgY3Vyc29yOiBQb3NpdGlvbixcbiAgICBsaXN0OiBMaXN0LFxuICAgIGxpbmVzOiBMaXN0TGluZVtdLFxuICAgIGxpbmVObzogbnVtYmVyXG4gICkge1xuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgcHJldkxpbmVObyA9IGxpbmVObyAtIDE7XG5cbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgLSAxLFxuICAgICAgY2g6IGxpbmVzW3ByZXZMaW5lTm9dLnRleHQubGVuZ3RoICsgbGluZXNbcHJldkxpbmVOb10uZnJvbS5jaCxcbiAgICB9KTtcblxuICAgIGxpbmVzW3ByZXZMaW5lTm9dLnRleHQgKz0gbGluZXNbbGluZU5vXS50ZXh0O1xuICAgIGxpbmVzLnNwbGljZShsaW5lTm8sIDEpO1xuXG4gICAgbGlzdC5yZXBsYWNlTGluZXMobGluZXMubWFwKChsKSA9PiBsLnRleHQpKTtcbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VXaXRoUHJldmlvdXNJdGVtKHJvb3Q6IFJvb3QsIGN1cnNvcjogUG9zaXRpb24sIGxpc3Q6IExpc3QpIHtcbiAgICBpZiAocm9vdC5nZXRDaGlsZHJlbigpWzBdID09PSBsaXN0ICYmIGxpc3QuaXNFbXB0eSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgcHJldiA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShjdXJzb3IubGluZSAtIDEpO1xuXG4gICAgaWYgKCFwcmV2KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYm90aEFyZUVtcHR5ID0gcHJldi5pc0VtcHR5KCkgJiYgbGlzdC5pc0VtcHR5KCk7XG4gICAgY29uc3QgcHJldklzRW1wdHlBbmRTYW1lTGV2ZWwgPVxuICAgICAgcHJldi5pc0VtcHR5KCkgJiYgIWxpc3QuaXNFbXB0eSgpICYmIHByZXYuZ2V0TGV2ZWwoKSA9PT0gbGlzdC5nZXRMZXZlbCgpO1xuICAgIGNvbnN0IGxpc3RJc0VtcHR5QW5kUHJldklzUGFyZW50ID1cbiAgICAgIGxpc3QuaXNFbXB0eSgpICYmIHByZXYuZ2V0TGV2ZWwoKSA9PT0gbGlzdC5nZXRMZXZlbCgpIC0gMTtcblxuICAgIGlmIChib3RoQXJlRW1wdHkgfHwgcHJldklzRW1wdHlBbmRTYW1lTGV2ZWwgfHwgbGlzdElzRW1wdHlBbmRQcmV2SXNQYXJlbnQpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgICBjb25zdCBwcmV2RW5kID0gcHJldi5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKTtcblxuICAgICAgaWYgKCFwcmV2LmdldE5vdGVzSW5kZW50KCkgJiYgbGlzdC5nZXROb3Rlc0luZGVudCgpKSB7XG4gICAgICAgIHByZXYuc2V0Tm90ZXNJbmRlbnQoXG4gICAgICAgICAgcHJldi5nZXRGaXJzdExpbmVJbmRlbnQoKSArXG4gICAgICAgICAgICBsaXN0LmdldE5vdGVzSW5kZW50KCkuc2xpY2UobGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGgpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9sZExpbmVzID0gcHJldi5nZXRMaW5lcygpO1xuICAgICAgY29uc3QgbmV3TGluZXMgPSBsaXN0LmdldExpbmVzKCk7XG4gICAgICBvbGRMaW5lc1tvbGRMaW5lcy5sZW5ndGggLSAxXSArPSBuZXdMaW5lc1swXTtcbiAgICAgIGNvbnN0IHJlc3VsdExpbmVzID0gb2xkTGluZXMuY29uY2F0KG5ld0xpbmVzLnNsaWNlKDEpKTtcblxuICAgICAgcHJldi5yZXBsYWNlTGluZXMocmVzdWx0TGluZXMpO1xuICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IGMgb2YgbGlzdC5nZXRDaGlsZHJlbigpKSB7XG4gICAgICAgIGxpc3QucmVtb3ZlQ2hpbGQoYyk7XG4gICAgICAgIHByZXYuYWRkQWZ0ZXJBbGwoYyk7XG4gICAgICB9XG5cbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihwcmV2RW5kKTtcblxuICAgICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgRGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmQgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9EZWxldGVUaWxsUHJldmlvdXNMaW5lQ29udGVudEVuZFwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgaW1lRGV0ZWN0b3I6IElNRURldGVjdG9yLFxuICAgIHByaXZhdGUgb3BlcmF0aW9uUGVyZm9ybWVyOiBPcGVyYXRpb25QZXJmb3JtZXJcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBrZXltYXAub2YoW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcIkJhY2tzcGFjZVwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ICE9PSBcIm5ldmVyXCIgJiZcbiAgICAgICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmQocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jb25zdCBCRVRURVJfTElTVFNfQk9EWV9DTEFTUyA9IFwib3V0bGluZXItcGx1Z2luLWJldHRlci1saXN0c1wiO1xuXG5leHBvcnQgY2xhc3MgQmV0dGVyTGlzdHNTdHlsZXMgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgcHJpdmF0ZSB1cGRhdGVCb2R5Q2xhc3NJbnRlcnZhbDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgb2JzaWRpYW5TZXR0aW5nczogT2JzaWRpYW5TZXR0aW5nc1xuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnVwZGF0ZUJvZHlDbGFzcygpO1xuICAgIHRoaXMudXBkYXRlQm9keUNsYXNzSW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVCb2R5Q2xhc3MoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlQm9keUNsYXNzSW50ZXJ2YWwpO1xuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShCRVRURVJfTElTVFNfQk9EWV9DTEFTUyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJvZHlDbGFzcyA9ICgpID0+IHtcbiAgICBjb25zdCBzaG91bGRFeGlzdHMgPVxuICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpICYmXG4gICAgICB0aGlzLnNldHRpbmdzLmJldHRlckxpc3RzU3R5bGVzO1xuICAgIGNvbnN0IGV4aXN0cyA9IGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKEJFVFRFUl9MSVNUU19CT0RZX0NMQVNTKTtcblxuICAgIGlmIChzaG91bGRFeGlzdHMgJiYgIWV4aXN0cykge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKEJFVFRFUl9MSVNUU19CT0RZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoIXNob3VsZEV4aXN0cyAmJiBleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShCRVRURVJfTElTVFNfQk9EWV9DTEFTUyk7XG4gICAgfVxuICB9O1xufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QsIG1heFBvcywgbWluUG9zIH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEFsbENvbnRlbnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlU2VsZWN0aW9uKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSByb290LmdldFNlbGVjdGlvbnMoKVswXTtcbiAgICBjb25zdCBbcm9vdFN0YXJ0LCByb290RW5kXSA9IHJvb3QuZ2V0Q29udGVudFJhbmdlKCk7XG5cbiAgICBjb25zdCBzZWxlY3Rpb25Gcm9tID0gbWluUG9zKHNlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5oZWFkKTtcbiAgICBjb25zdCBzZWxlY3Rpb25UbyA9IG1heFBvcyhzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uaGVhZCk7XG5cbiAgICBpZiAoXG4gICAgICBzZWxlY3Rpb25Gcm9tLmxpbmUgPCByb290U3RhcnQubGluZSB8fFxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA+IHJvb3RFbmQubGluZVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA9PT0gcm9vdFN0YXJ0LmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbkZyb20uY2ggPT09IHJvb3RTdGFydC5jaCAmJlxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA9PT0gcm9vdEVuZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Uby5jaCA9PT0gcm9vdEVuZC5jaFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGFydCA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpO1xuICAgIGNvbnN0IGNvbnRlbnRFbmQgPSBsaXN0LmdldExhc3RMaW5lQ29udGVudEVuZCgpO1xuXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uRnJvbS5saW5lIDwgY29udGVudFN0YXJ0LmxpbmUgfHxcbiAgICAgIHNlbGVjdGlvblRvLmxpbmUgPiBjb250ZW50RW5kLmxpbmVcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbkZyb20ubGluZSA9PT0gY29udGVudFN0YXJ0LmxpbmUgJiZcbiAgICAgIHNlbGVjdGlvbkZyb20uY2ggPT09IGNvbnRlbnRTdGFydC5jaCAmJlxuICAgICAgc2VsZWN0aW9uVG8ubGluZSA9PT0gY29udGVudEVuZC5saW5lICYmXG4gICAgICBzZWxlY3Rpb25Uby5jaCA9PT0gY29udGVudEVuZC5jaFxuICAgICkge1xuICAgICAgLy8gc2VsZWN0IHdob2xlIGxpc3RcbiAgICAgIHJvb3QucmVwbGFjZVNlbGVjdGlvbnMoW3sgYW5jaG9yOiByb290U3RhcnQsIGhlYWQ6IHJvb3RFbmQgfV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBzZWxlY3Qgd2hvbGUgbGluZVxuICAgICAgcm9vdC5yZXBsYWNlU2VsZWN0aW9ucyhbeyBhbmNob3I6IGNvbnRlbnRTdGFydCwgaGVhZDogY29udGVudEVuZCB9XSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgU2VsZWN0QWxsQ29udGVudCB9IGZyb20gXCIuLi9vcGVyYXRpb25zL1NlbGVjdEFsbENvbnRlbnRcIjtcbmltcG9ydCB7IElNRURldGVjdG9yIH0gZnJvbSBcIi4uL3NlcnZpY2VzL0lNRURldGVjdG9yXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEN0cmxBQW5kQ21kQUJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJjLWFcIixcbiAgICAgICAgICBtYWM6IFwibS1hXCIsXG4gICAgICAgICAgcnVuOiBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXIgJiYgIXRoaXMuaW1lRGV0ZWN0b3IuaXNPcGVuZWQoKVxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBTZWxlY3RBbGxDb250ZW50KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IERlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kIH0gZnJvbSBcIi4vRGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmRcIjtcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIERlbGV0ZVRpbGxOZXh0TGluZUNvbnRlbnRTdGFydCBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgZGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmQ6IERlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge1xuICAgIHRoaXMuZGVsZXRlVGlsbFByZXZpb3VzTGluZUNvbnRlbnRFbmQgPVxuICAgICAgbmV3IERlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kKHJvb3QpO1xuICB9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnNob3VsZFN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnNob3VsZFVwZGF0ZSgpO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleChcbiAgICAgIChsKSA9PiBjdXJzb3IuY2ggPT09IGwudG8uY2ggJiYgY3Vyc29yLmxpbmUgPT09IGwudG8ubGluZVxuICAgICk7XG5cbiAgICBpZiAobGluZU5vID09PSBsaW5lcy5sZW5ndGggLSAxKSB7XG4gICAgICBjb25zdCBuZXh0TGluZSA9IGxpbmVzW2xpbmVOb10udG8ubGluZSArIDE7XG4gICAgICBjb25zdCBuZXh0TGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShuZXh0TGluZSk7XG4gICAgICBpZiAoIW5leHRMaXN0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJvb3QucmVwbGFjZUN1cnNvcihuZXh0TGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKSk7XG4gICAgICB0aGlzLmRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnBlcmZvcm0oKTtcbiAgICB9IGVsc2UgaWYgKGxpbmVObyA+PSAwKSB7XG4gICAgICByb290LnJlcGxhY2VDdXJzb3IobGluZXNbbGluZU5vICsgMV0uZnJvbSk7XG4gICAgICB0aGlzLmRlbGV0ZVRpbGxQcmV2aW91c0xpbmVDb250ZW50RW5kLnBlcmZvcm0oKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgRGVsZXRlVGlsbE5leHRMaW5lQ29udGVudFN0YXJ0IH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvRGVsZXRlVGlsbE5leHRMaW5lQ29udGVudFN0YXJ0XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uUGVyZm9ybWVyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09wZXJhdGlvblBlcmZvcm1lclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcbmltcG9ydCB7IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVCZWhhdmlvdXJPdmVycmlkZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBpbWVEZXRlY3RvcjogSU1FRGV0ZWN0b3IsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIGtleW1hcC5vZihbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiRGVsZXRlXCIsXG4gICAgICAgICAgcnVuOiBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayh7XG4gICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2V0dGluZ3Mua2VlcEN1cnNvcldpdGhpbkNvbnRlbnQgIT09IFwibmV2ZXJcIiAmJlxuICAgICAgIXRoaXMuaW1lRGV0ZWN0b3IuaXNPcGVuZWQoKVxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBydW4gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBEZWxldGVUaWxsTmV4dExpbmVDb250ZW50U3RhcnQocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IExpc3QsIFJvb3QsIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5pbnRlcmZhY2UgQ3Vyc29yQW5jaG9yIHtcbiAgY3Vyc29yTGlzdDogTGlzdDtcbiAgbGluZURpZmY6IG51bWJlcjtcbiAgY2hEaWZmOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBNb3ZlTGlzdFRvRGlmZmVyZW50UG9zaXRpb24gaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvb3Q6IFJvb3QsXG4gICAgcHJpdmF0ZSBsaXN0VG9Nb3ZlOiBMaXN0LFxuICAgIHByaXZhdGUgcGxhY2VUb01vdmU6IExpc3QsXG4gICAgcHJpdmF0ZSB3aGVyZVRvTW92ZTogXCJiZWZvcmVcIiB8IFwiYWZ0ZXJcIiB8IFwiaW5zaWRlXCIsXG4gICAgcHJpdmF0ZSBkZWZhdWx0SW5kZW50Q2hhcnM6IHN0cmluZ1xuICApIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBpZiAodGhpcy5saXN0VG9Nb3ZlID09PSB0aGlzLnBsYWNlVG9Nb3ZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG5cbiAgICBjb25zdCBjdXJzb3JBbmNob3IgPSB0aGlzLmNhbGN1bGF0ZUN1cnNvckFuY2hvcigpO1xuICAgIHRoaXMubW92ZUxpc3QoKTtcbiAgICB0aGlzLmNoYW5nZUluZGVudCgpO1xuICAgIHRoaXMucmVzdG9yZUN1cnNvcihjdXJzb3JBbmNob3IpO1xuICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHModGhpcy5yb290KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlQ3Vyc29yQW5jaG9yKCk6IEN1cnNvckFuY2hvciB7XG4gICAgY29uc3QgY3Vyc29yTGluZSA9IHRoaXMucm9vdC5nZXRDdXJzb3IoKS5saW5lO1xuXG4gICAgY29uc3QgbGluZXMgPSBbXG4gICAgICB0aGlzLmxpc3RUb01vdmUuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSxcbiAgICAgIHRoaXMubGlzdFRvTW92ZS5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKS5saW5lLFxuICAgICAgdGhpcy5wbGFjZVRvTW92ZS5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lLFxuICAgICAgdGhpcy5wbGFjZVRvTW92ZS5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKS5saW5lLFxuICAgIF07XG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZSA9IE1hdGgubWluKC4uLmxpbmVzKTtcbiAgICBjb25zdCBsaXN0RW5kTGluZSA9IE1hdGgubWF4KC4uLmxpbmVzKTtcblxuICAgIGlmIChjdXJzb3JMaW5lIDwgbGlzdFN0YXJ0TGluZSB8fCBjdXJzb3JMaW5lID4gbGlzdEVuZExpbmUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnNvciA9IHRoaXMucm9vdC5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBjdXJzb3JMaXN0ID0gdGhpcy5yb290LmdldExpc3RVbmRlckxpbmUoY3Vyc29yLmxpbmUpO1xuICAgIGNvbnN0IGN1cnNvckxpc3RTdGFydCA9IGN1cnNvckxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk7XG4gICAgY29uc3QgbGluZURpZmYgPSBjdXJzb3IubGluZSAtIGN1cnNvckxpc3RTdGFydC5saW5lO1xuICAgIGNvbnN0IGNoRGlmZiA9IGN1cnNvci5jaCAtIGN1cnNvckxpc3RTdGFydC5jaDtcblxuICAgIHJldHVybiB7IGN1cnNvckxpc3QsIGxpbmVEaWZmLCBjaERpZmYgfTtcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUxpc3QoKSB7XG4gICAgdGhpcy5saXN0VG9Nb3ZlLmdldFBhcmVudCgpLnJlbW92ZUNoaWxkKHRoaXMubGlzdFRvTW92ZSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMud2hlcmVUb01vdmUpIHtcbiAgICAgIGNhc2UgXCJiZWZvcmVcIjpcbiAgICAgICAgdGhpcy5wbGFjZVRvTW92ZVxuICAgICAgICAgIC5nZXRQYXJlbnQoKVxuICAgICAgICAgIC5hZGRCZWZvcmUodGhpcy5wbGFjZVRvTW92ZSwgdGhpcy5saXN0VG9Nb3ZlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgXCJhZnRlclwiOlxuICAgICAgICB0aGlzLnBsYWNlVG9Nb3ZlXG4gICAgICAgICAgLmdldFBhcmVudCgpXG4gICAgICAgICAgLmFkZEFmdGVyKHRoaXMucGxhY2VUb01vdmUsIHRoaXMubGlzdFRvTW92ZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiaW5zaWRlXCI6XG4gICAgICAgIHRoaXMucGxhY2VUb01vdmUuYWRkQmVmb3JlQWxsKHRoaXMubGlzdFRvTW92ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5kZW50KCkge1xuICAgIGNvbnN0IG9sZEluZGVudCA9IHRoaXMubGlzdFRvTW92ZS5nZXRGaXJzdExpbmVJbmRlbnQoKTtcbiAgICBjb25zdCBuZXdJbmRlbnQgPVxuICAgICAgdGhpcy53aGVyZVRvTW92ZSA9PT0gXCJpbnNpZGVcIlxuICAgICAgICA/IHRoaXMucGxhY2VUb01vdmUuZ2V0Rmlyc3RMaW5lSW5kZW50KCkgKyB0aGlzLmRlZmF1bHRJbmRlbnRDaGFyc1xuICAgICAgICA6IHRoaXMucGxhY2VUb01vdmUuZ2V0Rmlyc3RMaW5lSW5kZW50KCk7XG4gICAgdGhpcy5saXN0VG9Nb3ZlLnVuaW5kZW50Q29udGVudCgwLCBvbGRJbmRlbnQubGVuZ3RoKTtcbiAgICB0aGlzLmxpc3RUb01vdmUuaW5kZW50Q29udGVudCgwLCBuZXdJbmRlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlQ3Vyc29yKGN1cnNvckFuY2hvcjogQ3Vyc29yQW5jaG9yKSB7XG4gICAgaWYgKGN1cnNvckFuY2hvcikge1xuICAgICAgY29uc3QgY3Vyc29yTGlzdFN0YXJ0ID1cbiAgICAgICAgY3Vyc29yQW5jaG9yLmN1cnNvckxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk7XG5cbiAgICAgIHRoaXMucm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgICAgbGluZTogY3Vyc29yTGlzdFN0YXJ0LmxpbmUgKyBjdXJzb3JBbmNob3IubGluZURpZmYsXG4gICAgICAgIGNoOiBjdXJzb3JMaXN0U3RhcnQuY2ggKyBjdXJzb3JBbmNob3IuY2hEaWZmLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdoZW4geW91IG1vdmUgYSBsaXN0LCB0aGUgc2NyZWVuIHNjcm9sbHMgdG8gdGhlIGN1cnNvci5cbiAgICAgIC8vIEl0IGlzIGJldHRlciB0byBtb3ZlIHRoZSBjdXJzb3IgaW50byB0aGUgdmlld3BvcnQgdGhhbiBsZXQgdGhlIHNjcmVlbiBzY3JvbGwuXG4gICAgICB0aGlzLnJvb3QucmVwbGFjZUN1cnNvcih0aGlzLmxpc3RUb01vdmUuZ2V0TGFzdExpbmVDb250ZW50RW5kKCkpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgTm90aWNlLCBQbGF0Zm9ybSwgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgZ2V0SW5kZW50VW5pdCwgaW5kZW50U3RyaW5nIH0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBTdGF0ZUVmZmVjdCwgU3RhdGVGaWVsZCB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsgRGVjb3JhdGlvbiwgRGVjb3JhdGlvblNldCwgRWRpdG9yVmlldyB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yLCBnZXRFZGl0b3JGcm9tU3RhdGUgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBNb3ZlTGlzdFRvRGlmZmVyZW50UG9zaXRpb24gfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9Nb3ZlTGlzdFRvRGlmZmVyZW50UG9zaXRpb25cIjtcbmltcG9ydCB7IExpc3QsIFJvb3QsIGNtcFBvcyB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBPYnNpZGlhblNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2V0dGluZ3NcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QYXJzZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5cbmNvbnN0IEJPRFlfQ0xBU1MgPSBcIm91dGxpbmVyLXBsdWdpbi1kbmRcIjtcblxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIHByaXZhdGUgZHJvcFpvbmU6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIGRyb3Bab25lUGFkZGluZzogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgcHJlU3RhcnQ6IERyYWdBbmREcm9wUHJlU3RhcnRTdGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXRlOiBEcmFnQW5kRHJvcFN0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgb2Jpc2lkaWFuOiBPYnNpZGlhblNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihbXG4gICAgICBkcmFnZ2luZ0xpbmVzU3RhdGVGaWVsZCxcbiAgICAgIGRyb3BwaW5nTGluZXNTdGF0ZUZpZWxkLFxuICAgIF0pO1xuICAgIHRoaXMuZW5hYmxlRmVhdHVyZVRvZ2dsZSgpO1xuICAgIHRoaXMuY3JlYXRlRHJvcFpvbmUoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMucmVtb3ZlRHJvcFpvbmUoKTtcbiAgICB0aGlzLmRpc2FibGVGZWF0dXJlVG9nZ2xlKCk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUZlYXR1cmVUb2dnbGUoKSB7XG4gICAgdGhpcy5zZXR0aW5ncy5vbkNoYW5nZSh0aGlzLmhhbmRsZVNldHRpbmdzQ2hhbmdlKTtcbiAgICB0aGlzLmhhbmRsZVNldHRpbmdzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVGZWF0dXJlVG9nZ2xlKCkge1xuICAgIHRoaXMuc2V0dGluZ3MucmVtb3ZlQ2FsbGJhY2sodGhpcy5oYW5kbGVTZXR0aW5nc0NoYW5nZSk7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKEJPRFlfQ0xBU1MpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEcm9wWm9uZSgpIHtcbiAgICB0aGlzLmRyb3Bab25lUGFkZGluZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgdGhpcy5kcm9wWm9uZVBhZGRpbmcuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1kcm9wLXpvbmUtcGFkZGluZ1wiKTtcbiAgICB0aGlzLmRyb3Bab25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLmRyb3Bab25lLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tZHJvcC16b25lXCIpO1xuICAgIHRoaXMuZHJvcFpvbmUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIHRoaXMuZHJvcFpvbmUuYXBwZW5kQ2hpbGQodGhpcy5kcm9wWm9uZVBhZGRpbmcpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5kcm9wWm9uZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURyb3Bab25lKCkge1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5kcm9wWm9uZSk7XG4gICAgdGhpcy5kcm9wWm9uZVBhZGRpbmcgPSBudWxsO1xuICAgIHRoaXMuZHJvcFpvbmUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVycygpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlTW91c2VEb3duLCB7XG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5oYW5kbGVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZU1vdXNlRG93biwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIHRoaXMuaGFuZGxlTW91c2VNb3ZlKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLmhhbmRsZU1vdXNlVXApO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMuaGFuZGxlS2V5RG93bik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNldHRpbmdzQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmICghaXNGZWF0dXJlU3VwcG9ydGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5kcmFnQW5kRHJvcCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKEJPRFlfQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoQk9EWV9DTEFTUyk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlTW91c2VEb3duID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAoXG4gICAgICAhaXNGZWF0dXJlU3VwcG9ydGVkKCkgfHxcbiAgICAgICF0aGlzLnNldHRpbmdzLmRyYWdBbmREcm9wIHx8XG4gICAgICAhaXNDbGlja09uQnVsbGV0KGUpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmlldyA9IGdldEVkaXRvclZpZXdGcm9tSFRNTEVsZW1lbnQoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGlmICghdmlldykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5wcmVTdGFydCA9IHtcbiAgICAgIHg6IGUueCxcbiAgICAgIHk6IGUueSxcbiAgICAgIHZpZXcsXG4gICAgfTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZU1vdXNlTW92ZSA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgaWYgKHRoaXMucHJlU3RhcnQpIHtcbiAgICAgIHRoaXMuc3RhcnREcmFnZ2luZygpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGF0ZSkge1xuICAgICAgdGhpcy5kZXRlY3RBbmREcmF3RHJvcFpvbmUoZS54LCBlLnkpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZU1vdXNlVXAgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJlU3RhcnQpIHtcbiAgICAgIHRoaXMucHJlU3RhcnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGF0ZSkge1xuICAgICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAmJiBlLmNvZGUgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgIHRoaXMuY2FuY2VsRHJhZ2dpbmcoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBzdGFydERyYWdnaW5nKCkge1xuICAgIGNvbnN0IHsgeCwgeSwgdmlldyB9ID0gdGhpcy5wcmVTdGFydDtcbiAgICB0aGlzLnByZVN0YXJ0ID0gbnVsbDtcblxuICAgIGNvbnN0IGVkaXRvciA9IGdldEVkaXRvckZyb21TdGF0ZSh2aWV3LnN0YXRlKTtcbiAgICBjb25zdCBwb3MgPSBlZGl0b3Iub2Zmc2V0VG9Qb3Modmlldy5wb3NBdENvb3Jkcyh7IHgsIHkgfSkpO1xuICAgIGNvbnN0IHJvb3QgPSB0aGlzLnBhcnNlci5wYXJzZShlZGl0b3IsIHBvcyk7XG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyTGluZShwb3MubGluZSk7XG4gICAgY29uc3Qgc3RhdGUgPSBuZXcgRHJhZ0FuZERyb3BTdGF0ZSh2aWV3LCBlZGl0b3IsIHJvb3QsIGxpc3QpO1xuXG4gICAgaWYgKCFzdGF0ZS5oYXNEcm9wVmFyaWFudHMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLmhpZ2hsaWdodERyYWdnaW5nTGluZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0QW5kRHJhd0Ryb3Bab25lKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgdGhpcy5zdGF0ZS5jYWxjdWxhdGVOZWFyZXN0RHJvcFZhcmlhbnQoeCwgeSk7XG4gICAgdGhpcy5kcmF3RHJvcFpvbmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuY2VsRHJhZ2dpbmcoKSB7XG4gICAgdGhpcy5zdGF0ZS5kcm9wVmFyaWFudCA9IG51bGw7XG4gICAgdGhpcy5zdG9wRHJhZ2dpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcERyYWdnaW5nKCkge1xuICAgIHRoaXMudW5oaWdodGxpZ2h0RHJhZ2dpbmdMaW5lcygpO1xuICAgIHRoaXMuaGlkZURyb3Bab25lKCk7XG4gICAgdGhpcy5hcHBseUNoYW5nZXMoKTtcbiAgICB0aGlzLnN0YXRlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5kcm9wVmFyaWFudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc3RhdGUgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBkcm9wVmFyaWFudCwgZWRpdG9yLCByb290LCBsaXN0IH0gPSBzdGF0ZTtcblxuICAgIGNvbnN0IG5ld1Jvb3QgPSB0aGlzLnBhcnNlci5wYXJzZShlZGl0b3IsIHJvb3QuZ2V0Q29udGVudFN0YXJ0KCkpO1xuICAgIGlmICghaXNTYW1lUm9vdHMocm9vdCwgbmV3Um9vdCkpIHtcbiAgICAgIG5ldyBOb3RpY2UoXG4gICAgICAgIGBUaGUgaXRlbSBjYW5ub3QgYmUgbW92ZWQuIFRoZSBwYWdlIGNvbnRlbnQgY2hhbmdlZCBkdXJpbmcgdGhlIG1vdmUuYCxcbiAgICAgICAgNTAwMFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5ldmFsKFxuICAgICAgcm9vdCxcbiAgICAgIG5ldyBNb3ZlTGlzdFRvRGlmZmVyZW50UG9zaXRpb24oXG4gICAgICAgIHJvb3QsXG4gICAgICAgIGxpc3QsXG4gICAgICAgIGRyb3BWYXJpYW50LnBsYWNlVG9Nb3ZlLFxuICAgICAgICBkcm9wVmFyaWFudC53aGVyZVRvTW92ZSxcbiAgICAgICAgdGhpcy5vYmlzaWRpYW4uZ2V0RGVmYXVsdEluZGVudENoYXJzKClcbiAgICAgICksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHREcmFnZ2luZ0xpbmVzKCkge1xuICAgIGNvbnN0IHsgc3RhdGUgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBsaXN0LCBlZGl0b3IsIHZpZXcgfSA9IHN0YXRlO1xuXG4gICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICBjb25zdCBmcm9tTGluZSA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZTtcbiAgICBjb25zdCB0aWxsTGluZSA9IGxpc3QuZ2V0Q29udGVudEVuZEluY2x1ZGluZ0NoaWxkcmVuKCkubGluZTtcbiAgICBmb3IgKGxldCBpID0gZnJvbUxpbmU7IGkgPD0gdGlsbExpbmU7IGkrKykge1xuICAgICAgbGluZXMucHVzaChlZGl0b3IucG9zVG9PZmZzZXQoeyBsaW5lOiBpLCBjaDogMCB9KSk7XG4gICAgfVxuICAgIHZpZXcuZGlzcGF0Y2goe1xuICAgICAgZWZmZWN0czogW2RuZFN0YXJ0ZWQub2YobGluZXMpXSxcbiAgICB9KTtcblxuICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1kcmFnZ2luZ1wiKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5oaWdodGxpZ2h0RHJhZ2dpbmdMaW5lcygpIHtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJvdXRsaW5lci1wbHVnaW4tZHJhZ2dpbmdcIik7XG5cbiAgICB0aGlzLnN0YXRlLnZpZXcuZGlzcGF0Y2goe1xuICAgICAgZWZmZWN0czogW2RuZEVuZGVkLm9mKCldLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3RHJvcFpvbmUoKSB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcztcbiAgICBjb25zdCB7IHZpZXcsIGVkaXRvciwgZHJvcFZhcmlhbnQgfSA9IHN0YXRlO1xuXG4gICAgY29uc3QgbmV3UGFyZW50ID1cbiAgICAgIGRyb3BWYXJpYW50LndoZXJlVG9Nb3ZlID09PSBcImluc2lkZVwiXG4gICAgICAgID8gZHJvcFZhcmlhbnQucGxhY2VUb01vdmVcbiAgICAgICAgOiBkcm9wVmFyaWFudC5wbGFjZVRvTW92ZS5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBuZXdQYXJlbnRJc1Jvb3RMaXN0ID0gIW5ld1BhcmVudC5nZXRQYXJlbnQoKTtcblxuICAgIHtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5yb3VuZChcbiAgICAgICAgdmlldy5jb250ZW50RE9NLm9mZnNldFdpZHRoIC1cbiAgICAgICAgICAoZHJvcFZhcmlhbnQubGVmdCAtIHRoaXMuc3RhdGUubGVmdFBhZGRpbmcpXG4gICAgICApO1xuXG4gICAgICB0aGlzLmRyb3Bab25lLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICB0aGlzLmRyb3Bab25lLnN0eWxlLnRvcCA9IGRyb3BWYXJpYW50LnRvcCArIFwicHhcIjtcbiAgICAgIHRoaXMuZHJvcFpvbmUuc3R5bGUubGVmdCA9IGRyb3BWYXJpYW50LmxlZnQgKyBcInB4XCI7XG4gICAgICB0aGlzLmRyb3Bab25lLnN0eWxlLndpZHRoID0gd2lkdGggKyBcInB4XCI7XG4gICAgfVxuXG4gICAge1xuICAgICAgY29uc3QgbGV2ZWwgPSBuZXdQYXJlbnQuZ2V0TGV2ZWwoKTtcbiAgICAgIGNvbnN0IGluZGVudFdpZHRoID0gdGhpcy5zdGF0ZS50YWJXaWR0aDtcbiAgICAgIGNvbnN0IHdpZHRoID0gaW5kZW50V2lkdGggKiBsZXZlbDtcbiAgICAgIGNvbnN0IGRhc2hQYWRkaW5nID0gMztcbiAgICAgIGNvbnN0IGRhc2hXaWR0aCA9IGluZGVudFdpZHRoIC0gZGFzaFBhZGRpbmc7XG4gICAgICBjb25zdCBjb2xvciA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgXCItLWNvbG9yLWFjY2VudFwiXG4gICAgICApO1xuXG4gICAgICB0aGlzLmRyb3Bab25lUGFkZGluZy5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YDtcbiAgICAgIHRoaXMuZHJvcFpvbmVQYWRkaW5nLnN0eWxlLm1hcmdpbkxlZnQgPSBgLSR7d2lkdGh9cHhgO1xuICAgICAgdGhpcy5kcm9wWm9uZVBhZGRpbmcuc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMCR7d2lkdGh9JTIwNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDbGluZSUyMHgxJTNEJTIyMCUyMiUyMHkxJTNEJTIyMCUyMiUyMHgyJTNEJTIyJHt3aWR0aH0lMjIlMjB5MiUzRCUyMjAlMjIlMjBzdHJva2UlM0QlMjIke2NvbG9yfSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjglMjIlMjBzdHJva2UtZGFzaGFycmF5JTNEJTIyJHtkYXNoV2lkdGh9JTIwJHtkYXNoUGFkZGluZ30lMjIlMkYlM0UlM0MlMkZzdmclM0UnKWA7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS52aWV3LmRpc3BhdGNoKHtcbiAgICAgIGVmZmVjdHM6IFtcbiAgICAgICAgZG5kTW92ZWQub2YoXG4gICAgICAgICAgbmV3UGFyZW50SXNSb290TGlzdFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IGVkaXRvci5wb3NUb09mZnNldCh7XG4gICAgICAgICAgICAgICAgbGluZTogbmV3UGFyZW50LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUsXG4gICAgICAgICAgICAgICAgY2g6IDAsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlRHJvcFpvbmUoKSB7XG4gICAgdGhpcy5kcm9wWm9uZS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gIH1cbn1cblxuaW50ZXJmYWNlIERyb3BWYXJpYW50IHtcbiAgbGluZTogbnVtYmVyO1xuICBsZXZlbDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHRvcDogbnVtYmVyO1xuICBwbGFjZVRvTW92ZTogTGlzdDtcbiAgd2hlcmVUb01vdmU6IFwiYWZ0ZXJcIiB8IFwiYmVmb3JlXCIgfCBcImluc2lkZVwiO1xufVxuXG5pbnRlcmZhY2UgRHJhZ0FuZERyb3BQcmVTdGFydFN0YXRlIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHZpZXc6IEVkaXRvclZpZXc7XG59XG5cbmNsYXNzIERyYWdBbmREcm9wU3RhdGUge1xuICBwcml2YXRlIGRyb3BWYXJpYW50czogTWFwPHN0cmluZywgRHJvcFZhcmlhbnQ+ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgZHJvcFZhcmlhbnQ6IERyb3BWYXJpYW50ID0gbnVsbDtcbiAgcHVibGljIGxlZnRQYWRkaW5nID0gMDtcbiAgcHVibGljIHRhYldpZHRoID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlldzogRWRpdG9yVmlldyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yOiBNeUVkaXRvcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm9vdDogUm9vdCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFxuICApIHtcbiAgICB0aGlzLmNvbGxlY3REcm9wVmFyaWFudHMoKTtcbiAgICB0aGlzLmNhbGN1bGF0ZUxlZnRQYWRkaW5nKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVUYWJXaWR0aCgpO1xuICB9XG5cbiAgZ2V0RHJvcFZhcmlhbnRzKCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZHJvcFZhcmlhbnRzLnZhbHVlcygpKTtcbiAgfVxuXG4gIGhhc0Ryb3BWYXJpYW50cygpIHtcbiAgICByZXR1cm4gdGhpcy5kcm9wVmFyaWFudHMuc2l6ZSA+IDA7XG4gIH1cblxuICBjYWxjdWxhdGVOZWFyZXN0RHJvcFZhcmlhbnQoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHZpZXcsIGVkaXRvciB9ID0gdGhpcztcblxuICAgIGNvbnN0IGRyb3BWYXJpYW50cyA9IHRoaXMuZ2V0RHJvcFZhcmlhbnRzKCk7XG5cbiAgICBmb3IgKGNvbnN0IHYgb2YgZHJvcFZhcmlhbnRzKSB7XG4gICAgICBjb25zdCB7IHBsYWNlVG9Nb3ZlIH0gPSB2O1xuXG4gICAgICB2LmxlZnQgPSB0aGlzLmxlZnRQYWRkaW5nICsgKHYubGV2ZWwgLSAxKSAqIHRoaXMudGFiV2lkdGg7XG5cbiAgICAgIGNvbnN0IHBvc2l0aW9uQWZ0ZXJMaXN0ID1cbiAgICAgICAgdi53aGVyZVRvTW92ZSA9PT0gXCJhZnRlclwiIHx8IHYud2hlcmVUb01vdmUgPT09IFwiaW5zaWRlXCI7XG4gICAgICBjb25zdCBsaW5lID0gcG9zaXRpb25BZnRlckxpc3RcbiAgICAgICAgPyBwbGFjZVRvTW92ZS5nZXRDb250ZW50RW5kSW5jbHVkaW5nQ2hpbGRyZW4oKS5saW5lXG4gICAgICAgIDogcGxhY2VUb01vdmUuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZTtcbiAgICAgIGNvbnN0IGxpbmVQb3MgPSBlZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgICBsaW5lLFxuICAgICAgICBjaDogMCxcbiAgICAgIH0pO1xuXG4gICAgICB2LnRvcCA9IHZpZXcuY29vcmRzQXRQb3MobGluZVBvcywgLTEpLnRvcDtcblxuICAgICAgaWYgKHBvc2l0aW9uQWZ0ZXJMaXN0KSB7XG4gICAgICAgIHYudG9wICs9IHZpZXcubGluZUJsb2NrQXQobGluZVBvcykuaGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAvLyBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50XG4gICAgICB2LnRvcCAtPSA4O1xuICAgIH1cblxuICAgIGNvbnN0IG5lYXJlc3RMaW5lVG9wID0gZHJvcFZhcmlhbnRzXG4gICAgICAuc29ydCgoYSwgYikgPT4gTWF0aC5hYnMoeSAtIGEudG9wKSAtIE1hdGguYWJzKHkgLSBiLnRvcCkpXG4gICAgICAuZmlyc3QoKS50b3A7XG5cbiAgICBjb25zdCB2YXJpYW5zT25OZWFyZXN0TGluZSA9IGRyb3BWYXJpYW50cy5maWx0ZXIoXG4gICAgICAodikgPT4gTWF0aC5hYnModi50b3AgLSBuZWFyZXN0TGluZVRvcCkgPD0gNFxuICAgICk7XG5cbiAgICB0aGlzLmRyb3BWYXJpYW50ID0gdmFyaWFuc09uTmVhcmVzdExpbmVcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBNYXRoLmFicyh4IC0gYS5sZWZ0KSAtIE1hdGguYWJzKHggLSBiLmxlZnQpKVxuICAgICAgLmZpcnN0KCk7XG4gIH1cblxuICBwcml2YXRlIGFkZERyb3BWYXJpYW50KHY6IERyb3BWYXJpYW50KSB7XG4gICAgdGhpcy5kcm9wVmFyaWFudHMuc2V0KGAke3YubGluZX0gJHt2LmxldmVsfWAsIHYpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0RHJvcFZhcmlhbnRzKCkge1xuICAgIGNvbnN0IHZpc2l0ID0gKGxpc3RzOiBMaXN0W10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgcGxhY2VUb01vdmUgb2YgbGlzdHMpIHtcbiAgICAgICAgY29uc3QgbGluZUJlZm9yZSA9IHBsYWNlVG9Nb3ZlLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmU7XG4gICAgICAgIGNvbnN0IGxpbmVBZnRlciA9IHBsYWNlVG9Nb3ZlLmdldENvbnRlbnRFbmRJbmNsdWRpbmdDaGlsZHJlbigpLmxpbmUgKyAxO1xuXG4gICAgICAgIGNvbnN0IGxldmVsID0gcGxhY2VUb01vdmUuZ2V0TGV2ZWwoKTtcblxuICAgICAgICB0aGlzLmFkZERyb3BWYXJpYW50KHtcbiAgICAgICAgICBsaW5lOiBsaW5lQmVmb3JlLFxuICAgICAgICAgIGxldmVsLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIHBsYWNlVG9Nb3ZlLFxuICAgICAgICAgIHdoZXJlVG9Nb3ZlOiBcImJlZm9yZVwiLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hZGREcm9wVmFyaWFudCh7XG4gICAgICAgICAgbGluZTogbGluZUFmdGVyLFxuICAgICAgICAgIGxldmVsLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIHBsYWNlVG9Nb3ZlLFxuICAgICAgICAgIHdoZXJlVG9Nb3ZlOiBcImFmdGVyXCIsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChwbGFjZVRvTW92ZSA9PT0gdGhpcy5saXN0KSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGxhY2VUb01vdmUuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgdGhpcy5hZGREcm9wVmFyaWFudCh7XG4gICAgICAgICAgICBsaW5lOiBsaW5lQWZ0ZXIsXG4gICAgICAgICAgICBsZXZlbDogbGV2ZWwgKyAxLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIHBsYWNlVG9Nb3ZlLFxuICAgICAgICAgICAgd2hlcmVUb01vdmU6IFwiaW5zaWRlXCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmlzaXQocGxhY2VUb01vdmUuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmlzaXQodGhpcy5yb290LmdldENoaWxkcmVuKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVMZWZ0UGFkZGluZygpIHtcbiAgICB0aGlzLmxlZnRQYWRkaW5nID0gdGhpcy52aWV3LmNvb3Jkc0F0UG9zKDAsIC0xKS5sZWZ0O1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUYWJXaWR0aCgpIHtcbiAgICBjb25zdCB7IHZpZXcgfSA9IHRoaXM7XG5cbiAgICBjb25zdCBzaW5nbGVJbmRlbnQgPSBpbmRlbnRTdHJpbmcodmlldy5zdGF0ZSwgZ2V0SW5kZW50VW5pdCh2aWV3LnN0YXRlKSk7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB2aWV3LnN0YXRlLmRvYy5saW5lczsgaSsrKSB7XG4gICAgICBjb25zdCBsaW5lID0gdmlldy5zdGF0ZS5kb2MubGluZShpKTtcblxuICAgICAgaWYgKGxpbmUudGV4dC5zdGFydHNXaXRoKHNpbmdsZUluZGVudCkpIHtcbiAgICAgICAgY29uc3QgYSA9IHZpZXcuY29vcmRzQXRQb3MobGluZS5mcm9tLCAtMSk7XG4gICAgICAgIGNvbnN0IGIgPSB2aWV3LmNvb3Jkc0F0UG9zKGxpbmUuZnJvbSArIHNpbmdsZUluZGVudC5sZW5ndGgsIC0xKTtcbiAgICAgICAgdGhpcy50YWJXaWR0aCA9IGIubGVmdCAtIGEubGVmdDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudGFiV2lkdGggPSB2aWV3LmRlZmF1bHRDaGFyYWN0ZXJXaWR0aCAqIGdldEluZGVudFVuaXQodmlldy5zdGF0ZSk7XG4gIH1cbn1cblxuY29uc3QgZG5kU3RhcnRlZCA9IFN0YXRlRWZmZWN0LmRlZmluZTxudW1iZXJbXT4oe1xuICBtYXA6IChsaW5lcywgY2hhbmdlKSA9PiBsaW5lcy5tYXAoKGwpID0+IGNoYW5nZS5tYXBQb3MobCkpLFxufSk7XG5cbmNvbnN0IGRuZE1vdmVkID0gU3RhdGVFZmZlY3QuZGVmaW5lPG51bWJlciB8IG51bGw+KHtcbiAgbWFwOiAobGluZSwgY2hhbmdlKSA9PiAobGluZSAhPT0gbnVsbCA/IGNoYW5nZS5tYXBQb3MobGluZSkgOiBsaW5lKSxcbn0pO1xuXG5jb25zdCBkbmRFbmRlZCA9IFN0YXRlRWZmZWN0LmRlZmluZTx2b2lkPigpO1xuXG5jb25zdCBkcmFnZ2luZ0xpbmVEZWNvcmF0aW9uID0gRGVjb3JhdGlvbi5saW5lKHtcbiAgY2xhc3M6IFwib3V0bGluZXItcGx1Z2luLWRyYWdnaW5nLWxpbmVcIixcbn0pO1xuXG5jb25zdCBkcm9wcGluZ0xpbmVEZWNvcmF0aW9uID0gRGVjb3JhdGlvbi5saW5lKHtcbiAgY2xhc3M6IFwib3V0bGluZXItcGx1Z2luLWRyb3BwaW5nLWxpbmVcIixcbn0pO1xuXG5jb25zdCBkcmFnZ2luZ0xpbmVzU3RhdGVGaWVsZCA9IFN0YXRlRmllbGQuZGVmaW5lPERlY29yYXRpb25TZXQ+KHtcbiAgY3JlYXRlOiAoKSA9PiBEZWNvcmF0aW9uLm5vbmUsXG5cbiAgdXBkYXRlOiAoZG5kU3RhdGUsIHRyKSA9PiB7XG4gICAgZG5kU3RhdGUgPSBkbmRTdGF0ZS5tYXAodHIuY2hhbmdlcyk7XG5cbiAgICBmb3IgKGNvbnN0IGUgb2YgdHIuZWZmZWN0cykge1xuICAgICAgaWYgKGUuaXMoZG5kU3RhcnRlZCkpIHtcbiAgICAgICAgZG5kU3RhdGUgPSBkbmRTdGF0ZS51cGRhdGUoe1xuICAgICAgICAgIGFkZDogZS52YWx1ZS5tYXAoKGwpID0+IGRyYWdnaW5nTGluZURlY29yYXRpb24ucmFuZ2UobCwgbCkpLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGUuaXMoZG5kRW5kZWQpKSB7XG4gICAgICAgIGRuZFN0YXRlID0gRGVjb3JhdGlvbi5ub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkbmRTdGF0ZTtcbiAgfSxcblxuICBwcm92aWRlOiAoZikgPT4gRWRpdG9yVmlldy5kZWNvcmF0aW9ucy5mcm9tKGYpLFxufSk7XG5cbmNvbnN0IGRyb3BwaW5nTGluZXNTdGF0ZUZpZWxkID0gU3RhdGVGaWVsZC5kZWZpbmU8RGVjb3JhdGlvblNldD4oe1xuICBjcmVhdGU6ICgpID0+IERlY29yYXRpb24ubm9uZSxcblxuICB1cGRhdGU6IChkbmREcm9wcGluZ1N0YXRlLCB0cikgPT4ge1xuICAgIGRuZERyb3BwaW5nU3RhdGUgPSBkbmREcm9wcGluZ1N0YXRlLm1hcCh0ci5jaGFuZ2VzKTtcblxuICAgIGZvciAoY29uc3QgZSBvZiB0ci5lZmZlY3RzKSB7XG4gICAgICBpZiAoZS5pcyhkbmRNb3ZlZCkpIHtcbiAgICAgICAgZG5kRHJvcHBpbmdTdGF0ZSA9XG4gICAgICAgICAgZS52YWx1ZSA9PT0gbnVsbFxuICAgICAgICAgICAgPyBEZWNvcmF0aW9uLm5vbmVcbiAgICAgICAgICAgIDogRGVjb3JhdGlvbi5zZXQoZHJvcHBpbmdMaW5lRGVjb3JhdGlvbi5yYW5nZShlLnZhbHVlLCBlLnZhbHVlKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlLmlzKGRuZEVuZGVkKSkge1xuICAgICAgICBkbmREcm9wcGluZ1N0YXRlID0gRGVjb3JhdGlvbi5ub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkbmREcm9wcGluZ1N0YXRlO1xuICB9LFxuXG4gIHByb3ZpZGU6IChmKSA9PiBFZGl0b3JWaWV3LmRlY29yYXRpb25zLmZyb20oZiksXG59KTtcblxuZnVuY3Rpb24gZ2V0RWRpdG9yVmlld0Zyb21IVE1MRWxlbWVudChlOiBIVE1MRWxlbWVudCkge1xuICB3aGlsZSAoZSAmJiAhZS5jbGFzc0xpc3QuY29udGFpbnMoXCJjbS1lZGl0b3JcIikpIHtcbiAgICBlID0gZS5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgaWYgKCFlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gRWRpdG9yVmlldy5maW5kRnJvbURPTShlKTtcbn1cblxuZnVuY3Rpb24gaXNDbGlja09uQnVsbGV0KGU6IE1vdXNlRXZlbnQpIHtcbiAgbGV0IGVsID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgd2hpbGUgKGVsKSB7XG4gICAgaWYgKFxuICAgICAgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwiY20tZm9ybWF0dGluZy1saXN0XCIpIHx8XG4gICAgICBlbC5jbGFzc0xpc3QuY29udGFpbnMoXCJjbS1mb2xkLWluZGljYXRvclwiKSB8fFxuICAgICAgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwidGFzay1saXN0LWl0ZW0tY2hlY2tib3hcIilcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNTYW1lUm9vdHMoYTogUm9vdCwgYjogUm9vdCkge1xuICBjb25zdCBbYVN0YXJ0LCBhRW5kXSA9IGEuZ2V0Q29udGVudFJhbmdlKCk7XG4gIGNvbnN0IFtiU3RhcnQsIGJFbmRdID0gYi5nZXRDb250ZW50UmFuZ2UoKTtcblxuICBpZiAoY21wUG9zKGFTdGFydCwgYlN0YXJ0KSAhPT0gMCB8fCBjbXBQb3MoYUVuZCwgYkVuZCkgIT09IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gYS5wcmludCgpID09PSBiLnByaW50KCk7XG59XG5cbmZ1bmN0aW9uIGlzRmVhdHVyZVN1cHBvcnRlZCgpIHtcbiAgcmV0dXJuIFBsYXRmb3JtLmlzRGVza3RvcDtcbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgaWYgKCFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb2xkUm9vdCA9IGxpc3QuZ2V0VG9wRm9sZFJvb3QoKTtcbiAgICBjb25zdCBmaXJzdExpbmVFbmQgPSBmb2xkUm9vdC5nZXRMaW5lc0luZm8oKVswXS50bztcblxuICAgIGlmIChjdXJzb3IubGluZSA+IGZpcnN0TGluZUVuZC5saW5lKSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKGZpcnN0TGluZUVuZCk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBLZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGNvbnRlbnRTdGFydCA9IGxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0QWZ0ZXJDaGVja2JveCgpO1xuICAgIGNvbnN0IGxpbmVQcmVmaXggPVxuICAgICAgY29udGVudFN0YXJ0LmxpbmUgPT09IGN1cnNvci5saW5lXG4gICAgICAgID8gY29udGVudFN0YXJ0LmNoXG4gICAgICAgIDogbGlzdC5nZXROb3Rlc0luZGVudCgpLmxlbmd0aDtcblxuICAgIGlmIChjdXJzb3IuY2ggPCBsaW5lUHJlZml4KSB7XG4gICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuICAgICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgICAgbGluZTogY3Vyc29yLmxpbmUsXG4gICAgICAgIGNoOiBsaW5lUHJlZml4LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgVHJhbnNhY3Rpb24gfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9LZWVwQ3Vyc29yT3V0c2lkZUZvbGRlZExpbmVzXCI7XG5pbXBvcnQgeyBLZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnQgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9LZWVwQ3Vyc29yV2l0aGluTGlzdENvbnRlbnRcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9QYXJzZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5cbmV4cG9ydCBjbGFzcyBFZGl0b3JTZWxlY3Rpb25zQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIEVkaXRvclN0YXRlLnRyYW5zYWN0aW9uRXh0ZW5kZXIub2YodGhpcy50cmFuc2FjdGlvbkV4dGVuZGVyKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgdHJhbnNhY3Rpb25FeHRlbmRlciA9ICh0cjogVHJhbnNhY3Rpb24pOiBudWxsID0+IHtcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5rZWVwQ3Vyc29yV2l0aGluQ29udGVudCA9PT0gXCJuZXZlclwiIHx8ICF0ci5zZWxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvciA9IGdldEVkaXRvckZyb21TdGF0ZSh0ci5zdGFydFN0YXRlKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25zQ2hhbmdlcyhlZGl0b3IpO1xuICAgIH0sIDApO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25zQ2hhbmdlcyA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMucGFyc2VyLnBhcnNlKGVkaXRvcik7XG5cbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbmV3IEtlZXBDdXJzb3JPdXRzaWRlRm9sZGVkTGluZXMocm9vdCksXG4gICAgICAgIGVkaXRvclxuICAgICAgKTtcblxuICAgICAgaWYgKHNob3VsZFN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgIHJvb3QsXG4gICAgICBuZXcgS2VlcEN1cnNvcldpdGhpbkxpc3RDb250ZW50KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImV4cG9ydCBjb25zdCBjaGVja2JveFJlID0gYFxcXFxbW15cXFxcW1xcXFxdXVxcXFxdWyBcXHRdYDtcbiIsImV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveChsaW5lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGxpbmUgPT09IFwiXCIgfHwgbGluZSA9PT0gXCJbIF0gXCI7XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgTGlzdCwgUG9zaXRpb24sIFJvb3QsIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgY2hlY2tib3hSZSB9IGZyb20gXCIuLi91dGlscy9jaGVja2JveFJlXCI7XG5pbXBvcnQgeyBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveCB9IGZyb20gXCIuLi91dGlscy9pc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldFpvb21SYW5nZSB7XG4gIGdldFpvb21SYW5nZSgpOiB7IGZyb206IFBvc2l0aW9uOyB0bzogUG9zaXRpb24gfSB8IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVOZXdJdGVtIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb290OiBSb290LFxuICAgIHByaXZhdGUgZGVmYXVsdEluZGVudENoYXJzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBnZXRab29tUmFuZ2U6IEdldFpvb21SYW5nZVxuICApIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlU2VsZWN0aW9uKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb24gPSByb290LmdldFNlbGVjdGlvbigpO1xuICAgIGlmICghc2VsZWN0aW9uIHx8IHNlbGVjdGlvbi5hbmNob3IubGluZSAhPT0gc2VsZWN0aW9uLmhlYWQubGluZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVzID0gbGlzdC5nZXRMaW5lc0luZm8oKTtcblxuICAgIGlmIChsaW5lcy5sZW5ndGggPT09IDEgJiYgaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZXNbMF0udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxpbmVVbmRlckN1cnNvciA9IGxpbmVzLmZpbmQoKGwpID0+IGwuZnJvbS5saW5lID09PSBjdXJzb3IubGluZSk7XG5cbiAgICBpZiAoY3Vyc29yLmNoIDwgbGluZVVuZGVyQ3Vyc29yLmZyb20uY2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IG9sZExpbmVzLCBuZXdMaW5lcyB9ID0gbGluZXMucmVkdWNlKFxuICAgICAgKGFjYywgbGluZSkgPT4ge1xuICAgICAgICBpZiAoY3Vyc29yLmxpbmUgPiBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGFjYy5vbGRMaW5lcy5wdXNoKGxpbmUudGV4dCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yLmxpbmUgPT09IGxpbmUuZnJvbS5saW5lKSB7XG4gICAgICAgICAgY29uc3QgbGVmdCA9IGxpbmUudGV4dC5zbGljZSgwLCBzZWxlY3Rpb24uZnJvbSAtIGxpbmUuZnJvbS5jaCk7XG4gICAgICAgICAgY29uc3QgcmlnaHQgPSBsaW5lLnRleHQuc2xpY2Uoc2VsZWN0aW9uLnRvIC0gbGluZS5mcm9tLmNoKTtcbiAgICAgICAgICBhY2Mub2xkTGluZXMucHVzaChsZWZ0KTtcbiAgICAgICAgICBhY2MubmV3TGluZXMucHVzaChyaWdodCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3Vyc29yLmxpbmUgPCBsaW5lLmZyb20ubGluZSkge1xuICAgICAgICAgIGFjYy5uZXdMaW5lcy5wdXNoKGxpbmUudGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb2xkTGluZXM6IFtdLFxuICAgICAgICBuZXdMaW5lczogW10sXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGNvZGVCbG9ja0JhY3RpY2tzID0gb2xkTGluZXMuam9pbihcIlxcblwiKS5zcGxpdChcImBgYFwiKS5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGlzSW5zaWRlQ29kZWJsb2NrID1cbiAgICAgIGNvZGVCbG9ja0JhY3RpY2tzID4gMCAmJiBjb2RlQmxvY2tCYWN0aWNrcyAlIDIgIT09IDA7XG5cbiAgICBpZiAoaXNJbnNpZGVDb2RlYmxvY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHpvb21SYW5nZSA9IHRoaXMuZ2V0Wm9vbVJhbmdlLmdldFpvb21SYW5nZSgpO1xuICAgIGNvbnN0IGxpc3RJc1pvb21pbmdSb290ID0gQm9vbGVhbihcbiAgICAgIHpvb21SYW5nZSAmJlxuICAgICAgICBsaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUgPj0gem9vbVJhbmdlLmZyb20ubGluZSAmJlxuICAgICAgICBsaXN0LmdldExhc3RMaW5lQ29udGVudEVuZCgpLmxpbmUgPD0gem9vbVJhbmdlLmZyb20ubGluZVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICFsaXN0LmlzRW1wdHkoKTtcbiAgICBjb25zdCBjaGlsZElzRm9sZGVkID0gbGlzdC5pc0ZvbGRSb290KCk7XG4gICAgY29uc3QgZW5kUG9zID0gbGlzdC5nZXRMYXN0TGluZUNvbnRlbnRFbmQoKTtcbiAgICBjb25zdCBlbmRPZkxpbmUgPSBjdXJzb3IubGluZSA9PT0gZW5kUG9zLmxpbmUgJiYgY3Vyc29yLmNoID09PSBlbmRQb3MuY2g7XG5cbiAgICBjb25zdCBvbkNoaWxkTGV2ZWwgPVxuICAgICAgbGlzdElzWm9vbWluZ1Jvb3QgfHwgKGhhc0NoaWxkcmVuICYmICFjaGlsZElzRm9sZGVkICYmIGVuZE9mTGluZSk7XG5cbiAgICBjb25zdCBpbmRlbnQgPSBvbkNoaWxkTGV2ZWxcbiAgICAgID8gaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0Rmlyc3RMaW5lSW5kZW50KClcbiAgICAgICAgOiBsaXN0LmdldEZpcnN0TGluZUluZGVudCgpICsgdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnNcbiAgICAgIDogbGlzdC5nZXRGaXJzdExpbmVJbmRlbnQoKTtcblxuICAgIGNvbnN0IGJ1bGxldCA9XG4gICAgICBvbkNoaWxkTGV2ZWwgJiYgaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0QnVsbGV0KClcbiAgICAgICAgOiBsaXN0LmdldEJ1bGxldCgpO1xuXG4gICAgY29uc3Qgc3BhY2VBZnRlckJ1bGxldCA9XG4gICAgICBvbkNoaWxkTGV2ZWwgJiYgaGFzQ2hpbGRyZW5cbiAgICAgICAgPyBsaXN0LmdldENoaWxkcmVuKClbMF0uZ2V0U3BhY2VBZnRlckJ1bGxldCgpXG4gICAgICAgIDogbGlzdC5nZXRTcGFjZUFmdGVyQnVsbGV0KCk7XG5cbiAgICBjb25zdCBwcmVmaXggPSBvbGRMaW5lc1swXS5tYXRjaChjaGVja2JveFJlKSA/IFwiWyBdIFwiIDogXCJcIjtcblxuICAgIGNvbnN0IG5ld0xpc3QgPSBuZXcgTGlzdChcbiAgICAgIGxpc3QuZ2V0Um9vdCgpLFxuICAgICAgaW5kZW50LFxuICAgICAgYnVsbGV0LFxuICAgICAgcHJlZml4LFxuICAgICAgc3BhY2VBZnRlckJ1bGxldCxcbiAgICAgIHByZWZpeCArIG5ld0xpbmVzLnNoaWZ0KCksXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICBpZiAobmV3TGluZXMubGVuZ3RoID4gMCkge1xuICAgICAgbmV3TGlzdC5zZXROb3Rlc0luZGVudChsaXN0LmdldE5vdGVzSW5kZW50KCkpO1xuICAgICAgZm9yIChjb25zdCBsaW5lIG9mIG5ld0xpbmVzKSB7XG4gICAgICAgIG5ld0xpc3QuYWRkTGluZShsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob25DaGlsZExldmVsKSB7XG4gICAgICBsaXN0LmFkZEJlZm9yZUFsbChuZXdMaXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFjaGlsZElzRm9sZGVkIHx8ICFlbmRPZkxpbmUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBsaXN0LmdldENoaWxkcmVuKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICBsaXN0LnJlbW92ZUNoaWxkKGNoaWxkKTtcbiAgICAgICAgICBuZXdMaXN0LmFkZEFmdGVyQWxsKGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaXN0LmdldFBhcmVudCgpLmFkZEFmdGVyKGxpc3QsIG5ld0xpc3QpO1xuICAgIH1cblxuICAgIGxpc3QucmVwbGFjZUxpbmVzKG9sZExpbmVzKTtcblxuICAgIGNvbnN0IG5ld0xpc3RTdGFydCA9IG5ld0xpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IG5ld0xpc3RTdGFydC5saW5lLFxuICAgICAgY2g6IG5ld0xpc3RTdGFydC5jaCArIHByZWZpeC5sZW5ndGgsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBPdXRkZW50TGlzdCBpbXBsZW1lbnRzIE9wZXJhdGlvbiB7XG4gIHByaXZhdGUgc3RvcFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgdXBkYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm9vdDogUm9vdCkge31cblxuICBzaG91bGRTdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICB9XG5cbiAgc2hvdWxkVXBkYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZWQ7XG4gIH1cblxuICBwZXJmb3JtKCkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghcm9vdC5oYXNTaW5nbGVDdXJzb3IoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3QgPSByb290LmdldExpc3RVbmRlckN1cnNvcigpO1xuICAgIGNvbnN0IHBhcmVudCA9IGxpc3QuZ2V0UGFyZW50KCk7XG4gICAgY29uc3QgZ3JhbmRQYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCk7XG5cbiAgICBpZiAoIWdyYW5kUGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVCZWZvcmUgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG4gICAgY29uc3QgaW5kZW50Um1Gcm9tID0gcGFyZW50LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcbiAgICBjb25zdCBpbmRlbnRSbVRpbGwgPSBsaXN0LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aDtcblxuICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICBncmFuZFBhcmVudC5hZGRBZnRlcihwYXJlbnQsIGxpc3QpO1xuICAgIGxpc3QudW5pbmRlbnRDb250ZW50KGluZGVudFJtRnJvbSwgaW5kZW50Um1UaWxsKTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVBZnRlciA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcbiAgICBjb25zdCBsaW5lRGlmZiA9IGxpc3RTdGFydExpbmVBZnRlciAtIGxpc3RTdGFydExpbmVCZWZvcmU7XG4gICAgY29uc3QgY2hEaWZmID0gaW5kZW50Um1UaWxsIC0gaW5kZW50Um1Gcm9tO1xuXG4gICAgY29uc3QgY3Vyc29yID0gcm9vdC5nZXRDdXJzb3IoKTtcbiAgICByb290LnJlcGxhY2VDdXJzb3Ioe1xuICAgICAgbGluZTogY3Vyc29yLmxpbmUgKyBsaW5lRGlmZixcbiAgICAgIGNoOiBjdXJzb3IuY2ggLSBjaERpZmYsXG4gICAgfSk7XG5cbiAgICByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzKHJvb3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcbmltcG9ydCB7IE91dGRlbnRMaXN0IH0gZnJvbSBcIi4vT3V0ZGVudExpc3RcIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5pbXBvcnQgeyBpc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveCB9IGZyb20gXCIuLi91dGlscy9pc0VtcHR5TGluZU9yRW1wdHlDaGVja2JveFwiO1xuXG5leHBvcnQgY2xhc3MgT3V0ZGVudExpc3RJZkl0c0VtcHR5IGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBvdXRkZW50TGlzdDogT3V0ZGVudExpc3Q7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7XG4gICAgdGhpcy5vdXRkZW50TGlzdCA9IG5ldyBPdXRkZW50TGlzdChyb290KTtcbiAgfVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRkZW50TGlzdC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRkZW50TGlzdC5zaG91bGRVcGRhdGUoKTtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzKCk7XG5cbiAgICBpZiAoXG4gICAgICBsaW5lcy5sZW5ndGggPiAxIHx8XG4gICAgICAhaXNFbXB0eUxpbmVPckVtcHR5Q2hlY2tib3gobGluZXNbMF0pIHx8XG4gICAgICBsaXN0LmdldExldmVsKCkgPT09IDFcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm91dGRlbnRMaXN0LnBlcmZvcm0oKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgUHJlYyB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xuaW1wb3J0IHsga2V5bWFwIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBDcmVhdGVOZXdJdGVtIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvQ3JlYXRlTmV3SXRlbVwiO1xuaW1wb3J0IHsgT3V0ZGVudExpc3RJZkl0c0VtcHR5IH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3V0ZGVudExpc3RJZkl0c0VtcHR5XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvUGFyc2VyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEVudGVyQmVoYXZpb3VyT3ZlcnJpZGUgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgIHByaXZhdGUgaW1lRGV0ZWN0b3I6IElNRURldGVjdG9yLFxuICAgIHByaXZhdGUgb2JzaWRpYW5TZXR0aW5nczogT2JzaWRpYW5TZXR0aW5ncyxcbiAgICBwcml2YXRlIHBhcnNlcjogUGFyc2VyLFxuICAgIHByaXZhdGUgb3BlcmF0aW9uUGVyZm9ybWVyOiBPcGVyYXRpb25QZXJmb3JtZXJcbiAgKSB7fVxuXG4gIGFzeW5jIGxvYWQoKSB7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFZGl0b3JFeHRlbnNpb24oXG4gICAgICBQcmVjLmhpZ2hlc3QoXG4gICAgICAgIGtleW1hcC5vZihbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIkVudGVyXCIsXG4gICAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVFbnRlckJlaGF2aW91ciAmJiAhdGhpcy5pbWVEZXRlY3Rvci5pc09wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJzZXIucGFyc2UoZWRpdG9yKTtcblxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvdWxkVXBkYXRlOiBmYWxzZSxcbiAgICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAge1xuICAgICAgY29uc3QgcmVzID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIuZXZhbChcbiAgICAgICAgcm9vdCxcbiAgICAgICAgbmV3IE91dGRlbnRMaXN0SWZJdHNFbXB0eShyb290KSxcbiAgICAgICAgZWRpdG9yXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzLnNob3VsZFN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRJbmRlbnRDaGFycyA9IHRoaXMub2JzaWRpYW5TZXR0aW5ncy5nZXREZWZhdWx0SW5kZW50Q2hhcnMoKTtcbiAgICAgIGNvbnN0IHpvb21SYW5nZSA9IGVkaXRvci5nZXRab29tUmFuZ2UoKTtcbiAgICAgIGNvbnN0IGdldFpvb21SYW5nZSA9IHtcbiAgICAgICAgZ2V0Wm9vbVJhbmdlOiAoKSA9PiB6b29tUmFuZ2UsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXMgPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5ldmFsKFxuICAgICAgICByb290LFxuICAgICAgICBuZXcgQ3JlYXRlTmV3SXRlbShyb290LCBkZWZhdWx0SW5kZW50Q2hhcnMsIGdldFpvb21SYW5nZSksXG4gICAgICAgIGVkaXRvclxuICAgICAgKTtcblxuICAgICAgaWYgKHJlcy5zaG91bGRVcGRhdGUgJiYgem9vbVJhbmdlKSB7XG4gICAgICAgIGVkaXRvci50cnlSZWZyZXNoWm9vbSh6b29tUmFuZ2UuZnJvbS5saW5lKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gIH07XG59XG4iLCJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZGl0b3JDYWxsYmFjayhjYjogKGVkaXRvcjogTXlFZGl0b3IpID0+IGJvb2xlYW4pIHtcbiAgcmV0dXJuIChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgIGNvbnN0IG15RWRpdG9yID0gbmV3IE15RWRpdG9yKGVkaXRvcik7XG4gICAgY29uc3Qgc2hvdWxkU3RvcFByb3BhZ2F0aW9uID0gY2IobXlFZGl0b3IpO1xuXG4gICAgaWYgKFxuICAgICAgIXNob3VsZFN0b3BQcm9wYWdhdGlvbiAmJlxuICAgICAgd2luZG93LmV2ZW50ICYmXG4gICAgICB3aW5kb3cuZXZlbnQudHlwZSA9PT0gXCJrZXlkb3duXCJcbiAgICApIHtcbiAgICAgIG15RWRpdG9yLnRyaWdnZXJPbktleURvd24od2luZG93LmV2ZW50IGFzIEtleWJvYXJkRXZlbnQpO1xuICAgIH1cbiAgfTtcbn1cbiIsImltcG9ydCB7IE5vdGljZSwgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBPYnNpZGlhblNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL09ic2lkaWFuU2V0dGluZ3NcIjtcbmltcG9ydCB7IGNyZWF0ZUVkaXRvckNhbGxiYWNrIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZUVkaXRvckNhbGxiYWNrXCI7XG5cbmV4cG9ydCBjbGFzcyBMaXN0c0ZvbGRpbmdDb21tYW5kcyBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBvYnNpZGlhblNldHRpbmdzOiBPYnNpZGlhblNldHRpbmdzXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiZm9sZFwiLFxuICAgICAgaWNvbjogXCJjaGV2cm9ucy1kb3duLXVwXCIsXG4gICAgICBuYW1lOiBcIkZvbGQgdGhlIGxpc3RcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLmZvbGQpLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93VXBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcInVuZm9sZFwiLFxuICAgICAgaWNvbjogXCJjaGV2cm9ucy11cC1kb3duXCIsXG4gICAgICBuYW1lOiBcIlVuZm9sZCB0aGUgbGlzdFwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IGNyZWF0ZUVkaXRvckNhbGxiYWNrKHRoaXMudW5mb2xkKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCJdLFxuICAgICAgICAgIGtleTogXCJBcnJvd0Rvd25cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9sZChlZGl0b3I6IE15RWRpdG9yLCB0eXBlOiBcImZvbGRcIiB8IFwidW5mb2xkXCIpIHtcbiAgICBpZiAoIXRoaXMub2JzaWRpYW5TZXR0aW5ncy5nZXRGb2xkU2V0dGluZ3MoKS5mb2xkSW5kZW50KSB7XG4gICAgICBuZXcgTm90aWNlKFxuICAgICAgICBgVW5hYmxlIHRvICR7dHlwZX0gYmVjYXVzZSBmb2xkaW5nIGlzIGRpc2FibGVkLiBQbGVhc2UgZW5hYmxlIFwiRm9sZCBpbmRlbnRcIiBpbiBPYnNpZGlhbiBzZXR0aW5ncy5gLFxuICAgICAgICA1MDAwXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3Vyc29yID0gZWRpdG9yLmdldEN1cnNvcigpO1xuXG4gICAgaWYgKHR5cGUgPT09IFwiZm9sZFwiKSB7XG4gICAgICBlZGl0b3IuZm9sZChjdXJzb3IubGluZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVkaXRvci51bmZvbGQoY3Vyc29yLmxpbmUpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJmb2xkXCIpO1xuICB9O1xuXG4gIHByaXZhdGUgdW5mb2xkID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRGb2xkKGVkaXRvciwgXCJ1bmZvbGRcIik7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCwgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBJbmRlbnRMaXN0IGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290LCBwcml2YXRlIGRlZmF1bHRJbmRlbnRDaGFyczogc3RyaW5nKSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBwcmV2ID0gcGFyZW50LmdldFByZXZTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBpZiAoIXByZXYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUJlZm9yZSA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcblxuICAgIGNvbnN0IGluZGVudFBvcyA9IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoO1xuICAgIGxldCBpbmRlbnRDaGFycyA9IFwiXCI7XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIXByZXYuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IHByZXZcbiAgICAgICAgLmdldENoaWxkcmVuKClbMF1cbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwcmV2LmdldEZpcnN0TGluZUluZGVudCgpLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGluZGVudENoYXJzID09PSBcIlwiKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3RcbiAgICAgICAgLmdldEZpcnN0TGluZUluZGVudCgpXG4gICAgICAgIC5zbGljZShwYXJlbnQuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIgJiYgIWxpc3QuaXNFbXB0eSgpKSB7XG4gICAgICBpbmRlbnRDaGFycyA9IGxpc3QuZ2V0Q2hpbGRyZW4oKVswXS5nZXRGaXJzdExpbmVJbmRlbnQoKTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50Q2hhcnMgPT09IFwiXCIpIHtcbiAgICAgIGluZGVudENoYXJzID0gdGhpcy5kZWZhdWx0SW5kZW50Q2hhcnM7XG4gICAgfVxuXG4gICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgIHByZXYuYWRkQWZ0ZXJBbGwobGlzdCk7XG4gICAgbGlzdC5pbmRlbnRDb250ZW50KGluZGVudFBvcywgaW5kZW50Q2hhcnMpO1xuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoICsgaW5kZW50Q2hhcnMubGVuZ3RoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4vT3BlcmF0aW9uXCI7XG5cbmltcG9ydCB7IFJvb3QsIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZUxpc3REb3duIGltcGxlbWVudHMgT3BlcmF0aW9uIHtcbiAgcHJpdmF0ZSBzdG9wUHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb290OiBSb290KSB7fVxuXG4gIHNob3VsZFN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9wUHJvcGFnYXRpb247XG4gIH1cblxuICBzaG91bGRVcGRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZDtcbiAgfVxuXG4gIHBlcmZvcm0oKSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzO1xuXG4gICAgaWYgKCFyb290Lmhhc1NpbmdsZUN1cnNvcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgcGFyZW50ID0gbGlzdC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBncmFuZFBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKTtcbiAgICBjb25zdCBuZXh0ID0gcGFyZW50LmdldE5leHRTaWJsaW5nT2YobGlzdCk7XG5cbiAgICBjb25zdCBsaXN0U3RhcnRMaW5lQmVmb3JlID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuXG4gICAgaWYgKCFuZXh0ICYmIGdyYW5kUGFyZW50KSB7XG4gICAgICBjb25zdCBuZXdQYXJlbnQgPSBncmFuZFBhcmVudC5nZXROZXh0U2libGluZ09mKHBhcmVudCk7XG5cbiAgICAgIGlmIChuZXdQYXJlbnQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKGxpc3QpO1xuICAgICAgICBuZXdQYXJlbnQuYWRkQmVmb3JlQWxsKGxpc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmV4dCkge1xuICAgICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcbiAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChsaXN0KTtcbiAgICAgIHBhcmVudC5hZGRBZnRlcihuZXh0LCBsaXN0KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVBZnRlciA9IHJvb3QuZ2V0Q29udGVudExpbmVzUmFuZ2VPZihsaXN0KVswXTtcbiAgICBjb25zdCBsaW5lRGlmZiA9IGxpc3RTdGFydExpbmVBZnRlciAtIGxpc3RTdGFydExpbmVCZWZvcmU7XG5cbiAgICBjb25zdCBjdXJzb3IgPSByb290LmdldEN1cnNvcigpO1xuICAgIHJvb3QucmVwbGFjZUN1cnNvcih7XG4gICAgICBsaW5lOiBjdXJzb3IubGluZSArIGxpbmVEaWZmLFxuICAgICAgY2g6IGN1cnNvci5jaCxcbiAgICB9KTtcblxuICAgIHJlY2FsY3VsYXRlTnVtZXJpY0J1bGxldHMocm9vdCk7XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gXCIuL09wZXJhdGlvblwiO1xuXG5pbXBvcnQgeyBSb290LCByZWNhbGN1bGF0ZU51bWVyaWNCdWxsZXRzIH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIE1vdmVMaXN0VXAgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICBjb25zdCBsaXN0ID0gcm9vdC5nZXRMaXN0VW5kZXJDdXJzb3IoKTtcbiAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmdldFBhcmVudCgpO1xuICAgIGNvbnN0IGdyYW5kUGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpO1xuICAgIGNvbnN0IHByZXYgPSBwYXJlbnQuZ2V0UHJldlNpYmxpbmdPZihsaXN0KTtcblxuICAgIGNvbnN0IGxpc3RTdGFydExpbmVCZWZvcmUgPSByb290LmdldENvbnRlbnRMaW5lc1JhbmdlT2YobGlzdClbMF07XG5cbiAgICBpZiAoIXByZXYgJiYgZ3JhbmRQYXJlbnQpIHtcbiAgICAgIGNvbnN0IG5ld1BhcmVudCA9IGdyYW5kUGFyZW50LmdldFByZXZTaWJsaW5nT2YocGFyZW50KTtcblxuICAgICAgaWYgKG5ld1BhcmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZWQgPSB0cnVlO1xuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICAgIG5ld1BhcmVudC5hZGRBZnRlckFsbChsaXN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByZXYpIHtcbiAgICAgIHRoaXMudXBkYXRlZCA9IHRydWU7XG4gICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobGlzdCk7XG4gICAgICBwYXJlbnQuYWRkQmVmb3JlKHByZXYsIGxpc3QpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy51cGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdFN0YXJ0TGluZUFmdGVyID0gcm9vdC5nZXRDb250ZW50TGluZXNSYW5nZU9mKGxpc3QpWzBdO1xuICAgIGNvbnN0IGxpbmVEaWZmID0gbGlzdFN0YXJ0TGluZUFmdGVyIC0gbGlzdFN0YXJ0TGluZUJlZm9yZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgcm9vdC5yZXBsYWNlQ3Vyc29yKHtcbiAgICAgIGxpbmU6IGN1cnNvci5saW5lICsgbGluZURpZmYsXG4gICAgICBjaDogY3Vyc29yLmNoLFxuICAgIH0pO1xuXG4gICAgcmVjYWxjdWxhdGVOdW1lcmljQnVsbGV0cyhyb290KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IgfSBmcm9tIFwiLi4vZWRpdG9yXCI7XG5pbXBvcnQgeyBJbmRlbnRMaXN0IH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvSW5kZW50TGlzdFwiO1xuaW1wb3J0IHsgTW92ZUxpc3REb3duIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUxpc3REb3duXCI7XG5pbXBvcnQgeyBNb3ZlTGlzdFVwIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvTW92ZUxpc3RVcFwiO1xuaW1wb3J0IHsgT3V0ZGVudExpc3QgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9PdXRkZW50TGlzdFwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBjcmVhdGVFZGl0b3JDYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVFZGl0b3JDYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgTGlzdHNNb3ZlbWVudENvbW1hbmRzIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcIm1vdmUtbGlzdC1pdGVtLXVwXCIsXG4gICAgICBpY29uOiBcImFycm93LXVwXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgdXBcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLm1vdmVMaXN0VXApLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIiwgXCJTaGlmdFwiXSxcbiAgICAgICAgICBrZXk6IFwiQXJyb3dVcFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwibW92ZS1saXN0LWl0ZW0tZG93blwiLFxuICAgICAgaWNvbjogXCJhcnJvdy1kb3duXCIsXG4gICAgICBuYW1lOiBcIk1vdmUgbGlzdCBhbmQgc3VibGlzdHMgZG93blwiLFxuICAgICAgZWRpdG9yQ2FsbGJhY2s6IGNyZWF0ZUVkaXRvckNhbGxiYWNrKHRoaXMubW92ZUxpc3REb3duKSxcbiAgICAgIGhvdGtleXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vZGlmaWVyczogW1wiTW9kXCIsIFwiU2hpZnRcIl0sXG4gICAgICAgICAga2V5OiBcIkFycm93RG93blwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwiaW5kZW50LWxpc3RcIixcbiAgICAgIGljb246IFwiaW5kZW50XCIsXG4gICAgICBuYW1lOiBcIkluZGVudCB0aGUgbGlzdCBhbmQgc3VibGlzdHNcIixcbiAgICAgIGVkaXRvckNhbGxiYWNrOiBjcmVhdGVFZGl0b3JDYWxsYmFjayh0aGlzLmluZGVudExpc3QpLFxuICAgICAgaG90a2V5czogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcIm91dGRlbnQtbGlzdFwiLFxuICAgICAgaWNvbjogXCJvdXRkZW50XCIsXG4gICAgICBuYW1lOiBcIk91dGRlbnQgdGhlIGxpc3QgYW5kIHN1Ymxpc3RzXCIsXG4gICAgICBlZGl0b3JDYWxsYmFjazogY3JlYXRlRWRpdG9yQ2FsbGJhY2sodGhpcy5vdXRkZW50TGlzdCksXG4gICAgICBob3RrZXlzOiBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBtb3ZlTGlzdERvd24gPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHsgc2hvdWxkU3RvcFByb3BhZ2F0aW9uIH0gPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGlzdERvd24ocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuXG4gICAgcmV0dXJuIHNob3VsZFN0b3BQcm9wYWdhdGlvbjtcbiAgfTtcblxuICBwcml2YXRlIG1vdmVMaXN0VXAgPSAoZWRpdG9yOiBNeUVkaXRvcikgPT4ge1xuICAgIGNvbnN0IHsgc2hvdWxkU3RvcFByb3BhZ2F0aW9uIH0gPSB0aGlzLm9wZXJhdGlvblBlcmZvcm1lci5wZXJmb3JtKFxuICAgICAgKHJvb3QpID0+IG5ldyBNb3ZlTGlzdFVwKHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBpbmRlbnRMaXN0ID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICBjb25zdCB7IHNob3VsZFN0b3BQcm9wYWdhdGlvbiB9ID0gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PlxuICAgICAgICBuZXcgSW5kZW50TGlzdChyb290LCB0aGlzLm9ic2lkaWFuU2V0dGluZ3MuZ2V0RGVmYXVsdEluZGVudENoYXJzKCkpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG5cbiAgcHJpdmF0ZSBvdXRkZW50TGlzdCA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgY29uc3QgeyBzaG91bGRTdG9wUHJvcGFnYXRpb24gfSA9IHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLnBlcmZvcm0oXG4gICAgICAocm9vdCkgPT4gbmV3IE91dGRlbnRMaXN0KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcblxuICAgIHJldHVybiBzaG91bGRTdG9wUHJvcGFnYXRpb247XG4gIH07XG59XG4iLCJpbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tIFwiLi9PcGVyYXRpb25cIjtcblxuaW1wb3J0IHsgUm9vdCB9IGZyb20gXCIuLi9yb290XCI7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVUaWxsQ3VycmVudExpbmVDb250ZW50U3RhcnQgaW1wbGVtZW50cyBPcGVyYXRpb24ge1xuICBwcml2YXRlIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBwcml2YXRlIHVwZGF0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvb3Q6IFJvb3QpIHt9XG5cbiAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIHNob3VsZFVwZGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVkO1xuICB9XG5cbiAgcGVyZm9ybSgpIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXJvb3QuaGFzU2luZ2xlQ3Vyc29yKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGN1cnNvciA9IHJvb3QuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgbGlzdCA9IHJvb3QuZ2V0TGlzdFVuZGVyQ3Vyc29yKCk7XG4gICAgY29uc3QgbGluZXMgPSBsaXN0LmdldExpbmVzSW5mbygpO1xuICAgIGNvbnN0IGxpbmVObyA9IGxpbmVzLmZpbmRJbmRleCgobCkgPT4gbC5mcm9tLmxpbmUgPT09IGN1cnNvci5saW5lKTtcblxuICAgIGxpbmVzW2xpbmVOb10udGV4dCA9IGxpbmVzW2xpbmVOb10udGV4dC5zbGljZShcbiAgICAgIGN1cnNvci5jaCAtIGxpbmVzW2xpbmVOb10uZnJvbS5jaFxuICAgICk7XG5cbiAgICBsaXN0LnJlcGxhY2VMaW5lcyhsaW5lcy5tYXAoKGwpID0+IGwudGV4dCkpO1xuICAgIHJvb3QucmVwbGFjZUN1cnNvcihsaW5lc1tsaW5lTm9dLmZyb20pO1xuICB9XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IERlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydCB9IGZyb20gXCIuLi9vcGVyYXRpb25zL0RlbGV0ZVRpbGxDdXJyZW50TGluZUNvbnRlbnRTdGFydFwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgTWV0YUJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyXG4gICkge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAge1xuICAgICAgICAgIG1hYzogXCJtLUJhY2tzcGFjZVwiLFxuICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICBydW46IHRoaXMucnVuLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cblxuICBwcml2YXRlIGNoZWNrID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ICE9PSBcIm5ldmVyXCIgJiZcbiAgICAgICF0aGlzLmltZURldGVjdG9yLmlzT3BlbmVkKClcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgRGVsZXRlVGlsbEN1cnJlbnRMaW5lQ29udGVudFN0YXJ0KHJvb3QpLFxuICAgICAgZWRpdG9yXG4gICAgKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IE1hcmtkb3duUmVuZGVyZXIsIE1vZGFsLCBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jbGFzcyBSZWxlYXNlTm90ZXNNb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLFxuICAgIHByaXZhdGUgdGl0bGU6IHN0cmluZyxcbiAgICBwcml2YXRlIGNvbnRlbnQ6IHN0cmluZyxcbiAgICBwcml2YXRlIGNiOiAoKSA9PiB2b2lkXG4gICkge1xuICAgIHN1cGVyKHBsdWdpbi5hcHApO1xuICB9XG5cbiAgYXN5bmMgb25PcGVuKCkge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuXG4gICAgTWFya2Rvd25SZW5kZXJlci5yZW5kZXJNYXJrZG93bihcbiAgICAgIHRoaXMuY29udGVudCxcbiAgICAgIHRoaXMuY29udGVudEVsLFxuICAgICAgXCJcIixcbiAgICAgIHRoaXMucGx1Z2luXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVSZWxlYXNlcyhhOiBzdHJpbmcsIGI6IHN0cmluZykge1xuICBjb25zdCBbYU1ham9yLCBhTWlub3IsIGFQYXRjaF0gPSBhLnNwbGl0KFwiLlwiLCAzKS5tYXAoTnVtYmVyKTtcbiAgY29uc3QgW2JNYWpvciwgYk1pbm9yLCBiUGF0Y2hdID0gYi5zcGxpdChcIi5cIiwgMykubWFwKE51bWJlcik7XG5cbiAgaWYgKGFNYWpvciA9PT0gYk1ham9yKSB7XG4gICAgaWYgKGFNaW5vciA9PT0gYk1pbm9yKSB7XG4gICAgICByZXR1cm4gYVBhdGNoIC0gYlBhdGNoO1xuICAgIH1cblxuICAgIHJldHVybiBhTWlub3IgLSBiTWlub3I7XG4gIH1cblxuICByZXR1cm4gYU1ham9yIC0gYk1ham9yO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNoYW5nZWxvZygpIHtcbiAgY29uc3QgbWFya2Rvd24gPSBDSEFOR0VMT0dfTUQ7XG4gIGNvbnN0IHJlbGVhc2VOb3RlczogW3N0cmluZywgc3RyaW5nXVtdID0gW107XG4gIGxldCB2ZXJzaW9uO1xuICBsZXQgY29udGVudCA9IFwiXCI7XG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIG1hcmtkb3duLnNwbGl0KFwiXFxuXCIpKSB7XG4gICAgY29uc3QgdmVyc2lvbkhlYWRlck1hdGNoZXMgPSAvXiMrXFxzKyhcXGQrXFwuXFxkK1xcLlxcZCspJC8uZXhlYyhsaW5lKTtcbiAgICBpZiAodmVyc2lvbkhlYWRlck1hdGNoZXMpIHtcbiAgICAgIGlmICh2ZXJzaW9uICYmIGNvbnRlbnQudHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVsZWFzZU5vdGVzLnB1c2goW3ZlcnNpb24sIGNvbnRlbnRdKTtcbiAgICAgIH1cbiAgICAgIHZlcnNpb24gPSB2ZXJzaW9uSGVhZGVyTWF0Y2hlc1sxXTtcbiAgICAgIGNvbnRlbnQgPSBsaW5lO1xuICAgICAgY29udGVudCArPSBcIlxcblwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ICs9IGxpbmU7XG4gICAgICBjb250ZW50ICs9IFwiXFxuXCI7XG4gICAgfVxuICB9XG5cbiAgaWYgKHZlcnNpb24gJiYgY29udGVudC50cmltKCkubGVuZ3RoID4gMCkge1xuICAgIHJlbGVhc2VOb3Rlcy5wdXNoKFt2ZXJzaW9uLCBjb250ZW50XSk7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU5vdGVzO1xufVxuXG5leHBvcnQgY2xhc3MgUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50IGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIHByaXZhdGUgbW9kYWw6IFJlbGVhc2VOb3Rlc01vZGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLCBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncykge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZENvbW1hbmQoe1xuICAgICAgaWQ6IFwic2hvdy1yZWxlYXNlLW5vdGVzXCIsXG4gICAgICBuYW1lOiBcIlNob3cgUmVsZWFzZSBOb3Rlc1wiLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuc2hvd01vZGFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zaG93TW9kYWwodGhpcy5zZXR0aW5ncy5wcmV2aW91c1JlbGVhc2UpO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge1xuICAgIGlmICghdGhpcy5tb2RhbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gdGhpcy5tb2RhbDtcbiAgICB0aGlzLm1vZGFsID0gbnVsbDtcbiAgICBtb2RhbC5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TW9kYWwgPSAocHJldmlvdXNSZWxlYXNlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkgPT4ge1xuICAgIGxldCByZWxlYXNlTm90ZXMgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgW3ZlcnNpb24sIGNvbnRlbnRdIG9mIHBhcnNlQ2hhbmdlbG9nKCkpIHtcbiAgICAgIGlmIChjb21wYXJlUmVsZWFzZXModmVyc2lvbiwgcHJldmlvdXNSZWxlYXNlIHx8IFwiMC4wLjBcIikgPiAwKSB7XG4gICAgICAgIHJlbGVhc2VOb3RlcyArPSBjb250ZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyZWxlYXNlTm90ZXMudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsVGl0bGUgPSBgV2VsY29tZSB0byBPYnNpZGlhbiBPdXRsaW5lciAke1BMVUdJTl9WRVJTSU9OfWA7XG5cbiAgICB0aGlzLm1vZGFsID0gbmV3IFJlbGVhc2VOb3Rlc01vZGFsKFxuICAgICAgdGhpcy5wbHVnaW4sXG4gICAgICBtb2RhbFRpdGxlLFxuICAgICAgcmVsZWFzZU5vdGVzLFxuICAgICAgdGhpcy5oYW5kbGVDbG9zZVxuICAgICk7XG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbG9zZSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIXRoaXMubW9kYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldHRpbmdzLnByZXZpb3VzUmVsZWFzZSA9IFBMVUdJTl9WRVJTSU9OO1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgQXBwLCBQbHVnaW5TZXR0aW5nVGFiLCBQbHVnaW5fMiwgU2V0dGluZyB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQge1xuICBLZWVwQ3Vyc29yV2l0aGluQ29udGVudCxcbiAgU2V0dGluZ3MsXG4gIFZlcnRpY2FsTGluZXNBY3Rpb24sXG59IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jbGFzcyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luU2V0dGluZ1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHtcbiAgICBzdXBlcihhcHAsIHBsdWdpbik7XG4gIH1cblxuICBkaXNwbGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29udGFpbmVyRWwgfSA9IHRoaXM7XG5cbiAgICBjb250YWluZXJFbC5lbXB0eSgpO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlN0aWNrIHRoZSBjdXJzb3IgdG8gdGhlIGNvbnRlbnRcIilcbiAgICAgIC5zZXREZXNjKFwiRG9uJ3QgbGV0IHRoZSBjdXJzb3IgbW92ZSB0byB0aGUgYnVsbGV0IHBvc2l0aW9uLlwiKVxuICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICBkcm9wZG93blxuICAgICAgICAgIC5hZGRPcHRpb25zKHtcbiAgICAgICAgICAgIG5ldmVyOiBcIk5ldmVyXCIsXG4gICAgICAgICAgICBcImJ1bGxldC1vbmx5XCI6IFwiU3RpY2sgY3Vyc29yIG91dCBvZiBidWxsZXRzXCIsXG4gICAgICAgICAgICBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjogXCJTdGljayBjdXJzb3Igb3V0IG9mIGJ1bGxldHMgYW5kIGNoZWNrYm94ZXNcIixcbiAgICAgICAgICB9IGFzIHsgW2tleSBpbiBLZWVwQ3Vyc29yV2l0aGluQ29udGVudF06IHN0cmluZyB9KVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50KVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWU6IEtlZXBDdXJzb3JXaXRoaW5Db250ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50ID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkVuaGFuY2UgdGhlIFRhYiBrZXlcIilcbiAgICAgIC5zZXREZXNjKFwiTWFrZSBUYWIgYW5kIFNoaWZ0LVRhYiBiZWhhdmUgdGhlIHNhbWUgYXMgb3RoZXIgb3V0bGluZXJzLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlVGFiQmVoYXZpb3VyKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVUYWJCZWhhdmlvdXIgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRW5oYW5jZSB0aGUgRW50ZXIga2V5XCIpXG4gICAgICAuc2V0RGVzYyhcIk1ha2UgdGhlIEVudGVyIGtleSBiZWhhdmUgdGhlIHNhbWUgYXMgb3RoZXIgb3V0bGluZXJzLlwiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlRW50ZXJCZWhhdmlvdXIpXG4gICAgICAgICAgLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5vdmVycmlkZUVudGVyQmVoYXZpb3VyID0gdmFsdWU7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkVuaGFuY2UgdGhlIEN0cmwrQSBvciBDbWQrQSBiZWhhdmlvclwiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiUHJlc3MgdGhlIGhvdGtleSBvbmNlIHRvIHNlbGVjdCB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIFByZXNzIHRoZSBob3RrZXkgdHdpY2UgdG8gc2VsZWN0IHRoZSBlbnRpcmUgbGlzdC5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLm92ZXJyaWRlU2VsZWN0QWxsQmVoYXZpb3VyKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXIgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiSW1wcm92ZSB0aGUgc3R5bGUgb2YgeW91ciBsaXN0c1wiKVxuICAgICAgLnNldERlc2MoXG4gICAgICAgIFwiU3R5bGVzIGFyZSBvbmx5IGNvbXBhdGlibGUgd2l0aCBidWlsdC1pbiBPYnNpZGlhbiB0aGVtZXMgYW5kIG1heSBub3QgYmUgY29tcGF0aWJsZSB3aXRoIG90aGVyIHRoZW1lcy5cIlxuICAgICAgKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZVxuICAgICAgICAgIC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmJldHRlckxpc3RzU3R5bGVzKVxuICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MuYmV0dGVyTGlzdHNTdHlsZXMgPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbClcbiAgICAgIC5zZXROYW1lKFwiRHJhdyB2ZXJ0aWNhbCBpbmRlbnRhdGlvbiBsaW5lc1wiKVxuICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXMpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lcyA9IHZhbHVlO1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIlZlcnRpY2FsIGluZGVudGF0aW9uIGxpbmUgY2xpY2sgYWN0aW9uXCIpXG4gICAgICAuYWRkRHJvcGRvd24oKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgIGRyb3Bkb3duXG4gICAgICAgICAgLmFkZE9wdGlvbnMoe1xuICAgICAgICAgICAgbm9uZTogXCJOb25lXCIsXG4gICAgICAgICAgICBcInpvb20taW5cIjogXCJab29tIEluXCIsXG4gICAgICAgICAgICBcInRvZ2dsZS1mb2xkaW5nXCI6IFwiVG9nZ2xlIEZvbGRpbmdcIixcbiAgICAgICAgICB9IGFzIHsgW2tleSBpbiBWZXJ0aWNhbExpbmVzQWN0aW9uXTogc3RyaW5nIH0pXG4gICAgICAgICAgLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lc0FjdGlvbilcbiAgICAgICAgICAub25DaGFuZ2UoYXN5bmMgKHZhbHVlOiBWZXJ0aWNhbExpbmVzQWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXNBY3Rpb24gPSB2YWx1ZTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0dGluZ3Muc2F2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBuZXcgU2V0dGluZyhjb250YWluZXJFbCkuc2V0TmFtZShcIkRyYWctYW5kLURyb3BcIikuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmRyYWdBbmREcm9wKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5kcmFnQW5kRHJvcCA9IHZhbHVlO1xuICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgbmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG4gICAgICAuc2V0TmFtZShcIkRlYnVnIG1vZGVcIilcbiAgICAgIC5zZXREZXNjKFxuICAgICAgICBcIk9wZW4gRGV2VG9vbHMgKENvbW1hbmQrT3B0aW9uK0kgb3IgQ29udHJvbCtTaGlmdCtJKSB0byBjb3B5IHRoZSBkZWJ1ZyBsb2dzLlwiXG4gICAgICApXG4gICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZGVidWcpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuZGVidWcgPSB2YWx1ZTtcbiAgICAgICAgICBhd2FpdCB0aGlzLnNldHRpbmdzLnNhdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NUYWIgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbHVnaW46IFBsdWdpbl8yLCBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncykge31cblxuICBhc3luYyBsb2FkKCkge1xuICAgIHRoaXMucGx1Z2luLmFkZFNldHRpbmdUYWIoXG4gICAgICBuZXcgT2JzaWRpYW5PdXRsaW5lclBsdWdpblNldHRpbmdUYWIoXG4gICAgICAgIHRoaXMucGx1Z2luLmFwcCxcbiAgICAgICAgdGhpcy5wbHVnaW4sXG4gICAgICAgIHRoaXMuc2V0dGluZ3NcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdW5sb2FkKCkge31cbn1cbiIsImltcG9ydCB7IFBsdWdpbl8yIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IFByZWMgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcbmltcG9ydCB7IGtleW1hcCB9IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9GZWF0dXJlXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgT3V0ZGVudExpc3QgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9PdXRkZW50TGlzdFwiO1xuaW1wb3J0IHsgSU1FRGV0ZWN0b3IgfSBmcm9tIFwiLi4vc2VydmljZXMvSU1FRGV0ZWN0b3JcIjtcbmltcG9ydCB7IE9wZXJhdGlvblBlcmZvcm1lciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL1NldHRpbmdzXCI7XG5pbXBvcnQgeyBjcmVhdGVLZXltYXBSdW5DYWxsYmFjayB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVLZXltYXBSdW5DYWxsYmFja1wiO1xuXG5leHBvcnQgY2xhc3MgU2hpZnRUYWJCZWhhdmlvdXJPdmVycmlkZSBpbXBsZW1lbnRzIEZlYXR1cmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luXzIsXG4gICAgcHJpdmF0ZSBpbWVEZXRlY3RvcjogSU1FRGV0ZWN0b3IsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwicy1UYWJcIixcbiAgICAgICAgICAgIHJ1bjogY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2soe1xuICAgICAgICAgICAgICBjaGVjazogdGhpcy5jaGVjayxcbiAgICAgICAgICAgICAgcnVuOiB0aGlzLnJ1bixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjaGVjayA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5vdmVycmlkZVRhYkJlaGF2aW91ciAmJiAhdGhpcy5pbWVEZXRlY3Rvci5pc09wZW5lZCgpO1xuICB9O1xuXG4gIHByaXZhdGUgcnVuID0gKGVkaXRvcjogTXlFZGl0b3IpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25QZXJmb3JtZXIucGVyZm9ybShcbiAgICAgIChyb290KSA9PiBuZXcgT3V0ZGVudExpc3Qocm9vdCksXG4gICAgICBlZGl0b3JcbiAgICApO1xuICB9O1xufVxuIiwiaW1wb3J0IHsgQXBwLCBNb2RhbCwgUGx1Z2luXzIgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi4vc2VydmljZXMvU2V0dGluZ3NcIjtcblxuaW50ZXJmYWNlIEFwcEhpZGRlblByb3BzIHtcbiAgaW50ZXJuYWxQbHVnaW5zOiB7XG4gICAgY29uZmlnOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbiAgfTtcbiAgaXNNb2JpbGU6IGJvb2xlYW47XG4gIHBsdWdpbnM6IHtcbiAgICBlbmFibGVkUGx1Z2luczogU2V0PHN0cmluZz47XG4gICAgbWFuaWZlc3RzOiB7IFtrZXk6IHN0cmluZ106IHsgdmVyc2lvbjogc3RyaW5nIH0gfTtcbiAgfTtcbiAgdmF1bHQ6IHtcbiAgICBjb25maWc6IG9iamVjdDtcbiAgfTtcbn1cblxuY2xhc3MgU3lzdGVtSW5mb01vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHtcbiAgICBzdXBlcihhcHApO1xuICB9XG5cbiAgYXN5bmMgb25PcGVuKCkge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KFwiU3lzdGVtIEluZm9ybWF0aW9uXCIpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBhcHAgPSB0aGlzLmFwcCBhcyBhbnkgYXMgQXBwSGlkZGVuUHJvcHM7XG5cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgcHJvY2Vzczoge1xuICAgICAgICBhcmNoOiBwcm9jZXNzLmFyY2gsXG4gICAgICAgIHBsYXRmb3JtOiBwcm9jZXNzLnBsYXRmb3JtLFxuICAgICAgfSxcbiAgICAgIGFwcDoge1xuICAgICAgICBpbnRlcm5hbFBsdWdpbnM6IHtcbiAgICAgICAgICBjb25maWc6IGFwcC5pbnRlcm5hbFBsdWdpbnMuY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICBpc01vYmlsZTogYXBwLmlzTW9iaWxlLFxuICAgICAgICBwbHVnaW5zOiB7XG4gICAgICAgICAgZW5hYmxlZFBsdWdpbnM6IEFycmF5LmZyb20oYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMpLFxuICAgICAgICAgIG1hbmlmZXN0czogT2JqZWN0LmtleXMoYXBwLnBsdWdpbnMubWFuaWZlc3RzKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IHtcbiAgICAgICAgICAgICAgdmVyc2lvbjogYXBwLnBsdWdpbnMubWFuaWZlc3RzW2tleV0udmVyc2lvbixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9IGFzIHsgW2tleTogc3RyaW5nXTogeyB2ZXJzaW9uOiBzdHJpbmcgfSB9KSxcbiAgICAgICAgfSxcbiAgICAgICAgdmF1bHQ6IHtcbiAgICAgICAgICBjb25maWc6IGFwcC52YXVsdC5jb25maWcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcGx1Z2luOiB7XG4gICAgICAgIHNldHRpbmdzOiB7IHZhbHVlczogdGhpcy5zZXR0aW5ncy5nZXRWYWx1ZXMoKSB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgdGV4dCA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpO1xuXG4gICAgY29uc3QgcHJlID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoXCJwcmVcIik7XG4gICAgcHJlLnNldFRleHQodGV4dCk7XG4gICAgcHJlLnNldENzc1N0eWxlcyh7XG4gICAgICBvdmVyZmxvdzogXCJzY3JvbGxcIixcbiAgICAgIG1heEhlaWdodDogXCIzMDBweFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnV0dG9uID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoXCJidXR0b25cIik7XG4gICAgYnV0dG9uLnNldFRleHQoXCJDb3B5IGFuZCBDbG9zZVwiKTtcbiAgICBidXR0b24ub25DbGlja0V2ZW50KCgpID0+IHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KFwiYGBganNvblxcblwiICsgdGV4dCArIFwiXFxuYGBgXCIpO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTeXN0ZW1JbmZvIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMiwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5hZGRDb21tYW5kKHtcbiAgICAgIGlkOiBcInN5c3RlbS1pbmZvXCIsXG4gICAgICBuYW1lOiBcIlNob3cgU3lzdGVtIEluZm9cIixcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmNhbGxiYWNrLFxuICAgICAgaG90a2V5czogW1xuICAgICAgICB7XG4gICAgICAgICAgbW9kaWZpZXJzOiBbXCJNb2RcIiwgXCJTaGlmdFwiLCBcIkFsdFwiXSxcbiAgICAgICAgICBrZXk6IFwiSVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVubG9hZCgpIHt9XG5cbiAgcHJpdmF0ZSBjYWxsYmFjayA9ICgpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBTeXN0ZW1JbmZvTW9kYWwodGhpcy5wbHVnaW4uYXBwLCB0aGlzLnNldHRpbmdzKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBQcmVjIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vRmVhdHVyZVwiO1xuXG5pbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IEluZGVudExpc3QgfSBmcm9tIFwiLi4vb3BlcmF0aW9ucy9JbmRlbnRMaXN0XCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9JTUVEZXRlY3RvclwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvT3BlcmF0aW9uUGVyZm9ybWVyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2sgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlS2V5bWFwUnVuQ2FsbGJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIFRhYkJlaGF2aW91ck92ZXJyaWRlIGltcGxlbWVudHMgRmVhdHVyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcixcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25QZXJmb3JtZXI6IE9wZXJhdGlvblBlcmZvcm1lclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckVkaXRvckV4dGVuc2lvbihcbiAgICAgIFByZWMuaGlnaGVzdChcbiAgICAgICAga2V5bWFwLm9mKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiVGFiXCIsXG4gICAgICAgICAgICBydW46IGNyZWF0ZUtleW1hcFJ1bkNhbGxiYWNrKHtcbiAgICAgICAgICAgICAgY2hlY2s6IHRoaXMuY2hlY2ssXG4gICAgICAgICAgICAgIHJ1bjogdGhpcy5ydW4sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7fVxuXG4gIHByaXZhdGUgY2hlY2sgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVUYWJCZWhhdmlvdXIgJiYgIXRoaXMuaW1lRGV0ZWN0b3IuaXNPcGVuZWQoKTtcbiAgfTtcblxuICBwcml2YXRlIHJ1biA9IChlZGl0b3I6IE15RWRpdG9yKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyLnBlcmZvcm0oXG4gICAgICAocm9vdCkgPT5cbiAgICAgICAgbmV3IEluZGVudExpc3Qocm9vdCwgdGhpcy5vYnNpZGlhblNldHRpbmdzLmdldERlZmF1bHRJbmRlbnRDaGFycygpKSxcbiAgICAgIGVkaXRvclxuICAgICk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBQbHVnaW5fMiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQge1xuICBFZGl0b3JWaWV3LFxuICBQbHVnaW5WYWx1ZSxcbiAgVmlld1BsdWdpbixcbiAgVmlld1VwZGF0ZSxcbn0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gXCIuL0ZlYXR1cmVcIjtcblxuaW1wb3J0IHsgTXlFZGl0b3IsIGdldEVkaXRvckZyb21TdGF0ZSB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IExpc3QgfSBmcm9tIFwiLi4vcm9vdFwiO1xuaW1wb3J0IHsgT2JzaWRpYW5TZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi4vc2VydmljZXMvUGFyc2VyXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5jb25zdCBWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTID0gXCJvdXRsaW5lci1wbHVnaW4tdmVydGljYWwtbGluZXNcIjtcblxuaW50ZXJmYWNlIExpbmVEYXRhIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGxpc3Q6IExpc3Q7XG59XG5cbmNsYXNzIFZlcnRpY2FsTGluZXNQbHVnaW5WYWx1ZSBpbXBsZW1lbnRzIFBsdWdpblZhbHVlIHtcbiAgcHJpdmF0ZSBzY2hlZHVsZWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIHNjcm9sbGVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBjb250ZW50Q29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBlZGl0b3I6IE15RWRpdG9yO1xuICBwcml2YXRlIGxhc3RMaW5lOiBudW1iZXI7XG4gIHByaXZhdGUgbGluZXM6IExpbmVEYXRhW107XG4gIHByaXZhdGUgbGluZUVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBvYnNpZGlhblNldHRpbmdzOiBPYnNpZGlhblNldHRpbmdzLFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSB2aWV3OiBFZGl0b3JWaWV3XG4gICkge1xuICAgIHRoaXMudmlldy5zY3JvbGxET00uYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICB0aGlzLnNldHRpbmdzLm9uQ2hhbmdlKHRoaXMuc2NoZWR1bGVSZWNhbGN1bGF0ZSk7XG5cbiAgICB0aGlzLnByZXBhcmVEb20oKTtcbiAgICB0aGlzLndhaXRGb3JFZGl0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgd2FpdEZvckVkaXRvciA9ICgpID0+IHtcbiAgICBjb25zdCBlZGl0b3IgPSBnZXRFZGl0b3JGcm9tU3RhdGUodGhpcy52aWV3LnN0YXRlKTtcbiAgICBpZiAoIWVkaXRvcikge1xuICAgICAgc2V0VGltZW91dCh0aGlzLndhaXRGb3JFZGl0b3IsIDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIHByZXBhcmVEb20oKSB7XG4gICAgdGhpcy5jb250ZW50Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuY2xhc3NMaXN0LmFkZChcbiAgICAgIFwib3V0bGluZXItcGx1Z2luLWxpc3QtbGluZXMtY29udGVudC1jb250YWluZXJcIlxuICAgICk7XG5cbiAgICB0aGlzLnNjcm9sbGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICB0aGlzLnNjcm9sbGVyLmNsYXNzTGlzdC5hZGQoXCJvdXRsaW5lci1wbHVnaW4tbGlzdC1saW5lcy1zY3JvbGxlclwiKTtcblxuICAgIHRoaXMuc2Nyb2xsZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50Q29udGFpbmVyKTtcbiAgICB0aGlzLnZpZXcuZG9tLmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNjcm9sbCA9IChlOiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wIH0gPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnNjcm9sbGVyLnNjcm9sbFRvKHNjcm9sbExlZnQsIHNjcm9sbFRvcCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZVJlY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZCk7XG4gICAgdGhpcy5zY2hlZHVsZWQgPSBzZXRUaW1lb3V0KHRoaXMuY2FsY3VsYXRlLCAwKTtcbiAgfTtcblxuICB1cGRhdGUodXBkYXRlOiBWaWV3VXBkYXRlKSB7XG4gICAgaWYgKFxuICAgICAgdXBkYXRlLmRvY0NoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS52aWV3cG9ydENoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS5nZW9tZXRyeUNoYW5nZWQgfHxcbiAgICAgIHVwZGF0ZS50cmFuc2FjdGlvbnMuc29tZSgodHIpID0+IHRyLnJlY29uZmlndXJlZClcbiAgICApIHtcbiAgICAgIHRoaXMuc2NoZWR1bGVSZWNhbGN1bGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlID0gKCkgPT4ge1xuICAgIHRoaXMubGluZXMgPSBbXTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuc2V0dGluZ3MudmVydGljYWxMaW5lcyAmJlxuICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpICYmXG4gICAgICB0aGlzLnZpZXcudmlld3BvcnRMaW5lQmxvY2tzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMudmlldy52aXNpYmxlUmFuZ2VzLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGNvbnN0IGZyb21MaW5lID0gdGhpcy5lZGl0b3Iub2Zmc2V0VG9Qb3ModGhpcy52aWV3LnZpZXdwb3J0LmZyb20pLmxpbmU7XG4gICAgICBjb25zdCB0b0xpbmUgPSB0aGlzLmVkaXRvci5vZmZzZXRUb1Bvcyh0aGlzLnZpZXcudmlld3BvcnQudG8pLmxpbmU7XG4gICAgICBjb25zdCBsaXN0cyA9IHRoaXMucGFyc2VyLnBhcnNlUmFuZ2UodGhpcy5lZGl0b3IsIGZyb21MaW5lLCB0b0xpbmUpO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpc3Qgb2YgbGlzdHMpIHtcbiAgICAgICAgdGhpcy5sYXN0TGluZSA9IGxpc3QuZ2V0Q29udGVudEVuZCgpLmxpbmU7XG5cbiAgICAgICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICAgIHRoaXMucmVjdXJzaXZlKGMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGluZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgYS50b3AgPT09IGIudG9wID8gYS5sZWZ0IC0gYi5sZWZ0IDogYS50b3AgLSBiLnRvcFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURvbSgpO1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0TmV4dFNpYmxpbmcobGlzdDogTGlzdCk6IExpc3QgfCBudWxsIHtcbiAgICBsZXQgbGlzdFRtcCA9IGxpc3Q7XG4gICAgbGV0IHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIHdoaWxlIChwKSB7XG4gICAgICBjb25zdCBuZXh0U2libGluZyA9IHAuZ2V0TmV4dFNpYmxpbmdPZihsaXN0VG1wKTtcbiAgICAgIGlmIChuZXh0U2libGluZykge1xuICAgICAgICByZXR1cm4gbmV4dFNpYmxpbmc7XG4gICAgICB9XG4gICAgICBsaXN0VG1wID0gcDtcbiAgICAgIHAgPSBsaXN0VG1wLmdldFBhcmVudCgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVjdXJzaXZlKGxpc3Q6IExpc3QsIHBhcmVudEN0eDogeyByb290TGVmdD86IG51bWJlciB9ID0ge30pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGxpc3QuZ2V0Q2hpbGRyZW4oKTtcblxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lLFxuICAgICAgY2g6IGxpc3QuZ2V0Rmlyc3RMaW5lSW5kZW50KCkubGVuZ3RoLFxuICAgIH0pO1xuICAgIGNvbnN0IG5leHRTaWJsaW5nID0gdGhpcy5nZXROZXh0U2libGluZyhsaXN0KTtcbiAgICBjb25zdCB0aWxsT2Zmc2V0ID0gdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoe1xuICAgICAgbGluZTogbmV4dFNpYmxpbmdcbiAgICAgICAgPyBuZXh0U2libGluZy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lIC0gMVxuICAgICAgICA6IHRoaXMubGFzdExpbmUsXG4gICAgICBjaDogMCxcbiAgICB9KTtcblxuICAgIGxldCB2aXNpYmxlRnJvbSA9IHRoaXMudmlldy52aXNpYmxlUmFuZ2VzWzBdLmZyb207XG4gICAgbGV0IHZpc2libGVUbyA9XG4gICAgICB0aGlzLnZpZXcudmlzaWJsZVJhbmdlc1t0aGlzLnZpZXcudmlzaWJsZVJhbmdlcy5sZW5ndGggLSAxXS50bztcbiAgICBjb25zdCB6b29tUmFuZ2UgPSB0aGlzLmVkaXRvci5nZXRab29tUmFuZ2UoKTtcbiAgICBpZiAoem9vbVJhbmdlKSB7XG4gICAgICB2aXNpYmxlRnJvbSA9IE1hdGgubWF4KFxuICAgICAgICB2aXNpYmxlRnJvbSxcbiAgICAgICAgdGhpcy5lZGl0b3IucG9zVG9PZmZzZXQoem9vbVJhbmdlLmZyb20pXG4gICAgICApO1xuICAgICAgdmlzaWJsZVRvID0gTWF0aC5taW4odmlzaWJsZVRvLCB0aGlzLmVkaXRvci5wb3NUb09mZnNldCh6b29tUmFuZ2UudG8pKTtcbiAgICB9XG5cbiAgICBpZiAoZnJvbU9mZnNldCA+IHZpc2libGVUbyB8fCB0aWxsT2Zmc2V0IDwgdmlzaWJsZUZyb20pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb29yZHMgPSB0aGlzLnZpZXcuY29vcmRzQXRQb3MoZnJvbU9mZnNldCwgMSk7XG4gICAgaWYgKHBhcmVudEN0eC5yb290TGVmdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJlbnRDdHgucm9vdExlZnQgPSBjb29yZHMubGVmdDtcbiAgICB9XG4gICAgY29uc3QgbGVmdCA9IE1hdGguZmxvb3IoY29vcmRzLnJpZ2h0IC0gcGFyZW50Q3R4LnJvb3RMZWZ0KTtcblxuICAgIGNvbnN0IHRvcCA9XG4gICAgICB2aXNpYmxlRnJvbSA+IDAgJiYgZnJvbU9mZnNldCA8IHZpc2libGVGcm9tXG4gICAgICAgID8gLTIwXG4gICAgICAgIDogdGhpcy52aWV3LmxpbmVCbG9ja0F0KGZyb21PZmZzZXQpLnRvcDtcbiAgICBjb25zdCBib3R0b20gPVxuICAgICAgdGlsbE9mZnNldCA+IHZpc2libGVUb1xuICAgICAgICA/IHRoaXMudmlldy5saW5lQmxvY2tBdCh2aXNpYmxlVG8gLSAxKS5ib3R0b21cbiAgICAgICAgOiB0aGlzLnZpZXcubGluZUJsb2NrQXQodGlsbE9mZnNldCkuYm90dG9tO1xuICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcblxuICAgIGlmIChoZWlnaHQgPiAwICYmICFsaXN0LmlzRm9sZGVkKCkpIHtcbiAgICAgIGNvbnN0IG5leHRTaWJsaW5nID0gbGlzdC5nZXRQYXJlbnQoKS5nZXROZXh0U2libGluZ09mKGxpc3QpO1xuICAgICAgY29uc3QgaGFzTmV4dFNpYmxpbmcgPVxuICAgICAgICAhIW5leHRTaWJsaW5nICYmXG4gICAgICAgIHRoaXMuZWRpdG9yLnBvc1RvT2Zmc2V0KG5leHRTaWJsaW5nLmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpKSA8PVxuICAgICAgICAgIHZpc2libGVUbztcblxuICAgICAgdGhpcy5saW5lcy5wdXNoKHtcbiAgICAgICAgdG9wLFxuICAgICAgICBsZWZ0LFxuICAgICAgICBoZWlnaHQ6IGBjYWxjKCR7aGVpZ2h0fXB4ICR7aGFzTmV4dFNpYmxpbmcgPyBcIi0gMS41ZW1cIiA6IFwiLSAyZW1cIn0pYCxcbiAgICAgICAgbGlzdCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmICghY2hpbGQuaXNFbXB0eSgpKSB7XG4gICAgICAgIHRoaXMucmVjdXJzaXZlKGNoaWxkLCBwYXJlbnRDdHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DbGljayA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgbGluZSA9IHRoaXMubGluZXNbTnVtYmVyKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZGF0YXNldC5pbmRleCldO1xuXG4gICAgc3dpdGNoICh0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXNBY3Rpb24pIHtcbiAgICAgIGNhc2UgXCJ6b29tLWluXCI6XG4gICAgICAgIHRoaXMuem9vbUluKGxpbmUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcInRvZ2dsZS1mb2xkaW5nXCI6XG4gICAgICAgIHRoaXMudG9nZ2xlRm9sZGluZyhsaW5lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgem9vbUluKGxpbmU6IExpbmVEYXRhKSB7XG4gICAgY29uc3QgZWRpdG9yID0gZ2V0RWRpdG9yRnJvbVN0YXRlKHRoaXMudmlldy5zdGF0ZSk7XG5cbiAgICBlZGl0b3Iuem9vbUluKGxpbmUubGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlRm9sZGluZyhsaW5lOiBMaW5lRGF0YSkge1xuICAgIGNvbnN0IHsgbGlzdCB9ID0gbGluZTtcblxuICAgIGlmIChsaXN0LmlzRW1wdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBuZWVkVG9VbmZvbGQgPSB0cnVlO1xuICAgIGNvbnN0IGxpbmVzVG9Ub2dnbGU6IG51bWJlcltdID0gW107XG4gICAgZm9yIChjb25zdCBjIG9mIGxpc3QuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgaWYgKGMuaXNFbXB0eSgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFjLmlzRm9sZGVkKCkpIHtcbiAgICAgICAgbmVlZFRvVW5mb2xkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBsaW5lc1RvVG9nZ2xlLnB1c2goYy5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKS5saW5lKTtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0b3IgPSBnZXRFZGl0b3JGcm9tU3RhdGUodGhpcy52aWV3LnN0YXRlKTtcblxuICAgIGZvciAoY29uc3QgbCBvZiBsaW5lc1RvVG9nZ2xlKSB7XG4gICAgICBpZiAobmVlZFRvVW5mb2xkKSB7XG4gICAgICAgIGVkaXRvci51bmZvbGQobCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlZGl0b3IuZm9sZChsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvbSgpIHtcbiAgICBjb25zdCBjbVNjcm9sbCA9IHRoaXMudmlldy5zY3JvbGxET007XG4gICAgY29uc3QgY21Db250ZW50ID0gdGhpcy52aWV3LmNvbnRlbnRET007XG4gICAgY29uc3QgY21Db250ZW50Q29udGFpbmVyID0gY21Db250ZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgY29uc3QgY21TaXplciA9IGNtQ29udGVudENvbnRhaW5lci5wYXJlbnRFbGVtZW50O1xuXG4gICAgLyoqXG4gICAgICogT2JzaWRpYW4gY2FuIGFkZCBhZGRpdGlvbmFsIGVsZW1lbnRzIGludG8gQ29udGVudCBNYW5hZ2VyLlxuICAgICAqIFRoZSBtb3N0IG9idmlvdXMgY2FzZSBpcyB0aGUgJ2VtYmVkZGVkLWJhY2tsaW5rcycgY29yZSBwbHVnaW4gdGhhdCBhZGRzIGEgbWVudSBpbnNpZGUgYSBDb250ZW50IE1hbmFnZXIuXG4gICAgICogV2UgbXVzdCB0YWtlIGhlaWdodHMgb2YgYWxsIG9mIHRoZXNlIGVsZW1lbnRzIGludG8gYWNjb3VudFxuICAgICAqIHRvIGJlIGFibGUgdG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHNpemUgb2YgbGluZXMnIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBsZXQgY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNtU2l6ZXIuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNtU2l6ZXJDaGlsZHJlblN1bUhlaWdodCArPSBjbVNpemVyLmNoaWxkcmVuW2ldLmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICB0aGlzLnNjcm9sbGVyLnN0eWxlLnRvcCA9IGNtU2Nyb2xsLm9mZnNldFRvcCArIFwicHhcIjtcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXIuc3R5bGUuaGVpZ2h0ID0gY21TaXplckNoaWxkcmVuU3VtSGVpZ2h0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5MZWZ0ID1cbiAgICAgIGNtQ29udGVudENvbnRhaW5lci5vZmZzZXRMZWZ0ICsgXCJweFwiO1xuICAgIHRoaXMuY29udGVudENvbnRhaW5lci5zdHlsZS5tYXJnaW5Ub3AgPVxuICAgICAgKGNtQ29udGVudC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0VG9wIC0gMjQgKyBcInB4XCI7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGggPT09IGkpIHtcbiAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGUuY2xhc3NMaXN0LmFkZChcIm91dGxpbmVyLXBsdWdpbi1saXN0LWxpbmVcIik7XG4gICAgICAgIGUuZGF0YXNldC5pbmRleCA9IFN0cmluZyhpKTtcbiAgICAgICAgZS5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMub25DbGljayk7XG4gICAgICAgIHRoaXMuY29udGVudENvbnRhaW5lci5hcHBlbmRDaGlsZChlKTtcbiAgICAgICAgdGhpcy5saW5lRWxlbWVudHMucHVzaChlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbCA9IHRoaXMubGluZXNbaV07XG4gICAgICBjb25zdCBlID0gdGhpcy5saW5lRWxlbWVudHNbaV07XG4gICAgICBlLnN0eWxlLnRvcCA9IGwudG9wICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gbC5sZWZ0ICsgXCJweFwiO1xuICAgICAgZS5zdHlsZS5oZWlnaHQgPSBsLmhlaWdodDtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gdGhpcy5saW5lcy5sZW5ndGg7IGkgPCB0aGlzLmxpbmVFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZSA9IHRoaXMubGluZUVsZW1lbnRzW2ldO1xuICAgICAgZS5zdHlsZS50b3AgPSBcIjBweFwiO1xuICAgICAgZS5zdHlsZS5sZWZ0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuaGVpZ2h0ID0gXCIwcHhcIjtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZXR0aW5ncy5yZW1vdmVDYWxsYmFjayh0aGlzLnNjaGVkdWxlUmVjYWxjdWxhdGUpO1xuICAgIHRoaXMudmlldy5zY3JvbGxET00ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICB0aGlzLnZpZXcuZG9tLnJlbW92ZUNoaWxkKHRoaXMuc2Nyb2xsZXIpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNjaGVkdWxlZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZlcnRpY2FsTGluZXMgaW1wbGVtZW50cyBGZWF0dXJlIHtcbiAgcHJpdmF0ZSB1cGRhdGVCb2R5Q2xhc3NJbnRlcnZhbDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGx1Z2luOiBQbHVnaW5fMixcbiAgICBwcml2YXRlIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3MsXG4gICAgcHJpdmF0ZSBwYXJzZXI6IFBhcnNlclxuICApIHt9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnVwZGF0ZUJvZHlDbGFzcygpO1xuICAgIHRoaXMudXBkYXRlQm9keUNsYXNzSW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVCb2R5Q2xhc3MoKTtcbiAgICB9LCAxMDAwKTtcblxuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFxuICAgICAgVmlld1BsdWdpbi5kZWZpbmUoXG4gICAgICAgICh2aWV3KSA9PlxuICAgICAgICAgIG5ldyBWZXJ0aWNhbExpbmVzUGx1Z2luVmFsdWUoXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLFxuICAgICAgICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICAgICAgICB2aWV3XG4gICAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZUJvZHlDbGFzc0ludGVydmFsKTtcbiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoVkVSVElDQUxfTElORVNfQk9EWV9DTEFTUyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJvZHlDbGFzcyA9ICgpID0+IHtcbiAgICBjb25zdCBzaG91bGRFeGlzdHMgPVxuICAgICAgdGhpcy5vYnNpZGlhblNldHRpbmdzLmlzRGVmYXVsdFRoZW1lRW5hYmxlZCgpICYmXG4gICAgICB0aGlzLnNldHRpbmdzLnZlcnRpY2FsTGluZXM7XG4gICAgY29uc3QgZXhpc3RzID0gZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoVkVSVElDQUxfTElORVNfQk9EWV9DTEFTUyk7XG5cbiAgICBpZiAoc2hvdWxkRXhpc3RzICYmICFleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTKTtcbiAgICB9XG5cbiAgICBpZiAoIXNob3VsZEV4aXN0cyAmJiBleGlzdHMpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShWRVJUSUNBTF9MSU5FU19CT0RZX0NMQVNTKTtcbiAgICB9XG4gIH07XG59XG4iLCJpbXBvcnQgeyBNeUVkaXRvciB9IGZyb20gXCIuLi9lZGl0b3JcIjtcbmltcG9ydCB7IExpc3QsIFBvc2l0aW9uLCBSb290LCBpc1Jhbmdlc0ludGVyc2VjdHMgfSBmcm9tIFwiLi4vcm9vdFwiO1xuXG5leHBvcnQgY2xhc3MgQ2hhbmdlc0FwcGxpY2F0b3Ige1xuICBhcHBseShlZGl0b3I6IE15RWRpdG9yLCBwcmV2Um9vdDogUm9vdCwgbmV3Um9vdDogUm9vdCkge1xuICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmNhbGN1bGF0ZUNoYW5nZXMoZWRpdG9yLCBwcmV2Um9vdCwgbmV3Um9vdCk7XG4gICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IHsgcmVwbGFjZW1lbnQsIGNoYW5nZUZyb20sIGNoYW5nZVRvIH0gPSBjaGFuZ2VzO1xuXG4gICAgICBjb25zdCB7IHVuZm9sZCwgZm9sZCB9ID0gdGhpcy5jYWxjdWxhdGVGb2xkaW5nT3ByYXRpb25zKFxuICAgICAgICBwcmV2Um9vdCxcbiAgICAgICAgbmV3Um9vdCxcbiAgICAgICAgY2hhbmdlRnJvbSxcbiAgICAgICAgY2hhbmdlVG9cbiAgICAgICk7XG5cbiAgICAgIGZvciAoY29uc3QgbGluZSBvZiB1bmZvbGQpIHtcbiAgICAgICAgZWRpdG9yLnVuZm9sZChsaW5lKTtcbiAgICAgIH1cblxuICAgICAgZWRpdG9yLnJlcGxhY2VSYW5nZShyZXBsYWNlbWVudCwgY2hhbmdlRnJvbSwgY2hhbmdlVG8pO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgZm9sZCkge1xuICAgICAgICBlZGl0b3IuZm9sZChsaW5lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0b3Iuc2V0U2VsZWN0aW9ucyhuZXdSb290LmdldFNlbGVjdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUNoYW5nZXMoZWRpdG9yOiBNeUVkaXRvciwgcHJldlJvb3Q6IFJvb3QsIG5ld1Jvb3Q6IFJvb3QpIHtcbiAgICBjb25zdCByb290UmFuZ2UgPSBwcmV2Um9vdC5nZXRDb250ZW50UmFuZ2UoKTtcbiAgICBjb25zdCBvbGRTdHJpbmcgPSBlZGl0b3IuZ2V0UmFuZ2Uocm9vdFJhbmdlWzBdLCByb290UmFuZ2VbMV0pO1xuICAgIGNvbnN0IG5ld1N0cmluZyA9IG5ld1Jvb3QucHJpbnQoKTtcblxuICAgIGNvbnN0IGNoYW5nZUZyb20gPSB7IC4uLnJvb3RSYW5nZVswXSB9O1xuICAgIGNvbnN0IGNoYW5nZVRvID0geyAuLi5yb290UmFuZ2VbMV0gfTtcbiAgICBsZXQgb2xkVG1wID0gb2xkU3RyaW5nO1xuICAgIGxldCBuZXdUbXAgPSBuZXdTdHJpbmc7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgbmxJbmRleCA9IG9sZFRtcC5sYXN0SW5kZXhPZihcIlxcblwiKTtcblxuICAgICAgaWYgKG5sSW5kZXggPCAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lID0gb2xkVG1wLnNsaWNlKG5sSW5kZXgpO1xuICAgICAgY29uc3QgbmV3TGluZSA9IG5ld1RtcC5zbGljZSgtb2xkTGluZS5sZW5ndGgpO1xuXG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgb2xkVG1wID0gb2xkVG1wLnNsaWNlKDAsIC1vbGRMaW5lLmxlbmd0aCk7XG4gICAgICBuZXdUbXAgPSBuZXdUbXAuc2xpY2UoMCwgLW9sZExpbmUubGVuZ3RoKTtcbiAgICAgIGNvbnN0IG5sSW5kZXgyID0gb2xkVG1wLmxhc3RJbmRleE9mKFwiXFxuXCIpO1xuICAgICAgY2hhbmdlVG8uY2ggPVxuICAgICAgICBubEluZGV4MiA+PSAwID8gb2xkVG1wLmxlbmd0aCAtIG5sSW5kZXgyIC0gMSA6IG9sZFRtcC5sZW5ndGg7XG4gICAgICBjaGFuZ2VUby5saW5lLS07XG4gICAgfVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IG5sSW5kZXggPSBvbGRUbXAuaW5kZXhPZihcIlxcblwiKTtcblxuICAgICAgaWYgKG5sSW5kZXggPCAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGRMaW5lID0gb2xkVG1wLnNsaWNlKDAsIG5sSW5kZXggKyAxKTtcbiAgICAgIGNvbnN0IG5ld0xpbmUgPSBuZXdUbXAuc2xpY2UoMCwgb2xkTGluZS5sZW5ndGgpO1xuXG4gICAgICBpZiAob2xkTGluZSAhPT0gbmV3TGluZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2hhbmdlRnJvbS5saW5lKys7XG4gICAgICBvbGRUbXAgPSBvbGRUbXAuc2xpY2Uob2xkTGluZS5sZW5ndGgpO1xuICAgICAgbmV3VG1wID0gbmV3VG1wLnNsaWNlKG9sZExpbmUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAob2xkVG1wID09PSBuZXdUbXApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZXBsYWNlbWVudDogbmV3VG1wLFxuICAgICAgY2hhbmdlRnJvbSxcbiAgICAgIGNoYW5nZVRvLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUZvbGRpbmdPcHJhdGlvbnMoXG4gICAgcHJldlJvb3Q6IFJvb3QsXG4gICAgbmV3Um9vdDogUm9vdCxcbiAgICBjaGFuZ2VGcm9tOiBQb3NpdGlvbixcbiAgICBjaGFuZ2VUbzogUG9zaXRpb25cbiAgKSB7XG4gICAgY29uc3QgY2hhbmdlZFJhbmdlOiBbUG9zaXRpb24sIFBvc2l0aW9uXSA9IFtjaGFuZ2VGcm9tLCBjaGFuZ2VUb107XG5cbiAgICBjb25zdCBwcmV2TGlzdHMgPSBnZXRBbGxDaGlsZHJlbihwcmV2Um9vdCk7XG4gICAgY29uc3QgbmV3TGlzdHMgPSBnZXRBbGxDaGlsZHJlbihuZXdSb290KTtcblxuICAgIGNvbnN0IHVuZm9sZDogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBmb2xkOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcmV2TGlzdCBvZiBwcmV2TGlzdHMudmFsdWVzKCkpIHtcbiAgICAgIGlmICghcHJldkxpc3QuaXNGb2xkUm9vdCgpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdMaXN0ID0gbmV3TGlzdHMuZ2V0KHByZXZMaXN0LmdldElEKCkpO1xuXG4gICAgICBpZiAoIW5ld0xpc3QpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByZXZMaXN0UmFuZ2U6IFtQb3NpdGlvbiwgUG9zaXRpb25dID0gW1xuICAgICAgICBwcmV2TGlzdC5nZXRGaXJzdExpbmVDb250ZW50U3RhcnQoKSxcbiAgICAgICAgcHJldkxpc3QuZ2V0Q29udGVudEVuZEluY2x1ZGluZ0NoaWxkcmVuKCksXG4gICAgICBdO1xuXG4gICAgICBpZiAoaXNSYW5nZXNJbnRlcnNlY3RzKHByZXZMaXN0UmFuZ2UsIGNoYW5nZWRSYW5nZSkpIHtcbiAgICAgICAgdW5mb2xkLnB1c2gocHJldkxpc3QuZ2V0Rmlyc3RMaW5lQ29udGVudFN0YXJ0KCkubGluZSk7XG4gICAgICAgIGZvbGQucHVzaChuZXdMaXN0LmdldEZpcnN0TGluZUNvbnRlbnRTdGFydCgpLmxpbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVuZm9sZC5zb3J0KChhLCBiKSA9PiBiIC0gYSk7XG4gICAgZm9sZC5zb3J0KChhLCBiKSA9PiBiIC0gYSk7XG5cbiAgICByZXR1cm4geyB1bmZvbGQsIGZvbGQgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBbGxDaGlsZHJlblJlZHVjZUZuKGFjYzogTWFwPG51bWJlciwgTGlzdD4sIGNoaWxkOiBMaXN0KSB7XG4gIGFjYy5zZXQoY2hpbGQuZ2V0SUQoKSwgY2hpbGQpO1xuICBjaGlsZC5nZXRDaGlsZHJlbigpLnJlZHVjZShnZXRBbGxDaGlsZHJlblJlZHVjZUZuLCBhY2MpO1xuXG4gIHJldHVybiBhY2M7XG59XG5cbmZ1bmN0aW9uIGdldEFsbENoaWxkcmVuKHJvb3Q6IFJvb3QpOiBNYXA8bnVtYmVyLCBMaXN0PiB7XG4gIHJldHVybiByb290LmdldENoaWxkcmVuKCkucmVkdWNlKGdldEFsbENoaWxkcmVuUmVkdWNlRm4sIG5ldyBNYXAoKSk7XG59XG4iLCJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5leHBvcnQgY2xhc3MgSU1FRGV0ZWN0b3Ige1xuICBwcml2YXRlIGNvbXBvc2l0aW9uID0gZmFsc2U7XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25zdGFydFwiLCB0aGlzLm9uQ29tcG9zaXRpb25TdGFydCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uZW5kXCIsIHRoaXMub25Db21wb3NpdGlvbkVuZCk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoKSB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uZW5kXCIsIHRoaXMub25Db21wb3NpdGlvbkVuZCk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uc3RhcnRcIiwgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQpO1xuICB9XG5cbiAgaXNPcGVuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9zaXRpb24gJiYgUGxhdGZvcm0uaXNEZXNrdG9wO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbXBvc2l0aW9uU3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5jb21wb3NpdGlvbiA9IHRydWU7XG4gIH07XG5cbiAgcHJpdmF0ZSBvbkNvbXBvc2l0aW9uRW5kID0gKCkgPT4ge1xuICAgIHRoaXMuY29tcG9zaXRpb24gPSBmYWxzZTtcbiAgfTtcbn1cbiIsIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcblxuZXhwb3J0IGNsYXNzIExvZ2dlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzKSB7fVxuXG4gIGxvZyhtZXRob2Q6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MuZGVidWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmluZm8obWV0aG9kLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGJpbmQobWV0aG9kOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB0aGlzLmxvZyhtZXRob2QsIC4uLmFyZ3MpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBBcHAgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGludGVyZmFjZSBPYnNpZGlhblRhYnNTZXR0aW5ncyB7XG4gIHVzZVRhYjogYm9vbGVhbjtcbiAgdGFiU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuRm9sZFNldHRpbmdzIHtcbiAgZm9sZEluZGVudDogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gZ2V0SGlkZGVuT2JzaWRpYW5Db25maWcoYXBwOiBBcHApIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmV0dXJuIChhcHAudmF1bHQgYXMgYW55KS5jb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBPYnNpZGlhblNldHRpbmdzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCkge31cblxuICBpc0xlZ2FjeUVkaXRvckVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGxlZ2FjeUVkaXRvcjogYm9vbGVhbiB9ID0ge1xuICAgICAgbGVnYWN5RWRpdG9yOiBmYWxzZSxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZy5sZWdhY3lFZGl0b3I7XG4gIH1cblxuICBpc0RlZmF1bHRUaGVtZUVuYWJsZWQoKSB7XG4gICAgY29uc3QgY29uZmlnOiB7IGNzc1RoZW1lOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNzc1RoZW1lOiBcIlwiLFxuICAgICAgLi4uZ2V0SGlkZGVuT2JzaWRpYW5Db25maWcodGhpcy5hcHApLFxuICAgIH07XG5cbiAgICByZXR1cm4gY29uZmlnLmNzc1RoZW1lID09PSBcIlwiO1xuICB9XG5cbiAgZ2V0VGFic1NldHRpbmdzKCk6IE9ic2lkaWFuVGFic1NldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXNlVGFiOiB0cnVlLFxuICAgICAgdGFiU2l6ZTogNCxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Rm9sZFNldHRpbmdzKCk6IE9ic2lkaWFuRm9sZFNldHRpbmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9sZEluZGVudDogdHJ1ZSxcbiAgICAgIC4uLmdldEhpZGRlbk9ic2lkaWFuQ29uZmlnKHRoaXMuYXBwKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGVmYXVsdEluZGVudENoYXJzKCkge1xuICAgIGNvbnN0IHsgdXNlVGFiLCB0YWJTaXplIH0gPSB0aGlzLmdldFRhYnNTZXR0aW5ncygpO1xuXG4gICAgcmV0dXJuIHVzZVRhYiA/IFwiXFx0XCIgOiBuZXcgQXJyYXkodGFiU2l6ZSkuZmlsbChcIiBcIikuam9pbihcIlwiKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ2hhbmdlc0FwcGxpY2F0b3IgfSBmcm9tIFwiLi9DaGFuZ2VzQXBwbGljYXRvclwiO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSBcIi4vUGFyc2VyXCI7XG5cbmltcG9ydCB7IE15RWRpdG9yIH0gZnJvbSBcIi4uL2VkaXRvclwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSBcIi4uL29wZXJhdGlvbnMvT3BlcmF0aW9uXCI7XG5pbXBvcnQgeyBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcblxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvblBlcmZvcm1lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyc2VyOiBQYXJzZXIsXG4gICAgcHJpdmF0ZSBjaGFuZ2VzQXBwbGljYXRvcjogQ2hhbmdlc0FwcGxpY2F0b3JcbiAgKSB7fVxuXG4gIGV2YWwocm9vdDogUm9vdCwgb3A6IE9wZXJhdGlvbiwgZWRpdG9yOiBNeUVkaXRvcikge1xuICAgIGNvbnN0IHByZXZSb290ID0gcm9vdC5jbG9uZSgpO1xuXG4gICAgb3AucGVyZm9ybSgpO1xuXG4gICAgaWYgKG9wLnNob3VsZFVwZGF0ZSgpKSB7XG4gICAgICB0aGlzLmNoYW5nZXNBcHBsaWNhdG9yLmFwcGx5KGVkaXRvciwgcHJldlJvb3QsIHJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzaG91bGRVcGRhdGU6IG9wLnNob3VsZFVwZGF0ZSgpLFxuICAgICAgc2hvdWxkU3RvcFByb3BhZ2F0aW9uOiBvcC5zaG91bGRTdG9wUHJvcGFnYXRpb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcGVyZm9ybShcbiAgICBjYjogKHJvb3Q6IFJvb3QpID0+IE9wZXJhdGlvbixcbiAgICBlZGl0b3I6IE15RWRpdG9yLFxuICAgIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKVxuICApIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5wYXJzZXIucGFyc2UoZWRpdG9yLCBjdXJzb3IpO1xuXG4gICAgaWYgKCFyb290KSB7XG4gICAgICByZXR1cm4geyBzaG91bGRVcGRhdGU6IGZhbHNlLCBzaG91bGRTdG9wUHJvcGFnYXRpb246IGZhbHNlIH07XG4gICAgfVxuXG4gICAgY29uc3Qgb3AgPSBjYihyb290KTtcblxuICAgIHJldHVybiB0aGlzLmV2YWwocm9vdCwgb3AsIGVkaXRvcik7XG4gIH1cbn1cbiIsImltcG9ydCB7IExvZ2dlciB9IGZyb20gXCIuL0xvZ2dlclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi9TZXR0aW5nc1wiO1xuXG5pbXBvcnQgeyBMaXN0LCBSb290IH0gZnJvbSBcIi4uL3Jvb3RcIjtcbmltcG9ydCB7IGNoZWNrYm94UmUgfSBmcm9tIFwiLi4vdXRpbHMvY2hlY2tib3hSZVwiO1xuXG5jb25zdCBidWxsZXRTaWduUmUgPSBgKD86Wy0qK118XFxcXGQrXFxcXC4pYDtcbmNvbnN0IG9wdGlvbmFsQ2hlY2tib3hSZSA9IGAoPzoke2NoZWNrYm94UmV9KT9gO1xuXG5jb25zdCBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZSA9IG5ldyBSZWdFeHAoYF4ke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBsaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChgXlsgXFx0XSoke2J1bGxldFNpZ25SZX0oIHxcXHQpYCk7XG5jb25zdCBzdHJpbmdXaXRoU3BhY2VzUmUgPSBuZXcgUmVnRXhwKGBeWyBcXHRdK2ApO1xuY29uc3QgcGFyc2VMaXN0SXRlbVJlID0gbmV3IFJlZ0V4cChcbiAgYF4oWyBcXHRdKikoJHtidWxsZXRTaWduUmV9KSggfFxcdCkoJHtvcHRpb25hbENoZWNrYm94UmV9KSguKikkYFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJQb3NpdGlvbiB7XG4gIGxpbmU6IG51bWJlcjtcbiAgY2g6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXJTZWxlY3Rpb24ge1xuICBhbmNob3I6IFJlYWRlclBvc2l0aW9uO1xuICBoZWFkOiBSZWFkZXJQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkZXIge1xuICBnZXRDdXJzb3IoKTogUmVhZGVyUG9zaXRpb247XG4gIGdldExpbmUobjogbnVtYmVyKTogc3RyaW5nO1xuICBsYXN0TGluZSgpOiBudW1iZXI7XG4gIGxpc3RTZWxlY3Rpb25zKCk6IFJlYWRlclNlbGVjdGlvbltdO1xuICBnZXRBbGxGb2xkZWRMaW5lcygpOiBudW1iZXJbXTtcbn1cblxuaW50ZXJmYWNlIFBhcnNlTGlzdExpc3Qge1xuICBnZXRGaXJzdExpbmVJbmRlbnQoKTogc3RyaW5nO1xuICBzZXROb3Rlc0luZGVudChub3Rlc0luZGVudDogc3RyaW5nKTogdm9pZDtcbiAgZ2V0Tm90ZXNJbmRlbnQoKTogc3RyaW5nIHwgbnVsbDtcbiAgYWRkTGluZSh0ZXh0OiBzdHJpbmcpOiB2b2lkO1xuICBnZXRQYXJlbnQoKTogUGFyc2VMaXN0TGlzdCB8IG51bGw7XG4gIGFkZEFmdGVyQWxsKGxpc3Q6IFBhcnNlTGlzdExpc3QpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUGFyc2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IExvZ2dlciwgcHJpdmF0ZSBzZXR0aW5nczogU2V0dGluZ3MpIHt9XG5cbiAgcGFyc2VSYW5nZShlZGl0b3I6IFJlYWRlciwgZnJvbUxpbmUgPSAwLCB0b0xpbmUgPSBlZGl0b3IubGFzdExpbmUoKSk6IFJvb3RbXSB7XG4gICAgY29uc3QgbGlzdHM6IFJvb3RbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IGZyb21MaW5lOyBpIDw9IHRvTGluZTsgaSsrKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUoaSk7XG5cbiAgICAgIGlmIChpID09PSBmcm9tTGluZSB8fCB0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMucGFyc2VXaXRoTGltaXRzKGVkaXRvciwgaSwgZnJvbUxpbmUsIHRvTGluZSk7XG5cbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICBsaXN0cy5wdXNoKGxpc3QpO1xuICAgICAgICAgIGkgPSBsaXN0LmdldENvbnRlbnRFbmQoKS5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RzO1xuICB9XG5cbiAgcGFyc2UoZWRpdG9yOiBSZWFkZXIsIGN1cnNvciA9IGVkaXRvci5nZXRDdXJzb3IoKSk6IFJvb3QgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhMaW1pdHMoZWRpdG9yLCBjdXJzb3IubGluZSwgMCwgZWRpdG9yLmxhc3RMaW5lKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVdpdGhMaW1pdHMoXG4gICAgZWRpdG9yOiBSZWFkZXIsXG4gICAgcGFyc2luZ1N0YXJ0TGluZTogbnVtYmVyLFxuICAgIGxpbWl0RnJvbTogbnVtYmVyLFxuICAgIGxpbWl0VG86IG51bWJlclxuICApOiBSb290IHwgbnVsbCB7XG4gICAgY29uc3QgZCA9IHRoaXMubG9nZ2VyLmJpbmQoXCJwYXJzZUxpc3RcIik7XG4gICAgY29uc3QgZXJyb3IgPSAobXNnOiBzdHJpbmcpOiBudWxsID0+IHtcbiAgICAgIGQobXNnKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUocGFyc2luZ1N0YXJ0TGluZSk7XG5cbiAgICBsZXQgbGlzdExvb2tpbmdQb3M6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuaXNMaXN0SXRlbShsaW5lKSkge1xuICAgICAgbGlzdExvb2tpbmdQb3MgPSBwYXJzaW5nU3RhcnRMaW5lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0xpbmVXaXRoSW5kZW50KGxpbmUpKSB7XG4gICAgICBsZXQgbGlzdExvb2tpbmdQb3NTZWFyY2ggPSBwYXJzaW5nU3RhcnRMaW5lIC0gMTtcbiAgICAgIHdoaWxlIChsaXN0TG9va2luZ1Bvc1NlYXJjaCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0TG9va2luZ1Bvc1NlYXJjaCk7XG4gICAgICAgIGlmICh0aGlzLmlzTGlzdEl0ZW0obGluZSkpIHtcbiAgICAgICAgICBsaXN0TG9va2luZ1BvcyA9IGxpc3RMb29raW5nUG9zU2VhcmNoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICAgIGxpc3RMb29raW5nUG9zU2VhcmNoLS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGlzdExvb2tpbmdQb3MgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBsaXN0U3RhcnRMaW5lOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgbGlzdFN0YXJ0TGluZUxvb2t1cCA9IGxpc3RMb29raW5nUG9zO1xuICAgIHdoaWxlIChsaXN0U3RhcnRMaW5lTG9va3VwID49IDApIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0U3RhcnRMaW5lTG9va3VwKTtcbiAgICAgIGlmICghdGhpcy5pc0xpc3RJdGVtKGxpbmUpICYmICF0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0xpc3RJdGVtV2l0aG91dFNwYWNlcyhsaW5lKSkge1xuICAgICAgICBsaXN0U3RhcnRMaW5lID0gbGlzdFN0YXJ0TGluZUxvb2t1cDtcbiAgICAgICAgaWYgKGxpc3RTdGFydExpbmVMb29rdXAgPD0gbGltaXRGcm9tKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpc3RTdGFydExpbmVMb29rdXAtLTtcbiAgICB9XG5cbiAgICBpZiAobGlzdFN0YXJ0TGluZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGxpc3RFbmRMaW5lID0gbGlzdExvb2tpbmdQb3M7XG4gICAgbGV0IGxpc3RFbmRMaW5lTG9va3VwID0gbGlzdExvb2tpbmdQb3M7XG4gICAgd2hpbGUgKGxpc3RFbmRMaW5lTG9va3VwIDw9IGVkaXRvci5sYXN0TGluZSgpKSB7XG4gICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmVMb29rdXApO1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdEl0ZW0obGluZSkgJiYgIXRoaXMuaXNMaW5lV2l0aEluZGVudChsaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc0VtcHR5TGluZShsaW5lKSkge1xuICAgICAgICBsaXN0RW5kTGluZSA9IGxpc3RFbmRMaW5lTG9va3VwO1xuICAgICAgfVxuICAgICAgaWYgKGxpc3RFbmRMaW5lTG9va3VwID49IGxpbWl0VG8pIHtcbiAgICAgICAgbGlzdEVuZExpbmUgPSBsaW1pdFRvO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGxpc3RFbmRMaW5lTG9va3VwKys7XG4gICAgfVxuXG4gICAgaWYgKGxpc3RTdGFydExpbmUgPiBwYXJzaW5nU3RhcnRMaW5lIHx8IGxpc3RFbmRMaW5lIDwgcGFyc2luZ1N0YXJ0TGluZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIGxhc3QgbGluZSBjb250YWlucyBvbmx5IHNwYWNlcyBhbmQgdGhhdCdzIGluY29ycmVjdCBpbmRlbnQsIHRoZW4gaWdub3JlIHRoZSBsYXN0IGxpbmVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnNsaW5rby9vYnNpZGlhbi1vdXRsaW5lci9pc3N1ZXMvMzY4XG4gICAgaWYgKGxpc3RFbmRMaW5lID4gbGlzdFN0YXJ0TGluZSkge1xuICAgICAgY29uc3QgbGFzdExpbmUgPSBlZGl0b3IuZ2V0TGluZShsaXN0RW5kTGluZSk7XG4gICAgICBpZiAobGFzdExpbmUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCBwcmV2TGluZSA9IGVkaXRvci5nZXRMaW5lKGxpc3RFbmRMaW5lIC0gMSk7XG4gICAgICAgIGNvbnN0IFssIHByZXZMaW5lSW5kZW50XSA9IC9eKFxccyopLy5leGVjKHByZXZMaW5lKTtcbiAgICAgICAgaWYgKCFsYXN0TGluZS5zdGFydHNXaXRoKHByZXZMaW5lSW5kZW50KSkge1xuICAgICAgICAgIGxpc3RFbmRMaW5lLS07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByb290ID0gbmV3IFJvb3QoXG4gICAgICB7IGxpbmU6IGxpc3RTdGFydExpbmUsIGNoOiAwIH0sXG4gICAgICB7IGxpbmU6IGxpc3RFbmRMaW5lLCBjaDogZWRpdG9yLmdldExpbmUobGlzdEVuZExpbmUpLmxlbmd0aCB9LFxuICAgICAgZWRpdG9yLmxpc3RTZWxlY3Rpb25zKCkubWFwKChyKSA9PiAoe1xuICAgICAgICBhbmNob3I6IHsgbGluZTogci5hbmNob3IubGluZSwgY2g6IHIuYW5jaG9yLmNoIH0sXG4gICAgICAgIGhlYWQ6IHsgbGluZTogci5oZWFkLmxpbmUsIGNoOiByLmhlYWQuY2ggfSxcbiAgICAgIH0pKVxuICAgICk7XG5cbiAgICBsZXQgY3VycmVudFBhcmVudDogUGFyc2VMaXN0TGlzdCA9IHJvb3QuZ2V0Um9vdExpc3QoKTtcbiAgICBsZXQgY3VycmVudExpc3Q6IFBhcnNlTGlzdExpc3QgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgY3VycmVudEluZGVudCA9IFwiXCI7XG5cbiAgICBjb25zdCBmb2xkZWRMaW5lcyA9IGVkaXRvci5nZXRBbGxGb2xkZWRMaW5lcygpO1xuXG4gICAgZm9yIChsZXQgbCA9IGxpc3RTdGFydExpbmU7IGwgPD0gbGlzdEVuZExpbmU7IGwrKykge1xuICAgICAgY29uc3QgbGluZSA9IGVkaXRvci5nZXRMaW5lKGwpO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHBhcnNlTGlzdEl0ZW1SZS5leGVjKGxpbmUpO1xuXG4gICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICBjb25zdCBbLCBpbmRlbnQsIGJ1bGxldCwgc3BhY2VBZnRlckJ1bGxldF0gPSBtYXRjaGVzO1xuICAgICAgICBsZXQgWywgLCAsICwgb3B0aW9uYWxDaGVja2JveCwgY29udGVudF0gPSBtYXRjaGVzO1xuXG4gICAgICAgIGNvbnRlbnQgPSBvcHRpb25hbENoZWNrYm94ICsgY29udGVudDtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3Mua2VlcEN1cnNvcldpdGhpbkNvbnRlbnQgIT09IFwiYnVsbGV0LWFuZC1jaGVja2JveFwiKSB7XG4gICAgICAgICAgb3B0aW9uYWxDaGVja2JveCA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wYXJlTGVuZ3RoID0gTWF0aC5taW4oY3VycmVudEluZGVudC5sZW5ndGgsIGluZGVudC5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpbmRlbnRTbGljZSA9IGluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGVudFNsaWNlID0gY3VycmVudEluZGVudC5zbGljZSgwLCBjb21wYXJlTGVuZ3RoKTtcblxuICAgICAgICBpZiAoaW5kZW50U2xpY2UgIT09IGN1cnJlbnRJbmRlbnRTbGljZSkge1xuICAgICAgICAgIGNvbnN0IGV4cGVjdGVkID0gY3VycmVudEluZGVudFNsaWNlXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuICAgICAgICAgIGNvbnN0IGdvdCA9IGluZGVudFNsaWNlLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG5cbiAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICBgVW5hYmxlIHRvIHBhcnNlIGxpc3Q6IGV4cGVjdGVkIGluZGVudCBcIiR7ZXhwZWN0ZWR9XCIsIGdvdCBcIiR7Z290fVwiYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5kZW50Lmxlbmd0aCA+IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRMaXN0O1xuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZW50Lmxlbmd0aCA8IGN1cnJlbnRJbmRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRGaXJzdExpbmVJbmRlbnQoKS5sZW5ndGggPj0gaW5kZW50Lmxlbmd0aCAmJlxuICAgICAgICAgICAgY3VycmVudFBhcmVudC5nZXRQYXJlbnQoKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IGN1cnJlbnRQYXJlbnQuZ2V0UGFyZW50KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGN1cnJlbnRJbmRlbnQgPSBpbmRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb2xkUm9vdCA9IGZvbGRlZExpbmVzLmluY2x1ZGVzKGwpO1xuXG4gICAgICAgIGN1cnJlbnRMaXN0ID0gbmV3IExpc3QoXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBpbmRlbnQsXG4gICAgICAgICAgYnVsbGV0LFxuICAgICAgICAgIG9wdGlvbmFsQ2hlY2tib3gsXG4gICAgICAgICAgc3BhY2VBZnRlckJ1bGxldCxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgIGZvbGRSb290XG4gICAgICAgICk7XG4gICAgICAgIGN1cnJlbnRQYXJlbnQuYWRkQWZ0ZXJBbGwoY3VycmVudExpc3QpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTGluZVdpdGhJbmRlbnQobGluZSkpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdCkge1xuICAgICAgICAgIHJldHVybiBlcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgbGlzdCBpdGVtLCBnb3QgZW1wdHkgbGluZWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZW50VG9DaGVjayA9IGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkgfHwgY3VycmVudEluZGVudDtcblxuICAgICAgICBpZiAobGluZS5pbmRleE9mKGluZGVudFRvQ2hlY2spICE9PSAwKSB7XG4gICAgICAgICAgY29uc3QgZXhwZWN0ZWQgPSBpbmRlbnRUb0NoZWNrLnJlcGxhY2UoLyAvZywgXCJTXCIpLnJlcGxhY2UoL1xcdC9nLCBcIlRcIik7XG4gICAgICAgICAgY29uc3QgZ290ID0gbGluZVxuICAgICAgICAgICAgLm1hdGNoKC9eWyBcXHRdKi8pWzBdXG4gICAgICAgICAgICAucmVwbGFjZSgvIC9nLCBcIlNcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZywgXCJUXCIpO1xuXG4gICAgICAgICAgcmV0dXJuIGVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBpbmRlbnQgXCIke2V4cGVjdGVkfVwiLCBnb3QgXCIke2dvdH1cImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjdXJyZW50TGlzdC5nZXROb3Rlc0luZGVudCgpKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGxpbmUubWF0Y2goL15bIFxcdF0rLyk7XG5cbiAgICAgICAgICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlc1swXS5sZW5ndGggPD0gY3VycmVudEluZGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICgvXlxccyskLy50ZXN0KGxpbmUpKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgICAgIGBVbmFibGUgdG8gcGFyc2UgbGlzdDogZXhwZWN0ZWQgc29tZSBpbmRlbnQsIGdvdCBubyBpbmRlbnRgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGN1cnJlbnRMaXN0LnNldE5vdGVzSW5kZW50KG1hdGNoZXNbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudExpc3QuYWRkTGluZShsaW5lLnNsaWNlKGN1cnJlbnRMaXN0LmdldE5vdGVzSW5kZW50KCkubGVuZ3RoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZXJyb3IoXG4gICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBsaXN0OiBleHBlY3RlZCBsaXN0IGl0ZW0gb3Igbm90ZSwgZ290IFwiJHtsaW5lfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByb290O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VtcHR5TGluZShsaW5lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGluZS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwcml2YXRlIGlzTGluZVdpdGhJbmRlbnQobGluZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZ1dpdGhTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0xpc3RJdGVtKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVJlLnRlc3QobGluZSk7XG4gIH1cblxuICBwcml2YXRlIGlzTGlzdEl0ZW1XaXRob3V0U3BhY2VzKGxpbmU6IHN0cmluZykge1xuICAgIHJldHVybiBsaXN0SXRlbVdpdGhvdXRTcGFjZXNSZS50ZXN0KGxpbmUpO1xuICB9XG59XG4iLCJleHBvcnQgdHlwZSBWZXJ0aWNhbExpbmVzQWN0aW9uID0gXCJub25lXCIgfCBcInpvb20taW5cIiB8IFwidG9nZ2xlLWZvbGRpbmdcIjtcbmV4cG9ydCB0eXBlIEtlZXBDdXJzb3JXaXRoaW5Db250ZW50ID1cbiAgfCBcIm5ldmVyXCJcbiAgfCBcImJ1bGxldC1vbmx5XCJcbiAgfCBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjtcblxuaW50ZXJmYWNlIFNldHRpbmdzT2JqZWN0IHtcbiAgc3R5bGVMaXN0czogYm9vbGVhbjtcbiAgZGVidWc6IGJvb2xlYW47XG4gIHN0aWNrQ3Vyc29yOiBLZWVwQ3Vyc29yV2l0aGluQ29udGVudCB8IGJvb2xlYW47XG4gIGJldHRlckVudGVyOiBib29sZWFuO1xuICBiZXR0ZXJUYWI6IGJvb2xlYW47XG4gIHNlbGVjdEFsbDogYm9vbGVhbjtcbiAgbGlzdExpbmVzOiBib29sZWFuO1xuICBsaXN0TGluZUFjdGlvbjogVmVydGljYWxMaW5lc0FjdGlvbjtcbiAgZG5kOiBib29sZWFuO1xuICBwcmV2aW91c1JlbGVhc2U6IHN0cmluZyB8IG51bGw7XG59XG5cbmNvbnN0IERFRkFVTFRfU0VUVElOR1M6IFNldHRpbmdzT2JqZWN0ID0ge1xuICBzdHlsZUxpc3RzOiB0cnVlLFxuICBkZWJ1ZzogZmFsc2UsXG4gIHN0aWNrQ3Vyc29yOiBcImJ1bGxldC1hbmQtY2hlY2tib3hcIixcbiAgYmV0dGVyRW50ZXI6IHRydWUsXG4gIGJldHRlclRhYjogdHJ1ZSxcbiAgc2VsZWN0QWxsOiB0cnVlLFxuICBsaXN0TGluZXM6IGZhbHNlLFxuICBsaXN0TGluZUFjdGlvbjogXCJ0b2dnbGUtZm9sZGluZ1wiLFxuICBkbmQ6IHRydWUsXG4gIHByZXZpb3VzUmVsZWFzZTogbnVsbCxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZSB7XG4gIGxvYWREYXRhKCk6IFByb21pc2U8U2V0dGluZ3NPYmplY3Q+O1xuICBzYXZlRGF0YShzZXR0aW5nczogU2V0dGluZ3NPYmplY3QpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG50eXBlIENhbGxiYWNrID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIFNldHRpbmdzIHtcbiAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlO1xuICBwcml2YXRlIHZhbHVlczogU2V0dGluZ3NPYmplY3Q7XG4gIHByaXZhdGUgY2FsbGJhY2tzOiBTZXQ8Q2FsbGJhY2s+O1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSBzdG9yYWdlO1xuICAgIHRoaXMuY2FsbGJhY2tzID0gbmV3IFNldCgpO1xuICB9XG5cbiAgZ2V0IGtlZXBDdXJzb3JXaXRoaW5Db250ZW50KCkge1xuICAgIC8vIEFkYXB0b3IgZm9yIHVzZXJzIG1pZ3JhdGluZyBmcm9tIG9sZGVyIHZlcnNpb24gb2YgdGhlIHBsdWdpbi5cbiAgICBpZiAodGhpcy52YWx1ZXMuc3RpY2tDdXJzb3IgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBcImJ1bGxldC1hbmQtY2hlY2tib3hcIjtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVzLnN0aWNrQ3Vyc29yID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIFwibmV2ZXJcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuc3RpY2tDdXJzb3I7XG4gIH1cblxuICBzZXQga2VlcEN1cnNvcldpdGhpbkNvbnRlbnQodmFsdWU6IEtlZXBDdXJzb3JXaXRoaW5Db250ZW50KSB7XG4gICAgdGhpcy5zZXQoXCJzdGlja0N1cnNvclwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgb3ZlcnJpZGVUYWJCZWhhdmlvdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmJldHRlclRhYjtcbiAgfVxuXG4gIHNldCBvdmVycmlkZVRhYkJlaGF2aW91cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwiYmV0dGVyVGFiXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBvdmVycmlkZUVudGVyQmVoYXZpb3VyKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5iZXR0ZXJFbnRlcjtcbiAgfVxuXG4gIHNldCBvdmVycmlkZUVudGVyQmVoYXZpb3VyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJiZXR0ZXJFbnRlclwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgb3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLnNlbGVjdEFsbDtcbiAgfVxuXG4gIHNldCBvdmVycmlkZVNlbGVjdEFsbEJlaGF2aW91cih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic2VsZWN0QWxsXCIsIHZhbHVlKTtcbiAgfVxuXG4gIGdldCBiZXR0ZXJMaXN0c1N0eWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuc3R5bGVMaXN0cztcbiAgfVxuXG4gIHNldCBiZXR0ZXJMaXN0c1N0eWxlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0KFwic3R5bGVMaXN0c1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmVydGljYWxMaW5lcygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMubGlzdExpbmVzO1xuICB9XG5cbiAgc2V0IHZlcnRpY2FsTGluZXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImxpc3RMaW5lc1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmVydGljYWxMaW5lc0FjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMubGlzdExpbmVBY3Rpb247XG4gIH1cblxuICBzZXQgdmVydGljYWxMaW5lc0FjdGlvbih2YWx1ZTogVmVydGljYWxMaW5lc0FjdGlvbikge1xuICAgIHRoaXMuc2V0KFwibGlzdExpbmVBY3Rpb25cIiwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRyYWdBbmREcm9wKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5kbmQ7XG4gIH1cblxuICBzZXQgZHJhZ0FuZERyb3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldChcImRuZFwiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgZGVidWcoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmRlYnVnO1xuICB9XG5cbiAgc2V0IGRlYnVnKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXQoXCJkZWJ1Z1wiLCB2YWx1ZSk7XG4gIH1cblxuICBnZXQgcHJldmlvdXNSZWxlYXNlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcy5wcmV2aW91c1JlbGVhc2U7XG4gIH1cblxuICBzZXQgcHJldmlvdXNSZWxlYXNlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5zZXQoXCJwcmV2aW91c1JlbGVhc2VcIiwgdmFsdWUpO1xuICB9XG5cbiAgb25DaGFuZ2UoY2I6IENhbGxiYWNrKSB7XG4gICAgdGhpcy5jYWxsYmFja3MuYWRkKGNiKTtcbiAgfVxuXG4gIHJlbW92ZUNhbGxiYWNrKGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgIHRoaXMuY2FsbGJhY2tzLmRlbGV0ZShjYik7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhERUZBVUxUX1NFVFRJTkdTKSkge1xuICAgICAgdGhpcy5zZXQoayBhcyBrZXlvZiBTZXR0aW5nc09iamVjdCwgdik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnZhbHVlcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIERFRkFVTFRfU0VUVElOR1MsXG4gICAgICBhd2FpdCB0aGlzLnN0b3JhZ2UubG9hZERhdGEoKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zYXZlRGF0YSh0aGlzLnZhbHVlcyk7XG4gIH1cblxuICBnZXRWYWx1ZXMoKTogU2V0dGluZ3NPYmplY3Qge1xuICAgIHJldHVybiB7IC4uLnRoaXMudmFsdWVzIH07XG4gIH1cblxuICBwcml2YXRlIHNldDxUIGV4dGVuZHMga2V5b2YgU2V0dGluZ3NPYmplY3Q+KFxuICAgIGtleTogVCxcbiAgICB2YWx1ZTogU2V0dGluZ3NPYmplY3RbVF1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXNba2V5XSA9IHZhbHVlO1xuXG4gICAgZm9yIChjb25zdCBjYiBvZiB0aGlzLmNhbGxiYWNrcykge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFBsdWdpbiB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG5pbXBvcnQgeyBBcnJvd0xlZnRBbmRDdHJsQXJyb3dMZWZ0QmVoYXZpb3VyT3ZlcnJpZGUgfSBmcm9tIFwiLi9mZWF0dXJlcy9BcnJvd0xlZnRBbmRDdHJsQXJyb3dMZWZ0QmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IEJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvQmFja3NwYWNlQmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IEJldHRlckxpc3RzU3R5bGVzIH0gZnJvbSBcIi4vZmVhdHVyZXMvQmV0dGVyTGlzdHNTdHlsZXNcIjtcbmltcG9ydCB7IEN0cmxBQW5kQ21kQUJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvQ3RybEFBbmRDbWRBQmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IERlbGV0ZUJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvRGVsZXRlQmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IERyYWdBbmREcm9wIH0gZnJvbSBcIi4vZmVhdHVyZXMvRHJhZ0FuZERyb3BcIjtcbmltcG9ydCB7IEVkaXRvclNlbGVjdGlvbnNCZWhhdmlvdXJPdmVycmlkZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0VkaXRvclNlbGVjdGlvbnNCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgRW50ZXJCZWhhdmlvdXJPdmVycmlkZSB9IGZyb20gXCIuL2ZlYXR1cmVzL0VudGVyQmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9GZWF0dXJlXCI7XG5pbXBvcnQgeyBMaXN0c0ZvbGRpbmdDb21tYW5kcyB9IGZyb20gXCIuL2ZlYXR1cmVzL0xpc3RzRm9sZGluZ0NvbW1hbmRzXCI7XG5pbXBvcnQgeyBMaXN0c01vdmVtZW50Q29tbWFuZHMgfSBmcm9tIFwiLi9mZWF0dXJlcy9MaXN0c01vdmVtZW50Q29tbWFuZHNcIjtcbmltcG9ydCB7IE1ldGFCYWNrc3BhY2VCZWhhdmlvdXJPdmVycmlkZSB9IGZyb20gXCIuL2ZlYXR1cmVzL01ldGFCYWNrc3BhY2VCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50IH0gZnJvbSBcIi4vZmVhdHVyZXMvUmVsZWFzZU5vdGVzQW5ub3VuY2VtZW50XCI7XG5pbXBvcnQgeyBTZXR0aW5nc1RhYiB9IGZyb20gXCIuL2ZlYXR1cmVzL1NldHRpbmdzVGFiXCI7XG5pbXBvcnQgeyBTaGlmdFRhYkJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvU2hpZnRUYWJCZWhhdmlvdXJPdmVycmlkZVwiO1xuaW1wb3J0IHsgU3lzdGVtSW5mbyB9IGZyb20gXCIuL2ZlYXR1cmVzL1N5c3RlbUluZm9cIjtcbmltcG9ydCB7IFRhYkJlaGF2aW91ck92ZXJyaWRlIH0gZnJvbSBcIi4vZmVhdHVyZXMvVGFiQmVoYXZpb3VyT3ZlcnJpZGVcIjtcbmltcG9ydCB7IFZlcnRpY2FsTGluZXMgfSBmcm9tIFwiLi9mZWF0dXJlcy9WZXJ0aWNhbExpbmVzXCI7XG5pbXBvcnQgeyBDaGFuZ2VzQXBwbGljYXRvciB9IGZyb20gXCIuL3NlcnZpY2VzL0NoYW5nZXNBcHBsaWNhdG9yXCI7XG5pbXBvcnQgeyBJTUVEZXRlY3RvciB9IGZyb20gXCIuL3NlcnZpY2VzL0lNRURldGVjdG9yXCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9Mb2dnZXJcIjtcbmltcG9ydCB7IE9ic2lkaWFuU2V0dGluZ3MgfSBmcm9tIFwiLi9zZXJ2aWNlcy9PYnNpZGlhblNldHRpbmdzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25QZXJmb3JtZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9PcGVyYXRpb25QZXJmb3JtZXJcIjtcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gXCIuL3NlcnZpY2VzL1BhcnNlclwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwiLi9zZXJ2aWNlcy9TZXR0aW5nc1wiO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGNvbnN0IFBMVUdJTl9WRVJTSU9OOiBzdHJpbmc7XG4gIGNvbnN0IENIQU5HRUxPR19NRDogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPYnNpZGlhbk91dGxpbmVyUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcbiAgcHJpdmF0ZSBmZWF0dXJlczogRmVhdHVyZVtdO1xuICBwcm90ZWN0ZWQgc2V0dGluZ3M6IFNldHRpbmdzO1xuICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyO1xuICBwcml2YXRlIG9ic2lkaWFuU2V0dGluZ3M6IE9ic2lkaWFuU2V0dGluZ3M7XG4gIHByaXZhdGUgcGFyc2VyOiBQYXJzZXI7XG4gIHByaXZhdGUgY2hhbmdlc0FwcGxpY2F0b3I6IENoYW5nZXNBcHBsaWNhdG9yO1xuICBwcml2YXRlIG9wZXJhdGlvblBlcmZvcm1lcjogT3BlcmF0aW9uUGVyZm9ybWVyO1xuICBwcml2YXRlIGltZURldGVjdG9yOiBJTUVEZXRlY3RvcjtcblxuICBhc3luYyBvbmxvYWQoKSB7XG4gICAgY29uc29sZS5sb2coYExvYWRpbmcgb2JzaWRpYW4tb3V0bGluZXJgKTtcblxuICAgIGF3YWl0IHRoaXMucHJlcGFyZVNldHRpbmdzKCk7XG5cbiAgICB0aGlzLm9ic2lkaWFuU2V0dGluZ3MgPSBuZXcgT2JzaWRpYW5TZXR0aW5ncyh0aGlzLmFwcCk7XG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMuc2V0dGluZ3MpO1xuICAgIHRoaXMucGFyc2VyID0gbmV3IFBhcnNlcih0aGlzLmxvZ2dlciwgdGhpcy5zZXR0aW5ncyk7XG4gICAgdGhpcy5jaGFuZ2VzQXBwbGljYXRvciA9IG5ldyBDaGFuZ2VzQXBwbGljYXRvcigpO1xuICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyID0gbmV3IE9wZXJhdGlvblBlcmZvcm1lcihcbiAgICAgIHRoaXMucGFyc2VyLFxuICAgICAgdGhpcy5jaGFuZ2VzQXBwbGljYXRvclxuICAgICk7XG5cbiAgICB0aGlzLmltZURldGVjdG9yID0gbmV3IElNRURldGVjdG9yKCk7XG4gICAgYXdhaXQgdGhpcy5pbWVEZXRlY3Rvci5sb2FkKCk7XG5cbiAgICB0aGlzLmZlYXR1cmVzID0gW1xuICAgICAgLy8gc2VydmljZSBmZWF0dXJlc1xuICAgICAgbmV3IFJlbGVhc2VOb3Rlc0Fubm91bmNlbWVudCh0aGlzLCB0aGlzLnNldHRpbmdzKSxcbiAgICAgIG5ldyBTZXR0aW5nc1RhYih0aGlzLCB0aGlzLnNldHRpbmdzKSxcbiAgICAgIG5ldyBTeXN0ZW1JbmZvKHRoaXMsIHRoaXMuc2V0dGluZ3MpLFxuXG4gICAgICAvLyBnZW5lcmFsIGZlYXR1cmVzXG4gICAgICBuZXcgTGlzdHNNb3ZlbWVudENvbW1hbmRzKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLm9ic2lkaWFuU2V0dGluZ3MsXG4gICAgICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyXG4gICAgICApLFxuICAgICAgbmV3IExpc3RzRm9sZGluZ0NvbW1hbmRzKHRoaXMsIHRoaXMub2JzaWRpYW5TZXR0aW5ncyksXG5cbiAgICAgIC8vIGZlYXR1cmVzIGJhc2VkIG9uIHNldHRpbmdzLmtlZXBDdXJzb3JXaXRoaW5Db250ZW50XG4gICAgICBuZXcgRWRpdG9yU2VsZWN0aW9uc0JlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLnBhcnNlcixcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG4gICAgICBuZXcgQXJyb3dMZWZ0QW5kQ3RybEFycm93TGVmdEJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcbiAgICAgIG5ldyBCYWNrc3BhY2VCZWhhdmlvdXJPdmVycmlkZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWVEZXRlY3RvcixcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG4gICAgICBuZXcgTWV0YUJhY2tzcGFjZUJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcbiAgICAgIG5ldyBEZWxldGVCZWhhdmlvdXJPdmVycmlkZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWVEZXRlY3RvcixcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG5cbiAgICAgIC8vIGZlYXR1cmVzIGJhc2VkIG9uIHNldHRpbmdzLm92ZXJyaWRlVGFiQmVoYXZpb3VyXG4gICAgICBuZXcgVGFiQmVoYXZpb3VyT3ZlcnJpZGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuaW1lRGV0ZWN0b3IsXG4gICAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG4gICAgICBuZXcgU2hpZnRUYWJCZWhhdmlvdXJPdmVycmlkZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5pbWVEZXRlY3RvcixcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG5cbiAgICAgIC8vIGZlYXR1cmVzIGJhc2VkIG9uIHNldHRpbmdzLm92ZXJyaWRlRW50ZXJCZWhhdmlvdXJcbiAgICAgIG5ldyBFbnRlckJlaGF2aW91ck92ZXJyaWRlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB0aGlzLnNldHRpbmdzLFxuICAgICAgICB0aGlzLmltZURldGVjdG9yLFxuICAgICAgICB0aGlzLm9ic2lkaWFuU2V0dGluZ3MsXG4gICAgICAgIHRoaXMucGFyc2VyLFxuICAgICAgICB0aGlzLm9wZXJhdGlvblBlcmZvcm1lclxuICAgICAgKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3Mub3ZlcnJpZGVTZWxlY3RBbGxCZWhhdmlvdXJcbiAgICAgIG5ldyBDdHJsQUFuZENtZEFCZWhhdmlvdXJPdmVycmlkZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5zZXR0aW5ncyxcbiAgICAgICAgdGhpcy5pbWVEZXRlY3RvcixcbiAgICAgICAgdGhpcy5vcGVyYXRpb25QZXJmb3JtZXJcbiAgICAgICksXG5cbiAgICAgIC8vIGZlYXR1cmVzIGJhc2VkIG9uIHNldHRpbmdzLmJldHRlckxpc3RzU3R5bGVzXG4gICAgICBuZXcgQmV0dGVyTGlzdHNTdHlsZXModGhpcy5zZXR0aW5ncywgdGhpcy5vYnNpZGlhblNldHRpbmdzKSxcblxuICAgICAgLy8gZmVhdHVyZXMgYmFzZWQgb24gc2V0dGluZ3MudmVydGljYWxMaW5lc1xuICAgICAgbmV3IFZlcnRpY2FsTGluZXMoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncyxcbiAgICAgICAgdGhpcy5wYXJzZXJcbiAgICAgICksXG5cbiAgICAgIC8vIGZlYXR1cmVzIGJhc2VkIG9uIHNldHRpbmdzLmRyYWdBbmREcm9wXG4gICAgICBuZXcgRHJhZ0FuZERyb3AoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuc2V0dGluZ3MsXG4gICAgICAgIHRoaXMub2JzaWRpYW5TZXR0aW5ncyxcbiAgICAgICAgdGhpcy5wYXJzZXIsXG4gICAgICAgIHRoaXMub3BlcmF0aW9uUGVyZm9ybWVyXG4gICAgICApLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgdGhpcy5mZWF0dXJlcykge1xuICAgICAgYXdhaXQgZmVhdHVyZS5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb251bmxvYWQoKSB7XG4gICAgY29uc29sZS5sb2coYFVubG9hZGluZyBvYnNpZGlhbi1vdXRsaW5lcmApO1xuXG4gICAgYXdhaXQgdGhpcy5pbWVEZXRlY3Rvci51bmxvYWQoKTtcblxuICAgIGZvciAoY29uc3QgZmVhdHVyZSBvZiB0aGlzLmZlYXR1cmVzKSB7XG4gICAgICBhd2FpdCBmZWF0dXJlLnVubG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBwcmVwYXJlU2V0dGluZ3MoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBTZXR0aW5ncyh0aGlzKTtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzLmxvYWQoKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImVkaXRvckluZm9GaWVsZCIsImZvbGRlZFJhbmdlcyIsImZvbGRhYmxlIiwiZm9sZEVmZmVjdCIsInVuZm9sZEVmZmVjdCIsInJ1blNjb3BlSGFuZGxlcnMiLCJrZXltYXAiLCJOb3RpY2UiLCJpbmRlbnRTdHJpbmciLCJnZXRJbmRlbnRVbml0IiwiU3RhdGVFZmZlY3QiLCJEZWNvcmF0aW9uIiwiU3RhdGVGaWVsZCIsIkVkaXRvclZpZXciLCJQbGF0Zm9ybSIsIkVkaXRvclN0YXRlIiwiUHJlYyIsIk1vZGFsIiwiTWFya2Rvd25SZW5kZXJlciIsIlBsdWdpblNldHRpbmdUYWIiLCJTZXR0aW5nIiwiVmlld1BsdWdpbiIsIlBsdWdpbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFvR0E7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0FBQ25HLFFBQVEsU0FBUyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMs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 diff --git a/notes/.obsidian/plugins/obsidian-outliner/manifest.json b/notes/.obsidian/plugins/obsidian-outliner/manifest.json index d6aa324..457fd9b 100644 --- a/notes/.obsidian/plugins/obsidian-outliner/manifest.json +++ b/notes/.obsidian/plugins/obsidian-outliner/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-outliner", "name": "Outliner", - "version": "4.6.7", + "version": "4.7.1", "minAppVersion": "1.1.16", "description": "Work with your lists like in Workflowy or RoamResearch.", "author": "Viacheslav Slinko", diff --git a/notes/.obsidian/plugins/obsidian-outliner/styles.css b/notes/.obsidian/plugins/obsidian-outliner/styles.css index b87cf0b..650b4e5 100644 --- a/notes/.obsidian/plugins/obsidian-outliner/styles.css +++ b/notes/.obsidian/plugins/obsidian-outliner/styles.css @@ -88,12 +88,9 @@ pointer-events: none; } -.outliner-plugin-drop-zone-before { - margin-top: -8px; -} - -.outliner-plugin-drop-zone-after { - margin-top: -1px; +.outliner-plugin-drop-zone-padding { + position: absolute; + height: 4px; } body.outliner-plugin-dnd:not(.outliner-plugin-dragging) .cm-formatting-list, diff --git a/notes/.obsidian/plugins/obsidian-plugin-toc/main.js b/notes/.obsidian/plugins/obsidian-plugin-toc/main.js index 47cbdba..0994e6b 100644 --- a/notes/.obsidian/plugins/obsidian-plugin-toc/main.js +++ b/notes/.obsidian/plugins/obsidian-plugin-toc/main.js @@ -1,303 +1,20 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); -var __commonJS = (callback, module2) => () => { - if (!module2) { - module2 = {exports: {}}; - callback(module2.exports, module2); - } - return module2.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, {get: all[name], enumerable: true}); -}; -var __exportStar = (target, module2, desc) => { - if (module2 && typeof module2 === "object" || typeof module2 === "function") { - for (let key of __getOwnPropNames(module2)) - if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable}); - } - return target; -}; -var __toModule = (module2) => { - if (module2 && module2.__esModule) - return module2; - return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", {value: module2, enumerable: true})), module2); -}; - -// node_modules/dedent/dist/dedent.js -var require_dedent = __commonJS((exports2, module2) => { - "use strict"; - function dedent(strings) { - var raw = void 0; - if (typeof strings === "string") { - raw = [strings]; - } else { - raw = strings.raw; - } - var result = ""; - for (var i = 0; i < raw.length; i++) { - result += raw[i].replace(/\\\n[ \t]*/g, "").replace(/\\`/g, "`"); - if (i < (arguments.length <= 1 ? 0 : arguments.length - 1)) { - result += arguments.length <= i + 1 ? void 0 : arguments[i + 1]; - } - } - var lines = result.split("\n"); - var mindent = null; - lines.forEach(function(l) { - var m = l.match(/^(\s+)\S+/); - if (m) { - var indent = m[1].length; - if (!mindent) { - mindent = indent; - } else { - mindent = Math.min(mindent, indent); - } - } - }); - if (mindent !== null) { - result = lines.map(function(l) { - return l[0] === " " ? l.slice(mindent) : l; - }).join("\n"); - } - result = result.trim(); - return result.replace(/\\n/g, "\n"); - } - if (typeof module2 !== "undefined") { - module2.exports = dedent; - } -}); - -// node_modules/objectorarray/index.js -var require_objectorarray = __commonJS((exports2, module2) => { - module2.exports = (val) => { - return val != null && typeof val === "object" && val.constructor !== RegExp; - }; -}); - -// node_modules/fast-json-parse/parse.js -var require_parse = __commonJS((exports2, module2) => { - "use strict"; - function Parse(data) { - if (!(this instanceof Parse)) { - return new Parse(data); - } - this.err = null; - this.value = null; - try { - this.value = JSON.parse(data); - } catch (err) { - this.err = err; - } - } - module2.exports = Parse; -}); - -// node_modules/endent/lib/index.js -var require_lib = __commonJS((exports2) => { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : {default: mod}; - }; - Object.defineProperty(exports2, "__esModule", {value: true}); - var dedent_1 = __importDefault(require_dedent()); - var objectorarray_1 = __importDefault(require_objectorarray()); - var fast_json_parse_1 = __importDefault(require_parse()); - var ENDENT_ID = "twhZNwxI1aFG3r4"; - function endent2(strings, ...values) { - let result = ""; - for (let i = 0; i < strings.length; i++) { - result += strings[i]; - if (i < values.length) { - let value = values[i]; - let isJson = false; - if (fast_json_parse_1.default(value).value) { - value = fast_json_parse_1.default(value).value; - isJson = true; - } - if (value && value[ENDENT_ID] || isJson) { - let rawlines = result.split("\n"); - let l = rawlines[rawlines.length - 1].search(/\S/); - let endentation = l > 0 ? " ".repeat(l) : ""; - let valueJson = isJson ? JSON.stringify(value, null, 2) : value[ENDENT_ID]; - let valueLines = valueJson.split("\n"); - valueLines.forEach((l2, index) => { - if (index > 0) { - result += "\n" + endentation + l2; - } else { - result += l2; - } - }); - } else if (typeof value === "string" && value.includes("\n")) { - let endentations = result.match(/(?:^|\n)( *)$/); - if (typeof value === "string") { - let endentation = endentations ? endentations[1] : ""; - result += value.split("\n").map((str, i2) => { - str = ENDENT_ID + str; - return i2 === 0 ? str : `${endentation}${str}`; - }).join("\n"); - } else { - result += value; - } - } else { - result += value; - } - } - } - result = dedent_1.default(result); - return result.split(ENDENT_ID).join(""); - } - endent2.pretty = (data) => { - return objectorarray_1.default(data) ? {[ENDENT_ID]: JSON.stringify(data, null, 2)} : data; - }; - exports2.default = endent2; -}); - -// src/main.ts -__markAsModule(exports); -__export(exports, { - default: () => main_default -}); -var import_obsidian2 = __toModule(require("obsidian")); - -// src/create-toc.ts -var import_endent = __toModule(require_lib()); -var import_obsidian = __toModule(require("obsidian")); -var getCurrentHeaderDepth = (headings, cursor) => { - const previousHeadings = headings.filter((heading) => heading.position.end.line < cursor.line); - if (!previousHeadings.length) { - return 0; - } - return previousHeadings[previousHeadings.length - 1].level; -}; -var getSubsequentHeadings = (headings, cursor) => { - return headings.filter((heading) => heading.position.end.line > cursor.line); -}; -var getPreviousLevelHeading = (headings, currentHeading) => { - const index = headings.indexOf(currentHeading); - const targetHeadings = headings.slice(0, index).reverse(); - return targetHeadings.find((item, _index, _array) => { - return item.level == currentHeading.level - 1; - }); -}; -var createToc = ({headings = []}, cursor, settings) => { - const currentDepth = getCurrentHeaderDepth(headings, cursor); - const subsequentHeadings = getSubsequentHeadings(headings, cursor); - const includedHeadings = []; - for (const heading of subsequentHeadings) { - if (heading.level <= currentDepth) { - break; - } - if (heading.level >= settings.minimumDepth && heading.level <= settings.maximumDepth) { - includedHeadings.push(heading); - } - } - if (!includedHeadings.length) { - new import_obsidian.Notice(import_endent.default` +var J=Object.create,d=Object.defineProperty,z=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertyDescriptor;var T=u=>d(u,"__esModule",{value:!0});var B=(u,D)=>()=>(D||(D={exports:{}},u(D.exports,D)),D.exports),X=(u,D)=>{for(var F in D)d(u,F,{get:D[F],enumerable:!0})},Y=(u,D,F)=>{if(D&&typeof D=="object"||typeof D=="function")for(let C of K(D))!Z.call(u,C)&&C!=="default"&&d(u,C,{get:()=>D[C],enumerable:!(F=Q(D,C))||F.enumerable});return u},p=u=>Y(T(d(u!=null?J(z(u)):{},"default",u&&u.__esModule&&"default"in u?{get:()=>u.default,enumerable:!0}:{value:u,enumerable:!0})),u);var k=B((cD,f)=>{"use strict";function DD(u){var D=void 0;typeof u=="string"?D=[u]:D=u.raw;for(var F="",C=0;C{y.exports=u=>u!=null&&typeof u=="object"&&u.constructor!==RegExp});var M=B((hD,L)=>{"use strict";function m(u){if(!(this instanceof m))return new m(u);this.err=null,this.value=null;try{this.value=JSON.parse(u)}catch(D){this.err=D}}L.exports=m});var _=B(g=>{"use strict";var A=g&&g.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0});var uD=A(k()),FD=A(S()),P=A(M()),h="twhZNwxI1aFG3r4";function O(u,...D){let F="";for(let C=0;C0?" ".repeat(s):"";(t?JSON.stringify(e,null,2):e[h]).split(` +`).forEach((i,o)=>{o>0?F+=` +`+n+i:F+=i})}else if(typeof e=="string"&&e.includes(` +`)){let E=F.match(/(?:^|\n)( *)$/);if(typeof e=="string"){let s=E?E[1]:"";F+=e.split(` +`).map((n,a)=>(n=h+n,a===0?n:`${s}${n}`)).join(` +`)}else F+=e}else F+=e}return F=uD.default(F),F.split(h).join("")}O.pretty=u=>FD.default(u)?{[h]:JSON.stringify(u,null,2)}:u;g.default=O});var H=B((pD,x)=>{x.exports=()=>/(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDD-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF6](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC2\uDED0-\uDED9\uDEE0-\uDEE7]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/g});var j=B((fD,I)=>{I.exports=function(u,D){D=D||{},D.listUnicodeChar=D.hasOwnProperty("listUnicodeChar")?D.listUnicodeChar:!1,D.stripListLeaders=D.hasOwnProperty("stripListLeaders")?D.stripListLeaders:!0,D.gfm=D.hasOwnProperty("gfm")?D.gfm:!0,D.useImgAltText=D.hasOwnProperty("useImgAltText")?D.useImgAltText:!0,D.abbr=D.hasOwnProperty("abbr")?D.abbr:!1,D.replaceLinksWithURL=D.hasOwnProperty("replaceLinksWithURL")?D.replaceLinksWithURL:!1,D.htmlTagsToSkip=D.hasOwnProperty("htmlTagsToSkip")?D.htmlTagsToSkip:[];var F=u||"";F=F.replace(/^(-\s*?|\*\s*?|_\s*?){3,}\s*/gm,"");try{D.stripListLeaders&&(D.listUnicodeChar?F=F.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,D.listUnicodeChar+" $1"):F=F.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,"$1")),D.gfm&&(F=F.replace(/\n={2,}/g,` +`).replace(/~{3}.*\n/g,"").replace(/~~/g,"").replace(/`{3}.*\n/g,"")),D.abbr&&(F=F.replace(/\*\[.*\]:.*\n/,"")),F=F.replace(/<[^>]*>/g,"");var C=new RegExp("<[^>]*>","g");if(D.htmlTagsToSkip.length>0){var e="(?!"+D.htmlTagsToSkip.join("|")+")";C=new RegExp("<"+e+"[^>]*>","ig")}F=F.replace(C,"").replace(/^[=\-]{2,}\s*$/g,"").replace(/\[\^.+?\](\: .*?$)?/g,"").replace(/\s{0,2}\[.*?\]: .*?$/g,"").replace(/\!\[(.*?)\][\[\(].*?[\]\)]/g,D.useImgAltText?"$1":"").replace(/\[([^\]]*?)\][\[\(].*?[\]\)]/g,D.replaceLinksWithURL?"$2":"$1").replace(/^\s{0,3}>\s?/gm,"").replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g,"").replace(/^(\n)?\s{0,}#{1,6}\s+| {0,}(\n)?\s{0,}#{0,} #{0,}(\n)?\s{0,}$/gm,"$1$2$3").replace(/([\*]+)(\S)(.*?\S)??\1/g,"$2$3").replace(/(^|\W)([_]+)(\S)(.*?\S)??\2($|\W)/g,"$1$3$4$5").replace(/(`{3,})(.*?)\1/gm,"$2").replace(/`(.+?)`/g,"$1").replace(/~(.*?)~/g,"$1")}catch(t){return console.error(t),u}return F}});var R=B((mD,N)=>{"use strict";var eD=H(),tD=j();function CD(u,D){return u=u.replace(/[^a-z0-9]+/g,"_"),u=u.replace(/^_+|_+$/,""),u=u.replace(/^([^a-z])/,"_$1"),D&&(u+="_"+D),u}function U(u){return u.replace(/ /g,"-").replace(/%([abcdef]|\d){2,2}/ig,"").replace(/[\/?!:\[\]`.,()*"';{}+=<>~\$|#@&–—]/g,"").replace(/[。?!,、;:“”【】()〔〕[]﹃﹄“ ”‘’﹁﹂—…-~《》〈〉「」]/g,"")}function nD(u,D){return u=U(u),D&&(u+="-"+D),u=u.replace(eD(),""),u=tD(u),u}function ED(u,D){return u="markdown-header-"+U(u),u=u.replace(/--+/g,"-"),D&&(u+="_"+D),u}function aD(u){return u.replace(/ /g,"").replace(/[\/?:\[\]`.,()*"';{}\-+=<>!@#%^&\\\|]/g,"").replace(/\$/g,"d").replace(/~/g,"t")}function rD(u){return u=aD(u),u}function iD(u,D){return u=u.replace(/<(.*)>(.*)<\/\1>/g,"$2").replace(/!\[.*\]\(.*\)/g,"").replace(/\[(.*)\]\(.*\)/,"$1").replace(/\s+/g,"-").replace(/[\/?!:\[\]`.,()*"';{}+=<>~\$|#@]/g,"").replace(/[。?!,、;:“”【】()〔〕[]﹃﹄“ ”‘’﹁﹂—…-~《》〈〉「」]/g,"").replace(/[-]+/g,"-").replace(/^-/,"").replace(/-$/,""),D&&(u+="-"+D),u}N.exports=function(D,F,C,e){F=F||"github.com";var t,E=encodeURI;switch(F){case"github.com":t=nD,E=function(a){var l=encodeURI(a);return l.replace(/%E2%80%8D/g,"\u200D")};break;case"bitbucket.org":t=ED;break;case"gitlab.com":t=iD;break;case"nodejs.org":if(!e)throw new Error("Need module name to generate proper anchor for "+F);t=function(a,l){return CD(e+"."+a,l)};break;case"ghost.org":t=rD;break;default:throw new Error("Unknown mode: "+F)}function s(a){for(var l="",i=0;i="A"&&a[i]<="Z"?l+=a[i].toLowerCase():l+=a[i];return l}var n=t(s(D.trim()),C);return"["+D+"](#"+E(n)+")"}});T(exports);X(exports,{default:()=>BD});var r=p(require("obsidian"));var b=p(_()),G=p(require("obsidian")),V=p(R()),w=(u,D)=>{let F=u.filter(C=>C.position.end.lineu.filter(F=>F.position.end.line>D.line),lD=(u,D)=>{let F=u.indexOf(D);return u.slice(0,F).reverse().find((e,t,E)=>e.level==D.level-1)},q=({headings:u=[]},D,F)=>{let C=w(u,D),e=sD(u,D),t=[];for(let n of e){if(n.level<=C)break;n.level>=F.minimumDepth&&n.level<=F.maximumDepth&&t.push(n)}if(!t.length){new G.Notice(b.default` No headings below cursor matched settings - (min: ${settings.minimumDepth}) (max: ${settings.maximumDepth}) - `); - return; - } - const firstHeadingDepth = includedHeadings[0].level; - const links = includedHeadings.map((heading) => { - const itemIndication = settings.listStyle === "number" && "1." || "-"; - const indent = new Array(Math.max(0, heading.level - firstHeadingDepth)).fill(" ").join(""); - const previousLevelHeading = getPreviousLevelHeading(includedHeadings, heading); - if (typeof previousLevelHeading == "undefined") { - return `${indent}${itemIndication} [[#${heading.heading}|${heading.heading}]]`; - } else { - return `${indent}${itemIndication} [[#${previousLevelHeading.heading}#${heading.heading}|${heading.heading}]]`; - } - }); - return import_endent.default` - ${settings.title ? `${settings.title} -` : ""} - ${`${links.join("\n")} + (min: ${F.minimumDepth}) (max: ${F.maximumDepth}) + `);return}let E=t[0].level,s=t.map(n=>{let a=F.listStyle==="number"&&"1."||"-",l=new Array(Math.max(0,n.level-E)).fill(" ").join(""),i=lD(t,n),o=`${l}${a}`,$=n.heading,c;return F.useMarkdown&&F.githubCompat?`${o} ${(0,V.default)(n.heading)}`:(F.useMarkdown?c=encodeURI(n.heading):typeof i=="undefined"?c=n.heading:c=`${i.heading}#${n.heading}`,F.useMarkdown?`${o} [${$}](#${c})`:`${o} [[#${c}|${$}]]`)});return b.default` + ${F.title?`${F.title} +`:""} + ${`${s.join(` +`)} `} - `; -}; - -// src/main.ts -var TableOfContentsSettingsTab = class extends import_obsidian2.PluginSettingTab { - constructor(app, plugin) { - super(app, plugin); - this.plugin = plugin; - } - display() { - const {containerEl} = this; - containerEl.empty(); - containerEl.createEl("h2", {text: "Table of Contents - Settings"}); - new import_obsidian2.Setting(containerEl).setName("List Style").setDesc("The type of list to render the table of contents as.").addDropdown((dropdown) => dropdown.setValue(this.plugin.settings.listStyle).addOption("bullet", "Bullet").addOption("number", "Number").onChange((value) => { - this.plugin.settings.listStyle = value; - this.plugin.saveData(this.plugin.settings); - this.display(); - })); - new import_obsidian2.Setting(containerEl).setName("Title").setDesc("Optional title to put before the table of contents").addText((text) => text.setPlaceholder("**Table of Contents**").setValue(this.plugin.settings.title || "").onChange((value) => { - this.plugin.settings.title = value; - this.plugin.saveData(this.plugin.settings); - })); - new import_obsidian2.Setting(containerEl).setName("Minimum Header Depth").setDesc("The lowest header depth to add to the table of contents. Defaults to 2").addSlider((text) => text.setValue(this.plugin.settings.minimumDepth).setDynamicTooltip().setLimits(1, 6, 1).onChange((value) => { - this.plugin.settings.minimumDepth = value; - this.plugin.saveData(this.plugin.settings); - })); - new import_obsidian2.Setting(containerEl).setName("Maximum Header Depth").setDesc("The highest header depth to add to the table of contents. Defaults to 6").addSlider((text) => text.setValue(this.plugin.settings.maximumDepth).setDynamicTooltip().setLimits(1, 6, 1).onChange((value) => { - this.plugin.settings.maximumDepth = value; - this.plugin.saveData(this.plugin.settings); - })); - } -}; -var TableOfContentsPlugin = class extends import_obsidian2.Plugin { - constructor() { - super(...arguments); - this.settings = { - minimumDepth: 2, - maximumDepth: 6, - listStyle: "bullet" - }; - this.createTocForActiveFile = (settings = this.settings) => () => { - const activeView = this.app.workspace.getActiveViewOfType(import_obsidian2.MarkdownView); - if (activeView && activeView.file) { - const editor = activeView.sourceMode.cmEditor; - const cursor = editor.getCursor(); - const data = this.app.metadataCache.getFileCache(activeView.file) || {}; - const toc = createToc(data, cursor, typeof settings === "function" ? settings(data, cursor) : settings); - if (toc) { - editor.replaceRange(toc, cursor); - } - } - }; - } - async onload() { - console.log("Load Table of Contents plugin"); - this.settings = { - ...this.settings, - ...await this.loadData() - }; - this.addCommand({ - id: "create-toc", - name: "Create table of contents", - callback: this.createTocForActiveFile() - }); - this.addCommand({ - id: "create-toc-next-level", - name: "Create table of contents for next heading level", - callback: this.createTocForActiveFile((data, cursor) => { - const currentHeaderDepth = getCurrentHeaderDepth(data.headings || [], cursor); - const depth = Math.max(currentHeaderDepth + 1, this.settings.minimumDepth); - return { - ...this.settings, - minimumDepth: depth, - maximumDepth: depth - }; - }) - }); - this.addSettingTab(new TableOfContentsSettingsTab(this.app, this)); - } -}; -var main_default = TableOfContentsPlugin; + `};var W=class extends r.PluginSettingTab{constructor(D,F){super(D,F);this.plugin=F}display(){let{containerEl:D}=this;D.empty(),D.createEl("h2",{text:"Table of Contents - Settings"}),new r.Setting(D).setName("List Style").setDesc("The type of list to render the table of contents as.").addDropdown(e=>e.setValue(this.plugin.settings.listStyle).addOption("bullet","Bullet").addOption("number","Number").onChange(t=>{this.plugin.settings.listStyle=t,this.plugin.saveData(this.plugin.settings),this.display()})),new r.Setting(D).setName("Title").setDesc("Optional title to put before the table of contents").addText(e=>e.setPlaceholder("**Table of Contents**").setValue(this.plugin.settings.title||"").onChange(t=>{this.plugin.settings.title=t,this.plugin.saveData(this.plugin.settings)})),new r.Setting(D).setName("Minimum Header Depth").setDesc("The lowest header depth to add to the table of contents. Defaults to 2").addSlider(e=>e.setValue(this.plugin.settings.minimumDepth).setDynamicTooltip().setLimits(1,6,1).onChange(t=>{this.plugin.settings.minimumDepth=t,this.plugin.saveData(this.plugin.settings)})),new r.Setting(D).setName("Maximum Header Depth").setDesc("The highest header depth to add to the table of contents. Defaults to 6").addSlider(e=>e.setValue(this.plugin.settings.maximumDepth).setDynamicTooltip().setLimits(1,6,1).onChange(t=>{this.plugin.settings.maximumDepth=t,this.plugin.saveData(this.plugin.settings)})),new r.Setting(D).setName("Use Markdown links").setDesc("Auto-generate Markdown links, instead of the default WikiLinks").addToggle(e=>e.setValue(this.plugin.settings.useMarkdown).onChange(t=>{this.plugin.settings.useMarkdown=t,this.plugin.saveData(this.plugin.settings),t||C.components[0].setValue(!1),C.setDisabled(!t)}));let F=new DocumentFragment;F.appendText("Github generates section links differently than Obsidian, this setting uses "),F.createEl("a",{href:"https://github.com/thlorenz/anchor-markdown-header",text:"anchor-markdown-header"}),F.appendText(" to generate the proper links.");let C=new r.Setting(D).setName("Github compliant Markdown section links").setDesc(F).setDisabled(!this.plugin.settings.useMarkdown).addToggle(e=>e.setValue(this.plugin.settings.githubCompat??!1).setDisabled(!this.plugin.settings.useMarkdown).onChange(t=>{this.plugin.settings.githubCompat=t,this.plugin.saveData(this.plugin.settings)}))}},v=class extends r.Plugin{constructor(){super(...arguments);this.settings={minimumDepth:2,maximumDepth:6,listStyle:"bullet",useMarkdown:!1};this.createTocForActiveFile=(D=this.settings)=>()=>{let F=this.app.workspace.getActiveViewOfType(r.MarkdownView);if(F&&F.file){let C=F.sourceMode.cmEditor,e=C.getCursor(),t=this.app.metadataCache.getFileCache(F.file)||{},E=q(t,e,typeof D=="function"?D(t,e):D);E&&C.replaceRange(E,e)}}}async onload(){console.log("Load Table of Contents plugin"),this.settings={...this.settings,...await this.loadData()},this.addCommand({id:"create-toc",name:"Create table of contents",callback:this.createTocForActiveFile()}),this.addCommand({id:"create-toc-next-level",name:"Create table of contents for next heading level",callback:this.createTocForActiveFile((D,F)=>{let C=w(D.headings||[],F),e=Math.max(C+1,this.settings.minimumDepth);return{...this.settings,minimumDepth:e,maximumDepth:e}})}),this.addSettingTab(new W(this.app,this))}},BD=v; diff --git a/notes/.obsidian/plugins/obsidian-plugin-toc/manifest.json b/notes/.obsidian/plugins/obsidian-plugin-toc/manifest.json index 5dcbe60..8d39a3d 100644 --- a/notes/.obsidian/plugins/obsidian-plugin-toc/manifest.json +++ b/notes/.obsidian/plugins/obsidian-plugin-toc/manifest.json @@ -6,5 +6,5 @@ "description": "Create a table of contents for a note.", "isDesktopOnly": false, "minAppVersion": "0.10.12", - "version": "0.1.4" + "version": "0.2.0" } \ No newline at end of file diff --git a/notes/.obsidian/plugins/omnisearch/data.json b/notes/.obsidian/plugins/omnisearch/data.json index 9398522..9b33c73 100644 --- a/notes/.obsidian/plugins/omnisearch/data.json +++ b/notes/.obsidian/plugins/omnisearch/data.json @@ -6,6 +6,7 @@ "PDFIndexing": false, "imagesIndexing": false, "splitCamelCase": false, + "openInNewPane": false, "ribbonIcon": true, "showExcerpt": true, "renderLineReturnInExcerpts": true, diff --git a/notes/.obsidian/plugins/omnisearch/main.js b/notes/.obsidian/plugins/omnisearch/main.js index da68102..3a75417 100644 --- a/notes/.obsidian/plugins/omnisearch/main.js +++ b/notes/.obsidian/plugins/omnisearch/main.js @@ -3,43 +3,43 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ -var Fc=Object.create;var Sr=Object.defineProperty,Sc=Object.defineProperties,Ec=Object.getOwnPropertyDescriptor,Dc=Object.getOwnPropertyDescriptors,Tc=Object.getOwnPropertyNames,ro=Object.getOwnPropertySymbols,kc=Object.getPrototypeOf,no=Object.prototype.hasOwnProperty,Ic=Object.prototype.propertyIsEnumerable;var io=(t,e,r)=>e in t?Sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,re=(t,e)=>{for(var r in e||(e={}))no.call(e,r)&&io(t,r,e[r]);if(ro)for(var r of ro(e))Ic.call(e,r)&&io(t,r,e[r]);return t},xe=(t,e)=>Sc(t,Dc(e)),so=t=>Sr(t,"__esModule",{value:!0});var yi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Oc=(t,e)=>{so(t);for(var r in e)Sr(t,r,{get:e[r],enumerable:!0})},Mc=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Tc(e))!no.call(t,n)&&n!=="default"&&Sr(t,n,{get:()=>e[n],enumerable:!(r=Ec(e,n))||r.enumerable});return t},be=t=>Mc(so(Sr(t!=null?Fc(kc(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var ya=yi((Xr,bs)=>{(function(t,e){if(typeof Xr=="object"&&typeof bs=="object")bs.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var r=e();for(var n in r)(typeof Xr=="object"?Xr:t)[n]=r[n]}})(typeof self!="undefined"?self:Xr,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(n,i,s){r.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:s})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(1&i&&(n=r(n)),8&i||4&i&&typeof n=="object"&&n&&n.__esModule)return n;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:n}),2&i&&typeof n!="string")for(var o in n)r.d(s,o,function(a){return n[a]}.bind(null,o));return s},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}([function(t,e,r){"use strict";r.r(e),r.d(e,"md5",function(){return b});var n="0123456789abcdef".split(""),i=function(x){for(var h="",v=0;v<4;v++)h+=n[x>>8*v+4&15]+n[x>>8*v&15];return h},s=function(x){for(var h=x.length,v=0;v>>32-A,C)}(h=function(j,A,C,F){return A=o(o(A,j),o(C,F))}(x,h,p,_),m,v)},l=function(x,h,v,p,m,_,g,j){return a(v&p|~v&m,h,v,_,g,j,x)},u=function(x,h,v,p,m,_,g,j){return a(v&m|p&~m,h,v,_,g,j,x)},c=function(x,h,v,p,m,_,g,j){return a(v^p^m,h,v,_,g,j,x)},d=function(x,h,v,p,m,_,g,j){return a(p^(v|~m),h,v,_,g,j,x)},f=function(x,h,v){v===void 0&&(v=o);var p=x[0],m=x[1],_=x[2],g=x[3],j=l.bind(null,v);p=j(p,m,_,g,h[0],7,-680876936),g=j(g,p,m,_,h[1],12,-389564586),_=j(_,g,p,m,h[2],17,606105819),m=j(m,_,g,p,h[3],22,-1044525330),p=j(p,m,_,g,h[4],7,-176418897),g=j(g,p,m,_,h[5],12,1200080426),_=j(_,g,p,m,h[6],17,-1473231341),m=j(m,_,g,p,h[7],22,-45705983),p=j(p,m,_,g,h[8],7,1770035416),g=j(g,p,m,_,h[9],12,-1958414417),_=j(_,g,p,m,h[10],17,-42063),m=j(m,_,g,p,h[11],22,-1990404162),p=j(p,m,_,g,h[12],7,1804603682),g=j(g,p,m,_,h[13],12,-40341101),_=j(_,g,p,m,h[14],17,-1502002290),m=j(m,_,g,p,h[15],22,1236535329);var A=u.bind(null,v);p=A(p,m,_,g,h[1],5,-165796510),g=A(g,p,m,_,h[6],9,-1069501632),_=A(_,g,p,m,h[11],14,643717713),m=A(m,_,g,p,h[0],20,-373897302),p=A(p,m,_,g,h[5],5,-701558691),g=A(g,p,m,_,h[10],9,38016083),_=A(_,g,p,m,h[15],14,-660478335),m=A(m,_,g,p,h[4],20,-405537848),p=A(p,m,_,g,h[9],5,568446438),g=A(g,p,m,_,h[14],9,-1019803690),_=A(_,g,p,m,h[3],14,-187363961),m=A(m,_,g,p,h[8],20,1163531501),p=A(p,m,_,g,h[13],5,-1444681467),g=A(g,p,m,_,h[2],9,-51403784),_=A(_,g,p,m,h[7],14,1735328473),m=A(m,_,g,p,h[12],20,-1926607734);var C=c.bind(null,v);p=C(p,m,_,g,h[5],4,-378558),g=C(g,p,m,_,h[8],11,-2022574463),_=C(_,g,p,m,h[11],16,1839030562),m=C(m,_,g,p,h[14],23,-35309556),p=C(p,m,_,g,h[1],4,-1530992060),g=C(g,p,m,_,h[4],11,1272893353),_=C(_,g,p,m,h[7],16,-155497632),m=C(m,_,g,p,h[10],23,-1094730640),p=C(p,m,_,g,h[13],4,681279174),g=C(g,p,m,_,h[0],11,-358537222),_=C(_,g,p,m,h[3],16,-722521979),m=C(m,_,g,p,h[6],23,76029189),p=C(p,m,_,g,h[9],4,-640364487),g=C(g,p,m,_,h[12],11,-421815835),_=C(_,g,p,m,h[15],16,530742520),m=C(m,_,g,p,h[2],23,-995338651);var F=d.bind(null,v);p=F(p,m,_,g,h[0],6,-198630844),g=F(g,p,m,_,h[7],10,1126891415),_=F(_,g,p,m,h[14],15,-1416354905),m=F(m,_,g,p,h[5],21,-57434055),p=F(p,m,_,g,h[12],6,1700485571),g=F(g,p,m,_,h[3],10,-1894986606),_=F(_,g,p,m,h[10],15,-1051523),m=F(m,_,g,p,h[1],21,-2054922799),p=F(p,m,_,g,h[8],6,1873313359),g=F(g,p,m,_,h[15],10,-30611744),_=F(_,g,p,m,h[6],15,-1560198380),m=F(m,_,g,p,h[13],21,1309151649),p=F(p,m,_,g,h[4],6,-145523070),g=F(g,p,m,_,h[11],10,-1120210379),_=F(_,g,p,m,h[2],15,718787259),m=F(m,_,g,p,h[9],21,-343485551),x[0]=v(p,x[0]),x[1]=v(m,x[1]),x[2]=v(_,x[2]),x[3]=v(g,x[3])},y=function(x){for(var h=[],v=0;v<64;v+=4)h[v>>2]=x.charCodeAt(v)+(x.charCodeAt(v+1)<<8)+(x.charCodeAt(v+2)<<16)+(x.charCodeAt(v+3)<<24);return h},w=function(x,h){var v,p=x.length,m=[1732584193,-271733879,-1732584194,271733878];for(v=64;v<=p;v+=64)f(m,y(x.substring(v-64,v)),h);var _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=(x=x.substring(v-64)).length;for(v=0;v>2]|=x.charCodeAt(v)<<(v%4<<3);if(_[v>>2]|=128<<(v%4<<3),v>55)for(f(m,_,h),v=16;v--;)_[v]=0;return _[14]=8*p,f(m,_,h),m};function b(x){var h;return s(w("hello"))!=="5d41402abc4b2a76b9719d911017c592"&&(h=function(v,p){var m=(65535&v)+(65535&p);return(v>>16)+(p>>16)+(m>>16)<<16|65535&m}),s(w(x,h))}}])})});var Ha=yi(Qn=>{Qn.parse=function(t,e){if(e?e.offsets=typeof e.offsets=="undefined"?!0:e.offsets:e={offsets:!0},t||(t=""),t.indexOf(":")===-1&&!e.tokenize)return t;if(!e.keywords&&!e.ranges&&!e.tokenize)return t;var r={text:[]};e.offsets&&(r.offsets=[]);for(var n={},i=[],s=/(\S+:'(?:[^'\\]|\\.)*')|(\S+:"(?:[^"\\]|\\.)*")|(-?"(?:[^"\\]|\\.)*")|(-?'(?:[^'\\]|\\.)*')|\S+|\S+:\S+/g,o;(o=s.exec(t))!==null;){var f=o[0],a=f.indexOf(":");if(a!==-1){var l=f.split(":"),u=f.slice(0,a),c=f.slice(a+1);c=c.replace(/^\"|\"$|^\'|\'$/g,""),c=(c+"").replace(/\\(.?)/g,function(g,j){switch(j){case"\\":return"\\";case"0":return"\0";case"":return"";default:return j}}),i.push({keyword:u,value:c,offsetStart:o.index,offsetEnd:o.index+f.length})}else{var d=!1;f[0]==="-"&&(d=!0,f=f.slice(1)),f=f.replace(/^\"|\"$|^\'|\'$/g,""),f=(f+"").replace(/\\(.?)/g,function(g,j){switch(j){case"\\":return"\\";case"0":return"\0";case"":return"";default:return j}}),d?n.text?(n.text instanceof Array||(n.text=[n.text]),n.text.push(f)):n.text=f:i.push({text:f,offsetStart:o.index,offsetEnd:o.index+f.length})}}i.reverse();for(var f;f=i.pop();)if(f.text)r.text.push(f.text),e.offsets&&r.offsets.push(f);else{var u=f.keyword;e.keywords=e.keywords||[];var y=!1,w=!1;if(!/^-/.test(u))y=e.keywords.indexOf(u)!==-1;else if(u[0]==="-"){var b=u.slice(1);y=e.keywords.indexOf(b)!==-1,y&&(u=b,w=!0)}e.ranges=e.ranges||[];var x=e.ranges.indexOf(u)!==-1;if(y){e.offsets&&r.offsets.push({keyword:u,value:f.value,offsetStart:w?f.offsetStart+1:f.offsetStart,offsetEnd:f.offsetEnd});var h=f.value;if(h.length){var v=h.split(",");w?n[u]?n[u]instanceof Array?v.length>1?n[u]=n[u].concat(v):n[u].push(h):(n[u]=[n[u]],n[u].push(h)):v.length>1?n[u]=v:e.alwaysArray?n[u]=[h]:n[u]=h:r[u]?r[u]instanceof Array?v.length>1?r[u]=r[u].concat(v):r[u].push(h):(r[u]=[r[u]],r[u].push(h)):v.length>1?r[u]=v:e.alwaysArray?r[u]=[h]:r[u]=h}}else if(x){e.offsets&&r.offsets.push(f);var h=f.value,p=h.split("-");r[u]={},p.length===2?(r[u].from=p[0],r[u].to=p[1]):!p.length%2||(r[u].from=h)}else{var m=f.keyword+":"+f.value;r.text.push(m),e.offsets&&r.offsets.push({text:m,offsetStart:f.offsetStart,offsetEnd:f.offsetEnd})}}return r.text.length?e.tokenize||(r.text=r.text.join(" ").trim()):delete r.text,r.exclude=n,r};Qn.stringify=function(t,e,r){if(e||(e={offsets:!0}),!t)return"";if(typeof t=="string")return t;if(Array.isArray(t))return t.join(" ");if(!Object.keys(t).length)return"";if(Object.keys(t).length===3&&!!t.text&&!!t.offsets&&!!t.exclude&&typeof t.text=="string")return t.text;r||(r="");var n=function(a){return a.indexOf(" ")>-1?JSON.stringify(a):a},i=function(a){return r+a},s=[];if(t.text){var o=[];typeof t.text=="string"?o.push(t.text):o.push.apply(o,t.text),o.length>0&&s.push(o.map(n).map(i).join(" "))}return e.keywords&&e.keywords.forEach(function(a){if(!!t[a]){var l=[];typeof t[a]=="string"?l.push(t[a]):l.push.apply(l,t[a]),l.length>0&&s.push(i(a+":"+l.map(n).join(",")))}}),e.ranges&&e.ranges.forEach(function(a){if(!!t[a]){var l=t[a].from,u=t[a].to;u&&(l=l+"-"+u),l&&s.push(i(a+":"+l))}}),t.exclude&&Object.keys(t.exclude).length>0&&s.push(Qn.stringify(t.exclude,e,"-")),s.join(" ")}});var Ua=yi(($v,Wa)=>{Wa.exports=Ha()});Oc(exports,{default:()=>eo});var Fr=be(require("obsidian"));var wc=be(require("obsidian"));function ne(){}function Pc(t,e){for(let r in e)t[r]=e[r];return t}function vi(t){return t()}function oo(){return Object.create(null)}function Re(t){t.forEach(vi)}function Ut(t){return typeof t=="function"}function fe(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var an;function _i(t,e){return an||(an=document.createElement("a")),an.href=e,t===an.href}function ao(t){return Object.keys(t).length===0}function lo(t,...e){if(t==null)return ne;let r=t.subscribe(...e);return r.unsubscribe?()=>r.unsubscribe():r}function ln(t,e,r){t.$$.on_destroy.push(lo(e,r))}function Gt(t,e,r,n){if(t){let i=uo(t,e,r,n);return t[0](i)}}function uo(t,e,r,n){return t[1]&&n?Pc(r.ctx.slice(),t[1](n(e))):r.ctx}function Qt(t,e,r,n){if(t[2]&&n){let i=t[2](n(r));if(e.dirty===void 0)return i;if(typeof i=="object"){let s=[],o=Math.max(e.dirty.length,i.length);for(let a=0;a32){let e=[],r=t.ctx.length/32;for(let n=0;nt.removeEventListener(e,r,n)}function B(t,e,r){r==null?t.removeAttribute(e):t.getAttribute(e)!==r&&t.setAttribute(e,r)}function Lc(t){return Array.from(t.childNodes)}function St(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function xi(t,e){t.value=e??""}function ke(t,e,r,n){r===null?t.style.removeProperty(e):t.style.setProperty(e,r,n?"important":"")}function bi(t,e,r){t.classList[r?"add":"remove"](e)}function Nc(t,e,{bubbles:r=!1,cancelable:n=!1}={}){let i=document.createEvent("CustomEvent");return i.initCustomEvent(t,r,n,e),i}var Er;function Dr(t){Er=t}function wi(){if(!Er)throw new Error("Function called outside component initialization");return Er}function Tr(t){wi().$$.on_mount.push(t)}function kr(t){wi().$$.on_destroy.push(t)}function ji(){let t=wi();return(e,r,{cancelable:n=!1}={})=>{let i=t.$$.callbacks[e];if(i){let s=Nc(e,r,{cancelable:n});return i.slice().forEach(o=>{o.call(t,s)}),!s.defaultPrevented}return!0}}function Me(t,e){let r=t.$$.callbacks[e.type];r&&r.slice().forEach(n=>n.call(this,e))}var Ir=[];var He=[],cn=[],ho=[],po=Promise.resolve(),Ai=!1;function mo(){Ai||(Ai=!0,po.then(go))}function ot(){return mo(),po}function Ci(t){cn.push(t)}var Fi=new Set,fn=0;function go(){let t=Er;do{for(;fn{dn.delete(t),n&&(r&&t.d(1),n())}),t.o(e)}else n&&n()}var Py=typeof window!="undefined"?window:typeof globalThis!="undefined"?globalThis:global;function Se(t){t&&t.c()}function we(t,e,r,n){let{fragment:i,after_update:s}=t.$$;i&&i.m(e,r),n||Ci(()=>{let o=t.$$.on_mount.map(vi).filter(Ut);t.$$.on_destroy?t.$$.on_destroy.push(...o):Re(o),t.$$.on_mount=[]}),s.forEach(Ci)}function ge(t,e){let r=t.$$;r.fragment!==null&&(Re(r.on_destroy),r.fragment&&r.fragment.d(e),r.on_destroy=r.fragment=null,r.ctx=[])}function zc(t,e){t.$$.dirty[0]===-1&&(Ir.push(t),mo(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let w=y.length?y[0]:f;return u.ctx&&i(u.ctx[d],u.ctx[d]=w)&&(!u.skip_bound&&u.bound[d]&&u.bound[d](w),c&&zc(t,d)),f}):[],u.update(),c=!0,Re(u.before_update),u.fragment=n?n(u.ctx):!1,e.target){if(e.hydrate){Rc();let d=Lc(e.target);u.fragment&&u.fragment.l(d),d.forEach(K)}else u.fragment&&u.fragment.c();e.intro&&Q(t.$$.fragment),we(t,e.target,e.anchor,e.customElement),Bc(),go()}Dr(l)}var Vc;typeof HTMLElement=="function"&&(Vc=class extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(vi).filter(Ut);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(t,e,r){this[t]=r}disconnectedCallback(){Re(this.$$.on_disconnect)}$destroy(){ge(this,1),this.$destroy=ne}$on(t,e){if(!Ut(e))return ne;let r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(e),()=>{let n=r.indexOf(e);n!==-1&&r.splice(n,1)}}$set(t){this.$$set&&!ao(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}});var pe=class{$destroy(){ge(this,1),this.$destroy=ne}$on(e,r){if(!Ut(r))return ne;let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(r),()=>{let i=n.indexOf(r);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!ao(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Ft=be(require("obsidian"));var Ta=be(require("obsidian"));var Si=class{constructor(){this.handlers=new Map;this.disabled=[]}on(e,r,n){if(e.includes("@")||r.includes("@"))throw new Error("Invalid context/event name - Cannot contain @");this.handlers.set(`${e}@${r}`,n)}off(e,r){if(r)this.handlers.delete(`${e}@${r}`);else for(let[n]of this.handlers.entries())n.startsWith(`${e}@`)&&this.handlers.delete(n)}disable(e){this.enable(e),this.disabled.push(e)}enable(e){this.disabled=this.disabled.filter(r=>r!==e)}emit(e,...r){let n=[...this.handlers.entries()].filter(([i,s])=>!this.disabled.includes(i.split("@")[0]));for(let[i,s]of n)i.endsWith(`@${e}`)&&s(...r)}};var Xt=[];function hn(t,e=ne){let r,n=new Set;function i(a){if(fe(t,a)&&(t=a,r)){let l=!Xt.length;for(let u of n)u[1](),Xt.push(u,t);if(l){for(let u=0;u{n.delete(u),n.size===0&&(r(),r=null)}}return{set:i,update:s,subscribe:o}}var G=be(require("obsidian"));var J=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global,oe=Object.keys,ve=Array.isArray;typeof Promise!="undefined"&&!J.Promise&&(J.Promise=Promise);function je(t,e){return typeof e!="object"||oe(e).forEach(function(r){t[r]=e[r]}),t}var Or=Object.getPrototypeOf,$c={}.hasOwnProperty;function Ie(t,e){return $c.call(t,e)}function Zt(t,e){typeof e=="function"&&(e=e(Or(t))),(typeof Reflect=="undefined"?oe:Reflect.ownKeys)(e).forEach(r=>{We(t,r,e[r])})}var yo=Object.defineProperty;function We(t,e,r,n){yo(t,e,je(r&&Ie(r,"get")&&typeof r.get=="function"?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function er(t){return{from:function(e){return t.prototype=Object.create(e.prototype),We(t.prototype,"constructor",t),{extend:Zt.bind(null,t.prototype)}}}}var Hc=Object.getOwnPropertyDescriptor;function Ei(t,e){let r=Hc(t,e),n;return r||(n=Or(t))&&Ei(n,e)}var Wc=[].slice;function pn(t,e,r){return Wc.call(t,e,r)}function vo(t,e){return e(t)}function Mr(t){if(!t)throw new Error("Assertion Failed")}function _o(t){J.setImmediate?setImmediate(t):setTimeout(t,0)}function xo(t,e){return t.reduce((r,n,i)=>{var s=e(n,i);return s&&(r[s[0]]=s[1]),r},{})}function Uc(t,e,r){try{t.apply(null,r)}catch(n){e&&e(n)}}function Ue(t,e){if(Ie(t,e))return t[e];if(!e)return t;if(typeof e!="string"){for(var r=[],n=0,i=e.length;n["Int","Uint","Float"].map(e=>e+t+"Array")))).filter(t=>J[t]),qc=jo.map(t=>J[t]);xo(jo,t=>[t,!0]);var at=null;function Pr(t){at=typeof WeakMap!="undefined"&&new WeakMap;let e=Di(t);return at=null,e}function Di(t){if(!t||typeof t!="object")return t;let e=at&&at.get(t);if(e)return e;if(ve(t)){e=[],at&&at.set(t,e);for(var r=0,n=t.length;r=0)e=t;else{let s=Or(t);e=s===Object.prototype?{}:Object.create(s),at&&at.set(t,e);for(var i in t)Ie(t,i)&&(e[i]=Di(t[i]))}return e}var{toString:Yc}={};function Ti(t){return Yc.call(t).slice(8,-1)}var ki=typeof Symbol!="undefined"?Symbol.iterator:"@@iterator",Jc=typeof ki=="symbol"?function(t){var e;return t!=null&&(e=t[ki])&&e.apply(t)}:function(){return null},tr={};function Ge(t){var e,r,n,i;if(arguments.length===1){if(ve(t))return t.slice();if(this===tr&&typeof t=="string")return[t];if(i=Jc(t)){for(r=[];n=i.next(),!n.done;)r.push(n.value);return r}if(t==null)return[t];if(e=t.length,typeof e=="number"){for(r=new Array(e);e--;)r[e]=t[e];return r}return[t]}for(e=arguments.length,r=new Array(e);e--;)r[e]=arguments[e];return r}var Ii=typeof Symbol!="undefined"?t=>t[Symbol.toStringTag]==="AsyncFunction":()=>!1,Ke=typeof location!="undefined"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Ao(t,e){Ke=t,Co=e}var Co=()=>!0,Xc=!new Error("").stack;function kt(){if(Xc)try{throw kt.arguments,new Error}catch(t){return t}return new Error}function Oi(t,e){var r=t.stack;return r?(e=e||0,r.indexOf(t.name)===0&&(e+=(t.name+t.message).split(` +var Kc=Object.create;var Mr=Object.defineProperty,zc=Object.defineProperties,Vc=Object.getOwnPropertyDescriptor,Hc=Object.getOwnPropertyDescriptors,$c=Object.getOwnPropertyNames,gs=Object.getOwnPropertySymbols,Wc=Object.getPrototypeOf,ys=Object.prototype.hasOwnProperty,Uc=Object.prototype.propertyIsEnumerable;var vs=(t,e,r)=>e in t?Mr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ue=(t,e)=>{for(var r in e||(e={}))ys.call(e,r)&&vs(t,r,e[r]);if(gs)for(var r of gs(e))Uc.call(e,r)&&vs(t,r,e[r]);return t},Oe=(t,e)=>zc(t,Hc(e)),_s=t=>Mr(t,"__esModule",{value:!0});var yn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Gc=(t,e)=>{_s(t);for(var r in e)Mr(t,r,{get:e[r],enumerable:!0})},Qc=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $c(e))!ys.call(t,n)&&n!=="default"&&Mr(t,n,{get:()=>e[n],enumerable:!(r=Vc(e,n))||r.enumerable});return t},Fe=t=>Qc(_s(Mr(t!=null?Kc(Wc(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var Ta=yn((un,Po)=>{(function(t,e){if(typeof un=="object"&&typeof Po=="object")Po.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var r=e();for(var n in r)(typeof un=="object"?un:t)[n]=r[n]}})(typeof self!="undefined"?self:un,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(n,i,o){r.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:o})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(1&i&&(n=r(n)),8&i||4&i&&typeof n=="object"&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&i&&typeof n!="string")for(var s in n)r.d(o,s,function(a){return n[a]}.bind(null,s));return o},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}([function(t,e,r){"use strict";r.r(e),r.d(e,"md5",function(){return x});var n="0123456789abcdef".split(""),i=function(b){for(var h="",_=0;_<4;_++)h+=n[b>>8*_+4&15]+n[b>>8*_&15];return h},o=function(b){for(var h=b.length,_=0;_>>32-C,S)}(h=function(j,C,S,E){return C=s(s(C,j),s(S,E))}(b,h,p,v),m,_)},l=function(b,h,_,p,m,v,g,j){return a(_&p|~_&m,h,_,v,g,j,b)},u=function(b,h,_,p,m,v,g,j){return a(_&m|p&~m,h,_,v,g,j,b)},d=function(b,h,_,p,m,v,g,j){return a(_^p^m,h,_,v,g,j,b)},f=function(b,h,_,p,m,v,g,j){return a(p^(_|~m),h,_,v,g,j,b)},c=function(b,h,_){_===void 0&&(_=s);var p=b[0],m=b[1],v=b[2],g=b[3],j=l.bind(null,_);p=j(p,m,v,g,h[0],7,-680876936),g=j(g,p,m,v,h[1],12,-389564586),v=j(v,g,p,m,h[2],17,606105819),m=j(m,v,g,p,h[3],22,-1044525330),p=j(p,m,v,g,h[4],7,-176418897),g=j(g,p,m,v,h[5],12,1200080426),v=j(v,g,p,m,h[6],17,-1473231341),m=j(m,v,g,p,h[7],22,-45705983),p=j(p,m,v,g,h[8],7,1770035416),g=j(g,p,m,v,h[9],12,-1958414417),v=j(v,g,p,m,h[10],17,-42063),m=j(m,v,g,p,h[11],22,-1990404162),p=j(p,m,v,g,h[12],7,1804603682),g=j(g,p,m,v,h[13],12,-40341101),v=j(v,g,p,m,h[14],17,-1502002290),m=j(m,v,g,p,h[15],22,1236535329);var C=u.bind(null,_);p=C(p,m,v,g,h[1],5,-165796510),g=C(g,p,m,v,h[6],9,-1069501632),v=C(v,g,p,m,h[11],14,643717713),m=C(m,v,g,p,h[0],20,-373897302),p=C(p,m,v,g,h[5],5,-701558691),g=C(g,p,m,v,h[10],9,38016083),v=C(v,g,p,m,h[15],14,-660478335),m=C(m,v,g,p,h[4],20,-405537848),p=C(p,m,v,g,h[9],5,568446438),g=C(g,p,m,v,h[14],9,-1019803690),v=C(v,g,p,m,h[3],14,-187363961),m=C(m,v,g,p,h[8],20,1163531501),p=C(p,m,v,g,h[13],5,-1444681467),g=C(g,p,m,v,h[2],9,-51403784),v=C(v,g,p,m,h[7],14,1735328473),m=C(m,v,g,p,h[12],20,-1926607734);var S=d.bind(null,_);p=S(p,m,v,g,h[5],4,-378558),g=S(g,p,m,v,h[8],11,-2022574463),v=S(v,g,p,m,h[11],16,1839030562),m=S(m,v,g,p,h[14],23,-35309556),p=S(p,m,v,g,h[1],4,-1530992060),g=S(g,p,m,v,h[4],11,1272893353),v=S(v,g,p,m,h[7],16,-155497632),m=S(m,v,g,p,h[10],23,-1094730640),p=S(p,m,v,g,h[13],4,681279174),g=S(g,p,m,v,h[0],11,-358537222),v=S(v,g,p,m,h[3],16,-722521979),m=S(m,v,g,p,h[6],23,76029189),p=S(p,m,v,g,h[9],4,-640364487),g=S(g,p,m,v,h[12],11,-421815835),v=S(v,g,p,m,h[15],16,530742520),m=S(m,v,g,p,h[2],23,-995338651);var E=f.bind(null,_);p=E(p,m,v,g,h[0],6,-198630844),g=E(g,p,m,v,h[7],10,1126891415),v=E(v,g,p,m,h[14],15,-1416354905),m=E(m,v,g,p,h[5],21,-57434055),p=E(p,m,v,g,h[12],6,1700485571),g=E(g,p,m,v,h[3],10,-1894986606),v=E(v,g,p,m,h[10],15,-1051523),m=E(m,v,g,p,h[1],21,-2054922799),p=E(p,m,v,g,h[8],6,1873313359),g=E(g,p,m,v,h[15],10,-30611744),v=E(v,g,p,m,h[6],15,-1560198380),m=E(m,v,g,p,h[13],21,1309151649),p=E(p,m,v,g,h[4],6,-145523070),g=E(g,p,m,v,h[11],10,-1120210379),v=E(v,g,p,m,h[2],15,718787259),m=E(m,v,g,p,h[9],21,-343485551),b[0]=_(p,b[0]),b[1]=_(m,b[1]),b[2]=_(v,b[2]),b[3]=_(g,b[3])},y=function(b){for(var h=[],_=0;_<64;_+=4)h[_>>2]=b.charCodeAt(_)+(b.charCodeAt(_+1)<<8)+(b.charCodeAt(_+2)<<16)+(b.charCodeAt(_+3)<<24);return h},w=function(b,h){var _,p=b.length,m=[1732584193,-271733879,-1732584194,271733878];for(_=64;_<=p;_+=64)c(m,y(b.substring(_-64,_)),h);var v=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=(b=b.substring(_-64)).length;for(_=0;_>2]|=b.charCodeAt(_)<<(_%4<<3);if(v[_>>2]|=128<<(_%4<<3),_>55)for(c(m,v,h),_=16;_--;)v[_]=0;return v[14]=8*p,c(m,v,h),m};function x(b){var h;return o(w("hello"))!=="5d41402abc4b2a76b9719d911017c592"&&(h=function(_,p){var m=(65535&_)+(65535&p);return(_>>16)+(p>>16)+(m>>16)<<16|65535&m}),o(w(b,h))}}])})});var nl=yn(ii=>{ii.parse=function(t,e){if(e?e.offsets=typeof e.offsets=="undefined"?!0:e.offsets:e={offsets:!0},t||(t=""),t.indexOf(":")===-1&&!e.tokenize)return t;if(!e.keywords&&!e.ranges&&!e.tokenize)return t;var r={text:[]};e.offsets&&(r.offsets=[]);for(var n={},i=[],o=/(\S+:'(?:[^'\\]|\\.)*')|(\S+:"(?:[^"\\]|\\.)*")|(-?"(?:[^"\\]|\\.)*")|(-?'(?:[^'\\]|\\.)*')|\S+|\S+:\S+/g,s;(s=o.exec(t))!==null;){var c=s[0],a=c.indexOf(":");if(a!==-1){var l=c.split(":"),u=c.slice(0,a),d=c.slice(a+1);d=d.replace(/^\"|\"$|^\'|\'$/g,""),d=(d+"").replace(/\\(.?)/g,function(g,j){switch(j){case"\\":return"\\";case"0":return"\0";case"":return"";default:return j}}),i.push({keyword:u,value:d,offsetStart:s.index,offsetEnd:s.index+c.length})}else{var f=!1;c[0]==="-"&&(f=!0,c=c.slice(1)),c=c.replace(/^\"|\"$|^\'|\'$/g,""),c=(c+"").replace(/\\(.?)/g,function(g,j){switch(j){case"\\":return"\\";case"0":return"\0";case"":return"";default:return j}}),f?n.text?(n.text instanceof Array||(n.text=[n.text]),n.text.push(c)):n.text=c:i.push({text:c,offsetStart:s.index,offsetEnd:s.index+c.length})}}i.reverse();for(var c;c=i.pop();)if(c.text)r.text.push(c.text),e.offsets&&r.offsets.push(c);else{var u=c.keyword;e.keywords=e.keywords||[];var y=!1,w=!1;if(!/^-/.test(u))y=e.keywords.indexOf(u)!==-1;else if(u[0]==="-"){var x=u.slice(1);y=e.keywords.indexOf(x)!==-1,y&&(u=x,w=!0)}e.ranges=e.ranges||[];var b=e.ranges.indexOf(u)!==-1;if(y){e.offsets&&r.offsets.push({keyword:u,value:c.value,offsetStart:w?c.offsetStart+1:c.offsetStart,offsetEnd:c.offsetEnd});var h=c.value;if(h.length){var _=h.split(",");w?n[u]?n[u]instanceof Array?_.length>1?n[u]=n[u].concat(_):n[u].push(h):(n[u]=[n[u]],n[u].push(h)):_.length>1?n[u]=_:e.alwaysArray?n[u]=[h]:n[u]=h:r[u]?r[u]instanceof Array?_.length>1?r[u]=r[u].concat(_):r[u].push(h):(r[u]=[r[u]],r[u].push(h)):_.length>1?r[u]=_:e.alwaysArray?r[u]=[h]:r[u]=h}}else if(b){e.offsets&&r.offsets.push(c);var h=c.value,p=h.split("-");r[u]={},p.length===2?(r[u].from=p[0],r[u].to=p[1]):!p.length%2||(r[u].from=h)}else{var m=c.keyword+":"+c.value;r.text.push(m),e.offsets&&r.offsets.push({text:m,offsetStart:c.offsetStart,offsetEnd:c.offsetEnd})}}return r.text.length?e.tokenize||(r.text=r.text.join(" ").trim()):delete r.text,r.exclude=n,r};ii.stringify=function(t,e,r){if(e||(e={offsets:!0}),!t)return"";if(typeof t=="string")return t;if(Array.isArray(t))return t.join(" ");if(!Object.keys(t).length)return"";if(Object.keys(t).length===3&&!!t.text&&!!t.offsets&&!!t.exclude&&typeof t.text=="string")return t.text;r||(r="");var n=function(a){return a.indexOf(" ")>-1?JSON.stringify(a):a},i=function(a){return r+a},o=[];if(t.text){var s=[];typeof t.text=="string"?s.push(t.text):s.push.apply(s,t.text),s.length>0&&o.push(s.map(n).map(i).join(" "))}return e.keywords&&e.keywords.forEach(function(a){if(!!t[a]){var l=[];typeof t[a]=="string"?l.push(t[a]):l.push.apply(l,t[a]),l.length>0&&o.push(i(a+":"+l.map(n).join(",")))}}),e.ranges&&e.ranges.forEach(function(a){if(!!t[a]){var l=t[a].from,u=t[a].to;u&&(l=l+"-"+u),l&&o.push(i(a+":"+l))}}),t.exclude&&Object.keys(t.exclude).length>0&&o.push(ii.stringify(t.exclude,e,"-")),o.join(" ")}});var ol=yn((n_,il)=>{il.exports=nl()});var xc=yn(Si=>{function fs(t){return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fs(t)}(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof Si!="undefined")e(Si);else{var r={exports:{}};e(r.exports),t.CancelablePromise=r.exports}})(typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:Si,function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancelablePromise=void 0,t.cancelable=L,t.default=void 0,t.isCancelablePromise=k;function e(A,F){if(typeof F!="function"&&F!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(F&&F.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),F&&r(A,F)}function r(A,F){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(N,O){return N.__proto__=O,N},r(A,F)}function n(A){var F=s();return function(){var N=a(A),O;if(F){var X=a(this).constructor;O=Reflect.construct(N,arguments,X)}else O=N.apply(this,arguments);return i(this,O)}}function i(A,F){if(F&&(fs(F)==="object"||typeof F=="function"))return F;if(F!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return o(A)}function o(A){if(A===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function s(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function a(A){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(D){return D.__proto__||Object.getPrototypeOf(D)},a(A)}function l(A,F){var D=typeof Symbol!="undefined"&&A[Symbol.iterator]||A["@@iterator"];if(!D){if(Array.isArray(A)||(D=u(A))||F&&A&&typeof A.length=="number"){D&&(A=D);var N=0,O=function(){};return{s:O,n:function(){return N>=A.length?{done:!0}:{done:!1,value:A[N++]}},e:function(te){throw te},f:O}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var X=!0,le=!1,_e;return{s:function(){D=D.call(A)},n:function(){var te=D.next();return X=te.done,te},e:function(te){le=!0,_e=te},f:function(){try{!X&&D.return!=null&&D.return()}finally{if(le)throw _e}}}}function u(A,F){if(!!A){if(typeof A=="string")return d(A,F);var D=Object.prototype.toString.call(A).slice(8,-1);if(D==="Object"&&A.constructor&&(D=A.constructor.name),D==="Map"||D==="Set")return Array.from(A);if(D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D))return d(A,F)}}function d(A,F){(F==null||F>A.length)&&(F=A.length);for(var D=0,N=new Array(F);Dps});var Pr=Fe(require("obsidian"));var Lc=Fe(require("obsidian"));function ce(){}function qc(t,e){for(let r in e)t[r]=e[r];return t}function Di(t){return t()}function bs(){return Object.create(null)}function Ue(t){t.forEach(Di)}function er(t){return typeof t=="function"}function be(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var vn;function Ti(t,e){return vn||(vn=document.createElement("a")),vn.href=e,t===vn.href}function xs(t){return Object.keys(t).length===0}function ws(t,...e){if(t==null)return ce;let r=t.subscribe(...e);return r.unsubscribe?()=>r.unsubscribe():r}function _n(t,e,r){t.$$.on_destroy.push(ws(e,r))}function tr(t,e,r,n){if(t){let i=js(t,e,r,n);return t[0](i)}}function js(t,e,r,n){return t[1]&&n?qc(r.ctx.slice(),t[1](n(e))):r.ctx}function rr(t,e,r,n){if(t[2]&&n){let i=t[2](n(r));if(e.dirty===void 0)return i;if(typeof i=="object"){let o=[],s=Math.max(e.dirty.length,i.length);for(let a=0;a32){let e=[],r=t.ctx.length/32;for(let n=0;nt.removeEventListener(e,r,n)}function B(t,e,r){r==null?t.removeAttribute(e):t.getAttribute(e)!==r&&t.setAttribute(e,r)}function Xc(t){return Array.from(t.childNodes)}function Ge(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Ii(t,e){t.value=e??""}function ze(t,e,r,n){r===null?t.style.removeProperty(e):t.style.setProperty(e,r,n?"important":"")}function Oi(t,e,r){t.classList[r?"add":"remove"](e)}function Zc(t,e,{bubbles:r=!1,cancelable:n=!1}={}){let i=document.createEvent("CustomEvent");return i.initCustomEvent(t,r,n,e),i}var Rr;function Lr(t){Rr=t}function ki(){if(!Rr)throw new Error("Function called outside component initialization");return Rr}function Br(t){ki().$$.on_mount.push(t)}function Nr(t){ki().$$.on_destroy.push(t)}function Pi(){let t=ki();return(e,r,{cancelable:n=!1}={})=>{let i=t.$$.callbacks[e];if(i){let o=Zc(e,r,{cancelable:n});return i.slice().forEach(s=>{s.call(t,o)}),!o.defaultPrevented}return!0}}function $e(t,e){let r=t.$$.callbacks[e.type];r&&r.slice().forEach(n=>n.call(this,e))}var Kr=[];var tt=[],xn=[],Ss=[],Fs=Promise.resolve(),Mi=!1;function Es(){Mi||(Mi=!0,Fs.then(Ds))}function mt(){return Es(),Fs}function Ri(t){xn.push(t)}var Li=new Set,wn=0;function Ds(){let t=Rr;do{for(;wn{jn.delete(t),n&&(r&&t.d(1),n())}),t.o(e)}else n&&n()}var qy=typeof window!="undefined"?window:typeof globalThis!="undefined"?globalThis:global;function Le(t){t&&t.c()}function ke(t,e,r,n){let{fragment:i,after_update:o}=t.$$;i&&i.m(e,r),n||Ri(()=>{let s=t.$$.on_mount.map(Di).filter(er);t.$$.on_destroy?t.$$.on_destroy.push(...s):Ue(s),t.$$.on_mount=[]}),o.forEach(Ri)}function Ee(t,e){let r=t.$$;r.fragment!==null&&(Ue(r.on_destroy),r.fragment&&r.fragment.d(e),r.on_destroy=r.fragment=null,r.ctx=[])}function tf(t,e){t.$$.dirty[0]===-1&&(Kr.push(t),Es(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let w=y.length?y[0]:c;return u.ctx&&i(u.ctx[f],u.ctx[f]=w)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](w),d&&tf(t,f)),c}):[],u.update(),d=!0,Ue(u.before_update),u.fragment=n?n(u.ctx):!1,e.target){if(e.hydrate){Yc();let f=Xc(e.target);u.fragment&&u.fragment.l(f),f.forEach(H)}else u.fragment&&u.fragment.c();e.intro&&ee(t.$$.fragment),ke(t,e.target,e.anchor,e.customElement),Jc(),Ds()}Lr(l)}var rf;typeof HTMLElement=="function"&&(rf=class extends HTMLElement{constructor(){super();this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:t}=this.$$;this.$$.on_disconnect=t.map(Di).filter(er);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(t,e,r){this[t]=r}disconnectedCallback(){Ue(this.$$.on_disconnect)}$destroy(){Ee(this,1),this.$destroy=ce}$on(t,e){if(!er(e))return ce;let r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(e),()=>{let n=r.indexOf(e);n!==-1&&r.splice(n,1)}}$set(t){this.$$set&&!xs(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}});var Ae=class{$destroy(){Ee(this,1),this.$destroy=ce}$on(e,r){if(!er(r))return ce;let n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(r),()=>{let i=n.indexOf(r);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!xs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Mt=Fe(require("obsidian"));var Ha=Fe(require("obsidian"));var Bi=class{constructor(){this.handlers=new Map;this.disabled=[]}on(e,r,n){if(e.includes("@")||r.includes("@"))throw new Error("Invalid context/event name - Cannot contain @");this.handlers.set(`${e}@${r}`,n)}off(e,r){if(r)this.handlers.delete(`${e}@${r}`);else for(let[n]of this.handlers.entries())n.startsWith(`${e}@`)&&this.handlers.delete(n)}disable(e){this.enable(e),this.disabled.push(e)}enable(e){this.disabled=this.disabled.filter(r=>r!==e)}emit(e,...r){let n=[...this.handlers.entries()].filter(([i,o])=>!this.disabled.includes(i.split("@")[0]));for(let[i,o]of n)i.endsWith(`@${e}`)&&o(...r)}};var sr=[];function Cn(t,e=ce){let r,n=new Set;function i(a){if(be(t,a)&&(t=a,r)){let l=!sr.length;for(let u of n)u[1](),sr.push(u,t);if(l){for(let u=0;u{n.delete(u),n.size===0&&(r(),r=null)}}return{set:i,update:o,subscribe:s}}var Y=Fe(require("obsidian"));var ie=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global,he=Object.keys,Te=Array.isArray;typeof Promise!="undefined"&&!ie.Promise&&(ie.Promise=Promise);function Pe(t,e){return typeof e!="object"||he(e).forEach(function(r){t[r]=e[r]}),t}var zr=Object.getPrototypeOf,nf={}.hasOwnProperty;function Ve(t,e){return nf.call(t,e)}function ar(t,e){typeof e=="function"&&(e=e(zr(t))),(typeof Reflect=="undefined"?he:Reflect.ownKeys)(e).forEach(r=>{rt(t,r,e[r])})}var Ts=Object.defineProperty;function rt(t,e,r,n){Ts(t,e,Pe(r&&Ve(r,"get")&&typeof r.get=="function"?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function lr(t){return{from:function(e){return t.prototype=Object.create(e.prototype),rt(t.prototype,"constructor",t),{extend:ar.bind(null,t.prototype)}}}}var of=Object.getOwnPropertyDescriptor;function Ni(t,e){let r=of(t,e),n;return r||(n=zr(t))&&Ni(n,e)}var sf=[].slice;function An(t,e,r){return sf.call(t,e,r)}function Is(t,e){return e(t)}function Vr(t){if(!t)throw new Error("Assertion Failed")}function Os(t){ie.setImmediate?setImmediate(t):setTimeout(t,0)}function ks(t,e){return t.reduce((r,n,i)=>{var o=e(n,i);return o&&(r[o[0]]=o[1]),r},{})}function af(t,e,r){try{t.apply(null,r)}catch(n){e&&e(n)}}function nt(t,e){if(Ve(t,e))return t[e];if(!e)return t;if(typeof e!="string"){for(var r=[],n=0,i=e.length;n["Int","Uint","Float"].map(e=>e+t+"Array")))).filter(t=>ie[t]),cf=Rs.map(t=>ie[t]);ks(Rs,t=>[t,!0]);var gt=null;function Hr(t){gt=typeof WeakMap!="undefined"&&new WeakMap;let e=Ki(t);return gt=null,e}function Ki(t){if(!t||typeof t!="object")return t;let e=gt&>.get(t);if(e)return e;if(Te(t)){e=[],gt&>.set(t,e);for(var r=0,n=t.length;r=0)e=t;else{let o=zr(t);e=o===Object.prototype?{}:Object.create(o),gt&>.set(t,e);for(var i in t)Ve(t,i)&&(e[i]=Ki(t[i]))}return e}var{toString:ff}={};function zi(t){return ff.call(t).slice(8,-1)}var Vi=typeof Symbol!="undefined"?Symbol.iterator:"@@iterator",df=typeof Vi=="symbol"?function(t){var e;return t!=null&&(e=t[Vi])&&e.apply(t)}:function(){return null},ur={};function it(t){var e,r,n,i;if(arguments.length===1){if(Te(t))return t.slice();if(this===ur&&typeof t=="string")return[t];if(i=df(t)){for(r=[];n=i.next(),!n.done;)r.push(n.value);return r}if(t==null)return[t];if(e=t.length,typeof e=="number"){for(r=new Array(e);e--;)r[e]=t[e];return r}return[t]}for(e=arguments.length,r=new Array(e);e--;)r[e]=arguments[e];return r}var Hi=typeof Symbol!="undefined"?t=>t[Symbol.toStringTag]==="AsyncFunction":()=>!1,Je=typeof location!="undefined"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function Ls(t,e){Je=t,Bs=e}var Bs=()=>!0,hf=!new Error("").stack;function Nt(){if(hf)try{throw Nt.arguments,new Error}catch(t){return t}return new Error}function $i(t,e){var r=t.stack;return r?(e=e||0,r.indexOf(t.name)===0&&(e+=(t.name+t.message).split(` `).length),r.split(` -`).slice(e).filter(Co).map(n=>` -`+n).join("")):""}var Zc=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"],Fo=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],Mi=Zc.concat(Fo),ef={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function rr(t,e){this._e=kt(),this.name=t,this.message=e}er(rr).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+Oi(this._e,2))}},toString:function(){return this.name+": "+this.message}});function So(t,e){return t+". Errors: "+Object.keys(e).map(r=>e[r].toString()).filter((r,n,i)=>i.indexOf(r)===n).join(` -`)}function mn(t,e,r,n){this._e=kt(),this.failures=e,this.failedKeys=n,this.successCount=r,this.message=So(t,e)}er(mn).from(rr);function Rr(t,e){this._e=kt(),this.name="BulkError",this.failures=Object.keys(e).map(r=>e[r]),this.failuresByPos=e,this.message=So(t,e)}er(Rr).from(rr);var Pi=Mi.reduce((t,e)=>(t[e]=e+"Error",t),{}),tf=rr,L=Mi.reduce((t,e)=>{var r=e+"Error";function n(i,s){this._e=kt(),this.name=r,i?typeof i=="string"?(this.message=`${i}${s?` - `+s:""}`,this.inner=s||null):typeof i=="object"&&(this.message=`${i.name} ${i.message}`,this.inner=i):(this.message=ef[e]||r,this.inner=null)}return er(n).from(tf),t[e]=n,t},{});L.Syntax=SyntaxError;L.Type=TypeError;L.Range=RangeError;var Eo=Fo.reduce((t,e)=>(t[e+"Error"]=L[e],t),{});function rf(t,e){if(!t||t instanceof rr||t instanceof TypeError||t instanceof SyntaxError||!t.name||!Eo[t.name])return t;var r=new Eo[t.name](e||t.message,t);return"stack"in t&&We(r,"stack",{get:function(){return this.inner.stack}}),r}var gn=Mi.reduce((t,e)=>(["Syntax","Type","Range"].indexOf(e)===-1&&(t[e+"Error"]=L[e]),t),{});gn.ModifyError=mn;gn.DexieError=rr;gn.BulkError=Rr;function Y(){}function Br(t){return t}function nf(t,e){return t==null||t===Br?e:function(r){return e(t(r))}}function It(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function sf(t,e){return t===Y?e:function(){var r=t.apply(this,arguments);r!==void 0&&(arguments[0]=r);var n=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var s=e.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?It(n,this.onsuccess):n),i&&(this.onerror=this.onerror?It(i,this.onerror):i),s!==void 0?s:r}}function of(t,e){return t===Y?e:function(){t.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,e.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?It(r,this.onsuccess):r),n&&(this.onerror=this.onerror?It(n,this.onerror):n)}}function af(t,e){return t===Y?e:function(r){var n=t.apply(this,arguments);je(r,n);var i=this.onsuccess,s=this.onerror;this.onsuccess=null,this.onerror=null;var o=e.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?It(i,this.onsuccess):i),s&&(this.onerror=this.onerror?It(s,this.onerror):s),n===void 0?o===void 0?void 0:o:je(n,o)}}function lf(t,e){return t===Y?e:function(){return e.apply(this,arguments)===!1?!1:t.apply(this,arguments)}}function Ri(t,e){return t===Y?e:function(){var r=t.apply(this,arguments);if(r&&typeof r.then=="function"){for(var n=this,i=arguments.length,s=new Array(i);i--;)s[i]=arguments[i];return r.then(function(){return e.apply(n,s)})}return e.apply(this,arguments)}}var Lr={},uf=100,cf=20,Do=100,[Bi,yn,Li]=typeof Promise=="undefined"?[]:(()=>{let t=Promise.resolve();if(typeof crypto=="undefined"||!crypto.subtle)return[t,Or(t),t];let e=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[e,Or(e),t]})(),To=yn&&yn.then,vn=Bi&&Bi.constructor,Ni=!!Li,Ki=!1,ff=Li?()=>{Li.then(wn)}:J.setImmediate?setImmediate.bind(null,wn):J.MutationObserver?()=>{var t=document.createElement("div");new MutationObserver(()=>{wn(),t=null}).observe(t,{attributes:!0}),t.setAttribute("i","1")}:()=>{setTimeout(wn,0)},Nr=function(t,e){Kr.push([t,e]),_n&&(ff(),_n=!1)},zi=!0,_n=!0,Ot=[],xn=[],Vi=null,$i=Br,nr={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Ko,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(t=>{try{Ko(t[0],t[1])}catch{}})}},R=nr,Kr=[],Mt=0,bn=[];function I(t){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=Y,this._lib=!1;var e=this._PSD=R;if(Ke&&(this._stackHolder=kt(),this._prev=null,this._numPrev=0),typeof t!="function"){if(t!==Lr)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Wi(this,this._value);return}this._state=null,this._value=null,++e.ref,Io(this,t)}var Hi={get:function(){var t=R,e=Cn;function r(n,i){var s=!t.global&&(t!==R||e!==Cn);let o=s&&!Qe();var a=new I((l,u)=>{Ui(this,new ko(Sn(n,t,s,o),Sn(i,t,s,o),l,u,t))});return Ke&&Po(a,this),a}return r.prototype=Lr,r},set:function(t){We(this,"then",t&&t.prototype===Lr?Hi:{get:function(){return t},set:Hi.set})}};Zt(I.prototype,{then:Hi,_then:function(t,e){Ui(this,new ko(null,null,t,e,R))},catch:function(t){if(arguments.length===1)return this.then(null,t);var e=arguments[0],r=arguments[1];return typeof e=="function"?this.then(null,n=>n instanceof e?r(n):jn(n)):this.then(null,n=>n&&n.name===e?r(n):jn(n))},finally:function(t){return this.then(e=>(t(),e),e=>(t(),jn(e)))},stack:{get:function(){if(this._stack)return this._stack;try{Ki=!0;var t=Mo(this,[],cf),e=t.join(` -From previous: `);return this._state!==null&&(this._stack=e),e}finally{Ki=!1}}},timeout:function(t,e){return t<1/0?new I((r,n)=>{var i=setTimeout(()=>n(new L.Timeout(e)),t);this.then(r,n).finally(clearTimeout.bind(null,i))}):this}});typeof Symbol!="undefined"&&Symbol.toStringTag&&We(I.prototype,Symbol.toStringTag,"Dexie.Promise");nr.env=Ro();function ko(t,e,r,n,i){this.onFulfilled=typeof t=="function"?t:null,this.onRejected=typeof e=="function"?e:null,this.resolve=r,this.reject=n,this.psd=i}Zt(I,{all:function(){var t=Ge.apply(null,arguments).map(Fn);return new I(function(e,r){t.length===0&&e([]);var n=t.length;t.forEach((i,s)=>I.resolve(i).then(o=>{t[s]=o,--n||e(t)},r))})},resolve:t=>{if(t instanceof I)return t;if(t&&typeof t.then=="function")return new I((r,n)=>{t.then(r,n)});var e=new I(Lr,!0,t);return Po(e,Vi),e},reject:jn,race:function(){var t=Ge.apply(null,arguments).map(Fn);return new I((e,r)=>{t.map(n=>I.resolve(n).then(e,r))})},PSD:{get:()=>R,set:t=>R=t},totalEchoes:{get:()=>Cn},newPSD:lt,usePSD:sr,scheduler:{get:()=>Nr,set:t=>{Nr=t}},rejectionMapper:{get:()=>$i,set:t=>{$i=t}},follow:(t,e)=>new I((r,n)=>lt((i,s)=>{var o=R;o.unhandleds=[],o.onunhandled=s,o.finalize=It(function(){hf(()=>{this.unhandleds.length===0?i():s(this.unhandleds[0])})},o.finalize),t()},e,r,n))});vn&&(vn.allSettled&&We(I,"allSettled",function(){let t=Ge.apply(null,arguments).map(Fn);return new I(e=>{t.length===0&&e([]);let r=t.length,n=new Array(r);t.forEach((i,s)=>I.resolve(i).then(o=>n[s]={status:"fulfilled",value:o},o=>n[s]={status:"rejected",reason:o}).then(()=>--r||e(n)))})}),vn.any&&typeof AggregateError!="undefined"&&We(I,"any",function(){let t=Ge.apply(null,arguments).map(Fn);return new I((e,r)=>{t.length===0&&r(new AggregateError([]));let n=t.length,i=new Array(n);t.forEach((s,o)=>I.resolve(s).then(a=>e(a),a=>{i[o]=a,--n||r(new AggregateError(i))}))})}));function Io(t,e){try{e(r=>{if(t._state===null){if(r===t)throw new TypeError("A promise cannot be resolved with itself.");var n=t._lib&&zr();r&&typeof r.then=="function"?Io(t,(i,s)=>{r instanceof I?r._then(i,s):r.then(i,s)}):(t._state=!0,t._value=r,Oo(t)),n&&Vr()}},Wi.bind(null,t))}catch(r){Wi(t,r)}}function Wi(t,e){if(xn.push(e),t._state===null){var r=t._lib&&zr();e=$i(e),t._state=!1,t._value=e,Ke&&e!==null&&typeof e=="object"&&!e._promise&&Uc(()=>{var n=Ei(e,"stack");e._promise=t,We(e,"stack",{get:()=>Ki?n&&(n.get?n.get.apply(e):n.value):t.stack})}),pf(t),Oo(t),r&&Vr()}}function Oo(t){var e=t._listeners;t._listeners=[];for(var r=0,n=e.length;r{--Mt==0&&Gi()},[]))}function Ui(t,e){if(t._state===null){t._listeners.push(e);return}var r=t._state?e.onFulfilled:e.onRejected;if(r===null)return(t._state?e.resolve:e.reject)(t._value);++e.psd.ref,++Mt,Nr(df,[r,t,e])}function df(t,e,r){try{Vi=e;var n,i=e._value;e._state?n=t(i):(xn.length&&(xn=[]),n=t(i),xn.indexOf(i)===-1&&mf(e)),r.resolve(n)}catch(s){r.reject(s)}finally{Vi=null,--Mt==0&&Gi(),--r.psd.ref||r.psd.finalize()}}function Mo(t,e,r){if(e.length===r)return e;var n="";if(t._state===!1){var i=t._value,s,o;i!=null?(s=i.name||"Error",o=i.message||i,n=Oi(i,0)):(s=i,o=""),e.push(s+(o?": "+o:"")+n)}return Ke&&(n=Oi(t._stackHolder,2),n&&e.indexOf(n)===-1&&e.push(n),t._prev&&Mo(t._prev,e,r)),e}function Po(t,e){var r=e?e._numPrev+1:0;r0;)for(t=Kr,Kr=[],r=t.length,e=0;e0);zi=!0,_n=!0}function Gi(){var t=Ot;Ot=[],t.forEach(n=>{n._PSD.onunhandled.call(null,n._value,n)});for(var e=bn.slice(0),r=e.length;r;)e[--r]()}function hf(t){function e(){t(),bn.splice(bn.indexOf(e),1)}bn.push(e),++Mt,Nr(()=>{--Mt==0&&Gi()},[])}function pf(t){Ot.some(e=>e._value===t._value)||Ot.push(t)}function mf(t){for(var e=Ot.length;e;)if(Ot[--e]._value===t._value){Ot.splice(e,1);return}}function jn(t){return new I(Lr,!1,t)}function Z(t,e){var r=R;return function(){var n=zr(),i=R;try{return ut(r,!0),t.apply(this,arguments)}catch(s){e&&e(s)}finally{ut(i,!1),n&&Vr()}}}var _e={awaits:0,echoes:0,id:0},gf=0,An=[],Qi=0,Cn=0,yf=0;function lt(t,e,r,n){var i=R,s=Object.create(i);s.parent=i,s.ref=0,s.global=!1,s.id=++yf;var o=nr.env;s.env=Ni?{Promise:I,PromiseProp:{value:I,configurable:!0,writable:!0},all:I.all,race:I.race,allSettled:I.allSettled,any:I.any,resolve:I.resolve,reject:I.reject,nthen:Lo(o.nthen,s),gthen:Lo(o.gthen,s)}:{},e&&je(s,e),++i.ref,s.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=sr(s,t,r,n);return s.ref===0&&s.finalize(),a}function ir(){return _e.id||(_e.id=++gf),++_e.awaits,_e.echoes+=Do,_e.id}function Qe(){return _e.awaits?(--_e.awaits==0&&(_e.id=0),_e.echoes=_e.awaits*Do,!0):!1}(""+To).indexOf("[native code]")===-1&&(ir=Qe=Y);function Fn(t){return _e.echoes&&t&&t.constructor===vn?(ir(),t.then(e=>(Qe(),e),e=>(Qe(),le(e)))):t}function vf(t){++Cn,(!_e.echoes||--_e.echoes==0)&&(_e.echoes=_e.id=0),An.push(R),ut(t,!0)}function _f(){var t=An[An.length-1];An.pop(),ut(t,!1)}function ut(t,e){var r=R;if((e?_e.echoes&&(!Qi++||t!==R):Qi&&(!--Qi||t!==R))&&Bo(e?vf.bind(null,t):_f),t!==R&&(R=t,r===nr&&(nr.env=Ro()),Ni)){var n=nr.env.Promise,i=t.env;yn.then=i.nthen,n.prototype.then=i.gthen,(r.global||t.global)&&(Object.defineProperty(J,"Promise",i.PromiseProp),n.all=i.all,n.race=i.race,n.resolve=i.resolve,n.reject=i.reject,i.allSettled&&(n.allSettled=i.allSettled),i.any&&(n.any=i.any))}}function Ro(){var t=J.Promise;return Ni?{Promise:t,PromiseProp:Object.getOwnPropertyDescriptor(J,"Promise"),all:t.all,race:t.race,allSettled:t.allSettled,any:t.any,resolve:t.resolve,reject:t.reject,nthen:yn.then,gthen:t.prototype.then}:{}}function sr(t,e,r,n,i){var s=R;try{return ut(t,!0),e(r,n,i)}finally{ut(s,!1)}}function Bo(t){To.call(Bi,t)}function Sn(t,e,r,n){return typeof t!="function"?t:function(){var i=R;r&&ir(),ut(e,!0);try{return t.apply(this,arguments)}finally{ut(i,!1),n&&Bo(Qe)}}}function Lo(t,e){return function(r,n){return t.call(this,Sn(r,e),Sn(n,e))}}var No="unhandledrejection";function Ko(t,e){var r;try{r=e.onuncatched(t)}catch{}if(r!==!1)try{var n,i={promise:e,reason:t};if(J.document&&document.createEvent?(n=document.createEvent("Event"),n.initEvent(No,!0,!0),je(n,i)):J.CustomEvent&&(n=new CustomEvent(No,{detail:i}),je(n,i)),n&&J.dispatchEvent&&(dispatchEvent(n),!J.PromiseRejectionEvent&&J.onunhandledrejection))try{J.onunhandledrejection(n)}catch{}Ke&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${t.stack||t}`)}catch{}}var le=I.reject;function qi(t,e,r,n){if(!t.idbdb||!t._state.openComplete&&!R.letThrough&&!t._vip){if(t._state.openComplete)return le(new L.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return le(new L.DatabaseClosed);t.open().catch(Y)}return t._state.dbReadyPromise.then(()=>qi(t,e,r,n))}else{var i=t._createTransaction(e,r,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(s){return s.name===Pi.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>qi(t,e,r,n))):le(s)}return i._promise(e,(s,o)=>lt(()=>(R.trans=i,n(s,o,i)))).then(s=>i._completion.then(()=>s))}}var zo="3.2.2",Pt=String.fromCharCode(65535),Yi=-1/0,qe="Invalid key provided. Keys must be of type string, number, Date or Array.",Vo="String expected.",$r=[],En=typeof navigator!="undefined"&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),xf=En,bf=En,$o=t=>!/(dexie\.js|dexie\.min\.js)/.test(t),Dn="__dbnames",Ji="readonly",Xi="readwrite";function Rt(t,e){return t?e?function(){return t.apply(this,arguments)&&e.apply(this,arguments)}:t:e}var Ho={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Tn(t){return typeof t=="string"&&!/\./.test(t)?e=>(e[t]===void 0&&t in e&&(e=Pr(e),delete e[t]),e):e=>e}var Wo=class{_trans(e,r,n){let i=this._tx||R.trans,s=this.name;function o(l,u,c){if(!c.schema[s])throw new L.NotFound("Table "+s+" not part of transaction");return r(c.idbtrans,c)}let a=zr();try{return i&&i.db===this.db?i===R.trans?i._promise(e,o,n):lt(()=>i._promise(e,o,n),{trans:i,transless:R.transless||R}):qi(this.db,e,[this.name],o)}finally{a&&Vr()}}get(e,r){return e&&e.constructor===Object?this.where(e).first(r):this._trans("readonly",n=>this.core.get({trans:n,key:e}).then(i=>this.hook.reading.fire(i))).then(r)}where(e){if(typeof e=="string")return new this.db.WhereClause(this,e);if(ve(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let r=oe(e);if(r.length===1)return this.where(r[0]).equals(e[r[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter(u=>u.compound&&r.every(c=>u.keyPath.indexOf(c)>=0)&&u.keyPath.every(c=>r.indexOf(c)>=0))[0];if(n&&this.db._maxKey!==Pt)return this.where(n.name).equals(n.keyPath.map(u=>e[u]));!n&&Ke&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${r.join("+")}]`);let{idxByName:i}=this.schema,s=this.db._deps.indexedDB;function o(u,c){try{return s.cmp(u,c)===0}catch{return!1}}let[a,l]=r.reduce(([u,c],d)=>{let f=i[d],y=e[d];return[u||f,u||!f?Rt(c,f&&f.multi?w=>{let b=Ue(w,d);return ve(b)&&b.some(x=>o(y,x))}:w=>o(y,Ue(w,d))):c]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(l):n?this.filter(l):this.where(r).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,ve(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let r=n=>{if(!n)return n;let i=Object.create(e.prototype);for(var s in n)if(Ie(n,s))try{i[s]=n[s]}catch{}return i};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=r,this.hook("reading",r),e}defineClass(){function e(r){je(this,r)}return this.mapToClass(e)}add(e,r){let{auto:n,keyPath:i}=this.schema.primKey,s=e;return i&&n&&(s=Tn(i)(e)),this._trans("readwrite",o=>this.core.mutate({trans:o,type:"add",keys:r!=null?[r]:null,values:[s]})).then(o=>o.numFailures?I.reject(o.failures[0]):o.lastResult).then(o=>{if(i)try{Be(e,i,o)}catch{}return o})}update(e,r){if(typeof e=="object"&&!ve(e)){let n=Ue(e,this.schema.primKey.keyPath);if(n===void 0)return le(new L.InvalidArgument("Given object does not contain its primary key"));try{typeof r!="function"?oe(r).forEach(i=>{Be(e,i,r[i])}):r(e,{value:e,primKey:n})}catch{}return this.where(":id").equals(n).modify(r)}else return this.where(":id").equals(e).modify(r)}put(e,r){let{auto:n,keyPath:i}=this.schema.primKey,s=e;return i&&n&&(s=Tn(i)(e)),this._trans("readwrite",o=>this.core.mutate({trans:o,type:"put",values:[s],keys:r!=null?[r]:null})).then(o=>o.numFailures?I.reject(o.failures[0]):o.lastResult).then(o=>{if(i)try{Be(e,i,o)}catch{}return o})}delete(e){return this._trans("readwrite",r=>this.core.mutate({trans:r,type:"delete",keys:[e]})).then(r=>r.numFailures?I.reject(r.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:Ho})).then(e=>e.numFailures?I.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",r=>this.core.getMany({keys:e,trans:r}).then(n=>n.map(i=>this.hook.reading.fire(i))))}bulkAdd(e,r,n){let i=Array.isArray(r)?r:void 0;n=n||(i?void 0:r);let s=n?n.allKeys:void 0;return this._trans("readwrite",o=>{let{auto:a,keyPath:l}=this.schema.primKey;if(l&&i)throw new L.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new L.InvalidArgument("Arguments objects and keys must have the same length");let u=e.length,c=l&&a?e.map(Tn(l)):e;return this.core.mutate({trans:o,type:"add",keys:i,values:c,wantResults:s}).then(({numFailures:d,results:f,lastResult:y,failures:w})=>{let b=s?f:y;if(d===0)return b;throw new Rr(`${this.name}.bulkAdd(): ${d} of ${u} operations failed`,w)})})}bulkPut(e,r,n){let i=Array.isArray(r)?r:void 0;n=n||(i?void 0:r);let s=n?n.allKeys:void 0;return this._trans("readwrite",o=>{let{auto:a,keyPath:l}=this.schema.primKey;if(l&&i)throw new L.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new L.InvalidArgument("Arguments objects and keys must have the same length");let u=e.length,c=l&&a?e.map(Tn(l)):e;return this.core.mutate({trans:o,type:"put",keys:i,values:c,wantResults:s}).then(({numFailures:d,results:f,lastResult:y,failures:w})=>{let b=s?f:y;if(d===0)return b;throw new Rr(`${this.name}.bulkPut(): ${d} of ${u} operations failed`,w)})})}bulkDelete(e){let r=e.length;return this._trans("readwrite",n=>this.core.mutate({trans:n,type:"delete",keys:e})).then(({numFailures:n,lastResult:i,failures:s})=>{if(n===0)return i;throw new Rr(`${this.name}.bulkDelete(): ${n} of ${r} operations failed`,s)})}};function Hr(t){var e={},r=function(a,l){if(l){for(var u=arguments.length,c=new Array(u-1);--u;)c[u-1]=arguments[u];return e[a].subscribe.apply(null,c),t}else if(typeof a=="string")return e[a]};r.addEventType=s;for(var n=1,i=arguments.length;nRt(n(),e()):e,t.justLimit=r&&!n}function jf(t,e){t.isMatch=Rt(t.isMatch,e)}function kn(t,e){if(t.isPrimKey)return e.primaryKey;let r=e.getIndexByKeyPath(t.index);if(!r)throw new L.Schema("KeyPath "+t.index+" on object store "+e.name+" is not indexed");return r}function Uo(t,e,r){let n=kn(t,e.schema);return e.openCursor({trans:r,values:!t.keysOnly,reverse:t.dir==="prev",unique:!!t.unique,query:{index:n,range:t.range}})}function In(t,e,r,n){let i=t.replayFilter?Rt(t.filter,t.replayFilter()):t.filter;if(t.or){let s={},o=(a,l,u)=>{if(!i||i(l,u,f=>l.stop(f),f=>l.fail(f))){var c=l.primaryKey,d=""+c;d==="[object ArrayBuffer]"&&(d=""+new Uint8Array(c)),Ie(s,d)||(s[d]=!0,e(a,l,u))}};return Promise.all([t.or._iterate(o,r),Go(Uo(t,n,r),t.algorithm,o,!t.keysOnly&&t.valueMapper)])}else return Go(Uo(t,n,r),Rt(t.algorithm,i),e,!t.keysOnly&&t.valueMapper)}function Go(t,e,r,n){var i=n?(o,a,l)=>r(n(o),a,l):r,s=Z(i);return t.then(o=>{if(o)return o.start(()=>{var a=()=>o.continue();(!e||e(o,l=>a=l,l=>{o.stop(l),a=Y},l=>{o.fail(l),a=Y}))&&s(o.value,o,l=>a=l),a()})})}function Ae(t,e){try{let r=Qo(t),n=Qo(e);if(r!==n)return r==="Array"?1:n==="Array"?-1:r==="binary"?1:n==="binary"?-1:r==="string"?1:n==="string"?-1:r==="Date"?1:n!=="Date"?NaN:-1;switch(r){case"number":case"Date":case"string":return t>e?1:tIn(r,e,n,r.table.core))}count(e){return this._read(r=>{let n=this._ctx,i=n.table.core;if(or(n,!0))return i.count({trans:r,query:{index:kn(n,i.schema),range:n.range}}).then(o=>Math.min(o,n.limit));var s=0;return In(n,()=>(++s,!1),r,i).then(()=>s)}).then(e)}sortBy(e,r){let n=e.split(".").reverse(),i=n[0],s=n.length-1;function o(u,c){return c?o(u[n[c]],c-1):u[i]}var a=this._ctx.dir==="next"?1:-1;function l(u,c){var d=o(u,s),f=o(c,s);return df?a:0}return this.toArray(function(u){return u.sort(l)}).then(r)}toArray(e){return this._read(r=>{var n=this._ctx;if(n.dir==="next"&&or(n,!0)&&n.limit>0){let{valueMapper:i}=n,s=kn(n,n.table.core.schema);return n.table.core.query({trans:r,limit:n.limit,values:!0,query:{index:s,range:n.range}}).then(({result:o})=>i?o.map(i):o)}else{let i=[];return In(n,s=>i.push(s),r,n.table.core).then(()=>i)}},e)}offset(e){var r=this._ctx;return e<=0?this:(r.offset+=e,or(r)?es(r,()=>{var n=e;return(i,s)=>n===0?!0:n===1?(--n,!1):(s(()=>{i.advance(n),n=0}),!1)}):es(r,()=>{var n=e;return()=>--n<0}),this)}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),es(this._ctx,()=>{var r=e;return function(n,i,s){return--r<=0&&i(s),r>=0}},!0),this}until(e,r){return Zi(this._ctx,function(n,i,s){return e(n.value)?(i(s),r):!0}),this}first(e){return this.limit(1).toArray(function(r){return r[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){return Zi(this._ctx,function(r){return e(r.value)}),jf(this._ctx,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var r=this._ctx;return r.keysOnly=!r.isMatch,this.each(function(n,i){e(i.key,i)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var r=this._ctx;return r.keysOnly=!r.isMatch,this.each(function(n,i){e(i.primaryKey,i)})}keys(e){var r=this._ctx;r.keysOnly=!r.isMatch;var n=[];return this.each(function(i,s){n.push(s.key)}).then(function(){return n}).then(e)}primaryKeys(e){var r=this._ctx;if(r.dir==="next"&&or(r,!0)&&r.limit>0)return this._read(i=>{var s=kn(r,r.table.core.schema);return r.table.core.query({trans:i,values:!1,limit:r.limit,query:{index:s,range:r.range}})}).then(({result:i})=>i).then(e);r.keysOnly=!r.isMatch;var n=[];return this.each(function(i,s){n.push(s.primaryKey)}).then(function(){return n}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(r){return r[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,r=e.index&&e.table.schema.idxByName[e.index];if(!r||!r.multi)return this;var n={};return Zi(this._ctx,function(i){var s=i.primaryKey.toString(),o=Ie(n,s);return n[s]=!0,!o}),this}modify(e){var r=this._ctx;return this._write(n=>{var i;if(typeof e=="function")i=e;else{var s=oe(e),o=s.length;i=function(b){for(var x=!1,h=0;h{let{failures:h,numFailures:v}=x;f+=b-v;for(let p of oe(h))d.push(h[p])};return this.clone().primaryKeys().then(b=>{let x=h=>{let v=Math.min(c,b.length-h);return a.getMany({trans:n,keys:b.slice(h,h+v),cache:"immutable"}).then(p=>{let m=[],_=[],g=l?[]:null,j=[];for(let C=0;C0&&a.mutate({trans:n,type:"add",values:m}).then(C=>{for(let F in C.failures)j.splice(parseInt(F),1);w(m.length,C)})).then(()=>(_.length>0||A&&typeof e=="object")&&a.mutate({trans:n,type:"put",keys:g,values:_,criteria:A,changeSpec:typeof e!="function"&&e}).then(C=>w(_.length,C))).then(()=>(j.length>0||A&&e===ts)&&a.mutate({trans:n,type:"delete",keys:j,criteria:A}).then(C=>w(j.length,C))).then(()=>b.length>h+v&&x(h+c))})};return x(0).then(()=>{if(d.length>0)throw new mn("Error modifying one or more objects",d,f,y);return b.length})})})}delete(){var e=this._ctx,r=e.range;return or(e)&&(e.isPrimKey&&!bf||r.type===3)?this._write(n=>{let{primaryKey:i}=e.table.core.schema,s=r;return e.table.core.count({trans:n,query:{index:i,range:s}}).then(o=>e.table.core.mutate({trans:n,type:"deleteRange",range:s}).then(({failures:a,lastResult:l,results:u,numFailures:c})=>{if(c)throw new mn("Could not delete some values",Object.keys(a).map(d=>a[d]),o-c);return o-c}))}):this.modify(ts)}},ts=(t,e)=>e.value=null;function Ff(t){return Wr(Yo.prototype,function(r,n){this.db=t;let i=Ho,s=null;if(n)try{i=n()}catch(u){s=u}let o=r._ctx,a=o.table,l=a.hook.reading.fire;this._ctx={table:a,index:o.index,isPrimKey:!o.index||a.schema.primKey.keyPath&&o.index===a.schema.primKey.name,range:i,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:s,or:o.or,valueMapper:l!==Br?l:null}})}function Sf(t,e){return te?-1:t===e?0:1}function Oe(t,e,r){var n=t instanceof rs?new t.Collection(t):t;return n._ctx.error=r?new r(e):new TypeError(e),n}function ar(t){return new t.Collection(t,()=>Jo("")).limit(0)}function Df(t){return t==="next"?e=>e.toUpperCase():e=>e.toLowerCase()}function Tf(t){return t==="next"?e=>e.toLowerCase():e=>e.toUpperCase()}function kf(t,e,r,n,i,s){for(var o=Math.min(t.length,n.length),a=-1,l=0;l=0?t.substr(0,a)+e[a]+r.substr(a+1):null;i(t[l],u)<0&&(a=l)}return otypeof b=="string"))return Oe(t,Vo);function f(b){i=Df(b),s=Tf(b),o=b==="next"?Sf:Ef;var x=r.map(function(h){return{lower:s(h),upper:i(h)}}).sort(function(h,v){return o(h.lower,v.lower)});a=x.map(function(h){return h.upper}),l=x.map(function(h){return h.lower}),u=b,c=b==="next"?"":n}f("next");var y=new t.Collection(t,()=>ct(a[0],l[d-1]+n));y._ondirectionchange=function(b){f(b)};var w=0;return y._addAlgorithm(function(b,x,h){var v=b.key;if(typeof v!="string")return!1;var p=s(v);if(e(p,l,w))return!0;for(var m=null,_=w;_0)&&(m=g)}return x(m!==null?function(){b.continue(m+c)}:h),!1}),y}function ct(t,e,r,n){return{type:2,lower:t,upper:e,lowerOpen:r,upperOpen:n}}function Jo(t){return{type:1,lower:t,upper:t}}var rs=class{get Collection(){return this._ctx.table.db.Collection}between(e,r,n,i){n=n!==!1,i=i===!0;try{return this._cmp(e,r)>0||this._cmp(e,r)===0&&(n||i)&&!(n&&i)?ar(this):new this.Collection(this,()=>ct(e,r,!n,!i))}catch{return Oe(this,qe)}}equals(e){return e==null?Oe(this,qe):new this.Collection(this,()=>Jo(e))}above(e){return e==null?Oe(this,qe):new this.Collection(this,()=>ct(e,void 0,!0))}aboveOrEqual(e){return e==null?Oe(this,qe):new this.Collection(this,()=>ct(e,void 0,!1))}below(e){return e==null?Oe(this,qe):new this.Collection(this,()=>ct(void 0,e,!1,!0))}belowOrEqual(e){return e==null?Oe(this,qe):new this.Collection(this,()=>ct(void 0,e))}startsWith(e){return typeof e!="string"?Oe(this,Vo):this.between(e,e+Pt,!0,!0)}startsWithIgnoreCase(e){return e===""?this.startsWith(e):On(this,(r,n)=>r.indexOf(n[0])===0,[e],Pt)}equalsIgnoreCase(e){return On(this,(r,n)=>r===n[0],[e],"")}anyOfIgnoreCase(){var e=Ge.apply(tr,arguments);return e.length===0?ar(this):On(this,(r,n)=>n.indexOf(r)!==-1,e,"")}startsWithAnyOfIgnoreCase(){var e=Ge.apply(tr,arguments);return e.length===0?ar(this):On(this,(r,n)=>n.some(i=>r.indexOf(i)===0),e,Pt)}anyOf(){let e=Ge.apply(tr,arguments),r=this._cmp;try{e.sort(r)}catch{return Oe(this,qe)}if(e.length===0)return ar(this);let n=new this.Collection(this,()=>ct(e[0],e[e.length-1]));n._ondirectionchange=s=>{r=s==="next"?this._ascending:this._descending,e.sort(r)};let i=0;return n._addAlgorithm((s,o,a)=>{let l=s.key;for(;r(l,e[i])>0;)if(++i,i===e.length)return o(a),!1;return r(l,e[i])===0?!0:(o(()=>{s.continue(e[i])}),!1)}),n}notEqual(e){return this.inAnyRange([[Yi,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=Ge.apply(tr,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch{return Oe(this,qe)}let r=e.reduce((n,i)=>n?n.concat([[n[n.length-1][1],i]]):[[Yi,i]],null);return r.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(r,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,r){let n=this._cmp,i=this._ascending,s=this._descending,o=this._min,a=this._max;if(e.length===0)return ar(this);if(!e.every(m=>m[0]!==void 0&&m[1]!==void 0&&i(m[0],m[1])<=0))return Oe(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",L.InvalidArgument);let l=!r||r.includeLowers!==!1,u=r&&r.includeUppers===!0;function c(m,_){let g=0,j=m.length;for(;g0){A[0]=o(A[0],_[0]),A[1]=a(A[1],_[1]);break}}return g===j&&m.push(_),m}let d=i;function f(m,_){return d(m[0],_[0])}let y;try{y=e.reduce(c,[]),y.sort(f)}catch{return Oe(this,qe)}let w=0,b=u?m=>i(m,y[w][1])>0:m=>i(m,y[w][1])>=0,x=l?m=>s(m,y[w][0])>0:m=>s(m,y[w][0])>=0;function h(m){return!b(m)&&!x(m)}let v=b,p=new this.Collection(this,()=>ct(y[0][0],y[y.length-1][1],!l,!u));return p._ondirectionchange=m=>{m==="next"?(v=b,d=i):(v=x,d=s),y.sort(f)},p._addAlgorithm((m,_,g)=>{for(var j=m.key;v(j);)if(++w,w===y.length)return _(g),!1;return h(j)?!0:(this._cmp(j,y[w][1])===0||this._cmp(j,y[w][0])===0||_(()=>{d===i?m.continue(y[w][0]):m.continue(y[w][1])}),!1)}),p}startsWithAnyOf(){let e=Ge.apply(tr,arguments);return e.every(r=>typeof r=="string")?e.length===0?ar(this):this.inAnyRange(e.map(r=>[r,r+Pt])):Oe(this,"startsWithAnyOf() only works with strings")}};function If(t){return Wr(rs.prototype,function(r,n,i){this.db=t,this._ctx={table:r,index:n===":id"?null:n,or:i};let s=t._deps.indexedDB;if(!s)throw new L.MissingAPI;this._cmp=this._ascending=s.cmp.bind(s),this._descending=(o,a)=>s.cmp(a,o),this._max=(o,a)=>s.cmp(o,a)>0?o:a,this._min=(o,a)=>s.cmp(o,a)<0?o:a,this._IDBKeyRange=t._deps.IDBKeyRange})}function ze(t){return Z(function(e){return Ur(e),t(e.target.error),!1})}function Ur(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()}var Gr="storagemutated",ft="x-storagemutated-1",dt=Hr(null,Gr),Xo=class{_lock(){return Mr(!R.global),++this._reculock,this._reculock===1&&!R.global&&(R.lockOwnerFor=this),this}_unlock(){if(Mr(!R.global),--this._reculock==0)for(R.global||(R.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{sr(e[1],e[0])}catch{}}return this}_locked(){return this._reculock&&R.lockOwnerFor!==this}create(e){if(!this.mode)return this;let r=this.db.idbdb,n=this.db._state.dbOpenError;if(Mr(!this.idbtrans),!e&&!r)switch(n&&n.name){case"DatabaseClosedError":throw new L.DatabaseClosed(n);case"MissingAPIError":throw new L.MissingAPI(n.message,n);default:throw new L.OpenFailed(n)}if(!this.active)throw new L.TransactionInactive;return Mr(this._completion._state===null),e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):r.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})),e.onerror=Z(i=>{Ur(i),this._reject(e.error)}),e.onabort=Z(i=>{Ur(i),this.active&&this._reject(new L.Abort(e.error)),this.active=!1,this.on("abort").fire(i)}),e.oncomplete=Z(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&dt.storagemutated.fire(e.mutatedParts)}),this}_promise(e,r,n){if(e==="readwrite"&&this.mode!=="readwrite")return le(new L.ReadOnly("Transaction is readonly"));if(!this.active)return le(new L.TransactionInactive);if(this._locked())return new I((s,o)=>{this._blockedFuncs.push([()=>{this._promise(e,r,n).then(s,o)},R])});if(n)return lt(()=>{var s=new I((o,a)=>{this._lock();let l=r(o,a,this);l&&l.then&&l.then(o,a)});return s.finally(()=>this._unlock()),s._lib=!0,s});var i=new I((s,o)=>{var a=r(s,o,this);a&&a.then&&a.then(s,o)});return i._lib=!0,i}_root(){return this.parent?this.parent._root():this}waitFor(e){var r=this._root();let n=I.resolve(e);if(r._waitingFor)r._waitingFor=r._waitingFor.then(()=>n);else{r._waitingFor=n,r._waitingQueue=[];var i=r.idbtrans.objectStore(r.storeNames[0]);(function o(){for(++r._spinCount;r._waitingQueue.length;)r._waitingQueue.shift()();r._waitingFor&&(i.get(-1/0).onsuccess=o)})()}var s=r._waitingFor;return new I((o,a)=>{n.then(l=>r._waitingQueue.push(Z(o.bind(null,l))),l=>r._waitingQueue.push(Z(a.bind(null,l)))).finally(()=>{r._waitingFor===s&&(r._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new L.Abort))}table(e){let r=this._memoizedTables||(this._memoizedTables={});if(Ie(r,e))return r[e];let n=this.schema[e];if(!n)throw new L.NotFound("Table "+e+" not part of transaction");let i=new this.db.Table(e,n,this);return i.core=this.db.core.table(e),r[e]=i,i}};function Of(t){return Wr(Xo.prototype,function(r,n,i,s,o){this.db=t,this.mode=r,this.storeNames=n,this.schema=i,this.chromeTransactionDurability=s,this.idbtrans=null,this.on=Hr(this,"complete","error","abort"),this.parent=o||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new I((a,l)=>{this._resolve=a,this._reject=l}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},a=>{var l=this.active;return this.active=!1,this.on.error.fire(a),this.parent?this.parent._reject(a):l&&this.idbtrans&&this.idbtrans.abort(),le(a)})})}function ns(t,e,r,n,i,s,o){return{name:t,keyPath:e,unique:r,multi:n,auto:i,compound:s,src:(r&&!o?"&":"")+(n?"*":"")+(i?"++":"")+Zo(e)}}function Zo(t){return typeof t=="string"?t:t?"["+[].join.call(t,"+")+"]":""}function ea(t,e,r){return{name:t,primKey:e,indexes:r,mappedClass:null,idxByName:xo(r,n=>[n.name,n])}}function Mf(t){return t.length===1?t[0]:t}var Qr=t=>{try{return t.only([[]]),Qr=()=>[[]],[[]]}catch{return Qr=()=>Pt,Pt}};function is(t){return t==null?()=>{}:typeof t=="string"?Pf(t):e=>Ue(e,t)}function Pf(t){return t.split(".").length===1?r=>r[t]:r=>Ue(r,t)}function ta(t){return[].slice.call(t)}var Rf=0;function qr(t){return t==null?":id":typeof t=="string"?t:`[${t.join("+")}]`}function Bf(t,e,r){function n(c,d){let f=ta(c.objectStoreNames);return{schema:{name:c.name,tables:f.map(y=>d.objectStore(y)).map(y=>{let{keyPath:w,autoIncrement:b}=y,x=ve(w),h=w==null,v={},p={name:y.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:h,compound:x,keyPath:w,autoIncrement:b,unique:!0,extractKey:is(w)},indexes:ta(y.indexNames).map(m=>y.index(m)).map(m=>{let{name:_,unique:g,multiEntry:j,keyPath:A}=m,C=ve(A),F={name:_,compound:C,keyPath:A,unique:g,multiEntry:j,extractKey:is(A)};return v[qr(A)]=F,F}),getIndexByKeyPath:m=>v[qr(m)]};return v[":id"]=p.primaryKey,w!=null&&(v[qr(w)]=p.primaryKey),p})},hasGetAll:f.length>0&&"getAll"in d.objectStore(f[0])&&!(typeof navigator!="undefined"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}function i(c){if(c.type===3)return null;if(c.type===4)throw new Error("Cannot convert never type to IDBKeyRange");let{lower:d,upper:f,lowerOpen:y,upperOpen:w}=c;return d===void 0?f===void 0?null:e.upperBound(f,!!w):f===void 0?e.lowerBound(d,!!y):e.bound(d,f,!!y,!!w)}function s(c){let d=c.name;function f({trans:b,type:x,keys:h,values:v,range:p}){return new Promise((m,_)=>{m=Z(m);let g=b.objectStore(d),j=g.keyPath==null,A=x==="put"||x==="add";if(!A&&x!=="delete"&&x!=="deleteRange")throw new Error("Invalid operation type: "+x);let{length:C}=h||v||{length:1};if(h&&v&&h.length!==v.length)throw new Error("Given keys array must have same length as given values array.");if(C===0)return m({numFailures:0,failures:{},results:[],lastResult:void 0});let F,D=[],P=[],T=0,N=M=>{++T,Ur(M)};if(x==="deleteRange"){if(p.type===4)return m({numFailures:T,failures:P,results:[],lastResult:void 0});p.type===3?D.push(F=g.clear()):D.push(F=g.delete(i(p)))}else{let[M,S]=A?j?[v,h]:[v,null]:[h,null];if(A)for(let V=0;V{let S=M.target.result;D.forEach((V,te)=>V.error!=null&&(P[te]=V.error)),m({numFailures:T,failures:P,results:x==="delete"?h:D.map(V=>V.result),lastResult:S})};F.onerror=M=>{N(M),$(M)},F.onsuccess=$})}function y({trans:b,values:x,query:h,reverse:v,unique:p}){return new Promise((m,_)=>{m=Z(m);let{index:g,range:j}=h,A=b.objectStore(d),C=g.isPrimaryKey?A:A.index(g.name),F=v?p?"prevunique":"prev":p?"nextunique":"next",D=x||!("openKeyCursor"in C)?C.openCursor(i(j),F):C.openKeyCursor(i(j),F);D.onerror=ze(_),D.onsuccess=Z(P=>{let T=D.result;if(!T){m(null);return}T.___id=++Rf,T.done=!1;let N=T.continue.bind(T),$=T.continuePrimaryKey;$&&($=$.bind(T));let M=T.advance.bind(T),S=()=>{throw new Error("Cursor not started")},V=()=>{throw new Error("Cursor not stopped")};T.trans=b,T.stop=T.continue=T.continuePrimaryKey=T.advance=S,T.fail=Z(_),T.next=function(){let te=1;return this.start(()=>te--?this.continue():this.stop()).then(()=>this)},T.start=te=>{let Wt=new Promise((st,to)=>{st=Z(st),D.onerror=ze(to),T.fail=to,T.stop=Cc=>{T.stop=T.continue=T.continuePrimaryKey=T.advance=V,st(Cc)}}),it=()=>{if(D.result)try{te()}catch(st){T.fail(st)}else T.done=!0,T.start=()=>{throw new Error("Cursor behind last entry")},T.stop()};return D.onsuccess=Z(st=>{D.onsuccess=it,it()}),T.continue=N,T.continuePrimaryKey=$,T.advance=M,it(),Wt},m(T)},_)})}function w(b){return x=>new Promise((h,v)=>{h=Z(h);let{trans:p,values:m,limit:_,query:g}=x,j=_===1/0?void 0:_,{index:A,range:C}=g,F=p.objectStore(d),D=A.isPrimaryKey?F:F.index(A.name),P=i(C);if(_===0)return h({result:[]});if(b){let T=m?D.getAll(P,j):D.getAllKeys(P,j);T.onsuccess=N=>h({result:N.target.result}),T.onerror=ze(v)}else{let T=0,N=m||!("openKeyCursor"in D)?D.openCursor(P):D.openKeyCursor(P),$=[];N.onsuccess=M=>{let S=N.result;if(!S)return h({result:$});if($.push(m?S.value:S.primaryKey),++T===_)return h({result:$});S.continue()},N.onerror=ze(v)}})}return{name:d,schema:c,mutate:f,getMany({trans:b,keys:x}){return new Promise((h,v)=>{h=Z(h);let p=b.objectStore(d),m=x.length,_=new Array(m),g=0,j=0,A,C=D=>{let P=D.target;(_[P._pos]=P.result)!=null,++j===g&&h(_)},F=ze(v);for(let D=0;D{h=Z(h);let m=b.objectStore(d).get(x);m.onsuccess=_=>h(_.target.result),m.onerror=ze(v)})},query:w(a),openCursor:y,count({query:b,trans:x}){let{index:h,range:v}=b;return new Promise((p,m)=>{let _=x.objectStore(d),g=h.isPrimaryKey?_:_.index(h.name),j=i(v),A=j?g.count(j):g.count();A.onsuccess=Z(C=>p(C.target.result)),A.onerror=ze(m)})}}}let{schema:o,hasGetAll:a}=n(t,r),l=o.tables.map(c=>s(c)),u={};return l.forEach(c=>u[c.name]=c),{stack:"dbcore",transaction:t.transaction.bind(t),table(c){if(!u[c])throw new Error(`Table '${c}' not found`);return u[c]},MIN_KEY:-1/0,MAX_KEY:Qr(e),schema:o}}function Lf(t,e){return e.reduce((r,{create:n})=>re(re({},r),n(r)),t)}function Nf(t,e,{IDBKeyRange:r,indexedDB:n},i){return{dbcore:Lf(Bf(e,r,i),t.dbcore)}}function ss({_novip:t},e){let r=e.db,n=Nf(t._middlewares,r,t._deps,e);t.core=n.dbcore,t.tables.forEach(i=>{let s=i.name;t.core.schema.tables.some(o=>o.name===s)&&(i.core=t.core.table(s),t[s]instanceof t.Table&&(t[s].core=i.core))})}function Mn({_novip:t},e,r,n){r.forEach(i=>{let s=n[i];e.forEach(o=>{let a=Ei(o,i);(!a||"value"in a&&a.value===void 0)&&(o===t.Transaction.prototype||o instanceof t.Transaction?We(o,i,{get(){return this.table(i)},set(l){yo(this,i,{value:l,writable:!0,configurable:!0,enumerable:!0})}}):o[i]=new t.Table(i,s))})})}function os({_novip:t},e){e.forEach(r=>{for(let n in r)r[n]instanceof t.Table&&delete r[n]})}function Kf(t,e){return t._cfg.version-e._cfg.version}function zf(t,e,r,n){let i=t._dbSchema,s=t._createTransaction("readwrite",t._storeNames,i);s.create(r),s._completion.catch(n);let o=s._reject.bind(s),a=R.transless||R;lt(()=>{R.trans=s,R.transless=a,e===0?(oe(i).forEach(l=>{as(r,l,i[l].primKey,i[l].indexes)}),ss(t,r),I.follow(()=>t.on.populate.fire(s)).catch(o)):Vf(t,e,s,r).catch(o)})}function Vf({_novip:t},e,r,n){let i=[],s=t._versions,o=t._dbSchema=us(t,t.idbdb,n),a=!1;s.filter(c=>c._cfg.version>=e).forEach(c=>{i.push(()=>{let d=o,f=c._cfg.dbschema;cs(t,d,n),cs(t,f,n),o=t._dbSchema=f;let y=ra(d,f);y.add.forEach(b=>{as(n,b[0],b[1].primKey,b[1].indexes)}),y.change.forEach(b=>{if(b.recreate)throw new L.Upgrade("Not yet support for changing primary key");{let x=n.objectStore(b.name);b.add.forEach(h=>ls(x,h)),b.change.forEach(h=>{x.deleteIndex(h.name),ls(x,h)}),b.del.forEach(h=>x.deleteIndex(h))}});let w=c._cfg.contentUpgrade;if(w&&c._cfg.version>e){ss(t,n),r._memoizedTables={},a=!0;let b=bo(f);y.del.forEach(p=>{b[p]=d[p]}),os(t,[t.Transaction.prototype]),Mn(t,[t.Transaction.prototype],oe(b),b),r.schema=b;let x=Ii(w);x&&ir();let h,v=I.follow(()=>{if(h=w(r),h&&x){var p=Qe.bind(null,null);h.then(p,p)}});return h&&typeof h.then=="function"?I.resolve(h):v.then(()=>h)}}),i.push(d=>{if(!a||!xf){let f=c._cfg.dbschema;Hf(f,d)}os(t,[t.Transaction.prototype]),Mn(t,[t.Transaction.prototype],t._storeNames,t._dbSchema),r.schema=t._dbSchema})});function u(){return i.length?I.resolve(i.shift()(r.idbtrans)).then(u):I.resolve()}return u().then(()=>{$f(o,n)})}function ra(t,e){let r={del:[],add:[],change:[]},n;for(n in t)e[n]||r.del.push(n);for(n in e){let i=t[n],s=e[n];if(!i)r.add.push([n,s]);else{let o={name:n,def:s,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(s.primKey.keyPath||"")||i.primKey.auto!==s.primKey.auto&&!En)o.recreate=!0,r.change.push(o);else{let a=i.idxByName,l=s.idxByName,u;for(u in a)l[u]||o.del.push(u);for(u in l){let c=a[u],d=l[u];c?c.src!==d.src&&o.change.push(d):o.add.push(d)}(o.del.length>0||o.add.length>0||o.change.length>0)&&r.change.push(o)}}}return r}function as(t,e,r,n){let i=t.db.createObjectStore(e,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(s=>ls(i,s)),i}function $f(t,e){oe(t).forEach(r=>{e.db.objectStoreNames.contains(r)||as(e,r,t[r].primKey,t[r].indexes)})}function Hf(t,e){[].slice.call(e.db.objectStoreNames).forEach(r=>t[r]==null&&e.db.deleteObjectStore(r))}function ls(t,e){t.createIndex(e.name,e.keyPath,{unique:e.unique,multiEntry:e.multi})}function us(t,e,r){let n={};return pn(e.objectStoreNames,0).forEach(s=>{let o=r.objectStore(s),a=o.keyPath,l=ns(Zo(a),a||"",!1,!1,!!o.autoIncrement,a&&typeof a!="string",!0),u=[];for(let d=0;di.add.length||i.change.length))}function cs({_novip:t},e,r){let n=r.db.objectStoreNames;for(let i=0;i{e=e.trim();let n=e.replace(/([&*]|\+\+)/g,""),i=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return ns(n,i||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),ve(i),r===0)})}var na=class{_parseStoresSpec(e,r){oe(e).forEach(n=>{if(e[n]!==null){var i=Gf(e[n]),s=i.shift();if(s.multi)throw new L.Schema("Primary key cannot be multi-valued");i.forEach(o=>{if(o.auto)throw new L.Schema("Only primary key can be marked as autoIncrement (++)");if(!o.keyPath)throw new L.Schema("Index must have a name and cannot be an empty string")}),r[n]=ea(n,s,i)}})}stores(e){let r=this.db;this._cfg.storesSource=this._cfg.storesSource?je(this._cfg.storesSource,e):e;let n=r._versions,i={},s={};return n.forEach(o=>{je(i,o._cfg.storesSource),s=o._cfg.dbschema={},o._parseStoresSpec(i,s)}),r._dbSchema=s,os(r,[r._allTables,r,r.Transaction.prototype]),Mn(r,[r._allTables,r,r.Transaction.prototype,this._cfg.tables],oe(s),s),r._storeNames=oe(s),this}upgrade(e){return this._cfg.contentUpgrade=Ri(this._cfg.contentUpgrade||Y,e),this}};function Qf(t){return Wr(na.prototype,function(r){this.db=t,this._cfg={version:r,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}function fs(t,e){let r=t._dbNamesDB;return r||(r=t._dbNamesDB=new Je(Dn,{addons:[],indexedDB:t,IDBKeyRange:e}),r.version(1).stores({dbnames:"name"})),r.table("dbnames")}function ds(t){return t&&typeof t.databases=="function"}function qf({indexedDB:t,IDBKeyRange:e}){return ds(t)?Promise.resolve(t.databases()).then(r=>r.map(n=>n.name).filter(n=>n!==Dn)):fs(t,e).toCollection().primaryKeys()}function Yf({indexedDB:t,IDBKeyRange:e},r){!ds(t)&&r!==Dn&&fs(t,e).put({name:r}).catch(Y)}function Jf({indexedDB:t,IDBKeyRange:e},r){!ds(t)&&r!==Dn&&fs(t,e).delete(r).catch(Y)}function hs(t){return lt(function(){return R.letThrough=!0,t()})}function Xf(){var t=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);if(!t||!indexedDB.databases)return Promise.resolve();var e;return new Promise(function(r){var n=function(){return indexedDB.databases().finally(r)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)})}function Zf(t){let e=t._state,{indexedDB:r}=t._deps;if(e.isBeingOpened||t.idbdb)return e.dbReadyPromise.then(()=>e.dbOpenError?le(e.dbOpenError):t);Ke&&(e.openCanceller._stackHolder=kt()),e.isBeingOpened=!0,e.dbOpenError=null,e.openComplete=!1;let n=e.openCanceller;function i(){if(e.openCanceller!==n)throw new L.DatabaseClosed("db.open() was cancelled")}let s=e.dbReadyResolve,o=null,a=!1;return I.race([n,(typeof navigator=="undefined"?I.resolve():Xf()).then(()=>new I((l,u)=>{if(i(),!r)throw new L.MissingAPI;let c=t.name,d=e.autoSchema?r.open(c):r.open(c,Math.round(t.verno*10));if(!d)throw new L.MissingAPI;d.onerror=ze(u),d.onblocked=Z(t._fireOnBlocked),d.onupgradeneeded=Z(f=>{if(o=d.transaction,e.autoSchema&&!t._options.allowEmptyDB){d.onerror=Ur,o.abort(),d.result.close();let w=r.deleteDatabase(c);w.onsuccess=w.onerror=Z(()=>{u(new L.NoSuchDatabase(`Database ${c} doesnt exist`))})}else{o.onerror=ze(u);var y=f.oldVersion>Math.pow(2,62)?0:f.oldVersion;a=y<1,t._novip.idbdb=d.result,zf(t,y/10,o,u)}},u),d.onsuccess=Z(()=>{o=null;let f=t._novip.idbdb=d.result,y=pn(f.objectStoreNames);if(y.length>0)try{let w=f.transaction(Mf(y),"readonly");e.autoSchema?Wf(t,f,w):(cs(t,t._dbSchema,w),Uf(t,w)||console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),ss(t,w)}catch{}$r.push(t),f.onversionchange=Z(w=>{e.vcFired=!0,t.on("versionchange").fire(w)}),f.onclose=Z(w=>{t.on("close").fire(w)}),a&&Yf(t._deps,c),l()},u)}))]).then(()=>(i(),e.onReadyBeingFired=[],I.resolve(hs(()=>t.on.ready.fire(t.vip))).then(function l(){if(e.onReadyBeingFired.length>0){let u=e.onReadyBeingFired.reduce(Ri,Y);return e.onReadyBeingFired=[],I.resolve(hs(()=>u(t.vip))).then(l)}}))).finally(()=>{e.onReadyBeingFired=null,e.isBeingOpened=!1}).then(()=>t).catch(l=>{e.dbOpenError=l;try{o&&o.abort()}catch{}return n===e.openCanceller&&t._close(),le(l)}).finally(()=>{e.openComplete=!0,s()})}function ps(t){var e=o=>t.next(o),r=o=>t.throw(o),n=s(e),i=s(r);function s(o){return a=>{var l=o(a),u=l.value;return l.done?u:!u||typeof u.then!="function"?ve(u)?Promise.all(u).then(n,i):n(u):u.then(n,i)}}return s(e)()}function ed(t,e,r){var n=arguments.length;if(n<2)throw new L.InvalidArgument("Too few arguments");for(var i=new Array(n-1);--n;)i[n-1]=arguments[n];r=i.pop();var s=wo(i);return[t,s,r]}function ia(t,e,r,n,i){return I.resolve().then(()=>{let s=R.transless||R,o=t._createTransaction(e,r,t._dbSchema,n),a={trans:o,transless:s};if(n)o.idbtrans=n.idbtrans;else try{o.create(),t._state.PR1398_maxLoop=3}catch(d){return d.name===Pi.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>ia(t,e,r,null,i))):le(d)}let l=Ii(i);l&&ir();let u,c=I.follow(()=>{if(u=i.call(o,o),u)if(l){var d=Qe.bind(null,null);u.then(d,d)}else typeof u.next=="function"&&typeof u.throw=="function"&&(u=ps(u))},a);return(u&&typeof u.then=="function"?I.resolve(u).then(d=>o.active?d:le(new L.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>u)).then(d=>(n&&o._resolve(),o._completion.then(()=>d))).catch(d=>(o._reject(d),le(d)))})}function Pn(t,e,r){let n=ve(t)?t.slice():[t];for(let i=0;i0,p=xe(re({},w),{isVirtual:v,keyTail:y,keyLength:h,extractKey:is(f),unique:!v&&w.unique});if(x.push(p),p.isPrimaryKey||s.push(p),h>1){let m=h===2?f[0]:f.slice(0,h-1);o(m,y+1,w)}return x.sort((m,_)=>m.keyTail-_.keyTail),p}let a=o(n.primaryKey.keyPath,0,n.primaryKey);i[":id"]=[a];for(let f of n.indexes)o(f.keyPath,0,f);function l(f){let y=i[qr(f)];return y&&y[0]}function u(f,y){return{type:f.type===1?2:f.type,lower:Pn(f.lower,f.lowerOpen?t.MAX_KEY:t.MIN_KEY,y),lowerOpen:!0,upper:Pn(f.upper,f.upperOpen?t.MIN_KEY:t.MAX_KEY,y),upperOpen:!0}}function c(f){let y=f.query.index;return y.isVirtual?xe(re({},f),{query:{index:y,range:u(f.query.range,y.keyTail)}}):f}return xe(re({},r),{schema:xe(re({},n),{primaryKey:a,indexes:s,getIndexByKeyPath:l}),count(f){return r.count(c(f))},query(f){return r.query(c(f))},openCursor(f){let{keyTail:y,isVirtual:w,keyLength:b}=f.query.index;if(!w)return r.openCursor(f);function x(h){function v(m){m!=null?h.continue(Pn(m,f.reverse?t.MAX_KEY:t.MIN_KEY,y)):f.unique?h.continue(h.key.slice(0,b).concat(f.reverse?t.MIN_KEY:t.MAX_KEY,y)):h.continue()}return Object.create(h,{continue:{value:v},continuePrimaryKey:{value(m,_){h.continuePrimaryKey(Pn(m,t.MAX_KEY,y),_)}},primaryKey:{get(){return h.primaryKey}},key:{get(){let m=h.key;return b===1?m[0]:m.slice(0,b)}},value:{get(){return h.value}}})}return r.openCursor(c(f)).then(h=>h&&x(h))}})}})}var rd={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:td};function ms(t,e,r,n){return r=r||{},n=n||"",oe(t).forEach(i=>{if(!Ie(e,i))r[n+i]=void 0;else{var s=t[i],o=e[i];if(typeof s=="object"&&typeof o=="object"&&s&&o){let a=Ti(s),l=Ti(o);a!==l?r[n+i]=e[i]:a==="Object"?ms(s,o,r,n+i+"."):s!==o&&(r[n+i]=e[i])}else s!==o&&(r[n+i]=e[i])}}),oe(e).forEach(i=>{Ie(t,i)||(r[n+i]=e[i])}),r}function nd(t,e){return e.type==="delete"?e.keys:e.keys||e.values.map(t.extractKey)}var id={stack:"dbcore",name:"HooksMiddleware",level:2,create:t=>xe(re({},t),{table(e){let r=t.table(e),{primaryKey:n}=r.schema;return xe(re({},r),{mutate(s){let o=R.trans,{deleting:a,creating:l,updating:u}=o.table(e).hook;switch(s.type){case"add":if(l.fire===Y)break;return o._promise("readwrite",()=>c(s),!0);case"put":if(l.fire===Y&&u.fire===Y)break;return o._promise("readwrite",()=>c(s),!0);case"delete":if(a.fire===Y)break;return o._promise("readwrite",()=>c(s),!0);case"deleteRange":if(a.fire===Y)break;return o._promise("readwrite",()=>d(s),!0)}return r.mutate(s);function c(y){let w=R.trans,b=y.keys||nd(n,y);if(!b)throw new Error("Keys missing");return y=y.type==="add"||y.type==="put"?xe(re({},y),{keys:b}):re({},y),y.type!=="delete"&&(y.values=[...y.values]),y.keys&&(y.keys=[...y.keys]),sd(r,y,b).then(x=>{let h=b.map((v,p)=>{let m=x[p],_={onerror:null,onsuccess:null};if(y.type==="delete")a.fire.call(_,v,m,w);else if(y.type==="add"||m===void 0){let g=l.fire.call(_,v,y.values[p],w);v==null&&g!=null&&(v=g,y.keys[p]=v,n.outbound||Be(y.values[p],n.keyPath,v))}else{let g=ms(m,y.values[p]),j=u.fire.call(_,g,v,m,w);if(j){let A=y.values[p];Object.keys(j).forEach(C=>{Ie(A,C)?A[C]=j[C]:Be(A,C,j[C])})}}return _});return r.mutate(y).then(({failures:v,results:p,numFailures:m,lastResult:_})=>{for(let g=0;g(h.forEach(p=>p.onerror&&p.onerror(v)),Promise.reject(v)))})}function d(y){return f(y.trans,y.range,1e4)}function f(y,w,b){return r.query({trans:y,values:!1,query:{index:n,range:w},limit:b}).then(({result:x})=>c({type:"delete",keys:x,trans:y}).then(h=>h.numFailures>0?Promise.reject(h.failures[0]):x.length({table:e=>{let r=t.table(e);return xe(re({},r),{getMany:n=>{if(!n.cache)return r.getMany(n);let i=sa(n.keys,n.trans._cache,n.cache==="clone");return i?I.resolve(i):r.getMany(n).then(s=>(n.trans._cache={keys:n.keys,values:n.cache==="clone"?Pr(s):s},s))},mutate:n=>(n.type!=="add"&&(n.trans._cache=null),r.mutate(n))})}})};function gs(t){return!("from"in t)}var Ye=function(t,e){if(this)je(this,arguments.length?{d:1,from:t,to:arguments.length>1?e:t}:{d:0});else{let r=new Ye;return t&&"d"in t&&je(r,t),r}};Zt(Ye.prototype,{add(t){return Rn(this,t),this},addKey(t){return Yr(this,t,t),this},addKeys(t){return t.forEach(e=>Yr(this,e,e)),this},[ki](){return ys(this)}});function Yr(t,e,r){let n=Ae(e,r);if(isNaN(n))return;if(n>0)throw RangeError();if(gs(t))return je(t,{from:e,to:r,d:1});let i=t.l,s=t.r;if(Ae(r,t.from)<0)return i?Yr(i,e,r):t.l={from:e,to:r,d:1,l:null,r:null},oa(t);if(Ae(e,t.to)>0)return s?Yr(s,e,r):t.r={from:e,to:r,d:1,l:null,r:null},oa(t);Ae(e,t.from)<0&&(t.from=e,t.l=null,t.d=s?s.d+1:1),Ae(r,t.to)>0&&(t.to=r,t.r=null,t.d=t.l?t.l.d+1:1);let o=!t.r;i&&!t.l&&Rn(t,i),s&&o&&Rn(t,s)}function Rn(t,e){function r(n,{from:i,to:s,l:o,r:a}){Yr(n,i,s),o&&r(n,o),a&&r(n,a)}gs(e)||r(t,e)}function ad(t,e){let r=ys(e),n=r.next();if(n.done)return!1;let i=n.value,s=ys(t),o=s.next(i.from),a=o.value;for(;!n.done&&!o.done;){if(Ae(a.from,i.to)<=0&&Ae(a.to,i.from)>=0)return!0;Ae(i.from,a.from)<0?i=(n=r.next(a.from)).value:a=(o=s.next(i.from)).value}return!1}function ys(t){let e=gs(t)?null:{s:0,n:t};return{next(r){let n=arguments.length>0;for(;e;)switch(e.s){case 0:if(e.s=1,n)for(;e.n.l&&Ae(r,e.n.from)<0;)e={up:e,n:e.n.l,s:1};else for(;e.n.l;)e={up:e,n:e.n.l,s:1};case 1:if(e.s=2,!n||Ae(r,e.n.to)<=0)return{value:e.n,done:!1};case 2:if(e.n.r){e.s=3,e={up:e,n:e.n.r,s:0};continue}case 3:e=e.up}return{done:!0}}}}function oa(t){var e,r;let n=(((e=t.r)===null||e===void 0?void 0:e.d)||0)-(((r=t.l)===null||r===void 0?void 0:r.d)||0),i=n>1?"r":n<-1?"l":"";if(i){let s=i==="r"?"l":"r",o=re({},t),a=t[i];t.from=a.from,t.to=a.to,t[i]=a[i],o[i]=a[s],t[s]=o,o.d=aa(o)}t.d=aa(t)}function aa({r:t,l:e}){return(t?e?Math.max(t.d,e.d):t.d:e?e.d:0)+1}var ld={stack:"dbcore",level:0,create:t=>{let e=t.schema.name,r=new Ye(t.MIN_KEY,t.MAX_KEY);return xe(re({},t),{table:n=>{let i=t.table(n),{schema:s}=i,{primaryKey:o}=s,{extractKey:a,outbound:l}=o,u=xe(re({},i),{mutate:f=>{let y=f.trans,w=y.mutatedParts||(y.mutatedParts={}),b=g=>{let j=`idb://${e}/${n}/${g}`;return w[j]||(w[j]=new Ye)},x=b(""),h=b(":dels"),{type:v}=f,[p,m]=f.type==="deleteRange"?[f.range]:f.type==="delete"?[f.keys]:f.values.length<50?[[],f.values]:[],_=f.trans._cache;return i.mutate(f).then(g=>{if(ve(p)){v!=="delete"&&(p=g.results),x.addKeys(p);let j=sa(p,_);!j&&v!=="add"&&h.addKeys(p),(j||m)&&ud(b,s,j,m)}else if(p){let j={from:p.lower,to:p.upper};h.add(j),x.add(j)}else x.add(r),h.add(r),s.indexes.forEach(j=>b(j.name).add(r));return g})}}),c=({query:{index:f,range:y}})=>{var w,b;return[f,new Ye((w=y.lower)!==null&&w!==void 0?w:t.MIN_KEY,(b=y.upper)!==null&&b!==void 0?b:t.MAX_KEY)]},d={get:f=>[o,new Ye(f.key)],getMany:f=>[o,new Ye().addKeys(f.keys)],count:c,query:c,openCursor:c};return oe(d).forEach(f=>{u[f]=function(y){let{subscr:w}=R;if(w){let b=m=>{let _=`idb://${e}/${n}/${m}`;return w[_]||(w[_]=new Ye)},x=b(""),h=b(":dels"),[v,p]=d[f](y);if(b(v.name||"").add(p),!v.isPrimaryKey)if(f==="count")h.add(r);else{let m=f==="query"&&l&&y.values&&i.query(xe(re({},y),{values:!1}));return i[f].apply(this,arguments).then(_=>{if(f==="query"){if(l&&y.values)return m.then(({result:j})=>(x.addKeys(j),_));let g=y.values?_.result.map(a):_.result;y.values?x.addKeys(g):h.addKeys(g)}else if(f==="openCursor"){let g=_,j=y.values;return g&&Object.create(g,{key:{get(){return h.addKey(g.primaryKey),g.key}},primaryKey:{get(){let A=g.primaryKey;return h.addKey(A),A}},value:{get(){return j&&x.addKey(g.primaryKey),g.value}}})}return _})}}return i[f].apply(this,arguments)}}),u}})}};function ud(t,e,r,n){function i(s){let o=t(s.name||"");function a(u){return u!=null?s.extractKey(u):null}let l=u=>s.multiEntry&&ve(u)?u.forEach(c=>o.addKey(c)):o.addKey(u);(r||n).forEach((u,c)=>{let d=r&&a(r[c]),f=n&&a(n[c]);Ae(d,f)!==0&&(d!=null&&l(d),f!=null&&l(f))})}e.indexes.forEach(i)}var Je=class{constructor(e,r){this._middlewares={},this.verno=0;let n=Je.dependencies;this._options=r=re({addons:Je.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange},r),this._deps={indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange};let{addons:i}=r;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let s={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Y,dbReadyPromise:null,cancelOpen:Y,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};s.dbReadyPromise=new I(o=>{s.dbReadyResolve=o}),s.openCanceller=new I((o,a)=>{s.cancelOpen=a}),this._state=s,this.name=e,this.on=Hr(this,"populate","blocked","versionchange","close",{ready:[Ri,Y]}),this.on.ready.subscribe=vo(this.on.ready.subscribe,o=>(a,l)=>{Je.vip(()=>{let u=this._state;if(u.openComplete)u.dbOpenError||I.resolve().then(a),l&&o(a);else if(u.onReadyBeingFired)u.onReadyBeingFired.push(a),l&&o(a);else{o(a);let c=this;l||o(function d(){c.on.ready.unsubscribe(a),c.on.ready.unsubscribe(d)})}})}),this.Collection=Ff(this),this.Table=wf(this),this.Transaction=Of(this),this.Version=Qf(this),this.WhereClause=If(this),this.on("versionchange",o=>{o.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",o=>{!o.newVersion||o.newVersionnew this.Transaction(o,a,l,this._options.chromeTransactionDurability,u),this._fireOnBlocked=o=>{this.on("blocked").fire(o),$r.filter(a=>a.name===this.name&&a!==this&&!a._state.vcFired).map(a=>a.on("versionchange").fire(o))},this.use(rd),this.use(id),this.use(ld),this.use(od),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach(o=>o(this))}version(e){if(isNaN(e)||e<.1)throw new L.Type("Given version is not a positive number");if(e=Math.round(e*10)/10,this.idbdb||this._state.isBeingOpened)throw new L.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let r=this._versions;var n=r.filter(i=>i._cfg.version===e)[0];return n||(n=new this.Version(e),r.push(n),r.sort(Kf),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||R.letThrough||this._vip)?e():new I((r,n)=>{if(this._state.openComplete)return n(new L.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen){n(new L.DatabaseClosed);return}this.open().catch(Y)}this._state.dbReadyPromise.then(r,n)}).then(e)}use({stack:e,create:r,level:n,name:i}){i&&this.unuse({stack:e,name:i});let s=this._middlewares[e]||(this._middlewares[e]=[]);return s.push({stack:e,create:r,level:n??10,name:i}),s.sort((o,a)=>o.level-a.level),this}unuse({stack:e,name:r,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(i=>n?i.create!==n:r?i.name!==r:!1)),this}open(){return Zf(this)}_close(){let e=this._state,r=$r.indexOf(this);if(r>=0&&$r.splice(r,1),this.idbdb){try{this.idbdb.close()}catch{}this._novip.idbdb=null}e.dbReadyPromise=new I(n=>{e.dbReadyResolve=n}),e.openCanceller=new I((n,i)=>{e.cancelOpen=i})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new L.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,r=this._state;return new I((n,i)=>{let s=()=>{this.close();var o=this._deps.indexedDB.deleteDatabase(this.name);o.onsuccess=Z(()=>{Jf(this._deps,this.name),n()}),o.onerror=ze(i),o.onblocked=this._fireOnBlocked};if(e)throw new L.InvalidArgument("Arguments not allowed in db.delete()");r.isBeingOpened?r.dbReadyPromise.then(s):s()})}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name==="DatabaseClosed"}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return oe(this._allTables).map(e=>this._allTables[e])}transaction(){let e=ed.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,r,n){let i=R.trans;(!i||i.db!==this||e.indexOf("!")!==-1)&&(i=null);let s=e.indexOf("?")!==-1;e=e.replace("!","").replace("?","");let o,a;try{if(a=r.map(u=>{var c=u instanceof this.Table?u.name:u;if(typeof c!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return c}),e=="r"||e===Ji)o=Ji;else if(e=="rw"||e==Xi)o=Xi;else throw new L.InvalidArgument("Invalid transaction mode: "+e);if(i){if(i.mode===Ji&&o===Xi)if(s)i=null;else throw new L.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i&&a.forEach(u=>{if(i&&i.storeNames.indexOf(u)===-1)if(s)i=null;else throw new L.SubTransaction("Table "+u+" not included in parent transaction.")}),s&&i&&!i.active&&(i=null)}}catch(u){return i?i._promise(null,(c,d)=>{d(u)}):le(u)}let l=ia.bind(null,this,o,a,i,n);return i?i._promise(o,l,"lock"):R.trans?sr(R.transless,()=>this._whenReady(l)):this._whenReady(l)}table(e){if(!Ie(this._allTables,e))throw new L.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},cd=typeof Symbol!="undefined"&&"observable"in Symbol?Symbol.observable:"@@observable",la=class{constructor(e){this._subscribe=e}subscribe(e,r,n){return this._subscribe(!e||typeof e=="function"?{next:e,error:r,complete:n}:e)}[cd](){return this}};function ua(t,e){return oe(e).forEach(r=>{let n=t[r]||(t[r]=new Ye);Rn(n,e[r])}),t}function fd(t){return new la(e=>{let r=Ii(t);function n(y){r&&ir();let w=()=>lt(t,{subscr:y,trans:null}),b=R.trans?sr(R.transless,w):w();return r&&b.then(Qe,Qe),b}let i=!1,s={},o={},a={get closed(){return i},unsubscribe:()=>{i=!0,dt.storagemutated.unsubscribe(d)}};e.start&&e.start(a);let l=!1,u=!1;function c(){return oe(o).some(y=>s[y]&&ad(s[y],o[y]))}let d=y=>{ua(s,y),c()&&f()},f=()=>{if(l||i)return;s={};let y={},w=n(y);u||(dt(Gr,d),u=!0),l=!0,Promise.resolve(w).then(b=>{l=!1,!i&&(c()?f():(s={},o=y,e.next&&e.next(b)))},b=>{l=!1,e.error&&e.error(b),a.unsubscribe()})};return f(),a})}var vs;try{vs={indexedDB:J.indexedDB||J.mozIndexedDB||J.webkitIndexedDB||J.msIndexedDB,IDBKeyRange:J.IDBKeyRange||J.webkitIDBKeyRange}}catch{vs={indexedDB:null,IDBKeyRange:null}}var Bt=Je;Zt(Bt,xe(re({},gn),{delete(t){return new Bt(t,{addons:[]}).delete()},exists(t){return new Bt(t,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1)},getDatabaseNames(t){try{return qf(Bt.dependencies).then(t)}catch{return le(new L.MissingAPI)}},defineClass(){function t(e){je(this,e)}return t},ignoreTransaction(t){return R.trans?sr(R.transless,t):t()},vip:hs,async:function(t){return function(){try{var e=ps(t.apply(this,arguments));return!e||typeof e.then!="function"?I.resolve(e):e}catch(r){return le(r)}}},spawn:function(t,e,r){try{var n=ps(t.apply(r,e||[]));return!n||typeof n.then!="function"?I.resolve(n):n}catch(i){return le(i)}},currentTransaction:{get:()=>R.trans||null},waitFor:function(t,e){let r=I.resolve(typeof t=="function"?Bt.ignoreTransaction(t):t).timeout(e||6e4);return R.trans?R.trans.waitFor(r):r},Promise:I,debug:{get:()=>Ke,set:t=>{Ao(t,t==="dexie"?()=>!0:$o)}},derive:er,extend:je,props:Zt,override:vo,Events:Hr,on:dt,liveQuery:fd,extendObservabilitySet:ua,getByKeyPath:Ue,setByKeyPath:Be,delByKeyPath:Gc,shallowClone:bo,deepClone:Pr,getObjectDiff:ms,cmp:Ae,asap:_o,minKey:Yi,addons:[],connections:$r,errnames:Pi,dependencies:vs,semVer:zo,version:zo.split(".").map(t=>parseInt(t)).reduce((t,e,r)=>t+e/Math.pow(10,r*2))}));Bt.maxKey=Qr(Bt.dependencies.IDBKeyRange);typeof dispatchEvent!="undefined"&&typeof addEventListener!="undefined"&&(dt(Gr,t=>{if(!Xe){let e;En?(e=document.createEvent("CustomEvent"),e.initCustomEvent(ft,!0,!0,t)):e=new CustomEvent(ft,{detail:t}),Xe=!0,dispatchEvent(e),Xe=!1}}),addEventListener(ft,({detail:t})=>{Xe||Bn(t)}));function Bn(t){let e=Xe;try{Xe=!0,dt.storagemutated.fire(t)}finally{Xe=e}}var Xe=!1;if(typeof BroadcastChannel!="undefined"){let t=new BroadcastChannel(ft);dt(Gr,e=>{Xe||t.postMessage(e)}),t.onmessage=e=>{e.data&&Bn(e.data)}}else if(typeof self!="undefined"&&typeof navigator!="undefined"){dt(Gr,e=>{try{Xe||(typeof localStorage!="undefined"&&localStorage.setItem(ft,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients=="object"&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(r=>r.postMessage({type:ft,changedParts:e})))}catch{}}),typeof addEventListener!="undefined"&&addEventListener("storage",e=>{if(e.key===ft){let r=JSON.parse(e.newValue);r&&Bn(r.changedParts)}});let t=self.document&&navigator.serviceWorker;t&&t.addEventListener("message",dd)}function dd({data:t}){t&&t.type===ft&&Bn(t.changedParts)}I.rejectionMapper=rf;Ao(Ke,$o);var Ve=class extends Je{constructor(){super(Ve.dbName);this.version(Ve.dbVersion).stores({searchHistory:"++id",minisearch:"date"})}static async clearOldDatabases(){let e=(await indexedDB.databases()).filter(r=>r.name===Ve.dbName&&r.version!==Ve.dbVersion*10);if(e.length){console.log("Omnisearch - Those IndexedDb databases will be deleted:");for(let r of e)r.name&&indexedDB.deleteDatabase(r.name)}}static getInstance(){return Ve.instance||(Ve.instance=new Ve),Ve.instance}async clearCache(){await this.minisearch.clear()}},lr=Ve;lr.dbVersion=8,lr.dbName="omnisearch/cache/"+app.appId;var Ee=lr.getInstance();var Lt=hn(!1),_s=class extends G.PluginSettingTab{constructor(e){super(app,e);this.plugin=e,Lt.subscribe(async r=>{E.showExcerpt=r,await ue(this.plugin)})}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:"Omnisearch"});let r=e.createDiv();r.innerHTML=` +`).slice(e).filter(Bs).map(n=>` +`+n).join("")):""}var pf=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"],Ns=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],Wi=pf.concat(Ns),mf={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function cr(t,e){this._e=Nt(),this.name=t,this.message=e}lr(cr).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+$i(this._e,2))}},toString:function(){return this.name+": "+this.message}});function Ks(t,e){return t+". Errors: "+Object.keys(e).map(r=>e[r].toString()).filter((r,n,i)=>i.indexOf(r)===n).join(` +`)}function Sn(t,e,r,n){this._e=Nt(),this.failures=e,this.failedKeys=n,this.successCount=r,this.message=Ks(t,e)}lr(Sn).from(cr);function $r(t,e){this._e=Nt(),this.name="BulkError",this.failures=Object.keys(e).map(r=>e[r]),this.failuresByPos=e,this.message=Ks(t,e)}lr($r).from(cr);var Ui=Wi.reduce((t,e)=>(t[e]=e+"Error",t),{}),gf=cr,V=Wi.reduce((t,e)=>{var r=e+"Error";function n(i,o){this._e=Nt(),this.name=r,i?typeof i=="string"?(this.message=`${i}${o?` + `+o:""}`,this.inner=o||null):typeof i=="object"&&(this.message=`${i.name} ${i.message}`,this.inner=i):(this.message=mf[e]||r,this.inner=null)}return lr(n).from(gf),t[e]=n,t},{});V.Syntax=SyntaxError;V.Type=TypeError;V.Range=RangeError;var zs=Ns.reduce((t,e)=>(t[e+"Error"]=V[e],t),{});function yf(t,e){if(!t||t instanceof cr||t instanceof TypeError||t instanceof SyntaxError||!t.name||!zs[t.name])return t;var r=new zs[t.name](e||t.message,t);return"stack"in t&&rt(r,"stack",{get:function(){return this.inner.stack}}),r}var Fn=Wi.reduce((t,e)=>(["Syntax","Type","Range"].indexOf(e)===-1&&(t[e+"Error"]=V[e]),t),{});Fn.ModifyError=Sn;Fn.DexieError=cr;Fn.BulkError=$r;function ne(){}function Wr(t){return t}function vf(t,e){return t==null||t===Wr?e:function(r){return e(t(r))}}function Kt(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function _f(t,e){return t===ne?e:function(){var r=t.apply(this,arguments);r!==void 0&&(arguments[0]=r);var n=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var o=e.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?Kt(n,this.onsuccess):n),i&&(this.onerror=this.onerror?Kt(i,this.onerror):i),o!==void 0?o:r}}function bf(t,e){return t===ne?e:function(){t.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,e.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?Kt(r,this.onsuccess):r),n&&(this.onerror=this.onerror?Kt(n,this.onerror):n)}}function xf(t,e){return t===ne?e:function(r){var n=t.apply(this,arguments);Pe(r,n);var i=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var s=e.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?Kt(i,this.onsuccess):i),o&&(this.onerror=this.onerror?Kt(o,this.onerror):o),n===void 0?s===void 0?void 0:s:Pe(n,s)}}function wf(t,e){return t===ne?e:function(){return e.apply(this,arguments)===!1?!1:t.apply(this,arguments)}}function Gi(t,e){return t===ne?e:function(){var r=t.apply(this,arguments);if(r&&typeof r.then=="function"){for(var n=this,i=arguments.length,o=new Array(i);i--;)o[i]=arguments[i];return r.then(function(){return e.apply(n,o)})}return e.apply(this,arguments)}}var Ur={},jf=100,Cf=20,Vs=100,[Qi,En,qi]=typeof Promise=="undefined"?[]:(()=>{let t=Promise.resolve();if(typeof crypto=="undefined"||!crypto.subtle)return[t,zr(t),t];let e=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[e,zr(e),t]})(),Hs=En&&En.then,Dn=Qi&&Qi.constructor,Yi=!!qi,Ji=!1,Af=qi?()=>{qi.then(kn)}:ie.setImmediate?setImmediate.bind(null,kn):ie.MutationObserver?()=>{var t=document.createElement("div");new MutationObserver(()=>{kn(),t=null}).observe(t,{attributes:!0}),t.setAttribute("i","1")}:()=>{setTimeout(kn,0)},Gr=function(t,e){Qr.push([t,e]),Tn&&(Af(),Tn=!1)},Xi=!0,Tn=!0,zt=[],In=[],Zi=null,eo=Wr,fr={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Zs,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(t=>{try{Zs(t[0],t[1])}catch{}})}},K=fr,Qr=[],Vt=0,On=[];function M(t){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=ne,this._lib=!1;var e=this._PSD=K;if(Je&&(this._stackHolder=Nt(),this._prev=null,this._numPrev=0),typeof t!="function"){if(t!==Ur)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&ro(this,this._value);return}this._state=null,this._value=null,++e.ref,Ws(this,t)}var to={get:function(){var t=K,e=Rn;function r(n,i){var o=!t.global&&(t!==K||e!==Rn);let s=o&&!ot();var a=new M((l,u)=>{no(this,new $s(Bn(n,t,o,s),Bn(i,t,o,s),l,u,t))});return Je&&Qs(a,this),a}return r.prototype=Ur,r},set:function(t){rt(this,"then",t&&t.prototype===Ur?to:{get:function(){return t},set:to.set})}};ar(M.prototype,{then:to,_then:function(t,e){no(this,new $s(null,null,t,e,K))},catch:function(t){if(arguments.length===1)return this.then(null,t);var e=arguments[0],r=arguments[1];return typeof e=="function"?this.then(null,n=>n instanceof e?r(n):Pn(n)):this.then(null,n=>n&&n.name===e?r(n):Pn(n))},finally:function(t){return this.then(e=>(t(),e),e=>(t(),Pn(e)))},stack:{get:function(){if(this._stack)return this._stack;try{Ji=!0;var t=Gs(this,[],Cf),e=t.join(` +From previous: `);return this._state!==null&&(this._stack=e),e}finally{Ji=!1}}},timeout:function(t,e){return t<1/0?new M((r,n)=>{var i=setTimeout(()=>n(new V.Timeout(e)),t);this.then(r,n).finally(clearTimeout.bind(null,i))}):this}});typeof Symbol!="undefined"&&Symbol.toStringTag&&rt(M.prototype,Symbol.toStringTag,"Dexie.Promise");fr.env=qs();function $s(t,e,r,n,i){this.onFulfilled=typeof t=="function"?t:null,this.onRejected=typeof e=="function"?e:null,this.resolve=r,this.reject=n,this.psd=i}ar(M,{all:function(){var t=it.apply(null,arguments).map(Ln);return new M(function(e,r){t.length===0&&e([]);var n=t.length;t.forEach((i,o)=>M.resolve(i).then(s=>{t[o]=s,--n||e(t)},r))})},resolve:t=>{if(t instanceof M)return t;if(t&&typeof t.then=="function")return new M((r,n)=>{t.then(r,n)});var e=new M(Ur,!0,t);return Qs(e,Zi),e},reject:Pn,race:function(){var t=it.apply(null,arguments).map(Ln);return new M((e,r)=>{t.map(n=>M.resolve(n).then(e,r))})},PSD:{get:()=>K,set:t=>K=t},totalEchoes:{get:()=>Rn},newPSD:yt,usePSD:hr,scheduler:{get:()=>Gr,set:t=>{Gr=t}},rejectionMapper:{get:()=>eo,set:t=>{eo=t}},follow:(t,e)=>new M((r,n)=>yt((i,o)=>{var s=K;s.unhandleds=[],s.onunhandled=o,s.finalize=Kt(function(){Ff(()=>{this.unhandleds.length===0?i():o(this.unhandleds[0])})},s.finalize),t()},e,r,n))});Dn&&(Dn.allSettled&&rt(M,"allSettled",function(){let t=it.apply(null,arguments).map(Ln);return new M(e=>{t.length===0&&e([]);let r=t.length,n=new Array(r);t.forEach((i,o)=>M.resolve(i).then(s=>n[o]={status:"fulfilled",value:s},s=>n[o]={status:"rejected",reason:s}).then(()=>--r||e(n)))})}),Dn.any&&typeof AggregateError!="undefined"&&rt(M,"any",function(){let t=it.apply(null,arguments).map(Ln);return new M((e,r)=>{t.length===0&&r(new AggregateError([]));let n=t.length,i=new Array(n);t.forEach((o,s)=>M.resolve(o).then(a=>e(a),a=>{i[s]=a,--n||r(new AggregateError(i))}))})}));function Ws(t,e){try{e(r=>{if(t._state===null){if(r===t)throw new TypeError("A promise cannot be resolved with itself.");var n=t._lib&&qr();r&&typeof r.then=="function"?Ws(t,(i,o)=>{r instanceof M?r._then(i,o):r.then(i,o)}):(t._state=!0,t._value=r,Us(t)),n&&Yr()}},ro.bind(null,t))}catch(r){ro(t,r)}}function ro(t,e){if(In.push(e),t._state===null){var r=t._lib&&qr();e=eo(e),t._state=!1,t._value=e,Je&&e!==null&&typeof e=="object"&&!e._promise&&af(()=>{var n=Ni(e,"stack");e._promise=t,rt(e,"stack",{get:()=>Ji?n&&(n.get?n.get.apply(e):n.value):t.stack})}),Ef(t),Us(t),r&&Yr()}}function Us(t){var e=t._listeners;t._listeners=[];for(var r=0,n=e.length;r{--Vt==0&&io()},[]))}function no(t,e){if(t._state===null){t._listeners.push(e);return}var r=t._state?e.onFulfilled:e.onRejected;if(r===null)return(t._state?e.resolve:e.reject)(t._value);++e.psd.ref,++Vt,Gr(Sf,[r,t,e])}function Sf(t,e,r){try{Zi=e;var n,i=e._value;e._state?n=t(i):(In.length&&(In=[]),n=t(i),In.indexOf(i)===-1&&Df(e)),r.resolve(n)}catch(o){r.reject(o)}finally{Zi=null,--Vt==0&&io(),--r.psd.ref||r.psd.finalize()}}function Gs(t,e,r){if(e.length===r)return e;var n="";if(t._state===!1){var i=t._value,o,s;i!=null?(o=i.name||"Error",s=i.message||i,n=$i(i,0)):(o=i,s=""),e.push(o+(s?": "+s:"")+n)}return Je&&(n=$i(t._stackHolder,2),n&&e.indexOf(n)===-1&&e.push(n),t._prev&&Gs(t._prev,e,r)),e}function Qs(t,e){var r=e?e._numPrev+1:0;r0;)for(t=Qr,Qr=[],r=t.length,e=0;e0);Xi=!0,Tn=!0}function io(){var t=zt;zt=[],t.forEach(n=>{n._PSD.onunhandled.call(null,n._value,n)});for(var e=On.slice(0),r=e.length;r;)e[--r]()}function Ff(t){function e(){t(),On.splice(On.indexOf(e),1)}On.push(e),++Vt,Gr(()=>{--Vt==0&&io()},[])}function Ef(t){zt.some(e=>e._value===t._value)||zt.push(t)}function Df(t){for(var e=zt.length;e;)if(zt[--e]._value===t._value){zt.splice(e,1);return}}function Pn(t){return new M(Ur,!1,t)}function se(t,e){var r=K;return function(){var n=qr(),i=K;try{return vt(r,!0),t.apply(this,arguments)}catch(o){e&&e(o)}finally{vt(i,!1),n&&Yr()}}}var Ie={awaits:0,echoes:0,id:0},Tf=0,Mn=[],oo=0,Rn=0,If=0;function yt(t,e,r,n){var i=K,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++If;var s=fr.env;o.env=Yi?{Promise:M,PromiseProp:{value:M,configurable:!0,writable:!0},all:M.all,race:M.race,allSettled:M.allSettled,any:M.any,resolve:M.resolve,reject:M.reject,nthen:Js(s.nthen,o),gthen:Js(s.gthen,o)}:{},e&&Pe(o,e),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=hr(o,t,r,n);return o.ref===0&&o.finalize(),a}function dr(){return Ie.id||(Ie.id=++Tf),++Ie.awaits,Ie.echoes+=Vs,Ie.id}function ot(){return Ie.awaits?(--Ie.awaits==0&&(Ie.id=0),Ie.echoes=Ie.awaits*Vs,!0):!1}(""+Hs).indexOf("[native code]")===-1&&(dr=ot=ne);function Ln(t){return Ie.echoes&&t&&t.constructor===Dn?(dr(),t.then(e=>(ot(),e),e=>(ot(),ye(e)))):t}function Of(t){++Rn,(!Ie.echoes||--Ie.echoes==0)&&(Ie.echoes=Ie.id=0),Mn.push(K),vt(t,!0)}function kf(){var t=Mn[Mn.length-1];Mn.pop(),vt(t,!1)}function vt(t,e){var r=K;if((e?Ie.echoes&&(!oo++||t!==K):oo&&(!--oo||t!==K))&&Ys(e?Of.bind(null,t):kf),t!==K&&(K=t,r===fr&&(fr.env=qs()),Yi)){var n=fr.env.Promise,i=t.env;En.then=i.nthen,n.prototype.then=i.gthen,(r.global||t.global)&&(Object.defineProperty(ie,"Promise",i.PromiseProp),n.all=i.all,n.race=i.race,n.resolve=i.resolve,n.reject=i.reject,i.allSettled&&(n.allSettled=i.allSettled),i.any&&(n.any=i.any))}}function qs(){var t=ie.Promise;return Yi?{Promise:t,PromiseProp:Object.getOwnPropertyDescriptor(ie,"Promise"),all:t.all,race:t.race,allSettled:t.allSettled,any:t.any,resolve:t.resolve,reject:t.reject,nthen:En.then,gthen:t.prototype.then}:{}}function hr(t,e,r,n,i){var o=K;try{return vt(t,!0),e(r,n,i)}finally{vt(o,!1)}}function Ys(t){Hs.call(Qi,t)}function Bn(t,e,r,n){return typeof t!="function"?t:function(){var i=K;r&&dr(),vt(e,!0);try{return t.apply(this,arguments)}finally{vt(i,!1),n&&Ys(ot)}}}function Js(t,e){return function(r,n){return t.call(this,Bn(r,e),Bn(n,e))}}var Xs="unhandledrejection";function Zs(t,e){var r;try{r=e.onuncatched(t)}catch{}if(r!==!1)try{var n,i={promise:e,reason:t};if(ie.document&&document.createEvent?(n=document.createEvent("Event"),n.initEvent(Xs,!0,!0),Pe(n,i)):ie.CustomEvent&&(n=new CustomEvent(Xs,{detail:i}),Pe(n,i)),n&&ie.dispatchEvent&&(dispatchEvent(n),!ie.PromiseRejectionEvent&&ie.onunhandledrejection))try{ie.onunhandledrejection(n)}catch{}Je&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${t.stack||t}`)}catch{}}var ye=M.reject;function so(t,e,r,n){if(!t.idbdb||!t._state.openComplete&&!K.letThrough&&!t._vip){if(t._state.openComplete)return ye(new V.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return ye(new V.DatabaseClosed);t.open().catch(ne)}return t._state.dbReadyPromise.then(()=>so(t,e,r,n))}else{var i=t._createTransaction(e,r,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===Ui.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>so(t,e,r,n))):ye(o)}return i._promise(e,(o,s)=>yt(()=>(K.trans=i,n(o,s,i)))).then(o=>i._completion.then(()=>o))}}var ea="3.2.2",Ht=String.fromCharCode(65535),ao=-1/0,st="Invalid key provided. Keys must be of type string, number, Date or Array.",ta="String expected.",Jr=[],Nn=typeof navigator!="undefined"&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Pf=Nn,Mf=Nn,ra=t=>!/(dexie\.js|dexie\.min\.js)/.test(t),Kn="__dbnames",lo="readonly",uo="readwrite";function $t(t,e){return t?e?function(){return t.apply(this,arguments)&&e.apply(this,arguments)}:t:e}var na={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function zn(t){return typeof t=="string"&&!/\./.test(t)?e=>(e[t]===void 0&&t in e&&(e=Hr(e),delete e[t]),e):e=>e}var ia=class{_trans(e,r,n){let i=this._tx||K.trans,o=this.name;function s(l,u,d){if(!d.schema[o])throw new V.NotFound("Table "+o+" not part of transaction");return r(d.idbtrans,d)}let a=qr();try{return i&&i.db===this.db?i===K.trans?i._promise(e,s,n):yt(()=>i._promise(e,s,n),{trans:i,transless:K.transless||K}):so(this.db,e,[this.name],s)}finally{a&&Yr()}}get(e,r){return e&&e.constructor===Object?this.where(e).first(r):this._trans("readonly",n=>this.core.get({trans:n,key:e}).then(i=>this.hook.reading.fire(i))).then(r)}where(e){if(typeof e=="string")return new this.db.WhereClause(this,e);if(Te(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let r=he(e);if(r.length===1)return this.where(r[0]).equals(e[r[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter(u=>u.compound&&r.every(d=>u.keyPath.indexOf(d)>=0)&&u.keyPath.every(d=>r.indexOf(d)>=0))[0];if(n&&this.db._maxKey!==Ht)return this.where(n.name).equals(n.keyPath.map(u=>e[u]));!n&&Je&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${r.join("+")}]`);let{idxByName:i}=this.schema,o=this.db._deps.indexedDB;function s(u,d){try{return o.cmp(u,d)===0}catch{return!1}}let[a,l]=r.reduce(([u,d],f)=>{let c=i[f],y=e[f];return[u||c,u||!c?$t(d,c&&c.multi?w=>{let x=nt(w,f);return Te(x)&&x.some(b=>s(y,b))}:w=>s(y,nt(w,f))):d]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(l):n?this.filter(l):this.where(r).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,Te(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let r=n=>{if(!n)return n;let i=Object.create(e.prototype);for(var o in n)if(Ve(n,o))try{i[o]=n[o]}catch{}return i};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=r,this.hook("reading",r),e}defineClass(){function e(r){Pe(this,r)}return this.mapToClass(e)}add(e,r){let{auto:n,keyPath:i}=this.schema.primKey,o=e;return i&&n&&(o=zn(i)(e)),this._trans("readwrite",s=>this.core.mutate({trans:s,type:"add",keys:r!=null?[r]:null,values:[o]})).then(s=>s.numFailures?M.reject(s.failures[0]):s.lastResult).then(s=>{if(i)try{Qe(e,i,s)}catch{}return s})}update(e,r){if(typeof e=="object"&&!Te(e)){let n=nt(e,this.schema.primKey.keyPath);if(n===void 0)return ye(new V.InvalidArgument("Given object does not contain its primary key"));try{typeof r!="function"?he(r).forEach(i=>{Qe(e,i,r[i])}):r(e,{value:e,primKey:n})}catch{}return this.where(":id").equals(n).modify(r)}else return this.where(":id").equals(e).modify(r)}put(e,r){let{auto:n,keyPath:i}=this.schema.primKey,o=e;return i&&n&&(o=zn(i)(e)),this._trans("readwrite",s=>this.core.mutate({trans:s,type:"put",values:[o],keys:r!=null?[r]:null})).then(s=>s.numFailures?M.reject(s.failures[0]):s.lastResult).then(s=>{if(i)try{Qe(e,i,s)}catch{}return s})}delete(e){return this._trans("readwrite",r=>this.core.mutate({trans:r,type:"delete",keys:[e]})).then(r=>r.numFailures?M.reject(r.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:na})).then(e=>e.numFailures?M.reject(e.failures[0]):void 0)}bulkGet(e){return this._trans("readonly",r=>this.core.getMany({keys:e,trans:r}).then(n=>n.map(i=>this.hook.reading.fire(i))))}bulkAdd(e,r,n){let i=Array.isArray(r)?r:void 0;n=n||(i?void 0:r);let o=n?n.allKeys:void 0;return this._trans("readwrite",s=>{let{auto:a,keyPath:l}=this.schema.primKey;if(l&&i)throw new V.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new V.InvalidArgument("Arguments objects and keys must have the same length");let u=e.length,d=l&&a?e.map(zn(l)):e;return this.core.mutate({trans:s,type:"add",keys:i,values:d,wantResults:o}).then(({numFailures:f,results:c,lastResult:y,failures:w})=>{let x=o?c:y;if(f===0)return x;throw new $r(`${this.name}.bulkAdd(): ${f} of ${u} operations failed`,w)})})}bulkPut(e,r,n){let i=Array.isArray(r)?r:void 0;n=n||(i?void 0:r);let o=n?n.allKeys:void 0;return this._trans("readwrite",s=>{let{auto:a,keyPath:l}=this.schema.primKey;if(l&&i)throw new V.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(i&&i.length!==e.length)throw new V.InvalidArgument("Arguments objects and keys must have the same length");let u=e.length,d=l&&a?e.map(zn(l)):e;return this.core.mutate({trans:s,type:"put",keys:i,values:d,wantResults:o}).then(({numFailures:f,results:c,lastResult:y,failures:w})=>{let x=o?c:y;if(f===0)return x;throw new $r(`${this.name}.bulkPut(): ${f} of ${u} operations failed`,w)})})}bulkDelete(e){let r=e.length;return this._trans("readwrite",n=>this.core.mutate({trans:n,type:"delete",keys:e})).then(({numFailures:n,lastResult:i,failures:o})=>{if(n===0)return i;throw new $r(`${this.name}.bulkDelete(): ${n} of ${r} operations failed`,o)})}};function Xr(t){var e={},r=function(a,l){if(l){for(var u=arguments.length,d=new Array(u-1);--u;)d[u-1]=arguments[u];return e[a].subscribe.apply(null,d),t}else if(typeof a=="string")return e[a]};r.addEventType=o;for(var n=1,i=arguments.length;n$t(n(),e()):e,t.justLimit=r&&!n}function Lf(t,e){t.isMatch=$t(t.isMatch,e)}function Vn(t,e){if(t.isPrimKey)return e.primaryKey;let r=e.getIndexByKeyPath(t.index);if(!r)throw new V.Schema("KeyPath "+t.index+" on object store "+e.name+" is not indexed");return r}function oa(t,e,r){let n=Vn(t,e.schema);return e.openCursor({trans:r,values:!t.keysOnly,reverse:t.dir==="prev",unique:!!t.unique,query:{index:n,range:t.range}})}function Hn(t,e,r,n){let i=t.replayFilter?$t(t.filter,t.replayFilter()):t.filter;if(t.or){let o={},s=(a,l,u)=>{if(!i||i(l,u,c=>l.stop(c),c=>l.fail(c))){var d=l.primaryKey,f=""+d;f==="[object ArrayBuffer]"&&(f=""+new Uint8Array(d)),Ve(o,f)||(o[f]=!0,e(a,l,u))}};return Promise.all([t.or._iterate(s,r),sa(oa(t,n,r),t.algorithm,s,!t.keysOnly&&t.valueMapper)])}else return sa(oa(t,n,r),$t(t.algorithm,i),e,!t.keysOnly&&t.valueMapper)}function sa(t,e,r,n){var i=n?(s,a,l)=>r(n(s),a,l):r,o=se(i);return t.then(s=>{if(s)return s.start(()=>{var a=()=>s.continue();(!e||e(s,l=>a=l,l=>{s.stop(l),a=ne},l=>{s.fail(l),a=ne}))&&o(s.value,s,l=>a=l),a()})})}function Me(t,e){try{let r=aa(t),n=aa(e);if(r!==n)return r==="Array"?1:n==="Array"?-1:r==="binary"?1:n==="binary"?-1:r==="string"?1:n==="string"?-1:r==="Date"?1:n!=="Date"?NaN:-1;switch(r){case"number":case"Date":case"string":return t>e?1:tHn(r,e,n,r.table.core))}count(e){return this._read(r=>{let n=this._ctx,i=n.table.core;if(pr(n,!0))return i.count({trans:r,query:{index:Vn(n,i.schema),range:n.range}}).then(s=>Math.min(s,n.limit));var o=0;return Hn(n,()=>(++o,!1),r,i).then(()=>o)}).then(e)}sortBy(e,r){let n=e.split(".").reverse(),i=n[0],o=n.length-1;function s(u,d){return d?s(u[n[d]],d-1):u[i]}var a=this._ctx.dir==="next"?1:-1;function l(u,d){var f=s(u,o),c=s(d,o);return fc?a:0}return this.toArray(function(u){return u.sort(l)}).then(r)}toArray(e){return this._read(r=>{var n=this._ctx;if(n.dir==="next"&&pr(n,!0)&&n.limit>0){let{valueMapper:i}=n,o=Vn(n,n.table.core.schema);return n.table.core.query({trans:r,limit:n.limit,values:!0,query:{index:o,range:n.range}}).then(({result:s})=>i?s.map(i):s)}else{let i=[];return Hn(n,o=>i.push(o),r,n.table.core).then(()=>i)}},e)}offset(e){var r=this._ctx;return e<=0?this:(r.offset+=e,pr(r)?fo(r,()=>{var n=e;return(i,o)=>n===0?!0:n===1?(--n,!1):(o(()=>{i.advance(n),n=0}),!1)}):fo(r,()=>{var n=e;return()=>--n<0}),this)}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),fo(this._ctx,()=>{var r=e;return function(n,i,o){return--r<=0&&i(o),r>=0}},!0),this}until(e,r){return co(this._ctx,function(n,i,o){return e(n.value)?(i(o),r):!0}),this}first(e){return this.limit(1).toArray(function(r){return r[0]}).then(e)}last(e){return this.reverse().first(e)}filter(e){return co(this._ctx,function(r){return e(r.value)}),Lf(this._ctx,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var r=this._ctx;return r.keysOnly=!r.isMatch,this.each(function(n,i){e(i.key,i)})}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var r=this._ctx;return r.keysOnly=!r.isMatch,this.each(function(n,i){e(i.primaryKey,i)})}keys(e){var r=this._ctx;r.keysOnly=!r.isMatch;var n=[];return this.each(function(i,o){n.push(o.key)}).then(function(){return n}).then(e)}primaryKeys(e){var r=this._ctx;if(r.dir==="next"&&pr(r,!0)&&r.limit>0)return this._read(i=>{var o=Vn(r,r.table.core.schema);return r.table.core.query({trans:i,values:!1,limit:r.limit,query:{index:o,range:r.range}})}).then(({result:i})=>i).then(e);r.keysOnly=!r.isMatch;var n=[];return this.each(function(i,o){n.push(o.primaryKey)}).then(function(){return n}).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys(function(r){return r[0]}).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,r=e.index&&e.table.schema.idxByName[e.index];if(!r||!r.multi)return this;var n={};return co(this._ctx,function(i){var o=i.primaryKey.toString(),s=Ve(n,o);return n[o]=!0,!s}),this}modify(e){var r=this._ctx;return this._write(n=>{var i;if(typeof e=="function")i=e;else{var o=he(e),s=o.length;i=function(x){for(var b=!1,h=0;h{let{failures:h,numFailures:_}=b;c+=x-_;for(let p of he(h))f.push(h[p])};return this.clone().primaryKeys().then(x=>{let b=h=>{let _=Math.min(d,x.length-h);return a.getMany({trans:n,keys:x.slice(h,h+_),cache:"immutable"}).then(p=>{let m=[],v=[],g=l?[]:null,j=[];for(let S=0;S<_;++S){let E=p[S],P={value:Hr(E),primKey:x[h+S]};i.call(P,P.value,P)!==!1&&(P.value==null?j.push(x[h+S]):!l&&Me(u(E),u(P.value))!==0?(j.push(x[h+S]),m.push(P.value)):(v.push(P.value),l&&g.push(x[h+S])))}let C=pr(r)&&r.limit===1/0&&(typeof e!="function"||e===ho)&&{index:r.index,range:r.range};return Promise.resolve(m.length>0&&a.mutate({trans:n,type:"add",values:m}).then(S=>{for(let E in S.failures)j.splice(parseInt(E),1);w(m.length,S)})).then(()=>(v.length>0||C&&typeof e=="object")&&a.mutate({trans:n,type:"put",keys:g,values:v,criteria:C,changeSpec:typeof e!="function"&&e}).then(S=>w(v.length,S))).then(()=>(j.length>0||C&&e===ho)&&a.mutate({trans:n,type:"delete",keys:j,criteria:C}).then(S=>w(j.length,S))).then(()=>x.length>h+_&&b(h+d))})};return b(0).then(()=>{if(f.length>0)throw new Sn("Error modifying one or more objects",f,c,y);return x.length})})})}delete(){var e=this._ctx,r=e.range;return pr(e)&&(e.isPrimKey&&!Mf||r.type===3)?this._write(n=>{let{primaryKey:i}=e.table.core.schema,o=r;return e.table.core.count({trans:n,query:{index:i,range:o}}).then(s=>e.table.core.mutate({trans:n,type:"deleteRange",range:o}).then(({failures:a,lastResult:l,results:u,numFailures:d})=>{if(d)throw new Sn("Could not delete some values",Object.keys(a).map(f=>a[f]),s-d);return s-d}))}):this.modify(ho)}},ho=(t,e)=>e.value=null;function Kf(t){return Zr(ua.prototype,function(r,n){this.db=t;let i=na,o=null;if(n)try{i=n()}catch(u){o=u}let s=r._ctx,a=s.table,l=a.hook.reading.fire;this._ctx={table:a,index:s.index,isPrimKey:!s.index||a.schema.primKey.keyPath&&s.index===a.schema.primKey.name,range:i,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:s.or,valueMapper:l!==Wr?l:null}})}function zf(t,e){return te?-1:t===e?0:1}function He(t,e,r){var n=t instanceof po?new t.Collection(t):t;return n._ctx.error=r?new r(e):new TypeError(e),n}function mr(t){return new t.Collection(t,()=>ca("")).limit(0)}function Hf(t){return t==="next"?e=>e.toUpperCase():e=>e.toLowerCase()}function $f(t){return t==="next"?e=>e.toLowerCase():e=>e.toUpperCase()}function Wf(t,e,r,n,i,o){for(var s=Math.min(t.length,n.length),a=-1,l=0;l=0?t.substr(0,a)+e[a]+r.substr(a+1):null;i(t[l],u)<0&&(a=l)}return stypeof x=="string"))return He(t,ta);function c(x){i=Hf(x),o=$f(x),s=x==="next"?zf:Vf;var b=r.map(function(h){return{lower:o(h),upper:i(h)}}).sort(function(h,_){return s(h.lower,_.lower)});a=b.map(function(h){return h.upper}),l=b.map(function(h){return h.lower}),u=x,d=x==="next"?"":n}c("next");var y=new t.Collection(t,()=>_t(a[0],l[f-1]+n));y._ondirectionchange=function(x){c(x)};var w=0;return y._addAlgorithm(function(x,b,h){var _=x.key;if(typeof _!="string")return!1;var p=o(_);if(e(p,l,w))return!0;for(var m=null,v=w;v0)&&(m=g)}return b(m!==null?function(){x.continue(m+d)}:h),!1}),y}function _t(t,e,r,n){return{type:2,lower:t,upper:e,lowerOpen:r,upperOpen:n}}function ca(t){return{type:1,lower:t,upper:t}}var po=class{get Collection(){return this._ctx.table.db.Collection}between(e,r,n,i){n=n!==!1,i=i===!0;try{return this._cmp(e,r)>0||this._cmp(e,r)===0&&(n||i)&&!(n&&i)?mr(this):new this.Collection(this,()=>_t(e,r,!n,!i))}catch{return He(this,st)}}equals(e){return e==null?He(this,st):new this.Collection(this,()=>ca(e))}above(e){return e==null?He(this,st):new this.Collection(this,()=>_t(e,void 0,!0))}aboveOrEqual(e){return e==null?He(this,st):new this.Collection(this,()=>_t(e,void 0,!1))}below(e){return e==null?He(this,st):new this.Collection(this,()=>_t(void 0,e,!1,!0))}belowOrEqual(e){return e==null?He(this,st):new this.Collection(this,()=>_t(void 0,e))}startsWith(e){return typeof e!="string"?He(this,ta):this.between(e,e+Ht,!0,!0)}startsWithIgnoreCase(e){return e===""?this.startsWith(e):$n(this,(r,n)=>r.indexOf(n[0])===0,[e],Ht)}equalsIgnoreCase(e){return $n(this,(r,n)=>r===n[0],[e],"")}anyOfIgnoreCase(){var e=it.apply(ur,arguments);return e.length===0?mr(this):$n(this,(r,n)=>n.indexOf(r)!==-1,e,"")}startsWithAnyOfIgnoreCase(){var e=it.apply(ur,arguments);return e.length===0?mr(this):$n(this,(r,n)=>n.some(i=>r.indexOf(i)===0),e,Ht)}anyOf(){let e=it.apply(ur,arguments),r=this._cmp;try{e.sort(r)}catch{return He(this,st)}if(e.length===0)return mr(this);let n=new this.Collection(this,()=>_t(e[0],e[e.length-1]));n._ondirectionchange=o=>{r=o==="next"?this._ascending:this._descending,e.sort(r)};let i=0;return n._addAlgorithm((o,s,a)=>{let l=o.key;for(;r(l,e[i])>0;)if(++i,i===e.length)return s(a),!1;return r(l,e[i])===0?!0:(s(()=>{o.continue(e[i])}),!1)}),n}notEqual(e){return this.inAnyRange([[ao,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=it.apply(ur,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch{return He(this,st)}let r=e.reduce((n,i)=>n?n.concat([[n[n.length-1][1],i]]):[[ao,i]],null);return r.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(r,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,r){let n=this._cmp,i=this._ascending,o=this._descending,s=this._min,a=this._max;if(e.length===0)return mr(this);if(!e.every(m=>m[0]!==void 0&&m[1]!==void 0&&i(m[0],m[1])<=0))return He(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",V.InvalidArgument);let l=!r||r.includeLowers!==!1,u=r&&r.includeUppers===!0;function d(m,v){let g=0,j=m.length;for(;g0){C[0]=s(C[0],v[0]),C[1]=a(C[1],v[1]);break}}return g===j&&m.push(v),m}let f=i;function c(m,v){return f(m[0],v[0])}let y;try{y=e.reduce(d,[]),y.sort(c)}catch{return He(this,st)}let w=0,x=u?m=>i(m,y[w][1])>0:m=>i(m,y[w][1])>=0,b=l?m=>o(m,y[w][0])>0:m=>o(m,y[w][0])>=0;function h(m){return!x(m)&&!b(m)}let _=x,p=new this.Collection(this,()=>_t(y[0][0],y[y.length-1][1],!l,!u));return p._ondirectionchange=m=>{m==="next"?(_=x,f=i):(_=b,f=o),y.sort(c)},p._addAlgorithm((m,v,g)=>{for(var j=m.key;_(j);)if(++w,w===y.length)return v(g),!1;return h(j)?!0:(this._cmp(j,y[w][1])===0||this._cmp(j,y[w][0])===0||v(()=>{f===i?m.continue(y[w][0]):m.continue(y[w][1])}),!1)}),p}startsWithAnyOf(){let e=it.apply(ur,arguments);return e.every(r=>typeof r=="string")?e.length===0?mr(this):this.inAnyRange(e.map(r=>[r,r+Ht])):He(this,"startsWithAnyOf() only works with strings")}};function Uf(t){return Zr(po.prototype,function(r,n,i){this.db=t,this._ctx={table:r,index:n===":id"?null:n,or:i};let o=t._deps.indexedDB;if(!o)throw new V.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(s,a)=>o.cmp(a,s),this._max=(s,a)=>o.cmp(s,a)>0?s:a,this._min=(s,a)=>o.cmp(s,a)<0?s:a,this._IDBKeyRange=t._deps.IDBKeyRange})}function Xe(t){return se(function(e){return en(e),t(e.target.error),!1})}function en(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()}var tn="storagemutated",bt="x-storagemutated-1",xt=Xr(null,tn),fa=class{_lock(){return Vr(!K.global),++this._reculock,this._reculock===1&&!K.global&&(K.lockOwnerFor=this),this}_unlock(){if(Vr(!K.global),--this._reculock==0)for(K.global||(K.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{hr(e[1],e[0])}catch{}}return this}_locked(){return this._reculock&&K.lockOwnerFor!==this}create(e){if(!this.mode)return this;let r=this.db.idbdb,n=this.db._state.dbOpenError;if(Vr(!this.idbtrans),!e&&!r)switch(n&&n.name){case"DatabaseClosedError":throw new V.DatabaseClosed(n);case"MissingAPIError":throw new V.MissingAPI(n.message,n);default:throw new V.OpenFailed(n)}if(!this.active)throw new V.TransactionInactive;return Vr(this._completion._state===null),e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):r.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})),e.onerror=se(i=>{en(i),this._reject(e.error)}),e.onabort=se(i=>{en(i),this.active&&this._reject(new V.Abort(e.error)),this.active=!1,this.on("abort").fire(i)}),e.oncomplete=se(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&xt.storagemutated.fire(e.mutatedParts)}),this}_promise(e,r,n){if(e==="readwrite"&&this.mode!=="readwrite")return ye(new V.ReadOnly("Transaction is readonly"));if(!this.active)return ye(new V.TransactionInactive);if(this._locked())return new M((o,s)=>{this._blockedFuncs.push([()=>{this._promise(e,r,n).then(o,s)},K])});if(n)return yt(()=>{var o=new M((s,a)=>{this._lock();let l=r(s,a,this);l&&l.then&&l.then(s,a)});return o.finally(()=>this._unlock()),o._lib=!0,o});var i=new M((o,s)=>{var a=r(o,s,this);a&&a.then&&a.then(o,s)});return i._lib=!0,i}_root(){return this.parent?this.parent._root():this}waitFor(e){var r=this._root();let n=M.resolve(e);if(r._waitingFor)r._waitingFor=r._waitingFor.then(()=>n);else{r._waitingFor=n,r._waitingQueue=[];var i=r.idbtrans.objectStore(r.storeNames[0]);(function s(){for(++r._spinCount;r._waitingQueue.length;)r._waitingQueue.shift()();r._waitingFor&&(i.get(-1/0).onsuccess=s)})()}var o=r._waitingFor;return new M((s,a)=>{n.then(l=>r._waitingQueue.push(se(s.bind(null,l))),l=>r._waitingQueue.push(se(a.bind(null,l)))).finally(()=>{r._waitingFor===o&&(r._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new V.Abort))}table(e){let r=this._memoizedTables||(this._memoizedTables={});if(Ve(r,e))return r[e];let n=this.schema[e];if(!n)throw new V.NotFound("Table "+e+" not part of transaction");let i=new this.db.Table(e,n,this);return i.core=this.db.core.table(e),r[e]=i,i}};function Gf(t){return Zr(fa.prototype,function(r,n,i,o,s){this.db=t,this.mode=r,this.storeNames=n,this.schema=i,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=Xr(this,"complete","error","abort"),this.parent=s||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new M((a,l)=>{this._resolve=a,this._reject=l}),this._completion.then(()=>{this.active=!1,this.on.complete.fire()},a=>{var l=this.active;return this.active=!1,this.on.error.fire(a),this.parent?this.parent._reject(a):l&&this.idbtrans&&this.idbtrans.abort(),ye(a)})})}function mo(t,e,r,n,i,o,s){return{name:t,keyPath:e,unique:r,multi:n,auto:i,compound:o,src:(r&&!s?"&":"")+(n?"*":"")+(i?"++":"")+da(e)}}function da(t){return typeof t=="string"?t:t?"["+[].join.call(t,"+")+"]":""}function ha(t,e,r){return{name:t,primKey:e,indexes:r,mappedClass:null,idxByName:ks(r,n=>[n.name,n])}}function Qf(t){return t.length===1?t[0]:t}var rn=t=>{try{return t.only([[]]),rn=()=>[[]],[[]]}catch{return rn=()=>Ht,Ht}};function go(t){return t==null?()=>{}:typeof t=="string"?qf(t):e=>nt(e,t)}function qf(t){return t.split(".").length===1?r=>r[t]:r=>nt(r,t)}function pa(t){return[].slice.call(t)}var Yf=0;function nn(t){return t==null?":id":typeof t=="string"?t:`[${t.join("+")}]`}function Jf(t,e,r){function n(d,f){let c=pa(d.objectStoreNames);return{schema:{name:d.name,tables:c.map(y=>f.objectStore(y)).map(y=>{let{keyPath:w,autoIncrement:x}=y,b=Te(w),h=w==null,_={},p={name:y.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:h,compound:b,keyPath:w,autoIncrement:x,unique:!0,extractKey:go(w)},indexes:pa(y.indexNames).map(m=>y.index(m)).map(m=>{let{name:v,unique:g,multiEntry:j,keyPath:C}=m,S=Te(C),E={name:v,compound:S,keyPath:C,unique:g,multiEntry:j,extractKey:go(C)};return _[nn(C)]=E,E}),getIndexByKeyPath:m=>_[nn(m)]};return _[":id"]=p.primaryKey,w!=null&&(_[nn(w)]=p.primaryKey),p})},hasGetAll:c.length>0&&"getAll"in f.objectStore(c[0])&&!(typeof navigator!="undefined"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}function i(d){if(d.type===3)return null;if(d.type===4)throw new Error("Cannot convert never type to IDBKeyRange");let{lower:f,upper:c,lowerOpen:y,upperOpen:w}=d;return f===void 0?c===void 0?null:e.upperBound(c,!!w):c===void 0?e.lowerBound(f,!!y):e.bound(f,c,!!y,!!w)}function o(d){let f=d.name;function c({trans:x,type:b,keys:h,values:_,range:p}){return new Promise((m,v)=>{m=se(m);let g=x.objectStore(f),j=g.keyPath==null,C=b==="put"||b==="add";if(!C&&b!=="delete"&&b!=="deleteRange")throw new Error("Invalid operation type: "+b);let{length:S}=h||_||{length:1};if(h&&_&&h.length!==_.length)throw new Error("Given keys array must have same length as given values array.");if(S===0)return m({numFailures:0,failures:{},results:[],lastResult:void 0});let E,P=[],L=[],k=0,z=Q=>{++k,en(Q)};if(b==="deleteRange"){if(p.type===4)return m({numFailures:k,failures:L,results:[],lastResult:void 0});p.type===3?P.push(E=g.clear()):P.push(E=g.delete(i(p)))}else{let[Q,Z]=C?j?[_,h]:[_,null]:[h,null];if(C)for(let A=0;A{let Z=Q.target.result;P.forEach((A,F)=>A.error!=null&&(L[F]=A.error)),m({numFailures:k,failures:L,results:b==="delete"?h:P.map(A=>A.result),lastResult:Z})};E.onerror=Q=>{z(Q),J(Q)},E.onsuccess=J})}function y({trans:x,values:b,query:h,reverse:_,unique:p}){return new Promise((m,v)=>{m=se(m);let{index:g,range:j}=h,C=x.objectStore(f),S=g.isPrimaryKey?C:C.index(g.name),E=_?p?"prevunique":"prev":p?"nextunique":"next",P=b||!("openKeyCursor"in S)?S.openCursor(i(j),E):S.openKeyCursor(i(j),E);P.onerror=Xe(v),P.onsuccess=se(L=>{let k=P.result;if(!k){m(null);return}k.___id=++Yf,k.done=!1;let z=k.continue.bind(k),J=k.continuePrimaryKey;J&&(J=J.bind(k));let Q=k.advance.bind(k),Z=()=>{throw new Error("Cursor not started")},A=()=>{throw new Error("Cursor not stopped")};k.trans=x,k.stop=k.continue=k.continuePrimaryKey=k.advance=Z,k.fail=se(v),k.next=function(){let F=1;return this.start(()=>F--?this.continue():this.stop()).then(()=>this)},k.start=F=>{let D=new Promise((O,X)=>{O=se(O),P.onerror=Xe(X),k.fail=X,k.stop=le=>{k.stop=k.continue=k.continuePrimaryKey=k.advance=A,O(le)}}),N=()=>{if(P.result)try{F()}catch(O){k.fail(O)}else k.done=!0,k.start=()=>{throw new Error("Cursor behind last entry")},k.stop()};return P.onsuccess=se(O=>{P.onsuccess=N,N()}),k.continue=z,k.continuePrimaryKey=J,k.advance=Q,N(),D},m(k)},v)})}function w(x){return b=>new Promise((h,_)=>{h=se(h);let{trans:p,values:m,limit:v,query:g}=b,j=v===1/0?void 0:v,{index:C,range:S}=g,E=p.objectStore(f),P=C.isPrimaryKey?E:E.index(C.name),L=i(S);if(v===0)return h({result:[]});if(x){let k=m?P.getAll(L,j):P.getAllKeys(L,j);k.onsuccess=z=>h({result:z.target.result}),k.onerror=Xe(_)}else{let k=0,z=m||!("openKeyCursor"in P)?P.openCursor(L):P.openKeyCursor(L),J=[];z.onsuccess=Q=>{let Z=z.result;if(!Z)return h({result:J});if(J.push(m?Z.value:Z.primaryKey),++k===v)return h({result:J});Z.continue()},z.onerror=Xe(_)}})}return{name:f,schema:d,mutate:c,getMany({trans:x,keys:b}){return new Promise((h,_)=>{h=se(h);let p=x.objectStore(f),m=b.length,v=new Array(m),g=0,j=0,C,S=P=>{let L=P.target;(v[L._pos]=L.result)!=null,++j===g&&h(v)},E=Xe(_);for(let P=0;P{h=se(h);let m=x.objectStore(f).get(b);m.onsuccess=v=>h(v.target.result),m.onerror=Xe(_)})},query:w(a),openCursor:y,count({query:x,trans:b}){let{index:h,range:_}=x;return new Promise((p,m)=>{let v=b.objectStore(f),g=h.isPrimaryKey?v:v.index(h.name),j=i(_),C=j?g.count(j):g.count();C.onsuccess=se(S=>p(S.target.result)),C.onerror=Xe(m)})}}}let{schema:s,hasGetAll:a}=n(t,r),l=s.tables.map(d=>o(d)),u={};return l.forEach(d=>u[d.name]=d),{stack:"dbcore",transaction:t.transaction.bind(t),table(d){if(!u[d])throw new Error(`Table '${d}' not found`);return u[d]},MIN_KEY:-1/0,MAX_KEY:rn(e),schema:s}}function Xf(t,e){return e.reduce((r,{create:n})=>ue(ue({},r),n(r)),t)}function Zf(t,e,{IDBKeyRange:r,indexedDB:n},i){return{dbcore:Xf(Jf(e,r,i),t.dbcore)}}function yo({_novip:t},e){let r=e.db,n=Zf(t._middlewares,r,t._deps,e);t.core=n.dbcore,t.tables.forEach(i=>{let o=i.name;t.core.schema.tables.some(s=>s.name===o)&&(i.core=t.core.table(o),t[o]instanceof t.Table&&(t[o].core=i.core))})}function Wn({_novip:t},e,r,n){r.forEach(i=>{let o=n[i];e.forEach(s=>{let a=Ni(s,i);(!a||"value"in a&&a.value===void 0)&&(s===t.Transaction.prototype||s instanceof t.Transaction?rt(s,i,{get(){return this.table(i)},set(l){Ts(this,i,{value:l,writable:!0,configurable:!0,enumerable:!0})}}):s[i]=new t.Table(i,o))})})}function vo({_novip:t},e){e.forEach(r=>{for(let n in r)r[n]instanceof t.Table&&delete r[n]})}function ed(t,e){return t._cfg.version-e._cfg.version}function td(t,e,r,n){let i=t._dbSchema,o=t._createTransaction("readwrite",t._storeNames,i);o.create(r),o._completion.catch(n);let s=o._reject.bind(o),a=K.transless||K;yt(()=>{K.trans=o,K.transless=a,e===0?(he(i).forEach(l=>{_o(r,l,i[l].primKey,i[l].indexes)}),yo(t,r),M.follow(()=>t.on.populate.fire(o)).catch(s)):rd(t,e,o,r).catch(s)})}function rd({_novip:t},e,r,n){let i=[],o=t._versions,s=t._dbSchema=xo(t,t.idbdb,n),a=!1;o.filter(d=>d._cfg.version>=e).forEach(d=>{i.push(()=>{let f=s,c=d._cfg.dbschema;wo(t,f,n),wo(t,c,n),s=t._dbSchema=c;let y=ma(f,c);y.add.forEach(x=>{_o(n,x[0],x[1].primKey,x[1].indexes)}),y.change.forEach(x=>{if(x.recreate)throw new V.Upgrade("Not yet support for changing primary key");{let b=n.objectStore(x.name);x.add.forEach(h=>bo(b,h)),x.change.forEach(h=>{b.deleteIndex(h.name),bo(b,h)}),x.del.forEach(h=>b.deleteIndex(h))}});let w=d._cfg.contentUpgrade;if(w&&d._cfg.version>e){yo(t,n),r._memoizedTables={},a=!0;let x=Ps(c);y.del.forEach(p=>{x[p]=f[p]}),vo(t,[t.Transaction.prototype]),Wn(t,[t.Transaction.prototype],he(x),x),r.schema=x;let b=Hi(w);b&&dr();let h,_=M.follow(()=>{if(h=w(r),h&&b){var p=ot.bind(null,null);h.then(p,p)}});return h&&typeof h.then=="function"?M.resolve(h):_.then(()=>h)}}),i.push(f=>{if(!a||!Pf){let c=d._cfg.dbschema;id(c,f)}vo(t,[t.Transaction.prototype]),Wn(t,[t.Transaction.prototype],t._storeNames,t._dbSchema),r.schema=t._dbSchema})});function u(){return i.length?M.resolve(i.shift()(r.idbtrans)).then(u):M.resolve()}return u().then(()=>{nd(s,n)})}function ma(t,e){let r={del:[],add:[],change:[]},n;for(n in t)e[n]||r.del.push(n);for(n in e){let i=t[n],o=e[n];if(!i)r.add.push([n,o]);else{let s={name:n,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(o.primKey.keyPath||"")||i.primKey.auto!==o.primKey.auto&&!Nn)s.recreate=!0,r.change.push(s);else{let a=i.idxByName,l=o.idxByName,u;for(u in a)l[u]||s.del.push(u);for(u in l){let d=a[u],f=l[u];d?d.src!==f.src&&s.change.push(f):s.add.push(f)}(s.del.length>0||s.add.length>0||s.change.length>0)&&r.change.push(s)}}}return r}function _o(t,e,r,n){let i=t.db.createObjectStore(e,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(o=>bo(i,o)),i}function nd(t,e){he(t).forEach(r=>{e.db.objectStoreNames.contains(r)||_o(e,r,t[r].primKey,t[r].indexes)})}function id(t,e){[].slice.call(e.db.objectStoreNames).forEach(r=>t[r]==null&&e.db.deleteObjectStore(r))}function bo(t,e){t.createIndex(e.name,e.keyPath,{unique:e.unique,multiEntry:e.multi})}function xo(t,e,r){let n={};return An(e.objectStoreNames,0).forEach(o=>{let s=r.objectStore(o),a=s.keyPath,l=mo(da(a),a||"",!1,!1,!!s.autoIncrement,a&&typeof a!="string",!0),u=[];for(let f=0;fi.add.length||i.change.length))}function wo({_novip:t},e,r){let n=r.db.objectStoreNames;for(let i=0;i{e=e.trim();let n=e.replace(/([&*]|\+\+)/g,""),i=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return mo(n,i||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),Te(i),r===0)})}var ga=class{_parseStoresSpec(e,r){he(e).forEach(n=>{if(e[n]!==null){var i=ad(e[n]),o=i.shift();if(o.multi)throw new V.Schema("Primary key cannot be multi-valued");i.forEach(s=>{if(s.auto)throw new V.Schema("Only primary key can be marked as autoIncrement (++)");if(!s.keyPath)throw new V.Schema("Index must have a name and cannot be an empty string")}),r[n]=ha(n,o,i)}})}stores(e){let r=this.db;this._cfg.storesSource=this._cfg.storesSource?Pe(this._cfg.storesSource,e):e;let n=r._versions,i={},o={};return n.forEach(s=>{Pe(i,s._cfg.storesSource),o=s._cfg.dbschema={},s._parseStoresSpec(i,o)}),r._dbSchema=o,vo(r,[r._allTables,r,r.Transaction.prototype]),Wn(r,[r._allTables,r,r.Transaction.prototype,this._cfg.tables],he(o),o),r._storeNames=he(o),this}upgrade(e){return this._cfg.contentUpgrade=Gi(this._cfg.contentUpgrade||ne,e),this}};function ld(t){return Zr(ga.prototype,function(r){this.db=t,this._cfg={version:r,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}function jo(t,e){let r=t._dbNamesDB;return r||(r=t._dbNamesDB=new lt(Kn,{addons:[],indexedDB:t,IDBKeyRange:e}),r.version(1).stores({dbnames:"name"})),r.table("dbnames")}function Co(t){return t&&typeof t.databases=="function"}function ud({indexedDB:t,IDBKeyRange:e}){return Co(t)?Promise.resolve(t.databases()).then(r=>r.map(n=>n.name).filter(n=>n!==Kn)):jo(t,e).toCollection().primaryKeys()}function cd({indexedDB:t,IDBKeyRange:e},r){!Co(t)&&r!==Kn&&jo(t,e).put({name:r}).catch(ne)}function fd({indexedDB:t,IDBKeyRange:e},r){!Co(t)&&r!==Kn&&jo(t,e).delete(r).catch(ne)}function Ao(t){return yt(function(){return K.letThrough=!0,t()})}function dd(){var t=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);if(!t||!indexedDB.databases)return Promise.resolve();var e;return new Promise(function(r){var n=function(){return indexedDB.databases().finally(r)};e=setInterval(n,100),n()}).finally(function(){return clearInterval(e)})}function hd(t){let e=t._state,{indexedDB:r}=t._deps;if(e.isBeingOpened||t.idbdb)return e.dbReadyPromise.then(()=>e.dbOpenError?ye(e.dbOpenError):t);Je&&(e.openCanceller._stackHolder=Nt()),e.isBeingOpened=!0,e.dbOpenError=null,e.openComplete=!1;let n=e.openCanceller;function i(){if(e.openCanceller!==n)throw new V.DatabaseClosed("db.open() was cancelled")}let o=e.dbReadyResolve,s=null,a=!1;return M.race([n,(typeof navigator=="undefined"?M.resolve():dd()).then(()=>new M((l,u)=>{if(i(),!r)throw new V.MissingAPI;let d=t.name,f=e.autoSchema?r.open(d):r.open(d,Math.round(t.verno*10));if(!f)throw new V.MissingAPI;f.onerror=Xe(u),f.onblocked=se(t._fireOnBlocked),f.onupgradeneeded=se(c=>{if(s=f.transaction,e.autoSchema&&!t._options.allowEmptyDB){f.onerror=en,s.abort(),f.result.close();let w=r.deleteDatabase(d);w.onsuccess=w.onerror=se(()=>{u(new V.NoSuchDatabase(`Database ${d} doesnt exist`))})}else{s.onerror=Xe(u);var y=c.oldVersion>Math.pow(2,62)?0:c.oldVersion;a=y<1,t._novip.idbdb=f.result,td(t,y/10,s,u)}},u),f.onsuccess=se(()=>{s=null;let c=t._novip.idbdb=f.result,y=An(c.objectStoreNames);if(y.length>0)try{let w=c.transaction(Qf(y),"readonly");e.autoSchema?od(t,c,w):(wo(t,t._dbSchema,w),sd(t,w)||console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),yo(t,w)}catch{}Jr.push(t),c.onversionchange=se(w=>{e.vcFired=!0,t.on("versionchange").fire(w)}),c.onclose=se(w=>{t.on("close").fire(w)}),a&&cd(t._deps,d),l()},u)}))]).then(()=>(i(),e.onReadyBeingFired=[],M.resolve(Ao(()=>t.on.ready.fire(t.vip))).then(function l(){if(e.onReadyBeingFired.length>0){let u=e.onReadyBeingFired.reduce(Gi,ne);return e.onReadyBeingFired=[],M.resolve(Ao(()=>u(t.vip))).then(l)}}))).finally(()=>{e.onReadyBeingFired=null,e.isBeingOpened=!1}).then(()=>t).catch(l=>{e.dbOpenError=l;try{s&&s.abort()}catch{}return n===e.openCanceller&&t._close(),ye(l)}).finally(()=>{e.openComplete=!0,o()})}function So(t){var e=s=>t.next(s),r=s=>t.throw(s),n=o(e),i=o(r);function o(s){return a=>{var l=s(a),u=l.value;return l.done?u:!u||typeof u.then!="function"?Te(u)?Promise.all(u).then(n,i):n(u):u.then(n,i)}}return o(e)()}function pd(t,e,r){var n=arguments.length;if(n<2)throw new V.InvalidArgument("Too few arguments");for(var i=new Array(n-1);--n;)i[n-1]=arguments[n];r=i.pop();var o=Ms(i);return[t,o,r]}function ya(t,e,r,n,i){return M.resolve().then(()=>{let o=K.transless||K,s=t._createTransaction(e,r,t._dbSchema,n),a={trans:s,transless:o};if(n)s.idbtrans=n.idbtrans;else try{s.create(),t._state.PR1398_maxLoop=3}catch(f){return f.name===Ui.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>ya(t,e,r,null,i))):ye(f)}let l=Hi(i);l&&dr();let u,d=M.follow(()=>{if(u=i.call(s,s),u)if(l){var f=ot.bind(null,null);u.then(f,f)}else typeof u.next=="function"&&typeof u.throw=="function"&&(u=So(u))},a);return(u&&typeof u.then=="function"?M.resolve(u).then(f=>s.active?f:ye(new V.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):d.then(()=>u)).then(f=>(n&&s._resolve(),s._completion.then(()=>f))).catch(f=>(s._reject(f),ye(f)))})}function Un(t,e,r){let n=Te(t)?t.slice():[t];for(let i=0;i0,p=Oe(ue({},w),{isVirtual:_,keyTail:y,keyLength:h,extractKey:go(c),unique:!_&&w.unique});if(b.push(p),p.isPrimaryKey||o.push(p),h>1){let m=h===2?c[0]:c.slice(0,h-1);s(m,y+1,w)}return b.sort((m,v)=>m.keyTail-v.keyTail),p}let a=s(n.primaryKey.keyPath,0,n.primaryKey);i[":id"]=[a];for(let c of n.indexes)s(c.keyPath,0,c);function l(c){let y=i[nn(c)];return y&&y[0]}function u(c,y){return{type:c.type===1?2:c.type,lower:Un(c.lower,c.lowerOpen?t.MAX_KEY:t.MIN_KEY,y),lowerOpen:!0,upper:Un(c.upper,c.upperOpen?t.MIN_KEY:t.MAX_KEY,y),upperOpen:!0}}function d(c){let y=c.query.index;return y.isVirtual?Oe(ue({},c),{query:{index:y,range:u(c.query.range,y.keyTail)}}):c}return Oe(ue({},r),{schema:Oe(ue({},n),{primaryKey:a,indexes:o,getIndexByKeyPath:l}),count(c){return r.count(d(c))},query(c){return r.query(d(c))},openCursor(c){let{keyTail:y,isVirtual:w,keyLength:x}=c.query.index;if(!w)return r.openCursor(c);function b(h){function _(m){m!=null?h.continue(Un(m,c.reverse?t.MAX_KEY:t.MIN_KEY,y)):c.unique?h.continue(h.key.slice(0,x).concat(c.reverse?t.MIN_KEY:t.MAX_KEY,y)):h.continue()}return Object.create(h,{continue:{value:_},continuePrimaryKey:{value(m,v){h.continuePrimaryKey(Un(m,t.MAX_KEY,y),v)}},primaryKey:{get(){return h.primaryKey}},key:{get(){let m=h.key;return x===1?m[0]:m.slice(0,x)}},value:{get(){return h.value}}})}return r.openCursor(d(c)).then(h=>h&&b(h))}})}})}var gd={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:md};function Fo(t,e,r,n){return r=r||{},n=n||"",he(t).forEach(i=>{if(!Ve(e,i))r[n+i]=void 0;else{var o=t[i],s=e[i];if(typeof o=="object"&&typeof s=="object"&&o&&s){let a=zi(o),l=zi(s);a!==l?r[n+i]=e[i]:a==="Object"?Fo(o,s,r,n+i+"."):o!==s&&(r[n+i]=e[i])}else o!==s&&(r[n+i]=e[i])}}),he(e).forEach(i=>{Ve(t,i)||(r[n+i]=e[i])}),r}function yd(t,e){return e.type==="delete"?e.keys:e.keys||e.values.map(t.extractKey)}var vd={stack:"dbcore",name:"HooksMiddleware",level:2,create:t=>Oe(ue({},t),{table(e){let r=t.table(e),{primaryKey:n}=r.schema;return Oe(ue({},r),{mutate(o){let s=K.trans,{deleting:a,creating:l,updating:u}=s.table(e).hook;switch(o.type){case"add":if(l.fire===ne)break;return s._promise("readwrite",()=>d(o),!0);case"put":if(l.fire===ne&&u.fire===ne)break;return s._promise("readwrite",()=>d(o),!0);case"delete":if(a.fire===ne)break;return s._promise("readwrite",()=>d(o),!0);case"deleteRange":if(a.fire===ne)break;return s._promise("readwrite",()=>f(o),!0)}return r.mutate(o);function d(y){let w=K.trans,x=y.keys||yd(n,y);if(!x)throw new Error("Keys missing");return y=y.type==="add"||y.type==="put"?Oe(ue({},y),{keys:x}):ue({},y),y.type!=="delete"&&(y.values=[...y.values]),y.keys&&(y.keys=[...y.keys]),_d(r,y,x).then(b=>{let h=x.map((_,p)=>{let m=b[p],v={onerror:null,onsuccess:null};if(y.type==="delete")a.fire.call(v,_,m,w);else if(y.type==="add"||m===void 0){let g=l.fire.call(v,_,y.values[p],w);_==null&&g!=null&&(_=g,y.keys[p]=_,n.outbound||Qe(y.values[p],n.keyPath,_))}else{let g=Fo(m,y.values[p]),j=u.fire.call(v,g,_,m,w);if(j){let C=y.values[p];Object.keys(j).forEach(S=>{Ve(C,S)?C[S]=j[S]:Qe(C,S,j[S])})}}return v});return r.mutate(y).then(({failures:_,results:p,numFailures:m,lastResult:v})=>{for(let g=0;g(h.forEach(p=>p.onerror&&p.onerror(_)),Promise.reject(_)))})}function f(y){return c(y.trans,y.range,1e4)}function c(y,w,x){return r.query({trans:y,values:!1,query:{index:n,range:w},limit:x}).then(({result:b})=>d({type:"delete",keys:b,trans:y}).then(h=>h.numFailures>0?Promise.reject(h.failures[0]):b.length({table:e=>{let r=t.table(e);return Oe(ue({},r),{getMany:n=>{if(!n.cache)return r.getMany(n);let i=va(n.keys,n.trans._cache,n.cache==="clone");return i?M.resolve(i):r.getMany(n).then(o=>(n.trans._cache={keys:n.keys,values:n.cache==="clone"?Hr(o):o},o))},mutate:n=>(n.type!=="add"&&(n.trans._cache=null),r.mutate(n))})}})};function Eo(t){return!("from"in t)}var at=function(t,e){if(this)Pe(this,arguments.length?{d:1,from:t,to:arguments.length>1?e:t}:{d:0});else{let r=new at;return t&&"d"in t&&Pe(r,t),r}};ar(at.prototype,{add(t){return Gn(this,t),this},addKey(t){return on(this,t,t),this},addKeys(t){return t.forEach(e=>on(this,e,e)),this},[Vi](){return Do(this)}});function on(t,e,r){let n=Me(e,r);if(isNaN(n))return;if(n>0)throw RangeError();if(Eo(t))return Pe(t,{from:e,to:r,d:1});let i=t.l,o=t.r;if(Me(r,t.from)<0)return i?on(i,e,r):t.l={from:e,to:r,d:1,l:null,r:null},_a(t);if(Me(e,t.to)>0)return o?on(o,e,r):t.r={from:e,to:r,d:1,l:null,r:null},_a(t);Me(e,t.from)<0&&(t.from=e,t.l=null,t.d=o?o.d+1:1),Me(r,t.to)>0&&(t.to=r,t.r=null,t.d=t.l?t.l.d+1:1);let s=!t.r;i&&!t.l&&Gn(t,i),o&&s&&Gn(t,o)}function Gn(t,e){function r(n,{from:i,to:o,l:s,r:a}){on(n,i,o),s&&r(n,s),a&&r(n,a)}Eo(e)||r(t,e)}function xd(t,e){let r=Do(e),n=r.next();if(n.done)return!1;let i=n.value,o=Do(t),s=o.next(i.from),a=s.value;for(;!n.done&&!s.done;){if(Me(a.from,i.to)<=0&&Me(a.to,i.from)>=0)return!0;Me(i.from,a.from)<0?i=(n=r.next(a.from)).value:a=(s=o.next(i.from)).value}return!1}function Do(t){let e=Eo(t)?null:{s:0,n:t};return{next(r){let n=arguments.length>0;for(;e;)switch(e.s){case 0:if(e.s=1,n)for(;e.n.l&&Me(r,e.n.from)<0;)e={up:e,n:e.n.l,s:1};else for(;e.n.l;)e={up:e,n:e.n.l,s:1};case 1:if(e.s=2,!n||Me(r,e.n.to)<=0)return{value:e.n,done:!1};case 2:if(e.n.r){e.s=3,e={up:e,n:e.n.r,s:0};continue}case 3:e=e.up}return{done:!0}}}}function _a(t){var e,r;let n=(((e=t.r)===null||e===void 0?void 0:e.d)||0)-(((r=t.l)===null||r===void 0?void 0:r.d)||0),i=n>1?"r":n<-1?"l":"";if(i){let o=i==="r"?"l":"r",s=ue({},t),a=t[i];t.from=a.from,t.to=a.to,t[i]=a[i],s[i]=a[o],t[o]=s,s.d=ba(s)}t.d=ba(t)}function ba({r:t,l:e}){return(t?e?Math.max(t.d,e.d):t.d:e?e.d:0)+1}var wd={stack:"dbcore",level:0,create:t=>{let e=t.schema.name,r=new at(t.MIN_KEY,t.MAX_KEY);return Oe(ue({},t),{table:n=>{let i=t.table(n),{schema:o}=i,{primaryKey:s}=o,{extractKey:a,outbound:l}=s,u=Oe(ue({},i),{mutate:c=>{let y=c.trans,w=y.mutatedParts||(y.mutatedParts={}),x=g=>{let j=`idb://${e}/${n}/${g}`;return w[j]||(w[j]=new at)},b=x(""),h=x(":dels"),{type:_}=c,[p,m]=c.type==="deleteRange"?[c.range]:c.type==="delete"?[c.keys]:c.values.length<50?[[],c.values]:[],v=c.trans._cache;return i.mutate(c).then(g=>{if(Te(p)){_!=="delete"&&(p=g.results),b.addKeys(p);let j=va(p,v);!j&&_!=="add"&&h.addKeys(p),(j||m)&&jd(x,o,j,m)}else if(p){let j={from:p.lower,to:p.upper};h.add(j),b.add(j)}else b.add(r),h.add(r),o.indexes.forEach(j=>x(j.name).add(r));return g})}}),d=({query:{index:c,range:y}})=>{var w,x;return[c,new at((w=y.lower)!==null&&w!==void 0?w:t.MIN_KEY,(x=y.upper)!==null&&x!==void 0?x:t.MAX_KEY)]},f={get:c=>[s,new at(c.key)],getMany:c=>[s,new at().addKeys(c.keys)],count:d,query:d,openCursor:d};return he(f).forEach(c=>{u[c]=function(y){let{subscr:w}=K;if(w){let x=m=>{let v=`idb://${e}/${n}/${m}`;return w[v]||(w[v]=new at)},b=x(""),h=x(":dels"),[_,p]=f[c](y);if(x(_.name||"").add(p),!_.isPrimaryKey)if(c==="count")h.add(r);else{let m=c==="query"&&l&&y.values&&i.query(Oe(ue({},y),{values:!1}));return i[c].apply(this,arguments).then(v=>{if(c==="query"){if(l&&y.values)return m.then(({result:j})=>(b.addKeys(j),v));let g=y.values?v.result.map(a):v.result;y.values?b.addKeys(g):h.addKeys(g)}else if(c==="openCursor"){let g=v,j=y.values;return g&&Object.create(g,{key:{get(){return h.addKey(g.primaryKey),g.key}},primaryKey:{get(){let C=g.primaryKey;return h.addKey(C),C}},value:{get(){return j&&b.addKey(g.primaryKey),g.value}}})}return v})}}return i[c].apply(this,arguments)}}),u}})}};function jd(t,e,r,n){function i(o){let s=t(o.name||"");function a(u){return u!=null?o.extractKey(u):null}let l=u=>o.multiEntry&&Te(u)?u.forEach(d=>s.addKey(d)):s.addKey(u);(r||n).forEach((u,d)=>{let f=r&&a(r[d]),c=n&&a(n[d]);Me(f,c)!==0&&(f!=null&&l(f),c!=null&&l(c))})}e.indexes.forEach(i)}var lt=class{constructor(e,r){this._middlewares={},this.verno=0;let n=lt.dependencies;this._options=r=ue({addons:lt.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange},r),this._deps={indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange};let{addons:i}=r;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ne,dbReadyPromise:null,cancelOpen:ne,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};o.dbReadyPromise=new M(s=>{o.dbReadyResolve=s}),o.openCanceller=new M((s,a)=>{o.cancelOpen=a}),this._state=o,this.name=e,this.on=Xr(this,"populate","blocked","versionchange","close",{ready:[Gi,ne]}),this.on.ready.subscribe=Is(this.on.ready.subscribe,s=>(a,l)=>{lt.vip(()=>{let u=this._state;if(u.openComplete)u.dbOpenError||M.resolve().then(a),l&&s(a);else if(u.onReadyBeingFired)u.onReadyBeingFired.push(a),l&&s(a);else{s(a);let d=this;l||s(function f(){d.on.ready.unsubscribe(a),d.on.ready.unsubscribe(f)})}})}),this.Collection=Kf(this),this.Table=Rf(this),this.Transaction=Gf(this),this.Version=ld(this),this.WhereClause=Uf(this),this.on("versionchange",s=>{s.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()}),this.on("blocked",s=>{!s.newVersion||s.newVersionnew this.Transaction(s,a,l,this._options.chromeTransactionDurability,u),this._fireOnBlocked=s=>{this.on("blocked").fire(s),Jr.filter(a=>a.name===this.name&&a!==this&&!a._state.vcFired).map(a=>a.on("versionchange").fire(s))},this.use(gd),this.use(vd),this.use(wd),this.use(bd),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach(s=>s(this))}version(e){if(isNaN(e)||e<.1)throw new V.Type("Given version is not a positive number");if(e=Math.round(e*10)/10,this.idbdb||this._state.isBeingOpened)throw new V.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let r=this._versions;var n=r.filter(i=>i._cfg.version===e)[0];return n||(n=new this.Version(e),r.push(n),r.sort(ed),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||K.letThrough||this._vip)?e():new M((r,n)=>{if(this._state.openComplete)return n(new V.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen){n(new V.DatabaseClosed);return}this.open().catch(ne)}this._state.dbReadyPromise.then(r,n)}).then(e)}use({stack:e,create:r,level:n,name:i}){i&&this.unuse({stack:e,name:i});let o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:r,level:n??10,name:i}),o.sort((s,a)=>s.level-a.level),this}unuse({stack:e,name:r,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(i=>n?i.create!==n:r?i.name!==r:!1)),this}open(){return hd(this)}_close(){let e=this._state,r=Jr.indexOf(this);if(r>=0&&Jr.splice(r,1),this.idbdb){try{this.idbdb.close()}catch{}this._novip.idbdb=null}e.dbReadyPromise=new M(n=>{e.dbReadyResolve=n}),e.openCanceller=new M((n,i)=>{e.cancelOpen=i})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new V.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,r=this._state;return new M((n,i)=>{let o=()=>{this.close();var s=this._deps.indexedDB.deleteDatabase(this.name);s.onsuccess=se(()=>{fd(this._deps,this.name),n()}),s.onerror=Xe(i),s.onblocked=this._fireOnBlocked};if(e)throw new V.InvalidArgument("Arguments not allowed in db.delete()");r.isBeingOpened?r.dbReadyPromise.then(o):o()})}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name==="DatabaseClosed"}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return he(this._allTables).map(e=>this._allTables[e])}transaction(){let e=pd.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,r,n){let i=K.trans;(!i||i.db!==this||e.indexOf("!")!==-1)&&(i=null);let o=e.indexOf("?")!==-1;e=e.replace("!","").replace("?","");let s,a;try{if(a=r.map(u=>{var d=u instanceof this.Table?u.name:u;if(typeof d!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return d}),e=="r"||e===lo)s=lo;else if(e=="rw"||e==uo)s=uo;else throw new V.InvalidArgument("Invalid transaction mode: "+e);if(i){if(i.mode===lo&&s===uo)if(o)i=null;else throw new V.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i&&a.forEach(u=>{if(i&&i.storeNames.indexOf(u)===-1)if(o)i=null;else throw new V.SubTransaction("Table "+u+" not included in parent transaction.")}),o&&i&&!i.active&&(i=null)}}catch(u){return i?i._promise(null,(d,f)=>{f(u)}):ye(u)}let l=ya.bind(null,this,s,a,i,n);return i?i._promise(s,l,"lock"):K.trans?hr(K.transless,()=>this._whenReady(l)):this._whenReady(l)}table(e){if(!Ve(this._allTables,e))throw new V.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},Cd=typeof Symbol!="undefined"&&"observable"in Symbol?Symbol.observable:"@@observable",xa=class{constructor(e){this._subscribe=e}subscribe(e,r,n){return this._subscribe(!e||typeof e=="function"?{next:e,error:r,complete:n}:e)}[Cd](){return this}};function wa(t,e){return he(e).forEach(r=>{let n=t[r]||(t[r]=new at);Gn(n,e[r])}),t}function Ad(t){return new xa(e=>{let r=Hi(t);function n(y){r&&dr();let w=()=>yt(t,{subscr:y,trans:null}),x=K.trans?hr(K.transless,w):w();return r&&x.then(ot,ot),x}let i=!1,o={},s={},a={get closed(){return i},unsubscribe:()=>{i=!0,xt.storagemutated.unsubscribe(f)}};e.start&&e.start(a);let l=!1,u=!1;function d(){return he(s).some(y=>o[y]&&xd(o[y],s[y]))}let f=y=>{wa(o,y),d()&&c()},c=()=>{if(l||i)return;o={};let y={},w=n(y);u||(xt(tn,f),u=!0),l=!0,Promise.resolve(w).then(x=>{l=!1,!i&&(d()?c():(o={},s=y,e.next&&e.next(x)))},x=>{l=!1,e.error&&e.error(x),a.unsubscribe()})};return c(),a})}var To;try{To={indexedDB:ie.indexedDB||ie.mozIndexedDB||ie.webkitIndexedDB||ie.msIndexedDB,IDBKeyRange:ie.IDBKeyRange||ie.webkitIDBKeyRange}}catch{To={indexedDB:null,IDBKeyRange:null}}var Wt=lt;ar(Wt,Oe(ue({},Fn),{delete(t){return new Wt(t,{addons:[]}).delete()},exists(t){return new Wt(t,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1)},getDatabaseNames(t){try{return ud(Wt.dependencies).then(t)}catch{return ye(new V.MissingAPI)}},defineClass(){function t(e){Pe(this,e)}return t},ignoreTransaction(t){return K.trans?hr(K.transless,t):t()},vip:Ao,async:function(t){return function(){try{var e=So(t.apply(this,arguments));return!e||typeof e.then!="function"?M.resolve(e):e}catch(r){return ye(r)}}},spawn:function(t,e,r){try{var n=So(t.apply(r,e||[]));return!n||typeof n.then!="function"?M.resolve(n):n}catch(i){return ye(i)}},currentTransaction:{get:()=>K.trans||null},waitFor:function(t,e){let r=M.resolve(typeof t=="function"?Wt.ignoreTransaction(t):t).timeout(e||6e4);return K.trans?K.trans.waitFor(r):r},Promise:M,debug:{get:()=>Je,set:t=>{Ls(t,t==="dexie"?()=>!0:ra)}},derive:lr,extend:Pe,props:ar,override:Is,Events:Xr,on:xt,liveQuery:Ad,extendObservabilitySet:wa,getByKeyPath:nt,setByKeyPath:Qe,delByKeyPath:lf,shallowClone:Ps,deepClone:Hr,getObjectDiff:Fo,cmp:Me,asap:Os,minKey:ao,addons:[],connections:Jr,errnames:Ui,dependencies:To,semVer:ea,version:ea.split(".").map(t=>parseInt(t)).reduce((t,e,r)=>t+e/Math.pow(10,r*2))}));Wt.maxKey=rn(Wt.dependencies.IDBKeyRange);typeof dispatchEvent!="undefined"&&typeof addEventListener!="undefined"&&(xt(tn,t=>{if(!ut){let e;Nn?(e=document.createEvent("CustomEvent"),e.initCustomEvent(bt,!0,!0,t)):e=new CustomEvent(bt,{detail:t}),ut=!0,dispatchEvent(e),ut=!1}}),addEventListener(bt,({detail:t})=>{ut||Qn(t)}));function Qn(t){let e=ut;try{ut=!0,xt.storagemutated.fire(t)}finally{ut=e}}var ut=!1;if(typeof BroadcastChannel!="undefined"){let t=new BroadcastChannel(bt);xt(tn,e=>{ut||t.postMessage(e)}),t.onmessage=e=>{e.data&&Qn(e.data)}}else if(typeof self!="undefined"&&typeof navigator!="undefined"){xt(tn,e=>{try{ut||(typeof localStorage!="undefined"&&localStorage.setItem(bt,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients=="object"&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(r=>r.postMessage({type:bt,changedParts:e})))}catch{}}),typeof addEventListener!="undefined"&&addEventListener("storage",e=>{if(e.key===bt){let r=JSON.parse(e.newValue);r&&Qn(r.changedParts)}});let t=self.document&&navigator.serviceWorker;t&&t.addEventListener("message",Sd)}function Sd({data:t}){t&&t.type===bt&&Qn(t.changedParts)}M.rejectionMapper=yf;Ls(Je,ra);var Ze=class extends lt{constructor(){super(Ze.dbName);this.version(Ze.dbVersion).stores({searchHistory:"++id",minisearch:"date"})}static async clearOldDatabases(){let e=(await indexedDB.databases()).filter(r=>r.name===Ze.dbName&&r.version!==Ze.dbVersion*10);if(e.length){console.log("Omnisearch - Those IndexedDb databases will be deleted:");for(let r of e)r.name&&indexedDB.deleteDatabase(r.name)}}static getInstance(){return Ze.instance||(Ze.instance=new Ze),Ze.instance}async clearCache(){await this.minisearch.clear()}},gr=Ze;gr.dbVersion=8,gr.dbName="omnisearch/cache/"+app.appId;var Be=gr.getInstance();var Ut=Cn(!1),sn='Needs a restart to fully take effect.',Io=class extends Y.PluginSettingTab{constructor(e){super(app,e);this.plugin=e,Ut.subscribe(async r=>{I.showExcerpt=r,await pe(this.plugin)})}display(){let{containerEl:e}=this;if(e.empty(),app.loadLocalStorage(an)=="1"){let f=e.createEl("span");f.innerHTML='\u26A0\uFE0F OMNISEARCH IS DISABLED \u26A0\uFE0F'}e.createEl("h2",{text:"Omnisearch"});let r=e.createDiv();r.innerHTML=` Buy Me a Coffee at ko-fi.com - `,new G.Setting(e).setName("Indexing").setHeading();let n=new DocumentFragment;$e()?n.createSpan({},c=>{c.innerHTML=`\u{1F44D} You have installed Text Extractor, Omnisearch will use it to index PDFs and images. -
      Text extraction only works on desktop, but the cache can be synchronized with your mobile device.`}):n.createSpan({},c=>{c.innerHTML='\u26A0\uFE0F Omnisearch requires Text Extractor to index PDFs and images.'}),new G.Setting(e).setDesc(n);let i=new DocumentFragment;i.createSpan({},c=>{c.innerHTML="Include PDFs in search results"}),new G.Setting(e).setName(`PDFs Indexing ${$e()?"":"\u26A0\uFE0F Disabled"}`).setDesc(i).addToggle(c=>c.setValue(E.PDFIndexing).onChange(async d=>{E.PDFIndexing=d,await ue(this.plugin)})).setDisabled(!$e());let s=new DocumentFragment;s.createSpan({},c=>{c.innerHTML="Include images in search results"}),new G.Setting(e).setName(`Images Indexing ${$e()?"":"\u26A0\uFE0F Disabled"}`).setDesc(s).addToggle(c=>c.setValue(E.imagesIndexing).onChange(async d=>{E.imagesIndexing=d,await ue(this.plugin)})).setDisabled(!$e());let o=new DocumentFragment;o.createSpan({},c=>{c.innerHTML=`In addition to standard md files, Omnisearch can also index other plaintext files.
      + `,new Y.Setting(e).setName("Indexing").setHeading();let n=new DocumentFragment;et()?n.createSpan({},f=>{f.innerHTML=`\u{1F44D} You have installed Text Extractor, Omnisearch will use it to index PDFs and images. +
      Text extraction only works on desktop, but the cache can be synchronized with your mobile device.`}):n.createSpan({},f=>{f.innerHTML='\u26A0\uFE0F Omnisearch requires Text Extractor to index PDFs and images.'}),new Y.Setting(e).setDesc(n);let i=new DocumentFragment;i.createSpan({},f=>{f.innerHTML="Include PDFs in search results"}),new Y.Setting(e).setName(`PDFs Indexing ${et()?"":"\u26A0\uFE0F Disabled"}`).setDesc(i).addToggle(f=>f.setValue(I.PDFIndexing).onChange(async c=>{I.PDFIndexing=c,await pe(this.plugin)})).setDisabled(!et());let o=new DocumentFragment;o.createSpan({},f=>{f.innerHTML="Include images in search results"}),new Y.Setting(e).setName(`Images Indexing ${et()?"":"\u26A0\uFE0F Disabled"}`).setDesc(o).addToggle(f=>f.setValue(I.imagesIndexing).onChange(async c=>{I.imagesIndexing=c,await pe(this.plugin)})).setDisabled(!et());let s=new DocumentFragment;s.createSpan({},f=>{f.innerHTML=`In addition to standard md files, Omnisearch can also index other plaintext files.
      Add extensions separated by a space, without the dot. Example: "txt org".
      \u26A0\uFE0F Using extensions of non-plaintext files (like .docx or .pptx) WILL cause crashes, because Omnisearch will try to index their content.
      - Needs a restart to fully take effect.`}),new G.Setting(e).setName("Additional files to index").setDesc(o).addText(c=>{c.setValue(E.indexedFileTypes.join(" ")).setPlaceholder("Example: txt org").onChange(async d=>{E.indexedFileTypes=d.split(" "),await ue(this.plugin)})}),new G.Setting(e).setName("Behavior").setHeading(),new G.Setting(e).setName("Save index to cache").setDesc("Enable caching to speed up indexing time. In rare cases, the cache write may cause a freeze in Obsidian. This option will disable itself if it happens.").addToggle(c=>c.setValue(E.useCache).onChange(async d=>{E.useCache=d,await ue(this.plugin)})),new G.Setting(e).setName(`Respect Obsidian's "Excluded Files"`).setDesc(`By default, files that are in Obsidian's "Options > Files & Links > Excluded Files" list are downranked in results. - Enable this option to completely hide them`).addToggle(c=>c.setValue(E.hideExcluded).onChange(async d=>{E.hideExcluded=d,await ue(this.plugin)}));let a=new DocumentFragment;a.createSpan({},c=>{c.innerHTML=`Normalize diacritics in search terms. Words like "br\xFBl\xE9e" or "\u017Elu\u0165ou\u010Dk\xFD" will be indexed as "brulee" and "zlutoucky".
      + ${sn}`}),new Y.Setting(e).setName("Additional files to index").setDesc(s).addText(f=>{f.setValue(I.indexedFileTypes.join(" ")).setPlaceholder("Example: txt org").onChange(async c=>{I.indexedFileTypes=c.split(" "),await pe(this.plugin)})}),new Y.Setting(e).setName("Behavior").setHeading(),new Y.Setting(e).setName("Save index to cache").setDesc("Enable caching to speed up indexing time. In rare cases, the cache write may cause a freeze in Obsidian. This option will disable itself if it happens.").addToggle(f=>f.setValue(I.useCache).onChange(async c=>{I.useCache=c,await pe(this.plugin)})),new Y.Setting(e).setName(`Respect Obsidian's "Excluded Files"`).setDesc(`By default, files that are in Obsidian's "Options > Files & Links > Excluded Files" list are downranked in results. + Enable this option to completely hide them`).addToggle(f=>f.setValue(I.hideExcluded).onChange(async c=>{I.hideExcluded=c,await pe(this.plugin)}));let a=new DocumentFragment;a.createSpan({},f=>{f.innerHTML=`Normalize diacritics in search terms. Words like "br\xFBl\xE9e" or "\u017Elu\u0165ou\u010Dk\xFD" will be indexed as "brulee" and "zlutoucky".
      \u26A0\uFE0F You probably should NOT disable this.
      \u26A0\uFE0F Changing this setting will clear the cache.
      - Needs a restart to fully take effect. - `}),new G.Setting(e).setName("Ignore diacritics").setDesc(a).addToggle(c=>c.setValue(E.ignoreDiacritics).onChange(async d=>{await Ee.clearCache(),E.ignoreDiacritics=d,await ue(this.plugin)}));let l=new DocumentFragment;l.createSpan({},c=>{c.innerHTML=`Enable this if you want to be able to search for CamelCaseWords as separate words.
      + ${sn} + `}),new Y.Setting(e).setName("Ignore diacritics").setDesc(a).addToggle(f=>f.setValue(I.ignoreDiacritics).onChange(async c=>{await Be.clearCache(),I.ignoreDiacritics=c,await pe(this.plugin)}));let l=new DocumentFragment;l.createSpan({},f=>{f.innerHTML=`Enable this if you want to be able to search for CamelCaseWords as separate words.
      \u26A0\uFE0F Changing this setting will clear the cache.
      - Needs a restart to fully take effect. - `}),new G.Setting(e).setName("Split CamelCaseWords").setDesc(l).addToggle(c=>c.setValue(E.splitCamelCase).onChange(async d=>{await Ee.clearCache(),E.splitCamelCase=d,await ue(this.plugin)})),new G.Setting(e).setName("Simpler search").setDesc(`Enable this if Obsidian often freezes while making searches. - Words shorter than 3 characters won't be used as prefixes; this can reduce search delay but will return fewer results.`).addToggle(c=>c.setValue(E.simpleSearch).onChange(async d=>{E.simpleSearch=d,await ue(this.plugin)})),new G.Setting(e).setName("User Interface").setHeading(),new G.Setting(e).setName("Show ribbon button").setDesc("Add a button on the sidebar to open the Vault search modal.").addToggle(c=>c.setValue(E.ribbonIcon).onChange(async d=>{E.ribbonIcon=d,await ue(this.plugin),d?this.plugin.addRibbonButton():this.plugin.removeRibbonButton()})),new G.Setting(e).setName("Show excerpts").setDesc("Shows the contextual part of the note that matches the search. Disable this to only show filenames in results.").addToggle(c=>c.setValue(E.showExcerpt).onChange(async d=>{Lt.set(d)})),new G.Setting(e).setName("Render line return in excerpts").setDesc("Activate this option to render line returns in result excerpts.").addToggle(c=>c.setValue(E.renderLineReturnInExcerpts).onChange(async d=>{E.renderLineReturnInExcerpts=d,await ue(this.plugin)})),new G.Setting(e).setName("Show previous query results").setDesc("Re-executes the previous query when opening Omnisearch.").addToggle(c=>c.setValue(E.showPreviousQueryResults).onChange(async d=>{E.showPreviousQueryResults=d,await ue(this.plugin)}));let u=new DocumentFragment;if(u.createSpan({},c=>{c.innerHTML=`Shows a button next to the search input, to create a note. - Acts the same as the shift \u21B5 shortcut, can be useful for mobile device users.`}),new G.Setting(e).setName('Show "Create note" button').setDesc(u).addToggle(c=>c.setValue(E.showCreateButton).onChange(async d=>{E.showCreateButton=d,await ue(this.plugin)})),new G.Setting(e).setName("Highlight matching words in results").setDesc("Will highlight matching results when enabled. See README for more customization options.").addToggle(c=>c.setValue(E.highlight).onChange(async d=>{E.highlight=d,await ue(this.plugin)})),new G.Setting(e).setName("Results weighting").setHeading(),new G.Setting(e).setName(`File name & declared aliases (default: ${Nt.weightBasename})`).addSlider(c=>this.weightSlider(c,"weightBasename")),new G.Setting(e).setName(`File directory (default: ${Nt.weightDirectory})`).addSlider(c=>this.weightSlider(c,"weightDirectory")),new G.Setting(e).setName(`Headings level 1 (default: ${Nt.weightH1})`).addSlider(c=>this.weightSlider(c,"weightH1")),new G.Setting(e).setName(`Headings level 2 (default: ${Nt.weightH2})`).addSlider(c=>this.weightSlider(c,"weightH2")),new G.Setting(e).setName(`Headings level 3 (default: ${Nt.weightH3})`).addSlider(c=>this.weightSlider(c,"weightH3")),new G.Setting(e).setName("Debugging").setHeading(),new G.Setting(e).setName("Enable verbose logging").setDesc("Adds a LOT of logs for debugging purposes. Don't forget to disable it.").addToggle(c=>c.setValue(E.verboseLogging).onChange(async d=>{E.verboseLogging=d,await ue(this.plugin)})),ht()){new G.Setting(e).setName("Danger Zone").setHeading();let c=new DocumentFragment;c.createSpan({},d=>{d.innerHTML=`Erase all Omnisearch cache data. - Use this if Omnisearch results are inconsistent, missing, or appear outdated.
      - Needs a restart to fully take effect.`}),new G.Setting(e).setName("Clear cache data").setDesc(c).addButton(d=>{d.setButtonText("Clear cache"),d.onClick(async()=>{await Ee.clearCache(),new G.Notice("Omnisearch - Cache cleared. Please restart Obsidian.")})})}}weightSlider(e,r){e.setLimits(1,5,.1).setValue(E[r]).setDynamicTooltip().onChange(n=>{E[r]=n,ue(this.plugin)})}},Nt={useCache:!0,hideExcluded:!1,ignoreDiacritics:!0,indexedFileTypes:[],PDFIndexing:!1,imagesIndexing:!1,splitCamelCase:!1,ribbonIcon:!0,showExcerpt:!0,renderLineReturnInExcerpts:!0,showCreateButton:!1,highlight:!0,showPreviousQueryResults:!0,simpleSearch:!1,weightBasename:3,weightDirectory:2,weightH1:1.5,weightH2:1.3,weightH3:1.1,welcomeMessage:"",verboseLogging:!1},E=Object.assign({},Nt);async function ca(t){E=Object.assign({},Nt,await t.loadData()),Lt.set(E.showExcerpt)}async function ue(t){await t.saveData(E)}var fa=be(require("obsidian"));var da=/[\u4e00-\u9fa5]/;var ha=100,Jr=300,pa=`suggestion-highlight omnisearch-highlight ${E.highlight?"omnisearch-default-highlight":""}`,H=new Si,Ln={ToggleExcerpts:"toggle-excerpts"},Pe=(s=>(s[s.Done=0]="Done",s[s.LoadingCache=1]="LoadingCache",s[s.ReadingFiles=2]="ReadingFiles",s[s.IndexingFiles=3]="IndexingFiles",s[s.WritingCache=4]="WritingCache",s))(Pe||{});var pt=hn(0),ma=!1;function xs(t){ma=t}function ga(){return ma}function Nn(){return app.plugins.plugins["cm-chs-patch"]}function $e(){return app.plugins?.plugins?.["text-extractor"]?.api}function ht(){return!fa.Platform.isIosApp&&E.useCache}var mt=/[|\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var Ea=be(require("obsidian"));var Ze=be(require("obsidian"));var va=be(require("crypto")),_a=be(ya());function gt(...t){return t[1]!==null&&t[1]!==void 0&&t[2]!==null&&t[2]!==void 0?`${t[1]}${t[2]}`:"<no content>"}function hd(t){return t.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function xa(t){let e=t.split("/");return e.pop(),e.join("/")}function pd(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"[$&]")}function yt(t){if(!t.length)return/^$/g;let e="("+(Nn()?"":E.splitCamelCase?`^|${mt.source}|[A-Z]`:`^|${mt.source}`)+`)(${t.map(n=>pd(n)).join("|")})`;return new RegExp(`${e}`,"giu")}function Kn(t,e){return t.headings?.filter(r=>r.level===e).map(r=>r.heading)??[]}function zn(t,e){return(t+e)%e}function ur(t,e){try{let r=e??-1,n=Math.max(0,r-ha),i=Math.min(t.length,r+Jr);if(r>-1?t=(n>0?"\u2026":"")+t.slice(n,i).trim()+(ia).join(` -`);let o=t.lastIndexOf(` -`,r-n);o>0&&(t=t.slice(o))}return t=hd(t),E.renderLineReturnInExcerpts&&(t=t.trim().replaceAll(` -`,"
      ")),t}catch(r){return new Ze.Notice("Omnisearch - Error while creating excerpt, see developer console"),console.error("Omnisearch - Error while creating excerpt"),console.error(r),""}}function ws(t){return t.replace(/(\*|_)+(.+?)(\*|_)+/g,(e,r,n)=>n)}function ba(t){return t?.frontmatter?(0,Ze.parseFrontMatterAliases)(t.frontmatter)??[]:[]}function wa(t){let e=t?(0,Ze.getAllTags)(t)??[]:[];return e=[...new Set(e.reduce((r,n)=>[...r,...n.split("/").filter(i=>i).map(i=>i.startsWith("#")?i:`#${i}`),n],[]))],e}function et(t){return t==null?"":(t=t.replaceAll("`","[__omnisearch__backtick__]"),t=t.normalize("NFD").replace(/\p{Diacritic}/gu,""),t=t.replaceAll("[__omnisearch__backtick__]","`"),t)}function Vn(){return Ze.Platform.isMacOS?"\u2318":"ctrl"}function Zr(t){let e=!!$e(),r=e&&E.PDFIndexing,n=e&&E.imagesIndexing;return js(t)||tn(t)||r&&en(t)||n&&$n(t)}function $n(t){let e=Kt(t);return e==="png"||e==="jpg"||e==="jpeg"}function en(t){return Kt(t)==="pdf"}function js(t){return[...E.indexedFileTypes,"md"].some(e=>t.endsWith(`.${e}`))}function tn(t){return t.endsWith(".canvas")}function Kt(t){let e=t.split(".");return e[e.length-1]??""}function ja(t){return Ze.Platform.isMobileApp?(0,_a.md5)(t.toString()):(0,va.createHash)("md5").update(t).digest("hex")}function Aa(t,e){let r=[],n=0,i=t.length;for(;ns.path===t);if(!e)throw new Error(`Invalid file path: "${t}"`);let r=null,n=$e();if(js(t))r=await app.vault.cachedRead(e);else if(tn(t)){let s=JSON.parse(await app.vault.cachedRead(e)),o=[];for(let a of s.nodes)a.type==="text"?o.push(a.text):a.type==="file"&&o.push(a.file);for(let a of s.edges.filter(l=>!!l.label))o.push(a.label);r=o.join(`\r -`)}else if(n?.canFileBeExtracted(t))r=await n.extractText(e);else throw new Error(`Unsupported file type: "${t}"`);r==null&&(console.warn(`Omnisearch: ${r} content for file`,e.path),r=""),r=et(r);let i=app.metadataCache.getFileCache(e);if(i&&i.frontmatter?.["excalidraw-plugin"]){let s=i.sections?.filter(o=>o.type==="comment")??[];for(let{start:o,end:a}of s.map(l=>l.position))r=r.substring(0,o.offset-1)+r.substring(a.offset)}return{basename:et(e.basename),content:r,path:e.path,mtime:e.stat.mtime,tags:wa(i),aliases:ba(i).join(""),headings1:i?Kn(i,1).join(" "):"",headings2:i?Kn(i,2).join(" "):"",headings3:i?Kn(i,3).join(" "):""}}var Da=class{constructor(){this.nextQueryIsEmpty=!1;this.documents=new Map}async addToLiveCache(e){try{let r=await md(e);if(!r.path){console.error(`Missing .path field in IndexedDocument "${r.basename}", skipping`);return}this.documents.set(e,r)}catch(r){console.warn(`Omnisearch: Error while adding "${e}" to live cache`,r),this.removeFromLiveCache(e)}}removeFromLiveCache(e){this.documents.delete(e)}async getDocument(e){return this.documents.has(e)?this.documents.get(e):(ie("Generating IndexedDocument from",e),await this.addToLiveCache(e),this.documents.get(e))}async addToSearchHistory(e){if(!e){this.nextQueryIsEmpty=!0;return}this.nextQueryIsEmpty=!1;let r=await Ee.searchHistory.toArray();r=r.filter(n=>n.query!==e).reverse(),r.unshift({query:e}),r=r.slice(0,10),await Ee.searchHistory.clear(),await Ee.searchHistory.bulkAdd(r)}async getSearchHistory(){let e=(await Ee.searchHistory.toArray()).reverse().map(r=>r.query);return this.nextQueryIsEmpty&&e.unshift(""),e}getDocumentsChecksum(e){return ja(JSON.stringify(e.sort((r,n)=>r.pathn.path?1:0)))}async getMinisearchCache(){try{return(await Ee.minisearch.toArray())[0]}catch(e){return new Ea.Notice("Omnisearch - Cache missing or invalid. Some freezes may occur while Omnisearch indexes your vault."),console.error("Omnisearch - Error while loading Minisearch cache"),console.error(e),null}}async writeMinisearchCache(e,r){let n=Array.from(r).map(([i,s])=>({path:i,mtime:s}));await Ee.minisearch.clear(),await Ee.minisearch.add({date:new Date().toISOString(),paths:n,data:e.toJSON()}),console.log("Omnisearch - Search cache written")}},de=new Da;function gd(t){let e,r,n,i,s,o,a,l,u=t[9].default,c=Gt(u,t,t[8],null);return{c(){e=O("div"),r=O("div"),n=O("input"),s=U(),c&&c.c(),B(n,"class","prompt-input"),B(n,"placeholder",t[0]),B(n,"spellcheck","false"),B(n,"type","text"),B(r,"class","omnisearch-input-field"),B(e,"class","omnisearch-input-container")},m(d,f){z(d,e,f),k(e,r),k(r,n),t[10](n),xi(n,t[1]),k(e,s),c&&c.m(e,null),o=!0,a||(l=[Te(n,"input",t[11]),co(i=t[3].call(null,n)),Te(n,"compositionend",t[12]),Te(n,"compositionstart",t[13]),Te(n,"input",t[4])],a=!0)},p(d,[f]){(!o||f&1)&&B(n,"placeholder",d[0]),f&2&&n.value!==d[1]&&xi(n,d[1]),c&&c.p&&(!o||f&256)&&qt(c,u,d,d[8],o?Qt(u,d[8],f,null):Yt(d[8]),null)},i(d){o||(Q(c,d),o=!0)},o(d){q(c,d),o=!1},d(d){d&&K(e),t[10](null),c&&c.d(d),a=!1,Re(l)}}}function yd(t,e,r){let{$$slots:n={},$$scope:i}=e,{initialValue:s=""}=e,o=!1,{placeholder:a=""}=e,l="",u,c=ji();function d(v){r(1,l=v)}function f(v){ot().then(()=>(u.focus(),ot())).then(()=>{u.select()})}let y=(0,Ta.debounce)(()=>{de.addToSearchHistory(""),c("input",l)},250);function w(v){He[v?"unshift":"push"](()=>{u=v,r(2,u)})}function b(){l=this.value,r(1,l),r(5,s),r(7,o)}let x=v=>xs(!1),h=v=>xs(!0);return t.$$set=v=>{"initialValue"in v&&r(5,s=v.initialValue),"placeholder"in v&&r(0,a=v.placeholder),"$$scope"in v&&r(8,i=v.$$scope)},t.$$.update=()=>{if(t.$$.dirty&162){e:s&&!o&&!l&&(r(7,o=!0),r(1,l=s),f())}},[a,l,u,f,y,s,d,o,i,n,w,b,x,h]}var ka=class extends pe{constructor(e){super();ye(this,e,yd,gd,fe,{initialValue:5,placeholder:0,setInputValue:6})}get setInputValue(){return this.$$.ctx[6]}},Hn=ka;function vd(t){let e,r,n,i,s=t[1].default,o=Gt(s,t,t[0],null);return{c(){e=O("div"),o&&o.c(),B(e,"class","prompt-results")},m(a,l){z(a,e,l),o&&o.m(e,null),r=!0,n||(i=Te(e,"mousedown",_d),n=!0)},p(a,[l]){o&&o.p&&(!r||l&1)&&qt(o,s,a,a[0],r?Qt(s,a[0],l,null):Yt(a[0]),null)},i(a){r||(Q(o,a),r=!0)},o(a){q(o,a),r=!1},d(a){a&&K(e),o&&o.d(a),n=!1,i()}}}var _d=t=>t.preventDefault();function xd(t,e,r){let{$$slots:n={},$$scope:i}=e;return t.$$set=s=>{"$$scope"in s&&r(0,i=s.$$scope)},[i,n]}var Ia=class extends pe{constructor(e){super();ye(this,e,xd,vd,fe,{})}},Wn=Ia;var As=be(require("obsidian"));async function Un(t,e=!1){let r=yt(t.foundWords);r.exec(t.content);let n=r.lastIndex,i=!1;app.workspace.iterateAllLeaves(a=>{a.view instanceof As.MarkdownView&&!e&&a.getViewState().state?.file===t.path&&a.getViewState()?.pinned&&(app.workspace.setActiveLeaf(a,{focus:!0}),i=!0)}),i||await app.workspace.openLinkText(t.path,"",e);let s=app.workspace.getActiveViewOfType(As.MarkdownView);if(!s)return;let o=s.editor.offsetToPos(n);o.ch=0,s.editor.setCursor(o),s.editor.scrollIntoView({from:{line:o.line-10,ch:0},to:{line:o.line+10,ch:0}})}async function Oa(t,e=!1){try{let r;switch(app.vault.getConfig("newFileLocation")){case"current":r=(app.workspace.getActiveFile()?.parent.path??"")+"/";break;case"folder":r=app.vault.getConfig("newFileFolderPath")+"/";break;default:r="";break}await app.workspace.openLinkText(`${r}${t}.md`,"",e)}catch(r){throw r.message="OmniSearch - Could not create note: "+r.message,console.error(r),r}}function bd(t){let e;return{c(){e=O("span"),e.innerHTML='',B(e,"class","suggestion-flair"),B(e,"aria-label","Not created yet, select to create")},m(r,n){z(r,e,n)},p:ne,i:ne,o:ne,d(r){r&&K(e)}}}function wd(t){"use strict";return[]}var Ma=class extends pe{constructor(e){super();ye(this,e,wd,bd,fe,{})}},Pa=Ma;function Ra(t){let e,r;return e=new Pa({}),{c(){Se(e.$$.fragment)},m(n,i){we(e,n,i),r=!0},i(n){r||(Q(e.$$.fragment,n),r=!0)},o(n){q(e.$$.fragment,n),r=!1},d(n){ge(e,n)}}}function jd(t){let e,r,n,i,s,o=t[2]&&Ra(t),a=t[4].default,l=Gt(a,t,t[3],null);return{c(){e=O("div"),o&&o.c(),r=U(),l&&l.c(),B(e,"data-result-id",t[0]),B(e,"class","suggestion-item omnisearch-result"),bi(e,"is-selected",t[1])},m(u,c){z(u,e,c),o&&o.m(e,null),k(e,r),l&&l.m(e,null),n=!0,i||(s=[Te(e,"mousemove",t[5]),Te(e,"click",t[6]),Te(e,"auxclick",t[7])],i=!0)},p(u,[c]){u[2]?o?c&4&&Q(o,1):(o=Ra(u),o.c(),Q(o,1),o.m(e,r)):o&&(Dt(),q(o,1,1,()=>{o=null}),Tt()),l&&l.p&&(!n||c&8)&&qt(l,a,u,u[3],n?Qt(a,u[3],c,null):Yt(u[3]),null),(!n||c&1)&&B(e,"data-result-id",u[0]),(!n||c&2)&&bi(e,"is-selected",u[1])},i(u){n||(Q(o),Q(l,u),n=!0)},o(u){q(o),q(l,u),n=!1},d(u){u&&K(e),o&&o.d(),l&&l.d(u),i=!1,Re(s)}}}function Ad(t,e,r){let{$$slots:n={},$$scope:i}=e,{id:s}=e,{selected:o=!1}=e,{glyph:a=!1}=e;function l(d){Me.call(this,t,d)}function u(d){Me.call(this,t,d)}function c(d){Me.call(this,t,d)}return t.$$set=d=>{"id"in d&&r(0,s=d.id),"selected"in d&&r(1,o=d.selected),"glyph"in d&&r(2,a=d.glyph),"$$scope"in d&&r(3,i=d.$$scope)},[s,o,a,i,n,l,u,c]}var Ba=class extends pe{constructor(e){super();ye(this,e,Ad,jd,fe,{id:0,selected:1,glyph:2})}},Gn=Ba;var cr=be(require("obsidian"));function La(t){let e,r=t[1].matches.length+"",n,i,s=(t[1].matches.length>1?"matches":"match")+"",o;return{c(){e=O("span"),n=Fe(r),i=Fe("\xA0"),o=Fe(s),B(e,"class","omnisearch-result__counter")},m(a,l){z(a,e,l),k(e,n),k(e,i),k(e,o)},p(a,l){l&2&&r!==(r=a[1].matches.length+"")&&St(n,r),l&2&&s!==(s=(a[1].matches.length>1?"matches":"match")+"")&&St(o,s)},d(a){a&&K(e)}}}function Na(t){let e,r,n,i,s;return{c(){e=O("div"),r=O("span"),n=U(),i=O("span"),s=Fe(t[6]),B(e,"class","omnisearch-result__folder-path")},m(o,a){z(o,e,a),k(e,r),t[12](r),k(e,n),k(e,i),k(i,s)},p(o,a){a&64&&St(s,o[6])},d(o){o&&K(e),t[12](null)}}}function Ka(t){let e,r=t[8].replace(t[9],gt)+"";return{c(){e=O("div"),B(e,"class","omnisearch-result__body")},m(n,i){z(n,e,i),e.innerHTML=r},p(n,i){i&768&&r!==(r=n[8].replace(n[9],gt)+"")&&(e.innerHTML=r)},d(n){n&&K(e)}}}function za(t){let e,r,n;return{c(){e=O("div"),r=O("img"),ke(r,"width","100px"),_i(r.src,n=t[5])||B(r,"src",n),B(r,"alt",""),B(e,"class","omnisearch-result__image-container")},m(i,s){z(i,e,s),k(e,r)},p(i,s){s&32&&!_i(r.src,n=i[5])&&B(r,"src",n)},d(i){i&&K(e)}}}function Cd(t){let e,r,n,i,s,o,a=t[2].replace(t[9],gt)+"",l,u,c,d=Kt(t[1].path)+"",f,y,w,b,x,h,v=t[1].matches.length>0&&La(t),p=t[6]&&Na(t),m=t[10]&&Ka(t),_=t[5]&&za(t);return{c(){e=O("div"),r=O("div"),n=O("span"),i=O("span"),s=U(),o=O("span"),l=U(),u=O("span"),c=Fe("."),f=Fe(d),y=U(),v&&v.c(),w=U(),p&&p.c(),b=U(),x=O("div"),m&&m.c(),h=U(),_&&_.c(),B(u,"class","omnisearch-result__extension"),B(n,"class","omnisearch-result__title"),B(r,"class","omnisearch-result__title-container"),ke(x,"display","flex"),ke(x,"flex-direction","row")},m(g,j){z(g,e,j),k(e,r),k(r,n),k(n,i),t[11](i),k(n,s),k(n,o),o.innerHTML=a,k(n,l),k(n,u),k(u,c),k(u,f),k(n,y),v&&v.m(n,null),k(e,w),p&&p.m(e,null),k(e,b),k(e,x),m&&m.m(x,null),k(x,h),_&&_.m(x,null)},p(g,j){j&516&&a!==(a=g[2].replace(g[9],gt)+"")&&(o.innerHTML=a),j&2&&d!==(d=Kt(g[1].path)+"")&&St(f,d),g[1].matches.length>0?v?v.p(g,j):(v=La(g),v.c(),v.m(n,null)):v&&(v.d(1),v=null),g[6]?p?p.p(g,j):(p=Na(g),p.c(),p.m(e,b)):p&&(p.d(1),p=null),g[10]?m?m.p(g,j):(m=Ka(g),m.c(),m.m(x,h)):m&&(m.d(1),m=null),g[5]?_?_.p(g,j):(_=za(g),_.c(),_.m(x,null)):_&&(_.d(1),_=null)},d(g){g&&K(e),t[11](null),v&&v.d(),p&&p.d(),m&&m.d(),_&&_.d()}}}function Fd(t){let e,r;return e=new Gn({props:{glyph:t[7],id:t[1].path,selected:t[0],$$slots:{default:[Cd]},$$scope:{ctx:t}}}),e.$on("click",t[13]),e.$on("auxclick",t[14]),e.$on("mousemove",t[15]),{c(){Se(e.$$.fragment)},m(n,i){we(e,n,i),r=!0},p(n,[i]){let s={};i&128&&(s.glyph=n[7]),i&2&&(s.id=n[1].path),i&1&&(s.selected=n[0]),i&67454&&(s.$$scope={dirty:i,ctx:n}),e.$set(s)},i(n){r||(Q(e.$$.fragment,n),r=!0)},o(n){q(e.$$.fragment,n),r=!1},d(n){ge(e,n)}}}function Sd(t,e,r){let n,i,s,o;ln(t,Lt,p=>r(10,o=p));let{selected:a=!1}=e,{note:l}=e,u=null,c="",d="",f,y;function w(p){He[p?"unshift":"push"](()=>{y=p,r(4,y)})}function b(p){He[p?"unshift":"push"](()=>{f=p,r(3,f)})}function x(p){Me.call(this,t,p)}function h(p){Me.call(this,t,p)}function v(p){Me.call(this,t,p)}t.$$set=p=>{"selected"in p&&r(0,a=p.selected),"note"in p&&r(1,l=p.note)},t.$$.update=()=>{if(t.$$.dirty&2){e:if(r(5,u=null),$n(l.path)){let p=app.vault.getFiles().find(m=>m.path===l.path);p&&r(5,u=app.vault.getResourcePath(p))}}if(t.$$.dirty&2){e:r(9,n=yt(l.foundWords))}if(t.$$.dirty&2){e:r(8,i=ur(l.content,l.matches[0]?.offset??-1))}if(t.$$.dirty&30){e:r(2,c=l.basename),r(6,d=xa(l.path)),E.ignoreDiacritics&&r(2,c=et(c)),f&&(0,cr.setIcon)(f,"folder-open"),y&&($n(l.path)?(0,cr.setIcon)(y,"image"):en(l.path)?(0,cr.setIcon)(y,"file-text"):tn(l.path)?(0,cr.setIcon)(y,"layout-dashboard"):(0,cr.setIcon)(y,"file"))}};e:r(7,s=!1);return[a,l,c,f,y,u,d,s,i,n,o,w,b,x,h,v]}var Va=class extends pe{constructor(e){super();ye(this,e,Sd,Fd,fe,{selected:0,note:1})}},$a=Va;var Ga=be(Ua()),Cs=["ext","path"],zt=class{constructor(e=""){this.extensions=[];E.ignoreDiacritics&&(e=et(e));let r=(0,Ga.parse)(e.toLowerCase(),{tokenize:!0,keywords:Cs});r.text=r.text??[],r.exclude=r.exclude??{},r.exclude.text=r.exclude.text??[],Array.isArray(r.exclude.text)||(r.exclude.text=[r.exclude.text]);for(let n of Cs){let i=r[n];i&&(r[n]=Array.isArray(i)?i:[i]);let s=r.exclude[n];s&&(r.exclude[n]=Array.isArray(s)?s:[s])}this.query=r,this.extensions=this.query.ext??[]}isEmpty(){for(let e of Cs)if(this.query[e]?.length||this.query.text.length)return!1;return!0}segmentsToStr(){return this.query.text.join(" ")}getTags(){return this.query.text.filter(e=>e.startsWith("#"))}getTagsWithoutHashtag(){return this.getTags().map(e=>e.replace(/^#/,""))}getExactTerms(){return this.query.text.filter(e=>e.split(" ").length>1)}};var ee=function(){return ee=Object.assign||function(e){for(var r,n=1,i=arguments.length;n0&&s[s.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ae(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s}var Td="ENTRIES",Qa="KEYS",qa="VALUES",me="",Fs=function(){function t(e,r){var n=e._tree,i=Array.from(n.keys());this.set=e,this._type=r,this._path=i.length>0?[{node:n,keys:i}]:[]}return t.prototype.next=function(){var e=this.dive();return this.backtrack(),e},t.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=fr(this._path),r=e.node,n=e.keys;if(fr(n)===me)return{done:!1,value:this.result()};var i=r.get(fr(n));return this._path.push({node:i,keys:Array.from(i.keys())}),this.dive()},t.prototype.backtrack=function(){if(this._path.length!==0){var e=fr(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},t.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var r=e.keys;return fr(r)}).filter(function(e){return e!==me}).join("")},t.prototype.value=function(){return fr(this._path).node.get(me)},t.prototype.result=function(){switch(this._type){case qa:return this.value();case Qa:return this.key();default:return[this.key(),this.value()]}},t.prototype[Symbol.iterator]=function(){return this},t}(),fr=function(t){return t[t.length-1]},kd=function(t,e,r){var n=new Map;if(e===void 0)return n;for(var i=e.length+1,s=i+r,o=new Uint8Array(s*i).fill(r+1),a=0;ar)continue e}Ya(t.get(y),e,r,n,i,b,o,a+y)}}}catch(T){l={error:T}}finally{try{f&&!f.done&&(u=d.return)&&u.call(d)}finally{if(l)throw l.error}}},Ss=function(){function t(e,r){e===void 0&&(e=new Map),r===void 0&&(r=""),this._size=void 0,this._tree=e,this._prefix=r}return t.prototype.atPrefix=function(e){var r,n;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var i=ae(qn(this._tree,e.slice(this._prefix.length)),2),s=i[0],o=i[1];if(s===void 0){var a=ae(Ts(o),2),l=a[0],u=a[1];try{for(var c=W(l.keys()),d=c.next();!d.done;d=c.next()){var f=d.value;if(f!==me&&f.startsWith(u)){var y=new Map;return y.set(f.slice(u.length),l.get(f)),new t(y,e)}}}catch(w){r={error:w}}finally{try{d&&!d.done&&(n=c.return)&&n.call(c)}finally{if(r)throw r.error}}}return new t(s,e)},t.prototype.clear=function(){this._size=void 0,this._tree.clear()},t.prototype.delete=function(e){return this._size=void 0,Id(this._tree,e)},t.prototype.entries=function(){return new Fs(this,Td)},t.prototype.forEach=function(e){var r,n;try{for(var i=W(this),s=i.next();!s.done;s=i.next()){var o=ae(s.value,2),a=o[0],l=o[1];e(a,l,this)}}catch(u){r={error:u}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.fuzzyGet=function(e,r){return kd(this._tree,e,r)},t.prototype.get=function(e){var r=Es(this._tree,e);return r!==void 0?r.get(me):void 0},t.prototype.has=function(e){var r=Es(this._tree,e);return r!==void 0&&r.has(me)},t.prototype.keys=function(){return new Fs(this,Qa)},t.prototype.set=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Ds(this._tree,e);return n.set(me,r),this},Object.defineProperty(t.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),t.prototype.update=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Ds(this._tree,e);return n.set(me,r(n.get(me))),this},t.prototype.fetch=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Ds(this._tree,e),i=n.get(me);return i===void 0&&n.set(me,i=r()),i},t.prototype.values=function(){return new Fs(this,qa)},t.prototype[Symbol.iterator]=function(){return this.entries()},t.from=function(e){var r,n,i=new t;try{for(var s=W(e),o=s.next();!o.done;o=s.next()){var a=ae(o.value,2),l=a[0],u=a[1];i.set(l,u)}}catch(c){r={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return i},t.fromObject=function(e){return t.from(Object.entries(e))},t}(),qn=function(t,e,r){var n,i;if(r===void 0&&(r=[]),e.length===0||t==null)return[t,r];try{for(var s=W(t.keys()),o=s.next();!o.done;o=s.next()){var a=o.value;if(a!==me&&e.startsWith(a))return r.push([t,a]),qn(t.get(a),e.slice(a.length),r)}}catch(l){n={error:l}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}return r.push([t,e]),qn(void 0,"",r)},Es=function(t,e){var r,n;if(e.length===0||t==null)return t;try{for(var i=W(t.keys()),s=i.next();!s.done;s=i.next()){var o=s.value;if(o!==me&&e.startsWith(o))return Es(t.get(o),e.slice(o.length))}}catch(a){r={error:a}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},Ds=function(t,e){var r,n,i=e.length;e:for(var s=0;t&&s0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Ss,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},t.prototype.discard=function(e){var r=this,n=this._idToShortId.get(e);if(n==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach(function(i,s){r.removeFieldLength(n,s,r._documentCount,i)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},t.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,r=e.minDirtFactor,n=e.minDirtCount,i=e.batchSize,s=e.batchWait;this.conditionalVacuum({batchSize:i,batchWait:s},{minDirtCount:n,minDirtFactor:r})}},t.prototype.discardAll=function(e){var r,n,i=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var s=W(e),o=s.next();!o.done;o=s.next()){var a=o.value;this.discard(a)}}catch(l){r={error:l}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}}finally{this._options.autoVacuum=i}this.maybeAutoVacuum()},t.prototype.replace=function(e){var r=this._options,n=r.idField,i=r.extractField,s=i(e,n);this.discard(s),this.add(e)},t.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},t.prototype.conditionalVacuum=function(e,r){var n=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&r,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var i=n._enqueuedVacuumConditions;return n._enqueuedVacuumConditions=Rs,n.performVacuuming(e,i)}),this._enqueuedVacuum)):this.vacuumConditionsMet(r)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},t.prototype.performVacuuming=function(e,r){return Ed(this,void 0,void 0,function(){var n,i,s,o,a,l,u,c,d,f,y,w,b,x,h,v,p,m,_,g,j,A,C,F,D;return Dd(this,function(P){switch(P.label){case 0:if(n=this._dirtCount,!this.vacuumConditionsMet(r))return[3,10];i=e.batchSize||Ps.batchSize,s=e.batchWait||Ps.batchWait,o=1,P.label=1;case 1:P.trys.push([1,7,8,9]),a=W(this._index),l=a.next(),P.label=2;case 2:if(l.done)return[3,6];u=ae(l.value,2),c=u[0],d=u[1];try{for(f=(A=void 0,W(d)),y=f.next();!y.done;y=f.next()){w=ae(y.value,2),b=w[0],x=w[1];try{for(h=(F=void 0,W(x)),v=h.next();!v.done;v=h.next())p=ae(v.value,1),m=p[0],!this._documentIds.has(m)&&(x.size<=1?d.delete(b):x.delete(m))}catch(T){F={error:T}}finally{try{v&&!v.done&&(D=h.return)&&D.call(h)}finally{if(F)throw F.error}}}}catch(T){A={error:T}}finally{try{y&&!y.done&&(C=f.return)&&C.call(f)}finally{if(A)throw A.error}}return this._index.get(c).size===0&&this._index.delete(c),o%i!=0?[3,4]:[4,new Promise(function(T){return setTimeout(T,s)})];case 3:P.sent(),P.label=4;case 4:o+=1,P.label=5;case 5:return l=a.next(),[3,2];case 6:return[3,9];case 7:return _=P.sent(),g={error:_},[3,9];case 8:try{l&&!l.done&&(j=a.return)&&j.call(a)}finally{if(g)throw g.error}return[7];case 9:this._dirtCount-=n,P.label=10;case 10:return[4,null];case 11:return P.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},t.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var r=e.minDirtCount,n=e.minDirtFactor;return r=r||Bs.minDirtCount,n=n||Bs.minDirtFactor,this.dirtCount>=r&&this.dirtFactor>=n},Object.defineProperty(t.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),t.prototype.has=function(e){return this._idToShortId.has(e)},t.prototype.search=function(e,r){var n,i;r===void 0&&(r={});var s=this.executeQuery(e,r),o=[];try{for(var a=W(s),l=a.next();!l.done;l=a.next()){var u=ae(l.value,2),c=u[0],d=u[1],f=d.score,y=d.terms,w=d.match,b=y.length,x={id:this._documentIds.get(c),score:f*b,terms:Object.keys(w),match:w};Object.assign(x,this._storedFields.get(c)),(r.filter==null||r.filter(x))&&o.push(x)}}catch(h){n={error:h}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return o.sort(rl),o},t.prototype.autoSuggest=function(e,r){var n,i,s,o;r===void 0&&(r={}),r=ee(ee({},this._options.autoSuggestOptions),r);var a=new Map;try{for(var l=W(this.search(e,r)),u=l.next();!u.done;u=l.next()){var c=u.value,d=c.score,f=c.terms,y=f.join(" "),w=a.get(y);w!=null?(w.score+=d,w.count+=1):a.set(y,{score:d,terms:f,count:1})}}catch(_){n={error:_}}finally{try{u&&!u.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}var b=[];try{for(var x=W(a),h=x.next();!h.done;h=x.next()){var v=ae(h.value,2),w=v[0],p=v[1],d=p.score,f=p.terms,m=p.count;b.push({suggestion:w,terms:f,score:d/m})}}catch(_){s={error:_}}finally{try{h&&!h.done&&(o=x.return)&&o.call(x)}finally{if(s)throw s.error}}return b.sort(rl),b},Object.defineProperty(t.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),t.loadJSON=function(e,r){if(r==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),r)},t.getDefault=function(e){if(Ms.hasOwnProperty(e))return Os(Ms,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},t.loadJS=function(e,r){var n,i,s,o,a,l,u=e.index,c=e.documentCount,d=e.nextId,f=e.documentIds,y=e.fieldIds,w=e.fieldLength,b=e.averageFieldLength,x=e.storedFields,h=e.dirtCount,v=e.serializationVersion;if(v!==1&&v!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var p=new t(r);p._documentCount=c,p._nextId=d,p._documentIds=Yn(f),p._idToShortId=new Map,p._fieldIds=y,p._fieldLength=Yn(w),p._avgFieldLength=b,p._storedFields=Yn(x),p._dirtCount=h||0,p._index=new Ss;try{for(var m=W(p._documentIds),_=m.next();!_.done;_=m.next()){var g=ae(_.value,2),j=g[0],A=g[1];p._idToShortId.set(A,j)}}catch(te){n={error:te}}finally{try{_&&!_.done&&(i=m.return)&&i.call(m)}finally{if(n)throw n.error}}try{for(var C=W(u),F=C.next();!F.done;F=C.next()){var D=ae(F.value,2),P=D[0],T=D[1],N=new Map;try{for(var $=(a=void 0,W(Object.keys(T))),M=$.next();!M.done;M=$.next()){var S=M.value,V=T[S];v===1&&(V=V.ds),N.set(parseInt(S,10),Yn(V))}}catch(te){a={error:te}}finally{try{M&&!M.done&&(l=$.return)&&l.call($)}finally{if(a)throw a.error}}p._index.set(P,N)}}catch(te){s={error:te}}finally{try{F&&!F.done&&(o=C.return)&&o.call(C)}finally{if(s)throw s.error}}return p},t.prototype.executeQuery=function(e,r){var n=this;if(r===void 0&&(r={}),typeof e!="string"){var i=ee(ee(ee({},r),e),{queries:void 0}),s=e.queries.map(function(x){return n.executeQuery(x,i)});return this.combineResults(s,e.combineWith)}var o=this._options,a=o.tokenize,l=o.processTerm,u=o.searchOptions,c=ee(ee({tokenize:a,processTerm:l},u),r),d=c.tokenize,f=c.processTerm,y=d(e).flatMap(function(x){return f(x)}).filter(function(x){return!!x}),w=y.map(Bd(c)),b=w.map(function(x){return n.executeQuerySpec(x,c)});return this.combineResults(b,c.combineWith)},t.prototype.executeQuerySpec=function(e,r){var n,i,s,o,a=ee(ee({},this._options.searchOptions),r),l=(a.fields||this._options.fields).reduce(function(S,V){var te;return ee(ee({},S),(te={},te[V]=Os(S,V)||1,te))},a.boost||{}),u=a.boostDocument,c=a.weights,d=a.maxFuzzy,f=a.bm25,y=ee(ee({},el.weights),c),w=y.fuzzy,b=y.prefix,x=this._index.get(e.term),h=this.termResults(e.term,e.term,1,x,l,u,f),v,p;if(e.prefix&&(v=this._index.atPrefix(e.term)),e.fuzzy){var m=e.fuzzy===!0?.2:e.fuzzy,_=m<1?Math.min(d,Math.round(e.term.length*m)):m;_&&(p=this._index.fuzzyGet(e.term,_))}if(v)try{for(var g=W(v),j=g.next();!j.done;j=g.next()){var A=ae(j.value,2),C=A[0],F=A[1],D=C.length-e.term.length;if(!!D){p==null||p.delete(C);var P=b*C.length/(C.length+.3*D);this.termResults(e.term,C,P,F,l,u,f,h)}}}catch(S){n={error:S}}finally{try{j&&!j.done&&(i=g.return)&&i.call(g)}finally{if(n)throw n.error}}if(p)try{for(var T=W(p.keys()),N=T.next();!N.done;N=T.next()){var C=N.value,$=ae(p.get(C),2),M=$[0],D=$[1];if(!!D){var P=w*C.length/(C.length+D);this.termResults(e.term,C,P,M,l,u,f,h)}}}catch(S){s={error:S}}finally{try{N&&!N.done&&(o=T.return)&&o.call(T)}finally{if(s)throw s.error}}return h},t.prototype.combineResults=function(e,r){if(r===void 0&&(r=ks),e.length===0)return new Map;var n=r.toLowerCase();return e.reduce(Md[n])||new Map},t.prototype.toJSON=function(){var e,r,n,i,s=[];try{for(var o=W(this._index),a=o.next();!a.done;a=o.next()){var l=ae(a.value,2),u=l[0],c=l[1],d={};try{for(var f=(n=void 0,W(c)),y=f.next();!y.done;y=f.next()){var w=ae(y.value,2),b=w[0],x=w[1];d[b]=Object.fromEntries(x)}}catch(h){n={error:h}}finally{try{y&&!y.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}s.push([u,d])}}catch(h){e={error:h}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:s,serializationVersion:2}},t.prototype.termResults=function(e,r,n,i,s,o,a,l){var u,c,d,f,y;if(l===void 0&&(l=new Map),i==null)return l;try{for(var w=W(Object.keys(s)),b=w.next();!b.done;b=w.next()){var x=b.value,h=s[x],v=this._fieldIds[x],p=i.get(v);if(p!=null){var m=p.size,_=this._avgFieldLength[v];try{for(var g=(d=void 0,W(p.keys())),j=g.next();!j.done;j=g.next()){var A=j.value;if(!this._documentIds.has(A)){this.removeTerm(v,A,r),m-=1;continue}var C=o?o(this._documentIds.get(A),r):1;if(!!C){var F=p.get(A),D=this._fieldLength.get(A)[v],P=Rd(F,m,this._documentCount,D,_,a),T=n*h*C*P,N=l.get(A);if(N){N.score+=T,Nd(N.terms,e);var $=Os(N.match,r);$?$.push(x):N.match[r]=[x]}else l.set(A,{score:T,terms:[e],match:(y={},y[r]=[x],y)})}}}catch(M){d={error:M}}finally{try{j&&!j.done&&(f=g.return)&&f.call(g)}finally{if(d)throw d.error}}}}}catch(M){u={error:M}}finally{try{b&&!b.done&&(c=w.return)&&c.call(w)}finally{if(u)throw u.error}}return l},t.prototype.addTerm=function(e,r,n){var i=this._index.fetch(n,nl),s=i.get(e);if(s==null)s=new Map,s.set(r,1),i.set(e,s);else{var o=s.get(r);s.set(r,(o||0)+1)}},t.prototype.removeTerm=function(e,r,n){if(!this._index.has(n)){this.warnDocumentChanged(r,e,n);return}var i=this._index.fetch(n,nl),s=i.get(e);s==null||s.get(r)==null?this.warnDocumentChanged(r,e,n):s.get(r)<=1?s.size<=1?i.delete(e):s.delete(r):s.set(r,s.get(r)-1),this._index.get(n).size===0&&this._index.delete(n)},t.prototype.warnDocumentChanged=function(e,r,n){var i,s;try{for(var o=W(Object.keys(this._fieldIds)),a=o.next();!a.done;a=o.next()){var l=a.value;if(this._fieldIds[l]===r){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(n,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){i={error:u}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(i)throw i.error}}},t.prototype.addDocumentId=function(e){var r=this._nextId;return this._idToShortId.set(e,r),this._documentIds.set(r,e),this._documentCount+=1,this._nextId+=1,r},t.prototype.addFields=function(e){for(var r=0;r0){if(++e>=Th)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var yl=Oh;function Mh(t){return function(){return t}}var vl=Mh;var Ph=function(){try{var t=De(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Ls=Ph;var Rh=Ls?function(t,e){return Ls(t,"toString",{configurable:!0,enumerable:!1,value:vl(e),writable:!0})}:_t,_l=Rh;var Bh=yl(_l),xl=Bh;var Lh=9007199254740991,Nh=/^(?:0|[1-9]\d*)$/;function Kh(t,e){var r=typeof t;return e=e??Lh,!!e&&(r=="number"||r!="symbol"&&Nh.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=Hh}var mr=Wh;function Uh(t){return t!=null&&mr(t.length)&&!Xn(t)}var xt=Uh;function Gh(t,e,r){if(!vt(r))return!1;var n=typeof e;return(n=="number"?xt(r)&&hr(e,r.length):n=="string"&&e in r)?pr(r[e],t):!1}var Ns=Gh;var Qh=Object.prototype;function qh(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Qh;return t===r}var Al=qh;function Yh(t,e){for(var r=-1,n=Array(t);++r-1}var Ul=fm;function dm(t,e){var r=this.__data__,n=bt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Gl=dm;function xr(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e0&&r(a)?e>1?au(a,e-1,r,n,i):ii(i,a):n||(i[i.length]=a)}return i}var lu=au;function Pm(){this.__data__=new wt,this.size=0}var uu=Pm;function Rm(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var cu=Rm;function Bm(t){return this.__data__.get(t)}var fu=Bm;function Lm(t){return this.__data__.has(t)}var du=Lm;var Nm=200;function Km(t,e){var r=this.__data__;if(r instanceof wt){var n=r.__data__;if(!jt||n.lengtha))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var d=-1,f=!0,y=r&cg?new Fu:void 0;for(s.set(t,e),s.set(e,t);++de||s&&o&&l&&!a&&!u||n&&o&&l||!r&&l||!i)return 1;if(!n&&!s&&!u&&t=a)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}var ic=oy;function ay(t,e,r){e.length?e=dr(e,function(s){return se(s)?function(o){return wr(o,s.length===1?s[0]:s)}:s}):e=[_t];var n=-1;e=dr(e,ti(qu));var i=tc(t,function(s,o,a){var l=dr(e,function(u){return u(s)});return{criteria:l,index:++n,value:s}});return rc(i,function(s,o){return ic(s,o,r)})}var sc=ay;var ly=jl(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Ns(t,e[0],e[1])?e=[]:r>2&&Ns(e[0],e[1],e[2])&&(e=[e[0]]),sc(t,lu(e,1),[])}),qs=ly;var uy=t=>{let e=t.split(mt),r=Nn();return r?e.flatMap(n=>da.test(n)?r.cut(n):[n]):E.splitCamelCase?[...e,...e.flatMap(Ca)]:e},pi=class{constructor(){this.indexedDocuments=new Map;this.minisearch=new Is(pi.options)}async loadCache(){let e=await de.getMinisearchCache();return e?(this.minisearch=Is.loadJS(e.data,pi.options),this.indexedDocuments=new Map(e.paths.map(r=>[r.path,r.mtime])),!0):(console.log("Omnisearch - No cache found"),!1)}getDiff(e){let r=new Map(e.map(s=>[s.path,s.mtime])),n=e.filter(s=>!this.indexedDocuments.has(s.path)||this.indexedDocuments.get(s.path)!==s.mtime),i=[...this.indexedDocuments].filter(([s,o])=>!r.has(s)||r.get(s)!==o).map(s=>({path:s[0],mtime:s[1]}));return{toAdd:n,toRemove:i}}async addFromPaths(e){ie("Adding files",e);let r=(await Promise.all(e.map(async i=>await de.getDocument(i)))).filter(i=>!!i?.path);ie("Sorting documents to first index markdown"),r=qs(r,i=>i.path.endsWith(".md")?0:1),this.removeFromPaths(r.filter(i=>this.indexedDocuments.has(i.path)).map(i=>i.path));let n=Aa(r,500);for(let i of n){ie("Indexing into search engine",i),i.forEach(o=>this.indexedDocuments.set(o.path,o.mtime));let s=i.filter(o=>this.minisearch.has(o.path));this.removeFromPaths(s.map(o=>o.path)),await this.minisearch.addAllAsync(i)}}removeFromPaths(e){e.forEach(n=>this.indexedDocuments.delete(n));let r=e.filter(n=>this.minisearch.has(n));this.minisearch.discardAll(r)}async search(e,r){if(e.isEmpty())return[];ie("Starting search for",e);let n=this.minisearch.search(e.segmentsToStr(),{prefix:l=>l.length>=r.prefixLength,fuzzy:l=>l.length<=3?0:l.length<=5?.1:.2,combineWith:"AND",boost:{basename:E.weightBasename,directory:E.weightDirectory,aliases:E.weightBasename,headings1:E.weightH1,headings2:E.weightH2,headings3:E.weightH3}});if(ie("Found",n.length,"results"),e.extensions.length&&(n=n.filter(l=>{let u="."+l.id.split(".").pop();return e.extensions.some(c=>u.startsWith(c))})),e.query.path&&(n=n.filter(l=>e.query.path?.some(u=>l.id.toLowerCase().includes(u.toLowerCase())))),e.query.exclude.path&&(n=n.filter(l=>!e.query.exclude.path?.some(u=>l.id.toLowerCase().includes(u.toLowerCase())))),!n.length)return[];if(r.singleFilePath)return n.filter(l=>l.id===r.singleFilePath);E.hideExcluded?n=n.filter(l=>!(app.metadataCache.isUserIgnored&&app.metadataCache.isUserIgnored(l.id))):n.forEach(l=>{app.metadataCache.isUserIgnored&&app.metadataCache.isUserIgnored(l.id)&&(l.score/=10)});let i=e.getTags();for(let l of i)for(let u of n)(u.tags??[]).includes(l)&&(u.score*=100);ie("Sorting and limiting results"),n=n.sort((l,u)=>u.score-l.score).slice(0,50);let s=await Promise.all(n.map(async l=>await de.getDocument(l.id))),o=e.getExactTerms();o.length&&(ie("Filtering with quoted terms"),n=n.filter(l=>{let u=s.find(f=>f.path===l.id),c=u?.path.toLowerCase()??"",d=ws(u?.content??"").toLowerCase();return o.every(f=>d.includes(f)||c.includes(f))}));let a=e.query.exclude.text;return a.length&&(ie("Filtering with exclusions"),n=n.filter(l=>{let u=ws(s.find(c=>c.path===l.id)?.content??"").toLowerCase();return a.every(c=>!u.includes(c))})),ie("Deduping"),n=n.filter((l,u,c)=>c.findIndex(d=>d.id===l.id)===u),n}getMatches(e,r,n){let i=new Date().getTime(),s=null,o=[],a=0;for(;(s=r.exec(e))!==null;){if(++a>=100||new Date().getTime()-i>50){Fa("Stopped getMatches at",a,"results");break}let u=s[0];u&&o.push({match:u,offset:s.index})}let l=e.toLowerCase().indexOf(n.segmentsToStr());return l>-1&&o.unshift({offset:l,match:n.segmentsToStr()}),o}async getSuggestions(e,r){let n;E.simpleSearch?n=await this.search(e,{prefixLength:3,singleFilePath:r?.singleFilePath}):n=await this.search(e,{prefixLength:1,singleFilePath:r?.singleFilePath});let i=await Promise.all(n.map(async o=>await de.getDocument(o.id)));return n.map(o=>{ie("Locating matches for",o.id);let a=i.find(d=>d.path===o.id);a||(console.warn(`Omnisearch - Note "${o.id}" not in the live cache`),a={content:"",basename:o.id,path:o.id});let l=[...Object.keys(o.match),...e.getExactTerms(),...e.getTags()].filter(d=>d.length>1||/\p{Emoji}/u.test(d));ie("Matching tokens:",l),ie("Getting matches locations...");let u=this.getMatches(a.content,yt(l),e);return ie("Matches:",u),re({score:o.score,foundWords:l,matches:u},a)})}async writeToCache(){await de.writeMinisearchCache(this.minisearch,this.indexedDocuments)}},Ys=pi;Ys.options={tokenize:uy,extractField:(e,r)=>{if(r==="directory"){let n=e.path.split("/");return n.pop(),n.join("/")}return e[r]},processTerm:e=>(E.ignoreDiacritics?et(e):e).toLowerCase(),idField:"path",fields:["basename","directory","aliases","content","headings1","headings2","headings3"],storeFields:["tags"],logger(e,r,n){n==="version_conflict"&&new oc.Notice("Omnisearch - Your index cache may be incorrect or corrupted. If this message keeps appearing, go to Settings to clear the cache.",5e3)}};var ce=new Ys;var Js=new Set;function ac(t){Js.add(t)}async function mi(){let t=[...Js].map(e=>e.path);t.length&&(ce.removeFromPaths(t),ce.addFromPaths(t),Js.clear())}function lc(t,e,r){let n=t.slice();return n[30]=e[r],n[32]=r,n}function cy(t){let e,r,n;return{c(){e=O("button"),e.textContent="Create note"},m(i,s){z(i,e,s),r||(n=Te(e,"click",t[8]),r=!0)},p:ne,d(i){i&&K(e),r=!1,n()}}}function fy(t){let e,r=E.showCreateButton&&cy(t);return{c(){r&&r.c(),e=Jt()},m(n,i){r&&r.m(n,i),z(n,e,i)},p(n,i){E.showCreateButton&&r.p(n,i)},d(n){r&&r.d(n),n&&K(e)}}}function uc(t){let e,r,n;return{c(){e=O("div"),r=Fe("\u23F3 Work in progress: "),n=Fe(t[3]),ke(e,"text-align","center"),ke(e,"color","var(--text-accent)"),ke(e,"margin-top","10px")},m(i,s){z(i,e,s),k(e,r),k(e,n)},p(i,s){s[0]&8&&St(n,i[3])},d(i){i&&K(e)}}}function cc(t){let e,r;function n(...i){return t[14](t[32],...i)}return e=new $a({props:{selected:t[32]===t[0],note:t[30]}}),e.$on("mousemove",n),e.$on("click",t[6]),e.$on("auxclick",t[15]),{c(){Se(e.$$.fragment)},m(i,s){we(e,i,s),r=!0},p(i,s){t=i;let o={};s[0]&1&&(o.selected=t[32]===t[0]),s[0]&4&&(o.note=t[30]),e.$set(o)},i(i){r||(Q(e.$$.fragment,i),r=!0)},o(i){q(e.$$.fragment,i),r=!1},d(i){ge(e,i)}}}function dy(t){let e;return{c(){e=Fe("Searching...")},m(r,n){z(r,e,n)},p:ne,d(r){r&&K(e)}}}function hy(t){let e,r=E.simpleSearch&&t[1].split(mt).some(dc),n,i=r&&fc(t);return{c(){e=Fe(`We found 0 result for your search here. - `),i&&i.c(),n=Jt()},m(s,o){z(s,e,o),i&&i.m(s,o),z(s,n,o)},p(s,o){o[0]&2&&(r=E.simpleSearch&&s[1].split(mt).some(dc)),r?i||(i=fc(s),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},d(s){s&&K(e),i&&i.d(s),s&&K(n)}}}function fc(t){let e,r,n;return{c(){e=O("br"),r=U(),n=O("span"),n.textContent=`You have enabled "Simpler Search" in the settings, try to type more - characters.`,ke(n,"color","var(--text-accent)"),ke(n,"font-size","small")},m(i,s){z(i,e,s),z(i,r,s),z(i,n,s)},d(i){i&&K(e),i&&K(r),i&&K(n)}}}function py(t){let e,r,n,i=t[2],s=[];for(let c=0;cq(s[c],1,1,()=>{s[c]=null});function a(c,d){if(!c[2].length&&c[1]&&!c[4])return hy;if(c[4])return dy}let l=a(t,[-1,-1]),u=l&&l(t);return{c(){for(let c=0;c\u2191\u2193to navigate',l=U(),u=O("div"),u.innerHTML=`alt \u2191\u2193 - to cycle history`,c=U(),d=O("div"),d.innerHTML='\u21B5to open',f=U(),y=O("div"),y.innerHTML=`tab - to switch to In-File Search`,w=U(),b=O("div"),x=O("span"),x.textContent=`${Vn()} \u21B5`,h=U(),v=O("span"),v.textContent="to open in a new pane",p=U(),m=O("div"),m.innerHTML=`shift \u21B5 - to create`,_=U(),g=O("div"),g.innerHTML=`ctrl shift \u21B5 - to create in a new pane`,j=U(),A=O("div"),A.innerHTML=`alt \u21B5 - to insert a link`,C=U(),F=O("div"),F.innerHTML=`ctrl+h - to toggle excerpts`,D=U(),P=O("div"),P.innerHTML='escto close',B(a,"class","prompt-instruction"),B(u,"class","prompt-instruction"),B(d,"class","prompt-instruction"),B(y,"class","prompt-instruction"),B(x,"class","prompt-instruction-command"),B(b,"class","prompt-instruction"),B(m,"class","prompt-instruction"),B(g,"class","prompt-instruction"),B(A,"class","prompt-instruction"),B(F,"class","prompt-instruction"),B(P,"class","prompt-instruction"),B(o,"class","prompt-instructions")},m(M,S){we(e,M,S),z(M,r,S),$&&$.m(M,S),z(M,n,S),we(i,M,S),z(M,s,S),z(M,o,S),k(o,a),k(o,l),k(o,u),k(o,c),k(o,d),k(o,f),k(o,y),k(o,w),k(o,b),k(b,x),k(b,h),k(b,v),k(o,p),k(o,m),k(o,_),k(o,g),k(o,j),k(o,A),k(o,C),k(o,F),k(o,D),k(o,P),T=!0},p(M,S){let V={};S[0]&2&&(V.initialValue=M[1]),S[1]&4&&(V.$$scope={dirty:S,ctx:M}),e.$set(V),M[3]?$?$.p(M,S):($=uc(M),$.c(),$.m(n.parentNode,n)):$&&($.d(1),$=null);let te={};S[0]&23|S[1]&4&&(te.$$scope={dirty:S,ctx:M}),i.$set(te)},i(M){T||(Q(e.$$.fragment,M),Q(i.$$.fragment,M),T=!0)},o(M){q(e.$$.fragment,M),q(i.$$.fragment,M),T=!1},d(M){t[12](null),ge(e,M),M&&K(r),$&&$.d(M),M&&K(n),ge(i,M),M&&K(s),M&&K(o)}}}var dc=t=>t.length<3;function gy(t,e,r){let n,i;ln(t,pt,S=>r(11,i=S));let{modal:s}=e,{previousQuery:o}=e,a=0,l=0,u,c=[],d,f="",y=!0,w;Tr(async()=>{H.enable("vault"),H.on("vault","enter",p),H.on("vault","create-note",A),H.on("vault","open-in-new-pane",m),H.on("vault","insert-link",C),H.on("vault","tab",F),H.on("vault","arrow-up",()=>D(-1)),H.on("vault","arrow-down",()=>D(1)),H.on("vault","prev-search-history",b),H.on("vault","next-search-history",x),await mi(),E.showPreviousQueryResults&&r(9,o=(await de.getSearchHistory())[0])}),kr(()=>{H.disable("vault")});async function b(){let S=(await de.getSearchHistory()).filter(V=>V);++l>=S.length&&(l=0),r(1,u=S[l]),w?.setInputValue(u)}async function x(){let S=(await de.getSearchHistory()).filter(V=>V);--l<0&&(l=S.length?S.length-1:0),r(1,u=S[l]),w?.setInputValue(u)}async function h(){d=new zt(u),r(2,c=await ce.getSuggestions(d)),r(0,a=0),await P()}function v(S){!n||(S?.ctrlKey?m():p(),s.close())}function p(){!n||(g(n),s.close())}function m(){!n||(g(n,!0),s.close())}function _(){u&&de.addToSearchHistory(u)}function g(S,V=!1){_(),Un(S,V)}async function j(S){await A()}async function A(S){if(u){try{await Oa(u,S?.newLeaf)}catch(V){new Ft.Notice(V.message);return}s.close()}}function C(){if(!n)return;let S=app.vault.getMarkdownFiles().find(st=>st.path===n.path),V=app.workspace.getActiveFile(),te=app.workspace.getActiveViewOfType(Ft.MarkdownView);if(!te?.editor){new Ft.Notice("Omnisearch - Error - No active editor",3e3);return}let Wt;S&&V?Wt=app.fileManager.generateMarkdownLink(S,V.path):Wt=`[[${n.basename}.${Kt(n.path)}]]`;let it=te.editor.getCursor();te.editor.replaceRange(Wt,it,it),it.ch+=Wt.length,te.editor.setCursor(it),s.close()}function F(){if(!(n&&(en(n?.path)||!n?.matches.length)))if(_(),s.close(),n){let S=app.vault.getAbstractFileByPath(n.path);S&&S instanceof Ft.TFile&&new Cr(app,S,u).open()}else{let S=app.workspace.getActiveViewOfType(Ft.MarkdownView);S&&new Cr(app,S.file,u).open()}}function D(S){r(0,a=zn(a+S,c.length)),P()}async function P(){await ot(),n&&activeWindow.document.querySelector(`[data-result-id="${n.path}"]`)?.scrollIntoView({behavior:"auto",block:"nearest"})}function T(S){He[S?"unshift":"push"](()=>{w=S,r(5,w)})}let N=S=>r(1,u=S.detail),$=(S,V)=>r(0,a=S),M=S=>{S.button==1&&m()};return t.$$set=S=>{"modal"in S&&r(10,s=S.modal),"previousQuery"in S&&r(9,o=S.previousQuery)},t.$$.update=()=>{if(t.$$.dirty[0]&514){e:r(1,u=u??o)}if(t.$$.dirty[0]&2){e:u?(r(4,y=!0),h().then(()=>{r(4,y=!1)})):(r(4,y=!1),r(2,c=[]))}if(t.$$.dirty[0]&5){e:n=c[a]}if(t.$$.dirty[0]&2048){e:switch(i){case Pe.LoadingCache:r(3,f="Loading cache...");break;case Pe.ReadingFiles:r(3,f="Reading files...");break;case Pe.IndexingFiles:r(3,f="Indexing files...");break;case Pe.WritingCache:h(),r(3,f="Updating cache...");break;default:h(),r(3,f="");break}}},[a,u,c,f,y,w,v,m,j,o,s,i,T,N,$,M]}var hc=class extends pe{constructor(e){super();ye(this,e,gy,my,fe,{modal:10,previousQuery:9},null,[-1,-1])}},pc=hc;var yc=be(require("obsidian"));function yy(t){let e,r=t[2].replace(t[3],gt)+"";return{c(){e=O("div"),B(e,"class","omnisearch-result__body")},m(n,i){z(n,e,i),e.innerHTML=r},p(n,i){i&12&&r!==(r=n[2].replace(n[3],gt)+"")&&(e.innerHTML=r)},d(n){n&&K(e)}}}function vy(t){let e,r;return e=new Gn({props:{id:t[0].toString(),selected:t[1],$$slots:{default:[yy]},$$scope:{ctx:t}}}),e.$on("mousemove",t[6]),e.$on("click",t[7]),e.$on("auxclick",t[8]),{c(){Se(e.$$.fragment)},m(n,i){we(e,n,i),r=!0},p(n,[i]){let s={};i&1&&(s.id=n[0].toString()),i&2&&(s.selected=n[1]),i&524&&(s.$$scope={dirty:i,ctx:n}),e.$set(s)},i(n){r||(Q(e.$$.fragment,n),r=!0)},o(n){q(e.$$.fragment,n),r=!1},d(n){ge(e,n)}}}function _y(t,e,r){let n,i,{offset:s}=e,{note:o}=e,{index:a=0}=e,{selected:l=!1}=e;function u(f){Me.call(this,t,f)}function c(f){Me.call(this,t,f)}function d(f){Me.call(this,t,f)}return t.$$set=f=>{"offset"in f&&r(4,s=f.offset),"note"in f&&r(5,o=f.note),"index"in f&&r(0,a=f.index),"selected"in f&&r(1,l=f.selected)},t.$$.update=()=>{if(t.$$.dirty&32){e:r(3,n=yt(o.foundWords))}if(t.$$.dirty&48){e:r(2,i=ur(o?.content??"",s))}},[a,l,i,n,s,o,u,c,d]}var mc=class extends pe{constructor(e){super();ye(this,e,_y,vy,fe,{offset:4,note:5,index:0,selected:1})}},gc=mc;function vc(t,e,r){let n=t.slice();return n[19]=e[r],n[21]=r,n}function xy(t){let e;return{c(){e=O("div"),e.textContent="We found 0 result for your search here.",ke(e,"text-align","center")},m(r,n){z(r,e,n)},p:ne,i:ne,o:ne,d(r){r&&K(e)}}}function by(t){let e,r,n=t[4],i=[];for(let o=0;oq(i[o],1,1,()=>{i[o]=null});return{c(){for(let o=0;o{o[c]=null}),Tt(),r=o[e],r?r.p(l,u):(r=o[e]=s[e](l),r.c()),Q(r,1),r.m(n.parentNode,n))},i(l){i||(Q(r),i=!0)},o(l){q(r),i=!1},d(l){o[e].d(l),l&&K(n)}}}function jy(t){let e;return{c(){e=O("span"),e.textContent="to close"},m(r,n){z(r,e,n)},d(r){r&&K(e)}}}function Ay(t){let e;return{c(){e=O("span"),e.textContent="to go back to Vault Search"},m(r,n){z(r,e,n)},d(r){r&&K(e)}}}function Cy(t){let e,r,n,i,s,o,a,l,u,c,d,f,y,w,b,x,h,v,p,m;e=new Hn({props:{placeholder:"Omnisearch - File",initialValue:t[1]}}),e.$on("input",t[10]),n=new Wn({props:{$$slots:{default:[wy]},$$scope:{ctx:t}}});function _(A,C){return A[0]?Ay:jy}let g=_(t,-1),j=g(t);return{c(){Se(e.$$.fragment),r=U(),Se(n.$$.fragment),i=U(),s=O("div"),o=O("div"),o.innerHTML='\u2191\u2193to navigate',a=U(),l=O("div"),l.innerHTML='\u21B5to open',u=U(),c=O("div"),c.innerHTML=`tab - to switch to Vault Search`,d=U(),f=O("div"),y=O("span"),y.textContent="esc",w=U(),j.c(),b=U(),x=O("div"),h=O("span"),h.textContent=`${Vn()} \u21B5`,v=U(),p=O("span"),p.textContent="to open in a new pane",B(o,"class","prompt-instruction"),B(l,"class","prompt-instruction"),B(c,"class","prompt-instruction"),B(y,"class","prompt-instruction-command"),B(f,"class","prompt-instruction"),B(h,"class","prompt-instruction-command"),B(x,"class","prompt-instruction"),B(s,"class","prompt-instructions")},m(A,C){we(e,A,C),z(A,r,C),we(n,A,C),z(A,i,C),z(A,s,C),k(s,o),k(s,a),k(s,l),k(s,u),k(s,c),k(s,d),k(s,f),k(f,y),k(f,w),j.m(f,null),k(s,b),k(s,x),k(x,h),k(x,v),k(x,p),m=!0},p(A,[C]){let F={};C&2&&(F.initialValue=A[1]),e.$set(F);let D={};C&4194360&&(D.$$scope={dirty:C,ctx:A}),n.$set(D),g!==(g=_(A,C))&&(j.d(1),j=g(A),j&&(j.c(),j.m(f,null)))},i(A){m||(Q(e.$$.fragment,A),Q(n.$$.fragment,A),m=!0)},o(A){q(e.$$.fragment,A),q(n.$$.fragment,A),m=!1},d(A){ge(e,A),A&&K(r),ge(n,A),A&&K(i),A&&K(s),j.d()}}}function Fy(t,e,r){let n=t.find(i=>i.offset>e);return n?t.filter(i=>i.offset>e&&i.offset<=n.offset+r):[]}function Sy(t,e,r){let{modal:n}=e,{parent:i=null}=e,{singleFilePath:s=""}=e,{previousQuery:o}=e,a,l=[],u=0,c,d;Tr(()=>{H.enable("infile"),H.on("infile","enter",x),H.on("infile","open-in-new-pane",b),H.on("infile","arrow-up",()=>y(-1)),H.on("infile","arrow-down",()=>y(1)),H.on("infile","tab",h)}),kr(()=>{H.disable("infile")});function f(g){let j=[],A=-1,C=0;for(;;){let F=Fy(g,A,Jr);if(!F.length||(A=F.last().offset,j.push(F),++C>100))break}return j}function y(g){r(5,u=zn(u+g,l.length)),w()}async function w(){await ot(),document.querySelector(`[data-result-id="${u}"]`)?.scrollIntoView({behavior:"auto",block:"nearest"})}async function b(){return x(!0)}async function x(g=!1){if(c){n.close(),i&&i.close(),await Un(c,g);let j=app.workspace.getActiveViewOfType(yc.MarkdownView);if(!j)return;let A=l[u]??0,C=j.editor.offsetToPos(A);C.ch=0,j.editor.setCursor(C),j.editor.scrollIntoView({from:{line:C.line-10,ch:0},to:{line:C.line+10,ch:0}})}}function h(){new Ht(app,a??o).open(),n.close()}let v=g=>r(2,a=g.detail),p=(g,j)=>r(5,u=g),m=g=>x(g.ctrlKey),_=g=>{g.button==1&&x(!0)};return t.$$set=g=>{"modal"in g&&r(7,n=g.modal),"parent"in g&&r(0,i=g.parent),"singleFilePath"in g&&r(8,s=g.singleFilePath),"previousQuery"in g&&r(1,o=g.previousQuery)},t.$$.update=()=>{if(t.$$.dirty&2){e:r(2,a=o??"")}if(t.$$.dirty&772){e:(async()=>{a&&(r(9,d=new zt(a)),r(3,c=(await ce.getSuggestions(d,{singleFilePath:s}))[0]??null)),r(5,u=0),await w()})()}if(t.$$.dirty&8){e:if(c){let g=f(c.matches);r(4,l=g.map(j=>Math.round((j.first().offset+j.last().offset)/2)))}}},[i,o,a,c,l,u,x,n,s,d,v,p,m,_]}var xc=class extends pe{constructor(e){super();ye(this,e,Sy,Cy,fe,{modal:7,parent:0,singleFilePath:8,previousQuery:1})}},bc=xc;var Xs=class extends wc.Modal{constructor(e){super(e);this.modalEl.replaceChildren(),this.modalEl.addClass("omnisearch-modal","prompt"),this.modalEl.removeClass("modal"),this.modalEl.tabIndex=-1,this.scope.register([],"ArrowDown",r=>{r.preventDefault(),H.emit("arrow-down")}),this.scope.register([],"ArrowUp",r=>{r.preventDefault(),H.emit("arrow-up")});for(let r of[{k:"J",dir:"down"},{k:"K",dir:"up"}])for(let n of["Ctrl","Mod"])this.scope.register([n],r.k,i=>{this.app.vault.getConfig("vimMode")&&H.emit("arrow-"+r.dir)});for(let r of[{k:"N",dir:"down"},{k:"P",dir:"up"}])for(let n of["Ctrl","Mod"])this.scope.register([n],r.k,i=>{this.app.vault.getConfig("vimMode")&&H.emit("arrow-"+r.dir)});this.scope.register(["Mod"],"Enter",r=>{r.preventDefault(),H.emit("open-in-new-pane")}),this.scope.register(["Alt"],"Enter",r=>{r.preventDefault(),H.emit("insert-link")}),this.scope.register(["Shift"],"Enter",r=>{r.preventDefault(),H.emit("create-note")}),this.scope.register(["Ctrl","Shift"],"Enter",r=>{r.preventDefault(),H.emit("create-note",{newLeaf:!0})}),this.scope.register([],"Enter",r=>{ga()||(r.preventDefault(),H.emit("enter"))}),this.scope.register([],"Tab",r=>{r.preventDefault(),H.emit("tab")}),this.scope.register(["Alt"],"ArrowDown",r=>{r.preventDefault(),H.emit("next-search-history")}),this.scope.register(["Alt"],"ArrowUp",r=>{r.preventDefault(),H.emit("prev-search-history")}),this.scope.register(["Ctrl"],"H",r=>{H.emit(Ln.ToggleExcerpts)})}},Ht=class extends Xs{constructor(e,r){super(e);let n=new pc({target:this.modalEl,props:{modal:this,previousQuery:r}});this.onClose=()=>{n.$destroy()}}},Cr=class extends Xs{constructor(e,r,n="",i){super(e);let s=new bc({target:this.modalEl,props:{modal:this,singleFilePath:r.path,parent:i,previousQuery:n}});i&&i.containerEl.toggleVisibility(!1),this.onClose=()=>{i&&i.containerEl.toggleVisibility(!0),s.$destroy()}}};var jc=!1,gi=[];function Ey(t){return t.map(e=>{let{score:r,path:n,basename:i,foundWords:s,matches:o,content:a}=e,l=ur(a,o[0]?.offset??-1);return{score:r,path:n,basename:i,foundWords:s,matches:o.map(u=>({match:u.match,offset:u.offset})),excerpt:l}})}async function Dy(t){let e=new zt(t),r=await ce.getSuggestions(e);return Ey(r)}function Ty(t){gi.push(t),jc&&t()}function ky(t){gi=gi.filter(e=>e!==t)}function Ac(){jc=!0,gi.forEach(t=>t())}var Zs={search:Dy,registerOnIndexed:Ty,unregisterOnIndexed:ky,refreshIndex:mi};var eo=class extends Fr.Plugin{async onload(){await ca(this),await Iy(),await lr.clearOldDatabases(),Oy(this),E.ribbonIcon&&this.addRibbonButton(),this.addSettingTab(new _s(this)),H.disable("vault"),H.disable("infile"),H.on("global",Ln.ToggleExcerpts,()=>{Lt.set(!E.showExcerpt)}),this.addCommand({id:"show-modal",name:"Vault search",callback:()=>{new Ht(app).open()}}),this.addCommand({id:"show-modal-infile",name:"In-file search",editorCallback:(e,r)=>{r.file&&new Cr(app,r.file).open()}}),app.workspace.onLayoutReady(async()=>{this.registerEvent(this.app.vault.on("create",e=>{Zr(e.path)&&(ie("Indexing new file",e.path),ce.addFromPaths([e.path]))})),this.registerEvent(this.app.vault.on("delete",e=>{ie("Removing file",e.path),de.removeFromLiveCache(e.path),ce.removeFromPaths([e.path])})),this.registerEvent(this.app.vault.on("modify",async e=>{Zr(e.path)&&(ie("Updating file",e.path),await de.addToLiveCache(e.path),ac(e))})),this.registerEvent(this.app.vault.on("rename",async(e,r)=>{Zr(e.path)&&(ie("Renaming file",e.path),de.removeFromLiveCache(r),de.addToLiveCache(e.path),ce.removeFromPaths([r]),await ce.addFromPaths([e.path]))})),this.executeFirstLaunchTasks(),await this.populateIndex()})}executeFirstLaunchTasks(){let e="1.10.1";if(E.welcomeMessage!==e){let r=new DocumentFragment;r.createSpan({},n=>{n.innerHTML="\u{1F50E} Omnisearch now requires the Text Extractor plugin to index PDF and images. See Omnisearch settings for more information."}),new Fr.Notice(r,2e4)}E.welcomeMessage=e,this.saveData(E)}async onunload(){delete globalThis.omnisearch,await Ee.clearCache()}addRibbonButton(){this.ribbonButton=this.addRibbonIcon("search","Omnisearch",e=>{new Ht(app).open()})}removeRibbonButton(){this.ribbonButton&&this.ribbonButton.parentNode?.removeChild(this.ribbonButton)}async populateIndex(){console.time("Omnisearch - Indexing total time"),pt.set(Pe.ReadingFiles);let e=app.vault.getFiles().filter(n=>Zr(n.path));console.log(`Omnisearch - ${e.length} files total`),console.log(`Omnisearch - Cache is ${ht()?"enabled":"disabled"}`),ht()&&(console.time("Omnisearch - Loading index from cache"),pt.set(Pe.LoadingCache),await ce.loadCache()&&console.timeEnd("Omnisearch - Loading index from cache"));let r=ce.getDiff(e.map(n=>({path:n.path,mtime:n.stat.mtime})));ht()&&(r.toAdd.length&&console.log("Omnisearch - Total number of files to add/update: "+r.toAdd.length),r.toRemove.length&&console.log("Omnisearch - Total number of files to remove: "+r.toRemove.length)),r.toAdd.length>=1e3&&ht()&&new Fr.Notice(`Omnisearch - ${r.toAdd.length} files need to be indexed. Obsidian may experience stutters and freezes during the process`,1e4),pt.set(Pe.IndexingFiles),ce.removeFromPaths(r.toRemove.map(n=>n.path)),await ce.addFromPaths(r.toAdd.map(n=>n.path)),(r.toRemove.length||r.toAdd.length)&&ht()&&(pt.set(Pe.WritingCache),E.useCache=!1,ue(this),await ce.writeToCache(),E.useCache=!0,ue(this)),console.timeEnd("Omnisearch - Indexing total time"),r.toAdd.length>=1e3&&new Fr.Notice("Omnisearch - Your files have been indexed."),pt.set(Pe.Done),Ac()}};async function Iy(){let t=[`${app.vault.configDir}/plugins/omnisearch/searchIndex.json`,`${app.vault.configDir}/plugins/omnisearch/notesCache.json`,`${app.vault.configDir}/plugins/omnisearch/notesCache.data`,`${app.vault.configDir}/plugins/omnisearch/searchIndex.data`,`${app.vault.configDir}/plugins/omnisearch/historyCache.json`,`${app.vault.configDir}/plugins/omnisearch/pdfCache.data`];for(let e of t)if(await app.vault.adapter.exists(e))try{await app.vault.adapter.remove(e)}catch{}}function Oy(t){t.registerObsidianProtocolHandler("omnisearch",e=>{new Ht(app,e.query).open()}),globalThis.omnisearch=Zs,app.plugins.plugins.omnisearch.api=Zs} + ${sn} + `}),new Y.Setting(e).setName("Split CamelCaseWords").setDesc(l).addToggle(f=>f.setValue(I.splitCamelCase).onChange(async c=>{await Be.clearCache(),I.splitCamelCase=c,await pe(this.plugin)})),new Y.Setting(e).setName("Simpler search").setDesc(`Enable this if Obsidian often freezes while making searches. + Words shorter than 3 characters won't be used as prefixes; this can reduce search delay but will return fewer results.`).addToggle(f=>f.setValue(I.simpleSearch).onChange(async c=>{I.simpleSearch=c,await pe(this.plugin)})),new Y.Setting(e).setName("Open in new pane").setDesc("Open and create files in a new pane instead of the current pane.").addToggle(f=>f.setValue(I.openInNewPane).onChange(async c=>{I.openInNewPane=c,await pe(this.plugin)})),new Y.Setting(e).setName("User Interface").setHeading(),new Y.Setting(e).setName("Show ribbon button").setDesc("Add a button on the sidebar to open the Vault search modal.").addToggle(f=>f.setValue(I.ribbonIcon).onChange(async c=>{I.ribbonIcon=c,await pe(this.plugin),c?this.plugin.addRibbonButton():this.plugin.removeRibbonButton()})),new Y.Setting(e).setName("Show excerpts").setDesc("Shows the contextual part of the note that matches the search. Disable this to only show filenames in results.").addToggle(f=>f.setValue(I.showExcerpt).onChange(async c=>{Ut.set(c)})),new Y.Setting(e).setName("Render line return in excerpts").setDesc("Activate this option to render line returns in result excerpts.").addToggle(f=>f.setValue(I.renderLineReturnInExcerpts).onChange(async c=>{I.renderLineReturnInExcerpts=c,await pe(this.plugin)})),new Y.Setting(e).setName("Show previous query results").setDesc("Re-executes the previous query when opening Omnisearch.").addToggle(f=>f.setValue(I.showPreviousQueryResults).onChange(async c=>{I.showPreviousQueryResults=c,await pe(this.plugin)}));let u=new DocumentFragment;u.createSpan({},f=>{f.innerHTML=`Shows a button next to the search input, to create a note. + Acts the same as the shift \u21B5 shortcut, can be useful for mobile device users.`}),new Y.Setting(e).setName('Show "Create note" button').setDesc(u).addToggle(f=>f.setValue(I.showCreateButton).onChange(async c=>{I.showCreateButton=c,await pe(this.plugin)})),new Y.Setting(e).setName("Highlight matching words in results").setDesc("Will highlight matching results when enabled. See README for more customization options.").addToggle(f=>f.setValue(I.highlight).onChange(async c=>{I.highlight=c,await pe(this.plugin)})),new Y.Setting(e).setName("Results weighting").setHeading(),new Y.Setting(e).setName(`File name & declared aliases (default: ${Gt.weightBasename})`).addSlider(f=>this.weightSlider(f,"weightBasename")),new Y.Setting(e).setName(`File directory (default: ${Gt.weightDirectory})`).addSlider(f=>this.weightSlider(f,"weightDirectory")),new Y.Setting(e).setName(`Headings level 1 (default: ${Gt.weightH1})`).addSlider(f=>this.weightSlider(f,"weightH1")),new Y.Setting(e).setName(`Headings level 2 (default: ${Gt.weightH2})`).addSlider(f=>this.weightSlider(f,"weightH2")),new Y.Setting(e).setName(`Headings level 3 (default: ${Gt.weightH3})`).addSlider(f=>this.weightSlider(f,"weightH3")),new Y.Setting(e).setName("Debugging").setHeading(),new Y.Setting(e).setName("Enable verbose logging").setDesc("Adds a LOT of logs for debugging purposes. Don't forget to disable it.").addToggle(f=>f.setValue(I.verboseLogging).onChange(async c=>{I.verboseLogging=c,await pe(this.plugin)})),new Y.Setting(e).setName("Danger Zone").setHeading();let d=new DocumentFragment;if(d.createSpan({},f=>{f.innerHTML=`Disable Omnisearch on this device only.
      + ${sn}`}),new Y.Setting(e).setName("Disable on this device").setDesc(d).addToggle(f=>f.setValue(Oo()).onChange(async c=>{c?app.saveLocalStorage(an,"1"):app.saveLocalStorage(an),new Y.Notice("Omnisearch - Disabled. Please restart Obsidian.")})),wt()){let f=new DocumentFragment;f.createSpan({},c=>{c.innerHTML=`Erase all Omnisearch cache data. + Use this if Omnisearch results are inconsistent, missing, or appear outdated.
      + ${sn}`}),new Y.Setting(e).setName("Clear cache data").setDesc(f).addButton(c=>{c.setButtonText("Clear cache"),c.onClick(async()=>{await Be.clearCache(),new Y.Notice("Omnisearch - Cache cleared. Please restart Obsidian.")})})}}weightSlider(e,r){e.setLimits(1,5,.1).setValue(I[r]).setDynamicTooltip().onChange(n=>{I[r]=n,pe(this.plugin)})}},Gt={useCache:!0,hideExcluded:!1,ignoreDiacritics:!0,indexedFileTypes:[],PDFIndexing:!1,imagesIndexing:!1,splitCamelCase:!1,openInNewPane:!1,ribbonIcon:!0,showExcerpt:!0,renderLineReturnInExcerpts:!0,showCreateButton:!1,highlight:!0,showPreviousQueryResults:!0,simpleSearch:!1,weightBasename:3,weightDirectory:2,weightH1:1.5,weightH2:1.3,weightH3:1.1,welcomeMessage:"",verboseLogging:!1},I=Object.assign({},Gt);async function ja(t){I=Object.assign({},Gt,await t.loadData()),Ut.set(I.showExcerpt)}async function pe(t){await t.saveData(I)}function Oo(){return app.loadLocalStorage(an)=="1"}var Ca=Fe(require("obsidian"));var Aa=/[\u4e00-\u9fa5]/;var Sa=100,ln=300,Fa=`suggestion-highlight omnisearch-highlight ${I.highlight?"omnisearch-default-highlight":""}`,an="omnisearch-disabled",U=new Bi,qn={ToggleExcerpts:"toggle-excerpts"},We=(o=>(o[o.Done=0]="Done",o[o.LoadingCache=1]="LoadingCache",o[o.ReadingFiles=2]="ReadingFiles",o[o.IndexingFiles=3]="IndexingFiles",o[o.WritingCache=4]="WritingCache",o))(We||{});var jt=Cn(0),Ea=!1;function ko(t){Ea=t}function Da(){return Ea}function Yn(){return app.plugins.plugins["cm-chs-patch"]}function et(){return app.plugins?.plugins?.["text-extractor"]?.api}function wt(){return!Ca.Platform.isIosApp&&I.useCache}var Ct=/[|\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;var za=Fe(require("obsidian"));var ct=Fe(require("obsidian"));var Ia=Fe(require("crypto")),Oa=Fe(Ta());function At(...t){return t[1]!==null&&t[1]!==void 0&&t[2]!==null&&t[2]!==void 0?`${t[1]}${t[2]}`:"<no content>"}function Fd(t){return t.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function ka(t){let e=t.split("/");return e.pop(),e.join("/")}function Ed(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"[$&]")}function St(t){if(!t.length)return/^$/g;let e="("+(Yn()?"":I.splitCamelCase?`^|${Ct.source}|[A-Z]`:`^|${Ct.source}`)+`)(${t.map(n=>Ed(n)).join("|")})`;return new RegExp(`${e}`,"giu")}function Jn(t,e){return t.headings?.filter(r=>r.level===e).map(r=>r.heading)??[]}function Xn(t,e){return(t+e)%e}function yr(t,e){try{let r=e??-1,n=Math.max(0,r-Sa),i=Math.min(t.length,r+ln);if(r>-1?t=(n>0?"\u2026":"")+t.slice(n,i).trim()+(ia).join(` +`);let s=t.lastIndexOf(` +`,r-n);s>0&&(t=t.slice(s))}return t=Fd(t),I.renderLineReturnInExcerpts&&(t=t.trim().replaceAll(` +`,"
      ")),t}catch(r){return new ct.Notice("Omnisearch - Error while creating excerpt, see developer console"),console.error("Omnisearch - Error while creating excerpt"),console.error(r),""}}function Mo(t){return t.replace(/(\*|_)+(.+?)(\*|_)+/g,(e,r,n)=>n)}function Pa(t){return t?.frontmatter?(0,ct.parseFrontMatterAliases)(t.frontmatter)??[]:[]}function Ma(t){let e=t?(0,ct.getAllTags)(t)??[]:[];return e=[...new Set(e.reduce((r,n)=>[...r,...n.split("/").filter(i=>i).map(i=>i.startsWith("#")?i:`#${i}`),n],[]))],e}function ft(t){return t==null?"":(t=t.replaceAll("`","[__omnisearch__backtick__]"),t=t.normalize("NFD").replace(/\p{Diacritic}/gu,""),t=t.replaceAll("[__omnisearch__backtick__]","`"),t)}function Qt(){return ct.Platform.isMacOS?"\u2318":"ctrl"}function cn(t){let e=!!et(),r=e&&I.PDFIndexing,n=e&&I.imagesIndexing;return Ro(t)||dn(t)||r&&fn(t)||n&&Zn(t)}function Zn(t){let e=qt(t);return e==="png"||e==="jpg"||e==="jpeg"}function fn(t){return qt(t)==="pdf"}function Ro(t){return[...I.indexedFileTypes,"md"].some(e=>t.endsWith(`.${e}`))}function dn(t){return t.endsWith(".canvas")}function qt(t){let e=t.split(".");return e[e.length-1]??""}function Ra(t){return ct.Platform.isMobileApp?(0,Oa.md5)(t.toString()):(0,Ia.createHash)("md5").update(t).digest("hex")}function La(t,e){let r=[],n=0,i=t.length;for(;no.path===t);if(!e)throw new Error(`Invalid file path: "${t}"`);let r=null,n=et();if(Ro(t))r=await app.vault.cachedRead(e);else if(dn(t)){let o=JSON.parse(await app.vault.cachedRead(e)),s=[];for(let a of o.nodes)a.type==="text"?s.push(a.text):a.type==="file"&&s.push(a.file);for(let a of o.edges.filter(l=>!!l.label))s.push(a.label);r=s.join(`\r +`)}else if(n?.canFileBeExtracted(t))r=await n.extractText(e);else throw new Error(`Unsupported file type: "${t}"`);r==null&&(console.warn(`Omnisearch: ${r} content for file`,e.path),r=""),r=ft(r);let i=app.metadataCache.getFileCache(e);if(i&&i.frontmatter?.["excalidraw-plugin"]){let o=i.sections?.filter(s=>s.type==="comment")??[];for(let{start:s,end:a}of o.map(l=>l.position))r=r.substring(0,s.offset-1)+r.substring(a.offset)}return{basename:ft(e.basename),content:r,path:e.path,mtime:e.stat.mtime,tags:Ma(i),aliases:Pa(i).join(""),headings1:i?Jn(i,1).join(" "):"",headings2:i?Jn(i,2).join(" "):"",headings3:i?Jn(i,3).join(" "):""}}var Va=class{constructor(){this.nextQueryIsEmpty=!1;this.documents=new Map}async addToLiveCache(e){try{let r=await Dd(e);if(!r.path){console.error(`Missing .path field in IndexedDocument "${r.basename}", skipping`);return}this.documents.set(e,r)}catch(r){console.warn(`Omnisearch: Error while adding "${e}" to live cache`,r),this.removeFromLiveCache(e)}}removeFromLiveCache(e){this.documents.delete(e)}async getDocument(e){return this.documents.has(e)?this.documents.get(e):(fe("Generating IndexedDocument from",e),await this.addToLiveCache(e),this.documents.get(e))}async addToSearchHistory(e){if(!e){this.nextQueryIsEmpty=!0;return}this.nextQueryIsEmpty=!1;let r=await Be.searchHistory.toArray();r=r.filter(n=>n.query!==e).reverse(),r.unshift({query:e}),r=r.slice(0,10),await Be.searchHistory.clear(),await Be.searchHistory.bulkAdd(r)}async getSearchHistory(){let e=(await Be.searchHistory.toArray()).reverse().map(r=>r.query);return this.nextQueryIsEmpty&&e.unshift(""),e}getDocumentsChecksum(e){return Ra(JSON.stringify(e.sort((r,n)=>r.pathn.path?1:0)))}async getMinisearchCache(){try{return(await Be.minisearch.toArray())[0]}catch(e){return new za.Notice("Omnisearch - Cache missing or invalid. Some freezes may occur while Omnisearch indexes your vault."),console.error("Omnisearch - Error while loading Minisearch cache"),console.error(e),null}}async writeMinisearchCache(e,r){let n=Array.from(r).map(([i,o])=>({path:i,mtime:o}));await Be.minisearch.clear(),await Be.minisearch.add({date:new Date().toISOString(),paths:n,data:e.toJSON()}),console.log("Omnisearch - Search cache written")}},we=new Va;function Td(t){let e,r,n,i,o,s,a,l,u=t[8].default,d=tr(u,t,t[7],null);return{c(){e=R("div"),r=R("div"),n=R("input"),o=W(),d&&d.c(),B(n,"class","prompt-input"),B(n,"placeholder",t[0]),B(n,"spellcheck","false"),B(n,"type","text"),B(r,"class","omnisearch-input-field"),B(e,"class","omnisearch-input-container")},m(f,c){$(f,e,c),T(e,r),T(r,n),t[9](n),Ii(n,t[1]),T(e,o),d&&d.m(e,null),s=!0,a||(l=[Ke(n,"input",t[10]),Cs(i=t[3].call(null,n)),Ke(n,"compositionend",t[11]),Ke(n,"compositionstart",t[12]),Ke(n,"input",t[4])],a=!0)},p(f,[c]){(!s||c&1)&&B(n,"placeholder",f[0]),c&2&&n.value!==f[1]&&Ii(n,f[1]),d&&d.p&&(!s||c&128)&&nr(d,u,f,f[7],s?rr(u,f[7],c,null):ir(f[7]),null)},i(f){s||(ee(d,f),s=!0)},o(f){re(d,f),s=!1},d(f){f&&H(e),t[9](null),d&&d.d(f),a=!1,Ue(l)}}}function Id(t,e,r){let{$$slots:n={},$$scope:i}=e,{initialValue:o=""}=e,{placeholder:s=""}=e,a=!1,l="",u,d=Pi();function f(p){r(1,l=p)}function c(p){p&&!a&&!l&&(a=!0,r(1,l=p),y())}function y(p){mt().then(()=>(u.focus(),mt())).then(()=>{u.select()})}let w=(0,Ha.debounce)(()=>{we.addToSearchHistory(""),d("input",l)},300);function x(p){tt[p?"unshift":"push"](()=>{u=p,r(2,u)})}function b(){l=this.value,r(1,l)}let h=p=>ko(!1),_=p=>ko(!0);return t.$$set=p=>{"initialValue"in p&&r(5,o=p.initialValue),"placeholder"in p&&r(0,s=p.placeholder),"$$scope"in p&&r(7,i=p.$$scope)},t.$$.update=()=>{if(t.$$.dirty&32){e:c(o)}},[s,l,u,y,w,o,f,i,n,x,b,h,_]}var $a=class extends Ae{constructor(e){super();De(this,e,Id,Td,be,{initialValue:5,placeholder:0,setInputValue:6})}get setInputValue(){return this.$$.ctx[6]}},ei=$a;function Od(t){let e,r,n,i,o=t[1].default,s=tr(o,t,t[0],null);return{c(){e=R("div"),s&&s.c(),B(e,"class","prompt-results")},m(a,l){$(a,e,l),s&&s.m(e,null),r=!0,n||(i=Ke(e,"mousedown",kd),n=!0)},p(a,[l]){s&&s.p&&(!r||l&1)&&nr(s,o,a,a[0],r?rr(o,a[0],l,null):ir(a[0]),null)},i(a){r||(ee(s,a),r=!0)},o(a){re(s,a),r=!1},d(a){a&&H(e),s&&s.d(a),n=!1,i()}}}var kd=t=>t.preventDefault();function Pd(t,e,r){let{$$slots:n={},$$scope:i}=e;return t.$$set=o=>{"$$scope"in o&&r(0,i=o.$$scope)},[i,n]}var Wa=class extends Ae{constructor(e){super();De(this,e,Pd,Od,be,{})}},ti=Wa;var Lo=Fe(require("obsidian"));async function ri(t,e=!1){let r=St(t.foundWords);r.exec(t.content);let n=r.lastIndex,i=!1;app.workspace.iterateAllLeaves(a=>{a.view instanceof Lo.MarkdownView&&!e&&a.getViewState().state?.file===t.path&&a.getViewState()?.pinned&&(app.workspace.setActiveLeaf(a,{focus:!0}),i=!0)}),i||await app.workspace.openLinkText(t.path,"",e);let o=app.workspace.getActiveViewOfType(Lo.MarkdownView);if(!o)return;let s=o.editor.offsetToPos(n);s.ch=0,o.editor.setCursor(s),o.editor.scrollIntoView({from:{line:s.line-10,ch:0},to:{line:s.line+10,ch:0}})}async function Ua(t,e=!1){try{let r;switch(app.vault.getConfig("newFileLocation")){case"current":r=(app.workspace.getActiveFile()?.parent?.path??"")+"/";break;case"folder":r=app.vault.getConfig("newFileFolderPath")+"/";break;default:r="";break}await app.workspace.openLinkText(`${r}${t}.md`,"",e)}catch(r){throw r.message="OmniSearch - Could not create note: "+r.message,console.error(r),r}}function Md(t){let e;return{c(){e=R("span"),e.innerHTML='',B(e,"class","suggestion-flair"),B(e,"aria-label","Not created yet, select to create")},m(r,n){$(r,e,n)},p:ce,i:ce,o:ce,d(r){r&&H(e)}}}function Rd(t){"use strict";return[]}var Ga=class extends Ae{constructor(e){super();De(this,e,Rd,Md,be,{})}},Qa=Ga;function qa(t){let e,r;return e=new Qa({}),{c(){Le(e.$$.fragment)},m(n,i){ke(e,n,i),r=!0},i(n){r||(ee(e.$$.fragment,n),r=!0)},o(n){re(e.$$.fragment,n),r=!1},d(n){Ee(e,n)}}}function Ld(t){let e,r,n,i,o,s=t[2]&&qa(t),a=t[4].default,l=tr(a,t,t[3],null);return{c(){e=R("div"),s&&s.c(),r=W(),l&&l.c(),B(e,"data-result-id",t[0]),B(e,"class","suggestion-item omnisearch-result"),Oi(e,"is-selected",t[1])},m(u,d){$(u,e,d),s&&s.m(e,null),T(e,r),l&&l.m(e,null),n=!0,i||(o=[Ke(e,"mousemove",t[5]),Ke(e,"click",t[6]),Ke(e,"auxclick",t[7])],i=!0)},p(u,[d]){u[2]?s?d&4&&ee(s,1):(s=qa(u),s.c(),ee(s,1),s.m(e,r)):s&&(Lt(),re(s,1,1,()=>{s=null}),Bt()),l&&l.p&&(!n||d&8)&&nr(l,a,u,u[3],n?rr(a,u[3],d,null):ir(u[3]),null),(!n||d&1)&&B(e,"data-result-id",u[0]),(!n||d&2)&&Oi(e,"is-selected",u[1])},i(u){n||(ee(s),ee(l,u),n=!0)},o(u){re(s),re(l,u),n=!1},d(u){u&&H(e),s&&s.d(),l&&l.d(u),i=!1,Ue(o)}}}function Bd(t,e,r){let{$$slots:n={},$$scope:i}=e,{id:o}=e,{selected:s=!1}=e,{glyph:a=!1}=e;function l(f){$e.call(this,t,f)}function u(f){$e.call(this,t,f)}function d(f){$e.call(this,t,f)}return t.$$set=f=>{"id"in f&&r(0,o=f.id),"selected"in f&&r(1,s=f.selected),"glyph"in f&&r(2,a=f.glyph),"$$scope"in f&&r(3,i=f.$$scope)},[o,s,a,i,n,l,u,d]}var Ya=class extends Ae{constructor(e){super();De(this,e,Bd,Ld,be,{id:0,selected:1,glyph:2})}},ni=Ya;var vr=Fe(require("obsidian"));function Ja(t){let e,r=t[1].matches.length+"",n,i,o=(t[1].matches.length>1?"matches":"match")+"",s;return{c(){e=R("span"),n=xe(r),i=xe("\xA0"),s=xe(o),B(e,"class","omnisearch-result__counter")},m(a,l){$(a,e,l),T(e,n),T(e,i),T(e,s)},p(a,l){l&2&&r!==(r=a[1].matches.length+"")&&Ge(n,r),l&2&&o!==(o=(a[1].matches.length>1?"matches":"match")+"")&&Ge(s,o)},d(a){a&&H(e)}}}function Xa(t){let e,r,n,i,o;return{c(){e=R("div"),r=R("span"),n=W(),i=R("span"),o=xe(t[6]),B(e,"class","omnisearch-result__folder-path")},m(s,a){$(s,e,a),T(e,r),t[12](r),T(e,n),T(e,i),T(i,o)},p(s,a){a&64&&Ge(o,s[6])},d(s){s&&H(e),t[12](null)}}}function Za(t){let e,r=t[8].replace(t[9],At)+"";return{c(){e=R("div"),B(e,"class","omnisearch-result__body")},m(n,i){$(n,e,i),e.innerHTML=r},p(n,i){i&768&&r!==(r=n[8].replace(n[9],At)+"")&&(e.innerHTML=r)},d(n){n&&H(e)}}}function el(t){let e,r,n;return{c(){e=R("div"),r=R("img"),ze(r,"width","100px"),Ti(r.src,n=t[5])||B(r,"src",n),B(r,"alt",""),B(e,"class","omnisearch-result__image-container")},m(i,o){$(i,e,o),T(e,r)},p(i,o){o&32&&!Ti(r.src,n=i[5])&&B(r,"src",n)},d(i){i&&H(e)}}}function Nd(t){let e,r,n,i,o,s,a=t[2].replace(t[9],At)+"",l,u,d,f=qt(t[1].path)+"",c,y,w,x,b,h,_=t[1].matches.length>0&&Ja(t),p=t[6]&&Xa(t),m=t[10]&&Za(t),v=t[5]&&el(t);return{c(){e=R("div"),r=R("div"),n=R("span"),i=R("span"),o=W(),s=R("span"),l=W(),u=R("span"),d=xe("."),c=xe(f),y=W(),_&&_.c(),w=W(),p&&p.c(),x=W(),b=R("div"),m&&m.c(),h=W(),v&&v.c(),B(u,"class","omnisearch-result__extension"),B(n,"class","omnisearch-result__title"),B(r,"class","omnisearch-result__title-container"),ze(b,"display","flex"),ze(b,"flex-direction","row")},m(g,j){$(g,e,j),T(e,r),T(r,n),T(n,i),t[11](i),T(n,o),T(n,s),s.innerHTML=a,T(n,l),T(n,u),T(u,d),T(u,c),T(n,y),_&&_.m(n,null),T(e,w),p&&p.m(e,null),T(e,x),T(e,b),m&&m.m(b,null),T(b,h),v&&v.m(b,null)},p(g,j){j&516&&a!==(a=g[2].replace(g[9],At)+"")&&(s.innerHTML=a),j&2&&f!==(f=qt(g[1].path)+"")&&Ge(c,f),g[1].matches.length>0?_?_.p(g,j):(_=Ja(g),_.c(),_.m(n,null)):_&&(_.d(1),_=null),g[6]?p?p.p(g,j):(p=Xa(g),p.c(),p.m(e,x)):p&&(p.d(1),p=null),g[10]?m?m.p(g,j):(m=Za(g),m.c(),m.m(b,h)):m&&(m.d(1),m=null),g[5]?v?v.p(g,j):(v=el(g),v.c(),v.m(b,null)):v&&(v.d(1),v=null)},d(g){g&&H(e),t[11](null),_&&_.d(),p&&p.d(),m&&m.d(),v&&v.d()}}}function Kd(t){let e,r;return e=new ni({props:{glyph:t[7],id:t[1].path,selected:t[0],$$slots:{default:[Nd]},$$scope:{ctx:t}}}),e.$on("click",t[13]),e.$on("auxclick",t[14]),e.$on("mousemove",t[15]),{c(){Le(e.$$.fragment)},m(n,i){ke(e,n,i),r=!0},p(n,[i]){let o={};i&128&&(o.glyph=n[7]),i&2&&(o.id=n[1].path),i&1&&(o.selected=n[0]),i&67454&&(o.$$scope={dirty:i,ctx:n}),e.$set(o)},i(n){r||(ee(e.$$.fragment,n),r=!0)},o(n){re(e.$$.fragment,n),r=!1},d(n){Ee(e,n)}}}function zd(t,e,r){let n,i,o,s;_n(t,Ut,p=>r(10,s=p));let{selected:a=!1}=e,{note:l}=e,u=null,d="",f="",c,y;function w(p){tt[p?"unshift":"push"](()=>{y=p,r(4,y)})}function x(p){tt[p?"unshift":"push"](()=>{c=p,r(3,c)})}function b(p){$e.call(this,t,p)}function h(p){$e.call(this,t,p)}function _(p){$e.call(this,t,p)}t.$$set=p=>{"selected"in p&&r(0,a=p.selected),"note"in p&&r(1,l=p.note)},t.$$.update=()=>{if(t.$$.dirty&2){e:if(r(5,u=null),Zn(l.path)){let p=app.vault.getFiles().find(m=>m.path===l.path);p&&r(5,u=app.vault.getResourcePath(p))}}if(t.$$.dirty&2){e:r(9,n=St(l.foundWords))}if(t.$$.dirty&2){e:r(8,i=yr(l.content,l.matches[0]?.offset??-1))}if(t.$$.dirty&30){e:r(2,d=l.basename),r(6,f=ka(l.path)),I.ignoreDiacritics&&r(2,d=ft(d)),c&&(0,vr.setIcon)(c,"folder-open"),y&&(Zn(l.path)?(0,vr.setIcon)(y,"image"):fn(l.path)?(0,vr.setIcon)(y,"file-text"):dn(l.path)?(0,vr.setIcon)(y,"layout-dashboard"):(0,vr.setIcon)(y,"file"))}};e:r(7,o=!1);return[a,l,d,c,y,u,f,o,i,n,s,w,x,b,h,_]}var tl=class extends Ae{constructor(e){super();De(this,e,zd,Kd,be,{selected:0,note:1})}},rl=tl;var sl=Fe(ol()),Bo=["ext","path"],Yt=class{constructor(e=""){this.extensions=[];I.ignoreDiacritics&&(e=ft(e));let r=(0,sl.parse)(e.toLowerCase(),{tokenize:!0,keywords:Bo});r.text=r.text??[],r.exclude=r.exclude??{},r.exclude.text=r.exclude.text??[],Array.isArray(r.exclude.text)||(r.exclude.text=[r.exclude.text]);for(let n of Bo){let i=r[n];i&&(r[n]=Array.isArray(i)?i:[i]);let o=r.exclude[n];o&&(r.exclude[n]=Array.isArray(o)?o:[o])}this.query=r,this.extensions=this.query.ext??[]}isEmpty(){for(let e of Bo)if(this.query[e]?.length||this.query.text.length)return!1;return!0}segmentsToStr(){return this.query.text.join(" ")}getTags(){return this.query.text.filter(e=>e.startsWith("#"))}getTagsWithoutHashtag(){return this.getTags().map(e=>e.replace(/^#/,""))}getExactTerms(){return this.query.text.filter(e=>e.split(" ").length>1)}};var ae=function(){return ae=Object.assign||function(e){for(var r,n=1,i=arguments.length;n0&&o[o.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function me(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(a){s={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o}var $d="ENTRIES",al="KEYS",ll="VALUES",Se="",No=function(){function t(e,r){var n=e._tree,i=Array.from(n.keys());this.set=e,this._type=r,this._path=i.length>0?[{node:n,keys:i}]:[]}return t.prototype.next=function(){var e=this.dive();return this.backtrack(),e},t.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=_r(this._path),r=e.node,n=e.keys;if(_r(n)===Se)return{done:!1,value:this.result()};var i=r.get(_r(n));return this._path.push({node:i,keys:Array.from(i.keys())}),this.dive()},t.prototype.backtrack=function(){if(this._path.length!==0){var e=_r(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},t.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var r=e.keys;return _r(r)}).filter(function(e){return e!==Se}).join("")},t.prototype.value=function(){return _r(this._path).node.get(Se)},t.prototype.result=function(){switch(this._type){case ll:return this.value();case al:return this.key();default:return[this.key(),this.value()]}},t.prototype[Symbol.iterator]=function(){return this},t}(),_r=function(t){return t[t.length-1]},Wd=function(t,e,r){var n=new Map;if(e===void 0)return n;for(var i=e.length+1,o=i+r,s=new Uint8Array(o*i).fill(r+1),a=0;ar)continue e}ul(t.get(y),e,r,n,i,x,s,a+y)}}}catch(k){l={error:k}}finally{try{c&&!c.done&&(u=f.return)&&u.call(f)}finally{if(l)throw l.error}}},Ko=function(){function t(e,r){e===void 0&&(e=new Map),r===void 0&&(r=""),this._size=void 0,this._tree=e,this._prefix=r}return t.prototype.atPrefix=function(e){var r,n;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var i=me(oi(this._tree,e.slice(this._prefix.length)),2),o=i[0],s=i[1];if(o===void 0){var a=me(Ho(s),2),l=a[0],u=a[1];try{for(var d=G(l.keys()),f=d.next();!f.done;f=d.next()){var c=f.value;if(c!==Se&&c.startsWith(u)){var y=new Map;return y.set(c.slice(u.length),l.get(c)),new t(y,e)}}}catch(w){r={error:w}}finally{try{f&&!f.done&&(n=d.return)&&n.call(d)}finally{if(r)throw r.error}}}return new t(o,e)},t.prototype.clear=function(){this._size=void 0,this._tree.clear()},t.prototype.delete=function(e){return this._size=void 0,Ud(this._tree,e)},t.prototype.entries=function(){return new No(this,$d)},t.prototype.forEach=function(e){var r,n;try{for(var i=G(this),o=i.next();!o.done;o=i.next()){var s=me(o.value,2),a=s[0],l=s[1];e(a,l,this)}}catch(u){r={error:u}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.fuzzyGet=function(e,r){return Wd(this._tree,e,r)},t.prototype.get=function(e){var r=zo(this._tree,e);return r!==void 0?r.get(Se):void 0},t.prototype.has=function(e){var r=zo(this._tree,e);return r!==void 0&&r.has(Se)},t.prototype.keys=function(){return new No(this,al)},t.prototype.set=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Vo(this._tree,e);return n.set(Se,r),this},Object.defineProperty(t.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),t.prototype.update=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Vo(this._tree,e);return n.set(Se,r(n.get(Se))),this},t.prototype.fetch=function(e,r){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var n=Vo(this._tree,e),i=n.get(Se);return i===void 0&&n.set(Se,i=r()),i},t.prototype.values=function(){return new No(this,ll)},t.prototype[Symbol.iterator]=function(){return this.entries()},t.from=function(e){var r,n,i=new t;try{for(var o=G(e),s=o.next();!s.done;s=o.next()){var a=me(s.value,2),l=a[0],u=a[1];i.set(l,u)}}catch(d){r={error:d}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i},t.fromObject=function(e){return t.from(Object.entries(e))},t}(),oi=function(t,e,r){var n,i;if(r===void 0&&(r=[]),e.length===0||t==null)return[t,r];try{for(var o=G(t.keys()),s=o.next();!s.done;s=o.next()){var a=s.value;if(a!==Se&&e.startsWith(a))return r.push([t,a]),oi(t.get(a),e.slice(a.length),r)}}catch(l){n={error:l}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return r.push([t,e]),oi(void 0,"",r)},zo=function(t,e){var r,n;if(e.length===0||t==null)return t;try{for(var i=G(t.keys()),o=i.next();!o.done;o=i.next()){var s=o.value;if(s!==Se&&e.startsWith(s))return zo(t.get(s),e.slice(s.length))}}catch(a){r={error:a}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},Vo=function(t,e){var r,n,i=e.length;e:for(var o=0;t&&o0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Ko,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},t.prototype.discard=function(e){var r=this,n=this._idToShortId.get(e);if(n==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach(function(i,o){r.removeFieldLength(n,o,r._documentCount,i)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},t.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,r=e.minDirtFactor,n=e.minDirtCount,i=e.batchSize,o=e.batchWait;this.conditionalVacuum({batchSize:i,batchWait:o},{minDirtCount:n,minDirtFactor:r})}},t.prototype.discardAll=function(e){var r,n,i=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var o=G(e),s=o.next();!s.done;s=o.next()){var a=s.value;this.discard(a)}}catch(l){r={error:l}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}finally{this._options.autoVacuum=i}this.maybeAutoVacuum()},t.prototype.replace=function(e){var r=this._options,n=r.idField,i=r.extractField,o=i(e,n);this.discard(o),this.add(e)},t.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},t.prototype.conditionalVacuum=function(e,r){var n=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&r,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var i=n._enqueuedVacuumConditions;return n._enqueuedVacuumConditions=qo,n.performVacuuming(e,i)}),this._enqueuedVacuum)):this.vacuumConditionsMet(r)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},t.prototype.performVacuuming=function(e,r){return Vd(this,void 0,void 0,function(){var n,i,o,s,a,l,u,d,f,c,y,w,x,b,h,_,p,m,v,g,j,C,S,E,P;return Hd(this,function(L){switch(L.label){case 0:if(n=this._dirtCount,!this.vacuumConditionsMet(r))return[3,10];i=e.batchSize||Qo.batchSize,o=e.batchWait||Qo.batchWait,s=1,L.label=1;case 1:L.trys.push([1,7,8,9]),a=G(this._index),l=a.next(),L.label=2;case 2:if(l.done)return[3,6];u=me(l.value,2),d=u[0],f=u[1];try{for(c=(C=void 0,G(f)),y=c.next();!y.done;y=c.next()){w=me(y.value,2),x=w[0],b=w[1];try{for(h=(E=void 0,G(b)),_=h.next();!_.done;_=h.next())p=me(_.value,1),m=p[0],!this._documentIds.has(m)&&(b.size<=1?f.delete(x):b.delete(m))}catch(k){E={error:k}}finally{try{_&&!_.done&&(P=h.return)&&P.call(h)}finally{if(E)throw E.error}}}}catch(k){C={error:k}}finally{try{y&&!y.done&&(S=c.return)&&S.call(c)}finally{if(C)throw C.error}}return this._index.get(d).size===0&&this._index.delete(d),s%i!=0?[3,4]:[4,new Promise(function(k){return setTimeout(k,o)})];case 3:L.sent(),L.label=4;case 4:s+=1,L.label=5;case 5:return l=a.next(),[3,2];case 6:return[3,9];case 7:return v=L.sent(),g={error:v},[3,9];case 8:try{l&&!l.done&&(j=a.return)&&j.call(a)}finally{if(g)throw g.error}return[7];case 9:this._dirtCount-=n,L.label=10;case 10:return[4,null];case 11:return L.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},t.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var r=e.minDirtCount,n=e.minDirtFactor;return r=r||Yo.minDirtCount,n=n||Yo.minDirtFactor,this.dirtCount>=r&&this.dirtFactor>=n},Object.defineProperty(t.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),t.prototype.has=function(e){return this._idToShortId.has(e)},t.prototype.search=function(e,r){var n,i;r===void 0&&(r={});var o=this.executeQuery(e,r),s=[];try{for(var a=G(o),l=a.next();!l.done;l=a.next()){var u=me(l.value,2),d=u[0],f=u[1],c=f.score,y=f.terms,w=f.match,x=y.length,b={id:this._documentIds.get(d),score:c*x,terms:Object.keys(w),match:w};Object.assign(b,this._storedFields.get(d)),(r.filter==null||r.filter(b))&&s.push(b)}}catch(h){n={error:h}}finally{try{l&&!l.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return s.sort(ml),s},t.prototype.autoSuggest=function(e,r){var n,i,o,s;r===void 0&&(r={}),r=ae(ae({},this._options.autoSuggestOptions),r);var a=new Map;try{for(var l=G(this.search(e,r)),u=l.next();!u.done;u=l.next()){var d=u.value,f=d.score,c=d.terms,y=c.join(" "),w=a.get(y);w!=null?(w.score+=f,w.count+=1):a.set(y,{score:f,terms:c,count:1})}}catch(v){n={error:v}}finally{try{u&&!u.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}var x=[];try{for(var b=G(a),h=b.next();!h.done;h=b.next()){var _=me(h.value,2),w=_[0],p=_[1],f=p.score,c=p.terms,m=p.count;x.push({suggestion:w,terms:c,score:f/m})}}catch(v){o={error:v}}finally{try{h&&!h.done&&(s=b.return)&&s.call(b)}finally{if(o)throw o.error}}return x.sort(ml),x},Object.defineProperty(t.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),t.loadJSON=function(e,r){if(r==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),r)},t.getDefault=function(e){if(Go.hasOwnProperty(e))return Uo(Go,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},t.loadJS=function(e,r){var n,i,o,s,a,l,u=e.index,d=e.documentCount,f=e.nextId,c=e.documentIds,y=e.fieldIds,w=e.fieldLength,x=e.averageFieldLength,b=e.storedFields,h=e.dirtCount,_=e.serializationVersion;if(_!==1&&_!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var p=new t(r);p._documentCount=d,p._nextId=f,p._documentIds=si(c),p._idToShortId=new Map,p._fieldIds=y,p._fieldLength=si(w),p._avgFieldLength=x,p._storedFields=si(b),p._dirtCount=h||0,p._index=new Ko;try{for(var m=G(p._documentIds),v=m.next();!v.done;v=m.next()){var g=me(v.value,2),j=g[0],C=g[1];p._idToShortId.set(C,j)}}catch(F){n={error:F}}finally{try{v&&!v.done&&(i=m.return)&&i.call(m)}finally{if(n)throw n.error}}try{for(var S=G(u),E=S.next();!E.done;E=S.next()){var P=me(E.value,2),L=P[0],k=P[1],z=new Map;try{for(var J=(a=void 0,G(Object.keys(k))),Q=J.next();!Q.done;Q=J.next()){var Z=Q.value,A=k[Z];_===1&&(A=A.ds),z.set(parseInt(Z,10),si(A))}}catch(F){a={error:F}}finally{try{Q&&!Q.done&&(l=J.return)&&l.call(J)}finally{if(a)throw a.error}}p._index.set(L,z)}}catch(F){o={error:F}}finally{try{E&&!E.done&&(s=S.return)&&s.call(S)}finally{if(o)throw o.error}}return p},t.prototype.executeQuery=function(e,r){var n=this;if(r===void 0&&(r={}),typeof e!="string"){var i=ae(ae(ae({},r),e),{queries:void 0}),o=e.queries.map(function(b){return n.executeQuery(b,i)});return this.combineResults(o,e.combineWith)}var s=this._options,a=s.tokenize,l=s.processTerm,u=s.searchOptions,d=ae(ae({tokenize:a,processTerm:l},u),r),f=d.tokenize,c=d.processTerm,y=f(e).flatMap(function(b){return c(b)}).filter(function(b){return!!b}),w=y.map(Jd(d)),x=w.map(function(b){return n.executeQuerySpec(b,d)});return this.combineResults(x,d.combineWith)},t.prototype.executeQuerySpec=function(e,r){var n,i,o,s,a=ae(ae({},this._options.searchOptions),r),l=(a.fields||this._options.fields).reduce(function(Z,A){var F;return ae(ae({},Z),(F={},F[A]=Uo(Z,A)||1,F))},a.boost||{}),u=a.boostDocument,d=a.weights,f=a.maxFuzzy,c=a.bm25,y=ae(ae({},hl.weights),d),w=y.fuzzy,x=y.prefix,b=this._index.get(e.term),h=this.termResults(e.term,e.term,1,b,l,u,c),_,p;if(e.prefix&&(_=this._index.atPrefix(e.term)),e.fuzzy){var m=e.fuzzy===!0?.2:e.fuzzy,v=m<1?Math.min(f,Math.round(e.term.length*m)):m;v&&(p=this._index.fuzzyGet(e.term,v))}if(_)try{for(var g=G(_),j=g.next();!j.done;j=g.next()){var C=me(j.value,2),S=C[0],E=C[1],P=S.length-e.term.length;if(!!P){p==null||p.delete(S);var L=x*S.length/(S.length+.3*P);this.termResults(e.term,S,L,E,l,u,c,h)}}}catch(Z){n={error:Z}}finally{try{j&&!j.done&&(i=g.return)&&i.call(g)}finally{if(n)throw n.error}}if(p)try{for(var k=G(p.keys()),z=k.next();!z.done;z=k.next()){var S=z.value,J=me(p.get(S),2),Q=J[0],P=J[1];if(!!P){var L=w*S.length/(S.length+P);this.termResults(e.term,S,L,Q,l,u,c,h)}}}catch(Z){o={error:Z}}finally{try{z&&!z.done&&(s=k.return)&&s.call(k)}finally{if(o)throw o.error}}return h},t.prototype.combineResults=function(e,r){if(r===void 0&&(r=$o),e.length===0)return new Map;var n=r.toLowerCase();return e.reduce(Qd[n])||new Map},t.prototype.toJSON=function(){var e,r,n,i,o=[];try{for(var s=G(this._index),a=s.next();!a.done;a=s.next()){var l=me(a.value,2),u=l[0],d=l[1],f={};try{for(var c=(n=void 0,G(d)),y=c.next();!y.done;y=c.next()){var w=me(y.value,2),x=w[0],b=w[1];f[x]=Object.fromEntries(b)}}catch(h){n={error:h}}finally{try{y&&!y.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}o.push([u,f])}}catch(h){e={error:h}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:o,serializationVersion:2}},t.prototype.termResults=function(e,r,n,i,o,s,a,l){var u,d,f,c,y;if(l===void 0&&(l=new Map),i==null)return l;try{for(var w=G(Object.keys(o)),x=w.next();!x.done;x=w.next()){var b=x.value,h=o[b],_=this._fieldIds[b],p=i.get(_);if(p!=null){var m=p.size,v=this._avgFieldLength[_];try{for(var g=(f=void 0,G(p.keys())),j=g.next();!j.done;j=g.next()){var C=j.value;if(!this._documentIds.has(C)){this.removeTerm(_,C,r),m-=1;continue}var S=s?s(this._documentIds.get(C),r):1;if(!!S){var E=p.get(C),P=this._fieldLength.get(C)[_],L=Yd(E,m,this._documentCount,P,v,a),k=n*h*S*L,z=l.get(C);if(z){z.score+=k,Zd(z.terms,e);var J=Uo(z.match,r);J?J.push(b):z.match[r]=[b]}else l.set(C,{score:k,terms:[e],match:(y={},y[r]=[b],y)})}}}catch(Q){f={error:Q}}finally{try{j&&!j.done&&(c=g.return)&&c.call(g)}finally{if(f)throw f.error}}}}}catch(Q){u={error:Q}}finally{try{x&&!x.done&&(d=w.return)&&d.call(w)}finally{if(u)throw u.error}}return l},t.prototype.addTerm=function(e,r,n){var i=this._index.fetch(n,gl),o=i.get(e);if(o==null)o=new Map,o.set(r,1),i.set(e,o);else{var s=o.get(r);o.set(r,(s||0)+1)}},t.prototype.removeTerm=function(e,r,n){if(!this._index.has(n)){this.warnDocumentChanged(r,e,n);return}var i=this._index.fetch(n,gl),o=i.get(e);o==null||o.get(r)==null?this.warnDocumentChanged(r,e,n):o.get(r)<=1?o.size<=1?i.delete(e):o.delete(r):o.set(r,o.get(r)-1),this._index.get(n).size===0&&this._index.delete(n)},t.prototype.warnDocumentChanged=function(e,r,n){var i,o;try{for(var s=G(Object.keys(this._fieldIds)),a=s.next();!a.done;a=s.next()){var l=a.value;if(this._fieldIds[l]===r){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(n,'" was not present in field "').concat(l,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){i={error:u}}finally{try{a&&!a.done&&(o=s.return)&&o.call(s)}finally{if(i)throw i.error}}},t.prototype.addDocumentId=function(e){var r=this._nextId;return this._idToShortId.set(e,r),this._documentIds.set(r,e),this._documentCount+=1,this._nextId+=1,r},t.prototype.addFields=function(e){for(var r=0;r0){if(++e>=$h)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var Tl=Gh;function Qh(t){return function(){return t}}var Il=Qh;var qh=function(){try{var t=Ne(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Jo=qh;var Yh=Jo?function(t,e){return Jo(t,"toString",{configurable:!0,enumerable:!1,value:Il(e),writable:!0})}:Et,Ol=Yh;var Jh=Tl(Ol),kl=Jh;var Xh=9007199254740991,Zh=/^(?:0|[1-9]\d*)$/;function ep(t,e){var r=typeof t;return e=e??Xh,!!e&&(r=="number"||r!="symbol"&&Zh.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=ip}var jr=op;function sp(t){return t!=null&&jr(t.length)&&!li(t)}var Dt=sp;function ap(t,e,r){if(!Ft(r))return!1;var n=typeof e;return(n=="number"?Dt(r)&&xr(e,r.length):n=="string"&&e in r)?wr(r[e],t):!1}var Xo=ap;var lp=Object.prototype;function up(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||lp;return t===r}var Ll=up;function cp(t,e){for(var r=-1,n=Array(t);++r-1}var ou=Am;function Sm(t,e){var r=this.__data__,n=Tt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var su=Sm;function Er(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e0&&r(a)?e>1?bu(a,e-1,r,n,i):pi(i,a):n||(i[i.length]=a)}return i}var xu=bu;function qm(){this.__data__=new It,this.size=0}var wu=qm;function Ym(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var ju=Ym;function Jm(t){return this.__data__.get(t)}var Cu=Jm;function Xm(t){return this.__data__.has(t)}var Au=Xm;var Zm=200;function eg(t,e){var r=this.__data__;if(r instanceof It){var n=r.__data__;if(!Ot||n.lengtha))return!1;var u=o.get(t),d=o.get(e);if(u&&d)return u==e&&d==t;var f=-1,c=!0,y=r&Cg?new Nu:void 0;for(o.set(t,e),o.set(e,t);++fe||o&&s&&l&&!a&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!o&&!u&&t=a)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}var yc=by;function xy(t,e,r){e.length?e=br(e,function(o){return de(o)?function(s){return Tr(s,o.length===1?o[0]:o)}:o}):e=[Et];var n=-1;e=br(e,fi(lc));var i=pc(t,function(o,s,a){var l=br(e,function(u){return u(o)});return{criteria:l,index:++n,value:o}});return mc(i,function(o,s){return yc(o,s,r)})}var vc=xy;var wy=Rl(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Xo(t,e[0],e[1])?e=[]:r>2&&Xo(e[0],e[1],e[2])&&(e=[e[0]]),vc(t,xu(e,1),[])}),ls=wy;var jy=t=>{let e=t.split(Ct),r=Yn();return r?e.flatMap(n=>Aa.test(n)?r.cut(n):[n]):I.splitCamelCase?[...e,...e.flatMap(Ba)]:e},Ci=class{constructor(){this.indexedDocuments=new Map;this.minisearch=new Wo(Ci.options)}async loadCache(){let e=await we.getMinisearchCache();return e?(this.minisearch=Wo.loadJS(e.data,Ci.options),this.indexedDocuments=new Map(e.paths.map(r=>[r.path,r.mtime])),!0):(console.log("Omnisearch - No cache found"),!1)}getDiff(e){let r=new Map(e.map(o=>[o.path,o.mtime])),n=e.filter(o=>!this.indexedDocuments.has(o.path)||this.indexedDocuments.get(o.path)!==o.mtime),i=[...this.indexedDocuments].filter(([o,s])=>!r.has(o)||r.get(o)!==s).map(o=>({path:o[0],mtime:o[1]}));return{toAdd:n,toRemove:i}}async addFromPaths(e){fe("Adding files",e);let r=(await Promise.all(e.map(async i=>await we.getDocument(i)))).filter(i=>!!i?.path);fe("Sorting documents to first index markdown"),r=ls(r,i=>i.path.endsWith(".md")?0:1),this.removeFromPaths(r.filter(i=>this.indexedDocuments.has(i.path)).map(i=>i.path));let n=La(r,500);for(let i of n){fe("Indexing into search engine",i),i.forEach(s=>this.indexedDocuments.set(s.path,s.mtime));let o=i.filter(s=>this.minisearch.has(s.path));this.removeFromPaths(o.map(s=>s.path)),await this.minisearch.addAllAsync(i)}}removeFromPaths(e){e.forEach(n=>this.indexedDocuments.delete(n));let r=e.filter(n=>this.minisearch.has(n));this.minisearch.discardAll(r)}async search(e,r){if(e.isEmpty())return[];fe("Starting search for",e);let n=this.minisearch.search(e.segmentsToStr(),{prefix:l=>l.length>=r.prefixLength,fuzzy:l=>l.length<=3?0:l.length<=5?.1:.2,combineWith:"AND",boost:{basename:I.weightBasename,directory:I.weightDirectory,aliases:I.weightBasename,headings1:I.weightH1,headings2:I.weightH2,headings3:I.weightH3}});if(fe("Found",n.length,"results"),e.query.ext?.length&&(n=n.filter(l=>{let u="."+l.id.split(".").pop();return e.query.ext?.some(d=>u.startsWith(d.startsWith(".")?d:"."+d))}),console.log(e.query.ext,n.length)),e.query.path&&(n=n.filter(l=>e.query.path?.some(u=>l.id.toLowerCase().includes(u.toLowerCase())))),e.query.exclude.path&&(n=n.filter(l=>!e.query.exclude.path?.some(u=>l.id.toLowerCase().includes(u.toLowerCase())))),!n.length)return[];if(r.singleFilePath)return n.filter(l=>l.id===r.singleFilePath);I.hideExcluded?n=n.filter(l=>!(app.metadataCache.isUserIgnored&&app.metadataCache.isUserIgnored(l.id))):n.forEach(l=>{app.metadataCache.isUserIgnored&&app.metadataCache.isUserIgnored(l.id)&&(l.score/=10)});let i=e.getTags();for(let l of i)for(let u of n)(u.tags??[]).includes(l)&&(u.score*=100);fe("Sorting and limiting results"),n=n.sort((l,u)=>u.score-l.score).slice(0,50);let o=await Promise.all(n.map(async l=>await we.getDocument(l.id))),s=e.getExactTerms();s.length&&(fe("Filtering with quoted terms"),n=n.filter(l=>{let u=o.find(c=>c.path===l.id),d=u?.path.toLowerCase()??"",f=Mo(u?.content??"").toLowerCase();return s.every(c=>f.includes(c)||d.includes(c))}));let a=e.query.exclude.text;return a.length&&(fe("Filtering with exclusions"),n=n.filter(l=>{let u=Mo(o.find(d=>d.path===l.id)?.content??"").toLowerCase();return a.every(d=>!u.includes(d))})),fe("Deduping"),n=n.filter((l,u,d)=>d.findIndex(f=>f.id===l.id)===u),n}getMatches(e,r,n){let i=new Date().getTime(),o=null,s=[],a=0;for(;(o=r.exec(e))!==null;){if(++a>=100||new Date().getTime()-i>50){Na("Stopped getMatches at",a,"results");break}let u=o[0];u&&s.push({match:u,offset:o.index})}let l=e.toLowerCase().indexOf(n.segmentsToStr());return l>-1&&s.unshift({offset:l,match:n.segmentsToStr()}),s}async getSuggestions(e,r){let n;I.simpleSearch?n=await this.search(e,{prefixLength:3,singleFilePath:r?.singleFilePath}):n=await this.search(e,{prefixLength:1,singleFilePath:r?.singleFilePath});let i=await Promise.all(n.map(async s=>await we.getDocument(s.id)));return n.map(s=>{fe("Locating matches for",s.id);let a=i.find(f=>f.path===s.id);a||(console.warn(`Omnisearch - Note "${s.id}" not in the live cache`),a={content:"",basename:s.id,path:s.id});let l=[...Object.keys(s.match),...e.getExactTerms(),...e.getTags()].filter(f=>f.length>1||/\p{Emoji}/u.test(f));fe("Matching tokens:",l),fe("Getting matches locations...");let u=this.getMatches(a.content,St(l),e);return fe("Matches:",u),ue({score:s.score,foundWords:l,matches:u},a)})}async writeToCache(){await we.writeMinisearchCache(this.minisearch,this.indexedDocuments)}},us=Ci;us.options={tokenize:jy,extractField:(e,r)=>{if(r==="directory"){let n=e.path.split("/");return n.pop(),n.join("/")}return e[r]},processTerm:e=>(I.ignoreDiacritics?ft(e):e).toLowerCase(),idField:"path",fields:["basename","directory","aliases","content","headings1","headings2","headings3"],storeFields:["tags"],logger(e,r,n){n==="version_conflict"&&new _c.Notice("Omnisearch - Your index cache may be incorrect or corrupted. If this message keeps appearing, go to Settings to clear the cache.",5e3)}};var ve=new us;var cs=new Set;function bc(t){cs.add(t)}async function Ai(){let t=[...cs].map(e=>e.path);t.length&&(ve.removeFromPaths(t),ve.addFromPaths(t),cs.clear())}var wc=Fe(xc());function jc(t,e,r){let n=t.slice();return n[35]=e[r],n[37]=r,n}function Cy(t){let e,r,n;return{c(){e=R("button"),e.textContent="Create note"},m(i,o){$(i,e,o),r||(n=Ke(e,"click",t[12]),r=!0)},p:ce,d(i){i&&H(e),r=!1,n()}}}function Ay(t){let e,r=I.showCreateButton&&Cy(t);return{c(){r&&r.c(),e=or()},m(n,i){r&&r.m(n,i),$(n,e,i)},p(n,i){I.showCreateButton&&r.p(n,i)},d(n){r&&r.d(n),n&&H(e)}}}function Cc(t){let e,r,n;return{c(){e=R("div"),r=xe("\u23F3 Work in progress: "),n=xe(t[3]),ze(e,"text-align","center"),ze(e,"color","var(--text-accent)"),ze(e,"margin-top","10px")},m(i,o){$(i,e,o),T(e,r),T(e,n)},p(i,o){o[0]&8&&Ge(n,i[3])},d(i){i&&H(e)}}}function Ac(t){let e,r;function n(...i){return t[18](t[37],...i)}return e=new rl({props:{selected:t[37]===t[0],note:t[35]}}),e.$on("mousemove",n),e.$on("click",t[10]),e.$on("auxclick",t[19]),{c(){Le(e.$$.fragment)},m(i,o){ke(e,i,o),r=!0},p(i,o){t=i;let s={};o[0]&1&&(s.selected=t[37]===t[0]),o[0]&4&&(s.note=t[35]),e.$set(s)},i(i){r||(ee(e.$$.fragment,i),r=!0)},o(i){re(e.$$.fragment,i),r=!1},d(i){Ee(e,i)}}}function Sy(t){let e;return{c(){e=xe("Searching...")},m(r,n){$(r,e,n)},p:ce,d(r){r&&H(e)}}}function Fy(t){let e,r=I.simpleSearch&&t[1].split(Ct).some(Fc),n,i=r&&Sc(t);return{c(){e=xe(`We found 0 result for your search here. + `),i&&i.c(),n=or()},m(o,s){$(o,e,s),i&&i.m(o,s),$(o,n,s)},p(o,s){s[0]&2&&(r=I.simpleSearch&&o[1].split(Ct).some(Fc)),r?i||(i=Sc(o),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},d(o){o&&H(e),i&&i.d(o),o&&H(n)}}}function Sc(t){let e,r,n;return{c(){e=R("br"),r=W(),n=R("span"),n.textContent=`You have enabled "Simpler Search" in the settings, try to type more + characters.`,ze(n,"color","var(--text-accent)"),ze(n,"font-size","small")},m(i,o){$(i,e,o),$(i,r,o),$(i,n,o)},d(i){i&&H(e),i&&H(r),i&&H(n)}}}function Ey(t){let e,r,n,i=t[2],o=[];for(let d=0;dre(o[d],1,1,()=>{o[d]=null});function a(d,f){if(!d[2].length&&d[1]&&!d[4])return Fy;if(d[4])return Sy}let l=a(t,[-1,-1]),u=l&&l(t);return{c(){for(let d=0;d\u2191\u2193to navigate',l=W(),u=R("div"),u.innerHTML=`alt \u2191\u2193 + to cycle history`,d=W(),f=R("div"),c=R("span"),y=xe(t[7]),w=R("span"),w.textContent="to open",x=W(),b=R("div"),b.innerHTML=`tab + to switch to In-File Search`,h=W(),_=R("div"),p=R("span"),m=xe(t[6]),v=W(),g=R("span"),g.textContent="to open in a new pane",j=W(),C=R("div"),S=R("span"),E=xe(t[9]),P=W(),L=R("span"),L.textContent="to create",k=W(),z=R("div"),J=R("span"),Q=xe(t[8]),Z=W(),A=R("span"),A.textContent="to create in a new pane",F=W(),D=R("div"),D.innerHTML=`alt \u21B5 + to insert a link`,N=W(),O=R("div"),O.innerHTML=`ctrl+h + to toggle excerpts`,X=W(),le=R("div"),le.innerHTML='escto close',B(a,"class","prompt-instruction"),B(u,"class","prompt-instruction"),B(c,"class","prompt-instruction-command"),B(f,"class","prompt-instruction"),B(b,"class","prompt-instruction"),B(p,"class","prompt-instruction-command"),B(_,"class","prompt-instruction"),B(S,"class","prompt-instruction-command"),B(C,"class","prompt-instruction"),B(J,"class","prompt-instruction-command"),B(z,"class","prompt-instruction"),B(D,"class","prompt-instruction"),B(O,"class","prompt-instruction"),B(le,"class","prompt-instruction"),B(s,"class","prompt-instructions")},m(q,ge){ke(e,q,ge),$(q,r,ge),te&&te.m(q,ge),$(q,n,ge),ke(i,q,ge),$(q,o,ge),$(q,s,ge),T(s,a),T(s,l),T(s,u),T(s,d),T(s,f),T(f,c),T(c,y),T(f,w),T(s,x),T(s,b),T(s,h),T(s,_),T(_,p),T(p,m),T(_,v),T(_,g),T(s,j),T(s,C),T(C,S),T(S,E),T(C,P),T(C,L),T(s,k),T(s,z),T(z,J),T(J,Q),T(z,Z),T(z,A),T(s,F),T(s,D),T(s,N),T(s,O),T(s,X),T(s,le),_e=!0},p(q,ge){let Ei={};ge[0]&2&&(Ei.initialValue=q[1]),ge[1]&128&&(Ei.$$scope={dirty:ge,ctx:q}),e.$set(Ei),q[3]?te?te.p(q,ge):(te=Cc(q),te.c(),te.m(n.parentNode,n)):te&&(te.d(1),te=null);let ms={};ge[0]&23|ge[1]&128&&(ms.$$scope={dirty:ge,ctx:q}),i.$set(ms),(!_e||ge[0]&128)&&Ge(y,q[7]),(!_e||ge[0]&64)&&Ge(m,q[6]),(!_e||ge[0]&512)&&Ge(E,q[9]),(!_e||ge[0]&256)&&Ge(Q,q[8])},i(q){_e||(ee(e.$$.fragment,q),ee(i.$$.fragment,q),_e=!0)},o(q){re(e.$$.fragment,q),re(i.$$.fragment,q),_e=!1},d(q){t[16](null),Ee(e,q),q&&H(r),te&&te.d(q),q&&H(n),Ee(i,q),q&&H(o),q&&H(s)}}}var Fc=t=>t.length<3;function Ty(t,e,r){let n,i;_n(t,jt,O=>r(15,i=O));let{modal:o}=e,{previousQuery:s}=e,a=0,l=0,u,d=[],f,c="",y=!0,w,x,b,h,_;Br(async()=>{U.enable("vault"),U.on("vault","enter",C),U.on("vault","create-note",k),U.on("vault","open-in-new-pane",S),U.on("vault","insert-link",z),U.on("vault","tab",J),U.on("vault","arrow-up",()=>Q(-1)),U.on("vault","arrow-down",()=>Q(1)),U.on("vault","prev-search-history",p),U.on("vault","next-search-history",m),await Ai(),I.showPreviousQueryResults&&r(13,s=(await we.getSearchHistory())[0])}),Nr(()=>{U.disable("vault")});async function p(){let O=(await we.getSearchHistory()).filter(X=>X);++l>=O.length&&(l=0),r(1,u=O[l]),w?.setInputValue(u)}async function m(){let O=(await we.getSearchHistory()).filter(X=>X);--l<0&&(l=O.length?O.length-1:0),r(1,u=O[l]),w?.setInputValue(u)}let v=null;async function g(){v&&(v.cancel(),v=null),f=new Yt(u),v=(0,wc.cancelable)(new Promise(O=>{O(ve.getSuggestions(f))})),r(2,d=await v),r(0,a=0),await Z()}function j(O){!n||(O?.ctrlKey?S():C(),o.close())}function C(){!n||(P(n),o.close())}function S(){!n||(P(n,!0),o.close())}function E(){u&&we.addToSearchHistory(u)}function P(O,X=!1){E(),ri(O,X)}async function L(O){await k()}async function k(O){if(u){try{await Ua(u,O?.newLeaf)}catch(X){new Mt.Notice(X.message);return}o.close()}}function z(){if(!n)return;let O=app.vault.getMarkdownFiles().find(te=>te.path===n.path),X=app.workspace.getActiveFile(),le=app.workspace.getActiveViewOfType(Mt.MarkdownView);if(!le?.editor){new Mt.Notice("Omnisearch - Error - No active editor",3e3);return}let _e;O&&X?_e=app.fileManager.generateMarkdownLink(O,X.path):_e=`[[${n.basename}.${qt(n.path)}]]`;let Ce=le.editor.getCursor();le.editor.replaceRange(_e,Ce,Ce),Ce.ch+=_e.length,le.editor.setCursor(Ce),o.close()}function J(){if(!(n&&(fn(n?.path)||!n?.matches.length)))if(E(),o.close(),n){let O=app.vault.getAbstractFileByPath(n.path);O&&O instanceof Mt.TFile&&new kr(app,O,u).open()}else{let O=app.workspace.getActiveViewOfType(Mt.MarkdownView);O&&new kr(app,O.file,u).open()}}function Q(O){r(0,a=Xn(a+O,d.length)),Z()}async function Z(){await mt(),n&&activeWindow.document.querySelector(`[data-result-id="${n.path}"]`)?.scrollIntoView({behavior:"auto",block:"nearest"})}function A(O){tt[O?"unshift":"push"](()=>{w=O,r(5,w)})}let F=O=>r(1,u=O.detail),D=(O,X)=>r(0,a=O),N=O=>{O.button==1&&S()};t.$$set=O=>{"modal"in O&&r(14,o=O.modal),"previousQuery"in O&&r(13,s=O.previousQuery)},t.$$.update=()=>{if(t.$$.dirty[0]&8194){e:r(1,u=u??s)}if(t.$$.dirty[0]&2){e:u?(r(4,y=!0),g().then(()=>{r(4,y=!1)})):(r(4,y=!1),r(2,d=[]))}if(t.$$.dirty[0]&5){e:n=d[a]}if(t.$$.dirty[0]&32768){e:switch(i){case We.LoadingCache:r(3,c="Loading cache...");break;case We.ReadingFiles:r(3,c="Reading files...");break;case We.IndexingFiles:r(3,c="Indexing files...");break;case We.WritingCache:g(),r(3,c="Updating cache...");break;default:g(),r(3,c="");break}}};e:I.openInNewPane?(r(6,x="\u21B5"),r(7,b=Qt()+" \u21B5"),r(8,h="shift \u21B5"),r(9,_=Qt()+" shift \u21B5")):(r(6,x=Qt()+" \u21B5"),r(7,b="\u21B5"),r(8,h=Qt()+" shift \u21B5"),r(9,_="shift \u21B5"));return[a,u,d,c,y,w,x,b,h,_,j,S,L,s,o,i,A,F,D,N]}var Ec=class extends Ae{constructor(e){super();De(this,e,Ty,Dy,be,{modal:14,previousQuery:13},null,[-1,-1])}},Dc=Ec;var Oc=Fe(require("obsidian"));function Iy(t){let e,r=t[2].replace(t[3],At)+"";return{c(){e=R("div"),B(e,"class","omnisearch-result__body")},m(n,i){$(n,e,i),e.innerHTML=r},p(n,i){i&12&&r!==(r=n[2].replace(n[3],At)+"")&&(e.innerHTML=r)},d(n){n&&H(e)}}}function Oy(t){let e,r;return e=new ni({props:{id:t[0].toString(),selected:t[1],$$slots:{default:[Iy]},$$scope:{ctx:t}}}),e.$on("mousemove",t[6]),e.$on("click",t[7]),e.$on("auxclick",t[8]),{c(){Le(e.$$.fragment)},m(n,i){ke(e,n,i),r=!0},p(n,[i]){let o={};i&1&&(o.id=n[0].toString()),i&2&&(o.selected=n[1]),i&524&&(o.$$scope={dirty:i,ctx:n}),e.$set(o)},i(n){r||(ee(e.$$.fragment,n),r=!0)},o(n){re(e.$$.fragment,n),r=!1},d(n){Ee(e,n)}}}function ky(t,e,r){let n,i,{offset:o}=e,{note:s}=e,{index:a=0}=e,{selected:l=!1}=e;function u(c){$e.call(this,t,c)}function d(c){$e.call(this,t,c)}function f(c){$e.call(this,t,c)}return t.$$set=c=>{"offset"in c&&r(4,o=c.offset),"note"in c&&r(5,s=c.note),"index"in c&&r(0,a=c.index),"selected"in c&&r(1,l=c.selected)},t.$$.update=()=>{if(t.$$.dirty&32){e:r(3,n=St(s.foundWords))}if(t.$$.dirty&48){e:r(2,i=yr(s?.content??"",o))}},[a,l,i,n,o,s,u,d,f]}var Tc=class extends Ae{constructor(e){super();De(this,e,ky,Oy,be,{offset:4,note:5,index:0,selected:1})}},Ic=Tc;function kc(t,e,r){let n=t.slice();return n[19]=e[r],n[21]=r,n}function Py(t){let e;return{c(){e=R("div"),e.textContent="We found 0 result for your search here.",ze(e,"text-align","center")},m(r,n){$(r,e,n)},p:ce,i:ce,o:ce,d(r){r&&H(e)}}}function My(t){let e,r,n=t[4],i=[];for(let s=0;sre(i[s],1,1,()=>{i[s]=null});return{c(){for(let s=0;s{s[d]=null}),Bt(),r=s[e],r?r.p(l,u):(r=s[e]=o[e](l),r.c()),ee(r,1),r.m(n.parentNode,n))},i(l){i||(ee(r),i=!0)},o(l){re(r),i=!1},d(l){s[e].d(l),l&&H(n)}}}function Ly(t){let e;return{c(){e=R("span"),e.textContent="to close"},m(r,n){$(r,e,n)},d(r){r&&H(e)}}}function By(t){let e;return{c(){e=R("span"),e.textContent="to go back to Vault Search"},m(r,n){$(r,e,n)},d(r){r&&H(e)}}}function Ny(t){let e,r,n,i,o,s,a,l,u,d,f,c,y,w,x,b,h,_,p,m;e=new ei({props:{placeholder:"Omnisearch - File",initialValue:t[1]}}),e.$on("input",t[10]),n=new ti({props:{$$slots:{default:[Ry]},$$scope:{ctx:t}}});function v(C,S){return C[0]?By:Ly}let g=v(t,-1),j=g(t);return{c(){Le(e.$$.fragment),r=W(),Le(n.$$.fragment),i=W(),o=R("div"),s=R("div"),s.innerHTML='\u2191\u2193to navigate',a=W(),l=R("div"),l.innerHTML='\u21B5to open',u=W(),d=R("div"),d.innerHTML=`tab + to switch to Vault Search`,f=W(),c=R("div"),y=R("span"),y.textContent="esc",w=W(),j.c(),x=W(),b=R("div"),h=R("span"),h.textContent=`${Qt()} \u21B5`,_=W(),p=R("span"),p.textContent="to open in a new pane",B(s,"class","prompt-instruction"),B(l,"class","prompt-instruction"),B(d,"class","prompt-instruction"),B(y,"class","prompt-instruction-command"),B(c,"class","prompt-instruction"),B(h,"class","prompt-instruction-command"),B(b,"class","prompt-instruction"),B(o,"class","prompt-instructions")},m(C,S){ke(e,C,S),$(C,r,S),ke(n,C,S),$(C,i,S),$(C,o,S),T(o,s),T(o,a),T(o,l),T(o,u),T(o,d),T(o,f),T(o,c),T(c,y),T(c,w),j.m(c,null),T(o,x),T(o,b),T(b,h),T(b,_),T(b,p),m=!0},p(C,[S]){let E={};S&2&&(E.initialValue=C[1]),e.$set(E);let P={};S&4194360&&(P.$$scope={dirty:S,ctx:C}),n.$set(P),g!==(g=v(C,S))&&(j.d(1),j=g(C),j&&(j.c(),j.m(c,null)))},i(C){m||(ee(e.$$.fragment,C),ee(n.$$.fragment,C),m=!0)},o(C){re(e.$$.fragment,C),re(n.$$.fragment,C),m=!1},d(C){Ee(e,C),C&&H(r),Ee(n,C),C&&H(i),C&&H(o),j.d()}}}function Ky(t,e,r){let n=t.find(i=>i.offset>e);return n?t.filter(i=>i.offset>e&&i.offset<=n.offset+r):[]}function zy(t,e,r){let{modal:n}=e,{parent:i=null}=e,{singleFilePath:o=""}=e,{previousQuery:s}=e,a,l=[],u=0,d,f;Br(()=>{U.enable("infile"),U.on("infile","enter",b),U.on("infile","open-in-new-pane",x),U.on("infile","arrow-up",()=>y(-1)),U.on("infile","arrow-down",()=>y(1)),U.on("infile","tab",h)}),Nr(()=>{U.disable("infile")});function c(g){let j=[],C=-1,S=0;for(;;){let E=Ky(g,C,ln);if(!E.length||(C=E.last().offset,j.push(E),++S>100))break}return j}function y(g){r(5,u=Xn(u+g,l.length)),w()}async function w(){await mt(),document.querySelector(`[data-result-id="${u}"]`)?.scrollIntoView({behavior:"auto",block:"nearest"})}async function x(){return b(!0)}async function b(g=!1){if(d){n.close(),i&&i.close(),await ri(d,g);let j=app.workspace.getActiveViewOfType(Oc.MarkdownView);if(!j)return;let C=l[u]??0,S=j.editor.offsetToPos(C);S.ch=0,j.editor.setCursor(S),j.editor.scrollIntoView({from:{line:S.line-10,ch:0},to:{line:S.line+10,ch:0}})}}function h(){new Zt(app,a??s).open(),n.close()}let _=g=>r(2,a=g.detail),p=(g,j)=>r(5,u=g),m=g=>b(g.ctrlKey),v=g=>{g.button==1&&b(!0)};return t.$$set=g=>{"modal"in g&&r(7,n=g.modal),"parent"in g&&r(0,i=g.parent),"singleFilePath"in g&&r(8,o=g.singleFilePath),"previousQuery"in g&&r(1,s=g.previousQuery)},t.$$.update=()=>{if(t.$$.dirty&2){e:r(2,a=s??"")}if(t.$$.dirty&772){e:(async()=>{a&&(r(9,f=new Yt(a)),r(3,d=(await ve.getSuggestions(f,{singleFilePath:o}))[0]??null)),r(5,u=0),await w()})()}if(t.$$.dirty&8){e:if(d){let g=c(d.matches);r(4,l=g.map(j=>Math.round((j.first().offset+j.last().offset)/2)))}}},[i,s,a,d,l,u,b,n,o,f,_,p,m,v]}var Mc=class extends Ae{constructor(e){super();De(this,e,zy,Ny,be,{modal:7,parent:0,singleFilePath:8,previousQuery:1})}},Rc=Mc;var ds=class extends Lc.Modal{constructor(e){super(e);this.modalEl.replaceChildren(),this.modalEl.addClass("omnisearch-modal","prompt"),this.modalEl.removeClass("modal"),this.modalEl.tabIndex=-1,this.scope.register([],"ArrowDown",s=>{s.preventDefault(),U.emit("arrow-down")}),this.scope.register([],"ArrowUp",s=>{s.preventDefault(),U.emit("arrow-up")});for(let s of[{k:"J",dir:"down"},{k:"K",dir:"up"}])for(let a of["Ctrl","Mod"])this.scope.register([a],s.k,l=>{this.app.vault.getConfig("vimMode")&&U.emit("arrow-"+s.dir)});for(let s of[{k:"N",dir:"down"},{k:"P",dir:"up"}])for(let a of["Ctrl","Mod"])this.scope.register([a],s.k,l=>{this.app.vault.getConfig("vimMode")&&U.emit("arrow-"+s.dir)});let r,n,i,o;I.openInNewPane?(r=["Mod"],n=[],i=["Mod","Shift"],o=["Shift"]):(r=[],n=["Mod"],i=["Shift"],o=["Mod","Shift"]),this.scope.register(n,"Enter",s=>{s.preventDefault(),U.emit("open-in-new-pane")}),this.scope.register(["Alt"],"Enter",s=>{s.preventDefault(),U.emit("insert-link")}),this.scope.register(i,"Enter",s=>{s.preventDefault(),U.emit("create-note")}),this.scope.register(o,"Enter",s=>{s.preventDefault(),U.emit("create-note",{newLeaf:!0})}),this.scope.register(r,"Enter",s=>{Da()||(s.preventDefault(),U.emit("enter"))}),this.scope.register([],"Tab",s=>{s.preventDefault(),U.emit("tab")}),this.scope.register(["Alt"],"ArrowDown",s=>{s.preventDefault(),U.emit("next-search-history")}),this.scope.register(["Alt"],"ArrowUp",s=>{s.preventDefault(),U.emit("prev-search-history")}),this.scope.register(["Ctrl"],"H",s=>{U.emit(qn.ToggleExcerpts)})}},Zt=class extends ds{constructor(e,r){super(e);let n=new Dc({target:this.modalEl,props:{modal:this,previousQuery:r}});this.onClose=()=>{n.$destroy()}}},kr=class extends ds{constructor(e,r,n="",i){super(e);let o=new Rc({target:this.modalEl,props:{modal:this,singleFilePath:r.path,parent:i,previousQuery:n}});i&&i.containerEl.toggleVisibility(!1),this.onClose=()=>{i&&i.containerEl.toggleVisibility(!0),o.$destroy()}}};var Bc=!1,Fi=[];function Vy(t){return t.map(e=>{let{score:r,path:n,basename:i,foundWords:o,matches:s,content:a}=e,l=yr(a,s[0]?.offset??-1);return{score:r,path:n,basename:i,foundWords:o,matches:s.map(u=>({match:u.match,offset:u.offset})),excerpt:l}})}async function Hy(t){let e=new Yt(t),r=await ve.getSuggestions(e);return Vy(r)}function $y(t){Fi.push(t),Bc&&t()}function Wy(t){Fi=Fi.filter(e=>e!==t)}function Nc(){Bc=!0,Fi.forEach(t=>t())}var hs={search:Hy,registerOnIndexed:$y,unregisterOnIndexed:Wy,refreshIndex:Ai};var ps=class extends Pr.Plugin{async onload(){if(await ja(this),this.addSettingTab(new Io(this)),Oo()){console.log("Omnisearch - Plugin disabled");return}await Uy(),await gr.clearOldDatabases(),Gy(this),I.ribbonIcon&&this.addRibbonButton(),U.disable("vault"),U.disable("infile"),U.on("global",qn.ToggleExcerpts,()=>{Ut.set(!I.showExcerpt)}),this.addCommand({id:"show-modal",name:"Vault search",callback:()=>{new Zt(app).open()}}),this.addCommand({id:"show-modal-infile",name:"In-file search",editorCallback:(e,r)=>{r.file&&new kr(app,r.file).open()}}),app.workspace.onLayoutReady(async()=>{this.registerEvent(this.app.vault.on("create",e=>{cn(e.path)&&(fe("Indexing new file",e.path),ve.addFromPaths([e.path]))})),this.registerEvent(this.app.vault.on("delete",e=>{fe("Removing file",e.path),we.removeFromLiveCache(e.path),ve.removeFromPaths([e.path])})),this.registerEvent(this.app.vault.on("modify",async e=>{cn(e.path)&&(fe("Updating file",e.path),await we.addToLiveCache(e.path),bc(e))})),this.registerEvent(this.app.vault.on("rename",async(e,r)=>{cn(e.path)&&(fe("Renaming file",e.path),we.removeFromLiveCache(r),we.addToLiveCache(e.path),ve.removeFromPaths([r]),await ve.addFromPaths([e.path]))})),this.executeFirstLaunchTasks(),await this.populateIndex()})}executeFirstLaunchTasks(){let e="1.10.1";if(I.welcomeMessage!==e){let r=new DocumentFragment;r.createSpan({},n=>{n.innerHTML="\u{1F50E} Omnisearch now requires the Text Extractor plugin to index PDF and images. See Omnisearch settings for more information."}),new Pr.Notice(r,2e4)}I.welcomeMessage=e,this.saveData(I)}async onunload(){delete globalThis.omnisearch,await Be.clearCache()}addRibbonButton(){this.ribbonButton=this.addRibbonIcon("search","Omnisearch",e=>{new Zt(app).open()})}removeRibbonButton(){this.ribbonButton&&this.ribbonButton.parentNode?.removeChild(this.ribbonButton)}async populateIndex(){console.time("Omnisearch - Indexing total time"),jt.set(We.ReadingFiles);let e=app.vault.getFiles().filter(n=>cn(n.path));console.log(`Omnisearch - ${e.length} files total`),console.log(`Omnisearch - Cache is ${wt()?"enabled":"disabled"}`),wt()&&(console.time("Omnisearch - Loading index from cache"),jt.set(We.LoadingCache),await ve.loadCache()&&console.timeEnd("Omnisearch - Loading index from cache"));let r=ve.getDiff(e.map(n=>({path:n.path,mtime:n.stat.mtime})));wt()&&(r.toAdd.length&&console.log("Omnisearch - Total number of files to add/update: "+r.toAdd.length),r.toRemove.length&&console.log("Omnisearch - Total number of files to remove: "+r.toRemove.length)),r.toAdd.length>=1e3&&wt()&&new Pr.Notice(`Omnisearch - ${r.toAdd.length} files need to be indexed. Obsidian may experience stutters and freezes during the process`,1e4),jt.set(We.IndexingFiles),ve.removeFromPaths(r.toRemove.map(n=>n.path)),await ve.addFromPaths(r.toAdd.map(n=>n.path)),(r.toRemove.length||r.toAdd.length)&&wt()&&(jt.set(We.WritingCache),I.useCache=!1,pe(this),await ve.writeToCache(),I.useCache=!0,pe(this)),console.timeEnd("Omnisearch - Indexing total time"),r.toAdd.length>=1e3&&new Pr.Notice("Omnisearch - Your files have been indexed."),jt.set(We.Done),Nc()}};async function Uy(){let t=[`${app.vault.configDir}/plugins/omnisearch/searchIndex.json`,`${app.vault.configDir}/plugins/omnisearch/notesCache.json`,`${app.vault.configDir}/plugins/omnisearch/notesCache.data`,`${app.vault.configDir}/plugins/omnisearch/searchIndex.data`,`${app.vault.configDir}/plugins/omnisearch/historyCache.json`,`${app.vault.configDir}/plugins/omnisearch/pdfCache.data`];for(let e of t)if(await app.vault.adapter.exists(e))try{await app.vault.adapter.remove(e)}catch{}}function Gy(t){t.registerObsidianProtocolHandler("omnisearch",e=>{new Zt(app,e.query).open()}),globalThis.omnisearch=hs,app.plugins.plugins.omnisearch.api=hs} diff --git a/notes/.obsidian/plugins/omnisearch/manifest.json b/notes/.obsidian/plugins/omnisearch/manifest.json index b390e55..6708391 100644 --- a/notes/.obsidian/plugins/omnisearch/manifest.json +++ b/notes/.obsidian/plugins/omnisearch/manifest.json @@ -1,7 +1,7 @@ { "id": "omnisearch", "name": "Omnisearch", - "version": "1.14.0", + "version": "1.14.2", "minAppVersion": "1.0.0", "description": "A search engine that just works", "author": "Simon Cambier", diff --git a/notes/.obsidian/plugins/omnisearch/styles.css b/notes/.obsidian/plugins/omnisearch/styles.css index eccf2d5..2e8501e 100644 --- a/notes/.obsidian/plugins/omnisearch/styles.css +++ b/notes/.obsidian/plugins/omnisearch/styles.css @@ -18,6 +18,7 @@ } .omnisearch-result__title { + white-space: pre-wrap; align-items: center; display: flex; gap: 5px; diff --git a/notes/.obsidian/plugins/tag-wrangler/main.js b/notes/.obsidian/plugins/tag-wrangler/main.js index e552f8d..6bffda3 100644 --- a/notes/.obsidian/plugins/tag-wrangler/main.js +++ b/notes/.obsidian/plugins/tag-wrangler/main.js @@ -148,5 +148,5 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus into existing tags (such as ${s} merging with ${e})`}. - This cannot be undone. Do you wish to proceed?`)}catch(i){return!0}}function Fn(s,e){let t=Object.keys(e).map(n=>nr(s,n,e[n]));return t.length===1?t[0]:function(){t.forEach(n=>n())}}function nr(s,e,t){let n=s[e],i=s.hasOwnProperty(e),r=t(n);return n&&Object.setPrototypeOf(r,n),Object.setPrototypeOf(o,r),s[e]=o,a;function o(...l){return r===n&&s[e]===o&&a(),r.apply(this,l)}function a(){s[e]===o&&(i?s[e]=n:delete s[e]),r!==n&&(r=n,Object.setPrototypeOf(o,n||Function))}}var Kn="tag-wrangler:tag-pane";function ot(s,e,t,n,i){return s.on(e,t,n,i),()=>s.off(e,t,n,i)}var Vt=class extends P.Plugin{constructor(){super(...arguments);Gt(this,"pageAliases",new Map);Gt(this,"tagPages",new Map)}tagPage(t){return Array.from(this.tagPages.get(I.canonical(t))||"")[0]}openTagPage(t,n,i){let r={eState:n?{rename:"all"}:{focus:!0},...n?{state:{mode:"source"}}:{}};return this.app.workspace.getLeaf(i).openFile(t,r)}async createTagPage(t,n){var a;let i=new I(t).name.split("/").join(" "),r=this.app.fileManager.getNewFileParent(((a=this.app.workspace.getActiveFile())==null?void 0:a.path)||""),o=this.app.vault.getAvailablePath(r.getParentPrefix()+i,"md");this.openTagPage(await this.app.vault.create(o,["---",`Aliases: [ ${JSON.stringify(I.toTag(t))} ]`,"---",""].join(` -`)),!0,n)}async onload(){this.register(ot(document,"contextmenu",".tag-pane-tag",this.onMenu.bind(this),{capture:!0})),this.app.workspace.registerHoverLinkSource(Kn,{display:"Tag pane",defaultMod:!0}),this.addChild(new at(this,{hoverSource:Kn,selector:".tag-pane-tag",container:".tag-container",toTag(i){var r;return(r=i.find(".tag-pane-tag-text, tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text"))==null?void 0:r.textContent}})),this.addChild(new at(this,{hoverSource:"preview",selector:'a.tag[href^="#"]',container:".markdown-preview-view, .markdown-embed, .workspace-leaf-content",toTag(i){return i.getAttribute("href")}})),this.addChild(new at(this,{hoverSource:"editor",selector:"span.cm-hashtag",container:".markdown-source-view",toTag(i){let r=i.textContent;if(!i.matches(".cm-formatting"))for(let o=i.previousElementSibling;o!=null&&o.matches("span.cm-hashtag:not(.cm-formatting)");o=o.previousElementSibling)r=o.textContent+r;for(let o=i.nextElementSibling;o!=null&&o.matches("span.cm-hashtag:not(.cm-formatting)");o=o.nextElementSibling)r+=o.textContent;return r}})),this.register(ot(document,"pointerdown",".tag-pane-tag",(i,r)=>{r.draggable="true"},{capture:!0})),this.register(ot(document,"dragstart",".tag-pane-tag",(i,r)=>{var a;let o=(a=r.find(".tag-pane-tag-text, tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text"))==null?void 0:a.textContent;i.dataTransfer.setData("text/plain","#"+o),app.dragManager.onDragStart(i,{source:"tag-wrangler",type:"text",title:o,icon:"hashtag"})},{capture:!1}));let t=this.app.metadataCache,n=this;this.register(Fn(t,{getTags(i){return function(){let o=i.call(this),a=new Set(Object.keys(o).map(l=>l.toLowerCase()));for(let l of n.tagPages.keys())a.has(l)||(o[n.tagPages.get(l).tag]=0);return o}}})),this.app.workspace.onLayoutReady(()=>{t.getCachedFiles().forEach(i=>{var o,a;let r=(o=t.getCache(i))==null?void 0:o.frontmatter;r&&((a=(0,P.parseFrontMatterAliases)(r))==null?void 0:a.filter(I.isTag))&&this.updatePage(this.app.vault.getAbstractFileByPath(i),r)}),this.registerEvent(t.on("changed",(i,r,o)=>this.updatePage(i,o==null?void 0:o.frontmatter))),this.registerEvent(this.app.vault.on("delete",i=>this.updatePage(i))),app.workspace.getLeavesOfType("tag").forEach(i=>{var r,o;(o=(r=i==null?void 0:i.view)==null?void 0:r.requestUpdateTags)==null||o.call(r)})})}updatePage(t,n){var r;let i=((r=(0,P.parseFrontMatterAliases)(n))==null?void 0:r.filter(I.isTag))||[];if(this.pageAliases.has(t)){let o=new Set(i||[]);for(let a of this.pageAliases.get(t)){if(o.has(a))continue;let l=I.canonical(a),c=this.tagPages.get(l);c&&(c.delete(t),c.size||this.tagPages.delete(l))}i.length||this.pageAliases.delete(t)}if(i.length){this.pageAliases.set(t,i);for(let o of i){let a=I.canonical(o);if(this.tagPages.has(a))this.tagPages.get(a).add(t);else{let l=new Set([t]);l.tag=I.toTag(o),this.tagPages.set(a,l)}}}}onMenu(t,n){t.obsidian_contextmenu||(t.obsidian_contextmenu=new P.Menu(this.app),setTimeout(()=>u.showAtPosition({x:t.pageX,y:t.pageY}),0));let i=n.find(".tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text").textContent,r=this.tagPage(i),o=n.parentElement.parentElement.find(".collapse-icon"),a=this.app.internalPlugins.getPluginById("global-search"),l=a&&a.instance,c=l&&l.getGlobalSearchQuery(),f=this.app.plugins.plugins["smart-random-note"],u=t.obsidian_contextmenu.addItem(le("pencil","Rename #"+i,()=>this.rename(i)));if(u.addSeparator(),r?u.addItem(le("popup-open","Open tag page",h=>this.openTagPage(r,!1,P.Keymap.isModEvent(h)))):u.addItem(le("create-new","Create tag page",h=>this.createTagPage(i,P.Keymap.isModEvent(h)))),l&&(u.addSeparator().addItem(le("magnifying-glass","New search for #"+i,()=>l.openGlobalSearch("tag:"+i))),c&&u.addItem(le("sheets-in-box","Require #"+i+" in search",()=>l.openGlobalSearch(c+" tag:"+i))),u.addItem(le("crossed-star","Exclude #"+i+" from search",()=>l.openGlobalSearch(c+" -tag:"+i)))),f&&u.addSeparator().addItem(le("dice","Open random note",async()=>{let h=await Is(this.app,new I(i));f.openRandomNote(h.map(p=>this.app.vault.getAbstractFileByPath(p.filename)))})),this.app.workspace.trigger("tag-wrangler:contextmenu",u,i,{search:l,query:c,isHierarchy:o,tagPage:r}),o){let m=function(d){var y;for(let w of(y=g.children)!=null?y:g.vChildren.children)w.setCollapsed(d)},h=i.split("/").slice(0,-1).join("/"),p=this.leafView(n.matchParent(".workspace-leaf")),g=h?p.tagDoms["#"+h.toLowerCase()]:p.root;u.addSeparator().addItem(le("vertical-three-dots","Collapse tags at this level",()=>m(!0))).addItem(le("expand-vertically","Expand tags at this level",()=>m(!1)))}}leafView(t){let n;return this.app.workspace.iterateAllLeaves(i=>{if(i.containerEl===t)return n=i.view,!0}),n}async rename(t){let n=new P.Scope;this.app.keymap.pushScope(n);try{await qn(this.app,t)}catch(i){console.error(i),new P.Notice("error: "+i)}this.app.keymap.popScope(n)}};function le(s,e,t){return n=>n.setIcon(s).setTitle(e).onClick(t)}var at=class extends P.Component{constructor(e,t){super(),this.opts=t,this.plugin=e}onload(){let{selector:e,container:t,hoverSource:n,toTag:i}=this.opts;this.register(ot(document,"mouseover",e,(r,o)=>{let a=i(o),l=a&&this.plugin.tagPage(a);l&&this.plugin.app.workspace.trigger("hover-link",{event:r,source:n,targetEl:o,linktext:l.path,hoverParent:o.matchParent(t)})},{capture:!1})),this.register(ot(document,"click",e,(r,o)=>{let{altKey:a}=r;if(!P.Keymap.isModEvent(r)&&!a)return;let l=i(o),c=l&&this.plugin.tagPage(l);if(c)return this.plugin.openTagPage(c,!1,!a),r.preventDefault(),r.stopPropagation(),!1},{capture:!0}))}}; + This cannot be undone. Do you wish to proceed?`)}catch(i){return!0}}function Fn(s,e){let t=Object.keys(e).map(n=>nr(s,n,e[n]));return t.length===1?t[0]:function(){t.forEach(n=>n())}}function nr(s,e,t){let n=s[e],i=s.hasOwnProperty(e),r=t(n);return n&&Object.setPrototypeOf(r,n),Object.setPrototypeOf(o,r),s[e]=o,a;function o(...l){return r===n&&s[e]===o&&a(),r.apply(this,l)}function a(){s[e]===o&&(i?s[e]=n:delete s[e]),r!==n&&(r=n,Object.setPrototypeOf(o,n||Function))}}var Kn="tag-wrangler:tag-pane";function ot(s,e,t,n,i){return s.on(e,t,n,i),()=>s.off(e,t,n,i)}var Vt=class extends P.Plugin{constructor(){super(...arguments);Gt(this,"pageAliases",new Map);Gt(this,"tagPages",new Map)}tagPage(t){return Array.from(this.tagPages.get(I.canonical(t))||"")[0]}openTagPage(t,n,i){let r={eState:n?{rename:"all"}:{focus:!0},...n?{state:{mode:"source"}}:{}};return this.app.workspace.getLeaf(i).openFile(t,r)}async createTagPage(t,n){var o;let r={tag:new I(t).canonical,file:void 0};if(app.workspace.trigger("tag-page:will-create",r),!r.file){let a=new I(t).name.split("/").join(" "),l=this.app.fileManager.getNewFileParent(((o=this.app.workspace.getActiveFile())==null?void 0:o.path)||""),c=this.app.vault.getAvailablePath(l.getParentPrefix()+a,"md"),f=await this.app.vault.create(c,["---",`Aliases: [ ${JSON.stringify(I.toTag(t))} ]`,"---",""].join(` +`));r.file=f}app.workspace.trigger("tag-page:did-create",r),this.openTagPage(r.file,!0,n)}async onload(){this.register(ot(document,"contextmenu",".tag-pane-tag",this.onMenu.bind(this),{capture:!0})),this.app.workspace.registerHoverLinkSource(Kn,{display:"Tag pane",defaultMod:!0}),this.addChild(new at(this,{hoverSource:Kn,selector:".tag-pane-tag",container:".tag-container",toTag(i){var r;return(r=i.find(".tag-pane-tag-text, tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text"))==null?void 0:r.textContent}})),this.addChild(new at(this,{hoverSource:"preview",selector:'a.tag[href^="#"]',container:".markdown-preview-view, .markdown-embed, .workspace-leaf-content",toTag(i){return i.getAttribute("href")}})),this.addChild(new at(this,{hoverSource:"editor",selector:"span.cm-hashtag",container:".markdown-source-view",toTag(i){let r=i.textContent;if(!i.matches(".cm-formatting"))for(let o=i.previousElementSibling;o!=null&&o.matches("span.cm-hashtag:not(.cm-formatting)");o=o.previousElementSibling)r=o.textContent+r;for(let o=i.nextElementSibling;o!=null&&o.matches("span.cm-hashtag:not(.cm-formatting)");o=o.nextElementSibling)r+=o.textContent;return r}})),this.register(ot(document,"pointerdown",".tag-pane-tag",(i,r)=>{r.draggable="true"},{capture:!0})),this.register(ot(document,"dragstart",".tag-pane-tag",(i,r)=>{var a;let o=(a=r.find(".tag-pane-tag-text, tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text"))==null?void 0:a.textContent;i.dataTransfer.setData("text/plain","#"+o),app.dragManager.onDragStart(i,{source:"tag-wrangler",type:"text",title:o,icon:"hashtag"})},{capture:!1}));let t=this.app.metadataCache,n=this;this.register(Fn(t,{getTags(i){return function(){let o=i.call(this),a=new Set(Object.keys(o).map(l=>l.toLowerCase()));for(let l of n.tagPages.keys())a.has(l)||(o[n.tagPages.get(l).tag]=0);return o}}})),this.app.workspace.onLayoutReady(()=>{t.getCachedFiles().forEach(i=>{var o,a;let r=(o=t.getCache(i))==null?void 0:o.frontmatter;r&&((a=(0,P.parseFrontMatterAliases)(r))==null?void 0:a.filter(I.isTag))&&this.updatePage(this.app.vault.getAbstractFileByPath(i),r)}),this.registerEvent(t.on("changed",(i,r,o)=>this.updatePage(i,o==null?void 0:o.frontmatter))),this.registerEvent(this.app.vault.on("delete",i=>this.updatePage(i))),app.workspace.getLeavesOfType("tag").forEach(i=>{var r,o;(o=(r=i==null?void 0:i.view)==null?void 0:r.requestUpdateTags)==null||o.call(r)})})}updatePage(t,n){var r;let i=((r=(0,P.parseFrontMatterAliases)(n))==null?void 0:r.filter(I.isTag))||[];if(this.pageAliases.has(t)){let o=new Set(i||[]);for(let a of this.pageAliases.get(t)){if(o.has(a))continue;let l=I.canonical(a),c=this.tagPages.get(l);c&&(c.delete(t),c.size||this.tagPages.delete(l))}i.length||this.pageAliases.delete(t)}if(i.length){this.pageAliases.set(t,i);for(let o of i){let a=I.canonical(o);if(this.tagPages.has(a))this.tagPages.get(a).add(t);else{let l=new Set([t]);l.tag=I.toTag(o),this.tagPages.set(a,l)}}}}onMenu(t,n){t.obsidian_contextmenu||(t.obsidian_contextmenu=new P.Menu(this.app),setTimeout(()=>u.showAtPosition({x:t.pageX,y:t.pageY}),0));let i=n.find(".tag-pane-tag-text, .tag-pane-tag .tree-item-inner-text").textContent,r=this.tagPage(i),o=n.parentElement.parentElement.find(".collapse-icon"),a=this.app.internalPlugins.getPluginById("global-search"),l=a&&a.instance,c=l&&l.getGlobalSearchQuery(),f=this.app.plugins.plugins["smart-random-note"],u=t.obsidian_contextmenu.addItem(le("pencil","Rename #"+i,()=>this.rename(i)));if(u.addSeparator(),r?u.addItem(le("popup-open","Open tag page",h=>this.openTagPage(r,!1,P.Keymap.isModEvent(h)))):u.addItem(le("create-new","Create tag page",h=>this.createTagPage(i,P.Keymap.isModEvent(h)))),l&&(u.addSeparator().addItem(le("magnifying-glass","New search for #"+i,()=>l.openGlobalSearch("tag:"+i))),c&&u.addItem(le("sheets-in-box","Require #"+i+" in search",()=>l.openGlobalSearch(c+" tag:"+i))),u.addItem(le("crossed-star","Exclude #"+i+" from search",()=>l.openGlobalSearch(c+" -tag:"+i)))),f&&u.addSeparator().addItem(le("dice","Open random note",async()=>{let h=await Is(this.app,new I(i));f.openRandomNote(h.map(p=>this.app.vault.getAbstractFileByPath(p.filename)))})),this.app.workspace.trigger("tag-wrangler:contextmenu",u,i,{search:l,query:c,isHierarchy:o,tagPage:r}),o){let m=function(d){var y;for(let w of(y=g.children)!=null?y:g.vChildren.children)w.setCollapsed(d)},h=i.split("/").slice(0,-1).join("/"),p=this.leafView(n.matchParent(".workspace-leaf")),g=h?p.tagDoms["#"+h.toLowerCase()]:p.root;u.addSeparator().addItem(le("vertical-three-dots","Collapse tags at this level",()=>m(!0))).addItem(le("expand-vertically","Expand tags at this level",()=>m(!1)))}}leafView(t){let n;return this.app.workspace.iterateAllLeaves(i=>{if(i.containerEl===t)return n=i.view,!0}),n}async rename(t){let n=new P.Scope;this.app.keymap.pushScope(n);try{await qn(this.app,t)}catch(i){console.error(i),new P.Notice("error: "+i)}this.app.keymap.popScope(n)}};function le(s,e,t){return n=>n.setIcon(s).setTitle(e).onClick(t)}var at=class extends P.Component{constructor(e,t){super(),this.opts=t,this.plugin=e}onload(){let{selector:e,container:t,hoverSource:n,toTag:i}=this.opts;this.register(ot(document,"mouseover",e,(r,o)=>{let a=i(o),l=a&&this.plugin.tagPage(a);l&&this.plugin.app.workspace.trigger("hover-link",{event:r,source:n,targetEl:o,linktext:l.path,hoverParent:o.matchParent(t)})},{capture:!1})),this.register(ot(document,"click",e,(r,o)=>{let{altKey:a}=r;if(!P.Keymap.isModEvent(r)&&!a)return;let l=i(o),c=l&&this.plugin.tagPage(l);if(c)return this.plugin.openTagPage(c,!1,P.Keymap.isModEvent(r)),r.preventDefault(),r.stopPropagation(),!1},{capture:!0}))}}; diff --git a/notes/.obsidian/plugins/tag-wrangler/manifest.json b/notes/.obsidian/plugins/tag-wrangler/manifest.json index ef4c93c..f871b3f 100644 --- a/notes/.obsidian/plugins/tag-wrangler/manifest.json +++ b/notes/.obsidian/plugins/tag-wrangler/manifest.json @@ -3,7 +3,7 @@ "name": "Tag Wrangler", "author": "PJ Eby", "authorUrl": "https://github.com/pjeby", - "version": "0.5.8", + "version": "0.5.9", "minAppVersion": "0.15.9", "description": "Rename, merge, toggle, and search tags from the tag pane", "isDesktopOnly": false diff --git a/notes/.obsidian/plugins/various-complements/main.js b/notes/.obsidian/plugins/various-complements/main.js index d3621f9..8da3055 100644 --- a/notes/.obsidian/plugins/various-complements/main.js +++ b/notes/.obsidian/plugins/various-complements/main.js @@ -669,6 +669,9 @@ var emoji_regex_default = () => { // src/util/strings.ts var regEmoji = new RegExp(` *(${emoji_regex_default().source}) *`, "g"); +function equalsAsLiterals(one, another) { + return one.replace(/[ \t]/g, "") === another.replace(/[ \t]/g, ""); +} function allNumbersOrFewSymbols(text2) { return Boolean(text2.match(/^[0-9_\-.]+$/)); } @@ -703,13 +706,16 @@ function lowerIncludes(one, other) { function lowerStartsWith(a, b) { return a.toLowerCase().startsWith(b.toLowerCase()); } +function wrapFuzzy(func) { + return (...xs) => func(...xs) ? { type: "concrete_match" } : { type: "none" }; +} function lowerFuzzy(a, b) { return microFuzzy(a.toLowerCase(), b.toLowerCase()); } function lowerFuzzyStarsWith(a, b) { const aLower = a.toLowerCase(); const bLower = b.toLowerCase(); - return aLower[0] !== bLower[0] ? false : microFuzzy(aLower, bLower); + return aLower[0] === bLower[0] ? microFuzzy(aLower, bLower) : { type: "none" }; } function capitalizeFirstLetter(str) { return str.charAt(0).toUpperCase() + str.slice(1); @@ -749,19 +755,30 @@ function microFuzzy(value, query) { let i = 0; let lastMatchIndex = null; let isFuzzy = false; + let scoreSeed = 0; + let combo = 0; for (let j = 0; j < value.length; j++) { if (value[j] === query[i]) { if (lastMatchIndex != null && j - lastMatchIndex > 1) { isFuzzy = true; } lastMatchIndex = j; + combo++; i++; + } else { + if (combo > 0) { + scoreSeed += 2 ** combo; + combo = 0; + } } if (i === query.length) { - return isFuzzy ? "fuzzy" : true; + if (combo > 0) { + scoreSeed += 2 ** combo; + } + return isFuzzy ? { type: "fuzzy_match", score: scoreSeed / value.length } : { type: "concrete_match" }; } } - return false; + return { type: "none" }; } function joinNumberWithSymbol(tokens) { if (tokens.length === 0) { @@ -787,12 +804,13 @@ function joinNumberWithSymbol(tokens) { function pickTokens(content, trimPattern) { return content.split(trimPattern).filter((x) => x !== ""); } -var TRIM_CHAR_PATTERN = /[\n\t\[\]$/:?!=()<>"',|;*~ `]/g; +var TRIM_CHAR_PATTERN = /[\n\t\[\]$/:?!=()<>"',|;*~ `_]/g; var DefaultTokenizer = class { tokenize(content, raw) { - return raw ? Array.from(splitRaw(content, this.getTrimPattern())).filter( + const tokens = raw ? Array.from(splitRaw(content, this.getTrimPattern())).filter( (x) => x !== " " ) : pickTokens(content, this.getTrimPattern()); + return tokens.map((x) => x.replace(/\.+$/g, "")); } recursiveTokenize(content) { const trimIndexes = Array.from(content.matchAll(this.getTrimPattern())).sort((a, b) => a.index - b.index).map((x) => x.index); @@ -2768,8 +2786,8 @@ function pushWord(wordsByFirstLetter, key, word) { } wordsByFirstLetter[key].push(word); } -function judge(word, query, queryStartWithUpper, fuzzy) { - var _a; +function judge(word, query, queryStartWithUpper, options) { + var _a, _b, _c; if (query === "") { return { word: { @@ -2780,9 +2798,9 @@ function judge(word, query, queryStartWithUpper, fuzzy) { alias: false }; } - const matcher = fuzzy ? lowerFuzzy : lowerStartsWith; + const matcher = (options == null ? void 0 : options.fuzzy) ? lowerFuzzy : wrapFuzzy(lowerStartsWith); const matched = matcher(word.value, query); - if (matched) { + if (matched.type === "concrete_match" || matched.type === "fuzzy_match" && matched.score > ((_a = options == null ? void 0 : options.fuzzy) == null ? void 0 : _a.minMatchScore)) { if (queryStartWithUpper && word.type !== "internalLink" && word.type !== "frontMatter") { const c = capitalizeFirstLetter(word.value); return { @@ -2790,7 +2808,7 @@ function judge(word, query, queryStartWithUpper, fuzzy) { ...word, value: c, hit: c, - fuzzy: matched === "fuzzy" + fuzzy: matched.type === "fuzzy_match" }, value: c, alias: false @@ -2800,20 +2818,22 @@ function judge(word, query, queryStartWithUpper, fuzzy) { word: { ...word, hit: word.value, - fuzzy: matched === "fuzzy" + fuzzy: matched.type === "fuzzy_match" }, value: word.value, alias: false }; } } - const matchedAlias = (_a = word.aliases) == null ? void 0 : _a.map((a) => ({ aliases: a, matched: matcher(a, query) })).find((x) => x.matched); - if (matchedAlias == null ? void 0 : matchedAlias.matched) { + const matchedAlias = (_b = word.aliases) == null ? void 0 : _b.map((a) => ({ aliases: a, matched: matcher(a, query) })).sort( + (a, b) => a.matched.type === "concrete_match" && b.matched.type !== "concrete_match" ? -1 : 0 + ).find((x) => x.matched.type !== "none"); + if (matchedAlias && (matchedAlias.matched.type === "concrete_match" || matchedAlias.matched.type === "fuzzy_match" && matchedAlias.matched.score > ((_c = options == null ? void 0 : options.fuzzy) == null ? void 0 : _c.minMatchScore))) { return { word: { ...word, hit: matchedAlias.aliases, - fuzzy: matchedAlias.matched === "fuzzy" + fuzzy: matchedAlias.matched.type === "fuzzy_match" }, value: matchedAlias.aliases, alias: true @@ -2825,10 +2845,9 @@ function judge(word, query, queryStartWithUpper, fuzzy) { }; } function suggestWords(indexedWords, query, maxNum, option = {}) { - var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q; + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p; const { frontMatter, selectionHistoryStorage } = option; const queryStartWithUpper = capitalizeFirstLetter(query) === query; - const fuzzy = (_a = option.fuzzy) != null ? _a : false; const flattenFrontMatterWords = () => { var _a2, _b2; if (frontMatter === "alias" || frontMatter === "aliases") { @@ -2840,25 +2859,25 @@ function suggestWords(indexedWords, query, maxNum, option = {}) { return []; }; const words = queryStartWithUpper ? frontMatter ? flattenFrontMatterWords() : [ - ...(_b = indexedWords.currentFile[query.charAt(0)]) != null ? _b : [], - ...(_c = indexedWords.currentFile[query.charAt(0).toLowerCase()]) != null ? _c : [], - ...(_d = indexedWords.currentVault[query.charAt(0)]) != null ? _d : [], - ...(_e = indexedWords.currentVault[query.charAt(0).toLowerCase()]) != null ? _e : [], - ...(_f = indexedWords.customDictionary[query.charAt(0)]) != null ? _f : [], - ...(_g = indexedWords.customDictionary[query.charAt(0).toLowerCase()]) != null ? _g : [], - ...(_h = indexedWords.internalLink[query.charAt(0)]) != null ? _h : [], - ...(_i = indexedWords.internalLink[query.charAt(0).toLowerCase()]) != null ? _i : [] + ...(_a = indexedWords.currentFile[query.charAt(0)]) != null ? _a : [], + ...(_b = indexedWords.currentFile[query.charAt(0).toLowerCase()]) != null ? _b : [], + ...(_c = indexedWords.currentVault[query.charAt(0)]) != null ? _c : [], + ...(_d = indexedWords.currentVault[query.charAt(0).toLowerCase()]) != null ? _d : [], + ...(_e = indexedWords.customDictionary[query.charAt(0)]) != null ? _e : [], + ...(_f = indexedWords.customDictionary[query.charAt(0).toLowerCase()]) != null ? _f : [], + ...(_g = indexedWords.internalLink[query.charAt(0)]) != null ? _g : [], + ...(_h = indexedWords.internalLink[query.charAt(0).toLowerCase()]) != null ? _h : [] ] : frontMatter ? flattenFrontMatterWords() : [ - ...(_j = indexedWords.currentFile[query.charAt(0)]) != null ? _j : [], - ...(_k = indexedWords.currentFile[query.charAt(0).toUpperCase()]) != null ? _k : [], - ...(_l = indexedWords.currentVault[query.charAt(0)]) != null ? _l : [], - ...(_m = indexedWords.currentVault[query.charAt(0).toUpperCase()]) != null ? _m : [], - ...(_n = indexedWords.customDictionary[query.charAt(0)]) != null ? _n : [], - ...(_o = indexedWords.customDictionary[query.charAt(0).toUpperCase()]) != null ? _o : [], - ...(_p = indexedWords.internalLink[query.charAt(0)]) != null ? _p : [], - ...(_q = indexedWords.internalLink[query.charAt(0).toUpperCase()]) != null ? _q : [] + ...(_i = indexedWords.currentFile[query.charAt(0)]) != null ? _i : [], + ...(_j = indexedWords.currentFile[query.charAt(0).toUpperCase()]) != null ? _j : [], + ...(_k = indexedWords.currentVault[query.charAt(0)]) != null ? _k : [], + ...(_l = indexedWords.currentVault[query.charAt(0).toUpperCase()]) != null ? _l : [], + ...(_m = indexedWords.customDictionary[query.charAt(0)]) != null ? _m : [], + ...(_n = indexedWords.customDictionary[query.charAt(0).toUpperCase()]) != null ? _n : [], + ...(_o = indexedWords.internalLink[query.charAt(0)]) != null ? _o : [], + ...(_p = indexedWords.internalLink[query.charAt(0).toUpperCase()]) != null ? _p : [] ]; - const filteredJudgement = Array.from(words).map((x) => judge(x, query, queryStartWithUpper, fuzzy)).filter((x) => x.value !== void 0); + const filteredJudgement = Array.from(words).map((x) => judge(x, query, queryStartWithUpper, option)).filter((x) => x.value !== void 0); const latestUpdated = max( filteredJudgement.map( (x) => { @@ -2901,8 +2920,8 @@ function suggestWords(indexedWords, query, maxNum, option = {}) { }).map((x) => x.word).slice(0, maxNum); return uniqWith(candidate, suggestionUniqPredicate); } -function judgeByPartialMatch(word, query, queryStartWithUpper, fuzzy) { - var _a, _b; +function judgeByPartialMatch(word, query, queryStartWithUpper, options) { + var _a, _b, _c, _d, _e, _f; if (query === "") { return { word: { ...word, hit: word.value }, @@ -2910,10 +2929,10 @@ function judgeByPartialMatch(word, query, queryStartWithUpper, fuzzy) { alias: false }; } - const startsWithMatcher = fuzzy ? lowerFuzzyStarsWith : lowerStartsWith; - const includesMatcher = fuzzy ? lowerFuzzy : lowerIncludes; + const startsWithMatcher = (options == null ? void 0 : options.fuzzy) ? lowerFuzzyStarsWith : wrapFuzzy(lowerStartsWith); + const includesMatcher = (options == null ? void 0 : options.fuzzy) ? lowerFuzzy : wrapFuzzy(lowerIncludes); const startsWithMatched = startsWithMatcher(word.value, query); - if (startsWithMatched) { + if (startsWithMatched.type === "concrete_match" || startsWithMatched.type === "fuzzy_match" && startsWithMatched.score > ((_a = options == null ? void 0 : options.fuzzy) == null ? void 0 : _a.minMatchScore)) { if (queryStartWithUpper && word.type !== "internalLink" && word.type !== "frontMatter") { const c = capitalizeFirstLetter(word.value); return { @@ -2921,7 +2940,7 @@ function judgeByPartialMatch(word, query, queryStartWithUpper, fuzzy) { ...word, value: c, hit: c, - fuzzy: startsWithMatched === "fuzzy" + fuzzy: startsWithMatched.type === "fuzzy_match" }, value: c, alias: false @@ -2931,40 +2950,48 @@ function judgeByPartialMatch(word, query, queryStartWithUpper, fuzzy) { word: { ...word, hit: word.value, - fuzzy: startsWithMatched === "fuzzy" + fuzzy: startsWithMatched.type === "fuzzy_match" }, value: word.value, alias: false }; } } - const startsWithAliasMatched = (_a = word.aliases) == null ? void 0 : _a.map((a) => ({ aliases: a, matched: startsWithMatcher(a, query) })).find((x) => x.matched); - if (startsWithAliasMatched) { + const startsWithAliasMatched = (_b = word.aliases) == null ? void 0 : _b.map((a) => ({ aliases: a, matched: startsWithMatcher(a, query) })).sort( + (a, b) => a.matched.type === "concrete_match" && b.matched.type !== "concrete_match" ? -1 : 0 + ).find((x) => x.matched.type !== "none"); + if (startsWithAliasMatched && (startsWithAliasMatched.matched.type === "concrete_match" || startsWithAliasMatched.matched.type === "fuzzy_match" && startsWithAliasMatched.matched.score > ((_c = options == null ? void 0 : options.fuzzy) == null ? void 0 : _c.minMatchScore))) { return { word: { ...word, hit: startsWithAliasMatched.aliases, - fuzzy: startsWithAliasMatched.matched === "fuzzy" + fuzzy: startsWithAliasMatched.matched.type === "fuzzy_match" }, value: startsWithAliasMatched.aliases, alias: true }; } const includesMatched = includesMatcher(word.value, query); - if (includesMatched) { + if (includesMatched && (includesMatched.type === "concrete_match" || includesMatched.type === "fuzzy_match" && includesMatched.score > ((_d = options == null ? void 0 : options.fuzzy) == null ? void 0 : _d.minMatchScore))) { return { - word: { ...word, hit: word.value, fuzzy: includesMatched === "fuzzy" }, + word: { + ...word, + hit: word.value, + fuzzy: includesMatched.type === "fuzzy_match" + }, value: word.value, alias: false }; } - const matchedAliasIncluded = (_b = word.aliases) == null ? void 0 : _b.map((a) => ({ aliases: a, matched: includesMatcher(a, query) })).find((x) => x.matched); - if (matchedAliasIncluded) { + const matchedAliasIncluded = (_e = word.aliases) == null ? void 0 : _e.map((a) => ({ aliases: a, matched: includesMatcher(a, query) })).sort( + (a, b) => a.matched.type === "concrete_match" && b.matched.type !== "concrete_match" ? -1 : 0 + ).find((x) => x.matched.type !== "none"); + if (matchedAliasIncluded && (matchedAliasIncluded.matched.type === "concrete_match" || matchedAliasIncluded.matched.type === "fuzzy_match" && matchedAliasIncluded.matched.score > ((_f = options == null ? void 0 : options.fuzzy) == null ? void 0 : _f.minMatchScore))) { return { word: { ...word, hit: matchedAliasIncluded.aliases, - fuzzy: matchedAliasIncluded.matched === "fuzzy" + fuzzy: matchedAliasIncluded.matched.type === "fuzzy_match" }, value: matchedAliasIncluded.aliases, alias: true @@ -2973,17 +3000,15 @@ function judgeByPartialMatch(word, query, queryStartWithUpper, fuzzy) { return { word, alias: false }; } function suggestWordsByPartialMatch(indexedWords, query, maxNum, option = {}) { - var _a; const { frontMatter, selectionHistoryStorage } = option; const queryStartWithUpper = capitalizeFirstLetter(query) === query; - const fuzzy = (_a = option.fuzzy) != null ? _a : false; const flatObjectValues = (object) => Object.values(object).flat(); const flattenFrontMatterWords = () => { - var _a2, _b; + var _a, _b; if (frontMatter === "alias" || frontMatter === "aliases") { return []; } - if (frontMatter && ((_a2 = indexedWords.frontMatter) == null ? void 0 : _a2[frontMatter])) { + if (frontMatter && ((_a = indexedWords.frontMatter) == null ? void 0 : _a[frontMatter])) { return Object.values((_b = indexedWords.frontMatter) == null ? void 0 : _b[frontMatter]).flat(); } return []; @@ -2994,12 +3019,12 @@ function suggestWordsByPartialMatch(indexedWords, query, maxNum, option = {}) { ...flatObjectValues(indexedWords.customDictionary), ...flatObjectValues(indexedWords.internalLink) ]; - const filteredJudgement = Array.from(words).map((x) => judgeByPartialMatch(x, query, queryStartWithUpper, fuzzy)).filter((x) => x.value !== void 0); + const filteredJudgement = Array.from(words).map((x) => judgeByPartialMatch(x, query, queryStartWithUpper, option)).filter((x) => x.value !== void 0); const latestUpdated = max( filteredJudgement.map( (x) => { - var _a2, _b; - return (_b = (_a2 = selectionHistoryStorage == null ? void 0 : selectionHistoryStorage.getSelectionHistory(x.word)) == null ? void 0 : _a2.lastUpdated) != null ? _b : 0; + var _a, _b; + return (_b = (_a = selectionHistoryStorage == null ? void 0 : selectionHistoryStorage.getSelectionHistory(x.word)) == null ? void 0 : _a.lastUpdated) != null ? _b : 0; } ), 0 @@ -3838,6 +3863,7 @@ var AutoCompleteSuggest = class extends import_obsidian3.EditorSuggest { constructor(app2, statusBar) { super(app2); this.pastCurrentTokenSeparatedWhiteSpace = ""; + this.previousCurrentLine = ""; this.previousLinksCacheInActiveFile = /* @__PURE__ */ new Set(); this.keymapEventHandler = []; this.appHelper = new AppHelper(app2); @@ -4053,7 +4079,9 @@ var AutoCompleteSuggest = class extends import_obsidian3.EditorSuggest { { frontMatter: parsedQuery.currentFrontMatter, selectionHistoryStorage: this.selectionHistoryStorage, - fuzzy: this.settings.fuzzyMatch + fuzzy: this.settings.fuzzyMatch ? { + minMatchScore: this.settings.minFuzzyMatchScore + } : void 0 } ).map((word) => ({ ...word, offset: q.offset })); }).flat().sort((a, b) => Number(a.fuzzy) - Number(b.fuzzy)); @@ -4429,6 +4457,13 @@ var AutoCompleteSuggest = class extends import_obsidian3.EditorSuggest { onReturnNull("Don't show suggestions for IME"); return null; } + const cl = this.appHelper.getCurrentLine(editor); + if (equalsAsLiterals(this.previousCurrentLine, cl) && !this.runManually) { + this.previousCurrentLine = cl; + onReturnNull("Don't show suggestions because there are no changes"); + return null; + } + this.previousCurrentLine = cl; const currentLineUntilCursor = this.appHelper.getCurrentLineUntilCursor(editor); if (currentLineUntilCursor.startsWith("---")) { onReturnNull( @@ -4677,6 +4712,7 @@ var DEFAULT_SETTINGS = { cedictPath: "./cedict_ts.u8", matchStrategy: "prefix", fuzzyMatch: true, + minFuzzyMatchScore: 0.5, matchingWithoutEmoji: true, treatAccentDiacriticsAsAlphabeticCharacters: false, maxNumberOfSuggestions: 5, @@ -4820,6 +4856,14 @@ var VariousComplementsSettingTab = class extends import_obsidian4.PluginSettingT await this.plugin.saveSettings(); }); }); + new import_obsidian4.Setting(containerEl).setName("Min fuzzy match score").setDesc( + "It only shows suggestions whose fuzzy matched score is more than the specific value." + ).addSlider( + (sc) => sc.setLimits(0, 5, 0.1).setValue(this.plugin.settings.minFuzzyMatchScore).setDynamicTooltip().onChange(async (value) => { + this.plugin.settings.minFuzzyMatchScore = value; + await this.plugin.saveSettings(); + }) + ); new import_obsidian4.Setting(containerEl).setName("Treat accent diacritics as alphabetic characters.").setDesc("Ex: If enabled, 'aaa' matches with '\xE1\xE4\u0101'").addToggle((tc) => { tc.setValue( this.plugin.settings.treatAccentDiacriticsAsAlphabeticCharacters diff --git a/notes/.obsidian/plugins/various-complements/manifest.json b/notes/.obsidian/plugins/various-complements/manifest.json index 2b3a58d..dfd3f71 100644 --- a/notes/.obsidian/plugins/various-complements/manifest.json +++ b/notes/.obsidian/plugins/various-complements/manifest.json @@ -1,7 +1,7 @@ { "id": "various-complements", "name": "Various Complements", - "version": "8.2.1", + "version": "8.3.1", "minAppVersion": "0.16.0", "description": "This plugin enables you to complete words like the auto-completion of IDE", "author": "tadashi-aikawa", diff --git a/notes/.obsidian/themes/Atom.css b/notes/.obsidian/themes/Atom.css deleted file mode 100644 index f66e661..0000000 --- a/notes/.obsidian/themes/Atom.css +++ /dev/null @@ -1,472 +0,0 @@ -.theme-dark { - --background-primary: #272b34; - --background-primary-alt: #20242b; - --background-secondary: #20242b; - --background-secondary-alt: #1a1e24; - --background-accent: #000; - --background-modifier-border: #424958; - --background-modifier-form-field: rgba(0, 0, 0, 0.3); - --background-modifier-form-field-highlighted: rgba(0, 0, 0, 0.22); - --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); - --background-modifier-success: #539126; - --background-modifier-error: #3d0000; - --background-modifier-error-rgb: 61, 0, 0; - --background-modifier-error-hover: #470000; - --background-modifier-cover: rgba(0, 0, 0, 0.6); - --text-accent: #61afef; - --text-accent-hover: #69bafd; - --text-normal: #dcddde; - --text-muted: #888; - --text-faint: rgb(81, 86, 99); - --text-error: #e16d76; - --text-error-hover: #c9626a; - --text-highlight-bg: rgba(255, 255, 0, 0.4); - --text-selection: rgba(0, 122, 255, 0.2); - --text-on-accent: #dcddde; - --interactive-normal: #20242b; - --interactive-hover: #353b47; - --interactive-accent: #4c78cc; - --interactive-accent-rgb: 76, 120, 204; - --interactive-accent-hover: #5082df; - --scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2); - --scrollbar-bg: rgba(255, 255, 255, 0.05); - --scrollbar-thumb-bg: rgba(255, 255, 255, 0.1); - --panel-border-color: #18191e; - --gray-1: #5C6370; - --gray-2: #abb2bf; - --red: #e06c75; - --orange: #d19a66; - --green: #98c379; - --aqua: #56b6c2; - --purple: #c678dd; - --blue: #61afef; - --yellow: #e5c07b; -} - -.theme-light { - --background-primary: #fafafa; - --background-primary-alt: #eaeaeb; - --background-secondary: #eaeaeb; - --background-secondary-alt: #dbdbdc; - --background-accent: #fff; - --background-modifier-border: #dbdbdc; - --background-modifier-form-field: #fff; - --background-modifier-form-field-highlighted: #fff; - --background-modifier-box-shadow: rgba(0, 0, 0, 0.1); - --background-modifier-success: #A4E7C3; - --background-modifier-error: #e68787; - --background-modifier-error-rgb: 230, 135, 135; - --background-modifier-error-hover: #FF9494; - --background-modifier-cover: rgba(0, 0, 0, 0.8); - --text-accent: #1592ff; - --text-accent-hover: #2d9dff; - --text-normal: #383a42; - --text-muted: #8e8e90; - --text-faint: #999999; - --text-error: #e75545; - --text-error-hover: #f86959; - --text-highlight-bg: rgba(255, 255, 0, 0.4); - --text-selection: rgba(0, 122, 255, 0.15); - --text-on-accent: #f2f2f2; - --interactive-normal: #eaeaeb; - --interactive-hover: #dbdbdc; - --interactive-accent-rgb: 21, 146, 255; - --interactive-accent: #5871ef; - --interactive-accent-hover: #445bd1; - --scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2); - --scrollbar-bg: rgba(0, 0, 0, 0.05); - --scrollbar-thumb-bg: rgba(0, 0, 0, 0.1); - --panel-border-color: #dbdbdc; - --gray-1: #383a42; - --gray-2: #383a42; - --red: #e75545; - --green: #4ea24c; - --blue: #3d74f6; - --purple: #a625a4; - --aqua: #0084bc; - --yellow: #e35649; - --orange: #986800; -} - -body { - -webkit-font-smoothing: auto; -} - -.titlebar { - background-color: var(--background-secondary-alt); -} - -.titlebar-inner { - color: var(--text-normal); -} - -.tooltip { - background-color: var(--background-secondary-alt); - color: var(--text-muted); -} - -.tooltip:not(.mod-right):not(.mod-left):not(.mod-top) .tooltip-arrow { - border-bottom-color: var(--background-secondary-alt) !important; -} - -.mod-right .tooltip-arrow { - border-right-color: var(--background-secondary-alt) !important; -} - -.mod-left .tooltip-arrow { - border-left-color: var(--background-secondary-alt) !important; -} - -.mod-top .tooltip-arrow { - border-top-color: var(--background-secondary-alt) !important; -} - -.dropdown { - cursor: pointer; - background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234c78cc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E); -} - -.dropdown:hover { - background-color: var(--background-modifier-form-field); -} - -.search-result-file-title { - color: var(--blue); -} - -li { - padding-top: 0.5px; - padding-bottom: 0.5px; -} - -a.tag, a.tag:hover { - color: var(--yellow); - background-color: var(--background-primary-alt); - padding: 2px 4px; - border-radius: 4px; -} - -.markdown-preview-view .task-list-item-checkbox { - -webkit-appearance: none; - box-sizing: border-box; - border: 1px solid var(--text-muted); - border-radius: 2px; - position: relative; - width: 1.3em; - height: 1.3em; - margin: 0; - filter: none; - outline: none; - margin-right: 4px; - margin-bottom: 2px; - cursor: pointer; - vertical-align: baseline; -} - -.markdown-preview-view .task-list-item-checkbox:checked { - border: none; - background-color: var(--interactive-accent); -} - -.markdown-preview-view .task-list-item-checkbox:checked::before { - content: ' '; - position: absolute; - background-color: white; - left: 2px; - top: 2px; - right: 2px; - bottom: 2px; - -webkit-mask-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 14 14\'%3E%3Cpolygon points=\'5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\'%3E%3C/polygon%3E%3C/svg%3E'); -} - -.markdown-preview-view .task-list-item.is-checked a { - filter: saturate(0.8) brightness(0.7); -} - -.cm-formatting-task { - font-family: var(--font-monospace); -} - -.nav-file, .nav-folder { - padding: 1px 2px; -} - -.nav-file-title, .nav-folder-title { - width: 100%; - cursor: default; - display: flex; - align-items: baseline; - flex-direction: row; - --text-normal: var(--text-muted); -} - -body:not(.is-grabbing) .nav-file .nav-file-title:hover:not(.is-active), body:not(.is-grabbing) .nav-folder .nav-folder-title:hover:not(.is-active) { - --background-secondary-alt: transparent; -} - -.nav-file .is-active { - --background-secondary-alt: var(--interactive-accent); - --text-normal: #ffffff; -} - -.nav-file-title-content, .nav-folder-title-content { - text-indent: 0; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} - -.markdown-preview-view.is-readable-line-width .markdown-preview-section, .markdown-source-view.is-readable-line-width .CodeMirror { - max-width: 900px !important; - line-height: 26px; -} - -blockquote { - margin: 20px 0; - border-radius: 4px !important; -} - -body { - --font-monospace: 'Fira Code', 'Source Code Pro', monospace; -} - -mjx-container[jax='CHTML'] { - text-align: left; - outline: none; -} - -.math-block { - font-size: 1.25em; -} - -.cm-s-obsidian pre.HyperMD-codeblock, .cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math:not(.cm-formatting-math-begin):not(.cm-formatting-math-end), .markdown-preview-view code { - /* fix `` tag color */ - color: #98c379; -} - -.cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder { - /* fix tag size */ - font-weight: 100; - font-style: normal; -} - -.markdown-preview-view code { - vertical-align: text-top; - word-break: break-word; -} - -.markdown-preview-section:not(:first-child) h1, .markdown-preview-section:not(:first-child) h2, .markdown-preview-section:not(:first-child) h3, .markdown-preview-section:not(:first-child) h4, .markdown-preview-section:not(:first-child) h5, .markdown-preview-section:not(:first-child) h6 { - margin-top: 40px !important; -} - -.markdown-preview-section h1, .markdown-preview-section h2, .markdown-preview-section h3, .markdown-preview-section h4, .markdown-preview-section h5, .markdown-preview-section h6 { - line-height: 1.2; -} - -h1, h2, h3, h4, h5, h6, strong, b, .view-header-title { - font-weight: 600; -} - -.workspace>.workspace-split>.workspace-leaf:first-of-type:last-of-type .view-header { - border: none; -} - -.status-bar, .side-dock.mod-right, .side-dock.mod-left { - border-color: var(--panel-border-color); - border-width: 1px; -} - -.status-bar { - --bar-vertical-padding: 4px; - --bar-height: calc(22px + (var(--bar-vertical-padding) * 2)); - line-height: 20px; - padding: 0 20px; - height: var(--bar-height); - max-height: var(--bar-height); - min-height: var(--bar-height); - overflow: hidden; -} - -.status-bar-item { - margin: auto 0; -} - -.status-bar-item>* { - padding-top: var(--bar-vertical-padding) !important; - padding-bottom: var(--bar-vertical-padding) !important; -} - -.side-dock-plugin-panel-inner { - padding-left: 6px; -} - -a, .markdown-preview-view .internal-link { - text-decoration: none; -} - -a:hover, .markdown-preview-view .internal-link:hover { - text-decoration: underline; -} - -.theme-dark :not(pre)>code[class*='language-'], .theme-dark pre[class*='language-'] { - background: var(--background-primary-alt); -} - -.theme-light :not(pre)>code[class*='language-'], .theme-light pre[class*='language-'] { - background: var(--background-primary); - box-shadow: inset 0 0 0 1px var(--background-primary-alt); - border-radius: 4px; -} - -.markdown-embed:not(.hover-popover .markdown-embed), .file-embed { - margin: 0; - border-radius: 4px; - margin: 0 !important; - margin-inline-start: 30px !important; - margin-inline-end: 30px !important; -} - -.markdown-embed { - border: 1px solid var(--background-modifier-border); - border-left-width: 5px; -} - -.markdown-embed .markdown-preview-view { - padding: 0 20px; -} - -.markdown-embed-link, .file-embed-link { - left: 8px; - right: unset; -} - -.theme-light .token.operator, .theme-light .token.entity, .theme-light .token.url, .theme-light .language-css .token.string, .theme-light .style .token.string { - background: transparent; -} - -/* Source: https://github.com/AGMStudio/prism-theme-one-dark */ - -code[class*='language-'], pre[class*='language-'] { - text-align: left !important; - white-space: pre !important; - word-spacing: normal !important; - word-break: normal !important; - word-wrap: normal !important; - line-height: 1.5 !important; - -moz-tab-size: 4 !important; - -o-tab-size: 4 !important; - tab-size: 4 !important; - -webkit-hyphens: none !important; - -moz-hyphens: none !important; - -ms-hyphens: none !important; - hyphens: none !important; -} - -/* Code blocks */ - -pre[class*='language-'] { - padding: 1em !important; - margin: .5em 0 !important; - overflow: auto !important; -} - -/* Inline code */ - -:not(pre)>code[class*='language-'] { - padding: .1em !important; - border-radius: .3em !important; - white-space: normal !important; -} - -.token.comment, .token.prolog, .token.doctype, .token.cdata { - color: var(--gray-1) !important; -} - -.token.punctuation { - color: var(--gray-2) !important; -} - -.token.selector, .token.tag { - color: var(--red) !important; -} - -.token.property, .token.boolean, .token.number, .token.constant, .token.symbol, .token.attr-name, .token.deleted { - color: var(--orange) !important; -} - -.token.string, .token.char, .token.attr-value, .token.builtin, .token.inserted { - color: var(--green) !important; -} - -.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string { - color: var(--aqua) !important; -} - -.token.atrule, .token.keyword { - color: var(--purple) !important; -} - -.token.function, .token.macro.property { - color: var(--blue) !important; -} - -.token.class-name { - color: var(--yellow) !important; -} - -.token.regex, .token.important, .token.variable { - color: var(--purple) !important; -} - -.token.important, .token.bold { - font-weight: bold !important; -} - -.token.italic { - font-style: italic !important; -} - -.token.entity { - cursor: help !important; -} - -pre.line-numbers { - position: relative !important; - padding-left: 3.8em !important; - counter-reset: linenumber !important; -} - -pre.line-numbers>code { - position: relative !important; -} - -.line-numbers .line-numbers-rows { - position: absolute !important; - pointer-events: none !important; - top: 0 !important; - font-size: 100% !important; - left: -3.8em !important; - width: 3em !important; - /* works for line-numbers below 1000 lines */ - letter-spacing: -1px !important; - border-right: 0 !important; - -webkit-user-select: none !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - user-select: none !important; -} - -.line-numbers-rows>span { - pointer-events: none !important; - display: block !important; - counter-increment: linenumber !important; -} - -.line-numbers-rows>span:before { - content: counter(linenumber) !important; - color: var(--syntax-gray-1) !important; - display: block !important; - padding-right: 0.8em !important; - text-align: right !important; -} \ No newline at end of file diff --git a/notes/.obsidian/themes/Atom/theme.css b/notes/.obsidian/themes/Atom/theme.css index b2c7efb..707483e 100644 --- a/notes/.obsidian/themes/Atom/theme.css +++ b/notes/.obsidian/themes/Atom/theme.css @@ -1,4 +1,9 @@ +/* Base colors - TODO: are grey 1 and grey 2 used? */ .theme-dark { + --accent-h: 219; + --accent-s: 56%; + --accent-l: 55%; + --background-primary: #272b34; --background-primary-alt: #20242b; --background-secondary: #20242b; @@ -14,7 +19,7 @@ --background-modifier-error-hover: #470000; --background-modifier-cover: rgba(0, 0, 0, 0.6); --text-accent: #61afef; - --text-accent-hover: #69bafd; + --text-accent-hover: #70bdfc; --text-normal: #dcddde; --text-muted: #888; --text-faint: rgb(81, 86, 99); @@ -25,9 +30,7 @@ --text-on-accent: #dcddde; --interactive-normal: #20242b; --interactive-hover: #353b47; - --interactive-accent: #4c78cc; - --interactive-accent-rgb: 76, 120, 204; - --interactive-accent-hover: #5082df; + --interactive-accent-hover: hsl(var(--accent-h), calc(var(--accent-s) + 5%), calc(var(--accent-l) - 10%)); --scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2); --scrollbar-bg: rgba(255, 255, 255, 0.05); --scrollbar-thumb-bg: rgba(255, 255, 255, 0.1); @@ -41,9 +44,16 @@ --purple: #c678dd; --blue: #61afef; --yellow: #e5c07b; + + --background-modifier-hover: hsla(var(--accent-h), calc(var(--accent-s) - 35%), var(--accent-l), 0.06); + --divider-color-hover: #404754; } .theme-light { + --accent-h: 230; + --accent-s: 83%; + --accent-l: 64%; + --background-primary: #fafafa; --background-primary-alt: #eaeaeb; --background-secondary: #eaeaeb; @@ -59,7 +69,7 @@ --background-modifier-error-hover: #FF9494; --background-modifier-cover: rgba(0, 0, 0, 0.8); --text-accent: #1592ff; - --text-accent-hover: #2d9dff; + --text-accent-hover: #097add; --text-normal: #383a42; --text-muted: #8e8e90; --text-faint: #999999; @@ -71,8 +81,7 @@ --interactive-normal: #eaeaeb; --interactive-hover: #dbdbdc; --interactive-accent-rgb: 21, 146, 255; - --interactive-accent: #5871ef; - --interactive-accent-hover: #445bd1; + --interactive-accent-hover: hsl(var(--accent-h), calc(var(--accent-s) - 10%), calc(var(--accent-l) - 4%)); --scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2); --scrollbar-bg: rgba(0, 0, 0, 0.05); --scrollbar-thumb-bg: rgba(0, 0, 0, 0.1); @@ -88,265 +97,161 @@ --orange: #986800; } -body { - -webkit-font-smoothing: auto; +.theme-dark, .theme-light { + --ribbon-background: var(--background-primary); + --drag-ghost-background: var(--background-secondary-alt); + --background-modifier-message: var(--background-secondary-alt); + + --tab-outline-color: transparent; + --divider-color: transparent; + + --prompt-border-color: var(--panel-border-color); + --modal-border-color: var(--panel-border-color); + + --background-modifier-border-hover: var(--interactive-hover); + --background-modifier-border-focus: var(--interactive-hover); + + --checkbox-color: var(--text-accent); + --checkbox-color-hover: var(--text-accent-hover); + + --nav-item-background-active: var(--interactive-accent); + --nav-item-color-active: #ffffff; + + --tag-color: var(--yellow); + --tag-background: var(--background-primary-alt); + --tag-color-hover: var(--yellow); + --tag-background-hover: var(--background-primary-alt); + --tag-padding-x: 4px; + --tag-padding-y: 2px; + --tag-radius: 4px; + + --inline-title-weight: var(--bold-weight); + --link-decoration: none; + --link-external-decoration: none; + --embed-padding: 0 0 0 var(--size-4-4); } -.titlebar { - background-color: var(--background-secondary-alt); -} - -.titlebar-inner { - color: var(--text-normal); -} - -.tooltip { - background-color: var(--background-secondary-alt); - color: var(--text-muted); -} - -.tooltip:not(.mod-right):not(.mod-left):not(.mod-top) .tooltip-arrow { - border-bottom-color: var(--background-secondary-alt) !important; -} - -.mod-right .tooltip-arrow { - border-right-color: var(--background-secondary-alt) !important; -} - -.mod-left .tooltip-arrow { - border-left-color: var(--background-secondary-alt) !important; -} - -.mod-top .tooltip-arrow { - border-top-color: var(--background-secondary-alt) !important; -} - -.dropdown { +/* Search */ +.search-result .search-result-file-title { cursor: pointer; - background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234c78cc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E); } -.dropdown:hover { - background-color: var(--background-modifier-form-field); +.search-result .collapse-icon { + cursor: var(--cursor); } -.search-result-file-title { +.search-result:not(.is-collapsed) .search-result-file-title { color: var(--blue); } -li { - padding-top: 0.5px; - padding-bottom: 0.5px; +/* File tab separators */ +.workspace .mod-root .workspace-tab-header-inner::after { + right: unset; + left: -0.5px; } -a.tag, a.tag:hover { - color: var(--yellow); - background-color: var(--background-primary-alt); - padding: 2px 4px; +.workspace .mod-root .workspace-tab-header:last-child .workspace-tab-header-inner::before { + position: absolute; + right: -0.5px; + width: 1px; + background-color: var(--tab-divider-color); + content: ''; + height: 20px; +} + +.workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner::after, +.workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner::before, +.workspace .mod-root .workspace-tab-header:first-child .workspace-tab-header-inner::after, +.workspace .mod-root .workspace-tab-header.is-active + .workspace-tab-header .workspace-tab-header-inner::after { + opacity: 0; +} + +/* Editor and output */ +.markdown-rendered blockquote { + padding: var(--embed-padding); +} + +mjx-container { + text-align: left !important; +} + +.math-block { + font-size: 1.3em; +} + +.theme-light :not(pre)>code, +.theme-light pre { + background: var(--background-primary); + box-shadow: inset 0 0 0 1px var(--background-primary-alt); border-radius: 4px; } -.markdown-preview-view .task-list-item-checkbox { - -webkit-appearance: none; - box-sizing: border-box; - border: 1px solid var(--text-muted); - border-radius: 2px; - position: relative; - width: 1.3em; - height: 1.3em; - margin: 0; - filter: none; - outline: none; - margin-right: 4px; - margin-bottom: 2px; - cursor: pointer; - vertical-align: baseline; +.markdown-preview-section > div h1, +.markdown-preview-section > div h2, +.markdown-preview-section > div h3, +.markdown-preview-section > div h4, +.markdown-preview-section > div h5, +.markdown-preview-section > div h6 { + margin-top: 40px; } -.markdown-preview-view .task-list-item-checkbox:checked { - border: none; - background-color: var(--interactive-accent); +.mod-header + div h1, +.mod-header + div h2, +.mod-header + div h3, +.mod-header + div h4, +.mod-header + div h5, +.mod-header + div h6 { + margin-top: 30px; } -.markdown-preview-view .task-list-item-checkbox:checked::before { - content: ' '; - position: absolute; - background-color: white; - left: 2px; - top: 2px; - right: 2px; - bottom: 2px; - -webkit-mask-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 14 14\'%3E%3Cpolygon points=\'5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\'%3E%3C/polygon%3E%3C/svg%3E'); +.cm-sizer > .inline-title { + margin-bottom: 20px; } -.markdown-preview-view .task-list-item.is-checked a { - filter: saturate(0.8) brightness(0.7); +/* Miscellaneous */ +.theme-dark .dropdown:hover { + background-color: var(--background-modifier-form-field); } -.cm-formatting-task { - font-family: var(--font-monospace); +.tooltip { + color: var(--text-muted); } .nav-file, .nav-folder { padding: 1px 2px; } -.nav-file-title, .nav-folder-title { - width: 100%; - cursor: default; - display: flex; - align-items: baseline; - flex-direction: row; - --text-normal: var(--text-muted); +body:not(.is-grabbing) .nav-file-title.is-being-dragged, +body:not(.is-grabbing) .nav-folder-title.is-being-dragged, +.nav-file-title.is-being-dragged, +.nav-folder-title.is-being-dragged { + background-color: var(--background-primary-alt); + color: var(--nav-item-color); } -body:not(.is-grabbing) .nav-file .nav-file-title:hover:not(.is-active), body:not(.is-grabbing) .nav-folder .nav-folder-title:hover:not(.is-active) { - --background-secondary-alt: transparent; -} - -.nav-file .is-active { - --background-secondary-alt: var(--interactive-accent); - --text-normal: #ffffff; -} - -.nav-file-title-content, .nav-folder-title-content { - text-indent: 0; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} - -.markdown-preview-view.is-readable-line-width .markdown-preview-section, .markdown-source-view.is-readable-line-width .CodeMirror { - max-width: 900px !important; - line-height: 26px; -} - -blockquote { - margin: 20px 0; - border-radius: 4px !important; -} - -body { - --font-monospace: 'Fira Code', 'Source Code Pro', monospace; -} - -mjx-container[jax='CHTML'] { - text-align: left; - outline: none; -} - -.math-block { - font-size: 1.25em; -} - -.cm-s-obsidian pre.HyperMD-codeblock, .cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math:not(.cm-formatting-math-begin):not(.cm-formatting-math-end), .markdown-preview-view code { - /* fix `` tag color */ - color: #98c379; -} - -.cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder { - /* fix tag size */ - font-weight: 100; - font-style: normal; -} - -.markdown-preview-view code { - vertical-align: 0; - word-break: break-word; -} - -.markdown-preview-section:not(:first-child) h1, .markdown-preview-section:not(:first-child) h2, .markdown-preview-section:not(:first-child) h3, .markdown-preview-section:not(:first-child) h4, .markdown-preview-section:not(:first-child) h5, .markdown-preview-section:not(:first-child) h6 { - margin-top: 40px !important; -} - -.markdown-preview-section h1, .markdown-preview-section h2, .markdown-preview-section h3, .markdown-preview-section h4, .markdown-preview-section h5, .markdown-preview-section h6 { - line-height: 1.2; -} - -h1, h2, h3, h4, h5, h6, strong, b, .view-header-title { - font-weight: 600; -} - -.workspace>.workspace-split>.workspace-leaf:first-of-type:last-of-type .view-header { - border: none; -} - -.status-bar, .side-dock.mod-right, .side-dock.mod-left { - border-color: var(--panel-border-color); - border-width: 1px; +.view-header-title { + text-decoration: underline; + text-decoration-color: var(--text-muted); + text-underline-offset: 1.5px; } .status-bar { - --bar-vertical-padding: 4px; - --bar-height: calc(22px + (var(--bar-vertical-padding) * 2)); - line-height: 20px; - padding: 0 20px; - height: var(--bar-height); - max-height: var(--bar-height); - min-height: var(--bar-height); - overflow: hidden; + border-color: var(--panel-border-color); + border-width: 1px; + padding: 4px 8px; } -.status-bar-item { - margin: auto 0; +.theme-dark button.mod-warning { + --background-modifier-error: #d42020; + --background-modifier-error-hover: #b01515; } -.status-bar-item>* { - padding-top: var(--bar-vertical-padding) !important; - padding-bottom: var(--bar-vertical-padding) !important; +.theme-light button.mod-warning { + --background-modifier-error: #f23f3f; + --background-modifier-error-hover: #d72020; } -.side-dock-plugin-panel-inner { - padding-left: 6px; -} - -a, .markdown-preview-view .internal-link { - text-decoration: none; -} - -a:hover, .markdown-preview-view .internal-link:hover { - text-decoration: underline; -} - -.theme-dark :not(pre)>code[class*='language-'], .theme-dark pre[class*='language-'] { - background: var(--background-primary-alt); -} - -.theme-light :not(pre)>code[class*='language-'], .theme-light pre[class*='language-'] { - background: var(--background-primary); - box-shadow: inset 0 0 0 1px var(--background-primary-alt); - border-radius: 4px; -} - -.markdown-embed:not(.hover-popover .markdown-embed), .file-embed { - margin: 0; - border-radius: 4px; - margin: 0 !important; - margin-inline-start: 30px !important; - margin-inline-end: 30px !important; -} - -.markdown-embed { - border: 1px solid var(--background-modifier-border); - border-left-width: 5px; -} - -.markdown-embed .markdown-preview-view { - padding: 0 20px; -} - -.markdown-embed-link, .file-embed-link { - left: 8px; - right: unset; -} - -.theme-light .token.operator, .theme-light .token.entity, .theme-light .token.url, .theme-light .language-css .token.string, .theme-light .style .token.string { - background: transparent; -} - -/* Source: https://github.com/AGMStudio/prism-theme-one-dark */ - +/* Code syntax highlighting */ code[class*='language-'], pre[class*='language-'] { text-align: left !important; white-space: pre !important; @@ -354,64 +259,66 @@ code[class*='language-'], pre[class*='language-'] { word-break: normal !important; word-wrap: normal !important; line-height: 1.5 !important; - -moz-tab-size: 4 !important; - -o-tab-size: 4 !important; tab-size: 4 !important; - -webkit-hyphens: none !important; - -moz-hyphens: none !important; - -ms-hyphens: none !important; hyphens: none !important; } -/* Code blocks */ - pre[class*='language-'] { + /* Code blocks */ padding: 1em !important; margin: .5em 0 !important; overflow: auto !important; } -/* Inline code */ - :not(pre)>code[class*='language-'] { + /* Inline code */ padding: .1em !important; border-radius: .3em !important; white-space: normal !important; } -.token.comment, .token.prolog, .token.doctype, .token.cdata { +.token.comment, .token.prolog, .token.doctype, .token.cdata, +.HyperMD-codeblock .cm-comment { color: var(--gray-1) !important; } -.token.punctuation { +.token.punctuation, +.HyperMD-codeblock .cm-hmd-codeblock, .HyperMD-codeblock .cm-bracket { color: var(--gray-2) !important; } -.token.selector, .token.tag { +.token.selector, .token.tag, +.HyperMD-codeblock .cm-tag, .HyperMD-codeblock .cm-property, .HyperMD-codeblock .cm-meta, .HyperMD-codeblock .cm-qualifier, .HyperMD-codeblock .cm-header, .HyperMD-codeblock .cm-quote, .HyperMD-codeblock .cm-hr, .HyperMD-codeblock .cm-link { color: var(--red) !important; } -.token.property, .token.boolean, .token.number, .token.constant, .token.symbol, .token.attr-name, .token.deleted { +.token.property, .token.boolean, .token.number, .token.constant, .token.symbol, .token.attr-name, .token.deleted, +.HyperMD-codeblock .cm-number, .HyperMD-codeblock .cm-atom, .HyperMD-codeblock .cm-attribute { color: var(--orange) !important; } -.token.string, .token.char, .token.attr-value, .token.builtin, .token.inserted { +.token.string, .token.char, .token.attr-value, .token.builtin, .token.inserted, +.HyperMD-codeblock .cm-string, .HyperMD-codeblock .cm-builtin { color: var(--green) !important; } -.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string { +.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, +.HyperMD-codeblock .cm-string-2, .HyperMD-codeblock .cm-operator { color: var(--aqua) !important; } -.token.atrule, .token.keyword { +.token.atrule, .token.keyword, +.HyperMD-codeblock .cm-keyword { color: var(--purple) !important; } -.token.function, .token.macro.property { +.token.function, .token.macro.property, +.HyperMD-codeblock .cm-def, .HyperMD-codeblock .cm-variable { color: var(--blue) !important; } -.token.class-name { +.token.class-name, +.HyperMD-codeblock .cm-variable-2, .HyperMD-codeblock .cm-variable-3 { color: var(--yellow) !important; } @@ -429,44 +336,4 @@ pre[class*='language-'] { .token.entity { cursor: help !important; -} - -pre.line-numbers { - position: relative !important; - padding-left: 3.8em !important; - counter-reset: linenumber !important; -} - -pre.line-numbers>code { - position: relative !important; -} - -.line-numbers .line-numbers-rows { - position: absolute !important; - pointer-events: none !important; - top: 0 !important; - font-size: 100% !important; - left: -3.8em !important; - width: 3em !important; - /* works for line-numbers below 1000 lines */ - letter-spacing: -1px !important; - border-right: 0 !important; - -webkit-user-select: none !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - user-select: none !important; -} - -.line-numbers-rows>span { - pointer-events: none !important; - display: block !important; - counter-increment: linenumber !important; -} - -.line-numbers-rows>span:before { - content: counter(linenumber) !important; - color: var(--syntax-gray-1) !important; - display: block !important; - padding-right: 0.8em !important; - text-align: right !important; -} +} \ No newline at end of file